aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG76
-rw-r--r--Zotlabs/Daemon/README.md43
-rw-r--r--Zotlabs/Lib/AbConfig.php32
-rw-r--r--Zotlabs/Lib/Apps.php3
-rw-r--r--Zotlabs/Lib/Cache.php46
-rw-r--r--Zotlabs/Lib/SuperCurl.php112
-rw-r--r--Zotlabs/Lib/XConfig.php4
-rw-r--r--Zotlabs/Module/Achievements.php2
-rw-r--r--Zotlabs/Module/Acl.php28
-rw-r--r--Zotlabs/Module/Admin.php2
-rw-r--r--Zotlabs/Module/Block.php10
-rw-r--r--Zotlabs/Module/Blocks.php15
-rw-r--r--Zotlabs/Module/Cal.php2
-rw-r--r--Zotlabs/Module/Channel.php2
-rw-r--r--Zotlabs/Module/Chat.php2
-rw-r--r--Zotlabs/Module/Cloud.php2
-rw-r--r--Zotlabs/Module/Common.php2
-rw-r--r--Zotlabs/Module/Connect.php2
-rw-r--r--Zotlabs/Module/Connedit.php26
-rw-r--r--Zotlabs/Module/Cover_photo.php6
-rw-r--r--Zotlabs/Module/Dav.php2
-rw-r--r--Zotlabs/Module/Display.php5
-rw-r--r--Zotlabs/Module/Editblock.php6
-rw-r--r--Zotlabs/Module/Editlayout.php7
-rw-r--r--Zotlabs/Module/Editwebpage.php6
-rw-r--r--Zotlabs/Module/Embedphotos.php180
-rw-r--r--Zotlabs/Module/Follow.php2
-rw-r--r--Zotlabs/Module/Hcard.php2
-rw-r--r--Zotlabs/Module/Id.php2
-rw-r--r--Zotlabs/Module/Impel.php26
-rw-r--r--Zotlabs/Module/Import.php9
-rw-r--r--Zotlabs/Module/Import_items.php4
-rw-r--r--Zotlabs/Module/Item.php34
-rw-r--r--Zotlabs/Module/Layouts.php22
-rw-r--r--Zotlabs/Module/Page.php22
-rw-r--r--Zotlabs/Module/Pdledit.php10
-rw-r--r--Zotlabs/Module/Photo.php4
-rw-r--r--Zotlabs/Module/Photos.php2
-rw-r--r--Zotlabs/Module/Profile.php2
-rw-r--r--Zotlabs/Module/Profile_photo.php124
-rw-r--r--Zotlabs/Module/Profiles.php4
-rw-r--r--Zotlabs/Module/Profperm.php4
-rw-r--r--Zotlabs/Module/README.md80
-rw-r--r--Zotlabs/Module/Rmagic.php8
-rw-r--r--Zotlabs/Module/Siteinfo.php27
-rw-r--r--Zotlabs/Module/Thing.php4
-rw-r--r--Zotlabs/Module/Uexport.php2
-rw-r--r--Zotlabs/Module/Viewconnections.php2
-rw-r--r--Zotlabs/Module/Webpages.php20
-rw-r--r--Zotlabs/Module/Wiki.php515
-rw-r--r--Zotlabs/Render/Comanche.php9
-rw-r--r--Zotlabs/Storage/BasicAuth.php53
-rw-r--r--Zotlabs/Storage/CalDAVClient.php738
-rw-r--r--Zotlabs/Storage/GitRepo.php18
-rw-r--r--Zotlabs/Web/CheckJS.php3
-rw-r--r--Zotlabs/Web/Controller.php3
-rw-r--r--app/wiki.apd4
-rw-r--r--app/wiki.pngbin0 -> 10668 bytes
-rwxr-xr-xboot.php15
-rw-r--r--doc/admins.bb12
-rw-r--r--doc/bbcode.html3
-rw-r--r--doc/channels.bb25
-rw-r--r--doc/context/de/wiki/help.html10
-rw-r--r--doc/context/en/wiki/help.html10
l---------doc/context/es1
l---------doc/context/es-es1
-rw-r--r--doc/context/es-es/admin/logs/help.html (renamed from doc/context/es/admin/logs/help.html)0
-rw-r--r--doc/context/es-es/admin/queue/help.html (renamed from doc/context/es/admin/queue/help.html)0
-rw-r--r--doc/context/es-es/admin/security/help.html (renamed from doc/context/es/admin/security/help.html)0
-rw-r--r--doc/context/es-es/channel/help.html (renamed from doc/context/es/channel/help.html)0
-rw-r--r--doc/context/es-es/chat/help.html (renamed from doc/context/es/chat/help.html)0
-rw-r--r--doc/context/es-es/cloud/help.html (renamed from doc/context/es/cloud/help.html)0
-rw-r--r--doc/context/es-es/connections/help.html (renamed from doc/context/es/connections/help.html)0
-rw-r--r--doc/context/es-es/connections/ifpending/help.html (renamed from doc/context/es/connections/ifpending/help.html)0
-rw-r--r--doc/context/es-es/events/help.html (renamed from doc/context/es/events/help.html)0
-rw-r--r--doc/context/es-es/mail/help.html (renamed from doc/context/es/mail/help.html)0
-rw-r--r--doc/context/es-es/network/help.html (renamed from doc/context/es/network/help.html)0
-rw-r--r--doc/context/es-es/photos/help.html (renamed from doc/context/es/photos/help.html)0
-rw-r--r--doc/context/es-es/profile/help.html (renamed from doc/context/es/profile/help.html)0
-rw-r--r--doc/context/es-es/wiki/help.html10
-rw-r--r--doc/context/it/wiki/help.html10
-rw-r--r--doc/database.bb11
-rw-r--r--doc/database/db_abook.bb15
-rw-r--r--doc/database/db_addon.bb4
-rw-r--r--doc/database/db_app.bb14
-rw-r--r--doc/database/db_attach.bb4
-rw-r--r--doc/database/db_channel.bb4
-rw-r--r--doc/database/db_chatpresence.bb2
-rw-r--r--doc/database/db_clients.bb2
-rw-r--r--doc/database/db_event.bb26
-rw-r--r--doc/database/db_groups.bb2
-rw-r--r--doc/database/db_hook.bb6
-rw-r--r--doc/database/db_item.bb2
-rw-r--r--doc/database/db_notify.bb4
-rw-r--r--doc/database/db_photo.bb6
-rw-r--r--doc/database/db_profile.bb6
-rw-r--r--doc/database/db_term.bb2
-rw-r--r--doc/external-resource-links.bb19
-rw-r--r--doc/general.bb18
-rw-r--r--doc/html/index.php16
-rw-r--r--doc/members.bb10
-rw-r--r--doc/roadmap.bb12
-rw-r--r--doc/roadmapv4.bb12
-rw-r--r--doc/to_do_code.bb7
-rw-r--r--doc/troubleshooting.bb11
-rw-r--r--include/api.php17
-rw-r--r--include/attach.php16
-rw-r--r--include/bbcode.php34
-rw-r--r--include/cache.php44
-rw-r--r--include/channel.php38
-rw-r--r--include/config.php18
-rw-r--r--include/connections.php16
-rw-r--r--include/conversation.php19
-rw-r--r--include/datetime.php2
-rwxr-xr-xinclude/dba/dba_driver.php5
-rw-r--r--include/follow.php2
-rw-r--r--include/group.php18
-rw-r--r--include/help.php17
-rw-r--r--include/import.php110
-rwxr-xr-xinclude/items.php58
-rw-r--r--include/network.php69
-rwxr-xr-xinclude/oembed.php23
-rw-r--r--include/page_widgets.php11
-rw-r--r--include/photos.php79
-rwxr-xr-xinclude/plugin.php67
-rw-r--r--include/taxonomy.php2
-rw-r--r--include/text.php101
-rw-r--r--include/widgets.php83
-rw-r--r--include/wiki.php496
-rw-r--r--include/zot.php32
-rw-r--r--install/schema_mysql.sql24
-rw-r--r--install/schema_postgres.sql28
-rw-r--r--install/update.php109
-rw-r--r--library/Text_Highlighter/README455
-rw-r--r--library/Text_Highlighter/TODO12
-rw-r--r--library/Text_Highlighter/Text/Highlighter.php398
-rw-r--r--library/Text_Highlighter/Text/Highlighter/ABAP.php519
-rw-r--r--library/Text_Highlighter/Text/Highlighter/AVRC.php894
-rw-r--r--library/Text_Highlighter/Text/Highlighter/CPP.php891
-rw-r--r--library/Text_Highlighter/Text/Highlighter/CSS.php437
-rw-r--r--library/Text_Highlighter/Text/Highlighter/DIFF.php384
-rw-r--r--library/Text_Highlighter/Text/Highlighter/DTD.php426
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Generator.php1291
-rw-r--r--library/Text_Highlighter/Text/Highlighter/HTML.php234
-rw-r--r--library/Text_Highlighter/Text/Highlighter/JAVA.php802
-rw-r--r--library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php631
-rw-r--r--library/Text_Highlighter/Text/Highlighter/MYSQL.php434
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PERL.php1352
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PHP.php1107
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PYTHON.php647
-rw-r--r--library/Text_Highlighter/Text/Highlighter/RUBY.php825
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer.php164
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Array.php200
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/BB.php238
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Console.php208
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Html.php465
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php187
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php86
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/XML.php104
-rw-r--r--library/Text_Highlighter/Text/Highlighter/SH.php1225
-rw-r--r--library/Text_Highlighter/Text/Highlighter/SQL.php419
-rw-r--r--library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php318
-rw-r--r--library/Text_Highlighter/Text/Highlighter/XML.php263
-rw-r--r--library/Text_Highlighter/abap.xml802
-rw-r--r--library/Text_Highlighter/avrc.xml316
-rw-r--r--library/Text_Highlighter/cpp.xml201
-rw-r--r--library/Text_Highlighter/css.xml368
-rw-r--r--library/Text_Highlighter/diff.xml45
-rw-r--r--library/Text_Highlighter/dtd.xml66
-rw-r--r--library/Text_Highlighter/generate171
-rw-r--r--library/Text_Highlighter/generate.bat188
-rw-r--r--library/Text_Highlighter/html.xml33
-rw-r--r--library/Text_Highlighter/java.xml2824
-rw-r--r--library/Text_Highlighter/javascript.xml174
-rw-r--r--library/Text_Highlighter/mysql.xml424
-rw-r--r--library/Text_Highlighter/perl.xml439
-rw-r--r--library/Text_Highlighter/php.xml194
-rw-r--r--library/Text_Highlighter/python.xml229
-rw-r--r--library/Text_Highlighter/release4
-rw-r--r--library/Text_Highlighter/ruby.xml141
-rw-r--r--library/Text_Highlighter/sample.css62
-rw-r--r--library/Text_Highlighter/sh.xml242
-rw-r--r--library/Text_Highlighter/sql.xml496
-rw-r--r--library/Text_Highlighter/vbscript.xml305
-rw-r--r--library/Text_Highlighter/xml.xml37
-rw-r--r--library/ace/ace.js11
-rw-r--r--library/ace/ext-beautify.js5
-rw-r--r--library/ace/ext-chromevox.js5
-rw-r--r--library/ace/ext-elastic_tabstops_lite.js5
-rw-r--r--library/ace/ext-emmet.js5
-rw-r--r--library/ace/ext-error_marker.js5
-rw-r--r--library/ace/ext-keybinding_menu.js5
-rw-r--r--library/ace/ext-language_tools.js5
-rw-r--r--library/ace/ext-linking.js5
-rw-r--r--library/ace/ext-modelist.js5
-rw-r--r--library/ace/ext-old_ie.js5
-rw-r--r--library/ace/ext-searchbox.js5
-rw-r--r--library/ace/ext-settings_menu.js5
-rw-r--r--library/ace/ext-spellcheck.js5
-rw-r--r--library/ace/ext-split.js5
-rw-r--r--library/ace/ext-static_highlight.js5
-rw-r--r--library/ace/ext-statusbar.js5
-rw-r--r--library/ace/ext-textarea.js5
-rw-r--r--library/ace/ext-themelist.js5
-rw-r--r--library/ace/ext-whitespace.js5
-rw-r--r--library/ace/keybinding-emacs.js1
-rw-r--r--library/ace/keybinding-vim.js1
-rw-r--r--library/ace/mode-abap.js1
-rw-r--r--library/ace/mode-abc.js1
-rw-r--r--library/ace/mode-actionscript.js1
-rw-r--r--library/ace/mode-ada.js1
-rw-r--r--library/ace/mode-apache_conf.js1
-rw-r--r--library/ace/mode-applescript.js1
-rw-r--r--library/ace/mode-asciidoc.js1
-rw-r--r--library/ace/mode-assembly_x86.js1
-rw-r--r--library/ace/mode-autohotkey.js1
-rw-r--r--library/ace/mode-batchfile.js1
-rw-r--r--library/ace/mode-c9search.js1
-rw-r--r--library/ace/mode-c_cpp.js1
-rw-r--r--library/ace/mode-cirru.js1
-rw-r--r--library/ace/mode-clojure.js1
-rw-r--r--library/ace/mode-cobol.js1
-rw-r--r--library/ace/mode-coffee.js1
-rw-r--r--library/ace/mode-coldfusion.js1
-rw-r--r--library/ace/mode-csharp.js1
-rw-r--r--library/ace/mode-css.js1
-rw-r--r--library/ace/mode-curly.js1
-rw-r--r--library/ace/mode-d.js1
-rw-r--r--library/ace/mode-dart.js1
-rw-r--r--library/ace/mode-diff.js1
-rw-r--r--library/ace/mode-django.js1
-rw-r--r--library/ace/mode-dockerfile.js1
-rw-r--r--library/ace/mode-dot.js1
-rw-r--r--library/ace/mode-eiffel.js1
-rw-r--r--library/ace/mode-ejs.js1
-rw-r--r--library/ace/mode-elixir.js1
-rw-r--r--library/ace/mode-elm.js1
-rw-r--r--library/ace/mode-erlang.js1
-rw-r--r--library/ace/mode-forth.js1
-rw-r--r--library/ace/mode-fortran.js1
-rw-r--r--library/ace/mode-ftl.js1
-rw-r--r--library/ace/mode-gcode.js1
-rw-r--r--library/ace/mode-gherkin.js1
-rw-r--r--library/ace/mode-gitignore.js1
-rw-r--r--library/ace/mode-glsl.js1
-rw-r--r--library/ace/mode-gobstones.js1
-rw-r--r--library/ace/mode-golang.js1
-rw-r--r--library/ace/mode-groovy.js1
-rw-r--r--library/ace/mode-haml.js1
-rw-r--r--library/ace/mode-handlebars.js1
-rw-r--r--library/ace/mode-haskell.js1
-rw-r--r--library/ace/mode-haxe.js1
-rw-r--r--library/ace/mode-html.js1
-rw-r--r--library/ace/mode-html_elixir.js1
-rw-r--r--library/ace/mode-html_ruby.js1
-rw-r--r--library/ace/mode-ini.js1
-rw-r--r--library/ace/mode-io.js1
-rw-r--r--library/ace/mode-jack.js1
-rw-r--r--library/ace/mode-jade.js1
-rw-r--r--library/ace/mode-java.js1
-rw-r--r--library/ace/mode-javascript.js1
-rw-r--r--library/ace/mode-json.js1
-rw-r--r--library/ace/mode-jsoniq.js1
-rw-r--r--library/ace/mode-jsp.js1
-rw-r--r--library/ace/mode-jsx.js1
-rw-r--r--library/ace/mode-julia.js1
-rw-r--r--library/ace/mode-latex.js1
-rw-r--r--library/ace/mode-lean.js1
-rw-r--r--library/ace/mode-less.js1
-rw-r--r--library/ace/mode-liquid.js1
-rw-r--r--library/ace/mode-lisp.js1
-rw-r--r--library/ace/mode-live_script.js1
-rw-r--r--library/ace/mode-livescript.js1
-rw-r--r--library/ace/mode-logiql.js1
-rw-r--r--library/ace/mode-lsl.js1
-rw-r--r--library/ace/mode-lua.js1
-rw-r--r--library/ace/mode-luapage.js1
-rw-r--r--library/ace/mode-lucene.js1
-rw-r--r--library/ace/mode-makefile.js1
-rw-r--r--library/ace/mode-markdown.js1
-rw-r--r--library/ace/mode-mask.js1
-rw-r--r--library/ace/mode-matlab.js1
-rw-r--r--library/ace/mode-maze.js1
-rw-r--r--library/ace/mode-mel.js1
-rw-r--r--library/ace/mode-mips_assembler.js1
-rw-r--r--library/ace/mode-mipsassembler.js1
-rw-r--r--library/ace/mode-mushcode.js1
-rw-r--r--library/ace/mode-mysql.js1
-rw-r--r--library/ace/mode-nix.js1
-rw-r--r--library/ace/mode-nsis.js1
-rw-r--r--library/ace/mode-objectivec.js1
-rw-r--r--library/ace/mode-ocaml.js1
-rw-r--r--library/ace/mode-pascal.js1
-rw-r--r--library/ace/mode-perl.js1
-rw-r--r--library/ace/mode-pgsql.js1
-rw-r--r--library/ace/mode-php.js1
-rw-r--r--library/ace/mode-plain_text.js1
-rw-r--r--library/ace/mode-powershell.js1
-rw-r--r--library/ace/mode-praat.js1
-rw-r--r--library/ace/mode-prolog.js1
-rw-r--r--library/ace/mode-properties.js1
-rw-r--r--library/ace/mode-protobuf.js1
-rw-r--r--library/ace/mode-python.js1
-rw-r--r--library/ace/mode-r.js1
-rw-r--r--library/ace/mode-razor.js1
-rw-r--r--library/ace/mode-rdoc.js1
-rw-r--r--library/ace/mode-rhtml.js1
-rw-r--r--library/ace/mode-rst.js1
-rw-r--r--library/ace/mode-ruby.js1
-rw-r--r--library/ace/mode-rust.js1
-rw-r--r--library/ace/mode-sass.js1
-rw-r--r--library/ace/mode-scad.js1
-rw-r--r--library/ace/mode-scala.js1
-rw-r--r--library/ace/mode-scheme.js1
-rw-r--r--library/ace/mode-scss.js1
-rw-r--r--library/ace/mode-sh.js1
-rw-r--r--library/ace/mode-sjs.js1
-rw-r--r--library/ace/mode-smarty.js1
-rw-r--r--library/ace/mode-snippets.js1
-rw-r--r--library/ace/mode-soy_template.js1
-rw-r--r--library/ace/mode-space.js1
-rw-r--r--library/ace/mode-sql.js1
-rw-r--r--library/ace/mode-sqlserver.js1
-rw-r--r--library/ace/mode-stylus.js1
-rw-r--r--library/ace/mode-svg.js1
-rw-r--r--library/ace/mode-swift.js1
-rw-r--r--library/ace/mode-swig.js1
-rw-r--r--library/ace/mode-tcl.js1
-rw-r--r--library/ace/mode-tex.js1
-rw-r--r--library/ace/mode-text.js0
-rw-r--r--library/ace/mode-textile.js1
-rw-r--r--library/ace/mode-toml.js1
-rw-r--r--library/ace/mode-twig.js1
-rw-r--r--library/ace/mode-typescript.js1
-rw-r--r--library/ace/mode-vala.js1
-rw-r--r--library/ace/mode-vbscript.js1
-rw-r--r--library/ace/mode-velocity.js1
-rw-r--r--library/ace/mode-verilog.js1
-rw-r--r--library/ace/mode-vhdl.js1
-rw-r--r--library/ace/mode-wollok.js1
-rw-r--r--library/ace/mode-xml.js1
-rw-r--r--library/ace/mode-xquery.js1
-rw-r--r--library/ace/mode-yaml.js1
-rw-r--r--library/ace/snippets/abap.js1
-rw-r--r--library/ace/snippets/abc.js1
-rw-r--r--library/ace/snippets/actionscript.js1
-rw-r--r--library/ace/snippets/ada.js1
-rw-r--r--library/ace/snippets/apache_conf.js1
-rw-r--r--library/ace/snippets/applescript.js1
-rw-r--r--library/ace/snippets/asciidoc.js1
-rw-r--r--library/ace/snippets/assembly_x86.js1
-rw-r--r--library/ace/snippets/autohotkey.js1
-rw-r--r--library/ace/snippets/batchfile.js1
-rw-r--r--library/ace/snippets/c9search.js1
-rw-r--r--library/ace/snippets/c_cpp.js1
-rw-r--r--library/ace/snippets/cirru.js1
-rw-r--r--library/ace/snippets/clojure.js1
-rw-r--r--library/ace/snippets/cobol.js1
-rw-r--r--library/ace/snippets/coffee.js1
-rw-r--r--library/ace/snippets/coldfusion.js1
-rw-r--r--library/ace/snippets/csharp.js1
-rw-r--r--library/ace/snippets/css.js1
-rw-r--r--library/ace/snippets/curly.js1
-rw-r--r--library/ace/snippets/d.js1
-rw-r--r--library/ace/snippets/dart.js1
-rw-r--r--library/ace/snippets/diff.js1
-rw-r--r--library/ace/snippets/django.js1
-rw-r--r--library/ace/snippets/dockerfile.js1
-rw-r--r--library/ace/snippets/dot.js1
-rw-r--r--library/ace/snippets/eiffel.js1
-rw-r--r--library/ace/snippets/ejs.js1
-rw-r--r--library/ace/snippets/elixir.js1
-rw-r--r--library/ace/snippets/elm.js1
-rw-r--r--library/ace/snippets/erlang.js1
-rw-r--r--library/ace/snippets/forth.js1
-rw-r--r--library/ace/snippets/fortran.js1
-rw-r--r--library/ace/snippets/ftl.js1
-rw-r--r--library/ace/snippets/gcode.js1
-rw-r--r--library/ace/snippets/gherkin.js1
-rw-r--r--library/ace/snippets/gitignore.js1
-rw-r--r--library/ace/snippets/glsl.js1
-rw-r--r--library/ace/snippets/gobstones.js1
-rw-r--r--library/ace/snippets/golang.js1
-rw-r--r--library/ace/snippets/groovy.js1
-rw-r--r--library/ace/snippets/haml.js1
-rw-r--r--library/ace/snippets/handlebars.js1
-rw-r--r--library/ace/snippets/haskell.js1
-rw-r--r--library/ace/snippets/haxe.js1
-rw-r--r--library/ace/snippets/html.js1
-rw-r--r--library/ace/snippets/html_elixir.js1
-rw-r--r--library/ace/snippets/html_ruby.js1
-rw-r--r--library/ace/snippets/ini.js1
-rw-r--r--library/ace/snippets/io.js1
-rw-r--r--library/ace/snippets/jack.js1
-rw-r--r--library/ace/snippets/jade.js1
-rw-r--r--library/ace/snippets/java.js1
-rw-r--r--library/ace/snippets/javascript.js1
-rw-r--r--library/ace/snippets/json.js1
-rw-r--r--library/ace/snippets/jsoniq.js1
-rw-r--r--library/ace/snippets/jsp.js1
-rw-r--r--library/ace/snippets/jsx.js1
-rw-r--r--library/ace/snippets/julia.js1
-rw-r--r--library/ace/snippets/latex.js1
-rw-r--r--library/ace/snippets/lean.js1
-rw-r--r--library/ace/snippets/less.js1
-rw-r--r--library/ace/snippets/liquid.js1
-rw-r--r--library/ace/snippets/lisp.js1
-rw-r--r--library/ace/snippets/live_script.js1
-rw-r--r--library/ace/snippets/livescript.js1
-rw-r--r--library/ace/snippets/logiql.js1
-rw-r--r--library/ace/snippets/lsl.js1
-rw-r--r--library/ace/snippets/lua.js1
-rw-r--r--library/ace/snippets/luapage.js1
-rw-r--r--library/ace/snippets/lucene.js1
-rw-r--r--library/ace/snippets/makefile.js1
-rw-r--r--library/ace/snippets/markdown.js1
-rw-r--r--library/ace/snippets/mask.js1
-rw-r--r--library/ace/snippets/matlab.js1
-rw-r--r--library/ace/snippets/maze.js1
-rw-r--r--library/ace/snippets/mel.js1
-rw-r--r--library/ace/snippets/mips_assembler.js1
-rw-r--r--library/ace/snippets/mipsassembler.js1
-rw-r--r--library/ace/snippets/mushcode.js1
-rw-r--r--library/ace/snippets/mysql.js1
-rw-r--r--library/ace/snippets/nix.js1
-rw-r--r--library/ace/snippets/nsis.js1
-rw-r--r--library/ace/snippets/objectivec.js1
-rw-r--r--library/ace/snippets/ocaml.js1
-rw-r--r--library/ace/snippets/pascal.js1
-rw-r--r--library/ace/snippets/perl.js1
-rw-r--r--library/ace/snippets/pgsql.js1
-rw-r--r--library/ace/snippets/php.js1
-rw-r--r--library/ace/snippets/plain_text.js1
-rw-r--r--library/ace/snippets/powershell.js1
-rw-r--r--library/ace/snippets/praat.js1
-rw-r--r--library/ace/snippets/prolog.js1
-rw-r--r--library/ace/snippets/properties.js1
-rw-r--r--library/ace/snippets/protobuf.js1
-rw-r--r--library/ace/snippets/python.js1
-rw-r--r--library/ace/snippets/r.js1
-rw-r--r--library/ace/snippets/razor.js1
-rw-r--r--library/ace/snippets/rdoc.js1
-rw-r--r--library/ace/snippets/rhtml.js1
-rw-r--r--library/ace/snippets/rst.js1
-rw-r--r--library/ace/snippets/ruby.js1
-rw-r--r--library/ace/snippets/rust.js1
-rw-r--r--library/ace/snippets/sass.js1
-rw-r--r--library/ace/snippets/scad.js1
-rw-r--r--library/ace/snippets/scala.js1
-rw-r--r--library/ace/snippets/scheme.js1
-rw-r--r--library/ace/snippets/scss.js1
-rw-r--r--library/ace/snippets/sh.js1
-rw-r--r--library/ace/snippets/sjs.js1
-rw-r--r--library/ace/snippets/smarty.js1
-rw-r--r--library/ace/snippets/snippets.js1
-rw-r--r--library/ace/snippets/soy_template.js1
-rw-r--r--library/ace/snippets/space.js1
-rw-r--r--library/ace/snippets/sql.js1
-rw-r--r--library/ace/snippets/sqlserver.js1
-rw-r--r--library/ace/snippets/stylus.js1
-rw-r--r--library/ace/snippets/svg.js1
-rw-r--r--library/ace/snippets/swift.js1
-rw-r--r--library/ace/snippets/swig.js1
-rw-r--r--library/ace/snippets/tcl.js1
-rw-r--r--library/ace/snippets/tex.js1
-rw-r--r--library/ace/snippets/text.js1
-rw-r--r--library/ace/snippets/textile.js1
-rw-r--r--library/ace/snippets/toml.js1
-rw-r--r--library/ace/snippets/twig.js1
-rw-r--r--library/ace/snippets/typescript.js1
-rw-r--r--library/ace/snippets/vala.js1
-rw-r--r--library/ace/snippets/vbscript.js1
-rw-r--r--library/ace/snippets/velocity.js1
-rw-r--r--library/ace/snippets/verilog.js1
-rw-r--r--library/ace/snippets/vhdl.js1
-rw-r--r--library/ace/snippets/wollok.js1
-rw-r--r--library/ace/snippets/xml.js1
-rw-r--r--library/ace/snippets/xquery.js1
-rw-r--r--library/ace/snippets/yaml.js1
-rw-r--r--library/ace/theme-ambiance.js1
-rw-r--r--library/ace/theme-chaos.js1
-rw-r--r--library/ace/theme-chrome.js1
-rw-r--r--library/ace/theme-clouds.js1
-rw-r--r--library/ace/theme-clouds_midnight.js1
-rw-r--r--library/ace/theme-cobalt.js1
-rw-r--r--library/ace/theme-crimson_editor.js1
-rw-r--r--library/ace/theme-dawn.js1
-rw-r--r--library/ace/theme-dreamweaver.js1
-rw-r--r--library/ace/theme-eclipse.js1
-rw-r--r--library/ace/theme-github.js1
-rw-r--r--library/ace/theme-idle_fingers.js1
-rw-r--r--library/ace/theme-iplastic.js1
-rw-r--r--library/ace/theme-katzenmilch.js1
-rw-r--r--library/ace/theme-kr_theme.js1
-rw-r--r--library/ace/theme-kuroir.js1
-rw-r--r--library/ace/theme-merbivore.js1
-rw-r--r--library/ace/theme-merbivore_soft.js1
-rw-r--r--library/ace/theme-mono_industrial.js1
-rw-r--r--library/ace/theme-monokai.js1
-rw-r--r--library/ace/theme-pastel_on_dark.js1
-rw-r--r--library/ace/theme-solarized_dark.js1
-rw-r--r--library/ace/theme-solarized_light.js1
-rw-r--r--library/ace/theme-sqlserver.js1
-rw-r--r--library/ace/theme-terminal.js1
-rw-r--r--library/ace/theme-textmate.js1
-rw-r--r--library/ace/theme-tomorrow.js1
-rw-r--r--library/ace/theme-tomorrow_night.js1
-rw-r--r--library/ace/theme-tomorrow_night_blue.js1
-rw-r--r--library/ace/theme-tomorrow_night_bright.js1
-rw-r--r--library/ace/theme-tomorrow_night_eighties.js1
-rw-r--r--library/ace/theme-twilight.js1
-rw-r--r--library/ace/theme-vibrant_ink.js1
-rw-r--r--library/ace/theme-xcode.js1
-rw-r--r--library/ace/worker-coffee.js1
-rw-r--r--library/ace/worker-css.js1
-rw-r--r--library/ace/worker-html.js1
-rw-r--r--library/ace/worker-javascript.js1
-rw-r--r--library/ace/worker-json.js1
-rw-r--r--library/ace/worker-lua.js1
-rw-r--r--library/ace/worker-php.js1
-rw-r--r--library/ace/worker-xml.js1
-rw-r--r--library/ace/worker-xquery.js1
-rw-r--r--library/class.Diff.php386
-rw-r--r--library/fullcalendar/CHANGELOG.txt45
-rw-r--r--library/fullcalendar/CONTRIBUTING.txt2
-rw-r--r--library/fullcalendar/fullcalendar.css220
-rw-r--r--library/fullcalendar/fullcalendar.js1722
-rw-r--r--library/fullcalendar/fullcalendar.min.css6
-rw-r--r--library/fullcalendar/fullcalendar.min.js12
-rw-r--r--library/fullcalendar/fullcalendar.print.css4
-rw-r--r--library/fullcalendar/gcal.js8
-rw-r--r--library/fullcalendar/lang-all.js8
-rw-r--r--library/markdown.php2
-rw-r--r--util/hmessages.po6632
-rw-r--r--util/po2php.php12
-rw-r--r--view/ca/hmessages.po14250
-rw-r--r--view/ca/hstrings.php3452
-rw-r--r--view/ca/messages.po10804
-rw-r--r--view/ca/strings.php2822
-rw-r--r--view/cs/hmessages.po4618
-rw-r--r--view/cs/hstrings.php1044
-rw-r--r--view/cs/htconfig.tpl82
-rw-r--r--view/cs/lostpass_eml.tpl32
-rw-r--r--view/cs/messages.po4618
-rw-r--r--view/cs/passchanged_eml.tpl20
-rw-r--r--view/cs/register_open_eml.tpl19
-rw-r--r--view/cs/register_verify_eml.tpl25
-rw-r--r--view/cs/strings.php1044
-rw-r--r--view/cs/update_fail_eml.tpl13
-rw-r--r--view/css/bootstrap-red.css2
-rw-r--r--view/css/mod_cal.css4
-rw-r--r--view/css/mod_events.css4
-rw-r--r--view/de/hmessages.po8977
-rw-r--r--view/de/hstrings.php2019
-rw-r--r--view/eo/hmessages.po7714
-rw-r--r--view/eo/hstrings.php1771
-rw-r--r--view/eo/htconfig.tpl82
-rw-r--r--view/eo/lostpass_eml.tpl32
-rw-r--r--view/eo/messages.po7714
-rw-r--r--view/eo/passchanged_eml.tpl20
-rw-r--r--view/eo/register_open_eml.tpl19
-rw-r--r--view/eo/register_verify_eml.tpl25
-rw-r--r--view/eo/strings.php1771
-rw-r--r--view/eo/update_fail_eml.tpl13
-rw-r--r--view/es-es/hmessages.po7322
-rw-r--r--view/es-es/hstrings.php1721
-rw-r--r--view/fr/hmessages.po13058
-rw-r--r--view/fr/hstrings.php2721
-rw-r--r--view/fr/messages.po10813
-rw-r--r--view/fr/strings.php2592
-rw-r--r--view/he/hmessages.po9893
-rw-r--r--view/he/hstrings.php2319
-rw-r--r--view/he/lostpass_eml.tpl32
-rw-r--r--view/he/messages.po9168
-rw-r--r--view/he/passchanged_eml.tpl20
-rw-r--r--view/he/register_open_eml.tpl19
-rw-r--r--view/he/register_verify_eml.tpl24
-rw-r--r--view/he/register_verify_member.tpl24
-rw-r--r--view/he/strings.php2168
-rw-r--r--view/he/update_fail_eml.tpl13
-rw-r--r--view/it/hmessages.po12805
-rw-r--r--view/it/hstrings.php2631
-rw-r--r--view/it/messages.po10133
-rw-r--r--view/it/strings.php2844
-rw-r--r--view/js/main.js16
-rw-r--r--view/js/mod_cal.js22
-rw-r--r--view/js/mod_events.js18
-rw-r--r--view/nb-no/hmessages.po12901
-rw-r--r--view/nb-no/hstrings.php2661
-rw-r--r--view/nl/hmessages.po7324
-rw-r--r--view/nl/hstrings.php1721
-rw-r--r--view/pdl/mod_wiki.pdl4
-rw-r--r--view/php/default.php2
-rw-r--r--view/php/theme_init.php1
-rw-r--r--view/theme/redbasic/css/style.css8
-rwxr-xr-xview/tpl/conv_item.tpl14
-rwxr-xr-xview/tpl/cropcover.tpl2
-rw-r--r--view/tpl/diaspora_vcard.tpl26
-rwxr-xr-xview/tpl/event_head.tpl7
-rwxr-xr-xview/tpl/jot-header.tpl83
-rwxr-xr-xview/tpl/jot.tpl29
-rwxr-xr-xview/tpl/nav.tpl2
-rw-r--r--view/tpl/pdledit.tpl2
-rwxr-xr-xview/tpl/profile_advanced.tpl2
-rwxr-xr-xview/tpl/profile_vcard.tpl24
-rw-r--r--view/tpl/wiki.tpl471
-rw-r--r--view/tpl/wiki_page_history.tpl52
-rw-r--r--view/tpl/wiki_page_list.tpl10
-rw-r--r--view/tpl/wikilist.tpl20
-rwxr-xr-xview/tpl/xchan_vcard.tpl6
610 files changed, 125467 insertions, 100381 deletions
diff --git a/CHANGELOG b/CHANGELOG
index cf8386317..7fc5835a7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,79 @@
+Hubzilla 1.8
+ Administration:
+ Cleanup and resolve some edge cases with addon repository manager
+ Provide sort field and direction on all fields of account and channel administration tables
+ Rename 'user' administration to account administration to reflect its true purpose
+ 'safemode' tool to quickly disable and re-enable addons during a hypothetical upgrade crisis
+ Security:
+ Edited comments to private posts could lose their privacy settings under some circumstances
+ Provide zot-finger signatures to prevent a possible but rare exploit involving DNS spoofing and phishing
+ ACL selections:
+ Various improvements to the ACL editor to further simplify the concepts and make it more intuitive
+ Chat:
+ Notifications of chatroom activity using standard browser notification interfaces.
+ Themes:
+ Allow a theme:schema string to represent a valid theme name. This fixes issues with setting schemas on site themes.
+ Pubsites:
+ Show server role (identify UNO or basic sites as opposed to hubzilla pro) and link to statistics
+ Documentation:
+ Clarify privacy rights of commenters w/r/t conversation owners, as this policy is network dependent.
+ Wiki (Git backed):
+ Brand new feature. We'll call it experimental until it has undergone a bit more testing.
+ Account Cloning:
+ Regression on clone channel creation created a new channel name each time.
+ New issue (fixed) with directory creation on cloned file content
+ Content Rendering:
+ Add inline code (in addition to the existing code blocks) to BBcode
+ Add emoji reactions
+ Add emojis as extended smilies with auto-complete support
+ Emoji added as feature so it can be enabled/disabled and locked
+ Ability to configure the standard reactions available on a site basis
+ Disable 'convenience' ajax autoload on pgdn key, as it could lead to premature memory exhaustion
+ Photos:
+ Change album sort ordering, allow widgets and plugins to define other orderings
+ Apps:
+ Synchronise app list with changes to system apps
+ Preserve existing app categories on app updates/edits
+ Regression: fixed translated system app names
+ Architecture:
+ Provide autoloaded class files and libraries for plugins.
+ Further refactoring of session driver to sort out some cookie anomolies
+ Experimental PDO database driver
+ Creation of Daemon Master class and port all daemon (background task) interfaces to use it
+ Create separate class for each of 'Cron', 'Cron daily', and 'Cron weekly'.
+ Always run a Cron maintenance task if not run in the last four hours
+ Refactor the template classes
+ Refactor the ConversationItem mess into ThreadItem and ThreadStream
+ Refactor Apps, Enotify, and Chat library code
+ Refactor the various Config libraries (Config, PConfig, XConfig, AConfig, AbConfig, and IConfig)
+ Created WebServer class for top level
+ Remove mcrypt dependencies (deprecated in PHP 7.1)
+ Remove all reserved (including merely 'not recommended') words as DB table column names
+ Provide mutex lock on DB logging to prevent recursion under rare failure modes.
+ Bugfixes:
+ Remove db_close function on page end - not needed and will not work with persistent DB connections.
+ Undefined ref_session_write
+ Some session functions needed to be static to work with CalDAV/CardDAV
+ CLI interface: argc and argv were reversed
+ HTML entities double encoded in edited titles
+ Prevent delivering to empty recipients
+ Sabre library setting some security headers for SAML after we've emitted HTML content
+ Always initialise miniApp (caused obscure warning message if not set)
+ Block 'sys' channels from being 'random profile' candidates
+ DB update failed email could be sent in the wrong language under rare circumstances
+ Openid remote authentication used incorrect namespace
+ URL attached to profile "things" was not linked, always showing the "thing" manage page
+ New connection wasn't added to default privacy group when "auto-accept" was enabled
+ Regression: iconfig sharing wasn't working properly
+ Plugins:
+ CalDAV/CardDAV plugin provided
+ Issue sending Diaspora 'like' activities from sources that did not propagate the DCV
+ Allow 'superblock' to work across API calls from third party clients
+ statistics.json: use 'zot' as protocol
+ Issues fixed during testing of ability to follow Diaspora tags
+ Parse issue with Diaspora reshare content
+ Chess: moved to main repo, ported to 1.8
+
Hubzilla 1.6
Cleanup and standardise the interfaces to the "jot" editor
Router re-written to support calling class object methods as controllers
diff --git a/Zotlabs/Daemon/README.md b/Zotlabs/Daemon/README.md
new file mode 100644
index 000000000..cb5b00a56
--- /dev/null
+++ b/Zotlabs/Daemon/README.md
@@ -0,0 +1,43 @@
+Daemon (background) Processes
+=============================
+
+
+This directory provides background tasks which are executed by a
+command-line process and detached from normal web processing.
+
+Background tasks are invoked by calling
+
+
+ Zotlabs\Daemon\Master::Summon([ $cmd, $arg1, $argn... ]);
+
+The Master class loads the desired command file and passes the arguments.
+
+
+To create a background task 'Foo' use the following template.
+
+ <?php
+
+ namespace Zotlabs\Daemon;
+
+ class Foo {
+
+ static public function run($argc,$argv) {
+ // do something
+ }
+ }
+
+
+The Master class "summons" the command by creating an executable script
+from the provided arguments, then it invokes "Release" to execute the script
+detached from web processing. This process calls the static::run() function
+with any command line arguments using the traditional argc, argv format.
+
+Please note: These are *real* $argc, $argv variables passed from the command
+line, and not the parsed argc() and argv() functions/variables which were
+obtained from parsing path components of the request URL by web processes.
+
+Background processes do not emit displayable output except through logs. They
+should also not make any assumptions about their HTML and web environment
+(as they do not have a web environment), particularly with respect to global
+variables such as $_SERVER, $_REQUEST, $_GET, $_POST, $_COOKIES, and $_SESSION.
+
diff --git a/Zotlabs/Lib/AbConfig.php b/Zotlabs/Lib/AbConfig.php
index f2d6522b9..138d0dfea 100644
--- a/Zotlabs/Lib/AbConfig.php
+++ b/Zotlabs/Lib/AbConfig.php
@@ -5,18 +5,18 @@ namespace Zotlabs\Lib;
class AbConfig {
- static public function Load($chash,$xhash) {
- $r = q("select * from abconfig where chan = '%s' and xchan = '%s'",
- dbesc($chash),
+ static public function Load($chan,$xhash) {
+ $r = q("select * from abconfig where chan = %d and xchan = '%s'",
+ intval($chan),
dbesc($xhash)
);
return $r;
}
- static public function Get($chash,$xhash,$family,$key) {
- $r = q("select * from abconfig where chan = '%s' and xchan = '%s' and cat = '%s' and k = '%s' limit 1",
- dbesc($chash),
+ static public function Get($chan,$xhash,$family,$key) {
+ $r = q("select * from abconfig where chan = %d and xchan = '%s' and cat = '%s' and k = '%s' limit 1",
+ intval($chan),
dbesc($xhash),
dbesc($family),
dbesc($key)
@@ -28,14 +28,14 @@ class AbConfig {
}
- static public function Set($chash,$xhash,$family,$key,$value) {
+ static public function Set($chan,$xhash,$family,$key,$value) {
$dbvalue = ((is_array($value)) ? serialize($value) : $value);
$dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
- if(self::Get($chash,$xhash,$family,$key) === false) {
- $r = q("insert into abconfig ( chan, xchan, cat, k, v ) values ( '%s', '%s', '%s', '%s', '%s' ) ",
- dbesc($chash),
+ if(self::Get($chan,$xhash,$family,$key) === false) {
+ $r = q("insert into abconfig ( chan, xchan, cat, k, v ) values ( %d, '%s', '%s', '%s', '%s' ) ",
+ intval($chan),
dbesc($xhash),
dbesc($family),
dbesc($key),
@@ -43,9 +43,9 @@ class AbConfig {
);
}
else {
- $r = q("update abconfig set v = '%s' where chan = '%s' and xchan = '%s' and cat = '%s' and k = '%s' ",
+ $r = q("update abconfig set v = '%s' where chan = %d and xchan = '%s' and cat = '%s' and k = '%s' ",
dbesc($dbvalue),
- dbesc($chash),
+ dbesc($chan),
dbesc($xhash),
dbesc($family),
dbesc($key)
@@ -58,10 +58,10 @@ class AbConfig {
}
- static public function Delete($chash,$xhash,$family,$key) {
+ static public function Delete($chan,$xhash,$family,$key) {
- $r = q("delete from abconfig where chan = '%s' and xchan = '%s' and cat = '%s' and k = '%s' ",
- dbesc($chash),
+ $r = q("delete from abconfig where chan = %d and xchan = '%s' and cat = '%s' and k = '%s' ",
+ intval($chan),
dbesc($xhash),
dbesc($family),
dbesc($key)
@@ -70,4 +70,4 @@ class AbConfig {
return $r;
}
-} \ No newline at end of file
+}
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 9dd4bf2d7..20556212a 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -215,6 +215,7 @@ class Apps {
'Settings' => t('Settings'),
'Files' => t('Files'),
'Webpages' => t('Webpages'),
+ 'Wiki' => t('Wiki'),
'Channel Home' => t('Channel Home'),
'View Profile' => t('View Profile'),
'Photos' => t('Photos'),
@@ -263,6 +264,8 @@ class Apps {
if(! $papp['photo'])
$papp['photo'] = z_root() . '/' . get_default_profile_photo(80);
+ self::translate_system_apps($papp);
+
$papp['papp'] = self::papp_encode($papp);
if(! strstr($papp['url'],'://'))
diff --git a/Zotlabs/Lib/Cache.php b/Zotlabs/Lib/Cache.php
new file mode 100644
index 000000000..35c8f56ad
--- /dev/null
+++ b/Zotlabs/Lib/Cache.php
@@ -0,0 +1,46 @@
+<?php /** @file */
+
+namespace Zotlabs\Lib;
+
+ /**
+ * cache api
+ */
+
+class Cache {
+ public static function get($key) {
+ $r = q("SELECT v FROM cache WHERE k = '%s' limit 1",
+ dbesc($key)
+ );
+
+ if ($r)
+ return $r[0]['v'];
+ return null;
+ }
+
+ public static function set($key,$value) {
+
+ $r = q("SELECT * FROM cache WHERE k = '%s' limit 1",
+ dbesc($key)
+ );
+ if($r) {
+ q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s'",
+ dbesc($value),
+ dbesc(datetime_convert()),
+ dbesc($key));
+ }
+ else {
+ q("INSERT INTO cache ( k, v, updated) VALUES ('%s','%s','%s')",
+ dbesc($key),
+ dbesc($value),
+ dbesc(datetime_convert()));
+ }
+ }
+
+
+ public static function clear() {
+ q("DELETE FROM cache WHERE updated < '%s'",
+ dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
+ }
+
+}
+
diff --git a/Zotlabs/Lib/SuperCurl.php b/Zotlabs/Lib/SuperCurl.php
new file mode 100644
index 000000000..40ca1addb
--- /dev/null
+++ b/Zotlabs/Lib/SuperCurl.php
@@ -0,0 +1,112 @@
+<?php
+
+namespace Zotlabs\Lib;
+
+/**
+ * @brief wrapper for z_fetch_url() which can be instantiated with several built-in parameters and
+ * these can be modified and re-used. Useful for CalDAV and other processes which need to authenticate
+ * and set lots of CURL options (many of which stay the same from one call to the next).
+ */
+
+
+
+
+class SuperCurl {
+
+
+ private $auth;
+ private $url;
+
+ private $curlopt = array();
+
+ private $headers = null;
+ public $filepos = 0;
+ public $filehandle = 0;
+ public $request_data = '';
+
+ private $request_method = 'GET';
+ private $upload = false;
+
+
+ private function set_data($s) {
+ $this->request_data = $s;
+ $this->filepos = 0;
+ }
+
+ public function curl_read($ch,$fh,$size) {
+
+ if($this->filepos < 0) {
+ unset($fh);
+ return '';
+ }
+
+ $s = substr($this->request_data,$this->filepos,$size);
+
+ if(strlen($s) < $size)
+ $this->filepos = (-1);
+ else
+ $this->filepos = $this->filepos + $size;
+
+ return $s;
+ }
+
+
+ public function __construct($opts = array()) {
+ $this->set($opts);
+ }
+
+ private function set($opts = array()) {
+ if($opts) {
+ foreach($opts as $k => $v) {
+ switch($k) {
+ case 'http_auth':
+ $this->auth = $v;
+ break;
+ case 'custom':
+ $this->request_method = $v;
+ break;
+ case 'url':
+ $this->url = $v;
+ break;
+ case 'data':
+ $this->set_data($v);
+ if($v) {
+ $this->upload = true;
+ }
+ else {
+ $this->upload = false;
+ }
+ break;
+ case 'headers':
+ $this->headers = $v;
+ break;
+ default:
+ $this->curlopts[$k] = $v;
+ break;
+ }
+ }
+ }
+ }
+
+ function exec() {
+ $opts = $this->curlopts;
+ if($this->auth)
+ $opts['http_auth'] = $this->auth;
+ if($this->custom)
+ $opts['custom'] = $this->custom;
+ if($this->headers)
+ $opts['headers'] = $this->headers;
+ if($this->upload) {
+ $opts['upload'] = true;
+ $opts['infile'] = $this->filehandle;
+ $opts['infilesize'] = strlen($this->request_data);
+ $opts['readfunc'] = [ $this, 'curl_read' ] ;
+ }
+
+ $recurse = 0;
+ return z_fetch_url($this->url,true,$recurse,(($opts) ? $opts : null));
+
+ }
+
+
+}
diff --git a/Zotlabs/Lib/XConfig.php b/Zotlabs/Lib/XConfig.php
index e28dcf559..7f3d0f2cd 100644
--- a/Zotlabs/Lib/XConfig.php
+++ b/Zotlabs/Lib/XConfig.php
@@ -122,7 +122,7 @@ class XConfig {
);
}
- App::$config[$xchan][$family][$key] = $value;
+ \App::$config[$xchan][$family][$key] = $value;
if($ret)
return $value;
@@ -157,4 +157,4 @@ class XConfig {
return $ret;
}
-} \ No newline at end of file
+}
diff --git a/Zotlabs/Module/Achievements.php b/Zotlabs/Module/Achievements.php
index 8ddefb3e5..1529448d3 100644
--- a/Zotlabs/Module/Achievements.php
+++ b/Zotlabs/Module/Achievements.php
@@ -18,7 +18,7 @@ class Achievements extends \Zotlabs\Web\Controller {
$profile = 0;
$profile = argv(1);
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
$r = q("select channel_id from channel where channel_address = '%s'",
dbesc($which)
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index 7bc197a93..2bc4ba62d 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -65,18 +65,20 @@ class Acl extends \Zotlabs\Web\Controller {
intval($count),
intval($start)
);
-
- foreach($r as $g){
- // logger('acl: group: ' . $g['gname'] . ' members: ' . group_get_members_xchan($g['id']));
- $groups[] = array(
- "type" => "g",
- "photo" => "images/twopeople.png",
- "name" => $g['gname'],
- "id" => $g['id'],
- "xid" => $g['hash'],
- "uids" => group_get_members_xchan($g['id']),
- "link" => ''
- );
+
+ if($r) {
+ foreach($r as $g){
+ // logger('acl: group: ' . $g['gname'] . ' members: ' . group_get_members_xchan($g['id']));
+ $groups[] = array(
+ "type" => "g",
+ "photo" => "images/twopeople.png",
+ "name" => $g['gname'],
+ "id" => $g['id'],
+ "xid" => $g['hash'],
+ "uids" => group_get_members_xchan($g['id']),
+ "link" => ''
+ );
+ }
}
}
@@ -204,7 +206,7 @@ class Acl extends \Zotlabs\Web\Controller {
else
$r = array();
- if(count($r)) {
+ if($r) {
foreach($r as $g){
// remove RSS feeds from ACLs - they are inaccessible
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php
index 21ab7f6a7..085d13fd7 100644
--- a/Zotlabs/Module/Admin.php
+++ b/Zotlabs/Module/Admin.php
@@ -1738,7 +1738,7 @@ class Admin extends \Zotlabs\Web\Controller {
// name, label, value, help string, extra data...
'$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
- '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Red top-level directory.")),
+ '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your top-level webserver directory.")),
'$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
'$form_security_token' => get_form_security_token('admin_logs'),
diff --git a/Zotlabs/Module/Block.php b/Zotlabs/Module/Block.php
index 062befdb5..e671730f6 100644
--- a/Zotlabs/Module/Block.php
+++ b/Zotlabs/Module/Block.php
@@ -12,7 +12,7 @@ class Block extends \Zotlabs\Web\Controller {
$which = argv(1);
$profile = 0;
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
if(\App::$profile['profile_uid'])
head_set_icon(\App::$profile['thumb']);
@@ -52,8 +52,8 @@ class Block extends \Zotlabs\Web\Controller {
require_once('include/security.php');
$sql_options = item_permissions_sql($u[0]['channel_id']);
- $r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
+ $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and iconfig.k = 'BUILDBLOCK' and
item_type = %d $sql_options $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
@@ -64,8 +64,8 @@ class Block extends \Zotlabs\Web\Controller {
// Check again with no permissions clause to see if it is a permissions issue
- $x = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
+ $x = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and iconfig.k = 'BUILDBLOCK' and
item_type = %d $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
diff --git a/Zotlabs/Module/Blocks.php b/Zotlabs/Module/Blocks.php
index 32650a090..e6a97794d 100644
--- a/Zotlabs/Module/Blocks.php
+++ b/Zotlabs/Module/Blocks.php
@@ -22,12 +22,12 @@ class Blocks extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
- function get() {
+ function get() {
if(! \App::$profile) {
notice( t('Requested profile is not available.') . EOL );
@@ -111,8 +111,11 @@ class Blocks extends \Zotlabs\Web\Controller {
$editor = status_editor($a,$x);
- $r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'BUILDBLOCK' and item_type = %d order by item.created desc",
+
+ $r = q("select iconfig.iid, iconfig.k, iconfig.v, mid, title, body, mimetype, created, edited from iconfig
+ left join item on iconfig.iid = item.id
+ where uid = %d and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK'
+ and item_type = %d order by item.created desc",
intval($owner),
intval(ITEM_TYPE_BLOCK)
);
@@ -129,12 +132,12 @@ class Blocks extends \Zotlabs\Web\Controller {
'created' => $rr['created'],
'edited' => $rr['edited'],
'mimetype' => $rr['mimetype'],
- 'pagetitle' => $rr['sid'],
+ 'pagetitle' => $rr['v'],
'mid' => $rr['mid']
);
$pages[$rr['iid']][] = array(
'url' => $rr['iid'],
- 'name' => $rr['sid'],
+ 'name' => $rr['v'],
'title' => $rr['title'],
'created' => $rr['created'],
'edited' => $rr['edited'],
diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php
index 1da42684d..fd4169e68 100644
--- a/Zotlabs/Module/Cal.php
+++ b/Zotlabs/Module/Cal.php
@@ -20,7 +20,7 @@ class Cal extends \Zotlabs\Web\Controller {
if(argc() > 1) {
$nick = argv(1);
- profile_load($a,$nick);
+ profile_load($nick);
$channelx = channelx_by_nick($nick);
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index 29bfcbc3c..d09388901 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -48,7 +48,7 @@ class Channel extends \Zotlabs\Web\Controller {
// Run profile_load() here to make sure the theme is set before
// we start loading content
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
}
diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php
index 026e8369a..ff55a9319 100644
--- a/Zotlabs/Module/Chat.php
+++ b/Zotlabs/Module/Chat.php
@@ -39,7 +39,7 @@ class Chat extends \Zotlabs\Web\Controller {
// Run profile_load() here to make sure the theme is set before
// we start loading content
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
}
diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php
index b691475ce..833b1b493 100644
--- a/Zotlabs/Module/Cloud.php
+++ b/Zotlabs/Module/Cloud.php
@@ -37,7 +37,7 @@ class Cloud extends \Zotlabs\Web\Controller {
\App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which . '" />' . "\r\n";
if ($which)
- profile_load($a, $which, $profile);
+ profile_load( $which, $profile);
$auth = new \Zotlabs\Storage\BasicAuth();
diff --git a/Zotlabs/Module/Common.php b/Zotlabs/Module/Common.php
index 1c428d256..2f3c57267 100644
--- a/Zotlabs/Module/Common.php
+++ b/Zotlabs/Module/Common.php
@@ -21,7 +21,7 @@ class Common extends \Zotlabs\Web\Controller {
);
if($x)
- profile_load($a,$x[0]['channel_address'],0);
+ profile_load($x[0]['channel_address'],0);
}
diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php
index f68e0baac..962c05cce 100644
--- a/Zotlabs/Module/Connect.php
+++ b/Zotlabs/Module/Connect.php
@@ -26,7 +26,7 @@ class Connect extends \Zotlabs\Web\Controller {
if($r)
\App::$data['channel'] = $r[0];
- profile_load($a,$which,'');
+ profile_load($which,'');
}
function post() {
diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php
index 33deac4c8..feed9cb1a 100644
--- a/Zotlabs/Module/Connedit.php
+++ b/Zotlabs/Module/Connedit.php
@@ -16,14 +16,14 @@ require_once('include/zot.php');
require_once('include/widgets.php');
require_once('include/photos.php');
-/* @brief Initialize the connection-editor
- *
- *
- */
-
class Connedit extends \Zotlabs\Web\Controller {
+ /* @brief Initialize the connection-editor
+ *
+ *
+ */
+
function init() {
if(! local_channel())
@@ -51,7 +51,7 @@ class Connedit extends \Zotlabs\Web\Controller {
*
*/
- function post() {
+ function post() {
if(! local_channel())
return;
@@ -219,7 +219,7 @@ class Connedit extends \Zotlabs\Web\Controller {
//Update profile photo permissions
logger('A new profile was assigned - updating profile photos');
- profile_photo_set_profile_perms($profile_id);
+ profile_photo_set_profile_perms(local_channel(),$profile_id);
}
@@ -345,7 +345,7 @@ class Connedit extends \Zotlabs\Web\Controller {
unset($clone['abook_account']);
unset($clone['abook_channel']);
- $abconfig = load_abconfig($channel['channel_hash'],$clone['abook_xchan']);
+ $abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']);
if($abconfig)
$clone['abconfig'] = $abconfig;
@@ -357,7 +357,7 @@ class Connedit extends \Zotlabs\Web\Controller {
*
*/
- function get() {
+ function get() {
$sort_type = 0;
$o = '';
@@ -418,7 +418,13 @@ class Connedit extends \Zotlabs\Web\Controller {
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+ if($cmd === 'resetphoto') {
+ q("update xchan set xchan_photo_date = '2001-01-01 00:00:00' where xchan_hash = '%s' limit 1",
+ dbesc($orig_record[0]['xchan_hash'])
+ );
+ $cmd = 'refresh';
+ }
+
if($cmd === 'refresh') {
if($orig_record[0]['xchan_network'] === 'zot') {
if(! zot_refresh($orig_record[0],\App::get_channel()))
diff --git a/Zotlabs/Module/Cover_photo.php b/Zotlabs/Module/Cover_photo.php
index a72c3389f..9887b8203 100644
--- a/Zotlabs/Module/Cover_photo.php
+++ b/Zotlabs/Module/Cover_photo.php
@@ -29,7 +29,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
}
$channel = \App::get_channel();
- profile_load($a,$channel['channel_address']);
+ profile_load($channel['channel_address']);
}
@@ -40,7 +40,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
*
*/
- function post() {
+ function post() {
if(! local_channel()) {
return;
@@ -271,7 +271,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
*/
- function get() {
+ function get() {
if(! local_channel()) {
notice( t('Permission denied.') . EOL );
diff --git a/Zotlabs/Module/Dav.php b/Zotlabs/Module/Dav.php
index 2fddabe19..6528e0271 100644
--- a/Zotlabs/Module/Dav.php
+++ b/Zotlabs/Module/Dav.php
@@ -58,7 +58,7 @@ class Dav extends \Zotlabs\Web\Controller {
\App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which . '" />' . "\r\n";
if ($which)
- profile_load($a, $which, $profile);
+ profile_load( $which, $profile);
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index c1a0d84bc..d1d4edc7d 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -106,12 +106,13 @@ class Display extends \Zotlabs\Web\Controller {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
- $y = q("select * from item_id where uid = %d and service = 'WEBPAGE' and iid = %d limit 1",
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['id'])
);
if($x && $y) {
- goaway(z_root() . '/page/' . $x[0]['channel_address'] . '/' . $y[0]['sid']);
+ goaway(z_root() . '/page/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
}
else {
notice( t('Page not found.') . EOL);
diff --git a/Zotlabs/Module/Editblock.php b/Zotlabs/Module/Editblock.php
index fb86557f2..6a9fa5f2d 100644
--- a/Zotlabs/Module/Editblock.php
+++ b/Zotlabs/Module/Editblock.php
@@ -21,7 +21,7 @@ class Editblock extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
@@ -85,11 +85,11 @@ class Editblock extends \Zotlabs\Web\Controller {
intval($owner)
);
if($itm) {
- $item_id = q("select * from item_id where service = 'BUILDBLOCK' and iid = %d limit 1",
+ $item_id = q("select * from iconfig where cat = 'system' and k = 'BUILDBLOCK' and iid = %d limit 1",
intval($itm[0]['id'])
);
if($item_id)
- $block_title = $item_id[0]['sid'];
+ $block_title = $item_id[0]['v'];
}
else {
notice( t('Item not found') . EOL);
diff --git a/Zotlabs/Module/Editlayout.php b/Zotlabs/Module/Editlayout.php
index 5028882d2..26732dc77 100644
--- a/Zotlabs/Module/Editlayout.php
+++ b/Zotlabs/Module/Editlayout.php
@@ -21,7 +21,7 @@ class Editlayout extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
@@ -96,11 +96,12 @@ class Editlayout extends \Zotlabs\Web\Controller {
intval($owner)
);
- $item_id = q("select * from item_id where service = 'PDL' and iid = %d limit 1",
+ $item_id = q("select * from iconfig where cat = 'system' and k = 'PDL' and iid = %d limit 1",
intval($itm[0]['id'])
);
if($item_id)
- $layout_title = $item_id[0]['sid'];
+ $layout_title = $item_id[0]['v'];
+
$rp = 'layouts/' . $which;
diff --git a/Zotlabs/Module/Editwebpage.php b/Zotlabs/Module/Editwebpage.php
index 1b5c320a0..5cd409e1e 100644
--- a/Zotlabs/Module/Editwebpage.php
+++ b/Zotlabs/Module/Editwebpage.php
@@ -23,7 +23,7 @@ class Editwebpage extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
@@ -114,11 +114,11 @@ class Editwebpage extends \Zotlabs\Web\Controller {
$itm[0]['body'] = crypto_unencapsulate(json_decode_plus($itm[0]['body']),$key);
}
- $item_id = q("select * from item_id where service = 'WEBPAGE' and iid = %d limit 1",
+ $item_id = q("select * from iconfig where cat = 'system' and k = 'WEBPAGE' and iid = %d limit 1",
intval($itm[0]['id'])
);
if($item_id)
- $page_title = $item_id[0]['sid'];
+ $page_title = $item_id[0]['v'];
$mimetype = $itm[0]['mimetype'];
diff --git a/Zotlabs/Module/Embedphotos.php b/Zotlabs/Module/Embedphotos.php
new file mode 100644
index 000000000..2cd420664
--- /dev/null
+++ b/Zotlabs/Module/Embedphotos.php
@@ -0,0 +1,180 @@
+<?php
+namespace Zotlabs\Module;
+
+/**
+ *
+ * This is the POST destination for the embedphotos button
+ *
+ */
+
+
+class Embedphotos extends \Zotlabs\Web\Controller {
+
+ function get() {
+
+ }
+
+ function post() {
+
+ if (argc() > 1 && argv(1) === 'album') {
+ // API: /embedphotos/album
+ $name = (x($_POST,'name') ? $_POST['name'] : null );
+ if (!$name) {
+ json_return_and_die(array('errormsg' => 'Error retrieving album', 'status' => false));
+ }
+ $album = $this->embedphotos_widget_album(array('channel' => \App::get_channel(), 'album' => $name));
+ json_return_and_die(array('status' => true, 'content' => $album));
+
+ }
+ if (argc() > 1 && argv(1) === 'albumlist') {
+ // API: /embedphotos/albumlist
+ $album_list = $this->embedphotos_album_list($a);
+ json_return_and_die(array('status' => true, 'albumlist' => $album_list));
+
+ }
+ if (argc() > 1 && argv(1) === 'photolink') {
+ // API: /embedphotos/photolink
+ $href = (x($_POST,'href') ? $_POST['href'] : null );
+ if (!$href) {
+ json_return_and_die(array('errormsg' => 'Error retrieving link ' . $href, 'status' => false));
+ }
+ $resource_id = array_pop(explode("/", $href));
+ $r = q("SELECT obj from item where resource_type = 'photo' and resource_id = '%s' limit 1",
+ dbesc($resource_id)
+ );
+ if(!$r) {
+ json_return_and_die(array('errormsg' => 'Error retrieving resource ' . $resource_id, 'status' => false));
+ }
+ $obj = json_decode($r[0]['obj'], true);
+ if(x($obj,'body')) {
+ $photolink = $obj['body'];
+ } elseif (x($obj,'bbcode')) {
+ $photolink = $obj['bbcode'];
+ } else {
+ json_return_and_die(array('errormsg' => 'Error retrieving resource ' . $resource_id, 'status' => false));
+ }
+ json_return_and_die(array('status' => true, 'photolink' => $photolink));
+
+ }
+ }
+
+
+/**
+ * Copied from include/widgets.php::widget_album() with a modification to get the profile_uid from
+ * the input array as in widget_item()
+ * @param type $name
+ * @return string
+ */
+function embedphotos_widget_album($args) {
+
+ $channel_id = 0;
+ if(array_key_exists('channel',$args))
+ $channel = $args['channel'];
+ $channel_id = intval($channel['channel_id']);
+ if(! $channel_id)
+ $channel_id = \App::$profile_uid;
+ if(! $channel_id)
+ return '';
+ $owner_uid = $channel_id;
+ require_once('include/security.php');
+ $sql_extra = permissions_sql($channel_id);
+
+ if(! perm_is_allowed($channel_id,get_observer_hash(),'view_storage'))
+ return '';
+
+ if($args['album'])
+ $album = $args['album'];
+ if($args['title'])
+ $title = $args['title'];
+
+ /**
+ * This may return incorrect permissions if you have multiple directories of the same name.
+ * It is a limitation of the photo table using a name for a photo album instead of a folder hash
+ */
+
+ if($album) {
+ $x = q("select hash from attach where filename = '%s' and uid = %d limit 1",
+ dbesc($album),
+ intval($owner_uid)
+ );
+ if($x) {
+ $y = attach_can_view_folder($owner_uid,get_observer_hash(),$x[0]['hash']);
+ if(! $y)
+ return '';
+ }
+ }
+
+ $order = 'DESC';
+
+ $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.imgscale, p.description, p.created FROM photo p INNER JOIN
+ (SELECT resource_id, max(imgscale) imgscale FROM photo WHERE uid = %d AND album = '%s' AND imgscale <= 4 AND photo_usage IN ( %d, %d ) $sql_extra GROUP BY resource_id) ph
+ ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale)
+ ORDER BY created $order",
+ intval($owner_uid),
+ dbesc($album),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
+ );
+
+ $photos = array();
+ if(count($r)) {
+ $twist = 'rotright';
+ foreach($r as $rr) {
+
+ if($twist == 'rotright')
+ $twist = 'rotleft';
+ else
+ $twist = 'rotright';
+
+ $ext = $phototypes[$rr['mimetype']];
+
+ $imgalt_e = $rr['filename'];
+ $desc_e = $rr['description'];
+
+ $imagelink = (z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $rr['resource_id']
+ . (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''));
+
+ $photos[] = array(
+ 'id' => $rr['id'],
+ 'twist' => ' ' . $twist . rand(2,4),
+ 'link' => $imagelink,
+ 'title' => t('View Photo'),
+ 'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['imgscale'] . '.' .$ext,
+ 'alt' => $imgalt_e,
+ 'desc'=> $desc_e,
+ 'ext' => $ext,
+ 'hash'=> $rr['resource_id'],
+ 'unknown' => t('Unknown')
+ );
+ }
+ }
+
+ $tpl = get_markup_template('photo_album.tpl');
+ $o .= replace_macros($tpl, array(
+ '$photos' => $photos,
+ '$album' => (($title) ? $title : $album),
+ '$album_id' => rand(),
+ '$album_edit' => array(t('Edit Album'), $album_edit),
+ '$can_post' => false,
+ '$upload' => array(t('Upload'), z_root() . '/photos/' . \App::$profile['channel_address'] . '/upload/' . bin2hex($album)),
+ '$order' => false,
+ '$upload_form' => $upload_form,
+ '$usage' => $usage_message
+ ));
+
+ return $o;
+}
+
+
+function embedphotos_album_list($a) {
+ $o = '';
+ require_once('include/photos.php');
+ $p = photos_albums_list(\App::get_channel(), \App::get_observer());
+ if ($p['success']) {
+ return $p['albums'];
+ } else {
+ return null;
+ }
+}
+
+}
diff --git a/Zotlabs/Module/Follow.php b/Zotlabs/Module/Follow.php
index 1df382a89..3641330c9 100644
--- a/Zotlabs/Module/Follow.php
+++ b/Zotlabs/Module/Follow.php
@@ -43,7 +43,7 @@ class Follow extends \Zotlabs\Web\Controller {
unset($clone['abook_account']);
unset($clone['abook_channel']);
- $abconfig = load_abconfig($channel['channel_hash'],$clone['abook_xchan']);
+ $abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']);
if($abconfig)
$clone['abconfig'] = $abconfig;
diff --git a/Zotlabs/Module/Hcard.php b/Zotlabs/Module/Hcard.php
index 2636e676b..93c8d3ece 100644
--- a/Zotlabs/Module/Hcard.php
+++ b/Zotlabs/Module/Hcard.php
@@ -40,7 +40,7 @@ class Hcard extends \Zotlabs\Web\Controller {
}
}
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
}
diff --git a/Zotlabs/Module/Id.php b/Zotlabs/Module/Id.php
index 6a94b57f5..e053bf99c 100644
--- a/Zotlabs/Module/Id.php
+++ b/Zotlabs/Module/Id.php
@@ -57,7 +57,7 @@ class Id extends \Zotlabs\Web\Controller {
$profile = '';
$channel = \App::get_channel();
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
$op = new MysqlProvider;
$op->server();
diff --git a/Zotlabs/Module/Impel.php b/Zotlabs/Module/Impel.php
index e326f7818..735c311d0 100644
--- a/Zotlabs/Module/Impel.php
+++ b/Zotlabs/Module/Impel.php
@@ -137,9 +137,7 @@ class Impel extends \Zotlabs\Web\Controller {
require_once('library/urlify/URLify.php');
$pagetitle = strtolower(\URLify::transliterate($j['pagetitle']));
}
-
-
-
+
// Verify ability to use html or php!!!
$execflag = false;
@@ -154,21 +152,14 @@ class Impel extends \Zotlabs\Web\Controller {
}
}
- $remote_id = 0;
-
- $z = q("select * from item_id where sid = '%s' and service = '%s' and uid = %d limit 1",
- dbesc($pagetitle),
- dbesc($namespace),
- intval(local_channel())
- );
-
$i = q("select id, edited, item_deleted from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['mid']),
intval(local_channel())
);
+
+ \Zotlabs\Lib\IConfig::Set($arr,'system',$namespace,(($pagetitle) ? $pagetitle : substr($arr['mid'],0,16)),true);
- if($z && $i) {
- $remote_id = $z[0]['id'];
+ if($i) {
$arr['id'] = $i[0]['id'];
// don't update if it has the same timestamp as the original
if($arr['edited'] > $i[0]['edited'])
@@ -182,12 +173,12 @@ class Impel extends \Zotlabs\Web\Controller {
intval(local_channel())
);
}
- $x = item_store($arr,$execflag);
+ else
+ $x = item_store($arr,$execflag);
}
- if($x['success']) {
+ if($x && $x['success']) {
$item_id = $x['item_id'];
- update_remote_id($channel,$item_id,$arr['item_type'],$pagetitle,$namespace,$remote_id,$arr['mid']);
}
}
@@ -199,7 +190,8 @@ class Impel extends \Zotlabs\Web\Controller {
notice( sprintf( t('%s element installation failed'), $installed_type));
}
- //??? should perhaps return ret?
+ //??? should perhaps return ret?
+
json_return_and_die(true);
}
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index 122e27e90..e34f5e49e 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -131,6 +131,8 @@ class Import extends \Zotlabs\Web\Controller {
// import channel
+ $relocate = ((array_key_exists('relocate',$data)) ? $data['relocate'] : null);
+
if(array_key_exists('channel',$data)) {
if($completed < 1) {
@@ -387,8 +389,7 @@ class Import extends \Zotlabs\Web\Controller {
if($abconfig) {
// @fixme does not handle sync of del_abconfig
foreach($abconfig as $abc) {
- if($abc['chan'] === $channel['channel_hash'])
- set_abconfig($abc['chan'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']);
+ set_abconfig($channel['channel_id'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']);
}
}
@@ -475,7 +476,7 @@ class Import extends \Zotlabs\Web\Controller {
import_events($channel,$data['event']);
if(is_array($data['event_item']))
- import_items($channel,$data['event_item']);
+ import_items($channel,$data['event_item'],false,$relocate);
if(is_array($data['menu']))
import_menus($channel,$data['menu']);
@@ -486,7 +487,7 @@ class Import extends \Zotlabs\Web\Controller {
$saved_notification_flags = notifications_off($channel['channel_id']);
if($import_posts && array_key_exists('item',$data) && $data['item'])
- import_items($channel,$data['item']);
+ import_items($channel,$data['item'],false,$relocate);
notifications_on($channel['channel_id'],$saved_notification_flags);
diff --git a/Zotlabs/Module/Import_items.php b/Zotlabs/Module/Import_items.php
index a862836c5..07b1c620c 100644
--- a/Zotlabs/Module/Import_items.php
+++ b/Zotlabs/Module/Import_items.php
@@ -92,7 +92,7 @@ class Import_items extends \Zotlabs\Web\Controller {
if(array_key_exists('item',$data) && $data['item']) {
- import_items($channel,$data['item']);
+ import_items($channel,$data['item'],false,((array_key_exists('relocate',$data)) ? $data['relocate'] : null));
}
if(array_key_exists('item_id',$data) && $data['item_id']) {
@@ -106,7 +106,7 @@ class Import_items extends \Zotlabs\Web\Controller {
- function get() {
+ function get() {
if(! local_channel()) {
notice( t('Permission denied') . EOL);
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 2601feb0a..369dd3948 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -1,4 +1,5 @@
<?php
+
namespace Zotlabs\Module;
/**
@@ -229,7 +230,7 @@ class Item extends \Zotlabs\Web\Controller {
if($namespace && $remote_id) {
// It wasn't an internally generated post - see if we've got an item matching this remote service id
- $i = q("select iid from item_id where service = '%s' and sid = '%s' limit 1",
+ $i = q("select iid from iconfig where cat = 'system' and k = '%s' and v = '%s' limit 1",
dbesc($namespace),
dbesc($remote_id)
);
@@ -880,13 +881,21 @@ class Item extends \Zotlabs\Web\Controller {
}
}
+ if($webpage) {
+ Zlib\IConfig::Set($datarray,'system', webpage_to_namespace($webpage),
+ (($pagetitle) ? $pagetitle : substr($datarray['mid'],0,16)),true);
+ }
+ elseif($namespace) {
+ Zlib\IConfig::Set($datarray,'system', $namespace,
+ (($remote_id) ? $remote_id : substr($datarray['mid'],0,16)),true);
+ }
+
+
if($orig_post) {
$datarray['id'] = $post_id;
- item_store_update($datarray,$execflag);
-
- update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
-
+ $x = item_store_update($datarray,$execflag);
+
if(! $parent) {
$r = q("select * from item where id = %d",
intval($post_id)
@@ -894,10 +903,7 @@ class Item extends \Zotlabs\Web\Controller {
if($r) {
xchan_query($r);
$sync_item = fetch_post_tags($r);
- $rid = q("select * from item_id where iid = %d",
- intval($post_id)
- );
- build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)),'item_id' => $rid));
+ build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true))));
}
}
if(! $nopush)
@@ -978,10 +984,7 @@ class Item extends \Zotlabs\Web\Controller {
goaway(z_root() . "/" . $return_path );
// NOTREACHED
}
-
-
- update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
-
+
if(($parent) && ($parent != $post_id)) {
// Store the comment signature information in case we need to relay to Diaspora
//$ditem = $datarray;
@@ -995,10 +998,7 @@ class Item extends \Zotlabs\Web\Controller {
if($r) {
xchan_query($r);
$sync_item = fetch_post_tags($r);
- $rid = q("select * from item_id where iid = %d",
- intval($post_id)
- );
- build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)),'item_id' => $rid));
+ build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true))));
}
}
diff --git a/Zotlabs/Module/Layouts.php b/Zotlabs/Module/Layouts.php
index 9b9fc22f3..c07f65ce1 100644
--- a/Zotlabs/Module/Layouts.php
+++ b/Zotlabs/Module/Layouts.php
@@ -21,7 +21,7 @@ class Layouts extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
@@ -90,13 +90,14 @@ class Layouts extends \Zotlabs\Web\Controller {
return;
}
- //This feature is not exposed in redbasic ui since it is not clear why one would want to
- //download a json encoded pdl file - we dont have a possibility to import it.
- //Use the buildin share/install feature instead.
+ // This feature is not exposed in redbasic ui since it is not clear why one would want to
+ // download a json encoded pdl file - we dont have a possibility to import it.
+ // Use the buildin share/install feature instead.
+
if((argc() > 3) && (argv(2) === 'share') && (argv(3))) {
- $r = q("select sid, service, mimetype, title, body from item_id
- left join item on item.id = item_id.iid
- where item_id.uid = %d and item.mid = '%s' and service = 'PDL' order by sid asc",
+ $r = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
+ left join item on item.id = iconfig.iid
+ where uid = %d and mid = '%s' and iconfig.cat = 'system' and iconfig.k = 'PDL' order by iconfig.v asc",
intval($owner),
dbesc(argv(3))
);
@@ -141,8 +142,9 @@ class Layouts extends \Zotlabs\Web\Controller {
$editor = status_editor($a,$x);
- $r = q("select iid, sid, mid, title, body, mimetype, created, edited, item_type from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'PDL' and item_type = %d order by item.created desc",
+ $r = q("select iconfig.iid, iconfig.v, mid, title, body, mimetype, created, edited, item_type from iconfig
+ left join item on iconfig.iid = item.id
+ where uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' and item_type = %d order by item.created desc",
intval($owner),
intval(ITEM_TYPE_PDL)
);
@@ -164,7 +166,7 @@ class Layouts extends \Zotlabs\Web\Controller {
);
$pages[$rr['iid']][] = array(
'url' => $rr['iid'],
- 'title' => $rr['sid'],
+ 'title' => $rr['v'],
'descr' => $rr['title'],
'mid' => $rr['mid'],
'created' => $rr['created'],
diff --git a/Zotlabs/Module/Page.php b/Zotlabs/Module/Page.php
index 14273614c..6ef285dd0 100644
--- a/Zotlabs/Module/Page.php
+++ b/Zotlabs/Module/Page.php
@@ -13,7 +13,7 @@ class Page extends \Zotlabs\Web\Controller {
$which = argv(1);
$profile = 0;
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
@@ -65,9 +65,10 @@ class Page extends \Zotlabs\Web\Controller {
require_once('include/security.php');
$sql_options = item_permissions_sql($u[0]['channel_id']);
- $r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and item.item_delayed = 0 and (( service = 'WEBPAGE' and item_type = %d )
- OR ( service = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
+ $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
+ and (( iconfig.k = 'WEBPAGE' and item_type = %d )
+ OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
intval(ITEM_TYPE_WEBPAGE),
@@ -77,9 +78,9 @@ class Page extends \Zotlabs\Web\Controller {
// Check again with no permissions clause to see if it is a permissions issue
- $x = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and item.item_delayed = 0 and service = 'WEBPAGE' and
- item_type = %d $revision limit 1",
+ $x = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
+ and iconfig.k = 'WEBPAGE' and item_type = %d $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
intval(ITEM_TYPE_WEBPAGE)
@@ -119,11 +120,8 @@ class Page extends \Zotlabs\Web\Controller {
\App::$data['webpage'] = $r;
}
-
-
-
-
- function get() {
+
+ function get() {
$r = \App::$data['webpage'];
if(! $r)
diff --git a/Zotlabs/Module/Pdledit.php b/Zotlabs/Module/Pdledit.php
index accfb6fa1..5cb00f165 100644
--- a/Zotlabs/Module/Pdledit.php
+++ b/Zotlabs/Module/Pdledit.php
@@ -20,7 +20,7 @@ class Pdledit extends \Zotlabs\Web\Controller {
}
- function get() {
+ function get() {
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
@@ -32,18 +32,18 @@ class Pdledit extends \Zotlabs\Web\Controller {
else {
$o .= '<div class="generic-content-wrapper-styled">';
$o .= '<h1>' . t('Edit System Page Description') . '</h1>';
- $files = glob('mod/*');
+ $files = glob('Zotlabs/Module/*.php');
if($files) {
foreach($files as $f) {
- $name = basename($f,'.php');
+ $name = lcfirst(basename($f,'.php'));
$x = theme_include('mod_' . $name . '.pdl');
if($x) {
$o .= '<a href="pdledit/' . $name . '" >' . $name . '</a><br />';
}
}
}
-
- $o .= '</div>';
+
+ $o .= '</div>';
// list module pdl files
return $o;
diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php
index 92c9ac3c0..5148c4a94 100644
--- a/Zotlabs/Module/Photo.php
+++ b/Zotlabs/Module/Photo.php
@@ -62,7 +62,7 @@ class Photo extends \Zotlabs\Web\Controller {
intval($uid),
intval(PHOTO_PROFILE)
);
- if(count($r)) {
+ if($r) {
$data = dbunescbin($r[0]['content']);
$mimetype = $r[0]['mimetype'];
}
@@ -79,7 +79,7 @@ class Photo extends \Zotlabs\Web\Controller {
* Other photos
*/
- /* Check for a cookie to indicate display pixel density, in order to detect high-resolution
+ /* Check for a cookie to indicate display pixel density, in order to detect high-resolution
displays. This procedure was derived from the "Retina Images" by Jeremey Worboys,
used in accordance with the Creative Commons Attribution 3.0 Unported License.
Project link: https://github.com/Retina-Images/Retina-Images
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index 1bdc23897..1633e08ef 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -27,7 +27,7 @@ class Photos extends \Zotlabs\Web\Controller {
if(argc() > 1) {
$nick = argv(1);
- profile_load($a,$nick);
+ profile_load($nick);
$channelx = channelx_by_nick($nick);
diff --git a/Zotlabs/Module/Profile.php b/Zotlabs/Module/Profile.php
index 8bf358bc8..9e868db92 100644
--- a/Zotlabs/Module/Profile.php
+++ b/Zotlabs/Module/Profile.php
@@ -48,7 +48,7 @@ class Profile extends \Zotlabs\Web\Controller {
}
}
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
}
diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php
index 6129a7492..62c5e99ae 100644
--- a/Zotlabs/Module/Profile_photo.php
+++ b/Zotlabs/Module/Profile_photo.php
@@ -23,19 +23,18 @@ class Profile_photo extends \Zotlabs\Web\Controller {
/* @brief Initalize the profile-photo edit view
*
- * @param $a Current application
* @return void
*
*/
- function init() {
+ function init() {
if(! local_channel()) {
return;
}
$channel = \App::get_channel();
- profile_load($a,$channel['channel_address']);
+ profile_load($channel['channel_address']);
}
@@ -46,7 +45,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
*
*/
- function post() {
+ function post() {
if(! local_channel()) {
return;
@@ -54,8 +53,23 @@ class Profile_photo extends \Zotlabs\Web\Controller {
check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo');
- if((x($_POST,'cropfinal')) && ($_POST['cropfinal'] == 1)) {
+ if((array_key_exists('postfinal',$_POST)) && (intval($_POST['cropfinal']) == 1)) {
+
+ // phase 2 - we have finished cropping
+ if(argc() != 2) {
+ notice( t('Image uploaded but image cropping failed.') . EOL );
+ return;
+ }
+
+ $image_id = argv(1);
+
+ if(substr($image_id,-2,1) == '-') {
+ $scale = substr($image_id,-1,1);
+ $image_id = substr($image_id,0,-2);
+ }
+
+
// unless proven otherwise
$is_default_profile = 1;
@@ -70,23 +84,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
$is_default_profile = 0;
}
}
-
-
-
- // phase 2 - we have finished cropping
-
- if(argc() != 2) {
- notice( t('Image uploaded but image cropping failed.') . EOL );
- return;
- }
-
- $image_id = argv(1);
-
- if(substr($image_id,-2,1) == '-') {
- $scale = substr($image_id,-1,1);
- $image_id = substr($image_id,0,-2);
- }
-
+
$srcX = $_POST['xstart'];
$srcY = $_POST['ystart'];
@@ -110,30 +108,38 @@ class Profile_photo extends \Zotlabs\Web\Controller {
$aid = get_account_id();
- $p = array('aid' => $aid, 'uid' => local_channel(), 'resource_id' => $base_image['resource_id'],
- 'filename' => $base_image['filename'], 'album' => t('Profile Photos'));
+ $p = [
+ 'aid' => $aid,
+ 'uid' => local_channel(),
+ 'resource_id' => $base_image['resource_id'],
+ 'filename' => $base_image['filename'],
+ 'album' => t('Profile Photos')
+ ];
- $p['imgscale'] = 4;
+ $p['imgscale'] = PHOTO_RES_PROFILE_300;
$p['photo_usage'] = (($is_default_profile) ? PHOTO_PROFILE : PHOTO_NORMAL);
$r1 = $im->save($p);
$im->scaleImage(80);
- $p['imgscale'] = 5;
+ $p['imgscale'] = PHOTO_RES_PROFILE_80;
$r2 = $im->save($p);
$im->scaleImage(48);
- $p['imgscale'] = 6;
+ $p['imgscale'] = PHOTO_RES_PROFILE_48;
$r3 = $im->save($p);
if($r1 === false || $r2 === false || $r3 === false) {
// if one failed, delete them all so we can start over.
notice( t('Image resize failed.') . EOL );
- $x = q("delete from photo where resource_id = '%s' and uid = %d and imgscale >= 4 ",
+ $x = q("delete from photo where resource_id = '%s' and uid = %d and imgscale in ( %d, %d, %d ) ",
dbesc($base_image['resource_id']),
- local_channel()
+ local_channel(),
+ intval(PHOTO_RES_PROFILE_300),
+ intval(PHOTO_RES_PROFILE_80),
+ intval(PHOTO_RES_PROFILE_48)
);
return;
}
@@ -183,10 +189,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
// Now copy profile-permissions to pictures, to prevent privacyleaks by automatically created folder 'Profile Pictures'
- profile_photo_set_profile_perms($_REQUEST['profile']);
-
-
-
+ profile_photo_set_profile_perms(local_channel(),$_REQUEST['profile']);
}
else
notice( t('Unable to process image') . EOL);
@@ -196,7 +199,9 @@ class Profile_photo extends \Zotlabs\Web\Controller {
return; // NOTREACHED
}
-
+ // A new photo was uploaded. Store it and save some important details
+ // in App::$data for use in the cropping function
+
$hash = photo_new_resource();
$smallest = 0;
@@ -220,7 +225,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
$os_storage = false;
foreach($i as $ii) {
- if(intval($ii['imgscale']) < 2) {
+ if(intval($ii['imgscale']) < PHOTO_RES_640) {
$smallest = intval($ii['imgscale']);
$os_storage = intval($ii['os_storage']);
$imagedata = $ii['content'];
@@ -238,7 +243,10 @@ class Profile_photo extends \Zotlabs\Web\Controller {
}
return $this->profile_photo_crop_ui_head($a, $ph, $hash, $smallest);
-
+
+ // This will "fall through" to the get() method, and since
+ // App::$data['imagecrop'] is set, it will proceed to cropping
+ // rather than present the upload form
}
@@ -269,11 +277,19 @@ class Profile_photo extends \Zotlabs\Web\Controller {
notice( t('Permission denied.') . EOL );
return;
};
-
- // check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo');
-
+
$resource_id = argv(2);
+ // When using an existing photo, we don't have a dialogue to offer a choice of profiles,
+ // so it gets attached to the default
+
+ $p = q("select id from profile where is_default = 1 and uid = %d",
+ intval(local_channel())
+ );
+ if($p) {
+ $_REQUEST['profile'] = $p[0]['id'];
+ }
+
$r = q("SELECT id, album, imgscale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY imgscale ASC",
intval(local_channel()),
@@ -285,11 +301,11 @@ class Profile_photo extends \Zotlabs\Web\Controller {
}
$havescale = false;
foreach($r as $rr) {
- if($rr['imgscale'] == 5)
+ if($rr['imgscale'] == PHOTO_RES_PROFILE_80)
$havescale = true;
}
- // set an already loaded photo as profile photo
+ // set an already loaded and cropped photo as profile photo
if(($r[0]['album'] == t('Profile Photos')) && ($havescale)) {
// unset any existing profile photos
@@ -310,7 +326,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
dbesc($channel['xchan_hash'])
);
- profile_photo_set_profile_perms(); //Reset default photo permissions to public
+ profile_photo_set_profile_perms(local_channel()); // Reset default photo permissions to public
\Zotlabs\Daemon\Master::Summon(array('Directory',local_channel()));
goaway(z_root() . '/profiles');
}
@@ -342,17 +358,22 @@ class Profile_photo extends \Zotlabs\Web\Controller {
if($i) {
$hash = $i[0]['resource_id'];
foreach($i as $ii) {
- if(intval($ii['imgscale']) < 2) {
+ if(intval($ii['imgscale']) < PHOTO_RES_640) {
$smallest = intval($ii['imgscale']);
}
}
}
}
- profile_photo_crop_ui_head($a, $ph, $hash, $smallest);
+ $this->profile_photo_crop_ui_head($a, $ph, $hash, $smallest);
+
+ // falls through with App::$data['imagecrop'] set so we go straight to the cropping section
}
- $profiles = q("select id, profile_name as name, is_default from profile where uid = %d",
+
+ // present an upload form
+
+ $profiles = q("select id, profile_name as name, is_default from profile where uid = %d order by id asc",
intval(local_channel())
);
@@ -379,6 +400,9 @@ class Profile_photo extends \Zotlabs\Web\Controller {
return $o;
}
else {
+
+ // present a cropping form
+
$filename = \App::$data['imagecrop'] . '-' . \App::$data['imagecrop_resolution'];
$resolution = \App::$data['imagecrop_resolution'];
$tpl = get_markup_template("cropbody.tpl");
@@ -416,13 +440,13 @@ class Profile_photo extends \Zotlabs\Web\Controller {
if($max_length > 0)
$ph->scaleImage($max_length);
- $width = $ph->getWidth();
- $height = $ph->getHeight();
+ \App::$data['width'] = $ph->getWidth();
+ \App::$data['height'] = $ph->getHeight();
- if($width < 500 || $height < 500) {
+ if(\App::$data['width'] < 500 || \App::$data['height'] < 500) {
$ph->scaleImageUp(400);
- $width = $ph->getWidth();
- $height = $ph->getHeight();
+ \App::$data['width'] = $ph->getWidth();
+ \App::$data['height'] = $ph->getHeight();
}
diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php
index 06e5cfd7b..899c79b15 100644
--- a/Zotlabs/Module/Profiles.php
+++ b/Zotlabs/Module/Profiles.php
@@ -193,7 +193,7 @@ class Profiles extends \Zotlabs\Web\Controller {
$chan = \App::get_channel();
- profile_load($a,$chan['channel_address'],$r[0]['id']);
+ profile_load($chan['channel_address'],$r[0]['id']);
}
}
@@ -584,7 +584,7 @@ class Profiles extends \Zotlabs\Web\Controller {
if($is_default) {
// reload the info for the sidebar widget - why does this not work?
- profile_load($a,$channel['channel_address']);
+ profile_load($channel['channel_address']);
\Zotlabs\Daemon\Master::Summon(array('Directory',local_channel()));
}
}
diff --git a/Zotlabs/Module/Profperm.php b/Zotlabs/Module/Profperm.php
index 33e9d1ece..b1da147c1 100644
--- a/Zotlabs/Module/Profperm.php
+++ b/Zotlabs/Module/Profperm.php
@@ -17,7 +17,7 @@ class Profperm extends \Zotlabs\Web\Controller {
$profile = \App::$argv[1];
- profile_load($a,$which,$profile);
+ profile_load($which,$profile);
}
@@ -97,7 +97,7 @@ class Profperm extends \Zotlabs\Web\Controller {
//Time to update the permissions on the profile-pictures as well
- profile_photo_set_profile_perms($profile['id']);
+ profile_photo_set_profile_perms(local_channel(),$profile['id']);
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d AND abook_profile = '%s'",
intval(local_channel()),
diff --git a/Zotlabs/Module/README.md b/Zotlabs/Module/README.md
new file mode 100644
index 000000000..3b870dd7b
--- /dev/null
+++ b/Zotlabs/Module/README.md
@@ -0,0 +1,80 @@
+Zotlabs/Module
+==============
+
+
+This directory contains controller modules for handling web requests. The
+lowercase class name indicates the head of the URL path which this module
+handles. There are other methods of attaching (routing) URL paths to
+controllers, but this is the primary method used in this project.
+
+Module controllers MUST reside in this directory and namespace to be
+autoloaded (unless other specific routing methods are employed). They
+typically use and extend the class definition in Zotlabs/Web/Controller
+as a template.
+
+Template:
+
+ <?php
+
+ namespace Zotlabs\Web;
+
+
+ class Controller {
+
+ function init() {}
+ function post() {}
+ function get() {}
+
+ }
+
+
+Typical Module declaration for the '/foo' URL route:
+
+
+ <?php
+ namespace Zotlabs\Module;
+
+ class Foo extends \Zotlabs\Web\Controller {
+
+ function init() {
+ // init() handler goes here
+ }
+
+ function post() {
+ // post handler goes here
+ }
+
+ function get() {
+ return 'Hello world.' . EOL;
+ }
+
+ }
+
+This model provides callbacks for public functions named init(), post(),
+and get(). init() is always called. post() is called if $_POST variables
+are present, and get() is called if none of the prior functions terminated
+the handler. The get() method typically retuns a string which represents
+the contents of the content region of the resulting page. Modules which emit
+json, xml or other machine-readable formats typically emit their contents
+inside the init() function and call 'killme()' to terminate the Module.
+
+Modules are passed the URL path as argc,argv arguments. For a path such as
+
+ https://mysite.something/foo/bar/baz
+
+The app will typically invoke the Module class 'Foo' and pass it
+
+ $x = argc(); // $x = 3
+
+ $x = argv(0); // $x = 'foo'
+ $x = argv(1); // $x = 'bar'
+ $x = argv(2); // $x = 'baz'
+
+These are handled in a similar fashion to their counterparts in the Unix shell
+or C/C++ languages. Do not confuse the argc(),argv() functions with the
+global variables $argc,$argv which are passed to command line programs. These
+are handled separately by command line and Zotlabs/Daemon class functions.
+
+
+
+ \ No newline at end of file
diff --git a/Zotlabs/Module/Rmagic.php b/Zotlabs/Module/Rmagic.php
index bcdbf6c90..26b0c46a6 100644
--- a/Zotlabs/Module/Rmagic.php
+++ b/Zotlabs/Module/Rmagic.php
@@ -24,7 +24,7 @@ class Rmagic extends \Zotlabs\Web\Controller {
}
}
- function post() {
+ function post() {
$address = trim($_REQUEST['address']);
@@ -34,13 +34,13 @@ class Rmagic extends \Zotlabs\Web\Controller {
try {
require_once('library/openid/openid.php');
- $openid = new LightOpenID(z_root());
+ $openid = new \LightOpenID(z_root());
$openid->identity = $address;
$openid->returnUrl = z_root() . '/openid';
$openid->required = array('namePerson/friendly', 'namePerson');
$openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
goaway($openid->authUrl());
- } catch (Exception $e) {
+ } catch (\Exception $e) {
notice( t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.').'<br /><br >'. t('The error message was:').' '.$e->getMessage());
}
@@ -82,7 +82,7 @@ class Rmagic extends \Zotlabs\Web\Controller {
}
- function get() {
+ function get() {
$o = replace_macros(get_markup_template('rmagic.tpl'),array(
'$title' => t('Remote Authentication'),
diff --git a/Zotlabs/Module/Siteinfo.php b/Zotlabs/Module/Siteinfo.php
index 41f6e9f0b..a15e2896d 100644
--- a/Zotlabs/Module/Siteinfo.php
+++ b/Zotlabs/Module/Siteinfo.php
@@ -27,28 +27,11 @@ class Siteinfo extends \Zotlabs\Web\Controller {
else {
$version = $commit = '';
}
- $visible_plugins = array();
- if(is_array(\App::$plugins) && count(\App::$plugins)) {
- $r = q("select * from addon where hidden = 0");
- if(count($r))
- foreach($r as $rr)
- $visible_plugins[] = $rr['name'];
- }
-
- $plugins_list = '';
- if(count($visible_plugins)) {
- $plugins_text = t('Installed plugins/addons/apps:');
- $sorted = $visible_plugins;
- $s = '';
- sort($sorted);
- foreach($sorted as $p) {
- if(strlen($p)) {
- if(strlen($s)) $s .= ', ';
- $s .= $p;
- }
- }
- $plugins_list .= $s;
- }
+
+ $plugins_list = implode(', ',visible_plugin_list());
+
+ if($plugins_list)
+ $plugins_text = t('Installed plugins/addons/apps:');
else
$plugins_text = t('No installed plugins/addons/apps');
diff --git a/Zotlabs/Module/Thing.php b/Zotlabs/Module/Thing.php
index e23cce565..65fc0588e 100644
--- a/Zotlabs/Module/Thing.php
+++ b/Zotlabs/Module/Thing.php
@@ -26,7 +26,7 @@ class Thing extends \Zotlabs\Web\Controller {
$verb = escape_tags($_REQUEST['verb']);
$activity = intval($_REQUEST['activity']);
$profile_guid = escape_tags($_REQUEST['profile_assign']);
- $url = $_REQUEST['link'];
+ $url = $_REQUEST['url'];
$photo = $_REQUEST['img'];
$hash = random_string();
@@ -235,7 +235,7 @@ class Thing extends \Zotlabs\Web\Controller {
}
- function get() {
+ function get() {
// @FIXME one problem with things is we can't share them unless we provide the channel in the url
// so we can definitively lookup the owner.
diff --git a/Zotlabs/Module/Uexport.php b/Zotlabs/Module/Uexport.php
index d48f96d76..f36d77174 100644
--- a/Zotlabs/Module/Uexport.php
+++ b/Zotlabs/Module/Uexport.php
@@ -44,7 +44,7 @@ class Uexport extends \Zotlabs\Web\Controller {
}
}
- function get() {
+ function get() {
$y = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
diff --git a/Zotlabs/Module/Viewconnections.php b/Zotlabs/Module/Viewconnections.php
index ea478f92a..7523c259b 100644
--- a/Zotlabs/Module/Viewconnections.php
+++ b/Zotlabs/Module/Viewconnections.php
@@ -11,7 +11,7 @@ class Viewconnections extends \Zotlabs\Web\Controller {
return;
}
if(argc() > 1)
- profile_load($a,argv(1));
+ profile_load(argv(1));
}
function get() {
diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php
index bb8d454c8..bb8d9c6ed 100644
--- a/Zotlabs/Module/Webpages.php
+++ b/Zotlabs/Module/Webpages.php
@@ -23,12 +23,12 @@ class Webpages extends \Zotlabs\Web\Controller {
else
return;
- profile_load($a,$which);
+ profile_load($which);
}
- function get() {
+ function get() {
if(! \App::$profile) {
notice( t('Requested profile is not available.') . EOL );
@@ -138,11 +138,19 @@ class Webpages extends \Zotlabs\Web\Controller {
$sql_extra = item_permissions_sql($owner);
- $r = q("select * from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'WEBPAGE' and item_type = %d $sql_extra order by item.created desc",
+
+ $r = q("select * from iconfig left join item on iconfig.iid = item.id
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item_type = %d
+ $sql_extra order by item.created desc",
intval($owner),
intval(ITEM_TYPE_WEBPAGE)
);
+
+// $r = q("select * from item_id left join item on item_id.iid = item.id
+// where item_id.uid = %d and service = 'WEBPAGE' and item_type = %d $sql_extra order by item.created desc",
+// intval($owner),
+// intval(ITEM_TYPE_WEBPAGE)
+// );
$pages = null;
@@ -160,13 +168,13 @@ class Webpages extends \Zotlabs\Web\Controller {
'created' => $rr['created'],
'edited' => $rr['edited'],
'mimetype' => $rr['mimetype'],
- 'pagetitle' => $rr['sid'],
+ 'pagetitle' => $rr['v'],
'mid' => $rr['mid'],
'layout_mid' => $rr['layout_mid']
);
$pages[$rr['iid']][] = array(
'url' => $rr['iid'],
- 'pagetitle' => $rr['sid'],
+ 'pagetitle' => $rr['v'],
'title' => $rr['title'],
'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']),
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php
new file mode 100644
index 000000000..38b49effc
--- /dev/null
+++ b/Zotlabs/Module/Wiki.php
@@ -0,0 +1,515 @@
+<?php /** @file */
+
+namespace Zotlabs\Module;
+
+class Wiki extends \Zotlabs\Web\Controller {
+
+ function init() {
+ // Determine which channel's wikis to display to the observer
+ $nick = null;
+ if (argc() > 1)
+ $nick = argv(1); // if the channel name is in the URL, use that
+ if (!$nick && local_channel()) { // if no channel name was provided, assume the current logged in channel
+ $channel = \App::get_channel();
+ if ($channel && $channel['channel_address']) {
+ $nick = $channel['channel_address'];
+ goaway(z_root() . '/wiki/' . $nick);
+ }
+ }
+ if (!$nick) {
+ notice(t('You must be logged in to see this page.') . EOL);
+ goaway('/login');
+ }
+ profile_load($nick);
+
+ }
+
+ function get() {
+ require_once('include/wiki.php');
+ require_once('include/acl_selectors.php');
+ // TODO: Combine the interface configuration into a unified object
+ // Something like $interface = array('new_page_button' => false, 'new_wiki_button' => false, ...)
+ $wiki_owner = false;
+ $showNewWikiButton = false;
+ $showCommitMsg = false;
+ $hidePageHistory = false;
+ $pageHistory = array();
+ $local_observer = null;
+ $resource_id = '';
+
+ // init() should have forced the URL to redirect to /wiki/channel so assume argc() > 1
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick); // The channel who owns the wikis being viewed
+ if(! $channel) {
+ notice('Invalid channel' . EOL);
+ goaway('/' . argv(0));
+ }
+ // Determine if the observer is the channel owner so the ACL dialog can be populated
+ if (local_channel() === intval($channel['channel_id'])) {
+ $local_observer = \App::get_channel();
+ $wiki_owner = true;
+
+ // Obtain the default permission settings of the channel
+ $channel_acl = array(
+ 'allow_cid' => $local_observer['channel_allow_cid'],
+ 'allow_gid' => $local_observer['channel_allow_gid'],
+ 'deny_cid' => $local_observer['channel_deny_cid'],
+ 'deny_gid' => $local_observer['channel_deny_gid']
+ );
+ // Initialize the ACL to the channel default permissions
+ $x = array(
+ 'lockstate' => (( $local_observer['channel_allow_cid'] ||
+ $local_observer['channel_allow_gid'] ||
+ $local_observer['channel_deny_cid'] ||
+ $local_observer['channel_deny_gid'])
+ ? 'lock' : 'unlock'),
+ 'acl' => populate_acl($channel_acl),
+ 'bang' => ''
+ );
+ } else {
+ // Not the channel owner
+ $channel_acl = $x = array();
+ }
+
+ switch (argc()) {
+ case 2:
+ // Configure page template
+ $wikiheaderName = t('Wiki');
+ $wikiheaderPage = t('Sandbox');
+ require_once('library/markdown.php');
+ $content = t('"# Wiki Sandbox\n\nContent you **edit** and **preview** here *will not be saved*."');
+ $renderedContent = Markdown(json_decode($content));
+ $hide_editor = false;
+ $showPageControls = false;
+ $showNewWikiButton = $wiki_owner;
+ $showNewPageButton = false;
+ $hidePageHistory = true;
+ $showCommitMsg = false;
+ break;
+ case 3:
+ // /wiki/channel/wiki -> No page was specified, so redirect to Home.md
+ $wikiUrlName = urlencode(argv(2));
+ goaway('/'.argv(0).'/'.argv(1).'/'.$wikiUrlName.'/Home');
+ case 4:
+ // GET /wiki/channel/wiki/page
+ // Fetch the wiki info and determine observer permissions
+ $wikiUrlName = urlencode(argv(2));
+ $pageUrlName = urlencode(argv(3));
+ $w = wiki_exists_by_name($channel['channel_id'], $wikiUrlName);
+ if(!$w['resource_id']) {
+ notice('Wiki not found' . EOL);
+ goaway('/'.argv(0).'/'.argv(1));
+ }
+ $resource_id = $w['resource_id'];
+
+ if (!$wiki_owner) {
+ // Check for observer permissions
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['read']) {
+ notice('Permission denied.' . EOL);
+ goaway('/'.argv(0).'/'.argv(1));
+ }
+ if($perms['write']) {
+ $wiki_editor = true;
+ } else {
+ $wiki_editor = false;
+ }
+ } else {
+ $wiki_editor = true;
+ }
+ $wikiheaderName = urldecode($wikiUrlName);
+ $wikiheaderPage = urldecode($pageUrlName);
+ $p = wiki_get_page_content(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+ if(!$p['success']) {
+ notice('Error retrieving page content' . EOL);
+ goaway('/'.argv(0).'/'.argv(1).'/'.$wikiUrlName);
+ }
+ $content = ($p['content'] !== '' ? htmlspecialchars_decode($p['content'],ENT_COMPAT) : '"# New page\n"');
+ // Render the Markdown-formatted page content in HTML
+ require_once('library/markdown.php');
+ $renderedContent = wiki_convert_links(Markdown(json_decode($content)),argv(0).'/'.argv(1).'/'.$wikiUrlName);
+ $hide_editor = false;
+ $showPageControls = $wiki_editor;
+ $showNewWikiButton = $wiki_owner;
+ $showNewPageButton = $wiki_editor;
+ $hidePageHistory = false;
+ $showCommitMsg = true;
+ $pageHistory = wiki_page_history(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+ break;
+ default: // Strip the extraneous URL components
+ goaway('/'.argv(0).'/'.argv(1).'/'.$wikiUrlName.'/'.$pageUrlName);
+ }
+
+ $wikiModalID = random_string(3);
+ $wikiModal = replace_macros(
+ get_markup_template('generic_modal.tpl'), array(
+ '$id' => $wikiModalID,
+ '$title' => t('Revision Comparison'),
+ '$ok' => t('Revert'),
+ '$cancel' => t('Cancel')
+ )
+ );
+
+ $o .= replace_macros(get_markup_template('wiki.tpl'),array(
+ '$wikiheaderName' => $wikiheaderName,
+ '$wikiheaderPage' => $wikiheaderPage,
+ '$hideEditor' => $hide_editor,
+ '$showPageControls' => $showPageControls,
+ '$showNewWikiButton'=> $showNewWikiButton,
+ '$showNewPageButton'=> $showNewPageButton,
+ '$hidePageHistory' => $hidePageHistory,
+ '$showCommitMsg' => $showCommitMsg,
+ '$channel' => $channel['channel_address'],
+ '$resource_id' => $resource_id,
+ '$page' => $pageUrlName,
+ '$lockstate' => $x['lockstate'],
+ '$acl' => $x['acl'],
+ '$bang' => $x['bang'],
+ '$content' => $content,
+ '$renderedContent' => $renderedContent,
+ '$wikiName' => array('wikiName', t('Enter the name of your new wiki:'), '', ''),
+ '$pageName' => array('pageName', t('Enter the name of the new page:'), '', ''),
+ '$pageRename' => array('pageRename', t('Enter the new name:'), '', ''),
+ '$commitMsg' => array('commitMsg', '', '', '', '', 'placeholder="(optional) Enter a custom message when saving the page..."'),
+ '$pageHistory' => $pageHistory['history'],
+ '$wikiModal' => $wikiModal,
+ '$wikiModalID' => $wikiModalID,
+ '$commit' => 'HEAD',
+ '$embedPhotos' => t('Embed image from photo albums'),
+ '$embedPhotosModalTitle' => t('Embed an image from your albums'),
+ '$embedPhotosModalCancel' => t('Cancel'),
+ '$embedPhotosModalOK' => t('OK'),
+ '$modalchooseimages' => t('Choose images to embed'),
+ '$modalchoosealbum' => t('Choose an album'),
+ '$modaldiffalbum' => t('Choose a different album...'),
+ '$modalerrorlist' => t('Error getting album list'),
+ '$modalerrorlink' => t('Error getting photo link'),
+ '$modalerroralbum' => t('Error getting album'),
+ ));
+ head_add_js('library/ace/ace.js'); // Ace Code Editor
+ return $o;
+ }
+
+ function post() {
+ require_once('include/wiki.php');
+
+ // /wiki/channel/preview
+ // Render mardown-formatted text in HTML for preview
+ if((argc() > 2) && (argv(2) === 'preview')) {
+ $content = $_POST['content'];
+ $resource_id = $_POST['resource_id'];
+ require_once('library/markdown.php');
+ $html = purify_html(Markdown($content));
+ $w = wiki_get_wiki($resource_id);
+ $wikiURL = argv(0).'/'.argv(1).'/'.$w['urlName'];
+ $html = wiki_convert_links($html,$wikiURL);
+ json_return_and_die(array('html' => $html, 'success' => true));
+ }
+
+ // Create a new wiki
+ // /wiki/channel/create/wiki
+ if ((argc() > 3) && (argv(2) === 'create') && (argv(3) === 'wiki')) {
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ // Determine if observer has permission to create wiki
+ $observer_hash = get_observer_hash();
+ // Only the channel owner can create a wiki, at least until we create a
+ // more detail permissions framework
+ if (local_channel() !== intval($channel['channel_id'])) {
+ goaway('/'.argv(0).'/'.$nick.'/');
+ }
+ $wiki = array();
+ // Generate new wiki info from input name
+ $wiki['postVisible'] = ((intval($_POST['postVisible']) === 0) ? 0 : 1);
+ $wiki['rawName'] = $_POST['wikiName'];
+ $wiki['htmlName'] = escape_tags($_POST['wikiName']);
+ $wiki['urlName'] = urlencode($_POST['wikiName']);
+ if($wiki['urlName'] === '') {
+ notice('Error creating wiki. Invalid name.');
+ goaway('/wiki');
+ }
+ // Get ACL for permissions
+ $acl = new \Zotlabs\Access\AccessList($channel);
+ $acl->set_from_array($_POST);
+ $r = wiki_create_wiki($channel, $observer_hash, $wiki, $acl);
+ if ($r['success']) {
+ $homePage = wiki_create_page('Home', $r['item']['resource_id']);
+ if(!$homePage['success']) {
+ notice('Wiki created, but error creating Home page.');
+ goaway('/wiki/'.$nick.'/'.$wiki['urlName']);
+ }
+ goaway('/wiki/'.$nick.'/'.$wiki['urlName'].'/'.$homePage['page']['urlName']);
+ } else {
+ notice('Error creating wiki');
+ goaway('/wiki');
+ }
+ }
+
+ // Delete a wiki
+ if ((argc() > 3) && (argv(2) === 'delete') && (argv(3) === 'wiki')) {
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ // Only the channel owner can delete a wiki, at least until we create a
+ // more detail permissions framework
+ if (local_channel() !== intval($channel['channel_id'])) {
+ logger('Wiki delete permission denied.' . EOL);
+ json_return_and_die(array('message' => 'Wiki delete permission denied.', 'success' => false));
+ }
+ $resource_id = $_POST['resource_id'];
+ $deleted = wiki_delete_wiki($resource_id);
+ if ($deleted['success']) {
+ json_return_and_die(array('message' => '', 'success' => true));
+ } else {
+ logger('Error deleting wiki: ' . $resource_id);
+ json_return_and_die(array('message' => 'Error deleting wiki', 'success' => false));
+ }
+ }
+
+ // Create a page
+ if ((argc() === 4) && (argv(2) === 'create') && (argv(3) === 'page')) {
+ $nick = argv(1);
+ $resource_id = $_POST['resource_id'];
+ // Determine if observer has permission to create a page
+ $channel = get_channel_by_nick($nick);
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['write']) {
+ logger('Wiki write permission denied. ' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+ $name = $_POST['name']; //Get new page name
+ if(urlencode(escape_tags($_POST['name'])) === '') {
+ json_return_and_die(array('message' => 'Error creating page. Invalid name.', 'success' => false));
+ }
+ $page = wiki_create_page($name, $resource_id);
+ if ($page['success']) {
+ json_return_and_die(array('url' => '/'.argv(0).'/'.argv(1).'/'.$page['wiki']['urlName'].'/'.urlencode($page['page']['urlName']), 'success' => true));
+ } else {
+ logger('Error creating page');
+ json_return_and_die(array('message' => 'Error creating page.', 'success' => false));
+ }
+ }
+
+ // Fetch page list for a wiki
+ if ((argc() === 5) && (argv(2) === 'get') && (argv(3) === 'page') && (argv(4) === 'list')) {
+ $resource_id = $_POST['resource_id']; // resource_id for wiki in db
+ $channel = get_channel_by_nick(argv(1));
+ $observer_hash = get_observer_hash();
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['read']) {
+ logger('Wiki read permission denied.' . EOL);
+ json_return_and_die(array('pages' => null, 'message' => 'Permission denied.', 'success' => false));
+ }
+ }
+ $page_list_html = widget_wiki_pages(array(
+ 'resource_id' => $resource_id,
+ 'refresh' => true,
+ 'channel' => argv(1)));
+ json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
+ }
+
+ // Save a page
+ if ((argc() === 4) && (argv(2) === 'save') && (argv(3) === 'page')) {
+
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['name'];
+ $pageHtmlName = escape_tags($_POST['name']);
+ $content = $_POST['content']; //Get new content
+ $commitMsg = $_POST['commitMsg'];
+ if ($commitMsg === '') {
+ $commitMsg = 'Updated ' . $pageHtmlName;
+ }
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ // Determine if observer has permission to save content
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['write']) {
+ logger('Wiki write permission denied. ' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+
+ $saved = wiki_save_page(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'content' => $content));
+ if($saved['success']) {
+ $ob = \App::get_observer();
+ $commit = wiki_git_commit(array(
+ 'commit_msg' => $commitMsg,
+ 'resource_id' => $resource_id,
+ 'observer' => $ob,
+ 'files' => array($pageUrlName.'.md')
+ ));
+ if($commit['success']) {
+ json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'Error making git commit','success' => false));
+ }
+ } else {
+ json_return_and_die(array('message' => 'Error saving page', 'success' => false));
+ }
+ }
+
+ // Update page history
+ // /wiki/channel/history/page
+ if ((argc() === 4) && (argv(2) === 'history') && (argv(3) === 'page')) {
+
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['name'];
+
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ // Determine if observer has permission to read content
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['read']) {
+ logger('Wiki read permission denied.' . EOL);
+ json_return_and_die(array('historyHTML' => '', 'message' => 'Permission denied.', 'success' => false));
+ }
+ }
+ $historyHTML = widget_wiki_page_history(array(
+ 'resource_id' => $resource_id,
+ 'pageUrlName' => $pageUrlName
+ ));
+ json_return_and_die(array('historyHTML' => $historyHTML, 'message' => '', 'success' => true));
+ }
+
+ // Delete a page
+ if ((argc() === 4) && (argv(2) === 'delete') && (argv(3) === 'page')) {
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['name'];
+ if ($pageUrlName === 'Home') {
+ json_return_and_die(array('message' => 'Cannot delete Home','success' => false));
+ }
+ // Determine if observer has permission to delete pages
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['write']) {
+ logger('Wiki write permission denied. ' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+ $deleted = wiki_delete_page(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+ if($deleted['success']) {
+ $ob = \App::get_observer();
+ $commit = wiki_git_commit(array(
+ 'commit_msg' => 'Deleted ' . $pageUrlName,
+ 'resource_id' => $resource_id,
+ 'observer' => $ob,
+ 'files' => null
+ ));
+ if($commit['success']) {
+ json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'Error making git commit','success' => false));
+ }
+ } else {
+ json_return_and_die(array('message' => 'Error deleting page', 'success' => false));
+ }
+ }
+
+ // Revert a page
+ if ((argc() === 4) && (argv(2) === 'revert') && (argv(3) === 'page')) {
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['name'];
+ $commitHash = $_POST['commitHash'];
+ // Determine if observer has permission to revert pages
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['write']) {
+ logger('Wiki write permission denied.' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+ $reverted = wiki_revert_page(array('commitHash' => $commitHash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+ if($reverted['success']) {
+ json_return_and_die(array('content' => $reverted['content'], 'message' => '', 'success' => true));
+ } else {
+ json_return_and_die(array('content' => '', 'message' => 'Error reverting page', 'success' => false));
+ }
+ }
+
+ // Compare page revisions
+ if ((argc() === 4) && (argv(2) === 'compare') && (argv(3) === 'page')) {
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['name'];
+ $compareCommit = $_POST['compareCommit'];
+ $currentCommit = $_POST['currentCommit'];
+ // Determine if observer has permission to revert pages
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['read']) {
+ logger('Wiki read permission denied.' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+ $compare = wiki_compare_page(array('currentCommit' => $currentCommit, 'compareCommit' => $compareCommit, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+ if($compare['success']) {
+ $diffHTML = '<table class="text-center" width="100%"><tr><td class="lead" width="50%">Current Revision</td><td class="lead" width="50%">Selected Revision</td></tr></table>' . $compare['diff'];
+ json_return_and_die(array('diff' => $diffHTML, 'message' => '', 'success' => true));
+ } else {
+ json_return_and_die(array('diff' => '', 'message' => 'Error comparing page', 'success' => false));
+ }
+ }
+
+ // Rename a page
+ if ((argc() === 4) && (argv(2) === 'rename') && (argv(3) === 'page')) {
+ $resource_id = $_POST['resource_id'];
+ $pageUrlName = $_POST['oldName'];
+ $pageNewName = $_POST['newName'];
+ if ($pageUrlName === 'Home') {
+ json_return_and_die(array('message' => 'Cannot rename Home','success' => false));
+ }
+ if(urlencode(escape_tags($pageNewName)) === '') {
+ json_return_and_die(array('message' => 'Error renaming page. Invalid name.', 'success' => false));
+ }
+ // Determine if observer has permission to rename pages
+ $nick = argv(1);
+ $channel = get_channel_by_nick($nick);
+ if (local_channel() !== intval($channel['channel_id'])) {
+ $observer_hash = get_observer_hash();
+ $perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
+ if(!$perms['write']) {
+ logger('Wiki write permission denied. ' . EOL);
+ json_return_and_die(array('success' => false));
+ }
+ }
+ $renamed = wiki_rename_page(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'pageNewName' => $pageNewName));
+ if($renamed['success']) {
+ $ob = \App::get_observer();
+ $commit = wiki_git_commit(array(
+ 'commit_msg' => 'Renamed ' . urldecode($pageUrlName) . ' to ' . $renamed['page']['htmlName'],
+ 'resource_id' => $resource_id,
+ 'observer' => $ob,
+ 'files' => array($pageUrlName . '.md', $renamed['page']['fileName']),
+ 'all' => true
+ ));
+ if($commit['success']) {
+ json_return_and_die(array('name' => $renamed['page'], 'message' => 'Wiki git repo commit made', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'Error making git commit','success' => false));
+ }
+ } else {
+ json_return_and_die(array('message' => 'Error renaming page', 'success' => false));
+ }
+ }
+
+ //notice('You must be authenticated.');
+ json_return_and_die(array('message' => 'You must be authenticated.', 'success' => false));
+
+ }
+}
diff --git a/Zotlabs/Render/Comanche.php b/Zotlabs/Render/Comanche.php
index 1017ec6aa..820897ee9 100644
--- a/Zotlabs/Render/Comanche.php
+++ b/Zotlabs/Render/Comanche.php
@@ -179,7 +179,8 @@ class Comanche {
$channel_id = $this->get_channel_id();
if($channel_id) {
- $r = q("select * from item inner join item_id on iid = item.id and item_id.uid = item.uid and item.uid = %d and service = 'BUILDBLOCK' and sid = '%s' limit 1",
+ $r = q("select * from item inner join iconfig on iconfig.iid = item.id and item.uid = %d
+ and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK' and iconfig.v = '%s' limit 1",
intval($channel_id),
dbesc($name)
);
@@ -282,12 +283,12 @@ class Comanche {
/**
- * Widgets will have to get any operational arguments from the session, the
- * global app environment, or config storage until we implement argument passing
+ * Render a widget
*
* @param string $name
* @param string $text
*/
+
function widget($name, $text) {
$vars = array();
$matches = array();
@@ -314,7 +315,7 @@ class Comanche {
require_once(theme_include($theme_widget));
}
- if (function_exists($func))
+ if(function_exists($func))
return $func($vars);
}
diff --git a/Zotlabs/Storage/BasicAuth.php b/Zotlabs/Storage/BasicAuth.php
index 121a9c3a1..60fc2c988 100644
--- a/Zotlabs/Storage/BasicAuth.php
+++ b/Zotlabs/Storage/BasicAuth.php
@@ -3,6 +3,8 @@
namespace Zotlabs\Storage;
use Sabre\DAV;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
/**
* @brief Authentication backend class for DAV.
@@ -145,6 +147,57 @@ class BasicAuth extends DAV\Auth\Backend\AbstractBasic {
return true;
}
+ /**
+ * When this method is called, the backend must check if authentication was
+ * successful.
+ *
+ * The returned value must be one of the following
+ *
+ * [true, "principals/username"]
+ * [false, "reason for failure"]
+ *
+ * If authentication was successful, it's expected that the authentication
+ * backend returns a so-called principal url.
+ *
+ * Examples of a principal url:
+ *
+ * principals/admin
+ * principals/user1
+ * principals/users/joe
+ * principals/uid/123457
+ *
+ * If you don't use WebDAV ACL (RFC3744) we recommend that you simply
+ * return a string such as:
+ *
+ * principals/users/[username]
+ *
+ * @param RequestInterface $request
+ * @param ResponseInterface $response
+ * @return array
+ */
+ function check(RequestInterface $request, ResponseInterface $response) {
+
+ if(local_channel()) {
+ return [ true, $this->principalPrefix . $this->channel_name ];
+ }
+
+ $auth = new \Sabre\HTTP\Auth\Basic(
+ $this->realm,
+ $request,
+ $response
+ );
+
+ $userpass = $auth->getCredentials();
+ if (!$userpass) {
+ return [false, "No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured"];
+ }
+ if (!$this->validateUserPass($userpass[0], $userpass[1])) {
+ return [false, "Username or password was incorrect"];
+ }
+ return [true, $this->principalPrefix . $userpass[0]];
+
+ }
+
protected function check_module_access($channel_id) {
if($channel_id && \App::$module === 'cdav') {
$x = get_pconfig($channel_id,'cdav','enabled');
diff --git a/Zotlabs/Storage/CalDAVClient.php b/Zotlabs/Storage/CalDAVClient.php
new file mode 100644
index 000000000..c1a8db932
--- /dev/null
+++ b/Zotlabs/Storage/CalDAVClient.php
@@ -0,0 +1,738 @@
+<?php
+
+namespace Zotlabs\Storage;
+
+// The Hubzilla CalDAV client will store calendar information in the 'cal' DB table.
+// Event information will remain in the 'event' table. In order to implement CalDAV on top of our
+// existing system, there is an event table column called vdata. This will hold the "one true record"
+// of the event in VCALENDAR format. When we receive a foreign event, we will pick out the fields
+// of this entry that are important to us and use it to populate the other event table fields.
+// When we make an event change, it is required that we load this entry as a vobject, make the changes on the
+// vobject, and then store the result back in event.vdata. This will preserve foreign keys which we
+// know nothing about. Then we sync this back to the DAV server.
+
+// We still need a DB update to create a 'cal' table entry for our existing events and link these together.
+// I'm currently anticipating separating tasks/to-do items from events, so each new account wil get two default calendars.
+
+// We will eventually provide for magic-auth or cookie login of the CURL process so we won't be required to
+// store our hubzilla password. Currently for testing we are using HTTP BASIC-AUTH and must initialise the
+// username/password correctly to make the connection.
+
+// Repeating events will be awkward because every instance has the same UUID. This would make it difficult to
+// search for upcoming events if the initial instance was created (for instance) a few years ago. So the current plan is
+// to create event instances for a prescribed time limit from now (perhaps 5-10 years for annual events).
+// This plan may change. The repurcussions of this decision mean that an edit to a recurring event must
+// edit all existing instances of the event, and only one unique instance can be used for sync.
+// Sabre vobject provides a function to automatically expand recurring events into individual event instances.
+
+
+
+class CalDAVClient {
+
+ private $username;
+ private $password;
+
+ private $url;
+
+ public $filepos = 0;
+ public $request_data = '';
+
+ function __construct($user,$pass,$url) {
+ $this->username = $user;
+ $this->password = $pass;
+ $this->url = $url;
+
+ }
+
+ private function set_data($s) {
+ $this->request_data = $s;
+ $this->filepos = 0;
+ }
+
+ public function curl_read($ch,$fh,$size) {
+
+ if($this->filepos < 0) {
+ unset($fh);
+ return '';
+ }
+
+ $s = substr($this->request_data,$this->filepos,$size);
+
+ if(strlen($s) < $size)
+ $this->filepos = (-1);
+ else
+ $this->filepos = $this->filepos + $size;
+
+ return $s;
+ }
+
+ function ctag_fetch() {
+ $headers = [ 'Depth: 0', 'Prefer: return-minimal', 'Content-Type: application/xml; charset=utf-8'];
+
+ // recommended ctag fetch by sabre
+
+ $this->set_data('<?xml version="1.0"?>
+<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:prop>
+ <d:displayname />
+ <cs:getctag />
+ <d:sync-token />
+ </d:prop>
+</d:propfind>');
+
+ // thunderbird uses this - it's a bit more verbose on what capabilities
+ // are provided by the server
+
+ $this->set_data('<?xml version="1.0" encoding="UTF-8"?>
+<D:propfind xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<D:prop>
+ <D:resourcetype/>
+ <D:owner/>
+ <D:current-user-principal/>
+ <D:supported-report-set/>
+ <C:supported-calendar-component-set/>
+ <CS:getctag/>
+</D:prop>
+</D:propfind>');
+
+
+
+ $auth = $this->username . ':' . $this->password;
+
+ $recurse = 0;
+
+ $x = z_fetch_url($this->url,true,$recurse,
+ [ 'headers' => $headers,
+ 'http_auth' => $auth,
+ 'custom' => 'PROPFIND',
+ 'upload' => true,
+ 'infile' => 3,
+ 'infilesize' => strlen($this->request_data),
+ 'readfunc' => [ $this, 'curl_read' ]
+ ]);
+
+ return $x;
+
+ }
+
+
+ function detail_fetch() {
+ $headers = [ 'Depth: 1', 'Prefer: return-minimal', 'Content-Type: application/xml; charset=utf-8'];
+
+ // this query should return all objects in the given calendar, you can filter it appropriately
+ // using filter options
+
+ $this->set_data('<?xml version="1.0"?>
+<c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/">
+ <d:prop>
+ <d:getetag />
+ <c:calendar-data />
+ </d:prop>
+ <c:filter>
+ <c:comp-filter name="VCALENDAR" />
+ </c:filter>
+</c:calendar-query>');
+
+ $auth = $this->username . ':' . $this->password;
+
+ $recurse = 0;
+ $x = z_fetch_url($this->url,true,$recurse,
+ [ 'headers' => $headers,
+ 'http_auth' => $auth,
+ 'custom' => 'REPORT',
+ 'upload' => true,
+ 'infile' => 3,
+ 'infilesize' => strlen($this->request_data),
+ 'readfunc' => [ $this, 'curl_read' ]
+ ]);
+
+
+ return $x;
+
+ }
+
+
+}
+
+
+
+/*
+
+PROPFIND /calendars/johndoe/home/ HTTP/1.1
+Depth: 0
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:prop>
+ <d:displayname />
+ <cs:getctag />
+ </d:prop>
+</d:propfind>
+
+// Responses: success
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/calendars/johndoe/home/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:displayname>Home calendar</d:displayname>
+ <cs:getctag>3145</cs:getctag>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+// Responses: fail
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/calendars/johndoe/home/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:displayname />
+ <cs:getctag />
+ </d:prop>
+ <d:status>HTTP/1.1 403 Forbidden</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+
+// sample request body in DOM
+// prepare request body
+$doc = new DOMDocument('1.0', 'utf-8');
+$doc->formatOutput = true;
+
+$query = $doc->createElement('c:calendar-query');
+$query->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:c', 'urn:ietf:params:xml:ns:caldav');
+$query->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:d', 'DAV:');
+
+$prop = $doc->createElement('d:prop');
+$prop->appendChild($doc->createElement('d:getetag'));
+$prop->appendChild($doc->createElement('c:calendar-data'));
+$query->appendChild($prop);
+$doc->appendChild($query);
+$body = $doc->saveXML();
+
+echo "Body: " . $body . "<br>";
+
+
+Now we download every single object in this calendar. To do this, we use a REPORT method.
+
+REPORT /calendars/johndoe/home/ HTTP/1.1
+Depth: 1
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <d:getetag />
+ <c:calendar-data />
+ </d:prop>
+ <c:filter>
+ <c:comp-filter name="VCALENDAR" />
+ </c:filter>
+</c:calendar-query>
+
+This request will give us every object that's a VCALENDAR object, and its etag.
+
+If you're only interested in VTODO (because you're writing a todo app) you can also filter for just those:
+
+REPORT /calendars/johndoe/home/ HTTP/1.1
+Depth: 1
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <d:getetag />
+ <c:calendar-data />
+ </d:prop>
+ <c:filter>
+ <c:comp-filter name="VCALENDAR">
+ <c:comp-filter name="VTODO" />
+ </c:comp-filter>
+ </c:filter>
+</c:calendar-query>
+
+Similarly it's also possible to filter to just events, or only get events within a specific time-range.
+
+This report will return a multi-status object again:
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/calendars/johndoe/home/132456762153245.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"2134-314"</d:getetag>
+ <c:calendar-data>BEGIN:VCALENDAR
+ VERSION:2.0
+ CALSCALE:GREGORIAN
+ BEGIN:VTODO
+ UID:132456762153245
+ SUMMARY:Do the dishes
+ DUE:20121028T115600Z
+ END:VTODO
+ END:VCALENDAR
+ </c:calendar-data>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/home/132456-34365.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"5467-323"</d:getetag>
+ <c:calendar-data>BEGIN:VCALENDAR
+ VERSION:2.0
+ CALSCALE:GREGORIAN
+ BEGIN:VEVENT
+ UID:132456-34365
+ SUMMARY:Weekly meeting
+ DTSTART:20120101T120000
+ DURATION:PT1H
+ RRULE:FREQ=WEEKLY
+ END:VEVENT
+ END:VCALENDAR
+ </c:calendar-data>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+This calendar only contained 2 objects. A todo and a weekly event.
+
+So after you retrieved and processed these, for each object you must retain:
+
+ The calendar data itself
+ The url
+ The etag
+
+In this case all urls ended with .ics. This is often the case, but you must not rely on this. In this case the UID in the calendar object was also identical to a part of the url. This too is often the case, but again not something you can rely on, so don't make any assumptions.
+
+The url and the UID have no meaningful relationship, so treat both those items as separate unique identifiers.
+Finding out if anything changed
+
+To see if anything in a calendar changed, we simply request the ctag again on the calendar. If the ctag did not change, you still have the latest copy.
+
+If it did change, you must request all the etags in the entire calendar again:
+
+REPORT /calendars/johndoe/home/ HTTP/1.1
+Depth: 1
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <d:getetag />
+ </d:prop>
+ <c:filter>
+ <c:comp-filter name="VCALENDAR">
+ <c:comp-filter name="VTODO" />
+ </c:comp-filter>
+ </c:filter>
+</c:calendar-query>
+
+Note that this last request is extremely similar to a previous one, but we are only asking fo the etag, not the calendar-data.
+
+The reason for this, is that calendars can be rather huge. It will save a TON of bandwidth to only check the etag first.
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/calendars/johndoe/home/132456762153245.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"xxxx-xxx"</d:getetag>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/home/fancy-caldav-client-1234253678.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"5-12"</d:getetag>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+Judging from this last request, 3 things have changed:
+
+ The etag for the task has changed, so the contents must be different
+ There's a new url, some other client must have added an object
+ One object is missing, something must have deleted it.
+
+So based on those 3 items we know that we need to delete an object from our local list, and fetch the contents for the new item, and the updated one.
+
+To fetch the data for these, you can simply issue GET requests:
+
+GET /calendars/johndoe/home/132456762153245.ics HTTP/1.1
+
+But, because in a worst-case scenario this could result in a LOT of GET requests we can do a 'multiget'.
+
+REPORT /calendars/johndoe/home/ HTTP/1.1
+Depth: 1
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<c:calendar-multiget xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <d:getetag />
+ <c:calendar-data />
+ </d:prop>
+ <d:href>/calendars/johndoe/home/132456762153245.ics</d:href>
+ <d:href>/calendars/johndoe/home/fancy-caldav-client-1234253678.ics</d:href>
+</c:calendar-multiget>
+
+This request will simply return a multi-status again with the calendar-data and etag.
+A small note about application design
+
+If you read this far and understood what's been said, you may have realized that it's a bit cumbersome to have a separate step for the initial sync, and subsequent updates.
+
+It would totally be possible to skip the 'initial sync', and just use calendar-query and calendar-multiget REPORTS for the initial sync as well.
+Updating a calendar object
+
+Updating a calendar object is rather simple:
+
+PUT /calendars/johndoe/home/132456762153245.ics HTTP/1.1
+Content-Type: text/calendar; charset=utf-8
+If-Match: "2134-314"
+
+BEGIN:VCALENDAR
+....
+END:VCALENDAR
+
+A response to this will be something like this:
+
+HTTP/1.1 204 No Content
+ETag: "2134-315"
+
+The update gave us back the new ETag. SabreDAV gives this ETag on updates back most of the time, but not always.
+
+There are cases where the caldav server must modify the iCalendar object right after storage. In those cases an ETag will not be returned, and you should issue a GET request immediately to get the correct object.
+
+A few notes:
+
+ You must not change the UID of the original object
+ Every object should hold only 1 event or task.
+ You cannot change an VEVENT into a VTODO.
+
+Creating a calendar object
+
+Creating a calendar object is almost identical, except that you don't have a url yet to a calendar object.
+
+Instead, it is up to you to determine the new url.
+
+PUT /calendars/johndoe/home/somerandomstring.ics HTTP/1.1
+Content-Type: text/calendar; charset=utf-8
+
+BEGIN:VCALENDAR
+....
+END:VCALENDAR
+
+A response to this will be something like this:
+
+HTTP/1.1 201 Created
+ETag: "21345-324"
+
+Similar to updating, an ETag is often returned, but there are cases where this is not true.
+Deleting a calendar object
+
+Deleting is simple enough:
+
+DELETE /calendars/johndoe/home/132456762153245.ics HTTP/1.1
+If-Match: "2134-314"
+
+Speeding up Sync with WebDAV-Sync
+
+WebDAV-Sync is a protocol extension that is defined in rfc6578. Because this extension was defined later, some servers may not support this yet.
+
+SabreDAV supports this since 2.0.
+
+WebDAV-Sync allows a client to ask just for calendars that have changed. The process on a high-level is as follows:
+
+ Client requests sync-token from server.
+ Server reports token 15.
+ Some time passes.
+ Client does a Sync REPORT on an calendar, and supplied token 15.
+ Server returns vcard urls that have changed or have been deleted and returns token 17.
+
+As you can see, after the initial sync, only items that have been created, modified or deleted will ever be sent.
+
+This has a lot of advantages. The transmitted xml bodies can generally be a lot shorter, and is also easier on both client and server in terms of memory and CPU usage, because only a limited set of items will have to be compared.
+
+It's important to note, that a client should only do Sync operations, if the server reports that it has support for it. The quickest way to do so, is to request {DAV}sync-token on the calendar you wish to sync.
+
+Technically, a server may support 'sync' on one calendar, and it may not support it on another, although this is probably rare.
+Getting the first sync-token
+
+Initially, we just request a sync token when asking for calendar information:
+
+PROPFIND /calendars/johndoe/home/ HTTP/1.1
+Depth: 0
+Content-Type: application/xml; charset=utf-8
+
+<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:prop>
+ <d:displayname />
+ <cs:getctag />
+ <d:sync-token />
+ </d:prop>
+</d:propfind>
+
+This would return something as follows:
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/calendars/johndoe/home/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:displayname>My calendar</d:displayname>
+ <cs:getctag>3145</cs:getctag>
+ <d:sync-token>http://sabredav.org/ns/sync-token/3145</d:sync-token>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+As you can see, the sync-token is a url. It always should be a url. Even though a number appears in the url, you are not allowed to attach any meaning to that url. Some servers may have use an increasing number, another server may use a completely random string.
+Receiving changes
+
+After a sync token has been obtained, and the client already has the initial copy of the calendar, the client is able to request all changes since the token was issued.
+
+This is done with a REPORT request that may look like this:
+
+REPORT /calendars/johndoe/home/ HTTP/1.1
+Host: dav.example.org
+Content-Type: application/xml; charset="utf-8"
+
+<?xml version="1.0" encoding="utf-8" ?>
+<d:sync-collection xmlns:d="DAV:">
+ <d:sync-token>http://sabredav.org/ns/sync/3145</d:sync-token>
+ <d:sync-level>1</d:sync-level>
+ <d:prop>
+ <d:getetag/>
+ </d:prop>
+</d:sync-collection>
+
+This requests all the changes since sync-token identified by http://sabredav.org/ns/sync/3145, and for the calendar objects that have been added or modified, we're requesting the etag.
+
+The response to a query like this is another multistatus xml body. Example:
+
+HTTP/1.1 207 Multi-Status
+Content-Type: application/xml; charset="utf-8"
+
+<?xml version="1.0" encoding="utf-8" ?>
+<d:multistatus xmlns:d="DAV:">
+ <d:response>
+ <d:href>/calendars/johndoe/home/newevent.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"33441-34321"</d:getetag>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/home/updatedevent.ics</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:getetag>"33541-34696"</d:getetag>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/home/deletedevent.ics</d:href>
+ <d:status>HTTP/1.1 404 Not Found</d:status>
+ </d:response>
+ <d:sync-token>http://sabredav.org/ns/sync/5001</d:sync-token>
+ </d:multistatus>
+
+The last response reported two changes: newevent.ics and updatedevent.ics. There's no way to tell from the response wether those cards got created or updated, you, as a client can only infer this based on the vcards you are already aware of.
+
+The entry with name deletedevent.ics got deleted as indicated by the 404 status. Note that the status element is here a child of d:response when in all previous examples it has been a child of d:propstat.
+
+The other difference with the other multi-status examples, is that this one has a sync-token element with the latest sync-token.
+Caveats
+
+Note that a server is free to 'forget' any sync-tokens that have been previously issued. In this case it may be needed to do a full-sync again.
+
+In case the supplied sync-token is not recognized by the server, a HTTP error is emitted. SabreDAV emits a 403.
+Discovery
+
+Ideally you will want to make sure that all the calendars in an account are automatically discovered. The best user interface would be to just have to ask for three items:
+
+ Username
+ Password
+ Server
+
+And the server should be as short as possible. This is possible with most servers.
+
+If, for example a user specified 'dav.example.org' for the server, the first thing you should do is attempt to send a PROPFIND request to https://dav.example.org/. Note that you SHOULD try the https url before the http url.
+
+This PROPFIND request looks as follows:
+
+PROPFIND / HTTP/1.1
+Depth: 0
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<d:propfind xmlns:d="DAV:">
+ <d:prop>
+ <d:current-user-principal />
+ </d:prop>
+</d:propfind>
+
+This will return a response such as the following:
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
+ <d:response>
+ <d:href>/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:current-user-principal>
+ <d:href>/principals/users/johndoe/</d:href>
+ </d:current-user-principal>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+A 'principal' is a user. The url that's being returned, is a url that refers to the current user. On this url you can request additional information about the user.
+
+What we need from this url, is their 'calendar home'. The calendar home is a collection that contains all of the users' calendars.
+
+To request that, issue the following request:
+
+PROPFIND /principals/users/johndoe/ HTTP/1.1
+Depth: 0
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <c:calendar-home-set />
+ </d:prop>
+</d:propfind>
+
+This will return a response such as the following:
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:response>
+ <d:href>/principals/users/johndoe/</d:href>
+ <d:propstat>
+ <d:prop>
+ <c:calendar-home-set>
+ <d:href>/calendars/johndoe/</d:href>
+ </c:calendar-home-set>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+
+Lastly, to list all the calendars for the user, issue a PROPFIND request with Depth: 1.
+
+PROPFIND /calendars/johndoe/ HTTP/1.1
+Depth: 1
+Prefer: return-minimal
+Content-Type: application/xml; charset=utf-8
+
+<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:prop>
+ <d:resourcetype />
+ <d:displayname />
+ <cs:getctag />
+ <c:supported-calendar-component-set />
+ </d:prop>
+</d:propfind>
+
+In that last request, we asked for 4 properties.
+
+The resourcetype tells us what type of object we're getting back. You must read out the resourcetype and ensure that it contains at least a calendar element in the CalDAV namespace. Other items may be returned, including non- calendar, which your application should ignore.
+
+The displayname is a human-readable string for the calendarname, the ctag was already covered in an earlier section.
+
+Lastly, supported-calendar-component-set. This gives us a list of components that the calendar accepts. This could be just VTODO, VEVENT, VJOURNAL or a combination of these three.
+
+If you are just creating a todo-list application, this means you should only list the calendars that support the VTODO component.
+
+HTTP/1.1 207 Multi-status
+Content-Type: application/xml; charset=utf-8
+
+<d:multistatus xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/" xmlns:c="urn:ietf:params:xml:ns:caldav">
+ <d:response>
+ <d:href>/calendars/johndoe/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:resourcetype>
+ <d:collection/>
+ </d:resourcetype>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/home/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:resourcetype>
+ <d:collection/>
+ <c:calendar/>
+ </d:resourcetype>
+ <d:displayname>Home calendar</d:displayname>
+ <cs:getctag>3145</cs:getctag>
+ <c:supported-calendar-component-set>
+ <c:comp name="VEVENT" />
+ </c:supported-calendar-component-set>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+ <d:response>
+ <d:href>/calendars/johndoe/tasks/</d:href>
+ <d:propstat>
+ <d:prop>
+ <d:resourcetype>
+ <d:collection/>
+ <c:calendar/>
+ </d:resourcetype>
+ <d:displayname>My TODO list</d:displayname>
+ <cs:getctag>3345</cs:getctag>
+ <c:supported-calendar-component-set>
+ <c:comp name="VTODO" />
+ </c:supported-calendar-component-set>
+ </d:prop>
+ <d:status>HTTP/1.1 200 OK</d:status>
+ </d:propstat>
+ </d:response>
+</d:multistatus>
+*/
diff --git a/Zotlabs/Storage/GitRepo.php b/Zotlabs/Storage/GitRepo.php
index 2a24e03c0..306abc0ba 100644
--- a/Zotlabs/Storage/GitRepo.php
+++ b/Zotlabs/Storage/GitRepo.php
@@ -75,6 +75,15 @@ class GitRepo {
}
}
}
+
+ public function initRepo() {
+ if(!$this->path) return false;
+ try {
+ return $this->git->init($this->path);
+ } catch (\PHPGit\Exception\GitException $ex) {
+ return false;
+ }
+ }
public function pull() {
try {
@@ -118,6 +127,15 @@ class GitRepo {
$repo['logs'] = $git->log(array('limit' => 50));
return $repo;
}
+
+ // Commit changes to the repo. Default is to stage all changes and commit everything.
+ public function commit($msg, $options = array()) {
+ try {
+ return $this->git->commit($msg, $options);
+ } catch (\PHPGit\Exception\GitException $ex) {
+ return false;
+ }
+ }
public static function isValidGitRepoURL($url) {
if (validate_url($url) && strrpos(parse_url($url, PHP_URL_PATH), '.')) {
diff --git a/Zotlabs/Web/CheckJS.php b/Zotlabs/Web/CheckJS.php
index 5f9856a8c..109790fa5 100644
--- a/Zotlabs/Web/CheckJS.php
+++ b/Zotlabs/Web/CheckJS.php
@@ -21,6 +21,9 @@ class CheckJS {
$page = urlencode(\App::$query_string);
if($test) {
+ self::$jsdisabled = 1;
+ if(array_key_exists('jsdisabled',$_COOKIE))
+ self::$jsdisabled = $_COOKIE['jsdisabled'];
if(! array_key_exists('jsdisabled',$_COOKIE)) {
\App::$page['htmlhead'] .= "\r\n" . '<script>document.cookie="jsdisabled=0; path=/"; var jsMatch = /\&jsdisabled=0/; if (!jsMatch.exec(location.href)) { location.href = "' . z_root() . '/nojs/0?f=&redir=' . $page . '" ; }</script>' . "\r\n";
diff --git a/Zotlabs/Web/Controller.php b/Zotlabs/Web/Controller.php
index ac835e008..2d0f58891 100644
--- a/Zotlabs/Web/Controller.php
+++ b/Zotlabs/Web/Controller.php
@@ -9,4 +9,5 @@ class Controller {
function post() {}
function get() {}
-} \ No newline at end of file
+}
+
diff --git a/app/wiki.apd b/app/wiki.apd
new file mode 100644
index 000000000..95245055c
--- /dev/null
+++ b/app/wiki.apd
@@ -0,0 +1,4 @@
+url: $baseurl/wiki/$nick
+requires: local_channel
+name: Wiki
+photo: $baseurl/app/wiki.png
diff --git a/app/wiki.png b/app/wiki.png
new file mode 100644
index 000000000..31d981679
--- /dev/null
+++ b/app/wiki.png
Binary files differ
diff --git a/boot.php b/boot.php
index a31d98dbb..215f25ad2 100755
--- a/boot.php
+++ b/boot.php
@@ -34,7 +34,6 @@ require_once('include/text.php');
require_once('include/datetime.php');
require_once('include/language.php');
require_once('include/nav.php');
-require_once('include/cache.php');
require_once('include/permissions.php');
require_once('library/Mobile_Detect/Mobile_Detect.php');
require_once('include/features.php');
@@ -45,10 +44,10 @@ require_once('include/account.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '1.7.3' );
-define ( 'ZOT_REVISION', 1.1 );
+define ( 'STD_VERSION', '1.9' );
+define ( 'ZOT_REVISION', '1.1' );
-define ( 'DB_UPDATE_VERSION', 1176 );
+define ( 'DB_UPDATE_VERSION', 1179 );
/**
@@ -514,6 +513,7 @@ define ( 'ACTIVITY_OBJ_ALBUM', NAMESPACE_ACTIVITY_SCHEMA . 'photo-album' );
define ( 'ACTIVITY_OBJ_EVENT', NAMESPACE_ACTIVITY_SCHEMA . 'event' );
define ( 'ACTIVITY_OBJ_GROUP', NAMESPACE_ACTIVITY_SCHEMA . 'group' );
define ( 'ACTIVITY_OBJ_GAME', NAMESPACE_ACTIVITY_SCHEMA . 'game' );
+define ( 'ACTIVITY_OBJ_WIKI', NAMESPACE_ACTIVITY_SCHEMA . 'wiki' );
define ( 'ACTIVITY_OBJ_TAGTERM', NAMESPACE_ZOT . '/activity/tagterm' );
define ( 'ACTIVITY_OBJ_PROFILE', NAMESPACE_ZOT . '/activity/profile' );
define ( 'ACTIVITY_OBJ_THING', NAMESPACE_ZOT . '/activity/thing' );
@@ -770,6 +770,7 @@ class App {
public static $groups;
public static $language;
public static $langsave;
+ public static $rtl = false;
public static $plugins_admin;
public static $module_loaded = false;
public static $query_string;
@@ -2281,6 +2282,12 @@ function construct_page(&$a) {
$page = App::$page;
$profile = App::$profile;
+ // There's some experimental support for right-to-left text in the view/php/default.php page template.
+ // In v1.9 we started providing direction preference in the per language hstrings.php file
+ // This requires somebody with fluency in a RTL language to make happen
+
+ $page['direction'] = 0; // ((App::$rtl) ? 1 : 0);
+
header("Content-type: text/html; charset=utf-8");
// security headers - see https://securityheaders.io
diff --git a/doc/admins.bb b/doc/admins.bb
index 484212024..6c78ce999 100644
--- a/doc/admins.bb
+++ b/doc/admins.bb
@@ -1,15 +1,15 @@
[h2]Documentation for Hub Administrators[/h2]
-
-[h3]Administrators[/h3]
-
+[h3]Deploying your hub[/h3]
[zrl=[baseurl]/help/install]Install[/zrl]
[zrl=[baseurl]/help/red2pi]Installing $Projectname on the Raspberry Pi[/zrl]
[zrl=[baseurl]/help/Hubzilla_on_OpenShift]$Projectname on OpenShift[/zrl]
+[h3]Taking care of your hub[/h3]
[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
+[zrl=[baseurl]/help/theme_management]Theme Management[/zrl]
[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
-[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
[zrl=[baseurl]/help/directories]Working with and configuring Directories[/zrl]
-[zrl=[baseurl]/help/theme_management]Theme Management[/zrl]
-
+[h3]Frequently asked questions[/h3]
+[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
+#include doc/macros/main_footer.bb;
diff --git a/doc/bbcode.html b/doc/bbcode.html
index 5a51135ea..7a2c969eb 100644
--- a/doc/bbcode.html
+++ b/doc/bbcode.html
@@ -14,6 +14,7 @@
<li>[img float=right]https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg" style="float:right;" alt="Image/photo" /><br />
<div style="clear:both;"></div>
<li>[code]code[/code] <code>code</code><br />
+<li>[code=xxx]syntax highlighted code[/code] <code>supported languages php, css, mysql, sql, abap, diff, html, perl, ruby, vbscript, avrc, dtd, java, xml, cpp, python, javascript, js, json, sh</code><br />
<li>[quote]quote[/quote] <blockquote>quote</blockquote><br />
<li>[quote=Author]Author? Me? No, no, no...[/quote] <br /><strong class="author">Author wrote:</strong><blockquote>Author? Me? No, no, no...</blockquote><br />
<li> [nobb] may be used to escape bbcode.</ul><br />
@@ -83,7 +84,7 @@ or<br /><br />[dl terms="b"]<br />[*= First element term] First element descript
<li>[spoiler] for hiding spoilers<br /><br /></li>
<li>[rpost=title]Text to post[/rpost] The observer will be returned to their home hub to enter a post with the specified title and body. Both are optional</li>
-<li>[qr]text to post[/qr] - create a QR code.</li>
+<li>[qr]text to post[/qr] - create a QR code (if the qrator plugin is installed).</li>
<li>[toc] - create a table of content in a webpage. Please refer to the <a href="http://ndabas.github.io/toc/" target="_blank">original jquery toc</a> to get more explanations.
<ul>
<li>Optional param: 'data-toc'. If ommited the default is 'body'</li>
diff --git a/doc/channels.bb b/doc/channels.bb
index 4b47b61dc..14d588266 100644
--- a/doc/channels.bb
+++ b/doc/channels.bb
@@ -1,19 +1,23 @@
-[b]Channels[/b]
+[h2]Channels[/h2]
+
+[h3]What are channels?[/h3]
Channels are simply collections of content stored in one place. A channel can represent anything. It could represent you, a website, a forum, photo albums, anything. For most people, their first channel with be &quot;Me&quot;.
The most important features for a channel that represents &quot;me&quot; are:
+[ul]
+[*]Secure and private &quot;spam free&quot; communications
-Secure and private &quot;spam free&quot; communications
-
-Identity and &quot;single-signon&quot; across the entire network
+[*]Identity and &quot;single-signon&quot; across the entire network
-Privacy controls and permissions which extend to the entire network
-
-Directory services (like a phone book)
+[*]Privacy controls and permissions which extend to the entire network
+[*]Directory services (like a phone book)
+[/ul]
In short, a channel that represents yourself is &quot;me, on the internet&quot;.
+[h3]Creating channels[/h3]
+
You will be required to create your first channel as part of the sign up process. You can also create additonal channels from the &quot;Select channel&quot; link.
You will be asked to provide a channel name, and a short nick name. For a channel that represents yourself, it is a good idea to use your real name here to ensure your friends can find you, and connect to your channel. The short nickname will be used to generate a &quot;webbie&quot;. This is a bit like a username, and will look like an email address, taking the form nickname@domain. You should put a little thought into what you want to use here. Imagine somebody asking for your webbie and having to tell them it is &quot;llamas-are_kewl.123&quot;. &quot;llamasarecool&quot; would be a much better choice.
@@ -22,9 +26,14 @@ Once you have created your channel, you will be taken to the settings page, wher
Once you have done this, your channel is ready to use. At [observer=1][observer.url][/observer][observer=0]example.com/channel/username[/observer] you will find your channel &quot;stream&quot;. This is where your recent activity will appear, in reverse chronological order. If you post in the box marked &quot;share&quot;, the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The &quot;About&quot; tab contains your &quot;profile&quot;, the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.
+[h3]The grid, permissions and delegation[/h3]
+
The &quot;Grid&quot; page contains all recent posts from across the $Projectname network, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.
-As mentioned at the start, many other kinds of channel are possible, however, the creation procedure is the same. The difference between channels lies primarily in the permissions assigned. For example, a channel for sharing documents with colleagues at work would probably want more permissive settings for &quot;Can write to my &quot;public&quot; file storage&quot; than a personal account. For more information, see the permissions section.
+As mentioned at the start, many other kinds of channel are possible, however, the creation procedure is the same. The difference between channels lies primarily in the permissions assigned. For example, a channel for sharing documents with colleagues at work would probably want more permissive settings for &quot;Can write to my &quot;public&quot; file storage&quot; than a personal account. For more information, see the [zrl=[baseurl]/help/roles]permissions section[/zrl].
+
+You can also delegate control of your channels' posts and connections, but not its configurations, to another channel. That is done by editing a connection and assigning it the permission to administer your channel's resources.
#include doc/macros/main_footer.bb;
+
diff --git a/doc/context/de/wiki/help.html b/doc/context/de/wiki/help.html
new file mode 100644
index 000000000..e203ee221
--- /dev/null
+++ b/doc/context/de/wiki/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>Allgemein</dt>
+ <dd>Jedes Wiki ist eine Sammlung aus mit Markdown formatierten Seiten.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Click to highlight element...">Wiki Liste</a></dt>
+ <dd>Wikis die dem eigenen Kanal gehören und <i>mit der Berechtigung zum Anschauen</i>, sind in der Seitenleiste gelistet.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element...">Seiten Versionen</a></dt>
+ <dd>Jede Änderung einer Seite wird gespeichert, um eine schnelle Berichtigung zu ermöglichen. Klick auf das <b>Versionsgeschichte</b> Tab um den Verlauf der Seitenbearbeitung zu sehen, einschließlich Datum und Autor. Der Zurück-Knopf lädt die ausgewählte Änderung, aber ohne die Seite automatisch zu spreichern.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Click to highlight element...">Seiten</a></dt>
+ <dd>Die Seiten des Wikis werden in <b>Wiki Seiten</b> gelistet. Vor dem Speichern einer Seite über das <b>Seiten</b> Dropdown Menu, hast Du die Möglichkeit eine <a href="#" onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Click to highlight element...">Zusammenfassung der Änderungen</a> einzutragen. Dieser Text wird anschließend unter <a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element..."><b>Seiten Versionen</b></a> in der Versionsgeschichte angezeigt.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/en/wiki/help.html b/doc/context/en/wiki/help.html
new file mode 100644
index 000000000..314a9d60b
--- /dev/null
+++ b/doc/context/en/wiki/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>Each wiki is a collection of pages, composed as Markdown-formatted text files.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Click to highlight element...">Wiki List</a></dt>
+ <dd>Wikis owned by the channel <i>that you have permission to view</i> are listed in the side panel.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element...">Page History</a></dt>
+ <dd>Every revision of a page is saved to allow quick reversion. Click the <b>History</b> tab to view a history of page revisions, including the date and author of each. The revert button will load the selected revision but will not automatically save the page.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Click to highlight element...">Pages</a></dt>
+ <dd>The list of pages in the wiki are listed in the <b>Wiki Pages</b> panel. Prior to saving page edits using the <b>Page</b> control dropdown menu, you may <a href='#' onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Click to highlight element...">enter a custom message</a> to be displayed in the <a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element..."><b>Page History</b></a> viewer along with the revision.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/es b/doc/context/es
new file mode 120000
index 000000000..c8ba7666b
--- /dev/null
+++ b/doc/context/es
@@ -0,0 +1 @@
+es-es \ No newline at end of file
diff --git a/doc/context/es-es b/doc/context/es-es
deleted file mode 120000
index 6c4381495..000000000
--- a/doc/context/es-es
+++ /dev/null
@@ -1 +0,0 @@
-es \ No newline at end of file
diff --git a/doc/context/es/admin/logs/help.html b/doc/context/es-es/admin/logs/help.html
index 3a2ec413d..3a2ec413d 100644
--- a/doc/context/es/admin/logs/help.html
+++ b/doc/context/es-es/admin/logs/help.html
diff --git a/doc/context/es/admin/queue/help.html b/doc/context/es-es/admin/queue/help.html
index de9e6cdbb..de9e6cdbb 100644
--- a/doc/context/es/admin/queue/help.html
+++ b/doc/context/es-es/admin/queue/help.html
diff --git a/doc/context/es/admin/security/help.html b/doc/context/es-es/admin/security/help.html
index 229a91561..229a91561 100644
--- a/doc/context/es/admin/security/help.html
+++ b/doc/context/es-es/admin/security/help.html
diff --git a/doc/context/es/channel/help.html b/doc/context/es-es/channel/help.html
index 682125e27..682125e27 100644
--- a/doc/context/es/channel/help.html
+++ b/doc/context/es-es/channel/help.html
diff --git a/doc/context/es/chat/help.html b/doc/context/es-es/chat/help.html
index 94df6a1d2..94df6a1d2 100644
--- a/doc/context/es/chat/help.html
+++ b/doc/context/es-es/chat/help.html
diff --git a/doc/context/es/cloud/help.html b/doc/context/es-es/cloud/help.html
index 824fa5a94..824fa5a94 100644
--- a/doc/context/es/cloud/help.html
+++ b/doc/context/es-es/cloud/help.html
diff --git a/doc/context/es/connections/help.html b/doc/context/es-es/connections/help.html
index a0aa9cf32..a0aa9cf32 100644
--- a/doc/context/es/connections/help.html
+++ b/doc/context/es-es/connections/help.html
diff --git a/doc/context/es/connections/ifpending/help.html b/doc/context/es-es/connections/ifpending/help.html
index 84e547851..84e547851 100644
--- a/doc/context/es/connections/ifpending/help.html
+++ b/doc/context/es-es/connections/ifpending/help.html
diff --git a/doc/context/es/events/help.html b/doc/context/es-es/events/help.html
index b0ac1f9ea..b0ac1f9ea 100644
--- a/doc/context/es/events/help.html
+++ b/doc/context/es-es/events/help.html
diff --git a/doc/context/es/mail/help.html b/doc/context/es-es/mail/help.html
index 794af38a9..794af38a9 100644
--- a/doc/context/es/mail/help.html
+++ b/doc/context/es-es/mail/help.html
diff --git a/doc/context/es/network/help.html b/doc/context/es-es/network/help.html
index 082f52a49..082f52a49 100644
--- a/doc/context/es/network/help.html
+++ b/doc/context/es-es/network/help.html
diff --git a/doc/context/es/photos/help.html b/doc/context/es-es/photos/help.html
index 6623456eb..6623456eb 100644
--- a/doc/context/es/photos/help.html
+++ b/doc/context/es-es/photos/help.html
diff --git a/doc/context/es/profile/help.html b/doc/context/es-es/profile/help.html
index 28ff22499..28ff22499 100644
--- a/doc/context/es/profile/help.html
+++ b/doc/context/es-es/profile/help.html
diff --git a/doc/context/es-es/wiki/help.html b/doc/context/es-es/wiki/help.html
new file mode 100644
index 000000000..fdae1f095
--- /dev/null
+++ b/doc/context/es-es/wiki/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>Cada wiki es una colección de páginas, compuestas como ficheros de texto formateados en Markdown.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Pulsar para resaltar el elemento...">Lista de wikis</a></dt>
+ <dd>Las páginas wiki propiedad del canal <i>que esté autorizado a ver</i> aparecen en el panel lateral.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Pulsar para resaltar el elemento...">Historial de la página</a></dt>
+ <dd>Cada revisión de una página se salva para permitir su rápida recuperación. Pulsar en la pestaña <b>Historial</b> para ver las revisiones de la página, incluyendo la fecha y el autor de cada una. El botón de reversión cargará la revisión seleccionada, pero no salvará automáticamente la página.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Pulsar para resaltar el elemento...">Páginas</a></dt>
+ <dd>La lista de páginas en el wiki aparece en el panel <b>Páginas del wiki</b>. Antes de salvar las páginas editadas usando el control <b>Página</b> en el menú desplegable, puede <a href='#' onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Pulsar para resaltar el elemento...">escribir un mensaje personalizado</a> que se verá en el visor <a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Pulsar para resaltar el elemento..."><b>Historial de la página</b></a> junto con la revisión.</dd>
+</dl>
diff --git a/doc/context/it/wiki/help.html b/doc/context/it/wiki/help.html
new file mode 100644
index 000000000..e93e18eb4
--- /dev/null
+++ b/doc/context/it/wiki/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>Ogni wiki è una raccolta di pagine, composta di file di testo formattati con Markdown.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Fai click per evidenziare l'elemento...">Elenco dei Wiki</a></dt>
+ <dd>I Wiki del canale <i>che sei abilitato a vedere</i> sono elencati nel pannello laterale.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Fai click per evidenziare l'elemento...">Cronologia della pagina</a></dt>
+ <dd>Le revisioni di ogni pagina vengono salvate per rendere possibile un ripristino veloce. Fai click sulla tab <b>Cronologia</b> per vedere l'elenco delle revisioni, con autore e data delle stesse. Il bottone di ripristino riporterà alla revisione selezionata, senza salvare automaticamente la pagina.</dd>
+ <dt><a href="#" onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Fai click per evidenziare l'elemento...">Pagine</a></dt>
+ <dd>L'elenco delle pagine del wiki si trova nel pannello <b>Pagine del wiki</b>. Prima di salvare le modifiche con il menu a discela <b>Pagina</b>, puoi <a href="#" onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Fai click per evidenziare l'elemento...">inserire un messaggio</a> che verrà visualizzato nella visualizzazione della <a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Fai click per evidenziare l'elemento..."><b>storia della pagina</b></a> insieme alla revisione.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/database.bb b/doc/database.bb
index d327adbdc..02a70e2c7 100644
--- a/doc/database.bb
+++ b/doc/database.bb
@@ -1,6 +1,7 @@
[h2]Database Tables[/h2]
[table]
[tr][th]Table[/th][th]Description[/th][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_abconfig]abconfig[/zrl][/td][td]arbitrary storage for connections of local channels[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
@@ -8,6 +9,7 @@
[tr][td][zrl=[baseurl]/help/database/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_cal]cal[/zrl][/td][td]CalDAV containers for events[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
@@ -16,17 +18,14 @@
[tr][td][zrl=[baseurl]/help/database/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_event]event[/zrl][/td][td]Events[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_hubloc]hubloc[/zrl][/td][td]xchan location storage, ties a hub location to an xchan[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_iconfig]iconfig[/zrl][/td][td]extensible arbitrary storage for items[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td](deprecated by iconfig) other identifiers on other services for posts[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
@@ -48,7 +47,6 @@
[tr][td][zrl=[baseurl]/help/database/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/database/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
@@ -60,6 +58,7 @@
[tr][td][zrl=[baseurl]/help/database/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xperm]xperm[/zrl][/td][td]OAuth/OpenID-Connect extensible permissions permissions storage[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
[tr][td][zrl=[baseurl]/help/database/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
[/table]
diff --git a/doc/database/db_abook.bb b/doc/database/db_abook.bb
index 364429884..a346480d7 100644
--- a/doc/database/db_abook.bb
+++ b/doc/database/db_abook.bb
@@ -15,10 +15,6 @@
[/td][/tr]
[tr][td]abook_closeness[/td][td]"closeness" value for optional affinity tool, 0-99[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]99[/td][td]
[/td][/tr]
-[tr][td]abook_rating[/td][td]The channel owner's (public) rating of this connection -10 to +10, default 0 or unrated[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
-[/td][/tr]
-[tr][td]abook_rating_text[/td][td]The channel owner's (public) rating of this connection free form text[/td][td]text[/td][td]NO[/td][td]MUL[/td][td][/td][td]
-[/td][/tr]
[tr][td]abook_created[/td][td]Datetime this record was created[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
[tr][td]abook_updated[/td][td]Datetime this record was modified[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
@@ -32,16 +28,27 @@
[tr][td]abook_profile[/td][td]profile.guid of profile to display to this connection if authenticated[/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
[tr][td]abook_blocked[/td][td]Bi-directional communications with this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_ignored[/td][td]Incoming communications from this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_hidden[/td][td]This connection will not be shown as a connection to anybody but the channel owner[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_archived[/td][td]This connection is likely non-functioning and the entry and conversations are preserved, but further polled communications will not be attempted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_pending[/td][td]A connection request was received from this channel but has not been approved by the channel owner, public communications may still be visible but no additional permissions have been granted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_unconnected[/td][td]currently unused. Projected usage is to indicate "one-way" connections which were insitgated on this end but are still pending on the remote end. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_self[/td][td]is a special case where the owner is the target. Every channel has one abook entry with abook_self and with a target abook_xchan set to channel.channel_hash . When this flag is present, abook_my_perms is the default permissions granted to all new connections and several other fields are unused.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_feed[/td][td]indicates this connection is an RSS/Atom feed and may trigger special handling.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_incl[/td][td]connection filter allow rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_excl[/td][td]connection filter deny rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]abook_instance[/td][td]comma separated list of site urls of all channel clones that this connection is connected with (used only for singleton networks which don't support cloning)[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[/table]
diff --git a/doc/database/db_addon.bb b/doc/database/db_addon.bb
index afa06d56c..bccd295f5 100644
--- a/doc/database/db_addon.bb
+++ b/doc/database/db_addon.bb
@@ -3,7 +3,7 @@
[/th][/tr]
[tr][td]id[/td][td][/td]generated index[td]int(11)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]name[/td][td]plugin base (file)name[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]aname[/td][td]plugin base (file)name[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]version[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -11,7 +11,7 @@
[/td][/tr]
[tr][td]hidden[/td][td]currently unused[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]timestamp[/td][td]file timestamp to check for reloads[/td][td]bigint(20)[/td][td]NO[/td][td][/td][td]0[/td][td]
+[tr][td]tstamp[/td][td]file timestamp to check for reloads[/td][td]bigint(20)[/td][td]NO[/td][td][/td][td]0[/td][td]
[/td][/tr]
[tr][td]plugin_admin[/td][td]1 = has admin config, 0 = has no admin config[/td][td]tinyint(1)[/td][td]NO[/td][td][/td][td]0[/td][td]
[/td][/tr]
diff --git a/doc/database/db_app.bb b/doc/database/db_app.bb
index 7076bffdd..09df473ee 100644
--- a/doc/database/db_app.bb
+++ b/doc/database/db_app.bb
@@ -27,8 +27,20 @@
[/td][/tr]
[tr][td]app_page[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]app_requires[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]app_requires[/td][td]access rules[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
+
+[tr][td]app_created[/td][td]datetime of app creation[/td][td]datetime[/td][td]NO[/td][td][/td][td][/td][td]
+[/td][/tr]
+[tr][td]app_edited[/td][td]datetime of last app edit[/td][td]datetime[/td][td]NO[/td][td][/td][td][/td][td]
+[/td][/tr]
+
+[tr][td]app_deleted[/td][td]1 = deleted, 0 = normal[/td][td]int(11)[/td][td]NO[/td][td][/td][td][/td][td]
+[/td][/tr]
+[tr][td]app_system[/td][td]1 = imported system app, 0 = member created app[/td][td]int(11)[/td][td]NO[/td][td][/td][td][/td][td]
+[/td][/tr]
+
+
[/table]
Storage for personal apps
diff --git a/doc/database/db_attach.bb b/doc/database/db_attach.bb
index 7d2befb47..5098401de 100644
--- a/doc/database/db_attach.bb
+++ b/doc/database/db_attach.bb
@@ -29,9 +29,11 @@
[/td][/tr]
[tr][td]os_storage[/td][td]if 0, data contains content; if 1 data contains path to content (always 1 in hubzilla)[/td][td]tinyint[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
+[tr][td]os_path[/td][td]under construction, store the system path[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
[tr][td]display_path[/td][td]under construction, store the human readable path[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]data[/td][td]file data or pathname to stored data if ATTACH_FLAG_OS[/td][td]longblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]content[/td][td]file data or pathname to stored data if ATTACH_FLAG_OS[/td][td]longblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]created[/td][td]creation time[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
diff --git a/doc/database/db_channel.bb b/doc/database/db_channel.bb
index 6f53517d8..518ff0978 100644
--- a/doc/database/db_channel.bb
+++ b/doc/database/db_channel.bb
@@ -35,6 +35,8 @@
[/td][/tr]
[tr][td]channel_dirdate[/td][td]time when directory was last pinged. Must do this once a month[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
+[tr][td]channel_lastpost[/td][td]date of last post for this channel. May not be fully implemented[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[/td][/tr]
[tr][td]channel_deleted[/td][td]time when channel was deleted[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
[tr][td]channel_max_anon_mail[/td][td]unused[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
@@ -95,6 +97,8 @@
[/td][/tr]
[tr][td]channel_system[/td][td]if 1, this is the special system channel on this site[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
+[tr][td]channel_moved[/td][td]URL of relocated channel, making this instance abandoned if set[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[/td][/tr]
[/table]
Return to [zrl=[baseurl]/help/database]database documentation[/zrl]
diff --git a/doc/database/db_chatpresence.bb b/doc/database/db_chatpresence.bb
index 28cd6f207..0a7f666c9 100644
--- a/doc/database/db_chatpresence.bb
+++ b/doc/database/db_chatpresence.bb
@@ -11,7 +11,7 @@
[/td][/tr]
[tr][td]cp_status[/td][td]text status description e.g. "online"[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]cp_client[/td][td][/td]IP address of this client[td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]cp_client[/td][td]IP address of this client[/td][td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_clients.bb b/doc/database/db_clients.bb
index d342b529f..0c66a4fc2 100644
--- a/doc/database/db_clients.bb
+++ b/doc/database/db_clients.bb
@@ -7,7 +7,7 @@
[/td][/tr]
[tr][td]redirect_uri[/td][td][/td][td]varchar(200)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]name[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
+[tr][td]clname[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]icon[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
diff --git a/doc/database/db_event.bb b/doc/database/db_event.bb
index 7c31d7fde..ad3c15789 100644
--- a/doc/database/db_event.bb
+++ b/doc/database/db_event.bb
@@ -15,9 +15,9 @@
[/td][/tr]
[tr][td]edited[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]start[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]dtstart[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]finish[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]dtend[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]summary[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -25,13 +25,13 @@
[/td][/tr]
[tr][td]location[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]type[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]etype[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]nofinish[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[tr][td]adjust[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]1[/td][td]
[/td][/tr]
-[tr][td]ignore[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]dismissed[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[tr][td]allow_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -41,6 +41,24 @@
[/td][/tr]
[tr][td]deny_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
+
+[tr][td]event_status[/td][td][/td][td]charr(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_status_date[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_percent[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_repeat[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_sequence[/td][td][/td][td]smallint[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_priority[/td][td][/td][td]smallint[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]event_vdata[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+[tr][td]cal_id[/td][td][/td][td]int(10)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[/td][/tr]
+
[/table]
Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
diff --git a/doc/database/db_groups.bb b/doc/database/db_groups.bb
index 078d96464..73265b90e 100644
--- a/doc/database/db_groups.bb
+++ b/doc/database/db_groups.bb
@@ -11,7 +11,7 @@
[/td][/tr]
[tr][td]deleted[/td][td]1 indicates the group has been deleted[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]name[/td][td]human readable name of group[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]gname[/td][td]human readable name of group[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_hook.bb b/doc/database/db_hook.bb
index 0812b1b41..233062f98 100644
--- a/doc/database/db_hook.bb
+++ b/doc/database/db_hook.bb
@@ -7,9 +7,11 @@
[/td][/tr]
[tr][td]file[/td][td]relative filename of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]function[/td][td]function name of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]fn[/td][td]function name of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]priority[/td][td]not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
+[tr][td]priority[/td][td]can be used to sort conflicts in hook handling by calling handlers in priority order[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]hook_version[/td][td]version 0 hooks must have two arguments, the App and the hook data. version 1 hooks have 1 argument - the hook data[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_item.bb b/doc/database/db_item.bb
index e4e594196..6383e13f8 100644
--- a/doc/database/db_item.bb
+++ b/doc/database/db_item.bb
@@ -51,7 +51,7 @@
[/td][/tr]
[tr][td]obj_type[/td][td]ActivityStreams object type (old style URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]object[/td][td]JSON encoded object structure unless it is an implied object (normal post)[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]obj[/td][td]JSON encoded object structure unless it is an implied object (normal post)[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]tgt_type[/td][td]ActivityStreams target type if applicable (URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
diff --git a/doc/database/db_notify.bb b/doc/database/db_notify.bb
index 42f9350e5..4787266cd 100644
--- a/doc/database/db_notify.bb
+++ b/doc/database/db_notify.bb
@@ -5,7 +5,7 @@
[/td][/tr]
[tr][td]hash[/td][td][/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]name[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]xname[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]url[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -25,7 +25,7 @@
[/td][/tr]
[tr][td]seen[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]type[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]ntype[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]verb[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
diff --git a/doc/database/db_photo.bb b/doc/database/db_photo.bb
index 6a0cdf362..91840ec1e 100644
--- a/doc/database/db_photo.bb
+++ b/doc/database/db_photo.bb
@@ -23,15 +23,15 @@
[/td][/tr]
[tr][td]filename[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]type[/td][td][/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]image/jpeg[/td][td]
+[tr][td]mimetype[/td][td][/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]image/jpeg[/td][td]
[/td][/tr]
[tr][td]height[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]width[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]size[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]filesize[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]data[/td][td][/td][td]mediumblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]content[/td][td][/td][td]mediumblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]scale[/td][td][/td][td]tinyint(3)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
diff --git a/doc/database/db_profile.bb b/doc/database/db_profile.bb
index 83db75713..717fae585 100644
--- a/doc/database/db_profile.bb
+++ b/doc/database/db_profile.bb
@@ -15,7 +15,7 @@
[/td][/tr]
[tr][td]hide_friends[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]name[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]fullname[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]pdesc[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -41,7 +41,7 @@
[/td][/tr]
[tr][td]marital[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]with[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]partner[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]howlong[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
@@ -73,7 +73,7 @@
[/td][/tr]
[tr][td]romance[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]work[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]employment[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]education[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
diff --git a/doc/database/db_term.bb b/doc/database/db_term.bb
index e1f6415fa..bd155fe21 100644
--- a/doc/database/db_term.bb
+++ b/doc/database/db_term.bb
@@ -11,7 +11,7 @@
[/td][/tr]
[tr][td]otype[/td][td]type of linked thing[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]type[/td][td]taxonomy type (See Tag/term types in boot.php)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]ttype[/td][td]taxonomy type (See Tag/term types in boot.php)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[tr][td]term[/td][td]the actual taxonomy term[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
diff --git a/doc/external-resource-links.bb b/doc/external-resource-links.bb
index 412e84467..a679e9381 100644
--- a/doc/external-resource-links.bb
+++ b/doc/external-resource-links.bb
@@ -1,20 +1,21 @@
-[b]External Resource Links[/b]
-
-[b][color= grey][size=24]External Links[/size][/color][/b]
-[b]Third-Party Themes[/b]
-
+[h2]External resource links[/h2]
+[h3]Third-Party Themes[/h3]
+[ul]
[*][url=https://github.com/omigeot/redstrap3]Redstrap[/url]
[*][url=https://bitbucket.org/tobiasd/red-clean]Clean[/url]
[*][url=https://github.com/tonybaldwin/redmatrixthemes/]nubasic[/url]
[*][url=https://github.com/deadsuperhero/redmatrix-themes]Sean Tilley's themes[/url]
-
-[b]Third-Party Addons[/b]
+[/ul]
+[h3]Third-Party addons[/h3]
+[ul]
[*][url=https://abcentric.net/git/abcjsplugin.git]ABCjs integration - display scores in posts (WIP)[/url]
-[b]Related Projects[/b]
-
+[/ul]
+[h3]Related projects[/h3]
+[ul]
[*][url=https://addons.mozilla.org/en-US/firefox/addon/redshare/]Redshare for Firefox[/url]
[*][url=https://github.com/cvogeley/red-for-android]Red for Android[/url]
[*][url=https://github.com/zzottel/feed2red]feed2red.pl (posts Atom/RSS feeds to channel)[/url]
[*][url=https://wordpress.org/plugins/hubzilla-wp/]WordPress gateway (combine with wppost addon for full features)[/url]
+[/ul]
#include doc/macros/main_footer.bb;
diff --git a/doc/general.bb b/doc/general.bb
index c9c2501e5..bbc85c900 100644
--- a/doc/general.bb
+++ b/doc/general.bb
@@ -1,20 +1,16 @@
-
-[h2]Project/Site Information[/h2]
-
+[h2]Project and site information[/h2]
+[h3]$Projectname[/h3]
[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
-
[zrl=[baseurl]/help/history]$Projectname history[/zrl]
-
-[h3]External Resources[/h3]
-[zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl]
-
+[h3]External resources[/h3]
+[zrl=[baseurl]/help/external-resource-links]List of external resources[/zrl]
[url=https://github.com/redmatrix/hubzilla]Main Website[/url]
[url=https://github.com/redmatrix/hubzilla-addons]Addon Website[/url]
-
[url=[baseurl]/help/credits]$Projectname Credits[/url]
-
-[h3]About This $Projectname Hub[/h3]
+[h3]About this $Projectname hub[/h3]
[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl]
+#include doc/macros/main_footer.bb;
+
diff --git a/doc/html/index.php b/doc/html/index.php
deleted file mode 100644
index 2e1b4277c..000000000
--- a/doc/html/index.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>$Projectname Doxygen API Documentation</title>
-</head>
-<body>
-<h1>$Projectname Doxygen API Documentation not rendered</h1>
-
-To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
-<pre>
-$ doxygen util/Doxyfile
-</pre>
-<br>
-<a href="javascript:history.back()">back</a>
-</body>
-</html>
diff --git a/doc/members.bb b/doc/members.bb
index 13339ef2d..bf5b09898 100644
--- a/doc/members.bb
+++ b/doc/members.bb
@@ -1,6 +1,5 @@
-[h2]Documentation for Hub Members[/h2]
-
-[h3]Getting Started[/h3]
+[h2]Documentation for hub members[/h2]
+[h3]Getting started[/h3]
[zrl=[baseurl]/help/registration]Account Registration[/zrl]
[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at $Projectname: accounts, profiles and channels in short[/zrl]
[zrl=[baseurl]/help/profiles]Profiles[/zrl]
@@ -11,8 +10,7 @@
[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl]
[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl]
[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl]
-
-[h3]Members Help[/h3]
+[h3]Members help[/h3]
[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl]
[zrl=[baseurl]/help/webpages]Web Pages[/zrl]
[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl]
@@ -23,3 +21,5 @@
[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl]
[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl]
[zrl=[baseurl]/help/bugs]Bugs, Issues, and things that go bump in the night...[/zrl]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/roadmap.bb b/doc/roadmap.bb
index f57c76b74..9ef9f146a 100644
--- a/doc/roadmap.bb
+++ b/doc/roadmap.bb
@@ -8,18 +8,8 @@ Roadmap for $Projectname V3
Crypto
Convert E2EE to dynamic loading (on demand) using jQuery.getScript() [or other methods] to only load encryption libs when you require them. This should also support multiple encryption libraries (e.g. SJCL, others) triggered from the choice of algorithm and remain pluggable.
-Diaspora
- Convert core Diaspora federation code into a plugin. This presents a number of challenges since it touches and special cases a lot of core functionality. (HZ - in progress)
-
Subscriptions and business models
- Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box (in progress Habeas Codice)
-
-Merge all uploads into common DAV interface
- Separate photo albums from photos and turn them into file directories. (HZ - done)
- Upload everything direct to /store (HZ - done)
- If photo, generate thumbnails and image resources (HZ - done)
- Provide default upload folders with %y (and other?) macros for both photos and other file resources (HZ - done)
- Allow "media" (anything that we can generate a thumbnail for) in the Photos section (and show thumbnails in the Files section where possible) (HZ - done)
+ Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box
Resolve the "every photo has an item" confusion, perhaps every file should also - but only if we can explain it and separate them conceptually.
diff --git a/doc/roadmapv4.bb b/doc/roadmapv4.bb
index 33a3384c5..419cd8d4c 100644
--- a/doc/roadmapv4.bb
+++ b/doc/roadmapv4.bb
@@ -9,20 +9,20 @@ Goals/Highlights:
Focus on visual website design tools, widgets, and sharing mechanisms
-App organisation.
+[x] App organisation.
-Conversion of core application to a composer format living under the namespace "Zotlabs"
+[x] Conversion of core application to a composer format living under the namespace "Zotlabs"
-Conversion of Modules to a more general purpose Controllers layout with DB/memory based
+[x] Conversion of Modules to a more general purpose Controllers layout with DB/memory based
controller routing as opposed to filesystem routing.
-Conversion of core Zot Protocol to a class library
+[x] (partial) Conversion of core Zot Protocol to a class library
-Abstraction of nomadic identity so that sending/receiving to/from singleton networks to/from any clone works flawlessly - [b]provided[/b] the clone physically connected to that singleton identity is up.
+[x] Abstraction of nomadic identity so that sending/receiving to/from singleton networks to/from any clone works flawlessly - [b]provided[/b] the clone physically connected to that singleton identity is up.
[h3]Community Development[/h3]
-CalDAV/CardDAV
+[x] CalDAV/CardDAV
E-Commerce
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 577d0e66f..b1c4923b1 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -6,6 +6,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Include TOS link in registration/verification email[/li]
[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
[li]SAML 2.0 and OpenID Connect provider functionality[/li]
+[li]relmeauth (aka indieauth) support[/li]
[li]Create bug tracker module[/li]
[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/li]
[li]translation plugins - moses or apertium[/li]
@@ -17,7 +18,6 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Integrate the &quot;open site&quot; list with the register page[/li]
[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
[li]Support comments on webpages[/li]
-[li]refactor the oembed client interface so that we can safely sandbox remote content[/li]
[li]Write more webpage layouts[/li]
[li]Write more webpage widgets[/li]
[li]restricted access OAuth clients[/li]
@@ -27,14 +27,11 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]External post connectors, add popular services[/li]
[li]service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
[li]service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
-[li]implement CalDAV/CardDAV sync[/li]
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
[li]MediaGoblin photo "crosspost" connector[/li]
-[li]App taxonomy[/li]
-[li]Customisable App collection pages[/li]
-[li]replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our &quot;enhanced bbcode&quot;, but start with images, links, bold and highlight and work from there.[/li]
+[li]provide a visual editor[/li]
[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
[li]Implement owned and exchangeable &quot;things&quot;.[/li]
[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]
diff --git a/doc/troubleshooting.bb b/doc/troubleshooting.bb
index 1a2bd7f12..023d3c8b1 100644
--- a/doc/troubleshooting.bb
+++ b/doc/troubleshooting.bb
@@ -1,6 +1,4 @@
-[b]Troubleshooting[/b]
-
-[li][zrl=[baseurl]/help/problems-following-an-update]Problems following an update[/zrl][/li]
+[h2]Troubleshooting[/h2]
When reporting issues, please try to provide as much detail as may be necessary for developers to reproduce the issue and provide the complete text of all error messages.
@@ -13,9 +11,12 @@ In the case of "500" errors, the issues may often be logged in your webserver lo
We encourage you to try to the best of your abilities to use these logs combined with the source code in your possession to troubleshoot issues and find their cause. The community is often able to help, but only you have access to your site logfiles and it is considered a security risk to share them.
-
If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/redmatrix/hubzilla/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it.
-#include doc/macros/troubleshooting_footer.bb;
+[h3]Troubleshooting updates[/h3]
+[ul]
+[li][zrl=[baseurl]/help/problems-following-an-update]Problems following an update[/zrl][/li]
+[/ul]
+
#include doc/macros/main_footer.bb;
diff --git a/include/api.php b/include/api.php
index be525f7e9..df6aba957 100644
--- a/include/api.php
+++ b/include/api.php
@@ -839,7 +839,7 @@ require_once('include/api_auth.php');
$_REQUEST['parent_mid'] = $parent;
if($_REQUEST['namespace'] && $parent) {
- $x = q("select iid from item_id where service = '%s' and sid = '%s' limit 1",
+ $x = q("select iid from iconfig where cat = 'system' and k = '%s' and v = '%s' limit 1",
dbesc($_REQUEST['namespace']),
dbesc($parent)
);
@@ -967,20 +967,10 @@ require_once('include/api_auth.php');
$ret = array();
$tmp = array();
- $str = '';
foreach($i as $ii) {
$tmp[] = encode_item($ii,true);
- if($str)
- $str .= ',';
- $str .= $ii['id'];
}
$ret['item'] = $tmp;
- if($str) {
- $r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item.id in ( $str ) ");
-
- if($r)
- $ret['item_id'] = $r;
- }
json_return_and_die($ret);
}
@@ -1462,7 +1452,8 @@ require_once('include/api_auth.php');
}
else {
if($_REQUEST['namespace'] && $_REQUEST['remote_id']) {
- $r = q("select * from item_id where service = '%s' and sid = '%s' and uid = %d limit 1",
+ $r = q("select * from iconfig left join item on iconfig.iid = item.id
+ where cat = 'system' and k = '%s' and v = '%s' and item.uid = %d limit 1",
dbesc($_REQUEST['namespace']),
dbesc($_REQUEST['remote_id']),
intval($user_info['uid'])
@@ -1472,7 +1463,7 @@ require_once('include/api_auth.php');
$id = $r[0]['iid'];
}
if($_REQUEST['namespace'] && $_REQUEST['comment_id']) {
- $r = q("select * from item_id left join item on item.id = item_id.iid where service = '%s' and sid = '%s' and uid = %d and item.id != item.parent limit 1",
+ $r = q("select * from iconfig left join item on item.id = iconfig.iid where cat = 'system' and k = '%s' and v = '%s' and uid = %d and item.id != item.parent limit 1",
dbesc($_REQUEST['namespace']),
dbesc($_REQUEST['comment_id']),
intval($user_info['uid'])
diff --git a/include/attach.php b/include/attach.php
index 78efde51f..4961d7f91 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -423,6 +423,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$observer = array();
+ $dosync = ((array_key_exists('nosync',$arr) && $arr['nosync']) ? 0 : 1);
+
if($observer_hash) {
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($observer_hash)
@@ -616,7 +618,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
);
if($r) {
$overwrite = get_pconfig($channel_id,'system','overwrite_dup_files');
- if($overwrite) {
+ if(($overwrite) || ($options === 'import')) {
$options = 'replace';
$existing_id = $x[0]['id'];
$existing_size = intval($x[0]['filesize']);
@@ -800,7 +802,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
if($is_photo) {
- $args = array( 'source' => $source, 'visible' => $visible, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct);
+ $args = array( 'source' => $source, 'visible' => $visible, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct, 'options' => $options );
if($arr['contact_allow'])
$args['contact_allow'] = $arr['contact_allow'];
if($arr['group_allow'])
@@ -829,6 +831,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
if($arr['description'])
$args['description'] = $arr['description'];
+ $args['deliver'] = $dosync;
+
$p = photo_upload($channel,$observer,$args);
if($p['success']) {
$ret['body'] = $p['body'];
@@ -865,10 +869,12 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
call_hooks('photo_upload_end',$ret);
}
- $sync = attach_export_data($channel,$hash);
+ if($dosync) {
+ $sync = attach_export_data($channel,$hash);
- if($sync)
- build_sync_packet($channel['channel_id'],array('file' => array($sync)));
+ if($sync)
+ build_sync_packet($channel['channel_id'],array('file' => array($sync)));
+ }
return $ret;
}
diff --git a/include/bbcode.php b/include/bbcode.php
index 42741b392..7f7be4300 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -242,6 +242,13 @@ function bb_ShareAttributes($match) {
if ($matches[1] != "")
$message_id = $matches[1];
+ if(! $message_id) {
+ preg_match("/guid='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $message_id = $matches[1];
+ }
+
+
$reldate = '<span class="autotime" title="' . datetime_convert('UTC', date_default_timezone_get(), $posted, 'c') . '" >' . datetime_convert('UTC', date_default_timezone_get(), $posted, 'r') . '</span>';
$headline = '<div class="shared_container"> <div class="shared_header">';
@@ -484,6 +491,24 @@ function bb_code($match) {
return '<code class="inline-code">' . trim($match[1]) . '</code>';
}
+function bb_highlight($match) {
+ if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
+ 'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','json','sh']))
+ return text_highlight($match[2],strtolower($match[1]));
+ return $match[0];
+}
+
+function bb_fixtable_lf($match) {
+
+ // remove extraneous whitespace between table element tags since newlines will all
+ // be converted to '<br />' and turn your neatly crafted tables into a whole lot of
+ // empty space.
+
+ $x = preg_replace("/\]\s+\[/",'][',$match[1]);
+ return '[table]' . $x . '[/table]';
+
+}
+
// BBcode 2 HTML was written by WAY2WEB.net
@@ -559,6 +584,15 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = str_replace(">", "&gt;", $Text);
+ // Check for [code] text here, before the linefeeds are messed with.
+ // The highlighter will unescape and re-escape the content.
+
+ if (strpos($Text,'[code=') !== false) {
+ $Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text);
+ }
+
+ $Text = preg_replace_callback("/\[table\](.*?)\[\/table\]/ism",'bb_fixtable_lf',$Text);
+
// Convert new line chars to html <br /> tags
// nlbr seems to be hopelessly messed up
diff --git a/include/cache.php b/include/cache.php
deleted file mode 100644
index 4a3f453e1..000000000
--- a/include/cache.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php /** @file */
-
- /**
- * cache api
- */
-
- class Cache {
- public static function get($key){
- $r = q("SELECT v FROM cache WHERE k = '%s' limit 1",
- dbesc($key)
- );
-
- if ($r)
- return $r[0]['v'];
- return null;
- }
-
- public static function set($key,$value) {
-
- $r = q("SELECT * FROM cache WHERE k = '%s' limit 1",
- dbesc($key)
- );
- if($r) {
- q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s'",
- dbesc($value),
- dbesc(datetime_convert()),
- dbesc($key));
- }
- else {
- q("INSERT INTO cache ( k, v, updated) VALUES ('%s','%s','%s')",
- dbesc($key),
- dbesc($value),
- dbesc(datetime_convert()));
- }
- }
-
-
- public static function clear(){
- q("DELETE FROM cache WHERE updated < '%s'",
- dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
- }
-
- }
-
diff --git a/include/channel.php b/include/channel.php
index 087bd4162..913768017 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -16,7 +16,7 @@ require_once('include/menu.php');
* @param int $account_id
* Account_id used for this request
*
- * @returns assoziative array with:
+ * @returns associative array with:
* * \e boolean \b success boolean true if creating a new channel is allowed for this account
* * \e string \b message (optional) if success is false, optional error text
* * \e int \b total_identities
@@ -496,8 +496,10 @@ function identity_basic_export($channel_id, $items = false) {
$r = q("select * from channel where channel_id = %d limit 1",
intval($channel_id)
);
- if($r)
+ if($r) {
$ret['channel'] = $r[0];
+ $ret['relocate'] = [ 'channel_address' => $r[0]['channel_address'], 'url' => z_root()];
+ }
$r = q("select * from profile where uid = %d",
intval($channel_id)
@@ -514,7 +516,7 @@ function identity_basic_export($channel_id, $items = false) {
for($x = 0; $x < count($ret['abook']); $x ++) {
$xchans[] = $ret['abook'][$x]['abook_chan'];
- $abconfig = load_abconfig($ret['channel']['channel_hash'],$ret['abook'][$x]['abook_xchan']);
+ $abconfig = load_abconfig($channel_id,$ret['abook'][$x]['abook_xchan']);
if($abconfig)
$ret['abook'][$x]['abconfig'] = $abconfig;
}
@@ -676,14 +678,6 @@ function identity_basic_export($channel_id, $items = false) {
$ret['mail'] = $m;
}
- $r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d",
- intval($channel_id)
- );
-
- if($r)
- $ret['item_id'] = $r;
-
- //$key = get_config('system','prvkey');
/** @warning this may run into memory limits on smaller systems */
@@ -725,6 +719,10 @@ function identity_export_year($channel_id,$year,$month = 0) {
$ret = array();
+ $ch = channelx_by_n($channel_id);
+ if($ch) {
+ $ret['relocate'] = [ 'channel_address' => $ch['channel_address'], 'url' => z_root()];
+ }
$mindate = datetime_convert('UTC','UTC',$year . '-' . $target_month . '-01 00:00:00');
if($month && $month < 12)
$maxdate = datetime_convert('UTC','UTC',$year . '-' . $target_month_plus . '-01 00:00:00');
@@ -746,17 +744,6 @@ function identity_export_year($channel_id,$year,$month = 0) {
$ret['item'][] = encode_item($rr,true);
}
- $r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d
- and item.created >= '%s' and item.created < '%s' order by created ",
- intval($channel_id),
- dbesc($mindate),
- dbesc($maxdate)
- );
-
- if($r)
- $ret['item_id'] = $r;
-
-
return $ret;
}
@@ -774,11 +761,10 @@ function identity_export_year($channel_id,$year,$month = 0) {
*
* The channel default theme is also selected for use, unless over-riden elsewhere.
*
- * @param[in,out] App &$a
* @param string $nickname
* @param string $profile
*/
-function profile_load(&$a, $nickname, $profile = '') {
+function profile_load($nickname, $profile = '') {
// logger('profile_load: ' . $nickname . (($profile) ? ' profile: ' . $profile : ''));
@@ -875,7 +861,7 @@ function profile_load(&$a, $nickname, $profile = '') {
);
if($z) {
$p[0]['picdate'] = $z[0]['xchan_photo_date'];
- $p[0]['reddress'] = str_replace('@','&#xff20;',$z[0]['xchan_addr']);
+ $p[0]['reddress'] = str_replace('@','&#x40;',$z[0]['xchan_addr']);
}
// fetch user tags if this isn't the default profile
@@ -1046,6 +1032,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
$diaspora = array(
'podloc' => z_root(),
+ 'guid' => $profile['channel_guid'] . str_replace('.','',App::get_hostname()),
'searchable' => (($block) ? 'false' : 'true'),
'nickname' => $profile['channel_address'],
'fullname' => $profile['channel_name'],
@@ -1243,6 +1230,7 @@ function advanced_profile(&$a) {
$things = get_things(App::$profile['profile_guid'],App::$profile['profile_uid']);
+
// logger('mod_profile: things: ' . print_r($things,true), LOGGER_DATA);
return replace_macros($tpl, array(
diff --git a/include/config.php b/include/config.php
index 209d22d42..ece22793f 100644
--- a/include/config.php
+++ b/include/config.php
@@ -98,20 +98,20 @@ function del_aconfig($account_id, $family, $key) {
}
-function load_abconfig($chash,$xhash) {
- Zlib\AbConfig::Load($chash,$xhash);
+function load_abconfig($chan,$xhash) {
+ Zlib\AbConfig::Load($chan,$xhash);
}
-function get_abconfig($chash,$xhash,$family,$key) {
- return Zlib\AbConfig::Get($chash,$xhash,$family,$key);
+function get_abconfig($chan,$xhash,$family,$key) {
+ return Zlib\AbConfig::Get($chan,$xhash,$family,$key);
}
-function set_abconfig($chash,$xhash,$family,$key,$value) {
- return Zlib\AbConfig::Set($chash,$xhash,$family,$key,$value);
+function set_abconfig($chan,$xhash,$family,$key,$value) {
+ return Zlib\AbConfig::Set($chan,$xhash,$family,$key,$value);
}
-function del_abconfig($chash,$xhash,$family,$key) {
- return Zlib\AbConfig::Delete($chash,$xhash,$family,$key);
+function del_abconfig($chan,$xhash,$family,$key) {
+ return Zlib\AbConfig::Delete($chan,$xhash,$family,$key);
}
function load_iconfig(&$item) {
@@ -123,7 +123,7 @@ function get_iconfig(&$item, $family, $key) {
}
function set_iconfig(&$item, $family, $key, $value, $sharing = false) {
- return Zlib\IConfig::Set($item, $family, $key, $value, $sharing = false);
+ return Zlib\IConfig::Set($item, $family, $key, $value, $sharing);
}
function del_iconfig(&$item, $family, $key) {
diff --git a/include/connections.php b/include/connections.php
index 2d10b8354..ed4526a09 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -283,18 +283,30 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
Zotlabs\Daemon\Master::Summon(array('Notifier','purge_all',$channel_id));
}
+
+ $r = q("select * from iconfig left join item on item.id = iconfig.iid
+ where item.uid = %d",
+ intval($channel_id)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ q("delete from iconfig where iid = %d",
+ intval($rr['iid'])
+ );
+ }
+ }
+
+
q("DELETE FROM `groups` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `event` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `item` WHERE `uid` = %d", intval($channel_id));
- q("DELETE FROM `item_id` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `mail` WHERE `channel_id` = %d", intval($channel_id));
q("DELETE FROM `notify` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `photo` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `attach` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `profile` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `pconfig` WHERE `uid` = %d", intval($channel_id));
- q("DELETE FROM `spam` WHERE `uid` = %d", intval($channel_id));
// @FIXME At this stage we need to remove the file resources located under /store/$nickname
diff --git a/include/conversation.php b/include/conversation.php
index 518193b08..d2d4ffca0 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -403,9 +403,12 @@ function count_descendants($item) {
* @return boolean
*/
function visible_activity($item) {
- $hidden_activities = array(ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
+ $hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ];
- $post_types = array(ACTIVITY_OBJ_NOTE,ACTIVITY_OBJ_COMMENT,basename(ACTIVITY_OBJ_NOTE),basename(ACTIVITY_OBJ_COMMENT));
+ $post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
+
+ if(intval($item['item_notshown']))
+ return false;
foreach ($hidden_activities as $act) {
if ((activity_match($item['verb'], $act)) && ($item['mid'] != $item['parent_mid'])) {
@@ -1143,6 +1146,8 @@ function status_editor($a, $x, $popup = false) {
$weblink = (($mimetype === 'text/bbcode') ? t('Insert web link') : false);
if(x($x, 'hide_weblink'))
$weblink = false;
+
+ $embedPhotos = t('Embed image from photo albums');
$writefiles = (($mimetype === 'text/bbcode') ? perm_is_allowed($x['profile_uid'], get_observer_hash(), 'write_storage') : false);
if(x($x, 'hide_attach'))
@@ -1178,6 +1183,12 @@ function status_editor($a, $x, $popup = false) {
'$whereareu' => t('Where are you right now?'),
'$editor_autocomplete'=> ((x($x,'editor_autocomplete')) ? $x['editor_autocomplete'] : ''),
'$bbco_autocomplete'=> ((x($x,'bbco_autocomplete')) ? $x['bbco_autocomplete'] : ''),
+ '$modalchooseimages' => t('Choose images to embed'),
+ '$modalchoosealbum' => t('Choose an album'),
+ '$modaldiffalbum' => t('Choose a different album...'),
+ '$modalerrorlist' => t('Error getting album list'),
+ '$modalerrorlink' => t('Error getting photo link'),
+ '$modalerroralbum' => t('Error getting album'),
));
$tpl = get_markup_template('jot.tpl');
@@ -1219,6 +1230,10 @@ function status_editor($a, $x, $popup = false) {
'$code' => t('Code'),
'$attach' => t('Attach file'),
'$weblink' => $weblink,
+ '$embedPhotos' => $embedPhotos,
+ '$embedPhotosModalTitle' => t('Embed an image from your albums'),
+ '$embedPhotosModalCancel' => t('Cancel'),
+ '$embedPhotosModalOK' => t('OK'),
'$setloc' => $setloc,
'$voting' => t('Toggle voting'),
'$feature_voting' => $feature_voting,
diff --git a/include/datetime.php b/include/datetime.php
index bf58866e9..600ad6ec4 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -224,7 +224,7 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
$pickers = '';
if(!$pickdate) $pickers .= ',datepicker: false';
- if(!$picktime) $pickers .= ',timepicker: false';
+ if(!$picktime) $pickers .= ',timepicker: false, closeOnDateSelect:true';
$extra_js = '';
if($minfrom != '')
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index df072ed76..f6091f6e1 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -90,7 +90,7 @@ abstract class dba_driver {
protected $db;
protected $pdo = array();
- public $debug = 0;
+ public $debug = 0;
public $connected = false;
public $error = false;
@@ -332,6 +332,9 @@ function q($sql) {
else
db_logger('dba: vsprintf error: ' . print_r(debug_backtrace(), true),LOGGER_NORMAL,LOG_CRIT);
}
+ if(\DBA::$dba->debug)
+ db_logger('Sql: ' . $stmt, LOGGER_DEBUG, LOG_INFO);
+
return \DBA::$dba->q($stmt);
}
diff --git a/include/follow.php b/include/follow.php
index 0c3973175..e5a74f85e 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -275,7 +275,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
call_hooks('follow', $arr);
- /** If there is a default group for this channel, add this member to it */
+ /** If there is a default group for this channel, add this connection to it */
if($default_group) {
require_once('include/group.php');
diff --git a/include/group.php b/include/group.php
index a4938b848..10853ff6b 100644
--- a/include/group.php
+++ b/include/group.php
@@ -17,7 +17,7 @@ function group_add($uid,$name,$public = 0) {
$z = q("SELECT * FROM `groups` WHERE `id` = %d LIMIT 1",
intval($r)
);
- if(count($z) && $z[0]['deleted']) {
+ if(($z) && $z[0]['deleted']) {
/*$r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `gname` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
@@ -129,7 +129,7 @@ function group_byname($uid,$name) {
intval($uid),
dbesc($name)
);
- if(count($r))
+ if($r)
return $r[0]['id'];
return false;
}
@@ -178,11 +178,11 @@ function group_add_member($uid,$name,$member,$gid = 0) {
intval($gid),
dbesc($member)
);
- if(count($r))
+ if($r)
return true; // You might question this, but
// we indicate success because the group member was in fact created
// -- It was just created at another time
- if(! count($r))
+ if(! $r)
$r = q("INSERT INTO `group_member` (`uid`, `gid`, `xchan`)
VALUES( %d, %d, '%s' ) ",
intval($uid),
@@ -205,7 +205,7 @@ function group_get_members($gid) {
intval(local_channel()),
intval(local_channel())
);
- if(count($r))
+ if($r)
$ret = $r;
}
return $ret;
@@ -218,7 +218,7 @@ function group_get_members_xchan($gid) {
intval($gid),
intval(local_channel())
);
- if(count($r)) {
+ if($r) {
foreach($r as $rr) {
$ret[] = $rr['xchan'];
}
@@ -236,7 +236,7 @@ function mini_group_select($uid,$group = '') {
intval($uid)
);
$grps[] = array('name' => '', 'hash' => '0', 'selected' => '');
- if(count($r)) {
+ if($r) {
foreach($r as $rr) {
$grps[] = array('name' => $rr['gname'], 'id' => $rr['hash'], 'selected' => (($group == $rr['hash']) ? 'true' : ''));
}
@@ -279,7 +279,7 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
$member_of = groups_containing(local_channel(),$cid);
}
- if(count($r)) {
+ if($r) {
foreach($r as $rr) {
$selected = (($group_id == $rr['id']) ? ' group-selected' : '');
@@ -356,7 +356,7 @@ function groups_containing($uid,$c) {
);
$ret = array();
- if(count($r)) {
+ if($r) {
foreach($r as $rr)
$ret[] = $rr['gid'];
}
diff --git a/include/help.php b/include/help.php
index 5518eeb70..7f57f3334 100644
--- a/include/help.php
+++ b/include/help.php
@@ -30,7 +30,8 @@ function search_doc_files($s) {
$regexop = db_getfunc('REGEXP');
- $r = q("select item_id.sid, item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
+ $r = q("select iconfig.v, item.* from item left join iconfig on item.id = iconfig.iid
+ where iconfig.cat = 'system' and iconfig.k = 'docfile' and
body $regexop '%s' and item_type = %d $pager_sql",
dbesc($s),
intval(ITEM_TYPE_DOC)
@@ -50,7 +51,7 @@ function search_doc_files($s) {
}
}
}
- if(stristr($r[$x]['sid'],$s))
+ if(stristr($r[$x]['v'],$s))
$r[$x]['rank'] ++;
$r[$x]['rank'] += substr_count(strtolower($r[$x]['text']),strtolower($s));
// bias the results to the observer's native language
@@ -123,12 +124,15 @@ function store_doc_file($s) {
$item['owner_xchan'] = $item['author_xchan'] = $sys['channel_hash'];
$item['item_type'] = ITEM_TYPE_DOC;
- $r = q("select item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
- sid = '%s' and item_type = %d limit 1",
+ $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where iconfig.cat = 'system' and iconfig.k = 'docfile' and
+ iconfig.v = '%s' and item_type = %d limit 1",
dbesc($s),
intval(ITEM_TYPE_DOC)
);
+ \Zotlabs\Lib\IConfig::Set($item,'system','docfile',$s);
+
if($r) {
$item['id'] = $r[0]['id'];
$item['mid'] = $item['parent_mid'] = $r[0]['mid'];
@@ -139,10 +143,7 @@ function store_doc_file($s) {
$x = item_store($item);
}
- if($x['success']) {
- update_remote_id($sys,$x['item_id'],ITEM_TYPE_DOC,$s,'docfile',0,$item['mid']);
- }
-
+ return $x;
}
diff --git a/include/import.php b/include/import.php
index 6fcb08416..982eeb138 100644
--- a/include/import.php
+++ b/include/import.php
@@ -122,6 +122,11 @@ function import_profiles($channel,$profiles) {
$profile['aid'] = get_account_id();
$profile['uid'] = $channel['channel_id'];
+ convert_oldfields($profile,'name','fullname');
+ convert_oldfields($profile,'with','partner');
+ convert_oldfields($profile,'work','employment');
+
+
// we are going to reset all profile photos to the original
// somebody will have to fix this later and put all the applicable photos into the export
@@ -548,7 +553,7 @@ function sync_chatrooms($channel,$chatrooms) {
-function import_items($channel,$items,$sync = false) {
+function import_items($channel,$items,$sync = false,$relocate = null) {
if($channel && $items) {
$allow_code = false;
@@ -579,13 +584,6 @@ function import_items($channel,$items,$sync = false) {
$item['id'] = $r[0]['id'];
$item['uid'] = $channel['channel_id'];
$item_result = item_store_update($item,$allow_code,$deliver);
- if($sync && $item['item_wall']) {
- // deliver singletons if we have any
- if($item_result && $item_result['success']) {
- Zotlabs\Daemon\Master::Summon(array('Notifier','single_activity',$item_result['item_id']));
- }
- }
- continue;
}
}
else {
@@ -593,19 +591,37 @@ function import_items($channel,$items,$sync = false) {
$item['uid'] = $channel['channel_id'];
$item_result = item_store($item,$allow_code,$deliver);
}
+
if($sync && $item['item_wall']) {
// deliver singletons if we have any
if($item_result && $item_result['success']) {
Zotlabs\Daemon\Master::Summon(array('Notifier','single_activity',$item_result['item_id']));
}
}
+ if($relocate && $item_result['item_id']) {
+ $item = $item_result['item'];
+ if($item['mid'] === $item['parent_mid']) {
+ item_url_replace($channel,$item,$relocate['url'],z_root(),$relocate['channel_address']);
+ dbesc_array($item);
+ $item_id = $item_result['item_id'];
+ unset($item['id']);
+ $str = '';
+ foreach($item as $k => $v) {
+ if($str)
+ $str .= ",";
+ $str .= " `" . $k . "` = '" . $v . "' ";
+ }
+
+ $r = dbq("update `item` set " . $str . " where id = " . $item_id );
+ }
+ }
}
}
}
-function sync_items($channel,$items) {
- import_items($channel,$items,true);
+function sync_items($channel,$items,$relocate = null) {
+ import_items($channel,$items,true,$relocate);
}
@@ -619,19 +635,14 @@ function import_item_ids($channel,$itemids) {
);
if(! $r)
continue;
- $z = q("select * from item_id where service = '%s' and sid = '%s' and iid = %d and uid = %d limit 1",
+ $z = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = '%s'
+ and iconfig.v = '%s' and iid = %d limit 1",
dbesc($i['service']),
dbesc($i['sid']),
- intval($r[0]['id']),
- intval($channel['channel_id'])
+ intval($r[0]['id'])
);
if(! $z) {
- q("insert into item_id (iid,uid,sid,service) values(%d,%d,'%s','%s')",
- intval($r[0]['id']),
- intval($channel['channel_id']),
- dbesc($i['sid']),
- dbesc($i['service'])
- );
+ \Zotlabs\Lib\IConfig::Set($r[0]['id'],'system',$i['service'],$i['sid'],true);
}
}
}
@@ -644,6 +655,10 @@ function import_events($channel,$events) {
unset($event['id']);
$event['aid'] = $channel['channel_account_id'];
$event['uid'] = $channel['channel_id'];
+ convert_oldfields($event,'start','dtstart');
+ convert_oldfields($event,'finish','dtend');
+ convert_oldfields($event,'type','etype');
+ convert_oldfields($event,'ignore','dismissed');
dbesc_array($event);
$r = dbq("INSERT INTO event (`"
@@ -677,6 +692,12 @@ function sync_events($channel,$events) {
$event['aid'] = $channel['channel_account_id'];
$event['uid'] = $channel['channel_id'];
+ convert_oldfields($event,'start','dtstart');
+ convert_oldfields($event,'finish','dtend');
+ convert_oldfields($event,'type','etype');
+ convert_oldfields($event,'ignore','dismissed');
+
+
$exists = false;
$x = q("select * from event where event_hash = '%s' and uid = %d limit 1",
@@ -974,10 +995,7 @@ function sync_files($channel,$files) {
$attachment_stored = false;
foreach($f['attach'] as $att) {
- if(array_key_exists('data',$att)) {
- $att['content'] = $att['data'];
- unset($att['data']);
- }
+ convert_oldfields($att,'data','content');
if($att['deleted']) {
attach_delete($channel,$att['hash']);
@@ -1130,14 +1148,10 @@ function sync_files($channel,$files) {
$p['aid'] = $channel['channel_account_id'];
$p['uid'] = $channel['channel_id'];
- if(array_key_exists('data',$p)) {
- $p['content'] = $p['data'];
- unset($p['data']);
- }
- if(array_key_exists('scale',$p)) {
- $p['imgscale'] = $p['scale'];
- unset($p['scale']);
- }
+ convert_oldfields($p,'data','content');
+ convert_oldfields($p,'scale','imgscale');
+ convert_oldfields($p,'size','filesize');
+ convert_oldfields($p,'type','mimetype');
// if this is a profile photo, undo the profile photo bit
// for any other photo which previously held it.
@@ -1197,34 +1211,18 @@ function sync_files($channel,$files) {
}
}
if($f['item']) {
- sync_items($channel,$f['item']);
- foreach($f['item'] as $i) {
- if($i['message_id'] !== $i['message_parent'])
- continue;
- $r = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc($i['message_id']),
- intval($channel['channel_id'])
- );
- if($r) {
- $item = $r[0];
- item_url_replace($channel,$item,$oldbase,z_root(),$original_channel);
-
- dbesc_array($item);
- $item_id = $item['id'];
- unset($item['id']);
- $str = '';
- foreach($item as $k => $v) {
- if($str)
- $str .= ",";
- $str .= " `" . $k . "` = '" . $v . "' ";
- }
-
- $r = dbq("update `item` set " . $str . " where id = " . $item_id );
- }
- }
+ sync_items($channel,$f['item'],
+ ['channel_address' => $original_channel,'url' => $oldbase]
+ );
}
}
}
}
+function convert_oldfields(&$arr,$old,$new) {
+ if(array_key_exists($old,$arr)) {
+ $arr[$new] = $arr[$old];
+ unset($arr[$old]);
+ }
+}
diff --git a/include/items.php b/include/items.php
index 93385c6e6..84683273d 100755
--- a/include/items.php
+++ b/include/items.php
@@ -677,13 +677,23 @@ function get_item_elements($x,$allow_code = false) {
$arr['item_flags'] = 0;
- if(array_key_exists('flags',$x) && in_array('consensus',$x['flags']))
- $arr['item_consensus'] = 1;
+ if(array_key_exists('flags',$x)) {
- if(array_key_exists('flags',$x) && in_array('deleted',$x['flags']))
- $arr['item_deleted'] = 1;
- if(array_key_exists('flags',$x) && in_array('hidden',$x['flags']))
- $arr['item_hidden'] = 1;
+ if(in_array('consensus',$x['flags']))
+ $arr['item_consensus'] = 1;
+
+ if(in_array('deleted',$x['flags']))
+ $arr['item_deleted'] = 1;
+
+ if(in_array('notshown',$x['flags']))
+ $arr['item_notshown'] = 1;
+
+ // hidden item are no longer propagated - notshown may be a suitable alternative
+
+ if(in_array('hidden',$x['flags']))
+ $arr['item_hidden'] = 1;
+
+ }
// Here's the deal - the site might be down or whatever but if there's a new person you've never
// seen before sending stuff to your stream, we MUST be able to look them up and import their data from their
@@ -1339,6 +1349,8 @@ function encode_item_flags($item) {
$ret[] = 'deleted';
if(intval($item['item_hidden']))
$ret[] = 'hidden';
+ if(intval($item['item_notshown']))
+ $ret[] = 'notshown';
if(intval($item['item_thread_top']))
$ret[] = 'thread_parent';
if(intval($item['item_nsfw']))
@@ -1877,6 +1889,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
}
+ $ret['item'] = $arr;
call_hooks('post_remote_end',$arr);
@@ -2127,6 +2140,15 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
return $ret;
}
+ // fetch an unescaped complete copy of the stored item
+
+ $r = q("select * from item where id = %d",
+ intval($orig_post_id)
+ );
+ if($r)
+ $arr = $r[0];
+
+
$r = q("delete from term where oid = %d and otype = %d",
intval($orig_post_id),
intval(TERM_OBJ_POST)
@@ -2158,6 +2180,8 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
$arr['iconfig'] = $meta;
}
+ $ret['item'] = $arr;
+
call_hooks('post_remote_update_end',$arr);
if($deliver) {
@@ -3537,9 +3561,8 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
intval($item['id'])
);
- q("delete from item_id where iid = %d and uid = %d",
- intval($item['id']),
- intval($item['uid'])
+ q("delete from iconfig where iid = %d",
+ intval($item['id'])
);
q("delete from term where oid = %d and otype = %d",
@@ -4105,6 +4128,23 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
return $items;
}
+function webpage_to_namespace($webpage) {
+
+ if($webpage == ITEM_TYPE_WEBPAGE)
+ $page_type = 'WEBPAGE';
+ elseif($webpage == ITEM_TYPE_BLOCK)
+ $page_type = 'BUILDBLOCK';
+ elseif($webpage == ITEM_TYPE_PDL)
+ $page_type = 'PDL';
+ elseif($webpage == ITEM_TYPE_DOC)
+ $page_type = 'docfile';
+ else
+ $page_type = 'unknown';
+ return $page_type;
+
+}
+
+
function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid) {
diff --git a/include/network.php b/include/network.php
index 0dd10e29b..96bf714f6 100644
--- a/include/network.php
+++ b/include/network.php
@@ -21,15 +21,18 @@ function get_capath() {
* TRUE if asked to return binary results (file download)
* @param int $redirects default 0
* internal use, recursion counter
- * @param array $opts (optional parameters) assoziative array with:
+ * @param array $opts (optional parameters) associative array with:
* * \b accept_content => supply Accept: header with 'accept_content' as the value
* * \b timeout => int seconds, default system config value or 60 seconds
* * \b http_auth => username:password
* * \b novalidate => do not validate SSL certs, default is to validate using our CA list
* * \b nobody => only return the header
* * \b filep => stream resource to write body to. header and body are not returned when using this option.
+ * * \b custom => custom request method: e.g. 'PUT', 'DELETE'
+ * * \b cookiejar => cookie file (write)
+ * * \B cookiefile => cookie file (read)
*
- * @return array an assoziative array with:
+ * @return array an associative array with:
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
* * \e boolean \b success => boolean true (if HTTP 2xx result) or false
* * \e string \b header => HTTP headers
@@ -59,12 +62,27 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
@curl_setopt($ch, CURLOPT_HEADER, $false);
}
+ if(x($opts,'upload'))
+ @curl_setopt($ch, CURLOPT_UPLOAD, $opts['upload']);
+
+ if(x($opts,'infile'))
+ @curl_setopt($ch, CURLOPT_INFILE, $opts['infile']);
+
+ if(x($opts,'infilesize'))
+ @curl_setopt($ch, CURLOPT_INFILESIZE, $opts['infilesize']);
+
+ if(x($opts,'readfunc'))
+ @curl_setopt($ch, CURLOPT_READFUNCTION, $opts['readfunc']);
+
if(x($opts,'headers'))
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
if(x($opts,'nobody'))
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
+ if(x($opts,'custom'))
+ @curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $opts['custom']);
+
if(x($opts,'timeout') && intval($opts['timeout'])) {
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
}
@@ -78,6 +96,11 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
@curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
}
+ if(x($opts,'cookiejar'))
+ @curl_setopt($ch, CURLOPT_COOKIEJAR, $opts['cookiejar']);
+ if(x($opts,'cookiefile'))
+ @curl_setopt($ch, CURLOPT_COOKIEFILE, $opts['cookiefile']);
+
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
@@ -165,7 +188,9 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
* 'http_auth' => username:password
* 'novalidate' => do not validate SSL certs, default is to validate using our CA list
* 'filep' => stream resource to write body to. header and body are not returned when using this option.
- * @return array an assoziative array with:
+ * 'custom' => custom request method: e.g. 'PUT', 'DELETE'
+ *
+ * @return array an associative array with:
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
* * \e boolean \b success => boolean true (if HTTP 2xx result) or false
* * \e string \b header => HTTP headers
@@ -174,6 +199,10 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
*/
function z_post_url($url,$params, $redirects = 0, $opts = array()) {
+// logger('url: ' . $url);
+// logger('params: ' . print_r($params,true));
+// logger('opts: ' . print_r($opts,true));
+
$ret = array('return_code' => 0, 'success' => false, 'header' => "", 'body' => "");
$ch = curl_init($url);
@@ -199,12 +228,17 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) {
if(x($opts,'headers')) {
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
-logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects);
}
if(x($opts,'nobody'))
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
+ if(x($opts,'custom')) {
+ @curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $opts['custom']);
+ @curl_setopt($ch, CURLOPT_POST,0);
+ }
+
+
if(x($opts,'timeout') && intval($opts['timeout'])) {
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
}
@@ -218,6 +252,12 @@ logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects);
@curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
}
+
+ if(x($opts,'cookiejar'))
+ @curl_setopt($ch, CURLOPT_COOKIEJAR, $opts['cookiejar']);
+ if(x($opts,'cookiefile'))
+ @curl_setopt($ch, CURLOPT_COOKIEFILE, $opts['cookiefile']);
+
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
@@ -1296,8 +1336,20 @@ function discover_by_webbie($webbie) {
$fullname = $vcard['fn'];
if($vcard['photo'] && (strpos($vcard['photo'],'http') !== 0))
$vcard['photo'] = $diaspora_base . '/' . $vcard['photo'];
+ if(($vcard['key']) && (! $pubkey))
+ $pubkey = $vcard['key'];
if(! $avatar)
$avatar = $vcard['photo'];
+ if($diaspora) {
+ if(($vcard['guid']) && (! $diaspora_guid))
+ $diaspora_guid = $vcard['guid'];
+ if(($vcard['url']) && (! $diaspora_base))
+ $diaspora_base = $vcard['url'];
+
+
+
+
+ }
}
}
@@ -1962,14 +2014,7 @@ function get_site_info() {
else
$service_class = false;
- $visible_plugins = array();
- if(is_array(App::$plugins) && count(App::$plugins)) {
- $r = q("select * from addon where hidden = 0");
- if(count($r))
- foreach($r as $rr)
- $visible_plugins[] = $rr['aname'];
- }
- sort($visible_plugins);
+ $visible_plugins = visible_plugin_list();
if(@is_dir('.git') && function_exists('shell_exec'))
$commit = trim(@shell_exec('git log -1 --format="%h"'));
diff --git a/include/oembed.php b/include/oembed.php
index 08363e488..fe068278e 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -1,6 +1,8 @@
<?php /** @file */
+use Zotlabs\Lib as Zlib;
+
function oembed_replacecb($matches){
$embedurl=$matches[1];
@@ -25,12 +27,6 @@ function oembed_action($embedurl) {
logger('oembed_action: ' . $embedurl, LOGGER_DEBUG, LOG_INFO);
- // These media files should now be caught in bbcode.php
- // left here as a fallback in case this is called from another source
-
- $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus");
- $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION);
-
if(strpos($embedurl,'http://') === 0) {
if(intval(get_config('system','embed_sslonly'))) {
$action = 'block';
@@ -119,18 +115,23 @@ function oembed_fetch_url($embedurl){
// These media files should now be caught in bbcode.php
// left here as a fallback in case this is called from another source
- $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus");
- $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION);
+ $noexts = array(".mp3",".mp4",".ogg",".ogv",".oga",".ogm",".webm",".opus");
$result = oembed_action($embedurl);
$embedurl = $result['url'];
$action = $result['action'];
+ foreach($noexts as $ext) {
+ if(strpos(strtolower($embedurl),$ext) !== false) {
+ $action = 'block';
+ }
+ }
+
$txt = null;
if($action !== 'block') {
- $txt = Cache::get(App::$videowidth . $embedurl);
+ $txt = Zlib\Cache::get('[' . App::$videowidth . '] ' . $embedurl);
if(strstr($txt,'youtu') && strstr(z_root(),'https:')) {
$txt = str_replace('http:','https:',$txt);
@@ -151,7 +152,7 @@ function oembed_fetch_url($embedurl){
}
- if (! in_array($ext, $noexts) && $action !== 'block') {
+ if ($action !== 'block') {
// try oembed autodiscovery
$redirects = 0;
$result = z_fetch_url($furl, false, $redirects, array('timeout' => 15, 'accept_content' => "text/*", 'novalidate' => true ));
@@ -199,7 +200,7 @@ function oembed_fetch_url($embedurl){
//save in cache
if(! get_config('system','oembed_cache_disable'))
- Cache::set(App::$videowidth . $embedurl,$txt);
+ Zlib\Cache::set('[' . App::$videowidth . '] ' . $embedurl,$txt);
}
diff --git a/include/page_widgets.php b/include/page_widgets.php
index 49d1439be..3270de4a3 100644
--- a/include/page_widgets.php
+++ b/include/page_widgets.php
@@ -1,7 +1,8 @@
<?php
// A basic toolbar for observers with write_pages permissions
-function writepages_widget ($who,$which){
+
+function writepages_widget ($who,$which) {
return replace_macros(get_markup_template('write_pages.tpl'), array(
'$new' => t('New Page'),
'$newurl' => "webpages/$who",
@@ -13,9 +14,11 @@ function writepages_widget ($who,$which){
// Chan is channel_id, $which is channel_address - we'll need to pass observer later too.
-function pagelist_widget ($owner,$which){
- $r = q("select * from item_id left join item on item_id.iid = item.id where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
+function pagelist_widget ($owner,$which) {
+
+ $r = q("select * from iconfig left join item on iconfig.iid = item.id where item_id.uid = %d
+ and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' order by item.created desc",
intval($owner)
);
@@ -24,7 +27,7 @@ function pagelist_widget ($owner,$which){
if($r) {
$pages = array();
foreach($r as $rr) {
- $pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['sid'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']));
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['v'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']));
}
}
diff --git a/include/photos.php b/include/photos.php
index c64d662ea..c70478146 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -41,6 +41,10 @@ function photo_upload($channel, $observer, $args) {
else
$visible = 0;
+ $deliver = true;
+ if(array_key_exists('deliver',$args))
+ $deliver = intval($args['deliver']);
+
// Set to default channel permissions. If the parent directory (album) has permissions set,
// use those instead. If we have specific permissions supplied, they take precedence over
// all other settings. 'allow_cid' being passed from an external source takes priority over channel settings.
@@ -330,7 +334,7 @@ function photo_upload($channel, $observer, $args) {
if($item['mid'] === $item['parent_mid']) {
- $item['body'] = $args['body'];
+ $item['body'] = $summary;
$item['obj_type'] = ACTIVITY_OBJ_PHOTO;
$item['obj'] = json_encode($object);
@@ -355,14 +359,14 @@ function photo_upload($channel, $observer, $args) {
if(($item['edited'] > $r[0]['edited']) || $force) {
$item['id'] = $r[0]['id'];
$item['uid'] = $channel['channel_id'];
- item_store_update($item);
+ item_store_update($item,false,$deliver);
continue;
}
}
else {
$item['aid'] = $channel['channel_account_id'];
$item['uid'] = $channel['channel_id'];
- $item_result = item_store($item);
+ $item_result = item_store($item,false,$deliver);
}
}
}
@@ -414,10 +418,10 @@ function photo_upload($channel, $observer, $args) {
- $result = item_store($arr);
+ $result = item_store($arr,false,$deliver);
$item_id = $result['item_id'];
- if($visible)
+ if($visible && $deliver)
Zotlabs\Daemon\Master::Summon(array('Notifier', 'wall-new', $item_id));
}
@@ -703,40 +707,65 @@ function gps2Num($coordPart) {
return floatval($parts[0]) / floatval($parts[1]);
}
-function profile_photo_set_profile_perms($profileid = '') {
+function profile_photo_set_profile_perms($uid, $profileid = 0) {
$allowcid = '';
- if (x($profileid)) {
-
- $r = q("SELECT photo, profile_guid, id, is_default, uid FROM profile WHERE profile.id = %d OR profile.profile_guid = '%s' LIMIT 1", intval($profileid), dbesc($profileid));
-
- } else {
-
+ if($profileid) {
+ $r = q("SELECT photo, profile_guid, id, is_default, uid
+ FROM profile WHERE uid = %d and ( profile.id = %d OR profile.profile_guid = '%s') LIMIT 1",
+ intval($profileid),
+ dbesc($profileid)
+ );
+ }
+ else {
logger('Resetting permissions on default-profile-photo for user'.local_channel());
- $r = q("SELECT photo, profile_guid, id, is_default, uid FROM profile WHERE profile.uid = %d AND is_default = 1 LIMIT 1", intval(local_channel()) ); //If no profile is given, we update the default profile
+
+ $r = q("SELECT photo, profile_guid, id, is_default, uid FROM profile
+ WHERE profile.uid = %d AND is_default = 1 LIMIT 1",
+ intval($uid)
+ ); //If no profile is given, we update the default profile
}
+ if(! $r)
+ return;
$profile = $r[0];
- if(x($profile['id']) && x($profile['photo'])) {
- preg_match("@\w*(?=-\d*$)@i", $profile['photo'], $resource_id);
- $resource_id = $resource_id[0];
+
+ if($profile['id'] && $profile['photo']) {
+ preg_match("@\w*(?=-\d*$)@i", $profile['photo'], $resource_id);
+ $resource_id = $resource_id[0];
- if (intval($profile['is_default']) != 1) {
- $r0 = q("SELECT channel_hash FROM channel WHERE channel_id = %d LIMIT 1", intval(local_channel()) );
- $r1 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%d' ", intval($profile['id'])); //Should not be needed in future. Catches old int-profile-ids.
- $r2 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%s'", dbesc($profile['profile_guid']));
+ if (! intval($profile['is_default'])) {
+ $r0 = q("SELECT channel_hash FROM channel WHERE channel_id = %d LIMIT 1",
+ intval($uid)
+ );
+ //Should not be needed in future. Catches old int-profile-ids.
+ $r1 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%d' ",
+ intval($profile['id'])
+ );
+ $r2 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%s'",
+ dbesc($profile['profile_guid'])
+ );
$allowcid = "<" . $r0[0]['channel_hash'] . ">";
foreach ($r1 as $entry) {
$allowcid .= "<" . $entry['abook_xchan'] . ">";
}
foreach ($r2 as $entry) {
- $allowcid .= "<" . $entry['abook_xchan'] . ">";
- }
+ $allowcid .= "<" . $entry['abook_xchan'] . ">";
+ }
- q("UPDATE `photo` SET allow_cid = '%s' WHERE resource_id = '%s' AND uid = %d",dbesc($allowcid),dbesc($resource_id),intval($profile['uid']));
+ q("UPDATE photo SET allow_cid = '%s' WHERE resource_id = '%s' AND uid = %d",
+ dbesc($allowcid),
+ dbesc($resource_id),
+ intval($uid)
+ );
- } else {
- q("UPDATE `photo` SET allow_cid = '' WHERE profile = 1 AND uid = %d",intval($profile['uid'])); //Reset permissions on default profile picture to public
+ }
+ else {
+ //Reset permissions on default profile picture to public
+ q("UPDATE photo SET allow_cid = '' WHERE photo_usage = %d AND uid = %d",
+ intval(PHOTO_PROFILE),
+ intval($uid)
+ );
}
}
diff --git a/include/plugin.php b/include/plugin.php
index be4e92f03..6dfda1cc9 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -167,6 +167,12 @@ function reload_plugins() {
}
}
+function visible_plugin_list() {
+ $r = q("select * from addon where hidden = 0 order by aname asc");
+ return(($r) ? ids_to_array($r,'aname') : array());
+}
+
+
/**
* @brief registers a hook.
@@ -545,15 +551,21 @@ function head_get_css() {
}
function format_css_if_exists($source) {
- if (strpos($source[0], '/') !== false)
+ $path_prefix = script_path() . '/';
+
+ if (strpos($source[0], '/') !== false) {
+ // The source is a URL
$path = $source[0];
- else
+ // If the url starts with // then it's an absolute URL
+ if($source[0][0] === '/' && $source[0][1] === '/') $path_prefix = '';
+ } else {
+ // It's a file from the theme
$path = theme_include($source[0]);
+ }
if($path) {
- $path = script_path() . '/' . $path;
$qstring = ((parse_url($path, PHP_URL_QUERY)) ? '&' : '?') . 'v=' . STD_VERSION;
- return '<link rel="stylesheet" href="' . $path . $qstring . '" type="text/css" media="' . $source[1] . '">' . "\r\n";
+ return '<link rel="stylesheet" href="' . $path_prefix . $path . $qstring . '" type="text/css" media="' . $source[1] . '">' . "\r\n";
}
}
@@ -593,26 +605,37 @@ function script_path() {
return $scheme . '://' . $hostname;
}
-function head_add_js($src) {
- App::$js_sources[] = $src;
+function head_add_js($src, $priority = 0) {
+ if(! is_array(App::$js_sources[$priority]))
+ App::$js_sources[$priority] = array();
+ App::$js_sources[$priority][] = $src;
}
-function head_remove_js($src) {
+function head_remove_js($src, $priority = 0) {
- $index = array_search($src, App::$js_sources);
+ $index = array_search($src, App::$js_sources[$priority]);
if($index !== false)
- unset(App::$js_sources[$index]);
+ unset(App::$js_sources[$priority][$index]);
}
+// We should probably try to register main.js with a high priority, but currently we handle it
+// separately and put it at the end of the html head block in case any other javascript is
+// added outside the head_add_js construct.
+
function head_get_js() {
+
$str = '';
- $sources = App::$js_sources;
- if(count($sources))
- foreach($sources as $source) {
- if($source === 'main.js')
- continue;
- $str .= format_js_if_exists($source);
+ if(App::$js_sources) {
+ foreach(App::$js_sources as $sources) {
+ if(count($sources)) {
+ foreach($sources as $source) {
+ if($src === 'main.js')
+ continue;
+ $str .= format_js_if_exists($source);
+ }
+ }
}
+ }
return $str;
}
@@ -626,14 +649,20 @@ function head_get_main_js() {
}
function format_js_if_exists($source) {
- if(strpos($source,'/') !== false)
+ $path_prefix = script_path() . '/';
+
+ if(strpos($source,'/') !== false) {
+ // The source is a URL
$path = $source;
- else
+ // If the url starts with // then it's an absolute URL
+ if($source[0] === '/' && $source[1] === '/') $path_prefix = '';
+ } else {
+ // It's a file from the theme
$path = theme_include($source);
+ }
if($path) {
- $path = script_path() . '/' . $path;
$qstring = ((parse_url($path, PHP_URL_QUERY)) ? '&' : '?') . 'v=' . STD_VERSION;
- return '<script src="' . $path . $qstring . '" ></script>' . "\r\n" ;
+ return '<script src="' . $path_prefix . $path . $qstring . '" ></script>' . "\r\n" ;
}
}
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 177215fe8..067bd3246 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -400,7 +400,7 @@ function get_things($profile_hash,$uid) {
if(! $things[$rr['obj_verb']])
$things[$rr['obj_verb']] = array();
- $things[$rr['obj_verb']][] = array('term' => $rr['obj_term'],'url' => $rr['obj_url'],'img' => $rr['obj_imgurl'], 'profile' => $rr['profile_name'],'term_hash' => $rr['obj_obj'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
+ $things[$rr['obj_verb']][] = array('term' => $rr['obj_term'],'url' => $rr['obj_url'],'img' => $rr['obj_imgurl'], 'editurl' => z_root() . '/thing/' . $rr['obj_obj'], 'profile' => $rr['profile_name'],'term_hash' => $rr['obj_obj'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
}
$sorted_things = array();
if($things) {
diff --git a/include/text.php b/include/text.php
index 1bc19da34..89c3a0539 100644
--- a/include/text.php
+++ b/include/text.php
@@ -376,30 +376,6 @@ function unxmlify($s) {
return $ret;
}
-/**
- * Convenience wrapper, reverse the operation "bin2hex"
- * This is a built-in function in php >= 5.4
- *
- * @FIXME We already have php >= 5.4 requirements, so can we remove this?
- */
-if(! function_exists('hex2bin')) {
-function hex2bin($s) {
- if(! (is_string($s) && strlen($s)))
- return '';
-
- if(strlen($s) & 1) {
- logger('hex2bin: illegal hex string: ' . $s);
- return $s;
- }
-
- if(! ctype_xdigit($s)) {
- return($s);
- }
-
- return(pack("H*",$s));
-}}
-
-
// Automatic pagination.
// To use, get the count of total items.
// Then call App::set_pager_total($number_items);
@@ -1283,7 +1259,7 @@ function normalise_link($url) {
* is https and the other isn't, or if one is www.something and the other
* isn't - and also ignore case differences.
*
- * @see normalis_link()
+ * @see normalise_link()
*
* @param string $a
* @param string $b
@@ -1635,7 +1611,7 @@ function prepare_text($text, $content_type = 'text/bbcode', $cache = false) {
function create_export_photo_body(&$item) {
if(($item['verb'] === ACTIVITY_POST) && ($item['obj_type'] === ACTIVITY_OBJ_PHOTO)) {
- $j = json_decode($item['object'],true);
+ $j = json_decode($item['obj'],true);
if($j) {
$item['body'] .= "\n\n" . (($j['body']) ? $j['body'] : $j['bbcode']);
$item['sig'] = '';
@@ -1743,7 +1719,8 @@ function unamp($s) {
}
function layout_select($channel_id, $current = '') {
- $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and item_type = %d ",
+ $r = q("select mid, v from item left join iconfig on iconfig.iid = item.id
+ where iconfig.cat = 'system' and iconfig.k = 'PDL' and item.uid = %d and item_type = %d ",
intval($channel_id),
intval(ITEM_TYPE_PDL)
);
@@ -1753,7 +1730,7 @@ function layout_select($channel_id, $current = '') {
$options .= '<option value="" ' . $empty_selected . '>' . t('default') . '</option>';
foreach($r as $rr) {
$selected = (($rr['mid'] == $current) ? ' selected="selected" ' : '');
- $options .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['sid'] . '</option>';
+ $options .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['v'] . '</option>';
}
}
@@ -2049,7 +2026,7 @@ function ids_to_array($arr,$idx = 'id') {
$t = array();
if($arr) {
foreach($arr as $x) {
- if(! in_array($x[$idx],$t)) {
+ if(array_key_exists($idx,$x) && strlen($x[$idx]) && (! in_array($x[$idx],$t))) {
$t[] = $x[$idx];
}
}
@@ -2088,9 +2065,9 @@ function xchan_query(&$items,$abook = true,$effective_uid = 0) {
}
foreach($items as $item) {
- if($item['owner_xchan'] && (! in_array($item['owner_xchan'],$arr)))
+ if($item['owner_xchan'] && (! in_array("'" . dbesc($item['owner_xchan']) . "'",$arr)))
$arr[] = "'" . dbesc($item['owner_xchan']) . "'";
- if($item['author_xchan'] && (! in_array($item['author_xchan'],$arr)))
+ if($item['author_xchan'] && (! in_array("'" . dbesc($item['author_xchan']) . "'",$arr)))
$arr[] = "'" . dbesc($item['author_xchan']) . "'";
}
}
@@ -2123,9 +2100,9 @@ function xchan_mail_query(&$item) {
$arr = array();
$chans = null;
if($item) {
- if($item['from_xchan'] && (! in_array($item['from_xchan'],$arr)))
+ if($item['from_xchan'] && (! in_array("'" . dbesc($item['from_xchan']) . "'",$arr)))
$arr[] = "'" . dbesc($item['from_xchan']) . "'";
- if($item['to_xchan'] && (! in_array($item['to_xchan'],$arr)))
+ if($item['to_xchan'] && (! in_array("'" . dbesc($item['to_xchan']) . "'",$arr)))
$arr[] = "'" . dbesc($item['to_xchan']) . "'";
}
@@ -2821,13 +2798,16 @@ function expand_acl($s) {
// If it has a pdl we'll load it as we know the mid and pass the body through comanche_parser() which will generate the
// page layout from the given description
+// @FIXME - there is apparently a very similar function called layout_select; this one should probably take precedence
+// and the other should be checked for compatibility and removed
function pdl_selector($uid, $current="") {
$o = '';
$sql_extra = item_permissions_sql($uid);
- $r = q("select item_id.*, mid from item_id left join item on iid = item.id where item_id.uid = %d and item_id.uid = item.uid and service = 'PDL' $sql_extra order by sid asc",
+ $r = q("select iconfig.*, mid from item_id left join item on iconfig.iid = item.id
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' $sql_extra order by v asc",
intval($uid)
);
@@ -2841,7 +2821,7 @@ function pdl_selector($uid, $current="") {
$entries[] = array('title' => t('Default'), 'mid' => '');
foreach($entries as $selection) {
$selected = (($selection == $current) ? ' selected="selected" ' : '');
- $o .= "<option value=\"{$selection['mid']}\" $selected >{$selection['sid']}</option>";
+ $o .= "<option value=\"{$selection['mid']}\" $selected >{$selection['v']}</option>";
}
$o .= '</select>';
@@ -2877,3 +2857,54 @@ function flatten_array_recursive($arr) {
}
return($ret);
}
+
+function text_highlight($s,$lang) {
+
+ if($lang === 'js')
+ $lang = 'javascript';
+
+ if($lang === 'json') {
+ $lang = 'javascript';
+ if(! strpos(trim($s),"\n"))
+ $s = jindent($s);
+ }
+
+ if(! strpos('Text_Highlighter',get_include_path())) {
+ set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter');
+ }
+ require_once('library/Text_Highlighter/Text/Highlighter.php');
+ require_once('library/Text_Highlighter/Text/Highlighter/Renderer/Html.php');
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 4,
+ );
+ $tag_added = false;
+ $s = trim(html_entity_decode($s,ENT_COMPAT));
+ $s = str_replace(" ","\t",$s);
+
+ // The highlighter library insists on an opening php tag for php code blocks. If
+ // it isn't present, nothing is highlighted. So we're going to see if it's present.
+ // If not, we'll add it, and then quietly remove it after we get the processed output back.
+
+ if($lang === 'php') {
+ if(strpos('<?php',$s) !== 0) {
+ $s = '<?php' . "\n" . $s;
+ $tag_added = true;
+ }
+
+ }
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory($lang);
+ $hl->setRenderer($renderer);
+ $o = $hl->highlight($s);
+ $o = str_replace([" ","\n"],["&nbsp;&nbsp;&nbsp;&nbsp;",''],$o);
+
+ if($tag_added) {
+ $b = substr($o,0,strpos($o,'<li>'));
+ $e = substr($o,strpos($o,'</li>'));
+ $o = $b . $e;
+ }
+
+ return('<code>' . $o . '</code>');
+}
+
diff --git a/include/widgets.php b/include/widgets.php
index 312b63729..8a7f4b69f 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -856,6 +856,78 @@ function widget_chatroom_members() {
return $o;
}
+function widget_wiki_list($arr) {
+
+ require_once("include/wiki.php");
+ $channel = null;
+ if (argc() < 2 && local_channel()) {
+ // This should not occur because /wiki should redirect to /wiki/channel ...
+ $channel = \App::get_channel();
+ } else {
+ $channel = get_channel_by_nick(argv(1)); // Channel being viewed by observer
+ }
+ if (!$channel) {
+ return '';
+ }
+ $wikis = wiki_list($channel, get_observer_hash());
+ if ($wikis) {
+ return replace_macros(get_markup_template('wikilist.tpl'), array(
+ '$header' => t('Wiki List'),
+ '$channel' => $channel['channel_address'],
+ '$wikis' => $wikis['wikis'],
+ // If the observer is the local channel owner, show the wiki controls
+ '$showControls' => ((local_channel() === intval($channel['channel_id'])) ? true : false)
+ ));
+ }
+ return '';
+}
+
+function widget_wiki_pages($arr) {
+
+ require_once("include/wiki.php");
+ $channelname = ((array_key_exists('channel',$arr)) ? $arr['channel'] : '');
+ $wikiname = '';
+ if (array_key_exists('refresh', $arr)) {
+ $not_refresh = (($arr['refresh']=== true) ? false : true);
+ } else {
+ $not_refresh = true;
+ }
+ $pages = array();
+ if (!array_key_exists('resource_id', $arr)) {
+ $hide = true;
+ } else {
+ $p = wiki_page_list($arr['resource_id']);
+ if ($p['pages']) {
+ $pages = $p['pages'];
+ $w = $p['wiki'];
+ // Wiki item record is $w['wiki']
+ $wikiname = $w['urlName'];
+ if (!$wikiname) {
+ $wikiname = '';
+ }
+ }
+ }
+ return replace_macros(get_markup_template('wiki_page_list.tpl'), array(
+ '$hide' => $hide,
+ '$not_refresh' => $not_refresh,
+ '$header' => t('Wiki Pages'),
+ '$channel' => $channelname,
+ '$wikiname' => $wikiname,
+ '$pages' => $pages
+ ));
+}
+
+function widget_wiki_page_history($arr) {
+ require_once("include/wiki.php");
+ $pageUrlName = ((array_key_exists('pageUrlName', $arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id', $arr)) ? $arr['resource_id'] : '');
+ $pageHistory = wiki_page_history(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
+
+ return replace_macros(get_markup_template('wiki_page_history.tpl'), array(
+ '$pageHistory' => $pageHistory['history']
+ ));
+}
+
function widget_bookmarkedchats($arr) {
if(! feature_enabled(App::$profile['profile_uid'],'ajaxchat'))
@@ -922,8 +994,9 @@ function widget_item($arr) {
$sql_extra = item_permissions_sql($channel_id);
if($arr['title']) {
- $r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and service = 'WEBPAGE' and item_type = %d $sql_options $revision limit 1",
+ $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s'
+ and iconfig.k = 'WEBPAGE' and item_type = %d $sql_options $revision limit 1",
intval($channel_id),
dbesc($arr['title']),
intval(ITEM_TYPE_WEBPAGE)
@@ -1085,7 +1158,7 @@ function widget_cover_photo($arr) {
if(array_key_exists('subtitle', $arr) && isset($arr['subtitle']))
$subtitle = $arr['subtitle'];
else
- $subtitle = $channel['xchan_addr'];
+ $subtitle = str_replace('@','&#x40;',$channel['xchan_addr']);
$c = get_cover_photo($channel_id,'html');
@@ -1181,8 +1254,8 @@ function widget_random_block($arr) {
$randfunc = db_getfunc('RAND');
- $r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid like '%s' and service = 'BUILDBLOCK' and
+ $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.v like '%s' and iconfig.k = 'BUILDBLOCK' and
item_type = %d $sql_options order by $randfunc limit 1",
intval($channel_id),
dbesc('%' . $contains . '%'),
diff --git a/include/wiki.php b/include/wiki.php
new file mode 100644
index 000000000..63cf70f3c
--- /dev/null
+++ b/include/wiki.php
@@ -0,0 +1,496 @@
+<?php
+/**
+ * @file include/wiki.php
+ * @brief Wiki related functions.
+ */
+
+use \Zotlabs\Storage\GitRepo as GitRepo;
+define ( 'WIKI_ITEM_RESOURCE_TYPE', 'wiki' );
+
+function wiki_list($channel, $observer_hash) {
+ $sql_extra = item_permissions_sql($channel['channel_id'], $observer_hash);
+ $wikis = q("SELECT * FROM item WHERE resource_type = '%s' AND mid = parent_mid AND uid = %d AND item_deleted = 0 $sql_extra",
+ dbesc(WIKI_ITEM_RESOURCE_TYPE),
+ intval($channel['channel_id'])
+ );
+ foreach($wikis as &$w) {
+ $w['rawName'] = get_iconfig($w, 'wiki', 'rawName');
+ $w['htmlName'] = get_iconfig($w, 'wiki', 'htmlName');
+ $w['urlName'] = get_iconfig($w, 'wiki', 'urlName');
+ $w['path'] = get_iconfig($w, 'wiki', 'path');
+ }
+ // TODO: query db for wikis the observer can access. Return with two lists, for read and write access
+ return array('wikis' => $wikis);
+}
+
+function wiki_page_list($resource_id) {
+ // TODO: Create item table records for pages so that metadata like title can be applied
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('pages' => null, 'wiki' => null);
+ }
+ $pages = array();
+ if (is_dir($w['path']) === true) {
+ $files = array_diff(scandir($w['path']), array('.', '..', '.git'));
+ // TODO: Check that the files are all text files
+
+ foreach($files as $file) {
+ // strip the .md file extension and unwrap URL encoding to leave HTML encoded name
+ $pages[] = array('title' => urldecode(substr($file, 0, -3)), 'url' => urlencode(substr($file, 0, -3)));
+ }
+ }
+
+ return array('pages' => $pages, 'wiki' => $w);
+}
+
+function wiki_init_wiki($channel, $wiki) {
+ // Store the path as a relative path, but pass absolute path to mkdir
+ $path = 'store/[data]/git/'.$channel['channel_address'].'/wiki/'.$wiki['urlName'];
+ if (!os_mkdir(__DIR__ . '/../' . $path, 0770, true)) {
+ logger('Error creating wiki path: ' . $path);
+ return null;
+ }
+ // Create GitRepo object
+ $git = new GitRepo($channel['channel_address'], null, false, $wiki['urlName'], __DIR__ . '/../' . $path);
+ if(!$git->initRepo()) {
+ logger('Error creating new git repo in ' . $git->path);
+ return null;
+ }
+
+ return array('path' => $path);
+}
+
+function wiki_create_wiki($channel, $observer_hash, $wiki, $acl) {
+ $wikiinit = wiki_init_wiki($channel, $wiki);
+ if (!$wikiinit['path']) {
+ notice('Error creating wiki');
+ return array('item' => null, 'success' => false);
+ }
+ $path = $wikiinit['path'];
+ // Generate unique resource_id using the same method as item_message_id()
+ do {
+ $dups = false;
+ $resource_id = random_string();
+ $r = q("SELECT mid FROM item WHERE resource_id = '%s' AND resource_type = '%s' AND uid = %d LIMIT 1",
+ dbesc($resource_id),
+ dbesc(WIKI_ITEM_RESOURCE_TYPE),
+ intval($channel['channel_id'])
+ );
+ if (count($r))
+ $dups = true;
+ } while ($dups == true);
+ $ac = $acl->get();
+ $mid = item_message_id();
+ $arr = array(); // Initialize the array of parameters for the post
+ $item_hidden = ((intval($wiki['postVisible']) === 0) ? 1 : 0);
+ $wiki_url = z_root() . '/wiki/' . $channel['channel_address'] . '/' . $wiki['urlName'];
+ $arr['aid'] = $channel['channel_account_id'];
+ $arr['uid'] = $channel['channel_id'];
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
+ $arr['item_hidden'] = $item_hidden;
+ $arr['resource_type'] = WIKI_ITEM_RESOURCE_TYPE;
+ $arr['resource_id'] = $resource_id;
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['author_xchan'] = $observer_hash;
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+ $arr['llink'] = $arr['plink'];
+ $arr['title'] = $wiki['htmlName']; // name of new wiki;
+ $arr['allow_cid'] = $ac['allow_cid'];
+ $arr['allow_gid'] = $ac['allow_gid'];
+ $arr['deny_cid'] = $ac['deny_cid'];
+ $arr['deny_gid'] = $ac['deny_gid'];
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_thread_top'] = 1;
+ $arr['item_private'] = intval($acl->is_private());
+ $arr['verb'] = ACTIVITY_CREATE;
+ $arr['obj_type'] = ACTIVITY_OBJ_WIKI;
+ $arr['body'] = '[table][tr][td][h1]New Wiki[/h1][/td][/tr][tr][td][zrl=' . $wiki_url . ']' . $wiki['htmlName'] . '[/zrl][/td][/tr][/table]';
+ // Save the path using iconfig. The file path should not be shared with other hubs
+ if (!set_iconfig($arr, 'wiki', 'path', $path, false)) {
+ return array('item' => null, 'success' => false);
+ }
+ // Save the wiki name information using iconfig. This is shareable.
+ if (!set_iconfig($arr, 'wiki', 'rawName', $wiki['rawName'], true)) {
+ return array('item' => null, 'success' => false);
+ }
+ if (!set_iconfig($arr, 'wiki', 'htmlName', $wiki['htmlName'], true)) {
+ return array('item' => null, 'success' => false);
+ }
+ if (!set_iconfig($arr, 'wiki', 'urlName', $wiki['urlName'], true)) {
+ return array('item' => null, 'success' => false);
+ }
+ $post = item_store($arr);
+ $item_id = $post['item_id'];
+
+ if ($item_id) {
+ proc_run('php', "include/notifier.php", "activity", $item_id);
+ return array('item' => $arr, 'success' => true);
+ } else {
+ return array('item' => null, 'success' => false);
+ }
+}
+
+function wiki_delete_wiki($resource_id) {
+
+ $w = wiki_get_wiki($resource_id);
+ $item = $w['wiki'];
+ if (!$item || !$w['path']) {
+ return array('item' => null, 'success' => false);
+ } else {
+ $drop = drop_item($item['id'], false, DROPITEM_NORMAL, true);
+ $pathdel = rrmdir($w['path']);
+ if ($pathdel) {
+ info('Wiki files deleted successfully');
+ }
+ return array('item' => $item, 'success' => (($drop === 1 && $pathdel) ? true : false));
+ }
+}
+
+function wiki_get_wiki($resource_id) {
+ $item = q("SELECT * FROM item WHERE resource_type = '%s' AND resource_id = '%s' AND item_deleted = 0 limit 1",
+ dbesc(WIKI_ITEM_RESOURCE_TYPE),
+ dbesc($resource_id)
+ );
+ if (!$item) {
+ return array('wiki' => null, 'path' => null);
+ } else {
+ $w = $item[0]; // wiki item table record
+ // Get wiki metadata
+ $rawName = get_iconfig($w, 'wiki', 'rawName');
+ $htmlName = get_iconfig($w, 'wiki', 'htmlName');
+ $urlName = get_iconfig($w, 'wiki', 'urlName');
+ $path = get_iconfig($w, 'wiki', 'path');
+ if (!realpath(__DIR__ . '/../' . $path)) {
+ return array('wiki' => null, 'path' => null);
+ }
+ // Path to wiki exists
+ $abs_path = realpath(__DIR__ . '/../' . $path);
+ return array( 'wiki' => $w,
+ 'path' => $abs_path,
+ 'rawName' => $rawName,
+ 'htmlName' => $htmlName,
+ 'urlName' => $urlName
+ );
+ }
+}
+
+function wiki_exists_by_name($uid, $urlName) {
+ $item = q("SELECT id,resource_id FROM item WHERE resource_type = '%s' AND title = '%s' AND uid = '%s' AND item_deleted = 0 limit 1",
+ dbesc(WIKI_ITEM_RESOURCE_TYPE),
+ dbesc(escape_tags(urldecode($urlName))),
+ dbesc($uid)
+ );
+ if (!$item) {
+ return array('id' => null, 'resource_id' => null);
+ } else {
+ return array('id' => $item[0]['id'], 'resource_id' => $item[0]['resource_id']);
+ }
+}
+
+function wiki_get_permissions($resource_id, $owner_id, $observer_hash) {
+ // TODO: For now, only the owner can edit
+ $sql_extra = item_permissions_sql($owner_id, $observer_hash);
+ $r = q("SELECT * FROM item WHERE resource_type = '%s' AND resource_id = '%s' $sql_extra LIMIT 1",
+ dbesc(WIKI_ITEM_RESOURCE_TYPE),
+ dbesc($resource_id)
+ );
+
+ if (!$r) {
+ return array('read' => false, 'write' => false, 'success' => true);
+ } else {
+ $perms = get_all_perms($owner_id, $observer_hash);
+ // TODO: Create a new permission setting for wiki analogous to webpages. Until
+ // then, use webpage permissions
+ if (!$perms['write_pages']) {
+ $write = false;
+ } else {
+ $write = true;
+ }
+ return array('read' => true, 'write' => $write, 'success' => true);
+ }
+}
+
+function wiki_create_page($name, $resource_id) {
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('page' => null, 'wiki' => null, 'message' => 'Wiki not found.', 'success' => false);
+ }
+ $page = array('rawName' => $name, 'htmlName' => escape_tags($name), 'urlName' => urlencode(escape_tags($name)), 'fileName' => urlencode(escape_tags($name)).'.md');
+ $page_path = $w['path'] . '/' . $page['fileName'];
+ if (is_file($page_path)) {
+ return array('page' => null, 'wiki' => null, 'message' => 'Page already exists.', 'success' => false);
+ }
+ // Create the page file in the wiki repo
+ if(!touch($page_path)) {
+ return array('page' => null, 'wiki' => null, 'message' => 'Page file cannot be created.', 'success' => false);
+ } else {
+ return array('page' => $page, 'wiki' => $w, 'message' => '', 'success' => true);
+ }
+
+}
+
+function wiki_rename_page($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $pageNewName = ((array_key_exists('pageNewName',$arr)) ? $arr['pageNewName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('message' => 'Wiki not found.', 'success' => false);
+ }
+ $page_path_old = $w['path'].'/'.$pageUrlName.'.md';
+ if (!is_readable($page_path_old) === true) {
+ return array('message' => 'Cannot read wiki page: ' . $page_path_old, 'success' => false);
+ }
+ $page = array('rawName' => $pageNewName, 'htmlName' => escape_tags($pageNewName), 'urlName' => urlencode(escape_tags($pageNewName)), 'fileName' => urlencode(escape_tags($pageNewName)).'.md');
+ $page_path_new = $w['path'] . '/' . $page['fileName'] ;
+ if (is_file($page_path_new)) {
+ return array('message' => 'Page already exists.', 'success' => false);
+ }
+ // Rename the page file in the wiki repo
+ if(!rename($page_path_old, $page_path_new)) {
+ return array('message' => 'Error renaming page file.', 'success' => false);
+ } else {
+ return array('page' => $page, 'message' => '', 'success' => true);
+ }
+
+}
+
+function wiki_get_page_content($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('content' => null, 'message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (is_readable($page_path) === true) {
+ if(filesize($page_path) === 0) {
+ $content = '';
+ } else {
+ $content = file_get_contents($page_path);
+ if(!$content) {
+ return array('content' => null, 'message' => 'Error reading page content', 'success' => false);
+ }
+ }
+ // TODO: Check that the files are all text files
+ return array('content' => json_encode($content), 'message' => '', 'success' => true);
+ }
+}
+
+function wiki_page_history($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('history' => null, 'message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (!is_readable($page_path) === true) {
+ return array('history' => null, 'message' => 'Cannot read wiki page: ' . $page_path, 'success' => false);
+ }
+ $reponame = ((array_key_exists('title', $w['wiki'])) ? $w['wiki']['title'] : 'repo');
+ if($reponame === '') {
+ $reponame = 'repo';
+ }
+ $git = new GitRepo('', null, false, $w['wiki']['title'], $w['path']);
+ try {
+ $gitlog = $git->git->log('', $page_path , array('limit' => 500));
+ return array('history' => $gitlog, 'message' => '', 'success' => true);
+ } catch (\PHPGit\Exception\GitException $e) {
+ return array('history' => null, 'message' => 'GitRepo error thrown', 'success' => false);
+ }
+}
+
+function wiki_save_page($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $content = ((array_key_exists('content',$arr)) ? purify_html($arr['content']) : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (is_writable($page_path) === true) {
+ if(!file_put_contents($page_path, $content)) {
+ return array('message' => 'Error writing to page file', 'success' => false);
+ }
+ return array('message' => '', 'success' => true);
+ } else {
+ return array('message' => 'Page file not writable', 'success' => false);
+ }
+}
+
+function wiki_delete_page($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (is_writable($page_path) === true) {
+ if(!unlink($page_path)) {
+ return array('message' => 'Error deleting page file', 'success' => false);
+ }
+ return array('message' => '', 'success' => true);
+ } else {
+ return array('message' => 'Page file not writable', 'success' => false);
+ }
+}
+
+function wiki_revert_page($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $commitHash = ((array_key_exists('commitHash',$arr)) ? $arr['commitHash'] : null);
+ if (! $commitHash) {
+ return array('content' => $content, 'message' => 'No commit was provided', 'success' => false);
+ }
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('content' => $content, 'message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (is_writable($page_path) === true) {
+
+ $reponame = ((array_key_exists('title', $w['wiki'])) ? urlencode($w['wiki']['title']) : 'repo');
+ if($reponame === '') {
+ $reponame = 'repo';
+ }
+ $git = new GitRepo($observer['xchan_addr'], null, false, $w['wiki']['title'], $w['path']);
+ $content = null;
+ try {
+ $git->setIdentity($observer['xchan_name'], $observer['xchan_addr']);
+ foreach ($git->git->tree($commitHash) as $object) {
+ if ($object['type'] == 'blob' && $object['file'] === $pageUrlName.'.md' ) {
+ $content = $git->git->cat->blob($object['hash']);
+ }
+ }
+ } catch (\PHPGit\Exception\GitException $e) {
+ return array('content' => $content, 'message' => 'GitRepo error thrown', 'success' => false);
+ }
+ return array('content' => $content, 'message' => '', 'success' => true);
+ } else {
+ return array('content' => $content, 'message' => 'Page file not writable', 'success' => false);
+ }
+}
+
+function wiki_compare_page($arr) {
+ $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
+ $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
+ $currentCommit = ((array_key_exists('currentCommit',$arr)) ? $arr['currentCommit'] : 'HEAD');
+ $compareCommit = ((array_key_exists('compareCommit',$arr)) ? $arr['compareCommit'] : null);
+ if (! $compareCommit) {
+ return array('message' => 'No compare commit was provided', 'success' => false);
+ }
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('message' => 'Error reading wiki', 'success' => false);
+ }
+ $page_path = $w['path'].'/'.$pageUrlName.'.md';
+ if (is_readable($page_path) === true) {
+ $reponame = ((array_key_exists('title', $w['wiki'])) ? urlencode($w['wiki']['title']) : 'repo');
+ if($reponame === '') {
+ $reponame = 'repo';
+ }
+ $git = new GitRepo('', null, false, $w['wiki']['title'], $w['path']);
+ $compareContent = $currentContent = '';
+ try {
+ foreach ($git->git->tree($currentCommit) as $object) {
+ if ($object['type'] == 'blob' && $object['file'] === $pageUrlName.'.md' ) {
+ $currentContent = $git->git->cat->blob($object['hash']);
+ }
+ }
+ foreach ($git->git->tree($compareCommit) as $object) {
+ if ($object['type'] == 'blob' && $object['file'] === $pageUrlName.'.md' ) {
+ $compareContent = $git->git->cat->blob($object['hash']);
+ }
+ }
+ require_once('library/class.Diff.php');
+ $diff = Diff::toTable(Diff::compare($currentContent, $compareContent));
+ } catch (\PHPGit\Exception\GitException $e) {
+ return array('message' => 'GitRepo error thrown', 'success' => false);
+ }
+ return array('diff' => $diff, 'message' => '', 'success' => true);
+ } else {
+ return array('message' => 'Page file not writable', 'success' => false);
+ }
+}
+
+function wiki_git_commit($arr) {
+ $files = ((array_key_exists('files', $arr)) ? $arr['files'] : null);
+ $all = ((array_key_exists('all', $arr)) ? $arr['all'] : false);
+ $commit_msg = ((array_key_exists('commit_msg', $arr)) ? $arr['commit_msg'] : 'Repo updated');
+ if(array_key_exists('resource_id', $arr)) {
+ $resource_id = $arr['resource_id'];
+ } else {
+ return array('message' => 'Wiki resource_id required for git commit', 'success' => false);
+ }
+ if(array_key_exists('observer', $arr)) {
+ $observer = $arr['observer'];
+ } else {
+ return array('message' => 'Observer required for git commit', 'success' => false);
+ }
+ $w = wiki_get_wiki($resource_id);
+ if (!$w['path']) {
+ return array('message' => 'Error reading wiki', 'success' => false);
+ }
+ $reponame = ((array_key_exists('title', $w['wiki'])) ? urlencode($w['wiki']['title']) : 'repo');
+ if($reponame === '') {
+ $reponame = 'repo';
+ }
+ $git = new GitRepo($observer['xchan_addr'], null, false, $w['wiki']['title'], $w['path']);
+ try {
+ $git->setIdentity($observer['xchan_name'], $observer['xchan_addr']);
+ if ($files === null) {
+ $options = array('all' => true); // git commit option to include all changes
+ } else {
+ $options = array('all' => $all); // git commit options\
+ foreach ($files as $file) {
+ if (!$git->git->add($file)) { // add specified files to the git repo stage
+ if (!$git->git->reset->hard()) {
+ return array('message' => 'Error adding file to git stage: ' . $file . '. Error resetting git repo.', 'success' => false);
+ }
+ return array('message' => 'Error adding file to git stage: ' . $file, 'success' => false);
+ }
+ }
+ }
+ if ($git->commit($commit_msg, $options)) {
+ return array('message' => 'Wiki repo commit succeeded', 'success' => true);
+ } else {
+ return array('message' => 'Wiki repo commit failed', 'success' => false);
+ }
+ } catch (\PHPGit\Exception\GitException $e) {
+ return array('message' => 'GitRepo error thrown', 'success' => false);
+ }
+}
+
+function wiki_generate_page_filename($name) {
+ $file = urlencode(escape_tags($name));
+ if( $file === '') {
+ return null;
+ } else {
+ return $file . '.md';
+ }
+}
+
+function wiki_convert_links($s, $wikiURL) {
+
+ if (strpos($s,'[[') !== false) {
+ preg_match_all("/\[\[(.*?)\]\]/", $s, $match);
+ $pages = $pageURLs = array();
+ foreach ($match[1] as $m) {
+ // TODO: Why do we need to double urlencode for this to work?
+ $pageURLs[] = urlencode(urlencode(escape_tags($m)));
+ $pages[] = $m;
+ }
+ $idx = 0;
+ while(strpos($s,'[[') !== false) {
+ $replace = '<a href="'.$wikiURL.'/'.$pageURLs[$idx].'">'.$pages[$idx].'</a>';
+ $s = preg_replace("/\[\[(.*?)\]\]/", $replace, $s, 1);
+ $idx++;
+ }
+ }
+ return $s;
+} \ No newline at end of file
diff --git a/include/zot.php b/include/zot.php
index af79b5723..6dd789181 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -538,11 +538,21 @@ function zot_refresh($them, $channel = null, $force = false) {
Zotlabs\Daemon\Master::Summon(array('Onepoll',$new_connection[0]['abook_id']));
}
+
+ /** If there is a default group for this channel, add this connection to it */
+ $default_group = $channel['channel_default_group'];
+ if($default_group) {
+ require_once('include/group.php');
+ $g = group_rec_byhash($channel['channel_id'],$default_group);
+ if($g)
+ group_add_member($channel['channel_id'],'',$x['hash'],$g['id']);
+ }
+
unset($new_connection[0]['abook_id']);
unset($new_connection[0]['abook_account']);
unset($new_connection[0]['abook_channel']);
- $abconfig = load_abconfig($channel['channel_hash'],$new_connection['abook_xchan']);
+ $abconfig = load_abconfig($channel['channel_id'],$new_connection['abook_xchan']);
if($abconfig)
$new_connection['abconfig'] = $abconfig;
@@ -3021,7 +3031,8 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
$info = (($packet) ? $packet : array());
$info['type'] = 'channel_sync';
- $info['encoding'] = 'red'; // note: not zot, this packet is very red specific
+ $info['encoding'] = 'red'; // note: not zot, this packet is very platform specific
+ $info['relocate'] = ['channel_address' => $channel['channel_address'], 'url' => z_root() ];
if(array_key_exists($uid,App::$config) && array_key_exists('transient',App::$config[$uid])) {
$settings = App::$config[$uid]['transient'];
@@ -3159,10 +3170,13 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
sync_events($channel,$arr['event']);
if(array_key_exists('event_item',$arr) && $arr['event_item'])
- sync_items($channel,$arr['event_item']);
+ sync_items($channel,$arr['event_item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null));
if(array_key_exists('item',$arr) && $arr['item'])
- sync_items($channel,$arr['item']);
+ sync_items($channel,$arr['item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null));
+
+ // deprecated, maintaining for a few months for upward compatibility
+ // this should sync webpages, but the logic is a bit subtle
if(array_key_exists('item_id',$arr) && $arr['item_id'])
sync_items($channel,$arr['item_id']);
@@ -3321,8 +3335,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
if($abconfig) {
// @fixme does not handle sync of del_abconfig
foreach($abconfig as $abc) {
- if($abc['chan'] === $channel['channel_hash'])
- set_abconfig($abc['chan'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']);
+ set_abconfig($channel['channel_id'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']);
}
}
}
@@ -3519,13 +3532,6 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
}
-
- if(array_key_exists('item',$arr) && $arr['item'])
- sync_items($channel,$arr['item']);
-
- if(array_key_exists('item_id',$arr) && $arr['item_id'])
- sync_items($channel,$arr['item_id']);
-
$addon = array('channel' => $channel,'data' => $arr);
call_hooks('process_channel_sync_delivery',$addon);
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index a536c3f9a..d2a5ac85e 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -1,7 +1,7 @@
CREATE TABLE IF NOT EXISTS `abconfig` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `chan` char(255) NOT NULL DEFAULT '',
+ `chan` int(10) unsigned NOT NULL DEFAULT '',
`xchan` char(255) NOT NULL DEFAULT '',
`cat` char(255) NOT NULL DEFAULT '',
`k` char(255) NOT NULL DEFAULT '',
@@ -199,6 +199,26 @@ CREATE TABLE IF NOT EXISTS `cache` (
PRIMARY KEY (`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `cal` (
+ `cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cal_hash` varchar(255) NOT NULL DEFAULT '',
+ `cal_name` varchar(255) NOT NULL DEFAULT '',
+ `uri` varchar(255) NOT NULL DEFAULT '',
+ `logname` varchar(255) NOT NULL DEFAULT '',
+ `pass` varchar(255) NOT NULL DEFAULT '',
+ `ctag` varchar(255) NOT NULL DEFAULT '',
+ `synctoken` varchar(255) NOT NULL DEFAULT '',
+ `cal_types` varchar(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cal_id`),
+ KEY `cal_aid` (`cal_aid`),
+ KEY `cal_uid` (`cal_uid`),
+ KEY `cal_hash` (`cal_hash`),
+ KEY `cal_name` (`cal_name`),
+ KEY `cal_types` (`cal_types`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `channel` (
`channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
@@ -394,6 +414,7 @@ CREATE TABLE IF NOT EXISTS `event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
`uid` int(11) NOT NULL DEFAULT '0',
+ `cal_id` int(11) unsigned NOT NULL DEFAULT '0',
`event_xchan` char(255) NOT NULL DEFAULT '',
`event_hash` char(255) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -420,6 +441,7 @@ CREATE TABLE IF NOT EXISTS `event` (
`event_vdata` text NOT NULL,
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
+ KEY `cal_id` (`cal_id`),
KEY `etype` (`etype`),
KEY `dtstart` (`dtstart`),
KEY `dtend` (`dtend`),
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index b637fea43..64cf37f7e 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -1,6 +1,6 @@
CREATE TABLE "abconfig" (
"id" serial NOT NULL,
- "chan" text NOT NULL,
+ "chan" bigint NOT NULL,
"xchan" text NOT NULL,
"cat" text NOT NULL,
"k" text NOT NULL,
@@ -193,6 +193,26 @@ CREATE TABLE "cache" (
"updated" timestamp NOT NULL,
PRIMARY KEY ("k")
);
+CREATE TABLE "cal" (
+ "cal_id" serial NOT NULL,
+ "cal_aid" bigint NOT NULL DEFAULT '0',
+ "cal_uid" bigint NOT NULL DEFAULT '0',
+ "cal_hash" text NOT NULL,
+ "cal_name" text NOT NULL,
+ "uri" text NOT NULL,
+ "logname" text NOT NULL,
+ "pass" text NOT NULL,
+ "ctag" text NOT NULL,
+ "synctoken" text NOT NULL,
+ "cal_types" text NOT NULL DEFAULT "0",
+ PRIMARY KEY ("cal_id")
+);
+create index "cal_hash_idx" on cal ("cal_hash");
+create index "cal_name_idx" on cal ("cal_name");
+create index "cal_types_idx" on cal ("cal_types");
+create index "cal_aid_idx" on cal ("cal_aid");
+create index "cal_uid_idx" on cal ("cal_uid");
+
CREATE TABLE "channel" (
"channel_id" serial NOT NULL,
"channel_account_id" bigint NOT NULL DEFAULT '0',
@@ -380,14 +400,11 @@ create index "dreport_xchan" on dreport ("dreport_xchan");
create index "dreport_queue" on dreport ("dreport_queue");
create index "dreport_channel" on dreport ("dreport_channel");
-
-
-
-
CREATE TABLE "event" (
"id" serial NOT NULL,
"aid" bigint NOT NULL DEFAULT '0',
"uid" bigint NOT NULL,
+ "cal_id" bigint NOT NULL DEFAULT '0',
"event_xchan" text NOT NULL DEFAULT '',
"event_hash" text NOT NULL DEFAULT '',
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -415,6 +432,7 @@ CREATE TABLE "event" (
PRIMARY KEY ("id")
);
create index "event_uid_idx" on event ("uid");
+create index "event_cal_idx" on event ("cal_id");
create index "event_etype_idx" on event ("etype");
create index "event_dtstart_idx" on event ("dtstart");
create index "event_dtend_idx" on event ("dtend");
diff --git a/install/update.php b/install/update.php
index 908f60498..3cb5010eb 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1176 );
+define( 'UPDATE_VERSION' , 1179 );
/**
*
@@ -2254,3 +2254,110 @@ function update_r1175() {
return UPDATE_FAILED;
}
+
+
+function update_r1176() {
+
+ $r = q("select * from item_id where true");
+ if($r) {
+ foreach($r as $rr) {
+ \Zotlabs\Lib\IConfig::Set($rr['iid'],'system',$rr['service'],$rr['sid'],true);
+ }
+ }
+ return UPDATE_SUCCESS;
+
+}
+
+function update_r1177() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("alter table event add cal_id bigint NOT NULL DEFAULT '0'");
+ $r2 = q("create index \"event_cal_idx\" on event (\"cal_id\") ");
+
+ $r3 = q("CREATE TABLE \"cal\" (
+ \"cal_id\" serial NOT NULL,
+ \"cal_aid\" bigint NOT NULL DEFAULT '0',
+ \"cal_uid\" bigint NOT NULL DEFAULT '0',
+ \"cal_hash\" text NOT NULL,
+ \"cal_name\" text NOT NULL,
+ \"uri\" text NOT NULL,
+ \"logname\" text NOT NULL,
+ \"pass\" text NOT NULL,
+ \"ctag\" text NOT NULL,
+ \"synctoken\" text NOT NULL,
+ \"cal_types\" text NOT NULL,
+ PRIMARY KEY (\"cal_id\") ");
+ $r4 = q("create index \"cal_hash_idx\" on cal (\"cal_hash\") ");
+ $r5 = q("create index \"cal_name_idx\" on cal (\"cal_name\") ");
+ $r6 = q("create index \"cal_types_idx\" on cal (\"cal_types\") ");
+ $r7 = q("create index \"cal_aid_idx\" on cal (\"cal_aid\") ");
+ $r8 = q("create index \"cal_uid_idx\" on cal (\"cal_uid\") ");
+ $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8;
+ }
+ else {
+ $r1 = q("alter table event add cal_id int(10) unsigned NOT NULL DEFAULT '0',
+ add index ( cal_id ) ");
+
+ $r2 = q("CREATE TABLE IF NOT EXISTS `cal` (
+ `cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cal_hash` varchar(255) NOT NULL DEFAULT '',
+ `cal_name` varchar(255) NOT NULL DEFAULT '',
+ `uri` varchar(255) NOT NULL DEFAULT '',
+ `logname` varchar(255) NOT NULL DEFAULT '',
+ `pass` varchar(255) NOT NULL DEFAULT '',
+ `ctag` varchar(255) NOT NULL DEFAULT '',
+ `synctoken` varchar(255) NOT NULL DEFAULT '',
+ `cal_types` varchar(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cal_id`),
+ KEY `cal_aid` (`cal_aid`),
+ KEY `cal_uid` (`cal_uid`),
+ KEY `cal_hash` (`cal_hash`),
+ KEY `cal_name` (`cal_name`),
+ KEY `cal_types` (`cal_types`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
+
+ $r = $r1 && $r2;
+ }
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1178() {
+
+ $c2 = null;
+
+ $c1 = q("SELECT channel_id, channel_hash from channel where true");
+ if($c1) {
+ $c2 = q("SELECT id, chan from abconfig where true");
+ if($c2) {
+ for($x = 0; $x < count($c2); $x ++) {
+ foreach($c1 as $c) {
+ if($c['channel_hash'] == $c2[$x]['chan']) {
+ $c2[$x]['chan'] = $c['channel_id'];
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ $r1 = q("ALTER TABLE abconfig CHANGE chan chan int(10) unsigned NOT NULL DEFAULT '0' ");
+
+ if($c2) {
+ foreach($c2 as $c) {
+ q("UPDATE abconfig SET chan = %d where id = %d",
+ intval($c['chan']),
+ intval($c['id'])
+ );
+ }
+ }
+
+ if($r1)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/README b/library/Text_Highlighter/README
new file mode 100644
index 000000000..88f71aed2
--- /dev/null
+++ b/library/Text_Highlighter/README
@@ -0,0 +1,455 @@
+# $Id$
+
+Introduction
+============
+
+Text_Highlighter is a class for syntax highlighting. The main idea is to
+simplify creation of subclasses implementing syntax highlighting for
+particular language. Subclasses do not implement any new functioanality, they
+just provide syntax highlighting rules. The rules sources are in XML format.
+To create a highlighter for a language, there is no need to code a new class
+manually. Simply describe the rules in XML file and use Text_Highlighter_Generator
+to create a new class.
+
+
+This document does not contain a formal description of API - it is very
+simple, and I believe providing some examples of code is sufficient.
+
+
+Highlighter XML source
+======================
+
+Basics
+------
+
+Creating a new syntax highlighter begins with describing the highlighting
+rules. There are two basic elements: block and region. A block is just a
+portion of text matching a regular expression and highlighted with a single
+color. Keyword is an example of a block. A region is defined by two regular
+expressions: one for start of region, and another for the end. The main
+difference from a block is that a region can contain blocks and regions
+(including same-named regions). An example of a region is a group of
+statements enclosed in curly brackets (this is used in many languages, for
+example PHP and C). Also, characters matching start and end of a region may be
+highlighted with their own color, and region contents with another.
+
+Blocks and regions may be declared as contained. Contained blocks and regions
+can only appear inside regions. If a region or a block is not declared as
+contained, it can appear both on top level and inside regions. Block or region
+declared as not-contained can only appear on top level.
+
+For any region, a list of blocks and regions that can appear inside this
+region can be specified.
+
+In this document, the term "color group" is used. Chunks of text assigned to
+same color group will be highlighted with same color. Note that in versions
+prior 0.5.0 color goups were refered as CSS classes, but since 0.5.0 not only
+HTML output is supported, so "color group" is more appropriate term.
+
+Elements
+--------
+
+The toplevel element is <highlight>. Attribute lang is required and denotes
+the name of the language. Its value is used as a part of generated class name,
+and must only contain letters, digits and underscores. Optional attribute
+case, when given value yes, makes the language case sensitive (default is case
+insensitive). Allowed subelements are:
+
+ * <authors>: Information about the authors of the file.
+ <author>: Information about a single author of the file. (May be used
+ multiple times, one per author.)
+ - name="...": Author's name. Required.
+ - email="...": Author's email address. Optional.
+
+ * <default>: Default color group.
+ - innerGroup="...": color group name. Required.
+
+ * <region>: Region definition
+ - name="...": Region name. Required.
+ - innerGroup="...": Default color group of region contents. Required.
+ - delimGroup="...": color group of start and end of region. Optional,
+ defaults to value of innerGroup attribute.
+ - start="...", end="...": Regular expression matching start and end
+ of region. Required. Regular expression delimiters are optional, but
+ if you need to specify delimiter, use /. The only case when the
+ delimiters are needed, is specifying regular expression modifiers,
+ such as m or U. Examples: \/\* or /$/m.
+ - contained="yes": Marks region as contained.
+ - never-contained="yes": Marks region as not-contained.
+ - <contains>: Elements allowed inside this region.
+ - all="yes" Region can contain any other region or block
+ (except not-contained). May be used multiple times.
+ - <but> Do not allow certain regions or blocks.
+ - region="..." Name of region not allowed within
+ current region.
+ - block="..." Name of block not allowed within
+ current region.
+ - region="..." Name of region allowed within current region.
+ - block="..." Name of block allowed within current region.
+ - <onlyin> Only allow this region within certain regions. May be
+ used multiple times.
+ - block="..." Name of parent region
+
+ * <block>: Block definition
+ - name="...": Block name. Required.
+ - innerGroup="...": color group of block contents. Optional. If not
+ specified, color group of parent region or default color group will be
+ used. One would only want to omit this attribute if there are
+ keyword groups (see below) inherited from this block, and no special
+ highlighting should apply when the block does not match the keyword.
+ - match="..." Regular expression matching the block. Required.
+ Regular expression delimiters are optional, but if you need to
+ specify delimiter, use /. The only case when the delimiters are
+ needed, is specifying regular expression modifiers, such as m or U.
+ Examples: #|\/\/ or /$/m.
+ - contained="yes": Marks block as contained.
+ - never-contained="yes": Marks block as not-contained.
+ - <onlyin> Only allow this block within certain regions. May be used
+ multiple times.
+ - block="..." Name of parent region
+ - multiline="yes": Marks block as multi-line. By default, whole
+ blocks are assumed to reside in a single line. This make the things
+ faster. If you need to declare a multi-line block, use this
+ attribute.
+ - <partgroup>: Assigns another color group to a part of the block that
+ matched a subpattern.
+ - index="n": Subpattern index. Required.
+ - innerGroup="...": color group name. Required.
+
+ This is an example from CSS highlighter: the measure is matched as
+ a whole, but the measurement units are highlighted with different
+ color.
+
+ <block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
+ innerGroup="number" contained="yes">
+ <onlyin region="property"/>
+ <partGroup index="1" innerGroup="string" />
+ </block>
+
+ * <keywords>: Keyword group definition. Keyword groups are useful when you
+ want to highlight some words that match a condition for a block with a
+ different color. Keywords are defined with literal match, not regular
+ expressions. For example, you have a block named identifier matching a
+ general identifier, and want to highlight reserved words (which match
+ this block as well) with different color. You inherit a keyword group
+ "reserved" from "identifier" block.
+ - name="...": Keyword group. Required.
+ - ifdef="...", ifndef="..." : Conditional declaration. See
+ "Conditions" below.
+ - inherits="...": Inherited block name. Required.
+ - innerGroup="...": color group of keyword group. Required.
+ - case="yes|no": Overrides case-sensitivity of the language.
+ Optional, defaults to global value.
+ - <keyword>: Single keyword definition.
+ - match="..." The keyword. Note: this is not a regular
+ expression, but literal match (possibly case insensitive).
+
+Note that for BC reasons element partClass is alias for partGroup, and
+attributes innerClass and delimClass are aliases of innerGroup and
+delimGroup, respectively.
+
+
+Conditions
+----------
+
+Conditional declarations allow enabling or disabling certain highlighting
+rules at runtime. For example, Java highlighter has a very big list of
+keywords matching Java standard classes. Finding a match in this list can take
+much time. For that reason, corresponding keyword group is declared with
+"ifdef" attribute :
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin"
+ case="yes" ifdef="java.builtins">
+ <keyword match="AbstractAction" />
+ <keyword match="AbstractBorder" />
+ <keyword match="AbstractButton" />
+ ...
+ ...
+ <keyword match="_Remote_Stub" />
+ <keyword match="_ServantActivatorStub" />
+ <keyword match="_ServantLocatorStub" />
+ </keywords>
+
+This keyword group will be only enabled when "java.builtins" is passed as an
+element of "defines" option:
+
+ $options = array(
+ 'defines' => array(
+ 'java.builtins',
+ ),
+ 'numbers' => HL_NUMBERS_TABLE,
+ );
+ $highlighter = Text_Highlighter::factory('java', $options);
+
+"ifndef" attribute has reverse meaning.
+
+Currently, "ifdef" and "ifndef" attributes are only supported for <keywords>
+tag.
+
+
+
+Class generation
+================
+
+Creating XML description of highlighting rules is the most complicated part of
+the process. To generate the class, you need just few lines of code:
+
+ <?php
+ require_once 'Text/Highlighter/Generator.php';
+ $generator = new Text_Highlighter_Generator('php.xml');
+ $generator->generate();
+ $generator->saveCode('PHP.php');
+ ?>
+
+
+
+Command-line class generation tool
+==================================
+
+Example from previous section looks pretty simple, but it does not handle any
+errors which may occur during parsing of XML source. The package provides a
+command-line script to make generation of classes even more simple, and takes
+care of possible errors. It is called generate (on Unix/Linux) or generate.bat
+(on Windows). This script is able to process multiple files in one run, and
+also to process XML from standard input and write generated code to standard
+output.
+
+ Usage:
+ generate options
+
+ Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+
+Examples
+
+ Read from php.xml, write to PHP.php
+
+ generate -x php.xml -p PHP.php
+
+ Read from php.xml, write to standard output
+
+ generate -x php.xml
+
+ Read from php.xml, write to PHP.php, read from xml.xml, write to XML.php
+
+ generate -x php.xml -p PHP.php -x xml.xml -p XML.php
+
+ Read from php.xml, write to /some/dir/PHP.php, read from xml.xml, write to
+ /some/dir/XML.php (assuming that xml.xml contains <highlight lang="xml">, and
+ php.xml contains <highlight lang="php">)
+
+ generate -x php.xml -x xml.xml -d /some/dir/
+
+
+
+Renderers
+=========
+
+Introduction
+------------
+
+Text_Highlighter supports renderes. Using renderers, you can get output in
+different formats. Two renderers are included in the package:
+
+ - HTML renderer. Generates HTML output. A style sheet should be linked to
+ the document to display colored text
+
+ - Console renderer. Can be used to output highlighted text to
+ color-capable terminals, either directly or trough less -r
+
+
+Renderers API
+-------------
+
+Renderers are subclasses of Text_Highlighter_Renderer. Renderer should
+override at least two methods - acceptToken and getOutput. Overriding other
+methods is optional, depending on the nature of renderer's output and details
+of implementation.
+
+ string reset()
+ resets renderer state. This method is called every time before a new
+ source file is highlighted.
+
+ string preprocess(string $code)
+ preprocesses code. Can be used, for example, to normalize whitespace
+ before highlighting. Returns preprocessed string.
+
+ void acceptToken(string $group, string $content)
+ the core method of the renderer. Highlighter passes chunks of text to
+ this method in $content, and color group in $group
+
+ void finalize()
+ signals the renderer that no more tokens are available.
+
+ mixed getOutput()
+ returns generated output.
+
+
+Setting renderer options
+--------------------------------
+
+Renderers accept an optional argument to their constructor - options array.
+Elements of this array are renderer-specific.
+
+HTML renderer
+-------------
+
+HTML renderer produces HTML output with optional line numbering. The renderer
+itself does not provide information about actual colors of highlighted text.
+Instead, <span class="hl-XXX"> is used, where XXX is replaced with color group
+name (hl-var, hl-string, etc.). It is up to you to create a CSS stylesheet.
+If 'use_language' option with value evaluating to true was passed, class names
+will be formatted as "LANG-hl-XXX", where LANG is language name as defined in
+highlighter XML source ("lang" attribute of <highlight> tag) in lower case.
+
+There are 3 special CSS classes:
+
+ hl-main - this class applies to whole output or right table column,
+ depending on 'numbers' option
+ hl-gutter - applies to left column in table
+ hl-table - applies to whole table
+
+HTML renderer accepts following options (each being optional):
+
+ * numbers - line numbering style.
+ 0 - no numbering (default)
+ HL_NUMBERS_LI - use <ol></ol> for line numbering
+ HL_NUMBERS_TABLE - create a 2-column table, with line numbers in left
+ column and highlighted text in right column
+
+ * tabsize - tabulation size. Defaults to 4
+
+ Example:
+
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+
+Console renderer
+----------------
+
+Console renderer produces output for displaying on a color-capable terminal,
+either directly or through less -r, using ANSI escape sequences. By default,
+this renderer only highlights most common color groups. Additional colors
+can be specified using 'colors' option. This renderer also accepts 'numbers'
+option - a boolean value, and 'tabsize' option.
+
+ Example :
+
+ require_once 'Text/Highlighter/Renderer/Console.php';
+ $colors = array(
+ 'prepro' => "\033[35m",
+ 'types' => "\033[32m",
+ );
+ $options = array(
+ 'numbers' => true,
+ 'tabsize' => 8,
+ 'colors' => $colors,
+ );
+ $renderer = new Text_Highlighter_Renderer_Console($options);
+
+
+ANSI color escape sequences have the following format:
+
+ ESC[#;#;....;#m
+
+where ESC is character with ASCII code 27 (033 octal, 0x1B hexadecimal). # is
+one of the following:
+
+ 0 for normal display
+ 1 for bold on
+ 4 underline (mono only)
+ 5 blink on
+ 7 reverse video on
+ 8 nondisplayed (invisible)
+ 30 black foreground
+ 31 red foreground
+ 32 green foreground
+ 33 yellow foreground
+ 34 blue foreground
+ 35 magenta foreground
+ 36 cyan foreground
+ 37 white foreground
+ 40 black background
+ 41 red background
+ 42 green background
+ 43 yellow background
+ 44 blue background
+ 45 magenta background
+ 46 cyan background
+ 47 white background
+
+
+How to use Text_Highlighter class
+=================================
+
+Creating a highlighter object
+-----------------------------
+
+To create a highlighter for a certain language, use Text_Highlighter::factory()
+static method:
+
+ require_once 'Text/Highlighter.php';
+ $hl = Text_Highlighter::factory('php');
+
+
+Setting a renderer
+------------------
+
+Actual output is produced by a renderer.
+
+ require_once 'Text/Highlighter.php';
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory('php');
+ $hl->setRenderer($renderer);
+
+Note that for BC reasons, it is possible to use highlighter without setting a
+renderer. If no renderer is set, HTML renderer will be used by default. In
+this case, you should pass options as second parameter to factory method. The
+following example works exactly as previous one:
+
+ require_once 'Text/Highlighter.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $hl = Text_Highlighter::factory('php', $options);
+
+
+Getting output
+--------------
+
+And finally, do the highlighting and get the output:
+
+ require_once 'Text/Highlighter.php';
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory('php');
+ $hl->setRenderer($renderer);
+ $html = $hl->highlight(file_get_contents('example.php'));
+
+# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
+
diff --git a/library/Text_Highlighter/TODO b/library/Text_Highlighter/TODO
new file mode 100644
index 000000000..77a148b8a
--- /dev/null
+++ b/library/Text_Highlighter/TODO
@@ -0,0 +1,12 @@
+# $Id$
+
+Major issues to solve (but I currently have no idea how) :
+
+- speedup highlighting process
+
+- switching between highlighters depending on context, for example :
+ PHP code -> HTML -> (JavaScript|CSS)
+
+
+# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
+
diff --git a/library/Text_Highlighter/Text/Highlighter.php b/library/Text_Highlighter/Text/Highlighter.php
new file mode 100644
index 000000000..480113c16
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter.php
@@ -0,0 +1,398 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Highlighter base class
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+// require_once 'PEAR.php';
+
+// {{{ BC constants
+
+// BC trick : define constants related to default
+// renderer if needed
+if (!defined('HL_NUMBERS_LI')) {
+ /**#@+
+ * Constant for use with $options['numbers']
+ * @see Text_Highlighter_Renderer_Html::_init()
+ */
+ /**
+ * use numbered list
+ */
+ define ('HL_NUMBERS_LI' , 1);
+ /**
+ * Use 2-column table with line numbers in left column and code in right column.
+ * Forces $options['tag'] = HL_TAG_PRE
+ */
+ define ('HL_NUMBERS_TABLE' , 2);
+ /**#@-*/
+}
+
+// }}}
+// {{{ constants
+/**
+ * for our purpose, it is infinity
+ */
+define ('HL_INFINITY', 1000000000);
+
+// }}}
+
+/**
+ * Text highlighter base class
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+// {{{ Text_Highlighter
+
+/**
+ * Text highlighter base class
+ *
+ * This class implements all functions necessary for highlighting,
+ * but it does not contain highlighting rules. Actual highlighting is
+ * done using a descendent of this class.
+ *
+ * One is not supposed to manually create descendent classes.
+ * Instead, describe highlighting rules in XML format and
+ * use {@link Text_Highlighter_Generator} to create descendent class.
+ * Alternatively, an instance of a descendent class can be created
+ * directly.
+ *
+ * Use {@link Text_Highlighter::factory()} to create an
+ * object for particular language highlighter
+ *
+ * Usage example
+ * <code>
+ *require_once 'Text/Highlighter.php';
+ *$hlSQL = Text_Highlighter::factory('SQL',array('numbers'=>true));
+ *echo $hlSQL->highlight('SELECT * FROM table a WHERE id = 12');
+ * </code>
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @package Text_Highlighter
+ * @access public
+ */
+
+class Text_Highlighter
+{
+ // {{{ members
+
+ /**
+ * Syntax highlighting rules.
+ * Auto-generated classes set this var
+ *
+ * @access protected
+ * @see _init
+ * @var array
+ */
+ var $_syntax;
+
+ /**
+ * Renderer object.
+ *
+ * @access private
+ * @var array
+ */
+ var $_renderer;
+
+ /**
+ * Options. Keeped for BC
+ *
+ * @access protected
+ * @var array
+ */
+ var $_options = array();
+
+ /**
+ * Conditionds
+ *
+ * @access protected
+ * @var array
+ */
+ var $_conditions = array();
+
+ /**
+ * Disabled keywords
+ *
+ * @access protected
+ * @var array
+ */
+ var $_disabled = array();
+
+ /**
+ * Language
+ *
+ * @access protected
+ * @var string
+ */
+ var $_language = '';
+
+ // }}}
+ // {{{ _checkDefines
+
+ /**
+ * Called by subclssses' constructors to enable/disable
+ * optional highlighter rules
+ *
+ * @param array $defines Conditional defines
+ *
+ * @access protected
+ */
+ function _checkDefines()
+ {
+ if (isset($this->_options['defines'])) {
+ $defines = $this->_options['defines'];
+ } else {
+ $defines = array();
+ }
+ foreach ($this->_conditions as $name => $actions) {
+ foreach($actions as $action) {
+ $present = in_array($name, $defines);
+ if (!$action[1]) {
+ $present = !$present;
+ }
+ if ($present) {
+ unset($this->_disabled[$action[0]]);
+ } else {
+ $this->_disabled[$action[0]] = true;
+ }
+ }
+ }
+ }
+
+ // }}}
+ // {{{ factory
+
+ /**
+ * Create a new Highlighter object for specified language
+ *
+ * @param string $lang language, for example "SQL"
+ * @param array $options Rendering options. This
+ * parameter is only keeped for BC reasons, use
+ * {@link Text_Highlighter::setRenderer()} instead
+ *
+ * @return mixed a newly created Highlighter object, or
+ * a PEAR error object on error
+ *
+ * @static
+ * @access public
+ */
+ function &factory($lang, $options = array())
+ {
+ $lang = strtoupper($lang);
+ @include_once 'Text/Highlighter/' . $lang . '.php';
+
+ $classname = 'Text_Highlighter_' . $lang;
+
+ if (!class_exists($classname)) {
+ return PEAR::raiseError('Highlighter for ' . $lang . ' not found');
+ }
+
+ $obj = new $classname($options);
+
+ return $obj;
+ }
+
+ // }}}
+ // {{{ setRenderer
+
+ /**
+ * Set renderer object
+ *
+ * @param object $renderer Text_Highlighter_Renderer
+ *
+ * @access public
+ */
+ function setRenderer(&$renderer)
+ {
+ $this->_renderer = $renderer;
+ }
+
+ // }}}
+
+ /**
+ * Helper function to find matching brackets
+ *
+ * @access private
+ */
+ function _matchingBrackets($str)
+ {
+ return strtr($str, '()<>[]{}', ')(><][}{');
+ }
+
+
+
+
+ function _getToken()
+ {
+ if (!empty($this->_tokenStack)) {
+ return array_pop($this->_tokenStack);
+ }
+ if ($this->_pos >= $this->_len) {
+ return NULL;
+ }
+
+ if ($this->_state != -1 && preg_match($this->_endpattern, $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos)) {
+ $endpos = $m[0][1];
+ $endmatch = $m[0][0];
+ } else {
+ $endpos = -1;
+ }
+ preg_match ($this->_regs[$this->_state], $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos);
+ $n = 1;
+
+
+ foreach ($this->_counts[$this->_state] as $i=>$count) {
+ if (!isset($m[$n])) {
+ break;
+ }
+ if ($m[$n][1]>-1 && ($endpos == -1 || $m[$n][1] < $endpos)) {
+ if ($this->_states[$this->_state][$i] != -1) {
+ $this->_tokenStack[] = array($this->_delim[$this->_state][$i], $m[$n][0]);
+ } else {
+ $inner = $this->_inner[$this->_state][$i];
+ if (isset($this->_parts[$this->_state][$i])) {
+ $parts = array();
+ $partpos = $m[$n][1];
+ for ($j=1; $j<=$count; $j++) {
+ if ($m[$j+$n][1] < 0) {
+ continue;
+ }
+ if (isset($this->_parts[$this->_state][$i][$j])) {
+ if ($m[$j+$n][1] > $partpos) {
+ array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$j+$n][1]-$partpos)));
+ }
+ array_unshift($parts, array($this->_parts[$this->_state][$i][$j], $m[$j+$n][0]));
+ }
+ $partpos = $m[$j+$n][1] + strlen($m[$j+$n][0]);
+ }
+ if ($partpos < $m[$n][1] + strlen($m[$n][0])) {
+ array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$n][1] - $partpos + strlen($m[$n][0]))));
+ }
+ $this->_tokenStack = array_merge($this->_tokenStack, $parts);
+ } else {
+ foreach ($this->_keywords[$this->_state][$i] as $g => $re) {
+ if (isset($this->_disabled[$g])) {
+ continue;
+ }
+ if (preg_match($re, $m[$n][0])) {
+ $inner = $this->_kwmap[$g];
+ break;
+ }
+ }
+ $this->_tokenStack[] = array($inner, $m[$n][0]);
+ }
+ }
+ if ($m[$n][1] > $this->_pos) {
+ $this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $m[$n][1]-$this->_pos));
+ }
+ $this->_pos = $m[$n][1] + strlen($m[$n][0]);
+ if ($this->_states[$this->_state][$i] != -1) {
+ $this->_stack[] = array($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern);
+ $this->_lastinner = $this->_inner[$this->_state][$i];
+ $this->_lastdelim = $this->_delim[$this->_state][$i];
+ $l = $this->_state;
+ $this->_state = $this->_states[$this->_state][$i];
+ $this->_endpattern = $this->_end[$this->_state];
+ if ($this->_subst[$l][$i]) {
+ for ($k=0; $k<=$this->_counts[$l][$i]; $k++) {
+ if (!isset($m[$i+$k])) {
+ break;
+ }
+ $quoted = preg_quote($m[$n+$k][0], '/');
+ $this->_endpattern = str_replace('%'.$k.'%', $quoted, $this->_endpattern);
+ $this->_endpattern = str_replace('%b'.$k.'%', $this->_matchingBrackets($quoted), $this->_endpattern);
+ }
+ }
+ }
+ return array_pop($this->_tokenStack);
+ }
+ $n += $count + 1;
+ }
+
+ if ($endpos > -1) {
+ $this->_tokenStack[] = array($this->_lastdelim, $endmatch);
+ if ($endpos > $this->_pos) {
+ $this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $endpos-$this->_pos));
+ }
+ list($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern) = array_pop($this->_stack);
+ $this->_pos = $endpos + strlen($endmatch);
+ return array_pop($this->_tokenStack);
+ }
+ $p = $this->_pos;
+ $this->_pos = HL_INFINITY;
+ return array($this->_lastinner, substr($this->_str, $p));
+ }
+
+
+
+
+ // {{{ highlight
+
+ /**
+ * Highlights code
+ *
+ * @param string $str Code to highlight
+ * @access public
+ * @return string Highlighted text
+ *
+ */
+
+ function highlight($str)
+ {
+ if (!($this->_renderer)) {
+ include_once('Text/Highlighter/Renderer/Html.php');
+ $this->_renderer = new Text_Highlighter_Renderer_Html($this->_options);
+ }
+ $this->_state = -1;
+ $this->_pos = 0;
+ $this->_stack = array();
+ $this->_tokenStack = array();
+ $this->_lastinner = $this->_defClass;
+ $this->_lastdelim = $this->_defClass;
+ $this->_endpattern = '';
+ $this->_renderer->reset();
+ $this->_renderer->setCurrentLanguage($this->_language);
+ $this->_str = $this->_renderer->preprocess($str);
+ $this->_len = strlen($this->_str);
+ while ($token = $this->_getToken()) {
+ $this->_renderer->acceptToken($token[0], $token[1]);
+ }
+ $this->_renderer->finalize();
+ return $this->_renderer->getOutput();
+ }
+
+ // }}}
+
+}
+
+// }}}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/ABAP.php b/library/Text_Highlighter/Text/Highlighter/ABAP.php
new file mode 100644
index 000000000..b2f7bda94
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/ABAP.php
@@ -0,0 +1,519 @@
+<?php
+/**
+ * Auto-generated class. ABAP syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : abap.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. ABAP syntax highlighting
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_ABAP extends Text_Highlighter
+{
+ var $_language = 'abap';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_ABAP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)[a-z_\\-]\\w*)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 3 => '//',
+ 4 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'identifier',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?mi)$/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'sy' => 'reserved',
+ 'reserved' => 'reserved',
+ 'constants' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/AVRC.php b/library/Text_Highlighter/Text/Highlighter/AVRC.php
new file mode 100644
index 000000000..de4b82ccd
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/AVRC.php
@@ -0,0 +1,894 @@
+
+<?php
+/**
+ * Auto-generated class. AVRC syntax highlighting
+ *
+ *
+ * C/C++ highlighter specific to Atmel AVR microcontrollers
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: avrc.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. AVRC syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_AVRC extends Text_Highlighter
+{
+ var $_language = 'avrc';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_AVRC($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 0 => '/((?i)\\\\)/',
+ 1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 4 => '//',
+ 5 => '/((?i)")|((?i)<)/',
+ 6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 2,
+ 8 => 0,
+ 9 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'identifier',
+ 4 => 'number',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)"/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)>/',
+ 5 => '/(?mi)(?<!\\\\)$/',
+ 6 => '/(?mi)(?<!\\\\)$/',
+ 7 => '/(?i)\\*\\//',
+ 8 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 4,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => 7,
+ 9 => 8,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 => -1,
+ 9 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'registers' => 'reserved',
+ 'types' => 'types',
+ 'Common Macros' => 'prepro',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/CPP.php b/library/Text_Highlighter/Text/Highlighter/CPP.php
new file mode 100644
index 000000000..eaa47c575
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/CPP.php
@@ -0,0 +1,891 @@
+
+<?php
+/**
+ * Auto-generated class. CPP syntax highlighting
+ *
+ *
+ * Thanks to Aaron Kalin for initial
+ * implementation of this highlighter
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: cpp.xml
+ * @author Aaron Kalin
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. CPP syntax highlighting
+ *
+ * @author Aaron Kalin
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_CPP extends Text_Highlighter
+{
+ var $_language = 'cpp';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_CPP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 0 => '/((?i)\\\\)/',
+ 1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 4 => '//',
+ 5 => '/((?i)")|((?i)<)/',
+ 6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 2,
+ 8 => 0,
+ 9 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'identifier',
+ 4 => 'number',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)"/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)>/',
+ 5 => '/(?mi)(?<!\\\\)$/',
+ 6 => '/(?mi)(?<!\\\\)$/',
+ 7 => '/(?i)\\*\\//',
+ 8 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 4,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => 7,
+ 9 => 8,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 => -1,
+ 9 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'types' => 'types',
+ 'Common Macros' => 'prepro',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/CSS.php b/library/Text_Highlighter/Text/Highlighter/CSS.php
new file mode 100644
index 000000000..51757c88e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/CSS.php
@@ -0,0 +1,437 @@
+<?php
+/**
+ * Auto-generated class. CSS syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: css.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. CSS syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_CSS extends Text_Highlighter
+{
+ var $_language = 'css';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_CSS($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\/\\*)|((?i)(@[a-z\\d]+))|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i):[a-z][a-z\\d\\-]*)|((?i)\\[)|((?i)\\{)/',
+ 0 => '//',
+ 1 => '/((?i)\\d*\\.?\\d+(\\%|em|ex|pc|pt|px|in|mm|cm))|((?i)\\d*\\.?\\d+)|((?i)[a-z][a-z\\d\\-]*)|((?i)#([\\da-f]{6}|[\\da-f]{3})\\b)/',
+ 2 => '/((?i)\')|((?i)")|((?i)[\\w\\-\\:]+)/',
+ 3 => '/((?i)\\/\\*)|((?i)[a-z][a-z\\d\\-]*\\s*:)|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i)\\{)/',
+ 4 => '/((?i)\\\\[\\\\(\\\\)\\\\])/',
+ 5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 4,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 1,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 4,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'comment',
+ 1 => 'reserved',
+ 2 => '',
+ 3 => 'brackets',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'var',
+ 2 => 'identifier',
+ 3 => 'special',
+ 4 => 'code',
+ 5 => 'code',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'number',
+ 1 => 'number',
+ 2 => 'code',
+ 3 => 'var',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'var',
+ ),
+ 3 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'identifier',
+ 3 => 'code',
+ ),
+ 4 =>
+ array (
+ 0 => 'string',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\*\\//',
+ 1 => '/(?i)(?=;|\\})/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\}/',
+ 4 => '/(?i)\\)/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 5,
+ 1 => 6,
+ 2 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => 3,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 => -1,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 'propertyValue' => '/^((?i)far-left|left|center-left|center-right|center|far-right|right-side|right|behind|leftwards|rightwards|inherit|scroll|fixed|transparent|none|repeat-x|repeat-y|repeat|no-repeat|collapse|separate|auto|top|bottom|both|open-quote|close-quote|no-open-quote|no-close-quote|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|text|wait|help|ltr|rtl|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|below|level|above|higher|lower|show|hide|caption|icon|menu|message-box|small-caption|status-bar|normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|italic|oblique|small-caps|bold|bolder|lighter|inside|outside|disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|crop|cross|invert|visible|hidden|always|avoid|x-low|low|medium|high|x-high|mix?|repeat?|static|relative|absolute|portrait|landscape|spell-out|once|digits|continuous|code|x-slow|slow|fast|x-fast|faster|slower|justify|underline|overline|line-through|blink|capitalize|uppercase|lowercase|embed|bidi-override|baseline|sub|super|text-top|middle|text-bottom|silent|x-soft|soft|loud|x-loud|pre|nowrap|serif|sans-serif|cursive|fantasy|monospace|empty|string|strict|loose|char|true|false|dotted|dashed|solid|double|groove|ridge|inset|outset|larger|smaller|xx-small|x-small|small|large|x-large|xx-large|all|newspaper|distribute|distribute-all-lines|distribute-center-last|inter-word|inter-ideograph|inter-cluster|kashida|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|keep-all|break-all|break-word|lr-tb|tb-rl|thin|thick|inline-block|w-resize|hand|distribute-letter|distribute-space|whitespace|male|female|child)$/',
+ 'namedcolor' => '/^((?i)aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow|activeborder|activecaption|appworkspace|background|buttonface|buttonhighlight|buttonshadow|buttontext|captiontext|graytext|highlight|highlighttext|inactiveborder|inactivecaption|inactivecaptiontext|infobackground|infotext|menu|menutext|scrollbar|threeddarkshadow|threedface|threedhighlight|threedlightshadow|threedshadow|window|windowframe|windowtext)$/',
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'propertyValue' => 'string',
+ 'namedcolor' => 'var',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/DIFF.php b/library/Text_Highlighter/Text/Highlighter/DIFF.php
new file mode 100644
index 000000000..2bb25a453
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/DIFF.php
@@ -0,0 +1,384 @@
+<?php
+/**
+ * Auto-generated class. DIFF syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : diff.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. DIFF syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_DIFF extends Text_Highlighter
+{
+ var $_language = 'diff';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_DIFF($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^\\\\\\sNo\\snewline.+$)|((?m)^\\-\\-\\-$)|((?m)^(diff\\s+\\-|Only\\s+|Index).*$)|((?m)^(\\-\\-\\-|\\+\\+\\+)\\s.+$)|((?m)^\\*.*$)|((?m)^\\+.*$)|((?m)^!.*$)|((?m)^\\<\\s.*$)|((?m)^\\>\\s.*$)|((?m)^\\d+(\\,\\d+)?[acd]\\d+(,\\d+)?$)|((?m)^\\-.*$)|((?m)^\\+.*$)|((?m)^@@.+@@$)|((?m)^d\\d+\\s\\d+$)|((?m)^a\\d+\\s\\d+$)|((?m)^(\\d+)(,\\d+)?(a)$)|((?m)^(\\d+)(,\\d+)?(c)$)|((?m)^(\\d+)(,\\d+)?(d)$)|((?m)^a(\\d+)(\\s\\d+)?$)|((?m)^c(\\d+)(\\s\\d+)?$)|((?m)^d(\\d+)(\\s\\d+)?$)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '//',
+ 3 => '//',
+ 4 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 1,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 3,
+ 16 => 3,
+ 17 => 3,
+ 18 => 2,
+ 19 => 2,
+ 20 => 2,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => 'code',
+ 15 => 'code',
+ 16 => 'code',
+ 17 => '',
+ 18 => 'code',
+ 19 => 'code',
+ 20 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'var',
+ 3 => 'reserved',
+ 4 => 'quotes',
+ 5 => 'string',
+ 6 => 'inlinedoc',
+ 7 => 'quotes',
+ 8 => 'string',
+ 9 => 'code',
+ 10 => 'quotes',
+ 11 => 'string',
+ 12 => 'code',
+ 13 => 'code',
+ 14 => 'var',
+ 15 => 'string',
+ 16 => 'inlinedoc',
+ 17 => 'code',
+ 18 => 'string',
+ 19 => 'inlinedoc',
+ 20 => 'code',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?m)(?=^[ad]\\d+\\s\\d+)/',
+ 1 => '/(?m)^(\\.)$/',
+ 2 => '/(?m)^(\\.)$/',
+ 3 => '/(?m)^(\\.)$/',
+ 4 => '/(?m)^(\\.)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => 0,
+ 15 => 1,
+ 16 => 2,
+ 17 => -1,
+ 18 => 3,
+ 19 => 4,
+ 20 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 =>
+ array (
+ ),
+ 18 => -1,
+ 19 => -1,
+ 20 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'default';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/DTD.php b/library/Text_Highlighter/Text/Highlighter/DTD.php
new file mode 100644
index 000000000..41b0faa78
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/DTD.php
@@ -0,0 +1,426 @@
+<?php
+/**
+ * Auto-generated class. DTD syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : dtd.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. DTD syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_DTD extends Text_Highlighter
+{
+ var $_language = 'dtd';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_DTD($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/(\\<!--)|(\\<\\!\\[)|((\\&|\\%)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '/(\\<!--)|(\\<)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 2 => '/(\\<!--)|(\\()|(\')|(")|((?<=\\<)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\\b)|(\\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\\b)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 3 => '/(\\()|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 4 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
+ 5 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ 4 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 1,
+ 5 => 2,
+ 6 => 0,
+ 7 => 1,
+ 8 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 1,
+ ),
+ 5 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'brackets',
+ 1 => '',
+ 2 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'reserved',
+ 3 => 'special',
+ 4 => 'identifier',
+ ),
+ 2 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'var',
+ 5 => 'reserved',
+ 6 => 'reserved',
+ 7 => 'special',
+ 8 => 'identifier',
+ ),
+ 3 =>
+ array (
+ 0 => 'code',
+ 1 => 'special',
+ 2 => 'identifier',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/--\\>/',
+ 1 => '/\\]\\]\\>/',
+ 2 => '/\\>/',
+ 3 => '/\\)/',
+ 4 => '/\'/',
+ 5 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 2,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 4,
+ 3 => 5,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 3,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Generator.php b/library/Text_Highlighter/Text/Highlighter/Generator.php
new file mode 100644
index 000000000..39c4edccb
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Generator.php
@@ -0,0 +1,1291 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+* Syntax highlighter class generator
+*
+* To simplify the process of creating new syntax highlighters
+* for different languages, {@link Text_Highlighter_Generator} class is
+* provided. It takes highlighting rules from XML file and generates
+* a code of a class inherited from {@link Text_Highlighter}.
+*
+* PHP versions 4 and 5
+*
+* LICENSE: This source file is subject to version 3.0 of the PHP license
+* that is available through the world-wide-web at the following URI:
+* http://www.php.net/license/3_0.txt. If you did not receive a copy of
+* the PHP License and are unable to obtain it through the web, please
+* send a note to license@php.net so we can mail you a copy immediately.
+*
+* @category Text
+* @package Text_Highlighter
+* @author Andrey Demenev <demenev@gmail.com>
+* @copyright 2004-2006 Andrey Demenev
+* @license http://www.php.net/license/3_0.txt PHP License
+* @version CVS: $Id$
+* @link http://pear.php.net/package/Text_Highlighter
+*/
+
+/**
+* @ignore
+*/
+require_once 'PEAR.php';
+require_once 'XML/Parser.php';
+
+// {{{ error codes
+
+define ('TEXT_HIGHLIGHTER_EMPTY_RE', 1);
+define ('TEXT_HIGHLIGHTER_INVALID_RE', 2);
+define ('TEXT_HIGHLIGHTER_EMPTY_OR_MISSING', 3);
+define ('TEXT_HIGHLIGHTER_EMPTY', 4);
+define ('TEXT_HIGHLIGHTER_REGION_REGION', 5);
+define ('TEXT_HIGHLIGHTER_REGION_BLOCK', 6);
+define ('TEXT_HIGHLIGHTER_BLOCK_REGION', 7);
+define ('TEXT_HIGHLIGHTER_KEYWORD_BLOCK', 8);
+define ('TEXT_HIGHLIGHTER_KEYWORD_INHERITS', 9);
+define ('TEXT_HIGHLIGHTER_PARSE', 10);
+define ('TEXT_HIGHLIGHTER_FILE_WRITE', 11);
+define ('TEXT_HIGHLIGHTER_FILE_READ', 12);
+// }}}
+
+/**
+* Syntax highliter class generator class
+*
+* This class is used to generate PHP classes
+* from XML files with highlighting rules
+*
+* Usage example
+* <code>
+*require_once 'Text/Highlighter/Generator.php';
+*$generator = new Text_Highlighter_Generator('php.xml');
+*$generator->generate();
+*$generator->saveCode('PHP.php');
+* </code>
+*
+* A command line script <b>generate</b> is provided for
+* class generation (installs in scripts/Text/Highlighter).
+*
+* @author Andrey Demenev <demenev@gmail.com>
+* @copyright 2004-2006 Andrey Demenev
+* @license http://www.php.net/license/3_0.txt PHP License
+* @version Release: @package_version@
+* @link http://pear.php.net/package/Text_Highlighter
+*/
+
+class Text_Highlighter_Generator extends XML_Parser
+{
+ // {{{ properties
+ /**
+ * Whether to do case folding.
+ * We have to declare it here, because XML_Parser
+ * sets case folding in constructor
+ *
+ * @var boolean
+ */
+ var $folding = false;
+
+ /**
+ * Holds name of file with highlighting rules
+ *
+ * @var string
+ * @access private
+ */
+ var $_syntaxFile;
+
+ /**
+ * Current element being processed
+ *
+ * @var array
+ * @access private
+ */
+ var $_element;
+
+ /**
+ * List of regions
+ *
+ * @var array
+ * @access private
+ */
+ var $_regions = array();
+
+ /**
+ * List of blocks
+ *
+ * @var array
+ * @access private
+ */
+ var $_blocks = array();
+
+ /**
+ * List of keyword groups
+ *
+ * @var array
+ * @access private
+ */
+ var $_keywords = array();
+
+ /**
+ * List of authors
+ *
+ * @var array
+ * @access private
+ */
+ var $_authors = array();
+
+ /**
+ * Name of language
+ *
+ * @var string
+ * @access public
+ */
+ var $language = '';
+
+ /**
+ * Generated code
+ *
+ * @var string
+ * @access private
+ */
+ var $_code = '';
+
+ /**
+ * Default class
+ *
+ * @var string
+ * @access private
+ */
+ var $_defClass = 'default';
+
+ /**
+ * Comment
+ *
+ * @var string
+ * @access private
+ */
+ var $_comment = '';
+
+ /**
+ * Flag for comment processing
+ *
+ * @var boolean
+ * @access private
+ */
+ var $_inComment = false;
+
+ /**
+ * Sorting order of current block/region
+ *
+ * @var integer
+ * @access private
+ */
+ var $_blockOrder = 0;
+
+ /**
+ * Generation errors
+ *
+ * @var array
+ * @access private
+ */
+ var $_errors;
+
+ // }}}
+ // {{{ constructor
+
+ /**
+ * PHP4 compatable constructor
+ *
+ * @param string $syntaxFile Name of XML file
+ * with syntax highlighting rules
+ *
+ * @access public
+ */
+
+ function Text_Highlighter_Generator($syntaxFile = '')
+ {
+ return $this->__construct($syntaxFile);
+ }
+
+ /**
+ * Constructor
+ *
+ * @param string $syntaxFile Name of XML file
+ * with syntax highlighting rules
+ *
+ * @access public
+ */
+
+ function __construct($syntaxFile = '')
+ {
+ XML_Parser::XML_Parser(null, 'func');
+ $this->_errors = array();
+ $this->_declareErrorMessages();
+ if ($syntaxFile) {
+ $this->setInputFile($syntaxFile);
+ }
+ }
+
+ // }}}
+ // {{{ _formatError
+
+ /**
+ * Format error message
+ *
+ * @param int $code error code
+ * @param string $params parameters
+ * @param string $fileName file name
+ * @param int $lineNo line number
+ * @return array
+ * @access public
+ */
+ function _formatError($code, $params, $fileName, $lineNo)
+ {
+ $template = $this->_templates[$code];
+ $ret = call_user_func_array('sprintf', array_merge(array($template), $params));
+ if ($fileName) {
+ $ret = '[' . $fileName . '] ' . $ret;
+ }
+ if ($lineNo) {
+ $ret .= ' (line ' . $lineNo . ')';
+ }
+ return $ret;
+ }
+
+ // }}}
+ // {{{ declareErrorMessages
+
+ /**
+ * Set up error message templates
+ *
+ * @access private
+ */
+ function _declareErrorMessages()
+ {
+ $this->_templates = array (
+ TEXT_HIGHLIGHTER_EMPTY_RE => 'Empty regular expression',
+ TEXT_HIGHLIGHTER_INVALID_RE => 'Invalid regular expression : %s',
+ TEXT_HIGHLIGHTER_EMPTY_OR_MISSING => 'Empty or missing %s',
+ TEXT_HIGHLIGHTER_EMPTY => 'Empty %s',
+ TEXT_HIGHLIGHTER_REGION_REGION => 'Region %s refers undefined region %s',
+ TEXT_HIGHLIGHTER_REGION_BLOCK => 'Region %s refers undefined block %s',
+ TEXT_HIGHLIGHTER_BLOCK_REGION => 'Block %s refers undefined region %s',
+ TEXT_HIGHLIGHTER_KEYWORD_BLOCK => 'Keyword group %s refers undefined block %s',
+ TEXT_HIGHLIGHTER_KEYWORD_INHERITS => 'Keyword group %s inherits undefined block %s',
+ TEXT_HIGHLIGHTER_PARSE => '%s',
+ TEXT_HIGHLIGHTER_FILE_WRITE => 'Error writing file %s',
+ TEXT_HIGHLIGHTER_FILE_READ => '%s'
+ );
+ }
+
+ // }}}
+ // {{{ setInputFile
+
+ /**
+ * Sets the input xml file to be parsed
+ *
+ * @param string Filename (full path)
+ * @return boolean
+ * @access public
+ */
+ function setInputFile($file)
+ {
+ $this->_syntaxFile = $file;
+ $ret = parent::setInputFile($file);
+ if (PEAR::isError($ret)) {
+ $this->_error(TEXT_HIGHLIGHTER_FILE_READ, $ret->message);
+ return false;
+ }
+ return true;
+ }
+
+ // }}}
+ // {{{ generate
+
+ /**
+ * Generates class code
+ *
+ * @access public
+ */
+
+ function generate()
+ {
+ $this->_regions = array();
+ $this->_blocks = array();
+ $this->_keywords = array();
+ $this->language = '';
+ $this->_code = '';
+ $this->_defClass = 'default';
+ $this->_comment = '';
+ $this->_inComment = false;
+ $this->_authors = array();
+ $this->_blockOrder = 0;
+ $this->_errors = array();
+
+ $ret = $this->parse();
+ if (PEAR::isError($ret)) {
+ $this->_error(TEXT_HIGHLIGHTER_PARSE, $ret->message);
+ return false;
+ }
+ return true;
+ }
+
+ // }}}
+ // {{{ getCode
+
+ /**
+ * Returns generated code as a string.
+ *
+ * @return string Generated code
+ * @access public
+ */
+
+ function getCode()
+ {
+ return $this->_code;
+ }
+
+ // }}}
+ // {{{ saveCode
+
+ /**
+ * Saves generated class to file. Note that {@link Text_Highlighter::factory()}
+ * assumes that filename is uppercase (SQL.php, DTD.php, etc), and file
+ * is located in Text/Highlighter
+ *
+ * @param string $filename Name of file to write the code to
+ * @return boolean true on success, false on failure
+ * @access public
+ */
+
+ function saveCode($filename)
+ {
+ $f = @fopen($filename, 'wb');
+ if (!$f) {
+ $this->_error(TEXT_HIGHLIGHTER_FILE_WRITE, array('outfile'=>$filename));
+ return false;
+ }
+ fwrite ($f, $this->_code);
+ fclose($f);
+ return true;
+ }
+
+ // }}}
+ // {{{ hasErrors
+
+ /**
+ * Reports if there were errors
+ *
+ * @return boolean
+ * @access public
+ */
+
+ function hasErrors()
+ {
+ return count($this->_errors) > 0;
+ }
+
+ // }}}
+ // {{{ getErrors
+
+ /**
+ * Returns errors
+ *
+ * @return array
+ * @access public
+ */
+
+ function getErrors()
+ {
+ return $this->_errors;
+ }
+
+ // }}}
+ // {{{ _sortBlocks
+
+ /**
+ * Sorts blocks
+ *
+ * @access private
+ */
+
+ function _sortBlocks($b1, $b2) {
+ return $b1['order'] - $b2['order'];
+ }
+
+ // }}}
+ // {{{ _sortLookFor
+ /**
+ * Sort 'look for' list
+ * @return int
+ * @param string $b1
+ * @param string $b2
+ */
+ function _sortLookFor($b1, $b2) {
+ $o1 = isset($this->_blocks[$b1]) ? $this->_blocks[$b1]['order'] : $this->_regions[$b1]['order'];
+ $o2 = isset($this->_blocks[$b2]) ? $this->_blocks[$b2]['order'] : $this->_regions[$b2]['order'];
+ return $o1 - $o2;
+ }
+
+ // }}}
+ // {{{ _makeRE
+
+ /**
+ * Adds delimiters and modifiers to regular expression if necessary
+ *
+ * @param string $text Original RE
+ * @return string Final RE
+ * @access private
+ */
+ function _makeRE($text, $case = false)
+ {
+ if (!strlen($text)) {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_RE);
+ }
+ if (!strlen($text) || $text{0} != '/') {
+ $text = '/' . $text . '/';
+ }
+ if (!$case) {
+ $text .= 'i';
+ }
+ $php_errormsg = '';
+ @preg_match($text, '');
+ if ($php_errormsg) {
+ $this->_error(TEXT_HIGHLIGHTER_INVALID_RE, $php_errormsg);
+ }
+ preg_match ('#^/(.+)/(.*)$#', $text, $m);
+ if (@$m[2]) {
+ $text = '(?' . $m[2] . ')' . $m[1];
+ } else {
+ $text = $m[1];
+ }
+ return $text;
+ }
+
+ // }}}
+ // {{{ _exportArray
+
+ /**
+ * Exports array as PHP code
+ *
+ * @param array $array
+ * @return string Code
+ * @access private
+ */
+ function _exportArray($array)
+ {
+ $array = var_export($array, true);
+ return trim(preg_replace('~^(\s*)~m',' \1\1',$array));
+ }
+
+ // }}}
+ // {{{ _countSubpatterns
+ /**
+ * Find number of capturing suppaterns in regular expression
+ * @return int
+ * @param string $re Regular expression (without delimiters)
+ */
+ function _countSubpatterns($re)
+ {
+ preg_match_all('/' . $re . '/', '', $m);
+ return count($m)-1;
+ }
+
+ // }}}
+
+ /**#@+
+ * @access private
+ * @param resource $xp XML parser resource
+ * @param string $elem XML element name
+ * @param array $attribs XML element attributes
+ */
+
+ // {{{ xmltag_Default
+
+ /**
+ * start handler for <default> element
+ */
+ function xmltag_Default($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_defClass = @$attribs['innerGroup'];
+ }
+
+ // }}}
+ // {{{ xmltag_Region
+
+ /**
+ * start handler for <region> element
+ */
+ function xmltag_Region($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'region name');
+ }
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_element = array('name' => $attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ $this->_element['innerGroup'] = $attribs['innerGroup'];
+ $this->_element['delimGroup'] = isset($attribs['delimGroup']) ?
+ $attribs['delimGroup'] :
+ $attribs['innerGroup'];
+ $this->_element['start'] = $this->_makeRE(@$attribs['start'], $this->_element['case']);
+ $this->_element['end'] = $this->_makeRE(@$attribs['end'], $this->_element['case']);
+ $this->_element['contained'] = @$attribs['contained'] == 'yes';
+ $this->_element['never-contained'] = @$attribs['never-contained'] == 'yes';
+ $this->_element['remember'] = @$attribs['remember'] == 'yes';
+ if (isset($attribs['startBOL']) && $attribs['startBOL'] == 'yes') {
+ $this->_element['startBOL'] = true;
+ }
+ if (isset($attribs['endBOL']) && $attribs['endBOL'] == 'yes') {
+ $this->_element['endBOL'] = true;
+ }
+ if (isset($attribs['neverAfter'])) {
+ $this->_element['neverafter'] = $this->_makeRE($attribs['neverAfter']);
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Block
+
+ /**
+ * start handler for <block> element
+ */
+ function xmltag_Block($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'block name');
+ }
+ if (isset($attribs['innerGroup']) && $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY, 'innerGroup');
+ }
+ $this->_element = array('name' => $attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ if (isset($attribs['innerGroup'])) {
+ $this->_element['innerGroup'] = @$attribs['innerGroup'];
+ }
+ $this->_element['match'] = $this->_makeRE($attribs['match'], $this->_element['case']);
+ $this->_element['contained'] = @$attribs['contained'] == 'yes';
+ $this->_element['multiline'] = @$attribs['multiline'] == 'yes';
+ if (isset($attribs['BOL']) && $attribs['BOL'] == 'yes') {
+ $this->_element['BOL'] = true;
+ }
+ if (isset($attribs['neverAfter'])) {
+ $this->_element['neverafter'] = $this->_makeRE($attribs['neverAfter']);
+ }
+ }
+
+ // }}}
+ // {{{ cdataHandler
+
+ /**
+ * Character data handler. Used for comment
+ */
+ function cdataHandler($xp, $cdata)
+ {
+ if ($this->_inComment) {
+ $this->_comment .= $cdata;
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Comment
+
+ /**
+ * start handler for <comment> element
+ */
+ function xmltag_Comment($xp, $elem, $attribs)
+ {
+ $this->_comment = '';
+ $this->_inComment = true;
+ }
+
+ // }}}
+ // {{{ xmltag_PartGroup
+
+ /**
+ * start handler for <partgroup> element
+ */
+ function xmltag_PartGroup($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_element['partClass'][$attribs['index']] = @$attribs['innerGroup'];
+ }
+
+ // }}}
+ // {{{ xmltag_PartClass
+
+ /**
+ * start handler for <partclass> element
+ */
+ function xmltag_PartClass($xp, $elem, $attribs)
+ {
+ $this->xmltag_PartGroup($xp, $elem, $attribs);
+ }
+
+ // }}}
+ // {{{ xmltag_Keywords
+
+ /**
+ * start handler for <keywords> element
+ */
+ function xmltag_Keywords($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'keyword group name');
+ }
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ if (!isset($attribs['inherits']) || $attribs['inherits'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'inherits');
+ }
+ $this->_element = array('name'=>@$attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ $this->_element['innerGroup'] = @$attribs['innerGroup'];
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ $this->_element['inherits'] = @$attribs['inherits'];
+ if (isset($attribs['otherwise'])) {
+ $this->_element['otherwise'] = $attribs['otherwise'];
+ }
+ if (isset($attribs['ifdef'])) {
+ $this->_element['ifdef'] = $attribs['ifdef'];
+ }
+ if (isset($attribs['ifndef'])) {
+ $this->_element['ifndef'] = $attribs['ifndef'];
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Keyword
+
+ /**
+ * start handler for <keyword> element
+ */
+ function xmltag_Keyword($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['match']) || $attribs['match'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'match');
+ }
+ $keyword = @$attribs['match'];
+ if (!$this->_element['case']) {
+ $keyword = strtolower($keyword);
+ }
+ $this->_element['match'][$keyword] = true;
+ }
+
+ // }}}
+ // {{{ xmltag_Contains
+
+ /**
+ * start handler for <contains> element
+ */
+ function xmltag_Contains($xp, $elem, $attribs)
+ {
+ $this->_element['contains-all'] = @$attribs['all'] == 'yes';
+ if (isset($attribs['region'])) {
+ $this->_element['contains']['region'][$attribs['region']] =
+ xml_get_current_line_number($this->parser);
+ }
+ if (isset($attribs['block'])) {
+ $this->_element['contains']['block'][$attribs['block']] =
+ xml_get_current_line_number($this->parser);
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_But
+
+ /**
+ * start handler for <but> element
+ */
+ function xmltag_But($xp, $elem, $attribs)
+ {
+ if (isset($attribs['region'])) {
+ $this->_element['not-contains']['region'][$attribs['region']] = true;
+ }
+ if (isset($attribs['block'])) {
+ $this->_element['not-contains']['block'][$attribs['block']] = true;
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Onlyin
+
+ /**
+ * start handler for <onlyin> element
+ */
+ function xmltag_Onlyin($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['region']) || $attribs['region'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'region');
+ }
+ $this->_element['onlyin'][$attribs['region']] = xml_get_current_line_number($this->parser);
+ }
+
+ // }}}
+ // {{{ xmltag_Author
+
+ /**
+ * start handler for <author> element
+ */
+ function xmltag_Author($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'author name');
+ }
+ $this->_authors[] = array(
+ 'name' => @$attribs['name'],
+ 'email' => (string)@$attribs['email']
+ );
+ }
+
+ // }}}
+ // {{{ xmltag_Highlight
+
+ /**
+ * start handler for <highlight> element
+ */
+ function xmltag_Highlight($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['lang']) || $attribs['lang'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'language name');
+ }
+ $this->_code = '';
+ $this->language = strtoupper(@$attribs['lang']);
+ $this->_case = @$attribs['case'] == 'yes';
+ }
+
+ // }}}
+
+ /**#@-*/
+
+ // {{{ _error
+
+ /**
+ * Add an error message
+ *
+ * @param integer $code Error code
+ * @param mixed $message Error message or array with error message parameters
+ * @param integer $lineNo Source code line number
+ * @access private
+ */
+ function _error($code, $params = array(), $lineNo = 0)
+ {
+ if (!$lineNo && !empty($this->parser)) {
+ $lineNo = xml_get_current_line_number($this->parser);
+ }
+ $this->_errors[] = $this->_formatError($code, $params, $this->_syntaxFile, $lineNo);
+ }
+
+ // }}}
+ // {{{ _aliasAttributes
+
+ /**
+ * BC trick
+ *
+ * @param array $attrs attributes
+ */
+ function _aliasAttributes(&$attrs)
+ {
+ if (isset($attrs['innerClass']) && !isset($attrs['innerGroup'])) {
+ $attrs['innerGroup'] = $attrs['innerClass'];
+ }
+ if (isset($attrs['delimClass']) && !isset($attrs['delimGroup'])) {
+ $attrs['delimGroup'] = $attrs['delimClass'];
+ }
+ if (isset($attrs['partClass']) && !isset($attrs['partGroup'])) {
+ $attrs['partGroup'] = $attrs['partClass'];
+ }
+ }
+
+ // }}}
+
+ /**#@+
+ * @access private
+ * @param resource $xp XML parser resource
+ * @param string $elem XML element name
+ */
+
+ // {{{ xmltag_Comment_
+
+ /**
+ * end handler for <comment> element
+ */
+ function xmltag_Comment_($xp, $elem)
+ {
+ $this->_inComment = false;
+ }
+
+ // }}}
+ // {{{ xmltag_Region_
+
+ /**
+ * end handler for <region> element
+ */
+ function xmltag_Region_($xp, $elem)
+ {
+ $this->_element['type'] = 'region';
+ $this->_element['order'] = $this->_blockOrder ++;
+ $this->_regions[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Keywords_
+
+ /**
+ * end handler for <keywords> element
+ */
+ function xmltag_Keywords_($xp, $elem)
+ {
+ $this->_keywords[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Block_
+
+ /**
+ * end handler for <block> element
+ */
+ function xmltag_Block_($xp, $elem)
+ {
+ $this->_element['type'] = 'block';
+ $this->_element['order'] = $this->_blockOrder ++;
+ $this->_blocks[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Highlight_
+
+ /**
+ * end handler for <highlight> element
+ */
+ function xmltag_Highlight_($xp, $elem)
+ {
+ $conditions = array();
+ $toplevel = array();
+ foreach ($this->_blocks as $i => $current) {
+ if (!$current['contained'] && !isset($current['onlyin'])) {
+ $toplevel[] = $i;
+ }
+ foreach ((array)@$current['onlyin'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_BLOCK_REGION,
+ array(
+ 'block' => $current['name'],
+ 'region' => $region
+ ));
+ }
+ }
+ }
+ foreach ($this->_regions as $i=>$current) {
+ if (!$current['contained'] && !isset($current['onlyin'])) {
+ $toplevel[] = $i;
+ }
+ foreach ((array)@$current['contains']['region'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_REGION,
+ array(
+ 'region1' => $current['name'],
+ 'region2' => $region
+ ));
+ }
+ }
+ foreach ((array)@$current['contains']['block'] as $region => $lineNo) {
+ if (!isset($this->_blocks[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_BLOCK,
+ array(
+ 'block' => $current['name'],
+ 'region' => $region
+ ));
+ }
+ }
+ foreach ((array)@$current['onlyin'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_REGION,
+ array(
+ 'region1' => $current['name'],
+ 'region2' => $region
+ ));
+ }
+ }
+ foreach ($this->_regions as $j => $region) {
+ if (isset($region['onlyin'])) {
+ $suits = isset($region['onlyin'][$current['name']]);
+ } elseif (isset($current['not-contains']['region'][$region['name']])) {
+ $suits = false;
+ } elseif (isset($current['contains']['region'][$region['name']])) {
+ $suits = true;
+ } else {
+ $suits = @$current['contains-all'] && @!$region['never-contained'];
+ }
+ if ($suits) {
+ $this->_regions[$i]['lookfor'][] = $j;
+ }
+ }
+ foreach ($this->_blocks as $j=>$region) {
+ if (isset($region['onlyin'])) {
+ $suits = isset($region['onlyin'][$current['name']]);
+ } elseif (isset($current['not-contains']['block'][$region['name']])) {
+ $suits = false;
+ } elseif (isset($current['contains']['block'][$region['name']])) {
+ $suits = true;
+ } else {
+ $suits = @$current['contains-all'] && @!$region['never-contained'];
+ }
+ if ($suits) {
+ $this->_regions[$i]['lookfor'][] = $j;
+ }
+ }
+ }
+ foreach ($this->_blocks as $i=>$current) {
+ unset ($this->_blocks[$i]['never-contained']);
+ unset ($this->_blocks[$i]['contained']);
+ unset ($this->_blocks[$i]['contains-all']);
+ unset ($this->_blocks[$i]['contains']);
+ unset ($this->_blocks[$i]['onlyin']);
+ unset ($this->_blocks[$i]['line']);
+ }
+
+ foreach ($this->_regions as $i=>$current) {
+ unset ($this->_regions[$i]['never-contained']);
+ unset ($this->_regions[$i]['contained']);
+ unset ($this->_regions[$i]['contains-all']);
+ unset ($this->_regions[$i]['contains']);
+ unset ($this->_regions[$i]['onlyin']);
+ unset ($this->_regions[$i]['line']);
+ }
+
+ foreach ($this->_keywords as $name => $keyword) {
+ if (isset($keyword['ifdef'])) {
+ $conditions[$keyword['ifdef']][] = array($name, true);
+ }
+ if (isset($keyword['ifndef'])) {
+ $conditions[$keyword['ifndef']][] = array($name, false);
+ }
+ unset($this->_keywords[$name]['line']);
+ if (!isset($this->_blocks[$keyword['inherits']])) {
+ $this->_error(TEXT_HIGHLIGHTER_KEYWORD_INHERITS,
+ array(
+ 'keyword' => $keyword['name'],
+ 'block' => $keyword['inherits']
+ ));
+ }
+ if (isset($keyword['otherwise']) && !isset($this->_blocks[$keyword['otherwise']]) ) {
+ $this->_error(TEXT_HIGHLIGHTER_KEYWORD_BLOCK,
+ array(
+ 'keyword' => $keyword['name'],
+ 'block' => $keyword['inherits']
+ ));
+ }
+ }
+
+ $syntax=array(
+ 'keywords' => $this->_keywords,
+ 'blocks' => array_merge($this->_blocks, $this->_regions),
+ 'toplevel' => $toplevel,
+ );
+ uasort($syntax['blocks'], array(&$this, '_sortBlocks'));
+ foreach ($syntax['blocks'] as $name => $block) {
+ if ($block['type'] == 'block') {
+ continue;
+ }
+ if (is_array(@$syntax['blocks'][$name]['lookfor'])) {
+ usort($syntax['blocks'][$name]['lookfor'], array(&$this, '_sortLookFor'));
+ }
+ }
+ usort($syntax['toplevel'], array(&$this, '_sortLookFor'));
+ $syntax['case'] = $this->_case;
+ $this->_code = <<<CODE
+<?php
+/**
+ * Auto-generated class. {$this->language} syntax highlighting
+CODE;
+
+ if ($this->_comment) {
+ $comment = preg_replace('~^~m',' * ',$this->_comment);
+ $this->_code .= "\n * \n" . $comment;
+ }
+
+ $this->_code .= <<<CODE
+
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: $this->_syntaxFile
+
+CODE;
+
+ foreach ($this->_authors as $author) {
+ $this->_code .= ' * @author ' . $author['name'];
+ if ($author['email']) {
+ $this->_code .= ' <' . $author['email'] . '>';
+ }
+ $this->_code .= "\n";
+ }
+
+ $this->_code .= <<<CODE
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. {$this->language} syntax highlighting
+ *
+
+CODE;
+ foreach ($this->_authors as $author) {
+ $this->_code .= ' * @author ' . $author['name'];
+ if ($author['email']) {
+ $this->_code .= ' <' . $author['email']. '>';
+ }
+ $this->_code .= "\n";
+ }
+
+
+ $this->_code .= <<<CODE
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_{$this->language} extends Text_Highlighter
+{
+
+CODE;
+ $this->_code .= 'var $_language = \'' . strtolower($this->language) . "';\n\n";
+ $array = var_export($syntax, true);
+ $array = trim(preg_replace('~^(\s*)~m',' \1\1',$array));
+ // \$this->_syntax = $array;
+ $this->_code .= <<<CODE
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array \$options
+ * @access public
+ */
+ function Text_Highlighter_{$this->language}(\$options=array())
+ {
+ \$this->__construct(\$options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array \$options
+ * @access public
+ */
+ function __construct(\$options=array())
+ {
+
+CODE;
+ $this->_code .= <<<CODE
+
+ \$this->_options = \$options;
+CODE;
+ $states = array();
+ $i = 0;
+ foreach ($syntax['blocks'] as $name => $block) {
+ if ($block['type'] == 'region') {
+ $states[$name] = $i++;
+ }
+ }
+ $regs = array();
+ $counts = array();
+ $delim = array();
+ $inner = array();
+ $end = array();
+ $stat = array();
+ $keywords = array();
+ $parts = array();
+ $kwmap = array();
+ $subst = array();
+ $re = array();
+ $ce = array();
+ $rd = array();
+ $in = array();
+ $st = array();
+ $kw = array();
+ $sb = array();
+ foreach ($syntax['toplevel'] as $name) {
+ $block = $syntax['blocks'][$name];
+ if ($block['type'] == 'block') {
+ $kwm = array();
+ $re[] = '(' . $block['match'] . ')';
+ $ce[] = $this->_countSubpatterns($block['match']);
+ $rd[] = '';
+ $sb[] = false;;
+ $st[] = -1;
+ foreach ($syntax['keywords'] as $kwname => $kwgroup) {
+ if ($kwgroup['inherits'] != $name) {
+ continue;
+ }
+ $gre = implode('|', array_keys($kwgroup['match']));
+ if (!$kwgroup['case']) {
+ $gre = '(?i)' . $gre;
+ }
+ $kwm[$kwname][] = $gre;
+ $kwmap[$kwname] = $kwgroup['innerGroup'];
+ }
+ foreach ($kwm as $g => $ma) {
+ $kwm[$g] = '/^(' . implode(')|(', $ma) . ')$/';
+ }
+ $kw[] = $kwm;
+ } else {
+ $kw[] = -1;
+ $re[] = '(' . $block['start'] . ')';
+ $ce[] = $this->_countSubpatterns($block['start']);
+ $rd[] = $block['delimGroup'];
+ $st[] = $states[$name];
+ $sb[] = $block['remember'];
+ }
+ $in[] = $block['innerGroup'];
+ }
+ $re = implode('|', $re);
+ $regs[-1] = '/' . $re . '/';
+ $counts[-1] = $ce;
+ $delim[-1] = $rd;
+ $inner[-1] = $in;
+ $stat[-1] = $st;
+ $keywords[-1] = $kw;
+ $subst[-1] = $sb;
+
+ foreach ($syntax['blocks'] as $ablock) {
+ if ($ablock['type'] != 'region') {
+ continue;
+ }
+ $end[] = '/' . $ablock['end'] . '/';
+ $re = array();
+ $ce = array();
+ $rd = array();
+ $in = array();
+ $st = array();
+ $kw = array();
+ $pc = array();
+ $sb = array();
+ foreach ((array)@$ablock['lookfor'] as $name) {
+ $block = $syntax['blocks'][$name];
+ if (isset($block['partClass'])) {
+ $pc[] = $block['partClass'];
+ } else {
+ $pc[] = null;
+ }
+ if ($block['type'] == 'block') {
+ $kwm = array();;
+ $re[] = '(' . $block['match'] . ')';
+ $ce[] = $this->_countSubpatterns($block['match']);
+ $rd[] = '';
+ $sb[] = false;
+ $st[] = -1;
+ foreach ($syntax['keywords'] as $kwname => $kwgroup) {
+ if ($kwgroup['inherits'] != $name) {
+ continue;
+ }
+ $gre = implode('|', array_keys($kwgroup['match']));
+ if (!$kwgroup['case']) {
+ $gre = '(?i)' . $gre;
+ }
+ $kwm[$kwname][] = $gre;
+ $kwmap[$kwname] = $kwgroup['innerGroup'];
+ }
+ foreach ($kwm as $g => $ma) {
+ $kwm[$g] = '/^(' . implode(')|(', $ma) . ')$/';
+ }
+ $kw[] = $kwm;
+ } else {
+ $sb[] = $block['remember'];
+ $kw[] = -1;
+ $re[] = '(' . $block['start'] . ')';
+ $ce[] = $this->_countSubpatterns($block['start']);
+ $rd[] = $block['delimGroup'];
+ $st[] = $states[$name];
+ }
+ $in[] = $block['innerGroup'];
+ }
+ $re = implode('|', $re);
+ $regs[] = '/' . $re . '/';
+ $counts[] = $ce;
+ $delim[] = $rd;
+ $inner[] = $in;
+ $stat[] = $st;
+ $keywords[] = $kw;
+ $parts[] = $pc;
+ $subst[] = $sb;
+ }
+
+
+ $this->_code .= "\n \$this->_regs = " . $this->_exportArray($regs);
+ $this->_code .= ";\n \$this->_counts = " .$this->_exportArray($counts);
+ $this->_code .= ";\n \$this->_delim = " .$this->_exportArray($delim);
+ $this->_code .= ";\n \$this->_inner = " .$this->_exportArray($inner);
+ $this->_code .= ";\n \$this->_end = " .$this->_exportArray($end);
+ $this->_code .= ";\n \$this->_states = " .$this->_exportArray($stat);
+ $this->_code .= ";\n \$this->_keywords = " .$this->_exportArray($keywords);
+ $this->_code .= ";\n \$this->_parts = " .$this->_exportArray($parts);
+ $this->_code .= ";\n \$this->_subst = " .$this->_exportArray($subst);
+ $this->_code .= ";\n \$this->_conditions = " .$this->_exportArray($conditions);
+ $this->_code .= ";\n \$this->_kwmap = " .$this->_exportArray($kwmap);
+ $this->_code .= ";\n \$this->_defClass = '" .$this->_defClass . '\'';
+ $this->_code .= <<<CODE
+;
+ \$this->_checkDefines();
+ }
+
+}
+CODE;
+}
+
+// }}}
+}
+
+
+/*
+* Local variables:
+* tab-width: 4
+* c-basic-offset: 4
+* c-hanging-comment-ender-p: nil
+* End:
+*/
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/HTML.php b/library/Text_Highlighter/Text/Highlighter/HTML.php
new file mode 100644
index 000000000..14d0a783f
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/HTML.php
@@ -0,0 +1,234 @@
+<?php
+/**
+ * Auto-generated class. HTML syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : html.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. HTML syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_HTML extends Text_Highlighter
+{
+ var $_language = 'html';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_HTML($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
+ 2 => '/((?i)(&)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => 'quotes',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'var',
+ 2 => 'string',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)--\\>/',
+ 1 => '/(?i)[\\/\\?]?\\>/',
+ 2 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => 2,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 => -1,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/JAVA.php b/library/Text_Highlighter/Text/Highlighter/JAVA.php
new file mode 100644
index 000000000..46c0b8851
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/JAVA.php
@@ -0,0 +1,802 @@
+<?php
+/**
+ * Auto-generated class. JAVA syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : java.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. JAVA syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_JAVA extends Text_Highlighter
+{
+ var $_language = 'java';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_JAVA($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 3 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 4 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])/',
+ 5 => '/((?i)\\\\.)/',
+ 6 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\*\\//',
+ 4 => '/(?i)"/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ );
+ $this->_conditions = array (
+ 'java.builtins' =>
+ array (
+ 0 =>
+ array (
+ 0 => 'builtin',
+ 1 => true,
+ ),
+ ),
+ );
+ $this->_kwmap = array (
+ 'types' => 'types',
+ 'reserved' => 'reserved',
+ 'builtin' => 'builtin',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php b/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
new file mode 100644
index 000000000..51eae8f62
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
@@ -0,0 +1,631 @@
+<?php
+/**
+ * Auto-generated class. JAVASCRIPT syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: javascript.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. JAVASCRIPT syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_JAVASCRIPT extends Text_Highlighter
+{
+ var $_language = 'javascript';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_JAVASCRIPT($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 3 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ 4 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
+ 5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\*\\//',
+ 4 => '/(?i)"/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/MYSQL.php b/library/Text_Highlighter/Text/Highlighter/MYSQL.php
new file mode 100644
index 000000000..bdd74cc8b
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/MYSQL.php
@@ -0,0 +1,434 @@
+<?php
+/**
+ * Auto-generated class. MYSQL syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : mysql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. MYSQL syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_MYSQL extends Text_Highlighter
+{
+ var $_language = 'mysql';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_MYSQL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 4 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'brackets',
+ 7 => 'quotes',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'brackets',
+ 7 => 'quotes',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'identifier',
+ 5 => 'string',
+ 6 => 'code',
+ 7 => 'string',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'identifier',
+ 5 => 'string',
+ 6 => 'code',
+ 7 => 'string',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)`/',
+ 1 => '/(?i)\\*\\//',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\\)/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => 2,
+ 6 => 3,
+ 7 => 4,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => 2,
+ 6 => 3,
+ 7 => 4,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
+ ),
+ 4 =>
+ array (
+ 'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
+ ),
+ 4 =>
+ array (
+ 'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'function' => 'reserved',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PERL.php b/library/Text_Highlighter/Text/Highlighter/PERL.php
new file mode 100644
index 000000000..277a5ba45
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PERL.php
@@ -0,0 +1,1352 @@
+<?php
+/**
+ * Auto-generated class. PERL syntax highlighting
+ *
+ * This highlighter is EXPERIMENTAL, so that it may work incorrectly.
+ * Most rules were created by Mariusz Jakubowski, and extended by me.
+ * My knowledge of Perl is poor, and Perl syntax seems too
+ * complicated to me.
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : perl.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Mariusz 'kg' Jakubowski <kg@alternatywa.info>
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PERL syntax highlighting
+ *
+ * @author Mariusz 'kg' Jakubowski <kg@alternatywa.info>
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PERL extends Text_Highlighter
+{
+ var $_language = 'perl';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PERL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 0 => '//',
+ 1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 2 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|((?i)([a-z1-9_]+)(\\s*=>))|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 3 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 4 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ 5 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/(\\\\\\/)/',
+ 7 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 8 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 9 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 2,
+ 14 => 0,
+ 15 => 3,
+ 16 => 1,
+ 17 => 1,
+ 18 => 3,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ 24 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => '',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => 'quotes',
+ 23 => '',
+ 24 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'string',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'var',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'string',
+ 23 => 'identifier',
+ 24 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ ),
+ 7 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 8 =>
+ array (
+ 0 => 'special',
+ ),
+ 9 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?m)^=cut[^\\n]*/',
+ 1 => '/\\}/',
+ 2 => '/\\)/',
+ 3 => '/\\]/',
+ 4 => '/%b2%/',
+ 5 => '/%b2%/',
+ 6 => '/\\/[cgimosx]*/',
+ 7 => '/`/',
+ 8 => '/\'/',
+ 9 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => -1,
+ 20 => 7,
+ 21 => 8,
+ 22 => 9,
+ 23 => -1,
+ 24 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 =>
+ array (
+ ),
+ 20 => -1,
+ 21 => -1,
+ 22 => -1,
+ 23 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 24 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 =>
+ array (
+ 1 => 'string',
+ 2 => 'code',
+ ),
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ 24 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ 24 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'missingreserved' => 'reserved',
+ 'flowcontrol' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PHP.php b/library/Text_Highlighter/Text/Highlighter/PHP.php
new file mode 100644
index 000000000..1ee2e6b90
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PHP.php
@@ -0,0 +1,1107 @@
+<?php
+/**
+ * Auto-generated class. PHP syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : php.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PHP syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PHP extends Text_Highlighter
+{
+ var $_language = 'php';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PHP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<\\?(php|=)?)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)\\?\\>)|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 3 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 4 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 5 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 6 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 7 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 8 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 9 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 10 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 2,
+ 17 => 5,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'inlinetags',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => 'inlinetags',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'default',
+ 12 => 'number',
+ 13 => 'var',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ 17 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 6 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 7 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 8 =>
+ array (
+ 0 => 'special',
+ ),
+ 9 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\?\\>/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)\\*\\//',
+ 5 => '/(?i)"/',
+ 6 => '/(?i)`/',
+ 7 => '/(?mi)^%1%;?$/',
+ 8 => '/(?i)\'/',
+ 9 => '/(?mi)$|(?=\\?\\>)/',
+ 10 => '/(?i)\\<\\?(php|=)?/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => 10,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 => -1,
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'constants' => 'reserved',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PYTHON.php b/library/Text_Highlighter/Text/Highlighter/PYTHON.php
new file mode 100644
index 000000000..ed4f59dde
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PYTHON.php
@@ -0,0 +1,647 @@
+<?php
+/**
+ * Auto-generated class. PYTHON syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : python.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PYTHON syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PYTHON extends Text_Highlighter
+{
+ var $_language = 'python';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PYTHON($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ 0 => '/((?i)\\\\.)/',
+ 1 => '/((?i)\\\\.)/',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)\\\\.)/',
+ 4 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ 5 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ 4 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\'\'\'/',
+ 1 => '/(?i)"""/',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\'/',
+ 4 => '/(?i)\\)/',
+ 5 => '/(?i)\\]/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/RUBY.php b/library/Text_Highlighter/Text/Highlighter/RUBY.php
new file mode 100644
index 000000000..ce20e9f2e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/RUBY.php
@@ -0,0 +1,825 @@
+<?php
+/**
+ * Auto-generated class. RUBY syntax highlighting
+ *
+ *
+ * FIXME: While this construction : s.split /z/i
+ * is valid, regular expression is not recognized as such
+ * (/ folowing an identifier or number is not recognized as
+ * start of RE), making highlighting improper
+ *
+ * %q(a (nested) string) does not get highlighted correctly
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : ruby.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. RUBY syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_RUBY extends Text_Highlighter
+{
+ var $_language = 'ruby';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_RUBY($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 0 => '//',
+ 1 => '/((?i)\\\\.)/',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)\\\\.)/',
+ 4 => '/((?i)\\\\.)/',
+ 5 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 6 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 9 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 9 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)$/',
+ 1 => '/(?i)"/',
+ 2 => '/(?i)%b1%/',
+ 3 => '/(?i)\'/',
+ 4 => '/(?i)%b1%/',
+ 5 => '/(?i)\\)/',
+ 6 => '/(?i)\\]/',
+ 7 => '/(?mi)^=end$/',
+ 8 => '/(?mi)$/',
+ 9 => '/(?i)\\/[iomx]*/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer.php b/library/Text_Highlighter/Text/Highlighter/Renderer.php
new file mode 100644
index 000000000..cb8993ff8
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer.php
@@ -0,0 +1,164 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Abstract base class for Highlighter renderers
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * Abstract base class for Highlighter renderers
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @abstract
+ */
+
+class Text_Highlighter_Renderer
+{
+ /**
+ * Renderer options
+ *
+ * @var array
+ * @access protected
+ */
+ var $_options = array();
+
+ /**
+ * Current language
+ *
+ * @var string
+ * @access protected
+ */
+ var $_language = '';
+
+ /**
+ * Constructor
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function __construct($options = array())
+ {
+ $this->_options = $options;
+ }
+
+ /**
+ * PHP4 compatable constructor
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function Text_Highlighter_Renderer($options = array())
+ {
+ $this->__construct($options);
+ }
+
+ /**
+ * Resets renderer state
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function reset()
+ {
+ return;
+ }
+
+ /**
+ * Preprocesses code
+ *
+ * @access public
+ *
+ * @param string $str Code to preprocess
+ * @return string Preprocessed code
+ */
+ function preprocess($str)
+ {
+ return $str;
+ }
+
+ /**
+ * Accepts next token
+ *
+ * @abstract
+ * @access public
+ *
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+ return;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ *
+ */
+ function finalize()
+ {
+ return;
+ }
+
+ /**
+ * Get generated output
+ *
+ * @abstract
+ * @return mixed Renderer-specific
+ * @access public
+ *
+ */
+ function getOutput()
+ {
+ return;
+ }
+
+ /**
+ * Set current language
+ *
+ * @abstract
+ * @return void
+ * @access public
+ *
+ */
+ function setCurrentLanguage($lang)
+ {
+ $this->_language = $lang;
+ }
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
new file mode 100644
index 000000000..fd238a4d1
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
@@ -0,0 +1,200 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Array renderer.
+ *
+ * Produces an array that contains class names and content pairs.
+ * The array can be enumerated or associative. Associative means
+ * <code>class =&gt; content</code> pairs.
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+/**
+ * Array renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * In addition to the options supported by the HTML renderer,
+ * the following options were also introduced:
+ * <ul><li>htmlspecialchars - whether or not htmlspecialchars() will
+ * be called on the content, default TRUE</li>
+ * <li>enumerated - type of array produced, default FALSE,
+ * meaning associative array</li>
+ * </ul>
+ *
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Array extends Text_Highlighter_Renderer
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Should htmlentities() will be called
+ *
+ * @var boolean
+ */
+ var $_htmlspecialchars = true;
+
+ /**
+ * Enumerated or associative array
+ *
+ * @var integer
+ */
+ var $_enumerated = false;
+
+ /**
+ * Array containing highlighting rules
+ *
+ * @var array
+ */
+ var $_output = array();
+
+ /**#@-*/
+
+ /**
+ * Preprocesses code
+ *
+ * @access public
+ *
+ * @param string $str Code to preprocess
+ * @return string Preprocessed code
+ */
+ function preprocess($str)
+ {
+ // normalize whitespace and tabs
+ $str = str_replace("\r\n","\n", $str);
+ $str = str_replace("\r","\n", $str);
+ // some browsers refuse to display empty lines
+ $str = preg_replace('~^$~m'," ", $str);
+ $str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
+ return rtrim($str);
+ }
+
+
+ /**
+ * Resets renderer state
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ *
+ * @access protected
+ */
+ function reset()
+ {
+ $this->_output = array();
+ $this->_lastClass = 'default';
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ }
+ if (isset($this->_options['htmlspecialchars'])) {
+ $this->_htmlspecialchars = $this->_options['htmlspecialchars'];
+ }
+ if (isset($this->_options['enumerated'])) {
+ $this->_enumerated = $this->_options['enumerated'];
+ }
+ }
+
+
+
+ /**
+ * Accepts next token
+ *
+ * @abstract
+ * @access public
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+
+
+ $theClass = $this->_getFullClassName($class);
+ if ($this->_htmlspecialchars) {
+ $content = htmlspecialchars($content);
+ }
+ if ($this->_enumerated) {
+ $this->_output[] = array($class, $content);
+ } else {
+ $this->_output[][$class] = $content;
+ }
+ $this->_lastClass = $class;
+
+ }
+
+
+ /**
+ * Given a CSS class name, returns the class name
+ * with language name prepended, if necessary
+ *
+ * @access private
+ *
+ * @param string $class Token class
+ */
+ function _getFullClassName($class)
+ {
+ if (!empty($this->_options['use_language'])) {
+ $theClass = $this->_language . '-' . $class;
+ } else {
+ $theClass = $class;
+ }
+ return $theClass;
+ }
+
+ /**
+ * Get generated output
+ *
+ * @abstract
+ * @return array Highlighted code as an array
+ * @access public
+ */
+ function getOutput()
+ {
+ return $this->_output;
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?> \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php b/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
new file mode 100644
index 000000000..abd77cfd8
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
@@ -0,0 +1,238 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * BB code renderer.
+ *
+ * This BB renderer produces BB code, ready to be pasted in bulletin boards and
+ * other applications that accept BB code. Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+/**
+ * BB code renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering TRUE or FALSE
+ * - 'tabsize' - Tab size, default is 4
+ * - 'bb_tags' - An array containing three BB tags, see below
+ * - 'tag_brackets' - An array that conains opening and closing tags, [ and ]
+ * - 'colors' - An array with all the colors to be used for highlighting
+ *
+ * The default BB tags are:
+ * - 'color' => 'color'
+ * - 'list' => 'list'
+ * - 'list_item' => '*'
+ *
+ * The default colors for the highlighter are:
+ * - 'default' => 'Black',
+ * - 'code' => 'Gray',
+ * - 'brackets' => 'Olive',
+ * - 'comment' => 'Orange',
+ * - 'mlcomment' => 'Orange',
+ * - 'quotes' => 'Darkred',
+ * - 'string' => 'Red',
+ * - 'identifier' => 'Blue',
+ * - 'builtin' => 'Teal',
+ * - 'reserved' => 'Green',
+ * - 'inlinedoc' => 'Blue',
+ * - 'var' => 'Darkblue',
+ * - 'url' => 'Blue',
+ * - 'special' => 'Navy',
+ * - 'number' => 'Maroon',
+ * - 'inlinetags' => 'Blue',
+ *
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 20045 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_BB extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering - will use the specified BB tag for listings
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * BB tags to be used
+ *
+ * @var array
+ */
+ var $_bb_tags = array (
+ 'color' => 'color',
+ 'list' => 'list',
+ 'list_item' => '*',
+ 'code' => 'code',
+ );
+
+ /**
+ * BB brackets - [ and ]
+ *
+ * @var array
+ */
+ var $_tag_brackets = array ('start' => '[', 'end' => ']');
+
+ /**
+ * Colors map
+ *
+ * @var boolean
+ */
+ var $_colors = array(
+ 'default' => 'Black',
+ 'code' => 'Gray',
+ 'brackets' => 'Olive',
+ 'comment' => 'Orange',
+ 'mlcomment' => 'Orange',
+ 'quotes' => 'Darkred',
+ 'string' => 'Red',
+ 'identifier' => 'Blue',
+ 'builtin' => 'Teal',
+ 'reserved' => 'Green',
+ 'inlinedoc' => 'Blue',
+ 'var' => 'Darkblue',
+ 'url' => 'Blue',
+ 'special' => 'Navy',
+ 'number' => 'Maroon',
+ 'inlinetags' => 'Blue',
+ );
+
+ /**#@-*/
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = $this->_options['numbers'];
+ }
+ if (isset($this->_options['bb_tags'])) {
+ $this->_bb_tags = array_merge($this->_bb_tags, $this->_options['bb_tags']);
+ }
+ if (isset($this->_options['tag_brackets'])) {
+ $this->_tag_brackets = array_merge($this->_tag_brackets, $this->_options['tag_brackets']);
+ }
+ if (isset($this->_options['colors'])) {
+ $this->_colors = array_merge($this->_colors, $this->_options['colors']);
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ *
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $bb_output = '';
+
+ $color_start = $this->_tag_brackets['start'] . $this->_bb_tags['color'] . '=%s' . $this->_tag_brackets['end'];
+ $color_end = $this->_tag_brackets['start'] . '/' . $this->_bb_tags['color'] . $this->_tag_brackets['end'];
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $class = $key;
+ $content = $token[$key];
+ }
+
+ $iswhitespace = ctype_space($content);
+ if (!$iswhitespace && !empty($this->_colors[$class])) {
+ $bb_output .= sprintf($color_start, $this->_colors[$class]);
+ $bb_output .= $content;
+ $bb_output .= $color_end;
+ } else {
+ $bb_output .= $content;
+ }
+ }
+
+ if ($this->_numbers) {
+
+ $item_tag = $this->_tag_brackets['start'] .
+ $this->_bb_tags['list_item'] .
+ $this->_tag_brackets['end'];
+ $this->_output = $item_tag . str_replace("\n", "\n". $item_tag .' ', $bb_output);
+ $this->_output = $this->_tag_brackets['start'] .
+ $this->_bb_tags['list'] .
+ $this->_tag_brackets['end'] .
+ $this->_output .
+ $this->_tag_brackets['start'] .
+ '/'.
+ $this->_bb_tags['list'] .
+ $this->_tag_brackets['end']
+ ;
+ } else {
+ $this->_output = $this->_tag_brackets['start'] .
+ $this->_bb_tags['code'] .
+ $this->_tag_brackets['end'] .
+ $bb_output .
+ $this->_tag_brackets['start'] .
+ '/' .
+ $this->_bb_tags['code'] .
+ $this->_tag_brackets['end'];
+ }
+ }
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
new file mode 100644
index 000000000..d7b1fba88
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
@@ -0,0 +1,208 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Console renderer
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+define ('HL_CONSOLE_DEFCOLOR', "\033[0m");
+
+/**
+ * Console renderer
+ *
+ * Suitable for displaying text on color-capable terminals, directly
+ * or trough less -r
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - whether to add line numbers
+ * - 'tabsize' - Tab size
+ * - 'colors' - additional colors
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Console extends Text_Highlighter_Renderer
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * class of last outputted text chunk
+ *
+ * @var string
+ */
+ var $_lastClass;
+
+ /**
+ * Line numbering
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Highlighted code
+ *
+ * @var string
+ */
+ var $_output = '';
+
+ /**#@-*/
+
+ var $_colors = array();
+
+ var $_defColors = array(
+ 'default' => "\033[0m",
+ 'inlinetags' => "\033[31m",
+ 'brackets' => "\033[36m",
+ 'quotes' => "\033[34m",
+ 'inlinedoc' => "\033[34m",
+ 'var' => "\033[1m",
+ 'types' => "\033[32m",
+ 'number' => "\033[32m",
+ 'string' => "\033[31m",
+ 'reserved' => "\033[35m",
+ 'comment' => "\033[33m",
+ 'mlcomment' => "\033[33m",
+ );
+
+ function preprocess($str)
+ {
+ // normalize whitespace and tabs
+ $str = str_replace("\r\n","\n", $str);
+ $str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
+ return rtrim($str);
+ }
+
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ $this->_lastClass = '';
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = (bool)$this->_options['numbers'];
+ } else {
+ $this->_numbers = false;
+ }
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ } else {
+ $this->_tabsize = 4;
+ }
+ if (isset($this->_options['colors'])) {
+ $this->_colors = array_merge($this->_defColors, $this->_options['colors']);
+ } else {
+ $this->_colors = $this->_defColors;
+ }
+ $this->_output = '';
+ }
+
+
+
+ /**
+ * Accepts next token
+ *
+ * @access public
+ *
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+ if (isset($this->_colors[$class])) {
+ $color = $this->_colors[$class];
+ } else {
+ $color = $this->_colors['default'];
+ }
+ if ($this->_lastClass != $class) {
+ $this->_output .= $color;
+ }
+ $content = str_replace("\n", $this->_colors['default'] . "\n" . $color, $content);
+ $content .= $this->_colors['default'];
+ $this->_output .= $content;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ *
+ */
+ function finalize()
+ {
+ if ($this->_numbers) {
+ $nlines = substr_count($this->_output, "\n") + 1;
+ $len = strlen($nlines);
+ $i = 1;
+ $this->_output = preg_replace('~^~em', '" " . str_pad($i++, $len, " ", STR_PAD_LEFT) . ": "', $this->_output);
+ }
+ $this->_output .= HL_CONSOLE_DEFCOLOR . "\n";
+ }
+
+ /**
+ * Get generated output
+ *
+ * @return string Highlighted code
+ * @access public
+ *
+ */
+ function getOutput()
+ {
+ return $this->_output;
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
new file mode 100644
index 000000000..5d6e56ae1
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
@@ -0,0 +1,465 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * HTML renderer
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+// BC trick : only define constants if Text/Highlighter.php
+// is not yet included
+if (!defined('HL_NUMBERS_LI')) {
+ /**#@+
+ * Constant for use with $options['numbers']
+ */
+ /**
+ * use numbered list, deprecated, use HL_NUMBERS_OL instaed
+ * @deprecated
+ */
+ define ('HL_NUMBERS_LI' , 1);
+ /**
+ * Use 2-column table with line numbers in left column and code in right column.
+ */
+ define ('HL_NUMBERS_TABLE' , 2);
+ /**#@-*/
+}
+
+
+/**#@+
+ * Constant for use with $options['numbers']
+ */
+/**
+ * Use numbered list
+ */
+define ('HL_NUMBERS_OL', 1);
+/**
+ * Use non-numbered list
+ */
+define ('HL_NUMBERS_UL', 3);
+/**#@-*/
+
+
+/**
+ * HTML renderer
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering style 0 or {@link HL_NUMBERS_TABLE}
+ * or {@link HL_NUMBERS_UL} or {@link HL_NUMBERS_OL}
+ * - 'numbers_start' - starting number for numbered lines
+ * - 'tabsize' - Tab size
+ * - 'style_map' - Mapping of keywords to formatting rules using inline styles
+ * - 'class_map' - Mapping of keywords to formatting rules using class names
+ * - 'doclinks' - array that has keys "url", "target" and "elements", used for
+ * generating links to online documentation
+ * - 'use_language' - class names will be prefixed with language, like "php-reserved" or "css-code"
+ *
+ * Example of setting documentation links:
+ * $options['doclinks'] = array(
+ * 'url' => 'http://php.net/%s',
+ * 'target' => '_blank',
+ * 'elements' => array('reserved', 'identifier')
+ * );
+ *
+ * Example of setting class names map:
+ * $options['class_map'] = array(
+ * 'main' => 'my-main',
+ * 'table' => 'my-table',
+ * 'gutter' => 'my-gutter',
+ * 'brackets' => 'my-brackets',
+ * 'builtin' => 'my-builtin',
+ * 'code' => 'my-code',
+ * 'comment' => 'my-comment',
+ * 'default' => 'my-default',
+ * 'identifier' => 'my-identifier',
+ * 'inlinedoc' => 'my-inlinedoc',
+ * 'inlinetags' => 'my-inlinetags',
+ * 'mlcomment' => 'my-mlcomment',
+ * 'number' => 'my-number',
+ * 'quotes' => 'my-quotes',
+ * 'reserved' => 'my-reserved',
+ * 'special' => 'my-special',
+ * 'string' => 'my-string',
+ * 'url' => 'my-url',
+ * 'var' => 'my-var',
+ * );
+ *
+ * Example of setting styles mapping:
+ * $options['style_map'] = array(
+ * 'main' => 'color: black',
+ * 'table' => 'border: 1px solid black',
+ * 'gutter' => 'background-color: yellow',
+ * 'brackets' => 'color: blue',
+ * 'builtin' => 'color: red',
+ * 'code' => 'color: green',
+ * 'comment' => 'color: orange',
+ * // ....
+ * );
+ *
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Html extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering style
+ *
+ * @var integer
+ */
+ var $_numbers = 0;
+
+ /**
+ * For numberered lines - where to start
+ *
+ * @var integer
+ */
+ var $_numbers_start = 0;
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Highlighted code
+ *
+ * @var string
+ */
+ var $_output = '';
+
+ /**
+ * Mapping of keywords to formatting rules using inline styles
+ *
+ * @var array
+ */
+ var $_style_map = array();
+
+ /**
+ * Mapping of keywords to formatting rules using class names
+ *
+ * @var array
+ */
+ var $_class_map = array(
+ 'main' => 'hl-main',
+ 'table' => 'hl-table',
+ 'gutter' => 'hl-gutter',
+ 'brackets' => 'hl-brackets',
+ 'builtin' => 'hl-builtin',
+ 'code' => 'hl-code',
+ 'comment' => 'hl-comment',
+ 'default' => 'hl-default',
+ 'identifier' => 'hl-identifier',
+ 'inlinedoc' => 'hl-inlinedoc',
+ 'inlinetags' => 'hl-inlinetags',
+ 'mlcomment' => 'hl-mlcomment',
+ 'number' => 'hl-number',
+ 'prepro' => 'hl-prepro',
+ 'quotes' => 'hl-quotes',
+ 'reserved' => 'hl-reserved',
+ 'special' => 'hl-special',
+ 'string' => 'hl-string',
+ 'types' => 'hl-types',
+ 'url' => 'hl-url',
+ 'var' => 'hl-var',
+ );
+
+ /**
+ * Setup for links to online documentation
+ *
+ * This is an array with keys:
+ * - url, ex. http://php.net/%s
+ * - target, ex. _blank, default - no target
+ * - elements, default is <code>array('reserved', 'identifier')</code>
+ *
+ * @var array
+ */
+ var $_doclinks = array();
+
+ /**#@-*/
+
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ $this->_output = '';
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = (int)$this->_options['numbers'];
+ if ($this->_numbers != HL_NUMBERS_LI
+ && $this->_numbers != HL_NUMBERS_UL
+ && $this->_numbers != HL_NUMBERS_OL
+ && $this->_numbers != HL_NUMBERS_TABLE
+ ) {
+ $this->_numbers = 0;
+ }
+ }
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ }
+ if (isset($this->_options['numbers_start'])) {
+ $this->_numbers_start = intval($this->_options['numbers_start']);
+ }
+ if (isset($this->_options['doclinks']) &&
+ is_array($this->_options['doclinks']) &&
+ !empty($this->_options['doclinks']['url'])
+ ) {
+
+ $this->_doclinks = $this->_options['doclinks']; // keys: url, target, elements array
+
+ if (empty($this->_options['doclinks']['elements'])) {
+ $this->_doclinks['elements'] = array('reserved', 'identifier');
+ }
+ }
+ if (isset($this->_options['style_map'])) {
+ $this->_style_map = $this->_options['style_map'];
+ }
+ if (isset($this->_options['class_map'])) {
+ $this->_class_map = array_merge($this->_class_map, $this->_options['class_map']);
+ }
+ $this->_htmlspecialchars = true;
+
+ }
+
+
+ /**
+ * Given a CSS class name, returns the class name
+ * with language name prepended, if necessary
+ *
+ * @access private
+ *
+ * @param string $class Token class
+ */
+ function _getFullClassName($class)
+ {
+ if (!empty($this->_options['use_language'])) {
+ $the_class = $this->_language . '-' . $class;
+ } else {
+ $the_class = $class;
+ }
+ return $the_class;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $html_output = '';
+
+ $numbers_li = false;
+
+ if (
+ $this->_numbers == HL_NUMBERS_LI ||
+ $this->_numbers == HL_NUMBERS_UL ||
+ $this->_numbers == HL_NUMBERS_OL
+ )
+ {
+ $numbers_li = true;
+ }
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $key = false;
+ $the_class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $the_class = $key;
+ $content = $token[$key];
+ }
+
+ $span = $this->_getStyling($the_class);
+ $decorated_output = $this->_decorate($content, $key);
+
+
+ if ($numbers_li == true) {
+ // end span tags before end of li, and re-open on next line
+ $lastSpanTag = str_replace("%s</span>", "", $span);
+ $span = sprintf($span, $decorated_output);
+ $span = str_replace("\n", "</span></li>\n<li>$lastSpanTag&nbsp;", $span);
+ $html_output .= $span;
+ } else {
+ $html_output .= sprintf($span, $decorated_output);
+ }
+
+
+ }
+
+ // format lists
+ if (!empty($this->_numbers) && $numbers_li == true) {
+
+
+ // additional whitespace for browsers that do not display
+ // empty list items correctly
+ $this->_output = '<li>&nbsp;' . $html_output . '</li>';
+
+ $start = '';
+ if ($this->_numbers == HL_NUMBERS_OL && intval($this->_numbers_start) > 0) {
+ $start = ' start="' . $this->_numbers_start . '"';
+ }
+
+ $list_tag = 'ol';
+ if ($this->_numbers == HL_NUMBERS_UL) {
+ $list_tag = 'ul';
+ }
+
+
+ $this->_output = '<' . $list_tag . $start
+ . ' ' . $this->_getStyling('main', false) . '>'
+ . $this->_output . '</'. $list_tag .'>';
+
+ // render a table
+ } else if ($this->_numbers == HL_NUMBERS_TABLE) {
+
+
+ $start_number = 0;
+ if (intval($this->_numbers_start)) {
+ $start_number = $this->_numbers_start - 1;
+ }
+
+ $numbers = '';
+
+ $nlines = substr_count($html_output,"\n")+1;
+ for ($i=1; $i <= $nlines; $i++) {
+ $numbers .= ($start_number + $i) . "\n";
+ }
+ $this->_output = '<table ' . $this->_getStyling('table', false) . ' width="100%"><tr>' .
+ '<td '. $this->_getStyling('gutter', false) .' align="right" valign="top">' .
+ '<pre>' . $numbers . '</pre></td><td '. $this->_getStyling('main', false) .
+ ' valign="top"><pre>' .
+ $html_output . '</pre></td></tr></table>';
+ }
+ if (!$this->_numbers) {
+ $this->_output = '<pre>' . $html_output . '</pre>';
+ }
+ $this->_output = '<div ' . $this->_getStyling('main', false) . '>' . $this->_output . '</div>';
+ }
+
+
+ /**
+ * Provides additional formatting to a keyword
+ *
+ * @param string $content Keyword
+ * @return string Keyword with additional formatting
+ * @access public
+ *
+ */
+ function _decorate($content, $key = false)
+ {
+ // links to online documentation
+ if (!empty($this->_doclinks) &&
+ !empty($this->_doclinks['url']) &&
+ in_array($key, $this->_doclinks['elements'])
+ ) {
+
+ $link = '<a href="'. sprintf($this->_doclinks['url'], $content) . '"';
+ if (!empty($this->_doclinks['target'])) {
+ $link.= ' target="' . $this->_doclinks['target'] . '"';
+ }
+ $link .= '>';
+ $link.= $content;
+ $link.= '</a>';
+
+ $content = $link;
+
+ }
+
+ return $content;
+ }
+
+ /**
+ * Returns <code>class</code> and/or <code>style</code> attribute,
+ * optionally enclosed in a <code>span</code> tag
+ *
+ * @param string $class Class name
+ * @paran boolean $span_tag Whether or not to return styling attributes in a <code>&gt;span&lt;</code> tag
+ * @return string <code>span</code> tag or just a <code>class</code> and/or <code>style</code> attributes
+ * @access private
+ */
+ function _getStyling($class, $span_tag = true)
+ {
+ $attrib = '';
+ if (!empty($this->_style_map) &&
+ !empty($this->_style_map[$class])
+ ) {
+ $attrib = 'style="'. $this->_style_map[$class] .'"';
+ }
+ if (!empty($this->_class_map) &&
+ !empty($this->_class_map[$class])
+ ) {
+ if ($attrib) {
+ $attrib .= ' ';
+ }
+ $attrib .= 'class="'. $this->_getFullClassName($this->_class_map[$class]) .'"';
+ }
+
+ if ($span_tag) {
+ $span = '<span ' . $attrib . '>%s</span>';
+ return $span;
+ } else {
+ return $attrib;
+ }
+
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php b/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
new file mode 100644
index 000000000..68e01d3e0
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
@@ -0,0 +1,187 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * HTML renderer that uses only basic html tags
+ *
+ * PHP versions 4 and 5. Based on the "normal" HTML renderer by Andrey Demenev.
+ * It's designed to work with user agents that support only a limited number of
+ * HTML tags. Like the iPod which supports only b, i, u and a.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+/**
+ * HTML basic tags renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering TRUE or FALSE. Default is FALSE.
+ * - 'tabsize' - Tab size, default is 4.
+ * - 'tags' - Array, containing the tags to be used for highlighting
+ *
+ * Here's the listing of the default tags:
+ * - 'default' => '',
+ * - 'code' => '',
+ * - 'brackets' => 'b',
+ * - 'comment' => 'i',
+ * - 'mlcomment' => 'i',
+ * - 'quotes' => '',
+ * - 'string' => 'i',
+ * - 'identifier' => 'b',
+ * - 'builtin' => 'b',
+ * - 'reserved' => 'u',
+ * - 'inlinedoc' => 'i',
+ * - 'var' => 'b',
+ * - 'url' => 'i',
+ * - 'special' => '',
+ * - 'number' => '',
+ * - 'inlinetags' => ''
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_HtmlTags extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering - will use 'ol' tag
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * HTML tags map
+ *
+ * @var array
+ */
+ var $_hilite_tags = array(
+ 'default' => '',
+ 'code' => '',
+ 'brackets' => 'b',
+ 'comment' => 'i',
+ 'mlcomment' => 'i',
+ 'quotes' => '',
+ 'string' => 'i',
+ 'identifier' => 'b',
+ 'builtin' => 'b',
+ 'reserved' => 'u',
+ 'inlinedoc' => 'i',
+ 'var' => 'b',
+ 'url' => 'i',
+ 'special' => '',
+ 'number' => '',
+ 'inlinetags' => '',
+ );
+
+ /**#@-*/
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = $this->_options['numbers'];
+ }
+ if (isset($this->_options['tags'])) {
+ $this->_hilite_tags = array_merge($this->_tags, $this->_options['tags']);
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ *
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $html_output = '';
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $class = $key;
+ $content = $token[$key];
+ }
+
+ $iswhitespace = ctype_space($content);
+ if (!$iswhitespace && !empty($this->_hilite_tags[$class])) {
+ $html_output .= '<'. $this->_hilite_tags[$class] . '>' . $content . '</'. $this->_hilite_tags[$class] . '>';
+ } else {
+ $html_output .= $content;
+ }
+ }
+
+
+ if ($this->_numbers) {
+ /* additional whitespace for browsers that do not display
+ empty list items correctly */
+ $html_output = '<li>&nbsp;' . str_replace("\n", "</li>\n<li>&nbsp;", $html_output) . '</li>';
+ $this->_output = '<ol>' . str_replace(' ', '&nbsp;', $html_output) . '</ol>';
+ } else {
+ $this->_output = '<pre>' . $html_output . '</pre>';
+ }
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php b/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
new file mode 100644
index 000000000..d4c926161
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
@@ -0,0 +1,86 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * JSON renderer.
+ *
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+/**
+ * JSON renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_JSON extends Text_Highlighter_Renderer_Array
+{
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ */
+ function finalize()
+ {
+
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $json_array = array();
+
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $json_array[] = '["' . $token[0] . '","' . $token[1] . '"]';
+ } else {
+ $key = key($token);
+ $json_array[] = '{"class": "' . $key . '","content":"' . $token[$key] . '"}';
+ }
+
+ }
+
+ $this->_output = '['. implode(',', $json_array) .']';
+ $this->_output = str_replace("\n", '\n', $this->_output);
+
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?> \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
new file mode 100644
index 000000000..7b6fb2106
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
@@ -0,0 +1,104 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * XML renderer.
+ *
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+require_once 'XML/Serializer.php';
+
+/**
+ * XML renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_XML extends Text_Highlighter_Renderer_Array
+{
+
+
+ /**
+ * Options for XML_Serializer
+ *
+ * @access private
+ * @var array
+ */
+ var $_serializer_options = array();
+
+
+ /**
+ * Resets renderer state
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ *
+ * @access protected
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['xml_serializer'])) {
+ $this->_serializer_options = $this->_options['xml_serializer'];
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ */
+ function finalize()
+ {
+
+ // call parent's finalize(), then serialize array into XML
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $serializer = new XML_Serializer($this->_serializer_options);
+ $result = $serializer->serialize($output);
+ if ($result === true) {
+ $this->_output = $serializer->getSerializedData();
+ }
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/SH.php b/library/Text_Highlighter/Text/Highlighter/SH.php
new file mode 100644
index 000000000..ff779868f
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/SH.php
@@ -0,0 +1,1225 @@
+<?php
+/**
+ * Auto-generated class. SH syntax highlighting
+ *
+ * This highlighter is EXPERIMENTAL. It may work incorrectly.
+ * It is a crude hack of the perl syntax, which itself wasn't so good.
+ * But this seems to work OK.
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : sh.xml,v 1.2 2007/06/14 00:15:50 ssttoo Exp
+ * @author Noah Spurrier <noah@noah.org>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. SH syntax highlighting
+ *
+ * @author Noah Spurrier <noah@noah.org>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_SH extends Text_Highlighter
+{
+ var $_language = 'sh';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_SH($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 0 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|((?i)([a-z1-9_]+)(\\s*=>))|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 2 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 3 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ 4 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 5 => '/(\\\\\\/)/',
+ 6 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 7 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 8 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 2,
+ 12 => 0,
+ 13 => 3,
+ 14 => 1,
+ 15 => 3,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => 'quotes',
+ 20 => '',
+ 21 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'string',
+ 20 => 'identifier',
+ 21 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 7 =>
+ array (
+ 0 => 'special',
+ ),
+ 8 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/\\}/',
+ 1 => '/\\)/',
+ 2 => '/\\]/',
+ 3 => '/%b2%/',
+ 4 => '/%b2%/',
+ 5 => '/\\/[cgimosx]*/',
+ 6 => '/`/',
+ 7 => '/\'/',
+ 8 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => 6,
+ 18 => 7,
+ 19 => 8,
+ 20 => -1,
+ 21 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 => -1,
+ 18 => -1,
+ 19 => -1,
+ 20 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 21 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 =>
+ array (
+ 1 => 'string',
+ 2 => 'code',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'flowcontrol' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/SQL.php b/library/Text_Highlighter/Text/Highlighter/SQL.php
new file mode 100644
index 000000000..824864033
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/SQL.php
@@ -0,0 +1,419 @@
+<?php
+/**
+ * Auto-generated class. SQL syntax highlighting
+ *
+ * Based on SQL-99
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : sql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. SQL syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_SQL extends Text_Highlighter
+{
+ var $_language = 'sql';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_SQL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 4 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 5,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 5,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => 'quotes',
+ 5 => 'brackets',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => 'quotes',
+ 5 => 'brackets',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'string',
+ 5 => 'code',
+ 6 => 'string',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'string',
+ 5 => 'code',
+ 6 => 'string',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)`/',
+ 1 => '/(?i)\\*\\//',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\\)/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
+ 'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
+ ),
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
+ 'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
+ ),
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'keyword' => 'var',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php b/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
new file mode 100644
index 000000000..31a7c7c9e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
@@ -0,0 +1,318 @@
+<?php
+/**
+ * Auto-generated class. VBSCRIPT syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: vbscript.xml
+ * @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. VBSCRIPT syntax highlighting
+ *
+ * @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_VBSCRIPT extends Text_Highlighter
+{
+ var $_language = 'vbscript';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_VBSCRIPT($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
+ 0 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
+ 1 => '//',
+ 2 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'quotes',
+ 2 => 'comment',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'quotes',
+ 2 => 'comment',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'string',
+ 2 => 'comment',
+ 3 => 'number',
+ 4 => 'number',
+ 5 => 'identifier',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'string',
+ 2 => 'comment',
+ 3 => 'number',
+ 4 => 'number',
+ 5 => 'identifier',
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\)/',
+ 1 => '/(?i)"/',
+ 2 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
+ 'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
+ 'builtin' => '/^((?i)debug|err|match|regexp)$/',
+ 'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
+ 'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
+ 'builtin' => '/^((?i)debug|err|match|regexp)$/',
+ 'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
+ ),
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'constants' => 'builtin',
+ 'functions' => 'builtin',
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/XML.php b/library/Text_Highlighter/Text/Highlighter/XML.php
new file mode 100644
index 000000000..2d85db5fd
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/XML.php
@@ -0,0 +1,263 @@
+<?php
+/**
+ * Auto-generated class. XML syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : xml.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. XML syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_XML extends Text_Highlighter
+{
+ var $_language = 'xml';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_XML($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<\\!\\[CDATA\\[)|((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&|%)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
+ 3 => '/((?i)(&|%)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => 'quotes',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'var',
+ 2 => 'string',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\]\\]\\>/',
+ 1 => '/(?i)--\\>/',
+ 2 => '/(?i)[\\/\\?]?\\>/',
+ 3 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => 3,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 => -1,
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/abap.xml b/library/Text_Highlighter/abap.xml
new file mode 100644
index 000000000..06d26e507
--- /dev/null
+++ b/library/Text_Highlighter/abap.xml
@@ -0,0 +1,802 @@
+<?xml version="1.0"?>
+<!-- $Id: abap.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="abap" case = "no">
+
+ <authors>
+ <author name="Stoyan Stefanov" email ="ssttoo@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <region name="comment" start="^\*|&quot;" end="/$/m" innerClass="comment">
+ <contains all="no"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
+
+ <block name="identifier" match="[a-zA-Z_]\w*" innerClass="identifier" contained="yes"/>
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
+
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
+
+ <block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
+
+
+ <block name="identifier" match="[a-z_\-]\w*" innerClass="identifier" case="no"/>
+
+ <keywords name="sy" inherits="identifier" innerClass="reserved">
+ <keyword match="SCREEN-NAME"/>
+ <keyword match="SCREEN-GROUP1"/>
+ <keyword match="SCREEN-GROUP2"/>
+ <keyword match="SCREEN-GROUP3"/>
+ <keyword match="SCREEN-GROUP4"/>
+ <keyword match="SCREEN-REQUIRED"/>
+ <keyword match="SCREEN-INPUT"/>
+ <keyword match="SCREEN-OUTPUT"/>
+ <keyword match="SCREEN-INTENSIFIED"/>
+ <keyword match="SCREEN-INVISIBLE"/>
+ <keyword match="SCREEN-LENGTH"/>
+ <keyword match="SCREEN-ACTIVE"/>
+ <keyword match="SY-INDEX"/>
+ <keyword match="SY-PAGNO"/>
+ <keyword match="SY-TABIX"/>
+ <keyword match="SY-TFILL"/>
+ <keyword match="SY-TLOPC"/>
+ <keyword match="SY-TMAXL"/>
+ <keyword match="SY-TOCCU"/>
+ <keyword match="SY-TTABC"/>
+ <keyword match="SY-TSTIS"/>
+ <keyword match="SY-TTABI"/>
+ <keyword match="SY-DBCNT"/>
+ <keyword match="SY-FDPOS"/>
+ <keyword match="SY-COLNO"/>
+ <keyword match="SY-LINCT"/>
+ <keyword match="SY-LINNO"/>
+ <keyword match="SY-LINSZ"/>
+ <keyword match="SY-PAGCT"/>
+ <keyword match="SY-MACOL"/>
+ <keyword match="SY-MAROW"/>
+ <keyword match="SY-TLENG"/>
+ <keyword match="SY-SFOFF"/>
+ <keyword match="SY-WILLI"/>
+ <keyword match="SY-LILLI"/>
+ <keyword match="SY-SUBRC"/>
+ <keyword match="SY-FLENG"/>
+ <keyword match="SY-CUCOL"/>
+ <keyword match="SY-CUROW"/>
+ <keyword match="SY-LSIND"/>
+ <keyword match="SY-LISTI"/>
+ <keyword match="SY-STEPL"/>
+ <keyword match="SY-TPAGI"/>
+ <keyword match="SY-WINX1"/>
+ <keyword match="SY-WINY1"/>
+ <keyword match="SY-WINX2"/>
+ <keyword match="SY-WINY2"/>
+ <keyword match="SY-WINCO"/>
+ <keyword match="SY-WINRO"/>
+ <keyword match="SY-WINDI"/>
+ <keyword match="SY-SROWS"/>
+ <keyword match="SY-SCOLS"/>
+ <keyword match="SY-LOOPC"/>
+ <keyword match="SY-FOLEN"/>
+ <keyword match="SY-FODEC"/>
+ <keyword match="SY-TZONE"/>
+ <keyword match="SY-DAYST"/>
+ <keyword match="SY-FTYPE"/>
+ <keyword match="SY-APPLI"/>
+ <keyword match="SY-FDAYW"/>
+ <keyword match="SY-CCURS"/>
+ <keyword match="SY-CCURT"/>
+ <keyword match="SY-DEBUG"/>
+ <keyword match="SY-CTYPE"/>
+ <keyword match="SY-INPUT"/>
+ <keyword match="SY-LANGU"/>
+ <keyword match="SY-MODNO"/>
+ <keyword match="SY-BATCH"/>
+ <keyword match="SY-BINPT"/>
+ <keyword match="SY-CALLD"/>
+ <keyword match="SY-DYNNR"/>
+ <keyword match="SY-DYNGR"/>
+ <keyword match="SY-NEWPA"/>
+ <keyword match="SY-PRI40"/>
+ <keyword match="SY-RSTRT"/>
+ <keyword match="SY-WTITL"/>
+ <keyword match="SY-CPAGE"/>
+ <keyword match="SY-DBNAM"/>
+ <keyword match="SY-MANDT"/>
+ <keyword match="SY-PREFX"/>
+ <keyword match="SY-FMKEY"/>
+ <keyword match="SY-PEXPI"/>
+ <keyword match="SY-PRINI"/>
+ <keyword match="SY-PRIMM"/>
+ <keyword match="SY-PRREL"/>
+ <keyword match="SY-PLAYO"/>
+ <keyword match="SY-PRBIG"/>
+ <keyword match="SY-PLAYP"/>
+ <keyword match="SY-PRNEW"/>
+ <keyword match="SY-PRLOG"/>
+ <keyword match="SY-PDEST"/>
+ <keyword match="SY-PLIST"/>
+ <keyword match="SY-PAUTH"/>
+ <keyword match="SY-PRDSN"/>
+ <keyword match="SY-PNWPA"/>
+ <keyword match="SY-CALLR"/>
+ <keyword match="SY-REPI2"/>
+ <keyword match="SY-RTITL"/>
+ <keyword match="SY-PRREC"/>
+ <keyword match="SY-PRTXT"/>
+ <keyword match="SY-PRABT"/>
+ <keyword match="SY-LPASS"/>
+ <keyword match="SY-NRPAG"/>
+ <keyword match="SY-PAART"/>
+ <keyword match="SY-PRCOP"/>
+ <keyword match="SY-BATZS"/>
+ <keyword match="SY-BSPLD"/>
+ <keyword match="SY-BREP4"/>
+ <keyword match="SY-BATZO"/>
+ <keyword match="SY-BATZD"/>
+ <keyword match="SY-BATZW"/>
+ <keyword match="SY-BATZM"/>
+ <keyword match="SY-CTABL"/>
+ <keyword match="SY-DBSYS"/>
+ <keyword match="SY-DCSYS"/>
+ <keyword match="SY-MACDB"/>
+ <keyword match="SY-SYSID"/>
+ <keyword match="SY-OPSYS"/>
+ <keyword match="SY-PFKEY"/>
+ <keyword match="SY-SAPRL"/>
+ <keyword match="SY-TCODE"/>
+ <keyword match="SY-UCOMM"/>
+ <keyword match="SY-CFWAE"/>
+ <keyword match="SY-CHWAE"/>
+ <keyword match="SY-SPONO"/>
+ <keyword match="SY-SPONR"/>
+ <keyword match="SY-WAERS"/>
+ <keyword match="SY-CDATE"/>
+ <keyword match="SY-DATUM"/>
+ <keyword match="SY-SLSET"/>
+ <keyword match="SY-SUBTY"/>
+ <keyword match="SY-SUBCS"/>
+ <keyword match="SY-GROUP"/>
+ <keyword match="SY-FFILE"/>
+ <keyword match="SY-UZEIT"/>
+ <keyword match="SY-DSNAM"/>
+ <keyword match="SY-REPID"/>
+ <keyword match="SY-TABID"/>
+ <keyword match="SY-TFDSN"/>
+ <keyword match="SY-UNAME"/>
+ <keyword match="SY-LSTAT"/>
+ <keyword match="SY-ABCDE"/>
+ <keyword match="SY-MARKY"/>
+ <keyword match="SY-SFNAM"/>
+ <keyword match="SY-TNAME"/>
+ <keyword match="SY-MSGLI"/>
+ <keyword match="SY-TITLE"/>
+ <keyword match="SY-ENTRY"/>
+ <keyword match="SY-LISEL"/>
+ <keyword match="SY-ULINE"/>
+ <keyword match="SY-XCODE"/>
+ <keyword match="SY-CPROG"/>
+ <keyword match="SY-XPROG"/>
+ <keyword match="SY-XFORM"/>
+ <keyword match="SY-LDBPG"/>
+ <keyword match="SY-TVAR0"/>
+ <keyword match="SY-TVAR1"/>
+ <keyword match="SY-TVAR2"/>
+ <keyword match="SY-TVAR3"/>
+ <keyword match="SY-TVAR4"/>
+ <keyword match="SY-TVAR5"/>
+ <keyword match="SY-TVAR6"/>
+ <keyword match="SY-TVAR7"/>
+ <keyword match="SY-TVAR8"/>
+ <keyword match="SY-TVAR9"/>
+ <keyword match="SY-MSGID"/>
+ <keyword match="SY-MSGTY"/>
+ <keyword match="SY-MSGNO"/>
+ <keyword match="SY-MSGV1"/>
+ <keyword match="SY-MSGV2"/>
+ <keyword match="SY-MSGV3"/>
+ <keyword match="SY-MSGV4"/>
+ <keyword match="SY-ONCOM"/>
+ <keyword match="SY-VLINE"/>
+ <keyword match="SY-WINSL"/>
+ <keyword match="SY-STACO"/>
+ <keyword match="SY-STARO"/>
+ <keyword match="SY-DATAR"/>
+ <keyword match="SY-HOST"/>
+ <keyword match="SY-LOCDB"/>
+ <keyword match="SY-LOCOP"/>
+ <keyword match="SY-DATLO"/>
+ <keyword match="SY-TIMLO"/>
+ <keyword match="SY-ZONLO"/>
+ <keyword match="SYST-INDEX"/>
+ <keyword match="SYST-PAGNO"/>
+ <keyword match="SYST-TABIX"/>
+ <keyword match="SYST-TFILL"/>
+ <keyword match="SYST-TLOPC"/>
+ <keyword match="SYST-TMAXL"/>
+ <keyword match="SYST-TOCCU"/>
+ <keyword match="SYST-TTABC"/>
+ <keyword match="SYST-TSTIS"/>
+ <keyword match="SYST-TTABI"/>
+ <keyword match="SYST-DBCNT"/>
+ <keyword match="SYST-FDPOS"/>
+ <keyword match="SYST-COLNO"/>
+ <keyword match="SYST-LINCT"/>
+ <keyword match="SYST-LINNO"/>
+ <keyword match="SYST-LINSZ"/>
+ <keyword match="SYST-PAGCT"/>
+ <keyword match="SYST-MACOL"/>
+ <keyword match="SYST-MAROW"/>
+ <keyword match="SYST-TLENG"/>
+ <keyword match="SYST-SFOFF"/>
+ <keyword match="SYST-WILLI"/>
+ <keyword match="SYST-LILLI"/>
+ <keyword match="SYST-SUBRC"/>
+ <keyword match="SYST-FLENG"/>
+ <keyword match="SYST-CUCOL"/>
+ <keyword match="SYST-CUROW"/>
+ <keyword match="SYST-LSIND"/>
+ <keyword match="SYST-LISTI"/>
+ <keyword match="SYST-STEPL"/>
+ <keyword match="SYST-TPAGI"/>
+ <keyword match="SYST-WINX1"/>
+ <keyword match="SYST-WINY1"/>
+ <keyword match="SYST-WINX2"/>
+ <keyword match="SYST-WINY2"/>
+ <keyword match="SYST-WINCO"/>
+ <keyword match="SYST-WINRO"/>
+ <keyword match="SYST-WINDI"/>
+ <keyword match="SYST-SROWS"/>
+ <keyword match="SYST-SCOLS"/>
+ <keyword match="SYST-LOOPC"/>
+ <keyword match="SYST-FOLEN"/>
+ <keyword match="SYST-FODEC"/>
+ <keyword match="SYST-TZONE"/>
+ <keyword match="SYST-DAYST"/>
+ <keyword match="SYST-FTYPE"/>
+ <keyword match="SYST-APPLI"/>
+ <keyword match="SYST-FDAYW"/>
+ <keyword match="SYST-CCURS"/>
+ <keyword match="SYST-CCURT"/>
+ <keyword match="SYST-DEBUG"/>
+ <keyword match="SYST-CTYPE"/>
+ <keyword match="SYST-INPUT"/>
+ <keyword match="SYST-LANGU"/>
+ <keyword match="SYST-MODNO"/>
+ <keyword match="SYST-BATCH"/>
+ <keyword match="SYST-BINPT"/>
+ <keyword match="SYST-CALLD"/>
+ <keyword match="SYST-DYNNR"/>
+ <keyword match="SYST-DYNGR"/>
+ <keyword match="SYST-NEWPA"/>
+ <keyword match="SYST-PRI40"/>
+ <keyword match="SYST-RSTRT"/>
+ <keyword match="SYST-WTITL"/>
+ <keyword match="SYST-CPAGE"/>
+ <keyword match="SYST-DBNAM"/>
+ <keyword match="SYST-MANDT"/>
+ <keyword match="SYST-PREFX"/>
+ <keyword match="SYST-FMKEY"/>
+ <keyword match="SYST-PEXPI"/>
+ <keyword match="SYST-PRINI"/>
+ <keyword match="SYST-PRIMM"/>
+ <keyword match="SYST-PRREL"/>
+ <keyword match="SYST-PLAYO"/>
+ <keyword match="SYST-PRBIG"/>
+ <keyword match="SYST-PLAYP"/>
+ <keyword match="SYST-PRNEW"/>
+ <keyword match="SYST-PRLOG"/>
+ <keyword match="SYST-PDEST"/>
+ <keyword match="SYST-PLIST"/>
+ <keyword match="SYST-PAUTH"/>
+ <keyword match="SYST-PRDSN"/>
+ <keyword match="SYST-PNWPA"/>
+ <keyword match="SYST-CALLR"/>
+ <keyword match="SYST-REPI2"/>
+ <keyword match="SYST-RTITL"/>
+ <keyword match="SYST-PRREC"/>
+ <keyword match="SYST-PRTXT"/>
+ <keyword match="SYST-PRABT"/>
+ <keyword match="SYST-LPASS"/>
+ <keyword match="SYST-NRPAG"/>
+ <keyword match="SYST-PAART"/>
+ <keyword match="SYST-PRCOP"/>
+ <keyword match="SYST-BATZS"/>
+ <keyword match="SYST-BSPLD"/>
+ <keyword match="SYST-BREP4"/>
+ <keyword match="SYST-BATZO"/>
+ <keyword match="SYST-BATZD"/>
+ <keyword match="SYST-BATZW"/>
+ <keyword match="SYST-BATZM"/>
+ <keyword match="SYST-CTABL"/>
+ <keyword match="SYST-DBSYS"/>
+ <keyword match="SYST-DCSYS"/>
+ <keyword match="SYST-MACDB"/>
+ <keyword match="SYST-SYSID"/>
+ <keyword match="SYST-OPSYS"/>
+ <keyword match="SYST-PFKEY"/>
+ <keyword match="SYST-SAPRL"/>
+ <keyword match="SYST-TCODE"/>
+ <keyword match="SYST-UCOMM"/>
+ <keyword match="SYST-CFWAE"/>
+ <keyword match="SYST-CHWAE"/>
+ <keyword match="SYST-SPONO"/>
+ <keyword match="SYST-SPONR"/>
+ <keyword match="SYST-WAERS"/>
+ <keyword match="SYST-CDATE"/>
+ <keyword match="SYST-DATUM"/>
+ <keyword match="SYST-SLSET"/>
+ <keyword match="SYST-SUBTY"/>
+ <keyword match="SYST-SUBCS"/>
+ <keyword match="SYST-GROUP"/>
+ <keyword match="SYST-FFILE"/>
+ <keyword match="SYST-UZEIT"/>
+ <keyword match="SYST-DSNAM"/>
+ <keyword match="SYST-REPID"/>
+ <keyword match="SYST-TABID"/>
+ <keyword match="SYST-TFDSN"/>
+ <keyword match="SYST-UNAME"/>
+ <keyword match="SYST-LSTAT"/>
+ <keyword match="SYST-ABCDE"/>
+ <keyword match="SYST-MARKY"/>
+ <keyword match="SYST-SFNAM"/>
+ <keyword match="SYST-TNAME"/>
+ <keyword match="SYST-MSGLI"/>
+ <keyword match="SYST-TITLE"/>
+ <keyword match="SYST-ENTRY"/>
+ <keyword match="SYST-LISEL"/>
+ <keyword match="SYST-ULINE"/>
+ <keyword match="SYST-XCODE"/>
+ <keyword match="SYST-CPROG"/>
+ <keyword match="SYST-XPROG"/>
+ <keyword match="SYST-XFORM"/>
+ <keyword match="SYST-LDBPG"/>
+ <keyword match="SYST-TVAR0"/>
+ <keyword match="SYST-TVAR1"/>
+ <keyword match="SYST-TVAR2"/>
+ <keyword match="SYST-TVAR3"/>
+ <keyword match="SYST-TVAR4"/>
+ <keyword match="SYST-TVAR5"/>
+ <keyword match="SYST-TVAR6"/>
+ <keyword match="SYST-TVAR7"/>
+ <keyword match="SYST-TVAR8"/>
+ <keyword match="SYST-TVAR9"/>
+ <keyword match="SYST-MSGID"/>
+ <keyword match="SYST-MSGTY"/>
+ <keyword match="SYST-MSGNO"/>
+ <keyword match="SYST-MSGV1"/>
+ <keyword match="SYST-MSGV2"/>
+ <keyword match="SYST-MSGV3"/>
+ <keyword match="SYST-MSGV4"/>
+ <keyword match="SYST-ONCOM"/>
+ <keyword match="SYST-VLINE"/>
+ <keyword match="SYST-WINSL"/>
+ <keyword match="SYST-STACO"/>
+ <keyword match="SYST-STARO"/>
+ <keyword match="SYST-DATAR"/>
+ <keyword match="SYST-HOST"/>
+ <keyword match="SYST-LOCDB"/>
+ <keyword match="SYST-LOCOP"/>
+ <keyword match="SYST-DATLO"/>
+ <keyword match="SYST-TIMLO"/>
+ <keyword match="SYST-ZONLO"/>
+ </keywords>
+
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved">
+ <keyword match="ABS"/>
+ <keyword match="ACOS"/>
+ <keyword match="ADD"/>
+ <keyword match="ADD-CORRESPONDING"/>
+ <keyword match="ADJACENT"/>
+ <keyword match="AFTER"/>
+ <keyword match="ALIASES"/>
+ <keyword match="ALL"/>
+ <keyword match="ANALYZER"/>
+ <keyword match="AND"/>
+ <keyword match="ANY"/>
+ <keyword match="APPEND"/>
+ <keyword match="AS"/>
+ <keyword match="ASCENDING"/>
+ <keyword match="ASIN"/>
+ <keyword match="ASSIGN"/>
+ <keyword match="ASSIGNED"/>
+ <keyword match="ASSIGNING"/>
+ <keyword match="AT"/>
+ <keyword match="ATAN"/>
+ <keyword match="AUTHORITY-CHECK"/>
+ <keyword match="AVG"/>
+ <keyword match="BACK"/>
+ <keyword match="BEFORE"/>
+ <keyword match="BEGIN"/>
+ <keyword match="BINARY"/>
+ <keyword match="BIT"/>
+ <keyword match="BIT-AND"/>
+ <keyword match="BIT-NOT"/>
+ <keyword match="BIT-OR"/>
+ <keyword match="BIT-XOR"/>
+ <keyword match="BLANK"/>
+ <keyword match="BLOCK"/>
+ <keyword match="BREAK-POINT"/>
+ <keyword match="BUFFER"/>
+ <keyword match="BY"/>
+ <keyword match="C"/>
+ <keyword match="CALL"/>
+ <keyword match="CASE"/>
+ <keyword match="CATCH"/>
+ <keyword match="CEIL"/>
+ <keyword match="CENTERED"/>
+ <keyword match="CHAIN"/>
+ <keyword match="CHANGE"/>
+ <keyword match="CHANGING"/>
+ <keyword match="CHECK"/>
+ <keyword match="CHECKBOX"/>
+ <keyword match="CLASS"/>
+ <keyword match="CLASS-DATA"/>
+ <keyword match="CLASS-EVENTS"/>
+ <keyword match="CLASS-METHODS"/>
+ <keyword match="CLASS-POOL"/>
+ <keyword match="CLEAR"/>
+ <keyword match="CLIENT"/>
+ <keyword match="CLOSE"/>
+ <keyword match="CNT"/>
+ <keyword match="CODE"/>
+ <keyword match="COLLECT"/>
+ <keyword match="COLOR"/>
+ <keyword match="COMMENT"/>
+ <keyword match="COMMIT"/>
+ <keyword match="COMMUNICATION"/>
+ <keyword match="COMPUTE"/>
+ <keyword match="CONCATENATE"/>
+ <keyword match="CONDENSE"/>
+ <keyword match="CONSTANTS"/>
+ <keyword match="CONTEXT"/>
+ <keyword match="CONTEXTS"/>
+ <keyword match="CONTINUE"/>
+ <keyword match="CONTROL"/>
+ <keyword match="CONTROLS"/>
+ <keyword match="CONVERT"/>
+ <keyword match="COPY"/>
+ <keyword match="CORRESPONDING"/>
+ <keyword match="COS"/>
+ <keyword match="COSH"/>
+ <keyword match="COUNT"/>
+ <keyword match="COUNTRY"/>
+ <keyword match="CREATE"/>
+ <keyword match="CURRENCY"/>
+ <keyword match="CURSOR"/>
+ <keyword match="CUSTOMER-FUNCTION"/>
+ <keyword match="DATA"/>
+ <keyword match="DATABASE"/>
+ <keyword match="DATASET"/>
+ <keyword match="DELETE"/>
+ <keyword match="DECIMALS"/>
+ <keyword match="DEFAULT"/>
+ <keyword match="DEFINE"/>
+ <keyword match="DELETE"/>
+ <keyword match="DEMAND"/>
+ <keyword match="DESCENDING"/>
+ <keyword match="DESCRIBE"/>
+ <keyword match="DIALOG"/>
+ <keyword match="DISTINCT"/>
+ <keyword match="DIV"/>
+ <keyword match="DIVIDE"/>
+ <keyword match="DIVIDE-CORRESPONDING"/>
+ <keyword match="DO"/>
+ <keyword match="DUPLICATES"/>
+ <keyword match="DYNPRO"/>
+ <keyword match="EDIT"/>
+ <keyword match="EDITOR-CALL"/>
+ <keyword match="ELSE"/>
+ <keyword match="ELSEIF"/>
+ <keyword match="END"/>
+ <keyword match="END-OF-DEFINITION"/>
+ <keyword match="END-OF-PAGE"/>
+ <keyword match="END-OF-SELECTION"/>
+ <keyword match="ENDAT"/>
+ <keyword match="ENDCASE"/>
+ <keyword match="ENDCATCH"/>
+ <keyword match="ENDCHAIN"/>
+ <keyword match="ENDCLASS"/>
+ <keyword match="ENDDO"/>
+ <keyword match="ENDEXEC"/>
+ <keyword match="ENDFORM"/>
+ <keyword match="ENDFUNCTION"/>
+ <keyword match="ENDIF"/>
+ <keyword match="ENDINTERFACE"/>
+ <keyword match="ENDLOOP"/>
+ <keyword match="ENDMETHOD"/>
+ <keyword match="ENDMODULE"/>
+ <keyword match="ENDON"/>
+ <keyword match="ENDPROVIDE"/>
+ <keyword match="ENDSELECT"/>
+ <keyword match="ENDWHILE"/>
+ <keyword match="ENTRIES"/>
+ <keyword match="EVENTS"/>
+ <keyword match="EXEC"/>
+ <keyword match="EXIT"/>
+ <keyword match="EXIT-COMMAND"/>
+ <keyword match="EXP"/>
+ <keyword match="EXPONENT"/>
+ <keyword match="EXPORT"/>
+ <keyword match="EXPORTING"/>
+ <keyword match="EXCEPTIONS"/>
+ <keyword match="EXTENDED"/>
+ <keyword match="EXTRACT"/>
+ <keyword match="FETCH"/>
+ <keyword match="FIELD"/>
+ <keyword match="FIELD-GROUPS"/>
+ <keyword match="FIELD-SYMBOLS"/>
+ <keyword match="FIELDS"/>
+ <keyword match="FLOOR"/>
+ <keyword match="FOR"/>
+ <keyword match="FORM"/>
+ <keyword match="FORMAT"/>
+ <keyword match="FRAC"/>
+ <keyword match="FRAME"/>
+ <keyword match="FREE"/>
+ <keyword match="FROM"/>
+ <keyword match="FUNCTION"/>
+ <keyword match="FUNCTION-POOL"/>
+ <keyword match="GENERATE"/>
+ <keyword match="GET"/>
+ <keyword match="GROUP"/>
+ <keyword match="HASHED"/>
+ <keyword match="HEADER"/>
+ <keyword match="HELP-ID"/>
+ <keyword match="HELP-REQUEST"/>
+ <keyword match="HIDE"/>
+ <keyword match="HOTSPOT"/>
+ <keyword match="ICON"/>
+ <keyword match="ID"/>
+ <keyword match="IF"/>
+ <keyword match="IMPORT"/>
+ <keyword match="IMPORTING"/>
+ <keyword match="INCLUDE"/>
+ <keyword match="INDEX"/>
+ <keyword match="INFOTYPES"/>
+ <keyword match="INITIALIZATION"/>
+ <keyword match="INNER"/>
+ <keyword match="INPUT"/>
+ <keyword match="INSERT"/>
+ <keyword match="INTENSIFIED"/>
+ <keyword match="INTERFACE"/>
+ <keyword match="INTERFACE-POOL"/>
+ <keyword match="INTERFACES"/>
+ <keyword match="INTO"/>
+ <keyword match="INVERSE"/>
+ <keyword match="JOIN"/>
+ <keyword match="KEY"/>
+ <keyword match="LANGUAGE"/>
+ <keyword match="LAST"/>
+ <keyword match="LEAVE"/>
+ <keyword match="LEFT"/>
+ <keyword match="LEFT-JUSTIFIED"/>
+ <keyword match="LIKE"/>
+ <keyword match="LINE"/>
+ <keyword match="LINE-COUNT"/>
+ <keyword match="LINE-SELECTION"/>
+ <keyword match="LINE-SIZE"/>
+ <keyword match="LINES"/>
+ <keyword match="LIST-PROCESSING"/>
+ <keyword match="LOAD"/>
+ <keyword match="LOAD-OF-PROGRAM"/>
+ <keyword match="LOCAL"/>
+ <keyword match="LOCALE"/>
+ <keyword match="LOG"/>
+ <keyword match="LOG10"/>
+ <keyword match="LOOP"/>
+ <keyword match="M"/>
+ <keyword match="MARGIN"/>
+ <keyword match="MASK"/>
+ <keyword match="MATCHCODE"/>
+ <keyword match="MAX"/>
+ <keyword match="MEMORY"/>
+ <keyword match="MESSAGE"/>
+ <keyword match="MESSAGE-ID"/>
+ <keyword match="MESSAGES"/>
+ <keyword match="METHOD"/>
+ <keyword match="METHODS"/>
+ <keyword match="MIN"/>
+ <keyword match="MOD"/>
+ <keyword match="MODE"/>
+ <keyword match="MODIF"/>
+ <keyword match="MODIFY"/>
+ <keyword match="MODULE"/>
+ <keyword match="MOVE"/>
+ <keyword match="MOVE-CORRESPONDING"/>
+ <keyword match="MULTIPLY"/>
+ <keyword match="MULTIPLY-CORRESPONDING"/>
+ <keyword match="NEW"/>
+ <keyword match="NEW-LINE"/>
+ <keyword match="NEW-PAGE"/>
+ <keyword match="NEXT"/>
+ <keyword match="NO"/>
+ <keyword match="NO-GAP"/>
+ <keyword match="NO-GAPS"/>
+ <keyword match="NO-HEADING"/>
+ <keyword match="NO-SCROLLING"/>
+ <keyword match="NO-SIGN"/>
+ <keyword match="NO-TITLE"/>
+ <keyword match="NO-ZERO"/>
+ <keyword match="NODES"/>
+ <keyword match="NON-UNIQUE"/>
+ <keyword match="O"/>
+ <keyword match="OBJECT"/>
+ <keyword match="OBLIGATORY"/>
+ <keyword match="OCCURS"/>
+ <keyword match="OF"/>
+ <keyword match="OFF"/>
+ <keyword match="ON"/>
+ <keyword match="OPEN"/>
+ <keyword match="OR"/>
+ <keyword match="ORDER"/>
+ <keyword match="OTHERS"/>
+ <keyword match="OUTER"/>
+ <keyword match="OUTPUT"/>
+ <keyword match="OVERLAY"/>
+ <keyword match="PACK"/>
+ <keyword match="PAGE"/>
+ <keyword match="PARAMETER"/>
+ <keyword match="PARAMETERS"/>
+ <keyword match="PERFORM"/>
+ <keyword match="PF-STATUS"/>
+ <keyword match="POSITION"/>
+ <keyword match="PRINT"/>
+ <keyword match="PRINT-CONTROL"/>
+ <keyword match="PRIVATE"/>
+ <keyword match="PROCESS"/>
+ <keyword match="PROGRAM"/>
+ <keyword match="PROPERTY"/>
+ <keyword match="PROTECTED"/>
+ <keyword match="PROVIDE"/>
+ <keyword match="PUBLIC"/>
+ <keyword match="PUT"/>
+ <keyword match="RADIOBUTTON"/>
+ <keyword match="RAISE"/>
+ <keyword match="RAISING"/>
+ <keyword match="RANGE"/>
+ <keyword match="RANGES"/>
+ <keyword match="READ"/>
+ <keyword match="RECEIVE"/>
+ <keyword match="REFRESH"/>
+ <keyword match="REJECT"/>
+ <keyword match="REPLACE"/>
+ <keyword match="REPORT"/>
+ <keyword match="REQUESTED"/>
+ <keyword match="RESERVE"/>
+ <keyword match="RESET"/>
+ <keyword match="RIGHT-JUSTIFIED"/>
+ <keyword match="ROLLBACK"/>
+ <keyword match="ROUND"/>
+ <keyword match="ROWS"/>
+ <keyword match="RTTI"/>
+ <keyword match="RUN"/>
+ <keyword match="SCAN"/>
+ <keyword match="SCREEN"/>
+ <keyword match="SEARCH"/>
+ <keyword match="SEPARATED"/>
+ <keyword match="SCROLL"/>
+ <keyword match="SCROLL-BOUNDARY"/>
+ <keyword match="SEARCH"/>
+ <keyword match="SELECT"/>
+ <keyword match="SELECT-OPTIONS"/>
+ <keyword match="SELECTION-SCREEN"/>
+ <keyword match="SELECTION-TABLE"/>
+ <keyword match="SET"/>
+ <keyword match="SHARED"/>
+ <keyword match="SHIFT"/>
+ <keyword match="SIGN"/>
+ <keyword match="SIN"/>
+ <keyword match="SINGLE"/>
+ <keyword match="SINH"/>
+ <keyword match="SIZE"/>
+ <keyword match="SKIP"/>
+ <keyword match="SORT"/>
+ <keyword match="SORTED"/>
+ <keyword match="SPLIT"/>
+ <keyword match="SQL"/>
+ <keyword match="SQRT"/>
+ <keyword match="STAMP"/>
+ <keyword match="STANDARD"/>
+ <keyword match="START-OF-SELECTION"/>
+ <keyword match="STATICS"/>
+ <keyword match="STOP"/>
+ <keyword match="STRING"/>
+ <keyword match="STRLEN"/>
+ <keyword match="STRUCTURE"/>
+ <keyword match="SUBMIT"/>
+ <keyword match="SUBTRACT"/>
+ <keyword match="SUBTRACT-CORRESPONDING"/>
+ <keyword match="SUM"/>
+ <keyword match="SUPPLY"/>
+ <keyword match="SUPPRESS"/>
+ <keyword match="SYMBOL"/>
+ <keyword match="SYNTAX-CHECK"/>
+ <keyword match="SYNTAX-TRACE"/>
+ <keyword match="SYSTEM-CALL"/>
+ <keyword match="SYSTEM-EXCEPTIONS"/>
+ <keyword match="TABLE"/>
+ <keyword match="TABLE_LINE"/>
+ <keyword match="TABLES"/>
+ <keyword match="TAN"/>
+ <keyword match="TANH"/>
+ <keyword match="TEXT"/>
+ <keyword match="TEXTPOOL"/>
+ <keyword match="TIME"/>
+ <keyword match="TIMES"/>
+ <keyword match="TITLE"/>
+ <keyword match="TITLEBAR"/>
+ <keyword match="TO"/>
+ <keyword match="TOP-OF-PAGE"/>
+ <keyword match="TRANSACTION"/>
+ <keyword match="TRANSFER"/>
+ <keyword match="TRANSLATE"/>
+ <keyword match="TRANSPORTING"/>
+ <keyword match="TRUNC"/>
+ <keyword match="TYPE"/>
+ <keyword match="TYPE-POOL"/>
+ <keyword match="TYPE-POOLS"/>
+ <keyword match="TYPES"/>
+ <keyword match="ULINE"/>
+ <keyword match="UNDER"/>
+ <keyword match="UNIQUE"/>
+ <keyword match="UNIT"/>
+ <keyword match="UNPACK"/>
+ <keyword match="UP"/>
+ <keyword match="UPDATE"/>
+ <keyword match="USER-COMMAND"/>
+ <keyword match="USING"/>
+ <keyword match="VALUE"/>
+ <keyword match="VALUE-REQUEST"/>
+ <keyword match="VALUES"/>
+ <keyword match="VARY"/>
+ <keyword match="WHEN"/>
+ <keyword match="WHERE"/>
+ <keyword match="WHILE"/>
+ <keyword match="WINDOW"/>
+ <keyword match="WITH"/>
+ <keyword match="WITH-TITLE"/>
+ <keyword match="WORK"/>
+ <keyword match="WRITE"/>
+ <keyword match="X"/>
+ <keyword match="XSTRING"/>
+ <keyword match="Z"/>
+ <keyword match="ZONE"/>
+ </keywords>
+
+
+ <keywords name="constants" inherits="identifier" innerClass="reserved">
+ <keyword match="INITIAL"/>
+ <keyword match="NULL"/>
+ <keyword match="SPACE"/>
+ <keyword match="COL_BACKGROUND"/>
+ <keyword match="COL_HEADING"/>
+ <keyword match="COL_NORMAL"/>
+ <keyword match="COL_TOTAL"/>
+ <keyword match="COL_KEY"/>
+ <keyword match="COL_POSITIVE"/>
+ <keyword match="COL_NEGATIVE"/>
+ <keyword match="COL_GROUP"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/avrc.xml b/library/Text_Highlighter/avrc.xml
new file mode 100644
index 000000000..dec571e13
--- /dev/null
+++ b/library/Text_Highlighter/avrc.xml
@@ -0,0 +1,316 @@
+<?xml version="1.0"?>
+<!-- $Id: avrc.xml,v 1.1 2008-07-31 23:05:38 ssttoo Exp $ -->
+
+<highlight lang="AVRC" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+ C/C++ highlighter specific to Atmel AVR microcontrollers
+ </comment>
+
+ <default innerClass="code" />
+
+ <block name="escaped" match="\\" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
+ <block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
+ <block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
+ <block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+
+ <region name="strincl" delimClass="quotes" innerClass="string" start="&lt;" end="&gt;">
+ <onlyin region="include" />
+ </region>
+
+ <!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
+ <region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?&lt;!\\)$/m">
+ <contains region="strdouble"/>
+ <contains region="strincl"/>
+ </region>
+
+ <region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?&lt;!\\)$/m">
+ <contains region="comment"/>
+ <contains region="mlcomment"/>
+ <contains region="strdouble"/>
+ <contains region="brackets"/>
+ <contains region="block"/>
+ <contains block="identifier"/>
+ <contains block="integer"/>
+ <contains block="hexinteger"/>
+ <contains block="octinteger"/>
+ <contains block="float"/>
+
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+
+ <region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
+
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="and" />
+ <keyword match="and_eq" />
+ <keyword match="asm" />
+
+ <keyword match="bitand" />
+ <keyword match="bitor" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="compl" />
+
+ <keyword match="const_cast" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="delete" />
+ <keyword match="do" />
+ <keyword match="dynamic_cast" />
+
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="fortran" />
+ <keyword match="friend" />
+ <keyword match="goto" />
+ <keyword match="if" />
+
+ <keyword match="new" />
+ <keyword match="not" />
+ <keyword match="not_eq" />
+ <keyword match="operator" />
+ <keyword match="or" />
+ <keyword match="or_eq" />
+
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="reinterpret_cast" />
+ <keyword match="return" />
+ <keyword match="sizeof" />
+
+ <keyword match="static_cast" />
+ <keyword match="switch" />
+ <keyword match="this" />
+ <keyword match="throw" />
+ <keyword match="try" />
+ <keyword match="typeid" />
+
+ <keyword match="using" />
+ <keyword match="while" />
+ <keyword match="xor" />
+ <keyword match="xor_eq" />
+
+ <keyword match="false" />
+ <keyword match="true" />
+ </keywords>
+
+ <keywords name="registers" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="ACSR" />
+ <keyword match="ADCH" />
+ <keyword match="ADCL" />
+ <keyword match="ADCSRA" />
+ <keyword match="ADMUX" />
+ <keyword match="ASSR" />
+ <keyword match="DDRA" />
+ <keyword match="DDRB" />
+ <keyword match="DDRC" />
+ <keyword match="DDRD" />
+ <keyword match="DDRE" />
+ <keyword match="DDRF" />
+ <keyword match="DDRG" />
+ <keyword match="EEARH" />
+ <keyword match="EEARL" />
+ <keyword match="EECR" />
+ <keyword match="EEDR" />
+ <keyword match="EICRA" />
+ <keyword match="EICRB" />
+ <keyword match="EIFR" />
+ <keyword match="EIMSK" />
+ <keyword match="ETIFR" />
+ <keyword match="ETIMSK" />
+ <keyword match="GICR" />
+ <keyword match="GIFR" />
+ <keyword match="ICR1H" />
+ <keyword match="ICR1L" />
+ <keyword match="ICR3H" />
+ <keyword match="ICR3L" />
+ <keyword match="MCUCR" />
+ <keyword match="MCUCSR" />
+ <keyword match="OCDR" />
+ <keyword match="OCR0" />
+ <keyword match="OCR1AH" />
+ <keyword match="OCR1AL" />
+ <keyword match="OCR1BH" />
+ <keyword match="OCR1BL" />
+ <keyword match="OCR1CH" />
+ <keyword match="OCR1CL" />
+ <keyword match="OCR2" />
+ <keyword match="OCR3AH" />
+ <keyword match="OCR3AL" />
+ <keyword match="OCR3BH" />
+ <keyword match="OCR3BL" />
+ <keyword match="OCR3CH" />
+ <keyword match="OCR3CL" />
+ <keyword match="OSCCAL" />
+ <keyword match="PINA" />
+ <keyword match="PINB" />
+ <keyword match="PINC" />
+ <keyword match="PIND" />
+ <keyword match="PINE" />
+ <keyword match="PINF" />
+ <keyword match="PING" />
+ <keyword match="PORTA" />
+ <keyword match="PORTB" />
+ <keyword match="PORTC" />
+ <keyword match="PORTD" />
+ <keyword match="PORTE" />
+ <keyword match="PORTF" />
+ <keyword match="PORTG" />
+ <keyword match="RAMPZ" />
+ <keyword match="SFIOR" />
+ <keyword match="SPCR" />
+ <keyword match="SPDR" />
+ <keyword match="SPH" />
+ <keyword match="SPL" />
+ <keyword match="SPMCR" />
+ <keyword match="SPMCSR" />
+ <keyword match="SPSR" />
+ <keyword match="SREG" />
+ <keyword match="TCCR0" />
+ <keyword match="TCCR1A" />
+ <keyword match="TCCR1B" />
+ <keyword match="TCCR1C" />
+ <keyword match="TCCR2" />
+ <keyword match="TCCR3A" />
+ <keyword match="TCCR3B" />
+ <keyword match="TCCR3C" />
+ <keyword match="TCNT0" />
+ <keyword match="TCNT1H" />
+ <keyword match="TCNT1L" />
+ <keyword match="TCNT2" />
+ <keyword match="TCNT3H" />
+ <keyword match="TCNT3L" />
+ <keyword match="TIFR" />
+ <keyword match="TIMSK" />
+ <keyword match="TWAR" />
+ <keyword match="TWBR" />
+ <keyword match="TWCR" />
+ <keyword match="TWDR" />
+ <keyword match="TWSR" />
+ <keyword match="UBRR0H" />
+ <keyword match="UBRR0L" />
+ <keyword match="UBRR1H" />
+ <keyword match="UBRR1L" />
+ <keyword match="UBRRH" />
+ <keyword match="UBRRL" />
+ <keyword match="UCSR0A" />
+ <keyword match="UCSR0B" />
+ <keyword match="UCSR0C" />
+ <keyword match="UCSR1A" />
+ <keyword match="UCSR1B" />
+ <keyword match="UCSR1C" />
+ <keyword match="UCSRA" />
+ <keyword match="UCSRB" />
+ <keyword match="UCSRC" />
+ <keyword match="UDR" />
+ <keyword match="UDR0" />
+ <keyword match="UDR1" />
+ <keyword match="WDTCR" />
+ <keyword match="XDIV" />
+ <keyword match="XMCRA" />
+ <keyword match="XMCRB" />
+ </keywords>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case="yes">
+
+ <keyword match="auto" />
+ <keyword match="bool" />
+ <keyword match="char" />
+ <keyword match="class" />
+ <keyword match="const" />
+ <keyword match="double" />
+
+ <keyword match="enum" />
+ <keyword match="explicit" />
+ <keyword match="export" />
+ <keyword match="extern" />
+ <keyword match="float" />
+ <keyword match="inline" />
+
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="mutable" />
+ <keyword match="namespace" />
+ <keyword match="register" />
+ <keyword match="short" />
+
+ <keyword match="signed" />
+ <keyword match="static" />
+ <keyword match="struct" />
+ <keyword match="template" />
+ <keyword match="typedef" />
+ <keyword match="typename" />
+
+ <keyword match="union" />
+ <keyword match="unsigned" />
+ <keyword match="virtual" />
+ <keyword match="void" />
+ <keyword match="volatile" />
+ <keyword match="wchar_t" />
+
+ </keywords>
+
+ <keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
+ <keyword match="NULL" />
+ <keyword match="TRUE" />
+ <keyword match="FALSE" />
+ <keyword match="MAX" />
+
+ <keyword match="MIN" />
+ <keyword match="__LINE__" />
+ <keyword match="__DATA__" />
+ <keyword match="__FILE__" />
+ <keyword match="__TIME__" />
+ <keyword match="__STDC__" />
+
+ </keywords>
+
+
+ <!--
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ -->
+
+</highlight>
+
diff --git a/library/Text_Highlighter/cpp.xml b/library/Text_Highlighter/cpp.xml
new file mode 100644
index 000000000..2cbaa930f
--- /dev/null
+++ b/library/Text_Highlighter/cpp.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<!-- $Id: cpp.xml,v 1.2 2008-07-31 23:06:30 ssttoo Exp $ -->
+
+<highlight lang="CPP" case="no">
+
+ <authors>
+ <author name="Aaron Kalin"/>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+Thanks to Aaron Kalin for initial
+implementation of this highlighter
+ </comment>
+
+ <default innerClass="code" />
+
+ <block name="escaped" match="\\" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
+ <block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
+ <block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
+ <block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+
+ <region name="strincl" delimClass="quotes" innerClass="string" start="&lt;" end="&gt;">
+ <onlyin region="include" />
+ </region>
+
+ <!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
+ <region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?&lt;!\\)$/m">
+ <contains region="strdouble"/>
+ <contains region="strincl"/>
+ </region>
+
+ <region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?&lt;!\\)$/m">
+ <contains region="comment"/>
+ <contains region="mlcomment"/>
+ <contains region="strdouble"/>
+ <contains region="brackets"/>
+ <contains region="block"/>
+ <contains block="identifier"/>
+ <contains block="integer"/>
+ <contains block="hexinteger"/>
+ <contains block="octinteger"/>
+ <contains block="float"/>
+
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+
+ <region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
+
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="and" />
+ <keyword match="and_eq" />
+ <keyword match="asm" />
+
+ <keyword match="bitand" />
+ <keyword match="bitor" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="compl" />
+
+ <keyword match="const_cast" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="delete" />
+ <keyword match="do" />
+ <keyword match="dynamic_cast" />
+
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="fortran" />
+ <keyword match="friend" />
+ <keyword match="goto" />
+ <keyword match="if" />
+
+ <keyword match="new" />
+ <keyword match="not" />
+ <keyword match="not_eq" />
+ <keyword match="operator" />
+ <keyword match="or" />
+ <keyword match="or_eq" />
+
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="reinterpret_cast" />
+ <keyword match="return" />
+ <keyword match="sizeof" />
+
+ <keyword match="static_cast" />
+ <keyword match="switch" />
+ <keyword match="this" />
+ <keyword match="throw" />
+ <keyword match="try" />
+ <keyword match="typeid" />
+
+ <keyword match="using" />
+ <keyword match="while" />
+ <keyword match="xor" />
+ <keyword match="xor_eq" />
+
+ <keyword match="false" />
+ <keyword match="true" />
+ </keywords>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case="yes">
+
+ <keyword match="auto" />
+ <keyword match="bool" />
+ <keyword match="char" />
+ <keyword match="class" />
+ <keyword match="const" />
+ <keyword match="double" />
+
+ <keyword match="enum" />
+ <keyword match="explicit" />
+ <keyword match="export" />
+ <keyword match="extern" />
+ <keyword match="float" />
+ <keyword match="inline" />
+
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="mutable" />
+ <keyword match="namespace" />
+ <keyword match="register" />
+ <keyword match="short" />
+
+ <keyword match="signed" />
+ <keyword match="static" />
+ <keyword match="struct" />
+ <keyword match="template" />
+ <keyword match="typedef" />
+ <keyword match="typename" />
+
+ <keyword match="union" />
+ <keyword match="unsigned" />
+ <keyword match="virtual" />
+ <keyword match="void" />
+ <keyword match="volatile" />
+ <keyword match="wchar_t" />
+
+ </keywords>
+
+ <keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
+ <keyword match="NULL" />
+ <keyword match="TRUE" />
+ <keyword match="FALSE" />
+ <keyword match="MAX" />
+
+ <keyword match="MIN" />
+ <keyword match="__LINE__" />
+ <keyword match="__DATA__" />
+ <keyword match="__FILE__" />
+ <keyword match="__TIME__" />
+ <keyword match="__STDC__" />
+
+ </keywords>
+
+
+ <!--
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ -->
+
+</highlight>
+
diff --git a/library/Text_Highlighter/css.xml b/library/Text_Highlighter/css.xml
new file mode 100644
index 000000000..2473bcfb7
--- /dev/null
+++ b/library/Text_Highlighter/css.xml
@@ -0,0 +1,368 @@
+<?xml version="1.0"?>
+<!-- $Id: css.xml,v 1.2 2008-01-01 23:45:07 ssttoo Exp $ -->
+
+<highlight lang="css" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
+
+ </region>
+
+
+ <block name="atrule" match="(@[a-z\d]+)"
+ innerClass="var" never-contained="yes"/>
+
+ <region name="property" start="[a-z][a-z\d\-]*\s*:" end="(?=;|\})"
+ innerClass="code" delimClass="reserved" contained="yes"/>
+
+ <block name="selector" match="(((\.|#)?[a-z]+[a-z\d\-]*(?![a-z\d\-]))|(\*))(?!\s*:\s*[\s\{])"
+ innerClass="identifier" >
+ </block>
+
+ <block name="pseudo" match=":[a-z][a-z\d\-]*"
+ innerClass="special" />
+
+ <block name="bescaped" match="\\[\\(\\)\\]"
+ innerClass="string" contained="yes"/>
+
+
+ <region name="paramselector" start="\[" end="\]" innerClass="code"
+ delimClass="brackets" >
+ <contains block="paramname" />
+ <not-contains block="identifier" />
+ <contains region="strdouble" />
+ <contains region="strsingle" />
+ </region>
+
+ <region name="block" start="\{" end="\}" innerClass="code"
+ delimClass="brackets" >
+ <contains region="block" />
+ <contains region="property" />
+ <contains block="selector" />
+ <contains region="mlcomment" />
+ </region>
+
+ <region name="brackets" start="\(" end="\)" innerClass="string"
+ delimClass="brackets" contained="yes">
+ <contains block="bescaped"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\\\|\\&quot;|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" contained="yes" />
+
+ <block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
+ innerClass="number" contained="yes">
+ <onlyin region="property"/>
+ <partClass index="1" innerClass="string" />
+ </block>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number" contained="yes" >
+ <onlyin region="property"/>
+ </block>
+
+ <block name="identifier" match="[a-z][a-z\d\-]*"
+ innerClass="code" contained="yes">
+ <onlyin region="property"/>
+ </block>
+
+ <block name="hexcolor" match="#([\da-f]{6}|[\da-f]{3})\b" innerClass="var" contained="yes">
+ <onlyin region="property"/>
+ </block>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes">
+ <onlyin region="paramselector"/>
+ </block>
+
+ <keywords name="propertyValue" inherits="identifier" innerClass="string" case = "no">
+ <word name="left-side"/>
+ <keyword match="far-left"/>
+ <keyword match="left"/>
+ <keyword match="center-left"/>
+ <keyword match="center-right"/>
+ <keyword match="center"/>
+ <keyword match="far-right"/>
+ <keyword match="right-side"/>
+ <keyword match="right"/>
+ <keyword match="behind"/>
+ <keyword match="leftwards"/>
+ <keyword match="rightwards"/>
+ <keyword match="inherit"/>
+ <keyword match="scroll"/>
+ <keyword match="fixed"/>
+ <keyword match="transparent"/>
+ <keyword match="none"/>
+ <keyword match="repeat-x"/>
+ <keyword match="repeat-y"/>
+ <keyword match="repeat"/>
+ <keyword match="no-repeat"/>
+ <keyword match="collapse"/>
+ <keyword match="separate"/>
+ <keyword match="auto"/>
+ <keyword match="top"/>
+ <keyword match="bottom"/>
+ <keyword match="both"/>
+ <keyword match="open-quote"/>
+ <keyword match="close-quote"/>
+ <keyword match="no-open-quote"/>
+ <keyword match="no-close-quote"/>
+ <keyword match="crosshair"/>
+ <keyword match="default"/>
+ <keyword match="pointer"/>
+ <keyword match="move"/>
+ <keyword match="e-resize"/>
+ <keyword match="ne-resize"/>
+ <keyword match="nw-resize"/>
+ <keyword match="n-resize"/>
+ <keyword match="se-resize"/>
+ <keyword match="sw-resize"/>
+ <keyword match="s-resize"/>
+ <keyword match="text"/>
+ <keyword match="wait"/>
+ <keyword match="help"/>
+ <keyword match="ltr"/>
+ <keyword match="rtl"/>
+ <keyword match="inline"/>
+ <keyword match="block"/>
+ <keyword match="list-item"/>
+ <keyword match="run-in"/>
+ <keyword match="compact"/>
+ <keyword match="marker"/>
+ <keyword match="table"/>
+ <keyword match="inline-table"/>
+ <keyword match="table-row-group"/>
+ <keyword match="table-header-group"/>
+ <keyword match="table-footer-group"/>
+ <keyword match="table-row"/>
+ <keyword match="table-column-group"/>
+ <keyword match="table-column"/>
+ <keyword match="table-cell"/>
+ <keyword match="table-caption"/>
+ <keyword match="below"/>
+ <keyword match="level"/>
+ <keyword match="above"/>
+ <keyword match="higher"/>
+ <keyword match="lower"/>
+ <keyword match="show"/>
+ <keyword match="hide"/>
+ <keyword match="caption"/>
+ <keyword match="icon"/>
+ <keyword match="menu"/>
+ <keyword match="message-box"/>
+ <keyword match="small-caption"/>
+ <keyword match="status-bar"/>
+ <keyword match="normal"/>
+ <keyword match="wider"/>
+ <keyword match="narrower"/>
+ <keyword match="ultra-condensed"/>
+ <keyword match="extra-condensed"/>
+ <keyword match="condensed"/>
+ <keyword match="semi-condensed"/>
+ <keyword match="semi-expanded"/>
+ <keyword match="expanded"/>
+ <keyword match="extra-expanded"/>
+ <keyword match="ultra-expanded"/>
+ <keyword match="italic"/>
+ <keyword match="oblique"/>
+ <keyword match="small-caps"/>
+ <keyword match="bold"/>
+ <keyword match="bolder"/>
+ <keyword match="lighter"/>
+ <keyword match="inside"/>
+ <keyword match="outside"/>
+ <keyword match="disc"/>
+ <keyword match="circle"/>
+ <keyword match="square"/>
+ <keyword match="decimal"/>
+ <keyword match="decimal-leading-zero"/>
+ <keyword match="lower-roman"/>
+ <keyword match="upper-roman"/>
+ <keyword match="lower-greek"/>
+ <keyword match="lower-alpha"/>
+ <keyword match="lower-latin"/>
+ <keyword match="upper-alpha"/>
+ <keyword match="upper-latin"/>
+ <keyword match="hebrew"/>
+ <keyword match="armenian"/>
+ <keyword match="georgian"/>
+ <keyword match="cjk-ideographic"/>
+ <keyword match="hiragana"/>
+ <keyword match="katakana"/>
+ <keyword match="hiragana-iroha"/>
+ <keyword match="katakana-iroha"/>
+ <keyword match="crop"/>
+ <keyword match="cross"/>
+ <keyword match="invert"/>
+ <keyword match="visible"/>
+ <keyword match="hidden"/>
+ <keyword match="always"/>
+ <keyword match="avoid"/>
+ <keyword match="x-low"/>
+ <keyword match="low"/>
+ <keyword match="medium"/>
+ <keyword match="high"/>
+ <keyword match="x-high"/>
+ <keyword match="mix?"/>
+ <keyword match="repeat?"/>
+ <keyword match="static"/>
+ <keyword match="relative"/>
+ <keyword match="absolute"/>
+ <keyword match="portrait"/>
+ <keyword match="landscape"/>
+ <keyword match="spell-out"/>
+ <keyword match="once"/>
+ <keyword match="digits"/>
+ <keyword match="continuous"/>
+ <keyword match="code"/>
+ <keyword match="x-slow"/>
+ <keyword match="slow"/>
+ <keyword match="fast"/>
+ <keyword match="x-fast"/>
+ <keyword match="faster"/>
+ <keyword match="slower"/>
+ <keyword match="justify"/>
+ <keyword match="underline"/>
+ <keyword match="overline"/>
+ <keyword match="line-through"/>
+ <keyword match="blink"/>
+ <keyword match="capitalize"/>
+ <keyword match="uppercase"/>
+ <keyword match="lowercase"/>
+ <keyword match="embed"/>
+ <keyword match="bidi-override"/>
+ <keyword match="baseline"/>
+ <keyword match="sub"/>
+ <keyword match="super"/>
+ <keyword match="text-top"/>
+ <keyword match="middle"/>
+ <keyword match="text-bottom"/>
+ <keyword match="silent"/>
+ <keyword match="x-soft"/>
+ <keyword match="soft"/>
+ <keyword match="loud"/>
+ <keyword match="x-loud"/>
+ <keyword match="pre"/>
+ <keyword match="nowrap"/>
+ <keyword match="serif"/>
+ <keyword match="sans-serif"/>
+ <keyword match="cursive"/>
+ <keyword match="fantasy"/>
+ <keyword match="monospace"/>
+ <keyword match="empty"/>
+ <keyword match="string"/>
+ <keyword match="strict"/>
+ <keyword match="loose"/>
+ <keyword match="char"/>
+ <keyword match="true"/>
+ <keyword match="false"/>
+ <keyword match="dotted"/>
+ <keyword match="dashed"/>
+ <keyword match="solid"/>
+ <keyword match="double"/>
+ <keyword match="groove"/>
+ <keyword match="ridge"/>
+ <keyword match="inset"/>
+ <keyword match="outset"/>
+ <keyword match="larger"/>
+ <keyword match="smaller"/>
+ <keyword match="xx-small"/>
+ <keyword match="x-small"/>
+ <keyword match="small"/>
+ <keyword match="large"/>
+ <keyword match="x-large"/>
+ <keyword match="xx-large"/>
+ <keyword match="all"/>
+ <keyword match="newspaper"/>
+ <keyword match="distribute"/>
+ <keyword match="distribute-all-lines"/>
+ <keyword match="distribute-center-last"/>
+ <keyword match="inter-word"/>
+ <keyword match="inter-ideograph"/>
+ <keyword match="inter-cluster"/>
+ <keyword match="kashida"/>
+ <keyword match="ideograph-alpha"/>
+ <keyword match="ideograph-numeric"/>
+ <keyword match="ideograph-parenthesis"/>
+ <keyword match="ideograph-space"/>
+ <keyword match="keep-all"/>
+ <keyword match="break-all"/>
+ <keyword match="break-word"/>
+ <keyword match="lr-tb"/>
+ <keyword match="tb-rl"/>
+ <keyword match="thin"/>
+ <keyword match="thick"/>
+ <keyword match="inline-block"/>
+ <keyword match="w-resize"/>
+ <keyword match="hand"/>
+ <keyword match="distribute-letter"/>
+ <keyword match="distribute-space"/>
+ <keyword match="whitespace"/>
+ <keyword match="male"/>
+ <keyword match="female"/>
+ <keyword match="child"/>
+ </keywords>
+
+
+ <keywords name="namedcolor" inherits="identifier" innerClass="var" case = "no">
+ <keyword match="aqua"/>
+ <keyword match="black"/>
+ <keyword match="blue"/>
+ <keyword match="fuchsia"/>
+ <keyword match="gray"/>
+ <keyword match="green"/>
+ <keyword match="lime"/>
+ <keyword match="maroon"/>
+ <keyword match="navy"/>
+ <keyword match="olive"/>
+ <keyword match="purple"/>
+ <keyword match="red"/>
+ <keyword match="silver"/>
+ <keyword match="teal"/>
+ <keyword match="white"/>
+ <keyword match="yellow"/>
+ <keyword match="ActiveBorder"/>
+ <keyword match="ActiveCaption"/>
+ <keyword match="AppWorkspace"/>
+ <keyword match="Background"/>
+ <keyword match="ButtonFace"/>
+ <keyword match="ButtonHighlight"/>
+ <keyword match="ButtonShadow"/>
+ <keyword match="ButtonText"/>
+ <keyword match="CaptionText"/>
+ <keyword match="GrayText"/>
+ <keyword match="Highlight"/>
+ <keyword match="HighlightText"/>
+ <keyword match="InactiveBorder"/>
+ <keyword match="InactiveCaption"/>
+ <keyword match="InactiveCaptionText"/>
+ <keyword match="InfoBackground"/>
+ <keyword match="InfoText"/>
+ <keyword match="Menu"/>
+ <keyword match="MenuText"/>
+ <keyword match="Scrollbar"/>
+ <keyword match="ThreeDDarkShadow"/>
+ <keyword match="ThreeDFace"/>
+ <keyword match="ThreeDHighlight"/>
+ <keyword match="ThreeDLightShadow"/>
+ <keyword match="ThreeDShadow"/>
+ <keyword match="Window"/>
+ <keyword match="WindowFrame"/>
+ <keyword match="WindowText"/>
+ </keywords>
+</highlight>
diff --git a/library/Text_Highlighter/diff.xml b/library/Text_Highlighter/diff.xml
new file mode 100644
index 000000000..d088f9257
--- /dev/null
+++ b/library/Text_Highlighter/diff.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- $Id: diff.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="diff" case="yes">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="default" />
+
+ <block name="noNewLine" match="/^\\\sNo\snewline.+$/m" innerClass="special"/>
+
+ <block name="diffSeparator" match="/^\-\-\-$/m" innerClass="code"/>
+
+ <block name="diffCmdLine" match="/^(diff\s+\-|Only\s+|Index).*$/m" innerClass="var"/>
+ <block name="diffFiles" match="/^(\-\-\-|\+\+\+)\s.+$/m" innerClass="reserved"/>
+
+ <block name="contextOrg" match="/^\*.*$/m" innerClass="quotes"/>
+ <block name="contextNew" match="/^\+.*$/m" innerClass="string"/>
+ <block name="contextChg" match="/^!.*$/m" innerClass="inlinedoc"/>
+
+ <block name="defOrg" match="/^\&lt;\s.*$/m" innerClass="quotes"/>
+ <block name="defNew" match="/^\&gt;\s.*$/m" innerClass="string"/>
+ <block name="defChg" match="/^\d+(\,\d+)?[acd]\d+(,\d+)?$/m" innerClass="code"/>
+
+ <block name="uniOrg" match="/^\-.*$/m" innerClass="quotes"/>
+ <block name="uniNew" match="/^\+.*$/m" innerClass="string"/>
+ <block name="uniChg" match="/^@@.+@@$/m" innerClass="code"/>
+
+ <block name="normOrg" match="/^d\d+\s\d+$/m" innerClass="code"/>
+ <region name="normNew" start="/^a\d+\s\d+$/m" end="/(?=^[ad]\d+\s\d+)/m" innerClass="var" delimClass="code"/>
+
+ <region name="edNew" start="/^(\d+)(,\d+)?(a)$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
+ <region name="edChg" start="/^(\d+)(,\d+)?(c)$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
+ <block name="edDel" match="/^(\d+)(,\d+)?(d)$/m" innerClass="code"/>
+
+ <region name="fedNew" start="/^a(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
+ <region name="fedChg" start="/^c(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
+ <block name="fedDel" match="/^d(\d+)(\s\d+)?$/m"
+ innerClass="code"/>
+
+
+</highlight>
diff --git a/library/Text_Highlighter/dtd.xml b/library/Text_Highlighter/dtd.xml
new file mode 100644
index 000000000..18fa07db7
--- /dev/null
+++ b/library/Text_Highlighter/dtd.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!-- $Id: dtd.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="dtd" case="yes">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="redecl" start="\&lt;\!\[" end="\]\]\&gt;" delimClass="brackets"
+ innerClass="code" never-contained="yes">
+ <contains all="yes" />
+ </region>
+
+ <region name="tag" start="\&lt;" end="\&gt;" delimClass="brackets"
+ innerClass="code" >
+ <contains all="yes" />
+ <onlyin region="redecl"/>
+ </region>
+
+ <region name="brackets" start="\(" end="\)" delimClass="brackets"
+ innerClass="code" contained="yes">
+ <onlyin region="tag"/>
+ <onlyin region="brackets"/>
+ <contains block="entity" />
+ <contains block="identifier" />
+ </region>
+
+ <region name="strsingle" start="'" end="'" delimClass="quotes"
+ innerClass="string" contained="yes">
+ <onlyin region="tag"/>
+ <contains block="entity" />
+ </region>
+
+ <region name="strdouble" start="&quot;" end="&quot;" delimClass="quotes"
+ innerClass="string" contained="yes">
+ <onlyin region="tag"/>
+ <contains block="entity" />
+ </region>
+
+ <block name="tagname" match="(?&lt;=\&lt;)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\b"
+ innerClass="var" contained="yes">
+ <onlyin region="tag"/>
+ </block>
+
+ <block name="reserved" match="\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\b"
+ innerClass="reserved" contained="yes">
+ <onlyin region="tag"/>
+ </block>
+
+ <block name="pcdata" match="#PCDATA\b"
+ innerClass="reserved" contained="yes" />
+
+ <block name="entity" match="(\&amp;|\%)[\w\-\.]+;" innerClass="special" />
+
+ <block name="identifier" match="[a-z][a-z\d\-\,:]+"
+ innerClass="identifier" contained="yes" case="no"/>
+
+</highlight>
diff --git a/library/Text_Highlighter/generate b/library/Text_Highlighter/generate
new file mode 100644
index 000000000..4e22e82fd
--- /dev/null
+++ b/library/Text_Highlighter/generate
@@ -0,0 +1,171 @@
+#!@php_bin@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Console highlighter class generator
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+require_once 'Text/Highlighter/Generator.php';
+require_once 'Console/Getopt.php';
+
+$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
+
+if (PEAR::isError($options)) {
+ $message = str_replace('Console_Getopt: ','',$options->message);
+ usage($message);
+}
+
+$source = array();
+$dest = array();
+$dir = '';
+
+$expectp = false;
+$expectx = false;
+$unexpectedx = false;
+$unexpectedp = false;
+$si = $di = 0;
+
+foreach ($options[0] as $option) {
+ switch ($option[0]) {
+ case 'x':
+ case '--xml':
+ $source[$si] = $option[1];
+ if ($si) {
+ $di++;
+ }
+ $si++;
+ if ($expectp) {
+ $unexpectedx = true;
+ }
+ $expectp = true;
+ $expectx = false;
+ break;
+
+ case 'p':
+ case '--php':
+ if ($expectx) {
+ $unexpectedp = true;
+ }
+ $dest[$di] = $option[1];
+ $expectp = false;
+ $expectx = true;
+ break;
+
+ case 'd':
+ case '--dir':
+ $dir = $option[1];
+ break;
+
+ case 'h':
+ case '--help':
+ usage();
+ break;
+ }
+}
+
+
+if ($unexpectedx && !$dir) {
+ usage('Unexpected -x or --xml', STDERR);
+}
+
+if ($unexpectedp) {
+ usage('Unexpected -p or --php', STDERR);
+}
+
+$nsource = count($source);
+$ndest = count($dest);
+
+if (!$nsource && !$ndest) {
+ $source[]='php://stdin';
+ if (!$dir) {
+ $dest[]='php://stdout';
+ } else {
+ $dest[] = null;
+ }
+} elseif ($expectp && !$dir && $nsource > 1) {
+ usage('-x or --xml without following -p or --php', STDERR);
+} elseif ($nsource == 1 && !$ndest && !$dir) {
+ $dest[]='php://stdout';
+}
+
+if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
+ $dir .= DIRECTORY_SEPARATOR;
+}
+
+
+foreach ($source as $i => $xmlfile)
+{
+ $gen = new Text_Highlighter_Generator;
+ $gen->setInputFile($xmlfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+ $gen->generate();
+ if ($gen->hasErrors()) {
+ break;
+ }
+ if (isset($dest[$i])) {
+ $phpfile = $dest[$i];
+ } else {
+ $phpfile = $dir . $gen->language . '.php';
+ }
+ $gen->saveCode($phpfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+}
+if ($gen->hasErrors()) {
+ $errors = $gen->getErrors();
+ foreach ($errors as $error) {
+ fwrite (STDERR, $error . "\n");
+ }
+ exit(1);
+}
+
+function usage($message='', $file=STDOUT)
+{
+ $code = 0;
+ if ($message) {
+ $message .= "\n\n";
+ $code = 1;
+ }
+ $message .= <<<MSG
+Generates a highlighter class from XML source
+Usage:
+generate options
+
+Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+MSG;
+ fwrite ($file, $message);
+ exit($code);
+}
+?>
+
diff --git a/library/Text_Highlighter/generate.bat b/library/Text_Highlighter/generate.bat
new file mode 100644
index 000000000..3960486c1
--- /dev/null
+++ b/library/Text_Highlighter/generate.bat
@@ -0,0 +1,188 @@
+@echo off
+rem vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+
+rem Console highlighter class generator
+
+rem PHP versions 4 and 5
+
+rem LICENSE: This source file is subject to version 3.0 of the PHP license
+rem that is available through the world-wide-web at the following URI:
+rem http://www.php.net/license/3_0.txt. If you did not receive a copy of
+rem the PHP License and are unable to obtain it through the web, please
+rem send a note to license@php.net so we can mail you a copy immediately.
+
+rem @category Text
+rem @package Text_Highlighter
+rem @author Andrey Demenev <demenev@gmail.com>
+rem @copyright 2004 Andrey Demenev
+rem @license http://www.php.net/license/3_0.txt PHP License
+rem @version CVS: $Id: generate.bat,v 1.1 2007-06-03 02:35:28 ssttoo Exp $
+rem @link http://pear.php.net/package/Text_Highlighter
+
+set "MHL_PARAMS="
+:doshift
+set "MHL_PARAMS=%MHL_PARAMS% %1"
+shift
+if -%1- == -- GOTO noshift
+GOTO doshift
+:noshift
+@php_bin@ -q -d output_buffering=1 -d include_path="@php_dir@" @bin_dir@/Text/Highlighter/generate.bat %MHL_PARAMS%
+
+GOTO finish
+<?php
+ob_end_clean();
+
+if (!defined('STDOUT')) {
+ define('STDOUT', fopen('php://stdout', 'wb'));
+ define('STDERR', fopen('php://stderr', 'wb'));
+}
+require_once 'Text/Highlighter/Generator.php';
+require_once 'Console/Getopt.php';
+
+$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
+
+if (PEAR::isError($options)) {
+ $message = str_replace('Console_Getopt: ','',$options->message);
+ usage($message);
+}
+
+$source = array();
+$dest = array();
+$dir = '';
+
+$expectp = false;
+$expectx = false;
+$unexpectedx = false;
+$unexpectedp = false;
+$si = $di = 0;
+
+foreach ($options[0] as $option) {
+ switch ($option[0]) {
+ case 'x':
+ case '--xml':
+ $source[$si] = $option[1];
+ if ($si) {
+ $di++;
+ }
+ $si++;
+ if ($expectp) {
+ $unexpectedx = true;
+ }
+ $expectp = true;
+ $expectx = false;
+ break;
+
+ case 'p':
+ case '--php':
+ if ($expectx) {
+ $unexpectedp = true;
+ }
+ $dest[$di] = $option[1];
+ $expectp = false;
+ $expectx = true;
+ break;
+
+ case 'd':
+ case '--dir':
+ $dir = $option[1];
+ break;
+
+ case 'h':
+ case '--help':
+ usage();
+ break;
+ }
+}
+
+
+if ($unexpectedx && !$dir) {
+ usage('Unexpected -x or --xml', STDERR);
+}
+
+if ($unexpectedp) {
+ usage('Unexpected -p or --php', STDERR);
+}
+
+$nsource = count($source);
+$ndest = count($dest);
+
+if (!$nsource && !$ndest) {
+ $source[]='php://stdin';
+ if (!$dir) {
+ $dest[]='php://stdout';
+ } else {
+ $dest[] = null;
+ }
+} elseif ($expectp && !$dir && $nsource > 1) {
+ usage('-x or --xml without following -p or --php', STDERR);
+} elseif ($nsource == 1 && !$ndest && !$dir) {
+ $dest[]='php://stdout';
+}
+
+if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
+ $dir .= DIRECTORY_SEPARATOR;
+}
+
+
+foreach ($source as $i => $xmlfile)
+{
+ $gen = new Text_Highlighter_Generator;
+ $gen->setInputFile($xmlfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+ $gen->generate();
+ if ($gen->hasErrors()) {
+ break;
+ }
+ if (isset($dest[$i])) {
+ $phpfile = $dest[$i];
+ } else {
+ $phpfile = $dir . $gen->language . '.php';
+ }
+ $gen->saveCode($phpfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+}
+if ($gen->hasErrors()) {
+ $errors = $gen->getErrors();
+ foreach ($errors as $error) {
+ fwrite (STDERR, $error . "\n");
+ }
+ exit(1);
+}
+
+exit(0);
+
+function usage($message='', $file=STDOUT)
+{
+ $code = 0;
+ if ($message) {
+ $message .= "\n\n";
+ $code = 1;
+ }
+ $message .= <<<MSG
+Generates a highlighter class from XML source
+Usage:
+generate options
+
+Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+MSG;
+ fwrite ($file, $message);
+ exit($code);
+}
+?>
+:finish
diff --git a/library/Text_Highlighter/html.xml b/library/Text_Highlighter/html.xml
new file mode 100644
index 000000000..58d51fc5b
--- /dev/null
+++ b/library/Text_Highlighter/html.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!-- $Id: html.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="html" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="tag" delimClass="brackets" innerClass="code" start="\&lt;[\?\/]?" end="[\/\?]?\&gt;">
+ <contains block="tagname"/>
+ <contains region="param"/>
+ <contains block="paramname"/>
+ </region>
+
+ <block name="tagname" match="(?&lt;=[\&lt;\/?])[\w\-\:]+" innerClass="reserved" contained="yes"/>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes"/>
+
+ <block name="entity" match="(&amp;)[\w\-\.]+;" innerClass="special" />
+
+ <region name="param" start="&quot;" end="&quot;" delimClass="quotes" innerClass="string" contained="yes">
+ <contains block="entity"/>
+ </region>
+
+</highlight>
diff --git a/library/Text_Highlighter/java.xml b/library/Text_Highlighter/java.xml
new file mode 100644
index 000000000..12052b5db
--- /dev/null
+++ b/library/Text_Highlighter/java.xml
@@ -0,0 +1,2824 @@
+<?xml version="1.0"?>
+<!-- $Id: java.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="java">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/">
+ <contains block="javadoc"/>
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;" />
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+
+ <region name="comment" start="\/\/" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" />
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" />
+ <block name="octinteger" match="0[0-7]+" innerClass="number" />
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" />
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="javadoc" match="\s@\w+\s" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\bnote:" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+\s*:.*\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case = "yes">
+ <keyword match="boolean" />
+ <keyword match="byte" />
+ <keyword match="char" />
+ <keyword match="const" />
+ <keyword match="double" />
+ <keyword match="final" />
+ <keyword match="float" />
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="short" />
+ <keyword match="static" />
+ <keyword match="void" />
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="import"/>
+ <keyword match="package"/>
+ <keyword match="abstract" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="class" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="do" />
+ <keyword match="else" />
+ <keyword match="extends" />
+ <keyword match="false" />
+ <keyword match="finally" />
+ <keyword match="for" />
+ <keyword match="goto" />
+ <keyword match="if" />
+ <keyword match="implements" />
+ <keyword match="instanceof" />
+ <keyword match="interface" />
+ <keyword match="native" />
+ <keyword match="new" />
+ <keyword match="null" />
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="return" />
+ <keyword match="super" />
+ <keyword match="strictfp" />
+ <keyword match="switch" />
+ <keyword match="synchronized" />
+ <keyword match="this" />
+ <keyword match="throws" />
+ <keyword match="throw" />
+ <keyword match="transient" />
+ <keyword match="true" />
+ <keyword match="try" />
+ <keyword match="volatile" />
+ <keyword match="while" />
+ </keywords>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case = "yes" ifdef="java.builtins">
+ <keyword match="AbstractAction" />
+ <keyword match="AbstractBorder" />
+ <keyword match="AbstractButton" />
+ <keyword match="AbstractCellEditor" />
+ <keyword match="AbstractCollection" />
+ <keyword match="AbstractColorChooserPanel" />
+ <keyword match="AbstractDocument" />
+ <keyword match="AbstractInterruptibleChannel" />
+ <keyword match="AbstractLayoutCache" />
+ <keyword match="AbstractList" />
+ <keyword match="AbstractListModel" />
+ <keyword match="AbstractMap" />
+ <keyword match="AbstractMethodError" />
+ <keyword match="AbstractPreferences" />
+ <keyword match="AbstractSelectableChannel" />
+ <keyword match="AbstractSelectionKey" />
+ <keyword match="AbstractSelector" />
+ <keyword match="AbstractSequentialList" />
+ <keyword match="AbstractSet" />
+ <keyword match="AbstractSpinnerModel" />
+ <keyword match="AbstractTableModel" />
+ <keyword match="AbstractUndoableEdit" />
+ <keyword match="AbstractWriter" />
+ <keyword match="AccessControlContext" />
+ <keyword match="AccessControlException" />
+ <keyword match="AccessController" />
+ <keyword match="AccessException" />
+ <keyword match="Accessible" />
+ <keyword match="AccessibleAction" />
+ <keyword match="AccessibleBundle" />
+ <keyword match="AccessibleComponent" />
+ <keyword match="AccessibleContext" />
+ <keyword match="AccessibleEditableText" />
+ <keyword match="AccessibleExtendedComponent" />
+ <keyword match="AccessibleExtendedTable" />
+ <keyword match="AccessibleHyperlink" />
+ <keyword match="AccessibleHypertext" />
+ <keyword match="AccessibleIcon" />
+ <keyword match="AccessibleKeyBinding" />
+ <keyword match="AccessibleObject" />
+ <keyword match="AccessibleRelation" />
+ <keyword match="AccessibleRelationSet" />
+ <keyword match="AccessibleResourceBundle" />
+ <keyword match="AccessibleRole" />
+ <keyword match="AccessibleSelection" />
+ <keyword match="AccessibleState" />
+ <keyword match="AccessibleStateSet" />
+ <keyword match="AccessibleTable" />
+ <keyword match="AccessibleTableModelChange" />
+ <keyword match="AccessibleText" />
+ <keyword match="AccessibleValue" />
+ <keyword match="AccountExpiredException" />
+ <keyword match="Acl" />
+ <keyword match="AclEntry" />
+ <keyword match="AclNotFoundException" />
+ <keyword match="Action" />
+ <keyword match="ActionEvent" />
+ <keyword match="ActionListener" />
+ <keyword match="ActionMap" />
+ <keyword match="ActionMapUIResource" />
+ <keyword match="Activatable" />
+ <keyword match="ActivateFailedException" />
+ <keyword match="ActivationDesc" />
+ <keyword match="ActivationException" />
+ <keyword match="ActivationGroup" />
+ <keyword match="ActivationGroup_Stub" />
+ <keyword match="ActivationGroupDesc" />
+ <keyword match="ActivationGroupID" />
+ <keyword match="ActivationID" />
+ <keyword match="ActivationInstantiator" />
+ <keyword match="ActivationMonitor" />
+ <keyword match="ActivationSystem" />
+ <keyword match="Activator" />
+ <keyword match="ActiveEvent" />
+ <keyword match="AdapterActivator" />
+ <keyword match="AdapterActivatorOperations" />
+ <keyword match="AdapterAlreadyExists" />
+ <keyword match="AdapterAlreadyExistsHelper" />
+ <keyword match="AdapterInactive" />
+ <keyword match="AdapterInactiveHelper" />
+ <keyword match="AdapterNonExistent" />
+ <keyword match="AdapterNonExistentHelper" />
+ <keyword match="AddressHelper" />
+ <keyword match="Adjustable" />
+ <keyword match="AdjustmentEvent" />
+ <keyword match="AdjustmentListener" />
+ <keyword match="Adler32" />
+ <keyword match="AffineTransform" />
+ <keyword match="AffineTransformOp" />
+ <keyword match="AlgorithmParameterGenerator" />
+ <keyword match="AlgorithmParameterGeneratorSpi" />
+ <keyword match="AlgorithmParameters" />
+ <keyword match="AlgorithmParameterSpec" />
+ <keyword match="AlgorithmParametersSpi" />
+ <keyword match="AllPermission" />
+ <keyword match="AlphaComposite" />
+ <keyword match="AlreadyBound" />
+ <keyword match="AlreadyBoundException" />
+ <keyword match="AlreadyBoundHelper" />
+ <keyword match="AlreadyBoundHolder" />
+ <keyword match="AlreadyConnectedException" />
+ <keyword match="AncestorEvent" />
+ <keyword match="AncestorListener" />
+ <keyword match="Annotation" />
+ <keyword match="Any" />
+ <keyword match="AnyHolder" />
+ <keyword match="AnySeqHelper" />
+ <keyword match="AnySeqHelper" />
+ <keyword match="AnySeqHolder" />
+ <keyword match="AppConfigurationEntry" />
+ <keyword match="Applet" />
+ <keyword match="AppletContext" />
+ <keyword match="AppletInitializer" />
+ <keyword match="AppletStub" />
+ <keyword match="ApplicationException" />
+ <keyword match="Arc2D" />
+ <keyword match="Area" />
+ <keyword match="AreaAveragingScaleFilter" />
+ <keyword match="ARG_IN" />
+ <keyword match="ARG_INOUT" />
+ <keyword match="ARG_OUT" />
+ <keyword match="ArithmeticException" />
+ <keyword match="Array" />
+ <keyword match="Array" />
+ <keyword match="ArrayIndexOutOfBoundsException" />
+ <keyword match="ArrayList" />
+ <keyword match="Arrays" />
+ <keyword match="ArrayStoreException" />
+ <keyword match="AssertionError" />
+ <keyword match="AsyncBoxView" />
+ <keyword match="AsynchronousCloseException" />
+ <keyword match="Attr" />
+ <keyword match="Attribute" />
+ <keyword match="Attribute" />
+ <keyword match="AttributedCharacterIterator" />
+ <keyword match="AttributedString" />
+ <keyword match="AttributeException" />
+ <keyword match="AttributeInUseException" />
+ <keyword match="AttributeList" />
+ <keyword match="AttributeList" />
+ <keyword match="AttributeListImpl" />
+ <keyword match="AttributeModificationException" />
+ <keyword match="Attributes" />
+ <keyword match="Attributes" />
+ <keyword match="Attributes" />
+ <keyword match="AttributeSet" />
+ <keyword match="AttributeSet" />
+ <keyword match="AttributeSetUtilities" />
+ <keyword match="AttributesImpl" />
+ <keyword match="AudioClip" />
+ <keyword match="AudioFileFormat" />
+ <keyword match="AudioFileReader" />
+ <keyword match="AudioFileWriter" />
+ <keyword match="AudioFormat" />
+ <keyword match="AudioInputStream" />
+ <keyword match="AudioPermission" />
+ <keyword match="AudioSystem" />
+ <keyword match="AuthenticationException" />
+ <keyword match="AuthenticationNotSupportedException" />
+ <keyword match="Authenticator" />
+ <keyword match="AuthPermission" />
+ <keyword match="Autoscroll" />
+ <keyword match="AWTError" />
+ <keyword match="AWTEvent" />
+ <keyword match="AWTEventListener" />
+ <keyword match="AWTEventListenerProxy" />
+ <keyword match="AWTEventMulticaster" />
+ <keyword match="AWTException" />
+ <keyword match="AWTKeyStroke" />
+ <keyword match="AWTPermission" />
+ <keyword match="BackingStoreException" />
+ <keyword match="BAD_CONTEXT" />
+ <keyword match="BAD_INV_ORDER" />
+ <keyword match="BAD_OPERATION" />
+ <keyword match="BAD_PARAM" />
+ <keyword match="BAD_POLICY" />
+ <keyword match="BAD_POLICY_TYPE" />
+ <keyword match="BAD_POLICY_VALUE" />
+ <keyword match="BAD_TYPECODE" />
+ <keyword match="BadKind" />
+ <keyword match="BadLocationException" />
+ <keyword match="BadPaddingException" />
+ <keyword match="BandCombineOp" />
+ <keyword match="BandedSampleModel" />
+ <keyword match="BasicArrowButton" />
+ <keyword match="BasicAttribute" />
+ <keyword match="BasicAttributes" />
+ <keyword match="BasicBorders" />
+ <keyword match="BasicButtonListener" />
+ <keyword match="BasicButtonUI" />
+ <keyword match="BasicCheckBoxMenuItemUI" />
+ <keyword match="BasicCheckBoxUI" />
+ <keyword match="BasicColorChooserUI" />
+ <keyword match="BasicComboBoxEditor" />
+ <keyword match="BasicComboBoxRenderer" />
+ <keyword match="BasicComboBoxUI" />
+ <keyword match="BasicComboPopup" />
+ <keyword match="BasicDesktopIconUI" />
+ <keyword match="BasicDesktopPaneUI" />
+ <keyword match="BasicDirectoryModel" />
+ <keyword match="BasicEditorPaneUI" />
+ <keyword match="BasicFileChooserUI" />
+ <keyword match="BasicFormattedTextFieldUI" />
+ <keyword match="BasicGraphicsUtils" />
+ <keyword match="BasicHTML" />
+ <keyword match="BasicIconFactory" />
+ <keyword match="BasicInternalFrameTitlePane" />
+ <keyword match="BasicInternalFrameUI" />
+ <keyword match="BasicLabelUI" />
+ <keyword match="BasicListUI" />
+ <keyword match="BasicLookAndFeel" />
+ <keyword match="BasicMenuBarUI" />
+ <keyword match="BasicMenuItemUI" />
+ <keyword match="BasicMenuUI" />
+ <keyword match="BasicOptionPaneUI" />
+ <keyword match="BasicPanelUI" />
+ <keyword match="BasicPasswordFieldUI" />
+ <keyword match="BasicPermission" />
+ <keyword match="BasicPopupMenuSeparatorUI" />
+ <keyword match="BasicPopupMenuUI" />
+ <keyword match="BasicProgressBarUI" />
+ <keyword match="BasicRadioButtonMenuItemUI" />
+ <keyword match="BasicRadioButtonUI" />
+ <keyword match="BasicRootPaneUI" />
+ <keyword match="BasicScrollBarUI" />
+ <keyword match="BasicScrollPaneUI" />
+ <keyword match="BasicSeparatorUI" />
+ <keyword match="BasicSliderUI" />
+ <keyword match="BasicSpinnerUI" />
+ <keyword match="BasicSplitPaneDivider" />
+ <keyword match="BasicSplitPaneUI" />
+ <keyword match="BasicStroke" />
+ <keyword match="BasicTabbedPaneUI" />
+ <keyword match="BasicTableHeaderUI" />
+ <keyword match="BasicTableUI" />
+ <keyword match="BasicTextAreaUI" />
+ <keyword match="BasicTextFieldUI" />
+ <keyword match="BasicTextPaneUI" />
+ <keyword match="BasicTextUI" />
+ <keyword match="BasicToggleButtonUI" />
+ <keyword match="BasicToolBarSeparatorUI" />
+ <keyword match="BasicToolBarUI" />
+ <keyword match="BasicToolTipUI" />
+ <keyword match="BasicTreeUI" />
+ <keyword match="BasicViewportUI" />
+ <keyword match="BatchUpdateException" />
+ <keyword match="BeanContext" />
+ <keyword match="BeanContextChild" />
+ <keyword match="BeanContextChildComponentProxy" />
+ <keyword match="BeanContextChildSupport" />
+ <keyword match="BeanContextContainerProxy" />
+ <keyword match="BeanContextEvent" />
+ <keyword match="BeanContextMembershipEvent" />
+ <keyword match="BeanContextMembershipListener" />
+ <keyword match="BeanContextProxy" />
+ <keyword match="BeanContextServiceAvailableEvent" />
+ <keyword match="BeanContextServiceProvider" />
+ <keyword match="BeanContextServiceProviderBeanInfo" />
+ <keyword match="BeanContextServiceRevokedEvent" />
+ <keyword match="BeanContextServiceRevokedListener" />
+ <keyword match="BeanContextServices" />
+ <keyword match="BeanContextServicesListener" />
+ <keyword match="BeanContextServicesSupport" />
+ <keyword match="BeanContextSupport" />
+ <keyword match="BeanDescriptor" />
+ <keyword match="BeanInfo" />
+ <keyword match="Beans" />
+ <keyword match="BevelBorder" />
+ <keyword match="Bidi" />
+ <keyword match="BigDecimal" />
+ <keyword match="BigInteger" />
+ <keyword match="BinaryRefAddr" />
+ <keyword match="BindException" />
+ <keyword match="Binding" />
+ <keyword match="Binding" />
+ <keyword match="BindingHelper" />
+ <keyword match="BindingHolder" />
+ <keyword match="BindingIterator" />
+ <keyword match="BindingIteratorHelper" />
+ <keyword match="BindingIteratorHolder" />
+ <keyword match="BindingIteratorOperations" />
+ <keyword match="BindingIteratorPOA" />
+ <keyword match="BindingListHelper" />
+ <keyword match="BindingListHolder" />
+ <keyword match="BindingType" />
+ <keyword match="BindingTypeHelper" />
+ <keyword match="BindingTypeHolder" />
+ <keyword match="BitSet" />
+ <keyword match="Blob" />
+ <keyword match="BlockView" />
+ <keyword match="Book" />
+ <keyword match="Boolean" />
+ <keyword match="BooleanControl" />
+ <keyword match="BooleanHolder" />
+ <keyword match="BooleanSeqHelper" />
+ <keyword match="BooleanSeqHolder" />
+ <keyword match="Border" />
+ <keyword match="BorderFactory" />
+ <keyword match="BorderLayout" />
+ <keyword match="BorderUIResource" />
+ <keyword match="BoundedRangeModel" />
+ <keyword match="Bounds" />
+ <keyword match="Bounds" />
+ <keyword match="Box" />
+ <keyword match="BoxedValueHelper" />
+ <keyword match="BoxLayout" />
+ <keyword match="BoxView" />
+ <keyword match="BreakIterator" />
+ <keyword match="Buffer" />
+ <keyword match="BufferCapabilities" />
+ <keyword match="BufferedImage" />
+ <keyword match="BufferedImageFilter" />
+ <keyword match="BufferedImageOp" />
+ <keyword match="BufferedInputStream" />
+ <keyword match="BufferedOutputStream" />
+ <keyword match="BufferedReader" />
+ <keyword match="BufferedWriter" />
+ <keyword match="BufferOverflowException" />
+ <keyword match="BufferStrategy" />
+ <keyword match="BufferUnderflowException" />
+ <keyword match="Button" />
+ <keyword match="ButtonGroup" />
+ <keyword match="ButtonModel" />
+ <keyword match="ButtonUI" />
+ <keyword match="Byte" />
+ <keyword match="ByteArrayInputStream" />
+ <keyword match="ByteArrayOutputStream" />
+ <keyword match="ByteBuffer" />
+ <keyword match="ByteChannel" />
+ <keyword match="ByteHolder" />
+ <keyword match="ByteLookupTable" />
+ <keyword match="ByteOrder" />
+ <keyword match="Calendar" />
+ <keyword match="CallableStatement" />
+ <keyword match="Callback" />
+ <keyword match="CallbackHandler" />
+ <keyword match="CancelablePrintJob" />
+ <keyword match="CancelledKeyException" />
+ <keyword match="CannotProceed" />
+ <keyword match="CannotProceedException" />
+ <keyword match="CannotProceedHelper" />
+ <keyword match="CannotProceedHolder" />
+ <keyword match="CannotRedoException" />
+ <keyword match="CannotUndoException" />
+ <keyword match="Canvas" />
+ <keyword match="CardLayout" />
+ <keyword match="Caret" />
+ <keyword match="CaretEvent" />
+ <keyword match="CaretListener" />
+ <keyword match="CDATASection" />
+ <keyword match="CellEditor" />
+ <keyword match="CellEditorListener" />
+ <keyword match="CellRendererPane" />
+ <keyword match="Certificate" />
+ <keyword match="Certificate" />
+ <keyword match="Certificate" />
+
+ <keyword match="CertificateEncodingException" />
+ <keyword match="CertificateEncodingException" />
+ <keyword match="CertificateException" />
+ <keyword match="CertificateException" />
+ <keyword match="CertificateExpiredException" />
+ <keyword match="CertificateExpiredException" />
+ <keyword match="CertificateFactory" />
+ <keyword match="CertificateFactorySpi" />
+ <keyword match="CertificateNotYetValidException" />
+ <keyword match="CertificateNotYetValidException" />
+ <keyword match="CertificateParsingException" />
+ <keyword match="CertificateParsingException" />
+ <keyword match="CertPath" />
+
+ <keyword match="CertPathBuilder" />
+ <keyword match="CertPathBuilderException" />
+ <keyword match="CertPathBuilderResult" />
+ <keyword match="CertPathBuilderSpi" />
+ <keyword match="CertPathParameters" />
+ <keyword match="CertPathValidator" />
+ <keyword match="CertPathValidatorException" />
+ <keyword match="CertPathValidatorResult" />
+ <keyword match="CertPathValidatorSpi" />
+ <keyword match="CertSelector" />
+ <keyword match="CertStore" />
+ <keyword match="CertStoreException" />
+ <keyword match="CertStoreParameters" />
+ <keyword match="CertStoreSpi" />
+ <keyword match="ChangedCharSetException" />
+ <keyword match="ChangeEvent" />
+ <keyword match="ChangeListener" />
+ <keyword match="Channel" />
+ <keyword match="ChannelBinding" />
+ <keyword match="Channels" />
+ <keyword match="Character" />
+
+
+ <keyword match="CharacterCodingException" />
+ <keyword match="CharacterData" />
+ <keyword match="CharacterIterator" />
+ <keyword match="CharArrayReader" />
+ <keyword match="CharArrayWriter" />
+ <keyword match="CharBuffer" />
+ <keyword match="CharConversionException" />
+ <keyword match="CharHolder" />
+ <keyword match="CharSeqHelper" />
+ <keyword match="CharSeqHolder" />
+ <keyword match="CharSequence" />
+ <keyword match="Charset" />
+ <keyword match="CharsetDecoder" />
+ <keyword match="CharsetEncoder" />
+ <keyword match="CharsetProvider" />
+ <keyword match="Checkbox" />
+ <keyword match="CheckboxGroup" />
+ <keyword match="CheckboxMenuItem" />
+ <keyword match="CheckedInputStream" />
+ <keyword match="CheckedOutputStream" />
+ <keyword match="Checksum" />
+ <keyword match="Choice" />
+ <keyword match="ChoiceCallback" />
+ <keyword match="ChoiceFormat" />
+ <keyword match="Chromaticity" />
+ <keyword match="Cipher" />
+ <keyword match="CipherInputStream" />
+ <keyword match="CipherOutputStream" />
+ <keyword match="CipherSpi" />
+ <keyword match="Class" />
+ <keyword match="ClassCastException" />
+ <keyword match="ClassCircularityError" />
+ <keyword match="ClassDesc" />
+ <keyword match="ClassFormatError" />
+ <keyword match="ClassLoader" />
+ <keyword match="ClassNotFoundException" />
+ <keyword match="ClientRequestInfo" />
+ <keyword match="ClientRequestInfoOperations" />
+ <keyword match="ClientRequestInterceptor" />
+ <keyword match="ClientRequestInterceptorOperations" />
+ <keyword match="Clip" />
+ <keyword match="Clipboard" />
+ <keyword match="ClipboardOwner" />
+ <keyword match="Clob" />
+ <keyword match="Cloneable" />
+ <keyword match="CloneNotSupportedException" />
+ <keyword match="ClosedByInterruptException" />
+ <keyword match="ClosedChannelException" />
+ <keyword match="ClosedSelectorException" />
+ <keyword match="CMMException" />
+ <keyword match="Codec" />
+ <keyword match="CodecFactory" />
+ <keyword match="CodecFactoryHelper" />
+ <keyword match="CodecFactoryOperations" />
+ <keyword match="CodecOperations" />
+ <keyword match="CoderMalfunctionError" />
+ <keyword match="CoderResult" />
+ <keyword match="CodeSets" />
+ <keyword match="CodeSource" />
+ <keyword match="CodingErrorAction" />
+ <keyword match="CollationElementIterator" />
+ <keyword match="CollationKey" />
+ <keyword match="Collator" />
+ <keyword match="Collection" />
+ <keyword match="CollectionCertStoreParameters" />
+ <keyword match="Collections" />
+ <keyword match="Color" />
+ <keyword match="ColorChooserComponentFactory" />
+ <keyword match="ColorChooserUI" />
+ <keyword match="ColorConvertOp" />
+ <keyword match="ColorModel" />
+ <keyword match="ColorSelectionModel" />
+ <keyword match="ColorSpace" />
+ <keyword match="ColorSupported" />
+ <keyword match="ColorUIResource" />
+ <keyword match="ComboBoxEditor" />
+ <keyword match="ComboBoxModel" />
+ <keyword match="ComboBoxUI" />
+ <keyword match="ComboPopup" />
+ <keyword match="COMM_FAILURE" />
+ <keyword match="Comment" />
+ <keyword match="CommunicationException" />
+ <keyword match="Comparable" />
+ <keyword match="Comparator" />
+ <keyword match="Compiler" />
+ <keyword match="CompletionStatus" />
+ <keyword match="CompletionStatusHelper" />
+ <keyword match="Component" />
+ <keyword match="ComponentAdapter" />
+ <keyword match="ComponentColorModel" />
+ <keyword match="ComponentEvent" />
+ <keyword match="ComponentIdHelper" />
+ <keyword match="ComponentInputMap" />
+ <keyword match="ComponentInputMapUIResource" />
+ <keyword match="ComponentListener" />
+ <keyword match="ComponentOrientation" />
+ <keyword match="ComponentSampleModel" />
+ <keyword match="ComponentUI" />
+ <keyword match="ComponentView" />
+ <keyword match="Composite" />
+ <keyword match="CompositeContext" />
+ <keyword match="CompositeName" />
+ <keyword match="CompositeView" />
+ <keyword match="CompoundBorder" />
+ <keyword match="CompoundControl" />
+
+ <keyword match="CompoundEdit" />
+ <keyword match="CompoundName" />
+ <keyword match="Compression" />
+ <keyword match="ConcurrentModificationException" />
+ <keyword match="Configuration" />
+ <keyword match="ConfigurationException" />
+ <keyword match="ConfirmationCallback" />
+ <keyword match="ConnectException" />
+ <keyword match="ConnectException" />
+ <keyword match="ConnectIOException" />
+ <keyword match="Connection" />
+ <keyword match="ConnectionEvent" />
+ <keyword match="ConnectionEventListener" />
+ <keyword match="ConnectionPendingException" />
+ <keyword match="ConnectionPoolDataSource" />
+ <keyword match="ConsoleHandler" />
+ <keyword match="Constructor" />
+ <keyword match="Container" />
+ <keyword match="ContainerAdapter" />
+ <keyword match="ContainerEvent" />
+ <keyword match="ContainerListener" />
+ <keyword match="ContainerOrderFocusTraversalPolicy" />
+ <keyword match="ContentHandler" />
+ <keyword match="ContentHandler" />
+ <keyword match="ContentHandlerFactory" />
+ <keyword match="ContentModel" />
+ <keyword match="Context" />
+ <keyword match="Context" />
+ <keyword match="ContextList" />
+ <keyword match="ContextNotEmptyException" />
+ <keyword match="ContextualRenderedImageFactory" />
+ <keyword match="Control" />
+ <keyword match="Control" />
+
+ <keyword match="ControlFactory" />
+ <keyword match="ControllerEventListener" />
+ <keyword match="ConvolveOp" />
+ <keyword match="CookieHolder" />
+ <keyword match="Copies" />
+ <keyword match="CopiesSupported" />
+ <keyword match="CRC32" />
+ <keyword match="CredentialExpiredException" />
+ <keyword match="CRL" />
+ <keyword match="CRLException" />
+ <keyword match="CRLSelector" />
+ <keyword match="CropImageFilter" />
+ <keyword match="CSS" />
+
+ <keyword match="CTX_RESTRICT_SCOPE" />
+ <keyword match="CubicCurve2D" />
+
+
+ <keyword match="Currency" />
+ <keyword match="Current" />
+ <keyword match="Current" />
+ <keyword match="Current" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHolder" />
+ <keyword match="CurrentOperations" />
+ <keyword match="CurrentOperations" />
+ <keyword match="CurrentOperations" />
+ <keyword match="Cursor" />
+ <keyword match="Customizer" />
+ <keyword match="CustomMarshal" />
+ <keyword match="CustomValue" />
+ <keyword match="DATA_CONVERSION" />
+ <keyword match="DatabaseMetaData" />
+ <keyword match="DataBuffer" />
+ <keyword match="DataBufferByte" />
+ <keyword match="DataBufferDouble" />
+ <keyword match="DataBufferFloat" />
+ <keyword match="DataBufferInt" />
+ <keyword match="DataBufferShort" />
+ <keyword match="DataBufferUShort" />
+ <keyword match="DataFlavor" />
+ <keyword match="DataFormatException" />
+ <keyword match="DatagramChannel" />
+ <keyword match="DatagramPacket" />
+ <keyword match="DatagramSocket" />
+ <keyword match="DatagramSocketImpl" />
+ <keyword match="DatagramSocketImplFactory" />
+ <keyword match="DataInput" />
+ <keyword match="DataInputStream" />
+ <keyword match="DataInputStream" />
+ <keyword match="DataLine" />
+
+ <keyword match="DataOutput" />
+ <keyword match="DataOutputStream" />
+ <keyword match="DataOutputStream" />
+ <keyword match="DataSource" />
+ <keyword match="DataTruncation" />
+ <keyword match="Date" />
+ <keyword match="Date" />
+ <keyword match="DateFormat" />
+
+ <keyword match="DateFormatSymbols" />
+ <keyword match="DateFormatter" />
+ <keyword match="DateTimeAtCompleted" />
+ <keyword match="DateTimeAtCreation" />
+ <keyword match="DateTimeAtProcessing" />
+ <keyword match="DateTimeSyntax" />
+ <keyword match="DebugGraphics" />
+ <keyword match="DecimalFormat" />
+ <keyword match="DecimalFormatSymbols" />
+ <keyword match="DeclHandler" />
+ <keyword match="DefaultBoundedRangeModel" />
+ <keyword match="DefaultButtonModel" />
+ <keyword match="DefaultCaret" />
+ <keyword match="DefaultCellEditor" />
+ <keyword match="DefaultColorSelectionModel" />
+ <keyword match="DefaultComboBoxModel" />
+ <keyword match="DefaultDesktopManager" />
+ <keyword match="DefaultEditorKit" />
+
+
+
+
+
+
+
+
+ <keyword match="DefaultFocusManager" />
+ <keyword match="DefaultFocusTraversalPolicy" />
+ <keyword match="DefaultFormatter" />
+ <keyword match="DefaultFormatterFactory" />
+ <keyword match="DefaultHandler" />
+ <keyword match="DefaultHighlighter" />
+
+ <keyword match="DefaultKeyboardFocusManager" />
+ <keyword match="DefaultListCellRenderer" />
+
+ <keyword match="DefaultListModel" />
+ <keyword match="DefaultListSelectionModel" />
+ <keyword match="DefaultMenuLayout" />
+ <keyword match="DefaultMetalTheme" />
+ <keyword match="DefaultMutableTreeNode" />
+ <keyword match="DefaultPersistenceDelegate" />
+ <keyword match="DefaultSingleSelectionModel" />
+ <keyword match="DefaultStyledDocument" />
+
+
+ <keyword match="DefaultTableCellRenderer" />
+
+ <keyword match="DefaultTableColumnModel" />
+ <keyword match="DefaultTableModel" />
+ <keyword match="DefaultTextUI" />
+ <keyword match="DefaultTreeCellEditor" />
+ <keyword match="DefaultTreeCellRenderer" />
+ <keyword match="DefaultTreeModel" />
+ <keyword match="DefaultTreeSelectionModel" />
+ <keyword match="DefinitionKind" />
+ <keyword match="DefinitionKindHelper" />
+ <keyword match="Deflater" />
+ <keyword match="DeflaterOutputStream" />
+ <keyword match="Delegate" />
+ <keyword match="Delegate" />
+ <keyword match="Delegate" />
+ <keyword match="DelegationPermission" />
+ <keyword match="DESedeKeySpec" />
+ <keyword match="DesignMode" />
+ <keyword match="DESKeySpec" />
+ <keyword match="DesktopIconUI" />
+ <keyword match="DesktopManager" />
+ <keyword match="DesktopPaneUI" />
+ <keyword match="Destination" />
+ <keyword match="Destroyable" />
+ <keyword match="DestroyFailedException" />
+ <keyword match="DGC" />
+ <keyword match="DHGenParameterSpec" />
+ <keyword match="DHKey" />
+ <keyword match="DHParameterSpec" />
+ <keyword match="DHPrivateKey" />
+ <keyword match="DHPrivateKeySpec" />
+ <keyword match="DHPublicKey" />
+ <keyword match="DHPublicKeySpec" />
+ <keyword match="Dialog" />
+ <keyword match="Dictionary" />
+ <keyword match="DigestException" />
+ <keyword match="DigestInputStream" />
+ <keyword match="DigestOutputStream" />
+ <keyword match="Dimension" />
+ <keyword match="Dimension2D" />
+ <keyword match="DimensionUIResource" />
+ <keyword match="DirContext" />
+ <keyword match="DirectColorModel" />
+ <keyword match="DirectoryManager" />
+ <keyword match="DirObjectFactory" />
+ <keyword match="DirStateFactory" />
+
+ <keyword match="DisplayMode" />
+ <keyword match="DnDConstants" />
+ <keyword match="Doc" />
+ <keyword match="DocAttribute" />
+ <keyword match="DocAttributeSet" />
+ <keyword match="DocFlavor" />
+
+
+
+
+
+
+
+ <keyword match="DocPrintJob" />
+ <keyword match="Document" />
+ <keyword match="Document" />
+ <keyword match="DocumentBuilder" />
+ <keyword match="DocumentBuilderFactory" />
+ <keyword match="DocumentEvent" />
+
+
+ <keyword match="DocumentFilter" />
+
+ <keyword match="DocumentFragment" />
+ <keyword match="DocumentHandler" />
+ <keyword match="DocumentListener" />
+ <keyword match="DocumentName" />
+ <keyword match="DocumentParser" />
+ <keyword match="DocumentType" />
+ <keyword match="DomainCombiner" />
+ <keyword match="DomainManager" />
+ <keyword match="DomainManagerOperations" />
+ <keyword match="DOMException" />
+ <keyword match="DOMImplementation" />
+ <keyword match="DOMLocator" />
+ <keyword match="DOMResult" />
+ <keyword match="DOMSource" />
+ <keyword match="Double" />
+ <keyword match="DoubleBuffer" />
+ <keyword match="DoubleHolder" />
+ <keyword match="DoubleSeqHelper" />
+ <keyword match="DoubleSeqHolder" />
+ <keyword match="DragGestureEvent" />
+ <keyword match="DragGestureListener" />
+ <keyword match="DragGestureRecognizer" />
+ <keyword match="DragSource" />
+ <keyword match="DragSourceAdapter" />
+ <keyword match="DragSourceContext" />
+ <keyword match="DragSourceDragEvent" />
+ <keyword match="DragSourceDropEvent" />
+ <keyword match="DragSourceEvent" />
+ <keyword match="DragSourceListener" />
+ <keyword match="DragSourceMotionListener" />
+ <keyword match="Driver" />
+ <keyword match="DriverManager" />
+ <keyword match="DriverPropertyInfo" />
+ <keyword match="DropTarget" />
+
+ <keyword match="DropTargetAdapter" />
+ <keyword match="DropTargetContext" />
+ <keyword match="DropTargetDragEvent" />
+ <keyword match="DropTargetDropEvent" />
+ <keyword match="DropTargetEvent" />
+ <keyword match="DropTargetListener" />
+ <keyword match="DSAKey" />
+ <keyword match="DSAKeyPairGenerator" />
+ <keyword match="DSAParameterSpec" />
+ <keyword match="DSAParams" />
+ <keyword match="DSAPrivateKey" />
+ <keyword match="DSAPrivateKeySpec" />
+ <keyword match="DSAPublicKey" />
+ <keyword match="DSAPublicKeySpec" />
+ <keyword match="DTD" />
+ <keyword match="DTDConstants" />
+ <keyword match="DTDHandler" />
+ <keyword match="DuplicateName" />
+ <keyword match="DuplicateNameHelper" />
+ <keyword match="DynamicImplementation" />
+ <keyword match="DynamicImplementation" />
+ <keyword match="DynAny" />
+ <keyword match="DynAny" />
+ <keyword match="DynAnyFactory" />
+ <keyword match="DynAnyFactoryHelper" />
+ <keyword match="DynAnyFactoryOperations" />
+ <keyword match="DynAnyHelper" />
+ <keyword match="DynAnyOperations" />
+ <keyword match="DynAnySeqHelper" />
+ <keyword match="DynArray" />
+ <keyword match="DynArray" />
+ <keyword match="DynArrayHelper" />
+ <keyword match="DynArrayOperations" />
+ <keyword match="DynEnum" />
+ <keyword match="DynEnum" />
+ <keyword match="DynEnumHelper" />
+ <keyword match="DynEnumOperations" />
+ <keyword match="DynFixed" />
+ <keyword match="DynFixed" />
+ <keyword match="DynFixedHelper" />
+ <keyword match="DynFixedOperations" />
+ <keyword match="DynSequence" />
+ <keyword match="DynSequence" />
+ <keyword match="DynSequenceHelper" />
+ <keyword match="DynSequenceOperations" />
+ <keyword match="DynStruct" />
+ <keyword match="DynStruct" />
+ <keyword match="DynStructHelper" />
+ <keyword match="DynStructOperations" />
+ <keyword match="DynUnion" />
+ <keyword match="DynUnion" />
+ <keyword match="DynUnionHelper" />
+ <keyword match="DynUnionOperations" />
+ <keyword match="DynValue" />
+ <keyword match="DynValue" />
+ <keyword match="DynValueBox" />
+ <keyword match="DynValueBoxOperations" />
+ <keyword match="DynValueCommon" />
+ <keyword match="DynValueCommonOperations" />
+ <keyword match="DynValueHelper" />
+ <keyword match="DynValueOperations" />
+ <keyword match="EditorKit" />
+ <keyword match="Element" />
+ <keyword match="Element" />
+ <keyword match="Element" />
+ <keyword match="ElementIterator" />
+ <keyword match="Ellipse2D" />
+
+
+ <keyword match="EmptyBorder" />
+ <keyword match="EmptyStackException" />
+ <keyword match="EncodedKeySpec" />
+ <keyword match="Encoder" />
+ <keyword match="Encoding" />
+ <keyword match="ENCODING_CDR_ENCAPS" />
+ <keyword match="EncryptedPrivateKeyInfo" />
+ <keyword match="Entity" />
+ <keyword match="Entity" />
+ <keyword match="EntityReference" />
+ <keyword match="EntityResolver" />
+ <keyword match="EnumControl" />
+
+ <keyword match="Enumeration" />
+ <keyword match="EnumSyntax" />
+ <keyword match="Environment" />
+ <keyword match="EOFException" />
+ <keyword match="Error" />
+ <keyword match="ErrorHandler" />
+ <keyword match="ErrorListener" />
+ <keyword match="ErrorManager" />
+ <keyword match="EtchedBorder" />
+ <keyword match="Event" />
+ <keyword match="EventContext" />
+ <keyword match="EventDirContext" />
+ <keyword match="EventHandler" />
+ <keyword match="EventListener" />
+ <keyword match="EventListenerList" />
+ <keyword match="EventListenerProxy" />
+ <keyword match="EventObject" />
+ <keyword match="EventQueue" />
+ <keyword match="EventSetDescriptor" />
+ <keyword match="Exception" />
+ <keyword match="ExceptionInInitializerError" />
+ <keyword match="ExceptionList" />
+ <keyword match="ExceptionListener" />
+ <keyword match="ExemptionMechanism" />
+ <keyword match="ExemptionMechanismException" />
+ <keyword match="ExemptionMechanismSpi" />
+ <keyword match="ExpandVetoException" />
+ <keyword match="ExportException" />
+ <keyword match="Expression" />
+ <keyword match="ExtendedRequest" />
+ <keyword match="ExtendedResponse" />
+ <keyword match="Externalizable" />
+ <keyword match="FactoryConfigurationError" />
+ <keyword match="FailedLoginException" />
+ <keyword match="FeatureDescriptor" />
+ <keyword match="Fidelity" />
+ <keyword match="Field" />
+ <keyword match="FieldNameHelper" />
+ <keyword match="FieldNameHelper" />
+ <keyword match="FieldPosition" />
+ <keyword match="FieldView" />
+ <keyword match="File" />
+ <keyword match="FileCacheImageInputStream" />
+ <keyword match="FileCacheImageOutputStream" />
+ <keyword match="FileChannel" />
+
+ <keyword match="FileChooserUI" />
+ <keyword match="FileDescriptor" />
+ <keyword match="FileDialog" />
+ <keyword match="FileFilter" />
+ <keyword match="FileFilter" />
+ <keyword match="FileHandler" />
+ <keyword match="FileImageInputStream" />
+ <keyword match="FileImageOutputStream" />
+ <keyword match="FileInputStream" />
+ <keyword match="FileLock" />
+ <keyword match="FileLockInterruptionException" />
+ <keyword match="FilenameFilter" />
+ <keyword match="FileNameMap" />
+ <keyword match="FileNotFoundException" />
+ <keyword match="FileOutputStream" />
+ <keyword match="FilePermission" />
+ <keyword match="FileReader" />
+ <keyword match="FileSystemView" />
+ <keyword match="FileView" />
+ <keyword match="FileWriter" />
+ <keyword match="Filter" />
+ <keyword match="FilteredImageSource" />
+ <keyword match="FilterInputStream" />
+ <keyword match="FilterOutputStream" />
+ <keyword match="FilterReader" />
+ <keyword match="FilterWriter" />
+ <keyword match="Finishings" />
+ <keyword match="FixedHeightLayoutCache" />
+ <keyword match="FixedHolder" />
+ <keyword match="FlatteningPathIterator" />
+ <keyword match="FlavorException" />
+ <keyword match="FlavorMap" />
+ <keyword match="FlavorTable" />
+ <keyword match="Float" />
+ <keyword match="FloatBuffer" />
+ <keyword match="FloatControl" />
+
+ <keyword match="FloatHolder" />
+ <keyword match="FloatSeqHelper" />
+ <keyword match="FloatSeqHolder" />
+ <keyword match="FlowLayout" />
+ <keyword match="FlowView" />
+
+ <keyword match="FocusAdapter" />
+ <keyword match="FocusEvent" />
+ <keyword match="FocusListener" />
+ <keyword match="FocusManager" />
+ <keyword match="FocusTraversalPolicy" />
+ <keyword match="Font" />
+ <keyword match="FontFormatException" />
+ <keyword match="FontMetrics" />
+ <keyword match="FontRenderContext" />
+ <keyword match="FontUIResource" />
+ <keyword match="Format" />
+
+ <keyword match="FormatConversionProvider" />
+ <keyword match="FormatMismatch" />
+ <keyword match="FormatMismatchHelper" />
+ <keyword match="Formatter" />
+ <keyword match="FormView" />
+ <keyword match="ForwardRequest" />
+ <keyword match="ForwardRequest" />
+ <keyword match="ForwardRequestHelper" />
+ <keyword match="ForwardRequestHelper" />
+ <keyword match="Frame" />
+ <keyword match="FREE_MEM" />
+ <keyword match="GapContent" />
+ <keyword match="GatheringByteChannel" />
+ <keyword match="GeneralPath" />
+ <keyword match="GeneralSecurityException" />
+ <keyword match="GlyphJustificationInfo" />
+ <keyword match="GlyphMetrics" />
+ <keyword match="GlyphVector" />
+ <keyword match="GlyphView" />
+
+ <keyword match="GradientPaint" />
+ <keyword match="GraphicAttribute" />
+ <keyword match="Graphics" />
+ <keyword match="Graphics2D" />
+ <keyword match="GraphicsConfigTemplate" />
+ <keyword match="GraphicsConfiguration" />
+ <keyword match="GraphicsDevice" />
+ <keyword match="GraphicsEnvironment" />
+ <keyword match="GrayFilter" />
+ <keyword match="GregorianCalendar" />
+ <keyword match="GridBagConstraints" />
+ <keyword match="GridBagLayout" />
+ <keyword match="GridLayout" />
+ <keyword match="Group" />
+ <keyword match="GSSContext" />
+ <keyword match="GSSCredential" />
+ <keyword match="GSSException" />
+ <keyword match="GSSManager" />
+ <keyword match="GSSName" />
+ <keyword match="Guard" />
+ <keyword match="GuardedObject" />
+ <keyword match="GZIPInputStream" />
+ <keyword match="GZIPOutputStream" />
+ <keyword match="Handler" />
+ <keyword match="HandlerBase" />
+ <keyword match="HandshakeCompletedEvent" />
+ <keyword match="HandshakeCompletedListener" />
+ <keyword match="HasControls" />
+ <keyword match="HashAttributeSet" />
+ <keyword match="HashDocAttributeSet" />
+ <keyword match="HashMap" />
+ <keyword match="HashPrintJobAttributeSet" />
+ <keyword match="HashPrintRequestAttributeSet" />
+ <keyword match="HashPrintServiceAttributeSet" />
+ <keyword match="HashSet" />
+ <keyword match="Hashtable" />
+ <keyword match="HeadlessException" />
+ <keyword match="HierarchyBoundsAdapter" />
+ <keyword match="HierarchyBoundsListener" />
+ <keyword match="HierarchyEvent" />
+ <keyword match="HierarchyListener" />
+ <keyword match="Highlighter" />
+
+
+ <keyword match="HostnameVerifier" />
+ <keyword match="HTML" />
+
+
+
+ <keyword match="HTMLDocument" />
+
+ <keyword match="HTMLEditorKit" />
+
+
+
+
+
+
+ <keyword match="HTMLFrameHyperlinkEvent" />
+ <keyword match="HTMLWriter" />
+ <keyword match="HttpsURLConnection" />
+ <keyword match="HttpURLConnection" />
+ <keyword match="HyperlinkEvent" />
+
+ <keyword match="HyperlinkListener" />
+ <keyword match="ICC_ColorSpace" />
+ <keyword match="ICC_Profile" />
+ <keyword match="ICC_ProfileGray" />
+ <keyword match="ICC_ProfileRGB" />
+ <keyword match="Icon" />
+ <keyword match="IconUIResource" />
+ <keyword match="IconView" />
+ <keyword match="ID_ASSIGNMENT_POLICY_ID" />
+ <keyword match="ID_UNIQUENESS_POLICY_ID" />
+ <keyword match="IdAssignmentPolicy" />
+ <keyword match="IdAssignmentPolicyOperations" />
+ <keyword match="IdAssignmentPolicyValue" />
+ <keyword match="IdentifierHelper" />
+ <keyword match="Identity" />
+ <keyword match="IdentityHashMap" />
+ <keyword match="IdentityScope" />
+ <keyword match="IDLEntity" />
+ <keyword match="IDLType" />
+ <keyword match="IDLTypeHelper" />
+ <keyword match="IDLTypeOperations" />
+ <keyword match="IdUniquenessPolicy" />
+ <keyword match="IdUniquenessPolicyOperations" />
+ <keyword match="IdUniquenessPolicyValue" />
+ <keyword match="IIOByteBuffer" />
+ <keyword match="IIOException" />
+ <keyword match="IIOImage" />
+ <keyword match="IIOInvalidTreeException" />
+ <keyword match="IIOMetadata" />
+ <keyword match="IIOMetadataController" />
+ <keyword match="IIOMetadataFormat" />
+ <keyword match="IIOMetadataFormatImpl" />
+ <keyword match="IIOMetadataNode" />
+ <keyword match="IIOParam" />
+ <keyword match="IIOParamController" />
+ <keyword match="IIOReadProgressListener" />
+ <keyword match="IIOReadUpdateListener" />
+ <keyword match="IIOReadWarningListener" />
+ <keyword match="IIORegistry" />
+ <keyword match="IIOServiceProvider" />
+ <keyword match="IIOWriteProgressListener" />
+ <keyword match="IIOWriteWarningListener" />
+ <keyword match="IllegalAccessError" />
+ <keyword match="IllegalAccessException" />
+ <keyword match="IllegalArgumentException" />
+ <keyword match="IllegalBlockingModeException" />
+ <keyword match="IllegalBlockSizeException" />
+ <keyword match="IllegalCharsetNameException" />
+ <keyword match="IllegalComponentStateException" />
+ <keyword match="IllegalMonitorStateException" />
+ <keyword match="IllegalPathStateException" />
+ <keyword match="IllegalSelectorException" />
+ <keyword match="IllegalStateException" />
+ <keyword match="IllegalThreadStateException" />
+ <keyword match="Image" />
+ <keyword match="ImageCapabilities" />
+ <keyword match="ImageConsumer" />
+ <keyword match="ImageFilter" />
+ <keyword match="ImageGraphicAttribute" />
+ <keyword match="ImageIcon" />
+ <keyword match="ImageInputStream" />
+ <keyword match="ImageInputStreamImpl" />
+ <keyword match="ImageInputStreamSpi" />
+ <keyword match="ImageIO" />
+ <keyword match="ImageObserver" />
+ <keyword match="ImageOutputStream" />
+ <keyword match="ImageOutputStreamImpl" />
+ <keyword match="ImageOutputStreamSpi" />
+ <keyword match="ImageProducer" />
+ <keyword match="ImageReader" />
+ <keyword match="ImageReaderSpi" />
+ <keyword match="ImageReaderWriterSpi" />
+ <keyword match="ImageReadParam" />
+ <keyword match="ImageTranscoder" />
+ <keyword match="ImageTranscoderSpi" />
+ <keyword match="ImageTypeSpecifier" />
+ <keyword match="ImageView" />
+ <keyword match="ImageWriteParam" />
+ <keyword match="ImageWriter" />
+ <keyword match="ImageWriterSpi" />
+ <keyword match="ImagingOpException" />
+ <keyword match="IMP_LIMIT" />
+ <keyword match="IMPLICIT_ACTIVATION_POLICY_ID" />
+ <keyword match="ImplicitActivationPolicy" />
+ <keyword match="ImplicitActivationPolicyOperations" />
+ <keyword match="ImplicitActivationPolicyValue" />
+ <keyword match="IncompatibleClassChangeError" />
+ <keyword match="InconsistentTypeCode" />
+ <keyword match="InconsistentTypeCode" />
+ <keyword match="InconsistentTypeCodeHelper" />
+ <keyword match="IndexColorModel" />
+ <keyword match="IndexedPropertyDescriptor" />
+ <keyword match="IndexOutOfBoundsException" />
+ <keyword match="IndirectionException" />
+ <keyword match="Inet4Address" />
+ <keyword match="Inet6Address" />
+ <keyword match="InetAddress" />
+ <keyword match="InetSocketAddress" />
+ <keyword match="Inflater" />
+ <keyword match="InflaterInputStream" />
+ <keyword match="InheritableThreadLocal" />
+ <keyword match="InitialContext" />
+ <keyword match="InitialContextFactory" />
+ <keyword match="InitialContextFactoryBuilder" />
+ <keyword match="InitialDirContext" />
+ <keyword match="INITIALIZE" />
+ <keyword match="InitialLdapContext" />
+ <keyword match="InlineView" />
+ <keyword match="InputContext" />
+ <keyword match="InputEvent" />
+ <keyword match="InputMap" />
+ <keyword match="InputMapUIResource" />
+ <keyword match="InputMethod" />
+ <keyword match="InputMethodContext" />
+ <keyword match="InputMethodDescriptor" />
+ <keyword match="InputMethodEvent" />
+ <keyword match="InputMethodHighlight" />
+ <keyword match="InputMethodListener" />
+ <keyword match="InputMethodRequests" />
+ <keyword match="InputSource" />
+ <keyword match="InputStream" />
+ <keyword match="InputStream" />
+ <keyword match="InputStream" />
+ <keyword match="InputStreamReader" />
+ <keyword match="InputSubset" />
+ <keyword match="InputVerifier" />
+ <keyword match="Insets" />
+ <keyword match="InsetsUIResource" />
+ <keyword match="InstantiationError" />
+ <keyword match="InstantiationException" />
+ <keyword match="Instrument" />
+ <keyword match="InsufficientResourcesException" />
+ <keyword match="IntBuffer" />
+ <keyword match="Integer" />
+ <keyword match="IntegerSyntax" />
+ <keyword match="Interceptor" />
+ <keyword match="InterceptorOperations" />
+ <keyword match="INTERNAL" />
+ <keyword match="InternalError" />
+ <keyword match="InternalFrameAdapter" />
+ <keyword match="InternalFrameEvent" />
+ <keyword match="InternalFrameFocusTraversalPolicy" />
+ <keyword match="InternalFrameListener" />
+ <keyword match="InternalFrameUI" />
+ <keyword match="InternationalFormatter" />
+ <keyword match="InterruptedException" />
+ <keyword match="InterruptedIOException" />
+ <keyword match="InterruptedNamingException" />
+ <keyword match="InterruptibleChannel" />
+ <keyword match="INTF_REPOS" />
+ <keyword match="IntHolder" />
+ <keyword match="IntrospectionException" />
+ <keyword match="Introspector" />
+ <keyword match="INV_FLAG" />
+ <keyword match="INV_IDENT" />
+ <keyword match="INV_OBJREF" />
+ <keyword match="INV_POLICY" />
+ <keyword match="Invalid" />
+ <keyword match="INVALID_TRANSACTION" />
+ <keyword match="InvalidAddress" />
+ <keyword match="InvalidAddressHelper" />
+ <keyword match="InvalidAddressHolder" />
+ <keyword match="InvalidAlgorithmParameterException" />
+ <keyword match="InvalidAttributeIdentifierException" />
+ <keyword match="InvalidAttributesException" />
+ <keyword match="InvalidAttributeValueException" />
+ <keyword match="InvalidClassException" />
+ <keyword match="InvalidDnDOperationException" />
+ <keyword match="InvalidKeyException" />
+ <keyword match="InvalidKeySpecException" />
+ <keyword match="InvalidMarkException" />
+ <keyword match="InvalidMidiDataException" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidNameException" />
+ <keyword match="InvalidNameHelper" />
+ <keyword match="InvalidNameHelper" />
+ <keyword match="InvalidNameHolder" />
+ <keyword match="InvalidObjectException" />
+ <keyword match="InvalidParameterException" />
+ <keyword match="InvalidParameterSpecException" />
+ <keyword match="InvalidPolicy" />
+ <keyword match="InvalidPolicyHelper" />
+ <keyword match="InvalidPreferencesFormatException" />
+ <keyword match="InvalidSearchControlsException" />
+ <keyword match="InvalidSearchFilterException" />
+ <keyword match="InvalidSeq" />
+ <keyword match="InvalidSlot" />
+ <keyword match="InvalidSlotHelper" />
+ <keyword match="InvalidTransactionException" />
+ <keyword match="InvalidTypeForEncoding" />
+ <keyword match="InvalidTypeForEncodingHelper" />
+ <keyword match="InvalidValue" />
+ <keyword match="InvalidValue" />
+ <keyword match="InvalidValueHelper" />
+ <keyword match="InvocationEvent" />
+ <keyword match="InvocationHandler" />
+ <keyword match="InvocationTargetException" />
+ <keyword match="InvokeHandler" />
+ <keyword match="IOException" />
+ <keyword match="IOR" />
+ <keyword match="IORHelper" />
+ <keyword match="IORHolder" />
+ <keyword match="IORInfo" />
+ <keyword match="IORInfoOperations" />
+ <keyword match="IORInterceptor" />
+ <keyword match="IORInterceptorOperations" />
+ <keyword match="IRObject" />
+ <keyword match="IRObjectOperations" />
+ <keyword match="IstringHelper" />
+ <keyword match="ItemEvent" />
+ <keyword match="ItemListener" />
+ <keyword match="ItemSelectable" />
+ <keyword match="Iterator" />
+ <keyword match="IvParameterSpec" />
+ <keyword match="JApplet" />
+ <keyword match="JarEntry" />
+ <keyword match="JarException" />
+ <keyword match="JarFile" />
+ <keyword match="JarInputStream" />
+ <keyword match="JarOutputStream" />
+ <keyword match="JarURLConnection" />
+ <keyword match="JButton" />
+ <keyword match="JCheckBox" />
+ <keyword match="JCheckBoxMenuItem" />
+ <keyword match="JColorChooser" />
+ <keyword match="JComboBox" />
+
+ <keyword match="JComponent" />
+ <keyword match="JDesktopPane" />
+ <keyword match="JDialog" />
+ <keyword match="JEditorPane" />
+ <keyword match="JFileChooser" />
+ <keyword match="JFormattedTextField" />
+
+
+ <keyword match="JFrame" />
+ <keyword match="JInternalFrame" />
+
+ <keyword match="JLabel" />
+ <keyword match="JLayeredPane" />
+ <keyword match="JList" />
+ <keyword match="JMenu" />
+ <keyword match="JMenuBar" />
+ <keyword match="JMenuItem" />
+ <keyword match="JobAttributes" />
+
+
+
+
+
+ <keyword match="JobHoldUntil" />
+ <keyword match="JobImpressions" />
+ <keyword match="JobImpressionsCompleted" />
+ <keyword match="JobImpressionsSupported" />
+ <keyword match="JobKOctets" />
+ <keyword match="JobKOctetsProcessed" />
+ <keyword match="JobKOctetsSupported" />
+ <keyword match="JobMediaSheets" />
+ <keyword match="JobMediaSheetsCompleted" />
+ <keyword match="JobMediaSheetsSupported" />
+ <keyword match="JobMessageFromOperator" />
+ <keyword match="JobName" />
+ <keyword match="JobOriginatingUserName" />
+ <keyword match="JobPriority" />
+ <keyword match="JobPrioritySupported" />
+ <keyword match="JobSheets" />
+ <keyword match="JobState" />
+ <keyword match="JobStateReason" />
+ <keyword match="JobStateReasons" />
+ <keyword match="JOptionPane" />
+ <keyword match="JPanel" />
+ <keyword match="JPasswordField" />
+ <keyword match="JPEGHuffmanTable" />
+ <keyword match="JPEGImageReadParam" />
+ <keyword match="JPEGImageWriteParam" />
+ <keyword match="JPEGQTable" />
+ <keyword match="JPopupMenu" />
+
+ <keyword match="JProgressBar" />
+ <keyword match="JRadioButton" />
+ <keyword match="JRadioButtonMenuItem" />
+ <keyword match="JRootPane" />
+ <keyword match="JScrollBar" />
+ <keyword match="JScrollPane" />
+ <keyword match="JSeparator" />
+ <keyword match="JSlider" />
+ <keyword match="JSpinner" />
+
+
+
+
+ <keyword match="JSplitPane" />
+ <keyword match="JTabbedPane" />
+ <keyword match="JTable" />
+ <keyword match="JTableHeader" />
+ <keyword match="JTextArea" />
+ <keyword match="JTextComponent" />
+
+ <keyword match="JTextField" />
+ <keyword match="JTextPane" />
+ <keyword match="JToggleButton" />
+
+ <keyword match="JToolBar" />
+
+ <keyword match="JToolTip" />
+ <keyword match="JTree" />
+
+
+ <keyword match="JViewport" />
+ <keyword match="JWindow" />
+ <keyword match="KerberosKey" />
+ <keyword match="KerberosPrincipal" />
+ <keyword match="KerberosTicket" />
+ <keyword match="Kernel" />
+ <keyword match="Key" />
+ <keyword match="KeyAdapter" />
+ <keyword match="KeyAgreement" />
+ <keyword match="KeyAgreementSpi" />
+ <keyword match="KeyboardFocusManager" />
+ <keyword match="KeyEvent" />
+ <keyword match="KeyEventDispatcher" />
+ <keyword match="KeyEventPostProcessor" />
+ <keyword match="KeyException" />
+ <keyword match="KeyFactory" />
+ <keyword match="KeyFactorySpi" />
+ <keyword match="KeyGenerator" />
+ <keyword match="KeyGeneratorSpi" />
+ <keyword match="KeyListener" />
+ <keyword match="KeyManagementException" />
+ <keyword match="KeyManager" />
+ <keyword match="KeyManagerFactory" />
+ <keyword match="KeyManagerFactorySpi" />
+ <keyword match="Keymap" />
+ <keyword match="KeyPair" />
+ <keyword match="KeyPairGenerator" />
+ <keyword match="KeyPairGeneratorSpi" />
+ <keyword match="KeySpec" />
+ <keyword match="KeyStore" />
+ <keyword match="KeyStoreException" />
+ <keyword match="KeyStoreSpi" />
+ <keyword match="KeyStroke" />
+ <keyword match="Label" />
+ <keyword match="LabelUI" />
+ <keyword match="LabelView" />
+ <keyword match="LanguageCallback" />
+ <keyword match="LastOwnerException" />
+ <keyword match="LayeredHighlighter" />
+
+ <keyword match="LayoutFocusTraversalPolicy" />
+ <keyword match="LayoutManager" />
+ <keyword match="LayoutManager2" />
+ <keyword match="LayoutQueue" />
+ <keyword match="LDAPCertStoreParameters" />
+ <keyword match="LdapContext" />
+ <keyword match="LdapReferralException" />
+ <keyword match="Lease" />
+ <keyword match="Level" />
+ <keyword match="LexicalHandler" />
+ <keyword match="LIFESPAN_POLICY_ID" />
+ <keyword match="LifespanPolicy" />
+ <keyword match="LifespanPolicyOperations" />
+ <keyword match="LifespanPolicyValue" />
+ <keyword match="LimitExceededException" />
+ <keyword match="Line" />
+
+ <keyword match="Line2D" />
+
+
+ <keyword match="LineBorder" />
+ <keyword match="LineBreakMeasurer" />
+ <keyword match="LineEvent" />
+
+ <keyword match="LineListener" />
+ <keyword match="LineMetrics" />
+ <keyword match="LineNumberInputStream" />
+ <keyword match="LineNumberReader" />
+ <keyword match="LineUnavailableException" />
+ <keyword match="LinkageError" />
+ <keyword match="LinkedHashMap" />
+ <keyword match="LinkedHashSet" />
+ <keyword match="LinkedList" />
+ <keyword match="LinkException" />
+ <keyword match="LinkLoopException" />
+ <keyword match="LinkRef" />
+ <keyword match="List" />
+ <keyword match="List" />
+ <keyword match="ListCellRenderer" />
+ <keyword match="ListDataEvent" />
+ <keyword match="ListDataListener" />
+ <keyword match="ListIterator" />
+ <keyword match="ListModel" />
+ <keyword match="ListResourceBundle" />
+ <keyword match="ListSelectionEvent" />
+ <keyword match="ListSelectionListener" />
+ <keyword match="ListSelectionModel" />
+ <keyword match="ListUI" />
+ <keyword match="ListView" />
+ <keyword match="LoaderHandler" />
+ <keyword match="Locale" />
+ <keyword match="LocalObject" />
+ <keyword match="LocateRegistry" />
+ <keyword match="LOCATION_FORWARD" />
+ <keyword match="Locator" />
+ <keyword match="LocatorImpl" />
+ <keyword match="Logger" />
+ <keyword match="LoggingPermission" />
+ <keyword match="LoginContext" />
+ <keyword match="LoginException" />
+ <keyword match="LoginModule" />
+ <keyword match="LogManager" />
+ <keyword match="LogRecord" />
+ <keyword match="LogStream" />
+ <keyword match="Long" />
+ <keyword match="LongBuffer" />
+ <keyword match="LongHolder" />
+ <keyword match="LongLongSeqHelper" />
+ <keyword match="LongLongSeqHolder" />
+ <keyword match="LongSeqHelper" />
+ <keyword match="LongSeqHolder" />
+ <keyword match="LookAndFeel" />
+ <keyword match="LookupOp" />
+ <keyword match="LookupTable" />
+ <keyword match="Mac" />
+ <keyword match="MacSpi" />
+ <keyword match="MalformedInputException" />
+ <keyword match="MalformedLinkException" />
+ <keyword match="MalformedURLException" />
+ <keyword match="ManagerFactoryParameters" />
+ <keyword match="Manifest" />
+ <keyword match="Map" />
+
+ <keyword match="MappedByteBuffer" />
+ <keyword match="MARSHAL" />
+ <keyword match="MarshalException" />
+ <keyword match="MarshalledObject" />
+ <keyword match="MaskFormatter" />
+ <keyword match="Matcher" />
+ <keyword match="Math" />
+ <keyword match="MatteBorder" />
+ <keyword match="Media" />
+ <keyword match="MediaName" />
+ <keyword match="MediaPrintableArea" />
+ <keyword match="MediaSize" />
+
+
+
+
+
+ <keyword match="MediaSizeName" />
+ <keyword match="MediaTracker" />
+ <keyword match="MediaTray" />
+ <keyword match="Member" />
+ <keyword match="MemoryCacheImageInputStream" />
+ <keyword match="MemoryCacheImageOutputStream" />
+ <keyword match="MemoryHandler" />
+ <keyword match="MemoryImageSource" />
+ <keyword match="Menu" />
+ <keyword match="MenuBar" />
+ <keyword match="MenuBarUI" />
+ <keyword match="MenuComponent" />
+ <keyword match="MenuContainer" />
+ <keyword match="MenuDragMouseEvent" />
+ <keyword match="MenuDragMouseListener" />
+ <keyword match="MenuElement" />
+ <keyword match="MenuEvent" />
+ <keyword match="MenuItem" />
+ <keyword match="MenuItemUI" />
+ <keyword match="MenuKeyEvent" />
+ <keyword match="MenuKeyListener" />
+ <keyword match="MenuListener" />
+ <keyword match="MenuSelectionManager" />
+ <keyword match="MenuShortcut" />
+ <keyword match="MessageDigest" />
+ <keyword match="MessageDigestSpi" />
+ <keyword match="MessageFormat" />
+
+ <keyword match="MessageProp" />
+ <keyword match="MetaEventListener" />
+ <keyword match="MetalBorders" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <keyword match="MetalButtonUI" />
+ <keyword match="MetalCheckBoxIcon" />
+ <keyword match="MetalCheckBoxUI" />
+ <keyword match="MetalComboBoxButton" />
+ <keyword match="MetalComboBoxEditor" />
+
+ <keyword match="MetalComboBoxIcon" />
+ <keyword match="MetalComboBoxUI" />
+ <keyword match="MetalDesktopIconUI" />
+ <keyword match="MetalFileChooserUI" />
+ <keyword match="MetalIconFactory" />
+
+
+
+
+
+
+ <keyword match="MetalInternalFrameTitlePane" />
+ <keyword match="MetalInternalFrameUI" />
+ <keyword match="MetalLabelUI" />
+ <keyword match="MetalLookAndFeel" />
+ <keyword match="MetalPopupMenuSeparatorUI" />
+ <keyword match="MetalProgressBarUI" />
+ <keyword match="MetalRadioButtonUI" />
+ <keyword match="MetalRootPaneUI" />
+ <keyword match="MetalScrollBarUI" />
+ <keyword match="MetalScrollButton" />
+ <keyword match="MetalScrollPaneUI" />
+ <keyword match="MetalSeparatorUI" />
+ <keyword match="MetalSliderUI" />
+ <keyword match="MetalSplitPaneUI" />
+ <keyword match="MetalTabbedPaneUI" />
+ <keyword match="MetalTextFieldUI" />
+ <keyword match="MetalTheme" />
+ <keyword match="MetalToggleButtonUI" />
+ <keyword match="MetalToolBarUI" />
+ <keyword match="MetalToolTipUI" />
+ <keyword match="MetalTreeUI" />
+ <keyword match="MetaMessage" />
+ <keyword match="Method" />
+ <keyword match="MethodDescriptor" />
+ <keyword match="MidiChannel" />
+ <keyword match="MidiDevice" />
+
+ <keyword match="MidiDeviceProvider" />
+ <keyword match="MidiEvent" />
+ <keyword match="MidiFileFormat" />
+ <keyword match="MidiFileReader" />
+ <keyword match="MidiFileWriter" />
+ <keyword match="MidiMessage" />
+ <keyword match="MidiSystem" />
+ <keyword match="MidiUnavailableException" />
+ <keyword match="MimeTypeParseException" />
+ <keyword match="MinimalHTMLWriter" />
+ <keyword match="MissingResourceException" />
+ <keyword match="Mixer" />
+
+ <keyword match="MixerProvider" />
+ <keyword match="ModificationItem" />
+ <keyword match="Modifier" />
+ <keyword match="MouseAdapter" />
+ <keyword match="MouseDragGestureRecognizer" />
+ <keyword match="MouseEvent" />
+ <keyword match="MouseInputAdapter" />
+ <keyword match="MouseInputListener" />
+ <keyword match="MouseListener" />
+ <keyword match="MouseMotionAdapter" />
+ <keyword match="MouseMotionListener" />
+ <keyword match="MouseWheelEvent" />
+ <keyword match="MouseWheelListener" />
+ <keyword match="MultiButtonUI" />
+ <keyword match="MulticastSocket" />
+ <keyword match="MultiColorChooserUI" />
+ <keyword match="MultiComboBoxUI" />
+ <keyword match="MultiDesktopIconUI" />
+ <keyword match="MultiDesktopPaneUI" />
+ <keyword match="MultiDoc" />
+ <keyword match="MultiDocPrintJob" />
+ <keyword match="MultiDocPrintService" />
+ <keyword match="MultiFileChooserUI" />
+ <keyword match="MultiInternalFrameUI" />
+ <keyword match="MultiLabelUI" />
+ <keyword match="MultiListUI" />
+ <keyword match="MultiLookAndFeel" />
+ <keyword match="MultiMenuBarUI" />
+ <keyword match="MultiMenuItemUI" />
+ <keyword match="MultiOptionPaneUI" />
+ <keyword match="MultiPanelUI" />
+ <keyword match="MultiPixelPackedSampleModel" />
+ <keyword match="MultipleComponentProfileHelper" />
+ <keyword match="MultipleComponentProfileHolder" />
+ <keyword match="MultipleDocumentHandling" />
+ <keyword match="MultipleMaster" />
+ <keyword match="MultiPopupMenuUI" />
+ <keyword match="MultiProgressBarUI" />
+ <keyword match="MultiRootPaneUI" />
+ <keyword match="MultiScrollBarUI" />
+ <keyword match="MultiScrollPaneUI" />
+ <keyword match="MultiSeparatorUI" />
+ <keyword match="MultiSliderUI" />
+ <keyword match="MultiSpinnerUI" />
+ <keyword match="MultiSplitPaneUI" />
+ <keyword match="MultiTabbedPaneUI" />
+ <keyword match="MultiTableHeaderUI" />
+ <keyword match="MultiTableUI" />
+ <keyword match="MultiTextUI" />
+ <keyword match="MultiToolBarUI" />
+ <keyword match="MultiToolTipUI" />
+ <keyword match="MultiTreeUI" />
+ <keyword match="MultiViewportUI" />
+ <keyword match="MutableAttributeSet" />
+ <keyword match="MutableComboBoxModel" />
+ <keyword match="MutableTreeNode" />
+ <keyword match="Name" />
+ <keyword match="NameAlreadyBoundException" />
+ <keyword match="NameCallback" />
+ <keyword match="NameClassPair" />
+ <keyword match="NameComponent" />
+ <keyword match="NameComponentHelper" />
+ <keyword match="NameComponentHolder" />
+ <keyword match="NamedNodeMap" />
+ <keyword match="NamedValue" />
+ <keyword match="NameDynAnyPair" />
+ <keyword match="NameDynAnyPairHelper" />
+ <keyword match="NameDynAnyPairSeqHelper" />
+ <keyword match="NameHelper" />
+ <keyword match="NameHolder" />
+ <keyword match="NameNotFoundException" />
+ <keyword match="NameParser" />
+ <keyword match="NamespaceChangeListener" />
+ <keyword match="NamespaceSupport" />
+ <keyword match="NameValuePair" />
+ <keyword match="NameValuePair" />
+ <keyword match="NameValuePairHelper" />
+ <keyword match="NameValuePairHelper" />
+ <keyword match="NameValuePairSeqHelper" />
+ <keyword match="Naming" />
+ <keyword match="NamingContext" />
+ <keyword match="NamingContextExt" />
+ <keyword match="NamingContextExtHelper" />
+ <keyword match="NamingContextExtHolder" />
+ <keyword match="NamingContextExtOperations" />
+ <keyword match="NamingContextExtPOA" />
+ <keyword match="NamingContextHelper" />
+ <keyword match="NamingContextHolder" />
+ <keyword match="NamingContextOperations" />
+ <keyword match="NamingContextPOA" />
+ <keyword match="NamingEnumeration" />
+ <keyword match="NamingEvent" />
+ <keyword match="NamingException" />
+ <keyword match="NamingExceptionEvent" />
+ <keyword match="NamingListener" />
+ <keyword match="NamingManager" />
+ <keyword match="NamingSecurityException" />
+ <keyword match="NavigationFilter" />
+
+ <keyword match="NegativeArraySizeException" />
+ <keyword match="NetPermission" />
+ <keyword match="NetworkInterface" />
+ <keyword match="NO_IMPLEMENT" />
+ <keyword match="NO_MEMORY" />
+ <keyword match="NO_PERMISSION" />
+ <keyword match="NO_RESOURCES" />
+ <keyword match="NO_RESPONSE" />
+ <keyword match="NoClassDefFoundError" />
+ <keyword match="NoConnectionPendingException" />
+ <keyword match="NoContext" />
+ <keyword match="NoContextHelper" />
+ <keyword match="Node" />
+ <keyword match="NodeChangeEvent" />
+ <keyword match="NodeChangeListener" />
+ <keyword match="NodeList" />
+ <keyword match="NoInitialContextException" />
+ <keyword match="NoninvertibleTransformException" />
+ <keyword match="NonReadableChannelException" />
+ <keyword match="NonWritableChannelException" />
+ <keyword match="NoPermissionException" />
+ <keyword match="NoRouteToHostException" />
+ <keyword match="NoServant" />
+ <keyword match="NoServantHelper" />
+ <keyword match="NoSuchAlgorithmException" />
+ <keyword match="NoSuchAttributeException" />
+ <keyword match="NoSuchElementException" />
+ <keyword match="NoSuchFieldError" />
+ <keyword match="NoSuchFieldException" />
+ <keyword match="NoSuchMethodError" />
+ <keyword match="NoSuchMethodException" />
+ <keyword match="NoSuchObjectException" />
+ <keyword match="NoSuchPaddingException" />
+ <keyword match="NoSuchProviderException" />
+ <keyword match="NotActiveException" />
+ <keyword match="Notation" />
+ <keyword match="NotBoundException" />
+ <keyword match="NotContextException" />
+ <keyword match="NotEmpty" />
+ <keyword match="NotEmptyHelper" />
+ <keyword match="NotEmptyHolder" />
+ <keyword match="NotFound" />
+ <keyword match="NotFoundHelper" />
+ <keyword match="NotFoundHolder" />
+ <keyword match="NotFoundReason" />
+ <keyword match="NotFoundReasonHelper" />
+ <keyword match="NotFoundReasonHolder" />
+ <keyword match="NotOwnerException" />
+ <keyword match="NotSerializableException" />
+ <keyword match="NotYetBoundException" />
+ <keyword match="NotYetConnectedException" />
+ <keyword match="NullCipher" />
+ <keyword match="NullPointerException" />
+ <keyword match="Number" />
+ <keyword match="NumberFormat" />
+
+ <keyword match="NumberFormatException" />
+ <keyword match="NumberFormatter" />
+ <keyword match="NumberOfDocuments" />
+ <keyword match="NumberOfInterveningJobs" />
+ <keyword match="NumberUp" />
+ <keyword match="NumberUpSupported" />
+ <keyword match="NumericShaper" />
+ <keyword match="NVList" />
+ <keyword match="OBJ_ADAPTER" />
+ <keyword match="Object" />
+ <keyword match="OBJECT_NOT_EXIST" />
+ <keyword match="ObjectAlreadyActive" />
+ <keyword match="ObjectAlreadyActiveHelper" />
+ <keyword match="ObjectChangeListener" />
+ <keyword match="ObjectFactory" />
+ <keyword match="ObjectFactoryBuilder" />
+ <keyword match="ObjectHelper" />
+ <keyword match="ObjectHolder" />
+ <keyword match="ObjectIdHelper" />
+ <keyword match="ObjectImpl" />
+ <keyword match="ObjectImpl" />
+ <keyword match="ObjectInput" />
+ <keyword match="ObjectInputStream" />
+
+ <keyword match="ObjectInputValidation" />
+ <keyword match="ObjectNotActive" />
+ <keyword match="ObjectNotActiveHelper" />
+ <keyword match="ObjectOutput" />
+ <keyword match="ObjectOutputStream" />
+
+ <keyword match="ObjectStreamClass" />
+ <keyword match="ObjectStreamConstants" />
+ <keyword match="ObjectStreamException" />
+ <keyword match="ObjectStreamField" />
+ <keyword match="ObjectView" />
+ <keyword match="ObjID" />
+ <keyword match="Observable" />
+ <keyword match="Observer" />
+ <keyword match="OctetSeqHelper" />
+ <keyword match="OctetSeqHolder" />
+ <keyword match="Oid" />
+ <keyword match="OMGVMCID" />
+ <keyword match="OpenType" />
+ <keyword match="Operation" />
+ <keyword match="OperationNotSupportedException" />
+ <keyword match="Option" />
+ <keyword match="OptionalDataException" />
+ <keyword match="OptionPaneUI" />
+ <keyword match="ORB" />
+ <keyword match="ORB" />
+ <keyword match="ORBInitializer" />
+ <keyword match="ORBInitializerOperations" />
+ <keyword match="ORBInitInfo" />
+ <keyword match="ORBInitInfoOperations" />
+ <keyword match="OrientationRequested" />
+ <keyword match="OutOfMemoryError" />
+ <keyword match="OutputDeviceAssigned" />
+ <keyword match="OutputKeys" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStreamWriter" />
+ <keyword match="OverlappingFileLockException" />
+ <keyword match="OverlayLayout" />
+ <keyword match="Owner" />
+ <keyword match="Package" />
+ <keyword match="PackedColorModel" />
+ <keyword match="Pageable" />
+ <keyword match="PageAttributes" />
+
+
+
+
+
+ <keyword match="PageFormat" />
+ <keyword match="PageRanges" />
+ <keyword match="PagesPerMinute" />
+ <keyword match="PagesPerMinuteColor" />
+ <keyword match="Paint" />
+ <keyword match="PaintContext" />
+ <keyword match="PaintEvent" />
+ <keyword match="Panel" />
+ <keyword match="PanelUI" />
+ <keyword match="Paper" />
+ <keyword match="ParagraphView" />
+ <keyword match="ParagraphView" />
+ <keyword match="Parameter" />
+ <keyword match="ParameterBlock" />
+ <keyword match="ParameterDescriptor" />
+ <keyword match="ParameterMetaData" />
+ <keyword match="ParameterMode" />
+ <keyword match="ParameterModeHelper" />
+ <keyword match="ParameterModeHolder" />
+ <keyword match="ParseException" />
+ <keyword match="ParsePosition" />
+ <keyword match="Parser" />
+ <keyword match="Parser" />
+ <keyword match="ParserAdapter" />
+ <keyword match="ParserConfigurationException" />
+ <keyword match="ParserDelegator" />
+ <keyword match="ParserFactory" />
+ <keyword match="PartialResultException" />
+ <keyword match="PasswordAuthentication" />
+ <keyword match="PasswordCallback" />
+ <keyword match="PasswordView" />
+ <keyword match="Patch" />
+ <keyword match="PathIterator" />
+ <keyword match="Pattern" />
+ <keyword match="PatternSyntaxException" />
+ <keyword match="PBEKey" />
+ <keyword match="PBEKeySpec" />
+ <keyword match="PBEParameterSpec" />
+ <keyword match="PDLOverrideSupported" />
+ <keyword match="Permission" />
+ <keyword match="Permission" />
+ <keyword match="PermissionCollection" />
+ <keyword match="Permissions" />
+ <keyword match="PERSIST_STORE" />
+ <keyword match="PersistenceDelegate" />
+ <keyword match="PhantomReference" />
+ <keyword match="Pipe" />
+
+
+ <keyword match="PipedInputStream" />
+ <keyword match="PipedOutputStream" />
+ <keyword match="PipedReader" />
+ <keyword match="PipedWriter" />
+ <keyword match="PixelGrabber" />
+ <keyword match="PixelInterleavedSampleModel" />
+ <keyword match="PKCS8EncodedKeySpec" />
+ <keyword match="PKIXBuilderParameters" />
+ <keyword match="PKIXCertPathBuilderResult" />
+ <keyword match="PKIXCertPathChecker" />
+ <keyword match="PKIXCertPathValidatorResult" />
+ <keyword match="PKIXParameters" />
+ <keyword match="PlainDocument" />
+ <keyword match="PlainView" />
+ <keyword match="POA" />
+ <keyword match="POAHelper" />
+ <keyword match="POAManager" />
+ <keyword match="POAManagerOperations" />
+ <keyword match="POAOperations" />
+ <keyword match="Point" />
+ <keyword match="Point2D" />
+
+
+ <keyword match="Policy" />
+ <keyword match="Policy" />
+ <keyword match="Policy" />
+ <keyword match="PolicyError" />
+ <keyword match="PolicyErrorCodeHelper" />
+ <keyword match="PolicyErrorHelper" />
+ <keyword match="PolicyErrorHolder" />
+ <keyword match="PolicyFactory" />
+ <keyword match="PolicyFactoryOperations" />
+ <keyword match="PolicyHelper" />
+ <keyword match="PolicyHolder" />
+ <keyword match="PolicyListHelper" />
+ <keyword match="PolicyListHolder" />
+ <keyword match="PolicyNode" />
+ <keyword match="PolicyOperations" />
+ <keyword match="PolicyQualifierInfo" />
+ <keyword match="PolicyTypeHelper" />
+ <keyword match="Polygon" />
+ <keyword match="PooledConnection" />
+ <keyword match="Popup" />
+ <keyword match="PopupFactory" />
+ <keyword match="PopupMenu" />
+ <keyword match="PopupMenuEvent" />
+ <keyword match="PopupMenuListener" />
+ <keyword match="PopupMenuUI" />
+ <keyword match="Port" />
+
+ <keyword match="PortableRemoteObject" />
+ <keyword match="PortableRemoteObjectDelegate" />
+ <keyword match="PortUnreachableException" />
+ <keyword match="Position" />
+
+ <keyword match="PreferenceChangeEvent" />
+ <keyword match="PreferenceChangeListener" />
+ <keyword match="Preferences" />
+ <keyword match="PreferencesFactory" />
+ <keyword match="PreparedStatement" />
+ <keyword match="PresentationDirection" />
+ <keyword match="Principal" />
+ <keyword match="Principal" />
+ <keyword match="PrincipalHolder" />
+ <keyword match="Printable" />
+ <keyword match="PrinterAbortException" />
+ <keyword match="PrinterException" />
+ <keyword match="PrinterGraphics" />
+ <keyword match="PrinterInfo" />
+ <keyword match="PrinterIOException" />
+ <keyword match="PrinterIsAcceptingJobs" />
+ <keyword match="PrinterJob" />
+ <keyword match="PrinterLocation" />
+ <keyword match="PrinterMakeAndModel" />
+ <keyword match="PrinterMessageFromOperator" />
+ <keyword match="PrinterMoreInfo" />
+ <keyword match="PrinterMoreInfoManufacturer" />
+ <keyword match="PrinterName" />
+ <keyword match="PrinterResolution" />
+ <keyword match="PrinterState" />
+ <keyword match="PrinterStateReason" />
+ <keyword match="PrinterStateReasons" />
+ <keyword match="PrinterURI" />
+ <keyword match="PrintEvent" />
+ <keyword match="PrintException" />
+ <keyword match="PrintGraphics" />
+ <keyword match="PrintJob" />
+ <keyword match="PrintJobAdapter" />
+ <keyword match="PrintJobAttribute" />
+ <keyword match="PrintJobAttributeEvent" />
+ <keyword match="PrintJobAttributeListener" />
+ <keyword match="PrintJobAttributeSet" />
+ <keyword match="PrintJobEvent" />
+ <keyword match="PrintJobListener" />
+ <keyword match="PrintQuality" />
+ <keyword match="PrintRequestAttribute" />
+ <keyword match="PrintRequestAttributeSet" />
+ <keyword match="PrintService" />
+ <keyword match="PrintServiceAttribute" />
+ <keyword match="PrintServiceAttributeEvent" />
+ <keyword match="PrintServiceAttributeListener" />
+ <keyword match="PrintServiceAttributeSet" />
+ <keyword match="PrintServiceLookup" />
+ <keyword match="PrintStream" />
+ <keyword match="PrintWriter" />
+ <keyword match="PRIVATE_MEMBER" />
+ <keyword match="PrivateCredentialPermission" />
+ <keyword match="PrivateKey" />
+ <keyword match="PrivilegedAction" />
+ <keyword match="PrivilegedActionException" />
+ <keyword match="PrivilegedExceptionAction" />
+ <keyword match="Process" />
+ <keyword match="ProcessingInstruction" />
+ <keyword match="ProfileDataException" />
+ <keyword match="ProfileIdHelper" />
+ <keyword match="ProgressBarUI" />
+ <keyword match="ProgressMonitor" />
+ <keyword match="ProgressMonitorInputStream" />
+ <keyword match="Properties" />
+ <keyword match="PropertyChangeEvent" />
+ <keyword match="PropertyChangeListener" />
+ <keyword match="PropertyChangeListenerProxy" />
+ <keyword match="PropertyChangeSupport" />
+ <keyword match="PropertyDescriptor" />
+ <keyword match="PropertyEditor" />
+ <keyword match="PropertyEditorManager" />
+ <keyword match="PropertyEditorSupport" />
+ <keyword match="PropertyPermission" />
+ <keyword match="PropertyResourceBundle" />
+ <keyword match="PropertyVetoException" />
+ <keyword match="ProtectionDomain" />
+ <keyword match="ProtocolException" />
+ <keyword match="Provider" />
+ <keyword match="ProviderException" />
+ <keyword match="Proxy" />
+ <keyword match="PSSParameterSpec" />
+ <keyword match="PUBLIC_MEMBER" />
+ <keyword match="PublicKey" />
+ <keyword match="PushbackInputStream" />
+ <keyword match="PushbackReader" />
+ <keyword match="QuadCurve2D" />
+
+
+ <keyword match="QueuedJobCount" />
+ <keyword match="Random" />
+ <keyword match="RandomAccess" />
+ <keyword match="RandomAccessFile" />
+ <keyword match="Raster" />
+ <keyword match="RasterFormatException" />
+ <keyword match="RasterOp" />
+ <keyword match="RC2ParameterSpec" />
+ <keyword match="RC5ParameterSpec" />
+ <keyword match="ReadableByteChannel" />
+ <keyword match="Reader" />
+ <keyword match="ReadOnlyBufferException" />
+ <keyword match="Receiver" />
+ <keyword match="Rectangle" />
+ <keyword match="Rectangle2D" />
+
+
+ <keyword match="RectangularShape" />
+ <keyword match="Ref" />
+ <keyword match="RefAddr" />
+ <keyword match="Reference" />
+ <keyword match="Reference" />
+ <keyword match="Referenceable" />
+ <keyword match="ReferenceQueue" />
+ <keyword match="ReferenceUriSchemesSupported" />
+ <keyword match="ReferralException" />
+ <keyword match="ReflectPermission" />
+ <keyword match="Refreshable" />
+ <keyword match="RefreshFailedException" />
+ <keyword match="RegisterableService" />
+ <keyword match="Registry" />
+ <keyword match="RegistryHandler" />
+ <keyword match="RemarshalException" />
+ <keyword match="Remote" />
+ <keyword match="RemoteCall" />
+ <keyword match="RemoteException" />
+ <keyword match="RemoteObject" />
+ <keyword match="RemoteRef" />
+ <keyword match="RemoteServer" />
+ <keyword match="RemoteStub" />
+ <keyword match="RenderableImage" />
+ <keyword match="RenderableImageOp" />
+ <keyword match="RenderableImageProducer" />
+ <keyword match="RenderContext" />
+ <keyword match="RenderedImage" />
+ <keyword match="RenderedImageFactory" />
+ <keyword match="Renderer" />
+ <keyword match="RenderingHints" />
+
+ <keyword match="RepaintManager" />
+ <keyword match="ReplicateScaleFilter" />
+ <keyword match="RepositoryIdHelper" />
+ <keyword match="Request" />
+ <keyword match="REQUEST_PROCESSING_POLICY_ID" />
+ <keyword match="RequestInfo" />
+ <keyword match="RequestInfoOperations" />
+ <keyword match="RequestingUserName" />
+ <keyword match="RequestProcessingPolicy" />
+ <keyword match="RequestProcessingPolicyOperations" />
+ <keyword match="RequestProcessingPolicyValue" />
+ <keyword match="RescaleOp" />
+ <keyword match="ResolutionSyntax" />
+ <keyword match="Resolver" />
+ <keyword match="ResolveResult" />
+ <keyword match="ResourceBundle" />
+ <keyword match="ResponseHandler" />
+ <keyword match="Result" />
+ <keyword match="ResultSet" />
+ <keyword match="ResultSetMetaData" />
+ <keyword match="ReverbType" />
+ <keyword match="RGBImageFilter" />
+ <keyword match="RMIClassLoader" />
+ <keyword match="RMIClassLoaderSpi" />
+ <keyword match="RMIClientSocketFactory" />
+ <keyword match="RMIFailureHandler" />
+ <keyword match="RMISecurityException" />
+ <keyword match="RMISecurityManager" />
+ <keyword match="RMIServerSocketFactory" />
+ <keyword match="RMISocketFactory" />
+ <keyword match="Robot" />
+ <keyword match="RootPaneContainer" />
+ <keyword match="RootPaneUI" />
+ <keyword match="RoundRectangle2D" />
+
+
+ <keyword match="RowMapper" />
+ <keyword match="RowSet" />
+ <keyword match="RowSetEvent" />
+ <keyword match="RowSetInternal" />
+ <keyword match="RowSetListener" />
+ <keyword match="RowSetMetaData" />
+ <keyword match="RowSetReader" />
+ <keyword match="RowSetWriter" />
+ <keyword match="RSAKey" />
+ <keyword match="RSAKeyGenParameterSpec" />
+ <keyword match="RSAMultiPrimePrivateCrtKey" />
+ <keyword match="RSAMultiPrimePrivateCrtKeySpec" />
+ <keyword match="RSAOtherPrimeInfo" />
+ <keyword match="RSAPrivateCrtKey" />
+ <keyword match="RSAPrivateCrtKeySpec" />
+ <keyword match="RSAPrivateKey" />
+ <keyword match="RSAPrivateKeySpec" />
+ <keyword match="RSAPublicKey" />
+ <keyword match="RSAPublicKeySpec" />
+ <keyword match="RTFEditorKit" />
+ <keyword match="RuleBasedCollator" />
+ <keyword match="Runnable" />
+ <keyword match="Runtime" />
+ <keyword match="RunTime" />
+ <keyword match="RuntimeException" />
+ <keyword match="RunTimeOperations" />
+ <keyword match="RuntimePermission" />
+ <keyword match="SampleModel" />
+ <keyword match="Savepoint" />
+ <keyword match="SAXException" />
+ <keyword match="SAXNotRecognizedException" />
+ <keyword match="SAXNotSupportedException" />
+ <keyword match="SAXParseException" />
+ <keyword match="SAXParser" />
+ <keyword match="SAXParserFactory" />
+ <keyword match="SAXResult" />
+ <keyword match="SAXSource" />
+ <keyword match="SAXTransformerFactory" />
+ <keyword match="ScatteringByteChannel" />
+ <keyword match="SchemaViolationException" />
+ <keyword match="Scrollable" />
+ <keyword match="Scrollbar" />
+ <keyword match="ScrollBarUI" />
+ <keyword match="ScrollPane" />
+ <keyword match="ScrollPaneAdjustable" />
+ <keyword match="ScrollPaneConstants" />
+ <keyword match="ScrollPaneLayout" />
+
+ <keyword match="ScrollPaneUI" />
+ <keyword match="SealedObject" />
+ <keyword match="SearchControls" />
+ <keyword match="SearchResult" />
+ <keyword match="SecretKey" />
+ <keyword match="SecretKeyFactory" />
+ <keyword match="SecretKeyFactorySpi" />
+ <keyword match="SecretKeySpec" />
+ <keyword match="SecureClassLoader" />
+ <keyword match="SecureRandom" />
+ <keyword match="SecureRandomSpi" />
+ <keyword match="Security" />
+ <keyword match="SecurityException" />
+ <keyword match="SecurityManager" />
+ <keyword match="SecurityPermission" />
+ <keyword match="Segment" />
+ <keyword match="SelectableChannel" />
+ <keyword match="SelectionKey" />
+ <keyword match="Selector" />
+ <keyword match="SelectorProvider" />
+ <keyword match="SeparatorUI" />
+ <keyword match="Sequence" />
+ <keyword match="SequenceInputStream" />
+ <keyword match="Sequencer" />
+
+ <keyword match="Serializable" />
+ <keyword match="SerializablePermission" />
+ <keyword match="Servant" />
+ <keyword match="SERVANT_RETENTION_POLICY_ID" />
+ <keyword match="ServantActivator" />
+ <keyword match="ServantActivatorHelper" />
+ <keyword match="ServantActivatorOperations" />
+ <keyword match="ServantActivatorPOA" />
+ <keyword match="ServantAlreadyActive" />
+ <keyword match="ServantAlreadyActiveHelper" />
+ <keyword match="ServantLocator" />
+ <keyword match="ServantLocatorHelper" />
+ <keyword match="ServantLocatorOperations" />
+ <keyword match="ServantLocatorPOA" />
+ <keyword match="ServantManager" />
+ <keyword match="ServantManagerOperations" />
+ <keyword match="ServantNotActive" />
+ <keyword match="ServantNotActiveHelper" />
+ <keyword match="ServantObject" />
+ <keyword match="ServantRetentionPolicy" />
+ <keyword match="ServantRetentionPolicyOperations" />
+ <keyword match="ServantRetentionPolicyValue" />
+ <keyword match="ServerCloneException" />
+ <keyword match="ServerError" />
+ <keyword match="ServerException" />
+ <keyword match="ServerNotActiveException" />
+ <keyword match="ServerRef" />
+ <keyword match="ServerRequest" />
+ <keyword match="ServerRequestInfo" />
+ <keyword match="ServerRequestInfoOperations" />
+ <keyword match="ServerRequestInterceptor" />
+ <keyword match="ServerRequestInterceptorOperations" />
+ <keyword match="ServerRuntimeException" />
+ <keyword match="ServerSocket" />
+ <keyword match="ServerSocketChannel" />
+ <keyword match="ServerSocketFactory" />
+ <keyword match="ServiceContext" />
+ <keyword match="ServiceContextHelper" />
+ <keyword match="ServiceContextHolder" />
+ <keyword match="ServiceContextListHelper" />
+ <keyword match="ServiceContextListHolder" />
+ <keyword match="ServiceDetail" />
+ <keyword match="ServiceDetailHelper" />
+ <keyword match="ServiceIdHelper" />
+ <keyword match="ServiceInformation" />
+ <keyword match="ServiceInformationHelper" />
+ <keyword match="ServiceInformationHolder" />
+ <keyword match="ServicePermission" />
+ <keyword match="ServiceRegistry" />
+
+ <keyword match="ServiceUI" />
+ <keyword match="ServiceUIFactory" />
+ <keyword match="ServiceUnavailableException" />
+ <keyword match="Set" />
+ <keyword match="SetOfIntegerSyntax" />
+ <keyword match="SetOverrideType" />
+ <keyword match="SetOverrideTypeHelper" />
+ <keyword match="Severity" />
+ <keyword match="Shape" />
+ <keyword match="ShapeGraphicAttribute" />
+ <keyword match="SheetCollate" />
+ <keyword match="Short" />
+ <keyword match="ShortBuffer" />
+ <keyword match="ShortBufferException" />
+ <keyword match="ShortHolder" />
+ <keyword match="ShortLookupTable" />
+ <keyword match="ShortMessage" />
+ <keyword match="ShortSeqHelper" />
+ <keyword match="ShortSeqHolder" />
+ <keyword match="Sides" />
+ <keyword match="Signature" />
+ <keyword match="SignatureException" />
+ <keyword match="SignatureSpi" />
+ <keyword match="SignedObject" />
+ <keyword match="Signer" />
+ <keyword match="SimpleAttributeSet" />
+ <keyword match="SimpleBeanInfo" />
+ <keyword match="SimpleDateFormat" />
+ <keyword match="SimpleDoc" />
+ <keyword match="SimpleFormatter" />
+ <keyword match="SimpleTimeZone" />
+ <keyword match="SinglePixelPackedSampleModel" />
+ <keyword match="SingleSelectionModel" />
+ <keyword match="Size2DSyntax" />
+ <keyword match="SizeLimitExceededException" />
+ <keyword match="SizeRequirements" />
+ <keyword match="SizeSequence" />
+ <keyword match="Skeleton" />
+ <keyword match="SkeletonMismatchException" />
+ <keyword match="SkeletonNotFoundException" />
+ <keyword match="SliderUI" />
+ <keyword match="Socket" />
+ <keyword match="SocketAddress" />
+ <keyword match="SocketChannel" />
+ <keyword match="SocketException" />
+ <keyword match="SocketFactory" />
+ <keyword match="SocketHandler" />
+ <keyword match="SocketImpl" />
+ <keyword match="SocketImplFactory" />
+ <keyword match="SocketOptions" />
+ <keyword match="SocketPermission" />
+ <keyword match="SocketSecurityException" />
+ <keyword match="SocketTimeoutException" />
+ <keyword match="SoftBevelBorder" />
+ <keyword match="SoftReference" />
+ <keyword match="SortedMap" />
+ <keyword match="SortedSet" />
+ <keyword match="SortingFocusTraversalPolicy" />
+ <keyword match="Soundbank" />
+ <keyword match="SoundbankReader" />
+ <keyword match="SoundbankResource" />
+ <keyword match="Source" />
+ <keyword match="SourceDataLine" />
+ <keyword match="SourceLocator" />
+ <keyword match="SpinnerDateModel" />
+ <keyword match="SpinnerListModel" />
+ <keyword match="SpinnerModel" />
+ <keyword match="SpinnerNumberModel" />
+ <keyword match="SpinnerUI" />
+ <keyword match="SplitPaneUI" />
+ <keyword match="Spring" />
+ <keyword match="SpringLayout" />
+
+ <keyword match="SQLData" />
+ <keyword match="SQLException" />
+ <keyword match="SQLInput" />
+ <keyword match="SQLOutput" />
+ <keyword match="SQLPermission" />
+ <keyword match="SQLWarning" />
+ <keyword match="SSLContext" />
+ <keyword match="SSLContextSpi" />
+ <keyword match="SSLException" />
+ <keyword match="SSLHandshakeException" />
+ <keyword match="SSLKeyException" />
+ <keyword match="SSLPeerUnverifiedException" />
+ <keyword match="SSLPermission" />
+ <keyword match="SSLProtocolException" />
+ <keyword match="SSLServerSocket" />
+ <keyword match="SSLServerSocketFactory" />
+ <keyword match="SSLSession" />
+ <keyword match="SSLSessionBindingEvent" />
+ <keyword match="SSLSessionBindingListener" />
+ <keyword match="SSLSessionContext" />
+ <keyword match="SSLSocket" />
+ <keyword match="SSLSocketFactory" />
+ <keyword match="Stack" />
+ <keyword match="StackOverflowError" />
+ <keyword match="StackTraceElement" />
+ <keyword match="StartTlsRequest" />
+ <keyword match="StartTlsResponse" />
+ <keyword match="State" />
+ <keyword match="StateEdit" />
+ <keyword match="StateEditable" />
+ <keyword match="StateFactory" />
+ <keyword match="Statement" />
+ <keyword match="Statement" />
+ <keyword match="Streamable" />
+ <keyword match="StreamableValue" />
+ <keyword match="StreamCorruptedException" />
+ <keyword match="StreamHandler" />
+ <keyword match="StreamPrintService" />
+ <keyword match="StreamPrintServiceFactory" />
+ <keyword match="StreamResult" />
+ <keyword match="StreamSource" />
+ <keyword match="StreamTokenizer" />
+ <keyword match="StrictMath" />
+ <keyword match="String" />
+ <keyword match="StringBuffer" />
+ <keyword match="StringBufferInputStream" />
+ <keyword match="StringCharacterIterator" />
+ <keyword match="StringContent" />
+ <keyword match="StringHolder" />
+ <keyword match="StringIndexOutOfBoundsException" />
+ <keyword match="StringNameHelper" />
+ <keyword match="StringReader" />
+ <keyword match="StringRefAddr" />
+ <keyword match="StringSelection" />
+ <keyword match="StringSeqHelper" />
+ <keyword match="StringSeqHolder" />
+ <keyword match="StringTokenizer" />
+ <keyword match="StringValueHelper" />
+ <keyword match="StringWriter" />
+ <keyword match="Stroke" />
+ <keyword match="Struct" />
+ <keyword match="StructMember" />
+ <keyword match="StructMemberHelper" />
+ <keyword match="Stub" />
+ <keyword match="StubDelegate" />
+ <keyword match="StubNotFoundException" />
+ <keyword match="Style" />
+ <keyword match="StyleConstants" />
+
+
+
+
+ <keyword match="StyleContext" />
+ <keyword match="StyledDocument" />
+ <keyword match="StyledEditorKit" />
+
+
+
+
+
+
+
+
+ <keyword match="StyleSheet" />
+
+
+ <keyword match="Subject" />
+ <keyword match="SubjectDomainCombiner" />
+ <keyword match="SUCCESSFUL" />
+ <keyword match="SupportedValuesAttribute" />
+ <keyword match="SwingConstants" />
+ <keyword match="SwingPropertyChangeSupport" />
+ <keyword match="SwingUtilities" />
+ <keyword match="SYNC_WITH_TRANSPORT" />
+ <keyword match="SyncFailedException" />
+ <keyword match="SyncScopeHelper" />
+ <keyword match="Synthesizer" />
+ <keyword match="SysexMessage" />
+ <keyword match="System" />
+ <keyword match="SYSTEM_EXCEPTION" />
+ <keyword match="SystemColor" />
+ <keyword match="SystemException" />
+ <keyword match="SystemFlavorMap" />
+ <keyword match="TabableView" />
+ <keyword match="TabbedPaneUI" />
+ <keyword match="TabExpander" />
+ <keyword match="TableCellEditor" />
+ <keyword match="TableCellRenderer" />
+ <keyword match="TableColumn" />
+ <keyword match="TableColumnModel" />
+ <keyword match="TableColumnModelEvent" />
+ <keyword match="TableColumnModelListener" />
+ <keyword match="TableHeaderUI" />
+ <keyword match="TableModel" />
+ <keyword match="TableModelEvent" />
+ <keyword match="TableModelListener" />
+ <keyword match="TableUI" />
+ <keyword match="TableView" />
+ <keyword match="TabSet" />
+ <keyword match="TabStop" />
+ <keyword match="TAG_ALTERNATE_IIOP_ADDRESS" />
+ <keyword match="TAG_CODE_SETS" />
+ <keyword match="TAG_INTERNET_IOP" />
+ <keyword match="TAG_JAVA_CODEBASE" />
+ <keyword match="TAG_MULTIPLE_COMPONENTS" />
+ <keyword match="TAG_ORB_TYPE" />
+ <keyword match="TAG_POLICIES" />
+ <keyword match="TagElement" />
+ <keyword match="TaggedComponent" />
+ <keyword match="TaggedComponentHelper" />
+ <keyword match="TaggedComponentHolder" />
+ <keyword match="TaggedProfile" />
+ <keyword match="TaggedProfileHelper" />
+ <keyword match="TaggedProfileHolder" />
+ <keyword match="TargetDataLine" />
+ <keyword match="TCKind" />
+ <keyword match="Templates" />
+ <keyword match="TemplatesHandler" />
+ <keyword match="Text" />
+ <keyword match="TextAction" />
+ <keyword match="TextArea" />
+ <keyword match="TextAttribute" />
+ <keyword match="TextComponent" />
+ <keyword match="TextEvent" />
+ <keyword match="TextField" />
+ <keyword match="TextHitInfo" />
+ <keyword match="TextInputCallback" />
+ <keyword match="TextLayout" />
+
+ <keyword match="TextListener" />
+ <keyword match="TextMeasurer" />
+ <keyword match="TextOutputCallback" />
+ <keyword match="TextSyntax" />
+ <keyword match="TextUI" />
+ <keyword match="TexturePaint" />
+ <keyword match="Thread" />
+ <keyword match="THREAD_POLICY_ID" />
+ <keyword match="ThreadDeath" />
+ <keyword match="ThreadGroup" />
+ <keyword match="ThreadLocal" />
+ <keyword match="ThreadPolicy" />
+ <keyword match="ThreadPolicyOperations" />
+ <keyword match="ThreadPolicyValue" />
+ <keyword match="Throwable" />
+ <keyword match="Tie" />
+ <keyword match="TileObserver" />
+ <keyword match="Time" />
+ <keyword match="TimeLimitExceededException" />
+ <keyword match="Timer" />
+ <keyword match="Timer" />
+ <keyword match="TimerTask" />
+ <keyword match="Timestamp" />
+ <keyword match="TimeZone" />
+ <keyword match="TitledBorder" />
+ <keyword match="ToolBarUI" />
+ <keyword match="Toolkit" />
+ <keyword match="ToolTipManager" />
+ <keyword match="ToolTipUI" />
+ <keyword match="TooManyListenersException" />
+ <keyword match="Track" />
+ <keyword match="TRANSACTION_REQUIRED" />
+ <keyword match="TRANSACTION_ROLLEDBACK" />
+ <keyword match="TransactionRequiredException" />
+ <keyword match="TransactionRolledbackException" />
+ <keyword match="TransactionService" />
+ <keyword match="Transferable" />
+ <keyword match="TransferHandler" />
+ <keyword match="TransformAttribute" />
+ <keyword match="Transformer" />
+ <keyword match="TransformerConfigurationException" />
+ <keyword match="TransformerException" />
+ <keyword match="TransformerFactory" />
+ <keyword match="TransformerFactoryConfigurationError" />
+ <keyword match="TransformerHandler" />
+ <keyword match="TRANSIENT" />
+ <keyword match="Transmitter" />
+ <keyword match="Transparency" />
+ <keyword match="TRANSPORT_RETRY" />
+ <keyword match="TreeCellEditor" />
+ <keyword match="TreeCellRenderer" />
+ <keyword match="TreeExpansionEvent" />
+ <keyword match="TreeExpansionListener" />
+ <keyword match="TreeMap" />
+ <keyword match="TreeModel" />
+ <keyword match="TreeModelEvent" />
+ <keyword match="TreeModelListener" />
+ <keyword match="TreeNode" />
+ <keyword match="TreePath" />
+ <keyword match="TreeSelectionEvent" />
+ <keyword match="TreeSelectionListener" />
+ <keyword match="TreeSelectionModel" />
+ <keyword match="TreeSet" />
+ <keyword match="TreeUI" />
+ <keyword match="TreeWillExpandListener" />
+ <keyword match="TrustAnchor" />
+ <keyword match="TrustManager" />
+ <keyword match="TrustManagerFactory" />
+ <keyword match="TrustManagerFactorySpi" />
+ <keyword match="TypeCode" />
+ <keyword match="TypeCodeHolder" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatchHelper" />
+ <keyword match="TypeMismatchHelper" />
+ <keyword match="Types" />
+ <keyword match="UID" />
+ <keyword match="UIDefaults" />
+
+
+
+
+ <keyword match="UIManager" />
+
+ <keyword match="UIResource" />
+ <keyword match="ULongLongSeqHelper" />
+ <keyword match="ULongLongSeqHolder" />
+ <keyword match="ULongSeqHelper" />
+ <keyword match="ULongSeqHolder" />
+ <keyword match="UndeclaredThrowableException" />
+ <keyword match="UndoableEdit" />
+ <keyword match="UndoableEditEvent" />
+ <keyword match="UndoableEditListener" />
+ <keyword match="UndoableEditSupport" />
+ <keyword match="UndoManager" />
+ <keyword match="UnexpectedException" />
+ <keyword match="UnicastRemoteObject" />
+ <keyword match="UnionMember" />
+ <keyword match="UnionMemberHelper" />
+ <keyword match="UNKNOWN" />
+ <keyword match="UnknownEncoding" />
+ <keyword match="UnknownEncodingHelper" />
+ <keyword match="UnknownError" />
+ <keyword match="UnknownException" />
+ <keyword match="UnknownGroupException" />
+ <keyword match="UnknownHostException" />
+ <keyword match="UnknownHostException" />
+ <keyword match="UnknownObjectException" />
+ <keyword match="UnknownServiceException" />
+ <keyword match="UnknownUserException" />
+ <keyword match="UnknownUserExceptionHelper" />
+ <keyword match="UnknownUserExceptionHolder" />
+ <keyword match="UnmappableCharacterException" />
+ <keyword match="UnmarshalException" />
+ <keyword match="UnmodifiableSetException" />
+ <keyword match="UnrecoverableKeyException" />
+ <keyword match="Unreferenced" />
+ <keyword match="UnresolvedAddressException" />
+ <keyword match="UnresolvedPermission" />
+ <keyword match="UnsatisfiedLinkError" />
+ <keyword match="UnsolicitedNotification" />
+ <keyword match="UnsolicitedNotificationEvent" />
+ <keyword match="UnsolicitedNotificationListener" />
+ <keyword match="UNSUPPORTED_POLICY" />
+ <keyword match="UNSUPPORTED_POLICY_VALUE" />
+ <keyword match="UnsupportedAddressTypeException" />
+ <keyword match="UnsupportedAudioFileException" />
+ <keyword match="UnsupportedCallbackException" />
+ <keyword match="UnsupportedCharsetException" />
+ <keyword match="UnsupportedClassVersionError" />
+ <keyword match="UnsupportedEncodingException" />
+ <keyword match="UnsupportedFlavorException" />
+ <keyword match="UnsupportedLookAndFeelException" />
+ <keyword match="UnsupportedOperationException" />
+ <keyword match="URI" />
+ <keyword match="URIException" />
+ <keyword match="URIResolver" />
+ <keyword match="URISyntax" />
+ <keyword match="URISyntaxException" />
+ <keyword match="URL" />
+ <keyword match="URLClassLoader" />
+ <keyword match="URLConnection" />
+ <keyword match="URLDecoder" />
+ <keyword match="URLEncoder" />
+ <keyword match="URLStreamHandler" />
+ <keyword match="URLStreamHandlerFactory" />
+ <keyword match="URLStringHelper" />
+ <keyword match="USER_EXCEPTION" />
+ <keyword match="UserException" />
+ <keyword match="UShortSeqHelper" />
+ <keyword match="UShortSeqHolder" />
+ <keyword match="UTFDataFormatException" />
+ <keyword match="Util" />
+ <keyword match="UtilDelegate" />
+ <keyword match="Utilities" />
+ <keyword match="ValueBase" />
+ <keyword match="ValueBaseHelper" />
+ <keyword match="ValueBaseHolder" />
+ <keyword match="ValueFactory" />
+ <keyword match="ValueHandler" />
+ <keyword match="ValueMember" />
+ <keyword match="ValueMemberHelper" />
+ <keyword match="VariableHeightLayoutCache" />
+ <keyword match="Vector" />
+ <keyword match="VerifyError" />
+ <keyword match="VersionSpecHelper" />
+ <keyword match="VetoableChangeListener" />
+ <keyword match="VetoableChangeListenerProxy" />
+ <keyword match="VetoableChangeSupport" />
+ <keyword match="View" />
+ <keyword match="ViewFactory" />
+ <keyword match="ViewportLayout" />
+ <keyword match="ViewportUI" />
+ <keyword match="VirtualMachineError" />
+ <keyword match="Visibility" />
+ <keyword match="VisibilityHelper" />
+ <keyword match="VM_ABSTRACT" />
+ <keyword match="VM_CUSTOM" />
+ <keyword match="VM_NONE" />
+ <keyword match="VM_TRUNCATABLE" />
+ <keyword match="VMID" />
+ <keyword match="VoiceStatus" />
+ <keyword match="Void" />
+ <keyword match="VolatileImage" />
+ <keyword match="WCharSeqHelper" />
+ <keyword match="WCharSeqHolder" />
+ <keyword match="WeakHashMap" />
+ <keyword match="WeakReference" />
+ <keyword match="Window" />
+ <keyword match="WindowAdapter" />
+ <keyword match="WindowConstants" />
+ <keyword match="WindowEvent" />
+ <keyword match="WindowFocusListener" />
+ <keyword match="WindowListener" />
+ <keyword match="WindowStateListener" />
+ <keyword match="WrappedPlainView" />
+ <keyword match="WritableByteChannel" />
+ <keyword match="WritableRaster" />
+ <keyword match="WritableRenderedImage" />
+ <keyword match="WriteAbortedException" />
+ <keyword match="Writer" />
+ <keyword match="WrongAdapter" />
+ <keyword match="WrongAdapterHelper" />
+ <keyword match="WrongPolicy" />
+ <keyword match="WrongPolicyHelper" />
+ <keyword match="WrongTransaction" />
+ <keyword match="WrongTransactionHelper" />
+ <keyword match="WrongTransactionHolder" />
+ <keyword match="WStringSeqHelper" />
+ <keyword match="WStringSeqHolder" />
+ <keyword match="WStringValueHelper" />
+ <keyword match="X500Principal" />
+ <keyword match="X500PrivateCredential" />
+ <keyword match="X509Certificate" />
+ <keyword match="X509Certificate" />
+ <keyword match="X509CertSelector" />
+ <keyword match="X509CRL" />
+ <keyword match="X509CRLEntry" />
+ <keyword match="X509CRLSelector" />
+ <keyword match="X509EncodedKeySpec" />
+ <keyword match="X509Extension" />
+ <keyword match="X509KeyManager" />
+ <keyword match="X509TrustManager" />
+ <keyword match="XAConnection" />
+ <keyword match="XADataSource" />
+ <keyword match="XAException" />
+ <keyword match="XAResource" />
+ <keyword match="Xid" />
+ <keyword match="XMLDecoder" />
+ <keyword match="XMLEncoder" />
+ <keyword match="XMLFilter" />
+ <keyword match="XMLFilterImpl" />
+ <keyword match="XMLFormatter" />
+ <keyword match="XMLReader" />
+ <keyword match="XMLReaderAdapter" />
+ <keyword match="XMLReaderFactory" />
+ <keyword match="ZipEntry" />
+ <keyword match="ZipException" />
+ <keyword match="ZipFile" />
+ <keyword match="ZipInputStream" />
+ <keyword match="ZipOutputStream" />
+ <keyword match="ZoneView" />
+ <keyword match="_BindingIteratorImplBase" />
+ <keyword match="_BindingIteratorStub" />
+ <keyword match="_DynAnyFactoryStub" />
+ <keyword match="_DynAnyStub" />
+ <keyword match="_DynArrayStub" />
+ <keyword match="_DynEnumStub" />
+ <keyword match="_DynFixedStub" />
+ <keyword match="_DynSequenceStub" />
+ <keyword match="_DynStructStub" />
+ <keyword match="_DynUnionStub" />
+ <keyword match="_DynValueStub" />
+ <keyword match="_IDLTypeStub" />
+ <keyword match="_NamingContextExtStub" />
+ <keyword match="_NamingContextImplBase" />
+ <keyword match="_NamingContextStub" />
+ <keyword match="_PolicyStub" />
+ <keyword match="_Remote_Stub" />
+ <keyword match="_ServantActivatorStub" />
+ <keyword match="_ServantLocatorStub" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/javascript.xml b/library/Text_Highlighter/javascript.xml
new file mode 100644
index 000000000..e478515a7
--- /dev/null
+++ b/library/Text_Highlighter/javascript.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>
+<!-- $Id: javascript.xml,v 1.3 2008-01-01 23:43:36 ssttoo Exp $ -->
+
+<highlight lang="javascript" case = "no">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\\\|\\&quot;|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="comment" start="\/\/" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="number" match="0x\d*|\d*\.?\d+" innerClass="number"/>
+
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case = "yes">
+ <keyword match="String"/>
+ <keyword match="Array"/>
+ <keyword match="RegExp"/>
+ <keyword match="Function"/>
+ <keyword match="Math"/>
+ <keyword match="Number"/>
+ <keyword match="Date"/>
+ <keyword match="Image"/>
+ <keyword match="window"/>
+ <keyword match="document"/>
+ <keyword match="navigator"/>
+ <keyword match="onAbort"/>
+ <keyword match="onBlur"/>
+ <keyword match="onChange"/>
+ <keyword match="onClick"/>
+ <keyword match="onDblClick"/>
+ <keyword match="onDragDrop"/>
+ <keyword match="onError"/>
+ <keyword match="onFocus"/>
+ <keyword match="onKeyDown"/>
+ <keyword match="onKeyPress"/>
+ <keyword match="onKeyUp"/>
+ <keyword match="onLoad"/>
+ <keyword match="onMouseDown"/>
+ <keyword match="onMouseOver"/>
+ <keyword match="onMouseOut"/>
+ <keyword match="onMouseMove"/>
+ <keyword match="onMouseUp"/>
+ <keyword match="onMove"/>
+ <keyword match="onReset"/>
+ <keyword match="onResize"/>
+ <keyword match="onSelect"/>
+ <keyword match="onSubmit"/>
+ <keyword match="onUnload"/>
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="break"/>
+ <keyword match="continue"/>
+ <keyword match="do"/>
+ <keyword match="while"/>
+ <keyword match="do"/>
+ <keyword match="export"/>
+ <keyword match="for"/>
+ <keyword match="in"/>
+ <keyword match="if"/>
+ <keyword match="else"/>
+ <keyword match="import"/>
+ <keyword match="return"/>
+ <keyword match="label"/>
+ <keyword match="switch"/>
+ <keyword match="case"/>
+ <keyword match="var"/>
+ <keyword match="with"/>
+ <keyword match="delete"/>
+ <keyword match="new"/>
+ <keyword match="this"/>
+ <keyword match="typeof"/>
+ <keyword match="void"/>
+ <keyword match="abstract"/>
+ <keyword match="boolean"/>
+ <keyword match="byte"/>
+ <keyword match="catch"/>
+ <keyword match="char"/>
+ <keyword match="class"/>
+ <keyword match="const"/>
+ <keyword match="continue"/>
+ <keyword match="debugger"/>
+ <keyword match="default"/>
+ <keyword match="double"/>
+ <keyword match="enum"/>
+ <keyword match="extends"/>
+ <keyword match="false"/>
+ <keyword match="final"/>
+ <keyword match="finally"/>
+ <keyword match="float"/>
+ <keyword match="function"/>
+ <keyword match="implements"/>
+ <keyword match="goto"/>
+ <keyword match="in"/>
+ <keyword match="instanceof"/>
+ <keyword match="int"/>
+ <keyword match="interface"/>
+ <keyword match="long"/>
+ <keyword match="native"/>
+ <keyword match="null"/>
+ <keyword match="package"/>
+ <keyword match="private"/>
+ <keyword match="protected"/>
+ <keyword match="public"/>
+ <keyword match="short"/>
+ <keyword match="static"/>
+ <keyword match="super"/>
+ <keyword match="synchronized"/>
+ <keyword match="throw"/>
+ <keyword match="throws"/>
+ <keyword match="transient"/>
+ <keyword match="true"/>
+ <keyword match="try"/>
+ <keyword match="volatile"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/mysql.xml b/library/Text_Highlighter/mysql.xml
new file mode 100644
index 000000000..082b62795
--- /dev/null
+++ b/library/Text_Highlighter/mysql.xml
@@ -0,0 +1,424 @@
+<?xml version="1.0"?>
+<!-- $Id: mysql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="mysql" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="qidentifier" delimClass="quotes" innerClass="identifier"
+ start="`" end="`" />
+
+ <region name="mlcomment" delimClass="comment" innerClass="comment"
+ start="\/\*" end="\*\/" />
+
+ <block name="comment" match="(#|--\s).*" innerClass="comment" />
+
+ <block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code"
+ start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strdouble"/>
+ </block>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved"
+ case="no">
+ <keyword match="action" />
+ <keyword match="add" />
+ <keyword match="aggregate" />
+ <keyword match="all" />
+ <keyword match="alter" />
+ <keyword match="after" />
+ <keyword match="and" />
+ <keyword match="as" />
+ <keyword match="asc" />
+ <keyword match="avg" />
+ <keyword match="avg_row_length" />
+ <keyword match="auto_increment" />
+ <keyword match="between" />
+ <keyword match="bigint" />
+ <keyword match="bit" />
+
+ <keyword match="binary" />
+ <keyword match="blob" />
+ <keyword match="bool" />
+ <keyword match="both" />
+ <keyword match="by" />
+ <keyword match="cascade" />
+ <keyword match="case" />
+ <keyword match="char" />
+ <keyword match="character" />
+ <keyword match="change" />
+ <keyword match="check" />
+ <keyword match="checksum" />
+ <keyword match="column" />
+ <keyword match="columns" />
+ <keyword match="comment" />
+ <keyword match="constraint" />
+ <keyword match="create" />
+
+ <keyword match="cross" />
+ <keyword match="current_date" />
+ <keyword match="current_time" />
+ <keyword match="current_timestamp" />
+ <keyword match="data" />
+ <keyword match="database" />
+ <keyword match="databases" />
+ <keyword match="date" />
+ <keyword match="datetime" />
+ <keyword match="day" />
+ <keyword match="day_hour" />
+ <keyword match="day_minute" />
+ <keyword match="day_second" />
+ <keyword match="dayofmonth" />
+ <keyword match="dayofweek" />
+ <keyword match="dayofyear" />
+ <keyword match="dec" />
+
+ <keyword match="decimal" />
+ <keyword match="default" />
+ <keyword match="delayed" />
+ <keyword match="delay_key_write" />
+ <keyword match="delete" />
+ <keyword match="desc" />
+ <keyword match="describe" />
+ <keyword match="distinct" />
+ <keyword match="distinctrow" />
+ <keyword match="double" />
+ <keyword match="drop" />
+ <keyword match="end" />
+ <keyword match="else" />
+ <keyword match="escape" />
+ <keyword match="escaped" />
+ <keyword match="enclosed" />
+ <keyword match="enum" />
+
+ <keyword match="explain" />
+ <keyword match="exists" />
+ <keyword match="fields" />
+ <keyword match="file" />
+ <keyword match="first" />
+ <keyword match="float" />
+ <keyword match="float4" />
+ <keyword match="float8" />
+ <keyword match="flush" />
+ <keyword match="foreign" />
+ <keyword match="from" />
+ <keyword match="for" />
+ <keyword match="full" />
+ <keyword match="function" />
+ <keyword match="global" />
+ <keyword match="grant" />
+ <keyword match="grants" />
+
+ <keyword match="group" />
+ <keyword match="having" />
+ <keyword match="heap" />
+ <keyword match="high_priority" />
+ <keyword match="hour" />
+ <keyword match="hour_minute" />
+ <keyword match="hour_second" />
+ <keyword match="hosts" />
+ <keyword match="identified" />
+ <keyword match="ignore" />
+ <keyword match="in" />
+ <keyword match="index" />
+ <keyword match="infile" />
+ <keyword match="inner" />
+ <keyword match="insert" />
+ <keyword match="insert_id" />
+ <keyword match="int" />
+
+ <keyword match="integer" />
+ <keyword match="interval" />
+ <keyword match="int1" />
+ <keyword match="int2" />
+ <keyword match="int3" />
+ <keyword match="int4" />
+ <keyword match="int8" />
+ <keyword match="into" />
+ <keyword match="if" />
+ <keyword match="is" />
+ <keyword match="isam" />
+ <keyword match="join" />
+ <keyword match="key" />
+ <keyword match="keys" />
+ <keyword match="kill" />
+ <keyword match="last_insert_id" />
+ <keyword match="leading" />
+
+ <keyword match="left" />
+ <keyword match="length" />
+ <keyword match="like" />
+ <keyword match="lines" />
+ <keyword match="limit" />
+ <keyword match="load" />
+ <keyword match="local" />
+ <keyword match="lock" />
+ <keyword match="logs" />
+ <keyword match="long" />
+ <keyword match="longblob" />
+ <keyword match="longtext" />
+ <keyword match="low_priority" />
+ <keyword match="max" />
+ <keyword match="max_rows" />
+ <keyword match="match" />
+ <keyword match="mediumblob" />
+
+ <keyword match="mediumtext" />
+ <keyword match="mediumint" />
+ <keyword match="middleint" />
+ <keyword match="min_rows" />
+ <keyword match="minute" />
+ <keyword match="minute_second" />
+ <keyword match="modify" />
+ <keyword match="month" />
+ <keyword match="monthname" />
+ <keyword match="myisam" />
+ <keyword match="natural" />
+ <keyword match="numeric" />
+ <keyword match="no" />
+ <keyword match="not" />
+ <keyword match="null" />
+ <keyword match="on" />
+ <keyword match="optimize" />
+
+ <keyword match="option" />
+ <keyword match="optionally" />
+ <keyword match="or" />
+ <keyword match="order" />
+ <keyword match="outer" />
+ <keyword match="outfile" />
+ <keyword match="pack_keys" />
+ <keyword match="partial" />
+ <keyword match="password" />
+ <keyword match="precision" />
+ <keyword match="primary" />
+ <keyword match="procedure" />
+ <keyword match="process" />
+ <keyword match="processlist" />
+ <keyword match="privileges" />
+ <keyword match="read" />
+ <keyword match="real" />
+
+ <keyword match="references" />
+ <keyword match="reload" />
+ <keyword match="regexp" />
+ <keyword match="rename" />
+ <keyword match="replace" />
+ <keyword match="restrict" />
+ <keyword match="returns" />
+ <keyword match="revoke" />
+ <keyword match="rlike" />
+ <keyword match="row" />
+ <keyword match="rows" />
+ <keyword match="second" />
+ <keyword match="select" />
+ <keyword match="set" />
+ <keyword match="show" />
+ <keyword match="shutdown" />
+ <keyword match="smallint" />
+
+ <keyword match="soname" />
+ <keyword match="sql_big_tables" />
+ <keyword match="sql_big_selects" />
+ <keyword match="sql_low_priority_updates" />
+ <keyword match="sql_log_off" />
+ <keyword match="sql_log_update" />
+ <keyword match="sql_select_limit" />
+ <keyword match="sql_small_result" />
+ <keyword match="sql_big_result" />
+ <keyword match="sql_warnings" />
+ <keyword match="straight_join" />
+ <keyword match="starting" />
+ <keyword match="status" />
+ <keyword match="string" />
+ <keyword match="table" />
+ <keyword match="tables" />
+ <keyword match="temporary" />
+
+ <keyword match="terminated" />
+ <keyword match="text" />
+ <keyword match="then" />
+ <keyword match="time" />
+ <keyword match="timestamp" />
+ <keyword match="tinyblob" />
+ <keyword match="tinytext" />
+ <keyword match="tinyint" />
+ <keyword match="trailing" />
+ <keyword match="to" />
+ <keyword match="type" />
+ <keyword match="use" />
+ <keyword match="using" />
+ <keyword match="unique" />
+ <keyword match="unlock" />
+ <keyword match="unsigned" />
+ <keyword match="update" />
+
+ <keyword match="usage" />
+ <keyword match="values" />
+ <keyword match="varchar" />
+ <keyword match="variables" />
+ <keyword match="varying" />
+ <keyword match="varbinary" />
+ <keyword match="with" />
+ <keyword match="write" />
+ <keyword match="when" />
+ <keyword match="where" />
+ <keyword match="year" />
+ <keyword match="year_month" />
+ <keyword match="zerofill" />
+ </keywords>
+
+ <keywords name="function" inherits="possiblefunction" innerClass="reserved"
+ case="no" otherwise="identifier">
+ <keyword match="ABS" />
+ <keyword match="ACOS" />
+ <keyword match="ADDDATE" />
+ <keyword match="ASCII" />
+ <keyword match="ASIN" />
+ <keyword match="ATAN" />
+ <keyword match="ATAN2" />
+ <keyword match="AVG" />
+ <keyword match="BENCHMARK" />
+ <keyword match="BIN" />
+ <keyword match="CEILING" />
+ <keyword match="CHAR" />
+ <keyword match="COALESCE" />
+ <keyword match="CONCAT" />
+ <keyword match="CONV" />
+ <keyword match="COS" />
+ <keyword match="COT" />
+ <keyword match="COUNT" />
+ <keyword match="CURDATE" />
+ <keyword match="CURTIME" />
+ <keyword match="DATABASE" />
+ <keyword match="DAYNAME" />
+ <keyword match="DAYOFMONTH" />
+ <keyword match="DAYOFWEEK" />
+ <keyword match="DAYOFYEAR" />
+ <keyword match="DECODE" />
+ <keyword match="DEGREES" />
+ <keyword match="ELT" />
+
+ <keyword match="ENCODE" />
+ <keyword match="ENCRYPT" />
+ <keyword match="EXP" />
+ <keyword match="EXTRACT" />
+
+ <keyword match="EXTRACT" />
+ <keyword match="FIELD" />
+ <keyword match="FLOOR" />
+ <keyword match="FORMAT" />
+ <keyword match="GREATEST" />
+ <keyword match="HEX" />
+ <keyword match="HOUR" />
+ <keyword match="IF" />
+ <keyword match="IFNULL" />
+ <keyword match="INSERT" />
+ <keyword match="INSTR" />
+ <keyword match="INTERVAL" />
+
+ <keyword match="ISNULL" />
+ <keyword match="LCASE" />
+ <keyword match="LEAST" />
+ <keyword match="LEFT" />
+ <keyword match="LENGTH" />
+ <keyword match="LOCATE" />
+
+ <keyword match="LOCATE" />
+ <keyword match="LOG" />
+ <keyword match="LOG10" />
+ <keyword match="LOWER" />
+ <keyword match="LPAD" />
+ <keyword match="LTRIM" />
+ <keyword match="MAX" />
+ <keyword match="MD5" />
+ <keyword match="MID" />
+ <keyword match="MIN" />
+
+ <keyword match="MINUTE" />
+ <keyword match="MOD" />
+ <keyword match="MONTH" />
+ <keyword match="MONTHNAME" />
+ <keyword match="NOW" />
+ <keyword match="NULLIF" />
+ <keyword match="OCT" />
+ <keyword match="ORD" />
+ <keyword match="PASSWORD" />
+ <keyword match="PI" />
+ <keyword match="POSITION" />
+
+ <keyword match="POW" />
+ <keyword match="POWER" />
+ <keyword match="prepare" />
+ <keyword match="QUARTER" />
+ <keyword match="RADIANS" />
+ <keyword match="RAND" />
+ <keyword match="REPEAT" />
+ <keyword match="REPLACE" />
+ <keyword match="REVERSE" />
+ <keyword match="RIGHT" />
+ <keyword match="ROUND" />
+
+ <keyword match="ROUND" />
+ <keyword match="RPAD" />
+
+ <keyword match="RTRIM" />
+ <keyword match="SECOND" />
+ <keyword match="SIGN" />
+ <keyword match="SIN" />
+ <keyword match="SOUNDEX" />
+ <keyword match="SPACE" />
+ <keyword match="SQRT" />
+ <keyword match="STD" />
+ <keyword match="STDDEV" />
+ <keyword match="STRCMP" />
+ <keyword match="SUBDATE" />
+ <keyword match="SUBSTRING" />
+
+ <keyword match="SUBSTRING" />
+ <keyword match="SUM" />
+ <keyword match="SYSDATE" />
+ <keyword match="TAN" />
+
+ <keyword match="TRIM" />
+ <keyword match="TRUNCATE" />
+ <keyword match="UCASE" />
+ <keyword match="UPPER" />
+ <keyword match="USER" />
+ <keyword match="VERSION" />
+ <keyword match="WEEK" />
+ <keyword match="WEEKDAY" />
+ <keyword match="YEAR" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/perl.xml b/library/Text_Highlighter/perl.xml
new file mode 100644
index 000000000..54f8835ea
--- /dev/null
+++ b/library/Text_Highlighter/perl.xml
@@ -0,0 +1,439 @@
+<?xml version="1.0"?>
+<!-- $Id: perl.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="perl" case = "yes">
+
+ <authors>
+ <author name="Mariusz 'kg' Jakubowski" email="kg@alternatywa.info" jid="kg@chrome.pl"/>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>This highlighter is EXPERIMENTAL, so that it may work incorrectly.
+Most rules were created by Mariusz Jakubowski, and extended by me.
+My knowledge of Perl is poor, and Perl syntax seems too
+complicated to me.</comment>
+
+ <default innerClass="code"/>
+
+ <block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
+ <partClass index="1" innerClass="special" />
+ <partClass index="2" innerClass="string" />
+ </block>
+
+ <region name="pod" innerClass="comment" start="/^=\w+/m" end="/^=cut[^\n]*/m" startBOL="yes" endBOL="yes"/>
+
+ <!--
+ brackets
+ -->
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <!--
+ use smth
+ -->
+ <block name="usestatement" match="(use)\s+([\w:]*)" innerClass="special">
+ <partClass index="1" innerClass="reserved" />
+ <partClass index="2" innerClass="special" />
+ </block>
+
+ <block name="packagereference" match="[&amp; ](\w{2,}::)+\w{2,}" innerClass="special"/>
+
+ <region name="q-w-q-statement"
+ start="/\b(q[wq]\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+
+ </region>
+
+ <region name="qstatement"
+ start="/\b(q\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ </region>
+
+ <!--
+ comments
+ -->
+ <block name="comment" match="#.*" innerClass="comment" />
+
+
+ <!--
+ regexpr
+ FIXME: this should be rewrited
+ -->
+ <block name="dblregexprver1" match="/(s|tr) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2)((\\.|[^\\])*?)(\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ <partClass index="6" innerClass="string" />
+ <partClass index="8" innerClass="quotes" />
+ </block>
+
+ <block name="dblregexprver2" match="/(m) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ </block>
+
+
+ <region name="regexp" start=" \/" end="\/[cgimosx]*" innerClass="string" delimClass="quotes" case="yes">
+ <contains block="reescaped"/>
+ </region>
+
+ <block name="reescaped" match="\\\/" innerClass="string" contained="yes">
+ <onlyin region="regexp"/>
+ </block>
+
+ <!--
+ variables
+ FIXME: @{...}
+ -->
+ <block name="bracketsvars" match="([a-z1-9_]+)(\s*=>)" innerClass="string" contained="yes" case="no">
+ <partClass index="1" innerClass="string" />
+ <partClass index="2" innerClass="code" />
+ <onlyin region="brackets"/>
+ </block>
+
+ <block name="specialvar" match="\$#?[1-9'`@!]" innerClass="var"/>
+
+ <block name="var" match="(\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+ <block name="containedvar" match="\$([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+
+ <!-- not shure what is this, but the Perlers do it :) -->
+ <block name="var2" match="(&amp;|\w+)'[\w_']+\b" innerClass="var" case="no"/>
+
+ <block name="classvar" match="(\{)([a-z1-9]+)(\})" innerClass="var" case="no">
+ <partClass index="1" innerClass="brackets" />
+ <partClass index="2" innerClass="var" />
+ <partClass index="3" innerClass="brackets" />
+ </block>
+
+ <block name="curlyvar" match="[\$@%]#?\{[a-z1-9]+\}" innerClass="var" case="no"/>
+
+ <!--
+ quotes
+ -->
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="qstatement"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{@]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="q-w-q-statement"/>
+ </block>
+
+ <!-- logical op.
+ <block name="logic" match="\|\||&amp;&amp;" innerClass="reserved" contained="yes"/>-->
+
+ <!--
+ identifiers
+ -->
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <!--
+ numbers
+ -->
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+ <!--
+ http://www.perldoc.com/perl5.6/pod/perlfunc.html
+ Alphabetical Listing of Perl Functions
+ -->
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="abs"/>
+ <keyword match="accept"/>
+ <keyword match="alarm"/>
+ <keyword match="atan2"/>
+
+ <keyword match="bind"/>
+ <keyword match="binmode"/>
+ <keyword match="bless"/>
+
+ <keyword match="caller"/>
+ <keyword match="chdir"/>
+ <keyword match="chmod"/>
+ <keyword match="chomp"/>
+ <keyword match="chop"/>
+ <keyword match="chown"/>
+ <keyword match="chr"/>
+ <keyword match="chroot"/>
+ <keyword match="close"/>
+ <keyword match="closedir"/>
+ <keyword match="connect"/>
+ <keyword match="continue"/>
+ <keyword match="cos"/>
+ <keyword match="crypt"/>
+
+ <keyword match="dbmclose"/>
+ <keyword match="dbmopen"/>
+ <keyword match="defined"/>
+ <keyword match="delete"/>
+ <keyword match="die"/>
+ <keyword match="do"/>
+ <keyword match="dump"/>
+
+ <keyword match="each"/>
+ <keyword match="endgrent"/>
+ <keyword match="endhostent"/>
+ <keyword match="endnetent"/>
+ <keyword match="endprotoent"/>
+ <keyword match="endpwent"/>
+ <keyword match="endservent"/>
+ <keyword match="eof"/>
+ <keyword match="eval"/>
+ <keyword match="exec"/>
+ <keyword match="exists"/>
+ <keyword match="exit"/>
+ <keyword match="exp"/>
+
+ <keyword match="fcntl"/>
+ <keyword match="fileno"/>
+ <keyword match="flock"/>
+ <keyword match="fork"/>
+ <keyword match="format"/>
+ <keyword match="formline"/>
+
+ <keyword match="getc"/>
+ <keyword match="getgrent"/>
+ <keyword match="getgrgid"/>
+ <keyword match="getgrnam"/>
+ <keyword match="gethostbyaddr"/>
+ <keyword match="gethostbyname"/>
+ <keyword match="gethostent"/>
+ <keyword match="getlogin"/>
+ <keyword match="getnetbyaddr"/>
+ <keyword match="getnetbyname"/>
+ <keyword match="getnetent"/>
+ <keyword match="getpeername"/>
+ <keyword match="getpgrp"/>
+ <keyword match="getppid"/>
+ <keyword match="getpriority"/>
+ <keyword match="getprotobyname"/>
+ <keyword match="getprotobynumber"/>
+ <keyword match="getprotoent"/>
+ <keyword match="getpwent"/>
+ <keyword match="getpwnam"/>
+ <keyword match="getpwuid"/>
+ <keyword match="getservbyname"/>
+ <keyword match="getservbyport"/>
+ <keyword match="getservent"/>
+ <keyword match="getsockname"/>
+ <keyword match="getsockopt"/>
+ <keyword match="glob"/>
+ <keyword match="gmtime"/>
+ <keyword match="goto"/>
+ <keyword match="grep"/>
+
+ <keyword match="hex"/>
+
+ <keyword match="import"/>
+ <keyword match="index"/>
+ <keyword match="int"/>
+ <keyword match="ioctl"/>
+
+ <keyword match="join"/>
+
+ <keyword match="keys"/>
+ <keyword match="kill"/>
+
+ <keyword match="last"/>
+ <keyword match="lc"/>
+ <keyword match="lcfirst"/>
+ <keyword match="length"/>
+ <keyword match="link"/>
+ <keyword match="listen"/>
+ <keyword match="local"/>
+ <keyword match="localtime"/>
+ <keyword match="lock"/>
+ <keyword match="log"/>
+ <keyword match="lstat"/>
+
+ <!--<keyword match="m"/>-->
+ <keyword match="map"/>
+ <keyword match="mkdir"/>
+ <keyword match="msgctl"/>
+ <keyword match="msgget"/>
+ <keyword match="msgrcv"/>
+ <keyword match="msgsnd"/>
+ <keyword match="my"/>
+
+ <keyword match="next"/>
+ <keyword match="no"/>
+
+ <keyword match="oct"/>
+ <keyword match="open"/>
+ <keyword match="opendir"/>
+ <keyword match="ord"/>
+ <keyword match="our"/>
+
+ <keyword match="pack"/>
+ <keyword match="package"/>
+ <keyword match="pipe"/>
+ <keyword match="pop"/>
+ <keyword match="pos"/>
+ <keyword match="print"/>
+ <keyword match="printf"/>
+ <keyword match="prototype"/>
+ <keyword match="push"/>
+
+ <!--<keyword match="q"/>
+ <keyword match="qq"/>
+ <keyword match="qr"/>-->
+ <keyword match="quotemeta"/>
+ <!--<keyword match="qw"/>
+ <keyword match="qx"/>-->
+
+ <keyword match="rand"/>
+ <keyword match="read"/>
+ <keyword match="readdir"/>
+ <keyword match="readline"/>
+ <keyword match="readlink"/>
+ <keyword match="readpipe"/>
+ <keyword match="recv"/>
+ <keyword match="redo"/>
+ <keyword match="ref"/>
+ <keyword match="rename"/>
+ <keyword match="require"/>
+ <keyword match="reset"/>
+ <keyword match="return"/>
+ <keyword match="reverse"/>
+ <keyword match="rewinddir"/>
+ <keyword match="rindex"/>
+ <keyword match="rmdir"/>
+
+ <!--<keyword match="s"/>-->
+ <keyword match="scalar"/>
+ <keyword match="seek"/>
+ <keyword match="seekdir"/>
+ <keyword match="select"/>
+ <keyword match="semctl"/>
+ <keyword match="semget"/>
+ <keyword match="semop"/>
+ <keyword match="send"/>
+ <keyword match="setgrent"/>
+ <keyword match="sethostent"/>
+ <keyword match="setnetent"/>
+ <keyword match="setpgrp"/>
+ <keyword match="setpriority"/>
+ <keyword match="setprotoent"/>
+ <keyword match="setpwent"/>
+ <keyword match="setservent"/>
+ <keyword match="setsockopt"/>
+ <keyword match="shift"/>
+ <keyword match="shmctl"/>
+ <keyword match="shmget"/>
+ <keyword match="shmread"/>
+ <keyword match="shmwrite"/>
+ <keyword match="shutdown"/>
+ <keyword match="sin"/>
+ <keyword match="sleep"/>
+ <keyword match="socket"/>
+ <keyword match="socketpair"/>
+ <keyword match="sort"/>
+ <keyword match="splice"/>
+ <keyword match="split"/>
+ <keyword match="sprintf"/>
+ <keyword match="sqrt"/>
+ <keyword match="srand"/>
+ <keyword match="stat"/>
+ <keyword match="study"/>
+ <keyword match="sub"/>
+ <keyword match="substr"/>
+ <keyword match="symlink"/>
+ <keyword match="syscall"/>
+ <keyword match="sysopen"/>
+ <keyword match="sysread"/>
+ <keyword match="sysseek"/>
+ <keyword match="system"/>
+ <keyword match="syswrite"/>
+
+ <keyword match="tell"/>
+ <keyword match="telldir"/>
+ <keyword match="tie"/>
+ <keyword match="tied"/>
+ <keyword match="time"/>
+ <keyword match="times"/>
+ <!--<keyword match="tr"/>-->
+ <keyword match="truncate"/>
+
+ <keyword match="uc"/>
+ <keyword match="ucfirst"/>
+ <keyword match="umask"/>
+ <keyword match="undef"/>
+ <keyword match="unlink"/>
+ <keyword match="unpack"/>
+ <keyword match="unshift"/>
+ <keyword match="untie"/>
+ <keyword match="use"/>
+ <keyword match="utime"/>
+
+ <keyword match="values"/>
+ <keyword match="vec"/>
+
+ <keyword match="wait"/>
+ <keyword match="waitpid"/>
+ <keyword match="wantarray"/>
+ <keyword match="warn"/>
+ <keyword match="write"/>
+
+ <keyword match="y"/>
+ </keywords>
+
+ <keywords name="missingreserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="new"/>
+ </keywords>
+
+
+ <keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="if"/>
+ <keyword match="else"/>
+ <keyword match="elsif"/>
+ <keyword match="while"/>
+ <keyword match="unless"/>
+ <keyword match="for"/>
+ <keyword match="foreach"/>
+ <keyword match="until"/>
+ <keyword match="do"/>
+ <keyword match="continue"/>
+ <keyword match="not"/>
+ <keyword match="or"/>
+ <keyword match="and"/>
+ <keyword match="eq"/>
+ <keyword match="ne"/>
+ <keyword match="gt"/>
+ <keyword match="lt"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/php.xml b/library/Text_Highlighter/php.xml
new file mode 100644
index 000000000..1b08ea203
--- /dev/null
+++ b/library/Text_Highlighter/php.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0"?>
+<!-- $Id: php.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="php">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="phpCode" delimClass="inlinetags" innerClass="code"
+ start="\&lt;\?(php|=)?" end="\?\>" never-contained="yes">
+ <contains all="yes"/>
+ </region>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}" contained="yes">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" contained="yes" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" contained="yes">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" contained="yes">
+ <contains block="phpdoc"/>
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;" contained="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`" contained="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="heredoc" delimClass="quotes" innerClass="string" start="/\&lt;\&lt;\&lt;[\x20\x09]*(\w+)$/m" end="/^%1%;?$/m" contained="yes" remember="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="heredoc"/>
+ </block>
+
+
+ <region name="comment" start="(#|\/\/)" end="/$|(?=\?\>)/m" innerClass="comment" contained="yes">
+ <contains block="cvstag"/>
+ </region>
+
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" contained="yes"/>
+
+ <block name="typecast" match="\((array|int|integer|string|bool|boolean|object|float|double)\)" innerClass="reserved" contained="yes"/>
+
+ <block name="curlyvar" match="\{\$[a-z_].*\}" innerClass="var" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="heredoc"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="codeescape" delimClass="inlinetags" innerClass="default" end="\&lt;\?(php|=)?" start="\?\>" contained="yes">
+ <onlyin region="block"/>
+ </region>
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
+ <block name="var" match="\$[a-z_]\w*" innerClass="var" contained="yes"/>
+
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
+
+
+ <block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" contained="yes"/>
+
+ <block name="phpdoc" match="\s@\w+\s" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\bnote:" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+\s*:.*\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="constants" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="DIRECTORY_SEPARATOR"/>
+ <keyword match="PATH_SEPARATOR"/>
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved">
+ <keyword match="echo"/>
+ <keyword match="foreach"/>
+ <keyword match="else"/>
+ <keyword match="if"/>
+ <keyword match="elseif"/>
+ <keyword match="for"/>
+ <keyword match="as"/>
+ <keyword match="while"/>
+ <keyword match="foreach"/>
+ <keyword match="break"/>
+ <keyword match="continue"/>
+ <keyword match="class"/>
+ <keyword match="const"/>
+ <keyword match="declare"/>
+ <keyword match="switch"/>
+ <keyword match="case"/>
+ <keyword match="endfor"/>
+ <keyword match="endswitch"/>
+ <keyword match="endforeach"/>
+ <keyword match="endswitch"/>
+ <keyword match="endif"/>
+ <keyword match="array"/>
+ <keyword match="default"/>
+ <keyword match="do"/>
+ <keyword match="enddeclare"/>
+ <keyword match="eval"/>
+ <keyword match="exit"/>
+ <keyword match="die"/>
+ <keyword match="extends"/>
+ <keyword match="function"/>
+ <keyword match="global"/>
+ <keyword match="include"/>
+ <keyword match="include_once"/>
+ <keyword match="require"/>
+ <keyword match="require_once"/>
+ <keyword match="isset"/>
+ <keyword match="empty"/>
+ <keyword match="list"/>
+ <keyword match="new"/>
+ <keyword match="static"/>
+ <keyword match="unset"/>
+ <keyword match="var"/>
+ <keyword match="return"/>
+ <keyword match="try"/>
+ <keyword match="catch"/>
+ <keyword match="final"/>
+ <keyword match="throw"/>
+ <keyword match="public"/>
+ <keyword match="private"/>
+ <keyword match="protected"/>
+ <keyword match="abstract"/>
+ <keyword match="interface"/>
+ <keyword match="implements"/>
+ <keyword match="const"/>
+ <keyword match="define"/>
+ <keyword match="__FILE__"/>
+ <keyword match="__LINE__"/>
+ <keyword match="__CLASS__"/>
+ <keyword match="__METHOD__"/>
+ <keyword match="__FUNCTION__"/>
+ <keyword match="NULL"/>
+ <keyword match="true"/>
+ <keyword match="false"/>
+ <keyword match="and"/>
+ <keyword match="or"/>
+ <keyword match="xor"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/python.xml b/library/Text_Highlighter/python.xml
new file mode 100644
index 000000000..29e77203c
--- /dev/null
+++ b/library/Text_Highlighter/python.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0"?>
+<!-- $Id: python.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="python" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="strsingle3" delimClass="quotes" innerClass="string"
+ start="'''" end="'''" />
+
+ <region name="strdouble3" delimClass="quotes" innerClass="string"
+ start="&quot;&quot;&quot;" end="&quot;&quot;&quot;">
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
+ <contains all="yes"/>
+ </region>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strsingle3"/>
+ <onlyin region="strdouble"/>
+ <onlyin region="strdouble3"/>
+ </block>
+
+ <block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="imaginary" match="((\d*\.\d+)|(\d+\.\d*)|(\d+))j" innerClass="number"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <block name="octinteger" match="0[0-7]+l?" innerClass="number" />
+
+ <block name="comment" innerClass="comment"
+ match="#.+" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="and"/>
+ <keyword match="del"/>
+ <keyword match="for"/>
+ <keyword match="is"/>
+ <keyword match="raise"/>
+ <keyword match="assert"/>
+ <keyword match="elif"/>
+ <keyword match="from"/>
+ <keyword match="lambda"/>
+ <keyword match="return"/>
+ <keyword match="break"/>
+ <keyword match="else"/>
+ <keyword match="global"/>
+ <keyword match="not"/>
+ <keyword match="try"/>
+ <keyword match="class"/>
+ <keyword match="except"/>
+ <keyword match="if"/>
+ <keyword match="or"/>
+ <keyword match="while"/>
+ <keyword match="continue"/>
+ <keyword match="exec"/>
+ <keyword match="import"/>
+ <keyword match="pass"/>
+ <keyword match="yield"/>
+ <keyword match="def"/>
+ <keyword match="finally"/>
+ <keyword match="in"/>
+ <keyword match="print"/>
+ <keyword match="False"/>
+ <keyword match="True"/>
+ <keyword match="None"/>
+ <keyword match="NotImplemented"/>
+ <keyword match="Ellipsis"/>
+
+ <keyword match="Exception" />
+ <keyword match="SystemExit" />
+ <keyword match="StopIteration" />
+ <keyword match="StandardError" />
+ <keyword match="KeyboardInterrupt" />
+ <keyword match="ImportError" />
+ <keyword match="EnvironmentError" />
+ <keyword match="IOError" />
+ <keyword match="OSError" />
+ <keyword match="WindowsError" />
+ <keyword match="EOFError" />
+ <keyword match="RuntimeError" />
+ <keyword match="NotImplementedError" />
+ <keyword match="NameError" />
+ <keyword match="UnboundLocalError" />
+
+ <keyword match="AttributeError" />
+ <keyword match="SyntaxError" />
+ <keyword match="IndentationError" />
+ <keyword match="TabError" />
+ <keyword match="TypeError" />
+ <keyword match="AssertionError" />
+ <keyword match="LookupError" />
+ <keyword match="IndexError" />
+ <keyword match="KeyError" />
+ <keyword match="ArithmeticError" />
+ <keyword match="OverflowError" />
+ <keyword match="ZeroDivisionError" />
+ <keyword match="FloatingPointError" />
+ <keyword match="ValueError" />
+ <keyword match="UnicodeError" />
+ <keyword match="UnicodeEncodeError" />
+ <keyword match="UnicodeDecodeError" />
+
+ <keyword match="UnicodeTranslateError" />
+ <keyword match="ReferenceError" />
+ <keyword match="SystemError" />
+ <keyword match="MemoryError" />
+ <keyword match="Warning" />
+ <keyword match="UserWarning" />
+ <keyword match="DeprecationWarning" />
+ <keyword match="PendingDeprecationWarning" />
+ <keyword match="SyntaxWarning" />
+ <keyword match="OverflowWarning" />
+ <keyword match="RuntimeWarning" />
+ <keyword match="FutureWarning" />
+
+ </keywords>
+
+ <keywords name="builtin" inherits="possiblefunction"
+ innerClass="builtin" otherwise="identifier" case = "yes">
+ <keyword match="__import__"/>
+
+ <keyword match="abs"/>
+ <keyword match="apply"/>
+ <keyword match="basestring"/>
+ <keyword match="bool"/>
+ <keyword match="buffer"/>
+ <keyword match="callable"/>
+ <keyword match="chr"/>
+ <keyword match="classmethod"/>
+ <keyword match="cmp"/>
+
+ <keyword match="coerce"/>
+ <keyword match="compile"/>
+ <keyword match="complex"/>
+ <keyword match="delattr"/>
+ <keyword match="dict"/>
+ <keyword match="dir"/>
+ <keyword match="divmod"/>
+ <keyword match="enumerate"/>
+ <keyword match="eval"/>
+
+ <keyword match="execfile"/>
+ <keyword match="file"/>
+ <keyword match="filter"/>
+ <keyword match="float"/>
+ <keyword match="getattr"/>
+ <keyword match="globals"/>
+ <keyword match="hasattr"/>
+ <keyword match="hash"/>
+ <keyword match="help"/>
+
+ <keyword match="hex"/>
+ <keyword match="id"/>
+ <keyword match="input"/>
+ <keyword match="int"/>
+ <keyword match="intern"/>
+ <keyword match="isinstance"/>
+ <keyword match="issubclass"/>
+ <keyword match="iter"/>
+ <keyword match="len"/>
+
+ <keyword match="list"/>
+ <keyword match="locals"/>
+ <keyword match="long"/>
+ <keyword match="map"/>
+ <keyword match="max"/>
+ <keyword match="min"/>
+ <keyword match="object"/>
+ <keyword match="oct"/>
+ <keyword match="open"/>
+
+ <keyword match="ord"/>
+ <keyword match="pow"/>
+ <keyword match="property"/>
+ <keyword match="range"/>
+ <keyword match="raw_input"/>
+ <keyword match="reduce"/>
+ <keyword match="reload"/>
+ <keyword match="repr"/>
+ <keyword match="round"/>
+
+ <keyword match="setattr"/>
+ <keyword match="slice"/>
+ <keyword match="staticmethod"/>
+ <keyword match="sum"/>
+ <keyword match="super"/>
+ <keyword match="str"/>
+ <keyword match="tuple"/>
+ <keyword match="type"/>
+ <keyword match="unichr"/>
+
+ <keyword match="unicode"/>
+ <keyword match="vars"/>
+ <keyword match="xrange"/>
+ <keyword match="zip"/>
+
+ </keywords>
+
+</highlight>
+
diff --git a/library/Text_Highlighter/release b/library/Text_Highlighter/release
new file mode 100644
index 000000000..66f1fa603
--- /dev/null
+++ b/library/Text_Highlighter/release
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/usr/local/bin/php package.php make
+/usr/local/bin/pear package
diff --git a/library/Text_Highlighter/ruby.xml b/library/Text_Highlighter/ruby.xml
new file mode 100644
index 000000000..599f5af17
--- /dev/null
+++ b/library/Text_Highlighter/ruby.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!-- $Id: ruby.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="ruby" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+FIXME: While this construction : s.split /z/i
+is valid, regular expression is not recognized as such
+(/ folowing an identifier or number is not recognized as
+start of RE), making highlighting improper
+
+%q(a (nested) string) does not get highlighted correctly
+ </comment>
+
+ <default innerClass="code" />
+
+ <region name="data" start="/^__END__$/m" end="$" delimClass="reserved" innerClass="comment" never-conteined="yes" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="qstrdouble" delimClass="quotes" innerClass="string"
+ start="%[Qx]([!&quot;#\$%&amp;'+\-*.\/:;=?@^`|~{&lt;\[(])" end="%b1%" remember="yes" />
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <region name="qstrsingle" delimClass="quotes" innerClass="string"
+ start="%[wq]([!&quot;#\$%&amp;'+\-*.\/:;=?@^`|~{&lt;\[(])" end="%b1%" remember="yes" />
+
+ <block name="global" match="\$(\W|\w+)" innerClass="var" />
+
+ <block name="classvar" match="/@@?[_a-z][\d_a-z]*/i" innerClass="var" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
+ <contains all="yes"/>
+ </region>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="qstrsingle"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="qstrdouble"/>
+ <onlyin region="strdouble"/>
+ <onlyin region="regexp"/>
+ </block>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="octinteger" match="0[0-7]+l?" innerClass="number" />
+
+
+ <region name="rubydoc" start="/^=begin$/m" end="/^=end$/m" delimClass="comment" innerClass="comment">
+ <contains block="cvstag" />
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="comment"/>
+ <onlyin region="rubydoc"/>
+ </block>
+
+ <region name="comment" innerClass="comment" start="#" end="/$/m" delimClass="comment" >
+ <contains block="cvstag" />
+ </region>
+
+ <region name="regexp" delimClass="quotes" innerClass="string" start="\s*\/" end="\/[iomx]*"
+ neverAfter="(?&lt;!\band|\bor|\bwhile|\buntil|\bunless|\bif|\belsif|\bwhen|[~=!|&amp;(,\[])$">
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="__FILE__" />
+ <keyword match="require" />
+ <keyword match="and" />
+ <keyword match="def" />
+ <keyword match="end" />
+ <keyword match="in" />
+ <keyword match="or" />
+ <keyword match="self" />
+ <keyword match="unless" />
+ <keyword match="__LINE__" />
+ <keyword match="begin" />
+ <keyword match="defined?" />
+ <keyword match="ensure" />
+ <keyword match="module" />
+ <keyword match="redo" />
+ <keyword match="super" />
+ <keyword match="until" />
+ <keyword match="BEGIN" />
+ <keyword match="break" />
+ <keyword match="do" />
+ <keyword match="false" />
+ <keyword match="next" />
+ <keyword match="rescue" />
+ <keyword match="then" />
+ <keyword match="when" />
+ <keyword match="END" />
+ <keyword match="case" />
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="nil" />
+ <keyword match="retry" />
+ <keyword match="true" />
+ <keyword match="while" />
+ <keyword match="alias" />
+ <keyword match="module_function" />
+ <keyword match="private" />
+ <keyword match="public" />
+ <keyword match="protected" />
+ <keyword match="attr_reader" />
+ <keyword match="attr_writer" />
+ <keyword match="attr_accessor" />
+ <keyword match="class" />
+ <keyword match="elsif" />
+ <keyword match="if" />
+ <keyword match="not" />
+ <keyword match="return" />
+ <keyword match="undef" />
+ <keyword match="yield" />
+ </keywords>
+
+
+</highlight>
+
diff --git a/library/Text_Highlighter/sample.css b/library/Text_Highlighter/sample.css
new file mode 100644
index 000000000..b4b38c5fc
--- /dev/null
+++ b/library/Text_Highlighter/sample.css
@@ -0,0 +1,62 @@
+.hl-main ol {
+ line-height: 1.0;
+}
+.hl-default {
+ color: Black;
+}
+.hl-code {
+ color: Black;
+}
+.hl-brackets {
+ color: Olive;
+}
+.hl-comment {
+ color: Purple;
+}
+.hl-quotes {
+ color: Darkred;
+}
+.hl-string {
+ color: Red;
+}
+.hl-identifier {
+ color: Blue;
+}
+.hl-builtin {
+ color: Teal;
+}
+.hl-reserved {
+ color: Green;
+}
+.hl-inlinedoc {
+ color: Blue;
+}
+.hl-var {
+ color: Darkblue;
+}
+.hl-url {
+ color: Blue;
+}
+.hl-special {
+ color: Navy;
+}
+.hl-number {
+ color: Maroon;
+}
+.hl-inlinetags {
+ color: Blue;
+}
+.hl-main {
+ background: #ccc none repeat scroll 0 0;
+ color: #000;
+/* background-color: White; */
+}
+.hl-gutter {
+ background-color: #999999;
+ color: White
+}
+.hl-table {
+ font-family: courier;
+ font-size: 12px;
+ border: solid 1px Lightgrey;
+}
diff --git a/library/Text_Highlighter/sh.xml b/library/Text_Highlighter/sh.xml
new file mode 100644
index 000000000..1250de3bc
--- /dev/null
+++ b/library/Text_Highlighter/sh.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0"?>
+<!-- $Id: sh.xml,v 1.2 2007-06-14 00:15:50 ssttoo Exp $ -->
+
+<highlight lang="sh" case = "yes">
+
+ <authors>
+ <author name="Noah Spurrier" email="noah@noah.org" />
+ </authors>
+
+ <comment>This highlighter is EXPERIMENTAL. It may work incorrectly.
+ It is a crude hack of the perl syntax, which itself wasn't so good.
+ But this seems to work OK.
+ </comment>
+
+ <default innerClass="code"/>
+
+ <block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
+ <partClass index="1" innerClass="special" />
+ <partClass index="2" innerClass="string" />
+ </block>
+
+ <!--
+ brackets
+ -->
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <!--
+ use smth
+ -->
+ <block name="usestatement" match="(use)\s+([\w:]*)" innerClass="special">
+ <partClass index="1" innerClass="reserved" />
+ <partClass index="2" innerClass="special" />
+ </block>
+
+
+ <region name="q-w-q-statement"
+ start="/\b(q[wq]\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+
+ </region>
+
+ <region name="qstatement"
+ start="/\b(q\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ </region>
+
+ <!--
+ comments
+ -->
+ <block name="comment" match="#.*" innerClass="comment" />
+
+
+ <!--
+ regexpr
+ FIXME: this should be rewritten
+ -->
+ <block name="dblregexprver1" match="/(s|tr) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2)((\\.|[^\\])*?)(\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ <partClass index="6" innerClass="string" />
+ <partClass index="8" innerClass="quotes" />
+ </block>
+
+ <block name="dblregexprver2" match="/(m) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ </block>
+
+
+ <region name="regexp" start=" \/" end="\/[cgimosx]*" innerClass="string" delimClass="quotes" case="yes">
+ <contains block="reescaped"/>
+ </region>
+
+ <block name="reescaped" match="\\\/" innerClass="string" contained="yes">
+ <onlyin region="regexp"/>
+ </block>
+
+ <!--
+ variables
+ FIXME: @{...}
+ -->
+ <block name="bracketsvars" match="([a-z1-9_]+)(\s*=>)" innerClass="string" contained="yes" case="no">
+ <partClass index="1" innerClass="string" />
+ <partClass index="2" innerClass="code" />
+ <onlyin region="brackets"/>
+ </block>
+
+ <block name="specialvar" match="\$#?[1-9'`@!]" innerClass="var"/>
+
+ <block name="var" match="(\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+ <block name="containedvar" match="\$([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+
+ <block name="classvar" match="(\{)([a-z1-9]+)(\})" innerClass="var" case="no">
+ <partClass index="1" innerClass="brackets" />
+ <partClass index="2" innerClass="var" />
+ <partClass index="3" innerClass="brackets" />
+ </block>
+
+ <block name="curlyvar" match="[\$@%]#?\{[a-z1-9]+\}" innerClass="var" case="no"/>
+
+ <!--
+ quotes
+ -->
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="qstatement"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{@]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="q-w-q-statement"/>
+ </block>
+
+ <!-- logical op.
+ <block name="logic" match="\|\||&amp;&amp;" innerClass="reserved" contained="yes"/>-->
+
+ <!--
+ identifiers
+ -->
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <!--
+ numbers
+ -->
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+ <!--
+ GNU and posix standard shell utilities here.
+ -->
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="cd"/>
+ <keyword match="cp"/>
+ <keyword match="rm"/>
+ <keyword match="echo"/>
+ <keyword match="printf"/>
+ <keyword match="exit"/>
+ <keyword match="cut"/>
+ <keyword match="join"/>
+ <keyword match="comm"/>
+ <keyword match="fmt"/>
+ <keyword match="grep"/>
+ <keyword match="egrep"/>
+ <keyword match="fgrep"/>
+ <keyword match="sed"/>
+ <keyword match="awk"/>
+ <keyword match="yes"/>
+ <keyword match="false"/>
+ <keyword match="true"/>
+ <keyword match="test"/>
+ <keyword match="expr"/>
+ <keyword match="tee"/>
+ <keyword match="basename"/>
+ <keyword match="dirname"/>
+ <keyword match="pathchk"/>
+ <keyword match="pwd"/>
+ <keyword match="stty"/>
+ <keyword match="tty"/>
+ <keyword match="env"/>
+ <keyword match="printenv"/>
+ <keyword match="id"/>
+ <keyword match="logname"/>
+ <keyword match="whoami"/>
+ <keyword match="groups"/>
+ <keyword match="users"/>
+ <keyword match="who"/>
+ <keyword match="date"/>
+ <keyword match="uname"/>
+ <keyword match="hostname"/>
+ <keyword match="chroot"/>
+ <keyword match="nice"/>
+ <keyword match="nohup"/>
+ <keyword match="sleep"/>
+ <keyword match="factor"/>
+ <keyword match="seq"/>
+ <keyword match="getopt"/>
+ <keyword match="getopts"/>
+ <keyword match="options"/>
+ <keyword match="shift"/>
+ </keywords>
+
+ <keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="if"/>
+ <keyword match="fi"/>
+ <keyword match="then"/>
+ <keyword match="else"/>
+ <keyword match="elif"/>
+ <keyword match="case"/>
+ <keyword match="esac"/>
+ <keyword match="while"/>
+ <keyword match="done"/>
+ <keyword match="for"/>
+ <keyword match="in"/>
+ <keyword match="function"/>
+ <keyword match="until"/>
+ <keyword match="do"/>
+ <keyword match="select"/>
+ <keyword match="time"/>
+ <!--
+ <keyword match="[["/>
+ <keyword match="]]"/>
+ -->
+ <keyword match="read"/>
+ <keyword match="set"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/sql.xml b/library/Text_Highlighter/sql.xml
new file mode 100644
index 000000000..19cae49a0
--- /dev/null
+++ b/library/Text_Highlighter/sql.xml
@@ -0,0 +1,496 @@
+<?xml version="1.0"?>
+<!-- $Id: sql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="sql" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <comment>Based on SQL-99</comment>
+
+ <default innerClass="code" />
+
+ <region name="qidentifier" delimClass="quotes" innerClass="identifier"
+ start="`" end="`" />
+
+ <region name="mlcomment" delimClass="comment" innerClass="comment"
+ start="\/\*" end="\*\/" />
+
+ <block name="comment" match="(#|--\s).*" innerClass="comment" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code"
+ start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strdouble"/>
+ </block>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "no">
+ <keyword match="ABSOLUTE" />
+ <keyword match="ACTION" />
+ <keyword match="ADD" />
+ <keyword match="ADMIN" />
+ <keyword match="AFTER" />
+ <keyword match="AGGREGATE" />
+ <keyword match="ALIAS" />
+ <keyword match="ALL" />
+ <keyword match="ALLOCATE" />
+ <keyword match="ALTER" />
+ <keyword match="AND" />
+ <keyword match="ANY" />
+ <keyword match="ARE" />
+ <keyword match="ARRAY" />
+ <keyword match="AS" />
+ <keyword match="ASC" />
+ <keyword match="ASSERTION" />
+ <keyword match="AT" />
+ <keyword match="AUTHORIZATION" />
+ <keyword match="BEFORE" />
+ <keyword match="BEGIN" />
+ <keyword match="BINARY" />
+ <keyword match="BIT" />
+ <keyword match="BLOB" />
+ <keyword match="BOOLEAN" />
+ <keyword match="BOTH" />
+ <keyword match="BREADTH" />
+ <keyword match="BY" />
+ <keyword match="CALL" />
+ <keyword match="CASCADE" />
+ <keyword match="CASCADED" />
+ <keyword match="CASE" />
+ <keyword match="CAST" />
+ <keyword match="CATALOG" />
+ <keyword match="CHAR" />
+ <keyword match="CHARACTER" />
+ <keyword match="CHECK" />
+ <keyword match="CLASS" />
+ <keyword match="CLOB" />
+ <keyword match="CLOSE" />
+ <keyword match="COLLATE" />
+ <keyword match="COLLATION" />
+ <keyword match="COLUMN" />
+ <keyword match="COMMIT" />
+ <keyword match="COMPLETION" />
+ <keyword match="CONNECT" />
+ <keyword match="CONNECTION" />
+ <keyword match="CONSTRAINT" />
+ <keyword match="CONSTRAINTS" />
+ <keyword match="CONSTRUCTOR" />
+ <keyword match="CONTINUE" />
+ <keyword match="CORRESPONDING" />
+ <keyword match="CREATE" />
+ <keyword match="CROSS" />
+ <keyword match="CUBE" />
+ <keyword match="CURRENT" />
+ <keyword match="CURRENT_DATE" />
+ <keyword match="CURRENT_PATH" />
+ <keyword match="CURRENT_ROLE" />
+ <keyword match="CURRENT_TIME" />
+ <keyword match="CURRENT_TIMESTAMP" />
+ <keyword match="CURRENT_USER" />
+ <keyword match="CURSOR" />
+ <keyword match="CYCLE" />
+ <keyword match="DATA" />
+ <keyword match="DATE" />
+ <keyword match="DAY" />
+ <keyword match="DEALLOCATE" />
+ <keyword match="DEC" />
+ <keyword match="DECIMAL" />
+ <keyword match="DECLARE" />
+ <keyword match="DEFAULT" />
+ <keyword match="DEFERRABLE" />
+ <keyword match="DEFERRED" />
+ <keyword match="DELETE" />
+ <keyword match="DEPTH" />
+ <keyword match="DEREF" />
+ <keyword match="DESC" />
+ <keyword match="DESCRIBE" />
+ <keyword match="DESCRIPTOR" />
+ <keyword match="DESTROY" />
+ <keyword match="DESTRUCTOR" />
+ <keyword match="DETERMINISTIC" />
+ <keyword match="DIAGNOSTICS" />
+ <keyword match="DICTIONARY" />
+ <keyword match="DISCONNECT" />
+ <keyword match="DISTINCT" />
+ <keyword match="DOMAIN" />
+ <keyword match="DOUBLE" />
+ <keyword match="DROP" />
+ <keyword match="DYNAMIC" />
+ <keyword match="EACH" />
+ <keyword match="ELSE" />
+ <keyword match="END" />
+ <keyword match="END-EXEC" />
+ <keyword match="EQUALS" />
+ <keyword match="ESCAPE" />
+ <keyword match="EVERY" />
+ <keyword match="EXCEPT" />
+ <keyword match="EXCEPTION" />
+ <keyword match="EXEC" />
+ <keyword match="EXECUTE" />
+ <keyword match="EXTERNAL" />
+ <keyword match="FALSE" />
+ <keyword match="FETCH" />
+ <keyword match="FIRST" />
+ <keyword match="FLOAT" />
+ <keyword match="FOR" />
+ <keyword match="FOREIGN" />
+ <keyword match="FOUND" />
+ <keyword match="FREE" />
+ <keyword match="FROM" />
+ <keyword match="FULL" />
+ <keyword match="FUNCTION" />
+ <keyword match="GENERAL" />
+ <keyword match="GET" />
+ <keyword match="GLOBAL" />
+ <keyword match="GO" />
+ <keyword match="GOTO" />
+ <keyword match="GRANT" />
+ <keyword match="GROUP" />
+ <keyword match="GROUPING" />
+ <keyword match="HAVING" />
+ <keyword match="HOST" />
+ <keyword match="HOUR" />
+ <keyword match="IDENTITY" />
+ <keyword match="IGNORE" />
+ <keyword match="IMMEDIATE" />
+ <keyword match="IN" />
+ <keyword match="INDICATOR" />
+ <keyword match="INITIALIZE" />
+ <keyword match="INITIALLY" />
+ <keyword match="INNER" />
+ <keyword match="INOUT" />
+ <keyword match="INPUT" />
+ <keyword match="INSERT" />
+ <keyword match="INT" />
+ <keyword match="INTEGER" />
+ <keyword match="INTERSECT" />
+ <keyword match="INTERVAL" />
+ <keyword match="INTO" />
+ <keyword match="IS" />
+ <keyword match="ISOLATION" />
+ <keyword match="ITERATE" />
+ <keyword match="JOIN" />
+ <keyword match="KEY" />
+ <keyword match="LANGUAGE" />
+ <keyword match="LARGE" />
+ <keyword match="LAST" />
+ <keyword match="LATERAL" />
+ <keyword match="LEADING" />
+ <keyword match="LEFT" />
+ <keyword match="LESS" />
+ <keyword match="LEVEL" />
+ <keyword match="LIKE" />
+ <keyword match="LIMIT" />
+ <keyword match="LOCAL" />
+ <keyword match="LOCALTIME" />
+ <keyword match="LOCALTIMESTAMP" />
+ <keyword match="LOCATOR" />
+ <keyword match="MAP" />
+ <keyword match="MATCH" />
+ <keyword match="MINUTE" />
+ <keyword match="MODIFIES" />
+ <keyword match="MODIFY" />
+ <keyword match="MODULE" />
+ <keyword match="MONTH" />
+ <keyword match="NAMES" />
+ <keyword match="NATIONAL" />
+ <keyword match="NATURAL" />
+ <keyword match="NCHAR" />
+ <keyword match="NCLOB" />
+ <keyword match="NEW" />
+ <keyword match="NEXT" />
+ <keyword match="NO" />
+ <keyword match="NONE" />
+ <keyword match="NOT" />
+ <keyword match="NULL" />
+ <keyword match="NUMERIC" />
+ <keyword match="OBJECT" />
+ <keyword match="OF" />
+ <keyword match="OFF" />
+ <keyword match="OLD" />
+ <keyword match="ON" />
+ <keyword match="ONLY" />
+ <keyword match="OPEN" />
+ <keyword match="OPERATION" />
+ <keyword match="OPTION" />
+ <keyword match="OR" />
+ <keyword match="ORDER" />
+ <keyword match="ORDINALITY" />
+ <keyword match="OUT" />
+ <keyword match="OUTER" />
+ <keyword match="OUTPUT" />
+ <keyword match="PAD" />
+ <keyword match="PARAMETER" />
+ <keyword match="PARAMETERS" />
+ <keyword match="PARTIAL" />
+ <keyword match="PATH" />
+ <keyword match="POSTFIX" />
+ <keyword match="PRECISION" />
+ <keyword match="PREFIX" />
+ <keyword match="PREORDER" />
+ <keyword match="PREPARE" />
+ <keyword match="PRESERVE" />
+ <keyword match="PRIMARY" />
+ <keyword match="PRIOR" />
+ <keyword match="PRIVILEGES" />
+ <keyword match="PROCEDURE" />
+ <keyword match="PUBLIC" />
+ <keyword match="READ" />
+ <keyword match="READS" />
+ <keyword match="REAL" />
+ <keyword match="RECURSIVE" />
+ <keyword match="REF" />
+ <keyword match="REFERENCES" />
+ <keyword match="REFERENCING" />
+ <keyword match="RELATIVE" />
+ <keyword match="RESTRICT" />
+ <keyword match="RESULT" />
+ <keyword match="RETURN" />
+ <keyword match="RETURNS" />
+ <keyword match="REVOKE" />
+ <keyword match="RIGHT" />
+ <keyword match="ROLE" />
+ <keyword match="ROLLBACK" />
+ <keyword match="ROLLUP" />
+ <keyword match="ROUTINE" />
+ <keyword match="ROW" />
+ <keyword match="ROWS" />
+ <keyword match="SAVEPOINT" />
+ <keyword match="SCHEMA" />
+ <keyword match="SCOPE" />
+ <keyword match="SCROLL" />
+ <keyword match="SEARCH" />
+ <keyword match="SECOND" />
+ <keyword match="SECTION" />
+ <keyword match="SELECT" />
+ <keyword match="SEQUENCE" />
+ <keyword match="SESSION" />
+ <keyword match="SESSION_USER" />
+ <keyword match="SET" />
+ <keyword match="SETS" />
+ <keyword match="SIZE" />
+ <keyword match="SMALLINT" />
+ <keyword match="SOME" />
+ <keyword match="SPACE" />
+ <keyword match="SPECIFIC" />
+ <keyword match="SPECIFICTYPE" />
+ <keyword match="SQL" />
+ <keyword match="SQLEXCEPTION" />
+ <keyword match="SQLSTATE" />
+ <keyword match="SQLWARNING" />
+ <keyword match="START" />
+ <keyword match="STATE" />
+ <keyword match="STATEMENT" />
+ <keyword match="STATIC" />
+ <keyword match="STRUCTURE" />
+ <keyword match="SYSTEM_USER" />
+ <keyword match="TABLE" />
+ <keyword match="TEMPORARY" />
+ <keyword match="TERMINATE" />
+ <keyword match="THAN" />
+ <keyword match="THEN" />
+ <keyword match="TIME" />
+ <keyword match="TIMESTAMP" />
+ <keyword match="TIMEZONE_HOUR" />
+ <keyword match="TIMEZONE_MINUTE" />
+ <keyword match="TO" />
+ <keyword match="TRAILING" />
+ <keyword match="TRANSACTION" />
+ <keyword match="TRANSLATION" />
+ <keyword match="TREAT" />
+ <keyword match="TRIGGER" />
+ <keyword match="TRUE" />
+ <keyword match="UNDER" />
+ <keyword match="UNION" />
+ <keyword match="UNIQUE" />
+ <keyword match="UNKNOWN" />
+ <keyword match="UNNEST" />
+ <keyword match="UPDATE" />
+ <keyword match="USAGE" />
+ <keyword match="USER" />
+ <keyword match="USING" />
+ <keyword match="VALUE" />
+ <keyword match="VALUES" />
+ <keyword match="VARCHAR" />
+ <keyword match="VARIABLE" />
+ <keyword match="VARYING" />
+ <keyword match="VIEW" />
+ <keyword match="WHEN" />
+ <keyword match="WHENEVER" />
+ <keyword match="WHERE" />
+ <keyword match="WITH" />
+ <keyword match="WITHOUT" />
+ <keyword match="WORK" />
+ <keyword match="WRITE" />
+ <keyword match="YEAR" />
+ <keyword match="ZONE" />
+ </keywords>
+ <keywords name="keyword" inherits="identifier" innerClass="var" case = "no">
+ <keyword match="ABS" />
+ <keyword match="ADA" />
+ <keyword match="ASENSITIVE" />
+ <keyword match="ASSIGNMENT" />
+ <keyword match="ASYMMETRIC" />
+ <keyword match="ATOMIC" />
+ <keyword match="AVG" />
+ <keyword match="BETWEEN" />
+ <keyword match="BITVAR" />
+ <keyword match="BIT_LENGTH" />
+ <keyword match="C" />
+ <keyword match="CALLED" />
+ <keyword match="CARDINALITY" />
+ <keyword match="CATALOG_NAME" />
+ <keyword match="CHAIN" />
+ <keyword match="CHARACTER_LENGTH" />
+ <keyword match="CHARACTER_SET_CATALOG" />
+ <keyword match="CHARACTER_SET_NAME" />
+ <keyword match="CHARACTER_SET_SCHEMA" />
+ <keyword match="CHAR_LENGTH" />
+ <keyword match="CHECKED" />
+ <keyword match="CLASS_ORIGIN" />
+ <keyword match="COALESCE" />
+ <keyword match="COBOL" />
+ <keyword match="COLLATION_CATALOG" />
+ <keyword match="COLLATION_NAME" />
+ <keyword match="COLLATION_SCHEMA" />
+ <keyword match="COLUMN_NAME" />
+ <keyword match="COMMAND_FUNCTION" />
+ <keyword match="COMMAND_FUNCTION_CODE" />
+ <keyword match="COMMITTED" />
+ <keyword match="CONDITION_NUMBER" />
+ <keyword match="CONNECTION_NAME" />
+ <keyword match="CONSTRAINT_CATALOG" />
+ <keyword match="CONSTRAINT_NAME" />
+ <keyword match="CONSTRAINT_SCHEMA" />
+ <keyword match="CONTAINS" />
+ <keyword match="CONVERT" />
+ <keyword match="COUNT" />
+ <keyword match="CURSOR_NAME" />
+ <keyword match="DATETIME_INTERVAL_CODE" />
+ <keyword match="DATETIME_INTERVAL_PRECISION" />
+ <keyword match="DEFINED" />
+ <keyword match="DEFINER" />
+ <keyword match="DISPATCH" />
+ <keyword match="DYNAMIC_FUNCTION" />
+ <keyword match="DYNAMIC_FUNCTION_CODE" />
+ <keyword match="EXISTING" />
+ <keyword match="EXISTS" />
+ <keyword match="EXTRACT" />
+ <keyword match="FINAL" />
+ <keyword match="FORTRAN" />
+ <keyword match="G" />
+ <keyword match="GENERATED" />
+ <keyword match="GRANTED" />
+ <keyword match="HIERARCHY" />
+ <keyword match="HOLD" />
+ <keyword match="IMPLEMENTATION" />
+ <keyword match="INFIX" />
+ <keyword match="INSENSITIVE" />
+ <keyword match="INSTANCE" />
+ <keyword match="INSTANTIABLE" />
+ <keyword match="INVOKER" />
+ <keyword match="K" />
+ <keyword match="KEY_MEMBER" />
+ <keyword match="KEY_TYPE" />
+ <keyword match="LENGTH" />
+ <keyword match="LOWER" />
+ <keyword match="M" />
+ <keyword match="MAX" />
+ <keyword match="MESSAGE_LENGTH" />
+ <keyword match="MESSAGE_OCTET_LENGTH" />
+ <keyword match="MESSAGE_TEXT" />
+ <keyword match="METHOD" />
+ <keyword match="MIN" />
+ <keyword match="MOD" />
+ <keyword match="MORE" />
+ <keyword match="MUMPS" />
+ <keyword match="NAME" />
+ <keyword match="NULLABLE" />
+ <keyword match="NULLIF" />
+ <keyword match="NUMBER" />
+ <keyword match="OCTET_LENGTH" />
+ <keyword match="OPTIONS" />
+ <keyword match="OVERLAPS" />
+ <keyword match="OVERLAY" />
+ <keyword match="OVERRIDING" />
+ <keyword match="PARAMETER_MODE" />
+ <keyword match="PARAMETER_NAME" />
+ <keyword match="PARAMETER_ORDINAL_POSITION" />
+ <keyword match="PARAMETER_SPECIFIC_CATALOG" />
+ <keyword match="PARAMETER_SPECIFIC_NAME" />
+ <keyword match="PARAMETER_SPECIFIC_SCHEMA" />
+ <keyword match="PASCAL" />
+ <keyword match="PLI" />
+ <keyword match="POSITION" />
+ <keyword match="REPEATABLE" />
+ <keyword match="RETURNED_LENGTH" />
+ <keyword match="RETURNED_OCTET_LENGTH" />
+ <keyword match="RETURNED_SQLSTATE" />
+ <keyword match="ROUTINE_CATALOG" />
+ <keyword match="ROUTINE_NAME" />
+ <keyword match="ROUTINE_SCHEMA" />
+ <keyword match="ROW_COUNT" />
+ <keyword match="SCALE" />
+ <keyword match="SCHEMA_NAME" />
+ <keyword match="SECURITY" />
+ <keyword match="SELF" />
+ <keyword match="SENSITIVE" />
+ <keyword match="SERIALIZABLE" />
+ <keyword match="SERVER_NAME" />
+ <keyword match="SIMILAR" />
+ <keyword match="SIMPLE" />
+ <keyword match="SOURCE" />
+ <keyword match="SPECIFIC_NAME" />
+ <keyword match="STYLE" />
+ <keyword match="SUBCLASS_ORIGIN" />
+ <keyword match="SUBLIST" />
+ <keyword match="SUBSTRING" />
+ <keyword match="SUM" />
+ <keyword match="SYMMETRIC" />
+ <keyword match="SYSTEM" />
+ <keyword match="TABLE_NAME" />
+ <keyword match="TRANSACTIONS_COMMITTED" />
+ <keyword match="TRANSACTIONS_ROLLED_BACK" />
+ <keyword match="TRANSACTION_ACTIVE" />
+ <keyword match="TRANSFORM" />
+ <keyword match="TRANSFORMS" />
+ <keyword match="TRANSLATE" />
+ <keyword match="TRIGGER_CATALOG" />
+ <keyword match="TRIGGER_NAME" />
+ <keyword match="TRIGGER_SCHEMA" />
+ <keyword match="TRIM" />
+ <keyword match="TYPE" />
+ <keyword match="UNCOMMITTED" />
+ <keyword match="UNNAMED" />
+ <keyword match="UPPER" />
+ <keyword match="USER_DEFINED_TYPE_CATALOG" />
+ <keyword match="USER_DEFINED_TYPE_NAME" />
+ <keyword match="USER_DEFINED_TYPE_SCHEMA" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/vbscript.xml b/library/Text_Highlighter/vbscript.xml
new file mode 100644
index 000000000..09c37ffde
--- /dev/null
+++ b/library/Text_Highlighter/vbscript.xml
@@ -0,0 +1,305 @@
+<?xml version="1.0"?>
+<!-- $Id: vbscript.xml,v 1.2 2008-01-02 00:05:52 ssttoo Exp $ -->
+
+<highlight lang="vbscript" case="no">
+
+ <authors>
+ <author name="Daniel Fruzynski" email="daniel-AT-poradnik-webmastera.com" />
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="comment" start="'|[Rr][Ee][Mm]\b" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+ <block name="hexnumber" match="&amp;H[0-9a-fA-F]+" innerClass="number"/>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="constants" inherits="identifier" innerClass="builtin" case="no">
+ <!-- Color Constants -->
+ <keyword match="vbBlack" />
+ <keyword match="vbRed" />
+ <keyword match="vbGreen" />
+ <keyword match="vbYellow" />
+ <keyword match="vbBlue" />
+ <keyword match="vbMagenta" />
+ <keyword match="vbCyan" />
+ <keyword match="vbWhite" />
+ <!-- Comparison Constants -->
+ <keyword match="vbBinaryCompare" />
+ <keyword match="vbTextCompare" />
+ <!-- Date and Time Constants -->
+ <keyword match="vbSunday" />
+ <keyword match="vbMonday" />
+ <keyword match="vbTuesday" />
+ <keyword match="vbWednesday" />
+ <keyword match="vbThursday" />
+ <keyword match="vbFriday" />
+ <keyword match="vbSaturday" />
+ <keyword match="vbUseSystemDayOfWeek" />
+ <keyword match="vbFirstJan1" />
+ <keyword match="vbFirstFourDays" />
+ <keyword match="vbFirstFullWeek" />
+ <!-- Date Format Constants -->
+ <keyword match="vbGeneralDate" />
+ <keyword match="vbLongDate" />
+ <keyword match="vbShortDate" />
+ <keyword match="vbLongTime" />
+ <keyword match="vbShortTime" />
+ <!-- Miscellaneous Constants -->
+ <keyword match="vbObjectError" />
+ <!-- MsgBox Constants -->
+ <keyword match="vbOKOnly" />
+ <keyword match="vbOKCancel" />
+ <keyword match="vbAbortRetryIgnore" />
+ <keyword match="vbYesNoCancel" />
+ <keyword match="vbYesNo" />
+ <keyword match="vbRetryCancel" />
+ <keyword match="vbCritical" />
+ <keyword match="vbQuestion" />
+ <keyword match="vbExclamation" />
+ <keyword match="vbInformation" />
+ <keyword match="vbDefaultButton1" />
+ <keyword match="vbDefaultButton2" />
+ <keyword match="vbDefaultButton3" />
+ <keyword match="vbDefaultButton4" />
+ <keyword match="vbApplicationModal" />
+ <keyword match="vbSystemModal" />
+ <keyword match="vbOK" />
+ <keyword match="vbCancel" />
+ <keyword match="vbAbort" />
+ <keyword match="vbRetry" />
+ <keyword match="vbIgnore" />
+ <keyword match="vbYes" />
+ <keyword match="vbNo" />
+ <!-- String Constants -->
+ <keyword match="vbCr" />
+ <keyword match="VbCrLf" />
+ <keyword match="vbFormFeed" />
+ <keyword match="vbLf" />
+ <keyword match="vbNewLine" />
+ <keyword match="vbNullChar" />
+ <keyword match="vbNullString" />
+ <keyword match="vbTab" />
+ <keyword match="vbVerticalTab" />
+ <!-- Tristate Constants -->
+ <keyword match="vbUseDefault" />
+ <keyword match="vbTrue" />
+ <keyword match="vbFalse" />
+ <!-- VarType Constants -->
+ <keyword match="vbEmpty" />
+ <keyword match="vbNull" />
+ <keyword match="vbInteger" />
+ <keyword match="vbLong" />
+ <keyword match="vbSingle" />
+ <keyword match="vbDouble" />
+ <keyword match="vbCurrency" />
+ <keyword match="vbDate" />
+ <keyword match="vbString" />
+ <keyword match="vbObject" />
+ <keyword match="vbError" />
+ <keyword match="vbBoolean" />
+ <keyword match="vbVariant" />
+ <keyword match="vbDataObject" />
+ <keyword match="vbDecimal" />
+ <keyword match="vbByte" />
+ <keyword match="vbArray" />
+ </keywords>
+
+ <keywords name="functions" inherits="identifier" innerClass="builtin" case="no">
+ <keyword match="Abs" />
+ <keyword match="Array" />
+ <keyword match="Asc" />
+ <keyword match="Atn" />
+ <keyword match="CBool" />
+ <keyword match="CByte" />
+ <keyword match="CCur" />
+ <keyword match="CDate" />
+ <keyword match="CDbl" />
+ <keyword match="Chr" />
+ <keyword match="CInt" />
+ <keyword match="CLng" />
+ <keyword match="Cos" />
+ <keyword match="CreateObject" />
+ <keyword match="CSng" />
+ <keyword match="CStr" />
+ <keyword match="Date" />
+ <keyword match="DateAdd" />
+ <keyword match="DateDiff" />
+ <keyword match="DatePart" />
+ <keyword match="DateSerial" />
+ <keyword match="DateValue" />
+ <keyword match="Day" />
+ <keyword match="Escape" />
+ <keyword match="Eval" />
+ <keyword match="Exp" />
+ <keyword match="Filter" />
+ <keyword match="FormatCurrency" />
+ <keyword match="FormatDateTime" />
+ <keyword match="FormatNumber" />
+ <keyword match="FormatPercent" />
+ <keyword match="GetLocale" />
+ <keyword match="GetObject" />
+ <keyword match="GetRef" />
+ <keyword match="Hex" />
+ <keyword match="Hour" />
+ <keyword match="InputBox" />
+ <keyword match="InStr" />
+ <keyword match="InStrRev" />
+ <keyword match="Int" />
+ <keyword match="Fix" />
+ <keyword match="IsArray" />
+ <keyword match="IsDate" />
+ <keyword match="IsEmpty" />
+ <keyword match="IsNull" />
+ <keyword match="IsNumeric" />
+ <keyword match="IsObject" />
+ <keyword match="Join" />
+ <keyword match="LBound" />
+ <keyword match="LCase" />
+ <keyword match="Left" />
+ <keyword match="Len" />
+ <keyword match="LoadPicture" />
+ <keyword match="Log" />
+ <keyword match="LTrim" />
+ <keyword match="RTrim" />
+ <keyword match="Trim" />
+ <keyword match="Mid" />
+ <keyword match="Minute" />
+ <keyword match="Month" />
+ <keyword match="MonthName" />
+ <keyword match="MsgBox" />
+ <keyword match="Now" />
+ <keyword match="Oct" />
+ <keyword match="Replace" />
+ <keyword match="RGB" />
+ <keyword match="Right" />
+ <keyword match="Rnd" />
+ <keyword match="Round" />
+ <keyword match="ScriptEngine" />
+ <keyword match="ScriptEngineBuildVersion" />
+ <keyword match="ScriptEngineMajorVersion" />
+ <keyword match="ScriptEngineMinorVersion" />
+ <keyword match="Second" />
+ <keyword match="SetLocale" />
+ <keyword match="Sgn" />
+ <keyword match="Sin" />
+ <keyword match="Space" />
+ <keyword match="Split" />
+ <keyword match="Sqr" />
+ <keyword match="StrComp" />
+ <keyword match="String" />
+ <keyword match="StrReverse" />
+ <keyword match="Tan" />
+ <keyword match="Time" />
+ <keyword match="Timer" />
+ <keyword match="TimeSerial" />
+ <keyword match="TimeValue" />
+ <keyword match="TypeName" />
+ <keyword match="UBound" />
+ <keyword match="UCase" />
+ <keyword match="Unescape" />
+ <keyword match="VarType" />
+ <keyword match="Weekday" />
+ <keyword match="WeekdayName" />
+ <keyword match="Year" />
+ </keywords>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case="no">
+ <!--<keyword match="Class" />-->
+ <keyword match="Debug" />
+ <keyword match="Err" />
+ <keyword match="Match" />
+ <keyword match="RegExp" />
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="no">
+ <keyword match="Empty" />
+ <keyword match="False" />
+ <keyword match="Nothing" />
+ <keyword match="Null" />
+ <keyword match="True" />
+ <keyword match="And" />
+ <keyword match="Eqv" />
+ <keyword match="Imp" />
+ <keyword match="Is" />
+ <keyword match="Mod" />
+ <keyword match="Not" />
+ <keyword match="Or" />
+ <keyword match="Xor" />
+ <keyword match="Call" />
+ <keyword match="Class" />
+ <keyword match="End" />
+ <keyword match="Const" />
+ <keyword match="Public" />
+ <keyword match="Private" />
+ <keyword match="Dim" />
+ <keyword match="Do" />
+ <keyword match="While" />
+ <keyword match="Until" />
+ <keyword match="Exit" />
+ <keyword match="Loop" />
+ <keyword match="Erase" />
+ <keyword match="Execute" />
+ <keyword match="ExecuteGlobal" />
+ <keyword match="For" />
+ <keyword match="Each" />
+ <keyword match="In" />
+ <keyword match="To" />
+ <keyword match="Step" />
+ <keyword match="Next" />
+ <keyword match="Function" />
+ <keyword match="Default" />
+ <keyword match="If" />
+ <keyword match="Then" />
+ <keyword match="Else" />
+ <keyword match="ElseIf" />
+ <keyword match="On" />
+ <keyword match="Error" />
+ <keyword match="Resume" />
+ <keyword match="Goto" />
+ <keyword match="Option" />
+ <keyword match="Explicit" />
+ <keyword match="Property" />
+ <keyword match="Get" />
+ <keyword match="Let" />
+ <keyword match="Set" />
+ <keyword match="Randomize" />
+ <keyword match="ReDim" />
+ <keyword match="Preserve" />
+ <keyword match="Select" />
+ <keyword match="Case" />
+ <keyword match="Stop" />
+ <keyword match="Sub" />
+ <keyword match="Wend" />
+ <keyword match="With" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/xml.xml b/library/Text_Highlighter/xml.xml
new file mode 100644
index 000000000..2271ff3ae
--- /dev/null
+++ b/library/Text_Highlighter/xml.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!-- $Id: xml.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="xml" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="cdata" delimClass="comment" innerClass="comment"
+ start="\&lt;\!\[CDATA\[" end="\]\]\&gt;">
+ </region>
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="tag" delimClass="brackets" innerClass="code" start="\&lt;[\?\/]?" end="[\/\?]?\&gt;">
+ <contains block="tagname"/>
+ <contains region="param"/>
+ <contains block="paramname"/>
+ </region>
+
+ <block name="tagname" match="(?&lt;=[\&lt;\/?])[\w\-\:]+" innerClass="reserved" contained="yes"/>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes"/>
+
+ <block name="entity" match="(&amp;|%)[\w\-\.]+;" innerClass="special" />
+
+ <region name="param" start="&quot;" end="&quot;" delimClass="quotes" innerClass="string" contained="yes">
+ <contains block="entity"/>
+ </region>
+
+</highlight>
diff --git a/library/ace/ace.js b/library/ace/ace.js
new file mode 100644
index 000000000..2923ef0c4
--- /dev/null
+++ b/library/ace/ace.js
@@ -0,0 +1,11 @@
+(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";var r="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className||"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(t.createStyleSheet&&(r=t.styleSheets)){while(n<r.length)if(r[n++].owningElement.id===e)return!0}else if(r=t.getElementsByTagName("style"))while(n<r.length)if(r[n++].id===e)return!0;return!1},t.importCssString=function(n,r,i){i=i||document;if(r&&t.hasCssString(r,i))return null;var s;r&&(n+="\n/*# sourceURL=ace/css/"+r+" */"),i.createStyleSheet?(s=i.createStyleSheet(),s.cssText=n,r&&(s.owningElement.id=r)):(s=t.createElement("style"),s.appendChild(i.createTextNode(n)),r&&(s.id=r),t.getDocumentHead(i).appendChild(s))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u};if(typeof document=="undefined"){t.importCssString=function(){};return}window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){s.OSKey&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null),s.count=0,s.lastT=0}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){var t=e.keyCode;s[t]=(s[t]||0)+1,t==91||t==92?s.OSKey=!0:s.OSKey&&e.timeStamp-s.lastT>200&&s.count==1&&f(),s[t]==1&&s.count++,s.lastT=e.timeStamp;var r=a(n,e,t);return u=e.defaultPrevented,r}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){var t=e.keyCode;s[t]?s.count=Math.max(s.count-1,0):f();if(t==91||t==92)s.OSKey=!1;s[t]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=function(e,t){function b(e){if(h)return;h=!0;if(k)t=0,r=e?0:n.value.length-1;else var t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(i){}h=!1}function w(){if(h)return;n.value=f,i.isWebKit&&y.schedule()}function R(){clearTimeout(q),q=setTimeout(function(){p&&(n.style.cssText=p,p=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},i.isOldIE?200:0)}var n=s.createElement("textarea");n.className="ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",i.isOldIE&&(n.style.top="-1000px"),e.insertBefore(n,e.firstChild);var f="",l=!1,c=!1,h=!1,p="",d=!0;try{var v=document.activeElement===n}catch(m){}r.addListener(n,"blur",function(e){t.onBlur(e),v=!1}),r.addListener(n,"focus",function(e){v=!0,t.onFocus(e),b()}),this.focus=function(){if(p)return n.focus();var e=n.style.top;n.style.position="fixed",n.style.top="0px",n.focus(),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return v};var g=o.delayedCall(function(){v&&b(d)}),y=o.delayedCall(function(){h||(n.value=f,v&&b())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=d&&(d=!d,g.schedule())}),w(),v&&t.onFocus();var E=function(e){return e.selectionStart===0&&e.selectionEnd===e.value.length};!n.setSelectionRange&&n.createTextRange&&(n.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},E=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.text==e.value});if(i.isOldIE){var S=!1,x=function(e){if(S)return;var t=n.value;if(h||!t||t==f)return;if(e&&t==f[0])return T.schedule();A(t),S=!0,w(),S=!1},T=o.delayedCall(x);r.addListener(n,"propertychange",x);var N={13:1,27:1};r.addListener(n,"keyup",function(e){h&&(!n.value||N[e.keyCode])&&setTimeout(F,0);if((n.value.charCodeAt(0)||0)<129)return T.call();h?j():B()}),r.addListener(n,"keydown",function(e){T.schedule(50)})}var C=function(e){l?l=!1:E(n)?(t.selectAll(),b()):k&&b(t.selection.isEmpty())},k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var L=!1,A=function(e){k&&(e=k(e),k=null),c?(b(),e&&t.onPaste(e),c=!1):e==f.charAt(0)?L?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==f?e=e.substr(2):e.charAt(0)==f.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),L&&(L=!1)},O=function(e){if(h)return;var t=n.value;A(t),w()},M=function(e,t){var n=e.clipboardData||window.clipboardData;if(!n||u)return;var r=a?"Text":"text/plain";return t?n.setData(r,t)!==!1:n.getData(r)},_=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);M(e,s)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(l=!0,n.value=s,n.select(),setTimeout(function(){l=!1,w(),b(),i?t.onCut():t.onCopy()}))},D=function(e){_(e,!0)},P=function(e){_(e,!1)},H=function(e){var s=M(e);typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(b),r.preventDefault(e)):(n.value="",c=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",C),r.addListener(n,"input",O),r.addListener(n,"cut",D),r.addListener(n,"copy",P),r.addListener(n,"paste",H),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:P(e);break;case 86:H(e);break;case 88:D(e)}});var B=function(e){if(h||!t.onCompositionStart||t.$readOnly)return;h={},t.onCompositionStart(),setTimeout(j,0),t.on("mousedown",F),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup()},j=function(){if(!h||!t.onCompositionUpdate||t.$readOnly)return;var e=n.value.replace(/\x01/g,"");if(h.lastValue===e)return;t.onCompositionUpdate(e),h.lastValue&&t.undo(),h.lastValue=e;if(h.lastValue){var r=t.selection.getRange();t.insert(h.lastValue),t.session.markUndoGroup(),h.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}},F=function(e){if(!t.onCompositionEnd||t.$readOnly)return;var r=h;h=!1;var i=setTimeout(function(){i=null;var e=n.value.replace(/\x01/g,"");if(h)return;e==r.lastValue?w():!r.lastValue&&e&&(w(),A(e))});k=function(n){return i&&clearTimeout(i),n=n.replace(/\x01/g,""),n==r.lastValue?"":(r.lastValue&&i&&t.undo(),n)},t.onCompositionEnd(),t.removeListener("mousedown",F),e.type=="compositionend"&&r.range&&t.selection.setRange(r.range)},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(q),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(n,"mouseup",U),r.addListener(n,"mousedown",function(e){e.preventDefault(),R()}),r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,(o||i==1)&&r.selection.moveToPosition(n),r.$blockScrolling--,i==2&&r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function f(r){if(!u||!u.document)return;a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,c=f.getElementsByTagName("script");for(var h=0;h<c.length;h++){var p=c[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[l(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function l(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this||typeof window!="undefined"&&window}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column,e.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(i=this.session.tokenRe.exec(r))t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r),o;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(o=this.session.nonTokenRe.exec(s))t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return e.charAt(0)!="^"&&(e="^"+e),e.charAt(e.length-1)!="$"&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=2e3),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next=="string"&&s.next.indexOf(t)!==0&&(s.next=t+s.next),s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u],f=null;Array.isArray(a)&&(f=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var l=a.next||a.push;if(l&&Array.isArray(l)){var c=a.stateName;c||(c=a.token,typeof c!="string"&&(c=c[0]||""),r[c]&&(c+=n++)),r[c]=l,a.next=c,i(c)}else l=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var h in a.rules)r[h]?r[h].push&&r[h].push.apply(r[h],a.rules[h]):r[h]=a.rules[h];var p=typeof a=="string"?a:typeof a.include=="string"?a.include:"";p&&(f=r[p]);if(f){var d=[u,1].concat(f);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),ace.define("ace/token_iterator",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(u.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=u.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,a,a)?i.insertInLine({row:t,column:a},y):i.insertInLine({row:t,column:a},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<a&&(a=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<n.length;t++)(function(e){var r=n[t],i=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,i)}})(this)},this.$delegator=function(e,t,n){var r=t[0];typeof r!="string"&&(r=r[0]);for(var i=0;i<this.$embeds.length;i++){if(!this.$modes[this.$embeds[i]])continue;var s=r.split(this.$embeds[i]);if(!s[0]&&s[1]){t[0]=s[1];var o=this.$modes[this.$embeds[i]];return o[e].apply(o,t)}}var u=n.apply(this,t);return n?u:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(l.prototype),t.Mode=l}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc,s=t;while(n.lines[t])t++;var o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[]};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){if(e.action=="insert")var t=e.start,n=e.end;else var n=e.start,t=e.end;var r=t.row,i=n.row,s=i-r,o=-t.column+n.column,u=this.ranges;for(var a=0,f=u.length;a<f;a++){var l=u[a];if(l.end.row<r)continue;if(l.start.row>r)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&a<f-1&&l.end.column>l.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a<f)for(;a<f;a++){var l=u[a];l.start.row+=s,l.end.row+=s}}}).call(s.prototype),t.RangeList=s}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function u(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function a(e,t){u(e.start,t),u(e.end,t)}function f(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function l(e,t){f(e.start,t),f(e.end,t)}var r=e("../range").Range,i=e("../range_list").RangeList,s=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};s.inherits(o,i),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);a(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r];if(i==0)return s.addSubFold(e);var t=e.range.end.row,n=e.range.end.column;for(var o=r,i=-1;o<this.subFolds.length;o++){i=this.subFolds[o].range.compare(t,n);if(i!=1)break}var u=this.subFolds[o];if(i==0)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);var f=this.subFolds.splice(r,o-r,e);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return l(e,this.start)}}.call(o.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s];if(o.range.contains(e,t)){if(n==1&&o.range.isEnd(e,t))continue;if(n==-1&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u<f||u==f&&a<=l-2){var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken();if(s&&/^comment|string/.test(s.type)){var u=new r,a=new RegExp(s.type.replace(/\..*/,"\\."));if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}u.start.row=i.getCurrentTokenRow(),u.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){do s=i.stepForward();while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return u.end.row=i.getCurrentTokenRow(),u.end.column=i.getCurrentTokenColumn()+s.value.length-2,u}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i<t;i++){r[i]==null&&(r[i]=this.getFoldWidget(i));if(r[i]!="start")continue;var s=this.getFoldWidgetRange(i);if(s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./config"),o=e("./lib/event_emitter").EventEmitter,u=e("./selection").Selection,a=e("./mode/text").Mode,f=e("./range").Range,l=e("./document").Document,c=e("./background_tokenizer").BackgroundTokenizer,h=e("./search_highlight").SearchHighlight,p=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new l(e);this.setDocument(e),this.selection=new u(this),s.resetOptions(this),this.setMode(t),s._signal("session",this)};(function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!e.ignore&&(this.$deltasDoc.push(e),t&&t.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:t}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null)s=n.length-1,i=this.getLine(e).length;else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new h(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new f(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new f(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new a);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,s.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new c(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;r<e.length;r++){var i=e[r];i.group=="doc"&&(this.doc.applyDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){return t?e.action!=="insert":e.action==="insert"}var i=e[0],s,o,u=!1;r(i)?(s=f.fromPoints(i.start,i.end),u=!0):(s=f.fromPoints(i.start,i.start),u=!1);for(var a=1;a<e.length;a++)i=e[a],r(i)?(o=i.start,s.compare(o.row,o.column)==-1&&s.setStart(o),o=i.end,s.compare(o.row,o.column)==1&&s.setEnd(o),u=!0):(o=i.start,s.compare(o.row,o.column)==-1&&(s=f.fromPoints(i.start,i.start)),u=!1);if(n!=null){f.comparePoints(n.start,s.start)===0&&(n.start.column+=s.end.column-s.start.column,n.end.column+=s.end.column-s.start.column);var l=n.compareRange(s);l==1?s.setStart(n.start):l==-1&&s.setEnd(n.end)}return s},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=f.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;f<o.length;f++)o[f]=u}else o=this.$getDisplayTokens(r[t].substring(s,i),a.length);a=a.concat(o)}.bind(this),f.end.row,r[f.end.row].length+1),s[f.start.row]=this.$computeWrapSplits(a,o,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),s[l]=this.$computeWrapSplits(a,o,i),l++)};var e=1,t=2,n=3,u=4,l=9,p=10,d=11,v=12;this.$computeWrapSplits=function(e,r,i){function g(){var t=0;if(m===0)return t;if(h)for(var n=0;n<e.length;n++){var r=e[n];if(r==p)t+=1;else{if(r!=d){if(r==v)continue;break}t+=i}}return c&&h!==!1&&(t+=i),Math.min(t,m)}function y(t){var n=e.slice(a,t),r=n.length;n.join("").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),s.length||(b=g(),s.indent=b),f+=r,s.push(f),a=t}if(e.length==0)return[];var s=[],o=e.length,a=0,f=0,c=this.$wrapAsCode,h=this.$indentedSoftWrap,m=r<=Math.max(2*i,8)||h===!1?0:Math.floor(r/2),b=0;while(o-a>r-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w<e.length;w++)if(e[w]!=u)break;if(w==e.length)break;y(w);continue}var E=Math.max(w-(r-(r>>2)),a-1);while(w>E&&e[w]<n)w--;if(c){while(w>E&&e[w]<n)w--;while(w>E&&e[w]==l)w--}else while(w>E&&e[w]<p)w--;if(w>E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var a=1;a<s;a++)i.push(v)}else u==32?i.push(p):u>39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;s<t.length;s++){i=t.charAt(s),i===" "?r+=this.getScreenTabSize(r):r+=e.getCharacterWidth(i);if(r>n)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i;if(t.$isMultiLine)var o=n.length,u=function(t,r,u){var a=t.search(n[0]);if(a==-1)return;for(var f=1;f<o;f++){t=e.getLine(r+f);if(t.search(n[f])==-1)return}var l=t.match(n[o-1])[0].length,c=new s(r,a,r+o-1,l);n.offset==1?(c.start.row--,c.start.column=Number.MAX_VALUE):u&&(c.start.column+=u);if(i(c))return!0};else if(t.backwards)var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=o.length-1;u>=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u<o.length;u++)if(i(o[u],t,s))return!0};var a=this.$lineIterator(e,t);return{forEach:function(e){i=e,a.forEach(u)}}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n="\\b"+n+"\\b");var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return n[0]==""?(r.shift(),r.offset=1):r.offset=0,r},this.$lineIterator=function(e,t){var n=t.backwards==1,r=t.skipCurrent!=0,i=t.range,s=t.start;s||(s=i?i[n?"end":"start"]:e.selection.getRange()),s.start&&(s=s[r!=n?"end":"start"]);var o=i?i.start.row:0,u=i?i.end.row:e.getLength()-1,a=n?function(n){var r=s.row,i=e.getLine(r).substring(0,s.column);if(n(i,r))return;for(r--;r>=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;s<o.length;s++){var u=o[s],a=e(u);if(a>r)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"}]}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new v(o.isMac?"mac":"win",m),this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new l(this),this.$mouseHandler=new a(this),new f(this),this.$blockScrolling=0,this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new c("")),g.resetOptions(this),g._signal("editor",this)};(function(){r.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&this.curOp.command.scrollIntoView!==undefined&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(i&&o>=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(u&&o<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var a=r.getCurrentTokenRow(),f=r.getCurrentTokenColumn(),l=new p(a,f,a,f+i.value.length);t.$tagHighlight&&l.compareRange(t.$backMarkers[t.$tagHighlight].range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),l&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(l,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(g.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l=" "}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s&&s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r<e.length;r++){var i=e[r],s={group:i.group,deltas:new Array(i.length)};for(var o=0;o<i.deltas.length;o++){var u=i.deltas[o];s.deltas[o]=t(u)}n[r]=s}return n}this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(this.$deserializeDeltas(t),e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.start.row,n=e.end.row-t;if(n!==0)if(e.action=="remove")this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}},this.update=function(e){var t=this.session,n=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),s=t.getNextFoldLine(n),o=s?s.start.row:Infinity,u=this.$showFoldWidgets&&t.foldWidgets,a=t.$breakpoints,f=t.$decorations,l=t.$firstLineNumber,c=0,h=t.gutterRenderer||this.$renderer,p=null,d=-1,v=n;for(;;){v>o&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&v<s.end.row?m+=" ace_closed":m+=" ace_open",p.foldWidget.className!=m&&(p.foldWidget.className=m);var g=e.lineHeight+"px";p.foldWidget.style.height!=g&&(p.foldWidget.style.height=g)}else p.foldWidget&&(p.element.removeChild(p.foldWidget),p.foldWidget=null);var b=c=h?h.getText(t,v):v+l;b!=p.textNode.data&&(p.textNode.data=b),v++}this.element.style.height=e.minHeight+"px";if(this.$fixedWidth||t.$useWrapMode)c=t.getLength()+l;var w=h?h.getWidth(t,c,e):c.toString().length*e.characterWidth,E=this.$padding||this.$computePadding();w+=E.left+E.right,w!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",w))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1<f?u.getScreenLastRowColumn(l+1):l==f?0:n.end.column,this.drawSingleLineMarker(t,d,i+(l==a?" ace_start":"")+" ace_br"+e(l==a||l==a+1&&n.start.column,c<h,h>p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("<div class='",n," ace_br1 ace_start' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",a,"px;",i,"'></div>"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("<div class='",n," ace_br12' style='","height:",o,"px;","width:",f,"px;","top:",u,"px;","left:",s,"px;",i,"'></div>"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("<div class='",n,l?" ace_br"+l:"","' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",s,"px;",i,"'></div>")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",u,"px;","top:",a,"px;","left:",f,"px;",s||"","'></div>")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+s.stringRepeat(this.TAB_CHAR,n)+"</span>"):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]="<span class='"+r+i+"'>"+u+"</span>",this.$tabStrings[" "]="<span class='"+r+o+"'>"+a+"</span>"}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var u=r,a=this.session.getNextFoldLine(u),f=a?a.start.row:Infinity;for(;;){u>f&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var i=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i)}if(e.lastRow>t.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(i),"px'>"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("</div>"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+s.stringRepeat(i.SPACE_CHAR,e.length)+"</span>":e;if(e=="&")return"&#38;";if(e=="<")return"&#60;";if(e==">")return"&#62;";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,"<span class='"+f+"' style='width:"+i.config.characterWidth*2+"px'>"+l+"</span>"}return r?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",f,"'",l,">",a,"</span>")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f<t.length;f++){var l=t[f],c=l.value;if(f==0&&this.displayIndentGuides){i=c.length,c=this.renderIndentGuide(e,c,u);if(!c)continue;i-=c.length}if(i+c.length<u)a=this.$renderToken(e,a,l,c),i+=c.length;else{while(i+c.length>=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;n<i;n++){var s=this.getPixelPosition(t[n].cursor,!0);if((s.top>e.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)),height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&a+this.$size.scrollerHeight-u<s-this.lineHeight&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row!==t.end.row)return;if(t.start.row!==this.pos.row)return;this.$updating=!0;var n=e.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S=o?"block":"add":n&&l.$blockSelectEnabled&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&l.$blockSelectEnabled&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.$blockScrolling++,l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.$blockScrolling--,l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column);if(s(E,e)&&s(t,c.lead))return;E=e,l.$blockScrolling++,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers(),l.$blockScrolling--};l.$blockScrolling++,h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),l.$blockScrolling--,E={row:-1,column:-1};var L=function(e){clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),l.$blockScrolling++,N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null,l.$blockScrolling--},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column;else var o=t.column,u=e.column;var a=e.row<t.row;if(a)var f=e.row,l=t.row;else var f=t.row,l=e.row;o<0&&(o=0),f<0&&(f=0),f==l&&(n=!0);for(var c=f;c<=l;c++){var h=i.fromPoints(this.session.screenToDocumentPosition(c,o),this.session.screenToDocumentPosition(c,u));if(h.isEmpty()){if(p&&v(h.end,p))break;var p=h.end}h.cursor=s?h.start:h.end,r.push(h)}a&&r.reverse();if(!n){var d=r.length-1;while(r[d].isEmpty()&&d>0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;(r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;this.$blockScrolling+=1;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),this.$blockScrolling-=1,i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect,s=i.toOrientedRange();if(s.isEmpty()){s=r.getWordRange(s.start.row,s.start.column),s.cursor=e==-1?s.start:s.end,this.multiSelect.addRange(s);if(n)return}var o=r.getTextRange(s),u=h(r,o,e);u&&(u.cursor=e==-1?u.start:u.end,this.$blockScrolling+=1,this.session.unfold(u),this.multiSelect.addRange(u),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f<c);do h=this.session.getLine(u);while(/[=:]/.test(h)&&--u>0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),i<v&&(v=i),i});n.forEach(function(t,n){var r=t.cursor,s=d-r.column,o=m[n]-v;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),s<t[2].length&&(s=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o)break;l=t}if(l>f){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u<s;u++)n[u]&&(n[u].hidden=o);n[s]&&(o?n[i]?n[s].hidden=o:n[i]=n[s]:(n[i]==n[s]&&(n[i]=undefined),n[s].hidden=o))},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action=="remove"){var i=t.splice(n+1,r);i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(r);s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);e.$fold=r;if(r){var s=this.session.lineWidgets;e.row==r.end.row&&!s[r.start.row]?s[r.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s<n.length;s++){var o=n[s];if(!o||!o.el)continue;if(o.session!=this.session)continue;if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var u=o.h/r.lineHeight;o.coverLine&&(u-=this.session.getRowLineCount(o.row),u<0&&(u=0)),o.rowCount!=u&&(o.rowCount=u,o.row<i&&(i=o.row))}i!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(!r)return;var i=Math.min(this.firstRow,n.firstRow),s=Math.max(this.lastRow,n.lastRow,r.length);while(i>0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.3"});
+ (function() {
+ ace.require(["ace/ace"], function(a) {
+ a && a.config.init(true);
+ if (!window.ace)
+ window.ace = a;
+ for (var key in a) if (a.hasOwnProperty(key))
+ window.ace[key] = a[key];
+ });
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-beautify.js b/library/ace/ext-beautify.js
new file mode 100644
index 000000000..659262c8c
--- /dev/null
+++ b/library/ace/ext-beautify.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/beautify/php_rules",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";var r=e("ace/token_iterator").TokenIterator;t.newLines=[{type:"support.php_tag",value:"<?php"},{type:"support.php_tag",value:"<?"},{type:"support.php_tag",value:"?>"},{type:"paren.lparen",value:"{",indent:!0},{type:"paren.rparen",breakBefore:!0,value:"}",indent:!1},{type:"paren.rparen",breakBefore:!0,value:"})",indent:!1,dontBreak:!0},{type:"comment"},{type:"text",value:";"},{type:"text",value:":",context:"php"},{type:"keyword",value:"case",indent:!0,dontBreak:!0},{type:"keyword",value:"default",indent:!0,dontBreak:!0},{type:"keyword",value:"break",indent:!1,dontBreak:!0},{type:"punctuation.doctype.end",value:">"},{type:"meta.tag.punctuation.end",value:">"},{type:"meta.tag.punctuation.begin",value:"<",blockTag:!0,indent:!0,dontBreak:!0},{type:"meta.tag.punctuation.begin",value:"</",indent:!1,breakBefore:!0,dontBreak:!0},{type:"punctuation.operator",value:";"}],t.spaces=[{type:"xml-pe",prepend:!0},{type:"entity.other.attribute-name",prepend:!0},{type:"storage.type",value:"var",append:!0},{type:"storage.type",value:"function",append:!0},{type:"keyword.operator",value:"="},{type:"keyword",value:"as",prepend:!0,append:!0},{type:"keyword",value:"function",append:!0},{type:"support.function",next:/[^\(]/,append:!0},{type:"keyword",value:"or",append:!0,prepend:!0},{type:"keyword",value:"and",append:!0,prepend:!0},{type:"keyword",value:"case",append:!0},{type:"keyword.operator",value:"||",append:!0,prepend:!0},{type:"keyword.operator",value:"&&",append:!0,prepend:!0}],t.singleTags=["!doctype","area","base","br","hr","input","img","link","meta"],t.transform=function(e,n,r){var i=e.getCurrentToken(),s=t.newLines,o=t.spaces,u=t.singleTags,a="",f=0,l=!1,c,h,p={},d,v={},m=!1,g="";while(i!==null){console.log(i);if(!i){i=e.stepForward();continue}i.type=="support.php_tag"&&i.value!="?>"?r="php":i.type=="support.php_tag"&&i.value=="?>"?r="html":i.type=="meta.tag.name.style"&&r!="css"?r="css":i.type=="meta.tag.name.style"&&r=="css"?r="html":i.type=="meta.tag.name.script"&&r!="js"?r="js":i.type=="meta.tag.name.script"&&r=="js"&&(r="html"),v=e.stepForward(),v&&v.type.indexOf("meta.tag.name")==0&&(d=v.value),p.type=="support.php_tag"&&p.value=="<?="&&(l=!0),i.type=="meta.tag.name"&&(i.value=i.value.toLowerCase()),i.type=="text"&&(i.value=i.value.trim());if(!i.value){i=v;continue}g=i.value;for(var y in o)i.type==o[y].type&&(!o[y].value||i.value==o[y].value)&&v&&(!o[y].next||o[y].next.test(v.value))&&(o[y].prepend&&(g=" "+i.value),o[y].append&&(g+=" "));i.type.indexOf("meta.tag.name")==0&&(c=i.value),m=!1;for(y in s)if(i.type==s[y].type&&(!s[y].value||i.value==s[y].value)&&(!s[y].blockTag||u.indexOf(d)===-1)&&(!s[y].context||s[y].context===r)){s[y].indent===!1&&f--;if(s[y].breakBefore&&(!s[y].prev||s[y].prev.test(p.value))){a+="\n",m=!0;for(y=0;y<f;y++)a+=" "}break}if(l===!1)for(y in s)if(p.type==s[y].type&&(!s[y].value||p.value==s[y].value)&&(!s[y].blockTag||u.indexOf(c)===-1)&&(!s[y].context||s[y].context===r)){s[y].indent===!0&&f++;if(!s[y].dontBreak&&!m){a+="\n";for(y=0;y<f;y++)a+=" "}break}a+=g,p.type=="support.php_tag"&&p.value=="?>"&&(l=!1),h=c,p=i,i=v;if(i===null)break}return a}}),ace.define("ace/ext/beautify",["require","exports","module","ace/token_iterator","ace/ext/beautify/php_rules"],function(e,t,n){"use strict";var r=e("ace/token_iterator").TokenIterator,i=e("./beautify/php_rules").transform;t.beautify=function(e){var t=new r(e,0,0),n=t.getCurrentToken(),s=e.$modeId.split("/").pop(),o=i(t,s);e.doc.setValue(o)},t.commands=[{name:"beautify",exec:function(e){t.beautify(e.session)},bindKey:"Ctrl-Shift-B"}]});
+ (function() {
+ ace.require(["ace/ext/beautify"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-chromevox.js b/library/ace/ext-chromevox.js
new file mode 100644
index 000000000..afaad86e7
--- /dev/null
+++ b/library/ace/ext-chromevox.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/chromevox",["require","exports","module","ace/editor","ace/config"],function(e,t,n){function gt(){return typeof cvox!="undefined"&&cvox&&cvox.Api}function wt(e){if(gt())mt(e);else{yt++;if(yt>=bt)return;window.setTimeout(wt,500,e)}}var r={};r.SpeechProperty,r.Cursor,r.Token,r.Annotation;var i={rate:.8,pitch:.4,volume:.9},s={rate:1,pitch:.5,volume:.9},o={rate:.8,pitch:.8,volume:.9},u={rate:.8,pitch:.3,volume:.9},a={rate:.8,pitch:.7,volume:.9},f={rate:.8,pitch:.8,volume:.9},l={punctuationEcho:"none",relativePitch:-0.6},c="ALERT_NONMODAL",h="ALERT_MODAL",p="INVALID_KEYPRESS",d="insertMode",v="start",m=[{substr:";",newSubstr:" semicolon "},{substr:":",newSubstr:" colon "}],g={SPEAK_ANNOT:"annots",SPEAK_ALL_ANNOTS:"all_annots",TOGGLE_LOCATION:"toggle_location",SPEAK_MODE:"mode",SPEAK_ROW_COL:"row_col",TOGGLE_DISPLACEMENT:"toggle_displacement",FOCUS_TEXT:"focus_text"},y="CONTROL + SHIFT ";r.editor=null;var b=null,w={},E=!1,S=!1,x=!1,T=null,N={},C={},k=function(e){return y+String.fromCharCode(e)},L=function(){var e=r.editor.keyBinding.getKeyboardHandler();return e.$id==="ace/keyboard/vim"},A=function(e){return r.editor.getSession().getTokenAt(e.row,e.column+1)},O=function(e){return r.editor.getSession().getLine(e.row)},M=function(e){w[e.row]&&cvox.Api.playEarcon(c),E?(cvox.Api.stop(),W(e),R(A(e)),I(e.row,1)):I(e.row,0)},_=function(e){var t=O(e),n=t.substr(e.column-1);e.column===0&&(n=" "+t);var r=/^\W(\w+)/,i=r.exec(n);return i!==null},D={constant:{prop:i},entity:{prop:o},keyword:{prop:u},storage:{prop:a},variable:{prop:f},meta:{prop:s,replace:[{substr:"</",newSubstr:" closing tag "},{substr:"/>",newSubstr:" close tag "},{substr:"<",newSubstr:" tag start "},{substr:">",newSubstr:" tag end "}]}},P={prop:P},H=function(e,t){var n=e;for(var r=0;r<t.length;r++){var i=t[r],s=new RegExp(i.substr,"g");n=n.replace(s,i.newSubstr)}return n},B=function(e,t,n){var r={};r.value="",r.type=e[t].type;for(var i=t;i<n;i++)r.value+=e[i].value;return r},j=function(e){if(e.length<=1)return e;var t=[],n=0;for(var r=1;r<e.length;r++){var i=e[n],s=e[r];U(i)!==U(s)&&(t.push(B(e,n,r)),n=r)}return t.push(B(e,n,e.length)),t},F=function(e){var t=r.editor.getSession().getLine(e),n=/^\s*$/;return n.exec(t)!==null},I=function(e,t){var n=r.editor.getSession().getTokens(e);if(n.length===0||F(e)){cvox.Api.playEarcon("EDITABLE_TEXT");return}n=j(n);var i=n[0];n=n.filter(function(e){return e!==i}),z(i,t),n.forEach(R)},q=function(e){z(e,0)},R=function(e){z(e,1)},U=function(e){if(!e||!e.type)return;var t=e.type.split(".");if(t.length===0)return;var n=t[0],r=D[n];return r?r:P},z=function(e,t){var n=U(e),r=H(e.value,m);n.replace&&(r=H(r,n.replace)),cvox.Api.speak(r,t,n.prop)},W=function(e){var t=O(e);cvox.Api.speak(t[e.column],1)},X=function(e,t){var n=O(t),r=n.substring(e.column,t.column);r=r.replace(/ /g," space "),cvox.Api.speak(r)},V=function(e,t){if(Math.abs(e.column-t.column)!==1){var n=O(t).length;if(t.column===0||t.column===n){I(t.row,0);return}if(_(t)){cvox.Api.stop(),R(A(t));return}}W(t)},$=function(e,t){r.editor.selection.isEmpty()?S?X(e,t):V(e,t):(X(e,t),cvox.Api.speak("selected",1))},J=function(e){if(x){x=!1;return}var t=r.editor.selection.getCursor();t.row!==b.row?M(t):$(b,t),b=t},K=function(e){r.editor.selection.isEmpty()&&cvox.Api.speak("unselected")},Q=function(e){switch(e.action){case"remove":cvox.Api.speak(e.text,0,l),x=!0;break;case"insert":cvox.Api.speak(e.text,0),x=!0}},G=function(e){var t=e.row,n=e.column;return!w[t]||!w[t][n]},Y=function(e){w={};for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=n.column;w[r]||(w[r]={}),w[r][i]=n}},Z=function(e){var t=r.editor.getSession().getAnnotations(),n=t.filter(G);n.length>0&&cvox.Api.playEarcon(c),Y(t)},et=function(e){var t=e.type+" "+e.text+" on "+nt(e.row,e.column);t=t.replace(";","semicolon"),cvox.Api.speak(t,1)},tt=function(e){var t=w[e];for(var n in t)et(t[n])},nt=function(e,t){return"row "+(e+1)+" column "+(t+1)},rt=function(){cvox.Api.speak(nt(b.row,b.column))},it=function(){for(var e in w)tt(e)},st=function(){if(!L())return;switch(r.editor.keyBinding.$data.state){case d:cvox.Api.speak("Insert mode");break;case v:cvox.Api.speak("Command mode")}},ot=function(){E=!E,E?cvox.Api.speak("Speak location on row change enabled."):cvox.Api.speak("Speak location on row change disabled.")},ut=function(){S=!S,S?cvox.Api.speak("Speak displacement on column changes."):cvox.Api.speak("Speak current character or word on column changes.")},at=function(e){if(e.ctrlKey&&e.shiftKey){var t=N[e.keyCode];t&&t.func()}},ft=function(e,t){if(!L())return;var n=t.keyBinding.$data.state;if(n===T)return;switch(n){case d:cvox.Api.playEarcon(h),cvox.Api.setKeyEcho(!0);break;case v:cvox.Api.playEarcon(h),cvox.Api.setKeyEcho(!1)}T=n},lt=function(e){var t=e.detail.customCommand,n=C[t];n&&(n.func(),r.editor.focus())},ct=function(){var e=dt.map(function(e){return{desc:e.desc+k(e.keyCode),cmd:e.cmd}}),t=document.querySelector("body");t.setAttribute("contextMenuActions",JSON.stringify(e)),t.addEventListener("ATCustomEvent",lt,!0)},ht=function(e){e.match?I(b.row,0):cvox.Api.playEarcon(p)},pt=function(){r.editor.focus()},dt=[{keyCode:49,func:function(){tt(b.row)},cmd:g.SPEAK_ANNOT,desc:"Speak annotations on line"},{keyCode:50,func:it,cmd:g.SPEAK_ALL_ANNOTS,desc:"Speak all annotations"},{keyCode:51,func:st,cmd:g.SPEAK_MODE,desc:"Speak Vim mode"},{keyCode:52,func:ot,cmd:g.TOGGLE_LOCATION,desc:"Toggle speak row location"},{keyCode:53,func:rt,cmd:g.SPEAK_ROW_COL,desc:"Speak row and column"},{keyCode:54,func:ut,cmd:g.TOGGLE_DISPLACEMENT,desc:"Toggle speak displacement"},{keyCode:55,func:pt,cmd:g.FOCUS_TEXT,desc:"Focus text"}],vt=function(e,t){r.editor=t,t.getSession().selection.on("changeCursor",J),t.getSession().selection.on("changeSelection",K),t.getSession().on("change",Q),t.getSession().on("changeAnnotation",Z),t.on("changeStatus",ft),t.on("findSearchBox",ht),t.container.addEventListener("keydown",at),b=t.selection.getCursor()},mt=function(e){vt(null,e),dt.forEach(function(e){N[e.keyCode]=e,C[e.cmd]=e}),e.on("focus",vt),L()&&cvox.Api.setKeyEcho(!1),ct()},yt=0,bt=15,Et=e("../editor").Editor;e("../config").defineOptions(Et.prototype,"editor",{enableChromevoxEnhancements:{set:function(e){e&&wt(this)},value:!0}})});
+ (function() {
+ ace.require(["ace/ext/chromevox"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-elastic_tabstops_lite.js b/library/ace/ext-elastic_tabstops_lite.js
new file mode 100644
index 000000000..bae2275a4
--- /dev/null
+++ b/library/ace/ext-elastic_tabstops_lite.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/elastic_tabstops_lite",["require","exports","module","ace/editor","ace/config"],function(e,t,n){"use strict";var r=function(e){this.$editor=e;var t=this,n=[],r=!1;this.onAfterExec=function(){r=!1,t.processRows(n),n=[]},this.onExec=function(){r=!0},this.onChange=function(e){r&&(n.indexOf(e.start.row)==-1&&n.push(e.start.row),e.end.row!=e.start.row&&n.push(e.end.row))}};(function(){this.processRows=function(e){this.$inChange=!0;var t=[];for(var n=0,r=e.length;n<r;n++){var i=e[n];if(t.indexOf(i)>-1)continue;var s=this.$findCellWidthsForBlock(i),o=this.$setBlockCellWidthsToMax(s.cellWidths),u=s.firstRow;for(var a=0,f=o.length;a<f;a++){var l=o[a];t.push(u),this.$adjustRow(u,l),u++}}this.$inChange=!1},this.$findCellWidthsForBlock=function(e){var t=[],n,r=e;while(r>=0){n=this.$cellWidthsForRow(r);if(n.length==0)break;t.unshift(n),r--}var i=r+1;r=e;var s=this.$editor.session.getLength();while(r<s-1){r++,n=this.$cellWidthsForRow(r);if(n.length==0)break;t.push(n)}return{cellWidths:t,firstRow:i}},this.$cellWidthsForRow=function(e){var t=this.$selectionColumnsForRow(e),n=[-1].concat(this.$tabsForRow(e)),r=n.map(function(e){return 0}).slice(1),i=this.$editor.session.getLine(e);for(var s=0,o=n.length-1;s<o;s++){var u=n[s]+1,a=n[s+1],f=this.$rightmostSelectionInCell(t,a),l=i.substring(u,a);r[s]=Math.max(l.replace(/\s+$/g,"").length,f-u)}return r},this.$selectionColumnsForRow=function(e){var t=[],n=this.$editor.getCursorPosition();return this.$editor.session.getSelection().isEmpty()&&e==n.row&&t.push(n.column),t},this.$setBlockCellWidthsToMax=function(e){var t=!0,n,r,i,s=this.$izip_longest(e);for(var o=0,u=s.length;o<u;o++){var a=s[o];if(!a.push){console.error(a);continue}a.push(NaN);for(var f=0,l=a.length;f<l;f++){var c=a[f];t&&(n=f,i=0,t=!1);if(isNaN(c)){r=f;for(var h=n;h<r;h++)e[h][o]=i;t=!0}i=Math.max(i,c)}}return e},this.$rightmostSelectionInCell=function(e,t){var n=0;if(e.length){var r=[];for(var i=0,s=e.length;i<s;i++)e[i]<=t?r.push(i):r.push(0);n=Math.max.apply(Math,r)}return n},this.$tabsForRow=function(e){var t=[],n=this.$editor.session.getLine(e),r=/\t/g,i;while((i=r.exec(n))!=null)t.push(i.index);return t},this.$adjustRow=function(e,t){var n=this.$tabsForRow(e);if(n.length==0)return;var r=0,i=-1,s=this.$izip(t,n);for(var o=0,u=s.length;o<u;o++){var a=s[o][0],f=s[o][1];i+=1+a,f+=r;var l=i-f;if(l==0)continue;var c=this.$editor.session.getLine(e).substr(0,f),h=c.replace(/\s*$/g,""),p=c.length-h.length;l>0&&(this.$editor.session.getDocument().insertInLine({row:e,column:f+1},Array(l+1).join(" ")+" "),this.$editor.session.getDocument().removeInLine(e,f,f+1),r+=l),l<0&&p>=-l&&(this.$editor.session.getDocument().removeInLine(e,f+l,f),r+=l)}},this.$izip_longest=function(e){if(!e[0])return[];var t=e[0].length,n=e.length;for(var r=1;r<n;r++){var i=e[r].length;i>t&&(t=i)}var s=[];for(var o=0;o<t;o++){var u=[];for(var r=0;r<n;r++)e[r][o]===""?u.push(NaN):u.push(e[r][o]);s.push(u)}return s},this.$izip=function(e,t){var n=e.length>=t.length?t.length:e.length,r=[];for(var i=0;i<n;i++){var s=[e[i],t[i]];r.push(s)}return r}}).call(r.prototype),t.ElasticTabstopsLite=r;var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{useElasticTabstops:{set:function(e){e?(this.elasticTabstops||(this.elasticTabstops=new r(this)),this.commands.on("afterExec",this.elasticTabstops.onAfterExec),this.commands.on("exec",this.elasticTabstops.onExec),this.on("change",this.elasticTabstops.onChange)):this.elasticTabstops&&(this.commands.removeListener("afterExec",this.elasticTabstops.onAfterExec),this.commands.removeListener("exec",this.elasticTabstops.onExec),this.removeListener("change",this.elasticTabstops.onChange))}}})});
+ (function() {
+ ace.require(["ace/ext/elastic_tabstops_lite"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-emmet.js b/library/ace/ext-emmet.js
new file mode 100644
index 000000000..45888acc5
--- /dev/null
+++ b/library/ace/ext-emmet.js
@@ -0,0 +1,5 @@
+ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./lib/lang"),o=e("./range").Range,u=e("./anchor").Anchor,a=e("./keyboard/hash_handler").HashHandler,f=e("./tokenizer").Tokenizer,l=o.comparePoints,c=function(){this.snippetMap={},this.snippetNameMap={}};(function(){r.implement(this,i),this.getTokenizer=function(){function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatString?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}return c.$tokenizer=new f({start:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectIf?(n[0].expectIf=!1,n[0].elseBranch=n[0],[n[0]]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1?e=r:n.inFormatString&&(r=="n"?e="\n":r=="t"?e="\n":"ulULE".indexOf(r)!=-1&&(e={changeCase:r,local:r>"a"})),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1),n,r);return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){n[0].choices=e.slice(1,-1).split(",")},next:"start"},{regex:"/("+t("/")+"+)/(?:("+t("/")+"*)/)(\\w*):?",onMatch:function(e,t,n){var r=n[0];return r.fmtString=e,e=this.splitRegex.exec(e),r.guard=e[1],r.fmt=e[2],r.flag=e[3],""},next:"start"},{regex:"`"+t("`")+"*`",onMatch:function(e,t,n){return n[0].code=e.splice(1,-1),""},next:"start"},{regex:"\\?",onMatch:function(e,t,n){n[0]&&(n[0].expectIf=!0)},next:"start"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:"/("+t("/")+"+)/",token:"regex"},{regex:"",onMatch:function(e,t,n){n.inFormatString=!0},next:"start"}]}),c.prototype.getTokenizer=function(){return c.$tokenizer},c.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.$getDefaultValue=function(e,t){if(/^[A-Z]\d+$/.test(t)){var n=t.substr(1);return(this.variables[t[0]+"__"]||{})[n]}if(/^\d+$/.test(t))return(this.variables.__||{})[t];t=t.replace(/^TM_/,"");if(!e)return;var r=e.session;switch(t){case"CURRENT_WORD":var i=r.getWordRange();case"SELECTION":case"SELECTED_TEXT":return r.getTextRange(i);case"CURRENT_LINE":return r.getLine(e.getCursorPosition().row);case"PREV_LINE":return r.getLine(e.getCursorPosition().row-1);case"LINE_INDEX":return e.getCursorPosition().column;case"LINE_NUMBER":return e.getCursorPosition().row+1;case"SOFT_TABS":return r.getUseSoftTabs()?"YES":"NO";case"TAB_SIZE":return r.getTabSize();case"FILENAME":case"FILEPATH":return"";case"FULLNAME":return"Ace"}},this.variables={},this.getVariableValue=function(e,t){return this.variables.hasOwnProperty(t)?this.variables[t](e,t)||"":this.$getDefaultValue(e,t)||""},this.tmStrFormat=function(e,t,n){var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gi]/,""));var s=this.tokenizeTmSnippet(t.fmt,"formatString"),o=this,u=e.replace(i,function(){o.variables.__=arguments;var e=o.resolveVariables(s,n),t="E";for(var r=0;r<e.length;r++){var i=e[r];if(typeof i=="object"){e[r]="";if(i.changeCase&&i.local){var u=e[r+1];u&&typeof u=="string"&&(i.changeCase=="u"?e[r]=u[0].toUpperCase():e[r]=u[0].toLowerCase(),e[r+1]=u.substr(1))}else i.changeCase&&(t=i.changeCase)}else t=="U"?e[r]=i.toUpperCase():t=="L"&&(e[r]=i.toLowerCase())}return e.join("")});return this.variables.__=null,u},this.resolveVariables=function(e,t){function o(t){var n=e.indexOf(t,r+1);n!=-1&&(r=n)}var n=[];for(var r=0;r<e.length;r++){var i=e[r];if(typeof i=="string")n.push(i);else{if(typeof i!="object")continue;if(i.skip)o(i);else{if(i.processed<r)continue;if(i.text){var s=this.getVariableValue(t,i.text);s&&i.fmtString&&(s=this.tmStrFormat(s,i)),i.processed=r,i.expectIf==null?s&&(n.push(s),o(i)):s?i.skip=i.elseBranch:o(i)}else i.tabstopId!=null?n.push(i):i.changeCase!=null&&n.push(i)}}}return n},this.insertSnippetForSelection=function(e,t){function f(e){var t=[];for(var n=0;n<e.length;n++){var r=e[n];if(typeof r=="object"){if(a[r.tabstopId])continue;var i=e.lastIndexOf(r,n-1);r=t[i]||{tabstopId:r.tabstopId}}t[n]=r}return t}var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=e.session.getTabString(),s=r.match(/^\s*/)[0];n.column<s.length&&(s=s.slice(0,n.column));var o=this.tokenizeTmSnippet(t);o=this.resolveVariables(o,e),o=o.map(function(e){return e=="\n"?e+s:typeof e=="string"?e.replace(/\t/g,i):e});var u=[];o.forEach(function(e,t){if(typeof e!="object")return;var n=e.tabstopId,r=u[n];r||(r=u[n]=[],r.index=n,r.value="");if(r.indexOf(e)!==-1)return;r.push(e);var i=o.indexOf(e,t+1);if(i===-1)return;var s=o.slice(t+1,i),a=s.some(function(e){return typeof e=="object"});a&&!r.value?r.value=s:s.length&&(!r.value||typeof r.value!="string")&&(r.value=s.join(""))}),u.forEach(function(e){e.length=0});var a={};for(var l=0;l<o.length;l++){var c=o[l];if(typeof c!="object")continue;var p=c.tabstopId,d=o.indexOf(c,l+1);if(a[p]){a[p]===c&&(a[p]=null);continue}var v=u[p],m=typeof v.value=="string"?[v.value]:f(v.value);m.unshift(l+1,Math.max(0,d-l)),m.push(c),a[p]=c,o.splice.apply(o,m),v.indexOf(c)===-1&&v.push(c)}var g=0,y=0,b="";o.forEach(function(e){typeof e=="string"?(e[0]==="\n"?(y=e.length-1,g++):y+=e.length,b+=e):e.start?e.end={row:g,column:y}:e.start={row:g,column:y}});var w=e.getSelectionRange(),E=e.session.replace(w,b),S=new h(e),x=e.inVirtualSelectionMode&&e.selection.index;S.addTabstops(u,w.start,E,x)},this.insertSnippet=function(e,t){var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t);e.forEachSelection(function(){n.insertSnippetForSelection(e,t)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},this.$getScope=function(e){var t=e.session.$mode.$id||"";t=t.split("/").pop();if(t==="html"||t==="php"){t==="php"&&!e.session.$mode.inlinePhp&&(t="html");var n=e.getCursorPosition(),r=e.session.getState(n.row);typeof r=="object"&&(r=r[0]),r.substring&&(r.substring(0,3)=="js-"?t="javascript":r.substring(0,4)=="css-"?t="css":r.substring(0,4)=="php-"&&(t="php"))}return t},this.getActiveScopes=function(e){var t=this.$getScope(e),n=[t],r=this.snippetMap;return r[t]&&r[t].includeScopes&&n.push.apply(n,r[t].includeScopes),n.push("_"),n},this.expandWithTab=function(e,t){var n=this,r=e.forEachSelection(function(){return n.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return r&&e.tabstopManager&&e.tabstopManager.tabNext(),r},this.expandSnippetForSelection=function(e,t){var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=r.substring(0,n.column),s=r.substr(n.column),o=this.snippetMap,u;return this.getActiveScopes(e).some(function(e){var t=o[e];return t&&(u=this.findMatchingSnippet(t,i,s)),!!u},this),u?t&&t.dryRun?!0:(e.session.doc.removeInLine(n.row,n.column-u.replaceBefore.length,n.column+u.replaceAfter.length),this.variables.M__=u.matchBefore,this.variables.T__=u.matchAfter,this.insertSnippetForSelection(e,u.content),this.variables.M__=this.variables.T__=null,!0):!1},this.findMatchingSnippet=function(e,t,n){for(var r=e.length;r--;){var i=e[r];if(i.startRe&&!i.startRe.test(t))continue;if(i.endRe&&!i.endRe.test(n))continue;if(!i.startRe&&!i.endRe)continue;return i.matchBefore=i.startRe?i.startRe.exec(t):[""],i.matchAfter=i.endRe?i.endRe.exec(n):[""],i.replaceBefore=i.triggerRe?i.triggerRe.exec(t)[0]:"",i.replaceAfter=i.endTriggerRe?i.endTriggerRe.exec(n)[0]:"",i}},this.snippetMap={},this.snippetNameMap={},this.register=function(e,t){function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function u(e,t,n){return e=o(e),t=o(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(e+="$")):(e+=t,e&&e[0]!="^"&&(e="^"+e)),new RegExp(e)}function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={});var o=r[t];if(e.name){var a=o[e.name];a&&i.unregister(a),o[e.name]=e}n[t].push(e),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=s.escapeRegExp(e.tabTrigger));if(!e.trigger&&!e.guard&&!e.endTrigger&&!e.endGuard)return;e.startRe=u(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger,"",!0),e.endRe=u(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger,"",!0)}var n=this.snippetMap,r=this.snippetNameMap,i=this;e||(e=[]),e&&e.content?a(e):Array.isArray(e)&&e.forEach(a),this._signal("registerSnippets",{scope:t})},this.unregister=function(e,t){function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var s=n[e.scope||t],o=s&&s.indexOf(e);o>=0&&s.splice(o,1)}}var n=this.snippetMap,r=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;while(i=r.exec(e)){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch(s){}if(i[4])n.content=i[4].replace(/^\t/gm,""),t.push(n),n={};else{var o=i[2],u=i[3];if(o=="regex"){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(u)[1],n.trigger=a.exec(u)[1],n.endTrigger=a.exec(u)[1],n.endGuard=a.exec(u)[1]}else o=="snippet"?(n.tabTrigger=u.match(/^\S*/)[0],n.name||(n.name=u)):n[o]=u}}return t},this.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r}}).call(c.prototype);var h=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=s.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t=e,n=e.action[0]=="r",r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=i.column-r.column;n&&(u=-u,a=-a);if(!this.$inChange&&n){var f=this.selectedTabstop,c=f&&!f.some(function(e){return l(e.start,r)<=0&&l(e.end,i)>=0});if(c)return this.detach()}var h=this.ranges;for(var p=0;p<h.length;p++){var d=h[p];if(d.end.row<r.row)continue;if(n&&l(r,d.start)<0&&l(i,d.end)>0){this.removeRange(d),p--;continue}d.start.row==s&&d.start.column>r.column&&(d.start.column+=a),d.end.row==s&&d.end.column>=r.column&&(d.end.column+=a),d.start.row>=s&&(d.start.row+=u),d.end.row>=s&&(d.end.row+=u),l(d.start,d.end)>0&&this.removeRange(d)}h.length||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(!e||!e.hasLinkedRanges)return;this.$inChange=!0;var n=this.editor.session,r=n.getTextRange(e.firstNonLinked);for(var i=e.length;i--;){var s=e[i];if(!s.linked)continue;var o=t.snippetManager.tmStrFormat(r,s.original);n.replace(s,o)}this.$inChange=!1},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(!this.editor)return;var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty();for(var r=this.ranges.length;r--;){if(this.ranges[r].linked)continue;var i=this.ranges[r].contains(e.row,e.column),s=n||this.ranges[r].contains(t.row,t.column);if(i&&s)return}this.detach()},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);n=Math.min(Math.max(n,1),t),n==t&&(n=0),this.selectTabstop(n),n===0&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index];if(!t||!t.length)return;this.selectedTabstop=t;if(!this.editor.inVirtualSelectionMode){var n=this.editor.multiSelect;n.toSingleRange(t.firstNonLinked.clone());for(var r=t.length;r--;){if(t.hasLinkedRanges&&t[r].linked)continue;n.addRange(t[r].clone(),!0)}n.ranges[0]&&n.addRange(n.ranges[0].clone())}else this.editor.selection.setRange(t.firstNonLinked);this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.addTabstops=function(e,t,n){this.$openTabstops||(this.$openTabstops=[]);if(!e[0]){var r=o.fromPoints(n,n);v(r.start,t),v(r.end,t),e[0]=[r],e[0].index=0}var i=this.index,s=[i+1,0],u=this.ranges;e.forEach(function(e,n){var r=this.$openTabstops[n]||e;for(var i=e.length;i--;){var a=e[i],f=o.fromPoints(a.start,a.end||a.start);d(f.start,t),d(f.end,t),f.original=a,f.tabstop=r,u.push(f),r!=e?r.unshift(f):r[i]=f,a.fmtString?(f.linked=!0,r.hasLinkedRanges=!0):r.firstNonLinked||(r.firstNonLinked=f)}r.firstNonLinked||(r.hasLinkedRanges=!1),r===e&&(s.push(r),this.$openTabstops[n]=r),this.addTabstopMarkers(r)},this),s.length>2&&(this.tabstops.length&&s.push(s.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,s))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);e.tabstop.splice(t,1),t=this.ranges.indexOf(e),this.ranges.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(t=this.tabstops.indexOf(e.tabstop),t!=-1&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new a,this.keyboardHandler.bindKeys({Tab:function(e){if(t.snippetManager&&t.snippetManager.expandWithTab(e))return;e.tabstopManager.tabNext(1)},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1)},Esc:function(e){e.tabstopManager.detach()},Return:function(e){return!1}})}).call(h.prototype);var p={};p.onChange=u.prototype.onChange,p.setPosition=function(e,t){this.pos.row=e,this.pos.column=t},p.update=function(e,t,n){this.$insertRight=n,this.pos=e,this.onChange(t)};var d=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},v=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new c;var m=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(m.prototype)}),ace.define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","resources","resources","range","tabStops","resources","utils","actions","ace/config","ace/config"],function(e,t,n){"use strict";function f(){}var r=e("ace/keyboard/hash_handler").HashHandler,i=e("ace/editor").Editor,s=e("ace/snippets").snippetManager,o=e("ace/range").Range,u,a;f.prototype={setupContext:function(e){this.ace=e,this.indentation=e.session.getTabString(),u||(u=window.emmet),u.require("resources").setVariable("indentation",this.indentation),this.$syntax=null,this.$syntax=this.getSyntax()},getSelectionRange:function(){var e=this.ace.getSelectionRange(),t=this.ace.session.doc;return{start:t.positionToIndex(e.start),end:t.positionToIndex(e.end)}},createSelection:function(e,t){var n=this.ace.session.doc;this.ace.selection.setRange({start:n.indexToPosition(e),end:n.indexToPosition(t)})},getCurrentLineRange:function(){var e=this.ace,t=e.getCursorPosition().row,n=e.session.getLine(t).length,r=e.session.doc.positionToIndex({row:t,column:0});return{start:r,end:r+n}},getCaretPos:function(){var e=this.ace.getCursorPosition();return this.ace.session.doc.positionToIndex(e)},setCaretPos:function(e){var t=this.ace.session.doc.indexToPosition(e);this.ace.selection.moveToPosition(t)},getCurrentLine:function(){var e=this.ace.getCursorPosition().row;return this.ace.session.getLine(e)},replaceContent:function(e,t,n,r){n==null&&(n=t==null?this.getContent().length:t),t==null&&(t=0);var i=this.ace,u=i.session.doc,a=o.fromPoints(u.indexToPosition(t),u.indexToPosition(n));i.session.remove(a),a.end=a.start,e=this.$updateTabstops(e),s.insertSnippet(i,e)},getContent:function(){return this.ace.getValue()},getSyntax:function(){if(this.$syntax)return this.$syntax;var e=this.ace.session.$modeId.split("/").pop();if(e=="html"||e=="php"){var t=this.ace.getCursorPosition(),n=this.ace.session.getState(t.row);typeof n!="string"&&(n=n[0]),n&&(n=n.split("-"),n.length>1?e=n[0]:e=="php"&&(e="html"))}return e},getProfileName:function(){switch(this.getSyntax()){case"css":return"css";case"xml":case"xsl":return"xml";case"html":var e=u.require("resources").getVariable("profile");return e||(e=this.ace.session.getLines(0,2).join("").search(/<!DOCTYPE[^>]+XHTML/i)!=-1?"xhtml":"html"),e;default:var t=this.ace.session.$mode;return t.emmetConfig&&t.emmetConfig.profile||"xhtml"}},prompt:function(e){return prompt(e)},getSelection:function(){return this.ace.session.getTextRange()},getFilePath:function(){return""},$updateTabstops:function(e){var t=1e3,n=0,r=null,i=u.require("range"),s=u.require("tabStops"),o=u.require("resources").getVocabulary("user"),a={tabstop:function(e){var o=parseInt(e.group,10),u=o===0;u?o=++n:o+=t;var f=e.placeholder;f&&(f=s.processText(f,a));var l="${"+o+(f?":"+f:"")+"}";return u&&(r=i.create(e.start,l)),l},escape:function(e){return e=="$"?"\\$":e=="\\"?"\\\\":e}};return e=s.processText(e,a),o.variables.insert_final_tabstop&&!/\$\{0\}$/.test(e)?e+="${0}":r&&(e=u.require("utils").replaceSubstring(e,"${0}",r)),e}};var l={expand_abbreviation:{mac:"ctrl+alt+e",win:"alt+e"},match_pair_outward:{mac:"ctrl+d",win:"ctrl+,"},match_pair_inward:{mac:"ctrl+j",win:"ctrl+shift+0"},matching_pair:{mac:"ctrl+alt+j",win:"alt+j"},next_edit_point:"alt+right",prev_edit_point:"alt+left",toggle_comment:{mac:"command+/",win:"ctrl+/"},split_join_tag:{mac:"shift+command+'",win:"shift+ctrl+`"},remove_tag:{mac:"command+'",win:"shift+ctrl+;"},evaluate_math_expression:{mac:"shift+command+y",win:"shift+ctrl+y"},increment_number_by_1:"ctrl+up",decrement_number_by_1:"ctrl+down",increment_number_by_01:"alt+up",decrement_number_by_01:"alt+down",increment_number_by_10:{mac:"alt+command+up",win:"shift+alt+up"},decrement_number_by_10:{mac:"alt+command+down",win:"shift+alt+down"},select_next_item:{mac:"shift+command+.",win:"shift+ctrl+."},select_previous_item:{mac:"shift+command+,",win:"shift+ctrl+,"},reflect_css_value:{mac:"shift+command+r",win:"shift+ctrl+r"},encode_decode_data_url:{mac:"shift+ctrl+d",win:"ctrl+'"},expand_abbreviation_with_tab:"Tab",wrap_with_abbreviation:{mac:"shift+ctrl+a",win:"shift+ctrl+a"}},c=new f;t.commands=new r,t.runEmmetCommand=function v(e){try{c.setupContext(e);var t=u.require("actions");if(this.action=="expand_abbreviation_with_tab"){if(!e.selection.isEmpty())return!1;var n=e.selection.lead,r=e.session.getTokenAt(n.row,n.column);if(r&&/\btag\b/.test(r.type))return!1}if(this.action=="wrap_with_abbreviation")return setTimeout(function(){t.run("wrap_with_abbreviation",c)},0);var i=t.run(this.action,c)}catch(s){if(!u)return d(v.bind(this,e)),!0;e._signal("changeStatus",typeof s=="string"?s:s.message),console.log(s),i=!1}return i};for(var h in l)t.commands.addCommand({name:"emmet:"+h,action:h,bindKey:l[h],exec:t.runEmmetCommand,multiSelectAction:"forEach"});t.updateCommands=function(e,n){n?e.keyBinding.addKeyboardHandler(t.commands):e.keyBinding.removeKeyboardHandler(t.commands)},t.isSupportedMode=function(e){if(!e)return!1;if(e.emmetConfig)return!0;var t=e.$id||e;return/css|less|scss|sass|stylus|html|php|twig|ejs|handlebars/.test(t)},t.isAvailable=function(e,n){if(/(evaluate_math_expression|expand_abbreviation)$/.test(n))return!0;var r=e.session.$mode,i=t.isSupportedMode(r);if(i&&r.$modes)try{c.setupContext(e),/js|php/.test(c.getSyntax())&&(i=!1)}catch(s){}return i};var p=function(e,n){var r=n;if(!r)return;var i=t.isSupportedMode(r.session.$mode);e.enableEmmet===!1&&(i=!1),i&&d(),t.updateCommands(r,i)},d=function(t){typeof a=="string"&&e("ace/config").loadModule(a,function(){a=null,t&&t()})};t.AceEmmetEditor=f,e("ace/config").defineOptions(i.prototype,"editor",{enableEmmet:{set:function(e){this[e?"on":"removeListener"]("changeMode",p),p({enableEmmet:!!e},this)},value:!0}}),t.setCore=function(e){typeof e=="string"?a=e:u=e}});
+ (function() {
+ ace.require(["ace/ext/emmet"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-error_marker.js b/library/ace/ext-error_marker.js
new file mode 100644
index 000000000..dfefa20ab
--- /dev/null
+++ b/library/ace/ext-error_marker.js
@@ -0,0 +1,5 @@
+;
+ (function() {
+ ace.require(["ace/ext/error_marker"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-keybinding_menu.js b/library/ace/ext-keybinding_menu.js
new file mode 100644
index 000000000..f73cf44ce
--- /dev/null
+++ b/library/ace/ext-keybinding_menu.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../../lib/dom"),i="#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);-webkit-transition: all 0.5s;transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 1000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}";r.importCssString(i),n.exports.overlayPage=function(t,n,i,s,o,u){function l(e){e.keyCode===27&&a.click()}i=i?"top: "+i+";":"",o=o?"bottom: "+o+";":"",s=s?"right: "+s+";":"",u=u?"left: "+u+";":"";var a=document.createElement("div"),f=document.createElement("div");a.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; background-color: rgba(0, 0, 0, 0.3);",a.addEventListener("click",function(){document.removeEventListener("keydown",l),a.parentNode.removeChild(a),t.focus(),a=null}),document.addEventListener("keydown",l),f.style.cssText=i+s+o+u,f.addEventListener("click",function(e){e.stopPropagation()});var c=r.createElement("div");c.style.position="relative";var h=r.createElement("div");h.className="ace_closeButton",h.addEventListener("click",function(){a.click()}),c.appendChild(h),f.appendChild(c),f.appendChild(n),a.appendChild(f),document.body.appendChild(a),t.blur()}}),ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../../lib/keys");n.exports.getEditorKeybordShortcuts=function(e){var t=r.KEY_MODS,n=[],i={};return e.keyBinding.$handlers.forEach(function(e){var t=e.commandKeyBinding;for(var r in t){var s=r.replace(/(^|-)\w/g,function(e){return e.toUpperCase()}),o=t[r];Array.isArray(o)||(o=[o]),o.forEach(function(e){typeof e!="string"&&(e=e.name),i[e]?i[e].key+="|"+s:(i[e]={key:s,command:e},n.push(i[e]))})}}),n}}),ace.define("ace/ext/keybinding_menu",["require","exports","module","ace/editor","ace/ext/menu_tools/overlay_page","ace/ext/menu_tools/get_editor_keyboard_shortcuts"],function(e,t,n){"use strict";function i(t){if(!document.getElementById("kbshortcutmenu")){var n=e("./menu_tools/overlay_page").overlayPage,r=e("./menu_tools/get_editor_keyboard_shortcuts").getEditorKeybordShortcuts,i=r(t),s=document.createElement("div"),o=i.reduce(function(e,t){return e+'<div class="ace_optionsMenuEntry"><span class="ace_optionsMenuCommand">'+t.command+"</span> : "+'<span class="ace_optionsMenuKey">'+t.key+"</span></div>"},"");s.id="kbshortcutmenu",s.innerHTML="<h1>Keyboard Shortcuts</h1>"+o+"</div>",n(t,s,"0","0","0",null)}}var r=e("ace/editor").Editor;n.exports.init=function(e){r.prototype.showKeyboardShortcuts=function(){i(this)},e.commands.addCommands([{name:"showKeyboardShortcuts",bindKey:{win:"Ctrl-Alt-h",mac:"Command-Alt-h"},exec:function(e,t){e.showKeyboardShortcuts()}}])}});
+ (function() {
+ ace.require(["ace/ext/keybinding_menu"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-language_tools.js b/library/ace/ext-language_tools.js
new file mode 100644
index 000000000..0a754c2bd
--- /dev/null
+++ b/library/ace/ext-language_tools.js
@@ -0,0 +1,5 @@
+ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./lib/lang"),o=e("./range").Range,u=e("./anchor").Anchor,a=e("./keyboard/hash_handler").HashHandler,f=e("./tokenizer").Tokenizer,l=o.comparePoints,c=function(){this.snippetMap={},this.snippetNameMap={}};(function(){r.implement(this,i),this.getTokenizer=function(){function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatString?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}return c.$tokenizer=new f({start:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectIf?(n[0].expectIf=!1,n[0].elseBranch=n[0],[n[0]]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1?e=r:n.inFormatString&&(r=="n"?e="\n":r=="t"?e="\n":"ulULE".indexOf(r)!=-1&&(e={changeCase:r,local:r>"a"})),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1),n,r);return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){n[0].choices=e.slice(1,-1).split(",")},next:"start"},{regex:"/("+t("/")+"+)/(?:("+t("/")+"*)/)(\\w*):?",onMatch:function(e,t,n){var r=n[0];return r.fmtString=e,e=this.splitRegex.exec(e),r.guard=e[1],r.fmt=e[2],r.flag=e[3],""},next:"start"},{regex:"`"+t("`")+"*`",onMatch:function(e,t,n){return n[0].code=e.splice(1,-1),""},next:"start"},{regex:"\\?",onMatch:function(e,t,n){n[0]&&(n[0].expectIf=!0)},next:"start"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:"/("+t("/")+"+)/",token:"regex"},{regex:"",onMatch:function(e,t,n){n.inFormatString=!0},next:"start"}]}),c.prototype.getTokenizer=function(){return c.$tokenizer},c.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.$getDefaultValue=function(e,t){if(/^[A-Z]\d+$/.test(t)){var n=t.substr(1);return(this.variables[t[0]+"__"]||{})[n]}if(/^\d+$/.test(t))return(this.variables.__||{})[t];t=t.replace(/^TM_/,"");if(!e)return;var r=e.session;switch(t){case"CURRENT_WORD":var i=r.getWordRange();case"SELECTION":case"SELECTED_TEXT":return r.getTextRange(i);case"CURRENT_LINE":return r.getLine(e.getCursorPosition().row);case"PREV_LINE":return r.getLine(e.getCursorPosition().row-1);case"LINE_INDEX":return e.getCursorPosition().column;case"LINE_NUMBER":return e.getCursorPosition().row+1;case"SOFT_TABS":return r.getUseSoftTabs()?"YES":"NO";case"TAB_SIZE":return r.getTabSize();case"FILENAME":case"FILEPATH":return"";case"FULLNAME":return"Ace"}},this.variables={},this.getVariableValue=function(e,t){return this.variables.hasOwnProperty(t)?this.variables[t](e,t)||"":this.$getDefaultValue(e,t)||""},this.tmStrFormat=function(e,t,n){var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gi]/,""));var s=this.tokenizeTmSnippet(t.fmt,"formatString"),o=this,u=e.replace(i,function(){o.variables.__=arguments;var e=o.resolveVariables(s,n),t="E";for(var r=0;r<e.length;r++){var i=e[r];if(typeof i=="object"){e[r]="";if(i.changeCase&&i.local){var u=e[r+1];u&&typeof u=="string"&&(i.changeCase=="u"?e[r]=u[0].toUpperCase():e[r]=u[0].toLowerCase(),e[r+1]=u.substr(1))}else i.changeCase&&(t=i.changeCase)}else t=="U"?e[r]=i.toUpperCase():t=="L"&&(e[r]=i.toLowerCase())}return e.join("")});return this.variables.__=null,u},this.resolveVariables=function(e,t){function o(t){var n=e.indexOf(t,r+1);n!=-1&&(r=n)}var n=[];for(var r=0;r<e.length;r++){var i=e[r];if(typeof i=="string")n.push(i);else{if(typeof i!="object")continue;if(i.skip)o(i);else{if(i.processed<r)continue;if(i.text){var s=this.getVariableValue(t,i.text);s&&i.fmtString&&(s=this.tmStrFormat(s,i)),i.processed=r,i.expectIf==null?s&&(n.push(s),o(i)):s?i.skip=i.elseBranch:o(i)}else i.tabstopId!=null?n.push(i):i.changeCase!=null&&n.push(i)}}}return n},this.insertSnippetForSelection=function(e,t){function f(e){var t=[];for(var n=0;n<e.length;n++){var r=e[n];if(typeof r=="object"){if(a[r.tabstopId])continue;var i=e.lastIndexOf(r,n-1);r=t[i]||{tabstopId:r.tabstopId}}t[n]=r}return t}var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=e.session.getTabString(),s=r.match(/^\s*/)[0];n.column<s.length&&(s=s.slice(0,n.column));var o=this.tokenizeTmSnippet(t);o=this.resolveVariables(o,e),o=o.map(function(e){return e=="\n"?e+s:typeof e=="string"?e.replace(/\t/g,i):e});var u=[];o.forEach(function(e,t){if(typeof e!="object")return;var n=e.tabstopId,r=u[n];r||(r=u[n]=[],r.index=n,r.value="");if(r.indexOf(e)!==-1)return;r.push(e);var i=o.indexOf(e,t+1);if(i===-1)return;var s=o.slice(t+1,i),a=s.some(function(e){return typeof e=="object"});a&&!r.value?r.value=s:s.length&&(!r.value||typeof r.value!="string")&&(r.value=s.join(""))}),u.forEach(function(e){e.length=0});var a={};for(var l=0;l<o.length;l++){var c=o[l];if(typeof c!="object")continue;var p=c.tabstopId,d=o.indexOf(c,l+1);if(a[p]){a[p]===c&&(a[p]=null);continue}var v=u[p],m=typeof v.value=="string"?[v.value]:f(v.value);m.unshift(l+1,Math.max(0,d-l)),m.push(c),a[p]=c,o.splice.apply(o,m),v.indexOf(c)===-1&&v.push(c)}var g=0,y=0,b="";o.forEach(function(e){typeof e=="string"?(e[0]==="\n"?(y=e.length-1,g++):y+=e.length,b+=e):e.start?e.end={row:g,column:y}:e.start={row:g,column:y}});var w=e.getSelectionRange(),E=e.session.replace(w,b),S=new h(e),x=e.inVirtualSelectionMode&&e.selection.index;S.addTabstops(u,w.start,E,x)},this.insertSnippet=function(e,t){var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t);e.forEachSelection(function(){n.insertSnippetForSelection(e,t)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},this.$getScope=function(e){var t=e.session.$mode.$id||"";t=t.split("/").pop();if(t==="html"||t==="php"){t==="php"&&!e.session.$mode.inlinePhp&&(t="html");var n=e.getCursorPosition(),r=e.session.getState(n.row);typeof r=="object"&&(r=r[0]),r.substring&&(r.substring(0,3)=="js-"?t="javascript":r.substring(0,4)=="css-"?t="css":r.substring(0,4)=="php-"&&(t="php"))}return t},this.getActiveScopes=function(e){var t=this.$getScope(e),n=[t],r=this.snippetMap;return r[t]&&r[t].includeScopes&&n.push.apply(n,r[t].includeScopes),n.push("_"),n},this.expandWithTab=function(e,t){var n=this,r=e.forEachSelection(function(){return n.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return r&&e.tabstopManager&&e.tabstopManager.tabNext(),r},this.expandSnippetForSelection=function(e,t){var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=r.substring(0,n.column),s=r.substr(n.column),o=this.snippetMap,u;return this.getActiveScopes(e).some(function(e){var t=o[e];return t&&(u=this.findMatchingSnippet(t,i,s)),!!u},this),u?t&&t.dryRun?!0:(e.session.doc.removeInLine(n.row,n.column-u.replaceBefore.length,n.column+u.replaceAfter.length),this.variables.M__=u.matchBefore,this.variables.T__=u.matchAfter,this.insertSnippetForSelection(e,u.content),this.variables.M__=this.variables.T__=null,!0):!1},this.findMatchingSnippet=function(e,t,n){for(var r=e.length;r--;){var i=e[r];if(i.startRe&&!i.startRe.test(t))continue;if(i.endRe&&!i.endRe.test(n))continue;if(!i.startRe&&!i.endRe)continue;return i.matchBefore=i.startRe?i.startRe.exec(t):[""],i.matchAfter=i.endRe?i.endRe.exec(n):[""],i.replaceBefore=i.triggerRe?i.triggerRe.exec(t)[0]:"",i.replaceAfter=i.endTriggerRe?i.endTriggerRe.exec(n)[0]:"",i}},this.snippetMap={},this.snippetNameMap={},this.register=function(e,t){function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function u(e,t,n){return e=o(e),t=o(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(e+="$")):(e+=t,e&&e[0]!="^"&&(e="^"+e)),new RegExp(e)}function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={});var o=r[t];if(e.name){var a=o[e.name];a&&i.unregister(a),o[e.name]=e}n[t].push(e),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=s.escapeRegExp(e.tabTrigger));if(!e.trigger&&!e.guard&&!e.endTrigger&&!e.endGuard)return;e.startRe=u(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger,"",!0),e.endRe=u(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger,"",!0)}var n=this.snippetMap,r=this.snippetNameMap,i=this;e||(e=[]),e&&e.content?a(e):Array.isArray(e)&&e.forEach(a),this._signal("registerSnippets",{scope:t})},this.unregister=function(e,t){function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var s=n[e.scope||t],o=s&&s.indexOf(e);o>=0&&s.splice(o,1)}}var n=this.snippetMap,r=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;while(i=r.exec(e)){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch(s){}if(i[4])n.content=i[4].replace(/^\t/gm,""),t.push(n),n={};else{var o=i[2],u=i[3];if(o=="regex"){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(u)[1],n.trigger=a.exec(u)[1],n.endTrigger=a.exec(u)[1],n.endGuard=a.exec(u)[1]}else o=="snippet"?(n.tabTrigger=u.match(/^\S*/)[0],n.name||(n.name=u)):n[o]=u}}return t},this.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r}}).call(c.prototype);var h=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=s.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t=e,n=e.action[0]=="r",r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=i.column-r.column;n&&(u=-u,a=-a);if(!this.$inChange&&n){var f=this.selectedTabstop,c=f&&!f.some(function(e){return l(e.start,r)<=0&&l(e.end,i)>=0});if(c)return this.detach()}var h=this.ranges;for(var p=0;p<h.length;p++){var d=h[p];if(d.end.row<r.row)continue;if(n&&l(r,d.start)<0&&l(i,d.end)>0){this.removeRange(d),p--;continue}d.start.row==s&&d.start.column>r.column&&(d.start.column+=a),d.end.row==s&&d.end.column>=r.column&&(d.end.column+=a),d.start.row>=s&&(d.start.row+=u),d.end.row>=s&&(d.end.row+=u),l(d.start,d.end)>0&&this.removeRange(d)}h.length||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(!e||!e.hasLinkedRanges)return;this.$inChange=!0;var n=this.editor.session,r=n.getTextRange(e.firstNonLinked);for(var i=e.length;i--;){var s=e[i];if(!s.linked)continue;var o=t.snippetManager.tmStrFormat(r,s.original);n.replace(s,o)}this.$inChange=!1},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(!this.editor)return;var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty();for(var r=this.ranges.length;r--;){if(this.ranges[r].linked)continue;var i=this.ranges[r].contains(e.row,e.column),s=n||this.ranges[r].contains(t.row,t.column);if(i&&s)return}this.detach()},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);n=Math.min(Math.max(n,1),t),n==t&&(n=0),this.selectTabstop(n),n===0&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index];if(!t||!t.length)return;this.selectedTabstop=t;if(!this.editor.inVirtualSelectionMode){var n=this.editor.multiSelect;n.toSingleRange(t.firstNonLinked.clone());for(var r=t.length;r--;){if(t.hasLinkedRanges&&t[r].linked)continue;n.addRange(t[r].clone(),!0)}n.ranges[0]&&n.addRange(n.ranges[0].clone())}else this.editor.selection.setRange(t.firstNonLinked);this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.addTabstops=function(e,t,n){this.$openTabstops||(this.$openTabstops=[]);if(!e[0]){var r=o.fromPoints(n,n);v(r.start,t),v(r.end,t),e[0]=[r],e[0].index=0}var i=this.index,s=[i+1,0],u=this.ranges;e.forEach(function(e,n){var r=this.$openTabstops[n]||e;for(var i=e.length;i--;){var a=e[i],f=o.fromPoints(a.start,a.end||a.start);d(f.start,t),d(f.end,t),f.original=a,f.tabstop=r,u.push(f),r!=e?r.unshift(f):r[i]=f,a.fmtString?(f.linked=!0,r.hasLinkedRanges=!0):r.firstNonLinked||(r.firstNonLinked=f)}r.firstNonLinked||(r.hasLinkedRanges=!1),r===e&&(s.push(r),this.$openTabstops[n]=r),this.addTabstopMarkers(r)},this),s.length>2&&(this.tabstops.length&&s.push(s.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,s))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);e.tabstop.splice(t,1),t=this.ranges.indexOf(e),this.ranges.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(t=this.tabstops.indexOf(e.tabstop),t!=-1&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new a,this.keyboardHandler.bindKeys({Tab:function(e){if(t.snippetManager&&t.snippetManager.expandWithTab(e))return;e.tabstopManager.tabNext(1)},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1)},Esc:function(e){e.tabstopManager.detach()},Return:function(e){return!1}})}).call(h.prototype);var p={};p.onChange=u.prototype.onChange,p.setPosition=function(e,t){this.pos.row=e,this.pos.column=t},p.update=function(e,t,n){this.$insertRight=n,this.pos=e,this.onChange(t)};var d=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},v=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new c;var m=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(m.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../virtual_renderer").VirtualRenderer,i=e("../editor").Editor,s=e("../range").Range,o=e("../lib/event"),u=e("../lib/lang"),a=e("../lib/dom"),f=function(e){var t=new r(e);t.$maxLines=4;var n=new i(t);return n.setHighlightActiveLine(!1),n.setShowPrintMargin(!1),n.renderer.setShowGutter(!1),n.renderer.setHighlightGutterLine(!1),n.$mouseHandler.$focusWaitTimout=0,n.$highlightTagPending=!0,n},l=function(e){var t=a.createElement("div"),n=new f(t);e&&e.appendChild(t),t.style.display="none",n.renderer.content.style.cursor="default",n.renderer.setStyle("ace_autocomplete"),n.setOption("displayIndentGuides",!1),n.setOption("dragDelay",150);var r=function(){};n.focus=r,n.$isFocused=!0,n.renderer.$cursorLayer.restartTimer=r,n.renderer.$cursorLayer.element.style.opacity=0,n.renderer.$maxLines=8,n.renderer.$keepTextAreaAtCursor=!1,n.setHighlightActiveLine(!1),n.session.highlight(""),n.session.$searchHighlight.clazz="ace_highlight-marker",n.on("mousedown",function(e){var t=e.getDocumentPosition();n.selection.moveToPosition(t),c.start.row=c.end.row=t.row,e.stop()});var i,l=new s(-1,0,-1,Infinity),c=new s(-1,0,-1,Infinity);c.id=n.session.addMarker(c,"ace_active-line","fullLine"),n.setSelectOnHover=function(e){e?l.id&&(n.session.removeMarker(l.id),l.id=null):l.id=n.session.addMarker(l,"ace_line-hover","fullLine")},n.setSelectOnHover(!1),n.on("mousemove",function(e){if(!i){i=e;return}if(i.x==e.x&&i.y==e.y)return;i=e,i.scrollTop=n.renderer.scrollTop;var t=i.getDocumentPosition().row;l.start.row!=t&&(l.id||n.setRow(t),p(t))}),n.renderer.on("beforeRender",function(){if(i&&l.start.row!=-1){i.$pos=null;var e=i.getDocumentPosition().row;l.id||n.setRow(e),p(e,!0)}}),n.renderer.on("afterRender",function(){var e=n.getRow(),t=n.renderer.$textLayer,r=t.element.childNodes[e-t.config.firstRow];if(r==t.selectedNode)return;t.selectedNode&&a.removeCssClass(t.selectedNode,"ace_selected"),t.selectedNode=r,r&&a.addCssClass(r,"ace_selected")});var h=function(){p(-1)},p=function(e,t){e!==l.start.row&&(l.start.row=l.end.row=e,t||n.session._emit("changeBackMarker"),n._emit("changeHoverMarker"))};n.getHoveredRow=function(){return l.start.row},o.addListener(n.container,"mouseout",h),n.on("hide",h),n.on("changeSelection",h),n.session.doc.getLength=function(){return n.data.length},n.session.doc.getLine=function(e){var t=n.data[e];return typeof t=="string"?t:t&&t.value||""};var d=n.session.bgTokenizer;return d.$tokenizeRow=function(e){var t=n.data[e],r=[];if(!t)return r;typeof t=="string"&&(t={value:t}),t.caption||(t.caption=t.value||t.name);var i=-1,s,o;for(var u=0;u<t.caption.length;u++)o=t.caption[u],s=t.matchMask&1<<u?1:0,i!==s?(r.push({type:t.className||""+(s?"completion-highlight":""),value:o}),i=s):r[r.length-1].value+=o;if(t.meta){var a=n.renderer.$size.scrollerWidth/n.renderer.layerConfig.characterWidth,f=t.meta;f.length+t.caption.length>a-2&&(f=f.substr(0,a-t.caption.length-3)+"\u2026"),r.push({type:"rightAlignedText",value:f})}return r},d.$updateOnChange=r,d.start=r,n.session.$computeWidth=function(){return this.screenWidth=0},n.$blockScrolling=Infinity,n.isOpen=!1,n.isTopdown=!1,n.data=[],n.setData=function(e){n.setValue(u.stringRepeat("\n",e.length),-1),n.data=e||[],n.setRow(0)},n.getData=function(e){return n.data[e]},n.getRow=function(){return c.start.row},n.setRow=function(e){e=Math.max(0,Math.min(this.data.length,e)),c.start.row!=e&&(n.selection.clearSelection(),c.start.row=c.end.row=e||0,n.session._emit("changeBackMarker"),n.moveCursorTo(e||0,0),n.isOpen&&n._signal("select"))},n.on("changeSelection",function(){n.isOpen&&n.setRow(n.selection.lead.row),n.renderer.scrollCursorIntoView()}),n.hide=function(){this.container.style.display="none",this._signal("hide"),n.isOpen=!1},n.show=function(e,t,r){var s=this.container,o=window.innerHeight,u=window.innerWidth,a=this.renderer,f=a.$maxLines*t*1.4,l=e.top+this.$borderSize,c=l>o/2&&!r;c&&l+t+f>o?(a.$maxPixelHeight=l-2*this.$borderSize,s.style.top="",s.style.bottom=o-l+"px",n.isTopdown=!1):(l+=t,a.$maxPixelHeight=o-l-.2*t,s.style.top=l+"px",s.style.bottom="",n.isTopdown=!0),s.style.display="",this.renderer.$textLayer.checkForSizeChanges();var h=e.left;h+s.offsetWidth>u&&(h=u-s.offsetWidth),s.style.left=h+"px",this._signal("show"),i=null,n.isOpen=!0},n.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},n.$imageSize=0,n.$borderSize=1,n};a.importCssString(".ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { background-color: #CAD6FA; z-index: 1;}.ace_editor.ace_autocomplete .ace_line-hover { border: 1px solid #abbffe; margin-top: -1px; background: rgba(233,233,253,0.4);}.ace_editor.ace_autocomplete .ace_line-hover { position: absolute; z-index: 2;}.ace_editor.ace_autocomplete .ace_scroller { background: none; border: none; box-shadow: none;}.ace_rightAlignedText { color: gray; display: inline-block; position: absolute; right: 4px; text-align: right; z-index: -1;}.ace_editor.ace_autocomplete .ace_completion-highlight{ color: #000; text-shadow: 0 0 0.01em;}.ace_editor.ace_autocomplete { width: 280px; z-index: 200000; background: #fbfbfb; color: #444; border: 1px lightgray solid; position: fixed; box-shadow: 2px 3px 5px rgba(0,0,0,.2); line-height: 1.4;}"),t.AcePopup=l}),ace.define("ace/autocomplete/util",["require","exports","module"],function(e,t,n){"use strict";t.parForEach=function(e,t,n){var r=0,i=e.length;i===0&&n();for(var s=0;s<i;s++)t(e[s],function(e,t){r++,r===i&&n(e,t)})};var r=/[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,n){n=n||r;var i=[];for(var s=t-1;s>=0;s--){if(!n.test(e[s]))break;i.push(e[s])}return i.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,n){n=n||r;var i=[];for(var s=t;s<e.length;s++){if(!n.test(e[s]))break;i.push(e[s])}return i},t.getCompletionPrefix=function(e){var t=e.getCursorPosition(),n=e.session.getLine(t.row),r;return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!r&&e&&(r=this.retrievePrecedingIdentifier(n,t.column,e))}.bind(this))}.bind(this)),r||this.retrievePrecedingIdentifier(n,t.column)}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/snippets"],function(e,t,n){"use strict";var r=e("./keyboard/hash_handler").HashHandler,i=e("./autocomplete/popup").AcePopup,s=e("./autocomplete/util"),o=e("./lib/event"),u=e("./lib/lang"),a=e("./lib/dom"),f=e("./snippets").snippetManager,l=function(){this.autoInsert=!1,this.autoSelect=!0,this.exactMatch=!1,this.gatherCompletionsId=0,this.keyboardHandler=new r,this.keyboardHandler.bindKeys(this.commands),this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.changeTimer=u.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=u.delayedCall(this.updateDocTooltip.bind(this),50)};(function(){this.$init=function(){return this.popup=new i(document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.tooltipTimer.bind(null,null)),this.popup.on("select",this.tooltipTimer.bind(null,null)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup},this.getPopup=function(){return this.popup||this.$init()},this.openPopup=function(e,t,n){this.popup||this.$init(),this.popup.setData(this.completions.filtered),e.keyBinding.addKeyboardHandler(this.keyboardHandler);var r=e.renderer;this.popup.setRow(this.autoSelect?0:-1);if(!n){this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize());var i=r.layerConfig.lineHeight,s=r.$cursorLayer.getPixelPosition(this.base,!0);s.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();s.top+=o.top-r.layerConfig.offset,s.left+=o.left-e.renderer.scrollLeft,s.left+=r.gutterWidth,this.popup.show(s,i)}else n&&!t&&this.detach()},this.detach=function(){this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener),this.changeTimer.cancel(),this.hideDocTooltip(),this.gatherCompletionsId+=1,this.popup&&this.popup.isOpen&&this.popup.hide(),this.base&&this.base.detach(),this.activated=!1,this.completions=this.base=null},this.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},this.blurListener=function(e){var t=document.activeElement,n=this.editor.textInput.getElement(),r=e.relatedTarget&&e.relatedTarget==this.tooltipNode,i=this.popup&&this.popup.container;t!=n&&t.parentNode!=i&&!r&&t!=this.tooltipNode&&e.relatedTarget!=n&&this.detach()},this.mousedownListener=function(e){this.detach()},this.mousewheelListener=function(e){this.detach()},this.goTo=function(e){var t=this.popup.getRow(),n=this.popup.session.getLength()-1;switch(e){case"up":t=t<=0?n:t-1;break;case"down":t=t>=n?-1:t+1;break;case"start":t=0;break;case"end":t=n}this.popup.setRow(t)},this.insertMatch=function(e,t){e||(e=this.popup.getData(this.popup.getRow()));if(!e)return!1;if(e.completer&&e.completer.insertMatch)e.completer.insertMatch(this.editor,e);else{if(this.completions.filterText){var n=this.editor.selection.getAllRanges();for(var r=0,i;i=n[r];r++)i.start.column-=this.completions.filterText.length,this.editor.session.remove(i)}e.snippet?f.insertSnippet(this.editor,e.snippet):this.editor.execCommand("insertstring",e.value||e)}this.detach()},this.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(!!t||!!e.tabstopManager)return t;e.completer.goTo("down")},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},this.gatherCompletions=function(e,t){var n=e.getSession(),r=e.getCursorPosition(),i=n.getLine(r.row),o=s.getCompletionPrefix(e);this.base=n.doc.createAnchor(r.row,r.column-o.length),this.base.$insertRight=!0;var u=[],a=e.completers.length;return e.completers.forEach(function(i,s){i.getCompletions(e,n,r,o,function(r,i){!r&&i&&(u=u.concat(i));var s=e.getCursorPosition(),f=n.getLine(s.row);t(null,{prefix:o,matches:u,finished:--a===0})})}),!0},this.showPopup=function(e){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions()},this.updateCompletions=function(e){if(e&&this.base&&this.completions){var t=this.editor.getCursorPosition(),n=this.editor.session.getTextRange({start:this.base,end:t});if(n==this.completions.filterText)return;this.completions.setFilter(n);if(!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==n&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,n,e);return}var r=this.gatherCompletionsId;this.gatherCompletions(this.editor,function(t,n){var i=function(){if(!n.finished)return;return this.detach()}.bind(this),s=n.prefix,o=n&&n.matches;if(!o||!o.length)return i();if(s.indexOf(n.prefix)!==0||r!=this.gatherCompletionsId)return;this.completions=new c(o),this.exactMatch&&(this.completions.exactMatch=!0),this.completions.setFilter(s);var u=this.completions.filtered;if(!u.length)return i();if(u.length==1&&u[0].value==s&&!u[0].snippet)return i();if(this.autoInsert&&u.length==1&&n.finished)return this.insertMatch(u[0]);this.openPopup(this.editor,s,e)}.bind(this))},this.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},this.updateDocTooltip=function(){var e=this.popup,t=e.data,n=t&&(t[e.getHoveredRow()]||t[e.getRow()]),r=null;if(!n||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();this.editor.completers.some(function(e){return e.getDocTooltip&&(r=e.getDocTooltip(n)),r}),r||(r=n),typeof r=="string"&&(r={docText:r});if(!r||!r.docHTML&&!r.docText)return this.hideDocTooltip();this.showDocTooltip(r)},this.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=a.createElement("div"),this.tooltipNode.className="ace_tooltip ace_doc-tooltip",this.tooltipNode.style.margin=0,this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this));var t=this.tooltipNode;e.docHTML?t.innerHTML=e.docHTML:e.docText&&(t.textContent=e.docText),t.parentNode||document.body.appendChild(t);var n=this.popup,r=n.container.getBoundingClientRect();t.style.top=n.container.style.top,t.style.bottom=n.container.style.bottom,window.innerWidth-r.right<320?(t.style.right=window.innerWidth-r.left+"px",t.style.left=""):(t.style.left=r.right+1+"px",t.style.right=""),t.style.display="block"},this.hideDocTooltip=function(){this.tooltipTimer.cancel();if(!this.tooltipNode)return;var e=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==e&&this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}}).call(l.prototype),l.startCommand={name:"startAutocomplete",exec:function(e){e.completer||(e.completer=new l),e.completer.autoInsert=!1,e.completer.autoSelect=!0,e.completer.showPopup(e),e.completer.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var c=function(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1};(function(){this.setFilter=function(e){if(e.length>this.filterText&&e.lastIndexOf(this.filterText,0)===0)var t=this.filtered;else var t=this.all;this.filterText=e,t=this.filterCompletions(t,this.filterText),t=t.sort(function(e,t){return t.exactMatch-e.exactMatch||t.score-e.score});var n=null;t=t.filter(function(e){var t=e.snippet||e.caption||e.value;return t===n?!1:(n=t,!0)}),this.filtered=t},this.filterCompletions=function(e,t){var n=[],r=t.toUpperCase(),i=t.toLowerCase();e:for(var s=0,o;o=e[s];s++){var u=o.value||o.caption||o.snippet;if(!u)continue;var a=-1,f=0,l=0,c,h;if(this.exactMatch){if(t!==u.substr(0,t.length))continue e}else for(var p=0;p<t.length;p++){var d=u.indexOf(i[p],a+1),v=u.indexOf(r[p],a+1);c=d>=0?v<0||d<v?d:v:v;if(c<0)continue e;h=c-a-1,h>0&&(a===-1&&(l+=10),l+=h),f|=1<<c,a=c}o.matchMask=f,o.exactMatch=l?0:1,o.score=(o.score||0)-l,n.push(o)}return n}}).call(c.prototype),t.Autocomplete=l,t.FilteredList=c}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(e,t,n){function s(e,t){var n=e.getTextRange(r.fromPoints({row:0,column:0},t));return n.split(i).length-1}function o(e,t){var n=s(e,t),r=e.getValue().split(i),o=Object.create(null),u=r[n];return r.forEach(function(e,t){if(!e||e===u)return;var i=Math.abs(n-t),s=r.length-i;o[e]?o[e]=Math.max(s,o[e]):o[e]=s}),o}var r=e("../range").Range,i=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;t.getCompletions=function(e,t,n,r,i){var s=o(t,n,r),u=Object.keys(s);i(null,u.map(function(e){return{caption:e,value:e,score:s[e],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../snippets").snippetManager,i=e("../autocomplete").Autocomplete,s=e("../config"),o=e("../lib/lang"),u=e("../autocomplete/util"),a=e("../autocomplete/text_completer"),f={getCompletions:function(e,t,n,r,i){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,n,r,i);var s=e.session.getState(n.row),o=t.$mode.getCompletions(s,t,n,r);i(null,o)}},l={getCompletions:function(e,t,n,i,s){var o=r.snippetMap,u=[];r.getActiveScopes(e).forEach(function(e){var t=o[e]||[];for(var n=t.length;n--;){var r=t[n],i=r.name||r.tabTrigger;if(!i)continue;u.push({caption:i,snippet:r.content,meta:r.tabTrigger&&!r.name?r.tabTrigger+"\u21e5 ":"snippet",type:"snippet"})}},this),s(null,u)},getDocTooltip:function(e){e.type=="snippet"&&!e.docHTML&&(e.docHTML=["<b>",o.escapeHTML(e.caption),"</b>","<hr></hr>",o.escapeHTML(e.snippet)].join(""))}},c=[l,a,f];t.setCompleters=function(e){c.length=0,e&&c.push.apply(c,e)},t.addCompleter=function(e){c.push(e)},t.textCompleter=a,t.keyWordCompleter=f,t.snippetCompleter=l;var h={name:"expandSnippet",exec:function(e){return r.expandWithTab(e)},bindKey:"Tab"},p=function(e,t){d(t.session.$mode)},d=function(e){var t=e.$id;r.files||(r.files={}),v(t),e.modes&&e.modes.forEach(d)},v=function(e){if(!e||r.files[e])return;var t=e.replace("mode","snippets");r.files[e]={},s.loadModule(t,function(t){t&&(r.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=r.parseSnippetFile(t.snippetText)),r.register(t.snippets||[],t.scope),t.includeScopes&&(r.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach(function(e){v("ace/mode/"+e)})))})},m=function(e){var t=e.editor,n=t.completer&&t.completer.activated;if(e.command.name==="backspace")n&&!u.getCompletionPrefix(t)&&t.completer.detach();else if(e.command.name==="insertstring"){var r=u.getCompletionPrefix(t);r&&!n&&(t.completer||(t.completer=new i),t.completer.autoInsert=!1,t.completer.showPopup(t))}},g=e("../editor").Editor;e("../config").defineOptions(g.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:c),this.commands.addCommand(i.startCommand)):this.commands.removeCommand(i.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:c),this.commands.on("afterExec",m)):this.commands.removeListener("afterExec",m)},value:!1},enableSnippets:{set:function(e){e?(this.commands.addCommand(h),this.on("changeMode",p),p(null,this)):(this.commands.removeCommand(h),this.off("changeMode",p))},value:!1}})});
+ (function() {
+ ace.require(["ace/ext/language_tools"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-linking.js b/library/ace/ext-linking.js
new file mode 100644
index 000000000..69f87918f
--- /dev/null
+++ b/library/ace/ext-linking.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"],function(e,t,n){function i(e){var t=e.editor,n=e.getAccelKey();if(n){var t=e.editor,r=e.getDocumentPosition(),i=t.session,s=i.getTokenAt(r.row,r.column);t._emit("linkHover",{position:r,token:s})}}function s(e){var t=e.getAccelKey(),n=e.getButton();if(n==0&&t){var r=e.editor,i=e.getDocumentPosition(),s=r.session,o=s.getTokenAt(i.row,i.column);r._emit("linkClick",{position:i,token:o})}}var r=e("ace/editor").Editor;e("../config").defineOptions(r.prototype,"editor",{enableLinking:{set:function(e){e?(this.on("click",s),this.on("mousemove",i)):(this.off("click",s),this.off("mousemove",i))},value:!1}})});
+ (function() {
+ ace.require(["ace/ext/linking"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-modelist.js b/library/ace/ext-modelist.js
new file mode 100644
index 000000000..84164bdfd
--- /dev/null
+++ b/library/ace/ext-modelist.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/modelist",["require","exports","module"],function(e,t,n){"use strict";function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.length;i++)if(r[i].supportsFile(n)){t=r[i];break}return t}var r=[],s=function(e,t,n){this.name=e,this.caption=t,this.mode="ace/mode/"+e,this.extensions=n;var r;/\^/.test(n)?r=n.replace(/\|(\^)?/g,function(e,t){return"$|"+(t?"^":"^.*\\.")})+"$":r="^.*\\.("+n+")$",this.extRe=new RegExp(r,"gi")};s.prototype.supportsFile=function(e){return e.match(this.extRe)};var o={ABAP:["abap"],ABC:["abc"],ActionScript:["as"],ADA:["ada|adb"],Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],AsciiDoc:["asciidoc|adoc"],Assembly_x86:["asm|a"],AutoHotKey:["ahk"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],C9Search:["c9search_results"],Cirru:["cirru|cr"],Clojure:["clj|cljs"],Cobol:["CBL|COB"],coffee:["coffee|cf|cson|^Cakefile"],ColdFusion:["cfm"],CSharp:["cs"],CSS:["css"],Curly:["curly"],D:["d|di"],Dart:["dart"],Diff:["diff|patch"],Dockerfile:["^Dockerfile"],Dot:["dot"],Dummy:["dummy"],DummySyntax:["dummy"],Eiffel:["e|ge"],EJS:["ejs"],Elixir:["ex|exs"],Elm:["elm"],Erlang:["erl|hrl"],Forth:["frt|fs|ldr"],Fortran:["f|f90"],FTL:["ftl"],Gcode:["gcode"],Gherkin:["feature"],Gitignore:["^.gitignore"],Glsl:["glsl|frag|vert"],Gobstones:["gbs"],golang:["go"],Groovy:["groovy"],HAML:["haml"],Handlebars:["hbs|handlebars|tpl|mustache"],Haskell:["hs"],haXe:["hx"],HTML:["html|htm|xhtml"],HTML_Elixir:["eex|html.eex"],HTML_Ruby:["erb|rhtml|html.erb"],INI:["ini|conf|cfg|prefs"],Io:["io"],Jack:["jack"],Jade:["jade"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSONiq:["jq"],JSP:["jsp"],JSX:["jsx"],Julia:["jl"],LaTeX:["tex|latex|ltx|bib"],Lean:["lean|hlean"],LESS:["less"],Liquid:["liquid"],Lisp:["lisp"],LiveScript:["ls"],LogiQL:["logic|lql"],LSL:["lsl"],Lua:["lua"],LuaPage:["lp"],Lucene:["lucene"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],Mask:["mask"],MATLAB:["matlab"],Maze:["mz"],MEL:["mel"],MUSHCode:["mc|mush"],MySQL:["mysql"],Nix:["nix"],NSIS:["nsi|nsh"],ObjectiveC:["m|mm"],OCaml:["ml|mli"],Pascal:["pas|p"],Perl:["pl|pm"],pgSQL:["pgsql"],PHP:["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],Powershell:["ps1"],Praat:["praat|praatscript|psc|proc"],Prolog:["plg|prolog"],Properties:["properties"],Protobuf:["proto"],Python:["py"],R:["r"],Razor:["cshtml"],RDoc:["Rd"],RHTML:["Rhtml"],RST:["rst"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCAD:["scad"],Scala:["scala"],Scheme:["scm|sm|rkt|oak|scheme"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SJS:["sjs"],Smarty:["smarty|tpl"],snippets:["snippets"],Soy_Template:["soy"],Space:["space"],SQL:["sql"],SQLServer:["sqlserver"],Stylus:["styl|stylus"],SVG:["svg"],Swift:["swift"],Tcl:["tcl"],Tex:["tex"],Text:["txt"],Textile:["textile"],Toml:["toml"],Twig:["twig|swig"],Typescript:["ts|typescript|str"],Vala:["vala"],VBScript:["vbs|vb"],Velocity:["vm"],Verilog:["v|vh|sv|svh"],VHDL:["vhd|vhdl"],Wollok:["wlk|wpgm|wtest"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],XQuery:["xq"],YAML:["yaml|yml"],Django:["html"]},u={ObjectiveC:"Objective-C",CSharp:"C#",golang:"Go",C_Cpp:"C and C++",coffee:"CoffeeScript",HTML_Ruby:"HTML (Ruby)",HTML_Elixir:"HTML (Elixir)",FTL:"FreeMarker"},a={};for(var f in o){var l=o[f],c=(u[f]||f).replace(/_/g," "),h=f.toLowerCase(),p=new s(h,c,l[0]);a[h]=p,r.push(p)}n.exports={getModeForPath:i,modes:r,modesByName:a}});
+ (function() {
+ ace.require(["ace/ext/modelist"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-old_ie.js b/library/ace/ext-old_ie.js
new file mode 100644
index 000000000..7bea1c0d6
--- /dev/null
+++ b/library/ace/ext-old_ie.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o=".ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 325px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;float: left;height: 22px;margin: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;float: right;font: 16px/16px Arial;height: 14px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f='<div class="ace_search right"> <button type="button" action="hide" class="ace_searchbtn_close"></button> <div class="ace_search_form"> <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input> <button type="button" action="findNext" class="ace_searchbtn next"></button> <button type="button" action="findPrev" class="ace_searchbtn prev"></button> <button type="button" action="findAll" class="ace_searchbtn" title="Alt-Enter">All</button> </div> <div class="ace_replace_form"> <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input> <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button> <button type="button" action="replaceAll" class="ace_replacebtn">All</button> </div> <div class="ace_search_options"> <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span> <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span> <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span> </div></div>'.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.replaceBox.style.display="",e.replaceInput.focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,n){var i=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n}),s=!i&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",s),this.editor._emit("findSearchBox",{match:!s}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.find(!1,!1,!0),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}),ace.define("ace/ext/old_ie",["require","exports","module","ace/lib/useragent","ace/tokenizer","ace/ext/searchbox","ace/mode/text"],function(require,exports,module){"use strict";function patch(obj,name,regexp,replacement){eval("obj['"+name+"']="+obj[name].toString().replace(regexp,replacement))}var MAX_TOKEN_COUNT=1e3,useragent=require("../lib/useragent"),TokenizerModule=require("../tokenizer");useragent.isIE&&useragent.isIE<10&&window.top.document.compatMode==="BackCompat"&&(useragent.isOldIE=!0);if(typeof document!="undefined"&&!document.documentElement.querySelector){useragent.isOldIE=!0;var qs=function(e,t){if(t.charAt(0)==".")var n=t.slice(1);else var r=t.match(/(\w+)=(\w+)/),i=r&&r[1],s=r&&r[2];for(var o=0;o<e.all.length;o++){var u=e.all[o];if(n){if(u.className.indexOf(n)!=-1)return u}else if(i&&u.getAttribute(i)==s)return u}},sb=require("./searchbox").SearchBox.prototype;patch(sb,"$initElements",/([^\s=]*).querySelector\((".*?")\)/g,"qs($1, $2)")}var compliantExecNpcg=/()??/.exec("")[1]===undefined;if(compliantExecNpcg)return;var proto=TokenizerModule.Tokenizer.prototype;TokenizerModule.Tokenizer_orig=TokenizerModule.Tokenizer,proto.getLineTokens_orig=proto.getLineTokens,patch(TokenizerModule,"Tokenizer","ruleRegExps.push(adjustedregex);\n",function(e){return e+' if (state[i].next && RegExp(adjustedregex).test(""))\n rule._qre = RegExp(adjustedregex, "g");\n '}),TokenizerModule.Tokenizer.prototype=proto,patch(proto,"getLineTokens",/if \(match\[i \+ 1\] === undefined\)\s*continue;/,"if (!match[i + 1]) {\n if (value)continue;\n var qre = state[mapping[i]]._qre;\n if (!qre) continue;\n qre.lastIndex = lastIndex;\n if (!qre.exec(line) || qre.lastIndex != lastIndex)\n continue;\n }"),patch(require("../mode/text").Mode.prototype,"getTokenizer",/Tokenizer/,"TokenizerModule.Tokenizer"),useragent.isOldIE=!0});
+ (function() {
+ ace.require(["ace/ext/old_ie"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-searchbox.js b/library/ace/ext-searchbox.js
new file mode 100644
index 000000000..e677a0515
--- /dev/null
+++ b/library/ace/ext-searchbox.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o=".ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 325px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;float: left;height: 22px;margin: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;float: right;font: 16px/16px Arial;height: 14px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f='<div class="ace_search right"> <button type="button" action="hide" class="ace_searchbtn_close"></button> <div class="ace_search_form"> <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input> <button type="button" action="findNext" class="ace_searchbtn next"></button> <button type="button" action="findPrev" class="ace_searchbtn prev"></button> <button type="button" action="findAll" class="ace_searchbtn" title="Alt-Enter">All</button> </div> <div class="ace_replace_form"> <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input> <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button> <button type="button" action="replaceAll" class="ace_replacebtn">All</button> </div> <div class="ace_search_options"> <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span> <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span> <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span> </div></div>'.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.replaceBox.style.display="",e.replaceInput.focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,n){var i=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n}),s=!i&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",s),this.editor._emit("findSearchBox",{match:!s}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.find(!1,!1,!0),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}});
+ (function() {
+ ace.require(["ace/ext/searchbox"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-settings_menu.js b/library/ace/ext-settings_menu.js
new file mode 100644
index 000000000..a005f7617
--- /dev/null
+++ b/library/ace/ext-settings_menu.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/menu_tools/element_generator",["require","exports","module"],function(e,t,n){"use strict";n.exports.createOption=function(t){var n,r=document.createElement("option");for(n in t)t.hasOwnProperty(n)&&(n==="selected"?r.setAttribute(n,t[n]):r[n]=t[n]);return r},n.exports.createCheckbox=function(t,n,r){var i=document.createElement("input");return i.setAttribute("type","checkbox"),i.setAttribute("id",t),i.setAttribute("name",t),i.setAttribute("value",n),i.setAttribute("class",r),n&&i.setAttribute("checked","checked"),i},n.exports.createInput=function(t,n,r){var i=document.createElement("input");return i.setAttribute("type","text"),i.setAttribute("id",t),i.setAttribute("name",t),i.setAttribute("value",n),i.setAttribute("class",r),i},n.exports.createLabel=function(t,n){var r=document.createElement("label");return r.setAttribute("for",n),r.textContent=t,r},n.exports.createSelection=function(t,r,i){var s=document.createElement("select");return s.setAttribute("id",t),s.setAttribute("name",t),s.setAttribute("class",i),r.forEach(function(e){s.appendChild(n.exports.createOption(e))}),s}}),ace.define("ace/ext/modelist",["require","exports","module"],function(e,t,n){"use strict";function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.length;i++)if(r[i].supportsFile(n)){t=r[i];break}return t}var r=[],s=function(e,t,n){this.name=e,this.caption=t,this.mode="ace/mode/"+e,this.extensions=n;var r;/\^/.test(n)?r=n.replace(/\|(\^)?/g,function(e,t){return"$|"+(t?"^":"^.*\\.")})+"$":r="^.*\\.("+n+")$",this.extRe=new RegExp(r,"gi")};s.prototype.supportsFile=function(e){return e.match(this.extRe)};var o={ABAP:["abap"],ABC:["abc"],ActionScript:["as"],ADA:["ada|adb"],Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],AsciiDoc:["asciidoc|adoc"],Assembly_x86:["asm|a"],AutoHotKey:["ahk"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],C9Search:["c9search_results"],Cirru:["cirru|cr"],Clojure:["clj|cljs"],Cobol:["CBL|COB"],coffee:["coffee|cf|cson|^Cakefile"],ColdFusion:["cfm"],CSharp:["cs"],CSS:["css"],Curly:["curly"],D:["d|di"],Dart:["dart"],Diff:["diff|patch"],Dockerfile:["^Dockerfile"],Dot:["dot"],Dummy:["dummy"],DummySyntax:["dummy"],Eiffel:["e|ge"],EJS:["ejs"],Elixir:["ex|exs"],Elm:["elm"],Erlang:["erl|hrl"],Forth:["frt|fs|ldr"],Fortran:["f|f90"],FTL:["ftl"],Gcode:["gcode"],Gherkin:["feature"],Gitignore:["^.gitignore"],Glsl:["glsl|frag|vert"],Gobstones:["gbs"],golang:["go"],Groovy:["groovy"],HAML:["haml"],Handlebars:["hbs|handlebars|tpl|mustache"],Haskell:["hs"],haXe:["hx"],HTML:["html|htm|xhtml"],HTML_Elixir:["eex|html.eex"],HTML_Ruby:["erb|rhtml|html.erb"],INI:["ini|conf|cfg|prefs"],Io:["io"],Jack:["jack"],Jade:["jade"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSONiq:["jq"],JSP:["jsp"],JSX:["jsx"],Julia:["jl"],LaTeX:["tex|latex|ltx|bib"],Lean:["lean|hlean"],LESS:["less"],Liquid:["liquid"],Lisp:["lisp"],LiveScript:["ls"],LogiQL:["logic|lql"],LSL:["lsl"],Lua:["lua"],LuaPage:["lp"],Lucene:["lucene"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],Mask:["mask"],MATLAB:["matlab"],Maze:["mz"],MEL:["mel"],MUSHCode:["mc|mush"],MySQL:["mysql"],Nix:["nix"],NSIS:["nsi|nsh"],ObjectiveC:["m|mm"],OCaml:["ml|mli"],Pascal:["pas|p"],Perl:["pl|pm"],pgSQL:["pgsql"],PHP:["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],Powershell:["ps1"],Praat:["praat|praatscript|psc|proc"],Prolog:["plg|prolog"],Properties:["properties"],Protobuf:["proto"],Python:["py"],R:["r"],Razor:["cshtml"],RDoc:["Rd"],RHTML:["Rhtml"],RST:["rst"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCAD:["scad"],Scala:["scala"],Scheme:["scm|sm|rkt|oak|scheme"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SJS:["sjs"],Smarty:["smarty|tpl"],snippets:["snippets"],Soy_Template:["soy"],Space:["space"],SQL:["sql"],SQLServer:["sqlserver"],Stylus:["styl|stylus"],SVG:["svg"],Swift:["swift"],Tcl:["tcl"],Tex:["tex"],Text:["txt"],Textile:["textile"],Toml:["toml"],Twig:["twig|swig"],Typescript:["ts|typescript|str"],Vala:["vala"],VBScript:["vbs|vb"],Velocity:["vm"],Verilog:["v|vh|sv|svh"],VHDL:["vhd|vhdl"],Wollok:["wlk|wpgm|wtest"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],XQuery:["xq"],YAML:["yaml|yml"],Django:["html"]},u={ObjectiveC:"Objective-C",CSharp:"C#",golang:"Go",C_Cpp:"C and C++",coffee:"CoffeeScript",HTML_Ruby:"HTML (Ruby)",HTML_Elixir:"HTML (Elixir)",FTL:"FreeMarker"},a={};for(var f in o){var l=o[f],c=(u[f]||f).replace(/_/g," "),h=f.toLowerCase(),p=new s(h,c,l[0]);a[h]=p,r.push(p)}n.exports={getModeForPath:i,modes:r,modesByName:a}}),ace.define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"],function(e,t,n){"use strict";e("ace/lib/fixoldbrowsers");var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["IPlastic"],["Solarized Light"],["TextMate"],["Tomorrow"],["XCode"],["Kuroir"],["KatzenMilch"],["SQL Server","sqlserver","light"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Cobalt","cobalt","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})}),ace.define("ace/ext/menu_tools/add_editor_menu_options",["require","exports","module","ace/ext/modelist","ace/ext/themelist"],function(e,t,n){"use strict";n.exports.addEditorMenuOptions=function(n){var r=e("../modelist"),i=e("../themelist");n.menuOptions={setNewLineMode:[{textContent:"unix",value:"unix"},{textContent:"windows",value:"windows"},{textContent:"auto",value:"auto"}],setTheme:[],setMode:[],setKeyboardHandler:[{textContent:"ace",value:""},{textContent:"vim",value:"ace/keyboard/vim"},{textContent:"emacs",value:"ace/keyboard/emacs"},{textContent:"textarea",value:"ace/keyboard/textarea"},{textContent:"sublime",value:"ace/keyboard/sublime"}]},n.menuOptions.setTheme=i.themes.map(function(e){return{textContent:e.caption,value:e.theme}}),n.menuOptions.setMode=r.modes.map(function(e){return{textContent:e.name,value:e.mode}})}}),ace.define("ace/ext/menu_tools/get_set_functions",["require","exports","module"],function(e,t,n){"use strict";n.exports.getSetFunctions=function(t){var n=[],r={editor:t,session:t.session,renderer:t.renderer},i=[],s=["setOption","setUndoManager","setDocument","setValue","setBreakpoints","setScrollTop","setScrollLeft","setSelectionStyle","setWrapLimitRange"];return["renderer","session","editor"].forEach(function(e){var t=r[e],o=e;for(var u in t)s.indexOf(u)===-1&&/^set/.test(u)&&i.indexOf(u)===-1&&(i.push(u),n.push({functionName:u,parentObj:t,parentName:o}))}),n}}),ace.define("ace/ext/menu_tools/generate_settings_menu",["require","exports","module","ace/ext/menu_tools/element_generator","ace/ext/menu_tools/add_editor_menu_options","ace/ext/menu_tools/get_set_functions","ace/ace"],function(e,t,n){"use strict";var r=e("./element_generator"),i=e("./add_editor_menu_options").addEditorMenuOptions,s=e("./get_set_functions").getSetFunctions;n.exports.generateSettingsMenu=function(n){function u(){o.sort(function(e,t){var n=e.getAttribute("contains"),r=t.getAttribute("contains");return n.localeCompare(r)})}function a(){var t=document.createElement("div");t.setAttribute("id","ace_settingsmenu"),o.forEach(function(e){t.appendChild(e)});var n=t.appendChild(document.createElement("div")),r=e("../../ace").version;return n.style.padding="1em",n.textContent="Ace version "+r,t}function f(e,t,i,s){var o,u=document.createElement("div");return u.setAttribute("contains",i),u.setAttribute("class","ace_optionsMenuEntry"),u.setAttribute("style","clear: both;"),u.appendChild(r.createLabel(i.replace(/^set/,"").replace(/([A-Z])/g," $1").trim(),i)),Array.isArray(s)?(o=r.createSelection(i,s,t),o.addEventListener("change",function(t){try{n.menuOptions[t.target.id].forEach(function(e){e.textContent!==t.target.textContent&&delete e.selected}),e[t.target.id](t.target.value)}catch(r){throw new Error(r)}})):typeof s=="boolean"?(o=r.createCheckbox(i,s,t),o.addEventListener("change",function(t){try{e[t.target.id](!!t.target.checked)}catch(n){throw new Error(n)}})):(o=r.createInput(i,s,t),o.addEventListener("change",function(t){try{t.target.value==="true"?e[t.target.id](!0):t.target.value==="false"?e[t.target.id](!1):e[t.target.id](t.target.value)}catch(n){throw new Error(n)}})),o.style.cssText="float:right;",u.appendChild(o),u}function l(e,t,r,i){var s=n.menuOptions[e],o=t[i]();return typeof o=="object"&&(o=o.$id),s.forEach(function(e){e.value===o&&(e.selected="selected")}),f(t,r,e,s)}function c(e){var t=e.functionName,r=e.parentObj,i=e.parentName,s,u=t.replace(/^set/,"get");if(n.menuOptions[t]!==undefined)o.push(l(t,r,i,u));else if(typeof r[u]=="function")try{s=r[u](),typeof s=="object"&&(s=s.$id),o.push(f(r,i,t,s))}catch(a){}}var o=[];return i(n),s(n).forEach(function(e){c(e)}),u(),a()}}),ace.define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../../lib/dom"),i="#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);-webkit-transition: all 0.5s;transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 1000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}";r.importCssString(i),n.exports.overlayPage=function(t,n,i,s,o,u){function l(e){e.keyCode===27&&a.click()}i=i?"top: "+i+";":"",o=o?"bottom: "+o+";":"",s=s?"right: "+s+";":"",u=u?"left: "+u+";":"";var a=document.createElement("div"),f=document.createElement("div");a.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; background-color: rgba(0, 0, 0, 0.3);",a.addEventListener("click",function(){document.removeEventListener("keydown",l),a.parentNode.removeChild(a),t.focus(),a=null}),document.addEventListener("keydown",l),f.style.cssText=i+s+o+u,f.addEventListener("click",function(e){e.stopPropagation()});var c=r.createElement("div");c.style.position="relative";var h=r.createElement("div");h.className="ace_closeButton",h.addEventListener("click",function(){a.click()}),c.appendChild(h),f.appendChild(c),f.appendChild(n),a.appendChild(f),document.body.appendChild(a),t.blur()}}),ace.define("ace/ext/settings_menu",["require","exports","module","ace/ext/menu_tools/generate_settings_menu","ace/ext/menu_tools/overlay_page","ace/editor"],function(e,t,n){"use strict";function s(e){var t=document.getElementById("ace_settingsmenu");t||i(e,r(e),"0","0","0")}var r=e("./menu_tools/generate_settings_menu").generateSettingsMenu,i=e("./menu_tools/overlay_page").overlayPage;n.exports.init=function(t){var n=e("ace/editor").Editor;n.prototype.showSettingsMenu=function(){s(this)}}});
+ (function() {
+ ace.require(["ace/ext/settings_menu"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-spellcheck.js b/library/ace/ext-spellcheck.js
new file mode 100644
index 000000000..15c0f86f1
--- /dev/null
+++ b/library/ace/ext-spellcheck.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event");t.contextMenuHandler=function(e){var t=e.target,n=t.textInput.getElement();if(!t.selection.isEmpty())return;var i=t.getCursorPosition(),s=t.session.getWordRange(i.row,i.column),o=t.session.getTextRange(s);t.session.tokenRe.lastIndex=0;if(!t.session.tokenRe.test(o))return;var u="",a=o+" "+u;n.value=a,n.setSelectionRange(o.length,o.length+1),n.setSelectionRange(0,0),n.setSelectionRange(0,o.length);var f=!1;r.addListener(n,"keydown",function l(){r.removeListener(n,"keydown",l),f=!0}),t.textInput.setInputHandler(function(e){console.log(e,a,n.selectionStart,n.selectionEnd);if(e==a)return"";if(e.lastIndexOf(a,0)===0)return e.slice(a.length);if(e.substr(n.selectionEnd)==a)return e.slice(0,-a.length);if(e.slice(-2)==u){var r=e.slice(0,-2);if(r.slice(-1)==" ")return f?r.substring(0,n.selectionEnd):(r=r.slice(0,-1),t.session.replace(s,r),"")}return e})};var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{spellcheck:{set:function(e){var n=this.textInput.getElement();n.spellcheck=!!e,e?this.on("nativecontextmenu",t.contextMenuHandler):this.removeListener("nativecontextmenu",t.contextMenuHandler)},value:!0}})});
+ (function() {
+ ace.require(["ace/ext/spellcheck"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-split.js b/library/ace/ext-split.js
new file mode 100644
index 000000000..31b3ee7cd
--- /dev/null
+++ b/library/ace/ext-split.js
@@ -0,0 +1,5 @@
+ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],function(e,t,n){"use strict";function l(e,t){this.$u=e,this.$doc=t}var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./editor").Editor,u=e("./virtual_renderer").VirtualRenderer,a=e("./edit_session").EditSession,f=function(e,t,n){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(n||1),this.$cEditor=this.$editors[0],this.on("focus",function(e){this.$cEditor=e}.bind(this))};(function(){r.implement(this,s),this.$createEditor=function(){var e=document.createElement("div");e.className=this.$editorCSS,e.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(e);var t=new o(new u(e,this.$theme));return t.on("focus",function(){this._emit("focus",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw"The number of splits have to be > 0!";if(e==this.$splits)return;if(e>this.$splits){while(this.$splits<this.$editors.length&&this.$splits<e)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;while(this.$splits<e)this.$createEditor(),this.$splits++}else while(this.$splits>e)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach(function(t){t.setTheme(e)})},this.setKeyboardHandler=function(e){this.$editors.forEach(function(t){t.setKeyboardHandler(e)})},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach(function(t){t.setFontSize(e)})},this.$cloneSession=function(e){var t=new a(e.getDocument(),e.getMode()),n=e.getUndoManager();if(n){var r=new l(n,t);t.setUndoManager(r)}return t.$informUndoManager=i.delayedCall(function(){t.$deltas=[]}),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var n;t==null?n=this.$cEditor:n=this.$editors[t];var r=this.$editors.some(function(t){return t.session===e});return r&&(e=this.$cloneSession(e)),n.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){if(this.$orientation==e)return;this.$orientation=e,this.resize()},this.resize=function(){var e=this.$container.clientWidth,t=this.$container.clientHeight,n;if(this.$orientation==this.BESIDE){var r=e/this.$splits;for(var i=0;i<this.$splits;i++)n=this.$editors[i],n.container.style.width=r+"px",n.container.style.top="0px",n.container.style.left=i*r+"px",n.container.style.height=t+"px",n.resize()}else{var s=t/this.$splits;for(var i=0;i<this.$splits;i++)n=this.$editors[i],n.container.style.width=e+"px",n.container.style.top=i*s+"px",n.container.style.left="0px",n.container.style.height=s+"px",n.resize()}}}).call(f.prototype),function(){this.execute=function(e){this.$u.execute(e)},this.undo=function(){var e=this.$u.undo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.redo=function(){var e=this.$u.redo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.reset=function(){this.$u.reset()},this.hasUndo=function(){return this.$u.hasUndo()},this.hasRedo=function(){return this.$u.hasRedo()}}.call(l.prototype),t.Split=f}),ace.define("ace/ext/split",["require","exports","module","ace/split"],function(e,t,n){"use strict";n.exports=e("../split")});
+ (function() {
+ ace.require(["ace/ext/split"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-static_highlight.js b/library/ace/ext-static_highlight.js
new file mode 100644
index 000000000..46fe45d1d
--- /dev/null
+++ b/library/ace/ext-static_highlight.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text","ace/config","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../edit_session").EditSession,i=e("../layer/text").Text,s=".ace_static_highlight {font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', 'Droid Sans Mono', monospace;font-size: 12px;white-space: pre-wrap}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line { position: relative; }.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}",o=e("../config"),u=e("../lib/dom"),a=function(){this.config={}};a.prototype=i.prototype;var f=function(e,t,n){var r=e.className.match(/lang-(\w+)/),i=t.mode||r&&"ace/mode/"+r[1];if(!i)return!1;var s=t.theme||"ace/theme/textmate",o="",a=[];if(e.firstElementChild){var l=0;for(var c=0;c<e.childNodes.length;c++){var h=e.childNodes[c];h.nodeType==3?(l+=h.data.length,o+=h.data):a.push(l,h)}}else o=u.getInnerText(e),t.trim&&(o=o.trim());f.render(o,i,s,t.firstLineNumber,!t.showGutter,function(t){u.importCssString(t.css,"ace_highlight"),e.innerHTML=t.html;var r=e.firstChild.firstChild;for(var i=0;i<a.length;i+=2){var s=t.session.doc.indexToPosition(a[i]),o=a[i+1],f=r.children[s.row];f&&f.appendChild(o)}n&&n()})};f.render=function(e,t,n,i,s,u){function h(){var r=f.renderSync(e,t,n,i,s);return u?u(r):r}var a=1,l=r.prototype.$modes;typeof n=="string"&&(a++,o.loadModule(["theme",n],function(e){n=e,--a||h()}));var c;return t&&typeof t=="object"&&!t.getTokenizer&&(c=t,t=c.path),typeof t=="string"&&(a++,o.loadModule(["mode",t],function(e){if(!l[t]||c)l[t]=new e.Mode(c);t=l[t],--a||h()})),--a||h()},f.renderSync=function(e,t,n,i,o){i=parseInt(i||1,10);var u=new r("");u.setUseWorker(!1),u.setMode(t);var f=new a;f.setSession(u),u.setValue(e);var l=[],c=u.getLength();for(var h=0;h<c;h++)l.push("<div class='ace_line'>"),o||l.push("<span class='ace_gutter ace_gutter-cell' unselectable='on'></span>"),f.$renderLine(l,h,!0,!1),l.push("\n</div>");var p="<div class='"+n.cssClass+"'>"+"<div class='ace_static_highlight"+(o?"":" ace_show_gutter")+"' style='counter-reset:ace_line "+(i-1)+"'>"+l.join("")+"</div>"+"</div>";return f.destroy(),{css:s+n.cssText,html:p,session:u}},n.exports=f,n.exports.highlight=f});
+ (function() {
+ ace.require(["ace/ext/static_highlight"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-statusbar.js b/library/ace/ext-statusbar.js
new file mode 100644
index 000000000..a5ab7ed95
--- /dev/null
+++ b/library/ace/ext-statusbar.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("ace/lib/dom"),i=e("ace/lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this)).schedule.bind(null,100);e.on("changeStatus",n),e.on("changeSelection",n),e.on("keyboardActivity",n)};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];n(e.keyBinding.getStatusText(e)),e.commands.recording&&n("REC");var r=e.selection,i=r.lead;if(!r.isEmpty()){var s=e.getSelectionRange();n("("+(s.end.row-s.start.row)+":"+(s.end.column-s.start.column)+")"," ")}n(i.row+":"+i.column," "),r.rangeCount&&n("["+r.rangeCount+"]"," "),t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s});
+ (function() {
+ ace.require(["ace/ext/statusbar"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-textarea.js b/library/ace/ext-textarea.js
new file mode 100644
index 000000000..a53935bad
--- /dev/null
+++ b/library/ace/ext-textarea.js
@@ -0,0 +1,5 @@
+ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace","ace/theme/textmate"],function(e,t,n){"use strict";function a(e,t){for(var n in t)e.style[n]=t[n]}function f(e,t){if(e.type!="textarea")throw new Error("Textarea required!");var n=e.parentNode,i=document.createElement("div"),s=function(){var t="position:relative;";["margin-top","margin-left","margin-right","margin-bottom"].forEach(function(n){t+=n+":"+u(e,i,n)+";"});var n=u(e,i,"width")||e.clientWidth+"px",r=u(e,i,"height")||e.clientHeight+"px";t+="height:"+r+";width:"+n+";",t+="display:inline-block;",i.setAttribute("style",t)};r.addListener(window,"resize",s),s(),n.insertBefore(i,e.nextSibling);while(n!==document){if(n.tagName.toUpperCase()==="FORM"){var o=n.onsubmit;n.onsubmit=function(n){e.value=t(),o&&o.call(this,n)};break}n=n.parentNode}return i}function l(t,n,r){s.loadScript(t,function(){e([n],r)})}function c(e,t,n,r,i,s){function a(e){return e==="true"||e==1}var o=e.getSession(),u=e.renderer;return s=s||l,e.setDisplaySettings=function(t){t==null&&(t=n.style.display=="none"),t?(n.style.display="block",n.hideButton.focus(),e.on("focus",function r(){e.removeListener("focus",r),n.style.display="none"})):e.focus()},e.$setOption=e.setOption,e.$getOption=e.getOption,e.setOption=function(t,n){switch(t){case"mode":e.$setOption("mode","ace/mode/"+n);break;case"theme":e.$setOption("theme","ace/theme/"+n);break;case"keybindings":switch(n){case"vim":e.setKeyboardHandler("ace/keyboard/vim");break;case"emacs":e.setKeyboardHandler("ace/keyboard/emacs");break;default:e.setKeyboardHandler(null)}break;case"softWrap":case"fontSize":e.$setOption(t,n);break;default:e.$setOption(t,a(n))}},e.getOption=function(t){switch(t){case"mode":return e.$getOption("mode").substr("ace/mode/".length);case"theme":return e.$getOption("theme").substr("ace/theme/".length);case"keybindings":var n=e.getKeyboardHandler();switch(n&&n.$id){case"ace/keyboard/vim":return"vim";case"ace/keyboard/emacs":return"emacs";default:return"ace"}break;default:return e.$getOption(t)}},e.setOptions(i),e}function h(e,n,i){function f(e,t,n,r){if(!n){e.push("<input type='checkbox' title='",t,"' ",r+""=="true"?"checked='true'":"","'></input>");return}e.push("<select title='"+t+"'>");for(var i in n)e.push("<option value='"+i+"' "),r==i&&e.push(" selected "),e.push(">",n[i],"</option>");e.push("</select>")}var s=null,o={mode:"Mode:",wrap:"Soft Wrap:",theme:"Theme:",fontSize:"Font Size:",showGutter:"Display Gutter:",keybindings:"Keyboard",showPrintMargin:"Show Print Margin:",useSoftTabs:"Use Soft Tabs:",showInvisibles:"Show Invisibles"},u={mode:{text:"Plain",javascript:"JavaScript",xml:"XML",html:"HTML",css:"CSS",scss:"SCSS",python:"Python",php:"PHP",java:"Java",ruby:"Ruby",c_cpp:"C/C++",coffee:"CoffeeScript",json:"json",perl:"Perl",clojure:"Clojure",ocaml:"OCaml",csharp:"C#",haxe:"haXe",svg:"SVG",textile:"Textile",groovy:"Groovy",liquid:"Liquid",Scala:"Scala"},theme:{clouds:"Clouds",clouds_midnight:"Clouds Midnight",cobalt:"Cobalt",crimson_editor:"Crimson Editor",dawn:"Dawn",eclipse:"Eclipse",idle_fingers:"Idle Fingers",kr_theme:"Kr Theme",merbivore:"Merbivore",merbivore_soft:"Merbivore Soft",mono_industrial:"Mono Industrial",monokai:"Monokai",pastel_on_dark:"Pastel On Dark",solarized_dark:"Solarized Dark",solarized_light:"Solarized Light",textmate:"Textmate",twilight:"Twilight",vibrant_ink:"Vibrant Ink"},showGutter:s,fontSize:{"10px":"10px","11px":"11px","12px":"12px","14px":"14px","16px":"16px"},wrap:{off:"Off",40:"40",80:"80",free:"Free"},keybindings:{ace:"ace",vim:"vim",emacs:"emacs"},showPrintMargin:s,useSoftTabs:s,showInvisibles:s},a=[];a.push("<table><tr><th>Setting</th><th>Value</th></tr>");for(var l in t.defaultOptions)a.push("<tr><td>",o[l],"</td>"),a.push("<td>"),f(a,l,u[l],i.getOption(l)),a.push("</td></tr>");a.push("</table>"),e.innerHTML=a.join("");var c=function(e){var t=e.currentTarget;i.setOption(t.title,t.value)},h=function(e){var t=e.currentTarget;i.setOption(t.title,t.checked)},p=e.getElementsByTagName("select");for(var d=0;d<p.length;d++)p[d].onchange=c;var v=e.getElementsByTagName("input");for(var d=0;d<v.length;d++)v[d].onclick=h;var m=document.createElement("input");m.type="button",m.value="Hide",r.addListener(m,"click",function(){i.setDisplaySettings(!1)}),e.appendChild(m),e.hideButton=m}var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/net"),o=e("../ace");e("../theme/textmate"),n.exports=t=o;var u=function(e,t,n){var r=e.style[n];r||(window.getComputedStyle?r=window.getComputedStyle(e,"").getPropertyValue(n):r=e.currentStyle[n]);if(!r||r=="auto"||r=="intrinsic")r=t.style[n];return r};t.transformTextarea=function(e,n){var s,u=f(e,function(){return s.getValue()});e.style.display="none",u.style.background="white";var p=document.createElement("div");a(p,{top:"0px",left:"0px",right:"0px",bottom:"0px",border:"1px solid gray",position:"absolute"}),u.appendChild(p);var d=document.createElement("div");a(d,{position:"absolute",right:"0px",bottom:"0px",background:"red",cursor:"nw-resize",borderStyle:"solid",borderWidth:"9px 8px 10px 9px",width:"2px",borderColor:"lightblue gray gray lightblue",zIndex:101});var v=document.createElement("div"),m={top:"0px",left:"20%",right:"0px",bottom:"0px",position:"absolute",padding:"5px",zIndex:100,color:"white",display:"none",overflow:"auto",fontSize:"14px",boxShadow:"-5px 2px 3px gray"};i.isOldIE?m.backgroundColor="#333":m.backgroundColor="rgba(0, 0, 0, 0.6)",a(v,m),u.appendChild(v),n=n||t.defaultOptions;var g=o.edit(p);s=g.getSession(),s.setValue(e.value||e.innerHTML),g.focus(),u.appendChild(d),c(g,p,v,o,n,l),h(v,d,g);var y="";return r.addListener(d,"mousemove",function(e){var t=this.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;n+r<(t.width+t.height)/2?(this.style.cursor="pointer",y="toggle"):(y="resize",this.style.cursor="nw-resize")}),r.addListener(d,"mousedown",function(e){if(y=="toggle"){g.setDisplaySettings();return}u.style.zIndex=1e5;var t=u.getBoundingClientRect(),n=t.width+t.left-e.clientX,i=t.height+t.top-e.clientY;r.capture(d,function(e){u.style.width=e.clientX-t.left+n+"px",u.style.height=e.clientY-t.top+i+"px",g.resize()},function(){})}),g},t.defaultOptions={mode:"javascript",theme:"textmate",wrap:"off",fontSize:"12px",showGutter:"false",keybindings:"ace",showPrintMargin:"false",useSoftTabs:"true",showInvisibles:"false"}});
+ (function() {
+ ace.require(["ace/ext/textarea"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-themelist.js b/library/ace/ext-themelist.js
new file mode 100644
index 000000000..245c79263
--- /dev/null
+++ b/library/ace/ext-themelist.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"],function(e,t,n){"use strict";e("ace/lib/fixoldbrowsers");var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["IPlastic"],["Solarized Light"],["TextMate"],["Tomorrow"],["XCode"],["Kuroir"],["KatzenMilch"],["SQL Server","sqlserver","light"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Cobalt","cobalt","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})});
+ (function() {
+ ace.require(["ace/ext/themelist"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/ext-whitespace.js b/library/ace/ext-whitespace.js
new file mode 100644
index 000000000..14af281e7
--- /dev/null
+++ b/library/ace/ext-whitespace.js
@@ -0,0 +1,5 @@
+ace.define("ace/ext/whitespace",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang");t.$detectIndentation=function(e,t){function c(e){var t=0;for(var r=e;r<n.length;r+=e)t+=n[r]||0;return t}var n=[],r=[],i=0,s=0,o=Math.min(e.length,1e3);for(var u=0;u<o;u++){var a=e[u];if(!/^\s*[^*+\-\s]/.test(a))continue;if(a[0]==" ")i++,s=-Number.MAX_VALUE;else{var f=a.match(/^ */)[0].length;if(f&&a[f]!=" "){var l=f-s;l>0&&!(s%l)&&!(f%l)&&(r[l]=(r[l]||0)+1),n[f]=(n[f]||0)+1}s=f}while(u<o&&a[a.length-1]=="\\")a=e[u++]}var h=r.reduce(function(e,t){return e+t},0),p={score:0,length:0},d=0;for(var u=1;u<12;u++){var v=c(u);u==1?(d=v,v=n[1]?.9:.8,n.length||(v=0)):v/=d,r[u]&&(v+=r[u]/h),v>p.score&&(p={score:v,length:u})}if(p.score&&p.score>1.4)var m=p.length;if(i>d+1){if(m==1||d<i/4||p.score<1.8)m=undefined;return{ch:" ",length:m}}if(d>i+1)return{ch:" ",length:m}},t.detectIndentation=function(e){var n=e.getLines(0,1e3),r=t.$detectIndentation(n)||{};return r.ch&&e.setUseSoftTabs(r.ch==" "),r.length&&e.setTabSize(r.length),r},t.trimTrailingSpace=function(e,t){var n=e.getDocument(),r=n.getAllLines(),i=t?-1:0;for(var s=0,o=r.length;s<o;s++){var u=r[s],a=u.search(/\s+$/);a>i&&n.removeInLine(s,a,u.length)}},t.convertIndentation=function(e,t,n){var i=e.getTabString()[0],s=e.getTabSize();n||(n=s),t||(t=i);var o=t==" "?t:r.stringRepeat(t,n),u=e.doc,a=u.getAllLines(),f={},l={};for(var c=0,h=a.length;c<h;c++){var p=a[c],d=p.match(/^\s*/)[0];if(d){var v=e.$getStringScreenWidth(d)[0],m=Math.floor(v/s),g=v%s,y=f[m]||(f[m]=r.stringRepeat(o,m));y+=l[g]||(l[g]=r.stringRepeat(" ",g)),y!=d&&(u.removeInLine(c,0,d.length),u.insertInLine({row:c,column:0},y))}}e.setTabSize(n),e.setUseSoftTabs(t==" ")},t.$parseStringArg=function(e){var t={};/t/.test(e)?t.ch=" ":/s/.test(e)&&(t.ch=" ");var n=e.match(/\d+/);return n&&(t.length=parseInt(n[0],10)),t},t.$parseArg=function(e){return e?typeof e=="string"?t.$parseStringArg(e):typeof e.text=="string"?t.$parseStringArg(e.text):e:{}},t.commands=[{name:"detectIndentation",exec:function(e){t.detectIndentation(e.session)}},{name:"trimTrailingSpace",exec:function(e){t.trimTrailingSpace(e.session)}},{name:"convertIndentation",exec:function(e,n){var r=t.$parseArg(n);t.convertIndentation(e.session,r.ch,r.length)}},{name:"setIndentation",exec:function(e,n){var r=t.$parseArg(n);r.length&&e.session.setTabSize(r.length),r.ch&&e.session.setUseSoftTabs(r.ch==" ")}}]});
+ (function() {
+ ace.require(["ace/ext/whitespace"], function() {});
+ })();
+ \ No newline at end of file
diff --git a/library/ace/keybinding-emacs.js b/library/ace/keybinding-emacs.js
new file mode 100644
index 000000000..aa8433630
--- /dev/null
+++ b/library/ace/keybinding-emacs.js
@@ -0,0 +1 @@
+ace.define("ace/occur",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/edit_session","ace/search_highlight","ace/lib/dom"],function(e,t,n){"use strict";function a(){}var r=e("./lib/oop"),i=e("./range").Range,s=e("./search").Search,o=e("./edit_session").EditSession,u=e("./search_highlight").SearchHighlight;r.inherits(a,s),function(){this.enter=function(e,t){if(!t.needle)return!1;var n=e.getCursorPosition();this.displayOccurContent(e,t);var r=this.originalToOccurPosition(e.session,n);return e.moveCursorToPosition(r),!0},this.exit=function(e,t){var n=t.translatePosition&&e.getCursorPosition(),r=n&&this.occurToOriginalPosition(e.session,n);return this.displayOriginalContent(e),r&&e.moveCursorToPosition(r),!0},this.highlight=function(e,t){var n=e.$occurHighlight=e.$occurHighlight||e.addDynamicMarker(new u(null,"ace_occur-highlight","text"));n.setRegexp(t),e._emit("changeBackMarker")},this.displayOccurContent=function(e,t){this.$originalSession=e.session;var n=this.matchingLines(e.session,t),r=n.map(function(e){return e.content}),i=new o(r.join("\n"));i.$occur=this,i.$occurMatchingLines=n,e.setSession(i),this.$useEmacsStyleLineStart=this.$originalSession.$useEmacsStyleLineStart,i.$useEmacsStyleLineStart=this.$useEmacsStyleLineStart,this.highlight(i,t.re),i._emit("changeBackMarker")},this.displayOriginalContent=function(e){e.setSession(this.$originalSession),this.$originalSession.$useEmacsStyleLineStart=this.$useEmacsStyleLineStart},this.originalToOccurPosition=function(e,t){var n=e.$occurMatchingLines,r={row:0,column:0};if(!n)return r;for(var i=0;i<n.length;i++)if(n[i].row===t.row)return{row:i,column:t.column};return r},this.occurToOriginalPosition=function(e,t){var n=e.$occurMatchingLines;return!n||!n[t.row]?t:{row:n[t.row].row,column:t.column}},this.matchingLines=function(e,t){t=r.mixin({},t);if(!e||!t.needle)return[];var n=new s;return n.set(t),n.findAll(e).reduce(function(t,n){var r=n.start.row,i=t[t.length-1];return i&&i.row===r?t:t.concat({row:r,content:e.getLine(r)})},[])}}.call(a.prototype);var f=e("./lib/dom");f.importCssString(".ace_occur-highlight {\n border-radius: 4px;\n background-color: rgba(87, 255, 8, 0.25);\n position: absolute;\n z-index: 4;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n box-shadow: 0 0 4px rgb(91, 255, 50);\n}\n.ace_dark .ace_occur-highlight {\n background-color: rgb(80, 140, 85);\n box-shadow: 0 0 4px rgb(60, 120, 70);\n}\n","incremental-occur-highlighting"),t.Occur=a}),ace.define("ace/commands/occur_commands",["require","exports","module","ace/config","ace/occur","ace/keyboard/hash_handler","ace/lib/oop"],function(e,t,n){function f(){}var r=e("../config"),i=e("../occur").Occur,s={name:"occur",exec:function(e,t){var n=!!e.session.$occur,r=(new i).enter(e,t);r&&!n&&f.installIn(e)},readOnly:!0},o=[{name:"occurexit",bindKey:"esc|Ctrl-G",exec:function(e){var t=e.session.$occur;if(!t)return;t.exit(e,{}),e.session.$occur||f.uninstallFrom(e)},readOnly:!0},{name:"occuraccept",bindKey:"enter",exec:function(e){var t=e.session.$occur;if(!t)return;t.exit(e,{translatePosition:!0}),e.session.$occur||f.uninstallFrom(e)},readOnly:!0}],u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/oop");a.inherits(f,u),function(){this.isOccurHandler=!0,this.attach=function(e){u.call(this,o,e.commands.platform),this.$editor=e};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){var s=e.call(this,t,n,r,i);return s&&s.command?s:undefined}}.call(f.prototype),f.installIn=function(e){var t=new this;e.keyBinding.addKeyboardHandler(t),e.commands.addCommands(o)},f.uninstallFrom=function(e){e.commands.removeCommands(o);var t=e.getKeyboardHandler();t.isOccurHandler&&e.keyBinding.removeKeyboardHandler(t)},t.occurStartCommand=s}),ace.define("ace/commands/incremental_search_commands",["require","exports","module","ace/config","ace/lib/oop","ace/keyboard/hash_handler","ace/commands/occur_commands"],function(e,t,n){function u(e){this.$iSearch=e}var r=e("../config"),i=e("../lib/oop"),s=e("../keyboard/hash_handler").HashHandler,o=e("./occur_commands").occurStartCommand;t.iSearchStartCommands=[{name:"iSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e,t){r.loadModule(["core","ace/incremental_search"],function(n){var r=n.iSearch=n.iSearch||new n.IncrementalSearch;r.activate(e,t.backwards),t.jumpToFirstMatch&&r.next(t)})},readOnly:!0},{name:"iSearchBackwards",exec:function(e,t){e.execCommand("iSearch",{backwards:!0})},readOnly:!0},{name:"iSearchAndGo",bindKey:{win:"Ctrl-K",mac:"Command-G"},exec:function(e,t){e.execCommand("iSearch",{jumpToFirstMatch:!0,useCurrentOrPrevSearch:!0})},readOnly:!0},{name:"iSearchBackwardsAndGo",bindKey:{win:"Ctrl-Shift-K",mac:"Command-Shift-G"},exec:function(e){e.execCommand("iSearch",{jumpToFirstMatch:!0,backwards:!0,useCurrentOrPrevSearch:!0})},readOnly:!0}],t.iSearchCommands=[{name:"restartSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e){e.cancelSearch(!0)}},{name:"searchForward",bindKey:{win:"Ctrl-S|Ctrl-K",mac:"Ctrl-S|Command-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,e.next(t)}},{name:"searchBackward",bindKey:{win:"Ctrl-R|Ctrl-Shift-K",mac:"Ctrl-R|Command-Shift-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,t.backwards=!0,e.next(t)}},{name:"extendSearchTerm",exec:function(e,t){e.addString(t)}},{name:"extendSearchTermSpace",bindKey:"space",exec:function(e){e.addString(" ")}},{name:"shrinkSearchTerm",bindKey:"backspace",exec:function(e){e.removeChar()}},{name:"confirmSearch",bindKey:"return",exec:function(e){e.deactivate()}},{name:"cancelSearch",bindKey:"esc|Ctrl-G",exec:function(e){e.deactivate(!0)}},{name:"occurisearch",bindKey:"Ctrl-O",exec:function(e){var t=i.mixin({},e.$options);e.deactivate(),o.exec(e.$editor,t)}},{name:"yankNextWord",bindKey:"Ctrl-w",exec:function(e){var t=e.$editor,n=t.selection.getRangeOfMovements(function(e){e.moveCursorWordRight()}),r=t.session.getTextRange(n);e.addString(r)}},{name:"yankNextChar",bindKey:"Ctrl-Alt-y",exec:function(e){var t=e.$editor,n=t.selection.getRangeOfMovements(function(e){e.moveCursorRight()}),r=t.session.getTextRange(n);e.addString(r)}},{name:"recenterTopBottom",bindKey:"Ctrl-l",exec:function(e){e.$editor.execCommand("recenterTopBottom")}},{name:"selectAllMatches",bindKey:"Ctrl-space",exec:function(e){var t=e.$editor,n=t.session.$isearchHighlight,r=n&&n.cache?n.cache.reduce(function(e,t){return e.concat(t?t:[])},[]):[];e.deactivate(!1),r.forEach(t.selection.addRange.bind(t.selection))}},{name:"searchAsRegExp",bindKey:"Alt-r",exec:function(e){e.convertNeedleToRegExp()}}].map(function(e){return e.readOnly=!0,e.isIncrementalSearchCommand=!0,e.scrollIntoView="animate-cursor",e}),i.inherits(u,s),function(){this.attach=function(e){var n=this.$iSearch;s.call(this,t.iSearchCommands,e.commands.platform),this.$commandExecHandler=e.commands.addEventListener("exec",function(t){if(!t.command.isIncrementalSearchCommand)return n.deactivate();t.stopPropagation(),t.preventDefault();var r=e.session.getScrollTop(),i=t.command.exec(n,t.args||{});return e.renderer.scrollCursorIntoView(null,.5),e.renderer.animateScrolling(r),i})},this.detach=function(e){if(!this.$commandExecHandler)return;e.commands.removeEventListener("exec",this.$commandExecHandler),delete this.$commandExecHandler};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){if((n===1||n===8)&&r==="v"||n===1&&r==="y")return null;var s=e.call(this,t,n,r,i);if(s.command)return s;if(n==-1){var o=this.commands.extendSearchTerm;if(o)return{command:o,args:r}}return!1}}.call(u.prototype),t.IncrementalSearchKeyboardHandler=u}),ace.define("ace/incremental_search",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/search_highlight","ace/commands/incremental_search_commands","ace/lib/dom","ace/commands/command_manager","ace/editor","ace/config"],function(e,t,n){"use strict";function f(){this.$options={wrap:!1,skipCurrent:!1},this.$keyboardHandler=new a(this)}function l(e){return e instanceof RegExp}function c(e){var t=String(e),n=t.indexOf("/"),r=t.lastIndexOf("/");return{expression:t.slice(n+1,r),flags:t.slice(r+1)}}function h(e,t){try{return new RegExp(e,t)}catch(n){return e}}function p(e){return h(e.expression,e.flags)}var r=e("./lib/oop"),i=e("./range").Range,s=e("./search").Search,o=e("./search_highlight").SearchHighlight,u=e("./commands/incremental_search_commands"),a=u.IncrementalSearchKeyboardHandler;r.inherits(f,s),function(){this.activate=function(e,t){this.$editor=e,this.$startPos=this.$currentPos=e.getCursorPosition(),this.$options.needle="",this.$options.backwards=t,e.keyBinding.addKeyboardHandler(this.$keyboardHandler),this.$originalEditorOnPaste=e.onPaste,e.onPaste=this.onPaste.bind(this),this.$mousedownHandler=e.addEventListener("mousedown",this.onMouseDown.bind(this)),this.selectionFix(e),this.statusMessage(!0)},this.deactivate=function(e){this.cancelSearch(e);var t=this.$editor;t.keyBinding.removeKeyboardHandler(this.$keyboardHandler),this.$mousedownHandler&&(t.removeEventListener("mousedown",this.$mousedownHandler),delete this.$mousedownHandler),t.onPaste=this.$originalEditorOnPaste,this.message("")},this.selectionFix=function(e){e.selection.isEmpty()&&!e.session.$emacsMark&&e.clearSelection()},this.highlight=function(e){var t=this.$editor.session,n=t.$isearchHighlight=t.$isearchHighlight||t.addDynamicMarker(new o(null,"ace_isearch-result","text"));n.setRegexp(e),t._emit("changeBackMarker")},this.cancelSearch=function(e){var t=this.$editor;return this.$prevNeedle=this.$options.needle,this.$options.needle="",e?(t.moveCursorToPosition(this.$startPos),this.$currentPos=this.$startPos):t.pushEmacsMark&&t.pushEmacsMark(this.$startPos,!1),this.highlight(null),i.fromPoints(this.$currentPos,this.$currentPos)},this.highlightAndFindWithNeedle=function(e,t){if(!this.$editor)return null;var n=this.$options;t&&(n.needle=t.call(this,n.needle||"")||"");if(n.needle.length===0)return this.statusMessage(!0),this.cancelSearch(!0);n.start=this.$currentPos;var r=this.$editor.session,s=this.find(r),o=this.$editor.emacsMark?!!this.$editor.emacsMark():!this.$editor.selection.isEmpty();return s&&(n.backwards&&(s=i.fromPoints(s.end,s.start)),this.$editor.selection.setRange(i.fromPoints(o?this.$startPos:s.end,s.end)),e&&(this.$currentPos=s.end),this.highlight(n.re)),this.statusMessage(s),s},this.addString=function(e){return this.highlightAndFindWithNeedle(!1,function(t){if(!l(t))return t+e;var n=c(t);return n.expression+=e,p(n)})},this.removeChar=function(e){return this.highlightAndFindWithNeedle(!1,function(e){if(!l(e))return e.substring(0,e.length-1);var t=c(e);return t.expression=t.expression.substring(0,t.expression.length-1),p(t)})},this.next=function(e){return e=e||{},this.$options.backwards=!!e.backwards,this.$currentPos=this.$editor.getCursorPosition(),this.highlightAndFindWithNeedle(!0,function(t){return e.useCurrentOrPrevSearch&&t.length===0?this.$prevNeedle||"":t})},this.onMouseDown=function(e){return this.deactivate(),!0},this.onPaste=function(e){this.addString(e)},this.convertNeedleToRegExp=function(){return this.highlightAndFindWithNeedle(!1,function(e){return l(e)?e:h(e,"ig")})},this.convertNeedleToString=function(){return this.highlightAndFindWithNeedle(!1,function(e){return l(e)?c(e).expression:e})},this.statusMessage=function(e){var t=this.$options,n="";n+=t.backwards?"reverse-":"",n+="isearch: "+t.needle,n+=e?"":" (not found)",this.message(n)},this.message=function(e){this.$editor.showCommandLine?(this.$editor.showCommandLine(e),this.$editor.focus()):console.log(e)}}.call(f.prototype),t.IncrementalSearch=f;var d=e("./lib/dom");d.importCssString&&d.importCssString(".ace_marker-layer .ace_isearch-result { position: absolute; z-index: 6; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}div.ace_isearch-result { border-radius: 4px; background-color: rgba(255, 200, 0, 0.5); box-shadow: 0 0 4px rgb(255, 200, 0);}.ace_dark div.ace_isearch-result { background-color: rgb(100, 110, 160); box-shadow: 0 0 4px rgb(80, 90, 140);}","incremental-search-highlighting");var v=e("./commands/command_manager");(function(){this.setupIncrementalSearch=function(e,t){if(this.usesIncrementalSearch==t)return;this.usesIncrementalSearch=t;var n=u.iSearchStartCommands,r=t?"addCommands":"removeCommands";this[r](n)}}).call(v.CommandManager.prototype);var m=e("./editor").Editor;e("./config").defineOptions(m.prototype,"editor",{useIncrementalSearch:{set:function(e){this.keyBinding.$handlers.forEach(function(t){t.setupIncrementalSearch&&t.setupIncrementalSearch(this,e)}),this._emit("incrementalSearchSettingChanged",{isEnabled:e})}}})}),ace.define("ace/keyboard/emacs",["require","exports","module","ace/lib/dom","ace/incremental_search","ace/commands/incremental_search_commands","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom");e("../incremental_search");var i=e("../commands/incremental_search_commands"),s=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.floor((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(i,r)},o=e("./hash_handler").HashHandler;t.handler=new o,t.handler.isEmacs=!0,t.handler.$id="ace/keyboard/emacs";var u=!1,a,f;t.handler.attach=function(e){u||(u=!0,r.importCssString(" .emacs-mode .ace_cursor{ border: 1px rgba(50,250,50,0.8) solid!important; -moz-box-sizing: border-box!important; -webkit-box-sizing: border-box!important; box-sizing: border-box!important; background-color: rgba(0,250,0,0.9); opacity: 0.5; } .emacs-mode .ace_hidden-cursors .ace_cursor{ opacity: 1; background-color: transparent; } .emacs-mode .ace_overwrite-cursors .ace_cursor { opacity: 1; background-color: transparent; border-width: 0 0 2px 2px !important; } .emacs-mode .ace_text-layer { z-index: 4 } .emacs-mode .ace_cursor-layer { z-index: 2 }","emacsMode")),a=e.session.$selectLongWords,e.session.$selectLongWords=!0,f=e.session.$useEmacsStyleLineStart,e.session.$useEmacsStyleLineStart=!0,e.session.$emacsMark=null,e.session.$emacsMarkRing=e.session.$emacsMarkRing||[],e.emacsMark=function(){return this.session.$emacsMark},e.setEmacsMark=function(e){this.session.$emacsMark=e},e.pushEmacsMark=function(e,t){var n=this.session.$emacsMark;n&&this.session.$emacsMarkRing.push(n),!e||t?this.setEmacsMark(e):this.session.$emacsMarkRing.push(e)},e.popEmacsMark=function(){var e=this.emacsMark();return e?(this.setEmacsMark(null),e):this.session.$emacsMarkRing.pop()},e.getLastEmacsMark=function(e){return this.session.$emacsMark||this.session.$emacsMarkRing.slice(-1)[0]},e.emacsMarkForSelection=function(e){var t=this.selection,n=this.multiSelect?this.multiSelect.getAllRanges().length:1,r=t.index||0,i=this.session.$emacsMarkRing,s=i.length-(n-r),o=i[s]||t.anchor;return e&&i.splice(s,1,"row"in e&&"column"in e?e:undefined),o},e.on("click",c),e.on("changeSession",l),e.renderer.screenToTextCoordinates=s,e.setStyle("emacs-mode"),e.commands.addCommands(v),t.handler.platform=e.commands.platform,e.$emacsModeHandler=this,e.addEventListener("copy",this.onCopy),e.addEventListener("paste",this.onPaste)},t.handler.detach=function(e){delete e.renderer.screenToTextCoordinates,e.session.$selectLongWords=a,e.session.$useEmacsStyleLineStart=f,e.removeEventListener("click",c),e.removeEventListener("changeSession",l),e.unsetStyle("emacs-mode"),e.commands.removeCommands(v),e.removeEventListener("copy",this.onCopy),e.removeEventListener("paste",this.onPaste),e.$emacsModeHandler=null};var l=function(e){e.oldSession&&(e.oldSession.$selectLongWords=a,e.oldSession.$useEmacsStyleLineStart=f),a=e.session.$selectLongWords,e.session.$selectLongWords=!0,f=e.session.$useEmacsStyleLineStart,e.session.$useEmacsStyleLineStart=!0,e.session.hasOwnProperty("$emacsMark")||(e.session.$emacsMark=null),e.session.hasOwnProperty("$emacsMarkRing")||(e.session.$emacsMarkRing=[])},c=function(e){e.editor.session.$emacsMark=null},h=e("../lib/keys").KEY_MODS,p={C:"ctrl",S:"shift",M:"alt",CMD:"command"},d=["C-S-M-CMD","S-M-CMD","C-M-CMD","C-S-CMD","C-S-M","M-CMD","S-CMD","S-M","C-CMD","C-M","C-S","CMD","M","S","C"];d.forEach(function(e){var t=0;e.split("-").forEach(function(e){t|=h[p[e]]}),p[t]=e.toLowerCase()+"-"}),t.handler.onCopy=function(e,n){if(n.$handlesEmacsOnCopy)return;n.$handlesEmacsOnCopy=!0,t.handler.commands.killRingSave.exec(n),n.$handlesEmacsOnCopy=!1},t.handler.onPaste=function(e,t){t.pushEmacsMark(t.getCursorPosition())},t.handler.bindKey=function(e,t){typeof e=="object"&&(e=e[this.platform]);if(!e)return;var n=this.commandKeyBinding;e.split("|").forEach(function(e){e=e.toLowerCase(),n[e]=t;var r=e.split(" ").slice(0,-1);r.reduce(function(e,t,n){var r=e[n-1]?e[n-1]+" ":"";return e.concat([r+t])},[]).forEach(function(e){n[e]||(n[e]="null")})},this)},t.handler.getStatusText=function(e,t){var n="";return t.count&&(n+=t.count),t.keyChain&&(n+=" "+t.keyChain),n},t.handler.handleKeyboard=function(e,t,n,r){if(r===-1)return undefined;var i=e.editor;i._signal("changeStatus");if(t==-1){i.pushEmacsMark();if(e.count){var s=(new Array(e.count+1)).join(n);return e.count=null,{command:"insertstring",args:s}}}var o=p[t];if(o=="c-"||e.count){var u=parseInt(n[n.length-1]);if(typeof u=="number"&&!isNaN(u))return e.count=Math.max(e.count,0)||0,e.count=10*e.count+u,{command:"null"}}o&&(n=o+n),e.keyChain&&(n=e.keyChain+=" "+n);var a=this.commandKeyBinding[n];e.keyChain=a=="null"?n:"";if(!a)return undefined;if(a==="null")return{command:"null"};if(a==="universalArgument")return e.count=-4,{command:"null"};var f;typeof a!="string"&&(f=a.args,a.command&&(a=a.command),a==="goorselect"&&(a=i.emacsMark()?f[1]:f[0],f=null));if(typeof a=="string"){(a==="insertstring"||a==="splitline"||a==="togglecomment")&&i.pushEmacsMark(),a=this.commands[a]||i.commands.commands[a];if(!a)return undefined}!a.readOnly&&!a.isYank&&(e.lastCommand=null),!a.readOnly&&i.emacsMark()&&i.setEmacsMark(null);if(e.count){var u=e.count;e.count=0;if(!a||!a.handlesCount)return{args:f,command:{exec:function(e,t){for(var n=0;n<u;n++)a.exec(e,t)},multiSelectAction:a.multiSelectAction}};f||(f={}),typeof f=="object"&&(f.count=u)}return{command:a,args:f}},t.emacsKeys={"Up|C-p":{command:"goorselect",args:["golineup","selectup"]},"Down|C-n":{command:"goorselect",args:["golinedown","selectdown"]},"Left|C-b":{command:"goorselect",args:["gotoleft","selectleft"]},"Right|C-f":{command:"goorselect",args:["gotoright","selectright"]},"C-Left|M-b":{command:"goorselect",args:["gotowordleft","selectwordleft"]},"C-Right|M-f":{command:"goorselect",args:["gotowordright","selectwordright"]},"Home|C-a":{command:"goorselect",args:["gotolinestart","selecttolinestart"]},"End|C-e":{command:"goorselect",args:["gotolineend","selecttolineend"]},"C-Home|S-M-,":{command:"goorselect",args:["gotostart","selecttostart"]},"C-End|S-M-.":{command:"goorselect",args:["gotoend","selecttoend"]},"S-Up|S-C-p":"selectup","S-Down|S-C-n":"selectdown","S-Left|S-C-b":"selectleft","S-Right|S-C-f":"selectright","S-C-Left|S-M-b":"selectwordleft","S-C-Right|S-M-f":"selectwordright","S-Home|S-C-a":"selecttolinestart","S-End|S-C-e":"selecttolineend","S-C-Home":"selecttostart","S-C-End":"selecttoend","C-l":"recenterTopBottom","M-s":"centerselection","M-g":"gotoline","C-x C-p":"selectall","C-Down":{command:"goorselect",args:["gotopagedown","selectpagedown"]},"C-Up":{command:"goorselect",args:["gotopageup","selectpageup"]},"PageDown|C-v":{command:"goorselect",args:["gotopagedown","selectpagedown"]},"PageUp|M-v":{command:"goorselect",args:["gotopageup","selectpageup"]},"S-C-Down":"selectpagedown","S-C-Up":"selectpageup","C-s":"iSearch","C-r":"iSearchBackwards","M-C-s":"findnext","M-C-r":"findprevious","S-M-5":"replace",Backspace:"backspace","Delete|C-d":"del","Return|C-m":{command:"insertstring",args:"\n"},"C-o":"splitline","M-d|C-Delete":{command:"killWord",args:"right"},"C-Backspace|M-Backspace|M-Delete":{command:"killWord",args:"left"},"C-k":"killLine","C-y|S-Delete":"yank","M-y":"yankRotate","C-g":"keyboardQuit","C-w|C-S-W":"killRegion","M-w":"killRingSave","C-Space":"setMark","C-x C-x":"exchangePointAndMark","C-t":"transposeletters","M-u":"touppercase","M-l":"tolowercase","M-/":"autocomplete","C-u":"universalArgument","M-;":"togglecomment","C-/|C-x u|S-C--|C-z":"undo","S-C-/|S-C-x u|C--|S-C-z":"redo","C-x r":"selectRectangularRegion","M-x":{command:"focusCommandLine",args:"M-x "}},t.handler.bindKeys(t.emacsKeys),t.handler.addCommands({recenterTopBottom:function(e){var t=e.renderer,n=t.$cursorLayer.getPixelPosition(),r=t.$size.scrollerHeight-t.lineHeight,i=t.scrollTop;Math.abs(n.top-i)<2?i=n.top-r:Math.abs(n.top-i-r*.5)<2?i=n.top:i=n.top-r*.5,e.session.setScrollTop(i)},selectRectangularRegion:function(e){e.multiSelect.toggleBlockSelection()},setMark:{exec:function(e,t){function u(){var t=e.popEmacsMark();t&&e.moveCursorToPosition(t)}if(t&&t.count){e.inMultiSelectMode?e.forEachSelection(u):u(),u();return}var n=e.emacsMark(),r=e.selection.getAllRanges(),i=r.map(function(e){return{row:e.start.row,column:e.start.column}}),s=!0,o=r.every(function(e){return e.isEmpty()});if(s&&(n||!o)){e.inMultiSelectMode?e.forEachSelection({exec:e.clearSelection.bind(e)}):e.clearSelection(),n&&e.pushEmacsMark(null);return}if(!n){i.forEach(function(t){e.pushEmacsMark(t)}),e.setEmacsMark(i[i.length-1]);return}},readOnly:!0,handlesCount:!0},exchangePointAndMark:{exec:function(t,n){var r=t.selection;if(!n.count&&!r.isEmpty()){r.setSelectionRange(r.getRange(),!r.isBackwards());return}if(n.count){var i={row:r.lead.row,column:r.lead.column};r.clearSelection(),r.moveCursorToPosition(t.emacsMarkForSelection(i))}else r.selectToPosition(t.emacsMarkForSelection())},readOnly:!0,handlesCount:!0,multiSelectAction:"forEach"},killWord:{exec:function(e,n){e.clearSelection(),n=="left"?e.selection.selectWordLeft():e.selection.selectWordRight();var r=e.getSelectionRange(),i=e.session.getTextRange(r);t.killRing.add(i),e.session.remove(r),e.clearSelection()},multiSelectAction:"forEach"},killLine:function(e){e.pushEmacsMark(null),e.clearSelection();var n=e.getSelectionRange(),r=e.session.getLine(n.start.row);n.end.column=r.length,r=r.substr(n.start.column);var i=e.session.getFoldLine(n.start.row);i&&n.end.row!=i.end.row&&(n.end.row=i.end.row,r="x"),/^\s*$/.test(r)&&(n.end.row++,r=e.session.getLine(n.end.row),n.end.column=/^\s*$/.test(r)?r.length:0);var s=e.session.getTextRange(n);e.prevOp.command==this?t.killRing.append(s):t.killRing.add(s),e.session.remove(n),e.clearSelection()},yank:function(e){e.onPaste(t.killRing.get()||""),e.keyBinding.$data.lastCommand="yank"},yankRotate:function(e){if(e.keyBinding.$data.lastCommand!="yank")return;e.undo(),e.session.$emacsMarkRing.pop(),e.onPaste(t.killRing.rotate()),e.keyBinding.$data.lastCommand="yank"},killRegion:{exec:function(e){t.killRing.add(e.getCopyText()),e.commands.byName.cut.exec(e),e.setEmacsMark(null)},readOnly:!0,multiSelectAction:"forEach"},killRingSave:{exec:function(e){e.$handlesEmacsOnCopy=!0;var n=e.session.$emacsMarkRing.slice(),r=[];t.killRing.add(e.getCopyText()),setTimeout(function(){function t(){var t=e.selection,n=t.getRange(),i=t.isBackwards()?n.end:n.start;r.push({row:i.row,column:i.column}),t.clearSelection()}e.$handlesEmacsOnCopy=!1,e.inMultiSelectMode?e.forEachSelection({exec:t}):t(),e.session.$emacsMarkRing=n.concat(r.reverse())},0)},readOnly:!0},keyboardQuit:function(e){e.selection.clearSelection(),e.setEmacsMark(null),e.keyBinding.$data.count=null},focusCommandLine:function(e,t){e.showCommandLine&&e.showCommandLine(t)}}),t.handler.addCommands(i.iSearchStartCommands);var v=t.handler.commands;v.yank.isYank=!0,v.yankRotate.isYank=!0,t.killRing={$data:[],add:function(e){e&&this.$data.push(e),this.$data.length>30&&this.$data.shift()},append:function(e){var t=this.$data.length-1,n=this.$data[t]||"";e&&(n+=e),n&&(this.$data[t]=n)},get:function(e){return e=e||1,this.$data.slice(this.$data.length-e,this.$data.length).reverse().join("\n")},pop:function(){return this.$data.length>1&&this.$data.pop(),this.get()},rotate:function(){return this.$data.unshift(this.$data.pop()),this.get()}}}) \ No newline at end of file
diff --git a/library/ace/keybinding-vim.js b/library/ace/keybinding-vim.js
new file mode 100644
index 000000000..53c9301d5
--- /dev/null
+++ b/library/ace/keybinding-vim.js
@@ -0,0 +1 @@
+ace.define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/mode/text","ace/multi_select"],function(e,t,n){"use strict";function r(){function t(e){return typeof e!="object"?e+"":"line"in e?e.line+":"+e.ch:"anchor"in e?t(e.anchor)+"->"+t(e.head):Array.isArray(e)?"["+e.map(function(e){return t(e)})+"]":JSON.stringify(e)}var e="";for(var n=0;n<arguments.length;n++){var r=arguments[n],i=t(r);e+=i+" "}console.log(e)}function m(e){return{row:e.line,column:e.ch}}function g(e){return new E(e.row,e.column)}function x(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),v.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",Jn),tt(e),v.on(e.getInputField(),"paste",M(e))}function T(e){e.setOption("disableInput",!1),e.off("cursorActivity",Jn),v.off(e.getInputField(),"paste",M(e)),e.state.vim=null}function N(e,t){this==v.keyMap.vim&&v.rmClass(e.getWrapperElement(),"cm-fat-cursor"),(!t||t.attach!=C)&&T(e,!1)}function C(e,t){this==v.keyMap.vim&&v.addClass(e.getWrapperElement(),"cm-fat-cursor"),(!t||t.attach!=C)&&x(e)}function k(e,t){if(!t)return undefined;var n=O(e);if(!n)return!1;var r=v.Vim.findKey(t,n);return typeof r=="function"&&v.signal(t,"vim-keypress",n),r}function O(e){if(e.charAt(0)=="'")return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(t.length==1&&t[0].length==1)return!1;if(t.length==2&&t[0]=="Shift"&&n.length==1)return!1;var r=!1;for(var i=0;i<t.length;i++){var s=t[i];s in L?t[i]=L[s]:r=!0,s in A&&(t[i]=A[s])}return r?(X(n)&&(t[t.length-1]=n.toLowerCase()),"<"+t.join("-")+">"):!1}function M(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(St(e.getCursor(),0,1)),yt.enterInsertMode(e,{},t))}),t.onPasteFn}function H(e,t){var n=[];for(var r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}function R(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function U(e){return/^[a-z]$/.test(e)}function z(e){return"()[]{}".indexOf(e)!=-1}function W(e){return _.test(e)}function X(e){return/^[A-Z]$/.test(e)}function V(e){return/^\s*$/.test(e)}function $(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}function K(e,t,n,r,i){if(t===undefined&&!i)throw Error("defaultValue is required unless callback is provided");n||(n="string"),J[e]={type:n,defaultValue:t,callback:i};if(r)for(var s=0;s<r.length;s++)J[r[s]]=J[e];t&&Q(e,t)}function Q(e,t,n,r){var i=J[e];r=r||{};var s=r.scope;if(!i)throw Error("Unknown option: "+e);if(i.type=="boolean"){if(t&&t!==!0)throw Error("Invalid argument: "+e+"="+t);t!==!1&&(t=!0)}i.callback?(s!=="local"&&i.callback(t,undefined),s!=="global"&&n&&i.callback(t,n)):(s!=="local"&&(i.value=i.type=="boolean"?!!t:t),s!=="global"&&n&&(n.state.vim.options[e]={value:t}))}function G(e,t,n){var r=J[e];n=n||{};var i=n.scope;if(!r)throw Error("Unknown option: "+e);if(r.callback){var s=t&&r.callback(undefined,t);if(i!=="global"&&s!==undefined)return s;if(i!=="local")return r.callback();return}var s=i!=="global"&&t&&t.state.vim.options[e];return(s||i!=="local"&&r||{}).value}function et(){this.latestRegister=undefined,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=undefined,this.lastInsertModeChanges=Z()}function tt(e){return e.state.vim||(e.state.vim={inputState:new ot,lastEditInputState:undefined,lastEditActionCommand:undefined,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:undefined,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function rt(){nt={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:undefined,jumpList:Y(),macroModeState:new et,lastChararacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new lt({}),searchHistoryController:new ct({}),exCommandHistoryController:new ct({})};for(var e in J){var t=J[e];t.value=t.defaultValue}}function ot(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function ut(e,t){e.state.vim.inputState=new ot,v.signal(e,"vim-command-done",t)}function at(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function ft(e,t){var n=nt.registerController.registers[e];if(!e||e.length!=1)throw Error("Register name must be 1 character");n[e]=t,q.push(e)}function lt(e){this.registers=e,this.unnamedRegister=e['"']=new at,e["."]=new at,e[":"]=new at,e["/"]=new at}function ct(){this.historyBuffer=[],this.iterator,this.initialPrefix=null}function dt(e,t){pt[e]=t}function vt(e,t){var n=[];for(var r=0;r<t;r++)n.push(e);return n}function gt(e,t){mt[e]=t}function bt(e,t){yt[e]=t}function wt(e,t,n){var r=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),i=Pt(e,r)-1;i=n?i+1:i;var s=Math.min(Math.max(0,t.ch),i);return E(r,s)}function Et(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function St(e,t,n){return typeof t=="object"&&(n=t.ch,t=t.line),E(e.line+t,e.ch+n)}function xt(e,t){return{line:t.line-e.line,ch:t.line-e.line}}function Tt(e,t,n,r){var i,s=[],o=[];for(var u=0;u<t.length;u++){var a=t[u];if(n=="insert"&&a.context!="insert"||a.context&&a.context!=n||r.operator&&a.type=="action"||!(i=Nt(e,a.keys)))continue;i=="partial"&&s.push(a),i=="full"&&o.push(a)}return{partial:s.length&&s,full:o.length&&o}}function Nt(e,t){if(t.slice(-11)=="<character>"){var n=t.length-11,r=e.slice(0,n),i=t.slice(0,n);return r==i&&e.length>n?"full":i.indexOf(r)==0?"partial":!1}return e==t?"full":t.indexOf(e)==0?"partial":!1}function Ct(e){var t=/^.*(<[\w\-]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"<CR>":n="\n";break;case"<Space>":n=" ";break;default:}return n}function kt(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function Lt(e){return E(e.line,e.ch)}function At(e,t){return e.ch==t.ch&&e.line==t.line}function Ot(e,t){return e.line<t.line?!0:e.line==t.line&&e.ch<t.ch?!0:!1}function Mt(e,t){return arguments.length>2&&(t=Mt.apply(undefined,Array.prototype.slice.call(arguments,1))),Ot(e,t)?e:t}function _t(e,t){return arguments.length>2&&(t=_t.apply(undefined,Array.prototype.slice.call(arguments,1))),Ot(e,t)?t:e}function Dt(e,t,n){var r=Ot(e,t),i=Ot(t,n);return r&&i}function Pt(e,t){return e.getLine(t).length}function Ht(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Bt(e){return e.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function jt(e,t,n){var r=Pt(e,t),i=(new Array(n-r+1)).join(" ");e.setCursor(E(t,r)),e.replaceRange(i,e.getCursor())}function Ft(e,t){var n=[],r=e.listSelections(),i=Lt(e.clipPos(t)),s=!At(t,i),o=e.getCursor("head"),u=qt(r,o),a=At(r[u].head,r[u].anchor),f=r.length-1,l=f-u>u?f:0,c=r[l].anchor,h=Math.min(c.line,i.line),p=Math.max(c.line,i.line),d=c.ch,v=i.ch,m=r[l].head.ch-d,g=v-d;m>0&&g<=0?(d++,s||v--):m<0&&g>=0?(d--,a||v++):m<0&&g==-1&&(d--,v++);for(var y=h;y<=p;y++){var b={anchor:new E(y,d),head:new E(y,v)};n.push(b)}return u=i.line==p?n.length-1:0,e.setSelections(n),t.ch=v,c.ch=d,c}function It(e,t,n){var r=[];for(var i=0;i<n;i++){var s=St(t,i,0);r.push({anchor:s,head:s})}e.setSelections(r,0)}function qt(e,t,n){for(var r=0;r<e.length;r++){var i=n!="head"&&At(e[r].anchor,t),s=n!="anchor"&&At(e[r].head,t);if(i||s)return r}return-1}function Rt(e,t){var n=t.lastSelection,r=function(){var t=e.listSelections(),n=t[0],r=t[t.length-1],i=Ot(n.anchor,n.head)?n.anchor:n.head,s=Ot(r.anchor,r.head)?r.head:r.anchor;return[i,s]},i=function(){var t=e.getCursor(),r=e.getCursor(),i=n.visualBlock;if(i){var s=i.width,o=i.height;r=E(t.line+o,t.ch+s);var u=[];for(var a=t.line;a<r.line;a++){var f=E(a,t.ch),l=E(a,r.ch),c={anchor:f,head:l};u.push(c)}e.setSelections(u)}else{var h=n.anchorMark.find(),p=n.headMark.find(),d=p.line-h.line,v=p.ch-h.ch;r={line:r.line+d,ch:d?r.ch:v+r.ch},n.visualLine&&(t=E(t.line,0),r=E(r.line,Pt(e,r.line))),e.setSelection(t,r)}return[t,r]};return t.visualMode?r():i()}function Ut(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:Lt(n),head:Lt(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function zt(e,t,n){var r=e.state.vim.sel,i=r.head,s=r.anchor,o;return Ot(n,t)&&(o=n,n=t,t=o),Ot(i,s)?(i=Mt(t,i),s=_t(s,n)):(s=Mt(t,s),i=_t(i,n),i=St(i,0,-1),i.ch==-1&&i.line!=e.firstLine()&&(i=E(i.line-1,Pt(e,i.line-1)))),[s,i]}function Wt(e,t,n){var r=e.state.vim;t=t||r.sel;var n=n||r.visualLine?"line":r.visualBlock?"block":"char",i=Xt(e,t,n);e.setSelections(i.ranges,i.primary),Kn(e)}function Xt(e,t,n,r){var i=Lt(t.head),s=Lt(t.anchor);if(n=="char"){var o=!r&&!Ot(t.head,t.anchor)?1:0,u=Ot(t.head,t.anchor)?1:0;return i=St(t.head,0,o),s=St(t.anchor,0,u),{ranges:[{anchor:s,head:i}],primary:0}}if(n=="line"){if(!Ot(t.head,t.anchor)){s.ch=0;var a=e.lastLine();i.line>a&&(i.line=a),i.ch=Pt(e,i.line)}else i.ch=0,s.ch=Pt(e,s.line);return{ranges:[{anchor:s,head:i}],primary:0}}if(n=="block"){var f=Math.min(s.line,i.line),l=Math.min(s.ch,i.ch),c=Math.max(s.line,i.line),h=Math.max(s.ch,i.ch)+1,p=c-f+1,d=i.line==f?0:p-1,v=[];for(var m=0;m<p;m++)v.push({anchor:E(f+m,l),head:E(f+m,h)});return{ranges:v,primary:d}}}function Vt(e){var t=e.getCursor("head");return e.getSelection().length==1&&(t=Mt(t,e.getCursor("anchor"))),t}function $t(e,t){var n=e.state.vim;t!==!1&&e.setCursor(wt(e,n.sel.head)),Ut(e,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,v.signal(e,"vim-mode-change",{mode:"normal"}),n.fakeCursor&&n.fakeCursor.clear()}function Jt(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var i=r.split("\n");i.pop();var s;for(var s=i.pop();i.length>0&&s&&V(s);s=i.pop())n.line--,n.ch=0;s?(n.line--,n.ch=Pt(e,n.line)):n.ch=0}}function Kt(e,t,n){t.ch=0,n.ch=0,n.line++}function Qt(e){if(!e)return 0;var t=e.search(/\S/);return t==-1?e.length:t}function Gt(e,t,n,r,i){var s=Vt(e),o=e.getLine(s.line),u=s.ch,a=i?D[0]:P[0];while(!a(o.charAt(u))){u++;if(u>=o.length)return null}r?a=P[0]:(a=D[0],a(o.charAt(u))||(a=D[1]));var f=u,l=u;while(a(o.charAt(f))&&f<o.length)f++;while(a(o.charAt(l))&&l>=0)l--;l++;if(t){var c=f;while(/\s/.test(o.charAt(f))&&f<o.length)f++;if(c==f){var h=l;while(/\s/.test(o.charAt(l-1))&&l>0)l--;l||(l=h)}}return{start:E(s.line,l),end:E(s.line,f)}}function Yt(e,t,n){At(t,n)||nt.jumpList.add(e,t,n)}function Zt(e,t){nt.lastChararacterSearch.increment=e,nt.lastChararacterSearch.forward=t.forward,nt.lastChararacterSearch.selectedCharacter=t.selectedCharacter}function nn(e,t,n,r){var i=Lt(e.getCursor()),s=n?1:-1,o=n?e.lineCount():-1,u=i.ch,a=i.line,f=e.getLine(a),l={lineText:f,nextCh:f.charAt(u),lastCh:null,index:u,symb:r,reverseSymb:(n?{")":"(","}":"{"}:{"(":")","{":"}"})[r],forward:n,depth:0,curMoveThrough:!1},c=en[r];if(!c)return i;var h=tn[c].init,p=tn[c].isComplete;h&&h(l);while(a!==o&&t){l.index+=s,l.nextCh=l.lineText.charAt(l.index);if(!l.nextCh){a+=s,l.lineText=e.getLine(a)||"";if(s>0)l.index=0;else{var d=l.lineText.length;l.index=d>0?d-1:0}l.nextCh=l.lineText.charAt(l.index)}p(l)&&(i.line=a,i.ch=l.index,t--)}return l.nextCh||l.curMoveThrough?E(a,l.index):i}function rn(e,t,n,r,i){var s=t.line,o=t.ch,u=e.getLine(s),a=n?1:-1,f=r?P:D;if(i&&u==""){s+=a,u=e.getLine(s);if(!R(e,s))return null;o=n?0:u.length}for(;;){if(i&&u=="")return{from:0,to:0,line:s};var l=a>0?u.length:-1,c=l,h=l;while(o!=l){var p=!1;for(var d=0;d<f.length&&!p;++d)if(f[d](u.charAt(o))){c=o;while(o!=l&&f[d](u.charAt(o)))o+=a;h=o,p=c!=h;if(c==t.ch&&s==t.line&&h==c+a)continue;return{from:Math.min(c,h+1),to:Math.max(c,h),line:s}}p||(o+=a)}s+=a;if(!R(e,s))return null;u=e.getLine(s),o=a>0?0:u.length}throw new Error("The impossible happened.")}function sn(e,t,n,r,i,s){var o=Lt(t),u=[];(r&&!i||!r&&i)&&n++;var a=!r||!i;for(var f=0;f<n;f++){var l=rn(e,t,r,s,a);if(!l){var c=Pt(e,e.lastLine());u.push(r?{line:e.lastLine(),from:c,to:c}:{line:0,from:0,to:0});break}u.push(l),t=E(l.line,r?l.to-1:l.from)}var h=u.length!=n,p=u[0],d=u.pop();return r&&!i?(!h&&(p.from!=o.ch||p.line!=o.line)&&(d=u.pop()),E(d.line,d.from)):r&&i?E(d.line,d.to-1):!r&&i?(!h&&(p.to!=o.ch||p.line!=o.line)&&(d=u.pop()),E(d.line,d.to)):E(d.line,d.from)}function on(e,t,n,r){var i=e.getCursor(),s=i.ch,o;for(var u=0;u<t;u++){var a=e.getLine(i.line);o=fn(s,a,r,n,!0);if(o==-1)return null;s=o}return E(e.getCursor().line,o)}function un(e,t){var n=e.getCursor().line;return wt(e,E(n,t-1))}function an(e,t,n,r){if(!$(n,I))return;t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r)}function fn(e,t,n,r,i){var s;return r?(s=t.indexOf(n,e+1),s!=-1&&!i&&(s-=1)):(s=t.lastIndexOf(n,e-1),s!=-1&&!i&&(s+=1)),s}function ln(e,t,n,r,i){function c(t){return!/\S/.test(e.getLine(t))}function h(e,t,n){return n?c(e)!=c(e+t):!c(e)&&c(e+t)}function p(t){r=r>0?1:-1;var n=e.ace.session.getFoldLine(t);n&&t+r>n.start.row&&t+r<n.end.row&&(r=(r>0?n.end.row:n.start.row)-t)}var s=t.line,o=e.firstLine(),u=e.lastLine(),a,f,l=s;if(r){while(o<=l&&l<=u&&n>0)p(l),h(l,r)&&n--,l+=r;return new E(l,0)}var d=e.state.vim;if(d.visualLine&&h(s,1,!0)){var v=d.sel.anchor;h(v.line,-1,!0)&&(!i||v.line!=s)&&(s+=1)}var m=c(s);for(l=s;l<=u&&n;l++)h(l,1,!0)&&(!i||c(l)!=m)&&n--;f=new E(l,0),l>u&&!m?m=!0:i=!1;for(l=s;l>o;l--)if(!i||c(l)==m||l==s)if(h(l,-1,!0))break;return a=new E(l,0),{start:a,end:f}}function cn(e,t,n,r){var i=t,s,o,u={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[n],a={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[n],f=e.getLine(i.line).charAt(i.ch),l=f===a?1:0;s=e.scanForBracket(E(i.line,i.ch+l),-1,null,{bracketRegex:u}),o=e.scanForBracket(E(i.line,i.ch+l),1,null,{bracketRegex:u});if(!s||!o)return{start:i,end:i};s=s.pos,o=o.pos;if(s.line==o.line&&s.ch>o.ch||s.line>o.line){var c=s;s=o,o=c}return r?o.ch+=1:s.ch+=1,{start:s,end:o}}function hn(e,t,n,r){var i=Lt(t),s=e.getLine(i.line),o=s.split(""),u,a,f,l,c=o.indexOf(n);i.ch<c?i.ch=c:c<i.ch&&o[i.ch]==n&&(a=i.ch,--i.ch);if(o[i.ch]==n&&!a)u=i.ch+1;else for(f=i.ch;f>-1&&!u;f--)o[f]==n&&(u=f+1);if(u&&!a)for(f=u,l=o.length;f<l&&!a;f++)o[f]==n&&(a=f);return!u||!a?{start:i,end:i}:(r&&(--u,++a),{start:E(i.line,u),end:E(i.line,a)})}function pn(){}function dn(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new pn)}function vn(e,t,n,r,i){e.openDialog?e.openDialog(t,r,{bottom:!0,value:i.value,onKeyDown:i.onKeyDown,onKeyUp:i.onKeyUp,selectValueOnOpen:!1}):r(prompt(n,""))}function mn(e){var t=gn(e)||[];if(!t.length)return[];var n=[];if(t[0]!==0)return;for(var r=0;r<t.length;r++)typeof t[r]=="number"&&n.push(e.substring(t[r]+1,t[r+1]));return n}function gn(e){var t=!1,n=[];for(var r=0;r<e.length;r++){var i=e.charAt(r);!t&&i=="/"&&n.push(r),t=!t&&i=="\\"}return n}function yn(e){var t="|(){",n="}",r=!1,i=[];for(var s=-1;s<e.length;s++){var o=e.charAt(s)||"",u=e.charAt(s+1)||"",a=u&&t.indexOf(u)!=-1;r?((o!=="\\"||!a)&&i.push(o),r=!1):o==="\\"?(r=!0,u&&n.indexOf(u)!=-1&&(a=!0),(!a||u==="\\")&&i.push(o)):(i.push(o),a&&u!=="\\"&&i.push("\\"))}return i.join("")}function wn(e){var t=!1,n=[];for(var r=-1;r<e.length;r++){var i=e.charAt(r)||"",s=e.charAt(r+1)||"";bn[i+s]?(n.push(bn[i+s]),r++):t?(n.push(i),t=!1):i==="\\"?(t=!0,W(s)||s==="$"?n.push("$"):s!=="/"&&s!=="\\"&&n.push("\\")):(i==="$"&&n.push("$"),n.push(i),s==="/"&&n.push("\\"))}return n.join("")}function Sn(e){var t=new v.StringStream(e),n=[];while(!t.eol()){while(t.peek()&&t.peek()!="\\")n.push(t.next());var r=!1;for(var i in En)if(t.match(i,!0)){r=!0,n.push(En[i]);break}r||n.push(t.next())}return n.join("")}function xn(e,t,n){var r=nt.registerController.getRegister("/");r.setText(e);if(e instanceof RegExp)return e;var i=gn(e),s,o;if(!i.length)s=e;else{s=e.substring(0,i[0]);var u=e.substring(i[0]);o=u.indexOf("i")!=-1}if(!s)return null;G("pcre")||(s=yn(s)),n&&(t=/^[^A-Z]*$/.test(s));var a=new RegExp(s,t||o?"i":undefined);return a}function Tn(e,t){e.openNotification?e.openNotification('<span style="color: red">'+t+"</span>",{bottom:!0,duration:5e3}):alert(t)}function Nn(e,t){var n="";return e&&(n+='<span style="font-family: monospace">'+e+"</span>"),n+='<input type="text"/> <span style="color: #888">',t&&(n+='<span style="color: #888">',n+=t,n+="</span>"),n}function kn(e,t){var n=(t.prefix||"")+" "+(t.desc||""),r=Nn(t.prefix,t.desc);vn(e,r,n,t.onClose,t)}function Ln(e,t){if(e instanceof RegExp&&t instanceof RegExp){var n=["global","multiline","ignoreCase","source"];for(var r=0;r<n.length;r++){var i=n[r];if(e[i]!==t[i])return!1}return!0}return!1}function An(e,t,n,r){if(!t)return;var i=dn(e),s=xn(t,!!n,!!r);if(!s)return;return Mn(e,s),Ln(s,i.getQuery())?s:(i.setQuery(s),s)}function On(e){if(e.source.charAt(0)=="^")var t=!0;return{token:function(n){if(t&&!n.sol()){n.skipToEnd();return}var r=n.match(e,!1);if(r){if(r[0].length==0)return n.next(),"searching";if(!n.sol()){n.backUp(1);if(!e.exec(n.next()+r[0]))return n.next(),null}return n.match(e),"searching"}while(!n.eol()){n.next();if(n.match(e,!1))break}},query:e}}function Mn(e,t){var n=dn(e),r=n.getOverlay();if(!r||t!=r.query)r&&e.removeOverlay(r),r=On(t),e.addOverlay(r),e.showMatchesOnScrollbar&&(n.getScrollbarAnnotate()&&n.getScrollbarAnnotate().clear(),n.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),n.setOverlay(r)}function _n(e,t,n,r){return r===undefined&&(r=1),e.operation(function(){var i=e.getCursor(),s=e.getSearchCursor(n,i);for(var o=0;o<r;o++){var u=s.find(t);o==0&&u&&At(s.from(),i)&&(u=s.find(t));if(!u){s=e.getSearchCursor(n,t?E(e.lastLine()):E(e.firstLine(),0));if(!s.find(t))return}}return s.from()})}function Dn(e){var t=dn(e);e.removeOverlay(dn(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function Pn(e,t,n){return typeof e!="number"&&(e=e.line),t instanceof Array?$(e,t):n?e>=t&&e<=n:e==t}function Hn(e){var t=e.ace.renderer;return{top:t.getFirstFullyVisibleRow(),bottom:t.getLastFullyVisibleRow()}}function In(e,t,n,r,i,s,o,u,a){function c(){e.operation(function(){while(!f)h(),p();d()})}function h(){var t=e.getRange(s.from(),s.to()),n=t.replace(o,u);s.replace(n)}function p(){while(s.findNext()&&Pn(s.from(),r,i)){if(!n&&l&&s.from().line==l.line)continue;e.scrollIntoView(s.from(),30),e.setSelection(s.from(),s.to()),l=s.from(),f=!1;return}f=!0}function d(t){t&&t(),e.focus();if(l){e.setCursor(l);var n=e.state.vim;n.exMode=!1,n.lastHPos=n.lastHSPos=l.ch}a&&a()}function m(t,n,r){v.e_stop(t);var i=v.keyName(t);switch(i){case"Y":h(),p();break;case"N":p();break;case"A":var s=a;a=undefined,e.operation(c),a=s;break;case"L":h();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":d(r)}return f&&d(r),!0}e.state.vim.exMode=!0;var f=!1,l=s.from();p();if(f){Tn(e,"No matches for "+o.source);return}if(!t){c(),a&&a();return}kn(e,{prefix:"replace with <strong>"+u+"</strong> (y/n/a/q/l)",onKeyDown:m})}function qn(e){var t=e.state.vim,n=nt.macroModeState,r=nt.registerController.getRegister("."),i=n.isPlaying,s=n.lastInsertModeChanges,o=[];if(!i){var u=s.inVisualBlock?t.lastSelection.visualBlock.height:1,a=s.changes,o=[],f=0;while(f<a.length)o.push(a[f]),a[f]instanceof Gn?f++:f+=u;s.changes=o,e.off("change",$n),v.off(e.getInputField(),"keydown",Yn)}!i&&t.insertModeRepeat>1&&(Zn(e,t,t.insertModeRepeat-1,!0),t.lastEditInputState.repeatOverride=t.insertModeRepeat),delete t.insertModeRepeat,t.insertMode=!1,e.setCursor(e.getCursor().line,e.getCursor().ch-1),e.setOption("keyMap","vim"),e.setOption("disableInput",!0),e.toggleOverwrite(!1),r.setText(s.changes.join("")),v.signal(e,"vim-mode-change",{mode:"normal"}),n.isRecording&&Xn(n)}function Rn(e){b.unshift(e)}function Un(e,t,n,r,i){var s={keys:e,type:t};s[t]=n,s[t+"Args"]=r;for(var o in i)s[o]=i[o];Rn(s)}function zn(e,t,n,r){var i=nt.registerController.getRegister(r);if(r==":"){i.keyBuffer[0]&&Fn.processCommand(e,i.keyBuffer[0]),n.isPlaying=!1;return}var s=i.keyBuffer,o=0;n.isPlaying=!0,n.replaySearchQueries=i.searchQueries.slice(0);for(var u=0;u<s.length;u++){var a=s[u],f,l;while(a){f=/<\w+-.+?>|<\w+>|./.exec(a),l=f[0],a=a.substring(f.index+l.length),v.Vim.handleKey(e,l,"macro");if(t.insertMode){var c=i.insertModeChanges[o++].changes;nt.macroModeState.lastInsertModeChanges.changes=c,er(e,c,1),qn(e)}}}n.isPlaying=!1}function Wn(e,t){if(e.isPlaying)return;var n=e.latestRegister,r=nt.registerController.getRegister(n);r&&r.pushText(t)}function Xn(e){if(e.isPlaying)return;var t=e.latestRegister,n=nt.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}function Vn(e,t){if(e.isPlaying)return;var n=e.latestRegister,r=nt.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}function $n(e,t){var n=nt.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)while(t){r.expectCursorActivityForChange=!0;if(t.origin=="+input"||t.origin=="paste"||t.origin===undefined){var i=t.text.join("\n");r.changes.push(i)}t=t.next}}function Jn(e){var t=e.state.vim;if(t.insertMode){var n=nt.macroModeState;if(n.isPlaying)return;var r=n.lastInsertModeChanges;r.expectCursorActivityForChange?r.expectCursorActivityForChange=!1:r.changes=[]}else e.curOp.isVimOp||Qn(e,t);t.visualMode&&Kn(e)}function Kn(e){var t=e.state.vim,n=wt(e,Lt(t.sel.head)),r=St(n,0,1);t.fakeCursor&&t.fakeCursor.clear(),t.fakeCursor=e.markText(n,r,{className:"cm-animate-fat-cursor"})}function Qn(e,t){var n=e.getCursor("anchor"),r=e.getCursor("head");t.visualMode&&!e.somethingSelected()?$t(e,!1):!t.visualMode&&!t.insertMode&&e.somethingSelected()&&(t.visualMode=!0,t.visualLine=!1,v.signal(e,"vim-mode-change",{mode:"visual"}));if(t.visualMode){var i=Ot(r,n)?0:-1,s=Ot(r,n)?-1:0;r=St(r,0,i),n=St(n,0,s),t.sel={anchor:n,head:r},an(e,t,"<",Mt(r,n)),an(e,t,">",_t(r,n))}else t.insertMode||(t.lastHPos=e.getCursor().ch)}function Gn(e){this.keyName=e}function Yn(e){function i(){return n.changes.push(new Gn(r)),!0}var t=nt.macroModeState,n=t.lastInsertModeChanges,r=v.keyName(e);if(!r)return;(r.indexOf("Delete")!=-1||r.indexOf("Backspace")!=-1)&&v.lookupKey(r,"vim-insert",i)}function Zn(e,t,n,r){function u(){s?ht.processAction(e,t,t.lastEditActionCommand):ht.evalInput(e,t)}function a(n){if(i.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=i.lastInsertModeChanges;er(e,r.changes,n)}}var i=nt.macroModeState;i.isPlaying=!0;var s=!!t.lastEditActionCommand,o=t.inputState;t.inputState=t.lastEditInputState;if(s&&t.lastEditActionCommand.interlaceInsertRepeat)for(var f=0;f<n;f++)u(),a(1);else r||u(),a(n);t.inputState=o,t.insertMode&&!r&&qn(e),i.isPlaying=!1}function er(e,t,n){function r(t){return typeof t=="string"?v.commands[t](e):t(e),!0}var i=e.getCursor("head"),s=nt.macroModeState.lastInsertModeChanges.inVisualBlock;if(s){var o=e.state.vim,u=o.lastSelection,a=xt(u.anchor,u.head);It(e,i,a.line+1),n=e.listSelections().length,e.setCursor(i)}for(var f=0;f<n;f++){s&&e.setCursor(St(i,f,0));for(var l=0;l<t.length;l++){var c=t[l];if(c instanceof Gn)v.lookupKey(c.keyName,"vim-insert",r);else{var h=e.getCursor();e.replaceRange(c,h,h)}}}s&&e.setCursor(St(i,0,1))}function nr(e,t,n){t.length>1&&t[0]=="n"&&(t=t.replace("numpad","")),t=tr[t]||t;var r="";return n.ctrlKey&&(r+="C-"),n.altKey&&(r+="A-"),n.shiftKey&&(r+="S-"),r+=t,r.length>1&&(r="<"+r+">"),r}function ir(e){var t=new e.constructor;return Object.keys(e).forEach(function(n){var r=e[n];Array.isArray(r)?r=r.slice():r&&typeof r=="object"&&r.constructor!=Object&&(r=ir(r)),t[n]=r}),e.sel&&(t.sel={head:e.sel.head&&Lt(e.sel.head),anchor:e.sel.anchor&&Lt(e.sel.anchor)}),t}function sr(e,t,n){var r=!1,i=S.maybeInitVimState_(e),s=i.visualBlock||i.wasInVisualBlock;i.wasInVisualBlock&&!e.ace.inMultiSelectMode?i.wasInVisualBlock=!1:e.ace.inMultiSelectMode&&i.visualBlock&&(i.wasInVisualBlock=!0);if(t=="<Esc>"&&!i.insertMode&&!i.visualMode&&e.ace.inMultiSelectMode)e.ace.exitMultiSelectMode();else if(s||!e.ace.inMultiSelectMode||e.ace.inVirtualSelectionMode)r=S.handleKey(e,t,n);else{var o=ir(i);e.operation(function(){e.ace.forEachSelection(function(){var i=e.ace.selection;e.state.vim.lastHPos=i.$desiredColumn==null?i.lead.column:i.$desiredColumn;var s=e.getCursor("head"),u=e.getCursor("anchor"),a=Ot(s,u)?0:-1,f=Ot(s,u)?-1:0;s=St(s,0,a),u=St(u,0,f),e.state.vim.sel.head=s,e.state.vim.sel.anchor=u,r=rr(e,t,n),i.$desiredColumn=e.state.vim.lastHPos==-1?null:e.state.vim.lastHPos,e.virtualSelectionMode()&&(e.state.vim=ir(o))}),e.curOp.cursorActivity&&!r&&(e.curOp.cursorActivity=!1)},!0)}return r}function ar(e,t){t.off("beforeEndOperation",ar);var n=t.state.cm.vimCmd;n&&t.execCommand(n.exec?n:n.name,n.args),t.curOp=t.prevOp}var i=e("../range").Range,s=e("../lib/event_emitter").EventEmitter,o=e("../lib/dom"),u=e("../lib/oop"),a=e("../lib/keys"),f=e("../lib/event"),l=e("../search").Search,c=e("../lib/useragent"),h=e("../search_highlight").SearchHighlight,p=e("../commands/multi_select_commands"),d=e("../mode/text").Mode.prototype.tokenRe;e("../multi_select");var v=function(e){this.ace=e,this.state={},this.marks={},this.$uid=0,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this),this.onBeforeEndOperation=this.onBeforeEndOperation.bind(this),this.ace.on("change",this.onChange),this.ace.on("changeSelection",this.onSelectionChange),this.ace.on("beforeEndOperation",this.onBeforeEndOperation)};v.Pos=function(e,t){if(!(this instanceof E))return new E(e,t);this.line=e,this.ch=t},v.defineOption=function(e,t,n){},v.commands={redo:function(e){e.ace.redo()},undo:function(e){e.ace.undo()},newlineAndIndent:function(e){e.ace.insert("\n")}},v.keyMap={},v.addClass=v.rmClass=v.e_stop=function(){},v.keyName=function(e){if(e.key)return e.key;var t=a[e.keyCode]||"";return t.length==1&&(t=t.toUpperCase()),t=f.getModifierString(e).replace(/(^|-)\w/g,function(e){return e.toUpperCase()})+t,t},v.keyMap["default"]=function(e){return function(t){var n=t.ace.commands.commandKeyBinding[e.toLowerCase()];return n&&t.ace.execCommand(n)!==!1}},v.lookupKey=function fr(e,t,n){typeof t=="string"&&(t=v.keyMap[t]);var r=typeof t=="function"?t(e):t[e];if(r===!1)return"nothing";if(r==="...")return"multi";if(r!=null&&n(r))return"handled";if(t.fallthrough){if(!Array.isArray(t.fallthrough))return fr(e,t.fallthrough,n);for(var i=0;i<t.fallthrough.length;i++){var s=fr(e,t.fallthrough[i],n);if(s)return s}}},v.signal=function(e,t,n){return e._signal(t,n)},v.on=f.addListener,v.off=f.removeListener,v.isWordChar=function(e){return e<""?/^\w$/.test(e):(d.lastIndex=0,d.test(e))},function(){u.implement(v.prototype,s),this.destroy=function(){this.ace.off("change",this.onChange),this.ace.off("changeSelection",this.onSelectionChange),this.ace.off("beforeEndOperation",this.onBeforeEndOperation),this.removeOverlay()},this.virtualSelectionMode=function(){return this.ace.inVirtualSelectionMode&&this.ace.selection.index},this.onChange=function(e){if(e.action[0]=="i"){var t={text:e.lines},n=this.curOp=this.curOp||{};n.changeHandlers||(n.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice());if(this.virtualSelectionMode())return;n.lastChange?n.lastChange.next=n.lastChange=t:n.lastChange=n.change=t}this.$updateMarkers(e)},this.onSelectionChange=function(){var e=this.curOp=this.curOp||{};e.cursorActivityHandlers||(e.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(p.keyboardHandler)},this.operation=function(e,t){if(!t&&this.curOp||t&&this.curOp&&this.curOp.force)return e();(t||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation();if(!this.ace.curOp){var n=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var r=this.curOp=this.curOp||{};this.curOp.force=t;var i=e();return this.ace.curOp&&this.ace.curOp.command.name=="vim"&&(this.ace.endOperation(),!r.cursorActivity&&!r.lastChange&&n&&(this.ace.prevOp=n)),(t||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),i},this.onBeforeEndOperation=function(){var e=this.curOp;e&&(e.change&&this.signal("change",e.change,e),e&&e.cursorActivity&&this.signal("cursorActivity",null,e),this.curOp=null)},this.signal=function(e,t,n){var r=n?n[e+"Handlers"]:(this._eventRegistry||{})[e];if(!r)return;r=r.slice();for(var i=0;i<r.length;i++)r[i](this,t)},this.firstLine=function(){return 0},this.lastLine=function(){return this.ace.session.getLength()-1},this.lineCount=function(){return this.ace.session.getLength()},this.setCursor=function(e,t){typeof e=="object"&&(t=e.ch,e=e.line),this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:e,column:t}),this.ace.selection.moveTo(e,t)},this.getCursor=function(e){var t=this.ace.selection,n=e=="anchor"?t.isEmpty()?t.lead:t.anchor:e=="head"||!e?t.lead:t.getRange()[e];return g(n)},this.listSelections=function(e){var t=this.ace.multiSelect.rangeList.ranges;return!t.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:t.map(function(e){return{anchor:this.clipPos(g(e.cursor==e.end?e.start:e.end)),head:this.clipPos(g(e.cursor))}},this)},this.setSelections=function(e,t){var n=this.ace.multiSelect,r=e.map(function(e){var t=m(e.anchor),n=m(e.head),r=i.comparePoints(t,n)<0?new i.fromPoints(t,n):new i.fromPoints(n,t);return r.cursor=i.comparePoints(r.start,n)?r.end:r.start,r});if(this.ace.inVirtualSelectionMode){this.ace.selection.fromOrientedRange(r[0]);return}t?r[t]&&r.push(r.splice(t,1)[0]):r=r.reverse(),n.toSingleRange(r[0].clone());var s=this.ace.session;for(var o=0;o<r.length;o++){var u=s.$clipRangeToDocument(r[o]);n.addRange(u)}},this.setSelection=function(e,t,n){var r=this.ace.selection;r.moveTo(e.line,e.ch),r.selectTo(t.line,t.ch),n&&n.origin=="*mouse"&&this.onBeforeEndOperation()},this.somethingSelected=function(e){return!this.ace.selection.isEmpty()},this.clipPos=function(e){var t=this.ace.session.$clipPositionToDocument(e.line,e.ch);return g(t)},this.markText=function(e){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(e){var t=e.action=="insert",n=e.start,r=e.end,s=(r.row-n.row)*(t?1:-1),o=(r.column-n.column)*(t?1:-1);t&&(r=n);for(var u in this.marks){var a=this.marks[u],f=i.comparePoints(a,n);if(f<0)continue;if(f===0&&t){if(a.bias!=1){a.bias==-1;continue}f=1}var l=t?f:i.comparePoints(a,r);if(l>0){a.row+=s,a.column+=a.row==r.row?o:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}};var e=function(e,t,n,r){this.cm=e,this.id=t,this.row=n,this.column=r,e.marks[this.id]=this};e.prototype.clear=function(){delete this.cm.marks[this.id]},e.prototype.find=function(){return g(this)},this.setBookmark=function(t,n){var r=new e(this,this.$uid++,t.line,t.ch);if(!n||!n.insertLeft)r.$insertRight=!0;return this.marks[r.id]=r,r},this.moveH=function(e,t){if(t=="char"){var n=this.ace.selection;n.clearSelection(),n.moveCursorBy(0,e)}},this.findPosV=function(e,t,n,r){if(n=="page"){var i=this.ace.renderer,s=i.layerConfig;t*=Math.floor(s.height/s.lineHeight),n="line"}if(n=="line"){var o=this.ace.session.documentToScreenPosition(e.line,e.ch);r!=null&&(o.column=r),o.row+=t,o.row=Math.min(Math.max(0,o.row),this.ace.session.getScreenLength()-1);var u=this.ace.session.screenToDocumentPosition(o.row,o.column);return g(u)}debugger},this.charCoords=function(e,t){if(t=="div"||!t){var n=this.ace.session.documentToScreenPosition(e.line,e.ch);return{left:n.column,top:n.row}}if(t=="local"){var r=this.ace.renderer,n=this.ace.session.documentToScreenPosition(e.line,e.ch),i=r.layerConfig.lineHeight,s=r.layerConfig.characterWidth,o=i*n.row;return{left:n.column*s,top:o,bottom:o+i}}},this.coordsChar=function(e,t){var n=this.ace.renderer;if(t=="local"){var r=Math.max(0,Math.floor(e.top/n.lineHeight)),i=Math.max(0,Math.floor(e.left/n.characterWidth)),s=n.session.screenToDocumentPosition(r,i);return g(s)}if(t=="div")throw"not implemented"},this.getSearchCursor=function(e,t,n){var r=!1,i=!1;e instanceof RegExp&&!e.global&&(r=!e.ignoreCase,e=e.source,i=!0);var s=new l;t.ch==undefined&&(t.ch=Number.MAX_VALUE);var o={row:t.line,column:t.ch},u=this,a=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){s.setOptions({needle:e,caseSensitive:r,wrap:!1,backwards:t,regExp:i,start:a||o});var n=s.find(u.ace.session);return n&&n.isEmpty()&&u.getLine(n.start.row).length==n.start.column&&(s.$options.start=n,n=s.find(u.ace.session)),a=n,a},from:function(){return a&&g(a.start)},to:function(){return a&&g(a.end)},replace:function(e){a&&(a.end=u.ace.session.doc.replace(a,e))}}},this.scrollTo=function(e,t){var n=this.ace.renderer,r=n.layerConfig,i=r.maxHeight;i-=(n.$size.scrollerHeight-n.lineHeight)*n.$scrollPastEnd,t!=null&&this.ace.session.setScrollTop(Math.max(0,Math.min(t,i))),e!=null&&this.ace.session.setScrollLeft(Math.max(0,Math.min(e,r.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(e,t){if(e){var n=this.ace.renderer,r={top:0,bottom:t};n.scrollCursorIntoView(m(e),n.lineHeight*2/n.$size.scrollerHeight,r)}},this.getLine=function(e){return this.ace.session.getLine(e)},this.getRange=function(e,t){return this.ace.session.getTextRange(new i(e.line,e.ch,t.line,t.ch))},this.replaceRange=function(e,t,n){return n||(n=t),this.ace.session.replace(new i(t.line,t.ch,n.line,n.ch),e)},this.replaceSelections=function(e){var t=this.ace.selection;if(this.ace.inVirtualSelectionMode){this.ace.session.replace(t.getRange(),e[0]||"");return}t.inVirtualSelectionMode=!0;var n=t.rangeList.ranges;n.length||(n=[this.ace.multiSelect.getRange()]);for(var r=n.length;r--;)this.ace.session.replace(n[r],e[r]||"");t.inVirtualSelectionMode=!1},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map(function(e){return this.getRange(e.anchor,e.head)},this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.containter};var t={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(e,n){this.state[e]=n;switch(e){case"indentWithTabs":e=t[e],n=!n;break;default:e=t[e]}e&&this.ace.setOption(e,n)},this.getOption=function(e,n){var r=t[e];r&&(n=this.ace.getOption(r));switch(e){case"indentWithTabs":return e=t[e],!n}return r?n:this.state[e]},this.toggleOverwrite=function(e){return this.state.overwrite=e,this.ace.setOverwrite(e)},this.addOverlay=function(e){if(!this.$searchHighlight||!this.$searchHighlight.session){var t=new h(null,"ace_highlight-marker","text"),n=this.ace.session.addDynamicMarker(t);t.id=n.id,t.session=this.ace.session,t.destroy=function(e){t.session.off("change",t.updateOnChange),t.session.off("changeEditor",t.destroy),t.session.removeMarker(t.id),t.session=null},t.updateOnChange=function(e){var n=e.start.row;n==e.end.row?t.cache[n]=undefined:t.cache.splice(n,t.cache.length)},t.session.on("changeEditor",t.destroy),t.session.on("change",t.updateOnChange)}var r=new RegExp(e.query.source,"gmi");this.$searchHighlight=e.highlight=t,this.$searchHighlight.setRegexp(r),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(e){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var e=this.ace.renderer,t=e.layerConfig;return{left:e.scrollLeft,top:e.scrollTop,height:t.maxHeight,width:t.width,clientHeight:t.height,clientWidth:t.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(e){return this.ace.setValue(e)},this.getTokenTypeAt=function(e){var t=this.ace.session.getTokenAt(e.line,e.ch);return t&&/comment|string/.test(t.type)?"string":""},this.findMatchingBracket=function(e){var t=this.ace.session.findMatchingBracket(m(e));return{to:t&&g(t)}},this.indentLine=function(e,t){t===!0?this.ace.session.indentRows(e,e," "):t===!1&&this.ace.session.outdentRows(new i(e,0,e,0))},this.indexFromPos=function(e){return this.ace.session.doc.positionToIndex(m(e))},this.posFromIndex=function(e){return g(this.ace.session.doc.indexToPosition(e))},this.focus=function(e){return this.ace.focus()},this.blur=function(e){return this.ace.blur()},this.defaultTextHeight=function(e){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(e,t,n,r){var i=r.bracketRegex.source;if(t==1)var s=this.ace.session.$findClosingBracket(i.slice(1,2),m(e),/paren|text/);else var s=this.ace.session.$findOpeningBracket(i.slice(-2,-1),{row:e.line,column:e.ch+1},/paren|text/);return s&&{pos:g(s)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}}}.call(v.prototype);var y=v.StringStream=function(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0};y.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if(typeof e=="string")var n=t==e;else var n=t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},eatWhile:function(e){var t=this.pos;while(this.eat(e));return this.pos>t},eatSpace:function(){var e=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(e,t,n){if(typeof e!="string"){var s=this.string.slice(this.pos).match(e);return s&&s.index>0?null:(s&&t!==!1&&(this.pos+=s[0].length),s)}var r=function(e){return n?e.toLowerCase():e},i=this.string.substr(this.pos,e.length);if(r(i)==r(e))return t!==!1&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}},v.defineExtension=function(e,t){v.prototype[e]=t},o.importCssString(".normal-mode .ace_cursor{ border: 1px solid red; background-color: red; opacity: 0.5;}.normal-mode .ace_hidden-cursors .ace_cursor{ background-color: transparent;}.ace_dialog { position: absolute; left: 0; right: 0; background: white; z-index: 15; padding: .1em .8em; overflow: hidden; color: #333;}.ace_dialog-top { border-bottom: 1px solid #eee; top: 0;}.ace_dialog-bottom { border-top: 1px solid #eee; bottom: 0;}.ace_dialog input { border: none; outline: none; background: transparent; width: 20em; color: inherit; font-family: monospace;}","vimMode"),function(){function e(e,t,n){var r=e.ace.container,i;return i=r.appendChild(document.createElement("div")),n?i.className="ace_dialog ace_dialog-bottom":i.className="ace_dialog ace_dialog-top",typeof t=="string"?i.innerHTML=t:i.appendChild(t),i}function t(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}v.defineExtension("openDialog",function(n,r,i){function a(e){if(typeof e=="string")f.value=e;else{if(o)return;o=!0,s.parentNode.removeChild(s),u.focus(),i.onClose&&i.onClose(s)}}if(this.virtualSelectionMode())return;i||(i={}),t(this,null);var s=e(this,n,i.bottom),o=!1,u=this,f=s.getElementsByTagName("input")[0],l;if(f)i.value&&(f.value=i.value,i.select!==!1&&f.select()),i.onInput&&v.on(f,"input",function(e){i.onInput(e,f.value,a)}),i.onKeyUp&&v.on(f,"keyup",function(e){i.onKeyUp(e,f.value,a)}),v.on(f,"keydown",function(e){if(i&&i.onKeyDown&&i.onKeyDown(e,f.value,a))return;if(e.keyCode==27||i.closeOnEnter!==!1&&e.keyCode==13)f.blur(),v.e_stop(e),a();e.keyCode==13&&r(f.value)}),i.closeOnBlur!==!1&&v.on(f,"blur",a),f.focus();else if(l=s.getElementsByTagName("button")[0])v.on(l,"click",function(){a(),u.focus()}),i.closeOnBlur!==!1&&v.on(l,"blur",a),l.focus();return a}),v.defineExtension("openNotification",function(n,r){function a(){if(s)return;s=!0,clearTimeout(o),i.parentNode.removeChild(i)}if(this.virtualSelectionMode())return;t(this,a);var i=e(this,n,r&&r.bottom),s=!1,o,u=r&&typeof r.duration!="undefined"?r.duration:5e3;return v.on(i,"click",function(e){v.e_preventDefault(e),a()}),u&&(o=setTimeout(a,u)),a})}();var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"xi",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"dcc",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],w=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],E=v.Pos,S=function(){return st};v.defineOption("vimMode",!1,function(e,t,n){t&&e.getOption("keyMap")!="vim"?e.setOption("keyMap","vim"):!t&&n!=v.Init&&/^vim/.test(e.getOption("keyMap"))&&e.setOption("keyMap","default")});var L={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},A={Enter:"CR",Backspace:"BS",Delete:"Del"},_=/[\d]/,D=[v.isWordChar,function(e){return e&&!v.isWordChar(e)&&!/\s/.test(e)}],P=[function(e){return/\S/.test(e)}],B=H(65,26),j=H(97,26),F=H(48,10),I=[].concat(B,j,F,["<",">"]),q=[].concat(B,j,F,["-",'"',".",":","/"]),J={};K("filetype",undefined,"string",["ft"],function(e,t){if(t===undefined)return;if(e===undefined){var n=t.getOption("mode");return n=="null"?"":n}var n=e==""?"null":e;t.setOption("mode",n)});var Y=function(){function s(s,o,u){function l(n){var r=++t%e,o=i[r];o&&o.clear(),i[r]=s.setBookmark(n)}var a=t%e,f=i[a];if(f){var c=f.find();c&&!At(c,o)&&l(o)}else l(o);l(u),n=t,r=t-e+1,r<0&&(r=0)}function o(s,o){t+=o,t>n?t=n:t<r&&(t=r);var u=i[(e+t)%e];if(u&&!u.find()){var a=o>0?1:-1,f,l=s.getCursor();do{t+=a,u=i[(e+t)%e];if(u&&(f=u.find())&&!At(l,f))break}while(t<n&&t>r)}return u}var e=100,t=-1,n=0,r=0,i=new Array(e);return{cachedCursor:undefined,add:s,move:o}},Z=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};et.prototype={exitMacroRecordMode:function(){var e=nt.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=undefined,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=nt.registerController.getRegister(t);n&&(n.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog("(recording)["+t+"]",null,{bottom:!0})),this.isRecording=!0)}};var nt,it,st={buildKeyMap:function(){},getRegisterController:function(){return nt.registerController},resetVimGlobalState_:rt,getVimGlobalState_:function(){return nt},maybeInitVimState_:tt,suppressErrorLogging:!1,InsertModeKey:Gn,map:function(e,t,n){Fn.map(e,t,n)},unmap:function(e,t){Fn.unmap(e,t||"normal")},setOption:Q,getOption:G,defineOption:K,defineEx:function(e,t,n){if(!t)t=e;else if(e.indexOf(t)!==0)throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered');jn[e]=n,Fn.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if(typeof r=="function")return r()},findKey:function(e,t,n){function i(){var r=nt.macroModeState;if(r.isRecording){if(t=="q")return r.exitMacroRecordMode(),ut(e),!0;n!="mapping"&&Wn(r,t)}}function s(){if(t=="<Esc>")return ut(e),r.visualMode?$t(e):r.insertMode&&qn(e),!0}function o(n){var r;while(n)r=/<\w+-.+?>|<\w+>|./.exec(n),t=r[0],n=n.substring(r.index+t.length),v.Vim.handleKey(e,t,"mapping")}function u(){if(s())return!0;var n=r.inputState.keyBuffer=r.inputState.keyBuffer+t,i=t.length==1,o=ht.matchCommand(n,b,r.inputState,"insert");while(n.length>1&&o.type!="full"){var n=r.inputState.keyBuffer=n.slice(1),u=ht.matchCommand(n,b,r.inputState,"insert");u.type!="none"&&(o=u)}if(o.type=="none")return ut(e),!1;if(o.type=="partial")return it&&window.clearTimeout(it),it=window.setTimeout(function(){r.insertMode&&r.inputState.keyBuffer&&ut(e)},G("insertModeEscKeysTimeout")),!i;it&&window.clearTimeout(it);if(i){var a=e.getCursor();e.replaceRange("",St(a,0,-(n.length-1)),a,"+input")}return ut(e),o.command}function a(){if(i()||s())return!0;var n=r.inputState.keyBuffer=r.inputState.keyBuffer+t;if(/^[1-9]\d*$/.test(n))return!0;var o=/^(\d*)(.*)$/.exec(n);if(!o)return ut(e),!1;var u=r.visualMode?"visual":"normal",a=ht.matchCommand(o[2]||o[1],b,r.inputState,u);if(a.type=="none")return ut(e),!1;if(a.type=="partial")return!0;r.inputState.keyBuffer="";var o=/^(\d*)(.*)$/.exec(n);return o[1]&&o[1]!="0"&&r.inputState.pushRepeatDigit(o[1]),a.command}var r=tt(e),f;return r.insertMode?f=u():f=a(),f===!1?undefined:f===!0?function(){return!0}:function(){if((f.operator||f.isEdit)&&e.getOption("readOnly"))return;return e.operation(function(){e.curOp.isVimOp=!0;try{f.type=="keyToKey"?o(f.toKeys):ht.processCommand(e,r,f)}catch(t){throw e.state.vim=undefined,tt(e),v.Vim.suppressErrorLogging||console.log(t),t}return!0})}},handleEx:function(e,t){Fn.processCommand(e,t)},defineMotion:dt,defineAction:bt,defineOperator:gt,mapCommand:Un,_mapCommand:Rn,defineRegister:ft,exitVisualMode:$t,exitInsertMode:qn};ot.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},ot.prototype.getRepeat=function(){var e=0;if(this.prefixRepeat.length>0||this.motionRepeat.length>0)e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10));return e},at.prototype={setText:function(e,t,n){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(Z(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},lt.prototype={pushText:function(e,t,n,r,i){r&&n.charAt(0)=="\n"&&(n=n.slice(1)+"\n"),r&&n.charAt(n.length-1)!=="\n"&&(n+="\n");var s=this.isValidRegister(e)?this.getRegister(e):null;if(!s){switch(t){case"yank":this.registers[0]=new at(n,r,i);break;case"delete":case"change":n.indexOf("\n")==-1?this.registers["-"]=new at(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new at(n,r))}this.unnamedRegister.setText(n,r,i);return}var o=X(e);o?s.pushText(n,r):s.setText(n,r,i),this.unnamedRegister.setText(s.toString(),r)},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new at),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&$(e,q)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},ct.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;this.initialPrefix===null&&(this.initialPrefix=e);for(var i=this.iterator+r;t?i>=0:i<n.length;i+=r){var s=n[i];for(var o=0;o<=s.length;o++)if(this.initialPrefix==s.substring(0,o))return this.iterator=i,s}if(i>=n.length)return this.iterator=n.length,this.initialPrefix;if(i<0)return e},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var ht={matchCommand:function(e,t,n,r){var i=Tt(e,t,r,n);if(!i.full&&!i.partial)return{type:"none"};if(!i.full&&i.partial)return{type:"partial"};var s;for(var o=0;o<i.full.length;o++){var u=i.full[o];s||(s=u)}return s.keys.slice(-11)=="<character>"&&(n.selectedCharacter=Ct(e)),{type:"full",command:s}},processCommand:function(e,t,n){t.inputState.repeatOverride=n.repeatOverride;switch(n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n);break;default:}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=Et(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator){r.motion="expandToLine",r.motionArgs={linewise:!0},this.evalInput(e,t);return}ut(e)}r.operator=n.operator,r.operatorArgs=Et(n.operatorArgs),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,i=Et(n.operatorMotionArgs);i&&r&&i.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,i=r.getRepeat(),s=!!i,o=Et(n.actionArgs)||{};r.selectedCharacter&&(o.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),o.repeat=i||1,o.repeatIsExplicit=s,o.registerName=r.registerName,ut(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),yt[n.action](e,o,t)},processSearch:function(e,t,n){function a(r,i,s){nt.searchHistoryController.pushInput(r),nt.searchHistoryController.reset();try{An(e,r,i,s)}catch(o){Tn(e,"Invalid regex: "+r),ut(e);return}ht.processMotion(e,t,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:n.searchArgs.toJumplist}})}function f(t){e.scrollTo(u.left,u.top),a(t,!0,!0);var n=nt.macroModeState;n.isRecording&&Vn(n,t)}function l(t,n,i){var s=v.keyName(t),o;s=="Up"||s=="Down"?(o=s=="Up"?!0:!1,n=nt.searchHistoryController.nextMatch(n,o)||"",i(n)):s!="Left"&&s!="Right"&&s!="Ctrl"&&s!="Alt"&&s!="Shift"&&nt.searchHistoryController.reset();var a;try{a=An(e,n,!0,!0)}catch(t){}a?e.scrollIntoView(_n(e,!r,a),30):(Dn(e),e.scrollTo(u.left,u.top))}function c(t,n,r){var i=v.keyName(t);i=="Esc"||i=="Ctrl-C"||i=="Ctrl-["||i=="Backspace"&&n==""?(nt.searchHistoryController.pushInput(n),nt.searchHistoryController.reset(),An(e,o),Dn(e),e.scrollTo(u.left,u.top),v.e_stop(t),ut(e),r(),e.focus()):i=="Ctrl-U"&&(v.e_stop(t),r(""))}if(!e.getSearchCursor)return;var r=n.searchArgs.forward,i=n.searchArgs.wholeWordOnly;dn(e).setReversed(!r);var s=r?"/":"?",o=dn(e).getQuery(),u=e.getScrollInfo();switch(n.searchArgs.querySrc){case"prompt":var h=nt.macroModeState;if(h.isPlaying){var p=h.replaySearchQueries.shift();a(p,!0,!1)}else kn(e,{onClose:f,prefix:s,desc:Cn,onKeyUp:l,onKeyDown:c});break;case"wordUnderCursor":var d=Gt(e,!1,!0,!1,!0),m=!0;d||(d=Gt(e,!1,!0,!1,!1),m=!1);if(!d)return;var p=e.getLine(d.start.line).substring(d.start.ch,d.end.ch);m&&i?p="\\b"+p+"\\b":p=Bt(p),nt.jumpList.cachedCursor=e.getCursor(),e.setCursor(d.start),a(p,!0,!1)}},processEx:function(e,t,n){function r(t){nt.exCommandHistoryController.pushInput(t),nt.exCommandHistoryController.reset(),Fn.processCommand(e,t)}function i(t,n,r){var i=v.keyName(t),s;if(i=="Esc"||i=="Ctrl-C"||i=="Ctrl-["||i=="Backspace"&&n=="")nt.exCommandHistoryController.pushInput(n),nt.exCommandHistoryController.reset(),v.e_stop(t),ut(e),r(),e.focus();i=="Up"||i=="Down"?(s=i=="Up"?!0:!1,n=nt.exCommandHistoryController.nextMatch(n,s)||"",r(n)):i=="Ctrl-U"?(v.e_stop(t),r("")):i!="Left"&&i!="Right"&&i!="Ctrl"&&i!="Alt"&&i!="Shift"&&nt.exCommandHistoryController.reset()}n.type=="keyToEx"?Fn.processCommand(e,n.exArgs.input):t.visualMode?kn(e,{onClose:r,prefix:":",value:"'<,'>",onKeyDown:i}):kn(e,{onClose:r,prefix:":",onKeyDown:i})},evalInput:function(e,t){var n=t.inputState,r=n.motion,i=n.motionArgs||{},s=n.operator,o=n.operatorArgs||{},u=n.registerName,a=t.sel,f=Lt(t.visualMode?wt(e,a.head):e.getCursor("head")),l=Lt(t.visualMode?wt(e,a.anchor):e.getCursor("anchor")),c=Lt(f),h=Lt(l),p,d,v;s&&this.recordLastEdit(t,n),n.repeatOverride!==undefined?v=n.repeatOverride:v=n.getRepeat();if(v>0&&i.explicitRepeat)i.repeatIsExplicit=!0;else if(i.noRepeat||!i.explicitRepeat&&v===0)v=1,i.repeatIsExplicit=!1;n.selectedCharacter&&(i.selectedCharacter=o.selectedCharacter=n.selectedCharacter),i.repeat=v,ut(e);if(r){var m=pt[r](e,f,i,t);t.lastMotion=pt[r];if(!m)return;if(i.toJumplist){!s&&e.ace.curOp!=null&&(e.ace.curOp.command.scrollIntoView="center-animate");var g=nt.jumpList,y=g.cachedCursor;y?(Yt(e,y,m),delete g.cachedCursor):Yt(e,f,m)}m instanceof Array?(d=m[0],p=m[1]):p=m,p||(p=Lt(f));if(t.visualMode){if(!t.visualBlock||p.ch!==Infinity)p=wt(e,p,t.visualBlock);d&&(d=wt(e,d,!0)),d=d||h,a.anchor=d,a.head=p,Wt(e),an(e,t,"<",Ot(d,p)?d:p),an(e,t,">",Ot(d,p)?p:d)}else s||(p=wt(e,p),e.setCursor(p.line,p.ch))}if(s){if(o.lastSel){d=h;var b=o.lastSel,w=Math.abs(b.head.line-b.anchor.line),S=Math.abs(b.head.ch-b.anchor.ch);b.visualLine?p=E(h.line+w,h.ch):b.visualBlock?p=E(h.line+w,h.ch+S):b.head.line==b.anchor.line?p=E(h.line,h.ch+S):p=E(h.line+w,h.ch),t.visualMode=!0,t.visualLine=b.visualLine,t.visualBlock=b.visualBlock,a=t.sel={anchor:d,head:p},Wt(e)}else t.visualMode&&(o.lastSel={anchor:Lt(a.anchor),head:Lt(a.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var x,T,N,C,k;if(t.visualMode){x=Mt(a.head,a.anchor),T=_t(a.head,a.anchor),N=t.visualLine||o.linewise,C=t.visualBlock?"block":N?"line":"char",k=Xt(e,{anchor:x,head:T},C);if(N){var L=k.ranges;if(C=="block")for(var A=0;A<L.length;A++)L[A].head.ch=Pt(e,L[A].head.line);else C=="line"&&(L[0].head=E(L[0].head.line+1,0))}}else{x=Lt(d||h),T=Lt(p||c);if(Ot(T,x)){var O=x;x=T,T=O}N=i.linewise||o.linewise,N?Kt(e,x,T):i.forward&&Jt(e,x,T),C="char";var M=!i.inclusive||N;k=Xt(e,{anchor:x,head:T},C,M)}e.setSelections(k.ranges,k.primary),t.lastMotion=null,o.repeat=v,o.registerName=u,o.linewise=N;var _=mt[s](e,o,k.ranges,h,p);t.visualMode&&$t(e,_!=null),_&&e.setCursor(_)}},recordLastEdit:function(e,t,n){var r=nt.macroModeState;if(r.isPlaying)return;e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1}},pt={moveToTopLine:function(e,t,n){var r=Hn(e).top+n.repeat-1;return E(r,Qt(e.getLine(r)))},moveToMiddleLine:function(e){var t=Hn(e),n=Math.floor((t.top+t.bottom)*.5);return E(n,Qt(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=Hn(e).bottom-n.repeat+1;return E(r,Qt(e.getLine(r)))},expandToLine:function(e,t,n){var r=t;return E(r.line+n.repeat-1,Infinity)},findNext:function(e,t,n){var r=dn(e),i=r.getQuery();if(!i)return;var s=!n.forward;return s=r.isReversed()?!s:s,Mn(e,i),_n(e,s,i,n.repeat)},goToMark:function(e,t,n,r){var i=r.marks[n.selectedCharacter];if(i){var s=i.find();return n.linewise?{line:s.line,ch:Qt(e.getLine(s.line))}:s}return null},moveToOtherHighlightedEnd:function(e,t,n,r){if(r.visualBlock&&n.sameLine){var i=r.sel;return[wt(e,E(i.anchor.line,i.head.ch)),wt(e,E(i.head.line,i.anchor.ch))]}return[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){var i=t;for(var s=0;s<n.repeat;s++){var o=i;for(var u in r.marks){if(!U(u))continue;var a=r.marks[u].find(),f=n.forward?Ot(a,o):Ot(o,a);if(f)continue;if(n.linewise&&a.line==o.line)continue;var l=At(o,i),c=n.forward?Dt(o,a,i):Dt(i,a,o);if(l||c)i=a}}return n.linewise&&(i=E(i.line,Qt(e.getLine(i.line)))),i},moveByCharacters:function(e,t,n){var r=t,i=n.repeat,s=n.forward?r.ch+i:r.ch-i;return E(r.line,s)},moveByLines:function(e,t,n,r){var i=t,s=i.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:s=r.lastHPos;break;default:r.lastHPos=s}var o=n.repeat+(n.repeatOffset||0),u=n.forward?i.line+o:i.line-o,a=e.firstLine(),f=e.lastLine();if(u<a&&i.line==a||u>f&&i.line==f)return;var l=e.ace.session.getFoldLine(u);return l&&(n.forward?u>l.start.row&&(u=l.end.row+1):u=l.start.row),n.toFirstChar&&(s=Qt(e.getLine(u)),r.lastHPos=s),r.lastHSPos=e.charCoords(E(u,s),"div").left,E(u,s)},moveByDisplayLines:function(e,t,n,r){var i=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(i,"div").left}var s=n.repeat,o=e.findPosV(i,n.forward?s:-s,"line",r.lastHSPos);if(o.hitSide)if(n.forward)var u=e.charCoords(o,"div"),a={top:u.top+8,left:r.lastHSPos},o=e.coordsChar(a,"div");else{var f=e.charCoords(E(e.firstLine(),0),"div");f.left=r.lastHSPos,o=e.coordsChar(f,"div")}return r.lastHPos=o.ch,o},moveByPage:function(e,t,n){var r=t,i=n.repeat;return e.findPosV(r,n.forward?i:-i,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return ln(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var i=e.getScrollInfo(),s=null,o=n.repeat;o||(o=i.clientHeight/(2*e.defaultTextHeight()));var u=e.charCoords(t,"local");n.repeat=o;var s=pt.moveByDisplayLines(e,t,n,r);if(!s)return null;var a=e.charCoords(s,"local");return e.scrollTo(null,i.top+a.top-u.top),s},moveByWords:function(e,t,n){return sn(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=n.repeat,i=on(e,r,n.forward,n.selectedCharacter),s=n.forward?-1:1;return Zt(s,n),i?(i.ch+=s,i):null},moveToCharacter:function(e,t,n){var r=n.repeat;return Zt(0,n),on(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){var r=n.repeat;return nn(e,r,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var i=n.repeat;return r.lastHPos=i-1,r.lastHSPos=e.charCoords(t,"div").left,un(e,i)},moveToEol:function(e,t,n,r){var i=t;r.lastHPos=Infinity;var s=E(i.line+n.repeat-1,Infinity),o=e.clipPos(s);return o.ch--,r.lastHSPos=e.charCoords(o,"div").left,s},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return E(n.line,Qt(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){var n=t,r=n.line,i=n.ch,s=e.getLine(r),o;do{o=s.charAt(i++);if(o&&z(o)){var u=e.getTokenTypeAt(E(r,i));if(u!=="string"&&u!=="comment")break}}while(o);if(o){var a=e.findMatchingBracket(E(r,i));return a.to}return n},moveToStartOfLine:function(e,t){return E(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption("firstLineNumber")),E(r,Qt(e.getLine(r)))},textObjectManipulation:function(e,t,n,r){var i={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},s={"'":!0,'"':!0},o=n.selectedCharacter;o=="b"?o="(":o=="B"&&(o="{");var u=!n.textObjectInner,a;if(i[o])a=cn(e,t,o,u);else if(s[o])a=hn(e,t,o,u);else if(o==="W")a=Gt(e,u,!0,!0);else if(o==="w")a=Gt(e,u,!0,!1);else{if(o!=="p")return null;a=ln(e,t,n.repeat,0,u),n.linewise=!0;if(r.visualMode)r.visualLine||(r.visualLine=!0);else{var f=r.inputState.operatorArgs;f&&(f.linewise=!0),a.end.line--}}return e.state.vim.visualMode?zt(e,a.start,a.end):[a.start,a.end]},repeatLastCharacterSearch:function(e,t,n){var r=nt.lastChararacterSearch,i=n.repeat,s=n.forward===r.forward,o=(r.increment?1:0)*(s?-1:1);e.moveH(-o,"char"),n.inclusive=s?!0:!1;var u=on(e,i,s,r.selectedCharacter);return u?(u.ch+=o,u):(e.moveH(o,"char"),t)}},mt={change:function(e,t,n){var r,i,s=e.state.vim;nt.macroModeState.lastInsertModeChanges.inVisualBlock=s.visualBlock;if(!s.visualMode){var o=n[0].anchor,u=n[0].head;i=e.getRange(o,u);var a=s.lastEditInputState||{};if(a.motion=="moveByWords"&&!V(i)){var f=/\s+$/.exec(i);f&&a.motionArgs&&a.motionArgs.forward&&(u=St(u,0,-f[0].length),i=i.slice(0,-f[0].length))}var l=new E(o.line-1,Number.MAX_VALUE),c=e.firstLine()==e.lastLine();u.line>e.lastLine()&&t.linewise&&!c?e.replaceRange("",l,u):e.replaceRange("",o,u),t.linewise&&(c||(e.setCursor(l),v.commands.newlineAndIndent(e)),o.ch=Number.MAX_VALUE),r=o}else{i=e.getSelection();var h=vt("",n.length);e.replaceSelections(h),r=Mt(n[0].head,n[0].anchor)}nt.registerController.pushText(t.registerName,"change",i,t.linewise,n.length>1),yt.enterInsertMode(e,{head:r},e.state.vim)},"delete":function(e,t,n){var r,i,s=e.state.vim;if(!s.visualBlock){var o=n[0].anchor,u=n[0].head;t.linewise&&u.line!=e.firstLine()&&o.line==e.lastLine()&&o.line==u.line-1&&(o.line==e.firstLine()?o.ch=0:o=E(o.line-1,Pt(e,o.line-1))),i=e.getRange(o,u),e.replaceRange("",o,u),r=o,t.linewise&&(r=pt.moveToFirstNonWhiteSpaceCharacter(e,o))}else{i=e.getSelection();var a=vt("",n.length);e.replaceSelections(a),r=n[0].anchor}return nt.registerController.pushText(t.registerName,"delete",i,t.linewise,s.visualBlock),wt(e,r)},indent:function(e,t,n){var r=e.state.vim,i=n[0].anchor.line,s=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line,o=r.visualMode?t.repeat:1;t.linewise&&s--;for(var u=i;u<=s;u++)for(var a=0;a<o;a++)e.indentLine(u,t.indentRight);return pt.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,i){var s=e.getSelections(),o=[],u=t.toLower;for(var a=0;a<s.length;a++){var f=s[a],l="";if(u===!0)l=f.toLowerCase();else if(u===!1)l=f.toUpperCase();else for(var c=0;c<f.length;c++){var h=f.charAt(c);l+=X(h)?h.toLowerCase():h.toUpperCase()}o.push(l)}return e.replaceSelections(o),t.shouldMoveCursor?i:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?pt.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:Mt(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var i=e.state.vim,s=e.getSelection(),o=i.visualMode?Mt(i.sel.anchor,i.sel.head,n[0].head,n[0].anchor):r;return nt.registerController.pushText(t.registerName,"yank",s,t.linewise,i.visualBlock),o}},yt={jumpListWalk:function(e,t,n){if(n.visualMode)return;var r=t.repeat,i=t.forward,s=nt.jumpList,o=s.move(e,i?r:-r),u=o?o.find():undefined;u=u?u:e.getCursor(),e.setCursor(u),e.ace.curOp.command.scrollIntoView="center-animate"},scroll:function(e,t,n){if(n.visualMode)return;var r=t.repeat||1,i=e.defaultTextHeight(),s=e.getScrollInfo().top,o=i*r,u=t.forward?s+o:s-o,a=Lt(e.getCursor()),f=e.charCoords(a,"local");if(t.forward)u>f.top?(a.line+=(u-f.top)/i,a.line=Math.ceil(a.line),e.setCursor(a),f=e.charCoords(a,"local"),e.scrollTo(null,f.top)):e.scrollTo(null,u);else{var l=u+e.getScrollInfo().clientHeight;l<f.bottom?(a.line-=(f.bottom-l)/i,a.line=Math.floor(a.line),e.setCursor(a),f=e.charCoords(a,"local"),e.scrollTo(null,f.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,u)}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(E(n,0),"local"),i=e.getScrollInfo().clientHeight,s=r.top,o=r.bottom-s;switch(t.position){case"center":s=s-i/2+o;break;case"bottom":s=s-i+o*1.4;break;case"top":s+=o*.4}e.scrollTo(null,s)},replayMacro:function(e,t,n){var r=t.selectedCharacter,i=t.repeat,s=nt.macroModeState;r=="@"&&(r=s.latestRegister);while(i--)zn(e,n,s,r)},enterMacroRecordMode:function(e,t){var n=nt.macroModeState,r=t.selectedCharacter;n.enterMacroRecordMode(e,r)},enterInsertMode:function(e,t,n){if(e.getOption("readOnly"))return;n.insertMode=!0,n.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,i=n.sel,s=t.head||e.getCursor("head"),o=e.listSelections().length;if(r=="eol")s=E(s.line,Pt(e,s.line));else if(r=="charAfter")s=St(s,0,1);else if(r=="firstNonBlank")s=pt.moveToFirstNonWhiteSpaceCharacter(e,s);else if(r=="startOfSelectedArea")n.visualBlock?(s=E(Math.min(i.head.line,i.anchor.line),Math.min(i.head.ch,i.anchor.ch)),o=Math.abs(i.head.line-i.anchor.line)+1):i.head.line<i.anchor.line?s=i.head:s=E(i.anchor.line,0);else if(r=="endOfSelectedArea")n.visualBlock?(s=E(Math.min(i.head.line,i.anchor.line),Math.max(i.head.ch+1,i.anchor.ch)),o=Math.abs(i.head.line-i.anchor.line)+1):i.head.line>=i.anchor.line?s=St(i.head,0,1):s=E(i.anchor.line,0);else if(r=="inplace"&&n.visualMode)return;e.setOption("keyMap","vim-insert"),e.setOption("disableInput",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),v.signal(e,"vim-mode-change",{mode:"replace"})):(e.setOption("keyMap","vim-insert"),v.signal(e,"vim-mode-change",{mode:"insert"})),nt.macroModeState.isPlaying||(e.on("change",$n),v.on(e.getInputField(),"keydown",Yn)),n.visualMode&&$t(e),It(e,s,o)},toggleVisualMode:function(e,t,n){var r=t.repeat,i=e.getCursor(),s;n.visualMode?n.visualLine^t.linewise||n.visualBlock^t.blockwise?(n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,v.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),Wt(e)):$t(e):(n.visualMode=!0,n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,s=wt(e,E(i.line,i.ch+r-1),!0),n.sel={anchor:i,head:s},v.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),Wt(e),an(e,n,"<",Mt(i,s)),an(e,n,">",_t(i,s)))},reselectLastSelection:function(e,t,n){var r=n.lastSelection;n.visualMode&&Ut(e,n);if(r){var i=r.anchorMark.find(),s=r.headMark.find();if(!i||!s)return;n.sel={anchor:i,head:s},n.visualMode=!0,n.visualLine=r.visualLine,n.visualBlock=r.visualBlock,Wt(e),an(e,n,"<",Mt(i,s)),an(e,n,">",_t(i,s)),v.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""})}},joinLines:function(e,t,n){var r,i;if(n.visualMode){r=e.getCursor("anchor"),i=e.getCursor("head");if(Ot(i,r)){var s=i;i=r,r=s}i.ch=Pt(e,i.line)-1}else{var o=Math.max(t.repeat,2);r=e.getCursor(),i=wt(e,E(r.line+o-1,Infinity))}var u=0;for(var a=r.line;a<i.line;a++){u=Pt(e,r.line);var s=E(r.line+1,Pt(e,r.line+1)),f=e.getRange(r,s);f=f.replace(/\n\s*/g," "),e.replaceRange(f,r,s)}var l=E(r.line,u);n.visualMode&&$t(e,!1),e.setCursor(l)},newLineAndEnterInsertMode:function(e,t,n){n.insertMode=!0;var r=Lt(e.getCursor());if(r.line===e.firstLine()&&!t.after)e.replaceRange("\n",E(e.firstLine(),0)),e.setCursor(e.firstLine(),0);else{r.line=t.after?r.line:r.line-1,r.ch=Pt(e,r.line),e.setCursor(r);var i=v.commands.newlineAndIndentContinueComment||v.commands.newlineAndIndent;i(e)}this.enterInsertMode(e,{repeat:t.repeat},n)},paste:function(e,t,n){var r=Lt(e.getCursor()),i=nt.registerController.getRegister(t.registerName),s=i.toString();if(!s)return;if(t.matchIndent){var o=e.getOption("tabSize"),u=function(e){var t=e.split(" ").length-1,n=e.split(" ").length-1;return t*o+n*1},a=e.getLine(e.getCursor().line),f=u(a.match(/^\s*/)[0]),l=s.replace(/\n$/,""),c=s!==l,h=u(s.match(/^\s*/)[0]),s=l.replace(/^\s*/gm,function(t){var n=f+(u(t)-h);if(n<0)return"";if(e.getOption("indentWithTabs")){var r=Math.floor(n/o);return Array(r+1).join(" ")}return Array(n+1).join(" ")});s+=c?"\n":""}if(t.repeat>1)var s=Array(t.repeat+1).join(s);var p=i.linewise,d=i.blockwise;if(p&&!d)n.visualMode?s=n.visualLine?s.slice(0,-1):"\n"+s.slice(0,s.length-1)+"\n":t.after?(s="\n"+s.slice(0,s.length-1),r.ch=Pt(e,r.line)):r.ch=0;else{if(d){s=s.split("\n");for(var v=0;v<s.length;v++)s[v]=s[v]==""?" ":s[v]}r.ch+=t.after?1:0}var m,g;if(n.visualMode){n.lastPastedText=s;var y,b=Rt(e,n),w=b[0],S=b[1],x=e.getSelection(),T=e.listSelections(),N=(new Array(T.length)).join("1").split("1");n.lastSelection&&(y=n.lastSelection.headMark.find()),nt.registerController.unnamedRegister.setText(x),d?(e.replaceSelections(N),S=E(w.line+s.length-1,w.ch),e.setCursor(w),Ft(e,S),e.replaceSelections(s),m=w):n.visualBlock?(e.replaceSelections(N),e.setCursor(w),e.replaceRange(s,w,w),m=w):(e.replaceRange(s,w,S),m=e.posFromIndex(e.indexFromPos(w)+s.length-1)),y&&(n.lastSelection.headMark=e.setBookmark(y)),p&&(m.ch=0)}else if(d){e.setCursor(r);for(var v=0;v<s.length;v++){var C=r.line+v;C>e.lastLine()&&e.replaceRange("\n",E(C,0));var k=Pt(e,C);k<r.ch&&jt(e,C,r.ch)}e.setCursor(r),Ft(e,E(r.line+s.length-1,r.ch)),e.replaceSelections(s),m=r}else e.replaceRange(s,r),p&&t.after?m=E(r.line+1,Qt(e.getLine(r.line+1))):p&&!t.after?m=E(r.line,Qt(e.getLine(r.line))):!p&&t.after?(g=e.indexFromPos(r),m=e.posFromIndex(g+s.length-1)):(g=e.indexFromPos(r),m=e.posFromIndex(g+s.length));n.visualMode&&$t(e,!1),e.setCursor(m)},undo:function(e,t){e.operation(function(){kt(e,v.commands.undo,t.repeat)(),e.setCursor(e.getCursor("anchor"))})},redo:function(e,t){kt(e,v.commands.redo,t.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){var r=t.selectedCharacter;an(e,n,r,e.getCursor())},replace:function(e,t,n){var r=t.selectedCharacter,i=e.getCursor(),s,o,u=e.listSelections();if(n.visualMode)i=e.getCursor("start"),o=e.getCursor("end");else{var a=e.getLine(i.line);s=i.ch+t.repeat,s>a.length&&(s=a.length),o=E(i.line,s)}if(r=="\n")n.visualMode||e.replaceRange("",i,o),(v.commands.newlineAndIndentContinueComment||v.commands.newlineAndIndent)(e);else{var f=e.getRange(i,o);f=f.replace(/[^\n]/g,r);if(n.visualBlock){var l=(new Array(e.getOption("tabSize")+1)).join(" ");f=e.getSelection(),f=f.replace(/\t/g,l).replace(/[^\n]/g,r).split("\n"),e.replaceSelections(f)}else e.replaceRange(f,i,o);n.visualMode?(i=Ot(u[0].anchor,u[0].head)?u[0].anchor:u[0].head,e.setCursor(i),$t(e,!1)):e.setCursor(St(o,0,-1))}},incrementNumberToken:function(e,t){var n=e.getCursor(),r=e.getLine(n.line),i=/-?\d+/g,s,o,u,a,f;while((s=i.exec(r))!==null){f=s[0],o=s.index,u=o+f.length;if(n.ch<u)break}if(!t.backtrack&&u<=n.ch)return;if(!f)return;var l=t.increase?1:-1,c=parseInt(f)+l*t.repeat,h=E(n.line,o),p=E(n.line,u);a=c.toString(),e.replaceRange(a,h,p),e.setCursor(E(n.line,o+a.length-1))},repeatLastEdit:function(e,t,n){var r=n.lastEditInputState;if(!r)return;var i=t.repeat;i&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=i:i=n.lastEditInputState.repeatOverride||i,Zn(e,n,i,!1)},exitInsertMode:qn},en={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},tn={bracket:{isComplete:function(e){if(e.nextCh===e.symb){e.depth++;if(e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return e.index===0&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t=e.lastCh==="*"&&e.nextCh==="/";return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb=e.symb==="m"?"{":"}",e.reverseSymb=e.symb==="{"?"}":"{"},isComplete:function(e){return e.nextCh===e.symb?!0:!1}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if(e.nextCh==="#"){var t=e.lineText.match(/#(\w+)/)[1];if(t==="endif"){if(e.forward&&e.depth===0)return!0;e.depth++}else if(t==="if"){if(!e.forward&&e.depth===0)return!0;e.depth--}if(t==="else"&&e.depth===0)return!0}return!1}}};K("pcre",!0,"boolean"),pn.prototype={getQuery:function(){return nt.query},setQuery:function(e){nt.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return nt.isReversed},setReversed:function(e){nt.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var bn={"\\n":"\n","\\r":"\r","\\t":" "},En={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":" "},Cn="(Javascript regexp)",Bn=function(){this.buildCommandMap_()};Bn.prototype={processCommand:function(e,t,n){var r=this;e.operation(function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)})},_processCommand:function(e,t,n){var r=e.state.vim,i=nt.registerController.getRegister(":"),s=i.toString();r.visualMode&&$t(e);var o=new v.StringStream(t);i.setText(t);var u=n||{};u.input=t;try{this.parseInput_(e,o,u)}catch(a){throw Tn(e,a),a}var f,l;if(!u.commandName)u.line!==undefined&&(l="move");else{f=this.matchCommand_(u.commandName);if(f){l=f.name,f.excludeFromCommandHistory&&i.setText(s),this.parseCommandArgs_(o,u,f);if(f.type=="exToKey"){for(var c=0;c<f.toKeys.length;c++)v.Vim.handleKey(e,f.toKeys[c],"mapping");return}if(f.type=="exToEx"){this.processCommand(e,f.toInput);return}}}if(!l){Tn(e,'Not an editor command ":'+t+'"');return}try{jn[l](e,u),(!f||!f.possiblyAsync)&&u.callback&&u.callback()}catch(a){throw Tn(e,a),a}},parseInput_:function(e,t,n){t.eatWhile(":"),t.eat("%")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),n.line!==undefined&&t.eat(",")&&(n.lineEnd=this.parseLineSpec_(e,t)));var r=t.match(/^(\w+)/);return r?n.commandName=r[1]:n.commandName=t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case".":return e.getCursor().line;case"$":return e.lastLine();case"'":var r=e.state.vim.marks[t.next()];if(r&&r.find())return r.find().line;throw new Error("Mark not set");default:return t.backUp(1),undefined}},parseCommandArgs_:function(e,t,n){if(e.eol())return;t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\s+/,i=Ht(t.argString).split(r);i.length&&i[0]&&(t.args=i)},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(r.name.indexOf(e)===0)return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<w.length;e++){var t=w[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,t,n){if(e!=":"&&e.charAt(0)==":"){if(n)throw Error("Mode not supported for ex mappings");var r=e.substring(1);t!=":"&&t.charAt(0)==":"?this.commandMap_[r]={name:r,type:"exToEx",toInput:t.substring(1),user:!0}:this.commandMap_[r]={name:r,type:"exToKey",toKeys:t,user:!0}}else if(t!=":"&&t.charAt(0)==":"){var i={keys:e,type:"keyToEx",exArgs:{input:t.substring(1)},user:!0};n&&(i.context=n),b.unshift(i)}else{var i={keys:e,type:"keyToKey",toKeys:t,user:!0};n&&(i.context=n),b.unshift(i)}},unmap:function(e,t){if(e!=":"&&e.charAt(0)==":"){if(t)throw Error("Mode not supported for ex mappings");var n=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user){delete this.commandMap_[n];return}}else{var r=e;for(var i=0;i<b.length;i++)if(r==b[i].keys&&b[i].context===t&&b[i].user){b.splice(i,1);return}}throw Error("No such mapping.")}};var jn={colorscheme:function(e,t){if(!t.args||t.args.length<1){Tn(e,e.getOption("theme"));return}e.setOption("theme",t.args[0])},map:function(e,t,n){var r=t.args;if(!r||r.length<2){e&&Tn(e,"Invalid mapping: "+t.input);return}Fn.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},unmap:function(e,t,n){var r=t.args;if(!r||r.length<1){e&&Tn(e,"No such mapping: "+t.input);return}Fn.unmap(r[0],n)},move:function(e,t){ht.processCommand(e,e.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1){e&&Tn(e,"Invalid mapping: "+t.input);return}var i=n[0].split("="),s=i[0],o=i[1],u=!1;if(s.charAt(s.length-1)=="?"){if(o)throw Error("Trailing characters: "+t.argString);s=s.substring(0,s.length-1),u=!0}o===undefined&&s.substring(0,2)=="no"&&(s=s.substring(2),o=!1);var a=J[s]&&J[s].type=="boolean";a&&o==undefined&&(o=!0);if(!a&&o===undefined||u){var f=G(s,e,r);f===!0||f===!1?Tn(e," "+(f?"":"no")+s):Tn(e," "+s+"="+f)}else Q(s,o,e,r)},setlocal:function(e,t){t.setCfg={scope:"local"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:"global"},this.set(e,t)},registers:function(e,t){var n=t.args,r=nt.registerController.registers,i="----------Registers----------<br><br>";if(!n)for(var s in r){var o=r[s].toString();o.length&&(i+='"'+s+" "+o+"<br>")}else{var s;n=n.join("");for(var u=0;u<n.length;u++){s=n.charAt(u);if(!nt.registerController.isValidRegister(s))continue;var a=r[s]||new at;i+='"'+s+" "+a.toString()+"<br>"}}Tn(e,i)},sort:function(e,t){function o(){if(t.argString){var e=new v.StringStream(t.argString);e.eat("!")&&(n=!0);if(e.eol())return;if(!e.eatSpace())return"Invalid arguments";var o=e.match(/[a-z]+/);if(o){o=o[0],r=o.indexOf("i")!=-1,i=o.indexOf("u")!=-1;var u=o.indexOf("d")!=-1&&1,a=o.indexOf("x")!=-1&&1,f=o.indexOf("o")!=-1&&1;if(u+a+f>1)return"Invalid arguments";s=u&&"decimal"||a&&"hex"||f&&"octal"}if(e.match(/\/.*\//))return"patterns not supported"}}function b(e,t){if(n){var i;i=e,e=t,t=i}r&&(e=e.toLowerCase(),t=t.toLowerCase());var o=s&&p.exec(e),u=s&&p.exec(t);return o?(o=parseInt((o[1]+o[2]).toLowerCase(),d),u=parseInt((u[1]+u[2]).toLowerCase(),d),o-u):e<t?-1:1}var n,r,i,s,u=o();if(u){Tn(e,u+": "+t.argString);return}var a=t.line||e.firstLine(),f=t.lineEnd||t.line||e.lastLine();if(a==f)return;var l=E(a,0),c=E(f,Pt(e,f)),h=e.getRange(l,c).split("\n"),p=s=="decimal"?/(-?)([\d]+)/:s=="hex"?/(-?)(?:0x)?([0-9a-f]+)/i:s=="octal"?/([0-7]+)/:null,d=s=="decimal"?10:s=="hex"?16:s=="octal"?8:null,m=[],g=[];if(s)for(var y=0;y<h.length;y++)p.exec(h[y])?m.push(h[y]):g.push(h[y]);else g=h;m.sort(b),g.sort(b),h=n?m.concat(g):g.concat(m);if(i){var w=h,S;h=[];for(var y=0;y<w.length;y++)w[y]!=S&&h.push(w[y]),S=w[y]}e.replaceRange(h.join("\n"),l,c)},global:function(e,t){var n=t.argString;if(!n){Tn(e,"Regular Expression missing from global");return}var r=t.line!==undefined?t.line:e.firstLine(),i=t.lineEnd||t.line||e.lastLine(),s=mn(n),o=n,u;s.length&&(o=s[0],u=s.slice(1,s.length).join("/"));if(o)try{An(e,o,!0,!0)}catch(a){Tn(e,"Invalid regex: "+o);return}var f=dn(e).getQuery(),l=[],c="";for(var h=r;h<=i;h++){var p=f.test(e.getLine(h));p&&(l.push(h+1),c+=e.getLine(h)+"<br>")}if(!u){Tn(e,c);return}var d=0,v=function(){if(d<l.length){var t=l[d]+u;Fn.processCommand(e,t,{callback:v})}d++};v()},substitute:function(e,t){if(!e.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var n=t.argString,r=n?mn(n):[],i,s="",o,u,a,f=!1,l=!1;if(r.length)i=r[0],s=r[1],s!==undefined&&(G("pcre")?s=Sn(s):s=wn(s),nt.lastSubstituteReplacePart=s),o=r[2]?r[2].split(" "):[];else if(n&&n.length){Tn(e,"Substitutions should be of the form :s/pattern/replace/");return}o&&(u=o[0],a=parseInt(o[1]),u&&(u.indexOf("c")!=-1&&(f=!0,u.replace("c","")),u.indexOf("g")!=-1&&(l=!0,u.replace("g","")),i=i+"/"+u));if(i)try{An(e,i,!0,!0)}catch(c){Tn(e,"Invalid regex: "+i);return}s=s||nt.lastSubstituteReplacePart;if(s===undefined){Tn(e,"No previous substitute regular expression");return}var h=dn(e),p=h.getQuery(),d=t.line!==undefined?t.line:e.getCursor().line,v=t.lineEnd||d;d==e.firstLine()&&v==e.lastLine()&&(v=Infinity),a&&(d=v,v=d+a-1);var m=wt(e,E(d,0)),g=e.getSearchCursor(p,m);In(e,f,l,d,v,g,p,s,t.callback)},redo:v.commands.redo,undo:v.commands.undo,write:function(e){v.commands.save?v.commands.save(e):e.save()},nohlsearch:function(e){Dn(e)},delmarks:function(e,t){if(!t.argString||!Ht(t.argString)){Tn(e,"Argument required");return}var n=e.state.vim,r=new v.StringStream(Ht(t.argString));while(!r.eol()){r.eatSpace();var i=r.pos;if(!r.match(/[a-zA-Z]/,!1)){Tn(e,"Invalid argument: "+t.argString.substring(i));return}var s=r.next();if(r.match("-",!0)){if(!r.match(/[a-zA-Z]/,!1)){Tn(e,"Invalid argument: "+t.argString.substring(i));return}var o=s,u=r.next();if(!(U(o)&&U(u)||X(o)&&X(u))){Tn(e,"Invalid argument: "+o+"-");return}var a=o.charCodeAt(0),f=u.charCodeAt(0);if(a>=f){Tn(e,"Invalid argument: "+t.argString.substring(i));return}for(var l=0;l<=f-a;l++){var c=String.fromCharCode(a+l);delete n.marks[c]}}else delete n.marks[s]}}},Fn=new Bn;v.keyMap.vim={attach:C,detach:N,call:k},K("insertModeEscKeysTimeout",200,"number"),v.keyMap["vim-insert"]={"Ctrl-N":"autocomplete","Ctrl-P":"autocomplete",Enter:function(e){var t=v.commands.newlineAndIndentContinueComment||v.commands.newlineAndIndent;t(e)},fallthrough:["default"],attach:C,detach:N,call:k},v.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:C,detach:N,call:k},rt(),v.Vim=S(),S=v.Vim;var tr={"return":"CR",backspace:"BS","delete":"Del",esc:"Esc",left:"Left",right:"Right",up:"Up",down:"Down",space:"Space",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",enter:"CR"},rr=S.handleKey.bind(S);S.handleKey=function(e,t,n){return e.operation(function(){return rr(e,t,n)},!0)},t.CodeMirror=v;var or=S.maybeInitVimState_;t.handler={$id:"ace/keyboard/vim",drawCursor:function(e,t,n,r,s){var o=this.state.vim||{},u=n.characterWidth,a=n.lineHeight,f=t.top,l=t.left;if(!o.insertMode){var c=r.cursor?i.comparePoints(r.cursor,r.start)<=0:s.selection.isBackwards()||s.selection.isEmpty();!c&&l>u&&(l-=u)}!o.insertMode&&o.status&&(a/=2,f+=a),e.left=l+"px",e.top=f+"px",e.width=u+"px",e.height=a+"px"},handleKeyboard:function(e,t,n,r,i){var s=e.editor,o=s.state.cm,u=or(o);if(r==-1)return;if(n=="c"&&t==1){if(!c.isMac&&s.getCopyText())return s.once("copy",function(){s.selection.clearSelection()}),{command:"null",passEvent:!0}}else u.insertMode||c.isMac&&this.handleMacRepeat(e,t,n)&&(t=-1,n=e.inputChar);if(t==-1||t&1||t===0&&n.length>1){var a=u.insertMode,f=nr(t,n,i||{});u.status==null&&(u.status="");var l=sr(o,f,"user");u=or(o),l&&u.status!=null?u.status+=f:u.status==null&&(u.status=""),o._signal("changeStatus");if(!l&&(t!=-1||a))return;return{command:"null",passEvent:!l}}},attach:function(e){e.state||(e.state={});var t=new v(e);e.state.cm=t,e.$vimModeHandler=this,v.keyMap.vim.attach(t),or(t).status=null,t.on("vim-command-done",function(){if(t.virtualSelectionMode())return;or(t).status=null,t.ace._signal("changeStatus"),t.ace.session.markUndoGroup()}),t.on("changeStatus",function(){t.ace.renderer.updateCursor(),t.ace._signal("changeStatus")}),t.on("vim-mode-change",function(){if(t.virtualSelectionMode())return;t.ace.renderer.setStyle("normal-mode",!or(t).insertMode),t._signal("changeStatus")}),t.ace.renderer.setStyle("normal-mode",!or(t).insertMode),e.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(t),this.updateMacCompositionHandlers(e,!0)},detach:function(e){var t=e.state.cm;v.keyMap.vim.detach(t),t.destroy(),e.state.cm=null,e.$vimModeHandler=null,e.renderer.$cursorLayer.drawCursor=null,e.renderer.setStyle("normal-mode",!1),this.updateMacCompositionHandlers(e,!1)},getStatusText:function(e){var t=e.state.cm,n=or(t);if(n.insertMode)return"INSERT";var r="";return n.visualMode&&(r+="VISUAL",n.visualLine&&(r+=" LINE"),n.visualBlock&&(r+=" BLOCK")),n.status&&(r+=(r?" ":"")+n.status),r},handleMacRepeat:function(e,t,n){if(t==-1)e.inputChar=n,e.lastEvent="input";else if(e.inputChar&&e.$lastHash==t&&e.$lastKey==n){if(e.lastEvent=="input")e.lastEvent="input1";else if(e.lastEvent=="input1")return!0}else e.$lastHash=t,e.$lastKey=n,e.lastEvent="keypress"},updateMacCompositionHandlers:function(e,t){var n=function(t){var n=e.state.cm,r=or(n);if(!r.insertMode){var i=this.textInput.getElement();i.blur(),i.focus(),i.value=t}else this.onCompositionUpdateOrig(t)},r=function(t){var n=e.state.cm,r=or(n);r.insertMode||this.onCompositionStartOrig(t)};t?e.onCompositionUpdateOrig||(e.onCompositionUpdateOrig=e.onCompositionUpdate,e.onCompositionUpdate=n,e.onCompositionStartOrig=e.onCompositionStart,e.onCompositionStart=r):e.onCompositionUpdateOrig&&(e.onCompositionUpdate=e.onCompositionUpdateOrig,e.onCompositionUpdateOrig=null,e.onCompositionStart=e.onCompositionStartOrig,e.onCompositionStartOrig=null)}};var ur={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return e.getLength().toString().length*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update)},detach:function(e){e.renderer.$gutterLayer.$renderer=null,e.off("changeSelection",this.update)}};S.defineOption({name:"wrap",set:function(e,t){t&&t.ace.setOption("wrap",e)},type:"boolean"},!1),S.defineEx("write","w",function(){console.log(":write is not implemented")}),b.push({keys:"zc",type:"action",action:"fold",actionArgs:{open:!1}},{keys:"zC",type:"action",action:"fold",actionArgs:{open:!1,all:!0}},{keys:"zo",type:"action",action:"fold",actionArgs:{open:!0}},{keys:"zO",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"za",type:"action",action:"fold",actionArgs:{toggle:!0}},{keys:"zA",type:"action",action:"fold",actionArgs:{toggle:!0,all:!0}},{keys:"zf",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"zd",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"<C-A-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAbove"}},{keys:"<C-A-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelow"}},{keys:"<C-A-S-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAboveSkipCurrent"}},{keys:"<C-A-S-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelowSkipCurrent"}},{keys:"<C-A-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreBefore"}},{keys:"<C-A-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreAfter"}},{keys:"<C-A-S-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextBefore"}},{keys:"<C-A-S-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextAfter"}}),yt.aceCommand=function(e,t,n){e.vimCmd=t,e.ace.inVirtualSelectionMode?e.ace.on("beforeEndOperation",ar):ar(null,e.ace)},yt.fold=function(e,t,n){e.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][(t.all?2:0)+(t.open?1:0)])},t.handler.defaultKeymap=b,t.handler.actions=yt,t.Vim=S,S.map("Y","yy","normal")}) \ No newline at end of file
diff --git a/library/ace/mode-abap.js b/library/ace/mode-abap.js
new file mode 100644
index 000000000..f79f2983e
--- /dev/null
+++ b/library/ace/mode-abap.js
@@ -0,0 +1 @@
+ace.define("ace/mode/abap_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"ADD ALIAS ALIASES ASCENDING ASSERT ASSIGN ASSIGNING AT BACK CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY DATA DEFINE DEFINITION DEFERRED DELETE DESCENDING DESCRIBE DETAIL DIVIDE DO ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT FETCH FIELDS FORM FORMAT FREE FROM FUNCTION GENERATE GET HIDE IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION LEAVE LIKE LINE LOAD LOCAL LOOP MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY ON OVERLAY OPTIONAL OTHERS PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT RAISE RANGES READ RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURN RETURNING ROLLBACK SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES UNASSIGN ULINE UNPACK UPDATE WHEN WHILE WINDOW WRITE OCCURS STRUCTURE OBJECT PROPERTY CASTING APPEND RAISING VALUE COLOR CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT ID NUMBER FOR TITLE OUTPUT WITH EXIT USING INTO WHERE GROUP BY HAVING ORDER BY SINGLE APPENDING CORRESPONDING FIELDS OF TABLE LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN","constant.language":"TRUE FALSE NULL SPACE","support.type":"c n i p f d t x string xstring decfloat16 decfloat34","keyword.operator":"abs sign ceil floor trunc frac acos asin atan cos sin tan abapOperator cosh sinh tanh exp log log10 sqrt strlen xstrlen charlen numofchar dbmaxlen lines"},"text",!0," "),t="WITH\\W+(?:HEADER\\W+LINE|FRAME|KEY)|NO\\W+STANDARD\\W+PAGE\\W+HEADING|EXIT\\W+FROM\\W+STEP\\W+LOOP|BEGIN\\W+OF\\W+(?:BLOCK|LINE)|BEGIN\\W+OF|END\\W+OF\\W+(?:BLOCK|LINE)|END\\W+OF|NO\\W+INTERVALS|RESPECTING\\W+BLANKS|SEPARATED\\W+BY|USING\\W+(?:EDIT\\W+MASK)|WHERE\\W+(?:LINE)|RADIOBUTTON\\W+GROUP|REF\\W+TO|(?:PUBLIC|PRIVATE|PROTECTED)(?:\\W+SECTION)?|DELETING\\W+(?:TRAILING|LEADING)(?:ALL\\W+OCCURRENCES)|(?:FIRST|LAST)\\W+OCCURRENCE|INHERITING\\W+FROM|LINE-COUNT|ADD-CORRESPONDING|AUTHORITY-CHECK|BREAK-POINT|CLASS-DATA|CLASS-METHODS|CLASS-METHOD|DIVIDE-CORRESPONDING|EDITOR-CALL|END-OF-DEFINITION|END-OF-PAGE|END-OF-SELECTION|FIELD-GROUPS|FIELD-SYMBOLS|FUNCTION-POOL|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|NEW-PAGE|NEW-SECTION|PRINT-CONTROL|RP-PROVIDE-FROM-LAST|SELECT-OPTIONS|SELECTION-SCREEN|START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYNTAX-TRACE|TOP-OF-PAGE|TYPE-POOL|TYPE-POOLS|LINE-SIZE|LINE-COUNT|MESSAGE-ID|DISPLAY-MODE|READ(?:-ONLY)?|IS\\W+(?:NOT\\W+)?(?:ASSIGNED|BOUND|INITIAL|SUPPLIED)";this.$rules={start:[{token:"string",regex:"`",next:"string"},{token:"string",regex:"'",next:"qstring"},{token:"doc.comment",regex:/^\*.+/},{token:"comment",regex:/".+$/},{token:"invalid",regex:"\\.{2,}"},{token:"keyword.operator",regex:/\W[\-+\%=<>*]\W|\*\*|[~:,\.&$]|->*?|=>/},{token:"paren.lparen",regex:"[\\[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"constant.numeric",regex:"[+-]?\\d+\\b"},{token:"variable.parameter",regex:/sy|pa?\d\d\d\d\|t\d\d\d\.|innnn/},{token:"keyword",regex:t},{token:"variable.parameter",regex:/\w+-\w+(?:-\w+)*/},{token:e,regex:"\\b\\w+\\b"},{caseInsensitive:!0}],qstring:[{token:"constant.language.escape",regex:"''"},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}],string:[{token:"constant.language.escape",regex:"``"},{token:"string",regex:"`",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.AbapHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/abap",["require","exports","module","ace/mode/abap_highlight_rules","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/lib/oop"],function(e,t,n){"use strict";function a(){this.HighlightRules=r,this.foldingRules=new i}var r=e("./abap_highlight_rules").AbapHighlightRules,i=e("./folding/coffee").FoldMode,s=e("../range").Range,o=e("./text").Mode,u=e("../lib/oop");u.inherits(a,o),function(){this.lineCommentStart='"',this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);return r},this.$id="ace/mode/abap"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-abc.js b/library/ace/mode-abc.js
new file mode 100644
index 000000000..da3a55306
--- /dev/null
+++ b/library/ace/mode-abc.js
@@ -0,0 +1 @@
+ace.define("ace/mode/abc_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["zupfnoter.information.comment.line.percentage","information.keyword","in formation.keyword.embedded"],regex:"(%%%%)(hn\\.[a-z]*)(.*)",comment:"Instruction Comment"},{token:["information.comment.line.percentage","information.keyword.embedded"],regex:"(%%)(.*)",comment:"Instruction Comment"},{token:"comment.line.percentage",regex:"%.*",comment:"Comments"},{token:"barline.keyword.operator",regex:"[\\[:]*[|:][|\\]:]*(?:\\[?[0-9]+)?|\\[[0-9]+",comment:"Bar lines"},{token:["information.keyword.embedded","information.argument.string.unquoted"],regex:"(\\[[A-Za-z]:)([^\\]]*\\])",comment:"embedded Header lines"},{token:["information.keyword","information.argument.string.unquoted"],regex:"^([A-Za-z]:)([^%\\\\]*)",comment:"Header lines"},{token:["text","entity.name.function","string.unquoted","text"],regex:"(\\[)([A-Z]:)(.*?)(\\])",comment:"Inline fields"},{token:["accent.constant.language","pitch.constant.numeric","duration.constant.numeric"],regex:"([\\^=_]*)([A-Ga-gz][,']*)([0-9]*/*[><0-9]*)",comment:"Notes"},{token:"zupfnoter.jumptarget.string.quoted",regex:'[\\"!]\\^\\:.*?[\\"!]',comment:"Zupfnoter jumptarget"},{token:"zupfnoter.goto.string.quoted",regex:'[\\"!]\\^\\@.*?[\\"!]',comment:"Zupfnoter goto"},{token:"zupfnoter.annotation.string.quoted",regex:'[\\"!]\\^\\!.*?[\\"!]',comment:"Zupfnoter annoation"},{token:"zupfnoter.annotationref.string.quoted",regex:'[\\"!]\\^\\#.*?[\\"!]',comment:"Zupfnoter annotation reference"},{token:"chordname.string.quoted",regex:'[\\"!]\\^.*?[\\"!]',comment:"abc chord"},{token:"string.quoted",regex:'[\\"!].*?[\\"!]',comment:"abc annotation"}]},this.normalizeRules()};s.metaData={fileTypes:["abc"],name:"ABC",scopeName:"text.abcnotation"},r.inherits(s,i),t.ABCHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/abc",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/abc_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./abc_highlight_rules").ABCHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/abc"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-actionscript.js b/library/ace/mode-actionscript.js
new file mode 100644
index 000000000..9ae91574f
--- /dev/null
+++ b/library/ace/mode-actionscript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/actionscript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"support.class.actionscript.2",regex:"\\b(?:R(?:ecordset|DBMSResolver|adioButton(?:Group)?)|X(?:ML(?:Socket|Node|Connector)?|UpdateResolverDataHolder)|M(?:M(?:Save|Execute)|icrophoneMicrophone|o(?:use|vieClip(?:Loader)?)|e(?:nu(?:Bar)?|dia(?:Controller|Display|Playback))|ath)|B(?:yName|inding|utton)|S(?:haredObject|ystem|crollPane|t(?:yleSheet|age|ream)|ound|e(?:ndEvent|rviceObject)|OAPCall|lide)|N(?:umericStepper|et(?:stream|S(?:tream|ervices)|Connection|Debug(?:Config)?))|C(?:heckBox|o(?:ntextMenu(?:Item)?|okie|lor|m(?:ponentMixins|boBox))|ustomActions|lient|amera)|T(?:ypedValue|ext(?:Snapshot|Input|F(?:ield|ormat)|Area)|ree|AB)|Object|D(?:ownload|elta(?:Item|Packet)?|at(?:e(?:Chooser|Field)?|a(?:G(?:lue|rid)|Set|Type)))|U(?:RL|TC|IScrollBar)|P(?:opUpManager|endingCall|r(?:intJob|o(?:duct|gressBar)))|E(?:ndPoint|rror)|Video|Key|F(?:RadioButton|GridColumn|MessageBox|BarChart|S(?:croll(?:Bar|Pane)|tyleFormat|plitView)|orm|C(?:heckbox|omboBox|alendar)|unction|T(?:icker|ooltip(?:Lite)?|ree(?:Node)?)|IconButton|D(?:ataGrid|raggablePane)|P(?:ieChart|ushButton|ro(?:gressBar|mptBox))|L(?:i(?:stBox|neChart)|oadingBox)|AdvancedMessageBox)|W(?:indow|SDLURL|ebService(?:Connector)?)|L(?:ist|o(?:calConnection|ad(?:er|Vars)|g)|a(?:unch|bel))|A(?:sBroadcaster|cc(?:ordion|essibility)|S(?:Set(?:Native|PropFlags)|N(?:ew|ative)|C(?:onstructor|lamp(?:2)?)|InstanceOf)|pplication|lert|rray))\\b"},{token:"support.function.actionscript.2",regex:"\\b(?:s(?:h(?:ift|ow(?:GridLines|Menu|Border|Settings|Headers|ColumnHeaders|Today|Preferences)?|ad(?:ow|ePane))|c(?:hema|ale(?:X|Mode|Y|Content)|r(?:oll(?:Track|Drag)?|een(?:Resolution|Color|DPI)))|t(?:yleSheet|op(?:Drag|A(?:nimation|llSounds|gent))?|epSize|a(?:tus|rt(?:Drag|A(?:nimation|gent))?))|i(?:n|ze|lence(?:TimeOut|Level))|o(?:ngname|urce|rt(?:Items(?:By)?|On(?:HeaderRelease)?|able(?:Columns)?)?)|u(?:ppressInvalidCalls|bstr(?:ing)?)|p(?:li(?:ce|t)|aceCol(?:umnsEqually|lumnsEqually))|e(?:nd(?:DefaultPushButtonEvent|AndLoad)?|curity|t(?:R(?:GB|o(?:otNode|w(?:Height|Count))|esizable(?:Columns)?|a(?:nge|te))|G(?:ain|roupName)|X(?:AxisTitle)?|M(?:i(?:n(?:imum|utes)|lliseconds)|o(?:nth(?:Names)?|tionLevel|de)|ultilineMode|e(?:ssage|nu(?:ItemEnabled(?:At)?|EnabledAt)|dia)|a(?:sk|ximum))|B(?:u(?:tton(?:s|Width)|fferTime)|a(?:seTabIndex|ndwidthLimit|ckground))|S(?:howAsDisabled|croll(?:ing|Speed|Content|Target|P(?:osition|roperties)|barState|Location)|t(?:yle(?:Property)?|opOnFocus|at(?:us|e))|i(?:ze|lenceLevel)|ort(?:able(?:Columns)?|Function)|p(?:litterBarPosition|acing)|e(?:conds|lect(?:Multiple|ion(?:Required|Type)?|Style|Color|ed(?:Node(?:s)?|Cell|I(?:nd(?:ices|ex)|tem(?:s)?))?|able))|kin|m(?:oothness|allScroll))|H(?:ighlight(?:s|Color)|Scroll|o(?:urs|rizontal)|eader(?:Symbol|Height|Text|Property|Format|Width|Location)?|as(?:Shader|CloseBox))|Y(?:ear|AxisTitle)?|N(?:ode(?:Properties|ExpansionHandler)|ewTextFormat)|C(?:h(?:ildNodes|a(?:ngeHandler|rt(?:Title|EventHandler)))|o(?:ntent(?:Size)?|okie|lumns)|ell(?:Symbol|Data)|l(?:i(?:ckHandler|pboard)|oseHandler)|redentials)|T(?:ype(?:dVaule)?|i(?:tle(?:barHeight)?|p(?:Target|Offset)?|me(?:out(?:Handler)?)?)|oggle|extFormat|ransform)|I(?:s(?:Branch|Open)|n(?:terval|putProperty)|con(?:SymbolName)?|te(?:rator|m(?:ByKey|Symbol)))|Orientation|D(?:i(?:splay(?:Range|Graphics|Mode|Clip|Text|edMonth)|rection)|uration|e(?:pth(?:Below|To|Above)|fault(?:GatewayURL|Mappings|NodeIconSymbolName)|l(?:iveryMode|ay)|bug(?:ID)?)|a(?:yOfWeekNames|t(?:e(?:Filter)?|a(?:Mapping(?:s)?|Item(?:Text|Property|Format)|Provider|All(?:Height|Property|Format|Width))?))|ra(?:wConnectors|gContent))|U(?:se(?:Shadow|HandCursor|EchoSuppression|rInput|Fade)|TC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear))|P(?:osition|ercentComplete|an(?:e(?:M(?:inimumSize|aximumSize)|Size|Title))?|ro(?:pert(?:y(?:Data)?|iesAt)|gress))|E(?:nabled|dit(?:Handler|able)|xpand(?:NodeTrigger|erSymbolName))|V(?:Scroll|olume|alue(?:Source)?)|KeyFrameInterval|Quality|F(?:i(?:eld|rst(?:DayOfWeek|VisibleNode))|ocus|ullYear|ps|ade(?:InLength|OutLength)|rame(?:Color|Width))|Width|L(?:ine(?:Color|Weight)|o(?:opback|adTarget)|a(?:rgeScroll|bel(?:Source|Placement)?))|A(?:s(?:Boolean|String|Number)|n(?:yTypedValue|imation)|ctiv(?:e(?:State(?:Handler)?|Handler)|ateHandler)|utoH(?:ideScrollBar|eight)))?|paratorBefore|ek|lect(?:ion(?:Disabled|Unfocused)?|ed(?:Node(?:s)?|Child|I(?:nd(?:ices|ex)|tem(?:s)?)|Dat(?:e|a))?|able(?:Ranges)?)|rver(?:String)?)|kip|qrt|wapDepths|lice|aveToSharedObj|moothing)|h(?:scroll(?:Policy)?|tml(?:Text)?|i(?:t(?:Test(?:TextNearPos)?|Area)|de(?:BuiltInItems|Child)?|ghlight(?:2D|3D)?)|orizontal|e(?:ight|ader(?:Re(?:nderer|lease)|Height|Text))|P(?:osition|ageScrollSize)|a(?:s(?:childNodes|MP3|S(?:creen(?:Broadcast|Playback)|treaming(?:Video|Audio)|ort)|Next|OwnProperty|Pr(?:inting|evious)|EmbeddedVideo|VideoEncoder|A(?:ccesibility|udio(?:Encoder)?))|ndlerName)|LineScrollSize)|ye(?:sLabel|ar)|n(?:o(?:t|de(?:Name|Close|Type|Open|Value)|Label)|u(?:llValue|mChild(?:S(?:creens|lides)|ren|Forms))|e(?:w(?:Item|line|Value|LocationDialog)|xt(?:S(?:cene|ibling|lide)|TabIndex|Value|Frame)?)?|ame(?:s)?)|c(?:h(?:ildNodes|eck|a(?:nge(?:sPending)?|r(?:CodeAt|At))|r)|o(?:s|n(?:st(?:ant|ructor)|nect|c(?:urrency|at)|t(?:ent(?:Type|Path)?|ains|rol(?:Placement|lerPolicy))|denseWhite|version)|py|l(?:or|umn(?:Stretch|Name(?:s)?|Count))|m(?:p(?:onent|lete)|ment))|u(?:stomItems|ePoint(?:s)?|r(?:veTo|Value|rent(?:Slide|ChildSlide|Item|F(?:ocused(?:S(?:creen|lide)|Form)|ps))))|e(?:il|ll(?:Renderer|Press|Edit|Focus(?:In|Out)))|l(?:i(?:ck|ents)|o(?:se(?:Button|Pane)?|ne(?:Node)?)|ear(?:S(?:haredObjects|treams)|Timeout|Interval)?)|a(?:ncelLabel|tch|p(?:tion|abilities)|l(?:cFields|l(?:e(?:e|r))?))|reate(?:GatewayConnection|Menu|Se(?:rver|gment)|C(?:hild(?:AtDepth)?|l(?:ient|ass(?:ChildAtDepth|Object(?:AtDepth)?))|all)|Text(?:Node|Field)|Item|Object(?:AtDepth)?|PopUp|E(?:lement|mptyMovieClip)))|t(?:h(?:is|row)|ype(?:of|Name)?|i(?:tle(?:StyleDeclaration)?|me(?:out)?)|o(?:talTime|String|olTipText|p|UpperCase|ggle(?:HighQuality)?|Lo(?:caleString|werCase))|e(?:st|llTarget|xt(?:RightMargin|Bold|S(?:ize|elected)|Height|Color|I(?:ndent|talic)|Disabled|Underline|F(?:ield|ont)|Width|LeftMargin|Align)?)|a(?:n|rget(?:Path)?|b(?:Stops|Children|Index|Enabled|leName))|r(?:y|igger|ac(?:e|k(?:AsMenu)?)))|i(?:s(?:Running|Branch|NaN|Con(?:soleOpen|nected)|Toggled|Installed|Open|D(?:own|ebugger)|P(?:urchased|ro(?:totypeOf|pertyEnumerable))|Empty|F(?:inite|ullyPopulated)|Local|Active)|n(?:s(?:tall|ertBefore)|cludeDeltaPacketInfo|t|it(?:ialize|Component|Pod|A(?:pplication|gent))?|de(?:nt|terminate|x(?:InParent(?:Slide|Form)?|Of)?)|put|validate|finity|LocalInternetCache)?|con(?:F(?:ield|unction))?|t(?:e(?:ratorScrolled|m(?:s|RollO(?:ut|ver)|ClassName))|alic)|d3|p|fFrameLoaded|gnore(?:Case|White))|o(?:s|n(?:R(?:ollO(?:ut|ver)|e(?:s(?:ize|ult)|l(?:ease(?:Outside)?|aseOutside)))|XML|Mouse(?:Move|Down|Up|Wheel)|S(?:ync|croller|tatus|oundComplete|e(?:tFocus|lect(?:edItem)?))|N(?:oticeEvent|etworkChange)|C(?:hanged|onnect|l(?:ipEvent|ose))|ID3|D(?:isconnect|eactivate|ata|ragO(?:ut|ver))|Un(?:install|load)|P(?:aymentResult|ress)|EnterFrame|K(?:illFocus|ey(?:Down|Up))|Fault|Lo(?:ad|g)|A(?:ctiv(?:ity|ate)|ppSt(?:op|art)))?|pe(?:n|ration)|verLayChildren|kLabel|ldValue|r(?:d)?)|d(?:i(?:s(?:connect|play(?:Normal|ed(?:Month|Year)|Full)|able(?:Shader|d(?:Ranges|Days)|CloseBox|Events))|rection)|o(?:cTypeDecl|tall|Decoding|main|LazyDecoding)|u(?:plicateMovieClip|ration)|e(?:stroy(?:ChildAt|Object)|code|fault(?:PushButton(?:Enabled)?|KeydownHandler)?|l(?:ta(?:Packet(?:Changed)?)?|ete(?:PopUp|All)?)|blocking)|a(?:shBoardSave|yNames|ta(?:Provider)?|rkshadow)|r(?:opdown(?:Width)?|a(?:w|gO(?:ut|ver))))|u(?:se(?:Sort|HandCursor|Codepage|EchoSuppression)|n(?:shift|install|derline|escape|format|watch|lo(?:ck|ad(?:Movie(?:Num)?)?))|pdate(?:Results|Mode|I(?:nputProperties|tem(?:ByIndex)?)|P(?:acket|roperties)|View|AfterEvent)|rl)|join|p(?:ixelAspectRatio|o(?:sition|p|w)|u(?:sh|rge|blish)|ercen(?:tComplete|Loaded)|lay(?:head(?:Change|Time)|ing|Hidden|erType)?|a(?:ssword|use|r(?:se(?:XML|CSS|Int|Float)|ent(?:Node|Is(?:S(?:creen|lide)|Form))|ams))|r(?:int(?:Num|AsBitmap(?:Num)?)?|o(?:to(?:type)?|pert(?:y|ies)|gress)|e(?:ss|v(?:ious(?:S(?:ibling|lide)|Value)?|Scene|Frame)|ferred(?:Height|Width))))|e(?:scape|n(?:code(?:r)?|ter(?:Frame)?|dFill|able(?:Shader|d|CloseBox|Events))|dit(?:able|Field|LocationDialog)|v(?:ent|al(?:uate)?)|q|x(?:tended|p|ec(?:ute)?|actSettings)|m(?:phasized(?:StyleDeclaration)?|bedFonts))|v(?:i(?:sible|ewPod)|ScrollPolicy|o(?:id|lume)|ersion|P(?:osition|ageScrollSize)|a(?:l(?:idat(?:ionError|e(?:Property|ActivationKey)?)|ue(?:Of)?)|riable)|LineScrollSize)|k(?:ind|ey(?:Down|Up|Press|FrameInterval))|q(?:sort|uality)|f(?:scommand|i(?:n(?:d(?:Text|First|Last)?|ally)|eldInfo|lter(?:ed|Func)?|rst(?:Slide|Child|DayOfWeek|VisibleNode)?)|o(?:nt|cus(?:In|edCell|Out|Enabled)|r(?:egroundDisabled|mat(?:ter)?))|unctionName|ps|l(?:oor|ush)|ace|romCharCode)|w(?:i(?:th|dth)|ordWrap|atch|riteAccess)|l(?:t|i(?:st(?:Owner)?|ne(?:Style|To))|o(?:c(?:k|a(?:t(?:ion|eByld)|l(?:ToGlobal|FileReadDisable)))|opback|ad(?:Movie(?:Num)?|S(?:crollContent|ound)|ed|Variables(?:Num)?|Application)?|g(?:Changes)?)|e(?:ngth|ft(?:Margin)?|ading)?|a(?:st(?:Slide|Child|Index(?:Of)?)?|nguage|b(?:el(?:Placement|F(?:ield|unction))?|leField)))|a(?:s(?:scociate(?:Controller|Display)|in|pectRatio|function)|nd|c(?:ceptConnection|tiv(?:ityLevel|ePlayControl)|os)|t(?:t(?:ach(?:Movie|Sound|Video|Audio)|ributes)|an(?:2)?)|dd(?:header|RequestHeader|Menu(?:Item(?:At)?|At)?|Sort|Header|No(?:tice|de(?:At)?)|C(?:olumn(?:At)?|uePoint)|T(?:oLocalInternetCache|reeNode(?:At)?)|I(?:con|tem(?:s(?:At)?|At)?)|DeltaItem|P(?:od|age|roperty)|EventListener|View|FieldInfo|Listener|Animation)?|uto(?:Size|Play|KeyNav|Load)|pp(?:endChild|ly(?:Changes|Updates)?)|vHardwareDisable|fterLoaded|l(?:ternateRowColors|ign|l(?:ow(?:InsecureDomain|Domain)|Transitions(?:InDone|OutDone))|bum)|r(?:tist|row|g(?:uments|List))|gent|bs)|r(?:ight(?:Margin)?|o(?:ot(?:S(?:creen|lide)|Form)|und|w(?:Height|Count)|llO(?:ut|ver))|e(?:s(?:yncDepth|t(?:orePane|artAnimation|rict)|iz(?:e|able(?:Columns)?)|olveDelta|ult(?:s)?|ponse)|c(?:o(?:ncile(?:Results|Updates)|rd)|eive(?:Video|Audio))|draw|jectConnection|place(?:Sel|ItemAt|AllItems)?|ve(?:al(?:Child)?|rse)|quest(?:SizeChange|Payment)?|f(?:errer|resh(?:ScrollContent|Destinations|Pane|FromSources)?)|lease(?:Outside)?|ad(?:Only|Access)|gister(?:SkinElement|C(?:olor(?:Style|Name)|lass)|InheritingStyle|Proxy)|move(?:Range|M(?:ovieClip|enu(?:Item(?:At)?|At))|Background|Sort|No(?:tice|de(?:sAt|At)?)|C(?:olum(?:nAt|At)|uePoints)|T(?:extField|reeNode(?:At)?)|Item(?:At)?|Pod|EventListener|FromLocalInternetCache|Listener|All(?:C(?:olumns|uePoints)|Items)?))|a(?:ndom|te|dioDot))|g(?:t|oto(?:Slide|NextSlide|PreviousSlide|FirstSlide|LastSlide|And(?:Stop|Play))|e(?:nre|t(?:R(?:GB|o(?:otNode|wCount)|e(?:sizable|mote))|X(?:AxisTitle)?|M(?:i(?:n(?:imum(?:Size)?|utes)|lliseconds)|onth(?:Names)?|ultilineMode|e(?:ssage|nu(?:ItemAt|EnabledAt|At))|aximum(?:Size)?)|B(?:ytes(?:Total|Loaded)|ounds|utton(?:s|Width)|eginIndex|a(?:ndwidthLimit|ckground))|S(?:howAsDisabled|croll(?:ing|Speed|Content|Position|barState|Location)|t(?:yle(?:Names)?|opOnFocus|ate)|ize|o(?:urce|rtState)|p(?:litterBarPosition|acing)|e(?:conds|lect(?:Multiple|ion(?:Required|Type)|Style|ed(?:Node(?:s)?|Cell|Text|I(?:nd(?:ices|ex)|tem(?:s)?))?)|rvice)|moothness|WFVersion)|H(?:ighlight(?:s|Color)|ours|e(?:ight|ader(?:Height|Text|Property|Format|Width|Location)?)|as(?:Shader|CloseBox))|Y(?:ear|AxisTitle)?|N(?:o(?:tices|de(?:DisplayedAt|At))|um(?:Children|berAvailable)|e(?:wTextFormat|xtHighestDepth))|C(?:h(?:ild(?:S(?:creen|lide)|Nodes|Form|At)|artTitle)|o(?:n(?:tent|figInfo)|okie|de|unt|lumn(?:Names|Count|Index|At))|uePoint|ellIndex|loseHandler|a(?:ll|retIndex))|T(?:ypedValue|i(?:tle(?:barHeight)?|p(?:Target|Offset)?|me(?:stamp|zoneOffset|out(?:State|Handler)|r)?)|oggle|ext(?:Extent|Format)?|r(?:ee(?:NodeAt|Length)|ans(?:form|actionId)))|I(?:s(?:Branch|Open)|n(?:stanceAtDepth|d(?:icesByKey|exByKey))|con(?:SymbolName)?|te(?:rator|m(?:sByKey|By(?:Name|Key)|id|ID|At))|d)|O(?:utput(?:Parameter(?:s|ByName)?|Value(?:s)?)|peration|ri(?:entation|ginalCellData))|D(?:i(?:s(?:play(?:Range|Mode|Clip|Index|edMonth)|kUsage)|rection)|uration|e(?:pth|faultNodeIconSymbolName|l(?:taPacket|ay)|bug(?:Config|ID)?)|a(?:y(?:OfWeekNames)?|t(?:e|a(?:Mapping(?:s)?|Item(?:Text|Property|Format)|Label|All(?:Height|Property|Format|Width))?))|rawConnectors)|U(?:se(?:Shadow|HandCursor|rInput|Fade)|RL|TC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear))|P(?:o(?:sition|ds)|ercentComplete|a(?:n(?:e(?:M(?:inimums|aximums)|Height|Title|Width))?|rentNode)|r(?:operty(?:Name|Data)?|efer(?:ences|red(?:Height|Width))))|E(?:n(?:dIndex|abled)|ditingData|x(?:panderSymbolName|andNodeTrigger))|V(?:iewed(?:Pods|Applications)|olume|ersion|alue(?:Source)?)|F(?:i(?:eld|rst(?:DayOfWeek|VisibleNode))|o(?:ntList|cus)|ullYear|ade(?:InLength|OutLength)|rame(?:Color|Width))|Width|L(?:ine(?:Color|Weight)|o(?:cal|adTarget)|ength|a(?:stTabIndex|bel(?:Source)?))|A(?:s(?:cii|Boolean|String|Number)|n(?:yTypedValue|imation)|ctiv(?:eState(?:Handler)?|ateHandler)|utoH(?:ideScrollBar|eight)|llItems|gent))?)?|lobal(?:StyleFormat|ToLocal)?|ain|roupName)|x(?:updatePackety|mlDecl)?|m(?:y(?:MethodName|Call)|in(?:imum)?|o(?:nthNames|tion(?:TimeOut|Level)|de(?:lChanged)?|use(?:Move|O(?:ut|ver)|Down(?:Somewhere|Outside)?|Up(?:Somewhere)?|WheelEnabled)|ve(?:To)?)|u(?:ted|lti(?:pleS(?:imultaneousAllowed|elections)|line))|e(?:ssage|nu(?:Show|Hide)?|th(?:od)?|diaType)|a(?:nufacturer|tch|x(?:scroll|hscroll|imum|HPosition|Chars|VPosition)?)|b(?:substring|chr|ord|length))|b(?:ytes(?:Total|Loaded)|indFormat(?:Strings|Function)|o(?:ttom(?:Scroll)?|ld|rder(?:Color)?)|u(?:tton(?:Height|Width)|iltInItems|ffer(?:Time|Length)|llet)|e(?:foreApplyUpdates|gin(?:GradientFill|Fill))|lockIndent|a(?:ndwidth|ckground(?:Style|Color|Disabled)?)|roadcastMessage)|onHTTPStatus)\\b"},{token:"support.constant.actionscript.2",regex:"\\b(?:__proto__|__resolve|_accProps|_alpha|_changed|_currentframe|_droptarget|_flash|_focusrect|_framesloaded|_global|_height|_highquality|_level|_listeners|_lockroot|_name|_parent|_quality|_root|_rotation|_soundbuftime|_target|_totalframes|_url|_visible|_width|_x|_xmouse|_xscale|_y|_ymouse|_yscale)\\b"},{token:"keyword.control.actionscript.2",regex:"\\b(?:dynamic|extends|import|implements|interface|public|private|new|static|super|var|for|in|break|continue|while|do|return|if|else|case|switch)\\b"},{token:"storage.type.actionscript.2",regex:"\\b(?:Boolean|Number|String|Void)\\b"},{token:"constant.language.actionscript.2",regex:"\\b(?:null|undefined|true|false)\\b"},{token:"constant.numeric.actionscript.2",regex:"\\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{token:"punctuation.definition.string.begin.actionscript.2",regex:'"',push:[{token:"punctuation.definition.string.end.actionscript.2",regex:'"',next:"pop"},{token:"constant.character.escape.actionscript.2",regex:"\\\\."},{defaultToken:"string.quoted.double.actionscript.2"}]},{token:"punctuation.definition.string.begin.actionscript.2",regex:"'",push:[{token:"punctuation.definition.string.end.actionscript.2",regex:"'",next:"pop"},{token:"constant.character.escape.actionscript.2",regex:"\\\\."},{defaultToken:"string.quoted.single.actionscript.2"}]},{token:"support.constant.actionscript.2",regex:"\\b(?:BACKSPACE|CAPSLOCK|CONTROL|DELETEKEY|DOWN|END|ENTER|HOME|INSERT|LEFT|LN10|LN2|LOG10E|LOG2E|MAX_VALUE|MIN_VALUE|NEGATIVE_INFINITY|NaN|PGDN|PGUP|PI|POSITIVE_INFINITY|RIGHT|SPACE|SQRT1_2|SQRT2|UP)\\b"},{token:"punctuation.definition.comment.actionscript.2",regex:"/\\*",push:[{token:"punctuation.definition.comment.actionscript.2",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.actionscript.2"}]},{token:"punctuation.definition.comment.actionscript.2",regex:"//.*$",push_:[{token:"comment.line.double-slash.actionscript.2",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.actionscript.2"}]},{token:"keyword.operator.actionscript.2",regex:"\\binstanceof\\b"},{token:"keyword.operator.symbolic.actionscript.2",regex:"[-!%&*+=/?:]"},{token:["meta.preprocessor.actionscript.2","punctuation.definition.preprocessor.actionscript.2","meta.preprocessor.actionscript.2"],regex:"^([ \\t]*)(#)([a-zA-Z]+)"},{token:["storage.type.function.actionscript.2","meta.function.actionscript.2","entity.name.function.actionscript.2","meta.function.actionscript.2","punctuation.definition.parameters.begin.actionscript.2"],regex:"\\b(function)(\\s+)([a-zA-Z_]\\w*)(\\s*)(\\()",push:[{token:"punctuation.definition.parameters.end.actionscript.2",regex:"\\)",next:"pop"},{token:"variable.parameter.function.actionscript.2",regex:"[^,)$]+"},{defaultToken:"meta.function.actionscript.2"}]},{token:["storage.type.class.actionscript.2","meta.class.actionscript.2","entity.name.type.class.actionscript.2","meta.class.actionscript.2","storage.modifier.extends.actionscript.2","meta.class.actionscript.2","entity.other.inherited-class.actionscript.2"],regex:"\\b(class)(\\s+)([a-zA-Z_](?:\\w|\\.)*)(?:(\\s+)(extends)(\\s+)([a-zA-Z_](?:\\w|\\.)*))?"}]},this.normalizeRules()};s.metaData={fileTypes:["as"],keyEquivalent:"^~A",name:"ActionScript",scopeName:"source.actionscript.2"},r.inherits(s,i),t.ActionScriptHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/actionscript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/actionscript_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./actionscript_highlight_rules").ActionScriptHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/actionscript"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-ada.js b/library/ace/mode-ada.js
new file mode 100644
index 000000000..81cdc59e6
--- /dev/null
+++ b/library/ace/mode-ada.js
@@ -0,0 +1 @@
+ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|body|private|then|if|procedure|type|case|in|protected|constant|interface|until||is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.AdaHighlightRules=s}),ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ada_highlight_rules").AdaHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/ada"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-apache_conf.js b/library/ace/mode-apache_conf.js
new file mode 100644
index 000000000..66eca9746
--- /dev/null
+++ b/library/ace/mode-apache_conf.js
@@ -0,0 +1 @@
+ace.define("ace/mode/apache_conf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["punctuation.definition.comment.apacheconf","comment.line.hash.ini","comment.line.hash.ini"],regex:"^((?:\\s)*)(#)(.*$)"},{token:["punctuation.definition.tag.apacheconf","entity.tag.apacheconf","text","string.value.apacheconf","punctuation.definition.tag.apacheconf"],regex:"(<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost)(?:(\\s)(.+?))?(>)"},{token:["punctuation.definition.tag.apacheconf","entity.tag.apacheconf","punctuation.definition.tag.apacheconf"],regex:"(</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost)(>)"},{token:["keyword.alias.apacheconf","text","string.regexp.apacheconf","text","string.replacement.apacheconf","text"],regex:"(Rewrite(?:Rule|Cond))(\\s+)(.+?)(\\s+)(.+?)($|\\s)"},{token:["keyword.alias.apacheconf","text","entity.status.apacheconf","text","string.regexp.apacheconf","text","string.path.apacheconf","text"],regex:"(RedirectMatch)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:["keyword.alias.apacheconf","text","entity.status.apacheconf","text","string.path.apacheconf","text","string.path.apacheconf","text"],regex:"(Redirect)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:["keyword.alias.apacheconf","text","string.regexp.apacheconf","text","string.path.apacheconf","text"],regex:"(ScriptAliasMatch|AliasMatch)(\\s+)(.+?)(\\s+)(?:(.+?)(\\s))?"},{token:["keyword.alias.apacheconf","text","string.path.apacheconf","text","string.path.apacheconf","text"],regex:"(RedirectPermanent|RedirectTemp|ScriptAlias|Alias)(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:"keyword.core.apacheconf",regex:"\\b(?:AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|TimeOut|TraceEnable|UseCanonicalName)\\b"},{token:"keyword.mpm.apacheconf",regex:"\\b(?:AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\\b"},{token:"keyword.access.apacheconf",regex:"\\b(?:Allow|Deny|Order)\\b"},{token:"keyword.actions.apacheconf",regex:"\\b(?:Action|Script)\\b"},{token:"keyword.alias.apacheconf",regex:"\\b(?:Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\\b"},{token:"keyword.auth.apacheconf",regex:"\\b(?:AuthAuthoritative|AuthGroupFile|AuthUserFile)\\b"},{token:"keyword.auth_anon.apacheconf",regex:"\\b(?:Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\\b"},{token:"keyword.auth_dbm.apacheconf",regex:"\\b(?:AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\\b"},{token:"keyword.auth_digest.apacheconf",regex:"\\b(?:AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize)\\b"},{token:"keyword.auth_ldap.apacheconf",regex:"\\b(?:AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\\b"},{token:"keyword.autoindex.apacheconf",regex:"\\b(?:AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|ReadmeName)\\b"},{token:"keyword.cache.apacheconf",regex:"\\b(?:CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\\b"},{token:"keyword.cern_meta.apacheconf",regex:"\\b(?:MetaDir|MetaFiles|MetaSuffix)\\b"},{token:"keyword.cgi.apacheconf",regex:"\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength)\\b"},{token:"keyword.cgid.apacheconf",regex:"\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\\b"},{token:"keyword.charset_lite.apacheconf",regex:"\\b(?:CharsetDefault|CharsetOptions|CharsetSourceEnc)\\b"},{token:"keyword.dav.apacheconf",regex:"\\b(?:Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\\b"},{token:"keyword.deflate.apacheconf",regex:"\\b(?:DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\\b"},{token:"keyword.dir.apacheconf",regex:"\\b(?:DirectoryIndex|DirectorySlash)\\b"},{token:"keyword.disk_cache.apacheconf",regex:"\\b(?:CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\\b"},{token:"keyword.dumpio.apacheconf",regex:"\\b(?:DumpIOInput|DumpIOOutput)\\b"},{token:"keyword.env.apacheconf",regex:"\\b(?:PassEnv|SetEnv|UnsetEnv)\\b"},{token:"keyword.expires.apacheconf",regex:"\\b(?:ExpiresActive|ExpiresByType|ExpiresDefault)\\b"},{token:"keyword.ext_filter.apacheconf",regex:"\\b(?:ExtFilterDefine|ExtFilterOptions)\\b"},{token:"keyword.file_cache.apacheconf",regex:"\\b(?:CacheFile|MMapFile)\\b"},{token:"keyword.headers.apacheconf",regex:"\\b(?:Header|RequestHeader)\\b"},{token:"keyword.imap.apacheconf",regex:"\\b(?:ImapBase|ImapDefault|ImapMenu)\\b"},{token:"keyword.include.apacheconf",regex:"\\b(?:SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\\b"},{token:"keyword.isapi.apacheconf",regex:"\\b(?:ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\\b"},{token:"keyword.ldap.apacheconf",regex:"\\b(?:LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\\b"},{token:"keyword.log.apacheconf",regex:"\\b(?:BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\\b"},{token:"keyword.mem_cache.apacheconf",regex:"\\b(?:MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\\b"},{token:"keyword.mime.apacheconf",regex:"\\b(?:AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\\b"},{token:"keyword.misc.apacheconf",regex:"\\b(?:ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\\b"},{token:"keyword.negotiation.apacheconf",regex:"\\b(?:CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\\b"},{token:"keyword.nw_ssl.apacheconf",regex:"\\b(?:NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\\b"},{token:"keyword.proxy.apacheconf",regex:"\\b(?:AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\\b"},{token:"keyword.rewrite.apacheconf",regex:"\\b(?:RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\\b"},{token:"keyword.setenvif.apacheconf",regex:"\\b(?:BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\\b"},{token:"keyword.so.apacheconf",regex:"\\b(?:LoadFile|LoadModule)\\b"},{token:"keyword.ssl.apacheconf",regex:"\\b(?:SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth)\\b"},{token:"keyword.usertrack.apacheconf",regex:"\\b(?:CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\\b"},{token:"keyword.vhost_alias.apacheconf",regex:"\\b(?:VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\\b"},{token:["keyword.php.apacheconf","text","entity.property.apacheconf","text","string.value.apacheconf","text"],regex:"\\b(php_value|php_flag)\\b(?:(\\s+)(.+?)(?:(\\s+)(.+?))?)?(\\s)"},{token:["punctuation.variable.apacheconf","variable.env.apacheconf","variable.misc.apacheconf","punctuation.variable.apacheconf"],regex:"(%\\{)(?:(HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\\})"},{token:["entity.mime-type.apacheconf","text"],regex:"\\b((?:text|image|application|video|audio)/.+?)(\\s)"},{token:"entity.helper.apacheconf",regex:"\\b(?:from|unset|set|on|off)\\b",caseInsensitive:!0},{token:"constant.integer.apacheconf",regex:"\\b\\d+\\b"},{token:["text","punctuation.definition.flag.apacheconf","string.flag.apacheconf","punctuation.definition.flag.apacheconf","text"],regex:"(\\s)(\\[)(.*?)(\\])(\\s)"}]},this.normalizeRules()};s.metaData={fileTypes:["conf","CONF","htaccess","HTACCESS","htgroups","HTGROUPS","htpasswd","HTPASSWD",".htaccess",".HTACCESS",".htgroups",".HTGROUPS",".htpasswd",".HTPASSWD"],name:"Apache Conf",scopeName:"source.apacheconf"},r.inherits(s,i),t.ApacheConfHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/apache_conf",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/apache_conf_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./apache_conf_highlight_rules").ApacheConfHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.$id="ace/mode/apache_conf"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-applescript.js b/library/ace/mode-applescript.js
new file mode 100644
index 000000000..b9fdd014f
--- /dev/null
+++ b/library/ace/mode-applescript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/applescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="about|above|after|against|and|around|as|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contain|contains|continue|copy|div|does|eighth|else|end|equal|equals|error|every|exit|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|into|is|it|its|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|try|until|where|while|whose|with|without",t="AppleScript|false|linefeed|return|pi|quote|result|space|tab|true",n="activate|beep|count|delay|launch|log|offset|read|round|run|say|summarize|write",r="alias|application|boolean|class|constant|date|file|integer|list|number|real|record|string|text|character|characters|contents|day|frontmost|id|item|length|month|name|paragraph|paragraphs|rest|reverse|running|time|version|weekday|word|words|year",i=this.createKeywordMapper({"support.function":n,"constant.language":t,"support.type":r,keyword:e},"identifier");this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\(\\*",next:"comment"},{token:"string",regex:'".*?"'},{token:"support.type",regex:"\\b(POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{token:"support.function",regex:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{token:"constant.language",regex:"\\b(text item delimiters|current application|missing value)\\b"},{token:"keyword",regex:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{token:i,regex:"[a-zA-Z][a-zA-Z0-9_]*\\b"}],comment:[{token:"comment",regex:"\\*\\)",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()};r.inherits(s,i),t.AppleScriptHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/applescript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/applescript_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./applescript_highlight_rules").AppleScriptHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="--",this.blockComment={start:"(*",end:"*)"},this.$id="ace/mode/applescript"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-asciidoc.js b/library/ace/mode-asciidoc.js
new file mode 100644
index 000000000..de55f241b
--- /dev/null
+++ b/library/ace/mode-asciidoc.js
@@ -0,0 +1 @@
+ace.define("ace/mode/asciidoc_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){function t(e){var t=/\w/.test(e)?"\\b":"(?:\\B|^)";return t+e+"[^"+e+"].*?"+e+"(?![\\w*])"}var e="[a-zA-Z\u00a1-\uffff]+\\b";this.$rules={start:[{token:"empty",regex:/$/},{token:"literal",regex:/^\.{4,}\s*$/,next:"listingBlock"},{token:"literal",regex:/^-{4,}\s*$/,next:"literalBlock"},{token:"string",regex:/^\+{4,}\s*$/,next:"passthroughBlock"},{token:"keyword",regex:/^={4,}\s*$/},{token:"text",regex:/^\s*$/},{token:"empty",regex:"",next:"dissallowDelimitedBlock"}],dissallowDelimitedBlock:[{include:"paragraphEnd"},{token:"comment",regex:"^//.+$"},{token:"keyword",regex:"^(?:NOTE|TIP|IMPORTANT|WARNING|CAUTION):"},{include:"listStart"},{token:"literal",regex:/^\s+.+$/,next:"indentedBlock"},{token:"empty",regex:"",next:"text"}],paragraphEnd:[{token:"doc.comment",regex:/^\/{4,}\s*$/,next:"commentBlock"},{token:"tableBlock",regex:/^\s*[|!]=+\s*$/,next:"tableBlock"},{token:"keyword",regex:/^(?:--|''')\s*$/,next:"start"},{token:"option",regex:/^\[.*\]\s*$/,next:"start"},{token:"pageBreak",regex:/^>{3,}$/,next:"start"},{token:"literal",regex:/^\.{4,}\s*$/,next:"listingBlock"},{token:"titleUnderline",regex:/^(?:={2,}|-{2,}|~{2,}|\^{2,}|\+{2,})\s*$/,next:"start"},{token:"singleLineTitle",regex:/^={1,5}\s+\S.*$/,next:"start"},{token:"otherBlock",regex:/^(?:\*{2,}|_{2,})\s*$/,next:"start"},{token:"optionalTitle",regex:/^\.[^.\s].+$/,next:"start"}],listStart:[{token:"keyword",regex:/^\s*(?:\d+\.|[a-zA-Z]\.|[ixvmIXVM]+\)|\*{1,5}|-|\.{1,5})\s/,next:"listText"},{token:"meta.tag",regex:/^.+(?::{2,4}|;;)(?: |$)/,next:"listText"},{token:"support.function.list.callout",regex:/^(?:<\d+>|\d+>|>) /,next:"text"},{token:"keyword",regex:/^\+\s*$/,next:"start"}],text:[{token:["link","variable.language"],regex:/((?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+)(\[.*?\])/},{token:"link",regex:/(?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+/},{token:"link",regex:/\b[\w\.\/\-]+@[\w\.\/\-]+\b/},{include:"macros"},{include:"paragraphEnd"},{token:"literal",regex:/\+{3,}/,next:"smallPassthrough"},{token:"escape",regex:/\((?:C|TM|R)\)|\.{3}|->|<-|=>|<=|&#(?:\d+|x[a-fA-F\d]+);|(?: |^)--(?=\s+\S)/},{token:"escape",regex:/\\[_*'`+#]|\\{2}[_*'`+#]{2}/},{token:"keyword",regex:/\s\+$/},{token:"text",regex:e},{token:["keyword","string","keyword"],regex:/(<<[\w\d\-$]+,)(.*?)(>>|$)/},{token:"keyword",regex:/<<[\w\d\-$]+,?|>>/},{token:"constant.character",regex:/\({2,3}.*?\){2,3}/},{token:"keyword",regex:/\[\[.+?\]\]/},{token:"support",regex:/^\[{3}[\w\d =\-]+\]{3}/},{include:"quotes"},{token:"empty",regex:/^\s*$/,next:"start"}],listText:[{include:"listStart"},{include:"text"}],indentedBlock:[{token:"literal",regex:/^[\s\w].+$/,next:"indentedBlock"},{token:"literal",regex:"",next:"start"}],listingBlock:[{token:"literal",regex:/^\.{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"constant.numeric",regex:"<\\d+>"},{token:"literal",regex:"[^<]+"},{token:"literal",regex:"<"}],literalBlock:[{token:"literal",regex:/^-{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"constant.numeric",regex:"<\\d+>"},{token:"literal",regex:"[^<]+"},{token:"literal",regex:"<"}],passthroughBlock:[{token:"literal",regex:/^\+{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"literal",regex:e+"|\\d+"},{include:"macros"},{token:"literal",regex:"."}],smallPassthrough:[{token:"literal",regex:/[+]{3,}/,next:"dissallowDelimitedBlock"},{token:"literal",regex:/^\s*$/,next:"dissallowDelimitedBlock"},{token:"literal",regex:e+"|\\d+"},{include:"macros"}],commentBlock:[{token:"doc.comment",regex:/^\/{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"doc.comment",regex:"^.*$"}],tableBlock:[{token:"tableBlock",regex:/^\s*\|={3,}\s*$/,next:"dissallowDelimitedBlock"},{token:"tableBlock",regex:/^\s*!={3,}\s*$/,next:"innerTableBlock"},{token:"tableBlock",regex:/\|/},{include:"text",noEscape:!0}],innerTableBlock:[{token:"tableBlock",regex:/^\s*!={3,}\s*$/,next:"tableBlock"},{token:"tableBlock",regex:/^\s*|={3,}\s*$/,next:"dissallowDelimitedBlock"},{token:"tableBlock",regex:/\!/}],macros:[{token:"macro",regex:/{[\w\-$]+}/},{token:["text","string","text","constant.character","text"],regex:/({)([\w\-$]+)(:)?(.+)?(})/},{token:["text","markup.list.macro","keyword","string"],regex:/(\w+)(footnote(?:ref)?::?)([^\s\[]+)?(\[.*?\])?/},{token:["markup.list.macro","keyword","string"],regex:/([a-zA-Z\-][\w\.\/\-]*::?)([^\s\[]+)(\[.*?\])?/},{token:["markup.list.macro","keyword"],regex:/([a-zA-Z\-][\w\.\/\-]+::?)(\[.*?\])/},{token:"keyword",regex:/^:.+?:(?= |$)/}],quotes:[{token:"string.italic",regex:/__[^_\s].*?__/},{token:"string.italic",regex:t("_")},{token:"keyword.bold",regex:/\*\*[^*\s].*?\*\*/},{token:"keyword.bold",regex:t("\\*")},{token:"literal",regex:t("\\+")},{token:"literal",regex:/\+\+[^+\s].*?\+\+/},{token:"literal",regex:/\$\$.+?\$\$/},{token:"literal",regex:t("`")},{token:"keyword",regex:t("^")},{token:"keyword",regex:t("~")},{token:"keyword",regex:/##?/},{token:"keyword",regex:/(?:\B|^)``|\b''/}]};var n={macro:"constant.character",tableBlock:"doc.comment",titleUnderline:"markup.heading",singleLineTitle:"markup.heading",pageBreak:"string",option:"string.regexp",otherBlock:"markup.list",literal:"support.function",optionalTitle:"constant.numeric",escape:"constant.language.escape",link:"markup.underline.list"};for(var r in this.$rules){var i=this.$rules[r];for(var s=i.length;s--;){var o=i[s];if(o.include||typeof o=="string"){var u=[s,1].concat(this.$rules[o.include||o]);o.noEscape&&(u=u.filter(function(e){return!e.next})),i.splice.apply(i,u)}else o.token in n&&(o.token=n[o.token])}}};r.inherits(s,i),t.AsciidocHighlightRules=s}),ace.define("ace/mode/folding/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:\|={10,}|[\.\/=\-~^+]{4,}\s*$|={1,5} )/,this.singleLineHeadingRe=/^={1,5}(?=\s+\S)/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="="?this.singleLineHeadingRe.test(r)?"start":e.getLine(n-1).length!=e.getLine(n).length?"":"start":e.bgTokenizer.getState(n)=="dissallowDelimitedBlock"?"end":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type}function d(){var t=f.value.match(p);if(t)return t[0].length;var r=c.indexOf(f.value[0])+1;return r==1&&e.getLine(n-1).length!=e.getLine(n).length?Infinity:r}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;var f,c=["=","-","~","^","+"],h="markup.heading",p=this.singleLineHeadingRe;if(l(n)==h){var v=d();while(++n<o){if(l(n)!=h)continue;var m=d();if(m<=v)break}var g=f&&f.value.match(this.singleLineHeadingRe);a=g?n-1:n-2;if(a>u)while(a>u&&(!l(a)||f.value[0]=="["))a--;if(a>u){var y=e.getLine(a).length;return new s(u,i,a,y)}}else{var b=e.bgTokenizer.getState(n);if(b=="dissallowDelimitedBlock"){while(n-->0)if(e.bgTokenizer.getState(n).lastIndexOf("Block")==-1)break;a=n+1;if(a<u){var y=e.getLine(n).length;return new s(a,5,u,i-5)}}else{while(++n<o)if(e.bgTokenizer.getState(n)=="dissallowDelimitedBlock")break;a=n;if(a>u){var y=e.getLine(n).length;return new s(u,5,a,y-5)}}}}}.call(o.prototype)}),ace.define("ace/mode/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/asciidoc_highlight_rules","ace/mode/folding/asciidoc"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./asciidoc_highlight_rules").AsciidocHighlightRules,o=e("./folding/asciidoc").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){if(e=="listblock"){var r=/^((?:.+)?)([-+*][ ]+)/.exec(t);return r?(new Array(r[1].length+1)).join(" ")+r[2]:""}return this.$getIndent(t)},this.$id="ace/mode/asciidoc"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-assembly_x86.js b/library/ace/mode-assembly_x86.js
new file mode 100644
index 000000000..06378b61d
--- /dev/null
+++ b/library/ace/mode-assembly_x86.js
@@ -0,0 +1 @@
+ace.define("ace/mode/assembly_x86_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.control.assembly",regex:"\\b(?:aaa|aad|aam|aas|adc|add|addpd|addps|addsd|addss|addsubpd|addsubps|aesdec|aesdeclast|aesenc|aesenclast|aesimc|aeskeygenassist|and|andpd|andps|andnpd|andnps|arpl|blendpd|blendps|blendvpd|blendvps|bound|bsf|bsr|bswap|bt|btc|btr|bts|cbw|cwde|cdqe|clc|cld|cflush|clts|cmc|cmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|cmp|cmppd|cmpps|cmps|cnpsb|cmpsw|cmpsd|cmpsq|cmpss|cmpxchg|cmpxchg8b|cmpxchg16b|comisd|comiss|cpuid|crc32|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvts2sd|cvtsi2ss|cvtss2sd|cvtss2si|cvttpd2dq|cvtpd2pi|cvttps2dq|cvttps2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|cwd|cdq|cqo|daa|das|dec|div|divpd|divps|divsd|divss|dppd|dpps|emms|enter|extractps|f2xm1|fabs|fadd|faddp|fiadd|fbld|fbstp|fchs|fclex|fnclex|fcmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|fcom|fcmop|fcompp|fcomi|fcomip|fucomi|fucomip|fcos|fdecstp|fdiv|fdivp|fidiv|fdivr|fdivrp|fidivr|ffree|ficom|ficomp|fild|fincstp|finit|fnint|fist|fistp|fisttp|fld|fld1|fldl2t|fldl2e|fldpi|fldlg2|fldln2|fldz|fldcw|fldenv|fmul|fmulp|fimul|fnop|fpatan|fprem|fprem1|fptan|frndint|frstor|fsave|fnsave|fscale|fsin|fsincos|fsqrt|fst|fstp|fstcw|fnstcw|fstenv|fnstenv|fsts|fnstsw|fsub|fsubp|fisub|fsubr|fsubrp|fisubr|ftst|fucom|fucomp|fucompp|fxam|fxch|fxrstor|fxsave|fxtract|fyl2x|fyl2xp1|haddpd|haddps|husbpd|hsubps|idiv|imul|in|inc|ins|insb|insw|insd|insertps|int|into|invd|invplg|invpcid|iret|iretd|iretq|lahf|lar|lddqu|ldmxcsr|lds|les|lfs|lgs|lss|lea|leave|lfence|lgdt|lidt|llgdt|lmsw|lock|lods|lodsb|lodsw|lodsd|lodsq|lsl|ltr|maskmovdqu|maskmovq|maxpd|maxps|maxsd|maxss|mfence|minpd|minps|minsd|minss|monitor|mov|movapd|movaps|movbe|movd|movq|movddup|movdqa|movdqu|movq2q|movhlps|movhpd|movhps|movlhps|movlpd|movlps|movmskpd|movmskps|movntdqa|movntdq|movnti|movntpd|movntps|movntq|movq|movq2dq|movs|movsb|movsw|movsd|movsq|movsd|movshdup|movsldup|movss|movsx|movsxd|movupd|movups|movzx|mpsadbw|mul|mulpd|mulps|mulsd|mulss|mwait|neg|not|or|orpd|orps|out|outs|outsb|outsw|outsd|pabsb|pabsw|pabsd|packsswb|packssdw|packusdw|packuswbpaddb|paddw|paddd|paddq|paddsb|paddsw|paddusb|paddusw|palignr|pand|pandn|pause|pavgb|pavgw|pblendvb|pblendw|pclmulqdq|pcmpeqb|pcmpeqw|pcmpeqd|pcmpeqq|pcmpestri|pcmpestrm|pcmptb|pcmptgw|pcmpgtd|pcmpgtq|pcmpistri|pcmpisrm|pextrb|pextrd|pextrq|pextrw|phaddw|phaddd|phaddsw|phinposuw|phsubw|phsubd|phsubsw|pinsrb|pinsrd|pinsrq|pinsrw|pmaddubsw|pmadddwd|pmaxsb|pmaxsd|pmaxsw|pmaxsw|pmaxub|pmaxud|pmaxuw|pminsb|pminsd|pminsw|pminub|pminud|pminuw|pmovmskb|pmovsx|pmovzx|pmuldq|pmulhrsw|pmulhuw|pmulhw|pmulld|pmullw|pmuludw|pop|popa|popad|popcnt|popf|popfd|popfq|por|prefetch|psadbw|pshufb|pshufd|pshufhw|pshuflw|pshufw|psignb|psignw|psignd|pslldq|psllw|pslld|psllq|psraw|psrad|psrldq|psrlw|psrld|psrlq|psubb|psubw|psubd|psubq|psubsb|psubsw|psubusb|psubusw|test|ptest|punpckhbw|punpckhwd|punpckhdq|punpckhddq|punpcklbw|punpcklwd|punpckldq|punpckldqd|push|pusha|pushad|pushf|pushfd|pxor|prcl|rcr|rol|ror|rcpps|rcpss|rdfsbase|rdgsbase|rdmsr|rdpmc|rdrand|rdtsc|rdtscp|rep|repe|repz|repne|repnz|roundpd|roundps|roundsd|roundss|rsm|rsqrps|rsqrtss|sahf|sal|sar|shl|shr|sbb|scas|scasb|scasw|scasd|set(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|sfence|sgdt|shld|shrd|shufpd|shufps|sidt|sldt|smsw|sqrtpd|sqrtps|sqrtsd|sqrtss|stc|std|stmxcsr|stos|stosb|stosw|stosd|stosq|str|sub|subpd|subps|subsd|subss|swapgs|syscall|sysenter|sysexit|sysret|teset|ucomisd|ucomiss|ud2|unpckhpd|unpckhps|unpcklpd|unpcklps|vbroadcast|vcvtph2ps|vcvtp2sph|verr|verw|vextractf128|vinsertf128|vmaskmov|vpermilpd|vpermilps|vperm2f128|vtestpd|vtestps|vzeroall|vzeroupper|wait|fwait|wbinvd|wrfsbase|wrgsbase|wrmsr|xadd|xchg|xgetbv|xlat|xlatb|xor|xorpd|xorps|xrstor|xsave|xsaveopt|xsetbv|lzcnt|extrq|insertq|movntsd|movntss|vfmaddpd|vfmaddps|vfmaddsd|vfmaddss|vfmaddsubbpd|vfmaddsubps|vfmsubaddpd|vfmsubaddps|vfmsubpd|vfmsubps|vfmsubsd|vfnmaddpd|vfnmaddps|vfnmaddsd|vfnmaddss|vfnmsubpd|vfnmusbps|vfnmusbsd|vfnmusbss|cvt|xor|cli|sti|hlt|nop|lock|wait|enter|leave|ret|loop(?:n?e|n?z)?|call|j(?:mp|n?e|ge?|ae?|le?|be?|n?o|n?z))\\b",caseInsensitive:!0},{token:"variable.parameter.register.assembly",regex:"\\b(?:CS|DS|ES|FS|GS|SS|RAX|EAX|RBX|EBX|RCX|ECX|RDX|EDX|RCX|RIP|EIP|IP|RSP|ESP|SP|RSI|ESI|SI|RDI|EDI|DI|RFLAGS|EFLAGS|FLAGS|R8-15|(?:Y|X)MM(?:[0-9]|10|11|12|13|14|15)|(?:A|B|C|D)(?:X|H|L)|CR(?:[0-4]|DR(?:[0-7]|TR6|TR7|EFER)))\\b",caseInsensitive:!0},{token:"constant.character.decimal.assembly",regex:"\\b[0-9]+\\b"},{token:"constant.character.hexadecimal.assembly",regex:"\\b0x[A-F0-9]+\\b",caseInsensitive:!0},{token:"constant.character.hexadecimal.assembly",regex:"\\b[A-F0-9]+h\\b",caseInsensitive:!0},{token:"string.assembly",regex:/'([^\\']|\\.)*'/},{token:"string.assembly",regex:/"([^\\"]|\\.)*"/},{token:"support.function.directive.assembly",regex:"^\\[",push:[{token:"support.function.directive.assembly",regex:"\\]$",next:"pop"},{defaultToken:"support.function.directive.assembly"}]},{token:["support.function.directive.assembly","support.function.directive.assembly","entity.name.function.assembly"],regex:"(^struc)( )([_a-zA-Z][_a-zA-Z0-9]*)"},{token:"support.function.directive.assembly",regex:"^endstruc\\b"},{token:["support.function.directive.assembly","entity.name.function.assembly","support.function.directive.assembly","constant.character.assembly"],regex:"^(%macro )([_a-zA-Z][_a-zA-Z0-9]*)( )([0-9]+)"},{token:"support.function.directive.assembly",regex:"^%endmacro"},{token:["text","support.function.directive.assembly","text","entity.name.function.assembly"],regex:"(\\s*)(%define|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\\$\\$|\\$|%unmacro|%if|%elif|%else|%endif|%(?:el)?ifdef|%(?:el)?ifmacro|%(?:el)?ifctx|%(?:el)?ifidn|%(?:el)?ifidni|%(?:el)?ifid|%(?:el)?ifnum|%(?:el)?ifstr|%(?:el)?iftoken|%(?:el)?ifempty|%(?:el)?ifenv|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS 16|BITS 32|BITS 64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT)\\b( ?)((?:[_a-zA-Z][_a-zA-Z0-9]*)?)",caseInsensitive:!0},{token:"support.function.directive.assembly",regex:"\\b(?:d[bwdqtoy]|res[bwdqto]|equ|times|align|alignb|sectalign|section|ptr|byte|word|dword|qword|incbin)\\b",caseInsensitive:!0},{token:"entity.name.function.assembly",regex:"^\\s*%%[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^\\s*%\\$[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?:"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?\\b"},{token:"comment.assembly",regex:";.*$"}]},this.normalizeRules()};s.metaData={fileTypes:["asm"],name:"Assembly x86",scopeName:"source.assembly"},r.inherits(s,i),t.AssemblyX86HighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/assembly_x86",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/assembly_x86_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./assembly_x86_highlight_rules").AssemblyX86HighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart=";",this.$id="ace/mode/assembly_x86"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-autohotkey.js b/library/ace/mode-autohotkey.js
new file mode 100644
index 000000000..a961036ea
--- /dev/null
+++ b/library/ace/mode-autohotkey.js
@@ -0,0 +1 @@
+ace.define("ace/mode/autohotkey_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="And|ByRef|Case|Const|ContinueCase|ContinueLoop|Default|Dim|Do|Else|ElseIf|EndFunc|EndIf|EndSelect|EndSwitch|EndWith|Enum|Exit|ExitLoop|False|For|Func|Global|If|In|Local|Next|Not|Or|ReDim|Return|Select|Step|Switch|Then|To|True|Until|WEnd|While|With|Abs|ACos|AdlibDisable|AdlibEnable|Asc|AscW|ASin|Assign|ATan|AutoItSetOption|AutoItWinGetTitle|AutoItWinSetTitle|Beep|Binary|BinaryLen|BinaryMid|BinaryToString|BitAND|BitNOT|BitOR|BitRotate|BitShift|BitXOR|BlockInput|Break|Call|CDTray|Ceiling|Chr|ChrW|ClipGet|ClipPut|ConsoleRead|ConsoleWrite|ConsoleWriteError|ControlClick|ControlCommand|ControlDisable|ControlEnable|ControlFocus|ControlGetFocus|ControlGetHandle|ControlGetPos|ControlGetText|ControlHide|ControlListView|ControlMove|ControlSend|ControlSetText|ControlShow|ControlTreeView|Cos|Dec|DirCopy|DirCreate|DirGetSize|DirMove|DirRemove|DllCall|DllCallbackFree|DllCallbackGetPtr|DllCallbackRegister|DllClose|DllOpen|DllStructCreate|DllStructGetData|DllStructGetPtr|DllStructGetSize|DllStructSetData|DriveGetDrive|DriveGetFileSystem|DriveGetLabel|DriveGetSerial|DriveGetType|DriveMapAdd|DriveMapDel|DriveMapGet|DriveSetLabel|DriveSpaceFree|DriveSpaceTotal|DriveStatus|EnvGet|EnvSet|EnvUpdate|Eval|Execute|Exp|FileChangeDir|FileClose|FileCopy|FileCreateNTFSLink|FileCreateShortcut|FileDelete|FileExists|FileFindFirstFile|FileFindNextFile|FileGetAttrib|FileGetLongName|FileGetShortcut|FileGetShortName|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileOpen|FileOpenDialog|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileSaveDialog|FileSelectFolder|FileSetAttrib|FileSetTime|FileWrite|FileWriteLine|Floor|FtpSetProxy|GUICreate|GUICtrlCreateAvi|GUICtrlCreateButton|GUICtrlCreateCheckbox|GUICtrlCreateCombo|GUICtrlCreateContextMenu|GUICtrlCreateDate|GUICtrlCreateDummy|GUICtrlCreateEdit|GUICtrlCreateGraphic|GUICtrlCreateGroup|GUICtrlCreateIcon|GUICtrlCreateInput|GUICtrlCreateLabel|GUICtrlCreateList|GUICtrlCreateListView|GUICtrlCreateListViewItem|GUICtrlCreateMenu|GUICtrlCreateMenuItem|GUICtrlCreateMonthCal|GUICtrlCreateObj|GUICtrlCreatePic|GUICtrlCreateProgress|GUICtrlCreateRadio|GUICtrlCreateSlider|GUICtrlCreateTab|GUICtrlCreateTabItem|GUICtrlCreateTreeView|GUICtrlCreateTreeViewItem|GUICtrlCreateUpdown|GUICtrlDelete|GUICtrlGetHandle|GUICtrlGetState|GUICtrlRead|GUICtrlRecvMsg|GUICtrlRegisterListViewSort|GUICtrlSendMsg|GUICtrlSendToDummy|GUICtrlSetBkColor|GUICtrlSetColor|GUICtrlSetCursor|GUICtrlSetData|GUICtrlSetFont|GUICtrlSetDefColor|GUICtrlSetDefBkColor|GUICtrlSetGraphic|GUICtrlSetImage|GUICtrlSetLimit|GUICtrlSetOnEvent|GUICtrlSetPos|GUICtrlSetResizing|GUICtrlSetState|GUICtrlSetStyle|GUICtrlSetTip|GUIDelete|GUIGetCursorInfo|GUIGetMsg|GUIGetStyle|GUIRegisterMsg|GUISetAccelerators()|GUISetBkColor|GUISetCoord|GUISetCursor|GUISetFont|GUISetHelp|GUISetIcon|GUISetOnEvent|GUISetState|GUISetStyle|GUIStartGroup|GUISwitch|Hex|HotKeySet|HttpSetProxy|HWnd|InetGet|InetGetSize|IniDelete|IniRead|IniReadSection|IniReadSectionNames|IniRenameSection|IniWrite|IniWriteSection|InputBox|Int|IsAdmin|IsArray|IsBinary|IsBool|IsDeclared|IsDllStruct|IsFloat|IsHWnd|IsInt|IsKeyword|IsNumber|IsObj|IsPtr|IsString|Log|MemGetStats|Mod|MouseClick|MouseClickDrag|MouseDown|MouseGetCursor|MouseGetPos|MouseMove|MouseUp|MouseWheel|MsgBox|Number|ObjCreate|ObjEvent|ObjGet|ObjName|Opt|Ping|PixelChecksum|PixelGetColor|PixelSearch|PluginClose|PluginOpen|ProcessClose|ProcessExists|ProcessGetStats|ProcessList|ProcessSetPriority|ProcessWait|ProcessWaitClose|ProgressOff|ProgressOn|ProgressSet|Ptr|Random|RegDelete|RegEnumKey|RegEnumVal|RegRead|RegWrite|Round|Run|RunAs|RunAsWait|RunWait|Send|SendKeepActive|SetError|SetExtended|ShellExecute|ShellExecuteWait|Shutdown|Sin|Sleep|SoundPlay|SoundSetWaveVolume|SplashImageOn|SplashOff|SplashTextOn|Sqrt|SRandom|StatusbarGetText|StderrRead|StdinWrite|StdioClose|StdoutRead|String|StringAddCR|StringCompare|StringFormat|StringInStr|StringIsAlNum|StringIsAlpha|StringIsASCII|StringIsDigit|StringIsFloat|StringIsInt|StringIsLower|StringIsSpace|StringIsUpper|StringIsXDigit|StringLeft|StringLen|StringLower|StringMid|StringRegExp|StringRegExpReplace|StringReplace|StringRight|StringSplit|StringStripCR|StringStripWS|StringToBinary|StringTrimLeft|StringTrimRight|StringUpper|Tan|TCPAccept|TCPCloseSocket|TCPConnect|TCPListen|TCPNameToIP|TCPRecv|TCPSend|TCPShutdown|TCPStartup|TimerDiff|TimerInit|ToolTip|TrayCreateItem|TrayCreateMenu|TrayGetMsg|TrayItemDelete|TrayItemGetHandle|TrayItemGetState|TrayItemGetText|TrayItemSetOnEvent|TrayItemSetState|TrayItemSetText|TraySetClick|TraySetIcon|TraySetOnEvent|TraySetPauseIcon|TraySetState|TraySetToolTip|TrayTip|UBound|UDPBind|UDPCloseSocket|UDPOpen|UDPRecv|UDPSend|UDPShutdown|UDPStartup|VarGetType|WinActivate|WinActive|WinClose|WinExists|WinFlash|WinGetCaretPos|WinGetClassList|WinGetClientSize|WinGetHandle|WinGetPos|WinGetProcess|WinGetState|WinGetText|WinGetTitle|WinKill|WinList|WinMenuSelectItem|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinSetOnTop|WinSetState|WinSetTitle|WinSetTrans|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive|ArrayAdd|ArrayBinarySearch|ArrayConcatenate|ArrayDelete|ArrayDisplay|ArrayFindAll|ArrayInsert|ArrayMax|ArrayMaxIndex|ArrayMin|ArrayMinIndex|ArrayPop|ArrayPush|ArrayReverse|ArraySearch|ArraySort|ArraySwap|ArrayToClip|ArrayToString|ArrayTrim|ChooseColor|ChooseFont|ClipBoard_ChangeChain|ClipBoard_Close|ClipBoard_CountFormats|ClipBoard_Empty|ClipBoard_EnumFormats|ClipBoard_FormatStr|ClipBoard_GetData|ClipBoard_GetDataEx|ClipBoard_GetFormatName|ClipBoard_GetOpenWindow|ClipBoard_GetOwner|ClipBoard_GetPriorityFormat|ClipBoard_GetSequenceNumber|ClipBoard_GetViewer|ClipBoard_IsFormatAvailable|ClipBoard_Open|ClipBoard_RegisterFormat|ClipBoard_SetData|ClipBoard_SetDataEx|ClipBoard_SetViewer|ClipPutFile|ColorConvertHSLtoRGB|ColorConvertRGBtoHSL|ColorGetBlue|ColorGetGreen|ColorGetRed|Date_Time_CompareFileTime|Date_Time_DOSDateTimeToArray|Date_Time_DOSDateTimeToFileTime|Date_Time_DOSDateTimeToStr|Date_Time_DOSDateToArray|Date_Time_DOSDateToStr|Date_Time_DOSTimeToArray|Date_Time_DOSTimeToStr|Date_Time_EncodeFileTime|Date_Time_EncodeSystemTime|Date_Time_FileTimeToArray|Date_Time_FileTimeToDOSDateTime|Date_Time_FileTimeToLocalFileTime|Date_Time_FileTimeToStr|Date_Time_FileTimeToSystemTime|Date_Time_GetFileTime|Date_Time_GetLocalTime|Date_Time_GetSystemTime|Date_Time_GetSystemTimeAdjustment|Date_Time_GetSystemTimeAsFileTime|Date_Time_GetSystemTimes|Date_Time_GetTickCount|Date_Time_GetTimeZoneInformation|Date_Time_LocalFileTimeToFileTime|Date_Time_SetFileTime|Date_Time_SetLocalTime|Date_Time_SetSystemTime|Date_Time_SetSystemTimeAdjustment|Date_Time_SetTimeZoneInformation|Date_Time_SystemTimeToArray|Date_Time_SystemTimeToDateStr|Date_Time_SystemTimeToDateTimeStr|Date_Time_SystemTimeToFileTime|Date_Time_SystemTimeToTimeStr|Date_Time_SystemTimeToTzSpecificLocalTime|Date_Time_TzSpecificLocalTimeToSystemTime|DateAdd|DateDayOfWeek|DateDaysInMonth|DateDiff|DateIsLeapYear|DateIsValid|DateTimeFormat|DateTimeSplit|DateToDayOfWeek|DateToDayOfWeekISO|DateToDayValue|DateToMonth|DayValueToDate|DebugBugReportEnv|DebugOut|DebugSetup|Degree|EventLog__Backup|EventLog__Clear|EventLog__Close|EventLog__Count|EventLog__DeregisterSource|EventLog__Full|EventLog__Notify|EventLog__Oldest|EventLog__Open|EventLog__OpenBackup|EventLog__Read|EventLog__RegisterSource|EventLog__Report|FileCountLines|FileCreate|FileListToArray|FilePrint|FileReadToArray|FileWriteFromArray|FileWriteLog|FileWriteToLine|GDIPlus_ArrowCapCreate|GDIPlus_ArrowCapDispose|GDIPlus_ArrowCapGetFillState|GDIPlus_ArrowCapGetHeight|GDIPlus_ArrowCapGetMiddleInset|GDIPlus_ArrowCapGetWidth|GDIPlus_ArrowCapSetFillState|GDIPlus_ArrowCapSetHeight|GDIPlus_ArrowCapSetMiddleInset|GDIPlus_ArrowCapSetWidth|GDIPlus_BitmapCloneArea|GDIPlus_BitmapCreateFromFile|GDIPlus_BitmapCreateFromGraphics|GDIPlus_BitmapCreateFromHBITMAP|GDIPlus_BitmapCreateHBITMAPFromBitmap|GDIPlus_BitmapDispose|GDIPlus_BitmapLockBits|GDIPlus_BitmapUnlockBits|GDIPlus_BrushClone|GDIPlus_BrushCreateSolid|GDIPlus_BrushDispose|GDIPlus_BrushGetType|GDIPlus_CustomLineCapDispose|GDIPlus_Decoders|GDIPlus_DecodersGetCount|GDIPlus_DecodersGetSize|GDIPlus_Encoders|GDIPlus_EncodersGetCLSID|GDIPlus_EncodersGetCount|GDIPlus_EncodersGetParamList|GDIPlus_EncodersGetParamListSize|GDIPlus_EncodersGetSize|GDIPlus_FontCreate|GDIPlus_FontDispose|GDIPlus_FontFamilyCreate|GDIPlus_FontFamilyDispose|GDIPlus_GraphicsClear|GDIPlus_GraphicsCreateFromHDC|GDIPlus_GraphicsCreateFromHWND|GDIPlus_GraphicsDispose|GDIPlus_GraphicsDrawArc|GDIPlus_GraphicsDrawBezier|GDIPlus_GraphicsDrawClosedCurve|GDIPlus_GraphicsDrawCurve|GDIPlus_GraphicsDrawEllipse|GDIPlus_GraphicsDrawImage|GDIPlus_GraphicsDrawImageRect|GDIPlus_GraphicsDrawImageRectRect|GDIPlus_GraphicsDrawLine|GDIPlus_GraphicsDrawPie|GDIPlus_GraphicsDrawPolygon|GDIPlus_GraphicsDrawRect|GDIPlus_GraphicsDrawString|GDIPlus_GraphicsDrawStringEx|GDIPlus_GraphicsFillClosedCurve|GDIPlus_GraphicsFillEllipse|GDIPlus_GraphicsFillPie|GDIPlus_GraphicsFillRect|GDIPlus_GraphicsGetDC|GDIPlus_GraphicsGetSmoothingMode|GDIPlus_GraphicsMeasureString|GDIPlus_GraphicsReleaseDC|GDIPlus_GraphicsSetSmoothingMode|GDIPlus_GraphicsSetTransform|GDIPlus_ImageDispose|GDIPlus_ImageGetGraphicsContext|GDIPlus_ImageGetHeight|GDIPlus_ImageGetWidth|GDIPlus_ImageLoadFromFile|GDIPlus_ImageSaveToFile|GDIPlus_ImageSaveToFileEx|GDIPlus_MatrixCreate|GDIPlus_MatrixDispose|GDIPlus_MatrixRotate|GDIPlus_ParamAdd|GDIPlus_ParamInit|GDIPlus_PenCreate|GDIPlus_PenDispose|GDIPlus_PenGetAlignment|GDIPlus_PenGetColor|GDIPlus_PenGetCustomEndCap|GDIPlus_PenGetDashCap|GDIPlus_PenGetDashStyle|GDIPlus_PenGetEndCap|GDIPlus_PenGetWidth|GDIPlus_PenSetAlignment|GDIPlus_PenSetColor|GDIPlus_PenSetCustomEndCap|GDIPlus_PenSetDashCap|GDIPlus_PenSetDashStyle|GDIPlus_PenSetEndCap|GDIPlus_PenSetWidth|GDIPlus_RectFCreate|GDIPlus_Shutdown|GDIPlus_Startup|GDIPlus_StringFormatCreate|GDIPlus_StringFormatDispose|GetIP|GUICtrlAVI_Close|GUICtrlAVI_Create|GUICtrlAVI_Destroy|GUICtrlAVI_Open|GUICtrlAVI_OpenEx|GUICtrlAVI_Play|GUICtrlAVI_Seek|GUICtrlAVI_Show|GUICtrlAVI_Stop|GUICtrlButton_Click|GUICtrlButton_Create|GUICtrlButton_Destroy|GUICtrlButton_Enable|GUICtrlButton_GetCheck|GUICtrlButton_GetFocus|GUICtrlButton_GetIdealSize|GUICtrlButton_GetImage|GUICtrlButton_GetImageList|GUICtrlButton_GetState|GUICtrlButton_GetText|GUICtrlButton_GetTextMargin|GUICtrlButton_SetCheck|GUICtrlButton_SetFocus|GUICtrlButton_SetImage|GUICtrlButton_SetImageList|GUICtrlButton_SetSize|GUICtrlButton_SetState|GUICtrlButton_SetStyle|GUICtrlButton_SetText|GUICtrlButton_SetTextMargin|GUICtrlButton_Show|GUICtrlComboBox_AddDir|GUICtrlComboBox_AddString|GUICtrlComboBox_AutoComplete|GUICtrlComboBox_BeginUpdate|GUICtrlComboBox_Create|GUICtrlComboBox_DeleteString|GUICtrlComboBox_Destroy|GUICtrlComboBox_EndUpdate|GUICtrlComboBox_FindString|GUICtrlComboBox_FindStringExact|GUICtrlComboBox_GetComboBoxInfo|GUICtrlComboBox_GetCount|GUICtrlComboBox_GetCurSel|GUICtrlComboBox_GetDroppedControlRect|GUICtrlComboBox_GetDroppedControlRectEx|GUICtrlComboBox_GetDroppedState|GUICtrlComboBox_GetDroppedWidth|GUICtrlComboBox_GetEditSel|GUICtrlComboBox_GetEditText|GUICtrlComboBox_GetExtendedUI|GUICtrlComboBox_GetHorizontalExtent|GUICtrlComboBox_GetItemHeight|GUICtrlComboBox_GetLBText|GUICtrlComboBox_GetLBTextLen|GUICtrlComboBox_GetList|GUICtrlComboBox_GetListArray|GUICtrlComboBox_GetLocale|GUICtrlComboBox_GetLocaleCountry|GUICtrlComboBox_GetLocaleLang|GUICtrlComboBox_GetLocalePrimLang|GUICtrlComboBox_GetLocaleSubLang|GUICtrlComboBox_GetMinVisible|GUICtrlComboBox_GetTopIndex|GUICtrlComboBox_InitStorage|GUICtrlComboBox_InsertString|GUICtrlComboBox_LimitText|GUICtrlComboBox_ReplaceEditSel|GUICtrlComboBox_ResetContent|GUICtrlComboBox_SelectString|GUICtrlComboBox_SetCurSel|GUICtrlComboBox_SetDroppedWidth|GUICtrlComboBox_SetEditSel|GUICtrlComboBox_SetEditText|GUICtrlComboBox_SetExtendedUI|GUICtrlComboBox_SetHorizontalExtent|GUICtrlComboBox_SetItemHeight|GUICtrlComboBox_SetMinVisible|GUICtrlComboBox_SetTopIndex|GUICtrlComboBox_ShowDropDown|GUICtrlComboBoxEx_AddDir|GUICtrlComboBoxEx_AddString|GUICtrlComboBoxEx_BeginUpdate|GUICtrlComboBoxEx_Create|GUICtrlComboBoxEx_CreateSolidBitMap|GUICtrlComboBoxEx_DeleteString|GUICtrlComboBoxEx_Destroy|GUICtrlComboBoxEx_EndUpdate|GUICtrlComboBoxEx_FindStringExact|GUICtrlComboBoxEx_GetComboBoxInfo|GUICtrlComboBoxEx_GetComboControl|GUICtrlComboBoxEx_GetCount|GUICtrlComboBoxEx_GetCurSel|GUICtrlComboBoxEx_GetDroppedControlRect|GUICtrlComboBoxEx_GetDroppedControlRectEx|GUICtrlComboBoxEx_GetDroppedState|GUICtrlComboBoxEx_GetDroppedWidth|GUICtrlComboBoxEx_GetEditControl|GUICtrlComboBoxEx_GetEditSel|GUICtrlComboBoxEx_GetEditText|GUICtrlComboBoxEx_GetExtendedStyle|GUICtrlComboBoxEx_GetExtendedUI|GUICtrlComboBoxEx_GetImageList|GUICtrlComboBoxEx_GetItem|GUICtrlComboBoxEx_GetItemEx|GUICtrlComboBoxEx_GetItemHeight|GUICtrlComboBoxEx_GetItemImage|GUICtrlComboBoxEx_GetItemIndent|GUICtrlComboBoxEx_GetItemOverlayImage|GUICtrlComboBoxEx_GetItemParam|GUICtrlComboBoxEx_GetItemSelectedImage|GUICtrlComboBoxEx_GetItemText|GUICtrlComboBoxEx_GetItemTextLen|GUICtrlComboBoxEx_GetList|GUICtrlComboBoxEx_GetListArray|GUICtrlComboBoxEx_GetLocale|GUICtrlComboBoxEx_GetLocaleCountry|GUICtrlComboBoxEx_GetLocaleLang|GUICtrlComboBoxEx_GetLocalePrimLang|GUICtrlComboBoxEx_GetLocaleSubLang|GUICtrlComboBoxEx_GetMinVisible|GUICtrlComboBoxEx_GetTopIndex|GUICtrlComboBoxEx_InitStorage|GUICtrlComboBoxEx_InsertString|GUICtrlComboBoxEx_LimitText|GUICtrlComboBoxEx_ReplaceEditSel|GUICtrlComboBoxEx_ResetContent|GUICtrlComboBoxEx_SetCurSel|GUICtrlComboBoxEx_SetDroppedWidth|GUICtrlComboBoxEx_SetEditSel|GUICtrlComboBoxEx_SetEditText|GUICtrlComboBoxEx_SetExtendedStyle|GUICtrlComboBoxEx_SetExtendedUI|GUICtrlComboBoxEx_SetImageList|GUICtrlComboBoxEx_SetItem|GUICtrlComboBoxEx_SetItemEx|GUICtrlComboBoxEx_SetItemHeight|GUICtrlComboBoxEx_SetItemImage|GUICtrlComboBoxEx_SetItemIndent|GUICtrlComboBoxEx_SetItemOverlayImage|GUICtrlComboBoxEx_SetItemParam|GUICtrlComboBoxEx_SetItemSelectedImage|GUICtrlComboBoxEx_SetMinVisible|GUICtrlComboBoxEx_SetTopIndex|GUICtrlComboBoxEx_ShowDropDown|GUICtrlDTP_Create|GUICtrlDTP_Destroy|GUICtrlDTP_GetMCColor|GUICtrlDTP_GetMCFont|GUICtrlDTP_GetMonthCal|GUICtrlDTP_GetRange|GUICtrlDTP_GetRangeEx|GUICtrlDTP_GetSystemTime|GUICtrlDTP_GetSystemTimeEx|GUICtrlDTP_SetFormat|GUICtrlDTP_SetMCColor|GUICtrlDTP_SetMCFont|GUICtrlDTP_SetRange|GUICtrlDTP_SetRangeEx|GUICtrlDTP_SetSystemTime|GUICtrlDTP_SetSystemTimeEx|GUICtrlEdit_AppendText|GUICtrlEdit_BeginUpdate|GUICtrlEdit_CanUndo|GUICtrlEdit_CharFromPos|GUICtrlEdit_Create|GUICtrlEdit_Destroy|GUICtrlEdit_EmptyUndoBuffer|GUICtrlEdit_EndUpdate|GUICtrlEdit_Find|GUICtrlEdit_FmtLines|GUICtrlEdit_GetFirstVisibleLine|GUICtrlEdit_GetLimitText|GUICtrlEdit_GetLine|GUICtrlEdit_GetLineCount|GUICtrlEdit_GetMargins|GUICtrlEdit_GetModify|GUICtrlEdit_GetPasswordChar|GUICtrlEdit_GetRECT|GUICtrlEdit_GetRECTEx|GUICtrlEdit_GetSel|GUICtrlEdit_GetText|GUICtrlEdit_GetTextLen|GUICtrlEdit_HideBalloonTip|GUICtrlEdit_InsertText|GUICtrlEdit_LineFromChar|GUICtrlEdit_LineIndex|GUICtrlEdit_LineLength|GUICtrlEdit_LineScroll|GUICtrlEdit_PosFromChar|GUICtrlEdit_ReplaceSel|GUICtrlEdit_Scroll|GUICtrlEdit_SetLimitText|GUICtrlEdit_SetMargins|GUICtrlEdit_SetModify|GUICtrlEdit_SetPasswordChar|GUICtrlEdit_SetReadOnly|GUICtrlEdit_SetRECT|GUICtrlEdit_SetRECTEx|GUICtrlEdit_SetRECTNP|GUICtrlEdit_SetRectNPEx|GUICtrlEdit_SetSel|GUICtrlEdit_SetTabStops|GUICtrlEdit_SetText|GUICtrlEdit_ShowBalloonTip|GUICtrlEdit_Undo|GUICtrlHeader_AddItem|GUICtrlHeader_ClearFilter|GUICtrlHeader_ClearFilterAll|GUICtrlHeader_Create|GUICtrlHeader_CreateDragImage|GUICtrlHeader_DeleteItem|GUICtrlHeader_Destroy|GUICtrlHeader_EditFilter|GUICtrlHeader_GetBitmapMargin|GUICtrlHeader_GetImageList|GUICtrlHeader_GetItem|GUICtrlHeader_GetItemAlign|GUICtrlHeader_GetItemBitmap|GUICtrlHeader_GetItemCount|GUICtrlHeader_GetItemDisplay|GUICtrlHeader_GetItemFlags|GUICtrlHeader_GetItemFormat|GUICtrlHeader_GetItemImage|GUICtrlHeader_GetItemOrder|GUICtrlHeader_GetItemParam|GUICtrlHeader_GetItemRect|GUICtrlHeader_GetItemRectEx|GUICtrlHeader_GetItemText|GUICtrlHeader_GetItemWidth|GUICtrlHeader_GetOrderArray|GUICtrlHeader_GetUnicodeFormat|GUICtrlHeader_HitTest|GUICtrlHeader_InsertItem|GUICtrlHeader_Layout|GUICtrlHeader_OrderToIndex|GUICtrlHeader_SetBitmapMargin|GUICtrlHeader_SetFilterChangeTimeout|GUICtrlHeader_SetHotDivider|GUICtrlHeader_SetImageList|GUICtrlHeader_SetItem|GUICtrlHeader_SetItemAlign|GUICtrlHeader_SetItemBitmap|GUICtrlHeader_SetItemDisplay|GUICtrlHeader_SetItemFlags|GUICtrlHeader_SetItemFormat|GUICtrlHeader_SetItemImage|GUICtrlHeader_SetItemOrder|GUICtrlHeader_SetItemParam|GUICtrlHeader_SetItemText|GUICtrlHeader_SetItemWidth|GUICtrlHeader_SetOrderArray|GUICtrlHeader_SetUnicodeFormat|GUICtrlIpAddress_ClearAddress|GUICtrlIpAddress_Create|GUICtrlIpAddress_Destroy|GUICtrlIpAddress_Get|GUICtrlIpAddress_GetArray|GUICtrlIpAddress_GetEx|GUICtrlIpAddress_IsBlank|GUICtrlIpAddress_Set|GUICtrlIpAddress_SetArray|GUICtrlIpAddress_SetEx|GUICtrlIpAddress_SetFocus|GUICtrlIpAddress_SetFont|GUICtrlIpAddress_SetRange|GUICtrlIpAddress_ShowHide|GUICtrlListBox_AddFile|GUICtrlListBox_AddString|GUICtrlListBox_BeginUpdate|GUICtrlListBox_Create|GUICtrlListBox_DeleteString|GUICtrlListBox_Destroy|GUICtrlListBox_Dir|GUICtrlListBox_EndUpdate|GUICtrlListBox_FindInText|GUICtrlListBox_FindString|GUICtrlListBox_GetAnchorIndex|GUICtrlListBox_GetCaretIndex|GUICtrlListBox_GetCount|GUICtrlListBox_GetCurSel|GUICtrlListBox_GetHorizontalExtent|GUICtrlListBox_GetItemData|GUICtrlListBox_GetItemHeight|GUICtrlListBox_GetItemRect|GUICtrlListBox_GetItemRectEx|GUICtrlListBox_GetListBoxInfo|GUICtrlListBox_GetLocale|GUICtrlListBox_GetLocaleCountry|GUICtrlListBox_GetLocaleLang|GUICtrlListBox_GetLocalePrimLang|GUICtrlListBox_GetLocaleSubLang|GUICtrlListBox_GetSel|GUICtrlListBox_GetSelCount|GUICtrlListBox_GetSelItems|GUICtrlListBox_GetSelItemsText|GUICtrlListBox_GetText|GUICtrlListBox_GetTextLen|GUICtrlListBox_GetTopIndex|GUICtrlListBox_InitStorage|GUICtrlListBox_InsertString|GUICtrlListBox_ItemFromPoint|GUICtrlListBox_ReplaceString|GUICtrlListBox_ResetContent|GUICtrlListBox_SelectString|GUICtrlListBox_SelItemRange|GUICtrlListBox_SelItemRangeEx|GUICtrlListBox_SetAnchorIndex|GUICtrlListBox_SetCaretIndex|GUICtrlListBox_SetColumnWidth|GUICtrlListBox_SetCurSel|GUICtrlListBox_SetHorizontalExtent|GUICtrlListBox_SetItemData|GUICtrlListBox_SetItemHeight|GUICtrlListBox_SetLocale|GUICtrlListBox_SetSel|GUICtrlListBox_SetTabStops|GUICtrlListBox_SetTopIndex|GUICtrlListBox_Sort|GUICtrlListBox_SwapString|GUICtrlListBox_UpdateHScroll|GUICtrlListView_AddArray|GUICtrlListView_AddColumn|GUICtrlListView_AddItem|GUICtrlListView_AddSubItem|GUICtrlListView_ApproximateViewHeight|GUICtrlListView_ApproximateViewRect|GUICtrlListView_ApproximateViewWidth|GUICtrlListView_Arrange|GUICtrlListView_BeginUpdate|GUICtrlListView_CancelEditLabel|GUICtrlListView_ClickItem|GUICtrlListView_CopyItems|GUICtrlListView_Create|GUICtrlListView_CreateDragImage|GUICtrlListView_CreateSolidBitMap|GUICtrlListView_DeleteAllItems|GUICtrlListView_DeleteColumn|GUICtrlListView_DeleteItem|GUICtrlListView_DeleteItemsSelected|GUICtrlListView_Destroy|GUICtrlListView_DrawDragImage|GUICtrlListView_EditLabel|GUICtrlListView_EnableGroupView|GUICtrlListView_EndUpdate|GUICtrlListView_EnsureVisible|GUICtrlListView_FindInText|GUICtrlListView_FindItem|GUICtrlListView_FindNearest|GUICtrlListView_FindParam|GUICtrlListView_FindText|GUICtrlListView_GetBkColor|GUICtrlListView_GetBkImage|GUICtrlListView_GetCallbackMask|GUICtrlListView_GetColumn|GUICtrlListView_GetColumnCount|GUICtrlListView_GetColumnOrder|GUICtrlListView_GetColumnOrderArray|GUICtrlListView_GetColumnWidth|GUICtrlListView_GetCounterPage|GUICtrlListView_GetEditControl|GUICtrlListView_GetExtendedListViewStyle|GUICtrlListView_GetGroupInfo|GUICtrlListView_GetGroupViewEnabled|GUICtrlListView_GetHeader|GUICtrlListView_GetHotCursor|GUICtrlListView_GetHotItem|GUICtrlListView_GetHoverTime|GUICtrlListView_GetImageList|GUICtrlListView_GetISearchString|GUICtrlListView_GetItem|GUICtrlListView_GetItemChecked|GUICtrlListView_GetItemCount|GUICtrlListView_GetItemCut|GUICtrlListView_GetItemDropHilited|GUICtrlListView_GetItemEx|GUICtrlListView_GetItemFocused|GUICtrlListView_GetItemGroupID|GUICtrlListView_GetItemImage|GUICtrlListView_GetItemIndent|GUICtrlListView_GetItemParam|GUICtrlListView_GetItemPosition|GUICtrlListView_GetItemPositionX|GUICtrlListView_GetItemPositionY|GUICtrlListView_GetItemRect|GUICtrlListView_GetItemRectEx|GUICtrlListView_GetItemSelected|GUICtrlListView_GetItemSpacing|GUICtrlListView_GetItemSpacingX|GUICtrlListView_GetItemSpacingY|GUICtrlListView_GetItemState|GUICtrlListView_GetItemStateImage|GUICtrlListView_GetItemText|GUICtrlListView_GetItemTextArray|GUICtrlListView_GetItemTextString|GUICtrlListView_GetNextItem|GUICtrlListView_GetNumberOfWorkAreas|GUICtrlListView_GetOrigin|GUICtrlListView_GetOriginX|GUICtrlListView_GetOriginY|GUICtrlListView_GetOutlineColor|GUICtrlListView_GetSelectedColumn|GUICtrlListView_GetSelectedCount|GUICtrlListView_GetSelectedIndices|GUICtrlListView_GetSelectionMark|GUICtrlListView_GetStringWidth|GUICtrlListView_GetSubItemRect|GUICtrlListView_GetTextBkColor|GUICtrlListView_GetTextColor|GUICtrlListView_GetToolTips|GUICtrlListView_GetTopIndex|GUICtrlListView_GetUnicodeFormat|GUICtrlListView_GetView|GUICtrlListView_GetViewDetails|GUICtrlListView_GetViewLarge|GUICtrlListView_GetViewList|GUICtrlListView_GetViewRect|GUICtrlListView_GetViewSmall|GUICtrlListView_GetViewTile|GUICtrlListView_HideColumn|GUICtrlListView_HitTest|GUICtrlListView_InsertColumn|GUICtrlListView_InsertGroup|GUICtrlListView_InsertItem|GUICtrlListView_JustifyColumn|GUICtrlListView_MapIDToIndex|GUICtrlListView_MapIndexToID|GUICtrlListView_RedrawItems|GUICtrlListView_RegisterSortCallBack|GUICtrlListView_RemoveAllGroups|GUICtrlListView_RemoveGroup|GUICtrlListView_Scroll|GUICtrlListView_SetBkColor|GUICtrlListView_SetBkImage|GUICtrlListView_SetCallBackMask|GUICtrlListView_SetColumn|GUICtrlListView_SetColumnOrder|GUICtrlListView_SetColumnOrderArray|GUICtrlListView_SetColumnWidth|GUICtrlListView_SetExtendedListViewStyle|GUICtrlListView_SetGroupInfo|GUICtrlListView_SetHotItem|GUICtrlListView_SetHoverTime|GUICtrlListView_SetIconSpacing|GUICtrlListView_SetImageList|GUICtrlListView_SetItem|GUICtrlListView_SetItemChecked|GUICtrlListView_SetItemCount|GUICtrlListView_SetItemCut|GUICtrlListView_SetItemDropHilited|GUICtrlListView_SetItemEx|GUICtrlListView_SetItemFocused|GUICtrlListView_SetItemGroupID|GUICtrlListView_SetItemImage|GUICtrlListView_SetItemIndent|GUICtrlListView_SetItemParam|GUICtrlListView_SetItemPosition|GUICtrlListView_SetItemPosition32|GUICtrlListView_SetItemSelected|GUICtrlListView_SetItemState|GUICtrlListView_SetItemStateImage|GUICtrlListView_SetItemText|GUICtrlListView_SetOutlineColor|GUICtrlListView_SetSelectedColumn|GUICtrlListView_SetSelectionMark|GUICtrlListView_SetTextBkColor|GUICtrlListView_SetTextColor|GUICtrlListView_SetToolTips|GUICtrlListView_SetUnicodeFormat|GUICtrlListView_SetView|GUICtrlListView_SetWorkAreas|GUICtrlListView_SimpleSort|GUICtrlListView_SortItems|GUICtrlListView_SubItemHitTest|GUICtrlListView_UnRegisterSortCallBack|GUICtrlMenu_AddMenuItem|GUICtrlMenu_AppendMenu|GUICtrlMenu_CheckMenuItem|GUICtrlMenu_CheckRadioItem|GUICtrlMenu_CreateMenu|GUICtrlMenu_CreatePopup|GUICtrlMenu_DeleteMenu|GUICtrlMenu_DestroyMenu|GUICtrlMenu_DrawMenuBar|GUICtrlMenu_EnableMenuItem|GUICtrlMenu_FindItem|GUICtrlMenu_FindParent|GUICtrlMenu_GetItemBmp|GUICtrlMenu_GetItemBmpChecked|GUICtrlMenu_GetItemBmpUnchecked|GUICtrlMenu_GetItemChecked|GUICtrlMenu_GetItemCount|GUICtrlMenu_GetItemData|GUICtrlMenu_GetItemDefault|GUICtrlMenu_GetItemDisabled|GUICtrlMenu_GetItemEnabled|GUICtrlMenu_GetItemGrayed|GUICtrlMenu_GetItemHighlighted|GUICtrlMenu_GetItemID|GUICtrlMenu_GetItemInfo|GUICtrlMenu_GetItemRect|GUICtrlMenu_GetItemRectEx|GUICtrlMenu_GetItemState|GUICtrlMenu_GetItemStateEx|GUICtrlMenu_GetItemSubMenu|GUICtrlMenu_GetItemText|GUICtrlMenu_GetItemType|GUICtrlMenu_GetMenu|GUICtrlMenu_GetMenuBackground|GUICtrlMenu_GetMenuBarInfo|GUICtrlMenu_GetMenuContextHelpID|GUICtrlMenu_GetMenuData|GUICtrlMenu_GetMenuDefaultItem|GUICtrlMenu_GetMenuHeight|GUICtrlMenu_GetMenuInfo|GUICtrlMenu_GetMenuStyle|GUICtrlMenu_GetSystemMenu|GUICtrlMenu_InsertMenuItem|GUICtrlMenu_InsertMenuItemEx|GUICtrlMenu_IsMenu|GUICtrlMenu_LoadMenu|GUICtrlMenu_MapAccelerator|GUICtrlMenu_MenuItemFromPoint|GUICtrlMenu_RemoveMenu|GUICtrlMenu_SetItemBitmaps|GUICtrlMenu_SetItemBmp|GUICtrlMenu_SetItemBmpChecked|GUICtrlMenu_SetItemBmpUnchecked|GUICtrlMenu_SetItemChecked|GUICtrlMenu_SetItemData|GUICtrlMenu_SetItemDefault|GUICtrlMenu_SetItemDisabled|GUICtrlMenu_SetItemEnabled|GUICtrlMenu_SetItemGrayed|GUICtrlMenu_SetItemHighlighted|GUICtrlMenu_SetItemID|GUICtrlMenu_SetItemInfo|GUICtrlMenu_SetItemState|GUICtrlMenu_SetItemSubMenu|GUICtrlMenu_SetItemText|GUICtrlMenu_SetItemType|GUICtrlMenu_SetMenu|GUICtrlMenu_SetMenuBackground|GUICtrlMenu_SetMenuContextHelpID|GUICtrlMenu_SetMenuData|GUICtrlMenu_SetMenuDefaultItem|GUICtrlMenu_SetMenuHeight|GUICtrlMenu_SetMenuInfo|GUICtrlMenu_SetMenuStyle|GUICtrlMenu_TrackPopupMenu|GUICtrlMonthCal_Create|GUICtrlMonthCal_Destroy|GUICtrlMonthCal_GetColor|GUICtrlMonthCal_GetColorArray|GUICtrlMonthCal_GetCurSel|GUICtrlMonthCal_GetCurSelStr|GUICtrlMonthCal_GetFirstDOW|GUICtrlMonthCal_GetFirstDOWStr|GUICtrlMonthCal_GetMaxSelCount|GUICtrlMonthCal_GetMaxTodayWidth|GUICtrlMonthCal_GetMinReqHeight|GUICtrlMonthCal_GetMinReqRect|GUICtrlMonthCal_GetMinReqRectArray|GUICtrlMonthCal_GetMinReqWidth|GUICtrlMonthCal_GetMonthDelta|GUICtrlMonthCal_GetMonthRange|GUICtrlMonthCal_GetMonthRangeMax|GUICtrlMonthCal_GetMonthRangeMaxStr|GUICtrlMonthCal_GetMonthRangeMin|GUICtrlMonthCal_GetMonthRangeMinStr|GUICtrlMonthCal_GetMonthRangeSpan|GUICtrlMonthCal_GetRange|GUICtrlMonthCal_GetRangeMax|GUICtrlMonthCal_GetRangeMaxStr|GUICtrlMonthCal_GetRangeMin|GUICtrlMonthCal_GetRangeMinStr|GUICtrlMonthCal_GetSelRange|GUICtrlMonthCal_GetSelRangeMax|GUICtrlMonthCal_GetSelRangeMaxStr|GUICtrlMonthCal_GetSelRangeMin|GUICtrlMonthCal_GetSelRangeMinStr|GUICtrlMonthCal_GetToday|GUICtrlMonthCal_GetTodayStr|GUICtrlMonthCal_GetUnicodeFormat|GUICtrlMonthCal_HitTest|GUICtrlMonthCal_SetColor|GUICtrlMonthCal_SetCurSel|GUICtrlMonthCal_SetDayState|GUICtrlMonthCal_SetFirstDOW|GUICtrlMonthCal_SetMaxSelCount|GUICtrlMonthCal_SetMonthDelta|GUICtrlMonthCal_SetRange|GUICtrlMonthCal_SetSelRange|GUICtrlMonthCal_SetToday|GUICtrlMonthCal_SetUnicodeFormat|GUICtrlRebar_AddBand|GUICtrlRebar_AddToolBarBand|GUICtrlRebar_BeginDrag|GUICtrlRebar_Create|GUICtrlRebar_DeleteBand|GUICtrlRebar_Destroy|GUICtrlRebar_DragMove|GUICtrlRebar_EndDrag|GUICtrlRebar_GetBandBackColor|GUICtrlRebar_GetBandBorders|GUICtrlRebar_GetBandBordersEx|GUICtrlRebar_GetBandChildHandle|GUICtrlRebar_GetBandChildSize|GUICtrlRebar_GetBandCount|GUICtrlRebar_GetBandForeColor|GUICtrlRebar_GetBandHeaderSize|GUICtrlRebar_GetBandID|GUICtrlRebar_GetBandIdealSize|GUICtrlRebar_GetBandLength|GUICtrlRebar_GetBandLParam|GUICtrlRebar_GetBandMargins|GUICtrlRebar_GetBandMarginsEx|GUICtrlRebar_GetBandRect|GUICtrlRebar_GetBandRectEx|GUICtrlRebar_GetBandStyle|GUICtrlRebar_GetBandStyleBreak|GUICtrlRebar_GetBandStyleChildEdge|GUICtrlRebar_GetBandStyleFixedBMP|GUICtrlRebar_GetBandStyleFixedSize|GUICtrlRebar_GetBandStyleGripperAlways|GUICtrlRebar_GetBandStyleHidden|GUICtrlRebar_GetBandStyleHideTitle|GUICtrlRebar_GetBandStyleNoGripper|GUICtrlRebar_GetBandStyleTopAlign|GUICtrlRebar_GetBandStyleUseChevron|GUICtrlRebar_GetBandStyleVariableHeight|GUICtrlRebar_GetBandText|GUICtrlRebar_GetBarHeight|GUICtrlRebar_GetBKColor|GUICtrlRebar_GetColorScheme|GUICtrlRebar_GetRowCount|GUICtrlRebar_GetRowHeight|GUICtrlRebar_GetTextColor|GUICtrlRebar_GetToolTips|GUICtrlRebar_GetUnicodeFormat|GUICtrlRebar_HitTest|GUICtrlRebar_IDToIndex|GUICtrlRebar_MaximizeBand|GUICtrlRebar_MinimizeBand|GUICtrlRebar_MoveBand|GUICtrlRebar_SetBandBackColor|GUICtrlRebar_SetBandForeColor|GUICtrlRebar_SetBandHeaderSize|GUICtrlRebar_SetBandID|GUICtrlRebar_SetBandIdealSize|GUICtrlRebar_SetBandLength|GUICtrlRebar_SetBandLParam|GUICtrlRebar_SetBandStyle|GUICtrlRebar_SetBandStyleBreak|GUICtrlRebar_SetBandStyleChildEdge|GUICtrlRebar_SetBandStyleFixedBMP|GUICtrlRebar_SetBandStyleFixedSize|GUICtrlRebar_SetBandStyleGripperAlways|GUICtrlRebar_SetBandStyleHidden|GUICtrlRebar_SetBandStyleHideTitle|GUICtrlRebar_SetBandStyleNoGripper|GUICtrlRebar_SetBandStyleTopAlign|GUICtrlRebar_SetBandStyleUseChevron|GUICtrlRebar_SetBandStyleVariableHeight|GUICtrlRebar_SetBandText|GUICtrlRebar_SetBKColor|GUICtrlRebar_SetColorScheme|GUICtrlRebar_SetTextColor|GUICtrlRebar_SetToolTips|GUICtrlRebar_SetUnicodeFormat|GUICtrlRebar_ShowBand|GUICtrlSlider_ClearSel|GUICtrlSlider_ClearTics|GUICtrlSlider_Create|GUICtrlSlider_Destroy|GUICtrlSlider_GetBuddy|GUICtrlSlider_GetChannelRect|GUICtrlSlider_GetLineSize|GUICtrlSlider_GetNumTics|GUICtrlSlider_GetPageSize|GUICtrlSlider_GetPos|GUICtrlSlider_GetPTics|GUICtrlSlider_GetRange|GUICtrlSlider_GetRangeMax|GUICtrlSlider_GetRangeMin|GUICtrlSlider_GetSel|GUICtrlSlider_GetSelEnd|GUICtrlSlider_GetSelStart|GUICtrlSlider_GetThumbLength|GUICtrlSlider_GetThumbRect|GUICtrlSlider_GetThumbRectEx|GUICtrlSlider_GetTic|GUICtrlSlider_GetTicPos|GUICtrlSlider_GetToolTips|GUICtrlSlider_GetUnicodeFormat|GUICtrlSlider_SetBuddy|GUICtrlSlider_SetLineSize|GUICtrlSlider_SetPageSize|GUICtrlSlider_SetPos|GUICtrlSlider_SetRange|GUICtrlSlider_SetRangeMax|GUICtrlSlider_SetRangeMin|GUICtrlSlider_SetSel|GUICtrlSlider_SetSelEnd|GUICtrlSlider_SetSelStart|GUICtrlSlider_SetThumbLength|GUICtrlSlider_SetTic|GUICtrlSlider_SetTicFreq|GUICtrlSlider_SetTipSide|GUICtrlSlider_SetToolTips|GUICtrlSlider_SetUnicodeFormat|GUICtrlStatusBar_Create|GUICtrlStatusBar_Destroy|GUICtrlStatusBar_EmbedControl|GUICtrlStatusBar_GetBorders|GUICtrlStatusBar_GetBordersHorz|GUICtrlStatusBar_GetBordersRect|GUICtrlStatusBar_GetBordersVert|GUICtrlStatusBar_GetCount|GUICtrlStatusBar_GetHeight|GUICtrlStatusBar_GetIcon|GUICtrlStatusBar_GetParts|GUICtrlStatusBar_GetRect|GUICtrlStatusBar_GetRectEx|GUICtrlStatusBar_GetText|GUICtrlStatusBar_GetTextFlags|GUICtrlStatusBar_GetTextLength|GUICtrlStatusBar_GetTextLengthEx|GUICtrlStatusBar_GetTipText|GUICtrlStatusBar_GetUnicodeFormat|GUICtrlStatusBar_GetWidth|GUICtrlStatusBar_IsSimple|GUICtrlStatusBar_Resize|GUICtrlStatusBar_SetBkColor|GUICtrlStatusBar_SetIcon|GUICtrlStatusBar_SetMinHeight|GUICtrlStatusBar_SetParts|GUICtrlStatusBar_SetSimple|GUICtrlStatusBar_SetText|GUICtrlStatusBar_SetTipText|GUICtrlStatusBar_SetUnicodeFormat|GUICtrlStatusBar_ShowHide|GUICtrlTab_Create|GUICtrlTab_DeleteAllItems|GUICtrlTab_DeleteItem|GUICtrlTab_DeselectAll|GUICtrlTab_Destroy|GUICtrlTab_FindTab|GUICtrlTab_GetCurFocus|GUICtrlTab_GetCurSel|GUICtrlTab_GetDisplayRect|GUICtrlTab_GetDisplayRectEx|GUICtrlTab_GetExtendedStyle|GUICtrlTab_GetImageList|GUICtrlTab_GetItem|GUICtrlTab_GetItemCount|GUICtrlTab_GetItemImage|GUICtrlTab_GetItemParam|GUICtrlTab_GetItemRect|GUICtrlTab_GetItemRectEx|GUICtrlTab_GetItemState|GUICtrlTab_GetItemText|GUICtrlTab_GetRowCount|GUICtrlTab_GetToolTips|GUICtrlTab_GetUnicodeFormat|GUICtrlTab_HighlightItem|GUICtrlTab_HitTest|GUICtrlTab_InsertItem|GUICtrlTab_RemoveImage|GUICtrlTab_SetCurFocus|GUICtrlTab_SetCurSel|GUICtrlTab_SetExtendedStyle|GUICtrlTab_SetImageList|GUICtrlTab_SetItem|GUICtrlTab_SetItemImage|GUICtrlTab_SetItemParam|GUICtrlTab_SetItemSize|GUICtrlTab_SetItemState|GUICtrlTab_SetItemText|GUICtrlTab_SetMinTabWidth|GUICtrlTab_SetPadding|GUICtrlTab_SetToolTips|GUICtrlTab_SetUnicodeFormat|GUICtrlToolbar_AddBitmap|GUICtrlToolbar_AddButton|GUICtrlToolbar_AddButtonSep|GUICtrlToolbar_AddString|GUICtrlToolbar_ButtonCount|GUICtrlToolbar_CheckButton|GUICtrlToolbar_ClickAccel|GUICtrlToolbar_ClickButton|GUICtrlToolbar_ClickIndex|GUICtrlToolbar_CommandToIndex|GUICtrlToolbar_Create|GUICtrlToolbar_Customize|GUICtrlToolbar_DeleteButton|GUICtrlToolbar_Destroy|GUICtrlToolbar_EnableButton|GUICtrlToolbar_FindToolbar|GUICtrlToolbar_GetAnchorHighlight|GUICtrlToolbar_GetBitmapFlags|GUICtrlToolbar_GetButtonBitmap|GUICtrlToolbar_GetButtonInfo|GUICtrlToolbar_GetButtonInfoEx|GUICtrlToolbar_GetButtonParam|GUICtrlToolbar_GetButtonRect|GUICtrlToolbar_GetButtonRectEx|GUICtrlToolbar_GetButtonSize|GUICtrlToolbar_GetButtonState|GUICtrlToolbar_GetButtonStyle|GUICtrlToolbar_GetButtonText|GUICtrlToolbar_GetColorScheme|GUICtrlToolbar_GetDisabledImageList|GUICtrlToolbar_GetExtendedStyle|GUICtrlToolbar_GetHotImageList|GUICtrlToolbar_GetHotItem|GUICtrlToolbar_GetImageList|GUICtrlToolbar_GetInsertMark|GUICtrlToolbar_GetInsertMarkColor|GUICtrlToolbar_GetMaxSize|GUICtrlToolbar_GetMetrics|GUICtrlToolbar_GetPadding|GUICtrlToolbar_GetRows|GUICtrlToolbar_GetString|GUICtrlToolbar_GetStyle|GUICtrlToolbar_GetStyleAltDrag|GUICtrlToolbar_GetStyleCustomErase|GUICtrlToolbar_GetStyleFlat|GUICtrlToolbar_GetStyleList|GUICtrlToolbar_GetStyleRegisterDrop|GUICtrlToolbar_GetStyleToolTips|GUICtrlToolbar_GetStyleTransparent|GUICtrlToolbar_GetStyleWrapable|GUICtrlToolbar_GetTextRows|GUICtrlToolbar_GetToolTips|GUICtrlToolbar_GetUnicodeFormat|GUICtrlToolbar_HideButton|GUICtrlToolbar_HighlightButton|GUICtrlToolbar_HitTest|GUICtrlToolbar_IndexToCommand|GUICtrlToolbar_InsertButton|GUICtrlToolbar_InsertMarkHitTest|GUICtrlToolbar_IsButtonChecked|GUICtrlToolbar_IsButtonEnabled|GUICtrlToolbar_IsButtonHidden|GUICtrlToolbar_IsButtonHighlighted|GUICtrlToolbar_IsButtonIndeterminate|GUICtrlToolbar_IsButtonPressed|GUICtrlToolbar_LoadBitmap|GUICtrlToolbar_LoadImages|GUICtrlToolbar_MapAccelerator|GUICtrlToolbar_MoveButton|GUICtrlToolbar_PressButton|GUICtrlToolbar_SetAnchorHighlight|GUICtrlToolbar_SetBitmapSize|GUICtrlToolbar_SetButtonBitMap|GUICtrlToolbar_SetButtonInfo|GUICtrlToolbar_SetButtonInfoEx|GUICtrlToolbar_SetButtonParam|GUICtrlToolbar_SetButtonSize|GUICtrlToolbar_SetButtonState|GUICtrlToolbar_SetButtonStyle|GUICtrlToolbar_SetButtonText|GUICtrlToolbar_SetButtonWidth|GUICtrlToolbar_SetCmdID|GUICtrlToolbar_SetColorScheme|GUICtrlToolbar_SetDisabledImageList|GUICtrlToolbar_SetDrawTextFlags|GUICtrlToolbar_SetExtendedStyle|GUICtrlToolbar_SetHotImageList|GUICtrlToolbar_SetHotItem|GUICtrlToolbar_SetImageList|GUICtrlToolbar_SetIndent|GUICtrlToolbar_SetIndeterminate|GUICtrlToolbar_SetInsertMark|GUICtrlToolbar_SetInsertMarkColor|GUICtrlToolbar_SetMaxTextRows|GUICtrlToolbar_SetMetrics|GUICtrlToolbar_SetPadding|GUICtrlToolbar_SetParent|GUICtrlToolbar_SetRows|GUICtrlToolbar_SetStyle|GUICtrlToolbar_SetStyleAltDrag|GUICtrlToolbar_SetStyleCustomErase|GUICtrlToolbar_SetStyleFlat|GUICtrlToolbar_SetStyleList|GUICtrlToolbar_SetStyleRegisterDrop|GUICtrlToolbar_SetStyleToolTips|GUICtrlToolbar_SetStyleTransparent|GUICtrlToolbar_SetStyleWrapable|GUICtrlToolbar_SetToolTips|GUICtrlToolbar_SetUnicodeFormat|GUICtrlToolbar_SetWindowTheme|GUICtrlTreeView_Add|GUICtrlTreeView_AddChild|GUICtrlTreeView_AddChildFirst|GUICtrlTreeView_AddFirst|GUICtrlTreeView_BeginUpdate|GUICtrlTreeView_ClickItem|GUICtrlTreeView_Create|GUICtrlTreeView_CreateDragImage|GUICtrlTreeView_CreateSolidBitMap|GUICtrlTreeView_Delete|GUICtrlTreeView_DeleteAll|GUICtrlTreeView_DeleteChildren|GUICtrlTreeView_Destroy|GUICtrlTreeView_DisplayRect|GUICtrlTreeView_DisplayRectEx|GUICtrlTreeView_EditText|GUICtrlTreeView_EndEdit|GUICtrlTreeView_EndUpdate|GUICtrlTreeView_EnsureVisible|GUICtrlTreeView_Expand|GUICtrlTreeView_ExpandedOnce|GUICtrlTreeView_FindItem|GUICtrlTreeView_FindItemEx|GUICtrlTreeView_GetBkColor|GUICtrlTreeView_GetBold|GUICtrlTreeView_GetChecked|GUICtrlTreeView_GetChildCount|GUICtrlTreeView_GetChildren|GUICtrlTreeView_GetCount|GUICtrlTreeView_GetCut|GUICtrlTreeView_GetDropTarget|GUICtrlTreeView_GetEditControl|GUICtrlTreeView_GetExpanded|GUICtrlTreeView_GetFirstChild|GUICtrlTreeView_GetFirstItem|GUICtrlTreeView_GetFirstVisible|GUICtrlTreeView_GetFocused|GUICtrlTreeView_GetHeight|GUICtrlTreeView_GetImageIndex|GUICtrlTreeView_GetImageListIconHandle|GUICtrlTreeView_GetIndent|GUICtrlTreeView_GetInsertMarkColor|GUICtrlTreeView_GetISearchString|GUICtrlTreeView_GetItemByIndex|GUICtrlTreeView_GetItemHandle|GUICtrlTreeView_GetItemParam|GUICtrlTreeView_GetLastChild|GUICtrlTreeView_GetLineColor|GUICtrlTreeView_GetNext|GUICtrlTreeView_GetNextChild|GUICtrlTreeView_GetNextSibling|GUICtrlTreeView_GetNextVisible|GUICtrlTreeView_GetNormalImageList|GUICtrlTreeView_GetParentHandle|GUICtrlTreeView_GetParentParam|GUICtrlTreeView_GetPrev|GUICtrlTreeView_GetPrevChild|GUICtrlTreeView_GetPrevSibling|GUICtrlTreeView_GetPrevVisible|GUICtrlTreeView_GetScrollTime|GUICtrlTreeView_GetSelected|GUICtrlTreeView_GetSelectedImageIndex|GUICtrlTreeView_GetSelection|GUICtrlTreeView_GetSiblingCount|GUICtrlTreeView_GetState|GUICtrlTreeView_GetStateImageIndex|GUICtrlTreeView_GetStateImageList|GUICtrlTreeView_GetText|GUICtrlTreeView_GetTextColor|GUICtrlTreeView_GetToolTips|GUICtrlTreeView_GetTree|GUICtrlTreeView_GetUnicodeFormat|GUICtrlTreeView_GetVisible|GUICtrlTreeView_GetVisibleCount|GUICtrlTreeView_HitTest|GUICtrlTreeView_HitTestEx|GUICtrlTreeView_HitTestItem|GUICtrlTreeView_Index|GUICtrlTreeView_InsertItem|GUICtrlTreeView_IsFirstItem|GUICtrlTreeView_IsParent|GUICtrlTreeView_Level|GUICtrlTreeView_SelectItem|GUICtrlTreeView_SelectItemByIndex|GUICtrlTreeView_SetBkColor|GUICtrlTreeView_SetBold|GUICtrlTreeView_SetChecked|GUICtrlTreeView_SetCheckedByIndex|GUICtrlTreeView_SetChildren|GUICtrlTreeView_SetCut|GUICtrlTreeView_SetDropTarget|GUICtrlTreeView_SetFocused|GUICtrlTreeView_SetHeight|GUICtrlTreeView_SetIcon|GUICtrlTreeView_SetImageIndex|GUICtrlTreeView_SetIndent|GUICtrlTreeView_SetInsertMark|GUICtrlTreeView_SetInsertMarkColor|GUICtrlTreeView_SetItemHeight|GUICtrlTreeView_SetItemParam|GUICtrlTreeView_SetLineColor|GUICtrlTreeView_SetNormalImageList|GUICtrlTreeView_SetScrollTime|GUICtrlTreeView_SetSelected|GUICtrlTreeView_SetSelectedImageIndex|GUICtrlTreeView_SetState|GUICtrlTreeView_SetStateImageIndex|GUICtrlTreeView_SetStateImageList|GUICtrlTreeView_SetText|GUICtrlTreeView_SetTextColor|GUICtrlTreeView_SetToolTips|GUICtrlTreeView_SetUnicodeFormat|GUICtrlTreeView_Sort|GUIImageList_Add|GUIImageList_AddBitmap|GUIImageList_AddIcon|GUIImageList_AddMasked|GUIImageList_BeginDrag|GUIImageList_Copy|GUIImageList_Create|GUIImageList_Destroy|GUIImageList_DestroyIcon|GUIImageList_DragEnter|GUIImageList_DragLeave|GUIImageList_DragMove|GUIImageList_Draw|GUIImageList_DrawEx|GUIImageList_Duplicate|GUIImageList_EndDrag|GUIImageList_GetBkColor|GUIImageList_GetIcon|GUIImageList_GetIconHeight|GUIImageList_GetIconSize|GUIImageList_GetIconSizeEx|GUIImageList_GetIconWidth|GUIImageList_GetImageCount|GUIImageList_GetImageInfoEx|GUIImageList_Remove|GUIImageList_ReplaceIcon|GUIImageList_SetBkColor|GUIImageList_SetIconSize|GUIImageList_SetImageCount|GUIImageList_Swap|GUIScrollBars_EnableScrollBar|GUIScrollBars_GetScrollBarInfoEx|GUIScrollBars_GetScrollBarRect|GUIScrollBars_GetScrollBarRGState|GUIScrollBars_GetScrollBarXYLineButton|GUIScrollBars_GetScrollBarXYThumbBottom|GUIScrollBars_GetScrollBarXYThumbTop|GUIScrollBars_GetScrollInfo|GUIScrollBars_GetScrollInfoEx|GUIScrollBars_GetScrollInfoMax|GUIScrollBars_GetScrollInfoMin|GUIScrollBars_GetScrollInfoPage|GUIScrollBars_GetScrollInfoPos|GUIScrollBars_GetScrollInfoTrackPos|GUIScrollBars_GetScrollPos|GUIScrollBars_GetScrollRange|GUIScrollBars_Init|GUIScrollBars_ScrollWindow|GUIScrollBars_SetScrollInfo|GUIScrollBars_SetScrollInfoMax|GUIScrollBars_SetScrollInfoMin|GUIScrollBars_SetScrollInfoPage|GUIScrollBars_SetScrollInfoPos|GUIScrollBars_SetScrollRange|GUIScrollBars_ShowScrollBar|GUIToolTip_Activate|GUIToolTip_AddTool|GUIToolTip_AdjustRect|GUIToolTip_BitsToTTF|GUIToolTip_Create|GUIToolTip_DelTool|GUIToolTip_Destroy|GUIToolTip_EnumTools|GUIToolTip_GetBubbleHeight|GUIToolTip_GetBubbleSize|GUIToolTip_GetBubbleWidth|GUIToolTip_GetCurrentTool|GUIToolTip_GetDelayTime|GUIToolTip_GetMargin|GUIToolTip_GetMarginEx|GUIToolTip_GetMaxTipWidth|GUIToolTip_GetText|GUIToolTip_GetTipBkColor|GUIToolTip_GetTipTextColor|GUIToolTip_GetTitleBitMap|GUIToolTip_GetTitleText|GUIToolTip_GetToolCount|GUIToolTip_GetToolInfo|GUIToolTip_HitTest|GUIToolTip_NewToolRect|GUIToolTip_Pop|GUIToolTip_PopUp|GUIToolTip_SetDelayTime|GUIToolTip_SetMargin|GUIToolTip_SetMaxTipWidth|GUIToolTip_SetTipBkColor|GUIToolTip_SetTipTextColor|GUIToolTip_SetTitle|GUIToolTip_SetToolInfo|GUIToolTip_SetWindowTheme|GUIToolTip_ToolExists|GUIToolTip_ToolToArray|GUIToolTip_TrackActivate|GUIToolTip_TrackPosition|GUIToolTip_TTFToBits|GUIToolTip_Update|GUIToolTip_UpdateTipText|HexToString|IE_Example|IE_Introduction|IE_VersionInfo|IEAction|IEAttach|IEBodyReadHTML|IEBodyReadText|IEBodyWriteHTML|IECreate|IECreateEmbedded|IEDocGetObj|IEDocInsertHTML|IEDocInsertText|IEDocReadHTML|IEDocWriteHTML|IEErrorHandlerDeRegister|IEErrorHandlerRegister|IEErrorNotify|IEFormElementCheckBoxSelect|IEFormElementGetCollection|IEFormElementGetObjByName|IEFormElementGetValue|IEFormElementOptionSelect|IEFormElementRadioSelect|IEFormElementSetValue|IEFormGetCollection|IEFormGetObjByName|IEFormImageClick|IEFormReset|IEFormSubmit|IEFrameGetCollection|IEFrameGetObjByName|IEGetObjById|IEGetObjByName|IEHeadInsertEventScript|IEImgClick|IEImgGetCollection|IEIsFrameSet|IELinkClickByIndex|IELinkClickByText|IELinkGetCollection|IELoadWait|IELoadWaitTimeout|IENavigate|IEPropertyGet|IEPropertySet|IEQuit|IETableGetCollection|IETableWriteToArray|IETagNameAllGetCollection|IETagNameGetCollection|Iif|INetExplorerCapable|INetGetSource|INetMail|INetSmtpMail|IsPressed|MathCheckDiv|Max|MemGlobalAlloc|MemGlobalFree|MemGlobalLock|MemGlobalSize|MemGlobalUnlock|MemMoveMemory|MemMsgBox|MemShowError|MemVirtualAlloc|MemVirtualAllocEx|MemVirtualFree|MemVirtualFreeEx|Min|MouseTrap|NamedPipes_CallNamedPipe|NamedPipes_ConnectNamedPipe|NamedPipes_CreateNamedPipe|NamedPipes_CreatePipe|NamedPipes_DisconnectNamedPipe|NamedPipes_GetNamedPipeHandleState|NamedPipes_GetNamedPipeInfo|NamedPipes_PeekNamedPipe|NamedPipes_SetNamedPipeHandleState|NamedPipes_TransactNamedPipe|NamedPipes_WaitNamedPipe|Net_Share_ConnectionEnum|Net_Share_FileClose|Net_Share_FileEnum|Net_Share_FileGetInfo|Net_Share_PermStr|Net_Share_ResourceStr|Net_Share_SessionDel|Net_Share_SessionEnum|Net_Share_SessionGetInfo|Net_Share_ShareAdd|Net_Share_ShareCheck|Net_Share_ShareDel|Net_Share_ShareEnum|Net_Share_ShareGetInfo|Net_Share_ShareSetInfo|Net_Share_StatisticsGetSvr|Net_Share_StatisticsGetWrk|Now|NowCalc|NowCalcDate|NowDate|NowTime|PathFull|PathMake|PathSplit|ProcessGetName|ProcessGetPriority|Radian|ReplaceStringInFile|RunDOS|ScreenCapture_Capture|ScreenCapture_CaptureWnd|ScreenCapture_SaveImage|ScreenCapture_SetBMPFormat|ScreenCapture_SetJPGQuality|ScreenCapture_SetTIFColorDepth|ScreenCapture_SetTIFCompression|Security__AdjustTokenPrivileges|Security__GetAccountSid|Security__GetLengthSid|Security__GetTokenInformation|Security__ImpersonateSelf|Security__IsValidSid|Security__LookupAccountName|Security__LookupAccountSid|Security__LookupPrivilegeValue|Security__OpenProcessToken|Security__OpenThreadToken|Security__OpenThreadTokenEx|Security__SetPrivilege|Security__SidToStringSid|Security__SidTypeStr|Security__StringSidToSid|SendMessage|SendMessageA|SetDate|SetTime|Singleton|SoundClose|SoundLength|SoundOpen|SoundPause|SoundPlay|SoundPos|SoundResume|SoundSeek|SoundStatus|SoundStop|SQLite_Changes|SQLite_Close|SQLite_Display2DResult|SQLite_Encode|SQLite_ErrCode|SQLite_ErrMsg|SQLite_Escape|SQLite_Exec|SQLite_FetchData|SQLite_FetchNames|SQLite_GetTable|SQLite_GetTable2d|SQLite_LastInsertRowID|SQLite_LibVersion|SQLite_Open|SQLite_Query|SQLite_QueryFinalize|SQLite_QueryReset|SQLite_QuerySingleRow|SQLite_SaveMode|SQLite_SetTimeout|SQLite_Shutdown|SQLite_SQLiteExe|SQLite_Startup|SQLite_TotalChanges|StringAddComma|StringBetween|StringEncrypt|StringInsert|StringProper|StringRepeat|StringReverse|StringSplit|StringToHex|TCPIpToName|TempFile|TicksToTime|Timer_Diff|Timer_GetTimerID|Timer_Init|Timer_KillAllTimers|Timer_KillTimer|Timer_SetTimer|TimeToTicks|VersionCompare|viClose|viExecCommand|viFindGpib|viGpibBusReset|viGTL|viOpen|viSetAttribute|viSetTimeout|WeekNumberISO|WinAPI_AttachConsole|WinAPI_AttachThreadInput|WinAPI_Beep|WinAPI_BitBlt|WinAPI_CallNextHookEx|WinAPI_Check|WinAPI_ClientToScreen|WinAPI_CloseHandle|WinAPI_CommDlgExtendedError|WinAPI_CopyIcon|WinAPI_CreateBitmap|WinAPI_CreateCompatibleBitmap|WinAPI_CreateCompatibleDC|WinAPI_CreateEvent|WinAPI_CreateFile|WinAPI_CreateFont|WinAPI_CreateFontIndirect|WinAPI_CreateProcess|WinAPI_CreateSolidBitmap|WinAPI_CreateSolidBrush|WinAPI_CreateWindowEx|WinAPI_DefWindowProc|WinAPI_DeleteDC|WinAPI_DeleteObject|WinAPI_DestroyIcon|WinAPI_DestroyWindow|WinAPI_DrawEdge|WinAPI_DrawFrameControl|WinAPI_DrawIcon|WinAPI_DrawIconEx|WinAPI_DrawText|WinAPI_EnableWindow|WinAPI_EnumDisplayDevices|WinAPI_EnumWindows|WinAPI_EnumWindowsPopup|WinAPI_EnumWindowsTop|WinAPI_ExpandEnvironmentStrings|WinAPI_ExtractIconEx|WinAPI_FatalAppExit|WinAPI_FillRect|WinAPI_FindExecutable|WinAPI_FindWindow|WinAPI_FlashWindow|WinAPI_FlashWindowEx|WinAPI_FloatToInt|WinAPI_FlushFileBuffers|WinAPI_FormatMessage|WinAPI_FrameRect|WinAPI_FreeLibrary|WinAPI_GetAncestor|WinAPI_GetAsyncKeyState|WinAPI_GetClassName|WinAPI_GetClientHeight|WinAPI_GetClientRect|WinAPI_GetClientWidth|WinAPI_GetCurrentProcess|WinAPI_GetCurrentProcessID|WinAPI_GetCurrentThread|WinAPI_GetCurrentThreadId|WinAPI_GetCursorInfo|WinAPI_GetDC|WinAPI_GetDesktopWindow|WinAPI_GetDeviceCaps|WinAPI_GetDIBits|WinAPI_GetDlgCtrlID|WinAPI_GetDlgItem|WinAPI_GetFileSizeEx|WinAPI_GetFocus|WinAPI_GetForegroundWindow|WinAPI_GetIconInfo|WinAPI_GetLastError|WinAPI_GetLastErrorMessage|WinAPI_GetModuleHandle|WinAPI_GetMousePos|WinAPI_GetMousePosX|WinAPI_GetMousePosY|WinAPI_GetObject|WinAPI_GetOpenFileName|WinAPI_GetOverlappedResult|WinAPI_GetParent|WinAPI_GetProcessAffinityMask|WinAPI_GetSaveFileName|WinAPI_GetStdHandle|WinAPI_GetStockObject|WinAPI_GetSysColor|WinAPI_GetSysColorBrush|WinAPI_GetSystemMetrics|WinAPI_GetTextExtentPoint32|WinAPI_GetWindow|WinAPI_GetWindowDC|WinAPI_GetWindowHeight|WinAPI_GetWindowLong|WinAPI_GetWindowRect|WinAPI_GetWindowText|WinAPI_GetWindowThreadProcessId|WinAPI_GetWindowWidth|WinAPI_GetXYFromPoint|WinAPI_GlobalMemStatus|WinAPI_GUIDFromString|WinAPI_GUIDFromStringEx|WinAPI_HiWord|WinAPI_InProcess|WinAPI_IntToFloat|WinAPI_InvalidateRect|WinAPI_IsClassName|WinAPI_IsWindow|WinAPI_IsWindowVisible|WinAPI_LoadBitmap|WinAPI_LoadImage|WinAPI_LoadLibrary|WinAPI_LoadLibraryEx|WinAPI_LoadShell32Icon|WinAPI_LoadString|WinAPI_LocalFree|WinAPI_LoWord|WinAPI_MakeDWord|WinAPI_MAKELANGID|WinAPI_MAKELCID|WinAPI_MakeLong|WinAPI_MessageBeep|WinAPI_Mouse_Event|WinAPI_MoveWindow|WinAPI_MsgBox|WinAPI_MulDiv|WinAPI_MultiByteToWideChar|WinAPI_MultiByteToWideCharEx|WinAPI_OpenProcess|WinAPI_PointFromRect|WinAPI_PostMessage|WinAPI_PrimaryLangId|WinAPI_PtInRect|WinAPI_ReadFile|WinAPI_ReadProcessMemory|WinAPI_RectIsEmpty|WinAPI_RedrawWindow|WinAPI_RegisterWindowMessage|WinAPI_ReleaseCapture|WinAPI_ReleaseDC|WinAPI_ScreenToClient|WinAPI_SelectObject|WinAPI_SetBkColor|WinAPI_SetCapture|WinAPI_SetCursor|WinAPI_SetDefaultPrinter|WinAPI_SetDIBits|WinAPI_SetEvent|WinAPI_SetFocus|WinAPI_SetFont|WinAPI_SetHandleInformation|WinAPI_SetLastError|WinAPI_SetParent|WinAPI_SetProcessAffinityMask|WinAPI_SetSysColors|WinAPI_SetTextColor|WinAPI_SetWindowLong|WinAPI_SetWindowPos|WinAPI_SetWindowsHookEx|WinAPI_SetWindowText|WinAPI_ShowCursor|WinAPI_ShowError|WinAPI_ShowMsg|WinAPI_ShowWindow|WinAPI_StringFromGUID|WinAPI_SubLangId|WinAPI_SystemParametersInfo|WinAPI_TwipsPerPixelX|WinAPI_TwipsPerPixelY|WinAPI_UnhookWindowsHookEx|WinAPI_UpdateLayeredWindow|WinAPI_UpdateWindow|WinAPI_ValidateClassName|WinAPI_WaitForInputIdle|WinAPI_WaitForMultipleObjects|WinAPI_WaitForSingleObject|WinAPI_WideCharToMultiByte|WinAPI_WindowFromPoint|WinAPI_WriteConsole|WinAPI_WriteFile|WinAPI_WriteProcessMemory|WinNet_AddConnection|WinNet_AddConnection2|WinNet_AddConnection3|WinNet_CancelConnection|WinNet_CancelConnection2|WinNet_CloseEnum|WinNet_ConnectionDialog|WinNet_ConnectionDialog1|WinNet_DisconnectDialog|WinNet_DisconnectDialog1|WinNet_EnumResource|WinNet_GetConnection|WinNet_GetConnectionPerformance|WinNet_GetLastError|WinNet_GetNetworkInformation|WinNet_GetProviderName|WinNet_GetResourceInformation|WinNet_GetResourceParent|WinNet_GetUniversalName|WinNet_GetUser|WinNet_OpenEnum|WinNet_RestoreConnection|WinNet_UseConnection|Word_VersionInfo|WordAttach|WordCreate|WordDocAdd|WordDocAddLink|WordDocAddPicture|WordDocClose|WordDocFindReplace|WordDocGetCollection|WordDocLinkGetCollection|WordDocOpen|WordDocPrint|WordDocPropertyGet|WordDocPropertySet|WordDocSave|WordDocSaveAs|WordErrorHandlerDeRegister|WordErrorHandlerRegister|WordErrorNotify|WordMacroRun|WordPropertyGet|WordPropertySet|WordQuit|ce|comments-end|comments-start|cs|include|include-once|NoTrayIcon|RequireAdmin|AutoIt3Wrapper_Au3Check_Parameters|AutoIt3Wrapper_Au3Check_Stop_OnWarning|AutoIt3Wrapper_Change2CUI|AutoIt3Wrapper_Compression|AutoIt3Wrapper_cvsWrapper_Parameters|AutoIt3Wrapper_Icon|AutoIt3Wrapper_Outfile|AutoIt3Wrapper_Outfile_Type|AutoIt3Wrapper_Plugin_Funcs|AutoIt3Wrapper_Res_Comment|AutoIt3Wrapper_Res_Description|AutoIt3Wrapper_Res_Field|AutoIt3Wrapper_Res_File_Add|AutoIt3Wrapper_Res_Fileversion|AutoIt3Wrapper_Res_FileVersion_AutoIncrement|AutoIt3Wrapper_Res_Icon_Add|AutoIt3Wrapper_Res_Language|AutoIt3Wrapper_Res_LegalCopyright|AutoIt3Wrapper_res_requestedExecutionLevel|AutoIt3Wrapper_Res_SaveSource|AutoIt3Wrapper_Run_After|AutoIt3Wrapper_Run_Au3check|AutoIt3Wrapper_Run_Before|AutoIt3Wrapper_Run_cvsWrapper|AutoIt3Wrapper_Run_Debug_Mode|AutoIt3Wrapper_Run_Obfuscator|AutoIt3Wrapper_Run_Tidy|AutoIt3Wrapper_Tidy_Stop_OnError|AutoIt3Wrapper_UseAnsi|AutoIt3Wrapper_UseUpx|AutoIt3Wrapper_UseX64|AutoIt3Wrapper_Version|EndRegion|forceref|Obfuscator_Ignore_Funcs|Obfuscator_Ignore_Variables|Obfuscator_Parameters|Region|Tidy_Parameters",t="AppDataCommonDir|AppDataDir|AutoItExe|AutoItPID|AutoItUnicode|AutoItVersion|AutoItX64|COM_EventObj|CommonFilesDir|Compiled|ComputerName|ComSpec|CR|CRLF|DesktopCommonDir|DesktopDepth|DesktopDir|DesktopHeight|DesktopRefresh|DesktopWidth|DocumentsCommonDir|error|exitCode|exitMethod|extended|FavoritesCommonDir|FavoritesDir|GUI_CtrlHandle|GUI_CtrlId|GUI_DragFile|GUI_DragId|GUI_DropId|GUI_WinHandle|HomeDrive|HomePath|HomeShare|HotKeyPressed|HOUR|InetGetActive|InetGetBytesRead|IPAddress1|IPAddress2|IPAddress3|IPAddress4|KBLayout|LF|LogonDNSDomain|LogonDomain|LogonServer|MDAY|MIN|MON|MyDocumentsDir|NumParams|OSBuild|OSLang|OSServicePack|OSTYPE|OSVersion|ProcessorArch|ProgramFilesDir|ProgramsCommonDir|ProgramsDir|ScriptDir|ScriptFullPath|ScriptLineNumber|ScriptName|SEC|StartMenuCommonDir|StartMenuDir|StartupCommonDir|StartupDir|SW_DISABLE|SW_ENABLE|SW_HIDE|SW_LOCK|SW_MAXIMIZE|SW_MINIMIZE|SW_RESTORE|SW_SHOW|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWMINNOACTIVE|SW_SHOWNA|SW_SHOWNOACTIVATE|SW_SHOWNORMAL|SW_UNLOCK|SystemDir|TAB|TempDir|TRAY_ID|TrayIconFlashing|TrayIconVisible|UserName|UserProfileDir|WDAY|WindowsDir|WorkingDir|YDAY|YEAR";this.$rules={start:[{token:"comment.line.ahk",regex:"(?:^| );.*$"},{token:"comment.block.ahk",regex:"/\\*",push:[{token:"comment.block.ahk",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.ahk"}]},{token:"doc.comment.ahk",regex:"#cs",push:[{token:"doc.comment.ahk",regex:"#ce",next:"pop"},{defaultToken:"doc.comment.ahk"}]},{token:"keyword.command.ahk",regex:"(?:\\b|^)(?:allowsamelinecomments|clipboardtimeout|commentflag|errorstdout|escapechar|hotkeyinterval|hotkeymodifiertimeout|hotstring|include|includeagain|installkeybdhook|installmousehook|keyhistory|ltrim|maxhotkeysperinterval|maxmem|maxthreads|maxthreadsbuffer|maxthreadsperhotkey|noenv|notrayicon|persistent|singleinstance|usehook|winactivateforce|autotrim|blockinput|click|clipwait|continue|control|controlclick|controlfocus|controlget|controlgetfocus|controlgetpos|controlgettext|controlmove|controlsend|controlsendraw|controlsettext|coordmode|critical|detecthiddentext|detecthiddenwindows|drive|driveget|drivespacefree|edit|endrepeat|envadd|envdiv|envget|envmult|envset|envsub|envupdate|exit|exitapp|fileappend|filecopy|filecopydir|filecreatedir|filecreateshortcut|filedelete|filegetattrib|filegetshortcut|filegetsize|filegettime|filegetversion|fileinstall|filemove|filemovedir|fileread|filereadline|filerecycle|filerecycleempty|fileremovedir|fileselectfile|fileselectfolder|filesetattrib|filesettime|formattime|getkeystate|gosub|goto|groupactivate|groupadd|groupclose|groupdeactivate|gui|guicontrol|guicontrolget|hideautoitwin|hotkey|ifequal|ifexist|ifgreater|ifgreaterorequal|ifinstring|ifless|iflessorequal|ifmsgbox|ifnotequal|ifnotexist|ifnotinstring|ifwinactive|ifwinexist|ifwinnotactive|ifwinnotexist|imagesearch|inidelete|iniread|iniwrite|input|inputbox|keyhistory|keywait|listhotkeys|listlines|listvars|menu|mouseclick|mouseclickdrag|mousegetpos|mousemove|msgbox|onexit|outputdebug|pause|pixelgetcolor|pixelsearch|postmessage|process|progress|random|regdelete|regread|regwrite|reload|repeat|run|runas|runwait|send|sendevent|sendinput|sendmode|sendplay|sendmessage|sendraw|setbatchlines|setcapslockstate|setcontroldelay|setdefaultmousespeed|setenv|setformat|setkeydelay|setmousedelay|setnumlockstate|setscrolllockstate|setstorecapslockmode|settimer|settitlematchmode|setwindelay|setworkingdir|shutdown|sleep|sort|soundbeep|soundget|soundgetwavevolume|soundplay|soundset|soundsetwavevolume|splashimage|splashtextoff|splashtexton|splitpath|statusbargettext|statusbarwait|stringcasesense|stringgetpos|stringleft|stringlen|stringlower|stringmid|stringreplace|stringright|stringsplit|stringtrimleft|stringtrimright|stringupper|suspend|sysget|thread|tooltip|transform|traytip|urldownloadtofile|while|winactivate|winactivatebottom|winclose|winget|wingetactivestats|wingetactivetitle|wingetclass|wingetpos|wingettext|wingettitle|winhide|winkill|winmaximize|winmenuselectitem|winminimize|winminimizeall|winminimizeallundo|winmove|winrestore|winset|winsettitle|winshow|winwait|winwaitactive|winwaitclose|winwaitnotactive)\\b",caseInsensitive:!0},{token:"keyword.control.ahk",regex:"(?:\\b|^)(?:if|else|return|loop|break|for|while|global|local|byref)\\b",caseInsensitive:!0},{token:"support.function.ahk",regex:"(?:\\b|^)(?:abs|acos|asc|asin|atan|ceil|chr|cos|dllcall|exp|fileexist|floor|getkeystate|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|sb_seticon|sb_setparts|sb_settext|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist)\\b",caseInsensitive:!0},{token:"variable.predefined.ahk",regex:"(?:\\b|^)(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|programfiles|a_programfiles|a_programs|a_programscommon|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\\b",caseInsensitive:!0},{token:"support.constant.ahk",regex:"(?:\\b|^)(?:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|altdown|altup|shiftdown|shiftup|ctrldown|ctrlup|lwindown|lwinup|rwindown|rwinup|lbutton|rbutton|mbutton|wheelup|wheelleft|wheelright|wheeldown|xbutton1|xbutton2|joy1|joy2|joy3|joy4|joy5|joy6|joy7|joy8|joy9|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy30|joy31|joy32|joyx|joyy|joyz|joyr|joyu|joyv|joypov|joyname|joybuttons|joyaxes|joyinfo|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgup|pgdn|home|end|up|down|left|right|printscreen|ctrlbreak|pause|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadup|numpaddown|numpadleft|numpadright|numpadhome|numpadend|numpadpgup|numpadpgdn|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2)\\b",caseInsensitive:!0},{token:"variable.parameter",regex:"(?:\\b|^)(?:pixel|mouse|screen|relative|rgb|ltrim|rtrim|join|low|belownormal|normal|abovenormal|high|realtime|ahk_id|ahk_pid|ahk_class|ahk_group|between|contains|in|is|integer|float|integerfast|floatfast|number|digit|xdigit|alpha|upper|lower|alnum|time|date|not|or|and|alwaysontop|topmost|top|bottom|transparent|transcolor|redraw|region|id|idlast|processname|minmax|controllist|count|list|capacity|statuscd|eject|lock|unlock|label|filesystem|label|setlabel|serial|type|status|static|seconds|minutes|hours|days|read|parse|logoff|close|error|single|tray|add|rename|check|uncheck|togglecheck|enable|disable|toggleenable|default|nodefault|standard|nostandard|color|delete|deleteall|icon|noicon|tip|click|show|mainwindow|nomainwindow|useerrorlevel|text|picture|pic|groupbox|button|checkbox|radio|dropdownlist|ddl|combobox|listbox|listview|datetime|monthcal|updown|slider|tab|tab2|statusbar|treeview|iconsmall|tile|report|sortdesc|nosort|nosorthdr|grid|hdr|autosize|range|xm|ym|ys|xs|xp|yp|font|resize|owner|submit|nohide|minimize|maximize|restore|noactivate|na|cancel|destroy|center|margin|maxsize|minsize|owndialogs|guiescape|guiclose|guisize|guicontextmenu|guidropfiles|tabstop|section|altsubmit|wrap|hscroll|vscroll|border|top|bottom|buttons|expand|first|imagelist|lines|wantctrla|wantf2|vis|visfirst|number|uppercase|lowercase|limit|password|multi|wantreturn|group|background|bold|italic|strike|underline|norm|backgroundtrans|theme|caption|delimiter|minimizebox|maximizebox|sysmenu|toolwindow|flash|style|exstyle|check3|checked|checkedgray|readonly|password|hidden|left|right|center|notab|section|move|focus|hide|choose|choosestring|text|pos|enabled|disabled|visible|lastfound|lastfoundexist|alttab|shiftalttab|alttabmenu|alttabandmenu|alttabmenudismiss|notimers|interrupt|priority|waitclose|blind|raw|unicode|deref|pow|bitnot|bitand|bitor|bitxor|bitshiftleft|bitshiftright|yes|no|ok|cancel|abort|retry|ignore|tryagain|on|off|all|hkey_local_machine|hkey_users|hkey_current_user|hkey_classes_root|hkey_current_config|hklm|hku|hkcu|hkcr|hkcc|reg_sz|reg_expand_sz|reg_multi_sz|reg_dword|reg_qword|reg_binary|reg_link|reg_resource_list|reg_full_resource_descriptor|reg_resource_requirements_list|reg_dword_big_endian)\\b",caseInsensitive:!0},{keywordMap:{"constant.language":e},regex:"\\w+\\b"},{keywordMap:{"variable.function":t},regex:"@\\w+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"keyword.operator.ahk",regex:"=|==|<>|:=|<|>|\\*|\\/|\\+|:|\\?|\\-"},{token:"punctuation.ahk",regex:"#|`|::|,|\\{|\\}|\\(|\\)|\\%"},{token:["punctuation.quote.double","string.quoted.ahk","punctuation.quote.double"],regex:'(")((?:[^"]|"")*)(")'},{token:["label.ahk","punctuation.definition.label.ahk"],regex:"^([^: ]+)(:)(?!:)"}]},this.normalizeRules()};s.metaData={name:"AutoHotKey",scopeName:"source.ahk",fileTypes:["ahk"],foldingStartMarker:"^\\s*/\\*|^(?![^{]*?;|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|;|/\\*(?!.*?\\*/.*\\S))",foldingStopMarker:"^\\s*\\*/|^\\s*\\}"},r.inherits(s,i),t.AutoHotKeyHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/autohotkey",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/autohotkey_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./autohotkey_highlight_rules").AutoHotKeyHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart=";",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/autohotkey"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-batchfile.js b/library/ace/mode-batchfile.js
new file mode 100644
index 000000000..9d4b0edae
--- /dev/null
+++ b/library/ace/mode-batchfile.js
@@ -0,0 +1 @@
+ace.define("ace/mode/batchfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.command.dosbatch",regex:"\\b(?:append|assoc|at|attrib|break|cacls|cd|chcp|chdir|chkdsk|chkntfs|cls|cmd|color|comp|compact|convert|copy|date|del|dir|diskcomp|diskcopy|doskey|echo|endlocal|erase|fc|find|findstr|format|ftype|graftabl|help|keyb|label|md|mkdir|mode|more|move|path|pause|popd|print|prompt|pushd|rd|recover|ren|rename|replace|restore|rmdir|set|setlocal|shift|sort|start|subst|time|title|tree|type|ver|verify|vol|xcopy)\\b",caseInsensitive:!0},{token:"keyword.control.statement.dosbatch",regex:"\\b(?:goto|call|exit)\\b",caseInsensitive:!0},{token:"keyword.control.conditional.if.dosbatch",regex:"\\bif\\s+not\\s+(?:exist|defined|errorlevel|cmdextversion)\\b",caseInsensitive:!0},{token:"keyword.control.conditional.dosbatch",regex:"\\b(?:if|else)\\b",caseInsensitive:!0},{token:"keyword.control.repeat.dosbatch",regex:"\\bfor\\b",caseInsensitive:!0},{token:"keyword.operator.dosbatch",regex:"\\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\\b"},{token:["doc.comment","comment"],regex:"(?:^|\\b)(rem)($|\\s.*$)",caseInsensitive:!0},{token:"comment.line.colons.dosbatch",regex:"::.*$"},{include:"variable"},{token:"punctuation.definition.string.begin.shell",regex:'"',push:[{token:"punctuation.definition.string.end.shell",regex:'"',next:"pop"},{include:"variable"},{defaultToken:"string.quoted.double.dosbatch"}]},{token:"keyword.operator.pipe.dosbatch",regex:"[|]"},{token:"keyword.operator.redirect.shell",regex:"&>|\\d*>&\\d*|\\d*(?:>>|>|<)|\\d*<&|\\d*<>"}],variable:[{token:"constant.numeric",regex:"%%\\w+|%[*\\d]|%\\w+%"},{token:"constant.numeric",regex:"%~\\d+"},{token:["markup.list","constant.other","markup.list"],regex:"(%)(\\w+)(%?)"}]},this.normalizeRules()};s.metaData={name:"Batch File",scopeName:"source.dosbatch",fileTypes:["bat"]},r.inherits(s,i),t.BatchFileHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/batchfile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/batchfile_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./batchfile_highlight_rules").BatchFileHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="::",this.blockComment="",this.$id="ace/mode/batchfile"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-c9search.js b/library/ace/mode-c9search.js
new file mode 100644
index 000000000..63cf61924
--- /dev/null
+++ b/library/ace/mode-c9search.js
@@ -0,0 +1 @@
+ace.define("ace/mode/c9search_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function o(e,t){try{return new RegExp(e,t)}catch(n){}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,u=function(){this.$rules={start:[{tokenNames:["c9searchresults.constant.numeric","c9searchresults.text","c9searchresults.text","c9searchresults.keyword"],regex:/(^\s+[0-9]+)(:)(\d*\s?)([^\r\n]+)/,onMatch:function(e,t,n){var r=this.splitRegex.exec(e),i=this.tokenNames,s=[{type:i[0],value:r[1]},{type:i[1],value:r[2]}];r[3]&&(r[3]==" "?s[1]={type:i[1],value:r[2]+" "}:s.push({type:i[1],value:r[3]}));var o=n[1],u=r[4],a,f=0;if(o&&o.exec){o.lastIndex=0;while(a=o.exec(u)){var l=u.substring(f,a.index);f=o.lastIndex,l&&s.push({type:i[2],value:l});if(a[0])s.push({type:i[3],value:a[0]});else if(!l)break}}return f<u.length&&s.push({type:i[2],value:u.substr(f)}),s}},{regex:"^Searching for [^\\r\\n]*$",onMatch:function(e,t,n){var r=e.split("");if(r.length<3)return"text";var s,u,a,f=0,l=[{value:r[f++]+"'",type:"text"},{value:u=r[f++],type:"text"},{value:"'"+r[f++],type:"text"}];r[2]!==" in"&&(a=r[f],l.push({value:"'"+r[f++]+"'",type:"text"},{value:r[f++],type:"text"})),l.push({value:" "+r[f++]+" ",type:"text"}),r[f+1]?(s=r[f+1],l.push({value:"("+r[f+1]+")",type:"text"}),f+=1):f-=1;while(f++<r.length)r[f]&&l.push({value:r[f],type:"text"});a&&(u=a,s=""),u&&(/regex/.test(s)||(u=i.escapeRegExp(u)),/whole/.test(s)&&(u="\\b"+u+"\\b"));var c=u&&o("("+u+")",/ sensitive/.test(s)?"g":"ig");return c&&(n[0]=t,n[1]=c),l}},{regex:"^(?=Found \\d+ matches)",token:"text",next:"numbers"},{token:"string",regex:"^\\S:?[^:]+",next:"numbers"}],numbers:[{regex:"\\d+",token:"constant.numeric"},{regex:"$",token:"text",next:"start"}]},this.normalizeRules()};r.inherits(u,s),t.C9SearchHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/c9search",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/^(\S.*\:|Searching for.*)$/,this.foldingStopMarker=/^(\s+|Found.*)$/,this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getAllLines(n),s=r[n],o=/^(Found.*|Searching for.*)$/,u=/^(\S.*\:|\s*)$/,a=o.test(s)?o:u,f=n,l=n;if(this.foldingStartMarker.test(s)){for(var c=n+1,h=e.getLength();c<h;c++)if(a.test(r[c]))break;l=c}else if(this.foldingStopMarker.test(s)){for(var c=n-1;c>=0;c--){s=r[c];if(a.test(s))break}f=c}if(f!=l){var p=s.length;return a===o&&(p=s.search(/\(Found[^)]+\)$|$/)),new i(f,p,l,0)}}}.call(o.prototype)}),ace.define("ace/mode/c9search",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c9search_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/c9search"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c9search_highlight_rules").C9SearchHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./folding/c9search").FoldMode,a=function(){this.HighlightRules=s,this.$outdent=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c9search"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-c_cpp.js b/library/ace/mode-c_cpp.js
new file mode 100644
index 000000000..7b06cb327
--- /dev/null
+++ b/library/ace/mode-c_cpp.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-cirru.js b/library/ace/mode-cirru.js
new file mode 100644
index 000000000..73fd5da8d
--- /dev/null
+++ b/library/ace/mode-cirru.js
@@ -0,0 +1 @@
+ace.define("ace/mode/cirru_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"constant.numeric",regex:/[\d\.]+/},{token:"comment.line.double-dash",regex:/--/,next:"comment"},{token:"storage.modifier",regex:/\(/},{token:"storage.modifier",regex:/\,/,next:"line"},{token:"support.function",regex:/[^\(\)\"\s]+/,next:"line"},{token:"string.quoted.double",regex:/"/,next:"string"},{token:"storage.modifier",regex:/\)/}],comment:[{token:"comment.line.double-dash",regex:/\ +[^\n]+/,next:"start"}],string:[{token:"string.quoted.double",regex:/"/,next:"line"},{token:"constant.character.escape",regex:/\\/,next:"escape"},{token:"string.quoted.double",regex:/[^\\\"]+/}],escape:[{token:"constant.character.escape",regex:/./,next:"string"}],line:[{token:"constant.numeric",regex:/[\d\.]+/},{token:"markup.raw",regex:/^\s*/,next:"start"},{token:"storage.modifier",regex:/\$/,next:"start"},{token:"variable.parameter",regex:/[^\(\)\"\s]+/},{token:"storage.modifier",regex:/\(/,next:"start"},{token:"storage.modifier",regex:/\)/},{token:"markup.raw",regex:/^\ */,next:"start"},{token:"string.quoted.double",regex:/"/,next:"string"}]}};r.inherits(s,i),t.CirruHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/cirru",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/cirru_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./cirru_highlight_rules").CirruHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/cirru"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-clojure.js b/library/ace/mode-clojure.js
new file mode 100644
index 000000000..c1bc4f186
--- /dev/null
+++ b/library/ace/mode-clojure.js
@@ -0,0 +1 @@
+ace.define("ace/mode/clojure_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - -> ->> .. / < <= = == > &gt; >= &gt;= accessor aclone add-classpath add-watch agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq zero? zipmap",t="throw try var def do fn if let loop monitor-enter monitor-exit new quote recur set!",n="true false nil",r=this.createKeywordMapper({keyword:t,"constant.language":n,"support.function":e},"identifier",!1," ");this.$rules={start:[{token:"comment",regex:";.*$"},{token:"keyword",regex:"[\\(|\\)]"},{token:"keyword",regex:"[\\'\\(]"},{token:"keyword",regex:"[\\[|\\]]"},{token:"keyword",regex:"[\\{|\\}|\\#\\{|\\#\\}]"},{token:"keyword",regex:"[\\&]"},{token:"keyword",regex:"[\\#\\^\\{]"},{token:"keyword",regex:"[\\%]"},{token:"keyword",regex:"[@]"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"string",regex:'"',next:"string"},{token:"constant",regex:/:[^()\[\]{}'"\^%`,;\s]+/},{token:"string.regexp",regex:'/#"(?:\\.|(?:\\")|[^""\n])*"/g'}],string:[{token:"constant.language.escape",regex:"\\\\.|\\\\$"},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"}]}};r.inherits(s,i),t.ClojureHighlightRules=s}),ace.define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\)/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\))/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(i.prototype),t.MatchingParensOutdent=i}),ace.define("ace/mode/clojure",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/clojure_highlight_rules","ace/mode/matching_parens_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./clojure_highlight_rules").ClojureHighlightRules,o=e("./matching_parens_outdent").MatchingParensOutdent,u=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(u,i),function(){this.lineCommentStart=";",this.minorIndentFunctions=["defn","defn-","defmacro","def","deftest","testing"],this.$toIndent=function(e){return e.split("").map(function(e){return/\s/.exec(e)?e:" "}).join("")},this.$calculateIndent=function(e,t){var n=this.$getIndent(e),r=0,i,s;for(var o=e.length-1;o>=0;o--){s=e[o],s==="("?(r--,i=!0):s==="("||s==="["||s==="{"?(r--,i=!1):(s===")"||s==="]"||s==="}")&&r++;if(r<0)break}if(!(r<0&&i))return r<0&&!i?this.$toIndent(e.substring(0,o+1)):r>0?(n=n.substring(0,n.length-t.length),n):n;o+=1;var u=o,a="";for(;;){s=e[o];if(s===" "||s===" ")return this.minorIndentFunctions.indexOf(a)!==-1?this.$toIndent(e.substring(0,u-1)+t):this.$toIndent(e.substring(0,o+1));if(s===undefined)return this.$toIndent(e.substring(0,u-1)+t);a+=e[o],o++}},this.getNextLineIndent=function(e,t,n){return this.$calculateIndent(t,n)},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/clojure"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-cobol.js b/library/ace/mode-cobol.js
new file mode 100644
index 000000000..2f766c1a7
--- /dev/null
+++ b/library/ace/mode-cobol.js
@@ -0,0 +1 @@
+ace.define("ace/mode/cobol_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="ACCEPT|MERGE|SUM|ADD||MESSAGE|TABLE|ADVANCING|MODE|TAPE|AFTER|MULTIPLY|TEST|ALL|NEGATIVE|TEXT|ALPHABET|NEXT|THAN|ALSO|NO|THEN|ALTERNATE|NOT|THROUGH|AND|NUMBER|THRU|ANY|OCCURS|TIME|ARE|OF|TO|AREA|OFF|TOP||ASCENDING|OMITTED|TRUE|ASSIGN|ON|TYPE|AT|OPEN|UNIT|AUTHOR|OR|UNTIL|BEFORE|OTHER|UP|BLANK|OUTPUT|USE|BLOCK|PAGE|USING|BOTTOM|PERFORM|VALUE|BY|PIC|VALUES|CALL|PICTURE|WHEN|CANCEL|PLUS|WITH|CD|POINTER|WRITE|CHARACTER|POSITION||ZERO|CLOSE|POSITIVE|ZEROS|COLUMN|PROCEDURE|ZEROES|COMMA|PROGRAM|COMMON|PROGRAM-ID|COMMUNICATION|QUOTE|COMP|RANDOM|COMPUTE|READ|CONTAINS|RECEIVE|CONFIGURATION|RECORD|CONTINUE|REDEFINES|CONTROL|REFERENCE|COPY|REMAINDER|COUNT|REPLACE|DATA|REPORT|DATE|RESERVE|DAY|RESET|DELETE|RETURN|DESTINATION|REWIND|DISABLE|REWRITE|DISPLAY|RIGHT|DIVIDE|RUN|DOWN|SAME|ELSE|SEARCH|ENABLE|SECTION|END|SELECT|ENVIRONMENT|SENTENCE|EQUAL|SET|ERROR|SIGN|EXIT|SEQUENTIAL|EXTERNAL|SIZE|FLASE|SORT|FILE|SOURCE|LENGTH|SPACE|LESS|STANDARD|LIMIT|START|LINE|STOP|LOCK|STRING|LOW-VALUE|SUBTRACT",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\*.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.CobolHighlightRules=s}),ace.define("ace/mode/cobol",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/cobol_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./cobol_highlight_rules").CobolHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="*",this.$id="ace/mode/cobol"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-coffee.js b/library/ace/mode-coffee.js
new file mode 100644
index 000000000..a4755bb8a
--- /dev/null
+++ b/library/ace/mode-coffee.js
@@ -0,0 +1 @@
+ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this|throw|then|try|typeof|super|switch|return|break|by|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|own|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes",n="true|false|null|undefined|NaN|Infinity",r="case|const|default|function|var|void|with|enum|export|implements|interface|let|package|private|protected|public|static|yield|__hasProp|slice|bind|indexOf",i="Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray",s="Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|String|",o="window|arguments|prototype|document",u=this.createKeywordMapper({keyword:t,"constant.language":n,"invalid.illegal":r,"language.support.class":i,"language.support.function":s,"variable.language":o},"identifier"),a={token:["paren.lparen","variable.parameter","paren.rparen","text","storage.type"],regex:/(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()\"'\/])*?)(\))(\s*))?([\-=]>)/.source},f=/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;this.$rules={start:[{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{stateName:"qdoc",token:"string",regex:"'''",next:[{token:"string",regex:"'''",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqdoc",token:"string",regex:'"""',next:[{token:"string",regex:'"""',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qstring",token:"string",regex:"'",next:[{token:"string",regex:"'",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"js",token:"string",regex:"`",next:[{token:"string",regex:"`",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{regex:"[{}]",onMatch:function(e,t,n){this.next="";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift()||"";if(this.next.indexOf("string")!=-1)return"paren.string"}return"paren"}},{token:"string.regex",regex:"///",next:"heregex"},{token:"string.regex",regex:/(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/},{token:"comment",regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:["punctuation.operator","text","identifier"],regex:"(\\.)(\\s*)("+r+")"},{token:"punctuation.operator",regex:"\\.{1,3}"},{token:["keyword","text","language.support.class","text","keyword","text","language.support.class"],regex:"(class)(\\s+)("+e+")(?:(\\s+)(extends)(\\s+)("+e+"))?"},{token:["entity.name.function","text","keyword.operator","text"].concat(a.token),regex:"("+e+")(\\s*)([=:])(\\s*)"+a.regex},a,{token:"variable",regex:"@(?:"+e+")?"},{token:u,regex:e},{token:"punctuation.operator",regex:"\\,|\\."},{token:"storage.type",regex:"[\\-=]>"},{token:"keyword.operator",regex:"(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],comment:[{token:"comment",regex:"###",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.CoffeeHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/coffee",["require","exports","module","ace/mode/coffee_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/worker/worker_client","ace/lib/oop"],function(e,t,n){"use strict";function l(){this.HighlightRules=r,this.$outdent=new i,this.foldingRules=new s}var r=e("./coffee_highlight_rules").CoffeeHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("./folding/coffee").FoldMode,o=e("../range").Range,u=e("./text").Mode,a=e("../worker/worker_client").WorkerClient,f=e("../lib/oop");f.inherits(l,u),function(){var e=/(?:[({[=:]|[-=]>|\b(?:else|try|(?:swi|ca)tch(?:\s+[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$|^\s*(else\b\s*)?(?:if|for|while|loop)\b(?!.*\bthen\b)/;this.lineCommentStart="#",this.blockComment={start:"###",end:"###"},this.getNextLineIndent=function(t,n,r){var i=this.$getIndent(n),s=this.getTokenizer().getLineTokens(n,t).tokens;return(!s.length||s[s.length-1].type!=="comment")&&t==="start"&&e.test(n)&&(i+=r),i},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/coffee_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/coffee"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-coldfusion.js b/library/ace/mode-coldfusion.js
new file mode 100644
index 000000000..7695462e7
--- /dev/null
+++ b/library/ace/mode-coldfusion.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/coldfusion_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=function(){s.call(this),this.$rules.tag[2].token=function(e,t){var n=t.slice(0,2)=="cf"?"keyword":"meta.tag";return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml",n+".tag-name.xml"]};var e=Object.keys(this.$rules).filter(function(e){return/^(js|css)-/.test(e)});this.embedRules({cfmlComment:[{regex:"<!---",token:"comment.start",push:"cfmlComment"},{regex:"--->",token:"comment.end",next:"pop"},{defaultToken:"comment"}]},"",[{regex:"<!---",token:"comment.start",push:"cfmlComment"}],["comment","start","tag_whitespace","cdata"].concat(e)),this.$rules.cfTag=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"pop"}];var t={token:function(e,t){return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","keyword.tag-name.xml"]},regex:"(</?)(cf[-_a-zA-Z0-9:.]+)",push:"cfTag"};e.forEach(function(e){this.$rules[e].unshift(t)},this),this.embedTagRules((new i({noJSX:!0})).getRules(),"cfjs-","cfscript"),this.normalizeRules()};r.inherits(o,s),t.ColdfusionHighlightRules=o}),ace.define("ace/mode/coldfusion",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/html","ace/mode/coldfusion_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./html").Mode,o=e("./coldfusion_highlight_rules").ColdfusionHighlightRules,u="cfabort|cfapplication|cfargument|cfassociate|cfbreak|cfcache|cfcollection|cfcookie|cfdbinfo|cfdirectory|cfdump|cfelse|cfelseif|cferror|cfexchangecalendar|cfexchangeconnection|cfexchangecontact|cfexchangefilter|cfexchangetask|cfexit|cffeed|cffile|cfflush|cfftp|cfheader|cfhtmlhead|cfhttpparam|cfimage|cfimport|cfinclude|cfindex|cfinsert|cfinvokeargument|cflocation|cflog|cfmailparam|cfNTauthenticate|cfobject|cfobjectcache|cfparam|cfpdfformparam|cfprint|cfprocparam|cfprocresult|cfproperty|cfqueryparam|cfregistry|cfreportparam|cfrethrow|cfreturn|cfschedule|cfsearch|cfset|cfsetting|cfthrow|cfzipparam)".split("|"),a=function(){s.call(this),this.HighlightRules=o};r.inherits(a,s),function(){this.voidElements=r.mixin(i.arrayToMap(u),this.voidElements),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.$id="ace/mode/coldfusion"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-csharp.js b/library/ace/mode-csharp.js
new file mode 100644
index 000000000..2af044763
--- /dev/null
+++ b/library/ace/mode-csharp.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/csharp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"abstract|event|new|struct|as|explicit|null|switch|base|extern|object|this|bool|false|operator|throw|break|finally|out|true|byte|fixed|override|try|case|float|params|typeof|catch|for|private|uint|char|foreach|protected|ulong|checked|goto|public|unchecked|class|if|readonly|unsafe|const|implicit|ref|ushort|continue|in|return|using|decimal|int|sbyte|virtual|default|interface|sealed|volatile|delegate|internal|short|void|do|is|sizeof|while|double|lock|stackalloc|else|long|static|enum|namespace|string|var|dynamic","constant.language":"null|true|false"},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:/'(?:.|\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n]))'/},{token:"string",start:'"',end:'"|$',next:[{token:"constant.language.escape",regex:/\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},{token:"invalid",regex:/\\./}]},{token:"string",start:'@"',end:'"',next:[{token:"constant.language.escape",regex:'""'}]},{token:"string",start:/\$"/,end:'"|$',next:[{token:"constant.language.escape",regex:/\\(:?$)|{{/},{token:"constant.language.escape",regex:/\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},{token:"invalid",regex:/\\./}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"keyword",regex:"^\\s*#(if|else|elif|endif|define|undef|warning|error|line|region|endregion|pragma)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(o,s),t.CSharpHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/folding/csharp",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./cstyle").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.usingRe=/^\s*using \S/,this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=this.getFoldWidgetBase(e,t,n);if(!r){var i=e.getLine(n);if(/^\s*#region\b/.test(i))return"start";var s=this.usingRe;if(s.test(i)){var o=e.getLine(n-1),u=e.getLine(n+1);if(!s.test(o)&&s.test(u))return"start"}}return r},this.getFoldWidgetRange=function(e,t,n){var r=this.getFoldWidgetRangeBase(e,t,n);if(r)return r;var i=e.getLine(n);if(this.usingRe.test(i))return this.getUsingStatementBlock(e,i,n);if(/^\s*#region\b/.test(i))return this.getRegionBlock(e,i,n)},this.getUsingStatementBlock=function(e,t,n){var r=t.match(this.usingRe)[0].length-1,s=e.getLength(),o=n,u=n;while(++n<s){t=e.getLine(n);if(/^\s*$/.test(t))continue;if(!this.usingRe.test(t))break;u=n}if(u>o){var a=e.getLine(u).length;return new i(o,r,u,a)}},this.getRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*#(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/csharp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csharp_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/csharp"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./csharp_highlight_rules").CSharpHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/csharp").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null},this.$id="ace/mode/csharp"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-css.js b/library/ace/mode-css.js
new file mode 100644
index 000000000..84cd16c66
--- /dev/null
+++ b/library/ace/mode-css.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/library/ace/mode-curly.js b/library/ace/mode-curly.js
new file mode 100644
index 000000000..a0d0bbe56
--- /dev/null
+++ b/library/ace/mode-curly.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/curly_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this),this.$rules.start.unshift({token:"variable",regex:"{{",push:"curly-start"}),this.$rules["curly-start"]=[{token:"variable",regex:"}}",next:"pop"}],this.normalizeRules()};r.inherits(s,i),t.CurlyHighlightRules=s}),ace.define("ace/mode/curly",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/matching_brace_outdent","ace/mode/html_highlight_rules","ace/mode/folding/html","ace/mode/curly_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./matching_brace_outdent").MatchingBraceOutdent,o=e("./html_highlight_rules").HtmlHighlightRules,u=e("./folding/html").FoldMode,a=e("./curly_highlight_rules").CurlyHighlightRules,f=function(){i.call(this),this.HighlightRules=a,this.$outdent=new s,this.foldingRules=new u};r.inherits(f,i),function(){this.$id="ace/mode/curly"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-d.js b/library/ace/mode-d.js
new file mode 100644
index 000000000..56b2650b7
--- /dev/null
+++ b/library/ace/mode-d.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/d_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="this|super|import|module|body|mixin|__traits|invariant|alias|asm|delete|typeof|typeid|sizeof|cast|new|in|is|typedef|__vector|__parameters",t="break|case|continue|default|do|else|for|foreach|foreach_reverse|goto|if|return|switch|while|catch|try|throw|finally|version|assert|unittest|with",n="auto|bool|char|dchar|wchar|byte|ubyte|float|double|real|cfloat|creal|cdouble|cent|ifloat|ireal|idouble|int|long|short|void|uint|ulong|ushort|ucent|function|delegate|string|wstring|dstring|size_t|ptrdiff_t|hash_t|Object",r="abstract|align|debug|deprecated|export|extern|const|final|in|inout|out|ref|immutable|lazy|nothrow|override|package|pragma|private|protected|public|pure|scope|shared|__gshared|synchronized|static|volatile",s="class|struct|union|template|interface|enum|macro",o={token:"constant.language.escape",regex:"\\\\(?:(?:x[0-9A-F]{2})|(?:[0-7]{1,3})|(?:['\"\\?0abfnrtv\\\\])|(?:u[0-9a-fA-F]{4})|(?:U[0-9a-fA-F]{8}))"},u="null|true|false|__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__",a="/|/\\=|&|&\\=|&&|\\|\\|\\=|\\|\\||\\-|\\-\\=|\\-\\-|\\+|\\+\\=|\\+\\+|\\<|\\<\\=|\\<\\<|\\<\\<\\=|\\<\\>|\\<\\>\\=|\\>|\\>\\=|\\>\\>\\=|\\>\\>\\>\\=|\\>\\>|\\>\\>\\>|\\!|\\!\\=|\\!\\<\\>|\\!\\<\\>\\=|\\!\\<|\\!\\<\\=|\\!\\>|\\!\\>\\=|\\?|\\$|\\=|\\=\\=|\\*|\\*\\=|%|%\\=|\\^|\\^\\=|\\^\\^|\\^\\^\\=|~|~\\=|\\=\\>|#",f=this.$keywords=this.createKeywordMapper({"keyword.modifier":r,"keyword.control":t,"keyword.type":n,keyword:e,"keyword.storage":s,punctation:"\\.|\\,|;|\\.\\.|\\.\\.\\.","keyword.operator":a,"constant.language":u},"identifier"),l="[a-zA-Z_\u00a1-\uffff][a-zA-Z\\d_\u00a1-\uffff]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"star-comment"},{token:"comment.shebang",regex:"^s*#!.*"},{token:"comment",regex:"\\/\\+",next:"plus-comment"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[\\[\\(\\{\\<]+)',next:"operator-heredoc-string"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[a-zA-Z_]+)$',next:"identifier-heredoc-string"},{token:"string",regex:'[xr]?"',next:"quote-string"},{token:"string",regex:"[xr]?`",next:"backtick-string"},{token:"string",regex:"[xr]?['](?:(?:\\\\.)|(?:[^'\\\\]))*?['][cdw]?"},{token:["keyword","text","paren.lparen"],regex:/(asm)(\s*)({)/,next:"d-asm"},{token:["keyword","text","paren.lparen","constant.language"],regex:"(__traits)(\\s*)(\\()("+l+")"},{token:["keyword","text","variable.module"],regex:"(import|module)(\\s+)((?:"+l+"\\.?)*)"},{token:["keyword.storage","text","entity.name.type"],regex:"("+s+")(\\s*)("+l+")"},{token:["keyword","text","variable.storage","text"],regex:"(alias|typedef)(\\s*)("+l+")(\\s*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F_]+(l|ul|u|f|F|L|U|UL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d[\\d_]*(?:(?:\\.[\\d_]*)?(?:[eE][+-]?[\\d_]+)?)?(l|ul|u|f|F|L|U|UL)?\\b"},{token:"entity.other.attribute-name",regex:"@"+l},{token:f,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:a},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.|\\:"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],"star-comment":[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],"plus-comment":[{token:"comment",regex:"\\+\\/",next:"start"},{defaultToken:"comment"}],"quote-string":[o,{token:"string",regex:'"[cdw]?',next:"start"},{defaultToken:"string"}],"backtick-string":[o,{token:"string",regex:"`[cdw]?",next:"start"},{defaultToken:"string"}],"operator-heredoc-string":[{onMatch:function(e,t,n){e=e.substring(e.length-2,e.length-1);var r={">":"<","]":"[",")":"(","}":"{"};return Object.keys(r).indexOf(e)!=-1&&(e=r[e]),e!=n[1]?"string":(n.shift(),n.shift(),"string")},regex:'(?:[\\]\\)}>]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"identifier-heredoc-string":[{onMatch:function(e,t,n){return e=e.substring(0,e.length-1),e!=n[1]?"string":(n.shift(),n.shift(),"string")},regex:'^(?:[A-Za-z_][a-zA-Z0-9]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"d-asm":[{token:"paren.rparen",regex:"\\}",next:"start"},{token:"keyword.instruction",regex:"[a-zA-Z]+",next:"d-asm-instruction"},{token:"text",regex:"\\s+"}],"d-asm-instruction":[{token:"constant.language",regex:/AL|AH|AX|EAX|BL|BH|BX|EBX|CL|CH|CX|ECX|DL|DH|DX|EDX|BP|EBP|SP|ESP|DI|EDI|SI|ESI/i},{token:"identifier",regex:"[a-zA-Z]+"},{token:"string",regex:'".*"'},{token:"comment",regex:"//.*$"},{token:"constant.numeric",regex:"[0-9.xA-F]+"},{token:"punctuation.operator",regex:"\\,"},{token:"punctuation.operator",regex:";",next:"d-asm"},{token:"text",regex:"\\s+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};o.metaData={comment:"D language",fileTypes:["d","di"],firstLineMatch:"^#!.*\\b[glr]?dmd\\b.",foldingStartMarker:"(?x)/\\*\\*(?!\\*)|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))",foldingStopMarker:"(?<!\\*)\\*\\*/|^\\s*\\}",keyEquivalent:"^~D",name:"D",scopeName:"source.d"},r.inherits(o,s),t.DHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/d",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/d_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./d_highlight_rules").DHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/d"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-dart.js b/library/ace/mode-dart.js
new file mode 100644
index 000000000..c8d5b399f
--- /dev/null
+++ b/library/ace/mode-dart.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/dart_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="true|false|null",t="this|super",n="try|catch|finally|throw|rethrow|assert|break|case|continue|default|do|else|for|if|in|return|switch|while|new|deferred|async|await",r="abstract|class|extends|external|factory|implements|get|native|operator|set|typedef|with|enum",s="static|final|const",o="void|bool|num|int|double|dynamic|var|String",u=this.createKeywordMapper({"constant.language.dart":e,"variable.language.dart":t,"keyword.control.dart":n,"keyword.declaration.dart":r,"storage.modifier.dart":s,"storage.type.primitive.dart":o},"identifier"),a={token:"string",regex:".+"};this.$rules={start:[{token:"comment",regex:/\/\/.*$/},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:["meta.preprocessor.script.dart"],regex:"^(#!.*)$"},{token:"keyword.other.import.dart",regex:"(?:\\b)(?:library|import|export|part|of|show|hide)(?:\\b)"},{token:["keyword.other.import.dart","text"],regex:"(?:\\b)(prefix)(\\s*:)"},{regex:"\\bas\\b",token:"keyword.cast.dart"},{regex:"\\?|:",token:"keyword.control.ternary.dart"},{regex:"(?:\\b)(is\\!?)(?:\\b)",token:["keyword.operator.dart"]},{regex:"(<<|>>>?|~|\\^|\\||&)",token:["keyword.operator.bitwise.dart"]},{regex:"((?:&|\\^|\\||<<|>>>?)=)",token:["keyword.operator.assignment.bitwise.dart"]},{regex:"(===?|!==?|<=?|>=?)",token:["keyword.operator.comparison.dart"]},{regex:"((?:[+*/%-]|\\~)=)",token:["keyword.operator.assignment.arithmetic.dart"]},{regex:"=",token:"keyword.operator.assignment.dart"},{token:"string",regex:"'''",next:"qdoc"},{token:"string",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{regex:"(\\-\\-|\\+\\+)",token:["keyword.operator.increment-decrement.dart"]},{regex:"(\\-|\\+|\\*|\\/|\\~\\/|%)",token:["keyword.operator.arithmetic.dart"]},{regex:"(!|&&|\\|\\|)",token:["keyword.operator.logical.dart"]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"start"},a],qqdoc:[{token:"string",regex:'.*?"""',next:"start"},a],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"start"},a],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"start"},a]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.DartHighlightRules=o}),ace.define("ace/mode/dart",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/dart_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("./dart_highlight_rules").DartHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/dart"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-diff.js b/library/ace/mode-diff.js
new file mode 100644
index 000000000..7760fe794
--- /dev/null
+++ b/library/ace/mode-diff.js
@@ -0,0 +1 @@
+ace.define("ace/mode/diff_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{regex:"^(?:\\*{15}|={67}|-{3}|\\+{3})$",token:"punctuation.definition.separator.diff",name:"keyword"},{regex:"^(@@)(\\s*.+?\\s*)(@@)(.*)$",token:["constant","constant.numeric","constant","comment.doc.tag"]},{regex:"^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",token:["constant.numeric","punctuation.definition.range.diff","constant.function","constant.numeric","punctuation.definition.range.diff","invalid"],name:"meta."},{regex:"^(\\-{3}|\\+{3}|\\*{3})( .+)$",token:["constant.numeric","meta.tag"]},{regex:"^([!+>])(.*?)(\\s*)$",token:["support.constant","text","invalid"]},{regex:"^([<\\-])(.*?)(\\s*)$",token:["support.function","string","invalid"]},{regex:"^(diff)(\\s+--\\w+)?(.+?)( .+)?$",token:["variable","variable","keyword","variable"]},{regex:"^Index.+$",token:"variable"},{regex:"^\\s+$",token:"text"},{regex:"\\s*$",token:"invalid"},{defaultToken:"invisible",caseInsensitive:!0}]}};r.inherits(s,i),t.DiffHighlightRules=s}),ace.define("ace/mode/folding/diff",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(e,t){this.regExpList=e,this.flag=t,this.foldingStartMarker=RegExp("^("+e.join("|")+")",this.flag)};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i={row:n,column:r.length},o=this.regExpList;for(var u=1;u<=o.length;u++){var a=RegExp("^("+o.slice(0,u).join("|")+")",this.flag);if(a.test(r))break}for(var f=e.getLength();++n<f;){r=e.getLine(n);if(a.test(r))break}if(n==i.row+1)return;return s.fromPoints(i,{row:n-1,column:r.length})}}.call(o.prototype)}),ace.define("ace/mode/diff",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/diff_highlight_rules","ace/mode/folding/diff"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./diff_highlight_rules").DiffHighlightRules,o=e("./folding/diff").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o(["diff","index","\\+{3}","@@|\\*{5}"],"i")};r.inherits(u,i),function(){this.$id="ace/mode/diff"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-django.js b/library/ace/mode-django.js
new file mode 100644
index 000000000..33ed7c36f
--- /dev/null
+++ b/library/ace/mode-django.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/django",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html").Mode,s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){this.$rules={start:[{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant",regex:"[0-9]+"},{token:"variable",regex:"[-_a-zA-Z0-9:]+"}],comment:[{token:"comment.block",merge:!0,regex:".+?"}],tag:[{token:"entity.name.function",regex:"[a-zA-Z][_a-zA-Z0-9]*",next:"start"}]}};r.inherits(u,o);var a=function(){this.$rules=(new s).getRules();for(var e in this.$rules)this.$rules[e].unshift({token:"comment.line",regex:"\\{#.*?#\\}"},{token:"comment.block",regex:"\\{\\%\\s*comment\\s*\\%\\}",merge:!0,next:"django-comment"},{token:"constant.language",regex:"\\{\\{",next:"django-start"},{token:"constant.language",regex:"\\{\\%",next:"django-tag"}),this.embedRules(u,"django-",[{token:"comment.block",regex:"\\{\\%\\s*endcomment\\s*\\%\\}",merge:!0,next:"start"},{token:"constant.language",regex:"\\%\\}",next:"start"},{token:"constant.language",regex:"\\}\\}",next:"start"}])};r.inherits(a,s);var f=function(){i.call(this),this.HighlightRules=a};r.inherits(f,i),function(){this.$id="ace/mode/django"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-dockerfile.js b/library/ace/mode-dockerfile.js
new file mode 100644
index 000000000..7c6c44783
--- /dev/null
+++ b/library/ace/mode-dockerfile.js
@@ -0,0 +1 @@
+ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z_][a-zA-Z0-9_]*",c="(?:"+l+"=)",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[4]),[{type:"constant",value:i[1]},{type:"text",value:i[2]},{type:"string",value:i[3]},{type:"support.class",value:i[4]},{type:"string",value:i[5]}]},rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:h},{token:"variable",regex:c},{include:"variables"},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sh_highlight_rules").ShHighlightRules,o=e("../range").Range,u=e("./folding/cstyle").FoldMode,a=e("./behaviour/cstyle").CstyleBehaviour,f=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new a};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new o(n,r.length-i.length,n,r.length))},this.$id="ace/mode/sh"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/dockerfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/sh_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./sh_highlight_rules").ShHighlightRules,s=function(){i.call(this);var e=this.$rules.start;for(var t=0;t<e.length;t++)if(e[t].token=="variable.language"){e.splice(t,0,{token:"constant.language",regex:"(?:^(?:FROM|MAINTAINER|RUN|CMD|EXPOSE|ENV|ADD|ENTRYPOINT|VOLUME|USER|WORKDIR|ONBUILD|COPY|LABEL)\\b)",caseInsensitive:!0});break}};r.inherits(s,i),t.DockerfileHighlightRules=s}),ace.define("ace/mode/dockerfile",["require","exports","module","ace/lib/oop","ace/mode/sh","ace/mode/dockerfile_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./sh").Mode,s=e("./dockerfile_highlight_rules").DockerfileHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/dockerfile"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-dot.js b/library/ace/mode-dot.js
new file mode 100644
index 000000000..5cd26938f
--- /dev/null
+++ b/library/ace/mode-dot.js
@@ -0,0 +1 @@
+ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/dot_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/doc_comment_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,u=function(){var e=i.arrayToMap("strict|node|edge|graph|digraph|subgraph".split("|")),t=i.arrayToMap("damping|k|url|area|arrowhead|arrowsize|arrowtail|aspect|bb|bgcolor|center|charset|clusterrank|color|colorscheme|comment|compound|concentrate|constraint|decorate|defaultdist|dim|dimen|dir|diredgeconstraints|distortion|dpi|edgeurl|edgehref|edgetarget|edgetooltip|epsilon|esep|fillcolor|fixedsize|fontcolor|fontname|fontnames|fontpath|fontsize|forcelabels|gradientangle|group|headurl|head_lp|headclip|headhref|headlabel|headport|headtarget|headtooltip|height|href|id|image|imagepath|imagescale|label|labelurl|label_scheme|labelangle|labeldistance|labelfloat|labelfontcolor|labelfontname|labelfontsize|labelhref|labeljust|labelloc|labeltarget|labeltooltip|landscape|layer|layerlistsep|layers|layerselect|layersep|layout|len|levels|levelsgap|lhead|lheight|lp|ltail|lwidth|margin|maxiter|mclimit|mindist|minlen|mode|model|mosek|nodesep|nojustify|normalize|nslimit|nslimit1|ordering|orientation|outputorder|overlap|overlap_scaling|pack|packmode|pad|page|pagedir|pencolor|penwidth|peripheries|pin|pos|quadtree|quantum|rank|rankdir|ranksep|ratio|rects|regular|remincross|repulsiveforce|resolution|root|rotate|rotation|samehead|sametail|samplepoints|scale|searchsize|sep|shape|shapefile|showboxes|sides|size|skew|smoothing|sortv|splines|start|style|stylesheet|tailurl|tail_lp|tailclip|tailhref|taillabel|tailport|tailtarget|tailtooltip|target|tooltip|truecolor|vertices|viewport|voro_margin|weight|width|xlabel|xlp|z".split("|"));this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/#.*$/},{token:"comment",merge:!0,regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/[+\-]?\d+(?:(?:\.\d*)?(?:[eE][+\-]?\d+)?)?\b/},{token:"keyword.operator",regex:/\+|=|\->/},{token:"punctuation.operator",regex:/,|;/},{token:"paren.lparen",regex:/[\[{]/},{token:"paren.rparen",regex:/[\]}]/},{token:"comment",regex:/^#!.*$/},{token:function(n){return e.hasOwnProperty(n.toLowerCase())?"keyword":t.hasOwnProperty(n.toLowerCase())?"variable":"text"},regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],comment:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"start"},{token:"comment",merge:!0,regex:".+"}],qqstring:[{token:"string",regex:'[^"\\\\]+',merge:!0},{token:"string",regex:"\\\\$",next:"qqstring",merge:!0},{token:"string",regex:'"|$',next:"start",merge:!0}],qstring:[{token:"string",regex:"[^'\\\\]+",merge:!0},{token:"string",regex:"\\\\$",next:"qstring",merge:!0},{token:"string",regex:"'|$",next:"start",merge:!0}]}};r.inherits(u,s),t.DotHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/dot",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/matching_brace_outdent","ace/mode/dot_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./matching_brace_outdent").MatchingBraceOutdent,o=e("./dot_highlight_rules").DotHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.$outdent=new s,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/dot"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-eiffel.js b/library/ace/mode-eiffel.js
new file mode 100644
index 000000000..e0d358d89
--- /dev/null
+++ b/library/ace/mode-eiffel.js
@@ -0,0 +1 @@
+ace.define("ace/mode/eiffel_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="across|agent|alias|all|attached|as|assign|attribute|check|class|convert|create|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|Precursor|redefine|rename|require|rescue|retry|select|separate|some|then|undefine|until|variant|when",t="and|implies|or|xor",n="Void",r="True|False",i="Current|Result",s=this.createKeywordMapper({"constant.language":n,"constant.language.boolean":r,"variable.language":i,"keyword.operator":t,keyword:e},"identifier",!0),o=/(?:[^"%\b\f\v]|%[A-DFHLNQR-V%'"()<>]|%\/(?:0[xX][\da-fA-F](?:_*[\da-fA-F])*|0[cC][0-7](?:_*[0-7])*|0[bB][01](?:_*[01])*|\d(?:_*\d)*)\/)+?/;this.$rules={start:[{token:"string.quoted.other",regex:/"\[/,next:"aligned_verbatim_string"},{token:"string.quoted.other",regex:/"\{/,next:"non-aligned_verbatim_string"},{token:"string.quoted.double",regex:/"(?:[^%\b\f\n\r\v]|%[A-DFHLNQR-V%'"()<>]|%\/(?:0[xX][\da-fA-F](?:_*[\da-fA-F])*|0[cC][0-7](?:_*[0-7])*|0[bB][01](?:_*[01])*|\d(?:_*\d)*)\/)*?"/},{token:"comment.line.double-dash",regex:/--.*/},{token:"constant.character",regex:/'(?:[^%\b\f\n\r\t\v]|%[A-DFHLNQR-V%'"()<>]|%\/(?:0[xX][\da-fA-F](?:_*[\da-fA-F])*|0[cC][0-7](?:_*[0-7])*|0[bB][01](?:_*[01])*|\d(?:_*\d)*)\/)'/},{token:"constant.numeric",regex:/\b0(?:[xX][\da-fA-F](?:_*[\da-fA-F])*|[cC][0-7](?:_*[0-7])*|[bB][01](?:_*[01])*)\b/},{token:"constant.numeric",regex:/(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/},{token:"paren.lparen",regex:/[\[({]|<<|\|\(/},{token:"paren.rparen",regex:/[\])}]|>>|\|\)/},{token:"keyword.operator",regex:/:=|->|\.(?=\w)|[;,:?]/},{token:"keyword.operator",regex:/\\\\|\|\.\.\||\.\.|\/[~\/]?|[><\/]=?|[-+*^=~]/},{token:function(e){var t=s(e);return t==="identifier"&&e===e.toUpperCase()&&(t="entity.name.type"),t},regex:/[a-zA-Z][a-zA-Z\d_]*\b/},{token:"text",regex:/\s+/}],aligned_verbatim_string:[{token:"string",regex:/]"/,next:"start"},{token:"string",regex:o}],"non-aligned_verbatim_string":[{token:"string.quoted.other",regex:/}"/,next:"start"},{token:"string.quoted.other",regex:o}]}};r.inherits(s,i),t.EiffelHighlightRules=s}),ace.define("ace/mode/eiffel",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/eiffel_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./eiffel_highlight_rules").EiffelHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/eiffel"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-ejs.js b/library/ace/mode-ejs.js
new file mode 100644
index 000000000..6c089ca13
--- /dev/null
+++ b/library/ace/mode-ejs.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},[{regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren.lparen";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"string.character",regex:"\\B\\?."},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ruby_highlight_rules").RubyHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def|module)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else|when)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+(end|else)$/.test(t+n)||this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){var r=t.getLine(n);if(/}/.test(r))return this.$outdent.autoOutdent(t,n);var i=this.$getIndent(r),s=t.getLine(n-1),o=this.$getIndent(s),a=t.getTabString();o.length<=i.length&&i.slice(-a.length)==a&&t.remove(new u(n,i.length-a.length,n,i.length))},this.$id="ace/mode/ruby"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/ejs",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/javascript_highlight_rules","ace/lib/oop","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=function(e,t){i.call(this),e||(e="(?:<%|<\\?|{{)"),t||(t="(?:%>|\\?>|}})");for(var n in this.$rules)this.$rules[n].unshift({token:"markup.list.meta.tag",regex:e+"(?![>}])[-=]?",push:"ejs-start"});this.embedRules(s,"ejs-",[{token:"markup.list.meta.tag",regex:"-?"+t,next:"pop"},{token:"comment",regex:"//.*?"+t,next:"pop"}]),this.normalizeRules()};r.inherits(o,i),t.EjsHighlightRules=o;var r=e("../lib/oop"),u=e("./html").Mode,a=e("./javascript").Mode,f=e("./css").Mode,l=e("./ruby").Mode,c=function(){u.call(this),this.HighlightRules=o,this.createModeDelegates({"js-":a,"css-":f,"ejs-":a})};r.inherits(c,u),function(){this.$id="ace/mode/ejs"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/library/ace/mode-elixir.js b/library/ace/mode-elixir.js
new file mode 100644
index 000000000..f7eec0295
--- /dev/null
+++ b/library/ace/mode-elixir.js
@@ -0,0 +1 @@
+ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["meta.module.elixir","keyword.control.module.elixir","meta.module.elixir","entity.name.type.module.elixir"],regex:"^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc (?:~[a-z])?"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc ~[A-Z]"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc (?:~[a-z])?'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc ~[A-Z]'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.false",regex:"@(?:module|type)?doc false",comment:"@doc false is treated as documentation"},{token:"comment.documentation.string",regex:'@(?:module|type)?doc "',push:[{token:"comment.documentation.string",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.string"}],comment:"@doc with string is treated as documentation"},{token:"keyword.control.elixir",regex:"\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])"},{token:"keyword.operator.elixir",regex:"\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b",comment:" as above, just doesn't need a 'end' and does a logic operation"},{token:"constant.language.elixir",regex:"\\b(?:nil|true|false)\\b(?![?!])"},{token:"variable.language.elixir",regex:"\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])"},{token:["punctuation.definition.variable.elixir","variable.other.readwrite.module.elixir"],regex:"(@)([a-zA-Z_]\\w*)"},{token:["punctuation.definition.variable.elixir","variable.other.anonymous.elixir"],regex:"(&)(\\d*)"},{token:"variable.other.constant.elixir",regex:"\\b[A-Z]\\w*\\b"},{token:"constant.numeric.elixir",regex:"\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b"},{token:"punctuation.definition.constant.elixir",regex:":'",push:[{token:"punctuation.definition.constant.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.single-quoted.elixir"}]},{token:"punctuation.definition.constant.elixir",regex:':"',push:[{token:"punctuation.definition.constant.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.double-quoted.elixir"}]},{token:"punctuation.definition.string.begin.elixir",regex:"(?:''')",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>''')",push:[{token:"punctuation.definition.string.end.elixir",regex:"^\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.heredoc.elixir"}],comment:"Single-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:"'",push:[{token:"punctuation.definition.string.end.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.elixir"}],comment:"single quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'(?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'(?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:'"',push:[{token:"punctuation.definition.string.end.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.elixir"}],comment:"double quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[a-z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[a-z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[A-Z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[A-Z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:["punctuation.definition.constant.elixir","constant.other.symbol.elixir"],regex:"(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",comment:"symbols"},{token:"punctuation.definition.constant.elixir",regex:"(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)",comment:"symbols"},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(#)(.*)"},{token:"constant.numeric.elixir",regex:"\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])",comment:'\n matches questionmark-letters.\n\n examples (1st alternation = hex):\n ?\\x1 ?\\x61\n\n examples (2rd alternation = escaped):\n ?\\n ?\\b\n\n examples (3rd alternation = normal):\n ?a ?A ?0 \n ?* ?" ?( \n ?. ?#\n \n the negative lookbehind prevents against matching\n p(42.tainted?)\n '},{token:"keyword.operator.assignment.augmented.elixir",regex:"\\+=|\\-=|\\|\\|=|~=|&&="},{token:"keyword.operator.comparison.elixir",regex:"===?|!==?|<=?|>=?"},{token:"keyword.operator.bitwise.elixir",regex:"\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}"},{token:"keyword.operator.logical.elixir",regex:"!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b",originalRegex:"(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b"},{token:"keyword.operator.arithmetic.elixir",regex:"\\*|\\+|\\-|/"},{token:"keyword.operator.other.elixir",regex:"\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>"},{token:"keyword.operator.assignment.elixir",regex:"="},{token:"punctuation.separator.other.elixir",regex:":"},{token:"punctuation.separator.statement.elixir",regex:"\\;"},{token:"punctuation.separator.object.elixir",regex:","},{token:"punctuation.separator.method.elixir",regex:"\\."},{token:"punctuation.section.scope.elixir",regex:"\\{|\\}"},{token:"punctuation.section.array.elixir",regex:"\\[|\\]"},{token:"punctuation.section.function.elixir",regex:"\\(|\\)"}],"#escaped_char":[{token:"constant.character.escape.elixir",regex:"\\\\(?:x[\\da-fA-F]{1,2}|.)"}],"#interpolated_elixir":[{token:["source.elixir.embedded.source","source.elixir.embedded.source.empty"],regex:"(#\\{)(\\})"},{todo:{token:"punctuation.section.embedded.elixir",regex:"#\\{",push:[{token:"punctuation.section.embedded.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"},{include:"$self"},{defaultToken:"source.elixir.embedded.source"}]}}],"#nest_curly_and_self":[{token:"punctuation.section.scope.elixir",regex:"\\{",push:[{token:"punctuation.section.scope.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"}]},{include:"$self"}],"#regex_sub":[{include:"#interpolated_elixir"},{include:"#escaped_char"},{token:["punctuation.definition.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","punctuation.definition.arbitrary-repitition.elixir"],regex:"(\\{)(\\d+)((?:,\\d+)?)(\\})"},{token:"punctuation.definition.character-class.elixir",regex:"\\[(?:\\^?\\])?",push:[{token:"punctuation.definition.character-class.elixir",regex:"\\]",next:"pop"},{include:"#escaped_char"},{defaultToken:"string.regexp.character-class.elixir"}]},{token:"punctuation.definition.group.elixir",regex:"\\(",push:[{token:"punctuation.definition.group.elixir",regex:"\\)",next:"pop"},{include:"#regex_sub"},{defaultToken:"string.regexp.group.elixir"}]},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)",originalRegex:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags."}]},this.normalizeRules()};s.metaData={comment:"Textmate bundle for Elixir Programming Language.",fileTypes:["ex","exs"],firstLineMatch:"^#!/.*\\belixir",foldingStartMarker:"(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$",foldingStopMarker:"^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)",keyEquivalent:"^~E",name:"Elixir",scopeName:"source.elixir"},r.inherits(s,i),t.ElixirHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./elixir_highlight_rules").ElixirHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.$id="ace/mode/elixir"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-elm.js b/library/ace/mode-elm.js
new file mode 100644
index 000000000..b6a7d33d3
--- /dev/null
+++ b/library/ace/mode-elm.js
@@ -0,0 +1 @@
+ace.define("ace/mode/elm_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({keyword:"as|case|class|data|default|deriving|do|else|export|foreign|hiding|jsevent|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|open|then|type|where|_|port|\u03bb"},"identifier"),t=/\\(\d+|['"\\&trnbvf])/,n=/[a-z_]/.source,r=/[A-Z]/.source,i=/[a-z_A-Z0-9\']/.source;this.$rules={start:[{token:"string.start",regex:'"',next:"string"},{token:"string.character",regex:"'(?:"+t.source+"|.)'?"},{regex:/0(?:[xX][0-9A-Fa-f]+|[oO][0-7]+)|\d+(\.\d+)?([eE][-+]?\d*)?/,token:"constant.numeric"},{token:"comment",regex:"--.*"},{token:"keyword",regex:/\.\.|\||:|=|\\|\"|->|<-|\u2192/},{token:"keyword.operator",regex:/[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]+/},{token:"operator.punctuation",regex:/[,;`]/},{regex:r+i+"+\\.?",token:function(e){return e[e.length-1]=="."?"entity.name.function":"constant.language"}},{regex:"^"+n+i+"+",token:function(e){return"constant.language"}},{token:e,regex:"[\\w\\xff-\\u218e\\u2455-\\uffff]+\\b"},{regex:"{-#?",token:"comment.start",onMatch:function(e,t,n){return this.next=e.length==2?"blockComment":"docComment",this.token}},{token:"variable.language",regex:/\[markdown\|/,next:"markdown"},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/}],markdown:[{regex:/\|\]/,next:"start"},{defaultToken:"string"}],blockComment:[{regex:"{-",token:"comment.start",push:"blockComment"},{regex:"-}",token:"comment.end",next:"pop"},{defaultToken:"comment"}],docComment:[{regex:"{-",token:"comment.start",push:"docComment"},{regex:"-}",token:"comment.end",next:"pop"},{defaultToken:"doc.comment"}],string:[{token:"constant.language.escape",regex:t},{token:"text",regex:/\\(\s|$)/,next:"stringGap"},{token:"string.end",regex:'"',next:"start"}],stringGap:[{token:"text",regex:/\\/,next:"string"},{token:"error",regex:"",next:"start"}]},this.normalizeRules()};r.inherits(s,i),t.ElmHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/elm",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elm_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./elm_highlight_rules").ElmHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="--",this.blockComment={start:"{-",end:"-}",nestable:!0},this.$id="ace/mode/elm"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-erlang.js b/library/ace/mode-erlang.js
new file mode 100644
index 000000000..b6ab290c9
--- /dev/null
+++ b/library/ace/mode-erlang.js
@@ -0,0 +1 @@
+ace.define("ace/mode/erlang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#module-directive"},{include:"#import-export-directive"},{include:"#behaviour-directive"},{include:"#record-directive"},{include:"#define-directive"},{include:"#macro-directive"},{include:"#directive"},{include:"#function"},{include:"#everything-else"}],"#atom":[{token:"punctuation.definition.symbol.begin.erlang",regex:"'",push:[{token:"punctuation.definition.symbol.end.erlang",regex:"'",next:"pop"},{token:["punctuation.definition.escape.erlang","constant.other.symbol.escape.erlang","punctuation.definition.escape.erlang","constant.other.symbol.escape.erlang","constant.other.symbol.escape.erlang"],regex:"(\\\\)(?:([bdefnrstv\\\\'\"])|(\\^)([@-_])|([0-7]{1,3}))"},{token:"invalid.illegal.atom.erlang",regex:"\\\\\\^?.?"},{defaultToken:"constant.other.symbol.quoted.single.erlang"}]},{token:"constant.other.symbol.unquoted.erlang",regex:"[a-z][a-zA-Z\\d@_]*"}],"#behaviour-directive":[{token:["meta.directive.behaviour.erlang","punctuation.section.directive.begin.erlang","meta.directive.behaviour.erlang","keyword.control.directive.behaviour.erlang","meta.directive.behaviour.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.behaviour.erlang","entity.name.type.class.behaviour.definition.erlang","meta.directive.behaviour.erlang","punctuation.definition.parameters.end.erlang","meta.directive.behaviour.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(behaviour)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)"}],"#binary":[{token:"punctuation.definition.binary.begin.erlang",regex:"<<",push:[{token:"punctuation.definition.binary.end.erlang",regex:">>",next:"pop"},{token:["punctuation.separator.binary.erlang","punctuation.separator.value-size.erlang"],regex:"(,)|(:)"},{include:"#internal-type-specifiers"},{include:"#everything-else"},{defaultToken:"meta.structure.binary.erlang"}]}],"#character":[{token:["punctuation.definition.character.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","constant.character.escape.erlang"],regex:"(\\$)(\\\\)(?:([bdefnrstv\\\\'\"])|(\\^)([@-_])|([0-7]{1,3}))"},{token:"invalid.illegal.character.erlang",regex:"\\$\\\\\\^?.?"},{token:["punctuation.definition.character.erlang","constant.character.erlang"],regex:"(\\$)(\\S)"},{token:"invalid.illegal.character.erlang",regex:"\\$.?"}],"#comment":[{token:"punctuation.definition.comment.erlang",regex:"%.*$",push_:[{token:"comment.line.percentage.erlang",regex:"$",next:"pop"},{defaultToken:"comment.line.percentage.erlang"}]}],"#define-directive":[{token:["meta.directive.define.erlang","punctuation.section.directive.begin.erlang","meta.directive.define.erlang","keyword.control.directive.define.erlang","meta.directive.define.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.define.erlang","entity.name.function.macro.definition.erlang","meta.directive.define.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.define.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.directive.define.erlang"}]},{token:"meta.directive.define.erlang",regex:"(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.define.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{token:["text","punctuation.section.directive.begin.erlang","text","keyword.control.directive.define.erlang","text","punctuation.definition.parameters.begin.erlang","text","entity.name.function.macro.definition.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()",push:[{token:["punctuation.definition.parameters.end.erlang","text","punctuation.separator.parameters.erlang"],regex:"(\\))(\\s*)(,)",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:"punctuation.separator.define.erlang",regex:"\\|\\||\\||:|;|,|\\.|->"},{include:"#everything-else"},{defaultToken:"meta.directive.define.erlang"}]}],"#directive":[{token:["meta.directive.erlang","punctuation.section.directive.begin.erlang","meta.directive.erlang","keyword.control.directive.erlang","meta.directive.erlang","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.erlang","punctuation.section.directive.end.erlang"],regex:"(\\)?)(\\s*)(\\.)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.directive.erlang"}]},{token:["meta.directive.erlang","punctuation.section.directive.begin.erlang","meta.directive.erlang","keyword.control.directive.erlang","meta.directive.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)"}],"#everything-else":[{include:"#comment"},{include:"#record-usage"},{include:"#macro-usage"},{include:"#expression"},{include:"#keyword"},{include:"#textual-operator"},{include:"#function-call"},{include:"#tuple"},{include:"#list"},{include:"#binary"},{include:"#parenthesized-expression"},{include:"#character"},{include:"#number"},{include:"#atom"},{include:"#string"},{include:"#symbolic-operator"},{include:"#variable"}],"#expression":[{token:"keyword.control.if.erlang",regex:"\\bif\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.if.erlang"}]},{token:"keyword.control.case.erlang",regex:"\\bcase\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.case.erlang"}]},{token:"keyword.control.receive.erlang",regex:"\\breceive\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.receive.erlang"}]},{token:["keyword.control.fun.erlang","text","entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.erlang","text","punctuation.separator.function-arity.erlang"],regex:"\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)"},{token:"keyword.control.fun.erlang",regex:"\\bfun\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clauses.erlang",regex:";|(?=\\bend\\b)",next:"pop"},{include:"#internal-function-parts"}]},{include:"#everything-else"},{defaultToken:"meta.expression.fun.erlang"}]},{token:"keyword.control.try.erlang",regex:"\\btry\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.try.erlang"}]},{token:"keyword.control.begin.erlang",regex:"\\bbegin\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.begin.erlang"}]},{token:"keyword.control.query.erlang",regex:"\\bquery\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.expression.query.erlang"}]}],"#function":[{token:["meta.function.erlang","entity.name.function.definition.erlang","meta.function.erlang"],regex:"^(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(?=\\()",push:[{token:"punctuation.terminator.function.erlang",regex:"\\.",next:"pop"},{token:["text","entity.name.function.erlang","text"],regex:"^(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(?=\\()"},{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clauses.erlang",regex:";|(?=\\.)",next:"pop"},{include:"#parenthesized-expression"},{include:"#internal-function-parts"}]},{include:"#everything-else"},{defaultToken:"meta.function.erlang"}]}],"#function-call":[{token:"meta.function-call.erlang",regex:"(?=(?:[a-z][a-zA-Z\\d@_]*|'[^']*')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|'[^']*')\\s*\\())",push:[{token:"punctuation.definition.parameters.end.erlang",regex:"\\)",next:"pop"},{token:["entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.guard.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()",push:[{token:"text",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:["entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"(?:([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(\\()",push:[{token:"text",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{defaultToken:"meta.function-call.erlang"}]}],"#import-export-directive":[{token:["meta.directive.import.erlang","punctuation.section.directive.begin.erlang","meta.directive.import.erlang","keyword.control.directive.import.erlang","meta.directive.import.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.import.erlang","entity.name.type.class.module.erlang","meta.directive.import.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(,)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.import.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-function-list"},{defaultToken:"meta.directive.import.erlang"}]},{token:["meta.directive.export.erlang","punctuation.section.directive.begin.erlang","meta.directive.export.erlang","keyword.control.directive.export.erlang","meta.directive.export.erlang","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)(export)(\\s*)(\\()",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.export.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-function-list"},{defaultToken:"meta.directive.export.erlang"}]}],"#internal-expression-punctuation":[{token:["punctuation.separator.clause-head-body.erlang","punctuation.separator.clauses.erlang","punctuation.separator.expressions.erlang"],regex:"(->)|(;)|(,)"}],"#internal-function-list":[{token:"punctuation.definition.list.begin.erlang",regex:"\\[",push:[{token:"punctuation.definition.list.end.erlang",regex:"\\]",next:"pop"},{token:["entity.name.function.erlang","text","punctuation.separator.function-arity.erlang"],regex:"([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(/)",push:[{token:"punctuation.separator.list.erlang",regex:",|(?=\\])",next:"pop"},{include:"#everything-else"}]},{include:"#everything-else"},{defaultToken:"meta.structure.list.function.erlang"}]}],"#internal-function-parts":[{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clause-head-body.erlang",regex:"->",next:"pop"},{token:"punctuation.definition.parameters.begin.erlang",regex:"\\(",push:[{token:"punctuation.definition.parameters.end.erlang",regex:"\\)",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:"punctuation.separator.guards.erlang",regex:",|;"},{include:"#everything-else"}]},{token:"punctuation.separator.expressions.erlang",regex:","},{include:"#everything-else"}],"#internal-record-body":[{token:"punctuation.definition.class.record.begin.erlang",regex:"\\{",push:[{token:"meta.structure.record.erlang",regex:"(?=\\})",next:"pop"},{token:["variable.other.field.erlang","variable.language.omitted.field.erlang","text","keyword.operator.assignment.erlang"],regex:"(?:([a-z][a-zA-Z\\d@_]*|'[^']*')|(_))(\\s*)(=|::)",push:[{token:"punctuation.separator.class.record.erlang",regex:",|(?=\\})",next:"pop"},{include:"#everything-else"}]},{token:["variable.other.field.erlang","text","punctuation.separator.class.record.erlang"],regex:"([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)((?:,)?)"},{include:"#everything-else"},{defaultToken:"meta.structure.record.erlang"}]}],"#internal-type-specifiers":[{token:"punctuation.separator.value-type.erlang",regex:"/",push:[{token:"text",regex:"(?=,|:|>>)",next:"pop"},{token:["storage.type.erlang","storage.modifier.signedness.erlang","storage.modifier.endianness.erlang","storage.modifier.unit.erlang","punctuation.separator.type-specifiers.erlang"],regex:"(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)"}]}],"#keyword":[{token:"keyword.control.erlang",regex:"\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b"}],"#list":[{token:"punctuation.definition.list.begin.erlang",regex:"\\[",push:[{token:"punctuation.definition.list.end.erlang",regex:"\\]",next:"pop"},{token:"punctuation.separator.list.erlang",regex:"\\||\\|\\||,"},{include:"#everything-else"},{defaultToken:"meta.structure.list.erlang"}]}],"#macro-directive":[{token:["meta.directive.ifdef.erlang","punctuation.section.directive.begin.erlang","meta.directive.ifdef.erlang","keyword.control.directive.ifdef.erlang","meta.directive.ifdef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.ifdef.erlang","entity.name.function.macro.erlang","meta.directive.ifdef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.ifdef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"},{token:["meta.directive.ifndef.erlang","punctuation.section.directive.begin.erlang","meta.directive.ifndef.erlang","keyword.control.directive.ifndef.erlang","meta.directive.ifndef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.ifndef.erlang","entity.name.function.macro.erlang","meta.directive.ifndef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.ifndef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"},{token:["meta.directive.undef.erlang","punctuation.section.directive.begin.erlang","meta.directive.undef.erlang","keyword.control.directive.undef.erlang","meta.directive.undef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.undef.erlang","entity.name.function.macro.erlang","meta.directive.undef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.undef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"}],"#macro-usage":[{token:["keyword.operator.macro.erlang","meta.macro-usage.erlang","entity.name.function.macro.erlang"],regex:"(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)"}],"#module-directive":[{token:["meta.directive.module.erlang","punctuation.section.directive.begin.erlang","meta.directive.module.erlang","keyword.control.directive.module.erlang","meta.directive.module.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.module.erlang","entity.name.type.class.module.definition.erlang","meta.directive.module.erlang","punctuation.definition.parameters.end.erlang","meta.directive.module.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)"}],"#number":[{token:"text",regex:"(?=\\d)",push:[{token:"text",regex:"(?!\\d)",next:"pop"},{token:["constant.numeric.float.erlang","punctuation.separator.integer-float.erlang","constant.numeric.float.erlang","punctuation.separator.float-exponent.erlang"],regex:"(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)"},{token:["constant.numeric.integer.binary.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.binary.erlang"],regex:"(2)(#)([0-1]+)"},{token:["constant.numeric.integer.base-3.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-3.erlang"],regex:"(3)(#)([0-2]+)"},{token:["constant.numeric.integer.base-4.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-4.erlang"],regex:"(4)(#)([0-3]+)"},{token:["constant.numeric.integer.base-5.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-5.erlang"],regex:"(5)(#)([0-4]+)"},{token:["constant.numeric.integer.base-6.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-6.erlang"],regex:"(6)(#)([0-5]+)"},{token:["constant.numeric.integer.base-7.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-7.erlang"],regex:"(7)(#)([0-6]+)"},{token:["constant.numeric.integer.octal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.octal.erlang"],regex:"(8)(#)([0-7]+)"},{token:["constant.numeric.integer.base-9.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-9.erlang"],regex:"(9)(#)([0-8]+)"},{token:["constant.numeric.integer.decimal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.decimal.erlang"],regex:"(10)(#)(\\d+)"},{token:["constant.numeric.integer.base-11.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-11.erlang"],regex:"(11)(#)([\\daA]+)"},{token:["constant.numeric.integer.base-12.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-12.erlang"],regex:"(12)(#)([\\da-bA-B]+)"},{token:["constant.numeric.integer.base-13.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-13.erlang"],regex:"(13)(#)([\\da-cA-C]+)"},{token:["constant.numeric.integer.base-14.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-14.erlang"],regex:"(14)(#)([\\da-dA-D]+)"},{token:["constant.numeric.integer.base-15.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-15.erlang"],regex:"(15)(#)([\\da-eA-E]+)"},{token:["constant.numeric.integer.hexadecimal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.hexadecimal.erlang"],regex:"(16)(#)([\\da-fA-F]+)"},{token:["constant.numeric.integer.base-17.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-17.erlang"],regex:"(17)(#)([\\da-gA-G]+)"},{token:["constant.numeric.integer.base-18.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-18.erlang"],regex:"(18)(#)([\\da-hA-H]+)"},{token:["constant.numeric.integer.base-19.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-19.erlang"],regex:"(19)(#)([\\da-iA-I]+)"},{token:["constant.numeric.integer.base-20.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-20.erlang"],regex:"(20)(#)([\\da-jA-J]+)"},{token:["constant.numeric.integer.base-21.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-21.erlang"],regex:"(21)(#)([\\da-kA-K]+)"},{token:["constant.numeric.integer.base-22.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-22.erlang"],regex:"(22)(#)([\\da-lA-L]+)"},{token:["constant.numeric.integer.base-23.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-23.erlang"],regex:"(23)(#)([\\da-mA-M]+)"},{token:["constant.numeric.integer.base-24.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-24.erlang"],regex:"(24)(#)([\\da-nA-N]+)"},{token:["constant.numeric.integer.base-25.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-25.erlang"],regex:"(25)(#)([\\da-oA-O]+)"},{token:["constant.numeric.integer.base-26.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-26.erlang"],regex:"(26)(#)([\\da-pA-P]+)"},{token:["constant.numeric.integer.base-27.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-27.erlang"],regex:"(27)(#)([\\da-qA-Q]+)"},{token:["constant.numeric.integer.base-28.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-28.erlang"],regex:"(28)(#)([\\da-rA-R]+)"},{token:["constant.numeric.integer.base-29.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-29.erlang"],regex:"(29)(#)([\\da-sA-S]+)"},{token:["constant.numeric.integer.base-30.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-30.erlang"],regex:"(30)(#)([\\da-tA-T]+)"},{token:["constant.numeric.integer.base-31.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-31.erlang"],regex:"(31)(#)([\\da-uA-U]+)"},{token:["constant.numeric.integer.base-32.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-32.erlang"],regex:"(32)(#)([\\da-vA-V]+)"},{token:["constant.numeric.integer.base-33.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-33.erlang"],regex:"(33)(#)([\\da-wA-W]+)"},{token:["constant.numeric.integer.base-34.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-34.erlang"],regex:"(34)(#)([\\da-xA-X]+)"},{token:["constant.numeric.integer.base-35.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-35.erlang"],regex:"(35)(#)([\\da-yA-Y]+)"},{token:["constant.numeric.integer.base-36.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-36.erlang"],regex:"(36)(#)([\\da-zA-Z]+)"},{token:"invalid.illegal.integer.erlang",regex:"\\d+#[\\da-zA-Z]+"},{token:"constant.numeric.integer.decimal.erlang",regex:"\\d+"}]}],"#parenthesized-expression":[{token:"punctuation.section.expression.begin.erlang",regex:"\\(",push:[{token:"punctuation.section.expression.end.erlang",regex:"\\)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.expression.parenthesized"}]}],"#record-directive":[{token:["meta.directive.record.erlang","punctuation.section.directive.begin.erlang","meta.directive.record.erlang","keyword.control.directive.import.erlang","meta.directive.record.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.record.erlang","entity.name.type.class.record.definition.erlang","meta.directive.record.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(,)",push:[{token:["punctuation.definition.class.record.end.erlang","meta.directive.record.erlang","punctuation.definition.parameters.end.erlang","meta.directive.record.erlang","punctuation.section.directive.end.erlang"],regex:"(\\})(\\s*)(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-record-body"},{defaultToken:"meta.directive.record.erlang"}]}],"#record-usage":[{token:["keyword.operator.record.erlang","meta.record-usage.erlang","entity.name.type.class.record.erlang","meta.record-usage.erlang","punctuation.separator.record-field.erlang","meta.record-usage.erlang","variable.other.field.erlang"],regex:"(#)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')"},{token:["keyword.operator.record.erlang","meta.record-usage.erlang","entity.name.type.class.record.erlang"],regex:"(#)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')",push:[{token:"punctuation.definition.class.record.end.erlang",regex:"\\}",next:"pop"},{include:"#internal-record-body"},{defaultToken:"meta.record-usage.erlang"}]}],"#string":[{token:"punctuation.definition.string.begin.erlang",regex:'"',push:[{token:"punctuation.definition.string.end.erlang",regex:'"',next:"pop"},{token:["punctuation.definition.escape.erlang","constant.character.escape.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","constant.character.escape.erlang"],regex:"(\\\\)(?:([bdefnrstv\\\\'\"])|(\\^)([@-_])|([0-7]{1,3}))"},{token:"invalid.illegal.string.erlang",regex:"\\\\\\^?.?"},{token:["punctuation.definition.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","constant.other.placeholder.erlang"],regex:"(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])"},{token:["punctuation.definition.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","constant.other.placeholder.erlang"],regex:"(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])"},{token:"invalid.illegal.string.erlang",regex:"~.?"},{defaultToken:"string.quoted.double.erlang"}]}],"#symbolic-operator":[{token:"keyword.operator.symbolic.erlang",regex:"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::"}],"#textual-operator":[{token:"keyword.operator.textual.erlang",regex:"\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"}],"#tuple":[{token:"punctuation.definition.tuple.begin.erlang",regex:"\\{",push:[{token:"punctuation.definition.tuple.end.erlang",regex:"\\}",next:"pop"},{token:"punctuation.separator.tuple.erlang",regex:","},{include:"#everything-else"},{defaultToken:"meta.structure.tuple.erlang"}]}],"#variable":[{token:["variable.other.erlang","variable.language.omitted.erlang"],regex:"(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)"}]},this.normalizeRules()};s.metaData={comment:"The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp",fileTypes:["erl","hrl"],keyEquivalent:"^~E",name:"Erlang",scopeName:"source.erlang"},r.inherits(s,i),t.ErlangHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/erlang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/erlang_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./erlang_highlight_rules").ErlangHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="%",this.blockComment=null,this.$id="ace/mode/erlang"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-forth.js b/library/ace/mode-forth.js
new file mode 100644
index 000000000..6545dedaa
--- /dev/null
+++ b/library/ace/mode-forth.js
@@ -0,0 +1 @@
+ace.define("ace/mode/forth_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#forth"}],"#comment":[{token:"comment.line.double-dash.forth",regex:"(?:^|\\s)--\\s.*$",comment:"line comments for iForth"},{token:"comment.line.backslash.forth",regex:"(?:^|\\s)\\\\[\\s\\S]*$",comment:"ANSI line comment"},{token:"comment.line.backslash-g.forth",regex:"(?:^|\\s)\\\\[Gg] .*$",comment:"gForth line comment"},{token:"comment.block.forth",regex:"(?:^|\\s)\\(\\*(?=\\s|$)",push:[{token:"comment.block.forth",regex:"(?:^|\\s)\\*\\)(?=\\s|$)",next:"pop"},{defaultToken:"comment.block.forth"}],comment:"multiline comments for iForth"},{token:"comment.block.documentation.forth",regex:"\\bDOC\\b",caseInsensitive:!0,push:[{token:"comment.block.documentation.forth",regex:"\\bENDDOC\\b",caseInsensitive:!0,next:"pop"},{defaultToken:"comment.block.documentation.forth"}],comment:"documentation comments for iForth"},{token:"comment.line.parentheses.forth",regex:"(?:^|\\s)\\.?\\( [^)]*\\)",comment:"ANSI line comment"}],"#constant":[{token:"constant.language.forth",regex:"(?:^|\\s)(?:TRUE|FALSE|BL|PI|CELL|C/L|R/O|W/O|R/W)(?=\\s|$)",caseInsensitive:!0},{token:"constant.numeric.forth",regex:"(?:^|\\s)[$#%]?[-+]?[0-9]+(?:\\.[0-9]*e-?[0-9]+|\\.?[0-9a-fA-F]*)(?=\\s|$)"},{token:"constant.character.forth",regex:"(?:^|\\s)(?:[&^]\\S|(?:\"|')\\S(?:\"|'))(?=\\s|$)"}],"#forth":[{include:"#constant"},{include:"#comment"},{include:"#string"},{include:"#word"},{include:"#variable"},{include:"#storage"},{include:"#word-def"}],"#storage":[{token:"storage.type.forth",regex:"(?:^|\\s)(?:2CONSTANT|2VARIABLE|ALIAS|CONSTANT|CREATE-INTERPRET/COMPILE[:]?|CREATE|DEFER|FCONSTANT|FIELD|FVARIABLE|USER|VALUE|VARIABLE|VOCABULARY)(?=\\s|$)",caseInsensitive:!0}],"#string":[{token:"string.quoted.double.forth",regex:'(ABORT" |BREAK" |\\." |C" |0"|S\\\\?" )([^"]+")',caseInsensitive:!0},{token:"string.unquoted.forth",regex:"(?:INCLUDE|NEEDS|REQUIRE|USE)[ ]\\S+(?=\\s|$)",caseInsensitive:!0}],"#variable":[{token:"variable.language.forth",regex:"\\b(?:I|J)\\b",caseInsensitive:!0}],"#word":[{token:"keyword.control.immediate.forth",regex:"(?:^|\\s)\\[(?:\\?DO|\\+LOOP|AGAIN|BEGIN|DEFINED|DO|ELSE|ENDIF|FOR|IF|IFDEF|IFUNDEF|LOOP|NEXT|REPEAT|THEN|UNTIL|WHILE)\\](?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.immediate.forth",regex:"(?:^|\\s)(?:COMPILE-ONLY|IMMEDIATE|IS|RESTRICT|TO|WHAT'S|])(?=\\s|$)",caseInsensitive:!0},{token:"keyword.control.compile-only.forth",regex:'(?:^|\\s)(?:-DO|\\-LOOP|\\?DO|\\?LEAVE|\\+DO|\\+LOOP|ABORT\\"|AGAIN|AHEAD|BEGIN|CASE|DO|ELSE|ENDCASE|ENDIF|ENDOF|ENDTRY\\-IFERROR|ENDTRY|FOR|IF|IFERROR|LEAVE|LOOP|NEXT|RECOVER|REPEAT|RESTORE|THEN|TRY|U\\-DO|U\\+DO|UNTIL|WHILE)(?=\\s|$)',caseInsensitive:!0},{token:"keyword.other.compile-only.forth",regex:"(?:^|\\s)(?:\\?DUP-0=-IF|\\?DUP-IF|\\)|\\[|\\['\\]|\\[CHAR\\]|\\[COMPILE\\]|\\[IS\\]|\\[TO\\]|<COMPILATION|<INTERPRETATION|ASSERT\\(|ASSERT0\\(|ASSERT1\\(|ASSERT2\\(|ASSERT3\\(|COMPILATION>|DEFERS|DOES>|INTERPRETATION>|OF|POSTPONE)(?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.non-immediate.forth",regex:"(?:^|\\s)(?:'|<IS>|<TO>|CHAR|END-STRUCT|INCLUDE[D]?|LOAD|NEEDS|REQUIRE[D]?|REVISION|SEE|STRUCT|THRU|USE)(?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.warning.forth",regex:'(?:^|\\s)(?:~~|BREAK:|BREAK"|DBG)(?=\\s|$)',caseInsensitive:!0}],"#word-def":[{token:["keyword.other.compile-only.forth","keyword.other.compile-only.forth","meta.block.forth","entity.name.function.forth"],regex:"(:NONAME)|(^:|\\s:)(\\s)(\\S+)(?=\\s|$)",caseInsensitive:!0,push:[{token:"keyword.other.compile-only.forth",regex:";(?:CODE)?",caseInsensitive:!0,next:"pop"},{include:"#constant"},{include:"#comment"},{include:"#string"},{include:"#word"},{include:"#variable"},{include:"#storage"},{defaultToken:"meta.block.forth"}]}]},this.normalizeRules()};s.metaData={fileTypes:["frt","fs","ldr"],foldingStartMarker:"/\\*\\*|\\{\\s*$",foldingStopMarker:"\\*\\*/|^\\s*\\}",keyEquivalent:"^~F",name:"Forth",scopeName:"source.forth"},r.inherits(s,i),t.ForthHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/forth",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/forth_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./forth_highlight_rules").ForthHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="--",this.blockComment=null,this.$id="ace/mode/forth"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-fortran.js b/library/ace/mode-fortran.js
new file mode 100644
index 000000000..ab986dea4
--- /dev/null
+++ b/library/ace/mode-fortran.js
@@ -0,0 +1 @@
+ace.define("ace/mode/fortran_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="call|case|contains|continue|cycle|do|else|elseif|end|enddo|endif|function|if|implicit|in|include|inout|intent|module|none|only|out|print|program|return|select|status|stop|subroutine|return|then|use|while|write|CALL|CASE|CONTAINS|CONTINUE|CYCLE|DO|ELSE|ELSEIF|END|ENDDO|ENDIF|FUNCTION|IF|IMPLICIT|IN|INCLUDE|INOUT|INTENT|MODULE|NONE|ONLY|OUT|PRINT|PROGRAM|RETURN|SELECT|STATUS|STOP|SUBROUTINE|RETURN|THEN|USE|WHILE|WRITE",t="and|or|not|eq|ne|gt|ge|lt|le|AND|OR|NOT|EQ|NE|GT|GE|LT|LE",n="true|false|TRUE|FALSE",r="abs|achar|acos|acosh|adjustl|adjustr|aimag|aint|all|allocate|anint|any|asin|asinh|associated|atan|atan2|atanh|bessel_j0|bessel_j1|bessel_jn|bessel_y0|bessel_y1|bessel_yn|bge|bgt|bit_size|ble|blt|btest|ceiling|char|cmplx|conjg|cos|cosh|count|cpu_time|cshift|date_and_time|dble|deallocate|digits|dim|dot_product|dprod|dshiftl|dshiftr|dsqrt|eoshift|epsilon|erf|erfc|erfc_scaled|exp|float|floor|format|fraction|gamma|input|len|lge|lgt|lle|llt|log|log10|maskl|maskr|matmul|max|maxloc|maxval|merge|min|minloc|minval|mod|modulo|nint|not|norm2|null|nullify|pack|parity|popcnt|poppar|precision|present|product|radix|random_number|random_seed|range|repeat|reshape|round|rrspacing|same_type_as|scale|scan|selected_char_kind|selected_int_kind|selected_real_kind|set_exponent|shape|shifta|shiftl|shiftr|sign|sin|sinh|size|sngl|spacing|spread|sqrt|sum|system_clock|tan|tanh|tiny|trailz|transfer|transpose|trim|ubound|unpack|verify|ABS|ACHAR|ACOS|ACOSH|ADJUSTL|ADJUSTR|AIMAG|AINT|ALL|ALLOCATE|ANINT|ANY|ASIN|ASINH|ASSOCIATED|ATAN|ATAN2|ATANH|BESSEL_J0|BESSEL_J1|BESSEL_JN|BESSEL_Y0|BESSEL_Y1|BESSEL_YN|BGE|BGT|BIT_SIZE|BLE|BLT|BTEST|CEILING|CHAR|CMPLX|CONJG|COS|COSH|COUNT|CPU_TIME|CSHIFT|DATE_AND_TIME|DBLE|DEALLOCATE|DIGITS|DIM|DOT_PRODUCT|DPROD|DSHIFTL|DSHIFTR|DSQRT|EOSHIFT|EPSILON|ERF|ERFC|ERFC_SCALED|EXP|FLOAT|FLOOR|FORMAT|FRACTION|GAMMA|INPUT|LEN|LGE|LGT|LLE|LLT|LOG|LOG10|MASKL|MASKR|MATMUL|MAX|MAXLOC|MAXVAL|MERGE|MIN|MINLOC|MINVAL|MOD|MODULO|NINT|NOT|NORM2|NULL|NULLIFY|PACK|PARITY|POPCNT|POPPAR|PRECISION|PRESENT|PRODUCT|RADIX|RANDOM_NUMBER|RANDOM_SEED|RANGE|REPEAT|RESHAPE|ROUND|RRSPACING|SAME_TYPE_AS|SCALE|SCAN|SELECTED_CHAR_KIND|SELECTED_INT_KIND|SELECTED_REAL_KIND|SET_EXPONENT|SHAPE|SHIFTA|SHIFTL|SHIFTR|SIGN|SIN|SINH|SIZE|SNGL|SPACING|SPREAD|SQRT|SUM|SYSTEM_CLOCK|TAN|TANH|TINY|TRAILZ|TRANSFER|TRANSPOSE|TRIM|UBOUND|UNPACK|VERIFY",i="logical|character|integer|real|type|LOGICAL|CHARACTER|INTEGER|REAL|TYPE",s="allocatable|dimension|intent|parameter|pointer|target|private|public|ALLOCATABLE|DIMENSION|INTENT|PARAMETER|POINTER|TARGET|PRIVATE|PUBLIC",o=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":r,"constant.language":n,keyword:e,"keyword.operator":t,"storage.type":i,"storage.modifier":s},"identifier"),u="(?:r|u|ur|R|U|UR|Ur|uR)?",a="(?:(?:[1-9]\\d*)|(?:0))",f="(?:0[oO]?[0-7]+)",l="(?:0[xX][\\dA-Fa-f]+)",c="(?:0[bB][01]+)",h="(?:"+a+"|"+f+"|"+l+"|"+c+")",p="(?:[eE][+-]?\\d+)",d="(?:\\.\\d+)",v="(?:\\d+)",m="(?:(?:"+v+"?"+d+")|(?:"+v+"\\.))",g="(?:(?:"+m+"|"+v+")"+p+")",y="(?:"+g+"|"+m+")",b="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"!.*$"},{token:"string",regex:u+'"{3}',next:"qqstring3"},{token:"string",regex:u+'"(?=.)',next:"qqstring"},{token:"string",regex:u+"'{3}",next:"qstring3"},{token:"string",regex:u+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+y+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:y},{token:"constant.numeric",regex:h+"[lL]\\b"},{token:"constant.numeric",regex:h+"\\b"},{token:"keyword",regex:"#\\s*(?:include|import|define|undef|INCLUDE|IMPORT|DEFINE|UNDEF)\\b"},{token:"keyword",regex:"#\\s*(?:endif|ifdef|else|elseif|ifndef|ENDIF|IFDEF|ELSE|ELSEIF|IFNDEF)\\b"},{token:o,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.FortranHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/fortran",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/fortran_highlight_rules","ace/mode/folding/cstyle","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./fortran_highlight_rules").FortranHighlightRules,o=e("./folding/cstyle").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(a,i),function(){this.lineCommentStart="!",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={"return":1,"break":1,"continue":1,RETURN:1,BREAK:1,CONTINUE:1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/fortran"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-ftl.js b/library/ace/mode-ftl.js
new file mode 100644
index 000000000..f97f42baf
--- /dev/null
+++ b/library/ace/mode-ftl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/ftl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="\\?|substring|cap_first|uncap_first|capitalize|chop_linebreak|date|time|datetime|ends_with|html|groups|index_of|j_string|js_string|json_string|last_index_of|length|lower_case|left_pad|right_pad|contains|matches|number|replace|rtf|url|split|starts_with|string|trim|upper_case|word_list|xhtml|xml",t="c|round|floor|ceiling",n="iso_[a-z_]+",r="first|last|seq_contains|seq_index_of|seq_last_index_of|reverse|size|sort|sort_by|chunk",i="keys|values",s="children|parent|root|ancestors|node_name|node_type|node_namespace",o="byte|double|float|int|long|short|number_to_date|number_to_time|number_to_datetime|eval|has_content|interpret|is_[a-z_]+|namespacenew",u=e+t+n+r+i+s+o,a="default|exists|if_exists|web_safe",f="data_model|error|globals|lang|locale|locals|main|namespace|node|current_node|now|output_encoding|template_name|url_escaping_charset|vars|version",l="gt|gte|lt|lte|as|in|using",c="true|false",h="encoding|parse|locale|number_format|date_format|time_format|datetime_format|time_zone|url_escaping_charset|classic_compatible|strip_whitespace|strip_text|strict_syntax|ns_prefixes|attributes";this.$rules={start:[{token:"constant.character.entity",regex:/&[^;]+;/},{token:"support.function",regex:"\\?("+u+")"},{token:"support.function.deprecated",regex:"\\?("+a+")"},{token:"language.variable",regex:"\\.(?:"+f+")"},{token:"constant.language",regex:"\\b("+c+")\\b"},{token:"keyword.operator",regex:"\\b(?:"+l+")\\b"},{token:"entity.other.attribute-name",regex:h},{token:"string",regex:/['"]/,next:"qstring"},{token:function(e){return e.match("^[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?$")?"constant.numeric":"variable"},regex:/[\w.+\-]+/},{token:"keyword.operator",regex:"!|\\.|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qstring:[{token:"constant.character.escape",regex:'\\\\[nrtvef\\\\"$]'},{token:"string",regex:/['"]/,next:"start"},{defaultToken:"string"}]}};r.inherits(o,s);var u=function(){i.call(this);var e="assign|attempt|break|case|compress|default|elseif|else|escape|fallback|function|flush|ftl|global|if|import|include|list|local|lt|macro|nested|noescape|noparse|nt|recover|recurse|return|rt|setting|stop|switch|t|visit",t=[{token:"comment",regex:"<#--",next:"ftl-dcomment"},{token:"string.interpolated",regex:"\\${",push:"ftl-start"},{token:"keyword.function",regex:"</?#("+e+")",push:"ftl-start"},{token:"keyword.other",regex:"</?@[a-zA-Z\\.]+",push:"ftl-start"}],n=[{token:"keyword",regex:"/?>",next:"pop"},{token:"string.interpolated",regex:"}",next:"pop"}];for(var r in this.$rules)this.$rules[r].unshift.apply(this.$rules[r],t);this.embedRules(o,"ftl-",n,["start"]),this.addRules({"ftl-dcomment":[{token:"comment",regex:".*?-->",next:"pop"},{token:"comment",regex:".+"}]}),this.normalizeRules()};r.inherits(u,i),t.FtlHighlightRules=u}),ace.define("ace/mode/ftl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ftl_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ftl_highlight_rules").FtlHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/ftl"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-gcode.js b/library/ace/mode-gcode.js
new file mode 100644
index 000000000..3ea31a10d
--- /dev/null
+++ b/library/ace/mode-gcode.js
@@ -0,0 +1 @@
+ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL",t="PI",n="ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\(.*\\)"},{token:"comment",regex:"([N])([0-9]+)"},{token:"string",regex:"([G])([0-9]+\\.?[0-9]?)"},{token:"string",regex:"([M])([0-9]+\\.?[0-9]?)"},{token:"constant.numeric",regex:"([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"},{token:r,regex:"[A-Z]"},{token:"keyword.operator",regex:"EQ|LT|GT|NE|GE|LE|OR|XOR"},{token:"paren.lparen",regex:"[\\[]"},{token:"paren.rparen",regex:"[\\]]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.GcodeHighlightRules=s}),ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gcode_highlight_rules").GcodeHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.$id="ace/mode/gcode"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-gherkin.js b/library/ace/mode-gherkin.js
new file mode 100644
index 000000000..1e7cb1423
--- /dev/null
+++ b/library/ace/mode-gherkin.js
@@ -0,0 +1 @@
+ace.define("ace/mode/gherkin_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})",o=function(){var e=[{name:"en",labels:"Feature|Background|Scenario(?: Outline)?|Examples",keywords:"Given|When|Then|And|But"}],t=e.map(function(e){return e.labels}).join("|"),n=e.map(function(e){return e.keywords}).join("|");this.$rules={start:[{token:"constant.numeric",regex:"(?:(?:[1-9]\\d*)|(?:0))"},{token:"comment",regex:"#.*$"},{token:"keyword",regex:"(?:"+t+"):|(?:"+n+")\\b"},{token:"keyword",regex:"\\*"},{token:"string",regex:'"{3}',next:"qqstring3"},{token:"string",regex:'"',next:"qqstring"},{token:"text",regex:"^\\s*(?=@[\\w])",next:[{token:"text",regex:"\\s+"},{token:"variable.parameter",regex:"@[\\w]+"},{token:"empty",regex:"",next:"start"}]},{token:"comment",regex:"<[^>]+>"},{token:"comment",regex:"\\|(?=.)",next:"table-item"},{token:"comment",regex:"\\|$",next:"start"}],qqstring3:[{token:"constant.language.escape",regex:s},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],"table-item":[{token:"comment",regex:/$/,next:"start"},{token:"comment",regex:/\|/},{token:"string",regex:/\\./},{defaultToken:"string"}]},this.normalizeRules()};r.inherits(o,i),t.GherkinHighlightRules=o}),ace.define("ace/mode/gherkin",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gherkin_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gherkin_highlight_rules").GherkinHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gherkin",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=" ",s=this.getTokenizer().getLineTokens(t,e),o=s.tokens;return console.log(e),t.match("[ ]*\\|")&&(r+="| "),o.length&&o[o.length-1].type=="comment"?r:(e=="start"&&(t.match("Scenario:|Feature:|Scenario Outline:|Background:")?r+=i:t.match("(Given|Then).+(:)$|Examples:")?r+=i:t.match("\\*.+")&&(r+="* ")),r)}}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-gitignore.js b/library/ace/mode-gitignore.js
new file mode 100644
index 000000000..b09cc2ed8
--- /dev/null
+++ b/library/ace/mode-gitignore.js
@@ -0,0 +1 @@
+ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};s.metaData={fileTypes:["gitignore"],name:"Gitignore"},r.inherits(s,i),t.GitignoreHighlightRules=s}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gitignore_highlight_rules").GitignoreHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-glsl.js b/library/ace/mode-glsl.js
new file mode 100644
index 000000000..55c31adfd
--- /dev/null
+++ b/library/ace/mode-glsl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/glsl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/c_cpp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp_highlight_rules").c_cppHighlightRules,s=function(){var e="attribute|const|uniform|varying|break|continue|do|for|while|if|else|in|out|inout|float|int|void|bool|true|false|lowp|mediump|highp|precision|invariant|discard|return|mat2|mat3|mat4|vec2|vec3|vec4|ivec2|ivec3|ivec4|bvec2|bvec3|bvec4|sampler2D|samplerCube|struct",t="radians|degrees|sin|cos|tan|asin|acos|atan|pow|exp|log|exp2|log2|sqrt|inversesqrt|abs|sign|floor|ceil|fract|mod|min|max|clamp|mix|step|smoothstep|length|distance|dot|cross|normalize|faceforward|reflect|refract|matrixCompMult|lessThan|lessThanEqual|greaterThan|greaterThanEqual|equal|notEqual|any|all|not|dFdx|dFdy|fwidth|texture2D|texture2DProj|texture2DLod|texture2DProjLod|textureCube|textureCubeLod|gl_MaxVertexAttribs|gl_MaxVertexUniformVectors|gl_MaxVaryingVectors|gl_MaxVertexTextureImageUnits|gl_MaxCombinedTextureImageUnits|gl_MaxTextureImageUnits|gl_MaxFragmentUniformVectors|gl_MaxDrawBuffers|gl_DepthRangeParameters|gl_DepthRange|gl_Position|gl_PointSize|gl_FragCoord|gl_FrontFacing|gl_PointCoord|gl_FragColor|gl_FragData",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t},"identifier");this.$rules=(new i).$rules,this.$rules.start.forEach(function(e){typeof e.token=="function"&&(e.token=n)})};r.inherits(s,i),t.glslHighlightRules=s}),ace.define("ace/mode/glsl",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/glsl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("./glsl_highlight_rules").glslHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.$id="ace/mode/glsl"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-gobstones.js b/library/ace/mode-gobstones.js
new file mode 100644
index 000000000..0c54acc55
--- /dev/null
+++ b/library/ace/mode-gobstones.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/gobstones_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="program|procedure|function|interactive|if|then|else|switch|repeat|while|foreach|in|not|div|mod|Skip|return",t="False|True",n="Poner|Sacar|Mover|IrAlBorde|VaciarTablero|nroBolitas|hayBolitas|puedeMover|siguiente|previo|opuesto|minBool|maxBool|minDir|maxDir|minColor|maxColor",r="Verde|Rojo|Azul|Negro|Norte|Sur|Este|Oeste",s=this.createKeywordMapper({keyword:e,"constant.language":t,"support.function":n,"support.type":r},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\-\\-.*$"},{token:"comment",regex:"#.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:True|False)\\b"},{token:"keyword.operator",regex:":=|\\.\\.|,|;|\\|\\||\\/\\/|\\+|\\-|\\^|\\*|>|<|>=|=>|==|&&"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.GobstonesHighlightRules=o}),ace.define("ace/mode/gobstones",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/gobstones_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./gobstones_highlight_rules").GobstonesHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/gobstones"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-golang.js b/library/ace/mode-golang.js
new file mode 100644
index 000000000..d891b941d
--- /dev/null
+++ b/library/ace/mode-golang.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/golang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="else|break|case|return|goto|if|const|select|continue|struct|default|switch|for|range|func|import|package|chan|defer|fallthrough|go|interface|map|range|select|type|var",t="string|uint8|uint16|uint32|uint64|int8|int16|int32|int64|float32|float64|complex64|complex128|byte|rune|uint|int|uintptr|bool|error",n="new|close|cap|copy|panic|panicln|print|println|len|make|delete|real|recover|imag|append",r="nil|true|false|iota",s=this.createKeywordMapper({keyword:e,"constant.language":r,"support.function":n,"support.type":t},""),o="\\\\(?:[0-7]{3}|x\\h{2}|u{4}|U\\h{6}|[abfnrtv'\"\\\\])".replace(/\\h/g,"[a-fA-F\\d]");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"string",regex:/"(?:[^"\\]|\\.)*?"/},{token:"string",regex:"`",next:"bqstring"},{token:"constant.numeric",regex:"'(?:[^\\'\ud800-\udbff]|[\ud800-\udbff][\udc00-\udfff]|"+o.replace('"',"")+")'"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:["keyword","text","entity.name.function"],regex:"(func)(\\s+)([a-zA-Z_$][a-zA-Z0-9_$]*)\\b"},{token:function(e){return e[e.length-1]=="("?[{type:s(e.slice(0,-1))||"support.function",value:e.slice(0,-1)},{type:"paren.lparen",value:e.slice(-1)}]:s(e)||"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b\\(?"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],bqstring:[{token:"string",regex:"`",next:"start"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.GolangHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/golang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/golang_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./golang_highlight_rules").GolangHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.foldingRules=new a,this.$behaviour=new u};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/golang"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-groovy.js b/library/ace/mode-groovy.js
new file mode 100644
index 000000000..4293b5d2b
--- /dev/null
+++ b/library/ace/mode-groovy.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/groovy_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="assert|with|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|def|float|native|super|while",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"support.function":n,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'"""',next:"qqstring"},{token:"string",regex:"'''",next:"qstring"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\?:|\\?\\.|\\*\\.|<=>|=~|==~|\\.@|\\*\\.@|\\.&|as|in|is|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"constant.language.escape",regex:/\\(?:u[0-9A-Fa-f]{4}|.|$)/},{token:"constant.language.escape",regex:/\$[\w\d]+/},{token:"constant.language.escape",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"{3,5}',next:"start"},{token:"string",regex:".+?"}],qstring:[{token:"constant.language.escape",regex:/\\(?:u[0-9A-Fa-f]{4}|.|$)/},{token:"string",regex:"'{3,5}",next:"start"},{token:"string",regex:".+?"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.GroovyHighlightRules=o}),ace.define("ace/mode/groovy",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/groovy_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./groovy_highlight_rules").GroovyHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/groovy"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-haml.js b/library/ace/mode-haml.js
new file mode 100644
index 000000000..421d91dc1
--- /dev/null
+++ b/library/ace/mode-haml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},[{regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren.lparen";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"string.character",regex:"\\B\\?."},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/haml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/ruby_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./ruby_highlight_rules"),o=s.RubyHighlightRules,u=function(){i.call(this),this.$rules.start.unshift({token:"punctuation.section.comment",regex:/^\s*\/.*/},{token:"string.quoted.double",regex:"==.+?=="},{token:"keyword.other.doctype",regex:"^!!!\\s*(?:[a-zA-Z0-9-_]+)?"},s.qString,s.qqString,s.tString,{token:"character.escape.haml",regex:"^\\s*\\\\."},{token:"text",regex:/^\s*/,next:"tag_single"},s.constantNumericHex,s.constantNumericFloat,s.constantOtherSymbol,{token:"text",regex:"=|-|~",next:"embedded_ruby"}),this.$rules.tag_single=[{token:"meta.tag.haml",regex:/(%[\w:\-]+)/},{token:"keyword.attribute-name.class.haml",regex:"\\.[\\w-]+"},{token:"keyword.attribute-name.id.haml",regex:"#[\\w-]+"},{token:"punctuation.section",regex:"\\{",next:"section"},s.constantOtherSymbol,{token:"text",regex:/\s/,next:"start"},{token:"empty",regex:"$|(?!\\.|#|\\{|\\[|=|-|~|\\/)",next:"start"}],this.$rules.section=[s.constantOtherSymbol,s.qString,s.qqString,s.tString,s.constantNumericHex,s.constantNumericFloat,{token:"punctuation.section",regex:"\\}",next:"start"}],this.$rules.embedded_ruby=[s.constantNumericHex,s.constantNumericFloat,{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},{token:(new o).getKeywords(),regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:["keyword","text","text"],regex:"(?:do|\\{)(?: \\|[^|]+\\|)?$",next:"start"},{token:["text"],regex:"^$",next:"start"},{token:["text"],regex:"^(?!.*\\|\\s*$)",next:"start"}],this.normalizeRules()};r.inherits(u,i),t.HamlHighlightRules=u}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/haml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haml_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./haml_highlight_rules").HamlHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/haml"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-handlebars.js b/library/ace/mode-handlebars.js
new file mode 100644
index 000000000..80c0f0392
--- /dev/null
+++ b/library/ace/mode-handlebars.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/handlebars_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";function s(e,t){return t.splice(0,3),t.shift()||"start"}var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,o=function(){i.call(this);var e={regex:"(?={{)",push:"handlebars"};for(var t in this.$rules)this.$rules[t].unshift(e);this.$rules.handlebars=[{token:"comment.start",regex:"{{!--",push:[{token:"comment.end",regex:"--}}",next:s},{defaultToken:"comment"}]},{token:"comment.start",regex:"{{!",push:[{token:"comment.end",regex:"}}",next:s},{defaultToken:"comment"}]},{token:"support.function",regex:"{{{",push:[{token:"support.function",regex:"}}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]},{token:"storage.type.start",regex:"{{[#\\^/&]?",push:[{token:"storage.type.end",regex:"}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]}],this.normalizeRules()};r.inherits(o,i),t.HandlebarsHighlightRules=o}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=function(){i.call(this)};r.inherits(s,i),t.HtmlBehaviour=s}),ace.define("ace/mode/handlebars",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/handlebars_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./handlebars_highlight_rules").HandlebarsHighlightRules,o=e("./behaviour/html").HtmlBehaviour,u=e("./folding/html").FoldMode,a=function(){i.call(this),this.HighlightRules=s,this.$behaviour=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.blockComment={start:"{{!--",end:"--}}"},this.$id="ace/mode/handlebars"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-haskell.js b/library/ace/mode-haskell.js
new file mode 100644
index 000000000..f461d2684
--- /dev/null
+++ b/library/ace/mode-haskell.js
@@ -0,0 +1 @@
+ace.define("ace/mode/haskell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["punctuation.definition.entity.haskell","keyword.operator.function.infix.haskell","punctuation.definition.entity.haskell"],regex:"(`)([a-zA-Z_']*?)(`)",comment:"In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10])."},{token:"constant.language.unit.haskell",regex:"\\(\\)"},{token:"constant.language.empty-list.haskell",regex:"\\[\\]"},{token:"keyword.other.haskell",regex:"\\bmodule\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b",next:"pop"},{include:"#module_name"},{include:"#module_exports"},{token:"invalid",regex:"[a-z]+"},{defaultToken:"meta.declaration.module.haskell"}]},{token:"keyword.other.haskell",regex:"\\bclass\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b",next:"pop"},{token:"support.class.prelude.haskell",regex:"\\b(?:Monad|Functor|Eq|Ord|Read|Show|Num|(?:Frac|Ra)tional|Enum|Bounded|Real(?:Frac|Float)?|Integral|Floating)\\b"},{token:"entity.other.inherited-class.haskell",regex:"[A-Z][A-Za-z_']*"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{defaultToken:"meta.declaration.class.haskell"}]},{token:"keyword.other.haskell",regex:"\\binstance\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b|$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.declaration.instance.haskell"}]},{token:"keyword.other.haskell",regex:"import",push:[{token:"meta.import.haskell",regex:"$|;",next:"pop"},{token:"keyword.other.haskell",regex:"qualified|as|hiding"},{include:"#module_name"},{include:"#module_exports"},{defaultToken:"meta.import.haskell"}]},{token:["keyword.other.haskell","meta.deriving.haskell"],regex:"(deriving)(\\s*\\()",push:[{token:"meta.deriving.haskell",regex:"\\)",next:"pop"},{token:"entity.other.inherited-class.haskell",regex:"\\b[A-Z][a-zA-Z_']*"},{defaultToken:"meta.deriving.haskell"}]},{token:"keyword.other.haskell",regex:"\\b(?:deriving|where|data|type|case|of|let|in|newtype|default)\\b"},{token:"keyword.operator.haskell",regex:"\\binfix[lr]?\\b"},{token:"keyword.control.haskell",regex:"\\b(?:do|if|then|else)\\b"},{token:"constant.numeric.float.haskell",regex:"\\b(?:[0-9]+\\.[0-9]+(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",comment:"Floats are always decimal"},{token:"constant.numeric.haskell",regex:"\\b(?:[0-9]+|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{token:["meta.preprocessor.c","punctuation.definition.preprocessor.c","meta.preprocessor.c"],regex:"^(\\s*)(#)(\\s*\\w+)",comment:'In addition to Haskell\'s "native" syntax, GHC permits the C preprocessor to be run on a source file.'},{include:"#pragma"},{token:"punctuation.definition.string.begin.haskell",regex:'"',push:[{token:"punctuation.definition.string.end.haskell",regex:'"',next:"pop"},{token:"constant.character.escape.haskell",regex:"\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])"},{token:"constant.character.escape.octal.haskell",regex:"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{token:"constant.character.escape.control.haskell",regex:"\\^[A-Z@\\[\\]\\\\\\^_]"},{defaultToken:"string.quoted.double.haskell"}]},{token:["punctuation.definition.string.begin.haskell","string.quoted.single.haskell","constant.character.escape.haskell","constant.character.escape.octal.haskell","constant.character.escape.hexadecimal.haskell","constant.character.escape.control.haskell","punctuation.definition.string.end.haskell"],regex:"(')(?:([\\ -\\[\\]-~])|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')"},{token:["meta.function.type-declaration.haskell","entity.name.function.haskell","meta.function.type-declaration.haskell","keyword.other.double-colon.haskell"],regex:"^(\\s*)([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=</>]+\\))(\\s*)(::)",push:[{token:"meta.function.type-declaration.haskell",regex:"$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.function.type-declaration.haskell"}]},{token:"support.constant.haskell",regex:"\\b(?:Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b"},{token:"constant.other.haskell",regex:"\\b[A-Z]\\w*\\b"},{include:"#comments"},{token:"support.function.prelude.haskell",regex:"\\b(?:abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{include:"#infix_op"},{token:"keyword.operator.haskell",regex:"[|!%$?~+:\\-.=</>\\\\]+",comment:"In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*."},{token:"punctuation.separator.comma.haskell",regex:","}],"#block_comment":[{token:"punctuation.definition.comment.haskell",regex:"\\{-(?!#)",push:[{include:"#block_comment"},{token:"punctuation.definition.comment.haskell",regex:"-\\}",next:"pop"},{defaultToken:"comment.block.haskell"}]}],"#comments":[{token:"punctuation.definition.comment.haskell",regex:"--.*",push_:[{token:"comment.line.double-dash.haskell",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.haskell"}]},{include:"#block_comment"}],"#infix_op":[{token:"entity.name.function.infix.haskell",regex:"\\([|!%$+:\\-.=</>]+\\)|\\(,+\\)"}],"#module_exports":[{token:"meta.declaration.exports.haskell",regex:"\\(",push:[{token:"meta.declaration.exports.haskell",regex:"\\)",next:"pop"},{token:"entity.name.function.haskell",regex:"\\b[a-z][a-zA-Z_']*"},{token:"storage.type.haskell",regex:"\\b[A-Z][A-Za-z_']*"},{token:"punctuation.separator.comma.haskell",regex:","},{include:"#infix_op"},{token:"meta.other.unknown.haskell",regex:"\\(.*?\\)",comment:"So named because I don't know what to call this."},{defaultToken:"meta.declaration.exports.haskell"}]}],"#module_name":[{token:"support.other.module.haskell",regex:"[A-Z][A-Za-z._']*"}],"#pragma":[{token:"meta.preprocessor.haskell",regex:"\\{-#",push:[{token:"meta.preprocessor.haskell",regex:"#-\\}",next:"pop"},{token:"keyword.other.preprocessor.haskell",regex:"\\b(?:LANGUAGE|UNPACK|INLINE)\\b"},{defaultToken:"meta.preprocessor.haskell"}]}],"#type_signature":[{token:["meta.class-constraint.haskell","entity.other.inherited-class.haskell","meta.class-constraint.haskell","variable.other.generic-type.haskell","meta.class-constraint.haskell","keyword.other.big-arrow.haskell"],regex:"(\\(\\s*)([A-Z][A-Za-z]*)(\\s+)([a-z][A-Za-z_']*)(\\)\\s*)(=>)"},{include:"#pragma"},{token:"keyword.other.arrow.haskell",regex:"->"},{token:"keyword.other.big-arrow.haskell",regex:"=>"},{token:"support.type.prelude.haskell",regex:"\\b(?:Int(?:eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(?:Error)?)\\b"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{token:"storage.type.haskell",regex:"\\b[A-Z][a-zA-Z0-9_']*\\b"},{token:"support.constant.unit.haskell",regex:"\\(\\)"},{include:"#comments"}]},this.normalizeRules()};s.metaData={fileTypes:["hs"],keyEquivalent:"^~H",name:"Haskell",scopeName:"source.haskell"},r.inherits(s,i),t.HaskellHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/haskell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haskell_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./haskell_highlight_rules").HaskellHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="--",this.blockComment=null,this.$id="ace/mode/haskell"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-haxe.js b/library/ace/mode-haxe.js
new file mode 100644
index 000000000..bdcf77028
--- /dev/null
+++ b/library/ace/mode-haxe.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/haxe_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="break|case|cast|catch|class|continue|default|else|enum|extends|for|function|if|implements|import|in|inline|interface|new|override|package|private|public|return|static|super|switch|this|throw|trace|try|typedef|untyped|var|while|Array|Void|Bool|Int|UInt|Float|Dynamic|String|List|Hash|IntHash|Error|Unknown|Type|Std",t="null|true|false",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({<]"},{token:"paren.rparen",regex:"[\\])}>]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.HaxeHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/haxe",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haxe_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./haxe_highlight_rules").HaxeHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/haxe"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-html.js b/library/ace/mode-html.js
new file mode 100644
index 000000000..ec4be71ac
--- /dev/null
+++ b/library/ace/mode-html.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file
diff --git a/library/ace/mode-html_elixir.js b/library/ace/mode-html_elixir.js
new file mode 100644
index 000000000..b24faaec3
--- /dev/null
+++ b/library/ace/mode-html_elixir.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["meta.module.elixir","keyword.control.module.elixir","meta.module.elixir","entity.name.type.module.elixir"],regex:"^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc (?:~[a-z])?"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc ~[A-Z]"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc (?:~[a-z])?'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc ~[A-Z]'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.false",regex:"@(?:module|type)?doc false",comment:"@doc false is treated as documentation"},{token:"comment.documentation.string",regex:'@(?:module|type)?doc "',push:[{token:"comment.documentation.string",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.string"}],comment:"@doc with string is treated as documentation"},{token:"keyword.control.elixir",regex:"\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])"},{token:"keyword.operator.elixir",regex:"\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b",comment:" as above, just doesn't need a 'end' and does a logic operation"},{token:"constant.language.elixir",regex:"\\b(?:nil|true|false)\\b(?![?!])"},{token:"variable.language.elixir",regex:"\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])"},{token:["punctuation.definition.variable.elixir","variable.other.readwrite.module.elixir"],regex:"(@)([a-zA-Z_]\\w*)"},{token:["punctuation.definition.variable.elixir","variable.other.anonymous.elixir"],regex:"(&)(\\d*)"},{token:"variable.other.constant.elixir",regex:"\\b[A-Z]\\w*\\b"},{token:"constant.numeric.elixir",regex:"\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b"},{token:"punctuation.definition.constant.elixir",regex:":'",push:[{token:"punctuation.definition.constant.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.single-quoted.elixir"}]},{token:"punctuation.definition.constant.elixir",regex:':"',push:[{token:"punctuation.definition.constant.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.double-quoted.elixir"}]},{token:"punctuation.definition.string.begin.elixir",regex:"(?:''')",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>''')",push:[{token:"punctuation.definition.string.end.elixir",regex:"^\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.heredoc.elixir"}],comment:"Single-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:"'",push:[{token:"punctuation.definition.string.end.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.elixir"}],comment:"single quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'(?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'(?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:'"',push:[{token:"punctuation.definition.string.end.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.elixir"}],comment:"double quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[a-z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[a-z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[A-Z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[A-Z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:["punctuation.definition.constant.elixir","constant.other.symbol.elixir"],regex:"(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",comment:"symbols"},{token:"punctuation.definition.constant.elixir",regex:"(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)",comment:"symbols"},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(#)(.*)"},{token:"constant.numeric.elixir",regex:"\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])",comment:'\n matches questionmark-letters.\n\n examples (1st alternation = hex):\n ?\\x1 ?\\x61\n\n examples (2rd alternation = escaped):\n ?\\n ?\\b\n\n examples (3rd alternation = normal):\n ?a ?A ?0 \n ?* ?" ?( \n ?. ?#\n \n the negative lookbehind prevents against matching\n p(42.tainted?)\n '},{token:"keyword.operator.assignment.augmented.elixir",regex:"\\+=|\\-=|\\|\\|=|~=|&&="},{token:"keyword.operator.comparison.elixir",regex:"===?|!==?|<=?|>=?"},{token:"keyword.operator.bitwise.elixir",regex:"\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}"},{token:"keyword.operator.logical.elixir",regex:"!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b",originalRegex:"(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b"},{token:"keyword.operator.arithmetic.elixir",regex:"\\*|\\+|\\-|/"},{token:"keyword.operator.other.elixir",regex:"\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>"},{token:"keyword.operator.assignment.elixir",regex:"="},{token:"punctuation.separator.other.elixir",regex:":"},{token:"punctuation.separator.statement.elixir",regex:"\\;"},{token:"punctuation.separator.object.elixir",regex:","},{token:"punctuation.separator.method.elixir",regex:"\\."},{token:"punctuation.section.scope.elixir",regex:"\\{|\\}"},{token:"punctuation.section.array.elixir",regex:"\\[|\\]"},{token:"punctuation.section.function.elixir",regex:"\\(|\\)"}],"#escaped_char":[{token:"constant.character.escape.elixir",regex:"\\\\(?:x[\\da-fA-F]{1,2}|.)"}],"#interpolated_elixir":[{token:["source.elixir.embedded.source","source.elixir.embedded.source.empty"],regex:"(#\\{)(\\})"},{todo:{token:"punctuation.section.embedded.elixir",regex:"#\\{",push:[{token:"punctuation.section.embedded.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"},{include:"$self"},{defaultToken:"source.elixir.embedded.source"}]}}],"#nest_curly_and_self":[{token:"punctuation.section.scope.elixir",regex:"\\{",push:[{token:"punctuation.section.scope.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"}]},{include:"$self"}],"#regex_sub":[{include:"#interpolated_elixir"},{include:"#escaped_char"},{token:["punctuation.definition.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","punctuation.definition.arbitrary-repitition.elixir"],regex:"(\\{)(\\d+)((?:,\\d+)?)(\\})"},{token:"punctuation.definition.character-class.elixir",regex:"\\[(?:\\^?\\])?",push:[{token:"punctuation.definition.character-class.elixir",regex:"\\]",next:"pop"},{include:"#escaped_char"},{defaultToken:"string.regexp.character-class.elixir"}]},{token:"punctuation.definition.group.elixir",regex:"\\(",push:[{token:"punctuation.definition.group.elixir",regex:"\\)",next:"pop"},{include:"#regex_sub"},{defaultToken:"string.regexp.group.elixir"}]},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)",originalRegex:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags."}]},this.normalizeRules()};s.metaData={comment:"Textmate bundle for Elixir Programming Language.",fileTypes:["ex","exs"],firstLineMatch:"^#!/.*\\belixir",foldingStartMarker:"(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$",foldingStopMarker:"^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)",keyEquivalent:"^~E",name:"Elixir",scopeName:"source.elixir"},r.inherits(s,i),t.ElixirHighlightRules=s}),ace.define("ace/mode/html_elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/elixir_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./elixir_highlight_rules").ElixirHighlightRules,o=function(){i.call(this);var e=[{regex:"<%%|%%>",token:"constant.language.escape"},{token:"comment.start.eex",regex:"<%#",push:[{token:"comment.end.eex",regex:"%>",next:"pop",defaultToken:"comment"}]},{token:"support.elixir_tag",regex:"<%+(?!>)[-=]?",push:"elixir-start"}],t=[{token:"support.elixir_tag",regex:"%>",next:"pop"},{token:"comment",regex:"#(?:[^%]|%[^>])*"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(s,"elixir-",t,["start"]),this.normalizeRules()};r.inherits(o,i),t.HtmlElixirHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./elixir_highlight_rules").ElixirHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.$id="ace/mode/elixir"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/html_elixir",["require","exports","module","ace/lib/oop","ace/mode/html_elixir_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/elixir"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_elixir_highlight_rules").HtmlElixirHighlightRules,s=e("./html").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./elixir").Mode,f=function(){s.call(this),this.HighlightRules=i,this.createModeDelegates({"js-":o,"css-":u,"elixir-":a})};r.inherits(f,s),function(){this.$id="ace/mode/html_elixir"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-html_ruby.js b/library/ace/mode-html_ruby.js
new file mode 100644
index 000000000..b695b8377
--- /dev/null
+++ b/library/ace/mode-html_ruby.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},[{regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren.lparen";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"string.character",regex:"\\B\\?."},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/html_ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/ruby_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./ruby_highlight_rules").RubyHighlightRules,o=function(){i.call(this);var e=[{regex:"<%%|%%>",token:"constant.language.escape"},{token:"comment.start.erb",regex:"<%#",push:[{token:"comment.end.erb",regex:"%>",next:"pop",defaultToken:"comment"}]},{token:"support.ruby_tag",regex:"<%+(?!>)[-=]?",push:"ruby-start"}],t=[{token:"support.ruby_tag",regex:"%>",next:"pop"},{token:"comment",regex:"#(?:[^%]|%[^>])*"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(s,"ruby-",t,["start"]),this.normalizeRules()};r.inherits(o,i),t.HtmlRubyHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ruby_highlight_rules").RubyHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def|module)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else|when)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+(end|else)$/.test(t+n)||this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){var r=t.getLine(n);if(/}/.test(r))return this.$outdent.autoOutdent(t,n);var i=this.$getIndent(r),s=t.getLine(n-1),o=this.$getIndent(s),a=t.getTabString();o.length<=i.length&&i.slice(-a.length)==a&&t.remove(new u(n,i.length-a.length,n,i.length))},this.$id="ace/mode/ruby"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html_ruby",["require","exports","module","ace/lib/oop","ace/mode/html_ruby_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_ruby_highlight_rules").HtmlRubyHighlightRules,s=e("./html").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./ruby").Mode,f=function(){s.call(this),this.HighlightRules=i,this.createModeDelegates({"js-":o,"css-":u,"ruby-":a})};r.inherits(f,s),function(){this.$id="ace/mode/html_ruby"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-ini.js b/library/ace/mode-ini.js
new file mode 100644
index 000000000..216794b11
--- /dev/null
+++ b/library/ace/mode-ini.js
@@ -0,0 +1 @@
+ace.define("ace/mode/ini_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s="\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})",o=function(){this.$rules={start:[{token:"punctuation.definition.comment.ini",regex:"#.*",push_:[{token:"comment.line.number-sign.ini",regex:"$|^",next:"pop"},{defaultToken:"comment.line.number-sign.ini"}]},{token:"punctuation.definition.comment.ini",regex:";.*",push_:[{token:"comment.line.semicolon.ini",regex:"$|^",next:"pop"},{defaultToken:"comment.line.semicolon.ini"}]},{token:["keyword.other.definition.ini","text","punctuation.separator.key-value.ini"],regex:"\\b([a-zA-Z0-9_.-]+)\\b(\\s*)(=)"},{token:["punctuation.definition.entity.ini","constant.section.group-title.ini","punctuation.definition.entity.ini"],regex:"^(\\[)(.*?)(\\])"},{token:"punctuation.definition.string.begin.ini",regex:"'",push:[{token:"punctuation.definition.string.end.ini",regex:"'",next:"pop"},{token:"constant.language.escape",regex:s},{defaultToken:"string.quoted.single.ini"}]},{token:"punctuation.definition.string.begin.ini",regex:'"',push:[{token:"constant.language.escape",regex:s},{token:"punctuation.definition.string.end.ini",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.ini"}]}]},this.normalizeRules()};o.metaData={fileTypes:["ini","conf"],keyEquivalent:"^~I",name:"Ini",scopeName:"source.ini"},r.inherits(o,i),t.IniHighlightRules=o}),ace.define("ace/mode/folding/ini",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/^\s*\[([^\])]*)]\s*(?:$|[;#])/,this.getFoldWidgetRange=function(e,t,n){var r=this.foldingStartMarker,s=e.getLine(n),o=s.match(r);if(!o)return;var u=o[1]+".",a=s.length,f=e.getLength(),l=n,c=n;while(++n<f){s=e.getLine(n);if(/^\s*$/.test(s))continue;o=s.match(r);if(o&&o[1].lastIndexOf(u,0)!==0)break;c=n}if(c>l){var h=e.getLine(c).length;return new i(l,a,c,h)}}}.call(o.prototype)}),ace.define("ace/mode/ini",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ini_highlight_rules","ace/mode/folding/ini"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ini_highlight_rules").IniHighlightRules,o=e("./folding/ini").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart=";",this.blockComment=null,this.$id="ace/mode/ini"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-io.js b/library/ace/mode-io.js
new file mode 100644
index 000000000..89140316c
--- /dev/null
+++ b/library/ace/mode-io.js
@@ -0,0 +1 @@
+ace.define("ace/mode/io_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["text","meta.empty-parenthesis.io"],regex:"(\\()(\\))",comment:"we match this to overload return inside () --Allan; scoping rules for what gets the scope have changed, so we now group the ) instead of the ( -- Rob"},{token:["text","meta.comma-parenthesis.io"],regex:"(\\,)(\\))",comment:"We want to do the same for ,) -- Seckar; same as above -- Rob"},{token:"keyword.control.io",regex:"\\b(?:if|ifTrue|ifFalse|ifTrueIfFalse|for|loop|reverseForeach|foreach|map|continue|break|while|do|return)\\b"},{token:"punctuation.definition.comment.io",regex:"/\\*",push:[{token:"punctuation.definition.comment.io",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.io"}]},{token:"punctuation.definition.comment.io",regex:"//",push:[{token:"comment.line.double-slash.io",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.io"}]},{token:"punctuation.definition.comment.io",regex:"#",push:[{token:"comment.line.number-sign.io",regex:"$",next:"pop"},{defaultToken:"comment.line.number-sign.io"}]},{token:"variable.language.io",regex:"\\b(?:self|sender|target|proto|protos|parent)\\b",comment:"I wonder if some of this isn't variable.other.language? --Allan; scoping this as variable.language to match Objective-C's handling of 'self', which is inconsistent with C++'s handling of 'this' but perhaps intentionally so -- Rob"},{token:"keyword.operator.io",regex:"<=|>=|=|:=|\\*|\\||\\|\\||\\+|-|/|&|&&|>|<|\\?|@|@@|\\b(?:and|or)\\b"},{token:"constant.other.io",regex:"\\bGL[\\w_]+\\b"},{token:"support.class.io",regex:"\\b[A-Z](?:\\w+)?\\b"},{token:"support.function.io",regex:"\\b(?:clone|call|init|method|list|vector|block|\\w+(?=\\s*\\())\\b"},{token:"support.function.open-gl.io",regex:"\\bgl(?:u|ut)?[A-Z]\\w+\\b"},{token:"punctuation.definition.string.begin.io",regex:'"""',push:[{token:"punctuation.definition.string.end.io",regex:'"""',next:"pop"},{token:"constant.character.escape.io",regex:"\\\\."},{defaultToken:"string.quoted.triple.io"}]},{token:"punctuation.definition.string.begin.io",regex:'"',push:[{token:"punctuation.definition.string.end.io",regex:'"',next:"pop"},{token:"constant.character.escape.io",regex:"\\\\."},{defaultToken:"string.quoted.double.io"}]},{token:"constant.numeric.io",regex:"\\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{token:"variable.other.global.io",regex:"Lobby\\b"},{token:"constant.language.io",regex:"\\b(?:TRUE|true|FALSE|false|NULL|null|Null|Nil|nil|YES|NO)\\b"}]},this.normalizeRules()};s.metaData={fileTypes:["io"],keyEquivalent:"^~I",name:"Io",scopeName:"source.io"},r.inherits(s,i),t.IoHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/io",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/io_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./io_highlight_rules").IoHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/io"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-jack.js b/library/ace/mode-jack.js
new file mode 100644
index 000000000..c47564a70
--- /dev/null
+++ b/library/ace/mode-jack.js
@@ -0,0 +1 @@
+ace.define("ace/mode/jack_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"string",regex:'"',next:"string2"},{token:"string",regex:"'",next:"string1"},{token:"constant.numeric",regex:"-?0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"(?:0|[-+]?[1-9][0-9]*)\\b"},{token:"constant.binary",regex:"<[0-9A-Fa-f][0-9A-Fa-f](\\s+[0-9A-Fa-f][0-9A-Fa-f])*>"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"constant.language.null",regex:"null\\b"},{token:"storage.type",regex:"(?:Integer|Boolean|Null|String|Buffer|Tuple|List|Object|Function|Coroutine|Form)\\b"},{token:"keyword",regex:"(?:return|abort|vars|for|delete|in|is|escape|exec|split|and|if|elif|else|while)\\b"},{token:"language.builtin",regex:"(?:lines|source|parse|read-stream|interval|substr|parseint|write|print|range|rand|inspect|bind|i-values|i-pairs|i-map|i-filter|i-chunk|i-all\\?|i-any\\?|i-collect|i-zip|i-merge|i-each)\\b"},{token:"comment",regex:"--.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"storage.form",regex:"@[a-z]+"},{token:"constant.other.symbol",regex:":+[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?"},{token:"variable",regex:"[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?"},{token:"keyword.operator",regex:"\\|\\||\\^\\^|&&|!=|==|<=|<|>=|>|\\+|-|\\*|\\/|\\^|\\%|\\#|\\!"},{token:"text",regex:"\\s+"}],string1:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/},{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"'",next:"start"},{token:"string",regex:"",next:"start"}],string2:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JackHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/jack",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jack_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./jack_highlight_rules").JackHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="--",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/jack"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-jade.js b/library/ace/mode-jade.js
new file mode 100644
index 000000000..bb7335e1f
--- /dev/null
+++ b/library/ace/mode-jade.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";function c(e,t){return{token:"support.function",regex:"^\\s*```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{token:"support.function",regex:"^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^\\s*```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i<s;i++)Array.prototype.push.apply(r,(e[i]+t.join("|"+e[i])).split("|"));return Array.prototype.push.apply(r,t),Array.prototype.push.apply(r,n),r}()),t=i.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unqoute".split("|")),n=i.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),r=i.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),s=i.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),o=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),u="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:u+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:u},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(i){return e.hasOwnProperty(i.toLowerCase())?"support.type":s.hasOwnProperty(i)?"keyword":n.hasOwnProperty(i)?"constant.language":t.hasOwnProperty(i)?"support.function":r.hasOwnProperty(i.toLowerCase())?"support.constant.color":o.hasOwnProperty(i.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./css_highlight_rules"),o=function(){var e="@import|@media|@font-face|@keyframes|@-webkit-keyframes|@supports|@charset|@plugin|@namespace|@document|@page|@viewport|@-ms-viewport|or|and|when|not",t=e.split("|"),n=s.supportType.split("|"),r=this.createKeywordMapper({"support.constant":s.supportConstant,keyword:e,"support.constant.color":s.supportConstantColor,"support.constant.fonts":s.supportConstantFonts},"identifier",!0),i="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+i+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:i},{token:["support.function","paren.lparen","string","paren.rparen"],regex:"(url)(\\()(.*)(\\))"},{token:["support.function","paren.lparen"],regex:"(:extend|[a-z0-9_\\-]+)(\\()"},{token:function(e){return t.indexOf(e.toLowerCase())>-1?"keyword":"variable"},regex:"[@\\$][a-z0-9_\\-@\\$]*\\b"},{token:"variable",regex:"[@\\$]\\{[a-z0-9_\\-@\\$]*\\}"},{token:function(e,t){return n.indexOf(e.toLowerCase())>-1?["support.type.property","text"]:["support.type.unknownProperty","text"]},regex:"([a-z0-9-_]+)(\\s*:)"},{token:"keyword",regex:"&"},{token:r,regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z_][a-z0-9-_]*"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|=|!=|-|%|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(o,i),t.LessHighlightRules=o}),ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this|throw|then|try|typeof|super|switch|return|break|by|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|own|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes",n="true|false|null|undefined|NaN|Infinity",r="case|const|default|function|var|void|with|enum|export|implements|interface|let|package|private|protected|public|static|yield|__hasProp|slice|bind|indexOf",i="Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray",s="Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|String|",o="window|arguments|prototype|document",u=this.createKeywordMapper({keyword:t,"constant.language":n,"invalid.illegal":r,"language.support.class":i,"language.support.function":s,"variable.language":o},"identifier"),a={token:["paren.lparen","variable.parameter","paren.rparen","text","storage.type"],regex:/(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()\"'\/])*?)(\))(\s*))?([\-=]>)/.source},f=/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;this.$rules={start:[{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{stateName:"qdoc",token:"string",regex:"'''",next:[{token:"string",regex:"'''",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqdoc",token:"string",regex:'"""',next:[{token:"string",regex:'"""',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qstring",token:"string",regex:"'",next:[{token:"string",regex:"'",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"js",token:"string",regex:"`",next:[{token:"string",regex:"`",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{regex:"[{}]",onMatch:function(e,t,n){this.next="";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift()||"";if(this.next.indexOf("string")!=-1)return"paren.string"}return"paren"}},{token:"string.regex",regex:"///",next:"heregex"},{token:"string.regex",regex:/(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/},{token:"comment",regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:["punctuation.operator","text","identifier"],regex:"(\\.)(\\s*)("+r+")"},{token:"punctuation.operator",regex:"\\.{1,3}"},{token:["keyword","text","language.support.class","text","keyword","text","language.support.class"],regex:"(class)(\\s+)("+e+")(?:(\\s+)(extends)(\\s+)("+e+"))?"},{token:["entity.name.function","text","keyword.operator","text"].concat(a.token),regex:"("+e+")(\\s*)([=:])(\\s*)"+a.regex},a,{token:"variable",regex:"@(?:"+e+")?"},{token:u,regex:e},{token:"punctuation.operator",regex:"\\,|\\."},{token:"storage.type",regex:"[\\-=]>"},{token:"keyword.operator",regex:"(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],comment:[{token:"comment",regex:"###",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.CoffeeHighlightRules=s}),ace.define("ace/mode/jade_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/scss_highlight_rules","ace/mode/less_highlight_rules","ace/mode/coffee_highlight_rules","ace/mode/javascript_highlight_rules"],function(e,t,n){"use strict";function l(e,t){return{token:"entity.name.function.jade",regex:"^\\s*\\:"+e,next:t+"start"}}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./markdown_highlight_rules").MarkdownHighlightRules,o=e("./scss_highlight_rules").ScssHighlightRules,u=e("./less_highlight_rules").LessHighlightRules,a=e("./coffee_highlight_rules").CoffeeHighlightRules,f=e("./javascript_highlight_rules").JavaScriptHighlightRules,c=function(){var e="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={start:[{token:"keyword.control.import.include.jade",regex:"\\s*\\binclude\\b"},{token:"keyword.other.doctype.jade",regex:"^!!!\\s*(?:[a-zA-Z0-9-_]+)?"},{onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/^\s*\/\//,next:"comment_block"},l("markdown","markdown-"),l("sass","sass-"),l("less","less-"),l("coffee","coffee-"),{token:["storage.type.function.jade","entity.name.function.jade","punctuation.definition.parameters.begin.jade","variable.parameter.function.jade","punctuation.definition.parameters.end.jade"],regex:"^(\\s*mixin)( [\\w\\-]+)(\\s*\\()(.*?)(\\))"},{token:["storage.type.function.jade","entity.name.function.jade"],regex:"^(\\s*mixin)( [\\w\\-]+)"},{token:"source.js.embedded.jade",regex:"^\\s*(?:-|=|!=)",next:"js-start"},{token:"string.interpolated.jade",regex:"[#!]\\{[^\\}]+\\}"},{token:"meta.tag.any.jade",regex:/^\s*(?!\w+\:)(?:[\w-]+|(?=\.|#)])/,next:"tag_single"},{token:"suport.type.attribute.id.jade",regex:"#\\w+"},{token:"suport.type.attribute.class.jade",regex:"\\.\\w+"},{token:"punctuation",regex:"\\s*(?:\\()",next:"tag_attributes"}],comment_block:[{regex:/^\s*(?:\/\/)?/,onMatch:function(e,t,n){return e.length<=n[1]?e.slice(-1)=="/"?(n[1]=e.length-2,this.next="","comment"):(n.shift(),n.shift(),this.next=n.shift(),"text"):(this.next="","comment")},next:"start"},{defaultToken:"comment"}],tag_single:[{token:"entity.other.attribute-name.class.jade",regex:"\\.[\\w-]+"},{token:"entity.other.attribute-name.id.jade",regex:"#[\\w-]+"},{token:["text","punctuation"],regex:"($)|((?!\\.|#|=|-))",next:"start"}],tag_attributes:[{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:["entity.other.attribute-name.jade","punctuation"],regex:"([a-zA-Z:\\.-]+)(=)?",next:"attribute_strings"},{token:"punctuation",regex:"\\)",next:"start"}],attribute_strings:[{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"string",regex:"(?=\\S)",next:"tag_attributes"}],qqstring:[{token:"constant.language.escape",regex:e},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"tag_attributes"}],qstring:[{token:"constant.language.escape",regex:e},{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"tag_attributes"}]},this.embedRules(f,"js-",[{token:"text",regex:".$",next:"start"}])};r.inherits(c,i),t.JadeHighlightRules=c}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/jade",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jade_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./jade_highlight_rules").JadeHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/jade"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-java.js b/library/ace/mode-java.js
new file mode 100644
index 000000000..529182f77
--- /dev/null
+++ b/library/ace/mode-java.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="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",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.JavaHighlightRules=o}),ace.define("ace/mode/java",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/java_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./java_highlight_rules").JavaHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/java"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-javascript.js b/library/ace/mode-javascript.js
new file mode 100644
index 000000000..bf5fc926c
--- /dev/null
+++ b/library/ace/mode-javascript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/library/ace/mode-json.js b/library/ace/mode-json.js
new file mode 100644
index 000000000..f6226b807
--- /dev/null
+++ b/library/ace/mode-json.js
@@ -0,0 +1 @@
+ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-jsoniq.js b/library/ace/mode-jsoniq.js
new file mode 100644
index 000000000..69461d972
--- /dev/null
+++ b/library/ace/mode-jsoniq.js
@@ -0,0 +1 @@
+ace.define("ace/mode/xquery/jsoniq_lexer",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){var r=n.JSONiqTokenizer=function i(e,t){function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}function o(){E.startNonterminal("EQName",g);switch(y){case 80:f(80);break;case 94:f(94);break;case 118:f(118);break;case 119:f(119);break;case 122:f(122);break;case 143:f(143);break;case 150:f(150);break;case 163:f(163);break;case 183:f(183);break;case 189:f(189);break;case 214:f(214);break;case 224:f(224);break;case 225:f(225);break;case 241:f(241);break;case 242:f(242);break;case 251:f(251);break;default:u()}E.endNonterminal("EQName",g)}function u(){E.startNonterminal("FunctionName",g);switch(y){case 17:f(17);break;case 68:f(68);break;case 71:f(71);break;case 72:f(72);break;case 73:f(73);break;case 77:f(77);break;case 78:f(78);break;case 82:f(82);break;case 86:f(86);break;case 87:f(87);break;case 88:f(88);break;case 91:f(91);break;case 92:f(92);break;case 101:f(101);break;case 103:f(103);break;case 106:f(106);break;case 107:f(107);break;case 108:f(108);break;case 109:f(109);break;case 110:f(110);break;case 111:f(111);break;case 116:f(116);break;case 117:f(117);break;case 120:f(120);break;case 121:f(121);break;case 124:f(124);break;case 126:f(126);break;case 127:f(127);break;case 129:f(129);break;case 132:f(132);break;case 133:f(133);break;case 134:f(134);break;case 135:f(135);break;case 144:f(144);break;case 146:f(146);break;case 148:f(148);break;case 149:f(149);break;case 151:f(151);break;case 157:f(157);break;case 158:f(158);break;case 160:f(160);break;case 161:f(161);break;case 162:f(162);break;case 168:f(168);break;case 170:f(170);break;case 172:f(172);break;case 176:f(176);break;case 178:f(178);break;case 179:f(179);break;case 180:f(180);break;case 182:f(182);break;case 184:f(184);break;case 196:f(196);break;case 198:f(198);break;case 199:f(199);break;case 200:f(200);break;case 204:f(204);break;case 210:f(210);break;case 211:f(211);break;case 216:f(216);break;case 217:f(217);break;case 218:f(218);break;case 222:f(222);break;case 227:f(227);break;case 233:f(233);break;case 234:f(234);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 248:f(248);break;case 252:f(252);break;case 254:f(254);break;case 258:f(258);break;case 264:f(264);break;case 268:f(268);break;case 272:f(272);break;case 70:f(70);break;case 79:f(79);break;case 81:f(81);break;case 83:f(83);break;case 84:f(84);break;case 89:f(89);break;case 96:f(96);break;case 99:f(99);break;case 100:f(100);break;case 102:f(102);break;case 104:f(104);break;case 123:f(123);break;case 130:f(130);break;case 131:f(131);break;case 139:f(139);break;case 152:f(152);break;case 153:f(153);break;case 159:f(159);break;case 169:f(169);break;case 190:f(190);break;case 197:f(197);break;case 201:f(201);break;case 220:f(220);break;case 223:f(223);break;case 226:f(226);break;case 232:f(232);break;case 238:f(238);break;case 249:f(249);break;case 250:f(250);break;case 255:f(255);break;case 259:f(259);break;case 260:f(260);break;case 261:f(261);break;case 265:f(265);break;case 95:f(95);break;case 174:f(174);break;default:f(219)}E.endNonterminal("FunctionName",g)}function a(){E.startNonterminal("NCName",g);switch(y){case 28:f(28);break;case 68:f(68);break;case 73:f(73);break;case 77:f(77);break;case 78:f(78);break;case 82:f(82);break;case 86:f(86);break;case 87:f(87);break;case 88:f(88);break;case 92:f(92);break;case 103:f(103);break;case 107:f(107);break;case 111:f(111);break;case 116:f(116);break;case 120:f(120);break;case 121:f(121);break;case 124:f(124);break;case 126:f(126);break;case 129:f(129);break;case 135:f(135);break;case 144:f(144);break;case 146:f(146);break;case 148:f(148);break;case 149:f(149);break;case 158:f(158);break;case 160:f(160);break;case 161:f(161);break;case 162:f(162);break;case 170:f(170);break;case 172:f(172);break;case 176:f(176);break;case 178:f(178);break;case 179:f(179);break;case 184:f(184);break;case 196:f(196);break;case 198:f(198);break;case 199:f(199);break;case 218:f(218);break;case 222:f(222);break;case 234:f(234);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 252:f(252);break;case 264:f(264);break;case 268:f(268);break;case 71:f(71);break;case 72:f(72);break;case 80:f(80);break;case 91:f(91);break;case 94:f(94);break;case 101:f(101);break;case 106:f(106);break;case 108:f(108);break;case 109:f(109);break;case 110:f(110);break;case 117:f(117);break;case 118:f(118);break;case 119:f(119);break;case 122:f(122);break;case 127:f(127);break;case 132:f(132);break;case 133:f(133);break;case 134:f(134);break;case 143:f(143);break;case 150:f(150);break;case 151:f(151);break;case 157:f(157);break;case 163:f(163);break;case 168:f(168);break;case 180:f(180);break;case 182:f(182);break;case 183:f(183);break;case 189:f(189);break;case 200:f(200);break;case 204:f(204);break;case 210:f(210);break;case 211:f(211);break;case 214:f(214);break;case 216:f(216);break;case 217:f(217);break;case 224:f(224);break;case 225:f(225);break;case 227:f(227);break;case 233:f(233);break;case 241:f(241);break;case 242:f(242);break;case 248:f(248);break;case 251:f(251);break;case 254:f(254);break;case 258:f(258);break;case 260:f(260);break;case 272:f(272);break;case 70:f(70);break;case 79:f(79);break;case 81:f(81);break;case 83:f(83);break;case 84:f(84);break;case 89:f(89);break;case 96:f(96);break;case 99:f(99);break;case 100:f(100);break;case 102:f(102);break;case 104:f(104);break;case 123:f(123);break;case 130:f(130);break;case 131:f(131);break;case 139:f(139);break;case 152:f(152);break;case 153:f(153);break;case 159:f(159);break;case 169:f(169);break;case 190:f(190);break;case 197:f(197);break;case 201:f(201);break;case 220:f(220);break;case 223:f(223);break;case 226:f(226);break;case 232:f(232);break;case 238:f(238);break;case 249:f(249);break;case 250:f(250);break;case 255:f(255);break;case 259:f(259);break;case 261:f(261);break;case 265:f(265);break;case 95:f(95);break;case 174:f(174);break;default:f(219)}E.endNonterminal("NCName",g)}function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(b,w,0,y,e)}function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}function c(e){var t;for(;;){t=C(e);if(t!=30)break}return t}function h(e){y==0&&(y=c(e),b=T,w=N)}function p(e){y==0&&(y=C(e),b=T,w=N)}function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n<x?S.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<x?S.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,N=n)}r>>=12;if(r==0){N=n-1;var f=N<x?S.charCodeAt(N):0;return f>=56320&&f<57344&&--N,d(T,N,s,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--N;var f=N<x?S.charCodeAt(N):0;f>=56320&&f<57344&&--N}else N-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return S},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=S.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+S.substring(e.getBegin(),Math.min(S.length,e.getBegin()+64))+"..."},this.parse_start=function(){E.startNonterminal("start",g),h(14);switch(y){case 58:f(58);break;case 57:f(57);break;case 59:f(59);break;case 43:f(43);break;case 45:f(45);break;case 44:f(44);break;case 37:f(37);break;case 41:f(41);break;case 277:f(277);break;case 274:f(274);break;case 42:f(42);break;case 46:f(46);break;case 52:f(52);break;case 65:f(65);break;case 66:f(66);break;case 49:f(49);break;case 51:f(51);break;case 56:f(56);break;case 54:f(54);break;case 36:f(36);break;case 276:f(276);break;case 40:f(40);break;case 5:f(5);break;case 4:f(4);break;case 6:f(6);break;case 15:f(15);break;case 16:f(16);break;case 18:f(18);break;case 19:f(19);break;case 20:f(20);break;case 8:f(8);break;case 9:f(9);break;case 7:f(7);break;case 35:f(35);break;default:o()}E.endNonterminal("start",g)},this.parse_StartTag=function(){E.startNonterminal("StartTag",g),h(8);switch(y){case 61:f(61);break;case 53:f(53);break;case 29:f(29);break;case 60:f(60);break;case 37:f(37);break;case 41:f(41);break;default:f(35)}E.endNonterminal("StartTag",g)},this.parse_TagContent=function(){E.startNonterminal("TagContent",g),p(11);switch(y){case 25:f(25);break;case 9:f(9);break;case 10:f(10);break;case 58:f(58);break;case 57:f(57);break;case 21:f(21);break;case 31:f(31);break;case 275:f(275);break;case 278:f(278);break;case 274:f(274);break;default:f(35)}E.endNonterminal("TagContent",g)},this.parse_AposAttr=function(){E.startNonterminal("AposAttr",g),p(10);switch(y){case 23:f(23);break;case 27:f(27);break;case 21:f(21);break;case 31:f(31);break;case 275:f(275);break;case 278:f(278);break;case 274:f(274);break;case 41:f(41);break;default:f(35)}E.endNonterminal("AposAttr",g)},this.parse_QuotAttr=function(){E.startNonterminal("QuotAttr",g),p(9);switch(y){case 22:f(22);break;case 26:f(26);break;case 21:f(21);break;case 31:f(31);break;case 275:f(275);break;case 278:f(278);break;case 274:f(274);break;case 37:f(37);break;default:f(35)}E.endNonterminal("QuotAttr",g)},this.parse_CData=function(){E.startNonterminal("CData",g),p(1);switch(y){case 14:f(14);break;case 67:f(67);break;default:f(35)}E.endNonterminal("CData",g)},this.parse_XMLComment=function(){E.startNonterminal("XMLComment",g),p(0);switch(y){case 12:f(12);break;case 50:f(50);break;default:f(35)}E.endNonterminal("XMLComment",g)},this.parse_PI=function(){E.startNonterminal("PI",g),p(3);switch(y){case 13:f(13);break;case 62:f(62);break;case 63:f(63);break;default:f(35)}E.endNonterminal("PI",g)},this.parse_Pragma=function(){E.startNonterminal("Pragma",g),p(2);switch(y){case 11:f(11);break;case 38:f(38);break;case 39:f(39);break;default:f(35)}E.endNonterminal("Pragma",g)},this.parse_Comment=function(){E.startNonterminal("Comment",g),p(4);switch(y){case 55:f(55);break;case 44:f(44);break;case 32:f(32);break;default:f(35)}E.endNonterminal("Comment",g)},this.parse_CommentDoc=function(){E.startNonterminal("CommentDoc",g),p(6);switch(y){case 33:f(33);break;case 34:f(34);break;case 55:f(55);break;case 44:f(44);break;default:f(35)}E.endNonterminal("CommentDoc",g)},this.parse_QuotString=function(){E.startNonterminal("QuotString",g),p(5);switch(y){case 3:f(3);break;case 2:f(2);break;case 1:f(1);break;case 37:f(37);break;default:f(35)}E.endNonterminal("QuotString",g)},this.parse_AposString=function(){E.startNonterminal("AposString",g),p(7);switch(y){case 21:f(21);break;case 31:f(31);break;case 23:f(23);break;case 24:f(24);break;case 41:f(41);break;default:f(35)}E.endNonterminal("AposString",g)},this.parse_Prefix=function(){E.startNonterminal("Prefix",g),h(13),l(),a(),E.endNonterminal("Prefix",g)},this.parse__EQName=function(){E.startNonterminal("_EQName",g),h(12),l(),o(),E.endNonterminal("_EQName",g)};var v,m,g,y,b,w,E,S,x,T,N};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<279;i+=32){var s=i,o=(i>>5)*2066+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[67,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,37,31,37,38,39,40,41,42,43,44,45,46,31,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,31,62,63,64,65,37],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,347,363,379,416,416,416,408,331,323,331,323,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,433,433,433,433,433,433,433,316,331,331,331,331,331,331,331,331,394,416,416,417,415,416,416,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,330,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,67,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,31,31,31,31,37,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,37,31,37,38,39,40,41,42,43,44,45,46,31,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,31,62,63,64,65,37,37,37,37,37,37,37,37,37,37,37,37,31,31,37,37,37,37,37,37,37,66,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,37,31,37,31,31,37],r.INITIAL=[1,2,49155,57348,5,6,7,8,9,10,11,12,13,14,15],r.TRANSITION=[19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,17408,19288,17439,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,22126,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17672,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,19469,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,36919,18234,18262,18278,18294,18320,18336,18361,18397,18419,18432,18304,18448,18485,18523,18553,18583,18599,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,18825,18841,18871,18906,18944,18960,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19074,36169,17439,36866,17466,36890,36866,22314,19105,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,22126,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17672,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,19469,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,36919,18234,18262,18278,18294,18320,18336,18361,18397,18419,18432,18304,18448,18485,18523,18553,18583,18599,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,18825,18841,18871,18906,18944,18960,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22182,19288,19121,36866,17466,18345,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19273,19552,19304,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19332,17423,19363,36866,17466,17537,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,18614,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,19391,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,19427,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36154,19288,19457,36866,17466,17740,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22780,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22375,22197,18469,36866,17466,36890,36866,21991,24018,22987,17556,17575,22288,17486,17509,17525,18373,21331,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,19485,19501,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19537,22390,19568,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19596,19611,19457,36866,17466,36890,36866,18246,19627,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22242,20553,19457,36866,17466,36890,36866,18648,30477,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36472,19288,19457,36866,17466,17809,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,21770,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,19643,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,19672,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,20538,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,17975,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22345,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19726,19742,21529,24035,23112,26225,23511,27749,27397,24035,34360,24035,24036,23114,35166,23114,23114,19758,23511,35247,23511,23511,28447,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,24254,19821,23511,23511,23511,23511,23512,19441,36539,24035,24035,24035,24035,19846,19869,23114,23114,23114,28618,32187,19892,23511,23511,23511,34585,20402,36647,24035,24035,24036,23114,33757,23114,23114,23029,20271,23511,27070,23511,23511,30562,24035,24035,29274,26576,23114,23114,31118,23036,29695,23511,23511,32431,23634,30821,24035,23110,19913,23114,23467,31261,23261,34299,19932,24035,32609,19965,35389,19984,27689,19830,29391,29337,20041,22643,35619,33728,20062,20121,20166,35100,26145,20211,23008,19876,20208,20227,25670,20132,26578,27685,20141,20243,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36094,19288,19457,36866,17466,21724,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22735,19552,20287,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22750,19288,21529,24035,23112,28056,23511,29483,28756,24035,24035,24035,24036,23114,23114,23114,23114,20327,23511,23511,23511,23511,31156,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,24254,20371,23511,23511,23511,23511,27443,20395,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,29457,29700,23511,23511,23511,23511,33444,20402,24035,24035,24035,24036,23114,23114,23114,23114,28350,20421,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,20447,20475,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,20523,22257,20569,20783,21715,17603,20699,20837,20614,20630,21149,20670,21405,17486,17509,17525,18373,19179,20695,20716,20732,20755,19194,18042,21641,20592,20779,20598,21412,17470,17591,20896,17468,17619,20799,20700,21031,20744,20699,20828,18075,21259,20581,20853,18048,20868,20884,17756,17784,17800,17825,17854,21171,21200,20931,20947,21378,20955,20971,18086,20645,21002,20986,18178,17960,18012,18381,18064,29176,21044,21438,21018,21122,21393,21060,21844,21094,20654,17493,18150,18166,18214,25967,20763,21799,21110,21830,21138,21246,21301,18336,18361,21165,21187,20812,21216,21232,21287,21317,18553,21347,21363,21428,21454,21271,21483,21499,21515,21575,21467,18712,21591,21633,21078,18189,18198,20679,21657,21701,21074,21687,21740,21756,21786,21815,21860,21876,21892,21946,21962,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36457,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,36813,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,21981,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,22151,22007,18884,17900,17922,17944,18178,17960,18012,18381,18064,27898,17884,18890,17906,17928,22042,25022,18130,36931,36963,17493,18150,18166,22070,22112,25026,18134,36935,18262,18278,18294,18320,18336,18361,22142,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36109,19288,18469,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22167,19288,19457,36866,17466,17768,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22227,36487,22273,36866,17466,36890,36866,19316,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18749,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,22304,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,19580,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22330,19089,19457,36866,17466,18721,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22765,19347,19457,36866,17466,36890,36866,18114,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,29116,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,27443,22493,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34541,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,22839,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,22540,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,29116,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,27443,22493,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34564,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,22839,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,29908,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,27443,22493,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34564,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,22839,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,29116,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,27443,22561,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34564,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,22839,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,23837,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22584,23511,23511,23511,23511,29116,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,27443,22493,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34564,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,22839,23511,23511,23511,23511,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,31507,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,24694,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36442,19288,21605,24035,23112,28137,23511,31507,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,24694,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,31507,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,24694,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,31568,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22690,19288,19457,36866,17466,36890,36866,21991,27584,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,22659,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22360,19552,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22675,22811,19457,36866,17466,36890,36866,19133,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,22827,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36139,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36064,19288,22865,22881,32031,22897,22913,22956,29939,24035,24035,24035,23003,23114,23114,23114,23024,22420,23511,23511,23511,23052,29116,23073,29268,24035,25563,26915,23106,23131,23114,23114,23159,23181,23197,23248,23511,23511,23282,23305,22493,32364,24035,33472,30138,26325,31770,33508,27345,33667,23114,23321,23473,23351,35793,36576,23511,23375,22500,24145,24035,29197,20192,24533,23440,23114,19017,23459,22839,23489,23510,23511,33563,23528,32076,25389,24035,26576,23561,23583,23114,32683,22516,23622,23655,23511,23634,35456,37144,23110,23683,34153,20499,32513,25824,23705,24035,24035,23111,23114,19874,27078,33263,19830,24035,23112,19872,27741,23266,24036,23114,30243,20507,32241,20150,31862,27464,35108,23727,23007,35895,34953,26578,27685,20141,24569,31691,19787,33967,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36427,19552,21605,24035,23112,32618,23511,29483,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,29116,19803,24035,24035,24035,27027,26576,23114,23114,23114,31471,23756,22468,23511,23511,23511,34687,23772,22493,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34564,23788,24035,24035,24035,21559,23828,23114,23114,23114,25086,22839,23853,23511,23511,23511,23876,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,31761,23909,23953,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36049,19288,21605,30825,23112,23987,23511,24003,31001,27617,24034,24035,24036,24052,24089,23114,23114,22420,24109,24168,23511,23511,29116,24188,27609,20017,29516,24035,26576,24222,19968,23114,24252,33811,22468,24270,33587,23511,24320,27443,22493,24035,24035,24035,24035,24339,23113,23114,23114,23114,28128,28618,29700,23511,23511,23511,28276,34564,20402,24035,24035,32929,24036,23114,23114,23114,24357,23029,22839,23511,23511,23511,24377,25645,24035,34112,24035,26576,23114,26643,23114,32683,22516,23511,25638,23511,23711,24035,24395,27809,23114,24414,20499,24432,30917,23628,24035,30680,23111,23114,30233,27078,25748,24452,24035,23112,19872,27741,23266,24036,23114,24475,19829,26577,26597,26154,24519,24556,24596,23007,20046,20132,26578,24634,20141,24569,31691,24679,24727,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36412,19288,21605,19943,34861,32618,26027,29483,32016,32050,36233,24776,35574,24801,24819,32671,31289,22420,24868,24886,20087,26849,29116,19803,24035,24035,24035,36228,26576,23114,23114,23114,24981,33811,22468,23511,23511,23511,29028,27443,22493,24923,27965,24035,24035,32797,24946,23443,23114,23114,29636,24997,22849,28252,23511,23511,23511,25042,25110,24035,24035,34085,24036,25133,23114,23114,25152,23029,22839,25169,23511,36764,23511,25645,30403,24035,25186,26576,31806,24093,25212,32683,22516,32713,26245,34293,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,24035,32406,23111,23114,28676,30944,27689,25234,24035,23112,19872,37063,23266,24036,23114,30243,20379,26100,29218,20211,30105,25257,25284,23007,20046,20132,26578,27685,20141,24569,24834,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36034,19288,21671,25314,25072,25330,25346,25362,29939,29951,35288,29984,23812,27216,25405,25424,30456,22584,26292,25461,25480,31592,29116,25516,34963,25545,27007,25579,33937,25614,25661,25686,34872,25702,25718,25734,25769,25795,25811,25840,22493,26533,25856,24035,25876,30763,27481,25909,23114,28987,25936,25954,29700,25983,23511,31412,26043,26063,22568,29241,29592,26116,31216,35383,26170,34783,26194,26221,22839,26241,26261,22477,26283,26308,27306,31035,24655,26576,29854,33386,26341,32683,22516,32153,30926,26361,19996,26381,35463,26397,26424,34646,26478,35605,31386,26494,35567,31964,22940,23689,25218,30309,32289,19830,33605,23112,32109,27733,27084,24496,35886,35221,26525,36602,26549,26558,26574,26594,26613,26629,26666,26700,26578,27685,23740,24285,31691,26733,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36397,19552,18991,25887,28117,32618,26776,29483,29939,26802,24035,24035,24036,28664,23114,23114,23114,22420,30297,23511,23511,23511,29116,19803,24035,24035,24035,25559,26576,23114,23114,23114,30525,33811,22468,23511,23511,23511,28725,27443,22493,24035,24035,27249,24035,24035,23113,23114,23114,26827,23114,28618,29700,23511,23511,26845,23511,34564,20402,24035,24035,26979,24036,23114,23114,23114,24974,23029,22839,23511,23511,23511,26865,25645,24035,24035,24035,26576,23114,23114,23114,32683,22516,23511,23511,23511,23634,24035,24035,23110,23114,23114,20499,23511,23261,23628,33305,24035,25598,23114,19874,34253,27689,19830,24035,23112,19872,27741,23266,24036,23114,26886,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,26931,24569,26439,26947,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36019,19288,26995,24035,23112,32618,23511,31507,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,27043,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,27061,23511,23511,23511,23511,23512,24694,24035,24035,29978,24035,24035,23113,23114,33114,23114,23114,30010,29700,23511,35913,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,27155,26576,23114,23114,30447,23036,29695,23511,23511,30935,20099,24152,25529,27100,34461,27121,22625,29156,26009,27137,30422,31903,31655,28870,27171,32439,31731,19830,27232,22612,27265,26786,25494,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,20342,27288,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,27322,27339,28020,27361,27382,29939,24035,24035,32581,24036,23114,23114,23114,27425,22420,23511,23511,23511,27442,28306,19803,24035,24035,24035,24035,26710,23114,23114,23114,23114,32261,22468,23511,23511,23511,23511,35719,24694,29510,24035,24035,24035,24035,26717,23114,23114,23114,23114,28618,32217,23511,23511,23511,23511,34585,20402,24035,24035,24035,27459,23114,23114,23114,36252,23029,20271,23511,23511,23511,28840,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,27480,34483,28401,29761,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36382,19288,21605,27497,27517,28504,28898,27569,29939,29401,27600,27323,27633,19025,27662,23114,27705,22420,20483,27721,23511,27765,28306,19803,23540,24035,24610,27781,27805,26650,23114,28573,32990,25920,22468,26870,23511,26684,34262,34737,25057,34622,24035,24035,23971,24206,27825,27847,23114,23114,27865,27885,35766,27914,23511,23511,32766,32844,27934,28795,26909,27955,26092,27988,25445,28005,28036,28052,21965,23511,32196,19897,28072,28102,36534,21541,23801,28153,28180,28197,28221,23036,32695,28251,28268,28292,23667,34825,23930,24580,28322,28344,31627,28366,25996,23628,24035,24035,23111,23114,19874,27078,27689,35625,33477,33359,27674,28393,33992,24036,23114,30243,19829,28417,28433,28463,23008,19876,20208,23007,20046,20132,28489,28520,20141,24569,31691,19787,28550,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,24035,23112,32618,23511,31507,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,24694,28589,24035,24035,24035,24035,28608,23114,23114,23114,23114,28618,20431,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36004,19288,28634,31951,28565,28702,28718,28741,32544,20175,28792,32086,20105,28811,29059,29862,28856,22420,28886,30354,23359,28922,28306,28952,23888,26320,36506,24035,29331,28968,36609,23114,29003,31661,27061,30649,27366,23511,29023,27918,24694,24035,24035,23893,33094,30867,23113,23114,23114,29044,34184,30010,29700,23511,23511,29081,29102,34585,20402,27789,24035,24035,24036,23114,29132,23114,23114,23029,20271,23511,29153,23511,23511,30562,30174,24035,24035,27409,25438,23114,23114,29172,36668,31332,23511,23511,29192,30144,24035,23110,30203,23114,23467,31544,23261,23628,24035,22545,23111,23114,29213,27078,27689,29234,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,29257,23008,19876,20208,28768,29290,29320,34776,29353,20141,22435,29378,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36367,19288,21605,34616,19006,32618,31497,31507,36216,20184,24035,34393,29424,34668,23114,34900,29447,22420,30360,23511,37089,29473,28306,19803,29499,24398,24035,24035,26576,31799,29532,29550,23114,33811,22468,32298,29571,31184,23511,23512,37127,36628,29589,24035,24135,24035,23113,29608,23114,27831,29634,28618,29652,30037,23511,24172,29671,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,29555,29690,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,29719,24035,23110,29738,23114,23467,34035,29756,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,29777,34364,28181,30243,29799,31920,27272,27185,23008,31126,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29828,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,35989,19552,19687,35139,28649,29878,29894,29924,29939,23224,23085,31969,24036,35173,24752,24803,23114,22420,31190,30318,24870,23511,28306,29967,23967,24035,24035,24035,26576,3e4,23114,23114,23114,33811,22468,30026,23511,23511,23511,23512,26078,24035,24035,24035,30053,37137,30071,23114,23114,33368,25136,28618,30723,23511,23511,37096,31356,34585,20402,30092,30127,30160,24036,35740,30219,24960,30259,23029,20271,34042,30285,30342,30376,23289,30055,30400,30419,30438,32640,33532,33514,30472,18792,26267,24323,23057,30493,23639,20008,30196,33188,30517,20075,23511,30541,23628,30578,33928,28776,30594,19874,30610,30637,19830,30677,27646,19872,25779,23266,23232,35016,30243,30696,29812,30712,30746,27206,30779,30807,23007,33395,20132,26578,27685,31703,22928,31691,19787,31079,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36352,19288,23335,30841,26131,30888,30904,30986,29939,24035,24704,31017,20025,23114,26178,31051,31095,22420,23511,22524,31142,31172,28534,31206,35497,25196,24035,28592,24503,23114,31239,31285,23114,31305,31321,31355,31372,31407,23511,30556,24694,24035,27501,19805,24035,24035,23113,23114,31428,24066,23114,28618,29700,23511,31837,18809,23511,34585,31448,24035,24035,24035,23090,23114,23114,23114,23114,31619,35038,23511,23511,23511,23511,33714,24035,33085,24035,29431,23114,31467,23114,23143,31487,23511,31523,23511,35195,36783,24035,30111,23567,23114,23467,31543,31560,23628,24035,24035,23111,23114,19874,30953,31584,34508,24035,31608,26345,37055,23266,31643,31677,31719,31747,31786,31822,26898,23008,19876,31859,23007,20046,20132,26578,27685,20141,24569,31691,31878,31936,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,35974,19288,21605,27972,35663,31985,29655,32001,36715,24785,25893,23545,31912,19853,19916,25938,24540,22420,31843,29674,29573,32735,28936,19803,24035,24035,32047,24035,26576,23114,23114,27544,23114,33811,22468,23511,23511,32161,23511,23512,32066,24035,33313,24035,24035,24035,23113,27426,32102,23114,23114,28618,32125,23511,32144,23511,23511,33569,20402,24035,27045,24035,24036,23114,23114,28328,23114,30076,32177,23511,23511,30384,23511,30562,24035,24035,24035,26576,23114,23114,23114,23595,32212,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,22635,25753,32233,32257,32277,19829,26577,26597,20211,23008,19876,32322,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,32352,35285,32380,34196,33016,30661,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,32404,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,32422,23511,23511,23511,23511,23512,24694,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,30269,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,19949,24035,23111,32455,19874,31269,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36337,19552,19209,21617,26509,32475,32491,32529,29939,24035,32578,25241,32597,23114,32634,29007,32656,22420,23511,32729,26365,32751,28306,32788,32882,24035,24035,32813,36727,23114,33182,23114,27553,33235,32829,23511,32706,23511,28906,28377,26962,32881,32904,32898,32920,24035,32953,23114,32977,26408,23114,28164,33006,23511,33039,35774,23511,32306,20402,33076,30872,24035,24036,25408,33110,28979,23114,23029,20271,35835,33130,33054,23511,30562,33148,24035,24035,33167,23114,23114,33775,23036,20459,23511,23511,25464,24646,24035,24035,22446,23114,23114,25627,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,31391,33204,33220,33251,33287,26577,26597,20211,33329,19876,33345,23007,20046,20132,26578,27685,28473,22599,31691,33411,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,35959,19288,21907,27243,29843,32618,33427,31507,29939,33460,34090,24035,24036,33493,24416,33530,23114,22420,33548,24379,33585,23511,28306,19803,33603,24202,24035,24035,25593,33749,28205,23114,23114,32388,22468,33853,33060,23511,23511,31339,33621,24035,24035,34397,24618,30757,33663,23114,23114,33683,35684,28618,26678,23511,23511,32506,33699,34585,20402,24035,32562,26973,24036,23114,23114,33377,33773,23029,20271,23511,23511,30621,23511,23860,24035,33791,21553,26576,36558,23114,33809,23036,32857,26047,23511,33827,23634,24035,24035,23110,23114,23114,31252,23511,33845,23628,24035,24459,23111,23114,33869,27078,30791,29783,24035,24742,19872,33895,23266,26462,19710,33879,33919,26577,26597,24123,24930,21930,20208,30501,33953,25268,20252,33983,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36322,19552,23390,33634,35154,34008,34024,34058,35544,34106,34128,26811,33151,34144,34169,34212,23114,34228,34244,34278,34315,23511,34331,34347,34380,34413,24035,24663,26576,34429,34453,34477,29534,33811,22468,34499,34524,34557,25170,34580,35436,23937,34601,24035,24341,26453,23113,34638,34662,23114,24236,28618,34684,34703,34729,23511,35352,34753,34799,24035,34815,32558,34848,34888,35814,34923,23165,29137,23606,30326,30730,34939,33023,30562,36848,34979,24035,24847,34996,23114,23114,35032,29695,35054,23511,23511,35091,33296,35124,24296,28235,24361,36276,32772,35067,35189,27301,30855,24852,22452,35211,35237,35316,25500,35270,23405,24304,35304,29362,24036,23114,35332,19829,26577,26597,20211,23008,19876,20208,35368,28823,23920,32336,35405,20141,24569,31691,35421,35479,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,35944,22795,21605,33647,35877,35513,30962,35529,34073,35557,24035,24035,20405,31107,23114,23114,23114,35590,34713,23511,23511,23511,35641,19803,29408,32937,25298,24035,35657,23115,27849,24760,35679,26205,22468,23511,35700,24907,24901,35075,31893,34980,24035,24035,24035,24035,23113,35009,23114,23114,23114,28618,35716,30970,23511,23511,23511,34585,23215,24035,24035,24035,24036,35735,23114,23114,23114,27105,35756,35790,23511,23511,23511,35254,35446,24035,24035,31223,35809,23114,23114,23036,36825,35830,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,31031,20355,19872,33903,23266,24036,23114,28686,19829,26577,26597,20211,23008,23424,20208,24711,31065,24486,26578,27685,20141,19773,35851,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36307,19288,21605,35494,19702,32618,33437,31507,29939,25117,24035,27939,24036,27869,23114,26829,23114,22420,23494,23511,33132,23511,28306,19803,24035,34832,24035,24035,26576,23114,25153,23114,23114,33811,22468,23511,23511,35911,23511,23512,24694,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,35929,19288,21605,25860,23112,36185,23511,36201,29939,24035,24035,24035,24036,23114,23114,23114,23114,22420,23511,23511,23511,23511,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,26748,24035,24035,24035,24035,24035,36249,23114,23114,23114,23114,28618,28835,23511,23511,23511,23511,34585,20402,24035,27151,24035,26760,23114,27989,23114,23114,36268,20271,23511,24436,23511,29703,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36292,19288,21605,36503,21922,32618,34534,31507,36522,24035,33793,24035,35864,23114,23114,36555,23417,22420,23511,23511,36574,26020,28306,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,33811,22468,23511,23511,23511,23511,23512,36592,24035,24035,36625,24035,24035,23113,23114,32961,23114,23114,29618,29700,23511,29086,23511,23511,34585,20402,36644,24035,24035,24036,29740,23114,23114,23114,29065,36663,31527,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36079,19288,21605,31451,23112,36684,23511,36700,29939,24035,24035,24035,30185,23114,23114,23114,27526,22420,23511,23511,23511,32865,28306,19803,36743,24035,27017,24035,26576,27535,23114,31432,23114,33811,22468,33271,23511,32128,23511,23512,24694,24035,27196,24035,24035,24035,23113,32459,23114,23114,23114,28618,29700,33829,36762,23511,23511,34585,20402,24035,36746,24035,29722,23114,23114,34437,23114,34907,20271,23511,23511,18801,23511,23206,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,36837,24035,24035,33739,23114,23114,25094,23511,23261,23628,24035,36780,23111,24073,19874,27078,35344,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22720,19288,36799,36866,17466,36890,36864,21991,22211,22987,17556,17575,22288,17486,17509,17525,18373,17631,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,36883,36906,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,22705,19288,19457,36866,17466,36890,36866,19375,22971,22987,17556,17575,22288,17486,17509,17525,18373,18855,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36124,19288,36951,36866,17466,36890,36866,21991,22404,22987,17556,17575,22288,17486,17509,17525,18373,18567,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,36979,36995,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36139,19288,19457,36866,17466,36890,36866,21991,22971,22987,17556,17575,22288,17486,17509,17525,18373,18027,22984,17553,17572,22285,18462,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,17619,22083,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,36139,19288,21529,24035,23112,23033,23511,31507,25377,24035,24035,24035,24036,23114,23114,23114,23114,37040,23511,23511,23511,23511,28086,19803,24035,24035,24035,24035,26576,23114,23114,23114,23114,24254,37079,23511,23511,23511,23511,23512,34766,24035,24035,24035,24035,24035,23113,23114,23114,23114,23114,28618,29700,23511,23511,23511,23511,34585,20402,24035,24035,24035,24036,23114,23114,23114,23114,23029,20271,23511,23511,23511,23511,30562,24035,24035,24035,26576,23114,23114,23114,23036,29695,23511,23511,23511,23634,24035,24035,23110,23114,23114,23467,23511,23261,23628,24035,24035,23111,23114,19874,27078,27689,19830,24035,23112,19872,27741,23266,24036,23114,30243,19829,26577,26597,20211,23008,19876,20208,23007,20046,20132,26578,27685,20141,24569,31691,19787,29304,20268,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,37112,37160,18469,36866,17466,36890,36866,17656,37174,22987,17556,17575,22288,17486,17509,17525,18373,18537,22984,17553,17572,22285,18780,17990,18622,19411,20306,17996,17689,17470,17591,20896,17468,36883,36906,36867,19404,20299,36866,17647,17862,18921,19514,17705,20311,37017,17728,17756,17784,17800,17825,17854,18403,18928,19521,17712,37008,37024,17878,18884,17900,17922,17944,18178,17960,18012,18381,18064,18218,17884,18890,17906,17928,18102,25022,18130,36931,36963,17493,18150,18166,18214,25010,25026,18134,36935,18262,18278,18294,18320,18336,18361,18397,18274,22096,18304,18448,18485,18523,18553,18583,19149,18638,18497,19656,18664,18680,18507,18696,19164,18712,18737,17681,22026,20906,20915,22054,17838,17450,22022,18765,19225,18841,18871,18906,19241,19257,18976,19041,19056,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,19058,53264,18,49172,57366,24,8192,28,102432,127011,110630,114730,106539,127011,127011,127011,53264,18,18,0,0,57366,0,24,24,24,0,28,28,28,28,102432,0,0,127011,0,2220032,110630,0,0,0,114730,106539,0,2170880,2170880,2170880,2170880,0,0,0,2170880,2170880,2170880,3002368,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2576384,2215936,2215936,2215936,2416640,2424832,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2543616,2215936,2215936,2215936,2215936,2215936,2629632,2215936,2617344,2215936,2215936,2215936,2215936,2215936,2215936,2691072,2215936,2707456,2215936,2715648,2215936,2723840,2764800,2215936,2215936,2797568,2215936,2822144,2215936,2215936,2854912,2215936,2215936,2215936,2912256,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,180224,0,0,2174976,0,0,2170880,2617344,2170880,2170880,2170880,2170880,2170880,2170880,2691072,2170880,2707456,2170880,2715648,2170880,2723840,2764800,2170880,2170880,2797568,2170880,2170880,2797568,2170880,2822144,2170880,2170880,2854912,2170880,2170880,2170880,2912256,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2215936,2609152,2215936,2215936,2215936,2215936,2215936,2215936,2654208,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,184599,280,0,2174976,0,0,2215936,3117056,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,544,0,546,0,0,2179072,0,0,0,552,0,0,2170880,2170880,2170880,3117056,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,0,0,0,2158592,2158592,2232320,2232320,0,2240512,2240512,0,0,0,644,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,3129344,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2400256,2215936,2215936,2215936,2215936,2711552,2170880,2170880,2170880,2170880,2170880,2760704,2768896,2789376,2813952,2170880,2170880,2170880,2875392,2904064,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2453504,2457600,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,167936,0,0,0,0,2174976,0,0,2215936,2215936,2514944,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2592768,2215936,2215936,2215936,2215936,2215936,2215936,2215936,32768,0,0,0,0,0,2174976,32768,0,2633728,2215936,2215936,2215936,2215936,2215936,2215936,2711552,2215936,2215936,2215936,2215936,2215936,2760704,2768896,2789376,2813952,2215936,2215936,2215936,2875392,2904064,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,0,0,0,2174976,0,65819,2215936,2215936,3031040,2215936,3055616,2215936,2215936,2215936,2215936,3092480,2215936,2215936,3125248,2215936,2215936,2215936,2215936,2215936,2215936,3002368,2215936,2215936,2170880,2170880,2494464,2170880,2170880,0,0,2215936,2215936,2215936,2215936,2215936,2215936,3198976,2215936,0,0,0,0,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,0,0,0,2379776,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2445312,2170880,2465792,2473984,2170880,2170880,2170880,2170880,2170880,2170880,2523136,2170880,2170880,2641920,2170880,2170880,2170880,2699264,2170880,2727936,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2879488,2170880,2916352,2170880,2170880,2170880,2879488,2170880,2916352,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3026944,2170880,2170880,3063808,2170880,2170880,3112960,2170880,2170880,3133440,2170880,2170880,3112960,2170880,2170880,3133440,2170880,2170880,2170880,3162112,2170880,2170880,3182592,3186688,2170880,2379776,2215936,2523136,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2596864,2215936,2621440,2215936,2215936,2641920,2215936,2215936,0,0,0,0,0,0,2179072,548,0,0,0,0,287,2170880,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3117056,2170880,2170880,2170880,2170880,2215936,2215936,2699264,2215936,2727936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2879488,2215936,2916352,2215936,2215936,0,0,0,0,188416,0,2179072,0,0,0,0,0,287,2170880,0,2171019,2171019,2171019,2400395,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3031179,2171019,3055755,2171019,2171019,2215936,3133440,2215936,2215936,2215936,3162112,2215936,2215936,3182592,3186688,2215936,0,0,0,0,0,0,0,0,0,0,2171019,2171019,2171019,2171019,2171019,2171019,2523275,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2597003,2171019,2621579,2170880,2170880,2170880,3162112,2170880,2170880,3182592,3186688,2170880,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,18,18,24,24,0,4337664,28,2170880,2170880,2170880,2629632,2170880,2170880,2170880,2170880,2719744,2744320,2170880,2170880,2170880,2834432,2838528,2170880,2908160,2170880,2170880,2936832,2215936,2215936,2215936,2215936,2719744,2744320,2215936,2215936,2215936,2834432,2838528,2215936,2908160,2215936,2215936,2936832,2215936,2215936,2985984,2215936,2994176,2215936,2215936,3014656,2215936,3059712,3076096,3088384,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2445312,2215936,2465792,2473984,2215936,2215936,2215936,2215936,2215936,2215936,2171166,2171166,2171166,2171166,2171166,0,0,0,2171166,2171166,2171166,2171166,2171166,2171166,2171019,2171019,2494603,2171019,2171019,2215936,2215936,2215936,3215360,0,0,0,0,0,0,0,0,0,0,0,0,0,2379776,2170880,2170880,2170880,2170880,2985984,2170880,2994176,2170880,2170880,3016168,2170880,3059712,3076096,3088384,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,18,18,124,124,0,128,128,2170880,2170880,2170880,3215360,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2486272,2170880,2170880,2506752,2170880,2170880,2170880,2535424,2539520,2170880,2170880,2588672,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2920448,2170880,2170880,2170880,2990080,2170880,2170880,2170880,2170880,3051520,2170880,2170880,2170880,2170880,2170880,2170880,3170304,0,2387968,2392064,2170880,2170880,2433024,2170880,2170880,2170880,3170304,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2486272,2215936,2215936,2506752,2215936,2215936,2215936,2535424,2539520,2215936,2215936,2588672,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,0,0,0,2174976,136,0,2215936,2215936,2920448,2215936,2215936,2215936,2990080,2215936,2215936,2215936,2215936,3051520,2215936,2215936,2215936,2215936,2215936,2215936,2215936,3108864,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,3026944,2215936,2215936,3063808,2215936,2215936,3112960,2215936,2215936,2215936,3170304,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2453504,2457600,2170880,2170880,2170880,2486272,2170880,2170880,2506752,2170880,2170880,2170880,2537049,2539520,2170880,2170880,2588672,2170880,2170880,2170880,1508,2170880,2170880,2170880,1512,2170880,2920448,2170880,2170880,2170880,2990080,2170880,2170880,2170880,2461696,2170880,2170880,2170880,2510848,2170880,2170880,2170880,2170880,2580480,2170880,2605056,2637824,2170880,2170880,18,0,0,0,0,0,0,0,0,2220032,0,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2686976,2748416,2170880,2170880,2170880,2924544,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3121152,2170880,2170880,3145728,3158016,3166208,2170880,2420736,2428928,2170880,2478080,2170880,2170880,2170880,2170880,0,0,2170880,2170880,2170880,2170880,2646016,2670592,0,0,3145728,3158016,3166208,2387968,2392064,2215936,2215936,2433024,2215936,2461696,2215936,2215936,2215936,2510848,2215936,2215936,0,0,0,0,0,0,2179072,0,0,0,0,0,0,2170880,2215936,2215936,2580480,2215936,2605056,2637824,2215936,2215936,2686976,2748416,2215936,2215936,2215936,2924544,2215936,2215936,0,0,0,0,0,0,2179072,0,0,0,0,0,286,2170880,2215936,2215936,2215936,2215936,2215936,3121152,2215936,2215936,3145728,3158016,3166208,2387968,2392064,2170880,2170880,2433024,2170880,2461696,2170880,2170880,2170880,2510848,2170880,2170880,1625,2170880,2170880,2580480,2170880,2605056,2637824,2170880,647,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2576384,2170880,2170880,2170880,2170880,2170880,2609152,2170880,2170880,2686976,0,0,2748416,2170880,2170880,0,2170880,2924544,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,18,18,24,0,0,28,28,2170880,3141632,2215936,2420736,2428928,2215936,2478080,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2646016,2670592,2752512,2756608,2846720,2961408,2215936,2998272,2215936,3010560,2215936,2215936,2215936,3141632,2170880,2420736,2428928,2752512,2756608,0,2846720,2961408,2170880,2998272,2170880,3010560,2170880,2170880,2170880,3141632,2170880,2170880,2490368,2215936,2490368,2215936,2215936,2215936,2547712,2555904,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,0,0,0,2174976,245760,0,3129344,2170880,2170880,2490368,2170880,2170880,2170880,0,0,2547712,2555904,2170880,2170880,2170880,0,0,0,0,0,0,0,0,0,2220032,0,0,45056,0,2584576,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2170880,2170880,2170880,2170880,0,0,0,2170880,2170880,2158592,0,0,0,0,0,0,0,0,2220032,0,0,0,0,0,0,0,0,1482,97,97,97,97,97,97,97,1354,97,97,97,97,97,97,97,97,1148,97,97,97,97,97,97,97,2584576,2170880,2170880,1512,0,2170880,2170880,2170880,2170880,2170880,2170880,2441216,2170880,2527232,2170880,2600960,2170880,2850816,2170880,2170880,2170880,3022848,2215936,2441216,2215936,2527232,2215936,2600960,2215936,2850816,2215936,2215936,0,0,0,0,0,0,2179072,0,0,0,0,0,287,2170880,2215936,3022848,2170880,2441216,2170880,2527232,0,0,2170880,2600960,2170880,0,2850816,2170880,2170880,2170880,2170880,2170880,2523136,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2596864,2170880,2621440,2170880,2170880,2641920,2170880,2170880,2170880,3022848,2170880,2519040,2170880,2170880,2170880,2170880,2170880,2215936,2519040,2215936,2215936,2215936,2215936,2215936,2170880,2170880,2170880,2453504,2457600,2170880,2170880,2170880,2170880,2170880,2170880,2514944,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2592768,2170880,2170880,2519040,0,2024,2170880,2170880,0,2170880,2170880,2170880,2396160,2170880,2170880,2170880,2170880,3018752,2396160,2215936,2215936,2215936,2215936,3018752,2396160,0,2024,2170880,2170880,2170880,2170880,3018752,2170880,2650112,2965504,2170880,2215936,2650112,2965504,2215936,0,0,2170880,2650112,2965504,2170880,2551808,2170880,2551808,2215936,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,141,45,45,67,67,67,67,67,224,67,67,238,67,67,67,67,67,67,67,1288,67,67,67,67,67,67,67,67,67,469,67,67,67,67,67,67,0,2551808,2170880,2170880,2215936,0,2170880,2170880,2215936,0,2170880,2170880,2215936,0,2170880,2977792,2977792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53264,18,49172,57366,24,8192,29,102432,127011,110630,114730,106539,127011,127011,127011,53264,18,18,49172,0,0,0,24,24,24,0,28,28,28,28,102432,127,0,0,0,0,0,0,0,0,0,0,140,2170880,2170880,2170880,2416640,0,0,0,0,2220032,110630,0,0,0,114730,106539,136,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,4256099,4256099,24,24,0,28,28,2170880,2461696,2170880,2170880,2170880,2510848,2170880,2170880,0,2170880,2170880,2580480,2170880,2605056,2637824,2170880,2170880,2170880,2547712,2555904,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3129344,2215936,2215936,543,543,545,545,0,0,2179072,0,550,551,551,0,287,2171166,2171166,18,0,0,0,0,0,0,0,0,2220032,0,0,645,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,149,2584576,2170880,2170880,0,0,2170880,2170880,2170880,2170880,2170880,2170880,2441216,2170880,2527232,2170880,2600960,2519040,0,0,2170880,2170880,0,2170880,2170880,2170880,2396160,2170880,2170880,2170880,2170880,3018752,2396160,2215936,2215936,2215936,2215936,3018752,2396160,0,0,2170880,2170880,2170880,2170880,3018752,2170880,2650112,2965504,53264,18,49172,57366,24,155648,28,102432,155648,155687,114730,106539,0,0,155648,53264,18,18,49172,0,57366,0,24,24,24,0,28,28,28,28,102432,0,0,0,0,2220032,0,94208,0,0,114730,106539,0,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,208896,18,278528,24,24,0,28,28,53264,18,159765,57366,24,8192,28,102432,0,110630,114730,106539,0,0,0,53264,18,18,49172,0,57366,0,24,24,24,0,28,139394,28,28,102432,131,0,0,0,2220032,110630,0,0,0,114730,106539,0,2170880,2170880,2170880,2170880,2170880,2170880,32768,53264,0,18,18,24,24,0,28,28,0,546,0,0,2183168,0,0,552,832,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2170880,2609152,2170880,2170880,2170880,2170880,2170880,2170880,2654208,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2215936,2215936,2215936,3198976,2215936,0,1084,0,1088,0,1092,0,0,0,0,0,41606,0,0,0,0,45,45,45,45,45,937,0,0,0,0,2220032,110630,0,0,0,114730,106539,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3198976,2170880,0,0,644,0,0,0,2215936,3117056,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,826,0,828,0,0,2183168,0,0,830,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2592768,2170880,2170880,2170880,2170880,2633728,2170880,2170880,2170880,2170880,2170880,2170880,2711552,2170880,2170880,2170880,2170880,2170880,2760704,53264,18,49172,57366,24,8192,28,172066,172032,110630,172066,106539,0,0,172032,53264,18,18,49172,0,57366,0,24,24,24,16384,28,28,28,28,102432,0,98304,0,0,2220032,110630,0,0,0,0,106539,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3198976,2170880,0,0,45056,0,0,0,53264,18,49172,57366,25,8192,30,102432,0,110630,114730,106539,0,0,176219,53264,18,18,49172,0,57366,0,124,124,124,0,128,128,128,128,102432,128,0,0,0,0,0,0,0,0,0,0,140,2170880,2170880,2170880,2416640,0,546,0,0,2183168,0,65536,552,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2646016,2670592,2752512,2756608,2846720,2961408,2170880,2998272,2170880,3010560,2170880,2170880,2215936,2215936,2215936,2215936,2215936,2215936,3198976,2215936,0,0,0,0,0,0,65536,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,143,45,45,67,67,67,67,67,227,67,67,67,67,67,67,67,67,67,1824,67,1826,67,67,67,67,17,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,32768,120,121,18,18,49172,0,57366,0,24,24,24,0,28,28,28,28,102432,67,67,37139,37139,24853,24853,0,0,2179072,548,0,65820,65820,0,287,97,0,0,97,97,0,97,97,97,45,45,45,45,2033,45,67,67,67,67,0,0,97,97,97,97,45,45,67,67,0,369,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,978,0,546,70179,0,2183168,0,0,552,0,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,1013,67,67,67,67,67,67,67,67,67,67,473,67,67,67,67,483,67,67,1025,67,67,67,67,67,67,67,67,67,67,67,67,67,97,97,97,97,97,0,0,97,97,97,97,1119,97,97,97,97,97,97,97,97,97,97,97,97,1359,97,97,97,67,67,1584,67,67,67,67,67,67,67,67,67,67,67,67,67,497,67,67,1659,45,45,45,45,45,45,45,45,45,1667,45,45,45,45,45,169,45,45,45,45,45,45,45,45,45,45,45,1668,45,45,45,45,67,67,1694,67,67,67,67,67,67,67,67,67,67,67,67,67,774,67,67,1713,97,97,97,97,97,97,97,0,97,97,1723,97,97,97,97,0,45,45,45,45,45,45,1538,45,45,45,45,45,1559,45,45,1561,45,45,45,45,45,45,45,687,45,45,45,45,45,45,45,45,448,45,45,45,45,45,45,67,67,67,67,1771,1772,67,67,67,67,67,67,67,67,97,97,97,97,0,0,0,97,67,67,67,67,67,1821,67,67,67,67,67,67,1827,67,67,67,0,0,0,0,0,0,97,97,1614,97,97,97,97,97,603,97,97,605,97,97,608,97,97,97,97,0,1532,45,45,45,45,45,45,45,45,45,45,450,45,45,45,45,67,67,97,97,97,97,97,97,0,0,1839,97,97,97,97,0,0,97,97,97,97,97,45,45,45,45,45,45,45,67,67,67,67,67,67,67,97,1883,97,1885,97,0,1888,0,97,97,0,97,97,1848,97,97,97,97,1852,45,45,45,45,45,45,45,384,391,45,45,45,45,45,45,45,385,45,45,45,45,45,45,45,45,1237,45,45,45,45,45,45,67,0,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,45,45,45,1951,45,45,45,45,45,45,45,45,67,67,67,67,1963,97,2023,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,1994,67,1995,67,67,67,67,67,67,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,97,97,0,0,0,0,2220032,110630,0,0,0,114730,106539,137,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2793472,2805760,2170880,2830336,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3031040,2170880,3055616,2170880,2170880,67,67,37139,37139,24853,24853,0,0,281,549,0,65820,65820,0,287,97,0,0,97,97,0,97,97,97,45,45,2031,2032,45,45,67,67,67,67,67,67,67,67,67,67,67,67,1769,67,0,546,70179,549,549,0,0,552,0,97,97,97,97,97,97,97,45,45,45,45,45,45,1858,45,641,0,0,0,0,41606,926,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,456,67,0,0,0,1313,0,0,0,1096,1319,0,0,0,0,97,97,97,97,97,97,97,97,1110,97,97,97,97,67,67,67,67,1301,1476,0,0,0,0,1307,1478,0,0,0,0,0,0,0,0,97,97,97,97,1486,97,1487,97,1313,1480,0,0,0,0,1319,0,97,97,97,97,97,97,97,97,97,566,97,97,97,97,97,97,67,67,67,1476,0,1478,0,1480,0,97,97,97,97,97,97,97,45,1853,45,1855,45,45,45,45,53264,18,49172,57366,26,8192,31,102432,0,110630,114730,106539,0,0,225368,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,32768,53264,18,18,49172,163840,57366,0,24,24,229376,0,28,28,28,229376,102432,0,0,0,0,2220167,110630,0,0,0,114730,106539,0,2171019,2171019,2171019,2171019,2592907,2171019,2171019,2171019,2171019,2633867,2171019,2171019,2171019,2171019,2171019,2171019,2654347,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3117195,2171019,2171019,2171019,2171019,2240641,0,0,0,0,0,0,0,0,368,0,140,2171019,2171019,2171019,2416779,2424971,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2617483,2171019,2171019,2642059,2171019,2171019,2171019,2699403,2171019,2728075,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3215499,2215936,2215936,2215936,2215936,2215936,2437120,2215936,2215936,2171019,2822283,2171019,2171019,2855051,2171019,2171019,2171019,2912395,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3002507,2171019,2171019,2215936,2215936,2494464,2215936,2215936,2215936,2171166,2171166,2416926,2425118,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2576670,2171166,2617630,2171166,2171166,2171166,2171166,2171166,2171166,2691358,2171166,2707742,2171166,2715934,2171166,2724126,2765086,2171166,2171166,2797854,2171166,2822430,2171166,2171166,2855198,2171166,2171166,2171166,2912542,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2793758,2806046,2171166,2830622,2171166,2171166,2171166,2171166,2171166,2171166,2171166,3109150,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2543902,2171166,2171166,2171166,2171166,2171166,2629918,2793611,2805899,2171019,2830475,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,0,546,0,0,2183168,0,0,552,0,2171166,2171166,2171166,2400542,2171166,2171166,2171166,0,2171166,2171166,2171166,0,2171166,2920734,2171166,2171166,2171166,2990366,2171166,2171166,2171166,2171166,3117342,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,0,53264,0,18,18,4329472,2232445,0,2240641,4337664,2711691,2171019,2171019,2171019,2171019,2171019,2760843,2769035,2789515,2814091,2171019,2171019,2171019,2875531,2904203,2171019,2171019,3092619,2171019,2171019,3125387,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3199115,2171019,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2453504,2457600,2215936,2215936,2215936,2215936,2215936,2215936,2793472,2805760,2215936,2830336,2215936,2215936,2215936,2215936,2215936,2215936,2170880,2170880,2170880,2170880,2170880,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2494464,2170880,2170880,2171166,2171166,2634014,2171166,2171166,2171166,2171166,2171166,2171166,2711838,2171166,2171166,2171166,2171166,2171166,2760990,2769182,2789662,2814238,2171166,2171166,2171166,2875678,2904350,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,3199262,2171166,0,0,0,0,0,0,0,0,0,2379915,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2445451,2171019,2465931,2474123,2171019,2171019,3113099,2171019,2171019,3133579,2171019,2171019,2171019,3162251,2171019,2171019,3182731,3186827,2171019,2379776,2879627,2171019,2916491,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3027083,2171019,2171019,3063947,2699550,2171166,2728222,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2879774,2171166,2916638,2171166,2171166,2171166,2171166,2171166,2609438,2171166,2171166,2171166,2171166,2171166,2171166,2654494,2171166,2171166,2171166,2171166,2171166,2445598,2171166,2466078,2474270,2171166,2171166,2171166,2171166,2171166,2171166,2523422,2171019,2437259,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2543755,2171019,2171019,2171019,2584715,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2908299,2171019,2171019,2936971,2171019,2171019,2986123,2171019,2994315,2171019,2171019,3014795,2171019,3059851,3076235,3088523,2171166,2171166,2986270,2171166,2994462,2171166,2171166,3014942,2171166,3059998,3076382,3088670,2171166,2171166,2171166,2171166,2171166,2171166,3027230,2171166,2171166,3064094,2171166,2171166,3113246,2171166,2171166,3133726,2506891,2171019,2171019,2171019,2535563,2539659,2171019,2171019,2588811,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2691211,2171019,2707595,2171019,2715787,2171019,2723979,2764939,2171019,2171019,2797707,2215936,2215936,3170304,0,0,0,0,0,0,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2453790,2457886,2171166,2171166,2171166,2486558,2171166,2171166,2507038,2171166,2171166,2171166,2535710,2539806,2171166,2171166,2588958,2171166,2171166,2171166,2171166,2515230,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2593054,2171166,2171166,2171166,2171166,3051806,2171166,2171166,2171166,2171166,2171166,2171166,3170590,0,2388107,2392203,2171019,2171019,2433163,2171019,2461835,2171019,2171019,2171019,2510987,2171019,2171019,2171019,2171019,2580619,2171019,2605195,2637963,2171019,2171019,2171019,2920587,2171019,2171019,2171019,2990219,2171019,2171019,2171019,2171019,3051659,2171019,2171019,2171019,2453643,2457739,2171019,2171019,2171019,2171019,2171019,2171019,2515083,2171019,2171019,2171019,2171019,2646155,2670731,2752651,2756747,2846859,2961547,2171019,2998411,2171019,3010699,2171019,2171019,2687115,2748555,2171019,2171019,2171019,2924683,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3121291,2171019,2171019,2171019,3170443,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2486272,2215936,2215936,2506752,3145867,3158155,3166347,2387968,2392064,2215936,2215936,2433024,2215936,2461696,2215936,2215936,2215936,2510848,2215936,2215936,0,0,0,0,0,0,2179072,0,0,0,0,0,553,2170880,2215936,2215936,2215936,2215936,2215936,3121152,2215936,2215936,3145728,3158016,3166208,2388254,2392350,2171166,2171166,2433310,2171166,2461982,2171166,2171166,2171166,2511134,2171166,2171166,0,2171166,2171166,2580766,2171166,2605342,2638110,2171166,2171166,2171166,2171166,3031326,2171166,3055902,2171166,2171166,2171166,2171166,3092766,2171166,2171166,3125534,2171166,2171166,2171166,3162398,2171166,2171166,3182878,3186974,2171166,0,0,0,2171019,2171019,2171019,2171019,3109003,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2215936,2215936,2215936,2400256,2215936,2215936,2215936,2215936,2171166,2687262,0,0,2748702,2171166,2171166,0,2171166,2924830,2171166,2171166,2171166,2171166,2171166,2171166,2171166,2597150,2171166,2621726,2171166,2171166,2642206,2171166,2171166,2171166,2171166,3121438,2171166,2171166,3146014,3158302,3166494,2171019,2420875,2429067,2171019,2478219,2171019,2171019,2171019,2171019,2547851,2556043,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,3129483,2215936,2171019,3141771,2215936,2420736,2428928,2215936,2478080,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2646016,2670592,2752512,2756608,2846720,2961408,2215936,2998272,2215936,3010560,2215936,2215936,2215936,3141632,2171166,2421022,2429214,2171166,2478366,2171166,2171166,2171166,2171166,0,0,2171166,2171166,2171166,2171166,2646302,2670878,0,0,0,0,37,110630,0,0,0,114730,106539,0,45,45,45,45,45,1405,1406,45,45,45,45,1409,45,45,45,45,45,1415,45,45,45,45,45,45,45,45,45,45,1238,45,45,45,45,67,2752798,2756894,0,2847006,2961694,2171166,2998558,2171166,3010846,2171166,2171166,2171166,3141918,2171019,2171019,2490507,3129344,2171166,2171166,2490654,2171166,2171166,2171166,0,0,2547998,2556190,2171166,2171166,2171166,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,45,167,45,45,45,45,185,187,45,45,198,45,45,0,2171166,2171166,2171166,2171166,2171166,2171166,3129630,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2576523,2171019,2171019,2171019,2171019,2171019,2609291,2171019,2215936,2215936,2215936,2215936,2215936,2215936,3002368,2215936,2215936,2171166,2171166,2494750,2171166,2171166,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,147,2584576,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2171166,2171166,2171166,2171166,0,0,0,2171166,2171166,2171166,2171166,0,0,0,2171166,2171166,2171166,3002654,2171166,2171166,2171019,2171019,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,0,0,0,2175257,0,0,2584862,2171166,2171166,0,0,2171166,2171166,2171166,2171166,2171166,2171019,2441355,2171019,2527371,2171019,2601099,2171019,2850955,2171019,2171019,2171019,3022987,2215936,2441216,2215936,2527232,2215936,2600960,2215936,2850816,2215936,2215936,0,0,0,0,0,0,2179072,0,0,0,0,69632,287,2170880,2215936,3022848,2171166,2441502,2171166,2527518,0,0,2171166,2601246,2171166,0,2851102,2171166,2171166,2171166,2171166,2720030,2744606,2171166,2171166,2171166,2834718,2838814,2171166,2908446,2171166,2171166,2937118,3023134,2171019,2519179,2171019,2171019,2171019,2171019,2171019,2215936,2519040,2215936,2215936,2215936,2215936,2215936,2171166,2171166,2171166,3215646,0,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2171019,2486411,2171019,2171019,2171019,2629771,2171019,2171019,2171019,2171019,2719883,2744459,2171019,2171019,2171019,2834571,2838667,2171019,2519326,0,0,2171166,2171166,0,2171166,2171166,2171166,2396299,2171019,2171019,2171019,2171019,3018891,2396160,2215936,2215936,2215936,2215936,3018752,2396446,0,0,2171166,2171166,2171166,2171166,3019038,2171019,2650251,2965643,2171019,2215936,2650112,2965504,2215936,0,0,2171166,2650398,2965790,2171166,2551947,2171019,2551808,2215936,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,144,45,45,67,67,67,67,67,228,67,67,67,67,67,67,67,67,67,1929,97,97,97,97,0,0,0,2552094,2171166,2171019,2215936,0,2171166,2171019,2215936,0,2171166,2171019,2215936,0,2171166,2977931,2977792,2978078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,1321,97,131072,0,0,0,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,18,18,24,24,0,28,28,0,140,0,2379776,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2445312,2170880,2465792,2473984,2170880,2170880,2170880,2584576,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2170880,2170880,2170880,3162112,2170880,2170880,3182592,3186688,2170880,0,140,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3002368,2170880,2170880,2215936,2215936,2494464,2215936,2215936,2215936,2215936,2215936,2215936,3215360,544,0,0,0,544,0,546,0,0,0,546,0,0,2183168,0,0,552,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,0,2170880,2170880,2170880,0,2170880,2920448,2170880,2170880,2170880,2990080,2170880,2170880,552,0,0,0,552,0,287,0,2170880,2170880,2170880,2170880,2170880,2437120,2170880,2170880,18,0,0,0,0,0,0,0,0,2220032,0,0,644,0,2215936,2215936,3170304,544,0,546,0,552,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3198976,2170880,0,0,0,140,0,0,53264,18,49172,57366,24,8192,28,102432,249856,110630,114730,106539,0,0,32768,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,151640,53264,18,18,49172,0,57366,0,24,24,24,0,28,28,28,28,0,0,0,0,0,0,0,0,0,0,0,2170880,2170880,2170880,2416640,53264,18,49172,57366,24,8192,28,102432,253952,110630,114730,106539,0,0,32856,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,192512,53264,18,18,49172,0,57366,0,2232445,184320,2232445,0,2240641,2240641,184320,2240641,102432,0,0,0,221184,2220032,110630,0,0,0,114730,106539,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3108864,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2215936,0,0,0,45056,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,0,53264,0,18,18,24,24,0,127,127,53264,18,49172,258071,24,8192,28,102432,0,110630,114730,106539,0,0,32768,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,204800,53264,18,49172,57366,24,27,28,102432,0,110630,114730,106539,0,0,0,53264,18,49172,57366,24,8192,28,33,0,33,33,33,0,0,0,53264,18,18,49172,0,57366,0,24,24,24,16384,28,28,28,28,0,0,0,0,0,0,0,0,0,0,139,2170880,2170880,2170880,2416640,67,67,37139,37139,24853,24853,0,70179,0,0,0,65820,65820,369,287,97,0,0,97,97,0,97,97,97,45,2030,45,45,45,45,67,1573,67,67,67,67,67,67,67,67,67,67,67,1699,67,67,67,67,25403,546,70179,0,0,66365,66365,552,0,97,97,97,97,97,97,97,97,1355,97,97,97,1358,97,97,97,641,0,0,0,925,41606,0,0,0,0,45,45,45,45,45,45,45,1187,45,45,45,45,45,0,1480,0,0,0,0,1319,0,97,97,97,97,97,97,97,97,97,592,97,97,97,97,97,97,97,97,97,97,1531,45,45,45,45,45,45,45,45,45,45,45,45,1680,45,45,45,641,0,924,0,925,41606,0,0,0,0,45,45,45,45,45,45,1186,45,45,45,45,45,45,67,67,37139,37139,24853,24853,0,70179,282,0,0,65820,65820,369,287,97,0,0,97,97,0,97,2028,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1767,67,67,67,0,0,0,0,0,0,1612,97,97,97,97,97,97,0,1785,97,97,97,97,97,97,0,0,97,97,97,97,1790,97,0,0,2170880,2170880,3051520,2170880,2170880,2170880,2170880,2170880,2170880,3170304,241664,2387968,2392064,2170880,2170880,2433024,53264,19,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,274432,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,270336,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,1134711,53264,18,49172,57366,24,8192,28,102432,0,1126440,1126440,1126440,0,0,1126400,53264,18,49172,57366,24,8192,28,102432,36,110630,114730,106539,0,0,217088,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,94,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,96,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,24666,53264,18,18,49172,0,57366,0,24,24,24,126,28,28,28,28,102432,53264,122,123,49172,0,57366,0,24,24,24,0,28,28,28,28,102432,2170880,2170880,4256099,0,0,0,0,0,0,0,0,2220032,0,0,0,0,0,0,0,0,1319,0,0,0,0,97,97,97,97,97,97,97,1109,97,97,97,97,1113,132,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,146,150,45,45,45,45,45,175,45,180,45,186,45,189,45,45,203,67,256,67,67,270,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,97,293,297,97,97,97,97,97,322,97,327,97,333,97,0,0,97,2026,0,2027,97,97,45,45,45,45,45,45,67,67,67,1685,67,67,67,67,67,67,67,1690,67,336,97,97,350,97,97,0,53264,0,18,18,24,24,356,28,28,0,0,0,0,0,0,0,0,0,0,140,2170880,2170880,2170880,2416640,2424832,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2617344,2170880,45,439,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,525,67,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,97,97,97,97,622,97,97,97,97,97,97,97,97,97,97,97,97,1524,97,97,1527,369,648,45,45,45,45,45,45,45,45,45,659,45,45,45,45,408,45,45,45,45,45,45,45,45,45,45,45,1239,45,45,45,67,729,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,762,67,746,67,67,67,67,67,67,67,67,67,759,67,67,67,67,0,0,0,1477,0,1086,0,0,0,1479,0,1090,67,67,796,67,67,799,67,67,67,67,67,67,67,67,67,67,67,67,1291,67,67,67,811,67,67,67,67,67,816,67,67,67,67,67,67,67,37689,544,25403,546,70179,0,0,66365,66365,552,833,97,97,97,97,97,97,97,97,1380,0,0,0,45,45,45,45,45,1185,45,45,45,45,45,45,45,386,45,45,45,45,45,45,45,45,1810,45,45,45,45,45,45,67,97,97,844,97,97,97,97,97,97,97,97,97,857,97,97,97,0,97,97,97,0,97,97,97,97,97,97,97,97,97,97,45,45,45,97,97,97,894,97,97,897,97,97,97,97,97,97,97,97,97,0,0,0,1382,45,45,45,97,909,97,97,97,97,97,914,97,97,97,97,97,97,97,923,67,67,1079,67,67,67,67,67,37689,1085,25403,1089,66365,1093,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,148,1114,97,97,97,97,97,97,1122,97,97,97,97,97,97,97,97,97,606,97,97,97,97,97,97,97,97,97,97,1173,97,97,97,97,97,12288,0,925,0,1179,0,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,145,45,45,67,67,67,67,67,1762,67,67,67,1766,67,67,67,67,67,67,528,67,67,67,67,67,67,67,67,67,97,97,97,97,97,0,1934,67,67,1255,67,67,67,67,67,67,67,67,67,67,67,67,67,1035,67,67,67,67,67,67,1297,67,67,67,67,67,67,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,1111,97,97,97,97,97,97,1327,97,97,97,97,97,97,97,97,97,97,97,97,33344,97,97,97,1335,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,97,97,1377,97,97,97,97,97,97,0,1179,0,45,45,45,45,670,45,45,45,45,45,45,45,45,45,45,45,430,45,45,45,45,67,67,1438,67,67,1442,67,67,67,67,67,67,67,67,67,67,67,67,1592,67,67,67,1451,67,67,67,67,67,67,67,67,67,67,1458,67,67,67,67,0,0,1305,0,0,0,0,0,1311,0,0,0,1317,0,0,0,0,0,0,0,97,97,1322,97,97,1491,97,97,1495,97,97,97,97,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,45,45,1551,45,1553,45,1504,97,97,97,97,97,97,97,97,97,97,1513,97,97,97,97,0,45,45,45,45,1536,45,45,45,45,1540,45,67,67,67,67,67,1585,67,67,67,67,67,67,67,67,67,67,67,67,1700,67,67,67,97,1648,97,97,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,1541,0,97,97,97,97,0,1940,0,97,97,97,97,97,97,45,45,2011,45,45,45,2015,67,67,2017,67,67,67,2021,97,67,67,812,67,67,67,67,67,67,67,67,67,67,67,37689,544,97,97,97,910,97,97,97,97,97,97,97,97,97,97,97,923,0,0,0,45,45,45,45,1184,45,45,45,45,1188,45,45,45,45,1414,45,45,45,1417,45,1419,45,45,45,45,45,443,45,45,45,45,45,45,453,45,45,67,67,67,67,1244,67,67,67,67,1248,67,67,67,67,67,67,67,0,37139,24853,0,0,0,282,41098,65820,97,1324,97,97,97,97,1328,97,97,97,97,97,97,97,97,97,0,0,930,45,45,45,45,97,97,97,97,1378,97,97,97,97,0,1179,0,45,45,45,45,671,45,45,45,45,45,45,45,45,45,45,45,975,45,45,45,45,67,67,1923,67,1925,67,67,1927,67,97,97,97,97,97,0,0,97,97,97,97,1985,45,45,45,45,45,45,1560,45,45,45,45,45,45,45,45,45,946,45,45,950,45,45,45,0,97,97,97,1939,0,0,0,97,1943,97,97,1945,97,45,45,45,669,45,45,45,45,45,45,45,45,45,45,45,45,990,45,45,45,67,257,67,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,337,97,97,97,97,97,0,53264,0,18,18,24,24,356,28,28,0,0,0,0,0,0,0,0,0,0,370,2170880,2170880,2170880,2416640,401,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,459,461,67,67,67,67,67,67,67,67,475,67,480,67,67,67,67,67,67,1054,67,67,67,67,67,67,67,67,67,67,1698,67,67,67,67,67,484,67,67,487,67,67,67,67,67,67,67,67,67,67,67,67,67,1459,67,67,97,556,558,97,97,97,97,97,97,97,97,572,97,577,97,97,0,0,1896,97,97,97,97,97,97,1903,45,45,45,45,983,45,45,45,45,988,45,45,45,45,45,45,1195,45,45,45,45,45,45,45,45,45,45,1549,45,45,45,45,45,581,97,97,584,97,97,97,97,97,97,97,97,97,97,97,97,97,1153,97,97,369,0,45,45,45,45,45,45,45,45,45,45,45,662,45,45,45,684,45,45,45,45,45,45,45,45,45,45,45,45,1004,45,45,45,67,67,67,749,67,67,67,67,67,67,67,67,67,761,67,67,67,67,67,67,1068,67,67,67,1071,67,67,67,67,1076,794,795,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,544,97,97,97,97,847,97,97,97,97,97,97,97,97,97,859,97,0,0,2025,97,20480,97,97,2029,45,45,45,45,45,45,67,67,67,1575,67,67,67,67,67,67,67,67,67,1775,67,67,67,97,97,97,97,892,893,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1515,97,993,994,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,992,67,67,67,1284,67,67,67,67,67,67,67,67,67,67,67,67,67,1607,67,67,97,1364,97,97,97,97,97,97,97,97,97,97,97,97,97,97,596,97,45,1556,1557,45,45,45,45,45,45,45,45,45,45,45,45,45,45,696,45,1596,1597,67,67,67,67,67,67,67,67,67,67,67,67,67,67,499,67,97,97,97,1621,97,97,97,97,97,97,97,97,97,97,97,97,97,1346,97,97,97,97,1740,97,97,97,97,45,45,45,45,45,45,45,45,45,45,1678,45,45,45,45,45,67,97,97,97,97,97,97,1836,0,97,97,97,97,97,0,0,97,97,97,1984,97,45,45,45,45,45,45,1808,45,45,45,45,45,45,45,45,67,739,67,67,67,67,67,744,45,45,1909,45,45,45,45,45,45,45,67,1917,67,1918,67,67,67,67,67,67,1247,67,67,67,67,67,67,67,67,67,67,532,67,67,67,67,67,67,1922,67,67,67,67,67,67,67,97,1930,97,1931,97,0,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,67,67,1576,67,67,67,67,1580,67,67,0,97,97,1938,97,0,0,0,97,97,97,97,97,97,45,45,45,699,45,45,45,704,45,45,45,45,45,45,45,45,987,45,45,45,45,45,45,45,67,67,97,97,97,97,0,0,97,97,97,2006,97,97,97,97,0,45,1533,45,45,45,45,45,45,45,45,45,1416,45,45,45,45,45,45,45,45,722,723,45,45,45,45,45,45,2045,67,67,67,2047,0,0,97,97,97,2051,45,45,67,67,0,0,0,0,925,41606,0,0,0,0,45,45,45,45,45,45,409,45,45,45,45,45,45,45,45,45,1957,45,67,67,67,67,67,1836,97,97,45,67,0,97,45,67,0,97,45,67,0,97,45,45,67,67,67,1761,67,67,67,1764,67,67,67,67,67,67,67,494,67,67,67,67,67,67,67,67,67,787,67,67,67,67,67,67,45,45,420,45,45,422,45,45,425,45,45,45,45,45,45,45,387,45,45,45,45,397,45,45,45,67,460,67,67,67,67,67,67,67,67,67,67,67,67,67,67,515,67,485,67,67,67,67,67,67,67,67,67,67,67,67,67,498,67,67,67,67,67,97,0,2039,97,97,97,97,97,45,45,45,45,1426,45,45,45,67,67,67,67,67,67,67,67,67,1689,67,67,67,97,557,97,97,97,97,97,97,97,97,97,97,97,97,97,97,612,97,582,97,97,97,97,97,97,97,97,97,97,97,97,97,595,97,97,97,97,97,896,97,97,97,97,97,97,97,97,97,97,885,97,97,97,97,97,45,939,45,45,45,45,943,45,45,45,45,45,45,45,45,45,45,1916,67,67,67,67,67,45,67,67,67,67,67,67,67,1015,67,67,67,67,1019,67,67,67,67,67,67,1271,67,67,67,67,67,67,1277,67,67,67,67,67,67,1287,67,67,67,67,67,67,67,67,67,67,804,67,67,67,67,67,1077,67,67,67,67,67,67,67,37689,0,25403,0,66365,0,0,0,0,0,0,0,0,2170880,2170880,2170880,2170880,2170880,2437120,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2543616,2170880,2170880,2170880,2170880,2170880,2629632,1169,97,1171,97,97,97,97,97,97,97,12288,0,925,0,1179,0,0,0,0,925,41606,0,0,0,0,45,45,45,45,936,45,45,67,67,214,67,220,67,67,233,67,243,67,248,67,67,67,67,67,67,1298,67,67,67,67,0,0,0,0,0,0,97,97,97,97,97,1617,97,0,0,0,45,45,45,1183,45,45,45,45,45,45,45,45,45,393,45,45,45,45,45,45,67,67,1243,67,67,67,67,67,67,67,67,67,67,67,67,67,1074,67,67,1281,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,776,1323,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,907,45,1412,45,45,45,45,45,45,45,1418,45,45,45,45,45,45,686,45,45,45,690,45,45,695,45,45,67,67,67,67,67,1465,67,67,67,67,67,67,67,67,67,67,67,97,97,97,1712,97,97,97,97,1741,97,97,97,45,45,45,45,45,45,45,45,45,426,45,45,45,45,45,45,67,67,67,1924,67,67,67,67,67,97,97,97,97,97,0,0,97,97,1983,97,97,45,45,1987,45,1988,45,0,97,97,97,97,0,0,0,1942,97,97,97,97,97,45,45,45,700,45,45,45,45,45,45,45,45,45,45,711,45,45,153,45,45,166,45,176,45,181,45,45,188,191,196,45,204,255,258,263,67,271,67,67,0,37139,24853,0,0,0,282,41098,65820,97,97,97,294,97,300,97,97,313,97,323,97,328,97,97,335,338,343,97,351,97,97,0,53264,0,18,18,24,24,356,28,28,0,0,0,0,0,0,0,0,41098,0,140,45,45,45,45,1404,45,45,45,45,45,45,45,45,45,45,1411,67,67,486,67,67,67,67,67,67,67,67,67,67,67,67,67,1251,67,67,501,67,67,67,67,67,67,67,67,67,67,67,67,513,67,67,67,67,67,67,1443,67,67,67,67,67,67,67,67,67,67,1263,67,67,67,67,67,97,97,583,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1526,97,598,97,97,97,97,97,97,97,97,97,97,97,97,610,97,97,0,97,97,1796,97,97,97,97,97,97,97,45,45,45,45,45,1744,45,45,45,369,0,651,45,653,45,654,45,656,45,45,45,660,45,45,45,45,1558,45,45,45,45,45,45,45,45,1566,45,45,681,45,683,45,45,45,45,45,45,45,45,691,692,694,45,45,45,716,45,45,45,45,45,45,45,45,45,45,45,45,709,45,45,712,45,714,45,45,45,718,45,45,45,45,45,45,45,726,45,45,45,733,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,1691,67,67,747,67,67,67,67,67,67,67,67,67,760,67,67,67,0,0,0,0,0,0,97,1613,97,97,97,97,97,97,1509,97,97,97,97,97,97,97,97,97,0,1179,0,45,45,45,45,67,764,67,67,67,67,768,67,770,67,67,67,67,67,67,67,67,97,97,97,97,0,0,0,1977,67,778,779,781,67,67,67,67,67,67,788,789,67,67,792,793,67,67,67,813,67,67,67,67,67,67,67,67,67,824,37689,544,25403,546,70179,0,0,66365,66365,552,0,836,97,838,97,839,97,841,97,97,97,845,97,97,97,97,97,97,97,97,97,858,97,97,0,1728,97,97,97,0,97,97,97,97,97,97,97,97,97,97,45,1802,45,97,97,862,97,97,97,97,866,97,868,97,97,97,97,97,97,0,0,97,97,1788,97,97,97,0,0,97,97,876,877,879,97,97,97,97,97,97,886,887,97,97,890,891,97,97,97,97,97,97,97,899,97,97,97,903,97,97,97,0,97,97,97,0,97,97,97,97,97,97,97,1646,97,97,97,97,911,97,97,97,97,97,97,97,97,97,922,923,45,955,45,957,45,45,45,45,45,45,45,45,45,45,45,45,195,45,45,45,45,45,981,982,45,45,45,45,45,45,989,45,45,45,45,45,170,45,45,45,45,45,45,45,45,45,45,411,45,45,45,45,45,67,1023,67,67,67,67,67,67,1031,67,1033,67,67,67,67,67,67,67,817,819,67,67,67,67,67,37689,544,67,1065,67,67,67,67,67,67,67,67,67,67,67,67,67,67,516,67,67,1078,67,67,1081,1082,67,67,37689,0,25403,0,66365,0,0,0,0,0,0,0,0,2171166,2171166,2171166,2171166,2171166,2437406,2171166,2171166,97,1115,97,1117,97,97,97,97,97,97,1125,97,1127,97,97,97,0,97,97,97,0,97,97,97,97,1644,97,97,97,0,97,97,97,0,97,97,1642,97,97,97,97,97,97,625,97,97,97,97,97,97,97,97,97,316,97,97,97,97,97,97,97,97,97,1159,97,97,97,97,97,97,97,97,97,97,97,97,97,1502,97,97,97,97,97,1172,97,97,1175,1176,97,97,12288,0,925,0,1179,0,0,0,0,925,41606,0,0,0,0,45,45,45,935,45,45,45,1233,45,45,45,1236,45,45,45,45,45,45,45,67,67,67,67,67,67,1873,67,67,45,45,1218,45,45,45,1223,45,45,45,45,45,45,45,1230,45,45,67,67,215,219,222,67,230,67,67,244,246,249,67,67,67,67,67,67,1882,97,97,97,97,0,0,0,97,97,97,97,97,97,45,1904,45,1905,45,67,67,67,67,67,1258,67,1260,67,67,67,67,67,67,67,67,67,495,67,67,67,67,67,67,67,67,1283,67,67,67,67,67,67,67,1290,67,67,67,67,67,67,67,818,67,67,67,67,67,67,37689,544,67,67,1295,67,67,67,67,67,67,67,67,0,0,0,0,0,0,2174976,0,0,97,97,97,1326,97,97,97,97,97,97,97,97,97,97,97,97,97,1514,97,97,97,97,97,1338,97,1340,97,97,97,97,97,97,97,97,97,97,97,1500,97,97,1503,97,1363,97,97,97,97,97,97,97,1370,97,97,97,97,97,97,97,563,97,97,97,97,97,97,578,97,1375,97,97,97,97,97,97,97,97,0,1179,0,45,45,45,45,685,45,45,45,45,45,45,45,45,45,45,45,1003,45,45,45,45,67,67,67,1463,67,67,67,67,67,67,67,67,67,67,67,67,67,1778,97,97,97,97,97,1518,97,97,97,97,97,97,97,97,97,97,97,97,609,97,97,97,45,1542,45,45,45,45,45,45,45,1548,45,45,45,45,45,1554,45,1570,1571,45,67,67,67,67,67,67,1578,67,67,67,67,67,67,67,1055,67,67,67,67,67,1061,67,67,1582,67,67,67,67,67,67,67,1588,67,67,67,67,67,1594,67,67,67,67,67,97,2038,0,97,97,97,97,97,2044,45,45,45,995,45,45,45,45,1e3,45,45,45,45,45,45,45,1809,45,1811,45,45,45,45,45,67,1610,1611,67,1476,0,1478,0,1480,0,97,97,97,97,97,97,1618,1647,1649,97,97,97,1652,97,1654,1655,97,0,45,45,45,1658,45,45,67,67,216,67,67,67,67,234,67,67,67,67,252,254,1845,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,945,45,947,45,45,45,45,45,67,67,67,67,67,1881,97,97,97,97,97,0,0,0,97,97,97,97,97,1902,45,45,45,45,45,45,1908,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1921,67,67,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,97,0,97,1937,97,97,1940,0,0,97,97,97,97,97,97,1947,1948,1949,45,45,45,1952,45,1954,45,45,45,45,1959,1960,1961,67,67,67,67,67,67,1455,67,67,67,67,67,67,67,67,67,67,757,67,67,67,67,67,67,1964,67,1966,67,67,67,67,1971,1972,1973,97,0,0,0,97,97,1104,97,97,97,97,97,97,97,97,97,97,884,97,97,97,889,97,97,1978,97,0,0,1981,97,97,97,97,45,45,45,45,45,45,736,45,67,67,67,67,67,67,67,67,67,67,67,1018,67,67,67,45,67,67,67,67,0,2049,97,97,97,97,45,45,67,67,0,0,0,0,925,41606,0,0,0,0,45,933,45,45,45,45,1234,45,45,45,45,45,45,45,45,45,45,67,97,97,288,97,97,97,97,97,97,317,97,97,97,97,97,97,0,0,97,1787,97,97,97,97,0,0,45,45,378,45,45,45,45,45,390,45,45,45,45,45,45,45,424,45,45,45,431,433,45,45,45,67,1050,67,67,67,67,67,67,67,67,67,67,67,67,67,67,518,67,97,97,97,1144,97,97,97,97,97,97,97,97,97,97,97,97,632,97,97,97,97,97,97,97,1367,97,97,97,97,97,97,97,97,97,97,97,855,97,97,97,97,67,97,97,97,97,97,97,1837,0,97,97,97,97,97,0,0,0,1897,97,97,97,97,97,45,45,45,45,45,1208,45,45,45,45,45,45,45,45,45,45,724,45,45,45,45,45,97,2010,45,45,45,45,45,45,2016,67,67,67,67,67,67,2022,45,2046,67,67,67,0,0,2050,97,97,97,45,45,67,67,0,0,0,0,925,41606,0,0,0,0,932,45,45,45,45,45,1222,45,45,45,45,45,45,45,45,45,45,1227,45,45,45,45,45,133,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,45,701,702,45,45,705,706,45,45,45,45,45,45,703,45,45,45,45,45,45,45,45,45,719,45,45,45,45,45,725,45,45,45,369,649,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1216,25403,546,70179,0,0,66365,66365,552,834,97,97,97,97,97,97,97,1342,97,97,97,97,97,97,97,97,0,97,97,97,97,97,97,97,1799,97,97,45,45,45,1569,45,45,45,1572,67,67,67,67,67,67,67,67,67,67,67,0,0,0,1306,0,67,67,67,1598,67,67,67,67,67,67,67,67,1606,67,67,1609,97,97,97,1650,97,97,1653,97,97,97,0,45,45,1657,45,45,45,1206,45,45,45,45,45,45,45,45,45,45,45,45,1421,45,45,45,1703,67,67,67,67,67,67,67,67,67,67,97,97,1711,97,97,0,1895,0,97,97,97,97,97,97,45,45,45,45,45,958,45,960,45,45,45,45,45,45,45,45,1913,45,45,1915,67,67,67,67,67,67,67,466,67,67,67,67,67,67,481,67,45,1749,45,45,45,45,45,45,45,45,1755,45,45,45,45,45,173,45,45,45,45,45,45,45,45,45,45,974,45,45,45,45,45,67,67,67,67,67,1773,67,67,67,67,67,67,67,97,97,97,97,1886,0,0,0,97,97,67,2035,2036,67,67,97,0,0,97,2041,2042,97,97,45,45,45,45,1662,45,45,45,45,45,45,45,45,45,45,45,1397,45,45,45,45,151,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,437,205,45,67,67,67,218,67,67,67,67,67,67,67,67,67,67,67,1047,67,67,67,67,97,97,97,97,298,97,97,97,97,97,97,97,97,97,97,97,870,97,97,97,97,97,97,97,97,352,97,0,53264,0,18,18,24,24,0,28,28,0,0,0,0,0,0,365,0,41098,0,140,45,45,45,45,45,1427,45,45,67,67,67,67,67,67,67,1435,520,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1037,617,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,923,45,1232,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,1919,67,1759,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1021,45,154,45,162,45,45,45,45,45,45,45,45,45,45,45,45,964,45,45,45,206,45,67,67,67,67,221,67,229,67,67,67,67,67,67,67,67,530,67,67,67,67,67,67,67,67,755,67,67,67,67,67,67,67,67,785,67,67,67,67,67,67,67,67,802,67,67,67,807,67,67,67,97,97,97,97,353,97,0,53264,0,18,18,24,24,0,28,28,0,0,0,0,0,0,366,0,0,0,140,2170880,2170880,2170880,2416640,402,45,45,45,45,45,45,45,410,45,45,45,45,45,45,45,674,45,45,45,45,45,45,45,45,389,45,394,45,45,398,45,45,45,45,441,45,45,45,45,45,447,45,45,45,454,45,45,67,67,67,67,67,67,67,67,67,67,67,1768,67,67,67,67,67,488,67,67,67,67,67,67,67,496,67,67,67,67,67,67,67,1774,67,67,67,67,67,97,97,97,97,0,0,97,97,97,0,97,97,97,97,97,97,97,97,67,67,523,67,67,527,67,67,67,67,67,533,67,67,67,540,97,97,97,585,97,97,97,97,97,97,97,593,97,97,97,97,97,97,1784,0,97,97,97,97,97,97,0,0,97,97,97,97,97,97,0,0,0,18,18,24,24,0,28,28,97,97,620,97,97,624,97,97,97,97,97,630,97,97,97,637,713,45,45,45,45,45,45,721,45,45,45,45,45,45,45,45,1197,45,45,45,45,45,45,45,45,730,732,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1581,67,45,67,67,67,67,1012,67,67,67,67,67,67,67,67,67,67,67,1059,67,67,67,67,67,1024,67,67,67,67,67,67,67,67,67,67,67,67,67,67,775,67,67,67,67,1066,67,67,67,67,67,67,67,67,67,67,67,67,479,67,67,67,67,67,67,1080,67,67,67,67,37689,0,25403,0,66365,0,0,0,0,0,0,0,287,0,0,0,287,0,2379776,2170880,2170880,97,97,97,1118,97,97,97,97,97,97,97,97,97,97,97,97,920,97,97,0,0,0,0,45,1181,45,45,45,45,45,45,45,45,45,45,45,432,45,45,45,45,45,45,1219,45,45,45,45,45,45,1226,45,45,45,45,45,45,959,45,45,45,45,45,45,45,45,45,184,45,45,45,45,202,45,1241,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1266,67,1268,67,67,67,67,67,67,67,67,67,67,67,67,1279,67,67,67,67,67,272,67,0,37139,24853,0,0,0,0,41098,65820,67,67,67,67,67,1286,67,67,67,67,67,67,67,67,67,1293,67,67,67,1296,67,67,67,67,67,67,67,0,0,0,0,0,281,94,0,0,97,97,97,1366,97,97,97,97,97,97,97,97,97,1373,97,97,18,0,139621,0,0,0,0,0,0,364,0,0,367,0,97,1376,97,97,97,97,97,97,97,0,0,0,45,45,1384,45,45,67,208,67,67,67,67,67,67,237,67,67,67,67,67,67,67,1069,1070,67,67,67,67,67,67,67,0,37140,24854,0,0,0,0,41098,65821,45,1423,45,45,45,45,45,45,67,67,1431,67,67,67,67,67,67,67,1083,37689,0,25403,0,66365,0,0,0,1436,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1830,67,1452,1453,67,67,67,67,1456,67,67,67,67,67,67,67,67,67,771,67,67,67,67,67,67,1461,67,67,67,1464,67,1466,67,67,67,67,67,67,1470,67,67,67,67,67,67,1587,67,67,67,67,67,67,67,67,1595,1489,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1129,97,1505,1506,97,97,97,97,1510,97,97,97,97,97,97,97,97,97,1163,1164,97,97,97,97,97,1516,97,97,97,1519,97,1521,97,97,97,97,97,97,1525,97,97,18,0,139621,0,0,0,0,0,0,364,0,0,367,41606,67,67,67,67,67,1586,67,67,67,67,67,67,67,67,67,67,67,1276,67,67,67,67,67,67,67,67,67,1600,67,67,67,67,67,67,67,67,67,67,67,1301,0,0,0,1307,97,97,1620,97,97,97,97,97,97,97,1627,97,97,97,97,97,97,913,97,97,97,97,919,97,97,97,0,97,97,97,1781,97,97,0,0,97,97,97,97,97,97,0,0,97,97,97,97,97,97,0,1792,1860,45,1862,1863,45,1865,45,67,67,67,67,67,67,67,67,1875,67,1877,1878,67,1880,67,97,97,97,97,97,1887,0,1889,97,97,18,0,139621,0,0,0,0,0,0,364,237568,0,367,0,97,1893,0,0,0,97,1898,1899,97,1901,97,45,45,45,45,45,2014,45,67,67,67,67,67,2020,67,97,1989,45,1990,45,45,45,67,67,67,67,67,67,1996,67,1997,67,67,67,67,67,273,67,0,37139,24853,0,0,0,0,41098,65820,67,67,97,97,97,97,0,0,97,97,2005,0,97,2007,97,97,18,0,139621,0,0,0,642,0,133,364,0,0,367,41606,0,97,97,2056,2057,0,2059,45,67,0,97,45,67,0,97,45,45,67,209,67,67,67,223,67,67,67,67,67,67,67,67,67,786,67,67,67,791,67,67,45,45,940,45,45,45,45,45,45,45,45,45,45,45,45,45,45,727,45,45,67,67,67,67,67,67,67,67,1016,67,67,67,67,67,67,67,67,37689,0,25403,0,66365,0,0,0,133,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,142,45,45,67,210,67,67,67,225,67,67,239,67,67,67,250,67,67,67,67,67,464,67,67,67,67,67,476,67,67,67,67,67,67,67,1709,67,67,67,97,97,97,97,97,97,0,0,97,97,97,97,97,1843,0,67,259,67,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,289,97,97,97,303,97,97,97,97,97,97,97,97,97,97,901,97,97,97,97,97,339,97,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,0,358,0,0,0,0,0,0,41098,0,140,45,45,45,45,45,1953,45,1955,45,45,45,67,67,67,67,67,67,67,1687,1688,67,67,67,67,45,45,405,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1203,45,458,67,67,67,67,67,67,67,67,67,470,477,67,67,67,67,67,67,67,1970,97,97,97,1974,0,0,0,97,1103,97,97,97,97,97,97,97,97,97,97,97,1372,97,97,97,97,67,522,67,67,67,67,67,67,67,67,67,67,67,536,67,67,67,67,67,67,1696,67,67,67,67,67,67,67,1701,67,555,97,97,97,97,97,97,97,97,97,567,574,97,97,97,97,97,301,97,309,97,97,97,97,97,97,97,97,97,900,97,97,97,905,97,97,97,619,97,97,97,97,97,97,97,97,97,97,97,633,97,97,18,0,139621,0,0,362,0,0,0,364,0,0,367,41606,369,649,45,45,45,45,45,45,45,45,45,45,45,45,663,664,67,67,67,67,750,751,67,67,67,67,758,67,67,67,67,67,67,67,1272,67,67,67,67,67,67,67,67,67,1057,1058,67,67,67,67,67,67,67,67,797,67,67,67,67,67,67,67,67,67,67,67,67,512,67,67,67,97,97,97,97,895,97,97,97,97,97,97,97,97,97,97,97,902,97,97,97,97,67,67,1051,67,67,67,67,67,67,67,67,67,67,67,1062,67,67,67,67,67,491,67,67,67,67,67,67,67,67,67,67,67,1302,0,0,0,1308,97,97,97,97,1145,97,97,97,97,97,97,97,97,97,97,97,1139,97,97,97,97,1156,97,97,97,97,97,97,1161,97,97,97,97,97,1166,97,97,18,640,139621,0,641,0,0,0,0,364,0,0,367,41606,67,67,67,67,1257,67,67,67,67,67,67,67,67,67,67,67,0,0,1305,0,0,97,97,1337,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1630,97,67,1474,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,2380062,2171166,2171166,97,1529,97,97,0,45,45,45,45,45,45,45,45,45,45,45,1228,45,45,45,45,67,67,67,67,1707,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,1891,1739,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,1198,45,1200,45,45,45,45,97,97,1894,0,0,97,97,97,97,97,97,45,45,45,45,45,672,45,45,45,45,45,45,45,45,45,45,45,1420,45,45,45,45,67,67,1965,67,1967,67,67,67,97,97,97,97,0,1976,0,97,97,45,67,0,97,45,67,0,97,45,67,0,97,45,97,97,1979,0,0,97,1982,97,97,97,1986,45,45,45,45,45,735,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,1770,67,67,2e3,97,97,97,2002,0,97,97,97,0,97,97,97,97,97,97,1798,97,97,97,45,45,45,2034,67,67,67,67,97,0,0,2040,97,97,97,97,45,45,45,45,1752,45,45,45,1753,1754,45,45,45,45,45,45,383,45,45,45,45,45,45,45,45,45,675,45,45,45,45,45,45,438,45,45,45,45,45,445,45,45,45,45,45,45,45,45,67,1430,67,67,67,67,67,67,67,67,67,524,67,67,67,67,67,531,67,67,67,67,67,67,67,67,37689,0,25403,0,66365,0,0,1096,97,97,97,621,97,97,97,97,97,628,97,97,97,97,97,97,0,53264,0,18,18,24,24,356,28,28,665,45,45,45,45,45,45,45,45,45,676,45,45,45,45,45,942,45,45,45,45,45,45,45,45,45,45,707,708,45,45,45,45,763,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,809,810,67,67,67,67,783,67,67,67,67,67,67,67,67,67,67,67,0,1303,0,0,0,97,861,97,97,97,97,97,97,97,97,97,97,97,97,97,97,613,97,45,45,956,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1215,45,67,67,67,67,1027,67,67,67,67,1032,67,67,67,67,67,67,67,67,37689,0,25403,0,66365,0,0,1097,1064,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1075,67,1098,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,331,97,97,97,97,1158,97,97,97,97,97,97,97,97,97,97,97,97,97,594,97,97,1309,0,0,0,1315,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1374,97,45,45,1543,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1240,67,67,1583,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1252,67,97,97,97,1635,97,97,97,0,97,97,97,97,97,97,97,97,1800,97,45,45,45,97,97,1793,97,97,97,97,97,97,97,97,97,97,45,45,45,1743,45,45,45,1746,45,0,97,97,97,97,97,1851,97,45,45,45,45,1856,45,45,45,45,1864,45,45,67,67,1869,67,67,67,67,1874,67,0,97,97,45,67,2058,97,45,67,0,97,45,67,0,97,45,45,67,211,67,67,67,67,67,67,240,67,67,67,67,67,67,67,1444,67,67,67,67,67,67,67,67,67,509,67,67,67,67,67,67,67,67,67,268,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,290,97,97,97,305,97,97,319,97,97,97,330,97,97,18,640,139621,0,641,0,0,0,0,364,0,643,367,41606,97,97,348,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,0,0,364,0,367,41098,369,140,45,45,45,45,380,45,45,45,45,45,45,395,45,45,45,400,369,0,45,45,45,45,45,45,45,45,658,45,45,45,45,45,972,45,45,45,45,45,45,45,45,45,45,427,45,45,45,45,45,745,67,67,67,67,67,67,67,67,756,67,67,67,67,67,67,67,67,37689,1086,25403,1090,66365,1094,0,0,97,843,97,97,97,97,97,97,97,97,854,97,97,97,97,97,97,1121,97,97,97,97,1126,97,97,97,97,45,980,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1400,45,67,67,67,1011,67,67,67,67,67,67,67,67,67,67,67,0,1304,0,0,0,1190,45,45,1193,1194,45,45,45,45,45,1199,45,1201,45,45,45,45,1911,45,45,45,45,45,67,67,67,67,67,67,67,1579,67,67,67,67,45,1205,45,45,45,45,45,45,45,45,1211,45,45,45,45,45,984,45,45,45,45,45,45,45,45,45,45,45,1550,45,45,45,45,45,1217,45,45,45,45,45,45,1225,45,45,45,45,1229,45,45,45,1388,45,45,45,45,45,45,1396,45,45,45,45,45,444,45,45,45,45,45,45,45,45,45,67,67,1574,67,67,67,67,67,67,67,67,67,67,1590,67,67,67,67,67,1254,67,67,67,67,67,1259,67,1261,67,67,67,67,1265,67,67,67,67,67,67,1708,67,67,67,67,97,97,97,97,97,97,0,0,97,97,97,97,97,0,0,67,67,67,67,1285,67,67,67,67,1289,67,67,67,67,67,67,67,67,37689,1087,25403,1091,66365,1095,0,0,97,97,97,97,1339,97,1341,97,97,97,97,1345,97,97,97,97,97,561,97,97,97,97,97,573,97,97,97,97,97,97,1717,97,0,97,97,97,97,97,97,97,591,97,97,97,97,97,97,97,97,97,1329,97,97,97,97,97,97,97,97,97,97,1351,97,97,97,97,97,97,1357,97,97,97,97,97,588,97,97,97,97,97,97,97,97,97,97,568,97,97,97,97,97,97,97,1365,97,97,97,97,1369,97,97,97,97,97,97,97,97,97,1356,97,97,97,97,97,97,45,45,1403,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1399,45,45,45,1413,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1669,45,1422,45,45,1425,45,45,1428,45,1429,67,67,67,67,67,67,67,67,1468,67,67,67,67,67,67,67,67,529,67,67,67,67,67,67,539,67,67,1475,67,0,0,0,0,0,0,0,0,0,0,0,0,140,2170880,2170880,2170880,2416640,97,97,1530,97,0,45,45,1534,45,45,45,45,45,45,45,45,1956,45,45,67,67,67,67,67,67,67,67,67,1599,67,67,1601,67,67,67,67,67,67,67,67,67,803,67,67,67,67,67,67,1632,97,1634,0,97,97,97,1640,97,97,97,1643,97,97,1645,97,97,97,97,97,912,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,45,45,45,1660,1661,45,45,45,45,1665,1666,45,45,45,45,45,1670,1692,1693,67,67,67,67,67,1697,67,67,67,67,67,67,67,1702,97,97,1714,1715,97,97,97,97,0,1721,1722,97,97,97,97,97,97,1353,97,97,97,97,97,97,97,97,1362,1726,97,0,0,97,97,97,0,97,97,97,1734,97,97,97,97,97,848,849,97,97,97,97,856,97,97,97,97,97,354,0,53264,0,18,18,24,24,0,28,28,45,45,1750,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1681,45,0,1846,97,97,97,97,97,97,45,45,1854,45,45,45,45,1859,67,67,67,1879,67,67,97,97,1884,97,97,0,0,0,97,97,97,1105,97,97,97,97,97,97,97,97,97,97,1344,97,97,97,1347,97,1892,97,0,0,0,97,97,97,1900,97,97,45,45,45,45,45,997,45,45,45,45,45,45,45,45,45,45,1002,45,45,1005,1006,45,67,67,67,67,67,1926,67,67,1928,97,97,97,97,97,0,0,97,97,97,0,97,97,97,97,97,97,1737,97,0,97,97,97,97,0,0,0,97,97,1944,97,97,1946,45,45,45,1544,45,45,45,45,45,45,45,45,45,45,45,45,190,45,45,45,152,155,45,163,45,45,177,179,182,45,45,45,193,197,45,45,45,1672,45,45,45,45,45,1677,45,1679,45,45,45,45,996,45,45,45,45,45,45,45,45,45,45,45,1212,45,45,45,45,67,260,264,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,97,295,299,302,97,310,97,97,324,326,329,97,97,97,0,97,97,1639,0,1641,97,97,97,97,97,97,97,97,1511,97,97,97,97,97,97,97,97,1523,97,97,97,97,97,97,97,97,1719,97,97,97,97,97,97,97,97,1720,97,97,97,97,97,97,97,312,97,97,97,97,97,97,97,97,1123,97,97,97,97,97,97,97,340,344,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,0,0,364,0,367,41098,369,140,45,45,373,375,419,45,45,45,45,45,45,45,45,45,428,45,45,435,45,45,45,1751,45,45,45,45,45,45,45,45,45,45,45,45,1410,45,45,45,67,67,67,505,67,67,67,67,67,67,67,67,67,514,67,67,67,67,67,67,1969,67,97,97,97,97,0,0,0,97,97,45,67,0,97,45,67,0,97,2064,2065,0,2066,45,521,67,67,67,67,67,67,67,67,67,67,534,67,67,67,67,67,67,465,67,67,67,474,67,67,67,67,67,67,67,1467,67,67,67,67,67,67,67,67,67,97,97,97,97,97,1933,0,97,97,97,602,97,97,97,97,97,97,97,97,97,611,97,97,18,640,139621,358,641,0,0,0,0,364,0,0,367,0,618,97,97,97,97,97,97,97,97,97,97,631,97,97,97,97,97,881,97,97,97,97,97,97,97,97,97,97,569,97,97,97,97,97,369,0,45,652,45,45,45,45,45,657,45,45,45,45,45,45,1235,45,45,45,45,45,45,45,45,67,67,67,1432,67,67,67,67,67,67,67,766,67,67,67,67,67,67,67,67,773,67,67,67,0,1305,0,1311,0,1317,97,97,97,97,97,97,97,1624,97,97,97,97,97,97,97,97,0,97,97,97,1724,97,97,97,777,67,67,782,67,67,67,67,67,67,67,67,67,67,67,67,535,67,67,67,67,67,67,67,814,67,67,67,67,67,67,67,67,67,37689,544,25403,546,70179,0,0,66365,66365,552,0,97,837,97,97,97,97,97,97,1496,97,97,97,97,97,97,97,97,97,97,918,97,97,97,97,0,842,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1168,97,97,97,97,864,97,97,97,97,97,97,97,97,871,97,97,97,0,1637,97,97,0,97,97,97,97,97,97,97,97,97,97,1801,45,45,97,875,97,97,880,97,97,97,97,97,97,97,97,97,97,97,1151,1152,97,97,97,67,67,67,1040,67,67,67,67,67,67,67,67,67,67,67,67,790,67,67,67,1180,0,649,45,45,45,45,45,45,45,45,45,45,45,45,45,200,45,45,67,67,67,1454,67,67,67,67,67,67,67,67,67,67,67,67,806,67,67,67,0,0,0,1481,0,1094,0,0,97,1483,97,97,97,97,97,97,304,97,97,318,97,97,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,97,97,97,1507,97,97,97,97,97,97,97,97,97,97,97,97,1332,97,97,97,1619,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1631,97,1633,97,0,97,97,97,0,97,97,97,97,97,97,97,97,97,1381,0,0,45,45,45,45,97,97,1727,0,97,97,97,0,97,97,97,97,97,97,97,97,626,97,97,97,97,97,97,636,45,45,1760,67,67,67,67,67,67,67,1765,67,67,67,67,67,67,67,1299,67,67,67,0,0,0,0,0,0,97,97,97,97,1616,97,97,1803,45,45,45,45,1807,45,45,45,45,45,1813,45,45,45,67,67,1684,67,67,67,67,67,67,67,67,67,67,67,822,67,67,37689,544,67,67,1818,67,67,67,67,1822,67,67,67,67,67,1828,67,67,67,67,67,97,0,0,97,97,97,97,97,45,45,45,2012,2013,45,45,67,67,67,2018,2019,67,67,97,67,97,97,97,1833,97,97,0,0,97,97,1840,97,97,0,0,97,97,97,0,97,97,1733,97,1735,97,97,97,0,97,97,97,1849,97,97,97,45,45,45,45,45,1857,45,45,45,1910,45,1912,45,45,1914,45,67,67,67,67,67,67,67,67,67,67,1017,67,67,1020,67,45,1861,45,45,45,45,45,67,67,67,67,67,1872,67,67,67,67,67,67,752,67,67,67,67,67,67,67,67,67,67,1446,67,67,67,67,67,1876,67,67,67,67,67,97,97,97,97,97,0,0,0,1890,97,97,97,97,97,1134,97,97,97,97,97,97,97,97,97,97,570,97,97,97,97,580,1935,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1906,45,67,67,67,67,2048,0,97,97,97,97,45,45,67,67,0,0,0,0,925,41606,0,0,0,931,45,45,45,45,45,45,1674,45,1676,45,45,45,45,45,45,45,446,45,45,45,45,45,45,45,67,67,67,67,1871,67,67,67,67,0,97,97,45,67,0,97,2060,2061,0,2063,45,67,0,97,45,45,156,45,45,45,45,45,45,45,45,45,192,45,45,45,45,1673,45,45,45,45,45,45,45,45,45,45,45,429,45,45,45,45,67,67,67,269,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,349,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,0,0,364,0,367,41098,369,140,45,45,374,45,45,67,67,213,217,67,67,67,67,67,242,67,247,67,253,45,45,698,45,45,45,45,45,45,45,45,45,45,45,45,45,399,45,45,0,0,0,0,925,41606,0,929,0,0,45,45,45,45,45,45,1391,45,45,1395,45,45,45,45,45,45,423,45,45,45,45,45,45,45,436,45,67,67,67,67,1041,67,1043,67,67,67,67,67,67,67,67,67,67,1776,67,67,97,97,97,1099,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,888,97,97,97,1131,97,97,97,97,1135,97,1137,97,97,97,97,97,97,97,1497,97,97,97,97,97,97,97,97,97,883,97,97,97,97,97,97,1310,0,0,0,1316,0,0,0,0,1100,0,0,0,97,97,97,97,97,1107,97,97,97,97,97,97,97,97,1343,97,97,97,97,97,97,1348,0,0,1317,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,1112,97,45,1804,45,45,45,45,45,45,45,45,45,45,45,45,45,67,1868,67,1870,67,67,67,67,67,1817,67,67,1819,67,67,67,67,67,67,67,67,67,67,67,67,823,67,37689,544,67,97,1832,97,97,1834,97,0,0,97,97,97,97,97,0,0,97,97,97,0,1732,97,97,97,97,97,97,97,850,97,97,97,97,97,97,97,97,97,1177,0,0,925,0,0,0,0,97,97,97,97,0,0,1941,97,97,97,97,97,97,45,45,45,1991,1992,45,67,67,67,67,67,67,67,67,67,1998,134,0,0,0,37,110630,0,0,0,114730,106539,41098,45,45,45,45,941,45,45,944,45,45,45,45,45,45,952,45,45,207,67,67,67,67,67,226,67,67,67,67,67,67,67,67,67,820,67,67,67,67,37689,544,369,650,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1682,25403,546,70179,0,0,66365,66365,552,835,97,97,97,97,97,97,97,1522,97,97,97,97,97,97,97,97,0,97,97,97,97,97,97,1725,67,67,67,1695,67,67,67,67,67,67,67,67,67,67,67,67,1034,67,1036,67,67,67,265,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,97,296,97,97,97,97,314,97,97,97,97,332,334,97,97,97,97,97,1146,1147,97,97,97,97,97,97,97,97,97,97,1626,97,97,97,97,97,97,345,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,0,0,364,0,367,41098,369,140,45,372,45,45,45,1220,45,45,45,45,45,45,45,45,45,45,45,45,1213,45,45,45,45,404,406,45,45,45,45,45,45,45,45,45,45,45,45,45,434,45,45,45,440,45,45,45,45,45,45,45,45,451,452,45,45,45,67,1683,67,67,67,1686,67,67,67,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,67,67,67,67,490,492,67,67,67,67,67,67,67,67,67,67,67,1447,67,67,1450,67,67,67,67,67,526,67,67,67,67,67,67,67,67,537,538,67,67,67,67,67,506,67,67,508,67,67,511,67,67,67,67,0,1476,0,0,0,0,0,1478,0,0,0,0,0,0,0,0,97,97,1484,97,97,97,97,97,97,865,97,97,97,97,97,97,97,97,97,97,1499,97,97,97,97,97,97,97,97,97,587,589,97,97,97,97,97,97,97,97,97,97,629,97,97,97,97,97,97,97,97,97,623,97,97,97,97,97,97,97,97,634,635,97,97,97,97,97,1160,97,97,97,97,97,97,97,97,97,97,97,1628,97,97,97,97,369,0,45,45,45,45,45,655,45,45,45,45,45,45,45,45,999,45,1001,45,45,45,45,45,45,45,45,715,45,45,45,720,45,45,45,45,45,45,45,45,728,25403,546,70179,0,0,66365,66365,552,0,97,97,97,97,97,840,97,97,97,97,97,1174,97,97,97,97,0,0,925,0,0,0,0,0,0,0,1100,97,97,97,97,97,97,97,97,627,97,97,97,97,97,97,97,938,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,680,45,968,45,970,45,973,45,45,45,45,45,45,45,45,45,45,962,45,45,45,45,45,979,45,45,45,45,45,985,45,45,45,45,45,45,45,45,45,1224,45,45,45,45,45,45,45,45,688,45,45,45,45,45,45,45,1007,1008,67,67,67,67,67,1014,67,67,67,67,67,67,67,67,67,1045,67,67,67,67,67,67,67,1038,67,67,67,67,67,67,1044,67,1046,67,1049,67,67,67,67,67,67,800,67,67,67,67,67,67,808,67,67,0,0,0,1102,97,97,97,97,97,1108,97,97,97,97,97,97,306,97,97,97,97,97,97,97,97,97,97,1371,97,97,97,97,97,97,97,97,1132,97,97,97,97,97,97,1138,97,1140,97,1143,97,97,97,97,97,1352,97,97,97,97,97,97,97,97,97,97,869,97,97,97,97,97,45,1191,45,45,45,45,45,1196,45,45,45,45,45,45,45,45,1407,45,45,45,45,45,45,45,45,986,45,45,45,45,45,45,991,45,67,67,67,1256,67,67,67,67,67,67,67,67,67,67,67,67,1048,67,67,67,97,1336,97,97,97,97,97,97,97,97,97,97,97,97,97,97,615,97,1386,45,1387,45,45,45,45,45,45,45,45,45,45,45,45,45,455,45,457,45,45,1424,45,45,45,45,45,67,67,67,67,1433,67,1434,67,67,67,67,67,767,67,67,67,67,67,67,67,67,67,67,67,1591,67,1593,67,67,45,45,1805,45,45,45,45,45,45,45,45,45,1814,45,45,1816,67,67,67,67,1820,67,67,67,67,67,67,67,67,67,1829,67,67,67,67,67,815,67,67,67,67,821,67,67,67,37689,544,67,1831,97,97,97,97,1835,0,0,97,97,97,97,97,0,0,97,97,97,1731,97,97,97,97,97,97,97,97,97,853,97,97,97,97,97,97,0,97,97,97,97,1850,97,97,45,45,45,45,45,45,45,45,1547,45,45,45,45,45,45,45,45,1664,45,45,45,45,45,45,45,45,961,45,45,45,45,965,45,967,1907,45,45,45,45,45,45,45,45,45,67,67,67,67,67,1920,0,1936,97,97,97,0,0,0,97,97,97,97,97,97,45,45,67,67,67,67,67,67,1763,67,67,67,67,67,67,67,67,1056,67,67,67,67,67,67,67,67,1273,67,67,67,67,67,67,67,67,1457,67,67,67,67,67,67,67,67,97,97,97,97,0,0,28672,97,45,67,67,67,67,0,0,97,97,97,97,45,45,67,67,2054,97,97,291,97,97,97,97,97,97,320,97,97,97,97,97,97,307,97,97,97,97,97,97,97,97,97,97,12288,0,925,926,1179,0,45,377,45,45,45,381,45,45,392,45,45,396,45,45,45,45,971,45,45,45,45,45,45,45,45,45,45,45,45,1756,45,45,45,67,67,67,67,463,67,67,67,467,67,67,478,67,67,482,67,67,67,67,67,1028,67,67,67,67,67,67,67,67,67,67,67,67,1469,67,67,1472,67,502,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1460,67,97,97,97,97,560,97,97,97,564,97,97,575,97,97,579,97,97,97,97,97,1368,97,97,97,97,97,97,97,97,97,97,0,0,925,0,0,930,97,599,97,97,97,97,97,97,97,97,97,97,97,97,97,97,872,97,45,666,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1758,0,362,0,0,925,41606,0,0,0,0,45,45,934,45,45,45,164,168,174,178,45,45,45,45,45,194,45,45,45,165,45,45,45,45,45,45,45,45,45,199,45,45,45,67,67,1010,67,67,67,67,67,67,67,67,67,67,67,67,1060,67,67,67,67,67,67,1052,1053,67,67,67,67,67,67,67,67,67,67,1063,97,1157,97,97,97,97,97,97,97,97,97,97,97,97,1167,97,97,97,97,97,1379,97,97,97,0,0,0,45,1383,45,45,45,1806,45,45,45,45,45,45,1812,45,45,45,45,67,67,67,67,67,1577,67,67,67,67,67,67,67,753,67,67,67,67,67,67,67,67,67,1262,67,67,67,67,67,67,67,1282,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1471,67,45,1402,45,45,45,45,45,45,45,45,45,45,45,45,45,45,417,45,67,1462,67,67,67,67,67,67,67,67,67,67,67,67,67,67,37689,544,97,1517,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1128,97,97,97,97,1636,97,97,97,0,97,97,97,97,97,97,97,97,851,97,97,97,97,97,97,97,67,67,1705,67,67,67,67,67,67,67,67,97,97,97,97,97,97,0,0,97,97,97,97,1842,0,0,1779,97,97,97,1782,97,0,0,97,97,97,97,97,97,0,0,97,97,97,1789,97,97,0,0,0,97,1847,97,97,97,97,97,45,45,45,45,45,45,45,45,1675,45,45,45,45,45,45,45,45,737,738,67,740,67,741,67,743,67,67,67,67,67,67,1968,67,67,97,97,97,97,0,0,0,97,97,45,67,0,97,45,67,2062,97,45,67,0,97,45,67,67,97,97,2001,97,0,0,2004,97,97,0,97,97,97,97,1797,97,97,97,97,97,45,45,45,67,261,67,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,97,292,97,97,97,97,311,315,321,325,97,97,97,97,97,97,1623,97,97,97,97,97,97,97,97,97,97,1330,97,97,1333,1334,97,341,97,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,0,363,364,0,367,41098,369,140,45,45,45,45,1221,45,45,45,45,45,45,45,45,45,45,45,413,45,45,416,45,376,45,45,45,45,382,45,45,45,45,45,45,45,45,45,45,1408,45,45,45,45,45,403,45,45,45,45,45,45,45,45,45,45,414,45,45,45,418,67,67,67,462,67,67,67,67,468,67,67,67,67,67,67,67,67,1602,67,1604,67,67,67,67,67,67,67,67,489,67,67,67,67,67,67,67,67,67,67,500,67,67,67,67,67,1067,67,67,67,67,67,1072,67,67,67,67,67,67,274,0,37139,24853,0,0,0,0,41098,65820,67,67,504,67,67,67,67,67,67,67,510,67,67,67,517,519,541,67,37139,37139,24853,24853,0,70179,0,0,0,65820,65820,369,287,554,97,97,97,559,97,97,97,97,565,97,97,97,97,97,97,97,1718,0,97,97,97,97,97,97,97,898,97,97,97,97,97,97,906,97,97,97,97,586,97,97,97,97,97,97,97,97,97,97,597,97,97,97,97,97,1520,97,97,97,97,97,97,97,97,97,97,0,45,1656,45,45,45,97,97,601,97,97,97,97,97,97,97,607,97,97,97,614,616,638,97,18,0,139621,0,0,0,0,0,0,364,0,0,367,41606,369,0,45,45,45,45,45,45,45,45,45,45,661,45,45,45,407,45,45,45,45,45,45,45,45,45,45,45,45,45,1815,45,67,45,667,45,45,45,45,45,45,45,45,45,45,678,45,45,45,421,45,45,45,45,45,45,45,45,45,45,45,45,976,977,45,45,45,682,45,45,45,45,45,45,45,45,45,45,693,45,45,697,67,67,748,67,67,67,67,754,67,67,67,67,67,67,67,67,67,1274,67,67,67,67,67,67,67,67,765,67,67,67,67,769,67,67,67,67,67,67,67,67,67,1589,67,67,67,67,67,67,67,67,780,67,67,784,67,67,67,67,67,67,67,67,67,67,67,1777,67,97,97,97,97,97,97,846,97,97,97,97,852,97,97,97,97,97,97,97,1742,45,45,45,45,45,45,45,1747,97,97,97,863,97,97,97,97,867,97,97,97,97,97,97,97,308,97,97,97,97,97,97,97,97,97,97,12288,1178,925,0,1179,0,97,97,97,878,97,97,882,97,97,97,97,97,97,97,97,97,97,12288,0,925,0,1179,0,908,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,925,0,0,0,954,45,45,45,45,45,45,45,45,45,45,963,45,45,966,45,45,157,45,45,171,45,45,45,45,45,45,45,45,45,45,948,45,45,45,45,45,1022,67,67,1026,67,67,67,1030,67,67,67,67,67,67,67,67,67,1603,1605,67,67,67,1608,67,67,67,1039,67,67,1042,67,67,67,67,67,67,67,67,67,67,471,67,67,67,67,67,0,1100,0,97,97,97,97,97,97,97,97,97,97,97,97,97,904,97,97,97,97,1116,97,97,1120,97,97,97,1124,97,97,97,97,97,97,562,97,97,97,571,97,97,97,97,97,97,97,97,97,1133,97,97,1136,97,97,97,97,97,97,97,97,915,917,97,97,97,97,97,0,97,1170,97,97,97,97,97,97,97,97,0,0,925,0,0,0,0,0,41606,0,0,0,0,45,45,45,45,45,45,1993,67,67,67,67,67,67,67,67,67,67,1275,67,67,67,1278,67,0,0,0,45,45,1182,45,45,45,45,45,45,45,45,45,1189,1204,45,45,45,1207,45,45,1209,45,1210,45,45,45,45,45,45,1546,45,45,45,45,45,45,45,45,45,689,45,45,45,45,45,45,1231,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,236,67,67,67,67,67,67,67,801,67,67,67,805,67,67,67,67,67,1242,67,67,67,67,67,67,67,67,67,1249,67,67,67,67,67,67,507,67,67,67,67,67,67,67,67,67,67,1300,0,0,0,0,0,1267,67,67,1269,67,1270,67,67,67,67,67,67,67,67,67,1280,97,1349,97,1350,97,97,97,97,97,97,97,97,97,1360,97,97,97,0,1980,97,97,97,97,97,45,45,45,45,45,45,673,45,45,45,45,677,45,45,45,45,1401,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,953,67,1437,67,1440,67,67,67,67,1445,67,67,67,1448,67,67,67,67,67,67,1029,67,67,67,67,67,67,67,67,67,67,1825,67,67,67,67,67,1473,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,1320,0,834,97,97,97,97,1490,97,1493,97,97,97,97,1498,97,97,97,1501,97,97,97,0,97,1638,97,0,97,97,97,97,97,97,97,97,916,97,97,97,97,97,97,0,1528,97,97,97,0,45,45,45,1535,45,45,45,45,45,45,45,1867,67,67,67,67,67,67,67,67,67,97,97,97,97,1932,0,0,1555,45,45,45,45,45,45,45,45,45,45,45,45,45,1567,45,45,158,45,45,172,45,45,45,183,45,45,45,45,201,45,45,67,212,67,67,67,67,231,235,241,245,67,67,67,67,67,67,493,67,67,67,67,67,67,67,67,67,67,472,67,67,67,67,67,97,97,97,97,1651,97,97,97,97,97,0,45,45,45,45,45,45,45,1539,45,45,45,67,1704,67,1706,67,67,67,67,67,67,67,97,97,97,97,97,97,0,0,97,97,97,1841,97,0,1844,97,97,97,97,1716,97,97,97,0,97,97,97,97,97,97,97,590,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,1385,1748,45,45,45,45,45,45,45,45,45,45,45,45,45,1757,45,45,159,45,45,45,45,45,45,45,45,45,45,45,45,45,415,45,45,97,97,1780,97,97,97,0,0,1786,97,97,97,97,97,0,0,97,97,1730,0,97,97,97,97,97,1736,97,1738,67,97,97,97,97,97,97,0,1838,97,97,97,97,97,0,0,97,1729,97,0,97,97,97,97,97,97,97,97,1162,97,97,97,1165,97,97,97,45,1950,45,45,45,45,45,45,45,45,1958,67,67,67,1962,67,67,67,67,67,1246,67,67,67,67,67,67,67,67,67,67,67,97,1710,97,97,97,1999,67,97,97,97,97,0,2003,97,97,97,0,97,97,2008,2009,45,67,67,67,67,0,0,97,97,97,97,45,2052,67,2053,0,0,0,0,925,41606,0,0,930,0,45,45,45,45,45,45,1392,45,1394,45,45,45,45,45,45,45,1545,45,45,45,45,45,45,45,45,45,45,1563,1565,45,45,45,1568,0,97,2055,45,67,0,97,45,67,0,97,45,67,28672,97,45,45,160,45,45,45,45,45,45,45,45,45,45,45,45,45,679,45,45,67,67,266,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,346,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,0,362,0,364,0,367,41098,369,140,371,45,45,45,379,45,45,45,388,45,45,45,45,45,45,45,45,1663,45,45,45,45,45,45,45,45,45,449,45,45,45,45,45,67,67,542,37139,37139,24853,24853,0,70179,0,0,0,65820,65820,369,287,97,97,97,97,97,1622,97,97,97,97,97,97,97,1629,97,97,0,1794,1795,97,97,97,97,97,97,97,97,45,45,45,45,45,45,1745,45,45,97,639,18,0,139621,0,0,0,0,0,0,364,0,0,367,41606,45,731,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,251,67,67,67,67,67,798,67,67,67,67,67,67,67,67,67,67,67,67,1073,67,67,67,860,97,97,97,97,97,97,97,97,97,97,97,97,97,97,873,0,0,1101,97,97,97,97,97,97,97,97,97,97,97,97,97,921,97,0,67,67,67,67,1245,67,67,67,67,67,67,67,67,67,67,67,67,1250,67,67,1253,0,0,1312,0,0,0,1318,0,0,0,0,0,0,97,97,97,97,1106,97,97,97,97,97,97,97,97,97,1149,97,97,97,97,97,1155,97,97,1325,97,97,97,97,97,97,97,97,97,97,97,97,97,1141,97,97,67,67,1439,67,1441,67,67,67,67,67,67,67,67,67,67,67,67,1264,67,67,67,97,97,1492,97,1494,97,97,97,97,97,97,97,97,97,97,97,1331,97,97,97,97,67,67,67,2037,67,97,0,0,97,97,97,2043,97,45,45,45,442,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,232,67,67,67,67,67,67,67,67,1823,67,67,67,67,67,67,67,67,97,97,97,97,1975,0,0,97,874,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1142,97,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,65,86,117,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,63,84,115,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,61,82,113,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,59,80,111,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,57,78,109,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,55,76,107,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,53,74,105,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,51,72,103,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,49,70,101,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,47,68,99,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,45,67,97,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,213085,53264,18,49172,57366,24,8192,28,102432,0,0,0,44,0,0,32863,53264,18,49172,57366,24,8192,28,102432,0,41,41,41,0,0,1138688,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,0,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,89,53264,18,18,49172,0,57366,0,24,24,24,0,127,127,127,127,102432,67,262,67,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,342,97,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,360,0,0,364,0,367,41098,369,140,45,45,45,45,717,45,45,45,45,45,45,45,45,45,45,45,412,45,45,45,45,45,67,1009,67,67,67,67,67,67,67,67,67,67,67,67,67,1292,67,67,1294,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,97,97,97,1615,97,97,97,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,66,87,118,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,64,85,116,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,62,83,114,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,60,81,112,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,58,79,110,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,56,77,108,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,54,75,106,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,52,73,104,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,50,71,102,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,48,69,100,53264,18,49172,57366,24,8192,28,102432,37,110630,114730,106539,46,67,98,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,233472,53264,18,49172,57366,24,8192,28,102432,0,110630,114730,106539,0,0,69724,53264,18,18,49172,0,57366,262144,24,24,24,0,28,28,28,28,102432,45,45,161,45,45,45,45,45,45,45,45,45,45,45,45,45,710,45,45,28,139621,359,0,0,0,364,0,367,41098,369,140,45,45,45,45,1389,45,45,45,45,45,45,45,45,45,45,45,949,45,45,45,45,67,503,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1449,67,67,97,600,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1154,97,0,0,0,0,925,41606,927,0,0,0,45,45,45,45,45,45,1866,67,67,67,67,67,67,67,67,67,67,772,67,67,67,67,67,45,45,969,45,45,45,45,45,45,45,45,45,45,45,45,45,951,45,45,45,45,1192,45,45,45,45,45,45,45,45,45,45,45,45,45,1202,45,45,0,0,0,1314,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,1488,67,67,267,67,67,67,67,0,37139,24853,0,0,0,0,41098,65820,97,347,97,97,97,97,0,53264,0,18,18,24,24,0,28,28,139621,0,361,0,0,364,0,367,41098,369,140,45,45,45,45,734,45,45,45,67,67,67,67,67,742,67,67,45,45,668,45,45,45,45,45,45,45,45,45,45,45,45,45,1214,45,45,1130,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1361,97,45,45,1671,45,45,45,45,45,45,45,45,45,45,45,45,45,1552,45,45,0,0,0,0,2220032,0,0,1130496,0,0,0,0,2170880,2171020,2170880,2170880,18,0,0,131072,0,0,0,90112,0,2220032,0,0,0,0,0,0,0,0,97,97,97,1485,97,97,97,97,0,45,45,45,45,45,1537,45,45,45,45,45,1390,45,1393,45,45,45,45,1398,45,45,45,2170880,2171167,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2576384,2215936,3117056,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,0,0,0,0,0,2174976,0,0,0,0,0,0,2183168,0,0,0,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,2721252,2744320,2170880,2170880,2170880,2834432,2840040,2170880,2908160,2170880,2170880,2936832,2170880,2170880,2985984,2170880,2994176,2170880,2170880,3014656,2170880,3059712,3076096,3088384,2170880,2170880,2170880,2170880,0,0,0,0,2220032,0,0,0,1142784,0,0,0,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3215360,2215936,2215936,2215936,2215936,2215936,2437120,2215936,2215936,2215936,3117056,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,2215936,0,543,0,545,0,0,2183168,0,0,831,0,2170880,2170880,2170880,2400256,2170880,2170880,2170880,2170880,3031040,2170880,3055616,2170880,2170880,2170880,2170880,3092480,2170880,2170880,3125248,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,2170880,3198976,2170880,0,0,0,0,0,0,67,67,37139,37139,24853,24853,0,0,0,0,0,65820,65820,0,287,97,97,97,97,97,1783,0,0,97,97,97,97,97,97,0,0,97,97,97,97,97,97,1791,0,0,546,70179,0,0,0,0,552,0,97,97,97,97,97,97,97,604,97,97,97,97,97,97,97,97,97,97,1150,97,97,97,97,97,147456,147456,147456,147456,147456,147456,147456,147456,147456,147456,147456,147456,0,0,147456,0,0,0,0,925,41606,0,928,0,0,45,45,45,45,45,45,998,45,45,45,45,45,45,45,45,45,1562,45,1564,45,45,45,45,0,2158592,2158592,0,0,0,0,2232320,2232320,2232320,0,2240512,2240512,2240512,2240512,0,0,0,0,0,0,0,0,0,0,0,2170880,2170880,2170880,2416640],r.EXPECTED=[291,300,304,341,315,309,305,295,319,323,327,329,296,333,337,339,342,346,350,294,356,360,312,367,352,371,363,375,379,383,387,391,395,726,399,405,518,684,405,405,405,405,808,405,405,405,512,405,405,405,431,405,405,406,405,405,404,405,405,405,405,405,405,405,908,631,410,415,405,414,419,608,405,429,602,405,435,443,405,441,641,478,405,447,451,450,456,643,461,460,762,679,465,469,741,473,477,482,486,492,932,931,523,498,504,720,405,510,596,405,516,941,580,522,929,527,590,589,897,939,534,538,547,551,555,559,563,567,571,969,575,708,690,689,579,584,634,405,594,731,405,600,882,405,606,895,786,452,612,405,615,620,876,624,628,638,647,651,655,659,663,667,676,683,688,695,694,791,405,699,437,405,706,714,405,712,825,870,405,718,724,769,768,823,730,735,745,751,422,755,759,425,766,902,810,587,775,888,887,405,773,992,405,779,962,405,785,781,986,790,795,797,506,500,499,801,805,814,820,829,833,837,841,845,849,853,857,861,616,865,869,868,488,405,874,816,405,880,738,405,886,892,543,405,901,906,913,912,918,494,541,922,926,936,945,949,953,957,530,966,973,960,702,701,405,979,981,405,985,747,405,990,998,914,405,996,1004,672,975,974,1014,1002,1008,670,1012,405,405,405,405,405,401,1018,1022,1026,1106,1071,1111,1111,1111,1082,1145,1030,1101,1034,1038,1106,1106,1106,1106,1046,1206,1052,1106,1072,1111,1111,1042,1134,1065,1111,1112,1056,1160,1207,1062,1204,1208,1069,1106,1106,1106,1076,1111,1207,1161,1122,1205,1064,1094,1106,1106,1107,1111,1111,1111,1078,1086,1207,1092,1098,1046,1058,1106,1106,1110,1111,1111,1116,1120,1161,1126,1202,1104,1106,1145,1146,1129,1138,1088,1151,1048,1157,1153,1132,1141,1165,1107,1111,1172,1179,1109,1183,1175,1143,1147,1187,1108,1191,1195,1144,1199,1168,1212,1216,1220,1224,1228,1232,1236,1557,1247,1241,1241,1038,1434,1241,1241,1241,1241,1254,1275,1617,1241,1280,1287,1241,1241,1241,1287,1241,2114,1291,1241,1243,1241,2049,1824,2094,2095,1520,1309,1241,1241,1302,1241,1321,1311,1241,1241,1313,1778,1325,1336,1241,1241,1325,1330,1353,1241,1241,1695,1354,1241,1241,1241,1294,1686,1331,1241,1696,1368,1241,1338,1370,1241,1392,1399,1364,2017,1406,2016,1405,1716,1406,1407,1422,1417,1421,1241,1241,1241,1349,1426,1241,1774,1756,1241,1773,1241,1241,1345,1964,1812,1432,1241,1241,1345,1993,1459,1241,1241,1241,1395,1848,1767,1465,1241,1241,1394,1847,1242,1477,1241,1241,1428,1241,1445,1492,1241,1241,1438,1241,1499,1241,1241,1241,1455,1241,1818,1448,1241,1250,1241,2026,1623,1449,1241,1612,1616,1241,1614,1241,1257,1241,1241,1985,1292,1586,1512,1241,1517,2050,1526,1674,1519,1524,1647,2051,1532,1537,1551,1544,1550,1555,1561,1571,1578,1584,1590,1591,1653,1595,1602,1606,1610,1634,1628,1640,1633,1645,1241,1241,1241,1469,1241,1970,1651,1241,1270,1241,1241,1819,1449,1241,1293,1664,1241,1241,1481,1485,1574,1672,1241,1241,1513,1317,1487,1684,1241,1241,1533,1299,1694,1241,1241,1295,1241,1241,1241,1546,1700,1241,1241,1707,1241,1713,1241,1849,1715,1241,1720,1241,1276,1267,1241,1241,2107,1657,1864,1241,1881,1241,1326,1292,1241,1685,1358,1724,1338,1241,1363,1362,1342,1340,1361,1339,1833,1372,1360,1833,1833,1342,1343,1835,1341,1731,1738,1344,1241,1745,1241,1379,1241,1241,2092,1241,1388,1761,1754,1241,1386,1241,1400,1760,1241,1241,1241,1598,1734,1241,1241,1241,1635,1645,1241,1780,1766,1241,1241,1332,1771,1241,1241,1629,2079,1241,1242,1784,1241,1241,1680,1639,2063,1790,1241,1241,1741,1241,1241,1800,1241,1241,1762,1473,1241,1806,1241,1241,1786,1240,1709,1241,1241,1241,1668,1811,1241,1940,1241,1401,1974,1241,1408,1413,1382,1241,1816,1241,1241,1802,2086,1811,1241,1817,1945,1823,2095,2095,2047,2094,2046,2080,1241,1409,1312,1376,2096,2048,1241,1241,1807,1241,1241,1241,2035,1241,1241,1828,1241,2057,2061,1241,1241,1843,1241,2059,1241,1241,1241,1690,1847,1241,1241,1241,1703,2102,1848,1241,1241,1853,1292,1848,1241,2016,1857,1241,2002,1868,1241,1436,1241,1241,1271,1305,1241,1874,1241,1241,1884,2037,1892,1241,1890,1241,1461,1241,1241,1795,1241,1241,1891,1241,1878,1241,1888,1241,1888,1905,1896,2087,1912,1903,1241,1911,1906,1916,1905,2027,1863,1925,2088,1859,1861,1922,1927,1931,1935,1494,1241,1241,1918,1907,1939,1917,1944,1949,1241,1241,1451,1955,1241,1241,1241,1796,1727,2061,1241,1241,1899,1241,1660,1968,1241,1241,1951,1678,1978,1241,1241,1241,1839,1241,1241,1984,1982,1241,1488,1241,1241,1624,1450,1989,1241,1241,1241,1870,1995,1292,1241,1241,1958,1261,1241,1996,1241,1241,1241,2039,2008,1241,1241,1750,2e3,1241,1256,2001,1960,1241,1564,1241,1504,1241,1241,1442,1241,1241,1564,1528,1263,1241,1508,1241,1241,1468,1498,2006,1540,2015,1539,2014,1748,2013,1539,1831,2014,2012,1500,1567,2022,2021,1241,1580,1241,1241,2033,2037,1791,2045,2031,1241,1621,1241,1641,2044,1241,1241,1241,2093,1241,1241,2055,1241,1241,2067,1241,1283,1241,1241,1241,2101,2071,1241,1241,1241,2073,1848,2040,1241,1241,1241,2077,1241,1241,2106,1241,1241,2084,1241,2111,1241,1241,1381,1380,1241,1241,1241,2100,1241,2129,2118,2122,2126,2197,2133,3010,2825,2145,2698,2156,2226,2160,2161,2165,2174,2293,2194,2630,2201,2203,2152,3019,2226,2263,2209,2213,2218,2269,2292,2269,2269,2184,2226,2238,2148,2151,3017,2245,2214,2269,2269,2185,2226,2292,2269,2291,2269,2269,2269,2292,2205,3019,2226,2226,2160,2160,2160,2261,2160,2160,2160,2262,2276,2160,2160,2277,2216,2283,2216,2269,2269,2268,2269,2267,2269,2269,2269,2271,2568,2292,2269,2293,2269,2182,2190,2269,2186,2226,2226,2226,2226,2227,2160,2160,2160,2160,2263,2160,2275,2277,2282,2215,2217,2269,2269,2291,2269,2269,2293,2291,2269,2220,2269,2295,2294,2269,2269,2305,2233,2262,2278,2218,2269,2234,2226,2226,2228,2160,2160,2160,2289,2220,2294,2294,2269,2269,2304,2269,2160,2160,2287,2269,2269,2305,2269,2269,2312,2269,2269,2225,2226,2160,2287,2289,2219,2304,2295,2314,2234,2226,2314,2269,2226,2226,2160,2288,2219,2222,2304,2296,2269,2224,2160,2160,2269,2302,2294,2314,2224,2226,2288,2220,2294,2269,2290,2269,2269,2293,2269,2269,2269,2269,2270,2221,2313,2225,2227,2160,2300,2269,2225,2261,2309,2234,2229,2223,2318,2318,2318,2328,2336,2340,2344,2350,2637,2712,2358,2362,2372,2135,2378,2398,2135,2135,2135,2135,2136,2417,2241,2135,2378,2135,2135,2980,2984,2135,3006,2135,2135,2135,2945,2931,2425,2400,2135,2135,2135,2954,2135,2481,2433,2135,2135,2988,2824,2135,2135,2482,2434,2135,2135,2440,2445,2452,2135,2135,2998,3002,2961,2441,2446,2453,2463,2974,2135,2135,2135,2140,2642,2709,2459,2470,2465,2135,2135,3005,2135,2135,2987,2823,2458,2469,2464,2975,2135,2135,2135,2353,2488,2447,2324,2974,2135,2409,2459,2448,2135,2961,2487,2446,2476,2323,2973,2135,2135,2135,2354,2476,2974,2135,2135,2135,2957,2135,2135,2960,2135,2135,2135,2363,2409,2459,2474,2465,2487,2571,2973,2135,2135,2168,2973,2135,2135,2135,2959,2135,2135,2135,2506,2135,2957,2488,2170,2135,2135,2135,2960,2135,2818,2493,2135,2135,3033,2135,2135,2135,2934,2819,2494,2135,2135,2135,2976,2780,2499,2135,2135,2135,3e3,2968,2135,2935,2135,2135,2135,2364,2507,2135,2135,2934,2135,2135,2780,2492,2507,2135,2135,2506,2780,2135,2135,2782,2780,2135,2782,2135,2783,2374,2514,2135,2135,2135,3007,2530,2974,2135,2135,2135,3008,2135,2135,2134,2135,2526,2531,2975,2135,2135,3042,2581,2575,2956,2135,2135,2135,2394,2135,2508,2535,2840,2844,2495,2135,2135,2136,2684,2537,2842,2846,2135,2136,2561,2581,2551,2536,2841,2845,2975,3043,2582,2843,2555,2135,3040,3044,2538,2844,2975,2135,2135,2253,2644,2672,2542,2554,2135,2135,2346,2873,2551,2555,2135,2135,2135,2381,2559,2565,2538,2553,2135,2560,2914,2576,2590,2135,2135,2135,2408,2136,2596,2624,2135,2135,2135,2409,2135,2618,2597,3008,2135,2135,2380,2956,2601,2135,2135,2135,2410,2620,2624,2135,2136,2383,2135,2135,2783,2623,2135,2135,2393,2888,2136,2621,3008,2135,2618,2618,2622,2135,2135,2405,2414,2619,2384,2624,2135,2136,2950,2135,2138,2135,2139,2135,2604,2623,2135,2140,2878,2665,2957,2622,2135,2135,2428,2762,2606,2612,2135,2135,2501,2586,2604,3038,2135,2604,3036,2387,2958,2386,2135,2141,2135,2421,2387,2385,2135,2385,2384,2384,2135,2386,2628,2384,2135,2135,2501,2596,2591,2135,2135,2135,2400,2135,2634,2135,2135,2559,2580,2575,2648,2135,2135,2135,2429,2649,2135,2135,2135,2435,2654,2658,2135,2135,2135,2436,2649,2178,2659,2135,2135,2595,2601,2669,2677,2135,2135,2616,2957,2879,2665,2691,2135,2363,2367,2900,2878,2664,2690,2975,2877,2643,2670,2974,2671,2975,2135,2135,2619,2608,2669,2673,2135,2135,2653,2177,2672,2135,2135,2135,2486,2168,2251,2255,2695,2974,2709,2135,2135,2135,2487,2169,2399,2716,2975,2135,2363,2770,2776,2640,2717,2135,2135,2729,2135,2135,2641,2718,2135,2135,2135,2505,2135,2640,2257,2974,2135,2727,2975,2135,2365,2332,2895,2957,2135,2959,2135,2365,2749,2754,2959,2958,2958,2135,2380,2793,2799,2135,2735,2738,2135,2381,2135,2135,2940,2974,2135,2744,2135,2135,2739,2519,2976,2745,2135,2135,2135,2509,2755,2135,2135,2135,2510,2772,2778,2135,2135,2740,2520,2135,2771,2777,2135,2135,2759,2750,2792,2798,2135,2135,2781,2392,2779,2135,2135,2135,2521,2135,2679,2248,2135,2135,2681,2480,2135,2135,2786,3e3,2135,2679,2683,2135,2135,2416,2135,2135,2135,2525,2135,2730,2135,2135,2135,2560,2581,2135,2805,2135,2135,2804,2962,2832,2974,2135,2382,2135,2135,2958,2135,2135,2960,2135,2829,2833,2975,2961,2965,2969,2973,2968,2972,2135,2135,2135,2641,2135,2515,2966,2970,2851,2478,2135,2135,2808,2135,2809,2135,2135,2135,2722,2852,2479,2135,2135,2815,2135,2135,2766,2853,2480,2135,2857,2479,2135,2388,2723,2135,2364,2331,2894,2858,2480,2135,2135,2850,2478,2135,2135,2135,2806,2864,2135,2399,2256,2974,2865,2135,2135,2862,2135,2135,2135,2685,2807,2865,2135,2135,2807,2863,2135,2135,2135,2686,2884,2807,2135,2809,2807,2135,2135,2807,2806,2705,2810,2808,2700,2869,2702,2702,2702,2704,2883,2135,2135,2135,2730,2884,2135,2135,2135,2731,2321,2546,2135,2135,2876,2255,2889,2322,2547,2135,2401,2135,2135,2135,2949,2367,2893,2544,2973,2906,2973,2135,2135,2877,2663,2368,2901,2907,2974,2366,2899,2905,2972,2920,2974,2135,2135,2911,2900,2920,2363,2913,2918,2465,2941,2975,2135,2135,2924,2928,2974,2945,2931,2135,2135,2135,2765,2136,2955,2135,2135,2939,2931,2380,2135,2135,2380,2135,2135,2135,2780,2507,2137,2135,2137,2135,2139,2135,2806,2810,2135,2135,2135,2992,2135,2135,2962,2966,2970,2974,2135,2135,2787,3014,2135,2521,2993,2135,2135,2135,2803,2135,2135,2135,2618,2607,2997,3001,2135,2135,2963,2967,2971,2975,2135,2135,2791,2797,2135,3009,2999,3003,2787,3001,2135,2135,2964,2968,2785,2999,3003,2135,2135,2135,2804,2785,2999,3004,2135,2135,2135,2807,2135,2135,3023,2135,2135,2135,2811,2135,2135,3027,2135,2135,2135,2837,2968,3028,2135,2135,2135,2875,2135,2784,3029,2135,2408,2457,2446,0,14,0,-2120220672,1610612736,-2074083328,-2002780160,-2111830528,1073872896,1342177280,1075807216,4096,16384,2048,8192,0,8192,0,0,0,0,1,0,0,0,2,0,-2145386496,8388608,1073741824,0,2147483648,2147483648,2097152,2097152,2097152,536870912,0,0,134217728,33554432,1536,268435456,268435456,268435456,268435456,128,256,32,0,65536,131072,524288,16777216,268435456,2147483648,1572864,1835008,640,32768,65536,262144,1048576,2097152,196608,196800,196608,196608,0,131072,131072,131072,196608,196624,196608,196624,196608,196608,128,4096,16384,16384,2048,0,4,0,0,2147483648,2097152,0,1024,32,32,0,65536,1572864,1048576,32768,32768,32768,32768,196608,196608,196608,64,64,196608,196608,131072,131072,131072,131072,268435456,268435456,64,196736,196608,196608,196608,131072,196608,196608,16384,4,4,4,2,32,32,65536,1048576,12582912,1073741824,0,0,2,8,16,96,2048,32768,0,0,131072,268435456,268435456,268435456,256,256,196608,196672,196608,196608,196608,196608,4,0,256,256,256,256,32,32,32768,32,32,32,32,32768,268435456,268435456,268435456,196608,196608,196608,196624,196608,196608,196608,16,16,16,268435456,196608,64,64,64,196608,196608,196608,196672,268435456,64,64,196608,196608,16,196608,196608,196608,268435456,64,196608,131072,262144,4194304,25165824,33554432,134217728,268435456,268435456,196608,262152,8,256,512,3072,16384,200,-1073741816,8392713,40,8392718,520,807404072,40,520,100663304,0,0,-540651761,-540651761,257589048,0,262144,0,0,3,8,256,0,4,6,4100,8388612,0,0,0,3,4,8,256,512,1024,0,2097152,0,0,-537854471,-537854471,0,100663296,0,0,1,2,0,0,0,16384,0,0,0,96,14336,0,0,0,7,8,234881024,0,0,0,8,0,0,0,0,262144,0,0,16,64,384,512,0,1,1,0,12582912,0,0,0,0,33554432,67108864,-606084144,-606084144,-606084138,0,0,28,32,768,1966080,-608174080,0,0,0,14,35056,16,64,896,24576,98304,98304,131072,262144,524288,1048576,4194304,25165824,1048576,62914560,134217728,-805306368,0,384,512,16384,65536,131072,262144,29360128,33554432,134217728,268435456,1073741824,2147483648,262144,524288,1048576,29360128,33554432,524288,1048576,16777216,33554432,134217728,268435456,1073741824,0,0,0,123856,1966080,0,64,384,16384,65536,131072,16384,65536,524288,268435456,2147483648,0,0,524288,2147483648,0,0,1,16,0,256,524288,0,0,0,25,96,128,-537854471,0,0,0,32,7404800,-545259520,0,0,0,60,0,249,64768,1048576,6291456,6291456,25165824,100663296,402653184,1073741824,96,128,1280,2048,4096,57344,6291456,57344,6291456,8388608,16777216,33554432,201326592,1342177280,2147483648,0,57344,6291456,8388608,100663296,134217728,2147483648,0,0,0,1,8,16,64,128,64,128,256,1024,131072,131072,131072,262144,524288,16777216,57344,6291456,8388608,67108864,134217728,64,256,1024,2048,4096,57344,64,256,0,24576,32768,6291456,67108864,134217728,0,1,64,256,24576,32768,4194304,32768,4194304,67108864,0,0,64,256,0,0,24576,32768,0,16384,4194304,67108864,64,16384,0,0,1,64,256,16384,4194304,67108864,0,0,0,16384,0,16384,16384,0,-470447874,-470447874,-470447874,0,0,128,0,0,8,96,2048,32768,262144,8388608,35056,1376256,-471859200,0,0,14,16,224,2048,32768,2097152,4194304,8388608,-486539264,0,96,128,2048,32768,262144,2097152,262144,2097152,8388608,33554432,536870912,1073741824,2147483648,0,1610612736,2147483648,0,0,1,524288,1048576,12582912,0,0,0,151311,264503296,2097152,8388608,33554432,1610612736,2147483648,262144,8388608,33554432,536870912,67108864,4194304,0,4194304,0,4194304,4194304,0,0,524288,8388608,536870912,1073741824,2147483648,1,4097,8388609,96,2048,32768,1073741824,2147483648,0,96,2048,2147483648,0,0,96,2048,0,0,1,12582912,0,0,0,0,1641895695,1641895695,0,0,0,249,7404800,15,87808,1835008,1639972864,0,768,5120,16384,65536,1835008,1835008,12582912,16777216,1610612736,0,3,4,8,768,4096,65536,0,0,256,512,786432,8,256,512,4096,16384,1835008,16384,1835008,12582912,1610612736,0,0,0,256,0,0,0,4,8,16,32,1,2,8,256,16384,524288,16384,524288,1048576,12582912,1610612736,0,0,0,8388608,0,0,0,524288,4194304,0,0,0,8388608,-548662288,-548662288,-548662288,0,0,256,16384,65536,520093696,-1073741824,0,0,0,16777216,0,16,32,960,4096,4980736,520093696,1073741824,0,32,896,4096,57344,1048576,6291456,8388608,16777216,100663296,134217728,268435456,2147483648,0,512,786432,4194304,33554432,134217728,268435456,0,786432,4194304,134217728,268435456,0,524288,4194304,268435456,0,0,0,0,0,4194304,4194304,-540651761,0,0,0,2,4,8,16,96,128,264503296,-805306368,0,0,0,8,256,512,19456,131072,3072,16384,131072,262144,8388608,16777216,512,1024,2048,16384,131072,262144,131072,262144,8388608,33554432,201326592,268435456,0,3,4,256,1024,2048,57344,16384,131072,8388608,33554432,134217728,268435456,0,3,256,1024,16384,131072,33554432,134217728,1073741824,2147483648,0,0,256,524288,2147483648,0,3,256,33554432,134217728,1073741824,0,1,2,33554432,1,2,134217728,1073741824,0,1,2,134217728,0,0,0,64,0,0,0,16,32,896,4096,786432,4194304,16777216,33554432,201326592,268435456,1073741824,2147483648,0,0,0,15,0,4980736,4980736,4980736,70460,70460,3478332,0,0,1008,4984832,520093696,60,4864,65536,0,0,0,12,16,32,256,512,4096,65536,0,0,0,67108864,0,0,0,12,0,256,512,65536,0,0,1024,512,131072,131072,4,16,32,65536,0,4,16,32,0,0,0,4,16,0,0,16384,67108864,0,0,1,24,96,128,256,1024],r.TOKEN=["(0)","JSONChar","JSONCharRef","JSONPredefinedCharRef","ModuleDecl","Annotation","OptionDecl","Operator","Variable","Tag","EndTag","PragmaContents","DirCommentContents","DirPIContents","CDataSectionContents","AttrTest","Wildcard","EQName","IntegerLiteral","DecimalLiteral","DoubleLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","AposChar","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","NCName","QName","S","CharRef","CommentContents","DocTag","DocCommentContents","EOF","'!'","'\"'","'#'","'#)'","'$$'","''''","'('","'(#'","'(:'","'(:~'","')'","'*'","'*'","','","'-->'","'.'","'/'","'/>'","':'","':)'","';'","'<!--'","'<![CDATA['","'<?'","'='","'>'","'?'","'?>'","'NaN'","'['","']'","']]>'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'|'","'}'","'}}'"]},{}],2:[function(e,t,n){"use strict";var r=e("./JSONiqTokenizer").JSONiqTokenizer,i=e("./lexer").Lexer,s="NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit".split("|"),o=s.map(function(e){return{name:"'"+e+"'",token:"keyword"}}),u=s.map(function(e){return{name:"'"+e+"'",token:"text",next:function(e){e.pop()}}}),a="constant.language",f="constant",l="comment",c="xml-pe",h="constant.buildin",p=function(e){return"'"+e+"'"},d={start:[{name:p("(#"),token:h,next:function(e){e.push("Pragma")}},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p("(:~"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:p("<?"),token:c,next:function(e){e.push("PI")}},{name:p("''"),token:"string",next:function(e){e.push("AposString")}},{name:p('"'),token:"string",next:function(e){e.push("QuotString")}},{name:"Annotation",token:"support.function"},{name:"ModuleDecl",token:"keyword",next:function(e){e.push("Prefix")}},{name:"OptionDecl",token:"keyword",next:function(e){e.push("_EQName")}},{name:"AttrTest",token:"support.type"},{name:"Variable",token:"variable"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:"IntegerLiteral",token:f},{name:"DecimalLiteral",token:f},{name:"DoubleLiteral",token:f},{name:"Operator",token:"keyword.operator"},{name:"EQName",token:function(e){return s.indexOf(e)!==-1?"keyword":"support.function"}},{name:p("("),token:"lparen"},{name:p(")"),token:"rparen"},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:p("}"),token:"text",next:function(e){e.length>1&&e.pop()}},{name:p("{"),token:"text",next:function(e){e.push("start")}}].concat(o),_EQName:[{name:"EQName",token:"text",next:function(e){e.pop()}}].concat(u),Prefix:[{name:"NCName",token:"text",next:function(e){e.pop()}}].concat(u),StartTag:[{name:p(">"),token:"meta.tag",next:function(e){e.push("TagContent")}},{name:"QName",token:"entity.other.attribute-name"},{name:p("="),token:"text"},{name:p("''"),token:"string",next:function(e){e.push("AposAttr")}},{name:p('"'),token:"string",next:function(e){e.push("QuotAttr")}},{name:p("/>"),token:"meta.tag.r",next:function(e){e.pop()}}],TagContent:[{name:"ElementContentChar",token:"text"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"text"},{name:p("}}"),token:"text"},{name:p("{"),token:"text",next:function(e){e.push("start")}},{name:"EndTag",token:"meta.tag",next:function(e){e.pop(),e.pop()}}],AposAttr:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],QuotAttr:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],Pragma:[{name:"PragmaContents",token:h},{name:p("#"),token:h},{name:p("#)"),token:h,next:function(e){e.pop()}}],Comment:[{name:"CommentContents",token:"comment"},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p(":)"),token:"comment",next:function(e){e.pop()}}],CommentDoc:[{name:"DocCommentContents",token:"comment.doc"},{name:"DocTag",token:"comment.doc.tag"},{name:p("(:"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p(":)"),token:"comment.doc",next:function(e){e.pop()}}],XMLComment:[{name:"DirCommentContents",token:l},{name:p("-->"),token:l,next:function(e){e.pop()}}],CData:[{name:"CDataSectionContents",token:a},{name:p("]]>"),token:a,next:function(e){e.pop()}}],PI:[{name:"DirPIContents",token:c},{name:p("?"),token:c},{name:p("?>"),token:c,next:function(e){e.pop()}}],AposString:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposChar",token:"string"}],QuotString:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"JSONPredefinedCharRef",token:"constant.language.escape"},{name:"JSONCharRef",token:"constant.language.escape"},{name:"JSONChar",token:"string"}]};n.JSONiqLexer=function(){return new i(r,d)}},{"./JSONiqTokenizer":1,"./lexer":3}],3:[function(e,t,n){"use strict";var r=function(e){var t=e;this.tokens=[],this.reset=function(){t=t,this.tokens=[]},this.startNonterminal=function(){},this.endNonterminal=function(){},this.terminal=function(e,n,r){this.tokens.push({name:e,value:t.substring(n,r)})},this.whitespace=function(e,n){this.tokens.push({name:"WS",value:t.substring(e,n)})}};n.Lexer=function(e,t){this.tokens=[],this.getLineTokens=function(n,i){i=i==="start"||!i?'["start"]':i;var s=JSON.parse(i),o=new r(n),u=new e(n,o),a=[];for(;;){var f=s[s.length-1];try{o.tokens=[],u["parse_"+f]();var l=null;o.tokens.length>1&&o.tokens[0].name==="WS"&&(a.push({type:"text",value:o.tokens[0].value}),o.tokens.splice(0,1));var c=o.tokens[0],h=t[f];for(var p=0;p<h.length;p++){var d=t[f][p];if(typeof d.name=="function"&&d.name(c)||d.name===c.name){l=d;break}}if(c.name==="EOF")break;if(c.value==="")throw"Encountered empty string lexical rule.";a.push({type:l===null?"text":typeof l.token=="function"?l.token(c.value):l.token,value:c.value}),l&&l.next&&l.next(s)}catch(v){if(v instanceof u.ParseException){var m=0;for(var g=0;g<a.length;g++)m+=a[g].value.length;return a.push({type:"text",value:n.substring(m)}),{tokens:a,state:JSON.stringify(["start"])}}throw v}}return{tokens:a,state:JSON.stringify(s)}}}},{}]},{},[2])(2)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml","ace/token_iterator"],function(e,t,n){"use strict";function a(e,t){var n=!0,r=e.type.split("."),i=t.split(".");return i.forEach(function(e){if(r.indexOf(e)==-1)return n=!1,!1}),n}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../behaviour/xml").XmlBehaviour,u=e("../../token_iterator").TokenIterator,f=function(){this.inherit(s,["braces","parens","string_dquotes"]),this.inherit(o),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),o=new u(r,s.row,s.column),f=o.getCurrentToken(),l=!1,e=JSON.parse(e).pop();if(f&&f.value===">"||e!=="StartTag")return;if(!f||!a(f,"meta.tag")&&(!a(f,"text")||!f.value.match("/"))){do f=o.stepBackward();while(f&&(a(f,"string")||a(f,"keyword.operator")||a(f,"entity.attribute-name")||a(f,"text")))}else l=!0;var c=o.stepBackward();if(!f||!a(f,"meta.tag")||c!==null&&c.value.match("/"))return;var h=f.value.substring(1);if(l)var h=h.substring(0,s.column-f.start);return{text:"></"+h+">",selection:[1,1]}}})};r.inherits(f,i),t.XQueryBehaviour=f}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/jsoniq",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/xquery/jsoniq_lexer","ace/range","ace/mode/behaviour/xquery","ace/mode/folding/cstyle","ace/anchor"],function(e,t,n){"use strict";var r=e("../worker/worker_client").WorkerClient,i=e("../lib/oop"),s=e("./text").Mode,o=e("./text_highlight_rules").TextHighlightRules,u=e("./xquery/jsoniq_lexer").JSONiqLexer,a=e("../range").Range,f=e("./behaviour/xquery").XQueryBehaviour,l=e("./folding/cstyle").FoldMode,c=e("../anchor").Anchor,h=function(){this.$tokenizer=new u,this.$behaviour=new f,this.foldingRules=new l,this.$highlightRules=new o};i.inherits(h,s),function(){this.completer={getCompletions:function(e,t,n,r,i){if(!t.$worker)return i();t.$worker.emit("complete",{data:{pos:n,prefix:r}}),t.$worker.on("complete",function(e){i(null,e.data)})}},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=t.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return i&&(r+=n),r},this.checkOutdent=function(e,t,n){return/^\s+$/.test(t)?/^\s*[\}\)]/.test(n):!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^(\s*[\}\)])/);if(!i)return 0;var s=i[1].length,o=t.findMatchingBracket({row:n,column:s});if(!o||o.row==n)return 0;var u=this.$getIndent(t.getLine(o.row));t.replace(new a(n,0,n,s-1),u)},this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,u=/^\s*\(:(.*):\)/;for(i=n;i<=r;i++)if(!u.test(t.getLine(i))){o=!1;break}var f=new a(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(u)[1]:"(:"+s+":)")},this.createWorker=function(e){var t=new r(["ace"],"ace/mode/xquery_worker","XQueryWorker"),n=this;return t.attachToDocument(e.getDocument()),t.on("ok",function(t){e.clearAnnotations()}),t.on("markers",function(t){e.clearAnnotations(),n.addMarkers(t.data,e)}),t},this.removeMarkers=function(e){var t=e.getMarkers(!1);for(var n in t)t[n].clazz.indexOf("language_highlight_")===0&&e.removeMarker(n);for(var r=0;r<e.markerAnchors.length;r++)e.markerAnchors[r].detach();e.markerAnchors=[]},this.addMarkers=function(e,t){var n=this;t.markerAnchors||(t.markerAnchors=[]),this.removeMarkers(t),t.languageAnnos=[],e.forEach(function(e){function u(i){r&&t.removeMarker(r),o.row=n.row;if(e.pos.sc!==undefined&&e.pos.ec!==undefined){var s=new a(e.pos.sl,e.pos.sc,e.pos.el,e.pos.ec);r=t.addMarker(s,"language_highlight_"+(e.type?e.type:"default"))}i&&t.setAnnotations(t.languageAnnos)}var n=new c(t.getDocument(),e.pos.sl,e.pos.sc||0);t.markerAnchors.push(n);var r,i=e.pos.ec-e.pos.sc,s=e.pos.el-e.pos.sl,o={guttertext:e.message,type:e.level||"warning",text:e.message};u(),n.on("change",function(){u(!0)}),e.message&&t.languageAnnos.push(o)}),t.setAnnotations(t.languageAnnos)},this.$id="ace/mode/jsoniq"}.call(h.prototype),t.Mode=h}) \ No newline at end of file
diff --git a/library/ace/mode-jsp.js b/library/ace/mode-jsp.js
new file mode 100644
index 000000000..2065fc0f8
--- /dev/null
+++ b/library/ace/mode-jsp.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="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",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.JavaHighlightRules=o}),ace.define("ace/mode/jsp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/java_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./java_highlight_rules").JavaHighlightRules,o=function(){i.call(this);var e="request|response|out|session|application|config|pageContext|page|Exception",t="page|include|taglib",n=[{token:"comment",regex:"<%--",push:"jsp-dcomment"},{token:"meta.tag",regex:"<%@?|<%=?|<%!?|<jsp:[^>]+>",push:"jsp-start"}],r=[{token:"meta.tag",regex:"%>|<\\/jsp:[^>]+>",next:"pop"},{token:"variable.language",regex:e},{token:"keyword",regex:t}];for(var o in this.$rules)this.$rules[o].unshift.apply(this.$rules[o],n);this.embedRules(s,"jsp-",r,["start"]),this.addRules({"jsp-dcomment":[{token:"comment",regex:".*?--%>",next:"pop"}]}),this.normalizeRules()};r.inherits(o,i),t.JspHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/jsp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jsp_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./jsp_highlight_rules").JspHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.$id="ace/mode/jsp"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-jsx.js b/library/ace/mode-jsx.js
new file mode 100644
index 000000000..9e766e7b2
--- /dev/null
+++ b/library/ace/mode-jsx.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/jsx_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){var e=i.arrayToMap("break|do|instanceof|typeof|case|else|new|var|catch|finally|return|void|continue|for|switch|default|while|function|this|if|throw|delete|in|try|class|extends|super|import|from|into|implements|interface|static|mixin|override|abstract|final|number|int|string|boolean|variant|log|assert".split("|")),t=i.arrayToMap("null|true|false|NaN|Infinity|__FILE__|__LINE__|undefined".split("|")),n=i.arrayToMap("debugger|with|const|export|let|private|public|yield|protected|extern|native|as|operator|__fake__|__readonly__".split("|")),r="[a-zA-Z_][a-zA-Z0-9_]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},s.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:["storage.type","text","entity.name.function"],regex:"(function)(\\s+)("+r+")"},{token:function(r){return r=="this"?"variable.language":r=="function"?"storage.type":e.hasOwnProperty(r)||n.hasOwnProperty(r)?"keyword":t.hasOwnProperty(r)?"constant.language":/^_?[A-Z][a-zA-Z0-9_]*$/.test(r)?"language.support.class":"identifier"},regex:r},{token:"keyword.operator",regex:"!|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({<]"},{token:"paren.rparen",regex:"[\\])}>]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(u,o),t.JsxHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/jsx",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jsx_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";function f(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a}var r=e("../lib/oop"),i=e("./text").Mode,s=e("./jsx_highlight_rules").JsxHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode;r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/jsx"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-julia.js b/library/ace/mode-julia.js
new file mode 100644
index 000000000..d89593199
--- /dev/null
+++ b/library/ace/mode-julia.js
@@ -0,0 +1 @@
+ace.define("ace/mode/julia_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#function_decl"},{include:"#function_call"},{include:"#type_decl"},{include:"#keyword"},{include:"#operator"},{include:"#number"},{include:"#string"},{include:"#comment"}],"#bracket":[{token:"keyword.bracket.julia",regex:"\\(|\\)|\\[|\\]|\\{|\\}|,"}],"#comment":[{token:["punctuation.definition.comment.julia","comment.line.number-sign.julia"],regex:"(#)(?!\\{)(.*$)"}],"#function_call":[{token:["support.function.julia","text"],regex:"([a-zA-Z0-9_]+!?)([\\w\\xff-\\u218e\\u2455-\\uffff]*\\()"}],"#function_decl":[{token:["keyword.other.julia","meta.function.julia","entity.name.function.julia","meta.function.julia","text"],regex:"(function|macro)(\\s*)([a-zA-Z0-9_\\{]+!?)([\\w\\xff-\\u218e\\u2455-\\uffff]*)([(\\\\{])"}],"#keyword":[{token:"keyword.other.julia",regex:"\\b(?:function|type|immutable|macro|quote|abstract|bitstype|typealias|module|baremodule|new)\\b"},{token:"keyword.control.julia",regex:"\\b(?:if|else|elseif|while|for|in|begin|let|end|do|try|catch|finally|return|break|continue)\\b"},{token:"storage.modifier.variable.julia",regex:"\\b(?:global|local|const|export|import|importall|using)\\b"},{token:"variable.macro.julia",regex:"@[\\w\\xff-\\u218e\\u2455-\\uffff]+\\b"}],"#number":[{token:"constant.numeric.julia",regex:"\\b0(?:x|X)[0-9a-fA-F]*|(?:\\b[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]*)?(?:im)?|\\bInf(?:32)?\\b|\\bNaN(?:32)?\\b|\\btrue\\b|\\bfalse\\b"}],"#operator":[{token:"keyword.operator.update.julia",regex:"=|:=|\\+=|-=|\\*=|/=|//=|\\.//=|\\.\\*=|\\\\=|\\.\\\\=|^=|\\.^=|%=|\\|=|&=|\\$=|<<=|>>="},{token:"keyword.operator.ternary.julia",regex:"\\?|:"},{token:"keyword.operator.boolean.julia",regex:"\\|\\||&&|!"},{token:"keyword.operator.arrow.julia",regex:"->|<-|-->"},{token:"keyword.operator.relation.julia",regex:">|<|>=|<=|==|!=|\\.>|\\.<|\\.>=|\\.>=|\\.==|\\.!=|\\.=|\\.!|<:|:>"},{token:"keyword.operator.range.julia",regex:":"},{token:"keyword.operator.shift.julia",regex:"<<|>>"},{token:"keyword.operator.bitwise.julia",regex:"\\||\\&|~"},{token:"keyword.operator.arithmetic.julia",regex:"\\+|-|\\*|\\.\\*|/|\\./|//|\\.//|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^"},{token:"keyword.operator.isa.julia",regex:"::"},{token:"keyword.operator.dots.julia",regex:"\\.(?=[a-zA-Z])|\\.\\.+"},{token:"keyword.operator.interpolation.julia",regex:"\\$#?(?=.)"},{token:["variable","keyword.operator.transposed-variable.julia"],regex:"([\\w\\xff-\\u218e\\u2455-\\uffff]+)((?:'|\\.')*\\.?')"},{token:"text",regex:"\\[|\\("},{token:["text","keyword.operator.transposed-matrix.julia"],regex:"([\\]\\)])((?:'|\\.')*\\.?')"}],"#string":[{token:"punctuation.definition.string.begin.julia",regex:"'",push:[{token:"punctuation.definition.string.end.julia",regex:"'",next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.single.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:'"',push:[{token:"punctuation.definition.string.end.julia",regex:'"',next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.double.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:'\\b[\\w\\xff-\\u218e\\u2455-\\uffff]+"',push:[{token:"punctuation.definition.string.end.julia",regex:'"[\\w\\xff-\\u218e\\u2455-\\uffff]*',next:"pop"},{include:"#string_custom_escaped_char"},{defaultToken:"string.quoted.custom-double.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:"`",push:[{token:"punctuation.definition.string.end.julia",regex:"`",next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.backtick.julia"}]}],"#string_custom_escaped_char":[{token:"constant.character.escape.julia",regex:'\\\\"'}],"#string_escaped_char":[{token:"constant.character.escape.julia",regex:"\\\\(?:\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)"}],"#type_decl":[{token:["keyword.control.type.julia","meta.type.julia","entity.name.type.julia","entity.other.inherited-class.julia","punctuation.separator.inheritance.julia","entity.other.inherited-class.julia"],regex:"(type|immutable)(\\s+)([a-zA-Z0-9_]+)(?:(\\s*)(<:)(\\s*[.a-zA-Z0-9_:]+))?"},{token:["other.typed-variable.julia","support.type.julia"],regex:"([a-zA-Z0-9_]+)(::[a-zA-Z0-9_{}]+)"}]},this.normalizeRules()};s.metaData={fileTypes:["jl"],firstLineMatch:"^#!.*\\bjulia\\s*$",foldingStartMarker:"^\\s*(?:if|while|for|begin|function|macro|module|baremodule|type|immutable|let)\\b(?!.*\\bend\\b).*$",foldingStopMarker:"^\\s*(?:end)\\b.*$",name:"Julia",scopeName:"source.julia"},r.inherits(s,i),t.JuliaHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/julia",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/julia_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./julia_highlight_rules").JuliaHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.blockComment="",this.$id="ace/mode/julia"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-latex.js b/library/ace/mode-latex.js
new file mode 100644
index 000000000..e7475214f
--- /dev/null
+++ b/library/ace/mode-latex.js
@@ -0,0 +1 @@
+ace.define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"%.*$"},{token:["keyword","lparen","variable.parameter","rparen","lparen","storage.type","rparen"],regex:"(\\\\(?:documentclass|usepackage|input))(?:(\\[)([^\\]]*)(\\]))?({)([^}]*)(})"},{token:["keyword","lparen","variable.parameter","rparen"],regex:"(\\\\(?:label|v?ref|cite(?:[^{]*)))(?:({)([^}]*)(}))?"},{token:["storage.type","lparen","variable.parameter","rparen"],regex:"(\\\\(?:begin|end))({)(\\w*)(})"},{token:"storage.type",regex:"\\\\[a-zA-Z]+"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"constant.character.escape",regex:"\\\\[^a-zA-Z]?"},{token:"string",regex:"\\${1,2}",next:"equation"}],equation:[{token:"comment",regex:"%.*$"},{token:"string",regex:"\\${1,2}",next:"start"},{token:"constant.character.escape",regex:"\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"},{token:"error",regex:"^\\s*$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.LatexHighlightRules=s}),ace.define("ace/mode/folding/latex",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/^\s*\\(begin)|(section|subsection|paragraph)\b|{\s*$/,this.foldingStopMarker=/^\s*\\(end)\b|^\s*}/,this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.latexBlock(e,n,i[0].length-1):i[2]?this.latexSection(e,n,i[0].length-1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[1]?this.latexBlock(e,n,i[0].length-1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.latexBlock=function(e,t,n){var r={"\\begin":1,"\\end":-1},i=new o(e,t,n),u=i.getCurrentToken();if(!u||u.type!="storage.type"&&u.type!="constant.character.escape")return;var a=u.value,f=r[a],l=function(){var e=i.stepForward(),t=e.type=="lparen"?i.stepForward().value:"";return f===-1&&(i.stepBackward(),t&&i.stepBackward()),t},c=[l()],h=f===-1?i.getCurrentTokenColumn():e.getLine(t).length,p=t;i.step=f===-1?i.stepBackward:i.stepForward;while(u=i.step()){if(!u||u.type!="storage.type"&&u.type!="constant.character.escape")continue;var d=r[u.value];if(!d)continue;var v=l();if(d===f)c.unshift(v);else if(c.shift()!==v||!c.length)break}if(c.length)return;var t=i.getCurrentTokenRow();return f===-1?new s(t,e.getLine(t).length,p,h):(i.stepBackward(),new s(p,h,t,i.getCurrentTokenColumn()))},this.latexSection=function(e,t,n){var r=["\\subsection","\\section","\\begin","\\end","\\paragraph"],i=new o(e,t,n),u=i.getCurrentToken();if(!u||u.type!="storage.type")return;var a=r.indexOf(u.value),f=0,l=t;while(u=i.stepForward()){if(u.type!=="storage.type")continue;var c=r.indexOf(u.value);if(c>=2){f||(l=i.getCurrentTokenRow()-1),f+=c==2?1:-1;if(f<0)break}else if(c>=a)break}f||(l=i.getCurrentTokenRow()-1);while(l>t&&!/\S/.test(e.getLine(l)))l--;return new s(t,e.getLine(t).length,l,e.getLine(l).length)}}.call(u.prototype)}),ace.define("ace/mode/latex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/latex_highlight_rules","ace/mode/folding/latex","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./latex_highlight_rules").LatexHighlightRules,o=e("./folding/latex").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(a,i),function(){this.type="text",this.lineCommentStart="%",this.$id="ace/mode/latex"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-lean.js b/library/ace/mode-lean.js
new file mode 100644
index 000000000..1ecbf7c8c
--- /dev/null
+++ b/library/ace/mode-lean.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/lean_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=["add_rewrite","alias","as","assume","attribute","begin","by","calc","calc_refl","calc_subst","calc_trans","check","classes","coercions","conjecture","constants","context","corollary","else","end","environment","eval","example","exists","exit","export","exposing","extends","fields","find_decl","forall","from","fun","have","help","hiding","if","import","in","infix","infixl","infixr","instances","let","local","match","namespace","notation","obtain","obtains","omit","opaque","open","options","parameter","parameters","postfix","precedence","prefix","premise","premises","print","private","proof","protected","qed","raw","renaming","section","set_option","show","tactic_hint","take","then","universe","universes","using","variable","variables","with"].join("|"),t=["inductive","structure","record","theorem","axiom","axioms","lemma","hypothesis","definition","constant"].join("|"),n=["Prop","Type","Type'","Type\u208a","Type\u2081","Type\u2082","Type\u2083"].join("|"),r="\\[("+["abbreviations","all-transparent","begin-end-hints","class","classes","coercion","coercions","declarations","decls","instance","irreducible","multiple-instances","notation","notations","parsing-only","persistent","reduce-hints","reducible","tactic-hints","visible","wf","whnf"].join("|")+")\\]",s=[].join("|"),o=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":n,"keyword.operator":s,"variable.language":"sorry"},"identifier"),u="[A-Za-z_\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2100-\u214f][A-Za-z0-9_'\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2070-\u2079\u207f-\u2089\u2090-\u209c\u2100-\u214f]*",a=new RegExp(["#","@","->","\u223c","\u2194","/","==","=",":=","<->","/\\","\\/","\u2227","\u2228","\u2260","<",">","\u2264","\u2265","\u00ac","<=",">=","\u207b\u00b9","\u2b1d","\u25b8","\\+","\\*","-","/","\u03bb","\u2192","\u2203","\u2200",":="].join("|"));this.$rules={start:[{token:"comment",regex:"--.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/-",next:"comment"},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"constant.language.escape",regex:/\\[n"\\]/},{defaultToken:"string"}]},{token:"keyword.control",regex:t,next:[{token:"variable.language",regex:u,next:"start"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"storage.modifier",regex:r},{token:o,regex:u},{token:"operator",regex:a},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"-/",next:"start"},{defaultToken:"comment"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(o,s),t.leanHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/lean",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lean_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lean_highlight_rules").leanHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(a,i),function(){this.lineCommentStart="--",this.blockComment={start:"/-",end:"-/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="- ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/lean"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-less.js b/library/ace/mode-less.js
new file mode 100644
index 000000000..79f2fe07f
--- /dev/null
+++ b/library/ace/mode-less.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./css_highlight_rules"),o=function(){var e="@import|@media|@font-face|@keyframes|@-webkit-keyframes|@supports|@charset|@plugin|@namespace|@document|@page|@viewport|@-ms-viewport|or|and|when|not",t=e.split("|"),n=s.supportType.split("|"),r=this.createKeywordMapper({"support.constant":s.supportConstant,keyword:e,"support.constant.color":s.supportConstantColor,"support.constant.fonts":s.supportConstantFonts},"identifier",!0),i="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+i+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:i},{token:["support.function","paren.lparen","string","paren.rparen"],regex:"(url)(\\()(.*)(\\))"},{token:["support.function","paren.lparen"],regex:"(:extend|[a-z0-9_\\-]+)(\\()"},{token:function(e){return t.indexOf(e.toLowerCase())>-1?"keyword":"variable"},regex:"[@\\$][a-z0-9_\\-@\\$]*\\b"},{token:"variable",regex:"[@\\$]\\{[a-z0-9_\\-@\\$]*\\}"},{token:function(e,t){return n.indexOf(e.toLowerCase())>-1?["support.type.property","text"]:["support.type.unknownProperty","text"]},regex:"([a-z0-9-_]+)(\\s*:)"},{token:"keyword",regex:"&"},{token:r,regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z_][a-z0-9-_]*"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|=|!=|-|%|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(o,i),t.LessHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/css_completions","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./less_highlight_rules").LessHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./css_completions").CssCompletions,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.$completer=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions("ruleset",t,n,r)},this.$id="ace/mode/less"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-liquid.js b/library/ace/mode-liquid.js
new file mode 100644
index 000000000..30eced32a
--- /dev/null
+++ b/library/ace/mode-liquid.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/liquid_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=function(){s.call(this);var e="date|capitalize|downcase|upcase|first|last|join|sort|map|size|escape|escape_once|strip_html|strip_newlines|newline_to_br|replace|replace_first|truncate|truncatewords|prepend|append|minus|plus|times|divided_by|split",t="capture|endcapture|case|endcase|when|comment|endcomment|cycle|for|endfor|in|reversed|if|endif|else|elsif|include|endinclude|unless|endunless|style|text|image|widget|plugin|marker|endmarker|tablerow|endtablerow",n="forloop|tablerowloop",r="assign",i=this.createKeywordMapper({"variable.language":n,keyword:t,"support.function":e,"keyword.definition":r},"identifier");for(var o in this.$rules)this.$rules[o].unshift({token:"variable",regex:"{%",push:"liquid-start"},{token:"variable",regex:"{{",push:"liquid-start"});this.addRules({"liquid-start":[{token:"variable",regex:"}}",next:"pop"},{token:"variable",regex:"%}",next:"pop"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"/|\\*|\\-|\\+|=|!=|\\?\\:"},{token:"paren.lparen",regex:/[\[\({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"text",regex:"\\s+"}]}),this.normalizeRules()};r.inherits(o,i),t.LiquidHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/liquid",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/liquid_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./liquid_highlight_rules").LiquidHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(a,i),function(){this.blockComment={start:"<!--",end:"-->"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/liquid"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-lisp.js b/library/ace/mode-lisp.js
new file mode 100644
index 000000000..830ec74cc
--- /dev/null
+++ b/library/ace/mode-lisp.js
@@ -0,0 +1 @@
+ace.define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq|neq|and|or",n="null|nil",r="cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.lisp","text","entity.name.function.lisp"],regex:"(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:["punctuation.definition.constant.character.lisp","constant.character.lisp"],regex:"(#)((?:\\w|[\\\\+-=<>'\"&#])+)"},{token:["punctuation.definition.variable.lisp","variable.other.global.lisp","punctuation.definition.variable.lisp"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.lisp",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}]}};r.inherits(s,i),t.LispHighlightRules=s}),ace.define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lisp_highlight_rules").LispHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart=";",this.$id="ace/mode/lisp"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-live_script.js b/library/ace/mode-live_script.js
new file mode 100644
index 000000000..5248253c0
--- /dev/null
+++ b/library/ace/mode-live_script.js
@@ -0,0 +1 @@
+ace.define("ace/mode/live_script_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"punctuation.definition.comment.livescript",regex:"\\/\\*",push:[{token:"punctuation.definition.comment.livescript",regex:"\\*\\/",next:"pop"},{token:"storage.type.annotation.livescriptscript",regex:"@\\w*"},{defaultToken:"comment.block.livescript"}]},{token:["punctuation.definition.comment.livescript","comment.line.number-sign.livescript"],regex:"(#)(?!\\{)(.*$)"},{token:["variable.parameter.function.livescript","meta.inline.function.livescript","storage.type.function.livescript","meta.inline.function.livescript","variable.parameter.function.livescript","meta.inline.function.livescript","storage.type.function.livescript"],regex:"(\\s*\\!?\\(\\s*[^()]*?\\))(\\s*)(!?[~-]{1,2}>)|(\\s*\\!?)(\\(?[^()]*?\\)?)(\\s*)(<[~-]{1,2}!?)",comment:"match stuff like: a -> \u2026 "},{token:["keyword.operator.new.livescript","meta.class.instance.constructor","entity.name.type.instance.livescript"],regex:"(new)(\\s+)(\\w+(?:\\.\\w*)*)"},{token:"keyword.illegal.livescript",regex:"\\bp(?:ackage|r(?:ivate|otected)|ublic)|interface|enum|static|yield\\b"},{token:"punctuation.definition.string.begin.livescript",regex:"'''",push:[{token:"punctuation.definition.string.end.livescript",regex:"'''",next:"pop"},{defaultToken:"string.quoted.heredoc.livescript"}]},{token:"punctuation.definition.string.begin.livescript",regex:'"""',push:[{token:"punctuation.definition.string.end.livescript",regex:'"""',next:"pop"},{token:"constant.character.escape.livescript",regex:"\\\\."},{include:"#interpolated_livescript"},{defaultToken:"string.quoted.double.heredoc.livescript"}]},{token:"punctuation.definition.string.begin.livescript",regex:"``",push:[{token:"punctuation.definition.string.end.livescript",regex:"``",next:"pop"},{token:"constant.character.escape.livescript",regex:"\\\\(?:x[\\da-fA-F]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{defaultToken:"string.quoted.script.livescript"}]},{token:"string.array-literal.livescript",regex:"<\\[",push:[{token:"string.array-literal.livescript",regex:"\\]>",next:"pop"},{defaultToken:"string.array-literal.livescript"}]},{token:"string.regexp.livescript",regex:"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{token:"string.regexp.livescript",regex:"/{2}$",push:[{token:"string.regexp.livescript",regex:"/{2}[imgy]{0,4}",next:"pop"},{include:"#embedded_spaced_comment"},{include:"#interpolated_livescript"},{defaultToken:"string.regexp.livescript"}]},{token:"string.regexp.livescript",regex:"/{2}",push:[{token:"string.regexp.livescript",regex:"/{2}[imgy]{0,4}",next:"pop"},{token:"constant.character.escape.livescript",regex:"\\\\(?:x[\\da-fA-F]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{include:"#interpolated_livescript"},{defaultToken:"string.regexp.livescript"}]},{token:"string.regexp.livescript",regex:"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{token:"keyword.control.livescript",regex:"\\b(?<![\\.\\$\\-])(?:t(?:h(?:is|row|en)|ry|ypeof!?|il|o)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction|rom|allthrough)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith|hen)|o(?:f|r|therwise)|return|break|let|var|loop|match|by)(?!\\-|\\s*:)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)\n \\b(?<![\\.\\$\\-])(?:\n t(?:h(?:is|row|en)|ry|ypeof!?|il|o)\n |c(?:on(?:tinue|st)|a(?:se|tch)|lass)\n |i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])\n |d(?:e(?:fault|lete|bugger)|o)\n |f(?:or(?:\\s+own)?|inally|unction|rom|allthrough)\n |s(?:uper|witch)\n |e(?:lse|x(?:tends|port)|val)\n |a(?:nd|rguments)\n |n(?:ew|ot)\n |un(?:less|til)\n |w(?:hile|ith|hen)\n |o(?:f|r|therwise)\n |return|break|let|var|loop\n |match\n |by\n )(?!\\-|\\s*:)\\b\n "},{token:"keyword.operator.livescript",regex:"\\b(?<![\\.\\$\\-])(?:instanceof|new|delete|typeof|and|or|is|isnt|not)(?!\\-|\\s*:)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)\n \\b(?<![\\.\\$\\-])(\n instanceof|new|delete|typeof|and|or|is|isnt|not\n )(?!\\-|\\s*:)\\b\n "},{token:"keyword.operator.livescript",regex:"and=|or=|%|&|\\^|\\*|\\/|(?<![a-zA-Z$_])(?:\\-)?\\-(?!\\-?>)|\\+\\+|\\+|~(?!~?>)|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<(?!\\[)|(?<!\\])>|(?<!\\w)!(?!(?:[~\\-]+)?>)|&&|\\.\\.(?:\\.)?|\\s\\.\\s|\\?|\\||\\|\\||\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|\\.=|&=|\\(\\.|\\.\\)|\\^=",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)\n and=|or=|%|&|\\^|\\*|\\/|(?<![a-zA-Z$_])(\\-)?\\-(?!\\-?>)|\\+\\+|\\+|\n ~(?!~?>)|==|=|!=|<=|>=|<<=|>>=|\n >>>=|<>|<(?!\\[)|(?<!\\])>|(?<!\\w)!(?!([~\\-]+)?>)|&&|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\||\\|\\||\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|\\.=|&=|\\(\\.|\\.\\)|\n \\^=\n "},{token:["variable.assignment.livescript","variable.assignment.livescript","variable.assignment.livescript","punctuation.separator.key-value","keyword.operator.livescript","variable.assignment.livescript"],regex:"([a-zA-Z\\$_])((?:[\\w$.-])*)(\\s*)(?!\\::)(?:(:)|(=))(\\s*)(?!(?:\\s*!?\\s*\\(.*\\))?\\s*!?[~-]{1,2}>)"},{token:"keyword.operator.livescript",regex:"(?<=\\s|^)[\\[\\{](?=.*?[\\]\\}]\\s+[:=])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])",push:[{token:"keyword.operator.livescript",regex:"[\\]\\}]\\s*[:=]",next:"pop"},{include:"#variable_name"},{include:"#instance_variable"},{include:"#single_quoted_string"},{include:"#double_quoted_string"},{include:"#numeric"},{defaultToken:"meta.variable.assignment.destructured.livescript"}]},{token:["meta.function.livescript","entity.name.function.livescript","entity.name.function.livescript","entity.name.function.livescript","entity.name.function.livescript","variable.parameter.function.livescript","entity.name.function.livescript","storage.type.function.livescript"],regex:"(\\s*)(?=[a-zA-Z\\$_])([a-zA-Z\\$_])((?:[\\w$.:-])*)(\\s*)([:=])((?:\\s*!?\\s*\\(.*\\))?)(\\s*)(!?[~-]{1,2}>)"},{token:"storage.type.function.livescript",regex:"!?[~-]{1,2}>"},{token:"constant.language.boolean.true.livescript",regex:"\\b(?<!\\.)(?:true|on|yes)(?!\\s*[:=])\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(?<!\\.)(true|on|yes)(?!\\s*[:=])\\b"},{token:"constant.language.boolean.false.livescript",regex:"\\b(?<!\\.)(?:false|off|no)(?!\\s*[:=])\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(?<!\\.)(false|off|no)(?!\\s*[:=])\\b"},{token:"constant.language.null.livescript",regex:"\\b(?<!\\.)(?:null|void)(?!\\s*[:=])\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(?<!\\.)(null|void)(?!\\s*[:=])\\b"},{token:"variable.language.livescript",regex:"\\b(?<!\\.)(?:super|this|extends)(?!\\s*[:=])\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(?<!\\.)(super|this|extends)(?!\\s*[:=])\\b"},{token:["storage.type.class.livescript","meta.class.livescript","entity.name.type.class.livescript","meta.class.livescript","keyword.control.inheritance.livescript","meta.class.livescript","entity.other.inherited-class.livescript"],regex:"(class\\b)(\\s+)((?:@?[a-zA-Z$_][\\w$.-]*)?)(?:(\\s+)(extends)(\\s+)(@?[a-zA-Z$_][\\w$.-]*))?"},{token:"keyword.other.livescript",regex:"\\b(?:debugger|\\\\)\\b"},{token:"support.class.livescript",regex:"\\b(?:Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|Int(?:8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(?:8|16|32|64)Array|XMLHttpRequest)\\b"},{token:"entity.name.type.object.livescript",regex:"\\bconsole\\b"},{token:"support.function.console.livescript",regex:"(?<=console\\.)(?:debug|warn|info|log|error|time(?:End|-end)|assert)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"((?<=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{token:"support.function.livescript",regex:"\\b(?:decodeURI(?:Component)?|encodeURI(?:Component)?|eval|parse(?:Float|Int)|require)\\b"},{token:"support.function.prelude.livescript",regex:"(?<![.-])\\b(?:map|filter|reject|partition|find|each|head|tail|last|initial|empty|values|keys|length|cons|append|join|reverse|fold(?:l|r)?1?|unfoldr|and(?:List|-list)|or(?:List|-list)|any|all|unique|sum|product|mean|compact|concat(?:Map|-map)?|maximum|minimum|scan(?:l|r)?1?|replicate|slice|apply|split(?:At|-at)?|take(?:While|-while)?|drop(?:While|-while)?|span|first|break(?:It|-it)|list(?:ToObj|-to-obj)|obj(?:ToFunc|-to-func)|pairs(?:ToObj|-to-obj)|obj(?:ToPairs|-to-pairs|ToLists|-to-lists)|zip(?:All|-all)?(?:With|-with)?|compose|curry|partial|flip|fix|sort(?:With|-with|By|-by)?|group(?:By|-by)|break(?:List|-list|Str|-str)|difference|intersection|union|average|flatten|chars|unchars|repeat|lines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|recip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|round|ceiling|floor|is(?:It|-it)NaN|even|odd|gcd|lcm|disabled__id)\\b(?![.-])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)(?<![.-])\\b(\n map|filter|reject|partition|find|each|head|tail|last|initial|empty|\n values|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n and(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n concat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n split(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n break(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n pairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n zip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n sort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n difference|intersection|union|average|flatten|chars|unchars|repeat|\n lines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n recip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n round|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n )\\b(?![.-])",comment:'Generated by DOM query from http://gkz.github.com/prelude-ls/:\n [].slice\n .call(document.querySelectorAll(".nav-pills li a"))\n .map(function(_) {return _.innerText})\n .filter(function(_) {return _.trim() !== \'})\n .slice(2)\n .join("|")\n '},{token:"support.function.semireserved.livescript",regex:"(?<![.-])\\b(?:that|it|e)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)(?<![.-])\\b(that|it|e)\\b"},{token:"support.function.method.array.livescript",regex:"(?<=(?:\\.|\\]|\\)))(?:apply|call|concat|every|filter|for(?:Each|-each)|from|has(?:Own|-own)(?:Property|-property)|index(?:Of|-of)|is(?:Prototype|-prototype)(?:Of|-of)|join|last(?:Index|-index)(?:Of|-of)|map|of|pop|property(?:Is|-is)(?:Enumerable|-enumerable)|push|reduce(?:Right|-right)?|reverse|shift|slice|some|sort|splice|to(?:Locale|-locale)?(?:String|-string)|unshift|valueOf)\\b(?!-)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)((?<=(\\.|\\]|\\)))(\n apply|call|concat|every|filter|for(Each|-each)|\n from|has(Own|-own)(Property|-property)|index(Of|-of)|\n is(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n map|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n reduce(Right|-right)?|reverse|shift|slice|some|sort|\n splice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n ))\\b(?!-) "},{token:"support.function.static.array.livescript",regex:"(?<=Array\\.)isArray\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)((?<=Array\\.)(\n isArray\n ))\\b"},{token:"support.function.static.object.livescript",regex:"(?<=Object\\.)(?:create|ace.define(?:Propert|-propert)(?:ies|y)|freeze|get(?:Own|-own)(?:Property|-property)(?:Descriptors?|Names)|get(?:Property|-property)(?:Descriptor|Names)|getPrototypeOf|is(?:(?:Extensible|-extensible)|(?:Frozen|-frozen)|(?:Sealed|-sealed))?|keys|prevent(?:Extensions|-extensions)|seal)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)((?<=Object\\.)(\n create|ace.define(Propert|-propert)(ies|y)|freeze|\n get(Own|-own)(Property|-property)(Descriptors?|Names)|\n get(Property|-property)(Descriptor|Names)|getPrototypeOf|\n is((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n keys|prevent(Extensions|-extensions)|seal\n ))\\b"},{token:"support.function.static.math.livescript",regex:"(?<=Math\\.)(?:abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)((?<=Math\\.)(\n abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n tan|tanh|trunc\n ))\\b"},{token:"support.function.static.number.livescript",regex:"(?<=Number\\.)(?:is(?:Finite|Integer|NaN)|to(?:Integer|-integer))\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?x)((?<=Number\\.)(\n is(Finite|Integer|NaN)|to(Integer|-integer)\n ))\\b"},{token:"constant.language.livescript",regex:"\\b(?:Infinity|NaN|undefined)\\b"},{token:"punctuation.terminator.statement.livescript",regex:"\\;"},{token:"meta.delimiter.object.comma.livescript",regex:",[ |\\t]*"},{token:"meta.delimiter.method.period.livescript",regex:"\\."},{token:"meta.brace.curly.livescript",regex:"\\{|\\}"},{token:"meta.brace.round.livescript",regex:"\\(|\\)"},{token:"meta.brace.square.livescript",regex:"\\[|\\]\\s*"},{include:"#instance_variable"},{include:"#backslash_string"},{include:"#single_quoted_string"},{include:"#double_quoted_string"},{include:"#numeric"}],"#backslash_string":[{token:"string.quoted.single.livescript",regex:"\\\\(?:[\\\\)\\s,\\};\\]])?",push:[{token:"punctuation.definition.string.end.livescript",regex:"[\\\\)\\s,\\};\\]]",next:"pop"},{defaultToken:"string.quoted.single.livescript"}]}],"#double_quoted_string":[{token:"punctuation.definition.string.begin.livescript",regex:'"',push:[{token:"punctuation.definition.string.end.livescript",regex:'"',next:"pop"},{token:"constant.character.escape.livescript",regex:"\\\\(?:x[\\da-fA-F]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{include:"#interpolated_livescript"},{defaultToken:"string.quoted.double.livescript"}]}],"#embedded_comment":[{token:["punctuation.definition.comment.livescript","comment.line.number-sign.livescript"],regex:"(?<!\\\\)(#)(.*$)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\\\)(#).*$\\n"}],"#embedded_spaced_comment":[{token:["punctuation.definition.comment.livescript","comment.line.number-sign.livescript"],regex:"(?<!\\\\)(#\\s)(.*$)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\\\)(#\\s).*$\\n"}],"#constructor_variable":[{token:"variable.other.readwrite.constructor.livescript",regex:"[a-zA-Z$_][\\w$-]*@{2}(?:[a-zA-Z$_][\\w$-]*)?"}],"#instance_variable":[{token:"variable.other.readwrite.instance.livescript",regex:"(?<!\\S)@(?:[a-zA-Z$_][\\w$-]*)?",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\S)(@)([a-zA-Z$_][\\w$-]*)?"}],"#interpolated_livescript":[{todo:{token:"punctuation.section.embedded.livescript",regex:"\\#\\{",push:[{token:"punctuation.section.embedded.livescript",regex:"\\}",next:"pop"},{include:"$self"},{defaultToken:"source.livescript.embedded.source"}]}},{todo:{token:"source.livescript.embedded.source.simple",regex:"\\#",push:[{token:"source.livescript.embedded.source.simple",regex:"",next:"pop"},{include:"$self"},{defaultToken:"source.livescript.embedded.source.simple"}]}}],"#numeric":[{token:"constant.numeric.livescript",regex:"(?<![\\$@a-zA-Z_])(?:[0-9]+r[0-9_]+|(?:16r|0[xX])[0-9a-fA-F_]+|[0-9]+(?:\\.[0-9_]+)?(?:e[+\\-]?[0-9_]+)?[_a-zA-Z]*)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9_]+)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z]*)"}],"#single_quoted_string":[{token:"punctuation.definition.string.begin.livescript",regex:"'",push:[{token:"punctuation.definition.string.end.livescript",regex:"'",next:"pop"},{token:"constant.character.escape.livescript",regex:"\\\\(?:x[\\da-fA-F]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{defaultToken:"string.quoted.single.livescript"}]}],"#variable_name":[{token:"variable.assignment.livescript",regex:"[a-zA-Z\\$_][\\w$-]*(?:\\.\\w+)*(?!\\-)"}]},this.normalizeRules()};s.metaData={comment:"LiveScript Syntax: version 1",fileTypes:["ls","Slakefile","ls.erb"],firstLineMatch:"^#!.*\\bls",foldingStartMarker:"^\\s*class\\s+\\S.*$|.*(->|=>)\\s*$|.*[\\[{]\\s*$",foldingStopMarker:"^\\s*$|^\\s*[}\\]]\\s*$",keyEquivalent:"^~C",name:"LiveScript",scopeName:"source.livescript"},r.inherits(s,i),t.LiveScriptHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/live_script",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/live_script_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./live_script_highlight_rules").LiveScriptHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/live_script"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-livescript.js b/library/ace/mode-livescript.js
new file mode 100644
index 000000000..ecb5332ec
--- /dev/null
+++ b/library/ace/mode-livescript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/livescript",["require","exports","module","ace/tokenizer","ace/mode/matching_brace_outdent","ace/mode/text"],function(e,t,n){function u(e,t){function n(){}return n.prototype=(e.superclass=t).prototype,(e.prototype=new n).constructor=e,typeof t.extended=="function"&&t.extended(e),e}function a(e,t){var n={}.hasOwnProperty;for(var r in t)n.call(t,r)&&(e[r]=t[r]);return e}var r,i,s,o;r="(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*",t.Mode=i=function(t){function o(){var t;this.$tokenizer=new(e("../tokenizer").Tokenizer)(o.Rules);if(t=e("../mode/matching_brace_outdent"))this.$outdent=new t.MatchingBraceOutdent;this.$id="ace/mode/livescript"}var n,i=u((a(o,t).displayName="LiveScriptMode",o),t).prototype,s=o;return n=RegExp("(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+r+")?))\\s*$"),i.getNextLineIndent=function(e,t,r){var i,s;return i=this.$getIndent(t),s=this.$tokenizer.getLineTokens(t,e).tokens,(!s.length||s[s.length-1].type!=="comment")&&e==="start"&&n.test(t)&&(i+=r),i},i.lineCommentStart="#",i.blockComment={start:"###",end:"###"},i.checkOutdent=function(e,t,n){var r;return(r=this.$outdent)!=null?r.checkOutdent(t,n):void 8},i.autoOutdent=function(e,t,n){var r;return(r=this.$outdent)!=null?r.autoOutdent(t,n):void 8},o}(e("../mode/text").Mode),s="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",o={defaultToken:"string"},i.Rules={start:[{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+s},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+s},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+s},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+s},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+s},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+s},{token:"identifier",regex:r+"\\s*:(?![:=])"},{token:"variable",regex:r},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"[\\^!|&%+\\-]+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{defaultToken:"string.regex"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:r,next:"start"},{token:"text",regex:"",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{defaultToken:"comment.doc"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},o],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},o],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},o],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},o],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},o],words:[{token:"string",regex:".*?\\]>",next:"key"},o]}}) \ No newline at end of file
diff --git a/library/ace/mode-logiql.js b/library/ace/mode-logiql.js
new file mode 100644
index 000000000..7dc27f075
--- /dev/null
+++ b/library/ace/mode-logiql.js
@@ -0,0 +1 @@
+ace.define("ace/mode/logiql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.block",regex:"/\\*",push:[{token:"comment.block",regex:"\\*/",next:"pop"},{defaultToken:"comment.block"}]},{token:"comment.single",regex:"//.*"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?[fd]?"},{token:"string",regex:'"',push:[{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"constant.language",regex:"\\b(true|false)\\b"},{token:"entity.name.type.logicblox",regex:"`[a-zA-Z_:]+(\\d|\\a)*\\b"},{token:"keyword.start",regex:"->",comment:"Constraint"},{token:"keyword.start",regex:"-->",comment:"Level 1 Constraint"},{token:"keyword.start",regex:"<-",comment:"Rule"},{token:"keyword.start",regex:"<--",comment:"Level 1 Rule"},{token:"keyword.end",regex:"\\.",comment:"Terminator"},{token:"keyword.other",regex:"!",comment:"Negation"},{token:"keyword.other",regex:",",comment:"Conjunction"},{token:"keyword.other",regex:";",comment:"Disjunction"},{token:"keyword.operator",regex:"<=|>=|!=|<|>",comment:"Equality"},{token:"keyword.other",regex:"@",comment:"Equality"},{token:"keyword.operator",regex:"\\+|-|\\*|/",comment:"Arithmetic operations"},{token:"keyword",regex:"::",comment:"Colon colon"},{token:"support.function",regex:"\\b(agg\\s*<<)",push:[{include:"$self"},{token:"support.function",regex:">>",next:"pop"}]},{token:"storage.modifier",regex:"\\b(lang:[\\w:]*)"},{token:["storage.type","text"],regex:"(export|sealed|clauses|block|alias|alias_all)(\\s*\\()(?=`)"},{token:"entity.name",regex:"[a-zA-Z_][a-zA-Z_0-9:]*(@prev|@init|@final)?(?=(\\(|\\[))"},{token:"variable.parameter",regex:"([a-zA-Z][a-zA-Z_0-9]*|_)\\s*(?=(,|\\.|<-|->|\\)|\\]|=))"}]},this.normalizeRules()};r.inherits(s,i),t.LogiQLHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/logiql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/logiql_highlight_rules","ace/mode/folding/coffee","ace/token_iterator","ace/range","ace/mode/behaviour/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./logiql_highlight_rules").LogiQLHighlightRules,o=e("./folding/coffee").FoldMode,u=e("../token_iterator").TokenIterator,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./matching_brace_outdent").MatchingBraceOutdent,c=function(){this.HighlightRules=s,this.foldingRules=new o,this.$outdent=new l,this.$behaviour=new f};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(/comment|string/.test(o))return r;if(s.length&&s[s.length-1].type=="comment.single")return r;var u=t.match();return/(-->|<--|<-|->|{)\s*$/.test(t)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)?!0:n!=="\n"&&n!=="\r\n"?!1:/^\s+/.test(t)?!0:!1},this.autoOutdent=function(e,t,n){if(this.$outdent.autoOutdent(t,n))return;var r=t.getLine(n),i=r.match(/^\s+/),s=r.lastIndexOf(".")+1;if(!i||!n||!s)return 0;var o=t.getLine(n+1),u=this.getMatching(t,{row:n,column:s});if(!u||u.start.row==n)return 0;s=i[0].length;var f=this.$getIndent(t.getLine(u.start.row));t.replace(new a(n+1,0,n+1,s),f)},this.getMatching=function(e,t,n){t==undefined&&(t=e.selection.lead),typeof t=="object"&&(n=t.column,t=t.row);var r=e.getTokenAt(t,n),i="keyword.start",s="keyword.end",o;if(!r)return;if(r.type==i){var f=new u(e,t,n);f.step=f.stepForward}else{if(r.type!=s)return;var f=new u(e,t,n);f.step=f.stepBackward}while(o=f.step())if(o.type==i||o.type==s)break;if(!o||o.type==r.type)return;var l=f.getCurrentTokenColumn(),t=f.getCurrentTokenRow();return new a(t,l,t,l+o.value.length)},this.$id="ace/mode/logiql"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/library/ace/mode-lsl.js b/library/ace/mode-lsl.js
new file mode 100644
index 000000000..2e7f873bc
--- /dev/null
+++ b/library/ace/mode-lsl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/lsl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function s(){var e=this.createKeywordMapper({"constant.language.float.lsl":"DEG_TO_RAD|PI|PI_BY_TWO|RAD_TO_DEG|SQRT2|TWO_PI","constant.language.integer.lsl":"ACTIVE|AGENT|AGENT_ALWAYS_RUN|AGENT_ATTACHMENTS|AGENT_AUTOPILOT|AGENT_AWAY|AGENT_BUSY|AGENT_BY_LEGACY_NAME|AGENT_BY_USERNAME|AGENT_CROUCHING|AGENT_FLYING|AGENT_IN_AIR|AGENT_LIST_PARCEL|AGENT_LIST_PARCEL_OWNER|AGENT_LIST_REGION|AGENT_MOUSELOOK|AGENT_ON_OBJECT|AGENT_SCRIPTED|AGENT_SITTING|AGENT_TYPING|AGENT_WALKING|ALL_SIDES|ANIM_ON|ATTACH_AVATAR_CENTER|ATTACH_BACK|ATTACH_BELLY|ATTACH_CHEST|ATTACH_CHIN|ATTACH_HEAD|ATTACH_HUD_BOTTOM|ATTACH_HUD_BOTTOM_LEFT|ATTACH_HUD_BOTTOM_RIGHT|ATTACH_HUD_CENTER_1|ATTACH_HUD_CENTER_2|ATTACH_HUD_TOP_CENTER|ATTACH_HUD_TOP_LEFT|ATTACH_HUD_TOP_RIGHT|ATTACH_LEAR|ATTACH_LEFT_PEC|ATTACH_LEYE|ATTACH_LFOOT|ATTACH_LHAND|ATTACH_LHIP|ATTACH_LLARM|ATTACH_LLLEG|ATTACH_LSHOULDER|ATTACH_LUARM|ATTACH_LULEG|ATTACH_MOUTH|ATTACH_NECK|ATTACH_NOSE|ATTACH_PELVIS|ATTACH_REAR|ATTACH_REYE|ATTACH_RFOOT|ATTACH_RHAND|ATTACH_RHIP|ATTACH_RIGHT_PEC|ATTACH_RLARM|ATTACH_RLLEG|ATTACH_RSHOULDER|ATTACH_RUARM|ATTACH_RULEG|AVOID_CHARACTERS|AVOID_DYNAMIC_OBSTACLES|AVOID_NONE|CAMERA_ACTIVE|CAMERA_BEHINDNESS_ANGLE|CAMERA_BEHINDNESS_LAG|CAMERA_DISTANCE|CAMERA_FOCUS|CAMERA_FOCUS_LAG|CAMERA_FOCUS_LOCKED|CAMERA_FOCUS_OFFSET|CAMERA_FOCUS_THRESHOLD|CAMERA_PITCH|CAMERA_POSITION|CAMERA_POSITION_LAG|CAMERA_POSITION_LOCKED|CAMERA_POSITION_THRESHOLD|CHANGED_ALLOWED_DROP|CHANGED_COLOR|CHANGED_INVENTORY|CHANGED_LINK|CHANGED_MEDIA|CHANGED_OWNER|CHANGED_REGION|CHANGED_REGION_START|CHANGED_SCALE|CHANGED_SHAPE|CHANGED_TELEPORT|CHANGED_TEXTURE|CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES|CHARACTER_AVOIDANCE_MODE|CHARACTER_CMD_JUMP|CHARACTER_CMD_SMOOTH_STOP|CHARACTER_CMD_STOP|CHARACTER_DESIRED_SPEED|CHARACTER_DESIRED_TURN_SPEED|CHARACTER_LENGTH|CHARACTER_MAX_ACCEL|CHARACTER_MAX_DECEL|CHARACTER_MAX_SPEED|CHARACTER_MAX_TURN_RADIUS|CHARACTER_ORIENTATION|CHARACTER_RADIUS|CHARACTER_STAY_WITHIN_PARCEL|CHARACTER_TYPE|CHARACTER_TYPE_A|CHARACTER_TYPE_B|CHARACTER_TYPE_C|CHARACTER_TYPE_D|CHARACTER_TYPE_NONE|CLICK_ACTION_BUY|CLICK_ACTION_NONE|CLICK_ACTION_OPEN|CLICK_ACTION_OPEN_MEDIA|CLICK_ACTION_PAY|CLICK_ACTION_PLAY|CLICK_ACTION_SIT|CLICK_ACTION_TOUCH|CONTENT_TYPE_ATOM|CONTENT_TYPE_FORM|CONTENT_TYPE_HTML|CONTENT_TYPE_JSON|CONTENT_TYPE_LLSD|CONTENT_TYPE_RSS|CONTENT_TYPE_TEXT|CONTENT_TYPE_XHTML|CONTENT_TYPE_XML|CONTROL_BACK|CONTROL_DOWN|CONTROL_FWD|CONTROL_LBUTTON|CONTROL_LEFT|CONTROL_ML_LBUTTON|CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|CONTROL_UP|DATA_BORN|DATA_NAME|DATA_ONLINE|DATA_PAYINFO|DATA_SIM_POS|DATA_SIM_RATING|DATA_SIM_STATUS|DEBUG_CHANNEL|DENSITY|ERR_GENERIC|ERR_MALFORMED_PARAMS|ERR_PARCEL_PERMISSIONS|ERR_RUNTIME_PERMISSIONS|ERR_THROTTLED|ESTATE_ACCESS_ALLOWED_AGENT_ADD|ESTATE_ACCESS_ALLOWED_AGENT_REMOVE|ESTATE_ACCESS_ALLOWED_GROUP_ADD|ESTATE_ACCESS_ALLOWED_GROUP_REMOVE|ESTATE_ACCESS_BANNED_AGENT_ADD|ESTATE_ACCESS_BANNED_AGENT_REMOVE|FALSE|FORCE_DIRECT_PATH|FRICTION|GCNP_RADIUS|GCNP_STATIC|GRAVITY_MULTIPLIER|HORIZONTAL|HTTP_BODY_MAXLENGTH|HTTP_BODY_TRUNCATED|HTTP_CUSTOM_HEADER|HTTP_METHOD|HTTP_MIMETYPE|HTTP_PRAGMA_NO_CACHE|HTTP_VERBOSE_THROTTLE|HTTP_VERIFY_CERT|INVENTORY_ALL|INVENTORY_ANIMATION|INVENTORY_BODYPART|INVENTORY_CLOTHING|INVENTORY_GESTURE|INVENTORY_LANDMARK|INVENTORY_NONE|INVENTORY_NOTECARD|INVENTORY_OBJECT|INVENTORY_SCRIPT|INVENTORY_SOUND|INVENTORY_TEXTURE|JSON_APPEND|KFM_CMD_PAUSE|KFM_CMD_PLAY|KFM_CMD_SET_MODE|KFM_CMD_STOP|KFM_COMMAND|KFM_DATA|KFM_FORWARD|KFM_LOOP|KFM_MODE|KFM_PING_PONG|KFM_REVERSE|KFM_ROTATION|KFM_TRANSLATION|LAND_LEVEL|LAND_LOWER|LAND_NOISE|LAND_RAISE|LAND_REVERT|LAND_SMOOTH|LINK_ALL_CHILDREN|LINK_ALL_OTHERS|LINK_ROOT|LINK_SET|LINK_THIS|LIST_STAT_GEOMETRIC_MEAN|LIST_STAT_MAX|LIST_STAT_MEAN|LIST_STAT_MEDIAN|LIST_STAT_MIN|LIST_STAT_NUM_COUNT|LIST_STAT_RANGE|LIST_STAT_STD_DEV|LIST_STAT_SUM|LIST_STAT_SUM_SQUARES|LOOP|MASK_BASE|MASK_EVERYONE|MASK_GROUP|MASK_NEXT|MASK_OWNER|OBJECT_ATTACHED_POINT|OBJECT_BODY_SHAPE_TYPE|OBJECT_CHARACTER_TIME|OBJECT_CLICK_ACTION|OBJECT_CREATOR|OBJECT_DESC|OBJECT_GROUP|OBJECT_HOVER_HEIGHT|OBJECT_LAST_OWNER_ID|OBJECT_NAME|OBJECT_OWNER|OBJECT_PATHFINDING_TYPE|OBJECT_PHANTOM|OBJECT_PHYSICS|OBJECT_PHYSICS_COST|OBJECT_POS|OBJECT_PRIM_EQUIVALENCE|OBJECT_RENDER_WEIGHT|OBJECT_RETURN_PARCEL|OBJECT_RETURN_PARCEL_OWNER|OBJECT_RETURN_REGION|OBJECT_ROOT|OBJECT_ROT|OBJECT_RUNNING_SCRIPT_COUNT|OBJECT_SCRIPT_MEMORY|OBJECT_SCRIPT_TIME|OBJECT_SERVER_COST|OBJECT_STREAMING_COST|OBJECT_TEMP_ON_REZ|OBJECT_TOTAL_SCRIPT_COUNT|OBJECT_UNKNOWN_DETAIL|OBJECT_VELOCITY|OPT_AVATAR|OPT_CHARACTER|OPT_EXCLUSION_VOLUME|OPT_LEGACY_LINKSET|OPT_MATERIAL_VOLUME|OPT_OTHER|OPT_STATIC_OBSTACLE|OPT_WALKABLE|PARCEL_COUNT_GROUP|PARCEL_COUNT_OTHER|PARCEL_COUNT_OWNER|PARCEL_COUNT_SELECTED|PARCEL_COUNT_TEMP|PARCEL_COUNT_TOTAL|PARCEL_DETAILS_AREA|PARCEL_DETAILS_DESC|PARCEL_DETAILS_GROUP|PARCEL_DETAILS_ID|PARCEL_DETAILS_NAME|PARCEL_DETAILS_OWNER|PARCEL_DETAILS_SEE_AVATARS|PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS|PARCEL_FLAG_ALLOW_CREATE_OBJECTS|PARCEL_FLAG_ALLOW_DAMAGE|PARCEL_FLAG_ALLOW_FLY|PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_GROUP_SCRIPTS|PARCEL_FLAG_ALLOW_LANDMARK|PARCEL_FLAG_ALLOW_SCRIPTS|PARCEL_FLAG_ALLOW_TERRAFORM|PARCEL_FLAG_LOCAL_SOUND_ONLY|PARCEL_FLAG_RESTRICT_PUSHOBJECT|PARCEL_FLAG_USE_ACCESS_GROUP|PARCEL_FLAG_USE_ACCESS_LIST|PARCEL_FLAG_USE_BAN_LIST|PARCEL_FLAG_USE_LAND_PASS_LIST|PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_AUTO_ALIGN|PARCEL_MEDIA_COMMAND_DESC|PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_LOOP_SET|PARCEL_MEDIA_COMMAND_PAUSE|PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_SIZE|PARCEL_MEDIA_COMMAND_STOP|PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_TYPE|PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_URL|PASS_ALWAYS|PASS_IF_NOT_HANDLED|PASS_NEVER|PASSIVE|PATROL_PAUSE_AT_WAYPOINTS|PAYMENT_INFO_ON_FILE|PAYMENT_INFO_USED|PAY_DEFAULT|PAY_HIDE|PERMISSION_ATTACH|PERMISSION_CHANGE_LINKS|PERMISSION_CONTROL_CAMERA|PERMISSION_DEBIT|PERMISSION_OVERRIDE_ANIMATIONS|PERMISSION_RETURN_OBJECTS|PERMISSION_SILENT_ESTATE_MANAGEMENT|PERMISSION_TAKE_CONTROLS|PERMISSION_TELEPORT|PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION|PERM_ALL|PERM_COPY|PERM_MODIFY|PERM_MOVE|PERM_TRANSFER|PING_PONG|PRIM_ALPHA_MODE|PRIM_ALPHA_MODE_BLEND|PRIM_ALPHA_MODE_EMISSIVE|PRIM_ALPHA_MODE_MASK|PRIM_ALPHA_MODE_NONE|PRIM_BUMP_BARK|PRIM_BUMP_BLOBS|PRIM_BUMP_BRICKS|PRIM_BUMP_BRIGHT|PRIM_BUMP_CHECKER|PRIM_BUMP_CONCRETE|PRIM_BUMP_DARK|PRIM_BUMP_DISKS|PRIM_BUMP_GRAVEL|PRIM_BUMP_LARGETILE|PRIM_BUMP_NONE|PRIM_BUMP_SHINY|PRIM_BUMP_SIDING|PRIM_BUMP_STONE|PRIM_BUMP_STUCCO|PRIM_BUMP_SUCTION|PRIM_BUMP_TILE|PRIM_BUMP_WEAVE|PRIM_BUMP_WOOD|PRIM_COLOR|PRIM_DESC|PRIM_FLEXIBLE|PRIM_FULLBRIGHT|PRIM_GLOW|PRIM_HOLE_CIRCLE|PRIM_HOLE_DEFAULT|PRIM_HOLE_SQUARE|PRIM_HOLE_TRIANGLE|PRIM_LINK_TARGET|PRIM_MATERIAL|PRIM_MATERIAL_FLESH|PRIM_MATERIAL_GLASS|PRIM_MATERIAL_METAL|PRIM_MATERIAL_PLASTIC|PRIM_MATERIAL_RUBBER|PRIM_MATERIAL_STONE|PRIM_MATERIAL_WOOD|PRIM_MEDIA_ALT_IMAGE_ENABLE|PRIM_MEDIA_AUTO_LOOP|PRIM_MEDIA_AUTO_PLAY|PRIM_MEDIA_AUTO_SCALE|PRIM_MEDIA_AUTO_ZOOM|PRIM_MEDIA_CONTROLS|PRIM_MEDIA_CONTROLS_MINI|PRIM_MEDIA_CONTROLS_STANDARD|PRIM_MEDIA_CURRENT_URL|PRIM_MEDIA_FIRST_CLICK_INTERACT|PRIM_MEDIA_HEIGHT_PIXELS|PRIM_MEDIA_HOME_URL|PRIM_MEDIA_MAX_HEIGHT_PIXELS|PRIM_MEDIA_MAX_URL_LENGTH|PRIM_MEDIA_MAX_WHITELIST_COUNT|PRIM_MEDIA_MAX_WHITELIST_SIZE|PRIM_MEDIA_MAX_WIDTH_PIXELS|PRIM_MEDIA_PARAM_MAX|PRIM_MEDIA_PERMS_CONTROL|PRIM_MEDIA_PERMS_INTERACT|PRIM_MEDIA_PERM_ANYONE|PRIM_MEDIA_PERM_GROUP|PRIM_MEDIA_PERM_NONE|PRIM_MEDIA_PERM_OWNER|PRIM_MEDIA_WHITELIST|PRIM_MEDIA_WHITELIST_ENABLE|PRIM_MEDIA_WIDTH_PIXELS|PRIM_NAME|PRIM_NORMAL|PRIM_OMEGA|PRIM_PHANTOM|PRIM_PHYSICS|PRIM_PHYSICS_SHAPE_CONVEX|PRIM_PHYSICS_SHAPE_NONE|PRIM_PHYSICS_SHAPE_PRIM|PRIM_PHYSICS_SHAPE_TYPE|PRIM_POINT_LIGHT|PRIM_POSITION|PRIM_POS_LOCAL|PRIM_ROTATION|PRIM_ROT_LOCAL|PRIM_SCULPT_FLAG_INVERT|PRIM_SCULPT_FLAG_MIRROR|PRIM_SCULPT_TYPE_CYLINDER|PRIM_SCULPT_TYPE_MASK|PRIM_SCULPT_TYPE_PLANE|PRIM_SCULPT_TYPE_SPHERE|PRIM_SCULPT_TYPE_TORUS|PRIM_SHINY_HIGH|PRIM_SHINY_LOW|PRIM_SHINY_MEDIUM|PRIM_SHINY_NONE|PRIM_SIZE|PRIM_SLICE|PRIM_SPECULAR|PRIM_TEMP_ON_REZ|PRIM_TEXGEN|PRIM_TEXGEN_DEFAULT|PRIM_TEXGEN_PLANAR|PRIM_TEXT|PRIM_TEXTURE|PRIM_TYPE|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_RING|PRIM_TYPE_SCULPT|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PROFILE_NONE|PROFILE_SCRIPT_MEMORY|PSYS_PART_BF_DEST_COLOR|PSYS_PART_BF_ONE|PSYS_PART_BF_ONE_MINUS_DEST_COLOR|PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA|PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR|PSYS_PART_BF_SOURCE_ALPHA|PSYS_PART_BF_SOURCE_COLOR|PSYS_PART_BF_ZERO|PSYS_PART_BLEND_FUNC_DEST|PSYS_PART_BLEND_FUNC_SOURCE|PSYS_PART_BOUNCE_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_END_ALPHA|PSYS_PART_END_COLOR|PSYS_PART_END_GLOW|PSYS_PART_END_SCALE|PSYS_PART_FLAGS|PSYS_PART_FOLLOW_SRC_MASK|PSYS_PART_FOLLOW_VELOCITY_MASK|PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_MAX_AGE|PSYS_PART_RIBBON_MASK|PSYS_PART_START_ALPHA|PSYS_PART_START_COLOR|PSYS_PART_START_GLOW|PSYS_PART_START_SCALE|PSYS_PART_TARGET_LINEAR_MASK|PSYS_PART_TARGET_POS_MASK|PSYS_PART_WIND_MASK|PSYS_SRC_ACCEL|PSYS_SRC_ANGLE_BEGIN|PSYS_SRC_ANGLE_END|PSYS_SRC_BURST_PART_COUNT|PSYS_SRC_BURST_RADIUS|PSYS_SRC_BURST_RATE|PSYS_SRC_BURST_SPEED_MAX|PSYS_SRC_BURST_SPEED_MIN|PSYS_SRC_MAX_AGE|PSYS_SRC_OMEGA|PSYS_SRC_PATTERN|PSYS_SRC_PATTERN_ANGLE|PSYS_SRC_PATTERN_ANGLE_CONE|PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY|PSYS_SRC_PATTERN_DROP|PSYS_SRC_PATTERN_EXPLODE|PSYS_SRC_TARGET_KEY|PSYS_SRC_TEXTURE|PUBLIC_CHANNEL|PURSUIT_FUZZ_FACTOR|PURSUIT_GOAL_TOLERANCE|PURSUIT_INTERCEPT|PURSUIT_OFFSET|PU_EVADE_HIDDEN|PU_EVADE_SPOTTED|PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED|PU_FAILURE_INVALID_GOAL|PU_FAILURE_INVALID_START|PU_FAILURE_NO_NAVMESH|PU_FAILURE_NO_VALID_DESTINATION|PU_FAILURE_OTHER|PU_FAILURE_PARCEL_UNREACHABLE|PU_FAILURE_TARGET_GONE|PU_FAILURE_UNREACHABLE|PU_GOAL_REACHED|PU_SLOWDOWN_DISTANCE_REACHED|RCERR_CAST_TIME_EXCEEDED|RCERR_SIM_PERF_LOW|RCERR_UNKNOWN|RC_DATA_FLAGS|RC_DETECT_PHANTOM|RC_GET_LINK_NUM|RC_GET_NORMAL|RC_GET_ROOT_KEY|RC_MAX_HITS|RC_REJECT_AGENTS|RC_REJECT_LAND|RC_REJECT_NONPHYSICAL|RC_REJECT_PHYSICAL|RC_REJECT_TYPES|REGION_FLAG_ALLOW_DAMAGE|REGION_FLAG_ALLOW_DIRECT_TELEPORT|REGION_FLAG_BLOCK_FLY|REGION_FLAG_BLOCK_TERRAFORM|REGION_FLAG_DISABLE_COLLISIONS|REGION_FLAG_DISABLE_PHYSICS|REGION_FLAG_FIXED_SUN|REGION_FLAG_RESTRICT_PUSHOBJECT|REGION_FLAG_SANDBOX|REMOTE_DATA_CHANNEL|REMOTE_DATA_REPLY|REMOTE_DATA_REQUEST|REQUIRE_LINE_OF_SIGHT|RESTITUTION|REVERSE|ROTATE|SCALE|SCRIPTED|SIM_STAT_PCT_CHARS_STEPPED|SMOOTH|STATUS_BLOCK_GRAB|STATUS_BLOCK_GRAB_OBJECT|STATUS_BOUNDS_ERROR|STATUS_CAST_SHADOWS|STATUS_DIE_AT_EDGE|STATUS_INTERNAL_ERROR|STATUS_MALFORMED_PARAMS|STATUS_NOT_FOUND|STATUS_NOT_SUPPORTED|STATUS_OK|STATUS_PHANTOM|STATUS_PHYSICS|STATUS_RETURN_AT_EDGE|STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|STATUS_SANDBOX|STATUS_TYPE_MISMATCH|STATUS_WHITELIST_FAILED|STRING_TRIM|STRING_TRIM_HEAD|STRING_TRIM_TAIL|TOUCH_INVALID_FACE|TRAVERSAL_TYPE|TRAVERSAL_TYPE_FAST|TRAVERSAL_TYPE_NONE|TRAVERSAL_TYPE_SLOW|TRUE|TYPE_FLOAT|TYPE_INTEGER|TYPE_INVALID|TYPE_KEY|TYPE_ROTATION|TYPE_STRING|TYPE_VECTOR|VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|VEHICLE_ANGULAR_FRICTION_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_ANGULAR_MOTOR_TIMESCALE|VEHICLE_BANKING_EFFICIENCY|VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|VEHICLE_BUOYANCY|VEHICLE_FLAG_CAMERA_DECOUPLED|VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_UP_ONLY|VEHICLE_FLAG_HOVER_WATER_ONLY|VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|VEHICLE_FLAG_MOUSELOOK_BANK|VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_NO_DEFLECTION_UP|VEHICLE_HOVER_EFFICIENCY|VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_TIMESCALE|VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|VEHICLE_LINEAR_DEFLECTION_TIMESCALE|VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_LINEAR_MOTOR_TIMESCALE|VEHICLE_REFERENCE_FRAME|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_TYPE_BOAT|VEHICLE_TYPE_CAR|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VERTICAL|WANDER_PAUSE_AT_WAYPOINTS|XP_ERROR_EXPERIENCES_DISABLED|XP_ERROR_EXPERIENCE_DISABLED|XP_ERROR_EXPERIENCE_SUSPENDED|XP_ERROR_INVALID_EXPERIENCE|XP_ERROR_INVALID_PARAMETERS|XP_ERROR_KEY_NOT_FOUND|XP_ERROR_MATURITY_EXCEEDED|XP_ERROR_NONE|XP_ERROR_NOT_FOUND|XP_ERROR_NOT_PERMITTED|XP_ERROR_NO_EXPERIENCE|XP_ERROR_QUOTA_EXCEEDED|XP_ERROR_RETRY_UPDATE|XP_ERROR_STORAGE_EXCEPTION|XP_ERROR_STORE_DISABLED|XP_ERROR_THROTTLED|XP_ERROR_UNKNOWN_ERROR","constant.language.integer.boolean.lsl":"FALSE|TRUE","constant.language.quaternion.lsl":"ZERO_ROTATION","constant.language.string.lsl":"EOF|JSON_ARRAY|JSON_DELETE|JSON_FALSE|JSON_INVALID|JSON_NULL|JSON_NUMBER|JSON_OBJECT|JSON_STRING|JSON_TRUE|NULL_KEY|TEXTURE_BLANK|TEXTURE_DEFAULT|TEXTURE_MEDIA|TEXTURE_PLYWOOD|TEXTURE_TRANSPARENT|URL_REQUEST_DENIED|URL_REQUEST_GRANTED","constant.language.vector.lsl":"TOUCH_INVALID_TEXCOORD|TOUCH_INVALID_VECTOR|ZERO_VECTOR","invalid.broken.lsl":"LAND_LARGE_BRUSH|LAND_MEDIUM_BRUSH|LAND_SMALL_BRUSH","invalid.deprecated.lsl":"ATTACH_LPEC|ATTACH_RPEC|DATA_RATING|OBJECT_ATTACHMENT_GEOMETRY_BYTES|OBJECT_ATTACHMENT_SURFACE_AREA|PRIM_CAST_SHADOWS|PRIM_MATERIAL_LIGHT|PRIM_TYPE_LEGACY|PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|VEHICLE_FLAG_NO_FLY_UP|llClearExperiencePermissions|llCloud|llGetExperienceList|llMakeExplosion|llMakeFire|llMakeFountain|llMakeSmoke|llRemoteDataSetRegion|llSound|llSoundPreload|llXorBase64Strings|llXorBase64StringsCorrect","invalid.illegal.lsl":"event","invalid.unimplemented.lsl":"CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|CHARACTER_TURN_SPEED_MULTIPLIER|PERMISSION_CHANGE_JOINTS|PERMISSION_CHANGE_PERMISSIONS|PERMISSION_EXPERIENCE|PERMISSION_RELEASE_OWNERSHIP|PERMISSION_REMAP_CONTROLS|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|llCollisionSprite|llPointAt|llRefreshPrimURL|llReleaseCamera|llRemoteLoadScript|llSetPrimURL|llStopPointAt|llTakeCamera","reserved.godmode.lsl":"llGodLikeRezObject|llSetInventoryPermMask|llSetObjectPermMask","reserved.log.lsl":"print","keyword.control.lsl":"do|else|for|if|jump|return|while","storage.type.lsl":"float|integer|key|list|quaternion|rotation|string|vector","support.function.lsl":"llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|llAdjustSoundVolume|llAgentInExperience|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAttachToAvatarTemp|llAvatarOnLinkSitTarget|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCSV2List|llCastRay|llCeil|llClearCameraParams|llClearLinkMedia|llClearPrimMedia|llCloseRemoteDataChannel|llCollisionFilter|llCollisionSound|llCos|llCreateCharacter|llCreateKeyValue|llCreateLink|llDataSizeKeyValue|llDeleteCharacter|llDeleteKeyValue|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedTouchBinormal|llDetectedTouchFace|llDetectedTouchNormal|llDetectedTouchPos|llDetectedTouchST|llDetectedTouchUV|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llEvade|llExecCharacterCmd|llFabs|llFleeFrom|llFloor|llForceMouselook|llFrand|llGenerateKey|llGetAccel|llGetAgentInfo|llGetAgentLanguage|llGetAgentList|llGetAgentSize|llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAnimationOverride|llGetAttached|llGetAttachedList|llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|llGetClosestNavPoint|llGetColor|llGetCreator|llGetDate|llGetDisplayName|llGetEnergy|llGetEnv|llGetExperienceDetails|llGetExperienceErrorMessage|llGetForce|llGetFreeMemory|llGetFreeURLs|llGetGMTclock|llGetGeometricCenter|llGetHTTPHeader|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|llGetLandOwnerAt|llGetLinkKey|llGetLinkMedia|llGetLinkName|llGetLinkNumber|llGetLinkNumberOfSides|llGetLinkPrimitiveParams|llGetListEntryType|llGetListLength|llGetLocalPos|llGetLocalRot|llGetMass|llGetMassMKS|llGetMaxScaleFactor|llGetMemoryLimit|llGetMinScaleFactor|llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|llGetNumberOfSides|llGetObjectDesc|llGetObjectDetails|llGetObjectMass|llGetObjectName|llGetObjectPermMask|llGetObjectPrimCount|llGetOmega|llGetOwner|llGetOwnerKey|llGetParcelDetails|llGetParcelFlags|llGetParcelMaxPrims|llGetParcelMusicURL|llGetParcelPrimCount|llGetParcelPrimOwners|llGetPermissions|llGetPermissionsKey|llGetPhysicsMaterial|llGetPos|llGetPrimMediaParams|llGetPrimitiveParams|llGetRegionAgentCount|llGetRegionCorner|llGetRegionFPS|llGetRegionFlags|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|llGetRootRotation|llGetRot|llGetSPMaxMemory|llGetScale|llGetScriptName|llGetScriptState|llGetSimStats|llGetSimulatorHostname|llGetStartParameter|llGetStaticPath|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|llGetTimestamp|llGetTorque|llGetUnixTime|llGetUsedMemory|llGetUsername|llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|llHTTPRequest|llHTTPResponse|llInsertString|llInstantMessage|llIntegerToBase64|llJson2List|llJsonGetValue|llJsonSetValue|llJsonValueType|llKey2Name|llKeyCountKeyValue|llKeysKeyValue|llLinkParticleSystem|llLinkSitTarget|llList2CSV|llList2Float|llList2Integer|llList2Json|llList2Key|llList2List|llList2ListStrided|llList2Rot|llList2String|llList2Vector|llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|llListStatistics|llListen|llListenControl|llListenRemove|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|llLoopSoundSlave|llMD5String|llManageEstateAccess|llMapDestination|llMessageLinked|llMinEventDelay|llModPow|llModifyLand|llMoveToTarget|llNavigateTo|llOffsetTexture|llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|llPassCollisions|llPassTouches|llPatrolPoints|llPlaySound|llPlaySoundSlave|llPow|llPreloadSound|llPursue|llPushObject|llReadKeyValue|llRegionSay|llRegionSayTo|llReleaseControls|llReleaseURL|llRemoteDataReply|llRemoteLoadScriptPin|llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|llRequestAgentData|llRequestDisplayName|llRequestExperiencePermissions|llRequestInventoryData|llRequestPermissions|llRequestSecureURL|llRequestSimulatorData|llRequestURL|llRequestUsername|llResetAnimationOverride|llResetLandBanList|llResetLandPassList|llResetOtherScript|llResetScript|llResetTime|llReturnObjectsByID|llReturnObjectsByOwner|llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|llRot2Fwd|llRot2Left|llRot2Up|llRotBetween|llRotLookAt|llRotTarget|llRotTargetRemove|llRotateTexture|llRound|llSHA1String|llSameGroup|llSay|llScaleByFactor|llScaleTexture|llScriptDanger|llScriptProfiler|llSendRemoteData|llSensor|llSensorRemove|llSensorRepeat|llSetAlpha|llSetAngularVelocity|llSetAnimationOverride|llSetBuoyancy|llSetCameraAtOffset|llSetCameraEyeOffset|llSetCameraParams|llSetClickAction|llSetColor|llSetContentType|llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|llSetKeyframedMotion|llSetLinkAlpha|llSetLinkCamera|llSetLinkColor|llSetLinkMedia|llSetLinkPrimitiveParams|llSetLinkPrimitiveParamsFast|llSetLinkTexture|llSetLinkTextureAnim|llSetLocalRot|llSetMemoryLimit|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|llSetPayPrice|llSetPhysicsMaterial|llSetPos|llSetPrimMediaParams|llSetPrimitiveParams|llSetRegionPos|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|llSetVehicleVectorParam|llSetVelocity|llShout|llSin|llSitTarget|llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|llStopMoveToTarget|llStopSound|llStringLength|llStringToBase64|llStringTrim|llSubStringIndex|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|llTeleportAgent|llTeleportAgentGlobalCoords|llTeleportAgentHome|llTextBox|llToLower|llToUpper|llTransferLindenDollars|llTriggerSound|llTriggerSoundLimited|llUnSit|llUnescapeURL|llUpdateCharacter|llUpdateKeyValue|llVecDist|llVecMag|llVecNorm|llVolumeDetect|llWanderWithin|llWater|llWhisper|llWind|llXorBase64","support.function.event.lsl":"at_rot_target|at_target|attach|changed|collision|collision_end|collision_start|control|dataserver|email|experience_permissions|experience_permissions_denied|http_request|http_response|land_collision|land_collision_end|land_collision_start|link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|not_at_target|object_rez|on_rez|path_update|remote_data|run_time_permissions|sensor|state_entry|state_exit|timer|touch|touch_end|touch_start|transaction_result"},"identifier");this.$rules={start:[{token:"comment.line.double-slash.lsl",regex:"\\/\\/.*$"},{token:"comment.block.begin.lsl",regex:"\\/\\*",next:"comment"},{token:"string.quoted.double.lsl",start:'"',end:'"',next:[{token:"constant.character.escape.lsl",regex:/\\[tn"\\]/}]},{token:"constant.numeric.lsl",regex:"(0[xX][0-9a-fA-F]+|[+-]?[0-9]+(?:(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)?)\\b"},{token:"entity.name.state.lsl",regex:"\\b((state)\\s+[A-Za-z_]\\w*|default)\\b"},{token:e,regex:"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"support.function.user-defined.lsl",regex:/\b([a-zA-Z_]\w*)(?=\(.*?\))/},{token:"keyword.operator.lsl",regex:"\\+\\+|\\-\\-|<<|>>|&&?|\\|\\|?|\\^|~|[!%<>=*+\\-\\/]=?"},{token:"invalid.illegal.keyword.operator.lsl",regex:":=?"},{token:"punctuation.operator.lsl",regex:"\\,|\\;"},{token:"paren.lparen.lsl",regex:"[\\[\\(\\{]"},{token:"paren.rparen.lsl",regex:"[\\]\\)\\}]"},{token:"text.lsl",regex:"\\s+"}],comment:[{token:"comment.block.end.lsl",regex:"\\*\\/",next:"start"},{defaultToken:"comment.block.lsl"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.LSLHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/lsl",["require","exports","module","ace/mode/lsl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/text","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./lsl_highlight_rules").LSLHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../range").Range,o=e("./text").Mode,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../lib/oop"),l=function(){this.HighlightRules=r,this.$outdent=new i,this.$behaviour=new u,this.foldingRules=new a};f.inherits(l,o),function(){this.lineCommentStart=["//"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type==="comment.block.lsl")return r;if(e==="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/lsl"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-lua.js b/library/ace/mode-lua.js
new file mode 100644
index 000000000..48f36ac74
--- /dev/null
+++ b/library/ace/mode-lua.js
@@ -0,0 +1 @@
+ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="break|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while|or|and|not",t="true|false|nil|_G|_VERSION",n="string|xpcall|package|tostring|print|os|unpack|require|getfenv|setmetatable|next|assert|tonumber|io|rawequal|collectgarbage|getmetatable|module|rawset|math|debug|pcall|table|newproxy|type|coroutine|_G|select|gcinfo|pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|load|error|loadfile|sub|upper|len|gfind|rep|find|match|char|dump|gmatch|reverse|byte|format|gsub|lower|preload|loadlib|loaded|loaders|cpath|config|path|seeall|exit|setlocale|date|getenv|difftime|remove|time|clock|tmpname|rename|execute|lines|write|close|flush|open|output|type|read|stderr|stdin|input|stdout|popen|tmpfile|log|max|acos|huge|ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|gethook|setmetatable|setlocal|traceback|setfenv|getinfo|setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|foreachi|maxn|foreach|concat|sort|remove|resume|yield|status|wrap|create|running|__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber",r="string|package|os|io|math|debug|table|coroutine",i="setn|foreach|foreachi|gcinfo|log10|maxn",s=this.createKeywordMapper({keyword:e,"support.function":n,"keyword.deprecated":i,"constant.library":r,"constant.language":t,"variable.language":"self"},"identifier"),o="(?:(?:[1-9]\\d*)|(?:0))",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:"+o+"|"+u+")",f="(?:\\.\\d+)",l="(?:\\d+)",c="(?:(?:"+l+"?"+f+")|(?:"+l+"\\.))",h="(?:"+c+")";this.$rules={start:[{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/\-\-\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"comment",regex:"\\-\\-.*$"},{stateName:"bracketedString",onMatch:function(e,t,n){return n.unshift(this.next,e.length,t),"comment"},regex:/\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"string",regex:'"(?:[^\\\\]|\\\\.)*?"'},{token:"string",regex:"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:h},{token:"constant.numeric",regex:a+"\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(s,i),t.LuaHighlightRules=s}),ace.define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/,this.foldingStopMarker=/\bend\b|^\s*}|\]=*\]/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(i&&!s){var o=r.match(this.foldingStartMarker);if(o[1]=="then"&&/\belseif\b/.test(r))return;if(o[1]){if(e.getTokenAt(n,o.index+1).type==="keyword")return"start"}else{if(!o[2])return"start";var u=e.bgTokenizer.getState(n)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"start"}}if(t!="markbeginend"||!s||i&&s)return"";var o=r.match(this.foldingStopMarker);if(o[0]==="end"){if(e.getTokenAt(n,o.index+1).type==="keyword")return"end"}else{if(o[0][0]!=="]")return"end";var u=e.bgTokenizer.getState(n-1)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"end"}},this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.luaBlock(e,n,i.index+1):i[2]?e.getCommentFoldRange(n,i.index+1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[0]==="end"&&e.getTokenAt(n,i.index+1).type==="keyword"?this.luaBlock(e,n,i.index+1):i[0][0]==="]"?e.getCommentFoldRange(n,i.index+1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.luaBlock=function(e,t,n){var r=new o(e,t,n),i={"function":1,"do":1,then:1,elseif:-1,end:-1,repeat:1,until:-1},u=r.getCurrentToken();if(!u||u.type!="keyword")return;var a=u.value,f=[a],l=i[a];if(!l)return;var c=l===-1?r.getCurrentTokenColumn():e.getLine(t).length,h=t;r.step=l===-1?r.stepBackward:r.stepForward;while(u=r.step()){if(u.type!=="keyword")continue;var p=l*i[u.value];if(p>0)f.unshift(u.value);else if(p<=0){f.shift();if(!f.length&&u.value!="elseif")break;p===0&&f.unshift(u.value)}}var t=r.getCurrentTokenRow();return l===-1?new s(t,e.getLine(t).length,h,c):new s(h,c,t,r.getCurrentTokenColumn())}}.call(u.prototype)}),ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lua_highlight_rules").LuaHighlightRules,o=e("./folding/lua").FoldMode,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(f,i),function(){function n(t){var n=0;for(var r=0;r<t.length;r++){var i=t[r];i.type=="keyword"?i.value in e&&(n+=e[i.value]):i.type=="paren.lparen"?n+=i.value.length:i.type=="paren.rparen"&&(n-=i.value.length)}return n<0?-1:n>0?1:0}this.lineCommentStart="--",this.blockComment={start:"--[",end:"]--"};var e={"function":1,then:1,"do":1,"else":1,elseif:1,repeat:1,end:-1,until:-1},t=["else","elseif","end","until"];this.getNextLineIndent=function(e,t,r){var i=this.$getIndent(t),s=0,o=this.getTokenizer().getLineTokens(t,e),u=o.tokens;return e=="start"&&(s=n(u)),s>0?i+r:s<0&&i.substr(i.length-r.length)==r&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-r.length):i},this.checkOutdent=function(e,n,r){if(r!="\n"&&r!="\r"&&r!="\r\n")return!1;if(n.match(/^\s*[\)\}\]]$/))return!0;var i=this.getTokenizer().getLineTokens(n.trim(),e).tokens;return!i||!i.length?!1:i[0].type=="keyword"&&t.indexOf(i[0].value)!=-1},this.autoOutdent=function(e,t,r){var i=t.getLine(r-1),s=this.$getIndent(i).length,o=this.getTokenizer().getLineTokens(i,"start").tokens,a=t.getTabString().length,f=s+a*n(o),l=this.$getIndent(t.getLine(r)).length;if(l<f)return;t.outdentRows(new u(r,0,r+2,0))},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/lua_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/lua"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-luapage.js b/library/ace/mode-luapage.js
new file mode 100644
index 000000000..26b915bc3
--- /dev/null
+++ b/library/ace/mode-luapage.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="break|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while|or|and|not",t="true|false|nil|_G|_VERSION",n="string|xpcall|package|tostring|print|os|unpack|require|getfenv|setmetatable|next|assert|tonumber|io|rawequal|collectgarbage|getmetatable|module|rawset|math|debug|pcall|table|newproxy|type|coroutine|_G|select|gcinfo|pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|load|error|loadfile|sub|upper|len|gfind|rep|find|match|char|dump|gmatch|reverse|byte|format|gsub|lower|preload|loadlib|loaded|loaders|cpath|config|path|seeall|exit|setlocale|date|getenv|difftime|remove|time|clock|tmpname|rename|execute|lines|write|close|flush|open|output|type|read|stderr|stdin|input|stdout|popen|tmpfile|log|max|acos|huge|ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|gethook|setmetatable|setlocal|traceback|setfenv|getinfo|setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|foreachi|maxn|foreach|concat|sort|remove|resume|yield|status|wrap|create|running|__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber",r="string|package|os|io|math|debug|table|coroutine",i="setn|foreach|foreachi|gcinfo|log10|maxn",s=this.createKeywordMapper({keyword:e,"support.function":n,"keyword.deprecated":i,"constant.library":r,"constant.language":t,"variable.language":"self"},"identifier"),o="(?:(?:[1-9]\\d*)|(?:0))",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:"+o+"|"+u+")",f="(?:\\.\\d+)",l="(?:\\d+)",c="(?:(?:"+l+"?"+f+")|(?:"+l+"\\.))",h="(?:"+c+")";this.$rules={start:[{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/\-\-\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"comment",regex:"\\-\\-.*$"},{stateName:"bracketedString",onMatch:function(e,t,n){return n.unshift(this.next,e.length,t),"comment"},regex:/\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"string",regex:'"(?:[^\\\\]|\\\\.)*?"'},{token:"string",regex:"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:h},{token:"constant.numeric",regex:a+"\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(s,i),t.LuaHighlightRules=s}),ace.define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/,this.foldingStopMarker=/\bend\b|^\s*}|\]=*\]/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(i&&!s){var o=r.match(this.foldingStartMarker);if(o[1]=="then"&&/\belseif\b/.test(r))return;if(o[1]){if(e.getTokenAt(n,o.index+1).type==="keyword")return"start"}else{if(!o[2])return"start";var u=e.bgTokenizer.getState(n)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"start"}}if(t!="markbeginend"||!s||i&&s)return"";var o=r.match(this.foldingStopMarker);if(o[0]==="end"){if(e.getTokenAt(n,o.index+1).type==="keyword")return"end"}else{if(o[0][0]!=="]")return"end";var u=e.bgTokenizer.getState(n-1)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"end"}},this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.luaBlock(e,n,i.index+1):i[2]?e.getCommentFoldRange(n,i.index+1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[0]==="end"&&e.getTokenAt(n,i.index+1).type==="keyword"?this.luaBlock(e,n,i.index+1):i[0][0]==="]"?e.getCommentFoldRange(n,i.index+1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.luaBlock=function(e,t,n){var r=new o(e,t,n),i={"function":1,"do":1,then:1,elseif:-1,end:-1,repeat:1,until:-1},u=r.getCurrentToken();if(!u||u.type!="keyword")return;var a=u.value,f=[a],l=i[a];if(!l)return;var c=l===-1?r.getCurrentTokenColumn():e.getLine(t).length,h=t;r.step=l===-1?r.stepBackward:r.stepForward;while(u=r.step()){if(u.type!=="keyword")continue;var p=l*i[u.value];if(p>0)f.unshift(u.value);else if(p<=0){f.shift();if(!f.length&&u.value!="elseif")break;p===0&&f.unshift(u.value)}}var t=r.getCurrentTokenRow();return l===-1?new s(t,e.getLine(t).length,h,c):new s(h,c,t,r.getCurrentTokenColumn())}}.call(u.prototype)}),ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lua_highlight_rules").LuaHighlightRules,o=e("./folding/lua").FoldMode,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(f,i),function(){function n(t){var n=0;for(var r=0;r<t.length;r++){var i=t[r];i.type=="keyword"?i.value in e&&(n+=e[i.value]):i.type=="paren.lparen"?n+=i.value.length:i.type=="paren.rparen"&&(n-=i.value.length)}return n<0?-1:n>0?1:0}this.lineCommentStart="--",this.blockComment={start:"--[",end:"]--"};var e={"function":1,then:1,"do":1,"else":1,elseif:1,repeat:1,end:-1,until:-1},t=["else","elseif","end","until"];this.getNextLineIndent=function(e,t,r){var i=this.$getIndent(t),s=0,o=this.getTokenizer().getLineTokens(t,e),u=o.tokens;return e=="start"&&(s=n(u)),s>0?i+r:s<0&&i.substr(i.length-r.length)==r&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-r.length):i},this.checkOutdent=function(e,n,r){if(r!="\n"&&r!="\r"&&r!="\r\n")return!1;if(n.match(/^\s*[\)\}\]]$/))return!0;var i=this.getTokenizer().getLineTokens(n.trim(),e).tokens;return!i||!i.length?!1:i[0].type=="keyword"&&t.indexOf(i[0].value)!=-1},this.autoOutdent=function(e,t,r){var i=t.getLine(r-1),s=this.$getIndent(i).length,o=this.getTokenizer().getLineTokens(i,"start").tokens,a=t.getTabString().length,f=s+a*n(o),l=this.$getIndent(t.getLine(r)).length;if(l<f)return;t.outdentRows(new u(r,0,r+2,0))},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/lua_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/lua"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/luapage_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/lua_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./lua_highlight_rules").LuaHighlightRules,o=function(){i.call(this);var e=[{token:"keyword",regex:"<\\%\\=?",push:"lua-start"},{token:"keyword",regex:"<\\?lua\\=?",push:"lua-start"}],t=[{token:"keyword",regex:"\\%>",next:"pop"},{token:"keyword",regex:"\\?>",next:"pop"}];this.embedRules(s,"lua-",t,["start"]);for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.normalizeRules()};r.inherits(o,i),t.LuaPageHighlightRules=o}),ace.define("ace/mode/luapage",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/lua","ace/mode/luapage_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./lua").Mode,o=e("./luapage_highlight_rules").LuaPageHighlightRules,u=function(){i.call(this),this.HighlightRules=o,this.createModeDelegates({"lua-":s})};r.inherits(u,i),function(){this.$id="ace/mode/luapage"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-lucene.js b/library/ace/mode-lucene.js
new file mode 100644
index 000000000..6b482d3c5
--- /dev/null
+++ b/library/ace/mode-lucene.js
@@ -0,0 +1 @@
+ace.define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"constant.character.negation",regex:"[\\-]"},{token:"constant.character.interro",regex:"[\\?]"},{token:"constant.character.asterisk",regex:"[\\*]"},{token:"constant.character.proximity",regex:"~[0-9]+\\b"},{token:"keyword.operator",regex:"(?:AND|OR|NOT)\\b"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"keyword",regex:"[\\S]+:"},{token:"string",regex:'".*?"'},{token:"text",regex:"\\s+"}]}};r.inherits(o,s),t.LuceneHighlightRules=o}),ace.define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lucene_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lucene_highlight_rules").LuceneHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/lucene"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-makefile.js b/library/ace/mode-makefile.js
new file mode 100644
index 000000000..52dabfec8
--- /dev/null
+++ b/library/ace/mode-makefile.js
@@ -0,0 +1 @@
+ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z_][a-zA-Z0-9_]*",c="(?:"+l+"=)",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[4]),[{type:"constant",value:i[1]},{type:"text",value:i[2]},{type:"string",value:i[3]},{type:"support.class",value:i[4]},{type:"string",value:i[5]}]},rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:h},{token:"variable",regex:c},{include:"variables"},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/makefile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/sh_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./sh_highlight_rules"),o=function(){var e=this.createKeywordMapper({keyword:s.reservedKeywords,"support.function.builtin":s.languageConstructs,"invalid.deprecated":"debugger"},"string");this.$rules={start:[{token:"string.interpolated.backtick.makefile",regex:"`",next:"shell-start"},{token:"punctuation.definition.comment.makefile",regex:/#(?=.)/,next:"comment"},{token:["keyword.control.makefile"],regex:"^(?:\\s*\\b)(\\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)(?:\\b)"},{token:["entity.name.function.makefile","text"],regex:"^([^\\t ]+(?:\\s[^\\t ]+)*:)(\\s*.*)"}],comment:[{token:"punctuation.definition.comment.makefile",regex:/.+\\/},{token:"punctuation.definition.comment.makefile",regex:".+",next:"start"}],"shell-start":[{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:"\\w+"},{token:"string.interpolated.backtick.makefile",regex:"`",next:"start"}]}};r.inherits(o,i),t.MakefileHighlightRules=o}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/makefile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/makefile_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./makefile_highlight_rules").MakefileHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.$indentWithTabs=!0,this.$id="ace/mode/makefile"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-markdown.js b/library/ace/mode-markdown.js
new file mode 100644
index 000000000..6d120cc30
--- /dev/null
+++ b/library/ace/mode-markdown.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/xml_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/xml"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";function c(e,t){return{token:"support.function",regex:"^\\s*```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{token:"support.function",regex:"^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^\\s*```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="`"?e.bgTokenizer.getState(n)=="start"?"end":"start":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(/[^#]/)}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;if(r[0]=="`"){if(e.bgTokenizer.getState(n)!=="start"){while(++n<o){r=e.getLine(n);if(r[0]=="`"&r.substring(0,3)=="```")break}return new s(u,i,n,0)}while(n-->0){r=e.getLine(n);if(r[0]=="`"&r.substring(0,3)=="```")break}return new s(n,r.length,u,0)}var f,c="markup.heading";if(l(n)){var p=h();while(++n<o){if(!l(n))continue;var d=h();if(d>=p)break}a=n-(!f||["=","-"].indexOf(f.value[0])==-1?1:2);if(a>u)while(a>u&&/^\s*$/.test(e.getLine(a)))a--;if(a>u){var v=e.getLine(a).length;return new s(u,i,a,v)}}}}.call(o.prototype)}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./xml").Mode,u=e("./html").Mode,a=e("./markdown_highlight_rules").MarkdownHighlightRules,f=e("./folding/markdown").FoldMode,l=function(){this.HighlightRules=a,this.createModeDelegates({"js-":s,"xml-":o,"html-":u}),this.foldingRules=new f};r.inherits(l,i),function(){this.type="text",this.blockComment={start:"<!--",end:"-->"},this.getNextLineIndent=function(e,t,n){if(e=="listblock"){var r=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(t);if(!r)return"";var i=r[2];return i||(i=parseInt(r[3],10)+1+"."),r[1]+i+r[4]}return this.$getIndent(t)},this.$id="ace/mode/markdown"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-mask.js b/library/ace/mode-mask.js
new file mode 100644
index 000000000..d82e5173f
--- /dev/null
+++ b/library/ace/mode-mask.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";function c(e,t){return{token:"support.function",regex:"^\\s*```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{token:"support.function",regex:"^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^\\s*```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/mask_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/css_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";function N(){function t(e,t,n){var r="js-"+e+"-",i=e==="block"?["start"]:["start","no_regex"];s(o,r,t,i,n)}function n(){s(u,"css-block-",/\}/)}function r(){s(a,"md-multiline-",/("""|''')/,[])}function i(){s(f,"html-multiline-",/("""|''')/)}function s(t,n,r,i,s){var o="pop",u=i||["start"];u.length===0&&(u=null),/block|multiline/.test(n)&&(o=n+"end",e.$rules[o]=[k("empty","","start")]),e.embedRules(t,n,[k(s||w,r,o)],u,u==null?!0:!1)}this.$rules={start:[k("comment","\\/\\/.*$"),k("comment","\\/\\*",[k("comment",".*?\\*\\/","start"),k("comment",".+")]),C.string("'''"),C.string('"""'),C.string('"'),C.string("'"),C.syntax(/(markdown|md)\b/,"md-multiline","multiline"),C.syntax(/html\b/,"html-multiline","multiline"),C.syntax(/(slot|event)\b/,"js-block","block"),C.syntax(/style\b/,"css-block","block"),C.syntax(/var\b/,"js-statement","attr"),C.tag(),k(b,"[[({>]"),k(w,"[\\])};]","start"),{caseInsensitive:!0}]};var e=this;t("interpolation",/\]/,w+"."+g),t("statement",/\)|}|;/),t("block",/\}/),n(),r(),i(),this.normalizeRules()}function k(e,t,n){var r,i,s;return arguments.length===4?(r=n,i=arguments[3]):typeof n=="string"?i=n:r=n,typeof e=="function"&&(s=e,e="empty"),{token:e,regex:t,push:r,next:i,onMatch:s}}t.MaskHighlightRules=N;var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./css_highlight_rules").CssHighlightRules,a=e("./markdown_highlight_rules").MarkdownHighlightRules,f=e("./html_highlight_rules").HtmlHighlightRules,l="keyword.support.constant.language",c="support.function.markup.bold",h="keyword",p="constant.language",d="keyword.control.markup.italic",v="support.variable.class",m="keyword.operator",g="markup.italic",y="markup.bold",b="paren.lparen",w="paren.rparen",E,S,x,T;(function(){E=i.arrayToMap("log".split("|")),x=i.arrayToMap(":dualbind|:bind|:import|slot|event|style|html|markdown|md".split("|")),S=i.arrayToMap("debugger|define|var|if|each|for|of|else|switch|case|with|visible|+if|+each|+for|+switch|+with|+visible|include|import".split("|")),T=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|"))})(),r.inherits(N,s);var C={string:function(e,t){var n=k("string.start",e,[k(b+"."+g,/~\[/,C.interpolation()),k("string.end",e,"pop"),{defaultToken:"string"}],t);if(e.length===1){var r=k("string.escape","\\\\"+e);n.push.unshift(r)}return n},interpolation:function(){return[k(d,/\s*\w*\s*:/),"js-interpolation-start"]},tagHead:function(e){return k(v,e,[k(v,/[\w\-_]+/),k(b+"."+g,/~\[/,C.interpolation()),C.goUp()])},tag:function(){return{token:"tag",onMatch:function(e){return void 0!==S[e]?h:void 0!==x[e]?p:void 0!==E[e]?"support.function":void 0!==T[e.toLowerCase()]?l:c},regex:/([@\w\-_:+]+)|((^|\s)(?=\s*(\.|#)))/,push:[C.tagHead(/\./),C.tagHead(/\#/),C.expression(),C.attribute(),k(b,/[;>{]/,"pop")]}},syntax:function(e,t,n){return{token:p,regex:e,push:{attr:[t+"-start",k(m,/;/,"start")],multiline:[C.tagHead(/\./),C.tagHead(/\#/),C.attribute(),C.expression(),k(b,/[>\{]/),k(m,/;/,"start"),k(b,/'''|"""/,[t+"-start"])],block:[C.tagHead(/\./),C.tagHead(/\#/),C.attribute(),C.expression(),k(b,/\{/,[t+"-start"])]}[n]}},attribute:function(){return k(function(e){return/^x\-/.test(e)?v+"."+y:v},/[\w_-]+/,[k(m,/\s*=\s*/,[C.string('"'),C.string("'"),C.word(),C.goUp()]),C.goUp()])},expression:function(){return k(b,/\(/,["js-statement-start"])},word:function(){return k("string",/[\w-_]+/)},goUp:function(){return k("text","","pop")},goStart:function(){return k("text","","start")}}}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/mask",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mask_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./mask_highlight_rules").MaskHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/mask"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-matlab.js b/library/ace/mode-matlab.js
new file mode 100644
index 000000000..5e27ac50f
--- /dev/null
+++ b/library/ace/mode-matlab.js
@@ -0,0 +1 @@
+ace.define("ace/mode/matlab_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="break|case|catch|classdef|continue|else|elseif|end|for|function|global|if|otherwise|parfor|persistent|return|spmd|switch|try|while",t="true|false|inf|Inf|nan|NaN|eps|pi|ans|nargin|nargout|varargin|varargout",n="abs|accumarray|acos(?:d|h)?|acot(?:d|h)?|acsc(?:d|h)?|actxcontrol(?:list|select)?|actxGetRunningServer|actxserver|addlistener|addpath|addpref|addtodate|airy|align|alim|all|allchild|alpha|alphamap|amd|ancestor|and|angle|annotation|any|area|arrayfun|asec(?:d|h)?|asin(?:d|h)?|assert|assignin|atan(?:2|d|h)?|audiodevinfo|audioplayer|audiorecorder|aufinfo|auread|autumn|auwrite|avifile|aviinfo|aviread|axes|axis|balance|bar(?:3|3h|h)?|base2dec|beep|BeginInvoke|bench|bessel(?:h|i|j|k|y)|beta|betainc|betaincinv|betaln|bicg|bicgstab|bicgstabl|bin2dec|bitand|bitcmp|bitget|bitmax|bitnot|bitor|bitset|bitshift|bitxor|blanks|blkdiag|bone|box|brighten|brush|bsxfun|builddocsearchdb|builtin|bvp4c|bvp5c|bvpget|bvpinit|bvpset|bvpxtend|calendar|calllib|callSoapService|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|cart2pol|cart2sph|cast|cat|caxis|cd|cdf2rdf|cdfepoch|cdfinfo|cdflib(?:.(?:close|closeVar|computeEpoch|computeEpoch16|create|createAttr|createVar|delete|deleteAttr|deleteAttrEntry|deleteAttrgEntry|deleteVar|deleteVarRecords|epoch16Breakdown|epochBreakdown|getAttrEntry|getAttrgEntry|getAttrMaxEntry|getAttrMaxgEntry|getAttrName|getAttrNum|getAttrScope|getCacheSize|getChecksum|getCompression|getCompressionCacheSize|getConstantNames|getConstantValue|getCopyright|getFileBackward|getFormat|getLibraryCopyright|getLibraryVersion|getMajority|getName|getNumAttrEntries|getNumAttrgEntries|getNumAttributes|getNumgAttributes|getReadOnlyMode|getStageCacheSize|getValidate|getVarAllocRecords|getVarBlockingFactor|getVarCacheSize|getVarCompression|getVarData|getVarMaxAllocRecNum|getVarMaxWrittenRecNum|getVarName|getVarNum|getVarNumRecsWritten|getVarPadValue|getVarRecordData|getVarReservePercent|getVarsMaxWrittenRecNum|getVarSparseRecords|getVersion|hyperGetVarData|hyperPutVarData|inquire|inquireAttr|inquireAttrEntry|inquireAttrgEntry|inquireVar|open|putAttrEntry|putAttrgEntry|putVarData|putVarRecordData|renameAttr|renameVar|setCacheSize|setChecksum|setCompression|setCompressionCacheSize|setFileBackward|setFormat|setMajority|setReadOnlyMode|setStageCacheSize|setValidate|setVarAllocBlockRecords|setVarBlockingFactor|setVarCacheSize|setVarCompression|setVarInitialRecs|setVarPadValue|SetVarReservePercent|setVarsCacheSize|setVarSparseRecords))?|cdfread|cdfwrite|ceil|cell2mat|cell2struct|celldisp|cellfun|cellplot|cellstr|cgs|checkcode|checkin|checkout|chol|cholinc|cholupdate|circshift|cla|clabel|class|clc|clear|clearvars|clf|clipboard|clock|close|closereq|cmopts|cmpermute|cmunique|colamd|colon|colorbar|colordef|colormap|colormapeditor|colperm|Combine|comet|comet3|commandhistory|commandwindow|compan|compass|complex|computer|cond|condeig|condest|coneplot|conj|containers.Map|contour(?:3|c|f|slice)?|contrast|conv|conv2|convhull|convhulln|convn|cool|copper|copyfile|copyobj|corrcoef|cos(?:d|h)?|cot(?:d|h)?|cov|cplxpair|cputime|createClassFromWsdl|createSoapMessage|cross|csc(?:d|h)?|csvread|csvwrite|ctranspose|cumprod|cumsum|cumtrapz|curl|customverctrl|cylinder|daqread|daspect|datacursormode|datatipinfo|date|datenum|datestr|datetick|datevec|dbclear|dbcont|dbdown|dblquad|dbmex|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|dde23|ddeget|ddesd|ddeset|deal|deblank|dec2base|dec2bin|dec2hex|decic|deconv|del2|delaunay|delaunay3|delaunayn|DelaunayTri|delete|demo|depdir|depfun|det|detrend|deval|diag|dialog|diary|diff|diffuse|dir|disp|display|dither|divergence|dlmread|dlmwrite|dmperm|doc|docsearch|dos|dot|dragrect|drawnow|dsearch|dsearchn|dynamicprops|echo|echodemo|edit|eig|eigs|ellipj|ellipke|ellipsoid|empty|enableNETfromNetworkDrive|enableservice|EndInvoke|enumeration|eomday|eq|erf|erfc|erfcinv|erfcx|erfinv|error|errorbar|errordlg|etime|etree|etreeplot|eval|evalc|evalin|event.(?:EventData|listener|PropertyEvent|proplistener)|exifread|exist|exit|exp|expint|expm|expm1|export2wsdlg|eye|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|factor|factorial|fclose|feather|feature|feof|ferror|feval|fft|fft2|fftn|fftshift|fftw|fgetl|fgets|fieldnames|figure|figurepalette|fileattrib|filebrowser|filemarker|fileparts|fileread|filesep|fill|fill3|filter|filter2|find|findall|findfigs|findobj|findstr|finish|fitsdisp|fitsinfo|fitsread|fitswrite|fix|flag|flipdim|fliplr|flipud|floor|flow|fminbnd|fminsearch|fopen|format|fplot|fprintf|frame2im|fread|freqspace|frewind|fscanf|fseek|ftell|FTP|full|fullfile|func2str|functions|funm|fwrite|fzero|gallery|gamma|gammainc|gammaincinv|gammaln|gca|gcbf|gcbo|gcd|gcf|gco|ge|genpath|genvarname|get|getappdata|getenv|getfield|getframe|getpixelposition|getpref|ginput|gmres|gplot|grabcode|gradient|gray|graymon|grid|griddata(?:3|n)?|griddedInterpolant|gsvd|gt|gtext|guidata|guide|guihandles|gunzip|gzip|h5create|h5disp|h5info|h5read|h5readatt|h5write|h5writeatt|hadamard|handle|hankel|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|help|helpbrowser|helpdesk|helpdlg|helpwin|hess|hex2dec|hex2num|hgexport|hggroup|hgload|hgsave|hgsetget|hgtransform|hidden|hilb|hist|histc|hold|home|horzcat|hostid|hot|hsv|hsv2rgb|hypot|ichol|idivide|ifft|ifft2|ifftn|ifftshift|ilu|im2frame|im2java|imag|image|imagesc|imapprox|imfinfo|imformats|import|importdata|imread|imwrite|ind2rgb|ind2sub|inferiorto|info|inline|inmem|inpolygon|input|inputdlg|inputname|inputParser|inspect|instrcallback|instrfind|instrfindall|int2str|integral(?:2|3)?|interp(?:1|1q|2|3|ft|n)|interpstreamspeed|intersect|intmax|intmin|inv|invhilb|ipermute|isa|isappdata|iscell|iscellstr|ischar|iscolumn|isdir|isempty|isequal|isequaln|isequalwithequalnans|isfield|isfinite|isfloat|isglobal|ishandle|ishghandle|ishold|isinf|isinteger|isjava|iskeyword|isletter|islogical|ismac|ismatrix|ismember|ismethod|isnan|isnumeric|isobject|isocaps|isocolors|isonormals|isosurface|ispc|ispref|isprime|isprop|isreal|isrow|isscalar|issorted|isspace|issparse|isstr|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|javaaddpath|javaArray|javachk|javaclasspath|javacomponent|javaMethod|javaMethodEDT|javaObject|javaObjectEDT|javarmpath|jet|keyboard|kron|lasterr|lasterror|lastwarn|lcm|ldivide|ldl|le|legend|legendre|length|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|license|light|lightangle|lighting|lin2mu|line|lines|linkaxes|linkdata|linkprop|linsolve|linspace|listdlg|listfonts|load|loadlibrary|loadobj|log|log10|log1p|log2|loglog|logm|logspace|lookfor|lower|ls|lscov|lsqnonneg|lsqr|lt|lu|luinc|magic|makehgtform|mat2cell|mat2str|material|matfile|matlab.io.MatFile|matlab.mixin.(?:Copyable|Heterogeneous(?:.getDefaultScalarElement)?)|matlabrc|matlabroot|max|maxNumCompThreads|mean|median|membrane|memmapfile|memory|menu|mesh|meshc|meshgrid|meshz|meta.(?:class(?:.fromName)?|DynamicProperty|EnumeratedValue|event|MetaData|method|package(?:.(?:fromName|getAllPackages))?|property)|metaclass|methods|methodsview|mex(?:.getCompilerConfigurations)?|MException|mexext|mfilename|min|minres|minus|mislocked|mkdir|mkpp|mldivide|mlint|mlintrpt|mlock|mmfileinfo|mmreader|mod|mode|more|move|movefile|movegui|movie|movie2avi|mpower|mrdivide|msgbox|mtimes|mu2lin|multibandread|multibandwrite|munlock|namelengthmax|nargchk|narginchk|nargoutchk|native2unicode|nccreate|ncdisp|nchoosek|ncinfo|ncread|ncreadatt|ncwrite|ncwriteatt|ncwriteschema|ndgrid|ndims|ne|NET(?:.(?:addAssembly|Assembly|convertArray|createArray|createGeneric|disableAutoRelease|enableAutoRelease|GenericClass|invokeGenericMethod|NetException|setStaticProperty))?|netcdf.(?:abort|close|copyAtt|create|defDim|defGrp|defVar|defVarChunking|defVarDeflate|defVarFill|defVarFletcher32|delAtt|endDef|getAtt|getChunkCache|getConstant|getConstantNames|getVar|inq|inqAtt|inqAttID|inqAttName|inqDim|inqDimID|inqDimIDs|inqFormat|inqGrpName|inqGrpNameFull|inqGrpParent|inqGrps|inqLibVers|inqNcid|inqUnlimDims|inqVar|inqVarChunking|inqVarDeflate|inqVarFill|inqVarFletcher32|inqVarID|inqVarIDs|open|putAtt|putVar|reDef|renameAtt|renameDim|renameVar|setChunkCache|setDefaultFormat|setFill|sync)|newplot|nextpow2|nnz|noanimate|nonzeros|norm|normest|not|notebook|now|nthroot|null|num2cell|num2hex|num2str|numel|nzmax|ode(?:113|15i|15s|23|23s|23t|23tb|45)|odeget|odeset|odextend|onCleanup|ones|open|openfig|opengl|openvar|optimget|optimset|or|ordeig|orderfields|ordqz|ordschur|orient|orth|pack|padecoef|pagesetupdlg|pan|pareto|parseSoapResponse|pascal|patch|path|path2rc|pathsep|pathtool|pause|pbaspect|pcg|pchip|pcode|pcolor|pdepe|pdeval|peaks|perl|perms|permute|pie|pink|pinv|planerot|playshow|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|plus|pol2cart|polar|poly|polyarea|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|power|ppval|prefdir|preferences|primes|print|printdlg|printopt|printpreview|prod|profile|profsave|propedit|propertyeditor|psi|publish|PutCharArray|PutFullMatrix|PutWorkspaceData|pwd|qhull|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quad2d|quadgk|quadl|quadv|questdlg|quit|quiver|quiver3|qz|rand|randi|randn|randperm|RandStream(?:.(?:create|getDefaultStream|getGlobalStream|list|setDefaultStream|setGlobalStream))?|rank|rat|rats|rbbox|rcond|rdivide|readasync|real|reallog|realmax|realmin|realpow|realsqrt|record|rectangle|rectint|recycle|reducepatch|reducevolume|refresh|refreshdata|regexp|regexpi|regexprep|regexptranslate|rehash|rem|Remove|RemoveAll|repmat|reset|reshape|residue|restoredefaultpath|rethrow|rgb2hsv|rgb2ind|rgbplot|ribbon|rmappdata|rmdir|rmfield|rmpath|rmpref|rng|roots|rose|rosser|rot90|rotate|rotate3d|round|rref|rsf2csf|run|save|saveas|saveobj|savepath|scatter|scatter3|schur|sec|secd|sech|selectmoveresize|semilogx|semilogy|sendmail|serial|set|setappdata|setdiff|setenv|setfield|setpixelposition|setpref|setstr|setxor|shading|shg|shiftdim|showplottool|shrinkfaces|sign|sin(?:d|h)?|size|slice|smooth3|snapnow|sort|sortrows|sound|soundsc|spalloc|spaugment|spconvert|spdiags|specular|speye|spfun|sph2cart|sphere|spinmap|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spring|sprintf|spy|sqrt|sqrtm|squeeze|ss2tf|sscanf|stairs|startup|std|stem|stem3|stopasync|str2double|str2func|str2mat|str2num|strcat|strcmp|strcmpi|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|strfind|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|struct2cell|structfun|strvcat|sub2ind|subplot|subsasgn|subsindex|subspace|subsref|substruct|subvolume|sum|summer|superclasses|superiorto|support|surf|surf2patch|surface|surfc|surfl|surfnorm|svd|svds|swapbytes|symamd|symbfact|symmlq|symrcm|symvar|system|tan(?:d|h)?|tar|tempdir|tempname|tetramesh|texlabel|text|textread|textscan|textwrap|tfqmr|throw|tic|Tiff(?:.(?:getTagNames|getVersion))?|timer|timerfind|timerfindall|times|timeseries|title|toc|todatenum|toeplitz|toolboxdir|trace|transpose|trapz|treelayout|treeplot|tril|trimesh|triplequad|triplot|TriRep|TriScatteredInterp|trisurf|triu|tscollection|tsearch|tsearchn|tstool|type|typecast|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uiimport|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitable|uitoggletool|uitoolbar|uiwait|uminus|undocheckout|unicode2native|union|unique|unix|unloadlibrary|unmesh|unmkpp|untar|unwrap|unzip|uplus|upper|urlread|urlwrite|usejava|userpath|validateattributes|validatestring|vander|var|vectorize|ver|verctrl|verLessThan|version|vertcat|VideoReader(?:.isPlatformSupported)?|VideoWriter(?:.getProfiles)?|view|viewmtx|visdiff|volumebounds|voronoi|voronoin|wait|waitbar|waitfor|waitforbuttonpress|warndlg|warning|waterfall|wavfinfo|wavplay|wavread|wavrecord|wavwrite|web|weekday|what|whatsnew|which|whitebg|who|whos|wilkinson|winopen|winqueryreg|winter|wk1finfo|wk1read|wk1write|workspace|xlabel|xlim|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xor|xslt|ylabel|ylim|zeros|zip|zlabel|zlim|zoom|addedvarplot|andrewsplot|anova(?:1|2|n)|ansaribradley|aoctool|barttest|bbdesign|beta(?:cdf|fit|inv|like|pdf|rnd|stat)|bino(?:cdf|fit|inv|pdf|rnd|stat)|biplot|bootci|bootstrp|boxplot|candexch|candgen|canoncorr|capability|capaplot|caseread|casewrite|categorical|ccdesign|cdfplot|chi2(?:cdf|gof|inv|pdf|rnd|stat)|cholcov|Classification(?:BaggedEnsemble|Discriminant(?:.(?:fit|make|template))?|Ensemble|KNN(?:.(?:fit|template))?|PartitionedEnsemble|PartitionedModel|Tree(?:.(?:fit|template))?)|classify|classregtree|cluster|clusterdata|cmdscale|combnk|Compact(?:Classification(?:Discriminant|Ensemble|Tree)|Regression(?:Ensemble|Tree)|TreeBagger)|confusionmat|controlchart|controlrules|cophenet|copula(?:cdf|fit|param|pdf|rnd|stat)|cordexch|corr|corrcov|coxphfit|createns|crosstab|crossval|cvpartition|datasample|dataset|daugment|dcovary|dendrogram|dfittool|disttool|dummyvar|dwtest|ecdf|ecdfhist|ev(?:cdf|fit|inv|like|pdf|rnd|stat)|ExhaustiveSearcher|exp(?:cdf|fit|inv|like|pdf|rnd|stat)|factoran|fcdf|ff2n|finv|fitdist|fitensemble|fpdf|fracfact|fracfactgen|friedman|frnd|fstat|fsurfht|fullfact|gagerr|gam(?:cdf|fit|inv|like|pdf|rnd|stat)|GeneralizedLinearModel(?:.fit)?|geo(?:cdf|inv|mean|pdf|rnd|stat)|gev(?:cdf|fit|inv|like|pdf|rnd|stat)|gline|glmfit|glmval|glyphplot|gmdistribution(?:.fit)?|gname|gp(?:cdf|fit|inv|like|pdf|rnd|stat)|gplotmatrix|grp2idx|grpstats|gscatter|haltonset|harmmean|hist3|histfit|hmm(?:decode|estimate|generate|train|viterbi)|hougen|hyge(?:cdf|inv|pdf|rnd|stat)|icdf|inconsistent|interactionplot|invpred|iqr|iwishrnd|jackknife|jbtest|johnsrnd|KDTreeSearcher|kmeans|knnsearch|kruskalwallis|ksdensity|kstest|kstest2|kurtosis|lasso|lassoglm|lassoPlot|leverage|lhsdesign|lhsnorm|lillietest|LinearModel(?:.fit)?|linhyptest|linkage|logn(?:cdf|fit|inv|like|pdf|rnd|stat)|lsline|mad|mahal|maineffectsplot|manova1|manovacluster|mdscale|mhsample|mle|mlecov|mnpdf|mnrfit|mnrnd|mnrval|moment|multcompare|multivarichart|mvn(?:cdf|pdf|rnd)|mvregress|mvregresslike|mvt(?:cdf|pdf|rnd)|NaiveBayes(?:.fit)?|nan(?:cov|max|mean|median|min|std|sum|var)|nbin(?:cdf|fit|inv|pdf|rnd|stat)|ncf(?:cdf|inv|pdf|rnd|stat)|nct(?:cdf|inv|pdf|rnd|stat)|ncx2(?:cdf|inv|pdf|rnd|stat)|NeighborSearcher|nlinfit|nlintool|nlmefit|nlmefitsa|nlparci|nlpredci|nnmf|nominal|NonLinearModel(?:.fit)?|norm(?:cdf|fit|inv|like|pdf|rnd|stat)|normplot|normspec|ordinal|outlierMeasure|parallelcoords|paretotails|partialcorr|pcacov|pcares|pdf|pdist|pdist2|pearsrnd|perfcurve|perms|piecewisedistribution|plsregress|poiss(?:cdf|fit|inv|pdf|rnd|tat)|polyconf|polytool|prctile|princomp|ProbDist(?:Kernel|Parametric|UnivKernel|UnivParam)?|probplot|procrustes|qqplot|qrandset|qrandstream|quantile|randg|random|randsample|randtool|range|rangesearch|ranksum|rayl(?:cdf|fit|inv|pdf|rnd|stat)|rcoplot|refcurve|refline|regress|Regression(?:BaggedEnsemble|Ensemble|PartitionedEnsemble|PartitionedModel|Tree(?:.(?:fit|template))?)|regstats|relieff|ridge|robustdemo|robustfit|rotatefactors|rowexch|rsmdemo|rstool|runstest|sampsizepwr|scatterhist|sequentialfs|signrank|signtest|silhouette|skewness|slicesample|sobolset|squareform|statget|statset|stepwise|stepwisefit|surfht|tabulate|tblread|tblwrite|tcdf|tdfread|tiedrank|tinv|tpdf|TreeBagger|treedisp|treefit|treeprune|treetest|treeval|trimmean|trnd|tstat|ttest|ttest2|unid(?:cdf|inv|pdf|rnd|stat)|unif(?:cdf|inv|it|pdf|rnd|stat)|vartest(?:2|n)?|wbl(?:cdf|fit|inv|like|pdf|rnd|stat)|wblplot|wishrnd|x2fx|xptread|zscore|ztestadapthisteq|analyze75info|analyze75read|applycform|applylut|axes2pix|bestblk|blockproc|bwarea|bwareaopen|bwboundaries|bwconncomp|bwconvhull|bwdist|bwdistgeodesic|bweuler|bwhitmiss|bwlabel|bwlabeln|bwmorph|bwpack|bwperim|bwselect|bwtraceboundary|bwulterode|bwunpack|checkerboard|col2im|colfilt|conndef|convmtx2|corner|cornermetric|corr2|cp2tform|cpcorr|cpselect|cpstruct2pairs|dct2|dctmtx|deconvblind|deconvlucy|deconvreg|deconvwnr|decorrstretch|demosaic|dicom(?:anon|dict|info|lookup|read|uid|write)|edge|edgetaper|entropy|entropyfilt|fan2para|fanbeam|findbounds|fliptform|freqz2|fsamp2|fspecial|ftrans2|fwind1|fwind2|getheight|getimage|getimagemodel|getline|getneighbors|getnhood|getpts|getrangefromclass|getrect|getsequence|gray2ind|graycomatrix|graycoprops|graydist|grayslice|graythresh|hdrread|hdrwrite|histeq|hough|houghlines|houghpeaks|iccfind|iccread|iccroot|iccwrite|idct2|ifanbeam|im2bw|im2col|im2double|im2int16|im2java2d|im2single|im2uint16|im2uint8|imabsdiff|imadd|imadjust|ImageAdapter|imageinfo|imagemodel|imapplymatrix|imattributes|imbothat|imclearborder|imclose|imcolormaptool|imcomplement|imcontour|imcontrast|imcrop|imdilate|imdisplayrange|imdistline|imdivide|imellipse|imerode|imextendedmax|imextendedmin|imfill|imfilter|imfindcircles|imfreehand|imfuse|imgca|imgcf|imgetfile|imhandles|imhist|imhmax|imhmin|imimposemin|imlincomb|imline|immagbox|immovie|immultiply|imnoise|imopen|imoverview|imoverviewpanel|impixel|impixelinfo|impixelinfoval|impixelregion|impixelregionpanel|implay|impoint|impoly|impositionrect|improfile|imputfile|impyramid|imreconstruct|imrect|imregconfig|imregionalmax|imregionalmin|imregister|imresize|imroi|imrotate|imsave|imscrollpanel|imshow|imshowpair|imsubtract|imtool|imtophat|imtransform|imview|ind2gray|ind2rgb|interfileinfo|interfileread|intlut|ippl|iptaddcallback|iptcheckconn|iptcheckhandle|iptcheckinput|iptcheckmap|iptchecknargin|iptcheckstrs|iptdemos|iptgetapi|iptGetPointerBehavior|iptgetpref|ipticondir|iptnum2ordinal|iptPointerManager|iptprefs|iptremovecallback|iptSetPointerBehavior|iptsetpref|iptwindowalign|iradon|isbw|isflat|isgray|isicc|isind|isnitf|isrgb|isrset|lab2double|lab2uint16|lab2uint8|label2rgb|labelmatrix|makecform|makeConstrainToRectFcn|makehdr|makelut|makeresampler|maketform|mat2gray|mean2|medfilt2|montage|nitfinfo|nitfread|nlfilter|normxcorr2|ntsc2rgb|openrset|ordfilt2|otf2psf|padarray|para2fan|phantom|poly2mask|psf2otf|qtdecomp|qtgetblk|qtsetblk|radon|rangefilt|reflect|regionprops|registration.metric.(?:MattesMutualInformation|MeanSquares)|registration.optimizer.(?:OnePlusOneEvolutionary|RegularStepGradientDescent)|rgb2gray|rgb2ntsc|rgb2ycbcr|roicolor|roifill|roifilt2|roipoly|rsetwrite|std2|stdfilt|strel|stretchlim|subimage|tformarray|tformfwd|tforminv|tonemap|translate|truesize|uintlut|viscircles|warp|watershed|whitepoint|wiener2|xyz2double|xyz2uint16|ycbcr2rgb|bintprog|color|fgoalattain|fminbnd|fmincon|fminimax|fminsearch|fminunc|fseminf|fsolve|fzero|fzmult|gangstr|ktrlink|linprog|lsqcurvefit|lsqlin|lsqnonlin|lsqnonneg|optimget|optimset|optimtool|quadprog",r="cell|struct|char|double|single|logical|u?int(?:8|16|32|64)|sparse",i=this.createKeywordMapper({"storage.type":r,"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"string",regex:"'",stateName:"qstring",next:[{token:"constant.language.escape",regex:"''"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]},{token:"text",regex:"\\s+"},{regex:"",next:"noQstring"}],noQstring:[{regex:"^\\s*%{\\s*$",token:"comment.start",push:"blockComment"},{token:"comment",regex:"%[^\r\n]*"},{token:"string",regex:'"',stateName:"qqstring",next:[{token:"constant.language.escape",regex:/\\./},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=",next:"start"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.",next:"start"},{token:"paren.lparen",regex:"[({\\[]",next:"start"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"},{token:"text",regex:"$",next:"start"}],blockComment:[{regex:"^\\s*%{\\s*$",token:"comment.start",push:"blockComment"},{regex:"^\\s*%}\\s*$",token:"comment.end",next:"pop"},{defaultToken:"comment"}]},this.normalizeRules()};r.inherits(s,i),t.MatlabHighlightRules=s}),ace.define("ace/mode/matlab",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/matlab_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./matlab_highlight_rules").MatlabHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="%",this.blockComment={start:"%{",end:"%}"},this.$id="ace/mode/matlab"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-maze.js b/library/ace/mode-maze.js
new file mode 100644
index 000000000..0fc03e70c
--- /dev/null
+++ b/library/ace/mode-maze.js
@@ -0,0 +1 @@
+ace.define("ace/mode/maze_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.control",regex:/##|``/,comment:"Wall"},{token:"entity.name.tag",regex:/\.\./,comment:"Path"},{token:"keyword.control",regex:/<>/,comment:"Splitter"},{token:"entity.name.tag",regex:/\*[\*A-Za-z0-9]/,comment:"Signal"},{token:"constant.numeric",regex:/[0-9]{2}/,comment:"Pause"},{token:"keyword.control",regex:/\^\^/,comment:"Start"},{token:"keyword.control",regex:/\(\)/,comment:"Hole"},{token:"support.function",regex:/>>/,comment:"Out"},{token:"support.function",regex:/>\//,comment:"Ln Out"},{token:"support.function",regex:/<</,comment:"In"},{token:"keyword.control",regex:/--/,comment:"One use"},{token:"constant.language",regex:/%[LRUDNlrudn]/,comment:"Direction"},{token:["entity.name.function","keyword.other","keyword.operator","keyword.other","keyword.operator","constant.numeric","keyword.operator","keyword.other","keyword.operator","constant.numeric","string.quoted.double","string.quoted.single"],regex:/([A-Za-z][A-Za-z0-9])( *-> *)(?:([-+*\/]=)( *)((?:-)?)([0-9]+)|(=)( *)(?:((?:-)?)([0-9]+)|("[^"]*")|('[^']*')))/,comment:"Assignment function"},{token:["entity.name.function","keyword.other","keyword.control","keyword.other","keyword.operator","keyword.other","keyword.operator","constant.numeric","entity.name.tag","keyword.other","keyword.control","keyword.other","constant.language","keyword.other","keyword.control","keyword.other","constant.language"],regex:/([A-Za-z][A-Za-z0-9])( *-> *)(IF|if)( *)(?:([<>]=?|==)( *)((?:-)?)([0-9]+)|(\*[\*A-Za-z0-9]))( *)(THEN|then)( *)(%[LRUDNlrudn])(?:( *)(ELSE|else)( *)(%[LRUDNlrudn]))?/,comment:"Equality Function"},{token:"entity.name.function",regex:/[A-Za-z][A-Za-z0-9]/,comment:"Function cell"},{token:"comment.line.double-slash",regex:/ *\/\/.*/,comment:"Comment"}]},this.normalizeRules()};s.metaData={fileTypes:["mz"],name:"Maze",scopeName:"source.maze"},r.inherits(s,i),t.MazeHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/maze",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/maze_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./maze_highlight_rules").MazeHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/maze"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-mel.js b/library/ace/mode-mel.js
new file mode 100644
index 000000000..9d3033fc2
--- /dev/null
+++ b/library/ace/mode-mel.js
@@ -0,0 +1 @@
+ace.define("ace/mode/mel_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{caseInsensitive:!0,token:"storage.type.mel",regex:"\\b(matrix|string|vector|float|int|void)\\b"},{caseInsensitive:!0,token:"support.function.mel",regex:"\\b((s(h(ow(ManipCtx|S(hadingGroupAttrEditor|electionInTitle)|H(idden|elp)|Window)|el(f(Button|TabLayout|Layout)|lField)|ading(GeometryRelCtx|Node|Connection|LightRelCtx))|y(s(tem|File)|mbol(Button|CheckBox))|nap(shot|Mode|2to2 |TogetherCtx|Key)|c(ulpt|ene(UIReplacement|Editor)|ale(BrushBrightness |Constraint|Key(Ctx)?)?|r(ipt(Node|Ctx|Table|edPanel(Type)?|Job|EditorInfo)|oll(Field|Layout))|mh)|t(itch(Surface(Points)?|AndExplodeShell )|a(ckTrace|rt(sWith |String ))|r(cmp|i(ng(ToStringArray |Array(Remove(Duplicates | )|C(ount |atenate )|ToString |Intersector))|p )|oke))|i(n(gleProfileBirailSurface)?|ze|gn|mplify)|o(u(nd(Control)?|rce)|ft(Mod(Ctx)?)?|rt)|u(perCtx|rface(S(haderList|ampler))?|b(st(itute(Geometry|AllString )?|ring)|d(M(irror|a(tchTopology|p(SewMove|Cut)))|iv(Crease|DisplaySmoothness)?|C(ollapse|leanTopology)|T(o(Blind|Poly)|ransferUVsToCache)|DuplicateAndConnect|EditUV|ListComponentConversion|AutoProjection)))|p(h(ere|rand)|otLight(PreviewPort)?|aceLocator|r(ing|eadSheetEditor))|e(t(s|MenuMode|Sta(te |rtupMessage|mpDensity )|NodeTypeFlag|ConstraintRestPosition |ToolTo|In(putDeviceMapping|finity)|D(ynamic|efaultShadingGroup|rivenKeyframe)|UITemplate|P(ar(ticleAttr|ent)|roject )|E(scapeCtx|dit(or|Ctx))|Key(Ctx|frame|Path)|F(ocus|luidAttr)|Attr(Mapping)?)|parator|ed|l(ect(Mode|ionConnection|Context|Type|edNodes|Pr(iority|ef)|Key(Ctx)?)?|LoadSettings)|archPathArray )|kin(Cluster|Percent)|q(uareSurface|rt)|w(itchTable|atchDisplayPort)|a(ve(Menu|Shelf|ToolSettings|I(nitialState|mage)|Pref(s|Objects)|Fluid|A(ttrPreset |llShelves))|mpleImage)|rtContext|mooth(step|Curve|TangentSurface))|h(sv_to_rgb|yp(ot|er(Graph|Shade|Panel))|i(tTest|de|lite)|ot(Box|key(Check)?)|ud(Button|Slider(Button)?)|e(lp(Line)?|adsUpDisplay|rmite)|wRe(nder(Load)?|flectionMap)|ard(enPointCurve|ware(RenderPanel)?))|n(o(nLinear|ise|de(Type|IconButton|Outliner|Preset)|rmal(ize |Constraint))|urbs(Boolean|S(elect|quare)|C(opyUVSet|ube)|To(Subdiv|Poly(gonsPref)?)|Plane|ViewDirectionVector )|ew(ton|PanelItems)|ame(space(Info)?|Command|Field))|c(h(oice|dir|eck(Box(Grp)?|DefaultRenderGlobals)|a(n(nelBox|geSubdiv(Region|ComponentDisplayLevel))|racter(Map|OutlineEditor)?))|y(cleCheck|linder)|tx(Completion|Traverse|EditMode|Abort)|irc(ularFillet|le)|o(s|n(str(uctionHistory|ain(Value)?)|nect(ionInfo|Control|Dynamic|Joint|Attr)|t(extInfo|rol)|dition|e|vert(SolidTx|Tessellation|Unit|FromOldLayers |Lightmap)|firmDialog)|py(SkinWeights|Key|Flexor|Array )|l(or(Slider(Grp|ButtonGrp)|Index(SliderGrp)?|Editor|AtPoint)?|umnLayout|lision)|arsenSubdivSelectionList|m(p(onentEditor|utePolysetVolume |actHairSystem )|mand(Port|Echo|Line)))|u(tKey|r(ve(MoveEPCtx|SketchCtx|CVCtx|Intersect|OnSurface|E(ditorCtx|PCtx)|AddPtCtx)?|rent(Ctx|Time(Ctx)?|Unit)))|p(GetSolverAttr|Button|S(olver(Types)?|e(t(SolverAttr|Edit)|am))|C(o(nstraint|llision)|ache)|Tool|P(anel|roperty))|eil|l(ip(Schedule(rOutliner)?|TrimBefore |Editor(CurrentTimeCtx)?)?|ose(Surface|Curve)|uster|ear(Cache)?|amp)|a(n(CreateManip|vas)|tch(Quiet)?|pitalizeString |mera(View)?)|r(oss(Product )?|eate(RenderLayer|MotionField |SubdivRegion|N(ode|ewShelf )|D(isplayLayer|rawCtx)|Editor))|md(Shell|FileOutput))|M(R(ender(ShadowData|Callback|Data|Util|View|Line(Array)?)|ampAttribute)|G(eometryData|lobal)|M(odelMessage|essage|a(nipData|t(erial|rix)))|BoundingBox|S(yntax|ceneMessage|t(atus|ring(Array)?)|imple|pace|elect(ion(Mask|List)|Info)|watchRender(Register|Base))|H(ardwareRenderer|WShaderSwatchGenerator)|NodeMessage|C(o(nditionMessage|lor(Array)?|m(putation|mand(Result|Message)))|ursor|loth(Material|S(ystem|olverRegister)|Con(straint|trol)|Triangle|Particle|Edge|Force)|allbackIdArray)|T(ypeId|ime(r(Message)?|Array)?|oolsInfo|esselationParams|r(imBoundaryArray|ansformationMatrix))|I(ntArray|t(Geometry|Mesh(Polygon|Edge|Vertex|FaceVertex)|S(urfaceCV|electionList)|CurveCV|Instancer|eratorType|D(ependency(Graph|Nodes)|ag)|Keyframe)|k(System|HandleGroup)|mage)|3dView|Object(SetMessage|Handle|Array)?|D(G(M(odifier|essage)|Context)|ynSwept(Triangle|Line)|istance|oubleArray|evice(State|Channel)|a(ta(Block|Handle)|g(M(odifier|essage)|Path(Array)?))|raw(Request(Queue)?|Info|Data|ProcedureBase))|U(serEventMessage|i(nt(Array|64Array)|Message))|P(o(int(Array)?|lyMessage)|lug(Array)?|rogressWindow|x(G(eometry(Iterator|Data)|lBuffer)|M(idiInputDevice|odelEditorCommand|anipContainer)|S(urfaceShape(UI)?|pringNode|electionContext)|HwShaderNode|Node|Co(ntext(Command)?|m(ponentShape|mand))|T(oolCommand|ransform(ationMatrix)?)|IkSolver(Node)?|3dModelView|ObjectSet|D(eformerNode|ata|ragAndDropBehavior)|PolyT(weakUVCommand|rg)|EmitterNode|F(i(eldNode|leTranslator)|luidEmitterNode)|LocatorNode))|E(ulerRotation|vent(Message)?)|ayatomr|Vector(Array)?|Quaternion|F(n(R(otateManip|eflectShader|adialField)|G(e(nericAttribute|ometry(Data|Filter))|ravityField)|M(otionPath|es(sageAttribute|h(Data)?)|a(nip3D|trix(Data|Attribute)))|B(l(innShader|endShapeDeformer)|ase)|S(caleManip|t(ateManip|ring(Data|ArrayData))|ingleIndexedComponent|ubd(Names|Data)?|p(hereData|otLight)|et|kinCluster)|HikEffector|N(on(ExtendedLight|AmbientLight)|u(rbs(Surface(Data)?|Curve(Data)?)|meric(Data|Attribute))|ewtonField)|C(haracter|ircleSweepManip|ompo(nent(ListData)?|undAttribute)|urveSegmentManip|lip|amera)|T(ypedAttribute|oggleManip|urbulenceField|r(ipleIndexedComponent|ansform))|I(ntArrayData|k(Solver|Handle|Joint|Effector))|D(ynSweptGeometryData|i(s(cManip|tanceManip)|rection(Manip|alLight))|ouble(IndexedComponent|ArrayData)|ependencyNode|a(ta|gNode)|ragField)|U(ni(tAttribute|formField)|Int64ArrayData)|P(hong(Shader|EShader)|oint(On(SurfaceManip|CurveManip)|Light|ArrayData)|fxGeometry|lugin(Data)?|arti(cleSystem|tion))|E(numAttribute|xpression)|V(o(lume(Light|AxisField)|rtexField)|ectorArrayData)|KeyframeDelta(Move|B(lockAddRemove|reakdown)|Scale|Tangent|InfType|Weighted|AddRemove)?|F(ield|luid|reePointTriadManip)|W(ireDeformer|eightGeometryFilter)|L(ight(DataAttribute)?|a(yeredShader|ttice(D(eformer|ata))?|mbertShader))|A(ni(sotropyShader|mCurve)|ttribute|irField|r(eaLight|rayAttrsData)|mbientLight))?|ile(IO|Object)|eedbackLine|loat(Matrix|Point(Array)?|Vector(Array)?|Array))|L(i(ghtLinks|brary)|ockMessage)|A(n(im(Message|C(ontrol|urveC(hange|lipboard(Item(Array)?)?))|Util)|gle)|ttribute(Spec(Array)?|Index)|r(rayData(Builder|Handle)|g(Database|Parser|List))))|t(hreePointArcCtx|ime(Control|Port|rX)|o(ol(Button|HasOptions|Collection|Dropped|PropertyWindow)|NativePath |upper|kenize(List )?|l(ower|erance)|rus|ggle(WindowVisibility|Axis)?)|u(rbulence|mble(Ctx)?)|ex(RotateContext|M(oveContext|anipContext)|t(ScrollList|Curves|ure(HairColor |DisplacePlane |PlacementContext|Window)|ToShelf |Field(Grp|ButtonGrp)?)?|S(caleContext|electContext|mudgeUVContext)|WinToolCtx)|woPointArcCtx|a(n(gentConstraint)?|bLayout)|r(im|unc(ate(HairCache|FluidCache))?|a(ns(formLimits|lator)|c(e|k(Ctx)?))))|i(s(olateSelect|Connected|True|Dirty|ParentOf |Valid(String |ObjectName |UiName )|AnimCurve )|n(s(tance(r)?|ert(Joint(Ctx)?|K(not(Surface|Curve)|eyCtx)))|heritTransform|t(S(crollBar|lider(Grp)?)|er(sect|nalVar|ToUI )|Field(Grp)?))|conText(Radio(Button|Collection)|Button|StaticLabel|CheckBox)|temFilter(Render|Type|Attr)?|prEngine|k(S(ystem(Info)?|olver|plineHandleCtx)|Handle(Ctx|DisplayScale)?|fkDisplayMethod)|m(portComposerCurves |fPlugins|age))|o(ceanNurbsPreviewPlane |utliner(Panel|Editor)|p(tion(Menu(Grp)?|Var)|en(GLExtension|MayaPref))|verrideModifier|ffset(Surface|Curve(OnSurface)?)|r(ientConstraint|bit(Ctx)?)|b(soleteProc |j(ect(Center|Type(UI)?|Layer )|Exists)))|d(yn(RelEd(itor|Panel)|Globals|C(ontrol|ache)|P(a(intEditor|rticleCtx)|ref)|Exp(ort|ression)|amicLoad)|i(s(connect(Joint|Attr)|tanceDim(Context|ension)|pla(y(RGBColor|S(tats|urface|moothness)|C(olor|ull)|Pref|LevelOfDetail|Affected)|cementToPoly)|kCache|able)|r(name |ect(ionalLight|KeyCtx)|map)|mWhen)|o(cServer|Blur|t(Product )?|ubleProfileBirailSurface|peSheetEditor|lly(Ctx)?)|uplicate(Surface|Curve)?|e(tach(Surface|Curve|DeviceAttr)|vice(Panel|Editor)|f(ine(DataServer|VirtualDevice)|ormer|ault(Navigation|LightListCheckBox))|l(ete(Sh(elfTab |adingGroupsAndMaterials )|U(nusedBrushes |I)|Attr)?|randstr)|g_to_rad)|agPose|r(opoffLocator|ag(gerContext)?)|g(timer|dirty|Info|eval))|CBG |u(serCtx|n(t(angleUV|rim)|i(t|form)|do(Info)?|loadPlugin|assignInputDevice|group)|iTemplate|p(dateAE |Axis)|v(Snapshot|Link))|joint(C(tx|luster)|DisplayScale|Lattice)?|p(sd(ChannelOutliner|TextureFile|E(ditTextureFile|xport))|close|i(c(ture|kWalk)|xelMove)|o(se|int(MatrixMult |C(onstraint|urveConstraint)|On(Surface|Curve)|Position|Light)|p(upMenu|en)|w|l(y(Reduce|GeoSampler|M(irrorFace|ove(UV|Edge|Vertex|Facet(UV)?)|erge(UV|Edge(Ctx)?|Vertex|Facet(Ctx)?)|ap(Sew(Move)?|Cut|Del))|B(oolOp|evel|l(indData|endColor))|S(traightenUVBorder|oftEdge|u(perCtx|bdivide(Edge|Facet))|p(her(icalProjection|e)|lit(Ring|Ctx|Edge|Vertex)?)|e(tToFaceNormal|parate|wEdge|lect(Constraint(Monitor)?|EditCtx))|mooth)|Normal(izeUV|PerVertex)?|C(hipOff|ylind(er|ricalProjection)|o(ne|pyUV|l(or(BlindData|Set|PerVertex)|lapse(Edge|Facet)))|u(t(Ctx)?|be)|l(ipboard|oseBorder)|acheMonitor|rea(seEdge|teFacet(Ctx)?))|T(o(Subdiv|rus)|r(iangulate|ansfer))|In(stallAction|fo)|Options|D(uplicate(Edge|AndConnect)|el(Edge|Vertex|Facet))|U(nite|VSet)|P(yramid|oke|lan(e|arProjection)|r(ism|ojection))|E(ditUV|valuate|xtrude(Edge|Facet))|Qu(eryBlindData|ad)|F(orceUV|lip(UV|Edge))|WedgeFace|L(istComponentConversion|ayoutUV)|A(utoProjection|ppend(Vertex|FacetCtx)?|verage(Normal|Vertex)))|eVectorConstraint))|utenv|er(cent|formanceOptions)|fxstrokes|wd|l(uginInfo|a(y(b(last|ackOptions))?|n(e|arSrf)))|a(steKey|ne(l(History|Configuration)?|Layout)|thAnimation|irBlend|use|lettePort|r(ti(cle(RenderInfo|Instancer|Exists)?|tion)|ent(Constraint)?|am(Dim(Context|ension)|Locator)))|r(int|o(j(ect(ion(Manip|Context)|Curve|Tangent)|FileViewer)|pMo(dCtx|ve)|gress(Bar|Window)|mptDialog)|eloadRefEd))|e(n(codeString|d(sWith |String )|v|ableDevice)|dit(RenderLayer(Globals|Members)|or(Template)?|DisplayLayer(Globals|Members)|AttrLimits )|v(ent|al(Deferred|Echo)?)|quivalent(Tol | )|ffector|r(f|ror)|x(clusiveLightCheckBox|t(end(Surface|Curve)|rude)|ists|p(ortComposerCurves |ression(EditorListen)?)?|ec(uteForEachObject )?|actWorldBoundingBox)|mit(ter)?)|v(i(sor|ew(Set|HeadOn|2dToolCtx|C(lipPlane|amera)|Place|Fit|LookAt))|o(lumeAxis|rtex)|e(ctorize|rifyCmd )|alidateShelfName )|key(Tangent|frame(Region(MoveKeyCtx|S(caleKeyCtx|e(tKeyCtx|lectKeyCtx))|CurrentTimeCtx|TrackCtx|InsertKeyCtx|D(irectKeyCtx|ollyCtx))|Stats|Outliner)?)|qu(it|erySubdiv)|f(c(heck|lose)|i(nd(RelatedSkinCluster |MenuItem |er|Keyframe|AllIntersections )|tBspline|l(ter(StudioImport|Curve|Expand)?|e(BrowserDialog|test|Info|Dialog|Extension )?|letCurve)|rstParentOf )|o(ntDialog|pen|rmLayout)|print|eof|flush|write|l(o(or|w|at(S(crollBar|lider(Grp|ButtonGrp|2)?)|Eq |Field(Grp)?))|u(shUndo|id(CacheInfo|Emitter|VoxelInfo))|exor)|r(omNativePath |e(eFormFillet|wind|ad)|ameLayout)|get(word|line)|mod)|w(hatIs|i(ndow(Pref)?|re(Context)?)|orkspace|ebBrowser(Prefs)?|a(itCursor|rning)|ri(nkle(Context)?|teTake))|l(s(T(hroughFilter|ype )|UI)?|i(st(Relatives|MenuAnnotation |Sets|History|NodeTypes|C(onnections|ameras)|Transforms |InputDevice(s|Buttons|Axes)|erEditor|DeviceAttachments|Unselected |A(nimatable|ttr))|n(step|eIntersection )|ght(link|List(Panel|Editor)?))|o(ckNode|okThru|ft|ad(NewShelf |P(lugin|refObjects)|Fluid)|g)|a(ssoContext|y(out|er(Button|ed(ShaderPort|TexturePort)))|ttice(DeformKeyCtx)?|unch(ImageEditor)?))|a(ssign(Command|InputDevice)|n(notate|im(C(one|urveEditor)|Display|View)|gle(Between)?)|tt(ach(Surface|Curve|DeviceAttr)|r(ibute(Menu|Info|Exists|Query)|NavigationControlGrp|Co(ntrolGrp|lorSliderGrp|mpatibility)|PresetEditWin|EnumOptionMenu(Grp)?|Field(Grp|SliderGrp)))|i(r|mConstraint)|d(d(NewShelfTab|Dynamic|PP|Attr(ibuteEditorNodeHelp)?)|vanceToNextDrivenKey)|uto(Place|Keyframe)|pp(endStringArray|l(y(Take|AttrPreset)|icationName))|ffect(s|edNet)|l(i(as(Attr)?|gn(Surface|C(tx|urve))?)|lViewFit)|r(c(len|Len(DimContext|gthDimension))|t(BuildPaintMenu|Se(tPaintCtx|lectCtx)|3dPaintCtx|UserPaintCtx|PuttyCtx|FluidAttrCtx|Attr(SkinPaintCtx|Ctx|PaintVertexCtx))|rayMapper)|mbientLight|b(s|out))|r(igid(Body|Solver)|o(t(at(ionInterpolation|e))?|otOf |undConstantRadius|w(ColumnLayout|Layout)|ll(Ctx)?)|un(up|TimeCommand)|e(s(olutionNode|et(Tool|AE )|ampleFluid)|hash|n(der(GlobalsNode|Manip|ThumbnailUpdate|Info|er|Partition|QualityNode|Window(SelectContext|Editor)|LayerButton)?|ame(SelectionList |UI|Attr)?)|cord(Device|Attr)|target|order(Deformers)?|do|v(olve|erse(Surface|Curve))|quires|f(ineSubdivSelectionList|erence(Edit|Query)?|resh(AE )?)|loadImage|adTake|root|move(MultiInstance|Joint)|build(Surface|Curve))|a(n(d(state|omizeFollicles )?|geControl)|d(i(o(MenuItemCollection|Button(Grp)?|Collection)|al)|_to_deg)|mpColorPort)|gb_to_hsv)|g(o(toBindPose |al)|e(t(M(odifiers|ayaPanelTypes )|Classification|InputDeviceRange|pid|env|DefaultBrush|Pa(nel|rticleAttr)|F(ileList|luidAttr)|A(ttr|pplicationVersionAsFloat ))|ometryConstraint)|l(Render(Editor)?|obalStitch)|a(uss|mma)|r(id(Layout)?|oup(ObjectsByName )?|a(dientControl(NoAttr)?|ph(SelectContext|TrackCtx|DollyCtx)|vity|bColor))|match)|x(pmPicker|form|bmLangPathList )|m(i(n(imizeApp)?|rrorJoint)|o(del(CurrentTimeCtx|Panel|Editor)|use|v(In|e(IKtoFK |VertexAlongDirection|KeyCtx)?|Out))|u(te|ltiProfileBirailSurface)|e(ssageLine|nu(BarLayout|Item(ToShelf )?|Editor)?|mory)|a(nip(Rotate(Context|LimitsCtx)|Move(Context|LimitsCtx)|Scale(Context|LimitsCtx)|Options)|tch|ke(Roll |SingleSurface|TubeOn |Identity|Paintable|bot|Live)|rker|g|x))|b(in(Membership|d(Skin|Pose))|o(neLattice|undary|x(ZoomCtx|DollyCtx))|u(tton(Manip)?|ild(BookmarkMenu|KeyframeMenu)|fferCurve)|e(ssel|vel(Plus)?)|l(indDataType|end(Shape(Panel|Editor)?|2|TwoAttr))|a(sename(Ex | )|tchRender|ke(Results|Simulation|Clip|PartialHistory|FluidShading )))))\\b"},{caseInsensitive:!0,token:"support.constant.mel",regex:"\\b(s(h(ellTessellate|a(d(ing(Map|Engine)|erGlow)|pe))|n(ow|apshot(Shape)?)|c(ulpt|aleConstraint|ript)|t(yleCurve|itch(Srf|AsNurbsShell)|u(cco|dioClearCoat)|encil|roke(Globals)?)|i(ngleShadingSwitch|mpleVolumeShader)|o(ftMod(Manip|Handle)?|lidFractal)|u(rface(Sha(der|pe)|Info|EdManip|VarGroup|Luminance)|b(Surface|d(M(odifier(UV|World)?|ap(SewMove|Cut|pingManip))|B(lindData|ase)|iv(ReverseFaces|SurfaceVarGroup|Co(llapse|mponentId)|To(Nurbs|Poly))?|HierBlind|CleanTopology|Tweak(UV)?|P(lanarProj|rojManip)|LayoutUV|A(ddTopology|utoProj))|Curve))|p(BirailSrf|otLight|ring)|e(tRange|lectionListOperator)|k(inCluster|etchPlane)|quareSrf|ampler(Info)?|m(ooth(Curve|TangentSrf)|ear))|h(svToRgb|yper(GraphInfo|View|Layout)|ik(Solver|Handle|Effector)|oldMatrix|eightField|w(Re(nderGlobals|flectionMap)|Shader)|a(ir(System|Constraint|TubeShader)|rd(enPoint|wareRenderGlobals)))|n(o(n(ExtendedLightShapeNode|Linear|AmbientLightShapeNode)|ise|rmalConstraint)|urbs(Surface|Curve|T(oSubdiv(Proc)?|essellate)|DimShape)|e(twork|wtonField))|c(h(o(ice|oser)|ecker|aracter(Map|Offset)?)|o(n(straint|tr(olPoint|ast)|dition)|py(ColorSet|UVSet))|urve(Range|Shape|Normalizer(Linear|Angle)?|In(tersect|fo)|VarGroup|From(Mesh(CoM|Edge)?|Su(rface(Bnd|CoS|Iso)?|bdiv(Edge|Face)?)))|l(ip(Scheduler|Library)|o(se(stPointOnSurface|Surface|Curve)|th|ud)|uster(Handle)?|amp)|amera(View)?|r(eate(BPManip|ColorSet|UVSet)|ater))|t(ime(ToUnitConversion|Function)?|oo(nLineAttributes|lDrawManip)|urbulenceField|ex(BaseDeformManip|ture(BakeSet|2d|ToGeom|3d|Env)|SmudgeUVManip|LatticeDeformManip)|weak|angentConstraint|r(i(pleShadingSwitch|m(WithBoundaries)?)|ansform(Geometry)?))|i(n(s(tancer|ertKnot(Surface|Curve))|tersectSurface)|k(RPsolver|MCsolver|S(ystem|olver|Csolver|plineSolver)|Handle|PASolver|Effector)|m(plicit(Box|Sphere|Cone)|agePlane))|o(cean(Shader)?|pticalFX|ffset(Surface|C(os|urve))|ldBlindDataBase|rient(Constraint|ationMarker)|bject(RenderFilter|MultiFilter|BinFilter|S(criptFilter|et)|NameFilter|TypeFilter|Filter|AttrFilter))|d(yn(Globals|Base)|i(s(tance(Between|DimShape)|pla(yLayer(Manager)?|cementShader)|kCache)|rect(ionalLight|edDisc)|mensionShape)|o(ubleShadingSwitch|f)|pBirailSrf|e(tach(Surface|Curve)|pendNode|f(orm(Bend|S(ine|quash)|Twist|ableShape|F(unc|lare)|Wave)|ault(RenderUtilityList|ShaderList|TextureList|LightList))|lete(Co(lorSet|mponent)|UVSet))|ag(Node|Pose)|r(opoffLocator|agField))|u(seBackground|n(trim|i(t(Conversion|ToTimeConversion)|formField)|known(Transform|Dag)?)|vChooser)|j(iggle|oint(Cluster|Ffd|Lattice)?)|p(sdFileTex|hong(E)?|o(s(tProcessList|itionMarker)|int(MatrixMult|Constraint|On(SurfaceInfo|CurveInfo)|Emitter|Light)|l(y(Reduce|M(irror|o(difier(UV|World)?|ve(UV|Edge|Vertex|Face(tUV)?))|erge(UV|Edge|Vert|Face)|ap(Sew(Move)?|Cut|Del))|B(oolOp|evel|lindData|ase)|S(traightenUVBorder|oftEdge|ubd(Edge|Face)|p(h(ere|Proj)|lit(Ring|Edge|Vert)?)|e(parate|wEdge)|mooth(Proxy|Face)?)|Normal(izeUV|PerVertex)?|C(hipOff|yl(inder|Proj)|o(ne|pyUV|l(orPerVertex|lapse(Edge|F)))|u(t(Manip(Container)?)?|be)|loseBorder|rea(seEdge|t(or|eFace)))|T(o(Subdiv|rus)|weak(UV)?|r(iangulate|ansfer))|OptUvs|D(uplicateEdge|el(Edge|Vertex|Facet))|Unite|P(yramid|oke(Manip)?|lan(e|arProj)|r(i(sm|mitive)|oj))|Extrude(Edge|Vertex|Face)|VertexNormalManip|Quad|Flip(UV|Edge)|WedgeFace|LayoutUV|A(utoProj|ppend(Vertex)?|verageVertex))|eVectorConstraint))|fx(Geometry|Hair|Toon)|l(usMinusAverage|a(n(e|arTrimSurface)|ce(2dTexture|3dTexture)))|a(ssMatrix|irBlend|r(ti(cle(SamplerInfo|C(olorMapper|loud)|TranspMapper|IncandMapper|AgeMapper)?|tion)|ent(Constraint|Tessellate)|amDimension))|r(imitive|o(ject(ion|Curve|Tangent)|xyManager)))|e(n(tity|v(Ball|ironmentFog|S(phere|ky)|C(hrome|ube)|Fog))|x(t(end(Surface|Curve)|rude)|p(lodeNurbsShell|ression)))|v(iewManip|o(lume(Shader|Noise|Fog|Light|AxisField)|rtexField)|e(ctor(RenderGlobals|Product)|rtexBakeSet))|quadShadingSwitch|f(i(tBspline|eld|l(ter(Resample|Simplify|ClosestSample|Euler)?|e|letCurve))|o(urByFourMatrix|llicle)|urPointOn(MeshInfo|Subd)|f(BlendSrf(Obsolete)?|d|FilletSrf)|l(ow|uid(S(hape|liceManip)|Texture(2D|3D)|Emitter)|exorShape)|ra(ctal|meCache))|w(tAddMatrix|ire|ood|eightGeometryFilter|ater|rap)|l(ight(Info|Fog|Li(st|nker))?|o(cator|okAt|d(Group|Thresholds)|ft)|uminance|ea(stSquaresModifier|ther)|a(yered(Shader|Texture)|ttice|mbert))|a(n(notationShape|i(sotropic|m(Blend(InOut)?|C(urve(T(T|U|L|A)|U(T|U|L|A))?|lip)))|gleBetween)|tt(ach(Surface|Curve)|rHierarchyTest)|i(rField|mConstraint)|dd(Matrix|DoubleLinear)|udio|vg(SurfacePoints|NurbsSurfacePoints|Curves)|lign(Manip|Surface|Curve)|r(cLengthDimension|tAttrPaintTest|eaLight|rayMapper)|mbientLight|bstractBase(NurbsConversion|Create))|r(igid(Body|Solver|Constraint)|o(ck|undConstantRadius)|e(s(olution|ultCurve(TimeTo(Time|Unitless|Linear|Angular))?)|nder(Rect|Globals(List)?|Box|Sphere|Cone|Quality|L(ight|ayer(Manager)?))|cord|v(olve(dPrimitive)?|erse(Surface|Curve)?)|f(erence|lect)|map(Hsv|Color|Value)|build(Surface|Curve))|a(dialField|mp(Shader)?)|gbToHsv|bfSrf)|g(uide|eo(Connect(or|able)|metry(Shape|Constraint|VarGroup|Filter))|lobal(Stitch|CacheControl)|ammaCorrect|r(id|oup(Id|Parts)|a(nite|vityField)))|Fur(Globals|Description|Feedback|Attractors)|xformManip|m(o(tionPath|untain|vie)|u(te|lt(Matrix|i(plyDivide|listerLight)|DoubleLinear))|pBirailSrf|e(sh(VarGroup)?|ntalray(Texture|IblShape))|a(terialInfo|ke(Group|Nurb(sSquare|Sphere|C(ylinder|ircle|one|ube)|Torus|Plane)|CircularArc|T(hreePointCircularArc|extCurves|woPointCircularArc))|rble))|b(irailSrf|o(neLattice|olean|undary(Base)?)|u(lge|mp(2d|3d))|evel(Plus)?|l(in(n|dDataTemplate)|end(Shape|Color(s|Sets)|TwoAttr|Device|Weighted)?)|a(se(GeometryVarGroup|ShadingSwitch|Lattice)|keSet)|r(ownian|ush)))\\b"},{caseInsensitive:!0,token:"keyword.control.mel",regex:"\\b(if|in|else|for|while|break|continue|case|default|do|switch|return|switch|case|source|catch|alias)\\b"},{token:"keyword.other.mel",regex:"\\b(global)\\b"},{caseInsensitive:!0,token:"constant.language.mel",regex:"\\b(null|undefined)\\b"},{token:"constant.numeric.mel",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{token:"punctuation.definition.string.begin.mel",regex:'"',push:[{token:"constant.character.escape.mel",regex:"\\\\."},{token:"punctuation.definition.string.end.mel",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.mel"}]},{token:["variable.other.mel","punctuation.definition.variable.mel"],regex:"(\\$)([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*?\\b)"},{token:"punctuation.definition.string.begin.mel",regex:"'",push:[{token:"constant.character.escape.mel",regex:"\\\\."},{token:"punctuation.definition.string.end.mel",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.mel"}]},{token:"constant.language.mel",regex:"\\b(false|true|yes|no|on|off)\\b"},{token:"punctuation.definition.comment.mel",regex:"/\\*",push:[{token:"punctuation.definition.comment.mel",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.mel"}]},{token:["comment.line.double-slash.mel","punctuation.definition.comment.mel"],regex:"(//)(.*$\\n?)"},{caseInsensitive:!0,token:"keyword.operator.mel",regex:"\\b(instanceof)\\b"},{token:"keyword.operator.symbolic.mel",regex:"[-\\!\\%\\&\\*\\+\\=\\/\\?\\:]"},{token:["meta.preprocessor.mel","punctuation.definition.preprocessor.mel"],regex:"(^[ \\t]*)((?:#)[a-zA-Z]+)"},{token:["meta.function.mel","keyword.other.mel","storage.type.mel","entity.name.function.mel","punctuation.section.function.mel"],regex:"(global\\s*)?(proc\\s*)(\\w+\\s*\\[?\\]?\\s+|\\s+)([A-Za-z_][A-Za-z0-9_\\.]*)(\\s*\\()",push:[{include:"$self"},{token:"punctuation.section.function.mel",regex:"\\)",next:"pop"},{defaultToken:"meta.function.mel"}]}]},this.normalizeRules()};r.inherits(s,i),t.MELHighlightRules=s}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/mel",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mel_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./mel_highlight_rules").MELHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=s,this.$behaviour=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mel"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-mips_assembler.js b/library/ace/mode-mips_assembler.js
new file mode 100644
index 000000000..850bf0777
--- /dev/null
+++ b/library/ace/mode-mips_assembler.js
@@ -0,0 +1 @@
+ace.define("ace/mode/mips_assembler_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"support.function.pseudo.mips",regex:"\\b(?:mul|abs|div|divu|mulo|mulou|neg|negu|not|rem|remu|rol|ror|li|seq|sge|sgeu|sgt|sgtu|sle|sleu|sne|b|beqz|bge|bgeu|bgt|bgtu|ble|bleu|blt|bltu|bnez|la|ld|ulh|ulhu|ulw|sd|ush|usw|move|mfc1\\.d|l\\.d|l\\.s|s\\.d|s\\.s)\\b",comment:"ok actually this are instructions, but one also could call them funtions\u2026"},{token:"support.function.mips",regex:"\\b(?:abs\\.d|abs\\.s|add|add\\.d|add\\.s|addi|addiu|addu|and|andi|bc1f|bc1t|beq|bgez|bgezal|bgtz|blez|bltz|bltzal|bne|break|c\\.eq\\.d|c\\.eq\\.s|c\\.le\\.d|c\\.le\\.s|c\\.lt\\.d|c\\.lt\\.s|ceil\\.w\\.d|ceil\\.w\\.s|clo|clz|cvt\\.d\\.s|cvt\\.d\\.w|cvt\\.s\\.d|cvt\\.s\\.w|cvt\\.w\\.d|cvt\\.w\\.s|div|div\\.d|div\\.s|divu|eret|floor\\.w\\.d|floor\\.w\\.s|j|jal|jalr|jr|lb|lbu|lh|lhu|ll|lui|lw|lwc1|lwl|lwr|madd|maddu|mfc0|mfc1|mfhi|mflo|mov\\.d|mov\\.s|movf|movf\\.d|movf\\.s|movn|movn\\.d|movn\\.s|movt|movt\\.d|movt\\.s|movz|movz\\.d|movz\\.s|msub|mtc0|mtc1|mthi|mtlo|mul|mul\\.d|mul\\.s|mult|multu|neg\\.d|neg\\.s|nop|nor|or|ori|round\\.w\\.d|round\\.w\\.s|sb|sc|sdc1|sh|sll|sllv|slt|slti|sltiu|sltu|sqrt\\.d|sqrt\\.s|sra|srav|srl|srlv|sub|sub\\.d|sub\\.s|subu|sw|swc1|swl|swr|syscall|teq|teqi|tge|tgei|tgeiu|tgeu|tlt|tlti|tltiu|tltu|trunc\\.w\\.d|trunc\\.w\\.s|xor|xori)\\b"},{token:"storage.type.mips",regex:"\\.(?:ascii|asciiz|byte|data|double|float|half|kdata|ktext|space|text|word|set\\s*(?:noat|at))\\b"},{token:"storage.modifier.mips",regex:"\\.(?:align|extern||globl)\\b"},{token:["entity.name.function.label.mips","meta.function.label.mips"],regex:"\\b([A-Za-z0-9_]+)(:)"},{token:["punctuation.definition.variable.mips","variable.other.register.usable.by-number.mips"],regex:"(\\$)(0|[2-9]|1[0-9]|2[0-5]|2[89]|3[0-1])\\b"},{token:["punctuation.definition.variable.mips","variable.other.register.usable.by-name.mips"],regex:"(\\$)(zero|v[01]|a[0-3]|t[0-9]|s[0-7]|gp|sp|fp|ra)\\b"},{token:["punctuation.definition.variable.mips","variable.other.register.reserved.mips"],regex:"(\\$)(at|k[01]|1|2[67])\\b"},{token:["punctuation.definition.variable.mips","variable.other.register.usable.floating-point.mips","variable.other.register.usable.floating-point.mips"],regex:"(\\$)(f)([0-9]|1[0-9]|2[0-9]|3[0-1])\\b"},{token:"constant.numeric.float.mips",regex:"\\b\\d+\\.\\d+\\b"},{token:"constant.numeric.integer.mips",regex:"\\b(?:\\d+|0(?:x|X)[a-fA-F0-9]+)\\b"},{token:"punctuation.definition.string.begin.mips",regex:'"',push:[{token:"punctuation.definition.string.end.mips",regex:'"',next:"pop"},{token:"constant.character.escape.mips",regex:'\\\\[rnt\\\\"]'},{defaultToken:"string.quoted.double.mips"}]},{token:"punctuation.definition.comment.mips",regex:"#",push:[{token:"comment.line.number-sign.mips",regex:"$",next:"pop"},{defaultToken:"comment.line.number-sign.mips"}]}]},this.normalizeRules()};s.metaData={fileTypes:["s","mips","spim","asm"],keyEquivalent:"^~M",name:"MIPS Assembler",scopeName:"source.mips"},r.inherits(s,i),t.MIPSAssemblerHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/mips_assembler",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mips_assembler_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./mips_assembler_highlight_rules").MIPSAssemblerHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/mips_assembler"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-mipsassembler.js b/library/ace/mode-mipsassembler.js
new file mode 100644
index 000000000..2d3d4b630
--- /dev/null
+++ b/library/ace/mode-mipsassembler.js
@@ -0,0 +1 @@
+ace.define("ace/mode/mipsassembler_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"string.start",regex:'"',next:"qstring"}],qstring:[{token:"escape",regex:/\\./},{token:"string.end",regex:'"',next:"start"}]},this.normalizeRules()};s.metaData=r.inherits(s,i),t.mipsassemblerHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/mipsassembler",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mipsassembler_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./mipsassembler_highlight_rules").HighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/mipsassembler"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-mushcode.js b/library/ace/mode-mushcode.js
new file mode 100644
index 000000000..3cffce02e
--- /dev/null
+++ b/library/ace/mode-mushcode.js
@@ -0,0 +1 @@
+ace.define("ace/mode/mushcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="@if|@ifelse|@switch|@halt|@dolist|@create|@scent|@sound|@touch|@ataste|@osound|@ahear|@aahear|@amhear|@otouch|@otaste|@drop|@odrop|@adrop|@dropfail|@odropfail|@smell|@oemit|@emit|@pemit|@parent|@clone|@taste|whisper|page|say|pose|semipose|teach|touch|taste|smell|listen|look|move|go|home|follow|unfollow|desert|dismiss|@tel",t="=#0",n="default|edefault|eval|get_eval|get|grep|grepi|hasattr|hasattrp|hasattrval|hasattrpval|lattr|nattr|poss|udefault|ufun|u|v|uldefault|xget|zfun|band|bnand|bnot|bor|bxor|shl|shr|and|cand|cor|eq|gt|gte|lt|lte|nand|neq|nor|not|or|t|xor|con|entrances|exit|followers|home|lcon|lexits|loc|locate|lparent|lsearch|next|num|owner|parent|pmatch|rloc|rnum|room|where|zone|worn|held|carried|acos|asin|atan|ceil|cos|e|exp|fdiv|fmod|floor|log|ln|pi|power|round|sin|sqrt|tan|aposs|andflags|conn|commandssent|controls|doing|elock|findable|flags|fullname|hasflag|haspower|hastype|hidden|idle|isbaker|lock|lstats|money|who|name|nearby|obj|objflags|photo|poll|powers|pendingtext|receivedtext|restarts|restarttime|subj|shortestpath|tmoney|type|visible|cat|element|elements|extract|filter|filterbool|first|foreach|fold|grab|graball|index|insert|itemize|items|iter|last|ldelete|map|match|matchall|member|mix|munge|pick|remove|replace|rest|revwords|setdiff|setinter|setunion|shuffle|sort|sortby|splice|step|wordpos|words|add|lmath|max|mean|median|min|mul|percent|sign|stddev|sub|val|bound|abs|inc|dec|dist2d|dist3d|div|floordiv|mod|modulo|remainder|vadd|vdim|vdot|vmag|vmax|vmin|vmul|vsub|vunit|regedit|regeditall|regeditalli|regediti|regmatch|regmatchi|regrab|regraball|regraballi|regrabi|regrep|regrepi|after|alphamin|alphamax|art|before|brackets|capstr|case|caseall|center|containsfansi|comp|decompose|decrypt|delete|edit|encrypt|escape|if|ifelse|lcstr|left|lit|ljust|merge|mid|ostrlen|pos|repeat|reverse|right|rjust|scramble|secure|space|spellnum|squish|strcat|strmatch|strinsert|stripansi|stripfansi|strlen|switch|switchall|table|tr|trim|ucstr|unsafe|wrap|ctitle|cwho|channels|clock|cflags|ilev|itext|inum|convsecs|convutcsecs|convtime|ctime|etimefmt|isdaylight|mtime|secs|msecs|starttime|time|timefmt|timestring|utctime|atrlock|clone|create|cook|dig|emit|lemit|link|oemit|open|pemit|remit|set|tel|wipe|zemit|fbcreate|fbdestroy|fbwrite|fbclear|fbcopy|fbcopyto|fbclip|fbdump|fbflush|fbhset|fblist|fbstats|qentries|qentry|play|ansi|break|c|asc|die|isdbref|isint|isnum|isletters|linecoords|localize|lnum|nameshort|null|objeval|r|rand|s|setq|setr|soundex|soundslike|valid|vchart|vchart2|vlabel|@@|bakerdays|bodybuild|box|capall|catalog|children|ctrailer|darttime|debt|detailbar|exploredroom|fansitoansi|fansitoxansi|fullbar|halfbar|isdarted|isnewbie|isword|lambda|lobjects|lplayers|lthings|lvexits|lvobjects|lvplayers|lvthings|newswrap|numsuffix|playerson|playersthisweek|randomad|randword|realrandword|replacechr|second|splitamount|strlenall|text|third|tofansi|totalac|unique|getaddressroom|listpropertycomm|listpropertyres|lotowner|lotrating|lotratingcount|lotvalue|boughtproduct|companyabb|companyicon|companylist|companyname|companyowners|companyvalue|employees|invested|productlist|productname|productowners|productrating|productratingcount|productsoldat|producttype|ratedproduct|soldproduct|topproducts|totalspentonproduct|totalstock|transfermoney|uniquebuyercount|uniqueproductsbought|validcompany|deletepicture|fbsave|getpicturesecurity|haspicture|listpictures|picturesize|replacecolor|rgbtocolor|savepicture|setpicturesecurity|showpicture|piechart|piechartlabel|createmaze|drawmaze|drawwireframe",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")";this.$rules={start:[{token:"variable",regex:"%[0-9]{1}"},{token:"variable",regex:"%q[0-9A-Za-z]{1}"},{token:"variable",regex:"%[a-zA-Z]{1}"},{token:"variable.language",regex:"%[a-z0-9-_]+"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|#|%|<<|>>|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.MushCodeRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}),ace.define("ace/mode/mushcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mushcode_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./mushcode_highlight_rules").MushCodeRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:")};r.inherits(a,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/mushcode"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-mysql.js b/library/ace/mode-mysql.js
new file mode 100644
index 000000000..1e56dcf20
--- /dev/null
+++ b/library/ace/mode-mysql.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/mysql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex:t,next:[{token:"constant.language.escape",regex:n},{token:"string.end",next:"start",regex:t},{defaultToken:"string"}]}}var e="alter|and|as|asc|between|count|create|delete|desc|distinct|drop|from|having|in|insert|into|is|join|like|not|on|or|order|select|set|table|union|update|values|where|accessible|action|add|after|algorithm|all|analyze|asensitive|at|authors|auto_increment|autocommit|avg|avg_row_length|before|binary|binlog|both|btree|cache|call|cascade|cascaded|case|catalog_name|chain|change|changed|character|check|checkpoint|checksum|class_origin|client_statistics|close|coalesce|code|collate|collation|collations|column|columns|comment|commit|committed|completion|concurrent|condition|connection|consistent|constraint|contains|continue|contributors|convert|cross|current_date|current_time|current_timestamp|current_user|cursor|data|database|databases|day_hour|day_microsecond|day_minute|day_second|deallocate|dec|declare|default|delay_key_write|delayed|delimiter|des_key_file|describe|deterministic|dev_pop|dev_samp|deviance|directory|disable|discard|distinctrow|div|dual|dumpfile|each|elseif|enable|enclosed|end|ends|engine|engines|enum|errors|escape|escaped|even|event|events|every|execute|exists|exit|explain|extended|fast|fetch|field|fields|first|flush|for|force|foreign|found_rows|full|fulltext|function|general|global|grant|grants|group|groupby_concat|handler|hash|help|high_priority|hosts|hour_microsecond|hour_minute|hour_second|if|ignore|ignore_server_ids|import|index|index_statistics|infile|inner|innodb|inout|insensitive|insert_method|install|interval|invoker|isolation|iterate|key|keys|kill|language|last|leading|leave|left|level|limit|linear|lines|list|load|local|localtime|localtimestamp|lock|logs|low_priority|master|master_heartbeat_period|master_ssl_verify_server_cert|masters|match|max|max_rows|maxvalue|message_text|middleint|migrate|min|min_rows|minute_microsecond|minute_second|mod|mode|modifies|modify|mutex|mysql_errno|natural|next|no|no_write_to_binlog|offline|offset|one|online|open|optimize|option|optionally|out|outer|outfile|pack_keys|parser|partition|partitions|password|phase|plugin|plugins|prepare|preserve|prev|primary|privileges|procedure|processlist|profile|profiles|purge|query|quick|range|read|read_write|reads|real|rebuild|recover|references|regexp|relaylog|release|remove|rename|reorganize|repair|repeatable|replace|require|resignal|restrict|resume|return|returns|revoke|right|rlike|rollback|rollup|row|row_format|rtree|savepoint|schedule|schema|schema_name|schemas|second_microsecond|security|sensitive|separator|serializable|server|session|share|show|signal|slave|slow|smallint|snapshot|soname|spatial|specific|sql|sql_big_result|sql_buffer_result|sql_cache|sql_calc_found_rows|sql_no_cache|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|start|starting|starts|status|std|stddev|stddev_pop|stddev_samp|storage|straight_join|subclass_origin|sum|suspend|table_name|table_statistics|tables|tablespace|temporary|terminated|to|trailing|transaction|trigger|triggers|truncate|uncommitted|undo|uninstall|unique|unlock|upgrade|usage|use|use_frm|user|user_resources|user_statistics|using|utc_date|utc_time|utc_timestamp|value|variables|varying|view|views|warnings|when|while|with|work|write|xa|xor|year_month|zerofill|begin|do|then|else|loop|repeat",t="by|bool|boolean|bit|blob|decimal|double|enum|float|long|longblob|longtext|medium|mediumblob|mediumint|mediumtext|time|timestamp|tinyblob|tinyint|tinytext|text|bigint|int|int1|int2|int3|int4|int8|integer|float|float4|float8|double|char|varbinary|varchar|varcharacter|precision|date|datetime|year|unsigned|signed|numeric|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl",n="charset|clear|connect|edit|ego|exit|go|help|nopager|notee|nowarning|pager|print|prompt|quit|rehash|source|status|system|tee",r=this.createKeywordMapper({"support.function":t,keyword:e,constant:"false|true|null|unknown|date|time|timestamp|ODBCdotTable|zerolessFloat","variable.language":n},"identifier",!0);this.$rules={start:[{token:"comment",regex:"(?:-- |#).*$"},i({start:'"',escape:/\\[0'"bnrtZ\\%_]?/}),i({start:"'",escape:/\\[0'"bnrtZ\\%_]?/}),s.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+|[xX]'[0-9a-fA-F]+'|0[bB][01]+|[bB]'[01]+'/},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.buildin",regex:"`[^`]*`"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.MysqlHighlightRules=u}),ace.define("ace/mode/mysql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mysql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./mysql_highlight_rules").MysqlHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart=["--","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mysql"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-nix.js b/library/ace/mode-nix.js
new file mode 100644
index 000000000..d859c4fa8
--- /dev/null
+++ b/library/ace/mode-nix.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/nix_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="true|false",t="with|import|if|else|then|inherit",n="let|in|rec",r=this.createKeywordMapper({"constant.language.nix":e,"keyword.control.nix":t,"keyword.declaration.nix":n},"identifier");this.$rules={start:[{token:"comment",regex:/#.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"(==|!=|<=?|>=?)",token:["keyword.operator.comparison.nix"]},{regex:"((?:[+*/%-]|\\~)=)",token:["keyword.operator.assignment.arithmetic.nix"]},{regex:"=",token:"keyword.operator.assignment.nix"},{token:"string",regex:"''",next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',push:"qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{regex:"}",token:function(e,t,n){return n[1]&&n[1].charAt(0)=="q"?"constant.language.escape":"text"},next:"pop"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqdoc:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"''",next:"pop"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},this.normalizeRules()};r.inherits(s,i),t.NixHighlightRules=s}),ace.define("ace/mode/nix",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/nix_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("./nix_highlight_rules").NixHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/nix"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-nsis.js b/library/ace/mode-nsis.js
new file mode 100644
index 000000000..b3ff72f2d
--- /dev/null
+++ b/library/ace/mode-nsis.js
@@ -0,0 +1 @@
+ace.define("ace/mode/nsis_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.compiler.nsis",regex:/(?:\b|^\s*)\!(?:include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace)\b/,caseInsensitive:!0},{token:"keyword.command.nsis",regex:/(?:\b|^\s*)(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\b/,caseInsensitive:!0},{token:"keyword.control.nsis",regex:/(?:\b|^\s*)\!(?:ifdef|ifndef|if|ifmacrodef|ifmacrondef|else|endif)\b/,caseInsensitive:!0},{token:"keyword.plugin.nsis",regex:/(?:\b|^\s*)\w+\:\:\w+/,caseInsensitive:!0},{token:"keyword.operator.comparison.nsis",regex:/[!<>]?=|<>|<|>/},{token:"support.function.nsis",regex:/(?:\b|^\s*)(?:Function|FunctionEnd|Section|SectionEnd|SectionGroup|SectionGroupEnd|SubSection|SubSectionEnd|PageEx|PageExEnd)\b/,caseInsensitive:!0},{token:"support.library.nsis",regex:/\${[\w]+}/},{token:"constant.nsis",regex:/(?:\b|^\s*)(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,caseInsensitive:!0},{token:"constant.library.nsis",regex:/\${(?:AtLeastServicePack|AtLeastWin7|AtLeastWin8|AtLeastWin10|AtLeastWin95|AtLeastWin98|AtLeastWin2000|AtLeastWin2003|AtLeastWin2008|AtLeastWin2008R2|AtLeastWinME|AtLeastWinNT4|AtLeastWinVista|AtLeastWinXP|AtMostServicePack|AtMostWin7|AtMostWin8|AtMostWin10|AtMostWin95|AtMostWin98|AtMostWin2000|AtMostWin2003|AtMostWin2008|AtMostWin2008R2|AtMostWinME|AtMostWinNT4|AtMostWinVista|AtMostWinXP|IsNT|IsServer|IsServicePack|IsWin7|IsWin8|IsWin10|IsWin95|IsWin98|IsWin2000|IsWin2003|IsWin2008|IsWin2008R2|IsWinME|IsWinNT4|IsWinVista|IsWinXP)}/},{token:"constant.language.boolean.true.nsis",regex:/\b(?:true|on)\b/},{token:"constant.language.boolean.false.nsis",regex:/\b(?:false|off)\b/},{token:"constant.language.option.nsis",regex:/(?:\b|^\s*)(?:(?:un\.)?components|(?:un\.)?custom|(?:un\.)?directory|(?:un\.)?instfiles|(?:un\.)?license|uninstConfirm|admin|all|auto|both|bottom|bzip2|current|force|hide|highest|ifdiff|ifnewer|lastused|leave|left|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|user|Win10|Win7|Win8|WinVista|zlib)\b/,caseInsensitive:!0},{token:"constant.language.slash-option.nsis",regex:/\/(?:a|BRANDING|CENTER|COMPONENTSONLYONCUSTOM|CUSTOMSTRING\=|date|e|ENABLECANCEL|FILESONLY|file|FINAL|GLOBAL|gray|ifempty|ifndef|ignorecase|IMGID\=|ITALIC|LANG\=|NOCUSTOM|noerrors|NONFATAL|nonfatal|oname\=|o|REBOOTOK|redef|RESIZETOFIT|r|SHORT|SILENT|SOLID|STRIKE|TRIM|UNDERLINE|utcdate|windows|x)\b/,caseInsensitive:!0},{token:"constant.numeric.nsis",regex:/\b(?:0(?:x|X)[0-9a-fA-F]+|[0-9]+(?:\.[0-9]+)?)\b/},{token:"entity.name.function.nsis",regex:/\${[\w]+}/},{token:"storage.type.function.nsis",regex:/\$[\w]+/},{token:"punctuation.definition.string.begin.nsis",regex:/`/,push:[{token:"punctuation.definition.string.end.nsis",regex:/`/,next:"pop"},{token:"constant.character.escape.nsis",regex:/\$\\./},{defaultToken:"string.quoted.back.nsis"}]},{token:"punctuation.definition.string.begin.nsis",regex:/"/,push:[{token:"punctuation.definition.string.end.nsis",regex:/"/,next:"pop"},{token:"constant.character.escape.nsis",regex:/\$\\./},{defaultToken:"string.quoted.double.nsis"}]},{token:"punctuation.definition.string.begin.nsis",regex:/'/,push:[{token:"punctuation.definition.string.end.nsis",regex:/'/,next:"pop"},{token:"constant.character.escape.nsis",regex:/\$\\./},{defaultToken:"string.quoted.single.nsis"}]},{token:["punctuation.definition.comment.nsis","comment.line.nsis"],regex:/(;|#)(.*$)/},{token:"punctuation.definition.comment.nsis",regex:/\/\*/,push:[{token:"punctuation.definition.comment.nsis",regex:/\*\//,next:"pop"},{defaultToken:"comment.block.nsis"}]},{token:"text",regex:/(?:\!include|\!insertmacro)\b/}]},this.normalizeRules()};s.metaData={comment:"\n todo: - highlight functions\n ",fileTypes:["nsi","nsh"],name:"NSIS",scopeName:"source.nsis"},r.inherits(s,i),t.NSISHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/nsis",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/nsis_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./nsis_highlight_rules").NSISHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart=[";","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/nsis"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-objectivec.js b/library/ace/mode-objectivec.js
new file mode 100644
index 000000000..3775507d3
--- /dev/null
+++ b/library/ace/mode-objectivec.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/objectivec_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/c_cpp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./c_cpp_highlight_rules"),o=s.c_cppHighlightRules,u=function(){var e="\\\\(?:[abefnrtv'\"?\\\\]|[0-3]\\d{1,2}|[4-7]\\d?|222|x[a-zA-Z0-9]+)",t=[{regex:"\\b_cmd\\b",token:"variable.other.selector.objc"},{regex:"\\b(?:self|super)\\b",token:"variable.language.objc"}],n=new o,r=n.getRules();this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:["storage.type.objc","punctuation.definition.storage.type.objc","entity.name.type.objc","text","entity.other.inherited-class.objc"],regex:"(@)(interface|protocol)(?!.+;)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\\s*:\\s*)([A-Za-z]+)"},{token:["storage.type.objc"],regex:"(@end)"},{token:["storage.type.objc","entity.name.type.objc","entity.other.inherited-class.objc"],regex:"(@implementation)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\\s*?::\\s*(?:[A-Za-z][A-Za-z0-9]*))?"},{token:"string.begin.objc",regex:'@"',next:"constant_NSString"},{token:"storage.type.objc",regex:"\\bid\\s*<",next:"protocol_list"},{token:"keyword.control.macro.objc",regex:"\\bNS_DURING|NS_HANDLER|NS_ENDHANDLER\\b"},{token:["punctuation.definition.keyword.objc","keyword.control.exception.objc"],regex:"(@)(try|catch|finally|throw)\\b"},{token:["punctuation.definition.keyword.objc","keyword.other.objc"],regex:"(@)(defs|encode)\\b"},{token:["storage.type.id.objc","text"],regex:"(\\bid\\b)(\\s|\\n)?"},{token:"storage.type.objc",regex:"\\bIBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class\\b"},{token:["punctuation.definition.storage.type.objc","storage.type.objc"],regex:"(@)(class|protocol)\\b"},{token:["punctuation.definition.storage.type.objc","punctuation"],regex:"(@selector)(\\s*\\()",next:"selectors"},{token:["punctuation.definition.storage.modifier.objc","storage.modifier.objc"],regex:"(@)(synchronized|public|private|protected|package)\\b"},{token:"constant.language.objc",regex:"\\bYES|NO|Nil|nil\\b"},{token:"support.variable.foundation",regex:"\\bNSApp\\b"},{token:["support.function.cocoa.leopard"],regex:"(?:\\b)(NS(?:Rect(?:ToCGRect|FromCGRect)|MakeCollectable|S(?:tringFromProtocol|ize(?:ToCGSize|FromCGSize))|Draw(?:NinePartImage|ThreePartImage)|P(?:oint(?:ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))(?:\\b)"},{token:["support.function.cocoa"],regex:"(?:\\b)(NS(?:R(?:ound(?:DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(?:CriticalAlertPanel(?:RelativeToWindow)?|InformationalAlertPanel(?:RelativeToWindow)?|AlertPanel(?:RelativeToWindow)?)|e(?:set(?:MapTable|HashTable)|c(?:ycleZone|t(?:Clip(?:List)?|F(?:ill(?:UsingOperation|List(?:UsingOperation|With(?:Grays|Colors(?:UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(?:dPixel|l(?:MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(?:SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(?:s)?|WindowServerMemory|AlertPanel)|M(?:i(?:n(?:X|Y)|d(?:X|Y))|ouseInRect|a(?:p(?:Remove|Get|Member|Insert(?:IfAbsent|KnownAbsent)?)|ke(?:R(?:ect|ange)|Size|Point)|x(?:Range|X|Y)))|B(?:itsPer(?:SampleFromDepth|PixelFromDepth)|e(?:stDepth|ep|gin(?:CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(?:ho(?:uldRetainWithZone|w(?:sServicesMenuItem|AnimationEffect))|tringFrom(?:R(?:ect|ange)|MapTable|S(?:ize|elector)|HashTable|Class|Point)|izeFromString|e(?:t(?:ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(?:Big(?:ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(?:ToHost|LongToHost))|Short|Host(?:ShortTo(?:Big|Little)|IntTo(?:Big|Little)|DoubleTo(?:Big|Little)|FloatTo(?:Big|Little)|Long(?:To(?:Big|Little)|LongTo(?:Big|Little)))|Int|Double|Float|L(?:ittle(?:ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(?:ToHost|LongToHost))|ong(?:Long)?)))|H(?:ighlightRect|o(?:stByteOrder|meDirectory(?:ForUser)?)|eight|ash(?:Remove|Get|Insert(?:IfAbsent|KnownAbsent)?)|FSType(?:CodeFromFileType|OfFile))|N(?:umberOfColorComponents|ext(?:MapEnumeratorPair|HashEnumeratorItem))|C(?:o(?:n(?:tainsRect|vert(?:GlyphsToPackedGlyphs|Swapped(?:DoubleToHost|FloatToHost)|Host(?:DoubleToSwapped|FloatToSwapped)))|unt(?:MapTable|HashTable|Frames|Windows(?:ForContext)?)|py(?:M(?:emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(?:MapTables|HashTables))|lassFromString|reate(?:MapTable(?:WithZone)?|HashTable(?:WithZone)?|Zone|File(?:namePboardType|ContentsPboardType)))|TemporaryDirectory|I(?:s(?:ControllerMarker|EmptyRect|FreedObject)|n(?:setRect|crementExtraRefCount|te(?:r(?:sect(?:sRect|ionR(?:ect|ange))|faceStyleForKey)|gralRect)))|Zone(?:Realloc|Malloc|Name|Calloc|Fr(?:omPointer|ee))|O(?:penStepRootDirectory|ffsetRect)|D(?:i(?:sableScreenUpdates|videRect)|ottedFrameRect|e(?:c(?:imal(?:Round|Multiply|S(?:tring|ubtract)|Normalize|Co(?:py|mpa(?:ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(?:MemoryPages|Object))|raw(?:Gr(?:oove|ayBezel)|B(?:itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(?:hiteBezel|indowBackground)|LightBezel))|U(?:serName|n(?:ionR(?:ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(?:Bundle(?:Setup|Cleanup)|Setup(?:VirtualMachine)?|Needs(?:ToLoadClasses|VirtualMachine)|ClassesF(?:orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(?:oint(?:InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(?:n(?:d(?:MapTableEnumeration|HashTableEnumeration)|umerate(?:MapTable|HashTable)|ableScreenUpdates)|qual(?:R(?:ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(?:ileTypeForHFSTypeCode|ullUserName|r(?:ee(?:MapTable|HashTable)|ame(?:Rect(?:WithWidth(?:UsingOperation)?)?|Address)))|Wi(?:ndowList(?:ForContext)?|dth)|Lo(?:cationInRange|g(?:v|PageSize)?)|A(?:ccessibility(?:R(?:oleDescription(?:ForUIElement)?|aiseBadArgumentException)|Unignored(?:Children(?:ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(?:Main|Load)|vailableWindowDepths|ll(?:MapTable(?:Values|Keys)|HashTableObjects|ocate(?:MemoryPages|Collectable|Object)))))(?:\\b)"},{token:["support.class.cocoa.leopard"],regex:"(?:\\b)(NS(?:RuleEditor|G(?:arbageCollector|radient)|MapTable|HashTable|Co(?:ndition|llectionView(?:Item)?)|T(?:oolbarItemGroup|extInputClient|r(?:eeNode|ackingArea))|InvocationOperation|Operation(?:Queue)?|D(?:ictionaryController|ockTile)|P(?:ointer(?:Functions|Array)|athC(?:o(?:ntrol(?:Delegate)?|mponentCell)|ell(?:Delegate)?)|r(?:intPanelAccessorizing|edicateEditor(?:RowTemplate)?))|ViewController|FastEnumeration|Animat(?:ionContext|ablePropertyContainer)))(?:\\b)"},{token:["support.class.cocoa"],regex:"(?:\\b)(NS(?:R(?:u(?:nLoop|ler(?:Marker|View))|e(?:sponder|cursiveLock|lativeSpecifier)|an(?:domSpecifier|geSpecifier))|G(?:etCommand|lyph(?:Generator|Storage|Info)|raphicsContext)|XML(?:Node|D(?:ocument|TD(?:Node)?)|Parser|Element)|M(?:iddleSpecifier|ov(?:ie(?:View)?|eCommand)|utable(?:S(?:tring|et)|C(?:haracterSet|opying)|IndexSet|D(?:ictionary|ata)|URLRequest|ParagraphStyle|A(?:ttributedString|rray))|e(?:ssagePort(?:NameServer)?|nu(?:Item(?:Cell)?|View)?|t(?:hodSignature|adata(?:Item|Query(?:ResultGroup|AttributeValueTuple)?)))|a(?:ch(?:BootstrapServer|Port)|trix))|B(?:itmapImageRep|ox|u(?:ndle|tton(?:Cell)?)|ezierPath|rowser(?:Cell)?)|S(?:hadow|c(?:anner|r(?:ipt(?:SuiteRegistry|C(?:o(?:ercionHandler|mmand(?:Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(?:er|View)|een))|t(?:epper(?:Cell)?|atus(?:Bar|Item)|r(?:ing|eam))|imple(?:HorizontalTypesetter|CString)|o(?:cketPort(?:NameServer)?|und|rtDescriptor)|p(?:e(?:cifierTest|ech(?:Recognizer|Synthesizer)|ll(?:Server|Checker))|litView)|e(?:cureTextField(?:Cell)?|t(?:Command)?|archField(?:Cell)?|rializer|gmentedC(?:ontrol|ell))|lider(?:Cell)?|avePanel)|H(?:ost|TTP(?:Cookie(?:Storage)?|URLResponse)|elpManager)|N(?:ib(?:Con(?:nector|trolConnector)|OutletConnector)?|otification(?:Center|Queue)?|u(?:ll|mber(?:Formatter)?)|etService(?:Browser)?|ameSpecifier)|C(?:ha(?:ngeSpelling|racterSet)|o(?:n(?:stantString|nection|trol(?:ler)?|ditionLock)|d(?:ing|er)|unt(?:Command|edSet)|pying|lor(?:Space|P(?:ick(?:ing(?:Custom|Default)|er)|anel)|Well|List)?|m(?:p(?:oundPredicate|arisonPredicate)|boBox(?:Cell)?))|u(?:stomImageRep|rsor)|IImageRep|ell|l(?:ipView|o(?:seCommand|neCommand)|assDescription)|a(?:ched(?:ImageRep|URLResponse)|lendar(?:Date)?)|reateCommand)|T(?:hread|ypesetter|ime(?:Zone|r)|o(?:olbar(?:Item(?:Validations)?)?|kenField(?:Cell)?)|ext(?:Block|Storage|Container|Tab(?:le(?:Block)?)?|Input|View|Field(?:Cell)?|List|Attachment(?:Cell)?)?|a(?:sk|b(?:le(?:Header(?:Cell|View)|Column|View)|View(?:Item)?))|reeController)|I(?:n(?:dex(?:S(?:pecifier|et)|Path)|put(?:Manager|S(?:tream|erv(?:iceProvider|er(?:MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(?:Rep|Cell|View)?)|O(?:ut(?:putStream|lineView)|pen(?:GL(?:Context|Pixel(?:Buffer|Format)|View)|Panel)|bj(?:CTypeSerializationCallBack|ect(?:Controller)?))|D(?:i(?:st(?:antObject(?:Request)?|ributed(?:NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(?:Controller)?|e(?:serializer|cimalNumber(?:Behaviors|Handler)?|leteCommand)|at(?:e(?:Components|Picker(?:Cell)?|Formatter)?|a)|ra(?:wer|ggingInfo))|U(?:ser(?:InterfaceValidations|Defaults(?:Controller)?)|RL(?:Re(?:sponse|quest)|Handle(?:Client)?|C(?:onnection|ache|redential(?:Storage)?)|Download(?:Delegate)?|Prot(?:ocol(?:Client)?|ectionSpace)|AuthenticationChallenge(?:Sender)?)?|n(?:iqueIDSpecifier|doManager|archiver))|P(?:ipe|o(?:sitionalSpecifier|pUpButton(?:Cell)?|rt(?:Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(?:steboard|nel|ragraphStyle|geLayout)|r(?:int(?:Info|er|Operation|Panel)|o(?:cessInfo|tocolChecker|perty(?:Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(?:numerator|vent|PSImageRep|rror|x(?:ception|istsCommand|pression))|V(?:iew(?:Animation)?|al(?:idated(?:ToobarItem|UserInterfaceItem)|ue(?:Transformer)?))|Keyed(?:Unarchiver|Archiver)|Qui(?:ckDrawView|tCommand)|F(?:ile(?:Manager|Handle|Wrapper)|o(?:nt(?:Manager|Descriptor|Panel)?|rm(?:Cell|atter)))|W(?:hoseSpecifier|indow(?:Controller)?|orkspace)|L(?:o(?:c(?:k(?:ing)?|ale)|gicalTest)|evelIndicator(?:Cell)?|ayoutManager)|A(?:ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(?:ication|e(?:Script|Event(?:Manager|Descriptor)))|ffineTransform|lert|r(?:chiver|ray(?:Controller)?))))(?:\\b)"},{token:["support.type.cocoa.leopard"],regex:"(?:\\b)(NS(?:R(?:u(?:nLoop|ler(?:Marker|View))|e(?:sponder|cursiveLock|lativeSpecifier)|an(?:domSpecifier|geSpecifier))|G(?:etCommand|lyph(?:Generator|Storage|Info)|raphicsContext)|XML(?:Node|D(?:ocument|TD(?:Node)?)|Parser|Element)|M(?:iddleSpecifier|ov(?:ie(?:View)?|eCommand)|utable(?:S(?:tring|et)|C(?:haracterSet|opying)|IndexSet|D(?:ictionary|ata)|URLRequest|ParagraphStyle|A(?:ttributedString|rray))|e(?:ssagePort(?:NameServer)?|nu(?:Item(?:Cell)?|View)?|t(?:hodSignature|adata(?:Item|Query(?:ResultGroup|AttributeValueTuple)?)))|a(?:ch(?:BootstrapServer|Port)|trix))|B(?:itmapImageRep|ox|u(?:ndle|tton(?:Cell)?)|ezierPath|rowser(?:Cell)?)|S(?:hadow|c(?:anner|r(?:ipt(?:SuiteRegistry|C(?:o(?:ercionHandler|mmand(?:Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(?:er|View)|een))|t(?:epper(?:Cell)?|atus(?:Bar|Item)|r(?:ing|eam))|imple(?:HorizontalTypesetter|CString)|o(?:cketPort(?:NameServer)?|und|rtDescriptor)|p(?:e(?:cifierTest|ech(?:Recognizer|Synthesizer)|ll(?:Server|Checker))|litView)|e(?:cureTextField(?:Cell)?|t(?:Command)?|archField(?:Cell)?|rializer|gmentedC(?:ontrol|ell))|lider(?:Cell)?|avePanel)|H(?:ost|TTP(?:Cookie(?:Storage)?|URLResponse)|elpManager)|N(?:ib(?:Con(?:nector|trolConnector)|OutletConnector)?|otification(?:Center|Queue)?|u(?:ll|mber(?:Formatter)?)|etService(?:Browser)?|ameSpecifier)|C(?:ha(?:ngeSpelling|racterSet)|o(?:n(?:stantString|nection|trol(?:ler)?|ditionLock)|d(?:ing|er)|unt(?:Command|edSet)|pying|lor(?:Space|P(?:ick(?:ing(?:Custom|Default)|er)|anel)|Well|List)?|m(?:p(?:oundPredicate|arisonPredicate)|boBox(?:Cell)?))|u(?:stomImageRep|rsor)|IImageRep|ell|l(?:ipView|o(?:seCommand|neCommand)|assDescription)|a(?:ched(?:ImageRep|URLResponse)|lendar(?:Date)?)|reateCommand)|T(?:hread|ypesetter|ime(?:Zone|r)|o(?:olbar(?:Item(?:Validations)?)?|kenField(?:Cell)?)|ext(?:Block|Storage|Container|Tab(?:le(?:Block)?)?|Input|View|Field(?:Cell)?|List|Attachment(?:Cell)?)?|a(?:sk|b(?:le(?:Header(?:Cell|View)|Column|View)|View(?:Item)?))|reeController)|I(?:n(?:dex(?:S(?:pecifier|et)|Path)|put(?:Manager|S(?:tream|erv(?:iceProvider|er(?:MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(?:Rep|Cell|View)?)|O(?:ut(?:putStream|lineView)|pen(?:GL(?:Context|Pixel(?:Buffer|Format)|View)|Panel)|bj(?:CTypeSerializationCallBack|ect(?:Controller)?))|D(?:i(?:st(?:antObject(?:Request)?|ributed(?:NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(?:Controller)?|e(?:serializer|cimalNumber(?:Behaviors|Handler)?|leteCommand)|at(?:e(?:Components|Picker(?:Cell)?|Formatter)?|a)|ra(?:wer|ggingInfo))|U(?:ser(?:InterfaceValidations|Defaults(?:Controller)?)|RL(?:Re(?:sponse|quest)|Handle(?:Client)?|C(?:onnection|ache|redential(?:Storage)?)|Download(?:Delegate)?|Prot(?:ocol(?:Client)?|ectionSpace)|AuthenticationChallenge(?:Sender)?)?|n(?:iqueIDSpecifier|doManager|archiver))|P(?:ipe|o(?:sitionalSpecifier|pUpButton(?:Cell)?|rt(?:Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(?:steboard|nel|ragraphStyle|geLayout)|r(?:int(?:Info|er|Operation|Panel)|o(?:cessInfo|tocolChecker|perty(?:Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(?:numerator|vent|PSImageRep|rror|x(?:ception|istsCommand|pression))|V(?:iew(?:Animation)?|al(?:idated(?:ToobarItem|UserInterfaceItem)|ue(?:Transformer)?))|Keyed(?:Unarchiver|Archiver)|Qui(?:ckDrawView|tCommand)|F(?:ile(?:Manager|Handle|Wrapper)|o(?:nt(?:Manager|Descriptor|Panel)?|rm(?:Cell|atter)))|W(?:hoseSpecifier|indow(?:Controller)?|orkspace)|L(?:o(?:c(?:k(?:ing)?|ale)|gicalTest)|evelIndicator(?:Cell)?|ayoutManager)|A(?:ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(?:ication|e(?:Script|Event(?:Manager|Descriptor)))|ffineTransform|lert|r(?:chiver|ray(?:Controller)?))))(?:\\b)"},{token:["support.class.quartz"],regex:"(?:\\b)(C(?:I(?:Sampler|Co(?:ntext|lor)|Image(?:Accumulator)?|PlugIn(?:Registration)?|Vector|Kernel|Filter(?:Generator|Shape)?)|A(?:Renderer|MediaTiming(?:Function)?|BasicAnimation|ScrollLayer|Constraint(?:LayoutManager)?|T(?:iledLayer|extLayer|rans(?:ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(?:nimation(?:Group)?|ction))))(?:\\b)"},{token:["support.type.quartz"],regex:"(?:\\b)(C(?:G(?:Float|Point|Size|Rect)|IFormat|AConstraintAttribute))(?:\\b)"},{token:["support.type.cocoa"],regex:"(?:\\b)(NS(?:R(?:ect(?:Edge)?|ange)|G(?:lyph(?:Relation|LayoutMode)?|radientType)|M(?:odalSession|a(?:trixMode|p(?:Table|Enumerator)))|B(?:itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(?:cr(?:oll(?:er(?:Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(?:Granularity|Direction|Affinity)|wapped(?:Double|Float)|aveOperationType)|Ha(?:sh(?:Table|Enumerator)|ndler(?:2)?)|C(?:o(?:ntrol(?:Size|Tint)|mp(?:ositingOperation|arisonResult))|ell(?:State|Type|ImagePosition|Attribute))|T(?:hreadPrivate|ypesetterGlyphInfo|i(?:ckMarkPosition|tlePosition|meInterval)|o(?:ol(?:TipTag|bar(?:SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(?:TabType|Alignment)|ab(?:State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(?:ContextAuxiliary|PixelFormatAuxiliary)|D(?:ocumentChangeType|atePickerElementFlags|ra(?:werState|gOperation))|UsableScrollerParts|P(?:oint|r(?:intingPageOrder|ogressIndicator(?:Style|Th(?:ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(?:nt(?:SymbolicTraits|TraitMask|Action)|cusRingType)|W(?:indow(?:OrderingMode|Depth)|orkspace(?:IconCreationOptions|LaunchOptions)|ritingDirection)|L(?:ineBreakMode|ayout(?:Status|Direction))|A(?:nimation(?:Progress|Effect)|ppl(?:ication(?:TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle)))(?:\\b)"},{token:["support.constant.cocoa"],regex:"(?:\\b)(NS(?:NotFound|Ordered(?:Ascending|Descending|Same)))(?:\\b)"},{token:["support.constant.notification.cocoa.leopard"],regex:"(?:\\b)(NS(?:MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification)(?:\\b)"},{token:["support.constant.notification.cocoa"],regex:"(?:\\b)(NS(?:Menu(?:Did(?:RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(?:ystemColorsDidChange|plitView(?:DidResizeSubviews|WillResizeSubviews))|C(?:o(?:nt(?:extHelpModeDid(?:Deactivate|Activate)|rolT(?:intDidChange|extDid(?:BeginEditing|Change|EndEditing)))|lor(?:PanelColorDidChange|ListDidChange)|mboBox(?:Selection(?:IsChanging|DidChange)|Will(?:Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(?:oolbar(?:DidRemoveItem|WillAddItem)|ext(?:Storage(?:DidProcessEditing|WillProcessEditing)|Did(?:BeginEditing|Change|EndEditing)|View(?:DidChange(?:Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(?:Selection(?:IsChanging|DidChange)|ColumnDid(?:Resize|Move)))|ImageRepRegistryDidChange|OutlineView(?:Selection(?:IsChanging|DidChange)|ColumnDid(?:Resize|Move)|Item(?:Did(?:Collapse|Expand)|Will(?:Collapse|Expand)))|Drawer(?:Did(?:Close|Open)|Will(?:Close|Open))|PopUpButton(?:CellWillPopUp|WillPopUp)|View(?:GlobalFrameDidChange|BoundsDidChange|F(?:ocusDidChange|rameDidChange))|FontSetChanged|W(?:indow(?:Did(?:Resi(?:ze|gn(?:Main|Key))|M(?:iniaturize|ove)|Become(?:Main|Key)|ChangeScreen(?:|Profile)|Deminiaturize|Update|E(?:ndSheet|xpose))|Will(?:M(?:iniaturize|ove)|BeginSheet|Close))|orkspace(?:SessionDid(?:ResignActive|BecomeActive)|Did(?:Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(?:Sleep|Unmount|PowerOff|LaunchApplication)))|A(?:ntialiasThresholdChanged|ppl(?:ication(?:Did(?:ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(?:nhide|pdate)|FinishLaunching)|Will(?:ResignActive|BecomeActive|Hide|Terminate|U(?:nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification)(?:\\b)"},{token:["support.constant.cocoa.leopard"],regex:"(?:\\b)(NS(?:RuleEditor(?:RowType(?:Simple|Compound)|NestingMode(?:Si(?:ngle|mple)|Compound|List))|GradientDraws(?:BeforeStartingLocation|AfterEndingLocation)|M(?:inusSetExpressionType|a(?:chPortDeallocate(?:ReceiveRight|SendRight|None)|pTable(?:StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(?:oxCustom|undleExecutableArchitecture(?:X86|I386|PPC(?:64)?)|etweenPredicateOperatorType|ackgroundStyle(?:Raised|Dark|L(?:ight|owered)))|S(?:tring(?:DrawingTruncatesLastVisibleLine|EncodingConversion(?:ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(?:e(?:ech(?:SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(?:GrammarFlag|SpellingFlag))|litViewDividerStyleThi(?:n|ck))|e(?:rvice(?:RequestTimedOutError|M(?:iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(?:inimum|aximum)|Application(?:NotFoundError|LaunchFailedError))|gmentStyle(?:Round(?:Rect|ed)|SmallSquare|Capsule|Textured(?:Rounded|Square)|Automatic)))|H(?:UDWindowMask|ashTable(?:StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(?:oModeColorPanel|etServiceNoAutoRename)|C(?:hangeRedone|o(?:ntainsPredicateOperatorType|l(?:orRenderingIntent(?:RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(?:None|ContentArea|TrackableArea|EditableTextArea))|T(?:imeZoneNameStyle(?:S(?:hort(?:Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(?:Regular|SourceList)|racking(?:Mouse(?:Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(?:ssumeInside|ctive(?:In(?:KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(?:n(?:tersectSetExpressionType|dexedColorSpaceModel)|mageScale(?:None|Proportionally(?:Down|UpOrDown)|AxesIndependently))|Ope(?:nGLPFAAllowOfflineRenderers|rationQueue(?:DefaultMaxConcurrentOperationCount|Priority(?:High|Normal|Very(?:High|Low)|Low)))|D(?:iacriticInsensitiveSearch|ownloadsDirectory)|U(?:nionSetExpressionType|TF(?:16(?:BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(?:BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(?:ointerFunctions(?:Ma(?:chVirtualMemory|llocMemory)|Str(?:ongMemory|uctPersonality)|C(?:StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(?:paque(?:Memory|Personality)|bjectP(?:ointerPersonality|ersonality)))|at(?:hStyle(?:Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(?:Scaling|Copies|Orientation|P(?:a(?:perSize|ge(?:Range|SetupAccessory))|review)))|Executable(?:RuntimeMismatchError|NotLoadableError|ErrorM(?:inimum|aximum)|L(?:inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(?:Initial|Prior)|F(?:i(?:ndPanelSubstringMatchType(?:StartsWith|Contains|EndsWith|FullWord)|leRead(?:TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(?:ndow(?:BackingLocation(?:MainMemory|Default|VideoMemory)|Sharing(?:Read(?:Only|Write)|None)|CollectionBehavior(?:MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType))(?:\\b)"},{token:["support.constant.cocoa"],regex:"(?:\\b)(NS(?:R(?:GB(?:ModeColorPanel|ColorSpaceModel)|ight(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|T(?:ext(?:Movement|Alignment)|ab(?:sBezelBorder|StopType))|ArrowFunctionKey)|ound(?:RectBezelStyle|Bankers|ed(?:BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(?:CapStyle|JoinStyle))|un(?:StoppedResponse|ContinuesResponse|AbortedResponse)|e(?:s(?:izableWindowMask|et(?:CursorRectsRunLoopOrdering|FunctionKey))|ce(?:ssedBezelStyle|iver(?:sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(?:evancyLevelIndicatorStyle|ative(?:Before|After))|gular(?:SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(?:n(?:domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(?:ModeMatrix|Button)))|G(?:IFFileType|lyph(?:Below|Inscribe(?:B(?:elow|ase)|Over(?:strike|Below)|Above)|Layout(?:WithPrevious|A(?:tAPoint|gainstAPoint))|A(?:ttribute(?:BidiLevel|Soft|Inscribe|Elastic)|bove))|r(?:ooveBorder|eaterThan(?:Comparison|OrEqualTo(?:Comparison|PredicateOperatorType)|PredicateOperatorType)|a(?:y(?:ModeColorPanel|ColorSpaceModel)|dient(?:None|Con(?:cave(?:Strong|Weak)|vex(?:Strong|Weak)))|phiteControlTint)))|XML(?:N(?:o(?:tationDeclarationKind|de(?:CompactEmptyElement|IsCDATA|OptionsNone|Use(?:SingleQuotes|DoubleQuotes)|Pre(?:serve(?:NamespaceOrder|C(?:haracterReferences|DATA)|DTD|Prefixes|E(?:ntities|mptyElements)|Quotes|Whitespace|A(?:ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(?:ocument(?:X(?:MLKind|HTMLKind|Include)|HTMLKind|T(?:idy(?:XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(?:arser(?:GTRequiredError|XMLDeclNot(?:StartedError|FinishedError)|Mi(?:splaced(?:XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(?:StartedError|FinishedError))|S(?:t(?:andaloneValueError|ringNot(?:StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(?:MTOKENRequiredError|o(?:t(?:ationNot(?:StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(?:haracterRef(?:In(?:DTDError|PrologError|EpilogError)|AtEOFError)|o(?:nditionalSectionNot(?:StartedError|FinishedError)|mment(?:NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(?:ternalError|valid(?:HexCharacterRefError|C(?:haracter(?:RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(?:NameError|Error)))|OutOfMemoryError|D(?:ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(?:RI(?:RequiredError|FragmentError)|n(?:declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(?:CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(?:MissingSemiError|NoNameError|In(?:Internal(?:SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(?:ocessingInstructionNot(?:StartedError|FinishedError)|ematureDocumentEndError))|E(?:n(?:codingNotSupportedError|tity(?:Ref(?:In(?:DTDError|PrologError|EpilogError)|erence(?:MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(?:StartedError|FinishedError)|Is(?:ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(?:StartedError|FinishedError)|xt(?:ernalS(?:tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(?:iteralNot(?:StartedError|FinishedError)|T(?:RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(?:RedefinedError|HasNoValueError|Not(?:StartedError|FinishedError)|ListNot(?:StartedError|FinishedError)))|rocessingInstructionKind)|E(?:ntity(?:GeneralKind|DeclarationKind|UnparsedKind|P(?:ar(?:sedKind|ameterKind)|redefined))|lement(?:Declaration(?:MixedKind|UndefinedKind|E(?:lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(?:N(?:MToken(?:sKind|Kind)|otationKind)|CDATAKind|ID(?:Ref(?:sKind|Kind)|Kind)|DeclarationKind|En(?:tit(?:yKind|iesKind)|umerationKind)|Kind))|M(?:i(?:n(?:XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(?:nthCalendarUnit|deSwitchFunctionKey|use(?:Moved(?:Mask)?|E(?:ntered(?:Mask)?|ventSubtype|xited(?:Mask)?))|veToBezierPathElement|mentary(?:ChangeButton|Push(?:Button|InButton)|Light(?:Button)?))|enuFunctionKey|a(?:c(?:intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(?:XEdge|YEdge))|ACHOperatingSystem)|B(?:MPFileType|o(?:ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(?:Se(?:condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(?:zelBorder|velLineJoinStyle|low(?:Bottom|Top)|gin(?:sWith(?:Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(?:spaceCharacter|tabTextMovement|ingStore(?:Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(?:owser(?:NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(?:h(?:ift(?:JISStringEncoding|KeyMask)|ow(?:ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(?:s(?:ReqFunctionKey|tem(?:D(?:omainMask|efined(?:Mask)?)|FunctionKey))|mbolStringEncoding)|c(?:a(?:nnedOption|le(?:None|ToFit|Proportionally))|r(?:oll(?:er(?:NoPart|Increment(?:Page|Line|Arrow)|Decrement(?:Page|Line|Arrow)|Knob(?:Slot)?|Arrows(?:M(?:inEnd|axEnd)|None|DefaultSetting))|Wheel(?:Mask)?|LockFunctionKey)|eenChangedEventType))|t(?:opFunctionKey|r(?:ingDrawing(?:OneShot|DisableScreenFontSubstitution|Uses(?:DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(?:Status(?:Reading|NotOpen|Closed|Open(?:ing)?|Error|Writing|AtEnd)|Event(?:Has(?:BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(?:ndEncountered|rrorOccurred)))))|i(?:ngle(?:DateMode|UnderlineStyle)|ze(?:DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(?:condCalendarUnit|lect(?:By(?:Character|Paragraph|Word)|i(?:ng(?:Next|Previous)|onAffinity(?:Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(?:Momentary|Select(?:One|Any)))|quareLineCapStyle|witchButton|ave(?:ToOperation|Op(?:tions(?:Yes|No|Ask)|eration)|AsOperation)|mall(?:SquareBezelStyle|C(?:ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(?:ighlightModeMatrix|SBModeColorPanel|o(?:ur(?:Minute(?:SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(?:Never|OnlyFromMainDocumentDomain|Always)|e(?:lp(?:ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(?:MonthDa(?:yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(?:o(?:n(?:StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(?:ification(?:SuspensionBehavior(?:Hold|Coalesce|D(?:eliverImmediately|rop))|NoCoalescing|CoalescingOn(?:Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(?:cr(?:iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(?:itle|opLevelContainersSpecifierError|abs(?:BezelBorder|NoBorder|LineBorder))|I(?:nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(?:ll(?:Glyph|CellType)|m(?:eric(?:Search|PadKeyMask)|berFormatter(?:Round(?:Half(?:Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(?:10|Default)|S(?:cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(?:ercentStyle|ad(?:Before(?:Suffix|Prefix)|After(?:Suffix|Prefix))))))|e(?:t(?:Services(?:BadArgumentError|NotFoundError|C(?:ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(?:StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(?:t(?:iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(?:hange(?:ReadOtherContents|GrayCell(?:Mask)?|BackgroundCell(?:Mask)?|Cleared|Done|Undone|Autosaved)|MYK(?:ModeColorPanel|ColorSpaceModel)|ircular(?:BezelStyle|Slider)|o(?:n(?:stantValueExpressionType|t(?:inuousCapacityLevelIndicatorStyle|entsCellMask|ain(?:sComparison|erSpecifierError)|rol(?:Glyph|KeyMask))|densedFontMask)|lor(?:Panel(?:RGBModeMask|GrayModeMask|HSBModeMask|C(?:MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(?:p(?:osite(?:XOR|Source(?:In|O(?:ut|ver)|Atop)|Highlight|C(?:opy|lear)|Destination(?:In|O(?:ut|ver)|Atop)|Plus(?:Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(?:stom(?:SelectorPredicateOperatorType|PaletteModeColorPanel)|r(?:sor(?:Update(?:Mask)?|PointingDevice)|veToBezierPathElement))|e(?:nterT(?:extAlignment|abStopType)|ll(?:State|H(?:ighlighted|as(?:Image(?:Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(?:Bordered|InsetButton)|Disabled|Editable|LightsBy(?:Gray|Background|Contents)|AllowsMixedState))|l(?:ipPagination|o(?:s(?:ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(?:ControlTint|DisplayFunctionKey|LineFunctionKey))|a(?:seInsensitive(?:Search|PredicateOption)|n(?:notCreateScriptCommandError|cel(?:Button|TextMovement))|chesDirectory|lculation(?:NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(?:itical(?:Request|AlertStyle)|ayonModeColorPanel))|T(?:hick(?:SquareBezelStyle|erSquareBezelStyle)|ypesetter(?:Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(?:ineBreakAction|atestBehavior))|i(?:ckMark(?:Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(?:olbarItemVisibilityPriority(?:Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(?:Compression(?:N(?:one|EXT)|CCITTFAX(?:3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(?:rminate(?:Now|Cancel|Later)|xt(?:Read(?:InapplicableDocumentTypeError|WriteErrorM(?:inimum|aximum))|Block(?:M(?:i(?:nimum(?:Height|Width)|ddleAlignment)|a(?:rgin|ximum(?:Height|Width)))|B(?:o(?:ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(?:ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(?:Characters|Attributes)|CellType|ured(?:RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(?:FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(?:RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(?:Character|TextMovement|le(?:tP(?:oint(?:Mask|EventSubtype)?|roximity(?:Mask|EventSubtype)?)|Column(?:NoResizing|UserResizingMask|AutoresizingMask)|View(?:ReverseSequentialColumnAutoresizingStyle|GridNone|S(?:olid(?:HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(?:n(?:sert(?:CharFunctionKey|FunctionKey|LineFunctionKey)|t(?:Type|ernalS(?:criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(?:Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(?:2022JPStringEncoding|Latin(?:1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(?:R(?:ight|ep(?:MatchesDevice|LoadStatus(?:ReadingHeader|Completed|InvalidData|Un(?:expectedEOF|knownType)|WillNeedAllData)))|Below|C(?:ellType|ache(?:BySize|Never|Default|Always))|Interpolation(?:High|None|Default|Low)|O(?:nly|verlaps)|Frame(?:Gr(?:oove|ayBezel)|Button|None|Photo)|L(?:oadStatus(?:ReadError|C(?:ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(?:lign(?:Right|Bottom(?:Right|Left)?|Center|Top(?:Right|Left)?|Left)|bove)))|O(?:n(?:State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|TextMovement)|SF1OperatingSystem|pe(?:n(?:GL(?:GO(?:Re(?:setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(?:R(?:obust|endererID)|M(?:inimumPolicy|ulti(?:sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(?:creenMask|te(?:ncilSize|reo)|ingleRenderer|upersample|ample(?:s|Buffers|Alpha))|NoRecovery|C(?:o(?:lor(?:Size|Float)|mpliant)|losestPolicy)|OffScreen|D(?:oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(?:cc(?:umSize|elerated)|ux(?:Buffers|DepthStencil)|l(?:phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(?:criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(?:B(?:itfield|oolType)|S(?:hortType|tr(?:ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(?:Type|longType)|ArrayType))|D(?:i(?:s(?:c(?:losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(?:Selection|PredicateModifier))|o(?:c(?:ModalWindowMask|ument(?:Directory|ationDirectory))|ubleType|wn(?:TextMovement|ArrowFunctionKey))|e(?:s(?:cendingPageOrder|ktopDirectory)|cimalTabStopType|v(?:ice(?:NColorSpaceModel|IndependentModifierFlagsMask)|eloper(?:Directory|ApplicationDirectory))|fault(?:ControlTint|TokenStyle)|lete(?:Char(?:acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(?:yCalendarUnit|teFormatter(?:MediumStyle|Behavior(?:10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(?:wer(?:Clos(?:ingState|edState)|Open(?:ingState|State))|gOperation(?:Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(?:ser(?:CancelledError|D(?:irectory|omainMask)|FunctionKey)|RL(?:Handle(?:NotLoaded|Load(?:Succeeded|InProgress|Failed))|CredentialPersistence(?:None|Permanent|ForSession))|n(?:scaledWindowMask|cachedRead|i(?:codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(?:o(?:CloseGroupingRunLoopOrdering|FunctionKey)|e(?:finedDateComponent|rline(?:Style(?:Single|None|Thick|Double)|Pattern(?:Solid|D(?:ot|ash(?:Dot(?:Dot)?)?)))))|known(?:ColorSpaceModel|P(?:ointingDevice|ageOrder)|KeyS(?:criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(?:dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(?:ustifiedTextAlignment|PEG(?:2000FileType|FileType)|apaneseEUC(?:GlyphPacking|StringEncoding))|P(?:o(?:s(?:t(?:Now|erFontMask|WhenIdle|ASAP)|iti(?:on(?:Replace|Be(?:fore|ginning)|End|After)|ve(?:IntType|DoubleType|FloatType)))|pUp(?:NoArrow|ArrowAt(?:Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(?:InCell(?:Mask)?|OnPushOffButton)|e(?:n(?:TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(?:Mask)?)|P(?:S(?:caleField|tatus(?:Title|Field)|aveButton)|N(?:ote(?:Title|Field)|ame(?:Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(?:a(?:perFeedButton|ge(?:Range(?:To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(?:useFunctionKey|ragraphSeparatorCharacter|ge(?:DownFunctionKey|UpFunctionKey))|r(?:int(?:ing(?:ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(?:NotFound|OK|Error)|FunctionKey)|o(?:p(?:ertyList(?:XMLFormat|MutableContainers(?:AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(?:BarStyle|SpinningStyle|Preferred(?:SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(?:ssedTab|vFunctionKey))|L(?:HeightForm|CancelButton|TitleField|ImageButton|O(?:KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(?:n(?:terCharacter|d(?:sWith(?:Comparison|PredicateOperatorType)|FunctionKey))|v(?:e(?:nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(?:Comparison|PredicateOperatorType)|ra(?:serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(?:clude(?:10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(?:i(?:ew(?:M(?:in(?:XMargin|YMargin)|ax(?:XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(?:lidationErrorM(?:inimum|aximum)|riableExpressionType))|Key(?:SpecifierEvaluationScriptError|Down(?:Mask)?|Up(?:Mask)?|PathExpressionType|Value(?:MinusSetMutation|SetSetMutation|Change(?:Re(?:placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(?:New|Old)|UnionSetMutation|ValidationError))|QTMovie(?:NormalPlayback|Looping(?:BackAndForthPlayback|Playback))|F(?:1(?:1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(?:nd(?:PanelAction(?:Replace(?:A(?:ndFind|ll(?:InSelection)?))?|S(?:howFindPanel|e(?:tFindString|lectAll(?:InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(?:Read(?:No(?:SuchFileError|PermissionError)|CorruptFileError|In(?:validFileNameError|applicableStringEncodingError)|Un(?:supportedSchemeError|knownError))|HandlingPanel(?:CancelButton|OKButton)|NoSuchFileError|ErrorM(?:inimum|aximum)|Write(?:NoPermissionError|In(?:validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(?:supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(?:1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(?:nt(?:Mo(?:noSpaceTrait|dernSerifsClass)|BoldTrait|S(?:ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(?:o(?:ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(?:ntegerAdvancementsRenderingMode|talicTrait)|O(?:ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(?:nknownClass|IOptimizedTrait)|Panel(?:S(?:hadowEffectModeMask|t(?:andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(?:ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(?:amilyClassMask|reeformSerifsClass)|Antialiased(?:RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(?:Below|Type(?:None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(?:attingError(?:M(?:inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(?:ExpressionType|KeyMask)|3(?:1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(?:RevertButton|S(?:ize(?:Title|Field)|etButton)|CurrentField|Preview(?:Button|Field))|l(?:oat(?:ingPointSamplesBitmapFormat|Type)|agsChanged(?:Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(?:heelModeColorPanel|indow(?:s(?:NTOperatingSystem|CP125(?:1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(?:InterfaceStyle|OperatingSystem))|M(?:iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(?:NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(?:ctivation|ddingToRecents)|A(?:sync|nd(?:Hide(?:Others)?|Print)|llowingClassicStartup))|eek(?:day(?:CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(?:ntsBidiLevels|rningAlertStyle)|r(?:itingDirection(?:RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(?:i(?:stModeMatrix|ne(?:Moves(?:Right|Down|Up|Left)|B(?:order|reakBy(?:C(?:harWrapping|lipping)|Truncating(?:Middle|Head|Tail)|WordWrapping))|S(?:eparatorCharacter|weep(?:Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(?:ssThan(?:Comparison|OrEqualTo(?:Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|T(?:ext(?:Movement|Alignment)|ab(?:sBezelBorder|StopType))|ArrowFunctionKey))|a(?:yout(?:RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(?:sc(?:iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(?:y(?:Type|PredicateModifier|EventMask)|choredSearch|imation(?:Blocking|Nonblocking(?:Threaded)?|E(?:ffect(?:DisappearingItemDefault|Poof)|ase(?:In(?:Out)?|Out))|Linear)|dPredicateType)|t(?:Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(?:obe(?:GB1CharacterCollection|CNS1CharacterCollection|Japan(?:1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(?:saveOperation|Pagination)|pp(?:lication(?:SupportDirectory|D(?:irectory|e(?:fined(?:Mask)?|legateReply(?:Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(?:Mask)?)|l(?:ternateKeyMask|pha(?:ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(?:SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(?:ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(?:sWrongScriptError|EvaluationScriptError)|bove(?:Bottom|Top)|WTEventType)))(?:\\b)"},{token:"support.function.C99.c",regex:s.cFunctions},{token:n.getKeywords(),regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.section.scope.begin.objc",regex:"\\[",next:"bracketed_content"},{token:"meta.function.objc",regex:"^(?:-|\\+)\\s*"}],constant_NSString:[{token:"constant.character.escape.objc",regex:e},{token:"invalid.illegal.unknown-escape.objc",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"punctuation.definition.string.end",regex:'"',next:"start"}],protocol_list:[{token:"punctuation.section.scope.end.objc",regex:">",next:"start"},{token:"support.other.protocol.objc",regex:"\bNS(?:GlyphStorage|M(?:utableCopying|enuItem)|C(?:hangeSpelling|o(?:ding|pying|lorPicking(?:Custom|Default)))|T(?:oolbarItemValidations|ext(?:Input|AttachmentCell))|I(?:nputServ(?:iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(?:CTypeSerializationCallBack|ect)|D(?:ecimalNumberBehaviors|raggingInfo)|U(?:serInterfaceValidations|RL(?:HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(?:ToobarItem|UserInterfaceItem)|Locking)\b"}],selectors:[{token:"support.function.any-method.name-of-parameter.objc",regex:"\\b(?:[a-zA-Z_:][\\w]*)+"},{token:"punctuation",regex:"\\)",next:"start"}],bracketed_content:[{token:"punctuation.section.scope.end.objc",regex:"]",next:"start"},{token:["support.function.any-method.objc"],regex:"(?:predicateWithFormat:| NSPredicate predicateWithFormat:)",next:"start"},{token:"support.function.any-method.objc",regex:"\\w+(?::|(?=]))",next:"start"}],bracketed_strings:[{token:"punctuation.section.scope.end.objc",regex:"]",next:"start"},{token:"keyword.operator.logical.predicate.cocoa",regex:"\\b(?:AND|OR|NOT|IN)\\b"},{token:["invalid.illegal.unknown-method.objc","punctuation.separator.arguments.objc"],regex:"\\b(w+)(:)"},{regex:"\\b(?:ALL|ANY|SOME|NONE)\\b",token:"constant.language.predicate.cocoa"},{regex:"\\b(?:NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b",token:"constant.language.predicate.cocoa"},{regex:"\\b(?:MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b",token:"keyword.operator.comparison.predicate.cocoa"},{regex:"\\bC(?:ASEINSENSITIVE|I)\\b",token:"keyword.other.modifier.predicate.cocoa"},{regex:"\\b(?:ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b",token:"keyword.other.predicate.cocoa"},{regex:e,token:"constant.character.escape.objc"},{regex:"\\\\.",token:"invalid.illegal.unknown-escape.objc"},{token:"string",regex:'[^"\\\\]'},{token:"punctuation.definition.string.end.objc",regex:'"',next:"predicates"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],methods:[{token:"meta.function.objc",regex:"(?=\\{|#)|;",next:"start"}]};for(var u in r)this.$rules[u]?this.$rules[u].push&&this.$rules[u].push.apply(this.$rules[u],r[u]):this.$rules[u]=r[u];this.$rules.bracketed_content=this.$rules.bracketed_content.concat(this.$rules.start,t),this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,o),t.ObjectiveCHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/objectivec",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/objectivec_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./objectivec_highlight_rules").ObjectiveCHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/objectivec"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-ocaml.js b/library/ace/mode-ocaml.js
new file mode 100644
index 000000000..9c5a92db6
--- /dev/null
+++ b/library/ace/mode-ocaml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/ocaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|or|private|rec|sig|struct|then|to|try|type|val|virtual|when|while|with",t="true|false",n="abs|abs_big_int|abs_float|abs_num|abstract_tag|accept|access|acos|add|add_available_units|add_big_int|add_buffer|add_channel|add_char|add_initializer|add_int_big_int|add_interfaces|add_num|add_string|add_substitute|add_substring|alarm|allocated_bytes|allow_only|allow_unsafe_modules|always|append|appname_get|appname_set|approx_num_exp|approx_num_fix|arg|argv|arith_status|array|array1_of_genarray|array2_of_genarray|array3_of_genarray|asin|asr|assoc|assq|at_exit|atan|atan2|auto_synchronize|background|basename|beginning_of_input|big_int_of_int|big_int_of_num|big_int_of_string|bind|bind_class|bind_tag|bits|bits_of_float|black|blit|blit_image|blue|bool|bool_of_string|bounded_full_split|bounded_split|bounded_split_delim|bprintf|break|broadcast|bscanf|button_down|c_layout|capitalize|cardinal|cardinal|catch|catch_break|ceil|ceiling_num|channel|char|char_of_int|chdir|check|check_suffix|chmod|choose|chop_extension|chop_suffix|chown|chown|chr|chroot|classify_float|clear|clear_available_units|clear_close_on_exec|clear_graph|clear_nonblock|clear_parser|close|close|closeTk|close_box|close_graph|close_in|close_in_noerr|close_out|close_out_noerr|close_process|close_process|close_process_full|close_process_in|close_process_out|close_subwindow|close_tag|close_tbox|closedir|closedir|closure_tag|code|combine|combine|combine|command|compact|compare|compare_big_int|compare_num|complex32|complex64|concat|conj|connect|contains|contains_from|contents|copy|cos|cosh|count|count|counters|create|create_alarm|create_image|create_matrix|create_matrix|create_matrix|create_object|create_object_and_run_initializers|create_object_opt|create_process|create_process|create_process_env|create_process_env|create_table|current|current_dir_name|current_point|current_x|current_y|curveto|custom_tag|cyan|data_size|decr|decr_num|default_available_units|delay|delete_alarm|descr_of_in_channel|descr_of_out_channel|destroy|diff|dim|dim1|dim2|dim3|dims|dirname|display_mode|div|div_big_int|div_num|double_array_tag|double_tag|draw_arc|draw_char|draw_circle|draw_ellipse|draw_image|draw_poly|draw_poly_line|draw_rect|draw_segments|draw_string|dummy_pos|dummy_table|dump_image|dup|dup2|elements|empty|end_of_input|environment|eprintf|epsilon_float|eq_big_int|eq_num|equal|err_formatter|error_message|escaped|establish_server|executable_name|execv|execve|execvp|execvpe|exists|exists2|exit|exp|failwith|fast_sort|fchmod|fchown|field|file|file_exists|fill|fill_arc|fill_circle|fill_ellipse|fill_poly|fill_rect|filter|final_tag|finalise|find|find_all|first_chars|firstkey|flatten|float|float32|float64|float_of_big_int|float_of_bits|float_of_int|float_of_num|float_of_string|floor|floor_num|flush|flush_all|flush_input|flush_str_formatter|fold|fold_left|fold_left2|fold_right|fold_right2|for_all|for_all2|force|force_newline|force_val|foreground|fork|format_of_string|formatter_of_buffer|formatter_of_out_channel|fortran_layout|forward_tag|fprintf|frexp|from|from_channel|from_file|from_file_bin|from_function|from_string|fscanf|fst|fstat|ftruncate|full_init|full_major|full_split|gcd_big_int|ge_big_int|ge_num|genarray_of_array1|genarray_of_array2|genarray_of_array3|get|get_all_formatter_output_functions|get_approx_printing|get_copy|get_ellipsis_text|get_error_when_null_denominator|get_floating_precision|get_formatter_output_functions|get_formatter_tag_functions|get_image|get_margin|get_mark_tags|get_max_boxes|get_max_indent|get_method|get_method_label|get_normalize_ratio|get_normalize_ratio_when_printing|get_print_tags|get_state|get_variable|getcwd|getegid|getegid|getenv|getenv|getenv|geteuid|geteuid|getgid|getgid|getgrgid|getgrgid|getgrnam|getgrnam|getgroups|gethostbyaddr|gethostbyname|gethostname|getitimer|getlogin|getpeername|getpid|getppid|getprotobyname|getprotobynumber|getpwnam|getpwuid|getservbyname|getservbyport|getsockname|getsockopt|getsockopt_float|getsockopt_int|getsockopt_optint|gettimeofday|getuid|global_replace|global_substitute|gmtime|green|grid|group_beginning|group_end|gt_big_int|gt_num|guard|handle_unix_error|hash|hash_param|hd|header_size|i|id|ignore|in_channel_length|in_channel_of_descr|incr|incr_num|index|index_from|inet_addr_any|inet_addr_of_string|infinity|infix_tag|init|init_class|input|input_binary_int|input_byte|input_char|input_line|input_value|int|int16_signed|int16_unsigned|int32|int64|int8_signed|int8_unsigned|int_of_big_int|int_of_char|int_of_float|int_of_num|int_of_string|integer_num|inter|interactive|inv|invalid_arg|is_block|is_empty|is_implicit|is_int|is_int_big_int|is_integer_num|is_relative|iter|iter2|iteri|join|junk|key_pressed|kill|kind|kprintf|kscanf|land|last_chars|layout|lazy_from_fun|lazy_from_val|lazy_is_val|lazy_tag|ldexp|le_big_int|le_num|length|lexeme|lexeme_char|lexeme_end|lexeme_end_p|lexeme_start|lexeme_start_p|lineto|link|list|listen|lnot|loadfile|loadfile_private|localtime|lock|lockf|log|log10|logand|lognot|logor|logxor|lor|lower_window|lowercase|lseek|lsl|lsr|lstat|lt_big_int|lt_num|lxor|magenta|magic|mainLoop|major|major_slice|make|make_formatter|make_image|make_lexer|make_matrix|make_self_init|map|map2|map_file|mapi|marshal|match_beginning|match_end|matched_group|matched_string|max|max_array_length|max_big_int|max_elt|max_float|max_int|max_num|max_string_length|mem|mem_assoc|mem_assq|memq|merge|min|min_big_int|min_elt|min_float|min_int|min_num|minor|minus_big_int|minus_num|minus_one|mkdir|mkfifo|mktime|mod|mod_big_int|mod_float|mod_num|modf|mouse_pos|moveto|mul|mult_big_int|mult_int_big_int|mult_num|nan|narrow|nat_of_num|nativeint|neg|neg_infinity|new_block|new_channel|new_method|new_variable|next|nextkey|nice|nice|no_scan_tag|norm|norm2|not|npeek|nth|nth_dim|num_digits_big_int|num_dims|num_of_big_int|num_of_int|num_of_nat|num_of_ratio|num_of_string|O|obj|object_tag|ocaml_version|of_array|of_channel|of_float|of_int|of_int32|of_list|of_nativeint|of_string|one|openTk|open_box|open_connection|open_graph|open_hbox|open_hovbox|open_hvbox|open_in|open_in_bin|open_in_gen|open_out|open_out_bin|open_out_gen|open_process|open_process_full|open_process_in|open_process_out|open_subwindow|open_tag|open_tbox|open_temp_file|open_vbox|opendbm|opendir|openfile|or|os_type|out_channel_length|out_channel_of_descr|output|output_binary_int|output_buffer|output_byte|output_char|output_string|output_value|over_max_boxes|pack|params|parent_dir_name|parse|parse_argv|partition|pause|peek|pipe|pixels|place|plot|plots|point_color|polar|poll|pop|pos_in|pos_out|pow|power_big_int_positive_big_int|power_big_int_positive_int|power_int_positive_big_int|power_int_positive_int|power_num|pp_close_box|pp_close_tag|pp_close_tbox|pp_force_newline|pp_get_all_formatter_output_functions|pp_get_ellipsis_text|pp_get_formatter_output_functions|pp_get_formatter_tag_functions|pp_get_margin|pp_get_mark_tags|pp_get_max_boxes|pp_get_max_indent|pp_get_print_tags|pp_open_box|pp_open_hbox|pp_open_hovbox|pp_open_hvbox|pp_open_tag|pp_open_tbox|pp_open_vbox|pp_over_max_boxes|pp_print_as|pp_print_bool|pp_print_break|pp_print_char|pp_print_cut|pp_print_float|pp_print_flush|pp_print_if_newline|pp_print_int|pp_print_newline|pp_print_space|pp_print_string|pp_print_tab|pp_print_tbreak|pp_set_all_formatter_output_functions|pp_set_ellipsis_text|pp_set_formatter_out_channel|pp_set_formatter_output_functions|pp_set_formatter_tag_functions|pp_set_margin|pp_set_mark_tags|pp_set_max_boxes|pp_set_max_indent|pp_set_print_tags|pp_set_tab|pp_set_tags|pred|pred_big_int|pred_num|prerr_char|prerr_endline|prerr_float|prerr_int|prerr_newline|prerr_string|print|print_as|print_bool|print_break|print_char|print_cut|print_endline|print_float|print_flush|print_if_newline|print_int|print_newline|print_space|print_stat|print_string|print_tab|print_tbreak|printf|prohibit|public_method_label|push|putenv|quo_num|quomod_big_int|quote|raise|raise_window|ratio_of_num|rcontains_from|read|read_float|read_int|read_key|read_line|readdir|readdir|readlink|really_input|receive|recv|recvfrom|red|ref|regexp|regexp_case_fold|regexp_string|regexp_string_case_fold|register|register_exception|rem|remember_mode|remove|remove_assoc|remove_assq|rename|replace|replace_first|replace_matched|repr|reset|reshape|reshape_1|reshape_2|reshape_3|rev|rev_append|rev_map|rev_map2|rewinddir|rgb|rhs_end|rhs_end_pos|rhs_start|rhs_start_pos|rindex|rindex_from|rlineto|rmdir|rmoveto|round_num|run_initializers|run_initializers_opt|scanf|search_backward|search_forward|seek_in|seek_out|select|self|self_init|send|sendto|set|set_all_formatter_output_functions|set_approx_printing|set_binary_mode_in|set_binary_mode_out|set_close_on_exec|set_close_on_exec|set_color|set_ellipsis_text|set_error_when_null_denominator|set_field|set_floating_precision|set_font|set_formatter_out_channel|set_formatter_output_functions|set_formatter_tag_functions|set_line_width|set_margin|set_mark_tags|set_max_boxes|set_max_indent|set_method|set_nonblock|set_nonblock|set_normalize_ratio|set_normalize_ratio_when_printing|set_print_tags|set_signal|set_state|set_tab|set_tag|set_tags|set_text_size|set_window_title|setgid|setgid|setitimer|setitimer|setsid|setsid|setsockopt|setsockopt|setsockopt_float|setsockopt_float|setsockopt_int|setsockopt_int|setsockopt_optint|setsockopt_optint|setuid|setuid|shift_left|shift_left|shift_left|shift_right|shift_right|shift_right|shift_right_logical|shift_right_logical|shift_right_logical|show_buckets|shutdown|shutdown|shutdown_connection|shutdown_connection|sigabrt|sigalrm|sigchld|sigcont|sigfpe|sighup|sigill|sigint|sigkill|sign_big_int|sign_num|signal|signal|sigpending|sigpending|sigpipe|sigprocmask|sigprocmask|sigprof|sigquit|sigsegv|sigstop|sigsuspend|sigsuspend|sigterm|sigtstp|sigttin|sigttou|sigusr1|sigusr2|sigvtalrm|sin|singleton|sinh|size|size|size_x|size_y|sleep|sleep|sleep|slice_left|slice_left|slice_left_1|slice_left_2|slice_right|slice_right|slice_right_1|slice_right_2|snd|socket|socket|socket|socketpair|socketpair|sort|sound|split|split_delim|sprintf|sprintf|sqrt|sqrt|sqrt_big_int|square_big_int|square_num|sscanf|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stat|stat|stat|stat|stat|stats|stats|std_formatter|stdbuf|stderr|stderr|stderr|stdib|stdin|stdin|stdin|stdout|stdout|stdout|str_formatter|string|string_after|string_before|string_match|string_of_big_int|string_of_bool|string_of_float|string_of_format|string_of_inet_addr|string_of_inet_addr|string_of_int|string_of_num|string_partial_match|string_tag|sub|sub|sub_big_int|sub_left|sub_num|sub_right|subset|subset|substitute_first|substring|succ|succ|succ|succ|succ_big_int|succ_num|symbol_end|symbol_end_pos|symbol_start|symbol_start_pos|symlink|symlink|sync|synchronize|system|system|system|tag|take|tan|tanh|tcdrain|tcdrain|tcflow|tcflow|tcflush|tcflush|tcgetattr|tcgetattr|tcsendbreak|tcsendbreak|tcsetattr|tcsetattr|temp_file|text_size|time|time|time|timed_read|timed_write|times|times|tl|tl|tl|to_buffer|to_channel|to_float|to_hex|to_int|to_int32|to_list|to_list|to_list|to_nativeint|to_string|to_string|to_string|to_string|to_string|top|top|total_size|transfer|transp|truncate|truncate|truncate|truncate|truncate|truncate|try_lock|umask|umask|uncapitalize|uncapitalize|uncapitalize|union|union|unit_big_int|unlink|unlink|unlock|unmarshal|unsafe_blit|unsafe_fill|unsafe_get|unsafe_get|unsafe_set|unsafe_set|update|uppercase|uppercase|uppercase|uppercase|usage|utimes|utimes|wait|wait|wait|wait|wait_next_event|wait_pid|wait_read|wait_signal|wait_timed_read|wait_timed_write|wait_write|waitpid|white|widen|window_id|word_size|wrap|wrap_abort|write|yellow|yield|zero|zero_big_int|Arg|Arith_status|Array|Array1|Array2|Array3|ArrayLabels|Big_int|Bigarray|Buffer|Callback|CamlinternalOO|Char|Complex|Condition|Dbm|Digest|Dynlink|Event|Filename|Format|Gc|Genarray|Genlex|Graphics|GraphicsX11|Hashtbl|Int32|Int64|LargeFile|Lazy|Lexing|List|ListLabels|Make|Map|Marshal|MoreLabels|Mutex|Nativeint|Num|Obj|Oo|Parsing|Pervasives|Printexc|Printf|Queue|Random|Scanf|Scanning|Set|Sort|Stack|State|StdLabels|Str|Stream|String|StringLabels|Sys|Thread|ThreadUnix|Tk|Unix|UnixLabels|Weak",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier"),i="(?:(?:[1-9]\\d*)|(?:0))",s="(?:0[oO]?[0-7]+)",o="(?:0[xX][\\dA-Fa-f]+)",u="(?:0[bB][01]+)",a="(?:"+i+"|"+s+"|"+o+"|"+u+")",f="(?:[eE][+-]?\\d+)",l="(?:\\.\\d+)",c="(?:\\d+)",h="(?:(?:"+c+"?"+l+")|(?:"+c+"\\.))",p="(?:(?:"+h+"|"+c+")"+f+")",d="(?:"+p+"|"+h+")";this.$rules={start:[{token:"comment",regex:"\\(\\*.*?\\*\\)\\s*?$"},{token:"comment",regex:"\\(\\*.*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"'.'"},{token:"string",regex:'"',next:"qstring"},{token:"constant.numeric",regex:"(?:"+d+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:d},{token:"constant.numeric",regex:a+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\)",next:"start"},{token:"comment",regex:".+"}],qstring:[{token:"string",regex:'"',next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.OcamlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/ocaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ocaml_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ocaml_highlight_rules").OcamlHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(a,i);var f=/(?:[({[=:]|[-=]>|\b(?:else|try|with))\s*$/;(function(){this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,a=/^\s*\(\*(.*)\*\)/;for(i=n;i<=r;i++)if(!a.test(t.getLine(i))){o=!1;break}var f=new u(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(a)[1]:"(*"+s+"*)")},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;return(!i.length||i[i.length-1].type!=="comment")&&e==="start"&&f.test(t)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/ocaml"}).call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-pascal.js b/library/ace/mode-pascal.js
new file mode 100644
index 000000000..b5534398d
--- /dev/null
+++ b/library/ace/mode-pascal.js
@@ -0,0 +1 @@
+ace.define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{caseInsensitive:!0,token:"keyword.control.pascal",regex:"\\b(?:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\\b"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.prototype.pascal","entity.name.function.prototype.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.function.pascal","entity.name.function.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?"},{token:"constant.numeric.pascal",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"punctuation.definition.comment.pascal",regex:"--.*$",push_:[{token:"comment.line.double-dash.pascal.one",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"//.*$",push_:[{token:"comment.line.double-slash.pascal.two",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.pascal.two"}]},{token:"punctuation.definition.comment.pascal",regex:"\\(\\*",push:[{token:"punctuation.definition.comment.pascal",regex:"\\*\\)",next:"pop"},{defaultToken:"comment.block.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"\\{",push:[{token:"punctuation.definition.comment.pascal",regex:"\\}",next:"pop"},{defaultToken:"comment.block.pascal.two"}]},{token:"punctuation.definition.string.begin.pascal",regex:'"',push:[{token:"constant.character.escape.pascal",regex:"\\\\."},{token:"punctuation.definition.string.end.pascal",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.pascal"}]},{token:"punctuation.definition.string.begin.pascal",regex:"'",push:[{token:"constant.character.escape.apostrophe.pascal",regex:"''"},{token:"punctuation.definition.string.end.pascal",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.pascal"}]},{token:"keyword.operator",regex:"[+\\-;,/*%]|:=|="}]},this.normalizeRules()};r.inherits(s,i),t.PascalHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./pascal_highlight_rules").PascalHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart=["--","//"],this.blockComment=[{start:"(*",end:"*)"},{start:"{",end:"}"}],this.$id="ace/mode/pascal"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-perl.js b/library/ace/mode-perl.js
new file mode 100644
index 000000000..cb8243e6f
--- /dev/null
+++ b/library/ace/mode-perl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars",t="ARGV|ENV|INC|SIG",n="getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|getpeername|setpriority|getprotoent|setprotoent|getpriority|endprotoent|getservent|setservent|endservent|sethostent|socketpair|getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|map|die|uc|lc|do",r=this.createKeywordMapper({keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment.doc",regex:"^=(?:begin|item)\\b",next:"block_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0x[0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"},{token:"comment",regex:"#.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],block_comment:[{token:"comment.doc",regex:"^=cut\\b",next:"start"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),t.PerlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/perl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/perl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./perl_highlight_rules").PerlHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.foldingRules=new a({start:"^=(begin|item)\\b",end:"^=(cut)\\b"})};r.inherits(f,i),function(){this.lineCommentStart="#",this.blockComment=[{start:"=begin",end:"=cut",lineStartOnly:!0},{start:"=item",end:"=cut",lineStartOnly:!0}],this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/perl"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-pgsql.js b/library/ace/mode-pgsql.js
new file mode 100644
index 000000000..487bff137
--- /dev/null
+++ b/library/ace/mode-pgsql.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars",t="ARGV|ENV|INC|SIG",n="getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|getpeername|setpriority|getprotoent|setprotoent|getpriority|endprotoent|getservent|setservent|endservent|sethostent|socketpair|getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|map|die|uc|lc|do",r=this.createKeywordMapper({keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment.doc",regex:"^=(?:begin|item)\\b",next:"block_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0x[0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"},{token:"comment",regex:"#.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],block_comment:[{token:"comment.doc",regex:"^=cut\\b",next:"start"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),t.PerlHighlightRules=s}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/pgsql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/perl_highlight_rules","ace/mode/python_highlight_rules","ace/mode/json_highlight_rules","ace/mode/javascript_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./perl_highlight_rules").PerlHighlightRules,a=e("./python_highlight_rules").PythonHighlightRules,f=e("./json_highlight_rules").JsonHighlightRules,l=e("./javascript_highlight_rules").JavaScriptHighlightRules,c=function(){var e="abort|absolute|abstime|access|aclitem|action|add|admin|after|aggregate|all|also|alter|always|analyse|analyze|and|any|anyarray|anyelement|anyenum|anynonarray|anyrange|array|as|asc|assertion|assignment|asymmetric|at|attribute|authorization|backward|before|begin|between|bigint|binary|bit|bool|boolean|both|box|bpchar|by|bytea|cache|called|cascade|cascaded|case|cast|catalog|chain|char|character|characteristics|check|checkpoint|cid|cidr|circle|class|close|cluster|coalesce|collate|collation|column|comment|comments|commit|committed|concurrently|configuration|connection|constraint|constraints|content|continue|conversion|copy|cost|create|cross|cstring|csv|current|current_catalog|current_date|current_role|current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|date|daterange|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|definer|delete|delimiter|delimiters|desc|dictionary|disable|discard|distinct|do|document|domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|event_trigger|except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|family|fdw_handler|fetch|first|float|float4|float8|following|for|force|foreign|forward|freeze|from|full|function|functions|global|grant|granted|greatest|group|gtsvector|handler|having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|in|including|increment|index|indexes|inet|inherit|inherits|initially|inline|inner|inout|input|insensitive|insert|instead|int|int2|int2vector|int4|int4range|int8|int8range|integer|internal|intersect|interval|into|invoker|is|isnull|isolation|join|json|key|label|language|language_handler|large|last|lateral|lc_collate|lc_ctype|leading|leakproof|least|left|level|like|limit|line|listen|load|local|localtime|localtimestamp|location|lock|lseg|macaddr|mapping|match|materialized|maxvalue|minute|minvalue|mode|money|month|move|name|names|national|natural|nchar|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|numeric|numrange|object|of|off|offset|oid|oids|oidvector|on|only|opaque|operator|option|options|or|order|out|outer|over|overlaps|overlay|owned|owner|parser|partial|partition|passing|password|path|pg_attribute|pg_auth_members|pg_authid|pg_class|pg_database|pg_node_tree|pg_proc|pg_type|placing|plans|point|polygon|position|preceding|precision|prepare|prepared|preserve|primary|prior|privileges|procedural|procedure|program|quote|range|read|real|reassign|recheck|record|recursive|ref|refcursor|references|refresh|regclass|regconfig|regdictionary|regoper|regoperator|regproc|regprocedure|regtype|reindex|relative|release|reltime|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|right|role|rollback|row|rows|rule|savepoint|schema|scroll|search|second|security|select|sequence|sequences|serializable|server|session|session_user|set|setof|share|show|similar|simple|smallint|smgr|snapshot|some|stable|standalone|start|statement|statistics|stdin|stdout|storage|strict|strip|substring|symmetric|sysid|system|table|tables|tablespace|temp|template|temporary|text|then|tid|time|timestamp|timestamptz|timetz|tinterval|to|trailing|transaction|treat|trigger|trim|true|truncate|trusted|tsquery|tsrange|tstzrange|tsvector|txid_snapshot|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|unlogged|until|update|user|using|uuid|vacuum|valid|validate|validator|value|values|varbit|varchar|variadic|varying|verbose|version|view|void|volatile|when|where|whitespace|window|with|without|work|wrapper|write|xid|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|xmlforest|xmlparse|xmlpi|xmlroot|xmlserialize|year|yes|zone",t="RI_FKey_cascade_del|RI_FKey_cascade_upd|RI_FKey_check_ins|RI_FKey_check_upd|RI_FKey_noaction_del|RI_FKey_noaction_upd|RI_FKey_restrict_del|RI_FKey_restrict_upd|RI_FKey_setdefault_del|RI_FKey_setdefault_upd|RI_FKey_setnull_del|RI_FKey_setnull_upd|abbrev|abs|abstime|abstimeeq|abstimege|abstimegt|abstimein|abstimele|abstimelt|abstimene|abstimeout|abstimerecv|abstimesend|aclcontains|acldefault|aclexplode|aclinsert|aclitemeq|aclitemin|aclitemout|aclremove|acos|age|any_in|any_out|anyarray_in|anyarray_out|anyarray_recv|anyarray_send|anyelement_in|anyelement_out|anyenum_in|anyenum_out|anynonarray_in|anynonarray_out|anyrange_in|anyrange_out|anytextcat|area|areajoinsel|areasel|array_agg|array_agg_finalfn|array_agg_transfn|array_append|array_cat|array_dims|array_eq|array_fill|array_ge|array_gt|array_in|array_larger|array_le|array_length|array_lower|array_lt|array_ndims|array_ne|array_out|array_prepend|array_recv|array_remove|array_replace|array_send|array_smaller|array_to_json|array_to_string|array_typanalyze|array_upper|arraycontained|arraycontains|arraycontjoinsel|arraycontsel|arrayoverlap|ascii|ascii_to_mic|ascii_to_utf8|asin|atan|atan2|avg|big5_to_euc_tw|big5_to_mic|big5_to_utf8|bit_and|bit_in|bit_length|bit_or|bit_out|bit_recv|bit_send|bitand|bitcat|bitcmp|biteq|bitge|bitgt|bitle|bitlt|bitne|bitnot|bitor|bitshiftleft|bitshiftright|bittypmodin|bittypmodout|bitxor|bool|bool_and|bool_or|booland_statefunc|booleq|boolge|boolgt|boolin|boolle|boollt|boolne|boolor_statefunc|boolout|boolrecv|boolsend|box|box_above|box_above_eq|box_add|box_below|box_below_eq|box_center|box_contain|box_contain_pt|box_contained|box_distance|box_div|box_eq|box_ge|box_gt|box_in|box_intersect|box_le|box_left|box_lt|box_mul|box_out|box_overabove|box_overbelow|box_overlap|box_overleft|box_overright|box_recv|box_right|box_same|box_send|box_sub|bpchar_larger|bpchar_pattern_ge|bpchar_pattern_gt|bpchar_pattern_le|bpchar_pattern_lt|bpchar_smaller|bpcharcmp|bpchareq|bpcharge|bpchargt|bpchariclike|bpcharicnlike|bpcharicregexeq|bpcharicregexne|bpcharin|bpcharle|bpcharlike|bpcharlt|bpcharne|bpcharnlike|bpcharout|bpcharrecv|bpcharregexeq|bpcharregexne|bpcharsend|bpchartypmodin|bpchartypmodout|broadcast|btabstimecmp|btarraycmp|btbeginscan|btboolcmp|btbpchar_pattern_cmp|btbuild|btbuildempty|btbulkdelete|btcanreturn|btcharcmp|btcostestimate|btendscan|btfloat48cmp|btfloat4cmp|btfloat4sortsupport|btfloat84cmp|btfloat8cmp|btfloat8sortsupport|btgetbitmap|btgettuple|btinsert|btint24cmp|btint28cmp|btint2cmp|btint2sortsupport|btint42cmp|btint48cmp|btint4cmp|btint4sortsupport|btint82cmp|btint84cmp|btint8cmp|btint8sortsupport|btmarkpos|btnamecmp|btnamesortsupport|btoidcmp|btoidsortsupport|btoidvectorcmp|btoptions|btrecordcmp|btreltimecmp|btrescan|btrestrpos|btrim|bttext_pattern_cmp|bttextcmp|bttidcmp|bttintervalcmp|btvacuumcleanup|bytea_string_agg_finalfn|bytea_string_agg_transfn|byteacat|byteacmp|byteaeq|byteage|byteagt|byteain|byteale|bytealike|bytealt|byteane|byteanlike|byteaout|bytearecv|byteasend|cash_cmp|cash_div_cash|cash_div_flt4|cash_div_flt8|cash_div_int2|cash_div_int4|cash_eq|cash_ge|cash_gt|cash_in|cash_le|cash_lt|cash_mi|cash_mul_flt4|cash_mul_flt8|cash_mul_int2|cash_mul_int4|cash_ne|cash_out|cash_pl|cash_recv|cash_send|cash_words|cashlarger|cashsmaller|cbrt|ceil|ceiling|center|char|char_length|character_length|chareq|charge|chargt|charin|charle|charlt|charne|charout|charrecv|charsend|chr|cideq|cidin|cidout|cidr|cidr_in|cidr_out|cidr_recv|cidr_send|cidrecv|cidsend|circle|circle_above|circle_add_pt|circle_below|circle_center|circle_contain|circle_contain_pt|circle_contained|circle_distance|circle_div_pt|circle_eq|circle_ge|circle_gt|circle_in|circle_le|circle_left|circle_lt|circle_mul_pt|circle_ne|circle_out|circle_overabove|circle_overbelow|circle_overlap|circle_overleft|circle_overright|circle_recv|circle_right|circle_same|circle_send|circle_sub_pt|clock_timestamp|close_lb|close_ls|close_lseg|close_pb|close_pl|close_ps|close_sb|close_sl|col_description|concat|concat_ws|contjoinsel|contsel|convert|convert_from|convert_to|corr|cos|cot|count|covar_pop|covar_samp|cstring_in|cstring_out|cstring_recv|cstring_send|cume_dist|current_database|current_query|current_schema|current_schemas|current_setting|current_user|currtid|currtid2|currval|cursor_to_xml|cursor_to_xmlschema|database_to_xml|database_to_xml_and_xmlschema|database_to_xmlschema|date|date_cmp|date_cmp_timestamp|date_cmp_timestamptz|date_eq|date_eq_timestamp|date_eq_timestamptz|date_ge|date_ge_timestamp|date_ge_timestamptz|date_gt|date_gt_timestamp|date_gt_timestamptz|date_in|date_larger|date_le|date_le_timestamp|date_le_timestamptz|date_lt|date_lt_timestamp|date_lt_timestamptz|date_mi|date_mi_interval|date_mii|date_ne|date_ne_timestamp|date_ne_timestamptz|date_out|date_part|date_pl_interval|date_pli|date_recv|date_send|date_smaller|date_sortsupport|date_trunc|daterange|daterange_canonical|daterange_subdiff|datetime_pl|datetimetz_pl|dcbrt|decode|degrees|dense_rank|dexp|diagonal|diameter|dispell_init|dispell_lexize|dist_cpoly|dist_lb|dist_pb|dist_pc|dist_pl|dist_ppath|dist_ps|dist_sb|dist_sl|div|dlog1|dlog10|domain_in|domain_recv|dpow|dround|dsimple_init|dsimple_lexize|dsnowball_init|dsnowball_lexize|dsqrt|dsynonym_init|dsynonym_lexize|dtrunc|elem_contained_by_range|encode|enum_cmp|enum_eq|enum_first|enum_ge|enum_gt|enum_in|enum_larger|enum_last|enum_le|enum_lt|enum_ne|enum_out|enum_range|enum_recv|enum_send|enum_smaller|eqjoinsel|eqsel|euc_cn_to_mic|euc_cn_to_utf8|euc_jis_2004_to_shift_jis_2004|euc_jis_2004_to_utf8|euc_jp_to_mic|euc_jp_to_sjis|euc_jp_to_utf8|euc_kr_to_mic|euc_kr_to_utf8|euc_tw_to_big5|euc_tw_to_mic|euc_tw_to_utf8|event_trigger_in|event_trigger_out|every|exp|factorial|family|fdw_handler_in|fdw_handler_out|first_value|float4|float48div|float48eq|float48ge|float48gt|float48le|float48lt|float48mi|float48mul|float48ne|float48pl|float4_accum|float4abs|float4div|float4eq|float4ge|float4gt|float4in|float4larger|float4le|float4lt|float4mi|float4mul|float4ne|float4out|float4pl|float4recv|float4send|float4smaller|float4um|float4up|float8|float84div|float84eq|float84ge|float84gt|float84le|float84lt|float84mi|float84mul|float84ne|float84pl|float8_accum|float8_avg|float8_corr|float8_covar_pop|float8_covar_samp|float8_regr_accum|float8_regr_avgx|float8_regr_avgy|float8_regr_intercept|float8_regr_r2|float8_regr_slope|float8_regr_sxx|float8_regr_sxy|float8_regr_syy|float8_stddev_pop|float8_stddev_samp|float8_var_pop|float8_var_samp|float8abs|float8div|float8eq|float8ge|float8gt|float8in|float8larger|float8le|float8lt|float8mi|float8mul|float8ne|float8out|float8pl|float8recv|float8send|float8smaller|float8um|float8up|floor|flt4_mul_cash|flt8_mul_cash|fmgr_c_validator|fmgr_internal_validator|fmgr_sql_validator|format|format_type|gb18030_to_utf8|gbk_to_utf8|generate_series|generate_subscripts|get_bit|get_byte|get_current_ts_config|getdatabaseencoding|getpgusername|gin_cmp_prefix|gin_cmp_tslexeme|gin_extract_tsquery|gin_extract_tsvector|gin_tsquery_consistent|ginarrayconsistent|ginarrayextract|ginbeginscan|ginbuild|ginbuildempty|ginbulkdelete|gincostestimate|ginendscan|gingetbitmap|gininsert|ginmarkpos|ginoptions|ginqueryarrayextract|ginrescan|ginrestrpos|ginvacuumcleanup|gist_box_compress|gist_box_consistent|gist_box_decompress|gist_box_penalty|gist_box_picksplit|gist_box_same|gist_box_union|gist_circle_compress|gist_circle_consistent|gist_point_compress|gist_point_consistent|gist_point_distance|gist_poly_compress|gist_poly_consistent|gistbeginscan|gistbuild|gistbuildempty|gistbulkdelete|gistcostestimate|gistendscan|gistgetbitmap|gistgettuple|gistinsert|gistmarkpos|gistoptions|gistrescan|gistrestrpos|gistvacuumcleanup|gtsquery_compress|gtsquery_consistent|gtsquery_decompress|gtsquery_penalty|gtsquery_picksplit|gtsquery_same|gtsquery_union|gtsvector_compress|gtsvector_consistent|gtsvector_decompress|gtsvector_penalty|gtsvector_picksplit|gtsvector_same|gtsvector_union|gtsvectorin|gtsvectorout|has_any_column_privilege|has_column_privilege|has_database_privilege|has_foreign_data_wrapper_privilege|has_function_privilege|has_language_privilege|has_schema_privilege|has_sequence_privilege|has_server_privilege|has_table_privilege|has_tablespace_privilege|has_type_privilege|hash_aclitem|hash_array|hash_numeric|hash_range|hashbeginscan|hashbpchar|hashbuild|hashbuildempty|hashbulkdelete|hashchar|hashcostestimate|hashendscan|hashenum|hashfloat4|hashfloat8|hashgetbitmap|hashgettuple|hashinet|hashinsert|hashint2|hashint2vector|hashint4|hashint8|hashmacaddr|hashmarkpos|hashname|hashoid|hashoidvector|hashoptions|hashrescan|hashrestrpos|hashtext|hashvacuumcleanup|hashvarlena|height|host|hostmask|iclikejoinsel|iclikesel|icnlikejoinsel|icnlikesel|icregexeqjoinsel|icregexeqsel|icregexnejoinsel|icregexnesel|inet_client_addr|inet_client_port|inet_in|inet_out|inet_recv|inet_send|inet_server_addr|inet_server_port|inetand|inetmi|inetmi_int8|inetnot|inetor|inetpl|initcap|int2|int24div|int24eq|int24ge|int24gt|int24le|int24lt|int24mi|int24mul|int24ne|int24pl|int28div|int28eq|int28ge|int28gt|int28le|int28lt|int28mi|int28mul|int28ne|int28pl|int2_accum|int2_avg_accum|int2_mul_cash|int2_sum|int2abs|int2and|int2div|int2eq|int2ge|int2gt|int2in|int2larger|int2le|int2lt|int2mi|int2mod|int2mul|int2ne|int2not|int2or|int2out|int2pl|int2recv|int2send|int2shl|int2shr|int2smaller|int2um|int2up|int2vectoreq|int2vectorin|int2vectorout|int2vectorrecv|int2vectorsend|int2xor|int4|int42div|int42eq|int42ge|int42gt|int42le|int42lt|int42mi|int42mul|int42ne|int42pl|int48div|int48eq|int48ge|int48gt|int48le|int48lt|int48mi|int48mul|int48ne|int48pl|int4_accum|int4_avg_accum|int4_mul_cash|int4_sum|int4abs|int4and|int4div|int4eq|int4ge|int4gt|int4in|int4inc|int4larger|int4le|int4lt|int4mi|int4mod|int4mul|int4ne|int4not|int4or|int4out|int4pl|int4range|int4range_canonical|int4range_subdiff|int4recv|int4send|int4shl|int4shr|int4smaller|int4um|int4up|int4xor|int8|int82div|int82eq|int82ge|int82gt|int82le|int82lt|int82mi|int82mul|int82ne|int82pl|int84div|int84eq|int84ge|int84gt|int84le|int84lt|int84mi|int84mul|int84ne|int84pl|int8_accum|int8_avg|int8_avg_accum|int8_sum|int8abs|int8and|int8div|int8eq|int8ge|int8gt|int8in|int8inc|int8inc_any|int8inc_float8_float8|int8larger|int8le|int8lt|int8mi|int8mod|int8mul|int8ne|int8not|int8or|int8out|int8pl|int8pl_inet|int8range|int8range_canonical|int8range_subdiff|int8recv|int8send|int8shl|int8shr|int8smaller|int8um|int8up|int8xor|integer_pl_date|inter_lb|inter_sb|inter_sl|internal_in|internal_out|interval_accum|interval_avg|interval_cmp|interval_div|interval_eq|interval_ge|interval_gt|interval_hash|interval_in|interval_larger|interval_le|interval_lt|interval_mi|interval_mul|interval_ne|interval_out|interval_pl|interval_pl_date|interval_pl_time|interval_pl_timestamp|interval_pl_timestamptz|interval_pl_timetz|interval_recv|interval_send|interval_smaller|interval_transform|interval_um|intervaltypmodin|intervaltypmodout|intinterval|isclosed|isempty|isfinite|ishorizontal|iso8859_1_to_utf8|iso8859_to_utf8|iso_to_koi8r|iso_to_mic|iso_to_win1251|iso_to_win866|isopen|isparallel|isperp|isvertical|johab_to_utf8|json_agg|json_agg_finalfn|json_agg_transfn|json_array_element|json_array_element_text|json_array_elements|json_array_length|json_each|json_each_text|json_extract_path|json_extract_path_op|json_extract_path_text|json_extract_path_text_op|json_in|json_object_field|json_object_field_text|json_object_keys|json_out|json_populate_record|json_populate_recordset|json_recv|json_send|justify_days|justify_hours|justify_interval|koi8r_to_iso|koi8r_to_mic|koi8r_to_utf8|koi8r_to_win1251|koi8r_to_win866|koi8u_to_utf8|lag|language_handler_in|language_handler_out|last_value|lastval|latin1_to_mic|latin2_to_mic|latin2_to_win1250|latin3_to_mic|latin4_to_mic|lead|left|length|like|like_escape|likejoinsel|likesel|line|line_distance|line_eq|line_horizontal|line_in|line_interpt|line_intersect|line_out|line_parallel|line_perp|line_recv|line_send|line_vertical|ln|lo_close|lo_creat|lo_create|lo_export|lo_import|lo_lseek|lo_lseek64|lo_open|lo_tell|lo_tell64|lo_truncate|lo_truncate64|lo_unlink|log|loread|lower|lower_inc|lower_inf|lowrite|lpad|lseg|lseg_center|lseg_distance|lseg_eq|lseg_ge|lseg_gt|lseg_horizontal|lseg_in|lseg_interpt|lseg_intersect|lseg_le|lseg_length|lseg_lt|lseg_ne|lseg_out|lseg_parallel|lseg_perp|lseg_recv|lseg_send|lseg_vertical|ltrim|macaddr_and|macaddr_cmp|macaddr_eq|macaddr_ge|macaddr_gt|macaddr_in|macaddr_le|macaddr_lt|macaddr_ne|macaddr_not|macaddr_or|macaddr_out|macaddr_recv|macaddr_send|makeaclitem|masklen|max|md5|mic_to_ascii|mic_to_big5|mic_to_euc_cn|mic_to_euc_jp|mic_to_euc_kr|mic_to_euc_tw|mic_to_iso|mic_to_koi8r|mic_to_latin1|mic_to_latin2|mic_to_latin3|mic_to_latin4|mic_to_sjis|mic_to_win1250|mic_to_win1251|mic_to_win866|min|mktinterval|mod|money|mul_d_interval|name|nameeq|namege|namegt|nameiclike|nameicnlike|nameicregexeq|nameicregexne|namein|namele|namelike|namelt|namene|namenlike|nameout|namerecv|nameregexeq|nameregexne|namesend|neqjoinsel|neqsel|netmask|network|network_cmp|network_eq|network_ge|network_gt|network_le|network_lt|network_ne|network_sub|network_subeq|network_sup|network_supeq|nextval|nlikejoinsel|nlikesel|notlike|now|npoints|nth_value|ntile|numeric_abs|numeric_accum|numeric_add|numeric_avg|numeric_avg_accum|numeric_cmp|numeric_div|numeric_div_trunc|numeric_eq|numeric_exp|numeric_fac|numeric_ge|numeric_gt|numeric_in|numeric_inc|numeric_larger|numeric_le|numeric_ln|numeric_log|numeric_lt|numeric_mod|numeric_mul|numeric_ne|numeric_out|numeric_power|numeric_recv|numeric_send|numeric_smaller|numeric_sqrt|numeric_stddev_pop|numeric_stddev_samp|numeric_sub|numeric_transform|numeric_uminus|numeric_uplus|numeric_var_pop|numeric_var_samp|numerictypmodin|numerictypmodout|numnode|numrange|numrange_subdiff|obj_description|octet_length|oid|oideq|oidge|oidgt|oidin|oidlarger|oidle|oidlt|oidne|oidout|oidrecv|oidsend|oidsmaller|oidvectoreq|oidvectorge|oidvectorgt|oidvectorin|oidvectorle|oidvectorlt|oidvectorne|oidvectorout|oidvectorrecv|oidvectorsend|oidvectortypes|on_pb|on_pl|on_ppath|on_ps|on_sb|on_sl|opaque_in|opaque_out|overlaps|overlay|path|path_add|path_add_pt|path_center|path_contain_pt|path_distance|path_div_pt|path_in|path_inter|path_length|path_mul_pt|path_n_eq|path_n_ge|path_n_gt|path_n_le|path_n_lt|path_npoints|path_out|path_recv|path_send|path_sub_pt|pclose|percent_rank|pg_advisory_lock|pg_advisory_lock_shared|pg_advisory_unlock|pg_advisory_unlock_all|pg_advisory_unlock_shared|pg_advisory_xact_lock|pg_advisory_xact_lock_shared|pg_available_extension_versions|pg_available_extensions|pg_backend_pid|pg_backup_start_time|pg_cancel_backend|pg_char_to_encoding|pg_client_encoding|pg_collation_for|pg_collation_is_visible|pg_column_is_updatable|pg_column_size|pg_conf_load_time|pg_conversion_is_visible|pg_create_restore_point|pg_current_xlog_insert_location|pg_current_xlog_location|pg_cursor|pg_database_size|pg_describe_object|pg_encoding_max_length|pg_encoding_to_char|pg_event_trigger_dropped_objects|pg_export_snapshot|pg_extension_config_dump|pg_extension_update_paths|pg_function_is_visible|pg_get_constraintdef|pg_get_expr|pg_get_function_arguments|pg_get_function_identity_arguments|pg_get_function_result|pg_get_functiondef|pg_get_indexdef|pg_get_keywords|pg_get_multixact_members|pg_get_ruledef|pg_get_serial_sequence|pg_get_triggerdef|pg_get_userbyid|pg_get_viewdef|pg_has_role|pg_identify_object|pg_indexes_size|pg_is_in_backup|pg_is_in_recovery|pg_is_other_temp_schema|pg_is_xlog_replay_paused|pg_last_xact_replay_timestamp|pg_last_xlog_receive_location|pg_last_xlog_replay_location|pg_listening_channels|pg_lock_status|pg_ls_dir|pg_my_temp_schema|pg_node_tree_in|pg_node_tree_out|pg_node_tree_recv|pg_node_tree_send|pg_notify|pg_opclass_is_visible|pg_operator_is_visible|pg_opfamily_is_visible|pg_options_to_table|pg_postmaster_start_time|pg_prepared_statement|pg_prepared_xact|pg_read_binary_file|pg_read_file|pg_relation_filenode|pg_relation_filepath|pg_relation_is_updatable|pg_relation_size|pg_reload_conf|pg_rotate_logfile|pg_sequence_parameters|pg_show_all_settings|pg_size_pretty|pg_sleep|pg_start_backup|pg_stat_clear_snapshot|pg_stat_file|pg_stat_get_activity|pg_stat_get_analyze_count|pg_stat_get_autoanalyze_count|pg_stat_get_autovacuum_count|pg_stat_get_backend_activity|pg_stat_get_backend_activity_start|pg_stat_get_backend_client_addr|pg_stat_get_backend_client_port|pg_stat_get_backend_dbid|pg_stat_get_backend_idset|pg_stat_get_backend_pid|pg_stat_get_backend_start|pg_stat_get_backend_userid|pg_stat_get_backend_waiting|pg_stat_get_backend_xact_start|pg_stat_get_bgwriter_buf_written_checkpoints|pg_stat_get_bgwriter_buf_written_clean|pg_stat_get_bgwriter_maxwritten_clean|pg_stat_get_bgwriter_requested_checkpoints|pg_stat_get_bgwriter_stat_reset_time|pg_stat_get_bgwriter_timed_checkpoints|pg_stat_get_blocks_fetched|pg_stat_get_blocks_hit|pg_stat_get_buf_alloc|pg_stat_get_buf_fsync_backend|pg_stat_get_buf_written_backend|pg_stat_get_checkpoint_sync_time|pg_stat_get_checkpoint_write_time|pg_stat_get_db_blk_read_time|pg_stat_get_db_blk_write_time|pg_stat_get_db_blocks_fetched|pg_stat_get_db_blocks_hit|pg_stat_get_db_conflict_all|pg_stat_get_db_conflict_bufferpin|pg_stat_get_db_conflict_lock|pg_stat_get_db_conflict_snapshot|pg_stat_get_db_conflict_startup_deadlock|pg_stat_get_db_conflict_tablespace|pg_stat_get_db_deadlocks|pg_stat_get_db_numbackends|pg_stat_get_db_stat_reset_time|pg_stat_get_db_temp_bytes|pg_stat_get_db_temp_files|pg_stat_get_db_tuples_deleted|pg_stat_get_db_tuples_fetched|pg_stat_get_db_tuples_inserted|pg_stat_get_db_tuples_returned|pg_stat_get_db_tuples_updated|pg_stat_get_db_xact_commit|pg_stat_get_db_xact_rollback|pg_stat_get_dead_tuples|pg_stat_get_function_calls|pg_stat_get_function_self_time|pg_stat_get_function_total_time|pg_stat_get_last_analyze_time|pg_stat_get_last_autoanalyze_time|pg_stat_get_last_autovacuum_time|pg_stat_get_last_vacuum_time|pg_stat_get_live_tuples|pg_stat_get_numscans|pg_stat_get_tuples_deleted|pg_stat_get_tuples_fetched|pg_stat_get_tuples_hot_updated|pg_stat_get_tuples_inserted|pg_stat_get_tuples_returned|pg_stat_get_tuples_updated|pg_stat_get_vacuum_count|pg_stat_get_wal_senders|pg_stat_get_xact_blocks_fetched|pg_stat_get_xact_blocks_hit|pg_stat_get_xact_function_calls|pg_stat_get_xact_function_self_time|pg_stat_get_xact_function_total_time|pg_stat_get_xact_numscans|pg_stat_get_xact_tuples_deleted|pg_stat_get_xact_tuples_fetched|pg_stat_get_xact_tuples_hot_updated|pg_stat_get_xact_tuples_inserted|pg_stat_get_xact_tuples_returned|pg_stat_get_xact_tuples_updated|pg_stat_reset|pg_stat_reset_shared|pg_stat_reset_single_function_counters|pg_stat_reset_single_table_counters|pg_stop_backup|pg_switch_xlog|pg_table_is_visible|pg_table_size|pg_tablespace_databases|pg_tablespace_location|pg_tablespace_size|pg_terminate_backend|pg_timezone_abbrevs|pg_timezone_names|pg_total_relation_size|pg_trigger_depth|pg_try_advisory_lock|pg_try_advisory_lock_shared|pg_try_advisory_xact_lock|pg_try_advisory_xact_lock_shared|pg_ts_config_is_visible|pg_ts_dict_is_visible|pg_ts_parser_is_visible|pg_ts_template_is_visible|pg_type_is_visible|pg_typeof|pg_xlog_location_diff|pg_xlog_replay_pause|pg_xlog_replay_resume|pg_xlogfile_name|pg_xlogfile_name_offset|pi|plainto_tsquery|plpgsql_call_handler|plpgsql_inline_handler|plpgsql_validator|point|point_above|point_add|point_below|point_distance|point_div|point_eq|point_horiz|point_in|point_left|point_mul|point_ne|point_out|point_recv|point_right|point_send|point_sub|point_vert|poly_above|poly_below|poly_center|poly_contain|poly_contain_pt|poly_contained|poly_distance|poly_in|poly_left|poly_npoints|poly_out|poly_overabove|poly_overbelow|poly_overlap|poly_overleft|poly_overright|poly_recv|poly_right|poly_same|poly_send|polygon|popen|position|positionjoinsel|positionsel|postgresql_fdw_validator|pow|power|prsd_end|prsd_headline|prsd_lextype|prsd_nexttoken|prsd_start|pt_contained_circle|pt_contained_poly|query_to_xml|query_to_xml_and_xmlschema|query_to_xmlschema|querytree|quote_ident|quote_literal|quote_nullable|radians|radius|random|range_adjacent|range_after|range_before|range_cmp|range_contained_by|range_contains|range_contains_elem|range_eq|range_ge|range_gist_compress|range_gist_consistent|range_gist_decompress|range_gist_penalty|range_gist_picksplit|range_gist_same|range_gist_union|range_gt|range_in|range_intersect|range_le|range_lt|range_minus|range_ne|range_out|range_overlaps|range_overleft|range_overright|range_recv|range_send|range_typanalyze|range_union|rangesel|rank|record_eq|record_ge|record_gt|record_in|record_le|record_lt|record_ne|record_out|record_recv|record_send|regclass|regclassin|regclassout|regclassrecv|regclasssend|regconfigin|regconfigout|regconfigrecv|regconfigsend|regdictionaryin|regdictionaryout|regdictionaryrecv|regdictionarysend|regexeqjoinsel|regexeqsel|regexnejoinsel|regexnesel|regexp_matches|regexp_replace|regexp_split_to_array|regexp_split_to_table|regoperatorin|regoperatorout|regoperatorrecv|regoperatorsend|regoperin|regoperout|regoperrecv|regopersend|regprocedurein|regprocedureout|regprocedurerecv|regproceduresend|regprocin|regprocout|regprocrecv|regprocsend|regr_avgx|regr_avgy|regr_count|regr_intercept|regr_r2|regr_slope|regr_sxx|regr_sxy|regr_syy|regtypein|regtypeout|regtyperecv|regtypesend|reltime|reltimeeq|reltimege|reltimegt|reltimein|reltimele|reltimelt|reltimene|reltimeout|reltimerecv|reltimesend|repeat|replace|reverse|right|round|row_number|row_to_json|rpad|rtrim|scalargtjoinsel|scalargtsel|scalarltjoinsel|scalarltsel|schema_to_xml|schema_to_xml_and_xmlschema|schema_to_xmlschema|session_user|set_bit|set_byte|set_config|set_masklen|setseed|setval|setweight|shell_in|shell_out|shift_jis_2004_to_euc_jis_2004|shift_jis_2004_to_utf8|shobj_description|sign|similar_escape|sin|sjis_to_euc_jp|sjis_to_mic|sjis_to_utf8|slope|smgreq|smgrin|smgrne|smgrout|spg_kd_choose|spg_kd_config|spg_kd_inner_consistent|spg_kd_picksplit|spg_quad_choose|spg_quad_config|spg_quad_inner_consistent|spg_quad_leaf_consistent|spg_quad_picksplit|spg_range_quad_choose|spg_range_quad_config|spg_range_quad_inner_consistent|spg_range_quad_leaf_consistent|spg_range_quad_picksplit|spg_text_choose|spg_text_config|spg_text_inner_consistent|spg_text_leaf_consistent|spg_text_picksplit|spgbeginscan|spgbuild|spgbuildempty|spgbulkdelete|spgcanreturn|spgcostestimate|spgendscan|spggetbitmap|spggettuple|spginsert|spgmarkpos|spgoptions|spgrescan|spgrestrpos|spgvacuumcleanup|split_part|sqrt|statement_timestamp|stddev|stddev_pop|stddev_samp|string_agg|string_agg_finalfn|string_agg_transfn|string_to_array|strip|strpos|substr|substring|sum|suppress_redundant_updates_trigger|table_to_xml|table_to_xml_and_xmlschema|table_to_xmlschema|tan|text|text_ge|text_gt|text_larger|text_le|text_lt|text_pattern_ge|text_pattern_gt|text_pattern_le|text_pattern_lt|text_smaller|textanycat|textcat|texteq|texticlike|texticnlike|texticregexeq|texticregexne|textin|textlen|textlike|textne|textnlike|textout|textrecv|textregexeq|textregexne|textsend|thesaurus_init|thesaurus_lexize|tideq|tidge|tidgt|tidin|tidlarger|tidle|tidlt|tidne|tidout|tidrecv|tidsend|tidsmaller|time_cmp|time_eq|time_ge|time_gt|time_hash|time_in|time_larger|time_le|time_lt|time_mi_interval|time_mi_time|time_ne|time_out|time_pl_interval|time_recv|time_send|time_smaller|time_transform|timedate_pl|timemi|timenow|timeofday|timepl|timestamp_cmp|timestamp_cmp_date|timestamp_cmp_timestamptz|timestamp_eq|timestamp_eq_date|timestamp_eq_timestamptz|timestamp_ge|timestamp_ge_date|timestamp_ge_timestamptz|timestamp_gt|timestamp_gt_date|timestamp_gt_timestamptz|timestamp_hash|timestamp_in|timestamp_larger|timestamp_le|timestamp_le_date|timestamp_le_timestamptz|timestamp_lt|timestamp_lt_date|timestamp_lt_timestamptz|timestamp_mi|timestamp_mi_interval|timestamp_ne|timestamp_ne_date|timestamp_ne_timestamptz|timestamp_out|timestamp_pl_interval|timestamp_recv|timestamp_send|timestamp_smaller|timestamp_sortsupport|timestamp_transform|timestamptypmodin|timestamptypmodout|timestamptz_cmp|timestamptz_cmp_date|timestamptz_cmp_timestamp|timestamptz_eq|timestamptz_eq_date|timestamptz_eq_timestamp|timestamptz_ge|timestamptz_ge_date|timestamptz_ge_timestamp|timestamptz_gt|timestamptz_gt_date|timestamptz_gt_timestamp|timestamptz_in|timestamptz_larger|timestamptz_le|timestamptz_le_date|timestamptz_le_timestamp|timestamptz_lt|timestamptz_lt_date|timestamptz_lt_timestamp|timestamptz_mi|timestamptz_mi_interval|timestamptz_ne|timestamptz_ne_date|timestamptz_ne_timestamp|timestamptz_out|timestamptz_pl_interval|timestamptz_recv|timestamptz_send|timestamptz_smaller|timestamptztypmodin|timestamptztypmodout|timetypmodin|timetypmodout|timetz_cmp|timetz_eq|timetz_ge|timetz_gt|timetz_hash|timetz_in|timetz_larger|timetz_le|timetz_lt|timetz_mi_interval|timetz_ne|timetz_out|timetz_pl_interval|timetz_recv|timetz_send|timetz_smaller|timetzdate_pl|timetztypmodin|timetztypmodout|timezone|tinterval|tintervalct|tintervalend|tintervaleq|tintervalge|tintervalgt|tintervalin|tintervalle|tintervalleneq|tintervallenge|tintervallengt|tintervallenle|tintervallenlt|tintervallenne|tintervallt|tintervalne|tintervalout|tintervalov|tintervalrecv|tintervalrel|tintervalsame|tintervalsend|tintervalstart|to_ascii|to_char|to_date|to_hex|to_json|to_number|to_timestamp|to_tsquery|to_tsvector|transaction_timestamp|translate|trigger_in|trigger_out|trunc|ts_debug|ts_headline|ts_lexize|ts_match_qv|ts_match_tq|ts_match_tt|ts_match_vq|ts_parse|ts_rank|ts_rank_cd|ts_rewrite|ts_stat|ts_token_type|ts_typanalyze|tsmatchjoinsel|tsmatchsel|tsq_mcontained|tsq_mcontains|tsquery_and|tsquery_cmp|tsquery_eq|tsquery_ge|tsquery_gt|tsquery_le|tsquery_lt|tsquery_ne|tsquery_not|tsquery_or|tsqueryin|tsqueryout|tsqueryrecv|tsquerysend|tsrange|tsrange_subdiff|tstzrange|tstzrange_subdiff|tsvector_cmp|tsvector_concat|tsvector_eq|tsvector_ge|tsvector_gt|tsvector_le|tsvector_lt|tsvector_ne|tsvector_update_trigger|tsvector_update_trigger_column|tsvectorin|tsvectorout|tsvectorrecv|tsvectorsend|txid_current|txid_current_snapshot|txid_snapshot_in|txid_snapshot_out|txid_snapshot_recv|txid_snapshot_send|txid_snapshot_xip|txid_snapshot_xmax|txid_snapshot_xmin|txid_visible_in_snapshot|uhc_to_utf8|unique_key_recheck|unknownin|unknownout|unknownrecv|unknownsend|unnest|upper|upper_inc|upper_inf|utf8_to_ascii|utf8_to_big5|utf8_to_euc_cn|utf8_to_euc_jis_2004|utf8_to_euc_jp|utf8_to_euc_kr|utf8_to_euc_tw|utf8_to_gb18030|utf8_to_gbk|utf8_to_iso8859|utf8_to_iso8859_1|utf8_to_johab|utf8_to_koi8r|utf8_to_koi8u|utf8_to_shift_jis_2004|utf8_to_sjis|utf8_to_uhc|utf8_to_win|uuid_cmp|uuid_eq|uuid_ge|uuid_gt|uuid_hash|uuid_in|uuid_le|uuid_lt|uuid_ne|uuid_out|uuid_recv|uuid_send|var_pop|var_samp|varbit_in|varbit_out|varbit_recv|varbit_send|varbit_transform|varbitcmp|varbiteq|varbitge|varbitgt|varbitle|varbitlt|varbitne|varbittypmodin|varbittypmodout|varchar_transform|varcharin|varcharout|varcharrecv|varcharsend|varchartypmodin|varchartypmodout|variance|version|void_in|void_out|void_recv|void_send|width|width_bucket|win1250_to_latin2|win1250_to_mic|win1251_to_iso|win1251_to_koi8r|win1251_to_mic|win1251_to_win866|win866_to_iso|win866_to_koi8r|win866_to_mic|win866_to_win1251|win_to_utf8|xideq|xideqint4|xidin|xidout|xidrecv|xidsend|xml|xml_in|xml_is_well_formed|xml_is_well_formed_content|xml_is_well_formed_document|xml_out|xml_recv|xml_send|xmlagg|xmlcomment|xmlconcat2|xmlexists|xmlvalidate|xpath|xpath_exists",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier",!0),r=[{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"variable.language",regex:'".*?"'},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|!!|!~|!~\\*|!~~|!~~\\*|#|##|#<|#<=|#<>|#=|#>|#>=|%|\\&|\\&\\&|\\&<|\\&<\\||\\&>|\\*|\\+|\\-|/|<|<#>|<\\->|<<|<<=|<<\\||<=|<>|<\\?>|<@|<\\^|=|>|>=|>>|>>=|>\\^|\\?#|\\?\\-|\\?\\-\\||\\?\\||\\?\\|\\||@|@\\-@|@>|@@|@@@|\\^|\\||\\|\\&>|\\|/|\\|>>|\\|\\||\\|\\|/|~|~\\*|~<=~|~<~|~=|~>=~|~>~|~~|~~\\*"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}];this.$rules={start:[{token:"comment",regex:"--.*$"},s.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"keyword.statementBegin",regex:"^[a-zA-Z]+",next:"statement"},{token:"support.buildin",regex:"^\\\\[\\S]+.*$"}],statement:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentStatement"},{token:"statementEnd",regex:";",next:"start"},{token:"string",regex:"\\$perl\\$",next:"perl-start"},{token:"string",regex:"\\$python\\$",next:"python-start"},{token:"string",regex:"\\$json\\$",next:"json-start"},{token:"string",regex:"\\$(js|javascript)\\$",next:"javascript-start"},{token:"string",regex:"\\$[\\w_0-9]*\\$$",next:"dollarSql"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarStatementString"}].concat(r),dollarSql:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentDollarSql"},{token:"string",regex:"^\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarSqlString"}].concat(r),comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],commentStatement:[{token:"comment",regex:".*?\\*\\/",next:"statement"},{token:"comment",regex:".+"}],commentDollarSql:[{token:"comment",regex:".*?\\*\\/",next:"dollarSql"},{token:"comment",regex:".+"}],dollarStatementString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:".+"}],dollarSqlString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"dollarSql"},{token:"string",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.embedRules(u,"perl-",[{token:"string",regex:"\\$perl\\$",next:"statement"}]),this.embedRules(a,"python-",[{token:"string",regex:"\\$python\\$",next:"statement"}]),this.embedRules(f,"json-",[{token:"string",regex:"\\$json\\$",next:"statement"}]),this.embedRules(l,"javascript-",[{token:"string",regex:"\\$(js|javascript)\\$",next:"statement"}])};r.inherits(c,o),t.PgsqlHighlightRules=c}),ace.define("ace/mode/pgsql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pgsql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./pgsql_highlight_rules").PgsqlHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){return e=="start"||e=="keyword.statementEnd"?"":this.$getIndent(t)},this.$id="ace/mode/pgsql"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-php.js b/library/ace/mode-php.js
new file mode 100644
index 000000000..ecd3ed3a2
--- /dev/null
+++ b/library/ace/mode-php.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/php_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./html_highlight_rules").HtmlHighlightRules,a=function(){var e=s,t=i.arrayToMap("abs|acos|acosh|addcslashes|addslashes|aggregate|aggregate_info|aggregate_methods|aggregate_methods_by_list|aggregate_methods_by_regexp|aggregate_properties|aggregate_properties_by_list|aggregate_properties_by_regexp|aggregation_info|amqpconnection|amqpexchange|amqpqueue|apache_child_terminate|apache_get_modules|apache_get_version|apache_getenv|apache_lookup_uri|apache_note|apache_request_headers|apache_reset_timeout|apache_response_headers|apache_setenv|apc_add|apc_bin_dump|apc_bin_dumpfile|apc_bin_load|apc_bin_loadfile|apc_cache_info|apc_cas|apc_clear_cache|apc_compile_file|apc_dec|apc_define_constants|apc_delete|apc_delete_file|apc_exists|apc_fetch|apc_inc|apc_load_constants|apc_sma_info|apc_store|apciterator|apd_breakpoint|apd_callstack|apd_clunk|apd_continue|apd_croak|apd_dump_function_table|apd_dump_persistent_resources|apd_dump_regular_resources|apd_echo|apd_get_active_symbols|apd_set_pprof_trace|apd_set_session|apd_set_session_trace|apd_set_session_trace_socket|appenditerator|array|array_change_key_case|array_chunk|array_combine|array_count_values|array_diff|array_diff_assoc|array_diff_key|array_diff_uassoc|array_diff_ukey|array_fill|array_fill_keys|array_filter|array_flip|array_intersect|array_intersect_assoc|array_intersect_key|array_intersect_uassoc|array_intersect_ukey|array_key_exists|array_keys|array_map|array_merge|array_merge_recursive|array_multisort|array_pad|array_pop|array_product|array_push|array_rand|array_reduce|array_replace|array_replace_recursive|array_reverse|array_search|array_shift|array_slice|array_splice|array_sum|array_udiff|array_udiff_assoc|array_udiff_uassoc|array_uintersect|array_uintersect_assoc|array_uintersect_uassoc|array_unique|array_unshift|array_values|array_walk|array_walk_recursive|arrayaccess|arrayiterator|arrayobject|arsort|asin|asinh|asort|assert|assert_options|atan|atan2|atanh|audioproperties|badfunctioncallexception|badmethodcallexception|base64_decode|base64_encode|base_convert|basename|bbcode_add_element|bbcode_add_smiley|bbcode_create|bbcode_destroy|bbcode_parse|bbcode_set_arg_parser|bbcode_set_flags|bcadd|bccomp|bcdiv|bcmod|bcmul|bcompiler_load|bcompiler_load_exe|bcompiler_parse_class|bcompiler_read|bcompiler_write_class|bcompiler_write_constant|bcompiler_write_exe_footer|bcompiler_write_file|bcompiler_write_footer|bcompiler_write_function|bcompiler_write_functions_from_file|bcompiler_write_header|bcompiler_write_included_filename|bcpow|bcpowmod|bcscale|bcsqrt|bcsub|bin2hex|bind_textdomain_codeset|bindec|bindtextdomain|bson_decode|bson_encode|bumpValue|bzclose|bzcompress|bzdecompress|bzerrno|bzerror|bzerrstr|bzflush|bzopen|bzread|bzwrite|cachingiterator|cairo|cairo_create|cairo_font_face_get_type|cairo_font_face_status|cairo_font_options_create|cairo_font_options_equal|cairo_font_options_get_antialias|cairo_font_options_get_hint_metrics|cairo_font_options_get_hint_style|cairo_font_options_get_subpixel_order|cairo_font_options_hash|cairo_font_options_merge|cairo_font_options_set_antialias|cairo_font_options_set_hint_metrics|cairo_font_options_set_hint_style|cairo_font_options_set_subpixel_order|cairo_font_options_status|cairo_format_stride_for_width|cairo_image_surface_create|cairo_image_surface_create_for_data|cairo_image_surface_create_from_png|cairo_image_surface_get_data|cairo_image_surface_get_format|cairo_image_surface_get_height|cairo_image_surface_get_stride|cairo_image_surface_get_width|cairo_matrix_create_scale|cairo_matrix_create_translate|cairo_matrix_invert|cairo_matrix_multiply|cairo_matrix_rotate|cairo_matrix_transform_distance|cairo_matrix_transform_point|cairo_matrix_translate|cairo_pattern_add_color_stop_rgb|cairo_pattern_add_color_stop_rgba|cairo_pattern_create_for_surface|cairo_pattern_create_linear|cairo_pattern_create_radial|cairo_pattern_create_rgb|cairo_pattern_create_rgba|cairo_pattern_get_color_stop_count|cairo_pattern_get_color_stop_rgba|cairo_pattern_get_extend|cairo_pattern_get_filter|cairo_pattern_get_linear_points|cairo_pattern_get_matrix|cairo_pattern_get_radial_circles|cairo_pattern_get_rgba|cairo_pattern_get_surface|cairo_pattern_get_type|cairo_pattern_set_extend|cairo_pattern_set_filter|cairo_pattern_set_matrix|cairo_pattern_status|cairo_pdf_surface_create|cairo_pdf_surface_set_size|cairo_ps_get_levels|cairo_ps_level_to_string|cairo_ps_surface_create|cairo_ps_surface_dsc_begin_page_setup|cairo_ps_surface_dsc_begin_setup|cairo_ps_surface_dsc_comment|cairo_ps_surface_get_eps|cairo_ps_surface_restrict_to_level|cairo_ps_surface_set_eps|cairo_ps_surface_set_size|cairo_scaled_font_create|cairo_scaled_font_extents|cairo_scaled_font_get_ctm|cairo_scaled_font_get_font_face|cairo_scaled_font_get_font_matrix|cairo_scaled_font_get_font_options|cairo_scaled_font_get_scale_matrix|cairo_scaled_font_get_type|cairo_scaled_font_glyph_extents|cairo_scaled_font_status|cairo_scaled_font_text_extents|cairo_surface_copy_page|cairo_surface_create_similar|cairo_surface_finish|cairo_surface_flush|cairo_surface_get_content|cairo_surface_get_device_offset|cairo_surface_get_font_options|cairo_surface_get_type|cairo_surface_mark_dirty|cairo_surface_mark_dirty_rectangle|cairo_surface_set_device_offset|cairo_surface_set_fallback_resolution|cairo_surface_show_page|cairo_surface_status|cairo_surface_write_to_png|cairo_svg_surface_create|cairo_svg_surface_restrict_to_version|cairo_svg_version_to_string|cairoantialias|cairocontent|cairocontext|cairoexception|cairoextend|cairofillrule|cairofilter|cairofontface|cairofontoptions|cairofontslant|cairofonttype|cairofontweight|cairoformat|cairogradientpattern|cairohintmetrics|cairohintstyle|cairoimagesurface|cairolineargradient|cairolinecap|cairolinejoin|cairomatrix|cairooperator|cairopath|cairopattern|cairopatterntype|cairopdfsurface|cairopslevel|cairopssurface|cairoradialgradient|cairoscaledfont|cairosolidpattern|cairostatus|cairosubpixelorder|cairosurface|cairosurfacepattern|cairosurfacetype|cairosvgsurface|cairosvgversion|cairotoyfontface|cal_days_in_month|cal_from_jd|cal_info|cal_to_jd|calcul_hmac|calculhmac|call_user_func|call_user_func_array|call_user_method|call_user_method_array|callbackfilteriterator|ceil|chdb|chdb_create|chdir|checkdate|checkdnsrr|chgrp|chmod|chop|chown|chr|chroot|chunk_split|class_alias|class_exists|class_implements|class_parents|class_uses|classkit_import|classkit_method_add|classkit_method_copy|classkit_method_redefine|classkit_method_remove|classkit_method_rename|clearstatcache|clone|closedir|closelog|collator|com|com_addref|com_create_guid|com_event_sink|com_get|com_get_active_object|com_invoke|com_isenum|com_load|com_load_typelib|com_message_pump|com_print_typeinfo|com_propget|com_propput|com_propset|com_release|com_set|compact|connection_aborted|connection_status|connection_timeout|constant|construct|construct|construct|convert_cyr_string|convert_uudecode|convert_uuencode|copy|cos|cosh|count|count_chars|countable|counter_bump|counter_bump_value|counter_create|counter_get|counter_get_meta|counter_get_named|counter_get_value|counter_reset|counter_reset_value|crack_check|crack_closedict|crack_getlastmessage|crack_opendict|crc32|create_function|crypt|ctype_alnum|ctype_alpha|ctype_cntrl|ctype_digit|ctype_graph|ctype_lower|ctype_print|ctype_punct|ctype_space|ctype_upper|ctype_xdigit|cubrid_affected_rows|cubrid_bind|cubrid_client_encoding|cubrid_close|cubrid_close_prepare|cubrid_close_request|cubrid_col_get|cubrid_col_size|cubrid_column_names|cubrid_column_types|cubrid_commit|cubrid_connect|cubrid_connect_with_url|cubrid_current_oid|cubrid_data_seek|cubrid_db_name|cubrid_disconnect|cubrid_drop|cubrid_errno|cubrid_error|cubrid_error_code|cubrid_error_code_facility|cubrid_error_msg|cubrid_execute|cubrid_fetch|cubrid_fetch_array|cubrid_fetch_assoc|cubrid_fetch_field|cubrid_fetch_lengths|cubrid_fetch_object|cubrid_fetch_row|cubrid_field_flags|cubrid_field_len|cubrid_field_name|cubrid_field_seek|cubrid_field_table|cubrid_field_type|cubrid_free_result|cubrid_get|cubrid_get_autocommit|cubrid_get_charset|cubrid_get_class_name|cubrid_get_client_info|cubrid_get_db_parameter|cubrid_get_server_info|cubrid_insert_id|cubrid_is_instance|cubrid_list_dbs|cubrid_load_from_glo|cubrid_lob_close|cubrid_lob_export|cubrid_lob_get|cubrid_lob_send|cubrid_lob_size|cubrid_lock_read|cubrid_lock_write|cubrid_move_cursor|cubrid_new_glo|cubrid_next_result|cubrid_num_cols|cubrid_num_fields|cubrid_num_rows|cubrid_ping|cubrid_prepare|cubrid_put|cubrid_query|cubrid_real_escape_string|cubrid_result|cubrid_rollback|cubrid_save_to_glo|cubrid_schema|cubrid_send_glo|cubrid_seq_drop|cubrid_seq_insert|cubrid_seq_put|cubrid_set_add|cubrid_set_autocommit|cubrid_set_db_parameter|cubrid_set_drop|cubrid_unbuffered_query|cubrid_version|curl_close|curl_copy_handle|curl_errno|curl_error|curl_exec|curl_getinfo|curl_init|curl_multi_add_handle|curl_multi_close|curl_multi_exec|curl_multi_getcontent|curl_multi_info_read|curl_multi_init|curl_multi_remove_handle|curl_multi_select|curl_setopt|curl_setopt_array|curl_version|current|cyrus_authenticate|cyrus_bind|cyrus_close|cyrus_connect|cyrus_query|cyrus_unbind|date|date_add|date_create|date_create_from_format|date_date_set|date_default_timezone_get|date_default_timezone_set|date_diff|date_format|date_get_last_errors|date_interval_create_from_date_string|date_interval_format|date_isodate_set|date_modify|date_offset_get|date_parse|date_parse_from_format|date_sub|date_sun_info|date_sunrise|date_sunset|date_time_set|date_timestamp_get|date_timestamp_set|date_timezone_get|date_timezone_set|dateinterval|dateperiod|datetime|datetimezone|db2_autocommit|db2_bind_param|db2_client_info|db2_close|db2_column_privileges|db2_columns|db2_commit|db2_conn_error|db2_conn_errormsg|db2_connect|db2_cursor_type|db2_escape_string|db2_exec|db2_execute|db2_fetch_array|db2_fetch_assoc|db2_fetch_both|db2_fetch_object|db2_fetch_row|db2_field_display_size|db2_field_name|db2_field_num|db2_field_precision|db2_field_scale|db2_field_type|db2_field_width|db2_foreign_keys|db2_free_result|db2_free_stmt|db2_get_option|db2_last_insert_id|db2_lob_read|db2_next_result|db2_num_fields|db2_num_rows|db2_pclose|db2_pconnect|db2_prepare|db2_primary_keys|db2_procedure_columns|db2_procedures|db2_result|db2_rollback|db2_server_info|db2_set_option|db2_special_columns|db2_statistics|db2_stmt_error|db2_stmt_errormsg|db2_table_privileges|db2_tables|dba_close|dba_delete|dba_exists|dba_fetch|dba_firstkey|dba_handlers|dba_insert|dba_key_split|dba_list|dba_nextkey|dba_open|dba_optimize|dba_popen|dba_replace|dba_sync|dbase_add_record|dbase_close|dbase_create|dbase_delete_record|dbase_get_header_info|dbase_get_record|dbase_get_record_with_names|dbase_numfields|dbase_numrecords|dbase_open|dbase_pack|dbase_replace_record|dbplus_add|dbplus_aql|dbplus_chdir|dbplus_close|dbplus_curr|dbplus_errcode|dbplus_errno|dbplus_find|dbplus_first|dbplus_flush|dbplus_freealllocks|dbplus_freelock|dbplus_freerlocks|dbplus_getlock|dbplus_getunique|dbplus_info|dbplus_last|dbplus_lockrel|dbplus_next|dbplus_open|dbplus_prev|dbplus_rchperm|dbplus_rcreate|dbplus_rcrtexact|dbplus_rcrtlike|dbplus_resolve|dbplus_restorepos|dbplus_rkeys|dbplus_ropen|dbplus_rquery|dbplus_rrename|dbplus_rsecindex|dbplus_runlink|dbplus_rzap|dbplus_savepos|dbplus_setindex|dbplus_setindexbynumber|dbplus_sql|dbplus_tcl|dbplus_tremove|dbplus_undo|dbplus_undoprepare|dbplus_unlockrel|dbplus_unselect|dbplus_update|dbplus_xlockrel|dbplus_xunlockrel|dbx_close|dbx_compare|dbx_connect|dbx_error|dbx_escape_string|dbx_fetch_row|dbx_query|dbx_sort|dcgettext|dcngettext|deaggregate|debug_backtrace|debug_print_backtrace|debug_zval_dump|decbin|dechex|decoct|define|define_syslog_variables|defined|deg2rad|delete|dgettext|die|dio_close|dio_fcntl|dio_open|dio_read|dio_seek|dio_stat|dio_tcsetattr|dio_truncate|dio_write|dir|directoryiterator|dirname|disk_free_space|disk_total_space|diskfreespace|dl|dngettext|dns_check_record|dns_get_mx|dns_get_record|dom_import_simplexml|domainexception|domattr|domattribute_name|domattribute_set_value|domattribute_specified|domattribute_value|domcharacterdata|domcomment|domdocument|domdocument_add_root|domdocument_create_attribute|domdocument_create_cdata_section|domdocument_create_comment|domdocument_create_element|domdocument_create_element_ns|domdocument_create_entity_reference|domdocument_create_processing_instruction|domdocument_create_text_node|domdocument_doctype|domdocument_document_element|domdocument_dump_file|domdocument_dump_mem|domdocument_get_element_by_id|domdocument_get_elements_by_tagname|domdocument_html_dump_mem|domdocument_xinclude|domdocumentfragment|domdocumenttype|domdocumenttype_entities|domdocumenttype_internal_subset|domdocumenttype_name|domdocumenttype_notations|domdocumenttype_public_id|domdocumenttype_system_id|domelement|domelement_get_attribute|domelement_get_attribute_node|domelement_get_elements_by_tagname|domelement_has_attribute|domelement_remove_attribute|domelement_set_attribute|domelement_set_attribute_node|domelement_tagname|domentity|domentityreference|domexception|domimplementation|domnamednodemap|domnode|domnode_add_namespace|domnode_append_child|domnode_append_sibling|domnode_attributes|domnode_child_nodes|domnode_clone_node|domnode_dump_node|domnode_first_child|domnode_get_content|domnode_has_attributes|domnode_has_child_nodes|domnode_insert_before|domnode_is_blank_node|domnode_last_child|domnode_next_sibling|domnode_node_name|domnode_node_type|domnode_node_value|domnode_owner_document|domnode_parent_node|domnode_prefix|domnode_previous_sibling|domnode_remove_child|domnode_replace_child|domnode_replace_node|domnode_set_content|domnode_set_name|domnode_set_namespace|domnode_unlink_node|domnodelist|domnotation|domprocessinginstruction|domprocessinginstruction_data|domprocessinginstruction_target|domtext|domxml_new_doc|domxml_open_file|domxml_open_mem|domxml_version|domxml_xmltree|domxml_xslt_stylesheet|domxml_xslt_stylesheet_doc|domxml_xslt_stylesheet_file|domxml_xslt_version|domxpath|domxsltstylesheet_process|domxsltstylesheet_result_dump_file|domxsltstylesheet_result_dump_mem|dotnet|dotnet_load|doubleval|each|easter_date|easter_days|echo|empty|emptyiterator|enchant_broker_describe|enchant_broker_dict_exists|enchant_broker_free|enchant_broker_free_dict|enchant_broker_get_error|enchant_broker_init|enchant_broker_list_dicts|enchant_broker_request_dict|enchant_broker_request_pwl_dict|enchant_broker_set_ordering|enchant_dict_add_to_personal|enchant_dict_add_to_session|enchant_dict_check|enchant_dict_describe|enchant_dict_get_error|enchant_dict_is_in_session|enchant_dict_quick_check|enchant_dict_store_replacement|enchant_dict_suggest|end|ereg|ereg_replace|eregi|eregi_replace|error_get_last|error_log|error_reporting|errorexception|escapeshellarg|escapeshellcmd|eval|event_add|event_base_free|event_base_loop|event_base_loopbreak|event_base_loopexit|event_base_new|event_base_priority_init|event_base_set|event_buffer_base_set|event_buffer_disable|event_buffer_enable|event_buffer_fd_set|event_buffer_free|event_buffer_new|event_buffer_priority_set|event_buffer_read|event_buffer_set_callback|event_buffer_timeout_set|event_buffer_watermark_set|event_buffer_write|event_del|event_free|event_new|event_set|exception|exec|exif_imagetype|exif_read_data|exif_tagname|exif_thumbnail|exit|exp|expect_expectl|expect_popen|explode|expm1|export|export|extension_loaded|extract|ezmlm_hash|fam_cancel_monitor|fam_close|fam_monitor_collection|fam_monitor_directory|fam_monitor_file|fam_next_event|fam_open|fam_pending|fam_resume_monitor|fam_suspend_monitor|fbsql_affected_rows|fbsql_autocommit|fbsql_blob_size|fbsql_change_user|fbsql_clob_size|fbsql_close|fbsql_commit|fbsql_connect|fbsql_create_blob|fbsql_create_clob|fbsql_create_db|fbsql_data_seek|fbsql_database|fbsql_database_password|fbsql_db_query|fbsql_db_status|fbsql_drop_db|fbsql_errno|fbsql_error|fbsql_fetch_array|fbsql_fetch_assoc|fbsql_fetch_field|fbsql_fetch_lengths|fbsql_fetch_object|fbsql_fetch_row|fbsql_field_flags|fbsql_field_len|fbsql_field_name|fbsql_field_seek|fbsql_field_table|fbsql_field_type|fbsql_free_result|fbsql_get_autostart_info|fbsql_hostname|fbsql_insert_id|fbsql_list_dbs|fbsql_list_fields|fbsql_list_tables|fbsql_next_result|fbsql_num_fields|fbsql_num_rows|fbsql_password|fbsql_pconnect|fbsql_query|fbsql_read_blob|fbsql_read_clob|fbsql_result|fbsql_rollback|fbsql_rows_fetched|fbsql_select_db|fbsql_set_characterset|fbsql_set_lob_mode|fbsql_set_password|fbsql_set_transaction|fbsql_start_db|fbsql_stop_db|fbsql_table_name|fbsql_tablename|fbsql_username|fbsql_warnings|fclose|fdf_add_doc_javascript|fdf_add_template|fdf_close|fdf_create|fdf_enum_values|fdf_errno|fdf_error|fdf_get_ap|fdf_get_attachment|fdf_get_encoding|fdf_get_file|fdf_get_flags|fdf_get_opt|fdf_get_status|fdf_get_value|fdf_get_version|fdf_header|fdf_next_field_name|fdf_open|fdf_open_string|fdf_remove_item|fdf_save|fdf_save_string|fdf_set_ap|fdf_set_encoding|fdf_set_file|fdf_set_flags|fdf_set_javascript_action|fdf_set_on_import_javascript|fdf_set_opt|fdf_set_status|fdf_set_submit_form_action|fdf_set_target_frame|fdf_set_value|fdf_set_version|feof|fflush|fgetc|fgetcsv|fgets|fgetss|file|file_exists|file_get_contents|file_put_contents|fileatime|filectime|filegroup|fileinode|filemtime|fileowner|fileperms|filepro|filepro_fieldcount|filepro_fieldname|filepro_fieldtype|filepro_fieldwidth|filepro_retrieve|filepro_rowcount|filesize|filesystemiterator|filetype|filter_has_var|filter_id|filter_input|filter_input_array|filter_list|filter_var|filter_var_array|filteriterator|finfo_buffer|finfo_close|finfo_file|finfo_open|finfo_set_flags|floatval|flock|floor|flush|fmod|fnmatch|fopen|forward_static_call|forward_static_call_array|fpassthru|fprintf|fputcsv|fputs|fread|frenchtojd|fribidi_log2vis|fscanf|fseek|fsockopen|fstat|ftell|ftok|ftp_alloc|ftp_cdup|ftp_chdir|ftp_chmod|ftp_close|ftp_connect|ftp_delete|ftp_exec|ftp_fget|ftp_fput|ftp_get|ftp_get_option|ftp_login|ftp_mdtm|ftp_mkdir|ftp_nb_continue|ftp_nb_fget|ftp_nb_fput|ftp_nb_get|ftp_nb_put|ftp_nlist|ftp_pasv|ftp_put|ftp_pwd|ftp_quit|ftp_raw|ftp_rawlist|ftp_rename|ftp_rmdir|ftp_set_option|ftp_site|ftp_size|ftp_ssl_connect|ftp_systype|ftruncate|func_get_arg|func_get_args|func_num_args|function_exists|fwrite|gc_collect_cycles|gc_disable|gc_enable|gc_enabled|gd_info|gearmanclient|gearmanjob|gearmantask|gearmanworker|geoip_continent_code_by_name|geoip_country_code3_by_name|geoip_country_code_by_name|geoip_country_name_by_name|geoip_database_info|geoip_db_avail|geoip_db_filename|geoip_db_get_all_info|geoip_id_by_name|geoip_isp_by_name|geoip_org_by_name|geoip_record_by_name|geoip_region_by_name|geoip_region_name_by_code|geoip_time_zone_by_country_and_region|getMeta|getNamed|getValue|get_browser|get_called_class|get_cfg_var|get_class|get_class_methods|get_class_vars|get_current_user|get_declared_classes|get_declared_interfaces|get_declared_traits|get_defined_constants|get_defined_functions|get_defined_vars|get_extension_funcs|get_headers|get_html_translation_table|get_include_path|get_included_files|get_loaded_extensions|get_magic_quotes_gpc|get_magic_quotes_runtime|get_meta_tags|get_object_vars|get_parent_class|get_required_files|get_resource_type|getallheaders|getconstant|getconstants|getconstructor|getcwd|getdate|getdefaultproperties|getdoccomment|getendline|getenv|getextension|getextensionname|getfilename|gethostbyaddr|gethostbyname|gethostbynamel|gethostname|getimagesize|getinterfacenames|getinterfaces|getlastmod|getmethod|getmethods|getmodifiers|getmxrr|getmygid|getmyinode|getmypid|getmyuid|getname|getnamespacename|getopt|getparentclass|getproperties|getproperty|getprotobyname|getprotobynumber|getrandmax|getrusage|getservbyname|getservbyport|getshortname|getstartline|getstaticproperties|getstaticpropertyvalue|gettext|gettimeofday|gettype|glob|globiterator|gmagick|gmagickdraw|gmagickpixel|gmdate|gmmktime|gmp_abs|gmp_add|gmp_and|gmp_clrbit|gmp_cmp|gmp_com|gmp_div|gmp_div_q|gmp_div_qr|gmp_div_r|gmp_divexact|gmp_fact|gmp_gcd|gmp_gcdext|gmp_hamdist|gmp_init|gmp_intval|gmp_invert|gmp_jacobi|gmp_legendre|gmp_mod|gmp_mul|gmp_neg|gmp_nextprime|gmp_or|gmp_perfect_square|gmp_popcount|gmp_pow|gmp_powm|gmp_prob_prime|gmp_random|gmp_scan0|gmp_scan1|gmp_setbit|gmp_sign|gmp_sqrt|gmp_sqrtrem|gmp_strval|gmp_sub|gmp_testbit|gmp_xor|gmstrftime|gnupg_adddecryptkey|gnupg_addencryptkey|gnupg_addsignkey|gnupg_cleardecryptkeys|gnupg_clearencryptkeys|gnupg_clearsignkeys|gnupg_decrypt|gnupg_decryptverify|gnupg_encrypt|gnupg_encryptsign|gnupg_export|gnupg_geterror|gnupg_getprotocol|gnupg_import|gnupg_init|gnupg_keyinfo|gnupg_setarmor|gnupg_seterrormode|gnupg_setsignmode|gnupg_sign|gnupg_verify|gopher_parsedir|grapheme_extract|grapheme_stripos|grapheme_stristr|grapheme_strlen|grapheme_strpos|grapheme_strripos|grapheme_strrpos|grapheme_strstr|grapheme_substr|gregoriantojd|gupnp_context_get_host_ip|gupnp_context_get_port|gupnp_context_get_subscription_timeout|gupnp_context_host_path|gupnp_context_new|gupnp_context_set_subscription_timeout|gupnp_context_timeout_add|gupnp_context_unhost_path|gupnp_control_point_browse_start|gupnp_control_point_browse_stop|gupnp_control_point_callback_set|gupnp_control_point_new|gupnp_device_action_callback_set|gupnp_device_info_get|gupnp_device_info_get_service|gupnp_root_device_get_available|gupnp_root_device_get_relative_location|gupnp_root_device_new|gupnp_root_device_set_available|gupnp_root_device_start|gupnp_root_device_stop|gupnp_service_action_get|gupnp_service_action_return|gupnp_service_action_return_error|gupnp_service_action_set|gupnp_service_freeze_notify|gupnp_service_info_get|gupnp_service_info_get_introspection|gupnp_service_introspection_get_state_variable|gupnp_service_notify|gupnp_service_proxy_action_get|gupnp_service_proxy_action_set|gupnp_service_proxy_add_notify|gupnp_service_proxy_callback_set|gupnp_service_proxy_get_subscribed|gupnp_service_proxy_remove_notify|gupnp_service_proxy_set_subscribed|gupnp_service_thaw_notify|gzclose|gzcompress|gzdecode|gzdeflate|gzencode|gzeof|gzfile|gzgetc|gzgets|gzgetss|gzinflate|gzopen|gzpassthru|gzputs|gzread|gzrewind|gzseek|gztell|gzuncompress|gzwrite|halt_compiler|haruannotation|haruannotation_setborderstyle|haruannotation_sethighlightmode|haruannotation_seticon|haruannotation_setopened|harudestination|harudestination_setfit|harudestination_setfitb|harudestination_setfitbh|harudestination_setfitbv|harudestination_setfith|harudestination_setfitr|harudestination_setfitv|harudestination_setxyz|harudoc|harudoc_addpage|harudoc_addpagelabel|harudoc_construct|harudoc_createoutline|harudoc_getcurrentencoder|harudoc_getcurrentpage|harudoc_getencoder|harudoc_getfont|harudoc_getinfoattr|harudoc_getpagelayout|harudoc_getpagemode|harudoc_getstreamsize|harudoc_insertpage|harudoc_loadjpeg|harudoc_loadpng|harudoc_loadraw|harudoc_loadttc|harudoc_loadttf|harudoc_loadtype1|harudoc_output|harudoc_readfromstream|harudoc_reseterror|harudoc_resetstream|harudoc_save|harudoc_savetostream|harudoc_setcompressionmode|harudoc_setcurrentencoder|harudoc_setencryptionmode|harudoc_setinfoattr|harudoc_setinfodateattr|harudoc_setopenaction|harudoc_setpagelayout|harudoc_setpagemode|harudoc_setpagesconfiguration|harudoc_setpassword|harudoc_setpermission|harudoc_usecnsencodings|harudoc_usecnsfonts|harudoc_usecntencodings|harudoc_usecntfonts|harudoc_usejpencodings|harudoc_usejpfonts|harudoc_usekrencodings|harudoc_usekrfonts|haruencoder|haruencoder_getbytetype|haruencoder_gettype|haruencoder_getunicode|haruencoder_getwritingmode|haruexception|harufont|harufont_getascent|harufont_getcapheight|harufont_getdescent|harufont_getencodingname|harufont_getfontname|harufont_gettextwidth|harufont_getunicodewidth|harufont_getxheight|harufont_measuretext|haruimage|haruimage_getbitspercomponent|haruimage_getcolorspace|haruimage_getheight|haruimage_getsize|haruimage_getwidth|haruimage_setcolormask|haruimage_setmaskimage|haruoutline|haruoutline_setdestination|haruoutline_setopened|harupage|harupage_arc|harupage_begintext|harupage_circle|harupage_closepath|harupage_concat|harupage_createdestination|harupage_createlinkannotation|harupage_createtextannotation|harupage_createurlannotation|harupage_curveto|harupage_curveto2|harupage_curveto3|harupage_drawimage|harupage_ellipse|harupage_endpath|harupage_endtext|harupage_eofill|harupage_eofillstroke|harupage_fill|harupage_fillstroke|harupage_getcharspace|harupage_getcmykfill|harupage_getcmykstroke|harupage_getcurrentfont|harupage_getcurrentfontsize|harupage_getcurrentpos|harupage_getcurrenttextpos|harupage_getdash|harupage_getfillingcolorspace|harupage_getflatness|harupage_getgmode|harupage_getgrayfill|harupage_getgraystroke|harupage_getheight|harupage_gethorizontalscaling|harupage_getlinecap|harupage_getlinejoin|harupage_getlinewidth|harupage_getmiterlimit|harupage_getrgbfill|harupage_getrgbstroke|harupage_getstrokingcolorspace|harupage_gettextleading|harupage_gettextmatrix|harupage_gettextrenderingmode|harupage_gettextrise|harupage_gettextwidth|harupage_gettransmatrix|harupage_getwidth|harupage_getwordspace|harupage_lineto|harupage_measuretext|harupage_movetextpos|harupage_moveto|harupage_movetonextline|harupage_rectangle|harupage_setcharspace|harupage_setcmykfill|harupage_setcmykstroke|harupage_setdash|harupage_setflatness|harupage_setfontandsize|harupage_setgrayfill|harupage_setgraystroke|harupage_setheight|harupage_sethorizontalscaling|harupage_setlinecap|harupage_setlinejoin|harupage_setlinewidth|harupage_setmiterlimit|harupage_setrgbfill|harupage_setrgbstroke|harupage_setrotate|harupage_setsize|harupage_setslideshow|harupage_settextleading|harupage_settextmatrix|harupage_settextrenderingmode|harupage_settextrise|harupage_setwidth|harupage_setwordspace|harupage_showtext|harupage_showtextnextline|harupage_stroke|harupage_textout|harupage_textrect|hasconstant|hash|hash_algos|hash_copy|hash_file|hash_final|hash_hmac|hash_hmac_file|hash_init|hash_update|hash_update_file|hash_update_stream|hasmethod|hasproperty|header|header_register_callback|header_remove|headers_list|headers_sent|hebrev|hebrevc|hex2bin|hexdec|highlight_file|highlight_string|html_entity_decode|htmlentities|htmlspecialchars|htmlspecialchars_decode|http_build_cookie|http_build_query|http_build_str|http_build_url|http_cache_etag|http_cache_last_modified|http_chunked_decode|http_date|http_deflate|http_get|http_get_request_body|http_get_request_body_stream|http_get_request_headers|http_head|http_inflate|http_match_etag|http_match_modified|http_match_request_header|http_negotiate_charset|http_negotiate_content_type|http_negotiate_language|http_parse_cookie|http_parse_headers|http_parse_message|http_parse_params|http_persistent_handles_clean|http_persistent_handles_count|http_persistent_handles_ident|http_post_data|http_post_fields|http_put_data|http_put_file|http_put_stream|http_redirect|http_request|http_request_body_encode|http_request_method_exists|http_request_method_name|http_request_method_register|http_request_method_unregister|http_response_code|http_send_content_disposition|http_send_content_type|http_send_data|http_send_file|http_send_last_modified|http_send_status|http_send_stream|http_support|http_throttle|httpdeflatestream|httpdeflatestream_construct|httpdeflatestream_factory|httpdeflatestream_finish|httpdeflatestream_flush|httpdeflatestream_update|httpinflatestream|httpinflatestream_construct|httpinflatestream_factory|httpinflatestream_finish|httpinflatestream_flush|httpinflatestream_update|httpmessage|httpmessage_addheaders|httpmessage_construct|httpmessage_detach|httpmessage_factory|httpmessage_fromenv|httpmessage_fromstring|httpmessage_getbody|httpmessage_getheader|httpmessage_getheaders|httpmessage_gethttpversion|httpmessage_getparentmessage|httpmessage_getrequestmethod|httpmessage_getrequesturl|httpmessage_getresponsecode|httpmessage_getresponsestatus|httpmessage_gettype|httpmessage_guesscontenttype|httpmessage_prepend|httpmessage_reverse|httpmessage_send|httpmessage_setbody|httpmessage_setheaders|httpmessage_sethttpversion|httpmessage_setrequestmethod|httpmessage_setrequesturl|httpmessage_setresponsecode|httpmessage_setresponsestatus|httpmessage_settype|httpmessage_tomessagetypeobject|httpmessage_tostring|httpquerystring|httpquerystring_construct|httpquerystring_get|httpquerystring_mod|httpquerystring_set|httpquerystring_singleton|httpquerystring_toarray|httpquerystring_tostring|httpquerystring_xlate|httprequest|httprequest_addcookies|httprequest_addheaders|httprequest_addpostfields|httprequest_addpostfile|httprequest_addputdata|httprequest_addquerydata|httprequest_addrawpostdata|httprequest_addssloptions|httprequest_clearhistory|httprequest_construct|httprequest_enablecookies|httprequest_getcontenttype|httprequest_getcookies|httprequest_getheaders|httprequest_gethistory|httprequest_getmethod|httprequest_getoptions|httprequest_getpostfields|httprequest_getpostfiles|httprequest_getputdata|httprequest_getputfile|httprequest_getquerydata|httprequest_getrawpostdata|httprequest_getrawrequestmessage|httprequest_getrawresponsemessage|httprequest_getrequestmessage|httprequest_getresponsebody|httprequest_getresponsecode|httprequest_getresponsecookies|httprequest_getresponsedata|httprequest_getresponseheader|httprequest_getresponseinfo|httprequest_getresponsemessage|httprequest_getresponsestatus|httprequest_getssloptions|httprequest_geturl|httprequest_resetcookies|httprequest_send|httprequest_setcontenttype|httprequest_setcookies|httprequest_setheaders|httprequest_setmethod|httprequest_setoptions|httprequest_setpostfields|httprequest_setpostfiles|httprequest_setputdata|httprequest_setputfile|httprequest_setquerydata|httprequest_setrawpostdata|httprequest_setssloptions|httprequest_seturl|httprequestpool|httprequestpool_attach|httprequestpool_construct|httprequestpool_destruct|httprequestpool_detach|httprequestpool_getattachedrequests|httprequestpool_getfinishedrequests|httprequestpool_reset|httprequestpool_send|httprequestpool_socketperform|httprequestpool_socketselect|httpresponse|httpresponse_capture|httpresponse_getbuffersize|httpresponse_getcache|httpresponse_getcachecontrol|httpresponse_getcontentdisposition|httpresponse_getcontenttype|httpresponse_getdata|httpresponse_getetag|httpresponse_getfile|httpresponse_getgzip|httpresponse_getheader|httpresponse_getlastmodified|httpresponse_getrequestbody|httpresponse_getrequestbodystream|httpresponse_getrequestheaders|httpresponse_getstream|httpresponse_getthrottledelay|httpresponse_guesscontenttype|httpresponse_redirect|httpresponse_send|httpresponse_setbuffersize|httpresponse_setcache|httpresponse_setcachecontrol|httpresponse_setcontentdisposition|httpresponse_setcontenttype|httpresponse_setdata|httpresponse_setetag|httpresponse_setfile|httpresponse_setgzip|httpresponse_setheader|httpresponse_setlastmodified|httpresponse_setstream|httpresponse_setthrottledelay|httpresponse_status|hw_array2objrec|hw_changeobject|hw_children|hw_childrenobj|hw_close|hw_connect|hw_connection_info|hw_cp|hw_deleteobject|hw_docbyanchor|hw_docbyanchorobj|hw_document_attributes|hw_document_bodytag|hw_document_content|hw_document_setcontent|hw_document_size|hw_dummy|hw_edittext|hw_error|hw_errormsg|hw_free_document|hw_getanchors|hw_getanchorsobj|hw_getandlock|hw_getchildcoll|hw_getchildcollobj|hw_getchilddoccoll|hw_getchilddoccollobj|hw_getobject|hw_getobjectbyquery|hw_getobjectbyquerycoll|hw_getobjectbyquerycollobj|hw_getobjectbyqueryobj|hw_getparents|hw_getparentsobj|hw_getrellink|hw_getremote|hw_getremotechildren|hw_getsrcbydestobj|hw_gettext|hw_getusername|hw_identify|hw_incollections|hw_info|hw_inscoll|hw_insdoc|hw_insertanchors|hw_insertdocument|hw_insertobject|hw_mapid|hw_modifyobject|hw_mv|hw_new_document|hw_objrec2array|hw_output_document|hw_pconnect|hw_pipedocument|hw_root|hw_setlinkroot|hw_stat|hw_unlock|hw_who|hwapi_attribute|hwapi_attribute_key|hwapi_attribute_langdepvalue|hwapi_attribute_value|hwapi_attribute_values|hwapi_checkin|hwapi_checkout|hwapi_children|hwapi_content|hwapi_content_mimetype|hwapi_content_read|hwapi_copy|hwapi_dbstat|hwapi_dcstat|hwapi_dstanchors|hwapi_dstofsrcanchor|hwapi_error_count|hwapi_error_reason|hwapi_find|hwapi_ftstat|hwapi_hgcsp|hwapi_hwstat|hwapi_identify|hwapi_info|hwapi_insert|hwapi_insertanchor|hwapi_insertcollection|hwapi_insertdocument|hwapi_link|hwapi_lock|hwapi_move|hwapi_new_content|hwapi_object|hwapi_object_assign|hwapi_object_attreditable|hwapi_object_count|hwapi_object_insert|hwapi_object_new|hwapi_object_remove|hwapi_object_title|hwapi_object_value|hwapi_objectbyanchor|hwapi_parents|hwapi_reason_description|hwapi_reason_type|hwapi_remove|hwapi_replace|hwapi_setcommittedversion|hwapi_srcanchors|hwapi_srcsofdst|hwapi_unlock|hwapi_user|hwapi_userlist|hypot|ibase_add_user|ibase_affected_rows|ibase_backup|ibase_blob_add|ibase_blob_cancel|ibase_blob_close|ibase_blob_create|ibase_blob_echo|ibase_blob_get|ibase_blob_import|ibase_blob_info|ibase_blob_open|ibase_close|ibase_commit|ibase_commit_ret|ibase_connect|ibase_db_info|ibase_delete_user|ibase_drop_db|ibase_errcode|ibase_errmsg|ibase_execute|ibase_fetch_assoc|ibase_fetch_object|ibase_fetch_row|ibase_field_info|ibase_free_event_handler|ibase_free_query|ibase_free_result|ibase_gen_id|ibase_maintain_db|ibase_modify_user|ibase_name_result|ibase_num_fields|ibase_num_params|ibase_param_info|ibase_pconnect|ibase_prepare|ibase_query|ibase_restore|ibase_rollback|ibase_rollback_ret|ibase_server_info|ibase_service_attach|ibase_service_detach|ibase_set_event_handler|ibase_timefmt|ibase_trans|ibase_wait_event|iconv|iconv_get_encoding|iconv_mime_decode|iconv_mime_decode_headers|iconv_mime_encode|iconv_set_encoding|iconv_strlen|iconv_strpos|iconv_strrpos|iconv_substr|id3_get_frame_long_name|id3_get_frame_short_name|id3_get_genre_id|id3_get_genre_list|id3_get_genre_name|id3_get_tag|id3_get_version|id3_remove_tag|id3_set_tag|id3v2attachedpictureframe|id3v2frame|id3v2tag|idate|idn_to_ascii|idn_to_unicode|idn_to_utf8|ifx_affected_rows|ifx_blobinfile_mode|ifx_byteasvarchar|ifx_close|ifx_connect|ifx_copy_blob|ifx_create_blob|ifx_create_char|ifx_do|ifx_error|ifx_errormsg|ifx_fetch_row|ifx_fieldproperties|ifx_fieldtypes|ifx_free_blob|ifx_free_char|ifx_free_result|ifx_get_blob|ifx_get_char|ifx_getsqlca|ifx_htmltbl_result|ifx_nullformat|ifx_num_fields|ifx_num_rows|ifx_pconnect|ifx_prepare|ifx_query|ifx_textasvarchar|ifx_update_blob|ifx_update_char|ifxus_close_slob|ifxus_create_slob|ifxus_free_slob|ifxus_open_slob|ifxus_read_slob|ifxus_seek_slob|ifxus_tell_slob|ifxus_write_slob|ignore_user_abort|iis_add_server|iis_get_dir_security|iis_get_script_map|iis_get_server_by_comment|iis_get_server_by_path|iis_get_server_rights|iis_get_service_state|iis_remove_server|iis_set_app_settings|iis_set_dir_security|iis_set_script_map|iis_set_server_rights|iis_start_server|iis_start_service|iis_stop_server|iis_stop_service|image2wbmp|image_type_to_extension|image_type_to_mime_type|imagealphablending|imageantialias|imagearc|imagechar|imagecharup|imagecolorallocate|imagecolorallocatealpha|imagecolorat|imagecolorclosest|imagecolorclosestalpha|imagecolorclosesthwb|imagecolordeallocate|imagecolorexact|imagecolorexactalpha|imagecolormatch|imagecolorresolve|imagecolorresolvealpha|imagecolorset|imagecolorsforindex|imagecolorstotal|imagecolortransparent|imageconvolution|imagecopy|imagecopymerge|imagecopymergegray|imagecopyresampled|imagecopyresized|imagecreate|imagecreatefromgd|imagecreatefromgd2|imagecreatefromgd2part|imagecreatefromgif|imagecreatefromjpeg|imagecreatefrompng|imagecreatefromstring|imagecreatefromwbmp|imagecreatefromxbm|imagecreatefromxpm|imagecreatetruecolor|imagedashedline|imagedestroy|imageellipse|imagefill|imagefilledarc|imagefilledellipse|imagefilledpolygon|imagefilledrectangle|imagefilltoborder|imagefilter|imagefontheight|imagefontwidth|imageftbbox|imagefttext|imagegammacorrect|imagegd|imagegd2|imagegif|imagegrabscreen|imagegrabwindow|imageinterlace|imageistruecolor|imagejpeg|imagelayereffect|imageline|imageloadfont|imagepalettecopy|imagepng|imagepolygon|imagepsbbox|imagepsencodefont|imagepsextendfont|imagepsfreefont|imagepsloadfont|imagepsslantfont|imagepstext|imagerectangle|imagerotate|imagesavealpha|imagesetbrush|imagesetpixel|imagesetstyle|imagesetthickness|imagesettile|imagestring|imagestringup|imagesx|imagesy|imagetruecolortopalette|imagettfbbox|imagettftext|imagetypes|imagewbmp|imagexbm|imagick|imagick_adaptiveblurimage|imagick_adaptiveresizeimage|imagick_adaptivesharpenimage|imagick_adaptivethresholdimage|imagick_addimage|imagick_addnoiseimage|imagick_affinetransformimage|imagick_animateimages|imagick_annotateimage|imagick_appendimages|imagick_averageimages|imagick_blackthresholdimage|imagick_blurimage|imagick_borderimage|imagick_charcoalimage|imagick_chopimage|imagick_clear|imagick_clipimage|imagick_clippathimage|imagick_clone|imagick_clutimage|imagick_coalesceimages|imagick_colorfloodfillimage|imagick_colorizeimage|imagick_combineimages|imagick_commentimage|imagick_compareimagechannels|imagick_compareimagelayers|imagick_compareimages|imagick_compositeimage|imagick_construct|imagick_contrastimage|imagick_contraststretchimage|imagick_convolveimage|imagick_cropimage|imagick_cropthumbnailimage|imagick_current|imagick_cyclecolormapimage|imagick_decipherimage|imagick_deconstructimages|imagick_deleteimageartifact|imagick_despeckleimage|imagick_destroy|imagick_displayimage|imagick_displayimages|imagick_distortimage|imagick_drawimage|imagick_edgeimage|imagick_embossimage|imagick_encipherimage|imagick_enhanceimage|imagick_equalizeimage|imagick_evaluateimage|imagick_extentimage|imagick_flattenimages|imagick_flipimage|imagick_floodfillpaintimage|imagick_flopimage|imagick_frameimage|imagick_fximage|imagick_gammaimage|imagick_gaussianblurimage|imagick_getcolorspace|imagick_getcompression|imagick_getcompressionquality|imagick_getcopyright|imagick_getfilename|imagick_getfont|imagick_getformat|imagick_getgravity|imagick_gethomeurl|imagick_getimage|imagick_getimagealphachannel|imagick_getimageartifact|imagick_getimagebackgroundcolor|imagick_getimageblob|imagick_getimageblueprimary|imagick_getimagebordercolor|imagick_getimagechanneldepth|imagick_getimagechanneldistortion|imagick_getimagechanneldistortions|imagick_getimagechannelextrema|imagick_getimagechannelmean|imagick_getimagechannelrange|imagick_getimagechannelstatistics|imagick_getimageclipmask|imagick_getimagecolormapcolor|imagick_getimagecolors|imagick_getimagecolorspace|imagick_getimagecompose|imagick_getimagecompression|imagick_getimagecompressionquality|imagick_getimagedelay|imagick_getimagedepth|imagick_getimagedispose|imagick_getimagedistortion|imagick_getimageextrema|imagick_getimagefilename|imagick_getimageformat|imagick_getimagegamma|imagick_getimagegeometry|imagick_getimagegravity|imagick_getimagegreenprimary|imagick_getimageheight|imagick_getimagehistogram|imagick_getimageindex|imagick_getimageinterlacescheme|imagick_getimageinterpolatemethod|imagick_getimageiterations|imagick_getimagelength|imagick_getimagemagicklicense|imagick_getimagematte|imagick_getimagemattecolor|imagick_getimageorientation|imagick_getimagepage|imagick_getimagepixelcolor|imagick_getimageprofile|imagick_getimageprofiles|imagick_getimageproperties|imagick_getimageproperty|imagick_getimageredprimary|imagick_getimageregion|imagick_getimagerenderingintent|imagick_getimageresolution|imagick_getimagesblob|imagick_getimagescene|imagick_getimagesignature|imagick_getimagesize|imagick_getimagetickspersecond|imagick_getimagetotalinkdensity|imagick_getimagetype|imagick_getimageunits|imagick_getimagevirtualpixelmethod|imagick_getimagewhitepoint|imagick_getimagewidth|imagick_getinterlacescheme|imagick_getiteratorindex|imagick_getnumberimages|imagick_getoption|imagick_getpackagename|imagick_getpage|imagick_getpixeliterator|imagick_getpixelregioniterator|imagick_getpointsize|imagick_getquantumdepth|imagick_getquantumrange|imagick_getreleasedate|imagick_getresource|imagick_getresourcelimit|imagick_getsamplingfactors|imagick_getsize|imagick_getsizeoffset|imagick_getversion|imagick_hasnextimage|imagick_haspreviousimage|imagick_identifyimage|imagick_implodeimage|imagick_labelimage|imagick_levelimage|imagick_linearstretchimage|imagick_liquidrescaleimage|imagick_magnifyimage|imagick_mapimage|imagick_mattefloodfillimage|imagick_medianfilterimage|imagick_mergeimagelayers|imagick_minifyimage|imagick_modulateimage|imagick_montageimage|imagick_morphimages|imagick_mosaicimages|imagick_motionblurimage|imagick_negateimage|imagick_newimage|imagick_newpseudoimage|imagick_nextimage|imagick_normalizeimage|imagick_oilpaintimage|imagick_opaquepaintimage|imagick_optimizeimagelayers|imagick_orderedposterizeimage|imagick_paintfloodfillimage|imagick_paintopaqueimage|imagick_painttransparentimage|imagick_pingimage|imagick_pingimageblob|imagick_pingimagefile|imagick_polaroidimage|imagick_posterizeimage|imagick_previewimages|imagick_previousimage|imagick_profileimage|imagick_quantizeimage|imagick_quantizeimages|imagick_queryfontmetrics|imagick_queryfonts|imagick_queryformats|imagick_radialblurimage|imagick_raiseimage|imagick_randomthresholdimage|imagick_readimage|imagick_readimageblob|imagick_readimagefile|imagick_recolorimage|imagick_reducenoiseimage|imagick_removeimage|imagick_removeimageprofile|imagick_render|imagick_resampleimage|imagick_resetimagepage|imagick_resizeimage|imagick_rollimage|imagick_rotateimage|imagick_roundcorners|imagick_sampleimage|imagick_scaleimage|imagick_separateimagechannel|imagick_sepiatoneimage|imagick_setbackgroundcolor|imagick_setcolorspace|imagick_setcompression|imagick_setcompressionquality|imagick_setfilename|imagick_setfirstiterator|imagick_setfont|imagick_setformat|imagick_setgravity|imagick_setimage|imagick_setimagealphachannel|imagick_setimageartifact|imagick_setimagebackgroundcolor|imagick_setimagebias|imagick_setimageblueprimary|imagick_setimagebordercolor|imagick_setimagechanneldepth|imagick_setimageclipmask|imagick_setimagecolormapcolor|imagick_setimagecolorspace|imagick_setimagecompose|imagick_setimagecompression|imagick_setimagecompressionquality|imagick_setimagedelay|imagick_setimagedepth|imagick_setimagedispose|imagick_setimageextent|imagick_setimagefilename|imagick_setimageformat|imagick_setimagegamma|imagick_setimagegravity|imagick_setimagegreenprimary|imagick_setimageindex|imagick_setimageinterlacescheme|imagick_setimageinterpolatemethod|imagick_setimageiterations|imagick_setimagematte|imagick_setimagemattecolor|imagick_setimageopacity|imagick_setimageorientation|imagick_setimagepage|imagick_setimageprofile|imagick_setimageproperty|imagick_setimageredprimary|imagick_setimagerenderingintent|imagick_setimageresolution|imagick_setimagescene|imagick_setimagetickspersecond|imagick_setimagetype|imagick_setimageunits|imagick_setimagevirtualpixelmethod|imagick_setimagewhitepoint|imagick_setinterlacescheme|imagick_setiteratorindex|imagick_setlastiterator|imagick_setoption|imagick_setpage|imagick_setpointsize|imagick_setresolution|imagick_setresourcelimit|imagick_setsamplingfactors|imagick_setsize|imagick_setsizeoffset|imagick_settype|imagick_shadeimage|imagick_shadowimage|imagick_sharpenimage|imagick_shaveimage|imagick_shearimage|imagick_sigmoidalcontrastimage|imagick_sketchimage|imagick_solarizeimage|imagick_spliceimage|imagick_spreadimage|imagick_steganoimage|imagick_stereoimage|imagick_stripimage|imagick_swirlimage|imagick_textureimage|imagick_thresholdimage|imagick_thumbnailimage|imagick_tintimage|imagick_transformimage|imagick_transparentpaintimage|imagick_transposeimage|imagick_transverseimage|imagick_trimimage|imagick_uniqueimagecolors|imagick_unsharpmaskimage|imagick_valid|imagick_vignetteimage|imagick_waveimage|imagick_whitethresholdimage|imagick_writeimage|imagick_writeimagefile|imagick_writeimages|imagick_writeimagesfile|imagickdraw|imagickdraw_affine|imagickdraw_annotation|imagickdraw_arc|imagickdraw_bezier|imagickdraw_circle|imagickdraw_clear|imagickdraw_clone|imagickdraw_color|imagickdraw_comment|imagickdraw_composite|imagickdraw_construct|imagickdraw_destroy|imagickdraw_ellipse|imagickdraw_getclippath|imagickdraw_getcliprule|imagickdraw_getclipunits|imagickdraw_getfillcolor|imagickdraw_getfillopacity|imagickdraw_getfillrule|imagickdraw_getfont|imagickdraw_getfontfamily|imagickdraw_getfontsize|imagickdraw_getfontstyle|imagickdraw_getfontweight|imagickdraw_getgravity|imagickdraw_getstrokeantialias|imagickdraw_getstrokecolor|imagickdraw_getstrokedasharray|imagickdraw_getstrokedashoffset|imagickdraw_getstrokelinecap|imagickdraw_getstrokelinejoin|imagickdraw_getstrokemiterlimit|imagickdraw_getstrokeopacity|imagickdraw_getstrokewidth|imagickdraw_gettextalignment|imagickdraw_gettextantialias|imagickdraw_gettextdecoration|imagickdraw_gettextencoding|imagickdraw_gettextundercolor|imagickdraw_getvectorgraphics|imagickdraw_line|imagickdraw_matte|imagickdraw_pathclose|imagickdraw_pathcurvetoabsolute|imagickdraw_pathcurvetoquadraticbezierabsolute|imagickdraw_pathcurvetoquadraticbezierrelative|imagickdraw_pathcurvetoquadraticbeziersmoothabsolute|imagickdraw_pathcurvetoquadraticbeziersmoothrelative|imagickdraw_pathcurvetorelative|imagickdraw_pathcurvetosmoothabsolute|imagickdraw_pathcurvetosmoothrelative|imagickdraw_pathellipticarcabsolute|imagickdraw_pathellipticarcrelative|imagickdraw_pathfinish|imagickdraw_pathlinetoabsolute|imagickdraw_pathlinetohorizontalabsolute|imagickdraw_pathlinetohorizontalrelative|imagickdraw_pathlinetorelative|imagickdraw_pathlinetoverticalabsolute|imagickdraw_pathlinetoverticalrelative|imagickdraw_pathmovetoabsolute|imagickdraw_pathmovetorelative|imagickdraw_pathstart|imagickdraw_point|imagickdraw_polygon|imagickdraw_polyline|imagickdraw_pop|imagickdraw_popclippath|imagickdraw_popdefs|imagickdraw_poppattern|imagickdraw_push|imagickdraw_pushclippath|imagickdraw_pushdefs|imagickdraw_pushpattern|imagickdraw_rectangle|imagickdraw_render|imagickdraw_rotate|imagickdraw_roundrectangle|imagickdraw_scale|imagickdraw_setclippath|imagickdraw_setcliprule|imagickdraw_setclipunits|imagickdraw_setfillalpha|imagickdraw_setfillcolor|imagickdraw_setfillopacity|imagickdraw_setfillpatternurl|imagickdraw_setfillrule|imagickdraw_setfont|imagickdraw_setfontfamily|imagickdraw_setfontsize|imagickdraw_setfontstretch|imagickdraw_setfontstyle|imagickdraw_setfontweight|imagickdraw_setgravity|imagickdraw_setstrokealpha|imagickdraw_setstrokeantialias|imagickdraw_setstrokecolor|imagickdraw_setstrokedasharray|imagickdraw_setstrokedashoffset|imagickdraw_setstrokelinecap|imagickdraw_setstrokelinejoin|imagickdraw_setstrokemiterlimit|imagickdraw_setstrokeopacity|imagickdraw_setstrokepatternurl|imagickdraw_setstrokewidth|imagickdraw_settextalignment|imagickdraw_settextantialias|imagickdraw_settextdecoration|imagickdraw_settextencoding|imagickdraw_settextundercolor|imagickdraw_setvectorgraphics|imagickdraw_setviewbox|imagickdraw_skewx|imagickdraw_skewy|imagickdraw_translate|imagickpixel|imagickpixel_clear|imagickpixel_construct|imagickpixel_destroy|imagickpixel_getcolor|imagickpixel_getcolorasstring|imagickpixel_getcolorcount|imagickpixel_getcolorvalue|imagickpixel_gethsl|imagickpixel_issimilar|imagickpixel_setcolor|imagickpixel_setcolorvalue|imagickpixel_sethsl|imagickpixeliterator|imagickpixeliterator_clear|imagickpixeliterator_construct|imagickpixeliterator_destroy|imagickpixeliterator_getcurrentiteratorrow|imagickpixeliterator_getiteratorrow|imagickpixeliterator_getnextiteratorrow|imagickpixeliterator_getpreviousiteratorrow|imagickpixeliterator_newpixeliterator|imagickpixeliterator_newpixelregioniterator|imagickpixeliterator_resetiterator|imagickpixeliterator_setiteratorfirstrow|imagickpixeliterator_setiteratorlastrow|imagickpixeliterator_setiteratorrow|imagickpixeliterator_synciterator|imap_8bit|imap_alerts|imap_append|imap_base64|imap_binary|imap_body|imap_bodystruct|imap_check|imap_clearflag_full|imap_close|imap_create|imap_createmailbox|imap_delete|imap_deletemailbox|imap_errors|imap_expunge|imap_fetch_overview|imap_fetchbody|imap_fetchheader|imap_fetchmime|imap_fetchstructure|imap_fetchtext|imap_gc|imap_get_quota|imap_get_quotaroot|imap_getacl|imap_getmailboxes|imap_getsubscribed|imap_header|imap_headerinfo|imap_headers|imap_last_error|imap_list|imap_listmailbox|imap_listscan|imap_listsubscribed|imap_lsub|imap_mail|imap_mail_compose|imap_mail_copy|imap_mail_move|imap_mailboxmsginfo|imap_mime_header_decode|imap_msgno|imap_num_msg|imap_num_recent|imap_open|imap_ping|imap_qprint|imap_rename|imap_renamemailbox|imap_reopen|imap_rfc822_parse_adrlist|imap_rfc822_parse_headers|imap_rfc822_write_address|imap_savebody|imap_scan|imap_scanmailbox|imap_search|imap_set_quota|imap_setacl|imap_setflag_full|imap_sort|imap_status|imap_subscribe|imap_thread|imap_timeout|imap_uid|imap_undelete|imap_unsubscribe|imap_utf7_decode|imap_utf7_encode|imap_utf8|implementsinterface|implode|import_request_variables|in_array|include|include_once|inclued_get_data|inet_ntop|inet_pton|infiniteiterator|ingres_autocommit|ingres_autocommit_state|ingres_charset|ingres_close|ingres_commit|ingres_connect|ingres_cursor|ingres_errno|ingres_error|ingres_errsqlstate|ingres_escape_string|ingres_execute|ingres_fetch_array|ingres_fetch_assoc|ingres_fetch_object|ingres_fetch_proc_return|ingres_fetch_row|ingres_field_length|ingres_field_name|ingres_field_nullable|ingres_field_precision|ingres_field_scale|ingres_field_type|ingres_free_result|ingres_next_error|ingres_num_fields|ingres_num_rows|ingres_pconnect|ingres_prepare|ingres_query|ingres_result_seek|ingres_rollback|ingres_set_environment|ingres_unbuffered_query|ini_alter|ini_get|ini_get_all|ini_restore|ini_set|innamespace|inotify_add_watch|inotify_init|inotify_queue_len|inotify_read|inotify_rm_watch|interface_exists|intl_error_name|intl_get_error_code|intl_get_error_message|intl_is_failure|intldateformatter|intval|invalidargumentexception|invoke|invokeargs|ip2long|iptcembed|iptcparse|is_a|is_array|is_bool|is_callable|is_dir|is_double|is_executable|is_file|is_finite|is_float|is_infinite|is_int|is_integer|is_link|is_long|is_nan|is_null|is_numeric|is_object|is_readable|is_real|is_resource|is_scalar|is_soap_fault|is_string|is_subclass_of|is_uploaded_file|is_writable|is_writeable|isabstract|iscloneable|isdisabled|isfinal|isinstance|isinstantiable|isinterface|isinternal|isiterateable|isset|issubclassof|isuserdefined|iterator|iterator_apply|iterator_count|iterator_to_array|iteratoraggregate|iteratoriterator|java_last_exception_clear|java_last_exception_get|jddayofweek|jdmonthname|jdtofrench|jdtogregorian|jdtojewish|jdtojulian|jdtounix|jewishtojd|join|jpeg2wbmp|json_decode|json_encode|json_last_error|jsonserializable|judy|judy_type|judy_version|juliantojd|kadm5_chpass_principal|kadm5_create_principal|kadm5_delete_principal|kadm5_destroy|kadm5_flush|kadm5_get_policies|kadm5_get_principal|kadm5_get_principals|kadm5_init_with_password|kadm5_modify_principal|key|krsort|ksort|lcfirst|lcg_value|lchgrp|lchown|ldap_8859_to_t61|ldap_add|ldap_bind|ldap_close|ldap_compare|ldap_connect|ldap_count_entries|ldap_delete|ldap_dn2ufn|ldap_err2str|ldap_errno|ldap_error|ldap_explode_dn|ldap_first_attribute|ldap_first_entry|ldap_first_reference|ldap_free_result|ldap_get_attributes|ldap_get_dn|ldap_get_entries|ldap_get_option|ldap_get_values|ldap_get_values_len|ldap_list|ldap_mod_add|ldap_mod_del|ldap_mod_replace|ldap_modify|ldap_next_attribute|ldap_next_entry|ldap_next_reference|ldap_parse_reference|ldap_parse_result|ldap_read|ldap_rename|ldap_sasl_bind|ldap_search|ldap_set_option|ldap_set_rebind_proc|ldap_sort|ldap_start_tls|ldap_t61_to_8859|ldap_unbind|lengthexception|levenshtein|libxml_clear_errors|libxml_disable_entity_loader|libxml_get_errors|libxml_get_last_error|libxml_set_streams_context|libxml_use_internal_errors|libxmlerror|limititerator|link|linkinfo|list|locale|localeconv|localtime|log|log10|log1p|logicexception|long2ip|lstat|ltrim|lzf_compress|lzf_decompress|lzf_optimized_for|m_checkstatus|m_completeauthorizations|m_connect|m_connectionerror|m_deletetrans|m_destroyconn|m_destroyengine|m_getcell|m_getcellbynum|m_getcommadelimited|m_getheader|m_initconn|m_initengine|m_iscommadelimited|m_maxconntimeout|m_monitor|m_numcolumns|m_numrows|m_parsecommadelimited|m_responsekeys|m_responseparam|m_returnstatus|m_setblocking|m_setdropfile|m_setip|m_setssl|m_setssl_cafile|m_setssl_files|m_settimeout|m_sslcert_gen_hash|m_transactionssent|m_transinqueue|m_transkeyval|m_transnew|m_transsend|m_uwait|m_validateidentifier|m_verifyconnection|m_verifysslcert|magic_quotes_runtime|mail|mailparse_determine_best_xfer_encoding|mailparse_msg_create|mailparse_msg_extract_part|mailparse_msg_extract_part_file|mailparse_msg_extract_whole_part_file|mailparse_msg_free|mailparse_msg_get_part|mailparse_msg_get_part_data|mailparse_msg_get_structure|mailparse_msg_parse|mailparse_msg_parse_file|mailparse_rfc822_parse_addresses|mailparse_stream_encode|mailparse_uudecode_all|main|max|maxdb_affected_rows|maxdb_autocommit|maxdb_bind_param|maxdb_bind_result|maxdb_change_user|maxdb_character_set_name|maxdb_client_encoding|maxdb_close|maxdb_close_long_data|maxdb_commit|maxdb_connect|maxdb_connect_errno|maxdb_connect_error|maxdb_data_seek|maxdb_debug|maxdb_disable_reads_from_master|maxdb_disable_rpl_parse|maxdb_dump_debug_info|maxdb_embedded_connect|maxdb_enable_reads_from_master|maxdb_enable_rpl_parse|maxdb_errno|maxdb_error|maxdb_escape_string|maxdb_execute|maxdb_fetch|maxdb_fetch_array|maxdb_fetch_assoc|maxdb_fetch_field|maxdb_fetch_field_direct|maxdb_fetch_fields|maxdb_fetch_lengths|maxdb_fetch_object|maxdb_fetch_row|maxdb_field_count|maxdb_field_seek|maxdb_field_tell|maxdb_free_result|maxdb_get_client_info|maxdb_get_client_version|maxdb_get_host_info|maxdb_get_metadata|maxdb_get_proto_info|maxdb_get_server_info|maxdb_get_server_version|maxdb_info|maxdb_init|maxdb_insert_id|maxdb_kill|maxdb_master_query|maxdb_more_results|maxdb_multi_query|maxdb_next_result|maxdb_num_fields|maxdb_num_rows|maxdb_options|maxdb_param_count|maxdb_ping|maxdb_prepare|maxdb_query|maxdb_real_connect|maxdb_real_escape_string|maxdb_real_query|maxdb_report|maxdb_rollback|maxdb_rpl_parse_enabled|maxdb_rpl_probe|maxdb_rpl_query_type|maxdb_select_db|maxdb_send_long_data|maxdb_send_query|maxdb_server_end|maxdb_server_init|maxdb_set_opt|maxdb_sqlstate|maxdb_ssl_set|maxdb_stat|maxdb_stmt_affected_rows|maxdb_stmt_bind_param|maxdb_stmt_bind_result|maxdb_stmt_close|maxdb_stmt_close_long_data|maxdb_stmt_data_seek|maxdb_stmt_errno|maxdb_stmt_error|maxdb_stmt_execute|maxdb_stmt_fetch|maxdb_stmt_free_result|maxdb_stmt_init|maxdb_stmt_num_rows|maxdb_stmt_param_count|maxdb_stmt_prepare|maxdb_stmt_reset|maxdb_stmt_result_metadata|maxdb_stmt_send_long_data|maxdb_stmt_sqlstate|maxdb_stmt_store_result|maxdb_store_result|maxdb_thread_id|maxdb_thread_safe|maxdb_use_result|maxdb_warning_count|mb_check_encoding|mb_convert_case|mb_convert_encoding|mb_convert_kana|mb_convert_variables|mb_decode_mimeheader|mb_decode_numericentity|mb_detect_encoding|mb_detect_order|mb_encode_mimeheader|mb_encode_numericentity|mb_encoding_aliases|mb_ereg|mb_ereg_match|mb_ereg_replace|mb_ereg_search|mb_ereg_search_getpos|mb_ereg_search_getregs|mb_ereg_search_init|mb_ereg_search_pos|mb_ereg_search_regs|mb_ereg_search_setpos|mb_eregi|mb_eregi_replace|mb_get_info|mb_http_input|mb_http_output|mb_internal_encoding|mb_language|mb_list_encodings|mb_output_handler|mb_parse_str|mb_preferred_mime_name|mb_regex_encoding|mb_regex_set_options|mb_send_mail|mb_split|mb_strcut|mb_strimwidth|mb_stripos|mb_stristr|mb_strlen|mb_strpos|mb_strrchr|mb_strrichr|mb_strripos|mb_strrpos|mb_strstr|mb_strtolower|mb_strtoupper|mb_strwidth|mb_substitute_character|mb_substr|mb_substr_count|mcrypt_cbc|mcrypt_cfb|mcrypt_create_iv|mcrypt_decrypt|mcrypt_ecb|mcrypt_enc_get_algorithms_name|mcrypt_enc_get_block_size|mcrypt_enc_get_iv_size|mcrypt_enc_get_key_size|mcrypt_enc_get_modes_name|mcrypt_enc_get_supported_key_sizes|mcrypt_enc_is_block_algorithm|mcrypt_enc_is_block_algorithm_mode|mcrypt_enc_is_block_mode|mcrypt_enc_self_test|mcrypt_encrypt|mcrypt_generic|mcrypt_generic_deinit|mcrypt_generic_end|mcrypt_generic_init|mcrypt_get_block_size|mcrypt_get_cipher_name|mcrypt_get_iv_size|mcrypt_get_key_size|mcrypt_list_algorithms|mcrypt_list_modes|mcrypt_module_close|mcrypt_module_get_algo_block_size|mcrypt_module_get_algo_key_size|mcrypt_module_get_supported_key_sizes|mcrypt_module_is_block_algorithm|mcrypt_module_is_block_algorithm_mode|mcrypt_module_is_block_mode|mcrypt_module_open|mcrypt_module_self_test|mcrypt_ofb|md5|md5_file|mdecrypt_generic|memcache|memcache_debug|memcached|memory_get_peak_usage|memory_get_usage|messageformatter|metaphone|method_exists|mhash|mhash_count|mhash_get_block_size|mhash_get_hash_name|mhash_keygen_s2k|microtime|mime_content_type|min|ming_keypress|ming_setcubicthreshold|ming_setscale|ming_setswfcompression|ming_useconstants|ming_useswfversion|mkdir|mktime|money_format|mongo|mongobindata|mongocode|mongocollection|mongoconnectionexception|mongocursor|mongocursorexception|mongocursortimeoutexception|mongodate|mongodb|mongodbref|mongoexception|mongogridfs|mongogridfscursor|mongogridfsexception|mongogridfsfile|mongoid|mongoint32|mongoint64|mongomaxkey|mongominkey|mongoregex|mongotimestamp|move_uploaded_file|mpegfile|mqseries_back|mqseries_begin|mqseries_close|mqseries_cmit|mqseries_conn|mqseries_connx|mqseries_disc|mqseries_get|mqseries_inq|mqseries_open|mqseries_put|mqseries_put1|mqseries_set|mqseries_strerror|msession_connect|msession_count|msession_create|msession_destroy|msession_disconnect|msession_find|msession_get|msession_get_array|msession_get_data|msession_inc|msession_list|msession_listvar|msession_lock|msession_plugin|msession_randstr|msession_set|msession_set_array|msession_set_data|msession_timeout|msession_uniq|msession_unlock|msg_get_queue|msg_queue_exists|msg_receive|msg_remove_queue|msg_send|msg_set_queue|msg_stat_queue|msql|msql_affected_rows|msql_close|msql_connect|msql_create_db|msql_createdb|msql_data_seek|msql_db_query|msql_dbname|msql_drop_db|msql_error|msql_fetch_array|msql_fetch_field|msql_fetch_object|msql_fetch_row|msql_field_flags|msql_field_len|msql_field_name|msql_field_seek|msql_field_table|msql_field_type|msql_fieldflags|msql_fieldlen|msql_fieldname|msql_fieldtable|msql_fieldtype|msql_free_result|msql_list_dbs|msql_list_fields|msql_list_tables|msql_num_fields|msql_num_rows|msql_numfields|msql_numrows|msql_pconnect|msql_query|msql_regcase|msql_result|msql_select_db|msql_tablename|mssql_bind|mssql_close|mssql_connect|mssql_data_seek|mssql_execute|mssql_fetch_array|mssql_fetch_assoc|mssql_fetch_batch|mssql_fetch_field|mssql_fetch_object|mssql_fetch_row|mssql_field_length|mssql_field_name|mssql_field_seek|mssql_field_type|mssql_free_result|mssql_free_statement|mssql_get_last_message|mssql_guid_string|mssql_init|mssql_min_error_severity|mssql_min_message_severity|mssql_next_result|mssql_num_fields|mssql_num_rows|mssql_pconnect|mssql_query|mssql_result|mssql_rows_affected|mssql_select_db|mt_getrandmax|mt_rand|mt_srand|multipleiterator|mysql_affected_rows|mysql_client_encoding|mysql_close|mysql_connect|mysql_create_db|mysql_data_seek|mysql_db_name|mysql_db_query|mysql_drop_db|mysql_errno|mysql_error|mysql_escape_string|mysql_fetch_array|mysql_fetch_assoc|mysql_fetch_field|mysql_fetch_lengths|mysql_fetch_object|mysql_fetch_row|mysql_field_flags|mysql_field_len|mysql_field_name|mysql_field_seek|mysql_field_table|mysql_field_type|mysql_free_result|mysql_get_client_info|mysql_get_host_info|mysql_get_proto_info|mysql_get_server_info|mysql_info|mysql_insert_id|mysql_list_dbs|mysql_list_fields|mysql_list_processes|mysql_list_tables|mysql_num_fields|mysql_num_rows|mysql_pconnect|mysql_ping|mysql_query|mysql_real_escape_string|mysql_result|mysql_select_db|mysql_set_charset|mysql_stat|mysql_tablename|mysql_thread_id|mysql_unbuffered_query|mysqli|mysqli_bind_param|mysqli_bind_result|mysqli_client_encoding|mysqli_connect|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_driver|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_escape_string|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_report|mysqli_result|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_set_opt|mysqli_slave_query|mysqli_stmt|mysqli_warning|mysqlnd_ms_get_stats|mysqlnd_ms_query_is_select|mysqlnd_ms_set_user_pick_server|mysqlnd_qc_change_handler|mysqlnd_qc_clear_cache|mysqlnd_qc_get_cache_info|mysqlnd_qc_get_core_stats|mysqlnd_qc_get_handler|mysqlnd_qc_get_query_trace_log|mysqlnd_qc_set_user_handlers|natcasesort|natsort|ncurses_addch|ncurses_addchnstr|ncurses_addchstr|ncurses_addnstr|ncurses_addstr|ncurses_assume_default_colors|ncurses_attroff|ncurses_attron|ncurses_attrset|ncurses_baudrate|ncurses_beep|ncurses_bkgd|ncurses_bkgdset|ncurses_border|ncurses_bottom_panel|ncurses_can_change_color|ncurses_cbreak|ncurses_clear|ncurses_clrtobot|ncurses_clrtoeol|ncurses_color_content|ncurses_color_set|ncurses_curs_set|ncurses_def_prog_mode|ncurses_def_shell_mode|ncurses_define_key|ncurses_del_panel|ncurses_delay_output|ncurses_delch|ncurses_deleteln|ncurses_delwin|ncurses_doupdate|ncurses_echo|ncurses_echochar|ncurses_end|ncurses_erase|ncurses_erasechar|ncurses_filter|ncurses_flash|ncurses_flushinp|ncurses_getch|ncurses_getmaxyx|ncurses_getmouse|ncurses_getyx|ncurses_halfdelay|ncurses_has_colors|ncurses_has_ic|ncurses_has_il|ncurses_has_key|ncurses_hide_panel|ncurses_hline|ncurses_inch|ncurses_init|ncurses_init_color|ncurses_init_pair|ncurses_insch|ncurses_insdelln|ncurses_insertln|ncurses_insstr|ncurses_instr|ncurses_isendwin|ncurses_keyok|ncurses_keypad|ncurses_killchar|ncurses_longname|ncurses_meta|ncurses_mouse_trafo|ncurses_mouseinterval|ncurses_mousemask|ncurses_move|ncurses_move_panel|ncurses_mvaddch|ncurses_mvaddchnstr|ncurses_mvaddchstr|ncurses_mvaddnstr|ncurses_mvaddstr|ncurses_mvcur|ncurses_mvdelch|ncurses_mvgetch|ncurses_mvhline|ncurses_mvinch|ncurses_mvvline|ncurses_mvwaddstr|ncurses_napms|ncurses_new_panel|ncurses_newpad|ncurses_newwin|ncurses_nl|ncurses_nocbreak|ncurses_noecho|ncurses_nonl|ncurses_noqiflush|ncurses_noraw|ncurses_pair_content|ncurses_panel_above|ncurses_panel_below|ncurses_panel_window|ncurses_pnoutrefresh|ncurses_prefresh|ncurses_putp|ncurses_qiflush|ncurses_raw|ncurses_refresh|ncurses_replace_panel|ncurses_reset_prog_mode|ncurses_reset_shell_mode|ncurses_resetty|ncurses_savetty|ncurses_scr_dump|ncurses_scr_init|ncurses_scr_restore|ncurses_scr_set|ncurses_scrl|ncurses_show_panel|ncurses_slk_attr|ncurses_slk_attroff|ncurses_slk_attron|ncurses_slk_attrset|ncurses_slk_clear|ncurses_slk_color|ncurses_slk_init|ncurses_slk_noutrefresh|ncurses_slk_refresh|ncurses_slk_restore|ncurses_slk_set|ncurses_slk_touch|ncurses_standend|ncurses_standout|ncurses_start_color|ncurses_termattrs|ncurses_termname|ncurses_timeout|ncurses_top_panel|ncurses_typeahead|ncurses_ungetch|ncurses_ungetmouse|ncurses_update_panels|ncurses_use_default_colors|ncurses_use_env|ncurses_use_extended_names|ncurses_vidattr|ncurses_vline|ncurses_waddch|ncurses_waddstr|ncurses_wattroff|ncurses_wattron|ncurses_wattrset|ncurses_wborder|ncurses_wclear|ncurses_wcolor_set|ncurses_werase|ncurses_wgetch|ncurses_whline|ncurses_wmouse_trafo|ncurses_wmove|ncurses_wnoutrefresh|ncurses_wrefresh|ncurses_wstandend|ncurses_wstandout|ncurses_wvline|newinstance|newinstanceargs|newt_bell|newt_button|newt_button_bar|newt_centered_window|newt_checkbox|newt_checkbox_get_value|newt_checkbox_set_flags|newt_checkbox_set_value|newt_checkbox_tree|newt_checkbox_tree_add_item|newt_checkbox_tree_find_item|newt_checkbox_tree_get_current|newt_checkbox_tree_get_entry_value|newt_checkbox_tree_get_multi_selection|newt_checkbox_tree_get_selection|newt_checkbox_tree_multi|newt_checkbox_tree_set_current|newt_checkbox_tree_set_entry|newt_checkbox_tree_set_entry_value|newt_checkbox_tree_set_width|newt_clear_key_buffer|newt_cls|newt_compact_button|newt_component_add_callback|newt_component_takes_focus|newt_create_grid|newt_cursor_off|newt_cursor_on|newt_delay|newt_draw_form|newt_draw_root_text|newt_entry|newt_entry_get_value|newt_entry_set|newt_entry_set_filter|newt_entry_set_flags|newt_finished|newt_form|newt_form_add_component|newt_form_add_components|newt_form_add_hot_key|newt_form_destroy|newt_form_get_current|newt_form_run|newt_form_set_background|newt_form_set_height|newt_form_set_size|newt_form_set_timer|newt_form_set_width|newt_form_watch_fd|newt_get_screen_size|newt_grid_add_components_to_form|newt_grid_basic_window|newt_grid_free|newt_grid_get_size|newt_grid_h_close_stacked|newt_grid_h_stacked|newt_grid_place|newt_grid_set_field|newt_grid_simple_window|newt_grid_v_close_stacked|newt_grid_v_stacked|newt_grid_wrapped_window|newt_grid_wrapped_window_at|newt_init|newt_label|newt_label_set_text|newt_listbox|newt_listbox_append_entry|newt_listbox_clear|newt_listbox_clear_selection|newt_listbox_delete_entry|newt_listbox_get_current|newt_listbox_get_selection|newt_listbox_insert_entry|newt_listbox_item_count|newt_listbox_select_item|newt_listbox_set_current|newt_listbox_set_current_by_key|newt_listbox_set_data|newt_listbox_set_entry|newt_listbox_set_width|newt_listitem|newt_listitem_get_data|newt_listitem_set|newt_open_window|newt_pop_help_line|newt_pop_window|newt_push_help_line|newt_radio_get_current|newt_radiobutton|newt_redraw_help_line|newt_reflow_text|newt_refresh|newt_resize_screen|newt_resume|newt_run_form|newt_scale|newt_scale_set|newt_scrollbar_set|newt_set_help_callback|newt_set_suspend_callback|newt_suspend|newt_textbox|newt_textbox_get_num_lines|newt_textbox_reflowed|newt_textbox_set_height|newt_textbox_set_text|newt_vertical_scrollbar|newt_wait_for_key|newt_win_choice|newt_win_entries|newt_win_menu|newt_win_message|newt_win_messagev|newt_win_ternary|next|ngettext|nl2br|nl_langinfo|norewinditerator|normalizer|notes_body|notes_copy_db|notes_create_db|notes_create_note|notes_drop_db|notes_find_note|notes_header_info|notes_list_msgs|notes_mark_read|notes_mark_unread|notes_nav_create|notes_search|notes_unread|notes_version|nsapi_request_headers|nsapi_response_headers|nsapi_virtual|nthmac|number_format|numberformatter|oauth|oauth_get_sbs|oauth_urlencode|oauthexception|oauthprovider|ob_clean|ob_deflatehandler|ob_end_clean|ob_end_flush|ob_etaghandler|ob_flush|ob_get_clean|ob_get_contents|ob_get_flush|ob_get_length|ob_get_level|ob_get_status|ob_gzhandler|ob_iconv_handler|ob_implicit_flush|ob_inflatehandler|ob_list_handlers|ob_start|ob_tidyhandler|oci_bind_array_by_name|oci_bind_by_name|oci_cancel|oci_client_version|oci_close|oci_collection_append|oci_collection_assign|oci_collection_element_assign|oci_collection_element_get|oci_collection_free|oci_collection_max|oci_collection_size|oci_collection_trim|oci_commit|oci_connect|oci_define_by_name|oci_error|oci_execute|oci_fetch|oci_fetch_all|oci_fetch_array|oci_fetch_assoc|oci_fetch_object|oci_fetch_row|oci_field_is_null|oci_field_name|oci_field_precision|oci_field_scale|oci_field_size|oci_field_type|oci_field_type_raw|oci_free_statement|oci_internal_debug|oci_lob_append|oci_lob_close|oci_lob_copy|oci_lob_eof|oci_lob_erase|oci_lob_export|oci_lob_flush|oci_lob_free|oci_lob_getbuffering|oci_lob_import|oci_lob_is_equal|oci_lob_load|oci_lob_read|oci_lob_rewind|oci_lob_save|oci_lob_savefile|oci_lob_seek|oci_lob_setbuffering|oci_lob_size|oci_lob_tell|oci_lob_truncate|oci_lob_write|oci_lob_writetemporary|oci_lob_writetofile|oci_new_collection|oci_new_connect|oci_new_cursor|oci_new_descriptor|oci_num_fields|oci_num_rows|oci_parse|oci_password_change|oci_pconnect|oci_result|oci_rollback|oci_server_version|oci_set_action|oci_set_client_identifier|oci_set_client_info|oci_set_edition|oci_set_module_name|oci_set_prefetch|oci_statement_type|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|octdec|odbc_autocommit|odbc_binmode|odbc_close|odbc_close_all|odbc_columnprivileges|odbc_columns|odbc_commit|odbc_connect|odbc_cursor|odbc_data_source|odbc_do|odbc_error|odbc_errormsg|odbc_exec|odbc_execute|odbc_fetch_array|odbc_fetch_into|odbc_fetch_object|odbc_fetch_row|odbc_field_len|odbc_field_name|odbc_field_num|odbc_field_precision|odbc_field_scale|odbc_field_type|odbc_foreignkeys|odbc_free_result|odbc_gettypeinfo|odbc_longreadlen|odbc_next_result|odbc_num_fields|odbc_num_rows|odbc_pconnect|odbc_prepare|odbc_primarykeys|odbc_procedurecolumns|odbc_procedures|odbc_result|odbc_result_all|odbc_rollback|odbc_setoption|odbc_specialcolumns|odbc_statistics|odbc_tableprivileges|odbc_tables|openal_buffer_create|openal_buffer_data|openal_buffer_destroy|openal_buffer_get|openal_buffer_loadwav|openal_context_create|openal_context_current|openal_context_destroy|openal_context_process|openal_context_suspend|openal_device_close|openal_device_open|openal_listener_get|openal_listener_set|openal_source_create|openal_source_destroy|openal_source_get|openal_source_pause|openal_source_play|openal_source_rewind|openal_source_set|openal_source_stop|openal_stream|opendir|openlog|openssl_cipher_iv_length|openssl_csr_export|openssl_csr_export_to_file|openssl_csr_get_public_key|openssl_csr_get_subject|openssl_csr_new|openssl_csr_sign|openssl_decrypt|openssl_dh_compute_key|openssl_digest|openssl_encrypt|openssl_error_string|openssl_free_key|openssl_get_cipher_methods|openssl_get_md_methods|openssl_get_privatekey|openssl_get_publickey|openssl_open|openssl_pkcs12_export|openssl_pkcs12_export_to_file|openssl_pkcs12_read|openssl_pkcs7_decrypt|openssl_pkcs7_encrypt|openssl_pkcs7_sign|openssl_pkcs7_verify|openssl_pkey_export|openssl_pkey_export_to_file|openssl_pkey_free|openssl_pkey_get_details|openssl_pkey_get_private|openssl_pkey_get_public|openssl_pkey_new|openssl_private_decrypt|openssl_private_encrypt|openssl_public_decrypt|openssl_public_encrypt|openssl_random_pseudo_bytes|openssl_seal|openssl_sign|openssl_verify|openssl_x509_check_private_key|openssl_x509_checkpurpose|openssl_x509_export|openssl_x509_export_to_file|openssl_x509_free|openssl_x509_parse|openssl_x509_read|ord|outeriterator|outofboundsexception|outofrangeexception|output_add_rewrite_var|output_reset_rewrite_vars|overflowexception|overload|override_function|ovrimos_close|ovrimos_commit|ovrimos_connect|ovrimos_cursor|ovrimos_exec|ovrimos_execute|ovrimos_fetch_into|ovrimos_fetch_row|ovrimos_field_len|ovrimos_field_name|ovrimos_field_num|ovrimos_field_type|ovrimos_free_result|ovrimos_longreadlen|ovrimos_num_fields|ovrimos_num_rows|ovrimos_prepare|ovrimos_result|ovrimos_result_all|ovrimos_rollback|pack|parentiterator|parse_ini_file|parse_ini_string|parse_str|parse_url|parsekit_compile_file|parsekit_compile_string|parsekit_func_arginfo|passthru|pathinfo|pclose|pcntl_alarm|pcntl_exec|pcntl_fork|pcntl_getpriority|pcntl_setpriority|pcntl_signal|pcntl_signal_dispatch|pcntl_sigprocmask|pcntl_sigtimedwait|pcntl_sigwaitinfo|pcntl_wait|pcntl_waitpid|pcntl_wexitstatus|pcntl_wifexited|pcntl_wifsignaled|pcntl_wifstopped|pcntl_wstopsig|pcntl_wtermsig|pdf_activate_item|pdf_add_annotation|pdf_add_bookmark|pdf_add_launchlink|pdf_add_locallink|pdf_add_nameddest|pdf_add_note|pdf_add_outline|pdf_add_pdflink|pdf_add_table_cell|pdf_add_textflow|pdf_add_thumbnail|pdf_add_weblink|pdf_arc|pdf_arcn|pdf_attach_file|pdf_begin_document|pdf_begin_font|pdf_begin_glyph|pdf_begin_item|pdf_begin_layer|pdf_begin_page|pdf_begin_page_ext|pdf_begin_pattern|pdf_begin_template|pdf_begin_template_ext|pdf_circle|pdf_clip|pdf_close|pdf_close_image|pdf_close_pdi|pdf_close_pdi_page|pdf_closepath|pdf_closepath_fill_stroke|pdf_closepath_stroke|pdf_concat|pdf_continue_text|pdf_create_3dview|pdf_create_action|pdf_create_annotation|pdf_create_bookmark|pdf_create_field|pdf_create_fieldgroup|pdf_create_gstate|pdf_create_pvf|pdf_create_textflow|pdf_curveto|pdf_define_layer|pdf_delete|pdf_delete_pvf|pdf_delete_table|pdf_delete_textflow|pdf_encoding_set_char|pdf_end_document|pdf_end_font|pdf_end_glyph|pdf_end_item|pdf_end_layer|pdf_end_page|pdf_end_page_ext|pdf_end_pattern|pdf_end_template|pdf_endpath|pdf_fill|pdf_fill_imageblock|pdf_fill_pdfblock|pdf_fill_stroke|pdf_fill_textblock|pdf_findfont|pdf_fit_image|pdf_fit_pdi_page|pdf_fit_table|pdf_fit_textflow|pdf_fit_textline|pdf_get_apiname|pdf_get_buffer|pdf_get_errmsg|pdf_get_errnum|pdf_get_font|pdf_get_fontname|pdf_get_fontsize|pdf_get_image_height|pdf_get_image_width|pdf_get_majorversion|pdf_get_minorversion|pdf_get_parameter|pdf_get_pdi_parameter|pdf_get_pdi_value|pdf_get_value|pdf_info_font|pdf_info_matchbox|pdf_info_table|pdf_info_textflow|pdf_info_textline|pdf_initgraphics|pdf_lineto|pdf_load_3ddata|pdf_load_font|pdf_load_iccprofile|pdf_load_image|pdf_makespotcolor|pdf_moveto|pdf_new|pdf_open_ccitt|pdf_open_file|pdf_open_gif|pdf_open_image|pdf_open_image_file|pdf_open_jpeg|pdf_open_memory_image|pdf_open_pdi|pdf_open_pdi_document|pdf_open_pdi_page|pdf_open_tiff|pdf_pcos_get_number|pdf_pcos_get_stream|pdf_pcos_get_string|pdf_place_image|pdf_place_pdi_page|pdf_process_pdi|pdf_rect|pdf_restore|pdf_resume_page|pdf_rotate|pdf_save|pdf_scale|pdf_set_border_color|pdf_set_border_dash|pdf_set_border_style|pdf_set_char_spacing|pdf_set_duration|pdf_set_gstate|pdf_set_horiz_scaling|pdf_set_info|pdf_set_info_author|pdf_set_info_creator|pdf_set_info_keywords|pdf_set_info_subject|pdf_set_info_title|pdf_set_layer_dependency|pdf_set_leading|pdf_set_parameter|pdf_set_text_matrix|pdf_set_text_pos|pdf_set_text_rendering|pdf_set_text_rise|pdf_set_value|pdf_set_word_spacing|pdf_setcolor|pdf_setdash|pdf_setdashpattern|pdf_setflat|pdf_setfont|pdf_setgray|pdf_setgray_fill|pdf_setgray_stroke|pdf_setlinecap|pdf_setlinejoin|pdf_setlinewidth|pdf_setmatrix|pdf_setmiterlimit|pdf_setpolydash|pdf_setrgbcolor|pdf_setrgbcolor_fill|pdf_setrgbcolor_stroke|pdf_shading|pdf_shading_pattern|pdf_shfill|pdf_show|pdf_show_boxed|pdf_show_xy|pdf_skew|pdf_stringwidth|pdf_stroke|pdf_suspend_page|pdf_translate|pdf_utf16_to_utf8|pdf_utf32_to_utf16|pdf_utf8_to_utf16|pdo|pdo_cubrid_schema|pdo_pgsqllobcreate|pdo_pgsqllobopen|pdo_pgsqllobunlink|pdo_sqlitecreateaggregate|pdo_sqlitecreatefunction|pdoexception|pdostatement|pfsockopen|pg_affected_rows|pg_cancel_query|pg_client_encoding|pg_close|pg_connect|pg_connection_busy|pg_connection_reset|pg_connection_status|pg_convert|pg_copy_from|pg_copy_to|pg_dbname|pg_delete|pg_end_copy|pg_escape_bytea|pg_escape_string|pg_execute|pg_fetch_all|pg_fetch_all_columns|pg_fetch_array|pg_fetch_assoc|pg_fetch_object|pg_fetch_result|pg_fetch_row|pg_field_is_null|pg_field_name|pg_field_num|pg_field_prtlen|pg_field_size|pg_field_table|pg_field_type|pg_field_type_oid|pg_free_result|pg_get_notify|pg_get_pid|pg_get_result|pg_host|pg_insert|pg_last_error|pg_last_notice|pg_last_oid|pg_lo_close|pg_lo_create|pg_lo_export|pg_lo_import|pg_lo_open|pg_lo_read|pg_lo_read_all|pg_lo_seek|pg_lo_tell|pg_lo_unlink|pg_lo_write|pg_meta_data|pg_num_fields|pg_num_rows|pg_options|pg_parameter_status|pg_pconnect|pg_ping|pg_port|pg_prepare|pg_put_line|pg_query|pg_query_params|pg_result_error|pg_result_error_field|pg_result_seek|pg_result_status|pg_select|pg_send_execute|pg_send_prepare|pg_send_query|pg_send_query_params|pg_set_client_encoding|pg_set_error_verbosity|pg_trace|pg_transaction_status|pg_tty|pg_unescape_bytea|pg_untrace|pg_update|pg_version|php_check_syntax|php_ini_loaded_file|php_ini_scanned_files|php_logo_guid|php_sapi_name|php_strip_whitespace|php_uname|phpcredits|phpinfo|phpversion|pi|png2wbmp|popen|pos|posix_access|posix_ctermid|posix_errno|posix_get_last_error|posix_getcwd|posix_getegid|posix_geteuid|posix_getgid|posix_getgrgid|posix_getgrnam|posix_getgroups|posix_getlogin|posix_getpgid|posix_getpgrp|posix_getpid|posix_getppid|posix_getpwnam|posix_getpwuid|posix_getrlimit|posix_getsid|posix_getuid|posix_initgroups|posix_isatty|posix_kill|posix_mkfifo|posix_mknod|posix_setegid|posix_seteuid|posix_setgid|posix_setpgid|posix_setsid|posix_setuid|posix_strerror|posix_times|posix_ttyname|posix_uname|pow|preg_filter|preg_grep|preg_last_error|preg_match|preg_match_all|preg_quote|preg_replace|preg_replace_callback|preg_split|prev|print|print_r|printer_abort|printer_close|printer_create_brush|printer_create_dc|printer_create_font|printer_create_pen|printer_delete_brush|printer_delete_dc|printer_delete_font|printer_delete_pen|printer_draw_bmp|printer_draw_chord|printer_draw_elipse|printer_draw_line|printer_draw_pie|printer_draw_rectangle|printer_draw_roundrect|printer_draw_text|printer_end_doc|printer_end_page|printer_get_option|printer_list|printer_logical_fontheight|printer_open|printer_select_brush|printer_select_font|printer_select_pen|printer_set_option|printer_start_doc|printer_start_page|printer_write|printf|proc_close|proc_get_status|proc_nice|proc_open|proc_terminate|property_exists|ps_add_bookmark|ps_add_launchlink|ps_add_locallink|ps_add_note|ps_add_pdflink|ps_add_weblink|ps_arc|ps_arcn|ps_begin_page|ps_begin_pattern|ps_begin_template|ps_circle|ps_clip|ps_close|ps_close_image|ps_closepath|ps_closepath_stroke|ps_continue_text|ps_curveto|ps_delete|ps_end_page|ps_end_pattern|ps_end_template|ps_fill|ps_fill_stroke|ps_findfont|ps_get_buffer|ps_get_parameter|ps_get_value|ps_hyphenate|ps_include_file|ps_lineto|ps_makespotcolor|ps_moveto|ps_new|ps_open_file|ps_open_image|ps_open_image_file|ps_open_memory_image|ps_place_image|ps_rect|ps_restore|ps_rotate|ps_save|ps_scale|ps_set_border_color|ps_set_border_dash|ps_set_border_style|ps_set_info|ps_set_parameter|ps_set_text_pos|ps_set_value|ps_setcolor|ps_setdash|ps_setflat|ps_setfont|ps_setgray|ps_setlinecap|ps_setlinejoin|ps_setlinewidth|ps_setmiterlimit|ps_setoverprintmode|ps_setpolydash|ps_shading|ps_shading_pattern|ps_shfill|ps_show|ps_show2|ps_show_boxed|ps_show_xy|ps_show_xy2|ps_string_geometry|ps_stringwidth|ps_stroke|ps_symbol|ps_symbol_name|ps_symbol_width|ps_translate|pspell_add_to_personal|pspell_add_to_session|pspell_check|pspell_clear_session|pspell_config_create|pspell_config_data_dir|pspell_config_dict_dir|pspell_config_ignore|pspell_config_mode|pspell_config_personal|pspell_config_repl|pspell_config_runtogether|pspell_config_save_repl|pspell_new|pspell_new_config|pspell_new_personal|pspell_save_wordlist|pspell_store_replacement|pspell_suggest|putenv|px_close|px_create_fp|px_date2string|px_delete|px_delete_record|px_get_field|px_get_info|px_get_parameter|px_get_record|px_get_schema|px_get_value|px_insert_record|px_new|px_numfields|px_numrecords|px_open_fp|px_put_record|px_retrieve_record|px_set_blob_file|px_set_parameter|px_set_tablename|px_set_targetencoding|px_set_value|px_timestamp2string|px_update_record|qdom_error|qdom_tree|quoted_printable_decode|quoted_printable_encode|quotemeta|rad2deg|radius_acct_open|radius_add_server|radius_auth_open|radius_close|radius_config|radius_create_request|radius_cvt_addr|radius_cvt_int|radius_cvt_string|radius_demangle|radius_demangle_mppe_key|radius_get_attr|radius_get_vendor_attr|radius_put_addr|radius_put_attr|radius_put_int|radius_put_string|radius_put_vendor_addr|radius_put_vendor_attr|radius_put_vendor_int|radius_put_vendor_string|radius_request_authenticator|radius_send_request|radius_server_secret|radius_strerror|rand|range|rangeexception|rar_wrapper_cache_stats|rararchive|rarentry|rarexception|rawurldecode|rawurlencode|read_exif_data|readdir|readfile|readgzfile|readline|readline_add_history|readline_callback_handler_install|readline_callback_handler_remove|readline_callback_read_char|readline_clear_history|readline_completion_function|readline_info|readline_list_history|readline_on_new_line|readline_read_history|readline_redisplay|readline_write_history|readlink|realpath|realpath_cache_get|realpath_cache_size|recode|recode_file|recode_string|recursivearrayiterator|recursivecachingiterator|recursivecallbackfilteriterator|recursivedirectoryiterator|recursivefilteriterator|recursiveiterator|recursiveiteratoriterator|recursiveregexiterator|recursivetreeiterator|reflection|reflectionclass|reflectionexception|reflectionextension|reflectionfunction|reflectionfunctionabstract|reflectionmethod|reflectionobject|reflectionparameter|reflectionproperty|reflector|regexiterator|register_shutdown_function|register_tick_function|rename|rename_function|require|require_once|reset|resetValue|resourcebundle|restore_error_handler|restore_exception_handler|restore_include_path|return|rewind|rewinddir|rmdir|round|rpm_close|rpm_get_tag|rpm_is_valid|rpm_open|rpm_version|rrd_create|rrd_error|rrd_fetch|rrd_first|rrd_graph|rrd_info|rrd_last|rrd_lastupdate|rrd_restore|rrd_tune|rrd_update|rrd_xport|rrdcreator|rrdgraph|rrdupdater|rsort|rtrim|runkit_class_adopt|runkit_class_emancipate|runkit_constant_add|runkit_constant_redefine|runkit_constant_remove|runkit_function_add|runkit_function_copy|runkit_function_redefine|runkit_function_remove|runkit_function_rename|runkit_import|runkit_lint|runkit_lint_file|runkit_method_add|runkit_method_copy|runkit_method_redefine|runkit_method_remove|runkit_method_rename|runkit_return_value_used|runkit_sandbox_output_handler|runkit_superglobals|runtimeexception|samconnection_commit|samconnection_connect|samconnection_constructor|samconnection_disconnect|samconnection_errno|samconnection_error|samconnection_isconnected|samconnection_peek|samconnection_peekall|samconnection_receive|samconnection_remove|samconnection_rollback|samconnection_send|samconnection_setDebug|samconnection_subscribe|samconnection_unsubscribe|sammessage_body|sammessage_constructor|sammessage_header|sca_createdataobject|sca_getservice|sca_localproxy_createdataobject|sca_soapproxy_createdataobject|scandir|sdo_das_changesummary_beginlogging|sdo_das_changesummary_endlogging|sdo_das_changesummary_getchangeddataobjects|sdo_das_changesummary_getchangetype|sdo_das_changesummary_getoldcontainer|sdo_das_changesummary_getoldvalues|sdo_das_changesummary_islogging|sdo_das_datafactory_addpropertytotype|sdo_das_datafactory_addtype|sdo_das_datafactory_getdatafactory|sdo_das_dataobject_getchangesummary|sdo_das_relational_applychanges|sdo_das_relational_construct|sdo_das_relational_createrootdataobject|sdo_das_relational_executepreparedquery|sdo_das_relational_executequery|sdo_das_setting_getlistindex|sdo_das_setting_getpropertyindex|sdo_das_setting_getpropertyname|sdo_das_setting_getvalue|sdo_das_setting_isset|sdo_das_xml_addtypes|sdo_das_xml_create|sdo_das_xml_createdataobject|sdo_das_xml_createdocument|sdo_das_xml_document_getrootdataobject|sdo_das_xml_document_getrootelementname|sdo_das_xml_document_getrootelementuri|sdo_das_xml_document_setencoding|sdo_das_xml_document_setxmldeclaration|sdo_das_xml_document_setxmlversion|sdo_das_xml_loadfile|sdo_das_xml_loadstring|sdo_das_xml_savefile|sdo_das_xml_savestring|sdo_datafactory_create|sdo_dataobject_clear|sdo_dataobject_createdataobject|sdo_dataobject_getcontainer|sdo_dataobject_getsequence|sdo_dataobject_gettypename|sdo_dataobject_gettypenamespaceuri|sdo_exception_getcause|sdo_list_insert|sdo_model_property_getcontainingtype|sdo_model_property_getdefault|sdo_model_property_getname|sdo_model_property_gettype|sdo_model_property_iscontainment|sdo_model_property_ismany|sdo_model_reflectiondataobject_construct|sdo_model_reflectiondataobject_export|sdo_model_reflectiondataobject_getcontainmentproperty|sdo_model_reflectiondataobject_getinstanceproperties|sdo_model_reflectiondataobject_gettype|sdo_model_type_getbasetype|sdo_model_type_getname|sdo_model_type_getnamespaceuri|sdo_model_type_getproperties|sdo_model_type_getproperty|sdo_model_type_isabstracttype|sdo_model_type_isdatatype|sdo_model_type_isinstance|sdo_model_type_isopentype|sdo_model_type_issequencedtype|sdo_sequence_getproperty|sdo_sequence_insert|sdo_sequence_move|seekableiterator|sem_acquire|sem_get|sem_release|sem_remove|serializable|serialize|session_cache_expire|session_cache_limiter|session_commit|session_decode|session_destroy|session_encode|session_get_cookie_params|session_id|session_is_registered|session_module_name|session_name|session_pgsql_add_error|session_pgsql_get_error|session_pgsql_get_field|session_pgsql_reset|session_pgsql_set_field|session_pgsql_status|session_regenerate_id|session_register|session_save_path|session_set_cookie_params|session_set_save_handler|session_start|session_unregister|session_unset|session_write_close|setCounterClass|set_error_handler|set_exception_handler|set_file_buffer|set_include_path|set_magic_quotes_runtime|set_socket_blocking|set_time_limit|setcookie|setlocale|setproctitle|setrawcookie|setstaticpropertyvalue|setthreadtitle|settype|sha1|sha1_file|shell_exec|shm_attach|shm_detach|shm_get_var|shm_has_var|shm_put_var|shm_remove|shm_remove_var|shmop_close|shmop_delete|shmop_open|shmop_read|shmop_size|shmop_write|show_source|shuffle|signeurlpaiement|similar_text|simplexml_import_dom|simplexml_load_file|simplexml_load_string|simplexmlelement|simplexmliterator|sin|sinh|sizeof|sleep|snmp|snmp2_get|snmp2_getnext|snmp2_real_walk|snmp2_set|snmp2_walk|snmp3_get|snmp3_getnext|snmp3_real_walk|snmp3_set|snmp3_walk|snmp_get_quick_print|snmp_get_valueretrieval|snmp_read_mib|snmp_set_enum_print|snmp_set_oid_numeric_print|snmp_set_oid_output_format|snmp_set_quick_print|snmp_set_valueretrieval|snmpget|snmpgetnext|snmprealwalk|snmpset|snmpwalk|snmpwalkoid|soapclient|soapfault|soapheader|soapparam|soapserver|soapvar|socket_accept|socket_bind|socket_clear_error|socket_close|socket_connect|socket_create|socket_create_listen|socket_create_pair|socket_get_option|socket_get_status|socket_getpeername|socket_getsockname|socket_last_error|socket_listen|socket_read|socket_recv|socket_recvfrom|socket_select|socket_send|socket_sendto|socket_set_block|socket_set_blocking|socket_set_nonblock|socket_set_option|socket_set_timeout|socket_shutdown|socket_strerror|socket_write|solr_get_version|solrclient|solrclientexception|solrdocument|solrdocumentfield|solrexception|solrgenericresponse|solrillegalargumentexception|solrillegaloperationexception|solrinputdocument|solrmodifiableparams|solrobject|solrparams|solrpingresponse|solrquery|solrqueryresponse|solrresponse|solrupdateresponse|solrutils|sort|soundex|sphinxclient|spl_autoload|spl_autoload_call|spl_autoload_extensions|spl_autoload_functions|spl_autoload_register|spl_autoload_unregister|spl_classes|spl_object_hash|splbool|spldoublylinkedlist|splenum|splfileinfo|splfileobject|splfixedarray|splfloat|splheap|splint|split|spliti|splmaxheap|splminheap|splobjectstorage|splobserver|splpriorityqueue|splqueue|splstack|splstring|splsubject|spltempfileobject|spoofchecker|sprintf|sql_regcase|sqlite3|sqlite3result|sqlite3stmt|sqlite_array_query|sqlite_busy_timeout|sqlite_changes|sqlite_close|sqlite_column|sqlite_create_aggregate|sqlite_create_function|sqlite_current|sqlite_error_string|sqlite_escape_string|sqlite_exec|sqlite_factory|sqlite_fetch_all|sqlite_fetch_array|sqlite_fetch_column_types|sqlite_fetch_object|sqlite_fetch_single|sqlite_fetch_string|sqlite_field_name|sqlite_has_more|sqlite_has_prev|sqlite_key|sqlite_last_error|sqlite_last_insert_rowid|sqlite_libencoding|sqlite_libversion|sqlite_next|sqlite_num_fields|sqlite_num_rows|sqlite_open|sqlite_popen|sqlite_prev|sqlite_query|sqlite_rewind|sqlite_seek|sqlite_single_query|sqlite_udf_decode_binary|sqlite_udf_encode_binary|sqlite_unbuffered_query|sqlite_valid|sqrt|srand|sscanf|ssdeep_fuzzy_compare|ssdeep_fuzzy_hash|ssdeep_fuzzy_hash_filename|ssh2_auth_hostbased_file|ssh2_auth_none|ssh2_auth_password|ssh2_auth_pubkey_file|ssh2_connect|ssh2_exec|ssh2_fetch_stream|ssh2_fingerprint|ssh2_methods_negotiated|ssh2_publickey_add|ssh2_publickey_init|ssh2_publickey_list|ssh2_publickey_remove|ssh2_scp_recv|ssh2_scp_send|ssh2_sftp|ssh2_sftp_lstat|ssh2_sftp_mkdir|ssh2_sftp_readlink|ssh2_sftp_realpath|ssh2_sftp_rename|ssh2_sftp_rmdir|ssh2_sftp_stat|ssh2_sftp_symlink|ssh2_sftp_unlink|ssh2_shell|ssh2_tunnel|stat|stats_absolute_deviation|stats_cdf_beta|stats_cdf_binomial|stats_cdf_cauchy|stats_cdf_chisquare|stats_cdf_exponential|stats_cdf_f|stats_cdf_gamma|stats_cdf_laplace|stats_cdf_logistic|stats_cdf_negative_binomial|stats_cdf_noncentral_chisquare|stats_cdf_noncentral_f|stats_cdf_poisson|stats_cdf_t|stats_cdf_uniform|stats_cdf_weibull|stats_covariance|stats_den_uniform|stats_dens_beta|stats_dens_cauchy|stats_dens_chisquare|stats_dens_exponential|stats_dens_f|stats_dens_gamma|stats_dens_laplace|stats_dens_logistic|stats_dens_negative_binomial|stats_dens_normal|stats_dens_pmf_binomial|stats_dens_pmf_hypergeometric|stats_dens_pmf_poisson|stats_dens_t|stats_dens_weibull|stats_harmonic_mean|stats_kurtosis|stats_rand_gen_beta|stats_rand_gen_chisquare|stats_rand_gen_exponential|stats_rand_gen_f|stats_rand_gen_funiform|stats_rand_gen_gamma|stats_rand_gen_ibinomial|stats_rand_gen_ibinomial_negative|stats_rand_gen_int|stats_rand_gen_ipoisson|stats_rand_gen_iuniform|stats_rand_gen_noncenral_chisquare|stats_rand_gen_noncentral_f|stats_rand_gen_noncentral_t|stats_rand_gen_normal|stats_rand_gen_t|stats_rand_get_seeds|stats_rand_phrase_to_seeds|stats_rand_ranf|stats_rand_setall|stats_skew|stats_standard_deviation|stats_stat_binomial_coef|stats_stat_correlation|stats_stat_gennch|stats_stat_independent_t|stats_stat_innerproduct|stats_stat_noncentral_t|stats_stat_paired_t|stats_stat_percentile|stats_stat_powersum|stats_variance|stomp|stomp_connect_error|stomp_version|stompexception|stompframe|str_getcsv|str_ireplace|str_pad|str_repeat|str_replace|str_rot13|str_shuffle|str_split|str_word_count|strcasecmp|strchr|strcmp|strcoll|strcspn|stream_bucket_append|stream_bucket_make_writeable|stream_bucket_new|stream_bucket_prepend|stream_context_create|stream_context_get_default|stream_context_get_options|stream_context_get_params|stream_context_set_default|stream_context_set_option|stream_context_set_params|stream_copy_to_stream|stream_encoding|stream_filter_append|stream_filter_prepend|stream_filter_register|stream_filter_remove|stream_get_contents|stream_get_filters|stream_get_line|stream_get_meta_data|stream_get_transports|stream_get_wrappers|stream_is_local|stream_notification_callback|stream_register_wrapper|stream_resolve_include_path|stream_select|stream_set_blocking|stream_set_read_buffer|stream_set_timeout|stream_set_write_buffer|stream_socket_accept|stream_socket_client|stream_socket_enable_crypto|stream_socket_get_name|stream_socket_pair|stream_socket_recvfrom|stream_socket_sendto|stream_socket_server|stream_socket_shutdown|stream_supports_lock|stream_wrapper_register|stream_wrapper_restore|stream_wrapper_unregister|streamwrapper|strftime|strip_tags|stripcslashes|stripos|stripslashes|stristr|strlen|strnatcasecmp|strnatcmp|strncasecmp|strncmp|strpbrk|strpos|strptime|strrchr|strrev|strripos|strrpos|strspn|strstr|strtok|strtolower|strtotime|strtoupper|strtr|strval|substr|substr_compare|substr_count|substr_replace|svm|svmmodel|svn_add|svn_auth_get_parameter|svn_auth_set_parameter|svn_blame|svn_cat|svn_checkout|svn_cleanup|svn_client_version|svn_commit|svn_delete|svn_diff|svn_export|svn_fs_abort_txn|svn_fs_apply_text|svn_fs_begin_txn2|svn_fs_change_node_prop|svn_fs_check_path|svn_fs_contents_changed|svn_fs_copy|svn_fs_delete|svn_fs_dir_entries|svn_fs_file_contents|svn_fs_file_length|svn_fs_is_dir|svn_fs_is_file|svn_fs_make_dir|svn_fs_make_file|svn_fs_node_created_rev|svn_fs_node_prop|svn_fs_props_changed|svn_fs_revision_prop|svn_fs_revision_root|svn_fs_txn_root|svn_fs_youngest_rev|svn_import|svn_log|svn_ls|svn_mkdir|svn_repos_create|svn_repos_fs|svn_repos_fs_begin_txn_for_commit|svn_repos_fs_commit_txn|svn_repos_hotcopy|svn_repos_open|svn_repos_recover|svn_revert|svn_status|svn_update|swf_actiongeturl|swf_actiongotoframe|swf_actiongotolabel|swf_actionnextframe|swf_actionplay|swf_actionprevframe|swf_actionsettarget|swf_actionstop|swf_actiontogglequality|swf_actionwaitforframe|swf_addbuttonrecord|swf_addcolor|swf_closefile|swf_definebitmap|swf_definefont|swf_defineline|swf_definepoly|swf_definerect|swf_definetext|swf_endbutton|swf_enddoaction|swf_endshape|swf_endsymbol|swf_fontsize|swf_fontslant|swf_fonttracking|swf_getbitmapinfo|swf_getfontinfo|swf_getframe|swf_labelframe|swf_lookat|swf_modifyobject|swf_mulcolor|swf_nextid|swf_oncondition|swf_openfile|swf_ortho|swf_ortho2|swf_perspective|swf_placeobject|swf_polarview|swf_popmatrix|swf_posround|swf_pushmatrix|swf_removeobject|swf_rotate|swf_scale|swf_setfont|swf_setframe|swf_shapearc|swf_shapecurveto|swf_shapecurveto3|swf_shapefillbitmapclip|swf_shapefillbitmaptile|swf_shapefilloff|swf_shapefillsolid|swf_shapelinesolid|swf_shapelineto|swf_shapemoveto|swf_showframe|swf_startbutton|swf_startdoaction|swf_startshape|swf_startsymbol|swf_textwidth|swf_translate|swf_viewport|swfaction|swfbitmap|swfbutton|swfdisplayitem|swffill|swffont|swffontchar|swfgradient|swfmorph|swfmovie|swfprebuiltclip|swfshape|swfsound|swfsoundinstance|swfsprite|swftext|swftextfield|swfvideostream|swish_construct|swish_getmetalist|swish_getpropertylist|swish_prepare|swish_query|swishresult_getmetalist|swishresult_stem|swishresults_getparsedwords|swishresults_getremovedstopwords|swishresults_nextresult|swishresults_seekresult|swishsearch_execute|swishsearch_resetlimit|swishsearch_setlimit|swishsearch_setphrasedelimiter|swishsearch_setsort|swishsearch_setstructure|sybase_affected_rows|sybase_close|sybase_connect|sybase_data_seek|sybase_deadlock_retry_count|sybase_fetch_array|sybase_fetch_assoc|sybase_fetch_field|sybase_fetch_object|sybase_fetch_row|sybase_field_seek|sybase_free_result|sybase_get_last_message|sybase_min_client_severity|sybase_min_error_severity|sybase_min_message_severity|sybase_min_server_severity|sybase_num_fields|sybase_num_rows|sybase_pconnect|sybase_query|sybase_result|sybase_select_db|sybase_set_message_handler|sybase_unbuffered_query|symlink|sys_get_temp_dir|sys_getloadavg|syslog|system|tag|tan|tanh|tcpwrap_check|tempnam|textdomain|tidy|tidy_access_count|tidy_config_count|tidy_diagnose|tidy_error_count|tidy_get_error_buffer|tidy_get_output|tidy_load_config|tidy_reset_config|tidy_save_config|tidy_set_encoding|tidy_setopt|tidy_warning_count|tidynode|time|time_nanosleep|time_sleep_until|timezone_abbreviations_list|timezone_identifiers_list|timezone_location_get|timezone_name_from_abbr|timezone_name_get|timezone_offset_get|timezone_open|timezone_transitions_get|timezone_version_get|tmpfile|token_get_all|token_name|tokyotyrant|tokyotyrantquery|tokyotyranttable|tostring|tostring|touch|trait_exists|transliterator|traversable|trigger_error|trim|uasort|ucfirst|ucwords|udm_add_search_limit|udm_alloc_agent|udm_alloc_agent_array|udm_api_version|udm_cat_list|udm_cat_path|udm_check_charset|udm_check_stored|udm_clear_search_limits|udm_close_stored|udm_crc32|udm_errno|udm_error|udm_find|udm_free_agent|udm_free_ispell_data|udm_free_res|udm_get_doc_count|udm_get_res_field|udm_get_res_param|udm_hash32|udm_load_ispell_data|udm_open_stored|udm_set_agent_param|uksort|umask|underflowexception|unexpectedvalueexception|uniqid|unixtojd|unlink|unpack|unregister_tick_function|unserialize|unset|urldecode|urlencode|use_soap_error_handler|user_error|usleep|usort|utf8_decode|utf8_encode|v8js|v8jsexception|var_dump|var_export|variant|variant_abs|variant_add|variant_and|variant_cast|variant_cat|variant_cmp|variant_date_from_timestamp|variant_date_to_timestamp|variant_div|variant_eqv|variant_fix|variant_get_type|variant_idiv|variant_imp|variant_int|variant_mod|variant_mul|variant_neg|variant_not|variant_or|variant_pow|variant_round|variant_set|variant_set_type|variant_sub|variant_xor|version_compare|vfprintf|virtual|vpopmail_add_alias_domain|vpopmail_add_alias_domain_ex|vpopmail_add_domain|vpopmail_add_domain_ex|vpopmail_add_user|vpopmail_alias_add|vpopmail_alias_del|vpopmail_alias_del_domain|vpopmail_alias_get|vpopmail_alias_get_all|vpopmail_auth_user|vpopmail_del_domain|vpopmail_del_domain_ex|vpopmail_del_user|vpopmail_error|vpopmail_passwd|vpopmail_set_user_quota|vprintf|vsprintf|w32api_deftype|w32api_init_dtype|w32api_invoke_function|w32api_register_function|w32api_set_call_method|wddx_add_vars|wddx_deserialize|wddx_packet_end|wddx_packet_start|wddx_serialize_value|wddx_serialize_vars|win32_continue_service|win32_create_service|win32_delete_service|win32_get_last_control_message|win32_pause_service|win32_ps_list_procs|win32_ps_stat_mem|win32_ps_stat_proc|win32_query_service_status|win32_set_service_status|win32_start_service|win32_start_service_ctrl_dispatcher|win32_stop_service|wincache_fcache_fileinfo|wincache_fcache_meminfo|wincache_lock|wincache_ocache_fileinfo|wincache_ocache_meminfo|wincache_refresh_if_changed|wincache_rplist_fileinfo|wincache_rplist_meminfo|wincache_scache_info|wincache_scache_meminfo|wincache_ucache_add|wincache_ucache_cas|wincache_ucache_clear|wincache_ucache_dec|wincache_ucache_delete|wincache_ucache_exists|wincache_ucache_get|wincache_ucache_inc|wincache_ucache_info|wincache_ucache_meminfo|wincache_ucache_set|wincache_unlock|wordwrap|xattr_get|xattr_list|xattr_remove|xattr_set|xattr_supported|xdiff_file_bdiff|xdiff_file_bdiff_size|xdiff_file_bpatch|xdiff_file_diff|xdiff_file_diff_binary|xdiff_file_merge3|xdiff_file_patch|xdiff_file_patch_binary|xdiff_file_rabdiff|xdiff_string_bdiff|xdiff_string_bdiff_size|xdiff_string_bpatch|xdiff_string_diff|xdiff_string_diff_binary|xdiff_string_merge3|xdiff_string_patch|xdiff_string_patch_binary|xdiff_string_rabdiff|xhprof_disable|xhprof_enable|xhprof_sample_disable|xhprof_sample_enable|xml_error_string|xml_get_current_byte_index|xml_get_current_column_number|xml_get_current_line_number|xml_get_error_code|xml_parse|xml_parse_into_struct|xml_parser_create|xml_parser_create_ns|xml_parser_free|xml_parser_get_option|xml_parser_set_option|xml_set_character_data_handler|xml_set_default_handler|xml_set_element_handler|xml_set_end_namespace_decl_handler|xml_set_external_entity_ref_handler|xml_set_notation_decl_handler|xml_set_object|xml_set_processing_instruction_handler|xml_set_start_namespace_decl_handler|xml_set_unparsed_entity_decl_handler|xmlreader|xmlrpc_decode|xmlrpc_decode_request|xmlrpc_encode|xmlrpc_encode_request|xmlrpc_get_type|xmlrpc_is_fault|xmlrpc_parse_method_descriptions|xmlrpc_server_add_introspection_data|xmlrpc_server_call_method|xmlrpc_server_create|xmlrpc_server_destroy|xmlrpc_server_register_introspection_callback|xmlrpc_server_register_method|xmlrpc_set_type|xmlwriter_end_attribute|xmlwriter_end_cdata|xmlwriter_end_comment|xmlwriter_end_document|xmlwriter_end_dtd|xmlwriter_end_dtd_attlist|xmlwriter_end_dtd_element|xmlwriter_end_dtd_entity|xmlwriter_end_element|xmlwriter_end_pi|xmlwriter_flush|xmlwriter_full_end_element|xmlwriter_open_memory|xmlwriter_open_uri|xmlwriter_output_memory|xmlwriter_set_indent|xmlwriter_set_indent_string|xmlwriter_start_attribute|xmlwriter_start_attribute_ns|xmlwriter_start_cdata|xmlwriter_start_comment|xmlwriter_start_document|xmlwriter_start_dtd|xmlwriter_start_dtd_attlist|xmlwriter_start_dtd_element|xmlwriter_start_dtd_entity|xmlwriter_start_element|xmlwriter_start_element_ns|xmlwriter_start_pi|xmlwriter_text|xmlwriter_write_attribute|xmlwriter_write_attribute_ns|xmlwriter_write_cdata|xmlwriter_write_comment|xmlwriter_write_dtd|xmlwriter_write_dtd_attlist|xmlwriter_write_dtd_element|xmlwriter_write_dtd_entity|xmlwriter_write_element|xmlwriter_write_element_ns|xmlwriter_write_pi|xmlwriter_write_raw|xpath_eval|xpath_eval_expression|xpath_new_context|xpath_register_ns|xpath_register_ns_auto|xptr_eval|xptr_new_context|xslt_backend_info|xslt_backend_name|xslt_backend_version|xslt_create|xslt_errno|xslt_error|xslt_free|xslt_getopt|xslt_process|xslt_set_base|xslt_set_encoding|xslt_set_error_handler|xslt_set_log|xslt_set_object|xslt_set_sax_handler|xslt_set_sax_handlers|xslt_set_scheme_handler|xslt_set_scheme_handlers|xslt_setopt|xsltprocessor|yaml_emit|yaml_emit_file|yaml_parse|yaml_parse_file|yaml_parse_url|yaz_addinfo|yaz_ccl_conf|yaz_ccl_parse|yaz_close|yaz_connect|yaz_database|yaz_element|yaz_errno|yaz_error|yaz_es|yaz_es_result|yaz_get_option|yaz_hits|yaz_itemorder|yaz_present|yaz_range|yaz_record|yaz_scan|yaz_scan_result|yaz_schema|yaz_search|yaz_set_option|yaz_sort|yaz_syntax|yaz_wait|yp_all|yp_cat|yp_err_string|yp_errno|yp_first|yp_get_default_domain|yp_master|yp_match|yp_next|yp_order|zend_logo_guid|zend_thread_id|zend_version|zip_close|zip_entry_close|zip_entry_compressedsize|zip_entry_compressionmethod|zip_entry_filesize|zip_entry_name|zip_entry_open|zip_entry_read|zip_open|zip_read|ziparchive|ziparchive_addemptydir|ziparchive_addfile|ziparchive_addfromstring|ziparchive_close|ziparchive_deleteindex|ziparchive_deletename|ziparchive_extractto|ziparchive_getarchivecomment|ziparchive_getcommentindex|ziparchive_getcommentname|ziparchive_getfromindex|ziparchive_getfromname|ziparchive_getnameindex|ziparchive_getstatusstring|ziparchive_getstream|ziparchive_locatename|ziparchive_open|ziparchive_renameindex|ziparchive_renamename|ziparchive_setCommentName|ziparchive_setarchivecomment|ziparchive_setcommentindex|ziparchive_statindex|ziparchive_statname|ziparchive_unchangeall|ziparchive_unchangearchive|ziparchive_unchangeindex|ziparchive_unchangename|zlib_get_coding_type".split("|")),n=i.arrayToMap("abstract|and|array|as|break|case|catch|class|clone|const|continue|declare|default|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|final|for|foreach|function|global|goto|if|implements|interface|instanceof|namespace|new|or|private|protected|public|static|switch|throw|trait|try|use|var|while|xor".split("|")),r=i.arrayToMap("die|echo|empty|exit|eval|include|include_once|isset|list|require|require_once|return|print|unset".split("|")),o=i.arrayToMap("true|TRUE|false|FALSE|null|NULL|__CLASS__|__DIR__|__FILE__|__LINE__|__METHOD__|__FUNCTION__|__NAMESPACE__".split("|")),u=i.arrayToMap("$GLOBALS|$_SERVER|$_GET|$_POST|$_FILES|$_REQUEST|$_SESSION|$_ENV|$_COOKIE|$php_errormsg|$HTTP_RAW_POST_DATA|$http_response_header|$argc|$argv".split("|")),a=i.arrayToMap("key_exists|cairo_matrix_create_scale|cairo_matrix_create_translate|call_user_method|call_user_method_array|com_addref|com_get|com_invoke|com_isenum|com_load|com_release|com_set|connection_timeout|cubrid_load_from_glo|cubrid_new_glo|cubrid_save_to_glo|cubrid_send_glo|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|hw_documentattributes|hw_documentbodytag|hw_documentsize|hw_outputdocument|imagedashedline|maxdb_bind_param|maxdb_bind_result|maxdb_client_encoding|maxdb_close_long_data|maxdb_execute|maxdb_fetch|maxdb_get_metadata|maxdb_param_count|maxdb_send_long_data|mcrypt_ecb|mcrypt_generic_end|mime_content_type|mysql_createdb|mysql_dbname|mysql_db_query|mysql_drop_db|mysql_dropdb|mysql_escape_string|mysql_fieldflags|mysql_fieldflags|mysql_fieldname|mysql_fieldtable|mysql_fieldtype|mysql_freeresult|mysql_listdbs|mysql_list_fields|mysql_listfields|mysql_list_tables|mysql_listtables|mysql_numfields|mysql_numrows|mysql_selectdb|mysql_tablename|mysqli_bind_param|mysqli_bind_result|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_slave_query|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|PDF_add_annotation|PDF_add_bookmark|PDF_add_launchlink|PDF_add_locallink|PDF_add_note|PDF_add_outline|PDF_add_pdflink|PDF_add_weblink|PDF_attach_file|PDF_begin_page|PDF_begin_template|PDF_close_pdi|PDF_close|PDF_findfont|PDF_get_font|PDF_get_fontname|PDF_get_fontsize|PDF_get_image_height|PDF_get_image_width|PDF_get_majorversion|PDF_get_minorversion|PDF_get_pdi_parameter|PDF_get_pdi_value|PDF_open_ccitt|PDF_open_file|PDF_open_gif|PDF_open_image_file|PDF_open_image|PDF_open_jpeg|PDF_open_pdi|PDF_open_tiff|PDF_place_image|PDF_place_pdi_page|PDF_set_border_color|PDF_set_border_dash|PDF_set_border_style|PDF_set_char_spacing|PDF_set_duration|PDF_set_horiz_scaling|PDF_set_info_author|PDF_set_info_creator|PDF_set_info_keywords|PDF_set_info_subject|PDF_set_info_title|PDF_set_leading|PDF_set_text_matrix|PDF_set_text_rendering|PDF_set_text_rise|PDF_set_word_spacing|PDF_setgray_fill|PDF_setgray_stroke|PDF_setgray|PDF_setpolydash|PDF_setrgbcolor_fill|PDF_setrgbcolor_stroke|PDF_setrgbcolor|PDF_show_boxed|php_check_syntax|px_set_tablename|px_set_targetencoding|runkit_sandbox_output_handler|session_is_registered|session_register|session_unregisterset_magic_quotes_runtime|magic_quotes_runtime|set_socket_blocking|socket_set_blocking|set_socket_timeout|socket_set_timeout|split|spliti|sql_regcase".split("|")),f=i.arrayToMap("cfunction|old_function".split("|")),l=i.arrayToMap([]);this.$rules={start:[{token:"comment",regex:/(?:#|\/\/)(?:[^?]|\?[^>])*/},e.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/][gimy]*\\s*(?=[).,;]|$)"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"'",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"\\b(?:DEFAULT_INCLUDE_PATH|E_(?:ALL|CO(?:MPILE_(?:ERROR|WARNING)|RE_(?:ERROR|WARNING))|ERROR|NOTICE|PARSE|STRICT|USER_(?:ERROR|NOTICE|WARNING)|WARNING)|P(?:EAR_(?:EXTENSION_DIR|INSTALL_DIR)|HP_(?:BINDIR|CONFIG_FILE_(?:PATH|SCAN_DIR)|DATADIR|E(?:OL|XTENSION_DIR)|INT_(?:MAX|SIZE)|L(?:IBDIR|OCALSTATEDIR)|O(?:S|UTPUT_HANDLER_(?:CONT|END|START))|PREFIX|S(?:API|HLIB_SUFFIX|YSCONFDIR)|VERSION))|__COMPILER_HALT_OFFSET__)\\b"},{token:["keyword","text","support.class"],regex:"\\b(new)(\\s+)(\\w+)"},{token:["support.class","keyword.operator"],regex:"\\b(\\w+)(::)"},{token:"constant.language",regex:"\\b(?:A(?:B(?:DAY_(?:1|2|3|4|5|6|7)|MON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9))|LT_DIGITS|M_STR|SSERT_(?:ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(?:ASE_(?:LOWER|UPPER)|HAR_MAX|O(?:DESET|NNECTION_(?:ABORTED|NORMAL|TIMEOUT)|UNT_(?:NORMAL|RECURSIVE))|R(?:EDITS_(?:ALL|DOCS|FULLPAGE|G(?:ENERAL|ROUP)|MODULES|QA|SAPI)|NCYSTR|YPT_(?:BLOWFISH|EXT_DES|MD5|S(?:ALT_LENGTH|TD_DES)))|URRENCY_SYMBOL)|D(?:AY_(?:1|2|3|4|5|6|7)|ECIMAL_POINT|IRECTORY_SEPARATOR|_(?:FMT|T_FMT))|E(?:NT_(?:COMPAT|NOQUOTES|QUOTES)|RA(?:_(?:D_(?:FMT|T_FMT)|T_FMT|YEAR)|)|XTR_(?:IF_EXISTS|OVERWRITE|PREFIX_(?:ALL|I(?:F_EXISTS|NVALID)|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(?:ENTITIES|SPECIALCHARS)|IN(?:FO_(?:ALL|C(?:ONFIGURATION|REDITS)|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(?:ALL|PERDIR|SYSTEM|USER)|T_(?:CURR_SYMBOL|FRAC_DIGITS))|L(?:C_(?:ALL|C(?:OLLATE|TYPE)|M(?:ESSAGES|ONETARY)|NUMERIC|TIME)|O(?:CK_(?:EX|NB|SH|UN)|G_(?:A(?:LERT|UTH(?:PRIV|))|C(?:ONS|R(?:IT|ON))|D(?:AEMON|EBUG)|E(?:MERG|RR)|INFO|KERN|L(?:OCAL(?:0|1|2|3|4|5|6|7)|PR)|MAIL|N(?:DELAY|EWS|O(?:TICE|WAIT))|ODELAY|P(?:ERROR|ID)|SYSLOG|U(?:SER|UCP)|WARNING)))|M(?:ON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|_(?:1_PI|2_(?:PI|SQRTPI)|E|L(?:N(?:10|2)|OG(?:10E|2E))|PI(?:_(?:2|4)|)|SQRT(?:1_2|2)))|N(?:EGATIVE_SIGN|O(?:EXPR|STR)|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|P(?:ATH(?:INFO_(?:BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|RADIXCHAR|S(?:EEK_(?:CUR|END|SET)|ORT_(?:ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(?:BOTH|LEFT|RIGHT))|T(?:HOUS(?:ANDS_SEP|EP)|_FMT(?:_AMPM|))|YES(?:EXPR|STR)|STD(?:IN|OUT|ERR))\\b"},{token:function(e){return n.hasOwnProperty(e)?"keyword":o.hasOwnProperty(e)?"constant.language":u.hasOwnProperty(e)?"variable.language":l.hasOwnProperty(e)?"invalid.illegal":t.hasOwnProperty(e)?"support.function":e=="debugger"?"invalid.deprecated":e.match(/^(\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*|self|parent)$/)?"variable":"identifier"},regex:/[a-zA-Z_$\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/},{onMatch:function(e,t,n){e=e.substr(3);if(e[0]=="'"||e[0]=='"')e=e.slice(1,-1);return n.unshift(this.next,e),"markup.list"},regex:/<<<(?:\w+|'\w+'|"\w+")$/,next:"heredoc"},{token:"keyword.operator",regex:"::|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|!=|!==|<=|>=|=>|<<=|>>=|>>>=|<>|<|>|=|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],heredoc:[{onMatch:function(e,t,n){return n[1]!=e?"string":(n.shift(),n.shift(),"markup.list")},regex:"^\\w+(?=;?$)",next:"start"},{token:"string",regex:".*"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:'\\\\(?:[nrtvef\\\\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})'},{token:"variable",regex:/\$[\w]+(?:\[[\w\]+]|[=\-]>\w+)?/},{token:"variable",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(a,o);var f=function(){u.call(this);var e=[{token:"support.php_tag",regex:"<\\?(?:php|=)?",push:"php-start"}],t=[{token:"support.php_tag",regex:"\\?>",next:"pop"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(a,"php-",t,["start"]),this.normalizeRules()};r.inherits(f,u),t.PhpHighlightRules=f,t.PhpLangHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/php_completions",["require","exports","module"],function(e,t,n){"use strict";function s(e,t){return e.type.lastIndexOf(t)>-1}var r={abs:["int abs(int number)","Return the absolute value of the number"],acos:["float acos(float number)","Return the arc cosine of the number in radians"],acosh:["float acosh(float number)","Returns the inverse hyperbolic cosine of the number, i.e. the value whose hyperbolic cosine is number"],addGlob:["bool addGlob(string pattern[,int flags [, array options]])","Add files matching the glob pattern. See php's glob for the pattern syntax."],addPattern:["bool addPattern(string pattern[, string path [, array options]])","Add files matching the pcre pattern. See php's pcre for the pattern syntax."],addcslashes:["string addcslashes(string str, string charlist)","Escapes all chars mentioned in charlist with backslash. It creates octal representations if asked to backslash characters with 8th bit set or with ASCII<32 (except '\\n', '\\r', '\\t' etc...)"],addslashes:["string addslashes(string str)","Escapes single quote, double quotes and backslash characters in a string with backslashes"],apache_child_terminate:["bool apache_child_terminate(void)","Terminate apache process after this request"],apache_get_modules:["array apache_get_modules(void)","Get a list of loaded Apache modules"],apache_get_version:["string apache_get_version(void)","Fetch Apache version"],apache_getenv:["bool apache_getenv(string variable [, bool walk_to_top])","Get an Apache subprocess_env variable"],apache_lookup_uri:["object apache_lookup_uri(string URI)","Perform a partial request of the given URI to obtain information about it"],apache_note:["string apache_note(string note_name [, string note_value])","Get and set Apache request notes"],apache_request_auth_name:["string apache_request_auth_name()",""],apache_request_auth_type:["string apache_request_auth_type()",""],apache_request_discard_request_body:["long apache_request_discard_request_body()",""],apache_request_err_headers_out:["array apache_request_err_headers_out([{string name|array list} [, string value [, bool replace = false]]])","* fetch all headers that go out in case of an error or a subrequest"],apache_request_headers:["array apache_request_headers(void)","Fetch all HTTP request headers"],apache_request_headers_in:["array apache_request_headers_in()","* fetch all incoming request headers"],apache_request_headers_out:["array apache_request_headers_out([{string name|array list} [, string value [, bool replace = false]]])","* fetch all outgoing request headers"],apache_request_is_initial_req:["bool apache_request_is_initial_req()",""],apache_request_log_error:["boolean apache_request_log_error(string message, [long facility])",""],apache_request_meets_conditions:["long apache_request_meets_conditions()",""],apache_request_remote_host:["int apache_request_remote_host([int type])",""],apache_request_run:["long apache_request_run()","This is a wrapper for ap_sub_run_req and ap_destory_sub_req. It takes sub_request, runs it, destroys it, and returns it's status."],apache_request_satisfies:["long apache_request_satisfies()",""],apache_request_server_port:["int apache_request_server_port()",""],apache_request_set_etag:["void apache_request_set_etag()",""],apache_request_set_last_modified:["void apache_request_set_last_modified()",""],apache_request_some_auth_required:["bool apache_request_some_auth_required()",""],apache_request_sub_req_lookup_file:["object apache_request_sub_req_lookup_file(string file)","Returns sub-request for the specified file. You would need to run it yourself with run()."],apache_request_sub_req_lookup_uri:["object apache_request_sub_req_lookup_uri(string uri)","Returns sub-request for the specified uri. You would need to run it yourself with run()"],apache_request_sub_req_method_uri:["object apache_request_sub_req_method_uri(string method, string uri)","Returns sub-request for the specified file. You would need to run it yourself with run()."],apache_request_update_mtime:["long apache_request_update_mtime([int dependency_mtime])",""],apache_reset_timeout:["bool apache_reset_timeout(void)","Reset the Apache write timer"],apache_response_headers:["array apache_response_headers(void)","Fetch all HTTP response headers"],apache_setenv:["bool apache_setenv(string variable, string value [, bool walk_to_top])","Set an Apache subprocess_env variable"],array_change_key_case:["array array_change_key_case(array input [, int case=CASE_LOWER])","Retuns an array with all string keys lowercased [or uppercased]"],array_chunk:["array array_chunk(array input, int size [, bool preserve_keys])","Split array into chunks"],array_combine:["array array_combine(array keys, array values)","Creates an array by using the elements of the first parameter as keys and the elements of the second as the corresponding values"],array_count_values:["array array_count_values(array input)","Return the value as key and the frequency of that value in input as value"],array_diff:["array array_diff(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have values which are not present in any of the others arguments."],array_diff_assoc:["array array_diff_assoc(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have values which are not present in any of the others arguments but do additional checks whether the keys are equal"],array_diff_key:["array array_diff_key(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have keys which are not present in any of the others arguments. This function is like array_diff() but works on the keys instead of the values. The associativity is preserved."],array_diff_uassoc:["array array_diff_uassoc(array arr1, array arr2 [, array ...], callback data_comp_func)","Returns the entries of arr1 that have values which are not present in any of the others arguments but do additional checks whether the keys are equal. Elements are compared by user supplied function."],array_diff_ukey:["array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)","Returns the entries of arr1 that have keys which are not present in any of the others arguments. User supplied function is used for comparing the keys. This function is like array_udiff() but works on the keys instead of the values. The associativity is preserved."],array_fill:["array array_fill(int start_key, int num, mixed val)","Create an array containing num elements starting with index start_key each initialized to val"],array_fill_keys:["array array_fill_keys(array keys, mixed val)","Create an array using the elements of the first parameter as keys each initialized to val"],array_filter:["array array_filter(array input [, mixed callback])","Filters elements from the array via the callback."],array_flip:["array array_flip(array input)","Return array with key <-> value flipped"],array_intersect:["array array_intersect(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have values which are present in all the other arguments"],array_intersect_assoc:["array array_intersect_assoc(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have values which are present in all the other arguments. Keys are used to do more restrictive check"],array_intersect_key:["array array_intersect_key(array arr1, array arr2 [, array ...])","Returns the entries of arr1 that have keys which are present in all the other arguments. Kind of equivalent to array_diff(array_keys($arr1), array_keys($arr2)[,array_keys(...)]). Equivalent of array_intersect_assoc() but does not do compare of the data."],array_intersect_uassoc:["array array_intersect_uassoc(array arr1, array arr2 [, array ...], callback key_compare_func)","Returns the entries of arr1 that have values which are present in all the other arguments. Keys are used to do more restrictive check and they are compared by using an user-supplied callback."],array_intersect_ukey:["array array_intersect_ukey(array arr1, array arr2 [, array ...], callback key_compare_func)","Returns the entries of arr1 that have keys which are present in all the other arguments. Kind of equivalent to array_diff(array_keys($arr1), array_keys($arr2)[,array_keys(...)]). The comparison of the keys is performed by a user supplied function. Equivalent of array_intersect_uassoc() but does not do compare of the data."],array_key_exists:["bool array_key_exists(mixed key, array search)","Checks if the given key or index exists in the array"],array_keys:["array array_keys(array input [, mixed search_value[, bool strict]])","Return just the keys from the input array, optionally only for the specified search_value"],array_map:["array array_map(mixed callback, array input1 [, array input2 ,...])","Applies the callback to the elements in given arrays."],array_merge:["array array_merge(array arr1, array arr2 [, array ...])","Merges elements from passed arrays into one array"],array_merge_recursive:["array array_merge_recursive(array arr1, array arr2 [, array ...])","Recursively merges elements from passed arrays into one array"],array_multisort:["bool array_multisort(array ar1 [, SORT_ASC|SORT_DESC [, SORT_REGULAR|SORT_NUMERIC|SORT_STRING]] [, array ar2 [, SORT_ASC|SORT_DESC [, SORT_REGULAR|SORT_NUMERIC|SORT_STRING]], ...])","Sort multiple arrays at once similar to how ORDER BY clause works in SQL"],array_pad:["array array_pad(array input, int pad_size, mixed pad_value)","Returns a copy of input array padded with pad_value to size pad_size"],array_pop:["mixed array_pop(array stack)","Pops an element off the end of the array"],array_product:["mixed array_product(array input)","Returns the product of the array entries"],array_push:["int array_push(array stack, mixed var [, mixed ...])","Pushes elements onto the end of the array"],array_rand:["mixed array_rand(array input [, int num_req])","Return key/keys for random entry/entries in the array"],array_reduce:["mixed array_reduce(array input, mixed callback [, mixed initial])","Iteratively reduce the array to a single value via the callback."],array_replace:["array array_replace(array arr1, array arr2 [, array ...])","Replaces elements from passed arrays into one array"],array_replace_recursive:["array array_replace_recursive(array arr1, array arr2 [, array ...])","Recursively replaces elements from passed arrays into one array"],array_reverse:["array array_reverse(array input [, bool preserve keys])","Return input as a new array with the order of the entries reversed"],array_search:["mixed array_search(mixed needle, array haystack [, bool strict])","Searches the array for a given value and returns the corresponding key if successful"],array_shift:["mixed array_shift(array stack)","Pops an element off the beginning of the array"],array_slice:["array array_slice(array input, int offset [, int length [, bool preserve_keys]])","Returns elements specified by offset and length"],array_splice:["array array_splice(array input, int offset [, int length [, array replacement]])","Removes the elements designated by offset and length and replace them with supplied array"],array_sum:["mixed array_sum(array input)","Returns the sum of the array entries"],array_udiff:["array array_udiff(array arr1, array arr2 [, array ...], callback data_comp_func)","Returns the entries of arr1 that have values which are not present in any of the others arguments. Elements are compared by user supplied function."],array_udiff_assoc:["array array_udiff_assoc(array arr1, array arr2 [, array ...], callback key_comp_func)","Returns the entries of arr1 that have values which are not present in any of the others arguments but do additional checks whether the keys are equal. Keys are compared by user supplied function."],array_udiff_uassoc:["array array_udiff_uassoc(array arr1, array arr2 [, array ...], callback data_comp_func, callback key_comp_func)","Returns the entries of arr1 that have values which are not present in any of the others arguments but do additional checks whether the keys are equal. Keys and elements are compared by user supplied functions."],array_uintersect:["array array_uintersect(array arr1, array arr2 [, array ...], callback data_compare_func)","Returns the entries of arr1 that have values which are present in all the other arguments. Data is compared by using an user-supplied callback."],array_uintersect_assoc:["array array_uintersect_assoc(array arr1, array arr2 [, array ...], callback data_compare_func)","Returns the entries of arr1 that have values which are present in all the other arguments. Keys are used to do more restrictive check. Data is compared by using an user-supplied callback."],array_uintersect_uassoc:["array array_uintersect_uassoc(array arr1, array arr2 [, array ...], callback data_compare_func, callback key_compare_func)","Returns the entries of arr1 that have values which are present in all the other arguments. Keys are used to do more restrictive check. Both data and keys are compared by using user-supplied callbacks."],array_unique:["array array_unique(array input [, int sort_flags])","Removes duplicate values from array"],array_unshift:["int array_unshift(array stack, mixed var [, mixed ...])","Pushes elements onto the beginning of the array"],array_values:["array array_values(array input)","Return just the values from the input array"],array_walk:["bool array_walk(array input, string funcname [, mixed userdata])","Apply a user function to every member of an array"],array_walk_recursive:["bool array_walk_recursive(array input, string funcname [, mixed userdata])","Apply a user function recursively to every member of an array"],arsort:["bool arsort(array &array_arg [, int sort_flags])","Sort an array in reverse order and maintain index association"],asin:["float asin(float number)","Returns the arc sine of the number in radians"],asinh:["float asinh(float number)","Returns the inverse hyperbolic sine of the number, i.e. the value whose hyperbolic sine is number"],asort:["bool asort(array &array_arg [, int sort_flags])","Sort an array and maintain index association"],assert:["int assert(string|bool assertion)","Checks if assertion is false"],assert_options:["mixed assert_options(int what [, mixed value])","Set/get the various assert flags"],atan:["float atan(float number)","Returns the arc tangent of the number in radians"],atan2:["float atan2(float y, float x)","Returns the arc tangent of y/x, with the resulting quadrant determined by the signs of y and x"],atanh:["float atanh(float number)","Returns the inverse hyperbolic tangent of the number, i.e. the value whose hyperbolic tangent is number"],attachIterator:["void attachIterator(Iterator iterator[, mixed info])","Attach a new iterator"],base64_decode:["string base64_decode(string str[, bool strict])","Decodes string using MIME base64 algorithm"],base64_encode:["string base64_encode(string str)","Encodes string using MIME base64 algorithm"],base_convert:["string base_convert(string number, int frombase, int tobase)","Converts a number in a string from any base <= 36 to any base <= 36"],basename:["string basename(string path [, string suffix])","Returns the filename component of the path"],bcadd:["string bcadd(string left_operand, string right_operand [, int scale])","Returns the sum of two arbitrary precision numbers"],bccomp:["int bccomp(string left_operand, string right_operand [, int scale])","Compares two arbitrary precision numbers"],bcdiv:["string bcdiv(string left_operand, string right_operand [, int scale])","Returns the quotient of two arbitrary precision numbers (division)"],bcmod:["string bcmod(string left_operand, string right_operand)","Returns the modulus of the two arbitrary precision operands"],bcmul:["string bcmul(string left_operand, string right_operand [, int scale])","Returns the multiplication of two arbitrary precision numbers"],bcpow:["string bcpow(string x, string y [, int scale])","Returns the value of an arbitrary precision number raised to the power of another"],bcpowmod:["string bcpowmod(string x, string y, string mod [, int scale])","Returns the value of an arbitrary precision number raised to the power of another reduced by a modulous"],bcscale:["bool bcscale(int scale)","Sets default scale parameter for all bc math functions"],bcsqrt:["string bcsqrt(string operand [, int scale])","Returns the square root of an arbitray precision number"],bcsub:["string bcsub(string left_operand, string right_operand [, int scale])","Returns the difference between two arbitrary precision numbers"],bin2hex:["string bin2hex(string data)","Converts the binary representation of data to hex"],bind_textdomain_codeset:["string bind_textdomain_codeset (string domain, string codeset)","Specify the character encoding in which the messages from the DOMAIN message catalog will be returned."],bindec:["int bindec(string binary_number)","Returns the decimal equivalent of the binary number"],bindtextdomain:["string bindtextdomain(string domain_name, string dir)","Bind to the text domain domain_name, looking for translations in dir. Returns the current domain"],birdstep_autocommit:["bool birdstep_autocommit(int index)",""],birdstep_close:["bool birdstep_close(int id)",""],birdstep_commit:["bool birdstep_commit(int index)",""],birdstep_connect:["int birdstep_connect(string server, string user, string pass)",""],birdstep_exec:["int birdstep_exec(int index, string exec_str)",""],birdstep_fetch:["bool birdstep_fetch(int index)",""],birdstep_fieldname:["string birdstep_fieldname(int index, int col)",""],birdstep_fieldnum:["int birdstep_fieldnum(int index)",""],birdstep_freeresult:["bool birdstep_freeresult(int index)",""],birdstep_off_autocommit:["bool birdstep_off_autocommit(int index)",""],birdstep_result:["mixed birdstep_result(int index, mixed col)",""],birdstep_rollback:["bool birdstep_rollback(int index)",""],bzcompress:["string bzcompress(string source [, int blocksize100k [, int workfactor]])","Compresses a string into BZip2 encoded data"],bzdecompress:["string bzdecompress(string source [, int small])","Decompresses BZip2 compressed data"],bzerrno:["int bzerrno(resource bz)","Returns the error number"],bzerror:["array bzerror(resource bz)","Returns the error number and error string in an associative array"],bzerrstr:["string bzerrstr(resource bz)","Returns the error string"],bzopen:["resource bzopen(string|int file|fp, string mode)","Opens a new BZip2 stream"],bzread:["string bzread(resource bz[, int length])","Reads up to length bytes from a BZip2 stream, or 1024 bytes if length is not specified"],cal_days_in_month:["int cal_days_in_month(int calendar, int month, int year)","Returns the number of days in a month for a given year and calendar"],cal_from_jd:["array cal_from_jd(int jd, int calendar)","Converts from Julian Day Count to a supported calendar and return extended information"],cal_info:["array cal_info([int calendar])","Returns information about a particular calendar"],cal_to_jd:["int cal_to_jd(int calendar, int month, int day, int year)","Converts from a supported calendar to Julian Day Count"],call_user_func:["mixed call_user_func(mixed function_name [, mixed parmeter] [, mixed ...])","Call a user function which is the first parameter"],call_user_func_array:["mixed call_user_func_array(string function_name, array parameters)","Call a user function which is the first parameter with the arguments contained in array"],call_user_method:["mixed call_user_method(string method_name, mixed object [, mixed parameter] [, mixed ...])","Call a user method on a specific object or class"],call_user_method_array:["mixed call_user_method_array(string method_name, mixed object, array params)","Call a user method on a specific object or class using a parameter array"],ceil:["float ceil(float number)","Returns the next highest integer value of the number"],chdir:["bool chdir(string directory)","Change the current directory"],checkdate:["bool checkdate(int month, int day, int year)","Returns true(1) if it is a valid date in gregorian calendar"],chgrp:["bool chgrp(string filename, mixed group)","Change file group"],chmod:["bool chmod(string filename, int mode)","Change file mode"],chown:["bool chown (string filename, mixed user)","Change file owner"],chr:["string chr(int ascii)","Converts ASCII code to a character"],chroot:["bool chroot(string directory)","Change root directory"],chunk_split:["string chunk_split(string str [, int chunklen [, string ending]])","Returns split line"],class_alias:["bool class_alias(string user_class_name , string alias_name [, bool autoload])","Creates an alias for user defined class"],class_exists:["bool class_exists(string classname [, bool autoload])","Checks if the class exists"],class_implements:["array class_implements(mixed what [, bool autoload ])","Return all classes and interfaces implemented by SPL"],class_parents:["array class_parents(object instance [, boolean autoload = true])","Return an array containing the names of all parent classes"],clearstatcache:["void clearstatcache([bool clear_realpath_cache[, string filename]])","Clear file stat cache"],closedir:["void closedir([resource dir_handle])","Close directory connection identified by the dir_handle"],closelog:["bool closelog(void)","Close connection to system logger"],collator_asort:["bool collator_asort( Collator $coll, array(string) $arr )","* Sort array using specified collator, maintaining index association."],collator_compare:["int collator_compare( Collator $coll, string $str1, string $str2 )","* Compare two strings."],collator_create:["Collator collator_create( string $locale )","* Create collator."],collator_get_attribute:["int collator_get_attribute( Collator $coll, int $attr )","* Get collation attribute value."],collator_get_error_code:["int collator_get_error_code( Collator $coll )","* Get collator's last error code."],collator_get_error_message:["string collator_get_error_message( Collator $coll )","* Get text description for collator's last error code."],collator_get_locale:["string collator_get_locale( Collator $coll, int $type )","* Gets the locale name of the collator."],collator_get_sort_key:["bool collator_get_sort_key( Collator $coll, string $str )","* Get a sort key for a string from a Collator. }}}"],collator_get_strength:["int collator_get_strength(Collator coll)","* Returns the current collation strength."],collator_set_attribute:["bool collator_set_attribute( Collator $coll, int $attr, int $val )","* Set collation attribute."],collator_set_strength:["bool collator_set_strength(Collator coll, int strength)","* Set the collation strength."],collator_sort:["bool collator_sort( Collator $coll, array(string) $arr [, int $sort_flags] )","* Sort array using specified collator."],collator_sort_with_sort_keys:["bool collator_sort_with_sort_keys( Collator $coll, array(string) $arr )","* Equivalent to standard PHP sort using Collator. * Uses ICU ucol_getSortKey for performance."],com_create_guid:["string com_create_guid()","Generate a globally unique identifier (GUID)"],com_event_sink:["bool com_event_sink(object comobject, object sinkobject [, mixed sinkinterface])","Connect events from a COM object to a PHP object"],com_get_active_object:["object com_get_active_object(string progid [, int code_page ])","Returns a handle to an already running instance of a COM object"],com_load_typelib:["bool com_load_typelib(string typelib_name [, int case_insensitive])","Loads a Typelibrary and registers its constants"],com_message_pump:["bool com_message_pump([int timeoutms])","Process COM messages, sleeping for up to timeoutms milliseconds"],com_print_typeinfo:["bool com_print_typeinfo(object comobject | string typelib, string dispinterface, bool wantsink)","Print out a PHP class definition for a dispatchable interface"],compact:["array compact(mixed var_names [, mixed ...])","Creates a hash containing variables and their values"],compose_locale:["static string compose_locale($array)","* Creates a locale by combining the parts of locale-ID passed * }}}"],confirm_extname_compiled:["string confirm_extname_compiled(string arg)","Return a string to confirm that the module is compiled in"],connection_aborted:["int connection_aborted(void)","Returns true if client disconnected"],connection_status:["int connection_status(void)","Returns the connection status bitfield"],constant:["mixed constant(string const_name)","Given the name of a constant this function will return the constant's associated value"],convert_cyr_string:["string convert_cyr_string(string str, string from, string to)","Convert from one Cyrillic character set to another"],convert_uudecode:["string convert_uudecode(string data)","decode a uuencoded string"],convert_uuencode:["string convert_uuencode(string data)","uuencode a string"],copy:["bool copy(string source_file, string destination_file [, resource context])","Copy a file"],cos:["float cos(float number)","Returns the cosine of the number in radians"],cosh:["float cosh(float number)","Returns the hyperbolic cosine of the number, defined as (exp(number) + exp(-number))/2"],count:["int count(mixed var [, int mode])","Count the number of elements in a variable (usually an array)"],count_chars:["mixed count_chars(string input [, int mode])","Returns info about what characters are used in input"],crc32:["string crc32(string str)","Calculate the crc32 polynomial of a string"],create_function:["string create_function(string args, string code)","Creates an anonymous function, and returns its name (funny, eh?)"],crypt:["string crypt(string str [, string salt])","Hash a string"],ctype_alnum:["bool ctype_alnum(mixed c)","Checks for alphanumeric character(s)"],ctype_alpha:["bool ctype_alpha(mixed c)","Checks for alphabetic character(s)"],ctype_cntrl:["bool ctype_cntrl(mixed c)","Checks for control character(s)"],ctype_digit:["bool ctype_digit(mixed c)","Checks for numeric character(s)"],ctype_graph:["bool ctype_graph(mixed c)","Checks for any printable character(s) except space"],ctype_lower:["bool ctype_lower(mixed c)","Checks for lowercase character(s)"],ctype_print:["bool ctype_print(mixed c)","Checks for printable character(s)"],ctype_punct:["bool ctype_punct(mixed c)","Checks for any printable character which is not whitespace or an alphanumeric character"],ctype_space:["bool ctype_space(mixed c)","Checks for whitespace character(s)"],ctype_upper:["bool ctype_upper(mixed c)","Checks for uppercase character(s)"],ctype_xdigit:["bool ctype_xdigit(mixed c)","Checks for character(s) representing a hexadecimal digit"],curl_close:["void curl_close(resource ch)","Close a cURL session"],curl_copy_handle:["resource curl_copy_handle(resource ch)","Copy a cURL handle along with all of it's preferences"],curl_errno:["int curl_errno(resource ch)","Return an integer containing the last error number"],curl_error:["string curl_error(resource ch)","Return a string contain the last error for the current session"],curl_exec:["bool curl_exec(resource ch)","Perform a cURL session"],curl_getinfo:["mixed curl_getinfo(resource ch [, int option])","Get information regarding a specific transfer"],curl_init:["resource curl_init([string url])","Initialize a cURL session"],curl_multi_add_handle:["int curl_multi_add_handle(resource mh, resource ch)","Add a normal cURL handle to a cURL multi handle"],curl_multi_close:["void curl_multi_close(resource mh)","Close a set of cURL handles"],curl_multi_exec:["int curl_multi_exec(resource mh, int &still_running)","Run the sub-connections of the current cURL handle"],curl_multi_getcontent:["string curl_multi_getcontent(resource ch)","Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set"],curl_multi_info_read:["array curl_multi_info_read(resource mh [, long msgs_in_queue])","Get information about the current transfers"],curl_multi_init:["resource curl_multi_init(void)","Returns a new cURL multi handle"],curl_multi_remove_handle:["int curl_multi_remove_handle(resource mh, resource ch)","Remove a multi handle from a set of cURL handles"],curl_multi_select:["int curl_multi_select(resource mh[, double timeout])",'Get all the sockets associated with the cURL extension, which can then be "selected"'],curl_setopt:["bool curl_setopt(resource ch, int option, mixed value)","Set an option for a cURL transfer"],curl_setopt_array:["bool curl_setopt_array(resource ch, array options)","Set an array of option for a cURL transfer"],curl_version:["array curl_version([int version])","Return cURL version information."],current:["mixed current(array array_arg)","Return the element currently pointed to by the internal array pointer"],date:["string date(string format [, long timestamp])","Format a local date/time"],date_add:["DateTime date_add(DateTime object, DateInterval interval)","Adds an interval to the current date in object."],date_create:["DateTime date_create([string time[, DateTimeZone object]])","Returns new DateTime object"],date_create_from_format:["DateTime date_create_from_format(string format, string time[, DateTimeZone object])","Returns new DateTime object formatted according to the specified format"],date_date_set:["DateTime date_date_set(DateTime object, long year, long month, long day)","Sets the date."],date_default_timezone_get:["string date_default_timezone_get()","Gets the default timezone used by all date/time functions in a script"],date_default_timezone_set:["bool date_default_timezone_set(string timezone_identifier)","Sets the default timezone used by all date/time functions in a script"],date_diff:["DateInterval date_diff(DateTime object [, bool absolute])","Returns the difference between two DateTime objects."],date_format:["string date_format(DateTime object, string format)","Returns date formatted according to given format"],date_get_last_errors:["array date_get_last_errors()","Returns the warnings and errors found while parsing a date/time string."],date_interval_create_from_date_string:["DateInterval date_interval_create_from_date_string(string time)","Uses the normal date parsers and sets up a DateInterval from the relative parts of the parsed string"],date_interval_format:["string date_interval_format(DateInterval object, string format)","Formats the interval."],date_isodate_set:["DateTime date_isodate_set(DateTime object, long year, long week[, long day])","Sets the ISO date."],date_modify:["DateTime date_modify(DateTime object, string modify)","Alters the timestamp."],date_offset_get:["long date_offset_get(DateTime object)","Returns the DST offset."],date_parse:["array date_parse(string date)","Returns associative array with detailed info about given date"],date_parse_from_format:["array date_parse_from_format(string format, string date)","Returns associative array with detailed info about given date"],date_sub:["DateTime date_sub(DateTime object, DateInterval interval)","Subtracts an interval to the current date in object."],date_sun_info:["array date_sun_info(long time, float latitude, float longitude)","Returns an array with information about sun set/rise and twilight begin/end"],date_sunrise:["mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])","Returns time of sunrise for a given day and location"],date_sunset:["mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])","Returns time of sunset for a given day and location"],date_time_set:["DateTime date_time_set(DateTime object, long hour, long minute[, long second])","Sets the time."],date_timestamp_get:["long date_timestamp_get(DateTime object)","Gets the Unix timestamp."],date_timestamp_set:["DateTime date_timestamp_set(DateTime object, long unixTimestamp)","Sets the date and time based on an Unix timestamp."],date_timezone_get:["DateTimeZone date_timezone_get(DateTime object)","Return new DateTimeZone object relative to give DateTime"],date_timezone_set:["DateTime date_timezone_set(DateTime object, DateTimeZone object)","Sets the timezone for the DateTime object."],datefmt_create:["IntlDateFormatter datefmt_create(string $locale, long date_type, long time_type[, string $timezone_str, long $calendar, string $pattern] )","* Create formatter."],datefmt_format:["string datefmt_format( [mixed]int $args or array $args )","* Format the time value as a string. }}}"],datefmt_get_calendar:["string datefmt_get_calendar( IntlDateFormatter $mf )","* Get formatter calendar."],datefmt_get_datetype:["string datefmt_get_datetype( IntlDateFormatter $mf )","* Get formatter datetype."],datefmt_get_error_code:["int datefmt_get_error_code( IntlDateFormatter $nf )","* Get formatter's last error code."],datefmt_get_error_message:["string datefmt_get_error_message( IntlDateFormatter $coll )","* Get text description for formatter's last error code."],datefmt_get_locale:["string datefmt_get_locale(IntlDateFormatter $mf)","* Get formatter locale."],datefmt_get_pattern:["string datefmt_get_pattern( IntlDateFormatter $mf )","* Get formatter pattern."],datefmt_get_timetype:["string datefmt_get_timetype( IntlDateFormatter $mf )","* Get formatter timetype."],datefmt_get_timezone_id:["string datefmt_get_timezone_id( IntlDateFormatter $mf )","* Get formatter timezone_id."],datefmt_isLenient:["string datefmt_isLenient(IntlDateFormatter $mf)","* Get formatter locale."],datefmt_localtime:["integer datefmt_localtime( IntlDateFormatter $fmt, string $text_to_parse[, int $parse_pos ])","* Parse the string $value to a localtime array }}}"],datefmt_parse:["integer datefmt_parse( IntlDateFormatter $fmt, string $text_to_parse [, int $parse_pos] )","* Parse the string $value starting at parse_pos to a Unix timestamp -int }}}"],datefmt_setLenient:["string datefmt_setLenient(IntlDateFormatter $mf)","* Set formatter lenient."],datefmt_set_calendar:["bool datefmt_set_calendar( IntlDateFormatter $mf, int $calendar )","* Set formatter calendar."],datefmt_set_pattern:["bool datefmt_set_pattern( IntlDateFormatter $mf, string $pattern )","* Set formatter pattern."],datefmt_set_timezone_id:["boolean datefmt_set_timezone_id( IntlDateFormatter $mf,$timezone_id)","* Set formatter timezone_id."],dba_close:["void dba_close(resource handle)","Closes database"],dba_delete:["bool dba_delete(string key, resource handle)","Deletes the entry associated with key If inifile: remove all other key lines"],dba_exists:["bool dba_exists(string key, resource handle)","Checks, if the specified key exists"],dba_fetch:["string dba_fetch(string key, [int skip ,] resource handle)","Fetches the data associated with key"],dba_firstkey:["string dba_firstkey(resource handle)","Resets the internal key pointer and returns the first key"],dba_handlers:["array dba_handlers([bool full_info])","List configured database handlers"],dba_insert:["bool dba_insert(string key, string value, resource handle)","If not inifile: Insert value as key, return false, if key exists already If inifile: Add vakue as key (next instance of key)"],dba_key_split:["array|false dba_key_split(string key)","Splits an inifile key into an array of the form array(0=>group,1=>value_name) but returns false if input is false or null"],dba_list:["array dba_list()","List opened databases"],dba_nextkey:["string dba_nextkey(resource handle)","Returns the next key"],dba_open:["resource dba_open(string path, string mode [, string handlername, string ...])","Opens path using the specified handler in mode"],dba_optimize:["bool dba_optimize(resource handle)","Optimizes (e.g. clean up, vacuum) database"],dba_popen:["resource dba_popen(string path, string mode [, string handlername, string ...])","Opens path using the specified handler in mode persistently"],dba_replace:["bool dba_replace(string key, string value, resource handle)","Inserts value as key, replaces key, if key exists already If inifile: remove all other key lines"],dba_sync:["bool dba_sync(resource handle)","Synchronizes database"],dcgettext:["string dcgettext(string domain_name, string msgid, long category)","Return the translation of msgid for domain_name and category, or msgid unaltered if a translation does not exist"],dcngettext:["string dcngettext (string domain, string msgid1, string msgid2, int n, int category)","Plural version of dcgettext()"],debug_backtrace:["array debug_backtrace([bool provide_object])","Return backtrace as array"],debug_print_backtrace:["void debug_print_backtrace(void) */","ZEND_FUNCTION(debug_print_backtrace) { zend_execute_data *ptr, *skip; int lineno; char *function_name; char *filename; char *class_name = NULL; char *call_type; char *include_filename = NULL; zval *arg_array = NULL; int indent = 0; if (zend_parse_parameters_none() == FAILURE) { return; } ptr = EG(current_execute_data); /* skip debug_backtrace()"],debug_zval_dump:["void debug_zval_dump(mixed var)","Dumps a string representation of an internal zend value to output."],decbin:["string decbin(int decimal_number)","Returns a string containing a binary representation of the number"],dechex:["string dechex(int decimal_number)","Returns a string containing a hexadecimal representation of the given number"],decoct:["string decoct(int decimal_number)","Returns a string containing an octal representation of the given number"],define:["bool define(string constant_name, mixed value, boolean case_insensitive=false)","Define a new constant"],define_syslog_variables:["void define_syslog_variables(void)","Initializes all syslog-related variables"],defined:["bool defined(string constant_name)","Check whether a constant exists"],deg2rad:["float deg2rad(float number)","Converts the number in degrees to the radian equivalent"],dgettext:["string dgettext(string domain_name, string msgid)","Return the translation of msgid for domain_name, or msgid unaltered if a translation does not exist"],die:["void die([mixed status])","Output a message and terminate the current script"],dir:["object dir(string directory[, resource context])","Directory class with properties, handle and class and methods read, rewind and close"],dirname:["string dirname(string path)","Returns the directory name component of the path"],disk_free_space:["float disk_free_space(string path)","Get free disk space for filesystem that path is on"],disk_total_space:["float disk_total_space(string path)","Get total disk space for filesystem that path is on"],display_disabled_function:["void display_disabled_function(void)","Dummy function which displays an error when a disabled function is called."],dl:["int dl(string extension_filename)","Load a PHP extension at runtime"],dngettext:["string dngettext (string domain, string msgid1, string msgid2, int count)","Plural version of dgettext()"],dns_check_record:["bool dns_check_record(string host [, string type])","Check DNS records corresponding to a given Internet host name or IP address"],dns_get_mx:["bool dns_get_mx(string hostname, array mxhosts [, array weight])","Get MX records corresponding to a given Internet host name"],dns_get_record:["array|false dns_get_record(string hostname [, int type[, array authns, array addtl]])","Get any Resource Record corresponding to a given Internet host name"],dom_attr_is_id:["boolean dom_attr_is_id();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Attr-isId Since: DOM Level 3"],dom_characterdata_append_data:["void dom_characterdata_append_data(string arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-32791A2F Since:"],dom_characterdata_delete_data:["void dom_characterdata_delete_data(int offset, int count);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-7C603781 Since:"],dom_characterdata_insert_data:["void dom_characterdata_insert_data(int offset, string arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-3EDB695F Since:"],dom_characterdata_replace_data:["void dom_characterdata_replace_data(int offset, int count, string arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-E5CBA7FB Since:"],dom_characterdata_substring_data:["string dom_characterdata_substring_data(int offset, int count);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6531BCCF Since:"],dom_document_adopt_node:["DOMNode dom_document_adopt_node(DOMNode source);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Document3-adoptNode Since: DOM Level 3"],dom_document_create_attribute:["DOMAttr dom_document_create_attribute(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1084891198 Since:"],dom_document_create_attribute_ns:["DOMAttr dom_document_create_attribute_ns(string namespaceURI, string qualifiedName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-DocCrAttrNS Since: DOM Level 2"],dom_document_create_cdatasection:["DOMCdataSection dom_document_create_cdatasection(string data);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-D26C0AF8 Since:"],dom_document_create_comment:["DOMComment dom_document_create_comment(string data);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1334481328 Since:"],dom_document_create_document_fragment:["DOMDocumentFragment dom_document_create_document_fragment();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-35CB04B5 Since:"],dom_document_create_element:["DOMElement dom_document_create_element(string tagName [, string value]);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-2141741547 Since:"],dom_document_create_element_ns:["DOMElement dom_document_create_element_ns(string namespaceURI, string qualifiedName [,string value]);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-DocCrElNS Since: DOM Level 2"],dom_document_create_entity_reference:["DOMEntityReference dom_document_create_entity_reference(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-392B75AE Since:"],dom_document_create_processing_instruction:["DOMProcessingInstruction dom_document_create_processing_instruction(string target, string data);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-135944439 Since:"],dom_document_create_text_node:["DOMText dom_document_create_text_node(string data);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1975348127 Since:"],dom_document_get_element_by_id:["DOMElement dom_document_get_element_by_id(string elementId);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-getElBId Since: DOM Level 2"],dom_document_get_elements_by_tag_name:["DOMNodeList dom_document_get_elements_by_tag_name(string tagname);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-A6C9094 Since:"],dom_document_get_elements_by_tag_name_ns:["DOMNodeList dom_document_get_elements_by_tag_name_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-getElBTNNS Since: DOM Level 2"],dom_document_import_node:["DOMNode dom_document_import_node(DOMNode importedNode, boolean deep);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Core-Document-importNode Since: DOM Level 2"],dom_document_load:["DOMNode dom_document_load(string source [, int options]);","URL: http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DocumentLS-load Since: DOM Level 3"],dom_document_load_html:["DOMNode dom_document_load_html(string source);","Since: DOM extended"],dom_document_load_html_file:["DOMNode dom_document_load_html_file(string source);","Since: DOM extended"],dom_document_loadxml:["DOMNode dom_document_loadxml(string source [, int options]);","URL: http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DocumentLS-loadXML Since: DOM Level 3"],dom_document_normalize_document:["void dom_document_normalize_document();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Document3-normalizeDocument Since: DOM Level 3"],dom_document_relaxNG_validate_file:["boolean dom_document_relaxNG_validate_file(string filename); */","PHP_FUNCTION(dom_document_relaxNG_validate_file) { _dom_document_relaxNG_validate(INTERNAL_FUNCTION_PARAM_PASSTHRU, DOM_LOAD_FILE); } /* }}} end dom_document_relaxNG_validate_file"],dom_document_relaxNG_validate_xml:["boolean dom_document_relaxNG_validate_xml(string source); */","PHP_FUNCTION(dom_document_relaxNG_validate_xml) { _dom_document_relaxNG_validate(INTERNAL_FUNCTION_PARAM_PASSTHRU, DOM_LOAD_STRING); } /* }}} end dom_document_relaxNG_validate_xml"],dom_document_rename_node:["DOMNode dom_document_rename_node(node n, string namespaceURI, string qualifiedName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Document3-renameNode Since: DOM Level 3"],dom_document_save:["int dom_document_save(string file);","Convenience method to save to file"],dom_document_save_html:["string dom_document_save_html();","Convenience method to output as html"],dom_document_save_html_file:["int dom_document_save_html_file(string file);","Convenience method to save to file as html"],dom_document_savexml:["string dom_document_savexml([node n]);","URL: http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DocumentLS-saveXML Since: DOM Level 3"],dom_document_schema_validate:["boolean dom_document_schema_validate(string source); */","PHP_FUNCTION(dom_document_schema_validate_xml) { _dom_document_schema_validate(INTERNAL_FUNCTION_PARAM_PASSTHRU, DOM_LOAD_STRING); } /* }}} end dom_document_schema_validate"],dom_document_schema_validate_file:["boolean dom_document_schema_validate_file(string filename); */","PHP_FUNCTION(dom_document_schema_validate_file) { _dom_document_schema_validate(INTERNAL_FUNCTION_PARAM_PASSTHRU, DOM_LOAD_FILE); } /* }}} end dom_document_schema_validate_file"],dom_document_validate:["boolean dom_document_validate();","Since: DOM extended"],dom_document_xinclude:["int dom_document_xinclude([int options])","Substitutues xincludes in a DomDocument"],dom_domconfiguration_can_set_parameter:["boolean dom_domconfiguration_can_set_parameter(string name, domuserdata value);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMConfiguration-canSetParameter Since:"],dom_domconfiguration_get_parameter:["domdomuserdata dom_domconfiguration_get_parameter(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMConfiguration-getParameter Since:"],dom_domconfiguration_set_parameter:["dom_void dom_domconfiguration_set_parameter(string name, domuserdata value);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMConfiguration-property Since:"],dom_domerrorhandler_handle_error:["dom_boolean dom_domerrorhandler_handle_error(domerror error);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-ERRORS-DOMErrorHandler-handleError Since:"],dom_domimplementation_create_document:["DOMDocument dom_domimplementation_create_document(string namespaceURI, string qualifiedName, DOMDocumentType doctype);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Level-2-Core-DOM-createDocument Since: DOM Level 2"],dom_domimplementation_create_document_type:["DOMDocumentType dom_domimplementation_create_document_type(string qualifiedName, string publicId, string systemId);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Level-2-Core-DOM-createDocType Since: DOM Level 2"],dom_domimplementation_get_feature:["DOMNode dom_domimplementation_get_feature(string feature, string version);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMImplementation3-getFeature Since: DOM Level 3"],dom_domimplementation_has_feature:["boolean dom_domimplementation_has_feature(string feature, string version);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-5CED94D7 Since:"],dom_domimplementationlist_item:["domdomimplementation dom_domimplementationlist_item(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMImplementationList-item Since:"],dom_domimplementationsource_get_domimplementation:["domdomimplementation dom_domimplementationsource_get_domimplementation(string features);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-getDOMImpl Since:"],dom_domimplementationsource_get_domimplementations:["domimplementationlist dom_domimplementationsource_get_domimplementations(string features);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-getDOMImpls Since:"],dom_domstringlist_item:["domstring dom_domstringlist_item(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#DOMStringList-item Since:"],dom_element_get_attribute:["string dom_element_get_attribute(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-666EE0F9 Since:"],dom_element_get_attribute_node:["DOMAttr dom_element_get_attribute_node(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-217A91B8 Since:"],dom_element_get_attribute_node_ns:["DOMAttr dom_element_get_attribute_node_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElGetAtNodeNS Since: DOM Level 2"],dom_element_get_attribute_ns:["string dom_element_get_attribute_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElGetAttrNS Since: DOM Level 2"],dom_element_get_elements_by_tag_name:["DOMNodeList dom_element_get_elements_by_tag_name(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1938918D Since:"],dom_element_get_elements_by_tag_name_ns:["DOMNodeList dom_element_get_elements_by_tag_name_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-A6C90942 Since: DOM Level 2"],dom_element_has_attribute:["boolean dom_element_has_attribute(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElHasAttr Since: DOM Level 2"],dom_element_has_attribute_ns:["boolean dom_element_has_attribute_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElHasAttrNS Since: DOM Level 2"],dom_element_remove_attribute:["void dom_element_remove_attribute(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6D6AC0F9 Since:"],dom_element_remove_attribute_node:["DOMAttr dom_element_remove_attribute_node(DOMAttr oldAttr);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-D589198 Since:"],dom_element_remove_attribute_ns:["void dom_element_remove_attribute_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElRemAtNS Since: DOM Level 2"],dom_element_set_attribute:["void dom_element_set_attribute(string name, string value);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-F68F082 Since:"],dom_element_set_attribute_node:["DOMAttr dom_element_set_attribute_node(DOMAttr newAttr);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-887236154 Since:"],dom_element_set_attribute_node_ns:["DOMAttr dom_element_set_attribute_node_ns(DOMAttr newAttr);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetAtNodeNS Since: DOM Level 2"],dom_element_set_attribute_ns:["void dom_element_set_attribute_ns(string namespaceURI, string qualifiedName, string value);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetAttrNS Since: DOM Level 2"],dom_element_set_id_attribute:["void dom_element_set_id_attribute(string name, boolean isId);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttr Since: DOM Level 3"],dom_element_set_id_attribute_node:["void dom_element_set_id_attribute_node(attr idAttr, boolean isId);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttrNode Since: DOM Level 3"],dom_element_set_id_attribute_ns:["void dom_element_set_id_attribute_ns(string namespaceURI, string localName, boolean isId);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttrNS Since: DOM Level 3"],dom_import_simplexml:["somNode dom_import_simplexml(sxeobject node)","Get a simplexml_element object from dom to allow for processing"],dom_namednodemap_get_named_item:["DOMNode dom_namednodemap_get_named_item(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1074577549 Since:"],dom_namednodemap_get_named_item_ns:["DOMNode dom_namednodemap_get_named_item_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-getNamedItemNS Since: DOM Level 2"],dom_namednodemap_item:["DOMNode dom_namednodemap_item(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-349467F9 Since:"],dom_namednodemap_remove_named_item:["DOMNode dom_namednodemap_remove_named_item(string name);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-D58B193 Since:"],dom_namednodemap_remove_named_item_ns:["DOMNode dom_namednodemap_remove_named_item_ns(string namespaceURI, string localName);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-removeNamedItemNS Since: DOM Level 2"],dom_namednodemap_set_named_item:["DOMNode dom_namednodemap_set_named_item(DOMNode arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1025163788 Since:"],dom_namednodemap_set_named_item_ns:["DOMNode dom_namednodemap_set_named_item_ns(DOMNode arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-setNamedItemNS Since: DOM Level 2"],dom_namelist_get_name:["string dom_namelist_get_name(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#NameList-getName Since:"],dom_namelist_get_namespace_uri:["string dom_namelist_get_namespace_uri(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#NameList-getNamespaceURI Since:"],dom_node_append_child:["DomNode dom_node_append_child(DomNode newChild);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-184E7107 Since:"],dom_node_clone_node:["DomNode dom_node_clone_node(boolean deep);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-3A0ED0A4 Since:"],dom_node_compare_document_position:["short dom_node_compare_document_position(DomNode other);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-compareDocumentPosition Since: DOM Level 3"],dom_node_get_feature:["DomNode dom_node_get_feature(string feature, string version);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-getFeature Since: DOM Level 3"],dom_node_get_user_data:["mixed dom_node_get_user_data(string key);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-getUserData Since: DOM Level 3"],dom_node_has_attributes:["boolean dom_node_has_attributes();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-NodeHasAttrs Since: DOM Level 2"],dom_node_has_child_nodes:["boolean dom_node_has_child_nodes();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-810594187 Since:"],dom_node_insert_before:["domnode dom_node_insert_before(DomNode newChild, DomNode refChild);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-952280727 Since:"],dom_node_is_default_namespace:["boolean dom_node_is_default_namespace(string namespaceURI);","URL: http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace Since: DOM Level 3"],dom_node_is_equal_node:["boolean dom_node_is_equal_node(DomNode arg);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-isEqualNode Since: DOM Level 3"],dom_node_is_same_node:["boolean dom_node_is_same_node(DomNode other);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-isSameNode Since: DOM Level 3"],dom_node_is_supported:["boolean dom_node_is_supported(string feature, string version);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Level-2-Core-Node-supports Since: DOM Level 2"],dom_node_lookup_namespace_uri:["string dom_node_lookup_namespace_uri(string prefix);","URL: http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI Since: DOM Level 3"],dom_node_lookup_prefix:["string dom_node_lookup_prefix(string namespaceURI);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-lookupNamespacePrefix Since: DOM Level 3"],dom_node_normalize:["void dom_node_normalize();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-normalize Since:"],dom_node_remove_child:["DomNode dom_node_remove_child(DomNode oldChild);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1734834066 Since:"],dom_node_replace_child:["DomNode dom_node_replace_child(DomNode newChild, DomNode oldChild);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-785887307 Since:"],dom_node_set_user_data:["mixed dom_node_set_user_data(string key, mixed data, userdatahandler handler);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-setUserData Since: DOM Level 3"],dom_nodelist_item:["DOMNode dom_nodelist_item(int index);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-844377136 Since:"],dom_string_extend_find_offset16:["int dom_string_extend_find_offset16(int offset32);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#i18n-methods-StringExtend-findOffset16 Since:"],dom_string_extend_find_offset32:["int dom_string_extend_find_offset32(int offset16);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#i18n-methods-StringExtend-findOffset32 Since:"],dom_text_is_whitespace_in_element_content:["boolean dom_text_is_whitespace_in_element_content();","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Text3-isWhitespaceInElementContent Since: DOM Level 3"],dom_text_replace_whole_text:["DOMText dom_text_replace_whole_text(string content);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Text3-replaceWholeText Since: DOM Level 3"],dom_text_split_text:["DOMText dom_text_split_text(int offset);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-38853C1D Since:"],dom_userdatahandler_handle:["dom_void dom_userdatahandler_handle(short operation, string key, domobject data, node src, node dst);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-handleUserDataEvent Since:"],dom_xpath_evaluate:["mixed dom_xpath_evaluate(string expr [,DOMNode context]); */","PHP_FUNCTION(dom_xpath_evaluate) { php_xpath_eval(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_DOM_XPATH_EVALUATE); } /* }}} end dom_xpath_evaluate"],dom_xpath_query:["DOMNodeList dom_xpath_query(string expr [,DOMNode context]); */","PHP_FUNCTION(dom_xpath_query) { php_xpath_eval(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_DOM_XPATH_QUERY); } /* }}} end dom_xpath_query"],dom_xpath_register_ns:["boolean dom_xpath_register_ns(string prefix, string uri); */",'PHP_FUNCTION(dom_xpath_register_ns) { zval *id; xmlXPathContextPtr ctxp; int prefix_len, ns_uri_len; dom_xpath_object *intern; unsigned char *prefix, *ns_uri; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss", &id, dom_xpath_class_entry, &prefix, &prefix_len, &ns_uri, &ns_uri_len) == FAILURE) { return; } intern = (dom_xpath_object *)zend_object_store_get_object(id TSRMLS_CC); ctxp = (xmlXPathContextPtr) intern->ptr; if (ctxp == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid XPath Context"); RETURN_FALSE; } if (xmlXPathRegisterNs(ctxp, prefix, ns_uri) != 0) { RETURN_FALSE } RETURN_TRUE; } /* }}}'],dom_xpath_register_php_functions:["void dom_xpath_register_php_functions() */",'PHP_FUNCTION(dom_xpath_register_php_functions) { zval *id; dom_xpath_object *intern; zval *array_value, **entry, *new_string; int name_len = 0; char *name; DOM_GET_THIS(id); if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "a", &array_value) == SUCCESS) { intern = (dom_xpath_object *)zend_object_store_get_object(id TSRMLS_CC); zend_hash_internal_pointer_reset(Z_ARRVAL_P(array_value)); while (zend_hash_get_current_data(Z_ARRVAL_P(array_value), (void **)&entry) == SUCCESS) { SEPARATE_ZVAL(entry); convert_to_string_ex(entry); MAKE_STD_ZVAL(new_string); ZVAL_LONG(new_string,1); zend_hash_update(intern->registered_phpfunctions, Z_STRVAL_PP(entry), Z_STRLEN_PP(entry) + 1, &new_string, sizeof(zval*), NULL); zend_hash_move_forward(Z_ARRVAL_P(array_value)); } intern->registerPhpFunctions = 2; RETURN_TRUE; } else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == SUCCESS) { intern = (dom_xpath_object *)zend_object_store_get_object(id TSRMLS_CC); MAKE_STD_ZVAL(new_string); ZVAL_LONG(new_string,1); zend_hash_update(intern->registered_phpfunctions, name, name_len + 1, &new_string, sizeof(zval*), NULL); intern->registerPhpFunctions = 2; } else { intern = (dom_xpath_object *)zend_object_store_get_object(id TSRMLS_CC); intern->registerPhpFunctions = 1; } } /* }}} end dom_xpath_register_php_functions'],each:["array each(array arr)","Return the currently pointed key..value pair in the passed array, and advance the pointer to the next element"],easter_date:["int easter_date([int year])","Return the timestamp of midnight on Easter of a given year (defaults to current year)"],easter_days:["int easter_days([int year, [int method]])","Return the number of days after March 21 that Easter falls on for a given year (defaults to current year)"],echo:["void echo(string arg1 [, string ...])","Output one or more strings"],empty:["bool empty( mixed var )","Determine whether a variable is empty"],enchant_broker_describe:["array enchant_broker_describe(resource broker)","Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo()"],enchant_broker_dict_exists:["bool enchant_broker_dict_exists(resource broker, string tag)","Wether a dictionary exists or not. Using non-empty tag"],enchant_broker_free:["boolean enchant_broker_free(resource broker)","Destroys the broker object and its dictionnaries"],enchant_broker_free_dict:["resource enchant_broker_free_dict(resource dict)","Free the dictionary resource"],enchant_broker_get_dict_path:["string enchant_broker_get_dict_path(resource broker, int dict_type)","Get the directory path for a given backend, works with ispell and myspell"],enchant_broker_get_error:["string enchant_broker_get_error(resource broker)","Returns the last error of the broker"],enchant_broker_init:["resource enchant_broker_init()","create a new broker object capable of requesting"],enchant_broker_list_dicts:["string enchant_broker_list_dicts(resource broker)","Lists the dictionaries available for the given broker"],enchant_broker_request_dict:["resource enchant_broker_request_dict(resource broker, string tag)",'create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)'],enchant_broker_request_pwl_dict:["resource enchant_broker_request_pwl_dict(resource broker, string filename)","creates a dictionary using a PWL file. A PWL file is personal word file one word per line. It must exist before the call."],enchant_broker_set_dict_path:["bool enchant_broker_set_dict_path(resource broker, int dict_type, string value)","Set the directory path for a given backend, works with ispell and myspell"],enchant_broker_set_ordering:["bool enchant_broker_set_ordering(resource broker, string tag, string ordering)","Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the \"*\" tag can be used as a language tag to declare a default ordering for any language that does not explictly declare an ordering."],enchant_dict_add_to_personal:["void enchant_dict_add_to_personal(resource dict, string word)","add 'word' to personal word list"],enchant_dict_add_to_session:["void enchant_dict_add_to_session(resource dict, string word)","add 'word' to this spell-checking session"],enchant_dict_check:["bool enchant_dict_check(resource dict, string word)","If the word is correctly spelled return true, otherwise return false"],enchant_dict_describe:["array enchant_dict_describe(resource dict)","Describes an individual dictionary 'dict'"],enchant_dict_get_error:["string enchant_dict_get_error(resource dict)","Returns the last error of the current spelling-session"],enchant_dict_is_in_session:["bool enchant_dict_is_in_session(resource dict, string word)","whether or not 'word' exists in this spelling-session"],enchant_dict_quick_check:["bool enchant_dict_quick_check(resource dict, string word [, array &suggestions])","If the word is correctly spelled return true, otherwise return false, if suggestions variable is provided, fill it with spelling alternatives."],enchant_dict_store_replacement:["void enchant_dict_store_replacement(resource dict, string mis, string cor)","add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list."],enchant_dict_suggest:["array enchant_dict_suggest(resource dict, string word)","Will return a list of values if any of those pre-conditions are not met."],end:["mixed end(array array_arg)","Advances array argument's internal pointer to the last element and return it"],ereg:["int ereg(string pattern, string string [, array registers])","Regular expression match"],ereg_replace:["string ereg_replace(string pattern, string replacement, string string)","Replace regular expression"],eregi:["int eregi(string pattern, string string [, array registers])","Case-insensitive regular expression match"],eregi_replace:["string eregi_replace(string pattern, string replacement, string string)","Case insensitive replace regular expression"],error_get_last:["array error_get_last()","Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet."],error_log:["bool error_log(string message [, int message_type [, string destination [, string extra_headers]]])","Send an error message somewhere"],error_reporting:["int error_reporting([int new_error_level])","Return the current error_reporting level, and if an argument was passed - change to the new level"],escapeshellarg:["string escapeshellarg(string arg)","Quote and escape an argument for use in a shell command"],escapeshellcmd:["string escapeshellcmd(string command)","Escape shell metacharacters"],exec:["string exec(string command [, array &output [, int &return_value]])","Execute an external program"],exif_imagetype:["int exif_imagetype(string imagefile)","Get the type of an image"],exif_read_data:["array exif_read_data(string filename [, sections_needed [, sub_arrays[, read_thumbnail]]])","Reads header data from the JPEG/TIFF image filename and optionally reads the internal thumbnails"],exif_tagname:["string exif_tagname(index)","Get headername for index or false if not defined"],exif_thumbnail:["string exif_thumbnail(string filename [, &width, &height [, &imagetype]])","Reads the embedded thumbnail"],exit:["void exit([mixed status])","Output a message and terminate the current script"],exp:["float exp(float number)","Returns e raised to the power of the number"],explode:["array explode(string separator, string str [, int limit])","Splits a string on string separator and return array of components. If limit is positive only limit number of components is returned. If limit is negative all components except the last abs(limit) are returned."],expm1:["float expm1(float number)","Returns exp(number) - 1, computed in a way that accurate even when the value of number is close to zero"],extension_loaded:["bool extension_loaded(string extension_name)","Returns true if the named extension is loaded"],extract:["int extract(array var_array [, int extract_type [, string prefix]])","Imports variables into symbol table from an array"],ezmlm_hash:["int ezmlm_hash(string addr)","Calculate EZMLM list hash value."],fclose:["bool fclose(resource fp)","Close an open file pointer"],feof:["bool feof(resource fp)","Test for end-of-file on a file pointer"],fflush:["bool fflush(resource fp)","Flushes output"],fgetc:["string fgetc(resource fp)","Get a character from file pointer"],fgetcsv:["array fgetcsv(resource fp [,int length [, string delimiter [, string enclosure [, string escape]]]])","Get line from file pointer and parse for CSV fields"],fgets:["string fgets(resource fp[, int length])","Get a line from file pointer"],fgetss:["string fgetss(resource fp [, int length [, string allowable_tags]])","Get a line from file pointer and strip HTML tags"],file:["array file(string filename [, int flags[, resource context]])","Read entire file into an array"],file_exists:["bool file_exists(string filename)","Returns true if filename exists"],file_get_contents:["string file_get_contents(string filename [, bool use_include_path [, resource context [, long offset [, long maxlen]]]])","Read the entire file into a string"],file_put_contents:["int file_put_contents(string file, mixed data [, int flags [, resource context]])","Write/Create a file with contents data and return the number of bytes written"],fileatime:["int fileatime(string filename)","Get last access time of file"],filectime:["int filectime(string filename)","Get inode modification time of file"],filegroup:["int filegroup(string filename)","Get file group"],fileinode:["int fileinode(string filename)","Get file inode"],filemtime:["int filemtime(string filename)","Get last modification time of file"],fileowner:["int fileowner(string filename)","Get file owner"],fileperms:["int fileperms(string filename)","Get file permissions"],filesize:["int filesize(string filename)","Get file size"],filetype:["string filetype(string filename)","Get file type"],filter_has_var:["mixed filter_has_var(constant type, string variable_name)","* Returns true if the variable with the name 'name' exists in source."],filter_input:["mixed filter_input(constant type, string variable_name [, long filter [, mixed options]])","* Returns the filtered variable 'name'* from source `type`."],filter_input_array:["mixed filter_input_array(constant type, [, mixed options]])","* Returns an array with all arguments defined in 'definition'."],filter_var:["mixed filter_var(mixed variable [, long filter [, mixed options]])","* Returns the filtered version of the vriable."],filter_var_array:["mixed filter_var_array(array data, [, mixed options]])","* Returns an array with all arguments defined in 'definition'."],finfo_buffer:["string finfo_buffer(resource finfo, char *string [, int options [, resource context]])","Return infromation about a string buffer."],finfo_close:["resource finfo_close(resource finfo)","Close fileinfo resource."],finfo_file:["string finfo_file(resource finfo, char *file_name [, int options [, resource context]])","Return information about a file."],finfo_open:["resource finfo_open([int options [, string arg]])","Create a new fileinfo resource."],finfo_set_flags:["bool finfo_set_flags(resource finfo, int options)","Set libmagic configuration options."],floatval:["float floatval(mixed var)","Get the float value of a variable"],flock:["bool flock(resource fp, int operation [, int &wouldblock])","Portable file locking"],floor:["float floor(float number)","Returns the next lowest integer value from the number"],flush:["void flush(void)","Flush the output buffer"],fmod:["float fmod(float x, float y)","Returns the remainder of dividing x by y as a float"],fnmatch:["bool fnmatch(string pattern, string filename [, int flags])","Match filename against pattern"],fopen:["resource fopen(string filename, string mode [, bool use_include_path [, resource context]])","Open a file or a URL and return a file pointer"],forward_static_call:["mixed forward_static_call(mixed function_name [, mixed parmeter] [, mixed ...])","Call a user function which is the first parameter"],fpassthru:["int fpassthru(resource fp)","Output all remaining data from a file pointer"],fprintf:["int fprintf(resource stream, string format [, mixed arg1 [, mixed ...]])","Output a formatted string into a stream"],fputcsv:["int fputcsv(resource fp, array fields [, string delimiter [, string enclosure]])","Format line as CSV and write to file pointer"],fread:["string fread(resource fp, int length)","Binary-safe file read"],frenchtojd:["int frenchtojd(int month, int day, int year)","Converts a french republic calendar date to julian day count"],fscanf:["mixed fscanf(resource stream, string format [, string ...])","Implements a mostly ANSI compatible fscanf()"],fseek:["int fseek(resource fp, int offset [, int whence])","Seek on a file pointer"],fsockopen:["resource fsockopen(string hostname, int port [, int errno [, string errstr [, float timeout]]])","Open Internet or Unix domain socket connection"],fstat:["array fstat(resource fp)","Stat() on a filehandle"],ftell:["int ftell(resource fp)","Get file pointer's read/write position"],ftok:["int ftok(string pathname, string proj)","Convert a pathname and a project identifier to a System V IPC key"],ftp_alloc:["bool ftp_alloc(resource stream, int size[, &response])","Attempt to allocate space on the remote FTP server"],ftp_cdup:["bool ftp_cdup(resource stream)","Changes to the parent directory"],ftp_chdir:["bool ftp_chdir(resource stream, string directory)","Changes directories"],ftp_chmod:["int ftp_chmod(resource stream, int mode, string filename)","Sets permissions on a file"],ftp_close:["bool ftp_close(resource stream)","Closes the FTP stream"],ftp_connect:["resource ftp_connect(string host [, int port [, int timeout]])","Opens a FTP stream"],ftp_delete:["bool ftp_delete(resource stream, string file)","Deletes a file"],ftp_exec:["bool ftp_exec(resource stream, string command)","Requests execution of a program on the FTP server"],ftp_fget:["bool ftp_fget(resource stream, resource fp, string remote_file, int mode[, int resumepos])","Retrieves a file from the FTP server and writes it to an open file"],ftp_fput:["bool ftp_fput(resource stream, string remote_file, resource fp, int mode[, int startpos])","Stores a file from an open file to the FTP server"],ftp_get:["bool ftp_get(resource stream, string local_file, string remote_file, int mode[, int resume_pos])","Retrieves a file from the FTP server and writes it to a local file"],ftp_get_option:["mixed ftp_get_option(resource stream, int option)","Gets an FTP option"],ftp_login:["bool ftp_login(resource stream, string username, string password)","Logs into the FTP server"],ftp_mdtm:["int ftp_mdtm(resource stream, string filename)","Returns the last modification time of the file, or -1 on error"],ftp_mkdir:["string ftp_mkdir(resource stream, string directory)","Creates a directory and returns the absolute path for the new directory or false on error"],ftp_nb_continue:["int ftp_nb_continue(resource stream)","Continues retrieving/sending a file nbronously"],ftp_nb_fget:["int ftp_nb_fget(resource stream, resource fp, string remote_file, int mode[, int resumepos])","Retrieves a file from the FTP server asynchronly and writes it to an open file"],ftp_nb_fput:["int ftp_nb_fput(resource stream, string remote_file, resource fp, int mode[, int startpos])","Stores a file from an open file to the FTP server nbronly"],ftp_nb_get:["int ftp_nb_get(resource stream, string local_file, string remote_file, int mode[, int resume_pos])","Retrieves a file from the FTP server nbhronly and writes it to a local file"],ftp_nb_put:["int ftp_nb_put(resource stream, string remote_file, string local_file, int mode[, int startpos])","Stores a file on the FTP server"],ftp_nlist:["array ftp_nlist(resource stream, string directory)","Returns an array of filenames in the given directory"],ftp_pasv:["bool ftp_pasv(resource stream, bool pasv)","Turns passive mode on or off"],ftp_put:["bool ftp_put(resource stream, string remote_file, string local_file, int mode[, int startpos])","Stores a file on the FTP server"],ftp_pwd:["string ftp_pwd(resource stream)","Returns the present working directory"],ftp_raw:["array ftp_raw(resource stream, string command)","Sends a literal command to the FTP server"],ftp_rawlist:["array ftp_rawlist(resource stream, string directory [, bool recursive])","Returns a detailed listing of a directory as an array of output lines"],ftp_rename:["bool ftp_rename(resource stream, string src, string dest)","Renames the given file to a new path"],ftp_rmdir:["bool ftp_rmdir(resource stream, string directory)","Removes a directory"],ftp_set_option:["bool ftp_set_option(resource stream, int option, mixed value)","Sets an FTP option"],ftp_site:["bool ftp_site(resource stream, string cmd)","Sends a SITE command to the server"],ftp_size:["int ftp_size(resource stream, string filename)","Returns the size of the file, or -1 on error"],ftp_ssl_connect:["resource ftp_ssl_connect(string host [, int port [, int timeout]])","Opens a FTP-SSL stream"],ftp_systype:["string ftp_systype(resource stream)","Returns the system type identifier"],ftruncate:["bool ftruncate(resource fp, int size)","Truncate file to 'size' length"],func_get_arg:["mixed func_get_arg(int arg_num)","Get the $arg_num'th argument that was passed to the function"],func_get_args:["array func_get_args()","Get an array of the arguments that were passed to the function"],func_num_args:["int func_num_args(void)","Get the number of arguments that were passed to the function"],function_exists:["bool function_exists(string function_name)","Checks if the function exists"],fwrite:["int fwrite(resource fp, string str [, int length])","Binary-safe file write"],gc_collect_cycles:["int gc_collect_cycles(void)","Forces collection of any existing garbage cycles. Returns number of freed zvals"],gc_disable:["void gc_disable(void)","Deactivates the circular reference collector"],gc_enable:["void gc_enable(void)","Activates the circular reference collector"],gc_enabled:["void gc_enabled(void)","Returns status of the circular reference collector"],gd_info:["array gd_info()",""],getKeywords:["static array getKeywords(string $locale) {","* return an associative array containing keyword-value * pairs for this locale. The keys are keys to the array (doh!) * }}}"],get_browser:["mixed get_browser([string browser_name [, bool return_array]])","Get information about the capabilities of a browser. If browser_name is omitted or null, HTTP_USER_AGENT is used. Returns an object by default; if return_array is true, returns an array."],get_called_class:["string get_called_class()",'Retrieves the "Late Static Binding" class name'],get_cfg_var:["mixed get_cfg_var(string option_name)","Get the value of a PHP configuration option"],get_class:["string get_class([object object])","Retrieves the class name"],get_class_methods:["array get_class_methods(mixed class)","Returns an array of method names for class or class instance."],get_class_vars:["array get_class_vars(string class_name)","Returns an array of default properties of the class."],get_current_user:["string get_current_user(void)","Get the name of the owner of the current PHP script"],get_declared_classes:["array get_declared_classes()","Returns an array of all declared classes."],get_declared_interfaces:["array get_declared_interfaces()","Returns an array of all declared interfaces."],get_defined_constants:["array get_defined_constants([bool categorize])","Return an array containing the names and values of all defined constants"],get_defined_functions:["array get_defined_functions(void)","Returns an array of all defined functions"],get_defined_vars:["array get_defined_vars(void)","Returns an associative array of names and values of all currently defined variable names (variables in the current scope)"],get_display_language:["static string get_display_language($locale[, $in_locale = null])","* gets the language for the $locale in $in_locale or default_locale"],get_display_name:["static string get_display_name($locale[, $in_locale = null])","* gets the name for the $locale in $in_locale or default_locale"],get_display_region:["static string get_display_region($locale, $in_locale = null)","* gets the region for the $locale in $in_locale or default_locale"],get_display_script:["static string get_display_script($locale, $in_locale = null)","* gets the script for the $locale in $in_locale or default_locale"],get_extension_funcs:["array get_extension_funcs(string extension_name)","Returns an array with the names of functions belonging to the named extension"],get_headers:["array get_headers(string url[, int format])","fetches all the headers sent by the server in response to a HTTP request"],get_html_translation_table:["array get_html_translation_table([int table [, int quote_style]])","Returns the internal translation table used by htmlspecialchars and htmlentities"],get_include_path:["string get_include_path()","Get the current include_path configuration option"],get_included_files:["array get_included_files(void)","Returns an array with the file names that were include_once()'d"],get_loaded_extensions:["array get_loaded_extensions([bool zend_extensions])","Return an array containing names of loaded extensions"],get_magic_quotes_gpc:["int get_magic_quotes_gpc(void)","Get the current active configuration setting of magic_quotes_gpc"],get_magic_quotes_runtime:["int get_magic_quotes_runtime(void)","Get the current active configuration setting of magic_quotes_runtime"],get_meta_tags:["array get_meta_tags(string filename [, bool use_include_path])","Extracts all meta tag content attributes from a file and returns an array"],get_object_vars:["array get_object_vars(object obj)","Returns an array of object properties"],get_parent_class:["string get_parent_class([mixed object])","Retrieves the parent class name for object or class or current scope."],get_resource_type:["string get_resource_type(resource res)","Get the resource type name for a given resource"],getallheaders:["array getallheaders(void)",""],getcwd:["mixed getcwd(void)","Gets the current directory"],getdate:["array getdate([int timestamp])","Get date/time information"],getenv:["string getenv(string varname)","Get the value of an environment variable"],gethostbyaddr:["string gethostbyaddr(string ip_address)","Get the Internet host name corresponding to a given IP address"],gethostbyname:["string gethostbyname(string hostname)","Get the IP address corresponding to a given Internet host name"],gethostbynamel:["array gethostbynamel(string hostname)","Return a list of IP addresses that a given hostname resolves to."],gethostname:["string gethostname()","Get the host name of the current machine"],getimagesize:["array getimagesize(string imagefile [, array info])","Get the size of an image as 4-element array"],getlastmod:["int getlastmod(void)","Get time of last page modification"],getmygid:["int getmygid(void)","Get PHP script owner's GID"],getmyinode:["int getmyinode(void)","Get the inode of the current script being parsed"],getmypid:["int getmypid(void)","Get current process ID"],getmyuid:["int getmyuid(void)","Get PHP script owner's UID"],getopt:["array getopt(string options [, array longopts])","Get options from the command line argument list"],getprotobyname:["int getprotobyname(string name)","Returns protocol number associated with name as per /etc/protocols"],getprotobynumber:["string getprotobynumber(int proto)","Returns protocol name associated with protocol number proto"],getrandmax:["int getrandmax(void)","Returns the maximum value a random number can have"],getrusage:["array getrusage([int who])","Returns an array of usage statistics"],getservbyname:["int getservbyname(string service, string protocol)",'Returns port associated with service. Protocol must be "tcp" or "udp"'],getservbyport:["string getservbyport(int port, string protocol)",'Returns service name associated with port. Protocol must be "tcp" or "udp"'],gettext:["string gettext(string msgid)","Return the translation of msgid for the current domain, or msgid unaltered if a translation does not exist"],gettimeofday:["array gettimeofday([bool get_as_float])","Returns the current time as array"],gettype:["string gettype(mixed var)","Returns the type of the variable"],glob:["array glob(string pattern [, int flags])","Find pathnames matching a pattern"],gmdate:["string gmdate(string format [, long timestamp])","Format a GMT date/time"],gmmktime:["int gmmktime([int hour [, int min [, int sec [, int mon [, int day [, int year]]]]]])","Get UNIX timestamp for a GMT date"],gmp_abs:["resource gmp_abs(resource a)","Calculates absolute value"],gmp_add:["resource gmp_add(resource a, resource b)","Add a and b"],gmp_and:["resource gmp_and(resource a, resource b)","Calculates logical AND of a and b"],gmp_clrbit:["void gmp_clrbit(resource &a, int index)","Clears bit in a"],gmp_cmp:["int gmp_cmp(resource a, resource b)","Compares two numbers"],gmp_com:["resource gmp_com(resource a)","Calculates one's complement of a"],gmp_div_q:["resource gmp_div_q(resource a, resource b [, int round])","Divide a by b, returns quotient only"],gmp_div_qr:["array gmp_div_qr(resource a, resource b [, int round])","Divide a by b, returns quotient and reminder"],gmp_div_r:["resource gmp_div_r(resource a, resource b [, int round])","Divide a by b, returns reminder only"],gmp_divexact:["resource gmp_divexact(resource a, resource b)","Divide a by b using exact division algorithm"],gmp_fact:["resource gmp_fact(int a)","Calculates factorial function"],gmp_gcd:["resource gmp_gcd(resource a, resource b)","Computes greatest common denominator (gcd) of a and b"],gmp_gcdext:["array gmp_gcdext(resource a, resource b)","Computes G, S, and T, such that AS + BT = G = `gcd' (A, B)"],gmp_hamdist:["int gmp_hamdist(resource a, resource b)","Calculates hamming distance between a and b"],gmp_init:["resource gmp_init(mixed number [, int base])","Initializes GMP number"],gmp_intval:["int gmp_intval(resource gmpnumber)","Gets signed long value of GMP number"],gmp_invert:["resource gmp_invert(resource a, resource b)","Computes the inverse of a modulo b"],gmp_jacobi:["int gmp_jacobi(resource a, resource b)","Computes Jacobi symbol"],gmp_legendre:["int gmp_legendre(resource a, resource b)","Computes Legendre symbol"],gmp_mod:["resource gmp_mod(resource a, resource b)","Computes a modulo b"],gmp_mul:["resource gmp_mul(resource a, resource b)","Multiply a and b"],gmp_neg:["resource gmp_neg(resource a)","Negates a number"],gmp_nextprime:["resource gmp_nextprime(resource a)","Finds next prime of a"],gmp_or:["resource gmp_or(resource a, resource b)","Calculates logical OR of a and b"],gmp_perfect_square:["bool gmp_perfect_square(resource a)","Checks if a is an exact square"],gmp_popcount:["int gmp_popcount(resource a)","Calculates the population count of a"],gmp_pow:["resource gmp_pow(resource base, int exp)","Raise base to power exp"],gmp_powm:["resource gmp_powm(resource base, resource exp, resource mod)","Raise base to power exp and take result modulo mod"],gmp_prob_prime:["int gmp_prob_prime(resource a[, int reps])",'Checks if a is "probably prime"'],gmp_random:["resource gmp_random([int limiter])","Gets random number"],gmp_scan0:["int gmp_scan0(resource a, int start)","Finds first zero bit"],gmp_scan1:["int gmp_scan1(resource a, int start)","Finds first non-zero bit"],gmp_setbit:["void gmp_setbit(resource &a, int index[, bool set_clear])","Sets or clear bit in a"],gmp_sign:["int gmp_sign(resource a)","Gets the sign of the number"],gmp_sqrt:["resource gmp_sqrt(resource a)","Takes integer part of square root of a"],gmp_sqrtrem:["array gmp_sqrtrem(resource a)","Square root with remainder"],gmp_strval:["string gmp_strval(resource gmpnumber [, int base])","Gets string representation of GMP number"],gmp_sub:["resource gmp_sub(resource a, resource b)","Subtract b from a"],gmp_testbit:["bool gmp_testbit(resource a, int index)","Tests if bit is set in a"],gmp_xor:["resource gmp_xor(resource a, resource b)","Calculates logical exclusive OR of a and b"],gmstrftime:["string gmstrftime(string format [, int timestamp])","Format a GMT/UCT time/date according to locale settings"],grapheme_extract:["string grapheme_extract(string str, int size[, int extract_type[, int start[, int next]]])","Function to extract a sequence of default grapheme clusters"],grapheme_stripos:["int grapheme_stripos(string haystack, string needle [, int offset ])","Find position of first occurrence of a string within another, ignoring case differences"],grapheme_stristr:["string grapheme_stristr(string haystack, string needle[, bool part])","Finds first occurrence of a string within another"],grapheme_strlen:["int grapheme_strlen(string str)","Get number of graphemes in a string"],grapheme_strpos:["int grapheme_strpos(string haystack, string needle [, int offset ])","Find position of first occurrence of a string within another"],grapheme_strripos:["int grapheme_strripos(string haystack, string needle [, int offset])","Find position of last occurrence of a string within another, ignoring case"],grapheme_strrpos:["int grapheme_strrpos(string haystack, string needle [, int offset])","Find position of last occurrence of a string within another"],grapheme_strstr:["string grapheme_strstr(string haystack, string needle[, bool part])","Finds first occurrence of a string within another"],grapheme_substr:["string grapheme_substr(string str, int start [, int length])","Returns part of a string"],gregoriantojd:["int gregoriantojd(int month, int day, int year)","Converts a gregorian calendar date to julian day count"],gzcompress:["string gzcompress(string data [, int level])","Gzip-compress a string"],gzdeflate:["string gzdeflate(string data [, int level])","Gzip-compress a string"],gzencode:["string gzencode(string data [, int level [, int encoding_mode]])","GZ encode a string"],gzfile:["array gzfile(string filename [, int use_include_path])","Read und uncompress entire .gz-file into an array"],gzinflate:["string gzinflate(string data [, int length])","Unzip a gzip-compressed string"],gzopen:["resource gzopen(string filename, string mode [, int use_include_path])","Open a .gz-file and return a .gz-file pointer"],gzuncompress:["string gzuncompress(string data [, int length])","Unzip a gzip-compressed string"],hash:["string hash(string algo, string data[, bool raw_output = false])","Generate a hash of a given input string Returns lowercase hexits by default"],hash_algos:["array hash_algos(void)","Return a list of registered hashing algorithms"],hash_copy:["resource hash_copy(resource context)","Copy hash resource"],hash_file:["string hash_file(string algo, string filename[, bool raw_output = false])","Generate a hash of a given file Returns lowercase hexits by default"],hash_final:["string hash_final(resource context[, bool raw_output=false])","Output resulting digest"],hash_hmac:["string hash_hmac(string algo, string data, string key[, bool raw_output = false])","Generate a hash of a given input string with a key using HMAC Returns lowercase hexits by default"],hash_hmac_file:["string hash_hmac_file(string algo, string filename, string key[, bool raw_output = false])","Generate a hash of a given file with a key using HMAC Returns lowercase hexits by default"],hash_init:["resource hash_init(string algo[, int options, string key])","Initialize a hashing context"],hash_update:["bool hash_update(resource context, string data)","Pump data into the hashing algorithm"],hash_update_file:["bool hash_update_file(resource context, string filename[, resource context])","Pump data into the hashing algorithm from a file"],hash_update_stream:["int hash_update_stream(resource context, resource handle[, integer length])","Pump data into the hashing algorithm from an open stream"],header:["void header(string header [, bool replace, [int http_response_code]])","Sends a raw HTTP header"],header_remove:["void header_remove([string name])","Removes an HTTP header previously set using header()"],headers_list:["array headers_list(void)","Return list of headers to be sent / already sent"],headers_sent:["bool headers_sent([string &$file [, int &$line]])","Returns true if headers have already been sent, false otherwise"],hebrev:["string hebrev(string str [, int max_chars_per_line])","Converts logical Hebrew text to visual text"],hebrevc:["string hebrevc(string str [, int max_chars_per_line])","Converts logical Hebrew text to visual text with newline conversion"],hexdec:["int hexdec(string hexadecimal_number)","Returns the decimal equivalent of the hexadecimal number"],highlight_file:["bool highlight_file(string file_name [, bool return] )","Syntax highlight a source file"],highlight_string:["bool highlight_string(string string [, bool return] )","Syntax highlight a string or optionally return it"],html_entity_decode:["string html_entity_decode(string string [, int quote_style][, string charset])","Convert all HTML entities to their applicable characters"],htmlentities:["string htmlentities(string string [, int quote_style[, string charset[, bool double_encode]]])","Convert all applicable characters to HTML entities"],htmlspecialchars:["string htmlspecialchars(string string [, int quote_style[, string charset[, bool double_encode]]])","Convert special characters to HTML entities"],htmlspecialchars_decode:["string htmlspecialchars_decode(string string [, int quote_style])","Convert special HTML entities back to characters"],http_build_query:["string http_build_query(mixed formdata [, string prefix [, string arg_separator]])","Generates a form-encoded query string from an associative array or object."],hypot:["float hypot(float num1, float num2)","Returns sqrt(num1*num1 + num2*num2)"],ibase_add_user:["bool ibase_add_user(resource service_handle, string user_name, string password [, string first_name [, string middle_name [, string last_name]]])","Add a user to security database"],ibase_affected_rows:["int ibase_affected_rows( [ resource link_identifier ] )","Returns the number of rows affected by the previous INSERT, UPDATE or DELETE statement"],ibase_backup:["mixed ibase_backup(resource service_handle, string source_db, string dest_file [, int options [, bool verbose]])","Initiates a backup task in the service manager and returns immediately"],ibase_blob_add:["bool ibase_blob_add(resource blob_handle, string data)","Add data into created blob"],ibase_blob_cancel:["bool ibase_blob_cancel(resource blob_handle)","Cancel creating blob"],ibase_blob_close:["string ibase_blob_close(resource blob_handle)","Close blob"],ibase_blob_create:["resource ibase_blob_create([resource link_identifier])","Create blob for adding data"],ibase_blob_echo:["bool ibase_blob_echo([ resource link_identifier, ] string blob_id)","Output blob contents to browser"],ibase_blob_get:["string ibase_blob_get(resource blob_handle, int len)","Get len bytes data from open blob"],ibase_blob_import:["string ibase_blob_import([ resource link_identifier, ] resource file)","Create blob, copy file in it, and close it"],ibase_blob_info:["array ibase_blob_info([ resource link_identifier, ] string blob_id)","Return blob length and other useful info"],ibase_blob_open:["resource ibase_blob_open([ resource link_identifier, ] string blob_id)","Open blob for retrieving data parts"],ibase_close:["bool ibase_close([resource link_identifier])","Close an InterBase connection"],ibase_commit:["bool ibase_commit( resource link_identifier )","Commit transaction"],ibase_commit_ret:["bool ibase_commit_ret( resource link_identifier )","Commit transaction and retain the transaction context"],ibase_connect:["resource ibase_connect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])","Open a connection to an InterBase database"],ibase_db_info:["string ibase_db_info(resource service_handle, string db, int action [, int argument])","Request statistics about a database"],ibase_delete_user:["bool ibase_delete_user(resource service_handle, string user_name, string password [, string first_name [, string middle_name [, string last_name]]])","Delete a user from security database"],ibase_drop_db:["bool ibase_drop_db([resource link_identifier])","Drop an InterBase database"],ibase_errcode:["int ibase_errcode(void)","Return error code"],ibase_errmsg:["string ibase_errmsg(void)","Return error message"],ibase_execute:["mixed ibase_execute(resource query [, mixed bind_arg [, mixed bind_arg [, ...]]])","Execute a previously prepared query"],ibase_fetch_assoc:["array ibase_fetch_assoc(resource result [, int fetch_flags])","Fetch a row from the results of a query"],ibase_fetch_object:["object ibase_fetch_object(resource result [, int fetch_flags])","Fetch a object from the results of a query"],ibase_fetch_row:["array ibase_fetch_row(resource result [, int fetch_flags])","Fetch a row from the results of a query"],ibase_field_info:["array ibase_field_info(resource query_result, int field_number)","Get information about a field"],ibase_free_event_handler:["bool ibase_free_event_handler(resource event)","Frees the event handler set by ibase_set_event_handler()"],ibase_free_query:["bool ibase_free_query(resource query)","Free memory used by a query"],ibase_free_result:["bool ibase_free_result(resource result)","Free the memory used by a result"],ibase_gen_id:["int ibase_gen_id(string generator [, int increment [, resource link_identifier ]])","Increments the named generator and returns its new value"],ibase_maintain_db:["bool ibase_maintain_db(resource service_handle, string db, int action [, int argument])","Execute a maintenance command on the database server"],ibase_modify_user:["bool ibase_modify_user(resource service_handle, string user_name, string password [, string first_name [, string middle_name [, string last_name]]])","Modify a user in security database"],ibase_name_result:["bool ibase_name_result(resource result, string name)","Assign a name to a result for use with ... WHERE CURRENT OF <name> statements"],ibase_num_fields:["int ibase_num_fields(resource query_result)","Get the number of fields in result"],ibase_num_params:["int ibase_num_params(resource query)","Get the number of params in a prepared query"],ibase_num_rows:["int ibase_num_rows( resource result_identifier )","Return the number of rows that are available in a result"],ibase_param_info:["array ibase_param_info(resource query, int field_number)","Get information about a parameter"],ibase_pconnect:["resource ibase_pconnect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])","Open a persistent connection to an InterBase database"],ibase_prepare:["resource ibase_prepare(resource link_identifier[, string query [, resource trans_identifier ]])","Prepare a query for later execution"],ibase_query:["mixed ibase_query([resource link_identifier, [ resource link_identifier, ]] string query [, mixed bind_arg [, mixed bind_arg [, ...]]])","Execute a query"],ibase_restore:["mixed ibase_restore(resource service_handle, string source_file, string dest_db [, int options [, bool verbose]])","Initiates a restore task in the service manager and returns immediately"],ibase_rollback:["bool ibase_rollback( resource link_identifier )","Rollback transaction"],ibase_rollback_ret:["bool ibase_rollback_ret( resource link_identifier )","Rollback transaction and retain the transaction context"],ibase_server_info:["string ibase_server_info(resource service_handle, int action)","Request information about a database server"],ibase_service_attach:["resource ibase_service_attach(string host, string dba_username, string dba_password)","Connect to the service manager"],ibase_service_detach:["bool ibase_service_detach(resource service_handle)","Disconnect from the service manager"],ibase_set_event_handler:["resource ibase_set_event_handler([resource link_identifier,] callback handler, string event [, string event [, ...]])","Register the callback for handling each of the named events"],ibase_trans:["resource ibase_trans([int trans_args [, resource link_identifier [, ... ], int trans_args [, resource link_identifier [, ... ]] [, ...]]])","Start a transaction over one or several databases"],ibase_wait_event:["string ibase_wait_event([resource link_identifier,] string event [, string event [, ...]])","Waits for any one of the passed Interbase events to be posted by the database, and returns its name"],iconv:["string iconv(string in_charset, string out_charset, string str)","Returns str converted to the out_charset character set"],iconv_get_encoding:["mixed iconv_get_encoding([string type])","Get internal encoding and output encoding for ob_iconv_handler()"],iconv_mime_decode:["string iconv_mime_decode(string encoded_string [, int mode, string charset])","Decodes a mime header field"],iconv_mime_decode_headers:["array iconv_mime_decode_headers(string headers [, int mode, string charset])","Decodes multiple mime header fields"],iconv_mime_encode:["string iconv_mime_encode(string field_name, string field_value [, array preference])","Composes a mime header field with field_name and field_value in a specified scheme"],iconv_set_encoding:["bool iconv_set_encoding(string type, string charset)","Sets internal encoding and output encoding for ob_iconv_handler()"],iconv_strlen:["int iconv_strlen(string str [, string charset])","Returns the character count of str"],iconv_strpos:["int iconv_strpos(string haystack, string needle [, int offset [, string charset]])","Finds position of first occurrence of needle within part of haystack beginning with offset"],iconv_strrpos:["int iconv_strrpos(string haystack, string needle [, string charset])","Finds position of last occurrence of needle within part of haystack beginning with offset"],iconv_substr:["string iconv_substr(string str, int offset, [int length, string charset])","Returns specified part of a string"],idate:["int idate(string format [, int timestamp])","Format a local time/date as integer"],idn_to_ascii:["int idn_to_ascii(string domain[, int options])","Converts an Unicode domain to ASCII representation, as defined in the IDNA RFC"],idn_to_utf8:["int idn_to_utf8(string domain[, int options])","Converts an ASCII representation of the domain to Unicode (UTF-8), as defined in the IDNA RFC"],ignore_user_abort:["int ignore_user_abort([string value])","Set whether we want to ignore a user abort event or not"],image2wbmp:["bool image2wbmp(resource im [, string filename [, int threshold]])","Output WBMP image to browser or file"],image_type_to_extension:["string image_type_to_extension(int imagetype [, bool include_dot])","Get file extension for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype"],image_type_to_mime_type:["string image_type_to_mime_type(int imagetype)","Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype"],imagealphablending:["bool imagealphablending(resource im, bool on)","Turn alpha blending mode on or off for the given image"],imageantialias:["bool imageantialias(resource im, bool on)","Should antialiased functions used or not"],imagearc:["bool imagearc(resource im, int cx, int cy, int w, int h, int s, int e, int col)","Draw a partial ellipse"],imagechar:["bool imagechar(resource im, int font, int x, int y, string c, int col)","Draw a character"],imagecharup:["bool imagecharup(resource im, int font, int x, int y, string c, int col)","Draw a character rotated 90 degrees counter-clockwise"],imagecolorallocate:["int imagecolorallocate(resource im, int red, int green, int blue)","Allocate a color for an image"],imagecolorallocatealpha:["int imagecolorallocatealpha(resource im, int red, int green, int blue, int alpha)","Allocate a color with an alpha level. Works for true color and palette based images"],imagecolorat:["int imagecolorat(resource im, int x, int y)","Get the index of the color of a pixel"],imagecolorclosest:["int imagecolorclosest(resource im, int red, int green, int blue)","Get the index of the closest color to the specified color"],imagecolorclosestalpha:["int imagecolorclosestalpha(resource im, int red, int green, int blue, int alpha)","Find the closest matching colour with alpha transparency"],imagecolorclosesthwb:["int imagecolorclosesthwb(resource im, int red, int green, int blue)","Get the index of the color which has the hue, white and blackness nearest to the given color"],imagecolordeallocate:["bool imagecolordeallocate(resource im, int index)","De-allocate a color for an image"],imagecolorexact:["int imagecolorexact(resource im, int red, int green, int blue)","Get the index of the specified color"],imagecolorexactalpha:["int imagecolorexactalpha(resource im, int red, int green, int blue, int alpha)","Find exact match for colour with transparency"],imagecolormatch:["bool imagecolormatch(resource im1, resource im2)","Makes the colors of the palette version of an image more closely match the true color version"],imagecolorresolve:["int imagecolorresolve(resource im, int red, int green, int blue)","Get the index of the specified color or its closest possible alternative"],imagecolorresolvealpha:["int imagecolorresolvealpha(resource im, int red, int green, int blue, int alpha)","Resolve/Allocate a colour with an alpha level. Works for true colour and palette based images"],imagecolorset:["void imagecolorset(resource im, int col, int red, int green, int blue)","Set the color for the specified palette index"],imagecolorsforindex:["array imagecolorsforindex(resource im, int col)","Get the colors for an index"],imagecolorstotal:["int imagecolorstotal(resource im)","Find out the number of colors in an image's palette"],imagecolortransparent:["int imagecolortransparent(resource im [, int col])","Define a color as transparent"],imageconvolution:["resource imageconvolution(resource src_im, array matrix3x3, double div, double offset)","Apply a 3x3 convolution matrix, using coefficient div and offset"],imagecopy:["bool imagecopy(resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)","Copy part of an image"],imagecopymerge:["bool imagecopymerge(resource src_im, resource dst_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct)","Merge one part of an image with another"],imagecopymergegray:["bool imagecopymergegray(resource src_im, resource dst_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct)","Merge one part of an image with another"],imagecopyresampled:["bool imagecopyresampled(resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)","Copy and resize part of an image using resampling to help ensure clarity"],imagecopyresized:["bool imagecopyresized(resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)","Copy and resize part of an image"],imagecreate:["resource imagecreate(int x_size, int y_size)","Create a new image"],imagecreatefromgd:["resource imagecreatefromgd(string filename)","Create a new image from GD file or URL"],imagecreatefromgd2:["resource imagecreatefromgd2(string filename)","Create a new image from GD2 file or URL"],imagecreatefromgd2part:["resource imagecreatefromgd2part(string filename, int srcX, int srcY, int width, int height)","Create a new image from a given part of GD2 file or URL"],imagecreatefromgif:["resource imagecreatefromgif(string filename)","Create a new image from GIF file or URL"],imagecreatefromjpeg:["resource imagecreatefromjpeg(string filename)","Create a new image from JPEG file or URL"],imagecreatefrompng:["resource imagecreatefrompng(string filename)","Create a new image from PNG file or URL"],imagecreatefromstring:["resource imagecreatefromstring(string image)","Create a new image from the image stream in the string"],imagecreatefromwbmp:["resource imagecreatefromwbmp(string filename)","Create a new image from WBMP file or URL"],imagecreatefromxbm:["resource imagecreatefromxbm(string filename)","Create a new image from XBM file or URL"],imagecreatefromxpm:["resource imagecreatefromxpm(string filename)","Create a new image from XPM file or URL"],imagecreatetruecolor:["resource imagecreatetruecolor(int x_size, int y_size)","Create a new true color image"],imagedashedline:["bool imagedashedline(resource im, int x1, int y1, int x2, int y2, int col)","Draw a dashed line"],imagedestroy:["bool imagedestroy(resource im)","Destroy an image"],imageellipse:["bool imageellipse(resource im, int cx, int cy, int w, int h, int color)","Draw an ellipse"],imagefill:["bool imagefill(resource im, int x, int y, int col)","Flood fill"],imagefilledarc:["bool imagefilledarc(resource im, int cx, int cy, int w, int h, int s, int e, int col, int style)","Draw a filled partial ellipse"],imagefilledellipse:["bool imagefilledellipse(resource im, int cx, int cy, int w, int h, int color)","Draw an ellipse"],imagefilledpolygon:["bool imagefilledpolygon(resource im, array point, int num_points, int col)","Draw a filled polygon"],imagefilledrectangle:["bool imagefilledrectangle(resource im, int x1, int y1, int x2, int y2, int col)","Draw a filled rectangle"],imagefilltoborder:["bool imagefilltoborder(resource im, int x, int y, int border, int col)","Flood fill to specific color"],imagefilter:["bool imagefilter(resource src_im, int filtertype, [args] )","Applies Filter an image using a custom angle"],imagefontheight:["int imagefontheight(int font)","Get font height"],imagefontwidth:["int imagefontwidth(int font)","Get font width"],imageftbbox:["array imageftbbox(float size, float angle, string font_file, string text [, array extrainfo])","Give the bounding box of a text using fonts via freetype2"],imagefttext:["array imagefttext(resource im, float size, float angle, int x, int y, int col, string font_file, string text [, array extrainfo])","Write text to the image using fonts via freetype2"],imagegammacorrect:["bool imagegammacorrect(resource im, float inputgamma, float outputgamma)","Apply a gamma correction to a GD image"],imagegd:["bool imagegd(resource im [, string filename])","Output GD image to browser or file"],imagegd2:["bool imagegd2(resource im [, string filename, [, int chunk_size, [, int type]]])","Output GD2 image to browser or file"],imagegif:["bool imagegif(resource im [, string filename])","Output GIF image to browser or file"],imagegrabscreen:["resource imagegrabscreen()","Grab a screenshot"],imagegrabwindow:["resource imagegrabwindow(int window_handle [, int client_area])","Grab a window or its client area using a windows handle (HWND property in COM instance)"],imageinterlace:["int imageinterlace(resource im [, int interlace])","Enable or disable interlace"],imageistruecolor:["bool imageistruecolor(resource im)","return true if the image uses truecolor"],imagejpeg:["bool imagejpeg(resource im [, string filename [, int quality]])","Output JPEG image to browser or file"],imagelayereffect:["bool imagelayereffect(resource im, int effect)","Set the alpha blending flag to use the bundled libgd layering effects"],imageline:["bool imageline(resource im, int x1, int y1, int x2, int y2, int col)","Draw a line"],imageloadfont:["int imageloadfont(string filename)","Load a new font"],imagepalettecopy:["void imagepalettecopy(resource dst, resource src)","Copy the palette from the src image onto the dst image"],imagepng:["bool imagepng(resource im [, string filename])","Output PNG image to browser or file"],imagepolygon:["bool imagepolygon(resource im, array point, int num_points, int col)","Draw a polygon"],imagepsbbox:["array imagepsbbox(string text, resource font, int size [, int space, int tightness, float angle])","Return the bounding box needed by a string if rasterized"],imagepscopyfont:["int imagepscopyfont(int font_index)","Make a copy of a font for purposes like extending or reenconding"],imagepsencodefont:["bool imagepsencodefont(resource font_index, string filename)","To change a fonts character encoding vector"],imagepsextendfont:["bool imagepsextendfont(resource font_index, float extend)","Extend or or condense (if extend < 1) a font"],imagepsfreefont:["bool imagepsfreefont(resource font_index)","Free memory used by a font"],imagepsloadfont:["resource imagepsloadfont(string pathname)","Load a new font from specified file"],imagepsslantfont:["bool imagepsslantfont(resource font_index, float slant)","Slant a font"],imagepstext:["array imagepstext(resource image, string text, resource font, int size, int foreground, int background, int xcoord, int ycoord [, int space [, int tightness [, float angle [, int antialias])","Rasterize a string over an image"],imagerectangle:["bool imagerectangle(resource im, int x1, int y1, int x2, int y2, int col)","Draw a rectangle"],imagerotate:["resource imagerotate(resource src_im, float angle, int bgdcolor [, int ignoretransparent])","Rotate an image using a custom angle"],imagesavealpha:["bool imagesavealpha(resource im, bool on)","Include alpha channel to a saved image"],imagesetbrush:["bool imagesetbrush(resource image, resource brush)",'Set the brush image to $brush when filling $image with the "IMG_COLOR_BRUSHED" color'],imagesetpixel:["bool imagesetpixel(resource im, int x, int y, int col)","Set a single pixel"],imagesetstyle:["bool imagesetstyle(resource im, array styles)","Set the line drawing styles for use with imageline and IMG_COLOR_STYLED."],imagesetthickness:["bool imagesetthickness(resource im, int thickness)","Set line thickness for drawing lines, ellipses, rectangles, polygons etc."],imagesettile:["bool imagesettile(resource image, resource tile)",'Set the tile image to $tile when filling $image with the "IMG_COLOR_TILED" color'],imagestring:["bool imagestring(resource im, int font, int x, int y, string str, int col)","Draw a string horizontally"],imagestringup:["bool imagestringup(resource im, int font, int x, int y, string str, int col)","Draw a string vertically - rotated 90 degrees counter-clockwise"],imagesx:["int imagesx(resource im)","Get image width"],imagesy:["int imagesy(resource im)","Get image height"],imagetruecolortopalette:["void imagetruecolortopalette(resource im, bool ditherFlag, int colorsWanted)","Convert a true colour image to a palette based image with a number of colours, optionally using dithering."],imagettfbbox:["array imagettfbbox(float size, float angle, string font_file, string text)","Give the bounding box of a text using TrueType fonts"],imagettftext:["array imagettftext(resource im, float size, float angle, int x, int y, int col, string font_file, string text)","Write text to the image using a TrueType font"],imagetypes:["int imagetypes(void)","Return the types of images supported in a bitfield - 1=GIF, 2=JPEG, 4=PNG, 8=WBMP, 16=XPM"],imagewbmp:["bool imagewbmp(resource im [, string filename, [, int foreground]])","Output WBMP image to browser or file"],imagexbm:["int imagexbm(int im, string filename [, int foreground])","Output XBM image to browser or file"],imap_8bit:["string imap_8bit(string text)","Convert an 8-bit string to a quoted-printable string"],imap_alerts:["array imap_alerts(void)","Returns an array of all IMAP alerts that have been generated since the last page load or since the last imap_alerts() call, whichever came last. The alert stack is cleared after imap_alerts() is called."],imap_append:["bool imap_append(resource stream_id, string folder, string message [, string options [, string internal_date]])","Append a new message to a specified mailbox"],imap_base64:["string imap_base64(string text)","Decode BASE64 encoded text"],imap_binary:["string imap_binary(string text)","Convert an 8bit string to a base64 string"],imap_body:["string imap_body(resource stream_id, int msg_no [, int options])","Read the message body"],imap_bodystruct:["object imap_bodystruct(resource stream_id, int msg_no, string section)","Read the structure of a specified body section of a specific message"],imap_check:["object imap_check(resource stream_id)","Get mailbox properties"],imap_clearflag_full:["bool imap_clearflag_full(resource stream_id, string sequence, string flag [, int options])","Clears flags on messages"],imap_close:["bool imap_close(resource stream_id [, int options])","Close an IMAP stream"],imap_createmailbox:["bool imap_createmailbox(resource stream_id, string mailbox)","Create a new mailbox"],imap_delete:["bool imap_delete(resource stream_id, int msg_no [, int options])","Mark a message for deletion"],imap_deletemailbox:["bool imap_deletemailbox(resource stream_id, string mailbox)","Delete a mailbox"],imap_errors:["array imap_errors(void)","Returns an array of all IMAP errors generated since the last page load, or since the last imap_errors() call, whichever came last. The error stack is cleared after imap_errors() is called."],imap_expunge:["bool imap_expunge(resource stream_id)","Permanently delete all messages marked for deletion"],imap_fetch_overview:["array imap_fetch_overview(resource stream_id, string sequence [, int options])","Read an overview of the information in the headers of the given message sequence"],imap_fetchbody:["string imap_fetchbody(resource stream_id, int msg_no, string section [, int options])","Get a specific body section"],imap_fetchheader:["string imap_fetchheader(resource stream_id, int msg_no [, int options])","Get the full unfiltered header for a message"],imap_fetchstructure:["object imap_fetchstructure(resource stream_id, int msg_no [, int options])","Read the full structure of a message"],imap_gc:["bool imap_gc(resource stream_id, int flags)","This function garbage collects (purges) the cache of entries of a specific type."],imap_get_quota:["array imap_get_quota(resource stream_id, string qroot)","Returns the quota set to the mailbox account qroot"],imap_get_quotaroot:["array imap_get_quotaroot(resource stream_id, string mbox)","Returns the quota set to the mailbox account mbox"],imap_getacl:["array imap_getacl(resource stream_id, string mailbox)","Gets the ACL for a given mailbox"],imap_getmailboxes:["array imap_getmailboxes(resource stream_id, string ref, string pattern)","Reads the list of mailboxes and returns a full array of objects containing name, attributes, and delimiter"],imap_getsubscribed:["array imap_getsubscribed(resource stream_id, string ref, string pattern)","Return a list of subscribed mailboxes, in the same format as imap_getmailboxes()"],imap_headerinfo:["object imap_headerinfo(resource stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])","Read the headers of the message"],imap_headers:["array imap_headers(resource stream_id)","Returns headers for all messages in a mailbox"],imap_last_error:["string imap_last_error(void)","Returns the last error that was generated by an IMAP function. The error stack is NOT cleared after this call."],imap_list:["array imap_list(resource stream_id, string ref, string pattern)","Read the list of mailboxes"],imap_listscan:["array imap_listscan(resource stream_id, string ref, string pattern, string content)","Read list of mailboxes containing a certain string"],imap_lsub:["array imap_lsub(resource stream_id, string ref, string pattern)","Return a list of subscribed mailboxes"],imap_mail:["bool imap_mail(string to, string subject, string message [, string additional_headers [, string cc [, string bcc [, string rpath]]]])","Send an email message"],imap_mail_compose:["string imap_mail_compose(array envelope, array body)","Create a MIME message based on given envelope and body sections"],imap_mail_copy:["bool imap_mail_copy(resource stream_id, string msglist, string mailbox [, int options])","Copy specified message to a mailbox"],imap_mail_move:["bool imap_mail_move(resource stream_id, string sequence, string mailbox [, int options])","Move specified message to a mailbox"],imap_mailboxmsginfo:["object imap_mailboxmsginfo(resource stream_id)","Returns info about the current mailbox"],imap_mime_header_decode:["array imap_mime_header_decode(string str)","Decode mime header element in accordance with RFC 2047 and return array of objects containing 'charset' encoding and decoded 'text'"],imap_msgno:["int imap_msgno(resource stream_id, int unique_msg_id)","Get the sequence number associated with a UID"],imap_mutf7_to_utf8:["string imap_mutf7_to_utf8(string in)","Decode a modified UTF-7 string to UTF-8"],imap_num_msg:["int imap_num_msg(resource stream_id)","Gives the number of messages in the current mailbox"],imap_num_recent:["int imap_num_recent(resource stream_id)","Gives the number of recent messages in current mailbox"],imap_open:["resource imap_open(string mailbox, string user, string password [, int options [, int n_retries]])","Open an IMAP stream to a mailbox"],imap_ping:["bool imap_ping(resource stream_id)","Check if the IMAP stream is still active"],imap_qprint:["string imap_qprint(string text)","Convert a quoted-printable string to an 8-bit string"],imap_renamemailbox:["bool imap_renamemailbox(resource stream_id, string old_name, string new_name)","Rename a mailbox"],imap_reopen:["bool imap_reopen(resource stream_id, string mailbox [, int options [, int n_retries]])","Reopen an IMAP stream to a new mailbox"],imap_rfc822_parse_adrlist:["array imap_rfc822_parse_adrlist(string address_string, string default_host)","Parses an address string"],imap_rfc822_parse_headers:["object imap_rfc822_parse_headers(string headers [, string default_host])","Parse a set of mail headers contained in a string, and return an object similar to imap_headerinfo()"],imap_rfc822_write_address:["string imap_rfc822_write_address(string mailbox, string host, string personal)","Returns a properly formatted email address given the mailbox, host, and personal info"],imap_savebody:['bool imap_savebody(resource stream_id, string|resource file, int msg_no[, string section = ""[, int options = 0]])',"Save a specific body section to a file"],imap_search:["array imap_search(resource stream_id, string criteria [, int options [, string charset]])","Return a list of messages matching the given criteria"],imap_set_quota:["bool imap_set_quota(resource stream_id, string qroot, int mailbox_size)","Will set the quota for qroot mailbox"],imap_setacl:["bool imap_setacl(resource stream_id, string mailbox, string id, string rights)","Sets the ACL for a given mailbox"],imap_setflag_full:["bool imap_setflag_full(resource stream_id, string sequence, string flag [, int options])","Sets flags on messages"],imap_sort:["array imap_sort(resource stream_id, int criteria, int reverse [, int options [, string search_criteria [, string charset]]])","Sort an array of message headers, optionally including only messages that meet specified criteria."],imap_status:["object imap_status(resource stream_id, string mailbox, int options)","Get status info from a mailbox"],imap_subscribe:["bool imap_subscribe(resource stream_id, string mailbox)","Subscribe to a mailbox"],imap_thread:["array imap_thread(resource stream_id [, int options])","Return threaded by REFERENCES tree"],imap_timeout:["mixed imap_timeout(int timeout_type [, int timeout])","Set or fetch imap timeout"],imap_uid:["int imap_uid(resource stream_id, int msg_no)","Get the unique message id associated with a standard sequential message number"],imap_undelete:["bool imap_undelete(resource stream_id, int msg_no [, int flags])","Remove the delete flag from a message"],imap_unsubscribe:["bool imap_unsubscribe(resource stream_id, string mailbox)","Unsubscribe from a mailbox"],imap_utf7_decode:["string imap_utf7_decode(string buf)","Decode a modified UTF-7 string"],imap_utf7_encode:["string imap_utf7_encode(string buf)","Encode a string in modified UTF-7"],imap_utf8:["string imap_utf8(string mime_encoded_text)","Convert a mime-encoded text to UTF-8"],imap_utf8_to_mutf7:["string imap_utf8_to_mutf7(string in)","Encode a UTF-8 string to modified UTF-7"],implode:["string implode([string glue,] array pieces)","Joins array elements placing glue string between items and return one string"],import_request_variables:["bool import_request_variables(string types [, string prefix])","Import GET/POST/Cookie variables into the global scope"],in_array:["bool in_array(mixed needle, array haystack [, bool strict])","Checks if the given value exists in the array"],include:["bool include(string path)","Includes and evaluates the specified file"],include_once:["bool include_once(string path)","Includes and evaluates the specified file"],inet_ntop:["string inet_ntop(string in_addr)","Converts a packed inet address to a human readable IP address string"],inet_pton:["string inet_pton(string ip_address)","Converts a human readable IP address to a packed binary string"],ini_get:["string ini_get(string varname)","Get a configuration option"],ini_get_all:["array ini_get_all([string extension[, bool details = true]])","Get all configuration options"],ini_restore:["void ini_restore(string varname)","Restore the value of a configuration option specified by varname"],ini_set:["string ini_set(string varname, string newvalue)","Set a configuration option, returns false on error and the old value of the configuration option on success"],interface_exists:["bool interface_exists(string classname [, bool autoload])","Checks if the class exists"],intl_error_name:["string intl_error_name()","* Return a string for a given error code. * The string will be the same as the name of the error code constant."],intl_get_error_code:["int intl_get_error_code()","* Get code of the last occured error."],intl_get_error_message:["string intl_get_error_message()","* Get text description of the last occured error."],intl_is_failure:["bool intl_is_failure()","* Check whether the given error code indicates a failure. * Returns true if it does, and false if the code * indicates success or a warning."],intval:["int intval(mixed var [, int base])","Get the integer value of a variable using the optional base for the conversion"],ip2long:["int ip2long(string ip_address)","Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address"],iptcembed:["array iptcembed(string iptcdata, string jpeg_file_name [, int spool])","Embed binary IPTC data into a JPEG image."],iptcparse:["array iptcparse(string iptcdata)","Parse binary IPTC-data into associative array"],is_a:["bool is_a(object object, string class_name)","Returns true if the object is of this class or has this class as one of its parents"],is_array:["bool is_array(mixed var)","Returns true if variable is an array"],is_bool:["bool is_bool(mixed var)","Returns true if variable is a boolean"],is_callable:["bool is_callable(mixed var [, bool syntax_only [, string callable_name]])","Returns true if var is callable."],is_dir:["bool is_dir(string filename)","Returns true if file is directory"],is_executable:["bool is_executable(string filename)","Returns true if file is executable"],is_file:["bool is_file(string filename)","Returns true if file is a regular file"],is_finite:["bool is_finite(float val)","Returns whether argument is finite"],is_float:["bool is_float(mixed var)","Returns true if variable is float point"],is_infinite:["bool is_infinite(float val)","Returns whether argument is infinite"],is_link:["bool is_link(string filename)","Returns true if file is symbolic link"],is_long:["bool is_long(mixed var)","Returns true if variable is a long (integer)"],is_nan:["bool is_nan(float val)","Returns whether argument is not a number"],is_null:["bool is_null(mixed var)","Returns true if variable is null"],is_numeric:["bool is_numeric(mixed value)","Returns true if value is a number or a numeric string"],is_object:["bool is_object(mixed var)","Returns true if variable is an object"],is_readable:["bool is_readable(string filename)","Returns true if file can be read"],is_resource:["bool is_resource(mixed var)","Returns true if variable is a resource"],is_scalar:["bool is_scalar(mixed value)","Returns true if value is a scalar"],is_string:["bool is_string(mixed var)","Returns true if variable is a string"],is_subclass_of:["bool is_subclass_of(object object, string class_name)","Returns true if the object has this class as one of its parents"],is_uploaded_file:["bool is_uploaded_file(string path)","Check if file was created by rfc1867 upload"],is_writable:["bool is_writable(string filename)","Returns true if file can be written"],isset:["bool isset(mixed var [, mixed var])","Determine whether a variable is set"],iterator_apply:["int iterator_apply(Traversable it, mixed function [, mixed params])","Calls a function for every element in an iterator"],iterator_count:["int iterator_count(Traversable it)","Count the elements in an iterator"],iterator_to_array:["array iterator_to_array(Traversable it [, bool use_keys = true])","Copy the iterator into an array"],jddayofweek:["mixed jddayofweek(int juliandaycount [, int mode])","Returns name or number of day of week from julian day count"],jdmonthname:["string jdmonthname(int juliandaycount, int mode)","Returns name of month for julian day count"],jdtofrench:["string jdtofrench(int juliandaycount)","Converts a julian day count to a french republic calendar date"],jdtogregorian:["string jdtogregorian(int juliandaycount)","Converts a julian day count to a gregorian calendar date"],jdtojewish:["string jdtojewish(int juliandaycount [, bool hebrew [, int fl]])","Converts a julian day count to a jewish calendar date"],jdtojulian:["string jdtojulian(int juliandaycount)","Convert a julian day count to a julian calendar date"],jdtounix:["int jdtounix(int jday)","Convert Julian Day to UNIX timestamp"],jewishtojd:["int jewishtojd(int month, int day, int year)","Converts a jewish calendar date to a julian day count"],join:["string join(array src, string glue)","An alias for implode"],jpeg2wbmp:["bool jpeg2wbmp (string f_org, string f_dest, int d_height, int d_width, int threshold)","Convert JPEG image to WBMP image"],json_decode:["mixed json_decode(string json [, bool assoc [, long depth]])","Decodes the JSON representation into a PHP value"],json_encode:["string json_encode(mixed data [, int options])","Returns the JSON representation of a value"],json_last_error:["int json_last_error()","Returns the error code of the last json_decode()."],juliantojd:["int juliantojd(int month, int day, int year)","Converts a julian calendar date to julian day count"],key:["mixed key(array array_arg)","Return the key of the element currently pointed to by the internal array pointer"],krsort:["bool krsort(array &array_arg [, int sort_flags])","Sort an array by key value in reverse order"],ksort:["bool ksort(array &array_arg [, int sort_flags])","Sort an array by key"],lcfirst:["string lcfirst(string str)","Make a string's first character lowercase"],lcg_value:["float lcg_value()","Returns a value from the combined linear congruential generator"],lchgrp:["bool lchgrp(string filename, mixed group)","Change symlink group"],ldap_8859_to_t61:["string ldap_8859_to_t61(string value)","Translate 8859 characters to t61 characters"],ldap_add:["bool ldap_add(resource link, string dn, array entry)","Add entries to LDAP directory"],ldap_bind:["bool ldap_bind(resource link [, string dn [, string password]])","Bind to LDAP directory"],ldap_compare:["bool ldap_compare(resource link, string dn, string attr, string value)","Determine if an entry has a specific value for one of its attributes"],ldap_connect:["resource ldap_connect([string host [, int port [, string wallet [, string wallet_passwd [, int authmode]]]]])","Connect to an LDAP server"],ldap_count_entries:["int ldap_count_entries(resource link, resource result)","Count the number of entries in a search result"],ldap_delete:["bool ldap_delete(resource link, string dn)","Delete an entry from a directory"],ldap_dn2ufn:["string ldap_dn2ufn(string dn)","Convert DN to User Friendly Naming format"],ldap_err2str:["string ldap_err2str(int errno)","Convert error number to error string"],ldap_errno:["int ldap_errno(resource link)","Get the current ldap error number"],ldap_error:["string ldap_error(resource link)","Get the current ldap error string"],ldap_explode_dn:["array ldap_explode_dn(string dn, int with_attrib)","Splits DN into its component parts"],ldap_first_attribute:["string ldap_first_attribute(resource link, resource result_entry)","Return first attribute"],ldap_first_entry:["resource ldap_first_entry(resource link, resource result)","Return first result id"],ldap_first_reference:["resource ldap_first_reference(resource link, resource result)","Return first reference"],ldap_free_result:["bool ldap_free_result(resource result)","Free result memory"],ldap_get_attributes:["array ldap_get_attributes(resource link, resource result_entry)","Get attributes from a search result entry"],ldap_get_dn:["string ldap_get_dn(resource link, resource result_entry)","Get the DN of a result entry"],ldap_get_entries:["array ldap_get_entries(resource link, resource result)","Get all result entries"],ldap_get_option:["bool ldap_get_option(resource link, int option, mixed retval)","Get the current value of various session-wide parameters"],ldap_get_values_len:["array ldap_get_values_len(resource link, resource result_entry, string attribute)","Get all values with lengths from a result entry"],ldap_list:["resource ldap_list(resource|array link, string base_dn, string filter [, array attrs [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])","Single-level search"],ldap_mod_add:["bool ldap_mod_add(resource link, string dn, array entry)","Add attribute values to current"],ldap_mod_del:["bool ldap_mod_del(resource link, string dn, array entry)","Delete attribute values"],ldap_mod_replace:["bool ldap_mod_replace(resource link, string dn, array entry)","Replace attribute values with new ones"],ldap_next_attribute:["string ldap_next_attribute(resource link, resource result_entry)","Get the next attribute in result"],ldap_next_entry:["resource ldap_next_entry(resource link, resource result_entry)","Get next result entry"],ldap_next_reference:["resource ldap_next_reference(resource link, resource reference_entry)","Get next reference"],ldap_parse_reference:["bool ldap_parse_reference(resource link, resource reference_entry, array referrals)","Extract information from reference entry"],ldap_parse_result:["bool ldap_parse_result(resource link, resource result, int errcode, string matcheddn, string errmsg, array referrals)","Extract information from result"],ldap_read:["resource ldap_read(resource|array link, string base_dn, string filter [, array attrs [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])","Read an entry"],ldap_rename:["bool ldap_rename(resource link, string dn, string newrdn, string newparent, bool deleteoldrdn);","Modify the name of an entry"],ldap_sasl_bind:["bool ldap_sasl_bind(resource link [, string binddn [, string password [, string sasl_mech [, string sasl_realm [, string sasl_authc_id [, string sasl_authz_id [, string props]]]]]]])","Bind to LDAP directory using SASL"],ldap_search:["resource ldap_search(resource|array link, string base_dn, string filter [, array attrs [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])","Search LDAP tree under base_dn"],ldap_set_option:["bool ldap_set_option(resource link, int option, mixed newval)","Set the value of various session-wide parameters"],ldap_set_rebind_proc:["bool ldap_set_rebind_proc(resource link, string callback)","Set a callback function to do re-binds on referral chasing."],ldap_sort:["bool ldap_sort(resource link, resource result, string sortfilter)","Sort LDAP result entries"],ldap_start_tls:["bool ldap_start_tls(resource link)","Start TLS"],ldap_t61_to_8859:["string ldap_t61_to_8859(string value)","Translate t61 characters to 8859 characters"],ldap_unbind:["bool ldap_unbind(resource link)","Unbind from LDAP directory"],leak:["void leak(int num_bytes=3)","Cause an intentional memory leak, for testing/debugging purposes"],levenshtein:["int levenshtein(string str1, string str2[, int cost_ins, int cost_rep, int cost_del])","Calculate Levenshtein distance between two strings"],libxml_clear_errors:["void libxml_clear_errors()","Clear last error from libxml"],libxml_disable_entity_loader:["bool libxml_disable_entity_loader([boolean disable])","Disable/Enable ability to load external entities"],libxml_get_errors:["object libxml_get_errors()","Retrieve array of errors"],libxml_get_last_error:["object libxml_get_last_error()","Retrieve last error from libxml"],libxml_set_streams_context:["void libxml_set_streams_context(resource streams_context)","Set the streams context for the next libxml document load or write"],libxml_use_internal_errors:["bool libxml_use_internal_errors([boolean use_errors])","Disable libxml errors and allow user to fetch error information as needed"],link:["int link(string target, string link)","Create a hard link"],linkinfo:["int linkinfo(string filename)","Returns the st_dev field of the UNIX C stat structure describing the link"],litespeed_request_headers:["array litespeed_request_headers(void)","Fetch all HTTP request headers"],litespeed_response_headers:["array litespeed_response_headers(void)","Fetch all HTTP response headers"],locale_accept_from_http:["string locale_accept_from_http(string $http_accept)",null],locale_canonicalize:["static string locale_canonicalize(Locale $loc, string $locale)","* @param string $locale The locale string to canonicalize"],locale_filter_matches:["boolean locale_filter_matches(string $langtag, string $locale[, bool $canonicalize])","* Checks if a $langtag filter matches with $locale according to RFC 4647's basic filtering algorithm"],locale_get_all_variants:["static array locale_get_all_variants($locale)","* gets an array containing the list of variants, or null"],locale_get_default:["static string locale_get_default( )","Get default locale"],locale_get_keywords:["static array locale_get_keywords(string $locale) {","* return an associative array containing keyword-value * pairs for this locale. The keys are keys to the array (doh!)"],locale_get_primary_language:["static string locale_get_primary_language($locale)","* gets the primary language for the $locale"],locale_get_region:["static string locale_get_region($locale)","* gets the region for the $locale"],locale_get_script:["static string locale_get_script($locale)","* gets the script for the $locale"],locale_lookup:["string locale_lookup(array $langtag, string $locale[, bool $canonicalize[, string $default = null]])","* Searchs the items in $langtag for the best match to the language * range"],locale_set_default:["static string locale_set_default( string $locale )","Set default locale"],localeconv:["array localeconv(void)","Returns numeric formatting information based on the current locale"],localtime:["array localtime([int timestamp [, bool associative_array]])","Returns the results of the C system call localtime as an associative array if the associative_array argument is set to 1 other wise it is a regular array"],log:["float log(float number, [float base])","Returns the natural logarithm of the number, or the base log if base is specified"],log10:["float log10(float number)","Returns the base-10 logarithm of the number"],log1p:["float log1p(float number)","Returns log(1 + number), computed in a way that accurate even when the value of number is close to zero"],long2ip:["string long2ip(int proper_address)","Converts an (IPv4) Internet network address into a string in Internet standard dotted format"],lstat:["array lstat(string filename)","Give information about a file or symbolic link"],ltrim:["string ltrim(string str [, string character_mask])","Strips whitespace from the beginning of a string"],mail:["int mail(string to, string subject, string message [, string additional_headers [, string additional_parameters]])","Send an email message"],max:["mixed max(mixed arg1 [, mixed arg2 [, mixed ...]])","Return the highest value in an array or a series of arguments"],mb_check_encoding:["bool mb_check_encoding([string var[, string encoding]])","Check if the string is valid for the specified encoding"],mb_convert_case:["string mb_convert_case(string sourcestring, int mode [, string encoding])","Returns a case-folded version of sourcestring"],mb_convert_encoding:["string mb_convert_encoding(string str, string to-encoding [, mixed from-encoding])","Returns converted string in desired encoding"],mb_convert_kana:["string mb_convert_kana(string str [, string option] [, string encoding])","Conversion between full-width character and half-width character (Japanese)"],mb_convert_variables:["string mb_convert_variables(string to-encoding, mixed from-encoding, mixed vars [, ...])","Converts the string resource in variables to desired encoding"],mb_decode_mimeheader:["string mb_decode_mimeheader(string string)",'Decodes the MIME "encoded-word" in the string'],mb_decode_numericentity:["string mb_decode_numericentity(string string, array convmap [, string encoding])","Converts HTML numeric entities to character code"],mb_detect_encoding:["string mb_detect_encoding(string str [, mixed encoding_list [, bool strict]])","Encodings of the given string is returned (as a string)"],mb_detect_order:["bool|array mb_detect_order([mixed encoding-list])","Sets the current detect_order or Return the current detect_order as a array"],mb_encode_mimeheader:["string mb_encode_mimeheader(string str [, string charset [, string transfer-encoding [, string linefeed [, int indent]]]])",'Converts the string to MIME "encoded-word" in the format of =?charset?(B|Q)?encoded_string?='],mb_encode_numericentity:["string mb_encode_numericentity(string string, array convmap [, string encoding])","Converts specified characters to HTML numeric entities"],mb_encoding_aliases:["array mb_encoding_aliases(string encoding)","Returns an array of the aliases of a given encoding name"],mb_ereg:["int mb_ereg(string pattern, string string [, array registers])","Regular expression match for multibyte string"],mb_ereg_match:["bool mb_ereg_match(string pattern, string string [,string option])","Regular expression match for multibyte string"],mb_ereg_replace:["string mb_ereg_replace(string pattern, string replacement, string string [, string option])","Replace regular expression for multibyte string"],mb_ereg_search:["bool mb_ereg_search([string pattern[, string option]])","Regular expression search for multibyte string"],mb_ereg_search_getpos:["int mb_ereg_search_getpos(void)","Get search start position"],mb_ereg_search_getregs:["array mb_ereg_search_getregs(void)","Get matched substring of the last time"],mb_ereg_search_init:["bool mb_ereg_search_init(string string [, string pattern[, string option]])","Initialize string and regular expression for search."],mb_ereg_search_pos:["array mb_ereg_search_pos([string pattern[, string option]])","Regular expression search for multibyte string"],mb_ereg_search_regs:["array mb_ereg_search_regs([string pattern[, string option]])","Regular expression search for multibyte string"],mb_ereg_search_setpos:["bool mb_ereg_search_setpos(int position)","Set search start position"],mb_eregi:["int mb_eregi(string pattern, string string [, array registers])","Case-insensitive regular expression match for multibyte string"],mb_eregi_replace:["string mb_eregi_replace(string pattern, string replacement, string string)","Case insensitive replace regular expression for multibyte string"],mb_get_info:["mixed mb_get_info([string type])","Returns the current settings of mbstring"],mb_http_input:["mixed mb_http_input([string type])","Returns the input encoding"],mb_http_output:["string mb_http_output([string encoding])","Sets the current output_encoding or returns the current output_encoding as a string"],mb_internal_encoding:["string mb_internal_encoding([string encoding])","Sets the current internal encoding or Returns the current internal encoding as a string"],mb_language:["string mb_language([string language])","Sets the current language or Returns the current language as a string"],mb_list_encodings:["mixed mb_list_encodings()","Returns an array of all supported entity encodings"],mb_output_handler:["string mb_output_handler(string contents, int status)","Returns string in output buffer converted to the http_output encoding"],mb_parse_str:["bool mb_parse_str(string encoded_string [, array result])","Parses GET/POST/COOKIE data and sets global variables"],mb_preferred_mime_name:["string mb_preferred_mime_name(string encoding)","Return the preferred MIME name (charset) as a string"],mb_regex_encoding:["string mb_regex_encoding([string encoding])","Returns the current encoding for regex as a string."],mb_regex_set_options:["string mb_regex_set_options([string options])","Set or get the default options for mbregex functions"],mb_send_mail:["int mb_send_mail(string to, string subject, string message [, string additional_headers [, string additional_parameters]])","* Sends an email message with MIME scheme"],mb_split:["array mb_split(string pattern, string string [, int limit])","split multibyte string into array by regular expression"],mb_strcut:["string mb_strcut(string str, int start [, int length [, string encoding]])","Returns part of a string"],mb_strimwidth:["string mb_strimwidth(string str, int start, int width [, string trimmarker [, string encoding]])","Trim the string in terminal width"],mb_stripos:["int mb_stripos(string haystack, string needle [, int offset [, string encoding]])","Finds position of first occurrence of a string within another, case insensitive"],mb_stristr:["string mb_stristr(string haystack, string needle[, bool part[, string encoding]])","Finds first occurrence of a string within another, case insensitive"],mb_strlen:["int mb_strlen(string str [, string encoding])","Get character numbers of a string"],mb_strpos:["int mb_strpos(string haystack, string needle [, int offset [, string encoding]])","Find position of first occurrence of a string within another"],mb_strrchr:["string mb_strrchr(string haystack, string needle[, bool part[, string encoding]])","Finds the last occurrence of a character in a string within another"],mb_strrichr:["string mb_strrichr(string haystack, string needle[, bool part[, string encoding]])","Finds the last occurrence of a character in a string within another, case insensitive"],mb_strripos:["int mb_strripos(string haystack, string needle [, int offset [, string encoding]])","Finds position of last occurrence of a string within another, case insensitive"],mb_strrpos:["int mb_strrpos(string haystack, string needle [, int offset [, string encoding]])","Find position of last occurrence of a string within another"],mb_strstr:["string mb_strstr(string haystack, string needle[, bool part[, string encoding]])","Finds first occurrence of a string within another"],mb_strtolower:["string mb_strtolower(string sourcestring [, string encoding])","* Returns a lowercased version of sourcestring"],mb_strtoupper:["string mb_strtoupper(string sourcestring [, string encoding])","* Returns a uppercased version of sourcestring"],mb_strwidth:["int mb_strwidth(string str [, string encoding])","Gets terminal width of a string"],mb_substitute_character:["mixed mb_substitute_character([mixed substchar])","Sets the current substitute_character or returns the current substitute_character"],mb_substr:["string mb_substr(string str, int start [, int length [, string encoding]])","Returns part of a string"],mb_substr_count:["int mb_substr_count(string haystack, string needle [, string encoding])","Count the number of substring occurrences"],mcrypt_cbc:["string mcrypt_cbc(int cipher, string key, string data, int mode, string iv)","CBC crypt/decrypt data using key key with cipher cipher starting with iv"],mcrypt_cfb:["string mcrypt_cfb(int cipher, string key, string data, int mode, string iv)","CFB crypt/decrypt data using key key with cipher cipher starting with iv"],mcrypt_create_iv:["string mcrypt_create_iv(int size, int source)","Create an initialization vector (IV)"],mcrypt_decrypt:["string mcrypt_decrypt(string cipher, string key, string data, string mode, string iv)","OFB crypt/decrypt data using key key with cipher cipher starting with iv"],mcrypt_ecb:["string mcrypt_ecb(int cipher, string key, string data, int mode, string iv)","ECB crypt/decrypt data using key key with cipher cipher starting with iv"],mcrypt_enc_get_algorithms_name:["string mcrypt_enc_get_algorithms_name(resource td)","Returns the name of the algorithm specified by the descriptor td"],mcrypt_enc_get_block_size:["int mcrypt_enc_get_block_size(resource td)","Returns the block size of the cipher specified by the descriptor td"],mcrypt_enc_get_iv_size:["int mcrypt_enc_get_iv_size(resource td)","Returns the size of the IV in bytes of the algorithm specified by the descriptor td"],mcrypt_enc_get_key_size:["int mcrypt_enc_get_key_size(resource td)","Returns the maximum supported key size in bytes of the algorithm specified by the descriptor td"],mcrypt_enc_get_modes_name:["string mcrypt_enc_get_modes_name(resource td)","Returns the name of the mode specified by the descriptor td"],mcrypt_enc_get_supported_key_sizes:["array mcrypt_enc_get_supported_key_sizes(resource td)","This function decrypts the crypttext"],mcrypt_enc_is_block_algorithm:["bool mcrypt_enc_is_block_algorithm(resource td)","Returns TRUE if the alrogithm is a block algorithms"],mcrypt_enc_is_block_algorithm_mode:["bool mcrypt_enc_is_block_algorithm_mode(resource td)","Returns TRUE if the mode is for use with block algorithms"],mcrypt_enc_is_block_mode:["bool mcrypt_enc_is_block_mode(resource td)","Returns TRUE if the mode outputs blocks"],mcrypt_enc_self_test:["int mcrypt_enc_self_test(resource td)","This function runs the self test on the algorithm specified by the descriptor td"],mcrypt_encrypt:["string mcrypt_encrypt(string cipher, string key, string data, string mode, string iv)","OFB crypt/decrypt data using key key with cipher cipher starting with iv"],mcrypt_generic:["string mcrypt_generic(resource td, string data)","This function encrypts the plaintext"],mcrypt_generic_deinit:["bool mcrypt_generic_deinit(resource td)","This function terminates encrypt specified by the descriptor td"],mcrypt_generic_init:["int mcrypt_generic_init(resource td, string key, string iv)","This function initializes all buffers for the specific module"],mcrypt_get_block_size:["int mcrypt_get_block_size(string cipher, string module)","Get the key size of cipher"],mcrypt_get_cipher_name:["string mcrypt_get_cipher_name(string cipher)","Get the key size of cipher"],mcrypt_get_iv_size:["int mcrypt_get_iv_size(string cipher, string module)","Get the IV size of cipher (Usually the same as the blocksize)"],mcrypt_get_key_size:["int mcrypt_get_key_size(string cipher, string module)","Get the key size of cipher"],mcrypt_list_algorithms:["array mcrypt_list_algorithms([string lib_dir])",'List all algorithms in "module_dir"'],mcrypt_list_modes:["array mcrypt_list_modes([string lib_dir])",'List all modes "module_dir"'],mcrypt_module_close:["bool mcrypt_module_close(resource td)","Free the descriptor td"],mcrypt_module_get_algo_block_size:["int mcrypt_module_get_algo_block_size(string algorithm [, string lib_dir])","Returns the block size of the algorithm"],mcrypt_module_get_algo_key_size:["int mcrypt_module_get_algo_key_size(string algorithm [, string lib_dir])","Returns the maximum supported key size of the algorithm"],mcrypt_module_get_supported_key_sizes:["array mcrypt_module_get_supported_key_sizes(string algorithm [, string lib_dir])","This function decrypts the crypttext"],mcrypt_module_is_block_algorithm:["bool mcrypt_module_is_block_algorithm(string algorithm [, string lib_dir])","Returns TRUE if the algorithm is a block algorithm"],mcrypt_module_is_block_algorithm_mode:["bool mcrypt_module_is_block_algorithm_mode(string mode [, string lib_dir])","Returns TRUE if the mode is for use with block algorithms"],mcrypt_module_is_block_mode:["bool mcrypt_module_is_block_mode(string mode [, string lib_dir])","Returns TRUE if the mode outputs blocks of bytes"],mcrypt_module_open:["resource mcrypt_module_open(string cipher, string cipher_directory, string mode, string mode_directory)","Opens the module of the algorithm and the mode to be used"],mcrypt_module_self_test:["bool mcrypt_module_self_test(string algorithm [, string lib_dir])",'Does a self test of the module "module"'],mcrypt_ofb:["string mcrypt_ofb(int cipher, string key, string data, int mode, string iv)","OFB crypt/decrypt data using key key with cipher cipher starting with iv"],md5:["string md5(string str, [ bool raw_output])","Calculate the md5 hash of a string"],md5_file:["string md5_file(string filename [, bool raw_output])","Calculate the md5 hash of given filename"],mdecrypt_generic:["string mdecrypt_generic(resource td, string data)","This function decrypts the plaintext"],memory_get_peak_usage:["int memory_get_peak_usage([real_usage])","Returns the peak allocated by PHP memory"],memory_get_usage:["int memory_get_usage([real_usage])","Returns the allocated by PHP memory"],metaphone:["string metaphone(string text[, int phones])","Break english phrases down into their phonemes"],method_exists:["bool method_exists(object object, string method)","Checks if the class method exists"],mhash:["string mhash(int hash, string data [, string key])","Hash data with hash"],mhash_count:["int mhash_count(void)","Gets the number of available hashes"],mhash_get_block_size:["int mhash_get_block_size(int hash)","Gets the block size of hash"],mhash_get_hash_name:["string mhash_get_hash_name(int hash)","Gets the name of hash"],mhash_keygen_s2k:["string mhash_keygen_s2k(int hash, string input_password, string salt, int bytes)","Generates a key using hash functions"],microtime:["mixed microtime([bool get_as_float])","Returns either a string or a float containing the current time in seconds and microseconds"],mime_content_type:["string mime_content_type(string filename|resource stream)","Return content-type for file"],min:["mixed min(mixed arg1 [, mixed arg2 [, mixed ...]])","Return the lowest value in an array or a series of arguments"],mkdir:["bool mkdir(string pathname [, int mode [, bool recursive [, resource context]]])","Create a directory"],mktime:["int mktime([int hour [, int min [, int sec [, int mon [, int day [, int year]]]]]])","Get UNIX timestamp for a date"],money_format:["string money_format(string format , float value)","Convert monetary value(s) to string"],move_uploaded_file:["bool move_uploaded_file(string path, string new_path)","Move a file if and only if it was created by an upload"],msg_get_queue:["resource msg_get_queue(int key [, int perms])","Attach to a message queue"],msg_queue_exists:["bool msg_queue_exists(int key)","Check wether a message queue exists"],msg_receive:["mixed msg_receive(resource queue, int desiredmsgtype, int &msgtype, int maxsize, mixed message [, bool unserialize=true [, int flags=0 [, int errorcode]]])","Send a message of type msgtype (must be > 0) to a message queue"],msg_remove_queue:["bool msg_remove_queue(resource queue)","Destroy the queue"],msg_send:["bool msg_send(resource queue, int msgtype, mixed message [, bool serialize=true [, bool blocking=true [, int errorcode]]])","Send a message of type msgtype (must be > 0) to a message queue"],msg_set_queue:["bool msg_set_queue(resource queue, array data)","Set information for a message queue"],msg_stat_queue:["array msg_stat_queue(resource queue)","Returns information about a message queue"],msgfmt_create:["MessageFormatter msgfmt_create( string $locale, string $pattern )","* Create formatter."],msgfmt_format:["mixed msgfmt_format( MessageFormatter $nf, array $args )","* Format a message."],msgfmt_format_message:["mixed msgfmt_format_message( string $locale, string $pattern, array $args )","* Format a message."],msgfmt_get_error_code:["int msgfmt_get_error_code( MessageFormatter $nf )","* Get formatter's last error code."],msgfmt_get_error_message:["string msgfmt_get_error_message( MessageFormatter $coll )","* Get text description for formatter's last error code."],msgfmt_get_locale:["string msgfmt_get_locale(MessageFormatter $mf)","* Get formatter locale."],msgfmt_get_pattern:["string msgfmt_get_pattern( MessageFormatter $mf )","* Get formatter pattern."],msgfmt_parse:["array msgfmt_parse( MessageFormatter $nf, string $source )","* Parse a message."],msgfmt_set_pattern:["bool msgfmt_set_pattern( MessageFormatter $mf, string $pattern )","* Set formatter pattern."],mssql_bind:["bool mssql_bind(resource stmt, string param_name, mixed var, int type [, bool is_output [, bool is_null [, int maxlen]]])","Adds a parameter to a stored procedure or a remote stored procedure"],mssql_close:["bool mssql_close([resource conn_id])","Closes a connection to a MS-SQL server"],mssql_connect:["int mssql_connect([string servername [, string username [, string password [, bool new_link]]]])","Establishes a connection to a MS-SQL server"],mssql_data_seek:["bool mssql_data_seek(resource result_id, int offset)","Moves the internal row pointer of the MS-SQL result associated with the specified result identifier to pointer to the specified row number"],mssql_execute:["mixed mssql_execute(resource stmt [, bool skip_results = false])","Executes a stored procedure on a MS-SQL server database"],mssql_fetch_array:["array mssql_fetch_array(resource result_id [, int result_type])","Returns an associative array of the current row in the result set specified by result_id"],mssql_fetch_assoc:["array mssql_fetch_assoc(resource result_id)","Returns an associative array of the current row in the result set specified by result_id"],mssql_fetch_batch:["int mssql_fetch_batch(resource result_index)","Returns the next batch of records"],mssql_fetch_field:["object mssql_fetch_field(resource result_id [, int offset])","Gets information about certain fields in a query result"],mssql_fetch_object:["object mssql_fetch_object(resource result_id)","Returns a pseudo-object of the current row in the result set specified by result_id"],mssql_fetch_row:["array mssql_fetch_row(resource result_id)","Returns an array of the current row in the result set specified by result_id"],mssql_field_length:["int mssql_field_length(resource result_id [, int offset])","Get the length of a MS-SQL field"],mssql_field_name:["string mssql_field_name(resource result_id [, int offset])","Returns the name of the field given by offset in the result set given by result_id"],mssql_field_seek:["bool mssql_field_seek(resource result_id, int offset)","Seeks to the specified field offset"],mssql_field_type:["string mssql_field_type(resource result_id [, int offset])","Returns the type of a field"],mssql_free_result:["bool mssql_free_result(resource result_index)","Free a MS-SQL result index"],mssql_free_statement:["bool mssql_free_statement(resource result_index)","Free a MS-SQL statement index"],mssql_get_last_message:["string mssql_get_last_message(void)","Gets the last message from the MS-SQL server"],mssql_guid_string:["string mssql_guid_string(string binary [,bool short_format])","Converts a 16 byte binary GUID to a string"],mssql_init:["int mssql_init(string sp_name [, resource conn_id])","Initializes a stored procedure or a remote stored procedure"],mssql_min_error_severity:["void mssql_min_error_severity(int severity)","Sets the lower error severity"],mssql_min_message_severity:["void mssql_min_message_severity(int severity)","Sets the lower message severity"],mssql_next_result:["bool mssql_next_result(resource result_id)","Move the internal result pointer to the next result"],mssql_num_fields:["int mssql_num_fields(resource mssql_result_index)","Returns the number of fields fetched in from the result id specified"],mssql_num_rows:["int mssql_num_rows(resource mssql_result_index)","Returns the number of rows fetched in from the result id specified"],mssql_pconnect:["int mssql_pconnect([string servername [, string username [, string password [, bool new_link]]]])","Establishes a persistent connection to a MS-SQL server"],mssql_query:["resource mssql_query(string query [, resource conn_id [, int batch_size]])","Perform an SQL query on a MS-SQL server database"],mssql_result:["string mssql_result(resource result_id, int row, mixed field)","Returns the contents of one cell from a MS-SQL result set"],mssql_rows_affected:["int mssql_rows_affected(resource conn_id)","Returns the number of records affected by the query"],mssql_select_db:["bool mssql_select_db(string database_name [, resource conn_id])","Select a MS-SQL database"],mt_getrandmax:["int mt_getrandmax(void)","Returns the maximum value a random number from Mersenne Twister can have"],mt_rand:["int mt_rand([int min, int max])","Returns a random number from Mersenne Twister"],mt_srand:["void mt_srand([int seed])","Seeds Mersenne Twister random number generator"],mysql_affected_rows:["int mysql_affected_rows([int link_identifier])","Gets number of affected rows in previous MySQL operation"],mysql_client_encoding:["string mysql_client_encoding([int link_identifier])","Returns the default character set for the current connection"],mysql_close:["bool mysql_close([int link_identifier])","Close a MySQL connection"],mysql_connect:["resource mysql_connect([string hostname[:port][:/path/to/socket] [, string username [, string password [, bool new [, int flags]]]]])","Opens a connection to a MySQL Server"],mysql_create_db:["bool mysql_create_db(string database_name [, int link_identifier])","Create a MySQL database"],mysql_data_seek:["bool mysql_data_seek(resource result, int row_number)","Move internal result pointer"],mysql_db_query:["resource mysql_db_query(string database_name, string query [, int link_identifier])","Sends an SQL query to MySQL"],mysql_drop_db:["bool mysql_drop_db(string database_name [, int link_identifier])","Drops (delete) a MySQL database"],mysql_errno:["int mysql_errno([int link_identifier])","Returns the number of the error message from previous MySQL operation"],mysql_error:["string mysql_error([int link_identifier])","Returns the text of the error message from previous MySQL operation"],mysql_escape_string:["string mysql_escape_string(string to_be_escaped)","Escape string for mysql query"],mysql_fetch_array:["array mysql_fetch_array(resource result [, int result_type])","Fetch a result row as an array (associative, numeric or both)"],mysql_fetch_assoc:["array mysql_fetch_assoc(resource result)","Fetch a result row as an associative array"],mysql_fetch_field:["object mysql_fetch_field(resource result [, int field_offset])","Gets column information from a result and return as an object"],mysql_fetch_lengths:["array mysql_fetch_lengths(resource result)","Gets max data size of each column in a result"],mysql_fetch_object:["object mysql_fetch_object(resource result [, string class_name [, NULL|array ctor_params]])","Fetch a result row as an object"],mysql_fetch_row:["array mysql_fetch_row(resource result)","Gets a result row as an enumerated array"],mysql_field_flags:["string mysql_field_flags(resource result, int field_offset)","Gets the flags associated with the specified field in a result"],mysql_field_len:["int mysql_field_len(resource result, int field_offset)","Returns the length of the specified field"],mysql_field_name:["string mysql_field_name(resource result, int field_index)","Gets the name of the specified field in a result"],mysql_field_seek:["bool mysql_field_seek(resource result, int field_offset)","Sets result pointer to a specific field offset"],mysql_field_table:["string mysql_field_table(resource result, int field_offset)","Gets name of the table the specified field is in"],mysql_field_type:["string mysql_field_type(resource result, int field_offset)","Gets the type of the specified field in a result"],mysql_free_result:["bool mysql_free_result(resource result)","Free result memory"],mysql_get_client_info:["string mysql_get_client_info(void)","Returns a string that represents the client library version"],mysql_get_host_info:["string mysql_get_host_info([int link_identifier])","Returns a string describing the type of connection in use, including the server host name"],mysql_get_proto_info:["int mysql_get_proto_info([int link_identifier])","Returns the protocol version used by current connection"],mysql_get_server_info:["string mysql_get_server_info([int link_identifier])","Returns a string that represents the server version number"],mysql_info:["string mysql_info([int link_identifier])","Returns a string containing information about the most recent query"],mysql_insert_id:["int mysql_insert_id([int link_identifier])","Gets the ID generated from the previous INSERT operation"],mysql_list_dbs:["resource mysql_list_dbs([int link_identifier])","List databases available on a MySQL server"],mysql_list_fields:["resource mysql_list_fields(string database_name, string table_name [, int link_identifier])","List MySQL result fields"],mysql_list_processes:["resource mysql_list_processes([int link_identifier])","Returns a result set describing the current server threads"],mysql_list_tables:["resource mysql_list_tables(string database_name [, int link_identifier])","List tables in a MySQL database"],mysql_num_fields:["int mysql_num_fields(resource result)","Gets number of fields in a result"],mysql_num_rows:["int mysql_num_rows(resource result)","Gets number of rows in a result"],mysql_pconnect:["resource mysql_pconnect([string hostname[:port][:/path/to/socket] [, string username [, string password [, int flags]]]])","Opens a persistent connection to a MySQL Server"],mysql_ping:["bool mysql_ping([int link_identifier])","Ping a server connection. If no connection then reconnect."],mysql_query:["resource mysql_query(string query [, int link_identifier])","Sends an SQL query to MySQL"],mysql_real_escape_string:["string mysql_real_escape_string(string to_be_escaped [, int link_identifier])","Escape special characters in a string for use in a SQL statement, taking into account the current charset of the connection"],mysql_result:["mixed mysql_result(resource result, int row [, mixed field])","Gets result data"],mysql_select_db:["bool mysql_select_db(string database_name [, int link_identifier])","Selects a MySQL database"],mysql_set_charset:["bool mysql_set_charset(string csname [, int link_identifier])","sets client character set"],mysql_stat:["string mysql_stat([int link_identifier])","Returns a string containing status information"],mysql_thread_id:["int mysql_thread_id([int link_identifier])","Returns the thread id of current connection"],mysql_unbuffered_query:["resource mysql_unbuffered_query(string query [, int link_identifier])","Sends an SQL query to MySQL, without fetching and buffering the result rows"],mysqli_affected_rows:["mixed mysqli_affected_rows(object link)","Get number of affected rows in previous MySQL operation"],mysqli_autocommit:["bool mysqli_autocommit(object link, bool mode)","Turn auto commit on or of"],mysqli_cache_stats:["array mysqli_cache_stats(void)","Returns statistics about the zval cache"],mysqli_change_user:["bool mysqli_change_user(object link, string user, string password, string database)","Change logged-in user of the active connection"],mysqli_character_set_name:["string mysqli_character_set_name(object link)","Returns the name of the character set used for this connection"],mysqli_close:["bool mysqli_close(object link)","Close connection"],mysqli_commit:["bool mysqli_commit(object link)","Commit outstanding actions and close transaction"],mysqli_connect:["object mysqli_connect([string hostname [,string username [,string passwd [,string dbname [,int port [,string socket]]]]]])","Open a connection to a mysql server"],mysqli_connect_errno:["int mysqli_connect_errno(void)","Returns the numerical value of the error message from last connect command"],mysqli_connect_error:["string mysqli_connect_error(void)","Returns the text of the error message from previous MySQL operation"],mysqli_data_seek:["bool mysqli_data_seek(object result, int offset)","Move internal result pointer"],mysqli_debug:["void mysqli_debug(string debug)",""],mysqli_dump_debug_info:["bool mysqli_dump_debug_info(object link)",""],mysqli_embedded_server_end:["void mysqli_embedded_server_end(void)",""],mysqli_embedded_server_start:["bool mysqli_embedded_server_start(bool start, array arguments, array groups)","initialize and start embedded server"],mysqli_errno:["int mysqli_errno(object link)","Returns the numerical value of the error message from previous MySQL operation"],mysqli_error:["string mysqli_error(object link)","Returns the text of the error message from previous MySQL operation"],mysqli_fetch_all:["mixed mysqli_fetch_all (object result [,int resulttype])","Fetches all result rows as an associative array, a numeric array, or both"],mysqli_fetch_array:["mixed mysqli_fetch_array (object result [,int resulttype])","Fetch a result row as an associative array, a numeric array, or both"],mysqli_fetch_assoc:["mixed mysqli_fetch_assoc (object result)","Fetch a result row as an associative array"],mysqli_fetch_field:["mixed mysqli_fetch_field (object result)","Get column information from a result and return as an object"],mysqli_fetch_field_direct:["mixed mysqli_fetch_field_direct (object result, int offset)","Fetch meta-data for a single field"],mysqli_fetch_fields:["mixed mysqli_fetch_fields (object result)","Return array of objects containing field meta-data"],mysqli_fetch_lengths:["mixed mysqli_fetch_lengths (object result)","Get the length of each output in a result"],mysqli_fetch_object:["mixed mysqli_fetch_object (object result [, string class_name [, NULL|array ctor_params]])","Fetch a result row as an object"],mysqli_fetch_row:["array mysqli_fetch_row (object result)","Get a result row as an enumerated array"],mysqli_field_count:["int mysqli_field_count(object link)","Fetch the number of fields returned by the last query for the given link"],mysqli_field_seek:["int mysqli_field_seek(object result, int fieldnr)","Set result pointer to a specified field offset"],mysqli_field_tell:["int mysqli_field_tell(object result)","Get current field offset of result pointer"],mysqli_free_result:["void mysqli_free_result(object result)","Free query result memory for the given result handle"],mysqli_get_charset:["object mysqli_get_charset(object link)","returns a character set object"],mysqli_get_client_info:["string mysqli_get_client_info(void)","Get MySQL client info"],mysqli_get_client_stats:["array mysqli_get_client_stats(void)","Returns statistics about the zval cache"],mysqli_get_client_version:["int mysqli_get_client_version(void)","Get MySQL client info"],mysqli_get_connection_stats:["array mysqli_get_connection_stats(void)","Returns statistics about the zval cache"],mysqli_get_host_info:["string mysqli_get_host_info (object link)","Get MySQL host info"],mysqli_get_proto_info:["int mysqli_get_proto_info(object link)","Get MySQL protocol information"],mysqli_get_server_info:["string mysqli_get_server_info(object link)","Get MySQL server info"],mysqli_get_server_version:["int mysqli_get_server_version(object link)","Return the MySQL version for the server referenced by the given link"],mysqli_get_warnings:["object mysqli_get_warnings(object link) */",'PHP_FUNCTION(mysqli_get_warnings) { MY_MYSQL *mysql; zval *mysql_link; MYSQLI_RESOURCE *mysqli_resource; MYSQLI_WARNING *w; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL*, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID); if (mysql_warning_count(mysql->mysql)) { w = php_get_warnings(mysql->mysql TSRMLS_CC); } else { RETURN_FALSE; } mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); mysqli_resource->ptr = mysqli_resource->info = (void *)w; mysqli_resource->status = MYSQLI_STATUS_VALID; MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_warning_class_entry); } /* }}}'],mysqli_info:["string mysqli_info(object link)","Get information about the most recent query"],mysqli_init:["resource mysqli_init(void)","Initialize mysqli and return a resource for use with mysql_real_connect"],mysqli_insert_id:["mixed mysqli_insert_id(object link)","Get the ID generated from the previous INSERT operation"],mysqli_kill:["bool mysqli_kill(object link, int processid)","Kill a mysql process on the server"],mysqli_link_construct:["object mysqli_link_construct()",""],mysqli_more_results:["bool mysqli_more_results(object link)","check if there any more query results from a multi query"],mysqli_multi_query:["bool mysqli_multi_query(object link, string query)","allows to execute multiple queries"],mysqli_next_result:["bool mysqli_next_result(object link)","read next result from multi_query"],mysqli_num_fields:["int mysqli_num_fields(object result)","Get number of fields in result"],mysqli_num_rows:["mixed mysqli_num_rows(object result)","Get number of rows in result"],mysqli_options:["bool mysqli_options(object link, int flags, mixed values)","Set options"],mysqli_ping:["bool mysqli_ping(object link)","Ping a server connection or reconnect if there is no connection"],mysqli_poll:["int mysqli_poll(array read, array write, array error, long sec [, long usec])","Poll connections"],mysqli_prepare:["mixed mysqli_prepare(object link, string query)","Prepare a SQL statement for execution"],mysqli_query:["mixed mysqli_query(object link, string query [,int resultmode]) */",'PHP_FUNCTION(mysqli_query) { MY_MYSQL *mysql; zval *mysql_link; MYSQLI_RESOURCE *mysqli_resource; MYSQL_RES *result; char *query = NULL; unsigned int query_len; unsigned long resultmode = MYSQLI_STORE_RESULT; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os|l", &mysql_link, mysqli_link_class_entry, &query, &query_len, &resultmode) == FAILURE) { return; } if (!query_len) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty query"); RETURN_FALSE; } if ((resultmode & ~MYSQLI_ASYNC) != MYSQLI_USE_RESULT && (resultmode & ~MYSQLI_ASYNC) != MYSQLI_STORE_RESULT) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid value for resultmode"); RETURN_FALSE; } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL*, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID); MYSQLI_DISABLE_MQ; #ifdef MYSQLI_USE_MYSQLND if (resultmode & MYSQLI_ASYNC) { if (mysqli_async_query(mysql->mysql, query, query_len)) { MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql); RETURN_FALSE; } mysql->async_result_fetch_type = resultmode & ~MYSQLI_ASYNC; RETURN_TRUE; } #endif if (mysql_real_query(mysql->mysql, query, query_len)) { MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql); RETURN_FALSE; } if (!mysql_field_count(mysql->mysql)) { /* no result set - not a SELECT'],mysqli_real_connect:["bool mysqli_real_connect(object link [,string hostname [,string username [,string passwd [,string dbname [,int port [,string socket [,int flags]]]]]]])","Open a connection to a mysql server"],mysqli_real_escape_string:["string mysqli_real_escape_string(object link, string escapestr)","Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection"],mysqli_real_query:["bool mysqli_real_query(object link, string query)","Binary-safe version of mysql_query()"],mysqli_reap_async_query:["int mysqli_reap_async_query(object link)","Poll connections"],mysqli_refresh:["bool mysqli_refresh(object link, long options)","Flush tables or caches, or reset replication server information"],mysqli_report:["bool mysqli_report(int flags)","sets report level"],mysqli_rollback:["bool mysqli_rollback(object link)","Undo actions from current transaction"],mysqli_select_db:["bool mysqli_select_db(object link, string dbname)","Select a MySQL database"],mysqli_set_charset:["bool mysqli_set_charset(object link, string csname)","sets client character set"],mysqli_set_local_infile_default:["void mysqli_set_local_infile_default(object link)","unsets user defined handler for load local infile command"],mysqli_set_local_infile_handler:["bool mysqli_set_local_infile_handler(object link, callback read_func)","Set callback functions for LOAD DATA LOCAL INFILE"],mysqli_sqlstate:["string mysqli_sqlstate(object link)","Returns the SQLSTATE error from previous MySQL operation"],mysqli_ssl_set:["bool mysqli_ssl_set(object link ,string key ,string cert ,string ca ,string capath ,string cipher])",""],mysqli_stat:["mixed mysqli_stat(object link)","Get current system status"],mysqli_stmt_affected_rows:["mixed mysqli_stmt_affected_rows(object stmt)","Return the number of rows affected in the last query for the given link"],mysqli_stmt_attr_get:["int mysqli_stmt_attr_get(object stmt, long attr)",""],mysqli_stmt_attr_set:["int mysqli_stmt_attr_set(object stmt, long attr, long mode)",""],mysqli_stmt_bind_param:["bool mysqli_stmt_bind_param(object stmt, string types, mixed variable [,mixed,....])","Bind variables to a prepared statement as parameters"],mysqli_stmt_bind_result:["bool mysqli_stmt_bind_result(object stmt, mixed var, [,mixed, ...])","Bind variables to a prepared statement for result storage"],mysqli_stmt_close:["bool mysqli_stmt_close(object stmt)","Close statement"],mysqli_stmt_data_seek:["void mysqli_stmt_data_seek(object stmt, int offset)","Move internal result pointer"],mysqli_stmt_errno:["int mysqli_stmt_errno(object stmt)",""],mysqli_stmt_error:["string mysqli_stmt_error(object stmt)",""],mysqli_stmt_execute:["bool mysqli_stmt_execute(object stmt)","Execute a prepared statement"],mysqli_stmt_fetch:["mixed mysqli_stmt_fetch(object stmt)","Fetch results from a prepared statement into the bound variables"],mysqli_stmt_field_count:["int mysqli_stmt_field_count(object stmt) {","Return the number of result columns for the given statement"],mysqli_stmt_free_result:["void mysqli_stmt_free_result(object stmt)","Free stored result memory for the given statement handle"],mysqli_stmt_get_result:["object mysqli_stmt_get_result(object link)","Buffer result set on client"],mysqli_stmt_get_warnings:["object mysqli_stmt_get_warnings(object link) */",'PHP_FUNCTION(mysqli_stmt_get_warnings) { MY_STMT *stmt; zval *stmt_link; MYSQLI_RESOURCE *mysqli_resource; MYSQLI_WARNING *w; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &stmt_link, mysqli_stmt_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(stmt, MY_STMT*, &stmt_link, "mysqli_stmt", MYSQLI_STATUS_VALID); if (mysqli_stmt_warning_count(stmt->stmt)) { w = php_get_warnings(mysqli_stmt_get_connection(stmt->stmt) TSRMLS_CC); } else { RETURN_FALSE; } mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); mysqli_resource->ptr = mysqli_resource->info = (void *)w; mysqli_resource->status = MYSQLI_STATUS_VALID; MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_warning_class_entry); } /* }}}'],mysqli_stmt_init:["mixed mysqli_stmt_init(object link)","Initialize statement object"],mysqli_stmt_insert_id:["mixed mysqli_stmt_insert_id(object stmt)","Get the ID generated from the previous INSERT operation"],mysqli_stmt_next_result:["bool mysqli_stmt_next_result(object link)","read next result from multi_query"],mysqli_stmt_num_rows:["mixed mysqli_stmt_num_rows(object stmt)","Return the number of rows in statements result set"],mysqli_stmt_param_count:["int mysqli_stmt_param_count(object stmt)","Return the number of parameter for the given statement"],mysqli_stmt_prepare:["bool mysqli_stmt_prepare(object stmt, string query)","prepare server side statement with query"],mysqli_stmt_reset:["bool mysqli_stmt_reset(object stmt)","reset a prepared statement"],mysqli_stmt_result_metadata:["mixed mysqli_stmt_result_metadata(object stmt)","return result set from statement"],mysqli_stmt_send_long_data:["bool mysqli_stmt_send_long_data(object stmt, int param_nr, string data)",""],mysqli_stmt_sqlstate:["string mysqli_stmt_sqlstate(object stmt)",""],mysqli_stmt_store_result:["bool mysqli_stmt_store_result(stmt)",""],mysqli_store_result:["object mysqli_store_result(object link)","Buffer result set on client"],mysqli_thread_id:["int mysqli_thread_id(object link)","Return the current thread ID"],mysqli_thread_safe:["bool mysqli_thread_safe(void)","Return whether thread safety is given or not"],mysqli_use_result:["mixed mysqli_use_result(object link)","Directly retrieve query results - do not buffer results on client side"],mysqli_warning_count:["int mysqli_warning_count (object link)","Return number of warnings from the last query for the given link"],natcasesort:["void natcasesort(array &array_arg)","Sort an array using case-insensitive natural sort"],natsort:["void natsort(array &array_arg)","Sort an array using natural sort"],next:["mixed next(array array_arg)","Move array argument's internal pointer to the next element and return it"],ngettext:["string ngettext(string MSGID1, string MSGID2, int N)","Plural version of gettext()"],nl2br:["string nl2br(string str [, bool is_xhtml])","Converts newlines to HTML line breaks"],nl_langinfo:["string nl_langinfo(int item)","Query language and locale information"],normalizer_is_normalize:["bool normalizer_is_normalize( string $input [, string $form = FORM_C] )","* Test if a string is in a given normalization form."],normalizer_normalize:["string normalizer_normalize( string $input [, string $form = FORM_C] )","* Normalize a string."],nsapi_request_headers:["array nsapi_request_headers(void)","Get all headers from the request"],nsapi_response_headers:["array nsapi_response_headers(void)","Get all headers from the response"],nsapi_virtual:["bool nsapi_virtual(string uri)","Perform an NSAPI sub-request"],number_format:["string number_format(float number [, int num_decimal_places [, string dec_seperator, string thousands_seperator]])","Formats a number with grouped thousands"],numfmt_create:["NumberFormatter numfmt_create( string $locale, int style[, string $pattern ] )","* Create number formatter."],numfmt_format:["mixed numfmt_format( NumberFormatter $nf, mixed $num[, int type] )","* Format a number."],numfmt_format_currency:["mixed numfmt_format_currency( NumberFormatter $nf, double $num, string $currency )","* Format a number as currency."],numfmt_get_attribute:["mixed numfmt_get_attribute( NumberFormatter $nf, int $attr )","* Get formatter attribute value."],numfmt_get_error_code:["int numfmt_get_error_code( NumberFormatter $nf )","* Get formatter's last error code."],numfmt_get_error_message:["string numfmt_get_error_message( NumberFormatter $nf )","* Get text description for formatter's last error code."],numfmt_get_locale:["string numfmt_get_locale( NumberFormatter $nf[, int type] )","* Get formatter locale."],numfmt_get_pattern:["string numfmt_get_pattern( NumberFormatter $nf )","* Get formatter pattern."],numfmt_get_symbol:["string numfmt_get_symbol( NumberFormatter $nf, int $attr )","* Get formatter symbol value."],numfmt_get_text_attribute:["string numfmt_get_text_attribute( NumberFormatter $nf, int $attr )","* Get formatter attribute value."],numfmt_parse:["mixed numfmt_parse( NumberFormatter $nf, string $str[, int $type, int &$position ])","* Parse a number."],numfmt_parse_currency:["double numfmt_parse_currency( NumberFormatter $nf, string $str, string $&currency[, int $&position] )","* Parse a number as currency."],numfmt_parse_message:["array numfmt_parse_message( string $locale, string $pattern, string $source )","* Parse a message."],numfmt_set_attribute:["bool numfmt_set_attribute( NumberFormatter $nf, int $attr, mixed $value )","* Get formatter attribute value."],numfmt_set_pattern:["bool numfmt_set_pattern( NumberFormatter $nf, string $pattern )","* Set formatter pattern."],numfmt_set_symbol:["bool numfmt_set_symbol( NumberFormatter $nf, int $attr, string $symbol )","* Set formatter symbol value."],numfmt_set_text_attribute:["bool numfmt_set_text_attribute( NumberFormatter $nf, int $attr, string $value )","* Get formatter attribute value."],ob_clean:["bool ob_clean(void)","Clean (delete) the current output buffer"],ob_end_clean:["bool ob_end_clean(void)","Clean the output buffer, and delete current output buffer"],ob_end_flush:["bool ob_end_flush(void)","Flush (send) the output buffer, and delete current output buffer"],ob_flush:["bool ob_flush(void)","Flush (send) contents of the output buffer. The last buffer content is sent to next buffer"],ob_get_clean:["bool ob_get_clean(void)","Get current buffer contents and delete current output buffer"],ob_get_contents:["string ob_get_contents(void)","Return the contents of the output buffer"],ob_get_flush:["bool ob_get_flush(void)","Get current buffer contents, flush (send) the output buffer, and delete current output buffer"],ob_get_length:["int ob_get_length(void)","Return the length of the output buffer"],ob_get_level:["int ob_get_level(void)","Return the nesting level of the output buffer"],ob_get_status:["false|array ob_get_status([bool full_status])","Return the status of the active or all output buffers"],ob_gzhandler:["string ob_gzhandler(string str, int mode)","Encode str based on accept-encoding setting - designed to be called from ob_start()"],ob_iconv_handler:["string ob_iconv_handler(string contents, int status)","Returns str in output buffer converted to the iconv.output_encoding character set"],ob_implicit_flush:["void ob_implicit_flush([int flag])","Turn implicit flush on/off and is equivalent to calling flush() after every output call"],ob_list_handlers:["false|array ob_list_handlers()","* List all output_buffers in an array"],ob_start:["bool ob_start([ string|array user_function [, int chunk_size [, bool erase]]])","Turn on Output Buffering (specifying an optional output handler)."],oci_bind_array_by_name:["bool oci_bind_array_by_name(resource stmt, string name, array &var, int max_table_length [, int max_item_length [, int type ]])","Bind a PHP array to an Oracle PL/SQL type by name"],oci_bind_by_name:["bool oci_bind_by_name(resource stmt, string name, mixed &var, [, int maxlength [, int type]])","Bind a PHP variable to an Oracle placeholder by name"],oci_cancel:["bool oci_cancel(resource stmt)","Cancel reading from a cursor"],oci_close:["bool oci_close(resource connection)","Disconnect from database"],oci_collection_append:["bool oci_collection_append(string value)","Append an object to the collection"],oci_collection_assign:["bool oci_collection_assign(object from)","Assign a collection from another existing collection"],oci_collection_element_assign:["bool oci_collection_element_assign(int index, string val)","Assign element val to collection at index ndx"],oci_collection_element_get:["string oci_collection_element_get(int ndx)","Retrieve the value at collection index ndx"],oci_collection_max:["int oci_collection_max()","Return the max value of a collection. For a varray this is the maximum length of the array"],oci_collection_size:["int oci_collection_size()","Return the size of a collection"],oci_collection_trim:["bool oci_collection_trim(int num)","Trim num elements from the end of a collection"],oci_commit:["bool oci_commit(resource connection)","Commit the current context"],oci_connect:["resource oci_connect(string user, string pass [, string db [, string charset [, int session_mode ]])","Connect to an Oracle database and log on. Returns a new session."],oci_define_by_name:["bool oci_define_by_name(resource stmt, string name, mixed &var [, int type])","Define a PHP variable to an Oracle column by name"],oci_error:["array oci_error([resource stmt|connection|global])","Return the last error of stmt|connection|global. If no error happened returns false."],oci_execute:["bool oci_execute(resource stmt [, int mode])","Execute a parsed statement"],oci_fetch:["bool oci_fetch(resource stmt)","Prepare a new row of data for reading"],oci_fetch_all:["int oci_fetch_all(resource stmt, array &output[, int skip[, int maxrows[, int flags]]])","Fetch all rows of result data into an array"],oci_fetch_array:["array oci_fetch_array( resource stmt [, int mode ])","Fetch a result row as an array"],oci_fetch_assoc:["array oci_fetch_assoc( resource stmt )","Fetch a result row as an associative array"],oci_fetch_object:["object oci_fetch_object( resource stmt )","Fetch a result row as an object"],oci_fetch_row:["array oci_fetch_row( resource stmt )","Fetch a result row as an enumerated array"],oci_field_is_null:["bool oci_field_is_null(resource stmt, int col)","Tell whether a column is NULL"],oci_field_name:["string oci_field_name(resource stmt, int col)","Tell the name of a column"],oci_field_precision:["int oci_field_precision(resource stmt, int col)","Tell the precision of a column"],oci_field_scale:["int oci_field_scale(resource stmt, int col)","Tell the scale of a column"],oci_field_size:["int oci_field_size(resource stmt, int col)","Tell the maximum data size of a column"],oci_field_type:["mixed oci_field_type(resource stmt, int col)","Tell the data type of a column"],oci_field_type_raw:["int oci_field_type_raw(resource stmt, int col)","Tell the raw oracle data type of a column"],oci_free_collection:["bool oci_free_collection()","Deletes collection object"],oci_free_descriptor:["bool oci_free_descriptor()","Deletes large object description"],oci_free_statement:["bool oci_free_statement(resource stmt)","Free all resources associated with a statement"],oci_internal_debug:["void oci_internal_debug(int onoff)","Toggle internal debugging output for the OCI extension"],oci_lob_append:["bool oci_lob_append( object lob )","Appends data from a LOB to another LOB"],oci_lob_close:["bool oci_lob_close()","Closes lob descriptor"],oci_lob_copy:["bool oci_lob_copy( object lob_to, object lob_from [, int length ] )","Copies data from a LOB to another LOB"],oci_lob_eof:["bool oci_lob_eof()","Checks if EOF is reached"],oci_lob_erase:["int oci_lob_erase( [ int offset [, int length ] ] )","Erases a specified portion of the internal LOB, starting at a specified offset"],oci_lob_export:["bool oci_lob_export([string filename [, int start [, int length]]])","Writes a large object into a file"],oci_lob_flush:["bool oci_lob_flush( [ int flag ] )","Flushes the LOB buffer"],oci_lob_import:["bool oci_lob_import( string filename )","Loads file into a LOB"],oci_lob_is_equal:["bool oci_lob_is_equal( object lob1, object lob2 )","Tests to see if two LOB/FILE locators are equal"],oci_lob_load:["string oci_lob_load()","Loads a large object"],oci_lob_read:["string oci_lob_read( int length )","Reads particular part of a large object"],oci_lob_rewind:["bool oci_lob_rewind()","Rewind pointer of a LOB"],oci_lob_save:["bool oci_lob_save( string data [, int offset ])","Saves a large object"],oci_lob_seek:["bool oci_lob_seek( int offset [, int whence ])","Moves the pointer of a LOB"],oci_lob_size:["int oci_lob_size()","Returns size of a large object"],oci_lob_tell:["int oci_lob_tell()","Tells LOB pointer position"],oci_lob_truncate:["bool oci_lob_truncate( [ int length ])","Truncates a LOB"],oci_lob_write:["int oci_lob_write( string string [, int length ])","Writes data to current position of a LOB"],oci_lob_write_temporary:["bool oci_lob_write_temporary(string var [, int lob_type])","Writes temporary blob"],oci_new_collection:["object oci_new_collection(resource connection, string tdo [, string schema])","Initialize a new collection"],oci_new_connect:["resource oci_new_connect(string user, string pass [, string db])","Connect to an Oracle database and log on. Returns a new session."],oci_new_cursor:["resource oci_new_cursor(resource connection)","Return a new cursor (Statement-Handle) - use this to bind ref-cursors!"],oci_new_descriptor:["object oci_new_descriptor(resource connection [, int type])","Initialize a new empty descriptor LOB/FILE (LOB is default)"],oci_num_fields:["int oci_num_fields(resource stmt)","Return the number of result columns in a statement"],oci_num_rows:["int oci_num_rows(resource stmt)","Return the row count of an OCI statement"],oci_parse:["resource oci_parse(resource connection, string query)","Parse a query and return a statement"],oci_password_change:["bool oci_password_change(resource connection, string username, string old_password, string new_password)","Changes the password of an account"],oci_pconnect:["resource oci_pconnect(string user, string pass [, string db [, string charset ]])","Connect to an Oracle database using a persistent connection and log on. Returns a new session."],oci_result:["string oci_result(resource stmt, mixed column)","Return a single column of result data"],oci_rollback:["bool oci_rollback(resource connection)","Rollback the current context"],oci_server_version:["string oci_server_version(resource connection)","Return a string containing server version information"],oci_set_action:["bool oci_set_action(resource connection, string value)","Sets the action attribute on the connection"],oci_set_client_identifier:["bool oci_set_client_identifier(resource connection, string value)","Sets the client identifier attribute on the connection"],oci_set_client_info:["bool oci_set_client_info(resource connection, string value)","Sets the client info attribute on the connection"],oci_set_edition:["bool oci_set_edition(string value)","Sets the edition attribute for all subsequent connections created"],oci_set_module_name:["bool oci_set_module_name(resource connection, string value)","Sets the module attribute on the connection"],oci_set_prefetch:["bool oci_set_prefetch(resource stmt, int prefetch_rows)","Sets the number of rows to be prefetched on execute to prefetch_rows for stmt"],oci_statement_type:["string oci_statement_type(resource stmt)","Return the query type of an OCI statement"],ocifetchinto:["int ocifetchinto(resource stmt, array &output [, int mode])","Fetch a row of result data into an array"],ocigetbufferinglob:["bool ocigetbufferinglob()","Returns current state of buffering for a LOB"],ocisetbufferinglob:["bool ocisetbufferinglob( boolean flag )","Enables/disables buffering for a LOB"],octdec:["int octdec(string octal_number)","Returns the decimal equivalent of an octal string"],odbc_autocommit:["mixed odbc_autocommit(resource connection_id [, int OnOff])","Toggle autocommit mode or get status"],odbc_binmode:["bool odbc_binmode(int result_id, int mode)","Handle binary column data"],odbc_close:["void odbc_close(resource connection_id)","Close an ODBC connection"],odbc_close_all:["void odbc_close_all(void)","Close all ODBC connections"],odbc_columnprivileges:["resource odbc_columnprivileges(resource connection_id, string catalog, string schema, string table, string column)","Returns a result identifier that can be used to fetch a list of columns and associated privileges for the specified table"],odbc_columns:["resource odbc_columns(resource connection_id [, string qualifier [, string owner [, string table_name [, string column_name]]]])","Returns a result identifier that can be used to fetch a list of column names in specified tables"],odbc_commit:["bool odbc_commit(resource connection_id)","Commit an ODBC transaction"],odbc_connect:["resource odbc_connect(string DSN, string user, string password [, int cursor_option])","Connect to a datasource"],odbc_cursor:["string odbc_cursor(resource result_id)","Get cursor name"],odbc_data_source:["array odbc_data_source(resource connection_id, int fetch_type)","Return information about the currently connected data source"],odbc_error:["string odbc_error([resource connection_id])","Get the last error code"],odbc_errormsg:["string odbc_errormsg([resource connection_id])","Get the last error message"],odbc_exec:["resource odbc_exec(resource connection_id, string query [, int flags])","Prepare and execute an SQL statement"],odbc_execute:["bool odbc_execute(resource result_id [, array parameters_array])","Execute a prepared statement"],odbc_fetch_array:["array odbc_fetch_array(int result [, int rownumber])","Fetch a result row as an associative array"],odbc_fetch_into:["int odbc_fetch_into(resource result_id, array &result_array, [, int rownumber])","Fetch one result row into an array"],odbc_fetch_object:["object odbc_fetch_object(int result [, int rownumber])","Fetch a result row as an object"],odbc_fetch_row:["bool odbc_fetch_row(resource result_id [, int row_number])","Fetch a row"],odbc_field_len:["int odbc_field_len(resource result_id, int field_number)","Get the length (precision) of a column"],odbc_field_name:["string odbc_field_name(resource result_id, int field_number)","Get a column name"],odbc_field_num:["int odbc_field_num(resource result_id, string field_name)","Return column number"],odbc_field_scale:["int odbc_field_scale(resource result_id, int field_number)","Get the scale of a column"],odbc_field_type:["string odbc_field_type(resource result_id, int field_number)","Get the datatype of a column"],odbc_foreignkeys:["resource odbc_foreignkeys(resource connection_id, string pk_qualifier, string pk_owner, string pk_table, string fk_qualifier, string fk_owner, string fk_table)","Returns a result identifier to either a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table"],odbc_free_result:["bool odbc_free_result(resource result_id)","Free resources associated with a result"],odbc_gettypeinfo:["resource odbc_gettypeinfo(resource connection_id [, int data_type])","Returns a result identifier containing information about data types supported by the data source"],odbc_longreadlen:["bool odbc_longreadlen(int result_id, int length)","Handle LONG columns"],odbc_next_result:["bool odbc_next_result(resource result_id)","Checks if multiple results are avaiable"],odbc_num_fields:["int odbc_num_fields(resource result_id)","Get number of columns in a result"],odbc_num_rows:["int odbc_num_rows(resource result_id)","Get number of rows in a result"],odbc_pconnect:["resource odbc_pconnect(string DSN, string user, string password [, int cursor_option])","Establish a persistent connection to a datasource"],odbc_prepare:["resource odbc_prepare(resource connection_id, string query)","Prepares a statement for execution"],odbc_primarykeys:["resource odbc_primarykeys(resource connection_id, string qualifier, string owner, string table)","Returns a result identifier listing the column names that comprise the primary key for a table"],odbc_procedurecolumns:["resource odbc_procedurecolumns(resource connection_id [, string qualifier, string owner, string proc, string column])","Returns a result identifier containing the list of input and output parameters, as well as the columns that make up the result set for the specified procedures"],odbc_procedures:["resource odbc_procedures(resource connection_id [, string qualifier, string owner, string name])","Returns a result identifier containg the list of procedure names in a datasource"],odbc_result:["mixed odbc_result(resource result_id, mixed field)","Get result data"],odbc_result_all:["int odbc_result_all(resource result_id [, string format])","Print result as HTML table"],odbc_rollback:["bool odbc_rollback(resource connection_id)","Rollback a transaction"],odbc_setoption:["bool odbc_setoption(resource conn_id|result_id, int which, int option, int value)","Sets connection or statement options"],odbc_specialcolumns:["resource odbc_specialcolumns(resource connection_id, int type, string qualifier, string owner, string table, int scope, int nullable)","Returns a result identifier containing either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction"],odbc_statistics:["resource odbc_statistics(resource connection_id, string qualifier, string owner, string name, int unique, int accuracy)","Returns a result identifier that contains statistics about a single table and the indexes associated with the table"],odbc_tableprivileges:["resource odbc_tableprivileges(resource connection_id, string qualifier, string owner, string name)","Returns a result identifier containing a list of tables and the privileges associated with each table"],odbc_tables:["resource odbc_tables(resource connection_id [, string qualifier [, string owner [, string name [, string table_types]]]])","Call the SQLTables function"],opendir:["mixed opendir(string path[, resource context])","Open a directory and return a dir_handle"],openlog:["bool openlog(string ident, int option, int facility)","Open connection to system logger"],openssl_csr_export:["bool openssl_csr_export(resource csr, string &out [, bool notext=true])","Exports a CSR to file or a var"],openssl_csr_export_to_file:["bool openssl_csr_export_to_file(resource csr, string outfilename [, bool notext=true])","Exports a CSR to file"],openssl_csr_get_public_key:["mixed openssl_csr_get_public_key(mixed csr)","Returns the subject of a CERT or FALSE on error"],openssl_csr_get_subject:["mixed openssl_csr_get_subject(mixed csr)","Returns the subject of a CERT or FALSE on error"],openssl_csr_new:["bool openssl_csr_new(array dn, resource &privkey [, array configargs [, array extraattribs]])","Generates a privkey and CSR"],openssl_csr_sign:["resource openssl_csr_sign(mixed csr, mixed x509, mixed priv_key, long days [, array config_args [, long serial]])","Signs a cert with another CERT"],openssl_decrypt:["string openssl_decrypt(string data, string method, string password [, bool raw_input=false])","Takes raw or base64 encoded string and dectupt it using given method and key"],openssl_dh_compute_key:["string openssl_dh_compute_key(string pub_key, resource dh_key)","Computes shared sicret for public value of remote DH key and local DH key"],openssl_digest:["string openssl_digest(string data, string method [, bool raw_output=false])","Computes digest hash value for given data using given method, returns raw or binhex encoded string"],openssl_encrypt:["string openssl_encrypt(string data, string method, string password [, bool raw_output=false])","Encrypts given data with given method and key, returns raw or base64 encoded string"],openssl_error_string:["mixed openssl_error_string(void)","Returns a description of the last error, and alters the index of the error messages. Returns false when the are no more messages"],openssl_get_cipher_methods:["array openssl_get_cipher_methods([bool aliases = false])","Return array of available cipher methods"],openssl_get_md_methods:["array openssl_get_md_methods([bool aliases = false])","Return array of available digest methods"],openssl_open:["bool openssl_open(string data, &string opendata, string ekey, mixed privkey)","Opens data"],openssl_pkcs12_export:["bool openssl_pkcs12_export(mixed x509, string &out, mixed priv_key, string pass[, array args])","Creates and exports a PKCS12 to a var"],openssl_pkcs12_export_to_file:["bool openssl_pkcs12_export_to_file(mixed x509, string filename, mixed priv_key, string pass[, array args])","Creates and exports a PKCS to file"],openssl_pkcs12_read:["bool openssl_pkcs12_read(string PKCS12, array &certs, string pass)","Parses a PKCS12 to an array"],openssl_pkcs7_decrypt:["bool openssl_pkcs7_decrypt(string infilename, string outfilename, mixed recipcert [, mixed recipkey])","Decrypts the S/MIME message in the file name infilename and output the results to the file name outfilename. recipcert is a CERT for one of the recipients. recipkey specifies the private key matching recipcert, if recipcert does not include the key"],openssl_pkcs7_encrypt:["bool openssl_pkcs7_encrypt(string infile, string outfile, mixed recipcerts, array headers [, long flags [, long cipher]])","Encrypts the message in the file named infile with the certificates in recipcerts and output the result to the file named outfile"],openssl_pkcs7_sign:["bool openssl_pkcs7_sign(string infile, string outfile, mixed signcert, mixed signkey, array headers [, long flags [, string extracertsfilename]])","Signs the MIME message in the file named infile with signcert/signkey and output the result to file name outfile. headers lists plain text headers to exclude from the signed portion of the message, and should include to, from and subject as a minimum"],openssl_pkcs7_verify:["bool openssl_pkcs7_verify(string filename, long flags [, string signerscerts [, array cainfo [, string extracerts [, string content]]]])","Verifys that the data block is intact, the signer is who they say they are, and returns the CERTs of the signers"],openssl_pkey_export:["bool openssl_pkey_export(mixed key, &mixed out [, string passphrase [, array config_args]])","Gets an exportable representation of a key into a string or file"],openssl_pkey_export_to_file:["bool openssl_pkey_export_to_file(mixed key, string outfilename [, string passphrase, array config_args)","Gets an exportable representation of a key into a file"],openssl_pkey_free:["void openssl_pkey_free(int key)","Frees a key"],openssl_pkey_get_details:["resource openssl_pkey_get_details(resource key)","returns an array with the key details (bits, pkey, type)"],openssl_pkey_get_private:["int openssl_pkey_get_private(string key [, string passphrase])","Gets private keys"],openssl_pkey_get_public:["int openssl_pkey_get_public(mixed cert)","Gets public key from X.509 certificate"],openssl_pkey_new:["resource openssl_pkey_new([array configargs])","Generates a new private key"],openssl_private_decrypt:["bool openssl_private_decrypt(string data, string &decrypted, mixed key [, int padding])","Decrypts data with private key"],openssl_private_encrypt:["bool openssl_private_encrypt(string data, string &crypted, mixed key [, int padding])","Encrypts data with private key"],openssl_public_decrypt:["bool openssl_public_decrypt(string data, string &crypted, resource key [, int padding])","Decrypts data with public key"],openssl_public_encrypt:["bool openssl_public_encrypt(string data, string &crypted, mixed key [, int padding])","Encrypts data with public key"],openssl_random_pseudo_bytes:["string openssl_random_pseudo_bytes(integer length [, &bool returned_strong_result])","Returns a string of the length specified filled with random pseudo bytes"],openssl_seal:["int openssl_seal(string data, &string sealdata, &array ekeys, array pubkeys)","Seals data"],openssl_sign:["bool openssl_sign(string data, &string signature, mixed key[, mixed method])","Signs data"],openssl_verify:["int openssl_verify(string data, string signature, mixed key[, mixed method])","Verifys data"],openssl_x509_check_private_key:["bool openssl_x509_check_private_key(mixed cert, mixed key)","Checks if a private key corresponds to a CERT"],openssl_x509_checkpurpose:["int openssl_x509_checkpurpose(mixed x509cert, int purpose, array cainfo [, string untrustedfile])","Checks the CERT to see if it can be used for the purpose in purpose. cainfo holds information about trusted CAs"],openssl_x509_export:["bool openssl_x509_export(mixed x509, string &out [, bool notext = true])","Exports a CERT to file or a var"],openssl_x509_export_to_file:["bool openssl_x509_export_to_file(mixed x509, string outfilename [, bool notext = true])","Exports a CERT to file or a var"],openssl_x509_free:["void openssl_x509_free(resource x509)","Frees X.509 certificates"],openssl_x509_parse:["array openssl_x509_parse(mixed x509 [, bool shortnames=true])","Returns an array of the fields/values of the CERT"],openssl_x509_read:["resource openssl_x509_read(mixed cert)","Reads X.509 certificates"],ord:["int ord(string character)","Returns ASCII value of character"],output_add_rewrite_var:["bool output_add_rewrite_var(string name, string value)","Add URL rewriter values"],output_reset_rewrite_vars:["bool output_reset_rewrite_vars(void)","Reset(clear) URL rewriter values"],pack:["string pack(string format, mixed arg1 [, mixed arg2 [, mixed ...]])","Takes one or more arguments and packs them into a binary string according to the format argument"],parse_ini_file:["array parse_ini_file(string filename [, bool process_sections [, int scanner_mode]])","Parse configuration file"],parse_ini_string:["array parse_ini_string(string ini_string [, bool process_sections [, int scanner_mode]])","Parse configuration string"],parse_locale:["static array parse_locale($locale)","* parses a locale-id into an array the different parts of it"],parse_str:["void parse_str(string encoded_string [, array result])","Parses GET/POST/COOKIE data and sets global variables"],parse_url:["mixed parse_url(string url, [int url_component])","Parse a URL and return its components"],passthru:["void passthru(string command [, int &return_value])","Execute an external program and display raw output"],pathinfo:["array pathinfo(string path[, int options])","Returns information about a certain string"],pclose:["int pclose(resource fp)","Close a file pointer opened by popen()"],pcnlt_sigwaitinfo:["int pcnlt_sigwaitinfo(array set[, array &siginfo])","Synchronously wait for queued signals"],pcntl_alarm:["int pcntl_alarm(int seconds)","Set an alarm clock for delivery of a signal"],pcntl_exec:["bool pcntl_exec(string path [, array args [, array envs]])","Executes specified program in current process space as defined by exec(2)"],pcntl_fork:["int pcntl_fork(void)","Forks the currently running process following the same behavior as the UNIX fork() system call"],pcntl_getpriority:["int pcntl_getpriority([int pid [, int process_identifier]])","Get the priority of any process"],pcntl_setpriority:["bool pcntl_setpriority(int priority [, int pid [, int process_identifier]])","Change the priority of any process"],pcntl_signal:["bool pcntl_signal(int signo, callback handle [, bool restart_syscalls])","Assigns a system signal handler to a PHP function"],pcntl_signal_dispatch:["bool pcntl_signal_dispatch()","Dispatch signals to signal handlers"],pcntl_sigprocmask:["bool pcntl_sigprocmask(int how, array set[, array &oldset])","Examine and change blocked signals"],pcntl_sigtimedwait:["int pcntl_sigtimedwait(array set[, array &siginfo[, int seconds[, int nanoseconds]]])","Wait for queued signals"],pcntl_wait:["int pcntl_wait(int &status)","Waits on or returns the status of a forked child as defined by the waitpid() system call"],pcntl_waitpid:["int pcntl_waitpid(int pid, int &status, int options)","Waits on or returns the status of a forked child as defined by the waitpid() system call"],pcntl_wexitstatus:["int pcntl_wexitstatus(int status)","Returns the status code of a child's exit"],pcntl_wifexited:["bool pcntl_wifexited(int status)","Returns true if the child status code represents a successful exit"],pcntl_wifsignaled:["bool pcntl_wifsignaled(int status)","Returns true if the child status code represents a process that was terminated due to a signal"],pcntl_wifstopped:["bool pcntl_wifstopped(int status)","Returns true if the child status code represents a stopped process (WUNTRACED must have been used with waitpid)"],pcntl_wstopsig:["int pcntl_wstopsig(int status)","Returns the number of the signal that caused the process to stop who's status code is passed"],pcntl_wtermsig:["int pcntl_wtermsig(int status)","Returns the number of the signal that terminated the process who's status code is passed"],pdo_drivers:["array pdo_drivers()","Return array of available PDO drivers"],pfsockopen:["resource pfsockopen(string hostname, int port [, int errno [, string errstr [, float timeout]]])","Open persistent Internet or Unix domain socket connection"],pg_affected_rows:["int pg_affected_rows(resource result)","Returns the number of affected tuples"],pg_cancel_query:["bool pg_cancel_query(resource connection)","Cancel request"],pg_client_encoding:["string pg_client_encoding([resource connection])","Get the current client encoding"],pg_close:["bool pg_close([resource connection])","Close a PostgreSQL connection"],pg_connect:["resource pg_connect(string connection_string[, int connect_type] | [string host, string port [, string options [, string tty,]]] string database)","Open a PostgreSQL connection"],pg_connection_busy:["bool pg_connection_busy(resource connection)","Get connection is busy or not"],pg_connection_reset:["bool pg_connection_reset(resource connection)","Reset connection (reconnect)"],pg_connection_status:["int pg_connection_status(resource connnection)","Get connection status"],pg_convert:["array pg_convert(resource db, string table, array values[, int options])","Check and convert values for PostgreSQL SQL statement"],pg_copy_from:["bool pg_copy_from(resource connection, string table_name , array rows [, string delimiter [, string null_as]])","Copy table from array"],pg_copy_to:["array pg_copy_to(resource connection, string table_name [, string delimiter [, string null_as]])","Copy table to array"],pg_dbname:["string pg_dbname([resource connection])","Get the database name"],pg_delete:["mixed pg_delete(resource db, string table, array ids[, int options])","Delete records has ids (id=>value)"],pg_end_copy:["bool pg_end_copy([resource connection])","Sync with backend. Completes the Copy command"],pg_escape_bytea:["string pg_escape_bytea([resource connection,] string data)","Escape binary for bytea type"],pg_escape_string:["string pg_escape_string([resource connection,] string data)","Escape string for text/char type"],pg_execute:["resource pg_execute([resource connection,] string stmtname, array params)","Execute a prepared query"],pg_fetch_all:["array pg_fetch_all(resource result)","Fetch all rows into array"],pg_fetch_all_columns:["array pg_fetch_all_columns(resource result [, int column_number])","Fetch all rows into array"],pg_fetch_array:["array pg_fetch_array(resource result [, int row [, int result_type]])","Fetch a row as an array"],pg_fetch_assoc:["array pg_fetch_assoc(resource result [, int row])","Fetch a row as an assoc array"],pg_fetch_object:["object pg_fetch_object(resource result [, int row [, string class_name [, NULL|array ctor_params]]])","Fetch a row as an object"],pg_fetch_result:["mixed pg_fetch_result(resource result, [int row_number,] mixed field_name)","Returns values from a result identifier"],pg_fetch_row:["array pg_fetch_row(resource result [, int row [, int result_type]])","Get a row as an enumerated array"],pg_field_is_null:["int pg_field_is_null(resource result, [int row,] mixed field_name_or_number)","Test if a field is NULL"],pg_field_name:["string pg_field_name(resource result, int field_number)","Returns the name of the field"],pg_field_num:["int pg_field_num(resource result, string field_name)","Returns the field number of the named field"],pg_field_prtlen:["int pg_field_prtlen(resource result, [int row,] mixed field_name_or_number)","Returns the printed length"],pg_field_size:["int pg_field_size(resource result, int field_number)","Returns the internal size of the field"],pg_field_table:["mixed pg_field_table(resource result, int field_number[, bool oid_only])","Returns the name of the table field belongs to, or table's oid if oid_only is true"],pg_field_type:["string pg_field_type(resource result, int field_number)","Returns the type name for the given field"],pg_field_type_oid:["string pg_field_type_oid(resource result, int field_number)","Returns the type oid for the given field"],pg_free_result:["bool pg_free_result(resource result)","Free result memory"],pg_get_notify:["array pg_get_notify([resource connection[, result_type]])","Get asynchronous notification"],pg_get_pid:["int pg_get_pid([resource connection)","Get backend(server) pid"],pg_get_result:["resource pg_get_result(resource connection)","Get asynchronous query result"],pg_host:["string pg_host([resource connection])","Returns the host name associated with the connection"],pg_insert:["mixed pg_insert(resource db, string table, array values[, int options])","Insert values (filed=>value) to table"],pg_last_error:["string pg_last_error([resource connection])","Get the error message string"],pg_last_notice:["string pg_last_notice(resource connection)","Returns the last notice set by the backend"],pg_last_oid:["string pg_last_oid(resource result)","Returns the last object identifier"],pg_lo_close:["bool pg_lo_close(resource large_object)","Close a large object"],pg_lo_create:["mixed pg_lo_create([resource connection],[mixed large_object_oid])","Create a large object"],pg_lo_export:["bool pg_lo_export([resource connection, ] int objoid, string filename)","Export large object direct to filesystem"],pg_lo_import:["int pg_lo_import([resource connection, ] string filename [, mixed oid])","Import large object direct from filesystem"],pg_lo_open:["resource pg_lo_open([resource connection,] int large_object_oid, string mode)","Open a large object and return fd"],pg_lo_read:["string pg_lo_read(resource large_object [, int len])","Read a large object"],pg_lo_read_all:["int pg_lo_read_all(resource large_object)","Read a large object and send straight to browser"],pg_lo_seek:["bool pg_lo_seek(resource large_object, int offset [, int whence])","Seeks position of large object"],pg_lo_tell:["int pg_lo_tell(resource large_object)","Returns current position of large object"],pg_lo_unlink:["bool pg_lo_unlink([resource connection,] string large_object_oid)","Delete a large object"],pg_lo_write:["int pg_lo_write(resource large_object, string buf [, int len])","Write a large object"],pg_meta_data:["array pg_meta_data(resource db, string table)","Get meta_data"],pg_num_fields:["int pg_num_fields(resource result)","Return the number of fields in the result"],pg_num_rows:["int pg_num_rows(resource result)","Return the number of rows in the result"],pg_options:["string pg_options([resource connection])","Get the options associated with the connection"],pg_parameter_status:["string|false pg_parameter_status([resource connection,] string param_name)","Returns the value of a server parameter"],pg_pconnect:["resource pg_pconnect(string connection_string | [string host, string port [, string options [, string tty,]]] string database)","Open a persistent PostgreSQL connection"],pg_ping:["bool pg_ping([resource connection])","Ping database. If connection is bad, try to reconnect."],pg_port:["int pg_port([resource connection])","Return the port number associated with the connection"],pg_prepare:["resource pg_prepare([resource connection,] string stmtname, string query)","Prepare a query for future execution"],pg_put_line:["bool pg_put_line([resource connection,] string query)","Send null-terminated string to backend server"],pg_query:["resource pg_query([resource connection,] string query)","Execute a query"],pg_query_params:["resource pg_query_params([resource connection,] string query, array params)","Execute a query"],pg_result_error:["string pg_result_error(resource result)","Get error message associated with result"],pg_result_error_field:["string pg_result_error_field(resource result, int fieldcode)","Get error message field associated with result"],pg_result_seek:["bool pg_result_seek(resource result, int offset)","Set internal row offset"],pg_result_status:["mixed pg_result_status(resource result[, long result_type])","Get status of query result"],pg_select:["mixed pg_select(resource db, string table, array ids[, int options])","Select records that has ids (id=>value)"],pg_send_execute:["bool pg_send_execute(resource connection, string stmtname, array params)","Executes prevriously prepared stmtname asynchronously"],pg_send_prepare:["bool pg_send_prepare(resource connection, string stmtname, string query)","Asynchronously prepare a query for future execution"],pg_send_query:["bool pg_send_query(resource connection, string query)","Send asynchronous query"],pg_send_query_params:["bool pg_send_query_params(resource connection, string query, array params)","Send asynchronous parameterized query"],pg_set_client_encoding:["int pg_set_client_encoding([resource connection,] string encoding)","Set client encoding"],pg_set_error_verbosity:["int pg_set_error_verbosity([resource connection,] int verbosity)","Set error verbosity"],pg_trace:["bool pg_trace(string filename [, string mode [, resource connection]])","Enable tracing a PostgreSQL connection"],pg_transaction_status:["int pg_transaction_status(resource connnection)","Get transaction status"],pg_tty:["string pg_tty([resource connection])","Return the tty name associated with the connection"],pg_unescape_bytea:["string pg_unescape_bytea(string data)","Unescape binary for bytea type"],pg_untrace:["bool pg_untrace([resource connection])","Disable tracing of a PostgreSQL connection"],pg_update:["mixed pg_update(resource db, string table, array fields, array ids[, int options])","Update table using values (field=>value) and ids (id=>value)"],pg_version:["array pg_version([resource connection])","Returns an array with client, protocol and server version (when available)"],php_egg_logo_guid:["string php_egg_logo_guid(void)","Return the special ID used to request the PHP logo in phpinfo screens"],php_ini_loaded_file:["string php_ini_loaded_file(void)","Return the actual loaded ini filename"],php_ini_scanned_files:["string php_ini_scanned_files(void)","Return comma-separated string of .ini files parsed from the additional ini dir"],php_logo_guid:["string php_logo_guid(void)","Return the special ID used to request the PHP logo in phpinfo screens"],php_real_logo_guid:["string php_real_logo_guid(void)","Return the special ID used to request the PHP logo in phpinfo screens"],php_sapi_name:["string php_sapi_name(void)","Return the current SAPI module name"],php_snmpv3:["void php_snmpv3(INTERNAL_FUNCTION_PARAMETERS, int st)","* * Generic SNMPv3 object fetcher * From here is passed on the the common internal object fetcher. * * st=SNMP_CMD_GET snmp3_get() - query an agent and return a single value. * st=SNMP_CMD_GETNEXT snmp3_getnext() - query an agent and return the next single value. * st=SNMP_CMD_WALK snmp3_walk() - walk the mib and return a single dimensional array * containing the values. * st=SNMP_CMD_REALWALK snmp3_real_walk() - walk the mib and return an * array of oid,value pairs. * st=SNMP_CMD_SET snmp3_set() - query an agent and set a single value *"],php_strip_whitespace:["string php_strip_whitespace(string file_name)","Return source with stripped comments and whitespace"],php_uname:["string php_uname(void)","Return information about the system PHP was built on"],phpcredits:["void phpcredits([int flag])","Prints the list of people who've contributed to the PHP project"],phpinfo:["void phpinfo([int what])","Output a page of useful information about PHP and the current request"],phpversion:["string phpversion([string extension])","Return the current PHP version"],pi:["float pi(void)","Returns an approximation of pi"],png2wbmp:["bool png2wbmp (string f_org, string f_dest, int d_height, int d_width, int threshold)","Convert PNG image to WBMP image"],popen:["resource popen(string command, string mode)","Execute a command and open either a read or a write pipe to it"],posix_access:["bool posix_access(string file [, int mode])","Determine accessibility of a file (POSIX.1 5.6.3)"],posix_ctermid:["string posix_ctermid(void)","Generate terminal path name (POSIX.1, 4.7.1)"],posix_get_last_error:["int posix_get_last_error(void)","Retrieve the error number set by the last posix function which failed."],posix_getcwd:["string posix_getcwd(void)","Get working directory pathname (POSIX.1, 5.2.2)"],posix_getegid:["int posix_getegid(void)","Get the current effective group id (POSIX.1, 4.2.1)"],posix_geteuid:["int posix_geteuid(void)","Get the current effective user id (POSIX.1, 4.2.1)"],posix_getgid:["int posix_getgid(void)","Get the current group id (POSIX.1, 4.2.1)"],posix_getgrgid:["array posix_getgrgid(long gid)","Group database access (POSIX.1, 9.2.1)"],posix_getgrnam:["array posix_getgrnam(string groupname)","Group database access (POSIX.1, 9.2.1)"],posix_getgroups:["array posix_getgroups(void)","Get supplementary group id's (POSIX.1, 4.2.3)"],posix_getlogin:["string posix_getlogin(void)","Get user name (POSIX.1, 4.2.4)"],posix_getpgid:["int posix_getpgid(void)","Get the process group id of the specified process (This is not a POSIX function, but a SVR4ism, so we compile conditionally)"],posix_getpgrp:["int posix_getpgrp(void)","Get current process group id (POSIX.1, 4.3.1)"],posix_getpid:["int posix_getpid(void)","Get the current process id (POSIX.1, 4.1.1)"],posix_getppid:["int posix_getppid(void)","Get the parent process id (POSIX.1, 4.1.1)"],posix_getpwnam:["array posix_getpwnam(string groupname)","User database access (POSIX.1, 9.2.2)"],posix_getpwuid:["array posix_getpwuid(long uid)","User database access (POSIX.1, 9.2.2)"],posix_getrlimit:["array posix_getrlimit(void)","Get system resource consumption limits (This is not a POSIX function, but a BSDism and a SVR4ism. We compile conditionally)"],posix_getsid:["int posix_getsid(void)","Get process group id of session leader (This is not a POSIX function, but a SVR4ism, so be compile conditionally)"],posix_getuid:["int posix_getuid(void)","Get the current user id (POSIX.1, 4.2.1)"],posix_initgroups:["bool posix_initgroups(string name, int base_group_id)","Calculate the group access list for the user specified in name."],posix_isatty:["bool posix_isatty(int fd)","Determine if filedesc is a tty (POSIX.1, 4.7.1)"],posix_kill:["bool posix_kill(int pid, int sig)","Send a signal to a process (POSIX.1, 3.3.2)"],posix_mkfifo:["bool posix_mkfifo(string pathname, int mode)","Make a FIFO special file (POSIX.1, 5.4.2)"],posix_mknod:["bool posix_mknod(string pathname, int mode [, int major [, int minor]])","Make a special or ordinary file (POSIX.1)"],posix_setegid:["bool posix_setegid(long uid)","Set effective group id"],posix_seteuid:["bool posix_seteuid(long uid)","Set effective user id"],posix_setgid:["bool posix_setgid(int uid)","Set group id (POSIX.1, 4.2.2)"],posix_setpgid:["bool posix_setpgid(int pid, int pgid)","Set process group id for job control (POSIX.1, 4.3.3)"],posix_setsid:["int posix_setsid(void)","Create session and set process group id (POSIX.1, 4.3.2)"],posix_setuid:["bool posix_setuid(long uid)","Set user id (POSIX.1, 4.2.2)"],posix_strerror:["string posix_strerror(int errno)","Retrieve the system error message associated with the given errno."],posix_times:["array posix_times(void)","Get process times (POSIX.1, 4.5.2)"],posix_ttyname:["string posix_ttyname(int fd)","Determine terminal device name (POSIX.1, 4.7.2)"],posix_uname:["array posix_uname(void)","Get system name (POSIX.1, 4.4.1)"],pow:["number pow(number base, number exponent)","Returns base raised to the power of exponent. Returns integer result when possible"],preg_filter:["mixed preg_filter(mixed regex, mixed replace, mixed subject [, int limit [, int &count]])","Perform Perl-style regular expression replacement and only return matches."],preg_grep:["array preg_grep(string regex, array input [, int flags])","Searches array and returns entries which match regex"],preg_last_error:["int preg_last_error()","Returns the error code of the last regexp execution."],preg_match:["int preg_match(string pattern, string subject [, array &subpatterns [, int flags [, int offset]]])","Perform a Perl-style regular expression match"],preg_match_all:["int preg_match_all(string pattern, string subject, array &subpatterns [, int flags [, int offset]])","Perform a Perl-style global regular expression match"],preg_quote:["string preg_quote(string str [, string delim_char])","Quote regular expression characters plus an optional character"],preg_replace:["mixed preg_replace(mixed regex, mixed replace, mixed subject [, int limit [, int &count]])","Perform Perl-style regular expression replacement."],preg_replace_callback:["mixed preg_replace_callback(mixed regex, mixed callback, mixed subject [, int limit [, int &count]])","Perform Perl-style regular expression replacement using replacement callback."],preg_split:["array preg_split(string pattern, string subject [, int limit [, int flags]])","Split string into an array using a perl-style regular expression as a delimiter"],prev:["mixed prev(array array_arg)","Move array argument's internal pointer to the previous element and return it"],print:["int print(string arg)","Output a string"],print_r:["mixed print_r(mixed var [, bool return])","Prints out or returns information about the specified variable"],printf:["int printf(string format [, mixed arg1 [, mixed ...]])","Output a formatted string"],proc_close:["int proc_close(resource process)","close a process opened by proc_open"],proc_get_status:["array proc_get_status(resource process)","get information about a process opened by proc_open"],proc_nice:["bool proc_nice(int priority)","Change the priority of the current process"],proc_open:["resource proc_open(string command, array descriptorspec, array &pipes [, string cwd [, array env [, array other_options]]])","Run a process with more control over it's file descriptors"],proc_terminate:["bool proc_terminate(resource process [, long signal])","kill a process opened by proc_open"],property_exists:["bool property_exists(mixed object_or_class, string property_name)","Checks if the object or class has a property"],pspell_add_to_personal:["bool pspell_add_to_personal(int pspell, string word)","Adds a word to a personal list"],pspell_add_to_session:["bool pspell_add_to_session(int pspell, string word)","Adds a word to the current session"],pspell_check:["bool pspell_check(int pspell, string word)","Returns true if word is valid"],pspell_clear_session:["bool pspell_clear_session(int pspell)","Clears the current session"],pspell_config_create:["int pspell_config_create(string language [, string spelling [, string jargon [, string encoding]]])","Create a new config to be used later to create a manager"],pspell_config_data_dir:["bool pspell_config_data_dir(int conf, string directory)","location of language data files"],pspell_config_dict_dir:["bool pspell_config_dict_dir(int conf, string directory)","location of the main word list"],pspell_config_ignore:["bool pspell_config_ignore(int conf, int ignore)","Ignore words <= n chars"],pspell_config_mode:["bool pspell_config_mode(int conf, long mode)","Select mode for config (PSPELL_FAST, PSPELL_NORMAL or PSPELL_BAD_SPELLERS)"],pspell_config_personal:["bool pspell_config_personal(int conf, string personal)","Use a personal dictionary for this config"],pspell_config_repl:["bool pspell_config_repl(int conf, string repl)","Use a personal dictionary with replacement pairs for this config"],pspell_config_runtogether:["bool pspell_config_runtogether(int conf, bool runtogether)","Consider run-together words as valid components"],pspell_config_save_repl:["bool pspell_config_save_repl(int conf, bool save)","Save replacement pairs when personal list is saved for this config"],pspell_new:["int pspell_new(string language [, string spelling [, string jargon [, string encoding [, int mode]]]])","Load a dictionary"],pspell_new_config:["int pspell_new_config(int config)","Load a dictionary based on the given config"],pspell_new_personal:["int pspell_new_personal(string personal, string language [, string spelling [, string jargon [, string encoding [, int mode]]]])","Load a dictionary with a personal wordlist"],pspell_save_wordlist:["bool pspell_save_wordlist(int pspell)","Saves the current (personal) wordlist"],pspell_store_replacement:["bool pspell_store_replacement(int pspell, string misspell, string correct)","Notify the dictionary of a user-selected replacement"],pspell_suggest:["array pspell_suggest(int pspell, string word)","Returns array of suggestions"],putenv:["bool putenv(string setting)","Set the value of an environment variable"],quoted_printable_decode:["string quoted_printable_decode(string str)","Convert a quoted-printable string to an 8 bit string"],quoted_printable_encode:["string quoted_printable_encode(string str) */",'PHP_FUNCTION(quoted_printable_encode) { char *str, *new_str; int str_len; size_t new_str_len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) != SUCCESS) { return; } if (!str_len) { RETURN_EMPTY_STRING(); } new_str = (char *)php_quot_print_encode((unsigned char *)str, (size_t)str_len, &new_str_len); RETURN_STRINGL(new_str, new_str_len, 0); } /* }}}'],quotemeta:["string quotemeta(string str)","Quotes meta characters"],rad2deg:["float rad2deg(float number)","Converts the radian number to the equivalent number in degrees"],rand:["int rand([int min, int max])","Returns a random number"],range:["array range(mixed low, mixed high[, int step])","Create an array containing the range of integers or characters from low to high (inclusive)"],rawurldecode:["string rawurldecode(string str)","Decodes URL-encodes string"],rawurlencode:["string rawurlencode(string str)","URL-encodes string"],readdir:["string readdir([resource dir_handle])","Read directory entry from dir_handle"],readfile:["int readfile(string filename [, bool use_include_path[, resource context]])","Output a file or a URL"],readgzfile:["int readgzfile(string filename [, int use_include_path])","Output a .gz-file"],readline:["string readline([string prompt])","Reads a line"],readline_add_history:["bool readline_add_history(string prompt)","Adds a line to the history"],readline_callback_handler_install:["void readline_callback_handler_install(string prompt, mixed callback)","Initializes the readline callback interface and terminal, prints the prompt and returns immediately"],readline_callback_handler_remove:["bool readline_callback_handler_remove()","Removes a previously installed callback handler and restores terminal settings"],readline_callback_read_char:["void readline_callback_read_char()","Informs the readline callback interface that a character is ready for input"],readline_clear_history:["bool readline_clear_history(void)","Clears the history"],readline_completion_function:["bool readline_completion_function(string funcname)","Readline completion function?"],readline_info:["mixed readline_info([string varname [, string newvalue]])","Gets/sets various internal readline variables."],readline_list_history:["array readline_list_history(void)","Lists the history"],readline_on_new_line:["void readline_on_new_line(void)","Inform readline that the cursor has moved to a new line"],readline_read_history:["bool readline_read_history([string filename])","Reads the history"],readline_redisplay:["void readline_redisplay(void)","Ask readline to redraw the display"],readline_write_history:["bool readline_write_history([string filename])","Writes the history"],readlink:["string readlink(string filename)","Return the target of a symbolic link"],realpath:["string realpath(string path)","Return the resolved path"],realpath_cache_get:["bool realpath_cache_get()","Get current size of realpath cache"],realpath_cache_size:["bool realpath_cache_size()","Get current size of realpath cache"],recode_file:["bool recode_file(string request, resource input, resource output)","Recode file input into file output according to request"],recode_string:["string recode_string(string request, string str)","Recode string str according to request string"],register_shutdown_function:["void register_shutdown_function(string function_name)","Register a user-level function to be called on request termination"],register_tick_function:["bool register_tick_function(string function_name [, mixed arg [, mixed ... ]])","Registers a tick callback function"],rename:["bool rename(string old_name, string new_name[, resource context])","Rename a file"],require:["bool require(string path)","Includes and evaluates the specified file, erroring if the file cannot be included"],require_once:["bool require_once(string path)","Includes and evaluates the specified file, erroring if the file cannot be included"],reset:["mixed reset(array array_arg)","Set array argument's internal pointer to the first element and return it"],restore_error_handler:["void restore_error_handler(void)","Restores the previously defined error handler function"],restore_exception_handler:["void restore_exception_handler(void)","Restores the previously defined exception handler function"],restore_include_path:["void restore_include_path()","Restore the value of the include_path configuration option"],rewind:["bool rewind(resource fp)","Rewind the position of a file pointer"],rewinddir:["void rewinddir([resource dir_handle])","Rewind dir_handle back to the start"],rmdir:["bool rmdir(string dirname[, resource context])","Remove a directory"],round:["float round(float number [, int precision [, int mode]])","Returns the number rounded to specified precision"],rsort:["bool rsort(array &array_arg [, int sort_flags])","Sort an array in reverse order"],rtrim:["string rtrim(string str [, string character_mask])","Removes trailing whitespace"],scandir:["array scandir(string dir [, int sorting_order [, resource context]])","List files & directories inside the specified path"],sem_acquire:["bool sem_acquire(resource id)","Acquires the semaphore with the given id, blocking if necessary"],sem_get:["resource sem_get(int key [, int max_acquire [, int perm [, int auto_release]])","Return an id for the semaphore with the given key, and allow max_acquire (default 1) processes to acquire it simultaneously"],sem_release:["bool sem_release(resource id)","Releases the semaphore with the given id"],sem_remove:["bool sem_remove(resource id)","Removes semaphore from Unix systems"],serialize:["string serialize(mixed variable)","Returns a string representation of variable (which can later be unserialized)"],session_cache_expire:["int session_cache_expire([int new_cache_expire])","Return the current cache expire. If new_cache_expire is given, the current cache_expire is replaced with new_cache_expire"],session_cache_limiter:["string session_cache_limiter([string new_cache_limiter])","Return the current cache limiter. If new_cache_limited is given, the current cache_limiter is replaced with new_cache_limiter"],session_decode:["bool session_decode(string data)","Deserializes data and reinitializes the variables"],session_destroy:["bool session_destroy(void)","Destroy the current session and all data associated with it"],session_encode:["string session_encode(void)","Serializes the current setup and returns the serialized representation"],session_get_cookie_params:["array session_get_cookie_params(void)","Return the session cookie parameters"],session_id:["string session_id([string newid])","Return the current session id. If newid is given, the session id is replaced with newid"],session_is_registered:["bool session_is_registered(string varname)","Checks if a variable is registered in session"],session_module_name:["string session_module_name([string newname])","Return the current module name used for accessing session data. If newname is given, the module name is replaced with newname"],session_name:["string session_name([string newname])","Return the current session name. If newname is given, the session name is replaced with newname"],session_regenerate_id:["bool session_regenerate_id([bool delete_old_session])","Update the current session id with a newly generated one. If delete_old_session is set to true, remove the old session."],session_register:["bool session_register(mixed var_names [, mixed ...])","Adds varname(s) to the list of variables which are freezed at the session end"],session_save_path:["string session_save_path([string newname])","Return the current save path passed to module_name. If newname is given, the save path is replaced with newname"],session_set_cookie_params:["void session_set_cookie_params(int lifetime [, string path [, string domain [, bool secure[, bool httponly]]]])","Set session cookie parameters"],session_set_save_handler:["void session_set_save_handler(string open, string close, string read, string write, string destroy, string gc)","Sets user-level functions"],session_start:["bool session_start(void)","Begin session - reinitializes freezed variables, registers browsers etc"],session_unregister:["bool session_unregister(string varname)","Removes varname from the list of variables which are freezed at the session end"],session_unset:["void session_unset(void)","Unset all registered variables"],session_write_close:["void session_write_close(void)","Write session data and end session"],set_error_handler:["string set_error_handler(string error_handler [, int error_types])","Sets a user-defined error handler function. Returns the previously defined error handler, or false on error"],set_exception_handler:["string set_exception_handler(callable exception_handler)","Sets a user-defined exception handler function. Returns the previously defined exception handler, or false on error"],set_include_path:["string set_include_path(string new_include_path)","Sets the include_path configuration option"],set_magic_quotes_runtime:["bool set_magic_quotes_runtime(int new_setting)","Set the current active configuration setting of magic_quotes_runtime and return previous"],set_time_limit:["bool set_time_limit(int seconds)","Sets the maximum time a script can run"],setcookie:["bool setcookie(string name [, string value [, int expires [, string path [, string domain [, bool secure[, bool httponly]]]]]])","Send a cookie"],setlocale:["string setlocale(mixed category, string locale [, string ...])","Set locale information"],setrawcookie:["bool setrawcookie(string name [, string value [, int expires [, string path [, string domain [, bool secure[, bool httponly]]]]]])","Send a cookie with no url encoding of the value"],settype:["bool settype(mixed var, string type)","Set the type of the variable"],sha1:["string sha1(string str [, bool raw_output])","Calculate the sha1 hash of a string"],sha1_file:["string sha1_file(string filename [, bool raw_output])","Calculate the sha1 hash of given filename"],shell_exec:["string shell_exec(string cmd)","Execute command via shell and return complete output as string"],shm_attach:["int shm_attach(int key [, int memsize [, int perm]])","Creates or open a shared memory segment"],shm_detach:["bool shm_detach(resource shm_identifier)","Disconnects from shared memory segment"],shm_get_var:["mixed shm_get_var(resource id, int variable_key)","Returns a variable from shared memory"],shm_has_var:["bool shm_has_var(resource id, int variable_key)","Checks whether a specific entry exists"],shm_put_var:["bool shm_put_var(resource shm_identifier, int variable_key, mixed variable)","Inserts or updates a variable in shared memory"],shm_remove:["bool shm_remove(resource shm_identifier)","Removes shared memory from Unix systems"],shm_remove_var:["bool shm_remove_var(resource id, int variable_key)","Removes variable from shared memory"],shmop_close:["void shmop_close (int shmid)","closes a shared memory segment"],shmop_delete:["bool shmop_delete (int shmid)","mark segment for deletion"],shmop_open:["int shmop_open (int key, string flags, int mode, int size)","gets and attaches a shared memory segment"],shmop_read:["string shmop_read (int shmid, int start, int count)","reads from a shm segment"],shmop_size:["int shmop_size (int shmid)","returns the shm size"],shmop_write:["int shmop_write (int shmid, string data, int offset)","writes to a shared memory segment"],shuffle:["bool shuffle(array array_arg)","Randomly shuffle the contents of an array"],similar_text:["int similar_text(string str1, string str2 [, float percent])","Calculates the similarity between two strings"],simplexml_import_dom:["simplemxml_element simplexml_import_dom(domNode node [, string class_name])","Get a simplexml_element object from dom to allow for processing"],simplexml_load_file:["simplemxml_element simplexml_load_file(string filename [, string class_name [, int options [, string ns [, bool is_prefix]]]])","Load a filename and return a simplexml_element object to allow for processing"],simplexml_load_string:["simplemxml_element simplexml_load_string(string data [, string class_name [, int options [, string ns [, bool is_prefix]]]])","Load a string and return a simplexml_element object to allow for processing"],sin:["float sin(float number)","Returns the sine of the number in radians"],sinh:["float sinh(float number)","Returns the hyperbolic sine of the number, defined as (exp(number) - exp(-number))/2"],sleep:["void sleep(int seconds)","Delay for a given number of seconds"],smfi_addheader:["bool smfi_addheader(string headerf, string headerv)","Adds a header to the current message."],smfi_addrcpt:["bool smfi_addrcpt(string rcpt)","Add a recipient to the message envelope."],smfi_chgheader:["bool smfi_chgheader(string headerf, string headerv)","Changes a header's value for the current message."],smfi_delrcpt:["bool smfi_delrcpt(string rcpt)","Removes the named recipient from the current message's envelope."],smfi_getsymval:["string smfi_getsymval(string macro)","Returns the value of the given macro or NULL if the macro is not defined."],smfi_replacebody:["bool smfi_replacebody(string body)","Replaces the body of the current message. If called more than once, subsequent calls result in data being appended to the new body."],smfi_setflags:["void smfi_setflags(long flags)","Sets the flags describing the actions the filter may take."],smfi_setreply:["bool smfi_setreply(string rcode, string xcode, string message)","Directly set the SMTP error reply code for this connection. This code will be used on subsequent error replies resulting from actions taken by this filter."],smfi_settimeout:["void smfi_settimeout(long timeout)","Sets the number of seconds libmilter will wait for an MTA connection before timing out a socket."],snmp2_get:["string snmp2_get(string host, string community, string object_id [, int timeout [, int retries]])","Fetch a SNMP object"],snmp2_getnext:["string snmp2_getnext(string host, string community, string object_id [, int timeout [, int retries]])","Fetch a SNMP object"],snmp2_real_walk:["array snmp2_real_walk(string host, string community, string object_id [, int timeout [, int retries]])","Return all objects including their respective object id withing the specified one"],snmp2_set:["int snmp2_set(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]])","Set the value of a SNMP object"],snmp2_walk:["array snmp2_walk(string host, string community, string object_id [, int timeout [, int retries]])","Return all objects under the specified object id"],snmp3_get:["int snmp3_get(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]])","Fetch the value of a SNMP object"],snmp3_getnext:["int snmp3_getnext(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]])","Fetch the value of a SNMP object"],snmp3_real_walk:["int snmp3_real_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]])","Fetch the value of a SNMP object"],snmp3_set:["int snmp3_set(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id, string type, mixed value [, int timeout [, int retries]])","Fetch the value of a SNMP object"],snmp3_walk:["int snmp3_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]])","Fetch the value of a SNMP object"],snmp_get_quick_print:["bool snmp_get_quick_print(void)","Return the current status of quick_print"],snmp_get_valueretrieval:["int snmp_get_valueretrieval()","Return the method how the SNMP values will be returned"],snmp_read_mib:["int snmp_read_mib(string filename)","Reads and parses a MIB file into the active MIB tree."],snmp_set_enum_print:["void snmp_set_enum_print(int enum_print)","Return all values that are enums with their enum value instead of the raw integer"],snmp_set_oid_output_format:["void snmp_set_oid_output_format(int oid_format)","Set the OID output format."],snmp_set_quick_print:["void snmp_set_quick_print(int quick_print)","Return all objects including their respective object id withing the specified one"],snmp_set_valueretrieval:["void snmp_set_valueretrieval(int method)","Specify the method how the SNMP values will be returned"],snmpget:["string snmpget(string host, string community, string object_id [, int timeout [, int retries]])","Fetch a SNMP object"],snmpgetnext:["string snmpgetnext(string host, string community, string object_id [, int timeout [, int retries]])","Fetch a SNMP object"],snmprealwalk:["array snmprealwalk(string host, string community, string object_id [, int timeout [, int retries]])","Return all objects including their respective object id withing the specified one"],snmpset:["int snmpset(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]])","Set the value of a SNMP object"],snmpwalk:["array snmpwalk(string host, string community, string object_id [, int timeout [, int retries]])","Return all objects under the specified object id"],socket_accept:["resource socket_accept(resource socket)","Accepts a connection on the listening socket fd"],socket_bind:["bool socket_bind(resource socket, string addr [, int port])","Binds an open socket to a listening port, port is only specified in AF_INET family."],socket_clear_error:["void socket_clear_error([resource socket])","Clears the error on the socket or the last error code."],socket_close:["void socket_close(resource socket)","Closes a file descriptor"],socket_connect:["bool socket_connect(resource socket, string addr [, int port])","Opens a connection to addr:port on the socket specified by socket"],socket_create:["resource socket_create(int domain, int type, int protocol)","Creates an endpoint for communication in the domain specified by domain, of type specified by type"],socket_create_listen:["resource socket_create_listen(int port[, int backlog])","Opens a socket on port to accept connections"],socket_create_pair:["bool socket_create_pair(int domain, int type, int protocol, array &fd)","Creates a pair of indistinguishable sockets and stores them in fds."],socket_get_option:["mixed socket_get_option(resource socket, int level, int optname)","Gets socket options for the socket"],socket_getpeername:["bool socket_getpeername(resource socket, string &addr[, int &port])","Queries the remote side of the given socket which may either result in host/port or in a UNIX filesystem path, dependent on its type."],socket_getsockname:["bool socket_getsockname(resource socket, string &addr[, int &port])","Queries the remote side of the given socket which may either result in host/port or in a UNIX filesystem path, dependent on its type."],socket_last_error:["int socket_last_error([resource socket])","Returns the last socket error (either the last used or the provided socket resource)"],socket_listen:["bool socket_listen(resource socket[, int backlog])","Sets the maximum number of connections allowed to be waited for on the socket specified by fd"],socket_read:["string socket_read(resource socket, int length [, int type])","Reads a maximum of length bytes from socket"],socket_recv:["int socket_recv(resource socket, string &buf, int len, int flags)","Receives data from a connected socket"],socket_recvfrom:["int socket_recvfrom(resource socket, string &buf, int len, int flags, string &name [, int &port])","Receives data from a socket, connected or not"],socket_select:["int socket_select(array &read_fds, array &write_fds, array &except_fds, int tv_sec[, int tv_usec])","Runs the select() system call on the sets mentioned with a timeout specified by tv_sec and tv_usec"],socket_send:["int socket_send(resource socket, string buf, int len, int flags)","Sends data to a connected socket"],socket_sendto:["int socket_sendto(resource socket, string buf, int len, int flags, string addr [, int port])","Sends a message to a socket, whether it is connected or not"],socket_set_block:["bool socket_set_block(resource socket)","Sets blocking mode on a socket resource"],socket_set_nonblock:["bool socket_set_nonblock(resource socket)","Sets nonblocking mode on a socket resource"],socket_set_option:["bool socket_set_option(resource socket, int level, int optname, int|array optval)","Sets socket options for the socket"],socket_shutdown:["bool socket_shutdown(resource socket[, int how])","Shuts down a socket for receiving, sending, or both."],socket_strerror:["string socket_strerror(int errno)","Returns a string describing an error"],socket_write:["int socket_write(resource socket, string buf[, int length])","Writes the buffer to the socket resource, length is optional"],solid_fetch_prev:["bool solid_fetch_prev(resource result_id)",""],sort:["bool sort(array &array_arg [, int sort_flags])","Sort an array"],soundex:["string soundex(string str)","Calculate the soundex key of a string"],spl_autoload:["void spl_autoload(string class_name [, string file_extensions])","Default implementation for __autoload()"],spl_autoload_call:["void spl_autoload_call(string class_name)","Try all registerd autoload function to load the requested class"],spl_autoload_extensions:["string spl_autoload_extensions([string file_extensions])","Register and return default file extensions for spl_autoload"],spl_autoload_functions:["false|array spl_autoload_functions()","Return all registered __autoload() functionns"],spl_autoload_register:['bool spl_autoload_register([mixed autoload_function = "spl_autoload" [, throw = true [, prepend]]])',"Register given function as __autoload() implementation"],spl_autoload_unregister:["bool spl_autoload_unregister(mixed autoload_function)","Unregister given function as __autoload() implementation"],spl_classes:["array spl_classes()","Return an array containing the names of all clsses and interfaces defined in SPL"],spl_object_hash:["string spl_object_hash(object obj)","Return hash id for given object"],split:["array split(string pattern, string string [, int limit])","Split string into array by regular expression"],spliti:["array spliti(string pattern, string string [, int limit])","Split string into array by regular expression case-insensitive"],sprintf:["string sprintf(string format [, mixed arg1 [, mixed ...]])","Return a formatted string"],sql_regcase:["string sql_regcase(string string)","Make regular expression for case insensitive match"],sqlite_array_query:["array sqlite_array_query(resource db, string query [ , int result_type [, bool decode_binary]])","Executes a query against a given database and returns an array of arrays."],sqlite_busy_timeout:["void sqlite_busy_timeout(resource db, int ms)","Set busy timeout duration. If ms <= 0, all busy handlers are disabled."],sqlite_changes:["int sqlite_changes(resource db)","Returns the number of rows that were changed by the most recent SQL statement."],sqlite_close:["void sqlite_close(resource db)","Closes an open sqlite database."],sqlite_column:["mixed sqlite_column(resource result, mixed index_or_name [, bool decode_binary])","Fetches a column from the current row of a result set."],sqlite_create_aggregate:["bool sqlite_create_aggregate(resource db, string funcname, mixed step_func, mixed finalize_func[, long num_args])","Registers an aggregate function for queries."],sqlite_create_function:["bool sqlite_create_function(resource db, string funcname, mixed callback[, long num_args])",'Registers a "regular" function for queries.'],sqlite_current:["array sqlite_current(resource result [, int result_type [, bool decode_binary]])","Fetches the current row from a result set as an array."],sqlite_error_string:["string sqlite_error_string(int error_code)","Returns the textual description of an error code."],sqlite_escape_string:["string sqlite_escape_string(string item)","Escapes a string for use as a query parameter."],sqlite_exec:["boolean sqlite_exec(string query, resource db[, string &error_message])","Executes a result-less query against a given database"],sqlite_factory:["object sqlite_factory(string filename [, int mode [, string &error_message]])","Opens a SQLite database and creates an object for it. Will create the database if it does not exist."],sqlite_fetch_all:["array sqlite_fetch_all(resource result [, int result_type [, bool decode_binary]])","Fetches all rows from a result set as an array of arrays."],sqlite_fetch_array:["array sqlite_fetch_array(resource result [, int result_type [, bool decode_binary]])","Fetches the next row from a result set as an array."],sqlite_fetch_column_types:["resource sqlite_fetch_column_types(string table_name, resource db [, int result_type])","Return an array of column types from a particular table."],sqlite_fetch_object:["object sqlite_fetch_object(resource result [, string class_name [, NULL|array ctor_params [, bool decode_binary]]])","Fetches the next row from a result set as an object."],sqlite_fetch_single:["string sqlite_fetch_single(resource result [, bool decode_binary])","Fetches the first column of a result set as a string."],sqlite_field_name:["string sqlite_field_name(resource result, int field_index)","Returns the name of a particular field of a result set."],sqlite_has_prev:["bool sqlite_has_prev(resource result)","* Returns whether a previous row is available."],sqlite_key:["int sqlite_key(resource result)","Return the current row index of a buffered result."],sqlite_last_error:["int sqlite_last_error(resource db)","Returns the error code of the last error for a database."],sqlite_last_insert_rowid:["int sqlite_last_insert_rowid(resource db)","Returns the rowid of the most recently inserted row."],sqlite_libencoding:["string sqlite_libencoding()","Returns the encoding (iso8859 or UTF-8) of the linked SQLite library."],sqlite_libversion:["string sqlite_libversion()","Returns the version of the linked SQLite library."],sqlite_next:["bool sqlite_next(resource result)","Seek to the next row number of a result set."],sqlite_num_fields:["int sqlite_num_fields(resource result)","Returns the number of fields in a result set."],sqlite_num_rows:["int sqlite_num_rows(resource result)","Returns the number of rows in a buffered result set."],sqlite_open:["resource sqlite_open(string filename [, int mode [, string &error_message]])","Opens a SQLite database. Will create the database if it does not exist."],sqlite_popen:["resource sqlite_popen(string filename [, int mode [, string &error_message]])","Opens a persistent handle to a SQLite database. Will create the database if it does not exist."],sqlite_prev:["bool sqlite_prev(resource result)","* Seek to the previous row number of a result set."],sqlite_query:["resource sqlite_query(string query, resource db [, int result_type [, string &error_message]])","Executes a query against a given database and returns a result handle."],sqlite_rewind:["bool sqlite_rewind(resource result)","Seek to the first row number of a buffered result set."],sqlite_seek:["bool sqlite_seek(resource result, int row)","Seek to a particular row number of a buffered result set."],sqlite_single_query:["array sqlite_single_query(resource db, string query [, bool first_row_only [, bool decode_binary]])","Executes a query and returns either an array for one single column or the value of the first row."],sqlite_udf_decode_binary:["string sqlite_udf_decode_binary(string data)","Decode binary encoding on a string parameter passed to an UDF."],sqlite_udf_encode_binary:["string sqlite_udf_encode_binary(string data)","Apply binary encoding (if required) to a string to return from an UDF."],sqlite_unbuffered_query:["resource sqlite_unbuffered_query(string query, resource db [ , int result_type [, string &error_message]])","Executes a query that does not prefetch and buffer all data."],sqlite_valid:["bool sqlite_valid(resource result)","Returns whether more rows are available."],sqrt:["float sqrt(float number)","Returns the square root of the number"],srand:["void srand([int seed])","Seeds random number generator"],sscanf:["mixed sscanf(string str, string format [, string ...])","Implements an ANSI C compatible sscanf"],stat:["array stat(string filename)","Give information about a file"],str_getcsv:["array str_getcsv(string input[, string delimiter[, string enclosure[, string escape]]])","Parse a CSV string into an array"],str_ireplace:["mixed str_ireplace(mixed search, mixed replace, mixed subject [, int &replace_count])","Replaces all occurrences of search in haystack with replace / case-insensitive"],str_pad:["string str_pad(string input, int pad_length [, string pad_string [, int pad_type]])","Returns input string padded on the left or right to specified length with pad_string"],str_repeat:["string str_repeat(string input, int mult)","Returns the input string repeat mult times"],str_replace:["mixed str_replace(mixed search, mixed replace, mixed subject [, int &replace_count])","Replaces all occurrences of search in haystack with replace"],str_rot13:["string str_rot13(string str)","Perform the rot13 transform on a string"],str_shuffle:["void str_shuffle(string str)","Shuffles string. One permutation of all possible is created"],str_split:["array str_split(string str [, int split_length])","Convert a string to an array. If split_length is specified, break the string down into chunks each split_length characters long."],str_word_count:["mixed str_word_count(string str, [int format [, string charlist]])",'Counts the number of words inside a string. If format of 1 is specified, then the function will return an array containing all the words found inside the string. If format of 2 is specified, then the function will return an associated array where the position of the word is the key and the word itself is the value. For the purpose of this function, \'word\' is defined as a locale dependent string containing alphabetic characters, which also may contain, but not start with "\'" and "-" characters.'],strcasecmp:["int strcasecmp(string str1, string str2)","Binary safe case-insensitive string comparison"],strchr:["string strchr(string haystack, string needle)","An alias for strstr"],strcmp:["int strcmp(string str1, string str2)","Binary safe string comparison"],strcoll:["int strcoll(string str1, string str2)","Compares two strings using the current locale"],strcspn:["int strcspn(string str, string mask [, start [, len]])","Finds length of initial segment consisting entirely of characters not found in mask. If start or/and length is provide works like strcspn(substr($s,$start,$len),$bad_chars)"],stream_bucket_append:["void stream_bucket_append(resource brigade, resource bucket)","Append bucket to brigade"],stream_bucket_make_writeable:["object stream_bucket_make_writeable(resource brigade)","Return a bucket object from the brigade for operating on"],stream_bucket_new:["resource stream_bucket_new(resource stream, string buffer)","Create a new bucket for use on the current stream"],stream_bucket_prepend:["void stream_bucket_prepend(resource brigade, resource bucket)","Prepend bucket to brigade"],stream_context_create:["resource stream_context_create([array options[, array params]])","Create a file context and optionally set parameters"],stream_context_get_default:["resource stream_context_get_default([array options])","Get a handle on the default file/stream context and optionally set parameters"],stream_context_get_options:["array stream_context_get_options(resource context|resource stream)","Retrieve options for a stream/wrapper/context"],stream_context_get_params:["array stream_context_get_params(resource context|resource stream)","Get parameters of a file context"],stream_context_set_default:["resource stream_context_set_default(array options)","Set default file/stream context, returns the context as a resource"],stream_context_set_option:["bool stream_context_set_option(resource context|resource stream, string wrappername, string optionname, mixed value)","Set an option for a wrapper"],stream_context_set_params:["bool stream_context_set_params(resource context|resource stream, array options)","Set parameters for a file context"],stream_copy_to_stream:["long stream_copy_to_stream(resource source, resource dest [, long maxlen [, long pos]])","Reads up to maxlen bytes from source stream and writes them to dest stream."],stream_filter_append:["resource stream_filter_append(resource stream, string filtername[, int read_write[, string filterparams]])","Append a filter to a stream"],stream_filter_prepend:["resource stream_filter_prepend(resource stream, string filtername[, int read_write[, string filterparams]])","Prepend a filter to a stream"],stream_filter_register:["bool stream_filter_register(string filtername, string classname)","Registers a custom filter handler class"],stream_filter_remove:["bool stream_filter_remove(resource stream_filter)","Flushes any data in the filter's internal buffer, removes it from the chain, and frees the resource"],stream_get_contents:["string stream_get_contents(resource source [, long maxlen [, long offset]])","Reads all remaining bytes (or up to maxlen bytes) from a stream and returns them as a string."],stream_get_filters:["array stream_get_filters(void)","Returns a list of registered filters"],stream_get_line:["string stream_get_line(resource stream, int maxlen [, string ending])","Read up to maxlen bytes from a stream or until the ending string is found"],stream_get_meta_data:["array stream_get_meta_data(resource fp)","Retrieves header/meta data from streams/file pointers"],stream_get_transports:["array stream_get_transports()","Retrieves list of registered socket transports"],stream_get_wrappers:["array stream_get_wrappers()","Retrieves list of registered stream wrappers"],stream_is_local:["bool stream_is_local(resource stream|string url)",""],stream_resolve_include_path:["string stream_resolve_include_path(string filename)","Determine what file will be opened by calls to fopen() with a relative path"],stream_select:["int stream_select(array &read_streams, array &write_streams, array &except_streams, int tv_sec[, int tv_usec])","Runs the select() system call on the sets of streams with a timeout specified by tv_sec and tv_usec"],stream_set_blocking:["bool stream_set_blocking(resource socket, int mode)","Set blocking/non-blocking mode on a socket or stream"],stream_set_timeout:["bool stream_set_timeout(resource stream, int seconds [, int microseconds])","Set timeout on stream read to seconds + microseonds"],stream_set_write_buffer:["int stream_set_write_buffer(resource fp, int buffer)","Set file write buffer"],stream_socket_accept:["resource stream_socket_accept(resource serverstream, [ double timeout [, string &peername ]])","Accept a client connection from a server socket"],stream_socket_client:["resource stream_socket_client(string remoteaddress [, long &errcode [, string &errstring [, double timeout [, long flags [, resource context]]]]])","Open a client connection to a remote address"],stream_socket_enable_crypto:["int stream_socket_enable_crypto(resource stream, bool enable [, int cryptokind [, resource sessionstream]])","Enable or disable a specific kind of crypto on the stream"],stream_socket_get_name:["string stream_socket_get_name(resource stream, bool want_peer)","Returns either the locally bound or remote name for a socket stream"],stream_socket_pair:["array stream_socket_pair(int domain, int type, int protocol)","Creates a pair of connected, indistinguishable socket streams"],stream_socket_recvfrom:["string stream_socket_recvfrom(resource stream, long amount [, long flags [, string &remote_addr]])","Receives data from a socket stream"],stream_socket_sendto:["long stream_socket_sendto(resouce stream, string data [, long flags [, string target_addr]])","Send data to a socket stream. If target_addr is specified it must be in dotted quad (or [ipv6]) format"],stream_socket_server:["resource stream_socket_server(string localaddress [, long &errcode [, string &errstring [, long flags [, resource context]]]])","Create a server socket bound to localaddress"],stream_socket_shutdown:["int stream_socket_shutdown(resource stream, int how)","causes all or part of a full-duplex connection on the socket associated with stream to be shut down. If how is SHUT_RD, further receptions will be disallowed. If how is SHUT_WR, further transmissions will be disallowed. If how is SHUT_RDWR, further receptions and transmissions will be disallowed."],stream_supports_lock:["bool stream_supports_lock(resource stream)","Tells wether the stream supports locking through flock()."],stream_wrapper_register:["bool stream_wrapper_register(string protocol, string classname[, integer flags])","Registers a custom URL protocol handler class"],stream_wrapper_restore:["bool stream_wrapper_restore(string protocol)","Restore the original protocol handler, overriding if necessary"],stream_wrapper_unregister:["bool stream_wrapper_unregister(string protocol)","Unregister a wrapper for the life of the current request."],strftime:["string strftime(string format [, int timestamp])","Format a local time/date according to locale settings"],strip_tags:["string strip_tags(string str [, string allowable_tags])","Strips HTML and PHP tags from a string"],stripcslashes:["string stripcslashes(string str)","Strips backslashes from a string. Uses C-style conventions"],stripos:["int stripos(string haystack, string needle [, int offset])","Finds position of first occurrence of a string within another, case insensitive"],stripslashes:["string stripslashes(string str)","Strips backslashes from a string"],stristr:["string stristr(string haystack, string needle[, bool part])","Finds first occurrence of a string within another, case insensitive"],strlen:["int strlen(string str)","Get string length"],strnatcasecmp:["int strnatcasecmp(string s1, string s2)","Returns the result of case-insensitive string comparison using 'natural' algorithm"],strnatcmp:["int strnatcmp(string s1, string s2)","Returns the result of string comparison using 'natural' algorithm"],strncasecmp:["int strncasecmp(string str1, string str2, int len)","Binary safe string comparison"],strncmp:["int strncmp(string str1, string str2, int len)","Binary safe string comparison"],strpbrk:["array strpbrk(string haystack, string char_list)","Search a string for any of a set of characters"],strpos:["int strpos(string haystack, string needle [, int offset])","Finds position of first occurrence of a string within another"],strptime:["string strptime(string timestamp, string format)","Parse a time/date generated with strftime()"],strrchr:["string strrchr(string haystack, string needle)","Finds the last occurrence of a character in a string within another"],strrev:["string strrev(string str)","Reverse a string"],strripos:["int strripos(string haystack, string needle [, int offset])","Finds position of last occurrence of a string within another string"],strrpos:["int strrpos(string haystack, string needle [, int offset])","Finds position of last occurrence of a string within another string"],strspn:["int strspn(string str, string mask [, start [, len]])","Finds length of initial segment consisting entirely of characters found in mask. If start or/and length is provided works like strspn(substr($s,$start,$len),$good_chars)"],strstr:["string strstr(string haystack, string needle[, bool part])","Finds first occurrence of a string within another"],strtok:["string strtok([string str,] string token)","Tokenize a string"],strtolower:["string strtolower(string str)","Makes a string lowercase"],strtotime:["int strtotime(string time [, int now ])","Convert string representation of date and time to a timestamp"],strtoupper:["string strtoupper(string str)","Makes a string uppercase"],strtr:["string strtr(string str, string from[, string to])","Translates characters in str using given translation tables"],strval:["string strval(mixed var)","Get the string value of a variable"],substr:["string substr(string str, int start [, int length])","Returns part of a string"],substr_compare:["int substr_compare(string main_str, string str, int offset [, int length [, bool case_sensitivity]])","Binary safe optionally case insensitive comparison of 2 strings from an offset, up to length characters"],substr_count:["int substr_count(string haystack, string needle [, int offset [, int length]])","Returns the number of times a substring occurs in the string"],substr_replace:["mixed substr_replace(mixed str, mixed repl, mixed start [, mixed length])","Replaces part of a string with another string"],sybase_affected_rows:["int sybase_affected_rows([resource link_id])","Get number of affected rows in last query"],sybase_close:["bool sybase_close([resource link_id])","Close Sybase connection"],sybase_connect:["int sybase_connect([string host [, string user [, string password [, string charset [, string appname [, bool new]]]]]])","Open Sybase server connection"],sybase_data_seek:["bool sybase_data_seek(resource result, int offset)","Move internal row pointer"],sybase_deadlock_retry_count:["void sybase_deadlock_retry_count(int retry_count)","Sets deadlock retry count"],sybase_fetch_array:["array sybase_fetch_array(resource result)","Fetch row as array"],sybase_fetch_assoc:["array sybase_fetch_assoc(resource result)","Fetch row as array without numberic indices"],sybase_fetch_field:["object sybase_fetch_field(resource result [, int offset])","Get field information"],sybase_fetch_object:["object sybase_fetch_object(resource result [, mixed object])","Fetch row as object"],sybase_fetch_row:["array sybase_fetch_row(resource result)","Get row as enumerated array"],sybase_field_seek:["bool sybase_field_seek(resource result, int offset)","Set field offset"],sybase_free_result:["bool sybase_free_result(resource result)","Free result memory"],sybase_get_last_message:["string sybase_get_last_message(void)","Returns the last message from server (over min_message_severity)"],sybase_min_client_severity:["void sybase_min_client_severity(int severity)","Sets minimum client severity"],sybase_min_server_severity:["void sybase_min_server_severity(int severity)","Sets minimum server severity"],sybase_num_fields:["int sybase_num_fields(resource result)","Get number of fields in result"],sybase_num_rows:["int sybase_num_rows(resource result)","Get number of rows in result"],sybase_pconnect:["int sybase_pconnect([string host [, string user [, string password [, string charset [, string appname]]]]])","Open persistent Sybase connection"],sybase_query:["int sybase_query(string query [, resource link_id])","Send Sybase query"],sybase_result:["string sybase_result(resource result, int row, mixed field)","Get result data"],sybase_select_db:["bool sybase_select_db(string database [, resource link_id])","Select Sybase database"],sybase_set_message_handler:["bool sybase_set_message_handler(mixed error_func [, resource connection])","Set the error handler, to be called when a server message is raised. If error_func is NULL the handler will be deleted"],sybase_unbuffered_query:["int sybase_unbuffered_query(string query [, resource link_id])","Send Sybase query"],symlink:["int symlink(string target, string link)","Create a symbolic link"],sys_get_temp_dir:["string sys_get_temp_dir()","Returns directory path used for temporary files"],sys_getloadavg:["array sys_getloadavg()",""],syslog:["bool syslog(int priority, string message)","Generate a system log message"],system:["int system(string command [, int &return_value])","Execute an external program and display output"],tan:["float tan(float number)","Returns the tangent of the number in radians"],tanh:["float tanh(float number)","Returns the hyperbolic tangent of the number, defined as sinh(number)/cosh(number)"],tempnam:["string tempnam(string dir, string prefix)","Create a unique filename in a directory"],textdomain:["string textdomain(string domain)",'Set the textdomain to "domain". Returns the current domain'],tidy_access_count:["int tidy_access_count()","Returns the Number of Tidy accessibility warnings encountered for specified document."],tidy_clean_repair:["boolean tidy_clean_repair()","Execute configured cleanup and repair operations on parsed markup"],tidy_config_count:["int tidy_config_count()","Returns the Number of Tidy configuration errors encountered for specified document."],tidy_diagnose:["boolean tidy_diagnose()","Run configured diagnostics on parsed and repaired markup."],tidy_error_count:["int tidy_error_count()","Returns the Number of Tidy errors encountered for specified document."],tidy_get_body:["TidyNode tidy_get_body(resource tidy)","Returns a TidyNode Object starting from the <BODY> tag of the tidy parse tree"],tidy_get_config:["array tidy_get_config()","Get current Tidy configuarion"],tidy_get_error_buffer:["string tidy_get_error_buffer([boolean detailed])","Return warnings and errors which occured parsing the specified document"],tidy_get_head:["TidyNode tidy_get_head()","Returns a TidyNode Object starting from the <HEAD> tag of the tidy parse tree"],tidy_get_html:["TidyNode tidy_get_html()","Returns a TidyNode Object starting from the <HTML> tag of the tidy parse tree"],tidy_get_html_ver:["int tidy_get_html_ver()","Get the Detected HTML version for the specified document."],tidy_get_opt_doc:["string tidy_get_opt_doc(tidy resource, string optname)","Returns the documentation for the given option name"],tidy_get_output:["string tidy_get_output()","Return a string representing the parsed tidy markup"],tidy_get_release:["string tidy_get_release()","Get release date (version) for Tidy library"],tidy_get_root:["TidyNode tidy_get_root()","Returns a TidyNode Object representing the root of the tidy parse tree"],tidy_get_status:["int tidy_get_status()","Get status of specfied document."],tidy_getopt:["mixed tidy_getopt(string option)","Returns the value of the specified configuration option for the tidy document."],tidy_is_xhtml:["boolean tidy_is_xhtml()","Indicates if the document is a XHTML document."],tidy_is_xml:["boolean tidy_is_xml()","Indicates if the document is a generic (non HTML/XHTML) XML document."],tidy_parse_file:["boolean tidy_parse_file(string file [, mixed config_options [, string encoding [, bool use_include_path]]])","Parse markup in file or URI"],tidy_parse_string:["bool tidy_parse_string(string input [, mixed config_options [, string encoding]])","Parse a document stored in a string"],tidy_repair_file:["boolean tidy_repair_file(string filename [, mixed config_file [, string encoding [, bool use_include_path]]])","Repair a file using an optionally provided configuration file"],tidy_repair_string:["boolean tidy_repair_string(string data [, mixed config_file [, string encoding]])","Repair a string using an optionally provided configuration file"],tidy_warning_count:["int tidy_warning_count()","Returns the Number of Tidy warnings encountered for specified document."],time:["int time(void)","Return current UNIX timestamp"],time_nanosleep:["mixed time_nanosleep(long seconds, long nanoseconds)","Delay for a number of seconds and nano seconds"],time_sleep_until:["mixed time_sleep_until(float timestamp)","Make the script sleep until the specified time"],timezone_abbreviations_list:["array timezone_abbreviations_list()","Returns associative array containing dst, offset and the timezone name"],timezone_identifiers_list:["array timezone_identifiers_list([long what[, string country]])","Returns numerically index array with all timezone identifiers."],timezone_location_get:["array timezone_location_get()","Returns location information for a timezone, including country code, latitude/longitude and comments"],timezone_name_from_abbr:["string timezone_name_from_abbr(string abbr[, long gmtOffset[, long isdst]])","Returns the timezone name from abbrevation"],timezone_name_get:["string timezone_name_get(DateTimeZone object)","Returns the name of the timezone."],timezone_offset_get:["long timezone_offset_get(DateTimeZone object, DateTime object)","Returns the timezone offset."],timezone_open:["DateTimeZone timezone_open(string timezone)","Returns new DateTimeZone object"],timezone_transitions_get:["array timezone_transitions_get(DateTimeZone object [, long timestamp_begin [, long timestamp_end ]])","Returns numerically indexed array containing associative array for all transitions in the specified range for the timezone."],timezone_version_get:["array timezone_version_get()","Returns the Olson database version number."],tmpfile:["resource tmpfile(void)","Create a temporary file that will be deleted automatically after use"],token_get_all:["array token_get_all(string source)",""],token_name:["string token_name(int type)",""],touch:["bool touch(string filename [, int time [, int atime]])","Set modification time of file"],trigger_error:["void trigger_error(string messsage [, int error_type])","Generates a user-level error/warning/notice message"],trim:["string trim(string str [, string character_mask])","Strips whitespace from the beginning and end of a string"],uasort:["bool uasort(array array_arg, string cmp_function)","Sort an array with a user-defined comparison function and maintain index association"],ucfirst:["string ucfirst(string str)","Make a string's first character lowercase"],ucwords:["string ucwords(string str)","Uppercase the first character of every word in a string"],uksort:["bool uksort(array array_arg, string cmp_function)","Sort an array by keys using a user-defined comparison function"],umask:["int umask([int mask])","Return or change the umask"],uniqid:["string uniqid([string prefix [, bool more_entropy]])","Generates a unique ID"],unixtojd:["int unixtojd([int timestamp])","Convert UNIX timestamp to Julian Day"],unlink:["bool unlink(string filename[, context context])","Delete a file"],unpack:["array unpack(string format, string input)","Unpack binary string into named array elements according to format argument"],unregister_tick_function:["void unregister_tick_function(string function_name)","Unregisters a tick callback function"],unserialize:["mixed unserialize(string variable_representation)","Takes a string representation of variable and recreates it"],unset:["void unset (mixed var [, mixed var])","Unset a given variable"],urldecode:["string urldecode(string str)","Decodes URL-encoded string"],urlencode:["string urlencode(string str)","URL-encodes string"],usleep:["void usleep(int micro_seconds)","Delay for a given number of micro seconds"],usort:["bool usort(array array_arg, string cmp_function)","Sort an array by values using a user-defined comparison function"],utf8_decode:["string utf8_decode(string data)","Converts a UTF-8 encoded string to ISO-8859-1"],utf8_encode:["string utf8_encode(string data)","Encodes an ISO-8859-1 string to UTF-8"],var_dump:["void var_dump(mixed var)","Dumps a string representation of variable to output"],var_export:["mixed var_export(mixed var [, bool return])","Outputs or returns a string representation of a variable"],variant_abs:["mixed variant_abs(mixed left)","Returns the absolute value of a variant"],variant_add:["mixed variant_add(mixed left, mixed right)",'"Adds" two variant values together and returns the result'],variant_and:["mixed variant_and(mixed left, mixed right)","performs a bitwise AND operation between two variants and returns the result"],variant_cast:["object variant_cast(object variant, int type)","Convert a variant into a new variant object of another type"],variant_cat:["mixed variant_cat(mixed left, mixed right)","concatenates two variant values together and returns the result"],variant_cmp:["int variant_cmp(mixed left, mixed right [, int lcid [, int flags]])","Compares two variants"],variant_date_from_timestamp:["object variant_date_from_timestamp(int timestamp)","Returns a variant date representation of a unix timestamp"],variant_date_to_timestamp:["int variant_date_to_timestamp(object variant)","Converts a variant date/time value to unix timestamp"],variant_div:["mixed variant_div(mixed left, mixed right)","Returns the result from dividing two variants"],variant_eqv:["mixed variant_eqv(mixed left, mixed right)","Performs a bitwise equivalence on two variants"],variant_fix:["mixed variant_fix(mixed left)","Returns the integer part ? of a variant"],variant_get_type:["int variant_get_type(object variant)","Returns the VT_XXX type code for a variant"],variant_idiv:["mixed variant_idiv(mixed left, mixed right)","Converts variants to integers and then returns the result from dividing them"],variant_imp:["mixed variant_imp(mixed left, mixed right)","Performs a bitwise implication on two variants"],variant_int:["mixed variant_int(mixed left)","Returns the integer portion of a variant"],variant_mod:["mixed variant_mod(mixed left, mixed right)","Divides two variants and returns only the remainder"],variant_mul:["mixed variant_mul(mixed left, mixed right)","multiplies the values of the two variants and returns the result"],variant_neg:["mixed variant_neg(mixed left)","Performs logical negation on a variant"],variant_not:["mixed variant_not(mixed left)","Performs bitwise not negation on a variant"],variant_or:["mixed variant_or(mixed left, mixed right)","Performs a logical disjunction on two variants"],variant_pow:["mixed variant_pow(mixed left, mixed right)","Returns the result of performing the power function with two variants"],variant_round:["mixed variant_round(mixed left, int decimals)","Rounds a variant to the specified number of decimal places"],variant_set:["void variant_set(object variant, mixed value)","Assigns a new value for a variant object"],variant_set_type:["void variant_set_type(object variant, int type)",'Convert a variant into another type. Variant is modified "in-place"'],variant_sub:["mixed variant_sub(mixed left, mixed right)","subtracts the value of the right variant from the left variant value and returns the result"],variant_xor:["mixed variant_xor(mixed left, mixed right)","Performs a logical exclusion on two variants"],version_compare:["int version_compare(string ver1, string ver2 [, string oper])",'Compares two "PHP-standardized" version number strings'],vfprintf:["int vfprintf(resource stream, string format, array args)","Output a formatted string into a stream"],virtual:["bool virtual(string filename)","Perform an Apache sub-request"],vprintf:["int vprintf(string format, array args)","Output a formatted string"],vsprintf:["string vsprintf(string format, array args)","Return a formatted string"],wddx_add_vars:["int wddx_add_vars(resource packet_id, mixed var_names [, mixed ...])","Serializes given variables and adds them to packet given by packet_id"],wddx_deserialize:["mixed wddx_deserialize(mixed packet)","Deserializes given packet and returns a PHP value"],wddx_packet_end:["string wddx_packet_end(resource packet_id)","Ends specified WDDX packet and returns the string containing the packet"],wddx_packet_start:["resource wddx_packet_start([string comment])","Starts a WDDX packet with optional comment and returns the packet id"],wddx_serialize_value:["string wddx_serialize_value(mixed var [, string comment])","Creates a new packet and serializes the given value"],wddx_serialize_vars:["string wddx_serialize_vars(mixed var_name [, mixed ...])","Creates a new packet and serializes given variables into a struct"],wordwrap:["string wordwrap(string str [, int width [, string break [, boolean cut]]])","Wraps buffer to selected number of characters using string break char"],xml_error_string:["string xml_error_string(int code)","Get XML parser error string"],xml_get_current_byte_index:["int xml_get_current_byte_index(resource parser)","Get current byte index for an XML parser"],xml_get_current_column_number:["int xml_get_current_column_number(resource parser)","Get current column number for an XML parser"],xml_get_current_line_number:["int xml_get_current_line_number(resource parser)","Get current line number for an XML parser"],xml_get_error_code:["int xml_get_error_code(resource parser)","Get XML parser error code"],xml_parse:["int xml_parse(resource parser, string data [, int isFinal])","Start parsing an XML document"],xml_parse_into_struct:["int xml_parse_into_struct(resource parser, string data, array &values [, array &index ])","Parsing a XML document"],xml_parser_create:["resource xml_parser_create([string encoding])","Create an XML parser"],xml_parser_create_ns:["resource xml_parser_create_ns([string encoding [, string sep]])","Create an XML parser"],xml_parser_free:["int xml_parser_free(resource parser)","Free an XML parser"],xml_parser_get_option:["int xml_parser_get_option(resource parser, int option)","Get options from an XML parser"],xml_parser_set_option:["int xml_parser_set_option(resource parser, int option, mixed value)","Set options in an XML parser"],xml_set_character_data_handler:["int xml_set_character_data_handler(resource parser, string hdl)","Set up character data handler"],xml_set_default_handler:["int xml_set_default_handler(resource parser, string hdl)","Set up default handler"],xml_set_element_handler:["int xml_set_element_handler(resource parser, string shdl, string ehdl)","Set up start and end element handlers"],xml_set_end_namespace_decl_handler:["int xml_set_end_namespace_decl_handler(resource parser, string hdl)","Set up character data handler"],xml_set_external_entity_ref_handler:["int xml_set_external_entity_ref_handler(resource parser, string hdl)","Set up external entity reference handler"],xml_set_notation_decl_handler:["int xml_set_notation_decl_handler(resource parser, string hdl)","Set up notation declaration handler"],xml_set_object:["int xml_set_object(resource parser, object &obj)","Set up object which should be used for callbacks"],xml_set_processing_instruction_handler:["int xml_set_processing_instruction_handler(resource parser, string hdl)","Set up processing instruction (PI) handler"],xml_set_start_namespace_decl_handler:["int xml_set_start_namespace_decl_handler(resource parser, string hdl)","Set up character data handler"],xml_set_unparsed_entity_decl_handler:["int xml_set_unparsed_entity_decl_handler(resource parser, string hdl)","Set up unparsed entity declaration handler"],xmlrpc_decode:["array xmlrpc_decode(string xml [, string encoding])","Decodes XML into native PHP types"],xmlrpc_decode_request:["array xmlrpc_decode_request(string xml, string& method [, string encoding])","Decodes XML into native PHP types"],xmlrpc_encode:["string xmlrpc_encode(mixed value)","Generates XML for a PHP value"],xmlrpc_encode_request:["string xmlrpc_encode_request(string method, mixed params [, array output_options])","Generates XML for a method request"],xmlrpc_get_type:["string xmlrpc_get_type(mixed value)","Gets xmlrpc type for a PHP value. Especially useful for base64 and datetime strings"],xmlrpc_is_fault:["bool xmlrpc_is_fault(array)","Determines if an array value represents an XMLRPC fault."],xmlrpc_parse_method_descriptions:["array xmlrpc_parse_method_descriptions(string xml)","Decodes XML into a list of method descriptions"],xmlrpc_server_add_introspection_data:["int xmlrpc_server_add_introspection_data(resource server, array desc)","Adds introspection documentation"],xmlrpc_server_call_method:["mixed xmlrpc_server_call_method(resource server, string xml, mixed user_data [, array output_options])","Parses XML requests and call methods"],xmlrpc_server_create:["resource xmlrpc_server_create(void)","Creates an xmlrpc server"],xmlrpc_server_destroy:["int xmlrpc_server_destroy(resource server)","Destroys server resources"],xmlrpc_server_register_introspection_callback:["bool xmlrpc_server_register_introspection_callback(resource server, string function)","Register a PHP function to generate documentation"],xmlrpc_server_register_method:["bool xmlrpc_server_register_method(resource server, string method_name, string function)","Register a PHP function to handle method matching method_name"],xmlrpc_set_type:["bool xmlrpc_set_type(string value, string type)","Sets xmlrpc type, base64 or datetime, for a PHP string value"],xmlwriter_end_attribute:["bool xmlwriter_end_attribute(resource xmlwriter)","End attribute - returns FALSE on error"],xmlwriter_end_cdata:["bool xmlwriter_end_cdata(resource xmlwriter)","End current CDATA - returns FALSE on error"],xmlwriter_end_comment:["bool xmlwriter_end_comment(resource xmlwriter)","Create end comment - returns FALSE on error"],xmlwriter_end_document:["bool xmlwriter_end_document(resource xmlwriter)","End current document - returns FALSE on error"],xmlwriter_end_dtd:["bool xmlwriter_end_dtd(resource xmlwriter)","End current DTD - returns FALSE on error"],xmlwriter_end_dtd_attlist:["bool xmlwriter_end_dtd_attlist(resource xmlwriter)","End current DTD AttList - returns FALSE on error"],xmlwriter_end_dtd_element:["bool xmlwriter_end_dtd_element(resource xmlwriter)","End current DTD element - returns FALSE on error"],xmlwriter_end_dtd_entity:["bool xmlwriter_end_dtd_entity(resource xmlwriter)","End current DTD Entity - returns FALSE on error"],xmlwriter_end_element:["bool xmlwriter_end_element(resource xmlwriter)","End current element - returns FALSE on error"],xmlwriter_end_pi:["bool xmlwriter_end_pi(resource xmlwriter)","End current PI - returns FALSE on error"],xmlwriter_flush:["mixed xmlwriter_flush(resource xmlwriter [,bool empty])","Output current buffer"],xmlwriter_full_end_element:["bool xmlwriter_full_end_element(resource xmlwriter)","End current element - returns FALSE on error"],xmlwriter_open_memory:["resource xmlwriter_open_memory()","Create new xmlwriter using memory for string output"],xmlwriter_open_uri:["resource xmlwriter_open_uri(resource xmlwriter, string source)","Create new xmlwriter using source uri for output"],xmlwriter_output_memory:["string xmlwriter_output_memory(resource xmlwriter [,bool flush])","Output current buffer as string"],xmlwriter_set_indent:["bool xmlwriter_set_indent(resource xmlwriter, bool indent)","Toggle indentation on/off - returns FALSE on error"],xmlwriter_set_indent_string:["bool xmlwriter_set_indent_string(resource xmlwriter, string indentString)","Set string used for indenting - returns FALSE on error"],xmlwriter_start_attribute:["bool xmlwriter_start_attribute(resource xmlwriter, string name)","Create start attribute - returns FALSE on error"],xmlwriter_start_attribute_ns:["bool xmlwriter_start_attribute_ns(resource xmlwriter, string prefix, string name, string uri)","Create start namespaced attribute - returns FALSE on error"],xmlwriter_start_cdata:["bool xmlwriter_start_cdata(resource xmlwriter)","Create start CDATA tag - returns FALSE on error"],xmlwriter_start_comment:["bool xmlwriter_start_comment(resource xmlwriter)","Create start comment - returns FALSE on error"],xmlwriter_start_document:["bool xmlwriter_start_document(resource xmlwriter, string version, string encoding, string standalone)","Create document tag - returns FALSE on error"],xmlwriter_start_dtd:["bool xmlwriter_start_dtd(resource xmlwriter, string name, string pubid, string sysid)","Create start DTD tag - returns FALSE on error"],xmlwriter_start_dtd_attlist:["bool xmlwriter_start_dtd_attlist(resource xmlwriter, string name)","Create start DTD AttList - returns FALSE on error"],xmlwriter_start_dtd_element:["bool xmlwriter_start_dtd_element(resource xmlwriter, string name)","Create start DTD element - returns FALSE on error"],xmlwriter_start_dtd_entity:["bool xmlwriter_start_dtd_entity(resource xmlwriter, string name, bool isparam)","Create start DTD Entity - returns FALSE on error"],xmlwriter_start_element:["bool xmlwriter_start_element(resource xmlwriter, string name)","Create start element tag - returns FALSE on error"],xmlwriter_start_element_ns:["bool xmlwriter_start_element_ns(resource xmlwriter, string prefix, string name, string uri)","Create start namespaced element tag - returns FALSE on error"],xmlwriter_start_pi:["bool xmlwriter_start_pi(resource xmlwriter, string target)","Create start PI tag - returns FALSE on error"],xmlwriter_text:["bool xmlwriter_text(resource xmlwriter, string content)","Write text - returns FALSE on error"],xmlwriter_write_attribute:["bool xmlwriter_write_attribute(resource xmlwriter, string name, string content)","Write full attribute - returns FALSE on error"],xmlwriter_write_attribute_ns:["bool xmlwriter_write_attribute_ns(resource xmlwriter, string prefix, string name, string uri, string content)","Write full namespaced attribute - returns FALSE on error"],xmlwriter_write_cdata:["bool xmlwriter_write_cdata(resource xmlwriter, string content)","Write full CDATA tag - returns FALSE on error"],xmlwriter_write_comment:["bool xmlwriter_write_comment(resource xmlwriter, string content)","Write full comment tag - returns FALSE on error"],xmlwriter_write_dtd:["bool xmlwriter_write_dtd(resource xmlwriter, string name, string pubid, string sysid, string subset)","Write full DTD tag - returns FALSE on error"],xmlwriter_write_dtd_attlist:["bool xmlwriter_write_dtd_attlist(resource xmlwriter, string name, string content)","Write full DTD AttList tag - returns FALSE on error"],xmlwriter_write_dtd_element:["bool xmlwriter_write_dtd_element(resource xmlwriter, string name, string content)","Write full DTD element tag - returns FALSE on error"],xmlwriter_write_dtd_entity:["bool xmlwriter_write_dtd_entity(resource xmlwriter, string name, string content [, int pe [, string pubid [, string sysid [, string ndataid]]]])","Write full DTD Entity tag - returns FALSE on error"],xmlwriter_write_element:["bool xmlwriter_write_element(resource xmlwriter, string name[, string content])","Write full element tag - returns FALSE on error"],xmlwriter_write_element_ns:["bool xmlwriter_write_element_ns(resource xmlwriter, string prefix, string name, string uri[, string content])","Write full namesapced element tag - returns FALSE on error"],xmlwriter_write_pi:["bool xmlwriter_write_pi(resource xmlwriter, string target, string content)","Write full PI tag - returns FALSE on error"],xmlwriter_write_raw:["bool xmlwriter_write_raw(resource xmlwriter, string content)","Write text - returns FALSE on error"],xsl_xsltprocessor_get_parameter:["string xsl_xsltprocessor_get_parameter(string namespace, string name);",""],xsl_xsltprocessor_has_exslt_support:["bool xsl_xsltprocessor_has_exslt_support();",""],xsl_xsltprocessor_import_stylesheet:["void xsl_xsltprocessor_import_stylesheet(domdocument doc);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html# Since:"],xsl_xsltprocessor_register_php_functions:["void xsl_xsltprocessor_register_php_functions([mixed $restrict]);",""],xsl_xsltprocessor_remove_parameter:["bool xsl_xsltprocessor_remove_parameter(string namespace, string name);",""],xsl_xsltprocessor_set_parameter:["bool xsl_xsltprocessor_set_parameter(string namespace, mixed name [, string value]);",""],xsl_xsltprocessor_set_profiling:["bool xsl_xsltprocessor_set_profiling(string filename) */",'PHP_FUNCTION(xsl_xsltprocessor_set_profiling) { zval *id; xsl_object *intern; char *filename = NULL; int filename_len; DOM_GET_THIS(id); if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s!", &filename, &filename_len) == SUCCESS) { intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC); if (intern->profiling) { efree(intern->profiling); } if (filename != NULL) { intern->profiling = estrndup(filename,filename_len); } else { intern->profiling = NULL; } RETURN_TRUE; } else { WRONG_PARAM_COUNT; } } /* }}} end xsl_xsltprocessor_set_profiling'],xsl_xsltprocessor_transform_to_doc:["domdocument xsl_xsltprocessor_transform_to_doc(domnode doc);","URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html# Since:"],xsl_xsltprocessor_transform_to_uri:["int xsl_xsltprocessor_transform_to_uri(domdocument doc, string uri);",""],xsl_xsltprocessor_transform_to_xml:["string xsl_xsltprocessor_transform_to_xml(domdocument doc);",""],zend_logo_guid:["string zend_logo_guid(void)","Return the special ID used to request the Zend logo in phpinfo screens"],zend_version:["string zend_version(void)","Get the version of the Zend Engine"],zip_close:["void zip_close(resource zip)","Close a Zip archive"],zip_entry_close:["void zip_entry_close(resource zip_ent)","Close a zip entry"],zip_entry_compressedsize:["int zip_entry_compressedsize(resource zip_entry)","Return the compressed size of a ZZip entry"],zip_entry_compressionmethod:["string zip_entry_compressionmethod(resource zip_entry)","Return a string containing the compression method used on a particular entry"],zip_entry_filesize:["int zip_entry_filesize(resource zip_entry)","Return the actual filesize of a ZZip entry"],zip_entry_name:["string zip_entry_name(resource zip_entry)","Return the name given a ZZip entry"],zip_entry_open:["bool zip_entry_open(resource zip_dp, resource zip_entry [, string mode])","Open a Zip File, pointed by the resource entry"],zip_entry_read:["mixed zip_entry_read(resource zip_entry [, int len])","Read from an open directory entry"],zip_open:["resource zip_open(string filename)","Create new zip using source uri for output"],zip_read:["resource zip_read(resource zip)","Returns the next file in the archive"],zlib_get_coding_type:["string zlib_get_coding_type(void)","Returns the coding type used for output compression"]},i={$_COOKIE:{type:"array"},$_ENV:{type:"array"},$_FILES:{type:"array"},$_GET:{type:"array"},$_POST:{type:"array"},$_REQUEST:{type:"array"},$_SERVER:{type:"array",value:{DOCUMENT_ROOT:1,GATEWAY_INTERFACE:1,HTTP_ACCEPT:1,HTTP_ACCEPT_CHARSET:1,HTTP_ACCEPT_ENCODING:1,HTTP_ACCEPT_LANGUAGE:1,HTTP_CONNECTION:1,HTTP_HOST:1,HTTP_REFERER:1,HTTP_USER_AGENT:1,PATH_TRANSLATED:1,PHP_SELF:1,QUERY_STRING:1,REMOTE_ADDR:1,REMOTE_PORT:1,REQUEST_METHOD:1,REQUEST_URI:1,SCRIPT_FILENAME:1,SCRIPT_NAME:1,SERVER_ADMIN:1,SERVER_NAME:1,SERVER_PORT:1,SERVER_PROTOCOL:1,SERVER_SIGNATURE:1,SERVER_SOFTWARE:1}},$_SESSION:{type:"array"},$GLOBALS:{type:"array"}},o=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(i.type==="identifier")return this.getFunctionCompletions(e,t,n,r);if(s(i,"variable"))return this.getVariableCompletions(e,t,n,r);var o=t.getLine(n.row).substr(0,n.column);return i.type==="string"&&/(\$[\w]*)\[["']([^'"]*)$/i.test(o)?this.getArrayKeyCompletions(e,t,n,r):[]},this.getFunctionCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+"($0)",meta:"php function",score:Number.MAX_VALUE,docHTML:r[e][1]}})},this.getVariableCompletions=function(e,t,n,r){var s=Object.keys(i);return s.map(function(e){return{caption:e,value:e,meta:"php variable",score:Number.MAX_VALUE}})},this.getArrayKeyCompletions=function(e,t,n,r){var s=t.getLine(n.row).substr(0,n.column),o=s.match(/(\$[\w]*)\[["']([^'"]*)$/i)[1];if(!i[o])return[];var u=[];return i[o].type==="array"&&i[o].value&&(u=Object.keys(i[o].value)),u.map(function(e){return{caption:e,value:e,meta:"php array key",score:Number.MAX_VALUE}})}}).call(o.prototype),t.PhpCompletions=o}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/php",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/php_highlight_rules","ace/mode/php_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/php_completions","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/unicode","ace/mode/html","ace/mode/javascript","ace/mode/css"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./php_highlight_rules").PhpHighlightRules,o=e("./php_highlight_rules").PhpLangHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./php_completions").PhpCompletions,c=e("./behaviour/cstyle").CstyleBehaviour,h=e("./folding/cstyle").FoldMode,p=e("../unicode"),d=e("./html").Mode,v=e("./javascript").Mode,m=e("./css").Mode,g=function(e){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new c,this.$completer=new l,this.foldingRules=new h};r.inherits(g,i),function(){this.tokenRe=new RegExp("^["+p.packages.L+p.packages.Mn+p.packages.Mc+p.packages.Nd+p.packages.Pc+"_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+p.packages.L+p.packages.Mn+p.packages.Mc+p.packages.Nd+p.packages.Pc+"_]|s])+","g"),this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[\:]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o!="doc-start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/php-inline"}.call(g.prototype);var y=function(e){if(e&&e.inline){var t=new g;return t.createWorker=this.createWorker,t.inlinePhp=!0,t}d.call(this),this.HighlightRules=s,this.createModeDelegates({"js-":v,"css-":m,"php-":g}),this.foldingRules.subModes["php-"]=new h};r.inherits(y,d),function(){this.createWorker=function(e){var t=new f(["ace"],"ace/mode/php_worker","PhpWorker");return t.attachToDocument(e.getDocument()),this.inlinePhp&&t.call("setOptions",[{inline:!0}]),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/php"}.call(y.prototype),t.Mode=y}) \ No newline at end of file
diff --git a/library/ace/mode-plain_text.js b/library/ace/mode-plain_text.js
new file mode 100644
index 000000000..be72ab998
--- /dev/null
+++ b/library/ace/mode-plain_text.js
@@ -0,0 +1 @@
+ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour").Behaviour,u=function(){this.HighlightRules=s,this.$behaviour=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-powershell.js b/library/ace/mode-powershell.js
new file mode 100644
index 000000000..b7997197d
--- /dev/null
+++ b/library/ace/mode-powershell.js
@@ -0,0 +1 @@
+ace.define("ace/mode/powershell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="begin|break|catch|continue|data|do|dynamicparam|else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in|inlinescript|hidden|parallel|param|process|return|sequence|switch|throw|trap|try|until|while|workflow",t="Get-AppBackgroundTask|Start-AppBackgroundTask|Unregister-AppBackgroundTask|Disable-AppBackgroundTaskDiagnosticLog|Enable-AppBackgroundTaskDiagnosticLog|Set-AppBackgroundTaskResourcePolicy|Get-AppLockerFileInformation|Get-AppLockerPolicy|New-AppLockerPolicy|Set-AppLockerPolicy|Test-AppLockerPolicy|Get-AppxLastError|Get-AppxLog|Add-AppxPackage|Add-AppxVolume|Dismount-AppxVolume|Get-AppxDefaultVolume|Get-AppxPackage|Get-AppxPackageManifest|Get-AppxVolume|Mount-AppxVolume|Move-AppxPackage|Remove-AppxPackage|Remove-AppxVolume|Set-AppxDefaultVolume|Clear-AssignedAccess|Get-AssignedAccess|Set-AssignedAccess|Add-BitLockerKeyProtector|Backup-BitLockerKeyProtector|Clear-BitLockerAutoUnlock|Disable-BitLocker|Disable-BitLockerAutoUnlock|Enable-BitLocker|Enable-BitLockerAutoUnlock|Get-BitLockerVolume|Lock-BitLocker|Remove-BitLockerKeyProtector|Resume-BitLocker|Suspend-BitLocker|Unlock-BitLocker|Add-BitsFile|Complete-BitsTransfer|Get-BitsTransfer|Remove-BitsTransfer|Resume-BitsTransfer|Set-BitsTransfer|Start-BitsTransfer|Suspend-BitsTransfer|Add-BCDataCacheExtension|Clear-BCCache|Disable-BC|Disable-BCDowngrading|Disable-BCServeOnBattery|Enable-BCDistributed|Enable-BCDowngrading|Enable-BCHostedClient|Enable-BCHostedServer|Enable-BCLocal|Enable-BCServeOnBattery|Export-BCCachePackage|Export-BCSecretKey|Get-BCClientConfiguration|Get-BCContentServerConfiguration|Get-BCDataCache|Get-BCDataCacheExtension|Get-BCHashCache|Get-BCHostedCacheServerConfiguration|Get-BCNetworkConfiguration|Get-BCStatus|Import-BCCachePackage|Import-BCSecretKey|Publish-BCFileContent|Publish-BCWebContent|Remove-BCDataCacheExtension|Reset-BC|Set-BCAuthentication|Set-BCCache|Set-BCDataCacheEntryMaxAge|Set-BCMinSMBLatency|Set-BCSecretKey|Export-BinaryMiLog|Get-CimAssociatedInstance|Get-CimClass|Get-CimInstance|Get-CimSession|Import-BinaryMiLog|Invoke-CimMethod|New-CimInstance|New-CimSession|New-CimSessionOption|Register-CimIndicationEvent|Remove-CimInstance|Remove-CimSession|Set-CimInstance|ConvertFrom-CIPolicy|Add-SignerRule|Edit-CIPolicyRule|Get-CIPolicy|Get-CIPolicyInfo|Get-SystemDriver|Merge-CIPolicy|New-CIPolicy|New-CIPolicyRule|Remove-CIPolicyRule|Set-CIPolicyVersion|Set-HVCIOptions|Set-RuleOption|Add-MpPreference|Get-MpComputerStatus|Get-MpPreference|Get-MpThreat|Get-MpThreatCatalog|Get-MpThreatDetection|Remove-MpPreference|Remove-MpThreat|Set-MpPreference|Start-MpScan|Start-MpWDOScan|Update-MpSignature|Disable-DAManualEntryPointSelection|Enable-DAManualEntryPointSelection|Get-DAClientExperienceConfiguration|Get-DAEntryPointTableItem|New-DAEntryPointTableItem|Remove-DAEntryPointTableItem|Rename-DAEntryPointTableItem|Reset-DAClientExperienceConfiguration|Reset-DAEntryPointTableItem|Set-DAClientExperienceConfiguration|Set-DAEntryPointTableItem|Add-ProvisionedAppxPackage|Apply-WindowsUnattend|Get-ProvisionedAppxPackage|Remove-ProvisionedAppxPackage|Add-AppxProvisionedPackage|Add-WindowsCapability|Add-WindowsDriver|Add-WindowsImage|Add-WindowsPackage|Clear-WindowsCorruptMountPoint|Disable-WindowsOptionalFeature|Dismount-WindowsImage|Enable-WindowsOptionalFeature|Expand-WindowsCustomDataImage|Expand-WindowsImage|Export-WindowsDriver|Export-WindowsImage|Get-AppxProvisionedPackage|Get-WIMBootEntry|Get-WindowsCapability|Get-WindowsDriver|Get-WindowsEdition|Get-WindowsImage|Get-WindowsImageContent|Get-WindowsOptionalFeature|Get-WindowsPackage|Mount-WindowsImage|New-WindowsCustomImage|New-WindowsImage|Optimize-WindowsImage|Remove-AppxProvisionedPackage|Remove-WindowsCapability|Remove-WindowsDriver|Remove-WindowsImage|Remove-WindowsPackage|Repair-WindowsImage|Save-WindowsImage|Set-AppXProvisionedDataFile|Set-WindowsEdition|Set-WindowsProductKey|Split-WindowsImage|Update-WIMBootEntry|Use-WindowsUnattend|Add-DnsClientNrptRule|Clear-DnsClientCache|Get-DnsClient|Get-DnsClientCache|Get-DnsClientGlobalSetting|Get-DnsClientNrptGlobal|Get-DnsClientNrptPolicy|Get-DnsClientNrptRule|Get-DnsClientServerAddress|Register-DnsClient|Remove-DnsClientNrptRule|Set-DnsClient|Set-DnsClientGlobalSetting|Set-DnsClientNrptGlobal|Set-DnsClientNrptRule|Set-DnsClientServerAddress|Resolve-DnsName|Add-EtwTraceProvider|Get-AutologgerConfig|Get-EtwTraceProvider|Get-EtwTraceSession|New-AutologgerConfig|New-EtwTraceSession|Remove-AutologgerConfig|Remove-EtwTraceProvider|Remove-EtwTraceSession|Send-EtwTraceSession|Set-AutologgerConfig|Set-EtwTraceProvider|Set-EtwTraceSession|Get-WinAcceptLanguageFromLanguageListOptOut|Get-WinCultureFromLanguageListOptOut|Get-WinDefaultInputMethodOverride|Get-WinHomeLocation|Get-WinLanguageBarOption|Get-WinSystemLocale|Get-WinUILanguageOverride|Get-WinUserLanguageList|New-WinUserLanguageList|Set-Culture|Set-WinAcceptLanguageFromLanguageListOptOut|Set-WinCultureFromLanguageListOptOut|Set-WinDefaultInputMethodOverride|Set-WinHomeLocation|Set-WinLanguageBarOption|Set-WinSystemLocale|Set-WinUILanguageOverride|Set-WinUserLanguageList|Connect-IscsiTarget|Disconnect-IscsiTarget|Get-IscsiConnection|Get-IscsiSession|Get-IscsiTarget|Get-IscsiTargetPortal|New-IscsiTargetPortal|Register-IscsiSession|Remove-IscsiTargetPortal|Set-IscsiChapSecret|Unregister-IscsiSession|Update-IscsiTarget|Update-IscsiTargetPortal|Get-IseSnippet|Import-IseSnippet|New-IseSnippet|Add-KdsRootKey|Clear-KdsCache|Get-KdsConfiguration|Get-KdsRootKey|Set-KdsConfiguration|Test-KdsRootKey|Compress-Archive|Expand-Archive|Export-Counter|Get-Counter|Get-WinEvent|Import-Counter|New-WinEvent|Start-Transcript|Stop-Transcript|Add-Computer|Add-Content|Checkpoint-Computer|Clear-Content|Clear-EventLog|Clear-Item|Clear-ItemProperty|Clear-RecycleBin|Complete-Transaction|Convert-Path|Copy-Item|Copy-ItemProperty|Debug-Process|Disable-ComputerRestore|Enable-ComputerRestore|Get-ChildItem|Get-Clipboard|Get-ComputerRestorePoint|Get-Content|Get-ControlPanelItem|Get-EventLog|Get-HotFix|Get-Item|Get-ItemProperty|Get-ItemPropertyValue|Get-Location|Get-Process|Get-PSDrive|Get-PSProvider|Get-Service|Get-Transaction|Get-WmiObject|Invoke-Item|Invoke-WmiMethod|Join-Path|Limit-EventLog|Move-Item|Move-ItemProperty|New-EventLog|New-Item|New-ItemProperty|New-PSDrive|New-Service|New-WebServiceProxy|Pop-Location|Push-Location|Register-WmiEvent|Remove-Computer|Remove-EventLog|Remove-Item|Remove-ItemProperty|Remove-PSDrive|Remove-WmiObject|Rename-Computer|Rename-Item|Rename-ItemProperty|Reset-ComputerMachinePassword|Resolve-Path|Restart-Computer|Restart-Service|Restore-Computer|Resume-Service|Set-Clipboard|Set-Content|Set-Item|Set-ItemProperty|Set-Location|Set-Service|Set-WmiInstance|Show-ControlPanelItem|Show-EventLog|Split-Path|Start-Process|Start-Service|Start-Transaction|Stop-Computer|Stop-Process|Stop-Service|Suspend-Service|Test-ComputerSecureChannel|Test-Connection|Test-Path|Undo-Transaction|Use-Transaction|Wait-Process|Write-EventLog|Export-ODataEndpointProxy|ConvertFrom-SecureString|ConvertTo-SecureString|Get-Acl|Get-AuthenticodeSignature|Get-CmsMessage|Get-Credential|Get-ExecutionPolicy|Get-PfxCertificate|Protect-CmsMessage|Set-Acl|Set-AuthenticodeSignature|Set-ExecutionPolicy|Unprotect-CmsMessage|ConvertFrom-SddlString|Format-Hex|Get-FileHash|Import-PowerShellDataFile|New-Guid|New-TemporaryFile|Add-Member|Add-Type|Clear-Variable|Compare-Object|ConvertFrom-Csv|ConvertFrom-Json|ConvertFrom-String|ConvertFrom-StringData|Convert-String|ConvertTo-Csv|ConvertTo-Html|ConvertTo-Json|ConvertTo-Xml|Debug-Runspace|Disable-PSBreakpoint|Disable-RunspaceDebug|Enable-PSBreakpoint|Enable-RunspaceDebug|Export-Alias|Export-Clixml|Export-Csv|Export-FormatData|Export-PSSession|Format-Custom|Format-List|Format-Table|Format-Wide|Get-Alias|Get-Culture|Get-Date|Get-Event|Get-EventSubscriber|Get-FormatData|Get-Host|Get-Member|Get-PSBreakpoint|Get-PSCallStack|Get-Random|Get-Runspace|Get-RunspaceDebug|Get-TraceSource|Get-TypeData|Get-UICulture|Get-Unique|Get-Variable|Group-Object|Import-Alias|Import-Clixml|Import-Csv|Import-LocalizedData|Import-PSSession|Invoke-Expression|Invoke-RestMethod|Invoke-WebRequest|Measure-Command|Measure-Object|New-Alias|New-Event|New-Object|New-TimeSpan|New-Variable|Out-File|Out-GridView|Out-Printer|Out-String|Read-Host|Register-EngineEvent|Register-ObjectEvent|Remove-Event|Remove-PSBreakpoint|Remove-TypeData|Remove-Variable|Select-Object|Select-String|Select-Xml|Send-MailMessage|Set-Alias|Set-Date|Set-PSBreakpoint|Set-TraceSource|Set-Variable|Show-Command|Sort-Object|Start-Sleep|Tee-Object|Trace-Command|Unblock-File|Unregister-Event|Update-FormatData|Update-List|Update-TypeData|Wait-Debugger|Wait-Event|Write-Debug|Write-Error|Write-Host|Write-Information|Write-Output|Write-Progress|Write-Verbose|Write-Warning|Connect-WSMan|Disable-WSManCredSSP|Disconnect-WSMan|Enable-WSManCredSSP|Get-WSManCredSSP|Get-WSManInstance|Invoke-WSManAction|New-WSManInstance|New-WSManSessionOption|Remove-WSManInstance|Set-WSManInstance|Set-WSManQuickConfig|Test-WSMan|Debug-MMAppPrelaunch|Disable-MMAgent|Enable-MMAgent|Get-MMAgent|Set-MMAgent|Add-DtcClusterTMMapping|Get-Dtc|Get-DtcAdvancedHostSetting|Get-DtcAdvancedSetting|Get-DtcClusterDefault|Get-DtcClusterTMMapping|Get-DtcDefault|Get-DtcLog|Get-DtcNetworkSetting|Get-DtcTransaction|Get-DtcTransactionsStatistics|Get-DtcTransactionsTraceSession|Get-DtcTransactionsTraceSetting|Install-Dtc|Remove-DtcClusterTMMapping|Reset-DtcLog|Set-DtcAdvancedHostSetting|Set-DtcAdvancedSetting|Set-DtcClusterDefault|Set-DtcClusterTMMapping|Set-DtcDefault|Set-DtcLog|Set-DtcNetworkSetting|Set-DtcTransaction|Set-DtcTransactionsTraceSession|Set-DtcTransactionsTraceSetting|Start-Dtc|Start-DtcTransactionsTraceSession|Stop-Dtc|Stop-DtcTransactionsTraceSession|Test-Dtc|Uninstall-Dtc|Write-DtcTransactionsTraceSession|Complete-DtcDiagnosticTransaction|Join-DtcDiagnosticResourceManager|New-DtcDiagnosticTransaction|Receive-DtcDiagnosticTransaction|Send-DtcDiagnosticTransaction|Start-DtcDiagnosticResourceManager|Stop-DtcDiagnosticResourceManager|Undo-DtcDiagnosticTransaction|Disable-NetAdapter|Disable-NetAdapterBinding|Disable-NetAdapterChecksumOffload|Disable-NetAdapterEncapsulatedPacketTaskOffload|Disable-NetAdapterIPsecOffload|Disable-NetAdapterLso|Disable-NetAdapterPacketDirect|Disable-NetAdapterPowerManagement|Disable-NetAdapterQos|Disable-NetAdapterRdma|Disable-NetAdapterRsc|Disable-NetAdapterRss|Disable-NetAdapterSriov|Disable-NetAdapterVmq|Enable-NetAdapter|Enable-NetAdapterBinding|Enable-NetAdapterChecksumOffload|Enable-NetAdapterEncapsulatedPacketTaskOffload|Enable-NetAdapterIPsecOffload|Enable-NetAdapterLso|Enable-NetAdapterPacketDirect|Enable-NetAdapterPowerManagement|Enable-NetAdapterQos|Enable-NetAdapterRdma|Enable-NetAdapterRsc|Enable-NetAdapterRss|Enable-NetAdapterSriov|Enable-NetAdapterVmq|Get-NetAdapter|Get-NetAdapterAdvancedProperty|Get-NetAdapterBinding|Get-NetAdapterChecksumOffload|Get-NetAdapterEncapsulatedPacketTaskOffload|Get-NetAdapterHardwareInfo|Get-NetAdapterIPsecOffload|Get-NetAdapterLso|Get-NetAdapterPacketDirect|Get-NetAdapterPowerManagement|Get-NetAdapterQos|Get-NetAdapterRdma|Get-NetAdapterRsc|Get-NetAdapterRss|Get-NetAdapterSriov|Get-NetAdapterSriovVf|Get-NetAdapterStatistics|Get-NetAdapterVmq|Get-NetAdapterVmqQueue|Get-NetAdapterVPort|New-NetAdapterAdvancedProperty|Remove-NetAdapterAdvancedProperty|Rename-NetAdapter|Reset-NetAdapterAdvancedProperty|Restart-NetAdapter|Set-NetAdapter|Set-NetAdapterAdvancedProperty|Set-NetAdapterBinding|Set-NetAdapterChecksumOffload|Set-NetAdapterEncapsulatedPacketTaskOffload|Set-NetAdapterIPsecOffload|Set-NetAdapterLso|Set-NetAdapterPacketDirect|Set-NetAdapterPowerManagement|Set-NetAdapterQos|Set-NetAdapterRdma|Set-NetAdapterRsc|Set-NetAdapterRss|Set-NetAdapterSriov|Set-NetAdapterVmq|Get-NetConnectionProfile|Set-NetConnectionProfile|Add-NetEventNetworkAdapter|Add-NetEventPacketCaptureProvider|Add-NetEventProvider|Add-NetEventVmNetworkAdapter|Add-NetEventVmSwitch|Add-NetEventWFPCaptureProvider|Get-NetEventNetworkAdapter|Get-NetEventPacketCaptureProvider|Get-NetEventProvider|Get-NetEventSession|Get-NetEventVmNetworkAdapter|Get-NetEventVmSwitch|Get-NetEventWFPCaptureProvider|New-NetEventSession|Remove-NetEventNetworkAdapter|Remove-NetEventPacketCaptureProvider|Remove-NetEventProvider|Remove-NetEventSession|Remove-NetEventVmNetworkAdapter|Remove-NetEventVmSwitch|Remove-NetEventWFPCaptureProvider|Set-NetEventPacketCaptureProvider|Set-NetEventProvider|Set-NetEventSession|Set-NetEventWFPCaptureProvider|Start-NetEventSession|Stop-NetEventSession|Add-NetLbfoTeamMember|Add-NetLbfoTeamNic|Get-NetLbfoTeam|Get-NetLbfoTeamMember|Get-NetLbfoTeamNic|New-NetLbfoTeam|Remove-NetLbfoTeam|Remove-NetLbfoTeamMember|Remove-NetLbfoTeamNic|Rename-NetLbfoTeam|Set-NetLbfoTeam|Set-NetLbfoTeamMember|Set-NetLbfoTeamNic|Add-NetNatExternalAddress|Add-NetNatStaticMapping|Get-NetNat|Get-NetNatExternalAddress|Get-NetNatGlobal|Get-NetNatSession|Get-NetNatStaticMapping|New-NetNat|Remove-NetNat|Remove-NetNatExternalAddress|Remove-NetNatStaticMapping|Set-NetNat|Set-NetNatGlobal|Get-NetQosPolicy|New-NetQosPolicy|Remove-NetQosPolicy|Set-NetQosPolicy|Copy-NetFirewallRule|Copy-NetIPsecMainModeCryptoSet|Copy-NetIPsecMainModeRule|Copy-NetIPsecPhase1AuthSet|Copy-NetIPsecPhase2AuthSet|Copy-NetIPsecQuickModeCryptoSet|Copy-NetIPsecRule|Disable-NetFirewallRule|Disable-NetIPsecMainModeRule|Disable-NetIPsecRule|Enable-NetFirewallRule|Enable-NetIPsecMainModeRule|Enable-NetIPsecRule|Find-NetIPsecRule|Get-NetFirewallAddressFilter|Get-NetFirewallApplicationFilter|Get-NetFirewallInterfaceFilter|Get-NetFirewallInterfaceTypeFilter|Get-NetFirewallPortFilter|Get-NetFirewallProfile|Get-NetFirewallRule|Get-NetFirewallSecurityFilter|Get-NetFirewallServiceFilter|Get-NetFirewallSetting|Get-NetIPsecDospSetting|Get-NetIPsecMainModeCryptoSet|Get-NetIPsecMainModeRule|Get-NetIPsecMainModeSA|Get-NetIPsecPhase1AuthSet|Get-NetIPsecPhase2AuthSet|Get-NetIPsecQuickModeCryptoSet|Get-NetIPsecQuickModeSA|Get-NetIPsecRule|New-NetFirewallRule|New-NetIPsecDospSetting|New-NetIPsecMainModeCryptoSet|New-NetIPsecMainModeRule|New-NetIPsecPhase1AuthSet|New-NetIPsecPhase2AuthSet|New-NetIPsecQuickModeCryptoSet|New-NetIPsecRule|Open-NetGPO|Remove-NetFirewallRule|Remove-NetIPsecDospSetting|Remove-NetIPsecMainModeCryptoSet|Remove-NetIPsecMainModeRule|Remove-NetIPsecMainModeSA|Remove-NetIPsecPhase1AuthSet|Remove-NetIPsecPhase2AuthSet|Remove-NetIPsecQuickModeCryptoSet|Remove-NetIPsecQuickModeSA|Remove-NetIPsecRule|Rename-NetFirewallRule|Rename-NetIPsecMainModeCryptoSet|Rename-NetIPsecMainModeRule|Rename-NetIPsecPhase1AuthSet|Rename-NetIPsecPhase2AuthSet|Rename-NetIPsecQuickModeCryptoSet|Rename-NetIPsecRule|Save-NetGPO|Set-NetFirewallAddressFilter|Set-NetFirewallApplicationFilter|Set-NetFirewallInterfaceFilter|Set-NetFirewallInterfaceTypeFilter|Set-NetFirewallPortFilter|Set-NetFirewallProfile|Set-NetFirewallRule|Set-NetFirewallSecurityFilter|Set-NetFirewallServiceFilter|Set-NetFirewallSetting|Set-NetIPsecDospSetting|Set-NetIPsecMainModeCryptoSet|Set-NetIPsecMainModeRule|Set-NetIPsecPhase1AuthSet|Set-NetIPsecPhase2AuthSet|Set-NetIPsecQuickModeCryptoSet|Set-NetIPsecRule|Show-NetFirewallRule|Show-NetIPsecRule|Sync-NetIPsecRule|Update-NetIPsecRule|Get-DAPolicyChange|New-NetIPsecAuthProposal|New-NetIPsecMainModeCryptoProposal|New-NetIPsecQuickModeCryptoProposal|Add-NetSwitchTeamMember|Get-NetSwitchTeam|Get-NetSwitchTeamMember|New-NetSwitchTeam|Remove-NetSwitchTeam|Remove-NetSwitchTeamMember|Rename-NetSwitchTeam|Find-NetRoute|Get-NetCompartment|Get-NetIPAddress|Get-NetIPConfiguration|Get-NetIPInterface|Get-NetIPv4Protocol|Get-NetIPv6Protocol|Get-NetNeighbor|Get-NetOffloadGlobalSetting|Get-NetPrefixPolicy|Get-NetRoute|Get-NetTCPConnection|Get-NetTCPSetting|Get-NetTransportFilter|Get-NetUDPEndpoint|Get-NetUDPSetting|New-NetIPAddress|New-NetNeighbor|New-NetRoute|New-NetTransportFilter|Remove-NetIPAddress|Remove-NetNeighbor|Remove-NetRoute|Remove-NetTransportFilter|Set-NetIPAddress|Set-NetIPInterface|Set-NetIPv4Protocol|Set-NetIPv6Protocol|Set-NetNeighbor|Set-NetOffloadGlobalSetting|Set-NetRoute|Set-NetTCPSetting|Set-NetUDPSetting|Test-NetConnection|Get-DAConnectionStatus|Get-NCSIPolicyConfiguration|Reset-NCSIPolicyConfiguration|Set-NCSIPolicyConfiguration|Disable-NetworkSwitchEthernetPort|Disable-NetworkSwitchFeature|Disable-NetworkSwitchVlan|Enable-NetworkSwitchEthernetPort|Enable-NetworkSwitchFeature|Enable-NetworkSwitchVlan|Get-NetworkSwitchEthernetPort|Get-NetworkSwitchFeature|Get-NetworkSwitchGlobalData|Get-NetworkSwitchVlan|New-NetworkSwitchVlan|Remove-NetworkSwitchEthernetPortIPAddress|Remove-NetworkSwitchVlan|Restore-NetworkSwitchConfiguration|Save-NetworkSwitchConfiguration|Set-NetworkSwitchEthernetPortIPAddress|Set-NetworkSwitchPortMode|Set-NetworkSwitchPortProperty|Set-NetworkSwitchVlanProperty|Add-NetIPHttpsCertBinding|Disable-NetDnsTransitionConfiguration|Disable-NetIPHttpsProfile|Disable-NetNatTransitionConfiguration|Enable-NetDnsTransitionConfiguration|Enable-NetIPHttpsProfile|Enable-NetNatTransitionConfiguration|Get-Net6to4Configuration|Get-NetDnsTransitionConfiguration|Get-NetDnsTransitionMonitoring|Get-NetIPHttpsConfiguration|Get-NetIPHttpsState|Get-NetIsatapConfiguration|Get-NetNatTransitionConfiguration|Get-NetNatTransitionMonitoring|Get-NetTeredoConfiguration|Get-NetTeredoState|New-NetIPHttpsConfiguration|New-NetNatTransitionConfiguration|Remove-NetIPHttpsCertBinding|Remove-NetIPHttpsConfiguration|Remove-NetNatTransitionConfiguration|Rename-NetIPHttpsConfiguration|Reset-Net6to4Configuration|Reset-NetDnsTransitionConfiguration|Reset-NetIPHttpsConfiguration|Reset-NetIsatapConfiguration|Reset-NetTeredoConfiguration|Set-Net6to4Configuration|Set-NetDnsTransitionConfiguration|Set-NetIPHttpsConfiguration|Set-NetIsatapConfiguration|Set-NetNatTransitionConfiguration|Set-NetTeredoConfiguration|Find-Package|Find-PackageProvider|Get-Package|Get-PackageProvider|Get-PackageSource|Import-PackageProvider|Install-Package|Install-PackageProvider|Register-PackageSource|Save-Package|Set-PackageSource|Uninstall-Package|Unregister-PackageSource|Clear-PcsvDeviceLog|Get-PcsvDevice|Get-PcsvDeviceLog|Restart-PcsvDevice|Set-PcsvDeviceBootConfiguration|Set-PcsvDeviceNetworkConfiguration|Set-PcsvDeviceUserPassword|Start-PcsvDevice|Stop-PcsvDevice|AfterAll|AfterEach|Assert-MockCalled|Assert-VerifiableMocks|BeforeAll|BeforeEach|Context|Describe|Get-MockDynamicParameters|Get-TestDriveItem|In|InModuleScope|Invoke-Mock|Invoke-Pester|It|Mock|New-Fixture|Set-DynamicParameterVariables|Setup|Should|Add-CertificateEnrollmentPolicyServer|Export-Certificate|Export-PfxCertificate|Get-Certificate|Get-CertificateAutoEnrollmentPolicy|Get-CertificateEnrollmentPolicyServer|Get-CertificateNotificationTask|Get-PfxData|Import-Certificate|Import-PfxCertificate|New-CertificateNotificationTask|New-SelfSignedCertificate|Remove-CertificateEnrollmentPolicyServer|Remove-CertificateNotificationTask|Set-CertificateAutoEnrollmentPolicy|Switch-Certificate|Test-Certificate|Disable-PnpDevice|Enable-PnpDevice|Get-PnpDevice|Get-PnpDeviceProperty|Find-DscResource|Find-Module|Find-Script|Get-InstalledModule|Get-InstalledScript|Get-PSRepository|Install-Module|Install-Script|New-ScriptFileInfo|Publish-Module|Publish-Script|Register-PSRepository|Save-Module|Save-Script|Set-PSRepository|Test-ScriptFileInfo|Uninstall-Module|Uninstall-Script|Unregister-PSRepository|Update-Module|Update-ModuleManifest|Update-Script|Update-ScriptFileInfo|Add-Printer|Add-PrinterDriver|Add-PrinterPort|Get-PrintConfiguration|Get-Printer|Get-PrinterDriver|Get-PrinterPort|Get-PrinterProperty|Get-PrintJob|Read-PrinterNfcTag|Remove-Printer|Remove-PrinterDriver|Remove-PrinterPort|Remove-PrintJob|Rename-Printer|Restart-PrintJob|Resume-PrintJob|Set-PrintConfiguration|Set-Printer|Set-PrinterProperty|Suspend-PrintJob|Write-PrinterNfcTag|Configuration|Disable-DscDebug|Enable-DscDebug|Get-DscConfiguration|Get-DscConfigurationStatus|Get-DscLocalConfigurationManager|Get-DscResource|New-DscChecksum|Remove-DscConfigurationDocument|Restore-DscConfiguration|Stop-DscConfiguration|Invoke-DscResource|Publish-DscConfiguration|Set-DscLocalConfigurationManager|Start-DscConfiguration|Test-DscConfiguration|Update-DscConfiguration|Disable-PSTrace|Disable-PSWSManCombinedTrace|Disable-WSManTrace|Enable-PSTrace|Enable-PSWSManCombinedTrace|Enable-WSManTrace|Get-LogProperties|Set-LogProperties|Start-Trace|Stop-Trace|PSConsoleHostReadline|Get-PSReadlineKeyHandler|Get-PSReadlineOption|Remove-PSReadlineKeyHandler|Set-PSReadlineKeyHandler|Set-PSReadlineOption|Add-JobTrigger|Disable-JobTrigger|Disable-ScheduledJob|Enable-JobTrigger|Enable-ScheduledJob|Get-JobTrigger|Get-ScheduledJob|Get-ScheduledJobOption|New-JobTrigger|New-ScheduledJobOption|Register-ScheduledJob|Remove-JobTrigger|Set-JobTrigger|Set-ScheduledJob|Set-ScheduledJobOption|Unregister-ScheduledJob|New-PSWorkflowSession|New-PSWorkflowExecutionOption|Invoke-AsWorkflow|Disable-ScheduledTask|Enable-ScheduledTask|Export-ScheduledTask|Get-ClusteredScheduledTask|Get-ScheduledTask|Get-ScheduledTaskInfo|New-ScheduledTask|New-ScheduledTaskAction|New-ScheduledTaskPrincipal|New-ScheduledTaskSettingsSet|New-ScheduledTaskTrigger|Register-ClusteredScheduledTask|Register-ScheduledTask|Set-ClusteredScheduledTask|Set-ScheduledTask|Start-ScheduledTask|Stop-ScheduledTask|Unregister-ClusteredScheduledTask|Unregister-ScheduledTask|Confirm-SecureBootUEFI|Format-SecureBootUEFI|Get-SecureBootPolicy|Get-SecureBootUEFI|Set-SecureBootUEFI|Block-SmbShareAccess|Close-SmbOpenFile|Close-SmbSession|Disable-SmbDelegation|Enable-SmbDelegation|Get-SmbBandwidthLimit|Get-SmbClientConfiguration|Get-SmbClientNetworkInterface|Get-SmbConnection|Get-SmbDelegation|Get-SmbMapping|Get-SmbMultichannelConnection|Get-SmbMultichannelConstraint|Get-SmbOpenFile|Get-SmbServerConfiguration|Get-SmbServerNetworkInterface|Get-SmbSession|Get-SmbShare|Get-SmbShareAccess|Grant-SmbShareAccess|New-SmbMapping|New-SmbMultichannelConstraint|New-SmbShare|Remove-SmbBandwidthLimit|Remove-SmbMapping|Remove-SmbMultichannelConstraint|Remove-SmbShare|Revoke-SmbShareAccess|Set-SmbBandwidthLimit|Set-SmbClientConfiguration|Set-SmbPathAcl|Set-SmbServerConfiguration|Set-SmbShare|Unblock-SmbShareAccess|Update-SmbMultichannelConnection|Move-SmbClient|Get-SmbWitnessClient|Move-SmbWitnessClient|Get-StartApps|Export-StartLayout|Import-StartLayout|Disable-PhysicalDiskIndication|Disable-StorageDiagnosticLog|Enable-PhysicalDiskIndication|Enable-StorageDiagnosticLog|Flush-Volume|Get-DiskSNV|Get-PhysicalDiskSNV|Get-StorageEnclosureSNV|Initialize-Volume|Write-FileSystemCache|Add-InitiatorIdToMaskingSet|Add-PartitionAccessPath|Add-PhysicalDisk|Add-TargetPortToMaskingSet|Add-VirtualDiskToMaskingSet|Block-FileShareAccess|Clear-Disk|Clear-FileStorageTier|Clear-StorageDiagnosticInfo|Connect-VirtualDisk|Debug-FileShare|Debug-StorageSubSystem|Debug-Volume|Disable-PhysicalDiskIdentification|Disable-StorageEnclosureIdentification|Disable-StorageHighAvailability|Disconnect-VirtualDisk|Dismount-DiskImage|Enable-PhysicalDiskIdentification|Enable-StorageEnclosureIdentification|Enable-StorageHighAvailability|Format-Volume|Get-DedupProperties|Get-Disk|Get-DiskImage|Get-DiskStorageNodeView|Get-FileIntegrity|Get-FileShare|Get-FileShareAccessControlEntry|Get-FileStorageTier|Get-InitiatorId|Get-InitiatorPort|Get-MaskingSet|Get-OffloadDataTransferSetting|Get-Partition|Get-PartitionSupportedSize|Get-PhysicalDisk|Get-PhysicalDiskStorageNodeView|Get-ResiliencySetting|Get-StorageAdvancedProperty|Get-StorageDiagnosticInfo|Get-StorageEnclosure|Get-StorageEnclosureStorageNodeView|Get-StorageEnclosureVendorData|Get-StorageFaultDomain|Get-StorageFileServer|Get-StorageFirmwareInformation|Get-StorageHealthAction|Get-StorageHealthReport|Get-StorageHealthSetting|Get-StorageJob|Get-StorageNode|Get-StoragePool|Get-StorageProvider|Get-StorageReliabilityCounter|Get-StorageSetting|Get-StorageSubSystem|Get-StorageTier|Get-StorageTierSupportedSize|Get-SupportedClusterSizes|Get-SupportedFileSystems|Get-TargetPort|Get-TargetPortal|Get-VirtualDisk|Get-VirtualDiskSupportedSize|Get-Volume|Get-VolumeCorruptionCount|Get-VolumeScrubPolicy|Grant-FileShareAccess|Hide-VirtualDisk|Initialize-Disk|Mount-DiskImage|New-FileShare|New-MaskingSet|New-Partition|New-StorageFileServer|New-StoragePool|New-StorageSubsystemVirtualDisk|New-StorageTier|New-VirtualDisk|New-VirtualDiskClone|New-VirtualDiskSnapshot|New-Volume|Optimize-StoragePool|Optimize-Volume|Register-StorageSubsystem|Remove-FileShare|Remove-InitiatorId|Remove-InitiatorIdFromMaskingSet|Remove-MaskingSet|Remove-Partition|Remove-PartitionAccessPath|Remove-PhysicalDisk|Remove-StorageFileServer|Remove-StorageHealthSetting|Remove-StoragePool|Remove-StorageTier|Remove-TargetPortFromMaskingSet|Remove-VirtualDisk|Remove-VirtualDiskFromMaskingSet|Rename-MaskingSet|Repair-FileIntegrity|Repair-VirtualDisk|Repair-Volume|Reset-PhysicalDisk|Reset-StorageReliabilityCounter|Resize-Partition|Resize-StorageTier|Resize-VirtualDisk|Revoke-FileShareAccess|Set-Disk|Set-FileIntegrity|Set-FileShare|Set-FileStorageTier|Set-InitiatorPort|Set-Partition|Set-PhysicalDisk|Set-ResiliencySetting|Set-StorageFileServer|Set-StorageHealthSetting|Set-StoragePool|Set-StorageProvider|Set-StorageSetting|Set-StorageSubSystem|Set-StorageTier|Set-VirtualDisk|Set-Volume|Set-VolumeScrubPolicy|Show-VirtualDisk|Start-StorageDiagnosticLog|Stop-StorageDiagnosticLog|Stop-StorageJob|Unblock-FileShareAccess|Unregister-StorageSubsystem|Update-Disk|Update-HostStorageCache|Update-StorageFirmware|Update-StoragePool|Update-StorageProviderCache|Write-VolumeCache|Disable-TlsCipherSuite|Disable-TlsSessionTicketKey|Enable-TlsCipherSuite|Enable-TlsSessionTicketKey|Export-TlsSessionTicketKey|Get-TlsCipherSuite|New-TlsSessionTicketKey|Get-TroubleshootingPack|Invoke-TroubleshootingPack|Clear-Tpm|ConvertTo-TpmOwnerAuth|Disable-TpmAutoProvisioning|Enable-TpmAutoProvisioning|Get-Tpm|Get-TpmEndorsementKeyInfo|Get-TpmSupportedFeature|Import-TpmOwnerAuth|Initialize-Tpm|Set-TpmOwnerAuth|Unblock-Tpm|Add-VpnConnection|Add-VpnConnectionRoute|Add-VpnConnectionTriggerApplication|Add-VpnConnectionTriggerDnsConfiguration|Add-VpnConnectionTriggerTrustedNetwork|Get-VpnConnection|Get-VpnConnectionTrigger|New-EapConfiguration|New-VpnServerAddress|Remove-VpnConnection|Remove-VpnConnectionRoute|Remove-VpnConnectionTriggerApplication|Remove-VpnConnectionTriggerDnsConfiguration|Remove-VpnConnectionTriggerTrustedNetwork|Set-VpnConnection|Set-VpnConnectionIPsecConfiguration|Set-VpnConnectionProxy|Set-VpnConnectionTriggerDnsConfiguration|Set-VpnConnectionTriggerTrustedNetwork|Add-OdbcDsn|Disable-OdbcPerfCounter|Disable-WdacBidTrace|Enable-OdbcPerfCounter|Enable-WdacBidTrace|Get-OdbcDriver|Get-OdbcDsn|Get-OdbcPerfCounter|Get-WdacBidTrace|Remove-OdbcDsn|Set-OdbcDriver|Set-OdbcDsn|Get-WindowsDeveloperLicense|Show-WindowsDeveloperLicenseRegistration|Unregister-WindowsDeveloperLicense|Disable-WindowsErrorReporting|Enable-WindowsErrorReporting|Get-WindowsErrorReporting|Get-WindowsSearchSetting|Set-WindowsSearchSetting|Get-WindowsUpdateLog",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier"),r="eq|ne|gt|lt|le|ge|like|notlike|match|notmatch|contains|notcontains|in|notin|band|bor|bxor|bnot|ceq|cne|cgt|clt|cle|cge|clike|cnotlike|cmatch|cnotmatch|ccontains|cnotcontains|cin|cnotin|ieq|ine|igt|ilt|ile|ige|ilike|inotlike|imatch|inotmatch|icontains|inotcontains|iin|inotin|and|or|xor|not|split|join|replace|f|csplit|creplace|isplit|ireplace|is|isnot|as|shl|shr";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.start",regex:"<#",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"[$](?:[Tt]rue|[Ff]alse)\\b"},{token:"constant.language",regex:"[$][Nn]ull\\b"},{token:"variable.instance",regex:"[$][a-zA-Z][a-zA-Z0-9_]*\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"keyword.operator",regex:"\\-(?:"+r+")"},{token:"keyword.operator",regex:"&|\\+|\\-|\\*|\\/|\\%|\\=|\\>|\\&|\\!|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment.end",regex:"#>",next:"start"},{token:"doc.comment.tag",regex:"^\\.\\w+"},{defaultToken:"comment"}]}};r.inherits(s,i),t.PowershellHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/powershell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/powershell_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./powershell_highlight_rules").PowershellHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a({start:"^\\s*(<#)",end:"^[#\\s]>\\s*$"})};r.inherits(f,i),function(){this.lineCommentStart="#",this.blockComment={start:"<#",end:"#>"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null},this.$id="ace/mode/powershell"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-praat.js b/library/ace/mode-praat.js
new file mode 100644
index 000000000..a4c87bfa6
--- /dev/null
+++ b/library/ace/mode-praat.js
@@ -0,0 +1 @@
+ace.define("ace/mode/praat_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="if|then|else|elsif|elif|endif|fi|endfor|endproc|while|endwhile|repeat|until|select|plus|minus|assert|asserterror",t="macintosh|windows|unix|praatVersion|praatVersion\\$pi|undefined|newline\\$|tab\\$|shellDirectory\\$|homeDirectory\\$|preferencesDirectory\\$|temporaryDirectory\\$|defaultDirectory\\$",n="clearinfo|endSendPraat",r="writeInfo|writeInfoLine|appendInfo|appendInfoLine|info\\$|writeFile|writeFileLine|appendFile|appendFileLine|abs|round|floor|ceiling|min|max|imin|imax|sqrt|sin|cos|tan|arcsin|arccos|arctan|arctan2|sinc|sincpi|exp|ln|lnBeta|lnGamma|log10|log2|sinh|cosh|tanh|arcsinh|arccosh|arctanh|sigmoid|invSigmoid|erf|erfc|random(?:Uniform|Integer|Gauss|Poisson|Binomial)|gaussP|gaussQ|invGaussQ|incompleteGammaP|incompleteBeta|chiSquareP|chiSquareQ|invChiSquareQ|studentP|studentQ|invStudentQ|fisherP|fisherQ|invFisherQ|binomialP|binomialQ|invBinomialP|invBinomialQ|hertzToBark|barkToHerz|hertzToMel|melToHertz|hertzToSemitones|semitonesToHerz|erb|hertzToErb|erbToHertz|phonToDifferenceLimens|differenceLimensToPhon|soundPressureToPhon|beta|beta2|besselI|besselK|numberOfColumns|numberOfRows|selected|selected\\$|numberOfSelected|variableExists|index|rindex|startsWith|endsWith|index_regex|rindex_regex|replace_regex\\$|length|extractWord\\$|extractLine\\$|extractNumber|left\\$|right\\$|mid\\$|replace\\$|date\\$|fixed\\$|percent\\$|zero#|linear#|randomUniform#|randomInteger#|randomGauss#|beginPause|endPause|demoShow|demoWindowTitle|demoInput|demoWaitForInput|demoClicked|demoClickedIn|demoX|demoY|demoKeyPressed|demoKey\\$|demoExtraControlKeyPressed|demoShiftKeyPressed|demoCommandKeyPressed|demoOptionKeyPressed|environment\\$|chooseReadFile\\$|chooseDirectory\\$|createDirectory|fileReadable|deleteFile|selectObject|removeObject|plusObject|minusObject|runScript|exitScript|beginSendPraat|endSendPraat|objectsAreIdentical",i="Activation|AffineTransform|AmplitudeTier|Art|Artword|Autosegment|BarkFilter|CCA|Categories|Cepstrum|Cepstrumc|ChebyshevSeries|ClassificationTable|Cochleagram|Collection|Configuration|Confusion|ContingencyTable|Corpus|Correlation|Covariance|CrossCorrelationTable|CrossCorrelationTables|DTW|Diagonalizer|Discriminant|Dissimilarity|Distance|Distributions|DurationTier|EEG|ERP|ERPTier|Eigen|Excitation|Excitations|ExperimentMFC|FFNet|FeatureWeights|Formant|FormantFilter|FormantGrid|FormantPoint|FormantTier|GaussianMixture|HMM|HMM_Observation|HMM_ObservationSequence|HMM_State|HMM_StateSequence|Harmonicity|ISpline|Index|Intensity|IntensityTier|IntervalTier|KNN|KlattGrid|KlattTable|LFCC|LPC|Label|LegendreSeries|LinearRegression|LogisticRegression|LongSound|Ltas|MFCC|MSpline|ManPages|Manipulation|Matrix|MelFilter|MixingMatrix|Movie|Network|OTGrammar|OTHistory|OTMulti|PCA|PairDistribution|ParamCurve|Pattern|Permutation|Pitch|PitchTier|PointProcess|Polygon|Polynomial|Procrustes|RealPoint|RealTier|ResultsMFC|Roots|SPINET|SSCP|SVD|Salience|ScalarProduct|Similarity|SimpleString|SortedSetOfString|Sound|Speaker|Spectrogram|Spectrum|SpectrumTier|SpeechSynthesizer|SpellingChecker|Strings|StringsIndex|Table|TableOfReal|TextGrid|TextInterval|TextPoint|TextTier|Tier|Transition|VocalTract|Weight|WordList";this.$rules={start:[{token:"string.interpolated",regex:/'((?:[a-z][a-zA-Z0-9_]*)(?:\$|#|:[0-9]+)?)'/},{token:["text","text","keyword.operator","text","keyword"],regex:/(^\s*)(?:([a-z][a-zA-Z0-9_]*\$?\s+)(=)(\s+))?(stopwatch)/},{token:["text","keyword","text","string"],regex:/(^\s*)(print(?:line|tab)?|echo|exit|pause|send(?:praat|socket)|include|execute|system(?:_nocheck)?)(\s+)(.*)/},{token:["text","keyword"],regex:"(^\\s*)("+n+")$"},{token:["text","keyword.operator","text"],regex:/(\s+)((?:\+|-|\/|\*|<|>)=?|==?|!=|%|\^|\||and|or|not)(\s+)/},{token:["text","text","keyword.operator","text","keyword","text","keyword"],regex:/(^\s*)(?:([a-z][a-zA-Z0-9_]*\$?\s+)(=)(\s+))?(?:((?:no)?warn|(?:unix_)?nocheck|noprogress)(\s+))?((?:[A-Z][^.:"]+)(?:$|(?:\.{3}|:)))/},{token:["text","keyword","text","keyword"],regex:/(^\s*)(?:(demo)?(\s+))((?:[A-Z][^.:"]+)(?:$|(?:\.{3}|:)))/},{token:["text","keyword","text","keyword"],regex:/^(\s*)(?:(demo)(\s+))?(10|12|14|16|24)$/},{token:["text","support.function","text"],regex:/(\s*)(do\$?)(\s*:\s*|\s*\(\s*)/},{token:"entity.name.type",regex:"("+i+")"},{token:"variable.language",regex:"("+t+")"},{token:["support.function","text"],regex:"((?:"+r+")\\$?)(\\s*(?::|\\())"},{token:"keyword",regex:/(\bfor\b)/,next:"for"},{token:"keyword",regex:"(\\b(?:"+e+")\\b)"},{token:"string",regex:/"[^"]*"/},{token:"string",regex:/"[^"]*$/,next:"brokenstring"},{token:["text","keyword","text","entity.name.section"],regex:/(^\s*)(\bform\b)(\s+)(.*)/,next:"form"},{token:"constant.numeric",regex:/\b[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["keyword","text","entity.name.function"],regex:/(procedure)(\s+)(\S+)/},{token:["entity.name.function","text"],regex:/(@\S+)(:|\s*\()/},{token:["text","keyword","text","entity.name.function"],regex:/(^\s*)(call)(\s+)(\S+)/},{token:"comment",regex:/(^\s*#|;).*$/},{token:"text",regex:/\s+/}],form:[{token:["keyword","text","constant.numeric"],regex:/((?:optionmenu|choice)\s+)(\S+:\s+)([0-9]+)/},{token:["keyword","constant.numeric"],regex:/((?:option|button)\s+)([+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b)/},{token:["keyword","string"],regex:/((?:option|button)\s+)(.*)/},{token:["keyword","text","string"],regex:/((?:sentence|text)\s+)(\S+\s*)(.*)/},{token:["keyword","text","string","invalid.illegal"],regex:/(word\s+)(\S+\s*)(\S+)?(\s.*)?/},{token:["keyword","text","constant.language"],regex:/(boolean\s+)(\S+\s*)(0|1|"?(?:yes|no)"?)/},{token:["keyword","text","constant.numeric"],regex:/((?:real|natural|positive|integer)\s+)(\S+\s*)([+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b)/},{token:["keyword","string"],regex:/(comment\s+)(.*)/},{token:"keyword",regex:"endform",next:"start"}],"for":[{token:["keyword","text","constant.numeric","text"],regex:/(from|to)(\s+)([+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?)(\s*)/},{token:["keyword","text"],regex:/(from|to)(\s+\S+\s*)/},{token:"text",regex:/$/,next:"start"}],brokenstring:[{token:["text","string"],regex:/(\s*\.{3})([^"]*)/},{token:"string",regex:/"/,next:"start"}]}};r.inherits(s,i),t.PraatHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/praat",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/praat_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./praat_highlight_rules").PraatHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/praat"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-prolog.js b/library/ace/mode-prolog.js
new file mode 100644
index 000000000..81a71ab6e
--- /dev/null
+++ b/library/ace/mode-prolog.js
@@ -0,0 +1 @@
+ace.define("ace/mode/prolog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#comment"},{include:"#basic_fact"},{include:"#rule"},{include:"#directive"},{include:"#fact"}],"#atom":[{token:"constant.other.atom.prolog",regex:"\\b[a-z][a-zA-Z0-9_]*\\b"},{token:"constant.numeric.prolog",regex:"-?\\d+(?:\\.\\d+)?"},{include:"#string"}],"#basic_elem":[{include:"#comment"},{include:"#statement"},{include:"#constants"},{include:"#operators"},{include:"#builtins"},{include:"#list"},{include:"#atom"},{include:"#variable"}],"#basic_fact":[{token:["entity.name.function.fact.basic.prolog","punctuation.end.fact.basic.prolog"],regex:"([a-z]\\w*)(\\.)"}],"#builtins":[{token:"support.function.builtin.prolog",regex:"\\b(?:abolish|abort|ancestors|arg|ascii|assert[az]|atom(?:ic)?|body|char|close|conc|concat|consult|define|definition|dynamic|dump|fail|file|free|free_proc|functor|getc|goal|halt|head|head|integer|length|listing|match_args|member|next_clause|nl|nonvar|nth|number|cvars|nvars|offset|op|print?|prompt|putc|quoted|ratom|read|redefine|rename|retract(?:all)?|see|seeing|seen|skip|spy|statistics|system|tab|tell|telling|term|time|told|univ|unlink_clause|unspy_predicate|var|write)\\b"}],"#comment":[{token:["punctuation.definition.comment.prolog","comment.line.percentage.prolog"],regex:"(%)(.*$)"},{token:"punctuation.definition.comment.prolog",regex:"/\\*",push:[{token:"punctuation.definition.comment.prolog",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.prolog"}]}],"#constants":[{token:"constant.language.prolog",regex:"\\b(?:true|false|yes|no)\\b"}],"#directive":[{token:"keyword.operator.directive.prolog",regex:":-",push:[{token:"meta.directive.prolog",regex:"\\.",next:"pop"},{include:"#comment"},{include:"#statement"},{defaultToken:"meta.directive.prolog"}]}],"#expr":[{include:"#comments"},{token:"meta.expression.prolog",regex:"\\(",push:[{token:"meta.expression.prolog",regex:"\\)",next:"pop"},{include:"#expr"},{defaultToken:"meta.expression.prolog"}]},{token:"keyword.control.cutoff.prolog",regex:"!"},{token:"punctuation.control.and.prolog",regex:","},{token:"punctuation.control.or.prolog",regex:";"},{include:"#basic_elem"}],"#fact":[{token:["entity.name.function.fact.prolog","punctuation.begin.fact.parameters.prolog"],regex:"([a-z]\\w*)(\\()(?!.*:-)",push:[{token:["punctuation.end.fact.parameters.prolog","punctuation.end.fact.prolog"],regex:"(\\))(\\.?)",next:"pop"},{include:"#parameter"},{defaultToken:"meta.fact.prolog"}]}],"#list":[{token:"punctuation.begin.list.prolog",regex:"\\[(?=.*\\])",push:[{token:"punctuation.end.list.prolog",regex:"\\]",next:"pop"},{include:"#comment"},{token:"punctuation.separator.list.prolog",regex:","},{token:"punctuation.concat.list.prolog",regex:"\\|",push:[{token:"meta.list.concat.prolog",regex:"(?=\\s*\\])",next:"pop"},{include:"#basic_elem"},{defaultToken:"meta.list.concat.prolog"}]},{include:"#basic_elem"},{defaultToken:"meta.list.prolog"}]}],"#operators":[{token:"keyword.operator.prolog",regex:"\\\\\\+|\\bnot\\b|\\bis\\b|->|[><]|[><\\\\:=]?=|(?:=\\\\|\\\\=)="}],"#parameter":[{token:"variable.language.anonymous.prolog",regex:"\\b_\\b"},{token:"variable.parameter.prolog",regex:"\\b[A-Z_]\\w*\\b"},{token:"punctuation.separator.parameters.prolog",regex:","},{include:"#basic_elem"},{token:"text",regex:"[^\\s]"}],"#rule":[{token:"meta.rule.prolog",regex:"(?=[a-z]\\w*.*:-)",push:[{token:"punctuation.rule.end.prolog",regex:"\\.",next:"pop"},{token:"meta.rule.signature.prolog",regex:"(?=[a-z]\\w*.*:-)",push:[{token:"meta.rule.signature.prolog",regex:"(?=:-)",next:"pop"},{token:"entity.name.function.rule.prolog",regex:"[a-z]\\w*(?=\\(|\\s*:-)"},{token:"punctuation.rule.parameters.begin.prolog",regex:"\\(",push:[{token:"punctuation.rule.parameters.end.prolog",regex:"\\)",next:"pop"},{include:"#parameter"},{defaultToken:"meta.rule.parameters.prolog"}]},{defaultToken:"meta.rule.signature.prolog"}]},{token:"keyword.operator.definition.prolog",regex:":-",push:[{token:"meta.rule.definition.prolog",regex:"(?=\\.)",next:"pop"},{include:"#comment"},{include:"#expr"},{defaultToken:"meta.rule.definition.prolog"}]},{defaultToken:"meta.rule.prolog"}]}],"#statement":[{token:"meta.statement.prolog",regex:"(?=[a-z]\\w*\\()",push:[{token:"punctuation.end.statement.parameters.prolog",regex:"\\)",next:"pop"},{include:"#builtins"},{include:"#atom"},{token:"punctuation.begin.statement.parameters.prolog",regex:"\\(",push:[{token:"meta.statement.parameters.prolog",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.statement.prolog",regex:","},{include:"#basic_elem"},{defaultToken:"meta.statement.parameters.prolog"}]},{defaultToken:"meta.statement.prolog"}]}],"#string":[{token:"punctuation.definition.string.begin.prolog",regex:"'",push:[{token:"punctuation.definition.string.end.prolog",regex:"'",next:"pop"},{token:"constant.character.escape.prolog",regex:"\\\\."},{token:"constant.character.escape.quote.prolog",regex:"''"},{defaultToken:"string.quoted.single.prolog"}]}],"#variable":[{token:"variable.language.anonymous.prolog",regex:"\\b_\\b"},{token:"variable.other.prolog",regex:"\\b[A-Z_][a-zA-Z0-9_]*\\b"}]},this.normalizeRules()};s.metaData={fileTypes:["plg","prolog"],foldingStartMarker:"(%\\s*region \\w*)|([a-z]\\w*.*:- ?)",foldingStopMarker:"(%\\s*end(\\s*region)?)|(?=\\.)",keyEquivalent:"^~P",name:"Prolog",scopeName:"source.prolog"},r.inherits(s,i),t.PrologHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/prolog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/prolog_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./prolog_highlight_rules").PrologHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="%",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/prolog"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-properties.js b/library/ace/mode-properties.js
new file mode 100644
index 000000000..bccfa478e
--- /dev/null
+++ b/library/ace/mode-properties.js
@@ -0,0 +1 @@
+ace.define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=/\\u[0-9a-fA-F]{4}|\\/;this.$rules={start:[{token:"comment",regex:/[!#].*$/},{token:"keyword",regex:/[=:]$/},{token:"keyword",regex:/[=:]/,next:"value"},{token:"constant.language.escape",regex:e},{defaultToken:"variable"}],value:[{regex:/\\$/,token:"string",next:"value"},{regex:/$/,token:"string",next:"start"},{token:"constant.language.escape",regex:e},{defaultToken:"string"}]}};r.inherits(s,i),t.PropertiesHighlightRules=s}),ace.define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/properties_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./properties_highlight_rules").PropertiesHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/properties"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-protobuf.js b/library/ace/mode-protobuf.js
new file mode 100644
index 000000000..476d47f8b
--- /dev/null
+++ b/library/ace/mode-protobuf.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Zd\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:/%[^'"\\]/},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/protobuf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes",t="message|required|optional|repeated|package|import|option|enum",n=this.createKeywordMapper({"keyword.declaration.protobuf":t,"support.type":e},"identifier");this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"=",token:"keyword.operator.assignment.protobuf"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(s,i),t.ProtobufHighlightRules=s}),ace.define("ace/mode/protobuf",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/protobuf_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("./protobuf_highlight_rules").ProtobufHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.foldingRules=new o,this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/protobuf"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-python.js b/library/ace/mode-python.js
new file mode 100644
index 000000000..f80eb0e8a
--- /dev/null
+++ b/library/ace/mode-python.js
@@ -0,0 +1 @@
+ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./python_highlight_rules").PythonHighlightRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:")};r.inherits(a,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-r.js b/library/ace/mode-r.js
new file mode 100644
index 000000000..89e73b306
--- /dev/null
+++ b/library/ace/mode-r.js
@@ -0,0 +1 @@
+ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(o,s),t.TexHighlightRules=o}),ace.define("ace/mode/r_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=function(){var e=i.arrayToMap("function|if|in|break|next|repeat|else|for|return|switch|while|try|tryCatch|stop|warning|require|library|attach|detach|source|setMethod|setGeneric|setGroupGeneric|setClass".split("|")),t=i.arrayToMap("NULL|NA|TRUE|FALSE|T|F|Inf|NaN|NA_integer_|NA_real_|NA_character_|NA_complex_".split("|"));this.$rules={start:[{token:"comment.sectionhead",regex:"#+(?!').*(?:----|====|####)\\s*$"},{token:"comment",regex:"#+'",next:"rd-start"},{token:"comment",regex:"#.*$"},{token:"string",regex:'["]',next:"qqstring"},{token:"string",regex:"[']",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+[Li]?\\b"},{token:"constant.numeric",regex:"\\d+L\\b"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.numeric",regex:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.language.boolean",regex:"(?:TRUE|FALSE|T|F)\\b"},{token:"identifier",regex:"`.*?`"},{onMatch:function(n){return e[n]?"keyword":t[n]?"constant.language":n=="..."||n.match(/^\.\.\d+$/)?"variable.language":"identifier"},regex:"[a-zA-Z.][a-zA-Z0-9._]*\\b"},{token:"keyword.operator",regex:"%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"},{token:"keyword.operator",regex:"%.*?%"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]};var n=(new o("comment")).getRules();for(var r=0;r<n.start.length;r++)n.start[r].token+=".virtual-comment";this.addRules(n,"rd-"),this.$rules["rd-start"].unshift({token:"text",regex:"^",next:"start"}),this.$rules["rd-start"].unshift({token:"keyword",regex:"@(?!@)[^ ]*"}),this.$rules["rd-start"].unshift({token:"comment",regex:"@@"}),this.$rules["rd-start"].push({token:"comment",regex:"[^%\\\\[({\\])}]+"})};r.inherits(u,s),t.RHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/r",["require","exports","module","ace/range","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/r_highlight_rules","ace/mode/matching_brace_outdent","ace/unicode"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/oop"),s=e("./text").Mode,o=e("./text_highlight_rules").TextHighlightRules,u=e("./r_highlight_rules").RHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,f=e("../unicode"),l=function(){this.HighlightRules=u,this.$outdent=new a};i.inherits(l,s),function(){this.lineCommentStart="#",this.$id="ace/mode/r"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-razor.js b/library/ace/mode-razor.js
new file mode 100644
index 000000000..fc7427260
--- /dev/null
+++ b/library/ace/mode-razor.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/csharp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"abstract|event|new|struct|as|explicit|null|switch|base|extern|object|this|bool|false|operator|throw|break|finally|out|true|byte|fixed|override|try|case|float|params|typeof|catch|for|private|uint|char|foreach|protected|ulong|checked|goto|public|unchecked|class|if|readonly|unsafe|const|implicit|ref|ushort|continue|in|return|using|decimal|int|sbyte|virtual|default|interface|sealed|volatile|delegate|internal|short|void|do|is|sizeof|while|double|lock|stackalloc|else|long|static|enum|namespace|string|var|dynamic","constant.language":"null|true|false"},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:/'(?:.|\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n]))'/},{token:"string",start:'"',end:'"|$',next:[{token:"constant.language.escape",regex:/\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},{token:"invalid",regex:/\\./}]},{token:"string",start:'@"',end:'"',next:[{token:"constant.language.escape",regex:'""'}]},{token:"string",start:/\$"/,end:'"|$',next:[{token:"constant.language.escape",regex:/\\(:?$)|{{/},{token:"constant.language.escape",regex:/\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},{token:"invalid",regex:/\\./}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"keyword",regex:"^\\s*#(if|else|elif|endif|define|undef|warning|error|line|region|endregion|pragma)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(o,s),t.CSharpHighlightRules=o}),ace.define("ace/mode/razor_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/html_highlight_rules","ace/mode/csharp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./html_highlight_rules").HtmlHighlightRules,u=e("./csharp_highlight_rules").CSharpHighlightRules,a="razor-block-",f=function(){u.call(this);var e=function(e,t){return typeof t=="function"?t(e):t},t="in-braces";this.$rules.start.unshift({regex:"[\\[({]",onMatch:function(e,n,r){var i=/razor-[^\-]+-/.exec(n)[0];return r.unshift(e),r.unshift(i+t),this.next=i+t,"paren.lparen"}});var n={"{":"}","[":"]","(":")"};this.$rules[t]=i.deepCopy(this.$rules.start),this.$rules[t].unshift({regex:"[\\])}]",onMatch:function(t,r,i){var s=i[1];return n[s]!==t?"invalid.illegal":(i.shift(),i.shift(),this.next=e(t,i[0])||"start","paren.rparen")}})};r.inherits(f,u);var l=function(){o.call(this);var e={regex:"@[({]|@functions{",onMatch:function(e,t,n){return n.unshift(e),n.unshift("razor-block-start"),this.next="razor-block-start","punctuation.block.razor"}},t={"@{":"}","@(":")","@functions{":"}"},n={regex:"[})]",onMatch:function(e,n,r){var i=r[1];return t[i]!==e?"invalid.illegal":(r.shift(),r.shift(),this.next=r.shift()||"start","punctuation.block.razor")}},r={regex:"@(?![{(])",onMatch:function(e,t,n){return n.unshift("razor-short-start"),this.next="razor-short-start","punctuation.short.razor"}},i={token:"",regex:"(?=[^A-Za-z_\\.()\\[\\]])",next:"pop"},s={regex:"@(?=if)",onMatch:function(e,t,n){return n.unshift(function(e){return e!=="}"?"start":n.shift()||"start"}),this.next="razor-block-start","punctuation.control.razor"}},u=[{token:["meta.directive.razor","text","identifier"],regex:"^(\\s*@model)(\\s+)(.+)$"},e,r];for(var a in this.$rules)this.$rules[a].unshift.apply(this.$rules[a],u);this.embedRules(f,"razor-block-",[n],["start"]),this.embedRules(f,"razor-short-",[i],["start"]),this.normalizeRules()};r.inherits(l,o),t.RazorHighlightRules=l,t.RazorLangHighlightRules=f}),ace.define("ace/mode/razor_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../token_iterator").TokenIterator,i=["abstract","as","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","var","virtual","void","volatile","while"],s=["Html","Model","Url","Layout"],o=function(){};(function(){this.getCompletions=function(e,t,n,r){if(e.lastIndexOf("razor-short-start")==-1&&e.lastIndexOf("razor-block-start")==-1)return[];var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e.lastIndexOf("razor-short-start")!=-1)return this.getShortStartCompletions(e,t,n,r);if(e.lastIndexOf("razor-block-start")!=-1)return this.getKeywordCompletions(e,t,n,r)},this.getShortStartCompletions=function(e,t,n,r){return s.map(function(e){return{value:e,meta:"keyword",score:Number.MAX_VALUE}})},this.getKeywordCompletions=function(e,t,n,r){return s.concat(i).map(function(e){return{value:e,meta:"keyword",score:Number.MAX_VALUE}})}}).call(o.prototype),t.RazorCompletions=o}),ace.define("ace/mode/razor",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/razor_highlight_rules","ace/mode/razor_completions","ace/mode/html_completions"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./razor_highlight_rules").RazorHighlightRules,o=e("./razor_completions").RazorCompletions,u=e("./html_completions").HtmlCompletions,a=function(){i.call(this),this.$highlightRules=new s,this.$completer=new o,this.$htmlCompleter=new u};r.inherits(a,i),function(){this.getCompletions=function(e,t,n,r){var i=this.$completer.getCompletions(e,t,n,r),s=this.$htmlCompleter.getCompletions(e,t,n,r);return i.concat(s)},this.createWorker=function(e){return null},this.$id="ace/mode/razor"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-rdoc.js b/library/ace/mode-rdoc.js
new file mode 100644
index 000000000..d2b464570
--- /dev/null
+++ b/library/ace/mode-rdoc.js
@@ -0,0 +1 @@
+ace.define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"%.*$"},{token:["keyword","lparen","variable.parameter","rparen","lparen","storage.type","rparen"],regex:"(\\\\(?:documentclass|usepackage|input))(?:(\\[)([^\\]]*)(\\]))?({)([^}]*)(})"},{token:["keyword","lparen","variable.parameter","rparen"],regex:"(\\\\(?:label|v?ref|cite(?:[^{]*)))(?:({)([^}]*)(}))?"},{token:["storage.type","lparen","variable.parameter","rparen"],regex:"(\\\\(?:begin|end))({)(\\w*)(})"},{token:"storage.type",regex:"\\\\[a-zA-Z]+"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"constant.character.escape",regex:"\\\\[^a-zA-Z]?"},{token:"string",regex:"\\${1,2}",next:"equation"}],equation:[{token:"comment",regex:"%.*$"},{token:"string",regex:"\\${1,2}",next:"start"},{token:"constant.character.escape",regex:"\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"},{token:"error",regex:"^\\s*$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.LatexHighlightRules=s}),ace.define("ace/mode/rdoc_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/latex_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./latex_highlight_rules"),u=function(){this.$rules={start:[{token:"comment",regex:"%.*$"},{token:"text",regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:name|alias|method|S3method|S4method|item|code|preformatted|kbd|pkg|var|env|option|command|author|email|url|source|cite|acronym|href|code|preformatted|link|eqn|deqn|keyword|usage|examples|dontrun|dontshow|figure|if|ifelse|Sexpr|RdOpts|inputencoding|usepackage)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell.text",regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:name|alias|method|S3method|S4method|item|code|preformatted|kbd|pkg|var|env|option|command|author|email|url|source|cite|acronym|href|code|preformatted|link|eqn|deqn|keyword|usage|examples|dontrun|dontshow|figure|if|ifelse|Sexpr|RdOpts|inputencoding|usepackage)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell.text",regex:"\\s+"},{token:"nospell.text",regex:"\\w+"}]}};r.inherits(u,s),t.RDocHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/rdoc",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/rdoc_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./rdoc_highlight_rules").RDocHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=function(e){this.HighlightRules=o,this.$outdent=new u};r.inherits(a,i),function(){this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.$id="ace/mode/rdoc"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-rhtml.js b/library/ace/mode-rhtml.js
new file mode 100644
index 000000000..ff4225f8d
--- /dev/null
+++ b/library/ace/mode-rhtml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(o,s),t.TexHighlightRules=o}),ace.define("ace/mode/r_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=function(){var e=i.arrayToMap("function|if|in|break|next|repeat|else|for|return|switch|while|try|tryCatch|stop|warning|require|library|attach|detach|source|setMethod|setGeneric|setGroupGeneric|setClass".split("|")),t=i.arrayToMap("NULL|NA|TRUE|FALSE|T|F|Inf|NaN|NA_integer_|NA_real_|NA_character_|NA_complex_".split("|"));this.$rules={start:[{token:"comment.sectionhead",regex:"#+(?!').*(?:----|====|####)\\s*$"},{token:"comment",regex:"#+'",next:"rd-start"},{token:"comment",regex:"#.*$"},{token:"string",regex:'["]',next:"qqstring"},{token:"string",regex:"[']",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+[Li]?\\b"},{token:"constant.numeric",regex:"\\d+L\\b"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.numeric",regex:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.language.boolean",regex:"(?:TRUE|FALSE|T|F)\\b"},{token:"identifier",regex:"`.*?`"},{onMatch:function(n){return e[n]?"keyword":t[n]?"constant.language":n=="..."||n.match(/^\.\.\d+$/)?"variable.language":"identifier"},regex:"[a-zA-Z.][a-zA-Z0-9._]*\\b"},{token:"keyword.operator",regex:"%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"},{token:"keyword.operator",regex:"%.*?%"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]};var n=(new o("comment")).getRules();for(var r=0;r<n.start.length;r++)n.start[r].token+=".virtual-comment";this.addRules(n,"rd-"),this.$rules["rd-start"].unshift({token:"text",regex:"^",next:"start"}),this.$rules["rd-start"].unshift({token:"keyword",regex:"@(?!@)[^ ]*"}),this.$rules["rd-start"].unshift({token:"comment",regex:"@@"}),this.$rules["rd-start"].push({token:"comment",regex:"[^%\\\\[({\\])}]+"})};r.inherits(u,s),t.RHighlightRules=u}),ace.define("ace/mode/rhtml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/r_highlight_rules","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./r_highlight_rules").RHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this),this.$rules.start.unshift({token:"support.function.codebegin",regex:"^<!--\\s*begin.rcode\\s*(?:.*)",next:"r-start"}),this.embedRules(i,"r-",[{token:"support.function.codeend",regex:"^\\s*end.rcode\\s*-->",next:"start"}],["start"]),this.normalizeRules()};r.inherits(u,o),t.RHtmlHighlightRules=u}),ace.define("ace/mode/rhtml",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/rhtml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./rhtml_highlight_rules").RHtmlHighlightRules,o=function(e,t){i.call(this),this.$session=t,this.HighlightRules=s};r.inherits(o,i),function(){this.insertChunkInfo={value:"<!--begin.rcode\n\nend.rcode-->\n",position:{row:0,column:15}},this.getLanguageMode=function(e){return this.$session.getState(e.row).match(/^r-/)?"R":"HTML"},this.$id="ace/mode/rhtml"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-rst.js b/library/ace/mode-rst.js
new file mode 100644
index 000000000..633a3d784
--- /dev/null
+++ b/library/ace/mode-rst.js
@@ -0,0 +1 @@
+ace.define("ace/mode/rst_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e={title:"markup.heading",list:"markup.heading",table:"constant",directive:"keyword.operator",entity:"string",link:"markup.underline.list",bold:"markup.bold",italic:"markup.italic",literal:"support.function",comment:"comment"},t="(^|\\s|[\"'(<\\[{\\-/:])",n="(?:$|(?=\\s|[\\\\.,;!?\\-/:\"')>\\]}]))";this.$rules={start:[{token:e.title,regex:"(^)([\\=\\-`:\\.'\"~\\^_\\*\\+#])(\\2{2,}\\s*$)"},{token:["text",e.directive,e.literal],regex:"(^\\s*\\.\\. )([^: ]+::)(.*$)",next:"codeblock"},{token:e.directive,regex:"::$",next:"codeblock"},{token:[e.entity,e.link],regex:"(^\\.\\. _[^:]+:)(.*$)"},{token:[e.entity,e.link],regex:"(^__ )(https?://.*$)"},{token:e.entity,regex:"^\\.\\. \\[[^\\]]+\\] "},{token:e.comment,regex:"^\\.\\. .*$",next:"comment"},{token:e.list,regex:"^\\s*[\\*\\+-] "},{token:e.list,regex:"^\\s*(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\. "},{token:e.list,regex:"^\\s*\\(?(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\) "},{token:e.table,regex:"^={2,}(?: +={2,})+$"},{token:e.table,regex:"^\\+-{2,}(?:\\+-{2,})+\\+$"},{token:e.table,regex:"^\\+={2,}(?:\\+={2,})+\\+$"},{token:["text",e.literal],regex:t+"(``)(?=\\S)",next:"code"},{token:["text",e.bold],regex:t+"(\\*\\*)(?=\\S)",next:"bold"},{token:["text",e.italic],regex:t+"(\\*)(?=\\S)",next:"italic"},{token:e.entity,regex:"\\|[\\w\\-]+?\\|"},{token:e.entity,regex:":[\\w-:]+:`\\S",next:"entity"},{token:["text",e.entity],regex:t+"(_`)(?=\\S)",next:"entity"},{token:e.entity,regex:"_[A-Za-z0-9\\-]+?"},{token:["text",e.link],regex:t+"(`)(?=\\S)",next:"link"},{token:e.link,regex:"[A-Za-z0-9\\-]+?__?"},{token:e.link,regex:"\\[[^\\]]+?\\]_"},{token:e.link,regex:"https?://\\S+"},{token:e.table,regex:"\\|"}],codeblock:[{token:e.literal,regex:"^ +.+$",next:"codeblock"},{token:e.literal,regex:"^$",next:"codeblock"},{token:"empty",regex:"",next:"start"}],code:[{token:e.literal,regex:"\\S``"+n,next:"start"},{defaultToken:e.literal}],bold:[{token:e.bold,regex:"\\S\\*\\*"+n,next:"start"},{defaultToken:e.bold}],italic:[{token:e.italic,regex:"\\S\\*"+n,next:"start"},{defaultToken:e.italic}],entity:[{token:e.entity,regex:"\\S`"+n,next:"start"},{defaultToken:e.entity}],link:[{token:e.link,regex:"\\S`__?"+n,next:"start"},{defaultToken:e.link}],comment:[{token:e.comment,regex:"^ +.+$",next:"comment"},{token:e.comment,regex:"^$",next:"comment"},{token:"empty",regex:"",next:"start"}]}};r.inherits(o,s),t.RSTHighlightRules=o}),ace.define("ace/mode/rst",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rst_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rst_highlight_rules").RSTHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.type="text",this.$id="ace/mode/rst"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-ruby.js b/library/ace/mode-ruby.js
new file mode 100644
index 000000000..6afb8d2b9
--- /dev/null
+++ b/library/ace/mode-ruby.js
@@ -0,0 +1 @@
+ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},[{regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren.lparen";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/\#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"string.character",regex:"\\B\\?."},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ruby_highlight_rules").RubyHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def|module)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else|when)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+(end|else)$/.test(t+n)||this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){var r=t.getLine(n);if(/}/.test(r))return this.$outdent.autoOutdent(t,n);var i=this.$getIndent(r),s=t.getLine(n-1),o=this.$getIndent(s),a=t.getTabString();o.length<=i.length&&i.slice(-a.length)==a&&t.remove(new u(n,i.length-a.length,n,i.length))},this.$id="ace/mode/ruby"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-rust.js b/library/ace/mode-rust.js
new file mode 100644
index 000000000..49b7c4caa
--- /dev/null
+++ b/library/ace/mode-rust.js
@@ -0,0 +1 @@
+ace.define("ace/mode/rust_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=/\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source,o=function(){this.$rules={start:[{token:"variable.other.source.rust",regex:"'[a-zA-Z_][a-zA-Z0-9_]*(?![\\'])"},{token:"string.quoted.single.source.rust",regex:"'(?:[^'\\\\]|"+s+")'"},{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-1,t),"string.quoted.raw.source.rust"},regex:/r#*"/,next:[{onMatch:function(e,t,n){var r="string.quoted.raw.source.rust";return e.length>=n[1]?(e.length>n[1]&&(r="invalid"),n.shift(),n.shift(),this.next=n.shift()):this.next="",r},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:s},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)([a-zA-Z_][a-zA-Z0-9_]*)"},{token:"support.constant",regex:"\\b[a-zA-Z_][\\w\\d]*::"},{token:"keyword.source.rust",regex:"\\b(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\\b"},{token:"storage.type.source.rust",regex:"\\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t)\\b"},{token:"variable.language.source.rust",regex:"\\bself\\b"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/},{token:"punctuation.operator",regex:/[?:,;.]/},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"constant.language.source.rust",regex:"\\b(?:true|false|Some|None|Ok|Err)\\b"},{token:"support.constant.source.rust",regex:"\\b(?:EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO)\\b"},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{token:"constant.numeric.source.rust",regex:/(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64))?\b/},{token:"constant.numeric.source.rust",regex:/(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.normalizeRules()};o.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(o,i),t.RustHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rust_highlight_rules").RustHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-sass.js b/library/ace/mode-sass.js
new file mode 100644
index 000000000..91a991d6d
--- /dev/null
+++ b/library/ace/mode-sass.js
@@ -0,0 +1 @@
+ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i<s;i++)Array.prototype.push.apply(r,(e[i]+t.join("|"+e[i])).split("|"));return Array.prototype.push.apply(r,t),Array.prototype.push.apply(r,n),r}()),t=i.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unqoute".split("|")),n=i.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),r=i.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),s=i.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),o=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),u="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:u+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:u},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(i){return e.hasOwnProperty(i.toLowerCase())?"support.type":s.hasOwnProperty(i)?"keyword":n.hasOwnProperty(i)?"constant.language":t.hasOwnProperty(i)?"support.function":r.hasOwnProperty(i.toLowerCase())?"support.constant.color":o.hasOwnProperty(i.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/sass_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/scss_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./scss_highlight_rules").ScssHighlightRules,o=function(){s.call(this);var e=this.$rules.start;e[1].token=="comment"&&(e.splice(1,1,{onMatch:function(e,t,n){return n.unshift(this.next,-1,e.length-2,t),"comment"},regex:/^\s*\/\*/,next:"comment"},{token:"error.invalid",regex:"/\\*|[{;}]"},{token:"support.type",regex:/^\s*:[\w\-]+\s/}),this.$rules.comment=[{regex:/^\s*/,onMatch:function(e,t,n){return n[1]===-1&&(n[1]=Math.max(n[2],e.length-1)),e.length<=n[1]?(n.shift(),n.shift(),n.shift(),this.next=n.shift(),"text"):(this.next="","comment")},next:"start"},{defaultToken:"comment"}])};r.inherits(o,s),t.SassHighlightRules=o}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/sass",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sass_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sass_highlight_rules").SassHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/sass"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-scad.js b/library/ace/mode-scad.js
new file mode 100644
index 000000000..6f7353066
--- /dev/null
+++ b/library/ace/mode-scad.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/scad_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"module|if|else|for","constant.language":"NULL"},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},s.getStartRule("start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant",regex:"<[a-zA-Z0-9.]+>"},{token:"keyword",regex:"(?:use|include)"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(u,o),t.scadHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/scad",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scad_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scad_highlight_rules").scadHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scad"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-scala.js b/library/ace/mode-scala.js
new file mode 100644
index 000000000..0f1a09a28
--- /dev/null
+++ b/library/ace/mode-scala.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/scala_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="case|default|do|else|for|if|match|while|throw|return|try|trye|catch|finally|yield|abstract|class|def|extends|final|forSome|implicit|implicits|import|lazy|new|object|null|override|package|private|protected|sealed|super|this|trait|type|val|var|with|assert|assume|require|print|println|printf|readLine|readBoolean|readByte|readShort|readChar|readInt|readLong|readFloat|readDouble",t="true|false",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object|Unit|Any|AnyVal|AnyRef|Null|ScalaObject|Singleton|Seq|Iterable|List|Option|Array|Char|Byte|Int|Long|Nothing|App|Application|BufferedIterator|BigDecimal|BigInt|Console|Either|Enumeration|Equiv|Fractional|Function|IndexedSeq|Integral|Iterator|Map|Numeric|Nil|NotNull|Ordered|Ordering|PartialFunction|PartialOrdering|Product|Proxy|Range|Responder|Seq|Serializable|Set|Specializable|Stream|StringContext|Symbol|Traversable|TraversableOnce|Tuple|Vector|Pair|Triple",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"support.function":n,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'"""',next:"tstring"},{token:"string",regex:'"(?=.)',next:"string"},{token:"symbol.constant",regex:"'[\\w\\d_]+"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],string:[{token:"escape",regex:'\\\\"'},{token:"string",regex:'"',next:"start"},{token:"string.invalid",regex:'[^"\\\\]*$',next:"start"},{token:"string",regex:'[^"\\\\]+'}],tstring:[{token:"string",regex:'"{3,5}',next:"start"},{token:"string",regex:".+?"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.ScalaHighlightRules=o}),ace.define("ace/mode/scala",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/scala_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./scala_highlight_rules").ScalaHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/scala"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-scheme.js b/library/ace/mode-scheme.js
new file mode 100644
index 000000000..b4a8553dd
--- /dev/null
+++ b/library/ace/mode-scheme.js
@@ -0,0 +1 @@
+ace.define("ace/mode/scheme_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq?|eqv?|equal?|and|or|not|null?",n="#t|#f",r="cons|car|cdr|cond|lambda|lambda*|syntax-rules|format|set!|quote|eval|append|list|list?|member?|load",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.scheme","text","entity.name.function.scheme"],regex:"(?:\\b(?:(define|define-syntax|define-macro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:"punctuation.definition.constant.character.scheme",regex:"#:\\S+"},{token:["punctuation.definition.variable.scheme","variable.other.global.scheme","punctuation.definition.variable.scheme"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"#[xXoObB][0-9a-fA-F]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?"},{token:i,regex:"[a-zA-Z_#][a-zA-Z0-9_\\-\\?\\!\\*]*"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.scheme",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+',merge:!0},{token:"string",regex:"\\\\$",next:"qqstring",merge:!0},{token:"string",regex:'"|$',next:"start",merge:!0}]}};r.inherits(s,i),t.SchemeHighlightRules=s}),ace.define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\)/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\))/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(i.prototype),t.MatchingParensOutdent=i}),ace.define("ace/mode/scheme",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scheme_highlight_rules","ace/mode/matching_parens_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scheme_highlight_rules").SchemeHighlightRules,o=e("./matching_parens_outdent").MatchingParensOutdent,u=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(u,i),function(){this.lineCommentStart=";",this.minorIndentFunctions=["define","lambda","define-macro","define-syntax","syntax-rules","define-record-type","define-structure"],this.$toIndent=function(e){return e.split("").map(function(e){return/\s/.exec(e)?e:" "}).join("")},this.$calculateIndent=function(e,t){var n=this.$getIndent(e),r=0,i,s;for(var o=e.length-1;o>=0;o--){s=e[o],s==="("?(r--,i=!0):s==="("||s==="["||s==="{"?(r--,i=!1):(s===")"||s==="]"||s==="}")&&r++;if(r<0)break}if(!(r<0&&i))return r<0&&!i?this.$toIndent(e.substring(0,o+1)):r>0?(n=n.substring(0,n.length-t.length),n):n;o+=1;var u=o,a="";for(;;){s=e[o];if(s===" "||s===" ")return this.minorIndentFunctions.indexOf(a)!==-1?this.$toIndent(e.substring(0,u-1)+t):this.$toIndent(e.substring(0,o+1));if(s===undefined)return this.$toIndent(e.substring(0,u-1)+t);a+=e[o],o++}},this.getNextLineIndent=function(e,t,n){return this.$calculateIndent(t,n)},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scheme"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-scss.js b/library/ace/mode-scss.js
new file mode 100644
index 000000000..3bc995004
--- /dev/null
+++ b/library/ace/mode-scss.js
@@ -0,0 +1 @@
+ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i<s;i++)Array.prototype.push.apply(r,(e[i]+t.join("|"+e[i])).split("|"));return Array.prototype.push.apply(r,t),Array.prototype.push.apply(r,n),r}()),t=i.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unqoute".split("|")),n=i.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),r=i.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),s=i.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),o=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),u="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:u+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:u},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(i){return e.hasOwnProperty(i.toLowerCase())?"support.type":s.hasOwnProperty(i)?"keyword":n.hasOwnProperty(i)?"constant.language":t.hasOwnProperty(i)?"support.function":r.hasOwnProperty(i.toLowerCase())?"support.constant.color":o.hasOwnProperty(i.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scss_highlight_rules").ScssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scss"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-sh.js b/library/ace/mode-sh.js
new file mode 100644
index 000000000..fcfbe94e9
--- /dev/null
+++ b/library/ace/mode-sh.js
@@ -0,0 +1 @@
+ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z_][a-zA-Z0-9_]*",c="(?:"+l+"=)",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[4]),[{type:"constant",value:i[1]},{type:"text",value:i[2]},{type:"string",value:i[3]},{type:"support.class",value:i[4]},{type:"string",value:i[5]}]},rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:h},{token:"variable",regex:c},{include:"variables"},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sh_highlight_rules").ShHighlightRules,o=e("../range").Range,u=e("./folding/cstyle").FoldMode,a=e("./behaviour/cstyle").CstyleBehaviour,f=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new a};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new o(n,r.length-i.length,n,r.length))},this.$id="ace/mode/sh"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-sjs.js b/library/ace/mode-sjs.js
new file mode 100644
index 000000000..4a46c3445
--- /dev/null
+++ b/library/ace/mode-sjs.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/sjs_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=new i({noES6:!0}),t="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",n=function(e){return e.isContextAware=!0,e},r=function(e){return{token:e.token,regex:e.regex,next:n(function(t,n){return n.length===0&&n.unshift(t),n.unshift(e.next),e.next})}},s=function(e){return{token:e.token,regex:e.regex,next:n(function(e,t){return t.shift(),t[0]||"start"})}};this.$rules=e.$rules,this.$rules.no_regex=[{token:"keyword",regex:"(waitfor|or|and|collapse|spawn|retract)\\b"},{token:"keyword.operator",regex:"(->|=>|\\.\\.)"},{token:"variable.language",regex:"(hold|default)\\b"},r({token:"string",regex:"`",next:"bstring"}),r({token:"string",regex:'"',next:"qqstring"}),r({token:"string",regex:'"',next:"qqstring"}),{token:["paren.lparen","text","paren.rparen"],regex:"(\\{)(\\s*)(\\|)",next:"block_arguments"}].concat(this.$rules.no_regex),this.$rules.block_arguments=[{token:"paren.rparen",regex:"\\|",next:"no_regex"}].concat(this.$rules.function_arguments),this.$rules.bstring=[{token:"constant.language.escape",regex:t},{token:"string",regex:"\\\\$",next:"bstring"},r({token:"paren.lparen",regex:"\\$\\{",next:"string_interp"}),r({token:"paren.lparen",regex:"\\$",next:"bstring_interp_single"}),s({token:"string",regex:"`"}),{defaultToken:"string"}],this.$rules.qqstring=[{token:"constant.language.escape",regex:t},{token:"string",regex:"\\\\$",next:"qqstring"},r({token:"paren.lparen",regex:"#\\{",next:"string_interp"}),s({token:"string",regex:'"'}),{defaultToken:"string"}];var o=[];for(var u=0;u<this.$rules.no_regex.length;u++){var a=this.$rules.no_regex[u],f=String(a.token);f.indexOf("paren")==-1&&(!a.next||a.next.isContextAware)&&o.push(a)}this.$rules.string_interp=[s({token:"paren.rparen",regex:"\\}"}),r({token:"paren.lparen",regex:"{",next:"string_interp"})].concat(o),this.$rules.bstring_interp_single=[{token:["identifier","paren.lparen"],regex:"(\\w+)(\\()",next:"bstring_interp_single_call"},s({token:"identifier",regex:"\\w*"})],this.$rules.bstring_interp_single_call=[r({token:"paren.lparen",regex:"\\(",next:"bstring_interp_single_call"}),s({token:"paren.rparen",regex:"\\)"})].concat(o)};r.inherits(o,s),t.SJSHighlightRules=o}),ace.define("ace/mode/sjs",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/sjs_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./sjs_highlight_rules").SJSHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/sjs"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-smarty.js b/library/ace/mode-smarty.js
new file mode 100644
index 000000000..df8a5b09d
--- /dev/null
+++ b/library/ace/mode-smarty.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/smarty_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this);var e={start:[{include:"#comments"},{include:"#blocks"}],"#blocks":[{token:"punctuation.section.embedded.begin.smarty",regex:"\\{%?",push:[{token:"punctuation.section.embedded.end.smarty",regex:"%?\\}",next:"pop"},{include:"#strings"},{include:"#variables"},{include:"#lang"},{defaultToken:"source.smarty"}]}],"#comments":[{token:["punctuation.definition.comment.smarty","comment.block.smarty"],regex:"(\\{%?)(\\*)",push:[{token:"comment.block.smarty",regex:"\\*%?\\}",next:"pop"},{defaultToken:"comment.block.smarty"}]}],"#lang":[{token:"keyword.operator.smarty",regex:"(?:!=|!|<=|>=|<|>|===|==|%|&&|\\|\\|)|\\b(?:and|or|eq|neq|ne|gte|gt|ge|lte|lt|le|not|mod)\\b"},{token:"constant.language.smarty",regex:"\\b(?:TRUE|FALSE|true|false)\\b"},{token:"keyword.control.smarty",regex:"\\b(?:if|else|elseif|foreach|foreachelse|section|switch|case|break|default)\\b"},{token:"variable.parameter.smarty",regex:"\\b[a-zA-Z]+="},{token:"support.function.built-in.smarty",regex:"\\b(?:capture|config_load|counter|cycle|debug|eval|fetch|include_php|include|insert|literal|math|strip|rdelim|ldelim|assign|constant|block|html_[a-z_]*)\\b"},{token:"support.function.variable-modifier.smarty",regex:"\\|(?:capitalize|cat|count_characters|count_paragraphs|count_sentences|count_words|date_format|default|escape|indent|lower|nl2br|regex_replace|replace|spacify|string_format|strip_tags|strip|truncate|upper|wordwrap)"}],"#strings":[{token:"punctuation.definition.string.begin.smarty",regex:"'",push:[{token:"punctuation.definition.string.end.smarty",regex:"'",next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.single.smarty"}]},{token:"punctuation.definition.string.begin.smarty",regex:'"',push:[{token:"punctuation.definition.string.end.smarty",regex:'"',next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.double.smarty"}]}],"#variables":[{token:["punctuation.definition.variable.smarty","variable.other.global.smarty"],regex:"\\b(\\$)(Smarty\\.)"},{token:["punctuation.definition.variable.smarty","variable.other.smarty"],regex:"(\\$)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","variable.other.property.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","meta.function-call.object.smarty","punctuation.definition.variable.smarty","variable.other.smarty","punctuation.definition.variable.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\()(.*?)(\\))"}]},t=e.start;for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],t);Object.keys(e).forEach(function(t){this.$rules[t]||(this.$rules[t]=e[t])},this),this.normalizeRules()};s.metaData={fileTypes:["tpl"],foldingStartMarker:"\\{%?",foldingStopMarker:"%?\\}",name:"Smarty",scopeName:"text.html.smarty"},r.inherits(s,i),t.SmartyHighlightRules=s}),ace.define("ace/mode/smarty",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/smarty_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./smarty_highlight_rules").SmartyHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/smarty"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-snippets.js b/library/ace/mode-snippets.js
new file mode 100644
index 000000000..09fea16e2
--- /dev/null
+++ b/library/ace/mode-snippets.js
@@ -0,0 +1 @@
+ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/snippets",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="SELECTION|CURRENT_WORD|SELECTED_TEXT|CURRENT_LINE|LINE_INDEX|LINE_NUMBER|SOFT_TABS|TAB_SIZE|FILENAME|FILEPATH|FULLNAME";this.$rules={start:[{token:"constant.language.escape",regex:/\\[\$}`\\]/},{token:"keyword",regex:"\\$(?:TM_)?(?:"+e+")\\b"},{token:"variable",regex:"\\$\\w+"},{onMatch:function(e,t,n){return n[1]?n[1]++:n.unshift(t,1),this.tokenName},tokenName:"markup.list",regex:"\\${",next:"varDecl"},{onMatch:function(e,t,n){return n[1]?(n[1]--,n[1]||n.splice(0,2),this.tokenName):"text"},tokenName:"markup.list",regex:"}"},{token:"doc.comment",regex:/^\${2}-{5,}$/}],varDecl:[{regex:/\d+\b/,token:"constant.numeric"},{token:"keyword",regex:"(?:TM_)?(?:"+e+")\\b"},{token:"variable",regex:"\\w+"},{regex:/:/,token:"punctuation.operator",next:"start"},{regex:/\//,token:"string.regex",next:"regexp"},{regex:"",next:"start"}],regexp:[{regex:/\\./,token:"escape"},{regex:/\[/,token:"regex.start",next:"charClass"},{regex:"/",token:"string.regex",next:"format"},{token:"string.regex",regex:"."}],charClass:[{regex:"\\.",token:"escape"},{regex:"\\]",token:"regex.end",next:"regexp"},{token:"string.regex",regex:"."}],format:[{regex:/\\[ulULE]/,token:"keyword"},{regex:/\$\d+/,token:"variable"},{regex:"/[gim]*:?",token:"string.regex",next:"start"},{token:"string",regex:"."}]}};r.inherits(o,s),t.SnippetHighlightRules=o;var u=function(){this.$rules={start:[{token:"text",regex:"^\\t",next:"sn-start"},{token:"invalid",regex:/^ \s*/},{token:"comment",regex:/^#.*/},{token:"constant.language.escape",regex:"^regex ",next:"regex"},{token:"constant.language.escape",regex:"^(trigger|endTrigger|name|snippet|guard|endGuard|tabTrigger|key)\\b"}],regex:[{token:"text",regex:"\\."},{token:"keyword",regex:"/"},{token:"empty",regex:"$",next:"start"}]},this.embedRules(o,"sn-",[{token:"text",regex:"^\\t",next:"sn-start"},{onMatch:function(e,t,n){return n.splice(n.length),this.tokenName},tokenName:"text",regex:"^(?! )",next:"start"}])};r.inherits(u,s),t.SnippetGroupHighlightRules=u;var a=e("./folding/coffee").FoldMode,f=function(){this.HighlightRules=u,this.foldingRules=new a};r.inherits(f,i),function(){this.$indentWithTabs=!0,this.lineCommentStart="#",this.$id="ace/mode/snippets"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-soy_template.js b/library/ace/mode-soy_template.js
new file mode 100644
index 000000000..fcc7afaba
--- /dev/null
+++ b/library/ace/mode-soy_template.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/soy_template_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this);var e={start:[{include:"#template"},{include:"#if"},{include:"#comment-line"},{include:"#comment-block"},{include:"#comment-doc"},{include:"#call"},{include:"#css"},{include:"#param"},{include:"#print"},{include:"#msg"},{include:"#for"},{include:"#foreach"},{include:"#switch"},{include:"#tag"},{include:"text.html.basic"}],"#call":[{token:["punctuation.definition.tag.begin.soy","meta.tag.call.soy"],regex:"(\\{/?)(\\s*)(?=call|delcall)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{token:["entity.name.tag.soy","variable.parameter.soy"],regex:"(call|delcall)(\\s+[\\.\\w]+)"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b(data)(\\s*)(=)"},{defaultToken:"meta.tag.call.soy"}]}],"#comment-line":[{token:["comment.line.double-slash.soy","comment.line.double-slash.soy"],regex:"(//)(.*$)"}],"#comment-block":[{token:"punctuation.definition.comment.begin.soy",regex:"/\\*(?!\\*)",push:[{token:"punctuation.definition.comment.end.soy",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.soy"}]}],"#comment-doc":[{token:"punctuation.definition.comment.begin.soy",regex:"/\\*\\*(?!/)",push:[{token:"punctuation.definition.comment.end.soy",regex:"\\*/",next:"pop"},{token:["support.type.soy","text","variable.parameter.soy"],regex:"(@param|@param\\?)(\\s+)(\\w+)"},{defaultToken:"comment.block.documentation.soy"}]}],"#css":[{token:["punctuation.definition.tag.begin.soy","meta.tag.css.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(css)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"support.constant.soy",regex:"\\b(?:LITERAL|REFERENCE|BACKEND_SPECIFIC|GOOG)\\b"},{defaultToken:"meta.tag.css.soy"}]}],"#for":[{token:["punctuation.definition.tag.begin.soy","meta.tag.for.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(for)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"keyword.operator.soy",regex:"\\bin\\b"},{token:"support.function.soy",regex:"\\brange\\b"},{include:"#variable"},{include:"#number"},{include:"#primitive"},{defaultToken:"meta.tag.for.soy"}]}],"#foreach":[{token:["punctuation.definition.tag.begin.soy","meta.tag.foreach.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(foreach)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"keyword.operator.soy",regex:"\\bin\\b"},{include:"#variable"},{defaultToken:"meta.tag.foreach.soy"}]}],"#function":[{token:"support.function.soy",regex:"\\b(?:isFirst|isLast|index|hasData|length|keys|round|floor|ceiling|min|max|randomInt)\\b"}],"#if":[{token:["punctuation.definition.tag.begin.soy","meta.tag.if.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(if|elseif)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#operator"},{include:"#function"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{defaultToken:"meta.tag.if.soy"}]}],"#namespace":[{token:["entity.name.tag.soy","text","variable.parameter.soy"],regex:"(namespace|delpackage)(\\s+)([\\w\\.]+)"}],"#number":[{token:"constant.numeric",regex:"[\\d]+"}],"#operator":[{token:"keyword.operator.soy",regex:"==|!=|\\band\\b|\\bor\\b|\\bnot\\b|-|\\+|/|\\?:"}],"#param":[{token:["punctuation.definition.tag.begin.soy","meta.tag.param.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(param)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b([\\w]+)(\\s*)((?::)?)"},{defaultToken:"meta.tag.param.soy"}]}],"#primitive":[{token:"constant.language.soy",regex:"\\b(?:null|false|true)\\b"}],"#msg":[{token:["punctuation.definition.tag.begin.soy","meta.tag.msg.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(msg)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b(meaning|desc)(\\s*)(=)"},{defaultToken:"meta.tag.msg.soy"}]}],"#print":[{token:["punctuation.definition.tag.begin.soy","meta.tag.print.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(print)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#print-parameter"},{include:"#number"},{include:"#primitive"},{include:"#attribute-lookup"},{defaultToken:"meta.tag.print.soy"}]}],"#print-parameter":[{token:"keyword.operator.soy",regex:"\\|"},{token:"variable.parameter.soy",regex:"noAutoescape|id|escapeHtml|escapeJs|insertWorkBreaks|truncate"}],"#special-character":[{token:"support.constant.soy",regex:"\\bsp\\b|\\bnil\\b|\\\\r|\\\\n|\\\\t|\\blb\\b|\\brb\\b"}],"#string-quoted-double":[{token:"string.quoted.double",regex:'"[^"]*"'}],"#string-quoted-single":[{token:"string.quoted.single",regex:"'[^']*'"}],"#switch":[{token:["punctuation.definition.tag.begin.soy","meta.tag.switch.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(switch|case)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#function"},{include:"#number"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{defaultToken:"meta.tag.switch.soy"}]}],"#attribute-lookup":[{token:"punctuation.definition.attribute-lookup.begin.soy",regex:"\\[",push:[{token:"punctuation.definition.attribute-lookup.end.soy",regex:"\\]",next:"pop"},{include:"#variable"},{include:"#function"},{include:"#operator"},{include:"#number"},{include:"#primitive"},{include:"#string-quoted-single"},{include:"#string-quoted-double"}]}],"#tag":[{token:"punctuation.definition.tag.begin.soy",regex:"\\{",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#namespace"},{include:"#variable"},{include:"#special-character"},{include:"#tag-simple"},{include:"#function"},{include:"#operator"},{include:"#attribute-lookup"},{include:"#number"},{include:"#primitive"},{include:"#print-parameter"}]}],"#tag-simple":[{token:"entity.name.tag.soy",regex:"{{\\s*(?:literal|else|ifempty|default)\\s*(?=\\})"}],"#template":[{token:["punctuation.definition.tag.begin.soy","meta.tag.template.soy"],regex:"(\\{/?)(\\s*)(?=template|deltemplate)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:["entity.name.tag.soy","text","entity.name.function.soy"],regex:"(template|deltemplate)(\\s+)([\\.\\w]+)",originalRegex:"(?<=template|deltemplate)\\s+([\\.\\w]+)"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.double.soy"],regex:'\\b(private)(\\s*)(=)(\\s*)("true"|"false")'},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.single.soy"],regex:"\\b(private)(\\s*)(=)(\\s*)('true'|'false')"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.double.soy"],regex:'\\b(autoescape)(\\s*)(=)(\\s*)("true"|"false"|"contextual")'},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.single.soy"],regex:"\\b(autoescape)(\\s*)(=)(\\s*)('true'|'false'|'contextual')"},{defaultToken:"meta.tag.template.soy"}]}],"#variable":[{token:"variable.other.soy",regex:"\\$[\\w\\.]+"}]};for(var t in e)this.$rules[t]?this.$rules[t].unshift.apply(this.$rules[t],e[t]):this.$rules[t]=e[t];this.normalizeRules()};s.metaData={comment:"SoyTemplate",fileTypes:["soy"],firstLineMatch:"\\{\\s*namespace\\b",foldingStartMarker:"\\{\\s*template\\s+[^\\}]*\\}",foldingStopMarker:"\\{\\s*/\\s*template\\s*\\}",name:"SoyTemplate",scopeName:"source.soy"},r.inherits(s,i),t.SoyTemplateHighlightRules=s}),ace.define("ace/mode/soy_template",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/soy_template_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./soy_template_highlight_rules").SoyTemplateHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/soy_template"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-space.js b/library/ace/mode-space.js
new file mode 100644
index 000000000..f13e8effe
--- /dev/null
+++ b/library/ace/mode-space.js
@@ -0,0 +1 @@
+ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/space_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"empty_line",regex:/ */,next:"key"},{token:"empty_line",regex:/$/,next:"key"}],key:[{token:"variable",regex:/\S+/},{token:"empty_line",regex:/$/,next:"start"},{token:"keyword.operator",regex:/ /,next:"value"}],value:[{token:"keyword.operator",regex:/$/,next:"start"},{token:"string",regex:/[^$]/}]}};r.inherits(s,i),t.SpaceHighlightRules=s}),ace.define("ace/mode/space",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/folding/coffee","ace/mode/space_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./folding/coffee").FoldMode,o=e("./space_highlight_rules").SpaceHighlightRules,u=function(){this.HighlightRules=o,this.foldingRules=new s};r.inherits(u,i),function(){this.$id="ace/mode/space"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-sql.js b/library/ace/mode-sql.js
new file mode 100644
index 000000000..fd2f9bbb1
--- /dev/null
+++ b/library/ace/mode-sql.js
@@ -0,0 +1 @@
+ace.define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|foreign|not|references|default|null|inner|cross|natural|database|drop|grant",t="true|false",n="avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl",r="int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|money|real|number|integer",i=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t,"storage.type":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"comment",start:"/\\*",end:"\\*/"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};r.inherits(s,i),t.SqlHighlightRules=s}),ace.define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sql_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sql_highlight_rules").SqlHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/sql"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-sqlserver.js b/library/ace/mode-sqlserver.js
new file mode 100644
index 000000000..08b2410a1
--- /dev/null
+++ b/library/ace/mode-sqlserver.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/sqlserver_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="ALL|AND|ANY|BETWEEN|EXISTS|IN|LIKE|NOT|OR|SOME";e+="|NULL|IS|APPLY|INNER|OUTER|LEFT|RIGHT|JOIN|CROSS";var t="OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|AVG|CHECKSUM_AGG|COUNT|COUNT_BIG|GROUPING|GROUPING_ID|MAX|MIN|STDEV|STDEVP|SUM|VAR|VARP|DENSE_RANK|NTILE|RANK|ROW_NUMBER@@DATEFIRST|@@DBTS|@@LANGID|@@LANGUAGE|@@LOCK_TIMEOUT|@@MAX_CONNECTIONS|@@MAX_PRECISION|@@NESTLEVEL|@@OPTIONS|@@REMSERVER|@@SERVERNAME|@@SERVICENAME|@@SPID|@@TEXTSIZE|@@VERSION|CAST|CONVERT|PARSE|TRY_CAST|TRY_CONVERT|TRY_PARSE@@CURSOR_ROWS|@@FETCH_STATUS|CURSOR_STATUS|@@DATEFIRST|@@LANGUAGE|CURRENT_TIMESTAMP|DATEADD|DATEDIFF|DATEFROMPARTS|DATENAME|DATEPART|DATETIME2FROMPARTS|DATETIMEFROMPARTS|DATETIMEOFFSETFROMPARTS|DAY|EOMONTH|GETDATE|GETUTCDATE|ISDATE|MONTH|SET DATEFIRST|SET DATEFORMAT|SET LANGUAGE|SMALLDATETIMEFROMPARTS|SP_HELPLANGUAGE|SWITCHOFFSET|SYSDATETIME|SYSDATETIMEOFFSET|SYSUTCDATETIME|TIMEFROMPARTS|TODATETIMEOFFSET|YEAR|CHOOSE|IIF|ABS|ACOS|ASIN|ATAN|ATN2|CEILING|COS|COT|DEGREES|EXP|FLOOR|LOG|LOG10|PI|POWER|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|SQUARE|TAN|@@PROCID|APPLOCK_MODE|APPLOCK_TEST|APP_NAME|ASSEMBLYPROPERTY|COLUMNPROPERTY|COL_LENGTH|COL_NAME|DATABASEPROPERTYEX|DATABASE_PRINCIPAL_ID|DB_ID|DB_NAME|FILEGROUPPROPERTY|FILEGROUP_ID|FILEGROUP_NAME|FILEPROPERTY|FILE_ID|FILE_IDEX|FILE_NAME|FULLTEXTCATALOGPROPERTY|FULLTEXTSERVICEPROPERTY|INDEXKEY_PROPERTY|INDEXPROPERTY|INDEX_COL|OBJECTPROPERTY|OBJECTPROPERTYEX|OBJECT_DEFINITION|OBJECT_ID|OBJECT_NAME|OBJECT_SCHEMA_NAME|ORIGINAL_DB_NAME|PARSENAME|SCHEMA_ID|SCHEMA_NAME|SCOPE_IDENTITY|SERVERPROPERTY|STATS_DATE|TYPEPROPERTY|TYPE_ID|TYPE_NAME|CERTENCODED|CERTPRIVATEKEY|CURRENT_USER|DATABASE_PRINCIPAL_ID|HAS_PERMS_BY_NAME|IS_MEMBER|IS_ROLEMEMBER|IS_SRVROLEMEMBER|ORIGINAL_LOGIN|PERMISSIONS|PWDCOMPARE|PWDENCRYPT|SCHEMA_ID|SCHEMA_NAME|SESSION_USER|SUSER_ID|SUSER_NAME|SUSER_SID|SUSER_SNAME|SYS.FN_BUILTIN_PERMISSIONS|SYS.FN_GET_AUDIT_FILE|SYS.FN_MY_PERMISSIONS|SYSTEM_USER|USER_ID|USER_NAME|ASCII|CHAR|CHARINDEX|CONCAT|DIFFERENCE|FORMAT|LEN|LOWER|LTRIM|NCHAR|PATINDEX|QUOTENAME|REPLACE|REPLICATE|REVERSE|RTRIM|SOUNDEX|SPACE|STR|STUFF|SUBSTRING|UNICODE|UPPER|$PARTITION|@@ERROR|@@IDENTITY|@@PACK_RECEIVED|@@ROWCOUNT|@@TRANCOUNT|BINARY_CHECKSUM|CHECKSUM|CONNECTIONPROPERTY|CONTEXT_INFO|CURRENT_REQUEST_ID|ERROR_LINE|ERROR_MESSAGE|ERROR_NUMBER|ERROR_PROCEDURE|ERROR_SEVERITY|ERROR_STATE|FORMATMESSAGE|GETANSINULL|GET_FILESTREAM_TRANSACTION_CONTEXT|HOST_ID|HOST_NAME|ISNULL|ISNUMERIC|MIN_ACTIVE_ROWVERSION|NEWID|NEWSEQUENTIALID|ROWCOUNT_BIG|XACT_STATE|@@CONNECTIONS|@@CPU_BUSY|@@IDLE|@@IO_BUSY|@@PACKET_ERRORS|@@PACK_RECEIVED|@@PACK_SENT|@@TIMETICKS|@@TOTAL_ERRORS|@@TOTAL_READ|@@TOTAL_WRITE|FN_VIRTUALFILESTATS|PATINDEX|TEXTPTR|TEXTVALID|COALESCE|NULLIF",n="BIGINT|BINARY|BIT|CHAR|CURSOR|DATE|DATETIME|DATETIME2|DATETIMEOFFSET|DECIMAL|FLOAT|HIERARCHYID|IMAGE|INTEGER|INT|MONEY|NCHAR|NTEXT|NUMERIC|NVARCHAR|REAL|SMALLDATETIME|SMALLINT|SMALLMONEY|SQL_VARIANT|TABLE|TEXT|TIME|TIMESTAMP|TINYINT|UNIQUEIDENTIFIER|VARBINARY|VARCHAR|XML",r="sp_addextendedproc|sp_addextendedproperty|sp_addmessage|sp_addtype|sp_addumpdevice|sp_add_data_file_recover_suspect_db|sp_add_log_file_recover_suspect_db|sp_altermessage|sp_attach_db|sp_attach_single_file_db|sp_autostats|sp_bindefault|sp_bindrule|sp_bindsession|sp_certify_removable|sp_clean_db_file_free_space|sp_clean_db_free_space|sp_configure|sp_control_plan_guide|sp_createstats|sp_create_plan_guide|sp_create_plan_guide_from_handle|sp_create_removable|sp_cycle_errorlog|sp_datatype_info|sp_dbcmptlevel|sp_dbmmonitoraddmonitoring|sp_dbmmonitorchangealert|sp_dbmmonitorchangemonitoring|sp_dbmmonitordropalert|sp_dbmmonitordropmonitoring|sp_dbmmonitorhelpalert|sp_dbmmonitorhelpmonitoring|sp_dbmmonitorresults|sp_db_increased_partitions|sp_delete_backuphistory|sp_depends|sp_describe_first_result_set|sp_describe_undeclared_parameters|sp_detach_db|sp_dropdevice|sp_dropextendedproc|sp_dropextendedproperty|sp_dropmessage|sp_droptype|sp_execute|sp_executesql|sp_getapplock|sp_getbindtoken|sp_help|sp_helpconstraint|sp_helpdb|sp_helpdevice|sp_helpextendedproc|sp_helpfile|sp_helpfilegroup|sp_helpindex|sp_helplanguage|sp_helpserver|sp_helpsort|sp_helpstats|sp_helptext|sp_helptrigger|sp_indexoption|sp_invalidate_textptr|sp_lock|sp_monitor|sp_prepare|sp_prepexec|sp_prepexecrpc|sp_procoption|sp_recompile|sp_refreshview|sp_releaseapplock|sp_rename|sp_renamedb|sp_resetstatus|sp_sequence_get_range|sp_serveroption|sp_setnetname|sp_settriggerorder|sp_spaceused|sp_tableoption|sp_unbindefault|sp_unbindrule|sp_unprepare|sp_updateextendedproperty|sp_updatestats|sp_validname|sp_who|sys.sp_merge_xtp_checkpoint_files|sys.sp_xtp_bind_db_resource_pool|sys.sp_xtp_checkpoint_force_garbage_collection|sys.sp_xtp_control_proc_exec_stats|sys.sp_xtp_control_query_exec_stats|sys.sp_xtp_unbind_db_resource_pool",s="ABSOLUTE|ACTION|ADA|ADD|ADMIN|AFTER|AGGREGATE|ALIAS|ALL|ALLOCATE|ALTER|AND|ANY|ARE|ARRAY|AS|ASC|ASENSITIVE|ASSERTION|ASYMMETRIC|AT|ATOMIC|AUTHORIZATION|BACKUP|BEFORE|BEGIN|BETWEEN|BIT_LENGTH|BLOB|BOOLEAN|BOTH|BREADTH|BREAK|BROWSE|BULK|BY|CALL|CALLED|CARDINALITY|CASCADE|CASCADED|CASE|CATALOG|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CHECKPOINT|CLASS|CLOB|CLOSE|CLUSTERED|COALESCE|COLLATE|COLLATION|COLLECT|COLUMN|COMMIT|COMPLETION|COMPUTE|CONDITION|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONTAINS|CONTAINSTABLE|CONTINUE|CORR|CORRESPONDING|COVAR_POP|COVAR_SAMP|CREATE|CROSS|CUBE|CUME_DIST|CURRENT|CURRENT_CATALOG|CURRENT_DATE|CURRENT_DEFAULT_TRANSFORM_GROUP|CURRENT_PATH|CURRENT_ROLE|CURRENT_SCHEMA|CURRENT_TIME|CURRENT_TRANSFORM_GROUP_FOR_TYPE|CYCLE|DATA|DATABASE|DBCC|DEALLOCATE|DEC|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DELETE|DENY|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DETERMINISTIC|DIAGNOSTICS|DICTIONARY|DISCONNECT|DISK|DISTINCT|DISTRIBUTED|DOMAIN|DOUBLE|DROP|DUMP|DYNAMIC|EACH|ELEMENT|ELSE|END|END-EXEC|EQUALS|ERRLVL|ESCAPE|EVERY|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXIT|EXTERNAL|EXTRACT|FETCH|FILE|FILLFACTOR|FILTER|FIRST|FOR|FOREIGN|FORTRAN|FOUND|FREE|FREETEXT|FREETEXTTABLE|FROM|FULL|FULLTEXTTABLE|FUNCTION|FUSION|GENERAL|GET|GLOBAL|GO|GOTO|GRANT|GROUP|HAVING|HOLD|HOLDLOCK|HOST|HOUR|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IGNORE|IMMEDIATE|IN|INCLUDE|INDEX|INDICATOR|INITIALIZE|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INTEGER|INTERSECT|INTERSECTION|INTERVAL|INTO|IS|ISOLATION|ITERATE|JOIN|KEY|KILL|LANGUAGE|LARGE|LAST|LATERAL|LEADING|LESS|LEVEL|LIKE|LIKE_REGEX|LIMIT|LINENO|LN|LOAD|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOCATOR|MAP|MATCH|MEMBER|MERGE|METHOD|MINUTE|MOD|MODIFIES|MODIFY|MODULE|MULTISET|NAMES|NATIONAL|NATURAL|NCLOB|NEW|NEXT|NO|NOCHECK|NONCLUSTERED|NONE|NORMALIZE|NOT|NULL|NULLIF|OBJECT|OCCURRENCES_REGEX|OCTET_LENGTH|OF|OFF|OFFSETS|OLD|ON|ONLY|OPEN|OPERATION|OPTION|OR|ORDER|ORDINALITY|OUT|OUTER|OUTPUT|OVER|OVERLAPS|OVERLAY|PAD|PARAMETER|PARAMETERS|PARTIAL|PARTITION|PASCAL|PATH|PERCENT|PERCENTILE_CONT|PERCENTILE_DISC|PERCENT_RANK|PIVOT|PLAN|POSITION|POSITION_REGEX|POSTFIX|PRECISION|PREFIX|PREORDER|PREPARE|PRESERVE|PRIMARY|PRINT|PRIOR|PRIVILEGES|PROC|PROCEDURE|PUBLIC|RAISERROR|RANGE|READ|READS|READTEXT|RECONFIGURE|RECURSIVE|REF|REFERENCES|REFERENCING|REGR_AVGX|REGR_AVGY|REGR_COUNT|REGR_INTERCEPT|REGR_R2|REGR_SLOPE|REGR_SXX|REGR_SXY|REGR_SYY|RELATIVE|RELEASE|REPLICATION|RESTORE|RESTRICT|RESULT|RETURN|RETURNS|REVERT|REVOKE|ROLE|ROLLBACK|ROLLUP|ROUTINE|ROW|ROWCOUNT|ROWGUIDCOL|ROWS|RULE|SAVE|SAVEPOINT|SCHEMA|SCOPE|SCROLL|SEARCH|SECOND|SECTION|SECURITYAUDIT|SELECT|SEMANTICKEYPHRASETABLE|SEMANTICSIMILARITYDETAILSTABLE|SEMANTICSIMILARITYTABLE|SENSITIVE|SEQUENCE|SESSION|SET|SETS|SETUSER|SHUTDOWN|SIMILAR|SIZE|SOME|SPECIFIC|SPECIFICTYPE|SQL|SQLCA|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STATE|STATEMENT|STATIC|STATISTICS|STDDEV_POP|STDDEV_SAMP|STRUCTURE|SUBMULTISET|SUBSTRING_REGEX|SYMMETRIC|SYSTEM|TABLESAMPLE|TEMPORARY|TERMINATE|TEXTSIZE|THAN|THEN|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TOP|TRAILING|TRAN|TRANSACTION|TRANSLATE|TRANSLATE_REGEX|TRANSLATION|TREAT|TRIGGER|TRIM|TRUNCATE|TSEQUAL|UESCAPE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNPIVOT|UPDATE|UPDATETEXT|USAGE|USE|USER|USING|VALUE|VALUES|VARIABLE|VARYING|VAR_POP|VAR_SAMP|VIEW|WAITFOR|WHEN|WHENEVER|WHERE|WHILE|WIDTH_BUCKET|WINDOW|WITH|WITHIN|WITHIN GROUP|WITHOUT|WORK|WRITE|WRITETEXT|XMLAGG|XMLATTRIBUTES|XMLBINARY|XMLCAST|XMLCOMMENT|XMLCONCAT|XMLDOCUMENT|XMLELEMENT|XMLEXISTS|XMLFOREST|XMLITERATE|XMLNAMESPACES|XMLPARSE|XMLPI|XMLQUERY|XMLSERIALIZE|XMLTABLE|XMLTEXT|XMLVALIDATE|ZONE";s+="|KEEPIDENTITY|KEEPDEFAULTS|IGNORE_CONSTRAINTS|IGNORE_TRIGGERS|XLOCK|FORCESCAN|FORCESEEK|HOLDLOCK|NOLOCK|NOWAIT|PAGLOCK|READCOMMITTED|READCOMMITTEDLOCK|READPAST|READUNCOMMITTED|REPEATABLEREAD|ROWLOCK|SERIALIZABLE|SNAPSHOT|SPATIAL_WINDOW_MAX_CELLS|TABLOCK|TABLOCKX|UPDLOCK|XLOCK|IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX|EXPAND|VIEWS|FAST|FORCE|KEEP|KEEPFIXED|MAXDOP|MAXRECURSION|OPTIMIZE|PARAMETERIZATION|SIMPLE|FORCED|RECOMPILE|ROBUST|PLAN|SPATIAL_WINDOW_MAX_CELLS|NOEXPAND|HINT",s+="|LOOP|HASH|MERGE|REMOTE",s+="|TRY|CATCH|THROW",s+="|TYPE",s=s.split("|"),s=s.filter(function(r,i,s){return e.split("|").indexOf(r)===-1&&t.split("|").indexOf(r)===-1&&n.split("|").indexOf(r)===-1}),s=s.sort().join("|");var o=this.createKeywordMapper({"constant.language":e,"storage.type":n,"support.function":t,"support.storedprocedure":r,keyword:s},"identifier",!0),u="SET ANSI_DEFAULTS|SET ANSI_NULLS|SET ANSI_NULL_DFLT_OFF|SET ANSI_NULL_DFLT_ON|SET ANSI_PADDING|SET ANSI_WARNINGS|SET ARITHABORT|SET ARITHIGNORE|SET CONCAT_NULL_YIELDS_NULL|SET CURSOR_CLOSE_ON_COMMIT|SET DATEFIRST|SET DATEFORMAT|SET DEADLOCK_PRIORITY|SET FIPS_FLAGGER|SET FMTONLY|SET FORCEPLAN|SET IDENTITY_INSERT|SET IMPLICIT_TRANSACTIONS|SET LANGUAGE|SET LOCK_TIMEOUT|SET NOCOUNT|SET NOEXEC|SET NUMERIC_ROUNDABORT|SET OFFSETS|SET PARSEONLY|SET QUERY_GOVERNOR_COST_LIMIT|SET QUOTED_IDENTIFIER|SET REMOTE_PROC_TRANSACTIONS|SET ROWCOUNT|SET SHOWPLAN_ALL|SET SHOWPLAN_TEXT|SET SHOWPLAN_XML|SET STATISTICS IO|SET STATISTICS PROFILE|SET STATISTICS TIME|SET STATISTICS XML|SET TEXTSIZE|SET XACT_ABORT".split("|"),a="READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SNAPSHOP|SERIALIZABLE".split("|");for(var f=0;f<a.length;f++)u.push("SET TRANSACTION ISOLATION LEVEL "+a[f]);this.$rules={start:[{token:"string.start",regex:"'",next:[{token:"constant.language.escape",regex:/''/},{token:"string.end",next:"start",regex:"'"},{defaultToken:"string"}]},i.getStartRule("doc-start"),{token:"comment",regex:"--.*$"},{token:"comment",start:"/\\*",end:"\\*/"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:o,regex:"@{0,2}[a-zA-Z_$][a-zA-Z0-9_$]*\\b(?!])"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=|\\*"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"punctuation",regex:",|;"},{token:"text",regex:"\\s+"}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}]};for(var f=0;f<u.length;f++)this.$rules.start.unshift({token:"set.statement",regex:u[f]});this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules();var l=[],c=function(e,t){e.forEach(function(e){l.push({name:e,value:e,score:0,meta:t})})};c(r.split("|"),"procedure"),c(e.split("|"),"operator"),c(t.split("|"),"function"),c(n.split("|"),"type"),c(u,"statement"),c(s.split("|"),"keyword"),this.completions=l};r.inherits(o,s),t.SqlHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/folding/sqlserver",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./cstyle").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/(\bCASE\b|\bBEGIN\b)|^\s*(\/\*)/i,this.startRegionRe=/^\s*(\/\*|--)#?region\b/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.getBeginEndBlock(e,n,o,s[1]);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;return},this.getBeginEndBlock=function(e,t,n,r){var s={row:t,column:n+r.length},o=e.getLength(),u,a=1,f=/(\bCASE\b|\bBEGIN\b)|(\bEND\b)/i;while(++t<o){u=e.getLine(t);var l=f.exec(u);if(!l)continue;l[1]?a++:a--;if(!a)break}var c=t;if(c>s.row)return new i(s.row,s.column,c,u.length)}}.call(o.prototype)}),ace.define("ace/mode/sqlserver",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sqlserver_highlight_rules","ace/range","ace/mode/folding/sqlserver"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sqlserver_highlight_rules").SqlHighlightRules,o=e("../range").Range,u=e("./folding/sqlserver").FoldMode,a=function(){this.HighlightRules=s,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="--",this.blockComment={start:"/*",end:"*/"},this.getCompletions=function(e,t,n,r){return t.$mode.$highlightRules.completions},this.$id="ace/mode/sql"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-stylus.js b/library/ace/mode-stylus.js
new file mode 100644
index 000000000..3cfff91e0
--- /dev/null
+++ b/library/ace/mode-stylus.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/stylus_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./css_highlight_rules"),o=function(){var e=this.createKeywordMapper({"support.type":s.supportType,"support.function":s.supportFunction,"support.constant":s.supportConstant,"support.constant.color":s.supportConstantColor,"support.constant.fonts":s.supportConstantFonts},"text",!0);this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:["entity.name.function.stylus","text"],regex:"^([-a-zA-Z_][-\\w]*)?(\\()"},{token:["entity.other.attribute-name.class.stylus"],regex:"\\.-?[_a-zA-Z]+[_a-zA-Z0-9-]*"},{token:["entity.language.stylus"],regex:"^ *&"},{token:["variable.language.stylus"],regex:"(arguments)"},{token:["keyword.stylus"],regex:"@[-\\w]+"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:s.pseudoElements},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:s.pseudoClasses},{token:["entity.name.tag.stylus"],regex:"(?:\\b)(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(?:h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|samp|script|section|select|small|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)(?:\\b)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation.definition.entity.stylus","entity.other.attribute-name.id.stylus"],regex:"(#)([a-zA-Z][a-zA-Z0-9_-]*)"},{token:"meta.vendor-prefix.stylus",regex:"-webkit-|-moz\\-|-ms-|-o-"},{token:"keyword.control.stylus",regex:"(?:!important|for|in|return|true|false|null|if|else|unless|return)\\b"},{token:"keyword.operator.stylus",regex:"!|~|\\+|-|(?:\\*)?\\*|\\/|%|(?:\\.)\\.\\.|<|>|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!="},{token:"keyword.operator.stylus",regex:"(?:in|is(?:nt)?|not)\\b"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:s.numRe},{token:"keyword",regex:"(?:ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)\\b"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}],qstring:[{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"}]}};r.inherits(o,i),t.StylusHighlightRules=o}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/stylus",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/stylus_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./stylus_highlight_rules").StylusHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/stylus"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-svg.js b/library/ace/mode-svg.js
new file mode 100644
index 000000000..6dc844f4f
--- /dev/null
+++ b/library/ace/mode-svg.js
@@ -0,0 +1 @@
+ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/xml_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/xml"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/svg_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,o=function(){s.call(this),this.embedTagRules(i,"js-","script"),this.normalizeRules()};r.inherits(o,s),t.SvgHighlightRules=o}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/svg",["require","exports","module","ace/lib/oop","ace/mode/xml","ace/mode/javascript","ace/mode/svg_highlight_rules","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./xml").Mode,s=e("./javascript").Mode,o=e("./svg_highlight_rules").SvgHighlightRules,u=e("./folding/mixed").FoldMode,a=e("./folding/xml").FoldMode,f=e("./folding/cstyle").FoldMode,l=function(){i.call(this),this.HighlightRules=o,this.createModeDelegates({"js-":s}),this.foldingRules=new u(new a,{"js-":new f})};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.$id="ace/mode/svg"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-swift.js b/library/ace/mode-swift.js
new file mode 100644
index 000000000..7324c6bd6
--- /dev/null
+++ b/library/ace/mode-swift.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/swift_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function t(e,t){var n=t.nestable||t.interpolation,r=t.interpolation&&t.interpolation.nextState||"start",s={regex:e+(t.multiline?"":"(?=.)"),token:"string.start"},o=[t.escape&&{regex:t.escape,token:"character.escape"},t.interpolation&&{token:"paren.quasi.start",regex:i.escapeRegExp(t.interpolation.lead+t.interpolation.open),push:r},t.error&&{regex:t.error,token:"error.invalid"},{regex:e+(t.multiline?"":"|$"),token:"string.end",next:n?"pop":"start"},{defaultToken:"string"}].filter(Boolean);n?s.push=o:s.next=o;if(!t.interpolation)return s;var u=t.interpolation.open,a=t.interpolation.close,f={regex:"["+i.escapeRegExp(u+a)+"]",onMatch:function(e,t,n){this.next=e==u?this.nextState:"";if(e==u&&n.length)return n.unshift("start",t),"paren";if(e==a&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e==u?"paren.lparen":"paren.rparen"},nextState:r};return[f,s]}function n(){return[{token:"comment",regex:"\\/\\/(?=.)",next:[s.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}]},s.getStartRule("doc-start"),{token:"comment.start",regex:/\/\*/,stateName:"nested_comment",push:[s.getTagRule(),{token:"comment.start",regex:/\/\*/,push:"nested_comment"},{token:"comment.end",regex:"\\*\\/",next:"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var e=this.createKeywordMapper({"variable.language":"",keyword:"__COLUMN__|__FILE__|__FUNCTION__|__LINE__|as|associativity|break|case|class|continue|default|deinit|didSet|do|dynamicType|else|enum|extension|fallthrough|for|func|get|if|import|in|infix|init|inout|is|left|let|let|mutating|new|none|nonmutating|operator|override|postfix|precedence|prefix|protocol|return|right|safe|Self|self|set|struct|subscript|switch|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|convenience|dynamic|final|infix|lazy|mutating|nonmutating|optional|override|postfix|prefix|required|static|guard|defer","storage.type":"bool|double|Double|extension|float|Float|int|Int|private|public|string|String","constant.language":"false|Infinity|NaN|nil|no|null|null|off|on|super|this|true|undefined|yes","support.function":""},"identifier");this.$rules={start:[t('"',{escape:/\\(?:[0\\tnr"']|u{[a-fA-F1-9]{0,8}})/,interpolation:{lead:"\\",open:"(",close:")"},error:/\\./,multiline:!1}),n({type:"c",nestable:!0}),{regex:/@[a-zA-Z_$][a-zA-Z_$\d\u0080-\ufffe]*/,token:"variable.parameter"},{regex:/[a-zA-Z_$][a-zA-Z_$\d\u0080-\ufffe]*/,token:e},{token:"constant.numeric",regex:/[+-]?(?:0(?:b[01]+|o[0-7]+|x[\da-fA-F])|\d+(?:(?:\.\d*)?(?:[PpEe][+-]?\d+)?)\b)/},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.HighlightRules=u}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/swift",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/swift_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./swift_highlight_rules").HighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new o};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$id="ace/mode/swift"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-swig.js b/library/ace/mode-swig.js
new file mode 100644
index 000000000..3ddc0a7b0
--- /dev/null
+++ b/library/ace/mode-swig.js
@@ -0,0 +1 @@
+ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},n,{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[n,{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]}],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],line_comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],line_comment:[i.getTagRule(),{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/swig",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this);var e="autoescape|block|else|elif|extends|filter|for|if|import|include|macro|parent|raw|set|spaceless";e=e+"|end"+e.replace(/\|/g,"|end");var t="addslashes|capitalize|date|default|escape|first|groupBy|join|json|last|lower|raw|replace|reverse|safe|sort|striptags|title|uniq|upper|url_encode|url_decode",n="first|last|index|index0|revindex|revindex0|key",r="null|none|true|false|loop",i="in|is|and|or|not|as|with|only",o=this.createKeywordMapper({"keyword.control.swig":e,"support.function.swig":t+"|"+n,"keyword.operator.swig":i,"constant.language.swig":r},"identifier");for(var u in this.$rules)this.$rules[u].unshift({token:"variable.other.readwrite.local.swig",regex:"\\{\\{-?",push:"swig-start"},{token:"meta.tag.swig",regex:"\\{%-?",push:"swig-start"},{token:"comment.block.swig",regex:"\\{#-?",push:"swig-comment"});this.$rules["swig-comment"]=[{token:"comment.block.swig",regex:".*-?#}",next:"pop"}],this.$rules["swig-start"]=[{token:"variable.other.readwrite.local.swig",regex:"-?\\}\\}",next:"pop"},{token:"meta.tag.swig",regex:"-?%\\}",next:"pop"},{token:"string",regex:"'",next:"swig-qstring"},{token:"string",regex:'"',next:"swig-qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:o,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator.assignment",regex:"=|~"},{token:"keyword.operator.comparison",regex:"==|!=|<|>|>=|<=|==="},{token:"keyword.operator.arithmetic",regex:"\\+|-|/|%|//|\\*|\\*\\*"},{token:"keyword.operator.other",regex:"\\.\\.|\\|"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./},{token:"paren.lparen",regex:/[\[\({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"text",regex:"\\s+"}],this.$rules["swig-qqstring"]=[{token:"constant.language.escape",regex:/\\[\\"$#ntr]|#{[^"}]*}/},{token:"string",regex:'"',next:"swig-start"},{defaultToken:"string"}],this.$rules["swig-qstring"]=[{token:"constant.language.escape",regex:/\\[\\'ntr]}/},{token:"string",regex:"'",next:"swig-start"},{defaultToken:"string"}],this.normalizeRules()};r.inherits(u,o),t.SwigHighlightRules=u}) \ No newline at end of file
diff --git a/library/ace/mode-tcl.js b/library/ace/mode-tcl.js
new file mode 100644
index 000000000..8780c6053
--- /dev/null
+++ b/library/ace/mode-tcl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/tcl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$"},{token:"support.function",regex:"[\\\\]$",next:"splitlineStart"},{token:"text",regex:'[\\\\](?:["]|[{]|[}]|[[]|[]]|[$]|[])'},{token:"text",regex:"^|[^{][;][^}]|[/\r/]",next:"commandItem"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'[ ]*["]',next:"qqstring"},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"identifier",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"paren.lparen",regex:"[[{]",next:"commandItem"},{token:"paren.lparen",regex:"[(]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],commandItem:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$",next:"start"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"(?:[:][:])[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"(?:[:][:])",next:"commandItem"},{token:"paren.rparen",regex:"[\\])}]"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"keyword",regex:"[a-zA-Z0-9_/]+",next:"start"}],commentfollow:[{token:"comment",regex:".*\\\\$",next:"commentfollow"},{token:"comment",regex:".+",next:"start"}],splitlineStart:[{token:"text",regex:"^.",next:"start"}],variable:[{token:"variable.instance",regex:"[a-zA-Z_\\d]+(?:[(][a-zA-Z_\\d]+[)])?",next:"start"},{token:"variable.instance",regex:"{?[a-zA-Z_\\d]+}?",next:"start"}],qqstring:[{token:"string",regex:'(?:[^\\\\]|\\\\.)*?["]',next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.TclHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/tcl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/folding/cstyle","ace/mode/tcl_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./folding/cstyle").FoldMode,o=e("./tcl_highlight_rules").TclHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new s};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/tcl"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-tex.js b/library/ace/mode-tex.js
new file mode 100644
index 000000000..e841c3889
--- /dev/null
+++ b/library/ace/mode-tex.js
@@ -0,0 +1 @@
+ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(o,s),t.TexHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/tex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=function(e){e?this.HighlightRules=s:this.HighlightRules=o,this.$outdent=new u};r.inherits(a,i),function(){this.lineCommentStart="%",this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.allowAutoInsert=function(){return!1},this.$id="ace/mode/tex"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/mode-text.js b/library/ace/mode-text.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/library/ace/mode-text.js
diff --git a/library/ace/mode-textile.js b/library/ace/mode-textile.js
new file mode 100644
index 000000000..68a283f76
--- /dev/null
+++ b/library/ace/mode-textile.js
@@ -0,0 +1 @@
+ace.define("ace/mode/textile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:function(e){return e.charAt(0)=="h"?"markup.heading."+e.charAt(1):"markup.heading"},regex:"h1|h2|h3|h4|h5|h6|bq|p|bc|pre",next:"blocktag"},{token:"keyword",regex:"[\\*]+|[#]+"},{token:"text",regex:".+"}],blocktag:[{token:"keyword",regex:"\\. ",next:"start"},{token:"keyword",regex:"\\(",next:"blocktagproperties"}],blocktagproperties:[{token:"keyword",regex:"\\)",next:"blocktag"},{token:"string",regex:"[a-zA-Z0-9\\-_]+"},{token:"keyword",regex:"#"}]}};r.inherits(s,i),t.TextileHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/textile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/textile_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./textile_highlight_rules").TextileHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=function(){this.HighlightRules=s,this.$outdent=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return e=="intag"?n:""},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/textile"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-toml.js b/library/ace/mode-toml.js
new file mode 100644
index 000000000..5f8180b57
--- /dev/null
+++ b/library/ace/mode-toml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/toml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"constant.language.boolean":"true|false"},"identifier"),t="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";this.$rules={start:[{token:"comment.toml",regex:/#.*$/},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:["variable.keygroup.toml"],regex:"(?:^\\s*)(\\[\\[([^\\]]+)\\]\\])"},{token:["variable.keygroup.toml"],regex:"(?:^\\s*)(\\[([^\\]]+)\\])"},{token:e,regex:t},{token:"support.date.toml",regex:"\\d{4}-\\d{2}-\\d{2}(T)\\d{2}:\\d{2}:\\d{2}(Z)"},{token:"constant.numeric.toml",regex:"-?\\d+(\\.?\\d+)?"}],qqstring:[{token:"string",regex:"\\\\$",next:"qqstring"},{token:"constant.language.escape",regex:'\\\\[0tnr"\\\\]'},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.TomlHighlightRules=s}),ace.define("ace/mode/folding/ini",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/^\s*\[([^\])]*)]\s*(?:$|[;#])/,this.getFoldWidgetRange=function(e,t,n){var r=this.foldingStartMarker,s=e.getLine(n),o=s.match(r);if(!o)return;var u=o[1]+".",a=s.length,f=e.getLength(),l=n,c=n;while(++n<f){s=e.getLine(n);if(/^\s*$/.test(s))continue;o=s.match(r);if(o&&o[1].lastIndexOf(u,0)!==0)break;c=n}if(c>l){var h=e.getLine(c).length;return new i(l,a,c,h)}}}.call(o.prototype)}),ace.define("ace/mode/toml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/toml_highlight_rules","ace/mode/folding/ini"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./toml_highlight_rules").TomlHighlightRules,o=e("./folding/ini").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="#",this.$id="ace/mode/toml"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-twig.js b/library/ace/mode-twig.js
new file mode 100644
index 000000000..cbb3c748a
--- /dev/null
+++ b/library/ace/mode-twig.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/twig_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this);var e="autoescape|block|do|embed|extends|filter|flush|for|from|if|import|include|macro|sandbox|set|spaceless|use|verbatim";e=e+"|end"+e.replace(/\|/g,"|end");var t="abs|batch|capitalize|convert_encoding|date|date_modify|default|e|escape|first|format|join|json_encode|keys|last|length|lower|merge|nl2br|number_format|raw|replace|reverse|slice|sort|split|striptags|title|trim|upper|url_encode",n="attribute|constant|cycle|date|dump|parent|random|range|template_from_string",r="constant|divisibleby|sameas|defined|empty|even|iterable|odd",i="null|none|true|false",o="b-and|b-xor|b-or|in|is|and|or|not",u=this.createKeywordMapper({"keyword.control.twig":e,"support.function.twig":[t,n,r].join("|"),"keyword.operator.twig":o,"constant.language.twig":i},"identifier");for(var a in this.$rules)this.$rules[a].unshift({token:"variable.other.readwrite.local.twig",regex:"\\{\\{-?",push:"twig-start"},{token:"meta.tag.twig",regex:"\\{%-?",push:"twig-start"},{token:"comment.block.twig",regex:"\\{#-?",push:"twig-comment"});this.$rules["twig-comment"]=[{token:"comment.block.twig",regex:".*-?#\\}",next:"pop"}],this.$rules["twig-start"]=[{token:"variable.other.readwrite.local.twig",regex:"-?\\}\\}",next:"pop"},{token:"meta.tag.twig",regex:"-?%\\}",next:"pop"},{token:"string",regex:"'",next:"twig-qstring"},{token:"string",regex:'"',next:"twig-qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator.assignment",regex:"=|~"},{token:"keyword.operator.comparison",regex:"==|!=|<|>|>=|<=|==="},{token:"keyword.operator.arithmetic",regex:"\\+|-|/|%|//|\\*|\\*\\*"},{token:"keyword.operator.other",regex:"\\.\\.|\\|"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./},{token:"paren.lparen",regex:/[\[\({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"text",regex:"\\s+"}],this.$rules["twig-qqstring"]=[{token:"constant.language.escape",regex:/\\[\\"$#ntr]|#{[^"}]*}/},{token:"string",regex:'"',next:"twig-start"},{defaultToken:"string"}],this.$rules["twig-qstring"]=[{token:"constant.language.escape",regex:/\\[\\'ntr]}/},{token:"string",regex:"'",next:"twig-start"},{defaultToken:"string"}],this.normalizeRules()};r.inherits(u,o),t.TwigHighlightRules=u}),ace.define("ace/mode/twig",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/twig_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./twig_highlight_rules").TwigHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=function(){i.call(this),this.HighlightRules=s,this.$outdent=new o};r.inherits(u,i),function(){this.blockComment={start:"{#",end:"#}"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/twig"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-typescript.js b/library/ace/mode-typescript.js
new file mode 100644
index 000000000..4f17e478c
--- /dev/null
+++ b/library/ace/mode-typescript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/typescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=function(e){var t=[{token:["keyword.operator.ts","text","variable.parameter.function.ts","text"],regex:"\\b(module)(\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*\\{)"},{token:["storage.type.variable.ts","text","keyword.other.ts","text"],regex:"(super)(\\s*\\()([a-zA-Z0-9,_?.$\\s]+\\s*)(\\))"},{token:["entity.name.function.ts","paren.lparen","paren.rparen"],regex:"([a-zA-Z_?.$][\\w?.$]*)(\\()(\\))"},{token:["variable.parameter.function.ts","text","variable.parameter.function.ts"],regex:"([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*:\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)"},{token:["keyword.operator.ts"],regex:"(?:\\b(constructor|declare|interface|as|AS|public|private|class|extends|export|super)\\b)"},{token:["storage.type.variable.ts"],regex:"(?:\\b(this\\.|string\\b|bool\\b|number)\\b)"},{token:["keyword.operator.ts","storage.type.variable.ts","keyword.operator.ts","storage.type.variable.ts"],regex:"(class)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)(extends)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)?"},{token:"keyword",regex:"(?:super|export|class|extends|import)\\b"}],n=(new i({jsx:e&&e.jsx})).getRules();n.start=t.concat(n.start),this.$rules=n};r.inherits(s,i),t.TypeScriptHighlightRules=s}),ace.define("ace/mode/typescript",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/typescript_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./typescript_highlight_rules").TypeScriptHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,a=e("./matching_brace_outdent").MatchingBraceOutdent,f=function(){this.HighlightRules=s,this.$outdent=new a,this.$behaviour=new o,this.foldingRules=new u};r.inherits(f,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/typescript"}.call(f.prototype),t.Mode=f}) \ No newline at end of file
diff --git a/library/ace/mode-vala.js b/library/ace/mode-vala.js
new file mode 100644
index 000000000..ebfb9bf44
--- /dev/null
+++ b/library/ace/mode-vala.js
@@ -0,0 +1 @@
+ace.define("ace/mode/vala_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["meta.using.vala","keyword.other.using.vala","meta.using.vala","storage.modifier.using.vala","meta.using.vala","punctuation.terminator.vala"],regex:"^(\\s*)(using)\\b(?:(\\s*)([^ ;$]+)(\\s*)((?:;)?))?"},{include:"#code"}],"#all-types":[{include:"#primitive-arrays"},{include:"#primitive-types"},{include:"#object-types"}],"#annotations":[{token:["storage.type.annotation.vala","punctuation.definition.annotation-arguments.begin.vala"],regex:"(@[^ (]+)(\\()",push:[{token:"punctuation.definition.annotation-arguments.end.vala",regex:"\\)",next:"pop"},{token:["constant.other.key.vala","text","keyword.operator.assignment.vala"],regex:"(\\w*)(\\s*)(=)"},{include:"#code"},{token:"punctuation.seperator.property.vala",regex:","},{defaultToken:"meta.declaration.annotation.vala"}]},{token:"storage.type.annotation.vala",regex:"@\\w*"}],"#anonymous-classes-and-new":[{token:"keyword.control.new.vala",regex:"\\bnew\\b",push_disabled:[{token:"text",regex:"(?<=\\)|\\])(?!\\s*{)|(?<=})|(?=;)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<=\\)|\\])(?!\\s*{)|(?<=})|(?=;)",next:"pop"},{token:["storage.type.vala","text"],regex:"(\\w+)(\\s*)(?=\\[)",push:[{token:"text",regex:"}|(?=;|\\))",next:"pop"},{token:"text",regex:"\\[",push:[{token:"text",regex:"\\]",next:"pop"},{include:"#code"}]},{token:"text",regex:"{",push:[{token:"text",regex:"(?=})",next:"pop"},{include:"#code"}]}]},{token:"text",regex:"(?=\\w.*\\()",push:[{token:"text",regex:"(?<=\\))",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<=\\))",next:"pop"},{include:"#object-types"},{token:"text",regex:"\\(",push:[{token:"text",regex:"\\)",next:"pop"},{include:"#code"}]}]},{token:"meta.inner-class.vala",regex:"{",push:[{token:"meta.inner-class.vala",regex:"}",next:"pop"},{include:"#class-body"},{defaultToken:"meta.inner-class.vala"}]}]}],"#assertions":[{token:["keyword.control.assert.vala","meta.declaration.assertion.vala"],regex:"\\b(assert|requires|ensures)(\\s)",push:[{token:"meta.declaration.assertion.vala",regex:"$",next:"pop"},{token:"keyword.operator.assert.expression-seperator.vala",regex:":"},{include:"#code"},{defaultToken:"meta.declaration.assertion.vala"}]}],"#class":[{token:"meta.class.vala",regex:"(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum|struct|namespace)\\s+\\w+)",push:[{token:"paren.vala",regex:"}",next:"pop"},{include:"#storage-modifiers"},{include:"#comments"},{token:["storage.modifier.vala","meta.class.identifier.vala","entity.name.type.class.vala"],regex:"(class|(?:@)?interface|enum|struct|namespace)(\\s+)([\\w\\.]+)"},{token:"storage.modifier.extends.vala",regex:":",push:[{token:"meta.definition.class.inherited.classes.vala",regex:"(?={|,)",next:"pop"},{include:"#object-types-inherited"},{include:"#comments"},{defaultToken:"meta.definition.class.inherited.classes.vala"}]},{token:["storage.modifier.implements.vala","meta.definition.class.implemented.interfaces.vala"],regex:"(,)(\\s)",push:[{token:"meta.definition.class.implemented.interfaces.vala",regex:"(?=\\{)",next:"pop"},{include:"#object-types-inherited"},{include:"#comments"},{defaultToken:"meta.definition.class.implemented.interfaces.vala"}]},{token:"paren.vala",regex:"{",push:[{token:"paren.vala",regex:"(?=})",next:"pop"},{include:"#class-body"},{defaultToken:"meta.class.body.vala"}]},{defaultToken:"meta.class.vala"}],comment:"attempting to put namespace in here."}],"#class-body":[{include:"#comments"},{include:"#class"},{include:"#enums"},{include:"#methods"},{include:"#annotations"},{include:"#storage-modifiers"},{include:"#code"}],"#code":[{include:"#comments"},{include:"#class"},{token:"text",regex:"{",push:[{token:"text",regex:"}",next:"pop"},{include:"#code"}]},{include:"#assertions"},{include:"#parens"},{include:"#constants-and-special-vars"},{include:"#anonymous-classes-and-new"},{include:"#keywords"},{include:"#storage-modifiers"},{include:"#strings"},{include:"#all-types"}],"#comments":[{token:"punctuation.definition.comment.vala",regex:"/\\*\\*/"},{include:"text.html.javadoc"},{include:"#comments-inline"}],"#comments-inline":[{token:"punctuation.definition.comment.vala",regex:"/\\*",push:[{token:"punctuation.definition.comment.vala",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.vala"}]},{token:["text","punctuation.definition.comment.vala","comment.line.double-slash.vala"],regex:"(\\s*)(//)(.*$)"}],"#constants-and-special-vars":[{token:"constant.language.vala",regex:"\\b(?:true|false|null)\\b"},{token:"variable.language.vala",regex:"\\b(?:this|base)\\b"},{token:"constant.numeric.vala",regex:"\\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:[LlFfUuDd]|UL|ul)?\\b"},{token:["keyword.operator.dereference.vala","constant.other.vala"],regex:"((?:\\.)?)\\b([A-Z][A-Z0-9_]+)(?!<|\\.class|\\s*\\w+\\s*=)\\b"}],"#enums":[{token:"text",regex:"^(?=\\s*[A-Z0-9_]+\\s*(?:{|\\(|,))",push:[{token:"text",regex:"(?=;|})",next:"pop"},{token:"constant.other.enum.vala",regex:"\\w+",push:[{token:"meta.enum.vala",regex:"(?=,|;|})",next:"pop"},{include:"#parens"},{token:"text",regex:"{",push:[{token:"text",regex:"}",next:"pop"},{include:"#class-body"}]},{defaultToken:"meta.enum.vala"}]}]}],"#keywords":[{token:"keyword.control.catch-exception.vala",regex:"\\b(?:try|catch|finally|throw)\\b"},{token:"keyword.control.vala",regex:"\\?|:|\\?\\?"},{token:"keyword.control.vala",regex:"\\b(?:return|break|case|continue|default|do|while|for|foreach|switch|if|else|in|yield|get|set|value)\\b"},{token:"keyword.operator.vala",regex:"\\b(?:typeof|is|as)\\b"},{token:"keyword.operator.comparison.vala",regex:"==|!=|<=|>=|<>|<|>"},{token:"keyword.operator.assignment.vala",regex:"="},{token:"keyword.operator.increment-decrement.vala",regex:"\\-\\-|\\+\\+"},{token:"keyword.operator.arithmetic.vala",regex:"\\-|\\+|\\*|\\/|%"},{token:"keyword.operator.logical.vala",regex:"!|&&|\\|\\|"},{token:"keyword.operator.dereference.vala",regex:"\\.(?=\\S)",originalRegex:"(?<=\\S)\\.(?=\\S)"},{token:"punctuation.terminator.vala",regex:";"},{token:"keyword.operator.ownership",regex:"owned|unowned"}],"#methods":[{token:"meta.method.vala",regex:"(?!new)(?=\\w.*\\s+)(?=[^=]+\\()",push:[{token:"paren.vala",regex:"}|(?=;)",next:"pop"},{include:"#storage-modifiers"},{token:["entity.name.function.vala","meta.method.identifier.vala"],regex:"([\\~\\w\\.]+)(\\s*\\()",push:[{token:"meta.method.identifier.vala",regex:"\\)",next:"pop"},{include:"#parameters"},{defaultToken:"meta.method.identifier.vala"}]},{token:"meta.method.return-type.vala",regex:"(?=\\w.*\\s+\\w+\\s*\\()",push:[{token:"meta.method.return-type.vala",regex:"(?=\\w+\\s*\\()",next:"pop"},{include:"#all-types"},{defaultToken:"meta.method.return-type.vala"}]},{include:"#throws"},{token:"paren.vala",regex:"{",push:[{token:"paren.vala",regex:"(?=})",next:"pop"},{include:"#code"},{defaultToken:"meta.method.body.vala"}]},{defaultToken:"meta.method.vala"}]}],"#namespace":[{token:"text",regex:"^(?=\\s*[A-Z0-9_]+\\s*(?:{|\\(|,))",push:[{token:"text",regex:"(?=;|})",next:"pop"},{token:"constant.other.namespace.vala",regex:"\\w+",push:[{token:"meta.namespace.vala",regex:"(?=,|;|})",next:"pop"},{include:"#parens"},{token:"text",regex:"{",push:[{token:"text",regex:"}",next:"pop"},{include:"#code"}]},{defaultToken:"meta.namespace.vala"}]}],comment:"This is not quite right. See the class grammar right now"}],"#object-types":[{token:"storage.type.generic.vala",regex:"\\b(?:[a-z]\\w*\\.)*[A-Z]+\\w*<",push:[{token:"storage.type.generic.vala",regex:">|[^\\w\\s,\\?<\\[()\\]]",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:">|[^\\w\\s,\\?<\\[(?:[,]+)\\]]",next:"pop"},{include:"#object-types"},{token:"storage.type.generic.vala",regex:"<",push:[{token:"storage.type.generic.vala",regex:">|[^\\w\\s,\\[\\]<]",next:"pop"},{defaultToken:"storage.type.generic.vala"}],comment:"This is just to support <>'s with no actual type prefix"},{defaultToken:"storage.type.generic.vala"}]},{token:"storage.type.object.array.vala",regex:"\\b(?:[a-z]\\w*\\.)*[A-Z]+\\w*(?=\\[)",push:[{token:"storage.type.object.array.vala",regex:"(?=[^\\]\\s])",next:"pop"},{token:"text",regex:"\\[",push:[{token:"text",regex:"\\]",next:"pop"},{include:"#code"}]},{defaultToken:"storage.type.object.array.vala"}]},{token:["storage.type.vala","keyword.operator.dereference.vala","storage.type.vala"],regex:"\\b(?:([a-z]\\w*)(\\.))*([A-Z]+\\w*\\b)"}],"#object-types-inherited":[{token:"entity.other.inherited-class.vala",regex:"\\b(?:[a-z]\\w*\\.)*[A-Z]+\\w*<",push:[{token:"entity.other.inherited-class.vala",regex:">|[^\\w\\s,<]",next:"pop"},{include:"#object-types"},{token:"storage.type.generic.vala",regex:"<",push:[{token:"storage.type.generic.vala",regex:">|[^\\w\\s,<]",next:"pop"},{defaultToken:"storage.type.generic.vala"}],comment:"This is just to support <>'s with no actual type prefix"},{defaultToken:"entity.other.inherited-class.vala"}]},{token:["entity.other.inherited-class.vala","keyword.operator.dereference.vala","entity.other.inherited-class.vala"],regex:"\\b(?:([a-z]\\w*)(\\.))*([A-Z]+\\w*)"}],"#parameters":[{token:"storage.modifier.vala",regex:"final"},{include:"#primitive-arrays"},{include:"#primitive-types"},{include:"#object-types"},{token:"variable.parameter.vala",regex:"\\w+"}],"#parens":[{token:"text",regex:"\\(",push:[{token:"text",regex:"\\)",next:"pop"},{include:"#code"}]}],"#primitive-arrays":[{token:"storage.type.primitive.array.vala",regex:"\\b(?:bool|byte|sbyte|char|decimal|double|float|int|uint|long|ulong|object|short|ushort|string|void|int8|int16|int32|int64|uint8|uint16|uint32|uint64)(?:\\[\\])*\\b"}],"#primitive-types":[{token:"storage.type.primitive.vala",regex:"\\b(?:var|bool|byte|sbyte|char|decimal|double|float|int|uint|long|ulong|object|short|ushort|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\\b",comment:"var is not really a primitive, but acts like one in most cases"}],"#storage-modifiers":[{token:"storage.modifier.vala",regex:"\\b(?:public|private|protected|internal|static|final|sealed|virtual|override|abstract|readonly|volatile|dynamic|async|unsafe|out|ref|weak|owned|unowned|const)\\b",comment:"Not sure about unsafe and readonly"}],"#strings":[{token:"punctuation.definition.string.begin.vala",regex:'@"',push:[{token:"punctuation.definition.string.end.vala",regex:'"',next:"pop"},{token:"constant.character.escape.vala",regex:"\\\\.|%[\\w\\.\\-]+|\\$(?:\\w+|\\([\\w\\s\\+\\-\\*\\/]+\\))"},{defaultToken:"string.quoted.interpolated.vala"}]},{token:"punctuation.definition.string.begin.vala",regex:'"',push:[{token:"punctuation.definition.string.end.vala",regex:'"',next:"pop"},{token:"constant.character.escape.vala",regex:"\\\\."},{token:"constant.character.escape.vala",regex:"%[\\w\\.\\-]+"},{defaultToken:"string.quoted.double.vala"}]},{token:"punctuation.definition.string.begin.vala",regex:"'",push:[{token:"punctuation.definition.string.end.vala",regex:"'",next:"pop"},{token:"constant.character.escape.vala",regex:"\\\\."},{defaultToken:"string.quoted.single.vala"}]},{token:"punctuation.definition.string.begin.vala",regex:'"""',push:[{token:"punctuation.definition.string.end.vala",regex:'"""',next:"pop"},{token:"constant.character.escape.vala",regex:"%[\\w\\.\\-]+"},{defaultToken:"string.quoted.triple.vala"}]}],"#throws":[{token:"storage.modifier.vala",regex:"throws",push:[{token:"meta.throwables.vala",regex:"(?={|;)",next:"pop"},{include:"#object-types"},{defaultToken:"meta.throwables.vala"}]}],"#values":[{include:"#strings"},{include:"#object-types"},{include:"#constants-and-special-vars"}]},this.normalizeRules()};s.metaData={comment:"Based heavily on the Java bundle's language syntax. TODO:\n* Closures\n* Delegates\n* Properties: Better support for properties.\n* Annotations\n* Error domains\n* Named arguments\n* Array slicing, negative indexes, multidimensional\n* construct blocks\n* lock blocks?\n* regex literals\n* DocBlock syntax highlighting. (Currently importing javadoc)\n* Folding rule for comments.\n",fileTypes:["vala"],foldingStartMarker:"(\\{\\s*(//.*)?$|^\\s*// \\{\\{\\{)",foldingStopMarker:"^\\s*(\\}|// \\}\\}\\}$)",name:"Vala",scopeName:"source.vala"},r.inherits(s,i),t.ValaHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/vala",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/vala_highlight_rules","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./vala_highlight_rules").ValaHighlightRules,u=e("./folding/cstyle").FoldMode,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=e("./matching_brace_outdent").MatchingBraceOutdent,c=function(){this.HighlightRules=o,this.$outdent=new l,this.$behaviour=new a,this.foldingRules=new f};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/vala"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/library/ace/mode-vbscript.js b/library/ace/mode-vbscript.js
new file mode 100644
index 000000000..387514670
--- /dev/null
+++ b/library/ace/mode-vbscript.js
@@ -0,0 +1 @@
+ace.define("ace/mode/vbscript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"keyword.control.asp":"If|Then|Else|ElseIf|End|While|Wend|For|To|Each|Case|Select|Return|Continue|Do|Until|Loop|Next|With|Exit|Function|Property|Type|Enum|Sub|IIf","storage.type.asp":"Dim|Call|Class|Const|Dim|Redim|Set|Let|Get|New|Randomize|Option|Explicit","storage.modifier.asp":"Private|Public|Default","keyword.operator.asp":"Mod|And|Not|Or|Xor|as","constant.language.asp":"Empty|False|Nothing|Null|True","support.class.asp":"Application|ObjectContext|Request|Response|Server|Session","support.class.collection.asp":"Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables","support.constant.asp":"TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout","support.function.asp":"Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex","support.function.event.asp":"Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart","support.function.vb.asp":"Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Time|Timer|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year","support.type.vb.asp":"vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray"},"identifier",!0);this.$rules={start:[{token:["meta.ending-space"],regex:"$"},{token:[null],regex:"^(?=\\t)",next:"state_3"},{token:[null],regex:"^(?= )",next:"state_4"},{token:["text","storage.type.function.asp","text","entity.name.function.asp","text","punctuation.definition.parameters.asp","variable.parameter.function.asp","punctuation.definition.parameters.asp"],regex:"^(\\s*)(Function|Sub)(\\s+)([a-zA-Z_]\\w*)(\\s*)(\\()([^)]*)(\\))"},{token:"punctuation.definition.comment.asp",regex:"'|REM(?=\\s|$)",next:"comment",caseInsensitive:!0},{token:"storage.type.asp",regex:"On Error Resume Next|On Error GoTo",caseInsensitive:!0},{token:"punctuation.definition.string.begin.asp",regex:'"',next:"string"},{token:["punctuation.definition.variable.asp"],regex:"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*"},{token:"constant.numeric.asp",regex:"-?\\b(?:(?:0(?:x|X)[0-9a-fA-F]*)|(?:(?:[0-9]+\\.?[0-9]*)|(?:\\.[0-9]+))(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{regex:"\\w+",token:e},{token:["entity.name.function.asp"],regex:"(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))"},{token:["keyword.operator.asp"],regex:"\\-|\\+|\\*\\/|\\>|\\<|\\=|\\&"}],state_3:[{token:["meta.odd-tab.tabs","meta.even-tab.tabs"],regex:"(\\t)(\\t)?"},{token:"meta.leading-space",regex:"(?=[^\\t])",next:"start"},{token:"meta.leading-space",regex:".",next:"state_3"}],state_4:[{token:["meta.odd-tab.spaces","meta.even-tab.spaces"],regex:"( )( )?"},{token:"meta.leading-space",regex:"(?=[^ ])",next:"start"},{defaultToken:"meta.leading-space"}],comment:[{token:"comment.line.apostrophe.asp",regex:"$|(?=(?:%>))",next:"start"},{defaultToken:"comment.line.apostrophe.asp"}],string:[{token:"constant.character.escape.apostrophe.asp",regex:'""'},{token:"string.quoted.double.asp",regex:'"',next:"start"},{defaultToken:"string.quoted.double.asp"}]}};r.inherits(s,i),t.VBScriptHighlightRules=s}),ace.define("ace/mode/vbscript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/vbscript_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./vbscript_highlight_rules").VBScriptHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart=["'","REM"],this.$id="ace/mode/vbscript"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-velocity.js b/library/ace/mode-velocity.js
new file mode 100644
index 000000000..373dcd93a
--- /dev/null
+++ b/library/ace/mode-velocity.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/velocity_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./html_highlight_rules").HtmlHighlightRules,u=function(){o.call(this);var e=i.arrayToMap("true|false|null".split("|")),t=i.arrayToMap("_DateTool|_DisplayTool|_EscapeTool|_FieldTool|_MathTool|_NumberTool|_SerializerTool|_SortTool|_StringTool|_XPathTool".split("|")),n=i.arrayToMap("$contentRoot|$foreach".split("|")),r=i.arrayToMap("#set|#macro|#include|#parse|#if|#elseif|#else|#foreach|#break|#end|#stop".split("|"));this.$rules.start.push({token:"comment",regex:"##.*$"},{token:"comment.block",regex:"#\\*",next:"vm_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(i){return r.hasOwnProperty(i)?"keyword":e.hasOwnProperty(i)?"constant.language":n.hasOwnProperty(i)?"variable.language":t.hasOwnProperty(i)||t.hasOwnProperty(i.substring(1))?"support.function":i=="debugger"?"invalid.deprecated":i.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z$#][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}),this.$rules.vm_comment=[{token:"comment",regex:"\\*#|-->",next:"start"},{defaultToken:"comment"}],this.$rules.vm_start=[{token:"variable",regex:"}",next:"pop"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(i){return r.hasOwnProperty(i)?"keyword":e.hasOwnProperty(i)?"constant.language":n.hasOwnProperty(i)?"variable.language":t.hasOwnProperty(i)||t.hasOwnProperty(i.substring(1))?"support.function":i=="debugger"?"invalid.deprecated":i.match(/^(\$[a-zA-Z_$][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}];for(var s in this.$rules)this.$rules[s].unshift({token:"variable",regex:"\\${",push:"vm_start"});this.normalizeRules()};r.inherits(u,s),t.VelocityHighlightRules=u}),ace.define("ace/mode/folding/velocity",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="##")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="##")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="##"&&s[i]=="##")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="##"&&o[i]=="##"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/velocity",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/velocity_highlight_rules","ace/mode/folding/velocity"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./velocity_highlight_rules").VelocityHighlightRules,o=e("./folding/velocity").FoldMode,u=function(){i.call(this),this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="##",this.blockComment={start:"#*",end:"*#"},this.$id="ace/mode/velocity"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-verilog.js b/library/ace/mode-verilog.js
new file mode 100644
index 000000000..17a3da478
--- /dev/null
+++ b/library/ace/mode-verilog.js
@@ -0,0 +1 @@
+ace.define("ace/mode/verilog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="always|and|assign|automatic|begin|buf|bufif0|bufif1|case|casex|casez|cell|cmos|config|deassign|default|defparam|design|disable|edge|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|event|for|force|forever|fork|function|generate|genvar|highz0|highz1|if|ifnone|incdir|include|initial|inout|input|instance|integer|join|large|liblist|library|localparam|macromodule|medium|module|nand|negedge|nmos|nor|noshowcancelled|not|notif0|notif1|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|showcancelled|signed|small|specify|specparam|strong0|strong1|supply0|supply1|table|task|time|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|unsigned|use|vectored|wait|wand|weak0|weak1|while|wire|wor|xnor|xorbegin|bufif0|bufif1|case|casex|casez|config|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|for|forever|function|generate|if|ifnone|macromodule|module|primitive|repeat|specify|table|task|while",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"//.*$"},{token:"comment.start",regex:"/\\*",next:[{token:"comment.end",regex:"\\*/"},{defaultToken:"comment"}]},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};r.inherits(s,i),t.VerilogHighlightRules=s}),ace.define("ace/mode/verilog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/verilog_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./verilog_highlight_rules").VerilogHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/verilog"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-vhdl.js b/library/ace/mode-vhdl.js
new file mode 100644
index 000000000..94a061c69
--- /dev/null
+++ b/library/ace/mode-vhdl.js
@@ -0,0 +1 @@
+ace.define("ace/mode/vhdl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="access|after|ailas|all|architecture|assert|attribute|begin|block|buffer|bus|case|component|configuration|disconnect|downto|else|elsif|end|entity|file|for|function|generate|generic|guarded|if|impure|in|inertial|inout|is|label|linkage|literal|loop|mapnew|next|of|on|open|others|out|port|process|pure|range|record|reject|report|return|select|shared|subtype|then|to|transport|type|unaffected|united|until|wait|when|while|with",t="bit|bit_vector|boolean|character|integer|line|natural|positive|real|register|severity|signal|signed|std_logic|std_logic_vector|string||text|time|unsigned|variable",n="array|constant",r="abs|and|mod|nand|nor|not|rem|rol|ror|sla|sll|srasrl|xnor|xor",i="true|false|null",s=this.createKeywordMapper({"keyword.operator":r,keyword:e,"constant.language":i,"storage.modifier":n,"storage.type":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"keyword",regex:"\\s*(?:library|package|use)\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"&|\\*|\\+|\\-|\\/|<|=|>|\\||=>|\\*\\*|:=|\\/=|>=|<=|<>"},{token:"punctuation.operator",regex:"\\'|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[(]"},{token:"paren.rparen",regex:"[\\])]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.VHDLHighlightRules=s}),ace.define("ace/mode/vhdl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/vhdl_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./vhdl_highlight_rules").VHDLHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/vhdl"}.call(u.prototype),t.Mode=u}) \ No newline at end of file
diff --git a/library/ace/mode-wollok.js b/library/ace/mode-wollok.js
new file mode 100644
index 000000000..95a7d683e
--- /dev/null
+++ b/library/ace/mode-wollok.js
@@ -0,0 +1 @@
+ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/wollok_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="test|package|inherits|false|import|else|or|class|and|not|native|override|program|this|try|val|var|catch|object|super|throw|if|null|return|true|new|method",t="null|assert|console",n="Object|Pair|String|Boolean|Number|Integer|Double|Collection|Set|List|Exception|Range|StackTraceElement",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"===|&&|\\*=|\\.\\.|\\*\\*|#|!|%|\\*|\\?:|\\+|\\/|,|\\+=|\\-|\\.\\.<|!==|:|\\/=|\\?\\.|\\+\\+|>|=|<|>=|=>|==|\\]|\\[|\\-=|\\->|\\||\\-\\-|<>|!=|%=|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.WollokHighlightRules=o}),ace.define("ace/mode/wollok",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/wollok_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("./wollok_highlight_rules").WollokHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/wollok"}.call(o.prototype),t.Mode=o}) \ No newline at end of file
diff --git a/library/ace/mode-xml.js b/library/ace/mode-xml.js
new file mode 100644
index 000000000..3090bd01d
--- /dev/null
+++ b/library/ace/mode-xml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],xml_decl:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/xml_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/xml"}.call(l.prototype),t.Mode=l}) \ No newline at end of file
diff --git a/library/ace/mode-xquery.js b/library/ace/mode-xquery.js
new file mode 100644
index 000000000..865e3eaf4
--- /dev/null
+++ b/library/ace/mode-xquery.js
@@ -0,0 +1 @@
+ace.define("ace/mode/xquery/xquery_lexer",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){var r=n.XQueryTokenizer=function i(e,t){function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}function o(){E.startNonterminal("EQName",g);switch(y){case 77:f(77);break;case 91:f(91);break;case 115:f(115);break;case 116:f(116);break;case 119:f(119);break;case 140:f(140);break;case 147:f(147);break;case 160:f(160);break;case 180:f(180);break;case 186:f(186);break;case 211:f(211);break;case 221:f(221);break;case 222:f(222);break;case 238:f(238);break;case 239:f(239);break;case 248:f(248);break;default:u()}E.endNonterminal("EQName",g)}function u(){E.startNonterminal("FunctionName",g);switch(y){case 14:f(14);break;case 65:f(65);break;case 68:f(68);break;case 69:f(69);break;case 70:f(70);break;case 74:f(74);break;case 75:f(75);break;case 79:f(79);break;case 83:f(83);break;case 84:f(84);break;case 85:f(85);break;case 88:f(88);break;case 89:f(89);break;case 98:f(98);break;case 100:f(100);break;case 103:f(103);break;case 104:f(104);break;case 105:f(105);break;case 106:f(106);break;case 107:f(107);break;case 108:f(108);break;case 113:f(113);break;case 114:f(114);break;case 117:f(117);break;case 118:f(118);break;case 121:f(121);break;case 123:f(123);break;case 124:f(124);break;case 126:f(126);break;case 129:f(129);break;case 130:f(130);break;case 131:f(131);break;case 132:f(132);break;case 141:f(141);break;case 143:f(143);break;case 145:f(145);break;case 146:f(146);break;case 148:f(148);break;case 154:f(154);break;case 155:f(155);break;case 157:f(157);break;case 158:f(158);break;case 159:f(159);break;case 165:f(165);break;case 167:f(167);break;case 169:f(169);break;case 173:f(173);break;case 175:f(175);break;case 176:f(176);break;case 177:f(177);break;case 179:f(179);break;case 181:f(181);break;case 193:f(193);break;case 195:f(195);break;case 196:f(196);break;case 197:f(197);break;case 201:f(201);break;case 207:f(207);break;case 208:f(208);break;case 213:f(213);break;case 214:f(214);break;case 215:f(215);break;case 219:f(219);break;case 224:f(224);break;case 230:f(230);break;case 231:f(231);break;case 232:f(232);break;case 243:f(243);break;case 244:f(244);break;case 245:f(245);break;case 249:f(249);break;case 251:f(251);break;case 255:f(255);break;case 261:f(261);break;case 265:f(265);break;case 269:f(269);break;case 67:f(67);break;case 76:f(76);break;case 78:f(78);break;case 80:f(80);break;case 81:f(81);break;case 86:f(86);break;case 93:f(93);break;case 96:f(96);break;case 97:f(97);break;case 99:f(99);break;case 101:f(101);break;case 120:f(120);break;case 127:f(127);break;case 128:f(128);break;case 136:f(136);break;case 149:f(149);break;case 150:f(150);break;case 156:f(156);break;case 166:f(166);break;case 187:f(187);break;case 194:f(194);break;case 198:f(198);break;case 217:f(217);break;case 220:f(220);break;case 223:f(223);break;case 229:f(229);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 252:f(252);break;case 256:f(256);break;case 257:f(257);break;case 258:f(258);break;case 262:f(262);break;case 92:f(92);break;case 171:f(171);break;default:f(216)}E.endNonterminal("FunctionName",g)}function a(){E.startNonterminal("NCName",g);switch(y){case 26:f(26);break;case 65:f(65);break;case 70:f(70);break;case 74:f(74);break;case 75:f(75);break;case 79:f(79);break;case 83:f(83);break;case 84:f(84);break;case 85:f(85);break;case 89:f(89);break;case 100:f(100);break;case 104:f(104);break;case 108:f(108);break;case 113:f(113);break;case 117:f(117);break;case 118:f(118);break;case 121:f(121);break;case 123:f(123);break;case 126:f(126);break;case 132:f(132);break;case 141:f(141);break;case 143:f(143);break;case 145:f(145);break;case 146:f(146);break;case 155:f(155);break;case 157:f(157);break;case 158:f(158);break;case 159:f(159);break;case 167:f(167);break;case 169:f(169);break;case 173:f(173);break;case 175:f(175);break;case 176:f(176);break;case 181:f(181);break;case 193:f(193);break;case 195:f(195);break;case 196:f(196);break;case 215:f(215);break;case 219:f(219);break;case 231:f(231);break;case 232:f(232);break;case 243:f(243);break;case 244:f(244);break;case 249:f(249);break;case 261:f(261);break;case 265:f(265);break;case 68:f(68);break;case 69:f(69);break;case 77:f(77);break;case 88:f(88);break;case 91:f(91);break;case 98:f(98);break;case 103:f(103);break;case 105:f(105);break;case 106:f(106);break;case 107:f(107);break;case 114:f(114);break;case 115:f(115);break;case 116:f(116);break;case 119:f(119);break;case 124:f(124);break;case 129:f(129);break;case 130:f(130);break;case 131:f(131);break;case 140:f(140);break;case 147:f(147);break;case 148:f(148);break;case 154:f(154);break;case 160:f(160);break;case 165:f(165);break;case 177:f(177);break;case 179:f(179);break;case 180:f(180);break;case 186:f(186);break;case 197:f(197);break;case 201:f(201);break;case 207:f(207);break;case 208:f(208);break;case 211:f(211);break;case 213:f(213);break;case 214:f(214);break;case 221:f(221);break;case 222:f(222);break;case 224:f(224);break;case 230:f(230);break;case 238:f(238);break;case 239:f(239);break;case 245:f(245);break;case 248:f(248);break;case 251:f(251);break;case 255:f(255);break;case 257:f(257);break;case 269:f(269);break;case 67:f(67);break;case 76:f(76);break;case 78:f(78);break;case 80:f(80);break;case 81:f(81);break;case 86:f(86);break;case 93:f(93);break;case 96:f(96);break;case 97:f(97);break;case 99:f(99);break;case 101:f(101);break;case 120:f(120);break;case 127:f(127);break;case 128:f(128);break;case 136:f(136);break;case 149:f(149);break;case 150:f(150);break;case 156:f(156);break;case 166:f(166);break;case 187:f(187);break;case 194:f(194);break;case 198:f(198);break;case 217:f(217);break;case 220:f(220);break;case 223:f(223);break;case 229:f(229);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 252:f(252);break;case 256:f(256);break;case 258:f(258);break;case 262:f(262);break;case 92:f(92);break;case 171:f(171);break;default:f(216)}E.endNonterminal("NCName",g)}function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(b,w,0,y,e)}function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}function h(e){y==0&&(y=c(e),b=T,w=N)}function p(e){y==0&&(y=C(e),b=T,w=N)}function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n<x?S.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<x?S.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,N=n)}r>>=12;if(r==0){N=n-1;var f=N<x?S.charCodeAt(N):0;return f>=56320&&f<57344&&--N,d(T,N,s,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--N;var f=N<x?S.charCodeAt(N):0;f>=56320&&f<57344&&--N}else N-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return S},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=S.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+S.substring(e.getBegin(),Math.min(S.length,e.getBegin()+64))+"..."},this.parse_start=function(){E.startNonterminal("start",g),h(14);switch(y){case 55:f(55);break;case 54:f(54);break;case 56:f(56);break;case 40:f(40);break;case 42:f(42);break;case 41:f(41);break;case 35:f(35);break;case 38:f(38);break;case 274:f(274);break;case 271:f(271);break;case 39:f(39);break;case 43:f(43);break;case 49:f(49);break;case 62:f(62);break;case 63:f(63);break;case 46:f(46);break;case 48:f(48);break;case 53:f(53);break;case 51:f(51);break;case 34:f(34);break;case 273:f(273);break;case 2:f(2);break;case 1:f(1);break;case 3:f(3);break;case 12:f(12);break;case 13:f(13);break;case 15:f(15);break;case 16:f(16);break;case 17:f(17);break;case 5:f(5);break;case 6:f(6);break;case 4:f(4);break;case 33:f(33);break;default:o()}E.endNonterminal("start",g)},this.parse_StartTag=function(){E.startNonterminal("StartTag",g),h(8);switch(y){case 58:f(58);break;case 50:f(50);break;case 27:f(27);break;case 57:f(57);break;case 35:f(35);break;case 38:f(38);break;default:f(33)}E.endNonterminal("StartTag",g)},this.parse_TagContent=function(){E.startNonterminal("TagContent",g),p(11);switch(y){case 23:f(23);break;case 6:f(6);break;case 7:f(7);break;case 55:f(55);break;case 54:f(54);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;default:f(33)}E.endNonterminal("TagContent",g)},this.parse_AposAttr=function(){E.startNonterminal("AposAttr",g),p(10);switch(y){case 20:f(20);break;case 25:f(25);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposAttr",g)},this.parse_QuotAttr=function(){E.startNonterminal("QuotAttr",g),p(9);switch(y){case 19:f(19);break;case 24:f(24);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotAttr",g)},this.parse_CData=function(){E.startNonterminal("CData",g),p(1);switch(y){case 11:f(11);break;case 64:f(64);break;default:f(33)}E.endNonterminal("CData",g)},this.parse_XMLComment=function(){E.startNonterminal("XMLComment",g),p(0);switch(y){case 9:f(9);break;case 47:f(47);break;default:f(33)}E.endNonterminal("XMLComment",g)},this.parse_PI=function(){E.startNonterminal("PI",g),p(3);switch(y){case 10:f(10);break;case 59:f(59);break;case 60:f(60);break;default:f(33)}E.endNonterminal("PI",g)},this.parse_Pragma=function(){E.startNonterminal("Pragma",g),p(2);switch(y){case 8:f(8);break;case 36:f(36);break;case 37:f(37);break;default:f(33)}E.endNonterminal("Pragma",g)},this.parse_Comment=function(){E.startNonterminal("Comment",g),p(4);switch(y){case 52:f(52);break;case 41:f(41);break;case 30:f(30);break;default:f(33)}E.endNonterminal("Comment",g)},this.parse_CommentDoc=function(){E.startNonterminal("CommentDoc",g),p(5);switch(y){case 31:f(31);break;case 32:f(32);break;case 52:f(52);break;case 41:f(41);break;default:f(33)}E.endNonterminal("CommentDoc",g)},this.parse_QuotString=function(){E.startNonterminal("QuotString",g),p(6);switch(y){case 18:f(18);break;case 29:f(29);break;case 19:f(19);break;case 21:f(21);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotString",g)},this.parse_AposString=function(){E.startNonterminal("AposString",g),p(7);switch(y){case 18:f(18);break;case 29:f(29);break;case 20:f(20);break;case 22:f(22);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposString",g)},this.parse_Prefix=function(){E.startNonterminal("Prefix",g),h(13),l(),a(),E.endNonterminal("Prefix",g)},this.parse__EQName=function(){E.startNonterminal("_EQName",g),h(12),l(),o(),E.endNonterminal("_EQName",g)};var v,m,g,y,b,w,E,S,x,T,N};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<276;i+=32){var s=i,o=(i>>5)*2062+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,347,363,379,416,416,416,408,331,323,331,323,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,433,433,433,433,433,433,433,316,331,331,331,331,331,331,331,331,394,416,416,417,415,416,416,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,330,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35,35,35,35,35,35,35,35,35,35,35,35,31,31,35,35,35,35,35,35,35,65,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,35,31,35,31,31,35],r.INITIAL=[1,2,36867,45060,5,6,7,8,9,10,11,12,13,14,15],r.TRANSITION=[17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22908,18836,17152,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18579,21711,17152,19008,19233,20367,19008,28684,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20116,18836,18637,19008,19233,21267,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18763,18778,18794,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18821,22923,18906,19008,19233,17431,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18937,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19054,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,18953,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21843,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21696,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22429,20131,18720,19008,19233,20367,19008,17173,23559,36437,17330,17349,18921,17189,17208,17281,20355,18087,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,21242,19111,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19024,18836,18609,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19081,22444,18987,19008,19233,20367,19008,19065,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21992,22007,18987,19008,19233,20367,19008,18690,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22414,18836,18987,19008,19233,30651,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19138,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19280,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,19172,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21783,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19218,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21651,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19249,19265,19307,18888,27857,30536,24401,31444,23357,18888,19351,18888,18890,27211,19370,27211,27211,19392,24401,31911,24401,24401,25467,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,17994,24060,18888,18888,18888,18890,19468,27211,27211,27211,27211,19484,35367,19520,24401,24401,24401,19628,18888,29855,18888,18888,23086,27211,19538,27211,27211,30756,24012,24401,19560,24401,24401,26750,18888,18888,19327,27855,27211,27211,19580,17590,24017,24401,24401,19600,25665,18888,18888,28518,27211,27212,24016,19620,19868,28435,25722,18889,19644,27211,32888,35852,19868,31018,19694,19376,19717,22215,19735,22098,19751,35203,19776,19797,19817,19840,25783,31738,24135,19701,19856,31015,23516,31008,28311,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21768,18836,19307,18888,27857,27904,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,19888,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22399,18836,19918,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21666,18836,19307,18888,27857,27525,24401,29183,21467,18888,18888,18888,18890,27211,27211,27211,27211,19946,24401,24401,24401,24401,32382,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19998,24401,24401,24401,24401,31500,18467,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,20021,24401,24401,24401,24401,24401,34271,18888,18888,18888,18888,23086,27211,27211,27211,27211,32926,29908,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,20050,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20101,19039,20191,20412,20903,17569,20309,20872,25633,20623,20505,20218,20242,17189,17208,17281,20355,20265,20306,20328,20383,22490,20796,20619,21354,20654,20410,20956,21232,20765,17421,20535,17192,18127,22459,20312,25531,22470,20309,20428,18964,20466,20491,21342,21070,20521,20682,17714,18326,17543,17559,17585,22497,20559,19504,20279,20575,20290,20475,20604,20639,20226,20670,17661,21190,17703,21176,17730,19494,20698,20711,22480,21046,21116,18971,21130,20727,20755,17675,17753,17832,17590,25518,20394,20781,20831,20202,20847,21401,17292,17934,17979,18549,20863,20588,25542,20888,20919,18072,18117,20935,20972,21032,21062,21086,18239,21102,18563,21146,21162,21206,18351,20949,20902,18340,21222,21258,21283,18360,20249,17405,21295,21311,21327,20739,20343,21370,21386,21417,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21977,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,21452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,21504,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,36501,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,28674,21946,17617,36473,18223,17237,17477,19152,17860,17892,17675,17753,17832,21575,21534,17481,19156,17864,18731,17918,36551,17292,17934,21560,30628,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21798,18836,21612,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21636,18836,18987,19008,19233,17902,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21753,19096,21903,19008,19233,20367,19008,19291,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17379,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,21931,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18280,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21962,18594,18987,19008,19233,22043,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21681,21858,18987,19008,19233,20367,19008,21544,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,32319,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,22231,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,31678,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,33588,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,35019,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22248,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22324,18836,22059,18888,27857,30501,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,34365,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22354,18836,18987,19008,19233,20367,19008,17173,27086,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,19930,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22309,22513,18987,19008,19233,20367,19008,19122,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,22544,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22608,18836,22988,23004,27585,23020,23036,23067,22087,18888,18888,18888,23083,27211,27211,27211,23102,22121,24401,24401,24401,23122,31386,26154,19674,18888,28119,28232,19424,23705,27211,27211,23142,23173,23189,23212,24401,24401,23246,34427,31693,23262,18888,23290,23308,27783,27620,23327,35263,35107,33383,23346,18193,23393,32748,23968,24401,23414,35153,23463,18888,33913,23442,23482,27211,27211,23532,23552,21431,23575,24401,24401,23604,26095,23635,23657,18888,33482,23685,33251,27211,22187,18851,23721,35536,24401,18887,23750,32641,27211,23769,23787,20080,33012,24384,25659,18888,18889,27211,27211,19719,23889,23803,31018,18890,27211,31833,19406,19447,23086,23330,19828,28224,31826,23823,26917,34978,23850,26493,25782,23878,23914,23516,31008,22105,19419,27963,19659,29781,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22623,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,28909,25783,27211,27211,27211,34048,23933,22164,24401,24401,24401,28409,23949,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,26583,18888,18888,18888,35585,23984,27211,27211,27211,24005,22201,24033,24401,24401,24401,24052,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,26496,24076,24126,24151,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22638,18836,22059,19678,27857,24185,24401,24201,24217,26592,18888,18888,18890,24252,24268,27211,27211,22121,24287,24303,24401,24401,30613,19781,35432,36007,32649,18888,25783,24322,28966,23771,27211,35072,22164,24358,32106,26829,24400,31500,31693,18888,18888,18888,24801,18890,27211,27211,27211,27211,24418,19484,24401,24401,24401,24401,20167,31181,18888,18888,18888,27833,23086,27211,27211,33540,27211,30756,21431,24401,24401,22972,24401,26095,18888,36131,18888,27855,27211,24440,27211,22187,22968,24401,24459,24401,31699,28454,18888,34528,34570,35779,24478,24402,24494,25659,18888,36228,27211,27211,24515,30981,23734,31018,18890,27211,31833,19406,19447,23086,23330,24538,31017,27856,31741,30059,23377,24563,19837,25782,19760,31015,23516,25374,22105,19419,29793,24579,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22653,18836,22059,25756,19982,34097,23196,29183,24614,24110,23641,24673,26103,24697,24443,24713,28558,22121,24748,24462,24764,23398,30613,18888,18888,18888,18888,24798,25783,27211,27211,27211,34232,35072,22164,24401,24401,24401,33302,31500,22559,24106,24232,18888,18888,34970,24817,30411,27211,27211,32484,19484,29750,35127,24401,24401,19872,31181,24852,18888,18888,24871,29221,27211,27211,32072,27211,30756,34441,24401,24401,31571,24401,26095,33141,27802,27011,27855,25295,25607,24888,22187,22968,19195,34593,24906,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,33663,27211,27211,24924,24947,23588,31018,18890,27211,31833,22135,19447,23086,23330,19828,30904,31042,24972,19840,25e3,31738,30898,25782,19760,31015,23516,31008,22105,19419,25016,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22668,18836,25041,25057,31320,25073,25089,25105,22087,34796,24236,36138,34870,34125,25121,23106,35497,22248,36613,25137,30671,27365,30613,25153,26447,25199,25233,22574,23274,25249,25265,25281,25318,25344,25360,25400,25428,25452,26731,25504,31693,23669,25558,27407,25575,28599,25934,25599,27211,28180,27304,25623,25839,25649,24401,34820,25681,25698,22586,27775,30190,25745,25778,25799,25817,28995,33569,30756,21518,33443,25837,25855,25893,26095,31254,26677,30136,27855,25930,25950,27211,22187,22968,25966,25986,24401,23428,27763,36330,26959,26002,26029,26045,26085,26119,26170,26203,26222,26239,30527,26372,26274,28404,31018,33757,27211,34262,26316,36729,26345,26366,35337,31017,26388,26407,30954,26350,33861,26434,26463,26479,26512,23516,33189,26531,26547,27963,31293,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22683,18836,26568,26181,26608,34097,26643,29183,22087,26669,18888,18888,18890,26693,27211,27211,27211,22121,26720,24401,24401,24401,30613,18888,18888,18888,18888,26774,25783,27211,27211,27211,26619,35072,22164,24401,24401,24401,21596,31500,31693,18888,18888,33978,18888,18890,27211,27211,25801,27211,27211,19484,24401,24401,24401,26792,24401,31181,18888,18888,18888,35464,23086,27211,27211,27211,26809,30756,21431,24401,24401,24401,26828,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,31948,18889,35707,27211,19719,26845,19868,31018,18890,27211,31833,19406,19447,23086,23330,26905,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,24984,31088,19419,26945,27651,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22698,18836,26999,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23051,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,27033,24401,24401,24401,24401,24036,31693,18888,18888,27056,18888,18890,27211,27211,30320,27211,27211,27075,24401,24401,29032,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,33986,27855,27211,27211,27102,17590,24017,24401,24401,27123,27144,36254,27162,27210,27228,28500,18187,34842,33426,27244,35980,27277,27302,27320,36048,34013,20999,31882,21478,27895,27356,30287,27381,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,26329,30087,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,27406,27423,27445,35294,27461,22087,18888,18888,30140,18890,27211,27211,27989,27211,22121,24401,24401,25682,24401,18866,18888,18888,18888,18888,18888,34042,27211,27211,27211,27211,29700,22164,24401,24401,24401,24401,27128,31693,27477,18888,18888,18888,18890,27194,27211,27211,27211,27211,19484,35299,24401,24401,24401,24401,19628,18888,18888,18888,27059,23086,27211,27211,27211,33366,30756,24012,24401,24401,24401,35044,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,20815,27211,30818,19960,33969,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22713,18836,22059,27496,27516,27541,35231,27557,22087,29662,26292,23292,27573,24836,27601,27211,27636,22121,35544,27686,24401,27721,18866,18888,27799,18888,27818,22071,27853,32260,27211,26013,27873,27920,22164,29419,24401,29946,33413,26742,27751,26881,18888,18888,27261,36776,27936,27211,27211,27211,27988,28005,28031,28052,24401,24401,28069,28088,28135,25488,28152,26069,28167,27211,28340,24657,28196,30756,31523,24401,28212,34176,36174,24956,28248,28266,28290,21488,33077,28327,28356,17590,20986,23126,28391,28425,28102,28451,28470,28490,28516,28534,20034,33728,25868,25659,18888,18889,27211,27211,19719,23889,19868,30241,28274,28553,28574,19406,28590,23086,23330,19828,19452,28615,28660,26147,25783,31738,19837,25782,19760,29613,35958,29276,22105,19419,27963,23157,28700,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,22528,18888,18888,18888,18888,18890,27333,27211,27211,27211,27211,19484,30853,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22728,18836,28747,28782,28817,28841,28857,28880,28896,24161,28943,32011,36261,27340,28961,29492,28982,29011,24522,29027,25436,29048,23051,27500,29090,29110,30713,18888,23512,29130,25183,27211,29155,28927,27033,29173,23230,24401,29199,35373,31693,18888,18888,25583,32629,29218,27211,27211,31461,30692,29237,27075,24401,24401,24401,29262,29302,19628,18888,34329,18888,18888,23086,27211,29329,27211,27211,30756,24012,35933,24401,24401,24401,27705,31612,18888,18888,29346,29374,27211,35650,17590,21436,29393,24401,25970,18887,33895,18888,27211,32528,27212,24016,32769,19868,25659,18888,26889,27211,27211,29412,23889,24371,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31768,19840,25783,31738,19837,29435,29508,31102,29550,29606,22105,30300,29462,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22743,18836,22059,29629,29473,34097,33285,29183,29651,27254,18888,29678,33329,32535,27211,29694,29716,22121,19202,24401,32742,29741,18866,26776,33921,28474,18888,18888,25783,29766,27211,29809,27211,35072,22164,35825,24401,29828,24401,24036,36769,25217,18888,18888,29848,18890,27211,29871,27211,26258,27211,29894,24401,29929,24401,36587,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,29725,29962,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18473,18888,18888,19584,27211,27212,24016,29982,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19902,19447,32052,19544,19828,29998,30097,30031,19840,25783,30047,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,30075,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22758,18836,30121,30156,30206,30257,30273,30336,22087,35624,32837,25762,18890,29878,34934,26812,27211,22121,24931,23223,29202,24401,18866,34373,30352,18888,18888,18888,23447,24828,27211,27211,27211,35072,30370,35052,24401,24401,24401,24036,29523,18888,18888,27146,18888,31308,30386,27211,27211,30405,30558,19484,30427,24401,24401,29938,35686,19628,28766,30447,34506,35614,23086,28731,30482,30517,30552,30756,24012,20156,30574,30598,30667,26283,33464,28945,27670,30687,32915,33504,25328,17590,23963,20450,33837,21016,32397,26300,30708,30729,27885,30748,21588,36373,30779,26653,24628,33220,32514,30806,31835,25412,25906,26515,18890,28825,31833,26133,19447,28304,31730,23834,26057,30869,30885,32181,30920,30942,32797,25782,30970,31015,23516,31008,30997,31034,27963,19659,29450,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22773,18836,31058,31074,32463,31125,31141,31197,22087,18888,29534,35471,36738,27211,24342,31213,24424,22121,24401,20175,31229,31917,27736,31245,34334,27175,18888,29094,27286,27211,31278,31336,27211,31355,31371,24401,31402,31418,24401,31437,31693,18888,31619,32841,18888,18890,27211,27211,31460,31477,27211,19484,24401,24401,31497,36581,24401,33020,18888,18888,18888,18888,30007,27211,27211,27211,27211,31516,32310,24401,24401,24401,24401,31539,18888,28762,18888,24651,35740,27211,27211,28644,31565,35796,24401,24401,19318,32188,18888,24334,28366,27212,29966,29832,19868,25659,18888,18889,27211,27211,19719,31587,19868,31635,32435,33693,30105,31663,20005,31715,31757,31784,31812,30015,31851,31878,25783,31898,19837,25782,19760,31015,23516,31008,22105,19419,27963,31933,30221,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22788,18836,22059,25729,30466,31968,24306,31984,32e3,32807,35160,27017,29590,34941,19801,29377,33700,22121,27040,30431,29396,28864,29565,18888,18888,18888,32027,18888,25783,27211,27211,23698,27211,35072,22164,24401,24401,30845,24401,24036,32045,18888,26929,18888,18888,18890,27211,31481,32068,27211,27211,32088,24401,33058,32122,24401,24401,33736,18888,18888,33162,18888,23086,27211,27211,29484,27211,28375,32144,24401,24401,33831,24401,26750,18888,18888,18888,27855,27211,27211,27211,36704,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,33107,22171,33224,24271,32169,31017,27856,31741,19840,25783,31738,30234,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,32204,32232,32252,32677,33295,29074,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23619,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,32276,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,32299,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,33886,18889,36065,27211,19719,35326,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22803,18836,32335,31647,34666,32351,32367,32417,22087,18888,32433,19335,32451,27211,32479,27107,32500,22121,24401,32551,20085,32572,18866,22287,23753,18888,18888,32602,32665,27211,32693,27211,26972,32713,32729,24401,32764,24401,25877,32785,34768,18888,27390,32823,24594,24855,32857,24890,32878,32904,27211,32942,32977,24401,33e3,29313,24401,30790,26206,27666,33904,18888,23086,36353,27211,33036,27211,30756,24012,32153,24401,33056,24401,35861,18888,18888,30354,27972,27211,27211,33800,17590,20145,24401,24401,34638,20811,18888,18888,33074,27211,27212,36167,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,34616,24169,33093,33123,33157,27856,31741,23862,26552,34302,19837,25782,19760,31015,23516,31008,33178,19973,27963,23497,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22818,18836,33205,28113,33240,34097,33275,29183,22087,33318,35438,18888,18890,33345,26391,33382,27211,22121,33399,28072,33442,24401,18866,22232,18888,33459,18888,18888,33480,33498,25175,27211,27211,26704,22164,24775,35239,24401,24401,25914,29580,18888,18888,31109,25211,33520,33539,27211,27211,33556,36284,19484,33585,24401,24401,33604,32556,19628,18888,18888,31262,33658,23086,27211,27211,33679,27211,30756,24012,24401,24401,33716,24401,26854,27480,18888,33752,27855,33259,34701,27211,17590,32102,24782,23807,24401,18887,18888,18888,27211,27211,27212,33773,36105,19868,25659,18888,23368,27211,29157,19719,23889,34454,29286,18890,33794,25302,33816,19447,34079,33853,31862,31017,27856,31741,33877,28920,33937,19837,30461,34002,22276,36041,34029,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22833,18836,34064,32616,34113,34141,34157,34192,34208,32216,36013,31549,31952,34224,34248,34287,29330,34350,34389,34413,34481,26793,18866,26187,29635,22293,18888,36654,25783,34522,34544,34566,25821,35072,22164,34586,34609,34632,19604,24036,36644,36674,24681,18888,32401,34654,31339,34682,34698,27211,34717,34753,28053,34812,34836,24401,33619,19628,34858,32236,34906,24598,33523,27612,34890,34922,24732,29246,36717,33634,34465,32984,34168,26750,34957,18888,18888,34994,35010,27211,33040,17590,29913,35035,24401,36304,25482,30171,35883,35068,35088,26627,20441,31173,35123,35143,35176,24640,30492,29358,19719,35192,35219,25384,28801,35255,35279,32586,34496,23086,23330,29061,31017,27856,31741,19840,25783,31738,24547,25164,35315,31796,35353,34316,22105,19419,27963,24091,28630,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22848,18836,22059,34782,34088,35389,21008,35405,35421,35454,18888,18888,23466,35487,27211,27211,27211,35513,31154,24401,24401,24401,35560,18888,26863,36664,35601,24872,25783,30389,23536,26250,35647,35666,22164,19522,19564,30582,35682,27697,35575,29114,18888,18888,18888,18890,27211,35702,27211,27211,27211,35723,24401,35527,24401,24401,24401,19628,30184,18888,18888,18888,23086,35739,27211,27211,27211,29139,22938,24401,24401,24401,24401,23898,35756,18888,18888,25025,35778,27211,27211,17590,20064,35795,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,23917,18890,34550,31833,22262,19447,23086,23330,26418,31017,27856,31741,19840,25783,35812,19837,27187,35841,33135,23516,31008,22105,22148,28712,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22863,18836,22059,35877,28723,34097,31164,29183,22087,26758,18888,22592,18890,23989,27211,29812,27211,22121,33778,24401,31421,24401,18866,18888,18888,26872,18888,18888,25783,27211,30732,27211,27211,35072,22164,24401,24908,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22878,18836,22059,27837,27857,35899,24401,35915,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31602,18888,18888,18888,18888,26223,27211,27211,27211,27211,27211,19484,35931,24401,24401,24401,24401,19628,18888,28136,18888,18888,35949,27211,32862,27211,32697,30756,24012,24401,32283,24401,32128,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22893,18836,22059,35974,34882,34097,33960,29183,35996,18888,23311,18888,36029,27211,27211,36064,36081,22121,24401,24401,36104,33950,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,36121,18888,25559,18888,18888,18890,27211,27211,30313,27211,27211,36154,24401,24401,34397,24401,24401,19628,28250,18888,18888,18888,23086,30926,27211,27211,27211,26983,24012,33642,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,19354,27857,36190,24401,36206,22087,18888,18888,18888,18007,27211,27211,27211,24724,22121,24401,24401,24401,30827,18866,18888,36222,18888,28795,18888,25783,35100,27211,27429,27211,35072,22164,30836,24401,24499,24401,24036,31693,18888,36244,18888,18888,18890,27211,36088,27211,27211,27211,19484,24401,28036,24401,24401,24401,19628,18888,18888,35631,18888,35762,27211,27211,36277,27211,34730,24012,24401,24401,36300,24401,36320,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,25712,18888,18888,36346,27211,27212,19184,24402,19868,25659,32029,18889,27211,33359,19719,23889,36369,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22384,18836,36389,19008,19233,20367,36434,17173,17595,36437,17330,17349,18921,17189,17208,17281,20355,36453,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22369,18836,18987,19008,19233,20367,19008,21737,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21813,18836,36489,19008,19233,20367,19008,17173,17737,36437,17330,17349,18921,17189,17208,17281,20355,17768,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20543,22022,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,36517,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,19307,18888,27857,30756,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,36567,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,36603,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,36629,36690,18720,19008,19233,20367,19008,17454,17595,36437,17330,17349,18921,17189,17208,17281,20355,17223,17308,17327,17346,18918,36754,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,0,94242,0,118820,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2482176,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,27,27,27,2207744,2404352,2412544,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3104768,2605056,2207744,2207744,2207744,2207744,2207744,2207744,2678784,2207744,2695168,2207744,2703360,2207744,2711552,2752512,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,0,2158592,2158592,3170304,3174400,2158592,0,139,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2158592,2158592,2158592,2863104,2891776,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2785280,2207744,2809856,2207744,2207744,2842624,2207744,2207744,2207744,2899968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2473984,2207744,2207744,2494464,2207744,2207744,2207744,2523136,2158592,2404352,2412544,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2605056,2158592,2158592,2158592,2158592,2158592,2158592,2678784,2158592,2695168,2158592,2703360,2158592,2711552,2752512,2158592,2158592,2785280,2158592,2158592,2785280,2158592,2809856,2158592,2158592,2842624,2158592,2158592,2158592,2899968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,18,0,0,0,0,0,0,0,2211840,0,0,641,0,2158592,0,0,0,0,0,0,0,0,2211840,0,0,32768,0,2158592,0,2158592,2158592,2158592,2383872,2158592,2158592,2158592,2158592,3006464,2383872,2207744,2207744,2207744,2207744,2158877,2158877,2158877,2158877,0,0,0,2158877,2572573,2158877,2158877,0,2207744,2207744,2596864,2207744,2207744,2207744,2207744,2207744,2207744,2641920,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,167936,0,0,2162688,0,0,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,0,0,2146304,2146304,2224128,2224128,2232320,2232320,2232320,641,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2531328,2158592,2158592,2158592,2158592,2158592,2617344,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,2158592,2502656,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2158592,2158592,2158592,2158592,2158592,2699264,2158592,2158592,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2207744,2863104,2891776,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3018752,2207744,3043328,2207744,2207744,2207744,2207744,3080192,2207744,2207744,3112960,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,172310,279,0,2162688,0,0,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2158592,2158592,2158592,2404352,2412544,2158592,2510848,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2584576,2158592,2609152,2158592,2158592,2629632,2158592,2158592,2158592,2686976,2158592,2715648,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2158592,2158592,3170304,3174400,2158592,2367488,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,0,2207744,2207744,2207744,2433024,2207744,2453504,2461696,2207744,2207744,2207744,2207744,2207744,2207744,2510848,2207744,2207744,2207744,2207744,2207744,2531328,2207744,2207744,2207744,2207744,2207744,2617344,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,1508,2715648,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2867200,2207744,2904064,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2580480,2207744,2207744,2207744,2207744,2621440,2207744,2207744,2207744,3149824,2207744,2207744,3170304,3174400,2207744,0,0,0,0,0,0,0,0,0,0,138,2158592,2158592,2158592,2404352,2412544,2707456,2732032,2207744,2207744,2207744,2822144,2826240,2207744,2895872,2207744,2207744,2924544,2207744,2207744,2973696,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,285,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3186688,2158592,2207744,2207744,2158592,2158592,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2158592,0,0,2535424,2543616,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2990080,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2572288,2981888,2207744,2207744,3002368,2207744,3047424,3063808,3076096,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3203072,2708960,2732032,2158592,2158592,2158592,2822144,2827748,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2981888,2158592,2158592,3002368,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2981888,2158592,2158592,3003876,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,20480,0,0,0,0,0,2162688,20480,0,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2908160,2527232,2207744,2207744,2576384,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2908160,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,286,2158592,2158592,0,0,2158592,2158592,2158592,2158592,2633728,2658304,0,0,2740224,2744320,0,2834432,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,0,0,29315,0,0,0,0,45,45,45,45,45,933,45,45,45,45,442,45,45,45,45,45,45,45,45,45,67,67,2494464,2158592,2158592,2158592,2524757,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,1504,2158592,2498560,2158592,2158592,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,2736128,2158592,2158592,0,2158592,2912256,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3108864,2158592,2158592,3133440,3145728,3153920,2375680,2379776,2207744,2207744,2420736,2207744,2449408,2207744,2207744,2207744,2498560,2207744,2207744,2207744,2207744,2568192,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,551,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,2020,2158592,2592768,2625536,2207744,2207744,2674688,2736128,2207744,2207744,2207744,2912256,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,542,0,544,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,641,0,0,0,0,0,0,2367488,2158592,2498560,2158592,2158592,1621,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,1608,97,97,97,97,97,97,97,97,97,97,1107,97,97,1110,97,97,3133440,3145728,3153920,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3014656,2158592,2158592,3051520,2158592,2158592,3100672,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2416640,2207744,2465792,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2633728,2658304,2740224,2744320,2834432,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,32768,0,0,0,0,0,0,2367488,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2158592,2158592,2478080,2158592,2158592,2158592,2535424,2543616,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3117056,2207744,2207744,2478080,2207744,2207744,2207744,2207744,2699264,2207744,2207744,2207744,2207744,2207744,2748416,2756608,2777088,2801664,2207744,2207744,2158877,2158877,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,0,0,2535709,2543901,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2990365,2158877,2158877,2158730,2158730,2158730,2158730,2158730,2572426,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158592,2158592,2478080,2207744,2207744,2990080,2207744,2207744,2158592,2158592,2482176,2158592,2158592,0,0,0,2158592,2158592,2158592,0,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,3010560,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158592,2428928,2158592,2514944,0,0,2158592,2588672,2158592,0,2838528,2158592,2158592,2158592,3010560,2158592,2506752,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,0,29315,922,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,1539,45,3006464,2383872,0,2020,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,2207744,0,0,2158592,2637824,2953216,2158592,2539520,2158592,2539520,2207744,0,0,2539520,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,0,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2965504,2965504,2965504,0,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2474269,2158877,2158877,0,0,2158877,2158877,2158877,2158877,2634013,2658589,0,0,2740509,2744605,0,2834717,40976,18,36884,45078,24,28,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,36884,0,0,0,24,24,24,27,27,27,27,90143,0,0,86016,0,0,2211840,102439,0,0,0,98347,0,2158592,2158592,2158592,2158592,2158592,3158016,0,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,0,94242,0,0,0,2211840,102439,0,0,106538,98347,135,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2158592,2158592,2158592,2596864,2158592,2158592,2158592,2158592,2158592,2158592,2641920,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2494464,2158592,2158592,2158592,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,0,27,27,0,2158592,2498560,2158592,2158592,0,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2494464,2158592,2158592,2158592,3006464,2383872,0,0,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,40976,18,36884,45078,24,27,147488,94242,147456,147488,106538,98347,0,0,147456,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,81920,0,94242,0,0,0,2211840,0,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2428928,2158592,2514944,2158592,2588672,2158592,2838528,2158592,2158592,40976,18,151573,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,1487,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,0,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,130,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,3096576,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,644,2207744,2207744,2207744,3186688,2207744,0,1080,0,1084,0,1088,0,0,0,0,0,0,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2531466,2158730,2158730,2158730,2158730,2158730,2617482,0,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2158592,2818048,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,159779,159744,102439,159779,98347,0,0,159744,40976,18,18,36884,0,45078,0,2224253,172032,2224253,2232448,2232448,172032,2232448,90143,0,0,2170880,0,0,550,829,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,124,124,127,127,127,40976,18,36884,45078,25,29,90143,94242,0,102439,106538,98347,0,0,163931,40976,18,18,36884,0,45078,249856,24,24,24,27,27,27,27,90143,0,0,2170880,0,0,827,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,4243810,4243810,24,24,27,27,27,2207744,0,0,0,0,0,0,2166784,0,0,0,0,57344,286,2158592,2158592,2158592,2158592,2707456,2732032,2158592,2158592,2158592,2822144,2826240,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,53248,0,0,0,0,0,97,97,97,97,97,1613,97,97,97,97,97,97,1495,97,97,97,97,97,97,97,97,97,566,97,97,97,97,97,97,2207744,0,0,0,0,0,0,2166784,546,0,0,0,0,286,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,17,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,120,121,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,2170880,0,53248,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,196608,18,266240,24,24,27,27,27,0,94242,0,0,0,38,102439,0,0,106538,98347,0,45,45,45,45,45,45,45,1535,45,45,45,45,45,45,45,1416,45,45,45,45,45,45,45,45,424,45,45,45,45,45,45,45,45,45,405,45,45,45,45,45,45,45,45,45,45,45,45,45,199,45,45,67,67,67,67,67,491,67,67,67,67,67,67,67,67,67,67,67,1766,67,67,67,1767,67,24850,24850,12564,12564,0,0,2166784,546,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,743,57889,0,2170880,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1856,45,1858,1859,67,67,67,1009,67,67,67,67,67,67,67,67,67,67,67,1021,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,0,2367773,2158877,2158877,2158877,2158877,2158877,2158877,2699549,2158877,2158877,2158877,2158877,2158877,2748701,2756893,2777373,2801949,97,1115,97,97,97,97,97,97,97,97,97,97,97,97,97,97,857,97,67,67,67,67,67,1258,67,67,67,67,67,67,67,67,67,67,67,1826,67,97,97,97,97,97,97,1338,97,97,97,97,97,97,97,97,97,97,97,97,97,870,97,97,67,67,67,1463,67,67,67,67,67,67,67,67,67,67,67,67,67,1579,67,67,97,97,97,1518,97,97,97,97,97,97,97,97,97,97,97,97,97,904,905,97,97,97,97,1620,97,97,97,97,97,97,97,97,97,97,97,0,921,0,0,0,0,0,0,45,1679,67,67,67,1682,67,67,67,67,67,67,67,67,67,1690,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,669,45,45,45,45,45,45,45,45,45,45,45,45,189,45,45,45,1748,45,45,45,1749,1750,45,45,45,45,45,45,45,45,67,67,67,67,1959,67,67,67,67,1768,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,1791,97,97,97,97,97,97,97,97,45,45,45,45,45,45,1802,67,1817,67,67,67,67,67,67,1823,67,67,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,1848,45,45,45,45,45,45,45,45,45,45,45,659,45,45,45,45,45,45,45,1863,67,67,67,67,67,67,67,67,67,67,67,67,495,67,67,67,67,67,1878,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,67,67,67,67,97,97,97,97,0,0,0,1973,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1165,97,1167,67,24850,24850,12564,12564,0,0,2166784,0,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,1789,97,0,94242,0,0,0,2211840,102439,0,0,106538,98347,136,2158592,2158592,2158592,2158592,2158592,3158016,229376,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,67,24850,24850,12564,12564,0,0,280,547,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,1788,97,97,0,97,2024,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,235,67,67,67,67,67,57889,547,547,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,1799,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1092,0,0,0,0,0,97,97,97,97,1612,97,97,97,97,1616,97,1297,1472,0,0,0,0,1303,1474,0,0,0,0,1309,1476,0,0,0,0,97,97,97,1481,97,97,97,97,97,97,1488,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,97,607,97,97,97,97,40976,18,36884,45078,26,30,90143,94242,0,102439,106538,98347,0,0,213080,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,143448,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,0,0,0,97,97,97,97,1482,97,1483,97,97,97,97,97,97,1326,97,97,1329,1330,97,97,97,97,97,97,1159,1160,97,97,97,97,97,97,97,97,590,97,97,97,97,97,97,97,0,94242,0,0,0,2211974,102439,0,0,106538,98347,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2474122,2158730,2158730,2494602,2158730,2158730,2158730,2809994,2158730,2158730,2842762,2158730,2158730,2158730,2900106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3014794,2158730,2158730,3051658,2158730,2158730,3100810,2158730,2158730,2158730,2158730,3096714,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,2207744,541,541,543,543,0,0,2166784,0,548,549,549,0,286,2158877,2158877,2158877,2863389,2892061,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3186973,2158877,0,0,0,0,0,0,0,0,2367626,2158877,2404637,2412829,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2564381,2158877,2158877,2605341,2158877,2158877,2158877,2158877,2158877,2158877,2679069,2158877,2695453,2158877,2703645,2158877,2711837,2752797,2158877,0,2158877,2158877,2158877,2384010,2158730,2158730,2158730,2158730,3006602,2383872,2207744,2207744,2207744,2207744,2207744,2207744,3096576,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,0,2158877,2785565,2158877,2810141,2158877,2158877,2842909,2158877,2158877,2158877,2900253,2158877,2158877,2158877,2158877,2158877,2531613,2158877,2158877,2158877,2158877,2158877,2617629,2158877,2158877,2158877,2158877,2158730,2818186,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3105053,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,0,0,0,0,0,97,97,97,1611,97,97,97,97,97,97,97,1496,97,97,1499,97,97,97,97,97,2441354,2445450,2158730,2158730,2158730,2158730,2158730,2158730,2502794,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2433162,2158730,2453642,2461834,2158730,2158730,2158730,2158730,2158730,2158730,2580618,2158730,2158730,2158730,2158730,2621578,2158730,2158730,2158730,2158730,2158730,2158730,2699402,2158730,2158730,2158730,2158730,2678922,2158730,2695306,2158730,2703498,2158730,2711690,2752650,2158730,2158730,2785418,2158730,2158730,2158730,3113098,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3186826,2158730,2207744,2207744,2207744,2207744,2781184,2793472,2207744,2818048,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,541,0,543,2158877,2502941,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2580765,2158877,2158877,2158877,2158877,2621725,2158877,3019037,2158877,3043613,2158877,2158877,2158877,2158877,3080477,2158877,2158877,3113245,2158877,2158877,2158877,2158877,0,2158877,2908445,2158877,2158877,2158877,2978077,2158877,2158877,2158877,2158877,3039517,2158877,2158730,2510986,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2584714,2158730,2609290,2158730,2158730,2629770,2158730,2158730,2158730,2388106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2605194,2158730,2158730,2158730,2158730,2687114,2158730,2715786,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2867338,2158730,2904202,2158730,2158730,2158730,2642058,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2781322,2793610,2158730,3121290,2158730,2158730,2158730,3149962,2158730,2158730,3170442,3174538,2158730,2367488,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2441216,2445312,2207744,2207744,2207744,2207744,2207744,2207744,2502656,2158877,2433309,2158877,2453789,2461981,2158877,2158877,2158877,2158877,2158877,2158877,2511133,2158877,2158877,2158877,2158877,2584861,2158877,2609437,2158877,2158877,2629917,2158877,2158877,2158877,2687261,2158877,2715933,2158877,2158730,2158730,2973834,2158730,2982026,2158730,2158730,3002506,2158730,3047562,3063946,3076234,2158730,2158730,2158730,2158730,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158877,2507037,0,0,2158877,2158730,2158730,2158730,3203210,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2564096,2207744,2207744,2207744,2707741,2732317,2158877,2158877,2158877,2822429,2826525,2158877,2896157,2158877,2158877,2924829,2158877,2158877,2973981,2158877,18,0,0,0,0,0,0,0,2211840,0,0,642,0,2158592,0,45,1529,45,45,45,45,45,45,45,45,45,45,45,45,45,1755,45,67,67,2982173,2158877,2158877,3002653,2158877,3047709,3064093,3076381,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3203357,2523274,2527370,2158730,2158730,2576522,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2908298,2494749,2158877,2158877,2158877,2523421,2527517,2158877,2158877,2576669,2158877,2158877,2158877,2158877,2158877,2158877,0,40976,0,18,18,4321280,2224253,2232448,4329472,2232448,2158730,2498698,2158730,2158730,2158730,2158730,2568330,2158730,2592906,2625674,2158730,2158730,2674826,2736266,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2158730,2912394,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3109002,2158730,2158730,3133578,3145866,3154058,2375680,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375965,2380061,2158877,2158877,2421021,2158877,2449693,2158877,2158877,2158877,3117341,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3104906,2158730,2158730,2158730,2158730,2158730,2158730,2158877,2498845,2158877,2158877,0,2158877,2158877,2568477,2158877,2593053,2625821,2158877,2158877,2674973,0,0,0,0,97,97,1480,97,97,97,97,97,1485,97,97,97,0,97,97,1729,97,1731,97,97,97,97,97,97,97,311,97,97,97,97,97,97,97,97,1520,97,97,1523,97,97,1526,97,2736413,2158877,2158877,0,2158877,2912541,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3109149,2158877,2158877,3014941,2158877,2158877,3051805,2158877,2158877,3100957,2158877,2158877,3121437,2158877,2158877,2158877,3150109,3133725,3146013,3154205,2158730,2408586,2416778,2158730,2465930,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3018890,2158730,3043466,2158730,2158730,2158730,2158730,3080330,2633866,2658442,2740362,2744458,2834570,2949258,2158730,2986122,2158730,2998410,2158730,2158730,2158730,3129482,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158877,2408733,2416925,2158877,2466077,2158877,2158877,3170589,3174685,2158877,0,0,0,2158730,2158730,2158730,2158730,2158730,2424970,2158730,2158730,2158730,2158730,2707594,2732170,2158730,2158730,2158730,2822282,2826378,2158730,2896010,2158730,2158730,2924682,2949405,2158877,2986269,2158877,2998557,2158877,2158877,2158877,3129629,2158730,2158730,2478218,2158730,2158730,2158730,2535562,2543754,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3117194,2207744,2207744,2478080,2207744,2207744,2207744,2207744,3014656,2207744,2207744,3051520,2207744,2207744,3100672,2207744,2207744,3121152,2207744,2207744,2207744,2207744,2207744,2584576,2207744,2609152,2207744,2207744,2629632,2207744,2207744,2207744,2686976,2207744,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158877,2158877,2478365,0,2158877,2158877,2158877,2158877,2158877,2158877,2158730,2158730,2482314,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,823,0,825,2158730,2158730,2158730,2990218,2158730,2158730,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,135,0,2207744,2207744,2990080,2207744,2207744,2158877,2158877,2482461,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,2158877,2158730,2429066,2158730,2515082,2158730,2588810,2158730,2838666,2158730,2158730,2158730,3010698,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158877,2429213,2158877,2515229,0,0,2158877,2588957,2158877,0,2838813,2158877,2158877,2158877,3010845,2158730,2506890,2158730,2158730,2158730,2748554,2756746,2777226,2801802,2158730,2158730,2158730,2863242,2891914,2158730,2158730,2158730,2158730,2158730,2158730,2564234,2158730,2158730,2158730,2158730,2158730,2597002,2158730,2158730,2158730,3006464,2384157,0,0,2158877,2158877,2158877,2158877,3006749,2158730,2637962,2953354,2158730,2207744,2637824,2953216,2207744,0,0,2158877,2638109,2953501,2158877,2539658,2158730,2539520,2207744,0,0,2539805,2158877,2158730,2158730,2158730,2977930,2158730,2158730,2158730,2158730,3039370,2158730,2158730,2158730,2158730,2158730,2158730,3158154,2207744,0,2158877,2158730,2207744,0,2158877,2158730,2207744,0,2158877,2965642,2965504,2965789,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,97,1484,97,97,97,97,2158592,18,0,122880,0,0,0,77824,0,2211840,0,0,0,0,2158592,0,356,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,45,1751,45,45,45,45,45,45,45,67,67,1427,67,67,67,67,67,1432,67,67,67,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,122880,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,1322,550,0,286,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,4329472,27,27,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,542,0,0,0,542,0,544,0,0,0,544,0,550,0,0,0,0,0,97,97,1610,97,97,97,97,97,97,97,97,898,97,97,97,97,97,97,97,0,94242,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,94242,237568,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,192512,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,94,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,96,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,12378,40976,18,18,36884,0,45078,0,24,24,24,126,126,126,126,90143,0,0,2170880,0,0,0,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,20480,40976,0,18,18,24,24,27,27,27,40976,18,36884,45078,24,27,90143,94242,241664,102439,106538,98347,0,0,20568,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,200797,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,0,0,44,0,0,20575,40976,18,36884,45078,24,27,90143,94242,0,41,41,41,0,0,1126400,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,89,40976,18,18,36884,0,45078,0,24,24,24,27,131201,27,27,90143,0,0,2170880,0,0,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,208896,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,0,0,0,0,0,0,2367488,32768,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2433024,2158592,2453504,2461696,2158592,2158592,2158592,2158592,2158592,2158592,2510848,2158592,2158592,2158592,2158592,40976,18,36884,245783,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,221184,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,180224,40976,18,18,36884,155648,45078,0,24,24,217088,27,27,27,217088,90143,0,0,2170880,0,0,828,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,233472,0,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,718,45,45,45,45,45,45,45,45,45,727,131427,0,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,45,1808,45,45,45,45,67,67,67,67,67,67,67,97,97,0,0,97,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,0,0,97,97,97,97,97,97,1787,0,97,97,0,97,97,97,45,45,45,45,2029,45,67,67,67,67,2033,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,97,45,1798,45,45,1800,45,45,0,1472,0,0,0,0,0,1474,0,0,0,0,0,1476,0,0,0,0,1315,0,0,0,0,97,97,97,97,1320,97,97,0,0,97,97,97,97,1786,97,0,0,97,97,0,1790,1527,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,663,67,24850,24850,12564,12564,0,57889,281,0,0,53531,53531,367,286,97,97,0,0,97,97,97,1785,97,97,0,0,97,97,0,97,97,1979,97,97,45,45,1983,45,1984,45,45,45,45,45,652,45,45,45,45,45,45,45,45,45,45,690,45,45,694,45,45,40976,19,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,262144,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,46,67,98,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,45,67,97,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,258048,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,1122423,40976,18,36884,45078,24,27,90143,94242,0,1114152,1114152,1114152,0,0,1114112,40976,18,36884,45078,24,27,90143,94242,37,102439,106538,98347,0,0,204800,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,57436,40976,18,36884,45078,24,27,33,33,0,33,33,33,0,0,0,40976,18,18,36884,0,45078,0,124,124,124,127,127,127,127,90143,0,0,2170880,0,0,550,0,2158877,2158877,2158877,2388253,2158877,2158877,2158877,2158877,2158877,2781469,2793757,2158877,2818333,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2867485,2158877,2904349,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3096861,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2441501,2445597,2158877,2158877,2158877,2158877,2158877,40976,122,123,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,936,2158592,4243810,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,935,45,45,45,715,45,45,45,45,45,45,45,723,45,45,45,45,45,1182,45,45,45,45,45,45,45,45,45,45,430,45,45,45,45,45,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,47,68,99,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,48,69,100,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,49,70,101,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,50,71,102,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,51,72,103,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,52,73,104,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,53,74,105,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,54,75,106,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,55,76,107,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,56,77,108,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,57,78,109,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,58,79,110,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,59,80,111,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,60,81,112,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,61,82,113,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,62,83,114,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,63,84,115,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,64,85,116,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,65,86,117,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,66,87,118,40976,18,36884,45078,24,27,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,0,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1314,0,0,0,0,0,0,97,97,97,97,97,1321,97,18,131427,0,0,0,0,0,0,362,0,0,365,0,367,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1360,97,97,131,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,145,149,45,45,45,45,45,174,45,179,45,185,45,188,45,45,202,67,255,67,67,269,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,292,296,97,97,97,97,97,321,97,326,97,332,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,646,335,97,97,349,97,97,0,40976,0,18,18,24,24,27,27,27,437,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,523,67,67,67,67,67,67,67,67,67,67,67,67,511,67,67,67,97,97,97,620,97,97,97,97,97,97,97,97,97,97,97,97,97,1501,1502,97,793,67,67,796,67,67,67,67,67,67,67,67,67,67,808,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,2052,67,67,67,67,813,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,830,97,97,97,97,97,97,97,97,97,315,97,97,97,97,97,97,841,97,97,97,97,97,97,97,97,97,854,97,97,97,97,97,97,589,97,97,97,97,97,97,97,97,97,867,97,97,97,97,97,97,97,891,97,97,894,97,97,97,97,97,97,97,97,97,97,906,45,937,45,45,940,45,45,45,45,45,45,948,45,45,45,45,45,734,735,67,737,67,738,67,740,67,67,67,45,967,45,45,45,45,45,45,45,45,45,45,45,45,45,45,435,45,45,45,980,45,45,45,45,45,45,45,45,45,45,45,45,45,415,45,45,67,67,1024,67,67,67,67,67,67,67,67,67,67,67,67,67,97,97,97,67,67,67,67,67,25398,1081,13112,1085,54074,1089,0,0,0,0,0,0,363,0,28809,0,139,45,45,45,45,45,45,1674,45,45,45,45,45,45,45,45,67,1913,67,1914,67,67,67,1918,67,67,97,97,97,97,1118,97,97,97,97,97,97,97,97,97,97,97,630,97,97,97,97,97,1169,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,45,1534,45,45,45,45,45,1538,45,45,45,45,1233,45,45,45,45,45,45,67,67,67,67,67,67,67,67,742,67,45,45,1191,45,45,45,45,45,45,45,45,45,45,45,45,45,454,67,67,67,67,1243,67,67,67,67,67,67,67,67,67,67,67,1251,67,0,0,97,97,97,97,45,45,67,67,2050,0,97,97,45,45,45,732,45,45,67,67,67,67,67,67,67,67,67,67,67,67,97,97,67,67,67,1284,67,67,67,67,67,67,67,67,67,67,67,67,772,67,67,67,1293,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,368,2158592,2158592,2158592,2404352,2412544,1323,97,97,97,97,97,97,97,97,97,97,97,1331,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,1737,97,1364,97,97,97,97,97,97,97,97,97,97,97,97,1373,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,647,45,45,1387,45,45,1391,45,45,45,45,45,45,45,45,45,45,410,45,45,45,45,45,1400,45,45,45,45,45,45,45,45,45,45,1407,45,45,45,45,45,941,45,943,45,45,45,45,45,45,951,45,67,1438,67,67,67,67,67,67,67,67,67,67,1447,67,67,67,67,67,67,782,67,67,67,67,67,67,67,67,67,756,67,67,67,67,67,67,97,1491,97,97,97,97,97,97,97,97,97,97,1500,97,97,97,0,97,97,97,97,97,97,97,97,97,97,1736,97,45,45,1541,45,45,45,45,45,45,45,45,45,45,45,45,45,677,45,45,67,1581,67,67,67,67,67,67,67,67,67,67,67,67,67,67,791,792,67,67,67,67,1598,67,1600,67,67,67,67,67,67,67,67,1472,97,97,97,1727,97,97,97,97,97,97,97,97,97,97,97,97,97,1513,97,97,67,67,97,1879,97,1881,97,0,1884,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,1842,97,97,67,67,67,67,67,97,97,97,97,1928,0,0,0,97,97,97,97,97,97,45,45,45,45,45,1903,45,45,45,67,67,67,67,97,97,97,97,1971,0,0,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,1381,45,45,45,45,1976,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1747,809,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,97,907,97,97,97,97,97,97,97,97,97,97,97,638,0,0,0,0,1478,97,97,97,97,97,97,97,97,97,97,97,1150,97,97,97,97,67,67,67,67,1244,67,67,67,67,67,67,67,67,67,67,67,477,67,67,67,67,67,67,1294,67,67,67,67,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1324,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,1374,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,945,45,45,45,45,45,45,45,45,1908,45,45,1910,45,67,67,67,67,67,67,67,67,1919,67,0,0,97,97,97,97,45,2048,67,2049,0,0,97,2051,45,45,45,939,45,45,45,45,45,45,45,45,45,45,45,45,397,45,45,45,1921,67,67,1923,67,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1947,45,1935,0,0,0,97,1939,97,97,1941,97,45,45,45,45,45,45,382,389,45,45,45,45,45,45,45,45,1810,45,45,1812,67,67,67,67,67,256,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,336,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,45,371,373,45,45,45,955,45,45,45,45,45,45,45,45,45,45,45,45,413,45,45,45,457,459,67,67,67,67,67,67,67,67,473,67,478,67,67,482,67,67,485,67,67,67,67,67,67,67,67,67,67,67,67,67,97,1828,97,554,556,97,97,97,97,97,97,97,97,570,97,575,97,97,579,97,97,582,97,97,97,97,97,97,97,97,97,97,97,97,97,330,97,97,67,746,67,67,67,67,67,67,67,67,67,758,67,67,67,67,67,67,67,1575,67,67,67,67,67,67,67,67,493,67,67,67,67,67,67,67,97,97,844,97,97,97,97,97,97,97,97,97,856,97,97,97,0,97,97,97,97,97,97,97,97,1735,97,97,97,0,97,97,97,97,97,97,97,1642,97,1644,97,97,890,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,67,67,67,67,1065,1066,67,67,67,67,67,67,67,67,67,67,532,67,67,67,67,67,67,67,1451,67,67,67,67,67,67,67,67,67,67,67,67,67,496,67,67,97,97,1505,97,97,97,97,97,97,97,97,97,97,97,97,97,593,97,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,1617,97,97,1635,0,1637,97,97,97,97,97,97,97,97,97,97,97,885,97,97,97,97,67,67,1704,67,67,67,67,97,97,97,97,97,97,97,97,97,565,572,97,97,97,97,97,97,97,97,1832,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,1946,45,45,67,67,67,67,67,97,1926,97,1927,97,0,0,0,97,97,1934,2043,0,0,97,97,97,2047,45,45,67,67,0,1832,97,97,45,45,45,981,45,45,45,45,45,45,45,45,45,45,45,45,1227,45,45,45,131427,0,0,0,0,362,0,365,28809,367,139,45,45,372,45,45,45,45,1661,1662,45,45,45,45,45,1666,45,45,45,45,45,1673,45,1675,45,45,45,45,45,45,45,67,1426,67,67,67,67,67,67,67,67,67,67,1275,67,67,67,67,67,45,418,45,45,420,45,45,423,45,45,45,45,45,45,45,45,959,45,45,962,45,45,45,45,458,67,67,67,67,67,67,67,67,67,67,67,67,67,67,483,67,67,67,67,504,67,67,506,67,67,509,67,67,67,67,67,67,67,528,67,67,67,67,67,67,67,67,1287,67,67,67,67,67,67,67,555,97,97,97,97,97,97,97,97,97,97,97,97,97,97,580,97,97,97,97,601,97,97,603,97,97,606,97,97,97,97,97,97,848,97,97,97,97,97,97,97,97,97,1498,97,97,97,97,97,97,45,45,714,45,45,45,45,45,45,45,45,45,45,45,45,45,989,990,45,67,67,67,67,67,1011,67,67,67,67,1015,67,67,67,67,67,67,67,753,67,67,67,67,67,67,67,67,467,67,67,67,67,67,67,67,45,45,1179,45,45,45,45,45,45,45,45,45,45,45,45,45,1003,1004,67,1217,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,728,67,1461,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1034,67,97,1516,97,97,97,97,97,97,97,97,97,97,97,97,97,97,871,97,67,67,67,1705,67,67,67,97,97,97,97,97,97,97,97,97,567,97,97,97,97,97,97,97,97,97,97,1715,97,97,97,97,97,97,97,97,97,0,0,0,45,45,1380,45,45,45,45,45,67,67,97,97,97,97,97,0,0,0,97,1887,97,97,0,0,97,97,97,0,97,97,97,97,97,2006,45,45,1907,45,45,45,45,45,67,67,67,67,67,67,67,67,67,1920,67,97,0,2035,97,97,97,97,97,45,45,45,45,67,67,67,1428,67,67,67,67,67,67,1435,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,146,45,152,45,45,165,45,175,45,180,45,45,187,190,195,45,203,254,257,262,67,270,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,293,97,299,97,97,312,97,322,97,327,97,97,334,337,342,97,350,97,97,0,40976,0,18,18,24,24,27,27,27,67,484,67,67,67,67,67,67,67,67,67,67,67,67,67,499,97,581,97,97,97,97,97,97,97,97,97,97,97,97,97,596,648,45,650,45,651,45,653,45,45,45,657,45,45,45,45,45,45,1954,67,67,67,1958,67,67,67,67,67,67,67,768,67,67,67,67,67,67,67,67,769,67,67,67,67,67,67,67,680,45,45,45,45,45,45,45,45,688,689,691,45,45,45,45,45,983,45,45,45,45,45,45,45,45,45,45,947,45,45,45,45,952,45,45,698,699,45,45,702,703,45,45,45,45,45,45,45,711,744,67,67,67,67,67,67,67,67,67,757,67,67,67,67,761,67,67,67,67,765,67,767,67,67,67,67,67,67,67,67,775,776,778,67,67,67,67,67,67,785,786,67,67,789,790,67,67,67,67,67,67,1442,67,67,67,67,67,67,67,67,67,97,97,97,1775,97,97,97,67,67,67,67,67,798,67,67,67,802,67,67,67,67,67,67,67,67,1465,67,67,1468,67,67,1471,67,67,810,67,67,67,67,67,67,67,67,67,821,25398,542,13112,544,57889,0,0,54074,54074,550,0,833,97,835,97,836,97,838,97,97,0,0,97,97,97,2002,97,97,97,97,97,45,45,45,45,45,1740,45,45,45,1744,45,45,45,97,842,97,97,97,97,97,97,97,97,97,855,97,97,97,97,0,1717,1718,97,97,97,97,97,1722,97,0,0,859,97,97,97,97,863,97,865,97,97,97,97,97,97,97,97,604,97,97,97,97,97,97,97,873,874,876,97,97,97,97,97,97,883,884,97,97,887,888,97,18,131427,0,0,0,0,0,0,362,225280,0,365,0,367,0,45,45,45,1531,45,45,45,45,45,45,45,45,45,45,45,1199,45,45,45,45,45,97,97,908,97,97,97,97,97,97,97,97,97,919,638,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2425117,2158877,2158877,2158877,2158877,2158877,2158877,2597149,2158877,2158877,2158877,2158877,2158877,2158877,2642205,2158877,2158877,2158877,2158877,2158877,3158301,0,2375818,2379914,2158730,2158730,2420874,2158730,2449546,2158730,2158730,953,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,965,978,45,45,45,45,45,45,985,45,45,45,45,45,45,45,45,971,45,45,45,45,45,45,45,67,67,67,67,67,1027,67,1029,67,67,67,67,67,67,67,67,67,1455,67,67,67,67,67,67,67,1077,1078,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,366,0,139,2158730,2158730,2158730,2404490,2412682,1113,97,97,97,97,97,97,1121,97,1123,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1540,1155,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,615,1168,97,97,1171,1172,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,1533,45,45,45,45,45,45,45,45,45,1663,45,45,45,45,45,45,45,45,45,183,45,45,45,45,201,45,45,45,1219,45,45,45,45,45,45,45,1226,45,45,45,45,45,168,45,45,45,45,45,45,45,45,45,45,427,45,45,45,45,45,45,45,1231,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,1242,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1046,67,67,1254,67,1256,67,67,67,67,67,67,67,67,67,67,67,67,806,807,67,67,97,1336,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1111,97,97,97,97,97,1351,97,97,97,1354,97,97,97,1359,97,97,97,0,97,97,97,97,1640,97,97,97,97,97,97,97,897,97,97,97,902,97,97,97,97,97,97,97,97,1366,97,97,97,97,97,97,97,1371,97,97,97,0,97,97,97,1730,97,97,97,97,97,97,97,97,915,97,97,97,97,0,360,0,67,67,67,1440,67,67,67,67,67,67,67,67,67,67,67,67,1017,67,1019,67,67,67,67,67,1453,67,67,67,67,67,67,67,67,67,67,1459,97,97,97,1493,97,97,97,97,97,97,97,97,97,97,97,97,97,1525,97,97,97,97,97,97,1507,97,97,97,97,97,97,97,97,97,97,1514,67,67,67,67,1584,67,67,67,67,67,1590,67,67,67,67,67,67,67,783,67,67,67,788,67,67,67,67,67,67,67,67,67,1599,1601,67,67,67,1604,67,1606,1607,67,1472,0,1474,0,1476,0,97,97,97,97,97,97,1614,97,97,97,97,45,45,1850,45,45,45,45,1855,45,45,45,45,45,1222,45,45,45,45,45,45,45,45,45,1229,97,1618,97,97,97,97,97,97,97,1625,97,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,447,45,45,45,45,45,67,67,1633,97,97,0,97,97,97,97,97,97,97,97,1643,1645,97,97,0,0,97,97,1784,97,97,97,0,0,97,97,0,97,1894,1895,97,1897,97,45,45,45,45,45,45,45,45,45,656,45,45,45,45,45,45,97,1648,97,1650,1651,97,0,45,45,45,1654,45,45,45,45,45,169,45,45,45,45,45,45,45,45,45,45,658,45,45,45,45,664,45,45,1659,45,45,45,45,45,45,45,45,45,45,45,45,45,1187,45,45,1669,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,1005,67,67,1681,67,67,67,67,67,67,67,1686,67,67,67,67,67,67,67,784,67,67,67,67,67,67,67,67,1055,67,67,67,67,1060,67,67,97,97,1713,97,0,97,97,97,97,97,97,97,97,97,0,0,0,1378,45,45,45,45,45,45,45,408,45,45,45,45,45,45,45,45,1547,45,1549,45,45,45,45,45,97,97,1780,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,2027,2028,45,45,67,67,2031,2032,67,45,45,1804,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1917,67,67,67,67,67,67,67,1819,67,67,67,67,67,67,67,67,97,97,97,1708,97,97,97,97,97,45,45,1862,67,67,67,67,67,67,67,67,67,67,67,67,67,497,67,67,67,1877,97,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,1839,0,0,97,97,97,97,1936,0,0,97,97,97,97,97,97,1943,1944,1945,45,45,45,45,670,45,45,45,45,674,45,45,45,45,678,45,1948,45,1950,45,45,45,45,1955,1956,1957,67,67,67,1960,67,1962,67,67,67,67,1967,1968,1969,97,0,0,0,97,97,1974,97,0,1936,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1906,0,1977,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,1746,45,45,45,45,2011,67,67,2013,67,67,67,2017,97,97,0,0,2021,97,8192,97,97,2025,45,45,45,45,45,45,67,67,67,67,67,1916,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,140,45,45,45,1180,45,45,45,45,1184,45,45,45,45,45,45,45,387,45,392,45,45,396,45,45,399,45,45,67,207,67,67,67,67,67,67,236,67,67,67,67,67,67,67,800,67,67,67,67,67,67,67,67,67,1603,67,67,67,67,67,0,97,97,287,97,97,97,97,97,97,316,97,97,97,97,97,97,0,45,45,45,45,45,45,45,1656,1657,45,376,45,45,45,45,45,388,45,45,45,45,45,45,45,45,1406,45,45,45,45,45,45,45,67,67,67,67,462,67,67,67,67,67,474,67,67,67,67,67,67,67,817,67,67,67,67,25398,542,13112,544,97,97,97,97,559,97,97,97,97,97,571,97,97,97,97,97,97,896,97,97,97,900,97,97,97,97,97,97,912,914,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,45,391,45,45,45,45,45,45,45,45,713,45,45,45,45,45,45,45,45,45,45,45,45,45,45,662,45,1140,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,636,67,67,1283,67,67,67,67,67,67,67,67,67,67,67,67,67,513,67,67,1363,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,889,97,97,97,1714,0,97,97,97,97,97,97,97,97,97,0,0,926,45,45,45,45,45,45,45,45,672,45,45,45,45,45,45,45,45,686,45,45,45,45,45,45,45,45,944,45,45,45,45,45,45,45,45,1676,45,45,45,45,45,45,67,97,97,97,1833,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1902,45,45,45,45,45,957,45,45,45,45,961,45,963,45,45,45,67,97,2034,0,97,97,97,97,97,2040,45,45,45,2042,67,67,67,67,67,67,1574,67,67,67,67,67,1578,67,67,67,67,67,67,799,67,67,67,804,67,67,67,67,67,67,67,1298,0,0,0,1304,0,0,0,1310,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,1414,45,45,45,45,45,45,45,45,45,45,428,45,45,45,45,45,57889,0,0,54074,54074,550,831,97,97,97,97,97,97,97,97,97,568,97,97,97,97,578,97,45,45,968,45,45,45,45,45,45,45,45,45,45,45,45,45,1228,45,45,67,67,67,67,67,25398,1082,13112,1086,54074,1090,0,0,0,0,0,0,364,0,0,0,139,2158592,2158592,2158592,2404352,2412544,67,67,67,67,1464,67,67,67,67,67,67,67,67,67,67,67,510,67,67,67,67,97,97,97,97,1519,97,97,97,97,97,97,97,97,97,97,97,918,97,0,0,0,0,1528,45,45,45,45,45,45,45,45,45,45,45,45,45,45,976,45,1554,45,45,45,45,45,45,45,45,1562,45,45,1565,45,45,45,45,683,45,45,45,687,45,45,692,45,45,45,45,45,1953,45,67,67,67,67,67,67,67,67,67,1014,67,67,67,67,67,67,1568,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,67,67,67,67,67,1585,67,67,67,67,67,67,67,67,67,1594,97,97,1649,97,97,97,0,45,45,1653,45,45,45,45,45,45,383,45,45,45,45,45,45,45,45,45,986,45,45,45,45,45,45,45,45,1670,45,1672,45,45,45,45,45,45,45,45,45,45,67,736,67,67,67,67,67,741,67,67,67,1680,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1074,67,67,67,1692,67,67,67,67,67,67,67,1697,67,1699,67,67,67,67,67,67,1012,67,67,67,67,67,67,67,67,67,468,475,67,67,67,67,67,67,1769,67,67,67,67,67,67,67,97,97,97,97,97,97,97,624,97,97,97,97,97,97,634,97,97,1792,97,97,97,97,97,97,97,45,45,45,45,45,45,45,958,45,45,45,45,45,45,964,45,150,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,977,204,45,67,67,67,217,67,67,67,67,67,67,67,67,67,67,787,67,67,67,67,67,67,67,67,67,67,271,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,351,97,0,40976,0,18,18,24,24,27,27,27,45,45,938,45,45,45,45,45,45,45,45,45,45,45,45,45,1398,45,45,45,153,45,161,45,45,45,45,45,45,45,45,45,45,45,45,660,661,45,45,205,45,67,67,67,67,220,67,228,67,67,67,67,67,67,67,0,0,0,0,0,280,94,0,0,67,67,67,67,67,272,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,352,97,0,40976,0,18,18,24,24,27,27,27,45,439,45,45,45,45,45,445,45,45,45,452,45,45,67,67,212,216,67,67,67,67,67,241,67,246,67,252,67,67,486,67,67,67,67,67,67,67,494,67,67,67,67,67,67,67,1245,67,67,67,67,67,67,67,67,1013,67,67,1016,67,67,67,67,67,521,67,67,525,67,67,67,67,67,531,67,67,67,538,67,0,0,2046,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1192,45,45,45,45,45,45,45,45,45,45,45,45,1418,45,45,1421,97,97,583,97,97,97,97,97,97,97,591,97,97,97,97,97,97,913,97,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,1384,97,618,97,97,622,97,97,97,97,97,628,97,97,97,635,97,18,131427,0,0,0,639,0,132,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,932,45,45,45,45,45,1544,45,45,45,45,45,1550,45,45,45,45,45,1194,45,1196,45,45,45,45,45,45,45,45,999,45,45,45,45,45,67,67,45,45,667,45,45,45,45,45,45,45,45,45,45,45,45,45,1408,45,45,45,696,45,45,45,701,45,45,45,45,45,45,45,45,710,45,45,45,1220,45,45,45,45,45,45,45,45,45,45,45,45,194,45,45,45,729,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,797,67,67,67,67,67,67,805,67,67,67,67,67,67,67,1587,67,1589,67,67,67,67,67,67,67,67,1763,67,67,67,67,67,67,67,0,0,0,0,0,0,2162968,0,0,67,67,67,67,67,814,816,67,67,67,67,67,25398,542,13112,544,67,67,1008,67,67,67,67,67,67,67,67,67,67,67,1020,67,0,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,45,67,67,67,67,1429,67,1430,67,67,67,67,67,1062,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,518,1076,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,97,97,97,97,1102,97,97,97,97,97,97,97,97,97,97,97,1124,97,1126,97,97,1114,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1112,97,97,1156,97,97,97,97,97,97,97,97,97,97,97,97,97,594,97,97,97,97,1170,97,97,97,97,0,921,0,0,0,0,0,0,45,45,45,45,1532,45,45,45,45,1536,45,45,45,45,45,172,45,45,45,45,45,45,45,45,45,45,706,45,45,709,45,45,1177,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1202,45,1204,45,45,45,45,45,45,45,45,45,45,45,45,1215,45,45,45,1232,45,45,45,45,45,45,45,67,1237,67,67,67,67,67,67,1053,1054,67,67,67,67,67,67,1061,67,67,1282,67,67,67,67,67,67,67,67,67,1289,67,67,67,1292,97,97,97,97,1339,97,97,97,97,97,97,1344,97,97,97,97,45,1849,45,1851,45,45,45,45,45,45,45,45,721,45,45,45,45,45,726,45,1385,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1188,45,45,1401,1402,45,45,45,45,1405,45,45,45,45,45,45,45,45,1752,45,45,45,45,45,67,67,1410,45,45,45,1413,45,1415,45,45,45,45,45,45,1419,45,45,45,45,1806,45,45,45,45,45,45,67,67,67,67,67,67,67,97,97,2019,0,97,67,67,67,1452,67,67,67,67,67,67,67,67,1457,67,67,67,67,67,67,1259,67,67,67,67,67,67,1264,67,67,1460,67,1462,67,67,67,67,67,67,1466,67,67,67,67,67,67,67,67,1588,67,67,67,67,67,67,67,0,1300,0,0,0,1306,0,0,0,97,97,97,1506,97,97,97,97,97,97,97,97,1512,97,97,97,0,1728,97,97,97,97,97,97,97,97,97,97,97,901,97,97,97,97,1515,97,1517,97,97,97,97,97,97,1521,97,97,97,97,97,97,0,45,1652,45,45,45,1655,45,45,45,45,45,1542,45,45,45,45,45,45,45,45,45,45,45,45,45,1552,1553,45,45,45,1556,45,45,45,45,45,45,45,45,45,45,45,45,45,693,45,45,45,67,67,67,67,1572,67,67,67,67,1576,67,67,67,67,67,67,67,67,1602,67,67,1605,67,67,67,0,67,1582,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1580,67,67,1596,67,67,67,67,67,67,67,67,67,67,67,67,67,0,542,0,544,67,67,67,67,1759,67,67,67,67,67,67,67,67,67,67,67,533,67,67,67,67,67,67,67,1770,67,67,67,67,67,97,97,97,97,97,97,1777,97,97,97,1793,97,97,97,97,97,45,45,45,45,45,45,45,998,45,45,1001,1002,45,45,67,67,45,1861,45,67,67,67,67,67,67,67,67,1871,67,1873,1874,67,0,97,45,67,0,97,45,67,16384,97,45,67,97,0,0,0,1473,0,1082,0,0,0,1475,0,1086,0,0,0,1477,1876,67,97,97,97,97,97,1883,0,1885,97,97,97,1889,0,0,0,286,0,0,0,286,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,126,126,126,2053,0,2055,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,2039,97,45,45,45,45,67,67,67,67,67,226,67,67,67,67,67,67,67,67,1246,67,67,1249,1250,67,67,67,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,141,45,45,45,1403,45,45,45,45,45,45,45,45,45,45,45,45,1186,45,45,1189,45,45,155,45,45,45,45,45,45,45,45,45,191,45,45,45,45,700,45,45,45,45,45,45,45,45,45,45,45,1753,45,45,45,67,67,45,45,67,208,67,67,67,222,67,67,67,67,67,67,67,67,67,1764,67,67,67,67,67,67,67,258,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,288,97,97,97,302,97,97,97,97,97,97,97,97,97,627,97,97,97,97,97,97,338,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,370,45,45,45,45,716,45,45,45,45,45,722,45,45,45,45,45,45,1912,67,67,67,67,67,67,67,67,67,819,67,67,25398,542,13112,544,45,403,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1409,45,67,67,67,67,489,67,67,67,67,67,67,67,67,67,67,67,771,67,67,67,67,520,67,67,67,67,67,67,67,67,67,67,67,534,67,67,67,67,67,67,1271,67,67,67,1274,67,67,67,1279,67,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,553,97,97,97,97,586,97,97,97,97,97,97,97,97,97,97,97,1138,97,97,97,97,617,97,97,97,97,97,97,97,97,97,97,97,631,97,97,97,0,1834,97,97,97,97,97,0,0,0,97,97,97,97,97,353,0,40976,0,18,18,24,24,27,27,27,45,45,668,45,45,45,45,45,45,45,45,45,45,45,45,45,724,45,45,45,45,45,682,45,45,45,45,45,45,45,45,45,45,45,45,45,949,45,45,45,67,67,747,748,67,67,67,67,755,67,67,67,67,67,67,67,0,0,0,1302,0,0,0,1308,0,67,794,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1701,67,97,97,97,845,846,97,97,97,97,853,97,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,97,892,97,97,97,97,97,97,97,97,97,97,97,97,97,610,97,97,45,992,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,1239,67,67,67,1063,67,67,67,67,67,1068,67,67,67,67,67,67,67,0,0,1301,0,0,0,1307,0,0,97,1141,97,97,97,97,97,97,97,97,97,97,97,1152,97,97,0,0,97,97,2001,0,97,2003,97,97,97,45,45,45,1739,45,45,45,1742,45,45,45,45,45,97,97,97,97,1157,97,97,97,97,97,1162,97,97,97,97,97,97,1145,97,97,97,97,97,1151,97,97,97,1253,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,539,45,1423,45,45,67,67,67,67,67,67,67,1431,67,67,67,67,67,67,67,1695,67,67,67,67,67,1700,67,1702,67,67,1439,67,67,67,67,67,67,67,67,67,67,67,67,67,514,67,67,97,97,1492,97,97,97,97,97,97,97,97,97,97,97,97,97,611,97,97,1703,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,852,97,97,97,97,97,97,45,1949,45,1951,45,45,45,67,67,67,67,67,67,67,1961,67,0,97,45,67,0,97,2060,2061,0,2062,45,67,97,0,0,2036,97,97,97,97,45,45,45,45,67,67,67,67,67,223,67,67,237,67,67,67,67,67,67,67,1272,67,67,67,67,67,67,67,67,507,67,67,67,67,67,67,67,1963,67,67,67,97,97,97,97,0,1972,0,97,97,97,1975,0,921,29315,0,0,0,0,45,45,45,931,45,45,45,45,45,407,45,45,45,45,45,45,45,45,45,417,45,45,1989,67,67,67,67,67,67,67,67,67,67,67,1996,97,18,131427,0,0,360,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,930,45,45,45,45,45,45,444,45,45,45,45,45,45,45,67,67,97,97,1998,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,1985,45,1986,45,45,45,156,45,45,170,45,45,45,45,45,45,45,45,45,45,675,45,45,45,45,679,131427,0,358,0,0,362,0,365,28809,367,139,45,45,45,45,45,381,45,45,45,45,45,45,45,45,45,400,45,45,419,45,45,45,45,45,45,45,45,45,45,45,45,436,67,67,67,67,67,505,67,67,67,67,67,67,67,67,67,67,820,67,25398,542,13112,544,67,67,522,67,67,67,67,67,529,67,67,67,67,67,67,67,0,1299,0,0,0,1305,0,0,0,97,97,619,97,97,97,97,97,626,97,97,97,97,97,97,97,1105,97,97,97,97,1109,97,97,97,67,67,67,67,749,67,67,67,67,67,67,67,67,67,760,67,0,97,45,67,2058,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,2041,67,67,67,67,67,780,67,67,67,67,67,67,67,67,67,67,67,67,67,516,67,67,97,97,97,878,97,97,97,97,97,97,97,97,97,97,97,97,97,1629,97,0,45,979,45,45,45,45,984,45,45,45,45,45,45,45,45,45,1198,45,45,45,45,45,45,67,1023,67,67,67,67,1028,67,67,67,67,67,67,67,67,67,470,67,67,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1094,0,0,0,1092,1315,0,0,0,0,97,97,97,97,97,97,97,97,97,1486,97,1489,97,97,97,1117,97,97,97,97,1122,97,97,97,97,97,97,97,1146,97,97,97,97,97,97,97,97,881,97,97,97,886,97,97,97,1311,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,1615,97,97,97,97,97,1619,97,97,97,97,97,97,97,97,97,97,97,97,1631,97,97,1847,97,45,45,45,45,1852,45,45,45,45,45,45,45,1235,45,45,45,67,67,67,67,67,1868,67,67,67,1872,67,67,67,67,67,97,97,97,97,1882,0,0,0,97,97,97,97,0,1891,67,67,67,67,67,97,97,97,97,97,1929,0,0,97,97,97,97,97,97,45,1900,45,1901,45,45,45,1905,45,67,2054,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,2037,2038,97,97,45,45,45,45,67,67,67,67,1867,67,67,67,67,67,67,67,67,67,1774,97,97,97,97,97,97,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,142,45,45,45,1412,45,45,45,45,45,45,45,45,45,45,45,45,432,45,45,45,45,45,157,45,45,171,45,45,45,182,45,45,45,45,200,45,45,45,1543,45,45,45,45,45,45,45,45,1551,45,45,45,45,1181,45,45,45,45,45,45,45,45,45,45,45,1211,45,45,45,1214,45,45,45,67,209,67,67,67,224,67,67,238,67,67,67,249,67,0,97,2056,2057,0,2059,45,67,0,97,45,67,97,0,0,1937,97,97,97,97,97,97,45,45,45,45,45,45,1741,45,45,45,45,45,45,67,67,67,267,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,289,97,97,97,304,97,97,318,97,97,97,329,97,97,0,0,97,1783,97,97,97,97,0,0,97,97,0,97,97,97,45,2026,45,45,45,45,67,2030,67,67,67,67,67,67,1041,67,67,67,67,67,67,67,67,67,1044,67,67,67,67,67,67,97,97,347,97,97,97,0,40976,0,18,18,24,24,27,27,27,45,666,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1420,45,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,840,67,1007,67,67,67,67,67,67,67,67,67,67,67,67,67,67,759,67,67,67,67,67,67,67,1052,67,67,67,67,67,67,67,67,67,67,1031,67,67,67,67,67,97,97,97,1101,97,97,97,97,97,97,97,97,97,97,97,97,592,97,97,97,1190,45,45,45,45,45,1195,45,1197,45,45,45,45,1201,45,45,45,45,1952,45,45,67,67,67,67,67,67,67,67,67,67,67,67,250,67,67,67,1255,67,1257,67,67,67,67,1261,67,67,67,67,67,67,67,67,1685,67,67,67,67,67,67,67,0,24851,12565,0,0,0,0,28809,53532,67,67,1267,67,67,67,67,67,67,1273,67,67,67,67,67,67,67,67,1696,67,67,67,67,67,67,67,0,0,0,0,0,0,2162688,0,0,1281,67,67,67,67,1285,67,67,67,67,67,67,67,67,67,67,1070,67,67,67,67,67,1335,97,1337,97,97,97,97,1341,97,97,97,97,97,97,97,97,882,97,97,97,97,97,97,97,1347,97,97,97,97,97,97,1353,97,97,97,97,97,97,1361,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,0,544,0,550,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2158592,2990080,2158592,2158592,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,53530,97,97,97,1365,97,97,97,97,97,97,97,97,97,97,97,97,608,97,97,97,45,45,1424,45,1425,67,67,67,67,67,67,67,67,67,67,67,1058,67,67,67,67,45,1555,45,45,1557,45,45,45,45,45,45,45,45,45,45,45,707,45,45,45,45,67,67,1570,67,67,67,67,67,67,67,67,67,67,67,67,67,773,67,67,1595,67,67,1597,67,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,139,2158592,2158592,2158592,2404352,2412544,97,97,97,1636,97,97,97,1639,97,97,1641,97,97,97,97,97,97,1173,0,921,0,0,0,0,0,0,45,67,67,67,1693,67,67,67,67,67,67,67,1698,67,67,67,67,67,67,67,1773,67,97,97,97,97,97,97,97,625,97,97,97,97,97,97,97,97,850,97,97,97,97,97,97,97,97,880,97,97,97,97,97,97,97,97,1106,97,97,97,97,97,97,97,1860,45,45,67,67,1865,67,67,67,67,1870,67,67,67,67,1875,67,67,97,97,1880,97,97,0,0,0,97,97,1888,97,0,0,0,1938,97,97,97,97,97,45,45,45,45,45,45,1854,45,45,45,45,45,45,45,1909,45,45,1911,67,67,67,67,67,67,67,67,67,67,1248,67,67,67,67,67,67,1922,67,67,1924,97,97,97,97,97,0,0,0,97,97,97,97,97,1898,45,45,45,45,45,45,1904,45,45,67,67,67,67,97,97,97,97,0,0,16384,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,1724,2008,2009,45,45,67,67,67,2014,2015,67,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,45,2022,0,2023,97,97,45,45,45,45,45,45,67,67,67,67,67,67,1869,67,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,147,151,154,45,162,45,45,176,178,181,45,45,45,192,196,45,45,45,45,2012,67,67,67,67,67,67,2018,97,0,0,97,1978,97,97,97,1982,45,45,45,45,45,45,45,45,45,972,973,45,45,45,45,45,67,259,263,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,294,298,301,97,309,97,97,323,325,328,97,97,97,97,97,560,97,97,97,569,97,97,97,97,97,97,306,97,97,97,97,97,97,97,97,97,1624,97,97,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,339,343,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,67,67,503,67,67,67,67,67,67,67,67,67,512,67,67,519,97,97,600,97,97,97,97,97,97,97,97,97,609,97,97,616,45,649,45,45,45,45,45,654,45,45,45,45,45,45,45,45,1393,45,45,45,45,45,45,45,45,1209,45,45,45,45,45,45,45,67,763,67,67,67,67,67,67,67,67,770,67,67,67,774,67,0,2045,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,994,45,45,45,45,45,45,45,45,45,45,67,67,213,67,219,67,67,232,67,242,67,247,67,67,67,779,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1018,67,67,67,67,811,67,67,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,834,97,97,97,97,97,839,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,645,97,97,861,97,97,97,97,97,97,97,97,868,97,97,97,872,97,97,877,97,97,97,97,97,97,97,97,97,97,97,97,97,613,97,97,97,97,97,909,97,97,97,97,97,97,97,97,97,0,0,0,18,18,24,24,27,27,27,1036,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1047,67,67,67,1050,67,67,67,67,67,67,67,67,67,67,67,67,1033,67,67,67,97,97,1130,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,0,67,67,67,1295,67,67,67,0,0,0,0,0,0,0,0,0,97,1317,97,97,97,97,97,97,1375,97,97,97,0,0,0,45,1379,45,45,45,45,45,45,422,45,45,45,429,431,45,45,45,45,0,1090,0,0,97,1479,97,97,97,97,97,97,97,97,97,97,1357,97,97,97,97,97,97,97,97,97,1716,97,97,97,97,97,97,97,97,97,1723,0,921,29315,0,0,0,0,45,929,45,45,45,45,45,45,45,1392,45,45,45,45,45,45,45,45,45,960,45,45,45,45,45,45,97,97,97,1738,45,45,45,45,45,45,45,1743,45,45,45,45,166,45,45,45,45,184,186,45,45,197,45,45,97,1779,0,0,97,97,97,97,97,97,0,0,97,97,0,97,18,131427,0,638,0,0,0,0,362,0,640,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,1537,45,45,45,45,45,1803,45,45,45,45,45,1809,45,45,45,67,67,67,1814,67,67,67,67,67,67,1821,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,0,0,67,67,67,1818,67,67,67,67,67,1824,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,1890,0,1829,97,97,0,0,97,97,1836,97,97,0,0,0,97,97,97,97,1981,45,45,45,45,45,45,45,45,45,1987,1845,97,97,97,45,45,45,45,45,1853,45,45,45,1857,45,45,45,67,1864,67,1866,67,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,1710,1711,67,67,97,97,97,97,97,0,0,0,1886,97,97,97,0,0,97,97,97,97,1838,0,0,0,97,1843,97,0,1893,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,1745,45,45,67,67,67,67,67,97,97,97,97,97,0,0,1931,97,97,97,97,97,588,97,97,97,97,97,97,97,97,97,97,629,97,97,97,97,97,67,2044,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1660,45,45,45,45,45,45,45,45,45,45,45,45,453,45,455,67,67,67,67,268,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,348,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,359,0,0,362,0,365,28809,367,139,45,45,45,45,45,421,45,45,45,45,45,45,45,434,45,45,695,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1667,45,0,921,29315,0,925,0,0,45,45,45,45,45,45,45,45,45,1811,45,67,67,67,67,67,67,1037,67,1039,67,67,67,67,67,67,67,67,67,67,67,67,1277,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1095,0,0,0,1096,97,97,97,97,97,97,97,97,97,97,97,97,869,97,97,97,97,97,97,1131,97,1133,97,97,97,97,97,97,97,97,97,97,1370,97,97,97,97,97,1312,0,0,0,0,1096,0,0,0,97,97,97,97,97,97,97,1327,97,97,97,97,97,1332,97,97,97,1830,97,0,0,97,97,97,97,97,0,0,0,97,97,97,1896,97,97,45,45,45,45,45,45,45,45,45,1548,45,45,45,45,45,45,133,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,380,45,45,45,45,45,45,45,45,45,45,401,45,45,158,45,45,45,45,45,45,45,45,45,45,45,45,45,1200,45,45,45,45,206,67,67,67,67,67,225,67,67,67,67,67,67,67,67,754,67,67,67,67,67,67,67,57889,0,0,54074,54074,550,832,97,97,97,97,97,97,97,97,97,1342,97,97,97,97,97,97,67,67,67,67,67,25398,1083,13112,1087,54074,1091,0,0,0,0,0,0,1316,0,831,97,97,97,97,97,97,97,1174,921,0,1175,0,0,0,0,45,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,148,67,67,264,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,295,97,97,97,97,313,97,97,97,97,331,333,97,18,131427,356,638,0,0,0,0,362,0,0,365,0,367,0,45,45,1530,45,45,45,45,45,45,45,45,45,45,45,45,988,45,45,45,97,344,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,402,404,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1756,67,438,45,45,45,45,45,45,45,45,449,450,45,45,45,67,67,214,218,221,67,229,67,67,243,245,248,67,67,67,67,67,488,490,67,67,67,67,67,67,67,67,67,67,67,1071,67,1073,67,67,67,67,67,524,67,67,67,67,67,67,67,67,535,536,67,67,67,67,67,67,1683,1684,67,67,67,67,1688,1689,67,67,67,67,67,67,1586,67,67,67,67,67,67,67,67,67,469,67,67,67,67,67,67,97,97,97,585,587,97,97,97,97,97,97,97,97,97,97,97,1163,97,97,97,97,97,97,97,621,97,97,97,97,97,97,97,97,632,633,97,97,0,0,1782,97,97,97,97,97,0,0,97,97,0,97,712,45,45,45,717,45,45,45,45,45,45,45,45,725,45,45,45,163,167,173,177,45,45,45,45,45,193,45,45,45,45,982,45,45,45,45,45,45,987,45,45,45,45,45,1558,45,1560,45,45,45,45,45,45,45,45,704,705,45,45,45,45,45,45,45,45,731,45,45,45,67,67,67,67,67,739,67,67,67,67,67,67,273,0,24850,12564,0,0,0,0,28809,53531,67,67,67,764,67,67,67,67,67,67,67,67,67,67,67,67,1290,67,67,67,67,67,67,812,67,67,67,67,818,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,97,97,97,97,837,97,97,97,97,97,602,97,97,97,97,97,97,97,97,97,97,1137,97,97,97,97,97,97,97,97,97,862,97,97,97,97,97,97,97,97,97,97,97,1627,97,97,97,0,97,97,97,97,910,97,97,97,97,916,97,97,97,0,0,0,97,97,1940,97,97,1942,45,45,45,45,45,45,385,45,45,45,45,395,45,45,45,45,966,45,969,45,45,45,45,45,45,45,45,45,45,975,45,45,45,406,45,45,45,45,45,45,45,45,45,45,45,45,974,45,45,45,67,67,67,67,1010,67,67,67,67,67,67,67,67,67,67,67,1262,67,67,67,67,67,67,67,67,67,1040,67,1042,67,1045,67,67,67,67,67,67,67,97,1706,97,97,97,1709,97,97,97,67,67,67,67,1051,67,67,67,67,67,1057,67,67,67,67,67,67,67,1443,67,67,1446,67,67,67,67,67,67,67,1297,0,0,0,1303,0,0,0,1309,67,67,67,67,1079,25398,0,13112,0,54074,0,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,1098,97,97,97,97,97,1104,97,97,97,97,97,97,97,97,97,1356,97,97,97,97,97,97,1128,97,97,97,97,97,97,1134,97,1136,97,1139,97,97,97,97,97,97,1622,97,97,97,97,97,97,97,97,0,921,0,0,0,1176,0,646,45,67,67,67,1268,67,67,67,67,67,67,67,67,67,67,67,67,1469,67,67,67,97,1348,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1127,97,67,1569,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1448,1449,67,1816,67,67,67,67,67,67,67,67,67,1825,67,67,1827,97,97,0,1781,97,97,97,97,97,97,0,0,97,97,0,97,97,97,1831,0,0,97,97,97,97,97,0,0,0,97,97,97,1980,97,45,45,45,45,45,45,45,45,45,45,1395,45,45,45,45,45,97,1846,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1212,45,45,45,45,45,45,2010,45,67,67,67,67,67,2016,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,2007,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,143,45,45,45,1671,45,45,45,45,45,45,45,45,45,45,45,67,1813,67,67,1815,45,45,67,210,67,67,67,67,67,67,239,67,67,67,67,67,67,67,1454,67,67,67,67,67,67,67,67,67,1445,67,67,67,67,67,67,97,97,290,97,97,97,97,97,97,319,97,97,97,97,97,97,303,97,97,317,97,97,97,97,97,97,305,97,97,97,97,97,97,97,97,97,899,97,97,97,97,97,97,375,45,45,45,379,45,45,390,45,45,394,45,45,45,45,45,443,45,45,45,45,45,45,45,45,67,67,67,67,67,461,67,67,67,465,67,67,476,67,67,480,67,67,67,67,67,67,1694,67,67,67,67,67,67,67,67,67,1288,67,67,67,67,67,67,500,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1075,97,97,97,558,97,97,97,562,97,97,573,97,97,577,97,97,97,97,97,895,97,97,97,97,97,97,903,97,97,97,0,97,97,1638,97,97,97,97,97,97,97,97,1646,597,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1334,45,681,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1396,45,45,1399,45,45,730,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1434,67,67,67,67,67,67,750,67,67,67,67,67,67,67,67,67,67,1456,67,67,67,67,67,45,45,993,45,45,45,45,45,45,45,45,45,45,45,67,67,1238,67,67,1006,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1280,1048,1049,67,67,67,67,67,67,67,67,67,67,1059,67,67,67,67,67,67,1286,67,67,67,67,67,67,67,1291,67,97,97,1100,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,920,97,97,1142,1143,97,97,97,97,97,97,97,97,97,97,1153,97,97,97,97,97,1158,97,97,97,1161,97,97,97,97,1166,97,97,97,97,97,1325,97,97,97,97,97,97,97,97,97,97,1328,97,97,97,97,97,97,97,45,1218,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1678,45,45,45,67,67,67,67,67,1269,67,67,67,67,67,67,67,67,1278,67,67,67,67,67,67,1761,67,67,67,67,67,67,67,67,67,530,67,67,67,67,67,67,97,97,1349,97,97,97,97,97,97,97,97,1358,97,97,97,97,97,97,1623,97,97,97,97,97,97,97,97,0,921,0,0,926,0,0,0,45,45,1411,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1754,45,45,67,67,1301,0,1307,0,1313,97,97,97,97,97,97,97,97,97,97,97,21054,97,97,97,97,67,1757,67,67,67,1760,67,67,67,67,67,67,67,67,67,67,1467,67,67,67,67,67,1778,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,97,97,1352,97,97,97,97,97,97,97,97,97,97,1511,97,97,97,97,97,67,67,67,67,67,1820,67,1822,67,67,67,67,67,97,97,97,97,97,0,0,0,97,1933,97,1892,97,97,97,97,97,97,1899,45,45,45,45,45,45,45,45,1664,45,45,45,45,45,45,45,45,1546,45,45,45,45,45,45,45,45,1208,45,45,45,45,45,45,45,45,1224,45,45,45,45,45,45,45,45,673,45,45,45,45,45,45,45,67,67,67,67,67,1925,97,97,97,97,0,0,0,97,97,97,97,97,623,97,97,97,97,97,97,97,97,97,97,307,97,97,97,97,97,97,97,97,97,1796,97,45,45,45,45,45,45,45,970,45,45,45,45,45,45,45,45,1417,45,45,45,45,45,45,45,67,1964,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,97,97,1721,97,97,0,0,1997,97,0,0,2e3,97,97,0,97,97,97,97,97,45,45,45,45,733,45,67,67,67,67,67,67,67,67,67,67,803,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,144,45,45,45,1805,45,1807,45,45,45,45,45,67,67,67,67,67,67,231,67,67,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,45,45,67,211,67,67,67,67,230,234,240,244,67,67,67,67,67,67,464,67,67,67,67,67,67,479,67,67,67,260,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,291,97,97,97,97,310,314,320,324,97,97,97,97,97,97,1367,97,97,97,97,97,97,97,97,97,1355,97,97,97,97,97,97,1362,340,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,360,0,362,0,365,28809,367,139,369,45,45,45,374,67,67,460,67,67,67,67,466,67,67,67,67,67,67,67,67,801,67,67,67,67,67,67,67,67,67,487,67,67,67,67,67,67,67,67,67,67,498,67,67,67,67,67,67,1772,67,67,97,97,97,97,97,97,97,0,921,922,1175,0,0,0,0,45,67,502,67,67,67,67,67,67,67,508,67,67,67,515,517,67,67,67,67,67,97,97,97,97,97,0,0,0,1932,97,97,0,1999,97,97,97,0,97,97,2004,2005,97,45,45,45,45,1193,45,45,45,45,45,45,45,45,45,45,45,676,45,45,45,45,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,552,97,97,97,97,97,1377,0,0,45,45,45,45,45,45,45,45,655,45,45,45,45,45,45,45,97,97,557,97,97,97,97,563,97,97,97,97,97,97,97,97,1135,97,97,97,97,97,97,97,97,97,584,97,97,97,97,97,97,97,97,97,97,595,97,97,97,97,97,911,97,97,97,97,97,97,97,638,0,0,0,0,1315,0,0,0,0,97,97,97,1319,97,97,97,0,97,97,97,97,97,97,1733,97,97,97,97,97,97,1340,97,97,97,1343,97,97,1345,97,1346,97,599,97,97,97,97,97,97,97,605,97,97,97,612,614,97,97,97,97,97,1794,97,97,97,45,45,45,45,45,45,45,1207,45,45,45,45,45,45,1213,45,45,745,67,67,67,67,751,67,67,67,67,67,67,67,67,67,67,1577,67,67,67,67,67,762,67,67,67,67,766,67,67,67,67,67,67,67,67,67,67,1765,67,67,67,67,67,777,67,67,781,67,67,67,67,67,67,67,67,67,67,67,67,1592,1593,67,67,97,843,97,97,97,97,849,97,97,97,97,97,97,97,97,97,1510,97,97,97,97,97,97,97,860,97,97,97,97,864,97,97,97,97,97,97,97,97,97,1797,45,45,45,45,1801,45,97,875,97,97,879,97,97,97,97,97,97,97,97,97,97,97,1522,97,97,97,97,97,991,45,45,45,45,996,45,45,45,45,45,45,45,45,67,67,215,67,67,67,67,233,67,67,67,67,251,253,1022,67,67,67,1026,67,67,67,67,67,67,67,67,67,67,1035,67,67,1038,67,67,67,67,67,67,67,67,67,67,67,67,67,1458,67,67,67,67,67,1064,67,67,67,1067,67,67,67,67,1072,67,67,67,67,67,67,1296,0,0,0,0,0,0,0,0,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,1096,0,921,29315,0,0,0,0,928,45,45,45,45,45,934,45,45,45,164,45,45,45,45,45,45,45,45,45,198,45,45,45,378,45,45,45,45,45,45,393,45,45,45,398,45,97,97,1116,97,97,97,1120,97,97,97,97,97,97,97,97,97,1147,1148,97,97,97,97,97,97,97,1129,97,97,1132,97,97,97,97,97,97,97,97,97,97,97,1626,97,97,97,97,0,45,1178,45,45,45,45,45,45,45,45,45,1185,45,45,45,45,441,45,45,45,45,45,45,451,45,45,67,67,67,67,67,227,67,67,67,67,67,67,67,67,1260,67,67,67,1263,67,67,1265,1203,45,45,1205,45,1206,45,45,45,45,45,45,45,45,45,1216,67,1266,67,67,67,67,67,67,67,67,67,1276,67,67,67,67,67,67,492,67,67,67,67,67,67,67,67,67,471,67,67,67,67,481,67,45,1386,45,1389,45,45,45,45,1394,45,45,45,1397,45,45,45,45,995,45,997,45,45,45,45,45,45,45,67,67,67,67,1915,67,67,67,67,67,1422,45,45,45,67,67,67,67,67,67,67,67,67,1433,67,1436,67,67,67,67,1441,67,67,67,1444,67,67,67,67,67,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,97,1494,97,97,97,1497,97,97,97,97,97,97,97,1368,97,97,97,97,97,97,97,97,851,97,97,97,97,97,97,97,67,67,67,1571,67,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,67,67,1583,67,67,67,67,67,67,67,67,1591,67,67,67,67,67,67,752,67,67,67,67,67,67,67,67,67,1056,67,67,67,67,67,67,97,1634,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1125,97,97,97,1647,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,1183,45,45,45,45,45,45,45,45,45,409,45,45,45,45,45,45,1658,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1668,1712,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,1835,97,97,97,97,0,0,0,97,97,1844,97,97,1726,0,97,97,97,97,97,1732,97,1734,97,97,97,97,97,300,97,308,97,97,97,97,97,97,97,97,866,97,97,97,97,97,97,97,67,67,67,1758,67,67,67,1762,67,67,67,67,67,67,67,67,1043,67,67,67,67,67,67,67,67,67,67,67,67,1771,67,67,67,97,97,97,97,97,1776,97,97,97,97,297,97,97,97,97,97,97,97,97,97,97,97,1108,97,97,97,97,67,67,67,1966,97,97,97,1970,0,0,0,97,97,97,97,0,97,97,97,1720,97,97,97,97,97,0,0,97,97,97,1837,97,0,1840,1841,97,97,97,1988,45,67,67,67,67,67,67,67,67,67,1994,1995,67,97,97,97,97,97,1103,97,97,97,97,97,97,97,97,97,97,917,97,97,0,0,0,67,67,265,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,345,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,361,362,0,365,28809,367,139,45,45,45,45,45,671,45,45,45,45,45,45,45,45,45,45,411,45,45,414,45,45,45,45,377,45,45,45,386,45,45,45,45,45,45,45,45,45,1223,45,45,45,45,45,45,45,45,45,426,45,45,433,45,45,45,67,67,67,67,67,463,67,67,67,472,67,67,67,67,67,67,67,527,67,67,67,67,67,67,537,67,540,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,97,97,97,1119,97,97,97,97,97,97,97,97,97,97,1509,97,97,97,97,97,97,97,97,564,97,97,97,97,97,97,97,637,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,927,45,45,45,45,45,45,45,45,45,1234,45,45,45,45,67,67,67,67,1240,45,697,45,45,45,45,45,45,45,45,45,45,708,45,45,45,45,1221,45,45,45,45,1225,45,45,45,45,45,45,384,45,45,45,45,45,45,45,45,45,1210,45,45,45,45,45,45,67,67,795,67,67,67,67,67,67,67,67,67,67,67,67,67,1470,67,67,67,67,67,67,67,815,67,67,67,67,67,67,25398,542,13112,544,97,97,97,893,97,97,97,97,97,97,97,97,97,97,97,97,1164,97,97,97,67,67,67,1025,67,67,67,67,67,67,67,67,67,67,67,67,1687,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,1097,1241,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1450,45,45,1388,45,1390,45,45,45,45,45,45,45,45,45,45,45,1236,67,67,67,67,67,1437,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1472,1490,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1503,67,67,67,67,67,97,97,97,97,97,0,1930,0,97,97,97,97,97,847,97,97,97,97,97,97,97,97,97,858,67,67,1965,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,1719,97,97,97,97,97,97,0,0,0,45,45,45,45,1382,45,1383,45,45,45,159,45,45,45,45,45,45,45,45,45,45,45,45,45,1563,45,45,45,45,45,67,261,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,341,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,1099,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1333,97,1230,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1992,67,1993,67,67,67,97,97,45,45,160,45,45,45,45,45,45,45,45,45,45,45,45,45,1665,45,45,45,45,45,131427,357,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,684,45,45,45,45,45,45,45,45,45,45,412,45,45,45,416,45,45,45,440,45,45,45,45,45,45,45,45,45,45,45,67,67,1990,67,1991,67,67,67,67,67,67,67,97,97,1707,97,97,97,97,97,97,501,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1691,67,67,67,67,67,526,67,67,67,67,67,67,67,67,67,67,1030,67,1032,67,67,67,67,598,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1632,0,921,29315,923,0,0,0,45,45,45,45,45,45,45,45,45,1404,45,45,45,45,45,45,45,45,45,425,45,45,45,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1093,0,0,0,0,0,97,1609,97,97,97,97,97,97,97,97,97,1369,97,97,97,1372,97,97,67,67,266,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,346,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,665,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1677,45,45,45,45,67,45,45,954,45,956,45,45,45,45,45,45,45,45,45,45,45,1545,45,45,45,45,45,45,45,45,45,448,45,45,45,45,67,456,67,67,67,67,67,1270,67,67,67,67,67,67,67,67,67,67,1069,67,67,67,67,67,67,97,97,97,1350,97,97,97,97,97,97,97,97,97,97,97,97,1524,97,97,97,97,97,97,97,1376,0,0,0,45,45,45,45,45,45,45,45,1559,1561,45,45,45,1564,45,1566,1567,45,67,67,67,67,67,1573,67,67,67,67,67,67,67,67,67,67,1247,67,67,67,67,67,1252,97,1725,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1628,97,1630,0,0,94242,0,0,0,2211840,0,1118208,0,0,0,0,2158592,2158731,2158592,2158592,2158592,3117056,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3018752,2158592,3043328,2158592,2158592,2158592,2158592,3080192,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158878,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2605056,2158592,2158592,2207744,0,542,0,544,0,0,2166784,0,0,0,550,0,0,2158592,2158592,2686976,2158592,2715648,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2867200,2158592,2904064,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,0,2211840,0,0,1130496,0,0,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,139,0,0,0,139,0,2367488,2207744,0,0,0,0,176128,0,2166784,0,0,0,0,0,286,2158592,2158592,3170304,3174400,2158592,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,1508,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,2158592,2158592,2158592,2158592,3158016,67,24850,24850,12564,12564,0,0,0,0,0,53531,53531,0,286,97,97,97,97,97,1144,97,97,97,97,97,97,97,97,97,97,1149,97,97,97,97,1154,57889,0,0,0,0,550,0,97,97,97,97,97,97,97,97,97,561,97,97,97,97,97,97,576,97,97,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,0,0,139264,0,921,29315,0,0,926,0,45,45,45,45,45,45,45,45,45,719,720,45,45,45,45,45,45,45,45,685,45,45,45,45,45,45,45,45,45,942,45,45,946,45,45,45,950,45,45,0,2146304,2146304,0,0,0,0,2224128,2224128,2224128,2232320,2232320,2232320,2232320,0,0,1301,0,0,0,0,0,1307,0,0,0,0,0,1313,0,0,0,0,0,0,0,97,97,1318,97,97,97,97,97,97,1795,97,97,45,45,45,45,45,45,45,446,45,45,45,45,45,45,67,67,2158592,2146304,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,924,0,0,45,45,45,45,45,45,45,45,45,1e3,45,45,45,45,67,67],r.EXPECTED=[290,300,304,353,296,309,305,319,315,324,328,352,354,334,338,330,320,345,349,293,358,362,341,366,312,370,374,378,382,386,390,394,398,737,402,634,439,604,634,634,634,634,408,634,634,634,404,634,634,634,457,634,634,963,634,634,413,634,634,634,634,634,634,634,663,418,422,903,902,426,431,548,634,437,521,919,443,615,409,449,455,624,731,751,634,461,465,672,470,469,474,481,485,477,489,493,629,542,497,505,603,602,991,648,510,804,634,515,958,526,525,530,768,634,546,552,711,710,593,558,562,618,566,570,574,578,582,586,590,608,612,660,822,821,634,622,596,444,628,533,724,633,640,653,647,652,536,1008,451,450,445,657,670,676,685,689,693,697,701,704,707,715,719,798,815,634,723,762,996,634,728,969,730,735,908,634,741,679,889,511,747,634,750,755,499,666,499,501,759,772,776,780,634,787,784,797,802,809,808,427,814,1006,517,634,519,853,634,813,850,793,634,819,826,833,832,837,843,847,857,861,863,867,871,875,879,883,643,887,539,980,979,634,893,944,634,900,896,634,907,933,506,912,917,828,433,636,635,554,961,923,930,927,937,941,634,634,634,974,948,952,985,913,968,967,743,634,973,839,634,978,599,634,984,989,765,444,995,1e3,634,1003,790,955,1012,681,634,634,634,634,634,414,1016,1020,1024,1085,1027,1090,1090,1046,1080,1137,1108,1215,1049,1032,1039,1085,1085,1085,1085,1058,1062,1068,1085,1086,1090,1090,1091,1072,1064,1107,1090,1090,1090,1118,1123,1138,1078,1074,1084,1085,1085,1085,1087,1090,1062,1052,1060,1114,1062,1104,1085,1085,1090,1090,1028,1122,1063,1128,1139,1127,1158,1085,1085,1151,1090,1090,1090,1095,1090,1132,1073,1136,1143,1061,1150,1085,1155,1098,1101,1146,1162,1169,1101,1185,1151,1090,1110,1173,1054,1087,1109,1177,1165,1089,1204,1184,1107,1189,1193,1088,1197,1180,1201,1208,1042,1212,1219,1223,1227,1231,1235,1245,1777,1527,1686,1686,1238,1686,1254,1686,1686,1686,1294,1669,1686,1686,1686,1322,1625,1534,1268,1624,1275,1281,1443,1292,1300,1686,1686,1686,1350,1826,1306,1686,1686,1240,2032,1317,1321,1686,1686,1253,1686,1326,1686,1686,1686,1418,1709,1446,1686,1686,1686,1492,1686,1295,1447,1686,1686,1258,1686,1736,1686,1686,1520,1355,1686,1288,1348,1361,1686,1359,1686,1364,1498,1368,1302,1362,1381,1389,1395,1486,1686,1371,1377,1370,1686,1375,1382,1384,1402,1408,1385,1383,1619,1413,1423,1428,1433,1686,1686,1270,1686,1338,1686,1440,1686,1686,1686,1499,1465,1686,1686,1686,1639,1473,1884,1686,1686,1293,1864,1686,1686,1296,1321,1483,1686,1686,1686,1646,1686,1748,1496,1686,1418,1675,1686,1418,1702,1686,1418,1981,1686,1429,1409,1427,1504,1692,1686,1686,1313,1448,1651,1508,1686,1686,1340,1686,1903,1686,1686,1435,1513,1686,1283,1287,1519,1686,1524,1363,1568,1938,1539,1566,1579,1479,1533,1538,1553,1544,1552,1557,1563,1574,1557,1583,1589,1590,1759,1594,1603,1607,1611,1686,1436,1514,1686,1434,1656,1686,1434,1680,1686,1453,1686,1686,1686,1559,1617,1686,1770,1418,1623,1769,1629,1686,1515,1335,1686,1285,1686,1671,1921,1650,1686,1686,1344,1308,1666,1686,1686,1686,1659,1685,1686,1686,1686,1686,1241,1686,1686,1844,1691,1686,1630,1977,1970,1362,1686,1686,1686,1693,1698,1686,1686,1686,1697,1686,1764,1715,1686,1634,1638,1686,1599,1585,1686,1271,1686,1269,1686,1721,1686,1686,1354,1686,1801,1686,1799,1686,1640,1686,1686,1461,1686,1686,1732,1686,1944,1686,1740,1686,1746,1415,1396,1686,1598,1547,1417,1597,1416,1577,1546,1397,1577,1547,1548,1570,1398,1753,1686,1652,1509,1686,1686,1686,1757,1686,1419,1686,1763,1418,1768,1781,1686,1686,1686,1705,1686,2048,1792,1686,1686,1686,1735,1686,1797,1686,1686,1404,1686,1639,1815,1686,1686,1418,2017,1820,1686,1686,1803,1686,1686,1686,1736,1489,1686,1686,1825,1338,1260,1263,1686,1686,1785,1686,1686,1728,1686,1686,1749,1497,1830,1830,1262,1248,1261,1329,1260,1264,1329,1248,1249,1259,1540,1849,1842,1686,1686,1835,1686,1686,1816,1686,1686,1831,1882,1848,1686,1686,1686,1774,2071,1854,1686,1686,1469,1884,1686,1821,1859,1686,1686,1350,1883,1686,1686,1686,1781,1391,1875,1686,1686,1613,1644,1686,1686,1889,1686,1686,1662,1884,1686,1885,1890,1686,1686,1686,1894,1686,1686,1678,1686,1907,1686,1686,1529,1914,1686,1838,1686,1686,1881,1686,1686,1872,1876,1836,1919,1686,1837,1692,1910,1686,1925,1928,1742,1686,1811,1811,1930,1810,1929,1935,1928,1900,1942,1867,1868,1931,1035,1788,1948,1952,1956,1960,1964,1686,1976,1686,1686,1686,2065,1686,1992,2037,1686,1686,1998,2009,1972,2002,1686,1686,1686,2077,1300,2023,1686,1686,1686,1807,2031,1686,1686,1686,1860,1500,2032,1686,1686,1686,2083,1686,2036,1686,1277,1276,2042,1877,1686,1686,2041,1686,1686,2027,2037,2012,1686,2012,1855,1850,1686,2046,1686,1686,2054,1996,1686,1897,1309,2059,2052,1686,2058,1686,1686,2081,1686,1717,1477,1686,1331,1686,1686,1687,1686,1860,1681,1686,1686,1686,1966,1724,1686,1686,1686,1984,2015,1686,1686,1686,1988,1686,2063,1686,1686,1686,2005,1686,1727,1686,1686,1711,1457,2069,1686,1686,1686,2019,2075,1686,1686,1915,1686,1686,1793,1874,1686,1686,1491,1362,1449,1686,1686,1460,2098,2087,2091,2095,2184,2102,2113,2780,2117,2134,2142,2281,2146,2146,2146,2304,2296,2181,2639,2591,2872,2592,2873,2313,2195,2200,2281,2146,2273,2226,2204,2152,2219,2276,2167,2177,2276,2235,2276,2276,2230,2281,2276,2296,2276,2293,2276,2276,2276,2276,2234,2276,2311,2314,2210,2199,2217,2222,2276,2276,2276,2240,2276,2294,2276,2276,2173,2276,2198,2281,2281,2281,2281,2282,2146,2146,2146,2146,2205,2146,2204,2248,2276,2235,2276,2297,2276,2276,2276,2277,2256,2281,2283,2146,2146,2146,2275,2276,2295,2276,2276,2293,2146,2304,2264,2269,2221,2276,2276,2276,2293,2295,2276,2276,2276,2295,2263,2205,2268,2220,2172,2276,2276,2276,2296,2276,2276,2296,2294,2276,2276,2278,2281,2281,2280,2281,2281,2281,2283,2206,2223,2276,2276,2279,2281,2281,2146,2273,2276,2276,2281,2281,2281,2276,2292,2276,2298,2225,2276,2298,2169,2224,2292,2298,2171,2229,2281,2281,2171,2236,2281,2281,2281,2146,2275,2225,2292,2299,2276,2229,2281,2146,2276,2290,2297,2283,2146,2146,2274,2224,2227,2298,2225,2297,2276,2230,2170,2230,2282,2146,2147,2151,2156,2288,2276,2230,2303,2308,2236,2284,2228,2318,2318,2318,2326,2335,2339,2343,2349,2416,2693,2357,2592,2109,2592,2592,2162,2943,2823,2646,2592,2361,2592,2122,2592,2592,2122,2470,2592,2592,2592,2109,2107,2592,2592,2592,2123,2592,2592,2592,2125,2592,2413,2592,2592,2592,2127,2592,2592,2414,2592,2592,2592,2130,2952,2592,2594,2592,2592,2212,2609,2252,2592,2592,2592,2446,2434,2592,2592,2592,2212,2446,2450,2456,2431,2435,2592,2592,2243,2478,2448,2439,2946,2592,2592,2592,2368,2809,2813,2450,2441,2212,2812,2449,2440,2947,2592,2592,2592,2345,2451,2457,2948,2592,2124,2592,2592,2650,2823,2449,2455,2946,2592,2128,2592,2592,2649,2952,2592,2810,2448,2461,2991,2467,2592,2592,2329,2817,2474,2990,2466,2592,2592,2373,2447,2992,2469,2592,2592,2592,2373,2447,2477,2468,2592,2592,2353,2469,2592,2495,2592,2592,2415,2483,2592,2415,2496,2592,2592,2352,2592,2592,2352,2352,2469,2592,2592,2363,2331,2494,2592,2592,2592,2375,2592,2375,2415,2504,2592,2592,2367,2372,2503,2592,2592,2592,2389,2418,2415,2592,2592,2373,2592,2592,2592,2593,2732,2417,2415,2592,2417,2520,2592,2592,2592,2390,2521,2521,2592,2592,2592,2401,2599,2585,2526,2531,2120,2592,2212,2426,2450,2463,2948,2592,2592,2592,2213,2389,2527,2532,2121,2542,2551,2105,2592,2213,2592,2592,2592,2558,2538,2544,2553,2557,2537,2543,2552,2421,2572,2576,2546,2543,2547,2592,2592,2373,2615,2575,2545,2105,2592,2244,2479,2592,2129,2592,2592,2628,2690,2469,2562,2566,2592,2592,2592,2415,2928,2934,2401,2570,2574,2564,2572,2585,2590,2592,2592,2585,2965,2592,2592,2592,2445,2251,2592,2592,2592,2474,2592,2609,2892,2592,2362,2592,2592,2138,2851,2159,2592,2592,2592,2509,2888,2892,2592,2592,2592,2490,2418,2891,2592,2592,2376,2592,2592,2374,2592,2889,2388,2592,2373,2373,2890,2592,2592,2387,2592,2887,2505,2892,2592,2373,2610,2388,2592,2592,2376,2373,2592,2887,2891,2592,2374,2592,2592,2608,2159,2614,2620,2592,2592,2394,2594,2887,2399,2592,2887,2397,2508,2374,2507,2592,2375,2592,2592,2592,2595,2508,2506,2592,2506,2505,2505,2592,2507,2637,2505,2592,2592,2401,2661,2592,2643,2592,2592,2417,2592,2655,2592,2592,2592,2510,2414,2656,2592,2592,2592,2516,2592,2593,2660,2665,2880,2592,2592,2592,2522,2767,2666,2881,2592,2592,2420,2571,2696,2592,2592,2592,2580,2572,2686,2632,2698,2592,2383,2514,2592,2163,2932,2465,2685,2631,2697,2592,2388,2592,2592,2212,2604,2671,2632,2678,2592,2401,2405,2409,2592,2592,2592,2679,2592,2592,2592,2592,2108,2677,2591,2592,2592,2592,2419,2592,2683,2187,2191,2469,2671,2189,2467,2592,2401,2629,2633,2702,2468,2592,2592,2421,2536,2703,2469,2592,2592,2422,2573,2593,2672,2467,2592,2402,2406,2592,2402,2979,2592,2592,2626,2673,2467,2592,2446,2259,2947,2592,2377,2709,2592,2592,2522,2862,2713,2468,2592,2592,2581,2572,2562,2374,2374,2592,2376,2721,2724,2592,2592,2624,2373,2731,2592,2592,2592,2626,2732,2592,2592,2592,2755,2656,2726,2736,2741,2592,2486,2593,2381,2592,2727,2737,2742,2715,2747,2753,2592,2498,2469,2873,2743,2592,2592,2592,2791,2759,2763,2592,2592,2627,2704,2592,2592,2522,2789,2593,2761,2753,2592,2498,2863,2592,2592,2767,2592,2592,2592,2792,2789,2592,2592,2592,2803,2126,2592,2592,2592,2811,2122,2592,2592,2592,2834,2777,2592,2592,2592,2848,2936,2591,2489,2797,2592,2592,2670,2631,2490,2798,2592,2592,2592,2963,2807,2592,2592,2592,2965,2838,2592,2592,2592,2975,2330,2818,2829,2592,2498,2939,2592,2498,2592,2791,2331,2819,2830,2592,2592,2592,2982,2834,2817,2828,2106,2592,2592,2592,2405,2405,2817,2828,2592,2592,2415,2849,2842,2592,2522,2773,2592,2522,2868,2592,2580,2600,2586,2137,2850,2843,2592,2592,2855,2937,2844,2592,2592,2592,2987,2936,2591,2592,2592,2684,2630,2592,2856,2938,2592,2592,2860,2939,2592,2592,2872,2592,2861,2591,2592,2592,2887,2616,2592,2867,2592,2592,2708,2592,2498,2469,2498,2497,2785,2773,2499,2783,2770,2877,2877,2877,2772,2592,2592,2345,2885,2592,2592,2592,2715,2762,2515,2896,2592,2592,2715,2917,2516,2897,2592,2592,2592,2901,2906,2911,2592,2592,2956,2960,2715,2902,2907,2912,2593,2916,2920,2820,2922,2822,2592,2592,2715,2927,2921,2821,2106,2592,2592,2974,2408,2321,2821,2106,2592,2592,2983,2592,2593,2404,2408,2592,2592,2717,2749,2716,2928,2322,2822,2593,2926,2919,2820,2934,2823,2592,2592,2592,2651,2824,2592,2592,2592,2130,2952,2592,2592,2592,2592,2964,2592,2592,2716,2748,2592,2969,2592,2592,2716,2918,2368,2970,2592,2592,2592,2403,2407,2592,2592,2787,2211,2404,2409,2592,2592,2802,2837,2987,2592,2592,2592,2809,2427,2592,2793,2592,2592,2809,2447,1073741824,2147483648,539754496,542375936,402653184,554434560,571736064,545521856,268451840,335544320,268693630,512,2048,256,1024,0,1024,0,1073741824,2147483648,0,0,0,8388608,0,0,1073741824,1073741824,0,2147483648,537133056,4194304,1048576,268435456,-1073741824,0,0,0,1048576,0,0,0,1572864,0,0,0,4194304,0,134217728,16777216,0,0,32,64,98304,0,33554432,8388608,192,67108864,67108864,67108864,67108864,16,32,4,0,8192,196608,196608,229376,80,4096,524288,8388608,0,0,32,128,256,24576,24600,24576,24576,2,24576,24576,24576,24584,24592,24576,24578,24576,24578,24576,24576,16,512,2048,2048,256,4096,32768,1048576,4194304,67108864,134217728,268435456,262144,134217728,0,128,128,64,16384,16384,16384,67108864,32,32,4,4,4096,262144,134217728,0,0,0,2,0,8192,131072,131072,4096,4096,4096,4096,24576,24576,24576,8,8,24576,24576,16384,16384,16384,24576,24584,24576,24576,24576,16384,24576,536870912,262144,0,0,32,2048,8192,4,4096,4096,4096,786432,8388608,16777216,0,128,16384,16384,16384,32768,65536,2097152,32,32,32,32,4,4,4,4,4,4096,67108864,67108864,67108864,24576,24576,24576,24576,0,16384,16384,16384,16384,67108864,67108864,8,67108864,24576,8,8,8,24576,24576,24576,24578,24576,24576,24576,2,2,2,16384,67108864,67108864,67108864,32,67108864,8,8,24576,2048,2147483648,536870912,262144,262144,262144,67108864,8,24576,16384,32768,1048576,4194304,25165824,67108864,24576,32770,2,4,112,512,98304,524288,50,402653186,1049090,1049091,10,66,100925514,10,66,12582914,0,0,-1678194207,-1678194207,-1041543218,0,32768,0,0,32,65536,268435456,1,1,513,1048577,0,12582912,0,0,0,4,1792,0,0,0,7,29360128,0,0,0,8,0,0,0,12,1,1,0,0,-604102721,-604102721,4194304,8388608,0,0,0,31,925600,997981306,997981306,997981306,0,0,2048,8388608,0,0,1,2,4,32,64,512,8192,0,0,0,245760,997720064,0,0,0,32,0,0,0,3,12,16,32,8,112,3072,12288,16384,32768,65536,131072,7864320,16777216,973078528,0,0,65536,131072,3670016,4194304,16777216,33554432,2,8,48,2048,8192,16384,32768,65536,131072,524288,131072,524288,3145728,4194304,16777216,33554432,65536,131072,2097152,4194304,16777216,33554432,134217728,268435456,536870912,0,0,0,1024,0,8,48,2048,8192,65536,33554432,268435456,536870912,65536,268435456,536870912,0,0,32768,0,0,126,623104,65011712,0,32,65536,536870912,0,0,65536,524288,0,32,65536,0,0,0,2048,0,0,0,15482,245760,-604102721,0,0,0,18913,33062912,925600,-605028352,0,0,0,65536,31,8096,131072,786432,3145728,3145728,12582912,50331648,134217728,268435456,160,256,512,7168,131072,786432,131072,786432,1048576,2097152,12582912,16777216,268435456,1073741824,2147483648,12582912,16777216,33554432,268435456,1073741824,2147483648,3,12,16,160,256,7168,786432,1048576,12582912,16777216,268435456,1073741824,0,8,16,32,128,256,512,7168,786432,1048576,2097152,0,1,2,8,16,7168,786432,1048576,8388608,16777216,16777216,1073741824,0,0,0,0,1,0,0,8,32,128,256,7168,8,32,0,3072,0,8,32,3072,4096,524288,8,32,0,0,3072,4096,0,2048,524288,8388608,8,2048,0,0,1,12,256,4096,32768,262144,1048576,4194304,67108864,0,2048,0,2048,2048,1073741824,-58805985,-58805985,-58805985,0,0,262144,0,0,32,4194304,16777216,134217728,4382,172032,-58982400,0,0,2,28,256,4096,8192,8192,32768,131072,262144,524288,1,2,12,256,4096,0,0,4194304,67108864,134217728,805306368,1073741824,0,0,1,2,12,16,256,4096,1048576,67108864,134217728,268435456,0,512,1048576,4194304,201326592,1879048192,0,0,12,256,4096,134217728,268435456,536870912,12,256,268435456,536870912,0,12,256,0,0,1,32,64,512,0,0,205236961,205236961,0,0,0,1,96,640,1,10976,229376,204996608,0,640,2048,8192,229376,1572864,1572864,2097152,201326592,0,0,0,64,512,2048,229376,1572864,201326592,1572864,201326592,0,0,1,4382,0,1,32,2048,65536,131072,1572864,201326592,131072,1572864,134217728,0,0,524288,524288,0,0,0,-68582786,-68582786,-68582786,0,0,2097152,524288,0,524288,0,0,65536,131072,1572864,0,0,2,4,0,0,65011712,-134217728,0,0,0,0,2,4,120,512,-268435456,0,0,0,2,8,48,64,2048,8192,98304,524288,2097152,4194304,25165824,33554432,134217728,268435456,2147483648,0,0,25165824,33554432,134217728,1879048192,2147483648,0,0,4,112,512,622592,65011712,134217728,-268435456,16777216,33554432,134217728,1610612736,0,0,0,64,98304,524288,4194304,16777216,33554432,0,98304,524288,16777216,33554432,0,65536,524288,33554432,536870912,1073741824,0,65536,524288,536870912,1073741824,0,0,65536,524288,536870912,0,524288,0,524288,524288,1048576,2086666240,2147483648,0,-1678194207,0,0,0,8,32,2048,524288,8388608,0,0,33062912,436207616,2147483648,0,0,32,64,2432,16384,32768,32768,524288,3145728,4194304,25165824,25165824,167772160,268435456,2147483648,0,32,64,384,2048,16384,32768,1048576,2097152,4194304,25165824,32,64,128,256,2048,16384,2048,16384,1048576,4194304,16777216,33554432,134217728,536870912,1073741824,0,0,2048,16384,4194304,16777216,33554432,134217728,805306368,0,0,16777216,134217728,268435456,2147483648,0,622592,622592,622592,8807,8807,434791,0,0,16777216,0,0,0,7,608,8192,0,0,0,3,4,96,512,32,64,8192,0,0,16777216,134217728,0,0,2,4,8192,16384,65536,2097152,33554432,268435456],r.TOKEN=["(0)","ModuleDecl","Annotation","OptionDecl","Operator","Variable","Tag","EndTag","PragmaContents","DirCommentContents","DirPIContents","CDataSectionContents","AttrTest","Wildcard","EQName","IntegerLiteral","DecimalLiteral","DoubleLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","QuotChar","AposChar","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","NCName","QName","S","CharRef","CommentContents","DocTag","DocCommentContents","EOF","'!'","'\"'","'#'","'#)'","''''","'('","'(#'","'(:'","'(:~'","')'","'*'","'*'","','","'-->'","'.'","'/'","'/>'","':'","':)'","';'","'<!--'","'<![CDATA['","'<?'","'='","'>'","'?'","'?>'","'NaN'","'['","']'","']]>'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'|'","'}'","'}}'"]},{}],2:[function(e,t,n){"use strict";var r=function(e){var t=e;this.tokens=[],this.reset=function(){t=t,this.tokens=[]},this.startNonterminal=function(){},this.endNonterminal=function(){},this.terminal=function(e,n,r){this.tokens.push({name:e,value:t.substring(n,r)})},this.whitespace=function(e,n){this.tokens.push({name:"WS",value:t.substring(e,n)})}};n.Lexer=function(e,t){this.tokens=[],this.getLineTokens=function(n,i){i=i==="start"||!i?'["start"]':i;var s=JSON.parse(i),o=new r(n),u=new e(n,o),a=[];for(;;){var f=s[s.length-1];try{o.tokens=[],u["parse_"+f]();var l=null;o.tokens.length>1&&o.tokens[0].name==="WS"&&(a.push({type:"text",value:o.tokens[0].value}),o.tokens.splice(0,1));var c=o.tokens[0],h=t[f];for(var p=0;p<h.length;p++){var d=t[f][p];if(typeof d.name=="function"&&d.name(c)||d.name===c.name){l=d;break}}if(c.name==="EOF")break;if(c.value==="")throw"Encountered empty string lexical rule.";a.push({type:l===null?"text":typeof l.token=="function"?l.token(c.value):l.token,value:c.value}),l&&l.next&&l.next(s)}catch(v){if(v instanceof u.ParseException){var m=0;for(var g=0;g<a.length;g++)m+=a[g].value.length;return a.push({type:"text",value:n.substring(m)}),{tokens:a,state:JSON.stringify(["start"])}}throw v}}return{tokens:a,state:JSON.stringify(s)}}}},{}],3:[function(e,t,n){"use strict";var r=e("./XQueryTokenizer").XQueryTokenizer,i=e("./lexer").Lexer,s="after|ancestor|ancestor-or-self|and|as|ascending|attribute|before|case|cast|castable|child|collation|comment|copy|count|declare|default|delete|descendant|descendant-or-self|descending|div|document|document-node|element|else|empty|empty-sequence|end|eq|every|except|first|following|following-sibling|for|function|ge|group|gt|idiv|if|import|insert|instance|intersect|into|is|item|last|le|let|lt|mod|modify|module|namespace|namespace-node|ne|node|only|or|order|ordered|parent|preceding|preceding-sibling|processing-instruction|rename|replace|return|satisfies|schema-attribute|schema-element|self|some|stable|start|switch|text|to|treat|try|typeswitch|union|unordered|validate|where|with|xquery|contains|paragraphs|sentences|times|words|by|collectionreturn|variable|version|option|when|encoding|toswitch|catch|tumbling|sliding|window|at|using|stemming|collection|schema|while|on|nodes|index|external|then|in|updating|value|of|containsbreak|loop|continue|exit|returning|append|json|position|strict".split("|"),o=s.map(function(e){return{name:"'"+e+"'",token:"keyword"}}),u=s.map(function(e){return{name:"'"+e+"'",token:"text",next:function(e){e.pop()}}}),a="constant.language",f="constant",l="comment",c="xml-pe",h="constant.buildin",p=function(e){return"'"+e+"'"},d={start:[{name:p("(#"),token:h,next:function(e){e.push("Pragma")}},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p("(:~"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:p("<?"),token:c,next:function(e){e.push("PI")}},{name:p("''"),token:"string",next:function(e){e.push("AposString")}},{name:p('"'),token:"string",next:function(e){e.push("QuotString")}},{name:"Annotation",token:"support.function"},{name:"ModuleDecl",token:"keyword",next:function(e){e.push("Prefix")}},{name:"OptionDecl",token:"keyword",next:function(e){e.push("_EQName")}},{name:"AttrTest",token:"support.type"},{name:"Variable",token:"variable"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:"IntegerLiteral",token:f},{name:"DecimalLiteral",token:f},{name:"DoubleLiteral",token:f},{name:"Operator",token:"keyword.operator"},{name:"EQName",token:function(e){return s.indexOf(e)!==-1?"keyword":"support.function"}},{name:p("("),token:"lparen"},{name:p(")"),token:"rparen"},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:p("}"),token:"text",next:function(e){e.length>1&&e.pop()}},{name:p("{"),token:"text",next:function(e){e.push("start")}}].concat(o),_EQName:[{name:"EQName",token:"text",next:function(e){e.pop()}}].concat(u),Prefix:[{name:"NCName",token:"text",next:function(e){e.pop()}}].concat(u),StartTag:[{name:p(">"),token:"meta.tag",next:function(e){e.push("TagContent")}},{name:"QName",token:"entity.other.attribute-name"},{name:p("="),token:"text"},{name:p("''"),token:"string",next:function(e){e.push("AposAttr")}},{name:p('"'),token:"string",next:function(e){e.push("QuotAttr")}},{name:p("/>"),token:"meta.tag.r",next:function(e){e.pop()}}],TagContent:[{name:"ElementContentChar",token:"text"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"text"},{name:p("}}"),token:"text"},{name:p("{"),token:"text",next:function(e){e.push("start")}},{name:"EndTag",token:"meta.tag",next:function(e){e.pop(),e.pop()}}],AposAttr:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],QuotAttr:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],Pragma:[{name:"PragmaContents",token:h},{name:p("#"),token:h},{name:p("#)"),token:h,next:function(e){e.pop()}}],Comment:[{name:"CommentContents",token:"comment"},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p(":)"),token:"comment",next:function(e){e.pop()}}],CommentDoc:[{name:"DocCommentContents",token:"comment.doc"},{name:"DocTag",token:"comment.doc.tag"},{name:p("(:"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p(":)"),token:"comment.doc",next:function(e){e.pop()}}],XMLComment:[{name:"DirCommentContents",token:l},{name:p("-->"),token:l,next:function(e){e.pop()}}],CData:[{name:"CDataSectionContents",token:a},{name:p("]]>"),token:a,next:function(e){e.pop()}}],PI:[{name:"DirPIContents",token:c},{name:p("?"),token:c},{name:p("?>"),token:c,next:function(e){e.pop()}}],AposString:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposChar",token:"string"}],QuotString:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotChar",token:"string"}]};n.XQueryLexer=function(){return new i(r,d)}},{"./XQueryTokenizer":1,"./lexer":2}]},{},[3])(3)}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml","ace/token_iterator"],function(e,t,n){"use strict";function a(e,t){var n=!0,r=e.type.split("."),i=t.split(".");return i.forEach(function(e){if(r.indexOf(e)==-1)return n=!1,!1}),n}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../behaviour/xml").XmlBehaviour,u=e("../../token_iterator").TokenIterator,f=function(){this.inherit(s,["braces","parens","string_dquotes"]),this.inherit(o),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),o=new u(r,s.row,s.column),f=o.getCurrentToken(),l=!1,e=JSON.parse(e).pop();if(f&&f.value===">"||e!=="StartTag")return;if(!f||!a(f,"meta.tag")&&(!a(f,"text")||!f.value.match("/"))){do f=o.stepBackward();while(f&&(a(f,"string")||a(f,"keyword.operator")||a(f,"entity.attribute-name")||a(f,"text")))}else l=!0;var c=o.stepBackward();if(!f||!a(f,"meta.tag")||c!==null&&c.value.match("/"))return;var h=f.value.substring(1);if(l)var h=h.substring(0,s.column-f.start);return{text:"></"+h+">",selection:[1,1]}}})};r.inherits(f,i),t.XQueryBehaviour=f}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/xquery",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/xquery/xquery_lexer","ace/range","ace/mode/behaviour/xquery","ace/mode/folding/cstyle","ace/anchor"],function(e,t,n){"use strict";var r=e("../worker/worker_client").WorkerClient,i=e("../lib/oop"),s=e("./text").Mode,o=e("./text_highlight_rules").TextHighlightRules,u=e("./xquery/xquery_lexer").XQueryLexer,a=e("../range").Range,f=e("./behaviour/xquery").XQueryBehaviour,l=e("./folding/cstyle").FoldMode,c=e("../anchor").Anchor,h=function(){this.$tokenizer=new u,this.$behaviour=new f,this.foldingRules=new l,this.$highlightRules=new o};i.inherits(h,s),function(){this.completer={getCompletions:function(e,t,n,r,i){if(!t.$worker)return i();t.$worker.emit("complete",{data:{pos:n,prefix:r}}),t.$worker.on("complete",function(e){i(null,e.data)})}},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=t.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return i&&(r+=n),r},this.checkOutdent=function(e,t,n){return/^\s+$/.test(t)?/^\s*[\}\)]/.test(n):!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^(\s*[\}\)])/);if(!i)return 0;var s=i[1].length,o=t.findMatchingBracket({row:n,column:s});if(!o||o.row==n)return 0;var u=this.$getIndent(t.getLine(o.row));t.replace(new a(n,0,n,s-1),u)},this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,u=/^\s*\(:(.*):\)/;for(i=n;i<=r;i++)if(!u.test(t.getLine(i))){o=!1;break}var f=new a(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(u)[1]:"(:"+s+":)")},this.createWorker=function(e){var t=new r(["ace"],"ace/mode/xquery_worker","XQueryWorker"),n=this;return t.attachToDocument(e.getDocument()),t.on("ok",function(t){e.clearAnnotations()}),t.on("markers",function(t){e.clearAnnotations(),n.addMarkers(t.data,e)}),t.on("highlight",function(t){n.$tokenizer.tokens=t.data.tokens,n.$tokenizer.lines=e.getDocument().getAllLines();var r=Object.keys(n.$tokenizer.tokens);for(var i=0;i<r.length;i++){var s=parseInt(r[i]);delete e.bgTokenizer.lines[s],delete e.bgTokenizer.states[s],e.bgTokenizer.fireUpdateEvent(s,s)}}),t},this.removeMarkers=function(e){var t=e.getMarkers(!1);for(var n in t)t[n].clazz.indexOf("language_highlight_")===0&&e.removeMarker(n);for(var r=0;r<e.markerAnchors.length;r++)e.markerAnchors[r].detach();e.markerAnchors=[]},this.addMarkers=function(e,t){var n=this;t.markerAnchors||(t.markerAnchors=[]),this.removeMarkers(t),t.languageAnnos=[],e.forEach(function(e){function u(i){r&&t.removeMarker(r),o.row=n.row;if(e.pos.sc!==undefined&&e.pos.ec!==undefined){var s=new a(e.pos.sl,e.pos.sc,e.pos.el,e.pos.ec);r=t.addMarker(s,"language_highlight_"+(e.type?e.type:"default"))}i&&t.setAnnotations(t.languageAnnos)}var n=new c(t.getDocument(),e.pos.sl,e.pos.sc||0);t.markerAnchors.push(n);var r,i=e.pos.ec-e.pos.sc,s=e.pos.el-e.pos.sl,o={guttertext:e.message,type:e.level||"warning",text:e.message};u(),n.on("change",function(){u(!0)}),e.message&&t.languageAnnos.push(o)}),t.setAnnotations(t.languageAnnos)},this.$id="ace/mode/xquery"}.call(h.prototype),t.Mode=h}) \ No newline at end of file
diff --git a/library/ace/mode-yaml.js b/library/ace/mode-yaml.js
new file mode 100644
index 000000000..df458d7a9
--- /dev/null
+++ b/library/ace/mode-yaml.js
@@ -0,0 +1 @@
+ace.define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"list.markup",regex:/^(?:-{3}|\.{3})\s*(?=#|$)/},{token:"list.markup",regex:/^\s*[\-?](?:$|\s)/},{token:"constant",regex:"!![\\w//]+"},{token:"constant.language",regex:"[&\\*][a-zA-Z0-9-_]+"},{token:["meta.tag","keyword"],regex:/^(\s*\w.*?)(\:(?:\s+|$))/},{token:["meta.tag","keyword"],regex:/(\w+?)(\s*\:(?:\s+|$))/},{token:"keyword.operator",regex:"<<\\w*:\\w*"},{token:"keyword.operator",regex:"-\\s*(?=[{])"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"[|>][-+\\d\\s]*$",next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)/},{token:"constant.numeric",regex:/[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/},{token:"constant.language.boolean",regex:"(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"}],qqstring:[{token:"string",regex:"(?=(?:(?:\\\\.)|(?:[^:]))*?:)",next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.YamlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/yaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/yaml_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./yaml_highlight_rules").YamlHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=s,this.$outdent=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/yaml"}.call(a.prototype),t.Mode=a}) \ No newline at end of file
diff --git a/library/ace/snippets/abap.js b/library/ace/snippets/abap.js
new file mode 100644
index 000000000..5e1c4c2de
--- /dev/null
+++ b/library/ace/snippets/abap.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/abap",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="abap"}) \ No newline at end of file
diff --git a/library/ace/snippets/abc.js b/library/ace/snippets/abc.js
new file mode 100644
index 000000000..ed591a5f4
--- /dev/null
+++ b/library/ace/snippets/abc.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/abc",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='\nsnippet zupfnoter.print\n %%%%hn.print {"startpos": ${1:pos_y}, "t":"${2:title}", "v":[${3:voices}], "s":[[${4:syncvoices}1,2]], "f":[${5:flowlines}], "sf":[${6:subflowlines}], "j":[${7:jumplines}]}\n\nsnippet zupfnoter.note\n %%%%hn.note {"pos": [${1:pos_x},${2:pos_y}], "text": "${3:text}", "style": "${4:style}"}\n\nsnippet zupfnoter.annotation\n %%%%hn.annotation {"id": "${1:id}", "pos": [${2:pos}], "text": "${3:text}"}\n\nsnippet zupfnoter.lyrics\n %%%%hn.lyrics {"pos": [${1:x_pos},${2:y_pos}]}\n\nsnippet zupfnoter.legend\n %%%%hn.legend {"pos": [${1:x_pos},${2:y_pos}]}\n\n\n\nsnippet zupfnoter.target\n "^:${1:target}"\n\nsnippet zupfnoter.goto\n "^@${1:target}@${2:distance}"\n\nsnippet zupfnoter.annotationref\n "^#${1:target}"\n\nsnippet zupfnoter.annotation\n "^!${1:text}@${2:x_offset},${3:y_offset}"\n\n\n',t.scope="abc"}) \ No newline at end of file
diff --git a/library/ace/snippets/actionscript.js b/library/ace/snippets/actionscript.js
new file mode 100644
index 000000000..50ca770c2
--- /dev/null
+++ b/library/ace/snippets/actionscript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/actionscript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet main\n package {\n import flash.display.*;\n import flash.Events.*;\n \n public class Main extends Sprite {\n public function Main ( ) {\n trace("start");\n stage.scaleMode = StageScaleMode.NO_SCALE;\n stage.addEventListener(Event.RESIZE, resizeListener);\n }\n \n private function resizeListener (e:Event):void {\n trace("The application window changed size!");\n trace("New width: " + stage.stageWidth);\n trace("New height: " + stage.stageHeight);\n }\n \n }\n \n }\nsnippet class\n ${1:public|internal} class ${2:name} ${3:extends } {\n public function $2 ( ) {\n ("start");\n }\n }\nsnippet all\n package name {\n\n ${1:public|internal|final} class ${2:name} ${3:extends } {\n private|public| static const FOO = "abc";\n private|public| static var BAR = "abc";\n\n // class initializer - no JIT !! one time setup\n if Cababilities.os == "Linux|MacOS" {\n FOO = "other";\n }\n\n // constructor:\n public function $2 ( ){\n super2();\n trace("start");\n }\n public function name (a, b...){\n super.name(..);\n lable:break\n }\n }\n }\n\n function A(){\n // A can only be accessed within this file\n }\nsnippet switch\n switch(${1}){\n case ${2}:\n ${3}\n break;\n default:\n }\nsnippet case\n case ${1}:\n ${2}\n break;\nsnippet package\n package ${1:package}{\n ${2}\n }\nsnippet wh\n while ${1:cond}{\n ${2}\n }\nsnippet do\n do {\n ${2}\n } while (${1:cond})\nsnippet while\n while ${1:cond}{\n ${2}\n }\nsnippet for enumerate names\n for (${1:var} in ${2:object}){\n ${3}\n }\nsnippet for enumerate values\n for each (${1:var} in ${2:object}){\n ${3}\n }\nsnippet get_set\n function get ${1:name} {\n return ${2}\n }\n function set $1 (newValue) {\n ${3}\n }\nsnippet interface\n interface name {\n function method(${1}):${2:returntype};\n }\nsnippet try\n try {\n ${1}\n } catch (error:ErrorType) {\n ${2}\n } finally {\n ${3}\n }\n# For Loop (same as c.snippet)\nsnippet for for (..) {..}\n for (${2:i} = 0; $2 < ${1:count}; $2${3:++}) {\n ${4:/* code */}\n }\n# Custom For Loop\nsnippet forr\n for (${1:i} = ${2:0}; ${3:$1 < 10}; $1${4:++}) {\n ${5:/* code */}\n }\n# If Condition\nsnippet if\n if (${1:/* condition */}) {\n ${2:/* code */}\n }\nsnippet el\n else {\n ${1}\n }\n# Ternary conditional\nsnippet t\n ${1:/* condition */} ? ${2:a} : ${3:b}\nsnippet fun\n function ${1:function_name}(${2})${3}\n {\n ${4:/* code */}\n }\n# FlxSprite (usefull when using the flixel library)\nsnippet FlxSprite\n package\n {\n import org.flixel.*\n\n public class ${1:ClassName} extends ${2:FlxSprite}\n {\n public function $1(${3: X:Number, Y:Number}):void\n {\n super(X,Y);\n ${4: //code...}\n }\n\n override public function update():void\n {\n super.update();\n ${5: //code...}\n }\n }\n }\n\n',t.scope="actionscript"}) \ No newline at end of file
diff --git a/library/ace/snippets/ada.js b/library/ace/snippets/ada.js
new file mode 100644
index 000000000..65a1adc4c
--- /dev/null
+++ b/library/ace/snippets/ada.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ada",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ada"}) \ No newline at end of file
diff --git a/library/ace/snippets/apache_conf.js b/library/ace/snippets/apache_conf.js
new file mode 100644
index 000000000..a4364ecdf
--- /dev/null
+++ b/library/ace/snippets/apache_conf.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/apache_conf",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="apache_conf"}) \ No newline at end of file
diff --git a/library/ace/snippets/applescript.js b/library/ace/snippets/applescript.js
new file mode 100644
index 000000000..d3a7cd598
--- /dev/null
+++ b/library/ace/snippets/applescript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/applescript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="applescript"}) \ No newline at end of file
diff --git a/library/ace/snippets/asciidoc.js b/library/ace/snippets/asciidoc.js
new file mode 100644
index 000000000..ec76c4f39
--- /dev/null
+++ b/library/ace/snippets/asciidoc.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/asciidoc",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="asciidoc"}) \ No newline at end of file
diff --git a/library/ace/snippets/assembly_x86.js b/library/ace/snippets/assembly_x86.js
new file mode 100644
index 000000000..7c6e63224
--- /dev/null
+++ b/library/ace/snippets/assembly_x86.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/assembly_x86",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="assembly_x86"}) \ No newline at end of file
diff --git a/library/ace/snippets/autohotkey.js b/library/ace/snippets/autohotkey.js
new file mode 100644
index 000000000..0507ad922
--- /dev/null
+++ b/library/ace/snippets/autohotkey.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/autohotkey",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="autohotkey"}) \ No newline at end of file
diff --git a/library/ace/snippets/batchfile.js b/library/ace/snippets/batchfile.js
new file mode 100644
index 000000000..bffe14eb4
--- /dev/null
+++ b/library/ace/snippets/batchfile.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/batchfile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="batchfile"}) \ No newline at end of file
diff --git a/library/ace/snippets/c9search.js b/library/ace/snippets/c9search.js
new file mode 100644
index 000000000..0f455c179
--- /dev/null
+++ b/library/ace/snippets/c9search.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/c9search",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="c9search"}) \ No newline at end of file
diff --git a/library/ace/snippets/c_cpp.js b/library/ace/snippets/c_cpp.js
new file mode 100644
index 000000000..9fc5a5824
--- /dev/null
+++ b/library/ace/snippets/c_cpp.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/c_cpp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="## STL Collections\n# std::array\nsnippet array\n std::array<${1:T}, ${2:N}> ${3};${4}\n# std::vector\nsnippet vector\n std::vector<${1:T}> ${2};${3}\n# std::deque\nsnippet deque\n std::deque<${1:T}> ${2};${3}\n# std::forward_list\nsnippet flist\n std::forward_list<${1:T}> ${2};${3}\n# std::list\nsnippet list\n std::list<${1:T}> ${2};${3}\n# std::set\nsnippet set\n std::set<${1:T}> ${2};${3}\n# std::map\nsnippet map\n std::map<${1:Key}, ${2:T}> ${3};${4}\n# std::multiset\nsnippet mset\n std::multiset<${1:T}> ${2};${3}\n# std::multimap\nsnippet mmap\n std::multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_set\nsnippet uset\n std::unordered_set<${1:T}> ${2};${3}\n# std::unordered_map\nsnippet umap\n std::unordered_map<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_multiset\nsnippet umset\n std::unordered_multiset<${1:T}> ${2};${3}\n# std::unordered_multimap\nsnippet ummap\n std::unordered_multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::stack\nsnippet stack\n std::stack<${1:T}> ${2};${3}\n# std::queue\nsnippet queue\n std::queue<${1:T}> ${2};${3}\n# std::priority_queue\nsnippet pqueue\n std::priority_queue<${1:T}> ${2};${3}\n##\n## Access Modifiers\n# private\nsnippet pri\n private\n# protected\nsnippet pro\n protected\n# public\nsnippet pub\n public\n# friend\nsnippet fr\n friend\n# mutable\nsnippet mu\n mutable\n## \n## Class\n# class\nsnippet cl\n class ${1:`Filename('$1', 'name')`} \n {\n public:\n $1(${2});\n ~$1();\n\n private:\n ${3:/* data */}\n };\n# member function implementation\nsnippet mfun\n ${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {\n ${5:/* code */}\n }\n# namespace\nsnippet ns\n namespace ${1:`Filename('', 'my')`} {\n ${2}\n } /* namespace $1 */\n##\n## Input/Output\n# std::cout\nsnippet cout\n std::cout << ${1} << std::endl;${2}\n# std::cin\nsnippet cin\n std::cin >> ${1};${2}\n##\n## Iteration\n# for i \nsnippet fori\n for (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {\n ${4:/* code */}\n }${5}\n\n# foreach\nsnippet fore\n for (${1:auto} ${2:i} : ${3:container}) {\n ${4:/* code */}\n }${5}\n# iterator\nsnippet iter\n for (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {\n ${6}\n }${7}\n\n# auto iterator\nsnippet itera\n for (auto ${1:i} = $1.begin(); $1 != $1.end(); ++$1) {\n ${2:std::cout << *$1 << std::endl;}\n }${3}\n##\n## Lambdas\n# lamda (one line)\nsnippet ld\n [${1}](${2}){${3:/* code */}}${4}\n# lambda (multi-line)\nsnippet lld\n [${1}](${2}){\n ${3:/* code */}\n }${4}\n",t.scope="c_cpp"}) \ No newline at end of file
diff --git a/library/ace/snippets/cirru.js b/library/ace/snippets/cirru.js
new file mode 100644
index 000000000..8ecce1b5e
--- /dev/null
+++ b/library/ace/snippets/cirru.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/cirru",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="cirru"}) \ No newline at end of file
diff --git a/library/ace/snippets/clojure.js b/library/ace/snippets/clojure.js
new file mode 100644
index 000000000..3aebfa568
--- /dev/null
+++ b/library/ace/snippets/clojure.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/clojure",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet comm\n (comment\n ${1}\n )\nsnippet condp\n (condp ${1:pred} ${2:expr}\n ${3})\nsnippet def\n (def ${1})\nsnippet defm\n (defmethod ${1:multifn} "${2:doc-string}" ${3:dispatch-val} [${4:args}]\n ${5})\nsnippet defmm\n (defmulti ${1:name} "${2:doc-string}" ${3:dispatch-fn})\nsnippet defma\n (defmacro ${1:name} "${2:doc-string}" ${3:dispatch-fn})\nsnippet defn\n (defn ${1:name} "${2:doc-string}" [${3:arg-list}]\n ${4})\nsnippet defp\n (defprotocol ${1:name}\n ${2})\nsnippet defr\n (defrecord ${1:name} [${2:fields}]\n ${3:protocol}\n ${4})\nsnippet deft\n (deftest ${1:name}\n (is (= ${2:assertion})))\n ${3})\nsnippet is\n (is (= ${1} ${2}))\nsnippet defty\n (deftype ${1:Name} [${2:fields}]\n ${3:Protocol}\n ${4})\nsnippet doseq\n (doseq [${1:elem} ${2:coll}]\n ${3})\nsnippet fn\n (fn [${1:arg-list}] ${2})\nsnippet if\n (if ${1:test-expr}\n ${2:then-expr}\n ${3:else-expr})\nsnippet if-let \n (if-let [${1:result} ${2:test-expr}]\n (${3:then-expr} $1)\n (${4:else-expr}))\nsnippet imp\n (:import [${1:package}])\n & {:keys [${1:keys}] :or {${2:defaults}}}\nsnippet let\n (let [${1:name} ${2:expr}]\n ${3})\nsnippet letfn\n (letfn [(${1:name) [${2:args}]\n ${3})])\nsnippet map\n (map ${1:func} ${2:coll})\nsnippet mapl\n (map #(${1:lambda}) ${2:coll})\nsnippet met\n (${1:name} [${2:this} ${3:args}]\n ${4})\nsnippet ns\n (ns ${1:name}\n ${2})\nsnippet dotimes\n (dotimes [_ 10]\n (time\n (dotimes [_ ${1:times}]\n ${2})))\nsnippet pmethod\n (${1:name} [${2:this} ${3:args}])\nsnippet refer\n (:refer-clojure :exclude [${1}])\nsnippet require\n (:require [${1:namespace} :as [${2}]])\nsnippet use\n (:use [${1:namespace} :only [${2}]])\nsnippet print\n (println ${1})\nsnippet reduce\n (reduce ${1:(fn [p n] ${3})} ${2})\nsnippet when\n (when ${1:test} ${2:body})\nsnippet when-let\n (when-let [${1:result} ${2:test}]\n ${3:body})\n',t.scope="clojure"}) \ No newline at end of file
diff --git a/library/ace/snippets/cobol.js b/library/ace/snippets/cobol.js
new file mode 100644
index 000000000..f95742734
--- /dev/null
+++ b/library/ace/snippets/cobol.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/cobol",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="cobol"}) \ No newline at end of file
diff --git a/library/ace/snippets/coffee.js b/library/ace/snippets/coffee.js
new file mode 100644
index 000000000..ac1b7304d
--- /dev/null
+++ b/library/ace/snippets/coffee.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/coffee",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# Closure loop\nsnippet forindo\n for ${1:name} in ${2:array}\n do ($1) ->\n ${3:// body}\n# Array comprehension\nsnippet fora\n for ${1:name} in ${2:array}\n ${3:// body...}\n# Object comprehension\nsnippet foro\n for ${1:key}, ${2:value} of ${3:object}\n ${4:// body...}\n# Range comprehension (inclusive)\nsnippet forr\n for ${1:name} in [${2:start}..${3:finish}]\n ${4:// body...}\nsnippet forrb\n for ${1:name} in [${2:start}..${3:finish}] by ${4:step}\n ${5:// body...}\n# Range comprehension (exclusive)\nsnippet forrex\n for ${1:name} in [${2:start}...${3:finish}]\n ${4:// body...}\nsnippet forrexb\n for ${1:name} in [${2:start}...${3:finish}] by ${4:step}\n ${5:// body...}\n# Function\nsnippet fun\n (${1:args}) ->\n ${2:// body...}\n# Function (bound)\nsnippet bfun\n (${1:args}) =>\n ${2:// body...}\n# Class\nsnippet cla class ..\n class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n ${2}\nsnippet cla class .. constructor: ..\n class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n constructor: (${2:args}) ->\n ${3}\n\n ${4}\nsnippet cla class .. extends ..\n class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n ${3}\nsnippet cla class .. extends .. constructor: ..\n class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n constructor: (${3:args}) ->\n ${4}\n\n ${5}\n# If\nsnippet if\n if ${1:condition}\n ${2:// body...}\n# If __ Else\nsnippet ife\n if ${1:condition}\n ${2:// body...}\n else\n ${3:// body...}\n# Else if\nsnippet elif\n else if ${1:condition}\n ${2:// body...}\n# Ternary If\nsnippet ifte\n if ${1:condition} then ${2:value} else ${3:other}\n# Unless\nsnippet unl\n ${1:action} unless ${2:condition}\n# Switch\nsnippet swi\n switch ${1:object}\n when ${2:value}\n ${3:// body...}\n\n# Log\nsnippet log\n console.log ${1}\n# Try __ Catch\nsnippet try\n try\n ${1}\n catch ${2:error}\n ${3}\n# Require\nsnippet req\n ${2:$1} = require '${1:sys}'${3}\n# Export\nsnippet exp\n ${1:root} = exports ? this\n",t.scope="coffee"}) \ No newline at end of file
diff --git a/library/ace/snippets/coldfusion.js b/library/ace/snippets/coldfusion.js
new file mode 100644
index 000000000..5342f2f96
--- /dev/null
+++ b/library/ace/snippets/coldfusion.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/coldfusion",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="coldfusion"}) \ No newline at end of file
diff --git a/library/ace/snippets/csharp.js b/library/ace/snippets/csharp.js
new file mode 100644
index 000000000..9805077ae
--- /dev/null
+++ b/library/ace/snippets/csharp.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/csharp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="csharp"}) \ No newline at end of file
diff --git a/library/ace/snippets/css.js b/library/ace/snippets/css.js
new file mode 100644
index 000000000..9659ba49b
--- /dev/null
+++ b/library/ace/snippets/css.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/css",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet .\n ${1} {\n ${2}\n }\nsnippet !\n !important\nsnippet bdi:m+\n -moz-border-image: url(${1}) ${2:0} ${3:0} ${4:0} ${5:0} ${6:stretch} ${7:stretch};\nsnippet bdi:m\n -moz-border-image: ${1};\nsnippet bdrz:m\n -moz-border-radius: ${1};\nsnippet bxsh:m+\n -moz-box-shadow: ${1:0} ${2:0} ${3:0} #${4:000};\nsnippet bxsh:m\n -moz-box-shadow: ${1};\nsnippet bdi:w+\n -webkit-border-image: url(${1}) ${2:0} ${3:0} ${4:0} ${5:0} ${6:stretch} ${7:stretch};\nsnippet bdi:w\n -webkit-border-image: ${1};\nsnippet bdrz:w\n -webkit-border-radius: ${1};\nsnippet bxsh:w+\n -webkit-box-shadow: ${1:0} ${2:0} ${3:0} #${4:000};\nsnippet bxsh:w\n -webkit-box-shadow: ${1};\nsnippet @f\n @font-face {\n font-family: ${1};\n src: url(${2});\n }\nsnippet @i\n @import url(${1});\nsnippet @m\n @media ${1:print} {\n ${2}\n }\nsnippet bg+\n background: #${1:FFF} url(${2}) ${3:0} ${4:0} ${5:no-repeat};\nsnippet bga\n background-attachment: ${1};\nsnippet bga:f\n background-attachment: fixed;\nsnippet bga:s\n background-attachment: scroll;\nsnippet bgbk\n background-break: ${1};\nsnippet bgbk:bb\n background-break: bounding-box;\nsnippet bgbk:c\n background-break: continuous;\nsnippet bgbk:eb\n background-break: each-box;\nsnippet bgcp\n background-clip: ${1};\nsnippet bgcp:bb\n background-clip: border-box;\nsnippet bgcp:cb\n background-clip: content-box;\nsnippet bgcp:nc\n background-clip: no-clip;\nsnippet bgcp:pb\n background-clip: padding-box;\nsnippet bgc\n background-color: #${1:FFF};\nsnippet bgc:t\n background-color: transparent;\nsnippet bgi\n background-image: url(${1});\nsnippet bgi:n\n background-image: none;\nsnippet bgo\n background-origin: ${1};\nsnippet bgo:bb\n background-origin: border-box;\nsnippet bgo:cb\n background-origin: content-box;\nsnippet bgo:pb\n background-origin: padding-box;\nsnippet bgpx\n background-position-x: ${1};\nsnippet bgpy\n background-position-y: ${1};\nsnippet bgp\n background-position: ${1:0} ${2:0};\nsnippet bgr\n background-repeat: ${1};\nsnippet bgr:n\n background-repeat: no-repeat;\nsnippet bgr:x\n background-repeat: repeat-x;\nsnippet bgr:y\n background-repeat: repeat-y;\nsnippet bgr:r\n background-repeat: repeat;\nsnippet bgz\n background-size: ${1};\nsnippet bgz:a\n background-size: auto;\nsnippet bgz:ct\n background-size: contain;\nsnippet bgz:cv\n background-size: cover;\nsnippet bg\n background: ${1};\nsnippet bg:ie\n filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1}',sizingMethod='${2:crop}');\nsnippet bg:n\n background: none;\nsnippet bd+\n border: ${1:1px} ${2:solid} #${3:000};\nsnippet bdb+\n border-bottom: ${1:1px} ${2:solid} #${3:000};\nsnippet bdbc\n border-bottom-color: #${1:000};\nsnippet bdbi\n border-bottom-image: url(${1});\nsnippet bdbi:n\n border-bottom-image: none;\nsnippet bdbli\n border-bottom-left-image: url(${1});\nsnippet bdbli:c\n border-bottom-left-image: continue;\nsnippet bdbli:n\n border-bottom-left-image: none;\nsnippet bdblrz\n border-bottom-left-radius: ${1};\nsnippet bdbri\n border-bottom-right-image: url(${1});\nsnippet bdbri:c\n border-bottom-right-image: continue;\nsnippet bdbri:n\n border-bottom-right-image: none;\nsnippet bdbrrz\n border-bottom-right-radius: ${1};\nsnippet bdbs\n border-bottom-style: ${1};\nsnippet bdbs:n\n border-bottom-style: none;\nsnippet bdbw\n border-bottom-width: ${1};\nsnippet bdb\n border-bottom: ${1};\nsnippet bdb:n\n border-bottom: none;\nsnippet bdbk\n border-break: ${1};\nsnippet bdbk:c\n border-break: close;\nsnippet bdcl\n border-collapse: ${1};\nsnippet bdcl:c\n border-collapse: collapse;\nsnippet bdcl:s\n border-collapse: separate;\nsnippet bdc\n border-color: #${1:000};\nsnippet bdci\n border-corner-image: url(${1});\nsnippet bdci:c\n border-corner-image: continue;\nsnippet bdci:n\n border-corner-image: none;\nsnippet bdf\n border-fit: ${1};\nsnippet bdf:c\n border-fit: clip;\nsnippet bdf:of\n border-fit: overwrite;\nsnippet bdf:ow\n border-fit: overwrite;\nsnippet bdf:r\n border-fit: repeat;\nsnippet bdf:sc\n border-fit: scale;\nsnippet bdf:sp\n border-fit: space;\nsnippet bdf:st\n border-fit: stretch;\nsnippet bdi\n border-image: url(${1}) ${2:0} ${3:0} ${4:0} ${5:0} ${6:stretch} ${7:stretch};\nsnippet bdi:n\n border-image: none;\nsnippet bdl+\n border-left: ${1:1px} ${2:solid} #${3:000};\nsnippet bdlc\n border-left-color: #${1:000};\nsnippet bdli\n border-left-image: url(${1});\nsnippet bdli:n\n border-left-image: none;\nsnippet bdls\n border-left-style: ${1};\nsnippet bdls:n\n border-left-style: none;\nsnippet bdlw\n border-left-width: ${1};\nsnippet bdl\n border-left: ${1};\nsnippet bdl:n\n border-left: none;\nsnippet bdlt\n border-length: ${1};\nsnippet bdlt:a\n border-length: auto;\nsnippet bdrz\n border-radius: ${1};\nsnippet bdr+\n border-right: ${1:1px} ${2:solid} #${3:000};\nsnippet bdrc\n border-right-color: #${1:000};\nsnippet bdri\n border-right-image: url(${1});\nsnippet bdri:n\n border-right-image: none;\nsnippet bdrs\n border-right-style: ${1};\nsnippet bdrs:n\n border-right-style: none;\nsnippet bdrw\n border-right-width: ${1};\nsnippet bdr\n border-right: ${1};\nsnippet bdr:n\n border-right: none;\nsnippet bdsp\n border-spacing: ${1};\nsnippet bds\n border-style: ${1};\nsnippet bds:ds\n border-style: dashed;\nsnippet bds:dtds\n border-style: dot-dash;\nsnippet bds:dtdtds\n border-style: dot-dot-dash;\nsnippet bds:dt\n border-style: dotted;\nsnippet bds:db\n border-style: double;\nsnippet bds:g\n border-style: groove;\nsnippet bds:h\n border-style: hidden;\nsnippet bds:i\n border-style: inset;\nsnippet bds:n\n border-style: none;\nsnippet bds:o\n border-style: outset;\nsnippet bds:r\n border-style: ridge;\nsnippet bds:s\n border-style: solid;\nsnippet bds:w\n border-style: wave;\nsnippet bdt+\n border-top: ${1:1px} ${2:solid} #${3:000};\nsnippet bdtc\n border-top-color: #${1:000};\nsnippet bdti\n border-top-image: url(${1});\nsnippet bdti:n\n border-top-image: none;\nsnippet bdtli\n border-top-left-image: url(${1});\nsnippet bdtli:c\n border-corner-image: continue;\nsnippet bdtli:n\n border-corner-image: none;\nsnippet bdtlrz\n border-top-left-radius: ${1};\nsnippet bdtri\n border-top-right-image: url(${1});\nsnippet bdtri:c\n border-top-right-image: continue;\nsnippet bdtri:n\n border-top-right-image: none;\nsnippet bdtrrz\n border-top-right-radius: ${1};\nsnippet bdts\n border-top-style: ${1};\nsnippet bdts:n\n border-top-style: none;\nsnippet bdtw\n border-top-width: ${1};\nsnippet bdt\n border-top: ${1};\nsnippet bdt:n\n border-top: none;\nsnippet bdw\n border-width: ${1};\nsnippet bd\n border: ${1};\nsnippet bd:n\n border: none;\nsnippet b\n bottom: ${1};\nsnippet b:a\n bottom: auto;\nsnippet bxsh+\n box-shadow: ${1:0} ${2:0} ${3:0} #${4:000};\nsnippet bxsh\n box-shadow: ${1};\nsnippet bxsh:n\n box-shadow: none;\nsnippet bxz\n box-sizing: ${1};\nsnippet bxz:bb\n box-sizing: border-box;\nsnippet bxz:cb\n box-sizing: content-box;\nsnippet cps\n caption-side: ${1};\nsnippet cps:b\n caption-side: bottom;\nsnippet cps:t\n caption-side: top;\nsnippet cl\n clear: ${1};\nsnippet cl:b\n clear: both;\nsnippet cl:l\n clear: left;\nsnippet cl:n\n clear: none;\nsnippet cl:r\n clear: right;\nsnippet cp\n clip: ${1};\nsnippet cp:a\n clip: auto;\nsnippet cp:r\n clip: rect(${1:0} ${2:0} ${3:0} ${4:0});\nsnippet c\n color: #${1:000};\nsnippet ct\n content: ${1};\nsnippet ct:a\n content: attr(${1});\nsnippet ct:cq\n content: close-quote;\nsnippet ct:c\n content: counter(${1});\nsnippet ct:cs\n content: counters(${1});\nsnippet ct:ncq\n content: no-close-quote;\nsnippet ct:noq\n content: no-open-quote;\nsnippet ct:n\n content: normal;\nsnippet ct:oq\n content: open-quote;\nsnippet coi\n counter-increment: ${1};\nsnippet cor\n counter-reset: ${1};\nsnippet cur\n cursor: ${1};\nsnippet cur:a\n cursor: auto;\nsnippet cur:c\n cursor: crosshair;\nsnippet cur:d\n cursor: default;\nsnippet cur:ha\n cursor: hand;\nsnippet cur:he\n cursor: help;\nsnippet cur:m\n cursor: move;\nsnippet cur:p\n cursor: pointer;\nsnippet cur:t\n cursor: text;\nsnippet d\n display: ${1};\nsnippet d:mib\n display: -moz-inline-box;\nsnippet d:mis\n display: -moz-inline-stack;\nsnippet d:b\n display: block;\nsnippet d:cp\n display: compact;\nsnippet d:ib\n display: inline-block;\nsnippet d:itb\n display: inline-table;\nsnippet d:i\n display: inline;\nsnippet d:li\n display: list-item;\nsnippet d:n\n display: none;\nsnippet d:ri\n display: run-in;\nsnippet d:tbcp\n display: table-caption;\nsnippet d:tbc\n display: table-cell;\nsnippet d:tbclg\n display: table-column-group;\nsnippet d:tbcl\n display: table-column;\nsnippet d:tbfg\n display: table-footer-group;\nsnippet d:tbhg\n display: table-header-group;\nsnippet d:tbrg\n display: table-row-group;\nsnippet d:tbr\n display: table-row;\nsnippet d:tb\n display: table;\nsnippet ec\n empty-cells: ${1};\nsnippet ec:h\n empty-cells: hide;\nsnippet ec:s\n empty-cells: show;\nsnippet exp\n expression()\nsnippet fl\n float: ${1};\nsnippet fl:l\n float: left;\nsnippet fl:n\n float: none;\nsnippet fl:r\n float: right;\nsnippet f+\n font: ${1:1em} ${2:Arial},${3:sans-serif};\nsnippet fef\n font-effect: ${1};\nsnippet fef:eb\n font-effect: emboss;\nsnippet fef:eg\n font-effect: engrave;\nsnippet fef:n\n font-effect: none;\nsnippet fef:o\n font-effect: outline;\nsnippet femp\n font-emphasize-position: ${1};\nsnippet femp:a\n font-emphasize-position: after;\nsnippet femp:b\n font-emphasize-position: before;\nsnippet fems\n font-emphasize-style: ${1};\nsnippet fems:ac\n font-emphasize-style: accent;\nsnippet fems:c\n font-emphasize-style: circle;\nsnippet fems:ds\n font-emphasize-style: disc;\nsnippet fems:dt\n font-emphasize-style: dot;\nsnippet fems:n\n font-emphasize-style: none;\nsnippet fem\n font-emphasize: ${1};\nsnippet ff\n font-family: ${1};\nsnippet ff:c\n font-family: ${1:'Monotype Corsiva','Comic Sans MS'},cursive;\nsnippet ff:f\n font-family: ${1:Capitals,Impact},fantasy;\nsnippet ff:m\n font-family: ${1:Monaco,'Courier New'},monospace;\nsnippet ff:ss\n font-family: ${1:Helvetica,Arial},sans-serif;\nsnippet ff:s\n font-family: ${1:Georgia,'Times New Roman'},serif;\nsnippet fza\n font-size-adjust: ${1};\nsnippet fza:n\n font-size-adjust: none;\nsnippet fz\n font-size: ${1};\nsnippet fsm\n font-smooth: ${1};\nsnippet fsm:aw\n font-smooth: always;\nsnippet fsm:a\n font-smooth: auto;\nsnippet fsm:n\n font-smooth: never;\nsnippet fst\n font-stretch: ${1};\nsnippet fst:c\n font-stretch: condensed;\nsnippet fst:e\n font-stretch: expanded;\nsnippet fst:ec\n font-stretch: extra-condensed;\nsnippet fst:ee\n font-stretch: extra-expanded;\nsnippet fst:n\n font-stretch: normal;\nsnippet fst:sc\n font-stretch: semi-condensed;\nsnippet fst:se\n font-stretch: semi-expanded;\nsnippet fst:uc\n font-stretch: ultra-condensed;\nsnippet fst:ue\n font-stretch: ultra-expanded;\nsnippet fs\n font-style: ${1};\nsnippet fs:i\n font-style: italic;\nsnippet fs:n\n font-style: normal;\nsnippet fs:o\n font-style: oblique;\nsnippet fv\n font-variant: ${1};\nsnippet fv:n\n font-variant: normal;\nsnippet fv:sc\n font-variant: small-caps;\nsnippet fw\n font-weight: ${1};\nsnippet fw:b\n font-weight: bold;\nsnippet fw:br\n font-weight: bolder;\nsnippet fw:lr\n font-weight: lighter;\nsnippet fw:n\n font-weight: normal;\nsnippet f\n font: ${1};\nsnippet h\n height: ${1};\nsnippet h:a\n height: auto;\nsnippet l\n left: ${1};\nsnippet l:a\n left: auto;\nsnippet lts\n letter-spacing: ${1};\nsnippet lh\n line-height: ${1};\nsnippet lisi\n list-style-image: url(${1});\nsnippet lisi:n\n list-style-image: none;\nsnippet lisp\n list-style-position: ${1};\nsnippet lisp:i\n list-style-position: inside;\nsnippet lisp:o\n list-style-position: outside;\nsnippet list\n list-style-type: ${1};\nsnippet list:c\n list-style-type: circle;\nsnippet list:dclz\n list-style-type: decimal-leading-zero;\nsnippet list:dc\n list-style-type: decimal;\nsnippet list:d\n list-style-type: disc;\nsnippet list:lr\n list-style-type: lower-roman;\nsnippet list:n\n list-style-type: none;\nsnippet list:s\n list-style-type: square;\nsnippet list:ur\n list-style-type: upper-roman;\nsnippet lis\n list-style: ${1};\nsnippet lis:n\n list-style: none;\nsnippet mb\n margin-bottom: ${1};\nsnippet mb:a\n margin-bottom: auto;\nsnippet ml\n margin-left: ${1};\nsnippet ml:a\n margin-left: auto;\nsnippet mr\n margin-right: ${1};\nsnippet mr:a\n margin-right: auto;\nsnippet mt\n margin-top: ${1};\nsnippet mt:a\n margin-top: auto;\nsnippet m\n margin: ${1};\nsnippet m:4\n margin: ${1:0} ${2:0} ${3:0} ${4:0};\nsnippet m:3\n margin: ${1:0} ${2:0} ${3:0};\nsnippet m:2\n margin: ${1:0} ${2:0};\nsnippet m:0\n margin: 0;\nsnippet m:a\n margin: auto;\nsnippet mah\n max-height: ${1};\nsnippet mah:n\n max-height: none;\nsnippet maw\n max-width: ${1};\nsnippet maw:n\n max-width: none;\nsnippet mih\n min-height: ${1};\nsnippet miw\n min-width: ${1};\nsnippet op\n opacity: ${1};\nsnippet op:ie\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=${1:100});\nsnippet op:ms\n -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=${1:100})';\nsnippet orp\n orphans: ${1};\nsnippet o+\n outline: ${1:1px} ${2:solid} #${3:000};\nsnippet oc\n outline-color: ${1:#000};\nsnippet oc:i\n outline-color: invert;\nsnippet oo\n outline-offset: ${1};\nsnippet os\n outline-style: ${1};\nsnippet ow\n outline-width: ${1};\nsnippet o\n outline: ${1};\nsnippet o:n\n outline: none;\nsnippet ovs\n overflow-style: ${1};\nsnippet ovs:a\n overflow-style: auto;\nsnippet ovs:mq\n overflow-style: marquee;\nsnippet ovs:mv\n overflow-style: move;\nsnippet ovs:p\n overflow-style: panner;\nsnippet ovs:s\n overflow-style: scrollbar;\nsnippet ovx\n overflow-x: ${1};\nsnippet ovx:a\n overflow-x: auto;\nsnippet ovx:h\n overflow-x: hidden;\nsnippet ovx:s\n overflow-x: scroll;\nsnippet ovx:v\n overflow-x: visible;\nsnippet ovy\n overflow-y: ${1};\nsnippet ovy:a\n overflow-y: auto;\nsnippet ovy:h\n overflow-y: hidden;\nsnippet ovy:s\n overflow-y: scroll;\nsnippet ovy:v\n overflow-y: visible;\nsnippet ov\n overflow: ${1};\nsnippet ov:a\n overflow: auto;\nsnippet ov:h\n overflow: hidden;\nsnippet ov:s\n overflow: scroll;\nsnippet ov:v\n overflow: visible;\nsnippet pb\n padding-bottom: ${1};\nsnippet pl\n padding-left: ${1};\nsnippet pr\n padding-right: ${1};\nsnippet pt\n padding-top: ${1};\nsnippet p\n padding: ${1};\nsnippet p:4\n padding: ${1:0} ${2:0} ${3:0} ${4:0};\nsnippet p:3\n padding: ${1:0} ${2:0} ${3:0};\nsnippet p:2\n padding: ${1:0} ${2:0};\nsnippet p:0\n padding: 0;\nsnippet pgba\n page-break-after: ${1};\nsnippet pgba:aw\n page-break-after: always;\nsnippet pgba:a\n page-break-after: auto;\nsnippet pgba:l\n page-break-after: left;\nsnippet pgba:r\n page-break-after: right;\nsnippet pgbb\n page-break-before: ${1};\nsnippet pgbb:aw\n page-break-before: always;\nsnippet pgbb:a\n page-break-before: auto;\nsnippet pgbb:l\n page-break-before: left;\nsnippet pgbb:r\n page-break-before: right;\nsnippet pgbi\n page-break-inside: ${1};\nsnippet pgbi:a\n page-break-inside: auto;\nsnippet pgbi:av\n page-break-inside: avoid;\nsnippet pos\n position: ${1};\nsnippet pos:a\n position: absolute;\nsnippet pos:f\n position: fixed;\nsnippet pos:r\n position: relative;\nsnippet pos:s\n position: static;\nsnippet q\n quotes: ${1};\nsnippet q:en\n quotes: '\\201C' '\\201D' '\\2018' '\\2019';\nsnippet q:n\n quotes: none;\nsnippet q:ru\n quotes: '\\00AB' '\\00BB' '\\201E' '\\201C';\nsnippet rz\n resize: ${1};\nsnippet rz:b\n resize: both;\nsnippet rz:h\n resize: horizontal;\nsnippet rz:n\n resize: none;\nsnippet rz:v\n resize: vertical;\nsnippet r\n right: ${1};\nsnippet r:a\n right: auto;\nsnippet tbl\n table-layout: ${1};\nsnippet tbl:a\n table-layout: auto;\nsnippet tbl:f\n table-layout: fixed;\nsnippet tal\n text-align-last: ${1};\nsnippet tal:a\n text-align-last: auto;\nsnippet tal:c\n text-align-last: center;\nsnippet tal:l\n text-align-last: left;\nsnippet tal:r\n text-align-last: right;\nsnippet ta\n text-align: ${1};\nsnippet ta:c\n text-align: center;\nsnippet ta:l\n text-align: left;\nsnippet ta:r\n text-align: right;\nsnippet td\n text-decoration: ${1};\nsnippet td:l\n text-decoration: line-through;\nsnippet td:n\n text-decoration: none;\nsnippet td:o\n text-decoration: overline;\nsnippet td:u\n text-decoration: underline;\nsnippet te\n text-emphasis: ${1};\nsnippet te:ac\n text-emphasis: accent;\nsnippet te:a\n text-emphasis: after;\nsnippet te:b\n text-emphasis: before;\nsnippet te:c\n text-emphasis: circle;\nsnippet te:ds\n text-emphasis: disc;\nsnippet te:dt\n text-emphasis: dot;\nsnippet te:n\n text-emphasis: none;\nsnippet th\n text-height: ${1};\nsnippet th:a\n text-height: auto;\nsnippet th:f\n text-height: font-size;\nsnippet th:m\n text-height: max-size;\nsnippet th:t\n text-height: text-size;\nsnippet ti\n text-indent: ${1};\nsnippet ti:-\n text-indent: -9999px;\nsnippet tj\n text-justify: ${1};\nsnippet tj:a\n text-justify: auto;\nsnippet tj:d\n text-justify: distribute;\nsnippet tj:ic\n text-justify: inter-cluster;\nsnippet tj:ii\n text-justify: inter-ideograph;\nsnippet tj:iw\n text-justify: inter-word;\nsnippet tj:k\n text-justify: kashida;\nsnippet tj:t\n text-justify: tibetan;\nsnippet to+\n text-outline: ${1:0} ${2:0} #${3:000};\nsnippet to\n text-outline: ${1};\nsnippet to:n\n text-outline: none;\nsnippet tr\n text-replace: ${1};\nsnippet tr:n\n text-replace: none;\nsnippet tsh+\n text-shadow: ${1:0} ${2:0} ${3:0} #${4:000};\nsnippet tsh\n text-shadow: ${1};\nsnippet tsh:n\n text-shadow: none;\nsnippet tt\n text-transform: ${1};\nsnippet tt:c\n text-transform: capitalize;\nsnippet tt:l\n text-transform: lowercase;\nsnippet tt:n\n text-transform: none;\nsnippet tt:u\n text-transform: uppercase;\nsnippet tw\n text-wrap: ${1};\nsnippet tw:no\n text-wrap: none;\nsnippet tw:n\n text-wrap: normal;\nsnippet tw:s\n text-wrap: suppress;\nsnippet tw:u\n text-wrap: unrestricted;\nsnippet t\n top: ${1};\nsnippet t:a\n top: auto;\nsnippet va\n vertical-align: ${1};\nsnippet va:bl\n vertical-align: baseline;\nsnippet va:b\n vertical-align: bottom;\nsnippet va:m\n vertical-align: middle;\nsnippet va:sub\n vertical-align: sub;\nsnippet va:sup\n vertical-align: super;\nsnippet va:tb\n vertical-align: text-bottom;\nsnippet va:tt\n vertical-align: text-top;\nsnippet va:t\n vertical-align: top;\nsnippet v\n visibility: ${1};\nsnippet v:c\n visibility: collapse;\nsnippet v:h\n visibility: hidden;\nsnippet v:v\n visibility: visible;\nsnippet whsc\n white-space-collapse: ${1};\nsnippet whsc:ba\n white-space-collapse: break-all;\nsnippet whsc:bs\n white-space-collapse: break-strict;\nsnippet whsc:k\n white-space-collapse: keep-all;\nsnippet whsc:l\n white-space-collapse: loose;\nsnippet whsc:n\n white-space-collapse: normal;\nsnippet whs\n white-space: ${1};\nsnippet whs:n\n white-space: normal;\nsnippet whs:nw\n white-space: nowrap;\nsnippet whs:pl\n white-space: pre-line;\nsnippet whs:pw\n white-space: pre-wrap;\nsnippet whs:p\n white-space: pre;\nsnippet wid\n widows: ${1};\nsnippet w\n width: ${1};\nsnippet w:a\n width: auto;\nsnippet wob\n word-break: ${1};\nsnippet wob:ba\n word-break: break-all;\nsnippet wob:bs\n word-break: break-strict;\nsnippet wob:k\n word-break: keep-all;\nsnippet wob:l\n word-break: loose;\nsnippet wob:n\n word-break: normal;\nsnippet wos\n word-spacing: ${1};\nsnippet wow\n word-wrap: ${1};\nsnippet wow:no\n word-wrap: none;\nsnippet wow:n\n word-wrap: normal;\nsnippet wow:s\n word-wrap: suppress;\nsnippet wow:u\n word-wrap: unrestricted;\nsnippet z\n z-index: ${1};\nsnippet z:a\n z-index: auto;\nsnippet zoo\n zoom: 1;\n",t.scope="css"}) \ No newline at end of file
diff --git a/library/ace/snippets/curly.js b/library/ace/snippets/curly.js
new file mode 100644
index 000000000..6bb5604e0
--- /dev/null
+++ b/library/ace/snippets/curly.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/curly",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="curly"}) \ No newline at end of file
diff --git a/library/ace/snippets/d.js b/library/ace/snippets/d.js
new file mode 100644
index 000000000..1057608da
--- /dev/null
+++ b/library/ace/snippets/d.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/d",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="d"}) \ No newline at end of file
diff --git a/library/ace/snippets/dart.js b/library/ace/snippets/dart.js
new file mode 100644
index 000000000..63c63c9fc
--- /dev/null
+++ b/library/ace/snippets/dart.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/dart",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet lib\n library ${1};\n ${2}\nsnippet im\n import '${1}';\n ${2}\nsnippet pa\n part '${1}';\n ${2}\nsnippet pao\n part of ${1};\n ${2}\nsnippet main\n void main() {\n ${1:/* code */}\n }\nsnippet st\n static ${1}\nsnippet fi\n final ${1}\nsnippet re\n return ${1}\nsnippet br\n break;\nsnippet th\n throw ${1}\nsnippet cl\n class ${1:`Filename(\"\", \"untitled\")`} ${2}\nsnippet imp\n implements ${1}\nsnippet ext\n extends ${1}\nsnippet if\n if (${1:true}) {\n ${2}\n }\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${3}\n }\nsnippet el\n else\nsnippet sw\n switch (${1}) {\n ${2}\n }\nsnippet cs\n case ${1}:\n ${2}\nsnippet de\n default:\n ${1}\nsnippet for\n for (var ${2:i} = 0, len = ${1:things}.length; $2 < len; ${3:++}$2) {\n ${4:$1[$2]}\n }\nsnippet fore\n for (final ${2:item} in ${1:itemList}) {\n ${3:/* code */}\n }\nsnippet wh\n while (${1:/* condition */}) {\n ${2:/* code */}\n }\nsnippet dowh\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\nsnippet as\n assert(${1:/* condition */});\nsnippet try\n try {\n ${2}\n } catch (${1:Exception e}) {\n }\nsnippet tryf\n try {\n ${2}\n } catch (${1:Exception e}) {\n } finally {\n }\n",t.scope="dart"}) \ No newline at end of file
diff --git a/library/ace/snippets/diff.js b/library/ace/snippets/diff.js
new file mode 100644
index 000000000..493c0e9a3
--- /dev/null
+++ b/library/ace/snippets/diff.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/diff",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\nsnippet header DEP-3 style header\n Description: ${1}\n Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n Bug: ${4:url in upstream bugtracker}\n Forwarded: ${5:no|not-needed|url}\n Author: ${6:`g:snips_author`}\n Reviewed-by: ${7:name and email}\n Last-Update: ${8:`strftime("%Y-%m-%d")`}\n Applied-Upstream: ${9:upstream version|url|commit}\n\n',t.scope="diff"}) \ No newline at end of file
diff --git a/library/ace/snippets/django.js b/library/ace/snippets/django.js
new file mode 100644
index 000000000..d0f67a6c6
--- /dev/null
+++ b/library/ace/snippets/django.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/django",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# Model Fields\n\n# Note: Optional arguments are using defaults that match what Django will use\n# as a default, e.g. with max_length fields. Doing this as a form of self\n# documentation and to make it easy to know whether you should override the\n# default or not.\n\n# Note: Optional arguments that are booleans will use the opposite since you\n# can either not specify them, or override them, e.g. auto_now_add=False.\n\nsnippet auto\n ${1:FIELDNAME} = models.AutoField(${2})\nsnippet bool\n ${1:FIELDNAME} = models.BooleanField(${2:default=True})\nsnippet char\n ${1:FIELDNAME} = models.CharField(max_length=${2}${3:, blank=True})\nsnippet comma\n ${1:FIELDNAME} = models.CommaSeparatedIntegerField(max_length=${2}${3:, blank=True})\nsnippet date\n ${1:FIELDNAME} = models.DateField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True})\nsnippet datetime\n ${1:FIELDNAME} = models.DateTimeField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True})\nsnippet decimal\n ${1:FIELDNAME} = models.DecimalField(max_digits=${2}, decimal_places=${3})\nsnippet email\n ${1:FIELDNAME} = models.EmailField(max_length=${2:75}${3:, blank=True})\nsnippet file\n ${1:FIELDNAME} = models.FileField(upload_to=${2:path/for/upload}${3:, max_length=100})\nsnippet filepath\n ${1:FIELDNAME} = models.FilePathField(path=${2:\"/abs/path/to/dir\"}${3:, max_length=100}${4:, match=\"*.ext\"}${5:, recursive=True}${6:, blank=True, })\nsnippet float\n ${1:FIELDNAME} = models.FloatField(${2})\nsnippet image\n ${1:FIELDNAME} = models.ImageField(upload_to=${2:path/for/upload}${3:, height_field=height, width_field=width}${4:, max_length=100})\nsnippet int\n ${1:FIELDNAME} = models.IntegerField(${2})\nsnippet ip\n ${1:FIELDNAME} = models.IPAddressField(${2})\nsnippet nullbool\n ${1:FIELDNAME} = models.NullBooleanField(${2})\nsnippet posint\n ${1:FIELDNAME} = models.PositiveIntegerField(${2})\nsnippet possmallint\n ${1:FIELDNAME} = models.PositiveSmallIntegerField(${2})\nsnippet slug\n ${1:FIELDNAME} = models.SlugField(max_length=${2:50}${3:, blank=True})\nsnippet smallint\n ${1:FIELDNAME} = models.SmallIntegerField(${2})\nsnippet text\n ${1:FIELDNAME} = models.TextField(${2:blank=True})\nsnippet time\n ${1:FIELDNAME} = models.TimeField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True})\nsnippet url\n ${1:FIELDNAME} = models.URLField(${2:verify_exists=False}${3:, max_length=200}${4:, blank=True})\nsnippet xml\n ${1:FIELDNAME} = models.XMLField(schema_path=${2:None}${3:, blank=True})\n# Relational Fields\nsnippet fk\n ${1:FIELDNAME} = models.ForeignKey(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${5:, to_field=''})\nsnippet m2m\n ${1:FIELDNAME} = models.ManyToManyField(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${5:, symmetrical=False}${6:, through=''}${7:, db_table=''})\nsnippet o2o\n ${1:FIELDNAME} = models.OneToOneField(${2:OtherModel}${3:, parent_link=True}${4:, related_name=''}${5:, limit_choices_to=}${6:, to_field=''})\n\n# Code Skeletons\n\nsnippet form\n class ${1:FormName}(forms.Form):\n \"\"\"${2:docstring}\"\"\"\n ${3}\n\nsnippet model\n class ${1:ModelName}(models.Model):\n \"\"\"${2:docstring}\"\"\"\n ${3}\n \n class Meta:\n ${4}\n \n def __unicode__(self):\n ${5}\n \n def save(self, force_insert=False, force_update=False):\n ${6}\n \n @models.permalink\n def get_absolute_url(self):\n return ('${7:view_or_url_name}' ${8})\n\nsnippet modeladmin\n class ${1:ModelName}Admin(admin.ModelAdmin):\n ${2}\n \n admin.site.register($1, $1Admin)\n \nsnippet tabularinline\n class ${1:ModelName}Inline(admin.TabularInline):\n model = $1\n\nsnippet stackedinline\n class ${1:ModelName}Inline(admin.StackedInline):\n model = $1\n\nsnippet r2r\n return render_to_response('${1:template.html}', {\n ${2}\n }${3:, context_instance=RequestContext(request)}\n )\n",t.scope="django"}) \ No newline at end of file
diff --git a/library/ace/snippets/dockerfile.js b/library/ace/snippets/dockerfile.js
new file mode 100644
index 000000000..0c2742020
--- /dev/null
+++ b/library/ace/snippets/dockerfile.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/dockerfile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="dockerfile"}) \ No newline at end of file
diff --git a/library/ace/snippets/dot.js b/library/ace/snippets/dot.js
new file mode 100644
index 000000000..d4a9e9b7a
--- /dev/null
+++ b/library/ace/snippets/dot.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/dot",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="dot"}) \ No newline at end of file
diff --git a/library/ace/snippets/eiffel.js b/library/ace/snippets/eiffel.js
new file mode 100644
index 000000000..21fb8886e
--- /dev/null
+++ b/library/ace/snippets/eiffel.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/eiffel",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="eiffel"}) \ No newline at end of file
diff --git a/library/ace/snippets/ejs.js b/library/ace/snippets/ejs.js
new file mode 100644
index 000000000..2e8cbcac6
--- /dev/null
+++ b/library/ace/snippets/ejs.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ejs",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ejs"}) \ No newline at end of file
diff --git a/library/ace/snippets/elixir.js b/library/ace/snippets/elixir.js
new file mode 100644
index 000000000..455f2f4a4
--- /dev/null
+++ b/library/ace/snippets/elixir.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/elixir",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/elm.js b/library/ace/snippets/elm.js
new file mode 100644
index 000000000..b483953ca
--- /dev/null
+++ b/library/ace/snippets/elm.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/elm",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="elm"}) \ No newline at end of file
diff --git a/library/ace/snippets/erlang.js b/library/ace/snippets/erlang.js
new file mode 100644
index 000000000..ca27ff85e
--- /dev/null
+++ b/library/ace/snippets/erlang.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/erlang",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# module and export all\nsnippet mod\n -module(${1:`Filename('', 'my')`}).\n \n -compile([export_all]).\n \n start() ->\n ${2}\n \n stop() ->\n ok.\n# define directive\nsnippet def\n -define(${1:macro}, ${2:body}).${3}\n# export directive\nsnippet exp\n -export([${1:function}/${2:arity}]).\n# include directive\nsnippet inc\n -include(\"${1:file}\").${2}\n# behavior directive\nsnippet beh\n -behaviour(${1:behaviour}).${2}\n# if expression\nsnippet if\n if\n ${1:guard} ->\n ${2:body}\n end\n# case expression\nsnippet case\n case ${1:expression} of\n ${2:pattern} ->\n ${3:body};\n end\n# anonymous function\nsnippet fun\n fun (${1:Parameters}) -> ${2:body} end${3}\n# try...catch\nsnippet try\n try\n ${1}\n catch\n ${2:_:_} -> ${3:got_some_exception}\n end\n# record directive\nsnippet rec\n -record(${1:record}, {\n ${2:field}=${3:value}}).${4}\n# todo comment\nsnippet todo\n %% TODO: ${1}\n## Snippets below (starting with '%') are in EDoc format.\n## See http://www.erlang.org/doc/apps/edoc/chapter.html#id56887 for more details\n# doc comment\nsnippet %d\n %% @doc ${1}\n# end of doc comment\nsnippet %e\n %% @end\n# specification comment\nsnippet %s\n %% @spec ${1}\n# private function marker\nsnippet %p\n %% @private\n# OTP application\nsnippet application\n -module(${1:`Filename('', 'my')`}).\n\n -behaviour(application).\n\n -export([start/2, stop/1]).\n\n start(_Type, _StartArgs) ->\n case ${2:root_supervisor}:start_link() of\n {ok, Pid} ->\n {ok, Pid};\n Other ->\n {error, Other}\n end.\n\n stop(_State) ->\n ok. \n# OTP supervisor\nsnippet supervisor\n -module(${1:`Filename('', 'my')`}).\n\n -behaviour(supervisor).\n\n %% API\n -export([start_link/0]).\n\n %% Supervisor callbacks\n -export([init/1]).\n\n -define(SERVER, ?MODULE).\n\n start_link() ->\n supervisor:start_link({local, ?SERVER}, ?MODULE, []).\n\n init([]) ->\n Server = {${2:my_server}, {$2, start_link, []},\n permanent, 2000, worker, [$2]},\n Children = [Server],\n RestartStrategy = {one_for_one, 0, 1},\n {ok, {RestartStrategy, Children}}.\n# OTP gen_server\nsnippet gen_server\n -module(${1:`Filename('', 'my')`}).\n\n -behaviour(gen_server).\n\n %% API\n -export([\n start_link/0\n ]).\n\n %% gen_server callbacks\n -export([init/1, handle_call/3, handle_cast/2, handle_info/2,\n terminate/2, code_change/3]).\n\n -define(SERVER, ?MODULE).\n\n -record(state, {}).\n\n %%%===================================================================\n %%% API\n %%%===================================================================\n\n start_link() ->\n gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).\n\n %%%===================================================================\n %%% gen_server callbacks\n %%%===================================================================\n\n init([]) ->\n {ok, #state{}}.\n\n handle_call(_Request, _From, State) ->\n Reply = ok,\n {reply, Reply, State}.\n\n handle_cast(_Msg, State) ->\n {noreply, State}.\n\n handle_info(_Info, State) ->\n {noreply, State}.\n\n terminate(_Reason, _State) ->\n ok.\n\n code_change(_OldVsn, State, _Extra) ->\n {ok, State}.\n\n %%%===================================================================\n %%% Internal functions\n %%%===================================================================\n\n",t.scope="erlang"}) \ No newline at end of file
diff --git a/library/ace/snippets/forth.js b/library/ace/snippets/forth.js
new file mode 100644
index 000000000..3aa9db09d
--- /dev/null
+++ b/library/ace/snippets/forth.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/forth",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="forth"}) \ No newline at end of file
diff --git a/library/ace/snippets/fortran.js b/library/ace/snippets/fortran.js
new file mode 100644
index 000000000..b58d2ec79
--- /dev/null
+++ b/library/ace/snippets/fortran.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/fortran",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="fortran"}) \ No newline at end of file
diff --git a/library/ace/snippets/ftl.js b/library/ace/snippets/ftl.js
new file mode 100644
index 000000000..3e57d1723
--- /dev/null
+++ b/library/ace/snippets/ftl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ftl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ftl"}) \ No newline at end of file
diff --git a/library/ace/snippets/gcode.js b/library/ace/snippets/gcode.js
new file mode 100644
index 000000000..b0108dfe1
--- /dev/null
+++ b/library/ace/snippets/gcode.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/gcode",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="gcode"}) \ No newline at end of file
diff --git a/library/ace/snippets/gherkin.js b/library/ace/snippets/gherkin.js
new file mode 100644
index 000000000..44a88695f
--- /dev/null
+++ b/library/ace/snippets/gherkin.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/gherkin",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="gherkin"}) \ No newline at end of file
diff --git a/library/ace/snippets/gitignore.js b/library/ace/snippets/gitignore.js
new file mode 100644
index 000000000..87713df04
--- /dev/null
+++ b/library/ace/snippets/gitignore.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/gitignore",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="gitignore"}) \ No newline at end of file
diff --git a/library/ace/snippets/glsl.js b/library/ace/snippets/glsl.js
new file mode 100644
index 000000000..042ed75b7
--- /dev/null
+++ b/library/ace/snippets/glsl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/glsl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="glsl"}) \ No newline at end of file
diff --git a/library/ace/snippets/gobstones.js b/library/ace/snippets/gobstones.js
new file mode 100644
index 000000000..95eed9063
--- /dev/null
+++ b/library/ace/snippets/gobstones.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/gobstones",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# Procedure\nsnippet proc\n procedure ${1?:name}(${2:argument}) {\n ${3:// body...}\n }\n\n# Function\nsnippet fun\n function ${1?:name}(${2:argument}) {\n return ${3:// body...}\n }\n\n# Repeat\nsnippet rep\n repeat ${1?:times} {\n ${2:// body...}\n }\n\n# For\nsnippet for\n foreach ${1?:e} in ${2?:list} {\n ${3:// body...} \n }\n\n# If\nsnippet if\n if (${1?:condition}) {\n ${3:// body...} \n }\n\n# While\n while (${1?:condition}) {\n ${2:// body...} \n }\n",t.scope="gobstones"}) \ No newline at end of file
diff --git a/library/ace/snippets/golang.js b/library/ace/snippets/golang.js
new file mode 100644
index 000000000..f1f0309c0
--- /dev/null
+++ b/library/ace/snippets/golang.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/golang",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="golang"}) \ No newline at end of file
diff --git a/library/ace/snippets/groovy.js b/library/ace/snippets/groovy.js
new file mode 100644
index 000000000..a293cc489
--- /dev/null
+++ b/library/ace/snippets/groovy.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/groovy",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="groovy"}) \ No newline at end of file
diff --git a/library/ace/snippets/haml.js b/library/ace/snippets/haml.js
new file mode 100644
index 000000000..95d637aad
--- /dev/null
+++ b/library/ace/snippets/haml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/haml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet t\n %table\n %tr\n %th\n ${1:headers}\n %tr\n %td\n ${2:headers}\nsnippet ul\n %ul\n %li\n ${1:item}\n %li\nsnippet =rp\n = render :partial => '${1:partial}'\nsnippet =rpl\n = render :partial => '${1:partial}', :locals => {}\nsnippet =rpc\n = render :partial => '${1:partial}', :collection => @$1\n\n",t.scope="haml"}) \ No newline at end of file
diff --git a/library/ace/snippets/handlebars.js b/library/ace/snippets/handlebars.js
new file mode 100644
index 000000000..70dc88efa
--- /dev/null
+++ b/library/ace/snippets/handlebars.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/handlebars",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="handlebars"}) \ No newline at end of file
diff --git a/library/ace/snippets/haskell.js b/library/ace/snippets/haskell.js
new file mode 100644
index 000000000..69c2ef80b
--- /dev/null
+++ b/library/ace/snippets/haskell.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/haskell",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet lang\n {-# LANGUAGE ${1:OverloadedStrings} #-}\nsnippet info\n -- |\n -- Module : ${1:Module.Namespace}\n -- Copyright : ${2:Author} ${3:2011-2012}\n -- License : ${4:BSD3}\n --\n -- Maintainer : ${5:email@something.com}\n -- Stability : ${6:experimental}\n -- Portability : ${7:unknown}\n --\n -- ${8:Description}\n --\nsnippet import\n import ${1:Data.Text}\nsnippet import2\n import ${1:Data.Text} (${2:head})\nsnippet importq\n import qualified ${1:Data.Text} as ${2:T}\nsnippet inst\n instance ${1:Monoid} ${2:Type} where\n ${3}\nsnippet type\n type ${1:Type} = ${2:Type}\nsnippet data\n data ${1:Type} = ${2:$1} ${3:Int}\nsnippet newtype\n newtype ${1:Type} = ${2:$1} ${3:Int}\nsnippet class\n class ${1:Class} a where\n ${2}\nsnippet module\n module `substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')` (\n ) where\n `expand('%') =~ 'Main' ? \"\\n\\nmain = do\\n print \\\"hello world\\\"\" : \"\"`\n\nsnippet const\n ${1:name} :: ${2:a}\n $1 = ${3:undefined}\nsnippet fn\n ${1:fn} :: ${2:a} -> ${3:a}\n $1 ${4} = ${5:undefined}\nsnippet fn2\n ${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}\n $1 ${5} = ${6:undefined}\nsnippet ap\n ${1:map} ${2:fn} ${3:list}\nsnippet do\n do\n \nsnippet \u03bb\n \\${1:x} -> ${2}\nsnippet \\\n \\${1:x} -> ${2}\nsnippet <-\n ${1:a} <- ${2:m a}\nsnippet \u2190\n ${1:a} <- ${2:m a}\nsnippet ->\n ${1:m a} -> ${2:a}\nsnippet \u2192\n ${1:m a} -> ${2:a}\nsnippet tup\n (${1:a}, ${2:b})\nsnippet tup2\n (${1:a}, ${2:b}, ${3:c})\nsnippet tup3\n (${1:a}, ${2:b}, ${3:c}, ${4:d})\nsnippet rec\n ${1:Record} { ${2:recFieldA} = ${3:undefined}\n , ${4:recFieldB} = ${5:undefined}\n }\nsnippet case\n case ${1:something} of\n ${2} -> ${3}\nsnippet let\n let ${1} = ${2}\n in ${3}\nsnippet where\n where\n ${1:fn} = ${2:undefined}\n",t.scope="haskell"}) \ No newline at end of file
diff --git a/library/ace/snippets/haxe.js b/library/ace/snippets/haxe.js
new file mode 100644
index 000000000..d24a9828e
--- /dev/null
+++ b/library/ace/snippets/haxe.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/haxe",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="haxe"}) \ No newline at end of file
diff --git a/library/ace/snippets/html.js b/library/ace/snippets/html.js
new file mode 100644
index 000000000..a220d3df1
--- /dev/null
+++ b/library/ace/snippets/html.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/html",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Some useful Unicode entities\n# Non-Breaking Space\nsnippet nbs\n &nbsp;\n# \u2190\nsnippet left\n &#x2190;\n# \u2192\nsnippet right\n &#x2192;\n# \u2191\nsnippet up\n &#x2191;\n# \u2193\nsnippet down\n &#x2193;\n# \u21a9\nsnippet return\n &#x21A9;\n# \u21e4\nsnippet backtab\n &#x21E4;\n# \u21e5\nsnippet tab\n &#x21E5;\n# \u21e7\nsnippet shift\n &#x21E7;\n# \u2303\nsnippet ctrl\n &#x2303;\n# \u2305\nsnippet enter\n &#x2305;\n# \u2318\nsnippet cmd\n &#x2318;\n# \u2325\nsnippet option\n &#x2325;\n# \u2326\nsnippet delete\n &#x2326;\n# \u232b\nsnippet backspace\n &#x232B;\n# \u238b\nsnippet esc\n &#x238B;\n# Generic Doctype\nsnippet doctype HTML 4.01 Strict\n <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\n "http://www.w3.org/TR/html4/strict.dtd">\nsnippet doctype HTML 4.01 Transitional\n <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n "http://www.w3.org/TR/html4/loose.dtd">\nsnippet doctype HTML 5\n <!DOCTYPE HTML>\nsnippet doctype XHTML 1.0 Frameset\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\nsnippet doctype XHTML 1.0 Strict\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\nsnippet doctype XHTML 1.0 Transitional\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\nsnippet doctype XHTML 1.1\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\n "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n# HTML Doctype 4.01 Strict\nsnippet docts\n <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\n "http://www.w3.org/TR/html4/strict.dtd">\n# HTML Doctype 4.01 Transitional\nsnippet doct\n <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n "http://www.w3.org/TR/html4/loose.dtd">\n# HTML Doctype 5\nsnippet doct5\n <!DOCTYPE HTML>\n# XHTML Doctype 1.0 Frameset\nsnippet docxf\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">\n# XHTML Doctype 1.0 Strict\nsnippet docxs\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n# XHTML Doctype 1.0 Transitional\nsnippet docxt\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n# XHTML Doctype 1.1\nsnippet docx\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\n "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n# Attributes\nsnippet attr\n ${1:attribute}="${2:property}"\nsnippet attr+\n ${1:attribute}="${2:property}" attr+${3}\nsnippet .\n class="${1}"${2}\nsnippet #\n id="${1}"${2}\nsnippet alt\n alt="${1}"${2}\nsnippet charset\n charset="${1:utf-8}"${2}\nsnippet data\n data-${1}="${2:$1}"${3}\nsnippet for\n for="${1}"${2}\nsnippet height\n height="${1}"${2}\nsnippet href\n href="${1:#}"${2}\nsnippet lang\n lang="${1:en}"${2}\nsnippet media\n media="${1}"${2}\nsnippet name\n name="${1}"${2}\nsnippet rel\n rel="${1}"${2}\nsnippet scope\n scope="${1:row}"${2}\nsnippet src\n src="${1}"${2}\nsnippet title=\n title="${1}"${2}\nsnippet type\n type="${1}"${2}\nsnippet value\n value="${1}"${2}\nsnippet width\n width="${1}"${2}\n# Elements\nsnippet a\n <a href="${1:#}">${2:$1}</a>\nsnippet a.\n <a class="${1}" href="${2:#}">${3:$1}</a>\nsnippet a#\n <a id="${1}" href="${2:#}">${3:$1}</a>\nsnippet a:ext\n <a href="http://${1:example.com}">${2:$1}</a>\nsnippet a:mail\n <a href="mailto:${1:joe@example.com}?subject=${2:feedback}">${3:email me}</a>\nsnippet abbr\n <abbr title="${1}">${2}</abbr>\nsnippet address\n <address>\n ${1}\n </address>\nsnippet area\n <area shape="${1:rect}" coords="${2}" href="${3}" alt="${4}" />\nsnippet area+\n <area shape="${1:rect}" coords="${2}" href="${3}" alt="${4}" />\n area+${5}\nsnippet area:c\n <area shape="circle" coords="${1}" href="${2}" alt="${3}" />\nsnippet area:d\n <area shape="default" coords="${1}" href="${2}" alt="${3}" />\nsnippet area:p\n <area shape="poly" coords="${1}" href="${2}" alt="${3}" />\nsnippet area:r\n <area shape="rect" coords="${1}" href="${2}" alt="${3}" />\nsnippet article\n <article>\n ${1}\n </article>\nsnippet article.\n <article class="${1}">\n ${2}\n </article>\nsnippet article#\n <article id="${1}">\n ${2}\n </article>\nsnippet aside\n <aside>\n ${1}\n </aside>\nsnippet aside.\n <aside class="${1}">\n ${2}\n </aside>\nsnippet aside#\n <aside id="${1}">\n ${2}\n </aside>\nsnippet audio\n <audio src="${1}>${2}</audio>\nsnippet b\n <b>${1}</b>\nsnippet base\n <base href="${1}" target="${2}" />\nsnippet bdi\n <bdi>${1}</bdo>\nsnippet bdo\n <bdo dir="${1}">${2}</bdo>\nsnippet bdo:l\n <bdo dir="ltr">${1}</bdo>\nsnippet bdo:r\n <bdo dir="rtl">${1}</bdo>\nsnippet blockquote\n <blockquote>\n ${1}\n </blockquote>\nsnippet body\n <body>\n ${1}\n </body>\nsnippet br\n <br />${1}\nsnippet button\n <button type="${1:submit}">${2}</button>\nsnippet button.\n <button class="${1:button}" type="${2:submit}">${3}</button>\nsnippet button#\n <button id="${1}" type="${2:submit}">${3}</button>\nsnippet button:s\n <button type="submit">${1}</button>\nsnippet button:r\n <button type="reset">${1}</button>\nsnippet canvas\n <canvas>\n ${1}\n </canvas>\nsnippet caption\n <caption>${1}</caption>\nsnippet cite\n <cite>${1}</cite>\nsnippet code\n <code>${1}</code>\nsnippet col\n <col />${1}\nsnippet col+\n <col />\n col+${1}\nsnippet colgroup\n <colgroup>\n ${1}\n </colgroup>\nsnippet colgroup+\n <colgroup>\n <col />\n col+${1}\n </colgroup>\nsnippet command\n <command type="command" label="${1}" icon="${2}" />\nsnippet command:c\n <command type="checkbox" label="${1}" icon="${2}" />\nsnippet command:r\n <command type="radio" radiogroup="${1}" label="${2}" icon="${3}" />\nsnippet datagrid\n <datagrid>\n ${1}\n </datagrid>\nsnippet datalist\n <datalist>\n ${1}\n </datalist>\nsnippet datatemplate\n <datatemplate>\n ${1}\n </datatemplate>\nsnippet dd\n <dd>${1}</dd>\nsnippet dd.\n <dd class="${1}">${2}</dd>\nsnippet dd#\n <dd id="${1}">${2}</dd>\nsnippet del\n <del>${1}</del>\nsnippet details\n <details>${1}</details>\nsnippet dfn\n <dfn>${1}</dfn>\nsnippet dialog\n <dialog>\n ${1}\n </dialog>\nsnippet div\n <div>\n ${1}\n </div>\nsnippet div.\n <div class="${1}">\n ${2}\n </div>\nsnippet div#\n <div id="${1}">\n ${2}\n </div>\nsnippet dl\n <dl>\n ${1}\n </dl>\nsnippet dl.\n <dl class="${1}">\n ${2}\n </dl>\nsnippet dl#\n <dl id="${1}">\n ${2}\n </dl>\nsnippet dl+\n <dl>\n <dt>${1}</dt>\n <dd>${2}</dd>\n dt+${3}\n </dl>\nsnippet dt\n <dt>${1}</dt>\nsnippet dt.\n <dt class="${1}">${2}</dt>\nsnippet dt#\n <dt id="${1}">${2}</dt>\nsnippet dt+\n <dt>${1}</dt>\n <dd>${2}</dd>\n dt+${3}\nsnippet em\n <em>${1}</em>\nsnippet embed\n <embed src=${1} type="${2} />\nsnippet fieldset\n <fieldset>\n ${1}\n </fieldset>\nsnippet fieldset.\n <fieldset class="${1}">\n ${2}\n </fieldset>\nsnippet fieldset#\n <fieldset id="${1}">\n ${2}\n </fieldset>\nsnippet fieldset+\n <fieldset>\n <legend><span>${1}</span></legend>\n ${2}\n </fieldset>\n fieldset+${3}\nsnippet figcaption\n <figcaption>${1}</figcaption>\nsnippet figure\n <figure>${1}</figure>\nsnippet footer\n <footer>\n ${1}\n </footer>\nsnippet footer.\n <footer class="${1}">\n ${2}\n </footer>\nsnippet footer#\n <footer id="${1}">\n ${2}\n </footer>\nsnippet form\n <form action="${1}" method="${2:get}" accept-charset="utf-8">\n ${3}\n </form>\nsnippet form.\n <form class="${1}" action="${2}" method="${3:get}" accept-charset="utf-8">\n ${4}\n </form>\nsnippet form#\n <form id="${1}" action="${2}" method="${3:get}" accept-charset="utf-8">\n ${4}\n </form>\nsnippet h1\n <h1>${1}</h1>\nsnippet h1.\n <h1 class="${1}">${2}</h1>\nsnippet h1#\n <h1 id="${1}">${2}</h1>\nsnippet h2\n <h2>${1}</h2>\nsnippet h2.\n <h2 class="${1}">${2}</h2>\nsnippet h2#\n <h2 id="${1}">${2}</h2>\nsnippet h3\n <h3>${1}</h3>\nsnippet h3.\n <h3 class="${1}">${2}</h3>\nsnippet h3#\n <h3 id="${1}">${2}</h3>\nsnippet h4\n <h4>${1}</h4>\nsnippet h4.\n <h4 class="${1}">${2}</h4>\nsnippet h4#\n <h4 id="${1}">${2}</h4>\nsnippet h5\n <h5>${1}</h5>\nsnippet h5.\n <h5 class="${1}">${2}</h5>\nsnippet h5#\n <h5 id="${1}">${2}</h5>\nsnippet h6\n <h6>${1}</h6>\nsnippet h6.\n <h6 class="${1}">${2}</h6>\nsnippet h6#\n <h6 id="${1}">${2}</h6>\nsnippet head\n <head>\n <meta http-equiv="content-type" content="text/html; charset=utf-8" />\n\n <title>${1:`substitute(Filename(\'\', \'Page Title\'), \'^.\', \'\\u&\', \'\')`}</title>\n ${2}\n </head>\nsnippet header\n <header>\n ${1}\n </header>\nsnippet header.\n <header class="${1}">\n ${2}\n </header>\nsnippet header#\n <header id="${1}">\n ${2}\n </header>\nsnippet hgroup\n <hgroup>\n ${1}\n </hgroup>\nsnippet hgroup.\n <hgroup class="${1}>\n ${2}\n </hgroup>\nsnippet hr\n <hr />${1}\nsnippet html\n <html>\n ${1}\n </html>\nsnippet xhtml\n <html xmlns="http://www.w3.org/1999/xhtml">\n ${1}\n </html>\nsnippet html5\n <!DOCTYPE html>\n <html>\n <head>\n <meta http-equiv="content-type" content="text/html; charset=utf-8" />\n <title>${1:`substitute(Filename(\'\', \'Page Title\'), \'^.\', \'\\u&\', \'\')`}</title>\n ${2:meta}\n </head>\n <body>\n ${3:body}\n </body>\n </html>\nsnippet i\n <i>${1}</i>\nsnippet iframe\n <iframe src="${1}" frameborder="0"></iframe>${2}\nsnippet iframe.\n <iframe class="${1}" src="${2}" frameborder="0"></iframe>${3}\nsnippet iframe#\n <iframe id="${1}" src="${2}" frameborder="0"></iframe>${3}\nsnippet img\n <img src="${1}" alt="${2}" />${3}\nsnippet img.\n <img class="${1}" src="${2}" alt="${3}" />${4}\nsnippet img#\n <img id="${1}" src="${2}" alt="${3}" />${4}\nsnippet input\n <input type="${1:text/submit/hidden/button/image}" name="${2}" id="${3:$2}" value="${4}" />${5}\nsnippet input.\n <input class="${1}" type="${2:text/submit/hidden/button/image}" name="${3}" id="${4:$3}" value="${5}" />${6}\nsnippet input:text\n <input type="text" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:submit\n <input type="submit" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:hidden\n <input type="hidden" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:button\n <input type="button" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:image\n <input type="image" name="${1}" id="${2:$1}" src="${3}" alt="${4}" />${5}\nsnippet input:checkbox\n <input type="checkbox" name="${1}" id="${2:$1}" />${3}\nsnippet input:radio\n <input type="radio" name="${1}" id="${2:$1}" />${3}\nsnippet input:color\n <input type="color" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:date\n <input type="date" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:datetime\n <input type="datetime" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:datetime-local\n <input type="datetime-local" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:email\n <input type="email" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:file\n <input type="file" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:month\n <input type="month" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:number\n <input type="number" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:password\n <input type="password" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:range\n <input type="range" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:reset\n <input type="reset" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:search\n <input type="search" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:time\n <input type="time" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:url\n <input type="url" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet input:week\n <input type="week" name="${1}" id="${2:$1}" value="${3}" />${4}\nsnippet ins\n <ins>${1}</ins>\nsnippet kbd\n <kbd>${1}</kbd>\nsnippet keygen\n <keygen>${1}</keygen>\nsnippet label\n <label for="${2:$1}">${1}</label>\nsnippet label:i\n <label for="${2:$1}">${1}</label>\n <input type="${3:text/submit/hidden/button}" name="${4:$2}" id="${5:$2}" value="${6}" />${7}\nsnippet label:s\n <label for="${2:$1}">${1}</label>\n <select name="${3:$2}" id="${4:$2}">\n <option value="${5}">${6:$5}</option>\n </select>\nsnippet legend\n <legend>${1}</legend>\nsnippet legend+\n <legend><span>${1}</span></legend>\nsnippet li\n <li>${1}</li>\nsnippet li.\n <li class="${1}">${2}</li>\nsnippet li+\n <li>${1}</li>\n li+${2}\nsnippet lia\n <li><a href="${2:#}">${1}</a></li>\nsnippet lia+\n <li><a href="${2:#}">${1}</a></li>\n lia+${3}\nsnippet link\n <link rel="${1}" href="${2}" title="${3}" type="${4}" />${5}\nsnippet link:atom\n <link rel="alternate" href="${1:atom.xml}" title="Atom" type="application/atom+xml" />${2}\nsnippet link:css\n <link rel="stylesheet" href="${2:style.css}" type="text/css" media="${3:all}" />${4}\nsnippet link:favicon\n <link rel="shortcut icon" href="${1:favicon.ico}" type="image/x-icon" />${2}\nsnippet link:rss\n <link rel="alternate" href="${1:rss.xml}" title="RSS" type="application/atom+xml" />${2}\nsnippet link:touch\n <link rel="apple-touch-icon" href="${1:favicon.png}" />${2}\nsnippet map\n <map name="${1}">\n ${2}\n </map>\nsnippet map.\n <map class="${1}" name="${2}">\n ${3}\n </map>\nsnippet map#\n <map name="${1}" id="${2:$1}>\n ${3}\n </map>\nsnippet map+\n <map name="${1}">\n <area shape="${2}" coords="${3}" href="${4}" alt="${5}" />${6}\n </map>${7}\nsnippet mark\n <mark>${1}</mark>\nsnippet menu\n <menu>\n ${1}\n </menu>\nsnippet menu:c\n <menu type="context">\n ${1}\n </menu>\nsnippet menu:t\n <menu type="toolbar">\n ${1}\n </menu>\nsnippet meta\n <meta http-equiv="${1}" content="${2}" />${3}\nsnippet meta:compat\n <meta http-equiv="X-UA-Compatible" content="IE=${1:7,8,edge}" />${3}\nsnippet meta:refresh\n <meta http-equiv="refresh" content="text/html;charset=UTF-8" />${3}\nsnippet meta:utf\n <meta http-equiv="content-type" content="text/html;charset=UTF-8" />${3}\nsnippet meter\n <meter>${1}</meter>\nsnippet nav\n <nav>\n ${1}\n </nav>\nsnippet nav.\n <nav class="${1}">\n ${2}\n </nav>\nsnippet nav#\n <nav id="${1}">\n ${2}\n </nav>\nsnippet noscript\n <noscript>\n ${1}\n </noscript>\nsnippet object\n <object data="${1}" type="${2}">\n ${3}\n </object>${4}\n# Embed QT Movie\nsnippet movie\n <object width="$2" height="$3" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"\n codebase="http://www.apple.com/qtactivex/qtplugin.cab">\n <param name="src" value="$1" />\n <param name="controller" value="$4" />\n <param name="autoplay" value="$5" />\n <embed src="${1:movie.mov}"\n width="${2:320}" height="${3:240}"\n controller="${4:true}" autoplay="${5:true}"\n scale="tofit" cache="true"\n pluginspage="http://www.apple.com/quicktime/download/" />\n </object>${6}\nsnippet ol\n <ol>\n ${1}\n </ol>\nsnippet ol.\n <ol class="${1}>\n ${2}\n </ol>\nsnippet ol#\n <ol id="${1}>\n ${2}\n </ol>\nsnippet ol+\n <ol>\n <li>${1}</li>\n li+${2}\n </ol>\nsnippet opt\n <option value="${1}">${2:$1}</option>\nsnippet opt+\n <option value="${1}">${2:$1}</option>\n opt+${3}\nsnippet optt\n <option>${1}</option>\nsnippet optgroup\n <optgroup>\n <option value="${1}">${2:$1}</option>\n opt+${3}\n </optgroup>\nsnippet output\n <output>${1}</output>\nsnippet p\n <p>${1}</p>\nsnippet param\n <param name="${1}" value="${2}" />${3}\nsnippet pre\n <pre>\n ${1}\n </pre>\nsnippet progress\n <progress>${1}</progress>\nsnippet q\n <q>${1}</q>\nsnippet rp\n <rp>${1}</rp>\nsnippet rt\n <rt>${1}</rt>\nsnippet ruby\n <ruby>\n <rp><rt>${1}</rt></rp>\n </ruby>\nsnippet s\n <s>${1}</s>\nsnippet samp\n <samp>\n ${1}\n </samp>\nsnippet script\n <script type="text/javascript" charset="utf-8">\n ${1}\n <\/script>\nsnippet scriptsrc\n <script src="${1}.js" type="text/javascript" charset="utf-8"><\/script>\nsnippet section\n <section>\n ${1}\n </section>\nsnippet section.\n <section class="${1}">\n ${2}\n </section>\nsnippet section#\n <section id="${1}">\n ${2}\n </section>\nsnippet select\n <select name="${1}" id="${2:$1}">\n ${3}\n </select>\nsnippet select.\n <select name="${1}" id="${2:$1}" class="${3}>\n ${4}\n </select>\nsnippet select+\n <select name="${1}" id="${2:$1}">\n <option value="${3}">${4:$3}</option>\n opt+${5}\n </select>\nsnippet small\n <small>${1}</small>\nsnippet source\n <source src="${1}" type="${2}" media="${3}" />\nsnippet span\n <span>${1}</span>\nsnippet strong\n <strong>${1}</strong>\nsnippet style\n <style type="text/css" media="${1:all}">\n ${2}\n </style>\nsnippet sub\n <sub>${1}</sub>\nsnippet summary\n <summary>\n ${1}\n </summary>\nsnippet sup\n <sup>${1}</sup>\nsnippet table\n <table border="${1:0}">\n ${2}\n </table>\nsnippet table.\n <table class="${1}" border="${2:0}">\n ${3}\n </table>\nsnippet table#\n <table id="${1}" border="${2:0}">\n ${3}\n </table>\nsnippet tbody\n <tbody>\n ${1}\n </tbody>\nsnippet td\n <td>${1}</td>\nsnippet td.\n <td class="${1}">${2}</td>\nsnippet td#\n <td id="${1}">${2}</td>\nsnippet td+\n <td>${1}</td>\n td+${2}\nsnippet textarea\n <textarea name="${1}" id=${2:$1} rows="${3:8}" cols="${4:40}">${5}</textarea>${6}\nsnippet tfoot\n <tfoot>\n ${1}\n </tfoot>\nsnippet th\n <th>${1}</th>\nsnippet th.\n <th class="${1}">${2}</th>\nsnippet th#\n <th id="${1}">${2}</th>\nsnippet th+\n <th>${1}</th>\n th+${2}\nsnippet thead\n <thead>\n ${1}\n </thead>\nsnippet time\n <time datetime="${1}" pubdate="${2:$1}>${3:$1}</time>\nsnippet title\n <title>${1:`substitute(Filename(\'\', \'Page Title\'), \'^.\', \'\\u&\', \'\')`}</title>\nsnippet tr\n <tr>\n ${1}\n </tr>\nsnippet tr+\n <tr>\n <td>${1}</td>\n td+${2}\n </tr>\nsnippet track\n <track src="${1}" srclang="${2}" label="${3}" default="${4:default}>${5}</track>${6}\nsnippet ul\n <ul>\n ${1}\n </ul>\nsnippet ul.\n <ul class="${1}">\n ${2}\n </ul>\nsnippet ul#\n <ul id="${1}">\n ${2}\n </ul>\nsnippet ul+\n <ul>\n <li>${1}</li>\n li+${2}\n </ul>\nsnippet var\n <var>${1}</var>\nsnippet video\n <video src="${1} height="${2}" width="${3}" preload="${5:none}" autoplay="${6:autoplay}>${7}</video>${8}\nsnippet wbr\n <wbr />${1}\n',t.scope="html"}) \ No newline at end of file
diff --git a/library/ace/snippets/html_elixir.js b/library/ace/snippets/html_elixir.js
new file mode 100644
index 000000000..90ebfc734
--- /dev/null
+++ b/library/ace/snippets/html_elixir.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/html_elixir",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="html_elixir"}) \ No newline at end of file
diff --git a/library/ace/snippets/html_ruby.js b/library/ace/snippets/html_ruby.js
new file mode 100644
index 000000000..4ed2cd912
--- /dev/null
+++ b/library/ace/snippets/html_ruby.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/html_ruby",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="html_ruby"}) \ No newline at end of file
diff --git a/library/ace/snippets/ini.js b/library/ace/snippets/ini.js
new file mode 100644
index 000000000..f520b9bed
--- /dev/null
+++ b/library/ace/snippets/ini.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ini",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ini"}) \ No newline at end of file
diff --git a/library/ace/snippets/io.js b/library/ace/snippets/io.js
new file mode 100644
index 000000000..20bff1adf
--- /dev/null
+++ b/library/ace/snippets/io.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/io",["require","exports","module"],function(e,t,n){"use strict";t.snippets=[{content:"assertEquals(${1:expected}, ${2:expr})",name:"assertEquals",scope:"io",tabTrigger:"ae"},{content:"${1:${2:newValue} := ${3:Object} }clone do(\n $0\n)",name:"clone do",scope:"io",tabTrigger:"cdo"},{content:'docSlot("${1:slotName}", "${2:documentation}")',name:"docSlot",scope:"io",tabTrigger:"ds"},{content:"(${1:header,}\n ${2:body}\n)$0",keyEquivalent:"@(",name:"Indented Bracketed Line",scope:"io",tabTrigger:"("},{content:"\n $0\n",keyEquivalent:"\r",name:"Special: Return Inside Empty Parenthesis",scope:"io meta.empty-parenthesis.io, io meta.comma-parenthesis.io"},{content:"${1:methodName} := method(${2:args,}\n $0\n)",name:"method",scope:"io",tabTrigger:"m"},{content:'newSlot("${1:slotName}", ${2:defaultValue}, "${3:docString}")$0',name:"newSlot",scope:"io",tabTrigger:"ns"},{content:"${1:name} := Object clone do(\n $0\n)",name:"Object clone do",scope:"io",tabTrigger:"ocdo"},{content:"test${1:SomeFeature} := method(\n $0\n)",name:"testMethod",scope:"io",tabTrigger:"ts"},{content:"${1:Something}Test := ${2:UnitTest} clone do(\n $0\n)",name:"UnitTest",scope:"io",tabTrigger:"ut"}],t.scope="io"}) \ No newline at end of file
diff --git a/library/ace/snippets/jack.js b/library/ace/snippets/jack.js
new file mode 100644
index 000000000..99b0ebd5b
--- /dev/null
+++ b/library/ace/snippets/jack.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/jack",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="jack"}) \ No newline at end of file
diff --git a/library/ace/snippets/jade.js b/library/ace/snippets/jade.js
new file mode 100644
index 000000000..bbd1087fb
--- /dev/null
+++ b/library/ace/snippets/jade.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/jade",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="jade"}) \ No newline at end of file
diff --git a/library/ace/snippets/java.js b/library/ace/snippets/java.js
new file mode 100644
index 000000000..3a026ea8e
--- /dev/null
+++ b/library/ace/snippets/java.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/java",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='## Access Modifiers\nsnippet po\n protected\nsnippet pu\n public\nsnippet pr\n private\n##\n## Annotations\nsnippet before\n @Before\n static void ${1:intercept}(${2:args}) { ${3} }\nsnippet mm\n @ManyToMany\n ${1}\nsnippet mo\n @ManyToOne\n ${1}\nsnippet om\n @OneToMany${1:(cascade=CascadeType.ALL)}\n ${2}\nsnippet oo\n @OneToOne\n ${1}\n##\n## Basic Java packages and import\nsnippet im\n import\nsnippet j.b\n java.beans.\nsnippet j.i\n java.io.\nsnippet j.m\n java.math.\nsnippet j.n\n java.net.\nsnippet j.u\n java.util.\n##\n## Class\nsnippet cl\n class ${1:`Filename("", "untitled")`} ${2}\nsnippet in\n interface ${1:`Filename("", "untitled")`} ${2:extends Parent}${3}\nsnippet tc\n public class ${1:`Filename()`} extends ${2:TestCase}\n##\n## Class Enhancements\nsnippet ext\n extends \nsnippet imp\n implements\n##\n## Comments\nsnippet /*\n /*\n * ${1}\n */\n##\n## Constants\nsnippet co\n static public final ${1:String} ${2:var} = ${3};${4}\nsnippet cos\n static public final String ${1:var} = "${2}";${3}\n##\n## Control Statements\nsnippet case\n case ${1}:\n ${2}\nsnippet def\n default:\n ${2}\nsnippet el\n else\nsnippet elif\n else if (${1}) ${2}\nsnippet if\n if (${1}) ${2}\nsnippet sw\n switch (${1}) {\n ${2}\n }\n##\n## Create a Method\nsnippet m\n ${1:void} ${2:method}(${3}) ${4:throws }${5}\n##\n## Create a Variable\nsnippet v\n ${1:String} ${2:var}${3: = null}${4};${5}\n##\n## Enhancements to Methods, variables, classes, etc.\nsnippet ab\n abstract\nsnippet fi\n final\nsnippet st\n static\nsnippet sy\n synchronized\n##\n## Error Methods\nsnippet err\n System.err.print("${1:Message}");\nsnippet errf\n System.err.printf("${1:Message}", ${2:exception});\nsnippet errln\n System.err.println("${1:Message}");\n##\n## Exception Handling\nsnippet as\n assert ${1:test} : "${2:Failure message}";${3}\nsnippet ca\n catch(${1:Exception} ${2:e}) ${3}\nsnippet thr\n throw\nsnippet ths\n throws\nsnippet try\n try {\n ${3}\n } catch(${1:Exception} ${2:e}) {\n }\nsnippet tryf\n try {\n ${3}\n } catch(${1:Exception} ${2:e}) {\n } finally {\n }\n##\n## Find Methods\nsnippet findall\n List<${1:listName}> ${2:items} = ${1}.findAll();${3}\nsnippet findbyid\n ${1:var} ${2:item} = ${1}.findById(${3});${4}\n##\n## Javadocs\nsnippet /**\n /**\n * ${1}\n */\nsnippet @au\n @author `system("grep \\`id -un\\` /etc/passwd | cut -d \\":\\" -f5 | cut -d \\",\\" -f1")`\nsnippet @br\n @brief ${1:Description}\nsnippet @fi\n @file ${1:`Filename()`}.java\nsnippet @pa\n @param ${1:param}\nsnippet @re\n @return ${1:param}\n##\n## Logger Methods\nsnippet debug\n Logger.debug(${1:param});${2}\nsnippet error\n Logger.error(${1:param});${2}\nsnippet info\n Logger.info(${1:param});${2}\nsnippet warn\n Logger.warn(${1:param});${2}\n##\n## Loops\nsnippet enfor\n for (${1} : ${2}) ${3}\nsnippet for\n for (${1}; ${2}; ${3}) ${4}\nsnippet wh\n while (${1}) ${2}\n##\n## Main method\nsnippet main\n public static void main (String[] args) {\n ${1:/* code */}\n }\n##\n## Print Methods\nsnippet print\n System.out.print("${1:Message}");\nsnippet printf\n System.out.printf("${1:Message}", ${2:args});\nsnippet println\n System.out.println(${1});\n##\n## Render Methods\nsnippet ren\n render(${1:param});${2}\nsnippet rena\n renderArgs.put("${1}", ${2});${3}\nsnippet renb\n renderBinary(${1:param});${2}\nsnippet renj\n renderJSON(${1:param});${2}\nsnippet renx\n renderXml(${1:param});${2}\n##\n## Setter and Getter Methods\nsnippet set\n ${1:public} void set${3:}(${2:String} ${4:}){\n this.$4 = $4;\n }\nsnippet get\n ${1:public} ${2:String} get${3:}(){\n return this.${4:};\n }\n##\n## Terminate Methods or Loops\nsnippet re\n return\nsnippet br\n break;\n##\n## Test Methods\nsnippet t\n public void test${1:Name}() throws Exception {\n ${2}\n }\nsnippet test\n @Test\n public void test${1:Name}() throws Exception {\n ${2}\n }\n##\n## Utils\nsnippet Sc\n Scanner\n##\n## Miscellaneous\nsnippet action\n public static void ${1:index}(${2:args}) { ${3} }\nsnippet rnf\n notFound(${1:param});${2}\nsnippet rnfin\n notFoundIfNull(${1:param});${2}\nsnippet rr\n redirect(${1:param});${2}\nsnippet ru\n unauthorized(${1:param});${2}\nsnippet unless\n (unless=${1:param});${2}\n',t.scope="java"}) \ No newline at end of file
diff --git a/library/ace/snippets/javascript.js b/library/ace/snippets/javascript.js
new file mode 100644
index 000000000..09f0fe0ef
--- /dev/null
+++ b/library/ace/snippets/javascript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"}) \ No newline at end of file
diff --git a/library/ace/snippets/json.js b/library/ace/snippets/json.js
new file mode 100644
index 000000000..5e0e0ea2e
--- /dev/null
+++ b/library/ace/snippets/json.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/json",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="json"}) \ No newline at end of file
diff --git a/library/ace/snippets/jsoniq.js b/library/ace/snippets/jsoniq.js
new file mode 100644
index 000000000..7ca20f9d4
--- /dev/null
+++ b/library/ace/snippets/jsoniq.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/jsoniq",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet for\n for $${1:item} in ${2:expr}\nsnippet return\n return ${1:expr}\nsnippet import\n import module namespace ${1:ns} = "${2:http://www.example.com/}";\nsnippet some\n some $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet every\n every $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet if\n if(${1:true}) then ${2:expr} else ${3:true}\nsnippet switch\n switch(${1:"foo"})\n case ${2:"foo"}\n return ${3:true}\n default return ${4:false}\nsnippet try\n try { ${1:expr} } catch ${2:*} { ${3:expr} }\nsnippet tumbling\n for tumbling window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet sliding\n for sliding window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet let\n let $${1:varname} := ${2:expr}\nsnippet group\n group by $${1:varname} := ${2:expr}\nsnippet order\n order by ${1:expr} ${2:descending}\nsnippet stable\n stable order by ${1:expr}\nsnippet count\n count $${1:varname}\nsnippet ordered\n ordered { ${1:expr} }\nsnippet unordered\n unordered { ${1:expr} }\nsnippet treat \n treat as ${1:expr}\nsnippet castable\n castable as ${1:atomicType}\nsnippet cast\n cast as ${1:atomicType}\nsnippet typeswitch\n typeswitch(${1:expr})\n case ${2:type} return ${3:expr}\n default return ${4:expr}\nsnippet var\n declare variable $${1:varname} := ${2:expr};\nsnippet fn\n declare function ${1:ns}:${2:name}(){\n ${3:expr}\n };\nsnippet module\n module namespace ${1:ns} = "${2:http://www.example.com}";\n',t.scope="jsoniq"}) \ No newline at end of file
diff --git a/library/ace/snippets/jsp.js b/library/ace/snippets/jsp.js
new file mode 100644
index 000000000..fcbace719
--- /dev/null
+++ b/library/ace/snippets/jsp.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/jsp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet @page\n <%@page contentType="text/html" pageEncoding="UTF-8"%>\nsnippet jstl\n <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>\n <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>\nsnippet jstl:c\n <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>\nsnippet jstl:fn\n <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>\nsnippet cpath\n ${pageContext.request.contextPath}\nsnippet cout\n <c:out value="${1}" default="${2}" />\nsnippet cset\n <c:set var="${1}" value="${2}" />\nsnippet cremove\n <c:remove var="${1}" scope="${2:page}" />\nsnippet ccatch\n <c:catch var="${1}" />\nsnippet cif\n <c:if test="${${1}}">\n ${2}\n </c:if>\nsnippet cchoose\n <c:choose>\n ${1}\n </c:choose>\nsnippet cwhen\n <c:when test="${${1}}">\n ${2}\n </c:when>\nsnippet cother\n <c:otherwise>\n ${1}\n </c:otherwise>\nsnippet cfore\n <c:forEach items="${${1}}" var="${2}" varStatus="${3}">\n ${4:<c:out value="$2" />}\n </c:forEach>\nsnippet cfort\n <c:set var="${1}">${2:item1,item2,item3}</c:set>\n <c:forTokens var="${3}" items="${$1}" delims="${4:,}">\n ${5:<c:out value="$3" />}\n </c:forTokens>\nsnippet cparam\n <c:param name="${1}" value="${2}" />\nsnippet cparam+\n <c:param name="${1}" value="${2}" />\n cparam+${3}\nsnippet cimport\n <c:import url="${1}" />\nsnippet cimport+\n <c:import url="${1}">\n <c:param name="${2}" value="${3}" />\n cparam+${4}\n </c:import>\nsnippet curl\n <c:url value="${1}" var="${2}" />\n <a href="${$2}">${3}</a>\nsnippet curl+\n <c:url value="${1}" var="${2}">\n <c:param name="${4}" value="${5}" />\n cparam+${6}\n </c:url>\n <a href="${$2}">${3}</a>\nsnippet credirect\n <c:redirect url="${1}" />\nsnippet contains\n ${fn:contains(${1:string}, ${2:substr})}\nsnippet contains:i\n ${fn:containsIgnoreCase(${1:string}, ${2:substr})}\nsnippet endswith\n ${fn:endsWith(${1:string}, ${2:suffix})}\nsnippet escape\n ${fn:escapeXml(${1:string})}\nsnippet indexof\n ${fn:indexOf(${1:string}, ${2:substr})}\nsnippet join\n ${fn:join(${1:collection}, ${2:delims})}\nsnippet length\n ${fn:length(${1:collection_or_string})}\nsnippet replace\n ${fn:replace(${1:string}, ${2:substr}, ${3:replace})}\nsnippet split\n ${fn:split(${1:string}, ${2:delims})}\nsnippet startswith\n ${fn:startsWith(${1:string}, ${2:prefix})}\nsnippet substr\n ${fn:substring(${1:string}, ${2:begin}, ${3:end})}\nsnippet substr:a\n ${fn:substringAfter(${1:string}, ${2:substr})}\nsnippet substr:b\n ${fn:substringBefore(${1:string}, ${2:substr})}\nsnippet lc\n ${fn:toLowerCase(${1:string})}\nsnippet uc\n ${fn:toUpperCase(${1:string})}\nsnippet trim\n ${fn:trim(${1:string})}\n',t.scope="jsp"}) \ No newline at end of file
diff --git a/library/ace/snippets/jsx.js b/library/ace/snippets/jsx.js
new file mode 100644
index 000000000..9ae1382f4
--- /dev/null
+++ b/library/ace/snippets/jsx.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/jsx",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="jsx"}) \ No newline at end of file
diff --git a/library/ace/snippets/julia.js b/library/ace/snippets/julia.js
new file mode 100644
index 000000000..131783f29
--- /dev/null
+++ b/library/ace/snippets/julia.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/julia",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="julia"}) \ No newline at end of file
diff --git a/library/ace/snippets/latex.js b/library/ace/snippets/latex.js
new file mode 100644
index 000000000..43f3fdbf7
--- /dev/null
+++ b/library/ace/snippets/latex.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/latex",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="latex"}) \ No newline at end of file
diff --git a/library/ace/snippets/lean.js b/library/ace/snippets/lean.js
new file mode 100644
index 000000000..3f264d3aa
--- /dev/null
+++ b/library/ace/snippets/lean.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/lean",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="lean"}) \ No newline at end of file
diff --git a/library/ace/snippets/less.js b/library/ace/snippets/less.js
new file mode 100644
index 000000000..4e2cafcd3
--- /dev/null
+++ b/library/ace/snippets/less.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/less",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="less"}) \ No newline at end of file
diff --git a/library/ace/snippets/liquid.js b/library/ace/snippets/liquid.js
new file mode 100644
index 000000000..a57996395
--- /dev/null
+++ b/library/ace/snippets/liquid.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/liquid",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="liquid"}) \ No newline at end of file
diff --git a/library/ace/snippets/lisp.js b/library/ace/snippets/lisp.js
new file mode 100644
index 000000000..7c3fd308e
--- /dev/null
+++ b/library/ace/snippets/lisp.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/lisp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="lisp"}) \ No newline at end of file
diff --git a/library/ace/snippets/live_script.js b/library/ace/snippets/live_script.js
new file mode 100644
index 000000000..9bf62192b
--- /dev/null
+++ b/library/ace/snippets/live_script.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/live_script",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/livescript.js b/library/ace/snippets/livescript.js
new file mode 100644
index 000000000..7ca405642
--- /dev/null
+++ b/library/ace/snippets/livescript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/livescript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="livescript"}) \ No newline at end of file
diff --git a/library/ace/snippets/logiql.js b/library/ace/snippets/logiql.js
new file mode 100644
index 000000000..c4f097549
--- /dev/null
+++ b/library/ace/snippets/logiql.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/logiql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="logiql"}) \ No newline at end of file
diff --git a/library/ace/snippets/lsl.js b/library/ace/snippets/lsl.js
new file mode 100644
index 000000000..afd16b324
--- /dev/null
+++ b/library/ace/snippets/lsl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/lsl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet @\n @${1:label};\nsnippet CAMERA_ACTIVE\n CAMERA_ACTIVE, ${1:integer isActive}, $0\nsnippet CAMERA_BEHINDNESS_ANGLE\n CAMERA_BEHINDNESS_ANGLE, ${1:float degrees}, $0\nsnippet CAMERA_BEHINDNESS_LAG\n CAMERA_BEHINDNESS_LAG, ${1:float seconds}, $0\nsnippet CAMERA_DISTANCE\n CAMERA_DISTANCE, ${1:float meters}, $0\nsnippet CAMERA_FOCUS\n CAMERA_FOCUS, ${1:vector position}, $0\nsnippet CAMERA_FOCUS_LAG\n CAMERA_FOCUS_LAG, ${1:float seconds}, $0\nsnippet CAMERA_FOCUS_LOCKED\n CAMERA_FOCUS_LOCKED, ${1:integer isLocked}, $0\nsnippet CAMERA_FOCUS_OFFSET\n CAMERA_FOCUS_OFFSET, ${1:vector meters}, $0\nsnippet CAMERA_FOCUS_THRESHOLD\n CAMERA_FOCUS_THRESHOLD, ${1:float meters}, $0\nsnippet CAMERA_PITCH\n CAMERA_PITCH, ${1:float degrees}, $0\nsnippet CAMERA_POSITION\n CAMERA_POSITION, ${1:vector position}, $0\nsnippet CAMERA_POSITION_LAG\n CAMERA_POSITION_LAG, ${1:float seconds}, $0\nsnippet CAMERA_POSITION_LOCKED\n CAMERA_POSITION_LOCKED, ${1:integer isLocked}, $0\nsnippet CAMERA_POSITION_THRESHOLD\n CAMERA_POSITION_THRESHOLD, ${1:float meters}, $0\nsnippet CHARACTER_AVOIDANCE_MODE\n CHARACTER_AVOIDANCE_MODE, ${1:integer flags}, $0\nsnippet CHARACTER_DESIRED_SPEED\n CHARACTER_DESIRED_SPEED, ${1:float speed}, $0\nsnippet CHARACTER_DESIRED_TURN_SPEED\n CHARACTER_DESIRED_TURN_SPEED, ${1:float speed}, $0\nsnippet CHARACTER_LENGTH\n CHARACTER_LENGTH, ${1:float length}, $0\nsnippet CHARACTER_MAX_TURN_RADIUS\n CHARACTER_MAX_TURN_RADIUS, ${1:float radius}, $0\nsnippet CHARACTER_ORIENTATION\n CHARACTER_ORIENTATION, ${1:integer orientation}, $0\nsnippet CHARACTER_RADIUS\n CHARACTER_RADIUS, ${1:float radius}, $0\nsnippet CHARACTER_STAY_WITHIN_PARCEL\n CHARACTER_STAY_WITHIN_PARCEL, ${1:boolean stay}, $0\nsnippet CHARACTER_TYPE\n CHARACTER_TYPE, ${1:integer type}, $0\nsnippet HTTP_BODY_MAXLENGTH\n HTTP_BODY_MAXLENGTH, ${1:integer length}, $0\nsnippet HTTP_CUSTOM_HEADER\n HTTP_CUSTOM_HEADER, ${1:string name}, ${2:string value}, $0\nsnippet HTTP_METHOD\n HTTP_METHOD, ${1:string method}, $0\nsnippet HTTP_MIMETYPE\n HTTP_MIMETYPE, ${1:string mimeType}, $0\nsnippet HTTP_PRAGMA_NO_CACHE\n HTTP_PRAGMA_NO_CACHE, ${1:integer send_header}, $0\nsnippet HTTP_VERBOSE_THROTTLE\n HTTP_VERBOSE_THROTTLE, ${1:integer noisy}, $0\nsnippet HTTP_VERIFY_CERT\n HTTP_VERIFY_CERT, ${1:integer verify}, $0\nsnippet RC_DATA_FLAGS\n RC_DATA_FLAGS, ${1:integer flags}, $0\nsnippet RC_DETECT_PHANTOM\n RC_DETECT_PHANTOM, ${1:integer dectedPhantom}, $0\nsnippet RC_MAX_HITS\n RC_MAX_HITS, ${1:integer maxHits}, $0\nsnippet RC_REJECT_TYPES\n RC_REJECT_TYPES, ${1:integer filterMask}, $0\nsnippet at_rot_target\n at_rot_target(${1:integer handle}, ${2:rotation targetrot}, ${3:rotation ourrot})\n {\n $0\n }\nsnippet at_target\n at_target(${1:integer tnum}, ${2:vector targetpos}, ${3:vector ourpos})\n {\n $0\n }\nsnippet attach\n attach(${1:key id})\n {\n $0\n }\nsnippet changed\n changed(${1:integer change})\n {\n $0\n }\nsnippet collision\n collision(${1:integer index})\n {\n $0\n }\nsnippet collision_end\n collision_end(${1:integer index})\n {\n $0\n }\nsnippet collision_start\n collision_start(${1:integer index})\n {\n $0\n }\nsnippet control\n control(${1:key id}, ${2:integer level}, ${3:integer edge})\n {\n $0\n }\nsnippet dataserver\n dataserver(${1:key query_id}, ${2:string data})\n {\n $0\n }\nsnippet do\n do\n {\n $0\n }\n while (${1:condition});\nsnippet else\n else\n {\n $0\n }\nsnippet email\n email(${1:string time}, ${2:string address}, ${3:string subject}, ${4:string message}, ${5:integer num_left})\n {\n $0\n }\nsnippet experience_permissions\n experience_permissions(${1:key agent_id})\n {\n $0\n }\nsnippet experience_permissions_denied\n experience_permissions_denied(${1:key agent_id}, ${2:integer reason})\n {\n $0\n }\nsnippet for\n for (${1:start}; ${3:condition}; ${3:step})\n {\n $0\n }\nsnippet http_request\n http_request(${1:key request_id}, ${2:string method}, ${3:string body})\n {\n $0\n }\nsnippet http_response\n http_response(${1:key request_id}, ${2:integer status}, ${3:list metadata}, ${4:string body})\n {\n $0\n }\nsnippet if\n if (${1:condition})\n {\n $0\n }\nsnippet jump\n jump ${1:label};\nsnippet land_collision\n land_collision(${1:vector pos})\n {\n $0\n }\nsnippet land_collision_end\n land_collision_end(${1:vector pos})\n {\n $0\n }\nsnippet land_collision_start\n land_collision_start(${1:vector pos})\n {\n $0\n }\nsnippet link_message\n link_message(${1:integer sender_num}, ${2:integer num}, ${3:string str}, ${4:key id})\n {\n $0\n }\nsnippet listen\n listen(${1:integer channel}, ${2:string name}, ${3:key id}, ${4:string message})\n {\n $0\n }\nsnippet llAbs\n llAbs(${1:integer val})\nsnippet llAcos\n llAcos(${1:float val})\nsnippet llAddToLandBanList\n llAddToLandBanList(${1:key agent}, ${2:float hours});\n $0\nsnippet llAddToLandPassList\n llAddToLandPassList(${1:key agent}, ${2:float hours});\n $0\nsnippet llAdjustSoundVolume\n llAdjustSoundVolume(${1:float volume});\n $0\nsnippet llAgentInExperience\n llAgentInExperience(${1:key agent})\nsnippet llAllowInventoryDrop\n llAllowInventoryDrop(${1:integer add});\n $0\nsnippet llAngleBetween\n llAngleBetween(${1:rotation a}, ${2:rotation b})\nsnippet llApplyImpulse\n llApplyImpulse(${1:vector force}, ${2:integer local});\n $0\nsnippet llApplyRotationalImpulse\n llApplyRotationalImpulse(${1:vector force}, ${2:integer local});\n $0\nsnippet llAsin\n llAsin(${1:float val})\nsnippet llAtan2\n llAtan2(${1:float y}, ${2:float x})\nsnippet llAttachToAvatar\n llAttachToAvatar(${1:integer attach_point});\n $0\nsnippet llAttachToAvatarTemp\n llAttachToAvatarTemp(${1:integer attach_point});\n $0\nsnippet llAvatarOnLinkSitTarget\n llAvatarOnLinkSitTarget(${1:integer link})\nsnippet llAvatarOnSitTarget\n llAvatarOnSitTarget()\nsnippet llAxes2Rot\n llAxes2Rot(${1:vector fwd}, ${2:vector left}, ${3:vector up})\nsnippet llAxisAngle2Rot\n llAxisAngle2Rot(${1:vector axis}, ${2:float angle})\nsnippet llBase64ToInteger\n llBase64ToInteger(${1:string str})\nsnippet llBase64ToString\n llBase64ToString(${1:string str})\nsnippet llBreakAllLinks\n llBreakAllLinks();\n $0\nsnippet llBreakLink\n llBreakLink(${1:integer link});\n $0\nsnippet llCastRay\n llCastRay(${1:vector start}, ${2:vector end}, ${3:list options});\n $0\nsnippet llCeil\n llCeil(${1:float val})\nsnippet llClearCameraParams\n llClearCameraParams();\n $0\nsnippet llClearLinkMedia\n llClearLinkMedia(${1:integer link}, ${2:integer face});\n $0\nsnippet llClearPrimMedia\n llClearPrimMedia(${1:integer face});\n $0\nsnippet llCloseRemoteDataChannel\n llCloseRemoteDataChannel(${1:key channel});\n $0\nsnippet llCollisionFilter\n llCollisionFilter(${1:string name}, ${2:key id}, ${3:integer accept});\n $0\nsnippet llCollisionSound\n llCollisionSound(${1:string impact_sound}, ${2:float impact_volume});\n $0\nsnippet llCos\n llCos(${1:float theta})\nsnippet llCreateCharacter\n llCreateCharacter(${1:list options});\n $0\nsnippet llCreateKeyValue\n llCreateKeyValue(${1:string k})\nsnippet llCreateLink\n llCreateLink(${1:key target}, ${2:integer parent});\n $0\nsnippet llCSV2List\n llCSV2List(${1:string src})\nsnippet llDataSizeKeyValue\n llDataSizeKeyValue()\nsnippet llDeleteCharacter\n llDeleteCharacter();\n $0\nsnippet llDeleteKeyValue\n llDeleteKeyValue(${1:string k})\nsnippet llDeleteSubList\n llDeleteSubList(${1:list src}, ${2:integer start}, ${3:integer end})\nsnippet llDeleteSubString\n llDeleteSubString(${1:string src}, ${2:integer start}, ${3:integer end})\nsnippet llDetachFromAvatar\n llDetachFromAvatar();\n $0\nsnippet llDetectedGrab\n llDetectedGrab(${1:integer number})\nsnippet llDetectedGroup\n llDetectedGroup(${1:integer number})\nsnippet llDetectedKey\n llDetectedKey(${1:integer number})\nsnippet llDetectedLinkNumber\n llDetectedLinkNumber(${1:integer number})\nsnippet llDetectedName\n llDetectedName(${1:integer number})\nsnippet llDetectedOwner\n llDetectedOwner(${1:integer number})\nsnippet llDetectedPos\n llDetectedPosl(${1:integer number})\nsnippet llDetectedRot\n llDetectedRot(${1:integer number})\nsnippet llDetectedTouchBinormal\n llDetectedTouchBinormal(${1:integer number})\nsnippet llDetectedTouchFace\n llDetectedTouchFace(${1:integer number})\nsnippet llDetectedTouchNormal\n llDetectedTouchNormal(${1:integer number})\nsnippet llDetectedTouchPos\n llDetectedTouchPos(${1:integer number})\nsnippet llDetectedTouchST\n llDetectedTouchST(${1:integer number})\nsnippet llDetectedTouchUV\n llDetectedTouchUV(${1:integer number})\nsnippet llDetectedType\n llDetectedType(${1:integer number})\nsnippet llDetectedVel\n llDetectedVel(${1:integer number})\nsnippet llDialog\n llDialog(${1:key agent}, ${2:string message}, ${3:list buttons}, ${4:integer channel});\n $0\nsnippet llDie\n llDie();\n $0\nsnippet llDumpList2String\n llDumpList2String(${1:list src}, ${2:string separator})\nsnippet llEdgeOfWorld\n llEdgeOfWorld(${1:vector pos}, ${2:vector dir})\nsnippet llEjectFromLand\n llEjectFromLand(${1:key agent});\n $0\nsnippet llEmail\n llEmail(${1:string address}, ${2:string subject}, ${3:string message});\n $0\nsnippet llEscapeURL\n llEscapeURL(${1:string url})\nsnippet llEuler2Rot\n llEuler2Rot(${1:vector v})\nsnippet llExecCharacterCmd\n llExecCharacterCmd(${1:integer command}, ${2:list options});\n $0\nsnippet llEvade\n llEvade(${1:key target}, ${2:list options});\n $0\nsnippet llFabs\n llFabs(${1:float val})\nsnippet llFleeFrom\n llFleeFrom(${1:vector position}, ${2:float distance}, ${3:list options});\n $0\nsnippet llFloor\n llFloor(${1:float val})\nsnippet llForceMouselook\n llForceMouselook(${1:integer mouselook});\n $0\nsnippet llFrand\n llFrand(${1:float mag})\nsnippet llGenerateKey\n llGenerateKey()\nsnippet llGetAccel\n llGetAccel()\nsnippet llGetAgentInfo\n llGetAgentInfo(${1:key id})\nsnippet llGetAgentLanguage\n llGetAgentLanguage(${1:key agent})\nsnippet llGetAgentList\n llGetAgentList(${1:integer scope}, ${2:list options})\nsnippet llGetAgentSize\n llGetAgentSize(${1:key agent})\nsnippet llGetAlpha\n llGetAlpha(${1:integer face})\nsnippet llGetAndResetTime\n llGetAndResetTime()\nsnippet llGetAnimation\n llGetAnimation(${1:key id})\nsnippet llGetAnimationList\n llGetAnimationList(${1:key agent})\nsnippet llGetAnimationOverride\n llGetAnimationOverride(${1:string anim_state})\nsnippet llGetAttached\n llGetAttached()\nsnippet llGetAttachedList\n llGetAttachedList(${1:key id})\nsnippet llGetBoundingBox\n llGetBoundingBox(${1:key object})\nsnippet llGetCameraPos\n llGetCameraPos()\nsnippet llGetCameraRot\n llGetCameraRot()\nsnippet llGetCenterOfMass\n llGetCenterOfMass()\nsnippet llGetClosestNavPoint\n llGetClosestNavPoint(${1:vector point}, ${2:list options})\nsnippet llGetColor\n llGetColor(${1:integer face})\nsnippet llGetCreator\n llGetCreator()\nsnippet llGetDate\n llGetDate()\nsnippet llGetDisplayName\n llGetDisplayName(${1:key id})\nsnippet llGetEnergy\n llGetEnergy()\nsnippet llGetEnv\n llGetEnv(${1:string name})\nsnippet llGetExperienceDetails\n llGetExperienceDetails(${1:key experience_id})\nsnippet llGetExperienceErrorMessage\n llGetExperienceErrorMessage(${1:integer error})\nsnippet llGetForce\n llGetForce()\nsnippet llGetFreeMemory\n llGetFreeMemory()\nsnippet llGetFreeURLs\n llGetFreeURLs()\nsnippet llGetGeometricCenter\n llGetGeometricCenter()\nsnippet llGetGMTclock\n llGetGMTclock()\nsnippet llGetHTTPHeader\n llGetHTTPHeader(${1:key request_id}, ${2:string header})\nsnippet llGetInventoryCreator\n llGetInventoryCreator(${1:string item})\nsnippet llGetInventoryKey\n llGetInventoryKey(${1:string name})\nsnippet llGetInventoryName\n llGetInventoryName(${1:integer type}, ${2:integer number})\nsnippet llGetInventoryNumber\n llGetInventoryNumber(${1:integer type})\nsnippet llGetInventoryPermMask\n llGetInventoryPermMask(${1:string item}, ${2:integer mask})\nsnippet llGetInventoryType\n llGetInventoryType(${1:string name})\nsnippet llGetKey\n llGetKey()\nsnippet llGetLandOwnerAt\n llGetLandOwnerAt(${1:vector pos})\nsnippet llGetLinkKey\n llGetLinkKey(${1:integer link})\nsnippet llGetLinkMedia\n llGetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params})\nsnippet llGetLinkName\n llGetLinkName(${1:integer link})\nsnippet llGetLinkNumber\n llGetLinkNumber()\nsnippet llGetLinkNumberOfSides\n llGetLinkNumberOfSides(${1:integer link})\nsnippet llGetLinkPrimitiveParams\n llGetLinkPrimitiveParams(${1:integer link}, ${2:list params})\nsnippet llGetListEntryType\n llGetListEntryType(${1:list src}, ${2:integer index})\nsnippet llGetListLength\n llGetListLength(${1:list src})\nsnippet llGetLocalPos\n llGetLocalPos()\nsnippet llGetLocalRot\n llGetLocalRot()\nsnippet llGetMass\n llGetMass()\nsnippet llGetMassMKS\n llGetMassMKS()\nsnippet llGetMaxScaleFactor\n llGetMaxScaleFactor()\nsnippet llGetMemoryLimit\n llGetMemoryLimit()\nsnippet llGetMinScaleFactor\n llGetMinScaleFactor()\nsnippet llGetNextEmail\n llGetNextEmail(${1:string address}, ${2:string subject});\n $0\nsnippet llGetNotecardLine\n llGetNotecardLine(${1:string name}, ${2:integer line})\nsnippet llGetNumberOfNotecardLines\n llGetNumberOfNotecardLines(${1:string name})\nsnippet llGetNumberOfPrims\n llGetNumberOfPrims()\nsnippet llGetNumberOfSides\n llGetNumberOfSides()\nsnippet llGetObjectDesc\n llGetObjectDesc()\nsnippet llGetObjectDetails\n llGetObjectDetails(${1:key id}, ${2:list params})\nsnippet llGetObjectMass\n llGetObjectMass(${1:key id})\nsnippet llGetObjectName\n llGetObjectName()\nsnippet llGetObjectPermMask\n llGetObjectPermMask(${1:integer mask})\nsnippet llGetObjectPrimCount\n llGetObjectPrimCount(${1:key prim})\nsnippet llGetOmega\n llGetOmega()\nsnippet llGetOwner\n llGetOwner()\nsnippet llGetOwnerKey\n llGetOwnerKey(${1:key id})\nsnippet llGetParcelDetails\n llGetParcelDetails(${1:vector pos}, ${2:list params})\nsnippet llGetParcelFlags\n llGetParcelFlags(${1:vector pos})\nsnippet llGetParcelMaxPrims\n llGetParcelMaxPrims(${1:vector pos}, ${2:integer sim_wide})\nsnippet llGetParcelMusicURL\n llGetParcelMusicURL()\nsnippet llGetParcelPrimCount\n llGetParcelPrimCount(${1:vector pos}, ${2:integer category}, ${3:integer sim_wide})\nsnippet llGetParcelPrimOwners\n llGetParcelPrimOwners(${1:vector pos})\nsnippet llGetPermissions\n llGetPermissions()\nsnippet llGetPermissionsKey\n llGetPermissionsKey()\nsnippet llGetPhysicsMaterial\n llGetPhysicsMaterial()\nsnippet llGetPos\n llGetPos()\nsnippet llGetPrimitiveParams\n llGetPrimitiveParams(${1:list params})\nsnippet llGetPrimMediaParams\n llGetPrimMediaParams(${1:integer face}, ${2:list params})\nsnippet llGetRegionAgentCount\n llGetRegionAgentCount()\nsnippet llGetRegionCorner\n llGetRegionCorner()\nsnippet llGetRegionFlags\n llGetRegionFlags()\nsnippet llGetRegionFPS\n llGetRegionFPS()\nsnippet llGetRegionName\n llGetRegionName()\nsnippet llGetRegionTimeDilation\n llGetRegionTimeDilation()\nsnippet llGetRootPosition\n llGetRootPosition()\nsnippet llGetRootRotation\n llGetRootRotation()\nsnippet llGetRot\n llGetRot()\nsnippet llGetScale\n llGetScale()\nsnippet llGetScriptName\n llGetScriptName()\nsnippet llGetScriptState\n llGetScriptState(${1:string script})\nsnippet llGetSimStats\n llGetSimStats(${1:integer stat_type})\nsnippet llGetSimulatorHostname\n llGetSimulatorHostname()\nsnippet llGetSPMaxMemory\n llGetSPMaxMemory()\nsnippet llGetStartParameter\n llGetStartParameter()\nsnippet llGetStaticPath\n llGetStaticPath(${1:vector start}, ${2:vector end}, ${3:float radius}, ${4:list params})\nsnippet llGetStatus\n llGetStatus(${1:integer status})\nsnippet llGetSubString\n llGetSubString(${1:string src}, ${2:integer start}, ${3:integer end})\nsnippet llGetSunDirection\n llGetSunDirection()\nsnippet llGetTexture\n llGetTexture(${1:integer face})\nsnippet llGetTextureOffset\n llGetTextureOffset(${1:integer face})\nsnippet llGetTextureRot\n llGetTextureRot(${1:integer face})\nsnippet llGetTextureScale\n llGetTextureScale(${1:integer face})\nsnippet llGetTime\n llGetTime()\nsnippet llGetTimeOfDay\n llGetTimeOfDay()\nsnippet llGetTimestamp\n llGetTimestamp()\nsnippet llGetTorque\n llGetTorque()\nsnippet llGetUnixTime\n llGetUnixTime()\nsnippet llGetUsedMemory\n llGetUsedMemory()\nsnippet llGetUsername\n llGetUsername(${1:key id})\nsnippet llGetVel\n llGetVel()\nsnippet llGetWallclock\n llGetWallclock()\nsnippet llGiveInventory\n llGiveInventory(${1:key destination}, ${2:string inventory});\n $0\nsnippet llGiveInventoryList\n llGiveInventoryList(${1:key target}, ${2:string folder}, ${3:list inventory});\n $0\nsnippet llGiveMoney\n llGiveMoney(${1:key destination}, ${2:integer amount})\nsnippet llGround\n llGround(${1:vector offset})\nsnippet llGroundContour\n llGroundContour(${1:vector offset})\nsnippet llGroundNormal\n llGroundNormal(${1:vector offset})\nsnippet llGroundRepel\n llGroundRepel(${1:float height}, ${2:integer water}, ${3:float tau});\n $0\nsnippet llGroundSlope\n llGroundSlope(${1:vector offset})\nsnippet llHTTPRequest\n llHTTPRequest(${1:string url}, ${2:list parameters}, ${3:string body})\nsnippet llHTTPResponse\n llHTTPResponse(${1:key request_id}, ${2:integer status}, ${3:string body});\n $0\nsnippet llInsertString\n llInsertString(${1:string dst}, ${2:integer pos}, ${3:string src})\nsnippet llInstantMessage\n llInstantMessage(${1:key user}, ${2:string message});\n $0\nsnippet llIntegerToBase64\n llIntegerToBase64(${1:integer number})\nsnippet llJson2List\n llJson2List(${1:string json})\nsnippet llJsonGetValue\n llJsonGetValue(${1:string json}, ${2:list specifiers})\nsnippet llJsonSetValue\n llJsonSetValue(${1:string json}, ${2:list specifiers}, ${3:string newValue})\nsnippet llJsonValueType\n llJsonValueType(${1:string json}, ${2:list specifiers})\nsnippet llKey2Name\n llKey2Name(${1:key id})\nsnippet llKeyCountKeyValue\n llKeyCountKeyValue()\nsnippet llKeysKeyValue\n llKeysKeyValue(${1:integer first}, ${2:integer count})\nsnippet llLinkParticleSystem\n llLinkParticleSystem(${1:integer link}, ${2:list rules});\n $0\nsnippet llLinkSitTarget\n llLinkSitTarget(${1:integer link}, ${2:vector offset}, ${3:rotation rot});\n $0\nsnippet llList2CSV\n llList2CSV(${1:list src})\nsnippet llList2Float\n llList2Float(${1:list src}, ${2:integer index})\nsnippet llList2Integer\n llList2Integer(${1:list src}, ${2:integer index})\nsnippet llList2Json\n llList2Json(${1:string type}, ${2:list values})\nsnippet llList2Key\n llList2Key(${1:list src}, ${2:integer index})\nsnippet llList2List\n llList2List(${1:list src}, ${2:integer start}, ${3:integer end})\nsnippet llList2ListStrided\n llList2ListStrided(${1:list src}, ${2:integer start}, ${3:integer end}, ${4:integer stride})\nsnippet llList2Rot\n llList2Rot(${1:list src}, ${2:integer index})\nsnippet llList2String\n llList2String(${1:list src}, ${2:integer index})\nsnippet llList2Vector\n llList2Vector(${1:list src}, ${2:integer index})\nsnippet llListen\n llListen(${1:integer channel}, ${2:string name}, ${3:key id}, ${4:string msg})\nsnippet llListenControl\n llListenControl(${1:integer handle}, ${2:integer active});\n $0\nsnippet llListenRemove\n llListenRemove(${1:integer handle});\n $0\nsnippet llListFindList\n llListFindList(${1:list src}, ${2:list test})\nsnippet llListInsertList\n llListInsertList(${1:list dest}, ${2:list src}, ${3:integer start})\nsnippet llListRandomize\n llListRandomize(${1:list src}, ${2:integer stride})\nsnippet llListReplaceList\n llListReplaceList(${1:list dest}, ${2:list src}, ${3:integer start}, ${4:integer end})\nsnippet llListSort\n llListSort(${1:list src}, ${2:integer stride}, ${3:integer ascending})\nsnippet llListStatistics\n llListStatistics(${1:integer operation}, ${2:list src})\nsnippet llLoadURL\n llLoadURL(${1:key agent}, ${2:string message}, ${3:string url});\n $0\nsnippet llLog\n llLog(${1:float val})\nsnippet llLog10\n llLog10(${1:float val})\nsnippet llLookAt\n llLookAt(${1:vector target}, ${2:float strength}, ${3:float damping});\n $0\nsnippet llLoopSound\n llLoopSound(${1:string sound}, ${2:float volume});\n $0\nsnippet llLoopSoundMaster\n llLoopSoundMaster(${1:string sound}, ${2:float volume});\n $0\nsnippet llLoopSoundSlave\n llLoopSoundSlave(${1:string sound}, ${2:float volume});\n $0\nsnippet llManageEstateAccess\n llManageEstateAccess(${1:integer action}, ${2:key agent})\nsnippet llMapDestination\n llMapDestination(${1:string simname}, ${2:vector pos}, ${3:vector look_at});\n $0\nsnippet llMD5String\n llMD5String(${1:string src}, ${2:integer nonce})\nsnippet llMessageLinked\n llMessageLinked(${1:integer link}, ${2:integer num}, ${3:string str}, ${4:key id});\n $0\nsnippet llMinEventDelay\n llMinEventDelay(${1:float delay});\n $0\nsnippet llModifyLand\n llModifyLand(${1:integer action}, ${2:integer brush});\n $0\nsnippet llModPow\n llModPow(${1:integer a}, ${2:integer b}, ${3:integer c})\nsnippet llMoveToTarget\n llMoveToTarget(${1:vector target}, ${2:float tau});\n $0\nsnippet llNavigateTo\n llNavigateTo(${1:vector pos}, ${2:list options});\n $0\nsnippet llOffsetTexture\n llOffsetTexture(${1:float u}, ${2:float v}, ${3:integer face});\n $0\nsnippet llOpenRemoteDataChannel\n llOpenRemoteDataChannel();\n $0\nsnippet llOverMyLand\n llOverMyLand(${1:key id})\nsnippet llOwnerSay\n llOwnerSay(${1:string msg});\n $0\nsnippet llParcelMediaCommandList\n llParcelMediaCommandList(${1:list commandList});\n $0\nsnippet llParcelMediaQuery\n llParcelMediaQuery(${1:list query})\nsnippet llParseString2List\n llParseString2List(${1:string src}, ${2:list separators}, ${3:list spacers})\nsnippet llParseStringKeepNulls\n llParseStringKeepNulls(${1:string src}, ${2:list separators}, ${3:list spacers})\nsnippet llParticleSystem\n llParticleSystem(${1:list rules});\n $0\nsnippet llPassCollisions\n llPassCollisions(${1:integer pass});\n $0\nsnippet llPassTouches\n llPassTouches(${1:integer pass});\n $0\nsnippet llPatrolPoints\n llPatrolPoints(${1:list patrolPoints}, ${2:list options});\n $0\nsnippet llPlaySound\n llPlaySound(${1:string sound}, ${2:float volume});\n $0\nsnippet llPlaySoundSlave\n llPlaySoundSlave(${1:string sound}, ${2:float volume});\n $0\nsnippet llPow\n llPow(${1:float base}, ${2:float exponent})\nsnippet llPreloadSound\n llPreloadSound(${1:string sound});\n $0\nsnippet llPursue\n llPursue(${1:key target}, ${2:list options});\n $0\nsnippet llPushObject\n llPushObject(${1:key target}, ${2:vector impulse}, ${3:vector ang_impulse}, ${4:integer local});\n $0\nsnippet llReadKeyValue\n llReadKeyValue(${1:string k})\nsnippet llRegionSay\n llRegionSay(${1:integer channel}, ${2:string msg});\n $0\nsnippet llRegionSayTo\n llRegionSayTo(${1:key target}, ${2:integer channel}, ${3:string msg});\n $0\nsnippet llReleaseControls\n llReleaseControls();\n $0\nsnippet llReleaseURL\n llReleaseURL(${1:string url});\n $0\nsnippet llRemoteDataReply\n llRemoteDataReply(${1:key channel}, ${2:key message_id}, ${3:string sdata}, ${4:integer idata});\n $0\nsnippet llRemoteLoadScriptPin\n llRemoteLoadScriptPin(${1:key target}, ${2:string name}, ${3:integer pin}, ${4:integer running}, ${5:integer start_param});\n $0\nsnippet llRemoveFromLandBanList\n llRemoveFromLandBanList(${1:key agent});\n $0\nsnippet llRemoveFromLandPassList\n llRemoveFromLandPassList(${1:key agent});\n $0\nsnippet llRemoveInventory\n llRemoveInventory(${1:string item});\n $0\nsnippet llRemoveVehicleFlags\n llRemoveVehicleFlags(${1:integer flags});\n $0\nsnippet llRequestAgentData\n llRequestAgentData(${1:key id}, ${2:integer data})\nsnippet llRequestDisplayName\n llRequestDisplayName(${1:key id})\nsnippet llRequestExperiencePermissions\n llRequestExperiencePermissions(${1:key agent}, ${2:string name})\nsnippet llRequestInventoryData\n llRequestInventoryData(${1:string name})\nsnippet llRequestPermissions\n llRequestPermissions(${1:key agent}, ${2:integer permissions})\nsnippet llRequestSecureURL\n llRequestSecureURL()\nsnippet llRequestSimulatorData\n llRequestSimulatorData(${1:string region}, ${2:integer data})\nsnippet llRequestURL\n llRequestURL()\nsnippet llRequestUsername\n llRequestUsername(${1:key id})\nsnippet llResetAnimationOverride\n llResetAnimationOverride(${1:string anim_state});\n $0\nsnippet llResetLandBanList\n llResetLandBanList();\n $0\nsnippet llResetLandPassList\n llResetLandPassList();\n $0\nsnippet llResetOtherScript\n llResetOtherScript(${1:string name});\n $0\nsnippet llResetScript\n llResetScript();\n $0\nsnippet llResetTime\n llResetTime();\n $0\nsnippet llReturnObjectsByID\n llReturnObjectsByID(${1:list objects})\nsnippet llReturnObjectsByOwner\n llReturnObjectsByOwner(${1:key owner}, ${2:integer scope})\nsnippet llRezAtRoot\n llRezAtRoot(${1:string inventory}, ${2:vector position}, ${3:vector velocity}, ${4:rotation rot}, ${5:integer param});\n $0\nsnippet llRezObject\n llRezObject(${1:string inventory}, ${2:vector pos}, ${3:vector vel}, ${4:rotation rot}, ${5:integer param});\n $0\nsnippet llRot2Angle\n llRot2Angle(${1:rotation rot})\nsnippet llRot2Axis\n llRot2Axis(${1:rotation rot})\nsnippet llRot2Euler\n llRot2Euler(${1:rotation quat})\nsnippet llRot2Fwd\n llRot2Fwd(${1:rotation q})\nsnippet llRot2Left\n llRot2Left(${1:rotation q})\nsnippet llRot2Up\n llRot2Up(${1:rotation q})\nsnippet llRotateTexture\n llRotateTexture(${1:float angle}, ${2:integer face});\n $0\nsnippet llRotBetween\n llRotBetween(${1:vector start}, ${2:vector end})\nsnippet llRotLookAt\n llRotLookAt(${1:rotation target_direction}, ${2:float strength}, ${3:float damping});\n $0\nsnippet llRotTarget\n llRotTarget(${1:rotation rot}, ${2:float error})\nsnippet llRotTargetRemove\n llRotTargetRemove(${1:integer handle});\n $0\nsnippet llRound\n llRound(${1:float val})\nsnippet llSameGroup\n llSameGroup(${1:key group})\nsnippet llSay\n llSay(${1:integer channel}, ${2:string msg});\n $0\nsnippet llScaleByFactor\n llScaleByFactor(${1:float scaling_factor})\nsnippet llScaleTexture\n llScaleTexture(${1:float u}, ${2:float v}, ${3:integer face});\n $0\nsnippet llScriptDanger\n llScriptDanger(${1:vector pos})\nsnippet llScriptProfiler\n llScriptProfiler(${1:integer flags});\n $0\nsnippet llSendRemoteData\n llSendRemoteData(${1:key channel}, ${2:string dest}, ${3:integer idata}, ${4:string sdata})\nsnippet llSensor\n llSensor(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc});\n $0\nsnippet llSensorRepeat\n llSensorRepeat(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc}, ${6:float rate});\n $0\nsnippet llSetAlpha\n llSetAlpha(${1:float alpha}, ${2:integer face});\n $0\nsnippet llSetAngularVelocity\n llSetAngularVelocity(${1:vector force}, ${2:integer local});\n $0\nsnippet llSetAnimationOverride\n llSetAnimationOverride(${1:string anim_state}, ${2:string anim})\nsnippet llSetBuoyancy\n llSetBuoyancy(${1:float buoyancy});\n $0\nsnippet llSetCameraAtOffset\n llSetCameraAtOffset(${1:vector offset});\n $0\nsnippet llSetCameraEyeOffset\n llSetCameraEyeOffset(${1:vector offset});\n $0\nsnippet llSetCameraParams\n llSetCameraParams(${1:list rules});\n $0\nsnippet llSetClickAction\n llSetClickAction(${1:integer action});\n $0\nsnippet llSetColor\n llSetColor(${1:vector color}, ${2:integer face});\n $0\nsnippet llSetContentType\n llSetContentType(${1:key request_id}, ${2:integer content_type});\n $0\nsnippet llSetDamage\n llSetDamage(${1:float damage});\n $0\nsnippet llSetForce\n llSetForce(${1:vector force}, ${2:integer local});\n $0\nsnippet llSetForceAndTorque\n llSetForceAndTorque(${1:vector force}, ${2:vector torque}, ${3:integer local});\n $0\nsnippet llSetHoverHeight\n llSetHoverHeight(${1:float height}, ${2:integer water}, ${3:float tau});\n $0\nsnippet llSetKeyframedMotion\n llSetKeyframedMotion(${1:list keyframes}, ${2:list options});\n $0\nsnippet llSetLinkAlpha\n llSetLinkAlpha(${1:integer link}, ${2:float alpha}, ${3:integer face});\n $0\nsnippet llSetLinkCamera\n llSetLinkCamera(${1:integer link}, ${2:vector eye}, ${3:vector at});\n $0\nsnippet llSetLinkColor\n llSetLinkColor(${1:integer link}, ${2:vector color}, ${3:integer face});\n $0\nsnippet llSetLinkMedia\n llSetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params});\n $0\nsnippet llSetLinkPrimitiveParams\n llSetLinkPrimitiveParams(${1:integer link}, ${2:list rules});\n $0\nsnippet llSetLinkPrimitiveParamsFast\n llSetLinkPrimitiveParamsFast(${1:integer link}, ${2:list rules});\n $0\nsnippet llSetLinkTexture\n llSetLinkTexture(${1:integer link}, ${2:string texture}, ${3:integer face});\n $0\nsnippet llSetLinkTextureAnim\n llSetLinkTextureAnim(${1:integer link}, ${2:integer mode}, ${3:integer face}, ${4:integer sizex}, ${5:integer sizey}, ${6:float start}, ${7:float length}, ${8:float rate});\n $0\nsnippet llSetLocalRot\n llSetLocalRot(${1:rotation rot});\n $0\nsnippet llSetMemoryLimit\n llSetMemoryLimit(${1:integer limit})\nsnippet llSetObjectDesc\n llSetObjectDesc(${1:string description});\n $0\nsnippet llSetObjectName\n llSetObjectName(${1:string name});\n $0\nsnippet llSetParcelMusicURL\n llSetParcelMusicURL(${1:string url});\n $0\nsnippet llSetPayPrice\n llSetPayPrice(${1:integer price}, [${2:integer price_button_a}, ${3:integer price_button_b}, ${4:integer price_button_c}, ${5:integer price_button_d}]);\n $0\nsnippet llSetPhysicsMaterial\n llSetPhysicsMaterial(${1:integer mask}, ${2:float gravity_multiplier}, ${3:float restitution}, ${4:float friction}, ${5:float density});\n $0\nsnippet llSetPos\n llSetPos(${1:vector pos});\n $0\nsnippet llSetPrimitiveParams\n llSetPrimitiveParams(${1:list rules});\n $0\nsnippet llSetPrimMediaParams\n llSetPrimMediaParams(${1:integer face}, ${2:list params});\n $0\nsnippet llSetRegionPos\n llSetRegionPos(${1:vector position})\nsnippet llSetRemoteScriptAccessPin\n llSetRemoteScriptAccessPin(${1:integer pin});\n $0\nsnippet llSetRot\n llSetRot(${1:rotation rot});\n $0\nsnippet llSetScale\n llSetScale(${1:vector size});\n $0\nsnippet llSetScriptState\n llSetScriptState(${1:string name}, ${2:integer run});\n $0\nsnippet llSetSitText\n llSetSitText(${1:string text});\n $0\nsnippet llSetSoundQueueing\n llSetSoundQueueing(${1:integer queue});\n $0\nsnippet llSetSoundRadius\n llSetSoundRadius(${1:float radius});\n $0\nsnippet llSetStatus\n llSetStatus(${1:integer status}, ${2:integer value});\n $0\nsnippet llSetText\n llSetText(${1:string text}, ${2:vector color}, ${3:float alpha});\n $0\nsnippet llSetTexture\n llSetTexture(${1:string texture}, ${2:integer face});\n $0\nsnippet llSetTextureAnim\n llSetTextureAnim(${1:integer mode}, ${2:integer face}, ${3:integer sizex}, ${4:integer sizey}, ${5:float start}, ${6:float length}, ${7:float rate});\n $0\nsnippet llSetTimerEvent\n llSetTimerEvent(${1:float sec});\n $0\nsnippet llSetTorque\n llSetTorque(${1:vector torque}, ${2:integer local});\n $0\nsnippet llSetTouchText\n llSetTouchText(${1:string text});\n $0\nsnippet llSetVehicleFlags\n llSetVehicleFlags(${1:integer flags});\n $0\nsnippet llSetVehicleFloatParam\n llSetVehicleFloatParam(${1:integer param}, ${2:float value});\n $0\nsnippet llSetVehicleRotationParam\n llSetVehicleRotationParam(${1:integer param}, ${2:rotation rot});\n $0\nsnippet llSetVehicleType\n llSetVehicleType(${1:integer type});\n $0\nsnippet llSetVehicleVectorParam\n llSetVehicleVectorParam(${1:integer param}, ${2:vector vec});\n $0\nsnippet llSetVelocity\n llSetVelocity(${1:vector force}, ${2:integer local});\n $0\nsnippet llSHA1String\n llSHA1String(${1:string src})\nsnippet llShout\n llShout(${1:integer channel}, ${2:string msg});\n $0\nsnippet llSin\n llSin(${1:float theta})\nsnippet llSitTarget\n llSitTarget(${1:vector offset}, ${2:rotation rot});\n $0\nsnippet llSleep\n llSleep(${1:float sec});\n $0\nsnippet llSqrt\n llSqrt(${1:float val})\nsnippet llStartAnimation\n llStartAnimation(${1:string anim});\n $0\nsnippet llStopAnimation\n llStopAnimation(${1:string anim});\n $0\nsnippet llStopHover\n llStopHover();\n $0\nsnippet llStopLookAt\n llStopLookAt();\n $0\nsnippet llStopMoveToTarget\n llStopMoveToTarget();\n $0\nsnippet llStopSound\n llStopSound();\n $0\nsnippet llStringLength\n llStringLength(${1:string str})\nsnippet llStringToBase64\n llStringToBase64(${1:string str})\nsnippet llStringTrim\n llStringTrim(${1:string src}, ${2:integer type})\nsnippet llSubStringIndex\n llSubStringIndex(${1:string source}, ${2:string pattern})\nsnippet llTakeControls\n llTakeControls(${1:integer controls}, ${2:integer accept}, ${3:integer pass_on});\n $0\nsnippet llTan\n llTan(${1:float theta})\nsnippet llTarget\n llTarget(${1:vector position}, ${2:float range})\nsnippet llTargetOmega\n llTargetOmega(${1:vector axis}, ${2:float spinrate}, ${3:float gain});\n $0\nsnippet llTargetRemove\n llTargetRemove(${1:integer handle});\n $0\nsnippet llTeleportAgent\n llTeleportAgent(${1:key agent}, ${2:string landmark}, ${3:vector position}, ${4:vector look_at});\n $0\nsnippet llTeleportAgentGlobalCoords\n llTeleportAgentGlobalCoords(${1:key agent}, ${2:vector global_coordinates}, ${3:vector region_coordinates}, ${4:vector look_at});\n $0\nsnippet llTeleportAgentHome\n llTeleportAgentHome(${1:key agent});\n $0\nsnippet llTextBox\n llTextBox(${1:key agent}, ${2:string message}, ${3:integer channel});\n $0\nsnippet llToLower\n llToLower(${1:string src})\nsnippet llToUpper\n llToUpper(${1:string src})\nsnippet llTransferLindenDollars\n llTransferLindenDollars(${1:key destination}, ${2:integer amount})\nsnippet llTriggerSound\n llTriggerSound(${1:string sound}, ${2:float volume});\n $0\nsnippet llTriggerSoundLimited\n llTriggerSoundLimited(${1:string sound}, ${2:float volume}, ${3:vector top_north_east}, ${4:vector bottom_south_west});\n $0\nsnippet llUnescapeURL\n llUnescapeURL(${1:string url})\nsnippet llUnSit\n llUnSit(${1:key id});\n $0\nsnippet llUpdateCharacter\n llUpdateCharacter(${1:list options})\nsnippet llUpdateKeyValue\n llUpdateKeyValue(${1:string k}, ${2:string v}, ${3:integer checked}, ${4:string ov})\nsnippet llVecDist\n llVecDist(${1:vector vec_a}, ${2:vector vec_b})\nsnippet llVecMag\n llVecMag(${1:vector vec})\nsnippet llVecNorm\n llVecNorm(${1:vector vec})\nsnippet llVolumeDetect\n llVolumeDetect(${1:integer detect});\n $0\nsnippet llWanderWithin\n llWanderWithin(${1:vector origin}, ${2:vector dist}, ${3:list options});\n $0\nsnippet llWater\n llWater(${1:vector offset});\n $0\nsnippet llWhisper\n llWhisper(${1:integer channel}, ${2:string msg});\n $0\nsnippet llWind\n llWind(${1:vector offset});\n $0\nsnippet llXorBase64\n llXorBase64(${1:string str1}, ${2:string str2})\nsnippet money\n money(${1:key id}, ${2:integer amount})\n {\n $0\n }\nsnippet object_rez\n object_rez(${1:key id})\n {\n $0\n }\nsnippet on_rez\n on_rez(${1:integer start_param})\n {\n $0\n }\nsnippet path_update\n path_update(${1:integer type}, ${2:list reserved})\n {\n $0\n }\nsnippet remote_data\n remote_data(${1:integer event_type}, ${2:key channel}, ${3:key message_id}, ${4:string sender}, ${5:integer idata}, ${6:string sdata})\n {\n $0\n }\nsnippet run_time_permissions\n run_time_permissions(${1:integer perm})\n {\n $0\n }\nsnippet sensor\n sensor(${1:integer index})\n {\n $0\n }\nsnippet state\n state ${1:name}\nsnippet touch\n touch(${1:integer index})\n {\n $0\n }\nsnippet touch_end\n touch_end(${1:integer index})\n {\n $0\n }\nsnippet touch_start\n touch_start(${1:integer index})\n {\n $0\n }\nsnippet transaction_result\n transaction_result(${1:key id}, ${2:integer success}, ${3:string data})\n {\n $0\n }\nsnippet while\n while (${1:condition})\n {\n $0\n }\n",t.scope="lsl"}) \ No newline at end of file
diff --git a/library/ace/snippets/lua.js b/library/ace/snippets/lua.js
new file mode 100644
index 000000000..091d96a48
--- /dev/null
+++ b/library/ace/snippets/lua.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/lua",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet #!\n #!/usr/bin/env lua\n $1\nsnippet local\n local ${1:x} = ${2:1}\nsnippet fun\n function ${1:fname}(${2:...})\n ${3:-- body}\n end\nsnippet for\n for ${1:i}=${2:1},${3:10} do\n ${4:print(i)}\n end\nsnippet forp\n for ${1:i},${2:v} in pairs(${3:table_name}) do\n ${4:-- body}\n end\nsnippet fori\n for ${1:i},${2:v} in ipairs(${3:table_name}) do\n ${4:-- body}\n end\n",t.scope="lua"}) \ No newline at end of file
diff --git a/library/ace/snippets/luapage.js b/library/ace/snippets/luapage.js
new file mode 100644
index 000000000..b78dcf942
--- /dev/null
+++ b/library/ace/snippets/luapage.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/luapage",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="luapage"}) \ No newline at end of file
diff --git a/library/ace/snippets/lucene.js b/library/ace/snippets/lucene.js
new file mode 100644
index 000000000..232999adb
--- /dev/null
+++ b/library/ace/snippets/lucene.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/lucene",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="lucene"}) \ No newline at end of file
diff --git a/library/ace/snippets/makefile.js b/library/ace/snippets/makefile.js
new file mode 100644
index 000000000..c9870856c
--- /dev/null
+++ b/library/ace/snippets/makefile.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/makefile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet ifeq\n ifeq (${1:cond0},${2:cond1})\n ${3:code}\n endif\n",t.scope="makefile"}) \ No newline at end of file
diff --git a/library/ace/snippets/markdown.js b/library/ace/snippets/markdown.js
new file mode 100644
index 000000000..0a4a8f8bd
--- /dev/null
+++ b/library/ace/snippets/markdown.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/markdown",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Markdown\n\n# Includes octopress (http://octopress.org/) snippets\n\nsnippet [\n [${1:text}](http://${2:address} "${3:title}")\nsnippet [*\n [${1:link}](${2:`@*`} "${3:title}")${4}\n\nsnippet [:\n [${1:id}]: http://${2:url} "${3:title}"\nsnippet [:*\n [${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet ![\n ![${1:alttext}](${2:/images/image.jpg} "${3:title}")\nsnippet ![*\n ![${1:alt}](${2:`@*`} "${3:title}")${4}\n\nsnippet ![:\n ![${1:id}]: ${2:url} "${3:title}"\nsnippet ![:*\n ![${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet ===\nregex /^/=+/=*//\n ${PREV_LINE/./=/g}\n \n ${0}\nsnippet ---\nregex /^/-+/-*//\n ${PREV_LINE/./-/g}\n \n ${0}\nsnippet blockquote\n {% blockquote %}\n ${1:quote}\n {% endblockquote %}\n\nsnippet blockquote-author\n {% blockquote ${1:author}, ${2:title} %}\n ${3:quote}\n {% endblockquote %}\n\nsnippet blockquote-link\n {% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n ${4:quote}\n {% endblockquote %}\n\nsnippet bt-codeblock-short\n ```\n ${1:code_snippet}\n ```\n\nsnippet bt-codeblock-full\n ``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n ${5:code_snippet}\n ```\n\nsnippet codeblock-short\n {% codeblock %}\n ${1:code_snippet}\n {% endcodeblock %}\n\nsnippet codeblock-full\n {% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n ${5:code_snippet}\n {% endcodeblock %}\n\nsnippet gist-full\n {% gist ${1:gist_id} ${2:filename} %}\n\nsnippet gist-short\n {% gist ${1:gist_id} %}\n\nsnippet img\n {% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\nsnippet youtube\n {% youtube ${1:video_id} %}\n\n# The quote should appear only once in the text. It is inherently part of it.\n# See http://octopress.org/docs/plugins/pullquote/ for more info.\n\nsnippet pullquote\n {% pullquote %}\n ${1:text} {" ${2:quote} "} ${3:text}\n {% endpullquote %}\n',t.scope="markdown"}) \ No newline at end of file
diff --git a/library/ace/snippets/mask.js b/library/ace/snippets/mask.js
new file mode 100644
index 000000000..d615148f8
--- /dev/null
+++ b/library/ace/snippets/mask.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mask",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mask"}) \ No newline at end of file
diff --git a/library/ace/snippets/matlab.js b/library/ace/snippets/matlab.js
new file mode 100644
index 000000000..e2ee0a767
--- /dev/null
+++ b/library/ace/snippets/matlab.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/matlab",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="matlab"}) \ No newline at end of file
diff --git a/library/ace/snippets/maze.js b/library/ace/snippets/maze.js
new file mode 100644
index 000000000..c8b62044b
--- /dev/null
+++ b/library/ace/snippets/maze.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/maze",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet >\ndescription assignment\nscope maze\n -> ${1}= ${2}\n\nsnippet >\ndescription if\nscope maze\n -> IF ${2:**} THEN %${3:L} ELSE %${4:R}\n",t.scope="maze"}) \ No newline at end of file
diff --git a/library/ace/snippets/mel.js b/library/ace/snippets/mel.js
new file mode 100644
index 000000000..1e1c4743b
--- /dev/null
+++ b/library/ace/snippets/mel.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mel",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mel"}) \ No newline at end of file
diff --git a/library/ace/snippets/mips_assembler.js b/library/ace/snippets/mips_assembler.js
new file mode 100644
index 000000000..6af8f0291
--- /dev/null
+++ b/library/ace/snippets/mips_assembler.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mips_assembler",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mips_assembler"}) \ No newline at end of file
diff --git a/library/ace/snippets/mipsassembler.js b/library/ace/snippets/mipsassembler.js
new file mode 100644
index 000000000..015d7f8dc
--- /dev/null
+++ b/library/ace/snippets/mipsassembler.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mipsassembler",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/mushcode.js b/library/ace/snippets/mushcode.js
new file mode 100644
index 000000000..25b7e76a1
--- /dev/null
+++ b/library/ace/snippets/mushcode.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mushcode",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mushcode"}) \ No newline at end of file
diff --git a/library/ace/snippets/mysql.js b/library/ace/snippets/mysql.js
new file mode 100644
index 000000000..71b06d9cb
--- /dev/null
+++ b/library/ace/snippets/mysql.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/mysql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mysql"}) \ No newline at end of file
diff --git a/library/ace/snippets/nix.js b/library/ace/snippets/nix.js
new file mode 100644
index 000000000..c44b96735
--- /dev/null
+++ b/library/ace/snippets/nix.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/nix",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="nix"}) \ No newline at end of file
diff --git a/library/ace/snippets/nsis.js b/library/ace/snippets/nsis.js
new file mode 100644
index 000000000..1b0bf3968
--- /dev/null
+++ b/library/ace/snippets/nsis.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/nsis",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/objectivec.js b/library/ace/snippets/objectivec.js
new file mode 100644
index 000000000..aa49339f0
--- /dev/null
+++ b/library/ace/snippets/objectivec.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/objectivec",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="objectivec"}) \ No newline at end of file
diff --git a/library/ace/snippets/ocaml.js b/library/ace/snippets/ocaml.js
new file mode 100644
index 000000000..c9a46aa90
--- /dev/null
+++ b/library/ace/snippets/ocaml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ocaml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ocaml"}) \ No newline at end of file
diff --git a/library/ace/snippets/pascal.js b/library/ace/snippets/pascal.js
new file mode 100644
index 000000000..176f7d95e
--- /dev/null
+++ b/library/ace/snippets/pascal.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/pascal",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="pascal"}) \ No newline at end of file
diff --git a/library/ace/snippets/perl.js b/library/ace/snippets/perl.js
new file mode 100644
index 000000000..0668b47c1
--- /dev/null
+++ b/library/ace/snippets/perl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/perl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# #!/usr/bin/perl\nsnippet #!\n #!/usr/bin/env perl\n\n# Hash Pointer\nsnippet .\n =>\n# Function\nsnippet sub\n sub ${1:function_name} {\n ${2:#body ...}\n }\n# Conditional\nsnippet if\n if (${1}) {\n ${2:# body...}\n }\n# Conditional if..else\nsnippet ife\n if (${1}) {\n ${2:# body...}\n }\n else {\n ${3:# else...}\n }\n# Conditional if..elsif..else\nsnippet ifee\n if (${1}) {\n ${2:# body...}\n }\n elsif (${3}) {\n ${4:# elsif...}\n }\n else {\n ${5:# else...}\n }\n# Conditional One-line\nsnippet xif\n ${1:expression} if ${2:condition};${3}\n# Unless conditional\nsnippet unless\n unless (${1}) {\n ${2:# body...}\n }\n# Unless conditional One-line\nsnippet xunless\n ${1:expression} unless ${2:condition};${3}\n# Try/Except\nsnippet eval\n local $@;\n eval {\n ${1:# do something risky...}\n };\n if (my $e = $@) {\n ${2:# handle failure...}\n }\n# While Loop\nsnippet wh\n while (${1}) {\n ${2:# body...}\n }\n# While Loop One-line\nsnippet xwh\n ${1:expression} while ${2:condition};${3}\n# C-style For Loop\nsnippet cfor\n for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {\n ${4:# body...}\n }\n# For loop one-line\nsnippet xfor\n ${1:expression} for @${2:array};${3}\n# Foreach Loop\nsnippet for\n foreach my $${1:x} (@${2:array}) {\n ${3:# body...}\n }\n# Foreach Loop One-line\nsnippet fore\n ${1:expression} foreach @${2:array};${3}\n# Package\nsnippet package\n package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`};\n\n ${2}\n\n 1;\n\n __END__\n# Package syntax perl >= 5.14\nsnippet packagev514\n package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`} ${2:0.99};\n\n ${3}\n\n 1;\n\n __END__\n#moose\nsnippet moose\n use Moose;\n use namespace::autoclean;\n ${1:#}BEGIN {extends '${2:ParentClass}'};\n\n ${3}\n# parent\nsnippet parent\n use parent qw(${1:Parent Class});\n# Read File\nsnippet slurp\n my $${1:var} = do { local $/; open my $file, '<', \"${2:file}\"; <$file> };\n ${3}\n# strict warnings\nsnippet strwar\n use strict;\n use warnings;\n# older versioning with perlcritic bypass\nsnippet vers\n ## no critic\n our $VERSION = '${1:version}';\n eval $VERSION;\n ## use critic\n# new 'switch' like feature\nsnippet switch\n use feature 'switch';\n\n# Anonymous subroutine\nsnippet asub\n sub {\n ${1:# body }\n }\n\n\n\n# Begin block\nsnippet begin\n BEGIN {\n ${1:# begin body}\n }\n\n# call package function with some parameter\nsnippet pkgmv\n __PACKAGE__->${1:package_method}(${2:var})\n\n# call package function without a parameter\nsnippet pkgm\n __PACKAGE__->${1:package_method}()\n\n# call package \"get_\" function without a parameter\nsnippet pkget\n __PACKAGE__->get_${1:package_method}()\n\n# call package function with a parameter\nsnippet pkgetv\n __PACKAGE__->get_${1:package_method}(${2:var})\n\n# complex regex\nsnippet qrx\n qr/\n ${1:regex}\n /xms\n\n#simpler regex\nsnippet qr/\n qr/${1:regex}/x\n\n#given\nsnippet given\n given ($${1:var}) {\n ${2:# cases}\n ${3:# default}\n }\n\n# switch-like case\nsnippet when\n when (${1:case}) {\n ${2:# body}\n }\n\n# hash slice\nsnippet hslice\n @{ ${1:hash} }{ ${2:array} }\n\n\n# map\nsnippet map\n map { ${2: body } } ${1: @array } ;\n\n\n\n# Pod stub\nsnippet ppod\n =head1 NAME\n\n ${1:ClassName} - ${2:ShortDesc}\n\n =head1 SYNOPSIS\n\n use $1;\n\n ${3:# synopsis...}\n\n =head1 DESCRIPTION\n\n ${4:# longer description...}\n\n\n =head1 INTERFACE\n\n\n =head1 DEPENDENCIES\n\n\n =head1 SEE ALSO\n\n\n# Heading for a subroutine stub\nsnippet psub\n =head2 ${1:MethodName}\n\n ${2:Summary....}\n\n# Heading for inline subroutine pod\nsnippet psubi\n =head2 ${1:MethodName}\n\n ${2:Summary...}\n\n\n =cut\n# inline documented subroutine\nsnippet subpod\n =head2 $1\n\n Summary of $1\n\n =cut\n\n sub ${1:subroutine_name} {\n ${2:# body...}\n }\n# Subroutine signature\nsnippet parg\n =over 2\n\n =item\n Arguments\n\n\n =over 3\n\n =item\n C<${1:DataStructure}>\n\n ${2:Sample}\n\n\n =back\n\n\n =item\n Return\n\n =over 3\n\n\n =item\n C<${3:...return data}>\n\n\n =back\n\n\n =back\n\n\n\n# Moose has\nsnippet has\n has ${1:attribute} => (\n is => '${2:ro|rw}',\n isa => '${3:Str|Int|HashRef|ArrayRef|etc}',\n default => sub {\n ${4:defaultvalue}\n },\n ${5:# other attributes}\n );\n\n\n# override\nsnippet override\n override ${1:attribute} => sub {\n ${2:# my $self = shift;};\n ${3:# my ($self, $args) = @_;};\n };\n\n\n# use test classes\nsnippet tuse\n use Test::More;\n use Test::Deep; # (); # uncomment to stop prototype errors\n use Test::Exception;\n\n# local test lib\nsnippet tlib\n use lib qw{ ./t/lib };\n\n#test methods\nsnippet tmeths\n $ENV{TEST_METHOD} = '${1:regex}';\n\n# runtestclass\nsnippet trunner\n use ${1:test_class};\n $1->runtests();\n\n# Test::Class-style test\nsnippet tsub\n sub t${1:number}_${2:test_case} :Test(${3:num_of_tests}) {\n my $self = shift;\n ${4:# body}\n\n }\n\n# Test::Routine-style test\nsnippet trsub\n test ${1:test_name} => { description => '${2:Description of test.}'} => sub {\n my ($self) = @_;\n ${3:# test code}\n };\n\n#prep test method\nsnippet tprep\n sub prep${1:number}_${2:test_case} :Test(startup) {\n my $self = shift;\n ${4:# body}\n }\n\n# cause failures to print stack trace\nsnippet debug_trace\n use Carp; # 'verbose';\n # cloak \"die\"\n # warn \"warning\"\n $SIG{'__DIE__'} = sub {\n require Carp; Carp::confess\n };\n\n",t.scope="perl"}) \ No newline at end of file
diff --git a/library/ace/snippets/pgsql.js b/library/ace/snippets/pgsql.js
new file mode 100644
index 000000000..260ff292d
--- /dev/null
+++ b/library/ace/snippets/pgsql.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/pgsql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="pgsql"}) \ No newline at end of file
diff --git a/library/ace/snippets/php.js b/library/ace/snippets/php.js
new file mode 100644
index 000000000..5350bb6e8
--- /dev/null
+++ b/library/ace/snippets/php.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/php",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet <?\n <?php\n\n ${1}\nsnippet ec\n echo ${1};\nsnippet <?e\n <?php echo ${1} ?>\n# this one is for php5.4\nsnippet <?=\n <?=${1}?>\nsnippet ns\n namespace ${1:Foo\\Bar\\Baz};\n ${2}\nsnippet use\n use ${1:Foo\\Bar\\Baz};\n ${2}\nsnippet c\n ${1:abstract }class ${2:$FILENAME}\n {\n ${3}\n }\nsnippet i\n interface ${1:$FILENAME}\n {\n ${2}\n }\nsnippet t.\n $this->${1}\nsnippet f\n function ${1:foo}(${2:array }${3:$bar})\n {\n ${4}\n }\n# method\nsnippet m\n ${1:abstract }${2:protected}${3: static} function ${4:foo}(${5:array }${6:$bar})\n {\n ${7}\n }\n# setter method\nsnippet sm \n /**\n * Sets the value of ${1:foo}\n *\n * @param ${2:$1} $$1 ${3:description}\n *\n * @return ${4:$FILENAME}\n */\n ${5:public} function set${6:$2}(${7:$2 }$$1)\n {\n $this->${8:$1} = $$1;\n return $this;\n }${9}\n# getter method\nsnippet gm\n /**\n * Gets the value of ${1:foo}\n *\n * @return ${2:$1}\n */\n ${3:public} function get${4:$2}()\n {\n return $this->${5:$1};\n }${6}\n#setter\nsnippet $s\n ${1:$foo}->set${2:Bar}(${3});\n#getter\nsnippet $g\n ${1:$foo}->get${2:Bar}();\n\n# Tertiary conditional\nsnippet =?:\n $${1:foo} = ${2:true} ? ${3:a} : ${4};\nsnippet ?:\n ${1:true} ? ${2:a} : ${3}\n\nsnippet C\n $_COOKIE['${1:variable}']${2}\nsnippet E\n $_ENV['${1:variable}']${2}\nsnippet F\n $_FILES['${1:variable}']${2}\nsnippet G\n $_GET['${1:variable}']${2}\nsnippet P\n $_POST['${1:variable}']${2}\nsnippet R\n $_REQUEST['${1:variable}']${2}\nsnippet S\n $_SERVER['${1:variable}']${2}\nsnippet SS\n $_SESSION['${1:variable}']${2}\n \n# the following are old ones\nsnippet inc\n include '${1:file}';${2}\nsnippet inc1\n include_once '${1:file}';${2}\nsnippet req\n require '${1:file}';${2}\nsnippet req1\n require_once '${1:file}';${2}\n# Start Docblock\nsnippet /*\n /**\n * ${1}\n */\n# Class - post doc\nsnippet doc_cp\n /**\n * ${1:undocumented class}\n *\n * @package ${2:default}\n * @subpackage ${3:default}\n * @author ${4:`g:snips_author`}\n */${5}\n# Class Variable - post doc\nsnippet doc_vp\n /**\n * ${1:undocumented class variable}\n *\n * @var ${2:string}\n */${3}\n# Class Variable\nsnippet doc_v\n /**\n * ${3:undocumented class variable}\n *\n * @var ${4:string}\n */\n ${1:var} $${2};${5}\n# Class\nsnippet doc_c\n /**\n * ${3:undocumented class}\n *\n * @package ${4:default}\n * @subpackage ${5:default}\n * @author ${6:`g:snips_author`}\n */\n ${1:}class ${2:}\n {\n ${7}\n } // END $1class $2\n# Constant Definition - post doc\nsnippet doc_dp\n /**\n * ${1:undocumented constant}\n */${2}\n# Constant Definition\nsnippet doc_d\n /**\n * ${3:undocumented constant}\n */\n define(${1}, ${2});${4}\n# Function - post doc\nsnippet doc_fp\n /**\n * ${1:undocumented function}\n *\n * @return ${2:void}\n * @author ${3:`g:snips_author`}\n */${4}\n# Function signature\nsnippet doc_s\n /**\n * ${4:undocumented function}\n *\n * @return ${5:void}\n * @author ${6:`g:snips_author`}\n */\n ${1}function ${2}(${3});${7}\n# Function\nsnippet doc_f\n /**\n * ${4:undocumented function}\n *\n * @return ${5:void}\n * @author ${6:`g:snips_author`}\n */\n ${1}function ${2}(${3})\n {${7}\n }\n# Header\nsnippet doc_h\n /**\n * ${1}\n *\n * @author ${2:`g:snips_author`}\n * @version ${3:$Id$}\n * @copyright ${4:$2}, `strftime('%d %B, %Y')`\n * @package ${5:default}\n */\n \n# Interface\nsnippet interface\n /**\n * ${2:undocumented class}\n *\n * @package ${3:default}\n * @author ${4:`g:snips_author`}\n */\n interface ${1:$FILENAME}\n {\n ${5}\n }\n# class ...\nsnippet class\n /**\n * ${1}\n */\n class ${2:$FILENAME}\n {\n ${3}\n /**\n * ${4}\n */\n ${5:public} function ${6:__construct}(${7:argument})\n {\n ${8:// code...}\n }\n }\n# define(...)\nsnippet def\n define('${1}'${2});${3}\n# defined(...)\nsnippet def?\n ${1}defined('${2}')${3}\nsnippet wh\n while (${1:/* condition */}) {\n ${2:// code...}\n }\n# do ... while\nsnippet do\n do {\n ${2:// code... }\n } while (${1:/* condition */});\nsnippet if\n if (${1:/* condition */}) {\n ${2:// code...}\n }\nsnippet ifil\n <?php if (${1:/* condition */}): ?>\n ${2:<!-- code... -->}\n <?php endif; ?>\nsnippet ife\n if (${1:/* condition */}) {\n ${2:// code...}\n } else {\n ${3:// code...}\n }\n ${4}\nsnippet ifeil\n <?php if (${1:/* condition */}): ?>\n ${2:<!-- html... -->}\n <?php else: ?>\n ${3:<!-- html... -->}\n <?php endif; ?>\n ${4}\nsnippet else\n else {\n ${1:// code...}\n }\nsnippet elseif\n elseif (${1:/* condition */}) {\n ${2:// code...}\n }\nsnippet switch\n switch ($${1:variable}) {\n case '${2:value}':\n ${3:// code...}\n break;\n ${5}\n default:\n ${4:// code...}\n break;\n }\nsnippet case\n case '${1:value}':\n ${2:// code...}\n break;${3}\nsnippet for\n for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {\n ${4: // code...}\n }\nsnippet foreach\n foreach ($${1:variable} as $${2:value}) {\n ${3:// code...}\n }\nsnippet foreachil\n <?php foreach ($${1:variable} as $${2:value}): ?>\n ${3:<!-- html... -->}\n <?php endforeach; ?>\nsnippet foreachk\n foreach ($${1:variable} as $${2:key} => $${3:value}) {\n ${4:// code...}\n }\nsnippet foreachkil\n <?php foreach ($${1:variable} as $${2:key} => $${3:value}): ?>\n ${4:<!-- html... -->}\n <?php endforeach; ?>\n# $... = array (...)\nsnippet array\n $${1:arrayName} = array('${2}' => ${3});${4}\nsnippet try\n try {\n ${2}\n } catch (${1:Exception} $e) {\n }\n# lambda with closure\nsnippet lambda\n ${1:static }function (${2:args}) use (${3:&$x, $y /*put vars in scope (closure) */}) {\n ${4}\n };\n# pre_dump();\nsnippet pd\n echo '<pre>'; var_dump(${1}); echo '</pre>';\n# pre_dump(); die();\nsnippet pdd\n echo '<pre>'; var_dump(${1}); echo '</pre>'; die(${2:});\nsnippet vd\n var_dump(${1});\nsnippet vdd\n var_dump(${1}); die(${2:});\nsnippet http_redirect\n header (\"HTTP/1.1 301 Moved Permanently\"); \n header (\"Location: \".URL); \n exit();\n# Getters & Setters\nsnippet gs\n /**\n * Gets the value of ${1:foo}\n *\n * @return ${2:$1}\n */\n public function get${3:$2}()\n {\n return $this->${4:$1};\n }\n\n /**\n * Sets the value of $1\n *\n * @param $2 $$1 ${5:description}\n *\n * @return ${6:$FILENAME}\n */\n public function set$3(${7:$2 }$$1)\n {\n $this->$4 = $$1;\n return $this;\n }${8}\n# anotation, get, and set, useful for doctrine\nsnippet ags\n /**\n * ${1:description}\n * \n * @${7}\n */\n ${2:protected} $${3:foo};\n\n public function get${4:$3}()\n {\n return $this->$3;\n }\n\n public function set$4(${5:$4 }$${6:$3})\n {\n $this->$3 = $$6;\n return $this;\n }\nsnippet rett\n return true;\nsnippet retf\n return false;\n",t.scope="php"}) \ No newline at end of file
diff --git a/library/ace/snippets/plain_text.js b/library/ace/snippets/plain_text.js
new file mode 100644
index 000000000..25ec4afae
--- /dev/null
+++ b/library/ace/snippets/plain_text.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/plain_text",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="plain_text"}) \ No newline at end of file
diff --git a/library/ace/snippets/powershell.js b/library/ace/snippets/powershell.js
new file mode 100644
index 000000000..1672035d7
--- /dev/null
+++ b/library/ace/snippets/powershell.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/powershell",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="powershell"}) \ No newline at end of file
diff --git a/library/ace/snippets/praat.js b/library/ace/snippets/praat.js
new file mode 100644
index 000000000..8f290e034
--- /dev/null
+++ b/library/ace/snippets/praat.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/praat",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="praat"}) \ No newline at end of file
diff --git a/library/ace/snippets/prolog.js b/library/ace/snippets/prolog.js
new file mode 100644
index 000000000..7f0071104
--- /dev/null
+++ b/library/ace/snippets/prolog.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/prolog",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="prolog"}) \ No newline at end of file
diff --git a/library/ace/snippets/properties.js b/library/ace/snippets/properties.js
new file mode 100644
index 000000000..6c0b236a7
--- /dev/null
+++ b/library/ace/snippets/properties.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/properties",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="properties"}) \ No newline at end of file
diff --git a/library/ace/snippets/protobuf.js b/library/ace/snippets/protobuf.js
new file mode 100644
index 000000000..20b10fbb2
--- /dev/null
+++ b/library/ace/snippets/protobuf.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/protobuf",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="",t.scope="protobuf"}) \ No newline at end of file
diff --git a/library/ace/snippets/python.js b/library/ace/snippets/python.js
new file mode 100644
index 000000000..ee023b2b4
--- /dev/null
+++ b/library/ace/snippets/python.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/python",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet #!\n #!/usr/bin/env python\nsnippet imp\n import ${1:module}\nsnippet from\n from ${1:package} import ${2:module}\n# Module Docstring\nsnippet docs\n \'\'\'\n File: ${1:FILENAME:file_name}\n Author: ${2:author}\n Description: ${3}\n \'\'\'\nsnippet wh\n while ${1:condition}:\n ${2:# TODO: write code...}\n# dowh - does the same as do...while in other languages\nsnippet dowh\n while True:\n ${1:# TODO: write code...}\n if ${2:condition}:\n break\nsnippet with\n with ${1:expr} as ${2:var}:\n ${3:# TODO: write code...}\n# New Class\nsnippet cl\n class ${1:ClassName}(${2:object}):\n """${3:docstring for $1}"""\n def __init__(self, ${4:arg}):\n ${5:super($1, self).__init__()}\n self.$4 = $4\n ${6}\n# New Function\nsnippet def\n def ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n """${3:docstring for $1}"""\n ${4:# TODO: write code...}\nsnippet deff\n def ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n ${3:# TODO: write code...}\n# New Method\nsnippet defs\n def ${1:mname}(self, ${2:arg}):\n ${3:# TODO: write code...}\n# New Property\nsnippet property\n def ${1:foo}():\n doc = "${2:The $1 property.}"\n def fget(self):\n ${3:return self._$1}\n def fset(self, value):\n ${4:self._$1 = value}\n# Ifs\nsnippet if\n if ${1:condition}:\n ${2:# TODO: write code...}\nsnippet el\n else:\n ${1:# TODO: write code...}\nsnippet ei\n elif ${1:condition}:\n ${2:# TODO: write code...}\n# For\nsnippet for\n for ${1:item} in ${2:items}:\n ${3:# TODO: write code...}\n# Encodes\nsnippet cutf8\n # -*- coding: utf-8 -*-\nsnippet clatin1\n # -*- coding: latin-1 -*-\nsnippet cascii\n # -*- coding: ascii -*-\n# Lambda\nsnippet ld\n ${1:var} = lambda ${2:vars} : ${3:action}\nsnippet .\n self.\nsnippet try Try/Except\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\nsnippet try Try/Except/Else\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n else:\n ${5:# TODO: write code...}\nsnippet try Try/Except/Finally\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n finally:\n ${5:# TODO: write code...}\nsnippet try Try/Except/Else/Finally\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n else:\n ${5:# TODO: write code...}\n finally:\n ${6:# TODO: write code...}\n# if __name__ == \'__main__\':\nsnippet ifmain\n if __name__ == \'__main__\':\n ${1:main()}\n# __magic__\nsnippet _\n __${1:init}__${2}\n# python debugger (pdb)\nsnippet pdb\n import pdb; pdb.set_trace()\n# ipython debugger (ipdb)\nsnippet ipdb\n import ipdb; ipdb.set_trace()\n# ipython debugger (pdbbb)\nsnippet pdbbb\n import pdbpp; pdbpp.set_trace()\nsnippet pprint\n import pprint; pprint.pprint(${1})${2}\nsnippet "\n """\n ${1:doc}\n """\n# test function/method\nsnippet test\n def test_${1:description}(${2:self}):\n ${3:# TODO: write code...}\n# test case\nsnippet testcase\n class ${1:ExampleCase}(unittest.TestCase):\n \n def test_${2:description}(self):\n ${3:# TODO: write code...}\nsnippet fut\n from __future__ import ${1}\n#getopt\nsnippet getopt\n try:\n # Short option syntax: "hv:"\n # Long option syntax: "help" or "verbose="\n opts, args = getopt.getopt(sys.argv[1:], "${1:short_options}", [${2:long_options}])\n \n except getopt.GetoptError, err:\n # Print debug info\n print str(err)\n ${3:error_action}\n\n for option, argument in opts:\n if option in ("-h", "--help"):\n ${4}\n elif option in ("-v", "--verbose"):\n verbose = argument\n',t.scope="python"}) \ No newline at end of file
diff --git a/library/ace/snippets/r.js b/library/ace/snippets/r.js
new file mode 100644
index 000000000..7f075e1e0
--- /dev/null
+++ b/library/ace/snippets/r.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/r",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet #!\n #!/usr/bin/env Rscript\n\n# includes\nsnippet lib\n library(${1:package})\nsnippet req\n require(${1:package})\nsnippet source\n source(\'${1:file}\')\n\n# conditionals\nsnippet if\n if (${1:condition}) {\n ${2:code}\n }\nsnippet el\n else {\n ${1:code}\n }\nsnippet ei\n else if (${1:condition}) {\n ${2:code}\n }\n\n# functions\nsnippet fun\n ${1:name} = function (${2:variables}) {\n ${3:code}\n }\nsnippet ret\n return(${1:code})\n\n# dataframes, lists, etc\nsnippet df\n ${1:name}[${2:rows}, ${3:cols}]\nsnippet c\n c(${1:items})\nsnippet li\n list(${1:items})\nsnippet mat\n matrix(${1:data}, nrow=${2:rows}, ncol=${3:cols})\n\n# apply functions\nsnippet apply\n apply(${1:array}, ${2:margin}, ${3:function})\nsnippet lapply\n lapply(${1:list}, ${2:function})\nsnippet sapply\n sapply(${1:list}, ${2:function})\nsnippet vapply\n vapply(${1:list}, ${2:function}, ${3:type})\nsnippet mapply\n mapply(${1:function}, ${2:...})\nsnippet tapply\n tapply(${1:vector}, ${2:index}, ${3:function})\nsnippet rapply\n rapply(${1:list}, ${2:function})\n\n# plyr functions\nsnippet dd\n ddply(${1:frame}, ${2:variables}, ${3:function})\nsnippet dl\n dlply(${1:frame}, ${2:variables}, ${3:function})\nsnippet da\n daply(${1:frame}, ${2:variables}, ${3:function})\nsnippet d_\n d_ply(${1:frame}, ${2:variables}, ${3:function})\n\nsnippet ad\n adply(${1:array}, ${2:margin}, ${3:function})\nsnippet al\n alply(${1:array}, ${2:margin}, ${3:function})\nsnippet aa\n aaply(${1:array}, ${2:margin}, ${3:function})\nsnippet a_\n a_ply(${1:array}, ${2:margin}, ${3:function})\n\nsnippet ld\n ldply(${1:list}, ${2:function})\nsnippet ll\n llply(${1:list}, ${2:function})\nsnippet la\n laply(${1:list}, ${2:function})\nsnippet l_\n l_ply(${1:list}, ${2:function})\n\nsnippet md\n mdply(${1:matrix}, ${2:function})\nsnippet ml\n mlply(${1:matrix}, ${2:function})\nsnippet ma\n maply(${1:matrix}, ${2:function})\nsnippet m_\n m_ply(${1:matrix}, ${2:function})\n\n# plot functions\nsnippet pl\n plot(${1:x}, ${2:y})\nsnippet ggp\n ggplot(${1:data}, aes(${2:aesthetics}))\nsnippet img\n ${1:(jpeg,bmp,png,tiff)}(filename="${2:filename}", width=${3}, height=${4}, unit="${5}")\n ${6:plot}\n dev.off()\n\n# statistical test functions\nsnippet fis\n fisher.test(${1:x}, ${2:y})\nsnippet chi\n chisq.test(${1:x}, ${2:y})\nsnippet tt\n t.test(${1:x}, ${2:y})\nsnippet wil\n wilcox.test(${1:x}, ${2:y})\nsnippet cor\n cor.test(${1:x}, ${2:y})\nsnippet fte\n var.test(${1:x}, ${2:y})\nsnippet kvt \n kv.test(${1:x}, ${2:y})\n',t.scope="r"}) \ No newline at end of file
diff --git a/library/ace/snippets/razor.js b/library/ace/snippets/razor.js
new file mode 100644
index 000000000..d4f087286
--- /dev/null
+++ b/library/ace/snippets/razor.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/razor",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet if\n(${1} == ${2}) {\n ${3}\n}",t.scope="razor"}) \ No newline at end of file
diff --git a/library/ace/snippets/rdoc.js b/library/ace/snippets/rdoc.js
new file mode 100644
index 000000000..c7c3b1e06
--- /dev/null
+++ b/library/ace/snippets/rdoc.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/rdoc",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="rdoc"}) \ No newline at end of file
diff --git a/library/ace/snippets/rhtml.js b/library/ace/snippets/rhtml.js
new file mode 100644
index 000000000..f2b53b5a3
--- /dev/null
+++ b/library/ace/snippets/rhtml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/rhtml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="rhtml"}) \ No newline at end of file
diff --git a/library/ace/snippets/rst.js b/library/ace/snippets/rst.js
new file mode 100644
index 000000000..6d774e861
--- /dev/null
+++ b/library/ace/snippets/rst.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/rst",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/ruby.js b/library/ace/snippets/ruby.js
new file mode 100644
index 000000000..0c3068010
--- /dev/null
+++ b/library/ace/snippets/ruby.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/ruby",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='########################################\n# Ruby snippets - for Rails, see below #\n########################################\n\n# encoding for Ruby 1.9\nsnippet enc\n # encoding: utf-8\n\n# #!/usr/bin/env ruby\nsnippet #!\n #!/usr/bin/env ruby\n # encoding: utf-8\n\n# New Block\nsnippet =b\n =begin rdoc\n ${1}\n =end\nsnippet y\n :yields: ${1:arguments}\nsnippet rb\n #!/usr/bin/env ruby -wKU\nsnippet beg\n begin\n ${3}\n rescue ${1:Exception} => ${2:e}\n end\n\nsnippet req require\n require "${1}"${2}\nsnippet #\n # =>\nsnippet end\n __END__\nsnippet case\n case ${1:object}\n when ${2:condition}\n ${3}\n end\nsnippet when\n when ${1:condition}\n ${2}\nsnippet def\n def ${1:method_name}\n ${2}\n end\nsnippet deft\n def test_${1:case_name}\n ${2}\n end\nsnippet if\n if ${1:condition}\n ${2}\n end\nsnippet ife\n if ${1:condition}\n ${2}\n else\n ${3}\n end\nsnippet elsif\n elsif ${1:condition}\n ${2}\nsnippet unless\n unless ${1:condition}\n ${2}\n end\nsnippet while\n while ${1:condition}\n ${2}\n end\nsnippet for\n for ${1:e} in ${2:c}\n ${3}\n end\nsnippet until\n until ${1:condition}\n ${2}\n end\nsnippet cla class .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet cla class .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n def initialize(${2:args})\n ${3}\n end\n end\nsnippet cla class .. < ParentClass .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < ${2:ParentClass}\n def initialize(${3:args})\n ${4}\n end\n end\nsnippet cla ClassName = Struct .. do .. end\n ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} = Struct.new(:${2:attr_names}) do\n def ${3:method_name}\n ${4}\n end\n end\nsnippet cla class BlankSlate .. initialize .. end\n class ${1:BlankSlate}\n instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n end\nsnippet cla class << self .. end\n class << ${1:self}\n ${2}\n end\n# class .. < DelegateClass .. initialize .. end\nsnippet cla-\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < DelegateClass(${2:ParentClass})\n def initialize(${3:args})\n super(${4:del_obj})\n\n ${5}\n end\n end\nsnippet mod module .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet mod module .. module_function .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module_function\n\n ${2}\n end\nsnippet mod module .. ClassMethods .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module ClassMethods\n ${2}\n end\n\n module InstanceMethods\n\n end\n\n def self.included(receiver)\n receiver.extend ClassMethods\n receiver.send :include, InstanceMethods\n end\n end\n# attr_reader\nsnippet r\n attr_reader :${1:attr_names}\n# attr_writer\nsnippet w\n attr_writer :${1:attr_names}\n# attr_accessor\nsnippet rw\n attr_accessor :${1:attr_names}\nsnippet atp\n attr_protected :${1:attr_names}\nsnippet ata\n attr_accessible :${1:attr_names}\n# include Enumerable\nsnippet Enum\n include Enumerable\n\n def each(&block)\n ${1}\n end\n# include Comparable\nsnippet Comp\n include Comparable\n\n def <=>(other)\n ${1}\n end\n# extend Forwardable\nsnippet Forw-\n extend Forwardable\n# def self\nsnippet defs\n def self.${1:class_method_name}\n ${2}\n end\n# def method_missing\nsnippet defmm\n def method_missing(meth, *args, &blk)\n ${1}\n end\nsnippet defd\n def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\nsnippet defds\n def_delegators :${1:@del_obj}, :${2:del_methods}\nsnippet am\n alias_method :${1:new_name}, :${2:old_name}\nsnippet app\n if __FILE__ == $PROGRAM_NAME\n ${1}\n end\n# usage_if()\nsnippet usai\n if ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\n# usage_unless()\nsnippet usau\n unless ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\nsnippet array\n Array.new(${1:10}) { |${2:i}| ${3} }\nsnippet hash\n Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\nsnippet file File.foreach() { |line| .. }\n File.foreach(${1:"path/to/file"}) { |${2:line}| ${3} }\nsnippet file File.read()\n File.read(${1:"path/to/file"})${2}\nsnippet Dir Dir.global() { |file| .. }\n Dir.glob(${1:"dir/glob/*"}) { |${2:file}| ${3} }\nsnippet Dir Dir[".."]\n Dir[${1:"glob/**/*.rb"}]${2}\nsnippet dir\n Filename.dirname(__FILE__)\nsnippet deli\n delete_if { |${1:e}| ${2} }\nsnippet fil\n fill(${1:range}) { |${2:i}| ${3} }\n# flatten_once()\nsnippet flao\n inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\nsnippet zip\n zip(${1:enums}) { |${2:row}| ${3} }\n# downto(0) { |n| .. }\nsnippet dow\n downto(${1:0}) { |${2:n}| ${3} }\nsnippet ste\n step(${1:2}) { |${2:n}| ${3} }\nsnippet tim\n times { |${1:n}| ${2} }\nsnippet upt\n upto(${1:1.0/0.0}) { |${2:n}| ${3} }\nsnippet loo\n loop { ${1} }\nsnippet ea\n each { |${1:e}| ${2} }\nsnippet ead\n each do |${1:e}|\n ${2}\n end\nsnippet eab\n each_byte { |${1:byte}| ${2} }\nsnippet eac- each_char { |chr| .. }\n each_char { |${1:chr}| ${2} }\nsnippet eac- each_cons(..) { |group| .. }\n each_cons(${1:2}) { |${2:group}| ${3} }\nsnippet eai\n each_index { |${1:i}| ${2} }\nsnippet eaid\n each_index do |${1:i}|\n ${2}\n end\nsnippet eak\n each_key { |${1:key}| ${2} }\nsnippet eakd\n each_key do |${1:key}|\n ${2}\n end\nsnippet eal\n each_line { |${1:line}| ${2} }\nsnippet eald\n each_line do |${1:line}|\n ${2}\n end\nsnippet eap\n each_pair { |${1:name}, ${2:val}| ${3} }\nsnippet eapd\n each_pair do |${1:name}, ${2:val}|\n ${3}\n end\nsnippet eas-\n each_slice(${1:2}) { |${2:group}| ${3} }\nsnippet easd-\n each_slice(${1:2}) do |${2:group}|\n ${3}\n end\nsnippet eav\n each_value { |${1:val}| ${2} }\nsnippet eavd\n each_value do |${1:val}|\n ${2}\n end\nsnippet eawi\n each_with_index { |${1:e}, ${2:i}| ${3} }\nsnippet eawid\n each_with_index do |${1:e},${2:i}|\n ${3}\n end\nsnippet reve\n reverse_each { |${1:e}| ${2} }\nsnippet reved\n reverse_each do |${1:e}|\n ${2}\n end\nsnippet inj\n inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\nsnippet injd\n inject(${1:init}) do |${2:mem}, ${3:var}|\n ${4}\n end\nsnippet map\n map { |${1:e}| ${2} }\nsnippet mapd\n map do |${1:e}|\n ${2}\n end\nsnippet mapwi-\n enum_with_index.map { |${1:e}, ${2:i}| ${3} }\nsnippet sor\n sort { |a, b| ${1} }\nsnippet sorb\n sort_by { |${1:e}| ${2} }\nsnippet ran\n sort_by { rand }\nsnippet all\n all? { |${1:e}| ${2} }\nsnippet any\n any? { |${1:e}| ${2} }\nsnippet cl\n classify { |${1:e}| ${2} }\nsnippet col\n collect { |${1:e}| ${2} }\nsnippet cold\n collect do |${1:e}|\n ${2}\n end\nsnippet det\n detect { |${1:e}| ${2} }\nsnippet detd\n detect do |${1:e}|\n ${2}\n end\nsnippet fet\n fetch(${1:name}) { |${2:key}| ${3} }\nsnippet fin\n find { |${1:e}| ${2} }\nsnippet find\n find do |${1:e}|\n ${2}\n end\nsnippet fina\n find_all { |${1:e}| ${2} }\nsnippet finad\n find_all do |${1:e}|\n ${2}\n end\nsnippet gre\n grep(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet sub\n ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\nsnippet sca\n scan(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet scad\n scan(${1:/pattern/}) do |${2:match}|\n ${3}\n end\nsnippet max\n max { |a, b| ${1} }\nsnippet min\n min { |a, b| ${1} }\nsnippet par\n partition { |${1:e}| ${2} }\nsnippet pard\n partition do |${1:e}|\n ${2}\n end\nsnippet rej\n reject { |${1:e}| ${2} }\nsnippet rejd\n reject do |${1:e}|\n ${2}\n end\nsnippet sel\n select { |${1:e}| ${2} }\nsnippet seld\n select do |${1:e}|\n ${2}\n end\nsnippet lam\n lambda { |${1:args}| ${2} }\nsnippet doo\n do\n ${1}\n end\nsnippet dov\n do |${1:variable}|\n ${2}\n end\nsnippet :\n :${1:key} => ${2:"value"}${3}\nsnippet ope\n open(${1:"path/or/url/or/pipe"}, "${2:w}") { |${3:io}| ${4} }\n# path_from_here()\nsnippet fpath\n File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n# unix_filter {}\nsnippet unif\n ARGF.each_line${1} do |${2:line}|\n ${3}\n end\n# option_parse {}\nsnippet optp\n require "optparse"\n\n options = {${1:default => "args"}}\n\n ARGV.options do |opts|\n opts.banner = "Usage: #{File.basename($PROGRAM_NAME)}\nsnippet opt\n opts.on( "-${1:o}", "--${2:long-option-name}", ${3:String},\n "${4:Option description.}") do |${5:opt}|\n ${6}\n end\nsnippet tc\n require "test/unit"\n\n require "${1:library_file_name}"\n\n class Test${2:$1} < Test::Unit::TestCase\n def test_${3:case_name}\n ${4}\n end\n end\nsnippet ts\n require "test/unit"\n\n require "tc_${1:test_case_file}"\n require "tc_${2:test_case_file}"${3}\nsnippet as\n assert ${1:test}, "${2:Failure message.}"${3}\nsnippet ase\n assert_equal ${1:expected}, ${2:actual}${3}\nsnippet asne\n assert_not_equal ${1:unexpected}, ${2:actual}${3}\nsnippet asid\n assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\nsnippet asio\n assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\nsnippet asko\n assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\nsnippet asn\n assert_nil ${1:instance}${2}\nsnippet asnn\n assert_not_nil ${1:instance}${2}\nsnippet asm\n assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\nsnippet asnm\n assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\nsnippet aso\n assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\nsnippet asr\n assert_raise ${1:Exception} { ${2} }\nsnippet asrd\n assert_raise ${1:Exception} do\n ${2}\n end\nsnippet asnr\n assert_nothing_raised ${1:Exception} { ${2} }\nsnippet asnrd\n assert_nothing_raised ${1:Exception} do\n ${2}\n end\nsnippet asrt\n assert_respond_to ${1:object}, :${2:method}${3}\nsnippet ass assert_same(..)\n assert_same ${1:expected}, ${2:actual}${3}\nsnippet ass assert_send(..)\n assert_send [${1:object}, :${2:message}, ${3:args}]${4}\nsnippet asns\n assert_not_same ${1:unexpected}, ${2:actual}${3}\nsnippet ast\n assert_throws :${1:expected} { ${2} }\nsnippet astd\n assert_throws :${1:expected} do\n ${2}\n end\nsnippet asnt\n assert_nothing_thrown { ${1} }\nsnippet asntd\n assert_nothing_thrown do\n ${1}\n end\nsnippet fl\n flunk "${1:Failure message.}"${2}\n# Benchmark.bmbm do .. end\nsnippet bm-\n TESTS = ${1:10_000}\n Benchmark.bmbm do |results|\n ${2}\n end\nsnippet rep\n results.report("${1:name}:") { TESTS.times { ${2} }}\n# Marshal.dump(.., file)\nsnippet Md\n File.open(${1:"path/to/file.dump"}, "wb") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n# Mashal.load(obj)\nsnippet Ml\n File.open(${1:"path/to/file.dump"}, "rb") { |${2:file}| Marshal.load($2) }${3}\n# deep_copy(..)\nsnippet deec\n Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\nsnippet Pn-\n PStore.new(${1:"file_name.pstore"})${2}\nsnippet tra\n transaction(${1:true}) { ${2} }\n# xmlread(..)\nsnippet xml-\n REXML::Document.new(File.read(${1:"path/to/file"}))${2}\n# xpath(..) { .. }\nsnippet xpa\n elements.each(${1:"//Xpath"}) do |${2:node}|\n ${3}\n end\n# class_from_name()\nsnippet clafn\n split("::").inject(Object) { |par, const| par.const_get(const) }\n# singleton_class()\nsnippet sinc\n class << self; self end\nsnippet nam\n namespace :${1:`Filename()`} do\n ${2}\n end\nsnippet tas\n desc "${1:Task description}"\n task :${2:task_name => [:dependent, :tasks]} do\n ${3}\n end\n# block\nsnippet b\n { |${1:var}| ${2} }\nsnippet begin\n begin\n raise \'A test exception.\'\n rescue Exception => e\n puts e.message\n puts e.backtrace.inspect\n else\n # other exception\n ensure\n # always executed\n end\n\n#debugging\nsnippet debug\n require \'ruby-debug\'; debugger; true;\nsnippet pry\n require \'pry\'; binding.pry\n\n#############################################\n# Rails snippets - for pure Ruby, see above #\n#############################################\nsnippet art\n assert_redirected_to ${1::action => "${2:index}"}\nsnippet artnp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\nsnippet artnpp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\nsnippet artp\n assert_redirected_to ${1:model}_path(${2:@$1})\nsnippet artpp\n assert_redirected_to ${1:model}s_path\nsnippet asd\n assert_difference "${1:Model}.${2:count}", $1 do\n ${3}\n end\nsnippet asnd\n assert_no_difference "${1:Model}.${2:count}" do\n ${3}\n end\nsnippet asre\n assert_response :${1:success}, @response.body${2}\nsnippet asrj\n assert_rjs :${1:replace}, "${2:dom id}"\nsnippet ass assert_select(..)\n assert_select \'${1:path}\', :${2:text} => \'${3:inner_html\' ${4:do}\nsnippet bf\n before_filter :${1:method}\nsnippet bt\n belongs_to :${1:association}\nsnippet crw\n cattr_accessor :${1:attr_names}\nsnippet defcreate\n def create\n @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\n respond_to do |wants|\n if @$1.save\n flash[:notice] = \'$2 was successfully created.\'\n wants.html { redirect_to(@$1) }\n wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n else\n wants.html { render :action => "new" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet defdestroy\n def destroy\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n @$1.destroy\n\n respond_to do |wants|\n wants.html { redirect_to($1s_url) }\n wants.xml { head :ok }\n end\n end${3}\nsnippet defedit\n def edit\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n end\nsnippet defindex\n def index\n @${1:model_class_name} = ${2:ModelClassName}.all\n\n respond_to do |wants|\n wants.html # index.html.erb\n wants.xml { render :xml => @$1s }\n end\n end${3}\nsnippet defnew\n def new\n @${1:model_class_name} = ${2:ModelClassName}.new\n\n respond_to do |wants|\n wants.html # new.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defshow\n def show\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n wants.html # show.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defupdate\n def update\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n if @$1.update_attributes(params[:$1])\n flash[:notice] = \'$2 was successfully updated.\'\n wants.html { redirect_to(@$1) }\n wants.xml { head :ok }\n else\n wants.html { render :action => "edit" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet flash\n flash[:${1:notice}] = "${2}"\nsnippet habtm\n has_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id"${4}\nsnippet hm\n has_many :${1:object}\nsnippet hmd\n has_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy${4}\nsnippet hmt\n has_many :${1:object}, :through => :${2:object}\nsnippet ho\n has_one :${1:object}\nsnippet i18\n I18n.t(\'${1:type.key}\')${2}\nsnippet ist\n <%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${3} %>\nsnippet log\n Rails.logger.${1:debug} ${2}\nsnippet log2\n RAILS_DEFAULT_LOGGER.${1:debug} ${2}\nsnippet logd\n logger.debug { "${1:message}" }${2}\nsnippet loge\n logger.error { "${1:message}" }${2}\nsnippet logf\n logger.fatal { "${1:message}" }${2}\nsnippet logi\n logger.info { "${1:message}" }${2}\nsnippet logw\n logger.warn { "${1:message}" }${2}\nsnippet mapc\n ${1:map}.${2:connect} \'${3:controller/:action/:id}\'\nsnippet mapca\n ${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}"${5}\nsnippet mapr\n ${1:map}.resource :${2:resource}\nsnippet maprs\n ${1:map}.resources :${2:resource}\nsnippet mapwo\n ${1:map}.with_options :${2:controller} => \'${3:thing}\' do |$3|\n ${4}\n end\nsnippet mbs\n before_save :${1:method}\nsnippet mcht\n change_table :${1:table_name} do |t|\n ${2}\n end\nsnippet mp\n map(&:${1:id})\nsnippet mrw\n mattr_accessor :${1:attr_names}\nsnippet oa\n order("${1:field}")\nsnippet od\n order("${1:field} DESC")\nsnippet pa\n params[:${1:id}]${2}\nsnippet ra\n render :action => "${1:action}"\nsnippet ral\n render :action => "${1:action}", :layout => "${2:layoutname}"\nsnippet rest\n respond_to do |wants|\n wants.${1:html} { ${2} }\n end\nsnippet rf\n render :file => "${1:filepath}"\nsnippet rfu\n render :file => "${1:filepath}", :use_full_path => ${2:false}\nsnippet ri\n render :inline => "${1:<%= \'hello\' %>}"\nsnippet ril\n render :inline => "${1:<%= \'hello\' %>}", :locals => { ${2::name} => "${3:value}"${4} }\nsnippet rit\n render :inline => "${1:<%= \'hello\' %>}", :type => ${2::rxml}\nsnippet rjson\n render :json => ${1:text to render}\nsnippet rl\n render :layout => "${1:layoutname}"\nsnippet rn\n render :nothing => ${1:true}\nsnippet rns\n render :nothing => ${1:true}, :status => ${2:401}\nsnippet rp\n render :partial => "${1:item}"\nsnippet rpc\n render :partial => "${1:item}", :collection => ${2:@$1s}\nsnippet rpl\n render :partial => "${1:item}", :locals => { :${2:$1} => ${3:@$1}\nsnippet rpo\n render :partial => "${1:item}", :object => ${2:@$1}\nsnippet rps\n render :partial => "${1:item}", :status => ${2:500}\nsnippet rt\n render :text => "${1:text to render}"\nsnippet rtl\n render :text => "${1:text to render}", :layout => "${2:layoutname}"\nsnippet rtlt\n render :text => "${1:text to render}", :layout => ${2:true}\nsnippet rts\n render :text => "${1:text to render}", :status => ${2:401}\nsnippet ru\n render :update do |${1:page}|\n $1.${2}\n end\nsnippet rxml\n render :xml => ${1:text to render}\nsnippet sc\n scope :${1:name}, :where(:@${2:field} => ${3:value})\nsnippet sl\n scope :${1:name}, lambda do |${2:value}|\n where("${3:field = ?}", ${4:bind var})\n end\nsnippet sha1\n Digest::SHA1.hexdigest(${1:string})\nsnippet sweeper\n class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n observe $1\n\n def after_save(${2:model_class_name})\n expire_cache($2)\n end\n\n def after_destroy($2)\n expire_cache($2)\n end\n\n def expire_cache($2)\n expire_page\n end\n end\nsnippet tcb\n t.boolean :${1:title}\n ${2}\nsnippet tcbi\n t.binary :${1:title}, :limit => ${2:2}.megabytes\n ${3}\nsnippet tcd\n t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n ${4}\nsnippet tcda\n t.date :${1:title}\n ${2}\nsnippet tcdt\n t.datetime :${1:title}\n ${2}\nsnippet tcf\n t.float :${1:title}\n ${2}\nsnippet tch\n t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n ${5}\nsnippet tci\n t.integer :${1:title}\n ${2}\nsnippet tcl\n t.integer :lock_version, :null => false, :default => 0\n ${1}\nsnippet tcr\n t.references :${1:taggable}, :polymorphic => { :default => \'${2:Photo}\' }\n ${3}\nsnippet tcs\n t.string :${1:title}\n ${2}\nsnippet tct\n t.text :${1:title}\n ${2}\nsnippet tcti\n t.time :${1:title}\n ${2}\nsnippet tcts\n t.timestamp :${1:title}\n ${2}\nsnippet tctss\n t.timestamps\n ${1}\nsnippet va\n validates_associated :${1:attribute}\nsnippet vao\n validates_acceptance_of :${1:terms}\nsnippet vc\n validates_confirmation_of :${1:attribute}\nsnippet ve\n validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\nsnippet vf\n validates_format_of :${1:attribute}, :with => /${2:regex}/\nsnippet vi\n validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\nsnippet vl\n validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\nsnippet vn\n validates_numericality_of :${1:attribute}\nsnippet vpo\n validates_presence_of :${1:attribute}\nsnippet vu\n validates_uniqueness_of :${1:attribute}\nsnippet wants\n wants.${1:js|xml|html} { ${2} }\nsnippet wc\n where(${1:"conditions"}${2:, bind_var})\nsnippet wh\n where(${1:field} => ${2:value})\nsnippet xdelete\n xhr :delete, :${1:destroy}, :id => ${2:1}${3}\nsnippet xget\n xhr :get, :${1:show}, :id => ${2:1}${3}\nsnippet xpost\n xhr :post, :${1:create}, :${2:object} => { ${3} }\nsnippet xput\n xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\nsnippet test\n test "should ${1:do something}" do\n ${2}\n end\n#migrations\nsnippet mac\n add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\nsnippet mrc\n remove_column :${1:table_name}, :${2:column_name}\nsnippet mrnc\n rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\nsnippet mcc\n change_column :${1:table}, :${2:column}, :${3:type}\nsnippet mccc\n t.column :${1:title}, :${2:string}\nsnippet mct\n create_table :${1:table_name} do |t|\n t.column :${2:name}, :${3:type}\n end\nsnippet migration\n class ${1:class_name} < ActiveRecord::Migration\n def self.up\n ${2}\n end\n\n def self.down\n end\n end\n\nsnippet trc\n t.remove :${1:column}\nsnippet tre\n t.rename :${1:old_column_name}, :${2:new_column_name}\n ${3}\nsnippet tref\n t.references :${1:model}\n\n#rspec\nsnippet it\n it "${1:spec_name}" do\n ${2}\n end\nsnippet itp\n it "${1:spec_name}"\n ${2}\nsnippet desc\n describe ${1:class_name} do\n ${2}\n end\nsnippet cont\n context "${1:message}" do\n ${2}\n end\nsnippet bef\n before :${1:each} do\n ${2}\n end\nsnippet aft\n after :${1:each} do\n ${2}\n end\n',t.scope="ruby"}) \ No newline at end of file
diff --git a/library/ace/snippets/rust.js b/library/ace/snippets/rust.js
new file mode 100644
index 000000000..d30d87eb8
--- /dev/null
+++ b/library/ace/snippets/rust.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/rust",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="rust"}) \ No newline at end of file
diff --git a/library/ace/snippets/sass.js b/library/ace/snippets/sass.js
new file mode 100644
index 000000000..ccfde2c94
--- /dev/null
+++ b/library/ace/snippets/sass.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/sass",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="sass"}) \ No newline at end of file
diff --git a/library/ace/snippets/scad.js b/library/ace/snippets/scad.js
new file mode 100644
index 000000000..9a4fcb005
--- /dev/null
+++ b/library/ace/snippets/scad.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/scad",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="scad"}) \ No newline at end of file
diff --git a/library/ace/snippets/scala.js b/library/ace/snippets/scala.js
new file mode 100644
index 000000000..dbbc7f481
--- /dev/null
+++ b/library/ace/snippets/scala.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/scala",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="scala"}) \ No newline at end of file
diff --git a/library/ace/snippets/scheme.js b/library/ace/snippets/scheme.js
new file mode 100644
index 000000000..d8770f2d4
--- /dev/null
+++ b/library/ace/snippets/scheme.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/scheme",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="scheme"}) \ No newline at end of file
diff --git a/library/ace/snippets/scss.js b/library/ace/snippets/scss.js
new file mode 100644
index 000000000..0526c69cc
--- /dev/null
+++ b/library/ace/snippets/scss.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/scss",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="scss"}) \ No newline at end of file
diff --git a/library/ace/snippets/sh.js b/library/ace/snippets/sh.js
new file mode 100644
index 000000000..387107685
--- /dev/null
+++ b/library/ace/snippets/sh.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/sh",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Shebang. Executing bash via /usr/bin/env makes scripts more portable.\nsnippet #!\n #!/usr/bin/env bash\n \nsnippet if\n if [[ ${1:condition} ]]; then\n ${2:#statements}\n fi\nsnippet elif\n elif [[ ${1:condition} ]]; then\n ${2:#statements}\nsnippet for\n for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do\n ${3:#statements}\n done\nsnippet fori\n for ${1:needle} in ${2:haystack} ; do\n ${3:#statements}\n done\nsnippet wh\n while [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet until\n until [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet case\n case ${1:word} in\n ${2:pattern})\n ${3};;\n esac\nsnippet go \n while getopts \'${1:o}\' ${2:opts} \n do \n case $$2 in\n ${3:o0})\n ${4:#staments};;\n esac\n done\n# Set SCRIPT_DIR variable to directory script is located.\nsnippet sdir\n SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"\n# getopt\nsnippet getopt\n __ScriptVersion="${1:version}"\n\n #=== FUNCTION ================================================================\n # NAME: usage\n # DESCRIPTION: Display usage information.\n #===============================================================================\n function usage ()\n {\n cat <<- EOT\n\n Usage : $${0:0} [options] [--] \n\n Options: \n -h|help Display this message\n -v|version Display script version\n\n EOT\n } # ---------- end of function usage ----------\n\n #-----------------------------------------------------------------------\n # Handle command line arguments\n #-----------------------------------------------------------------------\n\n while getopts ":hv" opt\n do\n case $opt in\n\n h|help ) usage; exit 0 ;;\n\n v|version ) echo "$${0:0} -- Version $__ScriptVersion"; exit 0 ;;\n\n \\? ) echo -e "\\n Option does not exist : $OPTARG\\n"\n usage; exit 1 ;;\n\n esac # --- end of case ---\n done\n shift $(($OPTIND-1))\n\n',t.scope="sh"}) \ No newline at end of file
diff --git a/library/ace/snippets/sjs.js b/library/ace/snippets/sjs.js
new file mode 100644
index 000000000..8023e0dbf
--- /dev/null
+++ b/library/ace/snippets/sjs.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/sjs",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="sjs"}) \ No newline at end of file
diff --git a/library/ace/snippets/smarty.js b/library/ace/snippets/smarty.js
new file mode 100644
index 000000000..5dc13d731
--- /dev/null
+++ b/library/ace/snippets/smarty.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/smarty",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="smarty"}) \ No newline at end of file
diff --git a/library/ace/snippets/snippets.js b/library/ace/snippets/snippets.js
new file mode 100644
index 000000000..8f2d037da
--- /dev/null
+++ b/library/ace/snippets/snippets.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/snippets",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# snippets for making snippets :)\nsnippet snip\n snippet ${1:trigger}\n ${2}\nsnippet msnip\n snippet ${1:trigger} ${2:description}\n ${3}\nsnippet v\n {VISUAL}\n",t.scope="snippets"}) \ No newline at end of file
diff --git a/library/ace/snippets/soy_template.js b/library/ace/snippets/soy_template.js
new file mode 100644
index 000000000..710cee62d
--- /dev/null
+++ b/library/ace/snippets/soy_template.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/soy_template",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="soy_template"}) \ No newline at end of file
diff --git a/library/ace/snippets/space.js b/library/ace/snippets/space.js
new file mode 100644
index 000000000..8bc916be4
--- /dev/null
+++ b/library/ace/snippets/space.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/space",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="space"}) \ No newline at end of file
diff --git a/library/ace/snippets/sql.js b/library/ace/snippets/sql.js
new file mode 100644
index 000000000..1bacce06d
--- /dev/null
+++ b/library/ace/snippets/sql.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/sql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet tbl\n create table ${1:table} (\n ${2:columns}\n );\nsnippet col\n ${1:name} ${2:type} ${3:default ''} ${4:not null}\nsnippet ccol\n ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\nsnippet ncol\n ${1:name} number ${3:default 0} ${4:not null}\nsnippet dcol\n ${1:name} date ${3:default sysdate} ${4:not null}\nsnippet ind\n create index ${3:$1_$2} on ${1:table}(${2:column});\nsnippet uind\n create unique index ${1:name} on ${2:table}(${3:column});\nsnippet tblcom\n comment on table ${1:table} is '${2:comment}';\nsnippet colcom\n comment on column ${1:table}.${2:column} is '${3:comment}';\nsnippet addcol\n alter table ${1:table} add (${2:column} ${3:type});\nsnippet seq\n create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\nsnippet s*\n select * from ${1:table}\n",t.scope="sql"}) \ No newline at end of file
diff --git a/library/ace/snippets/sqlserver.js b/library/ace/snippets/sqlserver.js
new file mode 100644
index 000000000..57eb98625
--- /dev/null
+++ b/library/ace/snippets/sqlserver.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/sqlserver",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# ISNULL\nsnippet isnull\n ISNULL(${1:check_expression}, ${2:replacement_value})\n# FORMAT\nsnippet format\n FORMAT(${1:value}, ${2:format})\n# CAST\nsnippet cast\n CAST(${1:expression} AS ${2:data_type})\n# CONVERT\nsnippet convert\n CONVERT(${1:data_type}, ${2:expression})\n# DATEPART\nsnippet datepart\n DATEPART(${1:datepart}, ${2:date})\n# DATEDIFF\nsnippet datediff\n DATEDIFF(${1:datepart}, ${2:startdate}, ${3:enddate})\n# DATEADD\nsnippet dateadd\n DATEADD(${1:datepart}, ${2:number}, ${3:date})\n# DATEFROMPARTS \nsnippet datefromparts\n DATEFROMPARTS(${1:year}, ${2:month}, ${3:day})\n# OBJECT_DEFINITION\nsnippet objectdef\n SELECT OBJECT_DEFINITION(OBJECT_ID('${1:sys.server_permissions /*object name*/}'))\n# STUFF XML\nsnippet stuffxml\n STUFF((SELECT ', ' + ${1:ColumnName}\n FROM ${2:TableName}\n WHERE ${3:WhereClause}\n FOR XML PATH('')), 1, 1, '') AS ${4:Alias}\n ${5:/*https://msdn.microsoft.com/en-us/library/ms188043.aspx*/}\n# Create Procedure\nsnippet createproc\n -- =============================================\n -- Author: ${1:Author}\n -- Create date: ${2:Date}\n -- Description: ${3:Description}\n -- =============================================\n CREATE PROCEDURE ${4:Procedure_Name}\n ${5:/*Add the parameters for the stored procedure here*/}\n AS\n BEGIN\n -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.\n SET NOCOUNT ON;\n \n ${6:/*Add the T-SQL statements to compute the return value here*/}\n \n END\n GO\n# Create Scalar Function\nsnippet createfn\n -- =============================================\n -- Author: ${1:Author}\n -- Create date: ${2:Date}\n -- Description: ${3:Description}\n -- =============================================\n CREATE FUNCTION ${4:Scalar_Function_Name}\n -- Add the parameters for the function here\n RETURNS ${5:Function_Data_Type}\n AS\n BEGIN\n DECLARE @Result ${5:Function_Data_Type}\n \n ${6:/*Add the T-SQL statements to compute the return value here*/}\n \n END\n GO",t.scope="sqlserver"}) \ No newline at end of file
diff --git a/library/ace/snippets/stylus.js b/library/ace/snippets/stylus.js
new file mode 100644
index 000000000..1da9d776a
--- /dev/null
+++ b/library/ace/snippets/stylus.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/stylus",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="stylus"}) \ No newline at end of file
diff --git a/library/ace/snippets/svg.js b/library/ace/snippets/svg.js
new file mode 100644
index 000000000..26d9b1a48
--- /dev/null
+++ b/library/ace/snippets/svg.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/svg",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="svg"}) \ No newline at end of file
diff --git a/library/ace/snippets/swift.js b/library/ace/snippets/swift.js
new file mode 100644
index 000000000..307d39f7c
--- /dev/null
+++ b/library/ace/snippets/swift.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/swift",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="swift"}) \ No newline at end of file
diff --git a/library/ace/snippets/swig.js b/library/ace/snippets/swig.js
new file mode 100644
index 000000000..59d56facf
--- /dev/null
+++ b/library/ace/snippets/swig.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/swig",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="swig"}) \ No newline at end of file
diff --git a/library/ace/snippets/tcl.js b/library/ace/snippets/tcl.js
new file mode 100644
index 000000000..69ccc2594
--- /dev/null
+++ b/library/ace/snippets/tcl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/tcl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# #!/usr/bin/env tclsh\nsnippet #!\n #!/usr/bin/env tclsh\n \n# Process\nsnippet pro\n proc ${1:function_name} {${2:args}} {\n ${3:#body ...}\n }\n#xif\nsnippet xif\n ${1:expr}? ${2:true} : ${3:false}\n# Conditional\nsnippet if\n if {${1}} {\n ${2:# body...}\n }\n# Conditional if..else\nsnippet ife\n if {${1}} {\n ${2:# body...}\n } else {\n ${3:# else...}\n }\n# Conditional if..elsif..else\nsnippet ifee\n if {${1}} {\n ${2:# body...}\n } elseif {${3}} {\n ${4:# elsif...}\n } else {\n ${5:# else...}\n }\n# If catch then\nsnippet ifc\n if { [catch {${1:#do something...}} ${2:err}] } {\n ${3:# handle failure...}\n }\n# Catch\nsnippet catch\n catch {${1}} ${2:err} ${3:options}\n# While Loop\nsnippet wh\n while {${1}} {\n ${2:# body...}\n }\n# For Loop\nsnippet for\n for {set ${2:var} 0} {$$2 < ${1:count}} {${3:incr} $2} {\n ${4:# body...}\n }\n# Foreach Loop\nsnippet fore\n foreach ${1:x} {${2:#list}} {\n ${3:# body...}\n }\n# after ms script...\nsnippet af\n after ${1:ms} ${2:#do something}\n# after cancel id\nsnippet afc\n after cancel ${1:id or script}\n# after idle\nsnippet afi\n after idle ${1:script}\n# after info id\nsnippet afin\n after info ${1:id}\n# Expr\nsnippet exp\n expr {${1:#expression here}}\n# Switch\nsnippet sw\n switch ${1:var} {\n ${3:pattern 1} {\n ${4:#do something}\n }\n default {\n ${2:#do something}\n }\n }\n# Case\nsnippet ca\n ${1:pattern} {\n ${2:#do something}\n }${3}\n# Namespace eval\nsnippet ns\n namespace eval ${1:path} {${2:#script...}}\n# Namespace current\nsnippet nsc\n namespace current\n",t.scope="tcl"}) \ No newline at end of file
diff --git a/library/ace/snippets/tex.js b/library/ace/snippets/tex.js
new file mode 100644
index 000000000..99d058ea7
--- /dev/null
+++ b/library/ace/snippets/tex.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/tex",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="#PREAMBLE\n#newcommand\nsnippet nc\n \\newcommand{\\${1:cmd}}[${2:opt}]{${3:realcmd}}${4}\n#usepackage\nsnippet up\n \\usepackage[${1:[options}]{${2:package}}\n#newunicodechar\nsnippet nuc\n \\newunicodechar{${1}}{${2:\\ensuremath}${3:tex-substitute}}}\n#DeclareMathOperator\nsnippet dmo\n \\DeclareMathOperator{${1}}{${2}}\n\n#DOCUMENT\n# \\begin{}...\\end{}\nsnippet begin\n \\begin{${1:env}}\n ${2}\n \\end{$1}\n# Tabular\nsnippet tab\n \\begin{${1:tabular}}{${2:c}}\n ${3}\n \\end{$1}\nsnippet thm\n \\begin[${1:author}]{${2:thm}}\n ${3}\n \\end{$1}\nsnippet center\n \\begin{center}\n ${1}\n \\end{center}\n# Align(ed)\nsnippet ali\n \\begin{align${1:ed}}\n ${2}\n \\end{align$1}\n# Gather(ed)\nsnippet gat\n \\begin{gather${1:ed}}\n ${2}\n \\end{gather$1}\n# Equation\nsnippet eq\n \\begin{equation}\n ${1}\n \\end{equation}\n# Equation\nsnippet eq*\n \\begin{equation*}\n ${1}\n \\end{equation*}\n# Unnumbered Equation\nsnippet \\\n \\[\n ${1}\n \\]\n# Enumerate\nsnippet enum\n \\begin{enumerate}\n \\item ${1}\n \\end{enumerate}\n# Itemize\nsnippet itemize\n \\begin{itemize}\n \\item ${1}\n \\end{itemize}\n# Description\nsnippet desc\n \\begin{description}\n \\item[${1}] ${2}\n \\end{description}\n# Matrix\nsnippet mat\n \\begin{${1:p/b/v/V/B/small}matrix}\n ${2}\n \\end{$1matrix}\n# Cases\nsnippet cas\n \\begin{cases}\n ${1:equation}, &\\text{ if }${2:case}\\\\\n ${3}\n \\end{cases}\n# Split\nsnippet spl\n \\begin{split}\n ${1}\n \\end{split}\n# Part\nsnippet part\n \\part{${1:part name}} % (fold)\n \\label{prt:${2:$1}}\n ${3}\n % part $2 (end)\n# Chapter\nsnippet cha\n \\chapter{${1:chapter name}}\n \\label{cha:${2:$1}}\n ${3}\n# Section\nsnippet sec\n \\section{${1:section name}}\n \\label{sec:${2:$1}}\n ${3}\n# Sub Section\nsnippet sub\n \\subsection{${1:subsection name}}\n \\label{sub:${2:$1}}\n ${3}\n# Sub Sub Section\nsnippet subs\n \\subsubsection{${1:subsubsection name}}\n \\label{ssub:${2:$1}}\n ${3}\n# Paragraph\nsnippet par\n \\paragraph{${1:paragraph name}}\n \\label{par:${2:$1}}\n ${3}\n# Sub Paragraph\nsnippet subp\n \\subparagraph{${1:subparagraph name}}\n \\label{subp:${2:$1}}\n ${3}\n#References\nsnippet itd\n \\item[${1:description}] ${2:item}\nsnippet figure\n ${1:Figure}~\\ref{${2:fig:}}${3}\nsnippet table\n ${1:Table}~\\ref{${2:tab:}}${3}\nsnippet listing\n ${1:Listing}~\\ref{${2:list}}${3}\nsnippet section\n ${1:Section}~\\ref{${2:sec:}}${3}\nsnippet page\n ${1:page}~\\pageref{${2}}${3}\nsnippet index\n \\index{${1:index}}${2}\n#Citations\nsnippet cite\n \\cite[${1}]{${2}}${3}\nsnippet fcite\n \\footcite[${1}]{${2}}${3}\n#Formating text: italic, bold, underline, small capital, emphase ..\nsnippet it\n \\textit{${1:text}}\nsnippet bf\n \\textbf{${1:text}}\nsnippet under\n \\underline{${1:text}}\nsnippet emp\n \\emph{${1:text}}\nsnippet sc\n \\textsc{${1:text}}\n#Choosing font\nsnippet sf\n \\textsf{${1:text}}\nsnippet rm\n \\textrm{${1:text}}\nsnippet tt\n \\texttt{${1:text}}\n#misc\nsnippet ft\n \\footnote{${1:text}}\nsnippet fig\n \\begin{figure}\n \\begin{center}\n \\includegraphics[scale=${1}]{Figures/${2}}\n \\end{center}\n \\caption{${3}}\n \\label{fig:${4}}\n \\end{figure}\nsnippet tikz\n \\begin{figure}\n \\begin{center}\n \\begin{tikzpicture}[scale=${1:1}]\n ${2}\n \\end{tikzpicture}\n \\end{center}\n \\caption{${3}}\n \\label{fig:${4}}\n \\end{figure}\n#math\nsnippet stackrel\n \\stackrel{${1:above}}{${2:below}} ${3}\nsnippet frac\n \\frac{${1:num}}{${2:denom}}\nsnippet sum\n \\sum^{${1:n}}_{${2:i=1}}{${3}}",t.scope="tex"}) \ No newline at end of file
diff --git a/library/ace/snippets/text.js b/library/ace/snippets/text.js
new file mode 100644
index 000000000..233803dae
--- /dev/null
+++ b/library/ace/snippets/text.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/text",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="text"}) \ No newline at end of file
diff --git a/library/ace/snippets/textile.js b/library/ace/snippets/textile.js
new file mode 100644
index 000000000..cf4d5d566
--- /dev/null
+++ b/library/ace/snippets/textile.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/textile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Jekyll post header\nsnippet header\n ---\n title: ${1:title}\n layout: post\n date: ${2:date} ${3:hour:minute:second} -05:00\n ---\n\n# Image\nsnippet img\n !${1:url}(${2:title}):${3:link}!\n\n# Table\nsnippet |\n |${1}|${2}\n\n# Link\nsnippet link\n "${1:link text}":${2:url}\n\n# Acronym\nsnippet (\n (${1:Expand acronym})${2}\n\n# Footnote\nsnippet fn\n [${1:ref number}] ${3}\n\n fn$1. ${2:footnote}\n \n',t.scope="textile"}) \ No newline at end of file
diff --git a/library/ace/snippets/toml.js b/library/ace/snippets/toml.js
new file mode 100644
index 000000000..8c3dbefdf
--- /dev/null
+++ b/library/ace/snippets/toml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/toml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="toml"}) \ No newline at end of file
diff --git a/library/ace/snippets/twig.js b/library/ace/snippets/twig.js
new file mode 100644
index 000000000..9c2104682
--- /dev/null
+++ b/library/ace/snippets/twig.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/twig",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="twig"}) \ No newline at end of file
diff --git a/library/ace/snippets/typescript.js b/library/ace/snippets/typescript.js
new file mode 100644
index 000000000..5e6425ecb
--- /dev/null
+++ b/library/ace/snippets/typescript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/typescript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="typescript"}) \ No newline at end of file
diff --git a/library/ace/snippets/vala.js b/library/ace/snippets/vala.js
new file mode 100644
index 000000000..89927bcfb
--- /dev/null
+++ b/library/ace/snippets/vala.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/vala",["require","exports","module"],function(e,t,n){"use strict";t.snippets=[{content:"case ${1:condition}:\n $0\n break;\n",name:"case",scope:"vala",tabTrigger:"case"},{content:"/**\n * ${6}\n */\n${1:public} class ${2:MethodName}${3: : GLib.Object} {\n\n /**\n * ${7}\n */\n public ${2}(${4}) {\n ${5}\n }\n\n $0\n}",name:"class",scope:"vala",tabTrigger:"class"},{content:"(${1}) => {\n ${0}\n}\n",name:"closure",scope:"vala",tabTrigger:"=>"},{content:"/*\n * $0\n */",name:"Comment (multiline)",scope:"vala",tabTrigger:"/*"},{content:"Console.WriteLine($1);\n$0",name:"Console.WriteLine (writeline)",scope:"vala",tabTrigger:"writeline"},{content:'[DBus(name = "$0")]',name:"DBus annotation",scope:"vala",tabTrigger:"[DBus"},{content:"delegate ${1:void} ${2:DelegateName}($0);",name:"delegate",scope:"vala",tabTrigger:"delegate"},{content:"do {\n $0\n} while ($1);\n",name:"do while",scope:"vala",tabTrigger:"dowhile"},{content:"/**\n * $0\n */",name:"DocBlock",scope:"vala",tabTrigger:"/**"},{content:"else if ($1) {\n $0\n}\n",name:"else if (elseif)",scope:"vala",tabTrigger:"elseif"},{content:"else {\n $0\n}",name:"else",scope:"vala",tabTrigger:"else"},{content:"enum {$1:EnumName} {\n $0\n}",name:"enum",scope:"vala",tabTrigger:"enum"},{content:"public errordomain ${1:Error} {\n $0\n}",name:"error domain",scope:"vala",tabTrigger:"errordomain"},{content:"for ($1;$2;$3) {\n $0\n}",name:"for",scope:"vala",tabTrigger:"for"},{content:"foreach ($1 in $2) {\n $0\n}",name:"foreach",scope:"vala",tabTrigger:"foreach"},{content:"Gee.ArrayList<${1:G}>($0);",name:"Gee.ArrayList",scope:"vala",tabTrigger:"ArrayList"},{content:"Gee.HashMap<${1:K},${2:V}>($0);",name:"Gee.HashMap",scope:"vala",tabTrigger:"HashMap"},{content:"Gee.HashSet<${1:G}>($0);",name:"Gee.HashSet",scope:"vala",tabTrigger:"HashSet"},{content:"if ($1) {\n $0\n}",name:"if",scope:"vala",tabTrigger:"if"},{content:"interface ${1:InterfaceName}{$2: : SuperInterface} {\n $0\n}",name:"interface",scope:"vala",tabTrigger:"interface"},{content:"public static int main(string [] argv) {\n ${0}\n return 0;\n}",name:"Main function",scope:"vala",tabTrigger:"main"},{content:"namespace $1 {\n $0\n}\n",name:"namespace (ns)",scope:"vala",tabTrigger:"ns"},{content:"stdout.printf($0);",name:"printf",scope:"vala",tabTrigger:"printf"},{content:"${1:public} ${2:Type} ${3:Name} {\n set {\n $0\n }\n get {\n\n }\n}",name:"property (prop)",scope:"vala",tabTrigger:"prop"},{content:"${1:public} ${2:Type} ${3:Name} {\n get {\n $0\n }\n}",name:"read-only property (roprop)",scope:"vala",tabTrigger:"roprop"},{content:'@"${1:\\$var}"',name:"String template (@)",scope:"vala",tabTrigger:"@"},{content:"struct ${1:StructName} {\n $0\n}",name:"struct",scope:"vala",tabTrigger:"struct"},{content:"switch ($1) {\n $0\n}",name:"switch",scope:"vala",tabTrigger:"switch"},{content:"try {\n $2\n} catch (${1:Error} e) {\n $0\n}",name:"try/catch",scope:"vala",tabTrigger:"try"},{content:'"""$0""";',name:'Verbatim string (""")',scope:"vala",tabTrigger:"verbatim"},{content:"while ($1) {\n $0\n}",name:"while",scope:"vala",tabTrigger:"while"}],t.scope=""}) \ No newline at end of file
diff --git a/library/ace/snippets/vbscript.js b/library/ace/snippets/vbscript.js
new file mode 100644
index 000000000..1cf30b942
--- /dev/null
+++ b/library/ace/snippets/vbscript.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/vbscript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="vbscript"}) \ No newline at end of file
diff --git a/library/ace/snippets/velocity.js b/library/ace/snippets/velocity.js
new file mode 100644
index 000000000..9ab7789cb
--- /dev/null
+++ b/library/ace/snippets/velocity.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/velocity",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# macro\nsnippet #macro\n #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n ${3:## macro code}\n #end\n# foreach\nsnippet #foreach\n #foreach ( ${1:\\$item} in ${2:\\$collection} )\n ${3:## foreach code}\n #end\n# if\nsnippet #if\n #if ( ${1:true} )\n ${0}\n #end\n# if ... else\nsnippet #ife\n #if ( ${1:true} )\n ${2}\n #else\n ${0}\n #end\n#import\nsnippet #import\n #import ( "${1:path/to/velocity/format}" )\n# set\nsnippet #set\n #set ( $${1:var} = ${0} )\n',t.scope="velocity",t.includeScopes=["html","javascript","css"]}) \ No newline at end of file
diff --git a/library/ace/snippets/verilog.js b/library/ace/snippets/verilog.js
new file mode 100644
index 000000000..2c6f906cf
--- /dev/null
+++ b/library/ace/snippets/verilog.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/verilog",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="verilog"}) \ No newline at end of file
diff --git a/library/ace/snippets/vhdl.js b/library/ace/snippets/vhdl.js
new file mode 100644
index 000000000..c8d6fb904
--- /dev/null
+++ b/library/ace/snippets/vhdl.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/vhdl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="vhdl"}) \ No newline at end of file
diff --git a/library/ace/snippets/wollok.js b/library/ace/snippets/wollok.js
new file mode 100644
index 000000000..521fc7865
--- /dev/null
+++ b/library/ace/snippets/wollok.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/wollok",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='##\n## Basic Java packages and import\nsnippet im\n import\nsnippet w.l\n wollok.lang\nsnippet w.i\n wollok.lib\n\n## Class and object\nsnippet cl\n class ${1:`Filename("", "untitled")`} ${2}\nsnippet obj\n object ${1:`Filename("", "untitled")`} ${2:inherits Parent}${3}\nsnippet te\n test ${1:`Filename("", "untitled")`}\n\n##\n## Enhancements\nsnippet inh\n inherits\n\n##\n## Comments\nsnippet /*\n /*\n * ${1}\n */\n\n##\n## Control Statements\nsnippet el\n else\nsnippet if\n if (${1}) ${2}\n\n##\n## Create a Method\nsnippet m\n method ${1:method}(${2}) ${5}\n\n## \n## Tests\nsnippet as\n assert.equals(${1:expected}, ${2:actual})\n\n##\n## Exceptions\nsnippet ca\n catch ${1:e} : (${2:Exception} ) ${3}\nsnippet thr\n throw\nsnippet try\n try {\n ${3}\n } catch ${1:e} : ${2:Exception} {\n }\n\n##\n## Javadocs\nsnippet /**\n /**\n * ${1}\n */\n\n##\n## Print Methods\nsnippet print\n console.println("${1:Message}")\n\n##\n## Setter and Getter Methods\nsnippet set\n method set${1:}(${2:}) {\n $1 = $2\n }\nsnippet get\n method get${1:}() {\n return ${1:};\n }\n\n##\n## Terminate Methods or Loops\nsnippet re\n return',t.scope="wollok"}) \ No newline at end of file
diff --git a/library/ace/snippets/xml.js b/library/ace/snippets/xml.js
new file mode 100644
index 000000000..e1c1b3941
--- /dev/null
+++ b/library/ace/snippets/xml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/xml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="xml"}) \ No newline at end of file
diff --git a/library/ace/snippets/xquery.js b/library/ace/snippets/xquery.js
new file mode 100644
index 000000000..ea0f7edec
--- /dev/null
+++ b/library/ace/snippets/xquery.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/xquery",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet for\n for $${1:item} in ${2:expr}\nsnippet return\n return ${1:expr}\nsnippet import\n import module namespace ${1:ns} = "${2:http://www.example.com/}";\nsnippet some\n some $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet every\n every $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet if\n if(${1:true}) then ${2:expr} else ${3:true}\nsnippet switch\n switch(${1:"foo"})\n case ${2:"foo"}\n return ${3:true}\n default return ${4:false}\nsnippet try\n try { ${1:expr} } catch ${2:*} { ${3:expr} }\nsnippet tumbling\n for tumbling window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet sliding\n for sliding window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet let\n let $${1:varname} := ${2:expr}\nsnippet group\n group by $${1:varname} := ${2:expr}\nsnippet order\n order by ${1:expr} ${2:descending}\nsnippet stable\n stable order by ${1:expr}\nsnippet count\n count $${1:varname}\nsnippet ordered\n ordered { ${1:expr} }\nsnippet unordered\n unordered { ${1:expr} }\nsnippet treat \n treat as ${1:expr}\nsnippet castable\n castable as ${1:atomicType}\nsnippet cast\n cast as ${1:atomicType}\nsnippet typeswitch\n typeswitch(${1:expr})\n case ${2:type} return ${3:expr}\n default return ${4:expr}\nsnippet var\n declare variable $${1:varname} := ${2:expr};\nsnippet fn\n declare function ${1:ns}:${2:name}(){\n ${3:expr}\n };\nsnippet module\n module namespace ${1:ns} = "${2:http://www.example.com}";\n',t.scope="xquery"}) \ No newline at end of file
diff --git a/library/ace/snippets/yaml.js b/library/ace/snippets/yaml.js
new file mode 100644
index 000000000..80b5d3b36
--- /dev/null
+++ b/library/ace/snippets/yaml.js
@@ -0,0 +1 @@
+ace.define("ace/snippets/yaml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="yaml"}) \ No newline at end of file
diff --git a/library/ace/theme-ambiance.js b/library/ace/theme-ambiance.js
new file mode 100644
index 000000000..e7c0b6b04
--- /dev/null
+++ b/library/ace/theme-ambiance.js
@@ -0,0 +1 @@
+ace.define("ace/theme/ambiance",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-ambiance",t.cssText=".ace-ambiance .ace_gutter {background-color: #3d3d3d;background-image: -moz-linear-gradient(left, #3D3D3D, #333);background-image: -ms-linear-gradient(left, #3D3D3D, #333);background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#3D3D3D), to(#333));background-image: -webkit-linear-gradient(left, #3D3D3D, #333);background-image: -o-linear-gradient(left, #3D3D3D, #333);background-image: linear-gradient(left, #3D3D3D, #333);background-repeat: repeat-x;border-right: 1px solid #4d4d4d;text-shadow: 0px 1px 1px #4d4d4d;color: #222;}.ace-ambiance .ace_gutter-layer {background: repeat left top;}.ace-ambiance .ace_gutter-active-line {background-color: #3F3F3F;}.ace-ambiance .ace_fold-widget {text-align: center;}.ace-ambiance .ace_fold-widget:hover {color: #777;}.ace-ambiance .ace_fold-widget.ace_start,.ace-ambiance .ace_fold-widget.ace_end,.ace-ambiance .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-ambiance .ace_fold-widget.ace_start:after {content: '\u25be'}.ace-ambiance .ace_fold-widget.ace_end:after {content: '\u25b4'}.ace-ambiance .ace_fold-widget.ace_closed:after {content: '\u2023'}.ace-ambiance .ace_print-margin {border-left: 1px dotted #2D2D2D;right: 0;background: #262626;}.ace-ambiance .ace_scroller {-webkit-box-shadow: inset 0 0 10px black;-moz-box-shadow: inset 0 0 10px black;-o-box-shadow: inset 0 0 10px black;box-shadow: inset 0 0 10px black;}.ace-ambiance {color: #E6E1DC;background-color: #202020;}.ace-ambiance .ace_cursor {border-left: 1px solid #7991E8;}.ace-ambiance .ace_overwrite-cursors .ace_cursor {border: 1px solid #FFE300;background: #766B13;}.ace-ambiance.normal-mode .ace_cursor-layer {z-index: 0;}.ace-ambiance .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20);}.ace-ambiance .ace_marker-layer .ace_selected-word {border-radius: 4px;border: 8px solid #3f475d;box-shadow: 0 0 4px black;}.ace-ambiance .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-ambiance .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25);}.ace-ambiance .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031);}.ace-ambiance .ace_invisible {color: #333;}.ace-ambiance .ace_paren {color: #24C2C7;}.ace-ambiance .ace_keyword {color: #cda869;}.ace-ambiance .ace_keyword.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_punctuation.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_identifier {}.ace-ambiance .ace-statement {color: #cda869;}.ace-ambiance .ace_constant {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_language {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_library {}.ace-ambiance .ace_constant.ace_numeric {color: #78CF8A;}.ace-ambiance .ace_invalid {text-decoration: underline;}.ace-ambiance .ace_invalid.ace_illegal {color:#F8F8F8;background-color: rgba(86, 45, 86, 0.75);}.ace-ambiance .ace_invalid,.ace-ambiance .ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1;}.ace-ambiance .ace_support {color: #9B859D;}.ace-ambiance .ace_support.ace_function {color: #DAD085;}.ace-ambiance .ace_function.ace_buildin {color: #9b859d;}.ace-ambiance .ace_string {color: #8f9d6a;}.ace-ambiance .ace_string.ace_regexp {color: #DAD085;}.ace-ambiance .ace_comment {font-style: italic;color: #555;}.ace-ambiance .ace_comment.ace_doc {}.ace-ambiance .ace_comment.ace_doc.ace_tag {color: #666;font-style: normal;}.ace-ambiance .ace_definition,.ace-ambiance .ace_type {color: #aac6e3;}.ace-ambiance .ace_variable {color: #9999cc;}.ace-ambiance .ace_variable.ace_language {color: #9b859d;}.ace-ambiance .ace_xml-pe {color: #494949;}.ace-ambiance .ace_gutter-layer,.ace-ambiance .ace_text-layer {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAQAAAAHUWYVAABFFUlEQVQYGbzBCeDVU/74/6fj9HIcx/FRHx9JCFmzMyGRURhLZIkUsoeRfUjS2FNDtr6WkMhO9sm+S8maJfu+Jcsg+/o/c+Z4z/t97/vezy3z+z8ekGlnYICG/o7gdk+wmSHZ1z4pJItqapjoKXWahm8NmV6eOTbWUOp6/6a/XIg6GQqmenJ2lDHyvCFZ2cBDbmtHA043VFhHwXxClWmeYAdLhV00Bd85go8VmaFCkbVkzlQENzfBDZ5gtN7HwF0KDrTwJ0dypSOzpaKCMwQHKTIreYIxlmhXTzTWkVm+LTynZhiSBT3RZQ7aGfjGEd3qyXQ1FDymqbKxpspERQN2MiRjNZlFFQXfCNFm9nM1zpAsoYjmtRTc5ajwuaXc5xrWskT97RaKzAGe5ARHhVUsDbjKklziiX5WROcJwSNCNI+9w1Jwv4Zb2r7lCMZ4oq5C0EdTx+2GzNuKpJ+iFf38JEWkHJn9DNF7mmBDITrWEg0VWL3pHU20tSZnuqWu+R3BtYa8XxV1HO7GyD32UkOpL/yDloINFTmvtId+nmAjxRw40VMwVKiwrKLE4bK5UOVntYwhOcSSXKrJHKPJedocpGjVz/ZMIbnYUPB10/eKCrs5apqpgVmWzBYWpmtKHecJPjaUuEgRDDaU0oZghCJ6zNMQ5ZhDYx05r5v2muQdM0EILtXUsaKiQX9WMEUotagQzFbUNN6NUPC2nm5pxEWGCjMc3GdJHjSU2kORLK/JGSrkfGEIjncU/CYUnOipoYemwj8tST9NsJmB7TUVXtbUtXATJVZXBMvYeTXJfobgJUPmGMP/yFaWonaa6BcFO3nqcIqCozSZoZoSr1g4zJOzuyGnxTEX3lUEJ7WcZgme8ddaWvWJo2AJR9DZU3CUIbhCSG6ybSwN6qtJVnCU2svDTP2ZInOw2cBTrqtQahtNZn9NcJ4l2NaSmSkkP1noZWnVwkLmdUPOwLZEwy2Z3S3R+4rIG9hcbpPXHFVWcQdZkn2FOta3cKWQnNRC5g1LsJah4GCzSVsKnCOY5OAFRTBekyyryeyilhFKva75r4Mc0aWanGEaThcy31s439KKxTzJYY5WTHPU1FtIHjQU3Oip4xlNzj/lBw23dYZVliQa7WAXf4shetcQfatI+jWRDBPmyNeW6A1P5kdDgyYJlba0BIM8BZu1JfrFwItyjcAMR3K0BWOIrtMEXyhyrlVEx3ui5dUBjmB/Q3CXW85R4mBD0s7B+4q5tKUjOlb9qqmhi5AZ6GFIC5HXtOobdYGlVdMVbNJ8toNTFcHxnoL+muBagcctjWnbNMuR00uI7nQESwg5q2qqrKWIfrNUmeQocY6HuyxJV02wj36w00yhpmUFenv4p6fUkZYqLyuinx2RGOjhCXYyJF84oiU00YMOOhhquNdfbOB7gU88pY4xJO8LVdp6/q2voeB4R04vIdhSE40xZObx1HGGJ/ja0LBthFInKaLPPFzuCaYaoj8JjPME8yoyxo6zlBqkiUZYgq00OYMswbWO5NGmq+xhipxHLRW29ARjNKXO0wRnear8XSg4XFPLKEPUS1GqvyLwiuBUoa7zpZ0l5xxFwWmWZC1H5h5FwU8eQ7K+g8UcVY6TMQreVQT/8uQ8Z+ALIXnSEa2pYZQneE9RZbSBNYXfWYJzW/h/4j4Dp1tYVcFIC5019Vyi4ThPqSFCzjGWaHQTBU8q6vrVwgxP9Lkm840imWKpcLCjYTtrKuwvsKSnrvHCXGkSMk9p6lhckfRpIeis+N2PiszT+mFLspyGleUhDwcLrZqmyeylxwjBcKHEapqkmyangyLZRVOijwOtCY5SsG5zL0OwlCJ4y5KznF3EUNDDrinwiyLZRzOXtlBbK5ITHFGLp8Q0R6ab6mS7enI2cFrxOyHvOCFaT1HThS1krjCwqWeurCkk+willhCC+RSZnRXBiZaC5RXRIZYKp2lyfrHwiKPKR0JDzrdU2EFgpidawlFDR6FgXUMNa+g1FY3bUQh2cLCwosRdnuQTS/S+JVrGLeWIvtQUvONJxlqSQYYKpwoN2kaocLjdVsis4Mk80ESF2YpSkzwldjHkjFCUutI/r+EHDU8oCs6yzL3PhWiEooZdFMkymlas4AcI3KmoMMNSQ3tHzjGWCrcJJdYyZC7QFGwjRL9p+MrRkAGWzIaWCn9W0F3TsK01c2ZvQw0byvxuQU0r1lM0qJO7wW0kRIMdDTtXEdzi4VIh+EoIHm0mWtAtpCixlabgn83fKTI7anJe9ST7WIK1DMGpQmYeA58ImV6ezOGOzK2Kgq01pd60cKWiUi9Lievb/0vIDPHQ05Kzt4ddPckQBQtoaurjyHnek/nKzpQLrVgKPjIkh2v4uyezpv+Xoo7fPFXaGFp1vaLKxQ4uUpQQS5VuQs7BCq4xRJv7fwpVvvFEB3j+620haOuocqMhWd6TTPAEx+mdFNGHdranFe95WrWmIvlY4F1Dle2ECgc6cto7SryuqGGGha0tFQ5V53migUKmg6XKAo4qS3mik+0OZpAhOLeZKicacgaYcyx5hypYQE02ZA4xi/pNhOQxR4klNKyqacj+mpxnLTnnGSo85++3ZCZq6lrZkXlGEX3o+C9FieccJbZWVFjC0Yo1FZnJhoYMFoI1hEZ9r6hwg75HwzBNhbZCdJEfJwTPGzJvaKImw1yYX1HDAmpXR+ZJQ/SmgqMNVQb5vgamGwLtt7VwvP7Qk1xpiM5x5Cyv93E06MZmgs0Nya2azIKOYKCGBQQW97RmhKNKF02JZqHEJ4o58qp7X5EcZmc56trXEqzjCBZ1MFGR87Ql2tSTs6CGxS05PTzRQorkbw7aKoKXFDXsYW42VJih/q+FP2BdTzDTwVqOYB13liM50vG7wy28qagyuIXMeQI/Oqq8bcn5wJI50xH00CRntyfpL1T4hydYpoXgNiFzoIUTDZnLNRzh4TBHwbYGDvZkxmlyJloyr6tRihpeUG94GnKtIznREF0tzJG/OOr73JBcrSh1k6WuTprgLU+mnSGnv6Zge0NNz+kTDdH8nuAuTdJDCNb21LCiIuqlYbqGzT3RAoZofQfjFazkqeNWdYaGvYTM001EW2oKPvVk1ldUGSgUtHFwjKM1h9jnFcmy5lChoLNaQMGGDsYbKixlaMBmmsx1QjCfflwTfO/gckW0ruZ3jugKR3R5W9hGUWqCgxuFgsuaCHorotGKzGaeZB9DMsaTnKCpMtwTvOzhYk0rdrArKCqcaWmVk1+F372ur1YkKxgatI8Qfe1gIX9wE9FgS8ESmuABIXnRUbCapcKe+nO7slClSZFzpV/LkLncEb1qiO42fS3R855Su2mCLh62t1SYZZYVmKwIHjREF2uihTzB20JOkz7dkxzYQnK0UOU494wh+VWRc6Un2kpTaVgLDFEkJ/uhzRcI0YKGgpGWOlocBU/a4fKoJ/pEaNV6jip3+Es9VXY078rGnmAdf7t9ylPXS34RBSuYPs1UecZTU78WanhBCHpZ5sAoTz0LGZKjPf9TRypqWEiTvOFglL1fCEY3wY/++rbk7C8bWebA6p6om6PgOL2kp44TFJlVNBXae2rqqdZztOJpT87GQsE9jqCPIe9VReZuQ/CIgacsyZdCpIScSYqcZk8r+nsyCzhyfhOqHGOIvrLknC8wTpFcaYiGC/RU1NRbUeUpocQOnkRpGOrIOcNRx+1uA0UrzhSSt+VyS3SJpnFWkzNDqOFGIWcfR86DnmARTQ1HKIL33ExPiemeOhYSSjzlSUZZuE4TveoJLnBUOFof6KiysCbnAEcZgcUNTDOwkqWu3RWtmGpZwlHhJENdZ3miGz0lJlsKnjbwqSHQjpxnFDlTLLwqJPMZMjd7KrzkSG7VsxXBZE+F8YZkb01Oe00yyRK9psh5SYh29ySPKBo2ylNht7ZkZnsKenjKNJu9PNEyZpaCHv4Kt6RQsLvAVp7M9kIimmCUwGeWqLMmGuIotYMmWNpSahkhZw9FqZsVnKJhsjAHvtHMsTM9fCI06Dx/u3vfUXCqfsKRc4oFY2jMsoo/7DJDwZ1CsIKnJu+J9ldkpmiCxQx1rWjI+T9FwcWWzOuaYH0Hj7klNRVWEQpmaqosakiGNTFHdjS/qnUdmf0NJW5xsL0HhimCCZZSRzmSPTXJQ4aaztAwtZnoabebJ+htCaZ7Cm535ByoqXKbX1WRc4Eh2MkRXWzImVc96Cj4VdOKVxR84VdQsIUM8Psoou2byVHyZFuq7O8otbSQ2UAoeEWTudATLGSpZzVLlXVkPU2Jc+27lsw2jmg5T5VhbeE3BT083K9WsTTkFU/Osi0rC5lRlpwRHUiesNS0sOvmqGML1aRbPAxTJD9ZKtxuob+hhl8cwYGWpJ8nub7t5p6coYbMovZ1BTdaKn1jYD6h4GFDNFyT/Kqe1XCXphXHOKLZmuRSRdBPEfVUXQzJm5YGPGGJdvAEr7hHNdGZnuBvrpciGmopOLf5N0uVMy0FfYToJk90uUCbJupaVpO53UJXR2bVpoU00V2KOo4zMFrBd0Jtz2pa0clT5Q5L8IpQ177mWQejPMEJhuQjS10ref6HHjdEhy1P1EYR7GtO0uSsKJQYLiTnG1rVScj5lyazpqWGl5uBbRWl7m6ixGOOnEsMJR7z8J0n6KMnCdxhiNYQCoZ6CmYLnO8omC3MkW3bktlPmEt/VQQHejL3+dOE5FlPdK/Mq8hZxxJtLyRrepLThYKbLZxkSb5W52vYxNOaOxUF0yxMUPwBTYqCzy01XayYK0sJyWBLqX0MwU5CzoymRzV0EjjeUeLgDpTo6ij42ZAzvD01dHUUTPLU96MdLbBME8nFBn7zJCMtJcZokn8YoqU0FS5WFKyniHobguMcmW8N0XkWZjkyN3hqOMtS08r+/xTBwpZSZ3qiVRX8SzMHHjfUNFjgHEPmY9PL3ykEzxkSre/1ZD6z/NuznuB0RcE1TWTm9zRgfUWVJiG6yrzgmWPXC8EAR4Wxhlad0ZbgQyEz3pG5RVEwwDJH2mgKpjcTiCOzn1lfUWANFbZ2BA8balnEweJC9J0iuaeZoI+ippFCztEKVvckR2iice1JvhVytrQwUAZpgsubCPaU7xUe9vWnaOpaSBEspalykhC9bUlOMpT42ZHca6hyrqKmw/wMR8H5ZmdFoBVJb03O4UL0tSNnvIeRmkrLWqrs78gcrEn2tpcboh0UPOW3UUR9PMk4T4nnNKWmCjlrefhCwxRNztfmIQVdDElvS4m1/WuOujoZCs5XVOjtKPGokJzsYCtFYoWonSPT21DheU/wWhM19FcElwqNGOsp9Q8N/cwXaiND1MmeL1Q5XROtYYgGeFq1aTMsoMmcrKjQrOFQTQ1fmBYhmW6o8Jkjc7iDJRTBIo5kgJD5yMEYA3srCg7VFKwiVJkmRCc5ohGOKhsYMn/XBLdo5taZjlb9YAlGWRimqbCsoY7HFAXLa5I1HPRxMMsQDHFkWtRNniqT9UEeNjcE7RUlrCJ4R2CSJuqlKHWvJXjAUNcITYkenuBRB84TbeepcqTj3zZyFJzgYQdHnqfgI0ddUwS6GqWpsKWhjq9cV0vBAEMN2znq+EBfIWT+pClYw5xsTlJU6GeIBsjGmmANTzJZiIYpgrM0Oa8ZMjd7NP87jxhqGOhJlnQtjuQpB+8aEE00wZFznSJPyHxgH3HkPOsJFvYk8zqCHzTs1BYOa4J3PFU+UVRZxlHDM4YavlNUuMoRveiZA2d7grMNc2g+RbSCEKzmgYsUmWmazFJyoiOZ4KnyhKOGRzWJa0+moyV4TVHDzn51Awtqaphfk/lRQ08FX1iiqxTB/kLwd0VynKfEvI6cd4XMV5bMhZ7gZUWVzYQ6Nm2BYzxJbw3bGthEUUMfgbGeorae6DxHtJoZ6alhZ0+ytiVoK1R4z5PTrOECT/SugseEOlb1MMNR4VRNcJy+V1Hg9ONClSZFZjdHlc6W6FBLdJja2MC5hhpu0DBYEY1TFGwiFAxRRCsYkiM9JRb0JNMVkW6CZYT/2EiTGWmo8k+h4FhDNE7BvppoTSFnmCV5xZKzvcCdDo7VVPnIU+I+Rc68juApC90MwcFCsJ5hDqxgScYKreruyQwTqrzoqDCmhWi4IbhB0Yrt3RGa6GfDv52rKXWhh28dyZaWUvcZeMTBaZoSGyiCtRU5J8iviioHaErs7Jkj61syVzTTgOcUOQ8buFBTYWdL5g3T4qlpe0+wvD63heAXRfCCIed9RbCsp2CiI7raUOYOTU13N8PNHvpaGvayo4a3LLT1lDrVEPT2zLUlheB1R+ZTRfKWJ+dcocLJfi11vyJ51lLqJ0WD7tRwryezjiV5W28uJO9qykzX8JDe2lHl/9oyBwa2UMfOngpXCixvKdXTk3wrsKmiVYdZIqsoWEERjbcUNDuiaQomGoIbFdEHmsyWnuR+IeriKDVLnlawlyNHKwKlSU631PKep8J4Q+ayjkSLKYLhalNHlYvttb6fHm0p6OApsZ4l2VfdqZkjuysy6ysKLlckf1KUutCTs39bmCgEyyoasIWlVaMF7mgmWtBT8Kol5xpH9IGllo8cJdopcvZ2sImlDmMIbtDk3KIpeNiS08lQw11NFPTwVFlPP6pJ2gvRfI7gQUfmNAtf6Gs0wQxDsKGlVBdF8rCa3jzdwMaGHOsItrZk7hAyOzpK9VS06j5F49b0VNGOOfKs3lDToMsMBe9ZWtHFEgxTJLs7qrygKZjUnmCYoeAqeU6jqWuLJup4WghOdvCYJnrSkSzoyRkm5M2StQwVltPkfCAk58tET/CSg+8MUecmotMEnhBKfWBIZsg2ihruMJQaoIm+tkTLKEqspMh00w95gvFCQRtDwTT1gVDDSEVdlwqZfxoQRbK0g+tbiBZxzKlpnpypejdDwTaeOvorMk/IJE10h9CqRe28hhLbe0pMsdSwv4ZbhKivo2BjDWfL8UKJgeavwlwb5KlwhyE4u4XkGE2ytZCznKLCDZZq42VzT8HLCrpruFbIfOIINmh/qCdZ1ZBc65kLHR1Bkyf5zn6pN3SvGKIlFNGplhrO9QSXanLOMQTLCa0YJCRrCZm/CZmrLTm7WzCK4GJDiWUdFeYx1LCFg3NMd0XmCuF3Y5rITLDUsYS9zoHVzwnJoYpSTQoObyEzr4cFBNqYTopoaU/wkyLZ2lPhX/5Y95ulxGTV7KjhWrOZgl8MyUUafjYraNjNU1N3IWcjT5WzWqjwtoarHSUObGYO3GCJZpsBlnJGPd6ZYLyl1GdCA2625IwwJDP8GUKymbzuyPlZlvTUsaUh5zFDhRWFzPKKZLAlWdcQbObgF9tOqOsmB1dqcqYJmWstFbZRRI9poolmqiLnU0POvxScpah2iSL5UJNzgScY5+AuIbpO0YD3NCW+dLMszFSdFCWGqG6eVq2uYVNDdICGD6W7EPRWZEY5gpsE9rUkS3mijzzJnm6UpUFXG1hCUeVoS5WfNcFpblELL2qqrCvMvRfd45oalvKU2tiQ6ePJOVMRXase9iTtLJztPxJKLWpo2CRDcJwn2sWSLKIO1WQWNTCvpVUvOZhgSC40JD0dOctaSqzkCRbXsKlb11Oip6PCJ0IwSJM31j3akRxlP7Rwn6aGaUL0qiLnJkvB3xWZ2+Q1TfCwpQH3G0o92UzmX4o/oJNQMMSQc547wVHhdk+VCw01DFYEnTxzZKAm74QmeNNR1w6WzEhNK15VJzuCdxQ53dRUDws5KvwgBMOEgpcVNe0hZI6RXT1Jd0cyj5nsaEAHgVmGaJIlWdsc5Ui2ElrRR6jrRAttNMEAIWrTDFubkZaok7/AkzfIwfuWVq0jHzuCK4QabtLUMVPB3kJ0oyHTSVFlqMALilJf2Rf8k5aaHtMfayocLBS8L89oKoxpJvnAkDPa0qp5DAUTHKWmCcnthlou8iCKaFFLHWcINd1nyIwXqrSxMNmSs6KmoL2QrKuWtlQ5V0120xQ5vRyZS1rgFkWwhiOwiuQbR0OOVhQM9iS3tiXp4RawRPMp5tDletOOBL95MpM01dZTBM9pkn5qF010rIeHFcFZhmSGpYpTsI6nwhqe5C9ynhlpp5ophuRb6WcJFldkVnVEwwxVfrVkvnWUuNLCg5bgboFHPDlDPDmnK7hUrWiIbjadDclujlZcaokOFup4Ri1kacV6jmrrK1hN9bGwpKEBQ4Q6DvIUXOmo6U5LqQM6EPyiKNjVkPnJkDPNEaxhiFay5ExW1NXVUGqcpYYdPcGiCq7z/TSlbhL4pplWXKd7NZO5QQFrefhRQW/NHOsqcIglc4UhWklR8K0QzbAw08CBDnpbgqXdeD/QUsM4RZXDFBW6WJKe/mFPdH0LtBgiq57wFLzlyQzz82qYx5D5WJP5yVJDW01BfyHnS6HKO/reZqId1WGa4Hkh2kWodJ8i6KoIPlAj2hPt76CzXsVR6koPRzWTfKqIentatYpQw2me4AA3y1Kind3SwoOKZDcFXTwl9tWU6mfgRk9d71sKtlNwrjnYw5tC5n5LdKiGry3JKNlHEd3oaMCFHrazBPMp/uNJ+V7IudcSbeOIdjUEdwl0VHCOZo5t6YluEuaC9mQeMgSfOyKnYGFHcIeQ84yQWbuJYJpZw5CzglDH7gKnWqqM9ZTaXcN0TeYhR84eQtJT76JJ1lREe7WnnvsMmRc9FQ7SBBM9mV3lCUdmHk/S2RAMt0QjFNFqQpWjDPQ01DXWUdDBkXziKPjGEP3VP+zIWU2t7im41FOloyWzn/L6dkUy3VLDaZ6appgDLHPjJEsyvJngWEPUyVBiAaHCTEXwrLvSEbV1e1gKJniicWorC1MUrVjB3uDhJE/wgSOzk1DXpk0k73qCM8xw2UvD5kJmDUfOomqMpWCkJRlvKXGmoeBm18USjVIk04SClxTB6YrgLAPLWYK9HLUt5cmc0vYES8GnTeRc6skZbQkWdxRsIcyBRzx1DbTk9FbU0caTPOgJHhJKnOGIVhQqvKmo0llRw9sabrZkDtdg3PqaKi9oatjY8B+G371paMg6+mZFNNtQ04mWBq3rYLOmtWWQp8KJnpy9DdFensyjdqZ+yY40VJlH8wcdLzC8PZnvHMFUTZUrDTkLyQaGus5X5LzpYAf3i+e/ZlhqGqWhh6Ou6xTR9Z6oi5AZZtp7Mj2EEm8oSpxiYZCHU/1fbGdNNNRRoZMhmilEb2gqHOEJDtXkHK/JnG6IrvbPCwV3NhONVdS1thBMs1T4QOBcTWa2IzhMk2nW5Kyn9tXUtpv9RsG2msxk+ZsQzRQacJncpgke0+T8y5Fzj8BiGo7XlJjaTIlpQs7KFjpqGnKuoyEPeIKnFMkZHvopgh81ySxNFWvJWcKRs70j2FOT012IllEEO1n4pD1513Yg2ssQPOThOkvyrqHUdEXOSEsihmBbTbKX1kLBPWqWkLOqJbjB3GBIZmoa8qWl4CG/iZ7oiA72ZL7TJNeZUY7kFQftDcHHluBzRbCegzMtrRjVQpX2lgoPKKLJAkcbMl01XK2p7yhL8pCBbQ3BN2avJgKvttcrWDK3CiUOVxQ8ZP+pqXKyIxnmBymCg5vJjNfkPK4+c8cIfK8ocVt7kmfd/I5SR1hKvCzUtb+lhgc00ZaO6CyhIQP1Uv4yIZjload72PXX0OIJvnFU+0Zf6MhsJwTfW0r0UwQfW4LNLZl5HK261JCZ4qnBaAreVAS3WrjV0LBnNDUNNDToCEeFfwgcb4gOEqLRhirWkexrCEYKVV711DLYEE1XBEsp5tpTGjorkomKYF9FDXv7fR3BGwbettSxnyL53MBPjsxDZjMh+VUW9NRxq1DhVk+FSxQcaGjV9Pawv6eGByw5qzoy7xk4RsOShqjJwWKe/1pEEfzkobeD/dQJmpqedcyBTy2sr4nGNRH0c0SPWTLrqAc0OQcb/gemKgqucQT7ySWKCn2EUotoCvpZct7RO2sy/QW0IWcXd7pQRQyZVwT2USRO87uhjioTLKV2brpMUcMQRbKH/N2T+UlTpaMls6cmc6CCNy3JdYYSUzzJQ4oSD3oKLncULOiJvjBEC2oqnCJkJluCYy2ZQ5so9YYlZ1VLlQU1mXEW1jZERwj/MUSRc24TdexlqLKfQBtDTScJUV8FszXBEY5ktpD5Ur9hYB4Nb1iikw3JoYpkKX+RodRKFt53MMuRnKSpY31PwYaGaILh3wxJGz9TkTPEETxoCWZrgvOlmyMzxFEwVJE5xZKzvyJ4WxEc16Gd4Xe3Weq4XH2jKRikqOkGQ87hQnC7wBmGYLAnesX3M+S87eFATauuN+Qcrh7xIxXJbUIdMw3JGE3ylCWzrieaqCn4zhGM19TQ3z1oH1AX+pWEqIc7wNGAkULBo/ZxRaV9NNyh4Br3rCHZzbzmSfawBL0dNRwpW1kK9mxPXR9povcdrGSZK9c2k0xwFGzjuniCtRSZCZ6ccZ7gaktmgAOtKbG/JnOkJrjcQTdFMsxRQ2cLY3WTIrlCw1eWKn8R6pvt4GFDso3QoL4a3nLk3G6JrtME3dSenpx7PNFTmga0EaJTLQ061sEeQoWXhSo9LTXsaSjoJQRXeZLtDclbCrYzfzHHeaKjHCVOUkQHO3JeEepr56mhiyaYYKjjNU+Fed1wS5VlhWSqI/hYUdDOkaxiKehoyOnrCV5yBHtbWFqTHCCwtpDcYolesVR5yUzTZBb3RNMd0d6WP+SvhuBmRcGxnuQzT95IC285cr41cLGQ6aJJhmi4TMGempxeimBRQw1tFKV+8jd6KuzoSTqqDxzRtpZkurvKEHxlqXKRIjjfUNNXQsNOsRScoWFLT+YeRZVD3GRN0MdQcKqQjHDMrdGGVu3iYJpQx3WGUvfbmxwFfR20WBq0oYY7LMFhhgYtr8jpaEnaOzjawWWaTP8mMr0t/EPDPoqcnxTBI5o58L7uoWnMrpoqPwgVrlAUWE+V+TQl9rawoyP6QGAlQw2TPRX+YSkxyBC8Z6jhHkXBgQL7WII3DVFnRfCrBfxewv9D6xsyjys4VkhWb9pUU627JllV0YDNHMku/ldNMMXDEo4aFnAkk4U6frNEU4XgZUPmEKHUl44KrzmYamjAbh0JFvGnaTLPu1s9jPCwjFpYiN7z1DTOk/nc07CfDFzmCf7i+bfNHXhDtLeBXzTBT5rkMvWOIxpl4EMh2LGJBu2syDnAEx2naEhHDWMMzPZEhygyS1mS5RTJr5ZkoKbEUoYqr2kqdDUE8ztK7OaIntJkFrIECwv8LJTaVx5XJE86go8dFeZ3FN3rjabCAYpoYEeC9zzJVULBbmZhDyd7ko09ydpNZ3nm2Kee4FPPXHnYEF1nqOFEC08LUVcDvYXkJHW8gTaKCk9YGOeIJhqiE4ToPEepdp7IWFjdwnWaufGMwJJCMtUTTBBK9BGCOy2tGGrJTHIwyEOzp6aPzNMOtlZkDvcEWpP5SVNhfkvDxhmSazTJXYrM9U1E0xwFVwqZQwzJxw6+kGGGUj2FglGGmnb1/G51udRSMNlTw6GGnCcUwVcOpmsqTHa06o72sw1RL02p9z0VbnMLOaIX3QKaYKSCFQzBKEUNHTSc48k53RH9wxGMtpQa5KjjW0W0n6XCCCG4yxNNdhQ4R4l1Ff+2sSd6UFHiIEOyqqFgT01mEUMD+joy75jPhOA+oVVLm309FR4yVOlp4RhLiScNmSmaYF5Pw0STrOIoWMSR2UkRXOMp+M4SHW8o8Zoi6OZgjKOaFar8zZDzkWzvKOjkKBjmCXby8JahhjXULY4KlzgKLvAwxVGhvyd4zxB1d9T0piazmKLCVZY5sKiD0y2ZSYrkUEPUbIk+dlQ4SJHTR50k1DPaUWIdTZW9NJwnJMOECgd7ou/MnppMJ02O1VT4Wsh85MnZzcFTngpXGKo84qmwgKbCL/orR/SzJ2crA+t6Mp94KvxJUeIbT3CQu1uIdlQEOzlKfS3UMcrTiFmOuroocrZrT2AcmamOKg8YomeEKm/rlT2sociMaybaUlFhuqHCM2qIJ+rg4EcDFymiDSxzaHdPcpE62pD5kyM5SBMoA1PaUtfIthS85ig1VPiPPYXgYEMNk4Qq7TXBgo7oT57gPUdwgCHzhIVFPFU6OYJzHAX9m5oNrVjeE61miDrqQ4VSa1oiURTsKHC0IfjNwU2WzK6eqK8jWln4g15TVBnqmDteCJ501PGAocJhhqjZdtBEB6lnhLreFJKxmlKbeGrqLiSThVIbCdGzloasa6lpMQXHCME2boLpJgT7yWaemu6wBONbqGNVRS0PKIL7LckbjmQtR7K8I5qtqel+T/ChJTNIKLjdUMNIRyvOEko9YYl2cwQveBikCNawJKcLBbc7+JM92mysNvd/Fqp8a0k6CNEe7cnZrxlW0wQXaXjaktnRwNOGZKYiONwS7a1JVheq3WgJHlQUGKHKmp4KAxXR/ULURcNgoa4zhKSLpZR3kxRRb0NmD0OFn+UCS7CzI1nbP6+o4x47QZE5xRCt3ZagnYcvmpYQktXdk5YKXTzBC57kKEe0VVuiSYqapssMS3C9p2CKkHOg8B8Pa8p5atrIw3qezIWanMGa5HRDNF6RM9wcacl0N+Q8Z8hsIkSnaIIdHRUOEebAPy1zbCkhM062FCJtif7PU+UtoVXzWKqM1PxXO8cfdruhFQ/a6x3JKYagvVDhQEtNiyiiSQ7OsuRsZUku0CRNDs4Sog6KKjsZgk2bYJqijgsEenoKeniinRXBn/U3lgpPdyDZynQx8IiioMnCep5Ky8mjGs6Wty0l1hUQTcNWswS3WRp2kCNZwJG8omG8JphPUaFbC8lEfabwP7VtM9yoaNCAjpR41VNhrD9LkbN722v0CoZMByFzhaW+MyzRYEWFDQwN2M4/JiT76PuljT3VU/A36eaIThb+R9oZGOAJ9tewkgGvqOMNRWYjT/Cwu99Q8LqDE4TgbLWxJ1jaDDAERsFOFrobgjUsBScaguXU8kKm2RL19tRypSHnHNlHiIZqgufs4opgQdVdwxBNNFBR6kVFqb8ogimOzB6a6HTzrlDHEpYaxjiiA4TMQobkDg2vejjfwJGWmnbVFAw3H3hq2NyQfG7hz4aC+w3BbwbesG0swYayvpAs6++Ri1Vfzx93mFChvyN5xVHTS+0p9aqCAxyZ6ZacZyw5+7uuQkFPR9DDk9NOiE7X1PCYJVjVUqq7JlrHwWALF5nfHNGjApdpqgzx5OwilDhCiDYTgnc9waGW4BdLNNUQvOtpzDOWHDH8D7TR/A/85KljEQu3NREc4Pl/6B1Hhc8Umb5CsKMmGC9EPcxoT2amwHNCmeOEnOPbklnMkbOgIvO5UMOpQrS9UGVdt6iH/fURjhI/WOpaW9OKLYRod6HCUEdOX000wpDZQ6hwg6LgZfOqo1RfT/CrJzjekXOGhpc1VW71ZLbXyyp+93ILbC1kPtIEYx0FIx1VDrLoVzXRKRYWk809yYlC9ImcrinxtabKnzRJk3lAU1OLEN1j2zrYzr2myHRXJFf4h4QKT1qSTzTB5+ZNTzTRkAxX8FcLV2uS8eoQQ2aAkFzvCM72sJIcJET3WPjRk5wi32uSS9rfZajpWEvj9hW42F4o5NytSXYy8IKHay10VYdrcl4SkqscrXpMwyGOgtkajheSxdQqmpxP1L3t4R5PqasFnrQEjytq6qgp9Y09Qx9o4S1FzhUCn1kyHSzBWLemoSGvOqLNhZyBjmCaAUYpMgt4Ck7wBBMMwWKWgjsUwTaGVsxWC1mYoKiyqqeGKYqonSIRQ3KIkHO0pmAxTdBHkbOvfllfr+AA+7gnc50huVKYK393FOyg7rbPO/izI7hE4CnHHHnJ0ogNPRUGeUpsrZZTBJcrovUcJe51BPsr6GkJdhCCsZ6aTtMEb2pqWkqeVtDXE/QVggsU/Nl86d9RMF3DxvZTA58agu810RWawCiSzzXBeU3MMW9oyJUedvNEvQyNu1f10BSMddR1vaLCYpYa/mGocLSiYDcLbQz8aMn5iyF4xBNMs1P0QEOV7o5gaWGuzSeLue4tt3ro7y4Tgm4G/mopdZgl6q0o6KzJWE3mMksNr3r+a6CbT8g5wZNzT9O7fi/zpaOmnz3BRoqos+tv9zMbdpxsqDBOEewtJLt7cg5wtKKbvldpSzRRCD43VFheCI7yZLppggMVBS/KMAdHODJvOwq2NQSbKKKPLdFWQs7Fqo+mpl01JXYRgq8dnGLhTiFzqmWsUMdpllZdbKlyvSdYxhI9YghOtxR8LgSLWHK62mGGVoxzBE8LNWzqH9CUesQzFy5RQzTc56mhi6fgXEWwpKfE5Z7M05ZgZUPmo6auiv8YKzDYwWBLMErIbKHJvOwIrvEdhOBcQ9JdU1NHQ7CXn2XIDFBKU2WAgcX9UAUzDXWd5alwuyJ41Z9rjKLCL4aCp4WarhPm2rH+SaHUYE001JDZ2ZAzXPjdMpZWvC9wmqIB2lLhQ01D5jO06hghWMndbM7yRJMsoCj1vYbnFQVrW9jak3OlEJ3s/96+p33dEPRV5GxiqaGjIthUU6FFEZyqCa5qJrpBdzSw95IUnOPIrCUUjRZQFrbw5PR0R1qiYx3cb6nrWUMrBmmiBQxVHtTew5ICP/ip6g4hed/Akob/32wvBHsIOX83cI8hGeNeNPCIkPmXe8fPKx84OMSRM1MTdXSwjCZ4S30jVGhvqTRak/OVhgGazHuOCud5onEO1lJr6ecVyaOK6H7zqlBlIaHE0oroCgfvGJIdPcmfLNGLjpz7hZwZQpUbFME0A1cIJa7VNORkgfsMBatbKgwwJM9bSvQXeNOvbIjelg6WWvo5kvbKaJJNHexkKNHL9xRyFlH8Ti2riB5wVPhUk7nGkJnoCe428LR/wRGdYIlmWebCyxou1rCk4g/ShugBDX0V0ZQWkh0dOVsagkM0yV6OoLd5ye+pRlsCr0n+KiQrGuq5yJDzrTAXHtLUMduTDBVKrSm3eHL+6ijxhFDX9Z5gVU/wliHYTMiMFpKLNMEywu80wd3meoFmt6VbRMPenhrOc6DVe4pgXU8DnnHakLOIIrlF4FZPIw6R+zxBP0dyq6OOZ4Q5sLKCcz084ok+VsMMyQhNZmmBgX5xIXOEJTmi7VsGTvMTNdHHhpzdbE8Du2oKxgvBqQKdDDnTFOylCFaxR1syz2iqrOI/FEpNc3C6f11/7+ASS6l2inq2ciTrCCzgyemrCL5SVPjQkdPZUmGy2c9Sw9FtR1sS30RmsKPCS4rkIC/2U0MduwucYolGaPjKEyhzmiPYXagyWbYz8LWBDdzRimAXzxx4z8K9hpzlhLq+NiQ97HuKorMUfK/OVvC2JfiHUPCQI/q7J2gjK+tTDNxkCc4TMssqCs4TGtLVwQihyoAWgj9bosU80XGW6Ac9TJGziaUh5+hnFcHOnlaM1iRn29NaqGENTTTSUHCH2tWTeV0osUhH6psuVLjRUmGWhm6OZEshGeNowABHcJ2Bpy2ZszRcKkRXd2QuKVEeXnbfaEq825FguqfgfE2whlChSRMdron+LATTPQ2Z369t4B9C5gs/ylzv+CMmepIDPclFQl13W0rspPd1JOcbghGOEutqCv5qacURQl3dDKyvyJlqKXGPgcM9FfawJAMVmdcspcYKOZc4GjDYkFlK05olNMHyHn4zFNykyOxt99RkHlfwmiHo60l2EKI+mhreEKp080Tbug08BVPcgoqC5zWt+NLDTZ7oNSF51N1qie7Va3uCCwyZbkINf/NED6jzOsBdZjFN8oqG3wxVunqCSYYKf3EdhJyf9YWGf7tRU2oH3VHgPr1fe5J9hOgHd7xQ0y7qBwXr23aGErP0cm64JVjZwsOGqL+mhNgZmhJLW2oY4UhedsyBgzrCKrq7BmcpNVhR6jBPq64Vgi+kn6XE68pp8J5/+0wRHGOpsKenQn9DZntPzjRLZpDAdD2fnSgkG9tmIXnUwQ6WVighs7Yi2MxQ0N3CqYaCXkJ0oyOztMDJjmSSpcpvlrk0RMMOjmArQ04PRV1DO1FwhCVaUVPpKUM03JK5SxPsIWRu8/CGHi8UHChiqGFDTbSRJWeYUDDcH6vJWUxR4k1FXbMUwV6e4AJFXS8oMqsZKqzvYQ9DDQdZckY4aGsIhtlubbd2r3j4QBMoTamdPZk7O/Bf62lacZwneNjQoGcdVU7zJOd7ghsUHOkosagic6cnWc8+4gg285R6zZP5s1/LUbCKIznTwK36PkdwlOrl4U1LwfdCCa+IrvFkmgw1PCAUXKWo0sURXWcI2muKJlgyFzhynCY4RBOsqCjoI1R5zREco0n2Vt09BQtYSizgKNHfUmUrQ5UOCh51BFcLmY7umhYqXKQomOop8bUnWNNQcIiBcYaC6xzMNOS8JQQfeqKBmmglB+97ok/lfk3ygaHSyZaCRTzRxQo6GzLfa2jWBPepw+UmT7SQEJyiyRkhBLMVOfcoMjcK0eZChfUNzFAUzCsEN5vP/X1uP/n/aoMX+K+nw/Hjr/9xOo7j7Pju61tLcgvJpTWXNbfN5jLpi6VfCOviTktKlFusQixdEKWmEBUKNaIpjZRSSOXSgzaaKLdabrm1/9nZ+/f+vd/vz/v9+Xy+zZ7PRorYoZqyLrCwQdEAixxVOEXNNnjX2nUSRlkqGmWowk8lxR50JPy9Bo6qJXaXwNvREBvnThPEPrewryLhcAnj5WE15Fqi8W7R1sAuEu86S4ENikItFN4xkv9Af4nXSnUVcLiA9xzesFpivRRVeFKtsMRaKBhuSbjOELnAUtlSQUpXgdfB4Z1oSbnFEetbQ0IrAe+Y+pqnDcEJFj6S8LDZzZHwY4e3XONNlARraomNEt2bkvGsosA3ioyHm+6jCMbI59wqt4eeara28IzEmyPgoRaUOEDhTVdEJhmCoTWfC0p8aNkCp0oYqih2iqGi4yXeMkOsn4LdLLnmKfh/YogjNsPebeFGR4m9BJHLzB61XQ3BtpISfS2FugsK9FAtLWX1dCRcrCnUp44CNzuCowUZmxSRgYaE6Za0W2u/E7CVXCiI/UOR8aAm1+OSyE3mOUcwyc1zBBeoX1kiKy0Zfxck1Gsyulti11i83QTBF5Kg3pDQThFMVHiPSlK+0cSedng/VaS8bOZbtsBcTcZAR8JP5KeqQ1OYKAi20njdNNRpgnsU//K+JnaXJaGTomr7aYIphoRn9aeShJWKEq9LcozSF7QleEfDI5LYm5bgVkFkRwVDBCVu0DDIkGupo8TZBq+/pMQURYErJQmPKGKjNDkWOLx7Jd5QizdUweIaKrlP7SwJDhZvONjLkOsBBX9UpGxnydhXkfBLQ8IxgojQbLFnJf81JytSljclYYyEFyx0kVBvKWOFJmONpshGAcsduQY5giVNCV51eOdJYo/pLhbvM0uDHSevNKRcrKZIqnCtJeEsO95RoqcgGK4ocZcho1tTYtcZvH41pNQ7vA0WrhIfOSraIIntIAi+NXWCErdbkvrWwjRLrt0NKUdL6KSOscTOdMSOUtBHwL6OLA0vNSdynaWQEnCpIvKaIrJJEbvHkmuNhn6OjM8VkSGSqn1uYJCGHnq9I3aLhNME3t6GjIkO7xrNFumpyTNX/NrwX7CrIRiqqWijI9JO4d1iieykyfiposQIQ8YjjsjlBh6oHWbwRjgYJQn2NgSnNycmJAk3NiXhx44Sxykihxm8ybUwT1OVKySc7vi3OXVkdBJ4AyXBeksDXG0IhgtYY0lY5ahCD0ehborIk5aUWRJviMA7Xt5kyRjonrXENkm8yYqgs8VzgrJmClK20uMM3jRJ0FiQICQF9hdETlLQWRIb5ki6WDfWRPobvO6a4GP5mcOrNzDFELtTkONLh9dXE8xypEg7z8A9jkhrQ6Fhjlg/QVktJXxt4WXzT/03Q8IaQWSqIuEvloQ2mqC9Jfi7wRul4RX3pSPlzpoVlmCtI2jvKHCFhjcM3sN6lqF6HxnKelLjXWbwrpR4xzuCrTUZx2qq9oAh8p6ixCUGr78g8oyjRAtB5CZFwi80VerVpI0h+IeBxa6Zg6kWvpDHaioYYuEsRbDC3eOmC2JvGYLeioxGknL2UATNJN6hmtj1DlpLvDVmocYbrGCVJKOrg4X6DgddLA203BKMFngdJJFtFd7vJLm6KEpc5yjQrkk7M80SGe34X24nSex1Ra5Omgb71JKyg8SrU3i/kARKwWpH0kOGhKkObyfd0ZGjvyXlAkVZ4xRbYJ2irFMkFY1SwyWxr2oo4zlNiV+7zmaweFpT4kR3kaDAFW6xpSqzJay05FtYR4HmZhc9UxKbbfF2V8RG1MBmSaE+kmC6JnaRXK9gsiXhJHl/U0qM0WTcbyhwkYIvFGwjSbjfwhiJt8ZSQU+Bd5+marPMOkVkD0muxYLIfEuhh60x/J92itguihJSEMySVPQnTewnEm+620rTQEMsOfo4/kP/0ARvWjitlpSX7GxBgcMEsd3EEeYWvdytd+Saawi6aCIj1CkGb6Aj9rwhx16Cf3vAwFy5pyLhVonXzy51FDpdEblbkdJbUcEPDEFzQ8qNmhzzLTmmKWKbFCXeEuRabp6rxbvAtLF442QjQ+wEA9eL1xSR7Q0JXzlSHjJ4exq89yR0laScJ/FW6z4a73pFMEfDiRZvuvijIt86RaSFOl01riV2mD1UEvxGk/Geg5aWwGki1zgKPG9J2U8PEg8qYvMsZeytiTRXBMslCU8JSlxi8EabjwUldlDNLfzTUmCgxWsjqWCOHavYAqsknKFIO0yQ61VL5AVFxk6WhEaCAkdJgt9aSkzXlKNX2jEa79waYuc7gq0N3GDJGCBhoiTXUEPsdknCUE1CK0fwsiaylSF2uiDyO4XX3pFhNd7R4itFGc0k/ElBZwWvq+GC6szVeEoS/MZ+qylwpKNKv9Z469UOjqCjwlusicyTxG6VpNxcQ8IncoR4RhLbR+NdpGGmJWOcIzJGUuKPGpQg8rrG21dOMqQssJQ4RxH5jaUqnZuQ0F4Q+cjxLwPtpZbIAk3QTJHQWBE5S1BokoVtDd6lhqr9UpHSUxMcIYl9pojsb8h4SBOsMQcqvOWC2E8EVehqiJ1hrrAEbQxeK0NGZ0Gkq+guSRgniM23bIHVkqwx4hiHd7smaOyglyIyQuM978j4VS08J/A2G1KeMBRo4fBaSNhKUEZfQewVQ/C1I+MgfbEleEzCUw7mKXI0M3hd1EESVji8x5uQ41nxs1q4RMJCCXs7Iq9acpxn22oSDnQ/sJTxsCbHIYZiLyhY05TY0ZLIOQrGaSJDDN4t8pVaIrsqqFdEegtizc1iTew5Q4ayBDMUsQMkXocaYkc0hZua412siZ1rSXlR460zRJ5SlHGe5j801RLMlJTxtaOM3Q1pvxJ45zUlWFD7rsAbpfEm1JHxG0eh8w2R7QQVzBUw28FhFp5QZzq8t2rx2joqulYTWSuJdTYfWwqMFMcovFmSyJPNyLhE4E10pHzYjOC3huArRa571ZsGajQpQx38SBP5pyZB6lMU3khDnp0MBV51BE9o2E+TY5Ml2E8S7C0o6w1xvCZjf0HkVEHCzFoyNmqC+9wdcqN+Tp7jSDheE9ws8Y5V0NJCn2bk2tqSY4okdrEhx1iDN8cSudwepWmAGXKcJXK65H9to8jYQRH7SBF01ESUJdd0TayVInaWhLkOjlXE5irKGOnI6GSWGCJa482zBI9rCr0jyTVcEuzriC1vcr6mwFGSiqy5zMwxBH/TJHwjSPhL8+01kaaSUuMFKTcLEvaUePcrSmwn8DZrgikWb7CGPxkSjhQwrRk57tctmxLsb9sZvL9LSlyuSLlWkqOjwduo8b6Uv1DkmudIeFF2dHCgxVtk8dpIvHpBxhEOdhKk7OLIUSdJ+cSRY57B+0DgGUUlNfpthTfGkauzxrvTsUUaCVhlKeteTXCoJDCa2NOKhOmC4G1H8JBd4OBZReSRGkqcb/CO1PyLJTLB4j1q8JYaIutEjSLX8YKM+a6phdMsdLFUoV5RTm9JSkuDN8WcIon0NZMNZWh1q8C7SJEwV5HxrmnnTrf3KoJBlmCYI2ilSLlfEvlE4011NNgjgthzEua0oKK7JLE7HZHlEl60BLMVFewg4EWNt0ThrVNEVkkiTwpKXSWJzdRENgvKGq4IhjsiezgSFtsfCUq8qki5S1LRQeYQQ4nemmCkImWMw3tFUoUBZk4NOeZYEp4XRKTGa6wJjrWNHBVJR4m3FCnbuD6aak2WsMTh3SZImGCIPKNgsDpVwnsa70K31lCFJZYcwwSMFcQulGTsZuEaSdBXkPGZhu0FsdUO73RHjq8MPGGIfaGIbVTk6iuI3GFgucHrIQkmWSJdBd7BBu+uOryWAhY7+Lki9rK5wtEQzWwvtbqGhIMFwWRJsElsY4m9IIg9L6lCX0VklaPAYkfkZEGDnOWowlBJjtMUkcGK4Lg6EtoZInMUBVYLgn0UsdmCyCz7gIGHFfk+k1QwTh5We7A9x+IdJ6CvIkEagms0hR50eH9UnTQJ+2oiKyVlLFUE+8gBGu8MQ3CppUHesnjTHN4QB/UGPhCTHLFPHMFrCqa73gqObUJGa03wgbhHkrCfpEpzNLE7JDS25FMKhlhKKWKfCgqstLCPu1zBXy0J2ztwjtixBu8UTRn9LVtkmCN2iyFhtME70JHRQ1KVZXqKI/KNIKYMCYs1GUMEKbM1bKOI9LDXC7zbHS+bt+1MTWS9odA9DtrYtpbImQJ2VHh/lisEwaHqUk1kjKTAKknkBEXkbkdMGwq0dnhzLJF3NJH3JVwrqOB4Sca2hti75nmJN0WzxS6UxDYoEpxpa4htVlRjkYE7DZGzJVU72uC9IyhQL4i8YfGWSYLLNcHXloyz7QhNifmKSE9JgfGmuyLhc403Xm9vqcp6gXe3xuuv8F6VJNxkyTHEkHG2g0aKXL0MsXc1bGfgas2//dCONXiNLCX+5mB7eZIl1kHh7ajwpikyzlUUWOVOsjSQlsS+M0R+pPje/dzBXRZGO0rMtgQrLLG9VSu9n6CMXS3BhwYmSoIBhsjNBmZbgusE9BCPCP5triU4VhNbJfE+swSP27aayE8tuTpYYjtrYjMVGZdp2NpS1s6aBnKSHDsbKuplKbHM4a0wMFd/5/DmGyKrJSUaW4IBrqUhx0vyfzTBBLPIUcnZdrAkNsKR0sWRspumSns6Ch0v/qqIbBYUWKvPU/CFoyrDJGwSNFhbA/MlzKqjrO80hRbpKx0Jewsi/STftwGSlKc1JZyAzx05dhLEdnfQvhZOqiHWWEAHC7+30FuRcZUgaO5gpaIK+xsiHRUsqaPElTV40xQZQ107Q9BZE1nryDVGU9ZSQ47bmhBpLcYpUt7S+xuK/FiT8qKjwXYw5ypS2iuCv7q1gtgjhuBuB8LCFY5cUuCNtsQOFcT+4Ih9JX+k8Ea6v0iCIRZOtCT0Et00JW5UeC85Cg0ScK0k411HcG1zKtre3SeITBRk7WfwDhEvaYLTHP9le0m8By0JDwn4TlLW/aJOvGHxdjYUes+ScZigCkYQdNdEOhkiezgShqkx8ueKjI8lDfK2oNiOFvrZH1hS+tk7NV7nOmLHicGWEgubkXKdwdtZknCLJXaCpkrjZBtLZFsDP9CdxWsSr05Sxl6CMmoFbCOgryX40uDtamB7SVmXW4Ihlgpmq+00tBKUUa83WbjLUNkzDmY7cow1JDygyPGlhgGKYKz4vcV7QBNbJIgM11TUqZaMdwTeSguH6rOaw1JRKzaaGyxVm2EJ/uCIrVWUcZUkcp2grMsEjK+DMwS59jQk3Kd6SEq1d0S6uVmO4Bc1lDXTUcHjluCXEq+1OlBDj1pi9zgiXxnKuE0SqTXwhqbETW6RggMEnGl/q49UT2iCzgJvRwVXS2K/d6+ZkyUl7jawSVLit46EwxVljDZwoSQ20sDBihztHfk2yA8NVZghiXwrYHQdfKAOtzsayjhY9bY0yE2CWEeJ9xfzO423xhL5syS2TFJofO2pboHob0nY4GiAgRrvGQEDa/FWSsoaaYl0syRsEt3kWoH3B01shCXhTUWe9w3Bt44SC9QCh3eShQctwbaK2ApLroGCMlZrYqvlY3qYhM0aXpFkPOuoqJ3Dm6fxXrGwVF9gCWZagjPqznfkuMKQ8DPTQRO8ZqG1hPGKEm9IgpGW4DZDgTNriTxvFiq+Lz+0cKfp4wj6OCK9JSnzNSn9LFU7UhKZZMnYwcJ8s8yRsECScK4j5UOB95HFO0CzhY4xJxuCix0lDlEUeMdS6EZBkTsUkZ4K74dugyTXS7aNgL8aqjDfkCE0ZbwkCXpaWCKhl8P7VD5jxykivSyxyZrYERbe168LYu9ZYh86IkscgVLE7tWPKmJv11CgoyJltMEbrohtVAQfO4ImltiHEroYEs7RxAarVpY8AwXMcMReFOTYWe5iiLRQxJ5Q8DtJ8LQhWOhIeFESPGsILhbNDRljNbHzNRlTFbk2S3L0NOS6V1KFJYKUbSTcIIhM0wQ/s2TM0SRMNcQmSap3jCH4yhJZKSkwyRHpYYgsFeQ4U7xoCB7VVOExhXepo9ABBsYbvGWKXPME3lyH95YioZ0gssQRWWbI+FaSMkXijZXwgiTlYdPdkNLaETxlyDVIwqeaEus0aTcYcg0RVOkpR3CSJqIddK+90JCxzsDVloyrFd5ZAr4TBKfaWa6boEA7C7s6EpYaeFPjveooY72mjIccLHJ9HUwVlDhKkmutJDJBwnp1rvulJZggKDRfbXAkvC/4l3ozQOG9a8lxjx0i7nV4jSXc7vhe3OwIxjgSHjdEhhsif9YkPGlus3iLFDnWOFhtCZbJg0UbQcIaR67JjthoCyMEZRwhiXWyxO5QxI6w5NhT4U1WsJvDO60J34fW9hwzwlKij6ZAW9ne4L0s8C6XeBMEkd/LQy1VucBRot6QMlbivaBhoBgjqGiCJNhsqVp/S2SsG6DIONCR0dXhvWbJ+MRRZJkkuEjgDXJjFQW6SSL7GXK8Z2CZg7cVsbWGoKmEpzQ5elpiy8Ryg7dMkLLUEauzeO86CuwlSOlgYLojZWeJ9xM3S1PWfEfKl5ISLQ0MEKR8YOB2QfCxJBjrKPCN4f9MkaSsqoVXJBmP7EpFZ9UQfOoOFwSzBN4MQ8LsGrymlipcJQhmy0GaQjPqCHaXRwuCZwRbqK2Fg9wlClZqYicrIgMdZfxTQ0c7TBIbrChxmuzoKG8XRaSrIhhiyNFJkrC7oIAWMEOQa5aBekPCRknCo4IKPrYkvCDI8aYmY7WFtprgekcJZ3oLIqssCSMtFbQTJKwXYy3BY5oCh2iKPCpJOE+zRdpYgi6O2KmOAgvVCYaU4ySRek1sgyFhJ403QFHiVEmJHwtybO1gs8Hr5+BETQX3War0qZngYGgtVZtoqd6vFSk/UwdZElYqyjrF4HXUeFspIi9IGKf4j92pKGAdCYMVsbcV3kRF0N+R8LUd5PCsIGWoxDtBkCI0nKofdJQxT+LtZflvuc8Q3CjwWkq8KwUpHzkK/NmSsclCL0nseQdj5FRH5CNHSgtLiW80Of5HU9Hhlsga9bnBq3fEVltKfO5IaSTmGjjc4J0otcP7QsJUSQM8pEj5/wCuUuC2DWz8AAAAAElFTkSuQmCC\");}.ace-ambiance .ace_indent-guide {background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC\") right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-chaos.js b/library/ace/theme-chaos.js
new file mode 100644
index 000000000..fa5b75aab
--- /dev/null
+++ b/library/ace/theme-chaos.js
@@ -0,0 +1 @@
+ace.define("ace/theme/chaos",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-chaos",t.cssText=".ace-chaos .ace_gutter {background: #141414;color: #595959;border-right: 1px solid #282828;}.ace-chaos .ace_gutter-cell.ace_warning {background-image: none;background: #FC0;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_gutter-cell.ace_error {background-position: -6px center;background-image: none;background: #F10;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_print-margin {border-left: 1px solid #555;right: 0;background: #1D1D1D;}.ace-chaos {background-color: #161616;color: #E6E1DC;}.ace-chaos .ace_cursor {border-left: 2px solid #FFFFFF;}.ace-chaos .ace_cursor.ace_overwrite {border-left: 0px;border-bottom: 1px solid #FFFFFF;}.ace-chaos .ace_marker-layer .ace_selection {background: #494836;}.ace-chaos .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-chaos .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #FCE94F;}.ace-chaos .ace_marker-layer .ace_active-line {background: #333;}.ace-chaos .ace_gutter-active-line {background-color: #222;}.ace-chaos .ace_invisible {color: #404040;}.ace-chaos .ace_keyword {color:#00698F;}.ace-chaos .ace_keyword.ace_operator {color:#FF308F;}.ace-chaos .ace_constant {color:#1EDAFB;}.ace-chaos .ace_constant.ace_language {color:#FDC251;}.ace-chaos .ace_constant.ace_library {color:#8DFF0A;}.ace-chaos .ace_constant.ace_numeric {color:#58C554;}.ace-chaos .ace_invalid {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_invalid.ace_deprecated {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_support {color: #999;}.ace-chaos .ace_support.ace_function {color:#00AEEF;}.ace-chaos .ace_function {color:#00AEEF;}.ace-chaos .ace_string {color:#58C554;}.ace-chaos .ace_comment {color:#555;font-style:italic;padding-bottom: 0px;}.ace-chaos .ace_variable {color:#997744;}.ace-chaos .ace_meta.ace_tag {color:#BE53E6;}.ace-chaos .ace_entity.ace_other.ace_attribute-name {color:#FFFF89;}.ace-chaos .ace_markup.ace_underline {text-decoration: underline;}.ace-chaos .ace_fold-widget {text-align: center;}.ace-chaos .ace_fold-widget:hover {color: #777;}.ace-chaos .ace_fold-widget.ace_start,.ace-chaos .ace_fold-widget.ace_end,.ace-chaos .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-chaos .ace_fold-widget.ace_start:after {content: '\u25be'}.ace-chaos .ace_fold-widget.ace_end:after {content: '\u25b4'}.ace-chaos .ace_fold-widget.ace_closed:after {content: '\u2023'}.ace-chaos .ace_indent-guide {border-right:1px dotted #333;margin-right:-1px;}.ace-chaos .ace_fold { background: #222; border-radius: 3px; color: #7AF; border: none; }.ace-chaos .ace_fold:hover {background: #CCC; color: #000;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-chrome.js b/library/ace/theme-chrome.js
new file mode 100644
index 000000000..29b01c7ab
--- /dev/null
+++ b/library/ace/theme-chrome.js
@@ -0,0 +1 @@
+ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-clouds.js b/library/ace/theme-clouds.js
new file mode 100644
index 000000000..52dfe8ecd
--- /dev/null
+++ b/library/ace/theme-clouds.js
@@ -0,0 +1 @@
+ace.define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-clouds",t.cssText='.ace-clouds .ace_gutter {background: #ebebeb;color: #333}.ace-clouds .ace_print-margin {width: 1px;background: #e8e8e8}.ace-clouds {background-color: #FFFFFF;color: #000000}.ace-clouds .ace_cursor {color: #000000}.ace-clouds .ace_marker-layer .ace_selection {background: #BDD5FC}.ace-clouds.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-clouds .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-clouds .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds .ace_marker-layer .ace_active-line {background: #FFFBD1}.ace-clouds .ace_gutter-active-line {background-color : #dcdcdc}.ace-clouds .ace_marker-layer .ace_selected-word {border: 1px solid #BDD5FC}.ace-clouds .ace_invisible {color: #BFBFBF}.ace-clouds .ace_keyword,.ace-clouds .ace_meta,.ace-clouds .ace_support.ace_constant.ace_property-value {color: #AF956F}.ace-clouds .ace_keyword.ace_operator {color: #484848}.ace-clouds .ace_keyword.ace_other.ace_unit {color: #96DC5F}.ace-clouds .ace_constant.ace_language {color: #39946A}.ace-clouds .ace_constant.ace_numeric {color: #46A609}.ace-clouds .ace_constant.ace_character.ace_entity {color: #BF78CC}.ace-clouds .ace_invalid {background-color: #FF002A}.ace-clouds .ace_fold {background-color: #AF956F;border-color: #000000}.ace-clouds .ace_storage,.ace-clouds .ace_support.ace_class,.ace-clouds .ace_support.ace_function,.ace-clouds .ace_support.ace_other,.ace-clouds .ace_support.ace_type {color: #C52727}.ace-clouds .ace_string {color: #5D90CD}.ace-clouds .ace_comment {color: #BCC8BA}.ace-clouds .ace_entity.ace_name.ace_tag,.ace-clouds .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-clouds_midnight.js b/library/ace/theme-clouds_midnight.js
new file mode 100644
index 000000000..1598fdc84
--- /dev/null
+++ b/library/ace/theme-clouds_midnight.js
@@ -0,0 +1 @@
+ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-clouds-midnight",t.cssText=".ace-clouds-midnight .ace_gutter {background: #232323;color: #929292}.ace-clouds-midnight .ace_print-margin {width: 1px;background: #232323}.ace-clouds-midnight {background-color: #191919;color: #929292}.ace-clouds-midnight .ace_cursor {color: #7DA5DC}.ace-clouds-midnight .ace_marker-layer .ace_selection {background: #000000}.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #191919;}.ace-clouds-midnight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-clouds-midnight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds-midnight .ace_marker-layer .ace_active-line {background: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_gutter-active-line {background-color: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_marker-layer .ace_selected-word {border: 1px solid #000000}.ace-clouds-midnight .ace_invisible {color: #666}.ace-clouds-midnight .ace_keyword,.ace-clouds-midnight .ace_meta,.ace-clouds-midnight .ace_support.ace_constant.ace_property-value {color: #927C5D}.ace-clouds-midnight .ace_keyword.ace_operator {color: #4B4B4B}.ace-clouds-midnight .ace_keyword.ace_other.ace_unit {color: #366F1A}.ace-clouds-midnight .ace_constant.ace_language {color: #39946A}.ace-clouds-midnight .ace_constant.ace_numeric {color: #46A609}.ace-clouds-midnight .ace_constant.ace_character.ace_entity {color: #A165AC}.ace-clouds-midnight .ace_invalid {color: #FFFFFF;background-color: #E92E2E}.ace-clouds-midnight .ace_fold {background-color: #927C5D;border-color: #929292}.ace-clouds-midnight .ace_storage,.ace-clouds-midnight .ace_support.ace_class,.ace-clouds-midnight .ace_support.ace_function,.ace-clouds-midnight .ace_support.ace_other,.ace-clouds-midnight .ace_support.ace_type {color: #E92E2E}.ace-clouds-midnight .ace_string {color: #5D90CD}.ace-clouds-midnight .ace_comment {color: #3C403B}.ace-clouds-midnight .ace_entity.ace_name.ace_tag,.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds-midnight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-cobalt.js b/library/ace/theme-cobalt.js
new file mode 100644
index 000000000..9df85887f
--- /dev/null
+++ b/library/ace/theme-cobalt.js
@@ -0,0 +1 @@
+ace.define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-cobalt",t.cssText=".ace-cobalt .ace_gutter {background: #011e3a;color: rgb(128,145,160)}.ace-cobalt .ace_print-margin {width: 1px;background: #555555}.ace-cobalt {background-color: #002240;color: #FFFFFF}.ace-cobalt .ace_cursor {color: #FFFFFF}.ace-cobalt .ace_marker-layer .ace_selection {background: rgba(179, 101, 57, 0.75)}.ace-cobalt.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002240;}.ace-cobalt .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-cobalt .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_marker-layer .ace_selected-word {border: 1px solid rgba(179, 101, 57, 0.75)}.ace-cobalt .ace_invisible {color: rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_keyword,.ace-cobalt .ace_meta {color: #FF9D00}.ace-cobalt .ace_constant,.ace-cobalt .ace_constant.ace_character,.ace-cobalt .ace_constant.ace_character.ace_escape,.ace-cobalt .ace_constant.ace_other {color: #FF628C}.ace-cobalt .ace_invalid {color: #F8F8F8;background-color: #800F00}.ace-cobalt .ace_support {color: #80FFBB}.ace-cobalt .ace_support.ace_constant {color: #EB939A}.ace-cobalt .ace_fold {background-color: #FF9D00;border-color: #FFFFFF}.ace-cobalt .ace_support.ace_function {color: #FFB054}.ace-cobalt .ace_storage {color: #FFEE80}.ace-cobalt .ace_entity {color: #FFDD00}.ace-cobalt .ace_string {color: #3AD900}.ace-cobalt .ace_string.ace_regexp {color: #80FFC2}.ace-cobalt .ace_comment {font-style: italic;color: #0088FF}.ace-cobalt .ace_heading,.ace-cobalt .ace_markup.ace_heading {color: #C8E4FD;background-color: #001221}.ace-cobalt .ace_list,.ace-cobalt .ace_markup.ace_list {background-color: #130D26}.ace-cobalt .ace_variable {color: #CCCCCC}.ace-cobalt .ace_variable.ace_language {color: #FF80E1}.ace-cobalt .ace_meta.ace_tag {color: #9EFFFF}.ace-cobalt .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-crimson_editor.js b/library/ace/theme-crimson_editor.js
new file mode 100644
index 000000000..9e3653e0d
--- /dev/null
+++ b/library/ace/theme-crimson_editor.js
@@ -0,0 +1 @@
+ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-crimson-editor .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-crimson-editor .ace_gutter-layer {width: 100%;text-align: right;}.ace-crimson-editor .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-crimson-editor {background-color: #FFFFFF;color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor {color: black;}.ace-crimson-editor .ace_invisible {color: rgb(191, 191, 191);}.ace-crimson-editor .ace_identifier {color: black;}.ace-crimson-editor .ace_keyword {color: blue;}.ace-crimson-editor .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-crimson-editor .ace_constant.ace_language {color: rgb(255, 156, 0);}.ace-crimson-editor .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_invalid {text-decoration: line-through;color: rgb(224, 0, 0);}.ace-crimson-editor .ace_fold {}.ace-crimson-editor .ace_support.ace_function {color: rgb(192, 0, 0);}.ace-crimson-editor .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_support.ace_type,.ace-crimson-editor .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-crimson-editor .ace_keyword.ace_operator {color: rgb(49, 132, 149);}.ace-crimson-editor .ace_string {color: rgb(128, 0, 128);}.ace-crimson-editor .ace_comment {color: rgb(76, 136, 107);}.ace-crimson-editor .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-crimson-editor .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-crimson-editor .ace_constant.ace_numeric {color: rgb(0, 0, 64);}.ace-crimson-editor .ace_variable {color: rgb(0, 64, 128);}.ace-crimson-editor .ace_xml-pe {color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-crimson-editor .ace_gutter-active-line {background-color : #dcdcdc;}.ace-crimson-editor .ace_meta.ace_tag {color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex {color: rgb(192, 0, 192);}.ace-crimson-editor .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-crimson-editor";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-dawn.js b/library/ace/theme-dawn.js
new file mode 100644
index 000000000..ed0abd90e
--- /dev/null
+++ b/library/ace/theme-dawn.js
@@ -0,0 +1 @@
+ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn {background-color: #F9F9F9;color: #080808}.ace-dawn .ace_cursor {color: #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_list,.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_heading,.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-dreamweaver.js b/library/ace/theme-dreamweaver.js
new file mode 100644
index 000000000..618cbaeff
--- /dev/null
+++ b/library/ace/theme-dreamweaver.js
@@ -0,0 +1 @@
+ace.define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dreamweaver",t.cssText='.ace-dreamweaver .ace_gutter {background: #e8e8e8;color: #333;}.ace-dreamweaver .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-dreamweaver {background-color: #FFFFFF;color: black;}.ace-dreamweaver .ace_fold {background-color: #757AD8;}.ace-dreamweaver .ace_cursor {color: black;}.ace-dreamweaver .ace_invisible {color: rgb(191, 191, 191);}.ace-dreamweaver .ace_storage,.ace-dreamweaver .ace_keyword {color: blue;}.ace-dreamweaver .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-dreamweaver .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-dreamweaver .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-dreamweaver .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-dreamweaver .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_support.ace_type,.ace-dreamweaver .ace_support.ace_class {color: #009;}.ace-dreamweaver .ace_support.ace_php_tag {color: #f00;}.ace-dreamweaver .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-dreamweaver .ace_string {color: #00F;}.ace-dreamweaver .ace_comment {color: rgb(76, 136, 107);}.ace-dreamweaver .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-dreamweaver .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-dreamweaver .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-dreamweaver .ace_variable {color: #06F}.ace-dreamweaver .ace_xml-pe {color: rgb(104, 104, 91);}.ace-dreamweaver .ace_entity.ace_name.ace_function {color: #00F;}.ace-dreamweaver .ace_heading {color: rgb(12, 7, 255);}.ace-dreamweaver .ace_list {color:rgb(185, 6, 144);}.ace-dreamweaver .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-dreamweaver .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-dreamweaver .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-dreamweaver .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-dreamweaver .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-dreamweaver .ace_gutter-active-line {background-color : #DCDCDC;}.ace-dreamweaver .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-dreamweaver .ace_meta.ace_tag {color:#009;}.ace-dreamweaver .ace_meta.ace_tag.ace_anchor {color:#060;}.ace-dreamweaver .ace_meta.ace_tag.ace_form {color:#F90;}.ace-dreamweaver .ace_meta.ace_tag.ace_image {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_script {color:#900;}.ace-dreamweaver .ace_meta.ace_tag.ace_style {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_table {color:#099;}.ace-dreamweaver .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-dreamweaver .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-eclipse.js b/library/ace/theme-eclipse.js
new file mode 100644
index 000000000..b15aeec10
--- /dev/null
+++ b/library/ace/theme-eclipse.js
@@ -0,0 +1 @@
+ace.define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssText='.ace-eclipse .ace_gutter {background: #ebebeb;border-right: 1px solid rgb(159, 159, 159);color: rgb(136, 136, 136);}.ace-eclipse .ace_print-margin {width: 1px;background: #ebebeb;}.ace-eclipse {background-color: #FFFFFF;color: black;}.ace-eclipse .ace_fold {background-color: rgb(60, 76, 114);}.ace-eclipse .ace_cursor {color: black;}.ace-eclipse .ace_storage,.ace-eclipse .ace_keyword,.ace-eclipse .ace_variable {color: rgb(127, 0, 85);}.ace-eclipse .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-eclipse .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-eclipse .ace_function {color: rgb(60, 76, 114);}.ace-eclipse .ace_string {color: rgb(42, 0, 255);}.ace-eclipse .ace_comment {color: rgb(113, 150, 130);}.ace-eclipse .ace_comment.ace_doc {color: rgb(63, 95, 191);}.ace-eclipse .ace_comment.ace_doc.ace_tag {color: rgb(127, 159, 191);}.ace-eclipse .ace_constant.ace_numeric {color: darkblue;}.ace-eclipse .ace_tag {color: rgb(25, 118, 116);}.ace-eclipse .ace_type {color: rgb(127, 0, 127);}.ace-eclipse .ace_xml-pe {color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_meta.ace_tag {color:rgb(25, 118, 116);}.ace-eclipse .ace_invisible {color: #ddd;}.ace-eclipse .ace_entity.ace_other.ace_attribute-name {color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_step {background: rgb(255, 255, 0);}.ace-eclipse .ace_active-line {background: rgb(232, 242, 254);}.ace-eclipse .ace_gutter-active-line {background-color : #DADADA;}.ace-eclipse .ace_marker-layer .ace_selected-word {border: 1px solid rgb(181, 213, 255);}.ace-eclipse .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-eclipse";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-github.js b/library/ace/theme-github.js
new file mode 100644
index 000000000..2401002c0
--- /dev/null
+++ b/library/ace/theme-github.js
@@ -0,0 +1 @@
+ace.define("ace/theme/github",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-github",t.cssText='.ace-github .ace_gutter {background: #e8e8e8;color: #AAA;}.ace-github {background: #fff;color: #000;}.ace-github .ace_keyword {font-weight: bold;}.ace-github .ace_string {color: #D14;}.ace-github .ace_variable.ace_class {color: teal;}.ace-github .ace_constant.ace_numeric {color: #099;}.ace-github .ace_constant.ace_buildin {color: #0086B3;}.ace-github .ace_support.ace_function {color: #0086B3;}.ace-github .ace_comment {color: #998;font-style: italic;}.ace-github .ace_variable.ace_language {color: #0086B3;}.ace-github .ace_paren {font-weight: bold;}.ace-github .ace_boolean {font-weight: bold;}.ace-github .ace_string.ace_regexp {color: #009926;font-weight: normal;}.ace-github .ace_variable.ace_instance {color: teal;}.ace-github .ace_constant.ace_language {font-weight: bold;}.ace-github .ace_cursor {color: black;}.ace-github.ace_focus .ace_marker-layer .ace_active-line {background: rgb(255, 255, 204);}.ace-github .ace_marker-layer .ace_active-line {background: rgb(245, 245, 245);}.ace-github .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-github.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-github.ace_nobold .ace_line > span {font-weight: normal !important;}.ace-github .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-github .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-github .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-github .ace_gutter-active-line {background-color : rgba(0, 0, 0, 0.07);}.ace-github .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-github .ace_invisible {color: #BFBFBF}.ace-github .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-github .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-idle_fingers.js b/library/ace/theme-idle_fingers.js
new file mode 100644
index 000000000..f952a3c77
--- /dev/null
+++ b/library/ace/theme-idle_fingers.js
@@ -0,0 +1 @@
+ace.define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-idle-fingers",t.cssText=".ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-iplastic.js b/library/ace/theme-iplastic.js
new file mode 100644
index 000000000..5a14b4eb3
--- /dev/null
+++ b/library/ace/theme-iplastic.js
@@ -0,0 +1 @@
+ace.define("ace/theme/iplastic",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-iplastic",t.cssText=".ace-iplastic .ace_gutter {background: #dddddd;color: #666666}.ace-iplastic .ace_print-margin {width: 1px;background: #bbbbbb}.ace-iplastic {background-color: #eeeeee;color: #333333}.ace-iplastic .ace_cursor {color: #333}.ace-iplastic .ace_marker-layer .ace_selection {background: #BAD6FD;}.ace-iplastic.ace_multiselect .ace_selection.ace_start {border-radius: 4px}.ace-iplastic .ace_marker-layer .ace_step {background: #444444}.ace-iplastic .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E;background: #FFF799}.ace-iplastic .ace_marker-layer .ace_active-line {background: #e5e5e5}.ace-iplastic .ace_gutter-active-line {background-color: #eeeeee}.ace-iplastic .ace_marker-layer .ace_selected-word {border: 1px solid #555555;border-radius:4px}.ace-iplastic .ace_invisible {color: #999999}.ace-iplastic .ace_entity.ace_name.ace_tag,.ace-iplastic .ace_keyword,.ace-iplastic .ace_meta.ace_tag,.ace-iplastic .ace_storage {color: #0000FF}.ace-iplastic .ace_punctuation,.ace-iplastic .ace_punctuation.ace_tag {color: #000}.ace-iplastic .ace_constant {color: #333333;font-weight: 700}.ace-iplastic .ace_constant.ace_character,.ace-iplastic .ace_constant.ace_language,.ace-iplastic .ace_constant.ace_numeric,.ace-iplastic .ace_constant.ace_other {color: #0066FF;font-weight: 700}.ace-iplastic .ace_constant.ace_numeric{font-weight: 100}.ace-iplastic .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-iplastic .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-iplastic .ace_support.ace_constant,.ace-iplastic .ace_support.ace_function {color: #333333;font-weight: 700}.ace-iplastic .ace_fold {background-color: #464646;border-color: #F8F8F2}.ace-iplastic .ace_storage.ace_type,.ace-iplastic .ace_support.ace_class,.ace-iplastic .ace_support.ace_type {color: #3333fc;font-weight: 700}.ace-iplastic .ace_entity.ace_name.ace_function,.ace-iplastic .ace_entity.ace_other,.ace-iplastic .ace_entity.ace_other.ace_attribute-name,.ace-iplastic .ace_variable {color: #3366cc;font-style: italic}.ace-iplastic .ace_variable.ace_parameter {font-style: italic;color: #2469E0}.ace-iplastic .ace_string {color: #a55f03}.ace-iplastic .ace_comment {color: #777777;font-style: italic}.ace-iplastic .ace_fold-widget {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==);}.ace-iplastic .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAABlJREFUeNpi+P//PwMzMzPzfwAAAAD//wMAGRsECSML/RIAAAAASUVORK5CYII=) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-katzenmilch.js b/library/ace/theme-katzenmilch.js
new file mode 100644
index 000000000..62036f605
--- /dev/null
+++ b/library/ace/theme-katzenmilch.js
@@ -0,0 +1 @@
+ace.define("ace/theme/katzenmilch",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-katzenmilch",t.cssText=".ace-katzenmilch .ace_gutter,.ace-katzenmilch .ace_gutter {background: #e8e8e8;color: #333}.ace-katzenmilch .ace_print-margin {width: 1px;background: #e8e8e8}.ace-katzenmilch {background-color: #f3f2f3;color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_cursor {border-left: 2px solid #100011}.ace-katzenmilch .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #100011}.ace-katzenmilch .ace_marker-layer .ace_selection {background: rgba(100, 5, 208, 0.27)}.ace-katzenmilch.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #f3f2f3;}.ace-katzenmilch .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-katzenmilch .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.33);}.ace-katzenmilch .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254)}.ace-katzenmilch .ace_gutter-active-line {background-color: rgb(232, 242, 254)}.ace-katzenmilch .ace_marker-layer .ace_selected-word {border: 1px solid rgba(100, 5, 208, 0.27)}.ace-katzenmilch .ace_invisible {color: #BFBFBF}.ace-katzenmilch .ace_fold {background-color: rgba(2, 95, 73, 0.97);border-color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_keyword {color: #674Aa8;rbackground-color: rgba(163, 170, 216, 0.055)}.ace-katzenmilch .ace_constant.ace_language {color: #7D7e52;rbackground-color: rgba(189, 190, 130, 0.059)}.ace-katzenmilch .ace_constant.ace_numeric {color: rgba(79, 130, 123, 0.93);rbackground-color: rgba(119, 194, 187, 0.059)}.ace-katzenmilch .ace_constant.ace_character,.ace-katzenmilch .ace_constant.ace_other {color: rgba(2, 95, 105, 1.0);rbackground-color: rgba(127, 34, 153, 0.063)}.ace-katzenmilch .ace_support.ace_function {color: #9D7e62;rbackground-color: rgba(189, 190, 130, 0.039)}.ace-katzenmilch .ace_support.ace_class {color: rgba(239, 106, 167, 1.0);rbackground-color: rgba(239, 106, 167, 0.063)}.ace-katzenmilch .ace_storage {color: rgba(123, 92, 191, 1.0);rbackground-color: rgba(139, 93, 223, 0.051)}.ace-katzenmilch .ace_invalid {color: #DFDFD5;rbackground-color: #CC1B27}.ace-katzenmilch .ace_string {color: #5a5f9b;rbackground-color: rgba(170, 175, 219, 0.035)}.ace-katzenmilch .ace_comment {font-style: italic;color: rgba(64, 79, 80, 0.67);rbackground-color: rgba(95, 15, 255, 0.0078)}.ace-katzenmilch .ace_entity.ace_name.ace_function,.ace-katzenmilch .ace_variable {color: rgba(2, 95, 73, 0.97);rbackground-color: rgba(34, 255, 73, 0.12)}.ace-katzenmilch .ace_variable.ace_language {color: #316fcf;rbackground-color: rgba(58, 175, 255, 0.039)}.ace-katzenmilch .ace_variable.ace_parameter {font-style: italic;color: rgba(51, 150, 159, 0.87);rbackground-color: rgba(5, 214, 249, 0.043)}.ace-katzenmilch .ace_entity.ace_other.ace_attribute-name {color: rgba(73, 70, 194, 0.93);rbackground-color: rgba(73, 134, 194, 0.035)}.ace-katzenmilch .ace_entity.ace_name.ace_tag {color: #3976a2;rbackground-color: rgba(73, 166, 210, 0.039)}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-kr_theme.js b/library/ace/theme-kr_theme.js
new file mode 100644
index 000000000..5182fa6ac
--- /dev/null
+++ b/library/ace/theme-kr_theme.js
@@ -0,0 +1 @@
+ace.define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-kr-theme",t.cssText=".ace-kr-theme .ace_gutter {background: #1c1917;color: #FCFFE0}.ace-kr-theme .ace_print-margin {width: 1px;background: #1c1917}.ace-kr-theme {background-color: #0B0A09;color: #FCFFE0}.ace-kr-theme .ace_cursor {color: #FF9900}.ace-kr-theme .ace_marker-layer .ace_selection {background: rgba(170, 0, 255, 0.45)}.ace-kr-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0B0A09;}.ace-kr-theme .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-kr-theme .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_marker-layer .ace_active-line {background: #38403D}.ace-kr-theme .ace_gutter-active-line {background-color : #38403D}.ace-kr-theme .ace_marker-layer .ace_selected-word {border: 1px solid rgba(170, 0, 255, 0.45)}.ace-kr-theme .ace_invisible {color: rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_keyword,.ace-kr-theme .ace_meta {color: #949C8B}.ace-kr-theme .ace_constant,.ace-kr-theme .ace_constant.ace_character,.ace-kr-theme .ace_constant.ace_character.ace_escape,.ace-kr-theme .ace_constant.ace_other {color: rgba(210, 117, 24, 0.76)}.ace-kr-theme .ace_invalid {color: #F8F8F8;background-color: #A41300}.ace-kr-theme .ace_support {color: #9FC28A}.ace-kr-theme .ace_support.ace_constant {color: #C27E66}.ace-kr-theme .ace_fold {background-color: #949C8B;border-color: #FCFFE0}.ace-kr-theme .ace_support.ace_function {color: #85873A}.ace-kr-theme .ace_storage {color: #FFEE80}.ace-kr-theme .ace_string {color: rgba(164, 161, 181, 0.8)}.ace-kr-theme .ace_string.ace_regexp {color: rgba(125, 255, 192, 0.65)}.ace-kr-theme .ace_comment {font-style: italic;color: #706D5B}.ace-kr-theme .ace_variable {color: #D1A796}.ace-kr-theme .ace_list,.ace-kr-theme .ace_markup.ace_list {background-color: #0F0040}.ace-kr-theme .ace_variable.ace_language {color: #FF80E1}.ace-kr-theme .ace_meta.ace_tag {color: #BABD9C}.ace-kr-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-kuroir.js b/library/ace/theme-kuroir.js
new file mode 100644
index 000000000..9bdc0d1e8
--- /dev/null
+++ b/library/ace/theme-kuroir.js
@@ -0,0 +1 @@
+ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-kuroir",t.cssText=".ace-kuroir .ace_gutter {background: #e8e8e8;color: #333;}.ace-kuroir .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-kuroir {background-color: #E8E9E8;color: #363636;}.ace-kuroir .ace_cursor {color: #202020;}.ace-kuroir .ace_marker-layer .ace_selection {background: rgba(245, 170, 0, 0.57);}.ace-kuroir.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #E8E9E8;}.ace-kuroir .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-kuroir .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.29);}.ace-kuroir .ace_marker-layer .ace_active-line {background: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_gutter-active-line {background-color: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_marker-layer .ace_selected-word {border: 1px solid rgba(245, 170, 0, 0.57);}.ace-kuroir .ace_invisible {color: #BFBFBF}.ace-kuroir .ace_fold {border-color: #363636;}.ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;font-style:italic;color:#FD1732;background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-merbivore.js b/library/ace/theme-merbivore.js
new file mode 100644
index 000000000..662fe4b82
--- /dev/null
+++ b/library/ace/theme-merbivore.js
@@ -0,0 +1 @@
+ace.define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore",t.cssText=".ace-merbivore .ace_gutter {background: #202020;color: #E6E1DC}.ace-merbivore .ace_print-margin {width: 1px;background: #555651}.ace-merbivore {background-color: #161616;color: #E6E1DC}.ace-merbivore .ace_cursor {color: #FFFFFF}.ace-merbivore .ace_marker-layer .ace_selection {background: #454545}.ace-merbivore.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #161616;}.ace-merbivore .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore .ace_gutter-active-line {background-color: #333435}.ace-merbivore .ace_marker-layer .ace_selected-word {border: 1px solid #454545}.ace-merbivore .ace_invisible {color: #404040}.ace-merbivore .ace_entity.ace_name.ace_tag,.ace-merbivore .ace_keyword,.ace-merbivore .ace_meta,.ace-merbivore .ace_meta.ace_tag,.ace-merbivore .ace_storage,.ace-merbivore .ace_support.ace_function {color: #FC6F09}.ace-merbivore .ace_constant,.ace-merbivore .ace_constant.ace_character,.ace-merbivore .ace_constant.ace_character.ace_escape,.ace-merbivore .ace_constant.ace_other,.ace-merbivore .ace_support.ace_type {color: #1EDAFB}.ace-merbivore .ace_constant.ace_character.ace_escape {color: #519F50}.ace-merbivore .ace_constant.ace_language {color: #FDC251}.ace-merbivore .ace_constant.ace_library,.ace-merbivore .ace_string,.ace-merbivore .ace_support.ace_constant {color: #8DFF0A}.ace-merbivore .ace_constant.ace_numeric {color: #58C554}.ace-merbivore .ace_invalid {color: #FFFFFF;background-color: #990000}.ace-merbivore .ace_fold {background-color: #FC6F09;border-color: #E6E1DC}.ace-merbivore .ace_comment {font-style: italic;color: #AD2EA4}.ace-merbivore .ace_entity.ace_other.ace_attribute-name {color: #FFFF89}.ace-merbivore .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQFxf3ZXB1df0PAAdsAmERTkEHAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-merbivore_soft.js b/library/ace/theme-merbivore_soft.js
new file mode 100644
index 000000000..be41bd1dd
--- /dev/null
+++ b/library/ace/theme-merbivore_soft.js
@@ -0,0 +1 @@
+ace.define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore-soft",t.cssText=".ace-merbivore-soft .ace_gutter {background: #262424;color: #E6E1DC}.ace-merbivore-soft .ace_print-margin {width: 1px;background: #262424}.ace-merbivore-soft {background-color: #1C1C1C;color: #E6E1DC}.ace-merbivore-soft .ace_cursor {color: #FFFFFF}.ace-merbivore-soft .ace_marker-layer .ace_selection {background: #494949}.ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1C1C1C;}.ace-merbivore-soft .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore-soft .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore-soft .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore-soft .ace_gutter-active-line {background-color: #333435}.ace-merbivore-soft .ace_marker-layer .ace_selected-word {border: 1px solid #494949}.ace-merbivore-soft .ace_invisible {color: #404040}.ace-merbivore-soft .ace_entity.ace_name.ace_tag,.ace-merbivore-soft .ace_keyword,.ace-merbivore-soft .ace_meta,.ace-merbivore-soft .ace_meta.ace_tag,.ace-merbivore-soft .ace_storage {color: #FC803A}.ace-merbivore-soft .ace_constant,.ace-merbivore-soft .ace_constant.ace_character,.ace-merbivore-soft .ace_constant.ace_character.ace_escape,.ace-merbivore-soft .ace_constant.ace_other,.ace-merbivore-soft .ace_support.ace_type {color: #68C1D8}.ace-merbivore-soft .ace_constant.ace_character.ace_escape {color: #B3E5B4}.ace-merbivore-soft .ace_constant.ace_language {color: #E1C582}.ace-merbivore-soft .ace_constant.ace_library,.ace-merbivore-soft .ace_string,.ace-merbivore-soft .ace_support.ace_constant {color: #8EC65F}.ace-merbivore-soft .ace_constant.ace_numeric {color: #7FC578}.ace-merbivore-soft .ace_invalid,.ace-merbivore-soft .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #FE3838}.ace-merbivore-soft .ace_fold {background-color: #FC803A;border-color: #E6E1DC}.ace-merbivore-soft .ace_comment,.ace-merbivore-soft .ace_meta {font-style: italic;color: #AC4BB8}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {color: #EAF1A3}.ace-merbivore-soft .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-mono_industrial.js b/library/ace/theme-mono_industrial.js
new file mode 100644
index 000000000..97fbebaad
--- /dev/null
+++ b/library/ace/theme-mono_industrial.js
@@ -0,0 +1 @@
+ace.define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-mono-industrial",t.cssText=".ace-mono-industrial .ace_gutter {background: #1d2521;color: #C5C9C9}.ace-mono-industrial .ace_print-margin {width: 1px;background: #555651}.ace-mono-industrial {background-color: #222C28;color: #FFFFFF}.ace-mono-industrial .ace_cursor {color: #FFFFFF}.ace-mono-industrial .ace_marker-layer .ace_selection {background: rgba(145, 153, 148, 0.40)}.ace-mono-industrial.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #222C28;}.ace-mono-industrial .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-mono-industrial .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_marker-layer .ace_active-line {background: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_gutter-active-line {background-color: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_marker-layer .ace_selected-word {border: 1px solid rgba(145, 153, 148, 0.40)}.ace-mono-industrial .ace_invisible {color: rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_string {background-color: #151C19;color: #FFFFFF}.ace-mono-industrial .ace_keyword,.ace-mono-industrial .ace_meta {color: #A39E64}.ace-mono-industrial .ace_constant,.ace-mono-industrial .ace_constant.ace_character,.ace-mono-industrial .ace_constant.ace_character.ace_escape,.ace-mono-industrial .ace_constant.ace_numeric,.ace-mono-industrial .ace_constant.ace_other {color: #E98800}.ace-mono-industrial .ace_entity.ace_name.ace_function,.ace-mono-industrial .ace_keyword.ace_operator,.ace-mono-industrial .ace_variable {color: #A8B3AB}.ace-mono-industrial .ace_invalid {color: #FFFFFF;background-color: rgba(153, 0, 0, 0.68)}.ace-mono-industrial .ace_support.ace_constant {color: #C87500}.ace-mono-industrial .ace_fold {background-color: #A8B3AB;border-color: #FFFFFF}.ace-mono-industrial .ace_support.ace_function {color: #588E60}.ace-mono-industrial .ace_entity.ace_name,.ace-mono-industrial .ace_support.ace_class,.ace-mono-industrial .ace_support.ace_type {color: #5778B6}.ace-mono-industrial .ace_storage {color: #C23B00}.ace-mono-industrial .ace_variable.ace_language,.ace-mono-industrial .ace_variable.ace_parameter {color: #648BD2}.ace-mono-industrial .ace_comment {color: #666C68;background-color: #151C19}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {color: #909993}.ace-mono-industrial .ace_entity.ace_name.ace_tag {color: #A65EFF}.ace-mono-industrial .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ1NbwZfALD/4PAAlTArlEC4r/AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-monokai.js b/library/ace/theme-monokai.js
new file mode 100644
index 000000000..ed0cb3fed
--- /dev/null
+++ b/library/ace/theme-monokai.js
@@ -0,0 +1 @@
+ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-pastel_on_dark.js b/library/ace/theme-pastel_on_dark.js
new file mode 100644
index 000000000..7d3d30dae
--- /dev/null
+++ b/library/ace/theme-pastel_on_dark.js
@@ -0,0 +1 @@
+ace.define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-pastel-on-dark",t.cssText=".ace-pastel-on-dark .ace_gutter {background: #353030;color: #8F938F}.ace-pastel-on-dark .ace_print-margin {width: 1px;background: #353030}.ace-pastel-on-dark {background-color: #2C2828;color: #8F938F}.ace-pastel-on-dark .ace_cursor {color: #A7A7A7}.ace-pastel-on-dark .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2C2828;}.ace-pastel-on-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-pastel-on-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_keyword,.ace-pastel-on-dark .ace_meta {color: #757aD8}.ace-pastel-on-dark .ace_constant,.ace-pastel-on-dark .ace_constant.ace_character,.ace-pastel-on-dark .ace_constant.ace_character.ace_escape,.ace-pastel-on-dark .ace_constant.ace_other {color: #4FB7C5}.ace-pastel-on-dark .ace_keyword.ace_operator {color: #797878}.ace-pastel-on-dark .ace_constant.ace_character {color: #AFA472}.ace-pastel-on-dark .ace_constant.ace_language {color: #DE8E30}.ace-pastel-on-dark .ace_constant.ace_numeric {color: #CCCCCC}.ace-pastel-on-dark .ace_invalid,.ace-pastel-on-dark .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-pastel-on-dark .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-pastel-on-dark .ace_fold {background-color: #757aD8;border-color: #8F938F}.ace-pastel-on-dark .ace_support.ace_function {color: #AEB2F8}.ace-pastel-on-dark .ace_string {color: #66A968}.ace-pastel-on-dark .ace_string.ace_regexp {color: #E9C062}.ace-pastel-on-dark .ace_comment {color: #A6C6FF}.ace-pastel-on-dark .ace_variable {color: #BEBF55}.ace-pastel-on-dark .ace_variable.ace_language {color: #C1C144}.ace-pastel-on-dark .ace_xml-pe {color: #494949}.ace-pastel-on-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-solarized_dark.js b/library/ace/theme-solarized_dark.js
new file mode 100644
index 000000000..b3927b0d3
--- /dev/null
+++ b/library/ace/theme-solarized_dark.js
@@ -0,0 +1 @@
+ace.define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-solarized-dark",t.cssText=".ace-solarized-dark .ace_gutter {background: #01313f;color: #d0edf7}.ace-solarized-dark .ace_print-margin {width: 1px;background: #33555E}.ace-solarized-dark {background-color: #002B36;color: #93A1A1}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,.ace-solarized-dark .ace_storage {color: #93A1A1}.ace-solarized-dark .ace_cursor,.ace-solarized-dark .ace_string.ace_regexp {color: #D30102}.ace-solarized-dark .ace_marker-layer .ace_active-line,.ace-solarized-dark .ace_marker-layer .ace_selection {background: rgba(255, 255, 255, 0.1)}.ace-solarized-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002B36;}.ace-solarized-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-solarized-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_gutter-active-line {background-color: #0d3440}.ace-solarized-dark .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-dark .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_keyword,.ace-solarized-dark .ace_meta,.ace-solarized-dark .ace_support.ace_class,.ace-solarized-dark .ace_support.ace_type {color: #859900}.ace-solarized-dark .ace_constant.ace_character,.ace-solarized-dark .ace_constant.ace_other {color: #CB4B16}.ace-solarized-dark .ace_constant.ace_language {color: #B58900}.ace-solarized-dark .ace_constant.ace_numeric {color: #D33682}.ace-solarized-dark .ace_fold {background-color: #268BD2;border-color: #93A1A1}.ace-solarized-dark .ace_entity.ace_name.ace_function,.ace-solarized-dark .ace_entity.ace_name.ace_tag,.ace-solarized-dark .ace_support.ace_function,.ace-solarized-dark .ace_variable,.ace-solarized-dark .ace_variable.ace_language {color: #268BD2}.ace-solarized-dark .ace_string {color: #2AA198}.ace-solarized-dark .ace_comment {font-style: italic;color: #657B83}.ace-solarized-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-solarized_light.js b/library/ace/theme-solarized_light.js
new file mode 100644
index 000000000..4994d86a0
--- /dev/null
+++ b/library/ace/theme-solarized_light.js
@@ -0,0 +1 @@
+ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-solarized-light",t.cssText=".ace-solarized-light .ace_gutter {background: #fbf1d3;color: #333}.ace-solarized-light .ace_print-margin {width: 1px;background: #e8e8e8}.ace-solarized-light {background-color: #FDF6E3;color: #586E75}.ace-solarized-light .ace_cursor {color: #000000}.ace-solarized-light .ace_marker-layer .ace_selection {background: rgba(7, 54, 67, 0.09)}.ace-solarized-light.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FDF6E3;}.ace-solarized-light .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-solarized-light .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_marker-layer .ace_active-line {background: #EEE8D5}.ace-solarized-light .ace_gutter-active-line {background-color : #EDE5C1}.ace-solarized-light .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-light .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_keyword,.ace-solarized-light .ace_meta,.ace-solarized-light .ace_support.ace_class,.ace-solarized-light .ace_support.ace_type {color: #859900}.ace-solarized-light .ace_constant.ace_character,.ace-solarized-light .ace_constant.ace_other {color: #CB4B16}.ace-solarized-light .ace_constant.ace_language {color: #B58900}.ace-solarized-light .ace_constant.ace_numeric {color: #D33682}.ace-solarized-light .ace_fold {background-color: #268BD2;border-color: #586E75}.ace-solarized-light .ace_entity.ace_name.ace_function,.ace-solarized-light .ace_entity.ace_name.ace_tag,.ace-solarized-light .ace_support.ace_function,.ace-solarized-light .ace_variable,.ace-solarized-light .ace_variable.ace_language {color: #268BD2}.ace-solarized-light .ace_storage {color: #073642}.ace-solarized-light .ace_string {color: #2AA198}.ace-solarized-light .ace_string.ace_regexp {color: #D30102}.ace-solarized-light .ace_comment,.ace-solarized-light .ace_entity.ace_other.ace_attribute-name {color: #93A1A1}.ace-solarized-light .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-sqlserver.js b/library/ace/theme-sqlserver.js
new file mode 100644
index 000000000..07bfc804e
--- /dev/null
+++ b/library/ace/theme-sqlserver.js
@@ -0,0 +1 @@
+ace.define("ace/theme/sqlserver",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-sqlserver",t.cssText='.ace-sqlserver .ace_gutter {background: #ebebeb;color: #333;overflow: hidden;}.ace-sqlserver .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-sqlserver {background-color: #FFFFFF;color: black;}.ace-sqlserver .ace_identifier {color: black;}.ace-sqlserver .ace_keyword {color: #0000FF;}.ace-sqlserver .ace_numeric {color: black;}.ace-sqlserver .ace_storage {color: #11B7BE;}.ace-sqlserver .ace_keyword.ace_operator,.ace-sqlserver .ace_lparen,.ace-sqlserver .ace_rparen,.ace-sqlserver .ace_punctuation {color: #808080;}.ace-sqlserver .ace_set.ace_statement {color: #0000FF;text-decoration: underline;}.ace-sqlserver .ace_cursor {color: black;}.ace-sqlserver .ace_invisible {color: rgb(191, 191, 191);}.ace-sqlserver .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-sqlserver .ace_constant.ace_language {color: #979797;}.ace-sqlserver .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-sqlserver .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-sqlserver .ace_support.ace_function {color: #FF00FF;}.ace-sqlserver .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-sqlserver .ace_class {color: #008080;}.ace-sqlserver .ace_support.ace_other {color: #6D79DE;}.ace-sqlserver .ace_variable.ace_parameter {font-style: italic;color: #FD971F;}.ace-sqlserver .ace_comment {color: #008000;}.ace-sqlserver .ace_constant.ace_numeric {color: black;}.ace-sqlserver .ace_variable {color: rgb(49, 132, 149);}.ace-sqlserver .ace_xml-pe {color: rgb(104, 104, 91);}.ace-sqlserver .ace_support.ace_storedprocedure {color: #800000;}.ace-sqlserver .ace_heading {color: rgb(12, 7, 255);}.ace-sqlserver .ace_list {color: rgb(185, 6, 144);}.ace-sqlserver .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-sqlserver .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-sqlserver .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-sqlserver .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-sqlserver .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-sqlserver .ace_gutter-active-line {background-color: #dcdcdc;}.ace-sqlserver .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-sqlserver .ace_meta.ace_tag {color: #0000FF;}.ace-sqlserver .ace_string.ace_regex {color: #FF0000;}.ace-sqlserver .ace_string {color: #FF0000;}.ace-sqlserver .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-sqlserver .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-terminal.js b/library/ace/theme-terminal.js
new file mode 100644
index 000000000..687718e37
--- /dev/null
+++ b/library/ace/theme-terminal.js
@@ -0,0 +1 @@
+ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-terminal-theme",t.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-textmate.js b/library/ace/theme-textmate.js
new file mode 100644
index 000000000..5075030da
--- /dev/null
+++ b/library/ace/theme-textmate.js
@@ -0,0 +1 @@
+ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-tomorrow.js b/library/ace/theme-tomorrow.js
new file mode 100644
index 000000000..bae6be05d
--- /dev/null
+++ b/library/ace/theme-tomorrow.js
@@ -0,0 +1 @@
+ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tomorrow",t.cssText=".ace-tomorrow .ace_gutter {background: #f6f6f6;color: #4D4D4C}.ace-tomorrow .ace_print-margin {width: 1px;background: #f6f6f6}.ace-tomorrow {background-color: #FFFFFF;color: #4D4D4C}.ace-tomorrow .ace_cursor {color: #AEAFAD}.ace-tomorrow .ace_marker-layer .ace_selection {background: #D6D6D6}.ace-tomorrow.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-tomorrow .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-tomorrow .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #D1D1D1}.ace-tomorrow .ace_marker-layer .ace_active-line {background: #EFEFEF}.ace-tomorrow .ace_gutter-active-line {background-color : #dcdcdc}.ace-tomorrow .ace_marker-layer .ace_selected-word {border: 1px solid #D6D6D6}.ace-tomorrow .ace_invisible {color: #D1D1D1}.ace-tomorrow .ace_keyword,.ace-tomorrow .ace_meta,.ace-tomorrow .ace_storage,.ace-tomorrow .ace_storage.ace_type,.ace-tomorrow .ace_support.ace_type {color: #8959A8}.ace-tomorrow .ace_keyword.ace_operator {color: #3E999F}.ace-tomorrow .ace_constant.ace_character,.ace-tomorrow .ace_constant.ace_language,.ace-tomorrow .ace_constant.ace_numeric,.ace-tomorrow .ace_keyword.ace_other.ace_unit,.ace-tomorrow .ace_support.ace_constant,.ace-tomorrow .ace_variable.ace_parameter {color: #F5871F}.ace-tomorrow .ace_constant.ace_other {color: #666969}.ace-tomorrow .ace_invalid {color: #FFFFFF;background-color: #C82829}.ace-tomorrow .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #8959A8}.ace-tomorrow .ace_fold {background-color: #4271AE;border-color: #4D4D4C}.ace-tomorrow .ace_entity.ace_name.ace_function,.ace-tomorrow .ace_support.ace_function,.ace-tomorrow .ace_variable {color: #4271AE}.ace-tomorrow .ace_support.ace_class,.ace-tomorrow .ace_support.ace_type {color: #C99E00}.ace-tomorrow .ace_heading,.ace-tomorrow .ace_markup.ace_heading,.ace-tomorrow .ace_string {color: #718C00}.ace-tomorrow .ace_entity.ace_name.ace_tag,.ace-tomorrow .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow .ace_meta.ace_tag,.ace-tomorrow .ace_string.ace_regexp,.ace-tomorrow .ace_variable {color: #C82829}.ace-tomorrow .ace_comment {color: #8E908C}.ace-tomorrow .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-tomorrow_night.js b/library/ace/theme-tomorrow_night.js
new file mode 100644
index 000000000..89c9ad8e0
--- /dev/null
+++ b/library/ace/theme-tomorrow_night.js
@@ -0,0 +1 @@
+ace.define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night",t.cssText=".ace-tomorrow-night .ace_gutter {background: #25282c;color: #C5C8C6}.ace-tomorrow-night .ace_print-margin {width: 1px;background: #25282c}.ace-tomorrow-night {background-color: #1D1F21;color: #C5C8C6}.ace-tomorrow-night .ace_cursor {color: #AEAFAD}.ace-tomorrow-night .ace_marker-layer .ace_selection {background: #373B41}.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1D1F21;}.ace-tomorrow-night .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #4B4E55}.ace-tomorrow-night .ace_marker-layer .ace_active-line {background: #282A2E}.ace-tomorrow-night .ace_gutter-active-line {background-color: #282A2E}.ace-tomorrow-night .ace_marker-layer .ace_selected-word {border: 1px solid #373B41}.ace-tomorrow-night .ace_invisible {color: #4B4E55}.ace-tomorrow-night .ace_keyword,.ace-tomorrow-night .ace_meta,.ace-tomorrow-night .ace_storage,.ace-tomorrow-night .ace_storage.ace_type,.ace-tomorrow-night .ace_support.ace_type {color: #B294BB}.ace-tomorrow-night .ace_keyword.ace_operator {color: #8ABEB7}.ace-tomorrow-night .ace_constant.ace_character,.ace-tomorrow-night .ace_constant.ace_language,.ace-tomorrow-night .ace_constant.ace_numeric,.ace-tomorrow-night .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night .ace_support.ace_constant,.ace-tomorrow-night .ace_variable.ace_parameter {color: #DE935F}.ace-tomorrow-night .ace_constant.ace_other {color: #CED1CF}.ace-tomorrow-night .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night .ace_fold {background-color: #81A2BE;border-color: #C5C8C6}.ace-tomorrow-night .ace_entity.ace_name.ace_function,.ace-tomorrow-night .ace_support.ace_function,.ace-tomorrow-night .ace_variable {color: #81A2BE}.ace-tomorrow-night .ace_support.ace_class,.ace-tomorrow-night .ace_support.ace_type {color: #F0C674}.ace-tomorrow-night .ace_heading,.ace-tomorrow-night .ace_markup.ace_heading,.ace-tomorrow-night .ace_string {color: #B5BD68}.ace-tomorrow-night .ace_entity.ace_name.ace_tag,.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night .ace_meta.ace_tag,.ace-tomorrow-night .ace_string.ace_regexp,.ace-tomorrow-night .ace_variable {color: #CC6666}.ace-tomorrow-night .ace_comment {color: #969896}.ace-tomorrow-night .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-tomorrow_night_blue.js b/library/ace/theme-tomorrow_night_blue.js
new file mode 100644
index 000000000..eeaacd70e
--- /dev/null
+++ b/library/ace/theme-tomorrow_night_blue.js
@@ -0,0 +1 @@
+ace.define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-blue",t.cssText=".ace-tomorrow-night-blue .ace_gutter {background: #00204b;color: #7388b5}.ace-tomorrow-night-blue .ace_print-margin {width: 1px;background: #00204b}.ace-tomorrow-night-blue {background-color: #002451;color: #FFFFFF}.ace-tomorrow-night-blue .ace_constant.ace_other,.ace-tomorrow-night-blue .ace_cursor {color: #FFFFFF}.ace-tomorrow-night-blue .ace_marker-layer .ace_selection {background: #003F8E}.ace-tomorrow-night-blue.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002451;}.ace-tomorrow-night-blue .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404F7D}.ace-tomorrow-night-blue .ace_marker-layer .ace_active-line {background: #00346E}.ace-tomorrow-night-blue .ace_gutter-active-line {background-color: #022040}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected-word {border: 1px solid #003F8E}.ace-tomorrow-night-blue .ace_invisible {color: #404F7D}.ace-tomorrow-night-blue .ace_keyword,.ace-tomorrow-night-blue .ace_meta,.ace-tomorrow-night-blue .ace_storage,.ace-tomorrow-night-blue .ace_storage.ace_type,.ace-tomorrow-night-blue .ace_support.ace_type {color: #EBBBFF}.ace-tomorrow-night-blue .ace_keyword.ace_operator {color: #99FFFF}.ace-tomorrow-night-blue .ace_constant.ace_character,.ace-tomorrow-night-blue .ace_constant.ace_language,.ace-tomorrow-night-blue .ace_constant.ace_numeric,.ace-tomorrow-night-blue .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-blue .ace_support.ace_constant,.ace-tomorrow-night-blue .ace_variable.ace_parameter {color: #FFC58F}.ace-tomorrow-night-blue .ace_invalid {color: #FFFFFF;background-color: #F99DA5}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #EBBBFF}.ace-tomorrow-night-blue .ace_fold {background-color: #BBDAFF;border-color: #FFFFFF}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function,.ace-tomorrow-night-blue .ace_support.ace_function,.ace-tomorrow-night-blue .ace_variable {color: #BBDAFF}.ace-tomorrow-night-blue .ace_support.ace_class,.ace-tomorrow-night-blue .ace_support.ace_type {color: #FFEEAD}.ace-tomorrow-night-blue .ace_heading,.ace-tomorrow-night-blue .ace_markup.ace_heading,.ace-tomorrow-night-blue .ace_string {color: #D1F1A9}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-blue .ace_meta.ace_tag,.ace-tomorrow-night-blue .ace_string.ace_regexp,.ace-tomorrow-night-blue .ace_variable {color: #FF9DA4}.ace-tomorrow-night-blue .ace_comment {color: #7285B7}.ace-tomorrow-night-blue .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYJDzqfwPAANXAeNsiA+ZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-tomorrow_night_bright.js b/library/ace/theme-tomorrow_night_bright.js
new file mode 100644
index 000000000..391bbbe8b
--- /dev/null
+++ b/library/ace/theme-tomorrow_night_bright.js
@@ -0,0 +1 @@
+ace.define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-bright",t.cssText=".ace-tomorrow-night-bright .ace_gutter {background: #1a1a1a;color: #DEDEDE}.ace-tomorrow-night-bright .ace_print-margin {width: 1px;background: #1a1a1a}.ace-tomorrow-night-bright {background-color: #000000;color: #DEDEDE}.ace-tomorrow-night-bright .ace_cursor {color: #9F9F9F}.ace-tomorrow-night-bright .ace_marker-layer .ace_selection {background: #424242}.ace-tomorrow-night-bright.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #000000;}.ace-tomorrow-night-bright .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #888888}.ace-tomorrow-night-bright .ace_marker-layer .ace_highlight {border: 1px solid rgb(110, 119, 0);border-bottom: 0;box-shadow: inset 0 -1px rgb(110, 119, 0);margin: -1px 0 0 -1px;background: rgba(255, 235, 0, 0.1)}.ace-tomorrow-night-bright .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-tomorrow-night-bright .ace_gutter-active-line {background-color: #2A2A2A}.ace-tomorrow-night-bright .ace_stack {background-color: rgb(66, 90, 44)}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected-word {border: 1px solid #888888}.ace-tomorrow-night-bright .ace_invisible {color: #343434}.ace-tomorrow-night-bright .ace_keyword,.ace-tomorrow-night-bright .ace_meta,.ace-tomorrow-night-bright .ace_storage,.ace-tomorrow-night-bright .ace_storage.ace_type,.ace-tomorrow-night-bright .ace_support.ace_type {color: #C397D8}.ace-tomorrow-night-bright .ace_keyword.ace_operator {color: #70C0B1}.ace-tomorrow-night-bright .ace_constant.ace_character,.ace-tomorrow-night-bright .ace_constant.ace_language,.ace-tomorrow-night-bright .ace_constant.ace_numeric,.ace-tomorrow-night-bright .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-bright .ace_support.ace_constant,.ace-tomorrow-night-bright .ace_variable.ace_parameter {color: #E78C45}.ace-tomorrow-night-bright .ace_constant.ace_other {color: #EEEEEE}.ace-tomorrow-night-bright .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night-bright .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function,.ace-tomorrow-night-bright .ace_support.ace_function,.ace-tomorrow-night-bright .ace_variable {color: #7AA6DA}.ace-tomorrow-night-bright .ace_support.ace_class,.ace-tomorrow-night-bright .ace_support.ace_type {color: #E7C547}.ace-tomorrow-night-bright .ace_heading,.ace-tomorrow-night-bright .ace_markup.ace_heading,.ace-tomorrow-night-bright .ace_string {color: #B9CA4A}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-bright .ace_meta.ace_tag,.ace-tomorrow-night-bright .ace_string.ace_regexp,.ace-tomorrow-night-bright .ace_variable {color: #D54E53}.ace-tomorrow-night-bright .ace_comment {color: #969896}.ace-tomorrow-night-bright .ace_c9searchresults.ace_keyword {color: #C2C280}.ace-tomorrow-night-bright .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-tomorrow_night_eighties.js b/library/ace/theme-tomorrow_night_eighties.js
new file mode 100644
index 000000000..051b3f804
--- /dev/null
+++ b/library/ace/theme-tomorrow_night_eighties.js
@@ -0,0 +1 @@
+ace.define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-eighties",t.cssText=".ace-tomorrow-night-eighties .ace_gutter {background: #272727;color: #CCC}.ace-tomorrow-night-eighties .ace_print-margin {width: 1px;background: #272727}.ace-tomorrow-night-eighties {background-color: #2D2D2D;color: #CCCCCC}.ace-tomorrow-night-eighties .ace_constant.ace_other,.ace-tomorrow-night-eighties .ace_cursor {color: #CCCCCC}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection {background: #515151}.ace-tomorrow-night-eighties.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2D2D2D;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #6A6A6A}.ace-tomorrow-night-bright .ace_stack {background: rgb(66, 90, 44)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active-line {background: #393939}.ace-tomorrow-night-eighties .ace_gutter-active-line {background-color: #393939}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected-word {border: 1px solid #515151}.ace-tomorrow-night-eighties .ace_invisible {color: #6A6A6A}.ace-tomorrow-night-eighties .ace_keyword,.ace-tomorrow-night-eighties .ace_meta,.ace-tomorrow-night-eighties .ace_storage,.ace-tomorrow-night-eighties .ace_storage.ace_type,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #CC99CC}.ace-tomorrow-night-eighties .ace_keyword.ace_operator {color: #66CCCC}.ace-tomorrow-night-eighties .ace_constant.ace_character,.ace-tomorrow-night-eighties .ace_constant.ace_language,.ace-tomorrow-night-eighties .ace_constant.ace_numeric,.ace-tomorrow-night-eighties .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-eighties .ace_support.ace_constant,.ace-tomorrow-night-eighties .ace_variable.ace_parameter {color: #F99157}.ace-tomorrow-night-eighties .ace_invalid {color: #CDCDCD;background-color: #F2777A}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated {color: #CDCDCD;background-color: #CC99CC}.ace-tomorrow-night-eighties .ace_fold {background-color: #6699CC;border-color: #CCCCCC}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function,.ace-tomorrow-night-eighties .ace_support.ace_function,.ace-tomorrow-night-eighties .ace_variable {color: #6699CC}.ace-tomorrow-night-eighties .ace_support.ace_class,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #FFCC66}.ace-tomorrow-night-eighties .ace_heading,.ace-tomorrow-night-eighties .ace_markup.ace_heading,.ace-tomorrow-night-eighties .ace_string {color: #99CC99}.ace-tomorrow-night-eighties .ace_comment {color: #999999}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-eighties .ace_meta.ace_tag,.ace-tomorrow-night-eighties .ace_variable {color: #F2777A}.ace-tomorrow-night-eighties .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ09NrYAgMjP4PAAtGAwchHMyAAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-twilight.js b/library/ace/theme-twilight.js
new file mode 100644
index 000000000..7f5b44f64
--- /dev/null
+++ b/library/ace/theme-twilight.js
@@ -0,0 +1 @@
+ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {color: #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-vibrant_ink.js b/library/ace/theme-vibrant_ink.js
new file mode 100644
index 000000000..7f0bf6730
--- /dev/null
+++ b/library/ace/theme-vibrant_ink.js
@@ -0,0 +1 @@
+ace.define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-vibrant-ink",t.cssText=".ace-vibrant-ink .ace_gutter {background: #1a1a1a;color: #BEBEBE}.ace-vibrant-ink .ace_print-margin {width: 1px;background: #1a1a1a}.ace-vibrant-ink {background-color: #0F0F0F;color: #FFFFFF}.ace-vibrant-ink .ace_cursor {color: #FFFFFF}.ace-vibrant-ink .ace_marker-layer .ace_selection {background: #6699CC}.ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0F0F0F;}.ace-vibrant-ink .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-vibrant-ink .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-vibrant-ink .ace_marker-layer .ace_active-line {background: #333333}.ace-vibrant-ink .ace_gutter-active-line {background-color: #333333}.ace-vibrant-ink .ace_marker-layer .ace_selected-word {border: 1px solid #6699CC}.ace-vibrant-ink .ace_invisible {color: #404040}.ace-vibrant-ink .ace_keyword,.ace-vibrant-ink .ace_meta {color: #FF6600}.ace-vibrant-ink .ace_constant,.ace-vibrant-ink .ace_constant.ace_character,.ace-vibrant-ink .ace_constant.ace_character.ace_escape,.ace-vibrant-ink .ace_constant.ace_other {color: #339999}.ace-vibrant-ink .ace_constant.ace_numeric {color: #99CC99}.ace-vibrant-ink .ace_invalid,.ace-vibrant-ink .ace_invalid.ace_deprecated {color: #CCFF33;background-color: #000000}.ace-vibrant-ink .ace_fold {background-color: #FFCC00;border-color: #FFFFFF}.ace-vibrant-ink .ace_entity.ace_name.ace_function,.ace-vibrant-ink .ace_support.ace_function,.ace-vibrant-ink .ace_variable {color: #FFCC00}.ace-vibrant-ink .ace_variable.ace_parameter {font-style: italic}.ace-vibrant-ink .ace_string {color: #66FF00}.ace-vibrant-ink .ace_string.ace_regexp {color: #44B4CC}.ace-vibrant-ink .ace_comment {color: #9933CC}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {font-style: italic;color: #99CC99}.ace-vibrant-ink .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/theme-xcode.js b/library/ace/theme-xcode.js
new file mode 100644
index 000000000..42f2dfb76
--- /dev/null
+++ b/library/ace/theme-xcode.js
@@ -0,0 +1 @@
+ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-xcode",t.cssText=".ace-xcode .ace_gutter {background: #e8e8e8;color: #333}.ace-xcode .ace_print-margin {width: 1px;background: #e8e8e8}.ace-xcode {background-color: #FFFFFF;color: #000000}.ace-xcode .ace_cursor {color: #000000}.ace-xcode .ace_marker-layer .ace_selection {background: #B5D5FF}.ace-xcode.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-xcode .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-xcode .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-xcode .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_marker-layer .ace_selected-word {border: 1px solid #B5D5FF}.ace-xcode .ace_constant.ace_language,.ace-xcode .ace_keyword,.ace-xcode .ace_meta,.ace-xcode .ace_variable.ace_language {color: #C800A4}.ace-xcode .ace_invisible {color: #BFBFBF}.ace-xcode .ace_constant.ace_character,.ace-xcode .ace_constant.ace_other {color: #275A5E}.ace-xcode .ace_constant.ace_numeric {color: #3A00DC}.ace-xcode .ace_entity.ace_other.ace_attribute-name,.ace-xcode .ace_support.ace_constant,.ace-xcode .ace_support.ace_function {color: #450084}.ace-xcode .ace_fold {background-color: #C800A4;border-color: #000000}.ace-xcode .ace_entity.ace_name.ace_tag,.ace-xcode .ace_support.ace_class,.ace-xcode .ace_support.ace_type {color: #790EAD}.ace-xcode .ace_storage {color: #C900A4}.ace-xcode .ace_string {color: #DF0002}.ace-xcode .ace_comment {color: #008E00}.ace-xcode .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file
diff --git a/library/ace/worker-coffee.js b/library/ace/worker-coffee.js
new file mode 100644
index 000000000..1be7db3ab
--- /dev/null
+++ b/library/ace/worker-coffee.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/coffee/coffee",["require","exports","module"],function(require,exports,module){function define(e){module.exports=e()}define.amd={},function(root){var CoffeeScript=function(){function _dereq_(e){return _dereq_[e]}return _dereq_["./helpers"]=function(){var e={},t={exports:e};return function(){var t,n,r,i,s,o;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var r;return r=t.length,t===e.substr(e.length-r-(n||0),r)},e.repeat=s=function(e,t){var n;for(n="";t>0;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,r,i;for(i=[],t=0,r=e.length;r>t;t++)n=e[t],n&&i.push(n);return i},e.count=function(e,t){var n,r;if(n=r=0,!t.length)return 1/0;for(;r=1+e.indexOf(t,r);)n++;return n},e.merge=function(e,t){return n(n({},e),t)},n=e.extend=function(e,t){var n,r;for(n in t)r=t[n],e[n]=r;return e},e.flatten=r=function(e){var t,n,i,s;for(n=[],i=0,s=e.length;s>i;i++)t=e[i],t instanceof Array?n=n.concat(r(t)):n.push(t);return n},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.some=null!=(i=Array.prototype.some)?i:function(e){var t,n,r;for(n=0,r=this.length;r>n;n++)if(t=this[n],e(t))return!0;return!1},e.invertLiterate=function(e){var t,n,r;return r=!0,n=function(){var n,i,s,o;for(s=e.split("\n"),o=[],n=0,i=s.length;i>n;n++)t=s[n],r&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?o.push(t):(r=/^\s*$/.test(t))?o.push(t):o.push("# "+t);return o}(),n.join("\n")},t=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},e.addLocationDataFn=function(e,n){return function(r){return"object"==typeof r&&r.updateLocationDataIfMissing&&r.updateLocationDataIfMissing(t(e,n)),r}},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?t.first_line+1+":"+(t.first_column+1)+"-"+(t.last_line+1+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e,t,n){var r,i;return null==t&&(t=!1),null==n&&(n=!1),i=n?/\\|\//:/\//,r=e.split(i),e=r[r.length-1],t&&e.indexOf(".")>=0?(r=e.split("."),r.pop(),"coffee"===r[r.length-1]&&r.length>1&&r.pop(),r.join(".")):e},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw n=new SyntaxError(e),n.location=t,n.toString=o,n.stack=""+n,n},e.updateSyntaxError=function(e,t,n){return e.toString===o&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=""+e),e},o=function(){var e,t,n,r,i,o,u,a,f,l,c,h,p,d,v;return this.code&&this.location?(c=this.location,u=c.first_line,o=c.first_column,f=c.last_line,a=c.last_column,null==f&&(f=u),null==a&&(a=o),i=this.filename||"[stdin]",e=this.code.split("\n")[u],v=o,r=u===f?a+1:e.length,l=e.slice(0,v).replace(/[^\s]/g," ")+s("^",r-v),"undefined"!=typeof process&&null!==process&&(n=(null!=(h=process.stdout)?h.isTTY:void 0)&&(null!=(p=process.env)?!p.NODE_DISABLE_COLORS:!void 0)),(null!=(d=this.colorful)?d:n)&&(t=function(e){return""+e+""},e=e.slice(0,v)+t(e.slice(v,r))+e.slice(r),l=t(l)),i+":"+(u+1)+":"+(o+1)+": error: "+this.message+"\n"+e+"\n"+l):Error.prototype.toString.call(this)},e.nameWhitespaceCharacter=function(e){switch(e){case" ":return"space";case"\n":return"newline";case"\r":return"carriage return";case" ":return"tab";default:return e}}}.call(this),t.exports}(),_dereq_["./rewriter"]=function(){var e={},t={exports:e};return function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},E=[].slice;for(d=function(e,t,n){var r;return r=[e,t],r.generated=!0,n&&(r.origin=n),r},e.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,r;for(r=this.tokens,t=0;n=r[t];)t+=e.call(this,n,t,r);return!0},e.prototype.detectEnd=function(e,t,n){var r,o,u,a,f;for(f=this.tokens,r=0;a=f[e];){if(0===r&&t.call(this,a,e))return n.call(this,a,e);if(!a||0>r)return n.call(this,a,e-1);o=a[0],w.call(s,o)>=0?r+=1:(u=a[0],w.call(i,u)>=0&&(r-=1)),e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,r,i;for(r=this.tokens,e=t=0,n=r.length;n>t&&(i=r[e][0],"TERMINATOR"===i);e=++t);return e?this.tokens.splice(0,e):void 0},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return")"===(n=e[0])||"CALL_END"===n||"OUTDENT"===e[0]&&")"===this.tag(t-1)},e=function(e,t){return this.tokens["OUTDENT"===e[0]?t-1:t][0]="CALL_END"},this.scanTokens(function(n,r){return"CALL_START"===n[0]&&this.detectEnd(r+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},e=function(e){return e[0]="INDEX_END"},this.scanTokens(function(n,r){return"INDEX_START"===n[0]&&this.detectEnd(r+1,t,e),1})},e.prototype.indexOfTag=function(){var e,t,n,r,i,s,o;for(t=arguments[0],i=arguments.length>=2?E.call(arguments,1):[],e=0,n=r=0,s=i.length;s>=0?s>r:r>s;n=s>=0?++r:--r){for(;"HERECOMMENT"===this.tag(t+n+e);)e+=2;if(null!=i[n]&&("string"==typeof i[n]&&(i[n]=[i[n]]),o=this.tag(t+n+e),0>w.call(i[n],o)))return-1}return t+n+e-1},e.prototype.looksObjectish=function(e){var t,n;return this.indexOfTag(e,"@",null,":")>-1||this.indexOfTag(e,null,":")>-1?!0:(n=this.indexOfTag(e,s),n>-1&&(t=null,this.detectEnd(n+1,function(e){var t;return t=e[0],w.call(i,t)>=0},function(e,n){return t=n}),":"===this.tag(t+1))?!0:!1)},e.prototype.findTagsBackwards=function(e,t){var n,r,o,u,a,f,l;for(n=[];e>=0&&(n.length||(u=this.tag(e),0>w.call(t,u)&&(a=this.tag(e),0>w.call(s,a)||this.tokens[e].generated)&&(f=this.tag(e),0>w.call(c,f))));)r=this.tag(e),w.call(i,r)>=0&&n.push(this.tag(e)),o=this.tag(e),w.call(s,o)>=0&&n.length&&n.pop(),e-=1;return l=this.tag(e),w.call(t,l)>=0},e.prototype.addImplicitBracesAndParens=function(){var e,t;return e=[],t=null,this.scanTokens(function(r,l,h){var p,v,m,g,y,b,E,S,x,T,N,C,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z;if(z=r[0],N=(C=l>0?h[l-1]:[])[0],x=(h.length-1>l?h[l+1]:[])[0],F=function(){return e[e.length-1]},I=l,m=function(e){return l-I+e},g=function(){var e,t;return null!=(e=F())?null!=(t=e[2])?t.ours:void 0:void 0},y=function(){var e;return g()&&"("===(null!=(e=F())?e[0]:void 0)},E=function(){var e;return g()&&"{"===(null!=(e=F())?e[0]:void 0)},b=function(){var e;return g&&"CONTROL"===(null!=(e=F())?e[0]:void 0)},q=function(t){var n;return n=null!=t?t:l,e.push(["(",n,{ours:!0}]),h.splice(n,0,d("CALL_START","(")),null==t?l+=1:void 0},p=function(){return e.pop(),h.splice(l,0,d("CALL_END",")",["","end of input",r[2]])),l+=1},R=function(t,n){var i,s;return null==n&&(n=!0),i=null!=t?t:l,e.push(["{",i,{sameLine:!0,startsLine:n,ours:!0}]),s=new String("{"),s.generated=!0,h.splice(i,0,d("{",s,r)),null==t?l+=1:void 0},v=function(t){return t=null!=t?t:l,e.pop(),h.splice(t,0,d("}","}",r)),l+=1},!y()||"IF"!==z&&"TRY"!==z&&"FINALLY"!==z&&"CATCH"!==z&&"CLASS"!==z&&"SWITCH"!==z){if("INDENT"===z&&g()){if("=>"!==N&&"->"!==N&&"["!==N&&"("!==N&&","!==N&&"{"!==N&&"TRY"!==N&&"ELSE"!==N&&"="!==N)for(;y();)p();return b()&&e.pop(),e.push([z,l]),m(1)}if(w.call(s,z)>=0)return e.push([z,l]),m(1);if(w.call(i,z)>=0){for(;g();)y()?p():E()?v():e.pop();t=e.pop()}if((w.call(a,z)>=0&&r.spaced||"?"===z&&l>0&&!h[l-1].spaced)&&(w.call(o,x)>=0||w.call(f,x)>=0&&(null!=(L=h[l+1])?!L.spaced:!void 0)&&(null!=(A=h[l+1])?!A.newLine:!void 0)))return"?"===z&&(z=r[0]="FUNC_EXIST"),q(l+1),m(2);if(w.call(a,z)>=0&&this.indexOfTag(l+1,"INDENT")>-1&&this.looksObjectish(l+2)&&!this.findTagsBackwards(l,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return q(l+1),e.push(["INDENT",l+2]),m(3);if(":"===z){for(P=function(){var e;switch(!1){case e=this.tag(l-1),0>w.call(i,e):return t[1];case"@"!==this.tag(l-2):return l-2;default:return l-1}}.call(this);"HERECOMMENT"===this.tag(P-2);)P-=2;return this.insideForDeclaration="FOR"===x,U=0===P||(O=this.tag(P-1),w.call(c,O)>=0)||h[P-1].newLine,F()&&(M=F(),j=M[0],B=M[1],("{"===j||"INDENT"===j&&"{"===this.tag(B-1))&&(U||","===this.tag(P-1)||"{"===this.tag(P-1)))?m(1):(R(P,!!U),m(2))}if(E()&&w.call(c,z)>=0&&(F()[2].sameLine=!1),S="OUTDENT"===N||C.newLine,w.call(u,z)>=0||w.call(n,z)>=0&&S)for(;g();)if(_=F(),j=_[0],B=_[1],D=_[2],H=D.sameLine,U=D.startsLine,y()&&","!==N)p();else if(E()&&!this.insideForDeclaration&&H&&"TERMINATOR"!==z&&":"!==N)v();else{if(!E()||"TERMINATOR"!==z||","===N||U&&this.looksObjectish(l+1))break;if("HERECOMMENT"===x)return m(1);v()}if(!(","!==z||this.looksObjectish(l+1)||!E()||this.insideForDeclaration||"TERMINATOR"===x&&this.looksObjectish(l+2)))for(T="OUTDENT"===x?1:0;E();)v(l+T);return m(1)}return e.push(["CONTROL",l,{ours:!0}]),m(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var r,i,s,o,u,a;return e[2]?1:e.generated||e.explicit?("{"===e[0]&&(s=null!=(u=n[t+1])?u[2]:void 0)?(i=s.first_line,r=s.first_column):(o=null!=(a=n[t-1])?a[2]:void 0)?(i=o.last_line,r=o.last_column):i=r=0,e[2]={first_line:i,first_column:r,last_line:i,last_column:r},1):1})},e.prototype.normalizeLines=function(){var e,t,i,s,o;return o=i=s=null,t=function(e,t){var i,s,u,a;return";"!==e[1]&&(i=e[0],w.call(h,i)>=0)&&!("TERMINATOR"===e[0]&&(s=this.tag(t+1),w.call(r,s)>=0))&&("ELSE"!==e[0]||"THEN"===o)&&("CATCH"!==(u=e[0])&&"FINALLY"!==u||"->"!==o&&"=>"!==o)||(a=e[0],w.call(n,a)>=0&&this.tokens[t-1].newLine)},e=function(e,t){return this.tokens.splice(","===this.tag(t-1)?t-1:t,0,s)},this.scanTokens(function(n,u,a){var f,l,c,h,d,v;if(v=n[0],"TERMINATOR"===v){if("ELSE"===this.tag(u+1)&&"OUTDENT"!==this.tag(u-1))return a.splice.apply(a,[u,1].concat(E.call(this.indentation()))),1;if(c=this.tag(u+1),w.call(r,c)>=0)return a.splice(u,1),0}if("CATCH"===v)for(f=l=1;2>=l;f=++l)if("OUTDENT"===(h=this.tag(u+f))||"TERMINATOR"===h||"FINALLY"===h)return a.splice.apply(a,[u+f,0].concat(E.call(this.indentation()))),2+f;return w.call(p,v)>=0&&"INDENT"!==this.tag(u+1)&&("ELSE"!==v||"IF"!==this.tag(u+1))?(o=v,d=this.indentation(a[u]),i=d[0],s=d[1],"THEN"===o&&(i.fromThen=!0),a.splice(u+1,0,i),this.detectEnd(u+2,t,e),"THEN"===v&&a.splice(u,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,r;return r=e[0],n=this.tokens[t-1][0],"TERMINATOR"===r||"INDENT"===r&&0>w.call(p,n)},e=function(e){return"INDENT"!==e[0]||e.generated&&!e.fromThen?n[0]="POST_"+n[0]:void 0},this.scanTokens(function(r,i){return"IF"!==r[0]?1:(n=r,this.detectEnd(i+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return t=["INDENT",2],n=["OUTDENT",2],e?(t.generated=n.generated=!0,t.origin=n.origin=e):t.explicit=n.explicit=!0,[t,n]},e.prototype.generate=d,e.prototype.tag=function(e){var t;return null!=(t=this.tokens[e])?t[0]:void 0},e}(),t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],e.INVERSES=l={},s=[],i=[],v=0,g=t.length;g>v;v++)y=t[v],m=y[0],b=y[1],s.push(l[b]=m),i.push(l[m]=b);r=["CATCH","THEN","ELSE","FINALLY"].concat(i),a=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],o=["IDENTIFIER","NUMBER","STRING","STRING_START","JS","REGEX","REGEX_START","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","BOOL","NULL","UNDEFINED","UNARY","YIELD","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],f=["+","-"],u=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],p=["ELSE","->","=>","TRY","FINALLY","THEN"],h=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],c=["TERMINATOR","INDENT","OUTDENT"],n=[".","?.","::","?::"]}.call(this),t.exports}(),_dereq_["./lexer"]=function(){var e={},t={exports:e};return function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};ot=_dereq_("./rewriter"),R=ot.Rewriter,E=ot.INVERSES,ut=_dereq_("./helpers"),nt=ut.count,ft=ut.starts,tt=ut.compact,at=ut.repeat,rt=ut.invertLiterate,st=ut.locationDataToString,lt=ut.throwSyntaxError,e.Lexer=A=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,r,i,s;for(null==t&&(t={}),this.literate=t.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),i=0;this.chunk=e.slice(i);)if(n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),s=this.getLineAndColumnFromChunk(n),this.chunkLine=s[0],this.chunkColumn=s[1],i+=n,t.untilBalanced&&0===this.ends.length)return{tokens:this.tokens,index:i};return this.closeIndentation(),(r=this.ends.pop())&&this.error("missing "+r.tag,r.origin[2]),t.rewrite===!1?this.tokens:(new R).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===t&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(Q,""),et.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=rt(e)),e},e.prototype.identifierToken=function(){var e,t,n,r,i,a,f,l,c,h,p,d,v,m,y,b;return(l=g.exec(this.chunk))?(f=l[0],i=l[1],t=l[2],a=i.length,c=void 0,"own"===i&&"FOR"===this.tag()?(this.token("OWN",i),i.length):"from"===i&&"YIELD"===this.tag()?(this.token("FROM",i),i.length):(p=this.tokens,h=p[p.length-1],r=t||null!=h&&("."===(d=h[0])||"?."===d||"::"===d||"?::"===d||!h.spaced&&"@"===h[0]),y="IDENTIFIER",!r&&(ct.call(T,i)>=0||ct.call(u,i)>=0)&&(y=i.toUpperCase(),"WHEN"===y&&(v=this.tag(),ct.call(C,v)>=0)?y="LEADING_WHEN":"FOR"===y?this.seenFor=!0:"UNLESS"===y?y="IF":ct.call(G,y)>=0?y="UNARY":ct.call(I,y)>=0&&("INSTANCEOF"!==y&&this.seenFor?(y="FOR"+y,this.seenFor=!1):(y="RELATION","!"===this.value()&&(c=this.tokens.pop(),i="!"+i)))),ct.call(x,i)>=0&&(r?(y="IDENTIFIER",i=new String(i),i.reserved=!0):ct.call(q,i)>=0&&this.error("reserved word '"+i+"'",{length:i.length})),r||(ct.call(s,i)>=0&&(e=i,i=o[i]),y=function(){switch(i){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return y}}()),b=this.token(y,i,0,a),e&&(b.origin=[y,e,b[2]]),b.variable=!r,c&&(m=[c[2].first_line,c[2].first_column],b[2].first_line=m[0],b[2].first_column=m[1]),t&&(n=f.lastIndexOf(":"),this.token(":",":",n,t.length)),f.length)):0},e.prototype.numberToken=function(){var e,t,n,r,i;return(n=D.exec(this.chunk))?(r=n[0],t=r.length,/^0[BOX]/.test(r)?this.error("radix prefix in '"+r+"' must be lowercase",{offset:1}):/E/.test(r)&&!/^0x/.test(r)?this.error("exponential notation in '"+r+"' must be indicated with a lowercase 'e'",{offset:r.indexOf("E")}):/^0\d*[89]/.test(r)?this.error("decimal literal '"+r+"' must not be prefixed with '0'",{length:t}):/^0\d+/.test(r)&&this.error("octal literal '"+r+"' must be prefixed with '0o'",{length:t}),(i=/^0o([0-7]+)/.exec(r))&&(r="0x"+parseInt(i[1],8).toString(16)),(e=/^0b([01]+)/.exec(r))&&(r="0x"+parseInt(e[1],2).toString(16)),this.token("NUMBER",r,0,t),t):0},e.prototype.stringToken=function(){var e,t,n,r,i,s,o,u,a,f,l,c,v,m,g,y;if(l=(J.exec(this.chunk)||[])[0],!l)return 0;if(m=function(){switch(l){case"'":return $;case'"':return X;case"'''":return d;case'"""':return h}}(),s=3===l.length,c=this.matchWithInterpolations(m,l),y=c.tokens,i=c.index,e=y.length-1,n=l.charAt(0),s){for(u=null,r=function(){var e,t,n;for(n=[],o=e=0,t=y.length;t>e;o=++e)g=y[o],"NEOSTRING"===g[0]&&n.push(g[1]);return n}().join("#{}");f=p.exec(r);)t=f[1],(null===u||(v=t.length)>0&&u.length>v)&&(u=t);u&&(a=RegExp("^"+u,"gm")),this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,r){return n=t.formatString(n),0===r&&(n=n.replace(N,"")),r===e&&(n=n.replace(K,"")),a&&(n=n.replace(a,"")),n}}(this))}else this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,r){return n=t.formatString(n),n=n.replace(z,function(t,i){return 0===r&&0===i||r===e&&i+t.length===n.length?"":" "})}}(this));return i},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(a))?(e=n[0],t=n[1],t&&((n=c.exec(e))&&this.error("block comments cannot contain "+n[0],{offset:n.index,length:n[0].length}),t.indexOf("\n")>=0&&(t=t.replace(RegExp("\\n"+at(" ",this.indent),"g"),"\n")),this.token("HERECOMMENT",t,0,e.length)),e.length):0},e.prototype.jsToken=function(){var e,t;return"`"===this.chunk.charAt(0)&&(e=S.exec(this.chunk))?(this.token("JS",(t=e[0]).slice(1,-1),0,t.length),t.length):0},e.prototype.regexToken=function(){var e,t,n,i,s,o,u,a,f,l,c,h,p;switch(!1){case!(o=F.exec(this.chunk)):this.error("regular expressions cannot begin with "+o[2],{offset:o.index+o[1].length});break;case!(o=this.matchWithInterpolations(v,"///")):p=o.tokens,s=o.index;break;case!(o=B.exec(this.chunk)):if(h=o[0],e=o[1],t=o[2],this.validateEscapes(e,{isRegex:!0,offsetInChunk:1}),s=h.length,f=this.tokens,a=f[f.length-1],a)if(a.spaced&&(l=a[0],ct.call(r,l)>=0)){if(!t||H.test(h))return 0}else if(c=a[0],ct.call(_,c)>=0)return 0;t||this.error("missing / (unclosed regex)");break;default:return 0}switch(i=j.exec(this.chunk.slice(s))[0],n=s+i.length,u=this.makeToken("REGEX",null,0,n),!1){case!!Z.test(i):this.error("invalid regular expression flags "+i,{offset:s,length:i.length});break;case!h&&1!==p.length:null==e&&(e=this.formatHeregex(p[0][1])),this.token("REGEX",""+this.makeDelimitedLiteral(e,{delimiter:"/"})+i,0,n,u);break;default:this.token("REGEX_START","(",0,0,u),this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),this.mergeInterpolationTokens(p,{delimiter:'"',"double":!0},this.formatHeregex),i&&(this.token(",",",",s,0),this.token("STRING",'"'+i+'"',s,i.length)),this.token(")",")",n,0),this.token("REGEX_END",")",n,0)}return n},e.prototype.lineToken=function(){var e,t,n,r,i;if(!(n=M.exec(this.chunk)))return 0;if(t=n[0],this.seenFor=!1,i=t.length-1-t.lastIndexOf("\n"),r=this.unfinished(),i-this.indebt===this.indent)return r?this.suppressNewlines():this.newlineToken(0),t.length;if(i>this.indent){if(r)return this.indebt=i-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=i,t.length;e=i-this.indent+this.outdebt,this.token("INDENT",e,t.length-i,i),this.indents.push(e),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=i}else this.baseIndent>i?this.error("missing indentation",{offset:t.length}):(this.indebt=0,this.outdentToken(this.indent-i,r,t.length));return t.length},e.prototype.outdentToken=function(e,t,n){var r,i,s,o;for(r=this.indent-e;e>0;)s=this.indents[this.indents.length-1],s?s===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.outdebt>s?(this.outdebt-=s,e-=s):(i=this.indents.pop()+this.outdebt,n&&(o=this.chunk[n],ct.call(y,o)>=0)&&(r-=i-e,e=i),this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",e,0,n),e-=i):e=0;for(i&&(this.outdebt-=e);";"===this.value();)this.tokens.pop();return"TERMINATOR"===this.tag()||t||this.token("TERMINATOR","\n",n,0),this.indent=r,this},e.prototype.whitespaceToken=function(){var e,t,n,r;return(e=et.exec(this.chunk))||(t="\n"===this.chunk.charAt(0))?(r=this.tokens,n=r[r.length-1],n&&(n[e?"spaced":"newLine"]=!0),e?e[0].length:0):0},e.prototype.newlineToken=function(e){for(;";"===this.value();)this.tokens.pop();return"TERMINATOR"!==this.tag()&&this.token("TERMINATOR","\n",e,0),this},e.prototype.suppressNewlines=function(){return"\\"===this.value()&&this.tokens.pop(),this},e.prototype.literalToken=function(){var e,t,n,s,o,u,a,c,h,p;if((e=P.exec(this.chunk))?(p=e[0],i.test(p)&&this.tagParameters()):p=this.chunk.charAt(0),c=p,n=this.tokens,t=n[n.length-1],"="===p&&t&&(!t[1].reserved&&(s=t[1],ct.call(x,s)>=0)&&(t.origin&&(t=t.origin),this.error("reserved word '"+t[1]+"' can't be assigned",t[2])),"||"===(o=t[1])||"&&"===o))return t[0]="COMPOUND_ASSIGN",t[1]+="=",p.length;if(";"===p)this.seenFor=!1,c="TERMINATOR";else if(ct.call(O,p)>=0)c="MATH";else if(ct.call(f,p)>=0)c="COMPARE";else if(ct.call(l,p)>=0)c="COMPOUND_ASSIGN";else if(ct.call(G,p)>=0)c="UNARY";else if(ct.call(Y,p)>=0)c="UNARY_MATH";else if(ct.call(U,p)>=0)c="SHIFT";else if(ct.call(L,p)>=0||"?"===p&&(null!=t?t.spaced:void 0))c="LOGIC";else if(t&&!t.spaced)if("("===p&&(u=t[0],ct.call(r,u)>=0))"?"===t[0]&&(t[0]="FUNC_EXIST"),c="CALL_START";else if("["===p&&(a=t[0],ct.call(b,a)>=0))switch(c="INDEX_START",t[0]){case"?":t[0]="INDEX_SOAK"}switch(h=this.makeToken(c,p),p){case"(":case"{":case"[":this.ends.push({tag:E[p],origin:h});break;case")":case"}":case"]":this.pair(p)}return this.tokens.push(h),p.length},e.prototype.tagParameters=function(){var e,t,n,r;if(")"!==this.tag())return this;for(t=[],r=this.tokens,e=r.length,r[--e][0]="PARAM_END";n=r[--e];)switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return"("===n[0]?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.matchWithInterpolations=function(t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g;if(g=[],l=n.length,this.chunk.slice(0,l)!==n)return null;for(v=this.chunk.slice(l);;){if(m=t.exec(v)[0],this.validateEscapes(m,{isRegex:"/"===n.charAt(0),offsetInChunk:l}),g.push(this.makeToken("NEOSTRING",m,l)),v=v.slice(m.length),l+=m.length,"#{"!==v.slice(0,2))break;h=this.getLineAndColumnFromChunk(l+1),a=h[0],i=h[1],p=(new e).tokenize(v.slice(1),{line:a,column:i,untilBalanced:!0}),f=p.tokens,o=p.index,o+=1,c=f[0],r=f[f.length-1],c[0]=c[1]="(",r[0]=r[1]=")",r.origin=["","end of interpolation",r[2]],"TERMINATOR"===(null!=(d=f[1])?d[0]:void 0)&&f.splice(1,1),g.push(["TOKENS",f]),v=v.slice(o),l+=o}return v.slice(0,n.length)!==n&&this.error("missing "+n,{length:n.length}),s=g[0],u=g[g.length-1],s[2].first_column-=n.length,u[2].last_column+=n.length,0===u[1].length&&(u[2].last_column-=1),{tokens:g,index:l+n.length}},e.prototype.mergeInterpolationTokens=function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;for(e.length>1&&(c=this.token("STRING_START","(",0,0)),s=this.tokens.length,o=u=0,f=e.length;f>u;o=++u){switch(m=e[o],v=m[0],y=m[1],v){case"TOKENS":if(2===y.length)continue;l=y[0],g=y;break;case"NEOSTRING":if(r=n(m[1],o),0===r.length){if(0!==o)continue;i=this.tokens.length}2===o&&null!=i&&this.tokens.splice(i,2),m[0]="STRING",m[1]=this.makeDelimitedLiteral(r,t),l=m,g=[m]}this.tokens.length>s&&(h=this.token("+","+"),h[2]={first_line:l[2].first_line,first_column:l[2].first_column,last_line:l[2].first_line,last_column:l[2].first_column}),(p=this.tokens).push.apply(p,g)}return c?(a=e[e.length-1],c.origin=["STRING",null,{first_line:c[2].first_line,first_column:c[2].first_column,last_line:a[2].last_line,last_column:a[2].last_column}],d=this.token("STRING_END",")"),d[2]={first_line:a[2].last_line,first_column:a[2].last_column,last_line:a[2].last_line,last_column:a[2].last_column}):void 0},e.prototype.pair=function(e){var t,n,r,i,s;return r=this.ends,n=r[r.length-1],e!==(s=null!=n?n.tag:void 0)?("OUTDENT"!==s&&this.error("unmatched "+e),i=this.indents,t=i[i.length-1],this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,r,i,s;return 0===e?[this.chunkLine,this.chunkColumn]:(s=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),r=nt(s,"\n"),t=this.chunkColumn,r>0?(i=s.split("\n"),n=i[i.length-1],t=n.length):t+=s.length,[this.chunkLine+r,t])},e.prototype.makeToken=function(e,t,n,r){var i,s,o,u,a;return null==n&&(n=0),null==r&&(r=t.length),s={},o=this.getLineAndColumnFromChunk(n),s.first_line=o[0],s.first_column=o[1],i=Math.max(0,r-1),u=this.getLineAndColumnFromChunk(n+i),s.last_line=u[0],s.last_column=u[1],a=[e,t,s]},e.prototype.token=function(e,t,n,r,i){var s;return s=this.makeToken(e,t,n,r),i&&(s.origin=i),this.tokens.push(s),s},e.prototype.tag=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[0]:void 0},e.prototype.value=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[1]:void 0},e.prototype.unfinished=function(){var e;return k.test(this.chunk)||"\\"===(e=this.tag())||"."===e||"?."===e||"?::"===e||"UNARY"===e||"MATH"===e||"UNARY_MATH"===e||"+"===e||"-"===e||"YIELD"===e||"**"===e||"SHIFT"===e||"RELATION"===e||"COMPARE"===e||"LOGIC"===e||"THROW"===e||"EXTENDS"===e},e.prototype.formatString=function(e){return e.replace(V,"$1")},e.prototype.formatHeregex=function(e){return e.replace(m,"$1$2")},e.prototype.validateEscapes=function(e,t){var n,r,i,s,o,u,a,f;return null==t&&(t={}),s=w.exec(e),!s||(s[0],n=s[1],u=s[2],r=s[3],f=s[4],t.isRegex&&u&&"0"!==u.charAt(0))?void 0:(o=u?"octal escape sequences are not allowed":"invalid escape sequence",i="\\"+(u||r||f),this.error(o+" "+i,{offset:(null!=(a=t.offsetInChunk)?a:0)+s.index+n.length,length:i.length}))},e.prototype.makeDelimitedLiteral=function(e,t){var n;return null==t&&(t={}),""===e&&"/"===t.delimiter&&(e="(?:)"),n=RegExp("(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?("+t.delimiter+")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)","g"),e=e.replace(n,function(e,n,r,i,s,o,u,a,f){switch(!1){case!n:return t.double?n+n:n;case!r:return"\\x00";case!i:return"\\"+i;case!s:return"\\n";case!o:return"\\r";case!u:return"\\u2028";case!a:return"\\u2029";case!f:return t.double?"\\"+f:f}}),""+t.delimiter+e+t.delimiter},e.prototype.error=function(e,t){var n,r,i,s,o,u;return null==t&&(t={}),i="first_line"in t?t:(o=this.getLineAndColumnFromChunk(null!=(s=t.offset)?s:0),r=o[0],n=o[1],o,{first_line:r,first_column:n,last_column:n+(null!=(u=t.length)?u:1)-1}),lt(e,i)},e}(),T=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],u=["undefined","then","unless","until","loop","of","by","when"],o={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},s=function(){var e;e=[];for(it in o)e.push(it);return e}(),u=u.concat(s),q=["case","default","function","var","void","with","const","let","enum","export","import","native","implements","interface","package","private","protected","public","static"],W=["arguments","eval","yield*"],x=T.concat(q).concat(W),e.RESERVED=q.concat(T).concat(u).concat(W),e.STRICT_PROSCRIBED=W,t=65279,g=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,D=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,P=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,et=/^[^\n\S]+/,a=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,i=/^[-=]>/,M=/^(?:\n[^\n\S]*)+/,S=/^`[^\\`]*(?:\\.[^\\`]*)*`/,J=/^(?:'''|"""|'|")/,$=/^(?:[^\\']|\\[\s\S])*/,X=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,d=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,h=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,V=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,z=/\s*\n\s*/g,p=/\n+([^\n\S]*)(?=\S)/g,B=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,j=/^\w*/,Z=/^(?!.*(.).*\1)[imgy]*$/,v=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,m=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,F=/^(\/|\/{3}\s*)(\*)/,H=/^\/=?\s/,c=/\*\//,k=/^\s*(?:,|\??\.(?![.\d])|::)/,w=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/,N=/^[^\n\S]*\n/,K=/\n[^\n\S]*$/,Q=/\s+$/,l=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],G=["NEW","TYPEOF","DELETE","DO"],Y=["!","~"],L=["&&","||","&","|","^"],U=["<<",">>",">>>"],f=["==","!=","<",">","<=",">="],O=["*","/","%","//","%%"],I=["IN","OF","INSTANCEOF"],n=["TRUE","FALSE"],r=["IDENTIFIER",")","]","?","@","THIS","SUPER"],b=r.concat(["NUMBER","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),_=b.concat(["++","--"]),C=["INDENT","OUTDENT","TERMINATOR"],y=[")","}","]"]}.call(this),t.exports}(),_dereq_["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,20],r=[1,75],i=[1,71],s=[1,76],o=[1,77],u=[1,73],a=[1,74],f=[1,50],l=[1,52],c=[1,53],h=[1,54],p=[1,55],d=[1,45],v=[1,46],m=[1,27],g=[1,60],y=[1,61],b=[1,70],w=[1,43],E=[1,26],S=[1,58],x=[1,59],T=[1,57],N=[1,38],C=[1,44],k=[1,56],L=[1,65],A=[1,66],O=[1,67],M=[1,68],_=[1,42],D=[1,64],P=[1,29],H=[1,30],B=[1,31],j=[1,32],F=[1,33],I=[1,34],q=[1,35],R=[1,78],U=[1,6,26,34,108],z=[1,88],W=[1,81],X=[1,80],V=[1,79],$=[1,82],J=[1,83],K=[1,84],Q=[1,85],G=[1,86],Y=[1,87],Z=[1,91],et=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],tt=[1,97],nt=[1,98],rt=[1,99],it=[1,100],st=[1,102],ot=[1,103],ut=[1,96],at=[2,112],ft=[1,6,25,26,34,55,60,63,72,73,74,75,77,79,80,84,90,91,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],lt=[2,79],ct=[1,108],ht=[2,58],pt=[1,112],dt=[1,117],vt=[1,118],mt=[1,120],gt=[1,6,25,26,34,46,55,60,63,72,73,74,75,77,79,80,84,90,91,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],yt=[2,76],bt=[1,6,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],wt=[1,155],Et=[1,157],St=[1,152],xt=[1,6,25,26,34,46,55,60,63,72,73,74,75,77,79,80,84,86,90,91,92,97,99,108,110,111,112,116,117,132,135,136,139,140,141,142,143,144,145,146,147,148],Tt=[2,95],Nt=[1,6,25,26,34,49,55,60,63,72,73,74,75,77,79,80,84,90,91,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],Ct=[1,6,25,26,34,46,49,55,60,63,72,73,74,75,77,79,80,84,86,90,91,92,97,99,108,110,111,112,116,117,123,124,132,135,136,139,140,141,142,143,144,145,146,147,148],kt=[1,206],Lt=[1,205],At=[1,6,25,26,34,38,55,60,63,72,73,74,75,77,79,80,84,90,91,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],Ot=[2,56],Mt=[1,216],_t=[6,25,26,55,60],Dt=[6,25,26,46,55,60,63],Pt=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,135,136,142,144,145,146,147],Ht=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132],Bt=[72,73,74,75,77,80,90,91],jt=[1,235],Ft=[2,133],It=[1,6,25,26,34,46,55,60,63,72,73,74,75,77,79,80,84,90,91,92,97,99,108,110,111,112,116,117,123,124,132,135,136,141,142,143,144,145,146,147],qt=[1,244],Rt=[6,25,26,60,92,97],Ut=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,117,132],zt=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,111,117,132],Wt=[123,124],Xt=[60,123,124],Vt=[1,255],$t=[6,25,26,60,84],Jt=[6,25,26,49,60,84],Kt=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,135,136,144,145,146,147],Qt=[11,28,30,32,33,36,37,40,41,42,43,44,51,52,53,57,58,79,82,85,89,94,95,96,102,106,107,110,112,114,116,125,131,133,134,135,136,137,139,140],Gt=[2,122],Yt=[6,25,26],Zt=[2,57],en=[1,268],tn=[1,269],nn=[1,6,25,26,34,55,60,63,79,84,92,97,99,104,105,108,110,111,112,116,117,127,129,132,135,136,141,142,143,144,145,146,147],rn=[26,127,129],sn=[1,6,26,34,55,60,63,79,84,92,97,99,108,111,117,132],on=[2,71],un=[1,291],an=[1,292],fn=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,127,132,135,136,141,142,143,144,145,146,147],ln=[1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,112,116,117,132],cn=[1,303],hn=[1,304],pn=[6,25,26,60],dn=[1,6,25,26,34,55,60,63,79,84,92,97,99,104,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],vn=[25,60],mn={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,Comment:10,STATEMENT:11,Value:12,Invocation:13,Code:14,Operation:15,Assign:16,If:17,Try:18,While:19,For:20,Switch:21,Class:22,Throw:23,Block:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,String:31,STRING:32,STRING_START:33,STRING_END:34,Regex:35,REGEX:36,REGEX_START:37,REGEX_END:38,Literal:39,JS:40,DEBUGGER:41,UNDEFINED:42,NULL:43,BOOL:44,Assignable:45,"=":46,AssignObj:47,ObjAssignable:48,":":49,ThisProperty:50,RETURN:51,HERECOMMENT:52,PARAM_START:53,ParamList:54,PARAM_END:55,FuncGlyph:56,"->":57,"=>":58,OptComma:59,",":60,Param:61,ParamVar:62,"...":63,Array:64,Object:65,Splat:66,SimpleAssignable:67,Accessor:68,Parenthetical:69,Range:70,This:71,".":72,"?.":73,"::":74,"?::":75,Index:76,INDEX_START:77,IndexValue:78,INDEX_END:79,INDEX_SOAK:80,Slice:81,"{":82,AssignList:83,"}":84,CLASS:85,EXTENDS:86,OptFuncExist:87,Arguments:88,SUPER:89,FUNC_EXIST:90,CALL_START:91,CALL_END:92,ArgList:93,THIS:94,"@":95,"[":96,"]":97,RangeDots:98,"..":99,Arg:100,SimpleArgs:101,TRY:102,Catch:103,FINALLY:104,CATCH:105,THROW:106,"(":107,")":108,WhileSource:109,WHILE:110,WHEN:111,UNTIL:112,Loop:113,LOOP:114,ForBody:115,FOR:116,BY:117,ForStart:118,ForSource:119,ForVariables:120,OWN:121,ForValue:122,FORIN:123,FOROF:124,SWITCH:125,Whens:126,ELSE:127,When:128,LEADING_WHEN:129,IfBlock:130,IF:131,POST_IF:132,UNARY:133,UNARY_MATH:134,"-":135,"+":136,YIELD:137,FROM:138,"--":139,"++":140,"?":141,MATH:142,"**":143,SHIFT:144,COMPARE:145,LOGIC:146,RELATION:147,COMPOUND_ASSIGN:148,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",11:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",32:"STRING",33:"STRING_START",34:"STRING_END",36:"REGEX",37:"REGEX_START",38:"REGEX_END",40:"JS",41:"DEBUGGER",42:"UNDEFINED",43:"NULL",44:"BOOL",46:"=",49:":",51:"RETURN",52:"HERECOMMENT",53:"PARAM_START",55:"PARAM_END",57:"->",58:"=>",60:",",63:"...",72:".",73:"?.",74:"::",75:"?::",77:"INDEX_START",79:"INDEX_END",80:"INDEX_SOAK",82:"{",84:"}",85:"CLASS",86:"EXTENDS",89:"SUPER",90:"FUNC_EXIST",91:"CALL_START",92:"CALL_END",94:"THIS",95:"@",96:"[",97:"]",99:"..",102:"TRY",104:"FINALLY",105:"CATCH",106:"THROW",107:"(",108:")",110:"WHILE",111:"WHEN",112:"UNTIL",114:"LOOP",116:"FOR",117:"BY",121:"OWN",123:"FORIN",124:"FOROF",125:"SWITCH",127:"ELSE",129:"LEADING_WHEN",131:"IF",132:"POST_IF",133:"UNARY",134:"UNARY_MATH",135:"-",136:"+",137:"YIELD",138:"FROM",139:"--",140:"++",141:"?",142:"MATH",143:"**",144:"SHIFT",145:"COMPARE",146:"LOGIC",147:"RELATION",148:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[24,2],[24,3],[27,1],[29,1],[29,1],[31,1],[31,3],[35,1],[35,3],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[16,3],[16,4],[16,5],[47,1],[47,3],[47,5],[47,1],[48,1],[48,1],[48,1],[9,2],[9,1],[10,1],[14,5],[14,2],[56,1],[56,1],[59,0],[59,1],[54,0],[54,1],[54,3],[54,4],[54,6],[61,1],[61,2],[61,3],[61,1],[62,1],[62,1],[62,1],[62,1],[66,2],[67,1],[67,2],[67,2],[67,1],[45,1],[45,1],[45,1],[12,1],[12,1],[12,1],[12,1],[12,1],[68,2],[68,2],[68,2],[68,2],[68,1],[68,1],[76,3],[76,2],[78,1],[78,1],[65,4],[83,0],[83,1],[83,3],[83,4],[83,6],[22,1],[22,2],[22,3],[22,4],[22,2],[22,3],[22,4],[22,5],[13,3],[13,3],[13,1],[13,2],[87,0],[87,1],[88,2],[88,4],[71,1],[71,1],[50,2],[64,2],[64,4],[98,1],[98,1],[70,5],[81,3],[81,2],[81,2],[81,1],[93,1],[93,3],[93,4],[93,4],[93,6],[100,1],[100,1],[100,1],[101,1],[101,3],[18,2],[18,3],[18,4],[18,5],[103,3],[103,3],[103,2],[23,2],[69,3],[69,5],[109,2],[109,4],[109,2],[109,4],[19,2],[19,2],[19,2],[19,1],[113,2],[113,2],[20,2],[20,2],[20,2],[115,2],[115,4],[115,2],[118,2],[118,3],[122,1],[122,1],[122,1],[122,1],[120,1],[120,3],[119,2],[119,2],[119,4],[119,4],[119,4],[119,6],[119,6],[21,5],[21,7],[21,4],[21,6],[126,1],[126,2],[128,3],[128,4],[130,3],[130,5],[17,1],[17,3],[17,3],[17,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,5],[15,4],[15,3]],performAction:function(e,t,n,r,i,s,o){var u=s.length-1;switch(i){case 1:return this.$=r.addLocationDataFn(o[u],o[u])(new r.Block);case 2:return this.$=s[u];case 3:this.$=r.addLocationDataFn(o[u],o[u])(r.Block.wrap([s[u]]));break;case 4:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].push(s[u]));break;case 5:this.$=s[u-1];break;case 6:case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 27:case 32:case 34:case 45:case 46:case 47:case 48:case 56:case 57:case 67:case 68:case 69:case 70:case 75:case 76:case 79:case 83:case 89:case 133:case 134:case 136:case 166:case 167:case 183:case 189:this.$=s[u];break;case 10:case 25:case 26:case 28:case 30:case 33:case 35:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 23:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Block);break;case 24:case 31:case 90:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-1]);break;case 29:case 146:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Parens(s[u-1]));break;case 36:this.$=r.addLocationDataFn(o[u],o[u])(new r.Undefined);break;case 37:this.$=r.addLocationDataFn(o[u],o[u])(new r.Null);break;case 38:this.$=r.addLocationDataFn(o[u],o[u])(new r.Bool(s[u]));break;case 39:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u]));break;case 40:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u]));break;case 41:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1]));break;case 42:case 72:case 77:case 78:case 80:case 81:case 82:case 168:case 169:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 43:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(r.addLocationDataFn(o[u-2])(new r.Value(s[u-2])),s[u],"object"));break;case 44:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(r.addLocationDataFn(o[u-4])(new r.Value(s[u-4])),s[u-1],"object"));break;case 49:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Return(s[u]));break;case 50:this.$=r.addLocationDataFn(o[u],o[u])(new r.Return);break;case 51:this.$=r.addLocationDataFn(o[u],o[u])(new r.Comment(s[u]));break;case 52:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Code(s[u-3],s[u],s[u-1]));break;case 53:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Code([],s[u],s[u-1]));break;case 54:this.$=r.addLocationDataFn(o[u],o[u])("func");break;case 55:this.$=r.addLocationDataFn(o[u],o[u])("boundfunc");break;case 58:case 95:this.$=r.addLocationDataFn(o[u],o[u])([]);break;case 59:case 96:case 128:case 170:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 60:case 97:case 129:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 61:case 98:case 130:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 62:case 99:case 132:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 63:this.$=r.addLocationDataFn(o[u],o[u])(new r.Param(s[u]));break;case 64:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Param(s[u-1],null,!0));break;case 65:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Param(s[u-2],s[u]));break;case 66:case 135:this.$=r.addLocationDataFn(o[u],o[u])(new r.Expansion);break;case 71:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Splat(s[u-1]));break;case 73:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].add(s[u]));break;case 74:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(s[u-1],[].concat(s[u])));break;case 84:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u]));break;case 85:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u],"soak"));break;case 86:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"))),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 87:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"),"soak")),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 88:this.$=r.addLocationDataFn(o[u],o[u])(new r.Access(new r.Literal("prototype")));break;case 91:this.$=r.addLocationDataFn(o[u-1],o[u])(r.extend(s[u],{soak:!0}));break;case 92:this.$=r.addLocationDataFn(o[u],o[u])(new r.Index(s[u]));break;case 93:this.$=r.addLocationDataFn(o[u],o[u])(new r.Slice(s[u]));break;case 94:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Obj(s[u-2],s[u-3].generated));break;case 100:this.$=r.addLocationDataFn(o[u],o[u])(new r.Class);break;case 101:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(null,null,s[u]));break;case 102:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(null,s[u]));break;case 103:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(null,s[u-1],s[u]));break;case 104:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(s[u]));break;case 105:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(s[u-1],null,s[u]));break;case 106:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(s[u-2],s[u]));break;case 107:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Class(s[u-3],s[u-1],s[u]));break;case 108:case 109:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 110:this.$=r.addLocationDataFn(o[u],o[u])(new r.Call("super",[new r.Splat(new r.Literal("arguments"))]));break;case 111:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Call("super",s[u]));break;case 112:this.$=r.addLocationDataFn(o[u],o[u])(!1);break;case 113:this.$=r.addLocationDataFn(o[u],o[u])(!0);break;case 114:this.$=r.addLocationDataFn(o[u-1],o[u])([]);break;case 115:case 131:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-2]);break;case 116:case 117:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(new r.Literal("this")));break;case 118:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(r.addLocationDataFn(o[u-1])(new r.Literal("this")),[r.addLocationDataFn(o[u])(new r.Access(s[u]))],"this"));break;case 119:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Arr([]));break;case 120:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Arr(s[u-2]));break;case 121:this.$=r.addLocationDataFn(o[u],o[u])("inclusive");break;case 122:this.$=r.addLocationDataFn(o[u],o[u])("exclusive");break;case 123:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Range(s[u-3],s[u-1],s[u-2]));break;case 124:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Range(s[u-2],s[u],s[u-1]));break;case 125:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(s[u-1],null,s[u]));break;case 126:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(null,s[u],s[u-1]));break;case 127:this.$=r.addLocationDataFn(o[u],o[u])(new r.Range(null,null,s[u]));break;case 137:this.$=r.addLocationDataFn(o[u-2],o[u])([].concat(s[u-2],s[u]));break;case 138:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Try(s[u]));break;case 139:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Try(s[u-1],s[u][0],s[u][1]));break;case 140:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Try(s[u-2],null,null,s[u]));break;case 141:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Try(s[u-3],s[u-2][0],s[u-2][1],s[u]));break;case 142:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-1],s[u]]);break;case 143:this.$=r.addLocationDataFn(o[u-2],o[u])([r.addLocationDataFn(o[u-1])(new r.Value(s[u-1])),s[u]]);break;case 144:this.$=r.addLocationDataFn(o[u-1],o[u])([null,s[u]]);break;case 145:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Throw(s[u]));break;case 147:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Parens(s[u-2]));break;case 148:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u]));break;case 149:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{guard:s[u]}));break;case 150:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u],{invert:!0}));break;case 151:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{invert:!0,guard:s[u]}));break;case 152:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].addBody(s[u]));break;case 153:case 154:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u].addBody(r.addLocationDataFn(o[u-1])(r.Block.wrap([s[u-1]]))));break;case 155:this.$=r.addLocationDataFn(o[u],o[u])(s[u]);break;case 156:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(s[u]));break;case 157:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(r.addLocationDataFn(o[u])(r.Block.wrap([s[u]]))));break;case 158:case 159:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 160:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u],s[u-1]));break;case 161:this.$=r.addLocationDataFn(o[u-1],o[u])({source:r.addLocationDataFn(o[u])(new r.Value(s[u]))});break;case 162:this.$=r.addLocationDataFn(o[u-3],o[u])({source:r.addLocationDataFn(o[u-2])(new r.Value(s[u-2])),step:s[u]});break;case 163:this.$=r.addLocationDataFn(o[u-1],o[u])(function(){return s[u].own=s[u-1].own,s[u].name=s[u-1][0],s[u].index=s[u-1][1],s[u]}());break;case 164:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u]);break;case 165:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return s[u].own=!0,s[u]}());break;case 171:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-2],s[u]]);break;case 172:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u]});break;case 173:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u],object:!0});break;case 174:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u]});break;case 175:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u],object:!0});break;case 176:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],step:s[u]});break;case 177:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],guard:s[u-2],step:s[u]});break;case 178:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],step:s[u-2],guard:s[u]});break;case 179:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Switch(s[u-3],s[u-1]));break;case 180:this.$=r.addLocationDataFn(o[u-6],o[u])(new r.Switch(s[u-5],s[u-3],s[u-1]));break;case 181:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Switch(null,s[u-1]));break;case 182:this.$=r.addLocationDataFn(o[u-5],o[u])(new r.Switch(null,s[u-3],s[u-1]));break;case 184:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].concat(s[u]));break;case 185:this.$=r.addLocationDataFn(o[u-2],o[u])([[s[u-1],s[u]]]);break;case 186:this.$=r.addLocationDataFn(o[u-3],o[u])([[s[u-2],s[u-1]]]);break;case 187:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}));break;case 188:this.$=r.addLocationDataFn(o[u-4],o[u])(s[u-4].addElse(r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}))));break;case 190:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].addElse(s[u]));break;case 191:case 192:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u],r.addLocationDataFn(o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 193:case 194:case 197:case 198:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op(s[u-1],s[u]));break;case 195:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("-",s[u]));break;case 196:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("+",s[u]));break;case 199:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-2].concat(s[u-1]),s[u]));break;case 200:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u]));break;case 201:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u]));break;case 202:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u-1],null,!0));break;case 203:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u-1],null,!0));break;case 204:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Existence(s[u-1]));break;case 205:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("+",s[u-2],s[u]));break;case 206:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("-",s[u-2],s[u]));break;case 207:case 208:case 209:case 210:case 211:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 212:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return"!"===s[u-1].charAt(0)?(new r.Op(s[u-1].slice(1),s[u-2],s[u])).invert():new r.Op(s[u-1],s[u-2],s[u])}());break;case 213:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u],s[u-1]));break;case 214:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1],s[u-3]));break;case 215:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u],s[u-2]));break;case 216:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Extends(s[u-2],s[u]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{1:[3]},{1:[2,2],6:R},t(U,[2,3]),t(U,[2,6],{118:69,109:89,115:90,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(U,[2,7],{118:69,109:92,115:93,110:L,112:A,116:M,132:Z}),t(et,[2,11],{87:94,68:95,76:101,72:tt,73:nt,74:rt,75:it,77:st,80:ot,90:ut,91:at}),t(et,[2,12],{76:101,87:104,68:105,72:tt,73:nt,74:rt,75:it,77:st,80:ot,90:ut,91:at}),t(et,[2,13]),t(et,[2,14]),t(et,[2,15]),t(et,[2,16]),t(et,[2,17]),t(et,[2,18]),t(et,[2,19]),t(et,[2,20]),t(et,[2,21]),t(et,[2,22]),t(et,[2,8]),t(et,[2,9]),t(et,[2,10]),t(ft,lt,{46:[1,106]}),t(ft,[2,80]),t(ft,[2,81]),t(ft,[2,82]),t(ft,[2,83]),t([1,6,25,26,34,38,55,60,63,72,73,74,75,77,79,80,84,90,92,97,99,108,110,111,112,116,117,132,135,136,141,142,143,144,145,146,147],[2,110],{88:107,91:ct}),t([6,25,55,60],ht,{54:109,61:110,62:111,27:113,50:114,64:115,65:116,28:r,63:pt,82:b,95:dt,96:vt}),{24:119,25:mt},{7:121,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:123,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:124,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:125,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:127,8:126,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,138:[1,128],139:I,140:q},{12:130,13:131,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:132,50:63,64:47,65:48,67:129,69:23,70:24,71:25,82:b,89:E,94:S,95:x,96:T,107:k},{12:130,13:131,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:132,50:63,64:47,65:48,67:133,69:23,70:24,71:25,82:b,89:E,94:S,95:x,96:T,107:k},t(gt,yt,{86:[1,137],139:[1,134],140:[1,135],148:[1,136]}),t(et,[2,189],{127:[1,138]}),{24:139,25:mt},{24:140,25:mt},t(et,[2,155]),{24:141,25:mt},{7:142,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(bt,[2,100],{39:22,69:23,70:24,71:25,64:47,65:48,29:49,35:51,27:62,50:63,31:72,12:130,13:131,45:132,24:144,67:146,25:mt,28:r,30:i,32:s,33:o,36:u,37:a,40:f,41:l,42:c,43:h,44:p,82:b,86:[1,145],89:E,94:S,95:x,96:T,107:k}),{7:147,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,141,142,143,144,145,146,147],[2,50],{12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,9:18,10:19,45:21,39:22,69:23,70:24,71:25,56:28,67:36,130:37,109:39,113:40,115:41,64:47,65:48,29:49,35:51,27:62,50:63,118:69,31:72,8:122,7:148,11:n,28:r,30:i,32:s,33:o,36:u,37:a,40:f,41:l,42:c,43:h,44:p,51:d,52:v,53:m,57:g,58:y,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,114:O,125:_,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q}),t(et,[2,51]),t(gt,[2,77]),t(gt,[2,78]),t(ft,[2,32]),t(ft,[2,33]),t(ft,[2,34]),t(ft,[2,35]),t(ft,[2,36]),t(ft,[2,37]),t(ft,[2,38]),{4:149,5:3,7:4,8:5,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,150],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:151,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:wt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,93:153,94:S,95:x,96:T,97:St,100:154,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(ft,[2,116]),t(ft,[2,117],{27:158,28:r}),{25:[2,54]},{25:[2,55]},t(xt,[2,72]),t(xt,[2,75]),{7:159,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:160,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:161,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:163,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:162,25:mt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{27:168,28:r,50:169,64:170,65:171,70:164,82:b,95:dt,96:T,120:165,121:[1,166],122:167},{119:172,123:[1,173],124:[1,174]},t([6,25,60,84],Tt,{31:72,83:175,47:176,48:177,10:178,27:179,29:180,50:181,28:r,30:i,32:s,33:o,52:v,95:dt}),t(Nt,[2,26]),t(Nt,[2,27]),t(ft,[2,30]),{12:130,13:182,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:132,50:63,64:47,65:48,67:183,69:23,70:24,71:25,82:b,89:E,94:S,95:x,96:T,107:k},t(Ct,[2,25]),t(Nt,[2,28]),{4:184,5:3,7:4,8:5,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(U,[2,5],{7:4,8:5,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,9:18,10:19,45:21,39:22,69:23,70:24,71:25,56:28,67:36,130:37,109:39,113:40,115:41,64:47,65:48,29:49,35:51,27:62,50:63,118:69,31:72,5:185,11:n,28:r,30:i,32:s,33:o,36:u,37:a,40:f,41:l,42:c,43:h,44:p,51:d,52:v,53:m,57:g,58:y,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,110:L,112:A,114:O,116:M,125:_,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q}),t(et,[2,204]),{7:186,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:187,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:188,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:189,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:190,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:191,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:192,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:193,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:194,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,154]),t(et,[2,159]),{7:195,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,153]),t(et,[2,158]),{88:196,91:ct},t(xt,[2,73]),{91:[2,113]},{27:197,28:r},{27:198,28:r},t(xt,[2,88],{27:199,28:r}),{27:200,28:r},t(xt,[2,89]),{7:202,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:kt,64:47,65:48,67:36,69:23,70:24,71:25,78:201,81:203,82:b,85:w,89:E,94:S,95:x,96:T,98:204,99:Lt,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{76:207,77:st,80:ot},{88:208,91:ct},t(xt,[2,74]),{6:[1,210],7:209,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,211],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(At,[2,111]),{7:214,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:wt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,92:[1,212],93:213,94:S,95:x,96:T,100:154,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([6,25],Ot,{59:217,55:[1,215],60:Mt}),t(_t,[2,59]),t(_t,[2,63],{46:[1,219],63:[1,218]}),t(_t,[2,66]),t(Dt,[2,67]),t(Dt,[2,68]),t(Dt,[2,69]),t(Dt,[2,70]),{27:158,28:r},{7:214,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:wt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,93:153,94:S,95:x,96:T,97:St,100:154,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,53]),{4:221,5:3,7:4,8:5,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[1,220],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,135,136,142,143,144,145,146,147],[2,193],{118:69,109:89,115:90,141:V}),{109:92,110:L,112:A,115:93,116:M,118:69,132:Z},t(Pt,[2,194],{118:69,109:89,115:90,141:V,143:J}),t(Pt,[2,195],{118:69,109:89,115:90,141:V,143:J}),t(Pt,[2,196],{118:69,109:89,115:90,141:V,143:J}),t(et,[2,197],{118:69,109:92,115:93}),t(Ht,[2,198],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{7:222,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,200],{72:yt,73:yt,74:yt,75:yt,77:yt,80:yt,90:yt,91:yt}),{68:95,72:tt,73:nt,74:rt,75:it,76:101,77:st,80:ot,87:94,90:ut,91:at},{68:105,72:tt,73:nt,74:rt,75:it,76:101,77:st,80:ot,87:104,90:ut,91:at},t(Bt,lt),t(et,[2,201],{72:yt,73:yt,74:yt,75:yt,77:yt,80:yt,90:yt,91:yt}),t(et,[2,202]),t(et,[2,203]),{6:[1,225],7:223,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,224],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:226,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{24:227,25:mt,131:[1,228]},t(et,[2,138],{103:229,104:[1,230],105:[1,231]}),t(et,[2,152]),t(et,[2,160]),{25:[1,232],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},{126:233,128:234,129:jt},t(et,[2,101]),{7:236,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(bt,[2,104],{24:237,25:mt,72:yt,73:yt,74:yt,75:yt,77:yt,80:yt,90:yt,91:yt,86:[1,238]}),t(Ht,[2,145],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Ht,[2,49],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{6:R,108:[1,239]},{4:240,5:3,7:4,8:5,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([6,25,60,97],Ft,{118:69,109:89,115:90,98:241,63:[1,242],99:Lt,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(It,[2,119]),t([6,25,97],Ot,{59:243,60:qt}),t(Rt,[2,128]),{7:214,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:wt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,93:245,94:S,95:x,96:T,100:154,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(Rt,[2,134]),t(Rt,[2,135]),t(Ct,[2,118]),{24:246,25:mt,109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},t(Ut,[2,148],{118:69,109:89,115:90,110:L,111:[1,247],112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Ut,[2,150],{118:69,109:89,115:90,110:L,111:[1,248],112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(et,[2,156]),t(zt,[2,157],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,132,135,136,141,142,143,144,145,146,147],[2,161],{117:[1,249]}),t(Wt,[2,164]),{27:168,28:r,50:169,64:170,65:171,82:b,95:dt,96:vt,120:250,122:167},t(Wt,[2,170],{60:[1,251]}),t(Xt,[2,166]),t(Xt,[2,167]),t(Xt,[2,168]),t(Xt,[2,169]),t(et,[2,163]),{7:252,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:253,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([6,25,84],Ot,{59:254,60:Vt}),t($t,[2,96]),t($t,[2,42],{49:[1,256]}),t($t,[2,45]),t(Jt,[2,46]),t(Jt,[2,47]),t(Jt,[2,48]),{38:[1,257],68:105,72:tt,73:nt,74:rt,75:it,76:101,77:st,80:ot,87:104,90:ut,91:at},t(Bt,yt),{6:R,34:[1,258]},t(U,[2,4]),t(Kt,[2,205],{118:69,109:89,115:90,141:V,142:$,143:J}),t(Kt,[2,206],{118:69,109:89,115:90,141:V,142:$,143:J}),t(Pt,[2,207],{118:69,109:89,115:90,141:V,143:J}),t(Pt,[2,208],{118:69,109:89,115:90,141:V,143:J}),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,144,145,146,147],[2,209],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J}),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,145,146],[2,210],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,147:Y}),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,146],[2,211],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,147:Y}),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,117,132,145,146,147],[2,212],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K}),t(zt,[2,192],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(zt,[2,191],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(At,[2,108]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),{79:[1,259]},{63:kt,79:[2,92],98:260,99:Lt,109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},{79:[2,93]},{7:261,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,79:[2,127],82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(Qt,[2,121]),t(Qt,Gt),t(xt,[2,91]),t(At,[2,109]),t(Ht,[2,39],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{7:262,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:263,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(At,[2,114]),t([6,25,92],Ot,{59:264,60:qt}),t(Rt,Ft,{118:69,109:89,115:90,63:[1,265],110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{56:266,57:g,58:y},t(Yt,Zt,{62:111,27:113,50:114,64:115,65:116,61:267,28:r,63:pt,82:b,95:dt,96:vt}),{6:en,25:tn},t(_t,[2,64]),{7:270,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(nn,[2,23]),{6:R,26:[1,271]},t(Ht,[2,199],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Ht,[2,213],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{7:272,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:273,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(Ht,[2,216],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(et,[2,190]),{7:274,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,139],{104:[1,275]}),{24:276,25:mt},{24:279,25:mt,27:277,28:r,65:278,82:b},{126:280,128:234,129:jt},{26:[1,281],127:[1,282],128:283,129:jt},t(rn,[2,183]),{7:285,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,101:284,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(sn,[2,102],{118:69,109:89,115:90,24:286,25:mt,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(et,[2,105]),{7:287,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(ft,[2,146]),{6:R,26:[1,288]},{7:289,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t([11,28,30,32,33,36,37,40,41,42,43,44,51,52,53,57,58,82,85,89,94,95,96,102,106,107,110,112,114,116,125,131,133,134,135,136,137,139,140],Gt,{6:on,25:on,60:on,97:on}),{6:un,25:an,97:[1,290]},t([6,25,26,92,97],Zt,{12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,9:18,10:19,45:21,39:22,69:23,70:24,71:25,56:28,67:36,130:37,109:39,113:40,115:41,64:47,65:48,29:49,35:51,27:62,50:63,118:69,31:72,8:122,66:156,7:214,100:293,11:n,28:r,30:i,32:s,33:o,36:u,37:a,40:f,41:l,42:c,43:h,44:p,51:d,52:v,53:m,57:g,58:y,63:Et,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,110:L,112:A,114:O,116:M,125:_,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q}),t(Yt,Ot,{59:294,60:qt}),t(fn,[2,187]),{7:295,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:296,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:297,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(Wt,[2,165]),{27:168,28:r,50:169,64:170,65:171,82:b,95:dt,96:vt,122:298},t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,112,116,132],[2,172],{118:69,109:89,115:90,111:[1,299],117:[1,300],135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(ln,[2,173],{118:69,109:89,115:90,111:[1,301],135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{6:cn,25:hn,84:[1,302]},t([6,25,26,84],Zt,{31:72,48:177,10:178,27:179,29:180,50:181,47:305,28:r,30:i,32:s,33:o,52:v,95:dt}),{7:306,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,307],27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(ft,[2,31]),t(Nt,[2,29]),t(xt,[2,90]),{7:308,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,79:[2,125],82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{79:[2,126],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},t(Ht,[2,40],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{26:[1,309],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},{6:un,25:an,92:[1,310]},t(Rt,on),{24:311,25:mt},t(_t,[2,60]),{27:113,28:r,50:114,61:312,62:111,63:pt,64:115,65:116,82:b,95:dt,96:vt},t(pn,ht,{61:110,62:111,27:113,50:114,64:115,65:116,54:313,28:r,63:pt,82:b,95:dt,96:vt}),t(_t,[2,65],{118:69,109:89,115:90,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(nn,[2,24]),{26:[1,314],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},t(Ht,[2,215],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{24:315,25:mt,109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},{24:316,25:mt},t(et,[2,140]),{24:317,25:mt},{24:318,25:mt},t(dn,[2,144]),{26:[1,319],127:[1,320],128:283,129:jt},t(et,[2,181]),{24:321,25:mt},t(rn,[2,184]),{24:322,25:mt,60:[1,323]},t(vn,[2,136],{118:69,109:89,115:90,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(et,[2,103]),t(sn,[2,106],{118:69,109:89,115:90,24:324,25:mt,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{108:[1,325]},{97:[1,326],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},t(It,[2,120]),{7:214,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,100:327,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:214,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:wt,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,63:Et,64:47,65:48,66:156,67:36,69:23,70:24,71:25,82:b,85:w,89:E,93:328,94:S,95:x,96:T,100:154,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(Rt,[2,129]),{6:un,25:an,26:[1,329]},t(zt,[2,149],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(zt,[2,151],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(zt,[2,162],{118:69,109:89,115:90,110:L,112:A,116:M,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Wt,[2,171]),{7:330,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:331,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:332,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(It,[2,94]),{10:178,27:179,28:r,29:180,30:i,31:72,32:s,33:o,47:333,48:177,50:181,52:v,95:dt},t(pn,Tt,{31:72,47:176,48:177,10:178,27:179,29:180,50:181,83:334,28:r,30:i,32:s,33:o,52:v,95:dt}),t($t,[2,97]),t($t,[2,43],{118:69,109:89,115:90,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{7:335,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{79:[2,124],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},t(et,[2,41]),t(At,[2,115]),t(et,[2,52]),t(_t,[2,61]),t(Yt,Ot,{59:336,60:Mt}),t(et,[2,214]),t(fn,[2,188]),t(et,[2,141]),t(dn,[2,142]),t(dn,[2,143]),t(et,[2,179]),{24:337,25:mt},{26:[1,338]},t(rn,[2,185],{6:[1,339]}),{7:340,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},t(et,[2,107]),t(ft,[2,147]),t(ft,[2,123]),t(Rt,[2,130]),t(Yt,Ot,{59:341,60:qt}),t(Rt,[2,131]),t([1,6,25,26,34,55,60,63,79,84,92,97,99,108,110,111,112,116,132],[2,174],{118:69,109:89,115:90,117:[1,342],135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(ln,[2,176],{118:69,109:89,115:90,111:[1,343],135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Ht,[2,175],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t($t,[2,98]),t(Yt,Ot,{59:344,60:Vt}),{26:[1,345],109:89,110:L,112:A,115:90,116:M,118:69,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y},{6:en,25:tn,26:[1,346]},{26:[1,347]},t(et,[2,182]),t(rn,[2,186]),t(vn,[2,137],{118:69,109:89,115:90,110:L,112:A,116:M,132:z,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),{6:un,25:an,26:[1,348]},{7:349,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{7:350,8:122,9:18,10:19,11:n,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:r,29:49,30:i,31:72,32:s,33:o,35:51,36:u,37:a,39:22,40:f,41:l,42:c,43:h,44:p,45:21,50:63,51:d,52:v,53:m,56:28,57:g,58:y,64:47,65:48,67:36,69:23,70:24,71:25,82:b,85:w,89:E,94:S,95:x,96:T,102:N,106:C,107:k,109:39,110:L,112:A,113:40,114:O,115:41,116:M,118:69,125:_,130:37,131:D,133:P,134:H,135:B,136:j,137:F,139:I,140:q},{6:cn,25:hn,26:[1,351]},t($t,[2,44]),t(_t,[2,62]),t(et,[2,180]),t(Rt,[2,132]),t(Ht,[2,177],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t(Ht,[2,178],{118:69,109:89,115:90,135:W,136:X,141:V,142:$,143:J,144:K,145:Q,146:G,147:Y}),t($t,[2,99])],defaultActions:{60:[2,54],61:[2,55],96:[2,113],203:[2,93]},parseError:function(e,t){if(!t.recoverable)throw Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=d.lex()||h,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],s=[],o=this.table,u="",a=0,f=0,l=0,c=2,h=1,p=s.slice.call(arguments,1),d=Object.create(this.lexer),v={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(v.yy[m]=this.yy[m]);d.setInput(e,v.yy),v.yy.lexer=d,v.yy.parser=this,d.yylloc===void 0&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;this.parseError="function"==typeof v.yy.parseError?v.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,w,E,S,x,T,N,C,k,L={};;){if(E=r[r.length-1],this.defaultActions[E]?S=this.defaultActions[E]:((null===b||b===void 0)&&(b=t()),S=o[E]&&o[E][b]),S===void 0||!S.length||!S[0]){var A="";k=[];for(T in o[E])this.terminals_[T]&&T>c&&k.push("'"+this.terminals_[T]+"'");A=d.showPosition?"Parse error on line "+(a+1)+":\n"+d.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(a+1)+": Unexpected "+(b==h?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:g,expected:k})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(S[0]){case 1:r.push(b),i.push(d.yytext),s.push(d.yylloc),r.push(S[1]),b=null,w?(b=w,w=null):(f=d.yyleng,u=d.yytext,a=d.yylineno,g=d.yylloc,l>0&&l--);break;case 2:if(N=this.productions_[S[1]][1],L.$=i[i.length-N],L._$={first_line:s[s.length-(N||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(N||1)].first_column,last_column:s[s.length-1].last_column},y&&(L._$.range=[s[s.length-(N||1)].range[0],s[s.length-1].range[1]]),x=this.performAction.apply(L,[u,f,a,v.yy,S[1],i,s].concat(p)),x!==void 0)return x;N&&(r=r.slice(0,-2*N),i=i.slice(0,-1*N),s=s.slice(0,-1*N)),r.push(this.productions_[S[1]][0]),i.push(L.$),s.push(L._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}};return e.prototype=mn,mn.Parser=e,new e}();return _dereq_!==void 0&&e!==void 0&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=_dereq_("fs").readFileSync(_dereq_("path").normalize(t[1]),"utf8");return e.parser.parse(n)},t!==void 0&&_dereq_.main===t&&e.main(process.argv.slice(1))),t.exports}(),_dereq_["./scope"]=function(){var e={},t={exports:e};return function(){var t,n=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};e.Scope=t=function(){function e(e,t,n,r){var i,s;this.parent=e,this.expressions=t,this.method=n,this.referencedVars=r,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(this.utilities={}),this.root=null!=(i=null!=(s=this.parent)?s.root:void 0)?i:this}return e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return(null!=(e=this.method)?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){return this.shared&&this.parent.check(e,!0)?void 0:this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void 0))},e.prototype.temporary=function(e,t,n){return null==n&&(n=!1),n?(t+parseInt(e,36)).toString(36).replace(/\d/g,"a"):e+(t||"")},e.prototype.type=function(e){var t,n,r,i;for(r=this.variables,t=0,n=r.length;n>t;t++)if(i=r[t],i.name===e)return i.type;return null},e.prototype.freeVariable=function(e,t){var r,i,s;for(null==t&&(t={}),r=0;;){if(s=this.temporary(e,r,t.single),!(this.check(s)||n.call(this.root.referencedVars,s)>=0))break;r++}return(null!=(i=t.reserve)?i:!0)&&this.add(s,"var",!0),s},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e;return function(){var t,n,r,i;for(r=this.variables,i=[],t=0,n=r.length;n>t;t++)e=r[t],"var"===e.type&&i.push(e.name);return i}.call(this).sort()},e.prototype.assignedVariables=function(){var e,t,n,r,i;for(n=this.variables,r=[],e=0,t=n.length;t>e;e++)i=n[e],i.type.assigned&&r.push(i.name+" = "+i.type.value);return r},e}()}.call(this),t.exports}(),_dereq_["./nodes"]=function(){var e={},t={exports:e};return function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt,dt,vt,mt,gt,yt,bt,wt=function(e,t){function n(){this.constructor=e}for(var r in t)Et.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},Et={}.hasOwnProperty,St=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},xt=[].slice;Error.stackTraceLimit=1/0,R=_dereq_("./scope").Scope,pt=_dereq_("./lexer"),B=pt.RESERVED,q=pt.STRICT_PROSCRIBED,dt=_dereq_("./helpers"),et=dt.compact,it=dt.flatten,rt=dt.extend,lt=dt.merge,tt=dt.del,mt=dt.starts,nt=dt.ends,vt=dt.some,Z=dt.addLocationDataFn,ft=dt.locationDataToString,gt=dt.throwSyntaxError,e.extend=rt,e.addLocationDataFn=Z,Y=function(){return!0},O=function(){return!1},V=function(){return this},A=function(){return this.negated=!this.negated,this},e.CodeFragment=f=function(){function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locationData:void 0,this.type=(null!=e?null!=(n=e.constructor)?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+ft(this.locationData):"")},e}(),st=function(e){var t;return function(){var n,r,i;for(i=[],n=0,r=e.length;r>n;n++)t=e[n],i.push(t.code);return i}().join("")},e.Base=i=function(){function e(){}return e.prototype.compile=function(e,t){return st(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=rt({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level!==k&&n.isStatement(e)?n.compileClosure(e):n.compileNode(e)},e.prototype.compileClosure=function(e){var n,r,i,u,f,l,c;return(u=this.jumps())&&u.error("cannot use a pure statement in an expression"),e.sharedScope=!0,i=new a([],s.wrap([this])),n=[],((r=this.contains(ut))||this.contains(at))&&(n=[new L("this")],r?(f="apply",n.push(new L("arguments"))):f="call",i=new Q(i,[new t(new L(f))])),l=(new o(i,n)).compileNode(e),(i.isGenerator||(null!=(c=i.base)?c.isGenerator:void 0))&&(l.unshift(this.makeCode("(yield* ")),l.push(this.makeCode(")"))),l},e.prototype.cache=function(e,t,n){var i,s,o;return i=null!=n?n(this):this.isComplex(),i?(s=new L(e.scope.freeVariable("ref")),o=new r(s,this),t?[o.compileToFragments(e,t),[this.makeCode(s.value)]]:[o,s]):(s=t?this.compileToFragments(e,t):this,[s,s])},e.prototype.cacheToCodeFragments=function(e){return[st(e[0]),st(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new o(new L(e+".push"),[t]):new F(t)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){return e(n)?(t=n,!1):void 0}),t},e.prototype.lastNonComment=function(e){var t;for(t=e.length;t--;)if(!(e[t]instanceof l))return e[t];return null},e.prototype.toString=function(e,t){var n;return null==e&&(e=""),null==t&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+X)}),n},e.prototype.eachChild=function(e){var t,n,r,i,s,o,u,a;if(!this.children)return this;for(u=this.children,r=0,s=u.length;s>r;r++)if(t=u[r],this[t])for(a=it([this[t]]),i=0,o=a.length;o>i;i++)if(n=a[i],e(n)===!1)return this;return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var r;return r=t(n),r!==!1?n.traverseChildren(e,t):void 0})},e.prototype.invert=function(){return new D("!",this)},e.prototype.unwrapAll=function(){var e;for(e=this;e!==(e=e.unwrap()););return e},e.prototype.children=[],e.prototype.isStatement=O,e.prototype.jumps=O,e.prototype.isComplex=Y,e.prototype.isChainable=O,e.prototype.isAssignable=O,e.prototype.unwrap=V,e.prototype.unfoldSoak=O,e.prototype.assigns=O,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData?this:(this.locationData=e,this.eachChild(function(t){return t.updateLocationDataIfMissing(e)}))},e.prototype.error=function(e){return gt(e,this.locationData)},e.prototype.makeCode=function(e){return new f(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,r,i,s,o;for(n=[],i=s=0,o=e.length;o>s;i=++s)r=e[i],i&&n.push(this.makeCode(t)),n=n.concat(r);return n},e}(),e.Block=s=function(e){function t(e){this.expressions=et(it(e||[]))}return wt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return 1===this.expressions.length?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,r,i;for(i=this.expressions,n=0,r=i.length;r>n;n++)if(t=i[n],t.isStatement(e))return!0;return!1},t.prototype.jumps=function(e){var t,n,r,i,s;for(s=this.expressions,n=0,i=s.length;i>n;n++)if(t=s[n],r=t.jumps(e))return r},t.prototype.makeReturn=function(e){var t,n;for(n=this.expressions.length;n--;)if(t=this.expressions[n],!(t instanceof l)){this.expressions[n]=t.makeReturn(e),t instanceof F&&!t.expression&&this.expressions.splice(n,1);break}return this},t.prototype.compileToFragments=function(e,n){return null==e&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,r,i,s,o,u,a,f,l;for(this.tab=e.indent,l=e.level===k,r=[],f=this.expressions,s=o=0,u=f.length;u>o;s=++o)a=f[s],a=a.unwrapAll(),a=a.unfoldSoak(e)||a,a instanceof t?r.push(a.compileNode(e)):l?(a.front=!0,i=a.compileToFragments(e),a.isStatement(e)||(i.unshift(this.makeCode(""+this.tab)),i.push(this.makeCode(";"))),r.push(i)):r.push(a.compileToFragments(e,T));return l?this.spaced?[].concat(this.joinFragmentArrays(r,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(r,"\n"):(n=r.length?this.joinFragmentArrays(r,", "):[this.makeCode("void 0")],r.length>1&&e.level>=T?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,r,i,s,o,u,a,f,c,h;for(e.indent=e.bare?"":X,e.level=k,this.spaced=!0,e.scope=new R(null,this,null,null!=(f=e.referencedVars)?f:[]),c=e.locals||[],i=0,s=c.length;s>i;i++)o=c[i],e.scope.parameter(o);return u=[],e.bare||(a=function(){var e,n,i,s;for(i=this.expressions,s=[],r=e=0,n=i.length;n>e&&(t=i[r],t.unwrap()instanceof l);r=++e)s.push(t);return s}.call(this),h=this.expressions.slice(a.length),this.expressions=a,a.length&&(u=this.compileNode(lt(e,{indent:""})),u.push(this.makeCode("\n"))),this.expressions=h),n=this.compileWithDeclarations(e),e.bare?n:[].concat(u,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,r,i,s,o,u,a,f,c,h,p,d,v;for(i=[],a=[],f=this.expressions,s=o=0,u=f.length;u>o&&(r=f[s],r=r.unwrap(),r instanceof l||r instanceof L);s=++o);return e=lt(e,{level:k}),s&&(p=this.expressions.splice(s,9e9),c=[this.spaced,!1],v=c[0],this.spaced=c[1],h=[this.compileNode(e),v],i=h[0],this.spaced=h[1],this.expressions=p),a=this.compileNode(e),d=e.scope,d.expressions===this&&(n=e.scope.hasDeclarations(),t=d.hasAssignments,n||t?(s&&i.push(this.makeCode("\n")),i.push(this.makeCode(this.tab+"var ")),n&&i.push(this.makeCode(d.declaredVariables().join(", "))),t&&(n&&i.push(this.makeCode(",\n"+(this.tab+X))),i.push(this.makeCode(d.assignedVariables().join(",\n"+(this.tab+X))))),i.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):i.length&&a.length&&i.push(this.makeCode("\n"))),i.concat(a)},t.wrap=function(e){return 1===e.length&&e[0]instanceof t?e[0]:new t(e)},t}(i),e.Literal=L=function(e){function t(e){this.value=e}return wt(t,e),t.prototype.makeReturn=function(){return this.isStatement()?this:t.__super__.makeReturn.apply(this,arguments)},t.prototype.isAssignable=function(){return m.test(this.value)},t.prototype.isStatement=function(){var e;return"break"===(e=this.value)||"continue"===e||"debugger"===e},t.prototype.isComplex=O,t.prototype.assigns=function(e){return e===this.value},t.prototype.jumps=function(e){return"break"!==this.value||(null!=e?e.loop:void 0)||(null!=e?e.block:void 0)?"continue"!==this.value||(null!=e?e.loop:void 0)?void 0:this:this},t.prototype.compileNode=function(e){var t,n,r;return n="this"===this.value?(null!=(r=e.scope.method)?r.bound:void 0)?e.scope.method.context:this.value:this.value.reserved?'"'+this.value+'"':this.value,t=this.isStatement()?""+this.tab+n+";":n,[this.makeCode(t)]},t.prototype.toString=function(){return' "'+this.value+'"'},t}(i),e.Undefined=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return wt(t,e),t.prototype.isAssignable=O,t.prototype.isComplex=O,t.prototype.compileNode=function(e){return[this.makeCode(e.level>=S?"(void 0)":"void 0")]},t}(i),e.Null=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return wt(t,e),t.prototype.isAssignable=O,t.prototype.isComplex=O,t.prototype.compileNode=function(){return[this.makeCode("null")]},t}(i),e.Bool=function(e){function t(e){this.val=e}return wt(t,e),t.prototype.isAssignable=O,t.prototype.isComplex=O,t.prototype.compileNode=function(){return[this.makeCode(this.val)]},t}(i),e.Return=F=function(e){function t(e){this.expression=e}return wt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Y,t.prototype.makeReturn=V,t.prototype.jumps=V,t.prototype.compileToFragments=function(e,n){var r,i;return r=null!=(i=this.expression)?i.makeReturn():void 0,!r||r instanceof t?t.__super__.compileToFragments.call(this,e,n):r.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t,n,r;return t=[],n=null!=(r=this.expression)?"function"==typeof r.isYieldReturn?r.isYieldReturn():void 0:void 0,n||t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,C))),n||t.push(this.makeCode(";")),t},t}(i),e.Value=Q=function(e){function t(e,n,r){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],r&&(this[r]=!0),this)}return wt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.bareLiteral=function(e){return!this.properties.length&&this.base instanceof e},t.prototype.isArray=function(){return this.bareLiteral(n)},t.prototype.isRange=function(){return this.bareLiteral(j)},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isSimpleNumber=function(){return this.bareLiteral(L)&&I.test(this.base.value)},t.prototype.isString=function(){return this.bareLiteral(L)&&y.test(this.base.value)},t.prototype.isRegex=function(){return this.bareLiteral(L)&&g.test(this.base.value)},t.prototype.isAtomic=function(){var e,t,n,r;for(r=this.properties.concat(this.base),e=0,t=r.length;t>e;e++)if(n=r[e],n.soak||n instanceof o)return!1;return!0},t.prototype.isNotCallable=function(){return this.isSimpleNumber()||this.isString()||this.isRegex()||this.isArray()||this.isRange()||this.isSplice()||this.isObject()},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof _&&(!e||this.base.generated)},t.prototype.isSplice=function(){var e,t;return t=this.properties,e=t[t.length-1],e instanceof U},t.prototype.looksStatic=function(e){var t;return this.base.value===e&&1===this.properties.length&&"prototype"!==(null!=(t=this.properties[0].name)?t.value:void 0)},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,i,s,o,u;return u=this.properties,s=u[u.length-1],2>this.properties.length&&!this.base.isComplex()&&(null!=s?!s.isComplex():!void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(i=new L(e.scope.freeVariable("base")),n=new t(new H(new r(i,n)))),s?(s.isComplex()&&(o=new L(e.scope.freeVariable("name")),s=new E(new r(o,s.index)),o=new E(o)),[n.add(s),new t(i||n.base,[o||s])]):[n,i])},t.prototype.compileNode=function(e){var t,n,r,i,s;for(this.base.front=this.front,s=this.properties,t=this.base.compileToFragments(e,s.length?S:null),(this.base instanceof H||s.length)&&I.test(st(t))&&t.push(this.makeCode(".")),n=0,r=s.length;r>n;n++)i=s[n],t.push.apply(t,i.compileToFragments(e));return t},t.prototype.unfoldSoak=function(e){return null!=this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(n){return function(){var i,s,o,u,a,f,l,h,p,d;if(o=n.base.unfoldSoak(e))return(h=o.body.properties).push.apply(h,n.properties),o;for(p=n.properties,s=u=0,a=p.length;a>u;s=++u)if(f=p[s],f.soak)return f.soak=!1,i=new t(n.base,n.properties.slice(0,s)),d=new t(n.base,n.properties.slice(s)),i.isComplex()&&(l=new L(e.scope.freeVariable("ref")),i=new H(new r(l,i)),d.base=l),new b(new c(i),d,{soak:!0});return!1}}(this)()},t}(i),e.Comment=l=function(e){function t(e){this.comment=e}return wt(t,e),t.prototype.isStatement=Y,t.prototype.makeReturn=V,t.prototype.compileNode=function(e,t){var n,r;return r=this.comment.replace(/^(\s*)#(?=\s)/gm,"$1 *"),n="/*"+ct(r,this.tab)+(St.call(r,"\n")>=0?"\n"+this.tab:"")+" */",(t||e.level)===k&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(i),e.Call=o=function(e){function n(e,t,n){this.args=null!=t?t:[],this.soak=n,this.isNew=!1,this.isSuper="super"===e,this.variable=this.isSuper?null:e,e instanceof Q&&e.isNotCallable()&&e.error("literal is not a function")}return wt(n,e),n.prototype.children=["variable","args"],n.prototype.newInstance=function(){var e,t;return e=(null!=(t=this.variable)?t.base:void 0)||this.variable,e instanceof n&&!e.isNew?e.newInstance():this.isNew=!0,this},n.prototype.superReference=function(e){var n,i,s,o,u,a,f,l;return u=e.scope.namedMethod(),(null!=u?u.klass:void 0)?(o=u.klass,a=u.name,l=u.variable,o.isComplex()&&(s=new L(e.scope.parent.freeVariable("base")),i=new Q(new H(new r(s,o))),l.base=i,l.properties.splice(0,o.properties.length)),(a.isComplex()||a instanceof E&&a.index.isAssignable())&&(f=new L(e.scope.parent.freeVariable("name")),a=new E(new r(f,a.index)),l.properties.pop(),l.properties.push(a)),n=[new t(new L("__super__"))],u["static"]&&n.push(new t(new L("constructor"))),n.push(null!=f?new E(f):a),(new Q(null!=s?s:o,n)).compile(e)):(null!=u?u.ctor:void 0)?u.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},n.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},n.prototype.unfoldSoak=function(e){var t,r,i,s,o,u,a,f,l;if(this.soak){if(this.variable){if(r=yt(e,this,"variable"))return r;a=(new Q(this.variable)).cacheReference(e),s=a[0],l=a[1]}else s=new L(this.superReference(e)),l=new Q(s);return l=new n(l,this.args),l.isNew=this.isNew,s=new L("typeof "+s.compile(e)+' === "function"'),new b(s,new Q(l),{soak:!0})}for(t=this,u=[];;)if(t.variable instanceof n)u.push(t),t=t.variable;else{if(!(t.variable instanceof Q))break;if(u.push(t),!((t=t.variable.base)instanceof n))break}for(f=u.reverse(),i=0,o=f.length;o>i;i++)t=f[i],r&&(t.variable instanceof n?t.variable=r:t.variable.base=r),r=yt(e,t,"variable");return r},n.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l;if(null!=(f=this.variable)&&(f.front=this.front),i=z.compileSplattedArray(e,this.args,!0),i.length)return this.compileSplat(e,i);for(r=[],l=this.args,n=o=0,u=l.length;u>o;n=++o)t=l[n],n&&r.push(this.makeCode(", ")),r.push.apply(r,t.compileToFragments(e,T));return s=[],this.isSuper?(a=this.superReference(e)+(".call("+this.superThis(e)),r.length&&(a+=", "),s.push(this.makeCode(a))):(this.isNew&&s.push(this.makeCode("new ")),s.push.apply(s,this.variable.compileToFragments(e,S)),s.push(this.makeCode("("))),s.push.apply(s,r),s.push(this.makeCode(")")),s},n.prototype.compileSplat=function(e,t){var n,r,i,s,o,u;return this.isSuper?[].concat(this.makeCode(this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(s=this.tab+X,[].concat(this.makeCode("(function(func, args, ctor) {\n"+s+"ctor.prototype = func.prototype;\n"+s+"var child = new ctor, result = func.apply(child, args);\n"+s+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,T),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],r=new Q(this.variable),(o=r.properties.pop())&&r.isComplex()?(u=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+u+" = "),r.compileToFragments(e,T),this.makeCode(")"),o.compileToFragments(e))):(i=r.compileToFragments(e,S),I.test(st(i))&&(i=this.wrapInBraces(i)),o?(u=st(i),i.push.apply(i,o.compileToFragments(e))):u="null",n=n.concat(i)),n=n.concat(this.makeCode(".apply("+u+", "),t,this.makeCode(")")))},n}(i),e.Extends=p=function(e){function t(e,t){this.child=e,this.parent=t}return wt(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return(new o(new Q(new L(bt("extend",e))),[this.child,this.parent])).compileToFragments(e)},t}(i),e.Access=t=function(e){function t(e,t){this.name=e,this.name.asKey=!0,this.soak="soak"===t}return wt(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t;return t=this.name.compileToFragments(e),m.test(st(t))?t.unshift(this.makeCode(".")):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.isComplex=O,t}(i),e.Index=E=function(e){function t(e){this.index=e}return wt(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,C),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(i),e.Range=j=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive="exclusive"===n,this.equals=this.exclusive?"":"="}return wt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,r,i,s,o;return e=lt(e,{top:!0}),t=tt(e,"isComplex"),n=this.cacheToCodeFragments(this.from.cache(e,T,t)),this.fromC=n[0],this.fromVar=n[1],r=this.cacheToCodeFragments(this.to.cache(e,T,t)),this.toC=r[0],this.toVar=r[1],(o=tt(e,"step"))&&(i=this.cacheToCodeFragments(o.cache(e,T,t)),this.step=i[0],this.stepVar=i[1]),s=[this.fromVar.match(M),this.toVar.match(M)],this.fromNum=s[0],this.toNum=s[1],this.stepVar?this.stepNum=this.stepVar.match(M):void 0},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d;return this.fromVar||this.compileVariables(e),e.index?(u=this.fromNum&&this.toNum,s=tt(e,"index"),o=tt(e,"name"),f=o&&o!==s,d=s+" = "+this.fromC,this.toC!==this.toVar&&(d+=", "+this.toC),this.step!==this.stepVar&&(d+=", "+this.step),l=[s+" <"+this.equals,s+" >"+this.equals],a=l[0],i=l[1],n=this.stepNum?ht(this.stepNum[0])>0?a+" "+this.toVar:i+" "+this.toVar:u?(c=[ht(this.fromNum[0]),ht(this.toNum[0])],r=c[0],p=c[1],c,p>=r?a+" "+p:i+" "+p):(t=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,t+" ? "+a+" "+this.toVar+" : "+i+" "+this.toVar),h=this.stepVar?s+" += "+this.stepVar:u?f?p>=r?"++"+s:"--"+s:p>=r?s+"++":s+"--":f?t+" ? ++"+s+" : --"+s:t+" ? "+s+"++ : "+s+"--",f&&(d=o+" = "+d),f&&(h=o+" = "+h),[this.makeCode(d+"; "+n+"; "+h)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p;return this.fromNum&&this.toNum&&20>=Math.abs(this.fromNum-this.toNum)?(f=function(){h=[];for(var e=l=+this.fromNum,t=+this.toNum;t>=l?t>=e:e>=t;t>=l?e++:e--)h.push(e);return h}.apply(this),this.exclusive&&f.pop(),[this.makeCode("["+f.join(", ")+"]")]):(o=this.tab+X,s=e.scope.freeVariable("i",{single:!0}),c=e.scope.freeVariable("results"),a="\n"+o+c+" = [];",this.fromNum&&this.toNum?(e.index=s,n=st(this.compileNode(e))):(p=s+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),r=this.fromVar+" <= "+this.toVar,n="var "+p+"; "+r+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+r+" ? "+s+"++ : "+s+"--"),u="{ "+c+".push("+s+"); }\n"+o+"return "+c+";\n"+e.indent,i=function(e){return null!=e?e.contains(ut):void 0},(i(this.from)||i(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+a+"\n"+o+"for ("+n+")"+u+"}).apply(this"+(null!=t?t:"")+")")])},t}(i),e.Slice=U=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return wt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,r,i,s,o,u;return s=this.range,o=s.to,r=s.from,i=r&&r.compileToFragments(e,C)||[this.makeCode("0")],o&&(t=o.compileToFragments(e,C),n=st(t),(this.range.exclusive||-1!==+n)&&(u=", "+(this.range.exclusive?n:I.test(n)?""+(+n+1):(t=o.compileToFragments(e,S),"+"+st(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+st(i)+(u||"")+")")]},t}(i),e.Obj=_=function(e){function n(e,t){this.generated=null!=t?t:!1,this.objects=this.properties=e||[]}return wt(n,e),n.prototype.children=["properties"],n.prototype.compileNode=function(e){var n,i,s,o,u,a,f,c,h,p,d,v,m,g,y,b,w,E,S,x,T;if(S=this.properties,this.generated)for(f=0,m=S.length;m>f;f++)b=S[f],b instanceof Q&&b.error("cannot have an implicit value in an implicit object");for(i=h=0,g=S.length;g>h&&(E=S[i],!((E.variable||E).base instanceof H));i=++h);for(s=S.length>i,u=e.indent+=X,v=this.lastNonComment(this.properties),n=[],s&&(w=e.scope.freeVariable("obj"),n.push(this.makeCode("(\n"+u+w+" = "))),n.push(this.makeCode("{"+(0===S.length||0===i?"}":"\n"))),o=d=0,y=S.length;y>d;o=++d)E=S[o],o===i&&(0!==o&&n.push(this.makeCode("\n"+u+"}")),n.push(this.makeCode(",\n"))),c=o===S.length-1||o===i-1?"":E===v||E instanceof l?"\n":",\n",a=E instanceof l?"":u,s&&i>o&&(a+=X),E instanceof r&&E.variable instanceof Q&&E.variable.hasProperties()&&E.variable.error("invalid object key"),E instanceof Q&&E["this"]&&(E=new r(E.properties[0].name,E,"object")),E instanceof l||(i>o?(E instanceof r||(E=new r(E,E,"object")),(E.variable.base||E.variable).asKey=!0):(E instanceof r?(p=E.variable,T=E.value):(x=E.base.cache(e),p=x[0],T=x[1]),E=new r(new Q(new L(w),[new t(p)]),T))),a&&n.push(this.makeCode(a)),n.push.apply(n,E.compileToFragments(e,k)),c&&n.push(this.makeCode(c));return s?n.push(this.makeCode(",\n"+u+w+"\n"+this.tab+")")):0!==S.length&&n.push(this.makeCode("\n"+this.tab+"}")),this.front&&!s?this.wrapInBraces(n):n},n.prototype.assigns=function(e){var t,n,r,i;for(i=this.properties,t=0,n=i.length;n>t;t++)if(r=i[t],r.assigns(e))return!0;return!1},n}(i),e.Arr=n=function(e){function t(e){this.objects=e||[]}return wt(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,r,i,s,o,u;if(!this.objects.length)return[this.makeCode("[]")];if(e.indent+=X,t=z.compileSplattedArray(e,this.objects),t.length)return t;for(t=[],n=function(){var t,n,r,i;for(r=this.objects,i=[],t=0,n=r.length;n>t;t++)u=r[t],i.push(u.compileToFragments(e,T));return i}.call(this),i=s=0,o=n.length;o>s;i=++s)r=n[i],i&&t.push(this.makeCode(", ")),t.push.apply(t,r);return st(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,r,i;for(i=this.objects,t=0,n=i.length;n>t;t++)if(r=i[t],r.assigns(e))return!0;return!1},t}(i),e.Class=u=function(e){function n(e,t,n){this.variable=e,this.parent=t,this.body=null!=n?n:new s,this.boundFuncs=[],this.body.classBody=!0}return wt(n,e),n.prototype.children=["variable","parent","body"],n.prototype.determineName=function(){var e,n,r;return this.variable?(n=this.variable.properties,r=n[n.length-1],e=r?r instanceof t&&r.name.value:this.variable.base.value,St.call(q,e)>=0&&this.variable.error("class variable name may not be "+e),e&&(e=m.test(e)&&e)):null},n.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){return t.classBody?!1:t instanceof L&&"this"===t.value?t.value=e:t instanceof a&&t.bound?t.context=e:void 0})},n.prototype.addBoundFunctions=function(e){var n,r,i,s,o;for(o=this.boundFuncs,r=0,i=o.length;i>r;r++)n=o[r],s=(new Q(new L("this"),[new t(n)])).compile(e),this.ctor.body.unshift(new L(s+" = "+bt("bind",e)+"("+s+", this)"))},n.prototype.addProperties=function(e,n,i){var s,o,u,f,l,c;return c=e.base.properties.slice(0),f=function(){var e;for(e=[];o=c.shift();)o instanceof r&&(u=o.variable.base,delete o.context,l=o.value,"constructor"===u.value?(this.ctor&&o.error("cannot define more than one constructor in a class"),l.bound&&o.error("cannot define a constructor as a bound function"),l instanceof a?o=this.ctor=l:(this.externalCtor=i.classScope.freeVariable("class"),o=new r(new L(this.externalCtor),l))):o.variable["this"]?l["static"]=!0:(s=u.isComplex()?new E(u):new t(u),o.variable=new Q(new L(n),[new t(new L("prototype")),s]),l instanceof a&&l.bound&&(this.boundFuncs.push(u),l.bound=!1))),e.push(o);return e}.call(this),et(f)},n.prototype.walkBody=function(e,t){return this.traverseChildren(!1,function(i){return function(o){var u,a,f,l,c,h,p;if(u=!0,o instanceof n)return!1;if(o instanceof s){for(p=a=o.expressions,f=l=0,c=p.length;c>l;f=++l)h=p[f],h instanceof r&&h.variable.looksStatic(e)?h.value["static"]=!0:h instanceof Q&&h.isObject(!0)&&(u=!1,a[f]=i.addProperties(h,e,t));o.expressions=a=it(a)}return u&&!(o instanceof n)}}(this))},n.prototype.hoistDirectivePrologue=function(){var e,t,n;for(t=0,e=this.body.expressions;(n=e[t])&&n instanceof l||n instanceof Q&&n.isString();)++t;return this.directives=e.splice(0,t)},n.prototype.ensureConstructor=function(e){return this.ctor||(this.ctor=new a,this.externalCtor?this.ctor.body.push(new L(this.externalCtor+".apply(this, arguments)")):this.parent&&this.ctor.body.push(new L(e+".__super__.constructor.apply(this, arguments)")),this.ctor.body.makeReturn(),this.body.expressions.unshift(this.ctor)),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0},n.prototype.compileNode=function(e){var t,n,i,u,f,l,c,h,d;return(u=this.body.jumps())&&u.error("Class bodies cannot contain pure statements"),(n=this.body.contains(ut))&&n.error("Class bodies shouldn't reference arguments"),c=this.determineName()||"_Class",c.reserved&&(c="_"+c),l=new L(c),i=new a([],s.wrap([this.body])),t=[],e.classScope=i.makeScope(e.scope),this.hoistDirectivePrologue(),this.setContext(c),this.walkBody(c,e),this.ensureConstructor(c),this.addBoundFunctions(e),this.body.spaced=!0,this.body.expressions.push(l),this.parent&&(d=new L(e.classScope.freeVariable("superClass",{reserve:!1})),this.body.expressions.unshift(new p(l,d)),i.params.push(new P(d)),t.push(this.parent)),(h=this.body.expressions).unshift.apply(h,this.directives),f=new H(new o(i,t)),this.variable&&(f=new r(this.variable,f)),f.compileToFragments(e)},n}(i),e.Assign=r=function(e){function n(e,t,n,r){var i,s,o;this.variable=e,this.value=t,this.context=n,this.param=r&&r.param,this.subpattern=r&&r.subpattern,o=s=this.variable.unwrapAll().value,i=St.call(q,o)>=0,i&&"object"!==this.context&&this.variable.error('variable name may not be "'+s+'"')}return wt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void 0)===k&&null!=this.context&&St.call(this.context,"?")>=0},n.prototype.assigns=function(e){return this["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){return yt(e,this,"variable")},n.prototype.compileNode=function(e){var t,n,r,i,s,o,u,f,l,c,h,p,d,v;if(r=this.variable instanceof Q){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if("||="===(f=this.context)||"&&="===f||"?="===f)return this.compileConditional(e);if("**="===(l=this.context)||"//="===l||"%%="===l)return this.compileSpecialMath(e)}return this.value instanceof a&&(this.value["static"]?(this.value.klass=this.variable.base,this.value.name=this.variable.properties[0],this.value.variable=this.variable):(null!=(c=this.variable.properties)?c.length:void 0)>=2&&(h=this.variable.properties,o=h.length>=3?xt.call(h,0,i=h.length-2):(i=0,[]),u=h[i++],s=h[i++],"prototype"===(null!=(p=u.name)?p.value:void 0)&&(this.value.klass=new Q(this.variable.base,o),this.value.name=s,this.value.variable=this.variable))),this.context||(v=this.variable.unwrapAll(),v.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned'),("function"==typeof v.hasProperties?v.hasProperties():void 0)||(this.param?e.scope.add(v.value,"var"):e.scope.find(v.value))),d=this.value.compileToFragments(e,T),n=this.variable.compileToFragments(e,T),"object"===this.context?n.concat(this.makeCode(": "),d):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),d),T>=e.level?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){var r,i,s,o,u,a,f,l,c,p,d,v,g,y,b,w,S,x,C,A,O,M,_,D,P,j,F,I;if(D=e.level===k,j=this.value,y=this.variable.base.objects,!(b=y.length))return s=j.compileToFragments(e),e.level>=N?this.wrapInBraces(s):s;if(l=this.variable.isObject(),!D||1!==b||(g=y[0])instanceof z){for(F=j.compileToFragments(e,T),I=st(F),i=[],o=!1,(!m.test(I)||this.variable.assigns(I))&&(i.push([this.makeCode((w=e.scope.freeVariable("ref"))+" = ")].concat(xt.call(F))),F=[this.makeCode(w)],I=w),a=p=0,d=y.length;d>p;a=++p){if(g=y[a],f=a,l&&(g instanceof n?(A=g,O=A.variable,f=O.base,g=A.value):g.base instanceof H?(M=(new Q(g.unwrapAll())).cacheReference(e),g=M[0],f=M[1]):f=g["this"]?g.properties[0].name:g),!o&&g instanceof z)v=g.name.unwrap().value,g=g.unwrap(),P=b+" <= "+I+".length ? "+bt("slice",e)+".call("+I+", "+a,(_=b-a-1)?(c=e.scope.freeVariable("i",{single:!0}),P+=", "+c+" = "+I+".length - "+_+") : ("+c+" = "+a+", [])"):P+=") : []",P=new L(P),o=c+"++";else{if(!o&&g instanceof h){(_=b-a-1)&&(1===_?o=I+".length - 1":(c=e.scope.freeVariable("i",{single:!0}),P=new L(c+" = "+I+".length - "+_),o=c+"++",i.push(P.compileToFragments(e,T))));continue}v=g.unwrap().value,(g instanceof z||g instanceof h)&&g.error("multiple splats/expansions are disallowed in an assignment"),"number"==typeof f?(f=new L(o||f),r=!1):r=l&&m.test(f.unwrap().value||0),P=new Q(new L(I),[new(r?t:E)(f)])}null!=v&&St.call(B,v)>=0&&g.error("assignment to a reserved word: "+g.compile(e)),i.push((new n(g,P,null,{param:this.param,subpattern:!0})).compileToFragments(e,T))}return D||this.subpattern||i.push(F),u=this.joinFragmentArrays(i,", "),T>e.level?u:this.wrapInBraces(u)}return g instanceof n?(S=g,x=S.variable,f=x.base,g=S.value):f=l?g["this"]?g.properties[0].name:g:new L(0),r=m.test(f.unwrap().value||0),j=new Q(j),j.properties.push(new(r?t:E)(f)),C=g.unwrap().value,St.call(B,C)>=0&&g.error("assignment to a reserved word: "+g.compile(e)),(new n(g,j,null,{param:this.param})).compileToFragments(e,k)},n.prototype.compileConditional=function(e){var t,r,i,s;return i=this.variable.cacheReference(e),r=i[0],s=i[1],!r.properties.length&&r.base instanceof L&&"this"!==r.base.value&&!e.scope.check(r.base.value)&&this.variable.error('the variable "'+r.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),St.call(this.context,"?")>=0?(e.isExistentialEquals=!0,(new b(new c(r),s,{type:"if"})).addElse(new n(s,this.value,"=")).compileToFragments(e)):(t=(new D(this.context.slice(0,-1),r,new n(s,this.value,"="))).compileToFragments(e),T>=e.level?t:this.wrapInBraces(t))},n.prototype.compileSpecialMath=function(e){var t,r,i;return r=this.variable.cacheReference(e),t=r[0],i=r[1],(new n(t,new D(this.context.slice(0,-1),i,this.value))).compileToFragments(e)},n.prototype.compileSplice=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;return u=this.variable.properties.pop().range,r=u.from,l=u.to,n=u.exclusive,o=this.variable.compile(e),r?(a=this.cacheToCodeFragments(r.cache(e,N)),i=a[0],s=a[1]):i=s="0",l?r instanceof Q&&r.isSimpleNumber()&&l instanceof Q&&l.isSimpleNumber()?(l=l.compile(e)-s,n||(l+=1)):(l=l.compile(e,S)+" - "+s,n||(l+=" + 1")):l="9e9",f=this.value.cache(e,T),c=f[0],h=f[1],t=[].concat(this.makeCode("[].splice.apply("+o+", ["+i+", "+l+"].concat("),c,this.makeCode(")), "),h),e.level>k?this.wrapInBraces(t):t},n}(i),e.Code=a=function(e){function t(e,t,n){this.params=e||[],this.body=t||new s,this.bound="boundfunc"===n,this.isGenerator=!!this.body.contains(function(e){var t;return e instanceof D&&("yield"===(t=e.operator)||"yield*"===t)})}return wt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=O,t.prototype.makeScope=function(e){return new R(e,this.body,this)},t.prototype.compileNode=function(e){var i,u,a,f,l,c,p,d,v,m,g,y,w,E,x,T,N,C,k,A,O,M,_,H,B,j,F,I,q,R,U,z,W;if(this.bound&&(null!=(_=e.scope.method)?_.bound:void 0)&&(this.context=e.scope.method.context),this.bound&&!this.context)return this.context="_this",W=new t([new P(new L(this.context))],new s([this])),u=new o(W,[new L("this")]),u.updateLocationDataIfMissing(this.locationData),u.compileNode(e);for(e.scope=tt(e,"classScope")||this.makeScope(e.scope),e.scope.shared=tt(e,"sharedScope"),e.indent+=X,delete e.bare,delete e.isExistentialEquals,k=[],f=[],H=this.params,c=0,v=H.length;v>c;c++)C=H[c],C instanceof h||e.scope.parameter(C.asReference(e));for(B=this.params,p=0,m=B.length;m>p;p++)if(C=B[p],C.splat||C instanceof h){for(j=this.params,d=0,g=j.length;g>d;d++)N=j[d],N instanceof h||!N.name.value||e.scope.add(N.name.value,"var",!0);q=new r(new Q(new n(function(){var t,n,r,i;for(r=this.params,i=[],n=0,t=r.length;t>n;n++)N=r[n],i.push(N.asReference(e));return i}.call(this))),new Q(new L("arguments")));break}for(F=this.params,T=0,y=F.length;y>T;T++)C=F[T],C.isComplex()?(U=M=C.asReference(e),C.value&&(U=new D("?",M,C.value)),f.push(new r(new Q(C.name),U,"=",{param:!0}))):(M=C,C.value&&(x=new L(M.name.value+" == null"),U=new r(new Q(C.name),C.value,"="),f.push(new b(x,U)))),q||k.push(M);for(z=this.body.isEmpty(),q&&f.unshift(q),f.length&&(I=this.body.expressions).unshift.apply(I,f),l=A=0,w=k.length;w>A;l=++A)N=k[l],k[l]=N.compileToFragments(e),e.scope.parameter(st(k[l]));for(R=[],this.eachParamName(function(e,t){return St.call(R,e)>=0&&t.error("multiple parameters named "+e),R.push(e)}),z||this.noReturn||this.body.makeReturn(),a="function",this.isGenerator&&(a+="*"),this.ctor&&(a+=" "+this.name),a+="(",i=[this.makeCode(a)],l=O=0,E=k.length;E>O;l=++O)N=k[l],l&&i.push(this.makeCode(", ")),i.push.apply(i,N);return i.push(this.makeCode(") {")),this.body.isEmpty()||(i=i.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),i.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(xt.call(i)):this.front||e.level>=S?this.wrapInBraces(i):i},t.prototype.eachParamName=function(e){var t,n,r,i,s;for(i=this.params,s=[],t=0,n=i.length;n>t;t++)r=i[t],s.push(r.eachName(e));return s},t.prototype.traverseChildren=function(e,n){return e?t.__super__.traverseChildren.call(this,e,n):void 0},t}(i),e.Param=P=function(e){function t(e,t,n){var r,i;this.name=e,this.value=t,this.splat=n,i=r=this.name.unwrapAll().value,St.call(q,i)>=0&&this.name.error('parameter name "'+r+'" is not allowed')}return wt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,T)},t.prototype.asReference=function(e){var t,n;return this.reference?this.reference:(n=this.name,n["this"]?(t=n.properties[0].name.value,t.reserved&&(t="_"+t),n=new L(e.scope.freeVariable(t))):n.isComplex()&&(n=new L(e.scope.freeVariable("arg"))),n=new Q(n),this.splat&&(n=new z(n)),n.updateLocationDataIfMissing(this.locationData),this.reference=n)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,i,s,o,u,a;if(null==t&&(t=this.name),n=function(t){return e("@"+t.properties[0].name.value,t)},t instanceof L)return e(t.value,t);if(t instanceof Q)return n(t);for(a=t.objects,i=0,s=a.length;s>i;i++)u=a[i],u instanceof r?this.eachName(e,u.value.unwrap()):u instanceof z?(o=u.name.unwrap(),e(o.value,o)):u instanceof Q?u.isArray()||u.isObject()?this.eachName(e,u.base):u["this"]?n(u):e(u.base.value,u.base):u instanceof h||u.error("illegal parameter "+u.compile())},t}(i),e.Splat=z=function(e){function t(e){this.name=e.compile?e:new L(e)}return wt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=Y,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,r){var i,s,o,u,a,f,l,c,h,p,d;for(l=-1;(d=n[++l])&&!(d instanceof t););if(l>=n.length)return[];if(1===n.length)return d=n[0],a=d.compileToFragments(e,T),r?a:[].concat(d.makeCode(bt("slice",e)+".call("),a,d.makeCode(")"));for(i=n.slice(l),f=c=0,p=i.length;p>c;f=++c)d=i[f],o=d.compileToFragments(e,T),i[f]=d instanceof t?[].concat(d.makeCode(bt("slice",e)+".call("),o,d.makeCode(")")):[].concat(d.makeCode("["),o,d.makeCode("]"));return 0===l?(d=n[0],u=d.joinFragmentArrays(i.slice(1),", "),i[0].concat(d.makeCode(".concat("),u,d.makeCode(")"))):(s=function(){var t,r,i,s;for(i=n.slice(0,l),s=[],t=0,r=i.length;r>t;t++)d=i[t],s.push(d.compileToFragments(e,T));return s}(),s=n[0].joinFragmentArrays(s,", "),u=n[l].joinFragmentArrays(i,", "),h=n[n.length-1],[].concat(n[0].makeCode("["),s,n[l].makeCode("].concat("),u,h.makeCode(")")))},t}(i),e.Expansion=h=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return wt(t,e),t.prototype.isComplex=O,t.prototype.compileNode=function(){return this.error("Expansion must be used inside a destructuring assignment or parameter list")},t.prototype.asReference=function(){return this},t.prototype.eachName=function(){},t}(i),e.While=G=function(e){function t(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,this.guard=null!=t?t.guard:void 0}return wt(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=Y,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,r,i;if(e=this.body.expressions,!e.length)return!1;for(t=0,r=e.length;r>t;t++)if(i=e[t],n=i.jumps({loop:!0}))return n;return!1},t.prototype.compileNode=function(e){var t,n,r,i;return e.indent+=X,i="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(r=e.scope.freeVariable("results")),i=""+this.tab+r+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new b((new H(this.guard)).invert(),new L("continue"))):this.guard&&(n=s.wrap([new b(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,k),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(i+this.tab+"while ("),this.condition.compileToFragments(e,C),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+r+";")),t},t}(i),e.Op=D=function(e){function n(e,t,n,r){if("in"===e)return new w(t,n);if("do"===e)return this.generateDo(t);if("new"===e){if(t instanceof o&&!t["do"]&&!t.isNew)return t.newInstance();(t instanceof a&&t.bound||t["do"])&&(t=new H(t))}return this.operator=i[e]||e,this.first=t,this.second=n,this.flip=!!r,this}var i,s;return wt(n,e),i={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},s={"!==":"===","===":"!=="},n.prototype.children=["first","second"],n.prototype.isSimpleNumber=O,n.prototype.isYield=function(){var e;return"yield"===(e=this.operator)||"yield*"===e},n.prototype.isYieldReturn=function(){return this.isYield()&&this.first instanceof F},n.prototype.isUnary=function(){return!this.second},n.prototype.isComplex=function(){var e;return!(this.isUnary()&&("+"===(e=this.operator)||"-"===e)&&this.first instanceof Q&&this.first.isSimpleNumber())},n.prototype.isChainable=function(){var e;return"<"===(e=this.operator)||">"===e||">="===e||"<="===e||"==="===e||"!=="===e},n.prototype.invert=function(){var e,t,r,i,o;if(this.isChainable()&&this.first.isChainable()){for(e=!0,t=this;t&&t.operator;)e&&(e=t.operator in s),t=t.first;if(!e)return(new H(this)).invert();for(t=this;t&&t.operator;)t.invert=!t.invert,t.operator=s[t.operator],t=t.first;return this}return(i=s[this.operator])?(this.operator=i,this.first.unwrap()instanceof n&&this.first.invert(),this):this.second?(new H(this)).invert():"!"===this.operator&&(r=this.first.unwrap())instanceof n&&("!"===(o=r.operator)||"in"===o||"instanceof"===o)?r:new n("!",this)},n.prototype.unfoldSoak=function(e){var t;return("++"===(t=this.operator)||"--"===t||"delete"===t)&&yt(e,this,"first")},n.prototype.generateDo=function(e){var t,n,i,s,u,f,l,c;for(f=[],n=e instanceof r&&(l=e.value.unwrap())instanceof a?l:e,c=n.params||[],i=0,s=c.length;s>i;i++)u=c[i],u.value?(f.push(u.value),delete u.value):f.push(u);return t=new o(e,f),t["do"]=!0,t},n.prototype.compileNode=function(e){var t,n,r,i,s,o;if(n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),"delete"===this.operator&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(i=this.operator)||"++"===i)&&(s=this.first.unwrapAll().value,St.call(q,s)>=0)&&this.error('cannot increment/decrement "'+this.first.unwrapAll().value+'"'),this.isYield())return this.compileYield(e);if(this.isUnary())return this.compileUnary(e);if(n)return this.compileChain(e);switch(this.operator){case"?":return this.compileExistence(e);case"**":return this.compilePower(e);case"//":return this.compileFloorDivision(e);case"%%":return this.compileModulo(e);default:return r=this.first.compileToFragments(e,N),o=this.second.compileToFragments(e,N),t=[].concat(r,this.makeCode(" "+this.operator+" "),o),N>=e.level?t:this.wrapInBraces(t)}},n.prototype.compileChain=function(e){var t,n,r,i;return r=this.first.second.cache(e),this.first.second=r[0],i=r[1],n=this.first.compileToFragments(e,N),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),i.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,N)),this.wrapInBraces(t)},n.prototype.compileExistence=function(e){var t,n;return this.first.isComplex()?(n=new L(e.scope.freeVariable("ref")),t=new H(new r(n,this.first))):(t=this.first,n=t),(new b(new c(t),n,{type:"if"})).addElse(this.second).compileToFragments(e)},n.prototype.compileUnary=function(e){var t,r,i;return r=[],t=this.operator,r.push([this.makeCode(t)]),"!"===t&&this.first instanceof c?(this.first.negated=!this.first.negated,this.first.compileToFragments(e)):e.level>=S?(new H(this)).compileToFragments(e):(i="+"===t||"-"===t,("new"===t||"typeof"===t||"delete"===t||i&&this.first instanceof n&&this.first.operator===t)&&r.push([this.makeCode(" ")]),(i&&this.first instanceof n||"new"===t&&this.first.isStatement(e))&&(this.first=new H(this.first)),r.push(this.first.compileToFragments(e,N)),this.flip&&r.reverse(),this.joinFragmentArrays(r,""))},n.prototype.compileYield=function(e){var t,n;return n=[],t=this.operator,null==e.scope.parent&&this.error("yield statements must occur within a function generator."),St.call(Object.keys(this.first),"expression")>=0&&!(this.first instanceof $)?this.isYieldReturn()?n.push(this.first.compileToFragments(e,k)):null!=this.first.expression&&n.push(this.first.expression.compileToFragments(e,N)):(n.push([this.makeCode("("+t+" ")]),n.push(this.first.compileToFragments(e,N)),n.push([this.makeCode(")")])),this.joinFragmentArrays(n,"")},n.prototype.compilePower=function(e){var n;return n=new Q(new L("Math"),[new t(new L("pow"))]),(new o(n,[this.first,this.second])).compileToFragments(e)},n.prototype.compileFloorDivision=function(e){var r,i;return i=new Q(new L("Math"),[new t(new L("floor"))]),r=new n("/",this.first,this.second),(new o(i,[r])).compileToFragments(e)},n.prototype.compileModulo=function(e){var t;return t=new Q(new L(bt("modulo",e))),(new o(t,[this.first,this.second])).compileToFragments(e)},n.prototype.toString=function(e){return n.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},n}(i),e.In=w=function(e){function t(e,t){this.object=e,this.array=t}return wt(t,e),t.prototype.children=["object","array"],t.prototype.invert=A,t.prototype.compileNode=function(e){var t,n,r,i,s;if(this.array instanceof Q&&this.array.isArray()&&this.array.base.objects.length){for(s=this.array.base.objects,n=0,r=s.length;r>n;n++)if(i=s[n],i instanceof z){t=!0;break}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;for(a=this.object.cache(e,N),c=a[0],u=a[1],f=this.negated?[" !== "," && "]:[" === "," || "],t=f[0],n=f[1],h=[],l=this.array.base.objects,r=s=0,o=l.length;o>s;r=++s)i=l[r],r&&h.push(this.makeCode(n)),h=h.concat(r?u:c,this.makeCode(t),i.compileToFragments(e,S));return N>e.level?h:this.wrapInBraces(h)},t.prototype.compileLoopTest=function(e){var t,n,r,i;return r=this.object.cache(e,T),i=r[0],n=r[1],t=[].concat(this.makeCode(bt("indexOf",e)+".call("),this.array.compileToFragments(e,T),this.makeCode(", "),n,this.makeCode(") "+(this.negated?"< 0":">= 0"))),st(i)===st(n)?t:(t=i.concat(this.makeCode(", "),t),T>e.level?t:this.wrapInBraces(t))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(i),e.Try=J=function(e){function t(e,t,n,r){this.attempt=e,this.errorVariable=t,this.recovery=n,this.ensure=r}return wt(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=Y,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||(null!=(t=this.recovery)?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,i,s;return e.indent+=X,s=this.attempt.compileToFragments(e,k),t=this.recovery?(i=new L("_error"),this.errorVariable?this.recovery.unshift(new r(this.errorVariable,i)):void 0,[].concat(this.makeCode(" catch ("),i.compileToFragments(e),this.makeCode(") {\n"),this.recovery.compileToFragments(e,k),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:[this.makeCode(" catch (_error) {}")],n=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(e,k),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(this.tab+"try {\n"),s,this.makeCode("\n"+this.tab+"}"),t,n)},t}(i),e.Throw=$=function(e){function t(e){this.expression=e}return wt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Y,t.prototype.jumps=O,t.prototype.makeReturn=V,t.prototype.compileNode=function(e){return[].concat(this.makeCode(this.tab+"throw "),this.expression.compileToFragments(e),this.makeCode(";"))},t}(i),e.Existence=c=function(e){function t(e){this.expression=e}return wt(t,e),t.prototype.children=["expression"],t.prototype.invert=A,t.prototype.compileNode=function(e){var t,n,r,i;return this.expression.front=this.front,r=this.expression.compile(e,N),m.test(r)&&!e.scope.check(r)?(i=this.negated?["===","||"]:["!==","&&"],t=i[0],n=i[1],r="typeof "+r+" "+t+' "undefined" '+n+" "+r+" "+t+" null"):r=r+" "+(this.negated?"==":"!=")+" null",[this.makeCode(x>=e.level?r:"("+r+")")]},t}(i),e.Parens=H=function(e){function t(e){this.body=e}return wt(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,r;return n=this.body.unwrap(),n instanceof Q&&n.isAtomic()?(n.front=this.front,n.compileToFragments(e)):(r=n.compileToFragments(e,C),t=N>e.level&&(n instanceof D||n instanceof o||n instanceof d&&n.returns),t?r:this.wrapInBraces(r))},t}(i),e.For=d=function(e){function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=s.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]),this.index instanceof Q&&this.index.error("index cannot be a pattern matching expression"),this.range=this.source instanceof Q&&this.source.base instanceof j&&!this.source.properties.length,this.pattern=this.name instanceof Q,this.range&&this.index&&this.index.error("indexes do not apply to range loops"),this.range&&this.pattern&&this.name.error("cannot pattern match over range loops"),this.own&&!this.object&&this.name.error("cannot use own with for-in"),this.returns=!1}return wt(t,e),t.prototype.children=["body","source","guard","step"],t.prototype.compileNode=function(e){var t,n,i,o,u,a,f,l,c,h,p,d,v,g,y,w,E,S,x,N,C,A,O,_,D,P,B,j,I,q,R,U,z,W;return t=s.wrap([this.body]),O=t.expressions,S=O[O.length-1],(null!=S?S.jumps():void 0)instanceof F&&(this.returns=!1),I=this.range?this.source.base:this.source,j=e.scope,this.pattern||(N=this.name&&this.name.compile(e,T)),g=this.index&&this.index.compile(e,T),N&&!this.pattern&&j.find(N),g&&j.find(g),this.returns&&(B=j.freeVariable("results")),y=this.object&&g||j.freeVariable("i",{single:!0}),w=this.range&&N||g||y,E=w!==y?w+" = ":"",this.step&&!this.range&&(_=this.cacheToCodeFragments(this.step.cache(e,T,ot)),q=_[0],U=_[1],R=U.match(M)),this.pattern&&(N=y),W="",p="",f="",d=this.tab+X,this.range?h=I.compileToFragments(lt(e,{index:y,name:N,step:this.step,isComplex:ot})):(z=this.source.compile(e,T),!N&&!this.own||m.test(z)||(f+=""+this.tab+(A=j.freeVariable("ref"))+" = "+z+";\n",z=A),N&&!this.pattern&&(C=N+" = "+z+"["+w+"]"),this.object||(q!==U&&(f+=""+this.tab+q+";\n"),this.step&&R&&(c=0>ht(R[0]))||(x=j.freeVariable("len")),u=""+E+y+" = 0, "+x+" = "+z+".length",a=""+E+y+" = "+z+".length - 1",i=y+" < "+x,o=y+" >= 0",this.step?(R?c&&(i=o,u=a):(i=U+" > 0 ? "+i+" : "+o,u="("+U+" > 0 ? ("+u+") : "+a+")"),v=y+" += "+U):v=""+(w!==y?"++"+y:y+"++"),h=[this.makeCode(u+"; "+i+"; "+E+v)])),this.returns&&(D=""+this.tab+B+" = [];\n",P="\n"+this.tab+"return "+B+";",t.makeReturn(B)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new b((new H(this.guard)).invert(),new L("continue"))):this.guard&&(t=s.wrap([new b(this.guard,t)]))),this.pattern&&t.expressions.unshift(new r(this.name,new L(z+"["+w+"]"))),l=[].concat(this.makeCode(f),this.pluckDirectCall(e,t)),C&&(W="\n"+d+C+";"),this.object&&(h=[this.makeCode(w+" in "+z)],this.own&&(p="\n"+d+"if (!"+bt("hasProp",e)+".call("+z+", "+w+")) continue;")),n=t.compileToFragments(lt(e,{indent:d}),k),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(l,this.makeCode(""+(D||"")+this.tab+"for ("),h,this.makeCode(") {"+p+W),n,this.makeCode(this.tab+"}"+(P||"")))},t.prototype.pluckDirectCall=function(e,t){var n,i,s,u,f,l,c,h,p,d,v,m,g,y,b,w;for(i=[],p=t.expressions,f=l=0,c=p.length;c>l;f=++l)s=p[f],s=s.unwrapAll(),s instanceof o&&(w=null!=(d=s.variable)?d.unwrapAll():void 0,(w instanceof a||w instanceof Q&&(null!=(v=w.base)?v.unwrapAll():void 0)instanceof a&&1===w.properties.length&&("call"===(m=null!=(g=w.properties[0].name)?g.value:void 0)||"apply"===m))&&(u=(null!=(y=w.base)?y.unwrapAll():void 0)||w,h=new L(e.scope.freeVariable("fn")),n=new Q(h),w.base&&(b=[n,w],w.base=b[0],n=b[1]),t.expressions[f]=new o(n,s.args),i=i.concat(this.makeCode(this.tab),(new r(h,u)).compileToFragments(e,k),this.makeCode(";\n"))));return i},t}(G),e.Switch=W=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return wt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=Y,t.prototype.jumps=function(e){var t,n,r,i,s,o,u,a;for(null==e&&(e={block:!0}),o=this.cases,r=0,s=o.length;s>r;r++)if(u=o[r],n=u[0],t=u[1],i=t.jumps(e))return i;return null!=(a=this.otherwise)?a.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,r,i,o;for(i=this.cases,t=0,n=i.length;n>t;t++)r=i[t],r[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new s([new L("void 0")]))),null!=(o=this.otherwise)&&o.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;for(a=e.indent+X,f=e.indent=a+X,o=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,C):this.makeCode("false"),this.makeCode(") {\n")),d=this.cases,u=l=0,h=d.length;h>l;u=++l){for(v=d[u],i=v[0],t=v[1],m=it([i]),c=0,p=m.length;p>c;c++)r=m[c],this.subject||(r=r.invert()),o=o.concat(this.makeCode(a+"case "),r.compileToFragments(e,C),this.makeCode(":\n"));if((n=t.compileToFragments(e,k)).length>0&&(o=o.concat(n,this.makeCode("\n"))),u===this.cases.length-1&&!this.otherwise)break;s=this.lastNonComment(t.expressions),s instanceof F||s instanceof L&&s.jumps()&&"debugger"!==s.value||o.push(r.makeCode(f+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&o.push.apply(o,[this.makeCode(a+"default:\n")].concat(xt.call(this.otherwise.compileToFragments(e,k)),[this.makeCode("\n")])),o.push(this.makeCode(this.tab+"}")),o},t}(i),e.If=b=function(e){function t(e,t,n){this.body=t,null==n&&(n={}),this.condition="unless"===n.type?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return wt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return null!=(e=this.body)?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return null!=(e=this.elseBody)?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(null!=e?e.level:void 0)===k||this.bodyNode().isStatement(e)||(null!=(t=this.elseBodyNode())?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||(null!=(t=this.elseBody)?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new s([new L("void 0")]))),this.body&&(this.body=new s([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new s([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof s?e:new s([e])},t.prototype.compileStatement=function(e){var n,r,i,s,o,u,a;return i=tt(e,"chainChild"),(o=tt(e,"isExistentialEquals"))?(new t(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compileToFragments(e):(a=e.indent+X,s=this.condition.compileToFragments(e,C),r=this.ensureBlock(this.body).compileToFragments(lt(e,{indent:a})),u=[].concat(this.makeCode("if ("),s,this.makeCode(") {\n"),r,this.makeCode("\n"+this.tab+"}")),i||u.unshift(this.makeCode(this.tab)),this.elseBody?(n=u.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,k))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(lt(e,{indent:a}),k),this.makeCode("\n"+this.tab+"}")),n):u)},t.prototype.compileExpression=function(e){var t,n,r,i;return r=this.condition.compileToFragments(e,x),n=this.bodyNode().compileToFragments(e,T),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,T):[this.makeCode("void 0")],i=r.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=x?this.wrapInBraces(i):i},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(i),K={extend:function(e){return"function(child, parent) { for (var key in parent) { if ("+bt("hasProp",e)+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},modulo:function(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},k=1,C=2,T=3,x=4,N=5,S=6,X=" ",m=/^(?!\d)[$\w\x7f-\uffff]+$/,I=/^[+-]?\d+$/,v=/^[+-]?0x[\da-f]+/i,M=/^[+-]?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)$/i,y=/^['"]/,g=/^\//,bt=function(e,t){var n,r;return r=t.scope.root,e in r.utilities?r.utilities[e]:(n=r.freeVariable(e),r.assign(n,K[e](t)),r.utilities[e]=n)},ct=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")},ht=function(e){return null==e?0:e.match(v)?parseInt(e,16):parseFloat(e)},ut=function(e){return e instanceof L&&"arguments"===e.value&&!e.asKey},at=function(e){return e instanceof L&&"this"===e.value&&!e.asKey||e instanceof a&&e.bound||e instanceof o&&e.isSuper},ot=function(e){return e.isComplex()||("function"==typeof e.isAssignable?e.isAssignable():void 0)},yt=function(e,t,n){var r;if(r=t[n].unfoldSoak(e))return t[n]=r.body,r.body=new Q(t),r}}.call(this),t.exports}(),_dereq_["./sourcemap"]=function(){var e={},t={exports:e};return function(){var e,n;e=function(){function e(e){this.line=e,this.columns=[]}return e.prototype.add=function(e,t,n){var r,i;return i=t[0],r=t[1],null==n&&(n={}),this.columns[e]&&n.noReplace?void 0:this.columns[e]={line:this.line,column:e,sourceLine:i,sourceColumn:r}},e.prototype.sourceLocation=function(e){for(var t;!((t=this.columns[e])||0>=e);)e--;return t&&[t.sourceLine,t.sourceColumn]},e}(),n=function(){function t(){this.lines=[]}var n,r,i,s;return t.prototype.add=function(t,n,r){var i,s,o,u;return null==r&&(r={}),o=n[0],s=n[1],u=(i=this.lines)[o]||(i[o]=new e(o)),u.add(s,t,r)},t.prototype.sourceLocation=function(e){var t,n,r;for(n=e[0],t=e[1];!((r=this.lines[n])||0>=n);)n--;return r&&r.sourceLocation(t)},t.prototype.generate=function(e,t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g;for(null==e&&(e={}),null==t&&(t=null),g=0,s=0,u=0,o=0,p=!1,n="",d=this.lines,c=r=0,a=d.length;a>r;c=++r)if(l=d[c])for(v=l.columns,i=0,f=v.length;f>i;i++)if(h=v[i]){for(;h.line>g;)s=0,p=!1,n+=";",g++;p&&(n+=",",p=!1),n+=this.encodeVlq(h.column-s),s=h.column,n+=this.encodeVlq(0),n+=this.encodeVlq(h.sourceLine-u),u=h.sourceLine,n+=this.encodeVlq(h.sourceColumn-o),o=h.sourceColumn,p=!0}return m={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:e.sourceFiles||[""],names:[],mappings:n},e.inline&&(m.sourcesContent=[t]),JSON.stringify(m,null,2)},i=5,r=1<<i,s=r-1,t.prototype.encodeVlq=function(e){var t,n,o,u;for(t="",o=0>e?1:0,u=(Math.abs(e)<<1)+o;u||!t;)n=u&s,u>>=i,u&&(n|=r),t+=this.encodeBase64(n);return t},n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t.prototype.encodeBase64=function(e){return n[e]||function(){throw Error("Cannot Base64 encode value: "+e)}()},t}(),t.exports=n}.call(this),t.exports}(),_dereq_["./coffee-script"]=function(){var e={},t={exports:e};return function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b={}.hasOwnProperty,w=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};if(u=_dereq_("fs"),g=_dereq_("vm"),d=_dereq_("path"),t=_dereq_("./lexer").Lexer,p=_dereq_("./parser").parser,f=_dereq_("./helpers"),n=_dereq_("./sourcemap"),e.VERSION="1.9.3",e.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"],e.helpers=f,y=function(e){return function(t,n){var r;null==n&&(n={});try{return e.call(this,t,n)}catch(i){throw(r=i,"string"!=typeof t)?r:f.updateSyntaxError(r,t,n.filename)}}},e.compile=i=y(function(e,t){var r,i,s,o,u,a,l,c,d,v,m,g,y,b,w;for(g=f.merge,o=f.extend,t=o({},t),t.sourceMap&&(m=new n),w=h.tokenize(e,t),t.referencedVars=function(){var e,t,n;for(n=[],e=0,t=w.length;t>e;e++)b=w[e],b.variable&&n.push(b[1]);return n}(),a=p.parse(w).compileToFragments(t),s=0,t.header&&(s+=1),t.shiftLine&&(s+=1),i=0,d="",c=0,v=a.length;v>c;c++)u=a[c],t.sourceMap&&(u.locationData&&!/^[;\s]*$/.test(u.code)&&m.add([u.locationData.first_line,u.locationData.first_column],[s,i],{noReplace:!0}),y=f.count(u.code,"\n"),s+=y,y?i=u.code.length-(u.code.lastIndexOf("\n")+1):i+=u.code.length),d+=u.code;return t.header&&(l="Generated by CoffeeScript "+this.VERSION,d="// "+l+"\n"+d),t.sourceMap?(r={js:d},r.sourceMap=m,r.v3SourceMap=m.generate(t,e),r):d}),e.tokens=y(function(e,t){return h.tokenize(e,t)}),e.nodes=y(function(e,t){return"string"==typeof e?p.parse(h.tokenize(e,t)):p.parse(e)}),e.run=function(e,t){var n,r,s,o;return null==t&&(t={}),s=_dereq_.main,s.filename=process.argv[1]=t.filename?u.realpathSync(t.filename):".",s.moduleCache&&(s.moduleCache={}),r=t.filename?d.dirname(u.realpathSync(t.filename)):u.realpathSync("."),s.paths=_dereq_("module")._nodeModulePaths(r),(!f.isCoffee(s.filename)||_dereq_.extensions)&&(n=i(e,t),e=null!=(o=n.js)?o:n),s._compile(e,s.filename)},e.eval=function(e,t){var n,r,s,o,u,a,f,l,c,h,p,v,m,y,w,E,S;if(null==t&&(t={}),e=e.trim()){if(o=null!=(v=g.Script.createContext)?v:g.createContext,a=null!=(m=g.isContext)?m:function(){return t.sandbox instanceof o().constructor},o){if(null!=t.sandbox){if(a(t.sandbox))E=t.sandbox;else{E=o(),y=t.sandbox;for(l in y)b.call(y,l)&&(S=y[l],E[l]=S)}E.global=E.root=E.GLOBAL=E}else E=global;if(E.__filename=t.filename||"eval",E.__dirname=d.dirname(E.__filename),E===global&&!E.module&&!E.require){for(n=_dereq_("module"),E.module=r=new n(t.modulename||"eval"),E.require=s=function(e){return n._load(e,r,!0)},r.filename=E.__filename,w=Object.getOwnPropertyNames(_dereq_),u=0,c=w.length;c>u;u++)p=w[u],"paths"!==p&&(s[p]=_dereq_[p]);s.paths=r.paths=n._nodeModulePaths(process.cwd()),s.resolve=function(e){return n._resolveFilename(e,r)}}}h={};for(l in t)b.call(t,l)&&(S=t[l],h[l]=S);return h.bare=!0,f=i(e,h),E===global?g.runInThisContext(f):g.runInContext(f,E)}},e.register=function(){return _dereq_("./register")},_dereq_.extensions)for(v=this.FILE_EXTENSIONS,l=0,c=v.length;c>l;l++)s=v[l],null==(r=_dereq_.extensions)[s]&&(r[s]=function(){throw Error("Use CoffeeScript.register() or require the coffee-script/register module to require "+s+" files.")});e._compileFile=function(e,t){var n,r,s,o;null==t&&(t=!1),s=u.readFileSync(e,"utf8"),o=65279===s.charCodeAt(0)?s.substring(1):s;try{n=i(o,{filename:e,sourceMap:t,literate:f.isLiterate(e)})}catch(a){throw r=a,f.updateSyntaxError(r,o,e)}return n},h=new t,p.lexer={lex:function(){var e,t;return t=p.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],p.errorToken=t.origin||t,this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return p.tokens=e,this.pos=0},upcomingInput:function(){return""}},p.yy=_dereq_("./nodes"),p.yy.parseError=function(e,t){var n,r,i,s,o,u;return o=t.token,s=p.errorToken,u=p.tokens,r=s[0],i=s[1],n=s[2],i=function(){switch(!1){case s!==u[u.length-1]:return"end of input";case"INDENT"!==r&&"OUTDENT"!==r:return"indentation";case"IDENTIFIER"!==r&&"NUMBER"!==r&&"STRING"!==r&&"STRING_START"!==r&&"REGEX"!==r&&"REGEX_START"!==r:return r.replace(/_START$/,"").toLowerCase();default:return f.nameWhitespaceCharacter(i)}}(),f.throwSyntaxError("unexpected "+i,n)},o=function(e,t){var n,r,i,s,o,u,a,f,l,c,h,p;return s=void 0,i="",e.isNative()?i="native":(e.isEval()?(s=e.getScriptNameOrSourceURL(),s||(i=e.getEvalOrigin()+", ")):s=e.getFileName(),s||(s="<anonymous>"),f=e.getLineNumber(),r=e.getColumnNumber(),c=t(s,f,r),i=c?s+":"+c[0]+":"+c[1]:s+":"+f+":"+r),o=e.getFunctionName(),u=e.isConstructor(),a=!e.isToplevel()&&!u,a?(l=e.getMethodName(),p=e.getTypeName(),o?(h=n="",p&&o.indexOf(p)&&(h=p+"."),l&&o.indexOf("."+l)!==o.length-l.length-1&&(n=" [as "+l+"]"),""+h+o+n+" ("+i+")"):p+"."+(l||"<anonymous>")+" ("+i+")"):u?"new "+(o||"<anonymous>")+" ("+i+")":o?o+" ("+i+")":i},m={},a=function(t){var n,r;if(m[t])return m[t];if(r=null!=d?d.extname(t):void 0,!(0>w.call(e.FILE_EXTENSIONS,r)))return n=e._compileFile(t,!0),m[t]=n.sourceMap},Error.prepareStackTrace=function(t,n){var r,i,s;return s=function(e,t,n){var r,i;return i=a(e),i&&(r=i.sourceLocation([t-1,n-1])),r?[r[0]+1,r[1]+1]:null},i=function(){var t,i,u;for(u=[],t=0,i=n.length;i>t&&(r=n[t],r.getFunction()!==e.run);t++)u.push(" at "+o(r,s));return u}(),""+t+"\n"+i.join("\n")+"\n"}}.call(this),t.exports}(),_dereq_["./browser"]=function(){var exports={},module={exports:exports};return function(){var CoffeeScript,compile,runScripts,indexOf=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};CoffeeScript=_dereq_("./coffee-script"),CoffeeScript.require=_dereq_,compile=CoffeeScript.compile,CoffeeScript.eval=function(code,options){return null==options&&(options={}),null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e,t){return null==t&&(t={}),t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},"undefined"!=typeof window&&null!==window&&("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&"undefined"!=typeof unescape&&null!==unescape&&"undefined"!=typeof encodeURIComponent&&null!==encodeURIComponent&&(compile=function(e,t){var n,r,i;return null==t&&(t={}),t.sourceMap=!0,t.inline=!0,r=CoffeeScript.compile(e,t),n=r.js,i=r.v3SourceMap,n+"\n//# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(i)))+"\n//# sourceURL=coffeescript"}),CoffeeScript.load=function(e,t,n,r){var i;return null==n&&(n={}),null==r&&(r=!1),n.sourceFiles=[e],i=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,i.open("GET",e,!0),"overrideMimeType"in i&&i.overrideMimeType("text/plain"),i.onreadystatechange=function(){var s,o;if(4===i.readyState){if(0!==(o=i.status)&&200!==o)throw Error("Could not load "+e);if(s=[i.responseText,n],r||CoffeeScript.run.apply(CoffeeScript,s),t)return t(s)}},i.send(null)},runScripts=function(){var e,t,n,r,i,s,o,u,a,f,l;for(l=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,r,i;for(i=[],e=0,n=l.length;n>e;e++)a=l[e],r=a.type,indexOf.call(t,r)>=0&&i.push(a);return i}(),s=0,n=function(){var t;return t=e[s],t instanceof Array?(CoffeeScript.run.apply(CoffeeScript,t),s++,n()):void 0},r=function(r,i){var s,o;return s={literate:r.type===t[1]},o=r.src||r.getAttribute("data-src"),o?CoffeeScript.load(o,function(t){return e[i]=t,n()},s,!0):(s.sourceFiles=["embedded"],e[i]=[r.innerHTML,s])},i=o=0,u=e.length;u>o;i=++o)f=e[i],r(f,i);return n()},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),_dereq_["./coffee-script"]}();"function"==typeof define&&define.amd?define(function(){return CoffeeScript}):root.CoffeeScript=CoffeeScript}(this)}),ace.define("ace/mode/coffee_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/coffee/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/coffee/coffee");window.addEventListener=function(){};var o=t.Worker=function(e){i.call(this,e),this.setTimeout(250)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[];try{s.compile(e)}catch(n){var r=n.location;r&&t.push({row:r.first_line,column:r.first_column,endRow:r.last_line,endColumn:r.last_column,text:n.message,type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-css.js b/library/ace/worker-css.js
new file mode 100644
index 000000000..f7d5ba0b9
--- /dev/null
+++ b/library/ace/worker-css.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/css/csslint",["require","exports","module"],function(require,exports,module){function objectToString(e){return Object.prototype.toString.call(e)}function clone(e,t,n,r){function u(e,n){if(e===null)return null;if(n==0)return e;var a;if(typeof e!="object")return e;if(util.isArray(e))a=[];else if(util.isRegExp(e))a=new RegExp(e.source,util.getRegExpFlags(e)),e.lastIndex&&(a.lastIndex=e.lastIndex);else if(util.isDate(e))a=new Date(e.getTime());else{if(o&&Buffer.isBuffer(e))return a=new Buffer(e.length),e.copy(a),a;typeof r=="undefined"?a=Object.create(Object.getPrototypeOf(e)):a=Object.create(r)}if(t){var f=i.indexOf(e);if(f!=-1)return s[f];i.push(e),s.push(a)}for(var l in e)a[l]=u(e[l],n-1);return a}var i=[],s=[],o=typeof Buffer!="undefined";return typeof t=="undefined"&&(t=!0),typeof n=="undefined"&&(n=Infinity),u(e,n)}function Reporter(e,t){this.messages=[],this.stats=[],this.lines=e,this.ruleset=t}var parserlib={};(function(){function e(){this._listeners={}}function t(e){this._input=e.replace(/\n\r?/g,"\n"),this._line=1,this._col=1,this._cursor=0}function n(e,t,n){this.col=n,this.line=t,this.message=e}function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}function i(e,n){this._reader=e?new t(e.toString()):null,this._token=null,this._tokenData=n,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}e.prototype={constructor:e,addListener:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)},fire:function(e){typeof e=="string"&&(e={type:e}),typeof e.target!="undefined"&&(e.target=this);if(typeof e.type=="undefined")throw new Error("Event object missing 'type' property.");if(this._listeners[e.type]){var t=this._listeners[e.type].concat();for(var n=0,r=t.length;n<r;n++)t[n].call(this,e)}},removeListener:function(e,t){if(this._listeners[e]){var n=this._listeners[e];for(var r=0,i=n.length;r<i;r++)if(n[r]===t){n.splice(r,1);break}}}},t.prototype={constructor:t,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(e){var t=null;return e=typeof e=="undefined"?1:e,this._cursor<this._input.length&&(t=this._input.charAt(this._cursor+e-1)),t},read:function(){var e=null;return this._cursor<this._input.length&&(this._input.charAt(this._cursor)=="\n"?(this._line++,this._col=1):this._col++,e=this._input.charAt(this._cursor++)),e},mark:function(){this._bookmark={cursor:this._cursor,line:this._line,col:this._col}},reset:function(){this._bookmark&&(this._cursor=this._bookmark.cursor,this._line=this._bookmark.line,this._col=this._bookmark.col,delete this._bookmark)},readTo:function(e){var t="",n;while(t.length<e.length||t.lastIndexOf(e)!=t.length-e.length){n=this.read();if(!n)throw new Error('Expected "'+e+'" at line '+this._line+", col "+this._col+".");t+=n}return t},readWhile:function(e){var t="",n=this.read();while(n!==null&&e(n))t+=n,n=this.read();return t},readMatch:function(e){var t=this._input.substring(this._cursor),n=null;return typeof e=="string"?t.indexOf(e)===0&&(n=this.readCount(e.length)):e instanceof RegExp&&e.test(t)&&(n=this.readCount(RegExp.lastMatch.length)),n},readCount:function(e){var t="";while(e--)t+=this.read();return t}},n.prototype=new Error,r.fromToken=function(e){return new r(e.value,e.startLine,e.startCol)},r.prototype={constructor:r,valueOf:function(){return this.text},toString:function(){return this.text}},i.createTokenData=function(e){var t=[],n={},r=e.concat([]),i=0,s=r.length+1;r.UNKNOWN=-1,r.unshift({name:"EOF"});for(;i<s;i++)t.push(r[i].name),r[r[i].name]=i,r[i].text&&(n[r[i].text]=i);return r.name=function(e){return t[e]},r.type=function(e){return n[e]},r},i.prototype={constructor:i,match:function(e,t){e instanceof Array||(e=[e]);var n=this.get(t),r=0,i=e.length;while(r<i)if(n==e[r++])return!0;return this.unget(),!1},mustMatch:function(e,t){var r;e instanceof Array||(e=[e]);if(!this.match.apply(this,arguments))throw r=this.LT(1),new n("Expected "+this._tokenData[e[0]].name+" at line "+r.startLine+", col "+r.startCol+".",r.startLine,r.startCol)},advance:function(e,t){while(this.LA(0)!==0&&!this.match(e,t))this.get();return this.LA(0)},get:function(e){var t=this._tokenData,n=this._reader,r,i=0,s=t.length,o=!1,u,a;if(this._lt.length&&this._ltIndex>=0&&this._ltIndex<this._lt.length){i++,this._token=this._lt[this._ltIndex++],a=t[this._token.type];while(a.channel!==undefined&&e!==a.channel&&this._ltIndex<this._lt.length)this._token=this._lt[this._ltIndex++],a=t[this._token.type],i++;if((a.channel===undefined||e===a.channel)&&this._ltIndex<=this._lt.length)return this._ltIndexCache.push(i),this._token.type}return u=this._getToken(),u.type>-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(t<e)this.unget(),t++}else if(e<0){if(!this._lt[this._ltIndex+e])throw new Error("Too much lookbehind.");n=this._lt[this._ltIndex+e].type}else n=this._token.type;return n},LT:function(e){return this.LA(e),this._lt[this._ltIndex+e-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(e){return e<0||e>this._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vmax":case"vmin":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-_\u0080-\uFFFF][a-z0-9\-_\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(e.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(e.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_viewport:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.VIEWPORT_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endviewport",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s<o&&u===null)u=i[s++].call(this);if(u===null){if(r==="")return null;break}s=0,n.push(u),r+=u.toString(),u=null}return r!==""?new SelectorPart(t,n,r,f,l):null},_type_selector:function(){var e=this._tokenStream,t=this._namespace_prefix(),n=this._element_name();return n?(t&&(n.text=t+n.text,n.col-=t.length),n):(t&&(e.unget(),t.length>1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r<i&&n===null)n=t[r].call(this),r++;return n===null&&this._unexpectedToken(e.LT(1)),n.type=="elementName"?a=new SelectorPart(n,[],n.toString(),o,u):a=new SelectorPart(null,[n],n.toString(),o,u),a},_declaration:function(){var e=this._tokenStream,t=null,n=null,r=null,i=null,s=null,o="";t=this._property();if(t!==null){e.mustMatch(Tokens.COLON),this._readWhitespace(),n=this._expr(),(!n||n.length===0)&&this._unexpectedToken(e.LT(1)),r=this._prio(),o=t.toString();if(this.options.starHack&&t.hack=="*"||this.options.underscoreHack&&t.hack=="_")o=t.text;try{this._validateProperty(o,n)}catch(u){s=u}return this.fire({type:"property",property:t,value:n,important:r,line:t.line,col:t.col,invalid:s}),!0}return!1},_prio:function(){var e=this._tokenStream,t=e.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),t},_expr:function(e){var t=this._tokenStream,n=[],r=null,i=null;r=this._term(e);if(r!==null){n.push(r);do{i=this._operator(e),i&&n.push(i),r=this._term(e);if(r===null)break;n.push(r)}while(!0)}return n.length>0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(e){var t=this._tokenStream,n=null,r=null,i=null,s,o,u;return n=this._unary_operator(),n!==null&&(o=t.token().startLine,u=t.token().startCol),t.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(r=this._ie_function(),n===null&&(o=t.token().startLine,u=t.token().startCol)):e&&t.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(s=t.token(),i=s.endChar,r=s.value+this._expr(e).text,n===null&&(o=t.token().startLine,u=t.token().startCol),t.mustMatch(Tokens.type(i)),r+=i,this._readWhitespace()):t.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(r=t.token().value,n===null&&(o=t.token().startLine,u=t.token().startCol),this._readWhitespace()):(s=this._hexcolor(),s===null?(n===null&&(o=t.LT(1).startLine,u=t.LT(1).startCol),r===null&&(t.LA(3)==Tokens.EQUALS&&this.options.ieFilters?r=this._ie_function():r=this._function())):(r=s.value,n===null&&(o=s.startLine,u=s.startCol))),r!==null?new PropertyValuePart(n!==null?n+r:r,o,u):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length>","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"<time>",comma:!0},"animation-direction":{multi:"normal | reverse | alternate | alternate-reverse",comma:!0},"animation-duration":{multi:"<time>",comma:!0},"animation-fill-mode":{multi:"none | forwards | backwards | both",comma:!0},"animation-iteration-count":{multi:"<number> | infinite",comma:!0},"animation-name":{multi:"none | <ident>",comma:!0},"animation-play-state":{multi:"running | paused",comma:!0},"animation-timing-function":1,"-moz-animation-delay":{multi:"<time>",comma:!0},"-moz-animation-direction":{multi:"normal | reverse | alternate | alternate-reverse",comma:!0},"-moz-animation-duration":{multi:"<time>",comma:!0},"-moz-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-moz-animation-name":{multi:"none | <ident>",comma:!0},"-moz-animation-play-state":{multi:"running | paused",comma:!0},"-ms-animation-delay":{multi:"<time>",comma:!0},"-ms-animation-direction":{multi:"normal | reverse | alternate | alternate-reverse",comma:!0},"-ms-animation-duration":{multi:"<time>",comma:!0},"-ms-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-ms-animation-name":{multi:"none | <ident>",comma:!0},"-ms-animation-play-state":{multi:"running | paused",comma:!0},"-webkit-animation-delay":{multi:"<time>",comma:!0},"-webkit-animation-direction":{multi:"normal | reverse | alternate | alternate-reverse",comma:!0},"-webkit-animation-duration":{multi:"<time>",comma:!0},"-webkit-animation-fill-mode":{multi:"none | forwards | backwards | both",comma:!0},"-webkit-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-webkit-animation-name":{multi:"none | <ident>",comma:!0},"-webkit-animation-play-state":{multi:"running | paused",comma:!0},"-o-animation-delay":{multi:"<time>",comma:!0},"-o-animation-direction":{multi:"normal | reverse | alternate | alternate-reverse",comma:!0},"-o-animation-duration":{multi:"<time>",comma:!0},"-o-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-o-animation-name":{multi:"none | <ident>",comma:!0},"-o-animation-play-state":{multi:"running | paused",comma:!0},appearance:"icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal | none | inherit",azimuth:function(e){var t="<angle> | leftwards | rightwards | inherit",n="left-side | far-left | left | center-left | center | center-right | right | far-right | right-side",r=!1,i=!1,s;ValidationTypes.isAny(e,t)||(ValidationTypes.isAny(e,"behind")&&(r=!0,i=!0),ValidationTypes.isAny(e,n)&&(i=!0,r||ValidationTypes.isAny(e,"behind")));if(e.hasNext())throw s=e.next(),i?new ValidationError("Expected end of value but found '"+s+"'.",s.line,s.col):new ValidationError("Expected (<'azimuth'>) but found '"+s+"'.",s.line,s.col)},"backface-visibility":"visible | hidden",background:1,"background-attachment":{multi:"<attachment>",comma:!0},"background-clip":{multi:"<box>",comma:!0},"background-color":"<color> | inherit","background-image":{multi:"<bg-image>",comma:!0},"background-origin":{multi:"<box>",comma:!0},"background-position":{multi:"<bg-position>",comma:!0},"background-repeat":{multi:"<repeat-style>"},"background-size":{multi:"<bg-size>",comma:!0},"baseline-shift":"baseline | sub | super | <percentage> | <length>",behavior:1,binding:1,bleed:"<length>","bookmark-label":"<content> | <attr> | <string>","bookmark-level":"none | <integer>","bookmark-state":"open | closed","bookmark-target":"none | <uri> | <attr>",border:"<border-width> || <border-style> || <color>","border-bottom":"<border-width> || <border-style> || <color>","border-bottom-color":"<color> | inherit","border-bottom-left-radius":"<x-one-radius>","border-bottom-right-radius":"<x-one-radius>","border-bottom-style":"<border-style>","border-bottom-width":"<border-width>","border-collapse":"collapse | separate | inherit","border-color":{multi:"<color> | inherit",max:4},"border-image":1,"border-image-outset":{multi:"<length> | <number>",max:4},"border-image-repeat":{multi:"stretch | repeat | round",max:2},"border-image-slice":function(e){var t=!1,n="<number> | <percentage>",r=!1,i=0,s=4,o;ValidationTypes.isAny(e,"fill")&&(r=!0,t=!0);while(e.hasNext()&&i<s){t=ValidationTypes.isAny(e,n);if(!t)break;i++}r?t=!0:ValidationTypes.isAny(e,"fill");if(e.hasNext())throw o=e.next(),t?new ValidationError("Expected end of value but found '"+o+"'.",o.line,o.col):new ValidationError("Expected ([<number> | <percentage>]{1,4} && fill?) but found '"+o+"'.",o.line,o.col)},"border-image-source":"<image> | none","border-image-width":{multi:"<length> | <percentage> | <number> | auto",max:4},"border-left":"<border-width> || <border-style> || <color>","border-left-color":"<color> | inherit","border-left-style":"<border-style>","border-left-width":"<border-width>","border-radius":function(e){var t=!1,n="<length> | <percentage> | inherit",r=!1,i=!1,s=0,o=8,u;while(e.hasNext()&&s<o){t=ValidationTypes.isAny(e,n);if(!t){if(!(e.peek()=="/"&&s>0&&!r))break;r=!0,o=s+5,e.next()}s++}if(e.hasNext())throw u=e.next(),t?new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col):new ValidationError("Expected (<'border-radius'>) but found '"+u+"'.",u.line,u.col)},"border-right":"<border-width> || <border-style> || <color>","border-right-color":"<color> | inherit","border-right-style":"<border-style>","border-right-width":"<border-width>","border-spacing":{multi:"<length> | inherit",max:2},"border-style":{multi:"<border-style>",max:4},"border-top":"<border-width> || <border-style> || <color>","border-top-color":"<color> | inherit","border-top-left-radius":"<x-one-radius>","border-top-right-radius":"<x-one-radius>","border-top-style":"<border-style>","border-top-width":"<border-width>","border-width":{multi:"<border-width>",max:4},bottom:"<margin-width> | inherit","-moz-box-align":"start | end | center | baseline | stretch","-moz-box-decoration-break":"slice |clone","-moz-box-direction":"normal | reverse | inherit","-moz-box-flex":"<number>","-moz-box-flex-group":"<integer>","-moz-box-lines":"single | multiple","-moz-box-ordinal-group":"<integer>","-moz-box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","-moz-box-pack":"start | end | center | justify","-webkit-box-align":"start | end | center | baseline | stretch","-webkit-box-decoration-break":"slice |clone","-webkit-box-direction":"normal | reverse | inherit","-webkit-box-flex":"<number>","-webkit-box-flex-group":"<integer>","-webkit-box-lines":"single | multiple","-webkit-box-ordinal-group":"<integer>","-webkit-box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","-webkit-box-pack":"start | end | center | justify","box-shadow":function(e){var t=!1,n;if(!ValidationTypes.isAny(e,"none"))Validation.multiProperty("<shadow>",e,!0,Infinity);else if(e.hasNext())throw n=e.next(),new ValidationError("Expected end of value but found '"+n+"'.",n.line,n.col)},"box-sizing":"content-box | border-box | inherit","break-after":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-before":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-inside":"auto | avoid | avoid-page | avoid-column","caption-side":"top | bottom | inherit",clear:"none | right | left | both | inherit",clip:1,color:"<color> | inherit","color-profile":1,"column-count":"<integer> | auto","column-fill":"auto | balance","column-gap":"<length> | normal","column-rule":"<border-width> || <border-style> || <color>","column-rule-color":"<color>","column-rule-style":"<border-style>","column-rule-width":"<border-width>","column-span":"none | all","column-width":"<length> | auto",columns:1,content:1,"counter-increment":1,"counter-reset":1,crop:"<shape> | auto",cue:"cue-after | cue-before | inherit","cue-after":1,"cue-before":1,cursor:1,direction:"ltr | rtl | inherit",display:"inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | grid | inline-grid | none | inherit | -moz-box | -moz-inline-block | -moz-inline-box | -moz-inline-grid | -moz-inline-stack | -moz-inline-table | -moz-grid | -moz-grid-group | -moz-grid-line | -moz-groupbox | -moz-deck | -moz-popup | -moz-stack | -moz-marker | -webkit-box | -webkit-inline-box | -ms-flexbox | -ms-inline-flexbox | flex | -webkit-flex | inline-flex | -webkit-inline-flex","dominant-baseline":1,"drop-initial-after-adjust":"central | middle | after-edge | text-after-edge | ideographic | alphabetic | mathematical | <percentage> | <length>","drop-initial-after-align":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-before-adjust":"before-edge | text-before-edge | central | middle | hanging | mathematical | <percentage> | <length>","drop-initial-before-align":"caps-height | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-size":"auto | line | <length> | <percentage>","drop-initial-value":"initial | <integer>",elevation:"<angle> | below | level | above | higher | lower | inherit","empty-cells":"show | hide | inherit",filter:1,fit:"fill | hidden | meet | slice","fit-position":1,flex:"<flex>","flex-basis":"<width>","flex-direction":"row | row-reverse | column | column-reverse","flex-flow":"<flex-direction> || <flex-wrap>","flex-grow":"<number>","flex-shrink":"<number>","flex-wrap":"nowrap | wrap | wrap-reverse","-webkit-flex":"<flex>","-webkit-flex-basis":"<width>","-webkit-flex-direction":"row | row-reverse | column | column-reverse","-webkit-flex-flow":"<flex-direction> || <flex-wrap>","-webkit-flex-grow":"<number>","-webkit-flex-shrink":"<number>","-webkit-flex-wrap":"nowrap | wrap | wrap-reverse","-ms-flex":"<flex>","-ms-flex-align":"start | end | center | stretch | baseline","-ms-flex-direction":"row | row-reverse | column | column-reverse | inherit","-ms-flex-order":"<number>","-ms-flex-pack":"start | end | center | justify","-ms-flex-wrap":"nowrap | wrap | wrap-reverse","float":"left | right | none | inherit","float-offset":1,font:1,"font-family":1,"font-size":"<absolute-size> | <relative-size> | <length> | <percentage> | inherit","font-size-adjust":"<number> | none | inherit","font-stretch":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit","font-style":"normal | italic | oblique | inherit","font-variant":"normal | small-caps | inherit","font-weight":"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit","grid-cell-stacking":"columns | rows | layer","grid-column":1,"grid-columns":1,"grid-column-align":"start | end | center | stretch","grid-column-sizing":1,"grid-column-span":"<integer>","grid-flow":"none | rows | columns","grid-layer":"<integer>","grid-row":1,"grid-rows":1,"grid-row-align":"start | end | center | stretch","grid-row-span":"<integer>","grid-row-sizing":1,"hanging-punctuation":1,height:"<margin-width> | <content-sizing> | inherit","hyphenate-after":"<integer> | auto","hyphenate-before":"<integer> | auto","hyphenate-character":"<string> | auto","hyphenate-lines":"no-limit | <integer>","hyphenate-resource":1,hyphens:"none | manual | auto",icon:1,"image-orientation":"angle | auto","image-rendering":1,"image-resolution":1,"inline-box-align":"initial | last | <integer>","justify-content":"flex-start | flex-end | center | space-between | space-around","-webkit-justify-content":"flex-start | flex-end | center | space-between | space-around",left:"<margin-width> | inherit","letter-spacing":"<length> | normal | inherit","line-height":"<number> | <length> | <percentage> | normal | inherit","line-break":"auto | loose | normal | strict","line-stacking":1,"line-stacking-ruby":"exclude-ruby | include-ruby","line-stacking-shift":"consider-shifts | disregard-shifts","line-stacking-strategy":"inline-line-height | block-line-height | max-height | grid-height","list-style":1,"list-style-image":"<uri> | none | inherit","list-style-position":"inside | outside | inherit","list-style-type":"disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit",margin:{multi:"<margin-width> | inherit",max:4},"margin-bottom":"<margin-width> | inherit","margin-left":"<margin-width> | inherit","margin-right":"<margin-width> | inherit","margin-top":"<margin-width> | inherit",mark:1,"mark-after":1,"mark-before":1,marks:1,"marquee-direction":1,"marquee-play-count":1,"marquee-speed":1,"marquee-style":1,"max-height":"<length> | <percentage> | <content-sizing> | none | inherit","max-width":"<length> | <percentage> | <content-sizing> | none | inherit","min-height":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats | inherit","min-width":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats | inherit","move-to":1,"nav-down":1,"nav-index":1,"nav-left":1,"nav-right":1,"nav-up":1,opacity:"<number> | inherit",order:"<integer>","-webkit-order":"<integer>",orphans:"<integer> | inherit",outline:1,"outline-color":"<color> | invert | inherit","outline-offset":1,"outline-style":"<border-style> | inherit","outline-width":"<border-width> | inherit",overflow:"visible | hidden | scroll | auto | inherit","overflow-style":1,"overflow-wrap":"normal | break-word","overflow-x":1,"overflow-y":1,padding:{multi:"<padding-width> | inherit",max:4},"padding-bottom":"<padding-width> | inherit","padding-left":"<padding-width> | inherit","padding-right":"<padding-width> | inherit","padding-top":"<padding-width> | inherit",page:1,"page-break-after":"auto | always | avoid | left | right | inherit","page-break-before":"auto | always | avoid | left | right | inherit","page-break-inside":"auto | avoid | inherit","page-policy":1,pause:1,"pause-after":1,"pause-before":1,perspective:1,"perspective-origin":1,phonemes:1,pitch:1,"pitch-range":1,"play-during":1,"pointer-events":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",position:"static | relative | absolute | fixed | inherit","presentation-level":1,"punctuation-trim":1,quotes:1,"rendering-intent":1,resize:1,rest:1,"rest-after":1,"rest-before":1,richness:1,right:"<margin-width> | inherit",rotation:1,"rotation-point":1,"ruby-align":1,"ruby-overhang":1,"ruby-position":1,"ruby-span":1,size:1,speak:"normal | none | spell-out | inherit","speak-header":"once | always | inherit","speak-numeral":"digits | continuous | inherit","speak-punctuation":"code | none | inherit","speech-rate":1,src:1,stress:1,"string-set":1,"table-layout":"auto | fixed | inherit","tab-size":"<integer> | <length>",target:1,"target-name":1,"target-new":1,"target-position":1,"text-align":"left | right | center | justify | inherit","text-align-last":1,"text-decoration":1,"text-emphasis":1,"text-height":1,"text-indent":"<length> | <percentage> | inherit","text-justify":"auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida","text-outline":1,"text-overflow":1,"text-rendering":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit","text-shadow":1,"text-transform":"capitalize | uppercase | lowercase | none | inherit","text-wrap":"normal | none | avoid",top:"<margin-width> | inherit","-ms-touch-action":"auto | none | pan-x | pan-y","touch-action":"auto | none | pan-x | pan-y",transform:1,"transform-origin":1,"transform-style":1,transition:1,"transition-delay":1,"transition-duration":1,"transition-property":1,"transition-timing-function":1,"unicode-bidi":"normal | embed | isolate | bidi-override | isolate-override | plaintext | inherit","user-modify":"read-only | read-write | write-only | inherit","user-select":"none | text | toggle | element | elements | all | inherit","vertical-align":"auto | use-script | baseline | sub | super | top | text-top | central | middle | bottom | text-bottom | <percentage> | <length>",visibility:"visible | hidden | collapse | inherit","voice-balance":1,"voice-duration":1,"voice-family":1,"voice-pitch":1,"voice-pitch-range":1,"voice-rate":1,"voice-stress":1,"voice-volume":1,volume:1,"white-space":"normal | pre | nowrap | pre-wrap | pre-line | inherit | -pre-wrap | -o-pre-wrap | -moz-pre-wrap | -hp-pre-wrap","white-space-collapse":1,widows:"<integer> | inherit",width:"<length> | <percentage> | <content-sizing> | auto | inherit","word-break":"normal | keep-all | break-all","word-spacing":"<length> | normal | inherit","word-wrap":"normal | break-word","writing-mode":"horizontal-tb | vertical-rl | vertical-lr | lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb | inherit","z-index":"<integer> | auto | inherit",zoom:"<number> | <percentage> | normal"};PropertyName.prototype=new SyntaxUnit,PropertyName.prototype.constructor=PropertyName,PropertyName.prototype.toString=function(){return(this.hack?this.hack:"")+this.text},PropertyValue.prototype=new SyntaxUnit,PropertyValue.prototype.constructor=PropertyValue,PropertyValueIterator.prototype.count=function(){return this._parts.length},PropertyValueIterator.prototype.isFirst=function(){return this._i===0},PropertyValueIterator.prototype.hasNext=function(){return this._i<this._parts.length},PropertyValueIterator.prototype.mark=function(){this._marks.push(this._i)},PropertyValueIterator.prototype.peek=function(e){return this.hasNext()?this._parts[this._i+(e||0)]:null},PropertyValueIterator.prototype.next=function(){return this.hasNext()?this._parts[this._i++]:null},PropertyValueIterator.prototype.previous=function(){return this._i>0?this._parts[--this._i]:null},PropertyValueIterator.prototype.restore=function(){this._marks.length&&(this._i=this._marks.pop())},PropertyValuePart.prototype=new SyntaxUnit,PropertyValuePart.prototype.constructor=PropertyValuePart,PropertyValuePart.fromToken=function(e){return new PropertyValuePart(e.value,e.startLine,e.startCol)};var Pseudos={":first-letter":1,":first-line":1,":before":1,":after":1};Pseudos.ELEMENT=1,Pseudos.CLASS=2,Pseudos.isElement=function(e){return e.indexOf("::")===0||Pseudos[e.toLowerCase()]==Pseudos.ELEMENT},Selector.prototype=new SyntaxUnit,Selector.prototype.constructor=Selector,SelectorPart.prototype=new SyntaxUnit,SelectorPart.prototype.constructor=SelectorPart,SelectorSubPart.prototype=new SyntaxUnit,SelectorSubPart.prototype.constructor=SelectorSubPart,Specificity.prototype={constructor:Specificity,compare:function(e){var t=["a","b","c","d"],n,r;for(n=0,r=t.length;n<r;n++){if(this[t[n]]<e[t[n]])return-1;if(this[t[n]]>e[t[n]])return 1}return 0},valueOf:function(){return this.a*1e3+this.b*100+this.c*10+this.d},toString:function(){return this.a+","+this.b+","+this.c+","+this.d}},Specificity.calculate=function(e){function u(e){var t,n,r,a,f=e.elementName?e.elementName.text:"",l;f&&f.charAt(f.length-1)!="*"&&o++;for(t=0,r=e.modifiers.length;t<r;t++){l=e.modifiers[t];switch(l.type){case"class":case"attribute":s++;break;case"id":i++;break;case"pseudo":Pseudos.isElement(l.text)?o++:s++;break;case"not":for(n=0,a=l.args.length;n<a;n++)u(l.args[n])}}}var t,n,r,i=0,s=0,o=0;for(t=0,n=e.parts.length;t<n;t++)r=e.parts[t],r instanceof SelectorPart&&u(r);return new Specificity(0,i,s,o)};var h=/^[0-9a-fA-F]$/,nonascii=/^[\u0080-\uFFFF]$/,nl=/\n|\r\n|\r|\f/;TokenStream.prototype=mix(new TokenStreamBase,{_getToken:function(e){var t,n=this._reader,r=null,i=n.getLine(),s=n.getCol();t=n.read();while(t){switch(t){case"/":n.peek()=="*"?r=this.commentToken(t,i,s):r=this.charToken(t,i,s);break;case"|":case"~":case"^":case"$":case"*":n.peek()=="="?r=this.comparisonToken(t,i,s):r=this.charToken(t,i,s);break;case'"':case"'":r=this.stringToken(t,i,s);break;case"#":isNameChar(n.peek())?r=this.hashToken(t,i,s):r=this.charToken(t,i,s);break;case".":isDigit(n.peek())?r=this.numberToken(t,i,s):r=this.charToken(t,i,s);break;case"-":n.peek()=="-"?r=this.htmlCommentEndToken(t,i,s):isNameStart(n.peek())?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s);break;case"!":r=this.importantToken(t,i,s);break;case"@":r=this.atRuleToken(t,i,s);break;case":":r=this.notToken(t,i,s);break;case"<":r=this.htmlCommentStartToken(t,i,s);break;case"U":case"u":if(n.peek()=="+"){r=this.unicodeRangeToken(t,i,s);break};default:isDigit(t)?r=this.numberToken(t,i,s):isWhitespace(t)?r=this.whitespaceToken(t,i,s):isIdentStart(t)?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s)}break}return!r&&t===null&&(r=this.createToken(Tokens.EOF,null,i,s)),r},createToken:function(e,t,n,r,i){var s=this._reader;return i=i||{},{value:t,type:e,channel:i.channel,endChar:i.endChar,hide:i.hide||!1,startLine:n,startCol:r,endLine:s.getLine(),endCol:s.getCol()}},atRuleToken:function(e,t,n){var r=e,i=this._reader,s=Tokens.CHAR,o=!1,u,a;i.mark(),u=this.readName(),r=e+u,s=Tokens.type(r.toLowerCase());if(s==Tokens.CHAR||s==Tokens.UNKNOWN)r.length>1?s=Tokens.UNKNOWN_SYM:(s=Tokens.CHAR,r=e,i.reset());return this.createToken(s,r,t,n)},charToken:function(e,t,n){var r=Tokens.type(e),i={};return r==-1?r=Tokens.CHAR:i.endChar=Tokens[r].endChar,this.createToken(r,e,t,n,i)},commentToken:function(e,t,n){var r=this._reader,i=this.readComment(e);return this.createToken(Tokens.COMMENT,i,t,n)},comparisonToken:function(e,t,n){var r=this._reader,i=e+r.read(),s=Tokens.type(i)||Tokens.CHAR;return this.createToken(s,i,t,n)},hashToken:function(e,t,n){var r=this._reader,i=this.readName(e);return this.createToken(Tokens.HASH,i,t,n)},htmlCommentStartToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(3),i=="<!--"?this.createToken(Tokens.CDO,i,t,n):(r.reset(),this.charToken(e,t,n))},htmlCommentEndToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(2),i=="-->"?this.createToken(Tokens.CDC,i,t,n):(r.reset(),this.charToken(e,t,n))},identOrFunctionToken:function(e,t,n){var r=this._reader,i=this.readName(e),s=Tokens.IDENT;return r.peek()=="("?(i+=r.read(),i.toLowerCase()=="url("?(s=Tokens.URI,i=this.readURI(i),i.toLowerCase()=="url("&&(s=Tokens.FUNCTION)):s=Tokens.FUNCTION):r.peek()==":"&&i.toLowerCase()=="progid"&&(i+=r.readTo("("),s=Tokens.IE_FUNCTION),this.createToken(s,i,t,n)},importantToken:function(e,t,n){var r=this._reader,i=e,s=Tokens.CHAR,o,u;r.mark(),u=r.read();while(u){if(u=="/"){if(r.peek()!="*")break;o=this.readComment(u);if(o==="")break}else{if(!isWhitespace(u)){if(/i/i.test(u)){o=r.readCount(8),/mportant/i.test(o)&&(i+=u+o,s=Tokens.IMPORTANT_SYM);break}break}i+=u+this.readWhitespace()}u=r.read()}return s==Tokens.CHAR?(r.reset(),this.charToken(e,t,n)):this.createToken(s,i,t,n)},notToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(4),i.toLowerCase()==":not("?this.createToken(Tokens.NOT,i,t,n):(r.reset(),this.charToken(e,t,n))},numberToken:function(e,t,n){var r=this._reader,i=this.readNumber(e),s,o=Tokens.NUMBER,u=r.peek();return isIdentStart(u)?(s=this.readName(r.read()),i+=s,/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(s)?o=Tokens.LENGTH:/^deg|^rad$|^grad$/i.test(s)?o=Tokens.ANGLE:/^ms$|^s$/i.test(s)?o=Tokens.TIME:/^hz$|^khz$/i.test(s)?o=Tokens.FREQ:/^dpi$|^dpcm$/i.test(s)?o=Tokens.RESOLUTION:o=Tokens.DIMENSION):u=="%"&&(i+=r.read(),o=Tokens.PERCENTAGE),this.createToken(o,i,t,n)},stringToken:function(e,t,n){var r=e,i=e,s=this._reader,o=e,u=Tokens.STRING,a=s.read();while(a){i+=a;if(a==r&&o!="\\")break;if(isNewLine(s.peek())&&a!="\\"){u=Tokens.INVALID;break}o=a,a=s.read()}return a===null&&(u=Tokens.INVALID),this.createToken(u,i,t,n)},unicodeRangeToken:function(e,t,n){var r=this._reader,i=e,s,o=Tokens.CHAR;return r.peek()=="+"&&(r.mark(),i+=r.read(),i+=this.readUnicodeRangePart(!0),i.length==2?r.reset():(o=Tokens.UNICODE_RANGE,i.indexOf("?")==-1&&r.peek()=="-"&&(r.mark(),s=r.read(),s+=this.readUnicodeRangePart(!1),s.length==1?r.reset():i+=s))),this.createToken(o,i,t,n)},whitespaceToken:function(e,t,n){var r=this._reader,i=e+this.readWhitespace();return this.createToken(Tokens.S,i,t,n)},readUnicodeRangePart:function(e){var t=this._reader,n="",r=t.peek();while(isHexDigit(r)&&n.length<6)t.read(),n+=r,r=t.peek();if(e)while(r=="?"&&n.length<6)t.read(),n+=r,r=t.peek();return n},readWhitespace:function(){var e=this._reader,t="",n=e.peek();while(isWhitespace(n))e.read(),t+=n,n=e.peek();return t},readNumber:function(e){var t=this._reader,n=e,r=e==".",i=t.peek();while(i){if(isDigit(i))n+=t.read();else{if(i!=".")break;if(r)break;r=!0,n+=t.read()}i=t.peek()}return n},readString:function(){var e=this._reader,t=e.read(),n=t,r=t,i=e.peek();while(i){i=e.read(),n+=i;if(i==t&&r!="\\")break;if(isNewLine(e.peek())&&i!="\\"){n="";break}r=i,i=e.peek()}return i===null&&(n=""),n},readURI:function(e){var t=this._reader,n=e,r="",i=t.peek();t.mark();while(i&&isWhitespace(i))t.read(),i=t.peek();i=="'"||i=='"'?r=this.readString():r=this.readURL(),i=t.peek();while(i&&isWhitespace(i))t.read(),i=t.peek();return r===""||i!=")"?(n=e,t.reset()):n+=r+t.read(),n},readURL:function(){var e=this._reader,t="",n=e.peek();while(/^[!#$%&\\*-~]$/.test(n))t+=e.read(),n=e.peek();return t},readName:function(e){var t=this._reader,n=e||"",r=t.peek();for(;;)if(r=="\\")n+=this.readEscape(t.read()),r=t.peek();else{if(!r||!isNameChar(r))break;n+=t.read(),r=t.peek()}return n},readEscape:function(e){var t=this._reader,n=e||"",r=0,i=t.peek();if(isHexDigit(i))do n+=t.read(),i=t.peek();while(i&&isHexDigit(i)&&++r<6);return n.length==3&&/\s/.test(i)||n.length==7||n.length==1?t.read():i="",n+i},readComment:function(e){var t=this._reader,n=e||"",r=t.read();if(r=="*"){while(r){n+=r;if(n.length>2&&r=="*"&&t.peek()=="/"){n+=t.read();break}r=t.read()}return n}return""}});var Tokens=[{name:"CDO"},{name:"CDC"},{name:"S",whitespace:!0},{name:"COMMENT",comment:!0,hide:!0,channel:"comment"},{name:"INCLUDES",text:"~="},{name:"DASHMATCH",text:"|="},{name:"PREFIXMATCH",text:"^="},{name:"SUFFIXMATCH",text:"$="},{name:"SUBSTRINGMATCH",text:"*="},{name:"STRING"},{name:"IDENT"},{name:"HASH"},{name:"IMPORT_SYM",text:"@import"},{name:"PAGE_SYM",text:"@page"},{name:"MEDIA_SYM",text:"@media"},{name:"FONT_FACE_SYM",text:"@font-face"},{name:"CHARSET_SYM",text:"@charset"},{name:"NAMESPACE_SYM",text:"@namespace"},{name:"VIEWPORT_SYM",text:["@viewport","@-ms-viewport"]},{name:"UNKNOWN_SYM"},{name:"KEYFRAMES_SYM",text:["@keyframes","@-webkit-keyframes","@-moz-keyframes","@-o-keyframes"]},{name:"IMPORTANT_SYM"},{name:"LENGTH"},{name:"ANGLE"},{name:"TIME"},{name:"FREQ"},{name:"DIMENSION"},{name:"PERCENTAGE"},{name:"NUMBER"},{name:"URI"},{name:"FUNCTION"},{name:"UNICODE_RANGE"},{name:"INVALID"},{name:"PLUS",text:"+"},{name:"GREATER",text:">"},{name:"COMMA",text:","},{name:"TILDE",text:"~"},{name:"NOT"},{name:"TOPLEFTCORNER_SYM",text:"@top-left-corner"},{name:"TOPLEFT_SYM",text:"@top-left"},{name:"TOPCENTER_SYM",text:"@top-center"},{name:"TOPRIGHT_SYM",text:"@top-right"},{name:"TOPRIGHTCORNER_SYM",text:"@top-right-corner"},{name:"BOTTOMLEFTCORNER_SYM",text:"@bottom-left-corner"},{name:"BOTTOMLEFT_SYM",text:"@bottom-left"},{name:"BOTTOMCENTER_SYM",text:"@bottom-center"},{name:"BOTTOMRIGHT_SYM",text:"@bottom-right"},{name:"BOTTOMRIGHTCORNER_SYM",text:"@bottom-right-corner"},{name:"LEFTTOP_SYM",text:"@left-top"},{name:"LEFTMIDDLE_SYM",text:"@left-middle"},{name:"LEFTBOTTOM_SYM",text:"@left-bottom"},{name:"RIGHTTOP_SYM",text:"@right-top"},{name:"RIGHTMIDDLE_SYM",text:"@right-middle"},{name:"RIGHTBOTTOM_SYM",text:"@right-bottom"},{name:"RESOLUTION",state:"media"},{name:"IE_FUNCTION"},{name:"CHAR"},{name:"PIPE",text:"|"},{name:"SLASH",text:"/"},{name:"MINUS",text:"-"},{name:"STAR",text:"*"},{name:"LBRACE",endChar:"}",text:"{"},{name:"RBRACE",text:"}"},{name:"LBRACKET",endChar:"]",text:"["},{name:"RBRACKET",text:"]"},{name:"EQUALS",text:"="},{name:"COLON",text:":"},{name:"SEMICOLON",text:";"},{name:"LPAREN",endChar:")",text:"("},{name:"RPAREN",text:")"},{name:"DOT",text:"."}];(function(){var e=[],t={};Tokens.UNKNOWN=-1,Tokens.unshift({name:"EOF"});for(var n=0,r=Tokens.length;n<r;n++){e.push(Tokens[n].name),Tokens[Tokens[n].name]=n;if(Tokens[n].text)if(Tokens[n].text instanceof Array)for(var i=0;i<Tokens[n].text.length;i++)t[Tokens[n].text[i]]=n;else t[Tokens[n].text]=n}Tokens.name=function(t){return e[t]},Tokens.type=function(e){return t[e]||-1}})();var Validation={validate:function(e,t){var n=e.toString().toLowerCase(),r=t.parts,i=new PropertyValueIterator(t),s=Properties[n],o,u,a,f,l,c,h,p,d,v,m;if(!s){if(n.indexOf("-")!==0)throw new ValidationError("Unknown property '"+e+"'.",e.line,e.col)}else typeof s!="number"&&(typeof s=="string"?s.indexOf("||")>-1?this.groupProperty(s,i):this.singleProperty(s,i,1):s.multi?this.multiProperty(s.multi,i,s.comma,s.max||Infinity):typeof s=="function"&&s(i))},singleProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u;while(t.hasNext()&&o<n){i=ValidationTypes.isAny(t,e);if(!i)break;o++}if(!i)throw t.hasNext()&&!t.isFirst()?(u=t.peek(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col);if(t.hasNext())throw u=t.next(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)},multiProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u=!1,a;while(t.hasNext()&&!i&&o<r){if(!ValidationTypes.isAny(t,e))break;o++;if(!t.hasNext())i=!0;else if(n){if(t.peek()!=",")break;a=t.next()}}if(!i)throw t.hasNext()&&!t.isFirst()?(a=t.peek(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)):(a=t.previous(),n&&a==","?new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col));if(t.hasNext())throw a=t.next(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)},groupProperty:function(e,t,n){var r=!1,i=t.value,s=e.split("||").length,o={count:0},u=!1,a,f;while(t.hasNext()&&!r){a=ValidationTypes.isAnyOfGroup(t,e);if(!a)break;if(o[a])break;o[a]=1,o.count++,u=!0;if(o.count==s||!t.hasNext())r=!0}if(!r)throw u&&t.hasNext()?(f=t.peek(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)):new ValidationError("Expected ("+e+") but found '"+i+"'.",i.line,i.col);if(t.hasNext())throw f=t.next(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)}};ValidationError.prototype=new Error;var ValidationTypes={isLiteral:function(e,t){var n=e.text.toString().toLowerCase(),r=t.split(" | "),i,s,o=!1;for(i=0,s=r.length;i<s&&!o;i++)n==r[i].toLowerCase()&&(o=!0);return o},isSimple:function(e){return!!this.simple[e]},isComplex:function(e){return!!this.complex[e]},isAny:function(e,t){var n=t.split(" | "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s&&e.hasNext();r++)s=this.isType(e,n[r]);return s},isAnyOfGroup:function(e,t){var n=t.split(" || "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s;r++)s=this.isType(e,n[r]);return s?n[r-1]:!1},isType:function(e,t){var n=e.peek(),r=!1;return t.charAt(0)!="<"?(r=this.isLiteral(n,t),r&&e.next()):this.simple[t]?(r=this.simple[t](n),r&&e.next()):r=this.complex[t](e),r},simple:{"<absolute-size>":function(e){return ValidationTypes.isLiteral(e,"xx-small | x-small | small | medium | large | x-large | xx-large")},"<attachment>":function(e){return ValidationTypes.isLiteral(e,"scroll | fixed | local")},"<attr>":function(e){return e.type=="function"&&e.name=="attr"},"<bg-image>":function(e){return this["<image>"](e)||this["<gradient>"](e)||e=="none"},"<gradient>":function(e){return e.type=="function"&&/^(?:\-(?:ms|moz|o|webkit)\-)?(?:repeating\-)?(?:radial\-|linear\-)?gradient/i.test(e)},"<box>":function(e){return ValidationTypes.isLiteral(e,"padding-box | border-box | content-box")},"<content>":function(e){return e.type=="function"&&e.name=="content"},"<relative-size>":function(e){return ValidationTypes.isLiteral(e,"smaller | larger")},"<ident>":function(e){return e.type=="identifier"},"<length>":function(e){return e.type=="function"&&/^(?:\-(?:ms|moz|o|webkit)\-)?calc/i.test(e)?!0:e.type=="length"||e.type=="number"||e.type=="integer"||e=="0"},"<color>":function(e){return e.type=="color"||e=="transparent"},"<number>":function(e){return e.type=="number"||this["<integer>"](e)},"<integer>":function(e){return e.type=="integer"},"<line>":function(e){return e.type=="integer"},"<angle>":function(e){return e.type=="angle"},"<uri>":function(e){return e.type=="uri"},"<image>":function(e){return this["<uri>"](e)},"<percentage>":function(e){return e.type=="percentage"||e=="0"},"<border-width>":function(e){return this["<length>"](e)||ValidationTypes.isLiteral(e,"thin | medium | thick")},"<border-style>":function(e){return ValidationTypes.isLiteral(e,"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset")},"<content-sizing>":function(e){return ValidationTypes.isLiteral(e,"fill-available | -moz-available | -webkit-fill-available | max-content | -moz-max-content | -webkit-max-content | min-content | -moz-min-content | -webkit-min-content | fit-content | -moz-fit-content | -webkit-fit-content")},"<margin-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)||ValidationTypes.isLiteral(e,"auto")},"<padding-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)},"<shape>":function(e){return e.type=="function"&&(e.name=="rect"||e.name=="inset-rect")},"<time>":function(e){return e.type=="time"},"<flex-grow>":function(e){return this["<number>"](e)},"<flex-shrink>":function(e){return this["<number>"](e)},"<width>":function(e){return this["<margin-width>"](e)},"<flex-basis>":function(e){return this["<width>"](e)},"<flex-direction>":function(e){return ValidationTypes.isLiteral(e,"row | row-reverse | column | column-reverse")},"<flex-wrap>":function(e){return ValidationTypes.isLiteral(e,"nowrap | wrap | wrap-reverse")}},complex:{"<bg-position>":function(e){var t=this,n=!1,r="<percentage> | <length>",i="left | right",s="top | bottom",o=0,u=function(){return e.hasNext()&&e.peek()!=","};while(e.peek(o)&&e.peek(o)!=",")o++;return o<3?ValidationTypes.isAny(e,i+" | center | "+r)?(n=!0,ValidationTypes.isAny(e,s+" | center | "+r)):ValidationTypes.isAny(e,s)&&(n=!0,ValidationTypes.isAny(e,i+" | center")):ValidationTypes.isAny(e,i)?ValidationTypes.isAny(e,s)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,r)&&(ValidationTypes.isAny(e,s)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,"center")&&(n=!0)):ValidationTypes.isAny(e,s)?ValidationTypes.isAny(e,i)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,r)&&(ValidationTypes.isAny(e,i)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,"center")&&(n=!0)):ValidationTypes.isAny(e,"center")&&ValidationTypes.isAny(e,i+" | "+s)&&(n=!0,ValidationTypes.isAny(e,r)),n},"<bg-size>":function(e){var t=this,n=!1,r="<percentage> | <length> | auto",i,s,o;return ValidationTypes.isAny(e,"cover | contain")?n=!0:ValidationTypes.isAny(e,r)&&(n=!0,ValidationTypes.isAny(e,r)),n},"<repeat-style>":function(e){var t=!1,n="repeat | space | round | no-repeat",r;return e.hasNext()&&(r=e.next(),ValidationTypes.isLiteral(r,"repeat-x | repeat-y")?t=!0:ValidationTypes.isLiteral(r,n)&&(t=!0,e.hasNext()&&ValidationTypes.isLiteral(e.peek(),n)&&e.next())),t},"<shadow>":function(e){var t=!1,n=0,r=!1,i=!1,s;if(e.hasNext()){ValidationTypes.isAny(e,"inset")&&(r=!0),ValidationTypes.isAny(e,"<color>")&&(i=!0);while(ValidationTypes.isAny(e,"<length>")&&n<4)n++;e.hasNext()&&(i||ValidationTypes.isAny(e,"<color>"),r||ValidationTypes.isAny(e,"inset")),t=n>=2&&n<=4}return t},"<x-one-radius>":function(e){var t=!1,n="<length> | <percentage> | inherit";return ValidationTypes.isAny(e,n)&&(t=!0,ValidationTypes.isAny(e,n)),t},"<flex>":function(e){var t,n=!1;ValidationTypes.isAny(e,"none | inherit")?n=!0:ValidationTypes.isType(e,"<flex-grow>")?e.peek()?ValidationTypes.isType(e,"<flex-shrink>")?e.peek()?n=ValidationTypes.isType(e,"<flex-basis>"):n=!0:ValidationTypes.isType(e,"<flex-basis>")&&(n=e.peek()===null):n=!0:ValidationTypes.isType(e,"<flex-basis>")&&(n=!0);if(!n)throw t=e.peek(),new ValidationError("Expected (none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]) but found '"+e.value.text+"'.",t.line,t.col);return n}}};parserlib.css={Colors:Colors,Combinator:Combinator,Parser:Parser,PropertyName:PropertyName,PropertyValue:PropertyValue,PropertyValuePart:PropertyValuePart,MediaFeature:MediaFeature,MediaQuery:MediaQuery,Selector:Selector,SelectorPart:SelectorPart,SelectorSubPart:SelectorSubPart,Specificity:Specificity,TokenStream:TokenStream,Tokens:Tokens,ValidationError:ValidationError}}(),function(){for(var e in parserlib)exports[e]=parserlib[e]}();var util={isArray:function(e){return Array.isArray(e)||typeof e=="object"&&objectToString(e)==="[object Array]"},isDate:function(e){return typeof e=="object"&&objectToString(e)==="[object Date]"},isRegExp:function(e){return typeof e=="object"&&objectToString(e)==="[object RegExp]"},getRegExpFlags:function(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}};typeof module=="object"&&(module.exports=clone),clone.clonePrototype=function(e){if(e===null)return null;var t=function(){};return t.prototype=e,new t};var CSSLint=function(){function i(e,t){var r,i=e&&e.match(n),s=i&&i[1];return s&&(r={"true":2,"":1,"false":0,2:2,1:1,0:0},s.toLowerCase().split(",").forEach(function(e){var n=e.split(":"),i=n[0]||"",s=n[1]||"";t[i.trim()]=r[s.trim()]})),t}var e=[],t=[],n=/\/\*csslint([^\*]*)\*\//,r=new parserlib.util.EventTarget;return r.version="@VERSION@",r.addRule=function(t){e.push(t),e[t.id]=t},r.clearRules=function(){e=[]},r.getRules=function(){return[].concat(e).sort(function(e,t){return e.id>t.id?1:0})},r.getRuleset=function(){var t={},n=0,r=e.length;while(n<r)t[e[n++].id]=1;return t},r.addFormatter=function(e){t[e.id]=e},r.getFormatter=function(e){return t[e]},r.format=function(e,t,n,r){var i=this.getFormatter(n),s=null;return i&&(s=i.startFormat(),s+=i.formatResults(e,t,r||{}),s+=i.endFormat()),s},r.hasFormat=function(e){return t.hasOwnProperty(e)},r.verify=function(t,r){var s=0,o,u,a,f=new parserlib.css.Parser({starHack:!0,ieFilters:!0,underscoreHack:!0,strict:!1});u=t.replace(/\n\r?/g,"$split$").split("$split$"),r||(r=this.getRuleset()),n.test(t)&&(r=clone(r),r=i(t,r)),o=new Reporter(u,r),r.errors=2;for(s in r)r.hasOwnProperty(s)&&r[s]&&e[s]&&e[s].init(f,o);try{f.parse(t)}catch(l){o.error("Fatal error, cannot continue: "+l.message,l.line,l.col,{})}return a={messages:o.messages,stats:o.stats,ruleset:o.ruleset},a.messages.sort(function(e,t){return e.rollup&&!t.rollup?1:!e.rollup&&t.rollup?-1:e.line-t.line}),a},r}();Reporter.prototype={constructor:Reporter,error:function(e,t,n,r){this.messages.push({type:"error",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r||{}})},warn:function(e,t,n,r){this.report(e,t,n,r)},report:function(e,t,n,r){this.messages.push({type:this.ruleset[r.id]===2?"error":"warning",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},info:function(e,t,n,r){this.messages.push({type:"info",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},rollupError:function(e,t){this.messages.push({type:"error",rollup:!0,message:e,rule:t})},rollupWarn:function(e,t){this.messages.push({type:"warning",rollup:!0,message:e,rule:t})},stat:function(e,t){this.stats[e]=t}},CSSLint._Reporter=Reporter,CSSLint.Util={mix:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return n},indexOf:function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t){if(e.forEach)return e.forEach(t);for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)}},CSSLint.addRule({id:"adjoining-classes",name:"Disallow adjoining classes",desc:"Don't use adjoining classes.",browsers:"IE6",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f];for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type===e.SELECTOR_PART_TYPE){a=0;for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type==="class"&&a++,a>1&&t.report("Don't use adjoining classes.",o.line,o.col,n)}}}})}}),CSSLint.addRule({id:"box-model",name:"Beware of broken box size",desc:"Don't use width or height when using padding or border.",browsers:"All",init:function(e,t){function u(){s={},o=!1}function a(){var e,u;if(!o){if(s.height)for(e in i)i.hasOwnProperty(e)&&s[e]&&(u=s[e].value,(e!=="padding"||u.parts.length!==2||u.parts[0].value!==0)&&t.report("Using height with "+e+" can sometimes make elements larger than you expect.",s[e].line,s[e].col,n));if(s.width)for(e in r)r.hasOwnProperty(e)&&s[e]&&(u=s[e].value,(e!=="padding"||u.parts.length!==2||u.parts[1].value!==0)&&t.report("Using width with "+e+" can sometimes make elements larger than you expect.",s[e].line,s[e].col,n))}}var n=this,r={border:1,"border-left":1,"border-right":1,padding:1,"padding-left":1,"padding-right":1},i={border:1,"border-bottom":1,"border-top":1,padding:1,"padding-bottom":1,"padding-top":1},s,o=!1;e.addListener("startrule",u),e.addListener("startfontface",u),e.addListener("startpage",u),e.addListener("startpagemargin",u),e.addListener("startkeyframerule",u),e.addListener("property",function(e){var t=e.property.text.toLowerCase();i[t]||r[t]?!/^0\S*$/.test(e.value)&&(t!=="border"||e.value.toString()!=="none")&&(s[t]={line:e.property.line,col:e.property.col,value:e.value}):/^(width|height)/i.test(t)&&/^(length|percentage)/.test(e.value.parts[0].type)?s[t]=1:t==="box-sizing"&&(o=!0)}),e.addListener("endrule",a),e.addListener("endfontface",a),e.addListener("endpage",a),e.addListener("endpagemargin",a),e.addListener("endkeyframerule",a)}}),CSSLint.addRule({id:"box-sizing",name:"Disallow use of box-sizing",desc:"The box-sizing properties isn't supported in IE6 and IE7.",browsers:"IE6, IE7",tags:["Compatibility"],init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property.text.toLowerCase();r==="box-sizing"&&t.report("The box-sizing property isn't supported in IE6 and IE7.",e.line,e.col,n)})}}),CSSLint.addRule({id:"bulletproof-font-face",name:"Use the bulletproof @font-face syntax",desc:"Use the bulletproof @font-face syntax to avoid 404's in old IE (http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).",browsers:"All",init:function(e,t){var n=this,r=!1,i=!0,s=!1,o,u;e.addListener("startfontface",function(){r=!0}),e.addListener("property",function(e){if(!r)return;var t=e.property.toString().toLowerCase(),n=e.value.toString();o=e.line,u=e.col;if(t==="src"){var a=/^\s?url\(['"].+\.eot\?.*['"]\)\s*format\(['"]embedded-opentype['"]\).*$/i;!n.match(a)&&i?(s=!0,i=!1):n.match(a)&&!i&&(s=!1)}}),e.addListener("endfontface",function(){r=!1,s&&t.report("@font-face declaration doesn't follow the fontspring bulletproof syntax.",o,u,n)})}}),CSSLint.addRule({id:"compatible-vendor-prefixes",name:"Require compatible vendor prefixes",desc:"Include all compatible vendor prefixes to reach a wider range of users.",browsers:"All",init:function(e,t){var n=this,r,i,s,o,u,a,f,l=!1,c=Array.prototype.push,h=[];r={animation:"webkit moz","animation-delay":"webkit moz","animation-direction":"webkit moz","animation-duration":"webkit moz","animation-fill-mode":"webkit moz","animation-iteration-count":"webkit moz","animation-name":"webkit moz","animation-play-state":"webkit moz","animation-timing-function":"webkit moz",appearance:"webkit moz","border-end":"webkit moz","border-end-color":"webkit moz","border-end-style":"webkit moz","border-end-width":"webkit moz","border-image":"webkit moz o","border-radius":"webkit","border-start":"webkit moz","border-start-color":"webkit moz","border-start-style":"webkit moz","border-start-width":"webkit moz","box-align":"webkit moz ms","box-direction":"webkit moz ms","box-flex":"webkit moz ms","box-lines":"webkit ms","box-ordinal-group":"webkit moz ms","box-orient":"webkit moz ms","box-pack":"webkit moz ms","box-sizing":"webkit moz","box-shadow":"webkit moz","column-count":"webkit moz ms","column-gap":"webkit moz ms","column-rule":"webkit moz ms","column-rule-color":"webkit moz ms","column-rule-style":"webkit moz ms","column-rule-width":"webkit moz ms","column-width":"webkit moz ms",hyphens:"epub moz","line-break":"webkit ms","margin-end":"webkit moz","margin-start":"webkit moz","marquee-speed":"webkit wap","marquee-style":"webkit wap","padding-end":"webkit moz","padding-start":"webkit moz","tab-size":"moz o","text-size-adjust":"webkit ms",transform:"webkit moz ms o","transform-origin":"webkit moz ms o",transition:"webkit moz o","transition-delay":"webkit moz o","transition-duration":"webkit moz o","transition-property":"webkit moz o","transition-timing-function":"webkit moz o","user-modify":"webkit moz","user-select":"webkit moz ms","word-break":"epub ms","writing-mode":"epub ms"};for(s in r)if(r.hasOwnProperty(s)){o=[],u=r[s].split(" ");for(a=0,f=u.length;a<f;a++)o.push("-"+u[a]+"-"+s);r[s]=o,c.apply(h,o)}e.addListener("startrule",function(){i=[]}),e.addListener("startkeyframes",function(e){l=e.prefix||!0}),e.addListener("endkeyframes",function(){l=!1}),e.addListener("property",function(e){var t=e.property;CSSLint.Util.indexOf(h,t.text)>-1&&(!l||typeof l!="string"||t.text.indexOf("-"+l+"-")!==0)&&i.push(t)}),e.addListener("endrule",function(){if(!i.length)return;var e={},s,o,u,a,f,l,c,h,p,d;for(s=0,o=i.length;s<o;s++){u=i[s];for(a in r)r.hasOwnProperty(a)&&(f=r[a],CSSLint.Util.indexOf(f,u.text)>-1&&(e[a]||(e[a]={full:f.slice(0),actual:[],actualNodes:[]}),CSSLint.Util.indexOf(e[a].actual,u.text)===-1&&(e[a].actual.push(u.text),e[a].actualNodes.push(u))))}for(a in e)if(e.hasOwnProperty(a)){l=e[a],c=l.full,h=l.actual;if(c.length>h.length)for(s=0,o=c.length;s<o;s++)p=c[s],CSSLint.Util.indexOf(h,p)===-1&&(d=h.length===1?h[0]:h.length===2?h.join(" and "):h.join(", "),t.report("The property "+p+" is compatible with "+d+" and should be included as well.",l.actualNodes[0].line,l.actualNodes[0].col,n))}})}}),CSSLint.addRule({id:"display-property-grouping",name:"Require properties appropriate for display",desc:"Certain properties shouldn't be used with certain display property values.",browsers:"All",init:function(e,t){function s(e,s,o){i[e]&&(typeof r[e]!="string"||i[e].value.toLowerCase()!==r[e])&&t.report(o||e+" can't be used with display: "+s+".",i[e].line,i[e].col,n)}function o(){i={}}function u(){var e=i.display?i.display.value:null;if(e)switch(e){case"inline":s("height",e),s("width",e),s("margin",e),s("margin-top",e),s("margin-bottom",e),s("float",e,"display:inline has no effect on floated elements (but may be used to fix the IE6 double-margin bug).");break;case"block":s("vertical-align",e);break;case"inline-block":s("float",e);break;default:e.indexOf("table-")===0&&(s("margin",e),s("margin-left",e),s("margin-right",e),s("margin-top",e),s("margin-bottom",e),s("float",e))}}var n=this,r={display:1,"float":"none",height:1,width:1,margin:1,"margin-left":1,"margin-right":1,"margin-bottom":1,"margin-top":1,padding:1,"padding-left":1,"padding-right":1,"padding-bottom":1,"padding-top":1,"vertical-align":1},i;e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startkeyframerule",o),e.addListener("startpagemargin",o),e.addListener("startpage",o),e.addListener("property",function(e){var t=e.property.text.toLowerCase();r[t]&&(i[t]={value:e.value.text,line:e.property.line,col:e.property.col})}),e.addListener("endrule",u),e.addListener("endfontface",u),e.addListener("endkeyframerule",u),e.addListener("endpagemargin",u),e.addListener("endpage",u)}}),CSSLint.addRule({id:"duplicate-background-images",name:"Disallow duplicate background images",desc:"Every background-image should be unique. Use a common class for e.g. sprites.",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("property",function(e){var i=e.property.text,s=e.value,o,u;if(i.match(/background/i))for(o=0,u=s.parts.length;o<u;o++)s.parts[o].type==="uri"&&(typeof r[s.parts[o].uri]=="undefined"?r[s.parts[o].uri]=e:t.report("Background image '"+s.parts[o].uri+"' was used multiple times, first declared at line "+r[s.parts[o].uri].line+", col "+r[s.parts[o].uri].col+".",e.line,e.col,n))})}}),CSSLint.addRule({id:"duplicate-properties",name:"Disallow duplicate properties",desc:"Duplicate properties must appear one after the other.",browsers:"All",init:function(e,t){function s(){r={}}var n=this,r,i;e.addListener("startrule",s),e.addListener("startfontface",s),e.addListener("startpage",s),e.addListener("startpagemargin",s),e.addListener("startkeyframerule",s),e.addListener("property",function(e){var s=e.property,o=s.text.toLowerCase();r[o]&&(i!==o||r[o]===e.value.text)&&t.report("Duplicate property '"+e.property+"' found.",e.line,e.col,n),r[o]=e.value.text,i=o})}}),CSSLint.addRule({id:"empty-rules",name:"Disallow empty rules",desc:"Rules without any properties specified should be removed.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r=0}),e.addListener("property",function(){r++}),e.addListener("endrule",function(e){var i=e.selectors;r===0&&t.report("Rule is empty.",i[0].line,i[0].col,n)})}}),CSSLint.addRule({id:"errors",name:"Parsing Errors",desc:"This rule looks for recoverable syntax errors.",browsers:"All",init:function(e,t){var n=this;e.addListener("error",function(e){t.error(e.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"fallback-colors",name:"Require fallback colors",desc:"For older browsers that don't support RGBA, HSL, or HSLA, provide a fallback color.",browsers:"IE6,IE7,IE8",init:function(e,t){function o(){s={},r=null}var n=this,r,i={color:1,background:1,"border-color":1,"border-top-color":1,"border-right-color":1,"border-bottom-color":1,"border-left-color":1,border:1,"border-top":1,"border-right":1,"border-bottom":1,"border-left":1,"background-color":1},s;e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startpage",o),e.addListener("startpagemargin",o),e.addListener("startkeyframerule",o),e.addListener("property",function(e){var s=e.property,o=s.text.toLowerCase(),u=e.value.parts,a=0,f="",l=u.length;if(i[o])while(a<l)u[a].type==="color"&&("alpha"in u[a]||"hue"in u[a]?(/([^\)]+)\(/.test(u[a])&&(f=RegExp.$1.toUpperCase()),(!r||r.property.text.toLowerCase()!==o||r.colorType!=="compat")&&t.report("Fallback "+o+" (hex or RGB) should precede "+f+" "+o+".",e.line,e.col,n)):e.colorType="compat"),a++;r=e})}}),CSSLint.addRule({id:"floats",name:"Disallow too many floats",desc:"This rule tests if the float property is used too many times",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property.text.toLowerCase()==="float"&&e.value.text.toLowerCase()!=="none"&&r++}),e.addListener("endstylesheet",function(){t.stat("floats",r),r>=10&&t.rollupWarn("Too many floats ("+r+"), you're probably using them for layout. Consider using a grid system instead.",n)})}}),CSSLint.addRule({id:"font-faces",name:"Don't use too many web fonts",desc:"Too many different web fonts in the same stylesheet.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startfontface",function(){r++}),e.addListener("endstylesheet",function(){r>5&&t.rollupWarn("Too many @font-face declarations ("+r+").",n)})}}),CSSLint.addRule({id:"font-sizes",name:"Disallow too many font sizes",desc:"Checks the number of font-size declarations.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property.toString()==="font-size"&&r++}),e.addListener("endstylesheet",function(){t.stat("font-sizes",r),r>=10&&t.rollupWarn("Too many font-size declarations ("+r+"), abstraction needed.",n)})}}),CSSLint.addRule({id:"gradients",name:"Require all gradient definitions",desc:"When using a vendor-prefixed gradient, make sure to use them all.",browsers:"All",init:function(e,t){var n=this,r;e.addListener("startrule",function(){r={moz:0,webkit:0,oldWebkit:0,o:0}}),e.addListener("property",function(e){/\-(moz|o|webkit)(?:\-(?:linear|radial))\-gradient/i.test(e.value)?r[RegExp.$1]=1:/\-webkit\-gradient/i.test(e.value)&&(r.oldWebkit=1)}),e.addListener("endrule",function(e){var i=[];r.moz||i.push("Firefox 3.6+"),r.webkit||i.push("Webkit (Safari 5+, Chrome)"),r.oldWebkit||i.push("Old Webkit (Safari 4+, Chrome)"),r.o||i.push("Opera 11.1+"),i.length&&i.length<4&&t.report("Missing vendor-prefixed CSS gradients for "+i.join(", ")+".",e.selectors[0].line,e.selectors[0].col,n)})}}),CSSLint.addRule({id:"ids",name:"Disallow IDs in selectors",desc:"Selectors should not contain IDs.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f],a=0;for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type===e.SELECTOR_PART_TYPE)for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type==="id"&&a++}a===1?t.report("Don't use IDs in selectors.",s.line,s.col,n):a>1&&t.report(a+" IDs in the selector, really?",s.line,s.col,n)}})}}),CSSLint.addRule({id:"import",name:"Disallow @import",desc:"Don't use @import, use <link> instead.",browsers:"All",init:function(e,t){var n=this;e.addListener("import",function(e){t.report("@import prevents parallel downloads, use <link> instead.",e.line,e.col,n)})}}),CSSLint.addRule({id:"important",name:"Disallow !important",desc:"Be careful when using !important declaration",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.important===!0&&(r++,t.report("Use of !important",e.line,e.col,n))}),e.addListener("endstylesheet",function(){t.stat("important",r),r>=10&&t.rollupWarn("Too many !important declarations ("+r+"), try to use less than 10 to avoid specificity issues.",n)})}}),CSSLint.addRule({id:"known-properties",name:"Require use of known properties",desc:"Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){e.invalid&&t.report(e.invalid.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"order-alphabetical",name:"Alphabetical order",desc:"Assure properties are in alphabetical order",browsers:"All",init:function(e,t){var n=this,r,i=function(){r=[]};e.addListener("startrule",i),e.addListener("startfontface",i),e.addListener("startpage",i),e.addListener("startpagemargin",i),e.addListener("startkeyframerule",i),e.addListener("property",function(e){var t=e.property.text,n=t.toLowerCase().replace(/^-.*?-/,"");r.push(n)}),e.addListener("endrule",function(e){var i=r.join(","),s=r.sort().join(",");i!==s&&t.report("Rule doesn't have all its properties in alphabetical ordered.",e.line,e.col,n)})}}),CSSLint.addRule({id:"outline-none",name:"Disallow outline: none",desc:"Use of outline: none or outline: 0 should be limited to :focus rules.",browsers:"All",tags:["Accessibility"],init:function(e,t){function i(e){e.selectors?r={line:e.line,col:e.col,selectors:e.selectors,propCount:0,outline:!1}:r=null}function s(){r&&r.outline&&(r.selectors.toString().toLowerCase().indexOf(":focus")===-1?t.report("Outlines should only be modified using :focus.",r.line,r.col,n):r.propCount===1&&t.report("Outlines shouldn't be hidden unless other visual changes are made.",r.line,r.col,n))}var n=this,r;e.addListener("startrule",i),e.addListener("startfontface",i),e.addListener("startpage",i),e.addListener("startpagemargin",i),e.addListener("startkeyframerule",i),e.addListener("property",function(e){var t=e.property.text.toLowerCase(),n=e.value;r&&(r.propCount++,t==="outline"&&(n.toString()==="none"||n.toString()==="0")&&(r.outline=!0))}),e.addListener("endrule",s),e.addListener("endfontface",s),e.addListener("endpage",s),e.addListener("endpagemargin",s),e.addListener("endkeyframerule",s)}}),CSSLint.addRule({id:"overqualified-elements",name:"Disallow overqualified elements",desc:"Don't use classes or IDs with elements (a.foo or a#foo).",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("startrule",function(i){var s=i.selectors,o,u,a,f,l,c;for(f=0;f<s.length;f++){o=s[f];for(l=0;l<o.parts.length;l++){u=o.parts[l];if(u.type===e.SELECTOR_PART_TYPE)for(c=0;c<u.modifiers.length;c++)a=u.modifiers[c],u.elementName&&a.type==="id"?t.report("Element ("+u+") is overqualified, just use "+a+" without element name.",u.line,u.col,n):a.type==="class"&&(r[a]||(r[a]=[]),r[a].push({modifier:a,part:u}))}}}),e.addListener("endstylesheet",function(){var e;for(e in r)r.hasOwnProperty(e)&&r[e].length===1&&r[e][0].part.elementName&&t.report("Element ("+r[e][0].part+") is overqualified, just use "+r[e][0].modifier+" without element name.",r[e][0].part.line,r[e][0].part.col,n)})}}),CSSLint.addRule({id:"qualified-headings",name:"Disallow qualified headings",desc:"Headings should not be qualified (namespaced).",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a;for(u=0;u<i.length;u++){s=i[u];for(a=0;a<s.parts.length;a++)o=s.parts[a],o.type===e.SELECTOR_PART_TYPE&&o.elementName&&/h[1-6]/.test(o.elementName.toString())&&a>0&&t.report("Heading ("+o.elementName+") should not be qualified.",o.line,o.col,n)}})}}),CSSLint.addRule({id:"regex-selectors",name:"Disallow selectors that look like regexs",desc:"Selectors that look like regular expressions are slow and should be avoided.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l;for(a=0;a<i.length;a++){s=i[a];for(f=0;f<s.parts.length;f++){o=s.parts[f];if(o.type===e.SELECTOR_PART_TYPE)for(l=0;l<o.modifiers.length;l++)u=o.modifiers[l],u.type==="attribute"&&/([\~\|\^\$\*]=)/.test(u)&&t.report("Attribute selectors with "+RegExp.$1+" are slow!",u.line,u.col,n)}}})}}),CSSLint.addRule({id:"rules-count",name:"Rules Count",desc:"Track how many rules there are.",browsers:"All",init:function(e,t){var n=0;e.addListener("startrule",function(){n++}),e.addListener("endstylesheet",function(){t.stat("rule-count",n)})}}),CSSLint.addRule({id:"selector-max-approaching",name:"Warn when approaching the 4095 selector limit for IE",desc:"Will warn when selector count is >= 3800 selectors.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){r>=3800&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),CSSLint.addRule({id:"selector-max",name:"Error when past the 4095 selector limit for IE",desc:"Will error when selector count is > 4095.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){r>4095&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),CSSLint.addRule({id:"selector-newline",name:"Disallow new-line characters in selectors",desc:"New-line characters in selectors are usually a forgotten comma and not a descendant combinator.",browsers:"All",init:function(e,t){function r(e){var r,i,s,o,u,a,f,l,c,h,p,d=e.selectors;for(r=0,i=d.length;r<i;r++){s=d[r];for(o=0,a=s.parts.length;o<a;o++)for(u=o+1;u<a;u++)f=s.parts[o],l=s.parts[u],c=f.type,h=f.line,p=l.line,c==="descendant"&&p>h&&t.report("newline character found in selector (forgot a comma?)",h,d[r].parts[0].col,n)}}var n=this;e.addListener("startrule",r)}}),CSSLint.addRule({id:"shorthand",name:"Require shorthand properties",desc:"Use shorthand properties where possible.",browsers:"All",init:function(e,t){function f(){u={}}function l(e){var r,i,s,o;for(r in a)if(a.hasOwnProperty(r)){o=0;for(i=0,s=a[r].length;i<s;i++)o+=u[a[r][i]]?1:0;o===a[r].length&&t.report("The properties "+a[r].join(", ")+" can be replaced by "+r+".",e.line,e.col,n)}}var n=this,r,i,s,o={},u,a={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"]};for(r in a)if(a.hasOwnProperty(r))for(i=0,s=a[r].length;i<s;i++)o[a[r][i]]=r;e.addListener("startrule",f),e.addListener("startfontface",f),e.addListener("property",function(e){var t=e.property.toString().toLowerCase();o[t]&&(u[t]=1)}),e.addListener("endrule",l),e.addListener("endfontface",l)}}),CSSLint.addRule({id:"star-property-hack",name:"Disallow properties with a star prefix",desc:"Checks for the star property hack (targets IE6/7)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack==="*"&&t.report("Property with star prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"text-indent",name:"Disallow negative text-indent",desc:"Checks for text indent less than -99px",browsers:"All",init:function(e,t){function s(){r=!1,i="inherit"}function o(){r&&i!=="ltr"&&t.report("Negative text-indent doesn't work well with RTL. If you use text-indent for image replacement explicitly set direction for that item to ltr.",r.line,r.col,n)}var n=this,r,i;e.addListener("startrule",s),e.addListener("startfontface",s),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value;t==="text-indent"&&n.parts[0].value<-99?r=e.property:t==="direction"&&n.toString()==="ltr"&&(i="ltr")}),e.addListener("endrule",o),e.addListener("endfontface",o)}}),CSSLint.addRule({id:"underscore-property-hack",name:"Disallow properties with an underscore prefix",desc:"Checks for the underscore property hack (targets IE6)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack==="_"&&t.report("Property with underscore prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"unique-headings",name:"Headings should only be defined once",desc:"Headings should be defined only once.",browsers:"All",init:function(e,t){var n=this,r={h1:0,h2:0,h3:0,h4:0,h5:0,h6:0};e.addListener("startrule",function(e){var i=e.selectors,s,o,u,a,f;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.elementName&&/(h[1-6])/i.test(o.elementName.toString())){for(f=0;f<o.modifiers.length;f++)if(o.modifiers[f].type==="pseudo"){u=!0;break}u||(r[RegExp.$1]++,r[RegExp.$1]>1&&t.report("Heading ("+o.elementName+") has already been defined.",o.line,o.col,n))}}}),e.addListener("endstylesheet",function(){var e,i=[];for(e in r)r.hasOwnProperty(e)&&r[e]>1&&i.push(r[e]+" "+e+"s");i.length&&t.rollupWarn("You have "+i.join(", ")+" defined in this stylesheet.",n)})}}),CSSLint.addRule({id:"universal-selector",name:"Disallow universal selector",desc:"The universal selector (*) is known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(e){var r=e.selectors,i,s,o;for(o=0;o<r.length;o++)i=r[o],s=i.parts[i.parts.length-1],s.elementName==="*"&&t.report(n.desc,s.line,s.col,n)})}}),CSSLint.addRule({id:"unqualified-attributes",name:"Disallow unqualified attribute selectors",desc:"Unqualified attribute selectors are known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.type===e.SELECTOR_PART_TYPE)for(f=0;f<o.modifiers.length;f++)u=o.modifiers[f],u.type==="attribute"&&(!o.elementName||o.elementName==="*")&&t.report(n.desc,o.line,o.col,n)}})}}),CSSLint.addRule({id:"vendor-prefix",name:"Require standard property with vendor prefix",desc:"When using a vendor-prefixed property, make sure to include the standard one.",browsers:"All",init:function(e,t){function o(){r={},i=1}function u(){var e,i,o,u,a,f=[];for(e in r)s[e]&&f.push({actual:e,needed:s[e]});for(i=0,o=f.length;i<o;i++)u=f[i].needed,a=f[i].actual,r[u]?r[u][0].pos<r[a][0].pos&&t.report("Standard property '"+u+"' should come after vendor-prefixed property '"+a+"'.",r[a][0].name.line,r[a][0].name.col,n):t.report("Missing standard property '"+u+"' to go along with '"+a+"'.",r[a][0].name.line,r[a][0].name.col,n)}var n=this,r,i,s={"-webkit-border-radius":"border-radius","-webkit-border-top-left-radius":"border-top-left-radius","-webkit-border-top-right-radius":"border-top-right-radius","-webkit-border-bottom-left-radius":"border-bottom-left-radius","-webkit-border-bottom-right-radius":"border-bottom-right-radius","-o-border-radius":"border-radius","-o-border-top-left-radius":"border-top-left-radius","-o-border-top-right-radius":"border-top-right-radius","-o-border-bottom-left-radius":"border-bottom-left-radius","-o-border-bottom-right-radius":"border-bottom-right-radius","-moz-border-radius":"border-radius","-moz-border-radius-topleft":"border-top-left-radius","-moz-border-radius-topright":"border-top-right-radius","-moz-border-radius-bottomleft":"border-bottom-left-radius","-moz-border-radius-bottomright":"border-bottom-right-radius","-moz-column-count":"column-count","-webkit-column-count":"column-count","-moz-column-gap":"column-gap","-webkit-column-gap":"column-gap","-moz-column-rule":"column-rule","-webkit-column-rule":"column-rule","-moz-column-rule-style":"column-rule-style","-webkit-column-rule-style":"column-rule-style","-moz-column-rule-color":"column-rule-color","-webkit-column-rule-color":"column-rule-color","-moz-column-rule-width":"column-rule-width","-webkit-column-rule-width":"column-rule-width","-moz-column-width":"column-width","-webkit-column-width":"column-width","-webkit-column-span":"column-span","-webkit-columns":"columns","-moz-box-shadow":"box-shadow","-webkit-box-shadow":"box-shadow","-moz-transform":"transform","-webkit-transform":"transform","-o-transform":"transform","-ms-transform":"transform","-moz-transform-origin":"transform-origin","-webkit-transform-origin":"transform-origin","-o-transform-origin":"transform-origin","-ms-transform-origin":"transform-origin","-moz-box-sizing":"box-sizing","-webkit-box-sizing":"box-sizing"};e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startpage",o),e.addListener("startpagemargin",o),e.addListener("startkeyframerule",o),e.addListener("property",function(e){var t=e.property.text.toLowerCase();r[t]||(r[t]=[]),r[t].push({name:e.property,value:e.value,pos:i++})}),e.addListener("endrule",u),e.addListener("endfontface",u),e.addListener("endpage",u),e.addListener("endpagemargin",u),e.addListener("endkeyframerule",u)}}),CSSLint.addRule({id:"zero-units",name:"Disallow units for 0 values",desc:"You don't need to specify units when a value is 0.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.value.parts,i=0,s=r.length;while(i<s)(r[i].units||r[i].type==="percentage")&&r[i].value===0&&r[i].type!=="time"&&t.report("Values of 0 shouldn't have units specified.",r[i].line,r[i].col,n),i++})}}),function(){var e=function(e){return!e||e.constructor!==String?"":e.replace(/[\"&><]/g,function(e){switch(e){case'"':return"&quot;";case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;"}})};CSSLint.addFormatter({id:"checkstyle-xml",name:"Checkstyle XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><checkstyle>'},endFormat:function(){return"</checkstyle>"},readError:function(t,n){return'<file name="'+e(t)+'"><error line="0" column="0" severty="error" message="'+e(n)+'"></error></file>'},formatResults:function(t,n){var r=t.messages,i=[],s=function(e){return!!e&&"name"in e?"net.csslint."+e.name.replace(/\s/g,""):""};return r.length>0&&(i.push('<file name="'+n+'">'),CSSLint.Util.forEach(r,function(t){t.rollup||i.push('<error line="'+t.line+'" column="'+t.col+'" severity="'+t.type+'"'+' message="'+e(t.message)+'" source="'+s(t.rule)+'"/>')}),i.push("</file>")),i.join("")}})}(),CSSLint.addFormatter({id:"compact",name:"Compact, 'porcelain' format",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){var r=e.messages,i="";n=n||{};var s=function(e){return e.charAt(0).toUpperCase()+e.slice(1)};return r.length===0?n.quiet?"":t+": Lint Free!":(CSSLint.Util.forEach(r,function(e){e.rollup?i+=t+": "+s(e.type)+" - "+e.message+"\n":i+=t+": "+"line "+e.line+", col "+e.col+", "+s(e.type)+" - "+e.message+" ("+e.rule.id+")\n"}),i)}}),CSSLint.addFormatter({id:"csslint-xml",name:"CSSLint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><csslint>'},endFormat:function(){return"</csslint>"},formatResults:function(e,t){var n=e.messages,r=[],i=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return n.length>0&&(r.push('<file name="'+t+'">'),CSSLint.Util.forEach(n,function(e){e.rollup?r.push('<issue severity="'+e.type+'" reason="'+i(e.message)+'" evidence="'+i(e.evidence)+'"/>'):r.push('<issue line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'"'+' reason="'+i(e.message)+'" evidence="'+i(e.evidence)+'"/>')}),r.push("</file>")),r.join("")}}),CSSLint.addFormatter({id:"junit-xml",name:"JUNIT XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><testsuites>'},endFormat:function(){return"</testsuites>"},formatResults:function(e,t){var n=e.messages,r=[],i={error:0,failure:0},s=function(e){return!!e&&"name"in e?"net.csslint."+e.name.replace(/\s/g,""):""},o=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return n.length>0&&(n.forEach(function(e){var t=e.type==="warning"?"error":e.type;e.rollup||(r.push('<testcase time="0" name="'+s(e.rule)+'">'),r.push("<"+t+' message="'+o(e.message)+'"><![CDATA['+e.line+":"+e.col+":"+o(e.evidence)+"]]></"+t+">"),r.push("</testcase>"),i[t]+=1)}),r.unshift('<testsuite time="0" tests="'+n.length+'" skipped="0" errors="'+i.error+'" failures="'+i.failure+'" package="net.csslint" name="'+t+'">'),r.push("</testsuite>")),r.join("")}}),CSSLint.addFormatter({id:"lint-xml",name:"Lint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><lint>'},endFormat:function(){return"</lint>"},formatResults:function(e,t){var n=e.messages,r=[],i=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return n.length>0&&(r.push('<file name="'+t+'">'),CSSLint.Util.forEach(n,function(e){e.rollup?r.push('<issue severity="'+e.type+'" reason="'+i(e.message)+'" evidence="'+i(e.evidence)+'"/>'):r.push('<issue line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'"'+' reason="'+i(e.message)+'" evidence="'+i(e.evidence)+'"/>')}),r.push("</file>")),r.join("")}}),CSSLint.addFormatter({id:"text",name:"Plain Text",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){var r=e.messages,i="";n=n||{};if(r.length===0)return n.quiet?"":"\n\ncsslint: No errors in "+t+".";i="\n\ncsslint: There ",r.length===1?i+="is 1 problem":i+="are "+r.length+" problems",i+=" in "+t+".";var s=t.lastIndexOf("/"),o=t;return s===-1&&(s=t.lastIndexOf("\\")),s>-1&&(o=t.substring(s+1)),CSSLint.Util.forEach(r,function(e,t){i=i+"\n\n"+o,e.rollup?(i+="\n"+(t+1)+": "+e.type,i+="\n"+e.message):(i+="\n"+(t+1)+": "+e.type+" at line "+e.line+", col "+e.col,i+="\n"+e.message,i+="\n"+e.evidence)}),i}}),module.exports.CSSLint=CSSLint}),ace.define("ace/mode/css_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/css/csslint"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./css/csslint").CSSLint,u=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.ruleset=null,this.setDisabledRules("ids|order-alphabetical"),this.setInfoRules("adjoining-classes|qualified-headings|zero-units|gradients|import|outline-none|vendor-prefix")};r.inherits(u,s),function(){this.setInfoRules=function(e){typeof e=="string"&&(e=e.split("|")),this.infoRules=i.arrayToMap(e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.setDisabledRules=function(e){if(!e)this.ruleset=null;else{typeof e=="string"&&(e=e.split("|"));var t={};o.getRules().forEach(function(e){t[e.id]=!0}),e.forEach(function(e){delete t[e]}),this.ruleset=t}this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.onUpdate=function(){var e=this.doc.getValue();if(!e)return this.sender.emit("annotate",[]);var t=this.infoRules,n=o.verify(e,this.ruleset);this.sender.emit("annotate",n.messages.map(function(e){return{row:e.line-1,column:e.col-1,text:e.message,type:t[e.rule.id]?"info":e.type,rule:e.rule.name}}))}}.call(u.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-html.js b/library/ace/worker-html.js
new file mode 100644
index 000000000..3062f4d39
--- /dev/null
+++ b/library/ace/worker-html.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/html/saxparser",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){function r(e){if(e.namespaceURI==="http://www.w3.org/1999/xhtml")return e.localName==="applet"||e.localName==="caption"||e.localName==="marquee"||e.localName==="object"||e.localName==="table"||e.localName==="td"||e.localName==="th";if(e.namespaceURI==="http://www.w3.org/1998/Math/MathML")return e.localName==="mi"||e.localName==="mo"||e.localName==="mn"||e.localName==="ms"||e.localName==="mtext"||e.localName==="annotation-xml";if(e.namespaceURI==="http://www.w3.org/2000/svg")return e.localName==="foreignObject"||e.localName==="desc"||e.localName==="title"}function i(e){return r(e)||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="ol"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="ul"}function s(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="table"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="html"}function o(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="tbody"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="tfoot"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="thead"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="html"}function u(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="tr"||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="html"}function a(e){return r(e)||e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e.localName==="button"}function f(e){return(e.namespaceURI!=="http://www.w3.org/1999/xhtml"||e.localName!=="optgroup")&&(e.namespaceURI!=="http://www.w3.org/1999/xhtml"||e.localName!=="option")}function l(){this.elements=[],this.rootNode=null,this.headElement=null,this.bodyElement=null}l.prototype._inScope=function(e,t){for(var n=this.elements.length-1;n>=0;n--){var r=this.elements[n];if(r.localName===e)return!0;if(t(r))return!1}},l.prototype.push=function(e){this.elements.push(e)},l.prototype.pushHtmlElement=function(e){this.rootNode=e.node,this.push(e)},l.prototype.pushHeadElement=function(e){this.headElement=e.node,this.push(e)},l.prototype.pushBodyElement=function(e){this.bodyElement=e.node,this.push(e)},l.prototype.pop=function(){return this.elements.pop()},l.prototype.remove=function(e){this.elements.splice(this.elements.indexOf(e),1)},l.prototype.popUntilPopped=function(e){var t;do t=this.pop();while(t.localName!=e)},l.prototype.popUntilTableScopeMarker=function(){while(!s(this.top))this.pop()},l.prototype.popUntilTableBodyScopeMarker=function(){while(!o(this.top))this.pop()},l.prototype.popUntilTableRowScopeMarker=function(){while(!u(this.top))this.pop()},l.prototype.item=function(e){return this.elements[e]},l.prototype.contains=function(e){return this.elements.indexOf(e)!==-1},l.prototype.inScope=function(e){return this._inScope(e,r)},l.prototype.inListItemScope=function(e){return this._inScope(e,i)},l.prototype.inTableScope=function(e){return this._inScope(e,s)},l.prototype.inButtonScope=function(e){return this._inScope(e,a)},l.prototype.inSelectScope=function(e){return this._inScope(e,f)},l.prototype.hasNumberedHeaderElementInScope=function(){for(var e=this.elements.length-1;e>=0;e--){var t=this.elements[e];if(t.isNumberedHeader())return!0;if(r(t))return!1}},l.prototype.furthestBlockForFormattingElement=function(e){var t=null;for(var n=this.elements.length-1;n>=0;n--){var r=this.elements[n];if(r.node===e)break;r.isSpecial()&&(t=r)}return t},l.prototype.findIndex=function(e){for(var t=this.elements.length-1;t>=0;t--)if(this.elements[t].localName==e)return t;return-1},l.prototype.remove_openElements_until=function(e){var t=!1,n;while(!t)n=this.elements.pop(),t=e(n);return n},Object.defineProperty(l.prototype,"top",{get:function(){return this.elements[this.elements.length-1]}}),Object.defineProperty(l.prototype,"length",{get:function(){return this.elements.length}}),n.ElementStack=l},{}],2:[function(e,t,n){function o(e){return e>="0"&&e<="9"||e>="a"&&e<="z"||e>="A"&&e<="Z"}function u(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}function a(e){return e>="0"&&e<="9"}var r=e("html5-entities"),i=e("./InputStream").InputStream,s={};Object.keys(r).forEach(function(e){for(var t=0;t<e.length;t++)s[e.substring(0,t+1)]=!0});var f={};f.consumeEntity=function(e,t,n){var f="",l="",c=e.char();if(c===i.EOF)return!1;l+=c;if(c==" "||c=="\n"||c==" "||c==" "||c=="<"||c=="&")return e.unget(l),!1;if(n===c)return e.unget(l),!1;if(c=="#"){c=e.shift(1);if(c===i.EOF)return t._parseError("expected-numeric-entity-but-got-eof"),e.unget(l),!1;l+=c;var h=10,p=a;if(c=="x"||c=="X"){h=16,p=u,c=e.shift(1);if(c===i.EOF)return t._parseError("expected-numeric-entity-but-got-eof"),e.unget(l),!1;l+=c}if(p(c)){var d="";while(c!==i.EOF&&p(c))d+=c,c=e.char();d=parseInt(d,h);var v=this.replaceEntityNumbers(d);v&&(t._parseError("invalid-numeric-entity-replaced"),d=v);if(d>65535&&d<=1114111){d-=65536;var m=((1047552&d)>>10)+55296,g=(1023&d)+56320;f=String.fromCharCode(m,g)}else f=String.fromCharCode(d);return c!==";"&&(t._parseError("numeric-entity-without-semicolon"),e.unget(c)),f}return e.unget(l),t._parseError("expected-numeric-entity"),!1}if(c>="a"&&c<="z"||c>="A"&&c<="Z"){var y="";while(s[l]){r[l]&&(y=l);if(c==";")break;c=e.char();if(c===i.EOF)break;l+=c}return y?(f=r[y],c===";"||!n||!o(c)&&c!=="="?(l.length>y.length&&e.unget(l.substring(y.length)),c!==";"&&t._parseError("named-entity-without-semicolon"),f):(e.unget(l),!1)):(t._parseError("expected-named-entity"),e.unget(l),!1)}},f.replaceEntityNumbers=function(e){switch(e){case 0:return 65533;case 19:return 16;case 128:return 8364;case 129:return 129;case 130:return 8218;case 131:return 402;case 132:return 8222;case 133:return 8230;case 134:return 8224;case 135:return 8225;case 136:return 710;case 137:return 8240;case 138:return 352;case 139:return 8249;case 140:return 338;case 141:return 141;case 142:return 381;case 143:return 143;case 144:return 144;case 145:return 8216;case 146:return 8217;case 147:return 8220;case 148:return 8221;case 149:return 8226;case 150:return 8211;case 151:return 8212;case 152:return 732;case 153:return 8482;case 154:return 353;case 155:return 8250;case 156:return 339;case 157:return 157;case 158:return 382;case 159:return 376;default:if(e>=55296&&e<=57343||e>1114111)return 65533;if(e>=1&&e<=8||e>=14&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||e==11||e==65534||e==131070||e==3145726||e==196607||e==262142||e==262143||e==327678||e==327679||e==393214||e==393215||e==458750||e==458751||e==524286||e==524287||e==589822||e==589823||e==655358||e==655359||e==720894||e==720895||e==786430||e==786431||e==851966||e==851967||e==917502||e==917503||e==983038||e==983039||e==1048574||e==1048575||e==1114110||e==1114111)return e}},n.EntityParser=f},{"./InputStream":3,"html5-entities":12}],3:[function(e,t,n){function r(){this.data="",this.start=0,this.committed=0,this.eof=!1,this.lastLocation={line:0,column:0}}r.EOF=-1,r.DRAIN=-2,r.prototype={slice:function(){if(this.start>=this.data.length){if(!this.eof)throw r.DRAIN;return r.EOF}return this.data.slice(this.start,this.data.length)},"char":function(){if(!this.eof&&this.start>=this.data.length-1)throw r.DRAIN;if(this.start>=this.data.length)return r.EOF;var e=this.data[this.start++];return e==="\r"&&(e="\n"),e},advance:function(e){this.start+=e;if(this.start>=this.data.length){if(!this.eof)throw r.DRAIN;return r.EOF}this.committed>this.data.length/2&&(this.lastLocation=this.location(),this.data=this.data.slice(this.committed),this.start=this.start-this.committed,this.committed=0)},matchWhile:function(e){if(this.eof&&this.start>=this.data.length)return"";var t=new RegExp("^"+e+"+"),n=t.exec(this.slice());if(n){if(!this.eof&&n[0].length==this.data.length-this.start)throw r.DRAIN;return this.advance(n[0].length),n[0]}return""},matchUntil:function(e){var t,n;n=this.slice();if(n===r.EOF)return"";if(t=(new RegExp(e+(this.eof?"|$":""))).exec(n)){var i=this.data.slice(this.start,this.start+t.index);return this.advance(t.index),i.replace(/\r/g,"\n").replace(/\n{2,}/g,"\n")}throw r.DRAIN},append:function(e){this.data+=e},shift:function(e){if(!this.eof&&this.start+e>=this.data.length)throw r.DRAIN;if(this.eof&&this.start>=this.data.length)return r.EOF;var t=this.data.slice(this.start,this.start+e).toString();return this.advance(Math.min(e,this.data.length-this.start)),t},peek:function(e){if(!this.eof&&this.start+e>=this.data.length)throw r.DRAIN;return this.eof&&this.start>=this.data.length?r.EOF:this.data.slice(this.start,Math.min(this.start+e,this.data.length)).toString()},length:function(){return this.data.length-this.start-1},unget:function(e){if(e===r.EOF)return;this.start-=e.length},undo:function(){this.start=this.committed},commit:function(){this.committed=this.start},location:function(){var e=this.lastLocation.line,t=this.lastLocation.column,n=this.data.slice(0,this.committed),r=n.match(/\n/g),i=r?e+r.length:e,s=r?n.length-n.lastIndexOf("\n")-1:t+n.length;return{line:i,column:s}}},n.InputStream=r},{}],4:[function(e,t,n){function i(e,t,n,r){this.localName=t,this.namespaceURI=e,this.attributes=n,this.node=r}function s(e,t){for(var n=0;n<e.attributes.length;n++)if(e.attributes[n].nodeName==t)return e.attributes[n].nodeValue;return null}var r={"http://www.w3.org/1999/xhtml":["address","applet","area","article","aside","base","basefont","bgsound","blockquote","body","br","button","caption","center","col","colgroup","dd","details","dir","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","img","input","isindex","li","link","listing","main","marquee","menu","menuitem","meta","nav","noembed","noframes","noscript","object","ol","p","param","plaintext","pre","script","section","select","source","style","summary","table","tbody","td","textarea","tfoot","th","thead","title","tr","track","ul","wbr","xmp"],"http://www.w3.org/1998/Math/MathML":["mi","mo","mn","ms","mtext","annotation-xml"],"http://www.w3.org/2000/svg":["foreignObject","desc","title"]};i.prototype.isSpecial=function(){return this.namespaceURI in r&&r[this.namespaceURI].indexOf(this.localName)>-1},i.prototype.isFosterParenting=function(){return this.namespaceURI==="http://www.w3.org/1999/xhtml"?this.localName==="table"||this.localName==="tbody"||this.localName==="tfoot"||this.localName==="thead"||this.localName==="tr":!1},i.prototype.isNumberedHeader=function(){return this.namespaceURI==="http://www.w3.org/1999/xhtml"?this.localName==="h1"||this.localName==="h2"||this.localName==="h3"||this.localName==="h4"||this.localName==="h5"||this.localName==="h6":!1},i.prototype.isForeign=function(){return this.namespaceURI!="http://www.w3.org/1999/xhtml"},i.prototype.isHtmlIntegrationPoint=function(){if(this.namespaceURI==="http://www.w3.org/1998/Math/MathML"){if(this.localName!=="annotation-xml")return!1;var e=s(this,"encoding");return e?(e=e.toLowerCase(),e==="text/html"||e==="application/xhtml+xml"):!1}return this.namespaceURI==="http://www.w3.org/2000/svg"?this.localName==="foreignObject"||this.localName==="desc"||this.localName==="title":!1},i.prototype.isMathMLTextIntegrationPoint=function(){return this.namespaceURI==="http://www.w3.org/1998/Math/MathML"?this.localName==="mi"||this.localName==="mo"||this.localName==="mn"||this.localName==="ms"||this.localName==="mtext":!1},n.StackItem=i},{}],5:[function(e,t,n){function s(e){return e===" "||e==="\n"||e===" "||e==="\r"||e==="\f"}function o(e){return e>="A"&&e<="Z"||e>="a"&&e<="z"}function u(e){this._tokenHandler=e,this._state=u.DATA,this._inputStream=new r,this._currentToken=null,this._temporaryBuffer="",this._additionalAllowedCharacter=""}var r=e("./InputStream").InputStream,i=e("./EntityParser").EntityParser;u.prototype._parseError=function(e,t){this._tokenHandler.parseError(e,t)},u.prototype._emitToken=function(e){if(e.type==="StartTag")for(var t=1;t<e.data.length;t++)e.data[t].nodeName||e.data.splice(t--,1);else e.type==="EndTag"&&(e.selfClosing&&this._parseError("self-closing-flag-on-end-tag"),e.data.length!==0&&this._parseError("attributes-in-end-tag"));this._tokenHandler.processToken(e),e.type==="StartTag"&&e.selfClosing&&!this._tokenHandler.isSelfClosingFlagAcknowledged()&&this._parseError("non-void-element-with-trailing-solidus",{name:e.name})},u.prototype._emitCurrentToken=function(){this._state=u.DATA,this._emitToken(this._currentToken)},u.prototype._currentAttribute=function(){return this._currentToken.data[this._currentToken.data.length-1]},u.prototype.setState=function(e){this._state=e},u.prototype.tokenize=function(e){function n(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF",data:null}),!1;if(n==="&")t.setState(a);else if(n==="<")t.setState(j);else if(n==="\0")t._emitToken({type:"Characters",data:n}),e.commit();else{var i=e.matchUntil("&|<|\0");t._emitToken({type:"Characters",data:n+i}),e.commit()}return!0}function a(e){var r=i.consumeEntity(e,t);return t.setState(n),t._emitToken({type:"Characters",data:r||"&"}),!0}function f(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF",data:null}),!1;if(n==="&")t.setState(l);else if(n==="<")t.setState(d);else if(n==="\0")t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit();else{var i=e.matchUntil("&|<|\0");t._emitToken({type:"Characters",data:n+i}),e.commit()}return!0}function l(e){var n=i.consumeEntity(e,t);return t.setState(f),t._emitToken({type:"Characters",data:n||"&"}),!0}function c(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF",data:null}),!1;if(n==="<")t.setState(g);else if(n==="\0")t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit();else{var i=e.matchUntil("<|\0");t._emitToken({type:"Characters",data:n+i})}return!0}function h(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF",data:null}),!1;if(n==="\0")t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit();else{var i=e.matchUntil("\0");t._emitToken({type:"Characters",data:n+i})}return!0}function p(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF",data:null}),!1;if(n==="<")t.setState(w);else if(n==="\0")t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit();else{var i=e.matchUntil("<|\0");t._emitToken({type:"Characters",data:n+i})}return!0}function d(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t.setState(v)):(t._emitToken({type:"Characters",data:"<"}),e.unget(n),t.setState(f)),!0}function v(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.setState(m)):(t._emitToken({type:"Characters",data:"</"}),e.unget(n),t.setState(f)),!0}function m(e){var r=t._currentToken&&t._currentToken.name===this._temporaryBuffer.toLowerCase(),i=e.char();return s(i)&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t.setState(q)):i==="/"&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t.setState(K)):i===">"&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t._emitCurrentToken(),t.setState(n)):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:"</"+this._temporaryBuffer}),e.unget(i),t.setState(f)),!0}function g(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t.setState(y)):(t._emitToken({type:"Characters",data:"<"}),e.unget(n),t.setState(c)),!0}function y(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.setState(b)):(t._emitToken({type:"Characters",data:"</"}),e.unget(n),t.setState(c)),!0}function b(e){var r=t._currentToken&&t._currentToken.name===this._temporaryBuffer.toLowerCase(),i=e.char();return s(i)&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t.setState(q)):i==="/"&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t.setState(K)):i===">"&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t._emitCurrentToken(),t.setState(n)):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:"</"+this._temporaryBuffer}),e.unget(i),t.setState(c)),!0}function w(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t.setState(E)):n==="!"?(t._emitToken({type:"Characters",data:"<!"}),t.setState(x)):(t._emitToken({type:"Characters",data:"<"}),e.unget(n),t.setState(p)),!0}function E(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.setState(S)):(t._emitToken({type:"Characters",data:"</"}),e.unget(n),t.setState(p)),!0}function S(e){var n=t._currentToken&&t._currentToken.name===this._temporaryBuffer.toLowerCase(),r=e.char();return s(r)&&n?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(q)):r==="/"&&n?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(K)):r===">"&&n?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t._emitCurrentToken()):o(r)?(this._temporaryBuffer+=r,e.commit()):(t._emitToken({type:"Characters",data:"</"+this._temporaryBuffer}),e.unget(r),t.setState(p)),!0}function x(e){var n=e.char();return n==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(T)):(e.unget(n),t.setState(p)),!0}function T(e){var n=e.char();return n==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(k)):(e.unget(n),t.setState(p)),!0}function N(e){var i=e.char();if(i===r.EOF)e.unget(i),t.setState(n);else if(i==="-")t._emitToken({type:"Characters",data:"-"}),t.setState(C);else if(i==="<")t.setState(L);else if(i==="\0")t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit();else{var s=e.matchUntil("<|-|\0");t._emitToken({type:"Characters",data:i+s})}return!0}function C(e){var i=e.char();return i===r.EOF?(e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(k)):i==="<"?t.setState(L):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(N)):(t._emitToken({type:"Characters",data:i}),t.setState(N)),!0}function k(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="<"?t.setState(L):i===">"?(t._emitToken({type:"Characters",data:">"}),t.setState(p)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(N)):(t._emitToken({type:"Characters",data:i}),t.setState(N)),!0}function L(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t.setState(A)):o(n)?(t._emitToken({type:"Characters",data:"<"+n}),this._temporaryBuffer=n,t.setState(M)):(t._emitToken({type:"Characters",data:"<"}),e.unget(n),t.setState(N)),!0}function A(e){var n=e.char();return o(n)?(this._temporaryBuffer=n,t.setState(O)):(t._emitToken({type:"Characters",data:"</"}),e.unget(n),t.setState(N)),!0}function O(e){var r=t._currentToken&&t._currentToken.name===this._temporaryBuffer.toLowerCase(),i=e.char();return s(i)&&r?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(q)):i==="/"&&r?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(K)):i===">"&&r?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(n),t._emitCurrentToken()):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:"</"+this._temporaryBuffer}),e.unget(i),t.setState(N)),!0}function M(e){var n=e.char();return s(n)||n==="/"||n===">"?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer.toLowerCase()==="script"?t.setState(_):t.setState(N)):o(n)?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer+=n,e.commit()):(e.unget(n),t.setState(N)),!0}function _(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(D)):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit()):(t._emitToken({type:"Characters",data:i}),e.commit()),!0}function D(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(P)):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(_)):(t._emitToken({type:"Characters",data:i}),t.setState(_)),!0}function P(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),e.commit()):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i===">"?(t._emitToken({type:"Characters",data:">"}),t.setState(p)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(_)):(t._emitToken({type:"Characters",data:i}),t.setState(_)),!0}function H(e){var n=e.char();return n==="/"?(t._emitToken({type:"Characters",data:"/"}),this._temporaryBuffer="",t.setState(B)):(e.unget(n),t.setState(_)),!0}function B(e){var n=e.char();return s(n)||n==="/"||n===">"?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer.toLowerCase()==="script"?t.setState(N):t.setState(_)):o(n)?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer+=n,e.commit()):(e.unget(n),t.setState(_)),!0}function j(e){var i=e.char();return i===r.EOF?(t._parseError("bare-less-than-sign-at-eof"),t._emitToken({type:"Characters",data:"<"}),e.unget(i),t.setState(n)):o(i)?(t._currentToken={type:"StartTag",name:i.toLowerCase(),data:[]},t.setState(I)):i==="!"?t.setState(G):i==="/"?t.setState(F):i===">"?(t._parseError("expected-tag-name-but-got-right-bracket"),t._emitToken({type:"Characters",data:"<>"}),t.setState(n)):i==="?"?(t._parseError("expected-tag-name-but-got-question-mark"),e.unget(i),t.setState(Q)):(t._parseError("expected-tag-name"),t._emitToken({type:"Characters",data:"<"}),e.unget(i),t.setState(n)),!0}function F(e){var i=e.char();return i===r.EOF?(t._parseError("expected-closing-tag-but-got-eof"),t._emitToken({type:"Characters",data:"</"}),e.unget(i),t.setState(n)):o(i)?(t._currentToken={type:"EndTag",name:i.toLowerCase(),data:[]},t.setState(I)):i===">"?(t._parseError("expected-closing-tag-but-got-right-bracket"),t.setState(n)):(t._parseError("expected-closing-tag-but-got-char",{data:i}),e.unget(i),t.setState(Q)),!0}function I(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-tag-name"),e.unget(i),t.setState(n)):s(i)?t.setState(q):o(i)?t._currentToken.name+=i.toLowerCase():i===">"?t._emitCurrentToken():i==="/"?t.setState(K):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.name+="\ufffd"):t._currentToken.name+=i,e.commit(),!0}function q(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attribute-name-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;o(i)?(t._currentToken.data.push({nodeName:i.toLowerCase(),nodeValue:""}),t.setState(R)):i===">"?t._emitCurrentToken():i==="/"?t.setState(K):i==="'"||i==='"'||i==="="||i==="<"?(t._parseError("invalid-character-in-attribute-name"),t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data.push({nodeName:"\ufffd",nodeValue:""})):(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R))}return!0}function R(e){var i=e.char(),u=!0,a=!1;i===r.EOF?(t._parseError("eof-in-attribute-name"),e.unget(i),t.setState(n),a=!0):i==="="?t.setState(z):o(i)?(t._currentAttribute().nodeName+=i.toLowerCase(),u=!1):i===">"?a=!0:s(i)?t.setState(U):i==="/"?t.setState(K):i==="'"||i==='"'?(t._parseError("invalid-character-in-attribute-name"),t._currentAttribute().nodeName+=i,u=!1):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeName+="\ufffd"):(t._currentAttribute().nodeName+=i,u=!1);if(u){var f=t._currentToken.data,l=f[f.length-1];for(var c=f.length-2;c>=0;c--)if(l.nodeName===f[c].nodeName){t._parseError("duplicate-attribute",{name:l.nodeName}),l.nodeName=null;break}a&&t._emitCurrentToken()}else e.commit();return!0}function U(e){var i=e.char();if(i===r.EOF)t._parseError("expected-end-of-tag-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;i==="="?t.setState(z):i===">"?t._emitCurrentToken():o(i)?(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="/"?t.setState(K):i==="'"||i==='"'||i==="<"?(t._parseError("invalid-character-after-attribute-name"),t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data.push({nodeName:"\ufffd",nodeValue:""})):(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R))}return!0}function z(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attribute-value-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;i==='"'?t.setState(W):i==="&"?(t.setState(V),e.unget(i)):i==="'"?t.setState(X):i===">"?(t._parseError("expected-attribute-value-but-got-right-bracket"),t._emitCurrentToken()):i==="="||i==="<"||i==="`"?(t._parseError("unexpected-character-in-unquoted-attribute-value"),t._currentAttribute().nodeValue+=i,t.setState(V)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd"):(t._currentAttribute().nodeValue+=i,t.setState(V))}return!0}function W(e){var i=e.char();if(i===r.EOF)t._parseError("eof-in-attribute-value-double-quote"),e.unget(i),t.setState(n);else if(i==='"')t.setState(J);else if(i==="&")this._additionalAllowedCharacter='"',t.setState($);else if(i==="\0")t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd";else{var s=e.matchUntil('[\0"&]');i+=s,t._currentAttribute().nodeValue+=i}return!0}function X(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-attribute-value-single-quote"),e.unget(i),t.setState(n)):i==="'"?t.setState(J):i==="&"?(this._additionalAllowedCharacter="'",t.setState($)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd"):t._currentAttribute().nodeValue+=i+e.matchUntil("\0|['&]"),!0}function V(e){var i=e.char();if(i===r.EOF)t._parseError("eof-after-attribute-value"),e.unget(i),t.setState(n);else if(s(i))t.setState(q);else if(i==="&")this._additionalAllowedCharacter=">",t.setState($);else if(i===">")t._emitCurrentToken();else if(i==='"'||i==="'"||i==="="||i==="`"||i==="<")t._parseError("unexpected-character-in-unquoted-attribute-value"),t._currentAttribute().nodeValue+=i,e.commit();else if(i==="\0")t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd";else{var o=e.matchUntil("\0|[ \n \f \r&<>\"'=`]");o===r.EOF&&(t._parseError("eof-in-attribute-value-no-quotes"),t._emitCurrentToken()),e.commit(),t._currentAttribute().nodeValue+=i+o}return!0}function $(e){var n=i.consumeEntity(e,t,this._additionalAllowedCharacter);return this._currentAttribute().nodeValue+=n||"&",this._additionalAllowedCharacter==='"'?t.setState(W):this._additionalAllowedCharacter==="'"?t.setState(X):this._additionalAllowedCharacter===">"&&t.setState(V),!0}function J(e){var i=e.char();return i===r.EOF?(t._parseError("eof-after-attribute-value"),e.unget(i),t.setState(n)):s(i)?t.setState(q):i===">"?(t.setState(n),t._emitCurrentToken()):i==="/"?t.setState(K):(t._parseError("unexpected-character-after-attribute-value"),e.unget(i),t.setState(q)),!0}function K(e){var i=e.char();return i===r.EOF?(t._parseError("unexpected-eof-after-solidus-in-tag"),e.unget(i),t.setState(n)):i===">"?(t._currentToken.selfClosing=!0,t.setState(n),t._emitCurrentToken()):(t._parseError("unexpected-character-after-solidus-in-tag"),e.unget(i),t.setState(q)),!0}function Q(e){var r=e.matchUntil(">");return r=r.replace(/\u0000/g,"\ufffd"),e.char(),t._emitToken({type:"Comment",data:r}),t.setState(n),!0}function G(e){var n=e.shift(2);if(n==="--")t._currentToken={type:"Comment",data:""},t.setState(Z);else{var i=e.shift(5);if(i===r.EOF||n===r.EOF)return t._parseError("expected-dashes-or-doctype"),t.setState(Q),e.unget(n),!0;n+=i,n.toUpperCase()==="DOCTYPE"?(t._currentToken={type:"Doctype",name:"",publicId:null,systemId:null,forceQuirks:!1},t.setState(st)):t._tokenHandler.isCdataSectionAllowed()&&n==="[CDATA["?t.setState(Y):(t._parseError("expected-dashes-or-doctype"),e.unget(n),t.setState(Q))}return!0}function Y(e){var r=e.matchUntil("]]>");return e.shift(3),r&&t._emitToken({type:"Characters",data:r}),t.setState(n),!0}function Z(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(et):i===">"?(t._parseError("incorrect-comment"),t._emitToken(t._currentToken),t.setState(n)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+=i,t.setState(tt)),!0}function et(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(rt):i===">"?(t._parseError("incorrect-comment"),t._emitToken(t._currentToken),t.setState(n)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+="-"+i,t.setState(tt)),!0}function tt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(nt):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+=i,e.commit()),!0}function nt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-end-dash"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(rt):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="-\ufffd",t.setState(tt)):(t._currentToken.data+="-"+i+e.matchUntil("\0|-"),e.char()),!0}function rt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-double-dash"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i===">"?(t._emitToken(t._currentToken),t.setState(n)):i==="!"?(t._parseError("unexpected-bang-after-double-dash-in-comment"),t.setState(it)):i==="-"?(t._parseError("unexpected-dash-after-double-dash-in-comment"),t._currentToken.data+=i):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="--\ufffd",t.setState(tt)):(t._parseError("unexpected-char-in-comment"),t._currentToken.data+="--"+i,t.setState(tt)),!0}function it(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-end-bang-state"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i===">"?(t._emitToken(t._currentToken),t.setState(n)):i==="-"?(t._currentToken.data+="--!",t.setState(nt)):(t._currentToken.data+="--!"+i,t.setState(tt)),!0}function st(e){var i=e.char();return i===r.EOF?(t._parseError("expected-doctype-name-but-got-eof"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(ot):(t._parseError("need-space-after-doctype"),e.unget(i),t.setState(ot)),!0}function ot(e){var i=e.char();return i===r.EOF?(t._parseError("expected-doctype-name-but-got-eof"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)||(i===">"?(t._parseError("expected-doctype-name-but-got-right-bracket"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):(o(i)&&(i=i.toLowerCase()),t._currentToken.name=i,t.setState(ut))),!0}function ut(e){var i=e.char();return i===r.EOF?(t._currentToken.forceQuirks=!0,e.unget(i),t._parseError("eof-in-doctype-name"),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(at):i===">"?(t.setState(n),t._emitCurrentToken()):(o(i)&&(i=i.toLowerCase()),t._currentToken.name+=i,e.commit()),!0}function at(e){var i=e.char();if(i===r.EOF)t._currentToken.forceQuirks=!0,e.unget(i),t._parseError("eof-in-doctype"),t.setState(n),t._emitCurrentToken();else if(!s(i))if(i===">")t.setState(n),t._emitCurrentToken();else{if(["p","P"].indexOf(i)>-1){var o=[["u","U"],["b","B"],["l","L"],["i","I"],["c","C"]],u=o.every(function(t){return i=e.char(),t.indexOf(i)>-1});if(u)return t.setState(ft),!0}else if(["s","S"].indexOf(i)>-1){var o=[["y","Y"],["s","S"],["t","T"],["e","E"],["m","M"]],u=o.every(function(t){return i=e.char(),t.indexOf(i)>-1});if(u)return t.setState(vt),!0}e.unget(i),t._currentToken.forceQuirks=!0,i===r.EOF?(t._parseError("eof-in-doctype"),e.unget(i),t.setState(n),t._emitCurrentToken()):(t._parseError("expected-space-or-right-bracket-in-doctype",{data:i}),t.setState(wt))}return!0}function ft(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(lt):i==="'"||i==='"'?(t._parseError("unexpected-char-in-doctype"),e.unget(i),t.setState(lt)):(e.unget(i),t.setState(lt)),!0}function lt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)||(i==='"'?(t._currentToken.publicId="",t.setState(ct)):i==="'"?(t._currentToken.publicId="",t.setState(ht)):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function ct(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):i==='"'?t.setState(pt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):t._currentToken.publicId+=i,!0}function ht(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):i==="'"?t.setState(pt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):t._currentToken.publicId+=i,!0}function pt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)?t.setState(dt):i===">"?(t.setState(n),t._emitCurrentToken()):i==='"'?(t._parseError("unexpected-char-in-doctype"),t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._parseError("unexpected-char-in-doctype"),t._currentToken.systemId="",t.setState(yt)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt)),!0}function dt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i===">"?(t._emitCurrentToken(),t.setState(n)):i==='"'?(t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._currentToken.systemId="",t.setState(yt)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function vt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)?t.setState(mt):i==="'"||i==='"'?(t._parseError("unexpected-char-in-doctype"),e.unget(i),t.setState(mt)):(e.unget(i),t.setState(mt)),!0}function mt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i==='"'?(t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._currentToken.systemId="",t.setState(yt)):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function gt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):i==='"'?t.setState(bt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):t._currentToken.systemId+=i,!0}function yt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):i==="'"?t.setState(bt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):t._currentToken.systemId+=i,!0}function bt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i===">"?(t._emitCurrentToken(),t.setState(n)):(t._parseError("unexpected-char-in-doctype"),t.setState(wt))),!0}function wt(e){var i=e.char();return i===r.EOF?(e.unget(i),t._emitCurrentToken(),t.setState(n)):i===">"&&(t._emitCurrentToken(),t.setState(n)),!0}u.DATA=n,u.RCDATA=f,u.RAWTEXT=c,u.SCRIPT_DATA=p,u.PLAINTEXT=h,this._state=u.DATA,this._inputStream.append(e),this._tokenHandler.startTokenization(this),this._inputStream.eof=!0;var t=this;while(this._state.call(this,this._inputStream));},Object.defineProperty(u.prototype,"lineNumber",{get:function(){return this._inputStream.location().line}}),Object.defineProperty(u.prototype,"columnNumber",{get:function(){return this._inputStream.location().column}}),n.Tokenizer=u},{"./EntityParser":2,"./InputStream":3}],6:[function(e,t,n){function c(e){return e===" "||e==="\n"||e===" "||e==="\r"||e==="\f"}function h(e){return c(e)||e==="\ufffd"}function p(e){for(var t=0;t<e.length;t++){var n=e[t];if(!c(n))return!1}return!0}function d(e){for(var t=0;t<e.length;t++){var n=e[t];if(!h(n))return!1}return!0}function v(e,t){for(var n=0;n<e.attributes.length;n++){var r=e.attributes[n];if(r.nodeName===t)return r}return null}function m(e){this.characters=e,this.current=0,this.end=this.characters.length}function g(){this.tokenizer=null,this.errorHandler=null,this.scriptingEnabled=!1,this.document=null,this.head=null,this.form=null,this.openElements=new a,this.activeFormattingElements=[],this.insertionMode=null,this.insertionModeName="",this.originalInsertionMode="",this.inQuirksMode=!1,this.compatMode="no quirks",this.framesetOk=!0,this.redirectAttachToFosterParent=!1,this.selfClosingFlagAcknowledged=!1,this.context="",this.pendingTableCharacters=[],this.shouldSkipLeadingNewline=!1;var e=this,t=this.insertionModes={};t.base={end_tag_handlers:{"-default":"endTagOther"},start_tag_handlers:{"-default":"startTagOther"},processEOF:function(){e.generateImpliedEndTags(),e.openElements.length>2?e.parseError("expected-closing-tag-but-got-eof"):e.openElements.length==2&&e.openElements.item(1).localName!="body"?e.parseError("expected-closing-tag-but-got-eof"):e.context&&e.openElements.length>1},processComment:function(t){e.insertComment(t,e.currentStackItem().node)},processDoctype:function(t,n,r,i){e.parseError("unexpected-doctype")},processStartTag:function(e,t,n){if(this[this.start_tag_handlers[e]])this[this.start_tag_handlers[e]](e,t,n);else{if(!this[this.start_tag_handlers["-default"]])throw new Error("No handler found for "+e);this[this.start_tag_handlers["-default"]](e,t,n)}},processEndTag:function(e){if(this[this.end_tag_handlers[e]])this[this.end_tag_handlers[e]](e);else{if(!this[this.end_tag_handlers["-default"]])throw new Error("No handler found for "+e);this[this.end_tag_handlers["-default"]](e)}},startTagHtml:function(e,n){t.inBody.startTagHtml(e,n)}},t.initial=Object.create(t.base),t.initial.processEOF=function(){e.parseError("expected-doctype-but-got-eof"),this.anythingElse(),e.insertionMode.processEOF()},t.initial.processComment=function(t){e.insertComment(t,e.document)},t.initial.processDoctype=function(t,n,r,i){function s(e){return n.toLowerCase().indexOf(e)===0}e.insertDoctype(t||"",n||"",r||""),i||t!="html"||n!=null&&(["+//silmaril//dtd html pro v0r11 19970101//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//as//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html strict//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//ietf//dtd html//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//spyglass//dtd html 2.0 extended//","-//sq//dtd html 2.0 hotmetal + extensions//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//","html"].some(s)||["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"].indexOf(n.toLowerCase())>-1||r==null&&["-//w3c//dtd html 4.01 transitional//","-//w3c//dtd html 4.01 frameset//"].some(s))||r!=null&&r.toLowerCase()=="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"?(e.compatMode="quirks",e.parseError("quirky-doctype")):n!=null&&(["-//w3c//dtd xhtml 1.0 transitional//","-//w3c//dtd xhtml 1.0 frameset//"].some(s)||r!=null&&["-//w3c//dtd html 4.01 transitional//","-//w3c//dtd html 4.01 frameset//"].indexOf(n.toLowerCase())>-1)?(e.compatMode="limited quirks",e.parseError("almost-standards-doctype")):n=="-//W3C//DTD HTML 4.0//EN"&&(r==null||r=="http://www.w3.org/TR/REC-html40/strict.dtd")||n=="-//W3C//DTD HTML 4.01//EN"&&(r==null||r=="http://www.w3.org/TR/html4/strict.dtd")||n=="-//W3C//DTD XHTML 1.0 Strict//EN"&&r=="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"||n=="-//W3C//DTD XHTML 1.1//EN"&&r=="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"||(r!=null&&r!="about:legacy-compat"||n!=null)&&e.parseError("unknown-doctype"),e.setInsertionMode("beforeHTML")},t.initial.processCharacters=function(t){t.skipLeadingWhitespace();if(!t.length)return;e.parseError("expected-doctype-but-got-chars"),this.anythingElse(),e.insertionMode.processCharacters(t)},t.initial.processStartTag=function(t,n,r){e.parseError("expected-doctype-but-got-start-tag",{name:t}),this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.initial.processEndTag=function(t){e.parseError("expected-doctype-but-got-end-tag",{name:t}),this.anythingElse(),e.insertionMode.processEndTag(t)},t.initial.anythingElse=function(){e.compatMode="quirks",e.setInsertionMode("beforeHTML")},t.beforeHTML=Object.create(t.base),t.beforeHTML.start_tag_handlers={html:"startTagHtml","-default":"startTagOther"},t.beforeHTML.processEOF=function(){this.anythingElse(),e.insertionMode.processEOF()},t.beforeHTML.processComment=function(t){e.insertComment(t,e.document)},t.beforeHTML.processCharacters=function(t){t.skipLeadingWhitespace();if(!t.length)return;this.anythingElse(),e.insertionMode.processCharacters(t)},t.beforeHTML.startTagHtml=function(t,n,r){e.insertHtmlElement(n),e.setInsertionMode("beforeHead")},t.beforeHTML.startTagOther=function(t,n,r){this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.beforeHTML.processEndTag=function(t){this.anythingElse(),e.insertionMode.processEndTag(t)},t.beforeHTML.anythingElse=function(){e.insertHtmlElement(),e.setInsertionMode("beforeHead")},t.afterAfterBody=Object.create(t.base),t.afterAfterBody.start_tag_handlers={html:"startTagHtml","-default":"startTagOther"},t.afterAfterBody.processComment=function(t){e.insertComment(t,e.document)},t.afterAfterBody.processDoctype=function(e){t.inBody.processDoctype(e)},t.afterAfterBody.startTagHtml=function(e,n){t.inBody.startTagHtml(e,n)},t.afterAfterBody.startTagOther=function(t,n,r){e.parseError("unexpected-start-tag",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processStartTag(t,n,r)},t.afterAfterBody.endTagOther=function(t){e.parseError("unexpected-end-tag",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processEndTag(t)},t.afterAfterBody.processCharacters=function(n){if(!p(n.characters))return e.parseError("unexpected-char-after-body"),e.setInsertionMode("inBody"),e.insertionMode.processCharacters(n);t.inBody.processCharacters(n)},t.afterBody=Object.create(t.base),t.afterBody.end_tag_handlers={html:"endTagHtml","-default":"endTagOther"},t.afterBody.processComment=function(t){e.insertComment(t,e.openElements.rootNode)},t.afterBody.processCharacters=function(n){if(!p(n.characters))return e.parseError("unexpected-char-after-body"),e.setInsertionMode("inBody"),e.insertionMode.processCharacters(n);t.inBody.processCharacters(n)},t.afterBody.processStartTag=function(t,n,r){e.parseError("unexpected-start-tag-after-body",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processStartTag(t,n,r)},t.afterBody.endTagHtml=function(t){e.context?e.parseError("end-html-in-innerhtml"):e.setInsertionMode("afterAfterBody")},t.afterBody.endTagOther=function(t){e.parseError("unexpected-end-tag-after-body",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processEndTag(t)},t.afterFrameset=Object.create(t.base),t.afterFrameset.start_tag_handlers={html:"startTagHtml",noframes:"startTagNoframes","-default":"startTagOther"},t.afterFrameset.end_tag_handlers={html:"endTagHtml","-default":"endTagOther"},t.afterFrameset.processCharacters=function(t){var n=t.takeRemaining(),r="";for(var i=0;i<n.length;i++){var s=n[i];c(s)&&(r+=s)}r&&e.insertText(r),r.length<n.length&&e.parseError("expected-eof-but-got-char")},t.afterFrameset.startTagNoframes=function(e,n){t.inHead.processStartTag(e,n)},t.afterFrameset.startTagOther=function(t,n){e.parseError("unexpected-start-tag-after-frameset",{name:t})},t.afterFrameset.endTagHtml=function(t){e.setInsertionMode("afterAfterFrameset")},t.afterFrameset.endTagOther=function(t){e.parseError("unexpected-end-tag-after-frameset",{name:t})},t.beforeHead=Object.create(t.base),t.beforeHead.start_tag_handlers={html:"startTagHtml",head:"startTagHead","-default":"startTagOther"},t.beforeHead.end_tag_handlers={html:"endTagImplyHead",head:"endTagImplyHead",body:"endTagImplyHead",br:"endTagImplyHead","-default":"endTagOther"},t.beforeHead.processEOF=function(){this.startTagHead("head",[]),e.insertionMode.processEOF()},t.beforeHead.processCharacters=function(t){t.skipLeadingWhitespace();if(!t.length)return;this.startTagHead("head",[]),e.insertionMode.processCharacters(t)},t.beforeHead.startTagHead=function(t,n){e.insertHeadElement(n),e.setInsertionMode("inHead")},t.beforeHead.startTagOther=function(t,n,r){this.startTagHead("head",[]),e.insertionMode.processStartTag(t,n,r)},t.beforeHead.endTagImplyHead=function(t){this.startTagHead("head",[]),e.insertionMode.processEndTag(t)},t.beforeHead.endTagOther=function(t){e.parseError("end-tag-after-implied-root",{name:t})},t.inHead=Object.create(t.base),t.inHead.start_tag_handlers={html:"startTagHtml",head:"startTagHead",title:"startTagTitle",script:"startTagScript",style:"startTagNoFramesStyle",noscript:"startTagNoScript",noframes:"startTagNoFramesStyle",base:"startTagBaseBasefontBgsoundLink",basefont:"startTagBaseBasefontBgsoundLink",bgsound:"startTagBaseBasefontBgsoundLink",link:"startTagBaseBasefontBgsoundLink",meta:"startTagMeta","-default":"startTagOther"},t.inHead.end_tag_handlers={head:"endTagHead",html:"endTagHtmlBodyBr",body:"endTagHtmlBodyBr",br:"endTagHtmlBodyBr","-default":"endTagOther"},t.inHead.processEOF=function(){var t=e.currentStackItem().localName;["title","style","script"].indexOf(t)!=-1&&(e.parseError("expected-named-closing-tag-but-got-eof",{name:t}),e.popElement()),this.anythingElse(),e.insertionMode.processEOF()},t.inHead.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;this.anythingElse(),e.insertionMode.processCharacters(t)},t.inHead.startTagHtml=function(e,n){t.inBody.processStartTag(e,n)},t.inHead.startTagHead=function(t,n){e.parseError("two-heads-are-not-better-than-one")},t.inHead.startTagTitle=function(t,n){e.processGenericRCDATAStartTag(t,n)},t.inHead.startTagNoScript=function(t,n){if(e.scriptingEnabled)return e.processGenericRawTextStartTag(t,n);e.insertElement(t,n),e.setInsertionMode("inHeadNoscript")},t.inHead.startTagNoFramesStyle=function(t,n){e.processGenericRawTextStartTag(t,n)},t.inHead.startTagScript=function(t,n){e.insertElement(t,n),e.tokenizer.setState(u.SCRIPT_DATA),e.originalInsertionMode=e.insertionModeName,e.setInsertionMode("text")},t.inHead.startTagBaseBasefontBgsoundLink=function(t,n){e.insertSelfClosingElement(t,n)},t.inHead.startTagMeta=function(t,n){e.insertSelfClosingElement(t,n)},t.inHead.startTagOther=function(t,n,r){this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.inHead.endTagHead=function(t){e.openElements.item(e.openElements.length-1).localName=="head"?e.openElements.pop():e.parseError("unexpected-end-tag",{name:"head"}),e.setInsertionMode("afterHead")},t.inHead.endTagHtmlBodyBr=function(t){this.anythingElse(),e.insertionMode.processEndTag(t)},t.inHead.endTagOther=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inHead.anythingElse=function(){this.endTagHead("head")},t.afterHead=Object.create(t.base),t.afterHead.start_tag_handlers={html:"startTagHtml",head:"startTagHead",body:"startTagBody",frameset:"startTagFrameset",base:"startTagFromHead",link:"startTagFromHead",meta:"startTagFromHead",script:"startTagFromHead",style:"startTagFromHead",title:"startTagFromHead","-default":"startTagOther"},t.afterHead.end_tag_handlers={body:"endTagBodyHtmlBr",html:"endTagBodyHtmlBr",br:"endTagBodyHtmlBr","-default":"endTagOther"},t.afterHead.processEOF=function(){this.anythingElse(),e.insertionMode.processEOF()},t.afterHead.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;this.anythingElse(),e.insertionMode.processCharacters(t)},t.afterHead.startTagHtml=function(e,n){t.inBody.processStartTag(e,n)},t.afterHead.startTagBody=function(t,n){e.framesetOk=!1,e.insertBodyElement(n),e.setInsertionMode("inBody")},t.afterHead.startTagFrameset=function(t,n){e.insertElement(t,n),e.setInsertionMode("inFrameset")},t.afterHead.startTagFromHead=function(n,r,i){e.parseError("unexpected-start-tag-out-of-my-head",{name:n}),e.openElements.push(e.head),t.inHead.processStartTag(n,r,i),e.openElements.remove(e.head)},t.afterHead.startTagHead=function(t,n,r){e.parseError("unexpected-start-tag",{name:t})},t.afterHead.startTagOther=function(t,n,r){this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.afterHead.endTagBodyHtmlBr=function(t){this.anythingElse(),e.insertionMode.processEndTag(t)},t.afterHead.endTagOther=function(t){e.parseError("unexpected-end-tag",{name:t})},t.afterHead.anythingElse=function(){e.insertBodyElement([]),e.setInsertionMode("inBody"),e.framesetOk=!0},t.inBody=Object.create(t.base),t.inBody.start_tag_handlers={html:"startTagHtml",head:"startTagMisplaced",base:"startTagProcessInHead",basefont:"startTagProcessInHead",bgsound:"startTagProcessInHead",link:"startTagProcessInHead",meta:"startTagProcessInHead",noframes:"startTagProcessInHead",script:"startTagProcessInHead",style:"startTagProcessInHead",title:"startTagProcessInHead",body:"startTagBody",form:"startTagForm",plaintext:"startTagPlaintext",a:"startTagA",button:"startTagButton",xmp:"startTagXmp",table:"startTagTable",hr:"startTagHr",image:"startTagImage",input:"startTagInput",textarea:"startTagTextarea",select:"startTagSelect",isindex:"startTagIsindex",applet:"startTagAppletMarqueeObject",marquee:"startTagAppletMarqueeObject",object:"startTagAppletMarqueeObject",li:"startTagListItem",dd:"startTagListItem",dt:"startTagListItem",address:"startTagCloseP",article:"startTagCloseP",aside:"startTagCloseP",blockquote:"startTagCloseP",center:"startTagCloseP",details:"startTagCloseP",dir:"startTagCloseP",div:"startTagCloseP",dl:"startTagCloseP",fieldset:"startTagCloseP",figcaption:"startTagCloseP",figure:"startTagCloseP",footer:"startTagCloseP",header:"startTagCloseP",hgroup:"startTagCloseP",main:"startTagCloseP",menu:"startTagCloseP",nav:"startTagCloseP",ol:"startTagCloseP",p:"startTagCloseP",section:"startTagCloseP",summary:"startTagCloseP",ul:"startTagCloseP",listing:"startTagPreListing",pre:"startTagPreListing",b:"startTagFormatting",big:"startTagFormatting",code:"startTagFormatting",em:"startTagFormatting",font:"startTagFormatting",i:"startTagFormatting",s:"startTagFormatting",small:"startTagFormatting",strike:"startTagFormatting",strong:"startTagFormatting",tt:"startTagFormatting",u:"startTagFormatting",nobr:"startTagNobr",area:"startTagVoidFormatting",br:"startTagVoidFormatting",embed:"startTagVoidFormatting",img:"startTagVoidFormatting",keygen:"startTagVoidFormatting",wbr:"startTagVoidFormatting",param:"startTagParamSourceTrack",source:"startTagParamSourceTrack",track:"startTagParamSourceTrack",iframe:"startTagIFrame",noembed:"startTagRawText",noscript:"startTagRawText",h1:"startTagHeading",h2:"startTagHeading",h3:"startTagHeading",h4:"startTagHeading",h5:"startTagHeading",h6:"startTagHeading",caption:"startTagMisplaced",col:"startTagMisplaced",colgroup:"startTagMisplaced",frame:"startTagMisplaced",frameset:"startTagFrameset",tbody:"startTagMisplaced",td:"startTagMisplaced",tfoot:"startTagMisplaced",th:"startTagMisplaced",thead:"startTagMisplaced",tr:"startTagMisplaced",option:"startTagOptionOptgroup",optgroup:"startTagOptionOptgroup",math:"startTagMath",svg:"startTagSVG",rt:"startTagRpRt",rp:"startTagRpRt","-default":"startTagOther"},t.inBody.end_tag_handlers={p:"endTagP",body:"endTagBody",html:"endTagHtml",address:"endTagBlock",article:"endTagBlock",aside:"endTagBlock",blockquote:"endTagBlock",button:"endTagBlock",center:"endTagBlock",details:"endTagBlock",dir:"endTagBlock",div:"endTagBlock",dl:"endTagBlock",fieldset:"endTagBlock",figcaption:"endTagBlock",figure:"endTagBlock",footer:"endTagBlock",header:"endTagBlock",hgroup:"endTagBlock",listing:"endTagBlock",main:"endTagBlock",menu:"endTagBlock",nav:"endTagBlock",ol:"endTagBlock",pre:"endTagBlock",section:"endTagBlock",summary:"endTagBlock",ul:"endTagBlock",form:"endTagForm",applet:"endTagAppletMarqueeObject",marquee:"endTagAppletMarqueeObject",object:"endTagAppletMarqueeObject",dd:"endTagListItem",dt:"endTagListItem",li:"endTagListItem",h1:"endTagHeading",h2:"endTagHeading",h3:"endTagHeading",h4:"endTagHeading",h5:"endTagHeading",h6:"endTagHeading",a:"endTagFormatting",b:"endTagFormatting",big:"endTagFormatting",code:"endTagFormatting",em:"endTagFormatting",font:"endTagFormatting",i:"endTagFormatting",nobr:"endTagFormatting",s:"endTagFormatting",small:"endTagFormatting",strike:"endTagFormatting",strong:"endTagFormatting",tt:"endTagFormatting",u:"endTagFormatting",br:"endTagBr","-default":"endTagOther"},t.inBody.processCharacters=function(t){e.shouldSkipLeadingNewline&&(e.shouldSkipLeadingNewline=!1,t.skipAtMostOneLeadingNewline()),e.reconstructActiveFormattingElements();var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),""});if(!n)return;e.insertText(n),e.framesetOk&&!d(n)&&(e.framesetOk=!1)},t.inBody.startTagHtml=function(t,n){e.parseError("non-html-root"),e.addAttributesToElement(e.openElements.rootNode,n)},t.inBody.startTagProcessInHead=function(e,n){t.inHead.processStartTag(e,n)},t.inBody.startTagBody=function(t,n){e.parseError("unexpected-start-tag",{name:"body"}),e.openElements.length==1||e.openElements.item(1).localName!="body"?r.ok(e.context):(e.framesetOk=!1,e.addAttributesToElement(e.openElements.bodyElement,n))},t.inBody.startTagFrameset=function(t,n){e.parseError("unexpected-start-tag",{name:"frameset"});if(e.openElements.length==1||e.openElements.item(1).localName!="body")r.ok(e.context);else if(e.framesetOk){e.detachFromParent(e.openElements.bodyElement);while(e.openElements.length>1)e.openElements.pop();e.insertElement(t,n),e.setInsertionMode("inFrameset")}},t.inBody.startTagCloseP=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n)},t.inBody.startTagPreListing=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.framesetOk=!1,e.shouldSkipLeadingNewline=!0},t.inBody.startTagForm=function(t,n){e.form?e.parseError("unexpected-start-tag",{name:t}):(e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.form=e.currentStackItem())},t.inBody.startTagRpRt=function(t,n){e.openElements.inScope("ruby")&&(e.generateImpliedEndTags(),e.currentStackItem().localName!="ruby"&&e.parseError("unexpected-start-tag",{name:t})),e.insertElement(t,n)},t.inBody.startTagListItem=function(t,n){var r={li:["li"],dd:["dd","dt"],dt:["dd","dt"]},i=r[t],s=e.openElements;for(var o=s.length-1;o>=0;o--){var u=s.item(o);if(i.indexOf(u.localName)!=-1){e.insertionMode.processEndTag(u.localName);break}if(u.isSpecial()&&u.localName!=="p"&&u.localName!=="address"&&u.localName!=="div")break}e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.framesetOk=!1},t.inBody.startTagPlaintext=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.tokenizer.setState(u.PLAINTEXT)},t.inBody.startTagHeading=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.currentStackItem().isNumberedHeader()&&(e.parseError("unexpected-start-tag",{name:t}),e.popElement()),e.insertElement(t,n)},t.inBody.startTagA=function(t,n){var r=e.elementInActiveFormattingElements("a");r&&(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"a",endName:"a"}),e.adoptionAgencyEndTag("a"),e.openElements.contains(r)&&e.openElements.remove(r),e.removeElementFromActiveFormattingElements(r)),e.reconstructActiveFormattingElements(),e.insertFormattingElement(t,n)},t.inBody.startTagFormatting=function(t,n){e.reconstructActiveFormattingElements(),e.insertFormattingElement(t,n)},t.inBody.startTagNobr=function(t,n){e.reconstructActiveFormattingElements(),e.openElements.inScope("nobr")&&(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"nobr",endName:"nobr"}),this.processEndTag("nobr"),e.reconstructActiveFormattingElements()),e.insertFormattingElement(t,n)},t.inBody.startTagButton=function(t,n){e.openElements.inScope("button")?(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"button",endName:"button"}),this.processEndTag("button"),e.insertionMode.processStartTag(t,n)):(e.framesetOk=!1,e.reconstructActiveFormattingElements(),e.insertElement(t,n))},t.inBody.startTagAppletMarqueeObject=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n),e.activeFormattingElements.push(l),e.framesetOk=!1},t.inBody.endTagAppletMarqueeObject=function(t){e.openElements.inScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t),e.clearActiveFormattingElements()):e.parseError("unexpected-end-tag",{name:t})},t.inBody.startTagXmp=function(t,n){e.openElements.inButtonScope("p")&&this.processEndTag("p"),e.reconstructActiveFormattingElements(),e.processGenericRawTextStartTag(t,n),e.framesetOk=!1},t.inBody.startTagTable=function(t,n){e.compatMode!=="quirks"&&e.openElements.inButtonScope("p")&&this.processEndTag("p"),e.insertElement(t,n),e.setInsertionMode("inTable"),e.framesetOk=!1},t.inBody.startTagVoidFormatting=function(t,n){e.reconstructActiveFormattingElements(),e.insertSelfClosingElement(t,n),e.framesetOk=!1},t.inBody.startTagParamSourceTrack=function(t,n){e.insertSelfClosingElement(t,n)},t.inBody.startTagHr=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertSelfClosingElement(t,n),e.framesetOk=!1},t.inBody.startTagImage=function(t,n){e.parseError("unexpected-start-tag-treated-as",{originalName:"image",newName:"img"}),this.processStartTag("img",n)},t.inBody.startTagInput=function(t,n){var r=e.framesetOk;this.startTagVoidFormatting(t,n);for(var i in n)if(n[i].nodeName=="type"){n[i].nodeValue.toLowerCase()=="hidden"&&(e.framesetOk=r);break}},t.inBody.startTagIsindex=function(t,n){e.parseError("deprecated-tag",{name:"isindex"}),e.selfClosingFlagAcknowledged=!0;if(e.form)return;var r=[],i=[],s="This is a searchable index. Enter search keywords: ";for(var o in n)switch(n[o].nodeName){case"action":r.push({nodeName:"action",nodeValue:n[o].nodeValue});break;case"prompt":s=n[o].nodeValue;break;case"name":break;default:i.push({nodeName:n[o].nodeName,nodeValue:n[o].nodeValue})}i.push({nodeName:"name",nodeValue:"isindex"}),this.processStartTag("form",r),this.processStartTag("hr"),this.processStartTag("label"),this.processCharacters(new m(s)),this.processStartTag("input",i),this.processEndTag("label"),this.processStartTag("hr"),this.processEndTag("form")},t.inBody.startTagTextarea=function(t,n){e.insertElement(t,n),e.tokenizer.setState(u.RCDATA),e.originalInsertionMode=e.insertionModeName,e.shouldSkipLeadingNewline=!0,e.framesetOk=!1,e.setInsertionMode("text")},t.inBody.startTagIFrame=function(t,n){e.framesetOk=!1,this.startTagRawText(t,n)},t.inBody.startTagRawText=function(t,n){e.processGenericRawTextStartTag(t,n)},t.inBody.startTagSelect=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n),e.framesetOk=!1;var r=e.insertionModeName;r=="inTable"||r=="inCaption"||r=="inColumnGroup"||r=="inTableBody"||r=="inRow"||r=="inCell"?e.setInsertionMode("inSelectInTable"):e.setInsertionMode("inSelect")},t.inBody.startTagMisplaced=function(t,n){e.parseError("unexpected-start-tag-ignored",{name:t})},t.inBody.endTagMisplaced=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagBr=function(t){e.parseError("unexpected-end-tag-treated-as",{originalName:"br",newName:"br element"}),e.reconstructActiveFormattingElements(),e.insertElement(t,[]),e.popElement()},t.inBody.startTagOptionOptgroup=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.reconstructActiveFormattingElements(),e.insertElement(t,n)},t.inBody.startTagOther=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n)},t.inBody.endTagOther=function(t){var n;for(var r=e.openElements.length-1;r>0;r--){n=e.openElements.item(r);if(n.localName==t){e.generateImpliedEndTags(t),e.currentStackItem().localName!=t&&e.parseError("unexpected-end-tag",{name:t}),e.openElements.remove_openElements_until(function(e){return e===n});break}if(n.isSpecial()){e.parseError("unexpected-end-tag",{name:t});break}}},t.inBody.startTagMath=function(t,n,r){e.reconstructActiveFormattingElements(),n=e.adjustMathMLAttributes(n),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,"http://www.w3.org/1998/Math/MathML",r)},t.inBody.startTagSVG=function(t,n,r){e.reconstructActiveFormattingElements(),n=e.adjustSVGAttributes(n),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,"http://www.w3.org/2000/svg",r)},t.inBody.endTagP=function(t){e.openElements.inButtonScope("p")?(e.generateImpliedEndTags("p"),e.currentStackItem().localName!="p"&&e.parseError("unexpected-implied-end-tag",{name:"p"}),e.openElements.popUntilPopped(t)):(e.parseError("unexpected-end-tag",{name:"p"}),this.startTagCloseP("p",[]),this.endTagP("p"))},t.inBody.endTagBody=function(t){if(!e.openElements.inScope("body")){e.parseError("unexpected-end-tag",{name:t});return}e.currentStackItem().localName!="body"&&e.parseError("expected-one-end-tag-but-got-another",{expectedName:e.currentStackItem().localName,gotName:t}),e.setInsertionMode("afterBody")},t.inBody.endTagHtml=function(t){if(!e.openElements.inScope("body")){e.parseError("unexpected-end-tag",{name:t});return}e.currentStackItem().localName!="body"&&e.parseError("expected-one-end-tag-but-got-another",{expectedName:e.currentStackItem().localName,gotName:t}),e.setInsertionMode("afterBody"),e.insertionMode.processEndTag(t)},t.inBody.endTagBlock=function(t){e.openElements.inScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t)):e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagForm=function(t){var n=e.form;e.form=null,!n||!e.openElements.inScope(t)?e.parseError("unexpected-end-tag",{name:t}):(e.generateImpliedEndTags(),e.currentStackItem()!=n&&e.parseError("end-tag-too-early-ignored",{name:"form"}),e.openElements.remove(n))},t.inBody.endTagListItem=function(t){e.openElements.inListItemScope(t)?(e.generateImpliedEndTags(t),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t)):e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagHeading=function(t){if(!e.openElements.hasNumberedHeaderElementInScope()){e.parseError("unexpected-end-tag",{name:t});return}e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.remove_openElements_until(function(e){return e.isNumberedHeader()})},t.inBody.endTagFormatting=function(t,n){e.adoptionAgencyEndTag(t)||this.endTagOther(t,n)},t.inCaption=Object.create(t.base),t.inCaption.start_tag_handlers={html:"startTagHtml",caption:"startTagTableElement",col:"startTagTableElement",colgroup:"startTagTableElement",tbody:"startTagTableElement",td:"startTagTableElement",tfoot:"startTagTableElement",thead:"startTagTableElement",tr:"startTagTableElement","-default":"startTagOther"},t.inCaption.end_tag_handlers={caption:"endTagCaption",table:"endTagTable",body:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",tbody:"endTagIgnore",td:"endTagIgnore",tfood:"endTagIgnore",thead:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inCaption.processCharacters=function(e){t.inBody.processCharacters(e)},t.inCaption.startTagTableElement=function(t,n){e.parseError("unexpected-end-tag",{name:t});var r=!e.openElements.inTableScope("caption");e.insertionMode.processEndTag("caption"),r||e.insertionMode.processStartTag(t,n)},t.inCaption.startTagOther=function(e,n,r){t.inBody.processStartTag(e,n,r)},t.inCaption.endTagCaption=function(t){e.openElements.inTableScope("caption")?(e.generateImpliedEndTags(),e.currentStackItem().localName!="caption"&&e.parseError("expected-one-end-tag-but-got-another",{gotName:"caption",expectedName:e.currentStackItem().localName}),e.openElements.popUntilPopped("caption"),e.clearActiveFormattingElements(),e.setInsertionMode("inTable")):(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t}))},t.inCaption.endTagTable=function(t){e.parseError("unexpected-end-table-in-caption");var n=!e.openElements.inTableScope("caption");e.insertionMode.processEndTag("caption"),n||e.insertionMode.processEndTag(t)},t.inCaption.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inCaption.endTagOther=function(e){t.inBody.processEndTag(e)},t.inCell=Object.create(t.base),t.inCell.start_tag_handlers={html:"startTagHtml",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",td:"startTagTableOther",tfoot:"startTagTableOther",th:"startTagTableOther",thead:"startTagTableOther",tr:"startTagTableOther","-default":"startTagOther"},t.inCell.end_tag_handlers={td:"endTagTableCell",th:"endTagTableCell",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",table:"endTagImply",tbody:"endTagImply",tfoot:"endTagImply",thead:"endTagImply",tr:"endTagImply","-default":"endTagOther"},t.inCell.processCharacters=function(e){t.inBody.processCharacters(e)},t.inCell.startTagTableOther=function(t,n,r){e.openElements.inTableScope("td")||e.openElements.inTableScope("th")?(this.closeCell(),e.insertionMode.processStartTag(t,n,r)):e.parseError("unexpected-start-tag",{name:t})},t.inCell.startTagOther=function(e,n,r){t.inBody.processStartTag(e,n,r)},t.inCell.endTagTableCell=function(t){e.openElements.inTableScope(t)?(e.generateImpliedEndTags(t),e.currentStackItem().localName!=t.toLowerCase()?(e.parseError("unexpected-cell-end-tag",{name:t}),e.openElements.popUntilPopped(t)):e.popElement(),e.clearActiveFormattingElements(),e.setInsertionMode("inRow")):e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagImply=function(t){e.openElements.inTableScope(t)?(this.closeCell(),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagOther=function(e){t.inBody.processEndTag(e)},t.inCell.closeCell=function(){e.openElements.inTableScope("td")?this.endTagTableCell("td"):e.openElements.inTableScope("th")&&this.endTagTableCell("th")},t.inColumnGroup=Object.create(t.base),t.inColumnGroup.start_tag_handlers={html:"startTagHtml",col:"startTagCol","-default":"startTagOther"},t.inColumnGroup.end_tag_handlers={colgroup:"endTagColgroup",col:"endTagCol","-default":"endTagOther"},t.inColumnGroup.ignoreEndTagColgroup=function(){return e.currentStackItem().localName=="html"},t.inColumnGroup.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;var r=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),r||e.insertionMode.processCharacters(t)},t.inColumnGroup.startTagCol=function(t,n){e.insertSelfClosingElement(t,n)},t.inColumnGroup.startTagOther=function(t,n,r){var i=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),i||e.insertionMode.processStartTag(t,n,r)},t.inColumnGroup.endTagColgroup=function(t){this.ignoreEndTagColgroup()?(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t})):(e.popElement(),e.setInsertionMode("inTable"))},t.inColumnGroup.endTagCol=function(t){e.parseError("no-end-tag",{name:"col"})},t.inColumnGroup.endTagOther=function(t){var n=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),n||e.insertionMode.processEndTag(t)},t.inForeignContent=Object.create(t.base),t.inForeignContent.processStartTag=function(t,n,r){if(["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","menu","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].indexOf(t)!=-1||t=="font"&&n.some(function(e){return["color","face","size"].indexOf(e.nodeName)>=0})){e.parseError("unexpected-html-element-in-foreign-content",{name:t});while(e.currentStackItem().isForeign()&&!e.currentStackItem().isHtmlIntegrationPoint()&&!e.currentStackItem().isMathMLTextIntegrationPoint())e.openElements.pop();e.insertionMode.processStartTag(t,n,r);return}e.currentStackItem().namespaceURI=="http://www.w3.org/1998/Math/MathML"&&(n=e.adjustMathMLAttributes(n)),e.currentStackItem().namespaceURI=="http://www.w3.org/2000/svg"&&(t=e.adjustSVGTagNameCase(t),n=e.adjustSVGAttributes(n)),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,e.currentStackItem().namespaceURI,r)},t.inForeignContent.processEndTag=function(t){var n=e.currentStackItem(),r=e.openElements.length-1;n.localName.toLowerCase()!=t&&e.parseError("unexpected-end-tag",{name:t});for(;;){if(r===0)break;if(n.localName.toLowerCase()==t){while(e.openElements.pop()!=n);break}r-=1,n=e.openElements.item(r);if(n.isForeign())continue;e.insertionMode.processEndTag(t);break}},t.inForeignContent.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),"\ufffd"}),e.framesetOk&&!d(n)&&(e.framesetOk=!1),e.insertText(n)},t.inHeadNoscript=Object.create(t.base),t.inHeadNoscript.start_tag_handlers={html:"startTagHtml",basefont:"startTagBasefontBgsoundLinkMetaNoframesStyle",bgsound:"startTagBasefontBgsoundLinkMetaNoframesStyle",link:"startTagBasefontBgsoundLinkMetaNoframesStyle",meta:"startTagBasefontBgsoundLinkMetaNoframesStyle",noframes:"startTagBasefontBgsoundLinkMetaNoframesStyle",style:"startTagBasefontBgsoundLinkMetaNoframesStyle",head:"startTagHeadNoscript",noscript:"startTagHeadNoscript","-default":"startTagOther"},t.inHeadNoscript.end_tag_handlers={noscript:"endTagNoscript",br:"endTagBr","-default":"endTagOther"},t.inHeadNoscript.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;e.parseError("unexpected-char-in-frameset"),this.anythingElse(),e.insertionMode.processCharacters(t)},t.inHeadNoscript.processComment=function(e){t.inHead.processComment(e)},t.inHeadNoscript.startTagBasefontBgsoundLinkMetaNoframesStyle=function(e,n){t.inHead.processStartTag(e,n)},t.inHeadNoscript.startTagHeadNoscript=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t})},t.inHeadNoscript.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t}),this.anythingElse(),e.insertionMode.processStartTag(t,n)},t.inHeadNoscript.endTagBr=function(t,n){e.parseError("unexpected-end-tag-in-frameset",{name:t}),this.anythingElse(),e.insertionMode.processEndTag(t,n)},t.inHeadNoscript.endTagNoscript=function(t,n){e.popElement(),e.setInsertionMode("inHead")},t.inHeadNoscript.endTagOther=function(t,n){e.parseError("unexpected-end-tag-in-frameset",{name:t})},t.inHeadNoscript.anythingElse=function(){e.popElement(),e.setInsertionMode("inHead")},t.inFrameset=Object.create(t.base),t.inFrameset.start_tag_handlers={html:"startTagHtml",frameset:"startTagFrameset",frame:"startTagFrame",noframes:"startTagNoframes","-default":"startTagOther"},t.inFrameset.end_tag_handlers={frameset:"endTagFrameset",noframes:"endTagNoframes","-default":"endTagOther"},t.inFrameset.processCharacters=function(t){e.parseError("unexpected-char-in-frameset")},t.inFrameset.startTagFrameset=function(t,n){e.insertElement(t,n)},t.inFrameset.startTagFrame=function(t,n){e.insertSelfClosingElement(t,n)},t.inFrameset.startTagNoframes=function(e,n){t.inBody.processStartTag(e,n)},t.inFrameset.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t})},t.inFrameset.endTagFrameset=function(t,n){e.currentStackItem().localName=="html"?e.parseError("unexpected-frameset-in-frameset-innerhtml"):e.popElement(),!e.context&&e.currentStackItem().localName!="frameset"&&e.setInsertionMode("afterFrameset")},t.inFrameset.endTagNoframes=function(e){t.inBody.processEndTag(e)},t.inFrameset.endTagOther=function(t){e.parseError("unexpected-end-tag-in-frameset",{name:t})},t.inTable=Object.create(t.base),t.inTable.start_tag_handlers={html:"startTagHtml",caption:"startTagCaption",colgroup:"startTagColgroup",col:"startTagCol",table:"startTagTable",tbody:"startTagRowGroup",tfoot:"startTagRowGroup",thead:"startTagRowGroup",td:"startTagImplyTbody",th:"startTagImplyTbody",tr:"startTagImplyTbody",style:"startTagStyleScript",script:"startTagStyleScript",input:"startTagInput",form:"startTagForm","-default":"startTagOther"},t.inTable.end_tag_handlers={table:"endTagTable",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",tbody:"endTagIgnore",td:"endTagIgnore",tfoot:"endTagIgnore",th:"endTagIgnore",thead:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inTable.processCharacters=function(n){if(e.currentStackItem().isFosterParenting()){var r=e.insertionModeName;e.setInsertionMode("inTableText"),e.originalInsertionMode=r,e.insertionMode.processCharacters(n)}else e.redirectAttachToFosterParent=!0,t.inBody.processCharacters(n),e.redirectAttachToFosterParent=!1},t.inTable.startTagCaption=function(t,n){e.openElements.popUntilTableScopeMarker(),e.activeFormattingElements.push(l),e.insertElement(t,n),e.setInsertionMode("inCaption")},t.inTable.startTagColgroup=function(t,n){e.openElements.popUntilTableScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inColumnGroup")},t.inTable.startTagCol=function(t,n){this.startTagColgroup("colgroup",[]),e.insertionMode.processStartTag(t,n)},t.inTable.startTagRowGroup=function(t,n){e.openElements.popUntilTableScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inTableBody")},t.inTable.startTagImplyTbody=function(t,n){this.startTagRowGroup("tbody",[]),e.insertionMode.processStartTag(t,n)},t.inTable.startTagTable=function(t,n){e.parseError("unexpected-start-tag-implies-end-tag",{startName:"table",endName:"table"}),e.insertionMode.processEndTag("table"),e.context||e.insertionMode.processStartTag(t,n)},t.inTable.startTagStyleScript=function(e,n){t.inHead.processStartTag(e,n)},t.inTable.startTagInput=function(t,n){for(var r in n)if(n[r].nodeName.toLowerCase()=="type"){if(n[r].nodeValue.toLowerCase()=="hidden"){e.parseError("unexpected-hidden-input-in-table"),e.insertElement(t,n),e.openElements.pop();return}break}this.startTagOther(t,n)},t.inTable.startTagForm=function(t,n){e.parseError("unexpected-form-in-table"),e.form||(e.insertElement(t,n),e.form=e.currentStackItem(),e.openElements.pop())},t.inTable.startTagOther=function(n,r,i){e.parseError("unexpected-start-tag-implies-table-voodoo",{name:n}),e.redirectAttachToFosterParent=!0,t.inBody.processStartTag(n,r,i),e.redirectAttachToFosterParent=!1},t.inTable.endTagTable=function(t){e.openElements.inTableScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early-named",{gotName:"table",expectedName:e.currentStackItem().localName}),e.openElements.popUntilPopped("table"),e.resetInsertionMode()):(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t}))},t.inTable.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inTable.endTagOther=function(n){e.parseError("unexpected-end-tag-implies-table-voodoo",{name:n}),e.redirectAttachToFosterParent=!0,t.inBody.processEndTag(n),e.redirectAttachToFosterParent=!1},t.inTableText=Object.create(t.base),t.inTableText.flushCharacters=function(){var t=e.pendingTableCharacters.join("");p(t)?e.insertText(t):(e.redirectAttachToFosterParent=!0,e.reconstructActiveFormattingElements(),e.insertText(t),e.framesetOk=!1,e.redirectAttachToFosterParent=!1),e.pendingTableCharacters=[]},t.inTableText.processComment=function(t){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processComment(t)},t.inTableText.processEOF=function(t){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processEOF()},t.inTableText.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),""});if(!n)return;e.pendingTableCharacters.push(n)},t.inTableText.processStartTag=function(t,n,r){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processStartTag(t,n,r)},t.inTableText.processEndTag=function(t,n){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processEndTag(t,n)},t.inTableBody=Object.create(t.base),t.inTableBody.start_tag_handlers={html:"startTagHtml",tr:"startTagTr",td:"startTagTableCell",th:"startTagTableCell",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",tfoot:"startTagTableOther",thead:"startTagTableOther","-default":"startTagOther"},t.inTableBody.end_tag_handlers={table:"endTagTable",tbody:"endTagTableRowGroup",tfoot:"endTagTableRowGroup",thead:"endTagTableRowGroup",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",td:"endTagIgnore",th:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inTableBody.processCharacters=function(e){t.inTable.processCharacters(e)},t.inTableBody.startTagTr=function(t,n){e.openElements.popUntilTableBodyScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inRow")},t.inTableBody.startTagTableCell=function(t,n){e.parseError("unexpected-cell-in-table-body",{name:t}),this.startTagTr("tr",[]),e.insertionMode.processStartTag(t,n)},t.inTableBody.startTagTableOther=function(t,n){e.openElements.inTableScope("tbody")||e.openElements.inTableScope("thead")||e.openElements.inTableScope("tfoot")?(e.openElements.popUntilTableBodyScopeMarker(),this.endTagTableRowGroup(e.currentStackItem().localName),e.insertionMode.processStartTag(t,n)):e.parseError("unexpected-start-tag",{name:t})},t.inTableBody.startTagOther=function(e,n){t.inTable.processStartTag(e,n)},t.inTableBody.endTagTableRowGroup=function(t){e.openElements.inTableScope(t)?(e.openElements.popUntilTableBodyScopeMarker(),e.popElement(),e.setInsertionMode("inTable")):e.parseError("unexpected-end-tag-in-table-body",{name:t})},t.inTableBody.endTagTable=function(t){e.openElements.inTableScope("tbody")||e.openElements.inTableScope("thead")||e.openElements.inTableScope("tfoot")?(e.openElements.popUntilTableBodyScopeMarker(),this.endTagTableRowGroup(e.currentStackItem().localName),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inTableBody.endTagIgnore=function(t){e.parseError("unexpected-end-tag-in-table-body",{name:t})},t.inTableBody.endTagOther=function(e){t.inTable.processEndTag(e)},t.inSelect=Object.create(t.base),t.inSelect.start_tag_handlers={html:"startTagHtml",option:"startTagOption",optgroup:"startTagOptgroup",select:"startTagSelect",input:"startTagInput",keygen:"startTagInput",textarea:"startTagInput",script:"startTagScript","-default":"startTagOther"},t.inSelect.end_tag_handlers={option:"endTagOption",optgroup:"endTagOptgroup",select:"endTagSelect",caption:"endTagTableElements",table:"endTagTableElements",tbody:"endTagTableElements",tfoot:"endTagTableElements",thead:"endTagTableElements",tr:"endTagTableElements",td:"endTagTableElements",th:"endTagTableElements","-default":"endTagOther"},t.inSelect.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),""});if(!n)return;e.insertText(n)},t.inSelect.startTagOption=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.insertElement(t,n)},t.inSelect.startTagOptgroup=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.currentStackItem().localName=="optgroup"&&e.popElement(),e.insertElement(t,n)},t.inSelect.endTagOption=function(t){if(e.currentStackItem().localName!=="option"){e.parseError("unexpected-end-tag-in-select",{name:t});return}e.popElement()},t.inSelect.endTagOptgroup=function(t){e.currentStackItem().localName=="option"&&e.openElements.item(e.openElements.length-2).localName=="optgroup"&&e.popElement(),e.currentStackItem().localName=="optgroup"?e.popElement():e.parseError("unexpected-end-tag-in-select",{name:"optgroup"})},t.inSelect.startTagSelect=function(t){e.parseError("unexpected-select-in-select"),this.endTagSelect("select")},t.inSelect.endTagSelect=function(t){e.openElements.inTableScope("select")?(e.openElements.popUntilPopped("select"),e.resetInsertionMode()):e.parseError("unexpected-end-tag",{name:t})},t.inSelect.startTagInput=function(t,n){e.parseError("unexpected-input-in-select"),e.openElements.inSelectScope("select")&&(this.endTagSelect("select"),e.insertionMode.processStartTag(t,n))},t.inSelect.startTagScript=function(e,n){t.inHead.processStartTag(e,n)},t.inSelect.endTagTableElements=function(t){e.parseError("unexpected-end-tag-in-select",{name:t}),e.openElements.inTableScope(t)&&(this.endTagSelect("select"),e.insertionMode.processEndTag(t))},t.inSelect.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-select",{name:t})},t.inSelect.endTagOther=function(t){e.parseError("unexpected-end-tag-in-select",{name:t})},t.inSelectInTable=Object.create(t.base),t.inSelectInTable.start_tag_handlers={caption:"startTagTable",table:"startTagTable",tbody:"startTagTable",tfoot:"startTagTable",thead:"startTagTable",tr:"startTagTable",td:"startTagTable",th:"startTagTable","-default":"startTagOther"},t.inSelectInTable.end_tag_handlers={caption:"endTagTable",table:"endTagTable",tbody:"endTagTable",tfoot:"endTagTable",thead:"endTagTable",tr:"endTagTable",td:"endTagTable",th:"endTagTable","-default":"endTagOther"},t.inSelectInTable.processCharacters=function(e){t.inSelect.processCharacters(e)},t.inSelectInTable.startTagTable=function(t,n){e.parseError("unexpected-table-element-start-tag-in-select-in-table",{name:t}),this.endTagOther("select"),e.insertionMode.processStartTag(t,n)},t.inSelectInTable.startTagOther=function(e,n,r){t.inSelect.processStartTag(e,n,r)},t.inSelectInTable.endTagTable=function(t){e.parseError("unexpected-table-element-end-tag-in-select-in-table",{name:t}),e.openElements.inTableScope(t)&&(this.endTagOther("select"),e.insertionMode.processEndTag(t))},t.inSelectInTable.endTagOther=function(e){t.inSelect.processEndTag(e)},t.inRow=Object.create(t.base),t.inRow.start_tag_handlers={html:"startTagHtml",td:"startTagTableCell",th:"startTagTableCell",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",tfoot:"startTagTableOther",thead:"startTagTableOther",tr:"startTagTableOther","-default":"startTagOther"},t.inRow.end_tag_handlers={tr:"endTagTr",table:"endTagTable",tbody:"endTagTableRowGroup",tfoot:"endTagTableRowGroup",thead:"endTagTableRowGroup",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",td:"endTagIgnore",th:"endTagIgnore","-default":"endTagOther"},t.inRow.processCharacters=function(e){t.inTable.processCharacters(e)},t.inRow.startTagTableCell=function(t,n){e.openElements.popUntilTableRowScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inCell"),e.activeFormattingElements.push(l)},t.inRow.startTagTableOther=function(t,n){var r=this.ignoreEndTagTr();this.endTagTr("tr"),r||e.insertionMode.processStartTag(t,n)},t.inRow.startTagOther=function(e,n,r){t.inTable.processStartTag(e,n,r)},t.inRow.endTagTr=function(t){this.ignoreEndTagTr()?(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t})):(e.openElements.popUntilTableRowScopeMarker(),e.popElement(),e.setInsertionMode("inTableBody"))},t.inRow.endTagTable=function(t){var n=this.ignoreEndTagTr();this.endTagTr("tr"),n||e.insertionMode.processEndTag(t)},t.inRow.endTagTableRowGroup=function(t){e.openElements.inTableScope(t)?(this.endTagTr("tr"),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inRow.endTagIgnore=function(t){e.parseError("unexpected-end-tag-in-table-row",{name:t})},t.inRow.endTagOther=function(e){t.inTable.processEndTag(e)},t.inRow.ignoreEndTagTr=function(){return!e.openElements.inTableScope("tr")},t.afterAfterFrameset=Object.create(t.base),t.afterAfterFrameset.start_tag_handlers={html:"startTagHtml",noframes:"startTagNoFrames","-default":"startTagOther"},t.afterAfterFrameset.processEOF=function(){},t.afterAfterFrameset.processComment=function(t){e.insertComment(t,e.document)},t.afterAfterFrameset.processCharacters=function(t){var n=t.takeRemaining(),r="";for(var i=0;i<n.length;i++){var s=n[i];c(s)&&(r+=s)}r&&(e.reconstructActiveFormattingElements(),e.insertText(r)),r.length<n.length&&e.parseError("expected-eof-but-got-char")},t.afterAfterFrameset.startTagNoFrames=function(e,n){t.inHead.processStartTag(e,n)},t.afterAfterFrameset.startTagOther=function(t,n,r){e.parseError("expected-eof-but-got-start-tag",{name:t})},t.afterAfterFrameset.processEndTag=function(t,n){e.parseError("expected-eof-but-got-end-tag",{name:t})},t.text=Object.create(t.base),t.text.start_tag_handlers={"-default":"startTagOther"},t.text.end_tag_handlers={script:"endTagScript","-default":"endTagOther"},t.text.processCharacters=function(t){e.shouldSkipLeadingNewline&&(e.shouldSkipLeadingNewline=!1,t.skipAtMostOneLeadingNewline());var n=t.takeRemaining();if(!n)return;e.insertText(n)},t.text.processEOF=function(){e.parseError("expected-named-closing-tag-but-got-eof",{name:e.currentStackItem().localName}),e.openElements.pop(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processEOF()},t.text.startTagOther=function(e){throw"Tried to process start tag "+e+" in RCDATA/RAWTEXT mode"},t.text.endTagScript=function(t){var n=e.openElements.pop();r.ok(n.localName=="script"),e.setInsertionMode(e.originalInsertionMode)},t.text.endTagOther=function(t){e.openElements.pop(),e.setInsertionMode(e.originalInsertionMode)}}function y(e,t){return e.replace(new RegExp("{[0-9a-z-]+}","gi"),function(e){return t[e.slice(1,-1)]||e})}var r=e("assert"),i=e("./messages.json"),s=e("./constants"),o=e("events").EventEmitter,u=e("./Tokenizer").Tokenizer,a=e("./ElementStack").ElementStack,f=e("./StackItem").StackItem,l={};m.prototype.skipAtMostOneLeadingNewline=function(){this.characters[this.current]==="\n"&&this.current++},m.prototype.skipLeadingWhitespace=function(){while(c(this.characters[this.current]))if(++this.current==this.end)return},m.prototype.skipLeadingNonWhitespace=function(){while(!c(this.characters[this.current]))if(++this.current==this.end)return},m.prototype.takeRemaining=function(){return this.characters.substring(this.current)},m.prototype.takeLeadingWhitespace=function(){var e=this.current;return this.skipLeadingWhitespace(),e===this.current?"":this.characters.substring(e,this.current-e)},Object.defineProperty(m.prototype,"length",{get:function(){return this.end-this.current}}),g.prototype.setInsertionMode=function(e){this.insertionMode=this.insertionModes[e],this.insertionModeName=e},g.prototype.adoptionAgencyEndTag=function(e){function i(e){return e===r}var t=8,n=3,r,s=0;while(s++<t){r=this.elementInActiveFormattingElements(e);if(!r||this.openElements.contains(r)&&!this.openElements.inScope(r.localName))return this.parseError("adoption-agency-1.1",{name:e}),!1;if(!this.openElements.contains(r))return this.parseError("adoption-agency-1.2",{name:e}),this.removeElementFromActiveFormattingElements(r),!0;this.openElements.inScope(r.localName)||this.parseError("adoption-agency-4.4",{name:e}),r!=this.currentStackItem()&&this.parseError("adoption-agency-1.3",{name:e});var o=this.openElements.furthestBlockForFormattingElement(r.node);if(!o)return this.openElements.remove_openElements_until(i),this.removeElementFromActiveFormattingElements(r),!0;var u=this.openElements.elements.indexOf(r),a=this.openElements.item(u-1),l=this.activeFormattingElements.indexOf(r),c=o,h=o,p=this.openElements.elements.indexOf(c),d=0;while(d++<n){p-=1,c=this.openElements.item(p);if(this.activeFormattingElements.indexOf(c)<0){this.openElements.elements.splice(p,1);continue}if(c==r)break;h==o&&(l=this.activeFormattingElements.indexOf(c)+1);var v=this.createElement(c.namespaceURI,c.localName,c.attributes),m=new f(c.namespaceURI,c.localName,c.attributes,v);this.activeFormattingElements[this.activeFormattingElements.indexOf(c)]=m,this.openElements.elements[this.openElements.elements.indexOf(c)]=m,c=m,this.detachFromParent(h.node),this.attachNode(h.node,c.node),h=c}this.detachFromParent(h.node),a.isFosterParenting()?this.insertIntoFosterParent(h.node):this.attachNode(h.node,a.node);var v=this.createElement("http://www.w3.org/1999/xhtml",r.localName,r.attributes),g=new f(r.namespaceURI,r.localName,r.attributes,v);this.reparentChildren(o.node,v),this.attachNode(v,o.node),this.removeElementFromActiveFormattingElements(r),this.activeFormattingElements.splice(Math.min(l,this.activeFormattingElements.length),0,g),this.openElements.remove(r),this.openElements.elements.splice(this.openElements.elements.indexOf(o)+1,0,g)}return!0},g.prototype.start=function(){throw"Not mplemented"},g.prototype.startTokenization=function(e){this.tokenizer=e,this.compatMode="no quirks",this.originalInsertionMode="initial",this.framesetOk=!0,this.openElements=new a,this.activeFormattingElements=[],this.start();if(this.context){switch(this.context){case"title":case"textarea":this.tokenizer.setState(u.RCDATA);break;case"style":case"xmp":case"iframe":case"noembed":case"noframes":this.tokenizer.setState(u.RAWTEXT);break;case"script":this.tokenizer.setState(u.SCRIPT_DATA);break;case"noscript":this.scriptingEnabled&&this.tokenizer.setState(u.RAWTEXT);break;case"plaintext":this.tokenizer.setState(u.PLAINTEXT)}this.insertHtmlElement(),this.resetInsertionMode()}else this.setInsertionMode("initial")},g.prototype.processToken=function(e){this.selfClosingFlagAcknowledged=!1;var t=this.openElements.top||null,n;!t||!t.isForeign()||t.isMathMLTextIntegrationPoint()&&(e.type=="StartTag"&&!(e.name in{mglyph:0,malignmark:0})||e.type==="Characters")||t.namespaceURI=="http://www.w3.org/1998/Math/MathML"&&t.localName=="annotation-xml"&&e.type=="StartTag"&&e.name=="svg"||t.isHtmlIntegrationPoint()&&e.type in{StartTag:0,Characters:0}||e.type=="EOF"?n=this.insertionMode:n=this.insertionModes.inForeignContent;switch(e.type){case"Characters":var r=new m(e.data);n.processCharacters(r);break;case"Comment":n.processComment(e.data);break;case"StartTag":n.processStartTag(e.name,e.data,e.selfClosing);break;case"EndTag":n.processEndTag(e.name);break;case"Doctype":n.processDoctype(e.name,e.publicId,e.systemId,e.forceQuirks);break;case"EOF":n.processEOF()}},g.prototype.isCdataSectionAllowed=function(){return this.openElements.length>0&&this.currentStackItem().isForeign()},g.prototype.isSelfClosingFlagAcknowledged=function(){return this.selfClosingFlagAcknowledged},g.prototype.createElement=function(e,t,n){throw new Error("Not implemented")},g.prototype.attachNode=function(e,t){throw new Error("Not implemented")},g.prototype.attachNodeToFosterParent=function(e,t,n){throw new Error("Not implemented")},g.prototype.detachFromParent=function(e){throw new Error("Not implemented")},g.prototype.addAttributesToElement=function(e,t){throw new Error("Not implemented")},g.prototype.insertHtmlElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","html",e);return this.attachNode(t,this.document),this.openElements.pushHtmlElement(new f("http://www.w3.org/1999/xhtml","html",e,t)),t},g.prototype.insertHeadElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","head",e);return this.head=new f("http://www.w3.org/1999/xhtml","head",e,t),this.attachNode(t,this.openElements.top.node),this.openElements.pushHeadElement(this.head),t},g.prototype.insertBodyElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","body",e);return this.attachNode(t,this.openElements.top.node),this.openElements.pushBodyElement(new f("http://www.w3.org/1999/xhtml","body",e,t)),t},g.prototype.insertIntoFosterParent=function(e){var t=this.openElements.findIndex("table"),n=this.openElements.item(t).node;if(t===0)return this.attachNode(e,n);this.attachNodeToFosterParent(e,n,this.openElements.item(t-1).node)},g.prototype.insertElement=function(e,t,n,r){n||(n="http://www.w3.org/1999/xhtml");var i=this.createElement(n,e,t);this.shouldFosterParent()?this.insertIntoFosterParent(i):this.attachNode(i,this.openElements.top.node),r||this.openElements.push(new f(n,e,t,i))},g.prototype.insertFormattingElement=function(e,t){this.insertElement(e,t,"http://www.w3.org/1999/xhtml"),this.appendElementToActiveFormattingElements(this.currentStackItem())},g.prototype.insertSelfClosingElement=function(e,t){this.selfClosingFlagAcknowledged=!0,this.insertElement(e,t,"http://www.w3.org/1999/xhtml",!0)},g.prototype.insertForeignElement=function(e,t,n,r){r&&(this.selfClosingFlagAcknowledged=!0),this.insertElement(e,t,n,r)},g.prototype.insertComment=function(e,t){throw new Error("Not implemented")},g.prototype.insertDoctype=function(e,t,n){throw new Error("Not implemented")},g.prototype.insertText=function(e){throw new Error("Not implemented")},g.prototype.currentStackItem=function(){return this.openElements.top},g.prototype.popElement=function(){return this.openElements.pop()},g.prototype.shouldFosterParent=function(){return this.redirectAttachToFosterParent&&this.currentStackItem().isFosterParenting()},g.prototype.generateImpliedEndTags=function(e){var t=this.openElements.top.localName;["dd","dt","li","option","optgroup","p","rp","rt"].indexOf(t)!=-1&&t!=e&&(this.popElement(),this.generateImpliedEndTags(e))},g.prototype.reconstructActiveFormattingElements=function(){if(this.activeFormattingElements.length===0)return;var e=this.activeFormattingElements.length-1,t=this.activeFormattingElements[e];if(t==l||this.openElements.contains(t))return;while(t!=l&&!this.openElements.contains(t)){e-=1,t=this.activeFormattingElements[e];if(!t)break}for(;;){e+=1,t=this.activeFormattingElements[e],this.insertElement(t.localName,t.attributes);var n=this.currentStackItem();this.activeFormattingElements[e]=n;if(n==this.activeFormattingElements[this.activeFormattingElements.length-1])break}},g.prototype.ensureNoahsArkCondition=function(e){var t=3;if(this.activeFormattingElements.length<t)return;var n=[],r=e.attributes.length;for(var i=this.activeFormattingElements.length-1;i>=0;i--){var s=this.activeFormattingElements[i];if(s===l)break;if(e.localName!==s.localName||e.namespaceURI!==s.namespaceURI)continue;if(s.attributes.length!=r)continue;n.push(s)}if(n.length<t)return;var o=[],u=e.attributes;for(var i=0;i<u.length;i++){var a=u[i];for(var f=0;f<n.length;f++){var s=n[f],c=v(s,a.nodeName);c&&c.nodeValue===a.nodeValue&&o.push(s)}if(o.length<t)return;n=o,o=[]}for(var i=t-1;i<n.length;i++)this.removeElementFromActiveFormattingElements(n[i])},g.prototype.appendElementToActiveFormattingElements=function(e){this.ensureNoahsArkCondition(e),this.activeFormattingElements.push(e)},g.prototype.removeElementFromActiveFormattingElements=function(e){var t=this.activeFormattingElements.indexOf(e);t>=0&&this.activeFormattingElements.splice(t,1)},g.prototype.elementInActiveFormattingElements=function(e){var t=this.activeFormattingElements;for(var n=t.length-1;n>=0;n--){if(t[n]==l)break;if(t[n].localName==e)return t[n]}return!1},g.prototype.clearActiveFormattingElements=function(){while(this.activeFormattingElements.length!==0&&this.activeFormattingElements.pop()!=l);},g.prototype.reparentChildren=function(e,t){throw new Error("Not implemented")},g.prototype.setFragmentContext=function(e){this.context=e},g.prototype.parseError=function(e,t){if(!this.errorHandler)return;var n=y(i[e],t);this.errorHandler.error(n,this.tokenizer._inputStream.location(),e)},g.prototype.resetInsertionMode=function(){var e=!1,t=null;for(var n=this.openElements.length-1;n>=0;n--){t=this.openElements.item(n),n===0&&(r.ok(this.context),e=!0,t=new f("http://www.w3.org/1999/xhtml",this.context,[],null));if(t.namespaceURI==="http://www.w3.org/1999/xhtml"){if(t.localName==="select")return this.setInsertionMode("inSelect");if(t.localName==="td"||t.localName==="th")return this.setInsertionMode("inCell");if(t.localName==="tr")return this.setInsertionMode("inRow");if(t.localName==="tbody"||t.localName==="thead"||t.localName==="tfoot")return this.setInsertionMode("inTableBody");if(t.localName==="caption")return this.setInsertionMode("inCaption");if(t.localName==="colgroup")return this.setInsertionMode("inColumnGroup");if(t.localName==="table")return this.setInsertionMode("inTable");if(t.localName==="head"&&!e)return this.setInsertionMode("inHead");if(t.localName==="body")return this.setInsertionMode("inBody");if(t.localName==="frameset")return this.setInsertionMode("inFrameset");if(t.localName==="html")return this.openElements.headElement?this.setInsertionMode("afterHead"):this.setInsertionMode("beforeHead")}if(e)return this.setInsertionMode("inBody")}},g.prototype.processGenericRCDATAStartTag=function(e,t){this.insertElement(e,t),this.tokenizer.setState(u.RCDATA),this.originalInsertionMode=this.insertionModeName,this.setInsertionMode("text")},g.prototype.processGenericRawTextStartTag=function(e,t){this.insertElement(e,t),this.tokenizer.setState(u.RAWTEXT),this.originalInsertionMode=this.insertionModeName,this.setInsertionMode("text")},g.prototype.adjustMathMLAttributes=function(e){return e.forEach(function(e){e.namespaceURI="http://www.w3.org/1998/Math/MathML",s.MATHMLAttributeMap[e.nodeName]&&(e.nodeName=s.MATHMLAttributeMap[e.nodeName])}),e},g.prototype.adjustSVGTagNameCase=function(e){return s.SVGTagMap[e]||e},g.prototype.adjustSVGAttributes=function(e){return e.forEach(function(e){e.namespaceURI="http://www.w3.org/2000/svg",s.SVGAttributeMap[e.nodeName]&&(e.nodeName=s.SVGAttributeMap[e.nodeName])}),e},g.prototype.adjustForeignAttributes=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.ForeignAttributeMap[n.nodeName];r&&(n.nodeName=r.localName,n.prefix=r.prefix,n.namespaceURI=r.namespaceURI)}return e},n.TreeBuilder=g},{"./ElementStack":1,"./StackItem":4,"./Tokenizer":5,"./constants":7,"./messages.json":8,assert:13,events:16}],7:[function(e,t,n){n.SVGTagMap={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},n.MATHMLAttributeMap={definitionurl:"definitionURL"},n.SVGAttributeMap={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",externalresourcesrequired:"externalResourcesRequired",filterres:"filterRes",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},n.ForeignAttributeMap={"xlink:actuate":{prefix:"xlink",localName:"actuate",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:arcrole":{prefix:"xlink",localName:"arcrole",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:href":{prefix:"xlink",localName:"href",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:role":{prefix:"xlink",localName:"role",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:show":{prefix:"xlink",localName:"show",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:title":{prefix:"xlink",localName:"title",namespaceURI:"http://www.w3.org/1999/xlink"},"xlink:type":{prefix:"xlink",localName:"title",namespaceURI:"http://www.w3.org/1999/xlink"},"xml:base":{prefix:"xml",localName:"base",namespaceURI:"http://www.w3.org/XML/1998/namespace"},"xml:lang":{prefix:"xml",localName:"lang",namespaceURI:"http://www.w3.org/XML/1998/namespace"},"xml:space":{prefix:"xml",localName:"space",namespaceURI:"http://www.w3.org/XML/1998/namespace"},xmlns:{prefix:null,localName:"xmlns",namespaceURI:"http://www.w3.org/2000/xmlns/"},"xmlns:xlink":{prefix:"xmlns",localName:"xlink",namespaceURI:"http://www.w3.org/2000/xmlns/"}}},{}],8:[function(e,t,n){t.exports={"null-character":"Null character in input stream, replaced with U+FFFD.","invalid-codepoint":"Invalid codepoint in stream","incorrectly-placed-solidus":"Solidus (/) incorrectly placed in tag.","incorrect-cr-newline-entity":"Incorrect CR newline entity, replaced with LF.","illegal-windows-1252-entity":"Entity used with illegal number (windows-1252 reference).","cant-convert-numeric-entity":"Numeric entity couldn't be converted to character (codepoint U+{charAsInt}).","invalid-numeric-entity-replaced":"Numeric entity represents an illegal codepoint. Expanded to the C1 controls range.","numeric-entity-without-semicolon":"Numeric entity didn't end with ';'.","expected-numeric-entity-but-got-eof":"Numeric entity expected. Got end of file instead.","expected-numeric-entity":"Numeric entity expected but none found.","named-entity-without-semicolon":"Named entity didn't end with ';'.","expected-named-entity":"Named entity expected. Got none.","attributes-in-end-tag":"End tag contains unexpected attributes.","self-closing-flag-on-end-tag":"End tag contains unexpected self-closing flag.","bare-less-than-sign-at-eof":"End of file after <.","expected-tag-name-but-got-right-bracket":"Expected tag name. Got '>' instead.","expected-tag-name-but-got-question-mark":"Expected tag name. Got '?' instead. (HTML doesn't support processing instructions.)","expected-tag-name":"Expected tag name. Got something else instead.","expected-closing-tag-but-got-right-bracket":"Expected closing tag. Got '>' instead. Ignoring '</>'.","expected-closing-tag-but-got-eof":"Expected closing tag. Unexpected end of file.","expected-closing-tag-but-got-char":"Expected closing tag. Unexpected character '{data}' found.","eof-in-tag-name":"Unexpected end of file in the tag name.","expected-attribute-name-but-got-eof":"Unexpected end of file. Expected attribute name instead.","eof-in-attribute-name":"Unexpected end of file in attribute name.","invalid-character-in-attribute-name":"Invalid character in attribute name.","duplicate-attribute":"Dropped duplicate attribute '{name}' on tag.","expected-end-of-tag-but-got-eof":"Unexpected end of file. Expected = or end of tag.","expected-attribute-value-but-got-eof":"Unexpected end of file. Expected attribute value.","expected-attribute-value-but-got-right-bracket":"Expected attribute value. Got '>' instead.","unexpected-character-in-unquoted-attribute-value":"Unexpected character in unquoted attribute","invalid-character-after-attribute-name":"Unexpected character after attribute name.","unexpected-character-after-attribute-value":"Unexpected character after attribute value.","eof-in-attribute-value-double-quote":'Unexpected end of file in attribute value (").',"eof-in-attribute-value-single-quote":"Unexpected end of file in attribute value (').","eof-in-attribute-value-no-quotes":"Unexpected end of file in attribute value.","eof-after-attribute-value":"Unexpected end of file after attribute value.","unexpected-eof-after-solidus-in-tag":"Unexpected end of file in tag. Expected >.","unexpected-character-after-solidus-in-tag":"Unexpected character after / in tag. Expected >.","expected-dashes-or-doctype":"Expected '--' or 'DOCTYPE'. Not found.","unexpected-bang-after-double-dash-in-comment":"Unexpected ! after -- in comment.","incorrect-comment":"Incorrect comment.","eof-in-comment":"Unexpected end of file in comment.","eof-in-comment-end-dash":"Unexpected end of file in comment (-).","unexpected-dash-after-double-dash-in-comment":"Unexpected '-' after '--' found in comment.","eof-in-comment-double-dash":"Unexpected end of file in comment (--).","eof-in-comment-end-bang-state":"Unexpected end of file in comment.","unexpected-char-in-comment":"Unexpected character in comment found.","need-space-after-doctype":"No space after literal string 'DOCTYPE'.","expected-doctype-name-but-got-right-bracket":"Unexpected > character. Expected DOCTYPE name.","expected-doctype-name-but-got-eof":"Unexpected end of file. Expected DOCTYPE name.","eof-in-doctype-name":"Unexpected end of file in DOCTYPE name.","eof-in-doctype":"Unexpected end of file in DOCTYPE.","expected-space-or-right-bracket-in-doctype":"Expected space or '>'. Got '{data}'.","unexpected-end-of-doctype":"Unexpected end of DOCTYPE.","unexpected-char-in-doctype":"Unexpected character in DOCTYPE.","eof-in-bogus-doctype":"Unexpected end of file in bogus doctype.","eof-in-innerhtml":"Unexpected EOF in inner html mode.","unexpected-doctype":"Unexpected DOCTYPE. Ignored.","non-html-root":"html needs to be the first start tag.","expected-doctype-but-got-eof":"Unexpected End of file. Expected DOCTYPE.","unknown-doctype":"Erroneous DOCTYPE. Expected <!DOCTYPE html>.","quirky-doctype":"Quirky doctype. Expected <!DOCTYPE html>.","almost-standards-doctype":"Almost standards mode doctype. Expected <!DOCTYPE html>.","obsolete-doctype":"Obsolete doctype. Expected <!DOCTYPE html>.","expected-doctype-but-got-chars":"Non-space characters found without seeing a doctype first. Expected e.g. <!DOCTYPE html>.","expected-doctype-but-got-start-tag":"Start tag seen without seeing a doctype first. Expected e.g. <!DOCTYPE html>.","expected-doctype-but-got-end-tag":"End tag seen without seeing a doctype first. Expected e.g. <!DOCTYPE html>.","end-tag-after-implied-root":"Unexpected end tag ({name}) after the (implied) root element.","expected-named-closing-tag-but-got-eof":"Unexpected end of file. Expected end tag ({name}).","two-heads-are-not-better-than-one":"Unexpected start tag head in existing head. Ignored.","unexpected-end-tag":"Unexpected end tag ({name}). Ignored.","unexpected-implied-end-tag":"End tag {name} implied, but there were open elements.","unexpected-start-tag-out-of-my-head":"Unexpected start tag ({name}) that can be in head. Moved.","unexpected-start-tag":"Unexpected start tag ({name}).","missing-end-tag":"Missing end tag ({name}).","missing-end-tags":"Missing end tags ({name}).","unexpected-start-tag-implies-end-tag":"Unexpected start tag ({startName}) implies end tag ({endName}).","unexpected-start-tag-treated-as":"Unexpected start tag ({originalName}). Treated as {newName}.","deprecated-tag":"Unexpected start tag {name}. Don't use it!","unexpected-start-tag-ignored":"Unexpected start tag {name}. Ignored.","expected-one-end-tag-but-got-another":"Unexpected end tag ({gotName}). Missing end tag ({expectedName}).","end-tag-too-early":"End tag ({name}) seen too early. Expected other end tag.","end-tag-too-early-named":"Unexpected end tag ({gotName}). Expected end tag ({expectedName}.","end-tag-too-early-ignored":"End tag ({name}) seen too early. Ignored.","adoption-agency-1.1":"End tag ({name}) violates step 1, paragraph 1 of the adoption agency algorithm.","adoption-agency-1.2":"End tag ({name}) violates step 1, paragraph 2 of the adoption agency algorithm.","adoption-agency-1.3":"End tag ({name}) violates step 1, paragraph 3 of the adoption agency algorithm.","adoption-agency-4.4":"End tag ({name}) violates step 4, paragraph 4 of the adoption agency algorithm.","unexpected-end-tag-treated-as":"Unexpected end tag ({originalName}). Treated as {newName}.","no-end-tag":"This element ({name}) has no end tag.","unexpected-implied-end-tag-in-table":"Unexpected implied end tag ({name}) in the table phase.","unexpected-implied-end-tag-in-table-body":"Unexpected implied end tag ({name}) in the table body phase.","unexpected-char-implies-table-voodoo":"Unexpected non-space characters in table context caused voodoo mode.","unexpected-hidden-input-in-table":"Unexpected input with type hidden in table context.","unexpected-form-in-table":"Unexpected form in table context.","unexpected-start-tag-implies-table-voodoo":"Unexpected start tag ({name}) in table context caused voodoo mode.","unexpected-end-tag-implies-table-voodoo":"Unexpected end tag ({name}) in table context caused voodoo mode.","unexpected-cell-in-table-body":"Unexpected table cell start tag ({name}) in the table body phase.","unexpected-cell-end-tag":"Got table cell end tag ({name}) while required end tags are missing.","unexpected-end-tag-in-table-body":"Unexpected end tag ({name}) in the table body phase. Ignored.","unexpected-implied-end-tag-in-table-row":"Unexpected implied end tag ({name}) in the table row phase.","unexpected-end-tag-in-table-row":"Unexpected end tag ({name}) in the table row phase. Ignored.","unexpected-select-in-select":"Unexpected select start tag in the select phase treated as select end tag.","unexpected-input-in-select":"Unexpected input start tag in the select phase.","unexpected-start-tag-in-select":"Unexpected start tag token ({name}) in the select phase. Ignored.","unexpected-end-tag-in-select":"Unexpected end tag ({name}) in the select phase. Ignored.","unexpected-table-element-start-tag-in-select-in-table":"Unexpected table element start tag ({name}) in the select in table phase.","unexpected-table-element-end-tag-in-select-in-table":"Unexpected table element end tag ({name}) in the select in table phase.","unexpected-char-after-body":"Unexpected non-space characters in the after body phase.","unexpected-start-tag-after-body":"Unexpected start tag token ({name}) in the after body phase.","unexpected-end-tag-after-body":"Unexpected end tag token ({name}) in the after body phase.","unexpected-char-in-frameset":"Unepxected characters in the frameset phase. Characters ignored.","unexpected-start-tag-in-frameset":"Unexpected start tag token ({name}) in the frameset phase. Ignored.","unexpected-frameset-in-frameset-innerhtml":"Unexpected end tag token (frameset in the frameset phase (innerHTML).","unexpected-end-tag-in-frameset":"Unexpected end tag token ({name}) in the frameset phase. Ignored.","unexpected-char-after-frameset":"Unexpected non-space characters in the after frameset phase. Ignored.","unexpected-start-tag-after-frameset":"Unexpected start tag ({name}) in the after frameset phase. Ignored.","unexpected-end-tag-after-frameset":"Unexpected end tag ({name}) in the after frameset phase. Ignored.","expected-eof-but-got-char":"Unexpected non-space characters. Expected end of file.","expected-eof-but-got-start-tag":"Unexpected start tag ({name}). Expected end of file.","expected-eof-but-got-end-tag":"Unexpected end tag ({name}). Expected end of file.","unexpected-end-table-in-caption":"Unexpected end table tag in caption. Generates implied end caption.","end-html-in-innerhtml":"Unexpected html end tag in inner html mode.","eof-in-table":"Unexpected end of file. Expected table content.","eof-in-script":"Unexpected end of file. Expected script content.","non-void-element-with-trailing-solidus":"Trailing solidus not allowed on element {name}.","unexpected-html-element-in-foreign-content":'HTML start tag "{name}" in a foreign namespace context.',"unexpected-start-tag-in-table":"Unexpected {name}. Expected table content."}},{}],9:[function(e,t,n){function o(){this.contentHandler=null,this._errorHandler=null,this._treeBuilder=new r,this._tokenizer=new i(this._treeBuilder),this._scriptingEnabled=!1}var r=e("./SAXTreeBuilder").SAXTreeBuilder,i=e("../Tokenizer").Tokenizer,s=e("./TreeParser").TreeParser;o.prototype.parse=function(e){this._tokenizer.tokenize(e);var t=this._treeBuilder.document;t&&(new s(this.contentHandler)).parse(t)},o.prototype.parseFragment=function(e,t){this._treeBuilder.setFragmentContext(t),this._tokenizer.tokenize(e);var n=this._treeBuilder.getFragment();n&&(new s(this.contentHandler)).parse(n)},Object.defineProperty(o.prototype,"scriptingEnabled",{get:function(){return this._scriptingEnabled},set:function(e){this._scriptingEnabled=e,this._treeBuilder.scriptingEnabled=e}}),Object.defineProperty(o.prototype,"errorHandler",{get:function(){return this._errorHandler},set:function(e){this._errorHandler=e,this._treeBuilder.errorHandler=e}}),n.SAXParser=o},{"../Tokenizer":5,"./SAXTreeBuilder":10,"./TreeParser":11}],10:[function(e,t,n){function s(){i.call(this)}function o(e,t){for(var n=0;n<e.attributes.length;n++){var r=e.attributes[n];if(r.nodeName===t)return r.nodeValue}}function a(e){e?(this.columnNumber=e.columnNumber,this.lineNumber=e.lineNumber):(this.columnNumber=-1,this.lineNumber=-1),this.parentNode=null,this.nextSibling=null,this.firstChild=null}function f(e){a.call(this,e),this.lastChild=null,this._endLocator=null}function l(e){f.call(this,e),this.nodeType=u.DOCUMENT}function c(){f.call(this,new Locator),this.nodeType=u.DOCUMENT_FRAGMENT}function h(e,t,n,r,i,s){f.call(this,e),this.uri=t,this.localName=n,this.qName=r,this.attributes=i,this.prefixMappings=s,this.nodeType=u.ELEMENT}function p(e,t){a.call(this,e),this.data=t,this.nodeType=u.CHARACTERS}function d(e,t){a.call(this,e),this.data=t,this.nodeType=u.IGNORABLE_WHITESPACE}function v(e,t){a.call(this,e),this.data=t,this.nodeType=u.COMMENT}function m(e){f.call(this,e),this.nodeType=u.CDATA}function g(e){f.call(this),this.name=e,this.nodeType=u.ENTITY}function y(e){a.call(this),this.name=e,this.nodeType=u.SKIPPED_ENTITY}function b(e,t){a.call(this),this.target=e,this.data=t}function w(e,t,n){f.call(this),this.name=e,this.publicIdentifier=t,this.systemIdentifier=n,this.nodeType=u.DTD}var r=e("util"),i=e("../TreeBuilder").TreeBuilder;r.inherits(s,i),s.prototype.start=function(e){this.document=new l(this.tokenizer)},s.prototype.end=function(){this.document.endLocator=this.tokenizer},s.prototype.insertDoctype=function(e,t,n){var r=new w(this.tokenizer,e,t,n);r.endLocator=this.tokenizer,this.document.appendChild(r)},s.prototype.createElement=function(e,t,n){var r=new h(this.tokenizer,e,t,t,n||[]);return r},s.prototype.insertComment=function(e,t){t||(t=this.currentStackItem());var n=new v(this.tokenizer,e);t.appendChild(n)},s.prototype.appendCharacters=function(e,t){var n=new p(this.tokenizer,t);e.appendChild(n)},s.prototype.insertText=function(e){if(this.redirectAttachToFosterParent&&this.openElements.top.isFosterParenting()){var t=this.openElements.findIndex("table"),n=this.openElements.item(t),r=n.node;if(t===0)return this.appendCharacters(r,e);var i=new p(this.tokenizer,e),s=r.parentNode;if(s){s.insertBetween(i,r.previousSibling,r);return}var o=this.openElements.item(t-1).node;o.appendChild(i);return}this.appendCharacters(this.currentStackItem().node,e)},s.prototype.attachNode=function(e,t){t.appendChild(e)},s.prototype.attachNodeToFosterParent=function(e,t,n){var r=t.parentNode;r?r.insertBetween(e,t.previousSibling,t):n.appendChild(e)},s.prototype.detachFromParent=function(e){e.detach()},s.prototype.reparentChildren=function(e,t){t.appendChildren(e.firstChild)},s.prototype.getFragment=function(){var e=new c;return this.reparentChildren(this.openElements.rootNode,e),e},s.prototype.addAttributesToElement=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];o(e,r.nodeName)||e.attributes.push(r)}};var u={CDATA:1,CHARACTERS:2,COMMENT:3,DOCUMENT:4,DOCUMENT_FRAGMENT:5,DTD:6,ELEMENT:7,ENTITY:8,IGNORABLE_WHITESPACE:9,PROCESSING_INSTRUCTION:10,SKIPPED_ENTITY:11};a.prototype.visit=function(e){throw new Error("Not Implemented")},a.prototype.revisit=function(e){return},a.prototype.detach=function(){this.parentNode!==null&&(this.parentNode.removeChild(this),this.parentNode=null)},Object.defineProperty(a.prototype,"previousSibling",{get:function(){var e=null,t=this.parentNode.firstChild;for(;;){if(this==t)return e;e=t,t=t.nextSibling}}}),f.prototype=Object.create(a.prototype),f.prototype.insertBefore=function(e,t){if(!t)return this.appendChild(e);e.detach(),e.parentNode=this;if(this.firstChild==t)e.nextSibling=t,this.firstChild=e;else{var n=this.firstChild,r=this.firstChild.nextSibling;while(r!=t)n=r,r=r.nextSibling;n.nextSibling=e,e.nextSibling=r}return e},f.prototype.insertBetween=function(e,t,n){return n?(e.detach(),e.parentNode=this,e.nextSibling=n,t?t.nextSibling=e:firstChild=e,e):this.appendChild(e)},f.prototype.appendChild=function(e){return e.detach(),e.parentNode=this,this.firstChild?this.lastChild.nextSibling=e:this.firstChild=e,this.lastChild=e,e},f.prototype.appendChildren=function(e){var t=e.firstChild;if(!t)return;var n=e;this.firstChild?this.lastChild.nextSibling=t:this.firstChild=t,this.lastChild=n.lastChild;do t.parentNode=this;while(t=t.nextSibling);n.firstChild=null,n.lastChild=null},f.prototype.removeChild=function(e){if(this.firstChild==e)this.firstChild=e.nextSibling,this.lastChild==e&&(this.lastChild=null);else{var t=this.firstChild,n=this.firstChild.nextSibling;while(n!=e)t=n,n=n.nextSibling;t.nextSibling=e.nextSibling,this.lastChild==e&&(this.lastChild=t)}return e.parentNode=null,e},Object.defineProperty(f.prototype,"endLocator",{get:function(){return this._endLocator},set:function(e){this._endLocator={lineNumber:e.lineNumber,columnNumber:e.columnNumber}}}),l.prototype=Object.create(f.prototype),l.prototype.visit=function(e){e.startDocument(this)},l.prototype.revisit=function(e){e.endDocument(this.endLocator)},c.prototype=Object.create(f.prototype),c.prototype.visit=function(e){},h.prototype=Object.create(f.prototype),h.prototype.visit=function(e){if(this.prefixMappings)for(var t in prefixMappings){var n=prefixMappings[t];e.startPrefixMapping(n.getPrefix(),n.getUri(),this)}e.startElement(this.uri,this.localName,this.qName,this.attributes,this)},h.prototype.revisit=function(e){e.endElement(this.uri,this.localName,this.qName,this.endLocator);if(this.prefixMappings)for(var t in prefixMappings){var n=prefixMappings[t];e.endPrefixMapping(n.getPrefix(),this.endLocator)}},p.prototype=Object.create(a.prototype),p.prototype.visit=function(e){e.characters(this.data,0,this.data.length,this)},d.prototype=Object.create(a.prototype),d.prototype.visit=function(e){e.ignorableWhitespace(this.data,0,this.data.length,this)},v.prototype=Object.create(a.prototype),v.prototype.visit=function(e){e.comment(this.data,0,this.data.length,this)},m.prototype=Object.create(f.prototype),m.prototype.visit=function(e){e.startCDATA(this)},m.prototype.revisit=function(e){e.endCDATA(this.endLocator)},g.prototype=Object.create(f.prototype),g.prototype.visit=function(e){e.startEntity(this.name,this)},g.prototype.revisit=function(e){e.endEntity(this.name)},y.prototype=Object.create(a.prototype),y.prototype.visit=function(e){e.skippedEntity(this.name,this)},b.prototype=Object.create(a.prototype),b.prototype.visit=function(e){e.processingInstruction(this.target,this.data,this)},b.prototype.getNodeType=function(){return u.PROCESSING_INSTRUCTION},w.prototype=Object.create(f.prototype),w.prototype.visit=function(e){e.startDTD(this.name,this.publicIdentifier,this.systemIdentifier,this)},w.prototype.revisit=function(e){e.endDTD()},n.SAXTreeBuilder=s},{"../TreeBuilder":6,util:20}],11:[function(e,t,n){function r(e,t){this.contentHandler,this.lexicalHandler,this.locatorDelegate;if(!e)throw new IllegalArgumentException("contentHandler was null.");this.contentHandler=e,t?this.lexicalHandler=t:this.lexicalHandler=new i}function i(){}r.prototype.parse=function(e){this.contentHandler.documentLocator=this;var t=e,n;for(;;){t.visit(this);if(n=t.firstChild){t=n;continue}for(;;){t.revisit(this);if(t==e)return;if(n=t.nextSibling){t=n;break}t=t.parentNode}}},r.prototype.characters=function(e,t,n,r){this.locatorDelegate=r,this.contentHandler.characters(e,t,n)},r.prototype.endDocument=function(e){this.locatorDelegate=e,this.contentHandler.endDocument()},r.prototype.endElement=function(e,t,n,r){this.locatorDelegate=r,this.contentHandler.endElement(e,t,n)},r.prototype.endPrefixMapping=function(e,t){this.locatorDelegate=t,this.contentHandler.endPrefixMapping(e)},r.prototype.ignorableWhitespace=function(e,t,n,r){this.locatorDelegate=r,this.contentHandler.ignorableWhitespace(e,t,n)},r.prototype.processingInstruction=function(e,t,n){this.locatorDelegate=n,this.contentHandler.processingInstruction(e,t)},r.prototype.skippedEntity=function(e,t){this.locatorDelegate=t,this.contentHandler.skippedEntity(e)},r.prototype.startDocument=function(e){this.locatorDelegate=e,this.contentHandler.startDocument()},r.prototype.startElement=function(e,t,n,r,i){this.locatorDelegate=i,this.contentHandler.startElement(e,t,n,r)},r.prototype.startPrefixMapping=function(e,t,n){this.locatorDelegate=n,this.contentHandler.startPrefixMapping(e,t)},r.prototype.comment=function(e,t,n,r){this.locatorDelegate=r,this.lexicalHandler.comment(e,t,n)},r.prototype.endCDATA=function(e){this.locatorDelegate=e,this.lexicalHandler.endCDATA()},r.prototype.endDTD=function(e){this.locatorDelegate=e,this.lexicalHandler.endDTD()},r.prototype.endEntity=function(e,t){this.locatorDelegate=t,this.lexicalHandler.endEntity(e)},r.prototype.startCDATA=function(e){this.locatorDelegate=e,this.lexicalHandler.startCDATA()},r.prototype.startDTD=function(e,t,n,r){this.locatorDelegate=r,this.lexicalHandler.startDTD(e,t,n)},r.prototype.startEntity=function(e,t){this.locatorDelegate=t,this.lexicalHandler.startEntity(e)},Object.defineProperty(r.prototype,"columnNumber",{get:function(){return this.locatorDelegate?this.locatorDelegate.columnNumber:-1}}),Object.defineProperty(r.prototype,"lineNumber",{get:function(){return this.locatorDelegate?this.locatorDelegate.lineNumber:-1}}),i.prototype.comment=function(){},i.prototype.endCDATA=function(){},i.prototype.endDTD=function(){},i.prototype.endEntity=function(){},i.prototype.startCDATA=function(){},i.prototype.startDTD=function(){},i.prototype.startEntity=function(){},n.TreeParser=r},{}],12:[function(e,t,n){t.exports={"Aacute;":"\u00c1",Aacute:"\u00c1","aacute;":"\u00e1",aacute:"\u00e1","Abreve;":"\u0102","abreve;":"\u0103","ac;":"\u223e","acd;":"\u223f","acE;":"\u223e\u0333","Acirc;":"\u00c2",Acirc:"\u00c2","acirc;":"\u00e2",acirc:"\u00e2","acute;":"\u00b4",acute:"\u00b4","Acy;":"\u0410","acy;":"\u0430","AElig;":"\u00c6",AElig:"\u00c6","aelig;":"\u00e6",aelig:"\u00e6","af;":"\u2061","Afr;":"\ud835\udd04","afr;":"\ud835\udd1e","Agrave;":"\u00c0",Agrave:"\u00c0","agrave;":"\u00e0",agrave:"\u00e0","alefsym;":"\u2135","aleph;":"\u2135","Alpha;":"\u0391","alpha;":"\u03b1","Amacr;":"\u0100","amacr;":"\u0101","amalg;":"\u2a3f","amp;":"&",amp:"&","AMP;":"&",AMP:"&","andand;":"\u2a55","And;":"\u2a53","and;":"\u2227","andd;":"\u2a5c","andslope;":"\u2a58","andv;":"\u2a5a","ang;":"\u2220","ange;":"\u29a4","angle;":"\u2220","angmsdaa;":"\u29a8","angmsdab;":"\u29a9","angmsdac;":"\u29aa","angmsdad;":"\u29ab","angmsdae;":"\u29ac","angmsdaf;":"\u29ad","angmsdag;":"\u29ae","angmsdah;":"\u29af","angmsd;":"\u2221","angrt;":"\u221f","angrtvb;":"\u22be","angrtvbd;":"\u299d","angsph;":"\u2222","angst;":"\u00c5","angzarr;":"\u237c","Aogon;":"\u0104","aogon;":"\u0105","Aopf;":"\ud835\udd38","aopf;":"\ud835\udd52","apacir;":"\u2a6f","ap;":"\u2248","apE;":"\u2a70","ape;":"\u224a","apid;":"\u224b","apos;":"'","ApplyFunction;":"\u2061","approx;":"\u2248","approxeq;":"\u224a","Aring;":"\u00c5",Aring:"\u00c5","aring;":"\u00e5",aring:"\u00e5","Ascr;":"\ud835\udc9c","ascr;":"\ud835\udcb6","Assign;":"\u2254","ast;":"*","asymp;":"\u2248","asympeq;":"\u224d","Atilde;":"\u00c3",Atilde:"\u00c3","atilde;":"\u00e3",atilde:"\u00e3","Auml;":"\u00c4",Auml:"\u00c4","auml;":"\u00e4",auml:"\u00e4","awconint;":"\u2233","awint;":"\u2a11","backcong;":"\u224c","backepsilon;":"\u03f6","backprime;":"\u2035","backsim;":"\u223d","backsimeq;":"\u22cd","Backslash;":"\u2216","Barv;":"\u2ae7","barvee;":"\u22bd","barwed;":"\u2305","Barwed;":"\u2306","barwedge;":"\u2305","bbrk;":"\u23b5","bbrktbrk;":"\u23b6","bcong;":"\u224c","Bcy;":"\u0411","bcy;":"\u0431","bdquo;":"\u201e","becaus;":"\u2235","because;":"\u2235","Because;":"\u2235","bemptyv;":"\u29b0","bepsi;":"\u03f6","bernou;":"\u212c","Bernoullis;":"\u212c","Beta;":"\u0392","beta;":"\u03b2","beth;":"\u2136","between;":"\u226c","Bfr;":"\ud835\udd05","bfr;":"\ud835\udd1f","bigcap;":"\u22c2","bigcirc;":"\u25ef","bigcup;":"\u22c3","bigodot;":"\u2a00","bigoplus;":"\u2a01","bigotimes;":"\u2a02","bigsqcup;":"\u2a06","bigstar;":"\u2605","bigtriangledown;":"\u25bd","bigtriangleup;":"\u25b3","biguplus;":"\u2a04","bigvee;":"\u22c1","bigwedge;":"\u22c0","bkarow;":"\u290d","blacklozenge;":"\u29eb","blacksquare;":"\u25aa","blacktriangle;":"\u25b4","blacktriangledown;":"\u25be","blacktriangleleft;":"\u25c2","blacktriangleright;":"\u25b8","blank;":"\u2423","blk12;":"\u2592","blk14;":"\u2591","blk34;":"\u2593","block;":"\u2588","bne;":"=\u20e5","bnequiv;":"\u2261\u20e5","bNot;":"\u2aed","bnot;":"\u2310","Bopf;":"\ud835\udd39","bopf;":"\ud835\udd53","bot;":"\u22a5","bottom;":"\u22a5","bowtie;":"\u22c8","boxbox;":"\u29c9","boxdl;":"\u2510","boxdL;":"\u2555","boxDl;":"\u2556","boxDL;":"\u2557","boxdr;":"\u250c","boxdR;":"\u2552","boxDr;":"\u2553","boxDR;":"\u2554","boxh;":"\u2500","boxH;":"\u2550","boxhd;":"\u252c","boxHd;":"\u2564","boxhD;":"\u2565","boxHD;":"\u2566","boxhu;":"\u2534","boxHu;":"\u2567","boxhU;":"\u2568","boxHU;":"\u2569","boxminus;":"\u229f","boxplus;":"\u229e","boxtimes;":"\u22a0","boxul;":"\u2518","boxuL;":"\u255b","boxUl;":"\u255c","boxUL;":"\u255d","boxur;":"\u2514","boxuR;":"\u2558","boxUr;":"\u2559","boxUR;":"\u255a","boxv;":"\u2502","boxV;":"\u2551","boxvh;":"\u253c","boxvH;":"\u256a","boxVh;":"\u256b","boxVH;":"\u256c","boxvl;":"\u2524","boxvL;":"\u2561","boxVl;":"\u2562","boxVL;":"\u2563","boxvr;":"\u251c","boxvR;":"\u255e","boxVr;":"\u255f","boxVR;":"\u2560","bprime;":"\u2035","breve;":"\u02d8","Breve;":"\u02d8","brvbar;":"\u00a6",brvbar:"\u00a6","bscr;":"\ud835\udcb7","Bscr;":"\u212c","bsemi;":"\u204f","bsim;":"\u223d","bsime;":"\u22cd","bsolb;":"\u29c5","bsol;":"\\","bsolhsub;":"\u27c8","bull;":"\u2022","bullet;":"\u2022","bump;":"\u224e","bumpE;":"\u2aae","bumpe;":"\u224f","Bumpeq;":"\u224e","bumpeq;":"\u224f","Cacute;":"\u0106","cacute;":"\u0107","capand;":"\u2a44","capbrcup;":"\u2a49","capcap;":"\u2a4b","cap;":"\u2229","Cap;":"\u22d2","capcup;":"\u2a47","capdot;":"\u2a40","CapitalDifferentialD;":"\u2145","caps;":"\u2229\ufe00","caret;":"\u2041","caron;":"\u02c7","Cayleys;":"\u212d","ccaps;":"\u2a4d","Ccaron;":"\u010c","ccaron;":"\u010d","Ccedil;":"\u00c7",Ccedil:"\u00c7","ccedil;":"\u00e7",ccedil:"\u00e7","Ccirc;":"\u0108","ccirc;":"\u0109","Cconint;":"\u2230","ccups;":"\u2a4c","ccupssm;":"\u2a50","Cdot;":"\u010a","cdot;":"\u010b","cedil;":"\u00b8",cedil:"\u00b8","Cedilla;":"\u00b8","cemptyv;":"\u29b2","cent;":"\u00a2",cent:"\u00a2","centerdot;":"\u00b7","CenterDot;":"\u00b7","cfr;":"\ud835\udd20","Cfr;":"\u212d","CHcy;":"\u0427","chcy;":"\u0447","check;":"\u2713","checkmark;":"\u2713","Chi;":"\u03a7","chi;":"\u03c7","circ;":"\u02c6","circeq;":"\u2257","circlearrowleft;":"\u21ba","circlearrowright;":"\u21bb","circledast;":"\u229b","circledcirc;":"\u229a","circleddash;":"\u229d","CircleDot;":"\u2299","circledR;":"\u00ae","circledS;":"\u24c8","CircleMinus;":"\u2296","CirclePlus;":"\u2295","CircleTimes;":"\u2297","cir;":"\u25cb","cirE;":"\u29c3","cire;":"\u2257","cirfnint;":"\u2a10","cirmid;":"\u2aef","cirscir;":"\u29c2","ClockwiseContourIntegral;":"\u2232","CloseCurlyDoubleQuote;":"\u201d","CloseCurlyQuote;":"\u2019","clubs;":"\u2663","clubsuit;":"\u2663","colon;":":","Colon;":"\u2237","Colone;":"\u2a74","colone;":"\u2254","coloneq;":"\u2254","comma;":",","commat;":"@","comp;":"\u2201","compfn;":"\u2218","complement;":"\u2201","complexes;":"\u2102","cong;":"\u2245","congdot;":"\u2a6d","Congruent;":"\u2261","conint;":"\u222e","Conint;":"\u222f","ContourIntegral;":"\u222e","copf;":"\ud835\udd54","Copf;":"\u2102","coprod;":"\u2210","Coproduct;":"\u2210","copy;":"\u00a9",copy:"\u00a9","COPY;":"\u00a9",COPY:"\u00a9","copysr;":"\u2117","CounterClockwiseContourIntegral;":"\u2233","crarr;":"\u21b5","cross;":"\u2717","Cross;":"\u2a2f","Cscr;":"\ud835\udc9e","cscr;":"\ud835\udcb8","csub;":"\u2acf","csube;":"\u2ad1","csup;":"\u2ad0","csupe;":"\u2ad2","ctdot;":"\u22ef","cudarrl;":"\u2938","cudarrr;":"\u2935","cuepr;":"\u22de","cuesc;":"\u22df","cularr;":"\u21b6","cularrp;":"\u293d","cupbrcap;":"\u2a48","cupcap;":"\u2a46","CupCap;":"\u224d","cup;":"\u222a","Cup;":"\u22d3","cupcup;":"\u2a4a","cupdot;":"\u228d","cupor;":"\u2a45","cups;":"\u222a\ufe00","curarr;":"\u21b7","curarrm;":"\u293c","curlyeqprec;":"\u22de","curlyeqsucc;":"\u22df","curlyvee;":"\u22ce","curlywedge;":"\u22cf","curren;":"\u00a4",curren:"\u00a4","curvearrowleft;":"\u21b6","curvearrowright;":"\u21b7","cuvee;":"\u22ce","cuwed;":"\u22cf","cwconint;":"\u2232","cwint;":"\u2231","cylcty;":"\u232d","dagger;":"\u2020","Dagger;":"\u2021","daleth;":"\u2138","darr;":"\u2193","Darr;":"\u21a1","dArr;":"\u21d3","dash;":"\u2010","Dashv;":"\u2ae4","dashv;":"\u22a3","dbkarow;":"\u290f","dblac;":"\u02dd","Dcaron;":"\u010e","dcaron;":"\u010f","Dcy;":"\u0414","dcy;":"\u0434","ddagger;":"\u2021","ddarr;":"\u21ca","DD;":"\u2145","dd;":"\u2146","DDotrahd;":"\u2911","ddotseq;":"\u2a77","deg;":"\u00b0",deg:"\u00b0","Del;":"\u2207","Delta;":"\u0394","delta;":"\u03b4","demptyv;":"\u29b1","dfisht;":"\u297f","Dfr;":"\ud835\udd07","dfr;":"\ud835\udd21","dHar;":"\u2965","dharl;":"\u21c3","dharr;":"\u21c2","DiacriticalAcute;":"\u00b4","DiacriticalDot;":"\u02d9","DiacriticalDoubleAcute;":"\u02dd","DiacriticalGrave;":"`","DiacriticalTilde;":"\u02dc","diam;":"\u22c4","diamond;":"\u22c4","Diamond;":"\u22c4","diamondsuit;":"\u2666","diams;":"\u2666","die;":"\u00a8","DifferentialD;":"\u2146","digamma;":"\u03dd","disin;":"\u22f2","div;":"\u00f7","divide;":"\u00f7",divide:"\u00f7","divideontimes;":"\u22c7","divonx;":"\u22c7","DJcy;":"\u0402","djcy;":"\u0452","dlcorn;":"\u231e","dlcrop;":"\u230d","dollar;":"$","Dopf;":"\ud835\udd3b","dopf;":"\ud835\udd55","Dot;":"\u00a8","dot;":"\u02d9","DotDot;":"\u20dc","doteq;":"\u2250","doteqdot;":"\u2251","DotEqual;":"\u2250","dotminus;":"\u2238","dotplus;":"\u2214","dotsquare;":"\u22a1","doublebarwedge;":"\u2306","DoubleContourIntegral;":"\u222f","DoubleDot;":"\u00a8","DoubleDownArrow;":"\u21d3","DoubleLeftArrow;":"\u21d0","DoubleLeftRightArrow;":"\u21d4","DoubleLeftTee;":"\u2ae4","DoubleLongLeftArrow;":"\u27f8","DoubleLongLeftRightArrow;":"\u27fa","DoubleLongRightArrow;":"\u27f9","DoubleRightArrow;":"\u21d2","DoubleRightTee;":"\u22a8","DoubleUpArrow;":"\u21d1","DoubleUpDownArrow;":"\u21d5","DoubleVerticalBar;":"\u2225","DownArrowBar;":"\u2913","downarrow;":"\u2193","DownArrow;":"\u2193","Downarrow;":"\u21d3","DownArrowUpArrow;":"\u21f5","DownBreve;":"\u0311","downdownarrows;":"\u21ca","downharpoonleft;":"\u21c3","downharpoonright;":"\u21c2","DownLeftRightVector;":"\u2950","DownLeftTeeVector;":"\u295e","DownLeftVectorBar;":"\u2956","DownLeftVector;":"\u21bd","DownRightTeeVector;":"\u295f","DownRightVectorBar;":"\u2957","DownRightVector;":"\u21c1","DownTeeArrow;":"\u21a7","DownTee;":"\u22a4","drbkarow;":"\u2910","drcorn;":"\u231f","drcrop;":"\u230c","Dscr;":"\ud835\udc9f","dscr;":"\ud835\udcb9","DScy;":"\u0405","dscy;":"\u0455","dsol;":"\u29f6","Dstrok;":"\u0110","dstrok;":"\u0111","dtdot;":"\u22f1","dtri;":"\u25bf","dtrif;":"\u25be","duarr;":"\u21f5","duhar;":"\u296f","dwangle;":"\u29a6","DZcy;":"\u040f","dzcy;":"\u045f","dzigrarr;":"\u27ff","Eacute;":"\u00c9",Eacute:"\u00c9","eacute;":"\u00e9",eacute:"\u00e9","easter;":"\u2a6e","Ecaron;":"\u011a","ecaron;":"\u011b","Ecirc;":"\u00ca",Ecirc:"\u00ca","ecirc;":"\u00ea",ecirc:"\u00ea","ecir;":"\u2256","ecolon;":"\u2255","Ecy;":"\u042d","ecy;":"\u044d","eDDot;":"\u2a77","Edot;":"\u0116","edot;":"\u0117","eDot;":"\u2251","ee;":"\u2147","efDot;":"\u2252","Efr;":"\ud835\udd08","efr;":"\ud835\udd22","eg;":"\u2a9a","Egrave;":"\u00c8",Egrave:"\u00c8","egrave;":"\u00e8",egrave:"\u00e8","egs;":"\u2a96","egsdot;":"\u2a98","el;":"\u2a99","Element;":"\u2208","elinters;":"\u23e7","ell;":"\u2113","els;":"\u2a95","elsdot;":"\u2a97","Emacr;":"\u0112","emacr;":"\u0113","empty;":"\u2205","emptyset;":"\u2205","EmptySmallSquare;":"\u25fb","emptyv;":"\u2205","EmptyVerySmallSquare;":"\u25ab","emsp13;":"\u2004","emsp14;":"\u2005","emsp;":"\u2003","ENG;":"\u014a","eng;":"\u014b","ensp;":"\u2002","Eogon;":"\u0118","eogon;":"\u0119","Eopf;":"\ud835\udd3c","eopf;":"\ud835\udd56","epar;":"\u22d5","eparsl;":"\u29e3","eplus;":"\u2a71","epsi;":"\u03b5","Epsilon;":"\u0395","epsilon;":"\u03b5","epsiv;":"\u03f5","eqcirc;":"\u2256","eqcolon;":"\u2255","eqsim;":"\u2242","eqslantgtr;":"\u2a96","eqslantless;":"\u2a95","Equal;":"\u2a75","equals;":"=","EqualTilde;":"\u2242","equest;":"\u225f","Equilibrium;":"\u21cc","equiv;":"\u2261","equivDD;":"\u2a78","eqvparsl;":"\u29e5","erarr;":"\u2971","erDot;":"\u2253","escr;":"\u212f","Escr;":"\u2130","esdot;":"\u2250","Esim;":"\u2a73","esim;":"\u2242","Eta;":"\u0397","eta;":"\u03b7","ETH;":"\u00d0",ETH:"\u00d0","eth;":"\u00f0",eth:"\u00f0","Euml;":"\u00cb",Euml:"\u00cb","euml;":"\u00eb",euml:"\u00eb","euro;":"\u20ac","excl;":"!","exist;":"\u2203","Exists;":"\u2203","expectation;":"\u2130","exponentiale;":"\u2147","ExponentialE;":"\u2147","fallingdotseq;":"\u2252","Fcy;":"\u0424","fcy;":"\u0444","female;":"\u2640","ffilig;":"\ufb03","fflig;":"\ufb00","ffllig;":"\ufb04","Ffr;":"\ud835\udd09","ffr;":"\ud835\udd23","filig;":"\ufb01","FilledSmallSquare;":"\u25fc","FilledVerySmallSquare;":"\u25aa","fjlig;":"fj","flat;":"\u266d","fllig;":"\ufb02","fltns;":"\u25b1","fnof;":"\u0192","Fopf;":"\ud835\udd3d","fopf;":"\ud835\udd57","forall;":"\u2200","ForAll;":"\u2200","fork;":"\u22d4","forkv;":"\u2ad9","Fouriertrf;":"\u2131","fpartint;":"\u2a0d","frac12;":"\u00bd",frac12:"\u00bd","frac13;":"\u2153","frac14;":"\u00bc",frac14:"\u00bc","frac15;":"\u2155","frac16;":"\u2159","frac18;":"\u215b","frac23;":"\u2154","frac25;":"\u2156","frac34;":"\u00be",frac34:"\u00be","frac35;":"\u2157","frac38;":"\u215c","frac45;":"\u2158","frac56;":"\u215a","frac58;":"\u215d","frac78;":"\u215e","frasl;":"\u2044","frown;":"\u2322","fscr;":"\ud835\udcbb","Fscr;":"\u2131","gacute;":"\u01f5","Gamma;":"\u0393","gamma;":"\u03b3","Gammad;":"\u03dc","gammad;":"\u03dd","gap;":"\u2a86","Gbreve;":"\u011e","gbreve;":"\u011f","Gcedil;":"\u0122","Gcirc;":"\u011c","gcirc;":"\u011d","Gcy;":"\u0413","gcy;":"\u0433","Gdot;":"\u0120","gdot;":"\u0121","ge;":"\u2265","gE;":"\u2267","gEl;":"\u2a8c","gel;":"\u22db","geq;":"\u2265","geqq;":"\u2267","geqslant;":"\u2a7e","gescc;":"\u2aa9","ges;":"\u2a7e","gesdot;":"\u2a80","gesdoto;":"\u2a82","gesdotol;":"\u2a84","gesl;":"\u22db\ufe00","gesles;":"\u2a94","Gfr;":"\ud835\udd0a","gfr;":"\ud835\udd24","gg;":"\u226b","Gg;":"\u22d9","ggg;":"\u22d9","gimel;":"\u2137","GJcy;":"\u0403","gjcy;":"\u0453","gla;":"\u2aa5","gl;":"\u2277","glE;":"\u2a92","glj;":"\u2aa4","gnap;":"\u2a8a","gnapprox;":"\u2a8a","gne;":"\u2a88","gnE;":"\u2269","gneq;":"\u2a88","gneqq;":"\u2269","gnsim;":"\u22e7","Gopf;":"\ud835\udd3e","gopf;":"\ud835\udd58","grave;":"`","GreaterEqual;":"\u2265","GreaterEqualLess;":"\u22db","GreaterFullEqual;":"\u2267","GreaterGreater;":"\u2aa2","GreaterLess;":"\u2277","GreaterSlantEqual;":"\u2a7e","GreaterTilde;":"\u2273","Gscr;":"\ud835\udca2","gscr;":"\u210a","gsim;":"\u2273","gsime;":"\u2a8e","gsiml;":"\u2a90","gtcc;":"\u2aa7","gtcir;":"\u2a7a","gt;":">",gt:">","GT;":">",GT:">","Gt;":"\u226b","gtdot;":"\u22d7","gtlPar;":"\u2995","gtquest;":"\u2a7c","gtrapprox;":"\u2a86","gtrarr;":"\u2978","gtrdot;":"\u22d7","gtreqless;":"\u22db","gtreqqless;":"\u2a8c","gtrless;":"\u2277","gtrsim;":"\u2273","gvertneqq;":"\u2269\ufe00","gvnE;":"\u2269\ufe00","Hacek;":"\u02c7","hairsp;":"\u200a","half;":"\u00bd","hamilt;":"\u210b","HARDcy;":"\u042a","hardcy;":"\u044a","harrcir;":"\u2948","harr;":"\u2194","hArr;":"\u21d4","harrw;":"\u21ad","Hat;":"^","hbar;":"\u210f","Hcirc;":"\u0124","hcirc;":"\u0125","hearts;":"\u2665","heartsuit;":"\u2665","hellip;":"\u2026","hercon;":"\u22b9","hfr;":"\ud835\udd25","Hfr;":"\u210c","HilbertSpace;":"\u210b","hksearow;":"\u2925","hkswarow;":"\u2926","hoarr;":"\u21ff","homtht;":"\u223b","hookleftarrow;":"\u21a9","hookrightarrow;":"\u21aa","hopf;":"\ud835\udd59","Hopf;":"\u210d","horbar;":"\u2015","HorizontalLine;":"\u2500","hscr;":"\ud835\udcbd","Hscr;":"\u210b","hslash;":"\u210f","Hstrok;":"\u0126","hstrok;":"\u0127","HumpDownHump;":"\u224e","HumpEqual;":"\u224f","hybull;":"\u2043","hyphen;":"\u2010","Iacute;":"\u00cd",Iacute:"\u00cd","iacute;":"\u00ed",iacute:"\u00ed","ic;":"\u2063","Icirc;":"\u00ce",Icirc:"\u00ce","icirc;":"\u00ee",icirc:"\u00ee","Icy;":"\u0418","icy;":"\u0438","Idot;":"\u0130","IEcy;":"\u0415","iecy;":"\u0435","iexcl;":"\u00a1",iexcl:"\u00a1","iff;":"\u21d4","ifr;":"\ud835\udd26","Ifr;":"\u2111","Igrave;":"\u00cc",Igrave:"\u00cc","igrave;":"\u00ec",igrave:"\u00ec","ii;":"\u2148","iiiint;":"\u2a0c","iiint;":"\u222d","iinfin;":"\u29dc","iiota;":"\u2129","IJlig;":"\u0132","ijlig;":"\u0133","Imacr;":"\u012a","imacr;":"\u012b","image;":"\u2111","ImaginaryI;":"\u2148","imagline;":"\u2110","imagpart;":"\u2111","imath;":"\u0131","Im;":"\u2111","imof;":"\u22b7","imped;":"\u01b5","Implies;":"\u21d2","incare;":"\u2105","in;":"\u2208","infin;":"\u221e","infintie;":"\u29dd","inodot;":"\u0131","intcal;":"\u22ba","int;":"\u222b","Int;":"\u222c","integers;":"\u2124","Integral;":"\u222b","intercal;":"\u22ba","Intersection;":"\u22c2","intlarhk;":"\u2a17","intprod;":"\u2a3c","InvisibleComma;":"\u2063","InvisibleTimes;":"\u2062","IOcy;":"\u0401","iocy;":"\u0451","Iogon;":"\u012e","iogon;":"\u012f","Iopf;":"\ud835\udd40","iopf;":"\ud835\udd5a","Iota;":"\u0399","iota;":"\u03b9","iprod;":"\u2a3c","iquest;":"\u00bf",iquest:"\u00bf","iscr;":"\ud835\udcbe","Iscr;":"\u2110","isin;":"\u2208","isindot;":"\u22f5","isinE;":"\u22f9","isins;":"\u22f4","isinsv;":"\u22f3","isinv;":"\u2208","it;":"\u2062","Itilde;":"\u0128","itilde;":"\u0129","Iukcy;":"\u0406","iukcy;":"\u0456","Iuml;":"\u00cf",Iuml:"\u00cf","iuml;":"\u00ef",iuml:"\u00ef","Jcirc;":"\u0134","jcirc;":"\u0135","Jcy;":"\u0419","jcy;":"\u0439","Jfr;":"\ud835\udd0d","jfr;":"\ud835\udd27","jmath;":"\u0237","Jopf;":"\ud835\udd41","jopf;":"\ud835\udd5b","Jscr;":"\ud835\udca5","jscr;":"\ud835\udcbf","Jsercy;":"\u0408","jsercy;":"\u0458","Jukcy;":"\u0404","jukcy;":"\u0454","Kappa;":"\u039a","kappa;":"\u03ba","kappav;":"\u03f0","Kcedil;":"\u0136","kcedil;":"\u0137","Kcy;":"\u041a","kcy;":"\u043a","Kfr;":"\ud835\udd0e","kfr;":"\ud835\udd28","kgreen;":"\u0138","KHcy;":"\u0425","khcy;":"\u0445","KJcy;":"\u040c","kjcy;":"\u045c","Kopf;":"\ud835\udd42","kopf;":"\ud835\udd5c","Kscr;":"\ud835\udca6","kscr;":"\ud835\udcc0","lAarr;":"\u21da","Lacute;":"\u0139","lacute;":"\u013a","laemptyv;":"\u29b4","lagran;":"\u2112","Lambda;":"\u039b","lambda;":"\u03bb","lang;":"\u27e8","Lang;":"\u27ea","langd;":"\u2991","langle;":"\u27e8","lap;":"\u2a85","Laplacetrf;":"\u2112","laquo;":"\u00ab",laquo:"\u00ab","larrb;":"\u21e4","larrbfs;":"\u291f","larr;":"\u2190","Larr;":"\u219e","lArr;":"\u21d0","larrfs;":"\u291d","larrhk;":"\u21a9","larrlp;":"\u21ab","larrpl;":"\u2939","larrsim;":"\u2973","larrtl;":"\u21a2","latail;":"\u2919","lAtail;":"\u291b","lat;":"\u2aab","late;":"\u2aad","lates;":"\u2aad\ufe00","lbarr;":"\u290c","lBarr;":"\u290e","lbbrk;":"\u2772","lbrace;":"{","lbrack;":"[","lbrke;":"\u298b","lbrksld;":"\u298f","lbrkslu;":"\u298d","Lcaron;":"\u013d","lcaron;":"\u013e","Lcedil;":"\u013b","lcedil;":"\u013c","lceil;":"\u2308","lcub;":"{","Lcy;":"\u041b","lcy;":"\u043b","ldca;":"\u2936","ldquo;":"\u201c","ldquor;":"\u201e","ldrdhar;":"\u2967","ldrushar;":"\u294b","ldsh;":"\u21b2","le;":"\u2264","lE;":"\u2266","LeftAngleBracket;":"\u27e8","LeftArrowBar;":"\u21e4","leftarrow;":"\u2190","LeftArrow;":"\u2190","Leftarrow;":"\u21d0","LeftArrowRightArrow;":"\u21c6","leftarrowtail;":"\u21a2","LeftCeiling;":"\u2308","LeftDoubleBracket;":"\u27e6","LeftDownTeeVector;":"\u2961","LeftDownVectorBar;":"\u2959","LeftDownVector;":"\u21c3","LeftFloor;":"\u230a","leftharpoondown;":"\u21bd","leftharpoonup;":"\u21bc","leftleftarrows;":"\u21c7","leftrightarrow;":"\u2194","LeftRightArrow;":"\u2194","Leftrightarrow;":"\u21d4","leftrightarrows;":"\u21c6","leftrightharpoons;":"\u21cb","leftrightsquigarrow;":"\u21ad","LeftRightVector;":"\u294e","LeftTeeArrow;":"\u21a4","LeftTee;":"\u22a3","LeftTeeVector;":"\u295a","leftthreetimes;":"\u22cb","LeftTriangleBar;":"\u29cf","LeftTriangle;":"\u22b2","LeftTriangleEqual;":"\u22b4","LeftUpDownVector;":"\u2951","LeftUpTeeVector;":"\u2960","LeftUpVectorBar;":"\u2958","LeftUpVector;":"\u21bf","LeftVectorBar;":"\u2952","LeftVector;":"\u21bc","lEg;":"\u2a8b","leg;":"\u22da","leq;":"\u2264","leqq;":"\u2266","leqslant;":"\u2a7d","lescc;":"\u2aa8","les;":"\u2a7d","lesdot;":"\u2a7f","lesdoto;":"\u2a81","lesdotor;":"\u2a83","lesg;":"\u22da\ufe00","lesges;":"\u2a93","lessapprox;":"\u2a85","lessdot;":"\u22d6","lesseqgtr;":"\u22da","lesseqqgtr;":"\u2a8b","LessEqualGreater;":"\u22da","LessFullEqual;":"\u2266","LessGreater;":"\u2276","lessgtr;":"\u2276","LessLess;":"\u2aa1","lesssim;":"\u2272","LessSlantEqual;":"\u2a7d","LessTilde;":"\u2272","lfisht;":"\u297c","lfloor;":"\u230a","Lfr;":"\ud835\udd0f","lfr;":"\ud835\udd29","lg;":"\u2276","lgE;":"\u2a91","lHar;":"\u2962","lhard;":"\u21bd","lharu;":"\u21bc","lharul;":"\u296a","lhblk;":"\u2584","LJcy;":"\u0409","ljcy;":"\u0459","llarr;":"\u21c7","ll;":"\u226a","Ll;":"\u22d8","llcorner;":"\u231e","Lleftarrow;":"\u21da","llhard;":"\u296b","lltri;":"\u25fa","Lmidot;":"\u013f","lmidot;":"\u0140","lmoustache;":"\u23b0","lmoust;":"\u23b0","lnap;":"\u2a89","lnapprox;":"\u2a89","lne;":"\u2a87","lnE;":"\u2268","lneq;":"\u2a87","lneqq;":"\u2268","lnsim;":"\u22e6","loang;":"\u27ec","loarr;":"\u21fd","lobrk;":"\u27e6","longleftarrow;":"\u27f5","LongLeftArrow;":"\u27f5","Longleftarrow;":"\u27f8","longleftrightarrow;":"\u27f7","LongLeftRightArrow;":"\u27f7","Longleftrightarrow;":"\u27fa","longmapsto;":"\u27fc","longrightarrow;":"\u27f6","LongRightArrow;":"\u27f6","Longrightarrow;":"\u27f9","looparrowleft;":"\u21ab","looparrowright;":"\u21ac","lopar;":"\u2985","Lopf;":"\ud835\udd43","lopf;":"\ud835\udd5d","loplus;":"\u2a2d","lotimes;":"\u2a34","lowast;":"\u2217","lowbar;":"_","LowerLeftArrow;":"\u2199","LowerRightArrow;":"\u2198","loz;":"\u25ca","lozenge;":"\u25ca","lozf;":"\u29eb","lpar;":"(","lparlt;":"\u2993","lrarr;":"\u21c6","lrcorner;":"\u231f","lrhar;":"\u21cb","lrhard;":"\u296d","lrm;":"\u200e","lrtri;":"\u22bf","lsaquo;":"\u2039","lscr;":"\ud835\udcc1","Lscr;":"\u2112","lsh;":"\u21b0","Lsh;":"\u21b0","lsim;":"\u2272","lsime;":"\u2a8d","lsimg;":"\u2a8f","lsqb;":"[","lsquo;":"\u2018","lsquor;":"\u201a","Lstrok;":"\u0141","lstrok;":"\u0142","ltcc;":"\u2aa6","ltcir;":"\u2a79","lt;":"<",lt:"<","LT;":"<",LT:"<","Lt;":"\u226a","ltdot;":"\u22d6","lthree;":"\u22cb","ltimes;":"\u22c9","ltlarr;":"\u2976","ltquest;":"\u2a7b","ltri;":"\u25c3","ltrie;":"\u22b4","ltrif;":"\u25c2","ltrPar;":"\u2996","lurdshar;":"\u294a","luruhar;":"\u2966","lvertneqq;":"\u2268\ufe00","lvnE;":"\u2268\ufe00","macr;":"\u00af",macr:"\u00af","male;":"\u2642","malt;":"\u2720","maltese;":"\u2720","Map;":"\u2905","map;":"\u21a6","mapsto;":"\u21a6","mapstodown;":"\u21a7","mapstoleft;":"\u21a4","mapstoup;":"\u21a5","marker;":"\u25ae","mcomma;":"\u2a29","Mcy;":"\u041c","mcy;":"\u043c","mdash;":"\u2014","mDDot;":"\u223a","measuredangle;":"\u2221","MediumSpace;":"\u205f","Mellintrf;":"\u2133","Mfr;":"\ud835\udd10","mfr;":"\ud835\udd2a","mho;":"\u2127","micro;":"\u00b5",micro:"\u00b5","midast;":"*","midcir;":"\u2af0","mid;":"\u2223","middot;":"\u00b7",middot:"\u00b7","minusb;":"\u229f","minus;":"\u2212","minusd;":"\u2238","minusdu;":"\u2a2a","MinusPlus;":"\u2213","mlcp;":"\u2adb","mldr;":"\u2026","mnplus;":"\u2213","models;":"\u22a7","Mopf;":"\ud835\udd44","mopf;":"\ud835\udd5e","mp;":"\u2213","mscr;":"\ud835\udcc2","Mscr;":"\u2133","mstpos;":"\u223e","Mu;":"\u039c","mu;":"\u03bc","multimap;":"\u22b8","mumap;":"\u22b8","nabla;":"\u2207","Nacute;":"\u0143","nacute;":"\u0144","nang;":"\u2220\u20d2","nap;":"\u2249","napE;":"\u2a70\u0338","napid;":"\u224b\u0338","napos;":"\u0149","napprox;":"\u2249","natural;":"\u266e","naturals;":"\u2115","natur;":"\u266e","nbsp;":"\u00a0",nbsp:"\u00a0","nbump;":"\u224e\u0338","nbumpe;":"\u224f\u0338","ncap;":"\u2a43","Ncaron;":"\u0147","ncaron;":"\u0148","Ncedil;":"\u0145","ncedil;":"\u0146","ncong;":"\u2247","ncongdot;":"\u2a6d\u0338","ncup;":"\u2a42","Ncy;":"\u041d","ncy;":"\u043d","ndash;":"\u2013","nearhk;":"\u2924","nearr;":"\u2197","neArr;":"\u21d7","nearrow;":"\u2197","ne;":"\u2260","nedot;":"\u2250\u0338","NegativeMediumSpace;":"\u200b","NegativeThickSpace;":"\u200b","NegativeThinSpace;":"\u200b","NegativeVeryThinSpace;":"\u200b","nequiv;":"\u2262","nesear;":"\u2928","nesim;":"\u2242\u0338","NestedGreaterGreater;":"\u226b","NestedLessLess;":"\u226a","NewLine;":"\n","nexist;":"\u2204","nexists;":"\u2204","Nfr;":"\ud835\udd11","nfr;":"\ud835\udd2b","ngE;":"\u2267\u0338","nge;":"\u2271","ngeq;":"\u2271","ngeqq;":"\u2267\u0338","ngeqslant;":"\u2a7e\u0338","nges;":"\u2a7e\u0338","nGg;":"\u22d9\u0338","ngsim;":"\u2275","nGt;":"\u226b\u20d2","ngt;":"\u226f","ngtr;":"\u226f","nGtv;":"\u226b\u0338","nharr;":"\u21ae","nhArr;":"\u21ce","nhpar;":"\u2af2","ni;":"\u220b","nis;":"\u22fc","nisd;":"\u22fa","niv;":"\u220b","NJcy;":"\u040a","njcy;":"\u045a","nlarr;":"\u219a","nlArr;":"\u21cd","nldr;":"\u2025","nlE;":"\u2266\u0338","nle;":"\u2270","nleftarrow;":"\u219a","nLeftarrow;":"\u21cd","nleftrightarrow;":"\u21ae","nLeftrightarrow;":"\u21ce","nleq;":"\u2270","nleqq;":"\u2266\u0338","nleqslant;":"\u2a7d\u0338","nles;":"\u2a7d\u0338","nless;":"\u226e","nLl;":"\u22d8\u0338","nlsim;":"\u2274","nLt;":"\u226a\u20d2","nlt;":"\u226e","nltri;":"\u22ea","nltrie;":"\u22ec","nLtv;":"\u226a\u0338","nmid;":"\u2224","NoBreak;":"\u2060","NonBreakingSpace;":"\u00a0","nopf;":"\ud835\udd5f","Nopf;":"\u2115","Not;":"\u2aec","not;":"\u00ac",not:"\u00ac","NotCongruent;":"\u2262","NotCupCap;":"\u226d","NotDoubleVerticalBar;":"\u2226","NotElement;":"\u2209","NotEqual;":"\u2260","NotEqualTilde;":"\u2242\u0338","NotExists;":"\u2204","NotGreater;":"\u226f","NotGreaterEqual;":"\u2271","NotGreaterFullEqual;":"\u2267\u0338","NotGreaterGreater;":"\u226b\u0338","NotGreaterLess;":"\u2279","NotGreaterSlantEqual;":"\u2a7e\u0338","NotGreaterTilde;":"\u2275","NotHumpDownHump;":"\u224e\u0338","NotHumpEqual;":"\u224f\u0338","notin;":"\u2209","notindot;":"\u22f5\u0338","notinE;":"\u22f9\u0338","notinva;":"\u2209","notinvb;":"\u22f7","notinvc;":"\u22f6","NotLeftTriangleBar;":"\u29cf\u0338","NotLeftTriangle;":"\u22ea","NotLeftTriangleEqual;":"\u22ec","NotLess;":"\u226e","NotLessEqual;":"\u2270","NotLessGreater;":"\u2278","NotLessLess;":"\u226a\u0338","NotLessSlantEqual;":"\u2a7d\u0338","NotLessTilde;":"\u2274","NotNestedGreaterGreater;":"\u2aa2\u0338","NotNestedLessLess;":"\u2aa1\u0338","notni;":"\u220c","notniva;":"\u220c","notnivb;":"\u22fe","notnivc;":"\u22fd","NotPrecedes;":"\u2280","NotPrecedesEqual;":"\u2aaf\u0338","NotPrecedesSlantEqual;":"\u22e0","NotReverseElement;":"\u220c","NotRightTriangleBar;":"\u29d0\u0338","NotRightTriangle;":"\u22eb","NotRightTriangleEqual;":"\u22ed","NotSquareSubset;":"\u228f\u0338","NotSquareSubsetEqual;":"\u22e2","NotSquareSuperset;":"\u2290\u0338","NotSquareSupersetEqual;":"\u22e3","NotSubset;":"\u2282\u20d2","NotSubsetEqual;":"\u2288","NotSucceeds;":"\u2281","NotSucceedsEqual;":"\u2ab0\u0338","NotSucceedsSlantEqual;":"\u22e1","NotSucceedsTilde;":"\u227f\u0338","NotSuperset;":"\u2283\u20d2","NotSupersetEqual;":"\u2289","NotTilde;":"\u2241","NotTildeEqual;":"\u2244","NotTildeFullEqual;":"\u2247","NotTildeTilde;":"\u2249","NotVerticalBar;":"\u2224","nparallel;":"\u2226","npar;":"\u2226","nparsl;":"\u2afd\u20e5","npart;":"\u2202\u0338","npolint;":"\u2a14","npr;":"\u2280","nprcue;":"\u22e0","nprec;":"\u2280","npreceq;":"\u2aaf\u0338","npre;":"\u2aaf\u0338","nrarrc;":"\u2933\u0338","nrarr;":"\u219b","nrArr;":"\u21cf","nrarrw;":"\u219d\u0338","nrightarrow;":"\u219b","nRightarrow;":"\u21cf","nrtri;":"\u22eb","nrtrie;":"\u22ed","nsc;":"\u2281","nsccue;":"\u22e1","nsce;":"\u2ab0\u0338","Nscr;":"\ud835\udca9","nscr;":"\ud835\udcc3","nshortmid;":"\u2224","nshortparallel;":"\u2226","nsim;":"\u2241","nsime;":"\u2244","nsimeq;":"\u2244","nsmid;":"\u2224","nspar;":"\u2226","nsqsube;":"\u22e2","nsqsupe;":"\u22e3","nsub;":"\u2284","nsubE;":"\u2ac5\u0338","nsube;":"\u2288","nsubset;":"\u2282\u20d2","nsubseteq;":"\u2288","nsubseteqq;":"\u2ac5\u0338","nsucc;":"\u2281","nsucceq;":"\u2ab0\u0338","nsup;":"\u2285","nsupE;":"\u2ac6\u0338","nsupe;":"\u2289","nsupset;":"\u2283\u20d2","nsupseteq;":"\u2289","nsupseteqq;":"\u2ac6\u0338","ntgl;":"\u2279","Ntilde;":"\u00d1",Ntilde:"\u00d1","ntilde;":"\u00f1",ntilde:"\u00f1","ntlg;":"\u2278","ntriangleleft;":"\u22ea","ntrianglelefteq;":"\u22ec","ntriangleright;":"\u22eb","ntrianglerighteq;":"\u22ed","Nu;":"\u039d","nu;":"\u03bd","num;":"#","numero;":"\u2116","numsp;":"\u2007","nvap;":"\u224d\u20d2","nvdash;":"\u22ac","nvDash;":"\u22ad","nVdash;":"\u22ae","nVDash;":"\u22af","nvge;":"\u2265\u20d2","nvgt;":">\u20d2","nvHarr;":"\u2904","nvinfin;":"\u29de","nvlArr;":"\u2902","nvle;":"\u2264\u20d2","nvlt;":"<\u20d2","nvltrie;":"\u22b4\u20d2","nvrArr;":"\u2903","nvrtrie;":"\u22b5\u20d2","nvsim;":"\u223c\u20d2","nwarhk;":"\u2923","nwarr;":"\u2196","nwArr;":"\u21d6","nwarrow;":"\u2196","nwnear;":"\u2927","Oacute;":"\u00d3",Oacute:"\u00d3","oacute;":"\u00f3",oacute:"\u00f3","oast;":"\u229b","Ocirc;":"\u00d4",Ocirc:"\u00d4","ocirc;":"\u00f4",ocirc:"\u00f4","ocir;":"\u229a","Ocy;":"\u041e","ocy;":"\u043e","odash;":"\u229d","Odblac;":"\u0150","odblac;":"\u0151","odiv;":"\u2a38","odot;":"\u2299","odsold;":"\u29bc","OElig;":"\u0152","oelig;":"\u0153","ofcir;":"\u29bf","Ofr;":"\ud835\udd12","ofr;":"\ud835\udd2c","ogon;":"\u02db","Ograve;":"\u00d2",Ograve:"\u00d2","ograve;":"\u00f2",ograve:"\u00f2","ogt;":"\u29c1","ohbar;":"\u29b5","ohm;":"\u03a9","oint;":"\u222e","olarr;":"\u21ba","olcir;":"\u29be","olcross;":"\u29bb","oline;":"\u203e","olt;":"\u29c0","Omacr;":"\u014c","omacr;":"\u014d","Omega;":"\u03a9","omega;":"\u03c9","Omicron;":"\u039f","omicron;":"\u03bf","omid;":"\u29b6","ominus;":"\u2296","Oopf;":"\ud835\udd46","oopf;":"\ud835\udd60","opar;":"\u29b7","OpenCurlyDoubleQuote;":"\u201c","OpenCurlyQuote;":"\u2018","operp;":"\u29b9","oplus;":"\u2295","orarr;":"\u21bb","Or;":"\u2a54","or;":"\u2228","ord;":"\u2a5d","order;":"\u2134","orderof;":"\u2134","ordf;":"\u00aa",ordf:"\u00aa","ordm;":"\u00ba",ordm:"\u00ba","origof;":"\u22b6","oror;":"\u2a56","orslope;":"\u2a57","orv;":"\u2a5b","oS;":"\u24c8","Oscr;":"\ud835\udcaa","oscr;":"\u2134","Oslash;":"\u00d8",Oslash:"\u00d8","oslash;":"\u00f8",oslash:"\u00f8","osol;":"\u2298","Otilde;":"\u00d5",Otilde:"\u00d5","otilde;":"\u00f5",otilde:"\u00f5","otimesas;":"\u2a36","Otimes;":"\u2a37","otimes;":"\u2297","Ouml;":"\u00d6",Ouml:"\u00d6","ouml;":"\u00f6",ouml:"\u00f6","ovbar;":"\u233d","OverBar;":"\u203e","OverBrace;":"\u23de","OverBracket;":"\u23b4","OverParenthesis;":"\u23dc","para;":"\u00b6",para:"\u00b6","parallel;":"\u2225","par;":"\u2225","parsim;":"\u2af3","parsl;":"\u2afd","part;":"\u2202","PartialD;":"\u2202","Pcy;":"\u041f","pcy;":"\u043f","percnt;":"%","period;":".","permil;":"\u2030","perp;":"\u22a5","pertenk;":"\u2031","Pfr;":"\ud835\udd13","pfr;":"\ud835\udd2d","Phi;":"\u03a6","phi;":"\u03c6","phiv;":"\u03d5","phmmat;":"\u2133","phone;":"\u260e","Pi;":"\u03a0","pi;":"\u03c0","pitchfork;":"\u22d4","piv;":"\u03d6","planck;":"\u210f","planckh;":"\u210e","plankv;":"\u210f","plusacir;":"\u2a23","plusb;":"\u229e","pluscir;":"\u2a22","plus;":"+","plusdo;":"\u2214","plusdu;":"\u2a25","pluse;":"\u2a72","PlusMinus;":"\u00b1","plusmn;":"\u00b1",plusmn:"\u00b1","plussim;":"\u2a26","plustwo;":"\u2a27","pm;":"\u00b1","Poincareplane;":"\u210c","pointint;":"\u2a15","popf;":"\ud835\udd61","Popf;":"\u2119","pound;":"\u00a3",pound:"\u00a3","prap;":"\u2ab7","Pr;":"\u2abb","pr;":"\u227a","prcue;":"\u227c","precapprox;":"\u2ab7","prec;":"\u227a","preccurlyeq;":"\u227c","Precedes;":"\u227a","PrecedesEqual;":"\u2aaf","PrecedesSlantEqual;":"\u227c","PrecedesTilde;":"\u227e","preceq;":"\u2aaf","precnapprox;":"\u2ab9","precneqq;":"\u2ab5","precnsim;":"\u22e8","pre;":"\u2aaf","prE;":"\u2ab3","precsim;":"\u227e","prime;":"\u2032","Prime;":"\u2033","primes;":"\u2119","prnap;":"\u2ab9","prnE;":"\u2ab5","prnsim;":"\u22e8","prod;":"\u220f","Product;":"\u220f","profalar;":"\u232e","profline;":"\u2312","profsurf;":"\u2313","prop;":"\u221d","Proportional;":"\u221d","Proportion;":"\u2237","propto;":"\u221d","prsim;":"\u227e","prurel;":"\u22b0","Pscr;":"\ud835\udcab","pscr;":"\ud835\udcc5","Psi;":"\u03a8","psi;":"\u03c8","puncsp;":"\u2008","Qfr;":"\ud835\udd14","qfr;":"\ud835\udd2e","qint;":"\u2a0c","qopf;":"\ud835\udd62","Qopf;":"\u211a","qprime;":"\u2057","Qscr;":"\ud835\udcac","qscr;":"\ud835\udcc6","quaternions;":"\u210d","quatint;":"\u2a16","quest;":"?","questeq;":"\u225f","quot;":'"',quot:'"',"QUOT;":'"',QUOT:'"',"rAarr;":"\u21db","race;":"\u223d\u0331","Racute;":"\u0154","racute;":"\u0155","radic;":"\u221a","raemptyv;":"\u29b3","rang;":"\u27e9","Rang;":"\u27eb","rangd;":"\u2992","range;":"\u29a5","rangle;":"\u27e9","raquo;":"\u00bb",raquo:"\u00bb","rarrap;":"\u2975","rarrb;":"\u21e5","rarrbfs;":"\u2920","rarrc;":"\u2933","rarr;":"\u2192","Rarr;":"\u21a0","rArr;":"\u21d2","rarrfs;":"\u291e","rarrhk;":"\u21aa","rarrlp;":"\u21ac","rarrpl;":"\u2945","rarrsim;":"\u2974","Rarrtl;":"\u2916","rarrtl;":"\u21a3","rarrw;":"\u219d","ratail;":"\u291a","rAtail;":"\u291c","ratio;":"\u2236","rationals;":"\u211a","rbarr;":"\u290d","rBarr;":"\u290f","RBarr;":"\u2910","rbbrk;":"\u2773","rbrace;":"}","rbrack;":"]","rbrke;":"\u298c","rbrksld;":"\u298e","rbrkslu;":"\u2990","Rcaron;":"\u0158","rcaron;":"\u0159","Rcedil;":"\u0156","rcedil;":"\u0157","rceil;":"\u2309","rcub;":"}","Rcy;":"\u0420","rcy;":"\u0440","rdca;":"\u2937","rdldhar;":"\u2969","rdquo;":"\u201d","rdquor;":"\u201d","rdsh;":"\u21b3","real;":"\u211c","realine;":"\u211b","realpart;":"\u211c","reals;":"\u211d","Re;":"\u211c","rect;":"\u25ad","reg;":"\u00ae",reg:"\u00ae","REG;":"\u00ae",REG:"\u00ae","ReverseElement;":"\u220b","ReverseEquilibrium;":"\u21cb","ReverseUpEquilibrium;":"\u296f","rfisht;":"\u297d","rfloor;":"\u230b","rfr;":"\ud835\udd2f","Rfr;":"\u211c","rHar;":"\u2964","rhard;":"\u21c1","rharu;":"\u21c0","rharul;":"\u296c","Rho;":"\u03a1","rho;":"\u03c1","rhov;":"\u03f1","RightAngleBracket;":"\u27e9","RightArrowBar;":"\u21e5","rightarrow;":"\u2192","RightArrow;":"\u2192","Rightarrow;":"\u21d2","RightArrowLeftArrow;":"\u21c4","rightarrowtail;":"\u21a3","RightCeiling;":"\u2309","RightDoubleBracket;":"\u27e7","RightDownTeeVector;":"\u295d","RightDownVectorBar;":"\u2955","RightDownVector;":"\u21c2","RightFloor;":"\u230b","rightharpoondown;":"\u21c1","rightharpoonup;":"\u21c0","rightleftarrows;":"\u21c4","rightleftharpoons;":"\u21cc","rightrightarrows;":"\u21c9","rightsquigarrow;":"\u219d","RightTeeArrow;":"\u21a6","RightTee;":"\u22a2","RightTeeVector;":"\u295b","rightthreetimes;":"\u22cc","RightTriangleBar;":"\u29d0","RightTriangle;":"\u22b3","RightTriangleEqual;":"\u22b5","RightUpDownVector;":"\u294f","RightUpTeeVector;":"\u295c","RightUpVectorBar;":"\u2954","RightUpVector;":"\u21be","RightVectorBar;":"\u2953","RightVector;":"\u21c0","ring;":"\u02da","risingdotseq;":"\u2253","rlarr;":"\u21c4","rlhar;":"\u21cc","rlm;":"\u200f","rmoustache;":"\u23b1","rmoust;":"\u23b1","rnmid;":"\u2aee","roang;":"\u27ed","roarr;":"\u21fe","robrk;":"\u27e7","ropar;":"\u2986","ropf;":"\ud835\udd63","Ropf;":"\u211d","roplus;":"\u2a2e","rotimes;":"\u2a35","RoundImplies;":"\u2970","rpar;":")","rpargt;":"\u2994","rppolint;":"\u2a12","rrarr;":"\u21c9","Rrightarrow;":"\u21db","rsaquo;":"\u203a","rscr;":"\ud835\udcc7","Rscr;":"\u211b","rsh;":"\u21b1","Rsh;":"\u21b1","rsqb;":"]","rsquo;":"\u2019","rsquor;":"\u2019","rthree;":"\u22cc","rtimes;":"\u22ca","rtri;":"\u25b9","rtrie;":"\u22b5","rtrif;":"\u25b8","rtriltri;":"\u29ce","RuleDelayed;":"\u29f4","ruluhar;":"\u2968","rx;":"\u211e","Sacute;":"\u015a","sacute;":"\u015b","sbquo;":"\u201a","scap;":"\u2ab8","Scaron;":"\u0160","scaron;":"\u0161","Sc;":"\u2abc","sc;":"\u227b","sccue;":"\u227d","sce;":"\u2ab0","scE;":"\u2ab4","Scedil;":"\u015e","scedil;":"\u015f","Scirc;":"\u015c","scirc;":"\u015d","scnap;":"\u2aba","scnE;":"\u2ab6","scnsim;":"\u22e9","scpolint;":"\u2a13","scsim;":"\u227f","Scy;":"\u0421","scy;":"\u0441","sdotb;":"\u22a1","sdot;":"\u22c5","sdote;":"\u2a66","searhk;":"\u2925","searr;":"\u2198","seArr;":"\u21d8","searrow;":"\u2198","sect;":"\u00a7",sect:"\u00a7","semi;":";","seswar;":"\u2929","setminus;":"\u2216","setmn;":"\u2216","sext;":"\u2736","Sfr;":"\ud835\udd16","sfr;":"\ud835\udd30","sfrown;":"\u2322","sharp;":"\u266f","SHCHcy;":"\u0429","shchcy;":"\u0449","SHcy;":"\u0428","shcy;":"\u0448","ShortDownArrow;":"\u2193","ShortLeftArrow;":"\u2190","shortmid;":"\u2223","shortparallel;":"\u2225","ShortRightArrow;":"\u2192","ShortUpArrow;":"\u2191","shy;":"\u00ad",shy:"\u00ad","Sigma;":"\u03a3","sigma;":"\u03c3","sigmaf;":"\u03c2","sigmav;":"\u03c2","sim;":"\u223c","simdot;":"\u2a6a","sime;":"\u2243","simeq;":"\u2243","simg;":"\u2a9e","simgE;":"\u2aa0","siml;":"\u2a9d","simlE;":"\u2a9f","simne;":"\u2246","simplus;":"\u2a24","simrarr;":"\u2972","slarr;":"\u2190","SmallCircle;":"\u2218","smallsetminus;":"\u2216","smashp;":"\u2a33","smeparsl;":"\u29e4","smid;":"\u2223","smile;":"\u2323","smt;":"\u2aaa","smte;":"\u2aac","smtes;":"\u2aac\ufe00","SOFTcy;":"\u042c","softcy;":"\u044c","solbar;":"\u233f","solb;":"\u29c4","sol;":"/","Sopf;":"\ud835\udd4a","sopf;":"\ud835\udd64","spades;":"\u2660","spadesuit;":"\u2660","spar;":"\u2225","sqcap;":"\u2293","sqcaps;":"\u2293\ufe00","sqcup;":"\u2294","sqcups;":"\u2294\ufe00","Sqrt;":"\u221a","sqsub;":"\u228f","sqsube;":"\u2291","sqsubset;":"\u228f","sqsubseteq;":"\u2291","sqsup;":"\u2290","sqsupe;":"\u2292","sqsupset;":"\u2290","sqsupseteq;":"\u2292","square;":"\u25a1","Square;":"\u25a1","SquareIntersection;":"\u2293","SquareSubset;":"\u228f","SquareSubsetEqual;":"\u2291","SquareSuperset;":"\u2290","SquareSupersetEqual;":"\u2292","SquareUnion;":"\u2294","squarf;":"\u25aa","squ;":"\u25a1","squf;":"\u25aa","srarr;":"\u2192","Sscr;":"\ud835\udcae","sscr;":"\ud835\udcc8","ssetmn;":"\u2216","ssmile;":"\u2323","sstarf;":"\u22c6","Star;":"\u22c6","star;":"\u2606","starf;":"\u2605","straightepsilon;":"\u03f5","straightphi;":"\u03d5","strns;":"\u00af","sub;":"\u2282","Sub;":"\u22d0","subdot;":"\u2abd","subE;":"\u2ac5","sube;":"\u2286","subedot;":"\u2ac3","submult;":"\u2ac1","subnE;":"\u2acb","subne;":"\u228a","subplus;":"\u2abf","subrarr;":"\u2979","subset;":"\u2282","Subset;":"\u22d0","subseteq;":"\u2286","subseteqq;":"\u2ac5","SubsetEqual;":"\u2286","subsetneq;":"\u228a","subsetneqq;":"\u2acb","subsim;":"\u2ac7","subsub;":"\u2ad5","subsup;":"\u2ad3","succapprox;":"\u2ab8","succ;":"\u227b","succcurlyeq;":"\u227d","Succeeds;":"\u227b","SucceedsEqual;":"\u2ab0","SucceedsSlantEqual;":"\u227d","SucceedsTilde;":"\u227f","succeq;":"\u2ab0","succnapprox;":"\u2aba","succneqq;":"\u2ab6","succnsim;":"\u22e9","succsim;":"\u227f","SuchThat;":"\u220b","sum;":"\u2211","Sum;":"\u2211","sung;":"\u266a","sup1;":"\u00b9",sup1:"\u00b9","sup2;":"\u00b2",sup2:"\u00b2","sup3;":"\u00b3",sup3:"\u00b3","sup;":"\u2283","Sup;":"\u22d1","supdot;":"\u2abe","supdsub;":"\u2ad8","supE;":"\u2ac6","supe;":"\u2287","supedot;":"\u2ac4","Superset;":"\u2283","SupersetEqual;":"\u2287","suphsol;":"\u27c9","suphsub;":"\u2ad7","suplarr;":"\u297b","supmult;":"\u2ac2","supnE;":"\u2acc","supne;":"\u228b","supplus;":"\u2ac0","supset;":"\u2283","Supset;":"\u22d1","supseteq;":"\u2287","supseteqq;":"\u2ac6","supsetneq;":"\u228b","supsetneqq;":"\u2acc","supsim;":"\u2ac8","supsub;":"\u2ad4","supsup;":"\u2ad6","swarhk;":"\u2926","swarr;":"\u2199","swArr;":"\u21d9","swarrow;":"\u2199","swnwar;":"\u292a","szlig;":"\u00df",szlig:"\u00df","Tab;":" ","target;":"\u2316","Tau;":"\u03a4","tau;":"\u03c4","tbrk;":"\u23b4","Tcaron;":"\u0164","tcaron;":"\u0165","Tcedil;":"\u0162","tcedil;":"\u0163","Tcy;":"\u0422","tcy;":"\u0442","tdot;":"\u20db","telrec;":"\u2315","Tfr;":"\ud835\udd17","tfr;":"\ud835\udd31","there4;":"\u2234","therefore;":"\u2234","Therefore;":"\u2234","Theta;":"\u0398","theta;":"\u03b8","thetasym;":"\u03d1","thetav;":"\u03d1","thickapprox;":"\u2248","thicksim;":"\u223c","ThickSpace;":"\u205f\u200a","ThinSpace;":"\u2009","thinsp;":"\u2009","thkap;":"\u2248","thksim;":"\u223c","THORN;":"\u00de",THORN:"\u00de","thorn;":"\u00fe",thorn:"\u00fe","tilde;":"\u02dc","Tilde;":"\u223c","TildeEqual;":"\u2243","TildeFullEqual;":"\u2245","TildeTilde;":"\u2248","timesbar;":"\u2a31","timesb;":"\u22a0","times;":"\u00d7",times:"\u00d7","timesd;":"\u2a30","tint;":"\u222d","toea;":"\u2928","topbot;":"\u2336","topcir;":"\u2af1","top;":"\u22a4","Topf;":"\ud835\udd4b","topf;":"\ud835\udd65","topfork;":"\u2ada","tosa;":"\u2929","tprime;":"\u2034","trade;":"\u2122","TRADE;":"\u2122","triangle;":"\u25b5","triangledown;":"\u25bf","triangleleft;":"\u25c3","trianglelefteq;":"\u22b4","triangleq;":"\u225c","triangleright;":"\u25b9","trianglerighteq;":"\u22b5","tridot;":"\u25ec","trie;":"\u225c","triminus;":"\u2a3a","TripleDot;":"\u20db","triplus;":"\u2a39","trisb;":"\u29cd","tritime;":"\u2a3b","trpezium;":"\u23e2","Tscr;":"\ud835\udcaf","tscr;":"\ud835\udcc9","TScy;":"\u0426","tscy;":"\u0446","TSHcy;":"\u040b","tshcy;":"\u045b","Tstrok;":"\u0166","tstrok;":"\u0167","twixt;":"\u226c","twoheadleftarrow;":"\u219e","twoheadrightarrow;":"\u21a0","Uacute;":"\u00da",Uacute:"\u00da","uacute;":"\u00fa",uacute:"\u00fa","uarr;":"\u2191","Uarr;":"\u219f","uArr;":"\u21d1","Uarrocir;":"\u2949","Ubrcy;":"\u040e","ubrcy;":"\u045e","Ubreve;":"\u016c","ubreve;":"\u016d","Ucirc;":"\u00db",Ucirc:"\u00db","ucirc;":"\u00fb",ucirc:"\u00fb","Ucy;":"\u0423","ucy;":"\u0443","udarr;":"\u21c5","Udblac;":"\u0170","udblac;":"\u0171","udhar;":"\u296e","ufisht;":"\u297e","Ufr;":"\ud835\udd18","ufr;":"\ud835\udd32","Ugrave;":"\u00d9",Ugrave:"\u00d9","ugrave;":"\u00f9",ugrave:"\u00f9","uHar;":"\u2963","uharl;":"\u21bf","uharr;":"\u21be","uhblk;":"\u2580","ulcorn;":"\u231c","ulcorner;":"\u231c","ulcrop;":"\u230f","ultri;":"\u25f8","Umacr;":"\u016a","umacr;":"\u016b","uml;":"\u00a8",uml:"\u00a8","UnderBar;":"_","UnderBrace;":"\u23df","UnderBracket;":"\u23b5","UnderParenthesis;":"\u23dd","Union;":"\u22c3","UnionPlus;":"\u228e","Uogon;":"\u0172","uogon;":"\u0173","Uopf;":"\ud835\udd4c","uopf;":"\ud835\udd66","UpArrowBar;":"\u2912","uparrow;":"\u2191","UpArrow;":"\u2191","Uparrow;":"\u21d1","UpArrowDownArrow;":"\u21c5","updownarrow;":"\u2195","UpDownArrow;":"\u2195","Updownarrow;":"\u21d5","UpEquilibrium;":"\u296e","upharpoonleft;":"\u21bf","upharpoonright;":"\u21be","uplus;":"\u228e","UpperLeftArrow;":"\u2196","UpperRightArrow;":"\u2197","upsi;":"\u03c5","Upsi;":"\u03d2","upsih;":"\u03d2","Upsilon;":"\u03a5","upsilon;":"\u03c5","UpTeeArrow;":"\u21a5","UpTee;":"\u22a5","upuparrows;":"\u21c8","urcorn;":"\u231d","urcorner;":"\u231d","urcrop;":"\u230e","Uring;":"\u016e","uring;":"\u016f","urtri;":"\u25f9","Uscr;":"\ud835\udcb0","uscr;":"\ud835\udcca","utdot;":"\u22f0","Utilde;":"\u0168","utilde;":"\u0169","utri;":"\u25b5","utrif;":"\u25b4","uuarr;":"\u21c8","Uuml;":"\u00dc",Uuml:"\u00dc","uuml;":"\u00fc",uuml:"\u00fc","uwangle;":"\u29a7","vangrt;":"\u299c","varepsilon;":"\u03f5","varkappa;":"\u03f0","varnothing;":"\u2205","varphi;":"\u03d5","varpi;":"\u03d6","varpropto;":"\u221d","varr;":"\u2195","vArr;":"\u21d5","varrho;":"\u03f1","varsigma;":"\u03c2","varsubsetneq;":"\u228a\ufe00","varsubsetneqq;":"\u2acb\ufe00","varsupsetneq;":"\u228b\ufe00","varsupsetneqq;":"\u2acc\ufe00","vartheta;":"\u03d1","vartriangleleft;":"\u22b2","vartriangleright;":"\u22b3","vBar;":"\u2ae8","Vbar;":"\u2aeb","vBarv;":"\u2ae9","Vcy;":"\u0412","vcy;":"\u0432","vdash;":"\u22a2","vDash;":"\u22a8","Vdash;":"\u22a9","VDash;":"\u22ab","Vdashl;":"\u2ae6","veebar;":"\u22bb","vee;":"\u2228","Vee;":"\u22c1","veeeq;":"\u225a","vellip;":"\u22ee","verbar;":"|","Verbar;":"\u2016","vert;":"|","Vert;":"\u2016","VerticalBar;":"\u2223","VerticalLine;":"|","VerticalSeparator;":"\u2758","VerticalTilde;":"\u2240","VeryThinSpace;":"\u200a","Vfr;":"\ud835\udd19","vfr;":"\ud835\udd33","vltri;":"\u22b2","vnsub;":"\u2282\u20d2","vnsup;":"\u2283\u20d2","Vopf;":"\ud835\udd4d","vopf;":"\ud835\udd67","vprop;":"\u221d","vrtri;":"\u22b3","Vscr;":"\ud835\udcb1","vscr;":"\ud835\udccb","vsubnE;":"\u2acb\ufe00","vsubne;":"\u228a\ufe00","vsupnE;":"\u2acc\ufe00","vsupne;":"\u228b\ufe00","Vvdash;":"\u22aa","vzigzag;":"\u299a","Wcirc;":"\u0174","wcirc;":"\u0175","wedbar;":"\u2a5f","wedge;":"\u2227","Wedge;":"\u22c0","wedgeq;":"\u2259","weierp;":"\u2118","Wfr;":"\ud835\udd1a","wfr;":"\ud835\udd34","Wopf;":"\ud835\udd4e","wopf;":"\ud835\udd68","wp;":"\u2118","wr;":"\u2240","wreath;":"\u2240","Wscr;":"\ud835\udcb2","wscr;":"\ud835\udccc","xcap;":"\u22c2","xcirc;":"\u25ef","xcup;":"\u22c3","xdtri;":"\u25bd","Xfr;":"\ud835\udd1b","xfr;":"\ud835\udd35","xharr;":"\u27f7","xhArr;":"\u27fa","Xi;":"\u039e","xi;":"\u03be","xlarr;":"\u27f5","xlArr;":"\u27f8","xmap;":"\u27fc","xnis;":"\u22fb","xodot;":"\u2a00","Xopf;":"\ud835\udd4f","xopf;":"\ud835\udd69","xoplus;":"\u2a01","xotime;":"\u2a02","xrarr;":"\u27f6","xrArr;":"\u27f9","Xscr;":"\ud835\udcb3","xscr;":"\ud835\udccd","xsqcup;":"\u2a06","xuplus;":"\u2a04","xutri;":"\u25b3","xvee;":"\u22c1","xwedge;":"\u22c0","Yacute;":"\u00dd",Yacute:"\u00dd","yacute;":"\u00fd",yacute:"\u00fd","YAcy;":"\u042f","yacy;":"\u044f","Ycirc;":"\u0176","ycirc;":"\u0177","Ycy;":"\u042b","ycy;":"\u044b","yen;":"\u00a5",yen:"\u00a5","Yfr;":"\ud835\udd1c","yfr;":"\ud835\udd36","YIcy;":"\u0407","yicy;":"\u0457","Yopf;":"\ud835\udd50","yopf;":"\ud835\udd6a","Yscr;":"\ud835\udcb4","yscr;":"\ud835\udcce","YUcy;":"\u042e","yucy;":"\u044e","yuml;":"\u00ff",yuml:"\u00ff","Yuml;":"\u0178","Zacute;":"\u0179","zacute;":"\u017a","Zcaron;":"\u017d","zcaron;":"\u017e","Zcy;":"\u0417","zcy;":"\u0437","Zdot;":"\u017b","zdot;":"\u017c","zeetrf;":"\u2128","ZeroWidthSpace;":"\u200b","Zeta;":"\u0396","zeta;":"\u03b6","zfr;":"\ud835\udd37","Zfr;":"\u2128","ZHcy;":"\u0416","zhcy;":"\u0436","zigrarr;":"\u21dd","zopf;":"\ud835\udd6b","Zopf;":"\u2124","Zscr;":"\ud835\udcb5","zscr;":"\ud835\udccf","zwj;":"\u200d","zwnj;":"\u200c"}},{}],13:[function(e,t,n){function u(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&(isNaN(t)||!isFinite(t))?t.toString():r.isFunction(t)||r.isRegExp(t)?t.toString():t}function a(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function f(e){return a(JSON.stringify(e.actual,u),128)+" "+e.operator+" "+a(JSON.stringify(e.expected,u),128)}function l(e,t,n,r,i){throw new o.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function c(e,t){e||l(e,!0,t,"==",o.ok)}function h(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:!r.isObject(e)&&!r.isObject(t)?e==t:d(e,t)}function p(e){return Object.prototype.toString.call(e)=="[object Arguments]"}function d(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(p(e))return p(t)?(e=i.call(e),t=i.call(t),h(e,t)):!1;try{var n=g(e),s=g(t),o,u}catch(a){return!1}if(n.length!=s.length)return!1;n.sort(),s.sort();for(u=n.length-1;u>=0;u--)if(n[u]!=s[u])return!1;for(u=n.length-1;u>=0;u--){o=n[u];if(!h(e[o],t[o]))return!1}return!0}function v(e,t){return!e||!t?!1:Object.prototype.toString.call(t)=="[object RegExp]"?t.test(e):e instanceof t?!0:t.call({},e)===!0?!0:!1}function m(e,t,n,i){var s;r.isString(n)&&(i=n,n=null);try{t()}catch(o){s=o}i=(n&&n.name?" ("+n.name+").":".")+(i?" "+i:"."),e&&!s&&l(s,n,"Missing expected exception"+i),!e&&v(s,n)&&l(s,n,"Got unwanted exception"+i);if(e&&s&&n&&!v(s,n)||!e&&s)throw s}var r=e("util/"),i=Array.prototype.slice,s=Object.prototype.hasOwnProperty,o=t.exports=c;o.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=f(this),this.generatedMessage=!0);var n=t.stackStartFunction||l;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,s=n.name,o=i.indexOf("\n"+s);if(o>=0){var u=i.indexOf("\n",o+1);i=i.substring(u+1)}this.stack=i}}},r.inherits(o.AssertionError,Error),o.fail=l,o.ok=c,o.equal=function(t,n,r){t!=n&&l(t,n,r,"==",o.equal)},o.notEqual=function(t,n,r){t==n&&l(t,n,r,"!=",o.notEqual)},o.deepEqual=function(t,n,r){h(t,n)||l(t,n,r,"deepEqual",o.deepEqual)},o.notDeepEqual=function(t,n,r){h(t,n)&&l(t,n,r,"notDeepEqual",o.notDeepEqual)},o.strictEqual=function(t,n,r){t!==n&&l(t,n,r,"===",o.strictEqual)},o.notStrictEqual=function(t,n,r){t===n&&l(t,n,r,"!==",o.notStrictEqual)},o.throws=function(e,t,n){m.apply(this,[!0].concat(i.call(arguments)))},o.doesNotThrow=function(e,t){m.apply(this,[!1].concat(i.call(arguments)))},o.ifError=function(e){if(e)throw e};var g=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}},{"util/":15}],14:[function(e,t,n){t.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}},{}],15:[function(e,t,n){(function(t,r){function u(e,t){var r={seen:[],stylize:f};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(t)?r.showHidden=t:t&&n._extend(r,t),T(r.showHidden)&&(r.showHidden=!1),T(r.depth)&&(r.depth=2),T(r.colors)&&(r.colors=!1),T(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var n=u.styles[t];return n?"["+u.colors[n][0]+"m"+e+"["+u.colors[n][1]+"m":e}function f(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function c(e,t,r){if(e.customInspect&&t&&A(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(r,e);return S(i)||(i=c(e,i,r)),i}var s=h(e,t);if(s)return s;var o=Object.keys(t),u=l(o);e.showHidden&&(o=Object.getOwnPropertyNames(t));if(L(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(t);if(o.length===0){if(A(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(N(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(k(t))return e.stylize(Date.prototype.toString.call(t),"date");if(L(t))return p(t)}var f="",y=!1,b=["{","}"];g(t)&&(y=!0,b=["[","]"]);if(A(t)){var w=t.name?": "+t.name:"";f=" [Function"+w+"]"}N(t)&&(f=" "+RegExp.prototype.toString.call(t)),k(t)&&(f=" "+Date.prototype.toUTCString.call(t)),L(t)&&(f=" "+p(t));if(o.length!==0||!!y&&t.length!=0){if(r<0)return N(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var E;return y?E=d(e,t,r,u,o):E=o.map(function(n){return v(e,t,r,u,n,y)}),e.seen.pop(),m(E,f,b)}return b[0]+f+b[1]}function h(e,t){if(T(t))return e.stylize("undefined","undefined");if(S(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(E(t))return e.stylize(""+t,"number");if(y(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i){var s=[];for(var o=0,u=t.length;o<u;++o)H(t,String(o))?s.push(v(e,t,n,r,String(o),!0)):s.push("");return i.forEach(function(i){i.match(/^\d+$/)||s.push(v(e,t,n,r,i,!0))}),s}function v(e,t,n,r,i,s){var o,u,a;a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},a.get?a.set?u=e.stylize("[Getter/Setter]","special"):u=e.stylize("[Getter]","special"):a.set&&(u=e.stylize("[Setter]","special")),H(r,i)||(o="["+i+"]"),u||(e.seen.indexOf(a.value)<0?(b(n)?u=c(e,a.value,null):u=c(e,a.value,n-1),u.indexOf("\n")>-1&&(s?u=u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):u="\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special"));if(T(o)){if(s&&i.match(/^\d+$/))return u;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+u}function m(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(t===""?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function g(e){return Array.isArray(e)}function y(e){return typeof e=="boolean"}function b(e){return e===null}function w(e){return e==null}function E(e){return typeof e=="number"}function S(e){return typeof e=="string"}function x(e){return typeof e=="symbol"}function T(e){return e===void 0}function N(e){return C(e)&&M(e)==="[object RegExp]"}function C(e){return typeof e=="object"&&e!==null}function k(e){return C(e)&&M(e)==="[object Date]"}function L(e){return C(e)&&(M(e)==="[object Error]"||e instanceof Error)}function A(e){return typeof e=="function"}function O(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}function M(e){return Object.prototype.toString.call(e)}function _(e){return e<10?"0"+e.toString(10):e.toString(10)}function P(){var e=new Date,t=[_(e.getHours()),_(e.getMinutes()),_(e.getSeconds())].join(":");return[e.getDate(),D[e.getMonth()],t].join(" ")}function H(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var i=/%[sdj%]/g;n.format=function(e){if(!S(e)){var t=[];for(var n=0;n<arguments.length;n++)t.push(u(arguments[n]));return t.join(" ")}var n=1,r=arguments,s=r.length,o=String(e).replace(i,function(e){if(e==="%%")return"%";if(n>=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"};default:return e}});for(var a=r[n];n<s;a=r[++n])b(a)||!C(a)?o+=" "+a:o+=" "+u(a);return o},n.deprecate=function(e,i){function o(){if(!s){if(t.throwDeprecation)throw new Error(i);t.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}if(T(r.process))return function(){return n.deprecate(e,i).apply(this,arguments)};if(t.noDeprecation===!0)return e;var s=!1;return o};var s={},o;n.debuglog=function(e){T(o)&&(o=t.env.NODE_DEBUG||""),e=e.toUpperCase();if(!s[e])if((new RegExp("\\b"+e+"\\b","i")).test(o)){var r=t.pid;s[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else s[e]=function(){};return s[e]},n.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow","boolean":"yellow","undefined":"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=g,n.isBoolean=y,n.isNull=b,n.isNullOrUndefined=w,n.isNumber=E,n.isString=S,n.isSymbol=x,n.isUndefined=T,n.isRegExp=N,n.isObject=C,n.isDate=k,n.isError=L,n.isFunction=A,n.isPrimitive=O,n.isBuffer=e("./support/isBuffer");var D=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];n.log=function(){console.log("%s - %s",P(),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!C(t))return e;var n=Object.keys(t),r=n.length;while(r--)e[n[r]]=t[n[r]];return e}}).call(this,e("/usr/local/lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./support/isBuffer":14,"/usr/local/lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":18,inherits:17}],16:[function(e,t,n){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||undefined}function i(e){return typeof e=="function"}function s(e){return typeof e=="number"}function o(e){return typeof e=="object"&&e!==null}function u(e){return e===void 0}t.exports=r,r.EventEmitter=r,r.prototype._events=undefined,r.prototype._maxListeners=undefined,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,s,a,f;this._events||(this._events={});if(e==="error")if(!this._events.error||o(this._events.error)&&!this._events.error.length)throw t=arguments[1],t instanceof Error?t:TypeError('Uncaught, unspecified "error" event.');n=this._events[e];if(u(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];n.apply(this,s)}else if(o(n)){r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];f=n.slice(),r=f.length;for(a=0;a<r;a++)f[a].apply(this,s)}return!0},r.prototype.addListener=function(e,t){var n;if(!i(t))throw TypeError("listener must be a function");this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t;if(o(this._events[e])&&!this._events[e].warned){var n;u(this._maxListeners)?n=r.defaultMaxListeners:n=this._maxListeners,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},r.prototype.removeListener=function(e,t){var n,r,s,u;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;n=this._events[e],s=n.length,r=-1;if(n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(u=s;u-->0;)if(n[u]===t||n[u].listener&&n[u].listener===t){r=u;break}if(r<0)return this;n.length===1?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[e]&&delete this._events[e],this;if(arguments.length===0){for(t in this._events){if(t==="removeListener")continue;this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}n=this._events[e];if(i(n))this.removeListener(e,n);else while(n.length)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return!this._events||!this._events[e]?t=[]:i(this._events[e])?t=[this._events[e]]:t=this._events[e].slice(),t},r.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:i(e._events[t])?n=1:n=e._events[t].length,n}},{}],17:[function(e,t,n){typeof Object.create=="function"?t.exports=function(t,n){t.super_=n,t.prototype=Object.create(n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,n){t.super_=n;var r=function(){};r.prototype=n.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],18:[function(e,t,n){function i(){}var r=t.exports={};r.nextTick=function(){var e=typeof window!="undefined"&&window.setImmediate,t=typeof window!="undefined"&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||t===null)&&e.data==="process-tick"){e.stopPropagation();if(n.length>0){var r=n.shift();r()}}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=i,r.once=i,r.off=i,r.emit=i,r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}],19:[function(e,t,n){t.exports=e(14)},{}],20:[function(e,t,n){t.exports=e(15)},{"./support/isBuffer":19,"/usr/local/lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":18,inherits:17}]},{},[9])(9)}),ace.define("ace/mode/html_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/html/saxparser"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./html/saxparser").SAXParser,u={"expected-doctype-but-got-start-tag":"info","expected-doctype-but-got-chars":"info","non-html-root":"info"},a=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.context=null};r.inherits(a,s),function(){this.setOptions=function(e){this.context=e.context},this.onUpdate=function(){var e=this.doc.getValue();if(!e)return;var t=new o,n=[],r=function(){};t.contentHandler={startDocument:r,endDocument:r,startElement:r,endElement:r,characters:r},t.errorHandler={error:function(e,t,r){n.push({row:t.line,column:t.column,text:e,type:u[r]||"error"})}},this.context?t.parseFragment(e,this.context):t.parse(e),this.sender.emit("error",n)}}.call(a.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-javascript.js b/library/ace/worker-javascript.js
new file mode 100644
index 000000000..bca38f057
--- /dev/null
+++ b/library/ace/worker-javascript.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/javascript/jshint",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(s)return s(u,!0);var l=new Error("Cannot find module '"+u+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[u]={exports:{}};t[u][0].call(c.exports,function(e){var n=t[u][1][e];return o(n?n:e)},c,c.exports,r,t,n,i)}return n[u].exports}var s=typeof e=="function"&&e;for(var u=0;u<i.length;u++)o(i[u]);return o(i[0])}({"/node_modules/browserify/node_modules/events/events.js":[function(e,t,n){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||undefined}function i(e){return typeof e=="function"}function s(e){return typeof e=="number"}function o(e){return typeof e=="object"&&e!==null}function u(e){return e===void 0}t.exports=r,r.EventEmitter=r,r.prototype._events=undefined,r.prototype._maxListeners=undefined,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,s,a,f;this._events||(this._events={});if(e==="error")if(!this._events.error||o(this._events.error)&&!this._events.error.length)throw t=arguments[1],t instanceof Error?t:TypeError('Uncaught, unspecified "error" event.');n=this._events[e];if(u(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];n.apply(this,s)}else if(o(n)){r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];f=n.slice(),r=f.length;for(a=0;a<r;a++)f[a].apply(this,s)}return!0},r.prototype.addListener=function(e,t){var n;if(!i(t))throw TypeError("listener must be a function");this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t;if(o(this._events[e])&&!this._events[e].warned){var n;u(this._maxListeners)?n=r.defaultMaxListeners:n=this._maxListeners,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),typeof console.trace=="function"&&console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},r.prototype.removeListener=function(e,t){var n,r,s,u;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;n=this._events[e],s=n.length,r=-1;if(n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(u=s;u-->0;)if(n[u]===t||n[u].listener&&n[u].listener===t){r=u;break}if(r<0)return this;n.length===1?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[e]&&delete this._events[e],this;if(arguments.length===0){for(t in this._events){if(t==="removeListener")continue;this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}n=this._events[e];if(i(n))this.removeListener(e,n);else while(n.length)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return!this._events||!this._events[e]?t=[]:i(this._events[e])?t=[this._events[e]]:t=this._events[e].slice(),t},r.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:i(e._events[t])?n=1:n=e._events[t].length,n}},{}],"/node_modules/jshint/data/ascii-identifier-data.js":[function(e,t,n){var r=[];for(var i=0;i<128;i++)r[i]=i===36||i>=65&&i<=90||i===95||i>=97&&i<=122;var s=[];for(var i=0;i<128;i++)s[i]=r[i]||i>=48&&i<=57;t.exports={asciiIdentifierStartTable:r,asciiIdentifierPartTable:s}},{}],"/node_modules/jshint/lodash.js":[function(e,t,n){(function(e){(function(){function $(e,t,n){var r=e.length,i=n?r:-1;while(n?i--:++i<r)if(t(e[i],i,e))return i;return-1}function J(e,t,n){if(t!==t)return G(e,n);var r=n-1,i=e.length;while(++r<i)if(e[r]===t)return r;return-1}function K(e){return typeof e=="function"||!1}function Q(e){return typeof e=="string"?e:e==null?"":e+""}function G(e,t,n){var r=e.length,i=t+(n?0:-1);while(n?i--:++i<r){var s=e[i];if(s!==s)return i}return-1}function Y(e){return!!e&&typeof e=="object"}function Ct(){}function Lt(e,t){var n=-1,r=e.length;t||(t=Array(r));while(++n<r)t[n]=e[n];return t}function At(e,t){var n=-1,r=e.length;while(++n<r)if(t(e[n],n,e)===!1)break;return e}function Ot(e,t){var n=-1,r=e.length,i=-1,s=[];while(++n<r){var o=e[n];t(o,n,e)&&(s[++i]=o)}return s}function Mt(e,t){var n=-1,r=e.length,i=Array(r);while(++n<r)i[n]=t(e[n],n,e);return i}function _t(e){var t=-1,n=e.length,r=wt;while(++t<n){var i=e[t];i>r&&(r=i)}return r}function Dt(e,t){var n=-1,r=e.length;while(++n<r)if(t(e[n],n,e))return!0;return!1}function Pt(e,t,n){var i=rr(t);lt.apply(i,bn(t));var s=-1,o=i.length;while(++s<o){var u=i[s],a=e[u],f=n(a,t[u],u,e,t);if((f===f?f!==a:a===a)||a===r&&!(u in e))e[u]=f}return e}function Bt(e,t,n){n||(n={});var r=-1,i=t.length;while(++r<i){var s=t[r];n[s]=e[s]}return n}function jt(e,t,n){var i=typeof e;return i=="function"?t===r?e:on(e,t,n):e==null?lr:i=="object"?Jt(e):t===r?cr(e):Kt(e,t)}function Ft(e,t,n,i,s,u,a){var f;n&&(f=s?n(e,i,s):n(e));if(f!==r)return f;if(!Jn(e))return e;var l=Xn(e);if(l){f=wn(e);if(!t)return Lt(e,f)}else{var h=rt.call(e),p=h==c;if(!(h==d||h==o||p&&!s))return F[h]?Sn(e,h,t):s?e:{};f=En(p?{}:e);if(!t)return Ht(f,e)}u||(u=[]),a||(a=[]);var v=u.length;while(v--)if(u[v]==e)return a[v];return u.push(e),a.push(f),(l?At:zt)(e,function(r,i){f[i]=Ft(r,t,n,i,e,u,a)}),f}function qt(e,t){var n=[];return It(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function Ut(e,t){return Rt(e,t,ir)}function zt(e,t){return Rt(e,t,rr)}function Wt(e,t,n){if(e==null)return;n!==r&&n in On(e)&&(t=[n]);var i=-1,s=t.length;while(e!=null&&++i<s)var o=e=e[t[i]];return o}function Xt(e,t,n,r,i,s){if(e===t)return e!==0||1/e==1/t;var o=typeof e,u=typeof t;return o!="function"&&o!="object"&&u!="function"&&u!="object"||e==null||t==null?e!==e&&t!==t:Vt(e,t,Xt,n,r,i,s)}function Vt(e,t,n,r,i,s,a){var f=Xn(e),l=Xn(t),c=u,h=u;f||(c=rt.call(e),c==o?c=d:c!=d&&(f=Zn(e))),l||(h=rt.call(t),h==o?h=d:h!=d&&(l=Zn(t)));var p=c==d,v=h==d,m=c==h;if(m&&!f&&!p)return dn(e,t,c);if(!i){var g=p&&nt.call(e,"__wrapped__"),y=v&&nt.call(t,"__wrapped__");if(g||y)return n(g?e.value():e,y?t.value():t,r,i,s,a)}if(!m)return!1;s||(s=[]),a||(a=[]);var b=s.length;while(b--)if(s[b]==e)return a[b]==t;s.push(e),a.push(t);var w=(f?pn:vn)(e,t,n,r,i,s,a);return s.pop(),a.pop(),w}function $t(e,t,n,i,s){var o=-1,u=t.length,a=!s;while(++o<u)if(a&&i[o]?n[o]!==e[t[o]]:!(t[o]in e))return!1;o=-1;while(++o<u){var f=t[o],l=e[f],c=n[o];if(a&&i[o])var h=l!==r||f in e;else h=s?s(l,c,f):r,h===r&&(h=Xt(c,l,s,!0));if(!h)return!1}return!0}function Jt(e){var t=rr(e),n=t.length;if(!n)return fr(!0);if(n==1){var i=t[0],s=e[i];if(kn(s))return function(e){return e==null?!1:e[i]===s&&(s!==r||i in On(e))}}var o=Array(n),u=Array(n);while(n--)s=e[t[n]],o[n]=s,u[n]=kn(s);return function(e){return e!=null&&$t(On(e),t,o,u)}}function Kt(e,t){var n=Xn(e),i=Nn(e)&&kn(t),s=e+"";return e=Mn(e),function(o){if(o==null)return!1;var u=s;o=On(o);if((n||!i)&&!(u in o)){o=e.length==1?o:Wt(o,en(e,0,-1));if(o==null)return!1;u=Pn(e),o=On(o)}return o[u]===t?t!==r||u in o:Xt(t,o[u],null,!0)}}function Qt(e,t,n,i,s){if(!Jn(e))return e;var o=Cn(t.length)&&(Xn(t)||Zn(t));if(!o){var u=rr(t);lt.apply(u,bn(t))}return At(u||t,function(a,f){u&&(f=a,a=t[f]);if(Y(a))i||(i=[]),s||(s=[]),Gt(e,t,f,Qt,n,i,s);else{var l=e[f],c=n?n(l,a,f,e,t):r,h=c===r;h&&(c=a),(o||c!==r)&&(h||(c===c?c!==l:l===l))&&(e[f]=c)}}),e}function Gt(e,t,n,i,s,o,u){var a=o.length,f=t[n];while(a--)if(o[a]==f){e[n]=u[a];return}var l=e[n],c=s?s(l,f,n,e,t):r,h=c===r;h&&(c=f,Cn(f.length)&&(Xn(f)||Zn(f))?c=Xn(l)?l:yn(l)?Lt(l):[]:Gn(f)||Wn(f)?c=Wn(l)?er(l):Gn(l)?l:{}:h=!1),o.push(f),u.push(c);if(h)e[n]=i(c,f,s,o,u);else if(c===c?c!==l:l===l)e[n]=c}function Yt(e){return function(t){return t==null?r:t[e]}}function Zt(e){var t=e+"";return e=Mn(e),function(n){return Wt(n,e,t)}}function en(e,t,n){var i=-1,s=e.length;t=t==null?0:+t||0,t<0&&(t=-t>s?0:s+t),n=n===r||n>s?s:+n||0,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;var o=Array(s);while(++i<s)o[i]=e[i+t];return o}function tn(e,t){var n;return It(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function nn(e,t){var n=-1,r=t.length,i=Array(r);while(++n<r)i[n]=e[t[n]];return i}function rn(e,t,n){var r=0,i=e?e.length:r;if(typeof t=="number"&&t===t&&i<=xt){while(r<i){var s=r+i>>>1,o=e[s];(n?o<=t:o<t)?r=s+1:i=s}return i}return sn(e,t,lr,n)}function sn(e,t,n,i){t=n(t);var s=0,o=e?e.length:0,u=t!==t,a=t===r;while(s<o){var f=ut((s+o)/2),l=n(e[f]),c=l===l;if(u)var h=c||i;else a?h=c&&(i||l!==r):h=i?l<=t:l<t;h?s=f+1:o=f}return bt(o,St)}function on(e,t,n){if(typeof e!="function")return lr;if(t===r)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,s){return e.call(t,n,r,i,s)};case 5:return function(n,r,i,s,o){return e.call(t,n,r,i,s,o)}}return function(){return e.apply(t,arguments)}}function un(e){return ot.call(e,0)}function an(e){return Un(function(t,n){var r=-1,i=t==null?0:n.length,s=i>2&&n[i-2],o=i>2&&n[2],u=i>1&&n[i-1];typeof s=="function"?(s=on(s,u,5),i-=2):(s=typeof u=="function"?u:null,i-=s?1:0),o&&Tn(n[0],n[1],o)&&(s=i<3?null:s,i=1);while(++r<i){var a=n[r];a&&e(t,a,s)}return t})}function fn(e,t){return function(n,r){var i=n?yn(n):0;if(!Cn(i))return e(n,r);var s=t?i:-1,o=On(n);while(t?s--:++s<i)if(r(o[s],s,o)===!1)break;return n}}function ln(e){return function(t,n,r){var i=On(t),s=r(t),o=s.length,u=e?o:-1;while(e?u--:++u<o){var a=s[u];if(n(i[a],a,i)===!1)break}return t}}function cn(e){return function(t,n,r){return!t||!t.length?-1:(n=mn(n,r,3),$(t,n,e))}}function hn(e,t){return function(n,i,s){return typeof i=="function"&&s===r&&Xn(n)?e(n,i):t(n,on(i,s,3))}}function pn(e,t,n,i,s,o,u){var a=-1,f=e.length,l=t.length,c=!0;if(f!=l&&!(s&&l>f))return!1;while(c&&++a<f){var h=e[a],p=t[a];c=r,i&&(c=s?i(p,h,a):i(h,p,a));if(c===r)if(s){var d=l;while(d--){p=t[d],c=h&&h===p||n(h,p,i,s,o,u);if(c)break}}else c=h&&h===p||n(h,p,i,s,o,u)}return!!c}function dn(e,t,n){switch(n){case a:case f:return+e==+t;case l:return e.name==t.name&&e.message==t.message;case p:return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case v:case g:return e==t+""}return!1}function vn(e,t,n,i,s,o,u){var a=rr(e),f=a.length,l=rr(t),c=l.length;if(f!=c&&!s)return!1;var h=s,p=-1;while(++p<f){var d=a[p],v=s?d in t:nt.call(t,d);if(v){var m=e[d],g=t[d];v=r,i&&(v=s?i(g,m,d):i(m,g,d)),v===r&&(v=m&&m===g||n(m,g,i,s,o,u))}if(!v)return!1;h||(h=d=="constructor")}if(!h){var y=e.constructor,b=t.constructor;if(y!=b&&"constructor"in e&&"constructor"in t&&!(typeof y=="function"&&y instanceof y&&typeof b=="function"&&b instanceof b))return!1}return!0}function mn(e,t,n){var r=Ct.callback||ar;return r=r===ar?jt:r,n?r(e,t,n):r}function gn(e,t,n){var r=Ct.indexOf||Dn;return r=r===Dn?J:r,e?r(e,t,n):r}function wn(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&nt.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function En(e){var t=e.constructor;return typeof t=="function"&&t instanceof t||(t=Object),new t}function Sn(e,t,n){var r=e.constructor;switch(t){case b:return un(e);case a:case f:return new r(+e);case w:case E:case S:case x:case T:case N:case C:case k:case L:var i=e.buffer;return new r(n?un(i):i,e.byteOffset,e.length);case p:case g:return new r(e);case v:var s=new r(e.source,H.exec(e));s.lastIndex=e.lastIndex}return s}function xn(e,t){return e=+e,t=t==null?Nt:t,e>-1&&e%1==0&&e<t}function Tn(e,t,n){if(!Jn(n))return!1;var r=typeof t;if(r=="number")var i=yn(n),s=Cn(i)&&xn(t,i);else s=r=="string"&&t in n;if(s){var o=n[t];return e===e?e===o:o!==o}return!1}function Nn(e,t){var n=typeof e;if(n=="string"&&O.test(e)||n=="number")return!0;if(Xn(e))return!1;var r=!A.test(e);return r||t!=null&&e in On(t)}function Cn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nt}function kn(e){return e===e&&(e===0?1/e>0:!Jn(e))}function Ln(e){var t,n=Ct.support;if(!Y(e)||rt.call(e)!=d||!nt.call(e,"constructor")&&(t=e.constructor,typeof t=="function"&&!(t instanceof t)))return!1;var i;return Ut(e,function(e,t){i=t}),i===r||nt.call(e,i)}function An(e){var t=ir(e),n=t.length,r=n&&e.length,i=Ct.support,s=r&&Cn(r)&&(Xn(e)||i.nonEnumArgs&&Wn(e)),o=-1,u=[];while(++o<n){var a=t[o];(s&&xn(a,r)||nt.call(e,a))&&u.push(a)}return u}function On(e){return Jn(e)?e:Object(e)}function Mn(e){if(Xn(e))return e;var t=[];return Q(e).replace(M,function(e,n,r,i){t.push(r?i.replace(P,"$1"):n||e)}),t}function Dn(e,t,n){var r=e?e.length:0;if(!r)return-1;if(typeof n=="number")n=n<0?yt(r+n,0):n;else if(n){var i=rn(e,t),s=e[i];return(t===t?t===s:s!==s)?i:-1}return J(e,t,n||0)}function Pn(e){var t=e?e.length:0;return t?e[t-1]:r}function Hn(e,t,n){var r=e?e.length:0;return r?(n&&typeof n!="number"&&Tn(e,t,n)&&(t=0,n=r),en(e,t,n)):[]}function Bn(e){var t=-1,n=(e&&e.length&&_t(Mt(e,yn)))>>>0,r=Array(n);while(++t<n)r[t]=Mt(e,Yt(t));return r}function In(e,t,n,r){var i=e?yn(e):0;return Cn(i)||(e=or(e),i=e.length),i?(typeof n!="number"||r&&Tn(t,n,r)?n=0:n=n<0?yt(i+n,0):n||0,typeof e=="string"||!Xn(e)&&Yn(e)?n<i&&e.indexOf(t,n)>-1:gn(e,t,n)>-1):!1}function qn(e,t,n){var r=Xn(e)?Ot:qt;return t=mn(t,n,3),r(e,function(e,n,r){return!t(e,n,r)})}function Rn(e,t,n){var i=Xn(e)?Dt:tn;n&&Tn(e,t,n)&&(t=null);if(typeof t!="function"||n!==r)t=mn(t,n,3);return i(e,t)}function Un(e,t){if(typeof e!="function")throw new TypeError(s);return t=yt(t===r?e.length-1:+t||0,0),function(){var n=arguments,r=-1,i=yt(n.length-t,0),s=Array(i);while(++r<i)s[r]=n[t+r];switch(t){case 0:return e.call(this,s);case 1:return e.call(this,n[0],s);case 2:return e.call(this,n[0],n[1],s)}var o=Array(t+1);r=-1;while(++r<t)o[r]=n[r];return o[t]=s,e.apply(this,o)}}function zn(e,t,n,r){return t&&typeof t!="boolean"&&Tn(e,t,n)?t=!1:typeof t=="function"&&(r=n,n=t,t=!1),n=typeof n=="function"&&on(n,r,1),Ft(e,t,n)}function Wn(e){var t=Y(e)?e.length:r;return Cn(t)&&rt.call(e)==o}function Vn(e){if(e==null)return!0;var t=yn(e);return Cn(t)&&(Xn(e)||Yn(e)||Wn(e)||Y(e)&&$n(e.splice))?!t:!rr(e).length}function Jn(e){var t=typeof e;return t=="function"||!!e&&t=="object"}function Kn(e){return e==null?!1:rt.call(e)==c?it.test(tt.call(e)):Y(e)&&B.test(e)}function Qn(e){return typeof e=="number"||Y(e)&&rt.call(e)==p}function Yn(e){return typeof e=="string"||Y(e)&&rt.call(e)==g}function Zn(e){return Y(e)&&Cn(e.length)&&!!j[rt.call(e)]}function er(e){return Bt(e,ir(e))}function nr(e,t){if(e==null)return!1;var n=nt.call(e,t);return!n&&!Nn(t)&&(t=Mn(t),e=t.length==1?e:Wt(e,en(t,0,-1)),t=Pn(t),n=e!=null&&nt.call(e,t)),n}function ir(e){if(e==null)return[];Jn(e)||(e=Object(e));var t=e.length;t=t&&Cn(t)&&(Xn(e)||kt.nonEnumArgs&&Wn(e))&&t||0;var n=e.constructor,r=-1,i=typeof n=="function"&&n.prototype===e,s=Array(t),o=t>0;while(++r<t)s[r]=r+"";for(var u in e)(!o||!xn(u,t))&&(u!="constructor"||!i&&!!nt.call(e,u))&&s.push(u);return s}function or(e){return nn(e,rr(e))}function ur(e){return e=Q(e),e&&D.test(e)?e.replace(_,"\\$&"):e}function ar(e,t,n){return n&&Tn(e,t,n)&&(t=null),jt(e,t)}function fr(e){return function(){return e}}function lr(e){return e}function cr(e){return Nn(e)?Yt(e):Zt(e)}var r,i="3.7.0",s="Expected a function",o="[object Arguments]",u="[object Array]",a="[object Boolean]",f="[object Date]",l="[object Error]",c="[object Function]",h="[object Map]",p="[object Number]",d="[object Object]",v="[object RegExp]",m="[object Set]",g="[object String]",y="[object WeakMap]",b="[object ArrayBuffer]",w="[object Float32Array]",E="[object Float64Array]",S="[object Int8Array]",x="[object Int16Array]",T="[object Int32Array]",N="[object Uint8Array]",C="[object Uint8ClampedArray]",k="[object Uint16Array]",L="[object Uint32Array]",A=/\.|\[(?:[^[\]]+|(["'])(?:(?!\1)[^\n\\]|\\.)*?)\1\]/,O=/^\w*$/,M=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,_=/[.*+?^${}()|[\]\/\\]/g,D=RegExp(_.source),P=/\\(\\)?/g,H=/\w*$/,B=/^\[object .+?Constructor\]$/,j={};j[w]=j[E]=j[S]=j[x]=j[T]=j[N]=j[C]=j[k]=j[L]=!0,j[o]=j[u]=j[b]=j[a]=j[f]=j[l]=j[c]=j[h]=j[p]=j[d]=j[v]=j[m]=j[g]=j[y]=!1;var F={};F[o]=F[u]=F[b]=F[a]=F[f]=F[w]=F[E]=F[S]=F[x]=F[T]=F[p]=F[d]=F[v]=F[g]=F[N]=F[C]=F[k]=F[L]=!0,F[l]=F[c]=F[h]=F[m]=F[y]=!1;var I={"function":!0,object:!0},q=I[typeof n]&&n&&!n.nodeType&&n,R=I[typeof t]&&t&&!t.nodeType&&t,U=q&&R&&typeof e=="object"&&e&&e.Object&&e,z=I[typeof self]&&self&&self.Object&&self,W=I[typeof window]&&window&&window.Object&&window,X=R&&R.exports===q&&q,V=U||W!==(this&&this.window)&&W||z||this,Z=Array.prototype,et=Object.prototype,tt=Function.prototype.toString,nt=et.hasOwnProperty,rt=et.toString,it=RegExp("^"+ur(rt).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),st=Kn(st=V.ArrayBuffer)&&st,ot=Kn(ot=st&&(new st(0)).slice)&&ot,ut=Math.floor,at=Kn(at=Object.getOwnPropertySymbols)&&at,ft=Kn(ft=Object.getPrototypeOf)&&ft,lt=Z.push,ct=Kn(Object.preventExtensions=Object.preventExtensions)&&ct,ht=et.propertyIsEnumerable,pt=Kn(pt=V.Uint8Array)&&pt,dt=function(){try{var e=Kn(e=V.Float64Array)&&e,t=new e(new st(10),0,1)&&e}catch(n){}return t}(),vt=function(){var e={1:0},t=ct&&Kn(t=Object.assign)&&t;try{t(ct(e),"xo")}catch(n){}return!e[1]&&t}(),mt=Kn(mt=Array.isArray)&&mt,gt=Kn(gt=Object.keys)&&gt,yt=Math.max,bt=Math.min,wt=Number.NEGATIVE_INFINITY,Et=Math.pow(2,32)-1,St=Et-1,xt=Et>>>1,Tt=dt?dt.BYTES_PER_ELEMENT:0,Nt=Math.pow(2,53)-1,kt=Ct.support={};(function(e){var t=function(){this.x=e},n={0:e,length:e},r=[];t.prototype={valueOf:e,y:e};for(var i in new t)r.push(i);kt.funcDecomp=/\bthis\b/.test(function(){return this}),kt.funcNames=typeof Function.name=="string";try{kt.nonEnumArgs=!ht.call(arguments,1)}catch(s){kt.nonEnumArgs=!0}})(1,0);var Ht=vt||function(e,t){return t==null?e:Bt(t,bn(t),Bt(t,rr(t),e))},It=fn(zt),Rt=ln();ot||(un=!st||!pt?fr(null):function(e){var t=e.byteLength,n=dt?ut(t/Tt):0,r=n*Tt,i=new st(t);if(n){var s=new dt(i,0,n);s.set(new dt(e,0,n))}return t!=r&&(s=new pt(i,r),s.set(new pt(e,r))),i});var yn=Yt("length"),bn=at?function(e){return at(On(e))}:fr([]),_n=cn(!0),jn=Un(Bn),Fn=hn(At,It),Xn=mt||function(e){return Y(e)&&Cn(e.length)&&rt.call(e)==u},$n=K(/x/)||pt&&!K(pt)?function(e){return rt.call(e)==c}:K,Gn=ft?function(e){if(!e||rt.call(e)!=d)return!1;var t=e.valueOf,n=Kn(t)&&(n=ft(t))&&ft(n);return n?e==n||ft(e)==n:Ln(e)}:Ln,tr=an(function(e,t,n){return n?Pt(e,t,n):Ht(e,t)}),rr=gt?function(e){if(e)var t=e.constructor,n=e.length;return typeof t=="function"&&t.prototype===e||typeof e!="function"&&Cn(n)?An(e):Jn(e)?gt(e):[]}:An,sr=an(Qt);Ct.assign=tr,Ct.callback=ar,Ct.constant=fr,Ct.forEach=Fn,Ct.keys=rr,Ct.keysIn=ir,Ct.merge=sr,Ct.property=cr,Ct.reject=qn,Ct.restParam=Un,Ct.slice=Hn,Ct.toPlainObject=er,Ct.unzip=Bn,Ct.values=or,Ct.zip=jn,Ct.each=Fn,Ct.extend=tr,Ct.iteratee=ar,Ct.clone=zn,Ct.escapeRegExp=ur,Ct.findLastIndex=_n,Ct.has=nr,Ct.identity=lr,Ct.includes=In,Ct.indexOf=Dn,Ct.isArguments=Wn,Ct.isArray=Xn,Ct.isEmpty=Vn,Ct.isFunction=$n,Ct.isNative=Kn,Ct.isNumber=Qn,Ct.isObject=Jn,Ct.isPlainObject=Gn,Ct.isString=Yn,Ct.isTypedArray=Zn,Ct.last=Pn,Ct.some=Rn,Ct.any=Rn,Ct.contains=In,Ct.include=In,Ct.VERSION=i,q&&R?X?(R.exports=Ct)._=Ct:q._=Ct:V._=Ct}).call(this)}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],"/node_modules/jshint/src/jshint.js":[function(e,t,n){var r=e("../lodash"),i=e("events"),s=e("./vars.js"),o=e("./messages.js"),u=e("./lex.js").Lexer,a=e("./reg.js"),f=e("./state.js").state,l=e("./style.js"),c=e("./options.js"),h=e("./scope-manager.js"),p=function(){"use strict";function k(e,t){return e=e.trim(),/^[+-]W\d{3}$/g.test(e)?!0:c.validNames.indexOf(e)===-1&&t.type!=="jslint"&&!r.has(c.removed,e)?(q("E001",t,e),!1):!0}function L(e){return Object.prototype.toString.call(e)==="[object String]"}function A(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}function O(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReservedWord&&f.inES5()){if(!t.es5)return!1;if(t.strictOnly&&!f.option.strict&&!f.isStrict())return!1;if(e.isProperty)return!1}return!0}function M(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return typeof r=="string"||typeof r=="number"?r:e})}function D(e,t){Object.keys(t).forEach(function(n){if(r.has(p.blacklist,n))return;e[n]=t[n]})}function P(){if(f.option.enforceall){for(var e in c.bool.enforcing)f.option[e]===undefined&&!c.noenforceall[e]&&(f.option[e]=!0);for(var t in c.bool.relaxing)f.option[t]===undefined&&(f.option[t]=!1)}}function H(){P(),!f.option.esversion&&!f.option.moz&&(f.option.es3?f.option.esversion=3:f.option.esnext?f.option.esversion=6:f.option.esversion=5),f.inES5()&&D(S,s.ecmaIdentifiers[5]),f.inES6()&&D(S,s.ecmaIdentifiers[6]),f.option.module&&(f.option.strict===!0&&(f.option.strict="global"),f.inES6()||F("W134",f.tokens.next,"module",6)),f.option.couch&&D(S,s.couch),f.option.qunit&&D(S,s.qunit),f.option.rhino&&D(S,s.rhino),f.option.shelljs&&(D(S,s.shelljs),D(S,s.node)),f.option.typed&&D(S,s.typed),f.option.phantom&&(D(S,s.phantom),f.option.strict===!0&&(f.option.strict="global")),f.option.prototypejs&&D(S,s.prototypejs),f.option.node&&(D(S,s.node),D(S,s.typed),f.option.strict===!0&&(f.option.strict="global")),f.option.devel&&D(S,s.devel),f.option.dojo&&D(S,s.dojo),f.option.browser&&(D(S,s.browser),D(S,s.typed)),f.option.browserify&&(D(S,s.browser),D(S,s.typed),D(S,s.browserify),f.option.strict===!0&&(f.option.strict="global")),f.option.nonstandard&&D(S,s.nonstandard),f.option.jasmine&&D(S,s.jasmine),f.option.jquery&&D(S,s.jquery),f.option.mootools&&D(S,s.mootools),f.option.worker&&D(S,s.worker),f.option.wsh&&D(S,s.wsh),f.option.globalstrict&&f.option.strict!==!1&&(f.option.strict="global"),f.option.yui&&D(S,s.yui),f.option.mocha&&D(S,s.mocha)}function B(e,t,n){var r=Math.floor(t/f.lines.length*100),i=o.errors[e].desc;throw{name:"JSHintError",line:t,character:n,message:i+" ("+r+"% scanned).",raw:i,code:e}}function j(){var e=f.ignoredLines;if(r.isEmpty(e))return;p.errors=r.reject(p.errors,function(t){return e[t.line]})}function F(e,t,n,r,i,s){var u,a,l,c;if(/^W\d{3}$/.test(e)){if(f.ignored[e])return;c=o.warnings[e]}else/E\d{3}/.test(e)?c=o.errors[e]:/I\d{3}/.test(e)&&(c=o.info[e]);return t=t||f.tokens.next||{},t.id==="(end)"&&(t=f.tokens.curr),a=t.line||0,u=t.from||0,l={id:"(error)",raw:c.desc,code:c.code,evidence:f.lines[a-1]||"",line:a,character:u,scope:p.scope,a:n,b:r,c:i,d:s},l.reason=M(c.desc,l),p.errors.push(l),j(),p.errors.length>=f.option.maxerr&&B("E043",a,u),l}function I(e,t,n,r,i,s,o){return F(e,{line:t,from:n},r,i,s,o)}function q(e,t,n,r,i,s){F(e,t,n,r,i,s)}function R(e,t,n,r,i,s,o){return q(e,{line:t,from:n},r,i,s,o)}function U(e,t){var n;return n={id:"(internal)",elem:e,value:t},p.internals.push(n),n}function z(){var e=f.tokens.next,t=e.body.match(/(-\s+)?[^\s,:]+(?:\s*:\s*(-\s+)?[^\s,]+)?/g)||[],i={};if(e.type==="globals"){t.forEach(function(n,r){n=n.split(":");var s=(n[0]||"").trim(),o=(n[1]||"").trim();if(s==="-"||!s.length){if(r>0&&r===t.length-1)return;q("E002",e);return}s.charAt(0)==="-"?(s=s.slice(1),o=!1,p.blacklist[s]=s,delete S[s]):i[s]=o==="true"}),D(S,i);for(var s in i)r.has(i,s)&&(n[s]=e)}e.type==="exported"&&t.forEach(function(n,r){if(!n.length){if(r>0&&r===t.length-1)return;q("E002",e);return}f.funct["(scope)"].addExported(n)}),e.type==="members"&&(E=E||{},t.forEach(function(e){var t=e.charAt(0),n=e.charAt(e.length-1);t===n&&(t==='"'||t==="'")&&(e=e.substr(1,e.length-2).replace('\\"','"')),E[e]=!1}));var o=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];if(e.type==="jshint"||e.type==="jslint")t.forEach(function(t){t=t.split(":");var n=(t[0]||"").trim(),i=(t[1]||"").trim();if(!k(n,e))return;if(o.indexOf(n)>=0){if(i!=="false"){i=+i;if(typeof i!="number"||!isFinite(i)||i<=0||Math.floor(i)!==i){q("E032",e,t[1].trim());return}f.option[n]=i}else f.option[n]=n==="indent"?4:!1;return}if(n==="validthis"){if(f.funct["(global)"])return void q("E009");if(i!=="true"&&i!=="false")return void q("E002",e);f.option.validthis=i==="true";return}if(n==="quotmark"){switch(i){case"true":case"false":f.option.quotmark=i==="true";break;case"double":case"single":f.option.quotmark=i;break;default:q("E002",e)}return}if(n==="shadow"){switch(i){case"true":f.option.shadow=!0;break;case"outer":f.option.shadow="outer";break;case"false":case"inner":f.option.shadow="inner";break;default:q("E002",e)}return}if(n==="unused"){switch(i){case"true":f.option.unused=!0;break;case"false":f.option.unused=!1;break;case"vars":case"strict":f.option.unused=i;break;default:q("E002",e)}return}if(n==="latedef"){switch(i){case"true":f.option.latedef=!0;break;case"false":f.option.latedef=!1;break;case"nofunc":f.option.latedef="nofunc";break;default:q("E002",e)}return}if(n==="ignore"){switch(i){case"line":f.ignoredLines[e.line]=!0,j();break;default:q("E002",e)}return}if(n==="strict"){switch(i){case"true":f.option.strict=!0;break;case"false":f.option.strict=!1;break;case"func":case"global":case"implied":f.option.strict=i;break;default:q("E002",e)}return}n==="module"&&(zt(f.funct)||q("E055",f.tokens.next,"module"));var s={es3:3,es5:5,esnext:6};if(r.has(s,n)){switch(i){case"true":f.option.moz=!1,f.option.esversion=s[n];break;case"false":f.option.moz||(f.option.esversion=5);break;default:q("E002",e)}return}if(n==="esversion"){switch(i){case"5":f.inES5(!0)&&F("I003");case"3":case"6":f.option.moz=!1,f.option.esversion=+i;break;case"2015":f.option.moz=!1,f.option.esversion=6;break;default:q("E002",e)}zt(f.funct)||q("E055",f.tokens.next,"esversion");return}var u=/^([+-])(W\d{3})$/g.exec(n);if(u){f.ignored[u[2]]=u[1]==="-";return}var a;if(i==="true"||i==="false"){e.type==="jslint"?(a=c.renamed[n]||n,f.option[a]=i==="true",c.inverted[a]!==undefined&&(f.option[a]=!f.option[a])):f.option[n]=i==="true",n==="newcap"&&(f.option["(explicitNewcap)"]=!0);return}q("E002",e)}),H()}function W(e){var t=e||0,n=y.length,r;if(t<n)return y[t];while(n<=t)r=y[n],r||(r=y[n]=b.token()),n+=1;return!r&&f.tokens.next.id==="(end)"?f.tokens.next:r}function X(){var e=0,t;do t=W(e++);while(t.id==="(endline)");return t}function V(e,t){switch(f.tokens.curr.id){case"(number)":f.tokens.next.id==="."&&F("W005",f.tokens.curr);break;case"-":(f.tokens.next.id==="-"||f.tokens.next.id==="--")&&F("W006");break;case"+":(f.tokens.next.id==="+"||f.tokens.next.id==="++")&&F("W007")}e&&f.tokens.next.id!==e&&(t?f.tokens.next.id==="(end)"?q("E019",t,t.id):q("E020",f.tokens.next,e,t.id,t.line,f.tokens.next.value):(f.tokens.next.type!=="(identifier)"||f.tokens.next.value!==e)&&F("W116",f.tokens.next,e,f.tokens.next.value)),f.tokens.prev=f.tokens.curr,f.tokens.curr=f.tokens.next;for(;;){f.tokens.next=y.shift()||b.token(),f.tokens.next||B("E041",f.tokens.curr.line);if(f.tokens.next.id==="(end)"||f.tokens.next.id==="(error)")return;f.tokens.next.check&&f.tokens.next.check();if(f.tokens.next.isSpecial)f.tokens.next.type==="falls through"?f.tokens.curr.caseFallsThrough=!0:z();else if(f.tokens.next.id!=="(endline)")break}}function $(e){return e.infix||!e.identifier&&!e.template&&!!e.led}function J(){var e=f.tokens.curr,t=f.tokens.next;return t.id===";"||t.id==="}"||t.id===":"?!0:$(t)===$(e)||e.id==="yield"&&f.inMoz()?e.line!==G(t):!1}function K(e){return!e.left&&e.arity!=="unary"}function Q(e,t){var n,i=!1,s=!1,o=!1;f.nameStack.push(),!t&&f.tokens.next.value==="let"&&W(0).value==="("&&(f.inMoz()||F("W118",f.tokens.next,"let expressions"),o=!0,f.funct["(scope)"].stack(),V("let"),V("("),f.tokens.prev.fud(),V(")")),f.tokens.next.id==="(end)"&&q("E006",f.tokens.curr);var u=f.option.asi&&f.tokens.prev.line!==G(f.tokens.curr)&&r.contains(["]",")"],f.tokens.prev.id)&&r.contains(["[","("],f.tokens.curr.id);u&&F("W014",f.tokens.curr,f.tokens.curr.id),V(),t&&(f.funct["(verb)"]=f.tokens.curr.value,f.tokens.curr.beginsStmt=!0);if(t===!0&&f.tokens.curr.fud)n=f.tokens.curr.fud();else{f.tokens.curr.nud?n=f.tokens.curr.nud():q("E030",f.tokens.curr,f.tokens.curr.id);while((e<f.tokens.next.lbp||f.tokens.next.type==="(template)")&&!J())i=f.tokens.curr.value==="Array",s=f.tokens.curr.value==="Object",n&&(n.value||n.first&&n.first.value)&&(n.value!=="new"||n.first&&n.first.value&&n.first.value===".")&&(i=!1,n.value!==f.tokens.curr.value&&(s=!1)),V(),i&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&F("W009",f.tokens.curr),s&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&F("W010",f.tokens.curr),n&&f.tokens.curr.led?n=f.tokens.curr.led(n):q("E033",f.tokens.curr,f.tokens.curr.id)}return o&&f.funct["(scope)"].unstack(),f.nameStack.pop(),n}function G(e){return e.startLine||e.line}function Y(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,!f.option.laxbreak&&e.line!==G(t)&&F("W014",t,t.value)}function Z(e){e=e||f.tokens.curr,e.line!==G(f.tokens.next)&&F("E022",e,e.value)}function et(e,t){e.line!==G(t)&&(f.option.laxcomma||(tt.first&&(F("I001"),tt.first=!1),F("W014",e,t.value)))}function tt(e){e=e||{},e.peek?et(f.tokens.prev,f.tokens.curr):(et(f.tokens.curr,f.tokens.next),V(","));if(f.tokens.next.identifier&&(!e.property||!f.inES5()))switch(f.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return q("E024",f.tokens.next,f.tokens.next.value),!1}if(f.tokens.next.type==="(punctuator)")switch(f.tokens.next.value){case"}":case"]":case",":if(e.allowTrailing)return!0;case")":return q("E024",f.tokens.next,f.tokens.next.value),!1}return!0}function nt(e,t){var n=f.syntax[e];if(!n||typeof n!="object")f.syntax[e]=n={id:e,lbp:t,value:e};return n}function rt(e){var t=nt(e,0);return t.delim=!0,t}function it(e,t){var n=rt(e);return n.identifier=n.reserved=!0,n.fud=t,n}function st(e,t){var n=it(e,t);return n.block=!0,n}function ot(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e.identifier=e.reserved=!0;return e}function ut(e,t){var n=nt(e,150);return ot(n),n.nud=typeof t=="function"?t:function(){this.arity="unary",this.right=Q(150);if(this.id==="++"||this.id==="--")f.option.plusplus?F("W016",this,this.id):this.right&&(!this.right.identifier||O(this.right))&&this.right.id!=="."&&this.right.id!=="["&&F("W017",this),this.right&&this.right.isMetaProperty?q("E031",this):this.right&&this.right.identifier&&f.funct["(scope)"].block.modify(this.right.value,this);return this},n}function at(e,t){var n=rt(e);return n.type=e,n.nud=t,n}function ft(e,t){var n=at(e,t);return n.identifier=!0,n.reserved=!0,n}function lt(e,t){var n=at(e,t&&t.nud||function(){return this});return t=t||{},t.isFutureReservedWord=!0,n.value=e,n.identifier=!0,n.reserved=!0,n.meta=t,n}function ct(e,t){return ft(e,function(){return typeof t=="function"&&t(this),this})}function ht(e,t,n,r){var i=nt(e,n);return ot(i),i.infix=!0,i.led=function(i){return r||Y(f.tokens.prev,f.tokens.curr),(e==="in"||e==="instanceof")&&i.id==="!"&&F("W018",i,"!"),typeof t=="function"?t(i,this):(this.left=i,this.right=Q(n),this)},i}function pt(e){var t=nt(e,42);return t.led=function(e){return Y(f.tokens.prev,f.tokens.curr),this.left=e,this.right=Xt({type:"arrow",loneArg:e}),this},t}function dt(e,t){var n=nt(e,100);return n.led=function(e){Y(f.tokens.prev,f.tokens.curr),this.left=e;var n=this.right=Q(100);return A(e,"NaN")||A(n,"NaN")?F("W019",this):t&&t.apply(this,[e,n]),(!e||!n)&&B("E041",f.tokens.curr.line),e.id==="!"&&F("W018",e,"!"),n.id==="!"&&F("W018",n,"!"),this},n}function vt(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(string)"&&e.value===""||e.type==="null"&&!f.option.eqnull||e.type==="true"||e.type==="false"||e.type==="undefined")}function gt(e,t,n){var i;return n.option.notypeof?!1:!e||!t?!1:(i=n.inES6()?mt.es6:mt.es3,t.type==="(identifier)"&&t.value==="typeof"&&e.type==="(string)"?!r.contains(i,e.value):!1)}function yt(e,t){var n=!1;return e.type==="this"&&t.funct["(context)"]===null?n=!0:e.type==="(identifier)"&&(t.option.node&&e.value==="global"?n=!0:t.option.browser&&(e.value==="window"||e.value==="document")&&(n=!0)),n}function bt(e){function n(e){if(typeof e!="object")return;return e.right==="prototype"?e:n(e.left)}function r(e){while(!e.identifier&&typeof e.left=="object")e=e.left;if(e.identifier&&t.indexOf(e.value)>=0)return e.value}var t=["Array","ArrayBuffer","Boolean","Collator","DataView","Date","DateTimeFormat","Error","EvalError","Float32Array","Float64Array","Function","Infinity","Intl","Int16Array","Int32Array","Int8Array","Iterator","Number","NumberFormat","Object","RangeError","ReferenceError","RegExp","StopIteration","String","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError"],i=n(e);if(i)return r(i)}function wt(e,t,n){var r=n&&n.allowDestructuring;t=t||e;if(f.option.freeze){var i=bt(e);i&&F("W121",e,i)}return e.identifier&&!e.isMetaProperty&&f.funct["(scope)"].block.reassign(e.value,e),e.id==="."?((!e.left||e.left.value==="arguments"&&!f.isStrict())&&F("E031",t),f.nameStack.set(f.tokens.prev),!0):e.id==="{"||e.id==="["?(r&&f.tokens.curr.left.destructAssign?f.tokens.curr.left.destructAssign.forEach(function(e){e.id&&f.funct["(scope)"].block.modify(e.id,e.token)}):e.id==="{"||!e.left?F("E031",t):e.left.value==="arguments"&&!f.isStrict()&&F("E031",t),e.id==="["&&f.nameStack.set(e.right),!0):e.isMetaProperty?(q("E031",t),!0):e.identifier&&!O(e)?(f.funct["(scope)"].labeltype(e.value)==="exception"&&F("W022",e),f.nameStack.set(e),!0):(e===f.syntax["function"]&&F("W023",f.tokens.curr),!1)}function Et(e,t,n){var r=ht(e,typeof t=="function"?t:function(e,t){t.left=e;if(e&&wt(e,t,{allowDestructuring:!0}))return t.right=Q(10),t;q("E031",t)},n);return r.exps=!0,r.assign=!0,r}function St(e,t,n){var r=nt(e,n);return ot(r),r.led=typeof t=="function"?t:function(e){return f.option.bitwise&&F("W016",this,this.id),this.left=e,this.right=Q(n),this},r}function xt(e){return Et(e,function(e,t){f.option.bitwise&&F("W016",t,t.id);if(e&&wt(e,t))return t.right=Q(10),t;q("E031",t)},20)}function Tt(e){var t=nt(e,150);return t.led=function(e){return f.option.plusplus?F("W016",this,this.id):(!e.identifier||O(e))&&e.id!=="."&&e.id!=="["&&F("W017",this),e.isMetaProperty?q("E031",this):e&&e.identifier&&f.funct["(scope)"].block.modify(e.value,e),this.left=e,this},t}function Nt(e,t,n){if(!f.tokens.next.identifier)return;n||V();var r=f.tokens.curr,i=f.tokens.curr.value;return O(r)?t&&f.inES5()?i:e&&i==="undefined"?i:(F("W024",f.tokens.curr,f.tokens.curr.id),i):i}function Ct(e,t){var n=Nt(e,t,!1);if(n)return n;if(f.tokens.next.value==="..."){f.inES6(!0)||F("W119",f.tokens.next,"spread/rest operator","6"),V();if(pn(f.tokens.next,"...")){F("E024",f.tokens.next,"...");while(pn(f.tokens.next,"..."))V()}if(!f.tokens.next.identifier){F("E024",f.tokens.curr,"...");return}return Ct(e,t)}q("E030",f.tokens.next,f.tokens.next.value),f.tokens.next.id!==";"&&V()}function kt(e){var t=0,n;if(f.tokens.next.id!==";"||e.inBracelessBlock)return;for(;;){do n=W(t),t+=1;while(n.id!=="(end)"&&n.id==="(comment)");if(n.reach)return;if(n.id!=="(endline)"){if(n.id==="function"){f.option.latedef===!0&&F("W026",n);break}F("W027",n,n.value,e.value);break}}}function Lt(){if(f.tokens.next.id!==";"){if(f.tokens.next.isUnclosed)return V();var e=G(f.tokens.next)===f.tokens.curr.line&&f.tokens.next.id!=="(end)",t=pn(f.tokens.next,"}");e&&!t?R("E058",f.tokens.curr.line,f.tokens.curr.character):f.option.asi||(t&&!f.option.lastsemic||!e)&&I("W033",f.tokens.curr.line,f.tokens.curr.character)}else V(";")}function At(){var e=g,t,n=f.tokens.next,r=!1;if(n.id===";"){V(";");return}var i=O(n);i&&n.meta&&n.meta.isFutureReservedWord&&W().id===":"&&(F("W024",n,n.id),i=!1),n.identifier&&!i&&W().id===":"&&(V(),V(":"),r=!0,f.funct["(scope)"].stack(),f.funct["(scope)"].block.addBreakLabel(n.value,{token:f.tokens.curr}),!f.tokens.next.labelled&&f.tokens.next.value!=="{"&&F("W028",f.tokens.next,n.value,f.tokens.next.value),f.tokens.next.label=n.value,n=f.tokens.next);if(n.id==="{"){var s=f.funct["(verb)"]==="case"&&f.tokens.curr.value===":";_t(!0,!0,!1,!1,s);return}return t=Q(0,!0),t&&(!t.identifier||t.value!=="function")&&(t.type!=="(punctuator)"||!t.left||!t.left.identifier||t.left.value!=="function")&&!f.isStrict()&&f.option.strict==="global"&&F("E007"),n.block||(!f.option.expr&&(!t||!t.exps)?F("W030",f.tokens.curr):f.option.nonew&&t&&t.left&&t.id==="("&&t.left.id==="new"&&F("W031",n),Lt()),g=e,r&&f.funct["(scope)"].unstack(),t}function Ot(){var e=[],t;while(!f.tokens.next.reach&&f.tokens.next.id!=="(end)")f.tokens.next.id===";"?(t=W(),(!t||t.id!=="("&&t.id!=="[")&&F("W032"),V(";")):e.push(At());return e}function Mt(){var e,t,n;while(f.tokens.next.id==="(string)"){t=W(0);if(t.id==="(endline)"){e=1;do n=W(e++);while(n.id==="(endline)");if(n.id===";")t=n;else{if(n.value==="["||n.value===".")break;(!f.option.asi||n.value==="(")&&F("W033",f.tokens.next)}}else{if(t.id==="."||t.id==="[")break;t.id!==";"&&F("W033",t)}V();var r=f.tokens.curr.value;(f.directive[r]||r==="use strict"&&f.option.strict==="implied")&&F("W034",f.tokens.curr,r),f.directive[r]=!0,t.id===";"&&V(";")}f.isStrict()&&(f.option["(explicitNewcap)"]||(f.option.newcap=!0),f.option.undef=!0)}function _t(e,t,n,i,s){var o,u=m,a=g,l,c,h,p;m=e,c=f.tokens.next;var d=f.funct["(metrics)"];d.nestedBlockDepth+=1,d.verifyMaxNestedBlockDepthPerFunction();if(f.tokens.next.id==="{"){V("{"),f.funct["(scope)"].stack(),h=f.tokens.curr.line;if(f.tokens.next.id!=="}"){g+=f.option.indent;while(!e&&f.tokens.next.from>g)g+=f.option.indent;if(n){l={};for(p in f.directive)r.has(f.directive,p)&&(l[p]=f.directive[p]);Mt(),f.option.strict&&f.funct["(context)"]["(global)"]&&!l["use strict"]&&!f.isStrict()&&F("E007")}o=Ot(),d.statementCount+=o.length,g-=f.option.indent}V("}",c),n&&(f.funct["(scope)"].validateParams(),l&&(f.directive=l)),f.funct["(scope)"].unstack(),g=a}else if(!e)if(n){f.funct["(scope)"].stack(),l={},t&&!i&&!f.inMoz()&&q("W118",f.tokens.curr,"function closure expressions");if(!t)for(p in f.directive)r.has(f.directive,p)&&(l[p]=f.directive[p]);Q(10),f.option.strict&&f.funct["(context)"]["(global)"]&&!l["use strict"]&&!f.isStrict()&&F("E007"),f.funct["(scope)"].unstack()}else q("E021",f.tokens.next,"{",f.tokens.next.value);else f.funct["(noblockscopedvar)"]=f.tokens.next.id!=="for",f.funct["(scope)"].stack(),(!t||f.option.curly)&&F("W116",f.tokens.next,"{",f.tokens.next.value),f.tokens.next.inBracelessBlock=!0,g+=f.option.indent,o=[At()],g-=f.option.indent,f.funct["(scope)"].unstack(),delete f.funct["(noblockscopedvar)"];switch(f.funct["(verb)"]){case"break":case"continue":case"return":case"throw":if(s)break;default:f.funct["(verb)"]=null}return m=u,e&&f.option.noempty&&(!o||o.length===0)&&F("W035",f.tokens.prev),d.nestedBlockDepth-=1,o}function Dt(e){E&&typeof E[e]!="boolean"&&F("W036",f.tokens.curr,e),typeof w[e]=="number"?w[e]+=1:w[e]=1}function Bt(){var e={};e.exps=!0,f.funct["(comparray)"].stack();var t=!1;return f.tokens.next.value!=="for"&&(t=!0,f.inMoz()||F("W116",f.tokens.next,"for",f.tokens.next.value),f.funct["(comparray)"].setState("use"),e.right=Q(10)),V("for"),f.tokens.next.value==="each"&&(V("each"),f.inMoz()||F("W118",f.tokens.curr,"for each")),V("("),f.funct["(comparray)"].setState("define"),e.left=Q(130),r.contains(["in","of"],f.tokens.next.value)?V():q("E045",f.tokens.curr),f.funct["(comparray)"].setState("generate"),Q(10),V(")"),f.tokens.next.value==="if"&&(V("if"),V("("),f.funct["(comparray)"].setState("filter"),e.filter=Q(10),V(")")),t||(f.funct["(comparray)"].setState("use"),e.right=Q(10)),V("]"),f.funct["(comparray)"].unstack(),e}function jt(){return f.funct["(statement)"]&&f.funct["(statement)"].type==="class"||f.funct["(context)"]&&f.funct["(context)"]["(verb)"]==="class"}function Ft(e){return e.identifier||e.id==="(string)"||e.id==="(number)"}function It(e){var t,n=!0;return typeof e=="object"?t=e:(n=e,t=Nt(!1,!0,n)),t?typeof t=="object"&&(t.id==="(string)"||t.id==="(identifier)"?t=t.value:t.id==="(number)"&&(t=t.value.toString())):f.tokens.next.id==="(string)"?(t=f.tokens.next.value,n||V()):f.tokens.next.id==="(number)"&&(t=f.tokens.next.value.toString(),n||V()),t==="hasOwnProperty"&&F("W001"),t}function qt(e){function h(e){f.funct["(scope)"].addParam.apply(f.funct["(scope)"],e)}var t,n=[],i,s=[],o,u=!1,a=!1,l=0,c=e&&e.loneArg;if(c&&c.identifier===!0)return f.funct["(scope)"].addParam(c.value,c),{arity:1,params:[c.value]};t=f.tokens.next,(!e||!e.parsedOpening)&&V("(");if(f.tokens.next.id===")"){V(")");return}for(;;){l++;var p=[];if(r.contains(["{","["],f.tokens.next.id)){s=Gt();for(o in s)o=s[o],o.id&&(n.push(o.id),p.push([o.id,o.token]))}else{pn(f.tokens.next,"...")&&(a=!0),i=Ct(!0);if(i)n.push(i),p.push([i,f.tokens.curr]);else while(!hn(f.tokens.next,[",",")"]))V()}u&&f.tokens.next.id!=="="&&q("W138",f.tokens.current),f.tokens.next.id==="="&&(f.inES6()||F("W119",f.tokens.next,"default parameters","6"),V("="),u=!0,Q(10)),p.forEach(h);if(f.tokens.next.id!==",")return V(")",t),{arity:l,params:n};a&&F("W131",f.tokens.next),tt()}}function Rt(e,t,n){var i={"(name)":e,"(breakage)":0,"(loopage)":0,"(tokens)":{},"(properties)":{},"(catch)":!1,"(global)":!1,"(line)":null,"(character)":null,"(metrics)":null,"(statement)":null,"(context)":null,"(scope)":null,"(comparray)":null,"(generator)":null,"(arrow)":null,"(params)":null};return t&&r.extend(i,{"(line)":t.line,"(character)":t.character,"(metrics)":Vt(t)}),r.extend(i,n),i["(context)"]&&(i["(scope)"]=i["(context)"]["(scope)"],i["(comparray)"]=i["(context)"]["(comparray)"]),i}function Ut(e){return"(scope)"in e}function zt(e){return e["(global)"]&&!e["(verb)"]}function Wt(e){function i(){if(f.tokens.curr.template&&f.tokens.curr.tail&&f.tokens.curr.context===t)return!0;var e=f.tokens.next.template&&f.tokens.next.tail&&f.tokens.next.context===t;return e&&V(),e||f.tokens.next.isUnclosed}var t=this.context,n=this.noSubst,r=this.depth;if(!n)while(!i())!f.tokens.next.template||f.tokens.next.depth>r?Q(0):V();return{id:"(template)",type:"(template)",tag:e}}function Xt(e){var t,n,r,i,s,o,u,a,l=f.option,c=f.ignored;e&&(r=e.name,i=e.statement,s=e.classExprBinding,o=e.type==="generator",u=e.type==="arrow",a=e.ignoreLoopFunc),f.option=Object.create(f.option),f.ignored=Object.create(f.ignored),f.funct=Rt(r||f.nameStack.infer(),f.tokens.next,{"(statement)":i,"(context)":f.funct,"(arrow)":u,"(generator)":o}),t=f.funct,n=f.tokens.curr,n.funct=f.funct,v.push(f.funct),f.funct["(scope)"].stack("functionouter");var h=r||s;h&&f.funct["(scope)"].block.add(h,s?"class":"function",f.tokens.curr,!1),f.funct["(scope)"].stack("functionparams");var p=qt(e);return p?(f.funct["(params)"]=p.params,f.funct["(metrics)"].arity=p.arity,f.funct["(metrics)"].verifyMaxParametersPerFunction()):f.funct["(metrics)"].arity=0,u&&(f.inES6(!0)||F("W119",f.tokens.curr,"arrow function syntax (=>)","6"),e.loneArg||V("=>")),_t(!1,!0,!0,u),!f.option.noyield&&o&&f.funct["(generator)"]!=="yielded"&&F("W124",f.tokens.curr),f.funct["(metrics)"].verifyMaxStatementsPerFunction(),f.funct["(metrics)"].verifyMaxComplexityPerFunction(),f.funct["(unusedOption)"]=f.option.unused,f.option=l,f.ignored=c,f.funct["(last)"]=f.tokens.curr.line,f.funct["(lastcharacter)"]=f.tokens.curr.character,f.funct["(scope)"].unstack(),f.funct["(scope)"].unstack(),f.funct=f.funct["(context)"],!a&&!f.option.loopfunc&&f.funct["(loopage)"]&&t["(isCapturing)"]&&F("W083",n),t}function Vt(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){f.option.maxstatements&&this.statementCount>f.option.maxstatements&&F("W071",e,this.statementCount)},verifyMaxParametersPerFunction:function(){r.isNumber(f.option.maxparams)&&this.arity>f.option.maxparams&&F("W072",e,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){f.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===f.option.maxdepth+1&&F("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var t=f.option.maxcomplexity,n=this.ComplexityCount;t&&n>t&&F("W074",e,n)}}}function $t(){f.funct["(metrics)"].ComplexityCount+=1}function Jt(e){var t,n;e&&(t=e.id,n=e.paren,t===","&&(e=e.exprs[e.exprs.length-1])&&(t=e.id,n=n||e.paren));switch(t){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":!n&&!f.option.boss&&F("W084")}}function Kt(e){if(f.inES5())for(var t in e)e[t]&&e[t].setterToken&&!e[t].getterToken&&F("W078",e[t].setterToken)}function Qt(e,t){if(pn(f.tokens.next,".")){var n=f.tokens.curr.id;V(".");var r=Ct();return f.tokens.curr.isMetaProperty=!0,e!==r?q("E057",f.tokens.prev,n,r):t(),f.tokens.curr}}function Gt(e){var t=e&&e.assignment;return f.inES6()||F("W104",f.tokens.curr,t?"destructuring assignment":"destructuring binding","6"),Yt(e)}function Yt(e){var t,n=[],r=e&&e.openingParsed,i=e&&e.assignment,s=i?{assignment:i}:null,o=r?f.tokens.curr:f.tokens.next,u=function(){var e;if(hn(f.tokens.next,["[","{"])){t=Yt(s);for(var r in t)r=t[r],n.push({id:r.id,token:r.token})}else if(pn(f.tokens.next,","))n.push({id:null,token:f.tokens.curr});else{if(!pn(f.tokens.next,"(")){var o=pn(f.tokens.next,"...");if(i){var a=o?W(0):f.tokens.next;a.identifier||F("E030",a,a.value);var l=Q(155);l&&(wt(l),l.identifier&&(e=l.value))}else e=Ct();return e&&n.push({id:e,token:f.tokens.curr}),o}V("("),u(),V(")")}return!1},a=function(){var e;pn(f.tokens.next,"[")?(V("["),Q(10),V("]"),V(":"),u()):f.tokens.next.id==="(string)"||f.tokens.next.id==="(number)"?(V(),V(":"),u()):(e=Ct(),pn(f.tokens.next,":")?(V(":"),u()):e&&(i&&wt(f.tokens.curr),n.push({id:e,token:f.tokens.curr})))};if(pn(o,"[")){r||V("["),pn(f.tokens.next,"]")&&F("W137",f.tokens.curr);var l=!1;while(!pn(f.tokens.next,"]"))u()&&!l&&pn(f.tokens.next,",")&&(F("W130",f.tokens.next),l=!0),pn(f.tokens.next,"=")&&(pn(f.tokens.prev,"...")?V("]"):V("="),f.tokens.next.id==="undefined"&&F("W080",f.tokens.prev,f.tokens.prev.value),Q(10)),pn(f.tokens.next,"]")||V(",");V("]")}else if(pn(o,"{")){r||V("{"),pn(f.tokens.next,"}")&&F("W137",f.tokens.curr);while(!pn(f.tokens.next,"}")){a(),pn(f.tokens.next,"=")&&(V("="),f.tokens.next.id==="undefined"&&F("W080",f.tokens.prev,f.tokens.prev.value),Q(10));if(!pn(f.tokens.next,"}")){V(",");if(pn(f.tokens.next,"}"))break}}V("}")}return n}function Zt(e,t){var n=t.first;if(!n)return;r.zip(e,Array.isArray(n)?n:[n]).forEach(function(e){var t=e[0],n=e[1];t&&n?t.first=n:t&&t.first&&!n&&F("W080",t.first,t.first.value)})}function en(e,t,n){var i=n&&n.prefix,s=n&&n.inexport,o=e==="let",u=e==="const",a,l,c,h;f.inES6()||F("W104",f.tokens.curr,e,"6"),o&&f.tokens.next.value==="("?(f.inMoz()||F("W118",f.tokens.next,"let block"),V("("),f.funct["(scope)"].stack(),h=!0):f.funct["(noblockscopedvar)"]&&q("E048",f.tokens.curr,u?"Const":"Let"),t.first=[];for(;;){var p=[];r.contains(["{","["],f.tokens.next.value)?(a=Gt(),l=!1):(a=[{id:Ct(),token:f.tokens.curr}],l=!0),!i&&u&&f.tokens.next.id!=="="&&F("E012",f.tokens.curr,f.tokens.curr.value);for(var d in a)a.hasOwnProperty(d)&&(d=a[d],f.funct["(scope)"].block.isGlobal()&&S[d.id]===!1&&F("W079",d.token,d.id),d.id&&!f.funct["(noblockscopedvar)"]&&(f.funct["(scope)"].addlabel(d.id,{type:e,token:d.token}),p.push(d.token),l&&s&&f.funct["(scope)"].setExported(d.token.value,d.token)));f.tokens.next.id==="="&&(V("="),!i&&f.tokens.next.id==="undefined"&&F("W080",f.tokens.prev,f.tokens.prev.value),!i&&W(0).id==="="&&f.tokens.next.identifier&&F("W120",f.tokens.next,f.tokens.next.value),c=Q(i?120:10),l?a[0].first=c:Zt(p,c)),t.first=t.first.concat(p);if(f.tokens.next.id!==",")break;tt()}return h&&(V(")"),_t(!0,!0),t.block=!0,f.funct["(scope)"].unstack()),t}function sn(e){return f.inES6()||F("W104",f.tokens.curr,"class","6"),e?(this.name=Ct(),f.funct["(scope)"].addlabel(this.name,{type:"class",token:f.tokens.curr})):f.tokens.next.identifier&&f.tokens.next.value!=="extends"?(this.name=Ct(),this.namedExpr=!0):this.name=f.nameStack.infer(),on(this),this}function on(e){var t=f.inClassBody;f.tokens.next.value==="extends"&&(V("extends"),e.heritage=Q(10)),f.inClassBody=!0,V("{"),e.body=un(e),V("}"),f.inClassBody=t}function un(e){var t,n,r,i,s=Object.create(null),o=Object.create(null),u;for(var a=0;f.tokens.next.id!=="}";++a){t=f.tokens.next,n=!1,r=!1,i=null;if(t.id===";"){F("W032"),V(";");continue}t.id==="*"&&(r=!0,V("*"),t=f.tokens.next);if(t.id==="[")t=cn(),u=!0;else{if(!Ft(t)){F("W052",f.tokens.next,f.tokens.next.value||f.tokens.next.type),V();continue}V(),u=!1;if(t.identifier&&t.value==="static"){pn(f.tokens.next,"*")&&(r=!0,V("*"));if(Ft(f.tokens.next)||f.tokens.next.id==="[")u=f.tokens.next.id==="[",n=!0,t=f.tokens.next,f.tokens.next.id==="["?t=cn():V()}t.identifier&&(t.value==="get"||t.value==="set")&&(Ft(f.tokens.next)||f.tokens.next.id==="[")&&(u=f.tokens.next.id==="[",i=t,t=f.tokens.next,f.tokens.next.id==="["?t=cn():V())}if(!pn(f.tokens.next,"(")){q("E054",f.tokens.next,f.tokens.next.value);while(f.tokens.next.id!=="}"&&!pn(f.tokens.next,"("))V();f.tokens.next.value!=="("&&Xt({statement:e})}u||(i?ln(i.value,n?o:s,t.value,t,!0,n):(t.value==="constructor"?f.nameStack.set(e):f.nameStack.set(t),fn(n?o:s,t.value,t,!0,n)));if(i&&t.value==="constructor"){var l=i.value==="get"?"class getter method":"class setter method";q("E049",t,l,"constructor")}else t.value==="prototype"&&q("E049",t,"class method","prototype");It(t),Xt({statement:e,type:r?"generator":null,classExprBinding:e.namedExpr?e.name:null})}Kt(s)}function fn(e,t,n,r,i){var s=["key","class method","static class method"];s=s[(r||!1)+(i||!1)],n.identifier&&(t=n.value),e[t]&&t!=="__proto__"?F("W075",f.tokens.next,s,t):e[t]=Object.create(null),e[t].basic=!0,e[t].basictkn=n}function ln(e,t,n,r,i,s){var o=e==="get"?"getterToken":"setterToken",u="";i?(s&&(u+="static "),u+=e+"ter method"):u="key",f.tokens.curr.accessorType=e,f.nameStack.set(r),t[n]?(t[n].basic||t[n][o])&&n!=="__proto__"&&F("W075",f.tokens.next,u,n):t[n]=Object.create(null),t[n][o]=r}function cn(){V("["),f.inES6()||F("W119",f.tokens.curr,"computed property names","6");var e=Q(10);return V("]"),e}function hn(e,t){return e.type==="(punctuator)"?r.contains(t,e.value):!1}function pn(e,t){return e.type==="(punctuator)"&&e.value===t}function dn(){var e=an();e.notJson?(!f.inES6()&&e.isDestAssign&&F("W104",f.tokens.curr,"destructuring assignment","6"),Ot()):(f.option.laxbreak=!0,f.jsonMode=!0,mn())}function mn(){function e(){var e={},t=f.tokens.next;V("{");if(f.tokens.next.id!=="}")for(;;){if(f.tokens.next.id==="(end)")q("E026",f.tokens.next,t.line);else{if(f.tokens.next.id==="}"){F("W094",f.tokens.curr);break}f.tokens.next.id===","?q("E028",f.tokens.next):f.tokens.next.id!=="(string)"&&F("W095",f.tokens.next,f.tokens.next.value)}e[f.tokens.next.value]===!0?F("W075",f.tokens.next,"key",f.tokens.next.value):f.tokens.next.value==="__proto__"&&!f.option.proto||f.tokens.next.value==="__iterator__"&&!f.option.iterator?F("W096",f.tokens.next,f.tokens.next.value):e[f.tokens.next.value]=!0,V(),V(":"),mn();if(f.tokens.next.id!==",")break;V(",")}V("}")}function t(){var e=f.tokens.next;V("[");if(f.tokens.next.id!=="]")for(;;){if(f.tokens.next.id==="(end)")q("E027",f.tokens.next,e.line);else{if(f.tokens.next.id==="]"){F("W094",f.tokens.curr);break}f.tokens.next.id===","&&q("E028",f.tokens.next)}mn();if(f.tokens.next.id!==",")break;V(",")}V("]")}switch(f.tokens.next.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":V();break;case"-":V("-"),V("(number)");break;default:q("E003",f.tokens.next)}}var e,t={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},n,d=["closure","exception","global","label","outer","unused","var"],v,m,g,y,b,w,E,S,x,T,N=[],C=new i.EventEmitter,mt={};mt.legacy=["xml","unknown"],mt.es3=["undefined","boolean","number","string","function","object"],mt.es3=mt.es3.concat(mt.legacy),mt.es6=mt.es3.concat("symbol"),at("(number)",function(){return this}),at("(string)",function(){return this}),f.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var e=this.value;return f.tokens.next.id==="=>"?this:(f.funct["(comparray)"].check(e)||f.funct["(scope)"].block.use(e,f.tokens.curr),this)},led:function(){q("E033",f.tokens.next,f.tokens.next.value)}};var Pt={lbp:0,identifier:!1,template:!0};f.syntax["(template)"]=r.extend({type:"(template)",nud:Wt,led:Wt,noSubst:!1},Pt),f.syntax["(template middle)"]=r.extend({type:"(template middle)",middle:!0,noSubst:!1},Pt),f.syntax["(template tail)"]=r.extend({type:"(template tail)",tail:!0,noSubst:!1},Pt),f.syntax["(no subst template)"]=r.extend({type:"(template)",nud:Wt,led:Wt,noSubst:!0,tail:!0},Pt),at("(regexp)",function(){return this}),rt("(endline)"),rt("(begin)"),rt("(end)").reach=!0,rt("(error)").reach=!0,rt("}").reach=!0,rt(")"),rt("]"),rt('"').reach=!0,rt("'").reach=!0,rt(";"),rt(":").reach=!0,rt("#"),ft("else"),ft("case").reach=!0,ft("catch"),ft("default").reach=!0,ft("finally"),ct("arguments",function(e){f.isStrict()&&f.funct["(global)"]&&F("E008",e)}),ct("eval"),ct("false"),ct("Infinity"),ct("null"),ct("this",function(e){f.isStrict()&&!jt()&&!f.option.validthis&&(f.funct["(statement)"]&&f.funct["(name)"].charAt(0)>"Z"||f.funct["(global)"])&&F("W040",e)}),ct("true"),ct("undefined"),Et("=","assign",20),Et("+=","assignadd",20),Et("-=","assignsub",20),Et("*=","assignmult",20),Et("/=","assigndiv",20).nud=function(){q("E014")},Et("%=","assignmod",20),xt("&="),xt("|="),xt("^="),xt("<<="),xt(">>="),xt(">>>="),ht(",",function(e,t){var n;t.exprs=[e],f.option.nocomma&&F("W127");if(!tt({peek:!0}))return t;for(;;){if(!(n=Q(10)))break;t.exprs.push(n);if(f.tokens.next.value!==","||!tt())break}return t},10,!0),ht("?",function(e,t){return $t(),t.left=e,t.right=Q(10),V(":"),t["else"]=Q(10),t},30);var Ht=40;ht("||",function(e,t){return $t(),t.left=e,t.right=Q(Ht),t},Ht),ht("&&","and",50),St("|","bitor",70),St("^","bitxor",80),St("&","bitand",90),dt("==",function(e,t){var n=f.option.eqnull&&((e&&e.value)==="null"||(t&&t.value)==="null");switch(!0){case!n&&f.option.eqeqeq:this.from=this.character,F("W116",this,"===","==");break;case vt(e):F("W041",this,"===",e.value);break;case vt(t):F("W041",this,"===",t.value);break;case gt(t,e,f):F("W122",this,t.value);break;case gt(e,t,f):F("W122",this,e.value)}return this}),dt("===",function(e,t){return gt(t,e,f)?F("W122",this,t.value):gt(e,t,f)&&F("W122",this,e.value),this}),dt("!=",function(e,t){var n=f.option.eqnull&&((e&&e.value)==="null"||(t&&t.value)==="null");return!n&&f.option.eqeqeq?(this.from=this.character,F("W116",this,"!==","!=")):vt(e)?F("W041",this,"!==",e.value):vt(t)?F("W041",this,"!==",t.value):gt(t,e,f)?F("W122",this,t.value):gt(e,t,f)&&F("W122",this,e.value),this}),dt("!==",function(e,t){return gt(t,e,f)?F("W122",this,t.value):gt(e,t,f)&&F("W122",this,e.value),this}),dt("<"),dt(">"),dt("<="),dt(">="),St("<<","shiftleft",120),St(">>","shiftright",120),St(">>>","shiftrightunsigned",120),ht("in","in",120),ht("instanceof","instanceof",120),ht("+",function(e,t){var n;return t.left=e,t.right=n=Q(130),e&&n&&e.id==="(string)"&&n.id==="(string)"?(e.value+=n.value,e.character=n.character,!f.option.scripturl&&a.javascriptURL.test(e.value)&&F("W050",e),e):t},130),ut("+","num"),ut("+++",function(){return F("W007"),this.arity="unary",this.right=Q(150),this}),ht("+++",function(e){return F("W007"),this.left=e,this.right=Q(130),this},130),ht("-","sub",130),ut("-","neg"),ut("---",function(){return F("W006"),this.arity="unary",this.right=Q(150),this}),ht("---",function(e){return F("W006"),this.left=e,this.right=Q(130),this},130),ht("*","mult",140),ht("/","div",140),ht("%","mod",140),Tt("++"),ut("++","preinc"),f.syntax["++"].exps=!0,Tt("--"),ut("--","predec"),f.syntax["--"].exps=!0,ut("delete",function(){var e=Q(10);return e?(e.id!=="."&&e.id!=="["&&F("W051"),this.first=e,e.identifier&&!f.isStrict()&&(e.forgiveUndef=!0),this):this}).exps=!0,ut("~",function(){return f.option.bitwise&&F("W016",this,"~"),this.arity="unary",this.right=Q(150),this}),ut("...",function(){return f.inES6(!0)||F("W119",this,"spread/rest operator","6"),!f.tokens.next.identifier&&f.tokens.next.type!=="(string)"&&!hn(f.tokens.next,["[","("])&&q("E030",f.tokens.next,f.tokens.next.value),Q(150),this}),ut("!",function(){return this.arity="unary",this.right=Q(150),this.right||B("E041",this.line||0),t[this.right.id]===!0&&F("W018",this,"!"),this}),ut("typeof",function(){var e=Q(150);return this.first=this.right=e,e||B("E041",this.line||0,this.character||0),e.identifier&&(e.forgiveUndef=!0),this}),ut("new",function(){var e=Qt("target",function(){f.inES6(!0)||F("W119",f.tokens.prev,"new.target","6");var e,t=f.funct;while(t){e=!t["(global)"];if(!t["(arrow)"])break;t=t["(context)"]}e||F("W136",f.tokens.prev,"new.target")});if(e)return e;var t=Q(155),n;if(t&&t.id!=="function")if(t.identifier){t["new"]=!0;switch(t.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":F("W053",f.tokens.prev,t.value);break;case"Symbol":f.inES6()&&F("W053",f.tokens.prev,t.value);break;case"Function":f.option.evil||F("W054");break;case"Date":case"RegExp":case"this":break;default:t.id!=="function"&&(n=t.value.substr(0,1),f.option.newcap&&(n<"A"||n>"Z")&&!f.funct["(scope)"].isPredefined(t.value)&&F("W055",f.tokens.curr))}}else t.id!=="."&&t.id!=="["&&t.id!=="("&&F("W056",f.tokens.curr);else f.option.supernew||F("W057",this);return f.tokens.next.id!=="("&&!f.option.supernew&&F("W058",f.tokens.curr,f.tokens.curr.value),this.first=this.right=t,this}),f.syntax["new"].exps=!0,ut("void").exps=!0,ht(".",function(e,t){var n=Ct(!1,!0);return typeof n=="string"&&Dt(n),t.left=e,t.right=n,n&&n==="hasOwnProperty"&&f.tokens.next.value==="="&&F("W001"),!e||e.value!=="arguments"||n!=="callee"&&n!=="caller"?!f.option.evil&&e&&e.value==="document"&&(n==="write"||n==="writeln")&&F("W060",e):f.option.noarg?F("W059",e,n):f.isStrict()&&q("E008"),!f.option.evil&&(n==="eval"||n==="execScript")&&yt(e,f)&&F("W061"),t},160,!0),ht("(",function(e,t){f.option.immed&&e&&!e.immed&&e.id==="function"&&F("W062");var n=0,r=[];e&&e.type==="(identifier)"&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Array Number String Boolean Date Object Error Symbol".indexOf(e.value)===-1&&(e.value==="Math"?F("W063",e):f.option.newcap&&F("W064",e));if(f.tokens.next.id!==")")for(;;){r[r.length]=Q(10),n+=1;if(f.tokens.next.id!==",")break;tt()}return V(")"),typeof e=="object"&&(!f.inES5()&&e.value==="parseInt"&&n===1&&F("W065",f.tokens.curr),f.option.evil||(e.value==="eval"||e.value==="Function"||e.value==="execScript"?(F("W061",e),r[0]&&[0].id==="(string)"&&U(e,r[0].value)):!r[0]||r[0].id!=="(string)"||e.value!=="setTimeout"&&e.value!=="setInterval"?r[0]&&r[0].id==="(string)"&&e.value==="."&&e.left.value==="window"&&(e.right==="setTimeout"||e.right==="setInterval")&&(F("W066",e),U(e,r[0].value)):(F("W066",e),U(e,r[0].value))),!e.identifier&&e.id!=="."&&e.id!=="["&&e.id!=="=>"&&e.id!=="("&&e.id!=="&&"&&e.id!=="||"&&e.id!=="?"&&(!f.inES6()||!e["(name)"])&&F("W067",t)),t.left=e,t},155,!0).exps=!0,ut("(",function(){var e=f.tokens.next,t,n=-1,r,i,s,o,u=1,a=f.tokens.curr,l=f.tokens.prev,c=!f.option.singleGroups;do e.value==="("?u+=1:e.value===")"&&(u-=1),n+=1,t=e,e=W(n);while((u!==0||t.value!==")")&&e.value!==";"&&e.type!=="(end)");f.tokens.next.id==="function"&&(i=f.tokens.next.immed=!0);if(e.value==="=>")return Xt({type:"arrow",parsedOpening:!0});var h=[];if(f.tokens.next.id!==")")for(;;){h.push(Q(10));if(f.tokens.next.id!==",")break;f.option.nocomma&&F("W127"),tt()}V(")",this),f.option.immed&&h[0]&&h[0].id==="function"&&f.tokens.next.id!=="("&&f.tokens.next.id!=="."&&f.tokens.next.id!=="["&&F("W068",this);if(!h.length)return;return h.length>1?(r=Object.create(f.syntax[","]),r.exprs=h,s=h[0],o=h[h.length-1],c||(c=l.assign||l.delim)):(r=s=o=h[0],c||(c=a.beginsStmt&&(r.id==="{"||i||Ut(r))||i&&(!J()||f.tokens.prev.id!=="}")||Ut(r)&&!J()||r.id==="{"&&l.id==="=>"||r.type==="(number)"&&pn(e,".")&&/^\d+$/.test(r.value))),r&&(!c&&(s.left||s.right||r.exprs)&&(c=!K(l)&&s.lbp<=l.lbp||!J()&&o.lbp<f.tokens.next.lbp),c||F("W126",a),r.paren=!0),r}),pt("=>"),ht("[",function(e,t){var n=Q(10),r;return n&&n.type==="(string)"&&(!f.option.evil&&(n.value==="eval"||n.value==="execScript")&&yt(e,f)&&F("W061"),Dt(n.value),!f.option.sub&&a.identifier.test(n.value)&&(r=f.syntax[n.value],(!r||!O(r))&&F("W069",f.tokens.prev,n.value))),V("]",t),n&&n.value==="hasOwnProperty"&&f.tokens.next.value==="="&&F("W001"),t.left=e,t.right=n,t},160,!0),ut("[",function(){var e=an();if(e.isCompArray)return!f.option.esnext&&!f.inMoz()&&F("W118",f.tokens.curr,"array comprehension"),Bt();if(e.isDestAssign)return this.destructAssign=Gt({openingParsed:!0,assignment:!0}),this;var t=f.tokens.curr.line!==G(f.tokens.next);this.first=[],t&&(g+=f.option.indent,f.tokens.next.from===g+f.option.indent&&(g+=f.option.indent));while(f.tokens.next.id!=="(end)"){while(f.tokens.next.id===","){if(!f.option.elision){if(!!f.inES5()){F("W128");do V(",");while(f.tokens.next.id===",");continue}F("W070")}V(",")}if(f.tokens.next.id==="]")break;this.first.push(Q(10));if(f.tokens.next.id!==",")break;tt({allowTrailing:!0});if(f.tokens.next.id==="]"&&!f.inES5()){F("W070",f.tokens.curr);break}}return t&&(g-=f.option.indent),V("]",this),this}),function(e){e.nud=function(){var e,t,n,r,i,s=!1,o,u=Object.create(null);e=f.tokens.curr.line!==G(f.tokens.next),e&&(g+=f.option.indent,f.tokens.next.from===g+f.option.indent&&(g+=f.option.indent));var a=an();if(a.isDestAssign)return this.destructAssign=Gt({openingParsed:!0,assignment:!0}),this;for(;;){if(f.tokens.next.id==="}")break;o=f.tokens.next.value;if(!f.tokens.next.identifier||X().id!==","&&X().id!=="}")if(W().id===":"||o!=="get"&&o!=="set"){f.tokens.next.value==="*"&&f.tokens.next.type==="(punctuator)"?(f.inES6()||F("W104",f.tokens.next,"generator functions","6"),V("*"),s=!0):s=!1;if(f.tokens.next.id==="[")n=cn(),f.nameStack.set(n);else{f.nameStack.set(f.tokens.next),n=It(),fn(u,n,f.tokens.next);if(typeof n!="string")break}f.tokens.next.value==="("?(f.inES6()||F("W104",f.tokens.curr,"concise methods","6"),Xt({type:s?"generator":null})):(V(":"),Q(10))}else V(o),f.inES5()||q("E034"),n=It(),!n&&!f.inES6()&&q("E035"),n&&ln(o,u,n,f.tokens.curr),i=f.tokens.next,t=Xt(),r=t["(params)"],o==="get"&&n&&r?F("W076",i,r[0],n):o==="set"&&n&&(!r||r.length!==1)&&F("W077",i,n);else f.inES6()||F("W104",f.tokens.next,"object short notation","6"),n=It(!0),fn(u,n,f.tokens.next),Q(10);Dt(n);if(f.tokens.next.id!==",")break;tt({allowTrailing:!0,property:!0}),f.tokens.next.id===","?F("W070",f.tokens.curr):f.tokens.next.id==="}"&&!f.inES5()&&F("W070",f.tokens.curr)}return e&&(g-=f.option.indent),V("}",this),Kt(u),this},e.fud=function(){q("E036",f.tokens.curr)}}(rt("{"));var tn=it("const",function(e){return en("const",this,e)});tn.exps=!0;var nn=it("let",function(e){return en("let",this,e)});nn.exps=!0;var rn=it("var",function(e){var t=e&&e.prefix,n=e&&e.inexport,i,o,u,a=e&&e.implied,l=!e||!e.ignore;this.first=[];for(;;){var c=[];r.contains(["{","["],f.tokens.next.value)?(i=Gt(),o=!1):(i=[{id:Ct(),token:f.tokens.curr}],o=!0),(!t||!a)&&l&&f.option.varstmt&&F("W132",this),this.first=this.first.concat(c);for(var h in i)i.hasOwnProperty(h)&&(h=i[h],!a&&f.funct["(global)"]&&(S[h.id]===!1?F("W079",h.token,h.id):f.option.futurehostile===!1&&(!f.inES5()&&s.ecmaIdentifiers[5][h.id]===!1||!f.inES6()&&s.ecmaIdentifiers[6][h.id]===!1)&&F("W129",h.token,h.id)),h.id&&(a==="for"?(f.funct["(scope)"].has(h.id)||l&&F("W088",h.token,h.id),f.funct["(scope)"].block.use(h.id,h.token)):(f.funct["(scope)"].addlabel(h.id,{type:"var",token:h.token}),o&&n&&f.funct["(scope)"].setExported(h.id,h.token)),c.push(h.token)));f.tokens.next.id==="="&&(f.nameStack.set(f.tokens.curr),V("="),!t&&l&&!f.funct["(loopage)"]&&f.tokens.next.id==="undefined"&&F("W080",f.tokens.prev,f.tokens.prev.value),W(0).id==="="&&f.tokens.next.identifier&&(!t&&l&&!f.funct["(params)"]||f.funct["(params)"].indexOf(f.tokens.next.value)===-1)&&F("W120",f.tokens.next,f.tokens.next.value),u=Q(t?120:10),o?i[0].first=u:Zt(c,u));if(f.tokens.next.id!==",")break;tt()}return this});rn.exps=!0,st("class",function(){return sn.call(this,!0)}),st("function",function(e){var t=e&&e.inexport,n=!1;f.tokens.next.value==="*"&&(V("*"),f.inES6({strict:!0})?n=!0:F("W119",f.tokens.curr,"function*","6")),m&&F("W082",f.tokens.curr);var r=Nt();return f.funct["(scope)"].addlabel(r,{type:"function",token:f.tokens.curr}),r===undefined?F("W025"):t&&f.funct["(scope)"].setExported(r,f.tokens.prev),Xt({name:r,statement:this,type:n?"generator":null,ignoreLoopFunc:m}),f.tokens.next.id==="("&&f.tokens.next.line===f.tokens.curr.line&&q("E039"),this}),ut("function",function(){var e=!1;f.tokens.next.value==="*"&&(f.inES6()||F("W119",f.tokens.curr,"function*","6"),V("*"),e=!0);var t=Nt();return Xt({name:t,type:e?"generator":null}),this}),st("if",function(){var e=f.tokens.next;$t(),f.condition=!0,V("(");var t=Q(0);Jt(t);var n=null;f.option.forin&&f.forinifcheckneeded&&(f.forinifcheckneeded=!1,n=f.forinifchecks[f.forinifchecks.length-1],t.type==="(punctuator)"&&t.value==="!"?n.type="(negative)":n.type="(positive)"),V(")",e),f.condition=!1;var r=_t(!0,!0);return n&&n.type==="(negative)"&&r&&r[0]&&r[0].type==="(identifier)"&&r[0].value==="continue"&&(n.type="(negative-with-continue)"),f.tokens.next.id==="else"&&(V("else"),f.tokens.next.id==="if"||f.tokens.next.id==="switch"?At():_t(!0,!0)),this}),st("try",function(){function t(){V("catch"),V("("),f.funct["(scope)"].stack("catchparams");if(hn(f.tokens.next,["[","{"])){var e=Gt();r.each(e,function(e){e.id&&f.funct["(scope)"].addParam(e.id,e,"exception")})}else f.tokens.next.type!=="(identifier)"?F("E030",f.tokens.next,f.tokens.next.value):f.funct["(scope)"].addParam(Ct(),f.tokens.curr,"exception");f.tokens.next.value==="if"&&(f.inMoz()||F("W118",f.tokens.curr,"catch filter"),V("if"),Q(0)),V(")"),_t(!1),f.funct["(scope)"].unstack()}var e;_t(!0);while(f.tokens.next.id==="catch")$t(),e&&!f.inMoz()&&F("W118",f.tokens.next,"multiple catch blocks"),t(),e=!0;if(f.tokens.next.id==="finally"){V("finally"),_t(!0);return}return e||q("E021",f.tokens.next,"catch",f.tokens.next.value),this}),st("while",function(){var e=f.tokens.next;return f.funct["(breakage)"]+=1,f.funct["(loopage)"]+=1,$t(),V("("),Jt(Q(0)),V(")",e),_t(!0,!0),f.funct["(breakage)"]-=1,f.funct["(loopage)"]-=1,this}).labelled=!0,st("with",function(){var e=f.tokens.next;return f.isStrict()?q("E010",f.tokens.curr):f.option.withstmt||F("W085",f.tokens.curr),V("("),Q(0),V(")",e),_t(!0,!0),this}),st("switch",function(){var e=f.tokens.next,t=!1,n=!1;f.funct["(breakage)"]+=1,V("("),Jt(Q(0)),V(")",e),e=f.tokens.next,V("{"),f.tokens.next.from===g&&(n=!0),n||(g+=f.option.indent),this.cases=[];for(;;)switch(f.tokens.next.id){case"case":switch(f.funct["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:f.tokens.curr.caseFallsThrough||F("W086",f.tokens.curr,"case")}V("case"),this.cases.push(Q(0)),$t(),t=!0,V(":"),f.funct["(verb)"]="case";break;case"default":switch(f.funct["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(f.tokens.curr.caseFallsThrough||F("W086",f.tokens.curr,"default"))}V("default"),t=!0,V(":");break;case"}":n||(g-=f.option.indent),V("}",e),f.funct["(breakage)"]-=1,f.funct["(verb)"]=undefined;return;case"(end)":q("E023",f.tokens.next,"}");return;default:g+=f.option.indent;if(t)switch(f.tokens.curr.id){case",":q("E040");return;case":":t=!1,Ot();break;default:q("E025",f.tokens.curr);return}else{if(f.tokens.curr.id!==":"){q("E021",f.tokens.next,"case",f.tokens.next.value);return}V(":"),q("E024",f.tokens.curr,":"),Ot()}g-=f.option.indent}return this}).labelled=!0,it("debugger",function(){return f.option.debug||F("W087",this),this}).exps=!0,function(){var e=it("do",function(){f.funct["(breakage)"]+=1,f.funct["(loopage)"]+=1,$t(),this.first=_t(!0,!0),V("while");var e=f.tokens.next;return V("("),Jt(Q(0)),V(")",e),f.funct["(breakage)"]-=1,f.funct["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),st("for",function(){var e,t=f.tokens.next,n=!1,i=null;t.value==="each"&&(i=t,V("each"),f.inMoz()||F("W118",f.tokens.curr,"for each")),$t(),V("(");var s,o=0,u=["in","of"],a=0,l,c;hn(f.tokens.next,["{","["])&&++a;do{s=W(o),++o,hn(s,["{","["])?++a:hn(s,["}","]"])&&--a;if(a<0)break;a===0&&(!l&&pn(s,",")?l=s:!c&&pn(s,"=")&&(c=s))}while(a>0||!r.contains(u,s.value)&&s.value!==";"&&s.type!=="(end)");if(r.contains(u,s.value)){!f.inES6()&&s.value==="of"&&F("W104",s,"for of","6");var h=!c&&!l;c&&q("W133",l,s.value,"initializer is forbidden"),l&&q("W133",l,s.value,"more than one ForBinding"),f.tokens.next.id==="var"?(V("var"),f.tokens.curr.fud({prefix:!0})):f.tokens.next.id==="let"||f.tokens.next.id==="const"?(V(f.tokens.next.id),n=!0,f.funct["(scope)"].stack(),f.tokens.curr.fud({prefix:!0})):Object.create(rn).fud({prefix:!0,implied:"for",ignore:!h}),V(s.value),Q(20),V(")",t),s.value==="in"&&f.option.forin&&(f.forinifcheckneeded=!0,f.forinifchecks===undefined&&(f.forinifchecks=[]),f.forinifchecks.push({type:"(none)"})),f.funct["(breakage)"]+=1,f.funct["(loopage)"]+=1,e=_t(!0,!0);if(s.value==="in"&&f.option.forin){if(f.forinifchecks&&f.forinifchecks.length>0){var p=f.forinifchecks.pop();(e&&e.length>0&&(typeof e[0]!="object"||e[0].value!=="if")||p.type==="(positive)"&&e.length>1||p.type==="(negative)")&&F("W089",this)}f.forinifcheckneeded=!1}f.funct["(breakage)"]-=1,f.funct["(loopage)"]-=1}else{i&&q("E045",i);if(f.tokens.next.id!==";")if(f.tokens.next.id==="var")V("var"),f.tokens.curr.fud();else if(f.tokens.next.id==="let")V("let"),n=!0,f.funct["(scope)"].stack(),f.tokens.curr.fud();else for(;;){Q(0,"for");if(f.tokens.next.id!==",")break;l()}Z(f.tokens.curr),V(";"),f.funct["(loopage)"]+=1,f.tokens.next.id!==";"&&Jt(Q(0)),Z(f.tokens.curr),V(";"),f.tokens.next.id===";"&&q("E021",f.tokens.next,")",";");if(f.tokens.next.id!==")")for(;;){Q(0,"for");if(f.tokens.next.id!==",")break;l()}V(")",t),f.funct["(breakage)"]+=1,_t(!0,!0),f.funct["(breakage)"]-=1,f.funct["(loopage)"]-=1}return n&&f.funct["(scope)"].unstack(),this}).labelled=!0,it("break",function(){var e=f.tokens.next.value;return f.option.asi||Z(this),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.curr.line===G(f.tokens.next)?(f.funct["(scope)"].funct.hasBreakLabel(e)||F("W090",f.tokens.next,e),this.first=f.tokens.next,V()):f.funct["(breakage)"]===0&&F("W052",f.tokens.next,this.value),kt(this),this}).exps=!0,it("continue",function(){var e=f.tokens.next.value;return f.funct["(breakage)"]===0&&F("W052",f.tokens.next,this.value),f.funct["(loopage)"]||F("W052",f.tokens.next,this.value),f.option.asi||Z(this),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.curr.line===G(f.tokens.next)&&(f.funct["(scope)"].funct.hasBreakLabel(e)||F("W090",f.tokens.next,e),this.first=f.tokens.next,V()),kt(this),this}).exps=!0,it("return",function(){return this.line===G(f.tokens.next)?f.tokens.next.id!==";"&&!f.tokens.next.reach&&(this.first=Q(0),this.first&&this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&I("W093",this.first.line,this.first.character)):f.tokens.next.type==="(punctuator)"&&["[","{","+","-"].indexOf(f.tokens.next.value)>-1&&Z(this),kt(this),this}).exps=!0,function(e){e.exps=!0,e.lbp=25}(ut("yield",function(){var e=f.tokens.prev;f.inES6(!0)&&!f.funct["(generator)"]?("(catch)"!==f.funct["(name)"]||!f.funct["(context)"]["(generator)"])&&q("E046",f.tokens.curr,"yield"):f.inES6()||F("W104",f.tokens.curr,"yield","6"),f.funct["(generator)"]="yielded";var t=!1;f.tokens.next.value==="*"&&(t=!0,V("*"));if(this.line===G(f.tokens.next)||!f.inMoz()){if(t||f.tokens.next.id!==";"&&!f.option.asi&&!f.tokens.next.reach&&f.tokens.next.nud)Y(f.tokens.curr,f.tokens.next),this.first=Q(10),this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&I("W093",this.first.line,this.first.character);f.inMoz()&&f.tokens.next.id!==")"&&(e.lbp>30||!e.assign&&!J()||e.id==="yield")&&q("E050",this)}else f.option.asi||Z(this);return this})),it("throw",function(){return Z(this),this.first=Q(20),kt(this),this}).exps=!0,it("import",function(){f.inES6()||F("W119",f.tokens.curr,"import","6");if(f.tokens.next.type==="(string)")return V("(string)"),this;if(f.tokens.next.identifier){this.name=Ct(),f.funct["(scope)"].addlabel(this.name,{type:"const",token:f.tokens.curr});if(f.tokens.next.value!==",")return V("from"),V("(string)"),this;V(",")}if(f.tokens.next.id==="*")V("*"),V("as"),f.tokens.next.identifier&&(this.name=Ct(),f.funct["(scope)"].addlabel(this.name,{type:"const",token:f.tokens.curr}));else{V("{");for(;;){if(f.tokens.next.value==="}"){V("}");break}var e;f.tokens.next.type==="default"?(e="default",V("default")):e=Ct(),f.tokens.next.value==="as"&&(V("as"),e=Ct()),f.funct["(scope)"].addlabel(e,{type:"const",token:f.tokens.curr});if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){V("}");break}q("E024",f.tokens.next,f.tokens.next.value);break}V(",")}}return V("from"),V("(string)"),this}).exps=!0,it("export",function(){var e=!0,t,n;f.inES6()||(F("W119",f.tokens.curr,"export","6"),e=!1),f.funct["(scope)"].block.isGlobal()||(q("E053",f.tokens.curr),e=!1);if(f.tokens.next.value==="*")return V("*"),V("from"),V("(string)"),this;if(f.tokens.next.type==="default"){f.nameStack.set(f.tokens.next),V("default");var r=f.tokens.next.id;if(r==="function"||r==="class")this.block=!0;return t=W(),Q(10),n=t.value,this.block&&(f.funct["(scope)"].addlabel(n,{type:r,token:t}),f.funct["(scope)"].setExported(n,t)),this}if(f.tokens.next.value==="{"){V("{");var i=[];for(;;){f.tokens.next.identifier||q("E030",f.tokens.next,f.tokens.next.value),V(),i.push(f.tokens.curr),f.tokens.next.value==="as"&&(V("as"),f.tokens.next.identifier||q("E030",f.tokens.next,f.tokens.next.value),V());if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){V("}");break}q("E024",f.tokens.next,f.tokens.next.value);break}V(",")}return f.tokens.next.value==="from"?(V("from"),V("(string)")):e&&i.forEach(function(e){f.funct["(scope)"].setExported(e.value,e)}),this}if(f.tokens.next.id==="var")V("var"),f.tokens.curr.fud({inexport:!0});else if(f.tokens.next.id==="let")V("let"),f.tokens.curr.fud({inexport:!0});else if(f.tokens.next.id==="const")V("const"),f.tokens.curr.fud({inexport:!0});else if(f.tokens.next.id==="function")this.block=!0,V("function"),f.syntax["function"].fud({inexport:!0});else if(f.tokens.next.id==="class"){this.block=!0,V("class");var s=f.tokens.next;f.syntax["class"].fud(),f.funct["(scope)"].setExported(s.value,s)}else q("E024",f.tokens.next,f.tokens.next.value);return this}).exps=!0,lt("abstract"),lt("boolean"),lt("byte"),lt("char"),lt("class",{es5:!0,nud:sn}),lt("double"),lt("enum",{es5:!0}),lt("export",{es5:!0}),lt("extends",{es5:!0}),lt("final"),lt("float"),lt("goto"),lt("implements",{es5:!0,strictOnly:!0}),lt("import",{es5:!0}),lt("int"),lt("interface",{es5:!0,strictOnly:!0}),lt("long"),lt("native"),lt("package",{es5:!0,strictOnly:!0}),lt("private",{es5:!0,strictOnly:!0}),lt("protected",{es5:!0,strictOnly:!0}),lt("public",{es5:!0,strictOnly:!0}),lt("short"),lt("static",{es5:!0,strictOnly:!0}),lt("super",{es5:!0}),lt("synchronized"),lt("transient"),lt("volatile");var an=function(){var e,t,n,r=-1,i=0,s={};hn(f.tokens.curr,["[","{"])&&(i+=1);do{n=r===-1?f.tokens.curr:e,e=r===-1?f.tokens.next:W(r),t=W(r+1),r+=1,hn(e,["[","{"])?i+=1:hn(e,["]","}"])&&(i-=1);if(i===1&&e.identifier&&e.value==="for"&&!pn(n,".")){s.isCompArray=!0,s.notJson=!0;break}if(i===0&&hn(e,["}","]"])){if(t.value==="="){s.isDestAssign=!0,s.notJson=!0;break}if(t.value==="."){s.notJson=!0;break}}pn(e,";")&&(s.isBlock=!0,s.notJson=!0)}while(i>0&&e.id!=="(end)");return s},vn=function(){function i(e){var t=n.variables.filter(function(t){if(t.value===e)return t.undef=!1,e}).length;return t!==0}function s(e){var t=n.variables.filter(function(t){if(t.value===e&&!t.undef)return t.unused===!0&&(t.unused=!1),e}).length;return t===0}var e=function(){this.mode="use",this.variables=[]},t=[],n;return{stack:function(){n=new e,t.push(n)},unstack:function(){n.variables.filter(function(e){e.unused&&F("W098",e.token,e.raw_text||e.value),e.undef&&f.funct["(scope)"].block.use(e.value,e.token)}),t.splice(-1,1),n=t[t.length-1]},setState:function(e){r.contains(["use","define","generate","filter"],e)&&(n.mode=e)},check:function(e){if(!n)return;return n&&n.mode==="use"?(s(e)&&n.variables.push({funct:f.funct,token:f.tokens.curr,value:e,undef:!0,unused:!1}),!0):n&&n.mode==="define"?(i(e)||n.variables.push({funct:f.funct,token:f.tokens.curr,value:e,undef:!1,unused:!0}),!0):n&&n.mode==="generate"?(f.funct["(scope)"].block.use(e,f.tokens.curr),!0):n&&n.mode==="filter"?(s(e)&&f.funct["(scope)"].block.use(e,f.tokens.curr),!0):!1}}},gn=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},yn=function(t,i,o){function U(e,t){if(!e)return;!Array.isArray(e)&&typeof e=="object"&&(e=Object.keys(e)),e.forEach(t)}var a,l,c,d,A,O,M={},P={};i=r.clone(i),f.reset(),i&&i.scope?p.scope=i.scope:(p.errors=[],p.undefs=[],p.internals=[],p.blacklist={},p.scope="(main)"),S=Object.create(null),D(S,s.ecmaIdentifiers[3]),D(S,s.reservedVars),D(S,o||{}),n=Object.create(null);var j=Object.create(null);if(i){U(i.predef||null,function(e){var t,n;e[0]==="-"?(t=e.slice(1),p.blacklist[t]=t,delete S[t]):(n=Object.getOwnPropertyDescriptor(i.predef,e),S[e]=n?n.value:!1)}),U(i.exported||null,function(e){j[e]=!0}),delete i.predef,delete i.exported,O=Object.keys(i);for(c=0;c<O.length;c++)if(/^-W\d{3}$/g.test(O[c]))P[O[c].slice(1)]=!0;else{var z=O[c];M[z]=i[z],(z==="esversion"&&i[z]===5||z==="es5"&&i[z])&&F("I003"),O[c]==="newcap"&&i[z]===!1&&(M["(explicitNewcap)"]=!0)}}f.option=M,f.ignored=P,f.option.indent=f.option.indent||4,f.option.maxerr=f.option.maxerr||50,g=1;var W=h(f,S,j,n);W.on("warning",function(e){F.apply(null,[e.code,e.token].concat(e.data))}),W.on("error",function(e){q.apply(null,[e.code,e.token].concat(e.data))}),f.funct=Rt("(global)",null,{"(global)":!0,"(scope)":W,"(comparray)":vn(),"(metrics)":Vt(f.tokens.next)}),v=[f.funct],T=[],x=null,w={},E=null,m=!1,y=[];if(!L(t)&&!Array.isArray(t))return R("E004",0),!1;e={get isJSON(){return f.jsonMode},getOption:function(e){return f.option[e]||null},getCache:function(e){return f.cache[e]},setCache:function(e,t){f.cache[e]=t},warn:function(e,t){I.apply(null,[e,t.line,t.char].concat(t.data))},on:function(e,t){e.split(" ").forEach(function(e){C.on(e,t)}.bind(this))}},C.removeAllListeners(),(N||[]).forEach(function(t){t(e)}),f.tokens.prev=f.tokens.curr=f.tokens.next=f.syntax["(begin)"],i&&i.ignoreDelimiters&&(Array.isArray(i.ignoreDelimiters)||(i.ignoreDelimiters=[i.ignoreDelimiters]),i.ignoreDelimiters.forEach(function(e){if(!e.start||!e.end)return;d=gn(e.start)+"[\\s\\S]*?"+gn(e.end),A=new RegExp(d,"ig"),t=t.replace(A,function(e){return e.replace(/./g," ")})})),b=new u(t),b.on("warning",function(e){I.apply(null,[e.code,e.line,e.character].concat(e.data))}),b.on("error",function(e){R.apply(null,[e.code,e.line,e.character].concat(e.data))}),b.on("fatal",function(e){B("E041",e.line,e.from)}),b.on("Identifier",function(e){C.emit("Identifier",e)}),b.on("String",function(e){C.emit("String",e)}),b.on("Number",function(e){C.emit("Number",e)}),b.start();for(var X in i)r.has(i,X)&&k(X,f.tokens.curr);H(),D(S,o||{}),tt.first=!0;try{V();switch(f.tokens.next.id){case"{":case"[":dn();break;default:Mt(),f.directive["use strict"]&&f.option.strict!=="global"&&F("W097",f.tokens.prev),Ot()}f.tokens.next.id!=="(end)"&&B("E041",f.tokens.curr.line),f.funct["(scope)"].unstack()}catch($){if(!$||$.name!=="JSHintError")throw $;var J=f.tokens.next||{};p.errors.push({scope:"(main)",raw:$.raw,code:$.code,reason:$.message,line:$.line||J.line,character:$.character||J.from},null)}if(p.scope==="(main)"){i=i||{};for(a=0;a<p.internals.length;a+=1)l=p.internals[a],i.scope=l.elem,yn(l.value,i,o)}return p.errors.length===0};return yn.addModule=function(e){N.push(e)},yn.addModule(l.register),yn.data=function(){var e={functions:[],options:f.option},t,n,r,i,s,o;yn.errors.length&&(e.errors=yn.errors),f.jsonMode&&(e.json=!0);var u=f.funct["(scope)"].getImpliedGlobals();u.length>0&&(e.implieds=u),T.length>0&&(e.urls=T),o=f.funct["(scope)"].getUsedOrDefinedGlobals(),o.length>0&&(e.globals=o);for(r=1;r<v.length;r+=1){n=v[r],t={};for(i=0;i<d.length;i+=1)t[d[i]]=[];for(i=0;i<d.length;i+=1)t[d[i]].length===0&&delete t[d[i]];t.name=n["(name)"],t.param=n["(params)"],t.line=n["(line)"],t.character=n["(character)"],t.last=n["(last)"],t.lastcharacter=n["(lastcharacter)"],t.metrics={complexity:n["(metrics)"].ComplexityCount,parameters:n["(metrics)"].arity,statements:n["(metrics)"].statementCount},e.functions.push(t)}var a=f.funct["(scope)"].getUnuseds();a.length>0&&(e.unused=a);for(s in w)if(typeof w[s]=="number"){e.member=w;break}return e},yn.jshint=yn,yn}();typeof n=="object"&&n&&(n.JSHINT=p)},{"../lodash":"/node_modules/jshint/lodash.js","./lex.js":"/node_modules/jshint/src/lex.js","./messages.js":"/node_modules/jshint/src/messages.js","./options.js":"/node_modules/jshint/src/options.js","./reg.js":"/node_modules/jshint/src/reg.js","./scope-manager.js":"/node_modules/jshint/src/scope-manager.js","./state.js":"/node_modules/jshint/src/state.js","./style.js":"/node_modules/jshint/src/style.js","./vars.js":"/node_modules/jshint/src/vars.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/lex.js":[function(e,t,n){"use strict";function h(){var e=[];return{push:function(t){e.push(t)},check:function(){for(var t=0;t<e.length;++t)e[t]();e.splice(0,e.length)}}}function p(e){var t=e;typeof t=="string"&&(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")),t[0]&&t[0].substr(0,2)==="#!"&&(t[0].indexOf("node")!==-1&&(o.option.node=!0),t[0]=""),this.emitter=new i.EventEmitter,this.source=e,this.setLines(t),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="",this.inComment=!1,this.context=[],this.templateStarts=[];for(var n=0;n<o.option.indent;n+=1)o.tab+=" ";this.ignoreLinterErrors=!1}var r=e("../lodash"),i=e("events"),s=e("./reg.js"),o=e("./state.js").state,u=e("../data/ascii-identifier-data.js"),a=u.asciiIdentifierStartTable,f=u.asciiIdentifierPartTable,l={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},c={Block:1,Template:2};p.prototype={_lines:[],inContext:function(e){return this.context.length>0&&this.context[this.context.length-1].type===e},pushContext:function(e){this.context.push({type:e})},popContext:function(){return this.context.pop()},isContext:function(e){return this.context.length>0&&this.context[this.context.length-1]===e},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=o.lines,this._lines},setLines:function(e){this._lines=e,o.lines=this._lines},peek:function(e){return this.input.charAt(e||0)},skip:function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},on:function(e,t){e.split(" ").forEach(function(e){this.emitter.on(e,t)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(e,t,n,r){n.push(function(){r()&&this.trigger(e,t)}.bind(this))},scanPunctuator:function(){var e=this.peek(),t,n,r;switch(e){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if(this.peek(1)==="."&&this.peek(2)===".")return{type:l.Punctuator,value:"..."};case"(":case")":case";":case",":case"[":case"]":case":":case"~":case"?":return{type:l.Punctuator,value:e};case"{":return this.pushContext(c.Block),{type:l.Punctuator,value:e};case"}":return this.inContext(c.Block)&&this.popContext(),{type:l.Punctuator,value:e};case"#":return{type:l.Punctuator,value:e};case"":return null}return t=this.peek(1),n=this.peek(2),r=this.peek(3),e===">"&&t===">"&&n===">"&&r==="="?{type:l.Punctuator,value:">>>="}:e==="="&&t==="="&&n==="="?{type:l.Punctuator,value:"==="}:e==="!"&&t==="="&&n==="="?{type:l.Punctuator,value:"!=="}:e===">"&&t===">"&&n===">"?{type:l.Punctuator,value:">>>"}:e==="<"&&t==="<"&&n==="="?{type:l.Punctuator,value:"<<="}:e===">"&&t===">"&&n==="="?{type:l.Punctuator,value:">>="}:e==="="&&t===">"?{type:l.Punctuator,value:e+t}:e===t&&"+-<>&|".indexOf(e)>=0?{type:l.Punctuator,value:e+t}:"<>=!+-*%&|^".indexOf(e)>=0?t==="="?{type:l.Punctuator,value:e+t}:{type:l.Punctuator,value:e}:e==="/"?t==="="?{type:l.Punctuator,value:"/="}:{type:l.Punctuator,value:"/"}:null},scanComments:function(){function u(e,t,n){var r=["jshint","jslint","members","member","globals","global","exported"],i=!1,u=e+t,a="plain";return n=n||{},n.isMultiline&&(u+="*/"),t=t.replace(/\n/g," "),e==="/*"&&s.fallsThrough.test(t)&&(i=!0,a="falls through"),r.forEach(function(n){if(i)return;if(e==="//"&&n!=="jshint")return;t.charAt(n.length)===" "&&t.substr(0,n.length)===n&&(i=!0,e+=n,t=t.substr(n.length)),!i&&t.charAt(0)===" "&&t.charAt(n.length+1)===" "&&t.substr(1,n.length)===n&&(i=!0,e=e+" "+n,t=t.substr(n.length+1));if(!i)return;switch(n){case"member":a="members";break;case"global":a="globals";break;default:var r=t.split(":").map(function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")});if(r.length===2)switch(r[0]){case"ignore":switch(r[1]){case"start":o.ignoringLinterErrors=!0,i=!1;break;case"end":o.ignoringLinterErrors=!1,i=!1}}a=n}}),{type:l.Comment,commentType:a,value:u,body:t,isSpecial:i,isMultiline:n.isMultiline||!1,isMalformed:n.isMalformed||!1}}var e=this.peek(),t=this.peek(1),n=this.input.substr(2),r=this.line,i=this.char,o=this;if(e==="*"&&t==="/")return this.trigger("error",{code:"E018",line:r,character:i}),this.skip(2),null;if(e!=="/"||t!=="*"&&t!=="/")return null;if(t==="/")return this.skip(this.input.length),u("//",n);var a="";if(t==="*"){this.inComment=!0,this.skip(2);while(this.peek()!=="*"||this.peek(1)!=="/")if(this.peek()===""){a+="\n";if(!this.nextLine())return this.trigger("error",{code:"E017",line:r,character:i}),this.inComment=!1,u("/*",a,{isMultiline:!0,isMalformed:!0})}else a+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,u("/*",a,{isMultiline:!0})}},scanKeyword:function(){var e=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),t=["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];return e&&t.indexOf(e[0])>=0?{type:l.Keyword,value:e[0]}:null},scanIdentifier:function(){function i(e){return e>256}function s(e){return e>256}function o(e){return/^[0-9a-fA-F]$/.test(e)}function p(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,function(e,t){return String.fromCharCode(parseInt(t,16))})}var e="",t=0,n,r,u=function(){t+=1;if(this.peek(t)!=="u")return null;var e=this.peek(t+1),n=this.peek(t+2),r=this.peek(t+3),i=this.peek(t+4),u;return o(e)&&o(n)&&o(r)&&o(i)?(u=parseInt(e+n+r+i,16),f[u]||s(u)?(t+=5,"\\u"+e+n+r+i):null):null}.bind(this),c=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?a[n]?(t+=1,e):null:i(n)?(t+=1,e):null}.bind(this),h=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?f[n]?(t+=1,e):null:s(n)?(t+=1,e):null}.bind(this);r=c();if(r===null)return null;e=r;for(;;){r=h();if(r===null)break;e+=r}switch(e){case"true":case"false":n=l.BooleanLiteral;break;case"null":n=l.NullLiteral;break;default:n=l.Identifier}return{type:n,value:p(e),text:e,tokenLength:e.length}},scanNumericLiteral:function(){function f(e){return/^[0-9]$/.test(e)}function c(e){return/^[0-7]$/.test(e)}function h(e){return/^[01]$/.test(e)}function p(e){return/^[0-9a-fA-F]$/.test(e)}function d(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"}var e=0,t="",n=this.input.length,r=this.peek(e),i,s=f,u=10,a=!1;if(r!=="."&&!f(r))return null;if(r!=="."){t=this.peek(e),e+=1,r=this.peek(e);if(t==="0"){if(r==="x"||r==="X")s=p,u=16,e+=1,t+=r;if(r==="o"||r==="O")s=c,u=8,o.inES6(!0)||this.trigger("warning",{code:"W119",line:this.line,character:this.char,data:["Octal integer literal","6"]}),e+=1,t+=r;if(r==="b"||r==="B")s=h,u=2,o.inES6(!0)||this.trigger("warning",{code:"W119",line:this.line,character:this.char,data:["Binary integer literal","6"]}),e+=1,t+=r;c(r)&&(s=c,u=8,a=!0,i=!1,e+=1,t+=r),!c(r)&&f(r)&&(e+=1,t+=r)}while(e<n){r=this.peek(e);if(a&&f(r))i=!0;else if(!s(r))break;t+=r,e+=1}if(s!==f){if(!a&&t.length<=2)return{type:l.NumericLiteral,value:t,isMalformed:!0};if(e<n){r=this.peek(e);if(d(r))return null}return{type:l.NumericLiteral,value:t,base:u,isLegacy:a,isMalformed:!1}}}if(r==="."){t+=r,e+=1;while(e<n){r=this.peek(e);if(!f(r))break;t+=r,e+=1}}if(r==="e"||r==="E"){t+=r,e+=1,r=this.peek(e);if(r==="+"||r==="-")t+=this.peek(e),e+=1;r=this.peek(e);if(!f(r))return null;t+=r,e+=1;while(e<n){r=this.peek(e);if(!f(r))break;t+=r,e+=1}}if(e<n){r=this.peek(e);if(d(r))return null}return{type:l.NumericLiteral,value:t,base:u,isMalformed:!isFinite(t)}},scanEscapeSequence:function(e){var t=!1,n=1;this.skip();var r=this.peek();switch(r){case"'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\'"]},e,function(){return o.jsonMode});break;case"b":r="\\b";break;case"f":r="\\f";break;case"n":r="\\n";break;case"r":r="\\r";break;case"t":r="\\t";break;case"0":r="\\0";var i=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return i>=0&&i<=7&&o.isStrict()});break;case"u":var s=this.input.substr(1,4),u=parseInt(s,16);isNaN(u)&&this.trigger("warning",{code:"W052",line:this.line,character:this.char,data:["u"+s]}),r=String.fromCharCode(u),n=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\v"]},e,function(){return o.jsonMode}),r=" ";break;case"x":var a=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\x-"]},e,function(){return o.jsonMode}),r=String.fromCharCode(a),n=3;break;case"\\":r="\\\\";break;case'"':r='\\"';break;case"/":break;case"":t=!0,r=""}return{"char":r,jump:n,allowNewLine:t}},scanTemplateLiteral:function(e){var t,n="",r,i=this.line,s=this.char,u=this.templateStarts.length;if(!o.inES6(!0))return null;if(this.peek()==="`")t=l.TemplateHead,this.templateStarts.push({line:this.line,"char":this.char}),u=this.templateStarts.length,this.skip(1),this.pushContext(c.Template);else{if(!this.inContext(c.Template)||this.peek()!=="}")return null;t=l.TemplateMiddle}while(this.peek()!=="`"){while((r=this.peek())===""){n+="\n";if(!this.nextLine()){var a=this.templateStarts.pop();return this.trigger("error",{code:"E052",line:a.line,character:a.char}),{type:t,value:n,startLine:i,startChar:s,isUnclosed:!0,depth:u,context:this.popContext()}}}if(r==="$"&&this.peek(1)==="{")return n+="${",this.skip(2),{type:t,value:n,startLine:i,startChar:s,isUnclosed:!1,depth:u,context:this.currentContext()};if(r==="\\"){var f=this.scanEscapeSequence(e);n+=f.char,this.skip(f.jump)}else r!=="`"&&(n+=r,this.skip(1))}return t=t===l.TemplateHead?l.NoSubstTemplate:l.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:t,value:n,startLine:i,startChar:s,isUnclosed:!1,depth:u,context:this.popContext()}},scanStringLiteral:function(e){var t=this.peek();if(t!=='"'&&t!=="'")return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},e,function(){return o.jsonMode&&t!=='"'});var n="",r=this.line,i=this.char,s=!1;this.skip();while(this.peek()!==t)if(this.peek()===""){s?(s=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},e,function(){return!o.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},e,function(){return o.jsonMode&&o.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char});if(!this.nextLine())return this.trigger("error",{code:"E029",line:r,character:i}),{type:l.StringLiteral,value:n,startLine:r,startChar:i,isUnclosed:!0,quote:t}}else{s=!1;var u=this.peek(),a=1;u<" "&&this.trigger("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]});if(u==="\\"){var f=this.scanEscapeSequence(e);u=f.char,a=f.jump,s=f.allowNewLine}n+=u,this.skip(a)}return this.skip(),{type:l.StringLiteral,value:n,startLine:r,startChar:i,isUnclosed:!1,quote:t}},scanRegExp:function(){var e=0,t=this.input.length,n=this.peek(),r=n,i="",s=[],o=!1,u=!1,a,f=function(){n<" "&&(o=!0,this.trigger("warning",{code:"W048",line:this.line,character:this.char})),n==="<"&&(o=!0,this.trigger("warning",{code:"W049",line:this.line,character:this.char,data:[n]}))}.bind(this);if(!this.prereg||n!=="/")return null;e+=1,a=!1;while(e<t){n=this.peek(e),r+=n,i+=n;if(u){n==="]"&&(this.peek(e-1)!=="\\"||this.peek(e-2)==="\\")&&(u=!1),n==="\\"&&(e+=1,n=this.peek(e),i+=n,r+=n,f()),e+=1;continue}if(n==="\\"){e+=1,n=this.peek(e),i+=n,r+=n,f();if(n==="/"){e+=1;continue}if(n==="["){e+=1;continue}}if(n==="["){u=!0,e+=1;continue}if(n==="/"){i=i.substr(0,i.length-1),a=!0,e+=1;break}e+=1}if(!a)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});while(e<t){n=this.peek(e);if(!/[gim]/.test(n))break;s.push(n),r+=n,e+=1}try{new RegExp(i,s.join(""))}catch(c){o=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[c.message]})}return{type:l.RegExp,value:r,flags:s,isMalformed:o}},scanNonBreakingSpaces:function(){return o.option.nonbsp?this.input.search(/(\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(s.unsafeChars)},next:function(e){this.from=this.char;var t;if(/\s/.test(this.peek())){t=this.char;while(/\s/.test(this.peek()))this.from+=1,this.skip()}var n=this.scanComments()||this.scanStringLiteral(e)||this.scanTemplateLiteral(e);return n?n:(n=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),n?(this.skip(n.tokenLength||n.value.length),n):null)},nextLine:function(){var e;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var t=this.input.trim(),n=function(){return r.some(arguments,function(e){return t.indexOf(e)===0})},i=function(){return r.some(arguments,function(e){return t.indexOf(e,t.length-e.length)!==-1})};this.ignoringLinterErrors===!0&&!n("/*","//")&&(!this.inComment||!i("*/"))&&(this.input=""),e=this.scanNonBreakingSpaces(),e>=0&&this.trigger("warning",{code:"W125",line:this.line,character:e+1}),this.input=this.input.replace(/\t/g,o.tab),e=this.scanUnsafeChars(),e>=0&&this.trigger("warning",{code:"W100",line:this.line,character:e});if(!this.ignoringLinterErrors&&o.option.maxlen&&o.option.maxlen<this.input.length){var u=this.inComment||n.call(t,"//")||n.call(t,"/*"),a=!u||!s.maxlenException.test(t);a&&this.trigger("warning",{code:"W101",line:this.line,character:this.input.length})}return!0},start:function(){this.nextLine()},token:function(){function n(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureReservedWord&&o.inES5()){if(!n.es5)return!1;if(n.strictOnly&&!o.option.strict&&!o.isStrict())return!1;if(t)return!1}return!0}var e=h(),t,i=function(t,i,s,u){var a;t!=="(endline)"&&t!=="(end)"&&(this.prereg=!1);if(t==="(punctuator)"){switch(i){case".":case")":case"~":case"#":case"]":case"++":case"--":this.prereg=!1;break;default:this.prereg=!0}a=Object.create(o.syntax[i]||o.syntax["(error)"])}if(t==="(identifier)"){if(i==="return"||i==="case"||i==="typeof")this.prereg=!0;r.has(o.syntax,i)&&(a=Object.create(o.syntax[i]||o.syntax["(error)"]),n(a,s&&t==="(identifier)")||(a=null))}return a||(a=Object.create(o.syntax[t])),a.identifier=t==="(identifier)",a.type=a.type||t,a.value=i,a.line=this.line,a.character=this.char,a.from=this.from,a.identifier&&u&&(a.raw_text=u.text||u.value),u&&u.startLine&&u.startLine!==this.line&&(a.startLine=u.startLine),u&&u.context&&(a.context=u.context),u&&u.depth&&(a.depth=u.depth),u&&u.isUnclosed&&(a.isUnclosed=u.isUnclosed),s&&a.identifier&&(a.isProperty=s),a.check=e.check,a}.bind(this);for(;;){if(!this.input.length)return this.nextLine()?i("(endline)",""):this.exhausted?null:(this.exhausted=!0,i("(end)",""));t=this.next(e);if(!t){this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="");continue}switch(t.type){case l.StringLiteral:return this.triggerAsync("String",{line:this.line,"char":this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value,quote:t.quote},e,function(){return!0}),i("(string)",t.value,null,t);case l.TemplateHead:return this.trigger("TemplateHead",{line:this.line,"char":this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template)",t.value,null,t);case l.TemplateMiddle:return this.trigger("TemplateMiddle",{line:this.line,"char":this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template middle)",t.value,null,t);case l.TemplateTail:return this.trigger("TemplateTail",{line:this.line,"char":this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template tail)",t.value,null,t);case l.NoSubstTemplate:return this.trigger("NoSubstTemplate",{line:this.line,"char":this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(no subst template)",t.value,null,t);case l.Identifier:this.triggerAsync("Identifier",{line:this.line,"char":this.char,from:this.form,name:t.value,raw_name:t.text,isProperty:o.tokens.curr.id==="."},e,function(){return!0});case l.Keyword:case l.NullLiteral:case l.BooleanLiteral:return i("(identifier)",t.value,o.tokens.curr.id===".",t);case l.NumericLiteral:return t.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[t.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},e,function(){return t.base===16&&o.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return o.isStrict()&&t.base===8&&t.isLegacy}),this.trigger("Number",{line:this.line,"char":this.char,from:this.from,value:t.value,base:t.base,isMalformed:t.malformed}),i("(number)",t.value);case l.RegExp:return i("(regexp)",t.value);case l.Comment:o.tokens.curr.comment=!0;if(t.isSpecial)return{id:"(comment)",value:t.value,body:t.body,type:t.commentType,isSpecial:t.isSpecial,line:this.line,character:this.char,from:this.from};break;case"":break;default:return i("(punctuator)",t.value)}}}},n.Lexer=p,n.Context=c},{"../data/ascii-identifier-data.js":"/node_modules/jshint/data/ascii-identifier-data.js","../lodash":"/node_modules/jshint/lodash.js","./reg.js":"/node_modules/jshint/src/reg.js","./state.js":"/node_modules/jshint/src/state.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/messages.js":[function(e,t,n){"use strict";var r=e("../lodash"),i={E001:"Bad option: '{a}'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:'Missing "use strict" statement.',E008:"Strict violation.",E009:"Option 'validthis' can't be used in a global scope.",E010:"'with' is not allowed in strict mode.",E011:"'{a}' has already been declared.",E012:"const '{a}' is initialized to 'undefined'.",E013:"Attempting to override '{a}' which is a constant.",E014:"A regular expression literal can be confused with '/='.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched '{a}'.",E020:"Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",E021:"Expected '{a}' and instead saw '{b}'.",E022:"Line breaking error '{a}'.",E023:"Missing '{a}'.",E024:"Unexpected '{a}'.",E025:"Missing ':' on a case clause.",E026:"Missing '}' to match '{' from line {a}.",E027:"Missing ']' to match '[' from line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw '{a}'.",E031:"Bad assignment.",E032:"Expected a small integer or 'false' and instead saw '{a}'.",E033:"Expected an operator and instead saw '{a}'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:null,E045:"Invalid for each loop.",E046:"A yield statement shall be within a generator function (with syntax: `function*`)",E047:null,E048:"{a} declaration not directly within block.",E049:"A {a} cannot be named '{b}'.",E050:"Mozilla requires the yield expression to be parenthesized here.",E051:null,E052:"Unclosed template literal.",E053:"Export declaration must be in global scope.",E054:"Class properties must be methods. Expected '(' but instead saw '{a}'.",E055:"The '{a}' option cannot be set after any executable code.",E056:"'{a}' was used before it was declared, which is illegal for '{b}' variables.",E057:"Invalid meta property: '{a}.{b}'.",E058:"Missing semicolon."},s={W001:"'hasOwnProperty' is a really bad name.",W002:"Value of '{a}' may be overwritten in IE 8 and earlier.",W003:"'{a}' was used before it was defined.",W004:"'{a}' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing plusses.",W008:"A leading decimal point can be confused with a dot: '{a}'.",W009:"The array literal notation [] is preferable.",W010:"The object literal notation {} is preferable.",W011:null,W012:null,W013:null,W014:"Bad line breaking before '{a}'.",W015:null,W016:"Unexpected use of '{a}'.",W017:"Bad operand.",W018:"Confusing use of '{a}'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"Reassignment of '{a}', which is is a {b}. Use 'var' or 'let' to declare bindings that may change.",W022:"Do not assign to the exception parameter.",W023:"Expected an identifier in an assignment and instead saw a function invocation.",W024:"Expected an identifier and instead saw '{a}' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable '{a}' after '{b}'.",W028:"Label '{a}' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use 'new' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:'Unnecessary directive "{a}".',W035:"Empty block.",W036:"Unexpected /*member '{a}'.",W037:"'{a}' is a statement label.",W038:"'{a}' used out of scope.",W039:"'{a}' is not allowed.",W040:"Possible strict violation.",W041:"Use '{a}' to compare with '{b}'.",W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number '{a}'.",W046:"Don't use extra leading zeros '{a}'.",W047:"A trailing decimal point can be confused with a dot: '{a}'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character '{a}' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected '{a}'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is 'new' necessary?",W058:"Missing '()' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing 'new' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"['{a}'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function's cyclomatic complexity is too high. ({a})",W075:"Duplicate {a} '{b}'.",W076:"Unexpected parameter '{a}' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of '{a}'.",W080:"It's not necessary to initialize '{a}' to 'undefined'.",W081:null,W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Don't make functions within a loop.",W084:"Assignment in conditional expression",W085:"Don't use 'with'.",W086:"Expected a 'break' statement before '{a}'.",W087:"Forgotten 'debugger' statement?",W088:"Creating global 'for' variable. Should be 'for (var {a} ...'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"'{a}' is not a statement label.",W091:null,W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The '{a}' key may produce unexpected results.",W097:'Use the function form of "use strict".',W098:"'{a}' is defined but never used.",W099:null,W100:"This character may get silently deleted by one or more browsers.",W101:"Line is too long.",W102:null,W103:"The '{a}' property is deprecated.",W104:"'{a}' is available in ES{b} (use 'esversion: {b}') or Mozilla JS extensions (use moz).",W105:"Unexpected {a} in '{b}'.",W106:"Identifier '{a}' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected '{a}' and instead saw '{b}'.",W117:"'{a}' is not defined.",W118:"'{a}' is only available in Mozilla JavaScript extensions (use moz option).",W119:"'{a}' is only available in ES{b} (use 'esversion: {b}').",W120:"You might be leaking a variable ({a}) here.",W121:"Extending prototype of native object: '{a}'.",W122:"Invalid typeof value '{a}'",W123:"'{a}' is already defined in outer scope.",W124:"A generator function shall contain a yield statement.",W125:"This line contains non-breaking spaces: http://jshint.com/doc/options/#nonbsp",W126:"Unnecessary grouping operator.",W127:"Unexpected use of a comma operator.",W128:"Empty array elements require elision=true.",W129:"'{a}' is defined in a future version of JavaScript. Use a different variable name to avoid migration issues.",W130:"Invalid element after rest element.",W131:"Invalid parameter after rest parameter.",W132:"`var` declarations are forbidden. Use `let` or `const` instead.",W133:"Invalid for-{a} loop left-hand-side: {b}.",W134:"The '{a}' option is only available when linting ECMAScript {b} code.",W135:"{a} may not be supported by non-browser environments.",W136:"'{a}' must be in function scope.",W137:"Empty destructuring.",W138:"Regular parameters should not come after default parameters."},o={I001:"Comma warnings can be turned off with 'laxcomma'.",I002:null,I003:"ES5 option is now set per default"};n.errors={},n.warnings={},n.info={},r.each(i,function(e,t){n.errors[t]={code:t,desc:e}}),r.each(s,function(e,t){n.warnings[t]={code:t,desc:e}}),r.each(o,function(e,t){n.info[t]={code:t,desc:e}})},{"../lodash":"/node_modules/jshint/lodash.js"}],"/node_modules/jshint/src/name-stack.js":[function(e,t,n){"use strict";function r(){this._stack=[]}Object.defineProperty(r.prototype,"length",{get:function(){return this._stack.length}}),r.prototype.push=function(){this._stack.push(null)},r.prototype.pop=function(){this._stack.pop()},r.prototype.set=function(e){this._stack[this.length-1]=e},r.prototype.infer=function(){var e=this._stack[this.length-1],t="",n;if(!e||e.type==="class")e=this._stack[this.length-2];return e?(n=e.type,n!=="(string)"&&n!=="(number)"&&n!=="(identifier)"&&n!=="default"?"(expression)":(e.accessorType&&(t=e.accessorType+" "),t+e.value)):"(empty)"},t.exports=r},{}],"/node_modules/jshint/src/options.js":[function(e,t,n){"use strict";n.bool={enforcing:{bitwise:!0,freeze:!0,camelcase:!0,curly:!0,eqeqeq:!0,futurehostile:!0,notypeof:!0,es3:!0,es5:!0,forin:!0,funcscope:!0,immed:!0,iterator:!0,newcap:!0,noarg:!0,nocomma:!0,noempty:!0,nonbsp:!0,nonew:!0,undef:!0,singleGroups:!1,varstmt:!1,enforceall:!1},relaxing:{asi:!0,multistr:!0,debug:!0,boss:!0,evil:!0,globalstrict:!0,plusplus:!0,proto:!0,scripturl:!0,sub:!0,supernew:!0,laxbreak:!0,laxcomma:!0,validthis:!0,withstmt:!0,moz:!0,noyield:!0,eqnull:!0,lastsemic:!0,loopfunc:!0,expr:!0,esnext:!0,elision:!0},environments:{mootools:!0,couch:!0,jasmine:!0,jquery:!0,node:!0,qunit:!0,rhino:!0,shelljs:!0,prototypejs:!0,yui:!0,mocha:!0,module:!0,wsh:!0,worker:!0,nonstandard:!0,browser:!0,browserify:!0,devel:!0,dojo:!0,typed:!0,phantom:!0},obsolete:{onecase:!0,regexp:!0,regexdash:!0}},n.val={maxlen:!1,indent:!1,maxerr:!1,predef:!1,globals:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,shadow:!1,strict:!0,unused:!0,latedef:!1,ignore:!1,ignoreDelimiters:!1,esversion:5},n.inverted={bitwise:!0,forin:!0,newcap:!0,plusplus:!0,regexp:!0,undef:!0,eqeqeq:!0,strict:!0},n.validNames=Object.keys(n.val).concat(Object.keys(n.bool.relaxing)).concat(Object.keys(n.bool.enforcing)).concat(Object.keys(n.bool.obsolete)).concat(Object.keys(n.bool.environments)),n.renamed={eqeq:"eqeqeq",windows:"wsh",sloppy:"strict"},n.removed={nomen:!0,onevar:!0,passfail:!0,white:!0,gcl:!0,smarttabs:!0,trailing:!0},n.noenforceall={varstmt:!0,strict:!0}},{}],"/node_modules/jshint/src/reg.js":[function(e,t,n){"use strict";n.unsafeString=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,n.unsafeChars=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEsc=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEscGlobal=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n.starSlash=/\*\//,n.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,n.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i,n.fallsThrough=/^\s*falls?\sthrough\s*$/,n.maxlenException=/^(?:(?:\/\/|\/\*|\*) ?)?[^ ]+$/},{}],"/node_modules/jshint/src/scope-manager.js":[function(e,t,n){"use strict";var r=e("../lodash"),i=e("events"),s={},o=function(e,t,n,o){function f(e){u={"(labels)":Object.create(null),"(usages)":Object.create(null),"(breakLabels)":Object.create(null),"(parent)":u,"(type)":e,"(params)":e==="functionparams"||e==="catchparams"?[]:null},a.push(u)}function v(e,t){d.emit("warning",{code:e,token:t,data:r.slice(arguments,2)})}function m(e,t){d.emit("warning",{code:e,token:t,data:r.slice(arguments,2)})}function g(e){u["(usages)"][e]||(u["(usages)"][e]={"(modified)":[],"(reassigned)":[],"(tokens)":[]})}function w(){if(u["(type)"]==="functionparams"){E();return}var e=u["(labels)"];for(var t in e)e[t]&&e[t]["(type)"]!=="exception"&&e[t]["(unused)"]&&b(t,e[t]["(token)"],"var")}function E(){var t=u["(params)"];if(!t)return;var n=t.pop(),r;while(n){var i=u["(labels)"][n];r=y(e.funct["(unusedOption)"]);if(n==="undefined")return;if(i["(unused)"])b(n,i["(token)"],"param",e.funct["(unusedOption)"]);else if(r==="last-param")return;n=t.pop()}}function S(e){for(var t=a.length-1;t>=0;--t){var n=a[t]["(labels)"];if(n[e])return n}}function x(e){for(var t=a.length-1;t>=0;t--){var n=a[t];if(n["(usages)"][e])return n["(usages)"][e];if(n===l)break}return!1}function T(t,n){if(e.option.shadow!=="outer")return;var r=l["(type)"]==="global",i=u["(type)"]==="functionparams",s=!r;for(var o=0;o<a.length;o++){var f=a[o];!i&&a[o+1]===l&&(s=!1),s&&f["(labels)"][t]&&v("W123",n,t),f["(breakLabels)"][t]&&v("W123",n,t)}}function N(t,n,r){e.option.latedef&&(e.option.latedef===!0&&t==="function"||t!=="function")&&v("W003",r,n)}var u,a=[];f("global"),u["(predefined)"]=t;var l=u,c=Object.create(null),h=Object.create(null),p=[],d=new i.EventEmitter,y=function(t){return t===undefined&&(t=e.option.unused),t===!0&&(t="last-param"),t},b=function(e,t,n,r){var i=t.line,s=t.from,o=t.raw_text||e;r=y(r);var u={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};r&&u[r]&&u[r].indexOf(n)!==-1&&v("W098",{line:i,from:s},o),(r||n==="var")&&p.push({name:e,line:i,character:s})},C={on:function(e,t){e.split(" ").forEach(function(e){d.on(e,t)})},isPredefined:function(e){return!this.has(e)&&r.has(a[0]["(predefined)"],e)},stack:function(e){var t=u;f(e),!e&&t["(type)"]==="functionparams"&&(u["(isFuncBody)"]=!0,u["(context)"]=l,l=u)},unstack:function(){var t=a.length>1?a[a.length-2]:null,n=u===l,i=u["(type)"]==="functionparams",f=u["(type)"]==="functionouter",p,d,g=u["(usages)"],y=u["(labels)"],E=Object.keys(g);g.__proto__&&E.indexOf("__proto__")===-1&&E.push("__proto__");for(p=0;p<E.length;p++){var S=E[p],x=g[S],T=y[S];if(T){var N=T["(type)"];if(T["(useOutsideOfScope)"]&&!e.option.funcscope){var C=x["(tokens)"];if(C)for(d=0;d<C.length;d++)T["(function)"]===C[d]["(function)"]&&m("W038",C[d],S)}u["(labels)"][S]["(unused)"]=!1;if(N==="const"&&x["(modified)"])for(d=0;d<x["(modified)"].length;d++)m("E013",x["(modified)"][d],S);if((N==="function"||N==="class")&&x["(reassigned)"])for(d=0;d<x["(reassigned)"].length;d++)m("W021",x["(reassigned)"][d],S,N);continue}f&&(e.funct["(isCapturing)"]=!0);if(t)if(!t["(usages)"][S])t["(usages)"][S]=x,n&&(t["(usages)"][S]["(onlyUsedSubFunction)"]=!0);else{var k=t["(usages)"][S];k["(modified)"]=k["(modified)"].concat(x["(modified)"]),k["(tokens)"]=k["(tokens)"].concat(x["(tokens)"]),k["(reassigned)"]=k["(reassigned)"].concat(x["(reassigned)"]),k["(onlyUsedSubFunction)"]=!1}else if(typeof u["(predefined)"][S]=="boolean"){delete o[S],c[S]=s;if(u["(predefined)"][S]===!1&&x["(reassigned)"])for(d=0;d<x["(reassigned)"].length;d++)v("W020",x["(reassigned)"][d])}else if(x["(tokens)"])for(d=0;d<x["(tokens)"].length;d++){var L=x["(tokens)"][d];L.forgiveUndef||(e.option.undef&&!L.ignoreUndef&&v("W117",L,S),h[S]?h[S].line.push(L.line):h[S]={name:S,line:[L.line]})}}t||Object.keys(o).forEach(function(e){b(e,o[e],"var")});if(t&&!n&&!i&&!f){var A=Object.keys(y);for(p=0;p<A.length;p++){var O=A[p];!y[O]["(blockscoped)"]&&y[O]["(type)"]!=="exception"&&!this.funct.has(O,{excludeCurrent:!0})&&(t["(labels)"][O]=y[O],l["(type)"]!=="global"&&(t["(labels)"][O]["(useOutsideOfScope)"]=!0),delete y[O])}}w(),a.pop(),n&&(l=a[r.findLastIndex(a,function(e){return e["(isFuncBody)"]||e["(type)"]==="global"})]),u=t},addParam:function(t,n,i){i=i||"param";if(i==="exception"){var s=this.funct.labeltype(t);s&&s!=="exception"&&(e.option.node||v("W002",e.tokens.next,t))}r.has(u["(labels)"],t)?u["(labels)"][t].duplicated=!0:(T(t,n,i),u["(labels)"][t]={"(type)":i,"(token)":n,"(unused)":!0},u["(params)"].push(t));if(r.has(u["(usages)"],t)){var o=u["(usages)"][t];o["(onlyUsedSubFunction)"]?N(i,t,n):v("E056",n,t,i)}},validateParams:function(){if(l["(type)"]==="global")return;var t=e.isStrict(),n=l["(parent)"];if(!n["(params)"])return;n["(params)"].forEach(function(r){var i=n["(labels)"][r];i&&i.duplicated&&(t?v("E011",i["(token)"],r):e.option.shadow!==!0&&v("W004",i["(token)"],r))})},getUsedOrDefinedGlobals:function(){var e=Object.keys(c);return c.__proto__===s&&e.indexOf("__proto__")===-1&&e.push("__proto__"),e},getImpliedGlobals:function(){var e=r.values(h),t=!1;return h.__proto__&&(t=e.some(function(e){return e.name==="__proto__"}),t||e.push(h.__proto__)),e},getUnuseds:function(){return p},has:function(e){return Boolean(S(e))},labeltype:function(e){var t=S(e);return t?t[e]["(type)"]:null},addExported:function(e){var t=a[0]["(labels)"];if(r.has(o,e))delete o[e];else if(r.has(t,e))t[e]["(unused)"]=!1;else{for(var i=1;i<a.length;i++){var s=a[i];if(!!s["(type)"])break;if(r.has(s["(labels)"],e)&&!s["(labels)"][e]["(blockscoped)"]){s["(labels)"][e]["(unused)"]=!1;return}}n[e]=!0}},setExported:function(e,t){this.block.use(e,t)},addlabel:function(t,i){var o=i.type,a=i.token,f=o==="let"||o==="const"||o==="class",h=(f?u:l)["(type)"]==="global"&&r.has(n,t);T(t,a,o);if(f){var p=u["(labels)"][t];!p&&u===l&&u["(type)"]!=="global"&&(p=!!l["(parent)"]["(labels)"][t]);if(!p&&u["(usages)"][t]){var d=u["(usages)"][t];d["(onlyUsedSubFunction)"]?N(o,t,a):v("E056",a,t,o)}p?v("E011",a,t):e.option.shadow==="outer"&&C.funct.has(t)&&v("W004",a,t),C.block.add(t,o,a,!h)}else{var m=C.funct.has(t);!m&&x(t)&&N(o,t,a),C.funct.has(t,{onlyBlockscoped:!0})?v("E011",a,t):e.option.shadow!==!0&&m&&t!=="__proto__"&&l["(type)"]!=="global"&&v("W004",a,t),C.funct.add(t,o,a,!h),l["(type)"]==="global"&&(c[t]=s)}},funct:{labeltype:function(e,t){var n=t&&t.onlyBlockscoped,r=t&&t.excludeParams,i=a.length-(t&&t.excludeCurrent?2:1);for(var s=i;s>=0;s--){var o=a[s];if(o["(labels)"][e]&&(!n||o["(labels)"][e]["(blockscoped)"]))return o["(labels)"][e]["(type)"];var u=r?a[s-1]:o;if(u&&u["(type)"]==="functionparams")return null}return null},hasBreakLabel:function(e){for(var t=a.length-1;t>=0;t--){var n=a[t];if(n["(breakLabels)"][e])return!0;if(n["(type)"]==="functionparams")return!1}return!1},has:function(e,t){return Boolean(this.labeltype(e,t))},add:function(e,t,n,r){u["(labels)"][e]={"(type)":t,"(token)":n,"(blockscoped)":!1,"(function)":l,"(unused)":r}}},block:{isGlobal:function(){return u["(type)"]==="global"},use:function(t,n){var r=l["(parent)"];r&&r["(labels)"][t]&&r["(labels)"][t]["(type)"]==="param"&&(C.funct.has(t,{excludeParams:!0,onlyBlockscoped:!0})||(r["(labels)"][t]["(unused)"]=!1)),n&&(e.ignored.W117||e.option.undef===!1)&&(n.ignoreUndef=!0),g(t),n&&(n["(function)"]=l,u["(usages)"][t]["(tokens)"].push(n))},reassign:function(e,t){this.modify(e,t),u["(usages)"][e]["(reassigned)"].push(t)},modify:function(e,t){g(e),u["(usages)"][e]["(modified)"].push(t)},add:function(e,t,n,r){u["(labels)"][e]={"(type)":t,"(token)":n,"(blockscoped)":!0,"(unused)":r}},addBreakLabel:function(t,n){var r=n.token;C.funct.hasBreakLabel(t)?v("E011",r,t):e.option.shadow==="outer"&&(C.funct.has(t)?v("W004",r,t):T(t,r)),u["(breakLabels)"][t]=r}}};return C};t.exports=o},{"../lodash":"/node_modules/jshint/lodash.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/state.js":[function(e,t,n){"use strict";var r=e("./name-stack.js"),i={syntax:{},isStrict:function(){return this.directive["use strict"]||this.inClassBody||this.option.module||this.option.strict==="implied"},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(e){return e?(!this.option.esversion||this.option.esversion===5)&&!this.option.moz:!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab="",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new r,this.inClassBody=!1}};n.state=i},{"./name-stack.js":"/node_modules/jshint/src/name-stack.js"}],"/node_modules/jshint/src/style.js":[function(e,t,n){"use strict";n.register=function(e){e.on("Identifier",function(n){if(e.getOption("proto"))return;n.name==="__proto__"&&e.warn("W103",{line:n.line,"char":n.char,data:[n.name,"6"]})}),e.on("Identifier",function(n){if(e.getOption("iterator"))return;n.name==="__iterator__"&&e.warn("W103",{line:n.line,"char":n.char,data:[n.name]})}),e.on("Identifier",function(n){if(!e.getOption("camelcase"))return;n.name.replace(/^_+|_+$/g,"").indexOf("_")>-1&&!n.name.match(/^[A-Z0-9_]*$/)&&e.warn("W106",{line:n.line,"char":n.from,data:[n.name]})}),e.on("String",function(n){var r=e.getOption("quotmark"),i;if(!r)return;r==="single"&&n.quote!=="'"&&(i="W109"),r==="double"&&n.quote!=='"'&&(i="W108"),r===!0&&(e.getCache("quotmark")||e.setCache("quotmark",n.quote),e.getCache("quotmark")!==n.quote&&(i="W110")),i&&e.warn(i,{line:n.line,"char":n.char})}),e.on("Number",function(n){n.value.charAt(0)==="."&&e.warn("W008",{line:n.line,"char":n.char,data:[n.value]}),n.value.substr(n.value.length-1)==="."&&e.warn("W047",{line:n.line,"char":n.char,data:[n.value]}),/^00+/.test(n.value)&&e.warn("W046",{line:n.line,"char":n.char,data:[n.value]})}),e.on("String",function(n){var r=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i;if(e.getOption("scripturl"))return;r.test(n.value)&&e.warn("W107",{line:n.line,"char":n.char})})}},{}],"/node_modules/jshint/src/vars.js":[function(e,t,n){"use strict";n.reservedVars={arguments:!1,NaN:!1},n.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},n.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},n.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},n.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},n.nonstandard={escape:!1,unescape:!1},n.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},n.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,require:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},n.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,require:!1,Buffer:!0,exports:!0,process:!0},n.phantom={phantom:!0,require:!0,WebPage:!0,console:!0,exports:!0},n.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,"throws":!1},n.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},n.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},n.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},n.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},n.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},n.jquery={$:!1,jQuery:!1},n.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},n.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},n.yui={YUI:!1,Y:!1,YUI_config:!1},n.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},n.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},["/node_modules/jshint/src/jshint.js"])}),ace.define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(require,exports,module){"use strict";function startRegex(e){return RegExp("^("+e.join("|")+")")}var oop=require("../lib/oop"),Mirror=require("../worker/mirror").Mirror,lint=require("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable '(.+)'.",'Missing "use strict"']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\{a\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\['{a}'\\] is better written in dot notation.","'{a}' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(e){Mirror.call(this,e),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(e){this.options=e||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(e){oop.mixin(this.options,e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(e===0)return!0}return!1},this.onUpdate=function(){var e=this.doc.getValue();e=e.replace(/^#!.*\n/,"\n");if(!e)return this.sender.emit("annotate",[]);var t=[],n=this.isValidJS(e)?"warning":"error";lint(e,this.options);var r=lint.errors,i=!1;for(var s=0;s<r.length;s++){var o=r[s];if(!o)continue;var u=o.raw,a="warning";if(u=="Missing semicolon."){var f=o.evidence.substr(o.character);f=f.charAt(f.search(/\S/)),n=="error"&&f&&/[\w\d{(['"]/.test(f)?(o.reason='Missing ";" before statement',a="error"):a="info"}else{if(disabledWarningsRe.test(u))continue;infoRe.test(u)?a="info":errorsRe.test(u)?(i=!0,a=n):u=="'{a}' is not defined."?a="warning":u=="'{a}' is defined but never used."&&(a="info")}t.push({row:o.line-1,column:o.character-1,text:o.reason,type:a,raw:u}),i}this.sender.emit("annotate",t)}}.call(JavaScriptWorker.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-json.js b/library/ace/worker-json.js
new file mode 100644
index 000000000..604ffd70a
--- /dev/null
+++ b/library/ace/worker-json.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/json/json_parse",["require","exports","module"],function(e,t,n){"use strict";var r,i,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "},o,u=function(e){throw{name:"SyntaxError",message:e,at:r,text:o}},a=function(e){return e&&e!==i&&u("Expected '"+e+"' instead of '"+i+"'"),i=o.charAt(r),r+=1,i},f=function(){var e,t="";i==="-"&&(t="-",a("-"));while(i>="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else n+=i}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}}),ace.define("ace/mode/json_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/json/json_parse"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./json/json_parse"),o=t.JsonWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[];try{e&&s(e)}catch(n){var r=this.doc.indexToPosition(n.at-1);t.push({row:r.row,column:r.column,text:n.message,type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-lua.js b/library/ace/worker-lua.js
new file mode 100644
index 000000000..274f2f438
--- /dev/null
+++ b/library/ace/worker-lua.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/lua/luaparse",["require","exports","module"],function(e,t,n){(function(e,n,r){r(t)})(this,"luaparse",function(e){"use strict";function m(e){if(mt){var t=vt.pop();t.complete(),n.locations&&(e.loc=t.loc),n.ranges&&(e.range=t.range)}return e}function w(e,t,n){for(var r=0,i=e.length;r<i;r++)if(e[r][t]===n)return r;return-1}function E(e){var t=g.call(arguments,1);return e=e.replace(/%(\d)/g,function(e,n){return""+t[n-1]||""}),e}function S(){var e=g.call(arguments),t={},n,r;for(var i=0,s=e.length;i<s;i++){n=e[i];for(r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}function x(e){var t=E.apply(null,g.call(arguments,1)),n,r;throw"undefined"!=typeof e.line?(r=e.range[0]-e.lineStart,n=new SyntaxError(E("[%1:%2] %3",e.line,r,t)),n.line=e.line,n.index=e.range[0],n.column=r):(r=C-D+1,n=new SyntaxError(E("[%1:%2] %3",_,r,t)),n.index=C,n.line=_,n.column=r),n}function T(e,t){x(t,d.expectedToken,e,t.value)}function N(e,t){"undefined"==typeof t&&(t=A.value);if("undefined"!=typeof e.type){var n;switch(e.type){case o:n="string";break;case u:n="keyword";break;case a:n="identifier";break;case f:n="number";break;case l:n="symbol";break;case c:n="boolean";break;case h:return x(e,d.unexpected,"symbol","nil",t)}return x(e,d.unexpected,n,e.value,t)}return x(e,d.unexpected,"symbol",e,t)}function P(){H();while(45===t.charCodeAt(C)&&45===t.charCodeAt(C+1))X(),H();if(C>=r)return{type:s,value:"<eof>",line:_,lineStart:D,range:[C,C]};var e=t.charCodeAt(C),n=t.charCodeAt(C+1);M=C;if(et(e))return B();switch(e){case 39:case 34:return I();case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return R();case 46:if(Y(n))return R();if(46===n)return 46===t.charCodeAt(C+2)?F():j("..");return j(".");case 61:if(61===n)return j("==");return j("=");case 62:if(61===n)return j(">=");return j(">");case 60:if(61===n)return j("<=");return j("<");case 126:if(61===n)return j("~=");return x({},d.expected,"=","~");case 58:if(58===n)return j("::");return j(":");case 91:if(91===n||61===n)return q();return j("[");case 42:case 47:case 94:case 37:case 44:case 123:case 125:case 93:case 40:case 41:case 59:case 35:case 45:case 43:return j(t.charAt(C))}return N(t.charAt(C))}function H(){while(C<r){var e=t.charCodeAt(C);if(Q(e))C++;else{if(!G(e))break;_++,D=++C}}}function B(){var e,n;while(tt(t.charCodeAt(++C)));return e=t.slice(M,C),nt(e)?n=u:"true"===e||"false"===e?(n=c,e="true"===e):"nil"===e?(n=h,e=null):n=a,{type:n,value:e,line:_,lineStart:D,range:[M,C]}}function j(e){return C+=e.length,{type:l,value:e,line:_,lineStart:D,range:[M,C]}}function F(){return C+=3,{type:p,value:"...",line:_,lineStart:D,range:[M,C]}}function I(){var e=t.charCodeAt(C++),n=C,i="",s;while(C<r){s=t.charCodeAt(C++);if(e===s)break;if(92===s)i+=t.slice(n,C-1)+W(),n=C;else if(C>=r||G(s))i+=t.slice(n,C-1),x({},d.unfinishedString,i+String.fromCharCode(s))}return i+=t.slice(n,C-1),{type:o,value:i,line:_,lineStart:D,range:[M,C]}}function q(){var e=V();return!1===e&&x(k,d.expected,"[",k.value),{type:o,value:e,line:_,lineStart:D,range:[M,C]}}function R(){var e=t.charAt(C),n=t.charAt(C+1),r="0"===e&&"xX".indexOf(n||null)>=0?U():z();return{type:f,value:r,line:_,lineStart:D,range:[M,C]}}function U(){var e=0,n=1,r=1,i,s,o,u;u=C+=2,Z(t.charCodeAt(C))||x({},d.malformedNumber,t.slice(M,C));while(Z(t.charCodeAt(C)))C++;i=parseInt(t.slice(u,C),16);if("."===t.charAt(C)){s=++C;while(Z(t.charCodeAt(C)))C++;e=t.slice(s,C),e=s===C?0:parseInt(e,16)/Math.pow(16,C-s)}if("pP".indexOf(t.charAt(C)||null)>=0){C++,"+-".indexOf(t.charAt(C)||null)>=0&&(r="+"===t.charAt(C++)?1:-1),o=C,Y(t.charCodeAt(C))||x({},d.malformedNumber,t.slice(M,C));while(Y(t.charCodeAt(C)))C++;n=t.slice(o,C),n=Math.pow(2,n*r)}return(i+e)*n}function z(){while(Y(t.charCodeAt(C)))C++;if("."===t.charAt(C)){C++;while(Y(t.charCodeAt(C)))C++}if("eE".indexOf(t.charAt(C)||null)>=0){C++,"+-".indexOf(t.charAt(C)||null)>=0&&C++,Y(t.charCodeAt(C))||x({},d.malformedNumber,t.slice(M,C));while(Y(t.charCodeAt(C)))C++}return parseFloat(t.slice(M,C))}function W(){var e=C;switch(t.charAt(C)){case"n":return C++,"\n";case"r":return C++,"\r";case"t":return C++," ";case"v":return C++," ";case"b":return C++,"\b";case"f":return C++,"\f";case"z":return C++,H(),"";case"x":if(Z(t.charCodeAt(C+1))&&Z(t.charCodeAt(C+2)))return C+=3,"\\"+t.slice(e,C);return"\\"+t.charAt(C++);default:if(Y(t.charCodeAt(C))){while(Y(t.charCodeAt(++C)));return"\\"+t.slice(e,C)}return t.charAt(C++)}}function X(){M=C,C+=2;var e=t.charAt(C),i="",s=!1,o=C,u=D,a=_;"["===e&&(i=V(),!1===i?i=e:s=!0);if(!s){while(C<r){if(G(t.charCodeAt(C)))break;C++}n.comments&&(i=t.slice(o,C))}if(n.comments){var f=v.comment(i,t.slice(M,C));n.locations&&(f.loc={start:{line:a,column:M-u},end:{line:_,column:C-D}}),n.ranges&&(f.range=[M,C]),O.push(f)}}function V(){var e=0,n="",i=!1,s,o;C++;while("="===t.charAt(C+e))e++;if("["!==t.charAt(C+e))return!1;C+=e+1,G(t.charCodeAt(C))&&(_++,D=C++),o=C;while(C<r){s=t.charAt(C++),G(s.charCodeAt(0))&&(_++,D=C);if("]"===s){i=!0;for(var u=0;u<e;u++)"="!==t.charAt(C+u)&&(i=!1);"]"!==t.charAt(C+e)&&(i=!1)}if(i)break}return n+=t.slice(o,C-1),C+=e+1,n}function $(){L=k,k=A,A=P()}function J(e){return e===k.value?($(),!0):!1}function K(e){e===k.value?$():x(k,d.expected,e,k.value)}function Q(e){return 9===e||32===e||11===e||12===e}function G(e){return 10===e||13===e}function Y(e){return e>=48&&e<=57}function Z(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function et(e){return e>=65&&e<=90||e>=97&&e<=122||95===e}function tt(e){return e>=65&&e<=90||e>=97&&e<=122||95===e||e>=48&&e<=57}function nt(e){switch(e.length){case 2:return"do"===e||"if"===e||"in"===e||"or"===e;case 3:return"and"===e||"end"===e||"for"===e||"not"===e;case 4:return"else"===e||"goto"===e||"then"===e;case 5:return"break"===e||"local"===e||"until"===e||"while"===e;case 6:return"elseif"===e||"repeat"===e||"return"===e;case 8:return"function"===e}return!1}function rt(e){return l===e.type?"#-".indexOf(e.value)>=0:u===e.type?"not"===e.value:!1}function it(e){switch(e.type){case"CallExpression":case"TableCallExpression":case"StringCallExpression":return!0}return!1}function st(e){if(s===e.type)return!0;if(u!==e.type)return!1;switch(e.value){case"else":case"elseif":case"end":case"until":return!0;default:return!1}}function ft(){ot.push(Array.apply(null,ot[ut++]))}function lt(){ot.pop(),ut--}function ct(e){if(-1!==b(ot[ut],e))return;ot[ut].push(e)}function ht(e){ct(e.name),pt(e,!0)}function pt(e,t){!t&&-1===w(at,"name",e.name)&&at.push(e),e.isLocal=t}function dt(e){return-1!==b(ot[ut],e)}function gt(){return new yt(k)}function yt(e){n.locations&&(this.loc={start:{line:e.line,column:e.range[0]-e.lineStart},end:{line:0,column:0}}),n.ranges&&(this.range=[e.range[0],0])}function bt(){mt&&vt.push(gt())}function wt(e){mt&&vt.push(e)}function Et(){$(),bt();var e=St();return s!==k.type&&N(k),mt&&!e.length&&(L=k),m(v.chunk(e))}function St(e){var t=[],r;n.scope&&ft();while(!st(k)){if("return"===k.value){t.push(xt());break}r=xt(),r&&t.push(r)}return n.scope&&lt(),t}function xt(){bt();if(u===k.type)switch(k.value){case"local":return $(),Dt();case"if":return $(),Mt();case"return":return $(),Ot();case"function":$();var e=jt();return Bt(e);case"while":return $(),Lt();case"for":return $(),_t();case"repeat":return $(),At();case"break":return $(),Nt();case"do":return $(),kt();case"goto":return $(),Ct()}if(l===k.type&&J("::"))return Tt();mt&&vt.pop();if(J(";"))return;return Pt()}function Tt(){var e=k.value,t=Ht();return n.scope&&(ct("::"+e+"::"),pt(t,!0)),K("::"),m(v.labelStatement(t))}function Nt(){return m(v.breakStatement())}function Ct(){var e=k.value,t=Ht();return n.scope&&(t.isLabel=dt("::"+e+"::")),m(v.gotoStatement(t))}function kt(){var e=St();return K("end"),m(v.doStatement(e))}function Lt(){var e=qt();K("do");var t=St();return K("end"),m(v.whileStatement(e,t))}function At(){var e=St();K("until");var t=qt();return m(v.repeatStatement(t,e))}function Ot(){var e=[];if("end"!==k.value){var t=It();null!=t&&e.push(t);while(J(","))t=qt(),e.push(t);J(";")}return m(v.returnStatement(e))}function Mt(){var e=[],t,n,r;mt&&(r=vt[vt.length-1],vt.push(r)),t=qt(),K("then"),n=St(),e.push(m(v.ifClause(t,n))),mt&&(r=gt());while(J("elseif"))wt(r),t=qt(),K("then"),n=St(),e.push(m(v.elseifClause(t,n))),mt&&(r=gt());return J("else")&&(mt&&(r=new yt(L),vt.push(r)),n=St(),e.push(m(v.elseClause(n)))),K("end"),m(v.ifStatement(e))}function _t(){var e=Ht(),t;n.scope&&ht(e);if(J("=")){var r=qt();K(",");var i=qt(),s=J(",")?qt():null;return K("do"),t=St(),K("end"),m(v.forNumericStatement(e,r,i,s,t))}var o=[e];while(J(","))e=Ht(),n.scope&&ht(e),o.push(e);K("in");var u=[];do{var a=qt();u.push(a)}while(J(","));return K("do"),t=St(),K("end"),m(v.forGenericStatement(o,u,t))}function Dt(){var e;if(a===k.type){var t=[],r=[];do e=Ht(),t.push(e);while(J(","));if(J("="))do{var i=qt();r.push(i)}while(J(","));if(n.scope)for(var s=0,o=t.length;s<o;s++)ht(t[s]);return m(v.localStatement(t,r))}if(J("function"))return e=Ht(),n.scope&&ht(e),Bt(e,!0);T("<name>",k)}function Pt(){var e=k,t,n;mt&&(n=gt()),t=zt();if(null==t)return N(k);if(",=".indexOf(k.value)>=0){var r=[t],i=[],s;while(J(","))s=zt(),null==s&&T("<expression>",k),r.push(s);K("=");do s=qt(),i.push(s);while(J(","));return wt(n),m(v.assignmentStatement(r,i))}return it(t)?(wt(n),m(v.callStatement(t))):N(e)}function Ht(){bt();var e=k.value;return a!==k.type&&T("<name>",k),$(),m(v.identifier(e))}function Bt(e,t){var r=[];K("(");if(!J(")"))for(;;)if(a===k.type){var i=Ht();n.scope&&ht(i),r.push(i);if(J(","))continue;if(J(")"))break}else{if(p===k.type){r.push(Xt()),K(")");break}T("<name> or '...'",k)}var s=St();return K("end"),t=t||!1,m(v.functionStatement(e,r,t,s))}function jt(){var e,t,r;mt&&(r=gt()),e=Ht(),n.scope&&pt(e,!1);while(J("."))wt(r),t=Ht(),n.scope&&pt(t,!1),e=m(v.memberExpression(e,".",t));return J(":")&&(wt(r),t=Ht(),n.scope&&pt(t,!1),e=m(v.memberExpression(e,":",t))),e}function Ft(){var e=[],t,n;for(;;){bt();if(l===k.type&&J("["))t=qt(),K("]"),K("="),n=qt(),e.push(m(v.tableKey(t,n)));else if(a===k.type)t=qt(),J("=")?(n=qt(),e.push(m(v.tableKeyString(t,n)))):e.push(m(v.tableValue(t)));else{if(null==(n=It())){vt.pop();break}e.push(m(v.tableValue(n)))}if(",;".indexOf(k.value)>=0){$();continue}if("}"===k.value)break}return K("}"),m(v.tableConstructorExpression(e))}function It(){var e=Ut(0);return e}function qt(){var e=It();if(null!=e)return e;T("<expression>",k)}function Rt(e){var t=e.charCodeAt(0),n=e.length;if(1===n)switch(t){case 94:return 10;case 42:case 47:case 37:return 7;case 43:case 45:return 6;case 60:case 62:return 3}else if(2===n)switch(t){case 46:return 5;case 60:case 62:case 61:case 126:return 3;case 111:return 1}else if(97===t&&"and"===e)return 2;return 0}function Ut(e){var t=k.value,n,r;mt&&(r=gt());if(rt(k)){bt(),$();var i=Ut(8);i==null&&T("<expression>",k),n=m(v.unaryExpression(t,i))}null==n&&(n=Xt(),null==n&&(n=zt()));if(null==n)return null;var s;for(;;){t=k.value,s=l===k.type||u===k.type?Rt(t):0;if(s===0||s<=e)break;("^"===t||".."===t)&&s--,$();var o=Ut(s);null==o&&T("<expression>",k),mt&&vt.push(r),n=m(v.binaryExpression(t,n,o))}return n}function zt(){var e,t,r,i;mt&&(r=gt());if(a===k.type)t=k.value,e=Ht(),n.scope&&pt(e,i=dt(t));else{if(!J("("))return null;e=qt(),K(")"),n.scope&&(i=e.isLocal)}var s,u;for(;;)if(l===k.type)switch(k.value){case"[":wt(r),$(),s=qt(),e=m(v.indexExpression(e,s)),K("]");break;case".":wt(r),$(),u=Ht(),n.scope&&pt(u,i),e=m(v.memberExpression(e,".",u));break;case":":wt(r),$(),u=Ht(),n.scope&&pt(u,i),e=m(v.memberExpression(e,":",u)),wt(r),e=Wt(e);break;case"(":case"{":wt(r),e=Wt(e);break;default:return e}else{if(o!==k.type)break;wt(r),e=Wt(e)}return e}function Wt(e){if(l===k.type)switch(k.value){case"(":$();var t=[],n=It();null!=n&&t.push(n);while(J(","))n=qt(),t.push(n);return K(")"),m(v.callExpression(e,t));case"{":bt(),$();var r=Ft();return m(v.tableCallExpression(e,r))}else if(o===k.type)return m(v.stringCallExpression(e,Xt()));T("function arguments",k)}function Xt(){var e=o|f|c|h|p,n=k.value,r=k.type,i;mt&&(i=gt());if(r&e){wt(i);var s=t.slice(k.range[0],k.range[1]);return $(),m(v.literal(r,n,s))}if(u===r&&"function"===n)return wt(i),$(),Bt(null);if(J("{"))return wt(i),Ft()}function Vt(s,o){return"undefined"==typeof o&&"object"==typeof s&&(o=s,s=undefined),o||(o={}),t=s||"",n=S(i,o),C=0,_=1,D=0,r=t.length,ot=[[]],ut=0,at=[],vt=[],n.comments&&(O=[]),n.wait?e:Jt()}function $t(n){return t+=String(n),r=t.length,e}function Jt(e){"undefined"!=typeof e&&$t(e),r=t.length,mt=n.locations||n.ranges,A=P();var i=Et();n.comments&&(i.comments=O),n.scope&&(i.globals=at);if(vt.length>0)throw new Error("Location tracking failed. This is most likely a bug in luaparse");return i}e.version="0.1.4";var t,n,r,i=e.defaultOptions={wait:!1,comments:!0,scope:!1,locations:!1,ranges:!1},s=1,o=2,u=4,a=8,f=16,l=32,c=64,h=128,p=256;e.tokenTypes={EOF:s,StringLiteral:o,Keyword:u,Identifier:a,NumericLiteral:f,Punctuator:l,BooleanLiteral:c,NilLiteral:h,VarargLiteral:p};var d=e.errors={unexpected:"Unexpected %1 '%2' near '%3'",expected:"'%1' expected near '%2'",expectedToken:"%1 expected near '%2'",unfinishedString:"unfinished string near '%1'",malformedNumber:"malformed number near '%1'"},v=e.ast={labelStatement:function(e){return{type:"LabelStatement",label:e}},breakStatement:function(){return{type:"BreakStatement"}},gotoStatement:function(e){return{type:"GotoStatement",label:e}},returnStatement:function(e){return{type:"ReturnStatement",arguments:e}},ifStatement:function(e){return{type:"IfStatement",clauses:e}},ifClause:function(e,t){return{type:"IfClause",condition:e,body:t}},elseifClause:function(e,t){return{type:"ElseifClause",condition:e,body:t}},elseClause:function(e){return{type:"ElseClause",body:e}},whileStatement:function(e,t){return{type:"WhileStatement",condition:e,body:t}},doStatement:function(e){return{type:"DoStatement",body:e}},repeatStatement:function(e,t){return{type:"RepeatStatement",condition:e,body:t}},localStatement:function(e,t){return{type:"LocalStatement",variables:e,init:t}},assignmentStatement:function(e,t){return{type:"AssignmentStatement",variables:e,init:t}},callStatement:function(e){return{type:"CallStatement",expression:e}},functionStatement:function(e,t,n,r){return{type:"FunctionDeclaration",identifier:e,isLocal:n,parameters:t,body:r}},forNumericStatement:function(e,t,n,r,i){return{type:"ForNumericStatement",variable:e,start:t,end:n,step:r,body:i}},forGenericStatement:function(e,t,n){return{type:"ForGenericStatement",variables:e,iterators:t,body:n}},chunk:function(e){return{type:"Chunk",body:e}},identifier:function(e){return{type:"Identifier",name:e}},literal:function(e,t,n){return e=e===o?"StringLiteral":e===f?"NumericLiteral":e===c?"BooleanLiteral":e===h?"NilLiteral":"VarargLiteral",{type:e,value:t,raw:n}},tableKey:function(e,t){return{type:"TableKey",key:e,value:t}},tableKeyString:function(e,t){return{type:"TableKeyString",key:e,value:t}},tableValue:function(e){return{type:"TableValue",value:e}},tableConstructorExpression:function(e){return{type:"TableConstructorExpression",fields:e}},binaryExpression:function(e,t,n){var r="and"===e||"or"===e?"LogicalExpression":"BinaryExpression";return{type:r,operator:e,left:t,right:n}},unaryExpression:function(e,t){return{type:"UnaryExpression",operator:e,argument:t}},memberExpression:function(e,t,n){return{type:"MemberExpression",indexer:t,identifier:n,base:e}},indexExpression:function(e,t){return{type:"IndexExpression",base:e,index:t}},callExpression:function(e,t){return{type:"CallExpression",base:e,arguments:t}},tableCallExpression:function(e,t){return{type:"TableCallExpression",base:e,arguments:t}},stringCallExpression:function(e,t){return{type:"StringCallExpression",base:e,argument:t}},comment:function(e,t){return{type:"Comment",value:e,raw:t}}},g=Array.prototype.slice,y=Object.prototype.toString,b=function(t,n){for(var r=0,i=t.length;r<i;r++)if(t[r]===n)return r;return-1},C,k,L,A,O,M,_,D;e.lex=P;var ot,ut,at,vt=[],mt;yt.prototype.complete=function(){n.locations&&(this.loc.end.line=L.line,this.loc.end.column=L.range[1]-L.lineStart),n.ranges&&(this.range[1]=L.range[1])},e.parse=Vt,e.write=$t,e.end=Jt})}),ace.define("ace/mode/lua_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/lua/luaparse"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/lua/luaparse"),o=t.Worker=function(e){i.call(this,e),this.setTimeout(500)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[];try{s.parse(e)}catch(n){n instanceof SyntaxError&&t.push({row:n.line-1,column:n.column,text:n.message,type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-php.js b/library/ace/worker-php.js
new file mode 100644
index 000000000..edea3d109
--- /dev/null
+++ b/library/ace/worker-php.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/php/php",["require","exports","module"],function(e,t,n){var r={Constants:{}};r.Constants.T_INCLUDE=262,r.Constants.T_INCLUDE_ONCE=261,r.Constants.T_EVAL=260,r.Constants.T_REQUIRE=259,r.Constants.T_REQUIRE_ONCE=258,r.Constants.T_LOGICAL_OR=263,r.Constants.T_LOGICAL_XOR=264,r.Constants.T_LOGICAL_AND=265,r.Constants.T_PRINT=266,r.Constants.T_PLUS_EQUAL=277,r.Constants.T_MINUS_EQUAL=276,r.Constants.T_MUL_EQUAL=275,r.Constants.T_DIV_EQUAL=274,r.Constants.T_CONCAT_EQUAL=273,r.Constants.T_MOD_EQUAL=272,r.Constants.T_AND_EQUAL=271,r.Constants.T_OR_EQUAL=270,r.Constants.T_XOR_EQUAL=269,r.Constants.T_SL_EQUAL=268,r.Constants.T_SR_EQUAL=267,r.Constants.T_BOOLEAN_OR=278,r.Constants.T_BOOLEAN_AND=279,r.Constants.T_IS_EQUAL=283,r.Constants.T_IS_NOT_EQUAL=282,r.Constants.T_IS_IDENTICAL=281,r.Constants.T_IS_NOT_IDENTICAL=280,r.Constants.T_IS_SMALLER_OR_EQUAL=285,r.Constants.T_IS_GREATER_OR_EQUAL=284,r.Constants.T_SL=287,r.Constants.T_SR=286,r.Constants.T_INSTANCEOF=288,r.Constants.T_INC=297,r.Constants.T_DEC=296,r.Constants.T_INT_CAST=295,r.Constants.T_DOUBLE_CAST=294,r.Constants.T_STRING_CAST=293,r.Constants.T_ARRAY_CAST=292,r.Constants.T_OBJECT_CAST=291,r.Constants.T_BOOL_CAST=290,r.Constants.T_UNSET_CAST=289,r.Constants.T_NEW=299,r.Constants.T_CLONE=298,r.Constants.T_EXIT=300,r.Constants.T_IF=301,r.Constants.T_ELSEIF=302,r.Constants.T_ELSE=303,r.Constants.T_ENDIF=304,r.Constants.T_LNUMBER=305,r.Constants.T_DNUMBER=306,r.Constants.T_STRING=307,r.Constants.T_STRING_VARNAME=308,r.Constants.T_VARIABLE=309,r.Constants.T_NUM_STRING=310,r.Constants.T_INLINE_HTML=311,r.Constants.T_CHARACTER=312,r.Constants.T_BAD_CHARACTER=313,r.Constants.T_ENCAPSED_AND_WHITESPACE=314,r.Constants.T_CONSTANT_ENCAPSED_STRING=315,r.Constants.T_ECHO=316,r.Constants.T_DO=317,r.Constants.T_WHILE=318,r.Constants.T_ENDWHILE=319,r.Constants.T_FOR=320,r.Constants.T_ENDFOR=321,r.Constants.T_FOREACH=322,r.Constants.T_ENDFOREACH=323,r.Constants.T_DECLARE=324,r.Constants.T_ENDDECLARE=325,r.Constants.T_AS=326,r.Constants.T_SWITCH=327,r.Constants.T_ENDSWITCH=328,r.Constants.T_CASE=329,r.Constants.T_DEFAULT=330,r.Constants.T_BREAK=331,r.Constants.T_CONTINUE=332,r.Constants.T_GOTO=333,r.Constants.T_FUNCTION=334,r.Constants.T_CONST=335,r.Constants.T_RETURN=336,r.Constants.T_TRY=337,r.Constants.T_CATCH=338,r.Constants.T_THROW=339,r.Constants.T_USE=340,r.Constants.T_GLOBAL=341,r.Constants.T_STATIC=347,r.Constants.T_ABSTRACT=346,r.Constants.T_FINAL=345,r.Constants.T_PRIVATE=344,r.Constants.T_PROTECTED=343,r.Constants.T_PUBLIC=342,r.Constants.T_VAR=348,r.Constants.T_UNSET=349,r.Constants.T_ISSET=350,r.Constants.T_EMPTY=351,r.Constants.T_HALT_COMPILER=352,r.Constants.T_CLASS=353,r.Constants.T_TRAIT=382,r.Constants.T_INTERFACE=354,r.Constants.T_EXTENDS=355,r.Constants.T_IMPLEMENTS=356,r.Constants.T_OBJECT_OPERATOR=357,r.Constants.T_DOUBLE_ARROW=358,r.Constants.T_LIST=359,r.Constants.T_ARRAY=360,r.Constants.T_CLASS_C=361,r.Constants.T_TRAIT_C=381,r.Constants.T_METHOD_C=362,r.Constants.T_FUNC_C=363,r.Constants.T_LINE=364,r.Constants.T_FILE=365,r.Constants.T_COMMENT=366,r.Constants.T_DOC_COMMENT=367,r.Constants.T_OPEN_TAG=368,r.Constants.T_OPEN_TAG_WITH_ECHO=369,r.Constants.T_CLOSE_TAG=370,r.Constants.T_WHITESPACE=371,r.Constants.T_START_HEREDOC=372,r.Constants.T_END_HEREDOC=373,r.Constants.T_DOLLAR_OPEN_CURLY_BRACES=374,r.Constants.T_CURLY_OPEN=375,r.Constants.T_PAAMAYIM_NEKUDOTAYIM=376,r.Constants.T_DOUBLE_COLON=376,r.Constants.T_NAMESPACE=377,r.Constants.T_NS_C=378,r.Constants.T_DIR=379,r.Constants.T_NS_SEPARATOR=380,r.Lexer=function(e,t){var n,i=function(e){if(e.match(/\n/)!==null){var t=e.substring(0,1);e="["+e.split(/\n/).join(t+","+t)+'].join("\\n")'}return e},s,o=t===undefined||/^(on|true|1)$/i.test(t.short_open_tag)?/(\<\?php\s|\<\?|\<\%|\<script language\=('|")?php('|")?\>)/i:/(\<\?php\s|<\?=|\<script language\=('|")?php('|")?\>)/i,u=t===undefined||/^(on|true|1)$/i.test(t.short_open_tag)?/^(\<\?php\s|\<\?|\<\%|\<script language\=('|")?php('|")?\>)/i:/^(\<\?php\s|<\?=|\<script language\=('|")?php('|")?\>)/i,a=[{value:r.Constants.T_NAMESPACE,re:/^namespace(?=\s)/i},{value:r.Constants.T_USE,re:/^use(?=\s)/i},{value:r.Constants.T_ABSTRACT,re:/^abstract(?=\s)/i},{value:r.Constants.T_IMPLEMENTS,re:/^implements(?=\s)/i},{value:r.Constants.T_INTERFACE,re:/^interface(?=\s)/i},{value:r.Constants.T_CONST,re:/^const(?=\s)/i},{value:r.Constants.T_STATIC,re:/^static(?=\s)/i},{value:r.Constants.T_FINAL,re:/^final(?=\s)/i},{value:r.Constants.T_VAR,re:/^var(?=\s)/i},{value:r.Constants.T_GLOBAL,re:/^global(?=\s)/i},{value:r.Constants.T_CLONE,re:/^clone(?=\s)/i},{value:r.Constants.T_THROW,re:/^throw(?=\s)/i},{value:r.Constants.T_EXTENDS,re:/^extends(?=\s)/i},{value:r.Constants.T_AND_EQUAL,re:/^&=/},{value:r.Constants.T_AS,re:/^as(?=\s)/i},{value:r.Constants.T_ARRAY_CAST,re:/^\(array\)/i},{value:r.Constants.T_BOOL_CAST,re:/^\((bool|boolean)\)/i},{value:r.Constants.T_DOUBLE_CAST,re:/^\((real|float|double)\)/i},{value:r.Constants.T_INT_CAST,re:/^\((int|integer)\)/i},{value:r.Constants.T_OBJECT_CAST,re:/^\(object\)/i},{value:r.Constants.T_STRING_CAST,re:/^\(string\)/i},{value:r.Constants.T_UNSET_CAST,re:/^\(unset\)/i},{value:r.Constants.T_TRY,re:/^try(?=\s*{)/i},{value:r.Constants.T_CATCH,re:/^catch(?=\s*\()/i},{value:r.Constants.T_INSTANCEOF,re:/^instanceof(?=\s)/i},{value:r.Constants.T_LOGICAL_OR,re:/^or(?=\s)/i},{value:r.Constants.T_LOGICAL_AND,re:/^and(?=\s)/i},{value:r.Constants.T_LOGICAL_XOR,re:/^xor(?=\s)/i},{value:r.Constants.T_BOOLEAN_AND,re:/^&&/},{value:r.Constants.T_BOOLEAN_OR,re:/^\|\|/},{value:r.Constants.T_CONTINUE,re:/^continue(?=\s|;)/i},{value:r.Constants.T_BREAK,re:/^break(?=\s|;)/i},{value:r.Constants.T_ENDDECLARE,re:/^enddeclare(?=\s|;)/i},{value:r.Constants.T_ENDFOR,re:/^endfor(?=\s|;)/i},{value:r.Constants.T_ENDFOREACH,re:/^endforeach(?=\s|;)/i},{value:r.Constants.T_ENDIF,re:/^endif(?=\s|;)/i},{value:r.Constants.T_ENDSWITCH,re:/^endswitch(?=\s|;)/i},{value:r.Constants.T_ENDWHILE,re:/^endwhile(?=\s|;)/i},{value:r.Constants.T_CASE,re:/^case(?=\s)/i},{value:r.Constants.T_DEFAULT,re:/^default(?=\s|:)/i},{value:r.Constants.T_SWITCH,re:/^switch(?=[ (])/i},{value:r.Constants.T_EXIT,re:/^(exit|die)(?=[ \(;])/i},{value:r.Constants.T_CLOSE_TAG,re:/^(\?\>|\%\>|\<\/script\>)\s?\s?/i,func:function(e){return c=!1,e}},{value:r.Constants.T_DOUBLE_ARROW,re:/^\=\>/},{value:r.Constants.T_DOUBLE_COLON,re:/^\:\:/},{value:r.Constants.T_METHOD_C,re:/^__METHOD__/},{value:r.Constants.T_LINE,re:/^__LINE__/},{value:r.Constants.T_FILE,re:/^__FILE__/},{value:r.Constants.T_FUNC_C,re:/^__FUNCTION__/},{value:r.Constants.T_NS_C,re:/^__NAMESPACE__/},{value:r.Constants.T_TRAIT_C,re:/^__TRAIT__/},{value:r.Constants.T_DIR,re:/^__DIR__/},{value:r.Constants.T_CLASS_C,re:/^__CLASS__/},{value:r.Constants.T_INC,re:/^\+\+/},{value:r.Constants.T_DEC,re:/^\-\-/},{value:r.Constants.T_CONCAT_EQUAL,re:/^\.\=/},{value:r.Constants.T_DIV_EQUAL,re:/^\/\=/},{value:r.Constants.T_XOR_EQUAL,re:/^\^\=/},{value:r.Constants.T_MUL_EQUAL,re:/^\*\=/},{value:r.Constants.T_MOD_EQUAL,re:/^\%\=/},{value:r.Constants.T_SL_EQUAL,re:/^<<=/},{value:r.Constants.T_START_HEREDOC,re:/^<<<[A-Z_0-9]+\s/i,func:function(e){return n=e.substring(3,e.length-1),e}},{value:r.Constants.T_SL,re:/^<</},{value:r.Constants.T_IS_SMALLER_OR_EQUAL,re:/^<=/},{value:r.Constants.T_SR_EQUAL,re:/^>>=/},{value:r.Constants.T_SR,re:/^>>/},{value:r.Constants.T_IS_GREATER_OR_EQUAL,re:/^>=/},{value:r.Constants.T_OR_EQUAL,re:/^\|\=/},{value:r.Constants.T_PLUS_EQUAL,re:/^\+\=/},{value:r.Constants.T_MINUS_EQUAL,re:/^-\=/},{value:r.Constants.T_OBJECT_OPERATOR,re:/^\-\>/i},{value:r.Constants.T_CLASS,re:/^class(?=[\s\{])/i,afterWhitespace:!0},{value:r.Constants.T_TRAIT,re:/^trait(?=[\s]+[A-Za-z])/i},{value:r.Constants.T_PUBLIC,re:/^public(?=[\s])/i},{value:r.Constants.T_PRIVATE,re:/^private(?=[\s])/i},{value:r.Constants.T_PROTECTED,re:/^protected(?=[\s])/i},{value:r.Constants.T_ARRAY,re:/^array(?=\s*?\()/i},{value:r.Constants.T_EMPTY,re:/^empty(?=[ \(])/i},{value:r.Constants.T_ISSET,re:/^isset(?=[ \(])/i},{value:r.Constants.T_UNSET,re:/^unset(?=[ \(])/i},{value:r.Constants.T_RETURN,re:/^return(?=[ "'(;])/i},{value:r.Constants.T_FUNCTION,re:/^function(?=[ "'(;])/i},{value:r.Constants.T_ECHO,re:/^echo(?=[ "'(;])/i},{value:r.Constants.T_LIST,re:/^list(?=\s*?\()/i},{value:r.Constants.T_PRINT,re:/^print(?=[ "'(;])/i},{value:r.Constants.T_INCLUDE,re:/^include(?=[ "'(;])/i},{value:r.Constants.T_INCLUDE_ONCE,re:/^include_once(?=[ "'(;])/i},{value:r.Constants.T_REQUIRE,re:/^require(?=[ "'(;])/i},{value:r.Constants.T_REQUIRE_ONCE,re:/^require_once(?=[ "'(;])/i},{value:r.Constants.T_NEW,re:/^new(?=[ ])/i},{value:r.Constants.T_COMMENT,re:/^\/\*([\S\s]*?)(?:\*\/|$)/},{value:r.Constants.T_COMMENT,re:/^\/\/.*(\s)?/},{value:r.Constants.T_COMMENT,re:/^\#.*(\s)?/},{value:r.Constants.T_ELSEIF,re:/^elseif(?=[\s(])/i},{value:r.Constants.T_GOTO,re:/^goto(?=[\s(])/i},{value:r.Constants.T_ELSE,re:/^else(?=[\s{:])/i},{value:r.Constants.T_IF,re:/^if(?=[\s(])/i},{value:r.Constants.T_DO,re:/^do(?=[ {])/i},{value:r.Constants.T_WHILE,re:/^while(?=[ (])/i},{value:r.Constants.T_FOREACH,re:/^foreach(?=[ (])/i},{value:r.Constants.T_ISSET,re:/^isset(?=[ (])/i},{value:r.Constants.T_IS_IDENTICAL,re:/^===/},{value:r.Constants.T_IS_EQUAL,re:/^==/},{value:r.Constants.T_IS_NOT_IDENTICAL,re:/^\!==/},{value:r.Constants.T_IS_NOT_EQUAL,re:/^(\!=|\<\>)/},{value:r.Constants.T_FOR,re:/^for(?=[ (])/i},{value:r.Constants.T_DNUMBER,re:/^[0-9]*\.[0-9]+([eE][-]?[0-9]*)?/},{value:r.Constants.T_LNUMBER,re:/^(0x[0-9A-F]+|[0-9]+)/i},{value:r.Constants.T_OPEN_TAG_WITH_ECHO,re:/^(\<\?=|\<\%=)/i},{value:r.Constants.T_OPEN_TAG,re:u},{value:r.Constants.T_VARIABLE,re:/^\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/},{value:r.Constants.T_WHITESPACE,re:/^\s+/},{value:r.Constants.T_CONSTANT_ENCAPSED_STRING,re:/^("(?:[^"\\]|\\[\s\S])*"|'(?:[^'\\]|\\[\s\S])*')/,func:function(e,t){var n=0,i,s=0;if(e.substring(0,1)==="'")return e;var o=e.match(/(?:[^\\]|\\.)*[^\\]\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/g);if(o!==null){while(e.length>0){i=e.length,o=e.match(/^[\[\]\;\:\?\(\)\!\.\,\>\<\=\+\-\/\*\|\&\@\^\%\"\'\{\}]/),o!==null&&(f.push(o[0]),e=e.substring(1),n>0&&o[0]==="}"&&n--,o[0]==="["&&s++,o[0]==="]"&&s--),o=e.match(/^\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/);if(o!==null){f.push([parseInt(r.Constants.T_VARIABLE,10),o[0],l]),e=e.substring(o[0].length),o=e.match(/^(\-\>)\s*([a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*)\s*(\()/),o!==null&&(f.push([parseInt(r.Constants.T_OBJECT_OPERATOR,10),o[1],l]),f.push([parseInt(r.Constants.T_STRING,10),o[2],l]),o[3]&&f.push(o[3]),e=e.substring(o[0].length));if(e.match(/^\[/g)!==null)continue}var u;n>0?u=/^([^\\\$"{}\]\(\)\->]|\\.)+/g:u=/^([^\\\$"{]|\\.|{[^\$]|\$(?=[^a-zA-Z_\x7f-\uffff]))+/g;var a,c;while((o=e.match(u))!==null){if(e.length===1)throw new Error(o);a=0,n>0?(c=o[0].match(/^[\[\]\;\:\?\(\)\!\.\,\>\<\=\+\-\/\*\|\&\{\}\@\^\%\$\~]/))?f.push(c[0]):a=r.Constants.T_STRING:a=r.Constants.T_ENCAPSED_AND_WHITESPACE,a&&f.push([parseInt(a,10),o[0].replace(/\n/g,"\\n").replace(/\r/g,""),l]),l+=o[0].split("\n").length-1,e=e.substring(o[0].length)}n>0&&e.match(/^\->/)!==null&&(f.push([parseInt(r.Constants.T_OBJECT_OPERATOR,10),"->",l]),e=e.substring(2)),e.match(/^{\$/)!==null&&(f.push([parseInt(r.Constants.T_CURLY_OPEN,10),"{",l]),e=e.substring(1),n++);if(i===e.length&&(o=e.match(/^(([^\\]|\\.)*?[^\\]\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*)/g))!==null)return}return undefined}return e=e.replace(/\r/g,""),e}},{value:r.Constants.T_NS_SEPARATOR,re:/^\\(?=[a-zA-Z_])/},{value:r.Constants.T_STRING,re:/^[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/},{value:-1,re:/^[\[\]\;\:\?\(\)\!\.\,\>\<\=\+\-\/\*\|\&\{\}\@\^\%\"\'\$\~]/}],f=[],l=1,c=!1,h=!0;if(e===null)return f;typeof e!="string"&&(e=e.toString());while(e.length>0&&h===!0)if(c===!0)if(n!==undefined){var p=new RegExp("([\\S\\s]*?)(\\r\\n|\\n|\\r)("+n+")(;|\\r\\n|\\n)","i"),d=e.match(p);d!==null&&(f.push([parseInt(r.Constants.T_ENCAPSED_AND_WHITESPACE,10),d[1].replace(/^\n/g,"").replace(/\\\$/g,"$")+"\n",l]),l+=d[1].split("\n").length,f.push([parseInt(r.Constants.T_END_HEREDOC,10),d[3],l]),e=e.substring(d[1].length+d[2].length+d[3].length),n=undefined);if(d===null)throw Error("sup")}else h=a.some(function(t){if(t.afterWhitespace===!0){var n=f[f.length-1];if(!Array.isArray(n)||n[0]!==r.Constants.T_WHITESPACE&&n[0]!==r.Constants.T_OPEN_TAG&&n[0]!==r.Constants.T_COMMENT)return!1}var i=e.match(t.re);if(i!==null){if(t.value!==-1){var s=i[0];t.func!==undefined&&(s=t.func(s,t)),s!==undefined&&(f.push([parseInt(t.value,10),s,l]),l+=s.split("\n").length-1)}else f.push(i[0]);return e=e.substring(i[0].length),!0}return!1});else{var d=o.exec(e);if(d===null)return f.push([parseInt(r.Constants.T_INLINE_HTML,10),e.replace(/^\n/,""),l]),f;if(d.index>0){var v=e.substring(0,d.index);f.push([parseInt(r.Constants.T_INLINE_HTML,10),v,l]),l+=v.split("\n").length-1,e=e.substring(d.index)}c=!0}return f},r.Parser=function(e,t){var n=this.yybase,i=this.yydefault,s=this.yycheck,o=this.yyaction,u=this.yylen,a=this.yygbase,f=this.yygcheck,l=this.yyp,c=this.yygoto,h=this.yylhs,p=this.terminals,d=this.translate,v=this.yygdefault;this.pos=-1,this.line=1,this.tokenMap=this.createTokenMap(),this.dropTokens={},this.dropTokens[r.Constants.T_WHITESPACE]=1,this.dropTokens[r.Constants.T_OPEN_TAG]=1;var m=[];e.forEach(function(e,t){typeof e=="object"&&e[0]===r.Constants.T_OPEN_TAG_WITH_ECHO?(m.push([r.Constants.T_OPEN_TAG,e[1],e[2]]),m.push([r.Constants.T_ECHO,e[1],e[2]])):m.push(e)}),this.tokens=m;var g=this.TOKEN_NONE;this.startAttributes={startLine:1},this.endAttributes={};var y=[this.startAttributes],b=0,w=[b];this.yyastk=[],this.stackPos=0;var E,S;for(;;){if(n[b]===0)E=i[b];else{g===this.TOKEN_NONE&&(S=this.getNextToken(),g=S>=0&&S<this.TOKEN_MAP_SIZE?d[S]:this.TOKEN_INVALID,y[this.stackPos]=this.startAttributes);if(((E=n[b]+g)>=0&&E<this.YYLAST&&s[E]===g||b<this.YY2TBLSTATE&&(E=n[b+this.YYNLSTATES]+g)>=0&&E<this.YYLAST&&s[E]===g)&&(E=o[E])!==this.YYDEFAULT)if(E>0){++this.stackPos,w[this.stackPos]=b=E,this.yyastk[this.stackPos]=this.tokenValue,y[this.stackPos]=this.startAttributes,g=this.TOKEN_NONE;if(E<this.YYNLSTATES)continue;E-=this.YYNLSTATES}else E=-E;else E=i[b]}for(;;){if(E===0)return this.yyval;if(E===this.YYUNEXPECTED){if(t!==!0){var N=[];for(var C=0;C<this.TOKEN_MAP_SIZE;++C)if((E=n[b]+C)>=0&&E<this.YYLAST&&s[E]==C||b<this.YY2TBLSTATE&&(E=n[b+this.YYNLSTATES]+C)&&E<this.YYLAST&&s[E]==C)if(o[E]!=this.YYUNEXPECTED){if(N.length==4){N=[];break}N.push(this.terminals[C])}var k="";throw N.length&&(k=", expecting "+N.join(" or ")),new r.ParseError("syntax error, unexpected "+p[g]+k,this.startAttributes.startLine)}return this.startAttributes.startLine}for(var x in this.endAttributes)y[this.stackPos-u[E]][x]=this.endAttributes[x];try{this["yyn"+E](y[this.stackPos-u[E]])}catch(T){throw T}this.stackPos-=u[E],E=h[E],(l=a[E]+w[this.stackPos])>=0&&l<this.YYGLAST&&f[l]===E?b=c[l]:b=v[E],++this.stackPos,w[this.stackPos]=b,this.yyastk[this.stackPos]=this.yyval,y[this.stackPos]=this.startAttributes;if(b<this.YYNLSTATES)break;E=b-this.YYNLSTATES}}},r.ParseError=function(e,t){this.message=e,this.line=t},r.Parser.prototype.MODIFIER_PUBLIC=1,r.Parser.prototype.MODIFIER_PROTECTED=2,r.Parser.prototype.MODIFIER_PRIVATE=4,r.Parser.prototype.MODIFIER_STATIC=8,r.Parser.prototype.MODIFIER_ABSTRACT=16,r.Parser.prototype.MODIFIER_FINAL=32,r.Parser.prototype.getNextToken=function(){this.startAttributes={},this.endAttributes={};var e,t;while(this.tokens[++this.pos]!==undefined){e=this.tokens[this.pos];if(typeof e=="string")return this.startAttributes.startLine=this.line,this.endAttributes.endLine=this.line,'b"'===e?(this.tokenValue='b"','"'.charCodeAt(0)):(this.tokenValue=e,e.charCodeAt(0));this.line+=(t=e[1].match(/\n/g))===null?0:t.length;if(r.Constants.T_COMMENT===e[0])Array.isArray(this.startAttributes.comments)||(this.startAttributes.comments=[]),this.startAttributes.comments.push({type:"comment",comment:e[1],line:e[2]});else if(r.Constants.T_DOC_COMMENT===e[0])this.startAttributes.comments.push(new PHPParser_Comment_Doc(e[1],e[2]));else if(this.dropTokens[e[0]]===undefined)return this.tokenValue=e[1],this.startAttributes.startLine=e[2],this.endAttributes.endLine=this.line,this.tokenMap[e[0]]}return this.startAttributes.startLine=this.line,0},r.Parser.prototype.tokenName=function(e){var t=["T_INCLUDE","T_INCLUDE_ONCE","T_EVAL","T_REQUIRE","T_REQUIRE_ONCE","T_LOGICAL_OR","T_LOGICAL_XOR","T_LOGICAL_AND","T_PRINT","T_PLUS_EQUAL","T_MINUS_EQUAL","T_MUL_EQUAL","T_DIV_EQUAL","T_CONCAT_EQUAL","T_MOD_EQUAL","T_AND_EQUAL","T_OR_EQUAL","T_XOR_EQUAL","T_SL_EQUAL","T_SR_EQUAL","T_BOOLEAN_OR","T_BOOLEAN_AND","T_IS_EQUAL","T_IS_NOT_EQUAL","T_IS_IDENTICAL","T_IS_NOT_IDENTICAL","T_IS_SMALLER_OR_EQUAL","T_IS_GREATER_OR_EQUAL","T_SL","T_SR","T_INSTANCEOF","T_INC","T_DEC","T_INT_CAST","T_DOUBLE_CAST","T_STRING_CAST","T_ARRAY_CAST","T_OBJECT_CAST","T_BOOL_CAST","T_UNSET_CAST","T_NEW","T_CLONE","T_EXIT","T_IF","T_ELSEIF","T_ELSE","T_ENDIF","T_LNUMBER","T_DNUMBER","T_STRING","T_STRING_VARNAME","T_VARIABLE","T_NUM_STRING","T_INLINE_HTML","T_CHARACTER","T_BAD_CHARACTER","T_ENCAPSED_AND_WHITESPACE","T_CONSTANT_ENCAPSED_STRING","T_ECHO","T_DO","T_WHILE","T_ENDWHILE","T_FOR","T_ENDFOR","T_FOREACH","T_ENDFOREACH","T_DECLARE","T_ENDDECLARE","T_AS","T_SWITCH","T_ENDSWITCH","T_CASE","T_DEFAULT","T_BREAK","T_CONTINUE","T_GOTO","T_FUNCTION","T_CONST","T_RETURN","T_TRY","T_CATCH","T_THROW","T_USE","T_INSTEADOF","T_GLOBAL","T_STATIC","T_ABSTRACT","T_FINAL","T_PRIVATE","T_PROTECTED","T_PUBLIC","T_VAR","T_UNSET","T_ISSET","T_EMPTY","T_HALT_COMPILER","T_CLASS","T_TRAIT","T_INTERFACE","T_EXTENDS","T_IMPLEMENTS","T_OBJECT_OPERATOR","T_DOUBLE_ARROW","T_LIST","T_ARRAY","T_CALLABLE","T_CLASS_C","T_TRAIT_C","T_METHOD_C","T_FUNC_C","T_LINE","T_FILE","T_COMMENT","T_DOC_COMMENT","T_OPEN_TAG","T_OPEN_TAG_WITH_ECHO","T_CLOSE_TAG","T_WHITESPACE","T_START_HEREDOC","T_END_HEREDOC","T_DOLLAR_OPEN_CURLY_BRACES","T_CURLY_OPEN","T_PAAMAYIM_NEKUDOTAYIM","T_DOUBLE_COLON","T_NAMESPACE","T_NS_C","T_DIR","T_NS_SEPARATOR"],n="UNKNOWN";return t.some(function(t){return r.Constants[t]===e?(n=t,!0):!1}),n},r.Parser.prototype.createTokenMap=function(){var e={},t,n,i=r.Constants.T_PAAMAYIM_NEKUDOTAYIM;for(n=256;n<1e3;++n)i===n?e[n]=this.T_PAAMAYIM_NEKUDOTAYIM:r.Constants.T_OPEN_TAG_WITH_ECHO===n?e[n]=r.Constants.T_ECHO:r.Constants.T_CLOSE_TAG===n?e[n]=59:"UNKNOWN"!==(t=this.tokenName(n))&&(e[n]=this[t]);return e};var i=function(){this.yyval=this.yyastk[this.stackPos-0]};r.Parser.prototype.MakeArray=function(e){return Array.isArray(e)?e:[e]},r.Parser.prototype.parseString=function(e){var t=0;return"b"===e[0]&&(t=1),"'"===e[t]?e=e.replace(["\\\\","\\'"],["\\","'"]):e=this.parseEscapeSequences(e,'"'),e},r.Parser.prototype.parseEscapeSequences=function(e,t){undefined!==t&&(e=e.replace(new RegExp("\\"+t,"g"),t));var n={"\\":"\\",$:"$",n:"\n",r:"\r",t:" ",f:"\f",v:" ",e:""};return e.replace(/~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3})~/g,function(e){var t=e[1];return n[t]!==undefined?n[t]:"x"===t[0]||"X"===t[0]?chr(hexdec(t)):chr(octdec(t))})},r.Parser.prototype.TOKEN_NONE=-1,r.Parser.prototype.TOKEN_INVALID=149,r.Parser.prototype.TOKEN_MAP_SIZE=384,r.Parser.prototype.YYLAST=913,r.Parser.prototype.YY2TBLSTATE=328,r.Parser.prototype.YYGLAST=415,r.Parser.prototype.YYNLSTATES=544,r.Parser.prototype.YYUNEXPECTED=32767,r.Parser.prototype.YYDEFAULT=-32766,r.Parser.prototype.YYERRTOK=256,r.Parser.prototype.T_INCLUDE=257,r.Parser.prototype.T_INCLUDE_ONCE=258,r.Parser.prototype.T_EVAL=259,r.Parser.prototype.T_REQUIRE=260,r.Parser.prototype.T_REQUIRE_ONCE=261,r.Parser.prototype.T_LOGICAL_OR=262,r.Parser.prototype.T_LOGICAL_XOR=263,r.Parser.prototype.T_LOGICAL_AND=264,r.Parser.prototype.T_PRINT=265,r.Parser.prototype.T_PLUS_EQUAL=266,r.Parser.prototype.T_MINUS_EQUAL=267,r.Parser.prototype.T_MUL_EQUAL=268,r.Parser.prototype.T_DIV_EQUAL=269,r.Parser.prototype.T_CONCAT_EQUAL=270,r.Parser.prototype.T_MOD_EQUAL=271,r.Parser.prototype.T_AND_EQUAL=272,r.Parser.prototype.T_OR_EQUAL=273,r.Parser.prototype.T_XOR_EQUAL=274,r.Parser.prototype.T_SL_EQUAL=275,r.Parser.prototype.T_SR_EQUAL=276,r.Parser.prototype.T_BOOLEAN_OR=277,r.Parser.prototype.T_BOOLEAN_AND=278,r.Parser.prototype.T_IS_EQUAL=279,r.Parser.prototype.T_IS_NOT_EQUAL=280,r.Parser.prototype.T_IS_IDENTICAL=281,r.Parser.prototype.T_IS_NOT_IDENTICAL=282,r.Parser.prototype.T_IS_SMALLER_OR_EQUAL=283,r.Parser.prototype.T_IS_GREATER_OR_EQUAL=284,r.Parser.prototype.T_SL=285,r.Parser.prototype.T_SR=286,r.Parser.prototype.T_INSTANCEOF=287,r.Parser.prototype.T_INC=288,r.Parser.prototype.T_DEC=289,r.Parser.prototype.T_INT_CAST=290,r.Parser.prototype.T_DOUBLE_CAST=291,r.Parser.prototype.T_STRING_CAST=292,r.Parser.prototype.T_ARRAY_CAST=293,r.Parser.prototype.T_OBJECT_CAST=294,r.Parser.prototype.T_BOOL_CAST=295,r.Parser.prototype.T_UNSET_CAST=296,r.Parser.prototype.T_NEW=297,r.Parser.prototype.T_CLONE=298,r.Parser.prototype.T_EXIT=299,r.Parser.prototype.T_IF=300,r.Parser.prototype.T_ELSEIF=301,r.Parser.prototype.T_ELSE=302,r.Parser.prototype.T_ENDIF=303,r.Parser.prototype.T_LNUMBER=304,r.Parser.prototype.T_DNUMBER=305,r.Parser.prototype.T_STRING=306,r.Parser.prototype.T_STRING_VARNAME=307,r.Parser.prototype.T_VARIABLE=308,r.Parser.prototype.T_NUM_STRING=309,r.Parser.prototype.T_INLINE_HTML=310,r.Parser.prototype.T_CHARACTER=311,r.Parser.prototype.T_BAD_CHARACTER=312,r.Parser.prototype.T_ENCAPSED_AND_WHITESPACE=313,r.Parser.prototype.T_CONSTANT_ENCAPSED_STRING=314,r.Parser.prototype.T_ECHO=315,r.Parser.prototype.T_DO=316,r.Parser.prototype.T_WHILE=317,r.Parser.prototype.T_ENDWHILE=318,r.Parser.prototype.T_FOR=319,r.Parser.prototype.T_ENDFOR=320,r.Parser.prototype.T_FOREACH=321,r.Parser.prototype.T_ENDFOREACH=322,r.Parser.prototype.T_DECLARE=323,r.Parser.prototype.T_ENDDECLARE=324,r.Parser.prototype.T_AS=325,r.Parser.prototype.T_SWITCH=326,r.Parser.prototype.T_ENDSWITCH=327,r.Parser.prototype.T_CASE=328,r.Parser.prototype.T_DEFAULT=329,r.Parser.prototype.T_BREAK=330,r.Parser.prototype.T_CONTINUE=331,r.Parser.prototype.T_GOTO=332,r.Parser.prototype.T_FUNCTION=333,r.Parser.prototype.T_CONST=334,r.Parser.prototype.T_RETURN=335,r.Parser.prototype.T_TRY=336,r.Parser.prototype.T_CATCH=337,r.Parser.prototype.T_THROW=338,r.Parser.prototype.T_USE=339,r.Parser.prototype.T_INSTEADOF=340,r.Parser.prototype.T_GLOBAL=341,r.Parser.prototype.T_STATIC=342,r.Parser.prototype.T_ABSTRACT=343,r.Parser.prototype.T_FINAL=344,r.Parser.prototype.T_PRIVATE=345,r.Parser.prototype.T_PROTECTED=346,r.Parser.prototype.T_PUBLIC=347,r.Parser.prototype.T_VAR=348,r.Parser.prototype.T_UNSET=349,r.Parser.prototype.T_ISSET=350,r.Parser.prototype.T_EMPTY=351,r.Parser.prototype.T_HALT_COMPILER=352,r.Parser.prototype.T_CLASS=353,r.Parser.prototype.T_TRAIT=354,r.Parser.prototype.T_INTERFACE=355,r.Parser.prototype.T_EXTENDS=356,r.Parser.prototype.T_IMPLEMENTS=357,r.Parser.prototype.T_OBJECT_OPERATOR=358,r.Parser.prototype.T_DOUBLE_ARROW=359,r.Parser.prototype.T_LIST=360,r.Parser.prototype.T_ARRAY=361,r.Parser.prototype.T_CALLABLE=362,r.Parser.prototype.T_CLASS_C=363,r.Parser.prototype.T_TRAIT_C=364,r.Parser.prototype.T_METHOD_C=365,r.Parser.prototype.T_FUNC_C=366,r.Parser.prototype.T_LINE=367,r.Parser.prototype.T_FILE=368,r.Parser.prototype.T_COMMENT=369,r.Parser.prototype.T_DOC_COMMENT=370,r.Parser.prototype.T_OPEN_TAG=371,r.Parser.prototype.T_OPEN_TAG_WITH_ECHO=372,r.Parser.prototype.T_CLOSE_TAG=373,r.Parser.prototype.T_WHITESPACE=374,r.Parser.prototype.T_START_HEREDOC=375,r.Parser.prototype.T_END_HEREDOC=376,r.Parser.prototype.T_DOLLAR_OPEN_CURLY_BRACES=377,r.Parser.prototype.T_CURLY_OPEN=378,r.Parser.prototype.T_PAAMAYIM_NEKUDOTAYIM=379,r.Parser.prototype.T_NAMESPACE=380,r.Parser.prototype.T_NS_C=381,r.Parser.prototype.T_DIR=382,r.Parser.prototype.T_NS_SEPARATOR=383,r.Parser.prototype.terminals=["$EOF","error","T_INCLUDE","T_INCLUDE_ONCE","T_EVAL","T_REQUIRE","T_REQUIRE_ONCE","','","T_LOGICAL_OR","T_LOGICAL_XOR","T_LOGICAL_AND","T_PRINT","'='","T_PLUS_EQUAL","T_MINUS_EQUAL","T_MUL_EQUAL","T_DIV_EQUAL","T_CONCAT_EQUAL","T_MOD_EQUAL","T_AND_EQUAL","T_OR_EQUAL","T_XOR_EQUAL","T_SL_EQUAL","T_SR_EQUAL","'?'","':'","T_BOOLEAN_OR","T_BOOLEAN_AND","'|'","'^'","'&'","T_IS_EQUAL","T_IS_NOT_EQUAL","T_IS_IDENTICAL","T_IS_NOT_IDENTICAL","'<'","T_IS_SMALLER_OR_EQUAL","'>'","T_IS_GREATER_OR_EQUAL","T_SL","T_SR","'+'","'-'","'.'","'*'","'/'","'%'","'!'","T_INSTANCEOF","'~'","T_INC","T_DEC","T_INT_CAST","T_DOUBLE_CAST","T_STRING_CAST","T_ARRAY_CAST","T_OBJECT_CAST","T_BOOL_CAST","T_UNSET_CAST","'@'","'['","T_NEW","T_CLONE","T_EXIT","T_IF","T_ELSEIF","T_ELSE","T_ENDIF","T_LNUMBER","T_DNUMBER","T_STRING","T_STRING_VARNAME","T_VARIABLE","T_NUM_STRING","T_INLINE_HTML","T_ENCAPSED_AND_WHITESPACE","T_CONSTANT_ENCAPSED_STRING","T_ECHO","T_DO","T_WHILE","T_ENDWHILE","T_FOR","T_ENDFOR","T_FOREACH","T_ENDFOREACH","T_DECLARE","T_ENDDECLARE","T_AS","T_SWITCH","T_ENDSWITCH","T_CASE","T_DEFAULT","T_BREAK","T_CONTINUE","T_GOTO","T_FUNCTION","T_CONST","T_RETURN","T_TRY","T_CATCH","T_THROW","T_USE","T_INSTEADOF","T_GLOBAL","T_STATIC","T_ABSTRACT","T_FINAL","T_PRIVATE","T_PROTECTED","T_PUBLIC","T_VAR","T_UNSET","T_ISSET","T_EMPTY","T_HALT_COMPILER","T_CLASS","T_TRAIT","T_INTERFACE","T_EXTENDS","T_IMPLEMENTS","T_OBJECT_OPERATOR","T_DOUBLE_ARROW","T_LIST","T_ARRAY","T_CALLABLE","T_CLASS_C","T_TRAIT_C","T_METHOD_C","T_FUNC_C","T_LINE","T_FILE","T_START_HEREDOC","T_END_HEREDOC","T_DOLLAR_OPEN_CURLY_BRACES","T_CURLY_OPEN","T_PAAMAYIM_NEKUDOTAYIM","T_NAMESPACE","T_NS_C","T_DIR","T_NS_SEPARATOR","';'","'{'","'}'","'('","')'","'$'","']'","'`'","'\"'","???"],r.Parser.prototype.translate=[0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,47,148,149,145,46,30,149,143,144,44,41,7,42,43,45,149,149,149,149,149,149,149,149,149,149,25,140,35,12,37,24,59,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,60,149,146,29,149,147,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,141,28,142,49,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,1,2,3,4,5,6,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,26,27,31,32,33,34,36,38,39,40,48,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,149,149,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,149,149,149,149,149,149,131,132,133,134,135,136,137,138,139],r.Parser.prototype.yyaction=[61,62,363,63,64,-32766,-32766,-32766,509,65,708,709,710,707,706,705,-32766,-32766,-32766,-32766,-32766,-32766,132,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32766,335,-32766,-32766,-32766,-32766,-32766,66,67,351,663,664,40,68,548,69,232,233,70,71,72,73,74,75,76,77,30,246,78,336,364,-112,0,469,833,834,365,641,890,436,590,41,835,53,27,366,294,367,687,368,921,369,923,922,370,-32766,-32766,-32766,42,43,371,339,126,44,372,337,79,297,349,292,293,-32766,918,-32766,-32766,373,374,375,376,377,391,199,361,338,573,613,378,379,380,381,845,839,840,841,842,836,837,253,-32766,87,88,89,391,843,838,338,597,519,128,80,129,273,332,257,261,47,673,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,799,247,884,108,109,110,226,247,21,-32766,310,-32766,-32766,-32766,642,548,-32766,-32766,-32766,-32766,56,353,-32766,-32766,-32766,55,-32766,-32766,-32766,-32766,-32766,58,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,557,-32766,-32766,518,-32766,548,890,-32766,390,-32766,228,252,-32766,-32766,-32766,-32766,-32766,275,-32766,234,-32766,587,588,-32766,-32766,-32766,-32766,-32766,-32766,-32766,46,236,-32766,-32766,281,-32766,682,348,-32766,390,-32766,346,333,521,-32766,-32766,-32766,271,911,262,237,446,911,-32766,894,59,700,358,135,548,123,538,35,-32766,333,122,-32766,-32766,-32766,271,-32766,124,-32766,692,-32766,-32766,-32766,-32766,700,273,22,-32766,-32766,-32766,-32766,239,-32766,-32766,612,-32766,548,134,-32766,390,-32766,462,354,-32766,-32766,-32766,-32766,-32766,227,-32766,238,-32766,845,542,-32766,856,611,200,-32766,-32766,-32766,259,280,-32766,-32766,201,-32766,855,129,-32766,390,130,202,333,206,-32766,-32766,-32766,271,-32766,-32766,-32766,125,601,-32766,136,299,700,489,28,548,105,106,107,-32766,498,499,-32766,-32766,-32766,207,-32766,133,-32766,525,-32766,-32766,-32766,-32766,663,664,527,-32766,-32766,-32766,-32766,528,-32766,-32766,610,-32766,548,427,-32766,390,-32766,532,539,-32766,-32766,-32766,-32766,-32766,240,-32766,247,-32766,697,543,-32766,554,523,608,-32766,-32766,-32766,686,535,-32766,-32766,54,-32766,57,60,-32766,390,246,-155,278,345,-32766,-32766,-32766,506,347,-152,471,402,403,-32766,405,404,272,493,416,548,318,417,505,-32766,517,548,-32766,-32766,-32766,549,-32766,562,-32766,916,-32766,-32766,-32766,-32766,564,826,848,-32766,-32766,-32766,-32766,694,-32766,-32766,485,-32766,548,487,-32766,390,-32766,504,802,-32766,-32766,-32766,-32766,-32766,279,-32766,911,-32766,502,492,-32766,413,483,269,-32766,-32766,-32766,243,337,-32766,-32766,418,-32766,454,229,-32766,390,274,373,374,344,-32766,-32766,-32766,360,614,-32766,573,613,378,379,-274,548,615,-332,844,-32766,258,51,-32766,-32766,-32766,270,-32766,346,-32766,52,-32766,260,0,-32766,-333,-32766,-32766,-32766,-32766,-32766,-32766,205,-32766,-32766,49,-32766,548,424,-32766,390,-32766,-266,264,-32766,-32766,-32766,-32766,-32766,409,-32766,343,-32766,265,312,-32766,470,513,-275,-32766,-32766,-32766,920,337,-32766,-32766,530,-32766,531,600,-32766,390,592,373,374,578,581,-32766,-32766,644,629,-32766,573,613,378,379,635,548,636,576,627,-32766,625,693,-32766,-32766,-32766,691,-32766,591,-32766,582,-32766,203,204,-32766,584,583,-32766,-32766,-32766,-32766,586,599,-32766,-32766,589,-32766,690,558,-32766,390,197,683,919,86,520,522,-32766,524,833,834,529,533,-32766,534,537,541,835,48,111,112,113,114,115,116,117,118,119,120,121,127,31,633,337,330,634,585,-32766,32,291,337,330,478,373,374,917,291,891,889,875,373,374,553,613,378,379,737,739,887,553,613,378,379,824,451,675,839,840,841,842,836,837,320,895,277,885,23,33,843,838,556,277,337,330,-32766,34,-32766,555,291,36,37,38,373,374,39,45,50,81,82,83,84,553,613,378,379,-32767,-32767,-32767,-32767,103,104,105,106,107,337,85,131,137,337,138,198,224,225,277,373,374,-332,230,373,374,24,337,231,573,613,378,379,573,613,378,379,373,374,235,248,249,250,337,251,0,573,613,378,379,276,329,331,373,374,-32766,337,574,490,792,337,609,573,613,378,379,373,374,25,300,373,374,319,337,795,573,613,378,379,573,613,378,379,373,374,516,355,359,445,482,796,507,573,613,378,379,508,548,337,890,775,791,337,604,803,808,806,698,373,374,888,807,373,374,-32766,-32766,-32766,573,613,378,379,573,613,378,379,873,832,804,872,851,-32766,809,-32766,-32766,-32766,-32766,805,20,26,29,298,480,515,770,778,827,457,0,900,455,774,0,0,0,874,870,886,823,915,852,869,488,0,391,793,0,338,0,0,0,340,0,273],r.Parser.prototype.yycheck=[2,3,4,5,6,8,9,10,70,11,104,105,106,107,108,109,8,9,10,8,9,24,60,26,27,28,29,30,31,32,33,34,24,7,26,27,28,29,30,41,42,7,123,124,7,47,70,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,144,0,75,68,69,70,25,72,70,74,7,76,77,78,79,7,81,142,83,70,85,72,73,88,8,9,10,92,93,94,95,7,97,98,95,100,7,7,103,104,24,142,26,27,105,106,111,112,113,136,7,7,139,114,115,116,117,122,123,132,125,126,127,128,129,130,131,8,8,9,10,136,137,138,139,140,141,25,143,141,145,142,147,148,24,72,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,144,48,72,44,45,46,30,48,144,64,72,8,9,10,140,70,8,9,10,74,60,25,77,78,79,60,81,24,83,26,85,60,24,88,26,27,28,92,93,94,64,140,97,98,70,100,70,72,103,104,74,145,7,77,78,79,111,81,7,83,30,85,140,140,88,8,9,10,92,93,94,133,134,97,98,145,100,140,7,103,104,24,139,96,141,140,141,111,101,75,75,30,70,75,64,70,60,110,121,12,70,141,25,143,74,96,141,77,78,79,101,81,141,83,140,85,140,141,88,110,145,144,92,93,94,64,7,97,98,142,100,70,141,103,104,74,145,141,77,78,79,111,81,7,83,30,85,132,25,88,132,142,12,92,93,94,120,60,97,98,12,100,148,141,103,104,141,12,96,12,140,141,111,101,8,9,10,141,25,64,90,91,110,65,66,70,41,42,43,74,65,66,77,78,79,12,81,25,83,25,85,140,141,88,123,124,25,92,93,94,64,25,97,98,142,100,70,120,103,104,74,25,25,77,78,79,111,81,30,83,48,85,140,141,88,140,141,30,92,93,94,140,141,97,98,60,100,60,60,103,104,61,72,75,70,140,141,111,67,70,87,99,70,70,64,70,72,102,89,70,70,71,70,70,74,70,70,77,78,79,70,81,70,83,70,85,140,141,88,70,144,70,92,93,94,64,70,97,98,72,100,70,72,103,104,74,72,72,77,78,79,111,81,75,83,75,85,89,86,88,79,101,118,92,93,94,87,95,97,98,87,100,87,87,103,104,118,105,106,95,140,141,111,95,115,64,114,115,116,117,135,70,115,120,132,74,120,140,77,78,79,119,81,139,83,140,85,120,-1,88,120,140,141,92,93,94,64,121,97,98,121,100,70,122,103,104,74,135,135,77,78,79,111,81,139,83,139,85,135,135,88,135,135,135,92,93,94,142,95,97,98,140,100,140,140,103,104,140,105,106,140,140,141,111,140,140,64,114,115,116,117,140,70,140,140,140,74,140,140,77,78,79,140,81,140,83,140,85,41,42,88,140,140,141,92,93,94,140,140,97,98,140,100,140,140,103,104,60,140,142,141,141,141,111,141,68,69,141,141,72,141,141,141,76,12,13,14,15,16,17,18,19,20,21,22,23,141,143,142,95,96,142,140,141,143,101,95,96,142,105,106,142,101,142,142,142,105,106,114,115,116,117,50,51,142,114,115,116,117,142,123,142,125,126,127,128,129,130,131,142,136,142,144,143,137,138,142,136,95,96,143,143,145,142,101,143,143,143,105,106,143,143,143,143,143,143,143,114,115,116,117,35,36,37,38,39,40,41,42,43,95,143,143,143,95,143,143,143,143,136,105,106,120,143,105,106,144,95,143,114,115,116,117,114,115,116,117,105,106,143,143,143,143,95,143,-1,114,115,116,117,143,143,143,105,106,143,95,142,80,146,95,142,114,115,116,117,105,106,144,144,105,106,144,95,142,114,115,116,117,114,115,116,117,105,106,82,144,144,144,144,142,84,114,115,116,117,144,70,95,72,144,144,95,142,144,146,144,142,105,106,146,144,105,106,8,9,10,114,115,116,117,114,115,116,117,144,144,144,144,144,24,104,26,27,28,29,144,144,144,144,144,144,144,144,144,144,144,-1,144,144,144,-1,-1,-1,146,146,146,146,146,146,146,146,-1,136,147,-1,139,-1,-1,-1,143,-1,145],r.Parser.prototype.yybase=[0,574,581,623,655,2,718,402,747,659,672,688,743,701,705,483,483,483,483,483,351,356,366,366,367,366,344,-2,-2,-2,200,200,231,231,231,231,231,231,231,231,200,231,451,482,532,316,370,115,146,285,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,44,474,429,476,481,487,488,739,740,741,734,733,416,736,539,541,342,542,543,552,557,559,536,567,737,755,569,735,738,123,123,123,123,123,123,123,123,123,122,11,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,227,227,173,577,577,577,577,577,577,577,577,577,577,577,79,178,846,8,-3,-3,-3,-3,642,706,706,706,706,157,179,242,431,431,360,431,525,368,767,767,767,767,767,767,767,767,767,767,767,767,350,375,315,315,652,652,-81,-81,-81,-81,251,185,188,184,-62,348,195,195,195,408,392,410,1,192,129,129,129,-24,-24,-24,-24,499,-24,-24,-24,113,108,108,12,161,349,526,271,398,529,438,130,206,265,427,76,414,427,288,295,76,166,44,262,422,141,491,372,494,413,71,92,93,267,135,100,34,415,745,746,742,-38,420,-10,135,147,744,498,107,26,493,144,377,363,369,332,363,400,377,588,377,376,377,360,37,582,376,377,374,376,388,363,364,412,369,377,441,443,390,106,332,377,390,377,400,64,590,591,323,592,589,593,649,608,362,500,399,407,620,625,636,365,354,614,524,425,359,355,423,570,578,357,406,414,394,352,403,531,433,403,653,434,385,417,411,444,310,318,501,425,668,757,380,637,684,403,609,387,87,325,638,382,403,639,403,696,503,615,403,697,384,435,425,352,352,352,700,66,699,583,702,707,704,748,721,749,584,750,358,583,722,751,682,215,613,422,436,389,447,221,257,752,403,403,506,499,403,395,685,397,426,753,392,391,647,683,403,418,754,221,723,587,724,450,568,507,648,509,327,725,353,497,610,454,622,455,461,404,510,373,732,612,247,361,664,463,405,692,641,464,465,511,343,437,335,409,396,665,293,467,468,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,0,0,0,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,0,0,0,0,0,0,0,0,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,767,767,767,767,767,767,767,767,767,767,767,123,123,123,123,123,123,123,123,0,129,129,129,129,-94,-94,-94,767,767,767,767,767,767,0,0,0,0,0,0,0,0,0,0,0,0,-94,-94,129,129,767,767,-24,-24,-24,-24,-24,108,108,108,-24,108,145,145,145,108,108,108,100,100,0,0,0,0,0,0,0,145,0,0,0,376,0,0,0,145,260,260,221,260,260,135,0,0,425,376,0,364,376,0,0,0,0,0,0,531,0,87,637,241,425,0,0,0,0,0,0,0,425,289,289,306,0,358,0,0,0,306,241,0,0,221],r.Parser.prototype.yydefault=[3,32767,32767,1,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,104,96,110,95,106,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,358,358,122,122,122,122,122,122,122,122,316,32767,32767,32767,32767,32767,32767,32767,32767,32767,173,173,173,32767,348,348,348,348,348,348,348,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,363,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,232,233,235,236,172,125,349,362,171,199,201,250,200,177,182,183,184,185,186,187,188,189,190,191,192,176,229,228,197,313,313,316,32767,32767,32767,32767,32767,32767,32767,32767,198,202,204,203,219,220,217,218,175,221,222,223,224,157,157,157,357,357,32767,357,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,158,32767,211,212,276,276,117,117,117,117,117,32767,32767,32767,32767,284,32767,32767,32767,32767,32767,286,32767,32767,206,207,205,32767,32767,32767,32767,32767,32767,32767,32767,32767,285,32767,32767,32767,32767,32767,32767,32767,32767,334,321,272,32767,32767,32767,265,32767,107,109,32767,32767,32767,32767,302,339,32767,32767,32767,17,32767,32767,32767,370,334,32767,32767,19,32767,32767,32767,32767,227,32767,338,332,32767,32767,32767,32767,32767,32767,63,32767,32767,32767,32767,32767,63,281,63,32767,63,32767,315,287,32767,63,74,32767,72,32767,32767,76,32767,63,93,93,254,315,54,63,254,63,32767,32767,32767,32767,4,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,267,32767,323,32767,337,336,324,32767,265,32767,215,194,266,32767,196,32767,32767,270,273,32767,32767,32767,134,32767,268,180,32767,32767,32767,32767,365,32767,32767,174,32767,32767,32767,130,32767,61,332,32767,32767,355,32767,32767,332,269,208,209,210,32767,121,32767,310,32767,32767,32767,32767,32767,32767,327,32767,333,32767,32767,32767,32767,111,32767,302,32767,32767,32767,75,32767,32767,178,126,32767,32767,364,32767,32767,32767,320,32767,32767,32767,32767,32767,62,32767,32767,77,32767,32767,32767,32767,332,32767,32767,32767,115,32767,169,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,332,32767,32767,32767,32767,32767,32767,32767,4,32767,151,32767,32767,32767,32767,32767,32767,32767,25,25,3,137,3,137,25,101,25,25,137,93,93,25,25,25,144,25,25,25,25,25,25,25,25],r.Parser.prototype.yygoto=[141,141,173,173,173,173,173,173,173,173,141,173,142,143,144,148,153,155,181,175,172,172,172,172,174,174,174,174,174,174,174,168,169,170,171,179,757,758,392,760,781,782,783,784,785,786,787,789,725,145,146,147,149,150,151,152,154,177,178,180,196,208,209,210,211,212,213,214,215,217,218,219,220,244,245,266,267,268,430,431,432,182,183,184,185,186,187,188,189,190,191,192,156,157,158,159,176,160,194,161,162,163,164,195,165,193,139,166,167,452,452,452,452,452,452,452,452,452,452,452,453,453,453,453,453,453,453,453,453,453,453,551,551,551,464,491,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,407,552,552,552,810,810,662,662,662,662,662,594,283,595,510,399,399,567,679,632,849,850,863,660,714,426,222,622,622,622,622,223,617,623,494,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,465,472,514,904,398,398,425,425,459,425,419,322,421,421,393,396,412,422,428,460,463,473,481,501,5,476,284,327,1,15,2,6,7,550,550,550,8,9,10,668,16,11,17,12,18,13,19,14,704,328,881,881,643,628,626,626,624,626,526,401,652,647,847,847,847,847,847,847,847,847,847,847,847,437,438,441,447,477,479,497,290,910,910,400,400,486,880,880,263,913,910,303,255,723,306,822,821,306,896,896,896,861,304,323,410,913,913,897,316,420,769,658,559,879,671,536,324,466,565,311,311,311,801,241,676,496,439,440,442,444,448,475,631,858,311,285,286,603,495,712,0,406,321,0,0,0,314,0,0,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411],r.Parser.prototype.yygcheck=[15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,35,35,35,35,35,35,35,35,35,35,35,86,86,86,86,86,86,86,86,86,86,86,6,6,6,21,21,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,71,7,7,7,35,35,35,35,35,35,35,29,44,29,35,86,86,12,12,12,12,12,12,12,12,75,40,35,35,35,35,40,35,35,35,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,36,36,36,104,82,82,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,13,42,42,42,2,13,2,13,13,5,5,5,13,13,13,54,13,13,13,13,13,13,13,13,67,67,83,83,5,5,5,5,5,5,5,5,5,5,93,93,93,93,93,93,93,93,93,93,93,52,52,52,52,52,52,52,4,105,105,89,89,94,84,84,92,105,105,26,92,71,4,91,91,4,84,84,84,97,30,70,30,105,105,102,27,30,72,50,10,84,55,46,9,30,11,90,90,90,80,30,56,30,85,85,85,85,85,85,43,96,90,44,44,34,77,69,-1,4,90,-1,-1,-1,4,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,71],r.Parser.prototype.yygbase=[0,0,-286,0,10,239,130,154,0,-10,25,-23,-29,-289,0,-30,0,0,0,0,0,83,0,0,0,0,245,84,-11,142,-28,0,0,0,-13,-88,-42,0,0,0,-344,0,-38,-12,-188,0,23,0,0,0,66,0,247,0,205,24,-18,0,0,0,0,0,0,0,0,0,0,13,0,-15,85,74,70,0,0,148,0,-14,0,0,-6,0,-35,11,47,278,-77,0,0,44,68,43,38,72,94,0,-16,109,0,0,0,0,87,0,170,34,0],r.Parser.prototype.yygdefault=[-32768,362,3,546,382,570,571,572,307,305,560,566,467,4,568,140,295,575,296,500,577,414,579,580,308,309,415,315,216,593,503,313,596,357,602,301,449,383,350,461,221,423,456,630,282,638,540,646,649,450,657,352,433,434,667,672,677,680,334,325,474,684,685,256,689,511,512,703,242,711,317,724,342,788,790,397,408,484,797,326,800,384,385,386,387,435,818,815,289,866,287,443,254,853,468,356,903,862,288,388,389,302,898,341,905,912,458],r.Parser.prototype.yylhs=[0,1,2,2,4,4,3,3,3,3,3,3,3,3,3,8,8,10,10,10,10,9,9,11,13,13,14,14,14,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,33,33,34,27,27,30,30,6,7,7,7,37,37,37,38,38,41,41,39,39,42,42,22,22,29,29,32,32,31,31,43,23,23,23,23,44,44,45,45,46,46,20,20,16,16,47,18,18,48,17,17,19,19,36,36,49,49,50,50,51,51,51,51,52,52,53,53,54,54,24,24,55,55,55,25,25,56,56,40,40,57,57,57,57,62,62,63,63,64,64,64,64,65,66,66,61,61,58,58,60,60,68,68,67,67,67,67,67,67,59,59,69,69,26,26,21,21,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,71,77,77,79,79,80,81,81,81,81,81,81,86,86,35,35,35,72,72,87,87,82,82,88,88,88,88,88,73,73,73,76,76,76,78,78,93,93,93,93,93,93,93,93,93,93,93,93,93,93,12,12,12,12,12,12,74,74,74,74,94,94,96,96,95,95,97,97,28,28,28,28,99,99,98,98,98,98,98,100,100,84,84,89,89,83,83,101,101,101,101,90,90,90,90,85,85,91,91,91,70,70,102,102,102,75,75,103,103,104,104,104,104,92,92,92,92,105,105,105,105,105,105,105,106,106,106],r.Parser.prototype.yylen=[1,1,2,0,1,3,1,1,1,1,3,5,4,3,3,3,1,1,3,2,4,3,1,3,2,0,1,1,1,1,3,7,10,5,7,9,5,2,3,2,3,2,3,3,3,3,1,2,5,7,8,10,5,1,5,3,3,2,1,2,8,1,3,0,1,9,7,6,5,1,2,2,0,2,0,2,0,2,1,3,1,4,1,4,1,4,1,3,3,3,4,4,5,0,2,4,3,1,1,1,4,0,2,5,0,2,6,0,2,0,3,1,0,1,3,3,5,0,1,1,1,1,0,1,3,1,2,3,1,1,2,4,3,1,1,3,2,0,3,3,8,3,1,3,0,2,4,5,4,4,3,1,1,1,3,1,1,0,1,1,2,1,1,1,1,1,1,1,3,1,3,3,1,0,1,1,6,3,4,4,1,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,5,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,2,1,4,3,3,2,9,10,3,0,4,1,3,2,4,6,8,4,4,4,1,1,1,2,3,1,1,1,1,1,1,0,3,3,4,4,0,2,3,0,1,1,0,3,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,3,2,2,4,3,1,3,3,3,0,2,0,1,3,1,3,1,1,1,1,1,6,4,3,6,4,4,4,1,3,1,2,1,1,4,1,3,6,4,4,4,4,1,4,0,1,1,3,1,3,1,1,4,0,0,2,3,1,3,1,4,2,2,2,1,2,1,4,3,3,3,6,3,1,1,1],r.Parser.prototype.yyn0=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn1=function(e){this.yyval=this.Stmt_Namespace_postprocess(this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn2=function(e){Array.isArray(this.yyastk[this.stackPos-0])?this.yyval=this.yyastk[this.stackPos-1].concat(this.yyastk[this.stackPos-0]):(this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1])},r.Parser.prototype.yyn3=function(e){this.yyval=[]},r.Parser.prototype.yyn4=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn5=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn6=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn7=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn8=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn9=function(e){this.yyval=this.Node_Stmt_HaltCompiler(e)},r.Parser.prototype.yyn10=function(e){this.yyval=this.Node_Stmt_Namespace(this.Node_Name(this.yyastk[this.stackPos-1],e),null,e)},r.Parser.prototype.yyn11=function(e){this.yyval=this.Node_Stmt_Namespace(this.Node_Name(this.yyastk[this.stackPos-3],e),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn12=function(e){this.yyval=this.Node_Stmt_Namespace(null,this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn13=function(e){this.yyval=this.Node_Stmt_Use(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn14=function(e){this.yyval=this.Node_Stmt_Const(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn15=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn16=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn17=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-0],e),null,e)},r.Parser.prototype.yyn18=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-2],e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn19=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-0],e),null,e)},r.Parser.prototype.yyn20=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-2],e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn21=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn22=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn23=function(e){this.yyval=this.Node_Const(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn24=function(e){Array.isArray(this.yyastk[this.stackPos-0])?this.yyval=this.yyastk[this.stackPos-1].concat(this.yyastk[this.stackPos-0]):(this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1])},r.Parser.prototype.yyn25=function(e){this.yyval=[]},r.Parser.prototype.yyn26=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn27=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn28=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn29=function(e){throw new Error("__halt_compiler() can only be used from the outermost scope")},r.Parser.prototype.yyn30=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn31=function(e){this.yyval=this.Node_Stmt_If(this.yyastk[this.stackPos-4],{stmts:Array.isArray(this.yyastk[this.stackPos-2])?this.yyastk[this.stackPos-2]:[this.yyastk[this.stackPos-2]],elseifs:this.yyastk[this.stackPos-1],Else:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn32=function(e){this.yyval=this.Node_Stmt_If(this.yyastk[this.stackPos-7],{stmts:this.yyastk[this.stackPos-4],elseifs:this.yyastk[this.stackPos-3],"else":this.yyastk[this.stackPos-2]},e)},r.Parser.prototype.yyn33=function(e){this.yyval=this.Node_Stmt_While(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn34=function(e){this.yyval=this.Node_Stmt_Do(this.yyastk[this.stackPos-2],Array.isArray(this.yyastk[this.stackPos-5])?this.yyastk[this.stackPos-5]:[this.yyastk[this.stackPos-5]],e)},r.Parser.prototype.yyn35=function(e){this.yyval=this.Node_Stmt_For({init:this.yyastk[this.stackPos-6],cond:this.yyastk[this.stackPos-4],loop:this.yyastk[this.stackPos-2],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn36=function(e){this.yyval=this.Node_Stmt_Switch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn37=function(e){this.yyval=this.Node_Stmt_Break(null,e)},r.Parser.prototype.yyn38=function(e){this.yyval=this.Node_Stmt_Break(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn39=function(e){this.yyval=this.Node_Stmt_Continue(null,e)},r.Parser.prototype.yyn40=function(e){this.yyval=this.Node_Stmt_Continue(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn41=function(e){this.yyval=this.Node_Stmt_Return(null,e)},r.Parser.prototype.yyn42=function(e){this.yyval=this.Node_Stmt_Return(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn43=function(e){this.yyval=this.Node_Stmt_Global(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn44=function(e){this.yyval=this.Node_Stmt_Static(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn45=function(e){this.yyval=this.Node_Stmt_Echo(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn46=function(e){this.yyval=this.Node_Stmt_InlineHTML(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn47=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn48=function(e){this.yyval=this.Node_Stmt_Unset(this.yyastk[this.stackPos-2],e)},r.Parser.prototype.yyn49=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-2],{keyVar:null,byRef:!1,stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn50=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-2],{keyVar:null,byRef:!0,stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn51=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-7],this.yyastk[this.stackPos-2],{keyVar:this.yyastk[this.stackPos-5],byRef:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn52=function(e){this.yyval=this.Node_Stmt_Declare(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn53=function(e){this.yyval=[]},r.Parser.prototype.yyn54=function(e){this.yyval=this.Node_Stmt_TryCatch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn55=function(e){this.yyval=this.Node_Stmt_Throw(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn56=function(e){this.yyval=this.Node_Stmt_Goto(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn57=function(e){this.yyval=this.Node_Stmt_Label(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn58=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn59=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn60=function(e){this.yyval=this.Node_Stmt_Catch(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-4].substring(1),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn61=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn62=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn63=function(e){this.yyval=!1},r.Parser.prototype.yyn64=function(e){this.yyval=!0},r.Parser.prototype.yyn65=function(e){this.yyval=this.Node_Stmt_Function(this.yyastk[this.stackPos-6],{byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-4],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn66=function(e){this.yyval=this.Node_Stmt_Class(this.yyastk[this.stackPos-5],{type:this.yyastk[this.stackPos-6],Extends:this.yyastk[this.stackPos-4],Implements:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn67=function(e){this.yyval=this.Node_Stmt_Interface(this.yyastk[this.stackPos-4],{Extends:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn68=function(e){this.yyval=this.Node_Stmt_Trait(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn69=function(e){this.yyval=0},r.Parser.prototype.yyn70=function(e){this.yyval=this.MODIFIER_ABSTRACT},r.Parser.prototype.yyn71=function(e){this.yyval=this.MODIFIER_FINAL},r.Parser.prototype.yyn72=function(e){this.yyval=null},r.Parser.prototype.yyn73=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn74=function(e){this.yyval=[]},r.Parser.prototype.yyn75=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn76=function(e){this.yyval=[]},r.Parser.prototype.yyn77=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn78=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn79=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn80=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn81=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn82=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn83=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn84=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn85=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn86=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn87=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn88=function(e){this.yyval=this.Node_Stmt_DeclareDeclare(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn89=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn90=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn91=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn92=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn93=function(e){this.yyval=[]},r.Parser.prototype.yyn94=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn95=function(e){this.yyval=this.Node_Stmt_Case(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn96=function(e){this.yyval=this.Node_Stmt_Case(null,this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn97=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn98=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn99=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn100=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn101=function(e){this.yyval=[]},r.Parser.prototype.yyn102=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn103=function(e){this.yyval=this.Node_Stmt_ElseIf(this.yyastk[this.stackPos-2],Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]],e)},r.Parser.prototype.yyn104=function(e){this.yyval=[]},r.Parser.prototype.yyn105=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn106=function(e){this.yyval=this.Node_Stmt_ElseIf(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn107=function(e){this.yyval=null},r.Parser.prototype.yyn108=function(e){this.yyval=this.Node_Stmt_Else(Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]],e)},r.Parser.prototype.yyn109=function(e){this.yyval=null},r.Parser.prototype.yyn110=function(e){this.yyval=this.Node_Stmt_Else(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn111=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn112=function(e){this.yyval=[]},r.Parser.prototype.yyn113=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn114=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn115=function(e){this.yyval=this.Node_Param(this.yyastk[this.stackPos-0].substring(1),null,this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn116=function(e){this.yyval=this.Node_Param(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-3],e)},r.Parser.prototype.yyn117=function(e){this.yyval=null},r.Parser.prototype.yyn118=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn119=function(e){this.yyval="array"},r.Parser.prototype.yyn120=function(e){this.yyval="callable"},r.Parser.prototype.yyn121=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn122=function(e){this.yyval=[]},r.Parser.prototype.yyn123=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn124=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn125=function(e){this.yyval=this.Node_Arg(this.yyastk[this.stackPos-0],!1,e)},r.Parser.prototype.yyn126=function(e){this.yyval=this.Node_Arg(this.yyastk[this.stackPos-0],!0,e)},r.Parser.prototype.yyn127=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn128=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn129=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn130=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn131=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn132=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn133=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn134=function(e){this.yyval=this.Node_Stmt_StaticVar(this.yyastk[this.stackPos-0].substring(1),null,e)},r.Parser.prototype.yyn135=function(e){this.yyval=this.Node_Stmt_StaticVar(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn136=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn137=function(e){this.yyval=[]},r.Parser.prototype.yyn138=function(e){this.yyval=this.Node_Stmt_Property(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn139=function(e){this.yyval=this.Node_Stmt_ClassConst(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn140=function(e){this.yyval=this.Node_Stmt_ClassMethod(this.yyastk[this.stackPos-4],{type:this.yyastk[this.stackPos-7],byRef:this.yyastk[this.stackPos-5],params:this.yyastk[this.stackPos-2],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn141=function(e){this.yyval=this.Node_Stmt_TraitUse(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn142=function(e){this.yyval=[]},r.Parser.prototype.yyn143=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn144=function(e){this.yyval=[]},r.Parser.prototype.yyn145=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn146=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Precedence(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn147=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-4][0],this.yyastk[this.stackPos-4][1],this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn148=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],this.yyastk[this.stackPos-1],null,e)},r.Parser.prototype.yyn149=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],null,this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn150=function(e){this.yyval=array(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn151=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn152=function(e){this.yyval=array(null,this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn153=function(e){this.yyval=null},r.Parser.prototype.yyn154=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn155=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn156=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn157=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn158=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn159=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn160=function(e){this.Stmt_Class_verifyModifier(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]|this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn161=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn162=function(e){this.yyval=this.MODIFIER_PROTECTED},r.Parser.prototype.yyn163=function(e){this.yyval=this.MODIFIER_PRIVATE},r.Parser.prototype.yyn164=function(e){this.yyval=this.MODIFIER_STATIC},r.Parser.prototype.yyn165=function(e){this.yyval=this.MODIFIER_ABSTRACT},r.Parser.prototype.yyn166=function(e){this.yyval=this.MODIFIER_FINAL},r.Parser.prototype.yyn167=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn168=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn169=function(e){this.yyval=this.Node_Stmt_PropertyProperty(this.yyastk[this.stackPos-0].substring(1),null,e)},r.Parser.prototype.yyn170=function(e){this.yyval=this.Node_Stmt_PropertyProperty(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn171=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn172=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn173=function(e){this.yyval=[]},r.Parser.prototype.yyn174=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn175=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn176=function(e){this.yyval=this.Node_Expr_AssignList(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn177=function(e){this.yyval=this.Node_Expr_Assign(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn178=function(e){this.yyval=this.Node_Expr_AssignRef(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn179=function(e){this.yyval=this.Node_Expr_AssignRef(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn180=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn181=function(e){this.yyval=this.Node_Expr_Clone(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn182=function(e){this.yyval=this.Node_Expr_AssignPlus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn183=function(e){this.yyval=this.Node_Expr_AssignMinus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn184=function(e){this.yyval=this.Node_Expr_AssignMul(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn185=function(e){this.yyval=this.Node_Expr_AssignDiv(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn186=function(e){this.yyval=this.Node_Expr_AssignConcat(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn187=function(e){this.yyval=this.Node_Expr_AssignMod(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn188=function(e){this.yyval=this.Node_Expr_AssignBitwiseAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn189=function(e){this.yyval=this.Node_Expr_AssignBitwiseOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn190=function(e){this.yyval=this.Node_Expr_AssignBitwiseXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn191=function(e){this.yyval=this.Node_Expr_AssignShiftLeft(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn192=function(e){this.yyval=this.Node_Expr_AssignShiftRight(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn193=function(e){this.yyval=this.Node_Expr_PostInc(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn194=function(e){this.yyval=this.Node_Expr_PreInc(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn195=function(e){this.yyval=this.Node_Expr_PostDec(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn196=function(e){this.yyval=this.Node_Expr_PreDec(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn197=function(e){this.yyval=this.Node_Expr_BooleanOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn198=function(e){this.yyval=this.Node_Expr_BooleanAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn199=function(e){this.yyval=this.Node_Expr_LogicalOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn200=function(e){this.yyval=this.Node_Expr_LogicalAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn201=function(e){this.yyval=this.Node_Expr_LogicalXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn202=function(e){this.yyval=this.Node_Expr_BitwiseOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn203=function(e){this.yyval=this.Node_Expr_BitwiseAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn204=function(e){this.yyval=this.Node_Expr_BitwiseXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn205=function(e){this.yyval=this.Node_Expr_Concat(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn206=function(e){this.yyval=this.Node_Expr_Plus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn207=function(e){this.yyval=this.Node_Expr_Minus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn208=function(e){this.yyval=this.Node_Expr_Mul(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn209=function(e){this.yyval=this.Node_Expr_Div(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn210=function(e){this.yyval=this.Node_Expr_Mod(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn211=function(e){this.yyval=this.Node_Expr_ShiftLeft(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn212=function(e){this.yyval=this.Node_Expr_ShiftRight(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn213=function(e){this.yyval=this.Node_Expr_UnaryPlus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn214=function(e){this.yyval=this.Node_Expr_UnaryMinus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn215=function(e){this.yyval=this.Node_Expr_BooleanNot(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn216=function(e){this.yyval=this.Node_Expr_BitwiseNot(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn217=function(e){this.yyval=this.Node_Expr_Identical(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn218=function(e){this.yyval=this.Node_Expr_NotIdentical(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn219=function(e){this.yyval=this.Node_Expr_Equal(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn220=function(e){this.yyval=this.Node_Expr_NotEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn221=function(e){this.yyval=this.Node_Expr_Smaller(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn222=function(e){this.yyval=this.Node_Expr_SmallerOrEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn223=function(e){this.yyval=this.Node_Expr_Greater(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn224=function(e){this.yyval=this.Node_Expr_GreaterOrEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn225=function(e){this.yyval=this.Node_Expr_Instanceof(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn226=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn227=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn228=function(e){this.yyval=this.Node_Expr_Ternary(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn229=function(e){this.yyval=this.Node_Expr_Ternary(this.yyastk[this.stackPos-3],null,this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn230=function(e){this.yyval=this.Node_Expr_Isset(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn231=function(e){this.yyval=this.Node_Expr_Empty(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn232=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_Include",e)},r.Parser.prototype.yyn233=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_IncludeOnce",e)},r.Parser.prototype.yyn234=function(e){this.yyval=this.Node_Expr_Eval(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn235=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_Require",e)},r.Parser.prototype.yyn236=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_RequireOnce",e)},r.Parser.prototype.yyn237=function(e){this.yyval=this.Node_Expr_Cast_Int(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn238=function(e){this.yyval=this.Node_Expr_Cast_Double(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn239=function(e){this.yyval=this.Node_Expr_Cast_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn240=function(e){this.yyval=this.Node_Expr_Cast_Array(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn241=function(e){this.yyval=this.Node_Expr_Cast_Object(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn242=function(e){this.yyval=this.Node_Expr_Cast_Bool(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn243=function(e){this.yyval=this.Node_Expr_Cast_Unset(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn244=function(e){this.yyval=this.Node_Expr_Exit(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn245=function(e){this.yyval=this.Node_Expr_ErrorSuppress(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn246=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn247=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn248=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn249=function(e){this.yyval=this.Node_Expr_ShellExec(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn250=function(e){this.yyval=this.Node_Expr_Print(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn251=function(e){this.yyval=this.Node_Expr_Closure({"static":!1,byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-5],uses:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn252=function(e){this.yyval=this.Node_Expr_Closure({"static":!0,byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-5],uses:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn253=function(e){this.yyval=this.Node_Expr_New(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn254=function(e){this.yyval=[]},r.Parser.prototype.yyn255=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn256=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn257=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn258=function(e){this.yyval=this.Node_Expr_ClosureUse(this.yyastk[this.stackPos-0].substring(1),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn259=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn260=function(e){this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn261=function(e){this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-7],this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn262=function(e){if(this.yyastk[this.stackPos-3].type==="Node_Expr_StaticPropertyFetch")this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-3].Class,this.Node_Expr_Variable(this.yyastk[this.stackPos-3].name,e),this.yyastk[this.stackPos-1],e);else{if(this.yyastk[this.stackPos-3].type!=="Node_Expr_ArrayDimFetch")throw new Exception;var t=this.yyastk[this.stackPos-3];while(t.variable.type==="Node_Expr_ArrayDimFetch")t=t.variable;this.yyval=this.Node_Expr_StaticCall(t.variable.Class,this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e),t.variable=this.Node_Expr_Variable(t.variable.name,e)}},r.Parser.prototype.yyn263=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn264=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn265=function(e){this.yyval=this.Node_Name("static",e)},r.Parser.prototype.yyn266=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn267=function(e){this.yyval=this.Node_Name(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn268=function(e){this.yyval=this.Node_Name_FullyQualified(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn269=function(e){this.yyval=this.Node_Name_Relative(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn270=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn271=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn272=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn273=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn274=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn275=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn276=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn277=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn278=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn279=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn280=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn281=function(e){this.yyval=null},r.Parser.prototype.yyn282=function(e){this.yyval=null},r.Parser.prototype.yyn283=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn284=function(e){this.yyval=[]},r.Parser.prototype.yyn285=function(e){this.yyval=[this.Scalar_String_parseEscapeSequences(this.yyastk[this.stackPos-0],"`")]},r.Parser.prototype.yyn286=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn287=function(e){this.yyval=[]},r.Parser.prototype.yyn288=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn289=function(e){this.yyval=this.Node_Scalar_LNumber(this.Scalar_LNumber_parse(this.yyastk[this.stackPos-0]),e)},r.Parser.prototype.yyn290=function(e){this.yyval=this.Node_Scalar_DNumber(this.Scalar_DNumber_parse(this.yyastk[this.stackPos-0]),e)},r.Parser.prototype.yyn291=function(e){this.yyval=this.Scalar_String_create(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn292=function(e){this.yyval={type:"Node_Scalar_LineConst",attributes:e}},r.Parser.prototype.yyn293=function(e){this.yyval={type:"Node_Scalar_FileConst",attributes:e}},r.Parser.prototype.yyn294=function(e){this.yyval={type:"Node_Scalar_DirConst",attributes:e}},r.Parser.prototype.yyn295=function(e){this.yyval={type:"Node_Scalar_ClassConst",attributes:e}},r.Parser.prototype.yyn296=function(e){this.yyval={type:"Node_Scalar_TraitConst",attributes:e}},r.Parser.prototype.yyn297=function(e){this.yyval={type:"Node_Scalar_MethodConst",attributes:e}},r.Parser.prototype.yyn298=function(e){this.yyval={type:"Node_Scalar_FuncConst",attributes:e}},r.Parser.prototype.yyn299=function(e){this.yyval={type:"Node_Scalar_NSConst",attributes:e}},r.Parser.prototype.yyn300=function(e){this.yyval=this.Node_Scalar_String(this.Scalar_String_parseDocString(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1]),e)},r.Parser.prototype.yyn301=function(e){this.yyval=this.Node_Scalar_String("",e)},r.Parser.prototype.yyn302=function(e){this.yyval=this.Node_Expr_ConstFetch(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn303=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn304=function(e){this.yyval=this.Node_Expr_ClassConstFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn305=function(e){this.yyval=this.Node_Expr_UnaryPlus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn306=function(e){this.yyval=this.Node_Expr_UnaryMinus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn307=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn308=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn309=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn310=function(e){this.yyval=this.Node_Expr_ClassConstFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn311=function(e){this.yyval=this.Node_Scalar_Encapsed(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn312=function(e){this.yyval=this.Node_Scalar_Encapsed(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn313=function(e){this.yyval=[]},r.Parser.prototype.yyn314=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn315=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn316=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn317=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn318=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn319=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-2],!1,e)},r.Parser.prototype.yyn320=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!1,e)},r.Parser.prototype.yyn321=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn322=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn323=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn324=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn325=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn326=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn327=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn328=function(e){this.yyval=this.Node_Expr_MethodCall(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn329=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn330=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn331=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn332=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn333=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn334=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn335=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn336=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn337=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn338=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn339=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn340=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn341=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn342=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn343=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn344=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn345=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn346=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn347=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn348=function(e){this.yyval=null},r.Parser.prototype.yyn349=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn350=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn351=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn352=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn353=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn354=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn355=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn356=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn357=function(e){this.yyval=null},r.Parser.prototype.yyn358=function(e){this.yyval=[]},r.Parser.prototype.yyn359=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn360=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn361=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn362=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-2],!1,e)},r.Parser.prototype.yyn363=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!1,e)},r.Parser.prototype.yyn364=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-3],!0,e)},r.Parser.prototype.yyn365=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!0,e)},r.Parser.prototype.yyn366=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn367=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn368=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn369=function(e){this.yyval=[this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn370=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn371=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-3].substring(1),e),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn372=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-2].substring(1),e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn373=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn374=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn375=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-4],e),this.yyastk[this.stackPos-2],e)},r.Parser.prototype.yyn376=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn377=function(e){this.yyval=this.Node_Scalar_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn378=function(e){this.yyval=this.Node_Scalar_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn379=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.Stmt_Namespace_postprocess=function(e){return e},r.Parser.prototype.Node_Stmt_Echo=function(){return{type:"Node_Stmt_Echo",exprs:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_If=function(){return{type:"Node_Stmt_If",cond:arguments[0],stmts:arguments[1].stmts,elseifs:arguments[1].elseifs,Else:arguments[1].Else||null,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_For=function(){return{type:"Node_Stmt_For",init:arguments[0].init,cond:arguments[0].cond,loop:arguments[0].loop,stmts:arguments[0].stmts,attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Function=function(){return{type:"Node_Stmt_Function",name:arguments[0],byRef:arguments[1].byRef,params:arguments[1].params,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Stmt_Class_verifyModifier=function(){},r.Parser.prototype.Node_Stmt_Namespace=function(){return{type:"Node_Stmt_Namespace",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Use=function(){return{type:"Node_Stmt_Use",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_UseUse=function(){return{type:"Node_Stmt_UseUse",name:arguments[0],as:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUseAdaptation_Precedence=function(){return{type:"Node_Stmt_TraitUseAdaptation_Precedence",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUseAdaptation_Alias=function(){return{type:"Node_Stmt_TraitUseAdaptation_Alias",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Trait=function(){return{type:"Node_Stmt_Trait",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUse=function(){return{type:"Node_Stmt_TraitUse",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Class=function(){return{type:"Node_Stmt_Class",name:arguments[0],Type:arguments[1].type,Extends:arguments[1].Extends,Implements:arguments[1].Implements,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_ClassMethod=function(){return{type:"Node_Stmt_ClassMethod",name:arguments[0],Type:arguments[1].type,byRef:arguments[1].byRef,params:arguments[1].params,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_ClassConst=function(){return{type:"Node_Stmt_ClassConst",consts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Interface=function(){return{type:"Node_Stmt_Interface",name:arguments[0],Extends:arguments[1].Extends,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Throw=function(){return{type:"Node_Stmt_Throw",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Catch=function(){return{type:"Node_Stmt_Catch",Type:arguments[0],variable:arguments[1],stmts:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Stmt_TryCatch=function(){return{type:"Node_Stmt_TryCatch",stmts:arguments[0],catches:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Foreach=function(){return{type:"Node_Stmt_Foreach",expr:arguments[0],valueVar:arguments[1],keyVar:arguments[2].keyVar,byRef:arguments[2].byRef,stmts:arguments[2].stmts,attributes:arguments[3]}},r.Parser.prototype.Node_Stmt_While=function(){return{type:"Node_Stmt_While",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Do=function(){return{type:"Node_Stmt_Do",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Break=function(){return{type:"Node_Stmt_Break",num:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Continue=function(){return{type:"Node_Stmt_Continue",num:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Return=function(){return{type:"Node_Stmt_Return",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Case=function(){return{type:"Node_Stmt_Case",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Switch=function(){return{type:"Node_Stmt_Switch",cond:arguments[0],cases:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Else=function(){return{type:"Node_Stmt_Else",stmts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_ElseIf=function(){return{type:"Node_Stmt_ElseIf",cond:arguments[0],stmts:arguments[1],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_InlineHTML=function(){return{type:"Node_Stmt_InlineHTML",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_StaticVar=function(){return{type:"Node_Stmt_StaticVar",name:arguments[0],def:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Static=function(){return{type:"Node_Stmt_Static",vars:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Global=function(){return{type:"Node_Stmt_Global",vars:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_PropertyProperty=function(){return{type:"Node_Stmt_PropertyProperty",name:arguments[0],def:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Property=function(){return{type:"Node_Stmt_Property",Type:arguments[0],props:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Unset=function(){return{type:"Node_Stmt_Unset",variables:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Variable=function(e){return{type:"Node_Expr_Variable",name:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_FuncCall=function(){return{type:"Node_Expr_FuncCall",func:arguments[0],args:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_MethodCall=function(){return{type:"Node_Expr_MethodCall",variable:arguments[0],name:arguments[1],args:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_StaticCall=function(){return{type:"Node_Expr_StaticCall",Class:arguments[0],func:arguments[1],args:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_Ternary=function(){return{type:"Node_Expr_Ternary",cond:arguments[0],If:arguments[1],Else:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_AssignList=function(){return{type:"Node_Expr_AssignList",assignList:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Assign=function(){return{type:"Node_Expr_Assign",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignConcat=function(){return{type:"Node_Expr_AssignConcat",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMinus=function(){return{type:"Node_Expr_AssignMinus",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignPlus=function(){return{type:"Node_Expr_AssignPlus",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignDiv=function(){return{type:"Node_Expr_AssignDiv",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignRef=function(){return{type:"Node_Expr_AssignRef",variable:arguments[0],refVar:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMul=function(){return{type:"Node_Expr_AssignMul",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMod=function(){return{type:"Node_Expr_AssignMod",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Plus=function(){return{type:"Node_Expr_Plus",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Minus=function(){return{type:"Node_Expr_Minus",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Mul=function(){return{type:"Node_Expr_Mul",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Div=function(){return{type:"Node_Expr_Div",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Mod=function(){return{type:"Node_Expr_Mod",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Greater=function(){return{type:"Node_Expr_Greater",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Equal=function(){return{type:"Node_Expr_Equal",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_NotEqual=function(){return{type:"Node_Expr_NotEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Identical=function(){return{type:"Node_Expr_Identical",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_NotIdentical=function(){return{type:"Node_Expr_NotIdentical",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_GreaterOrEqual=function(){return{type:"Node_Expr_GreaterOrEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_SmallerOrEqual=function(){return{type:"Node_Expr_SmallerOrEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Concat=function(){return{type:"Node_Expr_Concat",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Smaller=function(){return{type:"Node_Expr_Smaller",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_PostInc=function(){return{type:"Node_Expr_PostInc",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PostDec=function(){return{type:"Node_Expr_PostDec",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PreInc=function(){return{type:"Node_Expr_PreInc",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PreDec=function(){return{type:"Node_Expr_PreDec",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Include=function(){return{expr:arguments[0],type:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ArrayDimFetch=function(){return{type:"Node_Expr_ArrayDimFetch",variable:arguments[0],dim:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_StaticPropertyFetch=function(){return{type:"Node_Expr_StaticPropertyFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ClassConstFetch=function(){return{type:"Node_Expr_ClassConstFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_StaticPropertyFetch=function(){return{type:"Node_Expr_StaticPropertyFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ConstFetch=function(){return{type:"Node_Expr_ConstFetch",name:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_ArrayItem=function(){return{type:"Node_Expr_ArrayItem",value:arguments[0],key:arguments[1],byRef:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_Array=function(){return{type:"Node_Expr_Array",items:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PropertyFetch=function(){return{type:"Node_Expr_PropertyFetch",variable:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_New=function(){return{type:"Node_Expr_New",Class:arguments[0],args:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Print=function(){return{type:"Node_Expr_Print",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Exit=function(){return{type:"Node_Expr_Exit",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Bool=function(){return{type:"Node_Expr_Cast_Bool",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Int=function(){return{type:"Node_Expr_Cast_Int",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_String=function(){return{type:"Node_Expr_Cast_String",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Double=function(){return{type:"Node_Expr_Cast_Double",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Array=function(){return{type:"Node_Expr_Cast_Array",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Object=function(){return{type:"Node_Expr_Cast_Object",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_ErrorSuppress=function(){return{type:"Node_Expr_ErrorSuppress",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Isset=function(){return{type:"Node_Expr_Isset",variables:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_UnaryMinus=function(){return{type:"Node_Expr_UnaryMinus",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_UnaryPlus=function(){return{type:"Node_Expr_UnaryPlus",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Empty=function(){return{type:"Node_Expr_Empty",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanOr=function(){return{type:"Node_Expr_BooleanOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalOr=function(){return{type:"Node_Expr_LogicalOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalAnd=function(){return{type:"Node_Expr_LogicalAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalXor=function(){return{type:"Node_Expr_LogicalXor",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseAnd=function(){return{type:"Node_Expr_BitwiseAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseOr=function(){return{type:"Node_Expr_BitwiseOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseXor=function(){return{type:"Node_Expr_BitwiseXor",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseNot=function(){return{type:"Node_Expr_BitwiseNot",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanNot=function(){return{type:"Node_Expr_BooleanNot",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanAnd=function(){return{type:"Node_Expr_BooleanAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Instanceof=function(){return{type:"Node_Expr_Instanceof",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Clone=function(){return{type:"Node_Expr_Clone",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Scalar_LNumber_parse=function(e){return e},r.Parser.prototype.Scalar_DNumber_parse=function(e){return e},r.Parser.prototype.Scalar_String_parseDocString=function(){return'"'+arguments[1].replace(/([^"\\]*(?:\\.[^"\\]*)*)"/g,'$1\\"')+'"'},r.Parser.prototype.Node_Scalar_String=function(){return{type:"Node_Scalar_String",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Scalar_String_create=function(){return{type:"Node_Scalar_String",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_LNumber=function(){return{type:"Node_Scalar_LNumber",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_DNumber=function(){return{type:"Node_Scalar_DNumber",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_Encapsed=function(){return{type:"Node_Scalar_Encapsed",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name=function(){return{type:"Node_Name",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name_FullyQualified=function(){return{type:"Node_Name_FullyQualified",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name_Relative=function(){return{type:"Node_Name_Relative",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Param=function(){return{type:"Node_Param",name:arguments[0],def:arguments[1],Type:arguments[2],byRef:arguments[3],attributes:arguments[4]}},r.Parser.prototype.Node_Arg=function(){return{type:"Node_Name",value:arguments[0],byRef:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Const=function(){return{type:"Node_Const",name:arguments[0],value:arguments[1],attributes:arguments[2]}},t.PHP=r}),ace.define("ace/mode/php_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/php/php"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./php/php").PHP,o=t.PhpWorker=function(e){i.call(this,e),this.setTimeout(500)};r.inherits(o,i),function(){this.setOptions=function(e){this.inlinePhp=e&&e.inline},this.onUpdate=function(){var e=this.doc.getValue(),t=[];this.inlinePhp&&(e="<?"+e+"?>");var n=s.Lexer(e,{short_open_tag:1});try{new s.Parser(n)}catch(r){t.push({row:r.line-1,column:null,text:r.message.charAt(0).toUpperCase()+r.message.substring(1),type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-xml.js b/library/ace/worker-xml.js
new file mode 100644
index 000000000..f6635f792
--- /dev/null
+++ b/library/ace/worker-xml.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/xml/sax",["require","exports","module"],function(e,t,n){function d(){}function v(e,t,n,r,i){function s(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function o(e){var t=e.slice(1,-1);return t in n?n[t]:t.charAt(0)==="#"?s(parseInt(t.substr(1).replace("x","0x"))):(i.error("entity not found:"+e),e)}function u(t){var n=e.substring(v,t).replace(/&#?\w+;/g,o);h&&a(v),r.characters(n,0,t-v),v=t}function a(t,n){while(t>=l&&(n=c.exec(e)))f=n.index,l=f+n[0].length,h.lineNumber++;h.columnNumber=t-f+1}var f=0,l=0,c=/.+(?:\r\n?|\n)|.*$/g,h=r.locator,p=[{currentNSMap:t}],d={},v=0;for(;;){var E=e.indexOf("<",v);if(E<0){if(!e.substr(v).match(/^\s*$/)){var N=r.document,C=N.createTextNode(e.substr(v));N.appendChild(C),r.currentElement=C}return}E>v&&u(E);switch(e.charAt(E+1)){case"/":var k=e.indexOf(">",E+3),L=e.substring(E+2,k),A;if(!(p.length>1)){i.fatalError("end tag name not found for: "+L);break}A=p.pop();var O=A.localNSMap;A.tagName!=L&&i.fatalError("end tag name: "+L+" does not match the current start tagName: "+A.tagName),r.endElement(A.uri,A.localName,L);if(O)for(var M in O)r.endPrefixMapping(M);k++;break;case"?":h&&a(E),k=x(e,E,r);break;case"!":h&&a(E),k=S(e,E,r,i);break;default:try{h&&a(E);var _=new T,k=g(e,E,_,o,i),D=_.length;if(D&&h){var P=m(h,{});for(var E=0;E<D;E++){var H=_[E];a(H.offset),H.offset=m(h,{})}m(P,h)}!_.closed&&w(e,k,_.tagName,d)&&(_.closed=!0,n.nbsp||i.warning("unclosed xml attribute")),y(_,r,p),_.uri==="http://www.w3.org/1999/xhtml"&&!_.closed?k=b(e,k,_.tagName,o,r):k++}catch(B){i.error("element parse error: "+B),k=-1}}k<0?u(E+1):v=k}}function m(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function g(e,t,n,r,i){var s,d,v=++t,m=o;for(;;){var g=e.charAt(v);switch(g){case"=":if(m===u)s=e.slice(t,v),m=f;else{if(m!==a)throw new Error("attribute equal must after attrName");m=f}break;case"'":case'"':if(m===f){t=v+1,v=e.indexOf(g,t);if(!(v>0))throw new Error("attribute value no end '"+g+"' match");d=e.slice(t,v).replace(/&#?\w+;/g,r),n.add(s,d,t-1),m=c}else{if(m!=l)throw new Error('attribute value must after "="');d=e.slice(t,v).replace(/&#?\w+;/g,r),n.add(s,d,t),i.warning('attribute "'+s+'" missed start quot('+g+")!!"),t=v+1,m=c}break;case"/":switch(m){case o:n.setTagName(e.slice(t,v));case c:case h:case p:m=p,n.closed=!0;case l:case u:case a:break;default:throw new Error("attribute invalid close char('/')")}break;case"":i.error("unexpected end of input");case">":switch(m){case o:n.setTagName(e.slice(t,v));case c:case h:case p:break;case l:case u:d=e.slice(t,v),d.slice(-1)==="/"&&(n.closed=!0,d=d.slice(0,-1));case a:m===a&&(d=s),m==l?(i.warning('attribute "'+d+'" missed quot(")!!'),n.add(s,d.replace(/&#?\w+;/g,r),t)):(i.warning('attribute "'+d+'" missed value!! "'+d+'" instead!!'),n.add(d,d,t));break;case f:throw new Error("attribute value missed!!")}return v;case"\u0080":g=" ";default:if(g<=" ")switch(m){case o:n.setTagName(e.slice(t,v)),m=h;break;case u:s=e.slice(t,v),m=a;break;case l:var d=e.slice(t,v).replace(/&#?\w+;/g,r);i.warning('attribute "'+d+'" missed quot(")!!'),n.add(s,d,t);case c:m=h}else switch(m){case a:i.warning('attribute "'+s+'" missed value!! "'+s+'" instead!!'),n.add(s,s,t),t=v,m=u;break;case c:i.warning('attribute space is required"'+s+'"!!');case h:m=u,t=v;break;case f:m=l,t=v;break;case p:throw new Error("elements closed character '/' and '>' must be connected to")}}v++}}function y(e,t,n){var r=e.tagName,i=null,s=n[n.length-1].currentNSMap,o=e.length;while(o--){var u=e[o],a=u.qName,f=u.value,l=a.indexOf(":");if(l>0)var c=u.prefix=a.slice(0,l),h=a.slice(l+1),p=c==="xmlns"&&h;else h=a,c=null,p=a==="xmlns"&&"";u.localName=h,p!==!1&&(i==null&&(i={},E(s,s={})),s[p]=i[p]=f,u.uri="http://www.w3.org/2000/xmlns/",t.startPrefixMapping(p,f))}var o=e.length;while(o--){u=e[o];var c=u.prefix;c&&(c==="xml"&&(u.uri="http://www.w3.org/XML/1998/namespace"),c!=="xmlns"&&(u.uri=s[c]))}var l=r.indexOf(":");l>0?(c=e.prefix=r.slice(0,l),h=e.localName=r.slice(l+1)):(c=null,h=e.localName=r);var d=e.uri=s[c||""];t.startElement(d,h,r,e);if(e.closed){t.endElement(d,h,r);if(i)for(c in i)t.endPrefixMapping(c)}else e.currentNSMap=s,e.localNSMap=i,n.push(e)}function b(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var s=e.indexOf("</"+n+">",t),o=e.substring(t+1,s);if(/[&<]/.test(o))return/^script$/i.test(n)?(i.characters(o,0,o.length),s):(o=o.replace(/&#?\w+;/g,r),i.characters(o,0,o.length),s)}return t+1}function w(e,t,n,r){var i=r[n];return i==null&&(i=r[n]=e.lastIndexOf("</"+n+">")),i<t}function E(e,t){for(var n in e)t[n]=e[n]}function S(e,t,n,r){var i=e.charAt(t+2);switch(i){case"-":if(e.charAt(t+3)==="-"){var s=e.indexOf("-->",t+4);return s>t?(n.comment(e,t+4,s-t-4),s+3):(r.error("Unclosed comment"),-1)}return-1;default:if(e.substr(t+3,6)=="CDATA["){var s=e.indexOf("]]>",t+9);return n.startCDATA(),n.characters(e,t+9,s-t-9),n.endCDATA(),s+3}var o=C(e,t),u=o.length;if(u>1&&/!doctype/i.test(o[0][0])){var a=o[1][0],f=u>3&&/^public$/i.test(o[2][0])&&o[3][0],l=u>4&&o[4][0],c=o[u-1];return n.startDTD(a,f&&f.replace(/^(['"])(.*?)\1$/,"$2"),l&&l.replace(/^(['"])(.*?)\1$/,"$2")),n.endDTD(),c.index+c[0].length}}return-1}function x(e,t,n){var r=e.indexOf("?>",t);if(r){var i=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(i){var s=i[0].length;return n.processingInstruction(i[1],i[2]),r+2}return-1}return-1}function T(e){}function N(e,t){return e.__proto__=t,e}function C(e,t){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;i.lastIndex=t,i.exec(e);while(n=i.exec(e)){r.push(n);if(n[1])return r}}var r=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,i=new RegExp("[\\-\\.0-9"+r.source.slice(1,-1)+"\u00b7\u0300-\u036f\\ux203F-\u2040]"),s=new RegExp("^"+r.source+i.source+"*(?::"+r.source+i.source+"*)?$"),o=0,u=1,a=2,f=3,l=4,c=5,h=6,p=7;return d.prototype={parse:function(e,t,n){var r=this.domBuilder;r.startDocument(),E(t,t={}),v(e,t,n,r,this.errorHandler),r.endDocument()}},T.prototype={setTagName:function(e){if(!s.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},add:function(e,t,n){if(!s.test(e))throw new Error("invalid attribute:"+e);this[this.length++]={qName:e,value:t,offset:n}},length:0,getLocalName:function(e){return this[e].localName},getOffset:function(e){return this[e].offset},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},N({},N.prototype)instanceof N||(N=function(e,t){function n(){}n.prototype=t,n=new n;for(t in e)n[t]=e[t];return n}),d}),ace.define("ace/mode/xml/dom",["require","exports","module"],function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function i(e,t){var n=e.prototype;if(Object.create){var i=Object.create(t.prototype);n.__proto__=i}if(!(n instanceof t)){function s(){}s.prototype=t.prototype,s=new s,r(n,s),e.prototype=n=s}n.constructor!=e&&(typeof e!="function"&&console.error("unknow Class:"+e),n.constructor=e)}function B(e,t){if(t instanceof Error)var n=t;else n=this,Error.call(this,w[e]),this.message=w[e],Error.captureStackTrace&&Error.captureStackTrace(this,B);return n.code=e,t&&(this.message=this.message+": "+t),n}function j(){}function F(e,t){this._node=e,this._refresh=t,I(this)}function I(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=t){var n=e._refresh(e._node);gt(e,"length",n.length),r(n,e),e._inc=t}}function q(){}function R(e,t){var n=e.length;while(n--)if(e[n]===t)return n}function U(e,t,n,r){r?t[R(t,r)]=n:t[t.length++]=n;if(e){n.ownerElement=e;var i=e.ownerDocument;i&&(r&&Q(i,e,r),K(i,e,n))}}function z(e,t,n){var r=R(t,n);if(!(r>=0))throw B(L,new Error);var i=t.length-1;while(r<i)t[r]=t[++r];t.length=i;if(e){var s=e.ownerDocument;s&&(Q(s,e,n),n.ownerElement=null)}}function W(e){this._features={};if(e)for(var t in e)this._features=e[t]}function X(){}function V(e){return e=="<"&&"&lt;"||e==">"&&"&gt;"||e=="&"&&"&amp;"||e=='"'&&"&quot;"||"&#"+e.charCodeAt()+";"}function $(e,t){if(t(e))return!0;if(e=e.firstChild)do if($(e,t))return!0;while(e=e.nextSibling)}function J(){}function K(e,t,n){e&&e._inc++;var r=n.namespaceURI;r=="http://www.w3.org/2000/xmlns/"&&(t._nsMap[n.prefix?n.localName:""]=n.value)}function Q(e,t,n,r){e&&e._inc++;var i=n.namespaceURI;i=="http://www.w3.org/2000/xmlns/"&&delete t._nsMap[n.prefix?n.localName:""]}function G(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.length++]=n;else{var i=t.firstChild,s=0;while(i)r[s++]=i,i=i.nextSibling;r.length=s}}}function Y(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextSibling=r:e.firstChild=r,r?r.previousSibling=n:e.lastChild=n,G(e.ownerDocument,e),t}function Z(e,t,n){var r=t.parentNode;r&&r.removeChild(t);if(t.nodeType===g){var i=t.firstChild;if(i==null)return t;var s=t.lastChild}else i=s=t;var o=n?n.previousSibling:e.lastChild;i.previousSibling=o,s.nextSibling=n,o?o.nextSibling=i:e.firstChild=i,n==null?e.lastChild=s:n.previousSibling=s;do i.parentNode=e;while(i!==s&&(i=i.nextSibling));return G(e.ownerDocument||e,e),t.nodeType==g&&(t.firstChild=t.lastChild=null),t}function et(e,t){var n=t.parentNode;if(n){var r=e.lastChild;n.removeChild(t);var r=e.lastChild}var r=e.lastChild;return t.parentNode=e,t.previousSibling=r,t.nextSibling=null,r?r.nextSibling=t:e.firstChild=t,e.lastChild=t,G(e.ownerDocument,e,t),t}function tt(){this._nsMap={}}function nt(){}function rt(){}function it(){}function st(){}function ot(){}function ut(){}function at(){}function ft(){}function lt(){}function ct(){}function ht(){}function pt(){}function dt(e,t){switch(e.nodeType){case u:var n=e.attributes,r=n.length,i=e.firstChild,o=e.tagName,h=s===e.namespaceURI;t.push("<",o);for(var y=0;y<r;y++)dt(n.item(y),t,h);if(i||h&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(o)){t.push(">");if(h&&/^script$/i.test(o))i&&t.push(i.data);else while(i)dt(i,t),i=i.nextSibling;t.push("</",o,">")}else t.push("/>");return;case v:case g:var i=e.firstChild;while(i)dt(i,t),i=i.nextSibling;return;case a:return t.push(" ",e.name,'="',e.value.replace(/[<&"]/g,V),'"');case f:return t.push(e.data.replace(/[<&]/g,V));case l:return t.push("<![CDATA[",e.data,"]]>");case d:return t.push("<!--",e.data,"-->");case m:var b=e.publicId,w=e.systemId;t.push("<!DOCTYPE ",e.name);if(b)t.push(' PUBLIC "',b),w&&w!="."&&t.push('" "',w),t.push('">');else if(w&&w!=".")t.push(' SYSTEM "',w,'">');else{var E=e.internalSubset;E&&t.push(" [",E,"]"),t.push(">")}return;case p:return t.push("<?",e.target," ",e.data,"?>");case c:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function vt(e,t,n){var r;switch(t.nodeType){case u:r=t.cloneNode(!1),r.ownerDocument=e;case g:break;case a:n=!0}r||(r=t.cloneNode(!1)),r.ownerDocument=e,r.parentNode=null;if(n){var i=t.firstChild;while(i)r.appendChild(vt(e,i,n)),i=i.nextSibling}return r}function mt(e,t,n){var r=new t.constructor;for(var i in t){var s=t[i];typeof s!="object"&&s!=r[i]&&(r[i]=s)}t.childNodes&&(r.childNodes=new j),r.ownerDocument=e;switch(r.nodeType){case u:var o=t.attributes,f=r.attributes=new q,l=o.length;f._ownerElement=r;for(var c=0;c<l;c++)r.setAttributeNode(mt(e,o.item(c),!0));break;case a:n=!0}if(n){var h=t.firstChild;while(h)r.appendChild(mt(e,h,n)),h=h.nextSibling}return r}function gt(e,t,n){e[t]=n}var s="http://www.w3.org/1999/xhtml",o={},u=o.ELEMENT_NODE=1,a=o.ATTRIBUTE_NODE=2,f=o.TEXT_NODE=3,l=o.CDATA_SECTION_NODE=4,c=o.ENTITY_REFERENCE_NODE=5,h=o.ENTITY_NODE=6,p=o.PROCESSING_INSTRUCTION_NODE=7,d=o.COMMENT_NODE=8,v=o.DOCUMENT_NODE=9,m=o.DOCUMENT_TYPE_NODE=10,g=o.DOCUMENT_FRAGMENT_NODE=11,y=o.NOTATION_NODE=12,b={},w={},E=b.INDEX_SIZE_ERR=(w[1]="Index size error",1),S=b.DOMSTRING_SIZE_ERR=(w[2]="DOMString size error",2),x=b.HIERARCHY_REQUEST_ERR=(w[3]="Hierarchy request error",3),T=b.WRONG_DOCUMENT_ERR=(w[4]="Wrong document",4),N=b.INVALID_CHARACTER_ERR=(w[5]="Invalid character",5),C=b.NO_DATA_ALLOWED_ERR=(w[6]="No data allowed",6),k=b.NO_MODIFICATION_ALLOWED_ERR=(w[7]="No modification allowed",7),L=b.NOT_FOUND_ERR=(w[8]="Not found",8),A=b.NOT_SUPPORTED_ERR=(w[9]="Not supported",9),O=b.INUSE_ATTRIBUTE_ERR=(w[10]="Attribute in use",10),M=b.INVALID_STATE_ERR=(w[11]="Invalid state",11),_=b.SYNTAX_ERR=(w[12]="Syntax error",12),D=b.INVALID_MODIFICATION_ERR=(w[13]="Invalid modification",13),P=b.NAMESPACE_ERR=(w[14]="Invalid namespace",14),H=b.INVALID_ACCESS_ERR=(w[15]="Invalid access",15);B.prototype=Error.prototype,r(b,B),j.prototype={length:0,item:function(e){return this[e]||null}},F.prototype.item=function(e){return I(this),this[e]},i(F,j),q.prototype={length:0,item:j.prototype.item,getNamedItem:function(e){var t=this.length;while(t--){var n=this[t];if(n.nodeName==e)return n}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new B(O);var n=this.getNamedItem(e.nodeName);return U(this._ownerElement,this,e,n),n},setNamedItemNS:function(e){var t=e.ownerElement,n;if(t&&t!=this._ownerElement)throw new B(O);return n=this.getNamedItemNS(e.namespaceURI,e.localName),U(this._ownerElement,this,e,n),n},removeNamedItem:function(e){var t=this.getNamedItem(e);return z(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var n=this.getNamedItemNS(e,t);return z(this._ownerElement,this,n),n},getNamedItemNS:function(e,t){var n=this.length;while(n--){var r=this[n];if(r.localName==t&&r.namespaceURI==e)return r}return null}},W.prototype={hasFeature:function(e,t){var n=this._features[e.toLowerCase()];return n&&(!t||t in n)?!0:!1},createDocument:function(e,t,n){var r=new J;r.implementation=this,r.childNodes=new j,r.doctype=n,n&&r.appendChild(n);if(t){var i=r.createElementNS(e,t);r.appendChild(i)}return r},createDocumentType:function(e,t,n){var r=new ut;return r.name=e,r.nodeName=e,r.publicId=t,r.systemId=n,r}},X.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return Z(this,e,t)},replaceChild:function(e,t){this.insertBefore(e,t),t&&this.removeChild(t)},removeChild:function(e){return Y(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(e){return mt(this.ownerDocument||this,this,e)},normalize:function(){var e=this.firstChild;while(e){var t=e.nextSibling;t&&t.nodeType==f&&e.nodeType==f?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t)}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(e){var t=this;while(t){var n=t._nsMap;if(n)for(var r in n)if(n[r]==e)return r;t=t.nodeType==2?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){var t=this;while(t){var n=t._nsMap;if(n&&e in n)return n[e];t=t.nodeType==2?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){var t=this.lookupPrefix(e);return t==null}},r(o,X),r(o,X.prototype),J.prototype={nodeName:"#document",nodeType:v,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==g){var n=e.firstChild;while(n){var r=n.nextSibling;this.insertBefore(n,t),n=r}return e}return this.documentElement==null&&e.nodeType==1&&(this.documentElement=e),Z(this,e,t),e.ownerDocument=this,e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),Y(this,e)},importNode:function(e,t){return vt(this,e,t)},getElementById:function(e){var t=null;return $(this.documentElement,function(n){if(n.nodeType==1&&n.getAttribute("id")==e)return t=n,!0}),t},createElement:function(e){var t=new tt;t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.childNodes=new j;var n=t.attributes=new q;return n._ownerElement=t,t},createDocumentFragment:function(){var e=new ct;return e.ownerDocument=this,e.childNodes=new j,e},createTextNode:function(e){var t=new it;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new st;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new ot;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var n=new ht;return n.ownerDocument=this,n.tagName=n.target=e,n.nodeValue=n.data=t,n},createAttribute:function(e){var t=new nt;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new lt;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var n=new tt,r=t.split(":"),i=n.attributes=new q;return n.childNodes=new j,n.ownerDocument=this,n.nodeName=t,n.tagName=t,n.namespaceURI=e,r.length==2?(n.prefix=r[0],n.localName=r[1]):n.localName=t,i._ownerElement=n,n},createAttributeNS:function(e,t){var n=new nt,r=t.split(":");return n.ownerDocument=this,n.nodeName=t,n.name=t,n.namespaceURI=e,n.specified=!0,r.length==2?(n.prefix=r[0],n.localName=r[1]):n.localName=t,n}},i(J,X),tt.prototype={nodeType:u,hasAttribute:function(e){return this.getAttributeNode(e)!=null},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var n=this.ownerDocument.createAttribute(e);n.value=n.nodeValue=""+t,this.setAttributeNode(n)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===g?this.insertBefore(e,null):et(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);n&&this.removeAttributeNode(n)},hasAttributeNS:function(e,t){return this.getAttributeNodeNS(e,t)!=null},getAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);return n&&n.value||""},setAttributeNS:function(e,t,n){var r=this.ownerDocument.createAttributeNS(e,t);r.value=r.nodeValue=""+n,this.setAttributeNode(r)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new F(this,function(t){var n=[];return $(t,function(r){r!==t&&r.nodeType==u&&(e==="*"||r.tagName==e)&&n.push(r)}),n})},getElementsByTagNameNS:function(e,t){return new F(this,function(n){var r=[];return $(n,function(i){i!==n&&i.nodeType===u&&(e==="*"||i.namespaceURI===e)&&(t==="*"||i.localName==t)&&r.push(i)}),r})}},J.prototype.getElementsByTagName=tt.prototype.getElementsByTagName,J.prototype.getElementsByTagNameNS=tt.prototype.getElementsByTagNameNS,i(tt,X),nt.prototype.nodeType=a,i(nt,X),rt.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(w[3])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,n){var r=this.data.substring(0,e),i=this.data.substring(e+t);n=r+n+i,this.nodeValue=this.data=n,this.length=n.length}},i(rt,X),it.prototype={nodeName:"#text",nodeType:f,splitText:function(e){var t=this.data,n=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},i(it,rt),st.prototype={nodeName:"#comment",nodeType:d},i(st,rt),ot.prototype={nodeName:"#cdata-section",nodeType:l},i(ot,rt),ut.prototype.nodeType=m,i(ut,X),at.prototype.nodeType=y,i(at,X),ft.prototype.nodeType=h,i(ft,X),lt.prototype.nodeType=c,i(lt,X),ct.prototype.nodeName="#document-fragment",ct.prototype.nodeType=g,i(ct,X),ht.prototype.nodeType=p,i(ht,X),pt.prototype.serializeToString=function(e){var t=[];return dt(e,t),t.join("")},X.prototype.toString=function(){return pt.prototype.serializeToString(this)};try{if(Object.defineProperty){Object.defineProperty(F.prototype,"length",{get:function(){return I(this),this.$$length}}),Object.defineProperty(X.prototype,"textContent",{get:function(){return yt(this)},set:function(e){switch(this.nodeType){case 1:case 11:while(this.firstChild)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=value,this.nodeValue=e}}});function yt(e){switch(e.nodeType){case 1:case 11:var t=[];e=e.firstChild;while(e)e.nodeType!==7&&e.nodeType!==8&&t.push(yt(e)),e=e.nextSibling;return t.join("");default:return e.nodeValue}}gt=function(e,t,n){e["$$"+t]=n}}}catch(bt){}return W}),ace.define("ace/mode/xml/dom-parser",["require","exports","module","ace/mode/xml/sax","ace/mode/xml/dom"],function(e,t,n){"use strict";function s(e){this.options=e||{locator:{}}}function o(e,t,n){function s(t){var s=e[t];if(!s)if(i)s=e.length==2?function(n){e(t,n)}:e;else{var o=arguments.length;while(--o)if(s=e[arguments[o]])break}r[t]=s&&function(e){s(e+f(n),e,n)}||function(){}}if(!e){if(t instanceof u)return t;e=t}var r={},i=e instanceof Function;return n=n||{},s("warning","warn"),s("error","warn","warning"),s("fatalError","warn","warning","error"),r}function u(){this.cdata=!1}function a(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function f(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]"}function l(e,t,n){return typeof e=="string"?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+"":e}function c(e,t){e.currentElement?e.currentElement.appendChild(t):e.document.appendChild(t)}var r=e("./sax"),i=e("./dom");return s.prototype.parseFromString=function(e,t){var n=this.options,i=new r,s=n.domBuilder||new u,a=n.errorHandler,f=n.locator,l=n.xmlns||{},c={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return f&&s.setDocumentLocator(f),i.errorHandler=o(a,s,f),i.domBuilder=n.domBuilder||s,/\/x?html?$/.test(t)&&(c.nbsp="\u00a0",c.copy="\u00a9",l[""]="http://www.w3.org/1999/xhtml"),e?i.parse(e,l,c):i.errorHandler.error("invalid document source"),s.document},u.prototype={startDocument:function(){this.document=(new i).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var i=this.document,s=i.createElementNS(e,n||t),o=r.length;c(this,s),this.currentElement=s,this.locator&&a(this.locator,s);for(var u=0;u<o;u++){var e=r.getURI(u),f=r.getValue(u),n=r.getQName(u),l=i.createAttributeNS(e,n);l.getOffset&&a(l.getOffset(1),l),l.value=l.nodeValue=f,s.setAttributeNode(l)}},endElement:function(e,t,n){var r=this.currentElement,i=r.tagName;this.currentElement=r.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var n=this.document.createProcessingInstruction(e,t);this.locator&&a(this.locator,n),c(this,n)},ignorableWhitespace:function(e,t,n){},characters:function(e,t,n){e=l.apply(this,arguments);if(this.currentElement&&e){if(this.cdata){var r=this.document.createCDATASection(e);this.currentElement.appendChild(r)}else{var r=this.document.createTextNode(e);this.currentElement.appendChild(r)}this.locator&&a(this.locator,r)}},skippedEntity:function(e){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(e){if(this.locator=e)e.lineNumber=0},comment:function(e,t,n){e=l.apply(this,arguments);var r=this.document.createComment(e);this.locator&&a(this.locator,r),c(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,n){var r=this.document.implementation;if(r&&r.createDocumentType){var i=r.createDocumentType(e,t,n);this.locator&&a(this.locator,i),c(this,i)}},warning:function(e){console.warn(e,f(this.locator))},error:function(e){console.error(e,f(this.locator))},fatalError:function(e){throw console.error(e,f(this.locator)),e}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(e){u.prototype[e]=function(){return null}}),{DOMParser:s}}),ace.define("ace/mode/xml_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/xml/dom-parser"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./xml/dom-parser").DOMParser,u=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.context=null};r.inherits(u,s),function(){this.setOptions=function(e){this.context=e.context},this.onUpdate=function(){var e=this.doc.getValue();if(!e)return;var t=new o,n=[];t.options.errorHandler={fatalError:function(e,t,r){n.push({row:r.lineNumber,column:r.columnNumber,text:t,type:"error"})},error:function(e,t,r){n.push({row:r.lineNumber,column:r.columnNumber,text:t,type:"error"})},warning:function(e,t,r){n.push({row:r.lineNumber,column:r.columnNumber,text:t,type:"warning"})}},t.parseFromString(e),this.sender.emit("error",n)}}.call(u.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/ace/worker-xquery.js b/library/ace/worker-xquery.js
new file mode 100644
index 000000000..3c19f04e9
--- /dev/null
+++ b/library/ace/worker-xquery.js
@@ -0,0 +1 @@
+"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}var r=e.constructor;if(r===RegExp)return e;t=r();for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/xquery/xqlint",["require","exports","module","ace/mode/tree_ops","ace/mode/xquery/errors","ace/mode/tree_ops","ace/mode/xquery/errors","ace/mode/xquery/schema_built-in_types","ace/mode/xquery/errors","ace/mode/tree_ops","ace/mode/xquery/static_context","ace/mode/xquery/handlers","ace/mode/tree_ops","ace/mode/xquery/parsers/JSONiqParser","ace/mode/xquery/parsers/XQueryParser","ace/mode/xquery/parsers/JSONParseTreeHandler","ace/mode/xquery/compiler/translator","ace/mode/xquery/formatter/style_checker","ace/mode/lib/completion/completer","ace/mode/xquery/compiler/static_context"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);var l=new Error("Cannot find module '"+u+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[u]={exports:{}};t[u][0].call(c.exports,function(e){var n=t[u][1][e];return s(n?n:e)},c,c.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){"use strict";var r=function(e,t,n,r,i){if(!t)throw new Error(i+" code is missing.");if(!n)throw new Error(i+" message is missing.");if(!r)throw new Error(i+" position is missing.");e.getCode=function(){return t},e.getMessage=function(){return n},e.getPos=function(){return r}},i={},s={};i.prototype=new Error,s.prototype=new Error,n.StaticError=i.prototype.constructor=function(e,t,n){r(this,e,t,n,"Error")},n.StaticWarning=s.prototype.constructor=function(e,t,n){r(this,e,t,n,"Warning")}},{}],2:[function(e,t,n){"use strict";var r=e("../tree_ops").TreeOps,i=e("./errors"),s=i.StaticWarning;n.ModuleDecl=function(e,t,n){var i="";return{NCName:function(e){i=r.flatten(e)},URILiteral:function(s){s=r.flatten(s),s=s.substring(1,s.length-1),e.apply(function(){t.moduleNamespace=s,t.addNamespace(s,i,n.pos,"moduleDecl")})}}},n.ModuleImport=function(e,t,n){var i="",s;return{NCName:function(e){i=r.flatten(e)},URILiteral:function(o){if(s!==undefined)return;o=r.flatten(o),o=o.substring(1,o.length-1),s=o,e.apply(function(){t.importModule(o,i,n.pos)})}}},n.SchemaImport=function(e,t,n){var i="",s;return{SchemaPrefix:function(t){var n=function(){this.NCName=function(e){i=r.flatten(e)}};e.visitChildren(t,new n)},URILiteral:function(o){if(s!==undefined)return;o=r.flatten(o),o=o.substring(1,o.length-1),s=o,e.apply(function(){t.addNamespace(o,i,n.pos,"schema")})}}},n.DefaultNamespaceDecl=function(e,t,n){var i=!1,o="";return{TOKEN:function(e){i=i?!0:e.value==="function"},URILiteral:function(u){o=r.flatten(u),o=o.substring(1,o.length-1),i?t.defaultFunctionNamespace=o:(e.apply(function(){throw new s("W06","Avoid default element namespace declarations.",n.pos)}),t.defaultElementNamespace=o)}}},n.NamespaceDecl=function(e,t,n){var i="";return{NCName:function(e){i=r.flatten(e)},URILiteral:function(s){s=r.flatten(s),s=s.substring(1,s.length-1),e.apply(function(){t.addNamespace(s,i,n.pos,"declare")})}}},n.VarHandler=function(e,t,n){var i=function(i){var s=r.flatten(i);e.apply(function(){var e=t.resolveQName(s,i.pos);t.addVariable(e,n.name,i.pos)})};return{ExprSingle:function(){return!0},VarValue:function(){return!0},VarDefaultValue:function(){return!0},VarName:i,EQName:i}},n.VarRefHandler=function(e,t,n){return{VarName:function(i){var s=r.flatten(i);e.apply(function(){var e=t.resolveQName(s,n.pos);e.uri!==""&&(t.root.namespaces[e.uri].used=!0),t.addVarRef(e,i.pos)})}}}},{"../tree_ops":11,"./errors":1}],3:[function(e,t,n){"use strict";n.getSchemaBuiltinTypes=function(){var e="http://www.w3.org/2001/XMLSchema",t={};return t[e]={variables:{},functions:{}},t[e].functions[e+"#string#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"string",arity:1,eqname:{uri:e,name:"string"}},t[e].functions[e+"#boolean#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"boolean",arity:1,eqname:{uri:e,name:"boolean"}},t[e].functions[e+"#decimal#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"decimal",arity:1,eqname:{uri:e,name:"decimal"}},t[e].functions[e+"#float#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"float",arity:1,eqname:{uri:e,name:"float"}},t[e].functions[e+"#double#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"double",arity:1,eqname:{uri:e,name:"double"}},t[e].functions[e+"#duration#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"duration",arity:1,eqname:{uri:e,name:"duration"}},t[e].functions[e+"#dateTime#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"dateTime",arity:1,eqname:{uri:e,name:"dateTime"}},t[e].functions[e+"#time#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"time",arity:1,eqname:{uri:e,name:"time"}},t[e].functions[e+"#date#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"date",arity:1,eqname:{uri:e,name:"date"}},t[e].functions[e+"#gYearMonth#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"gYearMonth",arity:1,eqname:{uri:e,name:"gYearMonth"}},t[e].functions[e+"#gYear#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"gYear",arity:1,eqname:{uri:e,name:"gYear"}},t[e].functions[e+"#gMonthDay#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"gMonthDay",arity:1,eqname:{uri:e,name:"gMonthDay"}},t[e].functions[e+"#gDay#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"gDay",arity:1,eqname:{uri:e,name:"gDay"}},t[e].functions[e+"#gMonth#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"gMonth",arity:1,eqname:{uri:e,name:"gMonth"}},t[e].functions[e+"#hexBinary#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"hexBinary",arity:1,eqname:{uri:e,name:"hexBinary"}},t[e].functions[e+"#base64Binary#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"base64Binary",arity:1,eqname:{uri:e,name:"base64Binary"}},t[e].functions[e+"#anyURI#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"anyURI",arity:1,eqname:{uri:e,name:"anyURI"}},t[e].functions[e+"#QName#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"QName",arity:1,eqname:{uri:e,name:"QName"}},t[e].functions[e+"#normalizedString#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"normalizedString",arity:1,eqname:{uri:e,name:"normalizedString"}},t[e].functions[e+"#token#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"token",arity:1,eqname:{uri:e,name:"token"}},t[e].functions[e+"#language#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"language",arity:1,eqname:{uri:e,name:"language"}},t[e].functions[e+"#NMTOKEN#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"NMTOKEN",arity:1,eqname:{uri:e,name:"NMTOKEN"}},t[e].functions[e+"#Name#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"Name",arity:1,eqname:{uri:e,name:"Name"}},t[e].functions[e+"#NCName#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"NCName",arity:1,eqname:{uri:e,name:"NCName"}},t[e].functions[e+"#ID#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"ID",arity:1,eqname:{uri:e,name:"ID"}},t[e].functions[e+"#IDREF#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"IDREF",arity:1,eqname:{uri:e,name:"IDREF"}},t[e].functions[e+"#ENTITY#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"ENTITY",arity:1,eqname:{uri:e,name:"ENTITY"}},t[e].functions[e+"#integer#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"integer",arity:1,eqname:{uri:e,name:"integer"}},t[e].functions[e+"#nonPositiveInteger#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"nonPositiveInteger",arity:1,eqname:{uri:e,name:"nonPositiveInteger"}},t[e].functions[e+"#negativeInteger#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"negativeInteger",arity:1,eqname:{uri:e,name:"negativeInteger"}},t[e].functions[e+"#long#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"long",arity:1,eqname:{uri:e,name:"long"}},t[e].functions[e+"#int#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"int",arity:1,eqname:{uri:e,name:"int"}},t[e].functions[e+"#short#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"short",arity:1,eqname:{uri:e,name:"short"}},t[e].functions[e+"#byte#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"byte",arity:1,eqname:{uri:e,name:"byte"}},t[e].functions[e+"#nonNegativeInteger#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"nonNegativeInteger",arity:1,eqname:{uri:e,name:"nonNegativeInteger"}},t[e].functions[e+"#unsignedLong#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"unsignedLong",arity:1,eqname:{uri:e,name:"unsignedLong"}},t[e].functions[e+"#unsignedInt#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"unsignedInt",arity:1,eqname:{uri:e,name:"unsignedInt"}},t[e].functions[e+"#unsignedShort#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"unsignedShort",arity:1,eqname:{uri:e,name:"unsignedShort"}},t[e].functions[e+"#unsignedByte#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"unsignedByte",arity:1,eqname:{uri:e,name:"unsignedByte"}},t[e].functions[e+"#positiveInteger#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"positiveInteger",arity:1,eqname:{uri:e,name:"positiveInteger"}},t[e].functions[e+"#yearMonthDuration#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"yearMonthDuration",arity:1,eqname:{uri:e,name:"yearMonthDuration"}},t[e].functions[e+"#dayTimeDuration#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"dayTimeDuration",arity:1,eqname:{uri:e,name:"dayTimeDuration"}},t[e].functions[e+"#untypedAtomic#1"]={params:["$arg as xs:anyAtomicType?"],annotations:[],name:"untypedAtomic",arity:1,eqname:{uri:e,name:"untypedAtomic"}},t}},{}],4:[function(e,t,n){n.StaticContext=function(t,n){"use strict";var r=e("../tree_ops").TreeOps,i=e("./errors"),s=i.StaticError,o=i.StaticWarning,u=e("./schema_built-in_types").getSchemaBuiltinTypes,a={sl:0,sc:0,el:0,ec:0},f={},l=function(e){return e.uri+"#"+e.name},c=function(e,t){return l(e)+"#"+t};t||(f["http://jsoniq.org/functions"]={prefix:"jn",pos:a,type:"module",override:!0},f["http://www.28msec.com/modules/collections"]={prefix:"db",pos:a,type:"module",override:!0},f["http://www.28msec.com/modules/store"]={prefix:"store",pos:a,type:"module",override:!0},f["http://jsoniq.org/function-library"]={prefix:"libjn",pos:a,type:"module",override:!0},f["http://www.w3.org/2005/xpath-functions"]={prefix:"fn",pos:a,type:"module",override:!0},f["http://www.w3.org/2005/xquery-local-functions"]={prefix:"local",pos:a,type:"declare",override:!0},f["http://www.w3.org/2001/XMLSchema-instance"]={prefix:"xsi",pos:a,type:"declare"},f["http://www.w3.org/2001/XMLSchema"]={prefix:"xs",pos:a,type:"declare"},f["http://www.w3.org/XML/1998/namespace"]={prefix:"xml",pos:a,type:"declare"},f["http://zorba.io/annotations"]={prefix:"an",pos:a,type:"declare",override:!0},f["http://www.28msec.com/annotations/rest"]={prefix:"rest",pos:a,type:"declare",override:!0},f["http://www.w3.org/2005/xqt-errors"]={prefix:"err",pos:a,type:"declare",override:!0},f["http://zorba.io/errors"]={prefix:"zerr",pos:a,type:"declare",override:!0});var h={parent:t,children:[],pos:n,setModuleResolver:function(e){return this.root.moduleResolver=e,this},setModules:function(e){if(this!==this.root)throw new Error("setModules() not invoked from the root static context.");this.moduleResolver=function(t){return e[t]};var t=this;return Object.keys(this.namespaces).forEach(function(e){var n=t.namespaces[e];if(n.type==="module"){var i=t.moduleResolver(e);i.variables&&r.concat(t.variables,i.variables),i.functions&&r.concat(t.functions,i.functions)}}),this},setModulesFromXQDoc:function(e){if(this!==this.root)throw new Error("setModulesFromXQDoc() not invoked from the root static context.");var t={};Object.keys(e).forEach(function(n){var r=e[n],i={},s={};r.functions.forEach(function(e){s[n+"#"+e.name+"#"+e.arity]={params:[],annotations:[],name:e.name,arity:e.arity,eqname:{uri:n,name:e.name}},e.parameters.forEach(function(t){s[n+"#"+e.name+"#"+e.arity].params.push("$"+t.name)})}),r.variables.forEach(function(e){var t=e.name.substring(e.name.indexOf(":")+1);i[n+"#"+t]={type:"VarDecl",annotations:[],eqname:{uri:n,name:t}}}),t[n]={variables:i,functions:s}}),this.root.moduleResolver=function(e){return t[e]};var n=this;return Object.keys(this.namespaces).forEach(function(e){var t=n.namespaces[e];if(t.type==="module"){var i=n.moduleResolver(e);i.variables&&r.concat(n.variables,i.variables),i.functions&&r.concat(n.functions,i.functions)}}),this},moduleNamespace:"",defaultFunctionNamespace:"http://www.w3.org/2005/xpath-functions",defaultFunctionNamespaces:["http://www.28msec.com/modules/collections","http://www.28msec.com/modules/store","http://jsoniq.org/functions","http://jsoniq.org/function-library","http://www.w3.org/2001/XMLSchema"],defaultElementNamespace:"",namespaces:f,availableModuleNamespaces:[],importModule:function(e,t,n){if(this!==this.root)throw new Error("Function not invoked from the root static context.");this.addNamespace(e,t,n,"module");if(this.moduleResolver)try{var i=this.moduleResolver(e,[]);i.variables&&r.concat(this.variables,i.variables),i.functions&&r.concat(this.functions,i.functions)}catch(o){throw new s("XQST0059",'module "'+e+'" not found',n)}return this},getAvailableModuleNamespaces:function(){return this.root.availableModuleNamespaces},getPrefixByNamespace:function(e){return this.root.namespaces[e].prefix},addNamespace:function(e,t,n,r){if(t===""&&r==="module")throw new o("W01","Avoid this type of import. Use import module namespace instead",n);if(e==="")throw new s("XQST0088","empty target namespace in module import or module declaration",n);var i=this.getNamespace(e);if(i&&i.type===r&&r!=="declare"&&!i.override)throw new s("XQST0047",'"'+e+'": duplicate target namespace',n);i=this.getNamespaceByPrefix(t);if(i&&!i.override)throw new s("XQST0033",'"'+t+'": namespace prefix already bound to "'+i.uri+'"',n);i=this.namespaces[e],this.namespaces[e]={prefix:t,pos:n,type:r};if(i)throw new o("W02",'"'+e+'" already bound to the "'+i.prefix+'" prefix',n)},getNamespaces:function(){return this.root.namespaces},getNamespace:function(e){var t=this;while(t){var n=t.namespaces[e];if(n)return n;t=t.parent}},getNamespaceByPrefix:function(e){var t=function(t){var r=n.namespaces[t];if(r.prefix===e)throw r.uri=t,r},n=this;while(n){try{Object.keys(n.namespaces).forEach(t)}catch(r){return r}n=n.parent}},resolveQName:function(e,t){var n={uri:"",prefix:"",name:""},r;if(e.substring(0,2)==="Q{")r=e.indexOf("}"),n.uri=e.substring(2,r),n.name=e.substring(r+1);else{r=e.indexOf(":"),n.prefix=e.substring(0,r);var i=this.getNamespaceByPrefix(n.prefix);if(!i&&n.prefix!==""&&["fn","jn"].indexOf(n.prefix)===-1)throw new s("XPST0081",'"'+n.prefix+'": can not expand prefix of lexical QName to namespace URI',t);i&&(n.uri=i.uri),n.name=e.substring(r+1)}return n},variables:{},varRefs:{},functionCalls:{},addVariable:function(e,t,n){if(t!=="VarDecl"||this.moduleNamespace===""||this.moduleNamespace===e.uri||e.uri===""&&this.defaultFunctionNamespace===this.moduleNamespace){var r=l(e);if(t==="VarDecl"&&this.variables[r])throw new s("XQST0049",'"'+e.name+'": duplicate variable declaration',n);return this.variables[r]={type:t,pos:n,qname:e,annotations:{}},this}throw new s("XQST0048",'"'+e.prefix+":"+e.name+'": Qname not library namespace',n)},getVariables:function(){var e={},t=this,n=function(n){e[n]||(e[n]=t.variables[n])};while(t)Object.keys(t.variables).forEach(n),t=t.parent;return e},getVariable:function(e){var t=l(e),n=this;while(n){if(n.variables[t])return n.variables[t];n=n.parent}},addVarRef:function(e,t){var n=this.getVariable(e);if(!n&&(e.uri===""||this.root.moduleResolver))throw new s("XPST0008",'"'+e.name+'": undeclared variable',t);var r=l(e);this.varRefs[r]=!0},addFunctionCall:function(e,t,n){var r=this.getFunction(e,t);if(!(!!r||e.uri!=="http://www.w3.org/2005/xquery-local-functions"&&!this.root.moduleResolver||(e.uri==="http://www.w3.org/2005/xpath-functions"||e.uri===""&&this.root.defaultFunctionNamespaces.concat(this.root.defaultFunctionNamespace).indexOf("http://www.w3.org/2005/xpath-functions")!==-1)&&e.name==="concat")&&!r)throw new s("XPST0008",'"'+e.name+"#"+t+'": undeclared function',n);var i=c(e,t);this.functionCalls[i]=!0},functions:u()["http://www.w3.org/2001/XMLSchema"].functions,getFunctions:function(){return this.root.functions},getFunction:function(e,t){var n=c(e,t),r;if(e.uri===""){var i=this;return this.root.defaultFunctionNamespaces.concat([this.root.defaultFunctionNamespace]).forEach(function(n){if(!!r)return!1;r=i.getFunction({uri:n,prefix:e.prefix,name:e.name},t)}),r}return this.root.functions[n]},addFunction:function(e,t,n){if(this!==this.root)throw new Error("addFunction() not invoked from the root static context.");var r=n.length;if(this.moduleNamespace===""||this.moduleNamespace===e.uri||e.uri===""&&this.defaultFunctionNamespace===this.moduleNamespace){var i=c(e,r);if(this.functions[i])throw new s("XQST0034",'"'+e.name+'": duplicate function declaration',t);return this.functions[i]={pos:t,params:n},this}throw new s("XQST0048",'"'+e.prefix+":"+e.name+'": Qname not library namespace',t)}};return h.root=t?t.root:h,h}},{"../tree_ops":11,"./errors":1,"./schema_built-in_types":3}],5:[function(e,t,n){n.Translator=function(t,n){"use strict";var r=e("./errors"),i=r.StaticError,s=r.StaticWarning,o=e("../tree_ops").TreeOps,u=e("./static_context").StaticContext,a=e("./handlers"),f=function(e,t){var n=[];return t.length===0?e:(e.children.forEach(function(e){e.name===t[0]&&t.length>1?n=f(e,t.slice(1)):e.name===t[0]&&n.push(e)}),n)},l=[];this.apply=function(e){try{e()}catch(t){if(t instanceof i)c(t);else{if(!(t instanceof s))throw t;h(t.getCode(),t.getMessage(),t.getPos())}}};var c=function(e){l.push({pos:e.getPos(),type:"error",level:"error",message:"["+e.getCode()+"] "+e.getMessage()})},h=function(e,t,n){l.push({pos:n,type:"warning",level:"warning",message:"["+e+"] "+t})};this.getMarkers=function(){return l};var p=this;t.pos=n.pos;var d=t,v=function(e){d=new u(d,e),d.parent.children.push(d)},m=function(e){e!==undefined&&(d.pos.el=e.el,d.pos.ec=e.ec),Object.keys(d.varRefs).forEach(function(e){d.variables[e]||(d.parent.varRefs[e]=!0)}),Object.keys(d.variables).forEach(function(e){!d.varRefs[e]&&d.variables[e].type!=="GroupingVariable"&&d.variables[e].type!=="CatchVar"&&h("W03",'Unused variable "$'+d.variables[e].qname.name+'"',d.variables[e].pos)}),d=d.parent};this.visitOnly=function(e,t){e.children.forEach(function(e){t.indexOf(e.name)!==-1&&p.visit(e)})},this.getFirstChild=function(e,t){var n;return e.children.forEach(function(e){e.name===t&&n===undefined&&(n=e)}),n},this.ModuleDecl=function(e){return this.visitChildren(e,a.ModuleDecl(p,t,e)),!0},this.Prolog=function(e){return this.visitOnly(e,["DefaultNamespaceDecl","Setter","NamespaceDecl","Import"]),n.index.forEach(function(e){if(e.name==="VarDecl")e.children.forEach(function(n){n.name==="VarName"&&p.apply(function(){var r=o.flatten(n),i=t.resolveQName(r,n.pos);t.addVariable(i,e.name,n.pos)})});else if(e.name==="FunctionDecl"){var n,r,i=[];e.children.forEach(function(e){e.name==="EQName"?(n=e,r=e.pos):e.name==="ParamList"&&e.children.forEach(function(e){e.name==="Param"&&i.push(o.flatten(e))})}),p.apply(function(){n=o.flatten(n),n=t.resolveQName(n,r),t.addFunction(n,r,i)})}}),this.visitOnly(e,["ContextItemDecl","AnnotatedDecl","OptionDecl"]),!0},this.ModuleImport=function(e){return this.visitChildren(e,a.ModuleImport(p,t,e)),!0},this.SchemaImport=function(e){return this.visitChildren(e,a.SchemaImport(p,t,e)),!0},this.DefaultNamespaceDecl=function(e){return this.visitChildren(e,a.DefaultNamespaceDecl(p,t,e)),!0},this.NamespaceDecl=function(e){return this.visitChildren(e,a.NamespaceDecl(p,t,e)),!0};var g={};this.AnnotatedDecl=function(e){return g={},this.visitChildren(e,a.NamespaceDecl(p,t,e)),!0},this.CompatibilityAnnotation=function(){return g["http://www.w3.org/2012/xquery#updating"]=[],!0},this.Annotation=function(e){return this.visitChildren(e,{EQName:function(e){var t=o.flatten(e);p.apply(function(){var n=d.resolveQName(t,e.pos);g[n.uri+"#"+n.name]=[]})}}),!0},this.VarDecl=function(e){try{var n=p.getFirstChild(e,"VarName"),r=o.flatten(n),i=d.resolveQName(r,n.pos),s=t.getVariable(i);s&&(s.annotations=g)}catch(u){}return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),!0},this.FunctionDecl=function(e){var t=g["http://www.w3.org/2012/xquery#updating"]!==undefined,n=f(e,["ReturnType"])[0],r=f(e,["EQName"])[0];!n&&!t&&h("W05","Untyped return value",r.pos);var i=!1;return e.children.forEach(function(e){if(e.name==="TOKEN"&&e.value==="external")return i=!0,!1}),i||(v(e.pos),this.visitChildren(e),m()),!0},this.VarRef=function(e){return this.visitChildren(e,a.VarRefHandler(p,d,e)),!0},this.Param=function(e){var t=f(e,["TypeDeclaration"])[0];return t||h("W05","Untyped function parameter",e.pos),this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.InlineFunctionExpr=function(e){return v(e.pos),this.visitChildren(e),m(),!0};var y=[],b=function(e){v(e.pos),y.push(0),p.visitChildren(e);for(var t=1;t<=y[y.length-1];t++)m(e.pos);y.pop(),m()};this.StatementsAndOptionalExpr=function(e){return b(e),!0},this.StatementsAndExpr=function(e){return b(e),!0},this.BlockStatement=function(e){return b(e),!0},this.VarDeclStatement=function(e){v(e.pos),y[y.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e))};var w=[];this.FLWORExpr=this.FLWORStatement=function(e){v(e.pos),w.push(0),this.visitChildren(e);for(var t=1;t<=w[w.length-1];t++)m(e.pos);return w.pop(),m(),!0},this.ForBinding=function(e){return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.LetBinding=function(e){return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.GroupingSpec=function(e){var t=!1;e.children.forEach(function(e){if(e.value===":=")return t=!0,!1});if(t){var n=e.children[0];return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),v(e.pos),w[w.length-1]++,this.visitChildren(n,a.VarHandler(p,d,n)),!0}},this.TumblingWindowClause=function(e){return this.visitOnly(e,["ExprSingle"]),v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),this.visitOnly(e,["WindowStartCondition","WindowEndCondition"]),!0},this.WindowVars=function(e){return v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.SlidingWindowClause=function(e){return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),this.visitOnly(e,["WindowStartCondition","WindowEndCondition"]),!0},this.PositionalVar=function(e){return this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.PositionalVar=function(e){return this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.CurrentItem=function(e){return this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.PreviousItem=function(e){return this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.NextItem=function(e){return this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.CountClause=function(e){return v(e.pos),w[w.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.CaseClause=function(e){return v(e.pos),this.visitChildren(e,a.VarHandler(p,d,e)),this.visitOnly(e,["ExprSingle"]),m(),!0},this.TransformExpr=function(e){return v(e.pos),this.visitChildren(e),m(),!0},this.TransformSpec=function(e){return this.visitOnly(e,["ExprSingle","VarValue","VarDefaultValue"]),this.visitChildren(e,a.VarHandler(p,d,e)),!0};var E=[];this.QuantifiedExpr=function(e){v(e.pos),E.push(0),this.visitChildren(e);for(var t=1;t<=E[E.length-1];t++)m(e.pos);return E.pop(),m(),!0},this.QuantifiedVarDecl=function(e){return this.visitOnly(e,["ExprSingle"]),v(e.pos),E[E.length-1]++,this.visitChildren(e,a.VarHandler(p,d,e)),!0},this.FunctionCall=function(e){this.visitOnly(e,["ArgumentList"]);var t=p.getFirstChild(e,"EQName"),n=o.flatten(t),r=f(e,["ArgumentList","Argument"]).length;return p.apply(function(){var i=d.resolveQName(n,e.pos);try{i.uri!==""&&(d.root.namespaces[i.uri].used=!0)}catch(s){}d.addFunctionCall(i,r,t.pos)}),!0},this.TryClause=function(e){return v(e.pos),this.visitChildren(e),m(),!0},this.CatchClause=function(e){v(e.pos);var t="err",n="http://www.w3.org/2005/xqt-errors",r={sl:0,sc:0,el:0,ec:0};return d.addVariable({prefix:t,uri:n,name:"code"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"description"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"value"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"module"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"line-number"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"column-number"},"CatchVar",r),d.addVariable({prefix:t,uri:n,name:"additional"},"CatchVar",r),this.visitChildren(e),m(),!0},this.Pragma=function(e){var n=o.flatten(f(e,["EQName"])[0]);n=t.resolveQName(n,e);var r=o.flatten(f(e,["PragmaContents"])[0]);if(n.name==="xqlint"&&n.uri==="http://xqlint.io"){v(e.pos);var i=r.match(/[a-zA-Z]+\(([^)]+)\)/g);return i.forEach(function(t){var n=t.substring(0,t.indexOf("(")),r=t.substring(0,t.length-1).substring(t.indexOf("(")+1).split(",").map(function(e){return e.trim()});n==="varrefs"&&r.forEach(function(t){var n=d.resolveQName(t.substring(1),e.pos);n.uri!==""&&(d.root.namespaces[n.uri].used=!0),d.addVarRef(n,e.pos)})}),this.visitChildren(e),m(),!0}},this.visit=function(e){var t=e.name,n=!1;typeof this[t]=="function"&&(n=this[t](e)===!0),n||this.visitChildren(e)},this.visitChildren=function(e,t){for(var n=0;n<e.children.length;n++){var r=e.children[n];t!==undefined&&typeof t[r.name]=="function"?t[r.name](r):this.visit(r)}},this.visit(n),Object.keys(t.variables).forEach(function(e){!t.varRefs[e]&&(t.variables[e].annotations["http://www.w3.org/2005/xpath-functions#private"]||t.moduleNamespace==="")&&t.variables[e].pos&&h("W03",'Unused variable "'+t.variables[e].qname.name+'"',t.variables[e].pos)}),Object.keys(t.namespaces).forEach(function(e){var n=t.namespaces[e];n.used===undefined&&!n.override&&n.type==="module"&&h("W04",'Unused module "'+e+'"',n.pos)})}},{"../tree_ops":11,"./errors":1,"./handlers":2,"./static_context":4}],6:[function(e,t,n){"use strict";function s(e,t,n){n=n||i;var r=[];for(var s=t-1;s>=0;s--){if(!n.test(e[s]))break;r.push(e[s])}return r.reverse().join("")}function o(e,t){var n=0,r=e.length-1,i=Math.floor((r+n)/2);while(r>n&&i>=0&&e[i].indexOf(t)!==0)t<e[i]?r=i-1:t>e[i]&&(n=i+1),i=Math.floor((r+n)/2);while(i>0&&e[i-1].indexOf(t)===0)i--;return i>=0?i:0}var r=e("../tree_ops").TreeOps,i=/[a-zA-Z_0-9\$]/,u=/[a-zA-Z_0-9\/\.:\-#]/,a="-._A-Za-z0-9:\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02ff\u0300-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd",f="["+a+"]",l="["+a+"\\$]",c=new RegExp(f),h=new RegExp(l),p={LetBinding:"Let binding",Param:"Function parameter",QuantifiedExpr:"Quantified expression binding",VarDeclStatement:"Local variable",ForBinding:"For binding",TumblingWindowClause:"Tumbling window binding",WindowVars:"Window variable",SlidingWindowClause:"Sliding window binding",PositionalVar:"Positional variable",CurrentItem:"Current item",PreviousItem:"Previous item",NextItem:"Next item",CountClause:"Count binding",GroupingVariable:"Grouping variable",VarDecl:"Module variable"},d=function(e,t){t.sort();var n=o(t,e),r=[];for(var i=n;i<t.length&&t[i].indexOf(e)===0;i++)r.push(t[i]);return r},v=function(e,t,n){var r=e.indexOf(":");if(r===-1){var i=[],s=n.getNamespaces();Object.keys(s).forEach(function(e){(s[e].type==="module"||e==="http://www.w3.org/2005/xquery-local-functions")&&i.push(s[e].prefix)});var o=d(e,i),u=function(e){return{name:e+":",value:e+":",meta:"prefix"}};return o.map(u)}return[]},m=function(e,t,n){var r=[],i={},s=n.getFunctions(),o="",u="",a=e,f=e.indexOf(":"),l=!1;if(f!==-1){u=e.substring(0,f),a=e.substring(f+1);var h=n.getNamespaceByPrefix(u);h&&(o=n.getNamespaceByPrefix(u).uri)}else l=!0,o=n.root.defaultFunctionNamespace;Object.keys(s).forEach(function(e){var t=s[e],u=e.substring(0,e.indexOf("#")),a=e.substring(e.indexOf("#")+1);a=a.substring(0,a.indexOf("#"));if(u!==o)return;l||(a=n.getNamespaces()[u].prefix+":"+a),a+="(";var f=a;f+=t.params.map(function(e,t){return"${"+(t+1)+":\\"+e.split(" ")[0]+"}"}).join(", "),a+=t.params.join(", "),a+=")",f+=")",r.push(a),i[a]=f});var p=d(e,r),v=function(e){return{name:e,value:e,meta:"function",priority:4,identifierRegex:c,snippet:i[e]}};return p.map(v)},g=function(e,t,n){var r="",i="",s=e.indexOf(":");s!==-1&&(i=e.substring(0,s),r=n.getNamespaceByPrefix(i).uri);var o=n.getVariables(),u=[],a={};Object.keys(o).forEach(function(e){var t=e.indexOf("#"),r=e.substring(0,t),i=e.substring(t+1);r!==""?(u.push(n.getPrefixByNamespace(r)+":"+i),a[n.getPrefixByNamespace(r)+":"+i]=o[e].type):(u.push(i),a[i]=o[e].type)});var f=d(e,u),l=function(e){return{name:"$"+e,value:"$"+e,meta:p[a[e]],priority:4,identifierRegex:h}};return f.map(l)},y=function(e,t,n){var r=s(e,t.col,c),i=e.substring(0,t.col-(r.length===0?0:r.length)),o=i[i.length-1]==="$";return o?g(r,t,n):r!==""?m(r,t,n).concat(v(r,t,n)):g(r,t,n).concat(m(r,t,n)).concat(v(r,t,n))},b=function(e,t,n){var r=s(e,t.col,u),i=d(r,n.getAvailableModuleNamespaces()),o=function(e){return{name:e,value:e,meta:"module",priority:4,identifierRegex:u}};return i.map(o)};n.complete=function(e,t,n,i){var s=e.split("\n")[i.line],o=r.findNode(t,i),u=r.findNode(n,i);return u=u?u:n,o&&o.name==="URILiteral"&&o.getParent&&o.getParent.name==="ModuleImport"?b(s,i,u):y(s,i,u)}},{"../tree_ops":11}],7:[function(e,t,n){n.StyleChecker=function(e,t){"use strict";var n=" ",r=[];this.getMarkers=function(){return r},this.WS=function(e){var t=e.value.split("\n");return t.forEach(function(i,s){var o=s===0,u=s===t.length-1;/\r$/.test(i)&&r.push({pos:{sl:e.pos.sl+s,el:e.pos.sl+s,sc:i.length-1,ec:i.length},type:"warning",level:"warning",message:"[SW01] Detected CRLF"});var a=i.match(/\t+/);a!==null&&r.push({pos:{sl:e.pos.sl+s,el:e.pos.sl+s,sc:a.index,ec:a.index+a[0].length},type:"warning",level:"warning",message:"[SW02] Tabs detected"});if(!o&&u){a=i.match(/^\ +/);if(a!==null){var f=a[0].length%n.length;f!==0&&r.push({pos:{sl:e.pos.sl+s,el:e.pos.sl+s,sc:a.index,ec:a.index+a[0].length},type:"warning",level:"warning",message:"[SW03] Unexcepted indentation of "+a[0].length})}}}),!0},this.visit=function(e,t){var n=e.name,r=!1;typeof this[n]=="function"&&(r=this[n](e,t)===!0),r||this.visitChildren(e)},this.visitChildren=function(e,t){for(var n=0;n<e.children.length;n++){var r=e.children[n];t!==undefined&&typeof t[r.name]=="function"?t[r.name](r):this.visit(r)}},t.split("\n").forEach(function(e,t){var n=e.match(/\ +$/);n&&r.push({pos:{sl:t,el:t,sc:n.index,ec:n.index+n[0].length},type:"warning",level:"warning",message:"[SW04] Trailing whitespace"})}),this.visit(e)}},{}],8:[function(e,t,n){n.JSONParseTreeHandler=function(e){"use strict";function f(e){return{name:e,children:[],getParent:null,pos:{sl:0,sc:0,el:0,ec:0}}}function l(e){var t=f(e);r===null?(r=t,r.index=[],i=t):(t.getParent=i,i.children.push(t),i=i.children[i.children.length-1])}function c(){if(i.children.length>0){var e=i.children[0],s=null;for(var o=i.children.length-1;o>=0;o--){s=i.children[o];if(s.pos.el!==0||s.pos.ec!==0)break}i.pos.sl=e.pos.sl,i.pos.sc=e.pos.sc,i.pos.el=s.pos.el,i.pos.ec=s.pos.ec}i.name==="FunctionName"&&(i.name="EQName"),i.name==="EQName"&&i.value===undefined&&(i.value=i.children[0].value,i.children.pop()),t.indexOf(i.name)!==-1&&r.index.push(i),i.getParent!==null&&(i=i.getParent);if(i.children.length>0){var u=i.children[i.children.length-1];u.children.length===1&&n.indexOf(u.name)!==-1&&(i.children[i.children.length-1]=u.children[0])}}function h(e,t,n){var r=n-o;i.value=s.substring(0,r),s=s.substring(r),o=n;var f=a,l=u,c=f+i.value.split("\n").length-1,h=i.value.lastIndexOf("\n"),p=h===-1?l+i.value.length:i.value.substring(h+1).length;a=c,u=p,i.pos.sl=f,i.pos.sc=l,i.pos.el=c,i.pos.ec=p}var t=["VarDecl","FunctionDecl"],n=["OrExpr","AndExpr","ComparisonExpr","StringConcatExpr","RangeExpr","UnionExpr","IntersectExceptExpr","InstanceofExpr","TreatExpr","CastableExpr","CastExpr","UnaryExpr","ValueExpr","FTContainsExpr","SimpleMapExpr","PathExpr","RelativePathExpr","PostfixExpr","StepExpr"],r=null,i=null,s=e,o=0,u=0,a=0;this.closeParseTree=function(){while(i.getParent!==null)c();c()},this.peek=function(){return i},this.getParseTree=function(){return r},this.reset=function(){},this.startNonterminal=function(e,t){l(e,t)},this.endNonterminal=function(){c()},this.terminal=function(e,t,n){e=e.substring(0,1)==="'"&&e.substring(e.length-1)==="'"?"TOKEN":e,l(e,t),h(i,t,n),c()},this.whitespace=function(e,t){var n="WS";l(n,e),h(i,e,t),c()}}},{}],9:[function(e,t,n){var r=n.JSONiqParser=function i(e,t){function r(e,t){ic=t,ac=e,fc=e.length,s(0,0,0)}function s(e,t,n){Xl=t,Vl=t,$l=e,Jl=t,Kl=n,Ql=0,cc=n,ec=-1,sc={},ic.reset(ac)}function o(){ic.startNonterminal("Module",Vl);switch($l){case 170:ql(168);break;default:Wl=$l}(Wl==64682||Wl==137898)&&u(),Il(278);switch($l){case 185:ql(146);break;default:Wl=$l}switch(Wl){case 95929:jl(),a();break;default:jl(),Za()}ic.endNonterminal("Module",Vl)}function u(){ic.startNonterminal("VersionDecl",Vl),Pl(170),Il(120);switch($l){case 126:Pl(126),Il(17),Pl(11);break;default:Pl(269),Il(17),Pl(11),Il(113),$l==126&&(Pl(126),Il(17),Pl(11))}Il(29),jl(),c(),ic.endNonterminal("VersionDecl",Vl)}function a(){ic.startNonterminal("LibraryModule",Vl),f(),Il(142),jl(),l(),ic.endNonterminal("LibraryModule",Vl)}function f(){ic.startNonterminal("ModuleDecl",Vl),Pl(185),Il(64),Pl(187),Il(240),jl(),Ga(),Il(30),Pl(61),Il(15),Pl(7),Il(29),jl(),c(),ic.endNonterminal("ModuleDecl",Vl)}function l(){ic.startNonterminal("Prolog",Vl);for(;;){Il(278);switch($l){case 109:ql(207);break;case 155:ql(169);break;default:Wl=$l}if(Wl!=43117&&Wl!=44141&&Wl!=50797&&Wl!=53869&&Wl!=54893&&Wl!=56429&&Wl!=73325&&Wl!=94875&&Wl!=95853&&Wl!=106093&&Wl!=115821&&Wl!=117403)break;switch($l){case 109:ql(201);break;default:Wl=$l}if(Wl==56429){Wl=uc(0,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{_(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(0,Vl,Wl)}}switch(Wl){case-1:jl(),M();break;case 95853:jl(),O();break;case 155:jl(),C();break;case 73325:jl(),D();break;default:jl(),h()}Il(29),jl(),c()}for(;;){Il(278);switch($l){case 109:ql(202);break;default:Wl=$l}if(Wl!=17005&&Wl!=49261&&Wl!=52333&&Wl!=75373&&Wl!=80493&&Wl!=83565&&Wl!=104045&&Wl!=134765&&Wl!=137325)break;switch($l){case 109:ql(197);break;default:Wl=$l}switch(Wl){case 52333:jl(),R();break;case 104045:jl(),Q();break;default:jl(),P()}Il(29),jl(),c()}ic.endNonterminal("Prolog",Vl)}function c(){ic.startNonterminal("Separator",Vl),Pl(54),ic.endNonterminal("Separator",Vl)}function h(){ic.startNonterminal("Setter",Vl);switch($l){case 109:ql(194);break;default:Wl=$l}if(Wl==56429){Wl=uc(1,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{v(),Wl=-2}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),w(),Wl=-6}catch(f){Wl=-9}}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(1,Vl,Wl)}}switch(Wl){case 44141:p();break;case-2:d();break;case 43117:m();break;case 50797:g();break;case 106093:y();break;case-6:b();break;case 115821:Io();break;case 53869:E();break;default:T()}ic.endNonterminal("Setter",Vl)}function p(){ic.startNonterminal("BoundarySpaceDecl",Vl),Pl(109),Il(36),Pl(86),Il(137);switch($l){case 218:Pl(218);break;default:Pl(246)}ic.endNonterminal("BoundarySpaceDecl",Vl)}function d(){ic.startNonterminal("DefaultCollationDecl",Vl),Pl(109),Il(49),Pl(110),Il(41),Pl(95),Il(15),Pl(7),ic.endNonterminal("DefaultCollationDecl",Vl)}function v(){Hl(109),Il(49),Hl(110),Il(41),Hl(95),Il(15),Hl(7)}function m(){ic.startNonterminal("BaseURIDecl",Vl),Pl(109),Il(35),Pl(84),Il(15),Pl(7),ic.endNonterminal("BaseURIDecl",Vl)}function g(){ic.startNonterminal("ConstructionDecl",Vl),Pl(109),Il(44),Pl(99),Il(137);switch($l){case 246:Pl(246);break;default:Pl(218)}ic.endNonterminal("ConstructionDecl",Vl)}function y(){ic.startNonterminal("OrderingModeDecl",Vl),Pl(109),Il(71),Pl(207),Il(135);switch($l){case 206:Pl(206);break;default:Pl(262)}ic.endNonterminal("OrderingModeDecl",Vl)}function b(){ic.startNonterminal("EmptyOrderDecl",Vl),Pl(109),Il(49),Pl(110),Il(70),Pl(205),Il(52),Pl(124),Il(125);switch($l){case 149:Pl(149);break;default:Pl(176)}ic.endNonterminal("EmptyOrderDecl",Vl)}function w(){Hl(109),Il(49),Hl(110),Il(70),Hl(205),Il(52),Hl(124),Il(125);switch($l){case 149:Hl(149);break;default:Hl(176)}}function E(){ic.startNonterminal("CopyNamespacesDecl",Vl),Pl(109),Il(47),Pl(105),Il(132),jl(),S(),Il(25),Pl(42),Il(127),jl(),x(),ic.endNonterminal("CopyNamespacesDecl",Vl)}function S(){ic.startNonterminal("PreserveMode",Vl);switch($l){case 218:Pl(218);break;default:Pl(193)}ic.endNonterminal("PreserveMode",Vl)}function x(){ic.startNonterminal("InheritMode",Vl);switch($l){case 159:Pl(159);break;default:Pl(192)}ic.endNonterminal("InheritMode",Vl)}function T(){ic.startNonterminal("DecimalFormatDecl",Vl),Pl(109),Il(118);switch($l){case 107:Pl(107),Il(246),jl(),$a();break;default:Pl(110),Il(48),Pl(107)}for(;;){Il(204);if($l==54)break;jl(),N(),Il(30),Pl(61),Il(17),Pl(11)}ic.endNonterminal("DecimalFormatDecl",Vl)}function N(){ic.startNonterminal("DFPropertyName",Vl);switch($l){case 108:Pl(108);break;case 151:Pl(151);break;case 158:Pl(158);break;case 182:Pl(182);break;case 68:Pl(68);break;case 213:Pl(213);break;case 212:Pl(212);break;case 280:Pl(280);break;case 117:Pl(117);break;default:Pl(211)}ic.endNonterminal("DFPropertyName",Vl)}function C(){ic.startNonterminal("Import",Vl);switch($l){case 155:ql(130);break;default:Wl=$l}switch(Wl){case 117403:k();break;default:A()}ic.endNonterminal("Import",Vl)}function k(){ic.startNonterminal("SchemaImport",Vl),Pl(155),Il(76),Pl(229),Il(141),$l!=7&&(jl(),L()),Il(15),Pl(7),Il(112);if($l==82){Pl(82),Il(15),Pl(7);for(;;){Il(107);if($l!=42)break;Pl(42),Il(15),Pl(7)}}ic.endNonterminal("SchemaImport",Vl)}function L(){ic.startNonterminal("SchemaPrefix",Vl);switch($l){case 187:Pl(187),Il(240),jl(),Ga(),Il(30),Pl(61);break;default:Pl(110),Il(50),Pl(122),Il(64),Pl(187)}ic.endNonterminal("SchemaPrefix",Vl)}function A(){ic.startNonterminal("ModuleImport",Vl),Pl(155),Il(63),Pl(185),Il(93),$l==187&&(Pl(187),Il(240),jl(),Ga(),Il(30),Pl(61)),Il(15),Pl(7),Il(112);if($l==82){Pl(82),Il(15),Pl(7);for(;;){Il(107);if($l!=42)break;Pl(42),Il(15),Pl(7)}}ic.endNonterminal("ModuleImport",Vl)}function O(){ic.startNonterminal("NamespaceDecl",Vl),Pl(109),Il(64),Pl(187),Il(240),jl(),Ga(),Il(30),Pl(61),Il(15),Pl(7),ic.endNonterminal("NamespaceDecl",Vl)}function M(){ic.startNonterminal("DefaultNamespaceDecl",Vl),Pl(109),Il(49),Pl(110),Il(119);switch($l){case 122:Pl(122);break;default:Pl(147)}Il(64),Pl(187),Il(15),Pl(7),ic.endNonterminal("DefaultNamespaceDecl",Vl)}function _(){Hl(109),Il(49),Hl(110),Il(119);switch($l){case 122:Hl(122);break;default:Hl(147)}Il(64),Hl(187),Il(15),Hl(7)}function D(){ic.startNonterminal("FTOptionDecl",Vl),Pl(109),Il(55),Pl(143),Il(84),jl(),Qu(),ic.endNonterminal("FTOptionDecl",Vl)}function P(){ic.startNonterminal("AnnotatedDecl",Vl),Pl(109);for(;;){Il(192);if($l!=33&&$l!=263)break;switch($l){case 263:jl(),H();break;default:jl(),B()}}switch($l){case 268:jl(),F();break;case 147:jl(),_l();break;case 96:jl(),Ca();break;case 157:jl(),Ha();break;default:jl(),Ba()}ic.endNonterminal("AnnotatedDecl",Vl)}function H(){ic.startNonterminal("CompatibilityAnnotation",Vl),Pl(263),ic.endNonterminal("CompatibilityAnnotation",Vl)}function B(){ic.startNonterminal("Annotation",Vl),Pl(33),Il(246),jl(),$a(),Il(193);if($l==35){Pl(35),Il(190),jl(),di();for(;;){Il(105);if($l!=42)break;Pl(42),Il(190),jl(),di()}Pl(38)}ic.endNonterminal("Annotation",Vl)}function j(){Hl(33),Il(246),Ja(),Il(193);if($l==35){Hl(35),Il(190),vi();for(;;){Il(105);if($l!=42)break;Hl(42),Il(190),vi()}Hl(38)}}function F(){ic.startNonterminal("VarDecl",Vl),Pl(268),Il(21),Pl(31),Il(246),jl(),Ti(),Il(157),$l==80&&(jl(),Cs()),Il(110);switch($l){case 53:Pl(53),Il(267),jl(),I();break;default:Pl(134),Il(108),$l==53&&(Pl(53),Il(267),jl(),q())}ic.endNonterminal("VarDecl",Vl)}function I(){ic.startNonterminal("VarValue",Vl),Wf(),ic.endNonterminal("VarValue",Vl)}function q(){ic.startNonterminal("VarDefaultValue",Vl),Wf(),ic.endNonterminal("VarDefaultValue",Vl)}function R(){ic.startNonterminal("ContextItemDecl",Vl),Pl(109),Il(46),Pl(102),Il(58),Pl(167),Il(157),$l==80&&(Pl(80),Il(254),jl(),_s()),Il(110);switch($l){case 53:Pl(53),Il(267),jl(),I();break;default:Pl(134),Il(108),$l==53&&(Pl(53),Il(267),jl(),q())}ic.endNonterminal("ContextItemDecl",Vl)}function U(){ic.startNonterminal("ParamList",Vl),W();for(;;){Il(105);if($l!=42)break;Pl(42),Il(21),jl(),W()}ic.endNonterminal("ParamList",Vl)}function z(){X();for(;;){Il(105);if($l!=42)break;Hl(42),Il(21),X()}}function W(){ic.startNonterminal("Param",Vl),Pl(31),Il(246),jl(),$a(),Il(153),$l==80&&(jl(),Cs()),ic.endNonterminal("Param",Vl)}function X(){Hl(31),Il(246),Ja(),Il(153),$l==80&&ks()}function V(){ic.startNonterminal("FunctionBody",Vl),J(),ic.endNonterminal("FunctionBody",Vl)}function $(){K()}function J(){ic.startNonterminal("EnclosedExpr",Vl),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("EnclosedExpr",Vl)}function K(){Hl(281),Il(267),Y(),Hl(287)}function Q(){ic.startNonterminal("OptionDecl",Vl),Pl(109),Il(69),Pl(203),Il(246),jl(),$a(),Il(17),Pl(11),ic.endNonterminal("OptionDecl",Vl)}function G(){ic.startNonterminal("Expr",Vl),Wf();for(;;){if($l!=42)break;Pl(42),Il(267),jl(),Wf()}ic.endNonterminal("Expr",Vl)}function Y(){Xf();for(;;){if($l!=42)break;Hl(42),Il(267),Xf()}}function Z(){ic.startNonterminal("FLWORExpr",Vl),tt();for(;;){Il(195);if($l==224)break;jl(),rt()}jl(),rn(),ic.endNonterminal("FLWORExpr",Vl)}function et(){nt();for(;;){Il(195);if($l==224)break;it()}sn()}function tt(){ic.startNonterminal("InitialClause",Vl);switch($l){case 139:ql(151);break;default:Wl=$l}switch(Wl){case 16011:st();break;case 177:vt();break;default:bt()}ic.endNonterminal("InitialClause",Vl)}function nt(){switch($l){case 139:ql(151);break;default:Wl=$l}switch(Wl){case 16011:ot();break;case 177:mt();break;default:wt()}}function rt(){ic.startNonterminal("IntermediateClause",Vl);switch($l){case 139:case 177:tt();break;case 272:It();break;case 150:Rt();break;case 106:jt();break;default:Kt()}ic.endNonterminal("IntermediateClause",Vl)}function it(){switch($l){case 139:case 177:nt();break;case 272:qt();break;case 150:Ut();break;case 106:Ft();break;default:Qt()}}function st(){ic.startNonterminal("ForClause",Vl),Pl(139),Il(21),jl(),ut();for(;;){if($l!=42)break;Pl(42),Il(21),jl(),ut()}ic.endNonterminal("ForClause",Vl)}function ot(){Hl(139),Il(21),at();for(;;){if($l!=42)break;Hl(42),Il(21),at()}}function ut(){ic.startNonterminal("ForBinding",Vl),Pl(31),Il(246),jl(),Ti(),Il(182),$l==80&&(jl(),Cs()),Il(173),$l==73&&(jl(),ft()),Il(160),$l==82&&(jl(),ct()),Il(126),$l==232&&(jl(),pt()),Il(56),Pl(156),Il(267),jl(),Wf(),ic.endNonterminal("ForBinding",Vl)}function at(){Hl(31),Il(246),Ni(),Il(182),$l==80&&ks(),Il(173),$l==73&&lt(),Il(160),$l==82&&ht(),Il(126),$l==232&&dt(),Il(56),Hl(156),Il(267),Xf()}function ft(){ic.startNonterminal("AllowingEmpty",Vl),Pl(73),Il(52),Pl(124),ic.endNonterminal("AllowingEmpty",Vl)}function lt(){Hl(73),Il(52),Hl(124)}function ct(){ic.startNonterminal("PositionalVar",Vl),Pl(82),Il(21),Pl(31),Il(246),jl(),Ti(),ic.endNonterminal("PositionalVar",Vl)}function ht(){Hl(82),Il(21),Hl(31),Il(246),Ni()}function pt(){ic.startNonterminal("FTScoreVar",Vl),Pl(232),Il(21),Pl(31),Il(246),jl(),Ti(),ic.endNonterminal("FTScoreVar",Vl)}function dt(){Hl(232),Il(21),Hl(31),Il(246),Ni()}function vt(){ic.startNonterminal("LetClause",Vl),Pl(177),Il(100),jl(),gt();for(;;){if($l!=42)break;Pl(42),Il(100),jl(),gt()}ic.endNonterminal("LetClause",Vl)}function mt(){Hl(177),Il(100),yt();for(;;){if($l!=42)break;Hl(42),Il(100),yt()}}function gt(){ic.startNonterminal("LetBinding",Vl);switch($l){case 31:Pl(31),Il(246),jl(),Ti(),Il(109),$l==80&&(jl(),Cs());break;default:pt()}Il(28),Pl(53),Il(267),jl(),Wf(),ic.endNonterminal("LetBinding",Vl)}function yt(){switch($l){case 31:Hl(31),Il(246),Ni(),Il(109),$l==80&&ks();break;default:dt()}Il(28),Hl(53),Il(267),Xf()}function bt(){ic.startNonterminal("WindowClause",Vl),Pl(139),Il(139);switch($l){case 257:jl(),Et();break;default:jl(),xt()}ic.endNonterminal("WindowClause",Vl)}function wt(){Hl(139),Il(139);switch($l){case 257:St();break;default:Tt()}}function Et(){ic.startNonterminal("TumblingWindowClause",Vl),Pl(257),Il(88),Pl(275),Il(21),Pl(31),Il(246),jl(),Ti(),Il(114),$l==80&&(jl(),Cs()),Il(56),Pl(156),Il(267),jl(),Wf(),jl(),Nt();if($l==127||$l==202)jl(),kt();ic.endNonterminal("TumblingWindowClause",Vl)}function St(){Hl(257),Il(88),Hl(275),Il(21),Hl(31),Il(246),Ni(),Il(114),$l==80&&ks(),Il(56),Hl(156),Il(267),Xf(),Ct(),($l==127||$l==202)&&Lt()}function xt(){ic.startNonterminal("SlidingWindowClause",Vl),Pl(239),Il(88),Pl(275),Il(21),Pl(31),Il(246),jl(),Ti(),Il(114),$l==80&&(jl(),Cs()),Il(56),Pl(156),Il(267),jl(),Wf(),jl(),Nt(),jl(),kt(),ic.endNonterminal("SlidingWindowClause",Vl)}function Tt(){Hl(239),Il(88),Hl(275),Il(21),Hl(31),Il(246),Ni(),Il(114),$l==80&&ks(),Il(56),Hl(156),Il(267),Xf(),Ct(),Lt()}function Nt(){ic.startNonterminal("WindowStartCondition",Vl),Pl(242),Il(181),jl(),At(),Il(86),Pl(271),Il(267),jl(),Wf(),ic.endNonterminal("WindowStartCondition",Vl)}function Ct(){Hl(242),Il(181),Ot(),Il(86),Hl(271),Il(267),Xf()}function kt(){ic.startNonterminal("WindowEndCondition",Vl),$l==202&&Pl(202),Il(53),Pl(127),Il(181),jl(),At(),Il(86),Pl(271),Il(267),jl(),Wf(),ic.endNonterminal("WindowEndCondition",Vl)}function Lt(){$l==202&&Hl(202),Il(53),Hl(127),Il(181),Ot(),Il(86),Hl(271),Il(267),Xf()}function At(){ic.startNonterminal("WindowVars",Vl),$l==31&&(Pl(31),Il(246),jl(),Mt()),Il(174),$l==82&&(jl(),ct()),Il(163),$l==219&&(Pl(219),Il(21),Pl(31),Il(246),jl(),Dt()),Il(131),$l==190&&(Pl(190),Il(21),Pl(31),Il(246),jl(),Ht()),ic.endNonterminal("WindowVars",Vl)}function Ot(){$l==31&&(Hl(31),Il(246),_t()),Il(174),$l==82&&ht(),Il(163),$l==219&&(Hl(219),Il(21),Hl(31),Il(246),Pt()),Il(131),$l==190&&(Hl(190),Il(21),Hl(31),Il(246),Bt())}function Mt(){ic.startNonterminal("CurrentItem",Vl),$a(),ic.endNonterminal("CurrentItem",Vl)}function _t(){Ja()}function Dt(){ic.startNonterminal("PreviousItem",Vl),$a(),ic.endNonterminal("PreviousItem",Vl)}function Pt(){Ja()}function Ht(){ic.startNonterminal("NextItem",Vl),$a(),ic.endNonterminal("NextItem",Vl)}function Bt(){Ja()}function jt(){ic.startNonterminal("CountClause",Vl),Pl(106),Il(21),Pl(31),Il(246),jl(),Ti(),ic.endNonterminal("CountClause",Vl)}function Ft(){Hl(106),Il(21),Hl(31),Il(246),Ni()}function It(){ic.startNonterminal("WhereClause",Vl),Pl(272),Il(267),jl(),Wf(),ic.endNonterminal("WhereClause",Vl)}function qt(){Hl(272),Il(267),Xf()}function Rt(){ic.startNonterminal("GroupByClause",Vl),Pl(150),Il(37),Pl(88),Il(267),jl(),zt(),ic.endNonterminal("GroupByClause",Vl)}function Ut(){Hl(150),Il(37),Hl(88),Il(267),Wt()}function zt(){ic.startNonterminal("GroupingSpecList",Vl),Xt();for(;;){Il(198);if($l!=42)break;Pl(42),Il(267),jl(),Xt()}ic.endNonterminal("GroupingSpecList",Vl)}function Wt(){Vt();for(;;){Il(198);if($l!=42)break;Hl(42),Il(267),Vt()}}function Xt(){ic.startNonterminal("GroupingSpec",Vl);switch($l){case 31:ql(246);break;default:Wl=$l}if(Wl==3103||Wl==36383||Wl==37407||Wl==37919||Wl==38431||Wl==38943||Wl==39967||Wl==40479||Wl==40991||Wl==41503||Wl==42015||Wl==42527||Wl==43039||Wl==43551||Wl==44063||Wl==44575||Wl==45599||Wl==46111||Wl==46623||Wl==47135||Wl==48159||Wl==48671||Wl==49695||Wl==50207||Wl==50719||Wl==52255||Wl==52767||Wl==53279||Wl==53791||Wl==54303||Wl==54815||Wl==55839||Wl==56351||Wl==56863||Wl==57375||Wl==57887||Wl==58399||Wl==60959||Wl==61471||Wl==61983||Wl==62495||Wl==63007||Wl==63519||Wl==64031||Wl==64543||Wl==65055||Wl==66079||Wl==66591||Wl==67615||Wl==68127||Wl==68639||Wl==69151||Wl==69663||Wl==70175||Wl==70687||Wl==71199||Wl==72735||Wl==73247||Wl==75295||Wl==75807||Wl==76831||Wl==77855||Wl==78367||Wl==78879||Wl==79391||Wl==79903||Wl==80415||Wl==82463||Wl==82975||Wl==83487||Wl==83999||Wl==84511||Wl==85023||Wl==85535||Wl==86047||Wl==86559||Wl==87071||Wl==88607||Wl==89119||Wl==89631||Wl==90655||Wl==91679||Wl==92703||Wl==93727||Wl==94239||Wl==94751||Wl==95775||Wl==96287||Wl==96799||Wl==99359||Wl==99871||Wl==100895||Wl==101407||Wl==103455||Wl==103967||Wl==104479||Wl==104991||Wl==105503||Wl==106015||Wl==107551||Wl==110623||Wl==111135||Wl==112671||Wl==113695||Wl==114207||Wl==114719||Wl==115231||Wl==115743||Wl==116767||Wl==117279||Wl==117791||Wl==118303||Wl==118815||Wl==119327||Wl==119839||Wl==122399||Wl==122911||Wl==123423||Wl==123935||Wl==125471||Wl==126495||Wl==127007||Wl==127519||Wl==129567||Wl==130079||Wl==130591||Wl==131103||Wl==131615||Wl==132127||Wl==132639||Wl==133151||Wl==134175||Wl==134687||Wl==136223||Wl==136735||Wl==137247||Wl==137759||Wl==139295||Wl==139807||Wl==141343){Wl=uc(2,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Jt(),Il(206);if($l==53||$l==80)$l==80&&ks(),Il(28),Hl(53),Il(267),Xf();$l==95&&(Hl(95),Il(15),Hl(7)),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(2,Vl,Wl)}}switch(Wl){case-1:$t(),Il(206);if($l==53||$l==80)$l==80&&(jl(),Cs()),Il(28),Pl(53),Il(267),jl(),Wf();$l==95&&(Pl(95),Il(15),Pl(7));break;default:Wf()}ic.endNonterminal("GroupingSpec",Vl)}function Vt(){switch($l){case 31:ql(246);break;default:Wl=$l}if(Wl==3103||Wl==36383||Wl==37407||Wl==37919||Wl==38431||Wl==38943||Wl==39967||Wl==40479||Wl==40991||Wl==41503||Wl==42015||Wl==42527||Wl==43039||Wl==43551||Wl==44063||Wl==44575||Wl==45599||Wl==46111||Wl==46623||Wl==47135||Wl==48159||Wl==48671||Wl==49695||Wl==50207||Wl==50719||Wl==52255||Wl==52767||Wl==53279||Wl==53791||Wl==54303||Wl==54815||Wl==55839||Wl==56351||Wl==56863||Wl==57375||Wl==57887||Wl==58399||Wl==60959||Wl==61471||Wl==61983||Wl==62495||Wl==63007||Wl==63519||Wl==64031||Wl==64543||Wl==65055||Wl==66079||Wl==66591||Wl==67615||Wl==68127||Wl==68639||Wl==69151||Wl==69663||Wl==70175||Wl==70687||Wl==71199||Wl==72735||Wl==73247||Wl==75295||Wl==75807||Wl==76831||Wl==77855||Wl==78367||Wl==78879||Wl==79391||Wl==79903||Wl==80415||Wl==82463||Wl==82975||Wl==83487||Wl==83999||Wl==84511||Wl==85023||Wl==85535||Wl==86047||Wl==86559||Wl==87071||Wl==88607||Wl==89119||Wl==89631||Wl==90655||Wl==91679||Wl==92703||Wl==93727||Wl==94239||Wl==94751||Wl==95775||Wl==96287||Wl==96799||Wl==99359||Wl==99871||Wl==100895||Wl==101407||Wl==103455||Wl==103967||Wl==104479||Wl==104991||Wl==105503||Wl==106015||Wl==107551||Wl==110623||Wl==111135||Wl==112671||Wl==113695||Wl==114207||Wl==114719||Wl==115231||Wl==115743||Wl==116767||Wl==117279||Wl==117791||Wl==118303||Wl==118815||Wl==119327||Wl==119839||Wl==122399||Wl==122911||Wl==123423||Wl==123935||Wl==125471||Wl==126495||Wl==127007||Wl==127519||Wl==129567||Wl==130079||Wl==130591||Wl==131103||Wl==131615||Wl==132127||Wl==132639||Wl==133151||Wl==134175||Wl==134687||Wl==136223||Wl==136735||Wl==137247||Wl==137759||Wl==139295||Wl==139807||Wl==141343){Wl=uc(2,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Jt(),Il(206);if($l==53||$l==80)$l==80&&ks(),Il(28),Hl(53),Il(267),Xf();$l==95&&(Hl(95),Il(15),Hl(7)),oc(2,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(2,t,-2)}}}switch(Wl){case-1:Jt(),Il(206);if($l==53||$l==80)$l==80&&ks(),Il(28),Hl(53),Il(267),Xf();$l==95&&(Hl(95),Il(15),Hl(7));break;case-3:break;default:Xf()}}function $t(){ic.startNonterminal("GroupingVariable",Vl),Pl(31),Il(246),jl(),Ti(),ic.endNonterminal("GroupingVariable",Vl)}function Jt(){Hl(31),Il(246),Ni()}function Kt(){ic.startNonterminal("OrderByClause",Vl);switch($l){case 205:Pl(205),Il(37),Pl(88);break;default:Pl(241),Il(70),Pl(205),Il(37),Pl(88)}Il(267),jl(),Gt(),ic.endNonterminal("OrderByClause",Vl)}function Qt(){switch($l){case 205:Hl(205),Il(37),Hl(88);break;default:Hl(241),Il(70),Hl(205),Il(37),Hl(88)}Il(267),Yt()}function Gt(){ic.startNonterminal("OrderSpecList",Vl),Zt();for(;;){Il(198);if($l!=42)break;Pl(42),Il(267),jl(),Zt()}ic.endNonterminal("OrderSpecList",Vl)}function Yt(){en();for(;;){Il(198);if($l!=42)break;Hl(42),Il(267),en()}}function Zt(){ic.startNonterminal("OrderSpec",Vl),Wf(),jl(),tn(),ic.endNonterminal("OrderSpec",Vl)}function en(){Xf(),nn()}function tn(){ic.startNonterminal("OrderModifier",Vl);if($l==81||$l==114)switch($l){case 81:Pl(81);break;default:Pl(114)}Il(203);if($l==124){Pl(124),Il(125);switch($l){case 149:Pl(149);break;default:Pl(176)}}Il(199),$l==95&&(Pl(95),Il(15),Pl(7)),ic.endNonterminal("OrderModifier",Vl)}function nn(){if($l==81||$l==114)switch($l){case 81:Hl(81);break;default:Hl(114)}Il(203);if($l==124){Hl(124),Il(125);switch($l){case 149:Hl(149);break;default:Hl(176)}}Il(199),$l==95&&(Hl(95),Il(15),Hl(7))}function rn(){ic.startNonterminal("ReturnClause",Vl),Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("ReturnClause",Vl)}function sn(){Hl(224),Il(267),Xf()}function on(){ic.startNonterminal("QuantifiedExpr",Vl);switch($l){case 240:Pl(240);break;default:Pl(130)}Il(21),jl(),an();for(;;){if($l!=42)break;Pl(42),Il(21),jl(),an()}Pl(228),Il(267),jl(),Wf(),ic.endNonterminal("QuantifiedExpr",Vl)}function un(){switch($l){case 240:Hl(240);break;default:Hl(130)}Il(21),fn();for(;;){if($l!=42)break;Hl(42),Il(21),fn()}Hl(228),Il(267),Xf()}function an(){ic.startNonterminal("QuantifiedVarDecl",Vl),Pl(31),Il(246),jl(),Ti(),Il(114),$l==80&&(jl(),Cs()),Il(56),Pl(156),Il(267),jl(),Wf(),ic.endNonterminal("QuantifiedVarDecl",Vl)}function fn(){Hl(31),Il(246),Ni(),Il(114),$l==80&&ks(),Il(56),Hl(156),Il(267),Xf()}function ln(){ic.startNonterminal("SwitchExpr",Vl),Pl(248),Il(22),Pl(35),Il(267),jl(),G(),Pl(38);for(;;){Il(38),jl(),hn();if($l!=89)break}Pl(110),Il(73),Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("SwitchExpr",Vl)}function cn(){Hl(248),Il(22),Hl(35),Il(267),Y(),Hl(38);for(;;){Il(38),pn();if($l!=89)break}Hl(110),Il(73),Hl(224),Il(267),Xf()}function hn(){ic.startNonterminal("SwitchCaseClause",Vl);for(;;){Pl(89),Il(267),jl(),dn();if($l!=89)break}Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("SwitchCaseClause",Vl)}function pn(){for(;;){Hl(89),Il(267),vn();if($l!=89)break}Hl(224),Il(267),Xf()}function dn(){ic.startNonterminal("SwitchCaseOperand",Vl),Wf(),ic.endNonterminal("SwitchCaseOperand",Vl)}function vn(){Xf()}function mn(){ic.startNonterminal("TypeswitchExpr",Vl),Pl(259),Il(22),Pl(35),Il(267),jl(),G(),Pl(38);for(;;){Il(38),jl(),yn();if($l!=89)break}Pl(110),Il(99),$l==31&&(Pl(31),Il(246),jl(),Ti()),Il(73),Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("TypeswitchExpr",Vl)}function gn(){Hl(259),Il(22),Hl(35),Il(267),Y(),Hl(38);for(;;){Il(38),bn();if($l!=89)break}Hl(110),Il(99),$l==31&&(Hl(31),Il(246),Ni()),Il(73),Hl(224),Il(267),Xf()}function yn(){ic.startNonterminal("CaseClause",Vl),Pl(89),Il(258),$l==31&&(Pl(31),Il(246),jl(),Ti(),Il(33),Pl(80)),Il(254),jl(),wn(),Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("CaseClause",Vl)}function bn(){Hl(89),Il(258),$l==31&&(Hl(31),Il(246),Ni(),Il(33),Hl(80)),Il(254),En(),Hl(224),Il(267),Xf()}function wn(){ic.startNonterminal("SequenceTypeUnion",Vl),Ls();for(;;){Il(138);if($l!=284)break;Pl(284),Il(254),jl(),Ls()}ic.endNonterminal("SequenceTypeUnion",Vl)}function En(){As();for(;;){Il(138);if($l!=284)break;Hl(284),Il(254),As()}}function Sn(){ic.startNonterminal("IfExpr",Vl),Pl(154),Il(22),Pl(35),Il(267),jl(),G(),Pl(38),Il(80),Pl(250),Il(267),jl(),Wf(),Pl(123),Il(267),jl(),Wf(),ic.endNonterminal("IfExpr",Vl)}function xn(){Hl(154),Il(22),Hl(35),Il(267),Y(),Hl(38),Il(80),Hl(250),Il(267),Xf(),Hl(123),Il(267),Xf()}function Tn(){ic.startNonterminal("TryCatchExpr",Vl),Cn();for(;;){Il(39),jl(),On(),Il(208);if($l!=92)break}ic.endNonterminal("TryCatchExpr",Vl)}function Nn(){kn();for(;;){Il(39),Mn(),Il(208);if($l!=92)break}}function Cn(){ic.startNonterminal("TryClause",Vl),Pl(256),Il(90),Pl(281),Il(267),jl(),Ln(),Pl(287),ic.endNonterminal("TryClause",Vl)}function kn(){Hl(256),Il(90),Hl(281),Il(267),An(),Hl(287)}function Ln(){ic.startNonterminal("TryTargetExpr",Vl),G(),ic.endNonterminal("TryTargetExpr",Vl)}function An(){Y()}function On(){ic.startNonterminal("CatchClause",Vl),Pl(92),Il(249),jl(),_n(),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("CatchClause",Vl)}function Mn(){Hl(92),Il(249),Dn(),Hl(281),Il(267),Y(),Hl(287)}function _n(){ic.startNonterminal("CatchErrorList",Vl),Yr();for(;;){Il(140);if($l!=284)break;Pl(284),Il(249),jl(),Yr()}ic.endNonterminal("CatchErrorList",Vl)}function Dn(){Zr();for(;;){Il(140);if($l!=284)break;Hl(284),Il(249),Zr()}}function Pn(){ic.startNonterminal("OrExpr",Vl),Bn();for(;;){if($l!=204)break;Pl(204),Il(267),jl(),Bn()}ic.endNonterminal("OrExpr",Vl)}function Hn(){jn();for(;;){if($l!=204)break;Hl(204),Il(267),jn()}}function Bn(){ic.startNonterminal("AndExpr",Vl),Fn();for(;;){if($l!=76)break;Pl(76),Il(267),jl(),Fn()}ic.endNonterminal("AndExpr",Vl)}function jn(){In();for(;;){if($l!=76)break;Hl(76),Il(267),In()}}function Fn(){ic.startNonterminal("NotExpr",Vl),$l==196&&Pl(196),Il(266),jl(),qn(),ic.endNonterminal("NotExpr",Vl)}function In(){$l==196&&Hl(196),Il(266),Rn()}function qn(){ic.startNonterminal("ComparisonExpr",Vl),Un();if($l==27||$l==55||$l==58||$l==59||$l==61||$l==62||$l==63||$l==64||$l==129||$l==148||$l==152||$l==166||$l==175||$l==181||$l==189){switch($l){case 129:case 148:case 152:case 175:case 181:case 189:jl(),yr();break;case 58:case 64:case 166:jl(),wr();break;default:jl(),mr()}Il(266),jl(),Un()}ic.endNonterminal("ComparisonExpr",Vl)}function Rn(){zn();if($l==27||$l==55||$l==58||$l==59||$l==61||$l==62||$l==63||$l==64||$l==129||$l==148||$l==152||$l==166||$l==175||$l==181||$l==189){switch($l){case 129:case 148:case 152:case 175:case 181:case 189:br();break;case 58:case 64:case 166:Er();break;default:gr()}Il(266),zn()}}function Un(){ic.startNonterminal("FTContainsExpr",Vl),Wn(),$l==100&&(Pl(100),Il(79),Pl(249),Il(177),jl(),ou(),$l==277&&(jl(),Ta())),ic.endNonterminal("FTContainsExpr",Vl)}function zn(){Xn(),$l==100&&(Hl(100),Il(79),Hl(249),Il(177),uu(),$l==277&&Na())}function Wn(){ic.startNonterminal("StringConcatExpr",Vl),Vn();for(;;){if($l!=285)break;Pl(285),Il(266),jl(),Vn()}ic.endNonterminal("StringConcatExpr",Vl)}function Xn(){$n();for(;;){if($l!=285)break;Hl(285),Il(266),$n()}}function Vn(){ic.startNonterminal("RangeExpr",Vl),Jn(),$l==253&&(Pl(253),Il(266),jl(),Jn()),ic.endNonterminal("RangeExpr",Vl)}function $n(){Kn(),$l==253&&(Hl(253),Il(266),Kn())}function Jn(){ic.startNonterminal("AdditiveExpr",Vl),Qn();for(;;){if($l!=41&&$l!=43)break;switch($l){case 41:Pl(41);break;default:Pl(43)}Il(266),jl(),Qn()}ic.endNonterminal("AdditiveExpr",Vl)}function Kn(){Gn();for(;;){if($l!=41&&$l!=43)break;switch($l){case 41:Hl(41);break;default:Hl(43)}Il(266),Gn()}}function Qn(){ic.startNonterminal("MultiplicativeExpr",Vl),Yn();for(;;){if($l!=39&&$l!=119&&$l!=153&&$l!=183)break;switch($l){case 39:Pl(39);break;case 119:Pl(119);break;case 153:Pl(153);break;default:Pl(183)}Il(266),jl(),Yn()}ic.endNonterminal("MultiplicativeExpr",Vl)}function Gn(){Zn();for(;;){if($l!=39&&$l!=119&&$l!=153&&$l!=183)break;switch($l){case 39:Hl(39);break;case 119:Hl(119);break;case 153:Hl(153);break;default:Hl(183)}Il(266),Zn()}}function Yn(){ic.startNonterminal("UnionExpr",Vl),er();for(;;){if($l!=260&&$l!=284)break;switch($l){case 260:Pl(260);break;default:Pl(284)}Il(266),jl(),er()}ic.endNonterminal("UnionExpr",Vl)}function Zn(){tr();for(;;){if($l!=260&&$l!=284)break;switch($l){case 260:Hl(260);break;default:Hl(284)}Il(266),tr()}}function er(){ic.startNonterminal("IntersectExceptExpr",Vl),nr();for(;;){Il(222);if($l!=132&&$l!=164)break;switch($l){case 164:Pl(164);break;default:Pl(132)}Il(266),jl(),nr()}ic.endNonterminal("IntersectExceptExpr",Vl)}function tr(){rr();for(;;){Il(222);if($l!=132&&$l!=164)break;switch($l){case 164:Hl(164);break;default:Hl(132)}Il(266),rr()}}function nr(){ic.startNonterminal("InstanceofExpr",Vl),ir(),Il(223),$l==162&&(Pl(162),Il(67),Pl(200),Il(254),jl(),Ls()),ic.endNonterminal("InstanceofExpr",Vl)}function rr(){sr(),Il(223),$l==162&&(Hl(162),Il(67),Hl(200),Il(254),As())}function ir(){ic.startNonterminal("TreatExpr",Vl),or(),Il(224),$l==254&&(Pl(254),Il(33),Pl(80),Il(254),jl(),Ls()),ic.endNonterminal("TreatExpr",Vl)}function sr(){ur(),Il(224),$l==254&&(Hl(254),Il(33),Hl(80),Il(254),As())}function or(){ic.startNonterminal("CastableExpr",Vl),ar(),Il(225),$l==91&&(Pl(91),Il(33),Pl(80),Il(246),jl(),Ts()),ic.endNonterminal("CastableExpr",Vl)}function ur(){fr(),Il(225),$l==91&&(Hl(91),Il(33),Hl(80),Il(246),Ns())}function ar(){ic.startNonterminal("CastExpr",Vl),lr(),Il(227),$l==90&&(Pl(90),Il(33),Pl(80),Il(246),jl(),Ts()),ic.endNonterminal("CastExpr",Vl)}function fr(){cr(),Il(227),$l==90&&(Hl(90),Il(33),Hl(80),Il(246),Ns())}function lr(){ic.startNonterminal("UnaryExpr",Vl);for(;;){Il(266);if($l!=41&&$l!=43)break;switch($l){case 43:Pl(43);break;default:Pl(41)}}jl(),hr(),ic.endNonterminal("UnaryExpr",Vl)}function cr(){for(;;){Il(266);if($l!=41&&$l!=43)break;switch($l){case 43:Hl(43);break;default:Hl(41)}}pr()}function hr(){ic.startNonterminal("ValueExpr",Vl);switch($l){case 266:ql(188);break;default:Wl=$l}switch(Wl){case 89354:case 125706:case 132362:case 144138:Sr();break;case 36:Cr();break;default:dr()}ic.endNonterminal("ValueExpr",Vl)}function pr(){switch($l){case 266:ql(188);break;default:Wl=$l}switch(Wl){case 89354:case 125706:case 132362:case 144138:xr();break;case 36:kr();break;default:vr()}}function dr(){ic.startNonterminal("SimpleMapExpr",Vl),Or();for(;;){if($l!=26)break;Pl(26),Il(263),jl(),Or()}ic.endNonterminal("SimpleMapExpr",Vl)}function vr(){Mr();for(;;){if($l!=26)break;Hl(26),Il(263),Mr()}}function mr(){ic.startNonterminal("GeneralComp",Vl);switch($l){case 61:Pl(61);break;case 27:Pl(27);break;case 55:Pl(55);break;case 59:Pl(59);break;case 62:Pl(62);break;default:Pl(63)}ic.endNonterminal("GeneralComp",Vl)}function gr(){switch($l){case 61:Hl(61);break;case 27:Hl(27);break;case 55:Hl(55);break;case 59:Hl(59);break;case 62:Hl(62);break;default:Hl(63)}}function yr(){ic.startNonterminal("ValueComp",Vl);switch($l){case 129:Pl(129);break;case 189:Pl(189);break;case 181:Pl(181);break;case 175:Pl(175);break;case 152:Pl(152);break;default:Pl(148)}ic.endNonterminal("ValueComp",Vl)}function br(){switch($l){case 129:Hl(129);break;case 189:Hl(189);break;case 181:Hl(181);break;case 175:Hl(175);break;case 152:Hl(152);break;default:Hl(148)}}function wr(){ic.startNonterminal("NodeComp",Vl);switch($l){case 166:Pl(166);break;case 58:Pl(58);break;default:Pl(64)}ic.endNonterminal("NodeComp",Vl)}function Er(){switch($l){case 166:Hl(166);break;case 58:Hl(58);break;default:Hl(64)}}function Sr(){ic.startNonterminal("ValidateExpr",Vl),Pl(266),Il(175);if($l!=281)switch($l){case 258:Pl(258),Il(246),jl(),Ao();break;default:jl(),Tr()}Il(90),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("ValidateExpr",Vl)}function xr(){Hl(266),Il(175);if($l!=281)switch($l){case 258:Hl(258),Il(246),Oo();break;default:Nr()}Il(90),Hl(281),Il(267),Y(),Hl(287)}function Tr(){ic.startNonterminal("ValidationMode",Vl);switch($l){case 174:Pl(174);break;default:Pl(245)}ic.endNonterminal("ValidationMode",Vl)}function Nr(){switch($l){case 174:Hl(174);break;default:Hl(245)}}function Cr(){ic.startNonterminal("ExtensionExpr",Vl);for(;;){jl(),Lr(),Il(104);if($l!=36)break}Pl(281),Il(275),$l!=287&&(jl(),G()),Pl(287),ic.endNonterminal("ExtensionExpr",Vl)}function kr(){for(;;){Ar(),Il(104);if($l!=36)break}Hl(281),Il(275),$l!=287&&Y(),Hl(287)}function Lr(){ic.startNonterminal("Pragma",Vl),Pl(36),Rl(243),$l==21&&Pl(21),$a(),Rl(10),$l==21&&(Pl(21),Rl(0),Pl(1)),Rl(5),Pl(30),ic.endNonterminal("Pragma",Vl)}function Ar(){Hl(36),Rl(243),$l==21&&Hl(21),Ja(),Rl(10),$l==21&&(Hl(21),Rl(0),Hl(1)),Rl(5),Hl(30)}function Or(){ic.startNonterminal("PathExpr",Vl);switch($l){case 47:Pl(47),Il(289);switch($l){case 25:case 26:case 27:case 38:case 39:case 41:case 42:case 43:case 50:case 54:case 58:case 59:case 61:case 62:case 63:case 64:case 70:case 88:case 100:case 209:case 237:case 252:case 279:case 284:case 285:case 286:case 287:break;default:jl(),_r()}break;case 48:Pl(48),Il(260),jl(),_r();break;default:_r()}ic.endNonterminal("PathExpr",Vl)}function Mr(){switch($l){case 47:Hl(47),Il(289);switch($l){case 25:case 26:case 27:case 38:case 39:case 41:case 42:case 43:case 50:case 54:case 58:case 59:case 61:case 62:case 63:case 64:case 70:case 88:case 100:case 209:case 237:case 252:case 279:case 284:case 285:case 286:case 287:break;default:Dr()}break;case 48:Hl(48),Il(260),Dr();break;default:Dr()}}function _r(){ic.startNonterminal("RelativePathExpr",Vl),ei();for(;;){switch($l){case 26:ql(265);break;default:Wl=$l}if(Wl!=25&&Wl!=27&&Wl!=38&&Wl!=39&&Wl!=41&&Wl!=42&&Wl!=43&&Wl!=47&&Wl!=48&&Wl!=50&&Wl!=54&&Wl!=55&&Wl!=58&&Wl!=59&&Wl!=61&&Wl!=62&&Wl!=63&&Wl!=64&&Wl!=70&&Wl!=71&&Wl!=76&&Wl!=80&&Wl!=81&&Wl!=82&&Wl!=85&&Wl!=88&&Wl!=89&&Wl!=90&&Wl!=91&&Wl!=95&&Wl!=100&&Wl!=106&&Wl!=110&&Wl!=114&&Wl!=119&&Wl!=123&&Wl!=124&&Wl!=127&&Wl!=129&&Wl!=132&&Wl!=139&&Wl!=148&&Wl!=150&&Wl!=152&&Wl!=153&&Wl!=162&&Wl!=164&&Wl!=165&&Wl!=166&&Wl!=175&&Wl!=177&&Wl!=181&&Wl!=183&&Wl!=184&&Wl!=189&&Wl!=202&&Wl!=204&&Wl!=205&&Wl!=209&&Wl!=224&&Wl!=228&&Wl!=237&&Wl!=241&&Wl!=242&&Wl!=252&&Wl!=253&&Wl!=254&&Wl!=260&&Wl!=272&&Wl!=276&&Wl!=279&&Wl!=284&&Wl!=285&&Wl!=286&&Wl!=287&&Wl!=2586&&Wl!=23578&&Wl!=24090&&Wl!=24602&&Wl!=34330){Wl=uc(3,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{switch($l){case 47:Hl(47);break;case 48:Hl(48);break;default:Hl(26)}Il(264),Hr(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(3,Vl,Wl)}}if(Wl!=-1&&Wl!=47&&Wl!=48&&Wl!=2586&&Wl!=23578&&Wl!=34330)break;switch($l){case 47:Pl(47);break;case 48:Pl(48);break;default:Pl(26)}Il(264),jl(),Pr()}ic.endNonterminal("RelativePathExpr",Vl)}function Dr(){ti();for(;;){switch($l){case 26:ql(265);break;default:Wl=$l}if(Wl!=25&&Wl!=27&&Wl!=38&&Wl!=39&&Wl!=41&&Wl!=42&&Wl!=43&&Wl!=47&&Wl!=48&&Wl!=50&&Wl!=54&&Wl!=55&&Wl!=58&&Wl!=59&&Wl!=61&&Wl!=62&&Wl!=63&&Wl!=64&&Wl!=70&&Wl!=71&&Wl!=76&&Wl!=80&&Wl!=81&&Wl!=82&&Wl!=85&&Wl!=88&&Wl!=89&&Wl!=90&&Wl!=91&&Wl!=95&&Wl!=100&&Wl!=106&&Wl!=110&&Wl!=114&&Wl!=119&&Wl!=123&&Wl!=124&&Wl!=127&&Wl!=129&&Wl!=132&&Wl!=139&&Wl!=148&&Wl!=150&&Wl!=152&&Wl!=153&&Wl!=162&&Wl!=164&&Wl!=165&&Wl!=166&&Wl!=175&&Wl!=177&&Wl!=181&&Wl!=183&&Wl!=184&&Wl!=189&&Wl!=202&&Wl!=204&&Wl!=205&&Wl!=209&&Wl!=224&&Wl!=228&&Wl!=237&&Wl!=241&&Wl!=242&&Wl!=252&&Wl!=253&&Wl!=254&&Wl!=260&&Wl!=272&&Wl!=276&&Wl!=279&&Wl!=284&&Wl!=285&&Wl!=286&&Wl!=287&&Wl!=2586&&Wl!=23578&&Wl!=24090&&Wl!=24602&&Wl!=34330){Wl=uc(3,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{switch($l){case 47:Hl(47);break;case 48:Hl(48);break;default:Hl(26)}Il(264),Hr(),oc(3,t,-1);continue}catch(a){Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(3,t,-2);break}}}if(Wl!=-1&&Wl!=47&&Wl!=48&&Wl!=2586&&Wl!=23578&&Wl!=34330)break;switch($l){case 47:Hl(47);break;case 48:Hl(48);break;default:Hl(26)}Il(264),Hr()}}function Pr(){ic.startNonterminal("StepExpr",Vl);switch($l){case 83:ql(288);break;case 122:ql(287);break;case 187:case 220:ql(285);break;case 135:case 197:case 255:ql(237);break;case 97:case 120:case 206:case 249:case 262:ql(239);break;case 79:case 125:case 154:case 167:case 169:case 247:case 248:case 259:ql(230);break;case 74:case 75:case 94:case 112:case 113:case 137:case 138:case 210:case 216:case 217:case 234:ql(238);break;case 6:case 71:case 73:case 76:case 78:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 95:case 98:case 99:case 102:case 103:case 104:case 105:case 106:case 107:case 109:case 110:case 111:case 114:case 119:case 121:case 123:case 124:case 126:case 127:case 129:case 130:case 132:case 133:case 134:case 136:case 139:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 155:case 156:case 157:case 161:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 177:case 179:case 181:case 183:case 184:case 185:case 188:case 189:case 194:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 222:case 223:case 224:case 225:case 226:case 228:case 229:case 230:case 231:case 232:case 233:case 239:case 240:case 241:case 242:case 245:case 253:case 254:case 256:case 257:case 258:case 260:case 263:case 266:case 267:case 268:case 269:case 272:case 273:case 276:ql(234);break;default:Wl=$l}if(Wl==12935||Wl==12997||Wl==13055||Wl==13447||Wl==13509||Wl==13567||Wl==13959||Wl==14021||Wl==14079||Wl==19591||Wl==19653||Wl==19711||Wl==20103||Wl==20165||Wl==20223||Wl==21127||Wl==21189||Wl==21247||Wl==21639||Wl==21701||Wl==21759||Wl==22151||Wl==22213||Wl==22271||Wl==24199||Wl==24261||Wl==24319||Wl==24711||Wl==24773||Wl==24831||Wl==25735||Wl==25797||Wl==25855||Wl==27783||Wl==27845||Wl==27903||Wl==28295||Wl==28357||Wl==28415||Wl==29831||Wl==29893||Wl==29951||Wl==30343||Wl==30405||Wl==30463||Wl==31367||Wl==31429||Wl==31487||Wl==31879||Wl==31941||Wl==31999||Wl==32391||Wl==32453||Wl==32511||Wl==32903||Wl==32965||Wl==33023||Wl==35463||Wl==35525||Wl==35583||Wl==35975||Wl==36037||Wl==36095||Wl==36435||Wl==36474||Wl==36487||Wl==36539||Wl==36549||Wl==36572||Wl==36607||Wl==38995||Wl==39034||Wl==39047||Wl==39099||Wl==39109||Wl==39132||Wl==39167||Wl==41043||Wl==41082||Wl==41095||Wl==41147||Wl==41157||Wl==41180||Wl==41215||Wl==41555||Wl==41594||Wl==41607||Wl==41659||Wl==41669||Wl==41692||Wl==41727||Wl==42067||Wl==42106||Wl==42119||Wl==42171||Wl==42181||Wl==42204||Wl==42239||Wl==43603||Wl==43642||Wl==43655||Wl==43707||Wl==43717||Wl==43740||Wl==43775||Wl==45191||Wl==45253||Wl==45311||Wl==45651||Wl==45690||Wl==45703||Wl==45755||Wl==45765||Wl==45788||Wl==45823||Wl==46163||Wl==46202||Wl==46215||Wl==46267||Wl==46277||Wl==46300||Wl==46335||Wl==46675||Wl==46714||Wl==46727||Wl==46779||Wl==46789||Wl==46812||Wl==46847||Wl==48723||Wl==48762||Wl==48775||Wl==48827||Wl==48837||Wl==48860||Wl==48895||Wl==51335||Wl==51397||Wl==51455||Wl==54355||Wl==54394||Wl==54407||Wl==54459||Wl==54469||Wl==54492||Wl==54527||Wl==56403||Wl==56442||Wl==56455||Wl==56507||Wl==56517||Wl==56540||Wl==56575||Wl==58451||Wl==58490||Wl==58503||Wl==58555||Wl==58565||Wl==58588||Wl==58623||Wl==61011||Wl==61050||Wl==61063||Wl==61115||Wl==61125||Wl==61148||Wl==61183||Wl==63059||Wl==63098||Wl==63111||Wl==63163||Wl==63173||Wl==63196||Wl==63231||Wl==63571||Wl==63610||Wl==63623||Wl==63675||Wl==63685||Wl==63708||Wl==63743||Wl==65107||Wl==65146||Wl==65159||Wl==65211||Wl==65221||Wl==65244||Wl==65279||Wl==66131||Wl==66170||Wl==66183||Wl==66235||Wl==66245||Wl==66268||Wl==66303||Wl==67667||Wl==67706||Wl==67719||Wl==67771||Wl==67781||Wl==67804||Wl==67839||Wl==71251||Wl==71290||Wl==71303||Wl==71355||Wl==71365||Wl==71388||Wl==71423||Wl==75859||Wl==75898||Wl==75911||Wl==75963||Wl==75973||Wl==75996||Wl==76031||Wl==76883||Wl==76922||Wl==76935||Wl==76987||Wl==76997||Wl==77020||Wl==77055||Wl==77907||Wl==77946||Wl==77959||Wl==78011||Wl==78021||Wl==78044||Wl==78079||Wl==78419||Wl==78458||Wl==78471||Wl==78523||Wl==78533||Wl==78556||Wl==78591||Wl==83027||Wl==83066||Wl==83079||Wl==83131||Wl==83141||Wl==83164||Wl==83199||Wl==84051||Wl==84090||Wl==84103||Wl==84155||Wl==84165||Wl==84188||Wl==84223||Wl==84563||Wl==84602||Wl==84615||Wl==84667||Wl==84677||Wl==84700||Wl==84735||Wl==85075||Wl==85114||Wl==85127||Wl==85179||Wl==85189||Wl==85212||Wl==85247||Wl==89683||Wl==89722||Wl==89735||Wl==89787||Wl==89797||Wl==89820||Wl==89855||Wl==90707||Wl==90746||Wl==90759||Wl==90811||Wl==90821||Wl==90844||Wl==90879||Wl==92755||Wl==92794||Wl==92807||Wl==92859||Wl==92869||Wl==92892||Wl==92927||Wl==93779||Wl==93818||Wl==93831||Wl==93883||Wl==93893||Wl==93916||Wl==93951||Wl==94291||Wl==94330||Wl==94343||Wl==94395||Wl==94405||Wl==94428||Wl==94463||Wl==96851||Wl==96890||Wl==96903||Wl==96955||Wl==96965||Wl==96988||Wl==97023||Wl==103507||Wl==103546||Wl==103559||Wl==103611||Wl==103621||Wl==103644||Wl==103679||Wl==104531||Wl==104570||Wl==104583||Wl==104635||Wl==104645||Wl==104668||Wl==104703||Wl==105043||Wl==105082||Wl==105095||Wl==105147||Wl==105157||Wl==105180||Wl==105215||Wl==107143||Wl==107205||Wl==107263||Wl==114771||Wl==114810||Wl==114823||Wl==114875||Wl==114885||Wl==114908||Wl==114943||Wl==116819||Wl==116858||Wl==116871||Wl==116923||Wl==116933||Wl==116956||Wl==116991||Wl==121479||Wl==121541||Wl==121599||Wl==123475||Wl==123514||Wl==123527||Wl==123579||Wl==123589||Wl==123612||Wl==123647||Wl==123987||Wl==124026||Wl==124039||Wl==124091||Wl==124101||Wl==124124||Wl==124159||Wl==129159||Wl==129221||Wl==129279||Wl==129619||Wl==129658||Wl==129671||Wl==129723||Wl==129733||Wl==129756||Wl==129791||Wl==130131||Wl==130170||Wl==130183||Wl==130235||Wl==130245||Wl==130268||Wl==130303||Wl==133203||Wl==133242||Wl==133255||Wl==133307||Wl==133317||Wl==133340||Wl==133375||Wl==139347||Wl==139386||Wl==139399||Wl==139451||Wl==139461||Wl==139484||Wl==139519||Wl==141395||Wl==141434||Wl==141447||Wl==141499||Wl==141509||Wl==141532||Wl==141567||Wl==142983||Wl==143045||Wl==143103||Wl==145543||Wl==145605||Wl==145663||Wl==146055||Wl==146117||Wl==146175||Wl==146567||Wl==146629||Wl==146687||Wl==147079||Wl==147141||Wl==147199){Wl=uc(4,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{ti(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(4,Vl,Wl)}}switch(Wl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 33:case 35:case 55:case 56:case 60:case 69:case 281:case 283:case 3155:case 3194:case 9915:case 9948:case 14854:case 14919:case 14921:case 14922:case 14923:case 14924:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14935:case 14937:case 14938:case 14939:case 14940:case 14942:case 14943:case 14945:case 14946:case 14947:case 14950:case 14951:case 14952:case 14953:case 14954:case 14955:case 14957:case 14958:case 14959:case 14960:case 14961:case 14962:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14975:case 14977:case 14978:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14986:case 14987:case 14990:case 14991:case 14995:case 14996:case 14998:case 15e3:case 15001:case 15002:case 15003:case 15004:case 15005:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15015:case 15016:case 15017:case 15018:case 15021:case 15022:case 15023:case 15025:case 15027:case 15029:case 15031:case 15032:case 15033:case 15035:case 15036:case 15037:case 15042:case 15043:case 15045:case 15046:case 15050:case 15051:case 15052:case 15053:case 15054:case 15055:case 15058:case 15064:case 15065:case 15068:case 15070:case 15071:case 15072:case 15073:case 15074:case 15076:case 15077:case 15078:case 15079:case 15080:case 15081:case 15082:case 15087:case 15088:case 15089:case 15090:case 15093:case 15095:case 15096:case 15097:case 15101:case 15102:case 15103:case 15104:case 15105:case 15106:case 15107:case 15108:case 15110:case 15111:case 15114:case 15115:case 15116:case 15117:case 15120:case 15121:case 15124:case 17926:case 17991:case 17993:case 17994:case 17995:case 17996:case 17998:case 18e3:case 18001:case 18002:case 18004:case 18005:case 18006:case 18007:case 18009:case 18010:case 18011:case 18012:case 18014:case 18015:case 18018:case 18019:case 18022:case 18023:case 18024:case 18025:case 18026:case 18027:case 18029:case 18030:case 18031:case 18032:case 18033:case 18034:case 18039:case 18040:case 18043:case 18044:case 18046:case 18047:case 18049:case 18050:case 18052:case 18053:case 18054:case 18055:case 18056:case 18057:case 18058:case 18059:case 18062:case 18063:case 18067:case 18068:case 18070:case 18072:case 18073:case 18075:case 18076:case 18077:case 18081:case 18082:case 18083:case 18084:case 18085:case 18086:case 18088:case 18090:case 18093:case 18094:case 18095:case 18097:case 18099:case 18101:case 18103:case 18104:case 18105:case 18107:case 18109:case 18115:case 18117:case 18118:case 18122:case 18123:case 18124:case 18125:case 18126:case 18127:case 18130:case 18136:case 18137:case 18142:case 18143:case 18144:case 18145:case 18146:case 18148:case 18149:case 18152:case 18153:case 18154:case 18159:case 18160:case 18161:case 18162:case 18165:case 18173:case 18174:case 18175:case 18176:case 18177:case 18178:case 18180:case 18182:case 18183:case 18186:case 18187:case 18188:case 18189:case 18192:case 18193:case 18196:case 23175:case 23237:case 23295:case 37459:case 37498:case 37563:case 37596:case 37971:case 38010:case 38075:case 38108:case 38483:case 38522:case 38587:case 38620:case 40019:case 40058:case 40123:case 40156:case 40531:case 40570:case 42579:case 42618:case 42683:case 42716:case 43091:case 43130:case 43195:case 43228:case 44115:case 44154:case 44219:case 44252:case 44627:case 44666:case 44731:case 44764:case 47187:case 47226:case 47291:case 47324:case 48211:case 48250:case 48315:case 48348:case 49747:case 49786:case 49851:case 49884:case 50259:case 50298:case 50363:case 50396:case 50771:case 50810:case 50875:case 50908:case 52307:case 52346:case 52411:case 52444:case 52819:case 52858:case 52923:case 52956:case 53331:case 53370:case 53435:case 53468:case 53843:case 53882:case 53947:case 53980:case 54867:case 54906:case 54971:case 55004:case 55891:case 55930:case 55995:case 56028:case 56915:case 56954:case 57019:case 57052:case 57427:case 57466:case 57531:case 57564:case 57939:case 57978:case 58043:case 58076:case 61523:case 61562:case 61627:case 61660:case 62035:case 62074:case 62139:case 62172:case 62547:case 62586:case 62651:case 62684:case 64083:case 64122:case 64187:case 64220:case 64595:case 64634:case 64699:case 64732:case 66643:case 66682:case 66747:case 66780:case 68179:case 68218:case 68283:case 68316:case 68691:case 68730:case 68795:case 68828:case 69203:case 69242:case 69307:case 69340:case 69715:case 69754:case 69819:case 69852:case 70227:case 70266:case 70331:case 70364:case 70739:case 70778:case 70843:case 70876:case 72787:case 72826:case 72891:case 72924:case 73299:case 73338:case 73403:case 73436:case 75347:case 75386:case 75451:case 75484:case 78931:case 78970:case 79035:case 79068:case 79443:case 79482:case 79547:case 79580:case 79955:case 79994:case 80059:case 80092:case 80467:case 80506:case 80571:case 80604:case 82515:case 82554:case 82619:case 82652:case 83539:case 83578:case 83643:case 83676:case 85587:case 85626:case 85691:case 85724:case 86099:case 86138:case 86203:case 86236:case 86611:case 86650:case 87123:case 87162:case 87227:case 87260:case 88659:case 88698:case 88763:case 88796:case 89171:case 89210:case 89275:case 89308:case 91731:case 91770:case 91835:case 91868:case 94803:case 94842:case 94907:case 94940:case 95827:case 95866:case 95931:case 95964:case 96339:case 96378:case 96443:case 96476:case 99411:case 99450:case 99515:case 99548:case 99923:case 99962:case 100027:case 100060:case 100947:case 100986:case 101051:case 101084:case 101459:case 101498:case 101563:case 101596:case 104019:case 104058:case 104123:case 104156:case 105555:case 105594:case 105659:case 105692:case 106067:case 106106:case 106171:case 106204:case 107603:case 107642:case 107707:case 107740:case 110675:case 110714:case 110779:case 110812:case 111187:case 111226:case 111291:case 111324:case 112723:case 112762:case 112827:case 112860:case 113747:case 113786:case 113851:case 113884:case 114259:case 114298:case 114363:case 114396:case 115283:case 115322:case 115387:case 115420:case 115795:case 115834:case 115899:case 115932:case 117331:case 117370:case 117435:case 117468:case 117843:case 117882:case 117947:case 117980:case 118355:case 118394:case 118459:case 118492:case 118867:case 118906:case 118971:case 119004:case 119379:case 119418:case 119483:case 119516:case 119891:case 119930:case 119995:case 120028:case 122451:case 122490:case 122555:case 122588:case 122963:case 123002:case 123067:case 123100:case 125523:case 125562:case 125627:case 125660:case 126547:case 126586:case 127059:case 127098:case 127163:case 127196:case 127571:case 127610:case 127675:case 127708:case 130643:case 130682:case 130747:case 130780:case 131155:case 131194:case 131259:case 131292:case 131667:case 131706:case 131771:case 131804:case 132179:case 132218:case 132283:case 132316:case 132691:case 132730:case 132795:case 132828:case 134227:case 134266:case 134331:case 134364:case 134739:case 134778:case 134843:case 134876:case 136275:case 136314:case 136379:case 136412:case 136787:case 136826:case 136891:case 136924:case 137299:case 137338:case 137403:case 137436:case 137811:case 137850:case 137915:case 137948:case 139859:case 139898:case 139963:case 139996:case 143955:case 143969:case 143992:case 143994:case 144059:case 144078:case 144092:case 144121:case 144134:ei();break;default:Br()}ic.endNonterminal("StepExpr",Vl)}function Hr(){switch($l){case 83:ql(288);break;case 122:ql(287);break;case 187:case 220:ql(285);break;case 135:case 197:case 255:ql(237);break;case 97:case 120:case 206:case 249:case 262:ql(239);break;case 79:case 125:case 154:case 167:case 169:case 247:case 248:case 259:ql(230);break;case 74:case 75:case 94:case 112:case 113:case 137:case 138:case 210:case 216:case 217:case 234:ql(238);break;case 6:case 71:case 73:case 76:case 78:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 95:case 98:case 99:case 102:case 103:case 104:case 105:case 106:case 107:case 109:case 110:case 111:case 114:case 119:case 121:case 123:case 124:case 126:case 127:case 129:case 130:case 132:case 133:case 134:case 136:case 139:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 155:case 156:case 157:case 161:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 177:case 179:case 181:case 183:case 184:case 185:case 188:case 189:case 194:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 222:case 223:case 224:case 225:case 226:case 228:case 229:case 230:case 231:case 232:case 233:case 239:case 240:case 241:case 242:case 245:case 253:case 254:case 256:case 257:case 258:case 260:case 263:case 266:case 267:case 268:case 269:case 272:case 273:case 276:ql(234);break;default:Wl=$l}if(Wl==12935||Wl==12997||Wl==13055||Wl==13447||Wl==13509||Wl==13567||Wl==13959||Wl==14021||Wl==14079||Wl==19591||Wl==19653||Wl==19711||Wl==20103||Wl==20165||Wl==20223||Wl==21127||Wl==21189||Wl==21247||Wl==21639||Wl==21701||Wl==21759||Wl==22151||Wl==22213||Wl==22271||Wl==24199||Wl==24261||Wl==24319||Wl==24711||Wl==24773||Wl==24831||Wl==25735||Wl==25797||Wl==25855||Wl==27783||Wl==27845||Wl==27903||Wl==28295||Wl==28357||Wl==28415||Wl==29831||Wl==29893||Wl==29951||Wl==30343||Wl==30405||Wl==30463||Wl==31367||Wl==31429||Wl==31487||Wl==31879||Wl==31941||Wl==31999||Wl==32391||Wl==32453||Wl==32511||Wl==32903||Wl==32965||Wl==33023||Wl==35463||Wl==35525||Wl==35583||Wl==35975||Wl==36037||Wl==36095||Wl==36435||Wl==36474||Wl==36487||Wl==36539||Wl==36549||Wl==36572||Wl==36607||Wl==38995||Wl==39034||Wl==39047||Wl==39099||Wl==39109||Wl==39132||Wl==39167||Wl==41043||Wl==41082||Wl==41095||Wl==41147||Wl==41157||Wl==41180||Wl==41215||Wl==41555||Wl==41594||Wl==41607||Wl==41659||Wl==41669||Wl==41692||Wl==41727||Wl==42067||Wl==42106||Wl==42119||Wl==42171||Wl==42181||Wl==42204||Wl==42239||Wl==43603||Wl==43642||Wl==43655||Wl==43707||Wl==43717||Wl==43740||Wl==43775||Wl==45191||Wl==45253||Wl==45311||Wl==45651||Wl==45690||Wl==45703||Wl==45755||Wl==45765||Wl==45788||Wl==45823||Wl==46163||Wl==46202||Wl==46215||Wl==46267||Wl==46277||Wl==46300||Wl==46335||Wl==46675||Wl==46714||Wl==46727||Wl==46779||Wl==46789||Wl==46812||Wl==46847||Wl==48723||Wl==48762||Wl==48775||Wl==48827||Wl==48837||Wl==48860||Wl==48895||Wl==51335||Wl==51397||Wl==51455||Wl==54355||Wl==54394||Wl==54407||Wl==54459||Wl==54469||Wl==54492||Wl==54527||Wl==56403||Wl==56442||Wl==56455||Wl==56507||Wl==56517||Wl==56540||Wl==56575||Wl==58451||Wl==58490||Wl==58503||Wl==58555||Wl==58565||Wl==58588||Wl==58623||Wl==61011||Wl==61050||Wl==61063||Wl==61115||Wl==61125||Wl==61148||Wl==61183||Wl==63059||Wl==63098||Wl==63111||Wl==63163||Wl==63173||Wl==63196||Wl==63231||Wl==63571||Wl==63610||Wl==63623||Wl==63675||Wl==63685||Wl==63708||Wl==63743||Wl==65107||Wl==65146||Wl==65159||Wl==65211||Wl==65221||Wl==65244||Wl==65279||Wl==66131||Wl==66170||Wl==66183||Wl==66235||Wl==66245||Wl==66268||Wl==66303||Wl==67667||Wl==67706||Wl==67719||Wl==67771||Wl==67781||Wl==67804||Wl==67839||Wl==71251||Wl==71290||Wl==71303||Wl==71355||Wl==71365||Wl==71388||Wl==71423||Wl==75859||Wl==75898||Wl==75911||Wl==75963||Wl==75973||Wl==75996||Wl==76031||Wl==76883||Wl==76922||Wl==76935||Wl==76987||Wl==76997||Wl==77020||Wl==77055||Wl==77907||Wl==77946||Wl==77959||Wl==78011||Wl==78021||Wl==78044||Wl==78079||Wl==78419||Wl==78458||Wl==78471||Wl==78523||Wl==78533||Wl==78556||Wl==78591||Wl==83027||Wl==83066||Wl==83079||Wl==83131||Wl==83141||Wl==83164||Wl==83199||Wl==84051||Wl==84090||Wl==84103||Wl==84155||Wl==84165||Wl==84188||Wl==84223||Wl==84563||Wl==84602||Wl==84615||Wl==84667||Wl==84677||Wl==84700||Wl==84735||Wl==85075||Wl==85114||Wl==85127||Wl==85179||Wl==85189||Wl==85212||Wl==85247||Wl==89683||Wl==89722||Wl==89735||Wl==89787||Wl==89797||Wl==89820||Wl==89855||Wl==90707||Wl==90746||Wl==90759||Wl==90811||Wl==90821||Wl==90844||Wl==90879||Wl==92755||Wl==92794||Wl==92807||Wl==92859||Wl==92869||Wl==92892||Wl==92927||Wl==93779||Wl==93818||Wl==93831||Wl==93883||Wl==93893||Wl==93916||Wl==93951||Wl==94291||Wl==94330||Wl==94343||Wl==94395||Wl==94405||Wl==94428||Wl==94463||Wl==96851||Wl==96890||Wl==96903||Wl==96955||Wl==96965||Wl==96988||Wl==97023||Wl==103507||Wl==103546||Wl==103559||Wl==103611||Wl==103621||Wl==103644||Wl==103679||Wl==104531||Wl==104570||Wl==104583||Wl==104635||Wl==104645||Wl==104668||Wl==104703||Wl==105043||Wl==105082||Wl==105095||Wl==105147||Wl==105157||Wl==105180||Wl==105215||Wl==107143||Wl==107205||Wl==107263||Wl==114771||Wl==114810||Wl==114823||Wl==114875||Wl==114885||Wl==114908||Wl==114943||Wl==116819||Wl==116858||Wl==116871||Wl==116923||Wl==116933||Wl==116956||Wl==116991||Wl==121479||Wl==121541||Wl==121599||Wl==123475||Wl==123514||Wl==123527||Wl==123579||Wl==123589||Wl==123612||Wl==123647||Wl==123987||Wl==124026||Wl==124039||Wl==124091||Wl==124101||Wl==124124||Wl==124159||Wl==129159||Wl==129221||Wl==129279||Wl==129619||Wl==129658||Wl==129671||Wl==129723||Wl==129733||Wl==129756||Wl==129791||Wl==130131||Wl==130170||Wl==130183||Wl==130235||Wl==130245||Wl==130268||Wl==130303||Wl==133203||Wl==133242||Wl==133255||Wl==133307||Wl==133317||Wl==133340||Wl==133375||Wl==139347||Wl==139386||Wl==139399||Wl==139451||Wl==139461||Wl==139484||Wl==139519||Wl==141395||Wl==141434||Wl==141447||Wl==141499||Wl==141509||Wl==141532||Wl==141567||Wl==142983||Wl==143045||Wl==143103||Wl==145543||Wl==145605||Wl==145663||Wl==146055||Wl==146117||Wl==146175||Wl==146567||Wl==146629||Wl==146687||Wl==147079||Wl==147141||Wl==147199){Wl=uc(4,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{ti(),oc(4,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(4,t,-2)}}}switch(Wl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 33:case 35:case 55:case 56:case 60:case 69:case 281:case 283:case 3155:case 3194:case 9915:case 9948:case 14854:case 14919:case 14921:case 14922:case 14923:case 14924:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14935:case 14937:case 14938:case 14939:case 14940:case 14942:case 14943:case 14945:case 14946:case 14947:case 14950:case 14951:case 14952:case 14953:case 14954:case 14955:case 14957:case 14958:case 14959:case 14960:case 14961:case 14962:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14975:case 14977:case 14978:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14986:case 14987:case 14990:case 14991:case 14995:case 14996:case 14998:case 15e3:case 15001:case 15002:case 15003:case 15004:case 15005:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15015:case 15016:case 15017:case 15018:case 15021:case 15022:case 15023:case 15025:case 15027:case 15029:case 15031:case 15032:case 15033:case 15035:case 15036:case 15037:case 15042:case 15043:case 15045:case 15046:case 15050:case 15051:case 15052:case 15053:case 15054:case 15055:case 15058:case 15064:case 15065:case 15068:case 15070:case 15071:case 15072:case 15073:case 15074:case 15076:case 15077:case 15078:case 15079:case 15080:case 15081:case 15082:case 15087:case 15088:case 15089:case 15090:case 15093:case 15095:case 15096:case 15097:case 15101:case 15102:case 15103:case 15104:case 15105:case 15106:case 15107:case 15108:case 15110:case 15111:case 15114:case 15115:case 15116:case 15117:case 15120:case 15121:case 15124:case 17926:case 17991:case 17993:case 17994:case 17995:case 17996:case 17998:case 18e3:case 18001:case 18002:case 18004:case 18005:case 18006:case 18007:case 18009:case 18010:case 18011:case 18012:case 18014:case 18015:case 18018:case 18019:case 18022:case 18023:case 18024:case 18025:case 18026:case 18027:case 18029:case 18030:case 18031:case 18032:case 18033:case 18034:case 18039:case 18040:case 18043:case 18044:case 18046:case 18047:case 18049:case 18050:case 18052:case 18053:case 18054:case 18055:case 18056:case 18057:case 18058:case 18059:case 18062:case 18063:case 18067:case 18068:case 18070:case 18072:case 18073:case 18075:case 18076:case 18077:case 18081:case 18082:case 18083:case 18084:case 18085:case 18086:case 18088:case 18090:case 18093:case 18094:case 18095:case 18097:case 18099:case 18101:case 18103:case 18104:case 18105:case 18107:case 18109:case 18115:case 18117:case 18118:case 18122:case 18123:case 18124:case 18125:case 18126:case 18127:case 18130:case 18136:case 18137:case 18142:case 18143:case 18144:case 18145:case 18146:case 18148:case 18149:case 18152:case 18153:case 18154:case 18159:case 18160:case 18161:case 18162:case 18165:case 18173:case 18174:case 18175:case 18176:case 18177:case 18178:case 18180:case 18182:case 18183:case 18186:case 18187:case 18188:case 18189:case 18192:case 18193:case 18196:case 23175:case 23237:case 23295:case 37459:case 37498:case 37563:case 37596:case 37971:case 38010:case 38075:case 38108:case 38483:case 38522:case 38587:case 38620:case 40019:case 40058:case 40123:case 40156:case 40531:case 40570:case 42579:case 42618:case 42683:case 42716:case 43091:case 43130:case 43195:case 43228:case 44115:case 44154:case 44219:case 44252:case 44627:case 44666:case 44731:case 44764:case 47187:case 47226:case 47291:case 47324:case 48211:case 48250:case 48315:case 48348:case 49747:case 49786:case 49851:case 49884:case 50259:case 50298:case 50363:case 50396:case 50771:case 50810:case 50875:case 50908:case 52307:case 52346:case 52411:case 52444:case 52819:case 52858:case 52923:case 52956:case 53331:case 53370:case 53435:case 53468:case 53843:case 53882:case 53947:case 53980:case 54867:case 54906:case 54971:case 55004:case 55891:case 55930:case 55995:case 56028:case 56915:case 56954:case 57019:case 57052:case 57427:case 57466:case 57531:case 57564:case 57939:case 57978:case 58043:case 58076:case 61523:case 61562:case 61627:case 61660:case 62035:case 62074:case 62139:case 62172:case 62547:case 62586:case 62651:case 62684:case 64083:case 64122:case 64187:case 64220:case 64595:case 64634:case 64699:case 64732:case 66643:case 66682:case 66747:case 66780:case 68179:case 68218:case 68283:case 68316:case 68691:case 68730:case 68795:case 68828:case 69203:case 69242:case 69307:case 69340:case 69715:case 69754:case 69819:case 69852:case 70227:case 70266:case 70331:case 70364:case 70739:case 70778:case 70843:case 70876:case 72787:case 72826:case 72891:case 72924:case 73299:case 73338:case 73403:case 73436:case 75347:case 75386:case 75451:case 75484:case 78931:case 78970:case 79035:case 79068:case 79443:case 79482:case 79547:case 79580:case 79955:case 79994:case 80059:case 80092:case 80467:case 80506:case 80571:case 80604:case 82515:case 82554:case 82619:case 82652:case 83539:case 83578:case 83643:case 83676:case 85587:case 85626:case 85691:case 85724:case 86099:case 86138:case 86203:case 86236:case 86611:case 86650:case 87123:case 87162:case 87227:case 87260:case 88659:case 88698:case 88763:case 88796:case 89171:case 89210:case 89275:case 89308:case 91731:case 91770:case 91835:case 91868:case 94803:case 94842:case 94907:case 94940:case 95827:case 95866:case 95931:case 95964:case 96339:case 96378:case 96443:case 96476:case 99411:case 99450:case 99515:case 99548:case 99923:case 99962:case 100027:case 100060:case 100947:case 100986:case 101051:case 101084:case 101459:case 101498:case 101563:case 101596:case 104019:case 104058:case 104123:case 104156:case 105555:case 105594:case 105659:case 105692:case 106067:case 106106:case 106171:case 106204:case 107603:case 107642:case 107707:case 107740:case 110675:case 110714:case 110779:case 110812:case 111187:case 111226:case 111291:case 111324:case 112723:case 112762:case 112827:case 112860:case 113747:case 113786:case 113851:case 113884:case 114259:case 114298:case 114363:case 114396:case 115283:case 115322:case 115387:case 115420:case 115795:case 115834:case 115899:case 115932:case 117331:case 117370:case 117435:case 117468:case 117843:case 117882:case 117947:case 117980:case 118355:case 118394:case 118459:case 118492:case 118867:case 118906:case 118971:case 119004:case 119379:case 119418:case 119483:case 119516:case 119891:case 119930:case 119995:case 120028:case 122451:case 122490:case 122555:case 122588:case 122963:case 123002:case 123067:case 123100:case 125523:case 125562:case 125627:case 125660:case 126547:case 126586:case 127059:case 127098:case 127163:case 127196:case 127571:case 127610:case 127675:case 127708:case 130643:case 130682:case 130747:case 130780:case 131155:case 131194:case 131259:case 131292:case 131667:case 131706:case 131771:case 131804:case 132179:case 132218:case 132283:case 132316:case 132691:case 132730:case 132795:case 132828:case 134227:case 134266:case 134331:case 134364:case 134739:case 134778:case 134843:case 134876:case 136275:case 136314:case 136379:case 136412:case 136787:case 136826:case 136891:case 136924:case 137299:case 137338:case 137403:case 137436:case 137811:case 137850:case 137915:case 137948:case 139859:case 139898:case 139963:case 139996:case 143955:case 143969:case 143992:case 143994:case 144059:case 144078:case 144092:case 144121:case 144134:ti();break;case-3:break;default:jr()}}function Br(){ic.startNonterminal("AxisStep",Vl);switch($l){case 74:case 75:case 210:case 216:case 217:ql(232);break;default:Wl=$l}switch(Wl){case 46:case 26698:case 26699:case 26834:case 26840:case 26841:Wr();break;default:Fr()}Il(228),jl(),li(),ic.endNonterminal("AxisStep",Vl)}function jr(){switch($l){case 74:case 75:case 210:case 216:case 217:ql(232);break;default:Wl=$l}switch(Wl){case 46:case 26698:case 26699:case 26834:case 26840:case 26841:Xr();break;default:Ir()}Il(228),ci()}function Fr(){ic.startNonterminal("ForwardStep",Vl);switch($l){case 83:ql(236);break;case 94:case 112:case 113:case 137:case 138:case 234:ql(232);break;default:Wl=$l}switch(Wl){case 26707:case 26718:case 26736:case 26737:case 26761:case 26762:case 26858:qr(),Il(249),jl(),Qr();break;default:Ur()}ic.endNonterminal("ForwardStep",Vl)}function Ir(){switch($l){case 83:ql(236);break;case 94:case 112:case 113:case 137:case 138:case 234:ql(232);break;default:Wl=$l}switch(Wl){case 26707:case 26718:case 26736:case 26737:case 26761:case 26762:case 26858:Rr(),Il(249),Gr();break;default:zr()}}function qr(){ic.startNonterminal("ForwardAxis",Vl);switch($l){case 94:Pl(94),Il(27),Pl(52);break;case 112:Pl(112),Il(27),Pl(52);break;case 83:Pl(83),Il(27),Pl(52);break;case 234:Pl(234),Il(27),Pl(52);break;case 113:Pl(113),Il(27),Pl(52);break;case 138:Pl(138),Il(27),Pl(52);break;default:Pl(137),Il(27),Pl(52)}ic.endNonterminal("ForwardAxis",Vl)}function Rr(){switch($l){case 94:Hl(94),Il(27),Hl(52);break;case 112:Hl(112),Il(27),Hl(52);break;case 83:Hl(83),Il(27),Hl(52);break;case 234:Hl(234),Il(27),Hl(52);break;case 113:Hl(113),Il(27),Hl(52);break;case 138:Hl(138),Il(27),Hl(52);break;default:Hl(137),Il(27),Hl(52)}}function Ur(){ic.startNonterminal("AbbrevForwardStep",Vl),$l==67&&Pl(67),Il(249),jl(),Qr(),ic.endNonterminal("AbbrevForwardStep",Vl)}function zr(){$l==67&&Hl(67),Il(249),Gr()}function Wr(){ic.startNonterminal("ReverseStep",Vl);switch($l){case 46:Jr();break;default:Vr(),Il(249),jl(),Qr()}ic.endNonterminal("ReverseStep",Vl)}function Xr(){switch($l){case 46:Kr();break;default:$r(),Il(249),Gr()}}function Vr(){ic.startNonterminal("ReverseAxis",Vl);switch($l){case 210:Pl(210),Il(27),Pl(52);break;case 74:Pl(74),Il(27),Pl(52);break;case 217:Pl(217),Il(27),Pl(52);break;case 216:Pl(216),Il(27),Pl(52);break;default:Pl(75),Il(27),Pl(52)}ic.endNonterminal("ReverseAxis",Vl)}function $r(){switch($l){case 210:Hl(210),Il(27),Hl(52);break;case 74:Hl(74),Il(27),Hl(52);break;case 217:Hl(217),Il(27),Hl(52);break;case 216:Hl(216),Il(27),Hl(52);break;default:Hl(75),Il(27),Hl(52)}}function Jr(){ic.startNonterminal("AbbrevReverseStep",Vl),Pl(46),ic.endNonterminal("AbbrevReverseStep",Vl)}function Kr(){Hl(46)}function Qr(){ic.startNonterminal("NodeTest",Vl);switch($l){case 83:case 97:case 121:case 122:case 188:case 194:case 220:case 230:case 231:case 249:ql(231);break;default:Wl=$l}switch(Wl){case 18003:case 18017:case 18041:case 18042:case 18108:case 18114:case 18140:case 18150:case 18151:case 18169:Vs();break;default:Yr()}ic.endNonterminal("NodeTest",Vl)}function Gr(){switch($l){case 83:case 97:case 121:case 122:case 188:case 194:case 220:case 230:case 231:case 249:ql(231);break;default:Wl=$l}switch(Wl){case 18003:case 18017:case 18041:case 18042:case 18108:case 18114:case 18140:case 18150:case 18151:case 18169:$s();break;default:Zr()}}function Yr(){ic.startNonterminal("NameTest",Vl);switch($l){case 5:Pl(5);break;default:$a()}ic.endNonterminal("NameTest",Vl)}function Zr(){switch($l){case 5:Hl(5);break;default:Ja()}}function ei(){ic.startNonterminal("PostfixExpr",Vl),yl();for(;;){Il(235);if($l!=35&&$l!=45&&$l!=69)break;switch($l){case 69:ql(273);break;default:Wl=$l}if(Wl==35397){Wl=uc(5,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{pi(),Wl=-1}catch(a){Wl=-4}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(5,Vl,Wl)}}switch(Wl){case 35:jl(),ai();break;case 45:jl(),ni();break;case-4:jl(),ii();break;case 35909:jl(),oi();break;default:jl(),hi()}}ic.endNonterminal("PostfixExpr",Vl)}function ti(){bl();for(;;){Il(235);if($l!=35&&$l!=45&&$l!=69)break;switch($l){case 69:ql(273);break;default:Wl=$l}if(Wl==35397){Wl=uc(5,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{pi(),oc(5,t,-1),Wl=-6}catch(a){Wl=-4,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(5,t,-4)}}}switch(Wl){case 35:fi();break;case 45:ri();break;case-4:si();break;case 35909:ui();break;case-6:break;default:pi()}}}function ni(){ic.startNonterminal("ObjectLookup",Vl),Pl(45),Il(251);switch($l){case 11:Pl(11);break;case 35:jl(),Ci();break;case 31:jl(),Si();break;case 32:jl(),Li();break;default:jl(),Ga()}ic.endNonterminal("ObjectLookup",Vl)}function ri(){Hl(45),Il(251);switch($l){case 11:Hl(11);break;case 35:ki();break;case 31:xi();break;case 32:Ai();break;default:Ya()}}function ii(){ic.startNonterminal("ArrayLookup",Vl),Pl(69),Il(31),Pl(69),Il(267),jl(),G(),Pl(70),Il(32),Pl(70),ic.endNonterminal("ArrayLookup",Vl)}function si(){Hl(69),Il(31),Hl(69),Il(267),Y(),Hl(70),Il(32),Hl(70)}function oi(){ic.startNonterminal("ArrayUnboxing",Vl),Pl(69),Il(32),Pl(70),ic.endNonterminal("ArrayUnboxing",Vl)}function ui(){Hl(69),Il(32),Hl(70)}function ai(){ic.startNonterminal("ArgumentList",Vl),Pl(35),Il(280);if($l!=38){jl(),Bi();for(;;){Il(105);if($l!=42)break;Pl(42),Il(272),jl(),Bi()}}Pl(38),ic.endNonterminal("ArgumentList",Vl)}function fi(){Hl(35),Il(280);if($l!=38){ji();for(;;){Il(105);if($l!=42)break;Hl(42),Il(272),ji()}}Hl(38)}function li(){ic.startNonterminal("PredicateList",Vl);for(;;){Il(228);if($l!=69)break;jl(),hi()}ic.endNonterminal("PredicateList",Vl)}function ci(){for(;;){Il(228);if($l!=69)break;pi()}}function hi(){ic.startNonterminal("Predicate",Vl),Pl(69),Il(267),jl(),G(),Pl(70),ic.endNonterminal("Predicate",Vl)}function pi(){Hl(69),Il(267),Y(),Hl(70)}function di(){ic.startNonterminal("Literal",Vl);switch($l){case 11:Pl(11);break;case 135:case 255:mi();break;case 197:yi();break;default:wi()}ic.endNonterminal("Literal",Vl)}function vi(){switch($l){case 11:Hl(11);break;case 135:case 255:gi();break;case 197:bi();break;default:Ei()}}function mi(){ic.startNonterminal("BooleanLiteral",Vl);switch($l){case 255:Pl(255);break;default:Pl(135)}ic.endNonterminal("BooleanLiteral",Vl)}function gi(){switch($l){case 255:Hl(255);break;default:Hl(135)}}function yi(){ic.startNonterminal("NullLiteral",Vl),Pl(197),ic.endNonterminal("NullLiteral",Vl)}function bi(){Hl(197)}function wi(){ic.startNonterminal("NumericLiteral",Vl);switch($l){case 8:Pl(8);break;case 9:Pl(9);break;default:Pl(10)}ic.endNonterminal("NumericLiteral",Vl)}function Ei(){switch($l){case 8:Hl(8);break;case 9:Hl(9);break;default:Hl(10)}}function Si(){ic.startNonterminal("VarRef",Vl),Pl(31),Il(246),jl(),Ti(),ic.endNonterminal("VarRef",Vl)}function xi(){Hl(31),Il(246),Ni()}function Ti(){ic.startNonterminal("VarName",Vl),$a(),ic.endNonterminal("VarName",Vl)}function Ni(){Ja()}function Ci(){ic.startNonterminal("ParenthesizedExpr",Vl),Pl(35),Il(270),$l!=38&&(jl(),G()),Pl(38),ic.endNonterminal("ParenthesizedExpr",Vl)}function ki(){Hl(35),Il(270),$l!=38&&Y(),Hl(38)}function Li(){ic.startNonterminal("ContextItemExpr",Vl),Pl(32),ic.endNonterminal("ContextItemExpr",Vl)}function Ai(){Hl(32)}function Oi(){ic.startNonterminal("OrderedExpr",Vl),Pl(206),Il(90),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("OrderedExpr",Vl)}function Mi(){Hl(206),Il(90),Hl(281),Il(267),Y(),Hl(287)}function _i(){ic.startNonterminal("UnorderedExpr",Vl),Pl(262),Il(90),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("UnorderedExpr",Vl)}function Di(){Hl(262),Il(90),Hl(281),Il(267),Y(),Hl(287)}function Pi(){ic.startNonterminal("FunctionCall",Vl),Ka(),Il(22),jl(),ai(),ic.endNonterminal("FunctionCall",Vl)}function Hi(){Qa(),Il(22),fi()}function Bi(){ic.startNonterminal("Argument",Vl);switch($l){case 65:Fi();break;default:Wf()}ic.endNonterminal("Argument",Vl)}function ji(){switch($l){case 65:Ii();break;default:Xf()}}function Fi(){ic.startNonterminal("ArgumentPlaceholder",Vl),Pl(65),ic.endNonterminal("ArgumentPlaceholder",Vl)}function Ii(){Hl(65)}function qi(){ic.startNonterminal("Constructor",Vl);switch($l){case 55:case 56:case 60:Ui();break;default:os()}ic.endNonterminal("Constructor",Vl)}function Ri(){switch($l){case 55:case 56:case 60:zi();break;default:us()}}function Ui(){ic.startNonterminal("DirectConstructor",Vl);switch($l){case 55:Wi();break;case 56:ns();break;default:is()}ic.endNonterminal("DirectConstructor",Vl)}function zi(){switch($l){case 55:Xi();break;case 56:rs();break;default:ss()}}function Wi(){ic.startNonterminal("DirElemConstructor",Vl),Pl(55),Rl(4),Pl(20),Vi();switch($l){case 49:Pl(49);break;default:Pl(62);for(;;){Rl(196);if($l==57)break;es()}Pl(57),Rl(4),Pl(20),Rl(12),$l==21&&Pl(21),Rl(8),Pl(62)}ic.endNonterminal("DirElemConstructor",Vl)}function Xi(){Hl(55),Rl(4),Hl(20),$i();switch($l){case 49:Hl(49);break;default:Hl(62);for(;;){Rl(196);if($l==57)break;ts()}Hl(57),Rl(4),Hl(20),Rl(12),$l==21&&Hl(21),Rl(8),Hl(62)}}function Vi(){ic.startNonterminal("DirAttributeList",Vl);for(;;){Rl(19);if($l!=21)break;Pl(21),Rl(94),$l==20&&(Pl(20),Rl(11),$l==21&&Pl(21),Rl(7),Pl(61),Rl(18),$l==21&&Pl(21),Ji())}ic.endNonterminal("DirAttributeList",Vl)}function $i(){for(;;){Rl(19);if($l!=21)break;Hl(21),Rl(94),$l==20&&(Hl(20),Rl(11),$l==21&&Hl(21),Rl(7),Hl(61),Rl(18),$l==21&&Hl(21),Ki())}}function Ji(){ic.startNonterminal("DirAttributeValue",Vl),Rl(14);switch($l){case 28:Pl(28);for(;;){Rl(185);if($l==28)break;switch($l){case 13:Pl(13);break;default:Qi()}}Pl(28);break;default:Pl(34);for(;;){Rl(186);if($l==34)break;switch($l){case 14:Pl(14);break;default:Yi()}}Pl(34)}ic.endNonterminal("DirAttributeValue",Vl)}function Ki(){Rl(14);switch($l){case 28:Hl(28);for(;;){Rl(185);if($l==28)break;switch($l){case 13:Hl(13);break;default:Gi()}}Hl(28);break;default:Hl(34);for(;;){Rl(186);if($l==34)break;switch($l){case 14:Hl(14);break;default:Zi()}}Hl(34)}}function Qi(){ic.startNonterminal("QuotAttrValueContent",Vl);switch($l){case 16:Pl(16);break;default:il()}ic.endNonterminal("QuotAttrValueContent",Vl)}function Gi(){switch($l){case 16:Hl(16);break;default:sl()}}function Yi(){ic.startNonterminal("AposAttrValueContent",Vl);switch($l){case 17:Pl(17);break;default:il()}ic.endNonterminal("AposAttrValueContent",Vl)}function Zi(){switch($l){case 17:Hl(17);break;default:sl()}}function es(){ic.startNonterminal("DirElemContent",Vl);switch($l){case 55:case 56:case 60:Ui();break;case 4:Pl(4);break;case 15:Pl(15);break;default:il()}ic.endNonterminal("DirElemContent",Vl)}function ts(){switch($l){case 55:case 56:case 60:zi();break;case 4:Hl(4);break;case 15:Hl(15);break;default:sl()}}function ns(){ic.startNonterminal("DirCommentConstructor",Vl),Pl(56),Rl(1),Pl(2),Rl(6),Pl(44),ic.endNonterminal("DirCommentConstructor",Vl)}function rs(){Hl(56),Rl(1),Hl(2),Rl(6),Hl(44)}function is(){ic.startNonterminal("DirPIConstructor",Vl),Pl(60),Rl(3),Pl(18),Rl(13),$l==21&&(Pl(21),Rl(2),Pl(3)),Rl(9),Pl(66),ic.endNonterminal("DirPIConstructor",Vl)}function ss(){Hl(60),Rl(3),Hl(18),Rl(13),$l==21&&(Hl(21),Rl(2),Hl(3)),Rl(9),Hl(66)}function os(){ic.startNonterminal("ComputedConstructor",Vl);switch($l){case 120:al();break;case 122:as();break;case 83:ll();break;case 187:ls();break;case 249:ml();break;case 97:dl();break;default:hl()}ic.endNonterminal("ComputedConstructor",Vl)}function us(){switch($l){case 120:fl();break;case 122:fs();break;case 83:cl();break;case 187:cs();break;case 249:gl();break;case 97:vl();break;default:pl()}}function as(){ic.startNonterminal("CompElemConstructor",Vl),Pl(122),Il(250);switch($l){case 281:Pl(281),Il(267),jl(),G(),Pl(287);break;default:jl(),$a()}Il(90),Pl(281),Il(281),$l!=287&&(jl(),ol()),Pl(287),ic.endNonterminal("CompElemConstructor",Vl)}function fs(){Hl(122),Il(250);switch($l){case 281:Hl(281),Il(267),Y(),Hl(287);break;default:Ja()}Il(90),Hl(281),Il(281),$l!=287&&ul(),Hl(287)}function ls(){ic.startNonterminal("CompNamespaceConstructor",Vl),Pl(187),Il(242);switch($l){case 281:Pl(281),Il(267),jl(),ds(),Pl(287);break;default:jl(),hs()}Il(90),Pl(281),Il(267),jl(),ms(),Pl(287),ic.endNonterminal("CompNamespaceConstructor",Vl)}function cs(){Hl(187),Il(242);switch($l){case 281:Hl(281),Il(267),vs(),Hl(287);break;default:ps()}Il(90),Hl(281),Il(267),gs(),Hl(287)}function hs(){ic.startNonterminal("Prefix",Vl),Ga(),ic.endNonterminal("Prefix",Vl)}function ps(){Ya()}function ds(){ic.startNonterminal("PrefixExpr",Vl),G(),ic.endNonterminal("PrefixExpr",Vl)}function vs(){Y()}function ms(){ic.startNonterminal("URIExpr",Vl),G(),ic.endNonterminal("URIExpr",Vl)}function gs(){Y()}function ys(){ic.startNonterminal("FunctionItemExpr",Vl);switch($l){case 147:ql(95);break;default:Wl=$l}switch(Wl){case 33:case 18067:Ss();break;default:ws()}ic.endNonterminal("FunctionItemExpr",Vl)}function bs(){switch($l){case 147:ql(95);break;default:Wl=$l}switch(Wl){case 33:case 18067:xs();break;default:Es()}}function ws(){ic.startNonterminal("NamedFunctionRef",Vl),$a(),Il(20),Pl(29),Il(16),Pl(8),ic.endNonterminal("NamedFunctionRef",Vl)}function Es(){Ja(),Il(20),Hl(29),Il(16),Hl(8)}function Ss(){ic.startNonterminal("InlineFunctionExpr",Vl);for(;;){Il(101);if($l!=33)break;jl(),B()}Pl(147),Il(22),Pl(35),Il(98),$l==31&&(jl(),U()),Pl(38),Il(115),$l==80&&(Pl(80),Il(254),jl(),Ls()),Il(90),jl(),V(),ic.endNonterminal("InlineFunctionExpr",Vl)}function xs(){for(;;){Il(101);if($l!=33)break;j()}Hl(147),Il(22),Hl(35),Il(98),$l==31&&z(),Hl(38),Il(115),$l==80&&(Hl(80),Il(254),As()),Il(90),$()}function Ts(){ic.startNonterminal("SingleType",Vl),ko(),Il(226),$l==65&&Pl(65),ic.endNonterminal("SingleType",Vl)}function Ns(){Lo(),Il(226),$l==65&&Hl(65)}function Cs(){ic.startNonterminal("TypeDeclaration",Vl),Pl(80),Il(254),jl(),Ls(),ic.endNonterminal("TypeDeclaration",Vl)}function ks(){Hl(80),Il(254),As()}function Ls(){ic.startNonterminal("SequenceType",Vl);switch($l){case 35:ql(259);break;case 125:ql(233);break;default:Wl=$l}switch(Wl){case 18045:case 19491:$l==125&&Pl(125),Il(22),Pl(35),Il(23),Pl(38);break;default:_s(),Il(229);switch($l){case 40:case 41:case 65:jl(),Os();break;default:}}ic.endNonterminal("SequenceType",Vl)}function As(){switch($l){case 35:ql(259);break;case 125:ql(233);break;default:Wl=$l}switch(Wl){case 18045:case 19491:$l==125&&Hl(125),Il(22),Hl(35),Il(23),Hl(38);break;default:Ds(),Il(229);switch($l){case 40:case 41:case 65:Ms();break;default:}}}function Os(){ic.startNonterminal("OccurrenceIndicator",Vl);switch($l){case 65:Pl(65);break;case 40:Pl(40);break;default:Pl(41)}ic.endNonterminal("OccurrenceIndicator",Vl)}function Ms(){switch($l){case 65:Hl(65);break;case 40:Hl(40);break;default:Hl(41)}}function _s(){ic.startNonterminal("ItemType",Vl);switch($l){case 79:case 83:case 97:case 121:case 122:case 147:case 167:case 169:case 188:case 194:case 198:case 220:case 230:case 231:case 247:case 249:ql(233);break;default:Wl=$l}if(Wl==12879||Wl==12969||Wl==12998||Wl==13047||Wl==13903||Wl==13993||Wl==14022||Wl==14071||Wl==19535||Wl==19625||Wl==19654||Wl==19703||Wl==20047||Wl==20137||Wl==20166||Wl==20215||Wl==20559||Wl==20649||Wl==20678||Wl==20727||Wl==21071||Wl==21161||Wl==21190||Wl==21239||Wl==21583||Wl==21673||Wl==21702||Wl==21751||Wl==22095||Wl==22185||Wl==22214||Wl==22263||Wl==25679||Wl==25769||Wl==25798||Wl==25847||Wl==27215||Wl==27305||Wl==27334||Wl==27383||Wl==27727||Wl==27817||Wl==27846||Wl==27895||Wl==28239||Wl==28329||Wl==28358||Wl==28407||Wl==29775||Wl==29865||Wl==29894||Wl==29943||Wl==30287||Wl==30377||Wl==30406||Wl==30455||Wl==31311||Wl==31401||Wl==31430||Wl==31479||Wl==31823||Wl==31913||Wl==31942||Wl==31991||Wl==32335||Wl==32425||Wl==32454||Wl==32503||Wl==32847||Wl==32937||Wl==32966||Wl==33015||Wl==33359||Wl==33449||Wl==33478||Wl==33527||Wl==35919||Wl==36009||Wl==36038||Wl==36087||Wl==36431||Wl==36521||Wl==36550||Wl==36599||Wl==37455||Wl==37545||Wl==37574||Wl==37623||Wl==38991||Wl==39081||Wl==39110||Wl==39159||Wl==41039||Wl==41129||Wl==41158||Wl==41207||Wl==41551||Wl==41641||Wl==41670||Wl==41719||Wl==42063||Wl==42153||Wl==42182||Wl==42231||Wl==43599||Wl==43689||Wl==43718||Wl==43767||Wl==45647||Wl==45737||Wl==45766||Wl==45815||Wl==48719||Wl==48809||Wl==48838||Wl==48887||Wl==51279||Wl==51369||Wl==51398||Wl==51447||Wl==54351||Wl==54441||Wl==54470||Wl==54519||Wl==56399||Wl==56489||Wl==56518||Wl==56567||Wl==58447||Wl==58537||Wl==58566||Wl==58615||Wl==61007||Wl==61097||Wl==61126||Wl==61175||Wl==63055||Wl==63145||Wl==63174||Wl==63223||Wl==63567||Wl==63657||Wl==63686||Wl==63735||Wl==65103||Wl==65193||Wl==65222||Wl==65271||Wl==66127||Wl==66217||Wl==66246||Wl==66295||Wl==67663||Wl==67753||Wl==67782||Wl==67831||Wl==68687||Wl==68777||Wl==68806||Wl==68855||Wl==71247||Wl==71337||Wl==71366||Wl==71415||Wl==75855||Wl==75945||Wl==75974||Wl==76023||Wl==76879||Wl==76969||Wl==76998||Wl==77047||Wl==77903||Wl==77993||Wl==78022||Wl==78071||Wl==78415||Wl==78505||Wl==78534||Wl==78583||Wl==79951||Wl==80041||Wl==80070||Wl==80119||Wl==83023||Wl==83113||Wl==83142||Wl==83191||Wl==84047||Wl==84137||Wl==84166||Wl==84215||Wl==84559||Wl==84649||Wl==84678||Wl==84727||Wl==85071||Wl==85161||Wl==85190||Wl==85239||Wl==89679||Wl==89769||Wl==89798||Wl==89847||Wl==90703||Wl==90793||Wl==90822||Wl==90871||Wl==92751||Wl==92841||Wl==92870||Wl==92919||Wl==93775||Wl==93865||Wl==93894||Wl==93943||Wl==94287||Wl==94377||Wl==94406||Wl==94455||Wl==96847||Wl==96937||Wl==96966||Wl==97015||Wl==103503||Wl==103593||Wl==103622||Wl==103671||Wl==104527||Wl==104617||Wl==104646||Wl==104695||Wl==105039||Wl==105129||Wl==105158||Wl==105207||Wl==107087||Wl==107177||Wl==107206||Wl==107255||Wl==114767||Wl==114857||Wl==114886||Wl==114935||Wl==116815||Wl==116905||Wl==116934||Wl==116983||Wl==118863||Wl==118953||Wl==118982||Wl==119031||Wl==121423||Wl==121513||Wl==121542||Wl==121591||Wl==123471||Wl==123561||Wl==123590||Wl==123639||Wl==123983||Wl==124073||Wl==124102||Wl==124151||Wl==129103||Wl==129193||Wl==129222||Wl==129271||Wl==129615||Wl==129705||Wl==129734||Wl==129783||Wl==133199||Wl==133289||Wl==133318||Wl==133367||Wl==139343||Wl==139433||Wl==139462||Wl==139511||Wl==141391||Wl==141481||Wl==141510||Wl==141559||Wl==142927||Wl==143017||Wl==143046||Wl==143095||Wl==143951||Wl==144041||Wl==144070||Wl==144119||Wl==145487||Wl==145577||Wl==145606||Wl==145655||Wl==145999||Wl==146089||Wl==146118||Wl==146167||Wl==146511||Wl==146601||Wl==146630||Wl==146679||Wl==147023||Wl==147113||Wl==147142||Wl==147191){Wl=uc(6,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Xs(),Wl=-4}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Hs(),Wl=-6}catch(f){Wl=-7}}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(6,Vl,Wl)}}switch(Wl){case 18003:case 18017:case 18041:case 18042:case 18108:case 18114:case 18140:case 18150:case 18151:case 18169:Vs();break;case 18087:Pl(167),Il(22),Pl(35),Il(23),Pl(38);break;case 33:case 18067:Mo();break;case 35:jo();break;case-6:case 17999:case 18089:case 18118:Ps();break;case-7:case 18167:Bs();break;default:Ws()}ic.endNonterminal("ItemType",Vl)}function Ds(){switch($l){case 79:case 83:case 97:case 121:case 122:case 147:case 167:case 169:case 188:case 194:case 198:case 220:case 230:case 231:case 247:case 249:ql(233);break;default:Wl=$l}if(Wl==12879||Wl==12969||Wl==12998||Wl==13047||Wl==13903||Wl==13993||Wl==14022||Wl==14071||Wl==19535||Wl==19625||Wl==19654||Wl==19703||Wl==20047||Wl==20137||Wl==20166||Wl==20215||Wl==20559||Wl==20649||Wl==20678||Wl==20727||Wl==21071||Wl==21161||Wl==21190||Wl==21239||Wl==21583||Wl==21673||Wl==21702||Wl==21751||Wl==22095||Wl==22185||Wl==22214||Wl==22263||Wl==25679||Wl==25769||Wl==25798||Wl==25847||Wl==27215||Wl==27305||Wl==27334||Wl==27383||Wl==27727||Wl==27817||Wl==27846||Wl==27895||Wl==28239||Wl==28329||Wl==28358||Wl==28407||Wl==29775||Wl==29865||Wl==29894||Wl==29943||Wl==30287||Wl==30377||Wl==30406||Wl==30455||Wl==31311||Wl==31401||Wl==31430||Wl==31479||Wl==31823||Wl==31913||Wl==31942||Wl==31991||Wl==32335||Wl==32425||Wl==32454||Wl==32503||Wl==32847||Wl==32937||Wl==32966||Wl==33015||Wl==33359||Wl==33449||Wl==33478||Wl==33527||Wl==35919||Wl==36009||Wl==36038||Wl==36087||Wl==36431||Wl==36521||Wl==36550||Wl==36599||Wl==37455||Wl==37545||Wl==37574||Wl==37623||Wl==38991||Wl==39081||Wl==39110||Wl==39159||Wl==41039||Wl==41129||Wl==41158||Wl==41207||Wl==41551||Wl==41641||Wl==41670||Wl==41719||Wl==42063||Wl==42153||Wl==42182||Wl==42231||Wl==43599||Wl==43689||Wl==43718||Wl==43767||Wl==45647||Wl==45737||Wl==45766||Wl==45815||Wl==48719||Wl==48809||Wl==48838||Wl==48887||Wl==51279||Wl==51369||Wl==51398||Wl==51447||Wl==54351||Wl==54441||Wl==54470||Wl==54519||Wl==56399||Wl==56489||Wl==56518||Wl==56567||Wl==58447||Wl==58537||Wl==58566||Wl==58615||Wl==61007||Wl==61097||Wl==61126||Wl==61175||Wl==63055||Wl==63145||Wl==63174||Wl==63223||Wl==63567||Wl==63657||Wl==63686||Wl==63735||Wl==65103||Wl==65193||Wl==65222||Wl==65271||Wl==66127||Wl==66217||Wl==66246||Wl==66295||Wl==67663||Wl==67753||Wl==67782||Wl==67831||Wl==68687||Wl==68777||Wl==68806||Wl==68855||Wl==71247||Wl==71337||Wl==71366||Wl==71415||Wl==75855||Wl==75945||Wl==75974||Wl==76023||Wl==76879||Wl==76969||Wl==76998||Wl==77047||Wl==77903||Wl==77993||Wl==78022||Wl==78071||Wl==78415||Wl==78505||Wl==78534||Wl==78583||Wl==79951||Wl==80041||Wl==80070||Wl==80119||Wl==83023||Wl==83113||Wl==83142||Wl==83191||Wl==84047||Wl==84137||Wl==84166||Wl==84215||Wl==84559||Wl==84649||Wl==84678||Wl==84727||Wl==85071||Wl==85161||Wl==85190||Wl==85239||Wl==89679||Wl==89769||Wl==89798||Wl==89847||Wl==90703||Wl==90793||Wl==90822||Wl==90871||Wl==92751||Wl==92841||Wl==92870||Wl==92919||Wl==93775||Wl==93865||Wl==93894||Wl==93943||Wl==94287||Wl==94377||Wl==94406||Wl==94455||Wl==96847||Wl==96937||Wl==96966||Wl==97015||Wl==103503||Wl==103593||Wl==103622||Wl==103671||Wl==104527||Wl==104617||Wl==104646||Wl==104695||Wl==105039||Wl==105129||Wl==105158||Wl==105207||Wl==107087||Wl==107177||Wl==107206||Wl==107255||Wl==114767||Wl==114857||Wl==114886||Wl==114935||Wl==116815||Wl==116905||Wl==116934||Wl==116983||Wl==118863||Wl==118953||Wl==118982||Wl==119031||Wl==121423||Wl==121513||Wl==121542||Wl==121591||Wl==123471||Wl==123561||Wl==123590||Wl==123639||Wl==123983||Wl==124073||Wl==124102||Wl==124151||Wl==129103||Wl==129193||Wl==129222||Wl==129271||Wl==129615||Wl==129705||Wl==129734||Wl==129783||Wl==133199||Wl==133289||Wl==133318||Wl==133367||Wl==139343||Wl==139433||Wl==139462||Wl==139511||Wl==141391||Wl==141481||Wl==141510||Wl==141559||Wl==142927||Wl==143017||Wl==143046||Wl==143095||Wl==143951||Wl==144041||Wl==144070||Wl==144119||Wl==145487||Wl==145577||Wl==145606||Wl==145655||Wl==145999||Wl==146089||Wl==146118||Wl==146167||Wl==146511||Wl==146601||Wl==146630||Wl==146679||Wl==147023||Wl==147113||Wl==147142||Wl==147191){Wl=uc(6,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Xs(),oc(6,t,-4),Wl=-8}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Hs(),oc(6,t,-6),Wl=-8}catch(f){Wl=-7,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(6,t,-7)}}}}switch(Wl){case 18003:case 18017:case 18041:case 18042:case 18108:case 18114:case 18140:case 18150:case 18151:case 18169:$s();break;case 18087:Hl(167),Il(22),Hl(35),Il(23),Hl(38);break;case 33:case 18067:_o();break;case 35:Fo();break;case-6:case 17999:case 18089:case 18118:Hs();break;case-7:case 18167:js();break;case-8:break;default:Xs()}}function Ps(){ic.startNonterminal("JSONTest",Vl);switch($l){case 169:Fs();break;case 198:qs();break;default:Us()}ic.endNonterminal("JSONTest",Vl)}function Hs(){switch($l){case 169:Is();break;case 198:Rs();break;default:zs()}}function Bs(){ic.startNonterminal("StructuredItemTest",Vl),Pl(247),Il(233),$l==35&&(Pl(35),Il(23),Pl(38)),ic.endNonterminal("StructuredItemTest",Vl)}function js(){Hl(247),Il(233),$l==35&&(Hl(35),Il(23),Hl(38))}function Fs(){ic.startNonterminal("JSONItemTest",Vl),Pl(169),Il(233),$l==35&&(Pl(35),Il(23),Pl(38)),ic.endNonterminal("JSONItemTest",Vl)}function Is(){Hl(169),Il(233),$l==35&&(Hl(35),Il(23),Hl(38))}function qs(){ic.startNonterminal("JSONObjectTest",Vl),Pl(198),Il(233),$l==35&&(Pl(35),Il(23),Pl(38)),ic.endNonterminal("JSONObjectTest",Vl)}function Rs(){Hl(198),Il(233),$l==35&&(Hl(35),Il(23),Hl(38))}function Us(){ic.startNonterminal("JSONArrayTest",Vl),Pl(79),Il(233),$l==35&&(Pl(35),Il(23),Pl(38)),ic.endNonterminal("JSONArrayTest",Vl)}function zs(){Hl(79),Il(233),$l==35&&(Hl(35),Il(23),Hl(38))}function Ws(){ic.startNonterminal("AtomicOrUnionType",Vl),$a(),ic.endNonterminal("AtomicOrUnionType",Vl)}function Xs(){Ja()}function Vs(){ic.startNonterminal("KindTest",Vl);switch($l){case 121:Qs();break;case 122:vo();break;case 83:oo();break;case 231:bo();break;case 230:lo();break;case 220:io();break;case 97:eo();break;case 249:Ys();break;case 188:no();break;default:Js()}ic.endNonterminal("KindTest",Vl)}function $s(){switch($l){case 121:Gs();break;case 122:mo();break;case 83:uo();break;case 231:wo();break;case 230:co();break;case 220:so();break;case 97:to();break;case 249:Zs();break;case 188:ro();break;default:Ks()}}function Js(){ic.startNonterminal("AnyKindTest",Vl),Pl(194),Il(22),Pl(35),Il(23),Pl(38),ic.endNonterminal("AnyKindTest",Vl)}function Ks(){Hl(194),Il(22),Hl(35),Il(23),Hl(38)}function Qs(){ic.startNonterminal("DocumentTest",Vl),Pl(121),Il(22),Pl(35),Il(154);if($l!=38)switch($l){case 122:jl(),vo();break;default:jl(),bo()}Il(23),Pl(38),ic.endNonterminal("DocumentTest",Vl)}function Gs(){Hl(121),Il(22),Hl(35),Il(154);if($l!=38)switch($l){case 122:mo();break;default:wo()}Il(23),Hl(38)}function Ys(){ic.startNonterminal("TextTest",Vl),Pl(249),Il(22),Pl(35),Il(23),Pl(38),ic.endNonterminal("TextTest",Vl)}function Zs(){Hl(249),Il(22),Hl(35),Il(23),Hl(38)}function eo(){ic.startNonterminal("CommentTest",Vl),Pl(97),Il(22),Pl(35),Il(23),Pl(38),ic.endNonterminal("CommentTest",Vl)}function to(){Hl(97),Il(22),Hl(35),Il(23),Hl(38)}function no(){ic.startNonterminal("NamespaceNodeTest",Vl),Pl(188),Il(22),Pl(35),Il(23),Pl(38),ic.endNonterminal("NamespaceNodeTest",Vl)}function ro(){Hl(188),Il(22),Hl(35),Il(23),Hl(38)}function io(){ic.startNonterminal("PITest",Vl),Pl(220),Il(22),Pl(35),Il(244);if($l!=38)switch($l){case 11:Pl(11);break;default:jl(),Ga()}Il(23),Pl(38),ic.endNonterminal("PITest",Vl)}function so(){Hl(220),Il(22),Hl(35),Il(244);if($l!=38)switch($l){case 11:Hl(11);break;default:Ya()}Il(23),Hl(38)}function oo(){ic.startNonterminal("AttributeTest",Vl),Pl(83),Il(22),Pl(35),Il(255),$l!=38&&(jl(),ao(),Il(105),$l==42&&(Pl(42),Il(246),jl(),Ao())),Il(23),Pl(38),ic.endNonterminal("AttributeTest",Vl)}function uo(){Hl(83),Il(22),Hl(35),Il(255),$l!=38&&(fo(),Il(105),$l==42&&(Hl(42),Il(246),Oo())),Il(23),Hl(38)}function ao(){ic.startNonterminal("AttribNameOrWildcard",Vl);switch($l){case 39:Pl(39);break;default:xo()}ic.endNonterminal("AttribNameOrWildcard",Vl)}function fo(){switch($l){case 39:Hl(39);break;default:To()}}function lo(){ic.startNonterminal("SchemaAttributeTest",Vl),Pl(230),Il(22),Pl(35),Il(246),jl(),ho(),Il(23),Pl(38),ic.endNonterminal("SchemaAttributeTest",Vl)}function co(){Hl(230),Il(22),Hl(35),Il(246),po(),Il(23),Hl(38)}function ho(){ic.startNonterminal("AttributeDeclaration",Vl),xo(),ic.endNonterminal("AttributeDeclaration",Vl)}function po(){To()}function vo(){ic.startNonterminal("ElementTest",Vl),Pl(122),Il(22),Pl(35),Il(255),$l!=38&&(jl(),go(),Il(105),$l==42&&(Pl(42),Il(246),jl(),Ao(),Il(106),$l==65&&Pl(65))),Il(23),Pl(38),ic.endNonterminal("ElementTest",Vl)}function mo(){Hl(122),Il(22),Hl(35),Il(255),$l!=38&&(yo(),Il(105),$l==42&&(Hl(42),Il(246),Oo(),Il(106),$l==65&&Hl(65))),Il(23),Hl(38)}function go(){ic.startNonterminal("ElementNameOrWildcard",Vl);switch($l){case 39:Pl(39);break;default:No()}ic.endNonterminal("ElementNameOrWildcard",Vl)}function yo(){switch($l){case 39:Hl(39);break;default:Co()}}function bo(){ic.startNonterminal("SchemaElementTest",Vl),Pl(231),Il(22),Pl(35),Il(246),jl(),Eo(),Il(23),Pl(38),ic.endNonterminal("SchemaElementTest",Vl)}function wo(){Hl(231),Il(22),Hl(35),Il(246),So(),Il(23),Hl(38)}function Eo(){ic.startNonterminal("ElementDeclaration",Vl),No(),ic.endNonterminal("ElementDeclaration",Vl)}function So(){Co()}function xo(){ic.startNonterminal("AttributeName",Vl),$a(),ic.endNonterminal("AttributeName",Vl)}function To(){Ja()}function No(){ic.startNonterminal("ElementName",Vl),$a(),ic.endNonterminal("ElementName",Vl)}function Co(){Ja()}function ko(){ic.startNonterminal("SimpleTypeName",Vl),Ao(),ic.endNonterminal("SimpleTypeName",Vl)}function Lo(){Oo()}function Ao(){ic.startNonterminal("TypeName",Vl),$a(),ic.endNonterminal("TypeName",Vl)}function Oo(){Ja()}function Mo(){ic.startNonterminal("FunctionTest",Vl);for(;;){Il(101);if($l!=33)break;jl(),B()}switch($l){case 147:ql(22);break;default:Wl=$l}Wl=uc(7,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Po(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(7,Vl,Wl)}switch(Wl){case-1:jl(),Do();break;default:jl(),Ho()}ic.endNonterminal("FunctionTest",Vl)}function _o(){for(;;){Il(101);if($l!=33)break;j()}switch($l){case 147:ql(22);break;default:Wl=$l}Wl=uc(7,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Po(),oc(7,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(7,t,-2)}}switch(Wl){case-1:Po();break;case-3:break;default:Bo()}}function Do(){ic.startNonterminal("AnyFunctionTest",Vl),Pl(147),Il(22),Pl(35),Il(24),Pl(39),Il(23),Pl(38),ic.endNonterminal("AnyFunctionTest",Vl)}function Po(){Hl(147),Il(22),Hl(35),Il(24),Hl(39),Il(23),Hl(38)}function Ho(){ic.startNonterminal("TypedFunctionTest",Vl),Pl(147),Il(22),Pl(35),Il(259);if($l!=38){jl(),Ls();for(;;){Il(105);if($l!=42)break;Pl(42),Il(254),jl(),Ls()}}Pl(38),Il(33),Pl(80),Il(254),jl(),Ls(),ic.endNonterminal("TypedFunctionTest",Vl)}function Bo(){Hl(147),Il(22),Hl(35),Il(259);if($l!=38){As();for(;;){Il(105);if($l!=42)break;Hl(42),Il(254),As()}}Hl(38),Il(33),Hl(80),Il(254),As()}function jo(){ic.startNonterminal("ParenthesizedItemType",Vl),Pl(35),Il(254),jl(),_s(),Il(23),Pl(38),ic.endNonterminal("ParenthesizedItemType",Vl)}function Fo(){Hl(35),Il(254),Ds(),Il(23),Hl(38)}function Io(){ic.startNonterminal("RevalidationDecl",Vl),Pl(109),Il(75),Pl(226),Il(162);switch($l){case 245:Pl(245);break;case 174:Pl(174);break;default:Pl(238)}ic.endNonterminal("RevalidationDecl",Vl)}function qo(){ic.startNonterminal("InsertExprTargetChoice",Vl);switch($l){case 71:Pl(71);break;case 85:Pl(85);break;default:if($l==80){Pl(80),Il(123);switch($l){case 136:Pl(136);break;default:Pl(173)}}Il(57),Pl(165)}ic.endNonterminal("InsertExprTargetChoice",Vl)}function Ro(){switch($l){case 71:Hl(71);break;case 85:Hl(85);break;default:if($l==80){Hl(80),Il(123);switch($l){case 136:Hl(136);break;default:Hl(173)}}Il(57),Hl(165)}}function Uo(){ic.startNonterminal("InsertExpr",Vl),Pl(161),Il(133);switch($l){case 194:Pl(194);break;default:Pl(195)}Il(267),jl(),Qo(),jl(),qo(),Il(267),jl(),Yo(),ic.endNonterminal("InsertExpr",Vl)}function zo(){Hl(161),Il(133);switch($l){case 194:Hl(194);break;default:Hl(195)}Il(267),Go(),Ro(),Il(267),Zo()}function Wo(){ic.startNonterminal("DeleteExpr",Vl),Pl(111),Il(133);switch($l){case 194:Pl(194);break;default:Pl(195)}Il(267),jl(),Yo(),ic.endNonterminal("DeleteExpr",Vl)}function Xo(){Hl(111),Il(133);switch($l){case 194:Hl(194);break;default:Hl(195)}Il(267),Zo()}function Vo(){ic.startNonterminal("ReplaceExpr",Vl),Pl(223),Il(134),$l==267&&(Pl(267),Il(67),Pl(200)),Il(65),Pl(194),Il(267),jl(),Yo(),Pl(276),Il(267),jl(),Wf(),ic.endNonterminal("ReplaceExpr",Vl)}function $o(){Hl(223),Il(134),$l==267&&(Hl(267),Il(67),Hl(200)),Il(65),Hl(194),Il(267),Zo(),Hl(276),Il(267),Xf()}function Jo(){ic.startNonterminal("RenameExpr",Vl),Pl(222),Il(65),Pl(194),Il(267),jl(),Yo(),Pl(80),Il(267),jl(),eu(),ic.endNonterminal("RenameExpr",Vl)}function Ko(){Hl(222),Il(65),Hl(194),Il(267),Zo(),Hl(80),Il(267),tu()}function Qo(){ic.startNonterminal("SourceExpr",Vl),Wf(),ic.endNonterminal("SourceExpr",Vl)}function Go(){Xf()}function Yo(){ic.startNonterminal("TargetExpr",Vl),Wf(),ic.endNonterminal("TargetExpr",Vl)}function Zo(){Xf()}function eu(){ic.startNonterminal("NewNameExpr",Vl),Wf(),ic.endNonterminal("NewNameExpr",Vl)}function tu(){Xf()}function nu(){ic.startNonterminal("TransformExpr",Vl),Pl(104),Il(21),jl(),iu();for(;;){if($l!=42)break;Pl(42),Il(21),jl(),iu()}Pl(184),Il(267),jl(),Wf(),Pl(224),Il(267),jl(),Wf(),ic.endNonterminal("TransformExpr",Vl)}function ru(){Hl(104),Il(21),su();for(;;){if($l!=42)break;Hl(42),Il(21),su()}Hl(184),Il(267),Xf(),Hl(224),Il(267),Xf()}function iu(){ic.startNonterminal("TransformSpec",Vl),Pl(31),Il(246),jl(),Ti(),Il(28),Pl(53),Il(267),jl(),Wf(),ic.endNonterminal("TransformSpec",Vl)}function su(){Hl(31),Il(246),Ni(),Il(28),Hl(53),Il(267),Xf()}function ou(){ic.startNonterminal("FTSelection",Vl),lu();for(;;){Il(212);switch($l){case 82:ql(161);break;default:Wl=$l}if(Wl!=116&&Wl!=118&&Wl!=128&&Wl!=206&&Wl!=227&&Wl!=275&&Wl!=65106&&Wl!=123986)break;jl(),Pu()}ic.endNonterminal("FTSelection",Vl)}function uu(){cu();for(;;){Il(212);switch($l){case 82:ql(161);break;default:Wl=$l}if(Wl!=116&&Wl!=118&&Wl!=128&&Wl!=206&&Wl!=227&&Wl!=275&&Wl!=65106&&Wl!=123986)break;Hu()}}function au(){ic.startNonterminal("FTWeight",Vl),Pl(270),Il(90),Pl(281),Il(267),jl(),G(),Pl(287),ic.endNonterminal("FTWeight",Vl)}function fu(){Hl(270),Il(90),Hl(281),Il(267),Y(),Hl(287)}function lu(){ic.startNonterminal("FTOr",Vl),hu();for(;;){if($l!=146)break;Pl(146),Il(177),jl(),hu()}ic.endNonterminal("FTOr",Vl)}function cu(){pu();for(;;){if($l!=146)break;Hl(146),Il(177),pu()}}function hu(){ic.startNonterminal("FTAnd",Vl),du();for(;;){if($l!=144)break;Pl(144),Il(177),jl(),du()}ic.endNonterminal("FTAnd",Vl)}function pu(){vu();for(;;){if($l!=144)break;Hl(144),Il(177),vu()}}function du(){ic.startNonterminal("FTMildNot",Vl),mu();for(;;){Il(213);if($l!=196)break;Pl(196),Il(56),Pl(156),Il(177),jl(),mu()}ic.endNonterminal("FTMildNot",Vl)}function vu(){gu();for(;;){Il(213);if($l!=196)break;Hl(196),Il(56),Hl(156),Il(177),gu()}}function mu(){ic.startNonterminal("FTUnaryNot",Vl),$l==145&&Pl(145),Il(164),jl(),yu(),ic.endNonterminal("FTUnaryNot",Vl)}function gu(){$l==145&&Hl(145),Il(164),bu()}function yu(){ic.startNonterminal("FTPrimaryWithOptions",Vl),wu(),Il(214),$l==265&&(jl(),Qu()),$l==270&&(jl(),au()),ic.endNonterminal("FTPrimaryWithOptions",Vl)}function bu(){Eu(),Il(214),$l==265&&Gu(),$l==270&&fu()}function wu(){ic.startNonterminal("FTPrimary",Vl);switch($l){case 35:Pl(35),Il(177),jl(),ou(),Pl(38);break;case 36:Cu();break;default:Su(),Il(215),$l==199&&(jl(),Ou())}ic.endNonterminal("FTPrimary",Vl)}function Eu(){switch($l){case 35:Hl(35),Il(177),uu(),Hl(38);break;case 36:ku();break;default:xu(),Il(215),$l==199&&Mu()}}function Su(){ic.startNonterminal("FTWords",Vl),Tu(),Il(221);if($l==72||$l==77||$l==214)jl(),Lu();ic.endNonterminal("FTWords",Vl)}function xu(){Nu(),Il(221),($l==72||$l==77||$l==214)&&Au()}function Tu(){ic.startNonterminal("FTWordsValue",Vl);switch($l){case 11:Pl(11);break;default:Pl(281),Il(267),jl(),G(),Pl(287)}ic.endNonterminal("FTWordsValue",Vl)}function Nu(){switch($l){case 11:Hl(11);break;default:Hl(281),Il(267),Y(),Hl(287)}}function Cu(){ic.startNonterminal("FTExtensionSelection",Vl);for(;;){jl(),Lr(),Il(104);if($l!=36)break}Pl(281),Il(184),$l!=287&&(jl(),ou()),Pl(287),ic.endNonterminal("FTExtensionSelection",Vl)}function ku(){for(;;){Ar(),Il(104);if($l!=36)break}Hl(281),Il(184),$l!=287&&uu(),Hl(287)}function Lu(){ic.startNonterminal("FTAnyallOption",Vl);switch($l){case 77:Pl(77),Il(218),$l==278&&Pl(278);break;case 72:Pl(72),Il(219),$l==279&&Pl(279);break;default:Pl(214)}ic.endNonterminal("FTAnyallOption",Vl)}function Au(){switch($l){case 77:Hl(77),Il(218),$l==278&&Hl(278);break;case 72:Hl(72),Il(219),$l==279&&Hl(279);break;default:Hl(214)}}function Ou(){ic.startNonterminal("FTTimes",Vl),Pl(199),Il(159),jl(),_u(),Pl(252),ic.endNonterminal("FTTimes",Vl)}function Mu(){Hl(199),Il(159),Du(),Hl(252)}function _u(){ic.startNonterminal("FTRange",Vl);switch($l){case 131:Pl(131),Il(266),jl(),Jn();break;case 82:Pl(82),Il(129);switch($l){case 176:Pl(176),Il(266),jl(),Jn();break;default:Pl(186),Il(266),jl(),Jn()}break;default:Pl(142),Il(266),jl(),Jn(),Pl(253),Il(266),jl(),Jn()}ic.endNonterminal("FTRange",Vl)}function Du(){switch($l){case 131:Hl(131),Il(266),Kn();break;case 82:Hl(82),Il(129);switch($l){case 176:Hl(176),Il(266),Kn();break;default:Hl(186),Il(266),Kn()}break;default:Hl(142),Il(266),Kn(),Hl(253),Il(266),Kn()}}function Pu(){ic.startNonterminal("FTPosFilter",Vl);switch($l){case 206:Bu();break;case 275:Fu();break;case 118:qu();break;case 116:case 227:Wu();break;default:Ju()}ic.endNonterminal("FTPosFilter",Vl)}function Hu(){switch($l){case 206:ju();break;case 275:Iu();break;case 118:Ru();break;case 116:case 227:Xu();break;default:Ku()}}function Bu(){ic.startNonterminal("FTOrder",Vl),Pl(206),ic.endNonterminal("FTOrder",Vl)}function ju(){Hl(206)}function Fu(){ic.startNonterminal("FTWindow",Vl),Pl(275),Il(266),jl(),Jn(),jl(),Uu(),ic.endNonterminal("FTWindow",Vl)}function Iu(){Hl(275),Il(266),Kn(),zu()}function qu(){ic.startNonterminal("FTDistance",Vl),Pl(118),Il(159),jl(),_u(),jl(),Uu(),ic.endNonterminal("FTDistance",Vl)}function Ru(){Hl(118),Il(159),Du(),zu()}function Uu(){ic.startNonterminal("FTUnit",Vl);switch($l){case 279:Pl(279);break;case 237:Pl(237);break;default:Pl(209)}ic.endNonterminal("FTUnit",Vl)}function zu(){switch($l){case 279:Hl(279);break;case 237:Hl(237);break;default:Hl(209)}}function Wu(){ic.startNonterminal("FTScope",Vl);switch($l){case 227:Pl(227);break;default:Pl(116)}Il(136),jl(),Vu(),ic.endNonterminal("FTScope",Vl)}function Xu(){switch($l){case 227:Hl(227);break;default:Hl(116)}Il(136),$u()}function Vu(){ic.startNonterminal("FTBigUnit",Vl);switch($l){case 236:Pl(236);break;default:Pl(208)}ic.endNonterminal("FTBigUnit",Vl)}function $u(){switch($l){case 236:Hl(236);break;default:Hl(208)}}function Ju(){ic.startNonterminal("FTContent",Vl);switch($l){case 82:Pl(82),Il(121);switch($l){case 242:Pl(242);break;default:Pl(127)}break;default:Pl(128),Il(45),Pl(101)}ic.endNonterminal("FTContent",Vl)}function Ku(){switch($l){case 82:Hl(82),Il(121);switch($l){case 242:Hl(242);break;default:Hl(127)}break;default:Hl(128),Il(45),Hl(101)}}function Qu(){ic.startNonterminal("FTMatchOptions",Vl);for(;;){Pl(265),Il(205),jl(),Yu(),Il(214);if($l!=265)break}ic.endNonterminal("FTMatchOptions",Vl)}function Gu(){for(;;){Hl(265),Il(205),Zu(),Il(214);if($l!=265)break}}function Yu(){ic.startNonterminal("FTMatchOption",Vl);switch($l){case 191:ql(176);break;default:Wl=$l}switch(Wl){case 172:ya();break;case 274:case 140479:wa();break;case 251:case 128703:oa();break;case 243:case 124607:ia();break;case 115:na();break;case 244:case 125119:ha();break;case 203:Sa();break;default:ea()}ic.endNonterminal("FTMatchOption",Vl)}function Zu(){switch($l){case 191:ql(176);break;default:Wl=$l}switch(Wl){case 172:ba();break;case 274:case 140479:Ea();break;case 251:case 128703:ua();break;case 243:case 124607:sa();break;case 115:ra();break;case 244:case 125119:pa();break;case 203:xa();break;default:ta()}}function ea(){ic.startNonterminal("FTCaseOption",Vl);switch($l){case 89:Pl(89),Il(128);switch($l){case 160:Pl(160);break;default:Pl(235)}break;case 180:Pl(180);break;default:Pl(264)}ic.endNonterminal("FTCaseOption",Vl)}function ta(){switch($l){case 89:Hl(89),Il(128);switch($l){case 160:Hl(160);break;default:Hl(235)}break;case 180:Hl(180);break;default:Hl(264)}}function na(){ic.startNonterminal("FTDiacriticsOption",Vl),Pl(115),Il(128);switch($l){case 160:Pl(160);break;default:Pl(235)}ic.endNonterminal("FTDiacriticsOption",Vl)}function ra(){Hl(115),Il(128);switch($l){case 160:Hl(160);break;default:Hl(235)}}function ia(){ic.startNonterminal("FTStemOption",Vl);switch($l){case 243:Pl(243);break;default:Pl(191),Il(77),Pl(243)}ic.endNonterminal("FTStemOption",Vl)}function sa(){switch($l){case 243:Hl(243);break;default:Hl(191),Il(77),Hl(243)}}function oa(){ic.startNonterminal("FTThesaurusOption",Vl);switch($l){case 251:Pl(251),Il(152);switch($l){case 82:jl(),aa();break;case 110:Pl(110);break;default:Pl(35),Il(116);switch($l){case 82:jl(),aa();break;default:Pl(110)}for(;;){Il(105);if($l!=42)break;Pl(42),Il(34),jl(),aa()}Pl(38)}break;default:Pl(191),Il(81),Pl(251)}ic.endNonterminal("FTThesaurusOption",Vl)}function ua(){switch($l){case 251:Hl(251),Il(152);switch($l){case 82:fa();break;case 110:Hl(110);break;default:Hl(35),Il(116);switch($l){case 82:fa();break;default:Hl(110)}for(;;){Il(105);if($l!=42)break;Hl(42),Il(34),fa()}Hl(38)}break;default:Hl(191),Il(81),Hl(251)}}function aa(){ic.startNonterminal("FTThesaurusID",Vl),Pl(82),Il(15),Pl(7),Il(220),$l==221&&(Pl(221),Il(17),Pl(11)),Il(216);switch($l){case 82:ql(183);break;default:Wl=$l}if(Wl==131||Wl==142||Wl==90194||Wl==95314)jl(),la(),Il(61),Pl(178);ic.endNonterminal("FTThesaurusID",Vl)}function fa(){Hl(82),Il(15),Hl(7),Il(220),$l==221&&(Hl(221),Il(17),Hl(11)),Il(216);switch($l){case 82:ql(183);break;default:Wl=$l}if(Wl==131||Wl==142||Wl==90194||Wl==95314)ca(),Il(61),Hl(178)}function la(){ic.startNonterminal("FTLiteralRange",Vl);switch($l){case 131:Pl(131),Il(16),Pl(8);break;case 82:Pl(82),Il(129);switch($l){case 176:Pl(176),Il(16),Pl(8);break;default:Pl(186),Il(16),Pl(8)}break;default:Pl(142),Il(16),Pl(8),Il(82),Pl(253),Il(16),Pl(8)}ic.endNonterminal("FTLiteralRange",Vl)}function ca(){switch($l){case 131:Hl(131),Il(16),Hl(8);break;case 82:Hl(82),Il(129);switch($l){case 176:Hl(176),Il(16),Hl(8);break;default:Hl(186),Il(16),Hl(8)}break;default:Hl(142),Il(16),Hl(8),Il(82),Hl(253),Il(16),Hl(8)}}function ha(){ic.startNonterminal("FTStopWordOption",Vl);switch($l){case 244:Pl(244),Il(89),Pl(279),Il(152);switch($l){case 110:Pl(110);for(;;){Il(217);if($l!=132&&$l!=260)break;jl(),ma()}break;default:jl(),da();for(;;){Il(217);if($l!=132&&$l!=260)break;jl(),ma()}}break;default:Pl(191),Il(78),Pl(244),Il(89),Pl(279)}ic.endNonterminal("FTStopWordOption",Vl)}function pa(){switch($l){case 244:Hl(244),Il(89),Hl(279),Il(152);switch($l){case 110:Hl(110);for(;;){Il(217);if($l!=132&&$l!=260)break;ga()}break;default:va();for(;;){Il(217);if($l!=132&&$l!=260)break;ga()}}break;default:Hl(191),Il(78),Hl(244),Il(89),Hl(279)}}function da(){ic.startNonterminal("FTStopWords",Vl);switch($l){case 82:Pl(82),Il(15),Pl(7);break;default:Pl(35),Il(17),Pl(11);for(;;){Il(105);if($l!=42)break;Pl(42),Il(17),Pl(11)}Pl(38)}ic.endNonterminal("FTStopWords",Vl)}function va(){switch($l){case 82:Hl(82),Il(15),Hl(7);break;default:Hl(35),Il(17),Hl(11);for(;;){Il(105);if($l!=42)break;Hl(42),Il(17),Hl(11)}Hl(38)}}function ma(){ic.startNonterminal("FTStopWordsInclExcl",Vl);switch($l){case 260:Pl(260);break;default:Pl(132)}Il(103),jl(),da(),ic.endNonterminal("FTStopWordsInclExcl",Vl)}function ga(){switch($l){case 260:Hl(260);break;default:Hl(132)}Il(103),va()}function ya(){ic.startNonterminal("FTLanguageOption",Vl),Pl(172),Il(17),Pl(11),ic.endNonterminal("FTLanguageOption",Vl)}function ba(){Hl(172),Il(17),Hl(11)}function wa(){ic.startNonterminal("FTWildCardOption",Vl);switch($l){case 274:Pl(274);break;default:Pl(191),Il(87),Pl(274)}ic.endNonterminal("FTWildCardOption",Vl)}function Ea(){switch($l){case 274:Hl(274);break;default:Hl(191),Il(87),Hl(274)}}function Sa(){ic.startNonterminal("FTExtensionOption",Vl),Pl(203),Il(246),jl(),$a(),Il(17),Pl(11),ic.endNonterminal("FTExtensionOption",Vl)}function xa(){Hl(203),Il(246),Ja(),Il(17),Hl(11)}function Ta(){ic.startNonterminal("FTIgnoreOption",Vl),Pl(277),Il(45),Pl(101),Il(266),jl(),Yn(),ic.endNonterminal("FTIgnoreOption",Vl)}function Na(){Hl(277),Il(45),Hl(101),Il(266),Zn()}function Ca(){ic.startNonterminal("CollectionDecl",Vl),Pl(96),Il(246),jl(),$a(),Il(111),$l==80&&(jl(),ka()),ic.endNonterminal("CollectionDecl",Vl)}function ka(){ic.startNonterminal("CollectionTypeDecl",Vl),Pl(80),Il(200),jl(),Vs(),Il(171),$l!=54&&(jl(),Os()),ic.endNonterminal("CollectionTypeDecl",Vl)}function La(){ic.startNonterminal("IndexName",Vl),$a(),ic.endNonterminal("IndexName",Vl)}function Aa(){ic.startNonterminal("IndexDomainExpr",Vl),Or(),ic.endNonterminal("IndexDomainExpr",Vl)}function Oa(){ic.startNonterminal("IndexKeySpec",Vl),Ma(),$l==80&&(jl(),_a()),Il(156),$l==95&&(jl(),Pa()),ic.endNonterminal("IndexKeySpec",Vl)}function Ma(){ic.startNonterminal("IndexKeyExpr",Vl),Or(),ic.endNonterminal("IndexKeyExpr",Vl)}function _a(){ic.startNonterminal("IndexKeyTypeDecl",Vl),Pl(80),Il(246),jl(),Da(),Il(189);if($l==40||$l==41||$l==65)jl(),Os();ic.endNonterminal("IndexKeyTypeDecl",Vl)}function Da(){ic.startNonterminal("AtomicType",Vl),$a(),ic.endNonterminal("AtomicType",Vl)}function Pa(){ic.startNonterminal("IndexKeyCollation",Vl),Pl(95),Il(15),Pl(7),ic.endNonterminal("IndexKeyCollation",Vl)}function Ha(){ic.startNonterminal("IndexDecl",Vl),Pl(157),Il(246),jl(),La(),Il(68),Pl(201),Il(66),Pl(195),Il(263),jl(),Aa(),Pl(88),Il(263),jl(),Oa();for(;;){Il(107);if($l!=42)break;Pl(42),Il(263),jl(),Oa()}ic.endNonterminal("IndexDecl",Vl)}function Ba(){ic.startNonterminal("ICDecl",Vl),Pl(163),Il(43),Pl(98),Il(246),jl(),$a(),Il(124);switch($l){case 201:jl(),ja();break;default:jl(),Ra()}ic.endNonterminal("ICDecl",Vl)}function ja(){ic.startNonterminal("ICCollection",Vl),Pl(201),Il(42),Pl(96),Il(246),jl(),$a(),Il(150);switch($l){case 31:jl(),Fa();break;case 194:jl(),Ia();break;default:jl(),qa()}ic.endNonterminal("ICCollection",Vl)}function Fa(){ic.startNonterminal("ICCollSequence",Vl),Si(),Il(40),Pl(93),Il(267),jl(),Wf(),ic.endNonterminal("ICCollSequence",Vl)}function Ia(){ic.startNonterminal("ICCollSequenceUnique",Vl),Pl(194),Il(21),jl(),Si(),Il(40),Pl(93),Il(83),Pl(261),Il(60),Pl(171),Il(263),jl(),Or(),ic.endNonterminal("ICCollSequenceUnique",Vl)}function qa(){ic.startNonterminal("ICCollNode",Vl),Pl(140),Il(65),Pl(194),Il(21),jl(),Si(),Il(40),Pl(93),Il(267),jl(),Wf(),ic.endNonterminal("ICCollNode",Vl)}function Ra(){ic.startNonterminal("ICForeignKey",Vl),Pl(141),Il(60),Pl(171),Il(54),jl(),Ua(),jl(),za(),ic.endNonterminal("ICForeignKey",Vl)}function Ua(){ic.startNonterminal("ICForeignKeySource",Vl),Pl(142),Il(42),jl(),Wa(),ic.endNonterminal("ICForeignKeySource",Vl)}function za(){ic.startNonterminal("ICForeignKeyTarget",Vl),Pl(253),Il(42),jl(),Wa(),ic.endNonterminal("ICForeignKeyTarget",Vl)}function Wa(){ic.startNonterminal("ICForeignKeyValues",Vl),Pl(96),Il(246),jl(),$a(),Il(65),Pl(194),Il(21),jl(),Si(),Il(60),Pl(171),Il(263),jl(),Or(),ic.endNonterminal("ICForeignKeyValues",Vl)}function Xa(){Hl(37);for(;;){Rl(92);if($l==51)break;switch($l){case 24:Hl(24);break;default:Xa()}}Hl(51)}function Va(){switch($l){case 22:Hl(22);break;default:Xa()}}function $a(){ic.startNonterminal("EQName",Vl),Rl(241);switch($l){case 83:Pl(83);break;case 97:Pl(97);break;case 121:Pl(121);break;case 122:Pl(122);break;case 125:Pl(125);break;case 147:Pl(147);break;case 154:Pl(154);break;case 167:Pl(167);break;case 188:Pl(188);break;case 194:Pl(194);break;case 220:Pl(220);break;case 230:Pl(230);break;case 231:Pl(231);break;case 248:Pl(248);break;case 249:Pl(249);break;case 259:Pl(259);break;case 79:Pl(79);break;case 169:Pl(169);break;case 247:Pl(247);break;default:Ka()}ic.endNonterminal("EQName",Vl)}function Ja(){Rl(241);switch($l){case 83:Hl(83);break;case 97:Hl(97);break;case 121:Hl(121);break;case 122:Hl(122);break;case 125:Hl(125);break;case 147:Hl(147);break;case 154:Hl(154);break;case 167:Hl(167);break;case 188:Hl(188);break;case 194:Hl(194);break;case 220:Hl(220);break;case 230:Hl(230);break;case 231:Hl(231);break;case 248:Hl(248);break;case 249:Hl(249);break;case 259:Hl(259);break;case 79:Hl(79);break;case 169:Hl(169);break;case 247:Hl(247);break;default:Qa()}}function Ka(){ic.startNonterminal("FunctionName",Vl);switch($l){case 6:Pl(6);break;case 71:Pl(71);break;case 74:Pl(74);break;case 75:Pl(75);break;case 76:Pl(76);break;case 80:Pl(80);break;case 81:Pl(81);break;case 85:Pl(85);break;case 89:Pl(89);break;case 90:Pl(90);break;case 91:Pl(91);break;case 94:Pl(94);break;case 95:Pl(95);break;case 104:Pl(104);break;case 106:Pl(106);break;case 109:Pl(109);break;case 110:Pl(110);break;case 111:Pl(111);break;case 112:Pl(112);break;case 113:Pl(113);break;case 114:Pl(114);break;case 119:Pl(119);break;case 120:Pl(120);break;case 123:Pl(123);break;case 124:Pl(124);break;case 127:Pl(127);break;case 129:Pl(129);break;case 130:Pl(130);break;case 132:Pl(132);break;case 136:Pl(136);break;case 137:Pl(137);break;case 138:Pl(138);break;case 139:Pl(139);break;case 148:Pl(148);break;case 150:Pl(150);break;case 152:Pl(152);break;case 153:Pl(153);break;case 155:Pl(155);break;case 161:Pl(161);break;case 162:Pl(162);break;case 164:Pl(164);break;case 165:Pl(165);break;case 166:Pl(166);break;case 173:Pl(173);break;case 175:Pl(175);break;case 177:Pl(177);break;case 181:Pl(181);break;case 183:Pl(183);break;case 184:Pl(184);break;case 185:Pl(185);break;case 187:Pl(187);break;case 189:Pl(189);break;case 202:Pl(202);break;case 204:Pl(204);break;case 205:Pl(205);break;case 206:Pl(206);break;case 210:Pl(210);break;case 216:Pl(216);break;case 217:Pl(217);break;case 222:Pl(222);break;case 223:Pl(223);break;case 224:Pl(224);break;case 228:Pl(228);break;case 234:Pl(234);break;case 240:Pl(240);break;case 241:Pl(241);break;case 242:Pl(242);break;case 253:Pl(253);break;case 254:Pl(254);break;case 256:Pl(256);break;case 260:Pl(260);break;case 262:Pl(262);break;case 266:Pl(266);break;case 272:Pl(272);break;case 276:Pl(276);break;case 170:Pl(170);break;case 73:Pl(73);break;case 82:Pl(82);break;case 84:Pl(84);break;case 86:Pl(86);break;case 87:Pl(87);break;case 92:Pl(92);break;case 99:Pl(99);break;case 102:Pl(102);break;case 103:Pl(103);break;case 105:Pl(105);break;case 107:Pl(107);break;case 126:Pl(126);break;case 133:Pl(133);break;case 134:Pl(134);break;case 143:Pl(143);break;case 156:Pl(156);break;case 157:Pl(157);break;case 163:Pl(163);break;case 174:Pl(174);break;case 195:Pl(195);break;case 203:Pl(203);break;case 207:Pl(207);break;case 226:Pl(226);break;case 229:Pl(229);break;case 232:Pl(232);break;case 239:Pl(239);break;case 245:Pl(245);break;case 257:Pl(257);break;case 258:Pl(258);break;case 263:Pl(263);break;case 267:Pl(267);break;case 268:Pl(268);break;case 269:Pl(269);break;case 273:Pl(273);break;case 98:Pl(98);break;case 179:Pl(179);break;case 225:Pl(225);break;case 78:Pl(78);break;case 135:Pl(135);break;case 142:Pl(142);break;case 197:Pl(197);break;case 168:Pl(168);break;case 198:Pl(198);break;case 233:Pl(233);break;default:Pl(255)}ic.endNonterminal("FunctionName",Vl)}function Qa(){switch($l){case 6:Hl(6);break;case 71:Hl(71);break;case 74:Hl(74);break;case 75:Hl(75);break;case 76:Hl(76);break;case 80:Hl(80);break;case 81:Hl(81);break;case 85:Hl(85);break;case 89:Hl(89);break;case 90:Hl(90);break;case 91:Hl(91);break;case 94:Hl(94);break;case 95:Hl(95);break;case 104:Hl(104);break;case 106:Hl(106);break;case 109:Hl(109);break;case 110:Hl(110);break;case 111:Hl(111);break;case 112:Hl(112);break;case 113:Hl(113);break;case 114:Hl(114);break;case 119:Hl(119);break;case 120:Hl(120);break;case 123:Hl(123);break;case 124:Hl(124);break;case 127:Hl(127);break;case 129:Hl(129);break;case 130:Hl(130);break;case 132:Hl(132);break;case 136:Hl(136);break;case 137:Hl(137);break;case 138:Hl(138);break;case 139:Hl(139);break;case 148:Hl(148);break;case 150:Hl(150);break;case 152:Hl(152);break;case 153:Hl(153);break;case 155:Hl(155);break;case 161:Hl(161);break;case 162:Hl(162);break;case 164:Hl(164);break;case 165:Hl(165);break;case 166:Hl(166);break;case 173:Hl(173);break;case 175:Hl(175);break;case 177:Hl(177);break;case 181:Hl(181);break;case 183:Hl(183);break;case 184:Hl(184);break;case 185:Hl(185);break;case 187:Hl(187);break;case 189:Hl(189);break;case 202:Hl(202);break;case 204:Hl(204);break;case 205:Hl(205);break;case 206:Hl(206);break;case 210:Hl(210);break;case 216:Hl(216);break;case 217:Hl(217);break;case 222:Hl(222);break;case 223:Hl(223);break;case 224:Hl(224);break;case 228:Hl(228);break;case 234:Hl(234);break;case 240:Hl(240);break;case 241:Hl(241);break;case 242:Hl(242);break;case 253:Hl(253);break;case 254:Hl(254);break;case 256:Hl(256);break;case 260:Hl(260);break;case 262:Hl(262);break;case 266:Hl(266);break;case 272:Hl(272);break;case 276:Hl(276);break;case 170:Hl(170);break;case 73:Hl(73);break;case 82:Hl(82);break;case 84:Hl(84);break;case 86:Hl(86);break;case 87:Hl(87);break;case 92:Hl(92);break;case 99:Hl(99);break;case 102:Hl(102);break;case 103:Hl(103);break;case 105:Hl(105);break;case 107:Hl(107);break;case 126:Hl(126);break;case 133:Hl(133);break;case 134:Hl(134);break;case 143:Hl(143);break;case 156:Hl(156);break;case 157:Hl(157);break;case 163:Hl(163);break;case 174:Hl(174);break;case 195:Hl(195);break;case 203:Hl(203);break;case 207:Hl(207);break;case 226:Hl(226);break;case 229:Hl(229);break;case 232:Hl(232);break;case 239:Hl(239);break;case 245:Hl(245);break;case 257:Hl(257);break;case 258:Hl(258);break;case 263:Hl(263);break;case 267:Hl(267);break;case 268:Hl(268);break;case 269:Hl(269);break;case 273:Hl(273);break;case 98:Hl(98);break;case 179:Hl(179);break;case 225:Hl(225);break;case 78:Hl(78);break;case 135:Hl(135);break;case 142:Hl(142);break;case 197:Hl(197);break;case 168:Hl(168);break;case 198:Hl(198);break;case 233:Hl(233);break;default:Hl(255)}}function Ga(){ic.startNonterminal("NCName",Vl);switch($l){case 19:Pl(19);break;case 71:Pl(71);break;case 76:Pl(76);break;case 80:Pl(80);break;case 81:Pl(81);break;case 85:Pl(85);break;case 89:Pl(89);break;case 90:Pl(90);break;case 91:Pl(91);break;case 95:Pl(95);break;case 106:Pl(106);break;case 110:Pl(110);break;case 114:Pl(114);break;case 119:Pl(119);break;case 123:Pl(123);break;case 124:Pl(124);break;case 127:Pl(127);break;case 129:Pl(129);break;case 132:Pl(132);break;case 139:Pl(139);break;case 148:Pl(148);break;case 150:Pl(150);break;case 152:Pl(152);break;case 153:Pl(153);break;case 162:Pl(162);break;case 164:Pl(164);break;case 165:Pl(165);break;case 166:Pl(166);break;case 175:Pl(175);break;case 177:Pl(177);break;case 181:Pl(181);break;case 183:Pl(183);break;case 184:Pl(184);break;case 189:Pl(189);break;case 202:Pl(202);break;case 204:Pl(204);break;case 205:Pl(205);break;case 224:Pl(224);break;case 228:Pl(228);break;case 241:Pl(241);break;case 242:Pl(242);break;case 253:Pl(253);break;case 254:Pl(254);break;case 260:Pl(260);break;case 272:Pl(272);break;case 276:Pl(276);break;case 74:Pl(74);break;case 75:Pl(75);break;case 83:Pl(83);break;case 94:Pl(94);break;case 97:Pl(97);break;case 104:Pl(104);break;case 109:Pl(109);break;case 111:Pl(111);break;case 112:Pl(112);break;case 113:Pl(113);break;case 120:Pl(120);break;case 121:Pl(121);break;case 122:Pl(122);break;case 125:Pl(125);break;case 130:Pl(130);break;case 136:Pl(136);break;case 137:Pl(137);break;case 138:Pl(138);break;case 147:Pl(147);break;case 154:Pl(154);break;case 155:Pl(155);break;case 161:Pl(161);break;case 167:Pl(167);break;case 173:Pl(173);break;case 185:Pl(185);break;case 187:Pl(187);break;case 188:Pl(188);break;case 194:Pl(194);break;case 206:Pl(206);break;case 210:Pl(210);break;case 216:Pl(216);break;case 217:Pl(217);break;case 220:Pl(220);break;case 222:Pl(222);break;case 223:Pl(223);break;case 230:Pl(230);break;case 231:Pl(231);break;case 234:Pl(234);break;case 240:Pl(240);break;case 248:Pl(248);break;case 249:Pl(249);break;case 256:Pl(256);break;case 259:Pl(259);break;case 262:Pl(262);break;case 266:Pl(266);break;case 268:Pl(268);break;case 170:Pl(170);break;case 73:Pl(73);break;case 82:Pl(82);break;case 84:Pl(84);break;case 86:Pl(86);break;case 87:Pl(87);break;case 92:Pl(92);break;case 99:Pl(99);break;case 102:Pl(102);break;case 103:Pl(103);break;case 105:Pl(105);break;case 107:Pl(107);break;case 126:Pl(126);break;case 133:Pl(133);break;case 134:Pl(134);break;case 143:Pl(143);break;case 156:Pl(156);break;case 157:Pl(157);break;case 163:Pl(163);break;case 174:Pl(174);break;case 195:Pl(195);break;case 203:Pl(203);break;case 207:Pl(207);break;case 226:Pl(226);break;case 229:Pl(229);break;case 232:Pl(232);break;case 239:Pl(239);break;case 245:Pl(245);break;case 257:Pl(257);break;case 258:Pl(258);break;case 263:Pl(263);break;case 267:Pl(267);break;case 269:Pl(269);break;case 273:Pl(273);break;case 98:Pl(98);break;case 179:Pl(179);break;case 225:Pl(225);break;case 78:Pl(78);break;case 135:Pl(135);break;case 142:Pl(142);break;case 197:Pl(197);break;case 168:Pl(168);break;case 198:Pl(198);break;case 233:Pl(233);break;default:Pl(255)}ic.endNonterminal("NCName",Vl)}function Ya(){switch($l){case 19:Hl(19);break;case 71:Hl(71);break;case 76:Hl(76);break;case 80:Hl(80);break;case 81:Hl(81);break;case 85:Hl(85);break;case 89:Hl(89);break;case 90:Hl(90);break;case 91:Hl(91);break;case 95:Hl(95);break;case 106:Hl(106);break;case 110:Hl(110);break;case 114:Hl(114);break;case 119:Hl(119);break;case 123:Hl(123);break;case 124:Hl(124);break;case 127:Hl(127);break;case 129:Hl(129);break;case 132:Hl(132);break;case 139:Hl(139);break;case 148:Hl(148);break;case 150:Hl(150);break;case 152:Hl(152);break;case 153:Hl(153);break;case 162:Hl(162);break;case 164:Hl(164);break;case 165:Hl(165);break;case 166:Hl(166);break;case 175:Hl(175);break;case 177:Hl(177);break;case 181:Hl(181);break;case 183:Hl(183);break;case 184:Hl(184);break;case 189:Hl(189);break;case 202:Hl(202);break;case 204:Hl(204);break;case 205:Hl(205);break;case 224:Hl(224);break;case 228:Hl(228);break;case 241:Hl(241);break;case 242:Hl(242);break;case 253:Hl(253);break;case 254:Hl(254);break;case 260:Hl(260);break;case 272:Hl(272);break;case 276:Hl(276);break;case 74:Hl(74);break;case 75:Hl(75);break;case 83:Hl(83);break;case 94:Hl(94);break;case 97:Hl(97);break;case 104:Hl(104);break;case 109:Hl(109);break;case 111:Hl(111);break;case 112:Hl(112);break;case 113:Hl(113);break;case 120:Hl(120);break;case 121:Hl(121);break;case 122:Hl(122);break;case 125:Hl(125);break;case 130:Hl(130);break;case 136:Hl(136);break;case 137:Hl(137);break;case 138:Hl(138);break;case 147:Hl(147);break;case 154:Hl(154);break;case 155:Hl(155);break;case 161:Hl(161);break;case 167:Hl(167);break;case 173:Hl(173);break;case 185:Hl(185);break;case 187:Hl(187);break;case 188:Hl(188);break;case 194:Hl(194);break;case 206:Hl(206);break;case 210:Hl(210);break;case 216:Hl(216);break;case 217:Hl(217);break;case 220:Hl(220);break;case 222:Hl(222);break;case 223:Hl(223);break;case 230:Hl(230);break;case 231:Hl(231);break;case 234:Hl(234);break;case 240:Hl(240);break;case 248:Hl(248);break;case 249:Hl(249);break;case 256:Hl(256);break;case 259:Hl(259);break;case 262:Hl(262);break;case 266:Hl(266);break;case 268:Hl(268);break;case 170:Hl(170);break;case 73:Hl(73);break;case 82:Hl(82);break;case 84:Hl(84);break;case 86:Hl(86);break;case 87:Hl(87);break;case 92:Hl(92);break;case 99:Hl(99);break;case 102:Hl(102);break;case 103:Hl(103);break;case 105:Hl(105);break;case 107:Hl(107);break;case 126:Hl(126);break;case 133:Hl(133);break;case 134:Hl(134);break;case 143:Hl(143);break;case 156:Hl(156);break;case 157:Hl(157);break;case 163:Hl(163);break;case 174:Hl(174);break;case 195:Hl(195);break;case 203:Hl(203);break;case 207:Hl(207);break;case 226:Hl(226);break;case 229:Hl(229);break;case 232:Hl(232);break;case 239:Hl(239);break;case 245:Hl(245);break;case 257:Hl(257);break;case 258:Hl(258);break;case 263:Hl(263);break;case 267:Hl(267);break;case 269:Hl(269);break;case 273:Hl(273);break;case 98:Hl(98);break;case 179:Hl(179);break;case 225:Hl(225);break;case 78:Hl(78);break;case 135:Hl(135);break;case 142:Hl(142);break;case 197:Hl(197);break;case 168:Hl(168);break;case 198:Hl(198);break;case 233:Hl(233);break;default:Hl(255)}}function Za(){ic.startNonterminal("MainModule",Vl),l(),jl(),ef(),ic.endNonterminal("MainModule",Vl)}function ef(){ic.startNonterminal("Program",Vl),of(),ic.endNonterminal("Program",Vl)}function tf(){ic.startNonterminal("Statements",Vl);for(;;){Il(284);switch($l){case 35:ql(270);break;case 36:Ul(243);break;case 47:ql(286);break;case 48:ql(260);break;case 55:Ul(4);break;case 56:Ul(1);break;case 60:Ul(3);break;case 69:ql(273);break;case 78:ql(269);break;case 133:ql(147);break;case 139:ql(179);break;case 161:ql(276);break;case 177:ql(166);break;case 187:ql(247);break;case 220:ql(245);break;case 223:ql(170);break;case 266:ql(188);break;case 281:ql(283);break;case 283:ql(274);break;case 31:case 33:ql(246);break;case 83:case 122:ql(253);break;case 87:case 103:ql(145);break;case 97:case 249:ql(97);break;case 111:case 222:ql(261);break;case 41:case 43:case 196:ql(266);break;case 135:case 197:case 255:ql(211);break;case 104:case 130:case 240:case 268:ql(143);break;case 120:case 206:case 256:case 262:ql(148);break;case 8:case 9:case 10:case 11:case 32:ql(210);break;case 79:case 121:case 125:case 167:case 169:case 188:case 194:case 230:case 231:case 247:ql(20);break;case 6:case 71:case 73:case 74:case 75:case 76:case 80:case 81:case 82:case 84:case 85:case 86:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 105:case 106:case 107:case 109:case 110:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 132:case 134:case 136:case 137:case 138:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 241:case 242:case 245:case 248:case 253:case 254:case 257:case 258:case 259:case 260:case 263:case 267:case 269:case 272:case 273:case 276:ql(95);break;default:Wl=$l}if(Wl!=25&&Wl!=54&&Wl!=287&&Wl!=12808&&Wl!=12809&&Wl!=12810&&Wl!=12811&&Wl!=12832&&Wl!=12847&&Wl!=12935&&Wl!=12997&&Wl!=13055&&Wl!=16140&&Wl!=21512&&Wl!=21513&&Wl!=21514&&Wl!=21515&&Wl!=21536&&Wl!=21551&&Wl!=21639&&Wl!=21701&&Wl!=21759&&Wl!=27656&&Wl!=27657&&Wl!=27658&&Wl!=27659&&Wl!=27680&&Wl!=27695&&Wl!=27783&&Wl!=27845&&Wl!=27903&&Wl!=91735&&Wl!=91751&&Wl!=115333&&Wl!=146952&&Wl!=146953&&Wl!=146954&&Wl!=146955&&Wl!=146976&&Wl!=146991&&Wl!=147079&&Wl!=147141&&Wl!=147199){Wl=uc(8,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{ff(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(8,Vl,Wl)}}if(Wl!=-1&&Wl!=54&&Wl!=16140&&Wl!=27656&&Wl!=27657&&Wl!=27658&&Wl!=27659&&Wl!=27680&&Wl!=27695&&Wl!=27783&&Wl!=27845&&Wl!=27903&&Wl!=91735&&Wl!=91751&&Wl!=115333)break;jl(),af()}ic.endNonterminal("Statements",Vl)}function nf(){for(;;){Il(284);switch($l){case 35:ql(270);break;case 36:Ul(243);break;case 47:ql(286);break;case 48:ql(260);break;case 55:Ul(4);break;case 56:Ul(1);break;case 60:Ul(3);break;case 69:ql(273);break;case 78:ql(269);break;case 133:ql(147);break;case 139:ql(179);break;case 161:ql(276);break;case 177:ql(166);break;case 187:ql(247);break;case 220:ql(245);break;case 223:ql(170);break;case 266:ql(188);break;case 281:ql(283);break;case 283:ql(274);break;case 31:case 33:ql(246);break;case 83:case 122:ql(253);break;case 87:case 103:ql(145);break;case 97:case 249:ql(97);break;case 111:case 222:ql(261);break;case 41:case 43:case 196:ql(266);break;case 135:case 197:case 255:ql(211);break;case 104:case 130:case 240:case 268:ql(143);break;case 120:case 206:case 256:case 262:ql(148);break;case 8:case 9:case 10:case 11:case 32:ql(210);break;case 79:case 121:case 125:case 167:case 169:case 188:case 194:case 230:case 231:case 247:ql(20);break;case 6:case 71:case 73:case 74:case 75:case 76:case 80:case 81:case 82:case 84:case 85:case 86:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 105:case 106:case 107:case 109:case 110:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 132:case 134:case 136:case 137:case 138:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 241:case 242:case 245:case 248:case 253:case 254:case 257:case 258:case 259:case 260:case 263:case 267:case 269:case 272:case 273:case 276:ql(95);break;default:Wl=$l}if(Wl!=25&&Wl!=54&&Wl!=287&&Wl!=12808&&Wl!=12809&&Wl!=12810&&Wl!=12811&&Wl!=12832&&Wl!=12847&&Wl!=12935&&Wl!=12997&&Wl!=13055&&Wl!=16140&&Wl!=21512&&Wl!=21513&&Wl!=21514&&Wl!=21515&&Wl!=21536&&Wl!=21551&&Wl!=21639&&Wl!=21701&&Wl!=21759&&Wl!=27656&&Wl!=27657&&Wl!=27658&&Wl!=27659&&Wl!=27680&&Wl!=27695&&Wl!=27783&&Wl!=27845&&Wl!=27903&&Wl!=91735&&Wl!=91751&&Wl!=115333&&Wl!=146952&&Wl!=146953&&Wl!=146954&&Wl!=146955&&Wl!=146976&&Wl!=146991&&Wl!=147079&&Wl!=147141&&Wl!=147199){Wl=uc(8,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{ff(),oc(8,t,-1);continue}catch(a){Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(8,t,-2);break}}}if(Wl!=-1&&Wl!=54&&Wl!=16140&&Wl!=27656&&Wl!=27657&&Wl!=27658&&Wl!=27659&&Wl!=27680&&Wl!=27695&&Wl!=27783&&Wl!=27845&&Wl!=27903&&Wl!=91735&&Wl!=91751&&Wl!=115333)break;ff()}}function rf(){ic.startNonterminal("StatementsAndExpr",Vl),tf(),jl(),G(),ic.endNonterminal("StatementsAndExpr",Vl)}function sf(){nf(),Y()}function of(){ic.startNonterminal("StatementsAndOptionalExpr",Vl),tf(),$l!=25&&$l!=287&&(jl(),G()),ic.endNonterminal("StatementsAndOptionalExpr",Vl)}function uf(){nf(),$l!=25&&$l!=287&&Y()}function af(){ic.startNonterminal("Statement",Vl);switch($l){case 133:ql(147);break;case 139:ql(179);break;case 177:ql(166);break;case 256:ql(148);break;case 268:ql(143);break;case 281:ql(283);break;case 31:case 33:ql(246);break;case 87:case 103:ql(145);break;case 154:case 248:case 259:case 273:ql(95);break;default:Wl=$l}if(Wl!=6&&Wl!=8&&Wl!=9&&Wl!=10&&Wl!=11&&Wl!=32&&Wl!=35&&Wl!=36&&Wl!=41&&Wl!=43&&Wl!=47&&Wl!=48&&Wl!=54&&Wl!=55&&Wl!=56&&Wl!=60&&Wl!=69&&Wl!=71&&Wl!=73&&Wl!=74&&Wl!=75&&Wl!=76&&Wl!=78&&Wl!=79&&Wl!=80&&Wl!=81&&Wl!=82&&Wl!=83&&Wl!=84&&Wl!=85&&Wl!=86&&Wl!=89&&Wl!=90&&Wl!=91&&Wl!=92&&Wl!=94&&Wl!=95&&Wl!=97&&Wl!=98&&Wl!=99&&Wl!=102&&Wl!=104&&Wl!=105&&Wl!=106&&Wl!=107&&Wl!=109&&Wl!=110&&Wl!=111&&Wl!=112&&Wl!=113&&Wl!=114&&Wl!=119&&Wl!=120&&Wl!=121&&Wl!=122&&Wl!=123&&Wl!=124&&Wl!=125&&Wl!=126&&Wl!=127&&Wl!=129&&Wl!=130&&Wl!=132&&Wl!=134&&Wl!=135&&Wl!=136&&Wl!=137&&Wl!=138&&Wl!=142&&Wl!=143&&Wl!=147&&Wl!=148&&Wl!=150&&Wl!=152&&Wl!=153&&Wl!=155&&Wl!=156&&Wl!=157&&Wl!=161&&Wl!=162&&Wl!=163&&Wl!=164&&Wl!=165&&Wl!=166&&Wl!=167&&Wl!=168&&Wl!=169&&Wl!=170&&Wl!=173&&Wl!=174&&Wl!=175&&Wl!=179&&Wl!=181&&Wl!=183&&Wl!=184&&Wl!=185&&Wl!=187&&Wl!=188&&Wl!=189&&Wl!=194&&Wl!=195&&Wl!=196&&Wl!=197&&Wl!=198&&Wl!=202&&Wl!=203&&Wl!=204&&Wl!=205&&Wl!=206&&Wl!=207&&Wl!=210&&Wl!=216&&Wl!=217&&Wl!=220&&Wl!=222&&Wl!=223&&Wl!=224&&Wl!=225&&Wl!=226&&Wl!=228&&Wl!=229&&Wl!=230&&Wl!=231&&Wl!=232&&Wl!=233&&Wl!=234&&Wl!=239&&Wl!=240&&Wl!=241&&Wl!=242&&Wl!=245&&Wl!=247&&Wl!=249&&Wl!=253&&Wl!=254&&Wl!=255&&Wl!=257&&Wl!=258&&Wl!=260&&Wl!=262&&Wl!=263&&Wl!=266&&Wl!=267&&Wl!=269&&Wl!=272&&Wl!=276&&Wl!=283&&Wl!=10009&&Wl!=14935&&Wl!=14951&&Wl!=14981&&Wl!=14987&&Wl!=15002&&Wl!=15025&&Wl!=15096&&Wl!=15104&&Wl!=15107&&Wl!=15116&&Wl!=15121&&Wl!=16011&&Wl!=16049&&Wl!=16140&&Wl!=18007&&Wl!=18023&&Wl!=18053&&Wl!=18059&&Wl!=18074&&Wl!=18097&&Wl!=18168&&Wl!=18176&&Wl!=18179&&Wl!=18188&&Wl!=91735&&Wl!=91751&&Wl!=115333&&Wl!=118961&&Wl!=122507&&Wl!=131723&&Wl!=144128&&Wl!=147225){Wl=uc(9,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{cf(),Wl=-1}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),pf(),Wl=-2}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),vf(),Wl=-3}catch(l){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),If(),Wl=-12}catch(c){Wl=-13}}}}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(9,Vl,Wl)}}switch(Wl){case-2:hf();break;case-3:df();break;case 91735:mf();break;case 91751:yf();break;case 115333:wf();break;case 16011:case 16049:case 118961:case 122507:case 131723:Sf();break;case 18074:Cf();break;case 18168:Lf();break;case 144128:_f();break;case 18179:Pf();break;case-12:case 16140:Ff();break;case-13:qf();break;case 54:Uf();break;default:lf()}ic.endNonterminal("Statement",Vl)}function ff(){switch($l){case 133:ql(147);break;case 139:ql(179);break;case 177:ql(166);break;case 256:ql(148);break;case 268:ql(143);break;case 281:ql(283);break;case 31:case 33:ql(246);break;case 87:case 103:ql(145);break;case 154:case 248:case 259:case 273:ql(95);break;default:Wl=$l}if(Wl!=6&&Wl!=8&&Wl!=9&&Wl!=10&&Wl!=11&&Wl!=32&&Wl!=35&&Wl!=36&&Wl!=41&&Wl!=43&&Wl!=47&&Wl!=48&&Wl!=54&&Wl!=55&&Wl!=56&&Wl!=60&&Wl!=69&&Wl!=71&&Wl!=73&&Wl!=74&&Wl!=75&&Wl!=76&&Wl!=78&&Wl!=79&&Wl!=80&&Wl!=81&&Wl!=82&&Wl!=83&&Wl!=84&&Wl!=85&&Wl!=86&&Wl!=89&&Wl!=90&&Wl!=91&&Wl!=92&&Wl!=94&&Wl!=95&&Wl!=97&&Wl!=98&&Wl!=99&&Wl!=102&&Wl!=104&&Wl!=105&&Wl!=106&&Wl!=107&&Wl!=109&&Wl!=110&&Wl!=111&&Wl!=112&&Wl!=113&&Wl!=114&&Wl!=119&&Wl!=120&&Wl!=121&&Wl!=122&&Wl!=123&&Wl!=124&&Wl!=125&&Wl!=126&&Wl!=127&&Wl!=129&&Wl!=130&&Wl!=132&&Wl!=134&&Wl!=135&&Wl!=136&&Wl!=137&&Wl!=138&&Wl!=142&&Wl!=143&&Wl!=147&&Wl!=148&&Wl!=150&&Wl!=152&&Wl!=153&&Wl!=155&&Wl!=156&&Wl!=157&&Wl!=161&&Wl!=162&&Wl!=163&&Wl!=164&&Wl!=165&&Wl!=166&&Wl!=167&&Wl!=168&&Wl!=169&&Wl!=170&&Wl!=173&&Wl!=174&&Wl!=175&&Wl!=179&&Wl!=181&&Wl!=183&&Wl!=184&&Wl!=185&&Wl!=187&&Wl!=188&&Wl!=189&&Wl!=194&&Wl!=195&&Wl!=196&&Wl!=197&&Wl!=198&&Wl!=202&&Wl!=203&&Wl!=204&&Wl!=205&&Wl!=206&&Wl!=207&&Wl!=210&&Wl!=216&&Wl!=217&&Wl!=220&&Wl!=222&&Wl!=223&&Wl!=224&&Wl!=225&&Wl!=226&&Wl!=228&&Wl!=229&&Wl!=230&&Wl!=231&&Wl!=232&&Wl!=233&&Wl!=234&&Wl!=239&&Wl!=240&&Wl!=241&&Wl!=242&&Wl!=245&&Wl!=247&&Wl!=249&&Wl!=253&&Wl!=254&&Wl!=255&&Wl!=257&&Wl!=258&&Wl!=260&&Wl!=262&&Wl!=263&&Wl!=266&&Wl!=267&&Wl!=269&&Wl!=272&&Wl!=276&&Wl!=283&&Wl!=10009&&Wl!=14935&&Wl!=14951&&Wl!=14981&&Wl!=14987&&Wl!=15002&&Wl!=15025&&Wl!=15096&&Wl!=15104&&Wl!=15107&&Wl!=15116&&Wl!=15121&&Wl!=16011&&Wl!=16049&&Wl!=16140&&Wl!=18007&&Wl!=18023&&Wl!=18053&&Wl!=18059&&Wl!=18074&&Wl!=18097&&Wl!=18168&&Wl!=18176&&Wl!=18179&&Wl!=18188&&Wl!=91735&&Wl!=91751&&Wl!=115333&&Wl!=118961&&Wl!=122507&&Wl!=131723&&Wl!=144128&&Wl!=147225){Wl=uc(9,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{cf(),oc(9,t,-1),Wl=-15}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),pf(),oc(9,t,-2),Wl=-15}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),vf(),oc(9,t,-3),Wl=-15}catch(l){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),If(),oc(9,t,-12),Wl=-15}catch(c){Wl=-13,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(9,t,-13)}}}}}}switch(Wl){case-2:pf();break;case-3:vf();break;case 91735:gf();break;case 91751:bf();break;case 115333:Ef();break;case 16011:case 16049:case 118961:case 122507:case 131723:xf();break;case 18074:kf();break;case 18168:Af();break;case 144128:Df();break;case 18179:Hf();break;case-12:case 16140:If();break;case-13:Rf();break;case 54:zf();break;case-15:break;default:cf()}}function lf(){ic.startNonterminal("ApplyStatement",Vl),Vf(),Pl(54),ic.endNonterminal("ApplyStatement",Vl)}function cf(){$f(),Hl(54)}function hf(){ic.startNonterminal("AssignStatement",Vl),Pl(31),Il(246),jl(),Ti(),Il(28),Pl(53),Il(267),jl(),Wf(),Pl(54),ic.endNonterminal("AssignStatement",Vl)}function pf(){Hl(31),Il(246),Ni(),Il(28),Hl(53),Il(267),Xf(),Hl(54)}function df(){ic.startNonterminal("BlockStatement",Vl),Pl(281),Il(271),jl(),af(),Il(281),jl(),tf(),Pl(287),ic.endNonterminal("BlockStatement",Vl)}function vf(){Hl(281),Il(271),ff(),Il(281),nf(),Hl(287)}function mf(){ic.startNonterminal("BreakStatement",Vl),Pl(87),Il(62),Pl(179),Il(29),Pl(54),ic.endNonterminal("BreakStatement",Vl)}function gf(){Hl(87),Il(62),Hl(179),Il(29),Hl(54)}function yf(){ic.startNonterminal("ContinueStatement",Vl),Pl(103),Il(62),Pl(179),Il(29),Pl(54),ic.endNonterminal("ContinueStatement",Vl)}function bf(){Hl(103),Il(62),Hl(179),Il(29),Hl(54)}function wf(){ic.startNonterminal("ExitStatement",Vl),Pl(133),Il(74),Pl(225),Il(267),jl(),Wf(),Pl(54),ic.endNonterminal("ExitStatement",Vl)}function Ef(){Hl(133),Il(74),Hl(225),Il(267),Xf(),Hl(54)}function Sf(){ic.startNonterminal("FLWORStatement",Vl),tt();for(;;){Il(195);if($l==224)break;jl(),rt()}jl(),Tf(),ic.endNonterminal("FLWORStatement",Vl)}function xf(){nt();for(;;){Il(195);if($l==224)break;it()}Nf()}function Tf(){ic.startNonterminal("ReturnStatement",Vl),Pl(224),Il(271),jl(),af(),ic.endNonterminal("ReturnStatement",Vl)}function Nf(){Hl(224),Il(271),ff()}function Cf(){ic.startNonterminal("IfStatement",Vl),Pl(154),Il(22),Pl(35),Il(267),jl(),G(),Pl(38),Il(80),Pl(250),Il(271),jl(),af(),Il(51),Pl(123),Il(271),jl(),af(),ic.endNonterminal("IfStatement",Vl)}function kf(){Hl(154),Il(22),Hl(35),Il(267),Y(),Hl(38),Il(80),Hl(250),Il(271),ff(),Il(51),Hl(123),Il(271),ff()}function Lf(){ic.startNonterminal("SwitchStatement",Vl),Pl(248),Il(22),Pl(35),Il(267),jl(),G(),Pl(38);for(;;){Il(38),jl(),Of(),Il(117);if($l!=89)break}Pl(110),Il(73),Pl(224),Il(271),jl(),af(),ic.endNonterminal("SwitchStatement",Vl)}function Af(){Hl(248),Il(22),Hl(35),Il(267),Y(),Hl(38);for(;;){Il(38),Mf(),Il(117);if($l!=89)break}Hl(110),Il(73),Hl(224),Il(271),ff()}function Of(){ic.startNonterminal("SwitchCaseStatement",Vl);for(;;){Pl(89),Il(267),jl(),dn();if($l!=89)break}Pl(224),Il(271),jl(),af(),ic.endNonterminal("SwitchCaseStatement",Vl)}function Mf(){for(;;){Hl(89),Il(267),vn();if($l!=89)break}Hl(224),Il(271),ff()}function _f(){ic.startNonterminal("TryCatchStatement",Vl),Pl(256),Il(90),jl(),df();for(;;){Il(39),Pl(92),Il(249),jl(),_n(),jl(),df(),Il(284);switch($l){case 92:ql(256);break;default:Wl=$l}if(Wl!=2652&&Wl!=3164&&Wl!=36444&&Wl!=37468&&Wl!=37980&&Wl!=38492&&Wl!=39004&&Wl!=40028&&Wl!=40540&&Wl!=41052&&Wl!=41564&&Wl!=42076&&Wl!=42588&&Wl!=43100&&Wl!=43612&&Wl!=44124&&Wl!=44636&&Wl!=45660&&Wl!=46172&&Wl!=46684&&Wl!=47196&&Wl!=48220&&Wl!=48732&&Wl!=49756&&Wl!=50268&&Wl!=50780&&Wl!=52316&&Wl!=52828&&Wl!=53340&&Wl!=53852&&Wl!=54364&&Wl!=54876&&Wl!=55900&&Wl!=56412&&Wl!=56924&&Wl!=57436&&Wl!=57948&&Wl!=58460&&Wl!=61020&&Wl!=61532&&Wl!=62044&&Wl!=62556&&Wl!=63068&&Wl!=63580&&Wl!=64092&&Wl!=64604&&Wl!=65116&&Wl!=66140&&Wl!=66652&&Wl!=67676&&Wl!=68188&&Wl!=68700&&Wl!=69212&&Wl!=69724&&Wl!=70236&&Wl!=70748&&Wl!=71260&&Wl!=72796&&Wl!=73308&&Wl!=75356&&Wl!=75868&&Wl!=76892&&Wl!=77916&&Wl!=78428&&Wl!=78940&&Wl!=79452&&Wl!=79964&&Wl!=80476&&Wl!=82524&&Wl!=83036&&Wl!=83548&&Wl!=84060&&Wl!=84572&&Wl!=85084&&Wl!=85596&&Wl!=86108&&Wl!=86620&&Wl!=87132&&Wl!=88668&&Wl!=89180&&Wl!=89692&&Wl!=90716&&Wl!=91740&&Wl!=92764&&Wl!=93788&&Wl!=94300&&Wl!=94812&&Wl!=95836&&Wl!=96348&&Wl!=96860&&Wl!=99420&&Wl!=99932&&Wl!=100956&&Wl!=101468&&Wl!=103516&&Wl!=104028&&Wl!=104540&&Wl!=105052&&Wl!=105564&&Wl!=106076&&Wl!=107612&&Wl!=110684&&Wl!=111196&&Wl!=112732&&Wl!=113756&&Wl!=114268&&Wl!=114780&&Wl!=115292&&Wl!=115804&&Wl!=116828&&Wl!=117340&&Wl!=117852&&Wl!=118364&&Wl!=118876&&Wl!=119388&&Wl!=119900&&Wl!=122460&&Wl!=122972&&Wl!=123484&&Wl!=123996&&Wl!=125532&&Wl!=126556&&Wl!=127068&&Wl!=127580&&Wl!=129628&&Wl!=130140&&Wl!=130652&&Wl!=131164&&Wl!=131676&&Wl!=132188&&Wl!=132700&&Wl!=133212&&Wl!=134236&&Wl!=134748&&Wl!=136284&&Wl!=136796&&Wl!=137308&&Wl!=137820&&Wl!=139356&&Wl!=139868&&Wl!=141404)break}ic.endNonterminal("TryCatchStatement",Vl)}function Df(){Hl(256),Il(90),vf();for(;;){Il(39),Hl(92),Il(249),Dn(),vf(),Il(284);switch($l){case 92:ql(256);break;default:Wl=$l}if(Wl!=2652&&Wl!=3164&&Wl!=36444&&Wl!=37468&&Wl!=37980&&Wl!=38492&&Wl!=39004&&Wl!=40028&&Wl!=40540&&Wl!=41052&&Wl!=41564&&Wl!=42076&&Wl!=42588&&Wl!=43100&&Wl!=43612&&Wl!=44124&&Wl!=44636&&Wl!=45660&&Wl!=46172&&Wl!=46684&&Wl!=47196&&Wl!=48220&&Wl!=48732&&Wl!=49756&&Wl!=50268&&Wl!=50780&&Wl!=52316&&Wl!=52828&&Wl!=53340&&Wl!=53852&&Wl!=54364&&Wl!=54876&&Wl!=55900&&Wl!=56412&&Wl!=56924&&Wl!=57436&&Wl!=57948&&Wl!=58460&&Wl!=61020&&Wl!=61532&&Wl!=62044&&Wl!=62556&&Wl!=63068&&Wl!=63580&&Wl!=64092&&Wl!=64604&&Wl!=65116&&Wl!=66140&&Wl!=66652&&Wl!=67676&&Wl!=68188&&Wl!=68700&&Wl!=69212&&Wl!=69724&&Wl!=70236&&Wl!=70748&&Wl!=71260&&Wl!=72796&&Wl!=73308&&Wl!=75356&&Wl!=75868&&Wl!=76892&&Wl!=77916&&Wl!=78428&&Wl!=78940&&Wl!=79452&&Wl!=79964&&Wl!=80476&&Wl!=82524&&Wl!=83036&&Wl!=83548&&Wl!=84060&&Wl!=84572&&Wl!=85084&&Wl!=85596&&Wl!=86108&&Wl!=86620&&Wl!=87132&&Wl!=88668&&Wl!=89180&&Wl!=89692&&Wl!=90716&&Wl!=91740&&Wl!=92764&&Wl!=93788&&Wl!=94300&&Wl!=94812&&Wl!=95836&&Wl!=96348&&Wl!=96860&&Wl!=99420&&Wl!=99932&&Wl!=100956&&Wl!=101468&&Wl!=103516&&Wl!=104028&&Wl!=104540&&Wl!=105052&&Wl!=105564&&Wl!=106076&&Wl!=107612&&Wl!=110684&&Wl!=111196&&Wl!=112732&&Wl!=113756&&Wl!=114268&&Wl!=114780&&Wl!=115292&&Wl!=115804&&Wl!=116828&&Wl!=117340&&Wl!=117852&&Wl!=118364&&Wl!=118876&&Wl!=119388&&Wl!=119900&&Wl!=122460&&Wl!=122972&&Wl!=123484&&Wl!=123996&&Wl!=125532&&Wl!=126556&&Wl!=127068&&Wl!=127580&&Wl!=129628&&Wl!=130140&&Wl!=130652&&Wl!=131164&&Wl!=131676&&Wl!=132188&&Wl!=132700&&Wl!=133212&&Wl!=134236&&Wl!=134748&&Wl!=136284&&Wl!=136796&&Wl!=137308&&Wl!=137820&&Wl!=139356&&Wl!=139868&&Wl!=141404)break}}function Pf(){ic.startNonterminal("TypeswitchStatement",Vl),Pl(259),Il(22),Pl(35),Il(267),jl(),G(),Pl(38);for(;;){Il(38),jl(),Bf(),Il(117);if($l!=89)break}Pl(110),Il(99),$l==31&&(Pl(31),Il(246),jl(),Ti()),Il(73),Pl(224),Il(271),jl(),af(),ic.endNonterminal("TypeswitchStatement",Vl)}function Hf(){Hl(259),Il(22),Hl(35),Il(267),Y(),Hl(38);for(;;){Il(38),jf(),Il(117);if($l!=89)break}Hl(110),Il(99),$l==31&&(Hl(31),Il(246),Ni()),Il(73),Hl(224),Il(271),ff()}function Bf(){ic.startNonterminal("CaseStatement",Vl),Pl(89),Il(258),$l==31&&(Pl(31),Il(246),jl(),Ti(),Il(33),Pl(80)),Il(254),jl(),Ls(),Il(73),Pl(224),Il(271),jl(),af(),ic.endNonterminal("CaseStatement",Vl)}function jf(){Hl(89),Il(258),$l==31&&(Hl(31),Il(246),Ni(),Il(33),Hl(80)),Il(254),As(),Il(73),Hl(224),Il(271),ff()}function Ff(){ic.startNonterminal("VarDeclStatement",Vl);for(;;){Il(102);if($l!=33)break;jl(),B()}Pl(268),Il(21),Pl(31),Il(246),jl(),Ti(),Il(172),$l==80&&(jl(),Cs()),Il(155),$l==53&&(Pl(53),Il(267),jl(),Wf());for(;;){if($l!=42)break;Pl(42),Il(21),Pl(31),Il(246),jl(),Ti(),Il(172),$l==80&&(jl(),Cs()),Il(155),$l==53&&(Pl(53),Il(267),jl(),Wf())}Pl(54),ic.endNonterminal("VarDeclStatement",Vl)}function If(){for(;;){Il(102);if($l!=33)break;j()}Hl(268),Il(21),Hl(31),Il(246),Ni(),Il(172),$l==80&&ks(),Il(155),$l==53&&(Hl(53),Il(267),Xf());for(;;){if($l!=42)break;Hl(42),Il(21),Hl(31),Il(246),Ni(),Il(172),$l==80&&ks(),Il(155),$l==53&&(Hl(53),Il(267),Xf())}Hl(54)}function qf(){ic.startNonterminal("WhileStatement",Vl),Pl(273),Il(22),Pl(35),Il(267),jl(),G(),Pl(38),Il(271),jl(),af(),ic.endNonterminal("WhileStatement",Vl)}function Rf(){Hl(273),Il(22),Hl(35),Il(267),Y(),Hl(38),Il(271),ff()}function Uf(){ic.startNonterminal("VoidStatement",Vl),Pl(54),ic.endNonterminal("VoidStatement",Vl)}function zf(){Hl(54)}function Wf(){ic.startNonterminal("ExprSingle",Vl);switch($l){case 139:ql(179);break;case 177:ql(166);break;case 256:ql(148);break;case 154:case 248:case 259:ql(95);break;default:Wl=$l}switch(Wl){case 16011:case 16049:case 118961:case 122507:case 131723:Z();break;case 18074:Sn();break;case 18168:ln();break;case 144128:Tn();break;case 18179:mn();break;default:Vf()}ic.endNonterminal("ExprSingle",Vl)}function Xf(){switch($l){case 139:ql(179);break;case 177:ql(166);break;case 256:ql(148);break;case 154:case 248:case 259:ql(95);break;default:Wl=$l}switch(Wl){case 16011:case 16049:case 118961:case 122507:case 131723:et();break;case 18074:xn();break;case 18168:cn();break;case 144128:Nn();break;case 18179:gn();break;default:$f()}}function Vf(){ic.startNonterminal("ExprSimple",Vl);switch($l){case 78:ql(269);break;case 161:ql(276);break;case 223:ql(170);break;case 111:case 222:ql(261);break;case 104:case 130:case 240:ql(143);break;default:Wl=$l}if(Wl==17998||Wl==18031||Wl==18081||Wl==18142||Wl==99439||Wl==99489||Wl==99550||Wl==99951||Wl==100001||Wl==136927){Wl=uc(10,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hn(),Wl=-2}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),zo(),Wl=-3}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Xo(),Wl=-4}catch(l){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Ko(),Wl=-5}catch(c){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),$o(),Wl=-6}catch(h){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Kf(),Wl=-8}catch(p){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Gf(),Wl=-9}catch(d){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Zf(),Wl=-10}catch(v){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),tl(),Wl=-11}catch(m){Wl=-12}}}}}}}}}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(10,Vl,Wl)}}switch(Wl){case 16002:case 16112:on();break;case-3:Uo();break;case-4:Wo();break;case-5:Jo();break;case-6:case 99551:Vo();break;case 15976:nu();break;case-8:case 3183:case 4207:case 4719:case 5231:case 5743:case 15983:case 16495:case 17007:case 28271:case 28783:case 30831:case 35439:case 36463:case 37487:case 37999:case 38511:case 39023:case 40047:case 40559:case 41071:case 41583:case 42095:case 42607:case 43119:case 43631:case 44143:case 44655:case 45679:case 46191:case 46703:case 47215:case 48239:case 48751:case 49775:case 50287:case 50799:case 52335:case 52847:case 53359:case 53871:case 54383:case 54895:case 55919:case 56431:case 56943:case 57455:case 57967:case 58479:case 61039:case 61551:case 62063:case 62575:case 63087:case 63599:case 64111:case 64623:case 65135:case 66159:case 66671:case 67695:case 68207:case 68719:case 69231:case 69743:case 70255:case 70767:case 71279:case 72815:case 73327:case 75375:case 75887:case 76911:case 77935:case 78447:case 78959:case 79471:case 79983:case 80495:case 82543:case 83055:case 83567:case 84079:case 84591:case 85103:case 85615:case 86127:case 86639:case 87151:case 88687:case 89199:case 89711:case 90735:case 91759:case 92783:case 93807:case 94319:case 94831:case 95855:case 96367:case 96879:case 100975:case 101487:case 103535:case 104047:case 104559:case 105071:case 105583:case 106095:case 107631:case 110703:case 111215:case 112751:case 113775:case 114287:case 114799:case 115311:case 115823:case 116847:case 117359:case 117871:case 118383:case 118895:case 119407:case 119919:case 122479:case 122991:case 123503:case 124015:case 125551:case 126575:case 127087:case 127599:case 129647:case 130159:case 130671:case 131183:case 131695:case 132207:case 132719:case 133231:case 134255:case 134767:case 136303:case 136815:case 137327:case 137839:case 139375:case 139887:case 141423:case 143983:case 145007:Jf();break;case-9:case 3233:case 4257:case 4769:case 5281:case 5793:case 9889:case 16033:case 16545:case 17057:case 18593:case 21153:case 22177:case 24225:case 24737:case 28321:case 28833:case 30881:case 35489:case 36513:case 37537:case 38049:case 38561:case 39073:case 40097:case 40609:case 41121:case 41633:case 42145:case 42657:case 43169:case 43681:case 44193:case 44705:case 45729:case 46241:case 46753:case 47265:case 48289:case 48801:case 49825:case 50337:case 50849:case 52385:case 52897:case 53409:case 53921:case 54433:case 54945:case 55969:case 56481:case 56993:case 57505:case 58017:case 58529:case 61089:case 61601:case 62113:case 62625:case 63137:case 63649:case 64161:case 64673:case 65185:case 66209:case 66721:case 67745:case 68257:case 68769:case 69281:case 69793:case 70305:case 70817:case 71329:case 72865:case 73377:case 75425:case 75937:case 76961:case 77985:case 78497:case 79009:case 79521:case 80033:case 80545:case 82593:case 83105:case 83617:case 84129:case 84641:case 85153:case 85665:case 86177:case 86689:case 87201:case 88737:case 89249:case 89761:case 90785:case 91809:case 92833:case 93857:case 94369:case 94881:case 95905:case 96417:case 96929:case 100513:case 101025:case 101537:case 103585:case 104097:case 104609:case 105121:case 105633:case 106145:case 107681:case 110753:case 111265:case 112801:case 113825:case 114337:case 114849:case 115361:case 115873:case 116897:case 117409:case 117921:case 118433:case 118945:case 119457:case 119969:case 122529:case 123041:case 123553:case 124065:case 125601:case 126625:case 127137:case 127649:case 129697:case 130209:case 130721:case 131233:case 131745:case 132257:case 132769:case 133281:case 134305:case 134817:case 136353:case 136865:case 137377:case 137889:case 139425:case 139937:case 141473:case 144033:case 145057:Qf();break;case-10:case 3294:case 4318:case 4830:case 5342:case 5854:case 16094:case 16606:case 17118:case 28382:case 28894:case 30942:case 35550:case 36574:case 37598:case 38110:case 38622:case 39134:case 40158:case 40670:case 41182:case 41694:case 42206:case 42718:case 43230:case 43742:case 44254:case 44766:case 45790:case 46302:case 46814:case 47326:case 48350:case 48862:case 49886:case 50398:case 50910:case 52446:case 52958:case 53470:case 53982:case 54494:case 55006:case 56030:case 56542:case 57054:case 57566:case 58078:case 58590:case 61150:case 61662:case 62174:case 62686:case 63198:case 63710:case 64222:case 64734:case 65246:case 66270:case 66782:case 67806:case 68318:case 68830:case 69342:case 69854:case 70366:case 70878:case 71390:case 72926:case 73438:case 75486:case 75998:case 77022:case 78046:case 78558:case 79070:case 79582:case 80094:case 80606:case 82654:case 83166:case 83678:case 84190:case 84702:case 85214:case 85726:case 86238:case 86750:case 87262:case 88798:case 89310:case 89822:case 90846:case 91870:case 92894:case 93918:case 94430:case 94942:case 95966:case 96478:case 96990:case 100062:case 101086:case 101598:case 103646:case 104158:case 104670:case 105182:case 105694:case 106206:case 107742:case 110814:case 111326:case 112862:case 113886:case 114398:case 114910:case 115422:case 115934:case 116958:case 117470:case 117982:case 118494:case 119006:case 119518:case 120030:case 122590:case 123102:case 123614:case 124126:case 125662:case 126686:case 127198:case 127710:case 129758:case 130270:case 130782:case 131294:case 131806:case 132318:case 132830:case 133342:case 134366:case 134878:case 136414:case 136926:case 137438:case 137950:case 139486:case 139998:case 141534:case 144094:case 145118:Yf();break;case-11:el();break;case-12:case 3150:case 4174:case 4686:case 5198:case 5710:case 15950:case 16462:case 16974:case 18510:case 21070:case 22094:case 24142:case 24654:case 28238:case 28750:case 30798:case 35406:case 36430:case 37454:case 37966:case 38478:case 38990:case 40014:case 40526:case 41038:case 41550:case 42062:case 42574:case 43086:case 43598:case 44110:case 44622:case 45646:case 46158:case 46670:case 47182:case 48206:case 48718:case 49742:case 50254:case 50766:case 52302:case 52814:case 53326:case 53838:case 54350:case 54862:case 55886:case 56398:case 56910:case 57422:case 57934:case 58446:case 61006:case 61518:case 62030:case 62542:case 63054:case 63566:case 64078:case 64590:case 65102:case 66126:case 66638:case 67662:case 68174:case 68686:case 69198:case 69710:case 70222:case 70734:case 71246:case 72782:case 73294:case 75342:case 75854:case 76878:case 77902:case 78414:case 78926:case 79438:case 79950:case 80462:case 82510:case 83022:case 83534:case 84046:case 84558:case 85070:case 85582:case 86094:case 86606:case 87118:case 88654:case 89166:case 89678:case 90702:case 91726:case 92750:case 93774:case 94286:case 94798:case 95822:case 96334:case 96846:case 99406:case 99918:case 100430:case 100942:case 101454:case 103502:case 104014:case 104526:case 105038:case 105550:case 106062:case 107598:case 110670:case 111182:case 112718:case 113742:case 114254:case 114766:case 115278:case 115790:case 116814:case 117326:case 117838:case 118350:case 118862:case 119374:case 119886:case 122446:case 122958:case 123470:case 123982:case 125518:case 126542:case 127054:case 127566:case 129614:case 130126:case 130638:case 131150:case 131662:case 132174:case 132686:case 133198:case 134222:case 134734:case 136270:case 136782:case 137294:case 137806:case 139342:case 139854:case 141390:case 143950:case 144974:nl();break;default:Pn()}ic.endNonterminal("ExprSimple",Vl)}function $f(){switch($l){case 78:ql(269);break;case 161:ql(276);break;case 223:ql(170);break;case 111:case 222:ql(261);break;case 104:case 130:case 240:ql(143);break;default:Wl=$l}if(Wl==17998||Wl==18031||Wl==18081||Wl==18142||Wl==99439||Wl==99489||Wl==99550||Wl==99951||Wl==100001||Wl==136927){Wl=uc(10,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hn(),oc(10,t,-2),Wl=-13}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),zo(),oc(10,t,-3),Wl=-13}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Xo(),oc(10,t,-4),Wl=-13}catch(l){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Ko(),oc(10,t,-5),Wl=-13}catch(c){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),$o(),oc(10,t,-6),Wl=-13}catch(h){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Kf(),oc(10,t,-8),Wl=-13}catch(p){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Gf(),oc(10,t,-9),Wl=-13}catch(d){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Zf(),oc(10,t,-10),Wl=-13}catch(v){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),tl(),oc(10,t,-11),Wl=-13}catch(m){Wl=-12,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(10,t,-12)}}}}}}}}}}}switch(Wl){case 16002:case 16112:un();break;case-3:zo();break;case-4:Xo();break;case-5:Ko();break;case-6:case 99551:$o();break;case 15976:ru();break;case-8:case 3183:case 4207:case 4719:case 5231:case 5743:case 15983:case 16495:case 17007:case 28271:case 28783:case 30831:case 35439:case 36463:case 37487:case 37999:case 38511:case 39023:case 40047:case 40559:case 41071:case 41583:case 42095:case 42607:case 43119:case 43631:case 44143:case 44655:case 45679:case 46191:case 46703:case 47215:case 48239:case 48751:case 49775:case 50287:case 50799:case 52335:case 52847:case 53359:case 53871:case 54383:case 54895:case 55919:case 56431:case 56943:case 57455:case 57967:case 58479:case 61039:case 61551:case 62063:case 62575:case 63087:case 63599:case 64111:case 64623:case 65135:case 66159:case 66671:case 67695:case 68207:case 68719:case 69231:case 69743:case 70255:case 70767:case 71279:case 72815:case 73327:case 75375:case 75887:case 76911:case 77935:case 78447:case 78959:case 79471:case 79983:case 80495:case 82543:case 83055:case 83567:case 84079:case 84591:case 85103:case 85615:case 86127:case 86639:case 87151:case 88687:case 89199:case 89711:case 90735:case 91759:case 92783:case 93807:case 94319:case 94831:case 95855:case 96367:case 96879:case 100975:case 101487:case 103535:case 104047:case 104559:case 105071:case 105583:case 106095:case 107631:case 110703:case 111215:case 112751:case 113775:case 114287:case 114799:case 115311:case 115823:case 116847:case 117359:case 117871:case 118383:case 118895:case 119407:case 119919:case 122479:case 122991:case 123503:case 124015:case 125551:case 126575:case 127087:case 127599:case 129647:case 130159:case 130671:case 131183:case 131695:case 132207:case 132719:case 133231:case 134255:case 134767:case 136303:case 136815:case 137327:case 137839:case 139375:case 139887:case 141423:case 143983:case 145007:Kf();break;case-9:case 3233:case 4257:case 4769:case 5281:case 5793:case 9889:case 16033:case 16545:case 17057:case 18593:case 21153:case 22177:case 24225:case 24737:case 28321:case 28833:case 30881:case 35489:case 36513:case 37537:case 38049:case 38561:case 39073:case 40097:case 40609:case 41121:case 41633:case 42145:case 42657:case 43169:case 43681:case 44193:case 44705:case 45729:case 46241:case 46753:case 47265:case 48289:case 48801:case 49825:case 50337:case 50849:case 52385:case 52897:case 53409:case 53921:case 54433:case 54945:case 55969:case 56481:case 56993:case 57505:case 58017:case 58529:case 61089:case 61601:case 62113:case 62625:case 63137:case 63649:case 64161:case 64673:case 65185:case 66209:case 66721:case 67745:case 68257:case 68769:case 69281:case 69793:case 70305:case 70817:case 71329:case 72865:case 73377:case 75425:case 75937:case 76961:case 77985:case 78497:case 79009:case 79521:case 80033:case 80545:case 82593:case 83105:case 83617:case 84129:case 84641:case 85153:case 85665:case 86177:case 86689:case 87201:case 88737:case 89249:case 89761:case 90785:case 91809:case 92833:case 93857:case 94369:case 94881:case 95905:case 96417:case 96929:case 100513:case 101025:case 101537:case 103585:case 104097:case 104609:case 105121:case 105633:case 106145:case 107681:case 110753:case 111265:case 112801:case 113825:case 114337:case 114849:case 115361:case 115873:case 116897:case 117409:case 117921:case 118433:case 118945:case 119457:case 119969:case 122529:case 123041:case 123553:case 124065:case 125601:case 126625:case 127137:case 127649:case 129697:case 130209:case 130721:case 131233:case 131745:case 132257:case 132769:case 133281:case 134305:case 134817:case 136353:case 136865:case 137377:case 137889:case 139425:case 139937:case 141473:case 144033:case 145057:Gf();break;case-10:case 3294:case 4318:case 4830:case 5342:case 5854:case 16094:case 16606:case 17118:case 28382:case 28894:case 30942:case 35550:case 36574:case 37598:case 38110:case 38622:case 39134:case 40158:case 40670:case 41182:case 41694:case 42206:case 42718:case 43230:case 43742:case 44254:case 44766:case 45790:case 46302:case 46814:case 47326:case 48350:case 48862:case 49886:case 50398:case 50910:case 52446:case 52958:case 53470:case 53982:case 54494:case 55006:case 56030:case 56542:case 57054:case 57566:case 58078:case 58590:case 61150:case 61662:case 62174:case 62686:case 63198:case 63710:case 64222:case 64734:case 65246:case 66270:case 66782:case 67806:case 68318:case 68830:case 69342:case 69854:case 70366:case 70878:case 71390:case 72926:case 73438:case 75486:case 75998:case 77022:case 78046:case 78558:case 79070:case 79582:case 80094:case 80606:case 82654:case 83166:case 83678:case 84190:case 84702:case 85214:case 85726:case 86238:case 86750:case 87262:case 88798:case 89310:case 89822:case 90846:case 91870:case 92894:case 93918:case 94430:case 94942:case 95966:case 96478:case 96990:case 100062:case 101086:case 101598:case 103646:case 104158:case 104670:case 105182:case 105694:case 106206:case 107742:case 110814:case 111326:case 112862:case 113886:case 114398:case 114910:case 115422:case 115934:case 116958:case 117470:case 117982:case 118494:case 119006:case 119518:case 120030:case 122590:case 123102:case 123614:case 124126:case 125662:case 126686:case 127198:case 127710:case 129758:case 130270:case 130782:case 131294:case 131806:case 132318:case 132830:case 133342:case 134366:case 134878:case 136414:case 136926:case 137438:case 137950:case 139486:case 139998:case 141534:case 144094:case 145118:Zf();break;case-11:tl();break;case-12:case 3150:case 4174:case 4686:case 5198:case 5710:case 15950:case 16462:case 16974:case 18510:case 21070:case 22094:case 24142:case 24654:case 28238:case 28750:case 30798:case 35406:case 36430:case 37454:case 37966:case 38478:case 38990:case 40014:case 40526:case 41038:case 41550:case 42062:case 42574:case 43086:case 43598:case 44110:case 44622:case 45646:case 46158:case 46670:case 47182:case 48206:case 48718:case 49742:case 50254:case 50766:case 52302:case 52814:case 53326:case 53838:case 54350:case 54862:case 55886:case 56398:case 56910:case 57422:case 57934:case 58446:case 61006:case 61518:case 62030:case 62542:case 63054:case 63566:case 64078:case 64590:case 65102:case 66126:case 66638:case 67662:case 68174:case 68686:case 69198:case 69710:case 70222:case 70734:case 71246:case 72782:case 73294:case 75342:case 75854:case 76878:case 77902:case 78414:case 78926:case 79438:case 79950:case 80462:case 82510:case 83022:case 83534:case 84046:case 84558:case 85070:case 85582:case 86094:case 86606:case 87118:case 88654:case 89166:case 89678:case 90702:case 91726:case 92750:case 93774:case 94286:case 94798:case 95822:case 96334:case 96846:case 99406:case 99918:case 100430:case 100942:case 101454:case 103502:case 104014:case 104526:case 105038:case 105550:case 106062:case 107598:case 110670:case 111182:case 112718:case 113742:case 114254:case 114766:case 115278:case 115790:case 116814:case 117326:case 117838:case 118350:case 118862:case 119374:case 119886:case 122446:case 122958:case 123470:case 123982:case 125518:case 126542:case 127054:case 127566:case 129614:case 130126:case 130638:case 131150:case 131662:case 132174:case 132686:case 133198:case 134222:case 134734:case 136270:case 136782:case 137294:case 137806:case 139342:case 139854:case 141390:case 143950:case 144974:rl();break;case-13:break;default:Hn()}}function Jf(){ic.startNonterminal("JSONDeleteExpr",Vl),Pl(111),Il(260);switch($l){case 168:ql(261);break;default:Wl=$l}if(Wl==18088){Wl=uc(11,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(11,Vl,Wl)}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Pl(168),Il(260),jl(),ei(),ic.endNonterminal("JSONDeleteExpr",Vl)}function Kf(){Hl(111),Il(260);switch($l){case 168:ql(261);break;default:Wl=$l}if(Wl==18088){Wl=uc(11,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),oc(11,t,-1)}catch(a){Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(11,t,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(260),ti()}function Qf(){ic.startNonterminal("JSONInsertExpr",Vl);switch($l){case 161:ql(268);break;default:Wl=$l}if(Wl!=9889){Wl=uc(12,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(161),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(13,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),oc(13,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(13,f,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(267),Xf(),Hl(165),Il(267),Xf();switch($l){case 82:ql(72);break;default:Wl=$l}if(Wl==110162){Wl=uc(14,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(82),Il(72),Hl(215),Il(267),Xf(),oc(14,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(14,f,-2)}Wl=-2}}Wl==-1&&(Hl(82),Il(72),Hl(215),Il(267),Xf()),Wl=-1}catch(g){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(12,Vl,Wl)}}switch(Wl){case-1:Pl(161),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(13,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),Wl=-1}catch(m){Wl=-2}Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(13,Vl,Wl)}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Pl(168),Il(267),jl(),Wf(),Pl(165),Il(267),jl(),Wf();switch($l){case 82:ql(72);break;default:Wl=$l}if(Wl==110162){Wl=uc(14,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(82),Il(72),Hl(215),Il(267),Xf(),Wl=-1}catch(m){Wl=-2}Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(14,Vl,Wl)}}Wl==-1&&(Pl(82),Il(72),Pl(215),Il(267),jl(),Wf());break;default:Pl(161),Il(268);switch($l){case 168:ql(282);break;default:Wl=$l}if(Wl==18088){Wl=uc(15,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),Wl=-1}catch(m){Wl=-2}Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(15,Vl,Wl)}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==9896||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Pl(168),Il(268),jl(),Tl(),Pl(165),Il(267),jl(),Wf()}ic.endNonterminal("JSONInsertExpr",Vl)}function Gf(){switch($l){case 161:ql(268);break;default:Wl=$l}if(Wl!=9889){Wl=uc(12,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(161),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(13,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),oc(13,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(13,f,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(267),Xf(),Hl(165),Il(267),Xf();switch($l){case 82:ql(72);break;default:Wl=$l}if(Wl==110162){Wl=uc(14,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(82),Il(72),Hl(215),Il(267),Xf(),oc(14,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(14,f,-2)}Wl=-2}}Wl==-1&&(Hl(82),Il(72),Hl(215),Il(267),Xf()),oc(12,t,-1),Wl=-3}catch(g){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(12,t,-2)}}}switch(Wl){case-1:Hl(161),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(13,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),oc(13,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(13,f,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(267),Xf(),Hl(165),Il(267),Xf();switch($l){case 82:ql(72);break;default:Wl=$l}if(Wl==110162){Wl=uc(14,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(82),Il(72),Hl(215),Il(267),Xf(),oc(14,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(14,f,-2)}Wl=-2}}Wl==-1&&(Hl(82),Il(72),Hl(215),Il(267),Xf());break;case-3:break;default:Hl(161),Il(268);switch($l){case 168:ql(282);break;default:Wl=$l}if(Wl==18088){Wl=uc(15,Vl);if(Wl==0){var a=Xl,f=Vl,l=$l,c=Jl,h=Kl,p=Ql,d=Gl,v=Yl;try{Hl(168),oc(15,f,-1)}catch(m){Xl=a,Vl=f,$l=l,$l==0?cc=f:(Jl=c,Kl=h,Ql=p,Ql==0?cc=h:(Gl=d,Yl=v,cc=v)),oc(15,f,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==9896||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(268),Nl(),Hl(165),Il(267),Xf()}}function Yf(){ic.startNonterminal("JSONRenameExpr",Vl),Pl(222),Il(260);switch($l){case 168:ql(261);break;default:Wl=$l}if(Wl==18088){Wl=uc(16,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(16,Vl,Wl)}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Pl(168),Il(260),jl(),ei(),Pl(80),Il(267),jl(),Wf(),ic.endNonterminal("JSONRenameExpr",Vl)}function Zf(){Hl(222),Il(260);switch($l){case 168:ql(261);break;default:Wl=$l}if(Wl==18088){Wl=uc(16,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),oc(16,t,-1)}catch(a){Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(16,t,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(260),ti(),Hl(80),Il(267),Xf()}function el(){ic.startNonterminal("JSONReplaceExpr",Vl),Pl(223),Il(85),Pl(267),Il(67),Pl(200),Il(59),Pl(168),Il(260),jl(),ei(),Pl(276),Il(267),jl(),Wf(),ic.endNonterminal("JSONReplaceExpr",Vl)}function tl(){Hl(223),Il(85),Hl(267),Il(67),Hl(200),Il(59),Hl(168),Il(260),ti(),Hl(276),Il(267),Xf()}function nl(){ic.startNonterminal("JSONAppendExpr",Vl),Pl(78),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(17,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(17,Vl,Wl)}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Pl(168),Il(267),jl(),Wf(),Pl(165),Il(267),jl(),Wf(),ic.endNonterminal("JSONAppendExpr",Vl)}function rl(){Hl(78),Il(267);switch($l){case 168:ql(269);break;default:Wl=$l}if(Wl==18088){Wl=uc(17,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(168),oc(17,t,-1)}catch(a){Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(17,t,-2)}Wl=-2}}(Wl==-1||Wl==3240||Wl==4264||Wl==4776||Wl==5288||Wl==5800||Wl==16040||Wl==16552||Wl==17064||Wl==18600||Wl==21160||Wl==22184||Wl==24232||Wl==24744||Wl==28328||Wl==28840||Wl==30888||Wl==35496||Wl==36520||Wl==37544||Wl==38056||Wl==38568||Wl==39080||Wl==40104||Wl==40616||Wl==41128||Wl==41640||Wl==42152||Wl==42664||Wl==43176||Wl==43688||Wl==44200||Wl==44712||Wl==45736||Wl==46248||Wl==46760||Wl==47272||Wl==48296||Wl==48808||Wl==49832||Wl==50344||Wl==50856||Wl==52392||Wl==52904||Wl==53416||Wl==53928||Wl==54440||Wl==54952||Wl==55976||Wl==56488||Wl==57e3||Wl==57512||Wl==58024||Wl==58536||Wl==61096||Wl==61608||Wl==62120||Wl==62632||Wl==63144||Wl==63656||Wl==64168||Wl==64680||Wl==65192||Wl==66216||Wl==66728||Wl==67752||Wl==68264||Wl==68776||Wl==69288||Wl==69800||Wl==70312||Wl==70824||Wl==71336||Wl==72872||Wl==73384||Wl==75432||Wl==75944||Wl==76968||Wl==77992||Wl==78504||Wl==79016||Wl==79528||Wl==80040||Wl==80552||Wl==82600||Wl==83112||Wl==83624||Wl==84136||Wl==84648||Wl==85160||Wl==85672||Wl==86184||Wl==86696||Wl==87208||Wl==88744||Wl==89256||Wl==89768||Wl==90792||Wl==91816||Wl==92840||Wl==93864||Wl==94376||Wl==94888||Wl==95912||Wl==96424||Wl==96936||Wl==99496||Wl==100008||Wl==100520||Wl==101032||Wl==101544||Wl==103592||Wl==104104||Wl==104616||Wl==105128||Wl==105640||Wl==106152||Wl==107688||Wl==110760||Wl==111272||Wl==112808||Wl==113832||Wl==114344||Wl==114856||Wl==115368||Wl==115880||Wl==116904||Wl==117416||Wl==117928||Wl==118440||Wl==118952||Wl==119464||Wl==119976||Wl==122536||Wl==123048||Wl==123560||Wl==124072||Wl==125608||Wl==126632||Wl==127144||Wl==127656||Wl==129704||Wl==130216||Wl==130728||Wl==131240||Wl==131752||Wl==132264||Wl==132776||Wl==133288||Wl==134312||Wl==134824||Wl==136360||Wl==136872||Wl==137384||Wl==137896||Wl==139432||Wl==139944||Wl==141480||Wl==144040||Wl==145064)&&Hl(168),Il(267),Xf(),Hl(165),Il(267),Xf()}function il(){ic.startNonterminal("CommonContent",Vl);switch($l){case 12:Pl(12);break;case 23:Pl(23);break;case 282:Pl(282);break;case 288:Pl(288);break;default:Ol()}ic.endNonterminal("CommonContent",Vl)}function sl(){switch($l){case 12:Hl(12);break;case 23:Hl(23);break;case 282:Hl(282);break;case 288:Hl(288);break;default:Ml()}}function ol(){ic.startNonterminal("ContentExpr",Vl),rf(),ic.endNonterminal("ContentExpr",Vl)}function ul(){sf()}function al(){ic.startNonterminal("CompDocConstructor",Vl),Pl(120),Il(90),jl(),Ol(),ic.endNonterminal("CompDocConstructor",Vl)}function fl(){Hl(120),Il(90),Ml()}function ll(){ic.startNonterminal("CompAttrConstructor",Vl),Pl(83),Il(250);switch($l){case 281:Pl(281),Il(267),jl(),G(),Pl(287);break;default:jl(),$a()}Il(90);switch($l){case 281:ql(281);break;default:Wl=$l}if(Wl==147225){Wl=uc(18,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(281),Il(91),Hl(287),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(18,Vl,Wl)}}switch(Wl){case-1:Pl(281),Il(91),Pl(287);break;default:jl(),Ol()}ic.endNonterminal("CompAttrConstructor",Vl)}function cl(){Hl(83),Il(250);switch($l){case 281:Hl(281),Il(267),Y(),Hl(287);break;default:Ja()}Il(90);switch($l){case 281:ql(281);break;default:Wl=$l}if(Wl==147225){Wl=uc(18,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(281),Il(91),Hl(287),oc(18,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(18,t,-2)}}}switch(Wl){case-1:Hl(281),Il(91),Hl(287);break;case-3:break;default:Ml()}}function hl(){ic.startNonterminal("CompPIConstructor",Vl),Pl(220),Il(242);switch($l){case 281:Pl(281),Il(267),jl(),G(),Pl(287);break;default:jl(),Ga()}Il(90);switch($l){case 281:ql(281);break;default:Wl=$l}if(Wl==147225){Wl=uc(19,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(281),Il(91),Hl(287),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(19,Vl,Wl)}}switch(Wl){case-1:Pl(281),Il(91),Pl(287);break;default:jl(),Ol()}ic.endNonterminal("CompPIConstructor",Vl)}function pl(){Hl(220),Il(242);switch($l){case 281:Hl(281),Il(267),Y(),Hl(287);break;default:Ya()}Il(90);switch($l){case 281:ql(281);break;default:Wl=$l}if(Wl==147225){Wl=uc(19,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Hl(281),Il(91),Hl(287),oc(19,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(19,t,-2)}}}switch(Wl){case-1:Hl(281),Il(91),Hl(287);break;case-3:break;default:Ml()}}function dl(){ic.startNonterminal("CompCommentConstructor",Vl),Pl(97),Il(90),jl(),Ol(),ic.endNonterminal("CompCommentConstructor",Vl)}function vl(){Hl(97),Il(90),Ml()}function ml(){ic.startNonterminal("CompTextConstructor",Vl),Pl(249),Il(90),jl(),Ol(),ic.endNonterminal("CompTextConstructor",Vl)}function gl(){Hl(249),Il(90),Ml()}function yl(){ic.startNonterminal("PrimaryExpr",Vl);switch($l){case 187:ql(247);break;case 220:ql(245);break;case 281:ql(283);break;case 83:case 122:ql(253);break;case 97:case 249:ql(97);break;case 120:case 206:case 262:ql(148);break;case 135:case 197:case 255:ql(237);break;case 6:case 71:case 73:case 74:case 75:case 76:case 78:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 103:case 104:case 105:case 106:case 107:case 109:case 110:case 111:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 130:case 132:case 133:case 134:case 136:case 137:case 138:case 139:case 142:case 143:case 148:case 150:case 152:case 153:case 155:case 156:case 157:case 161:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 177:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 222:case 223:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 240:case 241:case 242:case 245:case 253:case 254:case 256:case 257:case 258:case 260:case 263:case 266:case 267:case 268:case 269:case 272:case 273:case 276:ql(95);break;default:Wl=$l}if(Wl==3353||Wl==4377||Wl==4889||Wl==5401||Wl==5913||Wl==16153||Wl==16665||Wl==17177||Wl==18055||Wl==18117||Wl==18175||Wl==18201||Wl==18713||Wl==21273||Wl==22297||Wl==24345||Wl==24857||Wl==28441||Wl==28953||Wl==31001||Wl==35609||Wl==36633||Wl==37657||Wl==38169||Wl==38681||Wl==39193||Wl==40217||Wl==40729||Wl==41241||Wl==41753||Wl==42265||Wl==42777||Wl==43289||Wl==43801||Wl==44313||Wl==44825||Wl==45849||Wl==46361||Wl==46873||Wl==47385||Wl==48409||Wl==48921||Wl==49945||Wl==50457||Wl==50969||Wl==52505||Wl==53017||Wl==53529||Wl==54041||Wl==54553||Wl==55065||Wl==56089||Wl==56601||Wl==57113||Wl==57625||Wl==58137||Wl==58649||Wl==61209||Wl==61721||Wl==62233||Wl==62745||Wl==63257||Wl==63769||Wl==64281||Wl==64793||Wl==65305||Wl==66329||Wl==66841||Wl==67865||Wl==68377||Wl==68889||Wl==69401||Wl==69913||Wl==70425||Wl==70937||Wl==71449||Wl==72985||Wl==73497||Wl==75545||Wl==76057||Wl==77081||Wl==78105||Wl==78617||Wl==79129||Wl==79641||Wl==80153||Wl==80665||Wl==82713||Wl==83225||Wl==83737||Wl==84249||Wl==84761||Wl==85273||Wl==85785||Wl==86297||Wl==86809||Wl==87321||Wl==88857||Wl==89369||Wl==89881||Wl==90905||Wl==91929||Wl==92953||Wl==93977||Wl==94489||Wl==95001||Wl==96025||Wl==96537||Wl==97049||Wl==99609||Wl==100121||Wl==100633||Wl==101145||Wl==101657||Wl==103705||Wl==104217||Wl==104729||Wl==105241||Wl==105753||Wl==106265||Wl==107801||Wl==110873||Wl==111385||Wl==112921||Wl==113945||Wl==114457||Wl==114969||Wl==115481||Wl==115993||Wl==117017||Wl==117529||Wl==118041||Wl==118553||Wl==119065||Wl==119577||Wl==120089||Wl==122649||Wl==123161||Wl==123673||Wl==124185||Wl==125721||Wl==126745||Wl==127257||Wl==127769||Wl==129817||Wl==130329||Wl==130841||Wl==131353||Wl==131865||Wl==132377||Wl==132889||Wl==133401||Wl==134425||Wl==134937||Wl==136473||Wl==136985||Wl==137497||Wl==138009||Wl==139545||Wl==140057||Wl==141593||Wl==144153||Wl==145177||Wl==147225){Wl=uc(20,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{vi(),Wl=-1}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Hi(),Wl=-5}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Ml(),Wl=-10}catch(l){Wl=-11}}}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(20,Vl,Wl)}}switch(Wl){case-1:case 8:case 9:case 10:case 11:case 12935:case 12997:case 13055:case 13447:case 13509:case 13567:case 13959:case 14021:case 14079:case 19591:case 19653:case 19711:case 20103:case 20165:case 20223:case 21127:case 21189:case 21247:case 21639:case 21701:case 21759:case 22151:case 22213:case 22271:case 23175:case 23237:case 23295:case 24199:case 24261:case 24319:case 24711:case 24773:case 24831:case 25735:case 25797:case 25855:case 27783:case 27845:case 27903:case 28295:case 28357:case 28415:case 29831:case 29893:case 29951:case 30343:case 30405:case 30463:case 31367:case 31429:case 31487:case 31879:case 31941:case 31999:case 32391:case 32453:case 32511:case 32903:case 32965:case 33023:case 35463:case 35525:case 35583:case 35975:case 36037:case 36095:case 36487:case 36549:case 36607:case 39047:case 39109:case 39167:case 41095:case 41157:case 41215:case 41607:case 41669:case 41727:case 42119:case 42181:case 42239:case 43655:case 43717:case 43775:case 45191:case 45253:case 45311:case 45703:case 45765:case 45823:case 46215:case 46277:case 46335:case 46727:case 46789:case 46847:case 48775:case 48837:case 48895:case 51335:case 51397:case 51455:case 54407:case 54469:case 54527:case 56455:case 56517:case 56575:case 58503:case 58565:case 58623:case 61063:case 61125:case 61183:case 63111:case 63173:case 63231:case 63623:case 63685:case 63743:case 65159:case 65221:case 65279:case 66183:case 66245:case 66303:case 67719:case 67781:case 67839:case 71303:case 71365:case 71423:case 75911:case 75973:case 76031:case 76935:case 76997:case 77055:case 77959:case 78021:case 78079:case 78471:case 78533:case 78591:case 83079:case 83141:case 83199:case 84103:case 84165:case 84223:case 84615:case 84677:case 84735:case 85127:case 85189:case 85247:case 89735:case 89797:case 89855:case 90759:case 90821:case 90879:case 92807:case 92869:case 92927:case 93831:case 93893:case 93951:case 94343:case 94405:case 94463:case 96903:case 96965:case 97023:case 103559:case 103621:case 103679:case 104583:case 104645:case 104703:case 105095:case 105157:case 105215:case 107143:case 107205:case 107263:case 114823:case 114885:case 114943:case 116871:case 116933:case 116991:case 121479:case 121541:case 121599:case 123527:case 123589:case 123647:case 124039:case 124101:case 124159:case 129159:case 129221:case 129279:case 129671:case 129733:case 129791:case 130183:case 130245:case 130303:case 133255:case 133317:case 133375:case 139399:case 139461:case 139519:case 141447:case 141509:case 141567:case 142983:case 143045:case 143103:case 145543:case 145605:case 145663:case 146055:case 146117:case 146175:case 146567:case 146629:case 146687:case 147079:case 147141:case 147199:di();break;case 31:Si();break;case 35:Ci();break;case 32:Li();break;case-5:case 17926:case 17991:case 17993:case 17994:case 17995:case 17996:case 17998:case 18e3:case 18001:case 18002:case 18004:case 18005:case 18006:case 18007:case 18009:case 18010:case 18011:case 18012:case 18014:case 18015:case 18018:case 18019:case 18022:case 18023:case 18024:case 18025:case 18026:case 18027:case 18029:case 18030:case 18031:case 18032:case 18033:case 18034:case 18039:case 18040:case 18043:case 18044:case 18046:case 18047:case 18049:case 18050:case 18052:case 18053:case 18054:case 18056:case 18057:case 18058:case 18059:case 18062:case 18063:case 18068:case 18070:case 18072:case 18073:case 18075:case 18076:case 18077:case 18081:case 18082:case 18083:case 18084:case 18085:case 18086:case 18088:case 18090:case 18093:case 18094:case 18095:case 18097:case 18099:case 18101:case 18103:case 18104:case 18105:case 18107:case 18109:case 18115:case 18118:case 18122:case 18123:case 18124:case 18125:case 18126:case 18127:case 18130:case 18136:case 18137:case 18142:case 18143:case 18144:case 18145:case 18146:case 18148:case 18149:case 18152:case 18153:case 18154:case 18159:case 18160:case 18161:case 18162:case 18165:case 18173:case 18174:case 18176:case 18177:case 18178:case 18180:case 18182:case 18183:case 18186:case 18187:case 18188:case 18189:case 18192:case 18193:case 18196:Pi();break;case 144078:Oi();break;case 144134:_i();break;case 33:case 79:case 121:case 125:case 147:case 154:case 167:case 169:case 188:case 194:case 230:case 231:case 247:case 248:case 259:case 14854:case 14919:case 14921:case 14922:case 14923:case 14924:case 14926:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14935:case 14937:case 14938:case 14939:case 14940:case 14942:case 14943:case 14945:case 14946:case 14947:case 14950:case 14951:case 14952:case 14953:case 14954:case 14955:case 14957:case 14958:case 14959:case 14960:case 14961:case 14962:case 14967:case 14968:case 14970:case 14971:case 14972:case 14974:case 14975:case 14977:case 14978:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14986:case 14987:case 14990:case 14991:case 14996:case 14998:case 15e3:case 15001:case 15003:case 15004:case 15005:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15016:case 15018:case 15021:case 15022:case 15023:case 15025:case 15027:case 15029:case 15031:case 15032:case 15033:case 15035:case 15037:case 15043:case 15045:case 15046:case 15050:case 15051:case 15052:case 15053:case 15054:case 15055:case 15058:case 15064:case 15065:case 15068:case 15070:case 15071:case 15072:case 15073:case 15074:case 15076:case 15077:case 15080:case 15081:case 15082:case 15087:case 15088:case 15089:case 15090:case 15093:case 15097:case 15101:case 15102:case 15103:case 15104:case 15105:case 15106:case 15108:case 15110:case 15111:case 15114:case 15115:case 15116:case 15117:case 15120:case 15121:case 15124:ys();break;case-10:case 27929:Ol();break;case-11:case 10009:Sl();break;case 69:Ll();break;case 283:wl();break;default:qi()}ic.endNonterminal("PrimaryExpr",Vl)}function bl(){switch($l){case 187:ql(247);break;case 220:ql(245);break;case 281:ql(283);break;case 83:case 122:ql(253);break;case 97:case 249:ql(97);break;case 120:case 206:case 262:ql(148);break;case 135:case 197:case 255:ql(237);break;case 6:case 71:case 73:case 74:case 75:case 76:case 78:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 103:case 104:case 105:case 106:case 107:case 109:case 110:case 111:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 130:case 132:case 133:case 134:case 136:case 137:case 138:case 139:case 142:case 143:case 148:case 150:case 152:case 153:case 155:case 156:case 157:case 161:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 177:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 222:case 223:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 240:case 241:case 242:case 245:case 253:case 254:case 256:case 257:case 258:case 260:case 263:case 266:case 267:case 268:case 269:case 272:case 273:case 276:ql(95);break;default:Wl=$l}if(Wl==3353||Wl==4377||Wl==4889||Wl==5401||Wl==5913||Wl==16153||Wl==16665||Wl==17177||Wl==18055||Wl==18117||Wl==18175||Wl==18201||Wl==18713||Wl==21273||Wl==22297||Wl==24345||Wl==24857||Wl==28441||Wl==28953||Wl==31001||Wl==35609||Wl==36633||Wl==37657||Wl==38169||Wl==38681||Wl==39193||Wl==40217||Wl==40729||Wl==41241||Wl==41753||Wl==42265||Wl==42777||Wl==43289||Wl==43801||Wl==44313||Wl==44825||Wl==45849||Wl==46361||Wl==46873||Wl==47385||Wl==48409||Wl==48921||Wl==49945||Wl==50457||Wl==50969||Wl==52505||Wl==53017||Wl==53529||Wl==54041||Wl==54553||Wl==55065||Wl==56089||Wl==56601||Wl==57113||Wl==57625||Wl==58137||Wl==58649||Wl==61209||Wl==61721||Wl==62233||Wl==62745||Wl==63257||Wl==63769||Wl==64281||Wl==64793||Wl==65305||Wl==66329||Wl==66841||Wl==67865||Wl==68377||Wl==68889||Wl==69401||Wl==69913||Wl==70425||Wl==70937||Wl==71449||Wl==72985||Wl==73497||Wl==75545||Wl==76057||Wl==77081||Wl==78105||Wl==78617||Wl==79129||Wl==79641||Wl==80153||Wl==80665||Wl==82713||Wl==83225||Wl==83737||Wl==84249||Wl==84761||Wl==85273||Wl==85785||Wl==86297||Wl==86809||Wl==87321||Wl==88857||Wl==89369||Wl==89881||Wl==90905||Wl==91929||Wl==92953||Wl==93977||Wl==94489||Wl==95001||Wl==96025||Wl==96537||Wl==97049||Wl==99609||Wl==100121||Wl==100633||Wl==101145||Wl==101657||Wl==103705||Wl==104217||Wl==104729||Wl==105241||Wl==105753||Wl==106265||Wl==107801||Wl==110873||Wl==111385||Wl==112921||Wl==113945||Wl==114457||Wl==114969||Wl==115481||Wl==115993||Wl==117017||Wl==117529||Wl==118041||Wl==118553||Wl==119065||Wl==119577||Wl==120089||Wl==122649||Wl==123161||Wl==123673||Wl==124185||Wl==125721||Wl==126745||Wl==127257||Wl==127769||Wl==129817||Wl==130329||Wl==130841||Wl==131353||Wl==131865||Wl==132377||Wl==132889||Wl==133401||Wl==134425||Wl==134937||Wl==136473||Wl==136985||Wl==137497||Wl==138009||Wl==139545||Wl==140057||Wl==141593||Wl==144153||Wl==145177||Wl==147225){Wl=uc(20,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{vi(),oc(20,t,-1),Wl=-14}catch(a){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Hi(),oc(20,t,-5),Wl=-14}catch(f){try{Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),Ml(),oc(20,t,-10),Wl=-14}catch(l){Wl=-11,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(20,t,-11)}}}}}switch(Wl){case-1:case 8:case 9:case 10:case 11:case 12935:case 12997:case 13055:case 13447:case 13509:case 13567:case 13959:case 14021:case 14079:case 19591:case 19653:case 19711:case 20103:case 20165:case 20223:case 21127:case 21189:case 21247:case 21639:case 21701:case 21759:case 22151:case 22213:case 22271:case 23175:case 23237:case 23295:case 24199:case 24261:case 24319:case 24711:case 24773:case 24831:case 25735:case 25797:case 25855:case 27783:case 27845:case 27903:case 28295:case 28357:case 28415:case 29831:case 29893:case 29951:case 30343:case 30405:case 30463:case 31367:case 31429:case 31487:case 31879:case 31941:case 31999:case 32391:case 32453:case 32511:case 32903:case 32965:case 33023:case 35463:case 35525:case 35583:case 35975:case 36037:case 36095:case 36487:case 36549:case 36607:case 39047:case 39109:case 39167:case 41095:case 41157:case 41215:case 41607:case 41669:case 41727:case 42119:case 42181:case 42239:case 43655:case 43717:case 43775:case 45191:case 45253:case 45311:case 45703:case 45765:case 45823:case 46215:case 46277:case 46335:case 46727:case 46789:case 46847:case 48775:case 48837:case 48895:case 51335:case 51397:case 51455:case 54407:case 54469:case 54527:case 56455:case 56517:case 56575:case 58503:case 58565:case 58623:case 61063:case 61125:case 61183:case 63111:case 63173:case 63231:case 63623:case 63685:case 63743:case 65159:case 65221:case 65279:case 66183:case 66245:case 66303:case 67719:case 67781:case 67839:case 71303:case 71365:case 71423:case 75911:case 75973:case 76031:case 76935:case 76997:case 77055:case 77959:case 78021:case 78079:case 78471:case 78533:case 78591:case 83079:case 83141:case 83199:case 84103:case 84165:case 84223:case 84615:case 84677:case 84735:case 85127:case 85189:case 85247:case 89735:case 89797:case 89855:case 90759:case 90821:case 90879:case 92807:case 92869:case 92927:case 93831:case 93893:case 93951:case 94343:case 94405:case 94463:case 96903:case 96965:case 97023:case 103559:case 103621:case 103679:case 104583:case 104645:case 104703:case 105095:case 105157:case 105215:case 107143:case 107205:case 107263:case 114823:case 114885:case 114943:case 116871:case 116933:case 116991:case 121479:case 121541:case 121599:case 123527:case 123589:case 123647:case 124039:case 124101:case 124159:case 129159:case 129221:case 129279:case 129671:case 129733:case 129791:case 130183:case 130245:case 130303:case 133255:case 133317:case 133375:case 139399:case 139461:case 139519:case 141447:case 141509:case 141567:case 142983:case 143045:case 143103:case 145543:case 145605:case 145663:case 146055:case 146117:case 146175:case 146567:case 146629:case 146687:case 147079:case 147141:case 147199:vi();break;case 31:xi();break;case 35:ki();break;case 32:Ai();break;case-5:case 17926:case 17991:case 17993:case 17994:case 17995:case 17996:case 17998:case 18e3:case 18001:case 18002:case 18004:case 18005:case 18006:case 18007:case 18009:case 18010:case 18011:case 18012:case 18014:case 18015:case 18018:case 18019:case 18022:case 18023:case 18024:case 18025:case 18026:case 18027:case 18029:case 18030:case 18031:case 18032:case 18033:case 18034:case 18039:case 18040:case 18043:case 18044:case 18046:case 18047:case 18049:case 18050:case 18052:case 18053:case 18054:case 18056:case 18057:case 18058:case 18059:case 18062:case 18063:case 18068:case 18070:case 18072:case 18073:case 18075:case 18076:case 18077:case 18081:case 18082:case 18083:case 18084:case 18085:case 18086:case 18088:case 18090:case 18093:case 18094:case 18095:case 18097:case 18099:case 18101:case 18103:case 18104:case 18105:case 18107:case 18109:case 18115:case 18118:case 18122:case 18123:case 18124:case 18125:case 18126:case 18127:case 18130:case 18136:case 18137:case 18142:case 18143:case 18144:case 18145:case 18146:case 18148:case 18149:case 18152:case 18153:case 18154:case 18159:case 18160:case 18161:case 18162:case 18165:case 18173:case 18174:case 18176:case 18177:case 18178:case 18180:case 18182:case 18183:case 18186:case 18187:case 18188:case 18189:case 18192:case 18193:case 18196:Hi();break;case 144078:Mi();break;case 144134:Di();break;case 33:case 79:case 121:case 125:case 147:case 154:case 167:case 169:case 188:case 194:case 230:case 231:case 247:case 248:case 259:case 14854:case 14919:case 14921:case 14922:case 14923:case 14924:case 14926:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14935:case 14937:case 14938:case 14939:case 14940:case 14942:case 14943:case 14945:case 14946:case 14947:case 14950:case 14951:case 14952:case 14953:case 14954:case 14955:case 14957:case 14958:case 14959:case 14960:case 14961:case 14962:case 14967:case 14968:case 14970:case 14971:case 14972:case 14974:case 14975:case 14977:case 14978:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14986:case 14987:case 14990:case 14991:case 14996:case 14998:case 15e3:case 15001:case 15003:case 15004:case 15005:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15016:case 15018:case 15021:case 15022:case 15023:case 15025:case 15027:case 15029:case 15031:case 15032:case 15033:case 15035:case 15037:case 15043:case 15045:case 15046:case 15050:case 15051:case 15052:case 15053:case 15054:case 15055:case 15058:case 15064:case 15065:case 15068:case 15070:case 15071:case 15072:case 15073:case 15074:case 15076:case 15077:case 15080:case 15081:case 15082:case 15087:case 15088:case 15089:case 15090:case 15093:case 15097:case 15101:case 15102:case 15103:case 15104:case 15105:case 15106:case 15108:case 15110:case 15111:case 15114:case 15115:case 15116:case 15117:case 15120:case 15121:case 15124:bs();break;case-10:case 27929:Ml();break;case-11:case 10009:xl();break;case 69:Al();break;case 283:El();break;case-14:break;default:Ri()}}function wl(){ic.startNonterminal("JSONSimpleObjectUnion",Vl),Pl(283),Il(274),$l!=286&&(jl(),G()),Pl(286),ic.endNonterminal("JSONSimpleObjectUnion",Vl)}function El(){Hl(283),Il(274),$l!=286&&Y(),Hl(286)}function Sl(){ic.startNonterminal("ObjectConstructor",Vl),Pl(281),Il(277),$l!=287&&(jl(),Tl()),Pl(287),ic.endNonterminal("ObjectConstructor",Vl)}function xl(){Hl(281),Il(277),$l!=287&&Nl(),Hl(287)}function Tl(){ic.startNonterminal("PairConstructorList",Vl),Cl();for(;;){if($l!=42)break;Pl(42),Il(268),jl(),Cl()}ic.endNonterminal("PairConstructorList",Vl)}function Nl(){kl();for(;;){if($l!=42)break;Hl(42),Il(268),kl()}}function Cl(){ic.startNonterminal("PairConstructor",Vl);switch($l){case 78:ql(279);break;case 139:ql(187);break;case 161:ql(282);break;case 177:ql(178);break;case 187:ql(252);break;case 220:ql(248);break;case 223:ql(180);break;case 266:ql(191);break;case 83:case 122:ql(257);break;case 97:case 249:ql(149);break;case 111:case 222:ql(262);break;case 104:case 130:case 240:ql(165);break;case 135:case 197:case 255:ql(209);break;case 120:case 206:case 256:case 262:ql(167);break;case 121:case 125:case 167:case 188:case 194:case 230:case 231:ql(96);break;case 71:case 73:case 74:case 75:case 76:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 103:case 105:case 106:case 107:case 109:case 110:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 132:case 133:case 134:case 136:case 137:case 138:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 241:case 242:case 245:case 248:case 253:case 254:case 257:case 258:case 259:case 260:case 263:case 267:case 268:case 269:case 272:case 273:case 276:ql(144);break;default:Wl=$l}if(Wl==25735||Wl==25797||Wl==25855){Wl=uc(21,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Xf(),Wl=-1}catch(a){Wl=-2}Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(21,Vl,Wl)}}switch(Wl){case-2:case 19:case 25671:case 25673:case 25674:case 25675:case 25676:case 25678:case 25680:case 25681:case 25682:case 25683:case 25684:case 25685:case 25686:case 25687:case 25689:case 25690:case 25691:case 25692:case 25694:case 25695:case 25697:case 25698:case 25699:case 25702:case 25703:case 25704:case 25705:case 25706:case 25707:case 25709:case 25710:case 25711:case 25712:case 25713:case 25714:case 25719:case 25720:case 25721:case 25722:case 25723:case 25724:case 25725:case 25726:case 25727:case 25729:case 25730:case 25732:case 25733:case 25734:case 25736:case 25737:case 25738:case 25739:case 25742:case 25743:case 25747:case 25748:case 25750:case 25752:case 25753:case 25754:case 25755:case 25756:case 25757:case 25761:case 25762:case 25763:case 25764:case 25765:case 25766:case 25767:case 25768:case 25770:case 25773:case 25774:case 25775:case 25777:case 25779:case 25781:case 25783:case 25784:case 25785:case 25787:case 25788:case 25789:case 25794:case 25795:case 25798:case 25802:case 25803:case 25804:case 25805:case 25806:case 25807:case 25810:case 25816:case 25817:case 25820:case 25822:case 25823:case 25824:case 25825:case 25826:case 25828:case 25829:case 25830:case 25831:case 25832:case 25833:case 25834:case 25839:case 25840:case 25841:case 25842:case 25845:case 25848:case 25849:case 25853:case 25854:case 25856:case 25857:case 25858:case 25859:case 25860:case 25862:case 25863:case 25866:case 25867:case 25868:case 25869:case 25872:case 25873:case 25876:Ga();break;default:Wf()}Il(26),Pl(50),Il(267),jl(),Wf(),ic.endNonterminal("PairConstructor",Vl)}function kl(){switch($l){case 78:ql(279);break;case 139:ql(187);break;case 161:ql(282);break;case 177:ql(178);break;case 187:ql(252);break;case 220:ql(248);break;case 223:ql(180);break;case 266:ql(191);break;case 83:case 122:ql(257);break;case 97:case 249:ql(149);break;case 111:case 222:ql(262);break;case 104:case 130:case 240:ql(165);break;case 135:case 197:case 255:ql(209);break;case 120:case 206:case 256:case 262:ql(167);break;case 121:case 125:case 167:case 188:case 194:case 230:case 231:ql(96);break;case 71:case 73:case 74:case 75:case 76:case 80:case 81:case 82:case 84:case 85:case 86:case 87:case 89:case 90:case 91:case 92:case 94:case 95:case 98:case 99:case 102:case 103:case 105:case 106:case 107:case 109:case 110:case 112:case 113:case 114:case 119:case 123:case 124:case 126:case 127:case 129:case 132:case 133:case 134:case 136:case 137:case 138:case 142:case 143:case 147:case 148:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 162:case 163:case 164:case 165:case 166:case 168:case 170:case 173:case 174:case 175:case 179:case 181:case 183:case 184:case 185:case 189:case 195:case 198:case 202:case 203:case 204:case 205:case 207:case 210:case 216:case 217:case 224:case 225:case 226:case 228:case 229:case 232:case 233:case 234:case 239:case 241:case 242:case 245:case 248:case 253:case 254:case 257:case 258:case 259:case 260:case 263:case 267:case 268:case 269:case 272:case 273:case 276:ql(144);break;default:Wl=$l}if(Wl==25735||Wl==25797||Wl==25855){Wl=uc(21,Vl);if(Wl==0){var e=Xl,t=Vl,n=$l,r=Jl,i=Kl,s=Ql,o=Gl,u=Yl;try{Xf(),oc(21,t,-1),Wl=-3}catch(a){Wl=-2,Xl=e,Vl=t,$l=n,$l==0?cc=t:(Jl=r,Kl=i,Ql=s,Ql==0?cc=i:(Gl=o,Yl=u,cc=u)),oc(21,t,-2)}}}switch(Wl){case-2:case 19:case 25671:case 25673:case 25674:case 25675:case 25676:case 25678:case 25680:case 25681:case 25682:case 25683:case 25684:case 25685:case 25686:case 25687:case 25689:case 25690:case 25691:case 25692:case 25694:case 25695:case 25697:case 25698:case 25699:case 25702:case 25703:case 25704:case 25705:case 25706:case 25707:case 25709:case 25710:case 25711:case 25712:case 25713:case 25714:case 25719:case 25720:case 25721:case 25722:case 25723:case 25724:case 25725:case 25726:case 25727:case 25729:case 25730:case 25732:case 25733:case 25734:case 25736:case 25737:case 25738:case 25739:case 25742:case 25743:case 25747:case 25748:case 25750:case 25752:case 25753:case 25754:case 25755:case 25756:case 25757:case 25761:case 25762:case 25763:case 25764:case 25765:case 25766:case 25767:case 25768:case 25770:case 25773:case 25774:case 25775:case 25777:case 25779:case 25781:case 25783:case 25784:case 25785:case 25787:case 25788:case 25789:case 25794:case 25795:case 25798:case 25802:case 25803:case 25804:case 25805:case 25806:case 25807:case 25810:case 25816:case 25817:case 25820:case 25822:case 25823:case 25824:case 25825:case 25826:case 25828:case 25829:case 25830:case 25831:case 25832:case 25833:case 25834:case 25839:case 25840:case 25841:case 25842:case 25845:case 25848:case 25849:case 25853:case 25854:case 25856:case 25857:case 25858:case 25859:case 25860:case 25862:case 25863:case 25866:case 25867:case 25868:case 25869:case 25872:case 25873:case 25876:Ya();break;case-3:break;default:Xf()}Il(26),Hl(50),Il(267),Xf()}function Ll(){ic.startNonterminal("ArrayConstructor",Vl),Pl(69),Il(273),$l!=70&&(jl(),G()),Pl(70),ic.endNonterminal("ArrayConstructor",Vl)}function Al(){Hl(69),Il(273),$l!=70&&Y(),Hl(70)}function Ol(){ic.startNonterminal("BlockExpr",Vl),Pl(281),Il(281),jl(),of(),Pl(287),ic.endNonterminal("BlockExpr",Vl)}function Ml(){Hl(281),Il(281),uf(),Hl(287)}function _l(){ic.startNonterminal("FunctionDecl",Vl),Pl(147),Il(246),jl(),$a(),Il(22),Pl(35),Il(98),$l==31&&(jl(),U()),Pl(38),Il(158),$l==80&&(jl(),Dl()),Il(122);switch($l){case 281:Pl(281),Il(281),jl(),of(),Pl(287);break;default:Pl(134)}ic.endNonterminal("FunctionDecl",Vl)}function Dl(){ic.startNonterminal("ReturnType",Vl),Pl(80),Il(254),jl(),Ls(),ic.endNonterminal("ReturnType",Vl)}function Pl(e){$l==e?(jl(),ic.terminal(i.TOKEN[$l],Jl,Kl>fc?fc:Kl),Xl=Jl,Vl=Kl,$l=Ql,$l!=0&&(Jl=Gl,Kl=Yl,Ql=0)):zl(Jl,Kl,0,$l,e)}function Hl(e){$l==e?(Xl=Jl,Vl=Kl,$l=Ql,$l!=0&&(Jl=Gl,Kl=Yl,Ql=0)):zl(Jl,Kl,0,$l,e)}function Bl(e){var t=Xl,n=Vl,r=$l,i=Jl,s=Kl;$l=e,Jl=lc,Kl=cc,Ql=0,Va(),Xl=t,Vl=n,$l=r,$l!=0&&(Jl=i,Kl=s)}function jl(){Vl!=Jl&&(Xl=Vl,Vl=Jl,ic.whitespace(Xl,Vl))}function Fl(e){var t;for(;;){t=hc(e);if(t!=22){if(t!=37)break;Bl(t)}}return t}function Il(e){$l==0&&($l=Fl(e),Jl=lc,Kl=cc)}function ql(e){Ql==0&&(Ql=Fl(e),Gl=lc,Yl=cc),Wl=Ql<<9|$l}function Rl(e){$l==0&&($l=hc(e),Jl=lc,Kl=cc)}function Ul(e){Ql==0&&(Ql=hc(e),Gl=lc,Yl=cc),Wl=Ql<<9|$l}function zl(e,t,r,i,s){throw t>ec&&(Zl=e,ec=t,tc=r,nc=i,rc=s),new n.ParseException(Zl,ec,tc,nc,rc)}function oc(e,t,n){sc[(t<<5)+e]=n}function uc(e,t){var n=sc[(t<<5)+e];return typeof n!="undefined"?n:0}function hc(e){var t=!1;lc=cc;var n=cc,r=i.INITIAL[e],s=0;for(var o=r&8191;o!=0;){var u,a=n<fc?ac.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<fc?ac.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<13)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>8191&&(r=o,o&=8191,cc=n)}r>>=13;if(r==0){cc=n-1;var f=cc<fc?ac.charCodeAt(cc):0;return f>=56320&&f<57344&&--cc,zl(lc,cc,s,-1,-1)}if(t)for(var d=r>>9;d>0;--d){--cc;var f=cc<fc?ac.charCodeAt(cc):0;f>=56320&&f<57344&&--cc}else cc-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return ac},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=ac.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+ac.substring(e.getBegin(),Math.min(ac.length,e.getBegin()+64))+"..."},this.parse_XQuery=function(){ic.startNonterminal("XQuery",Vl),Il(278),jl(),o(),Pl(25),ic.endNonterminal("XQuery",Vl)};var Wl,Xl,Vl,$l,Jl,Kl,Ql,Gl,Yl,Zl,ec,tc,nc,rc,ic,sc,ac,fc,lc,cc};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&8191;for(var i=0;i<289;i+=32){var s=i,o=(i>>5)*4317+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&15)+r.EXPECTED[a>>4]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[71,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,40,30,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,40,40],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,355,371,387,423,423,423,415,339,331,339,331,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,440,440,440,440,440,440,440,324,339,339,339,339,339,339,339,339,401,423,423,424,422,423,423,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,338,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,71,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,30,30,30,30,30,30,30,30,30,30,30,30,40,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,40,30,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,40,40,40,40,40,40,40,40,40,40,40,40,30,30,40,40,40,40,40,40,40,70,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,40,30,40,30,30,40],r.INITIAL=[1,24578,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290],r.TRANSITION=[37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,36864,36899,36883,36883,36883,36903,36883,36883,36883,36883,36883,36926,36919,36883,36883,36879,36883,36883,36942,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,39727,39739,37318,37318,72403,39755,36991,37318,37318,41289,37087,37318,37318,37010,39794,37318,37318,37318,37318,65657,40192,38525,37318,37318,39813,40192,39835,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39854,39870,37318,37318,37318,46325,37318,37318,36994,37318,61657,45847,57964,37318,37318,61650,62405,62409,50496,39889,37318,37318,41289,37087,37318,44009,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,45833,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39908,62747,37318,37318,37318,42026,65655,37318,73568,65651,65646,39935,62736,68791,45102,45088,45095,68779,39950,36991,37318,37318,41289,39994,37318,45426,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,39370,40016,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,40039,69458,41098,41041,37318,46044,44842,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,47580,37318,37318,37318,48276,40073,37318,37015,71422,71423,40094,57964,37318,37318,67783,40130,40134,40150,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,40186,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,71599,37318,37318,37318,37318,67919,40209,37318,37318,66772,40222,40225,40241,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,71606,73347,37318,37318,37318,37318,37318,40283,40324,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,40344,37116,37202,37162,40378,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,40416,40432,37318,37318,37318,48315,37318,37318,37526,37318,62612,40451,57964,37318,37318,62605,65082,65086,40487,40535,37318,37318,41289,37087,37318,37318,40554,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38131,40575,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,40598,40656,40697,40697,40697,40663,40736,40697,40698,40727,40642,40679,40626,40693,40745,40613,40752,40714,40768,36991,37318,37318,40817,40815,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,40804,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,43152,37318,37318,37318,48276,40833,37318,37318,73511,37318,67919,57964,40868,40872,43155,43156,43784,40888,36991,37318,37318,41289,40924,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,40942,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,43775,37318,37318,37318,48276,37318,37318,37318,37318,69945,73273,57964,40977,41007,44794,41023,73756,40991,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,41058,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,45645,38564,57964,41115,41135,37318,41119,41135,41149,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,37301,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,62620,37318,37318,37318,48276,62315,37318,37318,42112,62617,51150,68655,68669,68671,37318,37318,74e3,41165,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,41215,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,41238,41258,37318,41242,41258,41272,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,69205,37318,62433,37318,68839,45752,41288,37301,44633,37318,37318,37318,37318,73164,72644,41305,72644,72644,41324,38775,41542,41542,58552,65498,52179,65498,65498,52319,41461,41342,41461,41461,60376,37318,37318,37318,37318,37318,37318,57380,44576,38329,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,57802,45001,37318,37318,37318,37318,37318,62575,37318,37318,71516,41385,72644,72644,72644,72645,41405,67865,41542,58857,41542,41542,46917,69302,65498,55881,65498,65498,53308,58621,41461,41722,41461,41461,47863,54854,37318,37318,37318,37318,64802,37318,37318,72642,48855,72644,72644,72644,38767,41542,41439,41542,41542,41444,65497,64981,65498,65498,65498,59803,41461,41460,41461,41461,47863,54854,37318,37318,69109,41478,37318,60498,72644,72644,70521,58547,41542,41542,60742,46770,65498,65498,73471,59798,41461,41461,70944,47288,64766,37318,37318,37507,37318,71005,72644,60920,59569,41542,41542,72922,65498,65498,48896,41461,41461,46878,37318,60844,41498,41222,67506,72644,41518,41541,58729,41559,65498,46559,41593,41462,56939,50451,37318,66947,41614,41423,73664,58829,59801,41638,49498,41664,52412,41686,41702,41738,63218,38594,66255,64873,73961,46828,73161,59759,73663,59797,47605,39543,41802,41825,41848,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,45787,57964,41925,72170,37318,38278,38288,41945,36991,37318,37318,41289,37087,37318,37318,41981,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,69382,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,42002,37318,37318,37318,45026,37318,37318,37318,37318,37318,67919,57964,42022,71555,37318,43019,43028,71570,36991,37318,37318,41289,37087,37318,37318,37010,42042,37318,73045,37318,37318,65657,40192,38525,37318,37318,39335,40192,45833,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,42061,37318,37318,37318,48276,37318,37318,37318,37318,37318,50713,57964,37318,37318,37318,38993,38997,42078,42128,37318,37318,41289,37087,37318,37318,42147,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,42168,62003,69205,37318,37318,37318,68839,37318,37318,39275,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,41324,41542,41542,41542,58552,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,42190,37318,37318,37318,37318,37318,42212,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,67436,42249,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72187,38772,41542,41542,41542,41542,41542,72266,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,42270,41542,41542,41542,41542,49331,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,63809,37318,37318,37318,49242,42389,37318,37318,42312,41767,44524,59934,42356,42367,45136,42383,44513,42405,42445,37318,37318,40926,42420,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,44142,43528,42807,74542,43714,44329,37031,44584,37054,42466,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,42495,44053,42520,44234,42536,42631,42566,42582,42617,43323,74548,42732,42652,43181,43457,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,74695,44148,43301,42504,44146,43812,43314,42636,43906,44107,42807,42594,42699,42706,42722,43750,42901,42677,43141,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,42748,42962,43618,43603,43820,43354,42764,44271,43892,42788,42804,42826,43918,42855,43210,42882,42898,42920,44134,44337,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,42949,44040,42992,42978,43271,43008,43044,42839,43084,44099,43110,43126,43172,43197,43740,43442,43226,43242,38263,37318,38304,37318,38354,38370,45231,38397,38413,43259,44205,43287,43339,74705,42601,43379,43395,43411,42683,43427,43493,43509,57783,51848,38545,38580,73050,38677,38610,43544,43363,43588,43648,42772,43664,43059,43680,43709,43730,43766,38739,38791,38841,38876,38942,38892,43800,43836,43632,43878,43941,43957,42665,43973,43989,39013,39048,39078,44025,44069,44085,43094,44123,43693,44164,39249,55484,44195,43559,43068,43925,39327,39819,44240,42810,42904,39356,44221,43849,44282,42866,45051,43520,43862,42933,39494,44256,44298,44314,39590,43572,44353,42550,44369,44420,44431,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37091,37318,37318,37318,48276,39140,44447,37318,67184,67184,50155,62190,71955,71957,37318,37089,71946,44465,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,44502,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38381,36956,50180,37398,37414,37436,50351,44540,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,44565,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,44600,38038,38061,37792,39434,44649,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,44665,37459,38432,38451,37229,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,37318,73156,44700,44701,37318,74225,74229,44717,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,46650,37318,37318,65657,40192,38525,37318,37318,39335,40192,44756,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,44775,67647,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,44810,44811,37318,37318,74488,44827,44876,37318,37318,41289,37087,37318,37318,37010,37318,37318,44898,37318,37318,65657,40192,38525,37318,37318,39335,40192,44921,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,44940,44949,37318,37318,37318,45580,37318,37318,37318,37318,37318,67919,57964,44969,44970,37318,37318,68795,44986,45022,37318,37318,41289,37087,37318,37318,37010,37318,37318,72142,37318,37318,65657,40192,38525,37318,37318,39335,40192,38201,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,45042,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45074,37318,37318,37318,37318,48276,59955,37318,37318,37318,59954,73317,57964,37318,45118,37318,37318,45127,45152,36991,37318,37318,41289,37087,37318,37318,37010,45201,37318,37318,37318,37318,65657,40192,38525,37318,37318,45220,40192,45247,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,37318,37318,37318,46105,37318,45266,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,63696,45404,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,47785,37318,37318,72642,72644,72644,72644,72644,61913,41542,41542,41542,41542,48876,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,45425,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,63696,45404,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,61913,41542,41542,41542,41542,48876,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,68819,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,63696,45404,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,61913,41542,41542,41542,41542,48876,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,63696,45404,37318,37318,37318,37318,37318,45442,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,61913,41542,41542,41542,41542,48876,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,50781,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,53518,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,63696,45404,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,61913,41542,41542,41542,41542,48876,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,65804,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,48653,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,60153,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,45477,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45496,45525,45509,45539,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,64785,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45555,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,38529,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,45576,74434,37318,74579,74583,74448,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,68588,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,45596,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,37318,37318,37318,37318,37318,45625,45661,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,45833,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,45715,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,45680,45684,37318,37318,45700,45732,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,45768,39048,39078,39105,39169,39156,39172,39188,39089,39218,45803,55484,39265,39291,55476,39311,45819,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,37318,37318,37318,37318,37318,45266,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,45863,37318,37318,44953,53155,45882,37318,52352,45886,39423,67164,45902,45916,45932,45961,45945,45975,45991,37318,45455,41670,46020,50786,46004,46033,45185,46061,46096,44613,41965,46121,46173,46189,46205,46221,46237,46288,65632,46304,37318,37318,68839,40298,50758,37318,41033,53889,69149,37318,46321,73164,72644,72644,72644,46341,45386,41542,41542,59697,52709,65498,65498,65498,64013,57854,41461,41461,41461,53427,64567,41960,63943,65692,37318,55390,46361,44399,46380,37318,58658,46936,46397,46417,72644,72644,59240,58293,46453,46492,41542,41542,52156,55833,61582,46520,65498,65498,64241,46547,52866,68024,41461,41461,68015,46594,47566,46621,37318,37318,46672,37318,46264,44403,37318,40057,46707,46725,63333,41308,72644,46741,63340,42275,46760,41542,46793,66052,61720,45363,46811,65498,49417,68460,65498,46845,46864,41461,51002,52264,41461,46904,52111,46933,46952,37318,46684,52530,67711,37318,59166,64847,72644,54549,51902,61913,46986,41542,41542,73854,71759,72272,41570,65498,54158,68314,46848,58449,41461,41461,47016,47035,51372,47057,47076,37318,47124,37318,47140,47156,71524,72644,42291,47208,67563,41542,59595,47244,47267,65498,59798,47304,47328,41461,53433,37318,47344,37318,61381,37318,72644,47362,47380,41542,47407,47424,65498,47447,64139,63673,47467,64041,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,41347,39062,47486,47520,47551,47602,47622,61702,70577,48688,47605,47638,50030,47449,46829,57656,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,47659,37318,37318,44953,37318,37318,37318,37318,37318,67919,47681,47697,47709,47725,47754,47738,47770,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,67827,50028,47806,47251,47282,47858,50482,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,64567,41960,37318,37318,37318,37318,73633,44399,56082,37318,56083,37318,73164,72644,72644,72644,72644,47879,41363,41542,41542,41542,41542,47922,65493,65498,65498,65498,65498,47955,46825,41461,41461,41461,67629,66428,63696,45404,37318,37318,37318,37318,37318,44403,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,51497,37318,58926,37318,37318,64306,57609,37318,65431,72644,72644,72644,56125,63073,47979,41542,41542,41542,70807,58352,65498,65498,65498,65498,47999,41461,41461,41461,41461,48015,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,65375,48037,48062,48088,48113,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,49548,37318,37318,44953,37318,41780,37318,41482,37318,54642,48139,48155,48170,48186,48215,48199,48231,65689,37318,37318,48273,48292,37318,48311,37318,51503,37318,37318,37318,48331,46709,48623,50028,58342,50938,47282,52495,55465,37318,48349,37318,68839,48369,47665,37318,51866,48388,48408,48427,73007,67026,70205,72644,72644,72644,48444,48468,41542,41542,52709,48501,48532,65498,65498,51441,56912,41461,41461,41461,64567,71585,37318,37318,65402,37318,56580,44399,46364,37873,48553,37318,73164,48570,72644,48622,56986,72644,41363,48639,50032,41542,55261,41542,65493,48669,57135,65498,73731,65498,46825,48704,41598,41461,48739,41461,63696,45404,37318,37318,39025,37318,62106,44403,37318,37318,37318,72643,72644,72644,60958,57260,72645,38772,41542,41542,54046,68350,48760,45363,65498,65498,65498,48780,52828,59800,41461,41461,41461,48796,66903,47863,51534,37318,37318,37318,64199,37318,64441,37318,72642,72644,72644,64854,72644,61913,41542,41542,41542,48812,48876,65497,65498,65498,71839,65498,59803,41461,41461,47470,41461,47863,47501,37318,65142,37318,37318,38723,48831,72644,48851,72644,42291,41542,48871,41542,59595,65498,70398,65498,59798,41461,61249,41461,42174,72114,37318,37318,53513,66795,54283,70249,60920,63484,67969,41542,58586,58373,65498,49897,57220,41461,56936,37318,37318,67331,73163,72644,72800,50031,41542,52475,65498,65498,48892,41461,58211,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,47019,45307,48912,48959,48989,49019,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,70340,49053,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,49089,37318,44953,37318,48599,37585,39665,37318,67919,49107,49123,49137,49153,49182,49166,49196,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,48353,37318,48351,60095,51266,41622,41369,62908,47535,62003,72217,37318,62994,49212,68839,37318,49238,37318,49258,37318,51050,39778,49276,57933,60709,68980,49292,71214,49326,70571,70834,49347,57459,49369,49386,49404,49439,49457,61552,61800,49485,58425,64567,41960,37318,37318,68084,37318,56022,44399,37318,37318,37318,70710,73164,72644,72644,72644,72644,49520,41363,41542,41542,41542,52429,41542,65493,65498,65498,65498,59621,65498,46825,41461,41461,41461,65942,41461,71902,49537,37318,37318,48372,63307,37318,44403,37318,37318,38213,70690,72446,72644,72644,72644,64634,56631,49564,49582,41542,41542,56653,45363,49600,48682,65498,65498,64927,49622,49640,70938,41461,41461,62085,49662,51497,37318,37318,37318,37318,37318,49684,37318,68617,72644,72644,69970,72644,65479,41542,41542,41326,41542,48876,49710,65498,65498,47842,65498,59286,41461,41461,58267,41461,47863,47501,37918,62752,37318,37318,49733,60498,55203,65029,49752,42291,67741,65203,74026,59595,66024,65498,49773,59798,49646,41461,49825,47288,37318,51997,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,49852,37318,73163,72644,60539,50031,41542,72428,65498,65498,49872,41461,70461,56939,61615,37318,72643,60923,41542,57845,65498,49892,41461,49913,72946,72644,50030,54383,59799,54339,40392,49935,49960,49980,50002,57326,50022,50048,50069,50089,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,50115,37318,44953,44449,50137,37318,37060,50171,54108,64429,50196,50210,50226,50255,50239,50269,65689,44626,50285,50301,50316,50332,50367,39233,53108,50384,61398,55344,50419,50467,50512,50528,50544,50594,50610,50651,50667,73014,50694,49260,50729,62653,50756,50774,72085,37318,37318,49073,37318,73164,50802,70730,47643,67373,50837,50866,47931,48477,50890,64147,50934,50954,50974,61240,51024,54206,54678,60300,51066,42093,59527,51082,54503,44179,51132,51166,69514,50121,44486,44480,51182,51198,51247,51290,51306,51322,51357,51407,51457,51482,51519,51581,60231,51607,51635,51659,51675,51432,54188,73942,51691,51713,51750,51800,41753,51824,51840,37318,45167,74354,51864,51882,51918,51962,51982,72643,52018,52052,68101,52072,70228,38772,52096,72897,41542,52136,57279,52172,66566,52195,65498,64541,65498,52222,56902,52245,41461,67612,41461,52280,51497,37891,64079,46636,37318,52344,55168,73701,70986,47906,72644,52368,52401,61913,52428,52445,53191,52464,52511,46777,66351,65498,52546,52580,55946,51008,41461,52615,49469,47863,47501,37318,39657,52645,37318,58484,60498,52664,60195,52685,42291,67536,73887,52704,59595,49809,69760,70602,59798,46578,54457,71795,47288,37318,68581,52725,60872,52759,71031,52775,65989,69245,52802,72675,52206,52852,55908,48097,54237,46605,52882,52918,52936,39919,39478,52952,52973,52992,65449,53038,56792,66087,71786,53088,56765,56939,40362,53104,72643,69978,41542,52310,65498,53124,53817,55637,53146,55211,53171,53289,59799,53207,55668,73239,68122,73294,50578,53242,53264,53284,53305,53324,42326,53340,53356,53372,60496,73658,47451,66435,53400,53449,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,51938,37318,44953,62203,56053,37318,51929,37318,53498,53534,53550,53564,53580,53609,53593,53623,65689,37318,68909,41289,37087,37318,37318,37318,37318,61388,37318,61393,61388,52002,53639,47391,58863,63536,59869,62003,50482,37318,53663,37318,68839,53663,37318,37318,37318,69142,53682,45250,37318,55674,71208,72644,72644,72644,53704,53738,41542,41542,52709,48072,65498,65498,65498,57854,53755,41461,41461,41461,64567,41960,37318,37318,37318,37318,37318,44399,37318,37318,37318,53779,73164,72644,72644,72644,63735,72644,41363,41542,41542,41542,60760,41542,65493,65498,65498,65498,61277,65498,46825,41461,41461,41461,48744,41461,63696,45404,37318,37318,37318,37318,37318,44403,37318,45747,37318,72643,72644,72644,50815,72644,72645,38772,41542,41542,71247,41542,41542,45363,65498,65498,48537,65498,65498,59800,41461,41461,67762,41461,41461,47863,51497,37318,37318,37318,37318,37318,67308,37318,72642,72644,72644,56359,72644,61913,41542,41542,41542,70112,48876,65497,65498,65498,66735,65498,59803,41461,41461,41461,53797,47863,47501,37318,37318,37318,37318,37318,60498,72644,72644,72644,42291,41542,41542,41542,59595,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,54260,37318,37318,37318,73163,67467,72644,48046,41542,73662,48935,65498,59802,53815,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,41851,61054,66378,62339,68189,53833,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,39797,37318,37318,37318,67919,53869,53905,53909,53925,53954,53938,53968,65689,37318,37318,41289,37087,37318,45716,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,46136,46156,37318,37318,68839,37318,37318,37318,37318,40903,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,36975,37318,64085,73164,72644,72644,72644,72644,72644,53984,41542,41542,41542,41542,41542,62136,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,54006,37318,54026,36968,37318,37318,53666,72643,72644,65774,72644,72644,72645,38772,41542,41542,54043,41542,41542,45363,65498,65498,53015,65498,65498,59800,41461,41461,66593,41461,41461,71140,54854,37318,37318,54062,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,54082,64821,37318,60498,72644,72644,62830,58547,41542,41542,58315,46770,65498,65498,71297,59798,41461,41461,54740,47288,59033,54099,69440,44860,37318,54124,64478,44740,41542,54141,70297,54157,61206,54174,54204,58614,54222,56936,53884,37318,41072,40582,71978,54276,54299,54319,56380,73391,73919,41714,55599,54335,56939,50403,59838,42233,54355,53715,54379,54399,59801,54439,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,57408,54473,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,59399,37318,37318,60166,37087,37318,37318,37318,54501,37318,54501,42045,54519,39472,54546,54565,67872,65498,54590,62375,54624,37318,37318,47504,68839,67717,44759,37318,37318,54658,37318,37318,37318,73164,72644,72644,58045,72644,45386,41542,41542,67542,52709,65498,65498,65498,56180,57854,41461,41461,41461,54676,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,68532,57795,73164,72644,72644,72644,72644,72644,54694,41542,41542,41542,41542,41542,54716,65498,65498,65498,65498,65498,54737,41461,41461,41461,41461,41461,54756,71731,37318,37318,37318,37318,37318,37318,37318,37318,74625,57661,72644,72644,72644,72644,72645,38772,54791,41542,41542,41542,41542,45363,54808,65498,65498,65498,65498,59800,54829,41461,41461,41461,41461,47863,54854,37318,37318,66657,37318,37318,37318,37318,72642,72644,72644,72644,58513,38767,41542,41542,41542,63753,41444,65497,65498,65498,65498,70365,59803,41461,41461,41461,60263,47863,54854,37318,37318,49068,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,54946,37318,40844,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,54850,61615,65734,72643,61015,41542,72843,65498,54871,41461,54893,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,51946,37318,44953,37318,54915,54931,37318,54967,54974,54990,55006,55021,55037,55066,55050,55080,65689,37318,37318,51966,38825,37318,37318,37318,54010,55096,55115,48257,55149,55184,55227,55249,41525,55284,55303,63265,55333,37318,37318,37318,40256,37318,55133,55360,37318,37318,37318,55377,52524,73164,55412,59232,72644,55450,55508,48452,55571,48764,46504,61212,71358,65498,52836,55590,72384,66401,41461,55624,55653,37318,55162,48123,45480,68146,44384,37318,37318,55690,55710,55730,55750,50821,72644,73775,55770,55805,41363,53990,41542,54303,55821,55849,65493,53022,65498,61780,55897,55924,46825,56459,41461,71394,55962,55996,47041,37318,37318,37318,54660,56044,56069,49736,37318,37318,37318,56099,56122,72644,56141,70528,58519,56160,58143,41542,63117,55574,66717,50850,52564,65498,63146,65498,56203,56221,51808,41461,56467,41461,56251,56269,54854,55099,56307,46073,56323,59679,56339,62046,56355,52688,61008,58074,70003,51212,41542,66283,70084,56375,56396,56430,65125,61593,46531,69280,62369,41461,56449,56483,56517,56546,63230,66178,37927,69494,47228,56575,66873,56144,56596,56612,70031,45388,56647,56669,56693,56729,56747,56781,56815,56873,56892,51765,56928,56955,37318,37318,61883,53848,56976,57010,57028,57047,57072,57089,57107,57133,57151,57170,57197,57216,56936,60597,37318,40353,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,57236,61615,37318,57252,51333,57276,57295,62141,50073,54877,49498,57311,72644,50030,54383,59799,54339,39384,52786,55523,72337,68506,73161,59759,73663,59797,47605,60497,50030,47449,46829,57331,57347,55938,57396,53268,62159,62339,66862,41867,57424,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,42152,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,57475,57504,57488,57518,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,66211,72644,45386,41542,41542,57534,52709,65498,65498,49388,65498,57854,41461,41461,51784,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,41502,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,52736,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,47060,37318,37318,37318,37318,37318,37318,37318,37318,37318,57438,72644,72644,72644,72644,72645,61918,41542,41542,41542,41542,41542,45363,57553,65498,65498,65498,65498,59800,57571,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,39711,37318,44953,37318,42450,57589,57607,57625,51565,57641,57677,57681,57697,57726,57710,57740,65689,51556,37318,41289,37087,47346,60068,37318,37318,39892,37318,40511,57756,45560,57818,57834,63977,57879,60331,41648,58e3,57914,37318,37318,38814,37318,37318,57949,44882,37318,57925,37318,67807,49037,57985,58044,51257,58061,58115,58131,41542,58165,54574,59660,56705,57154,47834,58193,52256,58227,57863,58246,50918,53781,37318,37318,37318,37318,49029,67667,37318,37318,37318,37318,73164,60986,49757,72644,58283,72644,58309,58331,63863,47408,61105,41542,58368,58389,67585,57555,49801,65498,58422,58441,68033,65185,60256,69351,47041,37318,61839,58465,37318,37318,45281,53688,37318,37318,37318,72643,72644,72644,63835,58500,58535,38772,41542,41542,55268,69704,69729,45363,65498,65498,61489,63774,58568,59800,41461,41461,66754,51734,58602,47863,54854,58637,37318,37318,68901,37318,37318,37318,72642,66219,72644,72644,72644,38767,67986,41542,41542,41542,41444,65497,56713,65498,65498,65498,59803,71875,41461,41461,41461,47863,54899,37318,58657,37318,51097,69488,55754,58674,72644,72644,58694,58724,41542,41542,58745,58769,65498,65498,61143,58793,41461,41461,71804,37318,68935,37318,73352,37318,72644,49303,60920,41542,72302,41542,65498,52557,65498,63673,46570,41461,56936,37318,38852,37318,73163,72644,56106,50031,41542,58818,65498,73828,59802,41461,48715,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,53248,58845,64251,68569,67094,58879,59108,47606,53268,62159,58907,58895,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37319,37318,44953,37318,37318,58923,37318,37038,61423,60807,58942,58956,58972,59001,58985,59015,65689,38336,37318,41289,37087,37318,59031,37318,37318,40327,37318,38338,59049,40328,59079,54363,41369,59103,48516,62003,72217,37318,37318,59124,68839,37318,63001,62951,44924,37318,37318,37318,59142,59160,59182,72644,59203,59223,59256,41542,57091,48815,59272,59718,65498,52599,56799,57854,54450,41461,63259,59312,52629,59347,40308,54027,37318,37318,37318,37318,56028,37318,37318,37318,73164,56849,59370,68264,72644,72644,41363,63477,59429,70290,41542,41542,65493,64678,69828,70882,65498,65498,46825,59459,66600,59489,41461,41461,47041,37318,60820,72604,37318,37318,56414,63654,59509,37318,37318,72643,61043,72644,72644,59543,72645,59566,72479,41542,41542,59585,41542,65528,73531,59619,65498,70373,65498,59800,54834,59637,41461,64050,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,44851,37318,37318,37318,37318,59207,72644,60920,61740,41542,41542,73606,65498,65498,49876,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,61445,73662,65498,59655,59802,56876,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,59676,72644,59695,59713,71108,58802,59734,59756,59775,59794,59819,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,59854,73737,67066,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,67305,48392,37318,54855,59885,59896,59919,66152,67290,59971,59985,60001,60031,60044,60015,65689,47586,44905,38860,60060,60084,37318,60579,48333,40435,72237,60111,60138,60122,60182,60217,60279,60316,65566,60366,50482,58641,37318,37318,48606,72949,68216,73429,60392,69215,60419,37318,60465,60494,60514,60535,72871,72644,60555,49584,41542,47939,52709,70645,70888,65498,70640,57854,54601,60344,63674,41461,59473,64205,46157,37318,60571,37318,37318,37318,60595,37318,37318,45177,73164,60613,72644,53647,72644,72644,41363,60640,41542,61097,41542,41542,58708,70406,65498,55874,65498,65498,50904,58204,41461,60666,41461,41461,47041,37318,37318,37318,37318,40106,37318,37318,44677,60687,37318,60703,72644,72644,46744,72644,58087,60725,41542,41542,41542,60758,74033,52815,65498,65498,65498,52593,61759,41832,41461,41461,41461,53066,69906,47863,49504,60776,60792,64608,60842,51384,60860,60895,60918,60939,60974,61031,61070,38767,70056,61088,61121,61167,41444,65497,61193,61228,55536,61274,59803,61293,61309,61258,72531,61332,54854,48246,61348,61369,61414,58477,51897,68272,58678,65107,61439,53722,46795,49566,61461,54813,65498,61486,61505,72623,61531,61548,61568,67348,61609,37318,37318,61636,61678,47889,61697,61718,52147,61736,61756,56291,61775,61796,55608,61816,46251,61838,37318,61855,73163,61899,68974,61934,52295,73662,61950,58777,71058,61966,62e3,62019,63023,62043,40852,60923,72471,73664,62062,59801,62083,49498,62101,55233,62122,54383,62157,62175,62225,62247,62263,62279,62295,62331,57449,55864,54413,66647,60497,50030,47449,46829,60496,73658,47451,47606,62355,62391,62339,66862,41867,41898,57361,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,62425,44953,37318,41929,62645,37318,37318,67919,62449,62465,62479,62495,62524,62508,62538,62554,62570,62591,51116,40267,62636,62669,37763,62688,62721,40114,62768,62784,62800,62846,62862,62878,62894,62929,62967,62983,37318,74513,46381,42254,37318,40466,50397,50445,63017,37318,37318,63039,73164,72644,63059,63089,55789,45386,47983,63105,51466,69257,65498,47963,66977,63139,63162,41461,63187,63203,63246,60376,37318,65243,37318,54083,37318,65923,63281,37318,49694,37318,63306,63323,63356,63373,63389,72644,67473,63412,41542,63428,63500,41542,54700,59443,65498,63522,63557,65498,56187,53414,41461,63578,63594,41461,68051,48021,46148,37318,59832,55125,37318,37318,37318,37318,37318,63803,72643,72644,70758,59187,72644,72645,38772,41542,55434,57073,41542,41542,45363,65498,74070,65498,63613,65498,59800,41461,60671,41461,63633,41461,47863,54854,37318,37318,63653,44684,37318,37318,37318,72642,72644,72644,72644,57012,55426,41542,41542,41542,41542,66835,62140,65498,65498,65498,65498,63670,41461,41461,41461,41461,63690,54854,67948,37318,37318,37318,37318,63712,72644,63734,72644,46430,41542,63751,41542,56170,65498,63769,65498,41577,41461,51728,41461,47288,63790,37318,37318,37318,37318,62822,66520,60920,41416,71239,41542,47825,58753,65498,61151,71116,41461,72584,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,45334,61615,37318,63825,73373,63858,64501,63879,65885,41461,56530,63897,63917,63966,63993,64029,64066,39534,64101,64126,64163,64186,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,50006,53268,62159,64221,66862,41867,64277,64293,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,66665,44953,37318,37318,68891,37318,64328,64337,67698,39838,64353,64369,64398,64382,64414,65689,37318,69115,41289,37087,37318,37318,63950,37318,51547,37318,37318,37318,44404,64465,64494,64517,49717,67057,64557,72217,37318,64583,37318,68839,37318,40908,40502,64605,50368,64607,37318,37318,62231,64624,67101,73183,63396,64650,67404,68345,48485,71344,64666,64694,64712,71834,64730,57181,60350,61532,53072,55317,64759,37318,64782,64801,45664,45866,38224,37318,37318,37318,37318,73164,72644,72644,52669,72644,72644,41363,41542,41542,67409,41542,41542,65493,65498,65498,55555,65498,65498,46825,41461,41461,68042,41461,41461,49668,53220,61353,37318,37318,37318,64818,59354,57374,68538,37318,72643,72644,64837,72644,72644,72645,64870,41542,64889,41542,41542,41542,68453,65498,51231,64925,65498,65498,59800,41461,61515,64943,41461,41461,47863,54854,59903,37318,37318,37318,37909,37318,37318,72642,72644,72644,64960,72644,56626,41542,41542,73894,41542,42296,65497,65498,65498,64978,65498,59803,41461,41461,71869,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,52897,37318,59144,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,62943,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,56828,64997,65024,65045,64231,59603,54339,38753,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,46305,37318,37318,37318,42426,42429,65068,54066,65102,51341,41369,65123,50559,62003,48585,65141,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,43472,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,65158,41542,41542,41542,41542,41542,66019,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,52976,72644,72644,38767,41542,41542,73801,41542,41444,65497,65498,49370,65498,65498,59803,41461,41461,65182,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,51274,72644,50031,65201,73662,71079,65498,59802,58261,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37806,44953,65219,37318,37420,65239,37318,67919,65259,65275,65288,65304,65333,65317,65347,65689,45409,47790,41289,50740,71165,72077,54775,46691,68943,37318,65363,65398,65418,65465,65515,65551,65582,68491,65617,65675,37318,37318,37318,55396,65708,50432,65732,40783,60879,37318,37318,46888,65750,54125,65773,60201,65790,65831,49353,41542,61177,57056,65855,49783,65498,65874,65901,41461,65939,58230,64743,49003,37318,37318,37318,54951,44007,65958,37318,73691,37318,44004,69414,59740,72644,52378,72644,64962,65976,66005,41542,53183,41542,52448,66040,66074,65498,73466,65498,70854,66103,60245,41461,66119,41461,72537,66911,47041,37318,37318,38803,72980,60478,40954,37318,37480,66138,66168,66202,72644,66235,46345,66251,72645,66271,41542,58177,66299,66320,41542,56559,65498,65535,66344,66367,65498,69808,41461,53763,66394,66417,41461,47863,49919,37318,37318,52902,66451,37318,66495,39978,72642,66512,60519,72644,72644,38767,65839,41542,66536,41542,41444,65497,66557,54721,65498,65498,59803,66582,73488,41461,41461,52328,47223,43477,62672,37318,37318,37318,65382,72644,72644,61681,58099,41542,41542,41542,66616,65498,65498,65498,66632,66681,41461,41461,54252,37318,70963,37318,37318,37318,66698,72644,60920,66716,41542,67896,66733,65498,69783,66751,41461,54608,56936,37318,66770,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,56009,66788,66811,66827,66851,66889,49836,61620,60922,73660,47450,46828,42223,66927,59778,49606,47605,66943,50030,47449,46829,60496,73658,47451,52229,66963,67001,67042,47192,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,42006,44953,41194,40023,67082,63290,67117,67133,67149,67200,67214,67230,67259,67243,67275,67324,37318,67347,72149,37087,37318,39873,37318,37318,73640,55694,39647,45609,60403,67364,67389,66058,64007,71278,67425,72217,39770,40165,39032,68839,68408,37318,37318,37318,37318,39965,41180,37318,67452,67489,70764,72644,72644,67522,67558,63467,41542,52709,51619,65498,67579,65498,57854,67601,63637,67628,41461,60376,37318,67645,37318,67663,67683,37318,56960,37318,65223,37318,37318,73164,52080,69630,72644,72644,72644,67733,60734,73861,41542,41542,53739,65493,58399,51643,65498,65498,63881,46825,67757,59323,41461,41461,66122,50625,37318,37318,67778,47108,48295,37318,38228,67799,44787,57969,67823,72644,72644,69591,55783,67843,67888,41542,41542,63123,65166,73809,53005,65498,65498,64714,62913,63541,72852,41461,41461,59639,69865,70909,48723,67912,59519,37318,37900,37318,51391,37318,67935,72642,72644,52056,59087,72644,38767,41542,41542,67964,67985,41444,65497,65498,65858,58406,65498,59803,41461,41461,68002,41461,47863,54854,37318,68397,37318,68076,37318,60498,68624,72644,68100,65444,66541,41542,68117,51222,72818,65498,55549,59798,53799,41461,51777,47288,37318,37318,40078,37318,68138,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,65915,37954,37318,68162,56840,72644,69566,50031,41542,68178,65498,72029,59802,41461,61324,68205,61615,68239,68255,57031,68288,49964,68312,64170,41461,72350,72946,63842,68330,50053,68366,68384,61620,60922,73660,47450,46828,40170,49310,63506,57898,47605,68424,68440,45370,63171,40400,68476,68554,68604,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,38247,68640,37318,37318,44545,44549,42062,66479,66466,68687,68703,68719,68748,68732,68764,68811,49856,37318,68835,73418,40538,54530,37318,68855,37963,68877,39120,68925,68959,68996,69012,46476,69028,71470,69063,59385,62027,45461,65008,68839,69079,37318,38220,69096,65716,69131,41882,69165,69175,69191,63718,59550,63357,69231,50874,46465,70280,70118,64531,65596,69273,69296,57117,69318,73551,69334,69350,69367,69406,69430,37318,69456,69475,69510,37318,37318,68519,50099,69530,44732,69549,69582,60998,72644,69624,41363,69646,69670,69695,41542,69720,65493,69753,69776,69799,65498,69824,48973,69844,69860,69881,41461,69903,51039,37318,69922,62705,62209,69940,52743,51107,45640,57591,40471,72643,69961,69994,72644,48835,70019,70047,70072,69679,41542,41542,70100,64902,48943,63562,65498,65498,70134,59800,68060,61822,41461,41461,70150,47863,72356,45780,37318,73436,47091,37318,37318,70166,72704,72644,70194,70221,70244,47170,73209,73218,70265,66328,41444,70313,65498,70329,70356,70389,60293,70422,70441,54423,70477,47863,50635,37318,50706,66496,53384,69533,46401,70511,72644,72644,70544,70560,70789,41542,70593,70626,69047,65498,52486,70661,69887,41461,70487,37318,41199,59126,70706,37318,70726,70746,56994,70780,70823,72308,70850,70870,65601,70904,70925,51697,70495,37450,37318,70960,70979,71002,71021,63456,46437,71047,71074,71095,49624,59493,71132,71156,71181,41086,71197,69608,71230,71263,71294,71313,57200,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,65052,64909,59331,55194,71329,71374,71410,71439,71455,66985,70676,53268,62159,62339,66862,71486,71502,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,71540,37318,37318,62697,37318,37318,67919,71622,71638,71652,71668,71697,71681,71711,65689,37318,37318,41289,71727,43243,37318,54635,37318,47100,37318,37318,37318,44404,60624,71747,71775,71820,71855,71891,71918,50345,37318,37318,68839,37318,37318,64312,71934,37318,37318,37318,63901,73164,71973,72644,72644,67498,71994,41542,41542,41542,72010,61470,65498,65498,49441,57854,72045,41461,41461,72052,56235,72068,37318,72101,73266,37318,37318,37318,72130,72165,37318,45286,73164,72644,72186,72203,52036,66700,41363,41543,41542,72253,47431,72288,65493,56731,65499,62067,70610,72324,46825,73981,63597,47312,56493,72372,47041,37318,38557,37318,72400,37318,37318,37318,52648,37318,37318,72643,69558,72644,72644,72644,72645,72419,58149,41542,41542,41542,41542,61134,64696,65498,65498,65498,65498,59800,57573,41461,41461,41461,41461,47863,56406,37318,67179,37318,37318,37318,37318,60902,62813,72644,72644,72644,72644,42340,41542,41542,41542,41542,41444,47816,65498,65498,65498,65498,64261,41461,41461,41461,41461,47863,54766,37318,37318,46970,37318,37318,39394,72444,72644,72644,67855,72462,41542,57537,51591,72495,65498,65498,72517,72553,41461,41461,72576,37318,72600,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,65757,60923,69654,73664,69041,59801,72620,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,72639,72661,49423,56501,60496,73658,47451,47606,53268,68368,54485,72691,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,42479,51143,66186,50148,37318,40519,67015,72720,37318,37318,72736,72765,72749,72779,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72795,49944,41369,72816,50989,62003,72217,37318,49091,63043,68839,37318,37318,37318,37318,37318,52920,37318,37318,73164,47899,72644,73587,72644,45386,72834,41542,56677,52709,56433,65498,65498,72024,57854,55980,41461,64944,41461,60376,37318,37318,37318,37318,37318,55361,37318,37318,37318,53853,37318,73164,72644,72644,72868,72644,72644,41363,41542,41542,72887,41542,41542,65493,65498,65498,72920,65498,65498,46825,41461,56253,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,40788,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,69080,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,72938,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,50678,37318,37318,72976,37318,72965,72996,73030,73066,73080,73096,73125,73109,73141,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,49521,50028,47181,50958,47282,59296,63932,37318,37318,37318,68839,37318,37318,37318,37318,45204,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,48411,37318,37318,37318,37318,73180,72644,72644,72644,72644,72645,73199,41542,41542,41542,41542,41542,56282,65498,65498,65498,65498,65498,56756,41461,41461,41461,41461,41461,47863,54854,37318,68223,37318,37318,37318,37318,37318,72642,72644,73234,72644,56857,38767,41542,66304,41542,41542,73255,65497,65498,73289,65498,72501,59803,41461,61976,41461,70425,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45555,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,73310,37318,39135,37318,37318,37318,46656,37318,73333,55714,73368,64110,41369,73389,53053,62003,72217,37318,37318,37318,73407,48428,48554,40049,37318,37318,37318,37318,37318,73164,72644,61072,72644,52030,45386,41542,41809,41542,73452,65498,65498,58580,63617,57854,41461,41461,73487,55972,60376,73504,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,62308,37318,37318,37318,72643,72644,52957,72644,72644,74050,38772,41542,54792,41542,41542,41542,48926,65498,65498,73527,65498,65498,59800,41461,41461,73547,41461,41461,47863,54854,73567,37318,37318,37318,37318,37318,37318,72642,73584,72644,72644,72644,38767,72904,41542,41542,41542,41444,65497,73603,65498,65498,65498,59803,70455,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,57964,37318,37318,45323,45350,63443,47e3,73622,37318,37318,41289,37087,37318,42196,37318,37318,37318,37318,37318,37318,4e4,72644,73656,60650,55287,47282,61984,73680,37318,42131,37318,68839,37318,37318,37318,37318,37318,37318,37318,41786,73164,72644,72644,72644,69600,45386,41542,41542,41542,73717,65498,65498,65498,56205,57854,41461,41461,41461,72560,60376,37318,59949,37318,37318,37318,37318,37318,37318,37318,73753,37318,73164,52385,72644,72644,73772,72644,41363,69737,41542,41542,73791,41542,65493,49792,65498,65498,73825,65498,46825,50572,41461,66682,41461,41461,47041,37318,46080,37318,37318,37318,37318,37318,37318,37318,37318,72643,41389,72644,72644,72644,72645,73844,41542,73877,41542,41542,41542,51420,65498,73910,65498,65498,65498,49986,41461,73935,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,61662,37318,72642,72644,47364,72644,72644,38767,41542,41542,70798,41542,41444,65497,65498,65498,73958,65498,59803,41461,41461,73977,41461,47863,54854,37318,37318,42105,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,73997,37318,37318,40961,37318,60952,72644,60920,74016,41542,41542,57892,65498,65498,71387,41461,41461,56936,37318,60826,37318,73163,72644,74049,50031,68296,73662,65498,74066,59802,53130,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,45302,37318,37318,37318,37318,44953,37318,37318,37318,37318,37318,67919,61870,37318,37318,45323,45350,63443,47e3,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,72217,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,45386,41542,41542,41542,52709,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,64589,74088,74086,40559,74115,74104,74140,74169,37318,74124,74153,74190,74194,74210,36991,37318,37318,41289,37087,37318,37318,74245,37318,37318,37318,37318,37318,65657,40192,74266,55734,37318,53472,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,72228,37116,37202,37162,74643,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,53226,37318,37318,67919,57964,74289,74334,37318,37318,74319,74303,36991,37318,37318,41289,37087,37318,37318,37010,37318,37318,37318,74350,37318,53463,40192,38525,37318,37318,74370,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,37182,37116,37202,37162,37222,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,74174,37318,37318,37318,37318,37318,52120,37296,74401,74403,37318,37318,74392,74419,36991,37318,37318,41289,37087,37318,37318,74464,37318,37318,74485,37318,37318,59413,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,37076,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,74504,37116,37202,37162,74529,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,39013,39048,39078,39105,39169,39156,39172,39188,39089,39218,39249,55484,39265,39291,55476,39311,39327,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,39708,37318,37318,37318,37318,48276,37318,37318,37318,37318,37318,67919,57964,37318,37318,37318,37318,37318,74564,65689,37318,37318,41289,37087,37318,37318,37318,37318,37318,37318,37318,37318,44404,72644,50028,41369,65498,47282,62003,69205,37318,37318,37318,68839,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,41324,41542,41542,41542,58552,65498,65498,65498,65498,57854,41461,41461,41461,41461,60376,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,73164,72644,72644,72644,72644,72644,41363,41542,41542,41542,41542,41542,65493,65498,65498,65498,65498,65498,46825,41461,41461,41461,41461,41461,47041,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,72643,72644,72644,72644,72644,72645,38772,41542,41542,41542,41542,41542,45363,65498,65498,65498,65498,65498,59800,41461,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,37318,37318,72642,72644,72644,72644,72644,38767,41542,41542,41542,41542,41444,65497,65498,65498,65498,65498,59803,41461,41461,41461,41461,47863,54854,37318,37318,37318,37318,37318,60498,72644,72644,72644,58547,41542,41542,41542,46770,65498,65498,65498,59798,41461,41461,41461,47288,37318,37318,37318,37318,37318,72644,72644,60920,41542,41542,41542,65498,65498,65498,63673,41461,41461,56936,37318,37318,37318,73163,72644,72644,50031,41542,73662,65498,65498,59802,41461,41462,56939,61615,37318,72643,60923,41542,73664,65498,59801,41461,49498,72946,72644,50030,54383,59799,54339,61620,60922,73660,47450,46828,73161,59759,73663,59797,47605,60497,50030,47449,46829,60496,73658,47451,47606,53268,62159,62339,66862,41867,41898,41909,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,65960,37318,37318,37318,37318,74599,74601,37318,37318,70178,74617,37014,37318,37318,37318,37318,37318,37318,37010,37318,37318,37318,37318,37318,65657,40192,38525,37318,37318,39335,40192,38527,37031,44584,37054,74641,37318,37318,74250,37318,69924,37107,37136,37152,65815,69390,37247,37265,53482,72228,37116,37202,37162,74643,37186,37120,37206,37166,74726,69388,37245,37263,53480,37281,37318,41092,37317,37318,37318,45006,57380,37335,37318,74671,64449,74683,40193,37351,37378,40192,39199,37741,69458,41098,41041,37318,46044,37882,69459,41099,41042,37318,46045,37371,74376,37355,37382,40192,39202,38523,74469,50180,37398,37414,37436,50351,37475,37318,58014,37496,39340,37628,37651,37674,55492,37717,38230,37546,37566,58028,41986,37605,37523,37542,37562,58024,37582,37601,39304,37621,37644,37667,37690,37709,37733,74273,57770,38317,37757,37779,37822,46961,37943,37979,37995,38150,38170,38011,38093,38038,38061,37792,39434,38084,38100,38045,38068,37799,39441,38116,37992,38147,38166,38186,38022,38246,38263,37318,38304,37318,38354,38370,45231,38397,38413,37861,37459,38432,38451,68861,37456,38429,38448,38467,45226,38483,38407,38516,57783,51848,38545,38580,73050,38677,38610,38626,49222,38643,38660,49221,38642,38659,38676,38693,38624,38714,38739,38791,38841,38876,38942,38892,60443,38908,60433,60449,38914,38930,38946,38962,38978,74659,39048,39078,39105,39169,39156,39172,39188,39089,39218,46272,55484,39265,39291,55476,39311,74721,37693,37318,65659,38698,39356,39410,37835,37848,39457,45051,38498,38500,45058,39494,39520,39559,39504,39575,59063,39606,39616,39632,39681,39692,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,37318,1,24578,3,0,0,0,0,0,0,0,180524,180524,180524,180524,0,188717,0,188717,180524,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,180524,180524,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,368,188717,180524,188717,188717,188717,188717,188717,131072,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,188717,139264,147456,188717,188717,188717,188717,188717,188717,188717,1,24578,3,0,0,4366336,0,0,0,180524,188717,302,303,0,0,307,0,0,0,307,0,0,0,4931584,0,0,0,0,0,0,2367,0,0,0,0,0,0,0,0,0,1854,0,0,0,0,0,0,4268032,306,307,0,0,0,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,4268032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,262144,0,0,4857856,4874240,0,0,4923392,0,0,0,0,0,0,0,0,0,341,0,0,0,0,0,0,0,0,0,0,5840896,5849088,0,0,0,0,0,0,0,0,0,0,328,0,0,375,375,405,0,0,0,6275072,0,0,0,0,0,0,0,368,368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450560,0,0,0,0,4857856,0,0,0,0,0,0,0,0,0,0,0,0,5259264,0,0,0,0,0,0,0,0,5414912,0,5447680,0,5464064,0,5414912,5447680,0,0,5562368,5636096,5685248,0,5750784,5873664,0,0,0,0,5636096,5873664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5873664,0,0,0,0,0,0,0,0,0,0,0,6275072,0,0,0,914,0,0,0,0,0,4857856,4874240,0,0,0,0,0,0,0,0,0,0,0,0,5447680,0,5464064,0,5480448,5562368,0,0,0,5636096,0,5685248,0,0,5750784,0,0,0,0,0,6275072,0,0,0,0,0,0,0,0,0,0,0,990,0,0,0,4841472,0,0,0,4898816,0,4358144,4358144,4358144,4358144,4358144,4358144,5414912,4358144,5447680,4358144,5464064,4358144,5480448,5562368,4358144,4358144,4358144,5636096,4358144,5636096,4358144,5685248,4358144,4358144,5750784,4358144,4358144,4358144,4358144,4358144,5873664,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4923392,4358144,4358144,4358144,4358144,4358144,0,4923392,0,0,0,0,4366336,0,0,0,0,418,0,0,0,0,0,0,0,0,0,0,0,4276224,1258,0,0,0,5603328,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,341,0,0,5341184,0,5652480,0,0,0,0,0,0,0,0,0,0,4759552,4358144,4358144,4358144,4358144,4358144,5242880,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5341184,4358144,4358144,4358144,4358144,4358144,4358144,0,0,5808128,4358144,4358144,4358144,4825088,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5627904,5652480,4358144,5701632,4358144,4358144,5808128,4358144,4358144,4358144,5668864,0,0,5791744,0,0,0,0,0,0,0,0,0,0,6201344,6242304,6250496,0,0,0,0,6422528,0,0,0,0,0,0,0,0,0,0,351,0,0,0,0,0,0,5619712,0,0,0,0,0,0,0,5726208,5758976,0,0,5791744,0,0,0,0,0,3664,0,0,0,0,0,0,0,0,0,0,5111808,0,0,0,0,0,5283840,0,0,0,0,0,5816320,6291456,0,0,0,0,0,0,0,0,0,0,0,0,2389,0,2391,2392,0,0,0,0,6062080,6463488,0,5398528,0,0,6479872,0,0,0,0,0,0,0,3459,0,0,0,3463,0,0,0,0,0,0,6463488,0,0,0,0,0,0,0,0,0,0,0,0,0,303,0,0,0,0,4931584,4939776,0,0,0,0,0,0,5054464,0,0,0,0,0,0,0,0,5210112,0,0,0,5210112,0,0,0,0,5292032,0,0,0,0,5365760,0,0,0,5455872,0,0,5816320,0,5857280,0,0,0,0,0,0,0,0,0,0,0,0,0,327,401,0,6119424,0,6168576,0,0,0,0,0,6242304,0,6291456,0,6316032,0,0,0,0,0,0,0,4358144,4358144,4931584,4939776,4358144,4358144,4358144,4358144,4358144,4358144,5054464,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5210112,4358144,4358144,4358144,4358144,4358144,4358144,5210112,4358144,4358144,4358144,4358144,5292032,4358144,4358144,4358144,4358144,5365760,4358144,4358144,4358144,5455872,4358144,4358144,4358144,4358144,4358144,4358144,5455872,4358144,4358144,4358144,4358144,4358144,5554176,5570560,5578752,5619712,5668864,4358144,4358144,4358144,5791744,5816320,4358144,5857280,4358144,4358144,4358144,4358144,5816320,4358144,5857280,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,0,0,0,6119424,4358144,6168576,4358144,4358144,4358144,4358144,4358144,6242304,4358144,6291456,4358144,6316032,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6463488,0,4358144,4358144,4358144,4358144,4358144,4358144,6463488,4358144,4358144,4358144,4358144,4358144,0,0,0,0,0,4825088,0,0,0,0,0,0,0,6184960,5316608,0,0,5644288,0,0,0,0,0,0,0,0,0,0,646,755,756,757,0,0,6217728,0,0,0,0,0,0,0,0,0,0,5390336,5308416,5488640,0,0,0,0,0,0,0,0,0,5799936,0,0,5881856,0,0,0,0,0,0,0,0,0,351,352,353,0,0,0,0,5070848,5431296,0,6430720,0,0,0,0,0,0,0,0,5160960,0,0,0,0,0,0,6053888,0,0,0,0,0,5013504,0,0,0,0,0,0,6053888,0,0,0,4358144,4358144,5013504,4358144,4358144,4358144,0,0,0,0,4841472,0,0,0,4898816,0,0,0,0,0,0,1851,0,1853,0,0,0,0,0,0,0,0,4825088,0,0,0,0,0,0,0,0,2786,0,0,0,0,0,0,0,0,2809,0,0,0,0,0,0,0,0,2834,0,0,0,0,0,0,0,0,3154,0,0,0,0,0,0,0,0,3167,3168,0,0,0,0,0,0,0,0,0,6283264,6332416,0,0,0,5881856,0,5382144,0,0,0,0,0,0,0,3665,3666,0,0,0,0,0,0,0,665,0,644,0,0,0,0,0,0,0,6266880,4784128,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4915200,4358144,4956160,4972544,4358144,4358144,4358144,4358144,4358144,4358144,5070848,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5218304,4358144,5267456,4358144,4358144,4358144,6184960,4358144,4358144,6283264,4358144,4358144,6332416,4358144,4358144,4358144,6389760,4358144,4358144,6430720,6438912,4358144,4358144,4358144,6266880,6488064,0,0,0,6266880,0,0,4915200,0,4956160,4972544,0,0,0,0,0,0,5070848,0,0,0,0,0,0,0,5218304,0,5267456,0,0,0,0,5218304,0,5267456,0,0,5308416,5316608,0,0,0,5431296,0,5488640,0,0,0,0,0,0,0,0,6332416,0,0,0,6389760,0,0,6430720,6438912,0,0,0,0,0,0,4784128,0,0,0,4849664,0,0,0,0,0,4915200,0,4956160,4972544,0,0,0,6430720,6438912,4784128,4358144,4358144,4358144,4849664,4358144,4358144,4358144,4358144,4358144,4915200,4358144,4358144,0,0,0,0,0,0,0,0,0,0,302,0,303,306,5218304,4358144,5267456,4358144,4358144,5308416,5316608,4358144,4358144,4358144,5431296,4358144,5488640,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5799936,4358144,4358144,5881856,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6103040,4358144,4358144,4358144,6103040,4358144,4358144,4358144,6184960,4358144,4358144,4358144,6283264,4358144,4358144,6332416,4358144,4358144,0,0,0,0,0,0,0,0,0,368640,0,0,0,0,0,0,2411,0,0,0,0,0,0,0,0,0,1256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4931584,4939776,6488064,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,357,5660672,5718016,0,5865472,0,0,6037504,0,0,6078464,0,0,6340608,0,6455296,0,0,0,0,420,420,420,420,597,597,420,420,420,420,420,420,420,420,420,420,420,420,420,0,420,0,0,0,0,5472256,0,0,0,6209536,0,0,0,0,6176768,0,0,0,0,0,0,6373376,6389760,0,0,6488064,6103040,0,0,0,0,0,0,1850,0,0,0,0,0,0,0,0,0,662,0,0,0,0,0,0,0,0,0,4898816,0,5709824,0,0,0,5283840,0,0,0,0,5251072,0,6414336,5832704,0,5955584,0,0,4358144,4358144,4841472,4358144,4358144,4358144,4898816,4358144,4358144,4358144,4358144,4358144,4358144,0,0,0,0,0,0,303,0,0,0,4358144,5472256,5521408,4358144,4358144,4358144,5595136,5709824,5718016,4358144,5824512,5865472,4358144,4358144,5922816,4358144,4358144,6021120,4358144,6037504,4358144,4358144,6078464,6111232,4358144,6176768,6209536,6234112,4358144,4358144,4358144,4358144,5283840,0,0,0,0,5472256,5521408,0,0,0,0,5595136,5709824,5718016,0,5824512,5865472,0,0,5865472,0,0,5922816,0,0,6021120,0,6037504,0,0,6078464,6111232,0,6176768,6209536,0,6234112,0,0,6234112,0,0,0,0,0,0,0,4358144,4358144,4841472,4358144,4358144,4358144,4898816,4358144,5283840,4358144,4358144,4358144,4358144,5472256,5521408,4358144,4358144,4358144,4358144,5595136,5709824,5718016,4358144,4358144,0,0,0,0,0,5193728,0,0,0,0,0,0,0,0,4358144,4358144,6209536,4358144,6234112,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,573440,0,0,5890048,0,0,0,6160384,0,5095424,5349376,0,5275648,0,0,0,0,0,0,2308,0,0,0,0,0,0,0,0,0,139264,147456,0,0,344064,0,0,0,0,4997120,0,0,0,0,0,0,0,0,0,0,5947392,0,0,0,0,0,3675,0,0,0,0,0,0,0,0,4012,528,5103616,4358144,4358144,5201920,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5890048,4358144,4358144,4358144,6029312,4358144,4358144,4358144,4358144,6160384,4358144,4358144,4358144,4358144,4358144,4358144,6406144,0,5103616,0,0,5201920,0,0,0,0,0,0,0,0,0,0,0,5890048,0,0,0,0,6029312,0,0,0,0,6160384,0,0,0,0,0,0,0,6406144,6406144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4997120,4358144,4358144,5038080,4358144,4358144,4358144,5095424,5095424,5103616,4358144,4358144,5201920,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,0,5013504,0,4358144,6406144,4358144,4358144,4358144,0,0,0,4890624,0,0,0,0,0,0,0,0,3209,0,0,3212,0,0,0,0,0,0,5898240,5963776,0,0,6193152,0,0,5406720,6397952,5300224,5234688,5423104,0,0,0,0,0,3675,0,0,0,0,0,4009,0,4011,528,528,0,0,0,0,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58815,57893,57893,0,0,5988352,0,0,6135808,6307840,0,5996544,4800512,0,6356992,0,0,0,0,0,0,2317,2318,0,2320,2321,0,0,0,0,0,0,1207,0,1209,0,0,368,368,0,0,0,0,0,0,0,0,0,710,0,0,0,0,0,0,0,0,5496832,0,0,0,0,0,5611520,0,0,0,0,0,0,0,3673,0,0,0,0,0,0,0,0,693,0,0,0,0,0,0,368,4947968,5021696,5529600,0,0,5169152,0,0,0,4800512,4808704,4358144,4358144,4890624,4358144,4947968,4358144,4358144,4358144,5898240,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6307840,4358144,4358144,6356992,6381568,5185536,0,5234688,5300224,0,0,5406720,5529600,0,0,0,0,5898240,0,0,0,0,0,0,0,0,6307840,0,0,6356992,6381568,6397952,4800512,4808704,4358144,4358144,4890624,4358144,4947968,4358144,4358144,4358144,5046272,4358144,4358144,4358144,4358144,5185536,4358144,5234688,5300224,4358144,4358144,5406720,5529600,4358144,4358144,4358144,4358144,5898240,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6307840,4358144,4358144,6356992,6381568,6397952,5021696,4358144,4358144,5021696,0,0,0,4980736,0,0,0,0,0,5373952,5734400,6045696,0,0,0,0,421,421,421,421,421,421,421,421,421,421,421,421,421,0,421,0,6258688,6447104,0,0,6127616,0,6348800,5906432,0,5537792,3675,4882432,0,0,0,0,0,0,2329,0,0,0,0,0,0,0,0,0,1195,0,0,0,0,0,0,0,0,0,0,5939200,0,0,5677056,6365184,4866048,0,6070272,5545984,5152768,0,0,0,0,0,3675,0,0,0,0,4008,0,4010,0,528,4013,6144e3,4358144,4866048,4882432,4358144,4980736,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5324800,5373952,5537792,5545984,5586944,5734400,5971968,4358144,6045696,4358144,6070272,4358144,4358144,5537792,5545984,5734400,5971968,4358144,6045696,4358144,6070272,4358144,4358144,4358144,6348800,0,4866048,4882432,0,0,0,0,644,0,0,0,803,0,808,0,794,0,820,0,0,0,0,735,0,0,0,0,0,0,0,0,0,0,0,450560,450560,0,0,450560,0,6045696,0,6070272,0,0,0,0,6348800,0,4866048,4882432,0,4980736,0,0,0,0,0,0,0,0,5324800,5373952,5537792,5545984,5586944,5734400,5971968,0,6045696,0,6070272,0,0,0,0,6348800,4358144,4866048,4882432,4358144,4980736,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6299648,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6348800,4358144,6144e3,0,6144e3,0,4988928,5005312,0,0,0,0,5775360,0,0,0,0,749,0,0,0,0,0,0,0,0,0,0,759,0,0,3675,0,0,0,0,0,0,5693440,0,6496256,5144576,5136384,0,5914624,4358144,6324224,0,0,5005312,0,0,0,512e4,5136384,0,0,0,0,0,0,0,1252,0,0,0,748,1259,0,0,0,0,0,0,0,6324224,0,0,5005312,0,0,0,512e4,5136384,0,0,0,0,0,0,6463488,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6324224,5914624,5914624,0,0,0,0,0,5513216,5783552,0,3675,0,0,0,0,0,0,0,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4931584,4939776,4358144,4358144,4358144,0,6053888,0,0,0,0,0,0,0,0,6012928,4358144,4358144,5013504,4358144,4358144,0,0,0,0,0,0,0,0,0,0,0,1153,0,0,0,0,0,3675,0,0,4006,4007,0,0,0,0,528,528,528,528,3220,528,528,528,528,528,528,3227,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6053888,4358144,4358144,0,0,5013504,0,0,0,0,0,312,414,0,0,139264,147456,0,0,0,0,0,0,0,6103040,0,0,0,6184960,0,0,0,6283264,0,0,6332416,0,0,0,6389760,4358144,4358144,4358144,4358144,4358144,4358144,6053888,4358144,4358144,4358144,0,0,0,0,5193728,0,0,0,0,761,0,0,0,0,0,0,0,0,0,0,528,528,528,3700,528,528,528,5742592,0,0,0,0,0,4358144,4907008,4358144,5079040,4358144,5226496,4358144,5742592,4358144,4358144,4358144,6094848,4358144,5062656,0,0,0,0,0,4358144,4358144,6094848,0,4907008,0,5079040,0,5226496,0,5742592,0,0,0,6094848,0,0,0,0,0,3675,0,4005,0,0,0,0,0,0,528,528,528,528,4155,528,528,528,528,528,528,4907008,0,5079040,0,5226496,0,5742592,0,0,0,6094848,0,4358144,4907008,4358144,5079040,5062656,4358144,4358144,4358144,4358144,4358144,0,5062656,0,0,0,0,0,6225920,0,5062656,4358144,4358144,4358144,4358144,4358144,913,5063569,913,913,913,913,913,6226833,989,5063645,0,0,0,4816896,4358144,4358144,4358144,4358144,6086656,4816896,0,0,0,0,6086656,4816896,4358144,4358144,4358144,4358144,6086656,0,5087232,0,5931008,4358144,5332992,5980160,4358144,0,5332992,5980160,0,0,5332992,5980160,0,4358144,5332992,5980160,4358144,0,0,0,0,787,0,0,0,0,806,0,0,0,0,0,0,0,3166,0,0,0,0,0,0,0,0,327,0,0,0,0,0,0,0,5439488,5128192,4358144,5128192,0,5128192,0,5128192,4358144,0,4358144,0,0,4358144,0,4358144,0,0,4358144,6004736,6004736,6004736,6004736,6004736,0,0,0,1,24578,3,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,0,0,221652,221652,221652,468,468,468,468,468,468,468,468,468,468,468,468,221652,468,221652,221652,221652,468,221652,221652,221652,221652,221652,221652,221652,221652,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1162,0,0,1164,0,0,0,0,0,0,0,0,1311,0,0,0,0,0,1179,0,0,0,762,0,0,0,0,0,0,0,0,0,0,0,0,0,383,0,0,0,0,1064,0,0,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,913,913,913,4358144,4358144,1064,0,0,0,0,0,0,0,0,0,0,0,0,0,507,514,514,1,24578,3,0,0,0,0,0,0,0,0,0,0,0,237568,302,0,306,237568,0,0,0,0,0,0,0,0,0,0,0,0,0,643,0,0,4268032,98304,307,0,0,0,0,0,0,0,0,0,0,0,0,0,661,0,0,4210979,24578,3,0,0,297,0,0,0,0,297,0,0,0,0,0,0,0,3685,0,0,0,3688,3689,0,0,0,0,0,245760,245760,245760,0,0,0,0,139264,147456,245760,245760,0,0,245760,0,4210979,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1164,1297,0,0,0,0,0,0,1304,0,0,0,0,0,2859,0,0,0,0,0,0,0,0,0,2867,368,368,0,0,0,303104,0,0,0,0,0,0,0,0,0,0,647,0,0,0,0,528,1158,0,4857856,4874240,0,0,4923392,0,0,0,0,0,0,0,0,0,379,0,0,0,0,371,0,4358144,4358144,4358144,4358144,0,1984,0,0,0,4825088,0,0,0,0,0,0,0,1253,0,0,0,0,0,0,0,0,2399,2400,0,0,2402,0,0,0,0,0,262144,262144,262144,0,0,0,0,0,0,0,0,0,0,0,0,3449,0,0,0,0,0,262144,262144,0,262144,0,0,0,139264,147456,262144,0,0,0,0,0,0,2344,2345,0,0,0,0,0,0,0,0,798,0,0,0,0,0,809,0,0,0,262144,0,262738,262738,262738,262738,262738,262738,262738,262738,262738,262738,262738,262738,262738,0,262738,0,0,262738,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1177,0,0,0,0,0,0,0,0,0,0,0,4086,528,528,528,528,0,270336,0,0,0,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5177344,278528,278528,0,0,131072,278528,0,0,0,0,278528,0,0,0,0,278528,278528,278528,278528,278528,278528,278528,278528,278528,278528,278528,278528,278528,278528,0,278528,0,0,278528,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1205,1206,0,0,0,0,0,368,368,0,0,0,0,0,0,0,0,0,0,0,712,0,0,0,0,1,24578,3,0,0,4366336,0,0,0,0,0,302,638,0,0,0,0,1218,0,0,0,0,1223,0,0,0,0,0,0,0,1752,0,0,0,1755,0,0,1758,0,4268032,306,641,0,0,0,0,0,0,0,0,0,0,0,0,0,662,0,0,528,0,1430,0,0,0,0,0,4857856,4874240,0,0,0,0,0,0,0,0,3686,0,0,0,0,0,0,0,0,3826,0,3675,0,0,0,0,0,0,6275072,0,0,0,0,0,0,0,0,0,0,0,1525,0,0,0,0,0,3675,4004,0,0,0,0,0,0,0,528,528,4209,528,4210,528,528,528,528,528,1,24578,3,0,0,0,0,0,0,0,0,0,0,0,286720,303,0,307,286720,0,0,0,0,0,0,0,0,0,0,0,0,0,663,0,792,0,307,0,0,0,0,0,0,307,139264,287139,0,0,0,307,0,0,0,0,1234,0,0,0,0,0,0,0,0,0,0,0,2414,0,0,0,0,0,307,1,24578,3,0,0,4366336,0,0,0,0,0,302,66175,0,0,0,0,1250,0,0,0,1255,0,0,0,0,0,0,0,661,0,0,0,0,0,0,0,0,378,0,363,0,0,0,0,0,4268032,306,98946,0,0,0,0,0,0,0,0,0,0,0,0,0,728,0,0,0,0,122880,0,4268032,0,0,0,0,0,0,0,0,0,0,0,0,2310144,0,0,0,0,307,4857856,4874240,0,0,4923392,0,0,0,0,0,0,0,0,0,528,528,3699,528,528,528,528,1,24578,3,0,0,0,0,0,0,0,0,0,0,0,0,304,0,304,0,304,304,304,295216,304,304,304,295216,295216,304,295216,304,304,131072,304,304,304,304,304,295216,304,304,304,304,295216,304,304,304,304,295286,295216,295216,295216,295216,295216,295216,304,304,304,304,304,0,0,304,304,295216,304,304,304,304,304,304,304,304,304,304,304,304,369,304,0,295216,304,295286,295216,295216,295216,304,304,304,295286,139264,147456,295216,295216,304,304,295216,295216,295216,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,295216,295286,295286,295286,295286,295286,295286,295286,295286,295286,295286,295286,295286,295286,295216,295216,295216,295216,295216,304,304,304,295216,304,304,304,304,304,304,304,295216,374,304,304,304,304,304,304,304,295216,304,295216,295216,295216,295216,295216,295216,295216,295216,295286,295286,295286,295286,295286,295286,295216,295216,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1267,0,0,0,0,0,0,0,0,0,0,0,3170,0,0,0,0,0,0,0,6275072,0,0,0,0,0,0,0,4399804,4399804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4399804,0,0,319488,0,0,0,0,0,0,319488,319488,0,0,0,0,0,0,0,3696,0,528,528,528,528,528,528,528,528,528,528,528,3849,528,528,528,319488,0,0,0,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,319488,0,24578,3,0,0,4366336,253952,0,0,0,0,302,303,0,0,0,0,1282,0,0,0,0,0,0,0,0,0,0,0,1241,0,0,0,0,368,425984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4399805,0,0,0,6275072,0,0,0,0,0,0,0,368,0,0,0,0,0,0,2357,0,0,0,0,0,0,0,0,0,3461,0,0,0,0,0,0,0,327680,327680,327680,0,0,0,0,0,0,0,0,0,0,327680,327680,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,327680,327680,327680,327680,327680,335872,327680,327680,327680,335872,327680,327680,327680,327680,327680,327680,49723,0,0,0,0,0,0,0,49723,49723,0,0,0,0,0,0,0,1270,0,0,0,0,0,0,0,0,0,5627904,5652480,0,5701632,0,0,0,0,0,6275072,0,0,0,0,0,0,0,0,0,0,49152,990,0,0,0,0,0,3683,0,0,0,0,0,0,0,3690,0,0,0,0,0,3836,0,0,0,0,0,0,0,0,0,0,5242880,0,0,0,0,0,0,0,5341184,0,0,0,0,0,344064,344064,344064,0,0,0,0,0,0,0,0,0,0,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,344064,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,352256,352256,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1309,0,0,0,0,0,0,0,0,1315,0,0,0,0,371,0,0,0,0,0,0,0,0,0,0,0,3438,0,0,3440,0,1,292,3,0,0,0,298,0,0,0,0,0,0,0,0,0,528,3698,528,528,528,3701,528,0,360448,360448,360448,0,0,0,0,0,0,0,0,0,0,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,360448,1,0,3,155942,155942,296,0,636,0,0,0,302,303,0,1230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,528,528,1376,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2460,528,0,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60322,57943,57943,57943,57943,59004,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,57893,3998,0,4e3,528,528,528,528,58773,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,57916,57916,57916,57916,57916,528,528,528,2437,528,528,528,528,528,528,528,528,528,528,528,528,528,2446,528,2448,0,0,0,57893,57893,57893,57893,57893,57893,57893,59856,57893,57893,57893,57893,57893,57893,60873,57893,57893,57893,57893,57893,57893,57893,57893,57893,61213,57893,57893,57893,57893,61214,61215,57893,57893,57893,57893,60300,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,0,0,0,0,60432,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,0,0,0,3191,0,0,0,0,0,0,0,0,0,0,0,0,319,0,0,0,0,0,0,3682,0,0,0,0,0,0,0,0,0,0,0,0,338,0,0,0,528,57893,61069,57893,57893,57893,61072,57893,57893,57893,57893,57893,57893,57893,57893,57893,58331,0,57916,57916,57916,57916,57916,61080,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59358,61101,57916,57916,57916,57916,57916,57916,57916,57916,57916,61109,57916,57916,57916,57916,57916,57916,60360,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,60707,57943,57943,57943,57943,57943,57943,57943,57943,57943,61138,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59568,57943,57943,57943,528,528,3852,3853,528,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,58291,57893,57893,57943,57943,57943,61251,57943,57943,57943,57943,61252,61253,57943,57943,57943,57943,57943,57943,57943,58468,57943,57943,57943,57943,528,528,528,898,0,0,3675,0,0,3929,0,0,0,0,0,0,0,0,0,0,695,0,0,0,0,368,528,528,57893,57893,57893,57893,57893,57893,61299,57893,57893,57893,57893,57893,57893,61305,57893,57893,57893,61309,57893,57916,57916,57916,57916,57916,57916,61315,57916,57916,57916,57916,57916,57943,57943,61128,57943,57943,57943,57943,57943,57943,57943,57943,57943,60066,57943,57943,57943,57943,57943,57943,57916,57916,61321,57916,57916,57916,61325,57916,57943,57943,57943,57943,57943,57943,61331,57943,528,1951,528,2283,528,57893,59394,57893,59632,57893,2290,0,2291,0,0,0,0,0,417792,0,417792,0,0,0,0,310,0,0,0,0,0,316,0,0,0,0,0,0,0,0,0,0,1328,0,0,0,0,0,528,528,57893,57893,57893,57893,61511,57893,57893,57893,57893,57893,57893,57893,57893,57893,58826,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,61524,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,60024,57943,60026,57943,57943,57943,57943,57943,61537,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,0,0,4244,528,528,528,57893,57893,57893,57893,57916,57916,57916,57916,57943,57943,57943,57943,0,0,0,0,1310,0,0,0,0,0,0,0,0,0,1316,1269,0,528,528,57893,57893,57916,57916,57943,57943,0,528,57893,57916,57943,0,528,57893,57916,57943,0,528,57893,57916,57943,0,0,0,0,376832,376832,376832,0,0,0,0,0,0,0,0,0,0,0,0,346,0,0,0,0,420,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1731,0,0,0,0,0,0,0,0,0,0,0,648,0,0,0,0,0,0,0,0,4268780,0,0,0,0,0,0,0,0,0,0,0,0,6119424,0,6168576,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0,354,355,356,0,0,393685,393685,393685,0,0,0,0,0,0,0,0,0,0,0,0,368,0,0,245760,0,0,475136,0,0,0,0,0,0,0,0,0,0,0,0,0,761,0,0,305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411,0,421,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,1731,0,0,0,0,1738,0,1740,0,0,0,0,0,0,3180,0,0,0,0,0,0,0,0,0,352256,0,352256,352256,0,0,0,305,306,307,0,0,0,0,0,0,0,0,0,0,0,0,0,1185,0,0,0,0,0,748,421,0,0,0,0,0,0,0,0,0,0,0,337,0,0,0,0,57916,0,0,0,748,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,528,3413,57893,57893,60760,1725,0,0,0,1731,1732,0,0,0,0,0,0,0,0,0,0,741,0,0,0,0,0,0,0,0,1252,1825,0,0,0,0,1259,1259,0,0,0,0,0,0,0,4083,0,4085,0,528,528,528,528,528,528,528,528,528,528,3848,528,528,528,528,0,0,2293,1732,2294,0,0,0,0,0,0,0,0,0,0,0,368,368,1212,0,0,528,528,2499,2932,0,0,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59860,528,528,528,2932,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,0,2592,0,0,417792,0,0,0,0,417792,0,0,0,0,0,310,0,310,0,0,0,0,0,4151,4152,4153,528,528,528,4156,528,4158,528,528,0,0,0,0,0,0,57893,57893,57893,57893,57893,57893,57893,60283,417792,417792,0,0,417792,417792,417792,417792,417792,417792,417792,417792,417792,417792,417792,417792,418102,417792,417792,418101,418102,417792,417792,418101,417792,418101,417792,0,417792,0,0,0,0,417792,0,0,0,0,0,0,0,0,0,0,0,310,310,310,0,418101,417792,1,24578,3,0,0,4366971,0,0,0,0,0,302,303,311296,4399805,0,0,0,311296,0,0,0,0,0,0,0,0,0,0,800,0,0,0,0,0,0,0,0,4268032,306,307,0,434176,0,0,0,0,0,0,0,0,0,0,0,381,0,384,0,0,0,0,0,6275072,0,0,0,0,0,0,0,0,4399805,0,0,0,0,0,363,0,0,0,0,0,0,368,0,296,0,0,914,913,913,913,913,913,4858769,4875153,913,913,913,913,913,913,913,913,913,5628817,5653393,913,5702545,913,913,913,913,5448593,913,5464977,913,5481361,5563281,913,913,913,5637009,913,5686161,913,913,5751697,913,6275985,913,913,913,913,913,913,913,913,913,0,0,990,989,989,989,989,6087645,4817809,4359057,4359057,4359057,4359057,6087569,0,5087232,0,5931008,4358144,989,989,5260253,989,989,989,989,989,989,989,989,5415901,989,5448669,989,5465053,989,5481437,5563357,989,989,989,5637085,989,5686237,989,989,5751773,989,989,989,989,989,989,6300637,989,989,989,989,989,989,989,989,989,989,5112797,989,989,989,989,989,989,5874653,989,989,989,989,989,989,989,989,989,989,989,6276061,989,989,989,4858845,4875229,989,989,989,989,989,989,989,989,989,989,989,989,989,5178333,989,989,4359057,5637009,4359057,5686161,4359057,4359057,5751697,4359057,4359057,4359057,4359057,4359057,5874577,4359057,4359057,4359057,4359057,5186449,4359057,5235601,5301137,4359057,4359057,5407633,5530513,4359057,4359057,4359057,4359057,4359057,6300561,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,5112721,4359057,4359057,4359057,4359057,989,989,5809041,4359057,4359057,4359057,4826001,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,5178257,4359057,4359057,4359057,4359057,4359057,5243793,4359057,4359057,4359057,4359057,4359057,4359057,4359057,5342097,4359057,4359057,4359057,4359057,4359057,4359057,5415825,4359057,5448593,4359057,5464977,4359057,5481361,5563281,4359057,4359057,0,0,0,913,913,913,913,913,913,913,913,913,913,913,4932497,4940689,913,913,6464401,0,0,0,0,989,989,989,989,989,989,989,989,989,4998109,989,989,5039069,989,989,989,5096413,989,5456861,989,989,989,989,989,5555165,5571549,5579741,5620701,5669853,989,989,989,5792733,5817309,989,5858269,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,4359057,4359057,4359057,6120413,989,6169565,989,989,989,989,989,6243293,989,6292445,989,6317021,989,989,989,989,989,5071837,989,989,989,989,989,989,989,5219293,989,5268445,4359057,4359057,4932497,4940689,4359057,4359057,4359057,4359057,4359057,4359057,5055377,4359057,4359057,4359057,4359057,4359057,4359057,6054801,4359057,4359057,4359057,0,0,0,0,5193728,0,4359057,5456785,4359057,4359057,4359057,4359057,4359057,5555089,5571473,5579665,5620625,5669777,4359057,4359057,4359057,5792657,5817233,4359057,5858193,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,0,5013504,0,6120337,4359057,6169489,4359057,4359057,4359057,4359057,4359057,6243217,4359057,6292369,4359057,6316945,4359057,4359057,4359057,5194641,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4907008,0,5079040,6094848,6430720,6438912,0,0,0,0,0,0,4785041,913,913,913,4850577,913,913,913,913,913,913,5055377,913,913,913,913,913,913,913,913,5211025,5489553,913,913,913,913,913,913,913,913,913,5800849,913,913,5882769,913,913,913,913,5219217,913,5268369,913,913,5309329,5317521,913,913,913,5432209,913,913,913,6333329,913,913,913,6390673,913,913,6431633,6439825,0,0,0,0,0,0,0,393685,0,393685,393685,393685,393685,393685,393685,393685,393685,393685,393685,393685,393685,393685,393685,0,393685,0,4785117,989,989,989,4850653,989,989,989,989,989,4916189,989,4957149,4973533,989,989,989,6030301,989,989,989,989,6161373,989,989,989,989,989,989,989,6325213,4359057,4359057,5006225,4359057,4359057,4359057,5120913,5137297,989,989,5309405,5317597,989,989,989,5432285,989,5489629,989,989,989,989,989,989,5325789,5374941,5538781,5546973,5587933,5735389,5972957,989,6046685,989,6104029,989,989,989,6185949,989,989,989,6284253,989,989,6333405,989,989,989,6390749,989,989,6431709,6439901,4785041,4359057,4359057,4359057,4850577,4359057,4359057,4359057,4359057,4359057,4916113,4359057,4358144,4358144,4358144,4358144,4358144,913,913,913,913,913,0,0,0,0,0,0,0,319488,0,0,0,0,0,0,0,0,0,0,319488,0,4957073,4973457,4359057,4359057,4359057,4359057,4359057,4359057,5071761,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,6275985,4359057,4359057,4359057,4359057,4359057,4359057,4359057,5219217,4359057,5268369,4359057,4359057,5309329,5317521,4359057,4359057,4359057,5432209,4359057,5489553,4359057,4359057,4359057,5211025,4359057,4359057,4359057,4359057,5292945,4359057,4359057,4359057,4359057,5366673,4359057,4359057,4359057,4359057,6390673,4359057,4359057,6431633,6439825,4358144,4358144,4358144,6266880,6488064,913,913,913,6267793,6488977,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,730,4358144,4358144,4358144,0,0,913,913,4842385,913,913,913,4899729,913,913,913,913,913,913,913,6103953,913,913,913,6185873,913,913,913,6284177,913,913,5473169,5522321,913,913,913,913,5596049,5710737,5718929,913,5825425,5866385,913,913,913,913,5243793,913,913,913,913,913,913,913,5342097,913,913,913,0,0,989,989,989,4826077,989,989,989,989,989,989,989,0,913,4359057,4359057,4359057,4359057,4359057,4858769,4875153,5923729,913,913,6022033,913,6038417,913,913,6079377,6112145,913,6177681,6210449,913,6235025,913,913,913,913,6243217,913,6292369,913,6316945,913,913,913,913,913,913,913,4998033,913,913,5038993,913,913,913,5096337,5104529,5284829,989,989,989,989,5473245,5522397,989,989,989,989,5596125,5710813,5719005,989,5825501,5866461,989,989,5923805,989,989,6022109,989,6038493,989,989,6079453,6112221,989,6177757,6210525,989,6235101,989,989,989,989,989,989,989,4359057,4359057,4842385,4359057,4359057,4359057,4899729,4359057,5284753,4359057,4359057,4359057,4359057,5473169,5522321,4359057,4359057,4359057,4359057,5596049,5710737,5718929,4359057,4359057,4359057,6103953,4359057,4359057,4359057,6185873,4359057,4359057,4359057,6284177,4359057,4359057,6333329,4359057,4359057,4923392,4358144,4358144,4358144,4358144,4358144,913,4924305,913,913,913,913,4366336,0,0,0,0,1779,0,0,0,0,0,0,0,0,0,0,0,3156,0,3157,0,0,5825425,5866385,4359057,4359057,5923729,4359057,4359057,6022033,4359057,6038417,4359057,4359057,6079377,6112145,4359057,6177681,6210449,4359057,6235025,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4358144,4358144,4358144,913,913,913,913,913,5194641,913,913,913,913,913,913,913,913,913,913,988,989,989,989,989,989,4358144,4358144,6029312,4358144,4358144,4358144,4358144,6160384,4358144,4358144,4358144,4358144,4358144,4358144,6406144,913,913,913,913,6325137,989,989,5006301,989,989,989,5120989,5137373,989,989,989,989,989,6226909,4359057,5063569,4359057,4359057,4359057,4359057,4359057,6226833,0,6086656,913,913,5202833,913,913,913,913,913,913,913,913,913,913,913,5890961,913,913,913,5555089,5571473,5579665,5620625,5669777,913,913,913,5792657,5817233,913,5858193,913,913,913,913,5292945,913,913,913,913,5366673,913,913,913,5456785,913,913,913,913,913,6308753,913,913,6357905,6382481,6398865,4801501,4809693,989,989,4891613,913,913,6030225,913,913,913,913,6161297,913,913,913,913,913,913,913,6407057,5104605,989,989,5202909,989,989,989,989,989,989,989,989,989,989,989,5891037,6407133,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4998033,4359057,4359057,5038993,4359057,4359057,4359057,5325713,5374865,5538705,5546897,5587857,5735313,5972881,4359057,6046609,4359057,6071185,4359057,4359057,5096337,5104529,4359057,4359057,5202833,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4358144,4358144,4358144,4358144,5890961,4359057,4359057,4359057,6030225,4359057,4359057,4359057,4359057,6161297,4359057,4359057,4359057,4359057,4359057,4359057,5800849,4359057,4359057,5882769,4359057,4359057,4359057,4359057,4359057,4359057,5628817,5653393,4359057,5702545,4359057,4359057,5809041,4359057,4359057,4359057,4359057,6407057,4358144,4358144,4358144,913,913,913,4890624,0,0,0,0,0,0,0,0,327680,0,0,0,0,0,0,0,0,319488,0,0,0,0,319488,0,319488,6397952,4801425,4809617,913,913,4891537,913,4948881,913,913,913,5047185,913,913,913,913,913,913,913,6300561,913,913,913,913,913,913,913,913,913,913,913,913,6120337,913,6169489,913,5186449,913,5235601,5301137,913,913,5407633,5530513,913,913,913,913,5899153,913,913,913,913,913,913,6054801,913,913,913,989,989,5014493,989,989,989,989,989,5194717,989,989,989,989,989,989,989,989,4359057,4359057,989,4948957,989,989,989,5047261,989,989,989,989,5186525,989,5235677,5301213,989,989,989,5211101,989,989,989,989,5293021,989,989,989,989,5366749,989,989,989,5243869,989,989,989,989,989,989,989,5342173,989,989,989,989,989,989,6464477,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,6325137,5914624,5915537,0,0,0,5407709,5530589,989,989,989,989,5899229,989,989,989,989,989,989,989,989,6308829,989,989,6357981,6382557,6398941,4801425,4809617,4359057,4359057,4891537,4359057,4948881,4359057,4359057,4359057,5047185,5899153,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,6308753,4359057,4359057,6357905,6382481,6398865,5021696,4358144,4358144,5022609,913,913,0,4980736,0,0,0,0,0,5373952,5734400,6045696,0,0,0,0,1792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114688,0,5537792,5545984,5734400,5971968,4358144,6045696,4358144,6070272,4358144,4358144,4358144,6348800,913,4866961,4883345,913,913,4916113,913,4957073,4973457,913,913,913,913,913,913,5071761,913,913,913,913,913,913,5260177,913,913,913,913,913,913,913,913,5415825,4981649,913,913,913,913,913,913,913,913,5325713,5374865,5538705,5546897,5587857,5735313,5972881,913,6046609,913,6071185,913,913,913,913,6349713,989,4867037,4883421,989,4981725,989,989,989,5800925,989,989,5882845,989,989,989,989,989,989,989,989,989,5628893,5653469,989,5702621,989,989,989,989,6071261,989,989,989,989,6349789,4359057,4866961,4883345,4359057,4981649,4359057,4359057,4359057,4359057,4359057,4359057,6464401,4358144,4358144,4358144,4358144,4358144,913,913,913,913,913,913,913,913,913,913,913,913,913,913,913,913,5178257,913,4359057,4359057,6349713,4358144,6144e3,913,6144913,0,4988928,5005312,0,0,0,0,5775360,0,0,0,0,1795,0,0,1798,0,1800,0,0,0,0,0,1806,4358144,6324224,913,913,5006225,913,913,913,5120913,5137297,913,913,913,913,913,913,913,5112721,913,913,913,913,913,5284753,913,913,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6053888,4358144,4358144,913,913,5014417,913,913,913,913,913,5874577,913,913,913,913,913,913,913,913,913,913,913,913,913,989,989,989,4358144,6094848,913,4907921,913,5079953,913,5227409,913,5743505,913,913,913,6095761,913,989,989,4932573,4940765,989,989,989,989,989,989,5055453,989,989,989,989,989,989,6054877,989,989,989,4359057,4359057,5014417,4359057,4359057,4359057,4907997,989,5080029,989,5227485,989,5743581,989,989,989,6095837,989,4359057,4907921,4359057,5079953,4359057,5227409,4359057,5743505,4359057,4359057,4359057,6095761,4359057,5062656,0,0,0,0,0,4358144,4358144,0,913,913,913,913,913,913,0,0,0,0,0,0,0,0,4956160,4964352,0,0,0,0,0,0,0,0,4816896,4358144,4358144,4358144,4358144,6086656,4817809,913,913,913,913,6087569,4817885,5332992,5980160,4358144,913,5333905,5981073,913,989,5333981,5981149,989,4359057,5333905,5981073,4359057,0,0,0,0,1811,0,0,0,0,0,0,0,0,0,1820,0,0,0,0,1825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,528,5439488,5128192,4358144,5129105,913,5129181,989,5129105,4359057,0,4358144,913,989,4359057,0,4358144,913,989,4359057,6004736,6004736,6005649,6005725,6005649,0,0,0,450560,450560,0,0,0,0,0,0,0,0,0,0,0,0,0,0,375,0,450560,450560,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1876,1877,0,0,0,0,0,0,0,0,0,0,1867,0,0,1870,0,0,0,0,0,196608,0,0,0,106496,0,0,4284416,0,0,0,0,0,0,0,417792,0,0,417792,0,0,417792,0,417792,0,0,0,0,139264,147456,417792,0,0,0,417792,196608,0,0,5816320,6291456,0,0,0,0,0,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,303,0,0,307,0,0,0,4956160,4964352,0,0,0,0,0,0,0,466944,0,0,0,0,0,0,0,0,0,5480448,0,0,0,0,0,0,6430720,6438912,914,0,0,0,914,0,4784128,0,0,0,4849664,0,0,0,0,0,648,0,0,0,0,0,0,818,0,0,0,0,0,658,659,0,0,0,0,0,0,0,0,0,1272,0,0,0,0,0,0,0,0,6332416,0,0,0,6389760,0,0,6430720,6438912,990,0,0,0,990,4358144,4358144,4358144,914,0,0,0,4841472,0,0,0,4898816,0,0,0,0,0,0,2383,0,0,0,0,0,0,0,0,0,2825,0,0,0,0,0,0,0,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459222,459379,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1887,0,1889,1865,528,528,528,528,528,528,528,528,3516,528,528,3519,528,528,528,60866,4358144,4358144,483328,0,0,0,0,0,0,0,0,0,0,0,0,0,1243,0,0,1,24578,3,0,0,0,0,507904,0,0,0,507904,0,0,0,0,0,0,2398,0,0,0,0,0,0,0,0,0,49723,0,0,0,0,0,327680,0,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,507904,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,2084,0,0,0,4825088,0,0,0,0,0,0,0,0,3423,0,0,0,0,0,0,0,0,3460,0,0,0,0,0,3465,0,4268032,306,307,0,0,442368,0,0,0,0,0,0,0,0,0,0,1168,1167,0,0,0,0,0,0,0,229376,0,491520,524288,0,0,0,0,0,0,0,0,0,678,0,0,0,0,0,0,4358144,4358144,491520,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,0,1277,1,24578,3,0,0,0,0,0,516096,0,0,0,516096,0,0,0,0,0,0,0,0,0,0,0,0,368,0,296,0,0,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,516567,1,24578,0,0,0,4366336,0,0,548864,0,0,302,303,0,0,0,0,2306,0,0,0,0,0,0,0,0,0,0,0,0,5627904,0,0,0,4268032,306,307,409600,0,0,0,0,0,0,0,0,0,0,0,0,368,0,308,0,0,0,5513216,5783552,0,40960,0,0,0,0,0,0,0,0,4358144,4358144,4358144,4358144,4358144,5193728,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4907008,0,5079040,6094848,1,24578,4227365,0,0,0,0,0,0,299,0,0,0,299,0,0,0,0,0,245760,0,245760,245760,0,0,0,245760,245760,0,0,0,0,0,0,245760,0,0,0,245760,0,0,245760,245760,245760,0,0,540672,0,0,540672,0,0,0,540672,0,0,0,0,0,0,0,540672,0,0,0,0,0,0,0,0,417792,0,0,0,417792,0,0,0,0,0,1,24578,4227365,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,2328,0,0,0,0,2332,0,0,0,0,0,0,0,1879,0,0,0,0,0,0,0,0,768,0,0,771,0,0,0,0,0,0,499712,0,0,0,0,0,0,0,0,0,0,0,0,0,1291,0,0,0,0,499712,0,0,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5111808,4358144,4358144,4358144,4358144,4358144,5283840,4358144,4358144,4358144,4358144,4358144,499712,0,0,0,0,0,0,0,0,0,0,0,0,0,1314,0,0,0,0,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,2355,0,0,0,0,0,0,0,0,0,0,0,1882,0,0,0,0,1,24578,3,155942,296,0,0,0,0,0,0,0,0,0,0,0,528,4087,528,4088,528,528,57893,528,57893,528,528,57893,528,528,57916,57893,528,528,57893,57893,57893,0,0,0,0,0,0,3821,0,0,0,0,57916,57893,57893,57893,57893,57893,57893,57893,57916,57916,57893,57893,57943,57893,57893,57893,0,0,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61529,57916,57916,57916,57943,57943,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60631,0,0,2293,0,2294,0,0,0,0,0,0,0,0,0,0,0,664,0,0,0,0,3453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,744,1825,0,0,0,0,0,0,0,0,0,0,0,2373,0,0,0,0,0,674,0,0,0,0,0,0,0,0,0,0,1182,0,0,0,0,0,0,0,1280,0,0,0,0,0,0,0,0,0,0,0,0,0,1788,0,0,528,57894,528,57894,528,528,57894,528,528,57917,57894,528,528,57894,57894,57894,57894,57944,57944,57894,57894,57894,57894,57944,57944,57894,528,57894,57894,57917,57894,57894,57894,57894,57894,57894,57894,57917,57917,57894,57894,57944,57894,57894,57894,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,1,24578,3,155943,296,0,0,0,0,0,0,0,0,0,0,0,740,661,0,0,528,0,573440,573440,573440,0,0,0,0,0,0,0,0,0,0,0,0,368,0,516096,0,0,0,5988352,0,0,6135808,6307840,0,5996544,4800512,0,6356992,3675,0,0,0,0,0,694,0,0,0,787,0,0,0,0,806,0,0,0,1,24578,3,0,0,4366336,0,0,0,0,0,637,303,0,0,0,0,2381,0,0,0,0,0,0,0,0,0,0,0,344064,0,0,0,0,4268032,640,307,0,0,0,0,0,0,0,0,0,0,0,0,0,1804,0,0,581632,0,0,0,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,581632,0,581632,0,0,0,0,0,0,0,0,0,0,0,581632,0,581632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,746,581632,581632,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,2397,0,0,0,0,0,0,0,0,0,0,0,1225,0,0,0,0,6258688,6447104,0,0,6127616,0,6348800,5906432,0,5537792,3827,4882432,0,0,0,0,0,0,2784,0,0,0,0,0,0,0,0,0,139264,147456,0,0,0,420,0,0,0,3926,0,0,0,0,0,0,5693440,0,6496256,5144576,5136384,0,5914624,0,0,5513216,5783552,0,3926,0,0,0,0,0,0,0,0,4358144,4358144,0,0,0,0,0,0,0,0,0,0,302,0,0,306,0,0,0,0,0,0,306,237983,147456,0,0,0,306,0,0,311,312,0,0,0,0,0,0,0,0,0,0,0,0,0,1819,0,0,312,0,311,311,312,0,0,0,0,0,0,0,0,0,0,0,311,409,312,0,458,472,472,472,485,485,485,485,485,485,485,485,485,506,485,485,485,485,485,524,485,485,485,524,485,485,485,485,485,485,529,57895,529,57895,529,529,57895,529,529,57918,57895,529,529,57895,57895,57895,57895,57945,57945,57895,57895,57895,57895,57945,57945,57895,529,57895,57895,57918,57895,57895,57895,57895,57895,57895,57895,57918,57918,57895,57895,57945,57895,57895,57895,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,306,307,0,0,0,0,0,645,0,0,648,649,0,0,0,0,0,736,0,0,0,0,0,0,0,0,0,745,368,368,0,0,704,0,0,0,0,0,0,0,711,0,0,0,0,0,750,0,0,0,0,645,0,0,0,0,0,0,0,6299648,0,0,0,0,0,0,0,0,0,777,0,0,781,0,0,0,0,0,0,0,789,0,0,0,0,0,0,2807,0,0,0,0,0,0,0,0,0,2310,0,0,0,0,0,0,793,0,0,0,0,0,0,0,797,0,0,0,0,0,0,0,0,557056,557056,0,0,0,0,0,0,0,833,793,0,0,0,0,0,837,838,0,0,0,0,793,528,528,0,57893,57893,57893,57893,57893,57893,155942,1151,0,0,1155,0,0,0,0,2295,0,1160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1759,528,847,851,528,528,863,528,528,528,879,528,884,528,892,528,895,528,528,909,528,57893,57893,57893,58266,58270,57893,57893,58282,57893,57893,57893,58298,57893,58303,57893,58311,57893,58314,57893,57893,58328,57893,0,57916,57916,57916,58342,58346,57916,57916,58358,57916,57916,57916,58374,57916,58379,57916,58387,57916,58390,57916,57916,58404,57916,0,0,0,0,58303,57943,57943,57943,58417,58421,57943,57943,58433,57943,57943,528,528,528,57893,57893,57893,0,0,3655,0,3657,0,0,0,0,0,2356,0,2358,0,0,0,0,0,0,0,0,0,5693440,0,6496256,5144576,5136384,0,5914624,57943,58449,57943,58454,57943,58462,57943,58465,57943,57943,58479,57943,847,851,1141,895,1159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,747,0,0,0,1320,0,0,0,0,0,0,0,0,0,0,0,0,368,302,0,0,528,528,528,1411,528,528,528,528,528,528,528,528,528,528,528,528,528,2470,528,528,0,0,1809,0,0,0,0,0,0,0,0,0,0,0,0,0,1842,0,0,1832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1201,1885,0,0,1886,0,0,0,0,528,528,528,528,528,528,528,528,528,528,3225,528,528,528,1899,528,528,528,528,528,528,528,528,528,1912,528,528,528,0,0,57893,60609,57893,57893,57893,57893,57893,57893,57893,57893,57893,61085,57893,57893,57893,57893,57893,57893,528,528,528,528,58773,1985,57893,57893,57893,57893,57893,59336,57893,57893,57893,57893,57893,58822,57893,57893,57893,57893,58827,57893,57893,57893,57893,57893,58319,57893,57893,57893,57893,0,57916,57916,58341,57916,57916,57893,59342,57893,57893,57893,57893,57893,57893,57893,57893,57893,59355,57893,57893,57893,57893,57893,58859,57893,57893,57893,58866,57893,50676,58773,990,57916,57916,59442,57916,57916,57916,57916,57916,57916,57916,57916,57916,59455,57916,57916,57916,57916,57916,57916,60387,57916,57916,57916,57916,57916,57916,60394,57916,57916,57916,57916,57916,57916,59514,57916,57916,57916,57916,57916,57916,59520,57916,57916,57916,57916,57916,57943,61127,57943,57943,57943,61130,57943,57943,57943,57943,57943,57943,57943,60968,57943,57943,57943,57943,57943,57943,57943,57943,57943,60721,57943,57943,57943,57943,57943,57943,57943,57943,57943,59610,57943,57943,57943,57943,57943,57943,59616,57943,57943,57943,57943,57943,57943,57943,60982,60984,57943,57943,57943,57943,60988,57943,60990,0,0,2293,0,2294,0,0,0,0,0,0,0,0,0,2300,0,0,0,0,2806,0,0,0,0,0,2811,0,2813,2814,0,0,0,0,0,483328,0,0,0,0,0,0,0,0,0,0,801,0,0,0,0,0,0,2325,0,0,0,0,0,0,0,0,0,2334,0,0,0,0,0,0,2822,0,0,0,0,0,0,0,0,0,769,0,0,0,774,0,0,0,2407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,702,528,2399,528,528,528,528,528,528,528,528,528,528,528,2429,528,528,2432,528,528,2475,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2471,528,57893,57893,59863,57893,57893,57893,57893,57893,57893,59871,57893,57893,57893,57893,57893,57893,0,0,57916,57916,57916,57916,57916,57916,57916,57916,60351,57916,57916,57916,57916,57916,57916,57893,59891,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60640,57916,57916,57916,59949,57916,57916,59952,57916,57916,57916,57916,57916,57916,59960,57916,57916,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,57916,57916,60017,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,60417,57943,57943,57943,57943,57943,60032,57943,57943,60035,57943,57943,57943,57943,57943,57943,60043,57943,57943,528,528,528,57893,57893,57893,0,3654,0,0,0,0,0,0,0,1325,0,0,0,1329,0,0,0,0,57943,57943,60100,57943,57943,57943,57943,2760,528,528,528,528,60109,57893,57893,57893,0,0,0,0,57916,57916,57916,57916,57916,57916,57916,59945,57916,0,0,2781,0,0,0,0,0,0,0,0,0,0,0,0,0,1884,0,0,0,0,2794,0,0,0,0,0,2798,0,0,0,0,0,0,0,0,4784128,0,0,0,0,0,0,0,0,3181,0,0,0,0,0,3186,0,57893,60285,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60293,57893,57893,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,57943,57943,60461,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,4075,0,4076,57943,60472,57943,57943,57943,57943,57943,528,528,528,528,528,57893,57893,57893,57893,57893,0,0,0,0,0,0,0,3150,0,0,0,0,0,0,0,0,0,0,0,0,0,2299,0,0,0,3160,0,0,0,0,0,0,0,0,0,0,0,0,3173,0,0,0,0,2820,0,0,0,2824,0,0,0,0,0,0,0,703,0,0,0,0,0,0,0,0,2331,0,0,0,0,0,0,0,0,3189,0,0,0,0,0,0,0,0,0,0,0,0,3202,3203,0,0,3215,0,528,528,528,528,528,528,528,528,528,528,528,3226,528,528,3230,528,528,528,528,528,528,528,528,528,528,3239,528,528,0,0,0,0,0,0,57893,57893,60279,57893,57893,57893,57893,57893,58320,57893,57893,57893,57893,0,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,0,0,4289,0,528,60617,57893,57893,60621,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60630,57893,0,0,3137,3138,0,0,0,0,0,0,0,0,0,0,0,3199,0,0,0,0,57916,57916,57916,60666,57916,57916,60670,57916,57916,57916,57916,57916,57916,57916,57916,57916,58383,57916,57916,57916,57916,57916,57916,57916,60679,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60687,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,528,528,57893,57893,57893,57943,57943,57943,57943,60715,57943,57943,60719,57943,57943,57943,57943,57943,57943,57943,57943,57943,59582,57943,57943,57943,57943,57943,57943,57943,57943,60728,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60736,0,3430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,729,0,528,3495,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2904,528,528,528,528,3512,528,3514,528,528,528,528,528,528,528,528,57893,57893,58259,57893,57893,57893,57893,57893,57893,58292,57893,57893,60879,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59389,57893,57893,57893,57893,60897,57893,60899,57893,57893,57893,57893,57893,57893,57893,57893,57893,59399,57893,57893,57893,57893,57893,57893,57916,60921,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,60963,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60457,57943,528,4015,528,528,528,528,528,528,528,528,528,528,528,57893,61372,57893,302,306,0,0,0,0,0,0,0,0,0,0,0,0,0,1199,0,0,61374,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,61388,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,58442,61390,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,61404,57943,528,2281,528,528,528,57893,59630,57893,57893,57893,2290,0,2291,0,0,0,0,0,262144,0,0,0,0,0,0,0,0,0,0,663,0,0,666,667,0,61406,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,0,0,528,4077,0,0,0,0,0,0,0,4084,0,0,528,528,528,528,4089,0,0,4148,0,4150,528,528,528,528,528,528,528,528,528,528,528,528,1399,528,528,528,0,0,0,313,314,315,0,0,0,0,0,0,0,0,0,0,1240,0,0,0,0,0,0,0,427,0,131072,0,0,0,0,427,0,0,0,0,0,427,459,0,0,0,459,459,459,459,459,459,459,459,459,459,459,459,523,459,523,523,523,459,523,523,523,523,523,523,530,57896,530,57896,530,530,57896,530,530,57919,57896,530,530,57896,57896,57896,57896,57946,57946,57896,57896,57896,57896,57946,57946,57896,621,57896,57973,57919,57896,57896,57896,57896,57896,57896,57896,57919,57919,57896,57896,57946,57896,57896,57896,57973,57973,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,2830,0,0,0,0,0,0,0,0,0,0,0,680,681,0,0,0,57893,57893,58307,57893,57893,57893,57893,57893,57893,57893,0,57916,57916,57916,57916,57916,57916,57916,60350,57916,57916,57916,57916,57916,57916,57916,60915,57916,57916,57916,57916,57916,57916,57916,57916,58942,57916,57916,57916,57916,57916,57916,57916,57916,60389,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,58458,57943,57943,57943,57943,57943,57943,57943,528,528,528,528,528,57893,57893,57893,57893,528,528,1965,528,528,528,528,528,528,1972,528,528,528,528,528,528,528,3501,528,3503,528,528,528,528,528,528,1360,528,528,528,528,528,528,528,528,528,2887,528,2889,528,528,528,528,57893,59408,57893,57893,57893,57893,57893,57893,59416,57893,57893,57893,57893,57893,57893,57893,58823,57893,57893,57893,57893,57893,57893,57893,57893,58840,57893,57893,57893,57893,57893,57893,57893,59508,57916,57916,57916,57916,57916,57916,59516,57916,57916,57916,57916,57916,57916,57916,57916,58909,57916,57916,57916,58912,57916,57916,57916,57893,57893,57893,60286,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58814,57893,57893,57893,60408,57916,57916,57916,57943,57943,57943,57943,57943,57943,60414,57943,57943,57943,57943,60418,57943,57943,57943,60473,57943,57943,57943,528,528,528,528,528,57893,57893,57893,57893,57893,0,0,0,0,2292,528,528,528,4093,528,4095,528,528,4097,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61077,57893,57893,57893,57893,61450,57893,61452,57893,57893,61454,57893,57893,57916,57916,57916,57916,57916,57916,58879,57916,57916,57916,57916,57916,58891,57916,57916,57916,57916,57916,61464,57916,61466,57916,57916,61468,57916,57916,57943,57943,57943,57943,57943,57943,60956,57943,57943,57943,57943,57943,60960,57943,57943,57943,57943,61478,57943,61480,57943,57943,61482,57943,57943,0,0,0,0,0,0,0,1766,0,0,1769,0,0,0,0,0,320,320,428,429,131072,436,429,437,439,428,436,437,0,316,437,455,460,473,473,473,486,486,486,486,486,486,486,486,486,486,508,508,521,521,522,522,508,522,522,522,508,522,522,522,522,522,522,531,57897,531,57897,531,531,57897,531,531,57920,57897,531,531,57897,57897,57897,57897,57947,57947,57897,57897,57897,57897,57947,57947,57897,622,57972,57972,57920,57897,57897,57897,57897,57897,57897,57897,57920,57920,57897,57897,57947,57897,57897,57897,57972,57972,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,3151,0,0,0,0,0,3155,0,0,0,0,0,0,814,0,0,0,0,0,0,819,0,0,0,686,0,0,0,0,0,0,0,0,0,0,0,0,0,368,0,0,0,368,368,702,0,0,0,0,0,0,0,0,0,0,0,0,0,2315,0,0,0,0,0,734,0,0,0,0,0,0,0,0,0,0,0,0,368,303,0,0,0,823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,775,0,0,1174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,804,0,0,0,0,1216,1174,0,0,0,0,0,0,0,0,0,0,0,0,0,2336,0,0,0,0,0,1281,0,0,0,0,0,0,0,0,0,0,0,0,368,342,296,0,0,0,1295,0,0,0,0,0,0,0,0,0,0,0,0,0,2363,0,0,1307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1229,58773,914,57893,57893,58777,57893,57893,58781,57893,57893,57893,57893,57893,57893,57893,57893,58808,57893,57893,57893,57893,57893,57893,57893,58795,57893,58800,57893,57893,58804,57893,57893,58807,57893,57893,57893,57893,57893,57893,57893,58838,57893,57893,57893,57893,57893,57893,57893,57893,58841,57893,57893,57893,57893,57893,57893,57893,58872,57916,57916,58876,57916,57916,57916,57916,57916,57916,57916,57916,58890,57916,58895,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,58428,57943,57943,58444,57916,58899,57916,57916,58902,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59985,57916,57916,57916,1860,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1245,528,528,528,528,1902,528,528,528,528,528,528,528,528,528,1914,528,528,0,57893,57893,57893,57893,57893,57893,155942,1151,0,0,1156,0,0,0,0,327,327,377,0,0,0,0,0,0,0,0,0,1210,0,368,368,0,1213,0,1929,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,896,57893,57893,57893,59345,57893,57893,57893,57893,57893,57893,57893,57893,57893,59357,57893,57893,1,24578,3,155942,156282,296,0,0,0,0,0,302,303,0,57916,57916,59445,57916,57916,57916,57916,57916,57916,57916,57916,57916,59457,57916,57916,57916,57916,57916,59967,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,61474,57943,59541,57943,57943,57943,57943,57943,57943,57943,57943,57943,59553,57943,57943,57943,57943,57943,57943,57943,61152,57943,57943,57943,57943,57943,57943,57943,528,528,528,2763,2764,57893,57893,57893,60112,57943,57943,57943,59591,59592,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59601,57943,57943,57943,57893,59917,59918,59919,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58848,57893,57893,58852,57916,59989,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60002,57943,60072,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60085,57893,57893,60325,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58849,57893,57893,0,0,0,3216,528,528,528,528,528,528,528,528,528,528,528,528,528,2484,528,528,528,528,528,3243,528,528,528,528,528,528,528,528,528,528,528,528,528,2891,528,528,57893,57893,57893,57893,60634,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,2999,0,0,0,61125,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60962,528,528,4092,528,528,528,528,528,528,528,57893,61444,57893,61445,57893,57893,57893,2589,0,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,61106,57916,57916,57916,57916,57916,57916,57916,57916,59954,57916,57916,59958,57916,57916,57916,59962,57893,61449,57893,57893,57893,57893,57893,57893,57893,57893,57916,61458,57916,61459,57916,57916,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59540,57916,61463,57916,57916,57916,57916,57916,57916,57916,57916,57943,61472,57943,61473,57943,57943,528,528,1715,528,528,1718,57893,57893,59064,57893,57893,59067,1151,0,57943,61477,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,0,0,0,1814,0,0,0,0,0,0,0,0,528,1338,528,528,528,528,528,528,528,528,4291,57893,57893,57893,61637,57916,57916,57916,61639,57943,57943,57943,61641,0,0,0,0,3178,0,0,0,0,0,0,0,0,0,0,0,1312,0,0,0,0,326,327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1186,0,0,0,377,0,131072,0,0,0,440,377,0,0,445,451,0,377,461,474,474,474,487,487,487,487,487,487,487,487,487,487,509,509,509,509,509,509,509,509,509,509,509,509,509,509,509,509,532,57898,532,57898,532,532,57898,532,532,57921,57898,532,532,57898,57898,57898,57898,57948,57948,57898,57898,57898,57898,57948,57948,57898,532,57898,57898,57921,57898,57898,57898,57898,57898,57898,57898,57921,57921,57898,57898,57948,57898,57898,57898,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,1188,0,1190,1191,0,0,0,1193,1194,0,0,0,0,0,0,0,0,4997120,0,0,5038080,0,0,0,5095424,5103616,0,0,1232,1233,0,0,0,0,0,0,0,0,0,0,0,0,370,0,0,0,1263,1265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1200,0,1317,0,0,0,0,0,0,0,0,0,1303,0,0,0,1331,1193,528,528,1390,528,528,1392,528,528,528,528,1397,528,528,528,528,528,528,3500,528,528,528,528,528,528,528,528,528,528,61443,57893,57893,57893,57893,57893,58773,914,57893,57893,58778,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,2588,2999,0,0,0,58831,57893,57893,57893,57893,58836,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58811,58813,57893,57893,57893,57893,58873,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60380,57916,58900,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58928,57916,57916,58915,57916,57916,57916,57916,57916,57916,57916,58924,57916,57916,58926,57916,57916,57916,57916,57916,59980,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61530,57916,57916,57943,57943,57916,58931,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58950,57916,57916,57916,58956,57916,57916,57916,57916,0,58831,57943,57943,58967,57943,57943,57943,57943,57943,57943,60464,57943,57943,57943,57943,57943,57943,57943,57943,60470,57943,57943,57943,57943,59018,57943,57943,59020,57943,57943,57943,57943,59026,57943,57943,57943,528,528,57893,57893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2778,1963,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,901,0,0,2293,0,2294,0,0,0,0,0,2297,0,0,0,0,0,0,316,317,318,319,320,321,322,323,324,325,57893,59862,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60650,57893,59878,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58816,57893,59947,57916,57916,57916,57916,59951,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,61475,60015,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,61133,57943,60030,57943,57943,57943,57943,60034,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60723,57943,57943,57943,60098,57943,57943,57943,57943,57943,57943,528,528,528,528,528,57893,57893,57893,57893,57893,0,0,0,1729,0,0,0,0,2844,0,0,0,0,0,2849,0,0,0,0,0,0,0,1852,0,0,0,0,0,0,0,1859,0,57916,57916,57916,60347,57916,60348,57916,57916,57916,57916,57916,57916,57916,57916,57916,58385,57916,57916,57916,57916,58403,57916,0,0,3205,0,0,0,0,0,0,0,0,0,0,0,0,0,2374,0,0,528,528,528,528,3253,528,528,528,528,528,528,528,528,528,528,528,528,1926,528,528,528,57916,60688,57916,57916,57916,57916,57916,57916,57916,60694,57916,57916,57916,57916,57916,57916,58906,58908,57916,57916,57916,57916,57916,57916,57916,57916,59451,57916,57916,57916,57916,57916,57916,57916,57916,59498,57916,57916,57916,57916,57916,57916,57916,57916,60672,57916,57916,57916,57916,57916,57916,57916,57943,57943,60737,57943,57943,57943,57943,57943,57943,57943,60743,57943,57943,57943,57943,57943,57943,57943,61339,57943,57943,57943,528,57893,0,0,0,0,0,0,3671,0,0,0,0,0,0,0,0,0,0,0,0,665,0,0,668,57916,61126,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60961,57943,57916,57916,57916,61239,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60959,57943,57943,57943,57943,61258,57943,57943,528,528,57893,57893,0,0,0,0,0,0,0,0,0,0,0,0,2776,2777,0,528,528,528,528,4018,528,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,58280,57893,57893,57893,57893,57893,57893,57893,57893,61377,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,61223,57916,57916,57916,57916,57916,57916,61393,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,60025,57943,57943,57943,57943,57943,57943,57943,61409,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,4241,0,4243,528,528,528,528,528,4094,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59372,57893,57893,57893,61451,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61318,57916,57916,57916,61465,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,61244,57943,57943,57943,57943,57943,57943,61479,57943,57943,57943,57943,57943,57943,0,0,0,0,0,0,0,1865,1866,0,0,0,1869,0,0,0,0,0,328,329,330,331,0,0,0,0,0,0,0,0,0,0,1855,1856,0,1857,1858,0,0,376,0,0,0,0,0,328,376,331,375,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0,0,139264,147456,0,0,450560,0,0,0,331,0,0,0,0,0,0,376,0,0,0,0,0,0,0,0,5210112,0,5365760,0,5554176,5570560,5578752,0,462,475,475,475,488,488,488,488,499,501,488,488,499,488,510,510,510,510,510,525,510,510,510,525,510,510,510,510,510,510,533,57899,533,57899,533,533,57899,533,533,57922,57899,533,533,57899,57899,57899,57899,57949,57949,57899,57899,57899,57899,57949,57949,57899,533,57899,57899,57922,57899,57899,57899,57899,57899,57899,57899,57922,57922,57899,57899,57949,57899,57899,57899,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,670,671,0,0,0,0,0,0,0,0,0,0,0,683,684,685,0,0,0,689,0,0,0,0,0,0,0,0,0,0,368,368,0,0,0,0,0,0,707,708,0,0,0,0,0,714,0,0,0,718,0,720,0,0,0,0,0,0,727,0,0,0,0,0,1163,0,0,0,0,0,0,0,0,0,0,6152192,0,0,0,6316032,0,731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1292,778,779,0,0,0,0,0,0,0,0,788,0,790,0,0,0,0,0,1201,0,0,0,0,0,0,0,0,0,0,3675,0,0,0,3830,0,822,0,0,0,0,0,822,822,825,0,0,0,790,0,0,0,0,0,1235,0,1237,0,0,0,0,1242,0,0,0,0,0,1268,0,0,0,0,0,0,0,0,0,0,3675,0,0,3829,0,0,0,0,834,0,0,0,0,0,0,0,788,0,0,0,834,528,528,0,57893,57893,57893,57893,57893,57893,155942,1151,0,302,0,0,306,1,24578,3,0,0,4366336,0,0,0,0,0,65536,303,0,528,848,528,854,528,528,869,528,528,880,528,885,528,528,894,897,902,528,910,528,57893,57893,57893,58267,57893,58273,57893,57893,58288,57893,57893,58299,57893,58304,57893,57893,58313,58316,58321,57893,58329,57893,0,57916,57916,57916,58343,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,58430,57943,57943,57943,57943,57943,59547,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61417,57943,0,0,0,58349,57916,57916,58364,57916,57916,58375,57916,58380,57916,57916,58389,58392,58397,57916,58405,57916,0,0,0,0,58304,57943,57943,57943,58418,57943,58424,57943,57943,58439,57943,1906,528,528,528,528,59349,57893,57893,57893,57893,0,0,0,0,0,3140,0,0,3143,3144,0,0,3147,3148,0,57943,58450,57943,58455,57943,57943,58464,58467,58472,57943,58480,57943,848,528,528,1142,902,528,0,57893,58267,57893,58492,58321,57893,155942,1151,0,0,0,0,0,0,364,365,366,367,0,0,368,0,296,0,0,0,0,1176,0,0,0,0,0,0,0,1183,0,0,0,0,0,0,3165,0,0,0,0,0,0,0,0,0,139264,147456,0,0,0,421,0,0,1203,1204,0,0,0,0,1208,0,0,0,368,368,0,0,0,0,0,0,0,0,0,0,0,0,713,0,0,1231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1244,0,0,0,1248,0,0,1200,0,0,0,0,0,749,0,0,0,0,0,0,0,0,0,0,0,726,0,0,0,0,528,1347,528,528,528,528,528,528,1362,528,528,528,1367,528,528,528,528,528,2464,528,528,528,528,528,528,528,528,528,528,528,1910,528,528,528,528,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58786,57893,57893,57893,0,0,0,0,57916,57916,57916,57916,57916,57916,59944,57916,57916,57893,57893,57893,58801,57893,57893,57893,58806,57893,57893,57893,57893,57893,57893,57893,57893,58809,57893,57893,57893,57893,57893,57893,57893,57893,57893,58854,57893,57893,57893,57893,57893,57893,58865,57893,50676,58773,990,57916,57916,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59537,57943,57943,528,1351,528,1408,528,528,58790,57893,57893,58847,57893,57893,1151,0,57916,57916,57916,58901,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58391,57916,57916,57916,57916,57916,57916,58918,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58396,57916,57916,57916,57916,57916,57916,58933,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58949,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,58431,57943,57943,57943,57943,57943,60063,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60428,57943,60430,57943,57943,57943,57943,58975,57943,57943,57943,57943,57943,57943,58990,57943,57943,57943,58995,57943,2280,528,2282,528,528,59629,57893,59631,57893,57893,0,0,0,0,0,0,1298,0,0,0,0,1303,0,0,0,0,59055,57943,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,1151,1724,0,1760,0,0,1763,1764,1765,0,1767,1768,0,0,0,0,1773,0,0,0,0,3192,0,0,0,0,3197,0,0,0,0,0,0,0,2368,2369,0,0,0,0,0,0,0,692,0,0,0,0,0,0,699,368,1807,0,0,0,0,0,0,0,0,1816,1817,0,0,0,0,0,0,373,0,0,0,0,0,0,0,0,0,139264,147456,0,0,352256,0,0,0,1823,0,0,1825,0,0,0,0,0,0,0,0,1829,1830,1831,0,1870,0,0,0,1888,1740,1740,1890,528,1892,528,1893,1894,528,1896,528,528,528,1900,528,528,528,528,528,528,528,528,528,1913,528,528,0,0,0,0,0,0,57893,60278,57893,57893,57893,57893,57893,57893,0,2592,57916,57916,57916,57916,57916,57916,57916,57916,59969,57916,57916,57916,57916,57916,57916,59974,57916,528,528,1917,528,528,528,528,1921,528,1923,528,528,528,528,528,528,1393,528,1395,528,528,528,528,528,528,528,872,528,528,528,528,528,528,528,528,528,3710,528,528,528,528,528,528,528,528,528,528,1933,1934,1936,528,528,528,528,528,528,528,1944,1945,528,1947,528,528,1950,1951,528,528,528,528,528,528,528,1959,528,1961,528,1964,528,528,528,528,528,1971,528,528,1973,528,528,528,528,528,528,3855,528,528,528,528,528,57893,57893,57893,57893,57893,57893,58279,57893,57893,57893,57893,57893,528,528,528,528,58773,0,59332,57893,59334,57893,59335,57893,59337,57893,59339,57893,302,306,0,0,0,0,3141,0,0,0,3145,0,0,0,0,0,0,2832,0,0,0,0,0,0,0,0,0,2835,0,0,0,0,0,0,57893,57893,59343,57893,57893,57893,57893,57893,57893,57893,57893,57893,59356,57893,57893,57893,0,0,0,0,57916,57916,57916,57916,59942,57916,57916,57916,57916,57916,59515,57916,57916,59517,57916,57916,57916,57916,57916,57916,57916,0,57893,57943,57943,58966,57943,57943,58970,57943,57893,59360,57893,57893,57893,57893,59364,57893,59366,57893,57893,57893,57893,57893,57893,57893,58839,57893,57893,58846,57893,57893,57893,57893,57893,57893,57893,57893,59376,59377,59379,57893,57893,57893,57893,57893,57893,57893,59387,59388,57893,2770,2291,0,2771,2294,0,0,0,0,0,0,0,0,0,0,770,0,0,0,0,0,59390,57893,57893,59393,59394,57893,57893,57893,57893,57893,57893,57893,59402,57893,59404,57893,2770,2291,0,2771,2294,0,0,0,0,0,0,2775,0,0,0,0,0,784,0,0,679,0,0,0,0,0,0,0,660,661,0,0,0,0,0,0,0,384,0,139264,147456,0,406,0,0,406,59407,57893,57893,57893,57893,57893,59415,57893,57893,59417,57893,57893,57893,57893,57893,57893,0,0,57916,57916,57916,57916,60660,57916,57916,57916,57916,59443,57916,57916,57916,57916,57916,57916,57916,57916,57916,59456,57916,57916,57916,57916,57916,58878,57916,57916,57916,58882,57916,57916,58893,57916,57916,58897,59460,57916,57916,57916,57916,59464,57916,59466,57916,57916,57916,57916,57916,57916,57916,57916,59467,59468,57916,57916,57916,57916,57916,57916,57916,57916,59476,59477,59479,57916,57916,57916,57916,57916,57916,57916,59487,59488,57916,59490,57916,57916,59493,59494,57916,57916,57916,57916,57916,57916,57916,59502,57916,59504,57916,59507,57943,57943,57943,59560,57943,59562,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60987,57943,57943,57943,59572,59573,59575,57943,57943,57943,57943,57943,57943,57943,59583,59584,57943,57943,59586,57943,57943,57943,57943,57943,60731,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60081,57943,57943,57943,57943,57943,59589,59590,57943,57943,57943,57943,57943,57943,57943,59598,57943,59600,57943,59603,57943,57943,57943,57943,57943,60739,57943,57943,57943,60742,57943,60744,57943,57943,57943,57943,57943,57943,60740,57943,57943,57943,57943,57943,57943,57943,57943,57943,59023,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59611,57943,57943,59613,57943,57943,57943,57943,57943,57943,57943,57943,57943,60039,57943,57943,57943,57943,57943,57943,0,0,2293,0,2294,0,0,0,0,0,0,0,0,0,0,2301,0,0,2304,2305,0,0,0,2309,0,0,0,0,0,0,0,0,0,6406144,5357568,0,5505024,0,0,0,0,2352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1276,0,1825,0,2365,0,0,0,0,0,0,0,0,2372,0,0,2375,0,0,0,0,3217,528,528,528,528,528,528,528,528,528,528,528,528,2929,528,528,528,0,2378,0,0,0,0,0,0,2385,0,2387,0,0,0,0,0,0,403,0,0,0,0,0,0,0,0,332,333,0,0,0,0,0,0,0,0,334,335,336,0,0,0,0,0,0,0,0,2396,0,0,0,0,0,0,0,0,0,0,0,0,697,698,0,368,2406,0,0,0,0,0,0,0,0,0,0,0,0,0,2417,0,0,0,0,3433,0,0,0,0,0,0,0,0,0,0,0,786,0,0,0,528,2433,528,2435,528,528,528,528,528,528,2443,528,2445,528,528,528,528,528,1414,528,528,528,528,528,528,528,528,528,528,1956,528,528,528,528,528,528,528,528,2451,528,528,528,528,528,528,528,528,528,528,528,528,528,2902,528,528,2473,528,528,528,528,528,528,2480,528,528,528,528,528,528,528,528,1906,528,528,528,528,528,528,528,57893,57893,57893,59864,57893,59866,57893,57893,57893,57893,57893,57893,59874,57893,59876,57893,2770,2291,0,2771,2294,0,0,2773,0,0,0,0,0,0,0,0,2359296,418,418,0,0,0,0,0,57893,57893,59904,59905,57893,57893,57893,57893,57893,57893,59912,57893,57893,57893,57893,57893,57893,60885,57893,60887,57893,57893,57893,57893,57893,57893,57893,59397,57893,57893,59400,57893,57893,57893,57893,57893,59930,59931,57893,0,0,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,58910,57916,57916,57916,57916,57916,57916,59963,57916,59965,57916,57916,57916,57916,57916,57916,57916,59971,57916,57916,57916,57916,57916,57916,60914,57916,57916,57916,57916,57916,60918,57916,57916,57916,57916,60016,57916,57916,60019,60020,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,4239,0,0,0,0,528,60046,57943,60048,57943,57943,57943,57943,57943,57943,57943,60054,57943,57943,57943,57943,57943,57943,58979,58986,57943,57943,57943,57943,57943,57943,57943,57943,57943,60079,57943,57943,57943,57943,57943,57943,57943,60099,57943,57943,60102,60103,57943,2435,528,2762,528,528,59866,57893,60111,57893,57893,57893,57893,57893,61083,57893,57893,57893,57893,57893,57893,57893,57893,61089,57893,57893,57893,57893,57893,61219,57893,57893,57893,57916,57916,57916,57916,57916,57916,57916,1272,57893,57943,57943,57943,57943,57943,57943,57943,528,3132,528,528,528,57893,60479,57893,57893,0,0,2829,0,0,0,0,2833,0,0,0,0,0,0,0,0,312,311,0,0,0,311,311,312,2905,528,528,528,528,2909,528,528,528,2914,528,528,528,528,528,528,1920,528,528,528,528,528,528,528,528,528,1908,528,528,528,528,528,528,528,528,2922,528,528,528,528,528,528,528,2927,528,528,528,528,528,528,3940,528,528,528,528,528,528,3946,528,528,60284,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59406,60296,57893,60298,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59403,57893,57893,57893,60324,57893,57893,57893,57893,57893,57893,57893,57893,60332,57893,57893,57893,57893,57893,57893,61096,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,60703,57916,57916,57943,57943,57943,57943,57943,57943,57943,58466,57943,57943,57943,57943,528,528,528,896,57893,57893,57893,60338,57893,57893,57893,57893,57893,57893,57893,0,2999,0,0,0,0,0,1323,0,0,0,0,0,0,0,0,0,0,2836,2837,0,0,0,0,57916,60382,57916,57916,57916,57916,60386,57916,57916,57916,60391,57916,57916,57916,57916,57916,57916,60926,57916,57916,57916,57916,57916,57916,57916,57916,57916,59956,57916,57916,57916,57916,57916,57916,57916,57916,57916,60399,57916,57916,57916,57916,57916,57916,57916,57916,60405,57916,57916,57916,57916,57916,59992,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58925,57916,57916,57916,57916,57916,57943,57943,57943,57943,60447,57943,57943,57943,57943,60451,57943,57943,57943,60456,57943,57943,528,1352,528,528,1717,528,58791,57893,57893,57893,59066,57893,1151,0,0,0,3177,0,0,0,0,0,0,0,0,0,0,0,0,0,2390,0,0,528,528,528,528,3232,528,528,528,528,528,528,528,528,528,528,528,528,1941,528,528,528,528,528,3251,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2892,528,57893,57893,57893,57893,60643,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,3442,3443,0,3444,0,3446,0,0,0,0,3448,0,0,0,0,0,0,737,0,0,0,0,0,0,0,0,0,2360,0,0,0,0,0,2364,3467,0,0,0,0,3472,3473,0,3475,0,0,3478,0,0,0,3481,528,528,528,528,3498,528,528,528,528,528,3504,528,528,528,528,528,528,4020,528,4022,4023,528,4025,528,57893,57893,57893,57893,57893,57893,60882,57893,57893,57893,57893,57893,60888,57893,57893,60891,57893,57893,57893,0,0,0,0,57916,57916,57916,59941,57916,59943,57916,57916,57916,57916,57916,60006,60007,60008,57916,57916,57916,57916,57916,57916,57916,57916,58943,57916,57916,58947,57916,57916,57916,57916,57916,57916,57916,57916,60924,57916,57916,57916,57916,57916,60930,57916,57916,60933,57916,57916,57893,57943,57943,57943,57943,57943,59532,57943,57943,57943,57943,57943,59538,57943,60991,57943,528,528,3650,57893,57893,60997,0,0,0,0,0,0,3659,0,0,0,0,3445,0,0,0,0,0,0,0,0,0,0,0,2812,0,0,2815,0,0,3662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1306,0,3669,0,0,0,0,0,0,0,0,0,0,0,0,3676,0,3678,528,528,528,528,3705,528,528,528,528,528,528,528,528,528,528,528,528,2458,528,528,528,528,528,3715,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2903,528,528,57893,57893,57893,61071,57893,57893,57893,57893,57893,57893,57893,61076,57893,57893,57893,0,0,0,0,57916,57916,59940,57916,57916,57916,57916,57916,57916,59981,57916,57916,57916,57916,57916,57916,57916,57916,57916,59453,57916,57916,57916,57916,57916,57916,57893,57893,57893,57893,61095,57893,57893,57893,57893,57893,57893,57916,57916,57916,61100,57916,0,0,0,0,57893,57943,57943,57943,57943,57943,57943,58432,57943,57943,57943,57943,57943,60075,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59048,57943,57943,57943,57943,61134,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61145,3832,0,0,3835,0,0,0,0,0,0,0,0,0,0,0,0,772,0,0,0,57916,57916,61238,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61142,57943,57943,57943,3924,0,3675,0,0,0,0,0,3932,0,0,0,0,0,0,0,312,0,0,0,0,0,311,0,311,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,61301,57893,57893,57893,57893,57893,59363,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60315,57893,57893,57893,57893,60319,57893,57893,57943,61333,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,57893,0,0,0,0,0,1736,0,0,0,0,0,0,0,0,0,0,2334720,0,2334720,0,0,0,0,0,0,4079,0,0,0,0,0,0,0,528,528,528,528,528,528,528,4157,528,4159,528,528,4091,528,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,61448,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,57916,57916,57916,61317,57916,61462,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,60028,57943,61476,57943,57943,57943,57943,57943,57943,57943,57943,57943,4141,4142,0,0,0,4145,528,528,61507,61508,61509,57893,57893,57893,61512,57893,61514,57893,57893,57893,57893,61519,61520,61521,61522,57916,57916,57916,61525,57916,61527,57916,57916,57916,57916,61532,61533,61534,61535,57943,57943,57943,61538,57943,61540,57943,57943,57943,57943,61545,0,0,0,0,0,0,3194,0,0,0,3198,0,3200,0,0,0,528,4245,528,528,528,4249,57893,57893,61595,57893,57893,57893,61599,57893,57916,57916,57893,57943,59529,57943,57943,57943,57943,57943,57943,57943,59536,57943,57943,57943,57943,57943,59040,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,3412,528,57893,60759,57893,61601,57916,57916,57916,61605,57916,57943,57943,61607,57943,57943,57943,61611,57943,0,0,0,0,0,2342912,0,0,0,0,0,0,0,0,0,4358144,4359058,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6275072,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,0,413,0,0,0,0,0,0,413,139264,147456,0,0,0,422,0,0,0,0,3456,0,0,0,0,0,0,0,0,0,0,0,749,0,0,0,0,372,372,0,430,131072,372,430,430,0,333,372,430,0,0,430,456,430,0,0,0,430,495,495,495,500,495,495,495,500,495,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,534,57900,534,57900,534,534,57900,534,534,57923,57900,534,534,57900,57900,57900,57900,57950,57950,57900,57900,57900,57900,57950,57950,57900,534,57900,57900,57923,57900,57900,57900,57900,57900,57900,57900,57923,57923,57900,57900,57950,57900,57900,57900,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,841,528,528,528,528,528,528,873,528,528,528,528,528,528,528,528,1939,528,528,528,528,528,528,528,0,0,1175,0,0,0,0,0,0,0,0,0,0,0,0,0,2416,0,0,0,0,0,1296,0,1175,0,0,0,0,0,0,0,0,0,0,2371,0,0,0,0,0,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,58784,57893,57893,57893,57893,57893,57893,61210,57893,57893,57893,57893,57893,57893,57893,57893,57893,60626,57893,57893,60629,57893,57893,57893,58796,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59424,57943,58973,57943,57943,57943,57943,57943,58985,57943,57943,57943,57943,57943,57943,57943,57943,57943,60053,57943,57943,57943,57943,57943,57943,0,1873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1743,1744,57943,60460,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60726,57943,61135,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61257,528,528,528,61636,57893,57893,57893,61638,57916,57916,57916,61640,57943,57943,57943,0,0,0,0,3471,0,0,0,0,0,0,0,0,0,0,0,1868,0,0,0,0,0,0,0,431,131072,0,431,431,0,0,0,431,446,0,431,0,0,0,0,3663,0,0,0,0,0,0,0,0,0,0,0,1289,0,0,0,0,431,476,476,476,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,535,57901,535,57901,535,535,57901,535,535,57924,57901,535,535,57901,57901,57901,57901,57951,57951,57901,57901,57901,57901,57951,57951,57901,535,57901,57901,57924,57901,57901,57901,57901,57901,57901,57901,57924,57924,57901,57901,57951,57901,57901,57901,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,528,528,528,528,58773,1986,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59353,57893,57893,57893,57893,57893,0,0,0,2327,0,0,0,0,0,0,0,0,0,0,0,0,773,0,0,776,2351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1774,57893,57893,59892,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59900,57893,57893,0,0,0,2805,0,0,0,0,0,0,0,0,0,0,0,0,800,0,0,528,3175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1790,0,0,3431,0,0,0,0,0,3437,0,0,0,0,0,0,0,331,0,139264,147456,0,0,0,0,0,3482,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1372,57893,57893,57893,57893,60883,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60893,60908,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60396,60935,57916,57916,57916,57916,57916,57916,57916,57916,57916,60944,57916,57916,60947,57916,57916,57893,59528,57943,59530,57943,59531,57943,59533,57943,59535,57943,57943,57943,59539,57916,60950,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59012,57943,57943,60977,57943,57943,57943,57943,57943,57943,57943,57943,57943,60986,57943,57943,60989,57943,57943,57943,57943,57943,60966,57943,57943,57943,57943,57943,60972,57943,57943,60975,57943,57943,57943,57943,57943,60750,57943,57943,57943,57943,528,528,528,57893,57893,57893,0,0,0,0,0,0,0,3660,528,528,528,528,3716,528,3718,528,528,528,528,528,528,528,528,528,528,3491,528,528,528,528,528,528,57893,57893,61070,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59385,57893,57893,57893,57893,57893,57893,57893,61082,57893,57893,57893,57893,57893,57893,57893,57893,61088,57893,61090,57943,61146,57943,61148,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,57893,0,0,0,528,528,528,528,3854,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,58277,57893,57893,58293,57893,57893,61216,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61229,57916,57916,57916,57916,57916,57916,57916,57916,57916,61235,57916,57916,57916,57916,57916,61467,57916,57916,61469,57916,57943,57943,57943,57943,57943,57943,57943,60449,57943,57943,60453,57943,57943,57943,57943,57943,61248,57943,57943,57943,57943,57943,57943,57943,57943,57943,61254,57943,57943,57943,57943,57943,57943,58980,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60734,57943,57943,57943,57943,57943,57916,61625,61626,57916,57916,57943,57943,61629,61630,57943,57943,0,0,0,0,528,528,528,528,4275,528,57893,57893,57893,57893,61623,57893,57916,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1789,0,761,0,0,0,0,0,761,761,0,0,828,0,0,0,0,0,0,738,0,644,738,0,742,743,644,0,0,528,528,852,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2919,528,528,528,528,911,57893,57893,57893,57893,58271,57893,57893,57893,57893,57893,57893,57893,58862,57893,57893,57893,50676,58773,990,57916,58871,58406,0,0,0,0,57893,57943,57943,57943,57943,58422,57943,57943,57943,57943,57943,57943,58981,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60985,57943,57943,57943,57943,57943,528,911,0,58271,57893,57893,57893,57893,58330,155942,1151,0,0,0,0,0,0,751,0,0,0,0,0,0,0,0,0,139264,147456,0,0,319,0,0,0,1279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2337,0,57943,59035,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59028,57943,528,528,528,1983,58773,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59418,57893,57893,57893,57893,57893,57893,57893,59427,50676,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60377,57916,57916,57916,57916,59527,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60746,57943,59623,528,528,528,528,528,57893,57893,57893,57893,57893,0,0,0,0,0,0,0,3142,0,0,0,0,0,0,0,752,0,0,0,0,0,0,758,0,59861,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59889,57916,57916,57916,57916,59950,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60675,57916,57916,60678,57943,57943,57943,57943,60033,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60042,57943,57943,57943,3812,528,57893,61158,57893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,386,57916,57916,57916,57916,61240,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61255,57943,57943,57943,57943,61259,57943,528,528,57893,57893,0,0,0,0,0,0,0,0,0,0,0,3146,0,0,0,0,0,334,0,0,0,0,0,0,0,0,0,0,0,334,385,387,0,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,0,3672,0,0,0,0,0,0,0,0,0,0,0,1786,0,0,0,0,334,0,0,0,0,0,0,0,0,0,0,0,0,334,0,0,139264,147456,0,0,0,0,0,425,425,0,0,131072,425,0,0,0,0,425,0,447,0,0,425,335,477,477,477,490,490,490,490,490,490,490,490,490,490,511,519,519,519,519,519,526,519,519,519,526,519,519,519,519,519,519,536,57902,536,57902,536,536,57902,536,536,57925,57902,536,536,57902,57902,57902,57902,57952,57952,57902,57902,57902,57902,57952,57952,57902,536,57902,57902,57925,57902,57902,57902,57902,57902,57902,57902,57925,57925,57902,57902,57952,57902,57902,57902,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,780,0,0,0,0,0,0,0,0,0,0,0,0,0,2789,2790,0,0,795,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,2330,0,0,0,0,0,0,0,0,1238,0,0,0,0,0,0,0,819,0,0,0,0,0,819,819,0,0,0,0,799,0,0,0,0,0,1750,0,0,0,0,0,0,0,0,0,0,2850,0,0,0,0,0,0,0,0,835,795,0,0,835,0,0,0,0,0,0,0,528,528,528,4154,528,528,528,528,528,528,528,3234,528,528,528,528,528,528,528,528,528,3942,528,528,528,528,528,528,528,528,528,855,528,864,528,528,528,528,528,528,528,528,528,528,528,3944,528,528,528,528,528,528,528,912,57893,57893,57893,57893,57893,58274,57893,58283,57893,57893,57893,57893,57893,59395,59396,57893,57893,57893,57893,57893,57893,57893,57893,57893,59897,57893,57893,57893,57893,57893,57893,58350,57916,58359,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58401,57916,57916,58407,0,0,0,0,57893,57943,57943,57943,57943,57943,58425,57943,58434,57943,57943,528,1354,528,528,528,528,58793,57893,57893,57893,57893,57893,1151,0,1143,912,0,57893,57893,57893,57893,58493,58331,155942,1151,0,0,0,0,0,0,790,0,802,0,816,0,0,0,0,810,1246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1821,0,0,0,1308,0,0,0,0,0,0,0,0,1313,0,0,0,0,0,1796,0,0,0,0,0,0,0,0,0,0,1211,368,368,0,0,1214,528,528,528,1350,528,528,528,528,528,528,528,528,528,1369,528,528,0,0,0,2933,0,1986,57893,57893,57893,57893,57893,57893,57893,57893,59884,57893,57893,57893,57893,57893,57893,57893,528,1409,528,528,1413,528,528,528,528,528,1420,528,528,528,1427,528,528,0,57893,57893,57893,58315,57893,57893,155942,1151,0,0,0,0,0,0,0,6324224,4358144,4358144,5005312,4358144,4358144,4358144,512e4,5136384,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,6119424,4358144,6168576,4358144,4358144,4358144,4358144,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58789,57893,57893,57893,57893,57893,61379,57893,61381,61382,57893,61384,57893,61386,57916,57916,57916,57916,57916,60385,57916,57916,57916,57916,57916,57916,60393,57916,57916,57916,57916,57916,60691,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59484,57916,57916,57916,57916,57916,57893,57893,58818,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59914,57893,57893,57916,58954,57916,57916,57916,58961,57916,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,61140,57943,57943,57943,57943,57943,57943,57943,57943,60969,57943,60971,57943,57943,57943,57943,57943,57943,57943,57943,59038,57943,57943,59042,57943,57943,57943,57943,57943,59049,57943,57943,57943,528,528,57893,57893,0,0,0,0,0,0,0,0,3923,59056,57943,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,1151,0,0,0,0,4003,3675,0,0,0,0,0,0,0,0,528,528,528,528,528,528,528,1345,1844,1845,0,1847,0,0,0,0,0,0,0,0,0,0,0,0,806,0,0,0,0,1861,0,1863,0,0,0,0,0,0,0,0,0,0,0,0,839,0,0,528,0,0,0,1875,0,0,0,0,0,0,0,0,0,0,0,0,990,0,0,0,0,0,1861,0,0,0,0,0,528,528,528,528,528,528,528,528,3223,528,528,528,528,528,528,1949,528,528,528,528,528,528,528,528,1958,528,528,528,528,528,2478,528,528,528,528,528,528,528,528,528,528,1421,528,528,528,528,528,528,528,528,1967,528,528,528,528,528,528,528,528,528,528,1977,1979,57893,57893,59392,57893,57893,57893,57893,57893,57893,57893,57893,59401,57893,57893,57893,57893,57893,59414,57893,57893,57893,57893,57893,57893,59420,57893,57893,57893,57893,57893,59410,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59421,59423,57893,57893,57893,57893,57893,61453,57893,57893,61455,57893,57916,57916,57916,57916,57916,57916,59482,57916,57916,57916,57916,57916,57916,57916,57916,57916,59983,57916,57916,57916,57916,57916,57916,57916,59492,57916,57916,57916,57916,57916,57916,57916,57916,59501,57916,57916,57916,57916,57916,57916,60940,60942,57916,57916,57916,57916,60946,57916,60948,60949,57916,59510,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59521,59523,57916,57916,57916,57916,57916,61570,57916,61571,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,60416,57943,57943,57943,59588,57943,57943,57943,57943,57943,57943,57943,57943,59597,57943,57943,57943,57943,57943,57943,57943,59043,57943,57943,57943,57943,57943,57943,57943,57943,58988,57943,57943,57943,57943,57943,57943,57943,59606,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59617,59619,57943,57943,57943,528,528,57893,57893,0,0,0,0,0,3921,0,0,0,0,0,1812,0,0,0,0,0,0,0,0,0,0,1839,0,0,0,0,0,0,0,2340,0,0,0,0,0,2346,0,0,0,0,0,0,0,372,0,0,0,380,382,0,0,0,0,0,0,2354,0,0,0,0,0,0,0,0,2362,0,0,0,0,0,1835,0,0,0,0,0,0,0,0,0,0,0,0,528,528,528,528,528,2424,528,528,528,528,528,528,528,528,528,528,3722,528,528,528,528,528,528,528,2436,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2930,528,528,528,2463,528,528,528,528,528,528,528,528,528,528,528,528,528,528,3240,3241,0,0,0,57893,57893,57893,57893,57893,57893,59855,57893,57893,57893,57893,57893,57893,0,0,57916,60658,57916,57916,57916,57916,57916,57916,58940,57916,57916,57916,57916,57916,57916,57916,57916,57916,59518,57916,57916,57916,57916,57916,57916,57916,60003,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58951,57916,57916,57916,57916,60018,57916,57916,57916,57943,57943,57943,57943,57943,57943,60027,57943,57943,528,1355,528,528,528,528,58794,57893,57893,57893,57893,57893,1151,0,57943,60086,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59570,57943,57943,57943,57943,60101,57943,57943,57943,2436,528,528,528,528,59867,57893,57893,57893,0,0,0,0,57916,59939,57916,57916,57916,57916,57916,57916,57916,60927,57916,60929,57916,57916,57916,57916,57916,57916,0,2793,0,2795,0,0,0,0,0,0,0,0,2800,0,0,2803,0,0,2818,0,0,0,0,0,0,0,2826,0,0,0,0,2828,0,2842,0,0,2845,0,0,0,0,0,0,0,0,0,0,2855,0,0,528,2869,528,528,528,528,528,528,528,528,528,528,528,528,528,2918,528,528,57893,57893,57893,57893,60327,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,61099,57916,57916,60336,57893,57893,57893,60339,57893,57893,57893,57893,57893,57893,0,0,0,0,0,0,2772,0,0,0,0,0,0,0,0,2359,0,0,0,0,0,0,0,0,57916,60345,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58894,57916,57916,57943,60433,57943,57943,57943,57943,57943,57943,57943,60438,57943,57943,57943,57943,57943,57943,57943,59549,57943,57943,57943,57943,57943,57943,57943,57943,57943,60067,57943,57943,57943,57943,57943,57943,57943,60444,57943,57943,57943,57943,57943,57943,57943,60452,57943,57943,57943,57943,57943,57943,57943,59595,57943,57943,57943,57943,57943,57943,57943,57943,57943,61543,57943,57943,0,0,0,0,60459,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60468,57943,57943,57943,528,528,57893,57893,0,0,0,3919,0,0,3922,0,0,60471,57943,57943,57943,57943,57943,57943,3131,528,528,528,528,60478,57893,57893,57893,0,0,0,0,59938,57916,57916,57916,57916,57916,57916,57916,59946,3204,0,0,0,3206,0,0,0,0,0,0,0,0,0,0,0,1818,0,0,0,0,528,528,528,528,3244,528,528,528,528,528,528,528,528,528,528,3249,528,528,528,3252,528,3254,528,528,528,528,528,528,528,3258,528,528,0,0,2503,0,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,59858,57893,57893,57893,60632,57893,57893,57893,57893,60635,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59924,57893,59926,57893,57893,57893,57893,60641,57893,57893,57893,60644,57893,60646,57893,57893,57893,57893,57893,57893,57893,57893,58843,57893,57893,57893,57893,57893,57893,57893,60651,57893,57893,57893,57893,57893,0,0,57916,57916,57916,60659,57916,57916,57916,57916,57916,58905,57916,58907,57916,57916,57916,57916,57916,57916,57916,57916,60362,57916,57916,57916,57916,57916,57916,57916,57916,60664,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59458,57916,57916,57916,60680,60681,57916,57916,57916,57916,60684,57916,57916,57916,57916,57916,57916,57916,57943,60022,57943,57943,57943,57943,57943,57943,57943,57943,61153,57943,57943,57943,57943,57943,57943,528,57916,57916,57916,57916,60690,57916,57916,57916,60693,57916,60695,57916,57916,57916,57916,57916,57916,61105,57916,57916,57916,57916,57916,57916,57916,57916,57916,58944,57916,57916,57916,57916,57916,58952,57916,57916,57916,60700,57916,57916,57916,57916,57916,57943,57943,57943,60708,57943,57943,57943,528,528,57893,57893,3918,0,0,0,3920,0,0,0,0,0,0,3695,0,3697,528,528,528,528,528,528,528,1905,528,528,528,528,528,528,528,528,2926,528,528,528,528,528,528,528,57943,57943,60713,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61144,57943,57943,57943,57943,60729,60730,57943,57943,57943,57943,60733,57943,57943,57943,57943,57943,57943,57943,60036,57943,60038,57943,57943,57943,57943,57943,57943,57943,58984,57943,58989,57943,57943,58993,57943,57943,58996,57943,57943,57943,57943,60749,57943,57943,57943,57943,57943,528,528,528,57893,57893,57893,0,0,0,0,0,0,0,0,0,0,0,3417,0,0,3420,3421,0,0,0,0,0,0,0,0,0,0,0,1827,0,0,0,0,528,528,528,528,3486,528,528,528,528,3490,528,528,528,528,528,528,1952,1953,528,528,528,528,528,528,528,528,528,3517,528,528,528,528,528,57893,528,3496,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2931,528,3510,528,528,528,528,528,528,528,528,528,528,528,528,528,57893,57893,57893,61204,57893,57893,57893,60870,57893,57893,57893,57893,60874,57893,57893,57893,57893,57893,57893,57893,58863,58864,57893,57893,50676,58773,990,57916,57916,60880,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59901,57893,60895,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58830,57893,57916,57916,57916,57916,60912,57916,57916,57916,57916,60916,57916,57916,57916,57916,57916,57916,58962,0,58963,58964,57943,57943,57943,57943,57943,58971,57916,60922,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59472,57916,57916,57916,60937,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58927,57916,58929,57916,57943,57943,57943,57943,60954,57943,57943,57943,57943,60958,57943,57943,57943,57943,57943,57943,58982,57943,57943,57943,57943,58992,57943,57943,57943,57943,57943,57943,60964,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61256,57943,57943,57943,57943,60979,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60974,57943,60976,528,528,57893,57893,57893,0,0,0,0,3819,0,0,0,0,0,3822,0,528,528,528,528,528,528,3844,528,528,528,528,528,528,528,528,2481,528,528,528,528,528,2485,2486,57893,57893,61206,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59927,57893,57893,57893,57893,61217,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,61225,0,0,3675,0,0,0,0,0,0,0,0,0,0,0,3934,0,0,0,0,4080,0,0,0,0,0,0,528,528,528,528,528,528,4211,528,4212,528,528,528,57893,57893,57893,57893,57893,57893,61562,57893,61563,57893,57893,57893,57893,57916,57943,4313,4314,61659,61660,61661,0,528,57893,57916,57943,0,0,0,0,0,2382,0,0,0,0,0,0,0,0,0,0,4284416,0,0,0,0,0,57943,57943,61578,57943,61579,57943,57943,57943,57943,0,0,0,0,0,0,528,528,4273,4274,528,528,57893,57893,61621,61622,57893,57893,57916,0,528,528,57893,57893,57916,57916,57943,57943,4303,4304,61649,61650,61651,0,528,528,528,528,528,528,528,528,528,2428,528,528,528,528,528,528,4096,528,528,4098,57893,57893,57893,57893,57893,57893,58861,57893,57893,57893,57893,50676,58773,990,57916,57916,537,57903,537,57903,537,537,57903,537,537,57926,57903,537,537,57903,57903,57903,57903,57953,57953,57903,57903,57903,57903,57953,57953,57903,537,57903,57903,57926,57903,57903,57903,57903,57903,57903,57903,57926,57926,57903,57903,57953,57903,57903,57903,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,57893,57893,58833,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60649,57893,57893,57916,59948,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59489,57916,57943,60031,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60044,57943,0,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2404,0,0,340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2854,0,0,0,406,0,0,0,0,0,0,0,0,0,0,0,0,406,0,0,0,432,131072,0,432,432,0,0,0,432,0,452,432,0,0,0,0,4206,0,528,528,528,528,528,528,528,528,528,528,528,528,2430,528,528,432,478,478,478,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,538,57904,538,57904,538,538,57904,538,538,57927,57904,538,538,57904,57904,57904,57904,57954,57954,57904,57904,57904,57904,57954,57954,57904,538,57904,57904,57927,57904,57904,57904,57904,57904,57904,57904,57927,57927,57904,57904,57954,57904,57904,57904,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,661,0,661,0,0,0,0,826,0,0,0,661,0,0,0,0,0,5218304,0,0,0,0,5799936,0,5881856,0,0,0,0,0,0,5029888,5038080,0,0,5103616,5201920,0,0,0,0,0,0,1878,0,0,0,0,0,0,0,0,0,2296,0,0,0,0,0,0,842,528,528,528,857,528,528,528,528,528,528,528,528,528,528,898,528,528,528,528,57893,57893,58260,57893,57893,57893,58276,57893,57893,57893,57893,57893,57893,61220,57893,57893,57916,57916,57916,57916,57916,57916,57916,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,59022,57943,59024,57943,57943,57943,57943,57943,57916,58352,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58393,57916,57916,57916,57916,57916,60913,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61471,57943,57943,57943,57943,57943,1160,0,0,0,0,0,0,0,0,0,1167,1168,0,0,0,0,0,0,1299,0,0,0,0,0,0,0,0,528,528,1340,528,528,528,528,528,0,0,0,1249,0,0,0,0,0,0,0,0,0,1260,1261,0,0,0,0,131072,0,0,0,0,0,0,0,0,0,0,0,0,2415,0,0,2418,528,528,528,528,1351,1358,528,528,528,528,528,528,528,528,1371,528,528,0,57893,57893,57893,58317,57893,57893,294,1151,0,0,1155,0,0,0,0,0,5857280,0,6463488,4939776,0,0,5455872,0,0,0,0,0,5554176,5570560,5578752,5619712,5668864,0,0,0,5791744,5816320,0,5857280,0,1373,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1406,1408,528,528,528,528,528,528,528,528,528,528,528,1423,528,528,528,528,528,2910,528,528,528,528,528,528,2917,528,528,528,528,528,2490,528,528,528,528,528,528,528,528,528,0,0,57893,57893,57893,57893,57893,60612,57893,60613,57893,57893,57893,58773,914,57893,58776,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58790,58797,57893,57893,57893,57893,57893,57893,57893,57893,58810,57893,58812,57893,57893,57893,57893,57893,59867,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59872,57893,57893,57893,57893,57893,57893,58832,57893,58834,57893,57893,57893,57893,57893,57893,57893,58847,57893,57893,57893,57893,57893,59881,57893,57893,57893,57893,57893,57893,57893,57893,59888,57893,57916,57916,57916,58957,57916,57916,57916,0,57893,57943,58965,57943,57943,57943,57943,57943,57943,59548,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61154,57943,57943,57943,57943,528,58999,57943,59001,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59027,57943,57943,57943,57943,59037,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59052,57943,57943,57943,57943,57943,61139,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60454,57943,57943,57943,57943,1946,528,528,528,528,528,528,528,528,1955,528,528,528,528,528,528,1970,528,528,528,528,528,528,1976,528,528,528,528,1982,528,58773,1986,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60648,57893,57893,57893,57893,57893,57893,57893,57893,57893,59346,59347,57893,57893,57893,57893,59354,57893,57893,57893,57893,57893,58315,57893,57893,57893,57893,0,57916,57916,57916,57916,57916,57916,60349,57916,57916,57916,57916,60353,57916,57916,57916,57893,59426,57893,50676,2086,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60932,57916,60934,57916,57916,57916,57916,59446,59447,57916,57916,57916,57916,59454,57916,57916,57916,57916,57916,57916,59449,57916,57916,57916,57916,57916,57916,57916,57916,57916,60390,57916,57916,57916,57916,57916,57916,59526,57916,57893,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59051,57943,57943,57943,59542,59543,57943,57943,57943,57943,59550,57943,57943,57943,57943,57943,57943,57943,57943,57943,60425,57943,57943,57943,57943,57943,57943,0,2313,0,0,0,0,0,0,0,0,0,2322,0,0,0,0,0,0,3208,0,0,0,0,0,0,0,0,0,3210,3211,0,0,0,0,0,528,528,528,528,2477,528,528,528,528,528,528,528,2483,528,528,528,528,528,2924,528,528,528,528,528,528,528,528,528,528,528,2496,528,528,528,0,528,528,528,2488,528,528,528,528,528,528,528,528,528,528,528,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,0,990,57916,57916,57916,57916,57916,60004,57916,57916,57916,57916,57916,57916,57916,60010,57916,57916,57916,57916,57916,58921,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60917,57916,57916,57916,57916,57916,57943,57943,57943,60087,57943,57943,57943,57943,57943,57943,57943,60093,57943,57943,57943,57943,57943,57943,60967,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60040,57943,57943,57943,57943,57943,0,0,0,2782,0,0,0,0,0,0,0,0,0,0,0,0,1169,1170,1171,1172,3159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1871,528,528,528,3231,528,528,528,528,528,528,528,528,528,528,528,528,528,3248,528,528,528,3262,528,0,0,57893,57893,57893,57893,57893,57893,57893,57893,60614,57893,57893,57893,50676,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59441,57893,57893,57893,57893,60622,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,61098,57916,57916,57916,57893,57893,57893,57893,60655,57893,0,0,57916,57916,57916,57916,57916,57916,57916,57916,60928,57916,57916,57916,57916,57916,57916,57916,60663,57916,57916,57916,57916,57916,57916,60671,57916,57916,57916,57916,57916,57916,57916,57916,61118,57916,57916,57916,57916,57916,57916,57916,57943,60712,57943,57943,57943,57943,57943,57943,60720,57943,57943,57943,57943,57943,57943,57943,57943,61340,57943,57943,528,57893,0,0,0,57893,57893,57893,61094,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,61232,57916,57916,57916,57916,61233,61234,57916,57916,57916,528,528,57893,57893,57893,57893,57893,57893,57893,61513,57893,61515,57893,57893,57893,57893,57893,59894,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,57916,57916,58335,57916,57916,528,528,61559,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61567,61624,57916,57916,57916,57916,57943,61628,57943,57943,57943,57943,0,0,0,0,528,4272,528,528,528,528,57893,61620,57893,57893,57893,57893,57916,0,389,341,0,0,0,0,0,0,0,0,0,0,0,0,0,2801,0,0,463,479,479,479,463,463,463,463,463,463,463,463,463,463,512,512,512,512,512,512,512,512,512,512,512,512,512,512,512,512,539,57905,539,57905,539,539,57905,539,539,57928,57905,539,539,57905,57905,57905,57905,57955,57955,57905,57905,57905,57905,57955,57955,57905,539,57905,57905,57928,57905,57905,57905,57905,57905,57905,57905,57928,57928,57905,57905,57955,57905,57905,57905,1,24578,3,155942,156282,296,0,0,0,0,0,302,303,0,0,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3427,0,0,0,662,0,662,0,0,0,0,0,0,0,0,662,0,0,0,0,0,6225920,4358144,5062656,4358144,4358144,4358144,4358144,4358144,6225920,0,6086656,528,528,528,528,858,528,528,874,528,528,528,528,528,528,528,528,2913,528,528,528,528,528,528,528,57916,58353,57916,57916,58369,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61575,57943,57943,57943,0,1189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3451,0,0,1318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3480,0,0,0,1334,0,0,0,0,0,528,528,528,528,528,528,528,528,2876,528,528,528,528,528,528,528,528,528,1352,528,528,528,528,528,528,528,528,528,528,528,528,2469,528,528,528,528,528,528,1391,528,528,528,528,528,528,528,528,528,528,528,528,528,3493,528,528,528,528,1410,528,528,528,528,528,1418,528,528,528,528,528,528,528,1379,528,528,528,528,528,528,528,528,1954,528,528,1957,528,528,528,528,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58791,57893,57893,57893,58857,57893,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,57916,57943,57943,57943,60412,57943,60413,57943,57943,57943,57943,57943,57943,57943,58471,57943,57943,57943,57943,528,528,528,901,57943,57943,57943,57943,59039,57943,57943,57943,57943,57943,59047,57943,57943,57943,57943,57943,57943,59563,59564,57943,57943,57943,57943,57943,57943,57943,57943,57943,61484,0,0,4143,4144,0,0,0,1727,0,0,0,0,1734,0,0,0,0,0,0,0,0,0,2370,0,0,0,0,0,0,528,1916,528,528,528,528,528,528,528,528,528,528,528,528,1927,528,528,0,57893,57893,57893,58319,57893,57893,155942,1151,0,302,0,0,306,307,0,0,0,0,0,0,0,0,0,0,650,0,0,0,0,0,2351104,0,0,0,0,0,0,0,0,0,4358144,59359,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59370,57893,57893,57893,50676,0,57916,59433,57916,57916,57916,57916,57916,57916,57916,59440,57916,57943,57943,57943,59544,57943,57943,57943,57943,57943,57943,57943,57943,57943,59555,57943,57943,528,1714,528,1716,528,528,59063,57893,57893,59065,57893,57893,1151,0,57943,57943,57943,59577,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61143,57943,57943,0,0,2379,2380,0,0,0,0,0,2386,0,0,0,0,0,0,0,2785,0,0,0,0,0,0,0,0,1753,0,0,0,0,0,0,0,528,2474,528,528,528,528,2479,528,528,528,528,528,528,528,528,528,1396,528,528,528,1403,1405,528,2501,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60878,57893,57893,57893,57893,57893,57893,59906,57893,57893,57893,57893,59911,57893,57893,57893,57893,57893,57893,2999,0,57916,57916,57916,57916,57916,57916,57916,57916,57943,61327,57943,57943,61329,57943,57943,57943,57916,59964,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59506,57916,57943,60047,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60070,60071,57916,57916,57916,57916,61115,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58885,58892,57916,57916,57916,0,3925,3675,0,0,0,0,0,0,0,0,0,0,0,0,0,2838,2839,0,3949,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58850,57893,57893,57893,61308,57893,57893,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58886,57916,57916,57916,57916,4001,0,0,0,0,3675,0,0,0,0,0,0,0,0,528,528,528,528,528,528,1895,528,528,528,4016,528,528,528,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57893,61375,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,61461,57916,61391,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61407,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,0,2316,0,0,0,0,0,0,0,0,0,0,3838,0,0,0,0,0,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61566,57916,0,0,0,0,57893,57943,57943,58410,57943,57943,57943,57943,57943,57943,58443,0,0,0,390,391,393,343,0,0,0,0,0,0,342,0,0,0,343,0,0,0,0,0,0,0,0,0,2787,0,0,0,0,0,0,0,0,0,390,0,0,0,0,0,0,343,0,0,0,390,0,0,0,0,131072,0,0,0,0,0,0,0,0,0,310,0,0,0,0,1749,0,0,0,0,0,0,0,0,0,0,0,540672,0,0,0,0,0,0,480,480,480,480,496,496,496,496,496,496,496,496,496,480,480,480,480,480,480,480,480,480,480,480,480,480,480,480,480,540,57906,540,57906,540,540,57906,540,540,57929,57906,540,540,57906,57906,57906,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,57929,57906,57906,57906,57906,57906,57906,57906,57929,57929,57906,57942,57956,57942,57942,57942,57942,57956,57956,57942,57942,57942,57942,57956,57956,57942,540,57906,57906,368,368,0,0,0,0,0,706,0,0,0,0,0,0,0,0,740,0,0,0,0,740,0,746,715,0,717,0,0,0,0,0,0,0,725,0,0,0,0,0,0,804,0,0,0,0,0,0,804,0,528,0,0,813,0,796,0,0,815,0,667,0,792,0,0,0,0,0,836,0,0,0,0,796,663,840,0,528,0,792,815,0,815,813,0,0,0,827,0,0,0,663,830,0,0,0,0,131072,0,0,0,0,0,0,0,444,0,0,0,0,0,690,691,0,0,0,0,696,0,0,0,368,843,528,528,528,859,528,528,875,528,528,528,528,889,528,528,528,528,528,3245,528,528,528,528,528,528,528,528,528,528,528,1398,528,528,528,528,528,907,528,528,57893,57893,58261,57893,57893,57893,58278,57893,57893,58294,57893,57893,57893,50676,0,59432,57916,59434,57916,59435,57916,59437,57916,59439,57916,57916,57893,57943,57943,57943,57943,57943,57943,57943,59534,57943,57943,57943,57943,57943,57943,59594,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60467,57943,57943,57943,57943,57943,57893,57893,58308,57893,57893,57893,57893,58326,57893,57893,0,57916,57916,58337,57916,57916,57916,57916,57943,57943,60411,57943,57943,57943,57943,57943,57943,57943,57943,57943,59044,57943,57943,57943,57943,57943,57943,57916,58354,57916,57916,58370,57916,57916,57916,57916,58384,57916,57916,57916,57916,58402,57916,0,0,0,0,57893,57943,57943,58411,57943,57943,57943,58427,57943,57943,57943,57943,57943,59005,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59008,57943,57943,57943,57943,57943,57943,57943,57943,58459,57943,57943,57943,57943,58477,57943,57943,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,1151,0,0,0,1170,0,0,0,0,0,0,0,1172,0,0,0,0,0,0,806,0,0,0,0,787,0,806,0,528,1293,0,0,0,0,0,0,0,0,0,0,0,0,1305,0,0,0,0,0,6307840,0,0,6356992,6381568,6397952,4800512,4808704,0,0,4890624,0,4947968,0,0,0,5046272,0,0,0,0,5185536,0,5234688,5300224,0,0,0,0,1210,0,0,0,0,0,0,0,0,0,1305,0,0,0,0,0,2343,0,0,0,0,0,2347,0,0,2349,0,0,1333,0,0,0,0,0,0,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1353,528,528,528,528,528,528,528,528,528,528,528,528,2901,528,528,528,528,528,528,1377,528,528,528,528,528,528,528,528,528,528,528,528,528,3724,528,528,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58792,0,0,1777,0,0,1780,0,1782,0,0,0,0,0,0,0,0,753,0,0,0,0,0,0,0,0,1833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3667,3668,528,1898,528,528,528,528,528,528,528,528,1909,528,528,528,528,528,868,528,528,528,528,528,887,528,528,528,528,59341,57893,57893,57893,57893,57893,57893,57893,57893,59352,57893,57893,57893,57893,57893,57893,58325,57893,57893,57893,0,57916,57916,57916,57916,57916,57943,57943,57943,57943,59578,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60056,57943,57943,57943,0,2394,0,0,0,0,0,0,0,0,0,0,0,0,0,2405,0,528,528,528,2422,2423,528,528,528,528,528,528,528,528,528,528,1366,528,528,528,528,528,0,0,0,57893,57893,57893,59852,57893,59854,57893,57893,57893,57893,57893,57893,57893,59349,57893,57893,57893,57893,57893,57893,57893,57893,60647,57893,57893,57893,57893,57893,57893,57893,57893,59903,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59405,57893,0,2780,0,0,2783,0,0,0,0,0,0,2788,0,0,0,2791,2792,0,0,0,0,0,0,0,0,0,0,0,0,0,2802,0,0,0,0,131072,0,0,0,0,0,0,0,448,0,0,0,0,0,2307,0,0,0,0,0,0,0,0,0,0,3674,0,0,0,0,0,0,2817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3677,0,0,0,2843,0,0,0,0,0,0,0,0,2851,0,0,0,0,0,0,3448,0,0,0,0,0,0,0,0,0,1287,1288,0,0,0,0,0,0,2857,0,0,0,0,2860,0,0,0,0,0,0,0,0,0,2862,0,0,0,0,0,0,2868,0,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,57893,57893,57893,57893,2879,528,528,2882,2883,528,528,528,528,528,2888,528,2890,528,528,528,528,528,3487,528,528,528,528,528,528,528,528,528,528,2468,528,528,528,528,528,528,2894,528,528,528,528,528,528,528,528,528,2900,528,528,528,528,528,1903,1904,528,528,528,528,1911,528,528,528,528,528,1935,528,528,528,1940,528,528,528,528,528,528,2897,528,528,528,528,528,528,528,528,528,528,3858,528,57893,57893,57893,57893,528,528,528,528,2908,528,528,528,528,528,528,2916,528,528,528,528,528,2439,528,528,528,528,2444,528,528,528,528,528,528,61594,57893,57893,57893,57893,57893,57893,57893,61600,57916,528,2921,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1387,528,57893,60297,57893,60299,57893,57893,57893,57893,60303,57893,57893,57893,57893,57893,57893,57893,59382,57893,57893,57893,57893,57893,57893,57893,57893,59398,57893,57893,57893,57893,57893,57893,57893,57893,57893,60309,57893,57893,57893,57893,57893,57893,57893,57893,57893,60318,57893,57893,57893,0,0,0,2593,57916,57916,57916,57916,57916,57916,57916,57916,57916,60704,57916,57943,57943,57943,57943,57943,57943,57943,60957,57943,57943,57943,57943,57943,57943,57943,57893,57893,57893,60326,57893,57893,57893,57893,57893,60331,57893,57893,57893,57893,57893,57893,58837,57893,57893,57893,57893,57893,57893,57893,58851,57893,60355,57916,57916,60358,60359,57916,57916,57916,57916,57916,60364,57916,60366,57916,57916,57916,57916,57916,60925,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58884,57916,57916,57916,57916,57916,57916,60370,57916,57916,57916,57916,57916,57916,57916,57916,57916,60376,57916,57916,57916,57916,57916,58960,57916,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,60732,57943,57943,57943,57943,57943,57943,57943,57943,60450,57943,57943,57943,57943,57943,57943,60458,57916,57916,60398,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59505,57916,57916,57943,57943,57943,60420,57943,57943,60423,60424,57943,57943,57943,57943,57943,60429,57943,60431,57943,57943,57943,57943,60435,57943,57943,57943,57943,57943,57943,57943,57943,57943,60441,57943,57943,57943,57943,57943,61150,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,528,3133,528,528,57893,57893,60480,57893,0,0,3161,3162,3163,0,0,0,0,0,0,0,0,0,0,0,2311,0,0,0,0,0,3176,0,0,0,0,0,0,0,3182,0,3184,0,0,0,0,0,0,3458,0,0,0,0,0,0,0,0,0,786,0,0,0,0,0,0,0,0,0,0,0,802,0,807,0,810,3188,0,0,0,0,3193,0,0,3196,0,0,0,0,0,0,0,389,0,139264,147456,0,0,0,0,0,528,528,3263,0,0,60608,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61086,57893,57893,57893,57893,57893,57893,57893,60653,57893,57893,60656,0,0,60657,57916,57916,57916,57916,57916,57916,57916,58880,57916,57916,57916,58889,57916,57916,57916,57916,57916,57916,60689,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59986,57916,57916,57916,57916,60699,57916,57916,60702,57916,57916,60705,60706,57943,57943,57943,57943,57943,57943,57943,60052,57943,57943,57943,57943,57943,57943,60057,57943,60727,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59031,57943,57943,57943,60738,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,58994,57943,57943,57943,57943,57943,57943,60748,57943,57943,60751,57943,57943,60754,3411,528,528,60758,57893,57893,57893,50676,2085,57916,57916,57916,57916,57916,59436,57916,57916,57916,57916,57916,57916,60373,57916,57916,57916,57916,57916,57916,57916,60379,57916,3429,0,0,0,0,3434,0,0,0,0,0,0,0,0,0,0,3675,0,0,0,0,0,0,0,0,528,528,0,0,0,3470,0,0,0,0,0,0,3477,0,0,3479,0,0,0,0,306,0,0,0,0,0,0,306,0,0,0,0,0,0,0,0,0,0,0,0,2852,0,0,0,528,528,3484,528,528,528,528,528,528,528,528,528,528,528,528,528,528,3259,528,3509,528,528,3511,528,528,528,528,528,528,528,528,528,528,528,57893,57893,57893,57893,61446,57893,57893,60868,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59928,57893,60894,57893,57893,60896,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60877,57893,57893,57893,57916,57916,60910,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60012,57916,57916,57916,60936,57916,57916,60938,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59485,57916,57916,57916,57916,57916,57943,57943,60952,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59009,57943,57943,57943,57943,57943,60978,57943,57943,60980,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60055,57943,57943,57943,60058,3661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,3679,0,0,0,0,0,0,0,0,0,0,0,0,0,3691,0,0,0,0,131072,0,0,0,0,0,0,0,450,0,0,0,0,0,3457,0,0,0,0,3462,0,0,0,0,3466,3702,3703,528,528,528,528,3707,3708,528,528,528,528,528,3712,528,528,0,2932,0,0,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59859,57893,57893,528,57893,57893,57893,57893,57893,57893,57893,61073,61074,57893,57893,57893,57893,61078,61079,57916,57916,61102,61103,57916,57916,57916,57916,61107,61108,57916,57916,57916,57916,57916,61112,57943,57943,61136,61137,57943,57943,57943,57943,57943,61141,57943,57943,57943,57943,57943,57943,57943,60436,57943,57943,57943,57943,57943,57943,57943,57943,58476,57943,57943,57943,1139,528,528,528,57943,57943,61147,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,528,528,528,528,528,57893,57893,57893,0,0,3817,0,0,0,0,0,0,0,0,1165,0,0,0,0,0,0,0,0,0,3834,0,0,0,0,0,0,0,0,0,0,0,0,0,2865,0,0,57916,57916,57916,57916,61230,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59486,57916,57916,57916,57916,57943,61249,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60096,57943,0,0,3675,0,3928,0,0,0,0,0,0,0,0,0,0,0,2361,0,0,0,0,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61303,57893,57893,57893,50676,2086,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61236,61319,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,0,0,57943,57943,57943,61335,57943,57943,57943,57943,57943,57943,57943,528,57893,0,3999,0,0,0,0,131072,0,0,0,0,0,0,0,450560,0,0,0,0,0,372,0,0,0,0,0,0,0,0,0,0,2333,0,0,0,0,2338,0,4002,0,0,0,3675,0,0,0,0,0,0,0,0,528,528,528,1341,528,528,528,528,4014,528,528,528,528,4019,528,528,528,528,4024,528,528,57893,57893,61373,57893,57893,57893,57893,61378,57893,57893,57893,57893,61383,57893,57893,57893,57916,57916,61389,57916,57916,57916,57916,61394,57916,57916,57916,57916,61399,57916,57916,57916,57943,57943,61405,57943,57943,57943,57943,61410,57943,57943,57943,57943,61415,57943,57943,57943,0,0,0,0,0,2366,0,0,0,0,0,0,0,0,0,0,352256,0,352256,0,0,0,0,0,0,4078,0,0,4081,0,0,0,0,0,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57916,528,528,4246,4247,528,528,57893,57893,57893,61596,61597,57893,57893,57893,57916,57916,57916,57916,57943,60410,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,58481,528,852,528,528,57916,61602,61603,57916,57916,57916,57943,57943,57943,61608,61609,57943,57943,57943,0,0,0,0,306,306,306,306,306,306,306,306,306,306,306,306,306,0,306,0,0,0,0,345,346,347,348,349,0,0,0,0,0,0,0,0,1181,0,0,0,0,0,0,0,0,0,349,348,131072,347,348,348,0,349,347,348,0,347,348,457,464,481,481,481,492,492,492,498,492,492,498,498,492,498,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,541,57907,541,57907,541,541,57907,541,541,57930,57907,541,541,57907,57907,57907,57907,57957,57957,57907,57907,57907,57907,57957,57957,57907,541,57907,57907,57930,57907,57907,57907,57907,57907,57907,57907,57930,57930,57907,57907,57957,57907,57907,57907,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,306,307,0,0,0,0,0,0,646,0,0,0,0,651,652,653,654,655,656,657,0,0,0,0,0,0,0,0,0,0,0,2388,0,0,0,0,0,0,0,672,673,0,675,676,0,0,0,0,0,682,0,0,0,0,307,0,0,0,0,0,0,307,0,0,0,0,0,0,0,0,0,0,0,0,352256,0,0,0,0,0,0,0,716,0,0,719,0,721,0,723,0,0,0,0,0,0,0,394,0,0,0,0,0,0,0,0,1222,0,0,0,0,0,0,0,0,0,733,0,0,0,0,0,0,0,0,0,0,0,0,0,3172,0,0,0,0,0,763,764,0,766,767,675,0,0,0,0,0,0,0,395,0,0,0,0,0,0,0,0,2319,0,0,0,0,0,0,0,0,0,0,782,783,0,785,0,0,0,0,764,0,0,791,0,0,0,0,131072,0,0,0,0,0,245760,0,0,0,0,245760,0,0,0,0,0,0,0,0,0,0,0,0,3171,0,0,0,0,692,0,0,0,764,0,0,0,0,0,0,0,0,757,821,0,0,0,757,0,0,824,699,0,0,0,829,0,0,0,831,0,0,0,692,699,0,0,692,829,829,0,0,0,0,0,528,528,528,528,528,528,2874,528,528,528,528,528,528,528,3489,528,528,528,528,528,528,528,528,3256,528,528,528,528,528,528,528,528,849,853,856,528,865,528,528,528,881,883,886,528,528,528,899,903,528,528,528,57893,57893,57893,58268,58272,58275,57893,58284,57893,57893,57893,58300,58302,58305,57893,57893,57893,58318,58322,57893,57893,57893,0,57916,57916,57916,58344,58348,58351,57916,58360,57916,57916,57916,58376,58378,58381,57916,57916,57916,58394,58398,57916,57916,57916,57916,58367,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59999,57916,57916,57916,57916,0,0,0,0,58409,57943,57943,57943,58419,58423,58426,57943,58435,57943,57943,528,3649,528,57893,60996,57893,0,0,0,0,0,0,0,0,1254,0,0,0,0,0,0,0,57943,58451,58453,58456,57943,57943,57943,58469,58473,57943,57943,57943,849,1140,528,899,903,1144,0,58489,58268,57893,58318,58322,58494,155942,1151,0,0,0,0,0,0,1179,0,0,0,0,0,0,0,0,0,1239,0,0,0,0,0,0,1278,0,0,0,0,1283,0,0,0,0,0,0,0,0,0,0,3675,0,3828,0,0,0,0,0,0,1321,0,0,0,0,0,0,0,0,0,0,0,0,1198,0,0,0,528,1375,528,528,528,1378,528,528,528,528,528,528,528,1385,528,528,0,2932,0,0,0,0,57893,57893,57893,57893,57893,57893,60282,57893,1389,528,528,528,528,528,528,528,528,528,528,528,1400,528,528,1407,58817,57893,57893,57893,57893,57893,57893,57893,58824,57893,57893,58828,57893,57893,57893,57893,57893,59895,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59898,59899,57893,57893,57893,57893,57916,57916,57916,58934,57916,57916,58941,57916,57916,57916,57916,57916,57916,57916,57916,57916,59984,57916,57916,57916,57916,57916,57916,57916,58955,57916,57916,57916,57916,57916,0,57893,57943,57943,57943,57943,57943,57943,57943,57943,61542,57943,57943,57943,0,4202,0,0,57943,57943,57943,59003,57943,57943,57943,59006,57943,57943,57943,57943,57943,57943,57943,59013,57943,57943,59017,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59029,57943,57943,57943,57943,57943,61337,57943,57943,57943,61341,57943,528,57893,0,0,0,0,3139,0,0,0,0,0,0,0,0,0,3149,57943,59036,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59050,57943,57943,57943,57943,57943,59019,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,58482,528,528,528,528,1822,0,1824,0,0,0,1826,0,746,0,0,0,0,0,0,0,399,0,0,404,0,0,0,0,0,1872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2350,0,1757,0,0,0,0,0,0,528,1891,528,528,528,528,528,528,2440,528,528,528,528,528,528,528,528,528,528,2495,528,528,528,528,0,1897,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1428,528,528,528,528,1919,528,528,528,528,528,528,528,528,528,528,1928,528,528,528,1932,528,528,1937,528,528,528,528,528,528,528,528,528,1419,528,528,528,528,528,528,528,528,528,528,58773,0,57893,59333,57893,57893,57893,57893,57893,57893,57893,59340,57893,57893,57893,59362,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59371,57893,57893,57893,57893,57943,57943,57893,57893,57893,57893,57943,57943,57893,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,61075,57893,57893,57893,57893,57893,58821,57893,57893,57893,58825,57893,57893,57893,57893,57893,57893,59348,57893,57893,57893,57893,57893,57893,57893,57893,57893,60875,57893,57893,57893,57893,57893,57893,57893,57893,59375,57893,57893,59380,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61457,57916,57916,57916,57916,57916,57916,57916,59462,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59471,57916,57916,57916,57916,58368,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60011,57916,57916,57916,57916,59475,57916,57916,59480,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59972,57916,57916,57916,59975,59558,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59567,57943,57943,57943,59571,57943,57943,59576,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59569,57943,57943,57916,57916,57916,59990,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58948,57916,57916,57916,57943,57943,57943,60073,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59010,57943,57943,57943,2804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2376,57916,60409,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59030,57943,57943,57943,57943,60474,57943,57943,528,528,528,528,528,57893,57893,57893,57893,57893,2290,0,2291,0,0,3214,0,0,0,528,3218,528,528,528,528,528,528,528,528,528,528,1383,528,528,528,528,1388,3242,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1962,57893,60633,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60335,57893,57916,57916,57916,57916,60682,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59998,57916,57916,57916,57916,0,0,3419,0,0,0,0,0,0,0,0,0,3425,0,0,0,0,0,2410,0,0,0,0,0,0,0,0,0,0,417792,309,310,0,0,0,0,3841,528,528,528,528,528,528,528,3846,528,528,528,528,528,528,2465,528,528,528,528,528,528,528,528,528,528,3943,528,3945,528,528,528,57893,57893,57893,57893,61208,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59369,57893,57893,57893,57893,57916,61227,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59524,57916,0,0,3675,3927,0,0,0,0,0,0,0,0,0,0,0,0,1266,0,0,0,528,528,528,3937,528,528,528,528,3941,528,528,528,528,528,3947,528,528,0,57893,57893,57893,58320,57893,57893,155942,1151,0,0,0,0,0,0,1751,0,0,0,0,0,0,0,0,0,754,0,0,0,0,0,0,528,528,57893,57893,57893,61296,57893,57893,57893,57893,61300,57893,57893,57893,57893,57893,58317,57893,57893,57893,57893,0,57916,57916,58336,57916,57916,61306,57893,57893,57893,57893,57916,57916,57916,61312,57916,57916,57916,57916,61316,57916,57916,57916,57916,58371,58373,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58945,57916,57916,57916,57916,57916,57916,57916,57916,61322,57916,57916,57916,57916,57943,57943,57943,61328,57943,57943,57943,57943,57943,57943,60981,57943,60983,57943,57943,57943,57943,57943,57943,57943,57943,60078,57943,57943,57943,57943,60083,57943,57943,61332,57943,57943,57943,57943,57943,61338,57943,57943,57943,57943,528,57893,0,0,0,0,0,2797,0,0,0,0,0,0,0,0,0,0,1881,0,0,0,0,0,528,528,528,4017,528,528,528,4021,528,528,528,528,528,57893,57893,57893,57893,57893,57893,58281,57893,57893,57893,57893,57893,57893,57893,61376,57893,57893,57893,61380,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,60939,57916,60941,57916,57916,57916,57916,57916,57916,57916,57916,58881,57916,57916,57916,57916,57916,57916,58896,57916,57916,61392,57916,57916,57916,61396,57916,57916,57916,57916,57916,57916,57943,57943,57943,61242,57943,57943,57943,61245,57943,57943,57943,57943,61408,57943,57943,57943,61412,57943,57943,57943,57943,57943,57943,0,0,0,0,0,2821,0,0,0,0,0,0,0,0,0,0,1739,0,0,0,0,0,0,4270,0,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57916,61311,57916,57916,61313,57916,57916,57916,57916,57916,57916,59497,57916,57916,59500,57916,57916,57916,57916,57916,57916,57916,61526,57916,61528,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,60415,57943,57943,57943,57943,0,528,528,57893,57893,57916,57916,57943,57943,0,528,57893,57916,57943,4308,4309,61654,61655,61656,0,528,57893,57916,57943,0,528,57893,57916,57943,0,0,0,0,0,2831,0,0,0,0,0,0,0,0,0,0,1257,0,0,0,0,1262,0,350,0,408,0,0,0,0,0,0,0,0,0,0,408,0,350,0,139264,147456,0,0,0,0,0,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,542,57908,542,57908,542,542,57908,542,542,57931,57908,542,542,57908,57908,57908,57908,57958,57958,57908,57908,57908,57908,57958,57958,57908,623,57908,57974,57931,57908,57908,57908,57908,57908,57908,57908,57931,57931,57908,57908,57958,57908,57908,57908,57974,57974,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,131072,0,0,0,328,0,0,330,0,0,0,0,0,0,2847,2848,0,0,0,0,0,0,0,0,0,5808128,0,0,0,0,4792320,4833280,844,528,528,528,528,528,528,528,528,528,528,528,890,528,528,528,528,528,3499,528,528,528,528,528,528,528,528,528,3508,528,908,528,528,57893,57893,58262,57893,57893,57893,57893,57893,57893,57893,57893,57893,61222,57916,57916,57916,57916,57916,57916,57893,57893,58309,57893,57893,57893,57893,58327,57893,57893,0,57916,57916,58338,57916,57916,57916,57916,58877,57916,57916,57916,57916,58883,57916,57916,57916,57916,57916,57916,59993,59994,57916,57916,57916,57916,57916,57916,60001,57916,57943,57943,57943,57943,58460,57943,57943,57943,57943,58478,57943,57943,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,1151,1724,1173,0,0,0,0,1178,0,0,0,0,0,0,0,0,0,0,2310144,0,368,0,0,0,0,0,1173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2816,528,528,528,528,1354,528,528,528,528,1364,528,528,528,528,528,528,2491,528,2493,528,528,528,528,528,528,0,58773,914,57893,57893,57893,58779,57893,57893,57893,57893,57893,57893,57893,57893,57893,58793,57916,58874,57916,57916,57916,57916,57916,57916,57916,57916,57916,58888,57916,57916,57916,57916,57916,59448,57916,57916,57916,57916,57916,57916,57916,57916,57916,59459,58898,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59961,57916,58914,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59987,59988,58953,57916,57916,57916,57916,57916,57916,0,57893,57943,57943,57943,58968,57943,57943,57943,57943,57943,59041,57943,57943,57943,57943,57943,57943,57943,57943,59053,59054,0,1728,0,0,0,0,1735,0,0,0,0,0,0,0,0,0,3424,0,0,0,0,0,0,0,0,1761,0,0,0,0,0,0,0,0,0,0,0,0,0,3185,0,0,1775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2840,0,0,2353,0,0,0,0,0,0,0,0,0,0,0,0,0,3201,0,0,2449,528,528,528,528,528,528,2454,528,2456,528,528,528,528,528,528,2884,528,528,528,528,528,528,528,528,528,528,2915,528,528,528,528,528,2502,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61387,57916,57916,57893,57893,57893,59880,57893,57893,57893,57893,57893,57893,59885,57893,59887,57893,57893,57893,0,0,2592,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,61470,57943,57943,57943,57943,57943,57943,59976,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60013,57916,60059,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59033,528,2906,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1960,528,57916,57916,60383,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60367,57916,57916,0,0,3675,0,0,0,0,3931,0,0,3933,0,0,0,0,0,0,1192,0,0,0,1196,1197,0,0,0,0,528,3936,528,528,3938,528,528,528,528,528,528,528,528,528,528,528,528,3247,528,528,528,528,528,57893,61295,57893,57893,61297,57893,57893,57893,57893,57893,57893,57893,57893,57893,61456,57916,57916,57916,57916,57916,57916,0,0,800,0,800,0,0,0,0,0,0,0,0,800,0,0,0,0,307,307,307,307,307,307,307,307,307,307,307,307,307,0,307,0,528,528,528,528,860,528,528,528,528,528,528,528,528,528,528,528,528,3257,528,528,3260,57916,58355,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60368,57916,1161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3174,528,528,528,528,58773,1987,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59910,57893,57893,57893,57893,57893,57893,57893,57943,57943,60445,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59585,57943,57943,57893,61081,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60639,57893,0,0,0,351,0,0,0,0,0,0,0,0,0,0,0,0,1746,0,0,0,0,0,0,352,0,0,0,0,0,0,0,0,0,0,0,0,1756,1757,0,0,0,0,353,351,131072,0,351,351,0,353,0,351,0,0,351,353,351,0,0,0,351,351,351,351,351,351,351,351,505,351,351,351,351,351,351,351,351,351,351,351,351,351,351,351,351,543,57909,543,57909,543,543,57909,543,543,57932,57909,543,543,57909,57909,57909,57909,57959,57959,57909,57909,57909,57909,57959,57959,57909,543,57909,57909,57932,57909,57909,57909,57909,57909,57909,57909,57932,57932,57909,57909,57959,57909,57909,57909,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,811,812,0,0,0,0,0,0,758,0,0,817,0,0,0,0,0,0,4082,0,0,0,0,528,528,528,528,528,3221,528,3222,528,528,528,528,0,817,0,664,0,0,0,0,0,0,0,0,0,0,0,0,1787,0,0,0,832,0,0,0,0,0,0,812,0,0,0,0,0,0,0,528,528,528,528,528,2873,528,528,528,528,2877,528,528,528,0,2503,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61087,57893,57893,57893,57893,528,850,528,528,528,866,870,528,528,528,528,528,891,893,528,528,0,2932,0,0,0,0,57893,57893,57893,60280,57893,60281,57893,57893,57893,50676,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59473,904,528,528,528,57893,57893,58263,58269,57893,57893,57893,58285,58289,57893,57893,57893,0,2590,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,59970,57916,57916,57916,57916,57916,57916,57893,57893,58310,58312,57893,57893,58323,57893,57893,57893,0,57916,57916,58339,58345,57916,0,0,0,0,57893,57943,57943,58412,57943,57943,57943,58429,57943,57943,58445,57916,57916,58361,58365,57916,57916,57916,57916,57916,58386,58388,57916,57916,58399,57916,57916,57916,57916,58904,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60945,57916,57916,57916,57916,57943,57943,57943,57943,58461,58463,57943,57943,58474,57943,57943,57943,850,528,893,528,528,0,58270,58266,58491,58314,57893,57893,155942,1151,0,0,1154,0,0,0,0,0,245760,245760,245760,245760,245760,245760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4358144,4358144,4358144,904,528,0,57893,58269,58312,57893,58323,57893,155942,1151,0,302,0,0,306,307,0,0,0,0,0,0,0,0,0,0,0,0,0,1772,0,0,0,0,0,1217,0,1219,0,1221,0,0,0,0,0,0,0,0,1286,0,0,0,0,0,0,0,0,1247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3839,0,1332,0,0,0,0,0,0,0,528,528,528,528,528,528,528,528,528,528,528,528,3850,528,528,1374,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2461,528,528,528,1412,528,528,528,528,528,528,528,528,1424,1425,528,528,0,57893,57893,57893,57893,57893,57893,294,1151,0,0,0,0,0,0,0,5480448,4358144,4358144,4358144,4358144,4857856,4874240,4358144,4358144,58773,914,57893,57893,57893,57893,58780,57893,57893,57893,57893,57893,57893,57893,57893,57893,60289,57893,57893,57893,57893,57893,60294,57893,57916,57916,58875,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60378,57916,57916,57916,57916,58932,57916,57916,57916,57916,57916,57916,57916,58946,57916,57916,57916,57916,57916,57916,61241,57943,57943,57943,57943,57943,57943,57943,61246,57943,57916,57916,57916,58958,58959,57916,57916,0,57893,57943,57943,57943,57943,58969,57943,57943,3648,528,528,60995,57893,57893,0,0,0,0,0,0,0,0,1815,0,0,0,0,0,0,0,57943,59e3,59002,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59602,57943,57943,0,1808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212992,0,528,528,1966,528,528,528,528,528,528,528,528,528,1975,528,528,528,528,528,3513,3515,528,528,528,3518,528,3520,3521,528,57893,528,1981,528,528,58773,0,57893,57893,57893,57893,57893,57893,57893,59338,57893,57893,57893,50676,2087,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60674,57916,57916,57916,57916,57893,59409,57893,57893,57893,57893,57893,57893,57893,57893,57893,59419,57893,57893,57893,57893,57893,59907,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,57916,57916,58340,57916,57916,59425,57893,57893,50676,0,57916,57916,57916,57916,57916,57916,57916,59438,57916,57916,57916,57916,57916,61116,57916,57916,57916,57916,57916,57916,57916,57916,61124,57916,59509,57916,57916,57916,57916,57916,57916,57916,57916,57916,59519,57916,57916,57916,57916,59525,57943,57943,59559,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59620,57943,57943,2393,0,2395,0,0,0,0,0,0,0,0,0,0,2403,0,0,0,0,343,390,0,0,0,139264,147456,0,0,0,423,0,0,0,2408,2409,0,0,0,0,0,2413,0,0,0,0,0,0,0,3153,0,0,0,0,0,0,0,0,378,0,0,0,0,0,0,0,0,2419,528,528,528,528,528,528,2426,528,528,528,528,528,528,528,1394,528,528,528,528,528,528,528,528,2886,528,528,528,528,528,528,528,528,528,2450,528,528,528,528,528,528,528,528,2457,528,2459,528,2462,528,528,528,2476,528,528,528,528,528,528,528,528,528,528,528,528,528,61371,57893,57893,0,0,0,59849,57893,57893,57893,57893,57893,57893,57893,59857,57893,57893,57893,57893,57893,60301,57893,57893,57893,57893,57893,57893,57893,60306,57893,57893,59890,57893,59893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60304,57893,57893,57893,57893,59902,57893,57893,57893,57893,57893,59908,57893,57893,57893,57893,57893,57893,57893,57893,57893,60330,57893,57893,57893,60333,60334,57893,57893,57916,57916,59977,57916,59979,57916,59982,57916,57916,57916,57916,57916,57916,57916,57916,57916,60363,57916,60365,57916,57916,57916,57916,57916,57916,57916,57916,59991,57916,57916,57916,57916,57916,59997,57916,57916,57916,57916,57916,57916,61606,57943,57943,57943,57943,57943,57943,57943,0,0,57943,57943,60060,57943,60062,57943,60065,57943,57943,57943,57943,57943,57943,57943,57943,57943,59007,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60074,57943,57943,57943,57943,57943,60080,57943,57943,57943,57943,57943,57943,59612,57943,57943,57943,57943,57943,57943,57943,57943,57943,0,0,4240,0,0,0,528,0,0,0,2819,0,0,0,0,0,0,0,0,0,0,2827,0,0,0,0,131072,0,0,0,357,0,0,0,0,359,0,0,400,0,0,0,0,0,139264,147456,400,411,0,424,411,2841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3187,528,2880,528,528,528,528,528,2885,528,528,528,528,528,528,528,528,3502,528,528,528,528,528,528,528,57893,57893,57893,60310,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60628,57893,57893,57893,57893,57916,60356,57916,57916,57916,57916,57916,60361,57916,57916,57916,57916,57916,57916,57916,57916,59953,57916,59955,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,60421,57943,57943,57943,57943,57943,60426,57943,57943,57943,57943,57943,57943,60064,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59566,57943,57943,57943,57943,57943,57893,60652,57893,57893,57893,57893,0,0,57916,57916,57916,57916,57916,60661,57916,60662,57916,57916,57916,57916,60701,57916,57916,57916,57916,57943,57943,57943,57943,57943,60710,57943,57943,57943,57943,57943,61481,57943,57943,61483,57943,0,0,0,0,0,0,0,2808,0,0,0,0,0,0,0,0,350,0,0,0,0,0,0,0,60711,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59587,528,3483,528,528,528,528,528,528,528,528,528,528,528,528,528,528,1978,528,60867,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59929,57916,60909,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60395,57916,57916,57943,60951,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60069,57943,57943,0,3670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,278528,0,0,0,3675,0,0,0,3930,0,0,0,0,0,0,0,0,0,3476,0,0,0,0,0,0,3935,528,528,528,528,3939,528,528,528,528,528,528,528,528,528,3948,528,528,61294,57893,57893,57893,57893,61298,57893,57893,57893,57893,57893,57893,57893,57893,60342,57893,57893,0,0,0,3e3,0,57893,61307,57893,57893,57893,61310,57916,57916,57916,57916,61314,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,0,0,0,0,528,528,528,3219,528,528,528,528,528,3224,528,528,57916,57916,57916,57916,61323,57916,57916,57916,61326,57943,57943,57943,57943,61330,57943,57943,57943,57943,57943,60089,60090,60091,57943,57943,57943,57943,57943,57943,57943,57943,57943,59615,57943,57943,57943,57943,59621,57943,4090,528,528,528,528,528,528,528,528,528,57893,57893,57893,57893,57893,61447,0,0,0,4149,0,528,528,528,528,528,528,528,528,528,528,528,528,528,3851,528,528,528,528,528,4248,528,57893,57893,57893,57893,57893,61598,57893,57893,57916,57916,57916,57916,58919,57916,57916,58923,57916,57916,57916,57916,57916,57916,57916,57916,61572,61573,57916,57916,57943,57943,57943,57943,57916,57916,57916,61604,57916,57916,57943,57943,57943,57943,57943,61610,57943,57943,0,0,0,0,363,0,0,0,0,139264,147456,0,0,0,0,0,0,1307,0,528,528,1339,528,1342,528,528,528,4269,0,4271,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,57916,0,0,0,0,57893,57943,57943,58413,57943,57943,57943,57943,57943,57943,57943,57943,61582,0,0,0,0,0,0,528,388,0,354,0,0,0,0,0,397,398,0,399,0,0,0,0,0,0,4208,528,528,528,528,528,528,528,528,528,1380,528,528,528,528,528,528,371,379,407,0,0,0,371,0,0,354,0,0,0,371,0,410,412,0,371,399,0,0,371,379,0,139264,147456,399,410,0,0,410,0,0,0,433,131072,0,433,433,443,0,0,433,0,412,433,0,0,0,0,131072,0,0,0,438,0,0,0,0,0,311,0,0,0,0,2796,0,0,0,0,0,0,0,0,0,0,0,450560,450560,0,0,0,465,0,0,0,493,493,493,493,493,493,493,493,493,493,515,515,515,515,515,527,515,515,515,527,515,515,515,515,515,515,544,57910,544,57910,544,544,57910,544,544,57933,57910,544,544,57910,57910,57910,57910,57960,57960,57910,57910,57910,57910,57960,57960,57910,624,57910,57975,57933,57910,57910,57910,57910,57910,57910,57910,57933,57933,57910,57910,57960,57910,57910,57910,57975,57975,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,131072,0,0,0,441,342,0,0,0,453,0,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,2853,0,0,0,306,307,0,0,0,643,0,0,0,0,0,0,0,0,0,3687,0,0,0,0,0,0,669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3428,845,528,528,528,528,528,528,876,878,528,528,528,528,528,528,528,1415,528,528,528,528,528,528,1426,528,528,528,528,528,57893,57893,58264,57893,57893,57893,57893,57893,57893,58295,58297,57893,57893,57893,57893,58803,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59384,57893,57893,57893,57893,58448,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,528,528,528,528,528,57893,57893,57893,57893,57893,2290,1725,2291,0,0,0,0,0,1309,1335,1336,0,1309,528,528,528,528,528,528,1344,528,528,528,528,528,3706,528,528,528,528,528,528,528,528,528,528,528,1974,528,528,528,528,528,528,1348,528,528,1359,528,528,1363,528,528,528,528,528,528,528,1416,528,528,528,528,528,528,528,528,3709,528,528,528,528,528,528,528,58773,914,57893,57893,57893,57893,57893,57893,57893,58783,57893,57893,57893,58787,57893,57893,57893,57893,57893,60623,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58845,57893,57893,57893,57893,57893,58798,57893,57893,58802,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60638,57893,57893,57893,57893,57916,58916,57916,57916,57916,58920,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59469,57916,57916,57916,57916,57916,58972,57943,57943,57943,58976,57943,57943,58987,57943,57943,58991,57943,57943,57943,57943,57943,57943,60076,60077,57943,57943,57943,57943,57943,57943,60084,57943,59014,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59604,1745,1746,0,0,0,0,0,0,0,0,0,0,0,0,0,0,507904,0,0,0,0,1778,0,0,0,0,0,0,0,0,0,0,0,0,1828,0,0,0,1791,0,1793,0,0,0,1797,0,0,0,1801,0,0,0,1805,0,0,0,0,131072,0,0,0,442,0,0,0,449,0,0,0,0,0,2846,0,0,0,0,0,0,0,0,0,0,1224,0,0,0,0,0,1980,528,528,528,58773,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60625,57893,57893,57893,57893,57893,57893,57893,57943,57943,57943,57943,59545,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60068,57943,57943,57943,0,0,2314,0,2315,0,0,0,0,0,0,0,0,0,0,0,262738,0,0,0,0,2377,0,0,0,0,0,0,2384,0,0,0,0,0,0,0,0,1326,1327,0,0,1167,0,0,0,0,528,528,2421,528,528,528,528,528,528,528,528,528,528,528,528,888,528,528,528,528,528,528,528,2489,528,528,528,528,528,528,528,528,528,528,0,0,57893,57893,57893,57893,60611,57893,57893,57893,57893,57893,57893,59868,57893,57893,57893,57893,57893,57893,57893,57893,57893,58330,0,57916,57916,57916,57916,58347,0,0,0,57893,57893,59851,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60901,57893,57893,57893,57893,57893,57893,57893,60113,0,0,1729,0,0,1736,0,0,0,0,0,0,0,0,0,139264,147456,0,0,0,0,0,0,0,2858,0,0,0,0,0,0,0,0,0,2864,0,0,0,0,0,3152,0,0,0,0,0,0,0,0,0,3158,57893,57893,57893,57893,60311,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60890,57893,60892,57893,57893,60323,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60295,60443,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60455,57943,57943,57943,57943,57943,59593,57943,57943,59596,57943,57943,57943,57943,57943,57943,57943,57943,59551,57943,57943,57943,57943,57943,57943,57943,57943,59565,57943,57943,57943,57943,57943,57943,57943,57943,59580,57943,57943,57943,57943,57943,57943,57943,57943,59614,57943,57943,57943,57943,57943,57943,57943,57943,60037,57943,57943,60041,57943,57943,57943,60045,0,0,3190,0,0,0,0,3195,0,0,0,0,0,0,0,0,1783,1784,1785,0,0,0,0,0,3250,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2472,57893,57893,60642,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61385,57893,57916,57916,57916,0,3468,3469,0,0,0,0,3474,0,0,0,0,0,0,0,0,1799,0,0,0,0,0,0,0,0,0,3681,0,0,0,3684,0,0,0,0,0,0,0,0,3692,57893,61092,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,0,0,0,0,4290,528,3813,57893,57893,61159,3816,0,0,0,0,3820,0,0,0,0,0,0,1236,0,0,0,0,0,0,0,0,0,2799,0,0,0,0,0,0,0,3833,0,0,0,0,3837,0,0,0,0,0,0,0,0,3840,0,528,528,528,3842,528,528,528,3845,528,528,528,528,528,528,528,1938,528,528,528,528,528,528,528,528,3235,528,528,3238,528,528,528,528,57893,57893,57893,61207,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61084,57893,57893,57893,57893,57893,57893,57893,61226,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60407,57916,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61302,57893,61304,57893,57893,57893,57893,58819,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59913,57893,57893,57893,57893,57916,61320,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,4268,0,57943,57943,61334,57943,61336,57943,57943,57943,57943,57943,57943,528,57893,0,0,0,0,0,3164,0,0,0,0,3169,0,0,0,0,0,0,1220,0,0,0,0,0,1226,0,1228,0,4146,0,0,0,0,528,528,528,528,528,528,528,528,528,528,4160,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61516,57893,57893,57893,0,2591,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,59996,57916,57916,57916,57916,57916,57916,528,528,57893,57893,61560,57893,61561,57893,57893,57893,57893,57893,57893,57893,57893,57916,0,0,0,0,57893,57943,57943,58414,58420,57943,57943,57943,58436,58440,57943,57943,57943,57943,57943,61411,57943,61413,61414,57943,61416,57943,61418,0,0,0,0,0,1849,0,0,0,0,0,0,1748,0,0,0,0,0,1864,0,0,0,0,0,0,0,0,0,0,2401,0,0,0,0,0,57916,61568,57916,61569,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,61576,57943,57943,57943,57943,57943,61539,57943,61541,57943,57943,57943,57943,0,0,0,0,0,0,3435,0,0,0,0,0,0,0,0,0,1273,0,0,0,0,0,0,61577,57943,57943,57943,57943,57943,57943,57943,57943,0,0,0,0,0,0,528,528,528,2871,2872,528,528,528,528,528,528,528,528,528,528,3237,528,528,528,528,528,358,359,360,0,0,0,0,0,0,0,0,0,368,0,296,0,0,0,0,131072,0,352256,352256,0,0,0,352256,0,0,352256,0,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,352256,0,482,482,482,0,0,0,0,0,0,0,0,0,0,516,516,520,520,520,520,520,516,520,520,520,516,520,520,520,520,520,520,545,57911,545,57911,545,545,57911,545,545,57934,57911,545,545,57911,57911,57911,57911,57961,57961,57911,57911,57911,57911,57961,57961,57911,625,57911,57976,57934,57911,57911,57911,57911,57911,57911,57911,57934,57934,57911,57911,57961,57911,57911,57911,57976,57976,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,245760,0,0,245760,0,0,245760,0,0,245760,0,245760,0,0,0,0,0,0,0,0,0,0,0,0,0,516567,516567,516567,0,306,307,0,0,0,0,644,0,0,0,0,0,0,0,0,1837,0,0,0,0,0,0,0,0,0,687,688,0,0,0,0,0,0,0,0,0,0,0,368,368,0,0,0,760,0,0,0,0,765,0,0,0,0,0,0,0,0,0,0,4841472,0,0,0,4898816,0,794,0,0,0,0,0,0,0,0,0,0,803,0,808,0,0,0,0,392,0,0,0,396,392,0,0,0,0,0,0,0,2823,0,0,0,0,0,0,0,0,677,0,0,0,0,0,0,0,0,0,0,820,0,0,0,0,0,644,0,0,0,0,0,0,0,3436,0,0,0,0,0,0,0,0,681,0,0,0,0,0,0,680,0,0,794,0,0,0,0,0,0,0,0,644,0,0,794,528,528,528,528,528,3717,528,528,528,528,528,528,528,528,528,528,1381,528,528,528,528,528,846,528,528,528,528,867,871,877,528,882,528,528,528,528,528,900,528,528,528,528,57893,57893,58265,57893,57893,57893,57893,58286,58290,58296,57893,58301,57916,57916,58362,58366,58372,57916,58377,57916,57916,57916,57916,57916,58395,57916,57916,57916,57916,57916,61231,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60686,57916,57916,57916,57916,57916,57943,58452,57943,57943,57943,57943,57943,58470,57943,57943,57943,57943,528,528,528,900,1215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3441,1264,0,0,0,0,0,1269,0,0,0,0,0,1274,0,0,0,0,0,3179,0,0,0,0,0,0,0,0,0,0,679,0,0,0,0,0,0,1294,0,0,1165,0,0,0,1300,0,1302,0,0,0,0,0,0,1284,0,0,0,0,0,0,0,0,0,1301,0,0,0,0,0,0,0,1300,1319,0,1322,0,0,0,1196,0,0,0,0,1330,0,0,1215,1330,1337,528,528,528,528,1343,528,528,528,528,1349,528,528,528,528,528,528,528,528,528,528,1370,528,528,0,57893,57893,57893,57893,57893,57893,155942,0,0,0,0,0,0,0,1285,0,0,0,0,1290,0,0,0,58773,914,58775,57893,57893,57893,57893,57893,58782,57893,57893,57893,57893,58788,57893,57893,57893,57893,57893,60872,57893,57893,57893,57893,57893,60876,57893,57893,57893,57893,57893,58860,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,58917,57916,57916,57916,57916,58922,57916,57916,57916,57916,57916,57916,57916,57916,57916,60403,57916,57916,57916,60406,57916,57916,58930,57916,57916,57916,58937,58939,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59957,57916,57916,57916,57916,57916,57943,57943,57943,57943,58977,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,58998,57943,59016,57943,57943,57943,57943,57943,59021,57943,57943,57943,59025,57943,57943,57943,59032,59034,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59622,57943,59057,528,528,528,528,528,528,57893,57893,57893,57893,57893,57893,1151,0,0,0,0,385024,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5259264,4358144,4358144,4358144,4358144,0,0,1729,0,0,0,0,1736,0,0,0,0,0,0,0,0,1880,0,0,0,0,0,0,0,0,0,1747,1748,0,0,0,0,0,1754,0,0,0,0,0,0,0,3447,0,0,0,0,0,3450,0,3452,0,1776,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5177344,0,0,0,0,0,1794,0,0,0,0,0,0,0,1802,1803,0,0,0,0,0,3207,0,0,0,0,0,0,0,0,0,0,3183,0,0,0,0,0,0,0,0,1810,0,0,0,0,0,0,0,0,0,0,0,0,1841,0,1843,0,0,0,1874,0,0,0,0,0,0,0,0,0,0,0,0,0,3213,0,0,528,528,528,1901,528,528,528,528,1907,528,528,528,528,528,528,528,2441,528,528,528,528,528,528,528,528,3720,528,528,528,528,528,528,528,528,528,528,1918,528,528,528,528,1922,528,528,528,528,528,528,528,2466,2467,528,528,528,528,528,528,528,1417,528,528,528,528,528,528,528,528,3856,528,528,528,57893,57893,57893,57893,528,528,528,528,1968,1969,528,528,528,528,528,528,528,528,528,528,1924,1925,528,528,528,528,57893,57893,59344,57893,57893,57893,57893,59350,57893,57893,57893,57893,57893,57893,57893,57893,61212,57893,57893,57893,57893,57893,57893,57893,57893,57893,59361,57893,57893,57893,57893,59365,57893,57893,57893,57893,57893,57893,57893,57893,59883,57893,57893,57893,59886,57893,57893,57893,57893,57893,57893,57893,57893,59378,57893,57893,57893,59383,57893,57893,57893,57893,57893,57893,57893,59909,57893,57893,57893,57893,57893,57893,57893,59915,57893,57893,57893,59412,59413,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59921,57893,57893,57893,57893,57893,57893,57893,57893,59351,57893,57893,57893,57893,57893,57893,57893,57916,59444,57916,57916,57916,57916,59450,57916,57916,57916,57916,57916,57916,57916,57916,57916,60685,57916,57916,57916,57916,57916,57916,57916,59461,57916,57916,57916,57916,59465,57916,57916,57916,57916,57916,57916,57916,57916,57916,60943,57916,57916,57916,57916,57916,57916,57916,57916,57916,59478,57916,57916,57916,59483,57916,57916,57916,57916,57916,57916,57916,57916,60021,57943,57943,57943,57943,57943,57943,57943,60029,57916,57916,59512,59513,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59470,57916,57916,57916,57943,57943,57943,57943,59546,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59557,57943,57943,57943,57943,59561,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60082,57943,57943,57943,57943,59574,57943,57943,57943,59579,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60735,57943,57943,57943,57943,57943,59608,59609,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60095,57943,57943,2302,2303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5767168,0,2339,0,0,2341,2342,0,0,0,0,0,0,0,0,0,0,0,335872,0,0,0,0,528,2434,528,528,2438,528,528,528,2442,528,528,528,528,528,528,528,2912,528,528,528,528,528,528,528,528,528,3857,528,528,57893,57893,57893,57893,528,528,528,528,2452,528,528,528,2455,528,528,528,528,528,528,528,2925,528,528,528,2928,528,528,528,528,528,2487,528,528,528,528,528,2492,528,528,528,528,528,528,528,0,0,57893,57893,57893,60610,57893,57893,57893,57893,57893,60615,57893,0,2503,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60288,57893,57893,60291,60292,57893,57893,57893,57893,57893,57893,57893,57893,59865,57893,57893,59869,57893,57893,57893,59873,57893,57893,57893,57893,57893,60312,57893,57893,57893,57893,57893,57893,57893,60320,57893,57893,59916,57893,57893,57893,57893,59920,57893,57893,57893,57893,57893,59925,57893,57893,57893,57893,57893,60328,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,58867,50676,58773,990,58870,57916,57916,57916,57916,57916,60005,57916,57916,57916,57916,60009,57916,57916,57916,57916,57916,60014,57943,57943,57943,57943,60088,57943,57943,57943,57943,60092,57943,57943,57943,57943,57943,60097,2856,0,0,0,0,0,0,0,0,0,0,2863,0,0,0,0,0,0,212992,0,0,0,0,0,212992,212992,212992,212992,2893,528,528,528,528,2896,528,528,2898,528,2899,528,528,528,528,528,1356,528,1361,528,528,1365,528,528,1368,528,528,528,528,528,2907,528,528,2911,528,528,528,528,528,528,528,528,528,2494,528,528,2497,2498,528,0,2920,528,528,528,2923,528,528,528,528,528,528,528,528,528,528,528,528,3506,3507,528,528,57893,60308,57893,57893,57893,57893,57893,57893,57893,57893,57893,60317,57893,57893,60321,57893,57893,57893,57893,58835,57893,57893,57893,58842,58844,57893,57893,57893,57893,57893,57893,59381,57893,57893,57893,57893,57893,57893,57893,57893,57893,60902,57893,57893,60905,57893,57893,57893,0,57916,57916,60346,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60354,60369,57916,57916,57916,57916,60372,57916,57916,60374,57916,60375,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,4288,0,0,0,528,57916,57916,57916,57916,60384,57916,57916,60388,57916,57916,57916,57916,57916,57916,57916,57916,60402,57916,57916,57916,57916,57916,57916,57916,57916,59995,57916,57916,57916,57916,6e4,57916,57916,57916,60397,57916,57916,57916,60400,60401,57916,57916,57916,57916,57916,57916,57916,57916,57916,60683,57916,57916,57916,57916,57916,57916,57916,57916,59452,57916,57916,57916,57916,57916,57916,57916,57943,57943,60419,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60469,57943,57943,57943,57943,57943,60434,57943,57943,57943,57943,60437,57943,57943,60439,57943,60440,57943,57943,57943,57943,57943,60422,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61155,57943,57943,57943,528,57943,57943,57943,57943,60462,57943,57943,57943,60465,60466,57943,57943,57943,57943,57943,57943,57943,60752,57943,57943,528,528,528,57893,57893,57893,0,0,0,0,0,3658,0,0,3228,528,528,528,528,3233,528,528,528,3236,528,528,528,528,528,528,3255,528,528,528,528,528,528,528,528,528,528,2482,528,528,528,528,528,3261,528,528,0,0,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60616,57893,60619,57893,57893,57893,57893,60624,57893,57893,57893,60627,57893,57893,57893,57893,57893,58805,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,61460,57916,57893,57893,57893,60654,57893,57893,0,0,57916,57916,57916,57916,57916,57916,57916,57916,60692,57916,57916,57916,57916,57916,57916,57916,57916,59499,57916,57916,57916,57916,57916,57916,57916,57916,57916,60665,57916,60668,57916,57916,57916,57916,60673,57916,57916,57916,60676,57916,57916,57916,57916,58935,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58887,57916,57916,57916,57916,57943,57943,57943,60714,57943,60717,57943,57943,57943,57943,60722,57943,57943,57943,60725,57943,57943,57943,57943,57943,61580,61581,57943,57943,0,0,0,0,4242,0,528,528,528,528,528,528,528,528,2427,528,528,528,528,2431,528,0,3454,0,3455,0,0,0,0,0,0,0,0,0,0,0,0,1883,0,0,0,528,528,528,3485,528,528,528,528,528,528,528,528,528,528,528,528,1384,528,528,528,528,528,3497,528,528,528,528,528,528,528,528,3505,528,528,528,528,528,2453,528,528,528,528,528,528,528,528,528,528,1382,528,528,528,1386,528,57893,57893,60869,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60637,57893,57893,57893,57893,57893,57893,57893,57893,60314,57893,57893,57893,57893,57893,57893,57893,57893,60341,57893,57893,57893,0,2999,0,0,0,57893,60881,57893,57893,57893,57893,57893,57893,57893,57893,60889,57893,57893,57893,57893,57893,58820,57893,57893,57893,57893,57893,57893,57893,58829,57893,57893,57916,57916,57916,60911,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59503,57916,57916,57916,57916,57916,60923,57916,57916,57916,57916,57916,57916,57916,57916,60931,57916,57916,57916,57916,57916,59481,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,58911,57916,57916,57916,57916,57916,57916,57943,57943,57943,60953,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60094,57943,57943,57943,57943,57943,57943,60965,57943,57943,57943,57943,57943,57943,57943,57943,60973,57943,57943,57943,57943,57943,60050,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60745,57943,57943,57943,0,3680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3439,0,0,0,0,0,3693,3694,0,0,0,0,528,528,528,528,528,528,528,2875,528,528,528,528,528,528,528,528,3704,528,528,528,528,528,528,528,528,528,528,528,528,528,528,3494,528,528,3714,528,528,528,528,528,3719,528,3721,528,528,528,528,528,528,3488,528,528,528,528,528,3492,528,528,528,61091,57893,61093,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57943,57943,57943,57943,57943,57943,57943,61131,61132,57943,57943,57916,57916,57916,57916,61104,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61110,57916,57916,57916,57916,57916,57916,57916,61114,57916,57916,57916,57916,57916,57916,61120,57916,61122,57916,57916,57916,57916,57916,61324,57916,57916,57943,57943,57943,57943,57943,57943,57943,57943,57943,60970,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,61149,57943,61151,57943,57943,57943,57943,57943,57943,57943,57943,528,2761,528,528,528,57893,60110,57893,57893,528,528,57893,57893,57893,0,0,0,3818,0,0,0,0,0,0,0,722,0,724,0,0,0,0,0,0,0,0,3823,0,0,0,0,0,0,0,3675,0,0,0,0,3831,0,528,528,528,528,528,3843,528,528,528,3847,528,528,528,528,528,1357,528,528,528,528,528,528,528,528,528,528,528,1422,528,528,528,528,57893,61205,57893,57893,57893,61209,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60886,57893,57893,57893,57893,57893,57893,57893,57893,59896,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61218,57893,57893,57893,57893,57916,57916,57916,57916,57916,61224,57916,0,0,0,0,57893,57943,57943,58415,57943,57943,57943,57943,57943,57943,58446,57916,57916,61228,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60697,57916,57916,57916,61237,57916,57916,57916,57916,57943,57943,57943,57943,57943,61243,57943,57943,57943,61247,528,4162,57893,57893,57893,61510,57893,57893,57893,57893,57893,57893,57893,57893,61518,57893,57893,57893,57893,58858,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,57916,58903,57916,57916,57916,57916,57916,57916,57916,57916,57916,58913,57916,57916,57916,57916,61523,57916,57916,57916,57916,57916,57916,57916,57916,61531,57916,57943,57943,57943,57943,57943,60955,57943,57943,57943,57943,57943,57943,57943,57943,57943,59581,57943,57943,57943,57943,57943,57943,57943,61536,57943,57943,57943,57943,57943,57943,57943,57943,61544,57943,0,0,0,0,0,0,262144,262144,0,0,0,0,0,0,0,0,0,0,4203,4204,4205,0,4207,528,528,528,528,528,528,528,528,528,4213,4214,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,61564,61565,57893,57893,57916,0,0,0,0,57893,57943,57943,58416,57943,57943,57943,57943,58437,58441,58447,528,528,528,57893,57893,57893,57893,57916,57916,57916,57916,57943,57943,57943,57943,4298,0,528,4299,57893,61644,57916,61645,57943,61646,0,528,57893,57916,57943,0,528,528,528,528,528,528,2425,528,528,528,528,528,528,528,528,528,3246,528,528,528,528,528,528,0,0,0,361,362,0,0,0,0,0,0,0,368,0,296,0,0,0,0,393685,0,393685,393685,393685,0,393685,393685,393685,393685,393685,393685,0,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,1731,0,0,0,0,0,0,0,1741,1742,0,0,0,0,0,278528,278528,0,0,0,0,0,0,0,0,0,416,416,0,0,0,0,0,426,426,0,0,131072,426,0,0,0,0,426,0,0,454,0,426,0,483,483,483,0,0,362,362,362,502,362,362,362,362,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,546,57912,546,57912,546,546,57912,546,546,57935,57912,546,546,57912,57912,57912,57912,57962,57962,57912,57912,57912,57912,57962,57962,57912,546,57912,57912,57935,57912,57912,57912,57912,57912,57912,57912,57935,57935,57912,57912,57962,57912,57912,57912,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,368,368,0,703,0,0,0,0,0,0,0,0,0,0,0,0,2298,0,0,0,905,528,528,528,57893,57893,57893,57893,57893,57893,57893,58287,57893,57893,57893,57893,57893,60340,57893,57893,57893,57893,57893,0,2999,0,0,0,57893,58306,57893,57893,57893,57893,58324,57893,57893,57893,0,57916,57916,57916,57916,57916,57943,57943,57943,61129,57943,57943,57943,57943,57943,57943,57943,57943,60741,57943,57943,57943,57943,57943,57943,57943,57943,60753,57943,528,528,528,57893,57893,57893,57916,57916,58363,57916,57916,57916,57916,57916,58382,57916,57916,57916,57916,58400,57916,57916,57916,57916,58936,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60392,57916,57916,57916,57916,57916,0,0,0,0,58306,57943,57943,57943,57943,57943,57943,57943,58438,57943,57943,57943,57943,57943,60448,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60427,57943,57943,57943,57943,57943,57943,57943,58457,57943,57943,57943,57943,58475,57943,57943,57943,528,528,528,528,2284,57893,57893,57893,57893,59633,2290,0,2291,0,0,905,528,0,57893,57893,57893,57893,58324,57893,155942,1151,0,1152,0,0,1157,0,0,0,1266,0,0,0,0,0,0,0,1266,0,0,0,0,0,0,450560,0,0,450560,0,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,450560,1346,528,528,528,1355,528,528,528,528,528,528,528,528,528,528,528,528,3711,528,528,528,58773,914,57893,57893,57893,57893,57893,57893,57893,57893,57893,58785,57893,57893,57893,58794,57893,57893,58855,57893,57893,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,57916,58938,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61121,57916,57916,57916,57916,57943,57943,58974,57943,57943,57943,58983,57943,57943,57943,57943,57943,57943,57943,57943,57943,59045,57943,57943,57943,57943,57943,57943,0,0,0,1730,0,0,0,0,1737,0,0,0,0,0,0,0,739,0,0,0,0,0,0,0,0,1271,0,0,0,0,0,0,0,0,0,0,1762,0,0,0,0,0,0,0,1770,1771,0,0,0,0,0,3422,0,0,0,0,0,0,0,3426,0,0,0,0,0,1834,0,0,0,0,0,0,0,1840,0,0,0,0,0,0,532480,0,0,0,0,0,0,0,0,0,694,0,0,0,0,0,368,0,0,1846,0,1848,0,0,0,0,0,0,0,0,0,0,0,376832,0,376832,0,0,1915,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2499,528,1930,528,528,528,528,528,528,528,528,528,528,528,1943,528,528,0,57893,57893,57893,57893,57893,57893,155942,1151,0,0,0,0,0,0,0,4857856,4874240,0,0,0,0,0,0,0,796,0,0,0,0,805,0,0,0,59373,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59386,57893,57893,57893,2588,0,0,0,57916,57916,57916,57916,57916,57916,57916,57916,57916,60352,57916,57916,57916,57916,57916,57893,57893,59411,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59422,57893,57893,57893,57893,57893,60884,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60903,57893,57893,57893,57893,57893,57916,59511,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59522,57916,57916,57916,57916,57916,61395,57916,61397,61398,57916,61400,57916,61402,57943,57943,57943,3916,528,61261,57893,0,0,0,0,0,0,0,0,0,0,2774,0,0,0,0,59607,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59618,57943,57943,57943,57943,57943,58978,57943,57943,57943,57943,57943,57943,57943,57943,57943,58997,0,0,2326,0,0,0,0,0,0,0,0,0,0,0,0,0,221652,221652,221652,0,0,2504,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61097,57893,57893,57893,57916,57916,57916,57916,57916,528,3229,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2447,528,60618,57893,60620,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61211,57893,57893,57893,57893,57893,57893,57893,57893,59870,57893,57893,57893,57893,59875,57893,57893,57916,57916,57916,60667,57916,60669,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60404,57916,57916,57916,57916,57916,60698,57916,57916,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,60709,57943,57943,57943,57943,57943,60463,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59599,57943,57943,57943,59605,57943,57943,57943,57943,60716,57943,60718,57943,57943,57943,57943,57943,57943,57943,57943,57943,59046,57943,57943,57943,57943,57943,57943,57943,60747,57943,57943,57943,57943,57943,57943,57943,57943,528,528,528,57893,57893,57893,0,0,0,3656,0,0,0,0,0,0,0,3432,0,0,0,0,0,0,0,0,0,0,0,0,2323,2324,0,0,57943,57943,61250,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60724,57943,57943,0,4147,0,0,0,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,0,4161,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61517,57893,57893,57893,57893,57893,60898,60900,57893,57893,57893,57893,60904,57893,60906,60907,57893,57916,57916,57916,61627,57916,57943,57943,57943,57943,61631,57943,0,0,0,0,528,528,2870,528,528,528,528,528,528,528,528,528,528,2878,373,373,0,0,131072,373,0,0,0,0,373,0,0,0,0,373,547,57913,547,57913,547,547,57913,547,547,57936,57913,547,547,57913,57913,57913,57913,57963,57963,57913,57913,57913,57913,57963,57963,57913,547,57913,57913,57936,57913,57913,57913,57913,57913,57913,57913,57936,57936,57913,57913,57963,57913,57913,57913,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,528,528,528,528,861,528,528,528,528,528,528,528,528,528,528,528,528,3723,528,528,528,57916,58356,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60677,57916,57893,58799,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,61221,57893,57916,57916,57916,57916,57916,57916,57916,57943,57943,60023,57943,57943,57943,57943,57943,57943,528,528,1931,528,528,528,528,528,528,528,528,528,528,528,528,528,1401,528,528,57893,59374,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,59882,57893,57893,57893,57893,57893,57893,57893,57893,57893,60290,57893,57893,57893,57893,57893,57893,59474,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60920,57916,0,0,0,3824,0,3825,0,0,0,0,3675,0,0,0,0,0,0,0,0,0,0,0,0,0,1227,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,0,0,2335,0,0,0,365,0,0,0,0,364,0,0,0,139264,147456,0,0,0,0,0,0,1324,0,0,0,0,0,0,0,0,0,1166,0,0,0,0,0,0,0,0,0,434,131072,0,434,434,0,0,0,434,0,365,434,0,0,0,0,401408,0,0,0,0,0,0,0,0,0,0,0,0,6471680,0,0,0,466,0,0,0,494,494,497,497,497,497,503,504,497,497,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,548,57914,548,57914,548,548,57914,548,548,57937,57914,548,548,57914,57914,57914,57914,57964,57964,57914,57914,57914,57914,57964,57964,57914,626,57914,57977,57937,57914,57914,57914,57914,57914,57914,57914,57937,57937,57914,57914,57964,57914,57914,57914,57977,57977,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,459187,0,0,0,0,0,0,0,0,0,0,0,528,528,528,528,528,528,528,528,0,528,2420,528,528,528,528,528,528,528,528,528,528,528,528,528,1402,528,528,0,0,0,57893,59850,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60287,57893,57893,57893,57893,57893,57893,57893,57893,57893,60302,57893,57893,57893,57893,60305,57893,57893,60307,528,528,528,528,2895,528,528,528,528,528,528,528,528,528,528,528,528,4026,57893,57893,57893,57893,60337,57893,57893,57893,57893,57893,57893,57893,57893,57893,0,0,0,0,0,0,1781,0,0,0,0,0,0,0,0,0,139264,147456,0,0,335872,0,0,57916,57916,57916,57916,60371,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61401,57916,57943,57943,57943,368,368,0,0,0,0,705,0,0,0,0,0,0,0,0,0,139264,147456,0,0,540672,0,0,0,0,735,0,801,0,0,0,0,0,0,0,0,801,0,0,0,0,416,0,0,0,0,0,0,0,0,0,0,0,0,3464,0,0,0,528,528,528,528,862,528,528,528,528,528,528,528,528,528,528,528,528,61203,57893,57893,57893,57916,58357,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61111,57916,1202,0,0,0,0,0,0,0,0,0,0,368,368,0,0,0,0,0,0,0,0,709,0,0,0,0,0,0,1251,0,0,0,0,0,0,0,0,0,2810,0,0,0,0,0,0,58853,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,57916,59463,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60696,57916,57916,57916,57916,59015,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,60442,1726,0,0,0,0,1733,0,0,0,0,0,0,0,0,0,0,319488,319488,0,0,0,0,0,57916,57916,57916,59978,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59959,57916,57916,57916,57943,57943,57943,60061,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59011,57943,57943,57943,2779,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245760,528,528,2881,528,528,528,528,528,528,528,528,528,528,528,528,528,1404,528,528,57916,57916,60357,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,60919,57916,57916,0,306,307,0,0,0,0,0,0,0,647,0,0,0,0,0,0,1813,0,0,0,0,0,0,0,0,0,787,0,0,0,0,0,0,906,528,528,528,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,57916,57916,57916,906,528,0,57893,58490,57893,57893,58325,57893,155942,1151,0,0,0,0,0,0,1836,0,0,1838,0,0,0,0,0,0,0,2861,2813,0,0,0,0,0,2866,0,57893,57893,58856,57893,57893,57893,57893,57893,57893,57893,57893,50676,58773,990,57916,57916,57916,57916,59495,59496,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61574,57943,57943,57943,57943,0,0,1862,0,0,0,0,0,0,0,0,0,0,0,0,0,327680,327680,327680,528,528,1948,528,528,528,528,528,528,528,528,528,528,528,528,528,1942,528,528,57893,59391,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60313,57893,57893,57893,57893,57893,57893,57893,57893,57893,59922,57893,57893,57893,57893,57893,57893,57893,59491,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61123,57916,57916,0,0,0,57893,57893,57893,57893,59853,57893,57893,57893,57893,57893,57893,57893,57893,60329,57893,57893,57893,57893,57893,57893,57893,57893,57893,59367,59368,57893,57893,57893,57893,57893,59877,57893,59879,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60636,57893,57893,57893,57893,57893,57893,57893,57893,57893,60316,57893,57893,57893,57893,57893,57893,57916,57916,57916,57916,59966,57916,59968,57916,57916,57916,57916,57916,57916,57916,57916,57916,61117,57916,61119,57916,57916,57916,57916,57916,57916,57943,57943,57943,57943,60049,57943,60051,57943,57943,57943,57943,57943,57943,57943,57943,57943,59552,57943,57943,57943,57943,59556,57943,60381,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,61403,57943,57943,57943,57943,57943,60446,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,57943,59554,57943,57943,57943,0,3418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,352256,352256,352256,57893,57893,57893,57893,60871,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,57893,60645,57893,57893,57893,57893,57893,57893,57893,57893,57893,59923,57893,57893,57893,57893,57893,57893,3713,528,528,528,528,528,528,528,528,528,528,528,528,528,528,528,2500,57916,57916,61113,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,57916,59973,57916,57916,57916,0,0,0,2310144,0,0,0,0,0,0,2310144,0,0,0,0,0,0,0,0,0,0,0,2310144,0,0,2310144,0,0,0,0,0,0,0,2310144,2310144,0,0,0,0,0,0,0,0,2310144,0,0,0,2310144,0,0,0,0,0,2310144,0,2310144,0,0,0,0,0,0,2310144,2310561,2310561,0,2310144,0,0,2310144,0,0,2310144,0,2310144,2310144,0,2310144,0,2310144,2310144,0,0,0,0,0,0,2310561,0,0,0,0,0,0,0,0,0,0,0,2359296,368,0,0,0,0,2310144,0,0,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310740,2310144,2310740,2310144,2310144,2310740,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,459347,459347,459347,459347,459347,459347,459347,459347,459347,459347,459347,459347,459347,459222,459379,459222,2318336,0,0,0,4268032,0,0,0,0,0,0,0,0,0,0,0,4276224,0,0,0,0,4358144,4358144,4358144,4358144,0,914,0,0,0,0,0,0,0,0,0,0,4956160,4964352,0,0,0,0,0,467,2335204,2335204,2335204,467,467,467,467,467,467,467,467,467,467,2335238,2335238,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,467,0,0,0,0,0,0,0,0,0,0,2335238,2335204,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,2335238,0,0,0,2342912,0,0,0,0,0,0,0,0,0,0,0,0,2348,0,0,0,0,0,0,2326528,0,0,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,4358144,5177344,4358144,4358144,4358144,4358144,0,0,0,2359296,0,2359296,0,0,0,2359296,0,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,2359296,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,0,0,573440,0,573440,573440,573440,0,573440,573440,573440,573440,573440,573440,1,24578,3,0,0,4366336,0,0,0,0,0,302,303,0,0,2367488,0,0,4268032,0,0,0,0,0,0,0,0,0,0,0,4931584,0,0,0,0,0,0,2351104,0,0,0,0,0,0,0,0,0,0,0,0,0,507904,507904,507904,0,913,0,0,0,0,0,4857856,4874240,0,0,0,0,0,0,0,1180,0,0,0,0,1184,0,0,1187,0,6275072,0,0,0,0,0,0,0,0,0,0,0,989,0,0,0,0,913,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,4359057,5260177,4359057,4359057,0,0,1,24578,3,155942,155942,296,0,0,0,0,0,302,303,0,0,0,0,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,573440,212992,0,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,212992,0,0,0,0,0,4366336,0,0,0,0,0,0,0,0,2412,0,0,0,0,0,0,0,0,0,0,6275072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6258688,6447104,0,0,6127616,0,6348800,5906432,0,5537792,0,4882432,0,0,0,0,0,0,4825088,0,0,5177344,0,0,0,0,5701632,0,0,0,0,0,4358144,4358144,4358144,4825088,4358144,4358144,4358144,4358144,0,0,913,913,913,4826001,913,913,913,913,913,913,0,0,989,989,4842461,989,989,989,4899805,989,0,0,5513216,5783552,0,0,0,0,0,0,0,0,0,0,4358144,4358144,4358144,4358144,4358144,4857856,4874240],r.EXPECTED=[169,185,215,1326,231,1001,278,928,942,1085,320,247,263,307,336,352,368,384,400,914,2264,430,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2268,1707,1603,1403,460,1356,1591,491,507,517,533,1816,1031,2119,564,475,580,596,625,684,700,1905,716,1114,747,778,788,1693,1145,762,804,820,836,852,868,884,900,958,988,1017,972,1997,1047,1057,1073,1101,1130,2028,1562,1190,1205,1221,1237,1253,1269,1298,1314,1342,1174,1446,1372,1876,2073,1633,668,1388,1419,1434,1467,1483,1499,1515,609,1531,1547,1578,444,654,640,1619,1649,1662,1678,1723,1738,1754,1770,1786,1802,1832,1848,291,1864,2228,1892,1921,1937,199,2149,1953,1969,1985,1282,2013,2044,2060,2089,2105,548,2135,2165,2181,2197,2213,1160,2244,731,2260,2264,1457,412,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,2264,419,2284,2288,2290,2290,2290,2291,2295,2290,2297,2301,2304,2311,2307,2315,2318,2322,2326,2330,2334,2338,2345,2345,3446,2344,2345,3427,2352,3605,2345,4169,2345,2345,2345,3950,4664,4990,4059,4582,2828,4588,2345,4069,4598,2345,4069,4603,2734,3100,2397,2497,2359,2366,2466,2372,2376,2345,2345,4266,2345,2345,2383,3820,2359,2359,2392,2419,2419,2419,2419,2405,2427,2345,2345,2345,2345,2345,2409,2455,3819,2345,2345,3099,3100,3100,3100,2495,2398,2398,2398,2504,2359,2359,2359,2482,2419,2419,2419,2517,2345,2345,2345,2457,2345,3100,3100,3101,2398,2398,2398,2359,2359,2359,2359,2359,2418,2419,2419,2419,2419,2419,2424,2437,2345,2345,2345,2345,4505,2729,2345,2345,2345,2345,4509,5101,4513,2345,2345,3904,2359,2359,2484,2419,2419,2519,2345,3864,2345,4865,3100,3100,2501,2398,2538,2359,2359,2359,2359,2359,2548,2419,2419,2419,2419,2395,2490,2345,2345,2359,2483,2419,2549,2508,3755,2345,4867,4911,2398,2400,2359,2515,2419,2525,3605,3100,2476,2401,2547,2550,2816,4868,2399,2481,2485,2735,2532,2503,2361,2368,4866,2476,2360,2420,4909,2537,2546,2486,2533,2362,2542,2554,2567,2571,2575,2579,2583,2586,2586,2586,2598,2591,2586,2587,2595,2602,2606,2610,2614,2618,2622,2626,2630,4594,2634,2345,2345,2903,2640,2345,2345,2999,2345,2345,2645,2345,2345,2345,2345,2345,2345,4208,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,4460,2655,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2655,2345,2345,2636,4128,2345,2345,2345,2345,2635,4127,2345,2345,2345,2345,2635,4127,2794,2345,2345,2345,3016,2798,2345,2345,2345,3017,2799,2345,2345,2345,2806,2729,2876,3308,2345,2915,2345,3310,2345,2922,2345,3536,2683,4475,3831,4927,2685,4422,2850,2345,2345,2345,2345,2345,2345,5004,2345,2345,2345,2345,4417,3024,3547,2854,5007,2861,2345,2345,2345,2345,4422,2869,2345,2345,2345,2345,2345,2868,2729,2345,2345,2345,2345,2345,2873,2345,2345,2345,4443,2345,3549,3338,2880,2345,2345,2345,2345,2887,2729,2345,2345,2345,2883,2880,2345,2345,4951,4956,2345,2345,2345,2345,4604,4971,4982,2345,2345,4805,4988,3762,2345,3965,2345,4436,4591,2907,2345,3192,2909,2345,4490,2345,3191,2908,2345,3491,4849,4476,4920,4920,4920,4849,2720,4477,4477,4477,4918,4922,2683,4476,4863,4478,2719,2684,2432,2429,2431,2563,2345,2345,2345,2345,2345,2345,2984,2345,2345,2345,2511,4068,4075,2345,2345,4081,2345,4085,2345,2345,4099,2345,3067,3768,2729,4088,2928,3046,2947,2932,2935,2938,2940,2940,2944,2345,2951,2956,2345,2345,5022,2729,2345,2345,2345,2345,4180,2345,2345,2345,2345,5023,2345,4654,2345,4496,2345,3077,4168,3570,5100,4176,2345,2345,2345,5024,2345,2345,4147,2345,2345,4258,2345,2345,2339,3845,2345,3726,3911,3122,3918,2345,4757,2345,4949,2345,2961,2974,2978,3641,3718,2988,2996,2722,3003,3008,2345,2998,4205,2345,2952,2345,2345,3697,2345,3015,4630,3021,3029,3033,2412,2991,2723,3040,3497,2345,2951,2956,2345,5067,4831,2345,3623,2964,3050,4101,2345,3156,3059,2345,2345,5115,3712,2387,4578,2345,5120,2458,2509,4221,2345,5107,2345,3202,2763,3060,2345,2345,2345,3733,2345,2951,2733,2345,4755,4856,3111,4236,2557,3086,2345,2348,3162,2345,2345,2527,3154,2345,2345,2347,3161,2345,2345,4684,3167,3432,4676,3096,2345,2345,2345,2345,2472,3106,2345,2345,2345,2345,2346,3105,2345,2345,2345,4878,3110,3119,2345,5067,4832,4234,3023,3126,4109,3602,3171,3176,2345,4069,3180,2345,4170,3176,2345,2345,3187,2345,4682,3217,4094,3257,3196,3972,3190,2345,3974,2345,3251,3209,2345,3973,2345,3214,3218,3223,3227,3231,4192,2345,3229,2345,3237,3606,3242,3246,4319,3250,3238,3230,3255,3261,3266,3266,3266,3274,3278,3262,3262,3262,3285,3289,4198,3290,4959,3294,4246,5038,3298,3302,3306,3316,3322,3329,2345,2345,2345,2345,3926,2345,2345,2875,3333,3337,4593,3342,3347,4397,3357,3361,3365,3366,3366,3370,2345,4118,3376,2345,4445,3382,4945,3392,2721,3398,2829,3406,3410,3417,3424,3004,3431,3947,2345,3426,2345,2345,3115,3658,4038,4560,2345,2345,2345,2345,2345,2345,2345,2650,2345,2345,2454,2345,2345,2345,4867,3100,3100,3100,3100,3101,2398,2398,2398,2398,2545,2359,2359,2359,2359,2359,2464,2419,2419,2419,2419,2419,2395,2470,4119,2345,2345,3437,3706,3578,3394,4115,2345,5085,3441,3522,4170,3451,2345,2345,3132,3489,2345,2345,2345,2345,3143,3495,2345,2345,2345,2345,4516,3484,2345,4070,3455,2345,2345,2345,4071,3456,2345,2345,2345,3460,3464,2345,2345,2345,3098,3100,3100,3100,3100,3100,2397,2398,2398,2398,2398,2398,2480,4118,3830,2345,3469,3584,3579,3476,4935,4215,3011,2345,2345,4515,3483,2345,2345,3191,2898,2345,2345,2345,2892,2345,2345,2345,2897,2345,2345,2345,3963,3232,2345,2345,2345,2345,3517,3490,2345,2345,2345,2345,4515,3520,2345,2345,2345,2345,3982,2345,3526,3585,3535,4117,2786,2345,2345,3541,2345,2345,2345,2345,4530,3545,2345,2345,2345,2345,3541,2345,2345,2345,2345,2456,2345,2345,4910,3100,3100,3100,3100,2476,2398,2398,2398,4531,3232,2345,2345,2345,3560,3565,3576,4115,3204,3583,2345,5095,2345,2345,2345,3163,3064,2345,2345,2345,2345,3219,3071,2345,2345,2345,2345,3157,5054,2345,2345,2345,5094,2345,2345,2345,5053,2345,2345,2345,3590,3966,3561,2345,2521,3137,2345,2345,3754,2981,3141,5078,4842,4667,2967,3147,2528,3155,2345,2751,5076,2686,5082,4996,5091,5099,2345,2345,5072,2345,2345,5105,2345,2345,4450,3818,2345,3825,2345,2460,3835,3839,2345,2345,2345,4069,3843,2345,4928,2345,3443,2345,3828,2345,4052,3148,2345,2386,3114,3150,4047,3149,3635,3635,4052,3113,3150,3150,3150,3980,3634,3112,3635,4053,3622,3635,3150,4974,4976,3627,4978,3631,3640,2345,2345,2345,2345,4428,3779,3723,2345,3595,3645,3649,4091,3655,3663,3667,3671,3675,3679,3680,3684,2345,2801,3689,2345,4841,3695,4295,2763,3350,3199,3691,5040,3485,3701,4584,3465,3705,4823,3710,3716,2345,2345,2802,3690,2345,4616,4756,3722,3731,3957,3201,3737,3750,3759,2345,3940,3766,2345,2345,2345,3312,4745,4749,4761,4765,4769,4773,4777,4781,4785,4788,4792,4795,3504,3232,2345,2345,2345,3505,2345,2345,2345,2646,3772,2345,2345,2345,4427,3778,2345,4164,4095,2345,3785,4903,2651,2345,3753,2345,2345,3793,2345,2345,2345,2345,3098,3100,3100,3100,3100,2398,2398,2398,2398,2478,2359,2359,2345,3797,2345,2345,2345,2345,2345,3801,2345,2345,2345,2345,2345,3805,2345,2345,3846,2810,5004,2345,2345,2345,2345,4151,2345,2815,2820,2833,4077,2838,3850,2345,2345,2345,2345,4737,2345,3855,2458,4716,3837,3863,2345,2345,3172,3871,3924,2345,2340,2345,2345,4149,2345,2339,3845,3723,3089,3789,2345,3930,4129,2345,2776,3914,4135,2728,2345,2345,2345,2345,3210,2345,2784,3082,3938,2345,2790,5046,2345,3935,2345,3944,2730,3877,2345,3352,2732,3955,2731,4157,4157,4157,3351,2732,2732,2732,3531,4156,4716,4157,4718,3878,4157,2732,2345,2345,2345,2345,3851,2345,2345,2345,2345,2345,3850,2345,2345,2345,2345,2345,2345,2345,3612,2663,2345,2345,2345,2345,2345,2345,2345,3780,3961,2345,2345,3920,3970,3978,3986,3990,3994,3998,4001,4005,4007,4011,2345,2345,2345,4015,2345,3606,4752,4107,3553,4020,4024,4643,4888,4028,2345,4851,2811,4032,4826,4037,4042,4046,2345,2345,4016,2345,3746,4051,3551,3877,4057,3636,4570,4063,2345,2345,2345,2780,2345,2345,2345,2510,4067,4105,2924,4156,4113,2386,4123,4538,2345,2345,2635,4127,2345,2345,2345,2345,2641,4133,2345,2345,2345,2345,2778,4181,2345,2457,2345,2345,4984,5025,2345,4139,2345,2855,3611,2345,2857,2345,2345,3386,2345,2856,2345,2345,3830,3616,2345,3445,2345,4145,2345,4670,3724,4155,3572,3114,4161,2345,2345,2345,3472,2729,2345,2345,2345,2345,2842,2345,2345,2345,2345,3081,2846,2345,2345,2345,2345,2345,2739,2692,3821,2749,2757,2345,2761,2767,2345,2771,4802,2345,4185,3077,3725,4231,3041,4220,2345,5087,2729,2345,2345,2911,4134,2345,2345,4172,2345,2345,2345,2354,3845,2345,3723,3606,2458,3787,3901,2345,3781,3537,4190,2345,2345,2910,4196,3378,3685,3607,4673,4202,2823,2345,4033,2729,2345,3931,2956,2345,3925,4214,4219,4225,4240,4244,4264,2345,4250,2345,4252,2345,2345,4256,2345,4251,3343,4538,4228,4262,2345,4270,3353,2345,4610,2345,3183,3130,2345,2345,2345,2346,3136,2345,2345,2345,2345,3183,3130,2345,2345,2673,2345,2345,2677,3814,2690,2696,2700,2704,2708,2712,2716,3744,2727,4275,4284,4288,4419,2668,3659,2733,4292,4308,4420,3556,3556,3556,4317,3530,4421,4335,4323,3555,3529,3568,3025,2669,3556,4330,4339,4341,4333,4326,4345,4349,4351,2345,2345,2345,2345,3897,2992,2345,4313,4355,4359,4390,4363,4367,4371,4375,4379,4381,4383,2345,2345,2345,4937,4387,4657,4394,4401,4460,2827,4636,4599,4278,4407,4411,5122,3727,4426,4432,2345,4440,4449,2345,2345,4938,3774,2657,4454,4458,3325,2345,3053,4464,4468,2345,2345,2345,5128,4474,2345,2345,2345,4482,2345,2345,4271,2888,2345,2345,2345,2345,3233,2345,2345,2345,4962,2864,3650,2893,2345,3727,4483,2345,2345,2345,3055,4487,4494,2345,2345,3890,4311,2433,2446,3618,2826,4186,5066,4947,2733,2345,2345,2345,3413,4500,2345,2345,2345,2345,3420,2800,4414,4622,4520,3318,2345,2970,5060,2345,2345,2345,2377,4524,2345,2345,2345,2345,3869,2345,2345,2345,2345,4171,3876,2345,2345,2345,4069,3870,2345,4952,4311,2443,4535,2827,3865,3433,2345,2345,2345,2379,4543,2345,2345,2345,3858,2345,2345,2345,2345,3859,2345,2345,2345,2957,3045,2345,2345,2377,4548,2345,2345,2345,2345,3281,4553,2345,2345,2345,2378,4549,4470,2345,4558,2440,4564,3203,4831,2345,2345,2377,4568,2345,2345,2345,3951,2345,2345,2345,4574,2345,4640,2345,4069,4647,2560,4651,4661,2345,4680,4539,4642,5031,2345,5014,4688,4830,4815,4403,3883,4642,4692,4628,4816,4696,4696,4702,4830,4706,4714,4714,4722,2414,2449,3808,4731,2414,4906,2450,4735,4725,4727,4741,4829,2345,2345,2345,2345,3925,2345,2772,3501,4141,3509,4115,4215,3074,2345,2345,3513,4799,2345,2345,2345,2345,4809,3015,4813,4820,4967,2388,2680,4210,4836,4554,2345,3372,2345,2345,3384,2345,2345,3372,2345,2345,2856,2345,2345,3589,3594,3599,4708,3872,4840,4846,2345,4710,4855,2345,2345,4544,4860,2834,3742,4965,3080,4872,4877,4882,2345,2345,2345,2345,3606,4886,2345,2345,2345,3478,4892,2345,2345,2345,3882,2663,2459,3092,3887,2345,2345,3894,2345,2345,2345,2355,2345,3479,2345,2345,2345,2345,4897,3616,2345,2345,4544,4915,3035,4280,2918,3446,4873,4698,4926,2345,2345,2345,2345,2345,4932,2345,2345,2345,2345,3606,4942,2345,2345,4435,3377,3907,2902,2345,4489,2729,2345,3651,2902,2345,3192,2909,2345,4994,5020,5001,3205,5011,2345,2345,2345,2345,2741,2745,2345,2345,2345,2345,4170,4608,2345,2345,4614,4989,4620,4626,3755,4950,2345,4634,2345,5013,2345,2744,2345,2345,2345,2345,2345,2743,2345,2345,2345,2345,2345,2743,4900,2345,4501,4915,3036,5018,3447,3864,5029,2345,2345,2345,4170,5035,2345,2345,2345,2345,4303,5044,2345,2345,2345,2345,5050,2345,2345,2345,2345,4304,4900,2345,3811,3740,4997,5058,5064,2345,2345,2345,5071,2345,2345,2345,3269,2345,2345,2345,4297,4301,2345,3402,2800,2345,2345,2345,2345,3401,4528,2345,2345,2345,2345,3401,4528,4470,4299,2345,2345,3270,2345,5111,4997,4577,2345,2345,2753,2345,4893,5116,2345,2752,2491,2458,2345,5126,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,2661,3388,2667,2345,7267,5893,5132,5144,5141,5151,5153,5153,5153,5153,5148,5176,5152,5153,5153,5153,5159,5163,5176,5153,5153,5169,5164,5153,5180,5155,5154,5168,5151,6159,5173,5199,5205,5205,5205,5209,5209,5201,5213,5217,5220,5224,5228,5245,5232,5242,5234,5238,5236,5249,5252,7269,7026,5260,5273,5276,5276,5276,5255,5821,5295,5276,5276,5276,5276,5268,5730,6588,6270,5301,5276,5276,5254,6597,5821,6646,6646,6646,6646,5394,5396,5325,5449,5322,5396,5396,5325,5276,5384,5428,5333,5409,5274,5276,5276,5276,5286,5290,7174,5276,6844,7218,6005,5276,5276,5276,6390,6115,6646,6647,5323,5396,5397,5400,5428,5428,5428,5428,6645,6646,6646,5398,5400,5428,5345,6844,7217,5353,5276,5266,5276,5276,5388,7455,5457,5396,5396,5396,5396,5276,5399,5402,6779,5408,6667,5275,5276,5275,5276,5276,6239,5276,6839,5410,6667,5275,5276,5275,6561,5276,5275,6839,6843,7454,7155,5276,5276,7229,5276,5276,6466,5276,5276,6526,5276,5276,5276,5302,5276,5276,6646,5393,5396,5396,5396,5400,5407,6668,5276,5276,5268,6066,5402,5428,5428,5428,5429,6646,6646,6646,5395,5396,5396,5396,5326,5368,5419,5276,5276,5276,5305,5401,5428,5428,5428,5430,6646,5427,5428,5428,5428,6644,6646,6646,5402,5387,5276,5276,5276,5307,6771,6646,5394,5396,5396,5398,5427,5276,5276,5268,6630,5397,5403,5276,5276,5269,5731,6036,5400,5400,5402,5428,6644,5402,5428,5428,6643,6646,5368,5400,5427,6643,6646,6646,6646,5396,5396,5396,5397,5387,6646,5395,5324,5368,5276,5999,5276,5276,7234,6237,5276,6239,6237,5401,6643,5393,5324,5415,5434,5460,5464,5463,5462,5461,5326,7445,6108,6418,5509,5541,5438,5442,5508,5508,5508,5508,5486,5515,5454,5468,5472,5491,5543,5496,5508,5508,5538,5446,5582,5487,5506,5581,5513,5475,5519,5535,6805,6808,5547,6811,6814,6815,6816,5551,5554,5558,5569,5573,5579,5492,5586,5590,5594,5598,5605,5604,5601,5609,5613,5561,6981,5276,5276,5276,5308,5312,7372,5276,5276,5276,5309,7137,5276,5276,5276,5329,5276,6389,5276,5276,6557,5276,6391,5276,5276,5275,5276,6392,6392,5276,5276,5279,5276,6282,5276,5276,5276,5366,5276,6e3,6885,5910,7281,5626,5297,5629,5276,5276,7348,5276,5276,7354,5276,5276,5276,5631,5640,5899,5276,5647,5276,6987,5263,5186,5654,5657,5659,5660,5664,5668,5673,5672,5677,5679,5680,5680,5684,5686,5693,5688,5700,5688,5697,5689,5704,5276,5276,7355,5276,5276,5276,5648,6027,6933,6281,5898,5276,5276,5276,5367,5276,5276,5276,5368,5400,5708,6023,5276,5276,5281,7411,7471,7426,5276,5276,6043,5135,5276,5276,5281,7468,6467,5276,5716,5276,5276,5721,6061,5339,5276,5276,5304,5276,5341,5737,5745,5751,5749,5276,5276,5276,5369,6219,5751,5276,5276,5306,5310,6765,5276,5276,6988,5276,6526,5277,6886,6113,5784,5276,5793,7239,5808,5855,5812,5831,7055,5318,5276,5276,5276,5372,5348,7452,5827,5832,7056,5137,5276,5276,5276,5376,5368,5276,6525,5276,5414,5276,7452,7443,5276,5276,7419,6200,5276,5925,5276,5276,5276,7249,5717,5276,5276,5276,5387,5795,7243,5854,5845,7241,5851,5855,5846,7242,5852,5856,5317,5850,5854,5845,5898,5860,5276,5276,5276,5388,6362,5276,5854,5876,5318,5276,5276,7441,6519,7240,5851,5855,5877,5898,5881,5839,5276,5276,5370,5276,5276,5853,5885,5318,5276,5276,7452,6134,7239,6135,5854,5886,5898,6404,5870,6865,5276,5276,6117,5869,6864,5898,5276,6867,5276,5276,5276,5617,6117,5890,6866,5276,5276,5276,5620,6857,5276,6719,6723,5276,5276,7455,6886,6721,5898,5276,5276,5373,5276,5914,5276,5898,7023,5934,5938,5942,5945,5948,5949,5949,5950,5954,5954,5954,5954,5954,5958,5961,5276,5277,5921,5930,5276,6659,6079,5966,6872,6872,5276,5276,5276,5650,6487,5276,5711,6194,7445,7444,5368,5276,6e3,6525,5276,7025,5302,6259,5276,5370,5979,6510,5997,5276,6523,5276,5276,6660,6080,5967,5898,6890,5997,5276,6889,5276,5276,5276,5841,6010,5276,6606,5276,5276,5276,5822,6016,5276,5276,5276,5787,5276,6605,6017,5276,5277,5962,6001,7450,5276,5276,5276,5826,5831,5712,6195,7052,5276,5368,5276,5276,5366,5369,6121,5276,6513,5276,6559,5276,5276,5386,5282,5276,6093,5276,5276,5276,5864,6029,5276,5276,5276,5896,6848,5998,5276,6523,6792,5276,5276,6397,7112,6033,6047,6053,5898,5276,6034,6048,6054,5276,5278,5281,6211,6035,6049,6055,5276,5278,5909,5276,5279,6836,6888,5276,5276,5276,7452,5761,6526,6233,6268,5276,5280,5303,6536,5276,6268,6140,6038,6070,5276,5276,5400,5400,5400,5400,5401,6066,6588,6039,5894,5276,7456,5276,5276,5276,6002,5276,5276,5276,5975,5277,6078,6084,5367,6266,7445,6236,5999,6524,5276,6100,6037,6070,5276,5276,5477,5481,6630,6587,6090,5894,5276,6080,6086,5276,5276,5478,5482,6099,5276,5276,5276,6003,5276,5276,6036,6107,5276,5276,5276,6072,6033,6588,6106,5276,5276,5276,6073,6085,5276,5276,7023,6099,5276,5276,5281,6583,5728,5732,6105,5894,5729,5733,6106,5276,5281,6629,6586,5727,5731,6104,6108,5276,5276,5276,6117,5890,5371,6e3,6125,6268,6456,5276,6388,5276,5276,5276,6523,5276,7417,6416,5276,5276,5276,6119,5276,6524,6525,6659,6322,5276,5276,5276,6074,5363,7445,5276,5370,6e3,6236,5276,6320,5799,5803,5276,5276,5276,6127,6319,5798,5802,5276,5276,6321,5276,7260,7446,5368,6001,6320,5799,5801,5276,5276,6319,5797,5276,7073,5276,7258,7447,5276,7447,5302,7075,5803,5276,5276,7072,7076,5276,5281,7468,7477,5276,5276,7073,7260,7446,5276,7074,5802,5276,5285,5289,7173,6339,7258,7447,6339,7077,5276,6117,7076,5276,6342,5276,6117,6342,6139,6117,6200,6978,5276,6978,5276,6978,5276,7445,6197,5276,6237,6722,5276,5276,5372,7365,6199,6197,5276,6199,5276,5925,7445,6198,6198,6198,5276,5276,5926,6198,5276,6896,6896,5389,6536,5368,5525,6145,5276,5276,5276,6133,6358,5367,5276,5276,6198,6537,6199,6536,6200,5276,6537,5276,5276,5276,6480,6167,6152,6171,6175,6179,6181,6185,6185,6181,6189,6189,6189,6189,6189,6191,5276,5276,5564,6363,6206,5276,5276,5276,6199,6200,6251,5898,5276,5276,5565,5371,5276,5276,5575,6934,6200,5276,7454,5803,7356,5276,6293,5276,5804,5276,5287,5291,7160,7066,6196,5276,5285,6217,6223,7106,6232,5276,5287,7149,7129,6243,5276,7260,5276,5288,7150,7141,6257,5276,5789,5276,5276,5276,6202,6263,5276,5276,5276,6201,5367,5369,5387,6274,6253,5278,6018,5276,5276,5642,5276,5276,5276,6388,6113,5193,6286,6935,6040,6287,6936,6041,5276,5276,5191,5195,6288,6937,6042,5276,5276,5276,6226,5385,6114,6252,5276,5307,5311,5315,7420,7354,5276,5276,5739,7397,7403,6298,6329,5803,5276,5276,6006,6299,6330,5276,5276,5276,6265,6300,6331,5276,5276,5753,5752,5387,6275,5897,5276,5328,6552,6547,5803,6197,7453,7421,6267,6392,5479,6312,6329,5276,6458,5480,6313,6330,5276,5276,5764,5276,5385,6246,6253,5276,5363,5367,5276,5276,6536,6317,6267,5276,5276,5276,5621,6392,7412,6327,6332,6301,5803,5276,5276,5815,7444,6522,5276,5276,5375,5276,5276,5365,5276,5276,5916,5276,5276,5276,6294,5368,5386,6336,5276,5365,5276,6535,5276,6820,7444,5276,5276,6519,6308,5276,6198,5276,7452,5280,5276,5276,5276,6307,6197,5276,6843,5276,6356,6250,6678,5276,5276,5276,6368,5276,6844,5894,5276,5369,5998,6524,5276,5276,5276,5277,6208,6362,5276,5276,5276,6371,5276,6846,5276,5276,5898,5276,6005,5276,5276,6005,5276,5276,6846,6004,6002,6846,6005,6005,6005,5276,5276,6004,5276,5276,6005,6847,5276,5276,5995,6375,5894,5276,6520,6383,5276,5276,5276,6404,5871,6112,7024,6387,6111,5276,5276,5276,5363,6401,6761,6409,6972,6429,6432,6433,6434,6438,6438,6438,6438,6441,6443,6444,6444,6451,6451,6451,6451,6448,6452,5276,5276,5276,6425,5348,6566,5276,5276,5276,6463,6370,6494,5276,5276,5973,5276,5362,6468,5276,6469,6475,5276,5276,5276,6519,5276,6484,5276,5276,6e3,5389,6228,6477,5276,5276,6012,5276,6112,5276,5276,5276,6520,5276,5276,5276,6396,5304,6197,5276,5276,6060,6059,5276,6499,6507,5276,5386,5283,5276,5276,6395,5276,5276,5279,6208,6518,5276,5276,5359,5276,5276,5276,6524,5276,5276,6534,6534,5276,5388,5276,5284,6546,6618,5276,5276,6109,5903,6553,6548,5276,5276,6116,5998,5349,6567,5276,5276,5276,6392,6611,5305,6199,5276,6537,6265,5276,6236,6525,5276,6830,6573,5818,5276,6831,5501,5819,5276,6832,5502,5820,6830,5500,5818,5276,5422,6847,5276,5522,7448,5276,5636,6001,5998,6565,5276,5276,5276,6525,5276,5276,7449,6887,6493,5276,5641,6843,5276,5276,5276,6237,6537,5276,6268,6140,5276,6390,5276,6459,6571,6577,5821,5276,5276,5276,6657,5276,7285,5499,6578,5276,5276,6886,5279,5276,5649,6028,6094,5276,6458,5276,5276,5276,6526,7024,6877,5256,6579,5276,5276,5276,6528,6598,5276,5276,5276,6536,5276,6592,5276,5276,5276,6620,5276,6391,6459,5276,5739,7123,6938,5281,6583,6579,5276,5741,7125,6332,6602,5276,6459,5276,5741,7125,6522,5276,6404,5871,5280,5276,5302,5276,5757,5276,5356,6392,6526,5276,5276,6118,5279,6610,5276,5276,5276,6783,5367,6615,5276,5276,5276,6784,5276,6919,6923,5276,5777,5276,5276,5327,6542,5280,6537,6266,5276,5788,6264,5276,5288,7184,7189,5276,5277,5276,5367,5276,6268,6141,6712,6424,5276,5276,6126,5898,5276,5276,5632,6626,6634,5276,5276,6131,6414,6108,5276,5276,6395,5276,6844,5276,5276,5917,5276,6521,5276,6395,6522,6729,6846,5276,5375,6502,6651,6664,6672,6682,6685,6689,6693,6693,6693,6695,6697,6697,6697,6697,6701,6702,6702,6702,6703,6707,5276,6711,6423,5276,5276,5276,6735,5276,6716,5276,7351,5276,6727,5276,7420,6268,6969,6745,5276,5276,5276,6785,5450,5276,5276,5276,6793,6743,6094,5276,6750,6751,5276,5276,5276,6844,6212,5276,5276,5276,6847,5276,5276,6755,5276,5276,6238,5276,6524,6798,6267,6759,6771,6766,5276,5276,5276,6877,5194,6287,5276,7275,5276,5276,6248,5276,5276,6776,6772,6767,6790,5276,6792,5276,5907,5276,6269,5894,7260,7023,5276,5276,5276,6111,6392,6422,6847,5276,6100,5276,6888,5276,5276,6521,5276,5276,6194,7446,5368,7418,5276,5276,6293,5276,5276,5276,6269,6206,7033,6523,6797,6266,5312,5316,5276,5276,5276,6921,5313,5317,5276,5276,5276,6933,6792,6791,5276,5276,6305,5304,6420,6424,5276,5276,6319,6922,5276,5276,6118,5276,5374,5276,5276,6535,5276,5276,7034,7452,6826,5276,5908,5278,6495,5276,6519,5276,5276,5276,5281,5255,6598,5276,7033,5863,6828,6852,5314,5318,5276,5276,6913,5276,5276,5276,6958,6858,5318,5276,5276,6321,5800,6857,5317,5276,5276,6340,5802,6535,5276,6862,5276,6022,5753,5276,5278,5276,5276,7210,5276,6871,5276,5276,5276,7191,6199,6200,5276,5276,5276,7042,6425,5276,5276,6876,6887,5276,5367,6820,7444,5276,6002,5276,6194,7052,5276,6637,6520,5276,6536,5276,6822,5276,5276,6341,5276,7204,5276,5276,5276,7203,5367,5276,6786,5276,5276,6392,6921,6821,5276,5276,6904,5276,5276,6388,6391,6480,5276,5276,5276,7239,5276,6478,5367,5276,6095,5276,5276,6394,5276,6897,5276,5276,6883,6535,5276,5371,6904,5364,5276,6894,5276,6110,5276,5276,5981,7461,7451,5276,5276,5276,5983,7470,5990,5283,6536,6901,5276,6114,5276,6001,6911,5374,6535,5368,5803,5276,6392,6412,5369,5276,5276,5366,5364,6537,6364,5364,5276,5367,5371,5366,5364,5276,5276,6536,5365,5276,5366,5276,5366,5367,6538,6538,6538,5773,5767,5769,5771,5771,5772,5276,7445,5183,5276,5282,5917,7454,6113,6917,6942,7063,5336,6951,6962,6966,5531,6992,6995,6995,6998,7003,7002,7002,7004,7008,7009,7015,7013,7013,7013,7013,7019,7022,7030,5276,5276,6115,5375,5528,6927,5276,7445,6842,7453,6149,6156,6163,7038,6983,5276,5276,6392,7229,5277,5276,5276,7046,7060,5276,7070,5276,6116,5999,5276,6117,5276,5276,5364,5276,5276,5276,7240,7085,5276,5276,5276,7337,5349,5276,6906,7086,5276,6117,5368,5276,5276,6907,5276,7090,5276,6120,5276,5368,5389,6113,7094,5276,5276,5276,7338,6840,5276,6782,7444,6985,5276,5896,5276,6197,5276,5276,7024,5276,7104,5277,5276,5276,6947,6946,5276,6378,5276,5276,5276,7356,5276,5276,7356,6396,7111,7118,6379,5276,7119,6094,5276,5276,6405,5872,5898,6956,6954,5276,5276,6422,6847,7144,5276,5276,5276,7363,5285,5289,7113,7142,5286,7148,7114,7143,6201,5367,5276,5276,6458,5480,6298,7452,7154,5276,5895,5290,7159,7164,5318,7066,5318,5276,5276,6458,5481,6301,6676,5276,5276,6199,5276,5276,5276,6879,7180,5276,5276,5276,7364,5290,7174,7179,5276,5276,7178,5276,5276,5276,7380,5740,7169,5276,5276,6467,5276,6677,6197,5276,5924,7196,6975,5276,5276,6467,7049,5285,7195,7185,6391,6116,5276,5276,5276,7208,7454,5276,5276,6473,6477,6526,5276,7449,5276,6197,6520,5276,7446,5276,5375,7224,5276,5276,5276,7381,7214,5276,5276,5276,7408,7223,6847,5276,5276,6479,5276,7222,6425,5276,6201,6886,6492,7200,5276,6237,5276,5276,6841,6675,5276,5276,5387,5276,5276,6488,5276,6878,6781,5276,5276,6514,5276,5276,6879,7230,5276,5276,5276,7446,7228,5276,5276,6249,7452,5276,5389,5276,6198,6197,5276,6e3,5276,6238,5276,6524,6201,5276,6201,7449,5276,6193,7445,5276,5280,6209,6213,5276,6520,5276,5281,6065,6587,6879,7455,5276,5276,6525,6526,6659,6079,7450,5276,6395,7455,6621,6847,5276,7238,5276,6622,5276,5276,6526,7416,5276,6622,5276,7247,6620,7455,5276,5276,6530,5276,7391,6527,6621,6847,5276,5276,6537,5276,5276,6536,6621,6847,7455,5387,5388,6847,5388,7344,5276,5276,7229,7453,5386,5423,5389,5276,5276,6593,5276,5388,5276,5386,5388,7253,5276,7258,7446,6196,5276,5363,5276,6210,6887,5276,5894,5276,5276,5276,5971,7257,5276,5916,6640,7264,6258,5276,5189,5276,7260,5916,7259,6503,7097,7283,7273,5724,7100,7135,7279,6930,7132,7289,7293,7302,7295,7297,7306,7298,7317,7310,7311,7315,7318,7326,7326,7328,7324,7322,7332,7335,5276,6218,5750,5276,5276,7362,7366,7364,7342,5276,6467,5389,5281,5276,5276,6621,5276,5276,6393,5276,5915,5276,6227,6476,5276,5377,6746,5276,5386,5276,5276,5276,7449,5276,5276,7360,7370,7376,7385,5276,5276,5276,7450,5276,5276,6529,7386,5276,6265,5276,5276,5378,6094,7392,5276,5276,5276,7451,7342,7445,6201,5276,6266,5276,5276,5382,5400,5400,5400,5427,6389,6113,5276,5276,6235,6234,5276,5276,5276,7457,5276,6526,6716,7433,7396,7402,5276,5276,6733,6739,7403,5276,5276,5276,7466,7408,7398,7404,6844,5276,6847,5276,6267,6140,5276,5388,7230,5276,5414,5400,5400,5400,5428,7342,7447,7451,5276,6268,5276,6237,6268,5276,5276,7356,6110,6268,5276,5276,5276,5643,7409,5986,7425,5276,6292,5276,5276,5740,7124,7030,7410,5987,7426,5276,6306,5305,5276,5276,6201,5276,5276,5276,5739,7168,7411,5988,7427,5276,6323,7446,6117,5276,5371,5276,5276,7454,5276,6887,5276,5985,5989,6236,6846,6003,5276,6004,5276,6004,6002,5276,6845,5276,5276,5276,6802,5311,6560,7449,5276,5276,5281,7200,5276,6393,5276,7452,5276,5276,5276,6388,6113,5276,6233,5836,5898,5276,5276,7387,5868,7434,5276,5276,5276,6877,7228,6201,5276,7452,5962,5276,5276,5276,6853,5315,5898,5276,5276,7431,5276,5276,5276,6878,7229,5984,7471,5991,5276,6340,5803,5276,5780,5276,5990,5276,5276,5276,6920,5821,5982,7469,5989,5276,6346,6351,5276,5276,6388,6113,5276,5276,6946,5276,5276,7438,5276,5276,7024,5276,5276,5276,7467,7476,5276,5276,7477,5276,5276,5276,7025,5276,7450,5276,5388,5281,6279,5276,5276,5622,5315,5276,6389,6114,5276,6347,6352,5276,5276,5276,7444,5276,5276,5276,6945,7466,7475,5276,5276,7041,5276,5631,5276,5388,5282,7466,7462,5276,5276,5276,7040,5276,5276,5276,7081,5276,5303,5276,5276,5276,7110,6654,0,0,1075838976,2097152,-1845493760,0,0,2147483648,16777216,4194560,4196352,270532608,2097152,2097152,268435456,4194432,16777216,4194432,3145728,541065216,-2143289344,4194304,4194304,4194304,4194304,541065216,4194304,4194304,4194432,37748736,-1606418432,541065216,541065216,541065216,541065216,4194304,4194304,4196352,-1606418432,-1606418432,541065216,541065216,4194304,4198144,541065216,541065216,-2143289344,-2143289344,8425488,4194304,4194304,4194304,1,32768,0,2147483648,16,33554432,33554432,0,2,4,112,128,256,3584,16384,37748736,742391808,239075328,775946240,775946240,775946240,171966464,171966464,171966464,171966464,239075328,171966464,775946240,239075328,4718592,64,4718592,2097216,4720640,541589504,4194368,541589504,4194400,4194368,-2142763008,541589504,541065280,4194368,4194368,541065312,541065280,-2143289280,4194368,-2143285408,-2143285408,-2143285440,-2143285440,-2143285440,-2143285440,-1605890240,-2142761152,-2109731008,-1606414528,-2142761152,-1606414528,-2143285440,-2143285440,-1606414528,-1606414528,-2143285440,-2109731008,776470528,-1908404416,775946304,-1908404416,2,4,8,16,512,1024,4194304,128,128,0,2147483648,524288,5242880,2147483648,0,0,2,12,64,256,2048,2048,0,0,0,0,1,0,0,0,2,0,0,0,3,4,16,224,256,512,1024,16777216,16777216,0,0,2147483648,65536,1792,0,0,0,8,0,0,0,12,32,64,1024,2048,57344,262144,50331648,268435456,1073741824,2147483648,0,0,1536,64,524352,524352,524352,0,0,0,62,64,128,64,262144,1048576,0,2147483648,2097152,0,-2113929216,0,0,-1979711488,-1912602624,64,64,1048576,128,256,2048,262144,524288,4096,1024,1024,0,-570425344,32505856,0,0,48,25165824,0,0,0,33554432,268435456,0,0,0,524288,0,0,0,32,0,0,0,44,64576,319029248,0,524288,524288,524288,0,64,0,0,0,64,0,96,96,96,524352,524352,524352,524352,524288,524288,524288,524288,64,64,0,64,128,128,128,128,2048,2048,0,0,524288,524288,64,64,128,2048,0,0,64,128,8388608,524288,64,64,64,64,32,96,64,96,96,524352,96,160,1056,262176,1048608,2097184,4194336,536870944,40,262176,32,96,0,0,0,60,40,48,1120,96,96,64,524352,0,524288,64,96,524352,0,524288,4195360,6291488,2097184,2097184,4194336,4194336,4194336,32,56,0,4,16,32,64,128,256,1536,2048,40,262184,40,40,40,40,40,262176,32,32,6292512,4195360,2097184,32,128,1792,8192,16384,131072,524288,4195104,6292512,32,32,32,32,4,40,262184,32,32,34,34,262184,40,4196128,32,262144,524288,0,0,64,256,0,2097152,135790592,131073,4,393233,262184,34,42,32,524320,32,1073872896,32,32,40,1120,96,1056,4194336,32,2098208,-322695456,-322695456,-322695456,-322695456,-322597152,-320598176,-322597152,-322597144,-321548576,-320598168,-322597144,-321548568,-37482773,0,0,64,1536,32768,-322588952,-321548568,-322588952,-321548568,-322597144,32,0,32,64,65536,0,96,32,32,56,262184,40,41,262184,32,42,224,40,262176,42,106,293601323,293601323,293863467,293699627,293617707,293716011,293702203,293702203,293702203,297896507,293702203,293702203,293702203,293702267,293964347,293702267,297896507,293964347,297896507,297896507,-322597144,-37744981,0,32,524288,0,0,64,2048,16384,32768,0,0,262144,65536,262144,262144,0,4096,0,8,0,2,65536,262656,328192,0,0,0,1536,32768,0,5242880,0,0,0,1998,518144,8388608,-2147418112,5242880,-1842937664,201330721,201330721,-2111369023,-2111369023,-2111369023,-2111369023,-2111360575,-2111369023,-2111369023,-2111369023,-1977151295,-1977151293,-1910042431,-1893265183,-2111368509,-1893265183,-1893265183,-1893265183,-1893265183,-2111368509,-1893265183,-1893265183,-553689472,-553656704,-553689472,-553689472,-553656704,-553656704,-553656704,-553656704,-553656704,-553656672,-553656672,-553656672,-553656672,-536912159,-553656672,-553656672,-553656664,-553656664,-553656672,-553656672,-553656670,-553656672,-553656672,-553656670,-553656608,-553656671,-536879391,-536879391,-536879391,0,0,262656,0,0,65,1024,0,1,4096,201326592,0,0,0,0,462976,-2113929216,100663296,100663296,2,4,8,64,128,512,2048,8192,16384,458752,18874368,463488,0,0,1,2,4,32,0,0,1007232,15728640,104e4,15728640,-570425344,0,0,0,2014,0,0,0,32505856,-570425344,196608,2097152,301989888,0,0,80,268435456,0,268435456,0,268435456,268435456,268435456,268435456,0,0,0,4096,201326592,0,0,96,2260992,12288,0,2147483648,0,0,118,577408,22020096,1040187392,0,0,167772160,234881024,128,512,2048,196608,262144,33554432,536870912,0,0,0,557056,7168,16384,196608,786432,503316480,1073741824,2147483648,0,0,128,131072,524288,58720256,402653184,0,0,0,318767104,128,512,7168,16384,32768,32768,196608,786432,1048576,2097152,4194304,33554432,268435456,536870912,2147483648,0,0,1,256,8388608,234881024,268435456,1073741824,2147483648,4096,16384,32768,131072,524288,1048576,2097152,4194304,8388608,234881024,0,0,201326592,0,0,128,536870912,4194304,512,3072,16384,131072,524288,1048576,4194304,134217728,8388608,33554432,201326592,268435456,1073741824,0,1048576,4194304,268435456,4194304,8388608,134217728,268435456,1073741824,3072,131072,524288,1048576,1073741824,0,0,0,2147483648,0,0,0,-2147483646,16384,18432,67108864,1073741824,16384,8192,0,0,65536,262144,0,0,67108864,0,0,0,32768,0,1,18952,1024,0,0,192,0,0,0,65,1024,1024,100663298,18952,65,268436480,2101248,524288,1024,19017,-1744550912,8388624,8388624,8388624,-1739308032,-1739308032,-1739308032,-1739308032,-1736162288,-1736162288,-1736162288,-1736162288,-7868466,-7868466,-7868466,-7868466,-7868466,-7868450,-7868450,-7868450,-7868450,0,0,0,65536,2048,16384,67108864,134217728,268435456,0,0,1073741824,18432,0,0,1,285212672,0,585,0,0,2,8,16,64,128,3072,4096,8192,65536,131072,0,0,1024,5521408,-1744830464,0,0,0,262144,0,0,0,1024,0,0,0,112,1040,0,0,-1744830464,0,-1744830464,59238400,-67108864,0,0,0,327680,2014,0,0,0,328192,518144,8388608,50331648,201326592,805306368,-1073741824,768,1024,10240,16384,32768,458752,50331648,67108864,134217728,805306368,0,0,0,458880,32768,458752,8388608,50331648,67108864,134217728,67108864,134217728,805306368,1073741824,2147483648,0,0,220,0,0,0,471424,12,192,768,1024,2048,805306368,1073741824,0,0,2,204,768,1024,4,8,32,64,512,2048,512,2048,16384,67108864,0,0,458752,50331648,67108864,805306368,-1073741824,0,0,0,393240,0,1048576,4194304,0,0,16384,458752,50331648,67108864,536870912,1073741824,0,0,16384,0,0,0,256,0,0,0,512,0,0,0,585,16,0,0,1048576,4194304,2147483648,4,8,128,512,3072,16384,32768,131072,512,0,0,4096,1048576,2147483648,8192,2097152,268435456,2147483648,537395200,537395200,0,4196352,51380242,51380242,51380242,0,537395200,4196352,4196352,276901888,8540160,-1606418432,0,32768,537395200,4196352,1082130432,0,4196352,537427968,22022147,22349827,22349827,22349827,22366219,22349843,22349827,22349827,22366219,22349827,55576594,55576594,55576594,55576594,55576594,324012114,55576594,55576594,1062785014,1062785014,1062785014,1062785014,0,0,2,33554432,0,0,0,131072,0,0,0,8192,8392704,32768,268435456,0,0,2,67108864,12,16384,0,65536,0,22020096,0,0,0,104e4,15728640,0,0,329728,0,0,254,1792,2809856,58720256,19,0,0,0,1048576,0,0,0,2048,0,0,0,18,33554432,0,0,256,8192,0,0,8192,2097152,0,2147483648,0,82,301989888,0,0,0,2101248,22020096,1040187392,0,0,0,4194304,0,0,0,16384,1536,0,256,0,8192,2097152,16,1048576,16777216,33554432,268435456,536870912,2147483648,3584,16384,32768,524288,1048576,4194304,0,0,8388608,1073741824,0,0,1536,2048,16384,32768,524288,4194304,134217728,0,0,134217728,4096,0,8,0,256,1536,16384,32768,524288,128,536870912,0,0,4,8,512,2048,0,0,1536,32768,524288,4194304,33554432,134217728,536870912,0,0,8192,2097152,2147483648,0,0,512,2048,131072,536870912,0,0,16,64,1536,32768,32768,524288,134217728,0,0,0,524288,0,64,64,16392,1536,32768,524288,0,0,33554432,8192,0,65536,0,0,1,1,0,1,67174400,33554432,536870912,-1073741824,0,0,0,0,524288,134217728,67174400,0,0,0,16777216,0,0,0,4,0,0,0,7,16,16384,8,8,0,0,512,3072,131072,131072,268435456,134217728,8,512,2048,196608,262144,50331648,536870912,1073741824,0,4,8,2048,8192,32768,8388608,0,0,134217736,16908320,547389524,547389524,555909216,555909216,555909216,555909216,564297840,564297844,564297844,564297844,564297844,1001055742,1001056254,1001055742,1001055742,1001056254,1001056254,1001056254,1001056254,1001055742,1001056254,1001056254,1001056254,1001056254,0,1052672,2147483648,0,0,4,16,0,0,84,2129920,8388608,4096,0,0,0,116,0,254,1280,2809856,58720256,939524096,0,0,0,50331648,268435456,0,0,0,939524096,0,0,520,1024,0,0,1,0,67108864,1073741824,0,0,0,20,64,32768,8192,0,2048,0,2097152,8388608,536870912,0,0,1024,278528,0,0,0,393232,163840,0,0,0,134217728,0,0,0,16,0,0,0,15,208,15360,1245184,52,0,0,0,268435456,0,0,33554432,64,128,1280,24576,163840,524288,2097152,58720256,402653184,536870912,128,1792,24576,163840,524288,0,4,16,8388608,0,0,4096,32768,262144,524288,33554432,134217728,0,0,24,32,128,1280,8192,16384,8192,524288,16777216,33554432,402653184,0,4,8,16,1024,2048,8192,16384,32768,458752,0,262144,33554432,134217728,0,512,1024,16777216,33554432,402653184,0,4096,1048576,0,0,1998,59238400,-67108864,4,8,16,402653184,0,0,8,16,402653184,536870912,0,0,4,64,128,8388608,0,0,67108866,12,64,128,512,1024,4,16384,65536,67108864,0,65536,0,0,2048,64,64,64,96,96,96,96,0,8192,8192,268435460,32768,65536,2490368,16777216,2147483648,0,0,1,4,8,2048,8192,3670016,2048,2048,2048,2048,0,8192,34816,9216,4096,0,128,0,2097152,0,0,4096,4096,29696,29712,29840,29712,29712,29840,29840,536900624,4224144,144384,144384,144384,144384,-754647956,-754647956,-754647956,-754647956,-754647956,-754647940,-754647940,-754647940,-754647940,-754516884,-754647956,-754516884,-754516884,-754516884,4,8,256,512,2048,0,0,3670016,0,0,2048,131072,524288,4194304,2147483648,0,0,9216,0,0,4,134217728,0,29696,0,0,4,268435456,0,16,0,29824,0,60,64576,319029248,-1073741824,0,0,319160320,0,0,0,319160320,0,0,524288,3145728,0,12288,131072,0,8,131072,61440,262144,318767104,-1073741824,0,0,64,1024,2048,61440,262144,0,28,32,64,64,64,128,0,0,16384,32768,50331648,268435456,0,0,0,393216,0,0,0,486539264,0,128,0,536870912,0,0,12,16,32,327155712,34,1056,32,32,42,4457568,-326784344,-322851160,-322698144,-322698144,-322698144,-322698144,-322695456,0,0,524288,1048576,0,0,0,536870912,4194304,131072,0,0,6,56,128,1792,2,67108864,16384,0,0,4096,4194304,32768,0,0,0,8388608,0,0,0,72,0,8,64,2048,57344,16384,32768,262144,50331648,268435456,0,524288,1048576,2097152,4194304,134217728,2147483648,0,0,50331648,268435456,2147483648,0,0,1,0,0,2,4,16,64,1,0,2,0,0,65536,0,0,0,1040,8667136,0,131072,131072,0,131072,0,131072,0,0,524288,536870912,131072,0,0,7,27756528,-503316480,0,256,0,2048,32768,8388608,262144,2113536,0,0,8,16,512,402653184,0,0,0,256,32768,0,0,4224,65536,262144,1048576,4194304,16777216,33554432,67108864,134217728,0,0,256,262144,0,0,8192,268435456,0,0,0,4,131073,0,0,9728,268435456,0,0,16,393216,0,131073,131073,33554624,4,0,131073,0,0,13312,131072,4194304,-2146430976,131072,2097152,16777216,0,0,512,131072,1048576,2097152,0,1572864,0,0,0,2147483648,524288,0,1610612736,1610612736,1610612736,393241,393241,393241,393241,805707793,805707793,1879449617,805708049,1879449617,1879449617,1879449617,1879449617,-483948553,-475559945,-483948553,-475559945,-483948553,-483948553,-475559945,-475559945,-475559945,-475559945,-483948553,-483948553,-215504905,-475559945,-207116297,-207116297,0,0,0,1073741824,0,0,2097152,67108864,134217728,536870912,0,0,24576,0,0,0,2113536,0,0,8,64,0,0,0,401424,805306368,0,0,28672,0,0,4096,2097152,4194304,8388608,503316480,1073741824,0,0,1879048192,0,0,32768,2097152,8388608,16777216,33554432,0,401680,0,0,8,512,2048,131072,33554432,536870912,0,0,7,19367920,-503316480,27756528,-503316480,0,0,0,0,0,19376112,-234881024,0,27764720,-234881024,0,0,32768,33554436,0,0,33554436,24,0,0,0,11,346112,7,16,480,1536,32768,65536,393216,10485760,65536,10878976,16777216,33554432,536870912,4,32,524288,1048576,33554432,67108864,65536,393216,2097152,16777216,262400,65536,4224,4224,0,65536,201326592,2147483648,393216,10485760,16777216,33554432,1073741824,2147483648,0,16,224,256,1536,32768,65536,0,16384,2097152,0,0,1024,32768,65536,131072,262144,262144,2097152,16777216,33554432,4,32,524288,134217728,0,512,32768,131072,262144,2097152,2097152,8388608,16777216,1073741824,0,0,512,32768,131072,2097152,8388608,8388608,16777216,0,0,16,33554432,4,16,224,512,32768,4,524288,134217728,0,0,32768,50331648,268435456,4096,32768,0,0,16,536870912,16,192,32768,8388608,4096,4096,4096,1536,2,4,16,192,32768,0,16,64,128,8388608,0,0,0,2,4,134217728,4,0,0,128,512,3072,4096,16384,131072,4,128,0,0,18,17825792,524288,8388608,33554432,2147483648,8192,0,33554432,0,0,33554432,0,0,0,268435456,2,4,8,262144,262144,1048576,2048,32768,0,0,28,0,100663296,4224,65536,65536,262144,33554432,0,2,4,24,-1072627712,805306384,-1342177264,-1342177264,-1070006272,-1070006272,-1069989376,-1069989376,-258932720,-258932720,-258932720,-258932720,-225378288,-1069989376,-1069989360,-1065795072,-1061600768,-258932720,-225378288,-258932720,-258932720,1260767,34815199,1260767,34815199,1260767,34815199,34815199,1260767,1260767,34815199,1260767,1260767,169032927,-1978450721,169032927,-1978450721,169032927,169032927,169032927,169032927,1242774751,-1978450721,-1978450721,-225231649,-1173144353,-225231649,-91013921,0,0,32,128,256,262144,524288,8388608,0,64,0,0,1114112,1073741824,0,0,34816,0,0,2048,4194304,0,0,0,3735552,0,0,32,512,2048,32768,262144,524288,3751936,0,0,0,48,0,0,528,7946240,12140544,9502720,1610612736,0,0,0,15360,1245184,0,0,134217728,128,15,9633792,0,0,0,2,12,80,128,7168,8192,7168,8192,196608,1048576,0,0,0,1,2,12,16,64,128,256,0,0,3145728,0,0,0,536870912,0,0,8192,65536,131072,1048576,0,0,0,2097152,0,16384,0,4194304,0,0,2097152,16384,0,0,131072,2097152,0,0,0,4096,0,0,8192,0,0,0,128,0,0,0,208,0,64,128,1024,4096,0,0,2,8,64,128,1024,2048,4096,8192,128,1024,4096,8192,0,0],r.TOKEN=["(0)","PragmaContents","DirCommentContents","DirPIContents","CDataSection","Wildcard","EQName","URILiteral","IntegerLiteral","DecimalLiteral","DoubleLiteral","StringLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","PITarget","NCName","QName","S","S","CharRef","CommentContents","EOF","'!'","'!='","'\"'","'#'","'#)'","'$'","'$$'","'%'","''''","'('","'(#'","'(:'","')'","'*'","'*'","'+'","','","'-'","'-->'","'.'","'..'","'/'","'//'","'/>'","':'","':)'","'::'","':='","';'","'<'","'<!--'","'</'","'<<'","'<='","'<?'","'='","'>'","'>='","'>>'","'?'","'?>'","'@'","'NaN'","'['","']'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'false'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'jsoniq'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'null'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'select'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'true'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'zero-digit'","'{'","'{{'","'{|'","'|'","'||'","'|}'","'}'","'}}'"]},{}],10:[function(e,t,n){var r=n.XQueryParser=function i(e,t){function r(e,t){Vl=t,Ql=e,Gl=e.length,s(0,0,0)}function s(e,t,n){Dl=t,Pl=t,Hl=e,Bl=t,jl=n,Fl=0,Zl=n,Ul=-1,$l={},Vl.reset(Ql)}function o(){Vl.startNonterminal("Module",Pl);switch(Hl){case 274:Ll(199);break;default:_l=Hl}(_l==64274||_l==134930)&&u(),kl(275);switch(Hl){case 182:Ll(194);break;default:_l=Hl}switch(_l){case 94390:Nl(),a();break;default:Nl(),Ra()}Vl.endNonterminal("Module",Pl)}function u(){Vl.startNonterminal("VersionDecl",Pl),Sl(274),kl(116);switch(Hl){case 125:Sl(125),kl(17),Sl(11);break;default:Sl(263),kl(17),Sl(11),kl(109),Hl==125&&(Sl(125),kl(17),Sl(11))}kl(28),Nl(),c(),Vl.endNonterminal("VersionDecl",Pl)}function a(){Vl.startNonterminal("LibraryModule",Pl),f(),kl(138),Nl(),l(),Vl.endNonterminal("LibraryModule",Pl)}function f(){Vl.startNonterminal("ModuleDecl",Pl),Sl(182),kl(61),Sl(184),kl(249),Nl(),Ia(),kl(29),Sl(60),kl(15),Sl(7),kl(28),Nl(),c(),Vl.endNonterminal("ModuleDecl",Pl)}function l(){Vl.startNonterminal("Prolog",Pl);for(;;){kl(275);switch(Hl){case 108:Ll(214);break;case 153:Ll(202);break;default:_l=Hl}if(_l!=42604&&_l!=43628&&_l!=50284&&_l!=53356&&_l!=54380&&_l!=55916&&_l!=72300&&_l!=93337&&_l!=94316&&_l!=104044&&_l!=113772&&_l!=115353)break;switch(Hl){case 108:Ll(179);break;default:_l=Hl}if(_l==55916){_l=Kl(0,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{_(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(0,Pl,_l)}}switch(_l){case-1:Nl(),M();break;case 94316:Nl(),O();break;case 153:Nl(),C();break;case 72300:Nl(),D();break;default:Nl(),h()}kl(28),Nl(),c()}for(;;){kl(275);switch(Hl){case 108:Ll(211);break;default:_l=Hl}if(_l!=16492&&_l!=48748&&_l!=51820&&_l!=74348&&_l!=79468&&_l!=82540&&_l!=101996&&_l!=131692&&_l!=134252)break;switch(Hl){case 108:Ll(175);break;default:_l=Hl}switch(_l){case 51820:Nl(),R();break;case 101996:Nl(),Q();break;default:Nl(),P()}kl(28),Nl(),c()}Vl.endNonterminal("Prolog",Pl)}function c(){Vl.startNonterminal("Separator",Pl),Sl(53),Vl.endNonterminal("Separator",Pl)}function h(){Vl.startNonterminal("Setter",Pl);switch(Hl){case 108:Ll(172);break;default:_l=Hl}if(_l==55916){_l=Kl(1,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{v(),_l=-2}catch(a){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),w(),_l=-6}catch(f){_l=-9}}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(1,Pl,_l)}}switch(_l){case 43628:p();break;case-2:d();break;case 42604:m();break;case 50284:g();break;case 104044:y();break;case-6:b();break;case 113772:ko();break;case 53356:E();break;default:T()}Vl.endNonterminal("Setter",Pl)}function p(){Vl.startNonterminal("BoundarySpaceDecl",Pl),Sl(108),kl(33),Sl(85),kl(133);switch(Hl){case 214:Sl(214);break;default:Sl(241)}Vl.endNonterminal("BoundarySpaceDecl",Pl)}function d(){Vl.startNonterminal("DefaultCollationDecl",Pl),Sl(108),kl(46),Sl(109),kl(38),Sl(94),kl(15),Sl(7),Vl.endNonterminal("DefaultCollationDecl",Pl)}function v(){xl(108),kl(46),xl(109),kl(38),xl(94),kl(15),xl(7)}function m(){Vl.startNonterminal("BaseURIDecl",Pl),Sl(108),kl(32),Sl(83),kl(15),Sl(7),Vl.endNonterminal("BaseURIDecl",Pl)}function g(){Vl.startNonterminal("ConstructionDecl",Pl),Sl(108),kl(41),Sl(98),kl(133);switch(Hl){case 241:Sl(241);break;default:Sl(214)}Vl.endNonterminal("ConstructionDecl",Pl)}function y(){Vl.startNonterminal("OrderingModeDecl",Pl),Sl(108),kl(68),Sl(203),kl(131);switch(Hl){case 202:Sl(202);break;default:Sl(256)}Vl.endNonterminal("OrderingModeDecl",Pl)}function b(){Vl.startNonterminal("EmptyOrderDecl",Pl),Sl(108),kl(46),Sl(109),kl(67),Sl(201),kl(49),Sl(123),kl(121);switch(Hl){case 147:Sl(147);break;default:Sl(173)}Vl.endNonterminal("EmptyOrderDecl",Pl)}function w(){xl(108),kl(46),xl(109),kl(67),xl(201),kl(49),xl(123),kl(121);switch(Hl){case 147:xl(147);break;default:xl(173)}}function E(){Vl.startNonterminal("CopyNamespacesDecl",Pl),Sl(108),kl(44),Sl(104),kl(128),Nl(),S(),kl(25),Sl(41),kl(123),Nl(),x(),Vl.endNonterminal("CopyNamespacesDecl",Pl)}function S(){Vl.startNonterminal("PreserveMode",Pl);switch(Hl){case 214:Sl(214);break;default:Sl(190)}Vl.endNonterminal("PreserveMode",Pl)}function x(){Vl.startNonterminal("InheritMode",Pl);switch(Hl){case 157:Sl(157);break;default:Sl(189)}Vl.endNonterminal("InheritMode",Pl)}function T(){Vl.startNonterminal("DecimalFormatDecl",Pl),Sl(108),kl(114);switch(Hl){case 106:Sl(106),kl(255),Nl(),Ha();break;default:Sl(109),kl(45),Sl(106)}for(;;){kl(181);if(Hl==53)break;Nl(),N(),kl(29),Sl(60),kl(17),Sl(11)}Vl.endNonterminal("DecimalFormatDecl",Pl)}function N(){Vl.startNonterminal("DFPropertyName",Pl);switch(Hl){case 107:Sl(107);break;case 149:Sl(149);break;case 156:Sl(156);break;case 179:Sl(179);break;case 67:Sl(67);break;case 209:Sl(209);break;case 208:Sl(208);break;case 275:Sl(275);break;case 116:Sl(116);break;default:Sl(207)}Vl.endNonterminal("DFPropertyName",Pl)}function C(){Vl.startNonterminal("Import",Pl);switch(Hl){case 153:Ll(126);break;default:_l=Hl}switch(_l){case 115353:k();break;default:A()}Vl.endNonterminal("Import",Pl)}function k(){Vl.startNonterminal("SchemaImport",Pl),Sl(153),kl(73),Sl(225),kl(137),Hl!=7&&(Nl(),L()),kl(15),Sl(7),kl(108);if(Hl==81){Sl(81),kl(15),Sl(7);for(;;){kl(103);if(Hl!=41)break;Sl(41),kl(15),Sl(7)}}Vl.endNonterminal("SchemaImport",Pl)}function L(){Vl.startNonterminal("SchemaPrefix",Pl);switch(Hl){case 184:Sl(184),kl(249),Nl(),Ia(),kl(29),Sl(60);break;default:Sl(109),kl(47),Sl(121),kl(61),Sl(184)}Vl.endNonterminal("SchemaPrefix",Pl)}function A(){Vl.startNonterminal("ModuleImport",Pl),Sl(153),kl(60),Sl(182),kl(90),Hl==184&&(Sl(184),kl(249),Nl(),Ia(),kl(29),Sl(60)),kl(15),Sl(7),kl(108);if(Hl==81){Sl(81),kl(15),Sl(7);for(;;){kl(103);if(Hl!=41)break;Sl(41),kl(15),Sl(7)}}Vl.endNonterminal("ModuleImport",Pl)}function O(){Vl.startNonterminal("NamespaceDecl",Pl),Sl(108),kl(61),Sl(184),kl(249),Nl(),Ia(),kl(29),Sl(60),kl(15),Sl(7),Vl.endNonterminal("NamespaceDecl",Pl)}function M(){Vl.startNonterminal("DefaultNamespaceDecl",Pl),Sl(108),kl(46),Sl(109),kl(115);switch(Hl){case 121:Sl(121);break;default:Sl(145)}kl(61),Sl(184),kl(15),Sl(7),Vl.endNonterminal("DefaultNamespaceDecl",Pl)}function _(){xl(108),kl(46),xl(109),kl(115);switch(Hl){case 121:xl(121);break;default:xl(145)}kl(61),xl(184),kl(15),xl(7)}function D(){Vl.startNonterminal("FTOptionDecl",Pl),Sl(108),kl(52),Sl(141),kl(81),Nl(),Fu(),Vl.endNonterminal("FTOptionDecl",Pl)}function P(){Vl.startNonterminal("AnnotatedDecl",Pl),Sl(108);for(;;){kl(170);if(Hl!=32&&Hl!=257)break;switch(Hl){case 257:Nl(),H();break;default:Nl(),B()}}switch(Hl){case 262:Nl(),F();break;case 145:Nl(),wl();break;case 95:Nl(),da();break;case 155:Nl(),xa();break;default:Nl(),Ta()}Vl.endNonterminal("AnnotatedDecl",Pl)}function H(){Vl.startNonterminal("CompatibilityAnnotation",Pl),Sl(257),Vl.endNonterminal("CompatibilityAnnotation",Pl)}function B(){Vl.startNonterminal("Annotation",Pl),Sl(32),kl(255),Nl(),Ha(),kl(171);if(Hl==34){Sl(34),kl(154),Nl(),oi();for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(154),Nl(),oi()}Sl(37)}Vl.endNonterminal("Annotation",Pl)}function j(){xl(32),kl(255),Ba(),kl(171);if(Hl==34){xl(34),kl(154),ui();for(;;){kl(101);if(Hl!=41)break;xl(41),kl(154),ui()}xl(37)}}function F(){Vl.startNonterminal("VarDecl",Pl),Sl(262),kl(21),Sl(31),kl(255),Nl(),hi(),kl(147),Hl==79&&(Nl(),ds()),kl(106);switch(Hl){case 52:Sl(52),kl(267),Nl(),I();break;default:Sl(133),kl(104),Hl==52&&(Sl(52),kl(267),Nl(),q())}Vl.endNonterminal("VarDecl",Pl)}function I(){Vl.startNonterminal("VarValue",Pl),_f(),Vl.endNonterminal("VarValue",Pl)}function q(){Vl.startNonterminal("VarDefaultValue",Pl),_f(),Vl.endNonterminal("VarDefaultValue",Pl)}function R(){Vl.startNonterminal("ContextItemDecl",Pl),Sl(108),kl(43),Sl(101),kl(55),Sl(165),kl(147),Hl==79&&(Sl(79),kl(260),Nl(),ws()),kl(106);switch(Hl){case 52:Sl(52),kl(267),Nl(),I();break;default:Sl(133),kl(104),Hl==52&&(Sl(52),kl(267),Nl(),q())}Vl.endNonterminal("ContextItemDecl",Pl)}function U(){Vl.startNonterminal("ParamList",Pl),W();for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(21),Nl(),W()}Vl.endNonterminal("ParamList",Pl)}function z(){X();for(;;){kl(101);if(Hl!=41)break;xl(41),kl(21),X()}}function W(){Vl.startNonterminal("Param",Pl),Sl(31),kl(255),Nl(),Ha(),kl(143),Hl==79&&(Nl(),ds()),Vl.endNonterminal("Param",Pl)}function X(){xl(31),kl(255),Ba(),kl(143),Hl==79&&vs()}function V(){Vl.startNonterminal("FunctionBody",Pl),J(),Vl.endNonterminal("FunctionBody",Pl)}function $(){K()}function J(){Vl.startNonterminal("EnclosedExpr",Pl),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("EnclosedExpr",Pl)}function K(){xl(276),kl(267),Y(),xl(282)}function Q(){Vl.startNonterminal("OptionDecl",Pl),Sl(108),kl(66),Sl(199),kl(255),Nl(),Ha(),kl(17),Sl(11),Vl.endNonterminal("OptionDecl",Pl)}function G(){Vl.startNonterminal("Expr",Pl),_f();for(;;){if(Hl!=41)break;Sl(41),kl(267),Nl(),_f()}Vl.endNonterminal("Expr",Pl)}function Y(){Df();for(;;){if(Hl!=41)break;xl(41),kl(267),Df()}}function Z(){Vl.startNonterminal("FLWORExpr",Pl),tt();for(;;){kl(173);if(Hl==220)break;Nl(),rt()}Nl(),rn(),Vl.endNonterminal("FLWORExpr",Pl)}function et(){nt();for(;;){kl(173);if(Hl==220)break;it()}sn()}function tt(){Vl.startNonterminal("InitialClause",Pl);switch(Hl){case 137:Ll(141);break;default:_l=Hl}switch(_l){case 16009:st();break;case 174:vt();break;default:bt()}Vl.endNonterminal("InitialClause",Pl)}function nt(){switch(Hl){case 137:Ll(141);break;default:_l=Hl}switch(_l){case 16009:ot();break;case 174:mt();break;default:wt()}}function rt(){Vl.startNonterminal("IntermediateClause",Pl);switch(Hl){case 137:case 174:tt();break;case 266:It();break;case 148:Rt();break;case 105:jt();break;default:Kt()}Vl.endNonterminal("IntermediateClause",Pl)}function it(){switch(Hl){case 137:case 174:nt();break;case 266:qt();break;case 148:Ut();break;case 105:Ft();break;default:Qt()}}function st(){Vl.startNonterminal("ForClause",Pl),Sl(137),kl(21),Nl(),ut();for(;;){if(Hl!=41)break;Sl(41),kl(21),Nl(),ut()}Vl.endNonterminal("ForClause",Pl)}function ot(){xl(137),kl(21),at();for(;;){if(Hl!=41)break;xl(41),kl(21),at()}}function ut(){Vl.startNonterminal("ForBinding",Pl),Sl(31),kl(255),Nl(),hi(),kl(164),Hl==79&&(Nl(),ds()),kl(158),Hl==72&&(Nl(),ft()),kl(150),Hl==81&&(Nl(),ct()),kl(122),Hl==228&&(Nl(),pt()),kl(53),Sl(154),kl(267),Nl(),_f(),Vl.endNonterminal("ForBinding",Pl)}function at(){xl(31),kl(255),pi(),kl(164),Hl==79&&vs(),kl(158),Hl==72&&lt(),kl(150),Hl==81&&ht(),kl(122),Hl==228&&dt(),kl(53),xl(154),kl(267),Df()}function ft(){Vl.startNonterminal("AllowingEmpty",Pl),Sl(72),kl(49),Sl(123),Vl.endNonterminal("AllowingEmpty",Pl)}function lt(){xl(72),kl(49),xl(123)}function ct(){Vl.startNonterminal("PositionalVar",Pl),Sl(81),kl(21),Sl(31),kl(255),Nl(),hi(),Vl.endNonterminal("PositionalVar",Pl)}function ht(){xl(81),kl(21),xl(31),kl(255),pi()}function pt(){Vl.startNonterminal("FTScoreVar",Pl),Sl(228),kl(21),Sl(31),kl(255),Nl(),hi(),Vl.endNonterminal("FTScoreVar",Pl)}function dt(){xl(228),kl(21),xl(31),kl(255),pi()}function vt(){Vl.startNonterminal("LetClause",Pl),Sl(174),kl(96),Nl(),gt();for(;;){if(Hl!=41)break;Sl(41),kl(96),Nl(),gt()}Vl.endNonterminal("LetClause",Pl)}function mt(){xl(174),kl(96),yt();for(;;){if(Hl!=41)break;xl(41),kl(96),yt()}}function gt(){Vl.startNonterminal("LetBinding",Pl);switch(Hl){case 31:Sl(31),kl(255),Nl(),hi(),kl(105),Hl==79&&(Nl(),ds());break;default:pt()}kl(27),Sl(52),kl(267),Nl(),_f(),Vl.endNonterminal("LetBinding",Pl)}function yt(){switch(Hl){case 31:xl(31),kl(255),pi(),kl(105),Hl==79&&vs();break;default:dt()}kl(27),xl(52),kl(267),Df()}function bt(){Vl.startNonterminal("WindowClause",Pl),Sl(137),kl(135);switch(Hl){case 251:Nl(),Et();break;default:Nl(),xt()}Vl.endNonterminal("WindowClause",Pl)}function wt(){xl(137),kl(135);switch(Hl){case 251:St();break;default:Tt()}}function Et(){Vl.startNonterminal("TumblingWindowClause",Pl),Sl(251),kl(85),Sl(269),kl(21),Sl(31),kl(255),Nl(),hi(),kl(110),Hl==79&&(Nl(),ds()),kl(53),Sl(154),kl(267),Nl(),_f(),Nl(),Nt();if(Hl==126||Hl==198)Nl(),kt();Vl.endNonterminal("TumblingWindowClause",Pl)}function St(){xl(251),kl(85),xl(269),kl(21),xl(31),kl(255),pi(),kl(110),Hl==79&&vs(),kl(53),xl(154),kl(267),Df(),Ct(),(Hl==126||Hl==198)&&Lt()}function xt(){Vl.startNonterminal("SlidingWindowClause",Pl),Sl(234),kl(85),Sl(269),kl(21),Sl(31),kl(255),Nl(),hi(),kl(110),Hl==79&&(Nl(),ds()),kl(53),Sl(154),kl(267),Nl(),_f(),Nl(),Nt(),Nl(),kt(),Vl.endNonterminal("SlidingWindowClause",Pl)}function Tt(){xl(234),kl(85),xl(269),kl(21),xl(31),kl(255),pi(),kl(110),Hl==79&&vs(),kl(53),xl(154),kl(267),Df(),Ct(),Lt()}function Nt(){Vl.startNonterminal("WindowStartCondition",Pl),Sl(237),kl(163),Nl(),At(),kl(83),Sl(265),kl(267),Nl(),_f(),Vl.endNonterminal("WindowStartCondition",Pl)}function Ct(){xl(237),kl(163),Ot(),kl(83),xl(265),kl(267),Df()}function kt(){Vl.startNonterminal("WindowEndCondition",Pl),Hl==198&&Sl(198),kl(50),Sl(126),kl(163),Nl(),At(),kl(83),Sl(265),kl(267),Nl(),_f(),Vl.endNonterminal("WindowEndCondition",Pl)}function Lt(){Hl==198&&xl(198),kl(50),xl(126),kl(163),Ot(),kl(83),xl(265),kl(267),Df()}function At(){Vl.startNonterminal("WindowVars",Pl),Hl==31&&(Sl(31),kl(255),Nl(),Mt()),kl(159),Hl==81&&(Nl(),ct()),kl(153),Hl==215&&(Sl(215),kl(21),Sl(31),kl(255),Nl(),Dt()),kl(127),Hl==187&&(Sl(187),kl(21),Sl(31),kl(255),Nl(),Ht()),Vl.endNonterminal("WindowVars",Pl)}function Ot(){Hl==31&&(xl(31),kl(255),_t()),kl(159),Hl==81&&ht(),kl(153),Hl==215&&(xl(215),kl(21),xl(31),kl(255),Pt()),kl(127),Hl==187&&(xl(187),kl(21),xl(31),kl(255),Bt())}function Mt(){Vl.startNonterminal("CurrentItem",Pl),Ha(),Vl.endNonterminal("CurrentItem",Pl)}function _t(){Ba()}function Dt(){Vl.startNonterminal("PreviousItem",Pl),Ha(),Vl.endNonterminal("PreviousItem",Pl)}function Pt(){Ba()}function Ht(){Vl.startNonterminal("NextItem",Pl),Ha(),Vl.endNonterminal("NextItem",Pl)}function Bt(){Ba()}function jt(){Vl.startNonterminal("CountClause",Pl),Sl(105),kl(21),Sl(31),kl(255),Nl(),hi(),Vl.endNonterminal("CountClause",Pl)}function Ft(){xl(105),kl(21),xl(31),kl(255),pi()}function It(){Vl.startNonterminal("WhereClause",Pl),Sl(266),kl(267),Nl(),_f(),Vl.endNonterminal("WhereClause",Pl)}function qt(){xl(266),kl(267),Df()}function Rt(){Vl.startNonterminal("GroupByClause",Pl),Sl(148),kl(34),Sl(87),kl(267),Nl(),zt(),Vl.endNonterminal("GroupByClause",Pl)}function Ut(){xl(148),kl(34),xl(87),kl(267),Wt()}function zt(){Vl.startNonterminal("GroupingSpecList",Pl),Xt();for(;;){kl(176);if(Hl!=41)break;Sl(41),kl(267),Nl(),Xt()}Vl.endNonterminal("GroupingSpecList",Pl)}function Wt(){Vt();for(;;){kl(176);if(Hl!=41)break;xl(41),kl(267),Vt()}}function Xt(){Vl.startNonterminal("GroupingSpec",Pl);switch(Hl){case 31:Ll(255);break;default:_l=Hl}if(_l==3103||_l==35871||_l==36895||_l==37407||_l==37919||_l==38431||_l==39455||_l==39967||_l==40479||_l==40991||_l==41503||_l==42015||_l==42527||_l==43039||_l==43551||_l==44063||_l==45087||_l==45599||_l==46111||_l==46623||_l==47647||_l==48159||_l==49183||_l==49695||_l==50207||_l==51743||_l==52255||_l==52767||_l==53279||_l==53791||_l==54303||_l==55327||_l==55839||_l==56351||_l==56863||_l==57375||_l==57887||_l==60447||_l==60959||_l==61471||_l==61983||_l==62495||_l==63007||_l==63519||_l==64031||_l==64543||_l==65567||_l==66079||_l==67103||_l==67615||_l==68127||_l==68639||_l==69151||_l==69663||_l==70175||_l==72223||_l==74271||_l==74783||_l==75807||_l==76831||_l==77343||_l==77855||_l==78367||_l==78879||_l==79391||_l==81439||_l==81951||_l==82463||_l==82975||_l==83487||_l==83999||_l==84511||_l==85023||_l==85535||_l==87071||_l==87583||_l==88095||_l==89119||_l==90143||_l==91167||_l==92191||_l==92703||_l==93215||_l==94239||_l==94751||_l==95263||_l==97823||_l==98335||_l==99359||_l==101407||_l==101919||_l==102431||_l==102943||_l==103455||_l==103967||_l==105503||_l==108575||_l==109087||_l==110623||_l==111647||_l==112159||_l==112671||_l==113183||_l==113695||_l==114719||_l==115231||_l==115743||_l==116255||_l==116767||_l==117279||_l==119839||_l==120351||_l==120863||_l==121375||_l==122911||_l==123935||_l==124447||_l==124959||_l==127007||_l==127519||_l==128031||_l==128543||_l==129055||_l==129567||_l==130079||_l==131103||_l==131615||_l==133151||_l==133663||_l==134175||_l==134687||_l==136223||_l==136735||_l==138271||_l==140319){_l=Kl(2,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Jt(),kl(183);if(Hl==52||Hl==79)Hl==79&&vs(),kl(27),xl(52),kl(267),Df();Hl==94&&(xl(94),kl(15),xl(7)),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(2,Pl,_l)}}switch(_l){case-1:$t(),kl(183);if(Hl==52||Hl==79)Hl==79&&(Nl(),ds()),kl(27),Sl(52),kl(267),Nl(),_f();Hl==94&&(Sl(94),kl(15),Sl(7));break;default:_f()}Vl.endNonterminal("GroupingSpec",Pl)}function Vt(){switch(Hl){case 31:Ll(255);break;default:_l=Hl}if(_l==3103||_l==35871||_l==36895||_l==37407||_l==37919||_l==38431||_l==39455||_l==39967||_l==40479||_l==40991||_l==41503||_l==42015||_l==42527||_l==43039||_l==43551||_l==44063||_l==45087||_l==45599||_l==46111||_l==46623||_l==47647||_l==48159||_l==49183||_l==49695||_l==50207||_l==51743||_l==52255||_l==52767||_l==53279||_l==53791||_l==54303||_l==55327||_l==55839||_l==56351||_l==56863||_l==57375||_l==57887||_l==60447||_l==60959||_l==61471||_l==61983||_l==62495||_l==63007||_l==63519||_l==64031||_l==64543||_l==65567||_l==66079||_l==67103||_l==67615||_l==68127||_l==68639||_l==69151||_l==69663||_l==70175||_l==72223||_l==74271||_l==74783||_l==75807||_l==76831||_l==77343||_l==77855||_l==78367||_l==78879||_l==79391||_l==81439||_l==81951||_l==82463||_l==82975||_l==83487||_l==83999||_l==84511||_l==85023||_l==85535||_l==87071||_l==87583||_l==88095||_l==89119||_l==90143||_l==91167||_l==92191||_l==92703||_l==93215||_l==94239||_l==94751||_l==95263||_l==97823||_l==98335||_l==99359||_l==101407||_l==101919||_l==102431||_l==102943||_l==103455||_l==103967||_l==105503||_l==108575||_l==109087||_l==110623||_l==111647||_l==112159||_l==112671||_l==113183||_l==113695||_l==114719||_l==115231||_l==115743||_l==116255||_l==116767||_l==117279||_l==119839||_l==120351||_l==120863||_l==121375||_l==122911||_l==123935||_l==124447||_l==124959||_l==127007||_l==127519||_l==128031||_l==128543||_l==129055||_l==129567||_l==130079||_l==131103||_l==131615||_l==133151||_l==133663||_l==134175||_l==134687||_l==136223||_l==136735||_l==138271||_l==140319){_l=Kl(2,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Jt(),kl(183);if(Hl==52||Hl==79)Hl==79&&vs(),kl(27),xl(52),kl(267),Df();Hl==94&&(xl(94),kl(15),xl(7)),Jl(2,t,-1),_l=-3}catch(a){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(2,t,-2)}}}switch(_l){case-1:Jt(),kl(183);if(Hl==52||Hl==79)Hl==79&&vs(),kl(27),xl(52),kl(267),Df();Hl==94&&(xl(94),kl(15),xl(7));break;case-3:break;default:Df()}}function $t(){Vl.startNonterminal("GroupingVariable",Pl),Sl(31),kl(255),Nl(),hi(),Vl.endNonterminal("GroupingVariable",Pl)}function Jt(){xl(31),kl(255),pi()}function Kt(){Vl.startNonterminal("OrderByClause",Pl);switch(Hl){case 201:Sl(201),kl(34),Sl(87);break;default:Sl(236),kl(67),Sl(201),kl(34),Sl(87)}kl(267),Nl(),Gt(),Vl.endNonterminal("OrderByClause",Pl)}function Qt(){switch(Hl){case 201:xl(201),kl(34),xl(87);break;default:xl(236),kl(67),xl(201),kl(34),xl(87)}kl(267),Yt()}function Gt(){Vl.startNonterminal("OrderSpecList",Pl),Zt();for(;;){kl(176);if(Hl!=41)break;Sl(41),kl(267),Nl(),Zt()}Vl.endNonterminal("OrderSpecList",Pl)}function Yt(){en();for(;;){kl(176);if(Hl!=41)break;xl(41),kl(267),en()}}function Zt(){Vl.startNonterminal("OrderSpec",Pl),_f(),Nl(),tn(),Vl.endNonterminal("OrderSpec",Pl)}function en(){Df(),nn()}function tn(){Vl.startNonterminal("OrderModifier",Pl);if(Hl==80||Hl==113)switch(Hl){case 80:Sl(80);break;default:Sl(113)}kl(180);if(Hl==123){Sl(123),kl(121);switch(Hl){case 147:Sl(147);break;default:Sl(173)}}kl(177),Hl==94&&(Sl(94),kl(15),Sl(7)),Vl.endNonterminal("OrderModifier",Pl)}function nn(){if(Hl==80||Hl==113)switch(Hl){case 80:xl(80);break;default:xl(113)}kl(180);if(Hl==123){xl(123),kl(121);switch(Hl){case 147:xl(147);break;default:xl(173)}}kl(177),Hl==94&&(xl(94),kl(15),xl(7))}function rn(){Vl.startNonterminal("ReturnClause",Pl),Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("ReturnClause",Pl)}function sn(){xl(220),kl(267),Df()}function on(){Vl.startNonterminal("QuantifiedExpr",Pl);switch(Hl){case 235:Sl(235);break;default:Sl(129)}kl(21),Nl(),an();for(;;){if(Hl!=41)break;Sl(41),kl(21),Nl(),an()}Sl(224),kl(267),Nl(),_f(),Vl.endNonterminal("QuantifiedExpr",Pl)}function un(){switch(Hl){case 235:xl(235);break;default:xl(129)}kl(21),fn();for(;;){if(Hl!=41)break;xl(41),kl(21),fn()}xl(224),kl(267),Df()}function an(){Vl.startNonterminal("QuantifiedVarDecl",Pl),Sl(31),kl(255),Nl(),hi(),kl(110),Hl==79&&(Nl(),ds()),kl(53),Sl(154),kl(267),Nl(),_f(),Vl.endNonterminal("QuantifiedVarDecl",Pl)}function fn(){xl(31),kl(255),pi(),kl(110),Hl==79&&vs(),kl(53),xl(154),kl(267),Df()}function ln(){Vl.startNonterminal("SwitchExpr",Pl),Sl(243),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37);for(;;){kl(35),Nl(),hn();if(Hl!=88)break}Sl(109),kl(70),Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("SwitchExpr",Pl)}function cn(){xl(243),kl(22),xl(34),kl(267),Y(),xl(37);for(;;){kl(35),pn();if(Hl!=88)break}xl(109),kl(70),xl(220),kl(267),Df()}function hn(){Vl.startNonterminal("SwitchCaseClause",Pl);for(;;){Sl(88),kl(267),Nl(),dn();if(Hl!=88)break}Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("SwitchCaseClause",Pl)}function pn(){for(;;){xl(88),kl(267),vn();if(Hl!=88)break}xl(220),kl(267),Df()}function dn(){Vl.startNonterminal("SwitchCaseOperand",Pl),_f(),Vl.endNonterminal("SwitchCaseOperand",Pl)}function vn(){Df()}function mn(){Vl.startNonterminal("TypeswitchExpr",Pl),Sl(253),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37);for(;;){kl(35),Nl(),yn();if(Hl!=88)break}Sl(109),kl(95),Hl==31&&(Sl(31),kl(255),Nl(),hi()),kl(70),Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("TypeswitchExpr",Pl)}function gn(){xl(253),kl(22),xl(34),kl(267),Y(),xl(37);for(;;){kl(35),bn();if(Hl!=88)break}xl(109),kl(95),Hl==31&&(xl(31),kl(255),pi()),kl(70),xl(220),kl(267),Df()}function yn(){Vl.startNonterminal("CaseClause",Pl),Sl(88),kl(262),Hl==31&&(Sl(31),kl(255),Nl(),hi(),kl(30),Sl(79)),kl(260),Nl(),wn(),Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("CaseClause",Pl)}function bn(){xl(88),kl(262),Hl==31&&(xl(31),kl(255),pi(),kl(30),xl(79)),kl(260),En(),xl(220),kl(267),Df()}function wn(){Vl.startNonterminal("SequenceTypeUnion",Pl),ms();for(;;){kl(134);if(Hl!=279)break;Sl(279),kl(260),Nl(),ms()}Vl.endNonterminal("SequenceTypeUnion",Pl)}function En(){gs();for(;;){kl(134);if(Hl!=279)break;xl(279),kl(260),gs()}}function Sn(){Vl.startNonterminal("IfExpr",Pl),Sl(152),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37),kl(77),Sl(245),kl(267),Nl(),_f(),Sl(122),kl(267),Nl(),_f(),Vl.endNonterminal("IfExpr",Pl)}function xn(){xl(152),kl(22),xl(34),kl(267),Y(),xl(37),kl(77),xl(245),kl(267),Df(),xl(122),kl(267),Df()}function Tn(){Vl.startNonterminal("TryCatchExpr",Pl),Cn();for(;;){kl(36),Nl(),On(),kl(184);if(Hl!=91)break}Vl.endNonterminal("TryCatchExpr",Pl)}function Nn(){kn();for(;;){kl(36),Mn(),kl(184);if(Hl!=91)break}}function Cn(){Vl.startNonterminal("TryClause",Pl),Sl(250),kl(87),Sl(276),kl(267),Nl(),Ln(),Sl(282),Vl.endNonterminal("TryClause",Pl)}function kn(){xl(250),kl(87),xl(276),kl(267),An(),xl(282)}function Ln(){Vl.startNonterminal("TryTargetExpr",Pl),G(),Vl.endNonterminal("TryTargetExpr",Pl)}function An(){Y()}function On(){Vl.startNonterminal("CatchClause",Pl),Sl(91),kl(257),Nl(),_n(),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("CatchClause",Pl)}function Mn(){xl(91),kl(257),Dn(),xl(276),kl(267),Y(),xl(282)}function _n(){Vl.startNonterminal("CatchErrorList",Pl),Qr();for(;;){kl(136);if(Hl!=279)break;Sl(279),kl(257),Nl(),Qr()}Vl.endNonterminal("CatchErrorList",Pl)}function Dn(){Gr();for(;;){kl(136);if(Hl!=279)break;xl(279),kl(257),Gr()}}function Pn(){Vl.startNonterminal("OrExpr",Pl),Bn();for(;;){if(Hl!=200)break;Sl(200),kl(267),Nl(),Bn()}Vl.endNonterminal("OrExpr",Pl)}function Hn(){jn();for(;;){if(Hl!=200)break;xl(200),kl(267),jn()}}function Bn(){Vl.startNonterminal("AndExpr",Pl),Fn();for(;;){if(Hl!=75)break;Sl(75),kl(267),Nl(),Fn()}Vl.endNonterminal("AndExpr",Pl)}function jn(){In();for(;;){if(Hl!=75)break;xl(75),kl(267),In()}}function Fn(){Vl.startNonterminal("ComparisonExpr",Pl),qn();if(Hl==27||Hl==54||Hl==57||Hl==58||Hl==60||Hl==61||Hl==62||Hl==63||Hl==128||Hl==146||Hl==150||Hl==164||Hl==172||Hl==178||Hl==186){switch(Hl){case 128:case 146:case 150:case 172:case 178:case 186:Nl(),mr();break;case 57:case 63:case 164:Nl(),yr();break;default:Nl(),dr()}kl(267),Nl(),qn()}Vl.endNonterminal("ComparisonExpr",Pl)}function In(){Rn();if(Hl==27||Hl==54||Hl==57||Hl==58||Hl==60||Hl==61||Hl==62||Hl==63||Hl==128||Hl==146||Hl==150||Hl==164||Hl==172||Hl==178||Hl==186){switch(Hl){case 128:case 146:case 150:case 172:case 178:case 186:gr();break;case 57:case 63:case 164:br();break;default:vr()}kl(267),Rn()}}function qn(){Vl.startNonterminal("FTContainsExpr",Pl),Un(),Hl==99&&(Sl(99),kl(76),Sl(244),kl(162),Nl(),Jo(),Hl==271&&(Nl(),ha())),Vl.endNonterminal("FTContainsExpr",Pl)}function Rn(){zn(),Hl==99&&(xl(99),kl(76),xl(244),kl(162),Ko(),Hl==271&&pa())}function Un(){Vl.startNonterminal("StringConcatExpr",Pl),Wn();for(;;){if(Hl!=280)break;Sl(280),kl(267),Nl(),Wn()}Vl.endNonterminal("StringConcatExpr",Pl)}function zn(){Xn();for(;;){if(Hl!=280)break;xl(280),kl(267),Xn()}}function Wn(){Vl.startNonterminal("RangeExpr",Pl),Vn(),Hl==248&&(Sl(248),kl(267),Nl(),Vn()),Vl.endNonterminal("RangeExpr",Pl)}function Xn(){$n(),Hl==248&&(xl(248),kl(267),$n())}function Vn(){Vl.startNonterminal("AdditiveExpr",Pl),Jn();for(;;){if(Hl!=40&&Hl!=42)break;switch(Hl){case 40:Sl(40);break;default:Sl(42)}kl(267),Nl(),Jn()}Vl.endNonterminal("AdditiveExpr",Pl)}function $n(){Kn();for(;;){if(Hl!=40&&Hl!=42)break;switch(Hl){case 40:xl(40);break;default:xl(42)}kl(267),Kn()}}function Jn(){Vl.startNonterminal("MultiplicativeExpr",Pl),Qn();for(;;){if(Hl!=38&&Hl!=118&&Hl!=151&&Hl!=180)break;switch(Hl){case 38:Sl(38);break;case 118:Sl(118);break;case 151:Sl(151);break;default:Sl(180)}kl(267),Nl(),Qn()}Vl.endNonterminal("MultiplicativeExpr",Pl)}function Kn(){Gn();for(;;){if(Hl!=38&&Hl!=118&&Hl!=151&&Hl!=180)break;switch(Hl){case 38:xl(38);break;case 118:xl(118);break;case 151:xl(151);break;default:xl(180)}kl(267),Gn()}}function Qn(){Vl.startNonterminal("UnionExpr",Pl),Yn();for(;;){if(Hl!=254&&Hl!=279)break;switch(Hl){case 254:Sl(254);break;default:Sl(279)}kl(267),Nl(),Yn()}Vl.endNonterminal("UnionExpr",Pl)}function Gn(){Zn();for(;;){if(Hl!=254&&Hl!=279)break;switch(Hl){case 254:xl(254);break;default:xl(279)}kl(267),Zn()}}function Yn(){Vl.startNonterminal("IntersectExceptExpr",Pl),er();for(;;){kl(223);if(Hl!=131&&Hl!=162)break;switch(Hl){case 162:Sl(162);break;default:Sl(131)}kl(267),Nl(),er()}Vl.endNonterminal("IntersectExceptExpr",Pl)}function Zn(){tr();for(;;){kl(223);if(Hl!=131&&Hl!=162)break;switch(Hl){case 162:xl(162);break;default:xl(131)}kl(267),tr()}}function er(){Vl.startNonterminal("InstanceofExpr",Pl),nr(),kl(224),Hl==160&&(Sl(160),kl(64),Sl(196),kl(260),Nl(),ms()),Vl.endNonterminal("InstanceofExpr",Pl)}function tr(){rr(),kl(224),Hl==160&&(xl(160),kl(64),xl(196),kl(260),gs())}function nr(){Vl.startNonterminal("TreatExpr",Pl),ir(),kl(225),Hl==249&&(Sl(249),kl(30),Sl(79),kl(260),Nl(),ms()),Vl.endNonterminal("TreatExpr",Pl)}function rr(){sr(),kl(225),Hl==249&&(xl(249),kl(30),xl(79),kl(260),gs())}function ir(){Vl.startNonterminal("CastableExpr",Pl),or(),kl(226),Hl==90&&(Sl(90),kl(30),Sl(79),kl(255),Nl(),hs()),Vl.endNonterminal("CastableExpr",Pl)}function sr(){ur(),kl(226),Hl==90&&(xl(90),kl(30),xl(79),kl(255),ps())}function or(){Vl.startNonterminal("CastExpr",Pl),ar(),kl(228),Hl==89&&(Sl(89),kl(30),Sl(79),kl(255),Nl(),hs()),Vl.endNonterminal("CastExpr",Pl)}function ur(){fr(),kl(228),Hl==89&&(xl(89),kl(30),xl(79),kl(255),ps())}function ar(){Vl.startNonterminal("UnaryExpr",Pl);for(;;){kl(267);if(Hl!=40&&Hl!=42)break;switch(Hl){case 42:Sl(42);break;default:Sl(40)}}Nl(),lr(),Vl.endNonterminal("UnaryExpr",Pl)}function fr(){for(;;){kl(267);if(Hl!=40&&Hl!=42)break;switch(Hl){case 42:xl(42);break;default:xl(40)}}cr()}function lr(){Vl.startNonterminal("ValueExpr",Pl);switch(Hl){case 260:Ll(248);break;default:_l=Hl}switch(_l){case 87812:case 123140:case 129284:case 141572:wr();break;case 35:Tr();break;default:hr()}Vl.endNonterminal("ValueExpr",Pl)}function cr(){switch(Hl){case 260:Ll(248);break;default:_l=Hl}switch(_l){case 87812:case 123140:case 129284:case 141572:Er();break;case 35:Nr();break;default:pr()}}function hr(){Vl.startNonterminal("SimpleMapExpr",Pl),Lr();for(;;){if(Hl!=26)break;Sl(26),kl(266),Nl(),Lr()}Vl.endNonterminal("SimpleMapExpr",Pl)}function pr(){Ar();for(;;){if(Hl!=26)break;xl(26),kl(266),Ar()}}function dr(){Vl.startNonterminal("GeneralComp",Pl);switch(Hl){case 60:Sl(60);break;case 27:Sl(27);break;case 54:Sl(54);break;case 58:Sl(58);break;case 61:Sl(61);break;default:Sl(62)}Vl.endNonterminal("GeneralComp",Pl)}function vr(){switch(Hl){case 60:xl(60);break;case 27:xl(27);break;case 54:xl(54);break;case 58:xl(58);break;case 61:xl(61);break;default:xl(62)}}function mr(){Vl.startNonterminal("ValueComp",Pl);switch(Hl){case 128:Sl(128);break;case 186:Sl(186);break;case 178:Sl(178);break;case 172:Sl(172);break;case 150:Sl(150);break;default:Sl(146)}Vl.endNonterminal("ValueComp",Pl)}function gr(){switch(Hl){case 128:xl(128);break;case 186:xl(186);break;case 178:xl(178);break;case 172:xl(172);break;case 150:xl(150);break;default:xl(146)}}function yr(){Vl.startNonterminal("NodeComp",Pl);switch(Hl){case 164:Sl(164);break;case 57:Sl(57);break;default:Sl(63)}Vl.endNonterminal("NodeComp",Pl)}function br(){switch(Hl){case 164:xl(164);break;case 57:xl(57);break;default:xl(63)}}function wr(){Vl.startNonterminal("ValidateExpr",Pl),Sl(260),kl(160);if(Hl!=276)switch(Hl){case 252:Sl(252),kl(255),Nl(),go();break;default:Nl(),Sr()}kl(87),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("ValidateExpr",Pl)}function Er(){xl(260),kl(160);if(Hl!=276)switch(Hl){case 252:xl(252),kl(255),yo();break;default:xr()}kl(87),xl(276),kl(267),Y(),xl(282)}function Sr(){Vl.startNonterminal("ValidationMode",Pl);switch(Hl){case 171:Sl(171);break;default:Sl(240)}Vl.endNonterminal("ValidationMode",Pl)}function xr(){switch(Hl){case 171:xl(171);break;default:xl(240)}}function Tr(){Vl.startNonterminal("ExtensionExpr",Pl);for(;;){Nl(),Cr(),kl(100);if(Hl!=35)break}Sl(276),kl(274),Hl!=282&&(Nl(),G()),Sl(282),Vl.endNonterminal("ExtensionExpr",Pl)}function Nr(){for(;;){kr(),kl(100);if(Hl!=35)break}xl(276),kl(274),Hl!=282&&Y(),xl(282)}function Cr(){Vl.startNonterminal("Pragma",Pl),Sl(35),Al(252),Hl==21&&Sl(21),Ha(),Al(10),Hl==21&&(Sl(21),Al(0),Sl(1)),Al(5),Sl(30),Vl.endNonterminal("Pragma",Pl)}function kr(){xl(35),Al(252),Hl==21&&xl(21),Ba(),Al(10),Hl==21&&(xl(21),Al(0),xl(1)),Al(5),xl(30)}function Lr(){Vl.startNonterminal("PathExpr",Pl);switch(Hl){case 46:Sl(46),kl(286);switch(Hl){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:Nl(),Or()}break;case 47:Sl(47),kl(265),Nl(),Or();break;default:Or()}Vl.endNonterminal("PathExpr",Pl)}function Ar(){switch(Hl){case 46:xl(46),kl(286);switch(Hl){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:Mr()}break;case 47:xl(47),kl(265),Mr();break;default:Mr()}}function Or(){Vl.startNonterminal("RelativePathExpr",Pl),_r();for(;;){switch(Hl){case 26:Ll(266);break;default:_l=Hl}if(_l!=25&&_l!=27&&_l!=37&&_l!=38&&_l!=40&&_l!=41&&_l!=42&&_l!=46&&_l!=47&&_l!=49&&_l!=53&&_l!=54&&_l!=57&&_l!=58&&_l!=60&&_l!=61&&_l!=62&&_l!=63&&_l!=69&&_l!=70&&_l!=75&&_l!=79&&_l!=80&&_l!=81&&_l!=84&&_l!=87&&_l!=88&&_l!=89&&_l!=90&&_l!=94&&_l!=99&&_l!=105&&_l!=109&&_l!=113&&_l!=118&&_l!=122&&_l!=123&&_l!=126&&_l!=128&&_l!=131&&_l!=137&&_l!=146&&_l!=148&&_l!=150&&_l!=151&&_l!=160&&_l!=162&&_l!=163&&_l!=164&&_l!=172&&_l!=174&&_l!=178&&_l!=180&&_l!=181&&_l!=186&&_l!=198&&_l!=200&&_l!=201&&_l!=205&&_l!=220&&_l!=224&&_l!=232&&_l!=236&&_l!=237&&_l!=247&&_l!=248&&_l!=249&&_l!=254&&_l!=266&&_l!=270&&_l!=273&&_l!=279&&_l!=280&&_l!=281&&_l!=282&&_l!=23578&&_l!=24090){_l=Kl(3,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{switch(Hl){case 46:xl(46);break;case 47:xl(47);break;default:xl(26)}kl(265),Dr(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(3,Pl,_l)}}if(_l!=-1&&_l!=46&&_l!=47)break;switch(Hl){case 46:Sl(46);break;case 47:Sl(47);break;default:Sl(26)}kl(265),Nl(),_r()}Vl.endNonterminal("RelativePathExpr",Pl)}function Mr(){Dr();for(;;){switch(Hl){case 26:Ll(266);break;default:_l=Hl}if(_l!=25&&_l!=27&&_l!=37&&_l!=38&&_l!=40&&_l!=41&&_l!=42&&_l!=46&&_l!=47&&_l!=49&&_l!=53&&_l!=54&&_l!=57&&_l!=58&&_l!=60&&_l!=61&&_l!=62&&_l!=63&&_l!=69&&_l!=70&&_l!=75&&_l!=79&&_l!=80&&_l!=81&&_l!=84&&_l!=87&&_l!=88&&_l!=89&&_l!=90&&_l!=94&&_l!=99&&_l!=105&&_l!=109&&_l!=113&&_l!=118&&_l!=122&&_l!=123&&_l!=126&&_l!=128&&_l!=131&&_l!=137&&_l!=146&&_l!=148&&_l!=150&&_l!=151&&_l!=160&&_l!=162&&_l!=163&&_l!=164&&_l!=172&&_l!=174&&_l!=178&&_l!=180&&_l!=181&&_l!=186&&_l!=198&&_l!=200&&_l!=201&&_l!=205&&_l!=220&&_l!=224&&_l!=232&&_l!=236&&_l!=237&&_l!=247&&_l!=248&&_l!=249&&_l!=254&&_l!=266&&_l!=270&&_l!=273&&_l!=279&&_l!=280&&_l!=281&&_l!=282&&_l!=23578&&_l!=24090){_l=Kl(3,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{switch(Hl){case 46:xl(46);break;case 47:xl(47);break;default:xl(26)}kl(265),Dr(),Jl(3,t,-1);continue}catch(a){Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(3,t,-2);break}}}if(_l!=-1&&_l!=46&&_l!=47)break;switch(Hl){case 46:xl(46);break;case 47:xl(47);break;default:xl(26)}kl(265),Dr()}}function _r(){Vl.startNonterminal("StepExpr",Pl);switch(Hl){case 82:Ll(285);break;case 121:Ll(283);break;case 184:case 216:Ll(282);break;case 96:case 119:case 202:case 244:case 256:Ll(247);break;case 78:case 124:case 152:case 165:case 167:case 242:case 243:case 253:Ll(240);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Ll(246);break;case 6:case 70:case 72:case 75:case 77:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Ll(244);break;default:_l=Hl}if(_l==35922||_l==35961||_l==36024||_l==36056||_l==38482||_l==38521||_l==38584||_l==38616||_l==40530||_l==40569||_l==40632||_l==40664||_l==41042||_l==41081||_l==41144||_l==41176||_l==41554||_l==41593||_l==41656||_l==41688||_l==43090||_l==43129||_l==43192||_l==43224||_l==45138||_l==45177||_l==45240||_l==45272||_l==45650||_l==45689||_l==45752||_l==45784||_l==46162||_l==46201||_l==46264||_l==46296||_l==48210||_l==48249||_l==48312||_l==48344||_l==53842||_l==53881||_l==53944||_l==53976||_l==55890||_l==55929||_l==55992||_l==56024||_l==57938||_l==57977||_l==58040||_l==58072||_l==60498||_l==60537||_l==60600||_l==60632||_l==62546||_l==62585||_l==62648||_l==62680||_l==63058||_l==63097||_l==63160||_l==63192||_l==64594||_l==64633||_l==64696||_l==64728||_l==65618||_l==65657||_l==65720||_l==65752||_l==67154||_l==67193||_l==67256||_l==67288||_l==70226||_l==70265||_l==70328||_l==70360||_l==74834||_l==74873||_l==74936||_l==74968||_l==75858||_l==75897||_l==75960||_l==75992||_l==76882||_l==76921||_l==76984||_l==77016||_l==77394||_l==77433||_l==77496||_l==77528||_l==82002||_l==82041||_l==82104||_l==82136||_l==83026||_l==83065||_l==83128||_l==83160||_l==83538||_l==83577||_l==83640||_l==83672||_l==84050||_l==84089||_l==84152||_l==84184||_l==88146||_l==88185||_l==88248||_l==88280||_l==89170||_l==89209||_l==89272||_l==89304||_l==91218||_l==91257||_l==91320||_l==91352||_l==92242||_l==92281||_l==92344||_l==92376||_l==92754||_l==92793||_l==92856||_l==92888||_l==95314||_l==95353||_l==95416||_l==95448||_l==101458||_l==101497||_l==101560||_l==101592||_l==102482||_l==102521||_l==102584||_l==102616||_l==102994||_l==103033||_l==103096||_l==103128||_l==112722||_l==112761||_l==112824||_l==112856||_l==114770||_l==114809||_l==114872||_l==114904||_l==120914||_l==120953||_l==121016||_l==121048||_l==121426||_l==121465||_l==121528||_l==121560||_l==127058||_l==127097||_l==127160||_l==127192||_l==127570||_l==127609||_l==127672||_l==127704||_l==130130||_l==130169||_l==130232||_l==130264||_l==136274||_l==136313||_l==136376||_l==136408||_l==138322||_l==138361||_l==138424||_l==138456){_l=Kl(4,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Zr(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(4,Pl,_l)}}switch(_l){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14925:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15090:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17485:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17574:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 39506:case 39545:case 39608:case 39640:case 40018:case 40057:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 85074:case 85113:case 85176:case 85208:case 85586:case 85625:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 99410:case 99449:case 99512:case 99544:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 123986:case 124025:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Yr();break;default:Pr()}Vl.endNonterminal("StepExpr",Pl)}function Dr(){switch(Hl){case 82:Ll(285);break;case 121:Ll(283);break;case 184:case 216:Ll(282);break;case 96:case 119:case 202:case 244:case 256:Ll(247);break;case 78:case 124:case 152:case 165:case 167:case 242:case 243:case 253:Ll(240);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Ll(246);break;case 6:case 70:case 72:case 75:case 77:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Ll(244);break;default:_l=Hl}if(_l==35922||_l==35961||_l==36024||_l==36056||_l==38482||_l==38521||_l==38584||_l==38616||_l==40530||_l==40569||_l==40632||_l==40664||_l==41042||_l==41081||_l==41144||_l==41176||_l==41554||_l==41593||_l==41656||_l==41688||_l==43090||_l==43129||_l==43192||_l==43224||_l==45138||_l==45177||_l==45240||_l==45272||_l==45650||_l==45689||_l==45752||_l==45784||_l==46162||_l==46201||_l==46264||_l==46296||_l==48210||_l==48249||_l==48312||_l==48344||_l==53842||_l==53881||_l==53944||_l==53976||_l==55890||_l==55929||_l==55992||_l==56024||_l==57938||_l==57977||_l==58040||_l==58072||_l==60498||_l==60537||_l==60600||_l==60632||_l==62546||_l==62585||_l==62648||_l==62680||_l==63058||_l==63097||_l==63160||_l==63192||_l==64594||_l==64633||_l==64696||_l==64728||_l==65618||_l==65657||_l==65720||_l==65752||_l==67154||_l==67193||_l==67256||_l==67288||_l==70226||_l==70265||_l==70328||_l==70360||_l==74834||_l==74873||_l==74936||_l==74968||_l==75858||_l==75897||_l==75960||_l==75992||_l==76882||_l==76921||_l==76984||_l==77016||_l==77394||_l==77433||_l==77496||_l==77528||_l==82002||_l==82041||_l==82104||_l==82136||_l==83026||_l==83065||_l==83128||_l==83160||_l==83538||_l==83577||_l==83640||_l==83672||_l==84050||_l==84089||_l==84152||_l==84184||_l==88146||_l==88185||_l==88248||_l==88280||_l==89170||_l==89209||_l==89272||_l==89304||_l==91218||_l==91257||_l==91320||_l==91352||_l==92242||_l==92281||_l==92344||_l==92376||_l==92754||_l==92793||_l==92856||_l==92888||_l==95314||_l==95353||_l==95416||_l==95448||_l==101458||_l==101497||_l==101560||_l==101592||_l==102482||_l==102521||_l==102584||_l==102616||_l==102994||_l==103033||_l==103096||_l==103128||_l==112722||_l==112761||_l==112824||_l==112856||_l==114770||_l==114809||_l==114872||_l==114904||_l==120914||_l==120953||_l==121016||_l==121048||_l==121426||_l==121465||_l==121528||_l==121560||_l==127058||_l==127097||_l==127160||_l==127192||_l==127570||_l==127609||_l==127672||_l==127704||_l==130130||_l==130169||_l==130232||_l==130264||_l==136274||_l==136313||_l==136376||_l==136408||_l==138322||_l==138361||_l==138424||_l==138456){_l=Kl(4,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Zr(),Jl(4,t,-1),_l=-3}catch(a){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(4,t,-2)}}}switch(_l){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14925:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15014:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15090:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17485:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17574:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 39506:case 39545:case 39608:case 39640:case 40018:case 40057:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 85074:case 85113:case 85176:case 85208:case 85586:case 85625:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 99410:case 99449:case 99512:case 99544:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 123986:case 124025:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Zr();break;case-3:break;default:Hr()}}function Pr(){Vl.startNonterminal("AxisStep",Pl);switch(Hl){case 73:case 74:case 206:case 212:case 213:Ll(242);break;default:_l=Hl}switch(_l){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:Ur();break;default:Br()}kl(238),Nl(),ni(),Vl.endNonterminal("AxisStep",Pl)}function Hr(){switch(Hl){case 73:case 74:case 206:case 212:case 213:Ll(242);break;default:_l=Hl}switch(_l){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:zr();break;default:jr()}kl(238),ri()}function Br(){Vl.startNonterminal("ForwardStep",Pl);switch(Hl){case 82:Ll(245);break;case 93:case 111:case 112:case 135:case 136:case 229:Ll(242);break;default:_l=Hl}switch(_l){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Fr(),kl(257),Nl(),Jr();break;default:qr()}Vl.endNonterminal("ForwardStep",Pl)}function jr(){switch(Hl){case 82:Ll(245);break;case 93:case 111:case 112:case 135:case 136:case 229:Ll(242);break;default:_l=Hl}switch(_l){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Ir(),kl(257),Kr();break;default:Rr()}}function Fr(){Vl.startNonterminal("ForwardAxis",Pl);switch(Hl){case 93:Sl(93),kl(26),Sl(51);break;case 111:Sl(111),kl(26),Sl(51);break;case 82:Sl(82),kl(26),Sl(51);break;case 229:Sl(229),kl(26),Sl(51);break;case 112:Sl(112),kl(26),Sl(51);break;case 136:Sl(136),kl(26),Sl(51);break;default:Sl(135),kl(26),Sl(51)}Vl.endNonterminal("ForwardAxis",Pl)}function Ir(){switch(Hl){case 93:xl(93),kl(26),xl(51);break;case 111:xl(111),kl(26),xl(51);break;case 82:xl(82),kl(26),xl(51);break;case 229:xl(229),kl(26),xl(51);break;case 112:xl(112),kl(26),xl(51);break;case 136:xl(136),kl(26),xl(51);break;default:xl(135),kl(26),xl(51)}}function qr(){Vl.startNonterminal("AbbrevForwardStep",Pl),Hl==66&&Sl(66),kl(257),Nl(),Jr(),Vl.endNonterminal("AbbrevForwardStep",Pl)}function Rr(){Hl==66&&xl(66),kl(257),Kr()}function Ur(){Vl.startNonterminal("ReverseStep",Pl);switch(Hl){case 45:Vr();break;default:Wr(),kl(257),Nl(),Jr()}Vl.endNonterminal("ReverseStep",Pl)}function zr(){switch(Hl){case 45:$r();break;default:Xr(),kl(257),Kr()}}function Wr(){Vl.startNonterminal("ReverseAxis",Pl);switch(Hl){case 206:Sl(206),kl(26),Sl(51);break;case 73:Sl(73),kl(26),Sl(51);break;case 213:Sl(213),kl(26),Sl(51);break;case 212:Sl(212),kl(26),Sl(51);break;default:Sl(74),kl(26),Sl(51)}Vl.endNonterminal("ReverseAxis",Pl)}function Xr(){switch(Hl){case 206:xl(206),kl(26),xl(51);break;case 73:xl(73),kl(26),xl(51);break;case 213:xl(213),kl(26),xl(51);break;case 212:xl(212),kl(26),xl(51);break;default:xl(74),kl(26),xl(51)}}function Vr(){Vl.startNonterminal("AbbrevReverseStep",Pl),Sl(45),Vl.endNonterminal("AbbrevReverseStep",Pl)}function $r(){xl(45)}function Jr(){Vl.startNonterminal("NodeTest",Pl);switch(Hl){case 82:case 96:case 120:case 121:case 185:case 191:case 216:case 226:case 227:case 244:Ll(241);break;default:_l=Hl}switch(_l){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Ps();break;default:Qr()}Vl.endNonterminal("NodeTest",Pl)}function Kr(){switch(Hl){case 82:case 96:case 120:case 121:case 185:case 191:case 216:case 226:case 227:case 244:Ll(241);break;default:_l=Hl}switch(_l){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Hs();break;default:Gr()}}function Qr(){Vl.startNonterminal("NameTest",Pl);switch(Hl){case 5:Sl(5);break;default:Ha()}Vl.endNonterminal("NameTest",Pl)}function Gr(){switch(Hl){case 5:xl(5);break;default:Ba()}}function Yr(){Vl.startNonterminal("PostfixExpr",Pl),ol();for(;;){kl(241);if(Hl!=34&&Hl!=68)break;switch(Hl){case 68:Nl(),ii();break;default:Nl(),ei()}}Vl.endNonterminal("PostfixExpr",Pl)}function Zr(){ul();for(;;){kl(241);if(Hl!=34&&Hl!=68)break;switch(Hl){case 68:si();break;default:ti()}}}function ei(){Vl.startNonterminal("ArgumentList",Pl),Sl(34),kl(276);if(Hl!=37){Nl(),Ti();for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(271),Nl(),Ti()}}Sl(37),Vl.endNonterminal("ArgumentList",Pl)}function ti(){xl(34),kl(276);if(Hl!=37){Ni();for(;;){kl(101);if(Hl!=41)break;xl(41),kl(271),Ni()}}xl(37)}function ni(){Vl.startNonterminal("PredicateList",Pl);for(;;){kl(238);if(Hl!=68)break;Nl(),ii()}Vl.endNonterminal("PredicateList",Pl)}function ri(){for(;;){kl(238);if(Hl!=68)break;si()}}function ii(){Vl.startNonterminal("Predicate",Pl),Sl(68),kl(267),Nl(),G(),Sl(69),Vl.endNonterminal("Predicate",Pl)}function si(){xl(68),kl(267),Y(),xl(69)}function oi(){Vl.startNonterminal("Literal",Pl);switch(Hl){case 11:Sl(11);break;default:ai()}Vl.endNonterminal("Literal",Pl)}function ui(){switch(Hl){case 11:xl(11);break;default:fi()}}function ai(){Vl.startNonterminal("NumericLiteral",Pl);switch(Hl){case 8:Sl(8);break;case 9:Sl(9);break;default:Sl(10)}Vl.endNonterminal("NumericLiteral",Pl)}function fi(){switch(Hl){case 8:xl(8);break;case 9:xl(9);break;default:xl(10)}}function li(){Vl.startNonterminal("VarRef",Pl),Sl(31),kl(255),Nl(),hi(),Vl.endNonterminal("VarRef",Pl)}function ci(){xl(31),kl(255),pi()}function hi(){Vl.startNonterminal("VarName",Pl),Ha(),Vl.endNonterminal("VarName",Pl)}function pi(){Ba()}function di(){Vl.startNonterminal("ParenthesizedExpr",Pl),Sl(34),kl(269),Hl!=37&&(Nl(),G()),Sl(37),Vl.endNonterminal("ParenthesizedExpr",Pl)}function vi(){xl(34),kl(269),Hl!=37&&Y(),xl(37)}function mi(){Vl.startNonterminal("ContextItemExpr",Pl),Sl(44),Vl.endNonterminal("ContextItemExpr",Pl)}function gi(){xl(44)}function yi(){Vl.startNonterminal("OrderedExpr",Pl),Sl(202),kl(87),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("OrderedExpr",Pl)}function bi(){xl(202),kl(87),xl(276),kl(267),Y(),xl(282)}function wi(){Vl.startNonterminal("UnorderedExpr",Pl),Sl(256),kl(87),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("UnorderedExpr",Pl)}function Ei(){xl(256),kl(87),xl(276),kl(267),Y(),xl(282)}function Si(){Vl.startNonterminal("FunctionCall",Pl),ja(),kl(22),Nl(),ei(),Vl.endNonterminal("FunctionCall",Pl)}function xi(){Fa(),kl(22),ti()}function Ti(){Vl.startNonterminal("Argument",Pl);switch(Hl){case 64:Ci();break;default:_f()}Vl.endNonterminal("Argument",Pl)}function Ni(){switch(Hl){case 64:ki();break;default:Df()}}function Ci(){Vl.startNonterminal("ArgumentPlaceholder",Pl),Sl(64),Vl.endNonterminal("ArgumentPlaceholder",Pl)}function ki(){xl(64)}function Li(){Vl.startNonterminal("Constructor",Pl);switch(Hl){case 54:case 55:case 59:Oi();break;default:Ji()}Vl.endNonterminal("Constructor",Pl)}function Ai(){switch(Hl){case 54:case 55:case 59:Mi();break;default:Ki()}}function Oi(){Vl.startNonterminal("DirectConstructor",Pl);switch(Hl){case 54:_i();break;case 55:Wi();break;default:Vi()}Vl.endNonterminal("DirectConstructor",Pl)}function Mi(){switch(Hl){case 54:Di();break;case 55:Xi();break;default:$i()}}function _i(){Vl.startNonterminal("DirElemConstructor",Pl),Sl(54),Al(4),Sl(20),Pi();switch(Hl){case 48:Sl(48);break;default:Sl(61);for(;;){Al(174);if(Hl==56)break;Ui()}Sl(56),Al(4),Sl(20),Al(12),Hl==21&&Sl(21),Al(8),Sl(61)}Vl.endNonterminal("DirElemConstructor",Pl)}function Di(){xl(54),Al(4),xl(20),Hi();switch(Hl){case 48:xl(48);break;default:xl(61);for(;;){Al(174);if(Hl==56)break;zi()}xl(56),Al(4),xl(20),Al(12),Hl==21&&xl(21),Al(8),xl(61)}}function Pi(){Vl.startNonterminal("DirAttributeList",Pl);for(;;){Al(19);if(Hl!=21)break;Sl(21),Al(91),Hl==20&&(Sl(20),Al(11),Hl==21&&Sl(21),Al(7),Sl(60),Al(18),Hl==21&&Sl(21),Bi())}Vl.endNonterminal("DirAttributeList",Pl)}function Hi(){for(;;){Al(19);if(Hl!=21)break;xl(21),Al(91),Hl==20&&(xl(20),Al(11),Hl==21&&xl(21),Al(7),xl(60),Al(18),Hl==21&&xl(21),ji())}}function Bi(){Vl.startNonterminal("DirAttributeValue",Pl),Al(14);switch(Hl){case 28:Sl(28);for(;;){Al(167);if(Hl==28)break;switch(Hl){case 13:Sl(13);break;default:Fi()}}Sl(28);break;default:Sl(33);for(;;){Al(168);if(Hl==33)break;switch(Hl){case 14:Sl(14);break;default:qi()}}Sl(33)}Vl.endNonterminal("DirAttributeValue",Pl)}function ji(){Al(14);switch(Hl){case 28:xl(28);for(;;){Al(167);if(Hl==28)break;switch(Hl){case 13:xl(13);break;default:Ii()}}xl(28);break;default:xl(33);for(;;){Al(168);if(Hl==33)break;switch(Hl){case 14:xl(14);break;default:Ri()}}xl(33)}}function Fi(){Vl.startNonterminal("QuotAttrValueContent",Pl);switch(Hl){case 16:Sl(16);break;default:Vf()}Vl.endNonterminal("QuotAttrValueContent",Pl)}function Ii(){switch(Hl){case 16:xl(16);break;default:$f()}}function qi(){Vl.startNonterminal("AposAttrValueContent",Pl);switch(Hl){case 17:Sl(17);break;default:Vf()}Vl.endNonterminal("AposAttrValueContent",Pl)}function Ri(){switch(Hl){case 17:xl(17);break;default:$f()}}function Ui(){Vl.startNonterminal("DirElemContent",Pl);switch(Hl){case 54:case 55:case 59:Oi();break;case 4:Sl(4);break;case 15:Sl(15);break;default:Vf()}Vl.endNonterminal("DirElemContent",Pl)}function zi(){switch(Hl){case 54:case 55:case 59:Mi();break;case 4:xl(4);break;case 15:xl(15);break;default:$f()}}function Wi(){Vl.startNonterminal("DirCommentConstructor",Pl),Sl(55),Al(1),Sl(2),Al(6),Sl(43),Vl.endNonterminal("DirCommentConstructor",Pl)}function Xi(){xl(55),Al(1),xl(2),Al(6),xl(43)}function Vi(){Vl.startNonterminal("DirPIConstructor",Pl),Sl(59),Al(3),Sl(18),Al(13),Hl==21&&(Sl(21),Al(2),Sl(3)),Al(9),Sl(65),Vl.endNonterminal("DirPIConstructor",Pl)}function $i(){xl(59),Al(3),xl(18),Al(13),Hl==21&&(xl(21),Al(2),xl(3)),Al(9),xl(65)}function Ji(){Vl.startNonterminal("ComputedConstructor",Pl);switch(Hl){case 119:Qf();break;case 121:Qi();break;case 82:Yf();break;case 184:Yi();break;case 244:il();break;case 96:nl();break;default:el()}Vl.endNonterminal("ComputedConstructor",Pl)}function Ki(){switch(Hl){case 119:Gf();break;case 121:Gi();break;case 82:Zf();break;case 184:Zi();break;case 244:sl();break;case 96:rl();break;default:tl()}}function Qi(){Vl.startNonterminal("CompElemConstructor",Pl),Sl(121),kl(258);switch(Hl){case 276:Sl(276),kl(267),Nl(),G(),Sl(282);break;default:Nl(),Ha()}kl(87),Sl(276),kl(277),Hl!=282&&(Nl(),Jf()),Sl(282),Vl.endNonterminal("CompElemConstructor",Pl)}function Gi(){xl(121),kl(258);switch(Hl){case 276:xl(276),kl(267),Y(),xl(282);break;default:Ba()}kl(87),xl(276),kl(277),Hl!=282&&Kf(),xl(282)}function Yi(){Vl.startNonterminal("CompNamespaceConstructor",Pl),Sl(184),kl(251);switch(Hl){case 276:Sl(276),kl(267),Nl(),ns(),Sl(282);break;default:Nl(),es()}kl(87),Sl(276),kl(267),Nl(),is(),Sl(282),Vl.endNonterminal("CompNamespaceConstructor",Pl)}function Zi(){xl(184),kl(251);switch(Hl){case 276:xl(276),kl(267),rs(),xl(282);break;default:ts()}kl(87),xl(276),kl(267),ss(),xl(282)}function es(){Vl.startNonterminal("Prefix",Pl),Ia(),Vl.endNonterminal("Prefix",Pl)}function ts(){qa()}function ns(){Vl.startNonterminal("PrefixExpr",Pl),G(),Vl.endNonterminal("PrefixExpr",Pl)}function rs(){Y()}function is(){Vl.startNonterminal("URIExpr",Pl),G(),Vl.endNonterminal("URIExpr",Pl)}function ss(){Y()}function os(){Vl.startNonterminal("FunctionItemExpr",Pl);switch(Hl){case 145:Ll(92);break;default:_l=Hl}switch(_l){case 32:case 17553:ls();break;default:as()}Vl.endNonterminal("FunctionItemExpr",Pl)}function us(){switch(Hl){case 145:Ll(92);break;default:_l=Hl}switch(_l){case 32:case 17553:cs();break;default:fs()}}function as(){Vl.startNonterminal("NamedFunctionRef",Pl),Ha(),kl(20),Sl(29),kl(16),Sl(8),Vl.endNonterminal("NamedFunctionRef",Pl)}function fs(){Ba(),kl(20),xl(29),kl(16),xl(8)}function ls(){Vl.startNonterminal("InlineFunctionExpr",Pl);for(;;){kl(97);if(Hl!=32)break;Nl(),B()}Sl(145),kl(22),Sl(34),kl(94),Hl==31&&(Nl(),U()),Sl(37),kl(111),Hl==79&&(Sl(79),kl(260),Nl(),ms()),kl(87),Nl(),V(),Vl.endNonterminal("InlineFunctionExpr",Pl)}function cs(){for(;;){kl(97);if(Hl!=32)break;j()}xl(145),kl(22),xl(34),kl(94),Hl==31&&z(),xl(37),kl(111),Hl==79&&(xl(79),kl(260),gs()),kl(87),$()}function hs(){Vl.startNonterminal("SingleType",Pl),vo(),kl(227),Hl==64&&Sl(64),Vl.endNonterminal("SingleType",Pl)}function ps(){mo(),kl(227),Hl==64&&xl(64)}function ds(){Vl.startNonterminal("TypeDeclaration",Pl),Sl(79),kl(260),Nl(),ms(),Vl.endNonterminal("TypeDeclaration",Pl)}function vs(){xl(79),kl(260),gs()}function ms(){Vl.startNonterminal("SequenceType",Pl);switch(Hl){case 124:Ll(243);break;default:_l=Hl}switch(_l){case 17532:Sl(124),kl(22),Sl(34),kl(23),Sl(37);break;default:ws(),kl(239);switch(Hl){case 39:case 40:case 64:Nl(),ys();break;default:}}Vl.endNonterminal("SequenceType",Pl)}function gs(){switch(Hl){case 124:Ll(243);break;default:_l=Hl}switch(_l){case 17532:xl(124),kl(22),xl(34),kl(23),xl(37);break;default:Es(),kl(239);switch(Hl){case 39:case 40:case 64:bs();break;default:}}}function ys(){Vl.startNonterminal("OccurrenceIndicator",Pl);switch(Hl){case 64:Sl(64);break;case 39:Sl(39);break;default:Sl(40)}Vl.endNonterminal("OccurrenceIndicator",Pl)}function bs(){switch(Hl){case 64:xl(64);break;case 39:xl(39);break;default:xl(40)}}function ws(){Vl.startNonterminal("ItemType",Pl);switch(Hl){case 78:case 82:case 96:case 120:case 121:case 145:case 165:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 242:case 244:Ll(243);break;default:_l=Hl}switch(_l){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Ps();break;case 17573:Sl(165),kl(22),Sl(34),kl(23),Sl(37);break;case 32:case 17553:bo();break;case 34:No();break;case 17486:case 17575:case 17602:Ss();break;case 17650:Ts();break;default:_s()}Vl.endNonterminal("ItemType",Pl)}function Es(){switch(Hl){case 78:case 82:case 96:case 120:case 121:case 145:case 165:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 242:case 244:Ll(243);break;default:_l=Hl}switch(_l){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Hs();break;case 17573:xl(165),kl(22),xl(34),kl(23),xl(37);break;case 32:case 17553:wo();break;case 34:Co();break;case 17486:case 17575:case 17602:xs();break;case 17650:Ns();break;default:Ds()}}function Ss(){Vl.startNonterminal("JSONTest",Pl);switch(Hl){case 167:Cs();break;case 194:Ls();break;default:Os()}Vl.endNonterminal("JSONTest",Pl)}function xs(){switch(Hl){case 167:ks();break;case 194:As();break;default:Ms()}}function Ts(){Vl.startNonterminal("StructuredItemTest",Pl),Sl(242),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("StructuredItemTest",Pl)}function Ns(){xl(242),kl(22),xl(34),kl(23),xl(37)}function Cs(){Vl.startNonterminal("JSONItemTest",Pl),Sl(167),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("JSONItemTest",Pl)}function ks(){xl(167),kl(22),xl(34),kl(23),xl(37)}function Ls(){Vl.startNonterminal("JSONObjectTest",Pl),Sl(194),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("JSONObjectTest",Pl)}function As(){xl(194),kl(22),xl(34),kl(23),xl(37)}function Os(){Vl.startNonterminal("JSONArrayTest",Pl),Sl(78),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("JSONArrayTest",Pl)}function Ms(){xl(78),kl(22),xl(34),kl(23),xl(37)}function _s(){Vl.startNonterminal("AtomicOrUnionType",Pl),Ha(),Vl.endNonterminal("AtomicOrUnionType",Pl)}function Ds(){Ba()}function Ps(){Vl.startNonterminal("KindTest",Pl);switch(Hl){case 120:Fs();break;case 121:no();break;case 82:Js();break;case 227:oo();break;case 226:Ys();break;case 216:Vs();break;case 96:Us();break;case 244:qs();break;case 185:Ws();break;default:Bs()}Vl.endNonterminal("KindTest",Pl)}function Hs(){switch(Hl){case 120:Is();break;case 121:ro();break;case 82:Ks();break;case 227:uo();break;case 226:Zs();break;case 216:$s();break;case 96:zs();break;case 244:Rs();break;case 185:Xs();break;default:js()}}function Bs(){Vl.startNonterminal("AnyKindTest",Pl),Sl(191),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("AnyKindTest",Pl)}function js(){xl(191),kl(22),xl(34),kl(23),xl(37)}function Fs(){Vl.startNonterminal("DocumentTest",Pl),Sl(120),kl(22),Sl(34),kl(144);if(Hl!=37)switch(Hl){case 121:Nl(),no();break;default:Nl(),oo()}kl(23),Sl(37),Vl.endNonterminal("DocumentTest",Pl)}function Is(){xl(120),kl(22),xl(34),kl(144);if(Hl!=37)switch(Hl){case 121:ro();break;default:uo()}kl(23),xl(37)}function qs(){Vl.startNonterminal("TextTest",Pl),Sl(244),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("TextTest",Pl)}function Rs(){xl(244),kl(22),xl(34),kl(23),xl(37)}function Us(){Vl.startNonterminal("CommentTest",Pl),Sl(96),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("CommentTest",Pl)}function zs(){xl(96),kl(22),xl(34),kl(23),xl(37)}function Ws(){Vl.startNonterminal("NamespaceNodeTest",Pl),Sl(185),kl(22),Sl(34),kl(23),Sl(37),Vl.endNonterminal("NamespaceNodeTest",Pl)}function Xs(){xl(185),kl(22),xl(34),kl(23),xl(37)}function Vs(){Vl.startNonterminal("PITest",Pl),Sl(216),kl(22),Sl(34),kl(253);if(Hl!=37)switch(Hl){case 11:Sl(11);break;default:Nl(),Ia()}kl(23),Sl(37),Vl.endNonterminal("PITest",Pl)}function $s(){xl(216),kl(22),xl(34),kl(253);if(Hl!=37)switch(Hl){case 11:xl(11);break;default:qa()}kl(23),xl(37)}function Js(){Vl.startNonterminal("AttributeTest",Pl),Sl(82),kl(22),Sl(34),kl(261),Hl!=37&&(Nl(),Qs(),kl(101),Hl==41&&(Sl(41),kl(255),Nl(),go())),kl(23),Sl(37),Vl.endNonterminal("AttributeTest",Pl)}function Ks(){xl(82),kl(22),xl(34),kl(261),Hl!=37&&(Gs(),kl(101),Hl==41&&(xl(41),kl(255),yo())),kl(23),xl(37)}function Qs(){Vl.startNonterminal("AttribNameOrWildcard",Pl);switch(Hl){case 38:Sl(38);break;default:lo()}Vl.endNonterminal("AttribNameOrWildcard",Pl)}function Gs(){switch(Hl){case 38:xl(38);break;default:co()}}function Ys(){Vl.startNonterminal("SchemaAttributeTest",Pl),Sl(226),kl(22),Sl(34),kl(255),Nl(),eo(),kl(23),Sl(37),Vl.endNonterminal("SchemaAttributeTest",Pl)}function Zs(){xl(226),kl(22),xl(34),kl(255),to(),kl(23),xl(37)}function eo(){Vl.startNonterminal("AttributeDeclaration",Pl),lo(),Vl.endNonterminal("AttributeDeclaration",Pl)}function to(){co()}function no(){Vl.startNonterminal("ElementTest",Pl),Sl(121),kl(22),Sl(34),kl(261),Hl!=37&&(Nl(),io(),kl(101),Hl==41&&(Sl(41),kl(255),Nl(),go(),kl(102),Hl==64&&Sl(64))),kl(23),Sl(37),Vl.endNonterminal("ElementTest",Pl)}function ro(){xl(121),kl(22),xl(34),kl(261),Hl!=37&&(so(),kl(101),Hl==41&&(xl(41),kl(255),yo(),kl(102),Hl==64&&xl(64))),kl(23),xl(37)}function io(){Vl.startNonterminal("ElementNameOrWildcard",Pl);switch(Hl){case 38:Sl(38);break;default:ho()}Vl.endNonterminal("ElementNameOrWildcard",Pl)}function so(){switch(Hl){case 38:xl(38);break;default:po()}}function oo(){Vl.startNonterminal("SchemaElementTest",Pl),Sl(227),kl(22),Sl(34),kl(255),Nl(),ao(),kl(23),Sl(37),Vl.endNonterminal("SchemaElementTest",Pl)}function uo(){xl(227),kl(22),xl(34),kl(255),fo(),kl(23),xl(37)}function ao(){Vl.startNonterminal("ElementDeclaration",Pl),ho(),Vl.endNonterminal("ElementDeclaration",Pl)}function fo(){po()}function lo(){Vl.startNonterminal("AttributeName",Pl),Ha(),Vl.endNonterminal("AttributeName",Pl)}function co(){Ba()}function ho(){Vl.startNonterminal("ElementName",Pl),Ha(),Vl.endNonterminal("ElementName",Pl)}function po(){Ba()}function vo(){Vl.startNonterminal("SimpleTypeName",Pl),go(),Vl.endNonterminal("SimpleTypeName",Pl)}function mo(){yo()}function go(){Vl.startNonterminal("TypeName",Pl),Ha(),Vl.endNonterminal("TypeName",Pl)}function yo(){Ba()}function bo(){Vl.startNonterminal("FunctionTest",Pl);for(;;){kl(97);if(Hl!=32)break;Nl(),B()}switch(Hl){case 145:Ll(22);break;default:_l=Hl}_l=Kl(5,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{So(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(5,Pl,_l)}switch(_l){case-1:Nl(),Eo();break;default:Nl(),xo()}Vl.endNonterminal("FunctionTest",Pl)}function wo(){for(;;){kl(97);if(Hl!=32)break;j()}switch(Hl){case 145:Ll(22);break;default:_l=Hl}_l=Kl(5,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{So(),Jl(5,t,-1),_l=-3}catch(a){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(5,t,-2)}}switch(_l){case-1:So();break;case-3:break;default:To()}}function Eo(){Vl.startNonterminal("AnyFunctionTest",Pl),Sl(145),kl(22),Sl(34),kl(24),Sl(38),kl(23),Sl(37),Vl.endNonterminal("AnyFunctionTest",Pl)}function So(){xl(145),kl(22),xl(34),kl(24),xl(38),kl(23),xl(37)}function xo(){Vl.startNonterminal("TypedFunctionTest",Pl),Sl(145),kl(22),Sl(34),kl(263);if(Hl!=37){Nl(),ms();for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(260),Nl(),ms()}}Sl(37),kl(30),Sl(79),kl(260),Nl(),ms(),Vl.endNonterminal("TypedFunctionTest",Pl)}function To(){xl(145),kl(22),xl(34),kl(263);if(Hl!=37){gs();for(;;){kl(101);if(Hl!=41)break;xl(41),kl(260),gs()}}xl(37),kl(30),xl(79),kl(260),gs()}function No(){Vl.startNonterminal("ParenthesizedItemType",Pl),Sl(34),kl(260),Nl(),ws(),kl(23),Sl(37),Vl.endNonterminal("ParenthesizedItemType",Pl)}function Co(){xl(34),kl(260),Es(),kl(23),xl(37)}function ko(){Vl.startNonterminal("RevalidationDecl",Pl),Sl(108),kl(72),Sl(222),kl(152);switch(Hl){case 240:Sl(240);break;case 171:Sl(171);break;default:Sl(233)}Vl.endNonterminal("RevalidationDecl",Pl)}function Lo(){Vl.startNonterminal("InsertExprTargetChoice",Pl);switch(Hl){case 70:Sl(70);break;case 84:Sl(84);break;default:if(Hl==79){Sl(79),kl(119);switch(Hl){case 134:Sl(134);break;default:Sl(170)}}kl(54),Sl(163)}Vl.endNonterminal("InsertExprTargetChoice",Pl)}function Ao(){switch(Hl){case 70:xl(70);break;case 84:xl(84);break;default:if(Hl==79){xl(79),kl(119);switch(Hl){case 134:xl(134);break;default:xl(170)}}kl(54),xl(163)}}function Oo(){Vl.startNonterminal("InsertExpr",Pl),Sl(159),kl(129);switch(Hl){case 191:Sl(191);break;default:Sl(192)}kl(267),Nl(),Fo(),Nl(),Lo(),kl(267),Nl(),qo(),Vl.endNonterminal("InsertExpr",Pl)}function Mo(){xl(159),kl(129);switch(Hl){case 191:xl(191);break;default:xl(192)}kl(267),Io(),Ao(),kl(267),Ro()}function _o(){Vl.startNonterminal("DeleteExpr",Pl),Sl(110),kl(129);switch(Hl){case 191:Sl(191);break;default:Sl(192)}kl(267),Nl(),qo(),Vl.endNonterminal("DeleteExpr",Pl)}function Do(){xl(110),kl(129);switch(Hl){case 191:xl(191);break;default:xl(192)}kl(267),Ro()}function Po(){Vl.startNonterminal("ReplaceExpr",Pl),Sl(219),kl(130),Hl==261&&(Sl(261),kl(64),Sl(196)),kl(62),Sl(191),kl(267),Nl(),qo(),Sl(270),kl(267),Nl(),_f(),Vl.endNonterminal("ReplaceExpr",Pl)}function Ho(){xl(219),kl(130),Hl==261&&(xl(261),kl(64),xl(196)),kl(62),xl(191),kl(267),Ro(),xl(270),kl(267),Df()}function Bo(){Vl.startNonterminal("RenameExpr",Pl),Sl(218),kl(62),Sl(191),kl(267),Nl(),qo(),Sl(79),kl(267),Nl(),Uo(),Vl.endNonterminal("RenameExpr",Pl)}function jo(){xl(218),kl(62),xl(191),kl(267),Ro(),xl(79),kl(267),zo()}function Fo(){Vl.startNonterminal("SourceExpr",Pl),_f(),Vl.endNonterminal("SourceExpr",Pl)}function Io(){Df()}function qo(){Vl.startNonterminal("TargetExpr",Pl),_f(),Vl.endNonterminal("TargetExpr",Pl)}function Ro(){Df()}function Uo(){Vl.startNonterminal("NewNameExpr",Pl),_f(),Vl.endNonterminal("NewNameExpr",Pl)}function zo(){Df()}function Wo(){Vl.startNonterminal("TransformExpr",Pl),Sl(103),kl(21),Nl(),Vo();for(;;){if(Hl!=41)break;Sl(41),kl(21),Nl(),Vo()}Sl(181),kl(267),Nl(),_f(),Sl(220),kl(267),Nl(),_f(),Vl.endNonterminal("TransformExpr",Pl)}function Xo(){xl(103),kl(21),$o();for(;;){if(Hl!=41)break;xl(41),kl(21),$o()}xl(181),kl(267),Df(),xl(220),kl(267),Df()}function Vo(){Vl.startNonterminal("TransformSpec",Pl),Sl(31),kl(255),Nl(),hi(),kl(27),Sl(52),kl(267),Nl(),_f(),Vl.endNonterminal("TransformSpec",Pl)}function $o(){xl(31),kl(255),pi(),kl(27),xl(52),kl(267),Df()}function Jo(){Vl.startNonterminal("FTSelection",Pl),Yo();for(;;){kl(212);switch(Hl){case 81:Ll(151);break;default:_l=Hl}if(_l!=115&&_l!=117&&_l!=127&&_l!=202&&_l!=223&&_l!=269&&_l!=64593&&_l!=121425)break;Nl(),Su()}Vl.endNonterminal("FTSelection",Pl)}function Ko(){Zo();for(;;){kl(212);switch(Hl){case 81:Ll(151);break;default:_l=Hl}if(_l!=115&&_l!=117&&_l!=127&&_l!=202&&_l!=223&&_l!=269&&_l!=64593&&_l!=121425)break;xu()}}function Qo(){Vl.startNonterminal("FTWeight",Pl),Sl(264),kl(87),Sl(276),kl(267),Nl(),G(),Sl(282),Vl.endNonterminal("FTWeight",Pl)}function Go(){xl(264),kl(87),xl(276),kl(267),Y(),xl(282)}function Yo(){Vl.startNonterminal("FTOr",Pl),eu();for(;;){if(Hl!=144)break;Sl(144),kl(162),Nl(),eu()}Vl.endNonterminal("FTOr",Pl)}function Zo(){tu();for(;;){if(Hl!=144)break;xl(144),kl(162),tu()}}function eu(){Vl.startNonterminal("FTAnd",Pl),nu();for(;;){if(Hl!=142)break;Sl(142),kl(162),Nl(),nu()}Vl.endNonterminal("FTAnd",Pl)}function tu(){ru();for(;;){if(Hl!=142)break;xl(142),kl(162),ru()}}function nu(){Vl.startNonterminal("FTMildNot",Pl),iu();for(;;){kl(213);if(Hl!=193)break;Sl(193),kl(53),Sl(154),kl(162),Nl(),iu()}Vl.endNonterminal("FTMildNot",Pl)}function ru(){su();for(;;){kl(213);if(Hl!=193)break;xl(193),kl(53),xl(154),kl(162),su()}}function iu(){Vl.startNonterminal("FTUnaryNot",Pl),Hl==143&&Sl(143),kl(155),Nl(),ou(),Vl.endNonterminal("FTUnaryNot",Pl)}function su(){Hl==143&&xl(143),kl(155),uu()}function ou(){Vl.startNonterminal("FTPrimaryWithOptions",Pl),au(),kl(215),Hl==259&&(Nl(),Fu()),Hl==264&&(Nl(),Qo()),Vl.endNonterminal("FTPrimaryWithOptions",Pl)}function uu(){fu(),kl(215),Hl==259&&Iu(),Hl==264&&Go()}function au(){Vl.startNonterminal("FTPrimary",Pl);switch(Hl){case 34:Sl(34),kl(162),Nl(),Jo(),Sl(37);break;case 35:du();break;default:lu(),kl(216),Hl==195&&(Nl(),yu())}Vl.endNonterminal("FTPrimary",Pl)}function fu(){switch(Hl){case 34:xl(34),kl(162),Ko(),xl(37);break;case 35:vu();break;default:cu(),kl(216),Hl==195&&bu()}}function lu(){Vl.startNonterminal("FTWords",Pl),hu(),kl(222);if(Hl==71||Hl==76||Hl==210)Nl(),mu();Vl.endNonterminal("FTWords",Pl)}function cu(){pu(),kl(222),(Hl==71||Hl==76||Hl==210)&&gu()}function hu(){Vl.startNonterminal("FTWordsValue",Pl);switch(Hl){case 11:Sl(11);break;default:Sl(276),kl(267),Nl(),G(),Sl(282)}Vl.endNonterminal("FTWordsValue",Pl)}function pu(){switch(Hl){case 11:xl(11);break;default:xl(276),kl(267),Y(),xl(282)}}function du(){Vl.startNonterminal("FTExtensionSelection",Pl);for(;;){Nl(),Cr(),kl(100);if(Hl!=35)break}Sl(276),kl(166),Hl!=282&&(Nl(),Jo()),Sl(282),Vl.endNonterminal("FTExtensionSelection",Pl)}function vu(){for(;;){kr(),kl(100);if(Hl!=35)break}xl(276),kl(166),Hl!=282&&Ko(),xl(282)}function mu(){Vl.startNonterminal("FTAnyallOption",Pl);switch(Hl){case 76:Sl(76),kl(219),Hl==272&&Sl(272);break;case 71:Sl(71),kl(220),Hl==273&&Sl(273);break;default:Sl(210)}Vl.endNonterminal("FTAnyallOption",Pl)}function gu(){switch(Hl){case 76:xl(76),kl(219),Hl==272&&xl(272);break;case 71:xl(71),kl(220),Hl==273&&xl(273);break;default:xl(210)}}function yu(){Vl.startNonterminal("FTTimes",Pl),Sl(195),kl(149),Nl(),wu(),Sl(247),Vl.endNonterminal("FTTimes",Pl)}function bu(){xl(195),kl(149),Eu(),xl(247)}function wu(){Vl.startNonterminal("FTRange",Pl);switch(Hl){case 130:Sl(130),kl(267),Nl(),Vn();break;case 81:Sl(81),kl(125);switch(Hl){case 173:Sl(173),kl(267),Nl(),Vn();break;default:Sl(183),kl(267),Nl(),Vn()}break;default:Sl(140),kl(267),Nl(),Vn(),Sl(248),kl(267),Nl(),Vn()}Vl.endNonterminal("FTRange",Pl)}function Eu(){switch(Hl){case 130:xl(130),kl(267),$n();break;case 81:xl(81),kl(125);switch(Hl){case 173:xl(173),kl(267),$n();break;default:xl(183),kl(267),$n()}break;default:xl(140),kl(267),$n(),xl(248),kl(267),$n()}}function Su(){Vl.startNonterminal("FTPosFilter",Pl);switch(Hl){case 202:Tu();break;case 269:Cu();break;case 117:Lu();break;case 115:case 223:_u();break;default:Bu()}Vl.endNonterminal("FTPosFilter",Pl)}function xu(){switch(Hl){case 202:Nu();break;case 269:ku();break;case 117:Au();break;case 115:case 223:Du();break;default:ju()}}function Tu(){Vl.startNonterminal("FTOrder",Pl),Sl(202),Vl.endNonterminal("FTOrder",Pl)}function Nu(){xl(202)}function Cu(){Vl.startNonterminal("FTWindow",Pl),Sl(269),kl(267),Nl(),Vn(),Nl(),Ou(),Vl.endNonterminal("FTWindow",Pl)}function ku(){xl(269),kl(267),$n(),Mu()}function Lu(){Vl.startNonterminal("FTDistance",Pl),Sl(117),kl(149),Nl(),wu(),Nl(),Ou(),Vl.endNonterminal("FTDistance",Pl)}function Au(){xl(117),kl(149),Eu(),Mu()}function Ou(){Vl.startNonterminal("FTUnit",Pl);switch(Hl){case 273:Sl(273);break;case 232:Sl(232);break;default:Sl(205)}Vl.endNonterminal("FTUnit",Pl)}function Mu(){switch(Hl){case 273:xl(273);break;case 232:xl(232);break;default:xl(205)}}function _u(){Vl.startNonterminal("FTScope",Pl);switch(Hl){case 223:Sl(223);break;default:Sl(115)}kl(132),Nl(),Pu(),Vl.endNonterminal("FTScope",Pl)}function Du(){switch(Hl){case 223:xl(223);break;default:xl(115)}kl(132),Hu()}function Pu(){Vl.startNonterminal("FTBigUnit",Pl);switch(Hl){case 231:Sl(231);break;default:Sl(204)}Vl.endNonterminal("FTBigUnit",Pl)}function Hu(){switch(Hl){case 231:xl(231);break;default:xl(204)}}function Bu(){Vl.startNonterminal("FTContent",Pl);switch(Hl){case 81:Sl(81),kl(117);switch(Hl){case 237:Sl(237);break;default:Sl(126)}break;default:Sl(127),kl(42),Sl(100)}Vl.endNonterminal("FTContent",Pl)}function ju(){switch(Hl){case 81:xl(81),kl(117);switch(Hl){case 237:xl(237);break;default:xl(126)}break;default:xl(127),kl(42),xl(100)}}function Fu(){Vl.startNonterminal("FTMatchOptions",Pl);for(;;){Sl(259),kl(182),Nl(),qu(),kl(215);if(Hl!=259)break}Vl.endNonterminal("FTMatchOptions",Pl)}function Iu(){for(;;){xl(259),kl(182),Ru(),kl(215);if(Hl!=259)break}}function qu(){Vl.startNonterminal("FTMatchOption",Pl);switch(Hl){case 188:Ll(161);break;default:_l=Hl}switch(_l){case 169:oa();break;case 268:case 137404:aa();break;case 246:case 126140:Ju();break;case 238:case 122044:Vu();break;case 114:Wu();break;case 239:case 122556:ea();break;case 199:la();break;default:Uu()}Vl.endNonterminal("FTMatchOption",Pl)}function Ru(){switch(Hl){case 188:Ll(161);break;default:_l=Hl}switch(_l){case 169:ua();break;case 268:case 137404:fa();break;case 246:case 126140:Ku();break;case 238:case 122044:$u();break;case 114:Xu();break;case 239:case 122556:ta();break;case 199:ca();break;default:zu()}}function Uu(){Vl.startNonterminal("FTCaseOption",Pl);switch(Hl){case 88:Sl(88),kl(124);switch(Hl){case 158:Sl(158);break;default:Sl(230)}break;case 177:Sl(177);break;default:Sl(258)}Vl.endNonterminal("FTCaseOption",Pl)}function zu(){switch(Hl){case 88:xl(88),kl(124);switch(Hl){case 158:xl(158);break;default:xl(230)}break;case 177:xl(177);break;default:xl(258)}}function Wu(){Vl.startNonterminal("FTDiacriticsOption",Pl),Sl(114),kl(124);switch(Hl){case 158:Sl(158);break;default:Sl(230)}Vl.endNonterminal("FTDiacriticsOption",Pl)}function Xu(){xl(114),kl(124);switch(Hl){case 158:xl(158);break;default:xl(230)}}function Vu(){Vl.startNonterminal("FTStemOption",Pl);switch(Hl){case 238:Sl(238);break;default:Sl(188),kl(74),Sl(238)}Vl.endNonterminal("FTStemOption",Pl)}function $u(){switch(Hl){case 238:xl(238);break;default:xl(188),kl(74),xl(238)}}function Ju(){Vl.startNonterminal("FTThesaurusOption",Pl);switch(Hl){case 246:Sl(246),kl(142);switch(Hl){case 81:Nl(),Qu();break;case 109:Sl(109);break;default:Sl(34),kl(112);switch(Hl){case 81:Nl(),Qu();break;default:Sl(109)}for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(31),Nl(),Qu()}Sl(37)}break;default:Sl(188),kl(78),Sl(246)}Vl.endNonterminal("FTThesaurusOption",Pl)}function Ku(){switch(Hl){case 246:xl(246),kl(142);switch(Hl){case 81:Gu();break;case 109:xl(109);break;default:xl(34),kl(112);switch(Hl){case 81:Gu();break;default:xl(109)}for(;;){kl(101);if(Hl!=41)break;xl(41),kl(31),Gu()}xl(37)}break;default:xl(188),kl(78),xl(246)}}function Qu(){Vl.startNonterminal("FTThesaurusID",Pl),Sl(81),kl(15),Sl(7),kl(221),Hl==217&&(Sl(217),kl(17),Sl(11)),kl(217);switch(Hl){case 81:Ll(165);break;default:_l=Hl}if(_l==130||_l==140||_l==88657||_l==93777)Nl(),Yu(),kl(58),Sl(175);Vl.endNonterminal("FTThesaurusID",Pl)}function Gu(){xl(81),kl(15),xl(7),kl(221),Hl==217&&(xl(217),kl(17),xl(11)),kl(217);switch(Hl){case 81:Ll(165);break;default:_l=Hl}if(_l==130||_l==140||_l==88657||_l==93777)Zu(),kl(58),xl(175)}function Yu(){Vl.startNonterminal("FTLiteralRange",Pl);switch(Hl){case 130:Sl(130),kl(16),Sl(8);break;case 81:Sl(81),kl(125);switch(Hl){case 173:Sl(173),kl(16),Sl(8);break;default:Sl(183),kl(16),Sl(8)}break;default:Sl(140),kl(16),Sl(8),kl(79),Sl(248),kl(16),Sl(8)}Vl.endNonterminal("FTLiteralRange",Pl)}function Zu(){switch(Hl){case 130:xl(130),kl(16),xl(8);break;case 81:xl(81),kl(125);switch(Hl){case 173:xl(173),kl(16),xl(8);break;default:xl(183),kl(16),xl(8)}break;default:xl(140),kl(16),xl(8),kl(79),xl(248),kl(16),xl(8)}}function ea(){Vl.startNonterminal("FTStopWordOption",Pl);switch(Hl){case 239:Sl(239),kl(86),Sl(273),kl(142);switch(Hl){case 109:Sl(109);for(;;){kl(218);if(Hl!=131&&Hl!=254)break;Nl(),ia()}break;default:Nl(),na();for(;;){kl(218);if(Hl!=131&&Hl!=254)break;Nl(),ia()}}break;default:Sl(188),kl(75),Sl(239),kl(86),Sl(273)}Vl.endNonterminal("FTStopWordOption",Pl)}function ta(){switch(Hl){case 239:xl(239),kl(86),xl(273),kl(142);switch(Hl){case 109:xl(109);for(;;){kl(218);if(Hl!=131&&Hl!=254)break;sa()}break;default:ra();for(;;){kl(218);if(Hl!=131&&Hl!=254)break;sa()}}break;default:xl(188),kl(75),xl(239),kl(86),xl(273)}}function na(){Vl.startNonterminal("FTStopWords",Pl);switch(Hl){case 81:Sl(81),kl(15),Sl(7);break;default:Sl(34),kl(17),Sl(11);for(;;){kl(101);if(Hl!=41)break;Sl(41),kl(17),Sl(11)}Sl(37)}Vl.endNonterminal("FTStopWords",Pl)}function ra(){switch(Hl){case 81:xl(81),kl(15),xl(7);break;default:xl(34),kl(17),xl(11);for(;;){kl(101);if(Hl!=41)break;xl(41),kl(17),xl(11)}xl(37)}}function ia(){Vl.startNonterminal("FTStopWordsInclExcl",Pl);switch(Hl){case 254:Sl(254);break;default:Sl(131)}kl(99),Nl(),na(),Vl.endNonterminal("FTStopWordsInclExcl",Pl)}function sa(){switch(Hl){case 254:xl(254);break;default:xl(131)}kl(99),ra()}function oa(){Vl.startNonterminal("FTLanguageOption",Pl),Sl(169),kl(17),Sl(11),Vl.endNonterminal("FTLanguageOption",Pl)}function ua(){xl(169),kl(17),xl(11)}function aa(){Vl.startNonterminal("FTWildCardOption",Pl);switch(Hl){case 268:Sl(268);break;default:Sl(188),kl(84),Sl(268)}Vl.endNonterminal("FTWildCardOption",Pl)}function fa(){switch(Hl){case 268:xl(268);break;default:xl(188),kl(84),xl(268)}}function la(){Vl.startNonterminal("FTExtensionOption",Pl),Sl(199),kl(255),Nl(),Ha(),kl(17),Sl(11),Vl.endNonterminal("FTExtensionOption",Pl)}function ca(){xl(199),kl(255),Ba(),kl(17),xl(11)}function ha(){Vl.startNonterminal("FTIgnoreOption",Pl),Sl(271),kl(42),Sl(100),kl(267),Nl(),Qn(),Vl.endNonterminal("FTIgnoreOption",Pl)}function pa(){xl(271),kl(42),xl(100),kl(267),Gn()}function da(){Vl.startNonterminal("CollectionDecl",Pl),Sl(95),kl(255),Nl(),Ha(),kl(107),Hl==79&&(Nl(),va()),Vl.endNonterminal("CollectionDecl",Pl)}function va(){Vl.startNonterminal("CollectionTypeDecl",Pl),Sl(79),kl(178),Nl(),Ps(),kl(156),Hl!=53&&(Nl(),ys()),Vl.endNonterminal("CollectionTypeDecl",Pl)}function ma(){Vl.startNonterminal("IndexName",Pl),Ha(),Vl.endNonterminal("IndexName",Pl)}function ga(){Vl.startNonterminal("IndexDomainExpr",Pl),Lr(),Vl.endNonterminal("IndexDomainExpr",Pl)}function ya(){Vl.startNonterminal("IndexKeySpec",Pl),ba(),Hl==79&&(Nl(),wa()),kl(146),Hl==94&&(Nl(),Sa()),Vl.endNonterminal("IndexKeySpec",Pl)}function ba(){Vl.startNonterminal("IndexKeyExpr",Pl),Lr(),Vl.endNonterminal("IndexKeyExpr",Pl)}function wa(){Vl.startNonterminal("IndexKeyTypeDecl",Pl),Sl(79),kl(255),Nl(),Ea(),kl(169);if(Hl==39||Hl==40||Hl==64)Nl(),ys();Vl.endNonterminal("IndexKeyTypeDecl",Pl)}function Ea(){Vl.startNonterminal("AtomicType",Pl),Ha(),Vl.endNonterminal("AtomicType",Pl)}function Sa(){Vl.startNonterminal("IndexKeyCollation",Pl),Sl(94),kl(15),Sl(7),Vl.endNonterminal("IndexKeyCollation",Pl)}function xa(){Vl.startNonterminal("IndexDecl",Pl),Sl(155),kl(255),Nl(),ma(),kl(65),Sl(197),kl(63),Sl(192),kl(266),Nl(),ga(),Sl(87),kl(266),Nl(),ya();for(;;){kl(103);if(Hl!=41)break;Sl(41),kl(266),Nl(),ya()}Vl.endNonterminal("IndexDecl",Pl)}function Ta(){Vl.startNonterminal("ICDecl",Pl),Sl(161),kl(40),Sl(97),kl(255),Nl(),Ha(),kl(120);switch(Hl){case 197:Nl(),Na();break;default:Nl(),Aa()}Vl.endNonterminal("ICDecl",Pl)}function Na(){Vl.startNonterminal("ICCollection",Pl),Sl(197),kl(39),Sl(95),kl(255),Nl(),Ha(),kl(140);switch(Hl){case 31:Nl(),Ca();break;case 191:Nl(),ka();break;default:Nl(),La()}Vl.endNonterminal("ICCollection",Pl)}function Ca(){Vl.startNonterminal("ICCollSequence",Pl),li(),kl(37),Sl(92),kl(267),Nl(),_f(),Vl.endNonterminal("ICCollSequence",Pl)}function ka(){Vl.startNonterminal("ICCollSequenceUnique",Pl),Sl(191),kl(21),Nl(),li(),kl(37),Sl(92),kl(80),Sl(255),kl(57),Sl(168),kl(266),Nl(),Lr(),Vl.endNonterminal("ICCollSequenceUnique",Pl)}function La(){Vl.startNonterminal("ICCollNode",Pl),Sl(138),kl(62),Sl(191),kl(21),Nl(),li(),kl(37),Sl(92),kl(267),Nl(),_f(),Vl.endNonterminal("ICCollNode",Pl)}function Aa(){Vl.startNonterminal("ICForeignKey",Pl),Sl(139),kl(57),Sl(168),kl(51),Nl(),Oa(),Nl(),Ma(),Vl.endNonterminal("ICForeignKey",Pl)}function Oa(){Vl.startNonterminal("ICForeignKeySource",Pl),Sl(140),kl(39),Nl(),_a(),Vl.endNonterminal("ICForeignKeySource",Pl)}function Ma(){Vl.startNonterminal("ICForeignKeyTarget",Pl),Sl(248),kl(39),Nl(),_a(),Vl.endNonterminal("ICForeignKeyTarget",Pl)}function _a(){Vl.startNonterminal("ICForeignKeyValues",Pl),Sl(95),kl(255),Nl(),Ha(),kl(62),Sl(191),kl(21),Nl(),li(),kl(57),Sl(168),kl(266),Nl(),Lr(),Vl.endNonterminal("ICForeignKeyValues",Pl)}function Da(){xl(36);for(;;){Al(89);if(Hl==50)break;switch(Hl){case 24:xl(24);break;default:Da()}}xl(50)}function Pa(){switch(Hl){case 22:xl(22);break;default:Da()}}function Ha(){Vl.startNonterminal("EQName",Pl),Al(250);switch(Hl){case 82:Sl(82);break;case 96:Sl(96);break;case 120:Sl(120);break;case 121:Sl(121);break;case 124:Sl(124);break;case 145:Sl(145);break;case 152:Sl(152);break;case 165:Sl(165);break;case 185:Sl(185);break;case 191:Sl(191);break;case 216:Sl(216);break;case 226:Sl(226);break;case 227:Sl(227);break;case 243:Sl(243);break;case 244:Sl(244);break;case 253:Sl(253);break;case 78:Sl(78);break;case 167:Sl(167);break;case 242:Sl(242);break;default:ja()}Vl.endNonterminal("EQName",Pl)}function Ba(){Al(250);switch(Hl){case 82:xl(82);break;case 96:xl(96);break;case 120:xl(120);break;case 121:xl(121);break;case 124:xl(124);break;case 145:xl(145);break;case 152:xl(152);break;case 165:xl(165);break;case 185:xl(185);break;case 191:xl(191);break;case 216:xl(216);break;case 226:xl(226);break;case 227:xl(227);break;case 243:xl(243);break;case 244:xl(244);break;case 253:xl(253);break;case 78:xl(78);break;case 167:xl(167);break;case 242:xl(242);break;default:Fa()}}function ja(){Vl.startNonterminal("FunctionName",Pl);switch(Hl){case 6:Sl(6);break;case 70:Sl(70);break;case 73:Sl(73);break;case 74:Sl(74);break;case 75:Sl(75);break;case 79:Sl(79);break;case 80:Sl(80);break;case 84:Sl(84);break;case 88:Sl(88);break;case 89:Sl(89);break;case 90:Sl(90);break;case 93:Sl(93);break;case 94:Sl(94);break;case 103:Sl(103);break;case 105:Sl(105);break;case 108:Sl(108);break;case 109:Sl(109);break;case 110:Sl(110);break;case 111:Sl(111);break;case 112:Sl(112);break;case 113:Sl(113);break;case 118:Sl(118);break;case 119:Sl(119);break;case 122:Sl(122);break;case 123:Sl(123);break;case 126:Sl(126);break;case 128:Sl(128);break;case 129:Sl(129);break;case 131:Sl(131);break;case 134:Sl(134);break;case 135:Sl(135);break;case 136:Sl(136);break;case 137:Sl(137);break;case 146:Sl(146);break;case 148:Sl(148);break;case 150:Sl(150);break;case 151:Sl(151);break;case 153:Sl(153);break;case 159:Sl(159);break;case 160:Sl(160);break;case 162:Sl(162);break;case 163:Sl(163);break;case 164:Sl(164);break;case 170:Sl(170);break;case 172:Sl(172);break;case 174:Sl(174);break;case 178:Sl(178);break;case 180:Sl(180);break;case 181:Sl(181);break;case 182:Sl(182);break;case 184:Sl(184);break;case 186:Sl(186);break;case 198:Sl(198);break;case 200:Sl(200);break;case 201:Sl(201);break;case 202:Sl(202);break;case 206:Sl(206);break;case 212:Sl(212);break;case 213:Sl(213);break;case 218:Sl(218);break;case 219:Sl(219);break;case 220:Sl(220);break;case 224:Sl(224);break;case 229:Sl(229);break;case 235:Sl(235);break;case 236:Sl(236);break;case 237:Sl(237);break;case 248:Sl(248);break;case 249:Sl(249);break;case 250:Sl(250);break;case 254:Sl(254);break;case 256:Sl(256);break;case 260:Sl(260);break;case 266:Sl(266);break;case 270:Sl(270);break;case 274:Sl(274);break;case 72:Sl(72);break;case 81:Sl(81);break;case 83:Sl(83);break;case 85:Sl(85);break;case 86:Sl(86);break;case 91:Sl(91);break;case 98:Sl(98);break;case 101:Sl(101);break;case 102:Sl(102);break;case 104:Sl(104);break;case 106:Sl(106);break;case 125:Sl(125);break;case 132:Sl(132);break;case 133:Sl(133);break;case 141:Sl(141);break;case 154:Sl(154);break;case 155:Sl(155);break;case 161:Sl(161);break;case 171:Sl(171);break;case 192:Sl(192);break;case 199:Sl(199);break;case 203:Sl(203);break;case 222:Sl(222);break;case 225:Sl(225);break;case 228:Sl(228);break;case 234:Sl(234);break;case 240:Sl(240);break;case 251:Sl(251);break;case 252:Sl(252);break;case 257:Sl(257);break;case 261:Sl(261);break;case 262:Sl(262);break;case 263:Sl(263);break;case 267:Sl(267);break;case 97:Sl(97);break;case 176:Sl(176);break;case 221:Sl(221);break;case 77:Sl(77);break;case 166:Sl(166);break;default:Sl(194)}Vl.endNonterminal("FunctionName",Pl)}function Fa(){switch(Hl){case 6:xl(6);break;case 70:xl(70);break;case 73:xl(73);break;case 74:xl(74);break;case 75:xl(75);break;case 79:xl(79);break;case 80:xl(80);break;case 84:xl(84);break;case 88:xl(88);break;case 89:xl(89);break;case 90:xl(90);break;case 93:xl(93);break;case 94:xl(94);break;case 103:xl(103);break;case 105:xl(105);break;case 108:xl(108);break;case 109:xl(109);break;case 110:xl(110);break;case 111:xl(111);break;case 112:xl(112);break;case 113:xl(113);break;case 118:xl(118);break;case 119:xl(119);break;case 122:xl(122);break;case 123:xl(123);break;case 126:xl(126);break;case 128:xl(128);break;case 129:xl(129);break;case 131:xl(131);break;case 134:xl(134);break;case 135:xl(135);break;case 136:xl(136);break;case 137:xl(137);break;case 146:xl(146);break;case 148:xl(148);break;case 150:xl(150);break;case 151:xl(151);break;case 153:xl(153);break;case 159:xl(159);break;case 160:xl(160);break;case 162:xl(162);break;case 163:xl(163);break;case 164:xl(164);break;case 170:xl(170);break;case 172:xl(172);break;case 174:xl(174);break;case 178:xl(178);break;case 180:xl(180);break;case 181:xl(181);break;case 182:xl(182);break;case 184:xl(184);break;case 186:xl(186);break;case 198:xl(198);break;case 200:xl(200);break;case 201:xl(201);break;case 202:xl(202);break;case 206:xl(206);break;case 212:xl(212);break;case 213:xl(213);break;case 218:xl(218);break;case 219:xl(219);break;case 220:xl(220);break;case 224:xl(224);break;case 229:xl(229);break;case 235:xl(235);break;case 236:xl(236);break;case 237:xl(237);break;case 248:xl(248);break;case 249:xl(249);break;case 250:xl(250);break;case 254:xl(254);break;case 256:xl(256);break;case 260:xl(260);break;case 266:xl(266);break;case 270:xl(270);break;case 274:xl(274);break;case 72:xl(72);break;case 81:xl(81);break;case 83:xl(83);break;case 85:xl(85);break;case 86:xl(86);break;case 91:xl(91);break;case 98:xl(98);break;case 101:xl(101);break;case 102:xl(102);break;case 104:xl(104);break;case 106:xl(106);break;case 125:xl(125);break;case 132:xl(132);break;case 133:xl(133);break;case 141:xl(141);break;case 154:xl(154);break;case 155:xl(155);break;case 161:xl(161);break;case 171:xl(171);break;case 192:xl(192);break;case 199:xl(199);break;case 203:xl(203);break;case 222:xl(222);break;case 225:xl(225);break;case 228:xl(228);break;case 234:xl(234);break;case 240:xl(240);break;case 251:xl(251);break;case 252:xl(252);break;case 257:xl(257);break;case 261:xl(261);break;case 262:xl(262);break;case 263:xl(263);break;case 267:xl(267);break;case 97:xl(97);break;case 176:xl(176);break;case 221:xl(221);break;case 77:xl(77);break;case 166:xl(166);break;default:xl(194)}}function Ia(){Vl.startNonterminal("NCName",Pl);switch(Hl){case 19:Sl(19);break;case 70:Sl(70);break;case 75:Sl(75);break;case 79:Sl(79);break;case 80:Sl(80);break;case 84:Sl(84);break;case 88:Sl(88);break;case 89:Sl(89);break;case 90:Sl(90);break;case 94:Sl(94);break;case 105:Sl(105);break;case 109:Sl(109);break;case 113:Sl(113);break;case 118:Sl(118);break;case 122:Sl(122);break;case 123:Sl(123);break;case 126:Sl(126);break;case 128:Sl(128);break;case 131:Sl(131);break;case 137:Sl(137);break;case 146:Sl(146);break;case 148:Sl(148);break;case 150:Sl(150);break;case 151:Sl(151);break;case 160:Sl(160);break;case 162:Sl(162);break;case 163:Sl(163);break;case 164:Sl(164);break;case 172:Sl(172);break;case 174:Sl(174);break;case 178:Sl(178);break;case 180:Sl(180);break;case 181:Sl(181);break;case 186:Sl(186);break;case 198:Sl(198);break;case 200:Sl(200);break;case 201:Sl(201);break;case 220:Sl(220);break;case 224:Sl(224);break;case 236:Sl(236);break;case 237:Sl(237);break;case 248:Sl(248);break;case 249:Sl(249);break;case 254:Sl(254);break;case 266:Sl(266);break;case 270:Sl(270);break;case 73:Sl(73);break;case 74:Sl(74);break;case 82:Sl(82);break;case 93:Sl(93);break;case 96:Sl(96);break;case 103:Sl(103);break;case 108:Sl(108);break;case 110:Sl(110);break;case 111:Sl(111);break;case 112:Sl(112);break;case 119:Sl(119);break;case 120:Sl(120);break;case 121:Sl(121);break;case 124:Sl(124);break;case 129:Sl(129);break;case 134:Sl(134);break;case 135:Sl(135);break;case 136:Sl(136);break;case 145:Sl(145);break;case 152:Sl(152);break;case 153:Sl(153);break;case 159:Sl(159);break;case 165:Sl(165);break;case 170:Sl(170);break;case 182:Sl(182);break;case 184:Sl(184);break;case 185:Sl(185);break;case 191:Sl(191);break;case 202:Sl(202);break;case 206:Sl(206);break;case 212:Sl(212);break;case 213:Sl(213);break;case 216:Sl(216);break;case 218:Sl(218);break;case 219:Sl(219);break;case 226:Sl(226);break;case 227:Sl(227);break;case 229:Sl(229);break;case 235:Sl(235);break;case 243:Sl(243);break;case 244:Sl(244);break;case 250:Sl(250);break;case 253:Sl(253);break;case 256:Sl(256);break;case 260:Sl(260);break;case 262:Sl(262);break;case 274:Sl(274);break;case 72:Sl(72);break;case 81:Sl(81);break;case 83:Sl(83);break;case 85:Sl(85);break;case 86:Sl(86);break;case 91:Sl(91);break;case 98:Sl(98);break;case 101:Sl(101);break;case 102:Sl(102);break;case 104:Sl(104);break;case 106:Sl(106);break;case 125:Sl(125);break;case 132:Sl(132);break;case 133:Sl(133);break;case 141:Sl(141);break;case 154:Sl(154);break;case 155:Sl(155);break;case 161:Sl(161);break;case 171:Sl(171);break;case 192:Sl(192);break;case 199:Sl(199);break;case 203:Sl(203);break;case 222:Sl(222);break;case 225:Sl(225);break;case 228:Sl(228);break;case 234:Sl(234);break;case 240:Sl(240);break;case 251:Sl(251);break;case 252:Sl(252);break;case 257:Sl(257);break;case 261:Sl(261);break;case 263:Sl(263);break;case 267:Sl(267);break;case 97:Sl(97);break;case 176:Sl(176);break;case 221:Sl(221);break;case 77:Sl(77);break;case 166:Sl(166);break;default:Sl(194)}Vl.endNonterminal("NCName",Pl)}function qa(){switch(Hl){case 19:xl(19);break;case 70:xl(70);break;case 75:xl(75);break;case 79:xl(79);break;case 80:xl(80);break;case 84:xl(84);break;case 88:xl(88);break;case 89:xl(89);break;case 90:xl(90);break;case 94:xl(94);break;case 105:xl(105);break;case 109:xl(109);break;case 113:xl(113);break;case 118:xl(118);break;case 122:xl(122);break;case 123:xl(123);break;case 126:xl(126);break;case 128:xl(128);break;case 131:xl(131);break;case 137:xl(137);break;case 146:xl(146);break;case 148:xl(148);break;case 150:xl(150);break;case 151:xl(151);break;case 160:xl(160);break;case 162:xl(162);break;case 163:xl(163);break;case 164:xl(164);break;case 172:xl(172);break;case 174:xl(174);break;case 178:xl(178);break;case 180:xl(180);break;case 181:xl(181);break;case 186:xl(186);break;case 198:xl(198);break;case 200:xl(200);break;case 201:xl(201);break;case 220:xl(220);break;case 224:xl(224);break;case 236:xl(236);break;case 237:xl(237);break;case 248:xl(248);break;case 249:xl(249);break;case 254:xl(254);break;case 266:xl(266);break;case 270:xl(270);break;case 73:xl(73);break;case 74:xl(74);break;case 82:xl(82);break;case 93:xl(93);break;case 96:xl(96);break;case 103:xl(103);break;case 108:xl(108);break;case 110:xl(110);break;case 111:xl(111);break;case 112:xl(112);break;case 119:xl(119);break;case 120:xl(120);break;case 121:xl(121);break;case 124:xl(124);break;case 129:xl(129);break;case 134:xl(134);break;case 135:xl(135);break;case 136:xl(136);break;case 145:xl(145);break;case 152:xl(152);break;case 153:xl(153);break;case 159:xl(159);break;case 165:xl(165);break;case 170:xl(170);break;case 182:xl(182);break;case 184:xl(184);break;case 185:xl(185);break;case 191:xl(191);break;case 202:xl(202);break;case 206:xl(206);break;case 212:xl(212);break;case 213:xl(213);break;case 216:xl(216);break;case 218:xl(218);break;case 219:xl(219);break;case 226:xl(226);break;case 227:xl(227);break;case 229:xl(229);break;case 235:xl(235);break;case 243:xl(243);break;case 244:xl(244);break;case 250:xl(250);break;case 253:xl(253);break;case 256:xl(256);break;case 260:xl(260);break;case 262:xl(262);break;case 274:xl(274);break;case 72:xl(72);break;case 81:xl(81);break;case 83:xl(83);break;case 85:xl(85);break;case 86:xl(86);break;case 91:xl(91);break;case 98:xl(98);break;case 101:xl(101);break;case 102:xl(102);break;case 104:xl(104);break;case 106:xl(106);break;case 125:xl(125);break;case 132:xl(132);break;case 133:xl(133);break;case 141:xl(141);break;case 154:xl(154);break;case 155:xl(155);break;case 161:xl(161);break;case 171:xl(171);break;case 192:xl(192);break;case 199:xl(199);break;case 203:xl(203);break;case 222:xl(222);break;case 225:xl(225);break;case 228:xl(228);break;case 234:xl(234);break;case 240:xl(240);break;case 251:xl(251);break;case 252:xl(252);break;case 257:xl(257);break;case 261:xl(261);break;case 263:xl(263);break;case 267:xl(267);break;case 97:xl(97);break;case 176:xl(176);break;case 221:xl(221);break;case 77:xl(77);break;case 166:xl(166);break;default:xl(194)}}function Ra(){Vl.startNonterminal("MainModule",Pl),l(),Nl(),Ua(),Vl.endNonterminal("MainModule",Pl)}function Ua(){Vl.startNonterminal("Program",Pl),$a(),Vl.endNonterminal("Program",Pl)}function za(){Vl.startNonterminal("Statements",Pl);for(;;){kl(278);switch(Hl){case 34:Ll(269);break;case 35:Ol(252);break;case 46:Ll(284);break;case 47:Ll(265);break;case 54:Ol(4);break;case 55:Ol(1);break;case 59:Ol(3);break;case 66:Ll(257);break;case 68:Ll(272);break;case 77:Ll(200);break;case 82:Ll(281);break;case 121:Ll(280);break;case 132:Ll(203);break;case 137:Ll(208);break;case 174:Ll(205);break;case 218:Ll(206);break;case 219:Ll(207);break;case 260:Ll(210);break;case 276:Ll(277);break;case 278:Ll(273);break;case 5:case 45:Ll(186);break;case 31:case 32:Ll(255);break;case 40:case 42:Ll(267);break;case 86:case 102:Ll(201);break;case 110:case 159:Ll(209);break;case 184:case 216:Ll(268);break;case 103:case 129:case 235:case 262:Ll(197);break;case 8:case 9:case 10:case 11:case 44:Ll(192);break;case 78:case 124:case 165:case 167:case 242:Ll(191);break;case 96:case 119:case 202:case 244:case 250:case 256:Ll(204);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Ll(198);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:Ll(195);break;default:_l=Hl}if(_l!=25&&_l!=53&&_l!=282&&_l!=12805&&_l!=12806&&_l!=12808&&_l!=12809&&_l!=12810&&_l!=12811&&_l!=12844&&_l!=12845&&_l!=12846&&_l!=12870&&_l!=12872&&_l!=12873&&_l!=12874&&_l!=12875&&_l!=12877&&_l!=12878&&_l!=12879&&_l!=12880&&_l!=12881&&_l!=12882&&_l!=12883&&_l!=12884&&_l!=12885&&_l!=12886&&_l!=12888&&_l!=12889&&_l!=12890&&_l!=12891&&_l!=12893&&_l!=12894&&_l!=12896&&_l!=12897&&_l!=12898&&_l!=12901&&_l!=12902&&_l!=12903&&_l!=12904&&_l!=12905&&_l!=12906&&_l!=12908&&_l!=12909&&_l!=12910&&_l!=12911&&_l!=12912&&_l!=12913&&_l!=12918&&_l!=12919&&_l!=12920&&_l!=12921&&_l!=12922&&_l!=12923&&_l!=12924&&_l!=12925&&_l!=12926&&_l!=12928&&_l!=12929&&_l!=12931&&_l!=12932&&_l!=12933&&_l!=12934&&_l!=12935&&_l!=12936&&_l!=12937&&_l!=12941&&_l!=12945&&_l!=12946&&_l!=12948&&_l!=12950&&_l!=12951&&_l!=12952&&_l!=12953&&_l!=12954&&_l!=12955&&_l!=12959&&_l!=12960&&_l!=12961&&_l!=12962&&_l!=12963&&_l!=12964&&_l!=12965&&_l!=12966&&_l!=12967&&_l!=12970&&_l!=12971&&_l!=12972&&_l!=12974&&_l!=12976&&_l!=12978&&_l!=12980&&_l!=12981&&_l!=12982&&_l!=12984&&_l!=12985&&_l!=12986&&_l!=12991&&_l!=12992&&_l!=12994&&_l!=12998&&_l!=12999&&_l!=13e3&&_l!=13001&&_l!=13002&&_l!=13003&&_l!=13006&&_l!=13012&&_l!=13013&&_l!=13016&&_l!=13018&&_l!=13019&&_l!=13020&&_l!=13021&&_l!=13022&&_l!=13024&&_l!=13025&&_l!=13026&&_l!=13027&&_l!=13028&&_l!=13029&&_l!=13034&&_l!=13035&&_l!=13036&&_l!=13037&&_l!=13040&&_l!=13042&&_l!=13043&&_l!=13044&&_l!=13048&&_l!=13049&&_l!=13050&&_l!=13051&&_l!=13052&&_l!=13053&&_l!=13054&&_l!=13056&&_l!=13057&&_l!=13060&&_l!=13061&&_l!=13062&&_l!=13063&&_l!=13066&&_l!=13067&&_l!=13070&&_l!=13074&&_l!=16134&&_l!=20997&&_l!=20998&&_l!=21e3&&_l!=21001&&_l!=21002&&_l!=21003&&_l!=21036&&_l!=21037&&_l!=21038&&_l!=21062&&_l!=21064&&_l!=21065&&_l!=21066&&_l!=21067&&_l!=21069&&_l!=21070&&_l!=21071&&_l!=21072&&_l!=21073&&_l!=21074&&_l!=21075&&_l!=21076&&_l!=21077&&_l!=21078&&_l!=21080&&_l!=21081&&_l!=21082&&_l!=21083&&_l!=21085&&_l!=21086&&_l!=21088&&_l!=21089&&_l!=21090&&_l!=21093&&_l!=21094&&_l!=21095&&_l!=21096&&_l!=21097&&_l!=21098&&_l!=21100&&_l!=21101&&_l!=21102&&_l!=21103&&_l!=21104&&_l!=21105&&_l!=21110&&_l!=21111&&_l!=21112&&_l!=21113&&_l!=21114&&_l!=21115&&_l!=21116&&_l!=21117&&_l!=21118&&_l!=21120&&_l!=21121&&_l!=21123&&_l!=21124&&_l!=21125&&_l!=21126&&_l!=21127&&_l!=21128&&_l!=21129&&_l!=21133&&_l!=21137&&_l!=21138&&_l!=21140&&_l!=21142&&_l!=21143&&_l!=21144&&_l!=21145&&_l!=21146&&_l!=21147&&_l!=21151&&_l!=21152&&_l!=21153&&_l!=21154&&_l!=21155&&_l!=21156&&_l!=21157&&_l!=21158&&_l!=21159&&_l!=21162&&_l!=21163&&_l!=21164&&_l!=21166&&_l!=21168&&_l!=21170&&_l!=21172&&_l!=21173&&_l!=21174&&_l!=21176&&_l!=21177&&_l!=21178&&_l!=21183&&_l!=21184&&_l!=21186&&_l!=21190&&_l!=21191&&_l!=21192&&_l!=21193&&_l!=21194&&_l!=21195&&_l!=21198&&_l!=21204&&_l!=21205&&_l!=21208&&_l!=21210&&_l!=21211&&_l!=21212&&_l!=21213&&_l!=21214&&_l!=21216&&_l!=21217&&_l!=21218&&_l!=21219&&_l!=21220&&_l!=21221&&_l!=21226&&_l!=21227&&_l!=21228&&_l!=21229&&_l!=21232&&_l!=21234&&_l!=21235&&_l!=21236&&_l!=21240&&_l!=21241&&_l!=21242&&_l!=21243&&_l!=21244&&_l!=21245&&_l!=21246&&_l!=21248&&_l!=21249&&_l!=21252&&_l!=21253&&_l!=21254&&_l!=21255&&_l!=21258&&_l!=21259&&_l!=21262&&_l!=21266&&_l!=27141&&_l!=27142&&_l!=27144&&_l!=27145&&_l!=27146&&_l!=27147&&_l!=27180&&_l!=27181&&_l!=27182&&_l!=27206&&_l!=27208&&_l!=27209&&_l!=27210&&_l!=27211&&_l!=27213&&_l!=27214&&_l!=27215&&_l!=27216&&_l!=27217&&_l!=27218&&_l!=27219&&_l!=27220&&_l!=27221&&_l!=27222&&_l!=27224&&_l!=27225&&_l!=27226&&_l!=27227&&_l!=27229&&_l!=27230&&_l!=27232&&_l!=27233&&_l!=27234&&_l!=27237&&_l!=27238&&_l!=27239&&_l!=27240&&_l!=27241&&_l!=27242&&_l!=27244&&_l!=27245&&_l!=27246&&_l!=27247&&_l!=27248&&_l!=27249&&_l!=27254&&_l!=27255&&_l!=27256&&_l!=27257&&_l!=27258&&_l!=27259&&_l!=27260&&_l!=27261&&_l!=27262&&_l!=27264&&_l!=27265&&_l!=27267&&_l!=27268&&_l!=27269&&_l!=27270&&_l!=27271&&_l!=27272&&_l!=27273&&_l!=27277&&_l!=27281&&_l!=27282&&_l!=27284&&_l!=27286&&_l!=27287&&_l!=27288&&_l!=27289&&_l!=27290&&_l!=27291&&_l!=27295&&_l!=27296&&_l!=27297&&_l!=27298&&_l!=27299&&_l!=27300&&_l!=27301&&_l!=27302&&_l!=27303&&_l!=27306&&_l!=27307&&_l!=27308&&_l!=27310&&_l!=27312&&_l!=27314&&_l!=27316&&_l!=27317&&_l!=27318&&_l!=27320&&_l!=27321&&_l!=27322&&_l!=27327&&_l!=27328&&_l!=27330&&_l!=27334&&_l!=27335&&_l!=27336&&_l!=27337&&_l!=27338&&_l!=27339&&_l!=27342&&_l!=27348&&_l!=27349&&_l!=27352&&_l!=27354&&_l!=27355&&_l!=27356&&_l!=27357&&_l!=27358&&_l!=27360&&_l!=27361&&_l!=27362&&_l!=27363&&_l!=27364&&_l!=27365&&_l!=27370&&_l!=27371&&_l!=27372&&_l!=27373&&_l!=27376&&_l!=27378&&_l!=27379&&_l!=27380&&_l!=27384&&_l!=27385&&_l!=27386&&_l!=27387&&_l!=27388&&_l!=27389&&_l!=27390&&_l!=27392&&_l!=27393&&_l!=27396&&_l!=27397&&_l!=27398&&_l!=27399&&_l!=27402&&_l!=27403&&_l!=27406&&_l!=27410&&_l!=90198&&_l!=90214&&_l!=113284&&_l!=144389&&_l!=144390&&_l!=144392&&_l!=144393&&_l!=144394&&_l!=144395&&_l!=144428&&_l!=144429&&_l!=144430&&_l!=144454&&_l!=144456&&_l!=144457&&_l!=144458&&_l!=144459&&_l!=144461&&_l!=144462&&_l!=144463&&_l!=144464&&_l!=144465&&_l!=144466&&_l!=144467&&_l!=144468&&_l!=144469&&_l!=144470&&_l!=144472&&_l!=144473&&_l!=144474&&_l!=144475&&_l!=144477&&_l!=144478&&_l!=144480&&_l!=144481&&_l!=144482&&_l!=144485&&_l!=144486&&_l!=144487&&_l!=144488&&_l!=144489&&_l!=144490&&_l!=144492&&_l!=144493&&_l!=144494&&_l!=144495&&_l!=144496&&_l!=144497&&_l!=144502&&_l!=144503&&_l!=144504&&_l!=144505&&_l!=144506&&_l!=144507&&_l!=144508&&_l!=144509&&_l!=144510&&_l!=144512&&_l!=144513&&_l!=144515&&_l!=144516&&_l!=144517&&_l!=144518&&_l!=144519&&_l!=144520&&_l!=144521&&_l!=144525&&_l!=144529&&_l!=144530&&_l!=144532&&_l!=144534&&_l!=144535&&_l!=144536&&_l!=144537&&_l!=144538&&_l!=144539&&_l!=144543&&_l!=144544&&_l!=144545&&_l!=144546&&_l!=144547&&_l!=144548&&_l!=144549&&_l!=144550&&_l!=144551&&_l!=144554&&_l!=144555&&_l!=144556&&_l!=144558&&_l!=144560&&_l!=144562&&_l!=144564&&_l!=144565&&_l!=144566&&_l!=144568&&_l!=144569&&_l!=144570&&_l!=144575&&_l!=144576&&_l!=144578&&_l!=144582&&_l!=144583&&_l!=144584&&_l!=144585&&_l!=144586&&_l!=144587&&_l!=144590&&_l!=144596&&_l!=144597&&_l!=144600&&_l!=144602&&_l!=144603&&_l!=144604&&_l!=144605&&_l!=144606&&_l!=144608&&_l!=144609&&_l!=144610&&_l!=144611&&_l!=144612&&_l!=144613&&_l!=144618&&_l!=144619&&_l!=144620&&_l!=144621&&_l!=144624&&_l!=144626&&_l!=144627&&_l!=144628&&_l!=144632&&_l!=144633&&_l!=144634&&_l!=144635&&_l!=144636&&_l!=144637&&_l!=144638&&_l!=144640&&_l!=144641&&_l!=144644&&_l!=144645&&_l!=144646&&_l!=144647&&_l!=144650&&_l!=144651&&_l!=144654&&_l!=144658){_l=Kl(6,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Qa(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(6,Pl,_l)}}if(_l!=-1&&_l!=53&&_l!=16134&&_l!=27141&&_l!=27142&&_l!=27144&&_l!=27145&&_l!=27146&&_l!=27147&&_l!=27180&&_l!=27181&&_l!=27182&&_l!=27206&&_l!=27208&&_l!=27209&&_l!=27210&&_l!=27211&&_l!=27213&&_l!=27214&&_l!=27215&&_l!=27216&&_l!=27217&&_l!=27218&&_l!=27219&&_l!=27220&&_l!=27221&&_l!=27222&&_l!=27224&&_l!=27225&&_l!=27226&&_l!=27227&&_l!=27229&&_l!=27230&&_l!=27232&&_l!=27233&&_l!=27234&&_l!=27237&&_l!=27238&&_l!=27239&&_l!=27240&&_l!=27241&&_l!=27242&&_l!=27244&&_l!=27245&&_l!=27246&&_l!=27247&&_l!=27248&&_l!=27249&&_l!=27254&&_l!=27255&&_l!=27256&&_l!=27257&&_l!=27258&&_l!=27259&&_l!=27260&&_l!=27261&&_l!=27262&&_l!=27264&&_l!=27265&&_l!=27267&&_l!=27268&&_l!=27269&&_l!=27270&&_l!=27271&&_l!=27272&&_l!=27273&&_l!=27277&&_l!=27281&&_l!=27282&&_l!=27284&&_l!=27286&&_l!=27287&&_l!=27288&&_l!=27289&&_l!=27290&&_l!=27291&&_l!=27295&&_l!=27296&&_l!=27297&&_l!=27298&&_l!=27299&&_l!=27300&&_l!=27301&&_l!=27302&&_l!=27303&&_l!=27306&&_l!=27307&&_l!=27308&&_l!=27310&&_l!=27312&&_l!=27314&&_l!=27316&&_l!=27317&&_l!=27318&&_l!=27320&&_l!=27321&&_l!=27322&&_l!=27327&&_l!=27328&&_l!=27330&&_l!=27334&&_l!=27335&&_l!=27336&&_l!=27337&&_l!=27338&&_l!=27339&&_l!=27342&&_l!=27348&&_l!=27349&&_l!=27352&&_l!=27354&&_l!=27355&&_l!=27356&&_l!=27357&&_l!=27358&&_l!=27360&&_l!=27361&&_l!=27362&&_l!=27363&&_l!=27364&&_l!=27365&&_l!=27370&&_l!=27371&&_l!=27372&&_l!=27373&&_l!=27376&&_l!=27378&&_l!=27379&&_l!=27380&&_l!=27384&&_l!=27385&&_l!=27386&&_l!=27387&&_l!=27388&&_l!=27389&&_l!=27390&&_l!=27392&&_l!=27393&&_l!=27396&&_l!=27397&&_l!=27398&&_l!=27399&&_l!=27402&&_l!=27403&&_l!=27406&&_l!=27410&&_l!=90198&&_l!=90214&&_l!=113284)break;Nl(),Ka()}Vl.endNonterminal("Statements",Pl)}function Wa(){for(;;){kl(278);switch(Hl){case 34:Ll(269);break;case 35:Ol(252);break;case 46:Ll(284);break;case 47:Ll(265);break;case 54:Ol(4);break;case 55:Ol(1);break;case 59:Ol(3);break;case 66:Ll(257);break;case 68:Ll(272);break;case 77:Ll(200);break;case 82:Ll(281);break;case 121:Ll(280);break;case 132:Ll(203);break;case 137:Ll(208);break;case 174:Ll(205);break;case 218:Ll(206);break;case 219:Ll(207);break;case 260:Ll(210);break;case 276:Ll(277);break;case 278:Ll(273);break;case 5:case 45:Ll(186);break;case 31:case 32:Ll(255);break;case 40:case 42:Ll(267);break;case 86:case 102:Ll(201);break;case 110:case 159:Ll(209);break;case 184:case 216:Ll(268);break;case 103:case 129:case 235:case 262:Ll(197);break;case 8:case 9:case 10:case 11:case 44:Ll(192);break;case 78:case 124:case 165:case 167:case 242:Ll(191);break;case 96:case 119:case 202:case 244:case 250:case 256:Ll(204);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Ll(198);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:Ll(195);break;default:_l=Hl}if(_l!=25&&_l!=53&&_l!=282&&_l!=12805&&_l!=12806&&_l!=12808&&_l!=12809&&_l!=12810&&_l!=12811&&_l!=12844&&_l!=12845&&_l!=12846&&_l!=12870&&_l!=12872&&_l!=12873&&_l!=12874&&_l!=12875&&_l!=12877&&_l!=12878&&_l!=12879&&_l!=12880&&_l!=12881&&_l!=12882&&_l!=12883&&_l!=12884&&_l!=12885&&_l!=12886&&_l!=12888&&_l!=12889&&_l!=12890&&_l!=12891&&_l!=12893&&_l!=12894&&_l!=12896&&_l!=12897&&_l!=12898&&_l!=12901&&_l!=12902&&_l!=12903&&_l!=12904&&_l!=12905&&_l!=12906&&_l!=12908&&_l!=12909&&_l!=12910&&_l!=12911&&_l!=12912&&_l!=12913&&_l!=12918&&_l!=12919&&_l!=12920&&_l!=12921&&_l!=12922&&_l!=12923&&_l!=12924&&_l!=12925&&_l!=12926&&_l!=12928&&_l!=12929&&_l!=12931&&_l!=12932&&_l!=12933&&_l!=12934&&_l!=12935&&_l!=12936&&_l!=12937&&_l!=12941&&_l!=12945&&_l!=12946&&_l!=12948&&_l!=12950&&_l!=12951&&_l!=12952&&_l!=12953&&_l!=12954&&_l!=12955&&_l!=12959&&_l!=12960&&_l!=12961&&_l!=12962&&_l!=12963&&_l!=12964&&_l!=12965&&_l!=12966&&_l!=12967&&_l!=12970&&_l!=12971&&_l!=12972&&_l!=12974&&_l!=12976&&_l!=12978&&_l!=12980&&_l!=12981&&_l!=12982&&_l!=12984&&_l!=12985&&_l!=12986&&_l!=12991&&_l!=12992&&_l!=12994&&_l!=12998&&_l!=12999&&_l!=13e3&&_l!=13001&&_l!=13002&&_l!=13003&&_l!=13006&&_l!=13012&&_l!=13013&&_l!=13016&&_l!=13018&&_l!=13019&&_l!=13020&&_l!=13021&&_l!=13022&&_l!=13024&&_l!=13025&&_l!=13026&&_l!=13027&&_l!=13028&&_l!=13029&&_l!=13034&&_l!=13035&&_l!=13036&&_l!=13037&&_l!=13040&&_l!=13042&&_l!=13043&&_l!=13044&&_l!=13048&&_l!=13049&&_l!=13050&&_l!=13051&&_l!=13052&&_l!=13053&&_l!=13054&&_l!=13056&&_l!=13057&&_l!=13060&&_l!=13061&&_l!=13062&&_l!=13063&&_l!=13066&&_l!=13067&&_l!=13070&&_l!=13074&&_l!=16134&&_l!=20997&&_l!=20998&&_l!=21e3&&_l!=21001&&_l!=21002&&_l!=21003&&_l!=21036&&_l!=21037&&_l!=21038&&_l!=21062&&_l!=21064&&_l!=21065&&_l!=21066&&_l!=21067&&_l!=21069&&_l!=21070&&_l!=21071&&_l!=21072&&_l!=21073&&_l!=21074&&_l!=21075&&_l!=21076&&_l!=21077&&_l!=21078&&_l!=21080&&_l!=21081&&_l!=21082&&_l!=21083&&_l!=21085&&_l!=21086&&_l!=21088&&_l!=21089&&_l!=21090&&_l!=21093&&_l!=21094&&_l!=21095&&_l!=21096&&_l!=21097&&_l!=21098&&_l!=21100&&_l!=21101&&_l!=21102&&_l!=21103&&_l!=21104&&_l!=21105&&_l!=21110&&_l!=21111&&_l!=21112&&_l!=21113&&_l!=21114&&_l!=21115&&_l!=21116&&_l!=21117&&_l!=21118&&_l!=21120&&_l!=21121&&_l!=21123&&_l!=21124&&_l!=21125&&_l!=21126&&_l!=21127&&_l!=21128&&_l!=21129&&_l!=21133&&_l!=21137&&_l!=21138&&_l!=21140&&_l!=21142&&_l!=21143&&_l!=21144&&_l!=21145&&_l!=21146&&_l!=21147&&_l!=21151&&_l!=21152&&_l!=21153&&_l!=21154&&_l!=21155&&_l!=21156&&_l!=21157&&_l!=21158&&_l!=21159&&_l!=21162&&_l!=21163&&_l!=21164&&_l!=21166&&_l!=21168&&_l!=21170&&_l!=21172&&_l!=21173&&_l!=21174&&_l!=21176&&_l!=21177&&_l!=21178&&_l!=21183&&_l!=21184&&_l!=21186&&_l!=21190&&_l!=21191&&_l!=21192&&_l!=21193&&_l!=21194&&_l!=21195&&_l!=21198&&_l!=21204&&_l!=21205&&_l!=21208&&_l!=21210&&_l!=21211&&_l!=21212&&_l!=21213&&_l!=21214&&_l!=21216&&_l!=21217&&_l!=21218&&_l!=21219&&_l!=21220&&_l!=21221&&_l!=21226&&_l!=21227&&_l!=21228&&_l!=21229&&_l!=21232&&_l!=21234&&_l!=21235&&_l!=21236&&_l!=21240&&_l!=21241&&_l!=21242&&_l!=21243&&_l!=21244&&_l!=21245&&_l!=21246&&_l!=21248&&_l!=21249&&_l!=21252&&_l!=21253&&_l!=21254&&_l!=21255&&_l!=21258&&_l!=21259&&_l!=21262&&_l!=21266&&_l!=27141&&_l!=27142&&_l!=27144&&_l!=27145&&_l!=27146&&_l!=27147&&_l!=27180&&_l!=27181&&_l!=27182&&_l!=27206&&_l!=27208&&_l!=27209&&_l!=27210&&_l!=27211&&_l!=27213&&_l!=27214&&_l!=27215&&_l!=27216&&_l!=27217&&_l!=27218&&_l!=27219&&_l!=27220&&_l!=27221&&_l!=27222&&_l!=27224&&_l!=27225&&_l!=27226&&_l!=27227&&_l!=27229&&_l!=27230&&_l!=27232&&_l!=27233&&_l!=27234&&_l!=27237&&_l!=27238&&_l!=27239&&_l!=27240&&_l!=27241&&_l!=27242&&_l!=27244&&_l!=27245&&_l!=27246&&_l!=27247&&_l!=27248&&_l!=27249&&_l!=27254&&_l!=27255&&_l!=27256&&_l!=27257&&_l!=27258&&_l!=27259&&_l!=27260&&_l!=27261&&_l!=27262&&_l!=27264&&_l!=27265&&_l!=27267&&_l!=27268&&_l!=27269&&_l!=27270&&_l!=27271&&_l!=27272&&_l!=27273&&_l!=27277&&_l!=27281&&_l!=27282&&_l!=27284&&_l!=27286&&_l!=27287&&_l!=27288&&_l!=27289&&_l!=27290&&_l!=27291&&_l!=27295&&_l!=27296&&_l!=27297&&_l!=27298&&_l!=27299&&_l!=27300&&_l!=27301&&_l!=27302&&_l!=27303&&_l!=27306&&_l!=27307&&_l!=27308&&_l!=27310&&_l!=27312&&_l!=27314&&_l!=27316&&_l!=27317&&_l!=27318&&_l!=27320&&_l!=27321&&_l!=27322&&_l!=27327&&_l!=27328&&_l!=27330&&_l!=27334&&_l!=27335&&_l!=27336&&_l!=27337&&_l!=27338&&_l!=27339&&_l!=27342&&_l!=27348&&_l!=27349&&_l!=27352&&_l!=27354&&_l!=27355&&_l!=27356&&_l!=27357&&_l!=27358&&_l!=27360&&_l!=27361&&_l!=27362&&_l!=27363&&_l!=27364&&_l!=27365&&_l!=27370&&_l!=27371&&_l!=27372&&_l!=27373&&_l!=27376&&_l!=27378&&_l!=27379&&_l!=27380&&_l!=27384&&_l!=27385&&_l!=27386&&_l!=27387&&_l!=27388&&_l!=27389&&_l!=27390&&_l!=27392&&_l!=27393&&_l!=27396&&_l!=27397&&_l!=27398&&_l!=27399&&_l!=27402&&_l!=27403&&_l!=27406&&_l!=27410&&_l!=90198&&_l!=90214&&_l!=113284&&_l!=144389&&_l!=144390&&_l!=144392&&_l!=144393&&_l!=144394&&_l!=144395&&_l!=144428&&_l!=144429&&_l!=144430&&_l!=144454&&_l!=144456&&_l!=144457&&_l!=144458&&_l!=144459&&_l!=144461&&_l!=144462&&_l!=144463&&_l!=144464&&_l!=144465&&_l!=144466&&_l!=144467&&_l!=144468&&_l!=144469&&_l!=144470&&_l!=144472&&_l!=144473&&_l!=144474&&_l!=144475&&_l!=144477&&_l!=144478&&_l!=144480&&_l!=144481&&_l!=144482&&_l!=144485&&_l!=144486&&_l!=144487&&_l!=144488&&_l!=144489&&_l!=144490&&_l!=144492&&_l!=144493&&_l!=144494&&_l!=144495&&_l!=144496&&_l!=144497&&_l!=144502&&_l!=144503&&_l!=144504&&_l!=144505&&_l!=144506&&_l!=144507&&_l!=144508&&_l!=144509&&_l!=144510&&_l!=144512&&_l!=144513&&_l!=144515&&_l!=144516&&_l!=144517&&_l!=144518&&_l!=144519&&_l!=144520&&_l!=144521&&_l!=144525&&_l!=144529&&_l!=144530&&_l!=144532&&_l!=144534&&_l!=144535&&_l!=144536&&_l!=144537&&_l!=144538&&_l!=144539&&_l!=144543&&_l!=144544&&_l!=144545&&_l!=144546&&_l!=144547&&_l!=144548&&_l!=144549&&_l!=144550&&_l!=144551&&_l!=144554&&_l!=144555&&_l!=144556&&_l!=144558&&_l!=144560&&_l!=144562&&_l!=144564&&_l!=144565&&_l!=144566&&_l!=144568&&_l!=144569&&_l!=144570&&_l!=144575&&_l!=144576&&_l!=144578&&_l!=144582&&_l!=144583&&_l!=144584&&_l!=144585&&_l!=144586&&_l!=144587&&_l!=144590&&_l!=144596&&_l!=144597&&_l!=144600&&_l!=144602&&_l!=144603&&_l!=144604&&_l!=144605&&_l!=144606&&_l!=144608&&_l!=144609&&_l!=144610&&_l!=144611&&_l!=144612&&_l!=144613&&_l!=144618&&_l!=144619&&_l!=144620&&_l!=144621&&_l!=144624&&_l!=144626&&_l!=144627&&_l!=144628&&_l!=144632&&_l!=144633&&_l!=144634&&_l!=144635&&_l!=144636&&_l!=144637&&_l!=144638&&_l!=144640&&_l!=144641&&_l!=144644&&_l!=144645&&_l!=144646&&_l!=144647&&_l!=144650&&_l!=144651&&_l!=144654&&_l!=144658){_l=Kl(6,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Qa(),Jl(6,t,-1);continue}catch(a){Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(6,t,-2);break}}}if(_l!=-1&&_l!=53&&_l!=16134&&_l!=27141&&_l!=27142&&_l!=27144&&_l!=27145&&_l!=27146&&_l!=27147&&_l!=27180&&_l!=27181&&_l!=27182&&_l!=27206&&_l!=27208&&_l!=27209&&_l!=27210&&_l!=27211&&_l!=27213&&_l!=27214&&_l!=27215&&_l!=27216&&_l!=27217&&_l!=27218&&_l!=27219&&_l!=27220&&_l!=27221&&_l!=27222&&_l!=27224&&_l!=27225&&_l!=27226&&_l!=27227&&_l!=27229&&_l!=27230&&_l!=27232&&_l!=27233&&_l!=27234&&_l!=27237&&_l!=27238&&_l!=27239&&_l!=27240&&_l!=27241&&_l!=27242&&_l!=27244&&_l!=27245&&_l!=27246&&_l!=27247&&_l!=27248&&_l!=27249&&_l!=27254&&_l!=27255&&_l!=27256&&_l!=27257&&_l!=27258&&_l!=27259&&_l!=27260&&_l!=27261&&_l!=27262&&_l!=27264&&_l!=27265&&_l!=27267&&_l!=27268&&_l!=27269&&_l!=27270&&_l!=27271&&_l!=27272&&_l!=27273&&_l!=27277&&_l!=27281&&_l!=27282&&_l!=27284&&_l!=27286&&_l!=27287&&_l!=27288&&_l!=27289&&_l!=27290&&_l!=27291&&_l!=27295&&_l!=27296&&_l!=27297&&_l!=27298&&_l!=27299&&_l!=27300&&_l!=27301&&_l!=27302&&_l!=27303&&_l!=27306&&_l!=27307&&_l!=27308&&_l!=27310&&_l!=27312&&_l!=27314&&_l!=27316&&_l!=27317&&_l!=27318&&_l!=27320&&_l!=27321&&_l!=27322&&_l!=27327&&_l!=27328&&_l!=27330&&_l!=27334&&_l!=27335&&_l!=27336&&_l!=27337&&_l!=27338&&_l!=27339&&_l!=27342&&_l!=27348&&_l!=27349&&_l!=27352&&_l!=27354&&_l!=27355&&_l!=27356&&_l!=27357&&_l!=27358&&_l!=27360&&_l!=27361&&_l!=27362&&_l!=27363&&_l!=27364&&_l!=27365&&_l!=27370&&_l!=27371&&_l!=27372&&_l!=27373&&_l!=27376&&_l!=27378&&_l!=27379&&_l!=27380&&_l!=27384&&_l!=27385&&_l!=27386&&_l!=27387&&_l!=27388&&_l!=27389&&_l!=27390&&_l!=27392&&_l!=27393&&_l!=27396&&_l!=27397&&_l!=27398&&_l!=27399&&_l!=27402&&_l!=27403&&_l!=27406&&_l!=27410&&_l!=90198&&_l!=90214&&_l!=113284)break;Qa()}}function Xa(){Vl.startNonterminal("StatementsAndExpr",Pl),za(),Nl(),G(),Vl.endNonterminal("StatementsAndExpr",Pl)}function Va(){Wa(),Y()}function $a(){Vl.startNonterminal("StatementsAndOptionalExpr",Pl),za(),Hl!=25&&Hl!=282&&(Nl(),G()),Vl.endNonterminal("StatementsAndOptionalExpr",Pl)}function Ja(){Wa(),Hl!=25&&Hl!=282&&Y()}function Ka(){Vl.startNonterminal("Statement",Pl);switch(Hl){case 132:Ll(189);break;case 137:Ll(196);break;case 174:Ll(193);break;case 250:Ll(190);break;case 262:Ll(187);break;case 276:Ll(277);break;case 31:case 32:Ll(255);break;case 86:case 102:Ll(188);break;case 152:case 243:case 253:case 267:Ll(185);break;default:_l=Hl}if(_l==2836||_l==3103||_l==3104||_l==3348||_l==4372||_l==4884||_l==5396||_l==5908||_l==16148||_l==16660||_l==17675||_l==17684||_l==18196||_l==20756||_l==21780||_l==22804||_l==23316||_l==23828||_l==24340||_l==27412||_l==27924||_l==28436||_l==30484||_l==34068||_l==35092||_l==35871||_l==35872||_l==36116||_l==36895||_l==36896||_l==37140||_l==37407||_l==37408||_l==37652||_l==37919||_l==37920||_l==38164||_l==38431||_l==38432||_l==38676||_l==39455||_l==39456||_l==39700||_l==39967||_l==39968||_l==40212||_l==40479||_l==40480||_l==40724||_l==40991||_l==40992||_l==41236||_l==41503||_l==41504||_l==41748||_l==42015||_l==42016||_l==42260||_l==42527||_l==42528||_l==42772||_l==43039||_l==43040||_l==43284||_l==43551||_l==43552||_l==43796||_l==44063||_l==44064||_l==44308||_l==45087||_l==45088||_l==45332||_l==45599||_l==45600||_l==45844||_l==46111||_l==46112||_l==46356||_l==46623||_l==46624||_l==46868||_l==47647||_l==47648||_l==47892||_l==48159||_l==48160||_l==48404||_l==49183||_l==49184||_l==49428||_l==49695||_l==49696||_l==49940||_l==50207||_l==50208||_l==50452||_l==51743||_l==51744||_l==51988||_l==52255||_l==52256||_l==52500||_l==52767||_l==52768||_l==53012||_l==53279||_l==53280||_l==53524||_l==53791||_l==53792||_l==54036||_l==54303||_l==54304||_l==54548||_l==55327||_l==55328||_l==55572||_l==55839||_l==55840||_l==56084||_l==56351||_l==56352||_l==56596||_l==56863||_l==56864||_l==57108||_l==57375||_l==57376||_l==57620||_l==57887||_l==57888||_l==58132||_l==60447||_l==60448||_l==60692||_l==60959||_l==60960||_l==61204||_l==61471||_l==61472||_l==61716||_l==61983||_l==61984||_l==62228||_l==62495||_l==62496||_l==62740||_l==63007||_l==63008||_l==63252||_l==63519||_l==63520||_l==63764||_l==64031||_l==64032||_l==64276||_l==64543||_l==64544||_l==64788||_l==65567||_l==65568||_l==65812||_l==66079||_l==66080||_l==66324||_l==67103||_l==67104||_l==67348||_l==67615||_l==67616||_l==67860||_l==68127||_l==68128||_l==68372||_l==68639||_l==68640||_l==68884||_l==69151||_l==69152||_l==69396||_l==69663||_l==69664||_l==69908||_l==70175||_l==70176||_l==70420||_l==72223||_l==72224||_l==72468||_l==74271||_l==74272||_l==74516||_l==74783||_l==74784||_l==75028||_l==75807||_l==75808||_l==76052||_l==76831||_l==76832||_l==77076||_l==77343||_l==77344||_l==77588||_l==77855||_l==77856||_l==78100||_l==78367||_l==78368||_l==78612||_l==78879||_l==78880||_l==79124||_l==79391||_l==79392||_l==79636||_l==81439||_l==81440||_l==81684||_l==81951||_l==81952||_l==82196||_l==82463||_l==82464||_l==82708||_l==82975||_l==82976||_l==83220||_l==83487||_l==83488||_l==83732||_l==83999||_l==84e3||_l==84244||_l==84511||_l==84512||_l==84756||_l==85023||_l==85024||_l==85268||_l==85535||_l==85536||_l==85780||_l==87071||_l==87072||_l==87316||_l==87583||_l==87584||_l==87828||_l==88095||_l==88096||_l==88340||_l==89119||_l==89120||_l==89364||_l==90143||_l==90144||_l==90388||_l==91167||_l==91168||_l==91412||_l==92191||_l==92192||_l==92436||_l==92703||_l==92704||_l==92948||_l==93215||_l==93216||_l==93460||_l==94239||_l==94240||_l==94484||_l==94751||_l==94752||_l==94996||_l==95263||_l==95264||_l==95508||_l==97823||_l==97824||_l==98068||_l==98335||_l==98336||_l==98580||_l==99359||_l==99360||_l==99604||_l==101407||_l==101408||_l==101652||_l==101919||_l==101920||_l==102164||_l==102431||_l==102432||_l==102676||_l==102943||_l==102944||_l==103188||_l==103455||_l==103456||_l==103700||_l==103967||_l==103968||_l==104212||_l==105503||_l==105504||_l==105748||_l==108575||_l==108576||_l==108820||_l==109087||_l==109088||_l==109332||_l==110623||_l==110624||_l==110868||_l==111647||_l==111648||_l==111892||_l==112159||_l==112160||_l==112404||_l==112671||_l==112672||_l==112916||_l==113183||_l==113184||_l==113428||_l==113695||_l==113696||_l==113940||_l==114719||_l==114720||_l==114964||_l==115231||_l==115232||_l==115476||_l==115743||_l==115744||_l==115988||_l==116255||_l==116256||_l==116500||_l==116767||_l==116768||_l==117012||_l==117279||_l==117280||_l==117524||_l==119839||_l==119840||_l==120084||_l==120351||_l==120352||_l==120596||_l==120863||_l==120864||_l==121108||_l==121375||_l==121376||_l==121620||_l==122911||_l==122912||_l==123156||_l==123935||_l==123936||_l==124180||_l==124447||_l==124448||_l==124692||_l==124959||_l==124960||_l==125204||_l==127007||_l==127008||_l==127252||_l==127519||_l==127520||_l==127764||_l==128031||_l==128032||_l==128276||_l==128543||_l==128544||_l==128788||_l==129055||_l==129056||_l==129300||_l==129567||_l==129568||_l==129812||_l==130079||_l==130080||_l==130324||_l==131103||_l==131104||_l==131348||_l==131615||_l==131616||_l==131860||_l==133151||_l==133152||_l==133396||_l==133663||_l==133664||_l==133908||_l==134175||_l==134176||_l==134420||_l==134687||_l==134688||_l==134932||_l==136223||_l==136224||_l==136468||_l==136735||_l==136736||_l==136980||_l==138271||_l==138272||_l==138516||_l==140319||_l==140320||_l==140564||_l==141588||_l==142612||_l==144660){_l=Kl(7,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Ya(),_l=-1}catch(a){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),ef(),_l=-2}catch(f){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),nf(),_l=-3}catch(l){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),kf(),_l=-12}catch(c){_l=-13}}}}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(7,Pl,_l)}}switch(_l){case-2:Za();break;case-3:tf();break;case 90198:rf();break;case 90214:of();break;case 113284:af();break;case 16009:case 16046:case 116910:case 119945:case 128649:lf();break;case 17560:df();break;case 17651:mf();break;case 141562:wf();break;case 17661:Sf();break;case-12:case 16134:Cf();break;case-13:Lf();break;case 53:Of();break;default:Ga()}Vl.endNonterminal("Statement",Pl)}function Qa(){switch(Hl){case 132:Ll(189);break;case 137:Ll(196);break;case 174:Ll(193);break;case 250:Ll(190);break;case 262:Ll(187);break;case 276:Ll(277);break;case 31:case 32:Ll(255);break;case 86:case 102:Ll(188);break;case 152:case 243:case 253:case 267:Ll(185);break;default:_l=Hl}if(_l==2836||_l==3103||_l==3104||_l==3348||_l==4372||_l==4884||_l==5396||_l==5908||_l==16148||_l==16660||_l==17675||_l==17684||_l==18196||_l==20756||_l==21780||_l==22804||_l==23316||_l==23828||_l==24340||_l==27412||_l==27924||_l==28436||_l==30484||_l==34068||_l==35092||_l==35871||_l==35872||_l==36116||_l==36895||_l==36896||_l==37140||_l==37407||_l==37408||_l==37652||_l==37919||_l==37920||_l==38164||_l==38431||_l==38432||_l==38676||_l==39455||_l==39456||_l==39700||_l==39967||_l==39968||_l==40212||_l==40479||_l==40480||_l==40724||_l==40991||_l==40992||_l==41236||_l==41503||_l==41504||_l==41748||_l==42015||_l==42016||_l==42260||_l==42527||_l==42528||_l==42772||_l==43039||_l==43040||_l==43284||_l==43551||_l==43552||_l==43796||_l==44063||_l==44064||_l==44308||_l==45087||_l==45088||_l==45332||_l==45599||_l==45600||_l==45844||_l==46111||_l==46112||_l==46356||_l==46623||_l==46624||_l==46868||_l==47647||_l==47648||_l==47892||_l==48159||_l==48160||_l==48404||_l==49183||_l==49184||_l==49428||_l==49695||_l==49696||_l==49940||_l==50207||_l==50208||_l==50452||_l==51743||_l==51744||_l==51988||_l==52255||_l==52256||_l==52500||_l==52767||_l==52768||_l==53012||_l==53279||_l==53280||_l==53524||_l==53791||_l==53792||_l==54036||_l==54303||_l==54304||_l==54548||_l==55327||_l==55328||_l==55572||_l==55839||_l==55840||_l==56084||_l==56351||_l==56352||_l==56596||_l==56863||_l==56864||_l==57108||_l==57375||_l==57376||_l==57620||_l==57887||_l==57888||_l==58132||_l==60447||_l==60448||_l==60692||_l==60959||_l==60960||_l==61204||_l==61471||_l==61472||_l==61716||_l==61983||_l==61984||_l==62228||_l==62495||_l==62496||_l==62740||_l==63007||_l==63008||_l==63252||_l==63519||_l==63520||_l==63764||_l==64031||_l==64032||_l==64276||_l==64543||_l==64544||_l==64788||_l==65567||_l==65568||_l==65812||_l==66079||_l==66080||_l==66324||_l==67103||_l==67104||_l==67348||_l==67615||_l==67616||_l==67860||_l==68127||_l==68128||_l==68372||_l==68639||_l==68640||_l==68884||_l==69151||_l==69152||_l==69396||_l==69663||_l==69664||_l==69908||_l==70175||_l==70176||_l==70420||_l==72223||_l==72224||_l==72468||_l==74271||_l==74272||_l==74516||_l==74783||_l==74784||_l==75028||_l==75807||_l==75808||_l==76052||_l==76831||_l==76832||_l==77076||_l==77343||_l==77344||_l==77588||_l==77855||_l==77856||_l==78100||_l==78367||_l==78368||_l==78612||_l==78879||_l==78880||_l==79124||_l==79391||_l==79392||_l==79636||_l==81439||_l==81440||_l==81684||_l==81951||_l==81952||_l==82196||_l==82463||_l==82464||_l==82708||_l==82975||_l==82976||_l==83220||_l==83487||_l==83488||_l==83732||_l==83999||_l==84e3||_l==84244||_l==84511||_l==84512||_l==84756||_l==85023||_l==85024||_l==85268||_l==85535||_l==85536||_l==85780||_l==87071||_l==87072||_l==87316||_l==87583||_l==87584||_l==87828||_l==88095||_l==88096||_l==88340||_l==89119||_l==89120||_l==89364||_l==90143||_l==90144||_l==90388||_l==91167||_l==91168||_l==91412||_l==92191||_l==92192||_l==92436||_l==92703||_l==92704||_l==92948||_l==93215||_l==93216||_l==93460||_l==94239||_l==94240||_l==94484||_l==94751||_l==94752||_l==94996||_l==95263||_l==95264||_l==95508||_l==97823||_l==97824||_l==98068||_l==98335||_l==98336||_l==98580||_l==99359||_l==99360||_l==99604||_l==101407||_l==101408||_l==101652||_l==101919||_l==101920||_l==102164||_l==102431||_l==102432||_l==102676||_l==102943||_l==102944||_l==103188||_l==103455||_l==103456||_l==103700||_l==103967||_l==103968||_l==104212||_l==105503||_l==105504||_l==105748||_l==108575||_l==108576||_l==108820||_l==109087||_l==109088||_l==109332||_l==110623||_l==110624||_l==110868||_l==111647||_l==111648||_l==111892||_l==112159||_l==112160||_l==112404||_l==112671||_l==112672||_l==112916||_l==113183||_l==113184||_l==113428||_l==113695||_l==113696||_l==113940||_l==114719||_l==114720||_l==114964||_l==115231||_l==115232||_l==115476||_l==115743||_l==115744||_l==115988||_l==116255||_l==116256||_l==116500||_l==116767||_l==116768||_l==117012||_l==117279||_l==117280||_l==117524||_l==119839||_l==119840||_l==120084||_l==120351||_l==120352||_l==120596||_l==120863||_l==120864||_l==121108||_l==121375||_l==121376||_l==121620||_l==122911||_l==122912||_l==123156||_l==123935||_l==123936||_l==124180||_l==124447||_l==124448||_l==124692||_l==124959||_l==124960||_l==125204||_l==127007||_l==127008||_l==127252||_l==127519||_l==127520||_l==127764||_l==128031||_l==128032||_l==128276||_l==128543||_l==128544||_l==128788||_l==129055||_l==129056||_l==129300||_l==129567||_l==129568||_l==129812||_l==130079||_l==130080||_l==130324||_l==131103||_l==131104||_l==131348||_l==131615||_l==131616||_l==131860||_l==133151||_l==133152||_l==133396||_l==133663||_l==133664||_l==133908||_l==134175||_l==134176||_l==134420||_l==134687||_l==134688||_l==134932||_l==136223||_l==136224||_l==136468||_l==136735||_l==136736||_l==136980||_l==138271||_l==138272||_l==138516||_l==140319||_l==140320||_l==140564||_l==141588||_l==142612||_l==144660){_l=Kl(7,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Ya(),Jl(7,t,-1),_l=-15}catch(a){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),ef(),Jl(7,t,-2),_l=-15}catch(f){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),nf(),Jl(7,t,-3),_l=-15}catch(l){try{Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),kf(),Jl(7,t,-12),_l=-15}catch(c){_l=-13,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(7,t,-13)}}}}}}switch(_l){case-2:ef();break;case-3:nf();break;case 90198:sf();break;case 90214:uf();break;case 113284:ff();break;case 16009:case 16046:case 116910:case 119945:case 128649:cf();break;case 17560:vf();break;case 17651:gf();break;case 141562:Ef();break;case 17661:xf();break;case-12:case 16134:kf();break;case-13:Af();break;case 53:Mf();break;case-15:break;default:Ya()}}function Ga(){Vl.startNonterminal("ApplyStatement",Pl),Pf(),Sl(53),Vl.endNonterminal("ApplyStatement",Pl)}function Ya(){Hf(),xl(53)}function Za(){Vl.startNonterminal("AssignStatement",Pl),Sl(31),kl(255),Nl(),hi(),kl(27),Sl(52),kl(267),Nl(),_f(),Sl(53),Vl.endNonterminal("AssignStatement",Pl)}function ef(){xl(31),kl(255),pi(),kl(27),xl(52),kl(267),Df(),xl(53)}function tf(){Vl.startNonterminal("BlockStatement",Pl),Sl(276),kl(277),Nl(),za(),Sl(282),Vl.endNonterminal("BlockStatement",Pl)}function nf(){xl(276),kl(277),Wa(),xl(282)}function rf(){Vl.startNonterminal("BreakStatement",Pl),Sl(86),kl(59),Sl(176),kl(28),Sl(53),Vl.endNonterminal("BreakStatement",Pl)}function sf(){xl(86),kl(59),xl(176),kl(28),xl(53)}function of(){Vl.startNonterminal("ContinueStatement",Pl),Sl(102),kl(59),Sl(176),kl(28),Sl(53),Vl.endNonterminal("ContinueStatement",Pl)}function uf(){xl(102),kl(59),xl(176),kl(28),xl(53)}function af(){Vl.startNonterminal("ExitStatement",Pl),Sl(132),kl(71),Sl(221),kl(267),Nl(),_f(),Sl(53),Vl.endNonterminal("ExitStatement",Pl)}function ff(){xl(132),kl(71),xl(221),kl(267),Df(),xl(53)}function lf(){Vl.startNonterminal("FLWORStatement",Pl),tt();for(;;){kl(173);if(Hl==220)break;Nl(),rt()}Nl(),hf(),Vl.endNonterminal("FLWORStatement",Pl)}function cf(){nt();for(;;){kl(173);if(Hl==220)break;it()}pf()}function hf(){Vl.startNonterminal("ReturnStatement",Pl),Sl(220),kl(270),Nl(),Ka(),Vl.endNonterminal("ReturnStatement",Pl)}function pf(){xl(220),kl(270),Qa()}function df(){Vl.startNonterminal("IfStatement",Pl),Sl(152),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37),kl(77),Sl(245),kl(270),Nl(),Ka(),kl(48),Sl(122),kl(270),Nl(),Ka(),Vl.endNonterminal("IfStatement",Pl)}function vf(){xl(152),kl(22),xl(34),kl(267),Y(),xl(37),kl(77),xl(245),kl(270),Qa(),kl(48),xl(122),kl(270),Qa()}function mf(){Vl.startNonterminal("SwitchStatement",Pl),Sl(243),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37);for(;;){kl(35),Nl(),yf(),kl(113);if(Hl!=88)break}Sl(109),kl(70),Sl(220),kl(270),Nl(),Ka(),Vl.endNonterminal("SwitchStatement",Pl)}function gf(){xl(243),kl(22),xl(34),kl(267),Y(),xl(37);for(;;){kl(35),bf(),kl(113);if(Hl!=88)break}xl(109),kl(70),xl(220),kl(270),Qa()}function yf(){Vl.startNonterminal("SwitchCaseStatement",Pl);for(;;){Sl(88),kl(267),Nl(),dn();if(Hl!=88)break}Sl(220),kl(270),Nl(),Ka(),Vl.endNonterminal("SwitchCaseStatement",Pl)}function bf(){for(;;){xl(88),kl(267),vn();if(Hl!=88)break}xl(220),kl(270),Qa()}function wf(){Vl.startNonterminal("TryCatchStatement",Pl),Sl(250),kl(87),Nl(),tf();for(;;){kl(36),Sl(91),kl(257),Nl(),_n(),Nl(),tf(),kl(278);switch(Hl){case 91:Ll(279);break;default:_l=Hl}if(_l==38491||_l==45659||_l==46171||_l==60507||_l==65627||_l==67163||_l==74843||_l==76891||_l==77403||_l==82011||_l==83035||_l==84059||_l==88155||_l==91227||_l==92251||_l==95323||_l==102491||_l==127067||_l==127579||_l==130139){_l=Kl(8,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{kl(36),xl(91),kl(257),Dn(),nf(),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(8,Pl,_l)}}if(_l!=-1&&_l!=2651&&_l!=3163&&_l!=35931&&_l!=36955&&_l!=37467&&_l!=37979&&_l!=39515&&_l!=40027&&_l!=40539&&_l!=41051&&_l!=41563&&_l!=42075&&_l!=42587&&_l!=43099&&_l!=43611&&_l!=44123&&_l!=45147&&_l!=46683&&_l!=47707&&_l!=48219&&_l!=49243&&_l!=49755&&_l!=50267&&_l!=51803&&_l!=52315&&_l!=52827&&_l!=53339&&_l!=53851&&_l!=54363&&_l!=55387&&_l!=55899&&_l!=56411&&_l!=56923&&_l!=57435&&_l!=57947&&_l!=61019&&_l!=61531&&_l!=62043&&_l!=62555&&_l!=63067&&_l!=63579&&_l!=64091&&_l!=64603&&_l!=66139&&_l!=67675&&_l!=68187&&_l!=68699&&_l!=69211&&_l!=69723&&_l!=70235&&_l!=72283&&_l!=74331&&_l!=75867&&_l!=77915&&_l!=78427&&_l!=78939&&_l!=79451&&_l!=81499&&_l!=82523&&_l!=83547&&_l!=84571&&_l!=85083&&_l!=85595&&_l!=87131&&_l!=87643&&_l!=89179&&_l!=90203&&_l!=92763&&_l!=93275&&_l!=94299&&_l!=94811&&_l!=97883&&_l!=98395&&_l!=99419&&_l!=101467&&_l!=101979&&_l!=103003&&_l!=103515&&_l!=104027&&_l!=105563&&_l!=108635&&_l!=109147&&_l!=110683&&_l!=111707&&_l!=112219&&_l!=112731&&_l!=113243&&_l!=113755&&_l!=114779&&_l!=115291&&_l!=115803&&_l!=116315&&_l!=116827&&_l!=117339&&_l!=119899&&_l!=120411&&_l!=120923&&_l!=121435&&_l!=122971&&_l!=123995&&_l!=124507&&_l!=125019&&_l!=128091&&_l!=128603&&_l!=129115&&_l!=129627&&_l!=131163&&_l!=131675&&_l!=133211&&_l!=133723&&_l!=134235&&_l!=134747&&_l!=136283&&_l!=136795&&_l!=138331&&_l!=140379)break}Vl.endNonterminal("TryCatchStatement",Pl)}function Ef(){xl(250),kl(87),nf(),kl(36),xl(91),kl(257),Dn(),nf();for(;;){kl(278);switch(Hl){case 91:Ll(279);break;default:_l=Hl}if(_l==38491||_l==45659||_l==46171||_l==60507||_l==65627||_l==67163||_l==74843||_l==76891||_l==77403||_l==82011||_l==83035||_l==84059||_l==88155||_l==91227||_l==92251||_l==95323||_l==102491||_l==127067||_l==127579||_l==130139){_l=Kl(8,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{kl(36),xl(91),kl(257),Dn(),nf(),Jl(8,t,-1);continue}catch(a){Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(8,t,-2);break}}}if(_l!=-1&&_l!=2651&&_l!=3163&&_l!=35931&&_l!=36955&&_l!=37467&&_l!=37979&&_l!=39515&&_l!=40027&&_l!=40539&&_l!=41051&&_l!=41563&&_l!=42075&&_l!=42587&&_l!=43099&&_l!=43611&&_l!=44123&&_l!=45147&&_l!=46683&&_l!=47707&&_l!=48219&&_l!=49243&&_l!=49755&&_l!=50267&&_l!=51803&&_l!=52315&&_l!=52827&&_l!=53339&&_l!=53851&&_l!=54363&&_l!=55387&&_l!=55899&&_l!=56411&&_l!=56923&&_l!=57435&&_l!=57947&&_l!=61019&&_l!=61531&&_l!=62043&&_l!=62555&&_l!=63067&&_l!=63579&&_l!=64091&&_l!=64603&&_l!=66139&&_l!=67675&&_l!=68187&&_l!=68699&&_l!=69211&&_l!=69723&&_l!=70235&&_l!=72283&&_l!=74331&&_l!=75867&&_l!=77915&&_l!=78427&&_l!=78939&&_l!=79451&&_l!=81499&&_l!=82523&&_l!=83547&&_l!=84571&&_l!=85083&&_l!=85595&&_l!=87131&&_l!=87643&&_l!=89179&&_l!=90203&&_l!=92763&&_l!=93275&&_l!=94299&&_l!=94811&&_l!=97883&&_l!=98395&&_l!=99419&&_l!=101467&&_l!=101979&&_l!=103003&&_l!=103515&&_l!=104027&&_l!=105563&&_l!=108635&&_l!=109147&&_l!=110683&&_l!=111707&&_l!=112219&&_l!=112731&&_l!=113243&&_l!=113755&&_l!=114779&&_l!=115291&&_l!=115803&&_l!=116315&&_l!=116827&&_l!=117339&&_l!=119899&&_l!=120411&&_l!=120923&&_l!=121435&&_l!=122971&&_l!=123995&&_l!=124507&&_l!=125019&&_l!=128091&&_l!=128603&&_l!=129115&&_l!=129627&&_l!=131163&&_l!=131675&&_l!=133211&&_l!=133723&&_l!=134235&&_l!=134747&&_l!=136283&&_l!=136795&&_l!=138331&&_l!=140379)break;kl(36),xl(91),kl(257),Dn(),nf()}}function Sf(){Vl.startNonterminal("TypeswitchStatement",Pl),Sl(253),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37);for(;;){kl(35),Nl(),Tf(),kl(113);if(Hl!=88)break}Sl(109),kl(95),Hl==31&&(Sl(31),kl(255),Nl(),hi()),kl(70),Sl(220),kl(270),Nl(),Ka(),Vl.endNonterminal("TypeswitchStatement",Pl)}function xf(){xl(253),kl(22),xl(34),kl(267),Y(),xl(37);for(;;){kl(35),Nf(),kl(113);if(Hl!=88)break}xl(109),kl(95),Hl==31&&(xl(31),kl(255),pi()),kl(70),xl(220),kl(270),Qa()}function Tf(){Vl.startNonterminal("CaseStatement",Pl),Sl(88),kl(262),Hl==31&&(Sl(31),kl(255),Nl(),hi(),kl(30),Sl(79)),kl(260),Nl(),ms(),kl(70),Sl(220),kl(270),Nl(),Ka(),Vl.endNonterminal("CaseStatement",Pl)}function Nf(){xl(88),kl(262),Hl==31&&(xl(31),kl(255),pi(),kl(30),xl(79)),kl(260),gs(),kl(70),xl(220),kl(270),Qa()}function Cf(){Vl.startNonterminal("VarDeclStatement",Pl);for(;;){kl(98);if(Hl!=32)break;Nl(),B()}Sl(262),kl(21),Sl(31),kl(255),Nl(),hi(),kl(157),Hl==79&&(Nl(),ds()),kl(145),Hl==52&&(Sl(52),kl(267),Nl(),_f());for(;;){if(Hl!=41)break;Sl(41),kl(21),Sl(31),kl(255),Nl(),hi(),kl(157),Hl==79&&(Nl(),ds()),kl(145),Hl==52&&(Sl(52),kl(267),Nl(),_f())}Sl(53),Vl.endNonterminal("VarDeclStatement",Pl)}function kf(){for(;;){kl(98);if(Hl!=32)break;j()}xl(262),kl(21),xl(31),kl(255),pi(),kl(157),Hl==79&&vs(),kl(145),Hl==52&&(xl(52),kl(267),Df());for(;;){if(Hl!=41)break;xl(41),kl(21),xl(31),kl(255),pi(),kl(157),Hl==79&&vs(),kl(145),Hl==52&&(xl(52),kl(267),Df())}xl(53)}function Lf(){Vl.startNonterminal("WhileStatement",Pl),Sl(267),kl(22),Sl(34),kl(267),Nl(),G(),Sl(37),kl(270),Nl(),Ka(),Vl.endNonterminal("WhileStatement",Pl)}function Af(){xl(267),kl(22),xl(34),kl(267),Y(),xl(37),kl(270),Qa()}function Of(){Vl.startNonterminal("VoidStatement",Pl),Sl(53),Vl.endNonterminal("VoidStatement",Pl)}function Mf(){xl(53)}function _f(){Vl.startNonterminal("ExprSingle",Pl);switch(Hl){case 137:Ll(236);break;case 174:Ll(233);break;case 250:Ll(232);break;case 152:case 243:case 253:Ll(229);break;default:_l=Hl}switch(_l){case 16009:case 16046:case 116910:case 119945:case 128649:Z();break;case 17560:Sn();break;case 17651:ln();break;case 141562:Tn();break;case 17661:mn();break;default:Pf()}Vl.endNonterminal("ExprSingle",Pl)}function Df(){switch(Hl){case 137:Ll(236);break;case 174:Ll(233);break;case 250:Ll(232);break;case 152:case 243:case 253:Ll(229);break;default:_l=Hl}switch(_l){case 16009:case 16046:case 116910:case 119945:case 128649:et();break;case 17560:xn();break;case 17651:cn();break;case 141562:Nn();break;case 17661:gn();break;default:Hf()}}function Pf(){Vl.startNonterminal("ExprSimple",Pl);switch(Hl){case 77:Ll(231);break;case 218:Ll(234);break;case 219:Ll(235);break;case 110:case 159:Ll(237);break;case 103:case 129:case 235:Ll(230);break;default:_l=Hl}if(_l==133851){_l=Kl(9,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Ho(),_l=-6}catch(a){_l=-11}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(9,Pl,_l)}}switch(_l){case 16001:case 16107:on();break;case 97951:case 98463:Oo();break;case 97902:case 98414:_o();break;case 98010:Bo();break;case-6:case 98011:Po();break;case 15975:Wo();break;case 85102:Bf();break;case 85151:Ff();break;case 85210:qf();break;case-11:Uf();break;case 85069:Wf();break;default:Pn()}Vl.endNonterminal("ExprSimple",Pl)}function Hf(){switch(Hl){case 77:Ll(231);break;case 218:Ll(234);break;case 219:Ll(235);break;case 110:case 159:Ll(237);break;case 103:case 129:case 235:Ll(230);break;default:_l=Hl}if(_l==133851){_l=Kl(9,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{Ho(),Jl(9,t,-6),_l=-13}catch(a){_l=-11,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(9,t,-11)}}}switch(_l){case 16001:case 16107:un();break;case 97951:case 98463:Mo();break;case 97902:case 98414:Do();break;case 98010:jo();break;case-6:case 98011:Ho();break;case 15975:Xo();break;case 85102:jf();break;case 85151:If();break;case 85210:Rf();break;case-11:zf();break;case 85069:Xf();break;case-13:break;default:Hn()}}function Bf(){Vl.startNonterminal("JSONDeleteExpr",Pl),Sl(110),kl(56),Sl(166),kl(264),Nl(),Yr(),Vl.endNonterminal("JSONDeleteExpr",Pl)}function jf(){xl(110),kl(56),xl(166),kl(264),Zr()}function Ff(){Vl.startNonterminal("JSONInsertExpr",Pl);switch(Hl){case 159:Ll(56);break;default:_l=Hl}_l=Kl(10,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(159),kl(56),xl(166),kl(267),Df(),xl(163),kl(267),Df();switch(Hl){case 81:Ll(69);break;default:_l=Hl}if(_l==108113){_l=Kl(11,Pl);if(_l==0){var a=Dl,f=Pl,l=Hl,c=Bl,h=jl,p=Fl,d=Il,v=ql;try{xl(81),kl(69),xl(211),kl(267),Df(),Jl(11,f,-1)}catch(m){Dl=a,Pl=f,Hl=l,Hl==0?Zl=f:(Bl=c,jl=h,Fl=p,Fl==0?Zl=h:(Il=d,ql=v,Zl=v)),Jl(11,f,-2)}_l=-2}}_l==-1&&(xl(81),kl(69),xl(211),kl(267),Df()),_l=-1}catch(g){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(10,Pl,_l)}switch(_l){case-1:Sl(159),kl(56),Sl(166),kl(267),Nl(),_f(),Sl(163),kl(267),Nl(),_f();switch(Hl){case 81:Ll(69);break;default:_l=Hl}if(_l==108113){_l=Kl(11,Pl);if(_l==0){var a=Dl,f=Pl,l=Hl,c=Bl,h=jl,p=Fl,d=Il,v=ql;try{xl(81),kl(69),xl(211),kl(267),Df(),_l=-1}catch(m){_l=-2}Dl=a,Pl=f,Hl=l,Hl==0?Zl=f:(Bl=c,jl=h,Fl=p,Fl==0?Zl=h:(Il=d,ql=v,Zl=v)),Jl(11,Pl,_l)}}_l==-1&&(Sl(81),kl(69),Sl(211),kl(267),Nl(),_f());break;default:Sl(159),kl(56),Sl(166),kl(267),Nl(),hl(),Sl(163),kl(267),Nl(),_f()}Vl.endNonterminal("JSONInsertExpr",Pl)}function If(){switch(Hl){case 159:Ll(56);break;default:_l=Hl}_l=Kl(10,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(159),kl(56),xl(166),kl(267),Df(),xl(163),kl(267),Df();switch(Hl){case 81:Ll(69);break;default:_l=Hl}if(_l==108113){_l=Kl(11,Pl);if(_l==0){var a=Dl,f=Pl,l=Hl,c=Bl,h=jl,p=Fl,d=Il,v=ql;try{xl(81),kl(69),xl(211),kl(267),Df(),Jl(11,f,-1)}catch(m){Dl=a,Pl=f,Hl=l,Hl==0?Zl=f:(Bl=c,jl=h,Fl=p,Fl==0?Zl=h:(Il=d,ql=v,Zl=v)),Jl(11,f,-2)}_l=-2}}_l==-1&&(xl(81),kl(69),xl(211),kl(267),Df()),Jl(10,t,-1),_l=-3}catch(g){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(10,t,-2)}}switch(_l){case-1:xl(159),kl(56),xl(166),kl(267),Df(),xl(163),kl(267),Df();switch(Hl){case 81:Ll(69);break;default:_l=Hl}if(_l==108113){_l=Kl(11,Pl);if(_l==0){var a=Dl,f=Pl,l=Hl,c=Bl,h=jl,p=Fl,d=Il,v=ql;try{xl(81),kl(69),xl(211),kl(267),Df(),Jl(11,f,-1)}catch(m){Dl=a,Pl=f,Hl=l,Hl==0?Zl=f:(Bl=c,jl=h,Fl=p,Fl==0?Zl=h:(Il=d,ql=v,Zl=v)),Jl(11,f,-2)}_l=-2}}_l==-1&&(xl(81),kl(69),xl(211),kl(267),Df());break;case-3:break;default:xl(159),kl(56),xl(166),kl(267),pl(),xl(163),kl(267),Df()}}function qf(){Vl.startNonterminal("JSONRenameExpr",Pl),Sl(218),kl(56),Sl(166),kl(264),Nl(),Yr(),Sl(79),kl(267),Nl(),_f(),Vl.endNonterminal("JSONRenameExpr",Pl)}function Rf(){xl(218),kl(56),xl(166),kl(264),Zr(),xl(79),kl(267),Df()}function Uf(){Vl.startNonterminal("JSONReplaceExpr",Pl),Sl(219),kl(82),Sl(261),kl(64),Sl(196),kl(56),Sl(166),kl(264),Nl(),Yr(),Sl(270),kl(267),Nl(),_f(),Vl.endNonterminal("JSONReplaceExpr",Pl)}function zf(){xl(219),kl(82),xl(261),kl(64),xl(196),kl(56),xl(166),kl(264),Zr(),xl(270),kl(267),Df()}function Wf(){Vl.startNonterminal("JSONAppendExpr",Pl),Sl(77),kl(56),Sl(166),kl(267),Nl(),_f(),Sl(163),kl(267),Nl(),_f(),Vl.endNonterminal("JSONAppendExpr",Pl)}function Xf(){xl(77),kl(56),xl(166),kl(267),Df(),xl(163),kl(267),Df()}function Vf(){Vl.startNonterminal("CommonContent",Pl);switch(Hl){case 12:Sl(12);break;case 23:Sl(23);break;case 277:Sl(277);break;case 283:Sl(283);break;default:yl()}Vl.endNonterminal("CommonContent",Pl)}function $f(){switch(Hl){case 12:xl(12);break;case 23:xl(23);break;case 277:xl(277);break;case 283:xl(283);break;default:bl()}}function Jf(){Vl.startNonterminal("ContentExpr",Pl),Xa(),Vl.endNonterminal("ContentExpr",Pl)}function Kf(){Va()}function Qf(){Vl.startNonterminal("CompDocConstructor",Pl),Sl(119),kl(87),Nl(),yl(),Vl.endNonterminal("CompDocConstructor",Pl)}function Gf(){xl(119),kl(87),bl()}function Yf(){Vl.startNonterminal("CompAttrConstructor",Pl),Sl(82),kl(258);switch(Hl){case 276:Sl(276),kl(267),Nl(),G(),Sl(282);break;default:Nl(),Ha()}kl(87);switch(Hl){case 276:Ll(277);break;default:_l=Hl}if(_l==144660){_l=Kl(12,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(276),kl(88),xl(282),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(12,Pl,_l)}}switch(_l){case-1:Sl(276),kl(88),Sl(282);break;default:Nl(),yl()}Vl.endNonterminal("CompAttrConstructor",Pl)}function Zf(){xl(82),kl(258);switch(Hl){case 276:xl(276),kl(267),Y(),xl(282);break;default:Ba()}kl(87);switch(Hl){case 276:Ll(277);break;default:_l=Hl}if(_l==144660){_l=Kl(12,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(276),kl(88),xl(282),Jl(12,t,-1),_l=-3}catch(a){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(12,t,-2)}}}switch(_l){case-1:xl(276),kl(88),xl(282);break;case-3:break;default:bl()}}function el(){Vl.startNonterminal("CompPIConstructor",Pl),Sl(216),kl(251);switch(Hl){case 276:Sl(276),kl(267),Nl(),G(),Sl(282);break;default:Nl(),Ia()}kl(87);switch(Hl){case 276:Ll(277);break;default:_l=Hl}if(_l==144660){_l=Kl(13,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(276),kl(88),xl(282),_l=-1}catch(a){_l=-2}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(13,Pl,_l)}}switch(_l){case-1:Sl(276),kl(88),Sl(282);break;default:Nl(),yl()}Vl.endNonterminal("CompPIConstructor",Pl)}function tl(){xl(216),kl(251);switch(Hl){case 276:xl(276),kl(267),Y(),xl(282);break;default:qa()}kl(87);switch(Hl){case 276:Ll(277);break;default:_l=Hl}if(_l==144660){_l=Kl(13,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{xl(276),kl(88),xl(282),Jl(13,t,-1),_l=-3}catch(a){_l=-2,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(13,t,-2)}}}switch(_l){case-1:xl(276),kl(88),xl(282);break;case-3:break;default:bl()}}function nl(){Vl.startNonterminal("CompCommentConstructor",Pl),Sl(96),kl(87),Nl(),yl(),Vl.endNonterminal("CompCommentConstructor",Pl)}function rl(){xl(96),kl(87),bl()}function il(){Vl.startNonterminal("CompTextConstructor",Pl),Sl(244),kl(87),Nl(),yl(),Vl.endNonterminal("CompTextConstructor",Pl)}function sl(){xl(244),kl(87),bl()}function ol(){Vl.startNonterminal("PrimaryExpr",Pl);switch(Hl){case 184:Ll(256);break;case 216:Ll(254);break;case 276:Ll(277);break;case 82:case 121:Ll(259);break;case 96:case 244:Ll(93);break;case 119:case 202:case 256:Ll(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 77:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Ll(92);break;default:_l=Hl}if(_l==2836||_l==3348||_l==4372||_l==4884||_l==5396||_l==5908||_l==16148||_l==16660||_l==17684||_l==18196||_l==20756||_l==21780||_l==22804||_l==23316||_l==23828||_l==24340||_l==27924||_l==28436||_l==30484||_l==34068||_l==35092||_l==36116||_l==37140||_l==37652||_l==38164||_l==38676||_l==39700||_l==40212||_l==40724||_l==41236||_l==41748||_l==42260||_l==42772||_l==43284||_l==43796||_l==44308||_l==45332||_l==45844||_l==46356||_l==46868||_l==47892||_l==48404||_l==49428||_l==49940||_l==50452||_l==51988||_l==52500||_l==53012||_l==53524||_l==54036||_l==54548||_l==55572||_l==56084||_l==56596||_l==57108||_l==57620||_l==58132||_l==60692||_l==61204||_l==61716||_l==62228||_l==62740||_l==63252||_l==63764||_l==64276||_l==64788||_l==65812||_l==66324||_l==67348||_l==67860||_l==68372||_l==68884||_l==69396||_l==69908||_l==70420||_l==72468||_l==74516||_l==75028||_l==76052||_l==77076||_l==77588||_l==78100||_l==78612||_l==79124||_l==79636||_l==81684||_l==82196||_l==82708||_l==83220||_l==83732||_l==84244||_l==84756||_l==85268||_l==85780||_l==87316||_l==87828||_l==88340||_l==89364||_l==90388||_l==91412||_l==92436||_l==92948||_l==93460||_l==94484||_l==94996||_l==95508||_l==98068||_l==98580||_l==99604||_l==101652||_l==102164||_l==102676||_l==103188||_l==103700||_l==104212||_l==105748||_l==108820||_l==109332||_l==110868||_l==111892||_l==112404||_l==112916||_l==113428||_l==113940||_l==114964||_l==115476||_l==115988||_l==116500||_l==117012||_l==117524||_l==120084||_l==120596||_l==121108||_l==121620||_l==123156||_l==124180||_l==124692||_l==125204||_l==127252||_l==127764||_l==128276||_l==128788||_l==129300||_l==129812||_l==130324||_l==131348||_l==131860||_l==133396||_l==133908||_l==134420||_l==134932||_l==136468||_l==136980||_l==138516||_l==140564||_l==141588||_l==142612||_l==144660){_l=Kl(14,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{bl(),_l=-10}catch(a){_l=-11}Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(14,Pl,_l)}}switch(_l){case 8:case 9:case 10:case 11:oi();break;case 31:li();break;case 34:di();break;case 44:mi();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17485:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17574:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:Si();break;case 141514:yi();break;case 141568:wi();break;case 32:case 78:case 120:case 124:case 145:case 152:case 165:case 167:case 185:case 191:case 226:case 227:case 242:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14925:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15014:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:os();break;case-10:case 27412:yl();break;case-11:ll();break;case 68:ml();break;case 278:al();break;default:Li()}Vl.endNonterminal("PrimaryExpr",Pl)}function ul(){switch(Hl){case 184:Ll(256);break;case 216:Ll(254);break;case 276:Ll(277);break;case 82:case 121:Ll(259);break;case 96:case 244:Ll(93);break;case 119:case 202:case 256:Ll(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 77:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 166:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Ll(92);break;default:_l=Hl}if(_l==2836||_l==3348||_l==4372||_l==4884||_l==5396||_l==5908||_l==16148||_l==16660||_l==17684||_l==18196||_l==20756||_l==21780||_l==22804||_l==23316||_l==23828||_l==24340||_l==27924||_l==28436||_l==30484||_l==34068||_l==35092||_l==36116||_l==37140||_l==37652||_l==38164||_l==38676||_l==39700||_l==40212||_l==40724||_l==41236||_l==41748||_l==42260||_l==42772||_l==43284||_l==43796||_l==44308||_l==45332||_l==45844||_l==46356||_l==46868||_l==47892||_l==48404||_l==49428||_l==49940||_l==50452||_l==51988||_l==52500||_l==53012||_l==53524||_l==54036||_l==54548||_l==55572||_l==56084||_l==56596||_l==57108||_l==57620||_l==58132||_l==60692||_l==61204||_l==61716||_l==62228||_l==62740||_l==63252||_l==63764||_l==64276||_l==64788||_l==65812||_l==66324||_l==67348||_l==67860||_l==68372||_l==68884||_l==69396||_l==69908||_l==70420||_l==72468||_l==74516||_l==75028||_l==76052||_l==77076||_l==77588||_l==78100||_l==78612||_l==79124||_l==79636||_l==81684||_l==82196||_l==82708||_l==83220||_l==83732||_l==84244||_l==84756||_l==85268||_l==85780||_l==87316||_l==87828||_l==88340||_l==89364||_l==90388||_l==91412||_l==92436||_l==92948||_l==93460||_l==94484||_l==94996||_l==95508||_l==98068||_l==98580||_l==99604||_l==101652||_l==102164||_l==102676||_l==103188||_l==103700||_l==104212||_l==105748||_l==108820||_l==109332||_l==110868||_l==111892||_l==112404||_l==112916||_l==113428||_l==113940||_l==114964||_l==115476||_l==115988||_l==116500||_l==117012||_l==117524||_l==120084||_l==120596||_l==121108||_l==121620||_l==123156||_l==124180||_l==124692||_l==125204||_l==127252||_l==127764||_l==128276||_l==128788||_l==129300||_l==129812||_l==130324||_l==131348||_l==131860||_l==133396||_l==133908||_l==134420||_l==134932||_l==136468||_l==136980||_l==138516||_l==140564||_l==141588||_l==142612||_l==144660){_l=Kl(14,Pl);if(_l==0){var e=Dl,t=Pl,n=Hl,r=Bl,i=jl,s=Fl,o=Il,u=ql;try{bl(),Jl(14,t,-10),_l=-14}catch(a){_l=-11,Dl=e,Pl=t,Hl=n,Hl==0?Zl=t:(Bl=r,jl=i,Fl=s,Fl==0?Zl=i:(Il=o,ql=u,Zl=u)),Jl(14,t,-11)}}}switch(_l){case 8:case 9:case 10:case 11:ui();break;case 31:ci();break;case 34:vi();break;case 44:gi();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17485:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17574:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:xi();break;case 141514:bi();break;case 141568:Ei();break;case 32:case 78:case 120:case 124:case 145:case 152:case 165:case 167:case 185:case 191:case 226:case 227:case 242:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14925:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15014:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:us();break;case-10:case 27412:bl();break;case-11:cl();break;case 68:gl();break;case 278:fl();break;case-14:break;default:Ai()}}function al(){Vl.startNonterminal("JSONSimpleObjectUnion",Pl),Sl(278),kl(273),Hl!=281&&(Nl(),G()),Sl(281),Vl.endNonterminal("JSONSimpleObjectUnion",Pl)}function fl(){xl(278),kl(273),Hl!=281&&Y(),xl(281)}function ll(){Vl.startNonterminal("ObjectConstructor",Pl),Sl(276),kl(274),Hl!=282&&(Nl(),hl()),Sl(282),Vl.endNonterminal("ObjectConstructor",Pl)}function cl(){xl(276),kl(274),Hl!=282&&pl(),xl(282)}function hl(){Vl.startNonterminal("PairConstructorList",Pl),dl();for(;;){if(Hl!=41)break;Sl(41),kl(267),Nl(),dl()}Vl.endNonterminal("PairConstructorList",Pl)}function pl(){vl();for(;;){if(Hl!=41)break;xl(41),kl(267),vl()}}function dl(){Vl.startNonterminal("PairConstructor",Pl),_f(),Sl(49),kl(267),Nl(),_f(),Vl.endNonterminal("PairConstructor",Pl)}function vl(){Df(),xl(49),kl(267),Df()}function ml(){Vl.startNonterminal("ArrayConstructor",Pl),Sl(68),kl(272),Hl!=69&&(Nl(),G()),Sl(69),Vl.endNonterminal("ArrayConstructor",Pl)}function gl(){xl(68),kl(272),Hl!=69&&Y(),xl(69)}function yl(){Vl.startNonterminal("BlockExpr",Pl),Sl(276),kl(277),Nl(),$a(),Sl(282),Vl.endNonterminal("BlockExpr",Pl)}function bl(){xl(276),kl(277),Ja(),xl(282)}function wl(){Vl.startNonterminal("FunctionDecl",Pl),Sl(145),kl(255),Nl(),Ha(),kl(22),Sl(34),kl(94),Hl==31&&(Nl(),U()),Sl(37),kl(148),Hl==79&&(Nl(),El()),kl(118);switch(Hl){case 276:Sl(276),kl(277),Nl(),$a(),Sl(282);break;default:Sl(133)}Vl.endNonterminal("FunctionDecl",Pl)}function El(){Vl.startNonterminal("ReturnType",Pl),Sl(79),kl(260),Nl(),ms(),Vl.endNonterminal("ReturnType",Pl)}function Sl(e){Hl==e?(Nl(),Vl.terminal(i.TOKEN[Hl],Bl,jl>Gl?Gl:jl),Dl=Bl,Pl=jl,Hl=Fl,Hl!=0&&(Bl=Il,jl=ql,Fl=0)):Ml(Bl,jl,0,Hl,e)}function xl(e){Hl==e?(Dl=Bl,Pl=jl,Hl=Fl,Hl!=0&&(Bl=Il,jl=ql,Fl=0)):Ml(Bl,jl,0,Hl,e)}function Tl(e){var t=Dl,n=Pl,r=Hl,i=Bl,s=jl;Hl=e,Bl=Yl,jl=Zl,Fl=0,Pa(),Dl=t,Pl=n,Hl=r,Hl!=0&&(Bl=i,jl=s)}function Nl(){Pl!=Bl&&(Dl=Pl,Pl=Bl,Vl.whitespace(Dl,Pl))}function Cl(e){var t;for(;;){t=ec(e);if(t!=22){if(t!=36)break;Tl(t)}}return t}function kl(e){Hl==0&&(Hl=Cl(e),Bl=Yl,jl=Zl)}function Ll(e){Fl==0&&(Fl=Cl(e),Il=Yl,ql=Zl),_l=Fl<<9|Hl}function Al(e){Hl==0&&(Hl=ec(e),Bl=Yl,jl=Zl)}function Ol(e){Fl==0&&(Fl=ec(e),Il=Yl,ql=Zl),_l=Fl<<9|Hl}function Ml(e,t,r,i,s){throw t>Ul&&(Rl=e,Ul=t,zl=r,Wl=i,Xl=s),new n.ParseException(Rl,Ul,zl,Wl,Xl)}function Jl(e,t,n){$l[(t<<4)+e]=n}function Kl(e,t){var n=$l[(t<<4)+e];return typeof n!="undefined"?n:0}function ec(e){var t=!1;Yl=Zl;var n=Zl,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n<Gl?Ql.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<Gl?Ql.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,Zl=n)}r>>=12;if(r==0){Zl=n-1;var f=Zl<Gl?Ql.charCodeAt(Zl):0;return f>=56320&&f<57344&&--Zl,Ml(Yl,Zl,s,-1,-1)}if(t)for(var d=r>>9;d>0;--d){--Zl;var f=Zl<Gl?Ql.charCodeAt(Zl):0;f>=56320&&f<57344&&--Zl}else Zl-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return Ql},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=Ql.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+Ql.substring(e.getBegin(),Math.min(Ql.length,e.getBegin()+64))+"..."},this.parse_XQuery=function(){Vl.startNonterminal("XQuery",Pl),kl(275),Nl(),o(),Sl(25),Vl.endNonterminal("XQuery",Pl)};var _l,Dl,Pl,Hl,Bl,jl,Fl,Il,ql,Rl,Ul,zl,Wl,Xl,Vl,$l,Ql,Gl,Yl,Zl};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<284;i+=32){var s=i,o=(i>>5)*3694+n-1,u=o>>1,a=u>>2,f=r.EXPECTED[(o&1)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,355,371,387,423,423,423,415,339,331,339,331,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,440,440,440,440,440,440,440,324,339,339,339,339,339,339,339,339,401,423,423,424,422,423,423,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,338,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,30,30,30,30,30,30,30,30,30,30,30,30,38,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38,38,38,38,38,38,38,38,38,38,38,30,30,38,38,38,38,38,38,38,69,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,38,30,38,30,30,38],r.INITIAL=[1,12290,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],r.TRANSITION=[42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,25651,25666,25670,25670,25670,18189,25670,25670,25670,25670,18201,25670,25670,25670,25670,18176,25670,25671,18217,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,18730,20976,20988,20999,21015,25420,18732,21040,42516,42516,42516,27632,42516,42516,51474,31122,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,21056,21084,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,23286,21107,42516,42516,42516,39416,42516,42516,43470,47286,25568,42516,42516,42516,42516,23672,41495,21126,21160,42516,42516,42516,27632,42516,42516,35938,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,25556,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21176,21248,42516,42516,42516,50595,42516,42516,42445,42516,25917,23619,21211,21279,21269,21226,21240,44419,21040,42516,42516,42516,27632,21302,42516,32247,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,19871,21321,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,21344,26008,18612,18632,18596,21349,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42510,42516,42516,42516,48894,42515,42516,51366,42516,21365,42504,21403,42515,21410,42516,27599,27612,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,21426,42516,42516,42516,22170,42516,42516,21445,42516,42516,21468,21481,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,24484,42516,42516,42516,42516,42516,42516,42517,21497,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,21513,25598,18486,18508,51408,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,25358,21538,42516,42516,42516,29996,42516,42516,26519,46446,25383,42516,42516,42516,42516,25736,28473,18232,21557,42516,42516,42516,27632,42516,42516,51474,21573,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,19060,21591,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,23074,23089,21619,21619,21619,21672,21614,21619,21624,23096,21640,21745,21688,21665,21655,21732,21703,21716,21040,42516,42516,42516,33326,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,21761,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,45317,42516,42516,42516,49458,21798,42516,22640,21804,25917,45316,42516,21821,21844,21828,21860,21869,21885,42516,42516,42516,29550,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,21901,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,21944,42516,42516,42516,48069,42516,42516,42516,26308,36543,25445,25454,21937,25455,21960,21985,21998,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,18888,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,26329,37275,42655,22014,22031,22014,22046,42653,22015,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,22071,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,26891,42516,42516,42516,48069,22092,42516,23653,22130,40293,22116,22186,22191,22191,22207,26888,44587,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,18247,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,35843,22232,22249,22232,22264,35841,22233,22289,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,46363,42516,33841,42516,34304,43899,22305,22071,36154,42516,42516,42516,42516,28243,22657,22322,22657,22657,22341,33347,46316,46316,39789,38147,35514,38147,38147,22359,22382,42516,42516,42516,42516,42516,28815,42516,22405,22426,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,47355,26569,42516,42516,42516,42516,42516,45225,42516,42516,32981,50880,22657,22657,22657,30360,22467,39622,46316,22501,46316,22343,36422,42625,38147,22520,38147,27826,41766,42516,42516,42516,42516,42516,49148,42516,23255,22657,44467,22657,22657,30361,22539,42077,46316,46316,46316,30525,38147,40186,38147,38147,34440,41769,42516,42516,20027,37487,42516,28242,22657,22657,36250,37745,46316,46316,44329,37798,38147,38147,43834,27827,30836,42516,42516,19405,22558,38368,22576,22657,40730,22597,46316,36583,22617,38147,40469,22638,42516,25905,42516,34153,22656,33064,46073,46316,22674,22710,27827,22690,51145,42516,32408,22729,37572,22752,32120,22683,29050,30609,22771,38961,22813,36803,22874,22893,22911,28238,43147,27775,22913,22451,22736,46400,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,50215,25917,42516,42516,42516,42516,42516,45715,23059,23112,42516,42516,42516,27632,42516,42516,37325,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,23128,46363,42516,42516,42516,34304,42516,42516,18360,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,22341,46316,46316,46316,39789,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,28815,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,23154,42516,42516,42516,46371,42516,42516,42516,42516,25917,35960,23175,23206,23195,23229,35959,23179,21040,42516,42516,42516,27632,42516,42516,51474,27227,42516,43023,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,23254,42516,42516,42516,48069,42516,42516,42516,19968,25917,42516,42516,42516,42516,42516,42762,23271,23302,42516,42516,42516,27632,42516,42516,21380,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,23318,46363,42516,42516,42516,34304,42516,42516,23344,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,22341,46316,46316,46316,39789,38147,38147,38147,38147,40896,23370,23409,42516,42516,42516,42516,38331,23429,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,23450,23383,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,50700,22540,46316,46316,46316,46316,47852,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,29796,22539,46316,46316,46316,46316,23533,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,48371,42516,42516,42516,31492,32078,42516,42516,23557,25917,18721,49121,23587,23594,23610,42516,43878,23635,23651,42516,42516,33439,23669,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,25038,24355,23991,25028,23804,18270,40105,18293,23688,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,23724,24084,23749,23789,24317,23827,23849,23904,24015,23917,23946,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,23969,24689,24310,25086,25092,23974,23990,24416,24845,24007,23833,24977,24993,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,24031,23930,24046,24073,24057,24100,24137,24664,24240,24198,24251,24225,24986,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,24267,24283,24299,24348,24333,24371,24167,24428,24402,23773,24444,24474,35639,19379,39467,19401,41728,19421,19500,24458,19544,24500,24558,24572,24588,24604,24182,24745,24620,24636,24767,19696,19712,19728,19753,19773,19830,19435,19514,24680,24514,19528,24705,24152,24757,19947,19984,20043,20080,20119,20157,20667,24542,24528,24731,24830,24209,24939,20235,20264,20301,24783,24799,24815,24715,24861,20381,20397,19814,23733,24877,24893,20503,25039,24968,23864,24927,24955,25015,20652,18443,23763,24386,25055,24651,25071,25108,25159,25175,25191,25243,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,27003,42516,42516,42516,48069,25296,42516,42516,25291,40518,25312,25320,25320,25320,25327,27168,25343,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25399,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,18963,25373,18652,18689,18711,18748,18695,25415,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,19337,25436,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,25471,25509,25525,20579,19301,19596,25541,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,25584,19614,19632,19650,25620,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,21541,28730,28739,28739,28739,28746,47533,25636,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,27653,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,25687,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51268,23158,42516,42516,42516,48069,42516,42516,42516,42516,25917,22795,25710,25710,25710,25717,23159,22797,21040,25733,42516,42516,27632,42516,42516,51474,42516,42516,44769,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,25752,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,26066,26075,42516,42516,42516,42907,42516,42516,42516,42516,25917,26405,25775,25775,25775,25782,28588,26407,25798,25814,42516,42516,27632,42516,42516,51474,42516,42516,23413,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,25831,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,25857,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,25891,42516,42516,42516,42516,48069,25942,42516,42516,28970,33768,42516,42516,42516,25933,25960,26180,25944,25980,42516,42516,42516,27632,42516,42516,51474,27927,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,25996,26028,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,42516,42516,42516,42516,42516,41865,26051,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,26178,42516,23255,22657,22657,22657,22657,22877,22539,46316,46316,46316,46316,32774,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,23464,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,22877,22539,46316,46316,46316,46316,32774,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,26196,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,22877,22539,46316,46316,46316,46316,32774,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,26115,26152,42516,42516,42516,42516,42516,26216,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,22877,22539,46316,46316,46316,46316,32774,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,31151,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,31154,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,22877,22539,46316,46316,46316,46316,32774,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,22786,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26258,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,48694,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,28605,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,47769,26274,26287,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,26303,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,26324,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,35004,26345,26373,26362,26396,35005,26346,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,37963,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,26423,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,42516,42516,42516,42516,42516,42516,42517,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,47727,42516,26460,26483,26467,42516,47735,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,26499,20264,20301,20317,20346,20333,20349,20365,26535,20397,20422,20606,20438,26551,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,29068,42516,42516,42516,51537,26585,26616,29663,26601,26633,26690,26699,26715,26730,26742,26758,26771,26099,19999,42516,26787,26162,26806,41856,26832,26883,26907,26946,30733,26962,26998,27019,27054,46783,31896,27070,46885,46348,36728,27120,42516,42516,34304,27137,37896,42516,27163,34995,39190,42516,27184,43650,22657,22657,22657,27203,27401,46316,46316,41985,48318,38147,38147,38147,37213,40896,22382,42516,27222,48046,42516,27243,27263,27280,42516,42516,27038,20763,27308,27328,22657,22657,27363,27386,27419,35266,46316,30482,27448,27495,27524,27566,38147,35889,38740,46095,27585,26152,27628,42516,45564,42516,47310,23487,42516,46936,27648,27669,27685,34339,22657,27729,22984,44673,27748,45967,46316,27773,39768,32782,27791,37607,38147,27824,22485,27843,27859,27882,27899,42516,27922,31758,27943,23255,33056,27962,22657,42185,33093,27982,30091,46316,35423,43042,32774,28017,38147,38147,42363,28033,23138,28062,40096,28115,41486,28137,21969,22956,28160,22657,46191,35558,28176,28197,32038,49740,47969,28214,27827,28233,42899,42516,21253,42516,38368,42934,43766,40730,37393,48025,36583,51021,44713,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,28260,28298,33550,28320,28341,28379,28401,28421,26921,40729,36585,44924,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,28445,42516,42516,51537,42516,42516,42516,42516,31409,28464,42516,28489,28496,28512,28528,28541,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,42942,46314,28557,30860,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,28583,23487,28604,45602,42516,42516,38368,22657,22657,22657,44648,28621,22541,46316,46316,46316,40008,44805,38147,38147,38147,38147,41449,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,35762,23510,42516,32305,42516,42516,28652,43395,23255,28671,22657,22657,22657,28690,28706,46316,46316,46316,37589,32774,28762,38147,38147,38147,44356,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,23013,26674,44310,41661,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,28784,42516,42516,51537,42516,28813,42516,28831,36313,28851,28860,28876,28891,28903,28919,28932,26099,42516,42516,33807,29427,42516,42516,28948,42516,28965,42516,42516,42516,25275,42516,28986,44283,46314,29021,22622,37863,32069,42516,29066,42516,34304,29084,49128,42516,45291,29103,36853,42516,39408,30216,37513,22657,22657,22657,29138,29162,46316,46316,48917,29187,29203,38147,38147,40896,22382,23471,42516,42516,37970,42516,41320,23487,39926,29222,42516,42516,38368,29257,38293,22657,29296,38374,29315,31567,38618,38779,46316,44805,42631,29346,29367,48610,38147,32923,26115,26152,42516,42516,35359,42516,36267,23487,42516,42516,42516,38370,22657,22657,38875,29587,30360,22540,46316,46316,49716,48753,22343,30533,38147,38147,47896,47206,27826,35762,29388,42516,42516,42516,29423,42516,29443,23255,22657,22657,22657,43545,22877,22539,46316,46316,49625,46316,32774,38147,38147,38147,29464,34440,41769,42516,42516,19074,42516,46902,29483,22657,45738,22657,46191,46316,28001,46316,32038,38147,48630,38147,27827,29518,29546,42516,39530,20864,38368,29566,29583,46250,46316,29603,36583,29623,29640,40469,42516,42516,42516,29661,38373,22657,29679,46316,51108,36586,38147,50541,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,29702,29722,29738,29754,28244,40729,36585,22448,28385,36584,34366,22755,31692,34720,29778,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,26790,42516,42516,51537,42516,29812,25227,42516,31450,29831,29840,29856,29871,29878,29894,29907,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,31072,31070,42516,32276,32283,40826,29686,35273,29923,34810,28721,42516,35352,29943,34304,42516,29968,36872,42516,42516,29988,30012,34471,30028,22581,34160,30064,24121,30107,48780,30128,30172,30191,29624,22523,47650,28217,40896,22382,42516,42516,42516,42735,42516,30232,23487,42516,42516,42516,27906,38368,22657,22657,22657,26867,38374,22541,46316,46316,46316,37425,44805,38147,38147,38147,38147,30252,50615,30272,30304,42516,42516,42516,30320,30338,23487,42516,42516,27104,21782,30358,30377,22657,22657,30395,30434,30481,30498,46316,46316,30515,51071,30551,30568,38147,38147,30585,35762,23510,42516,42516,42516,42516,42516,30625,23255,30648,22657,22657,30668,22877,30687,46316,46316,34855,46316,32837,38147,38147,43217,38147,34440,41769,45029,42516,30729,42516,21024,28242,29299,22657,30749,46191,50174,46316,30776,32038,38147,30812,48472,27827,22690,23708,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,37071,42516,42516,38373,22657,31523,46316,43307,36586,38147,39352,22690,34920,42516,38372,43148,46316,38137,38147,30829,36804,38368,28385,28404,30535,27085,28354,31634,30852,30600,30074,38197,42103,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,21805,30876,42516,51537,49762,30895,42516,30918,43094,30942,30951,30967,30982,30994,31010,31023,26099,42516,31039,39573,31055,20844,31088,31151,40795,31438,31118,31138,31170,31208,31224,31259,31325,39316,31341,31357,42305,39859,31243,31397,39944,31425,33906,31466,31484,36903,42516,42516,38844,42516,28243,31508,40831,43064,26242,31546,31583,49551,32501,35578,43001,31607,35023,30465,31623,22382,40777,39e3,31658,40711,31716,41838,31747,42230,41234,31783,31813,31829,31873,31912,31936,31952,31988,32019,35868,32054,38034,47598,32094,32110,32136,39813,32152,32186,47170,32233,26152,32263,42516,49503,42516,32299,32321,32337,32365,32386,32406,32424,22657,35078,32463,30760,22540,32487,46316,47681,50971,43200,30533,32517,38147,37625,38481,40265,32560,23510,18666,32576,32596,39698,32624,37664,32645,31965,32706,47478,32693,32731,32762,40433,46316,32798,32825,32774,32853,32872,49013,32893,32919,41769,42516,21429,46706,42516,42516,32939,25143,43551,27695,46191,47568,50517,33128,32038,44391,37914,44027,27827,22690,51501,22158,32960,23571,32997,33045,33080,33109,33144,33160,33196,33225,33259,33289,25257,41794,33305,33321,22943,47433,44826,33342,33363,33392,45913,37247,22690,23238,33434,38372,47456,46316,49977,38147,33455,33478,32944,28385,33515,33536,30206,38372,33571,38971,31372,39304,33587,33611,33627,33643,33674,33720,28385,36584,33273,33742,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,33784,42516,51537,33805,33823,29972,43389,33866,33897,42516,33882,33940,33947,33963,33976,26099,42516,42516,20279,27632,42516,42516,42516,42516,42516,41269,42516,41261,42516,41268,25123,41628,38176,37400,33992,34810,28721,42516,34012,42516,34304,34012,42516,42516,42516,34029,34013,37295,42516,28243,34045,22657,22657,22657,34069,34103,46316,46316,48318,47159,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,23487,42516,42516,45931,42516,38368,22657,22657,22657,44213,38374,22541,46316,46316,46316,42968,44805,38147,38147,38147,38147,34120,32923,26115,26152,42516,42516,42516,42516,42516,23487,42516,46602,42516,38370,22657,22657,30041,22657,30360,22540,46316,46316,42268,46316,22343,30533,38147,38147,44e3,38147,27826,35762,23510,42516,42516,42516,42516,42516,39273,23255,22657,22657,22657,37139,22877,22539,46316,46316,49643,46316,32774,38147,38147,38147,48815,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,46191,46316,46316,46316,32038,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,46733,42516,42516,42516,36647,22657,28384,27995,46316,49984,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,44874,43254,31692,29762,34139,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,38852,42516,42516,51280,34176,34185,34201,34208,34215,34231,34244,26099,42516,42516,42516,27632,42516,42516,34401,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,37878,42057,42516,42516,34304,42516,42516,42516,42516,34260,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,34278,42516,28081,38368,22657,22657,22657,22657,38374,42076,46316,46316,46316,46316,46212,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,47761,42516,34299,19108,42516,42516,19113,34320,22657,22657,34338,22657,30360,22540,46316,34104,46316,46316,22343,30533,38147,42837,38147,38147,27826,34355,42516,42516,42516,34399,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,38663,42516,34417,28242,22657,22657,38760,37745,46316,46316,50996,37798,38147,38147,38147,34438,22690,34456,18364,34487,34538,24114,31309,31274,34559,34565,27432,34581,44559,30458,34604,22076,42516,19757,34657,29792,34679,47804,33555,31559,34736,35451,34758,22690,41150,39051,35676,32439,38610,34776,34795,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,34833,34871,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,18277,42516,42516,34899,42516,42516,42516,36062,42516,36065,42516,42516,34947,34936,36697,22657,34963,27757,38148,48007,34986,42516,42516,29815,34304,21387,19116,42516,38636,42516,42516,42516,42516,28243,22657,22657,43325,22657,27401,46316,46316,30705,48318,38147,38147,38147,35021,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,35376,42516,35039,38368,22657,22657,22657,22657,50945,22541,46316,46316,46316,46316,38717,38147,38147,38147,38147,38147,41757,22444,42516,35059,42516,42516,42516,42516,42516,42516,42516,39196,38370,35077,22657,22657,22657,30360,46821,46316,46316,46316,46316,22343,23541,38147,38147,38147,38147,27826,41766,42516,42516,42516,50318,42516,42516,42516,23255,22657,22657,22657,46040,30361,22539,46316,46316,46316,34080,30525,38147,38147,38147,42204,34440,41769,42516,42516,46608,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,23434,42516,22428,38373,22657,28384,46316,46316,36586,38147,27827,35094,34920,22560,38372,50497,46316,40393,38147,43581,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,44978,42516,51537,30322,33499,42482,50012,50022,18763,18772,35115,35131,35143,35159,35172,26099,42516,42516,42516,36498,41847,42516,42516,42516,31671,41803,35188,36161,35205,35221,43491,35237,35256,29171,35289,37464,35305,42516,42516,42516,35339,42516,28090,35375,42516,42516,28949,35314,39266,28243,48989,48108,22657,35392,47509,37433,35422,34970,35439,27808,35467,38147,35501,35536,22382,42516,35594,39908,48509,34515,35614,42516,18299,18417,42516,35655,35672,48116,22657,43129,29280,37184,22541,48019,46316,38117,35692,47637,38147,35719,38147,35737,27472,35753,22444,42516,42516,42516,42516,35778,48535,35820,42516,42516,42516,23024,36244,22657,22657,29502,38418,35859,41980,46316,46316,48733,41934,49389,35884,38147,38147,40673,49832,35905,42516,36909,35924,35976,35997,18673,36033,34522,36081,47410,36098,36117,36141,36177,46316,36198,32809,43953,30446,38147,43626,42012,36214,36230,23328,20636,45205,36266,36283,36301,35981,36329,26662,46771,36350,36390,48253,35703,36411,36456,40231,38454,41461,37653,42516,42516,37028,36479,40577,43121,45398,22366,37772,48725,38205,36432,50457,40469,42516,25485,42516,36514,38373,22657,28384,46316,46316,36586,38147,27827,36626,36531,42516,28996,31885,36559,36579,36602,36619,36804,36642,28385,28404,30535,42423,49897,44263,36663,36694,43147,27775,22913,28244,40729,36585,22448,36713,36744,34366,22755,31692,28429,36774,36790,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,39935,42516,51537,42516,42516,42516,42516,25917,42516,29952,39942,19158,38671,36820,36833,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,44206,22657,27401,46316,46317,46316,48318,38147,38147,34588,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,19484,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,36849,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,36869,42516,42516,42516,42516,42516,42516,42516,42516,46294,22657,22657,22657,22657,30360,49232,46316,46316,46316,46316,22343,30796,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,46996,42516,51537,42516,23354,42516,42753,36888,36925,36938,36954,36961,36977,36993,37006,26099,42516,37022,42516,27632,42516,41516,26816,42516,42516,37044,42516,37049,18537,37065,37087,37117,44086,37200,37235,39844,33658,37263,42516,42516,35791,42516,42516,34914,28072,42516,37291,22389,37311,18926,37716,37348,43712,48153,37366,37382,46316,37416,40607,40193,49587,35520,37449,27508,37480,37934,42516,42516,42516,42516,41144,42516,42516,42516,42516,42516,38368,37503,36125,22657,37529,39594,37550,37566,48265,46316,37588,30713,29645,37605,37623,38799,38147,37641,22444,42516,42516,37688,42516,42516,49494,24999,42516,42516,42516,38370,22657,22657,29494,37704,37740,22540,46316,46316,40001,37761,37795,30533,38147,38147,37825,37814,37848,41766,42516,37894,42516,42516,51139,42516,42516,23255,22657,41398,22657,22657,30361,22539,42274,46316,46316,46316,30525,38147,37912,38147,38147,34440,41769,37930,36490,42516,34663,37950,28242,37986,22657,22657,46812,38013,46316,46316,45485,49261,38147,38147,48821,22690,49311,42516,42516,38050,38368,41404,22657,40730,47057,46316,36583,48937,38147,40469,42516,21575,42516,42516,38373,22657,38069,46316,45780,36586,38147,40463,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,38089,46273,22694,23034,40134,34366,22755,38105,38164,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,26200,42516,51537,42516,27946,42516,42516,47834,20951,20960,38221,38236,38243,38259,38272,26258,42516,38551,42516,27632,42516,34262,42516,42516,42516,38553,42516,38546,21091,38552,21774,38288,31700,35273,38309,34810,28721,42516,42516,38329,34304,42516,29241,23811,23953,42516,42516,42516,38347,38364,33022,22657,38390,38410,28636,46316,29607,39628,38434,42370,38147,48603,38470,47663,38504,38541,39253,39681,42516,42516,42516,42516,41197,42516,42516,42516,38368,31857,22657,38569,22657,38374,22541,38589,28198,46316,46316,44805,29206,27800,32877,38147,38147,32923,22444,42516,28144,42516,38634,42516,45188,42516,38652,42516,42516,38370,39723,22657,22657,38687,30379,22540,23043,46316,46316,38710,22895,30533,49398,38147,38147,38733,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,33462,42516,42516,42516,42516,38368,38756,22657,40730,38776,46316,36583,38795,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,38815,36586,49663,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,49485,38368,44256,40047,45820,38834,38868,32210,38891,28238,43147,27775,22913,28244,40729,36585,22448,28385,38914,38935,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,27187,42516,30926,42516,34543,38987,37672,39016,39067,39107,39092,39111,39076,39127,39140,26099,42516,25841,23701,20829,39222,20009,42516,39156,41252,39175,39212,32746,21195,39238,26847,39289,45668,39332,39368,34810,28721,32390,42516,42516,26444,30879,36010,28099,40787,39398,38525,26035,39432,39483,44460,39503,41633,22657,32003,22601,46316,49709,48318,47976,47889,30552,38147,33209,39523,39917,39159,42516,39546,42516,42516,40976,42516,42516,42516,39568,39487,37157,22657,39589,22657,38374,39610,45436,46316,39644,46316,44805,27542,39661,38313,38147,38147,32923,22444,42516,42516,42516,42516,30632,42516,42516,21187,39678,39697,39714,22657,22657,50559,22657,39739,39760,46316,46316,38818,46316,39784,39805,38147,38147,32856,38147,39829,41766,46006,39893,48391,49682,42516,39960,34641,39976,38394,40024,37997,33010,30361,22539,40063,40121,43817,40157,30525,40868,40175,40209,40247,34760,44916,20285,40281,34623,40309,51090,50324,48429,40325,40344,40364,39645,40409,40428,40449,38147,40485,49825,39382,22690,40506,42516,42516,22216,40534,39507,48098,30083,50926,38024,33595,45640,28567,40469,40559,42516,40087,26129,45371,31289,28384,40593,41927,40637,40665,40689,34614,41203,40707,27312,43148,48295,28405,40861,22683,50287,38368,40727,40746,40649,40767,40811,22827,40847,33407,49334,48207,33243,28244,40729,36585,22448,28385,36584,41673,40884,31692,28429,22929,40922,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,40951,51537,42516,42744,40972,42516,27292,40992,41001,41017,41032,41039,41055,41068,26099,20248,41084,41102,41129,21286,41166,42516,41182,41219,41286,31731,41302,41336,41352,41368,41384,34883,41420,41436,48349,41477,42516,42240,27121,34422,42516,41511,25267,41532,41575,42516,42516,41594,28243,22657,31843,41613,34053,27401,40159,35568,34847,41649,38147,27550,41689,41744,40896,22382,42516,26380,42516,41578,42516,44762,41785,42516,41828,27866,41270,19255,22657,41881,41897,22657,35406,41916,43971,44095,46316,46316,41950,22851,37219,42001,38147,29467,32923,42028,42044,42516,46644,19385,42516,42516,42516,42516,42516,34632,38370,22657,27339,43920,22657,30360,22540,46316,44514,36395,46316,22343,30533,38147,35478,49592,38147,27826,41766,42516,42516,21305,42516,31235,42516,42516,23255,22657,22657,22657,22657,20064,42074,46316,46316,46316,46316,42093,38147,38147,38147,38147,50734,41769,50664,35952,42516,42516,42516,41113,22657,42177,22657,45759,46316,43945,46316,45799,38147,45843,38147,27827,29041,42127,42516,42516,42516,48412,30671,22657,38073,44692,46316,33520,45533,38147,40469,42146,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,43588,34920,42516,42166,40348,33173,48271,42201,22683,42220,41559,42256,42290,42321,33756,44448,35547,42352,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,32531,22755,42386,28429,22929,42410,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,39045,51537,42516,42516,42439,19363,42461,42498,42516,31468,42533,42547,42563,42576,26099,42516,42516,25867,27632,42516,42516,42516,42592,26617,42516,42516,26436,25867,42516,30236,31920,49620,42612,36440,34810,28721,42516,42647,42516,34304,42516,44608,36046,42516,35598,42516,42516,36057,51481,44194,32471,36334,37148,42671,32033,42687,33121,42706,38488,30256,30569,29372,32199,42722,42778,42516,42799,42516,49524,50043,35835,42516,42516,42516,42516,38368,22657,22657,37175,22657,38374,22541,46316,46316,47563,46316,44805,38147,38147,38147,42836,38147,32923,42853,42888,35656,42516,42516,42516,50763,30902,39460,48700,42516,38370,22657,42923,22657,22657,37350,22540,46316,42958,46316,46316,27403,30533,38147,42991,38147,38147,27826,41766,42516,29233,42516,42516,42516,43017,42516,23255,22657,22657,49093,22657,22325,22539,46316,46316,43039,46316,30788,38147,38147,35485,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,36017,42516,42516,43058,22657,22657,40730,46316,46316,36583,38147,38147,48843,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,46409,43080,43110,32715,30112,30535,40935,43145,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,35061,42516,42516,42516,28279,28282,18254,28275,31684,43164,43182,29146,43216,43233,29330,43270,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,43287,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,43306,46316,46316,46316,46316,50852,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,43323,28384,43789,46316,36586,43341,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,50278,22100,42516,42516,50243,42516,29530,43375,33789,43361,43411,43418,43434,43447,26099,42516,33915,33924,27632,40956,43463,43486,41243,43507,26512,26972,26982,27147,41812,42783,43531,49966,43567,43604,44058,40078,42516,42516,42516,23213,43642,34502,43666,43684,38517,42516,42516,35323,43702,22657,43728,30048,43746,43782,42975,46316,43805,34708,43833,43850,27569,49274,49874,43871,42516,42516,42516,45270,35189,42516,42516,43894,43668,42516,42814,33726,22657,43915,22657,37724,49041,43936,46316,43969,46316,45680,43987,44022,33996,38147,38147,44043,44074,22444,42516,42516,19081,42516,44111,44127,42516,43290,44154,44166,44182,22657,37101,44229,44279,30652,44299,46316,42336,45461,44326,40412,44345,38147,44372,45987,44388,34123,41766,28121,42516,42516,24911,44407,50085,42516,44435,27732,44483,22975,22657,30361,22539,44504,42690,46316,46316,30525,28768,44537,44554,38147,40691,44575,42516,44603,44624,42516,42516,28242,44645,22657,22657,44664,44689,46316,46316,49378,44708,38147,38147,49798,22690,42516,44729,42516,42516,20056,22657,22657,34376,46316,51047,22477,38147,44538,40469,42516,22273,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,44749,26230,34694,49922,44785,36803,38372,46315,38146,47702,44821,44842,44862,21913,40729,36585,22448,28385,36584,40621,44890,44940,42111,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,46959,51537,45028,47264,44964,45002,45045,45083,45015,45108,45123,45139,45155,45168,26099,45184,28448,42516,28797,42516,42516,30342,42516,42516,45204,45221,31185,28655,31192,26648,48147,38948,50978,45241,34810,28721,45262,45286,25875,34304,35804,42516,42516,42516,42516,45307,45333,42516,45362,45387,27370,22657,22657,45422,45457,45477,46316,48318,45501,22713,45531,38147,40896,22382,41086,42516,42516,45549,45580,42516,42516,42516,42516,42516,41312,38368,32670,37166,22657,22657,33029,22541,45618,47052,46316,46316,45690,35721,38147,45637,38147,38147,45656,22444,42516,42516,45593,44733,42516,45600,35835,45706,27030,38348,45731,22657,22657,40543,26861,45754,45775,46316,46316,43191,44800,45796,45815,38147,38147,40256,45836,45859,28046,42867,49429,42516,25220,42516,19477,43271,20461,22657,22657,27347,45890,30361,22539,46316,48577,44521,46316,30525,38147,38147,46850,45910,34440,41769,42516,50831,45929,19737,42516,28242,22657,45947,43759,50887,46316,45965,46065,28181,38147,45983,46857,27827,22690,42516,42516,46003,44138,38368,22657,22657,40730,46316,46316,36583,38147,38147,29031,51383,46022,26136,47337,46039,22657,46056,46316,34383,36586,38147,46089,46111,34920,46149,46173,43148,46207,44846,46228,32903,36804,38368,46247,46266,45515,36803,38372,46315,38146,35099,35240,22504,22913,46289,46310,46333,36758,46387,47879,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,27247,51537,42516,42516,23393,42516,46425,46462,46474,46490,46505,46521,46537,46550,26099,46566,25493,25815,46587,26561,21328,46624,21598,42516,46636,46660,46669,46685,46722,46757,46799,32544,46837,46873,41704,47524,33832,37332,35627,34304,46901,42516,44629,46918,39031,46952,46975,47012,47022,48184,31972,27713,43730,47038,31642,47073,47098,47607,47121,47145,47186,47202,47222,47250,47280,47302,42058,42516,47326,47353,42516,42516,47371,47388,46928,47404,47426,47449,47472,29567,47494,47549,47584,47623,47679,36182,44805,36463,37832,40141,38147,32161,32170,47697,42516,45060,42596,50682,47718,42130,47751,46440,36515,21144,38370,47785,29270,22657,44488,47820,47850,47868,40376,46316,45441,47912,47938,47958,43617,38147,38919,47992,41766,29407,48041,42516,27096,48062,42516,50062,40568,48085,38573,48132,48169,30361,48200,48223,48241,48287,48311,47922,47129,22858,48334,43855,34440,40906,48365,50193,42516,22144,48387,48407,44243,48428,22657,49223,47234,48445,46316,47082,50795,48488,38147,33704,22690,42516,48504,48525,42516,20103,22966,48559,32447,40385,48575,48593,50156,48626,48646,48680,42516,33850,39552,21921,26930,48716,48749,48769,48802,45246,48837,48960,48859,48887,32658,28363,48910,33376,48933,48953,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,45621,46231,48976,39991,49005,49029,40039,49057,44903,22755,31692,28429,49073,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,49109,42516,42516,49144,42516,32608,18328,18337,49164,18337,18344,49180,49193,26099,42516,42516,42516,27632,20863,28835,42516,42516,42516,42516,28834,42516,20857,42516,28241,49209,31530,22841,49248,36678,30143,33493,42516,42516,34304,42516,42516,35043,49290,42516,42516,42516,38053,28243,49327,22657,22657,22658,49350,46316,46316,46316,31591,33687,38147,38147,38147,49366,49414,49451,42516,49474,49519,42516,42516,43686,45346,42516,46571,46157,38368,45949,40328,45406,25137,29005,22541,48786,34087,38601,49540,48459,38147,33697,39345,49573,33236,49608,22444,42516,19180,42516,50588,42516,42516,42516,18791,42516,42516,38370,38694,22657,22657,22657,30360,49641,32217,46316,46316,46316,22343,49659,38898,38147,38147,38147,27826,41766,46990,42516,49679,42516,42516,42516,42516,20094,31303,22657,22657,22657,30361,49698,46316,46316,46316,46316,30525,49732,38147,38147,38147,34440,35908,42516,42516,46023,49756,42516,29706,37130,22657,22657,39744,38128,46316,46316,49778,49814,38147,38147,49848,22690,22055,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,34322,43148,47105,28405,38446,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,49890,49913,49938,22448,28385,36584,34366,34779,33418,49954,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,5e4,50082,50038,50059,42516,32349,42516,20487,50078,34283,44986,50101,50114,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,50130,42394,35273,50148,34810,28721,42516,36285,32580,34304,42516,42516,42516,42516,42516,25759,42516,42516,28243,27704,22657,37534,22657,27401,50172,46316,38188,48318,29351,38147,30813,38147,40896,22382,42516,42516,42516,42516,42516,41597,42516,42516,42516,42476,42516,38368,22657,50132,22657,22657,38374,22541,46316,49557,46316,46316,44805,38147,38147,50449,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,50190,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,50209,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,50231,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,50266,42516,22306,42516,45067,50303,50340,42516,50365,50380,50394,50410,50423,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,45894,46314,50439,28325,41965,36365,42516,42516,42516,34304,42516,42516,42516,42516,25694,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,50473,42516,42516,42516,50491,22657,22657,22657,22657,30360,50513,46316,46316,46316,46316,22343,50533,38147,38147,38147,38147,27826,41766,42516,42516,29399,42516,42516,42516,42516,23255,22657,22657,50557,22657,50575,22539,46316,43245,46316,33180,30525,38147,47942,38147,38147,50611,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,26324,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,48543,50631,50644,26099,42516,42516,42516,27632,50660,42516,50680,42516,42516,42516,29122,42516,21452,29118,32973,50698,44948,35273,50716,34810,28721,42516,42516,42516,50750,27264,27883,43515,42516,42516,42516,42516,42516,28243,22657,43166,22657,49088,27401,46316,30696,30175,48318,38147,38147,50786,27533,40896,50811,50827,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,51530,42516,42516,42516,38370,22657,27966,22657,22657,27206,22540,46316,36563,46316,46316,48225,30533,38147,43345,38147,38147,27826,41766,21110,42516,42516,42516,42516,42516,42516,23255,36082,22657,22657,22657,30361,22539,50847,46316,46316,46316,30525,40490,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,42516,42516,42516,42516,46741,49861,51029,26099,24903,42516,42516,27632,42516,42516,20017,42516,42516,42516,42516,20023,42516,42516,50868,36101,46314,27462,29927,45874,41719,42516,29087,42516,34304,42516,42516,42516,42516,42516,42516,42516,42872,28243,22657,22657,22657,47797,27401,46316,46316,22542,48318,38147,38147,38147,27479,40896,22382,42516,50903,42516,42516,42516,42516,42516,42516,42150,42516,42516,38368,46183,22657,41900,22657,38374,22541,50922,46316,37779,46316,44805,36603,38147,38147,40222,38147,32923,22444,42516,50475,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,50942,22657,22657,30360,50961,30499,50994,46316,46316,22343,49789,39662,51012,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,48664,23255,22657,22657,32677,22657,28304,22539,46316,46316,51045,46316,51063,38147,38147,50725,38147,44006,41769,42516,42516,50906,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,48656,42516,42516,47372,42516,31381,22657,22657,34817,46316,46316,40751,38147,38147,40469,42516,42516,51087,42516,38373,28681,28384,46316,51106,36586,34742,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,51361,42516,42516,42516,42516,51537,42516,42516,42516,42516,25917,19962,42516,42516,42516,46741,49861,51029,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,28721,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,27401,46316,46316,46316,48318,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,46123,30288,30286,49299,30156,51124,22408,22410,49308,30152,46133,51161,51174,21040,42516,42516,42516,27632,42516,42516,31797,42516,42516,42516,42516,42516,42516,42516,32629,20505,20792,18990,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,51190,25598,18486,18508,19308,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,30409,42516,25917,39868,39877,51215,51230,51237,29448,51253,21040,42516,42516,42516,27632,42516,42516,51474,42516,42516,42516,23517,42516,42516,23514,32629,20505,21066,18953,21068,18866,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,18459,25598,18486,18508,51199,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,36374,42516,42516,42516,42516,31102,50349,51296,51323,51307,51330,32370,51346,21040,42516,42516,42516,27632,42516,42516,51474,51382,42516,26083,42516,42516,42516,26079,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,18315,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,51399,25598,18486,18508,21522,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,20235,20264,20301,20317,20346,20333,20349,20365,20381,20397,20422,20606,20438,20477,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,21141,42516,42516,42516,42516,48069,42516,42516,42516,42516,25917,42516,42516,42516,42516,42516,42516,42517,26099,42516,42516,42516,27632,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,28241,22657,46314,35273,38147,34810,46363,42516,42516,42516,34304,42516,42516,42516,42516,42516,42516,42516,42516,28243,22657,22657,22657,22657,22341,46316,46316,46316,39789,38147,38147,38147,38147,40896,22382,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38368,22657,22657,22657,22657,38374,22541,46316,46316,46316,46316,44805,38147,38147,38147,38147,38147,32923,22444,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,38370,22657,22657,22657,22657,30360,22540,46316,46316,46316,46316,22343,30533,38147,38147,38147,38147,27826,41766,42516,42516,42516,42516,42516,42516,42516,23255,22657,22657,22657,22657,30361,22539,46316,46316,46316,46316,30525,38147,38147,38147,38147,34440,41769,42516,42516,42516,42516,42516,28242,22657,22657,22657,37745,46316,46316,46316,37798,38147,38147,38147,27827,22690,42516,42516,42516,42516,38368,22657,22657,40730,46316,46316,36583,38147,38147,40469,42516,42516,42516,42516,38373,22657,28384,46316,46316,36586,38147,27827,22690,34920,42516,38372,43148,46316,28405,38147,22683,36804,38368,28385,28404,30535,36803,38372,46315,38146,28238,43147,27775,22913,28244,40729,36585,22448,28385,36584,34366,22755,31692,28429,22929,23e3,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,23494,42516,42516,45092,51424,51429,51429,51451,23492,51445,51467,42516,42516,42516,42516,42516,42516,51474,42516,42516,42516,42516,42516,42516,42516,32629,20505,21066,18953,21068,19019,18919,18270,40105,18293,51497,42516,42516,18360,42516,49435,42820,18380,18411,18395,18574,19226,18433,20169,51190,25598,18486,18508,19308,18465,25604,18492,18514,20728,18530,42516,30418,42516,42516,42516,50250,25964,50770,42516,18553,39446,18564,20175,20411,20131,20505,23879,18590,26008,18612,18632,18596,18470,18594,26012,18616,18636,20798,20741,20757,42516,18652,18689,18711,18748,18695,18788,42516,41546,48871,18807,18835,19802,18823,19840,25206,18851,18904,18942,18979,19680,19006,18851,18904,18942,18979,19680,19045,20750,46697,19097,19132,20936,31767,19148,19174,19196,20141,20921,19788,19212,19242,19278,25525,20579,19301,19596,19271,25518,20572,19294,19589,19324,19353,35639,19379,39467,19401,41728,19421,19500,24458,19544,19575,19614,19632,19650,19559,19612,19630,19648,19666,19029,19696,19712,19728,19753,19773,19830,19435,19449,19888,19905,19856,19887,19904,19921,19947,19984,20043,20080,20119,20157,20536,20191,20213,20542,20197,20219,19931,51517,20264,20301,20317,20346,20333,20349,20365,51553,20397,20422,20606,20438,20453,20503,21067,21068,20521,20558,20595,20622,20652,23888,18878,20683,20699,20715,20779,20814,20880,20890,20906,19463,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,42516,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,0,94506,90409,94506,94506,94506,94506,94506,94506,94506,94506,94506,365,94506,90409,94506,94506,94506,94506,94506,94506,94506,69632,73728,94506,94506,94506,94506,94506,65536,94506,12290,3,0,0,2183168,0,0,0,90409,94506,299,300,0,2134016,303,304,304,304,304,304,304,304,0,0,0,0,0,304,0,304,1,289,3,0,0,0,295,0,0,0,0,0,0,0,0,0,0,796,0,796,0,0,0,0,0,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,650,0,0,0,0,0,0,0,0,0,2904064,2908160,0,0,0,0,0,0,0,0,0,0,0,1685,1686,0,1688,0,0,0,0,3117056,0,0,0,0,0,0,0,365,365,0,0,0,0,0,0,448,0,0,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,559,582,559,582,559,559,582,0,0,0,2138112,0,0,0,0,0,0,0,0,0,0,0,0,0,2991,0,0,0,2772992,2805760,2830336,0,2863104,2920448,0,0,0,0,0,0,0,2805760,2920448,0,0,0,0,0,0,0,2732032,0,2179072,2179072,2179072,2179072,2424832,2433024,0,0,0,0,0,2920448,0,0,0,0,0,0,0,0,0,0,0,1702,0,1704,0,0,2179072,2830336,2179072,2179072,2863104,2179072,2179072,2179072,2179072,2920448,2179072,2179072,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2126737,2126737,2593681,2126737,2126737,2126737,2126737,0,914,2125824,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,2125824,2125824,2125824,2125824,2723840,2125824,2732032,2772992,2125824,2125824,2125824,2805760,2125824,2830336,2125824,2125824,2863104,2125824,2125824,2125824,2125824,2920448,2125824,2125824,2125824,2125824,2125824,2920448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3117056,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2457600,2125824,2125824,2125824,2125824,2183168,0,0,0,0,0,0,0,0,0,0,661,0,661,0,0,0,2408448,0,0,2584576,0,0,0,0,2838528,0,0,2838528,0,0,0,0,0,2179072,2179072,2179072,2408448,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2625536,2179072,2179072,0,2125824,2125824,2125824,2408448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3125248,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2662400,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2801664,2813952,2125824,2125824,2801664,2813952,2125824,2838528,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2461696,0,0,0,0,0,0,0,0,0,0,0,0,2600960,0,0,0,0,0,0,2441,0,0,0,0,0,0,0,0,0,0,2493,2494,0,0,2497,0,2768896,2777088,2781184,0,2822144,0,0,2883584,0,0,0,0,0,0,0,0,0,0,0,0,3055616,0,0,0,3080192,3100672,3104768,0,0,0,0,3186688,0,0,0,0,0,0,0,307,204800,0,0,0,0,0,0,0,0,0,111051,111051,111051,111051,111051,111051,111051,111051,1,0,0,0,0,0,2797568,0,0,0,0,0,0,0,2850816,2867200,0,0,0,0,0,441,0,0,332,468,468,468,468,468,468,468,468,468,468,468,468,468,468,468,468,0,0,3133440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2131,0,0,0,0,0,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2461696,2465792,2179072,2768896,2777088,2781184,2797568,2822144,2179072,2179072,2179072,2883584,2179072,2912256,2179072,2179072,2179072,2179072,2179072,2179072,2523136,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2600960,0,0,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2461696,2465792,2125824,0,1142784,0,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2592768,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,24576,988,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2523136,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2600960,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,541,1272,541,541,541,541,2125824,2125824,2125824,2641920,2125824,2125824,2125824,2125824,2125824,2125824,2719744,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,2125824,2125824,2125824,2125824,2125824,2125824,299,0,0,0,299,0,300,0,0,0,2768896,2777088,2781184,2797568,2822144,2125824,2125824,2125824,2883584,2125824,2912256,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,2125824,2126812,2125824,2125824,2125824,2125824,2125824,2125824,3133440,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3207168,2125824,0,0,0,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,0,0,0,0,0,0,2510848,2514944,0,0,2125824,2125824,3133440,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3207168,2125824,2179072,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,300,0,0,0,0,0,0,2764,0,0,0,0,0,0,0,0,0,0,2059,2060,0,2062,2063,0,0,0,0,2605056,0,0,0,0,2887680,0,2924544,0,0,0,0,0,0,0,2108,0,0,0,0,0,0,0,0,0,0,0,0,0,1177,0,0,0,0,0,0,3162112,3170304,0,0,3219456,3035136,0,0,0,0,0,3072e3,3190784,0,0,0,0,0,0,0,0,2576384,0,0,0,0,0,0,0,334,0,0,334,0,0,334,0,0,0,0,0,0,0,2387968,0,0,0,0,0,0,0,0,0,0,0,2050,0,0,0,0,3121152,3141632,0,0,0,2924544,0,2682880,0,0,0,0,0,0,3112960,2387968,2924544,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3035136,2179072,2179072,3072e3,2179072,2179072,2179072,2179072,2699264,2179072,2715648,2179072,2723840,2179072,2732032,2772992,2179072,2179072,2179072,2805760,3121152,2179072,2179072,3141632,2179072,2179072,2179072,3170304,2179072,2179072,3190784,3194880,2179072,0,0,0,0,0,0,541,1734,541,541,541,541,541,541,1740,541,2125824,3190784,3194880,2125824,0,0,0,0,0,0,2387968,2125824,2125824,2125824,2420736,2125824,2125824,2125824,2125824,2125824,2453504,2125824,2473984,2125824,2736128,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2887680,2125824,2125824,2924544,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,0,2125824,2125824,2125824,2125824,2125824,3141632,2125824,2125824,2125824,3170304,2125824,2125824,3190784,3194880,2125824,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,299,0,300,3112960,3219456,2125824,2125824,3112960,3219456,2125824,2125824,3112960,3219456,0,0,0,0,0,0,0,347,0,405,0,0,0,0,0,405,3022848,0,0,3145728,0,3203072,0,0,0,0,0,0,0,0,0,0,0,2072,0,0,0,0,0,0,0,3067904,0,0,0,0,0,0,0,0,0,0,0,0,0,3003,0,0,0,0,0,2621440,0,3182592,2899968,0,2961408,0,0,2179072,2179072,2416640,2179072,2179072,2179072,2179072,2928640,2179072,2179072,2179072,2998272,2179072,2179072,2179072,2179072,3059712,2179072,2179072,2179072,2179072,3178496,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2494464,2125824,2125824,0,2179072,2125824,2125824,0,2179072,2125824,2125824,2985984,2985984,2985984,2985984,0,0,0,0,0,0,2490,0,0,0,0,0,0,0,0,0,335,0,0,0,0,0,0,2179072,2445312,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2551808,2179072,2179072,2179072,2179072,3178496,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2495377,2126737,2126737,2126737,2126737,2126737,3179409,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2495451,2126811,2895872,2916352,2179072,2179072,2945024,2179072,2179072,2994176,2179072,3002368,2179072,2179072,3022848,2179072,3067904,3084288,2125824,3096576,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3223552,0,0,2125824,2125824,2416640,3096576,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3223552,0,0,2125824,2125824,2416640,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3035136,2125824,2125824,3072e3,2125824,2125824,2125824,3121152,2125824,2125824,3141632,2125824,2125824,2125824,3170304,2125824,2125824,2125824,2125824,2445312,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2551808,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2637824,2125824,2125824,2125824,2125824,2727936,2752512,2125824,2125824,2125824,2125824,2842624,2846720,2842624,2846720,2125824,2895872,2916352,2125824,2125824,2945024,2125824,2125824,2994176,2125824,3002368,2125824,2125824,3022848,2125824,3067904,2125824,3067904,3084288,2125824,3096576,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3223552,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3039232,2125824,3063808,2125824,2125824,2125824,2125824,2125824,3100672,2547712,2596864,0,0,0,0,0,0,0,0,0,0,0,0,0,3178496,2670592,0,2744320,0,0,0,0,0,2928640,0,0,0,3059712,0,2543616,2666496,0,2633728,0,0,0,0,0,0,2494464,0,0,0,0,0,0,0,0,0,2780,0,0,0,0,2785,0,0,0,0,2957312,0,0,0,0,0,0,0,0,0,0,0,0,0,3188,0,0,0,0,3211264,0,0,0,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2494464,2179072,2179072,2179072,2707456,2179072,2736128,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2887680,2179072,2179072,2179072,2179072,2641920,2179072,2179072,2179072,2179072,2179072,2179072,2719744,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3137536,2126737,2126737,2499473,2126737,2126737,2126737,2556817,2565009,2179072,2514944,2179072,2179072,2179072,2543616,2547712,2179072,2179072,2596864,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3039232,2179072,3063808,2179072,2179072,2179072,2179072,3100672,2125824,2125824,2125824,2125824,2125824,3178496,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2494464,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,1080,1084,0,0,1088,2125824,2514944,2125824,2125824,2125824,2543616,2547712,2125824,2125824,2596864,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2928640,2125824,2125824,2125824,2998272,2125824,2125824,2125824,2125824,3059712,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3178496,2179072,2125824,2125824,2179072,2179072,2125824,2125824,2125824,2125824,0,2486272,0,0,0,0,0,2678784,2854912,3006464,2441216,0,0,0,0,0,0,0,0,0,2932736,2965504,0,0,3076096,0,0,0,0,0,444,0,0,0,0,0,0,0,0,0,0,407,0,0,0,0,0,0,2695168,3174400,2646016,2613248,2703360,0,0,0,0,2977792,0,0,3047424,3129344,0,0,0,0,0,645,0,0,648,649,0,0,0,0,0,0,0,725,0,0,0,0,0,0,0,0,0,743,0,0,0,0,0,0,0,0,0,0,0,0,2769,0,0,0,2981888,2396160,0,3153920,0,0,0,0,0,0,0,0,2740224,0,0,0,0,0,0,541,3027,541,541,541,541,541,541,541,541,541,2584,541,541,541,0,0,0,0,0,2793472,0,0,0,0,0,2469888,2506752,2756608,0,0,2580480,0,0,0,0,0,0,2517,0,0,0,0,0,0,0,0,541,541,541,3029,541,541,541,541,541,541,0,2396160,2400256,2179072,2179072,2441216,2179072,2469888,2179072,2179072,2179072,2519040,2179072,2179072,2179072,2179072,2179072,2179072,2801664,2813952,2179072,2838528,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2453504,2179072,2473984,2482176,2179072,2179072,2179072,2179072,2588672,2179072,2613248,2646016,2179072,2179072,2695168,2756608,2179072,2179072,2179072,2932736,2179072,2179072,2179072,2179072,2179072,3117056,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2584576,2179072,2179072,2125824,2125824,2125824,2519040,2125824,2125824,2125824,2125824,2588672,2125824,2613248,2646016,2125824,2125824,2695168,2756608,2125824,2125824,2125824,2125824,2932736,2125824,2125824,2125824,2125824,2125824,2932736,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3129344,2125824,2125824,3153920,3166208,3174400,2506752,2506752,2506752,0,3108864,3198976,0,0,3043328,0,3149824,2936832,0,2760704,3180,2437120,0,0,0,0,0,0,646,0,0,0,0,651,652,653,654,655,0,0,0,0,0,2953216,0,0,2826240,3158016,2428928,0,3018752,2764800,2572288,0,0,0,0,0,677,0,0,0,0,0,0,0,0,0,0,0,2741,0,0,0,0,0,3051520,2179072,2428928,2437120,2179072,2486272,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2654208,2678784,2760704,2764800,2854912,2969600,2179072,3006464,2179072,3018752,2179072,2179072,2179072,3149824,2125824,2428928,2437120,2969600,2125824,3006464,2125824,3018752,2125824,2125824,2125824,2125824,3149824,2125824,2428928,2437120,2125824,2486272,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2654208,2678784,2760704,2764800,2785280,2854912,2969600,2125824,3006464,2125824,3018752,2125824,2125824,2125824,2125824,3149824,2179072,3051520,2125824,3051520,2125824,3051520,0,2490368,2498560,0,0,0,0,2875392,0,0,0,3180,0,0,0,0,0,0,2834432,0,3227648,2568192,2564096,0,2940928,2179072,2179072,2498560,2179072,2179072,2179072,2555904,2564096,2179072,2179072,2179072,2617344,2179072,2179072,2179072,2179072,2179072,2179072,2662400,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3137536,2125824,2125824,2498560,2125824,2125824,2125824,2555904,2564096,2125824,2555904,2564096,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3137536,2940928,2940928,0,0,0,0,0,2748416,2879488,0,0,0,0,0,0,0,0,0,2519,0,0,0,0,0,541,2940928,0,0,0,0,0,2748416,2879488,0,3180,0,0,0,0,0,0,0,375,0,0,0,0,0,0,0,360,0,0,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2125824,0,2502656,0,0,3010560,0,0,0,0,0,0,0,0,2990080,2179072,2179072,2179072,3129344,2179072,2179072,3153920,3166208,3174400,2396160,2400256,2125824,2125824,2441216,2125824,2469888,2125824,2125824,2125824,2519040,2125824,2125824,2179072,2502656,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3010560,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2605056,2125824,2629632,2125824,2125824,2650112,2125824,2125824,2125824,2707456,2125824,2736128,2125824,2125824,2125824,2125824,2125824,2502656,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3010560,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3137536,2125824,2125824,2498560,2125824,2125824,2502656,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3010560,2125824,2125824,2125824,0,0,0,0,0,0,2739,0,0,0,0,0,0,0,2743,0,0,0,2592768,0,0,0,0,0,0,2179072,2179072,2179072,2179072,2179072,2592768,2179072,2179072,2179072,3129344,2179072,2179072,3153920,3166208,3174400,2397073,2401169,2126737,2126737,2442129,2126737,2470801,2125824,2125824,2449408,0,2535424,3031040,2859008,0,0,0,0,0,2179072,2449408,2179072,2535424,2179072,2609152,2179072,2859008,2179072,2179072,2179072,3031040,2125824,2449408,2125824,2535424,2125824,2609152,2125824,2859008,2125824,2125824,2125824,3031040,2125824,2125824,2449408,2125824,2535424,2125824,2609152,2125824,2859008,2125824,2125824,2125824,0,2179072,2125824,2125824,2457600,2179072,2179072,2179072,2179072,2457600,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,0,1727,0,0,1728,0,3031040,2125824,2527232,0,0,0,0,0,2179072,2527232,2179072,2179072,2179072,2179072,2179072,2125824,2126738,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3125248,2125824,2125824,2125824,2125824,2125824,2527232,2125824,2125824,2125824,2125824,2125824,3092480,2125824,2527232,2125824,2125824,2125824,2125824,2125824,3092480,0,0,0,0,0,693,0,0,0,0,0,0,365,365,365,0,0,0,0,0,707,708,0,0,0,0,0,714,0,0,0,0,0,0,703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3020,3026944,0,0,0,2404352,2179072,2179072,2179072,2179072,3026944,2404352,2125824,2125824,2125824,2125824,3026944,0,2539520,0,2949120,2179072,2658304,2973696,2179072,2125824,2658304,2973696,2125824,2125824,2658304,2973696,2125824,0,2711552,256e4,2179072,256e4,2125824,256e4,2125824,0,2179072,2179072,2531328,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2605056,2179072,2629632,2179072,2179072,2650112,0,0,2809856,0,0,0,0,0,0,0,0,0,0,3088384,0,0,0,0,0,442,0,0,454,470,470,470,470,470,470,470,470,470,470,480,470,470,470,470,470,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,459,459,111051,459,459,459,459,459,459,459,459,459,111051,111051,111051,111051,111051,111051,111051,111051,111051,111051,459,111051,111051,111051,459,111051,111051,111051,111051,111051,0,0,0,0,0,0,0,0,0,2795,0,0,0,0,0,0,12290,3,0,0,2183168,0,0,0,0,0,299,300,0,2134016,303,304,2125824,1060,0,0,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,1060,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,662,0,662,0,0,0,0,303,118784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2434,0,303,303,303,303,303,303,303,0,0,0,0,0,303,0,303,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2155,0,12290,3,0,0,2183168,0,0,0,0,0,33403,300,0,2134016,49791,304,2105632,12290,3,0,0,294,0,0,0,0,294,0,0,0,0,0,0,0,2124,0,0,0,0,0,0,0,0,0,788,814,0,814,809,0,0,0,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,0,0,0,122880,0,122880,122880,122880,0,0,0,0,0,122880,0,0,122880,0,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,0,0,0,0,0,3002,0,0,0,0,0,0,0,0,122880,122880,122880,122880,122880,122880,122880,122880,122880,0,0,122880,0,0,0,0,0,0,0,0,0,0,712,0,0,0,716,0,0,0,147456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2459,0,1092,0,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,728,0,0,0,0,0,1823,2125824,2125824,2125824,2408448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,1919,2125824,2125824,2125824,0,0,0,131072,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,740,407,0,0,0,0,0,0,0,0,0,0,1158,0,0,0,0,0,0,131072,0,0,131072,131072,0,0,0,0,0,0,0,131072,0,0,131072,0,0,131072,0,0,0,0,135168,135168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2756,0,0,0,0,135168,0,0,135168,0,0,0,0,0,0,0,0,0,0,735,0,797,0,0,0,0,0,0,0,135168,0,135168,135168,135168,135168,135168,135168,0,135168,135168,135168,135168,135168,135168,135168,0,0,0,0,0,135168,0,135168,1,12290,3,0,0,2183168,0,0,0,0,0,636,637,0,2134016,640,641,0,1361,2125824,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,987,2125824,2125824,2125824,2125824,0,304,139264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225709,0,12290,3,0,0,2183168,0,0,0,0,0,299,33406,0,2134016,303,49794,0,61440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3178,0,304,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,757,0,0,0,0,762,301,301,301,143661,371,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,143661,301,301,143661,301,301,301,143731,301,301,301,143731,69632,73728,301,301,143661,301,301,65536,301,301,301,301,301,143661,143661,143661,143661,143661,143661,143661,143661,143661,301,301,143661,301,301,301,301,301,301,301,301,301,366,301,0,143661,301,301,301,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,143661,301,301,301,143661,301,143661,143661,143661,143661,143661,143731,143661,143731,143731,143731,143731,143731,143731,143731,143661,143661,143661,143661,143661,143661,143661,143661,1,301,143661,301,143661,143661,143661,143661,143661,143661,301,0,301,0,301,301,301,301,301,301,301,301,301,143661,301,143661,143661,143661,143661,301,0,0,0,3117056,0,0,0,0,0,0,0,2200252,2200252,0,0,0,0,0,0,662,0,0,0,0,0,541,541,541,541,541,541,541,541,2168,541,541,541,0,0,0,0,0,155648,155648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,325,0,0,0,0,155648,155648,0,155648,155648,155648,155648,155648,155648,155648,155648,155648,0,0,0,0,155648,0,0,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,0,0,0,0,0,155648,0,155648,0,0,0,0,0,155648,0,0,0,0,0,155648,155648,0,155648,155648,0,12290,3,0,0,2183168,126976,0,0,0,0,299,300,0,2134016,303,304,0,0,0,3117056,0,0,0,0,0,0,0,365,0,0,0,0,0,0,0,3563,0,541,541,541,541,541,541,541,541,541,3209,541,541,541,541,541,159744,159744,159744,159744,0,0,159744,0,0,0,0,0,0,0,0,159744,0,0,0,0,0,0,0,159744,159744,159744,163840,159744,159744,159744,159744,159744,0,0,0,0,0,0,0,0,0,2805,0,541,541,541,541,541,0,25162,0,0,0,159744,0,0,0,25162,25162,25162,159744,25162,25162,25162,25162,25162,25162,25162,25162,159744,159744,159744,159744,25162,159744,25162,1,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,1,167936,167936,167936,167936,0,0,167936,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,167936,167936,0,0,0,0,0,0,0,0,0,2976,0,0,0,0,0,0,0,0,0,2138112,1183,0,0,0,0,0,0,0,0,0,0,0,0,3168,0,0,0,0,0,0,0,0,172032,0,172032,0,0,0,0,0,0,0,0,0,365,0,293,0,0,0,348,172032,172032,0,0,172032,0,0,172032,172032,0,172032,0,0,0,0,172032,172032,0,0,0,0,0,0,0,0,0,0,172032,0,0,0,0,0,0,2777,0,0,0,0,0,0,2784,0,0,0,0,0,0,2986,2987,0,2988,0,2990,0,0,0,0,0,0,0,69632,73728,0,135168,135168,0,0,65536,135168,172032,0,172032,172032,0,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,0,0,0,0,0,0,0,0,0,3014,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,1,176128,176128,176128,176128,0,0,176128,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,176128,176128,0,0,0,0,0,0,0,0,0,3175,0,0,0,0,0,0,0,3,78115,78115,293,0,634,0,0,0,299,300,0,2134016,303,304,1164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,361,541,541,1308,541,541,541,541,541,541,541,541,541,541,541,541,541,0,0,2242,0,914,563,563,563,563,563,563,563,563,563,563,563,563,563,563,0,0,587,587,587,1203,541,587,563,541,541,541,541,541,563,563,563,563,3070,563,563,563,563,3074,563,563,587,587,587,587,587,1079,0,0,0,0,0,0,0,0,0,0,1102,0,0,0,0,0,0,0,229376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,0,1691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3201,563,563,587,587,587,587,0,0,0,0,0,0,0,0,0,0,541,541,541,541,3569,541,541,0,0,563,563,563,563,563,563,563,2251,563,563,563,563,563,563,587,3109,587,587,587,587,587,587,587,587,2407,587,587,587,587,587,2412,2413,563,563,2288,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3541,587,587,587,2375,587,587,587,587,587,587,587,587,587,587,587,587,587,1497,587,587,0,0,0,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1439,0,3007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3317,541,541,541,541,3038,541,541,541,541,541,541,541,541,541,541,541,541,1300,541,541,541,563,563,563,3078,563,563,563,563,563,563,563,563,563,563,563,563,1401,563,563,563,587,587,587,587,3120,587,587,587,587,587,587,587,587,587,587,587,1042,587,587,587,587,0,3159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155648,3214,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1359,563,563,563,587,3259,587,587,587,3262,587,587,587,587,587,587,587,541,541,563,563,587,587,0,0,0,0,0,0,0,0,0,0,3609,541,541,541,587,587,3270,587,587,587,587,587,587,587,587,587,587,587,587,587,1498,587,587,541,541,541,3330,3331,541,541,541,541,541,541,541,541,563,563,563,563,3581,563,563,563,563,563,3349,563,563,563,563,563,563,563,563,563,587,587,587,587,587,587,587,587,0,541,541,541,3406,541,541,541,541,563,563,563,563,563,563,3415,563,0,587,587,587,587,587,291,1079,0,0,0,0,0,0,0,0,0,249856,249856,249856,249856,249856,249856,249856,249856,1,587,3431,587,587,587,587,587,587,3437,587,587,587,3441,587,541,563,563,3473,563,563,563,563,3478,563,563,563,563,3483,563,563,563,563,977,563,563,563,563,0,587,587,587,587,587,587,1931,587,587,587,587,587,587,587,587,587,2678,587,587,587,2681,587,587,0,0,3456,541,541,541,541,541,541,541,541,541,541,541,541,541,0,2586,0,541,3471,563,563,563,563,563,563,563,563,563,563,563,563,563,563,0,2327,563,3487,587,587,587,587,587,587,587,587,587,587,587,587,587,587,0,0,563,563,587,587,587,587,0,0,541,541,563,563,587,587,0,541,541,541,3205,541,541,541,541,541,541,541,3210,541,541,541,541,541,541,2816,541,541,2820,541,541,541,541,541,541,541,541,3041,541,541,541,541,541,541,541,541,2556,541,541,541,541,541,541,541,541,2233,541,541,541,541,541,0,0,563,587,0,541,563,587,0,541,563,587,0,541,563,587,0,0,0,0,0,0,0,0,0,3510,0,0,0,0,541,541,541,541,541,2165,541,541,541,541,541,541,541,541,3616,563,563,563,563,563,563,563,2265,563,563,563,563,2270,563,563,563,184932,184932,184932,184932,184932,184932,184932,0,0,0,0,0,184932,0,184932,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,301,301,0,0,301,301,143661,301,301,301,301,301,301,301,301,301,301,301,143731,301,301,301,301,12290,3,78115,78115,293,0,0,0,0,0,299,300,0,2134016,303,304,587,0,0,188416,541,587,563,541,541,541,541,541,563,563,563,563,587,587,587,587,0,0,0,0,2731,0,0,0,0,305,0,0,0,0,0,0,0,0,0,0,0,0,0,249856,0,0,0,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,0,192972,0,1,0,0,0,0,0,192972,192972,192972,192972,192972,192972,192972,192972,192972,192972,0,0,192972,0,0,0,0,0,0,0,0,0,0,1145,365,365,0,0,1148,192972,192972,192972,0,192972,192972,192972,192972,192972,0,0,0,0,0,0,0,0,0,3304,0,3180,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,407,407,407,407,407,407,407,0,0,0,0,0,407,0,407,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,118784,299,12290,3,78115,78115,293,0,0,0,0,0,299,300,0,302,303,304,587,0,0,740,541,587,563,541,541,541,541,541,563,563,563,563,587,587,587,587,0,0,2729,0,0,0,0,0,0,740,1184,0,0,0,0,1188,0,0,0,0,0,0,0,378,0,381,0,0,0,381,0,0,563,587,587,587,587,587,1079,1559,0,0,0,1565,0,0,0,1571,2034,0,0,0,0,1577,2036,0,0,0,0,0,0,0,397,0,0,0,0,0,397,0,0,0,0,0,1577,0,0,0,0,0,0,0,0,0,0,0,0,0,262144,0,0,0,0,0,1188,1669,0,0,0,0,0,0,0,0,0,0,0,0,3177,0,0,0,563,563,587,587,587,587,1559,2030,0,0,0,0,1565,2032,0,0,0,0,0,0,2997,0,0,0,0,0,0,0,0,0,0,1586,1587,0,0,0,0,0,0,0,0,1669,0,0,0,0,0,0,0,0,0,0,0,0,106496,0,0,0,0,0,0,2034,0,2036,0,0,0,0,0,0,0,0,0,0,0,0,0,1150976,0,0,0,0,0,563,563,563,563,2325,2652,0,0,0,0,587,587,587,587,587,587,587,587,587,587,587,587,587,2343,0,307,0,307,0,0,0,0,0,0,0,0,0,307,0,0,0,0,0,0,3011,0,0,0,0,3016,3017,0,3019,0,0,0,0,0,204800,204800,0,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,205107,204800,204800,205106,205107,204800,205106,205106,204800,204800,0,0,0,0,0,0,0,0,0,122880,0,122880,122880,122880,122880,122880,12290,3,0,0,2183801,0,0,0,0,0,299,300,151552,2134016,303,304,0,212992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172032,0,0,151552,0,0,0,0,0,0,0,0,0,0,0,0,0,303,0,0,0,0,0,3117056,0,0,0,0,0,0,0,0,2200253,0,0,0,0,0,0,678,0,0,0,0,0,0,0,0,0,0,2977,0,0,0,0,0,0,914,2126737,2126737,2126737,2126737,2126737,2425745,2433937,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3138449,2126811,2126811,2499547,2126811,2126811,2126737,2724753,2126737,2732945,2773905,2126737,2126737,2126737,2806673,2126737,2831249,2126737,2126737,2864017,2126737,2126737,2126737,2126737,2126811,2126811,2126811,2126811,2126811,2593755,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3036123,2126811,2126811,3072987,2126811,2126811,2126811,3122139,2126811,2126737,2126737,2921361,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3117969,2126737,0,2126811,2126811,2126811,2126811,2126811,0,0,0,0,0,0,0,0,0,0,1190,0,0,0,0,0,2126811,2425819,2434011,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3126235,2126811,2126811,2126811,2126811,2126811,2626523,2126811,2126811,2126811,2126811,2126811,2126811,2700251,2126811,2716635,2126811,2724827,2126811,2733019,2773979,2126811,0,2502656,0,0,3010560,0,0,0,0,0,0,0,0,2990080,2179072,2179072,3125248,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2592768,2125824,2125824,2125824,2125824,2126811,2126811,2806747,2126811,2831323,2126811,2126811,2864091,2126811,2126811,2126811,2126811,2921435,2126811,2126811,2126811,0,2179072,2126811,2126737,2457600,2179072,2179072,2179072,2179072,2458513,2126737,2126737,2126737,2126737,2126737,2524049,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2601873,2126737,2126737,2458587,2126811,2126811,2126811,2126811,2183168,0,0,0,0,0,0,0,0,0,0,1206,0,1208,0,0,0,0,2126737,2126737,2126737,2409361,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,0,0,2126811,2126811,2126811,2409435,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2839515,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3118043,2126811,2126811,2126811,2126811,2126811,2126811,2126811,0,0,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2462609,2466705,2126737,2126737,2126737,2642833,2126737,2126737,2126737,2126737,2126737,2126737,2720657,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3040145,2126737,3064721,2126737,2126737,2126737,2126737,2126737,3101585,2769809,2778001,2782097,2798481,2823057,2126737,2126737,2126737,2884497,2126737,2913169,2126737,2126737,2126737,2126737,2126737,2126737,2626449,2126737,2126737,2126737,2126737,2126737,2126737,2700177,2126737,2716561,2126737,2126737,3134353,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3208081,2126737,0,0,0,0,0,0,3026,541,541,541,541,541,541,541,541,541,541,1352,541,541,541,541,541,0,0,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2462683,2466779,2126811,2126811,2126811,2126811,2126811,2929627,2126811,2126811,2126811,2999259,2126811,2126811,2126811,2126811,3060699,2126811,2126811,2126811,2126811,2454491,2126811,2474971,2483163,2126811,2126811,2126811,2126811,2126811,2126811,2532315,2126811,2126811,2126811,2446299,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2552795,2769883,2778075,2782171,2798555,2823131,2126811,2126811,2126811,2884571,2126811,2913243,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3130331,2126811,2126811,3154907,3167195,3175387,2506752,2507739,2507665,2126811,2126811,3134427,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3208155,2126811,2179072,2126811,2126811,2126811,2642907,2126811,2126811,2126811,2126811,2126811,2126811,2720731,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3040219,2126811,3064795,2126811,2126811,2126811,2126811,2126811,3101659,0,0,0,2388881,2126737,2126737,2126737,2421649,2126737,2126737,2126737,2126737,2126737,2454417,2126737,2474897,2483089,2126737,2126737,2126737,2126737,2126737,2126737,2532241,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2605969,2126737,2630545,2126737,2126737,2651025,2126737,2126737,2126737,2708369,2126737,2737041,2126737,2126737,2126737,2126737,2126737,2126737,2663313,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,0,0,988,2126811,2126811,2126811,2126811,3036049,2126737,2126737,3072913,2126737,2126737,2126737,3122065,2126737,2126737,3142545,2126737,2126737,2126737,3171217,2126737,2126737,2126737,2888593,2126737,2126737,2925457,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,986,2126811,2126811,2126811,2126811,2126811,2126811,2126737,3191697,3195793,2126737,0,0,0,0,0,0,2388955,2126811,2126811,2126811,2421723,2126811,2126811,2449408,0,2535424,3031040,2859008,0,0,0,0,0,2179072,2449408,2179072,2535424,2126811,2737115,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2888667,2126811,2126811,2925531,2126811,2126811,2126811,2126811,2126811,2585563,2126811,2126811,2126811,2126811,2126811,2618331,2126811,2126811,2126811,2126811,2126811,2126811,2606043,2126811,2630619,2126811,2126811,2651099,2126811,2126811,2126811,2708443,2126811,3142619,2126811,2126811,2126811,3171291,2126811,2126811,3191771,3195867,2126811,2179072,2126811,2126737,2179072,2179072,2179072,2637824,2179072,2179072,2179072,2179072,2727936,2752512,2179072,2179072,2179072,2842624,2846720,2179072,3112960,3219456,2126737,2126737,3113873,3220369,2126811,2126811,3113947,3220443,0,0,0,0,0,0,0,415,415,0,0,0,0,0,415,0,3096576,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3223552,0,0,2126737,2126737,2417553,2126737,2126737,2126737,2126737,2929553,2126737,2126737,2126737,2999185,2126737,2126737,2126737,2126737,3060625,2126737,2126737,2126737,2126737,2933649,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3130257,2126737,2126737,2126737,2519953,2126737,2126737,2126737,2126737,2589585,2126737,2614161,2646929,2126737,2126737,2696081,2757521,2126737,2446225,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2552721,2126737,2126737,2126737,2638737,2126737,2126737,2126737,2126737,2728849,2753425,2126737,2126737,2126737,2126737,2843537,2847633,2126737,2896785,2917265,2126737,2126737,2945937,2126737,2126737,2995089,2126737,3003281,2126737,2126737,3023761,2126737,3068817,3085201,2126737,3097489,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3224465,0,0,2126811,2126811,2417627,2843611,2847707,2126811,2896859,2917339,2126811,2126811,2946011,2126811,2126811,2995163,2126811,3003355,2126811,2126811,3023835,2126811,3068891,3085275,2126811,3097563,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3224539,2179072,2126811,2126737,2126737,2126737,3031953,2126737,2126811,2450395,2126811,2536411,2126811,2610139,2126811,2859995,2126811,2126811,2126811,2126811,2126811,2524123,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2601947,2126811,2515857,2126737,2126737,2126737,2544529,2548625,2126737,2126737,2597777,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2585489,2126737,2126737,2126737,2126737,2126737,2618257,2126811,2515931,2126811,2126811,2126811,2544603,2548699,2126811,2126811,2597851,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2655195,2679771,2761691,2765787,2786267,2855899,2970587,2126811,3007451,3154833,3167121,3175313,2397147,2401243,2126811,2126811,2442203,2126811,2470875,2126811,2126811,2126811,2520027,2126811,2126811,2126811,2126811,2126811,2638811,2126811,2126811,2126811,2126811,2728923,2753499,2126811,2126811,2126811,2126811,2126811,2126811,3179483,2179072,2126811,2126737,2179072,2179072,2126737,2126737,2126811,2126811,0,0,0,0,0,0,2510848,2514944,0,0,2678784,2760704,2764800,2854912,2969600,2179072,3006464,2179072,3018752,2179072,2179072,2179072,3149824,2126737,2429841,2438033,2126737,2487185,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2655121,2679697,2761617,2765713,2786193,2855825,2970513,2126737,3007377,2126737,3019665,2126737,2126737,2126737,2126737,3150737,2126811,2429915,2438107,2126811,2487259,2126811,2126811,2589659,2126811,2614235,2647003,2126811,2126811,2696155,2757595,2126811,2126811,2126811,2126811,2933723,2126811,2126811,2663387,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2802651,2814939,2126811,3019739,2126811,2126811,2126811,2126811,3150811,2179072,3051520,2126737,3052433,2126811,3052507,0,2490368,2498560,2126811,2556891,2565083,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3138523,2940928,2941841,2941915,0,0,0,0,0,2748416,2879488,0,3180,0,0,0,0,0,0,0,647,0,0,0,0,0,0,0,0,0,2467,0,0,2470,0,0,0,2179072,2502656,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3010560,2179072,2179072,2126737,2126737,2126811,2126811,0,2486272,0,0,0,0,0,2678784,2854912,3006464,2503569,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3011473,2126737,2126737,2126737,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2179072,2126811,2126737,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2126737,2126811,2126811,2126811,2126811,0,0,0,0,0,0,0,0,0,0,0,2112,0,0,0,0,2503643,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,2126811,3011547,2126811,2126811,2126811,0,0,0,2179072,2126811,2126737,2179072,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2179072,2609152,2179072,2859008,2179072,2179072,2179072,3031040,2126737,2450321,2126737,2536337,2126737,2610065,2126737,2859921,3032027,2126811,2527232,0,0,0,0,0,2179072,2527232,2179072,2179072,2179072,2179072,2179072,2126737,2126737,2802577,2814865,2126737,2839441,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3126161,2126737,2528145,2126737,2126737,2126737,2126737,2126737,3093393,2126811,2528219,2126811,2126811,2126811,2126811,2126811,3093467,0,0,0,0,0,782,0,0,0,0,0,0,541,843,541,541,541,541,541,1796,541,541,541,541,541,541,541,541,541,541,541,2822,541,541,541,541,3026944,0,0,0,2404352,2179072,2179072,2179072,2179072,3026944,2405265,2126737,2126737,2126737,2126737,3027857,2405339,2126811,2126811,2126811,2126811,3027931,0,2539520,0,2949120,2179072,2658304,2973696,2179072,2126737,2659217,2974609,2126737,2126811,2659291,2974683,2126811,0,2711552,256e4,2179072,2560913,2126737,2560987,2126811,0,2179072,2179072,3133440,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3207168,2179072,0,0,0,0,0,0,2464,0,0,0,0,0,0,0,0,0,324,398,0,0,0,324,0,2126737,2126811,0,2179072,2126737,2126811,0,2179072,2126737,2126811,2985984,2985984,2986897,2986971,0,0,0,0,0,0,3164,0,0,3167,0,0,0,0,0,0,0,1135,0,0,0,0,0,0,0,0,0,824,0,0,0,0,0,0,0,221184,221184,0,0,0,0,0,0,0,0,0,221184,221184,0,0,221184,221184,221184,0,0,0,0,0,0,0,221184,0,0,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,0,0,0,0,0,0,0,0,0,0,221184,0,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,139264,300,0,303,0,0,0,303,0,304,0,0,0,304,0,0,0,304,69632,139682,0,0,0,0,0,65536,0,0,0,0,98304,0,0,0,53248,0,0,0,0,0,2662400,0,2813952,0,0,3133440,0,98304,0,0,0,0,0,0,0,0,0,0,0,0,111051,0,0,0,0,303,0,304,0,0,0,2473984,2478080,0,0,0,0,0,0,0,0,0,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,163840,3121152,2179072,2179072,3141632,2179072,2179072,2179072,3170304,2179072,2179072,3190784,3194880,2179072,914,0,0,0,0,0,0,3172,3173,0,0,0,0,0,0,0,0,0,665,0,0,668,0,0,0,0,914,0,2387968,2125824,2125824,2125824,2420736,2125824,2125824,2125824,2125824,2125824,2453504,2125824,2473984,2482176,2125824,2125824,2125824,2125824,2125824,2125824,2531328,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2605056,2125824,3190784,3194880,2125824,988,0,0,0,988,0,2387968,2125824,2125824,2125824,2420736,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,299,0,0,0,303,0,0,0,303,119198,73728,0,0,0,0,0,65536,0,3096576,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3223552,914,0,2125824,2125824,2416640,2125824,2125824,2125824,2125824,2125824,2125824,2625536,2125824,2125824,2125824,2125824,2125824,2125824,2699264,2125824,2715648,2125824,2723840,2125824,2732032,2772992,2125824,3084288,2125824,3096576,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3223552,988,0,2125824,2125824,2416640,225890,225890,225890,225890,225890,225890,225890,225741,225741,225741,225741,225741,225906,225741,225906,1,12290,3,0,0,0,0,0,0,0,90409,90409,90409,90409,0,94506,94506,90409,90409,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,94506,1,2125824,237568,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,1222,0,0,0,0,0,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,0,0,0,0,0,0,0,0,0,217088,0,0,0,0,0,0,0,0,0,0,0,0,0,304,0,0,2125824,241664,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,1236,0,0,0,0,0,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,254414,0,0,0,0,0,0,0,12290,0,0,0,2183168,0,0,270336,0,0,299,300,0,2134016,303,304,200704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,687,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,180224,0,0,0,0,0,0,0,663,0,0,666,667,0,0,0,0,2940928,0,0,0,0,0,2748416,2879488,0,20480,0,0,0,0,0,0,0,679,0,0,0,0,0,0,0,0,0,1129,0,0,0,0,0,0,1,12290,2113826,0,0,0,0,0,0,296,0,0,0,296,0,0,0,0,0,0,3182,0,0,0,0,3187,0,0,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,1,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,0,0,0,2662400,0,2813952,12290,2113826,0,0,2183168,0,0,0,0,0,299,300,0,2134016,303,304,2125824,245760,0,0,2179072,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2584576,2125824,2125824,2125824,2125824,2125824,2617344,2125824,2125824,2125824,2125824,2125824,245760,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,1245,0,0,0,0,0,274432,274432,274432,274432,274432,274432,274432,0,0,0,0,0,274432,0,274432,1,12290,3,0,0,0,0,0,253952,0,0,0,253952,0,0,0,0,0,0,0,0,0,0,0,0,0,1155072,0,0,0,0,0,0,12290,3,78115,78115,293,0,0,0,0,0,299,300,0,0,303,304,563,563,587,587,587,587,0,2030,0,0,0,0,0,2032,0,0,0,0,0,0,3196,0,0,0,0,0,0,0,0,0,0,3186,0,0,0,3189,0,0,0,0,2034,0,0,0,0,0,2036,0,0,0,0,0,0,0,695,0,0,0,0,365,365,365,0,0,2485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,1678,0,0,0,0,0,0,0,0,0,0,0,0,338,0,0,0,0,0,0,0,1669,0,0,0,0,0,0,0,0,2114,0,0,0,0,0,0,3395,541,541,541,541,3399,541,541,541,541,541,541,1346,541,541,541,541,541,541,1356,541,541,12290,3,78115,78456,293,0,0,0,0,0,299,300,0,0,303,304,541,588,564,564,564,564,564,564,564,588,588,588,541,588,588,588,588,588,588,588,588,564,564,541,564,588,564,588,1,0,0,0,0,2775,0,0,0,0,0,0,0,0,0,0,0,0,163840,0,0,0,1,12290,3,78116,293,0,0,0,0,0,0,0,0,0,0,0,0,167936,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,1,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,0,0,282624,0,0,0,0,0,0,0,0,0,0,1600,1601,0,0,0,0,282624,282624,282624,0,282624,282624,282624,282624,282624,0,0,0,0,0,0,0,0,0,254414,254414,254414,254414,254414,254414,254414,254414,1,2981888,2396160,0,3153920,3180,0,0,0,0,0,0,0,2740224,0,0,0,0,0,0,679,751,0,0,0,0,0,0,0,0,0,1144,0,365,365,0,1147,0,0,0,0,0,286720,286720,0,286720,286720,286720,286720,286720,286720,286720,286720,286720,0,0,0,0,0,0,0,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,0,3108864,3198976,0,0,3043328,0,3149824,2936832,0,2760704,3305,2437120,0,0,0,0,0,0,680,0,0,0,0,0,0,0,0,0,300,0,0,0,0,0,0,0,0,0,0,2875392,0,0,0,3386,0,0,0,0,0,0,2834432,2940928,0,0,0,0,0,2748416,2879488,0,3386,0,0,0,0,0,0,0,709,0,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,308,0,308,309,0,308,308,0,0,0,308,308,309,309,0,0,0,0,0,0,308,408,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,781,0,0,0,309,413,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,783,0,802,0,0,0,0,541,847,541,541,541,541,541,2830,2831,541,541,541,541,2834,541,541,541,541,541,541,541,3521,541,3523,541,541,3525,541,563,563,0,0,432,0,0,0,0,308,449,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,489,489,463,489,489,489,489,489,489,489,514,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,534,489,489,489,489,489,542,565,542,565,542,542,565,542,589,565,565,565,565,565,565,565,589,589,589,542,589,589,589,589,589,589,589,589,565,565,542,565,589,565,589,1,0,0,674,0,0,0,0,0,0,0,0,0,0,0,0,0,323,324,0,0,704,0,0,0,0,0,0,0,711,0,0,0,0,0,0,0,742,0,0,0,0,742,0,748,0,0,0,736,0,0,0,0,0,0,0,0,0,0,0,747,0,0,0,0,0,792,663,841,0,0,0,0,541,845,541,541,541,541,541,2217,541,541,541,541,541,541,541,541,541,541,541,1802,541,541,541,541,0,0,0,0,645,0,0,0,0,0,0,0,0,0,0,0,0,172032,0,0,0,0,0,0,0,0,765,0,0,768,0,0,0,0,774,0,0,778,0,0,0,0,0,0,3562,0,3564,541,541,541,541,541,541,541,541,541,3219,541,541,541,541,541,3224,0,0,785,0,0,0,0,789,0,0,0,0,0,0,0,793,0,0,736,0,793,0,0,0,0,648,0,0,0,0,0,0,0,807,808,0,0,0,0,808,0,0,807,0,0,0,0,0,755,0,0,816,817,0,0,0,793,0,0,0,0,0,0,0,0,0,0,0,0,221184,0,0,0,0,0,0,648,0,0,0,0,0,834,789,0,0,0,0,0,0,0,2139,0,0,0,0,0,0,0,0,0,1712,0,0,0,0,0,0,838,839,789,789,0,0,0,0,789,736,789,0,541,541,849,853,563,964,563,967,563,563,981,563,563,0,587,587,587,996,1e3,587,0,0,0,0,0,0,0,0,3180,3448,0,0,0,0,0,0,0,2465,0,0,0,0,0,0,0,0,0,2152,0,0,0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1135,0,0,0,0,1152,0,0,0,0,1157,0,0,0,0,0,0,0,822,0,816,0,664,0,0,0,0,0,0,0,0,1201,0,0,0,0,0,0,0,0,0,0,0,0,221184,0,221184,0,0,0,1253,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,541,541,1342,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2239,0,0,0,0,0,1596,0,0,0,0,0,0,0,0,0,0,0,0,233472,0,0,0,0,0,0,1640,0,0,0,0,0,0,0,0,0,0,0,0,354,355,356,357,1653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1163,0,0,0,0,1669,0,0,0,0,0,0,1673,0,0,0,0,0,0,0,69632,73728,0,0,0,346,345,65536,344,0,1729,0,0,0,0,541,541,541,541,541,541,541,541,541,541,541,3327,541,541,1742,541,541,541,541,541,541,541,541,541,1755,541,541,541,541,541,541,541,2193,541,541,541,541,541,541,541,541,541,2557,541,541,541,541,541,541,541,541,541,1794,541,541,1797,541,541,541,541,541,541,541,541,541,541,1314,541,541,541,1318,541,541,1809,541,541,541,541,541,1814,541,541,541,541,541,541,541,1360,914,563,563,563,563,563,563,563,563,563,563,563,563,563,563,0,2328,1824,563,563,563,563,563,1831,563,563,563,563,563,1837,563,563,563,563,563,3093,563,563,563,563,563,563,563,563,563,3102,563,563,1892,563,563,563,563,563,563,563,563,563,563,1905,563,563,563,563,978,563,563,563,563,0,587,587,587,587,587,587,1997,587,587,587,587,587,587,587,587,587,1531,587,587,587,587,587,587,563,563,563,1910,563,563,563,563,563,563,563,26028,1920,587,587,587,0,1285,1469,1377,541,541,1339,541,541,563,563,1431,563,587,587,1927,587,587,587,587,587,1933,587,587,587,587,587,587,587,1529,587,587,587,587,587,587,587,587,1932,587,587,587,587,587,587,587,587,1494,587,587,587,587,587,587,587,587,587,1946,587,587,587,587,587,587,587,587,587,587,587,587,587,1513,587,587,563,563,2026,587,587,587,0,2030,0,0,0,0,0,2032,0,0,0,0,0,0,131072,0,131072,131072,131072,131072,0,131072,131072,131072,131072,131072,131072,131072,0,0,0,0,0,131072,0,131072,1,0,0,0,2042,0,0,0,0,0,0,0,0,0,0,0,0,365,365,365,0,0,2141,0,0,2148,0,0,0,0,0,0,0,0,0,0,0,0,237568,0,0,0,0,0,0,2140,541,541,541,541,541,541,541,541,541,541,541,2170,541,541,2173,541,541,541,541,541,541,2181,541,541,541,541,541,541,541,541,2841,541,541,541,541,541,541,541,541,1294,541,541,541,541,541,541,541,541,1327,541,541,541,1334,1336,541,541,541,541,2214,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2535,541,563,2258,563,563,563,563,563,563,2266,563,563,563,563,563,563,563,983,563,0,587,587,587,587,1001,587,563,2300,563,563,563,563,563,563,563,563,563,563,563,563,563,563,587,587,587,2345,587,587,587,587,587,587,2353,587,587,587,587,587,587,587,1950,587,587,587,587,587,587,587,587,1468,587,587,587,587,587,587,587,587,2387,587,587,587,587,587,587,587,587,587,587,587,587,587,587,541,587,563,2414,541,541,541,541,563,563,563,563,587,587,587,587,2030,0,2032,0,2034,0,2036,0,0,2428,0,0,0,0,0,0,0,0,0,0,1713,0,0,0,0,0,2436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1179,2449,0,0,0,0,0,2453,0,0,0,0,0,0,0,0,0,0,1726,0,0,0,0,0,0,0,0,0,2477,0,0,0,0,0,0,0,0,0,0,0,0,245760,0,0,0,0,0,2501,0,0,0,0,0,0,0,0,0,0,0,0,0,386,338,0,541,541,541,2539,541,541,541,541,541,541,541,541,541,541,541,541,541,2198,541,541,0,0,0,563,563,563,563,563,563,563,563,563,2595,563,563,563,563,563,3238,563,563,563,563,563,563,563,563,563,563,2880,563,563,563,563,563,587,587,587,2661,587,587,587,587,587,587,587,587,587,587,587,2669,587,587,587,587,2714,587,587,587,587,587,587,541,587,563,541,541,2417,2418,563,563,2421,2422,587,587,2425,2426,0,1563,0,0,0,2735,0,0,0,0,0,0,2740,0,0,0,0,0,0,0,1102,1101,0,0,0,0,0,0,0,0,1724,0,0,0,0,0,0,0,0,1172,0,0,0,0,0,0,0,0,1187,0,0,0,0,0,0,1104,0,0,0,0,0,2763,0,0,0,0,0,0,0,0,0,0,0,2431,2432,0,0,0,0,0,0,0,0,2792,2793,0,0,0,0,0,0,0,0,0,0,2049,0,0,0,0,0,541,541,541,541,2829,541,541,541,541,541,541,541,541,541,541,2836,563,563,563,563,2876,563,563,563,563,563,563,563,563,563,563,563,0,2329,587,587,587,2884,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1874,587,587,2933,587,587,587,587,587,587,587,587,587,587,587,587,587,1536,587,587,2955,541,2957,563,2959,587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,541,587,3442,0,3444,0,0,0,0,0,3180,0,0,0,0,3452,0,0,0,0,0,796,0,0,0,0,0,0,0,0,0,0,0,0,796,0,0,0,0,3454,0,541,3457,541,3459,541,541,541,541,541,541,541,541,541,541,541,541,2585,0,0,0,563,587,3488,587,3490,587,587,587,587,587,587,587,587,587,587,587,1047,587,587,587,587,587,0,0,0,3505,0,0,0,0,0,0,0,3512,0,0,541,541,541,541,541,541,3462,541,541,541,541,541,541,541,541,541,3334,541,541,541,563,563,563,541,541,541,3517,541,541,541,541,541,541,541,541,541,541,563,563,563,563,563,563,563,563,563,563,3530,563,563,563,563,563,563,563,563,563,563,563,587,587,587,587,587,587,587,587,3544,587,587,587,587,587,587,587,587,587,587,587,0,0,0,0,541,541,541,541,563,563,310,311,312,0,0,0,0,0,0,0,0,0,0,0,0,0,669,0,0,0,0,0,421,0,0,0,0,450,0,0,0,0,0,0,0,0,304,304,304,304,0,304,304,304,0,0,0,0,450,450,421,450,450,450,450,450,450,450,450,450,450,450,450,450,450,533,450,533,533,533,450,533,533,533,533,450,543,566,543,566,543,543,566,543,590,566,566,566,566,566,566,566,590,590,590,543,590,590,590,590,590,590,590,590,566,566,616,621,590,621,627,1,960,563,563,563,563,563,563,563,563,0,587,587,587,587,587,587,587,3136,587,587,3138,587,587,587,587,587,0,0,0,0,1657,0,0,0,0,0,0,0,0,0,0,0,0,254414,0,0,0,1676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1211,541,541,541,1810,541,541,541,541,541,541,541,541,541,541,541,1360,914,563,563,563,563,563,563,563,563,563,563,563,563,563,1378,0,0,2486,0,0,0,0,0,0,0,0,0,0,0,0,0,694,0,0,541,541,541,541,2528,541,541,541,541,2532,541,541,541,541,541,541,541,541,3218,541,541,541,541,541,541,541,541,2583,541,541,541,541,0,2586,0,0,0,0,563,563,563,563,563,563,2592,563,563,563,563,2596,563,0,587,587,587,587,587,78115,1079,0,0,0,0,0,0,0,0,0,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,225741,0,0,0,0,0,0,0,2658,587,587,587,587,2662,587,587,587,587,587,587,587,587,587,587,2665,587,587,587,587,587,0,0,0,313,314,315,316,317,318,319,320,321,322,0,0,0,0,0,0,694,0,0,0,0,0,365,365,365,0,0,313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2142208,0,0,316,0,0,0,0,0,0,0,0,0,0,0,0,0,730,0,0,0,423,431,433,422,431,0,313,431,451,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,485,490,490,501,490,490,490,490,490,490,490,490,516,516,529,529,530,530,530,530,530,530,530,530,530,530,530,516,530,530,530,530,530,544,567,544,567,544,544,567,544,591,567,567,567,567,567,567,567,591,591,591,613,591,591,591,591,591,591,591,614,615,615,613,615,614,615,614,1,734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1238,0,0,0,0,767,0,0,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,0,0,702,0,0,0,0,0,702,0,0,0,541,541,541,541,541,541,3322,541,541,541,541,541,541,541,541,1816,541,541,541,541,541,541,1360,563,563,563,968,563,563,563,563,563,0,587,587,587,587,587,587,587,3150,3151,3152,541,541,563,563,587,587,0,0,2963,0,0,0,0,0,0,0,0,3180,0,0,3389,0,0,0,0,0,1108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,308,309,0,1150,1108,0,0,0,0,0,0,0,0,0,0,0,0,0,1119,0,0,1212,0,0,0,0,0,0,0,0,0,0,0,0,0,1225,0,0,0,0,0,797,0,0,0,0,0,0,0,0,0,0,0,0,797,0,1360,914,563,563,1364,563,563,1368,563,563,563,563,563,563,563,563,985,0,587,587,587,587,587,587,1382,563,1387,563,563,1391,563,563,1394,563,563,563,563,563,563,563,984,563,0,587,587,587,587,587,1004,587,1460,587,587,587,587,587,587,587,587,1474,587,1479,587,587,1483,587,587,1486,587,587,587,587,587,587,587,587,587,587,587,587,587,1939,587,587,0,1692,0,1694,0,0,0,0,0,0,1701,0,0,0,0,0,0,0,2442,0,0,0,0,0,0,0,0,0,1173,0,0,0,0,0,0,541,541,1745,541,541,541,541,541,541,541,541,541,1757,541,541,541,541,541,541,2192,541,541,2195,541,541,541,541,541,541,541,1798,541,541,541,541,541,541,1806,541,541,1792,1793,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2824,541,0,563,563,563,563,563,563,563,563,563,563,563,563,563,1840,563,0,587,587,587,587,587,78115,1079,0,0,1083,1087,0,0,1091,587,587,587,587,1948,587,587,587,587,587,587,587,587,587,587,587,1478,587,587,587,587,587,587,587,587,1961,587,587,587,587,587,587,587,587,587,587,587,1533,587,587,587,587,0,2034,0,2036,0,0,0,0,0,0,2430,0,0,0,0,0,0,0,2454,0,0,0,0,0,0,0,0,0,2429,0,0,0,0,0,0,0,0,0,2476,0,0,0,0,0,0,0,0,0,0,0,0,365,365,365,702,0,0,0,2502,2503,0,0,0,0,0,0,0,0,0,0,0,0,1147355,0,0,0,587,587,2700,587,587,587,587,587,587,587,587,587,587,587,587,587,2004,587,587,0,0,2802,0,0,0,0,0,0,0,2806,541,541,541,541,541,541,541,2204,541,541,541,541,541,541,541,541,541,2220,541,541,541,541,541,541,541,2956,563,2958,587,2960,0,0,0,0,0,2966,0,0,0,0,0,0,0,69632,73728,0,0,0,350,348,65536,0,0,0,0,2970,0,0,0,0,0,0,0,0,0,0,0,0,365,365,208896,0,3035,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1807,541,541,3050,3051,541,541,541,541,541,541,541,541,541,541,541,541,541,2223,2224,541,563,3090,563,3092,563,563,563,563,563,563,563,563,563,563,563,563,1415,563,563,563,3117,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1484,587,587,3132,587,3134,587,587,587,587,587,587,587,587,587,587,587,1937,1938,587,587,587,0,3192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,308,541,541,541,541,3228,541,541,541,541,563,563,563,563,563,563,563,563,563,945,563,563,563,563,587,3503,0,3504,0,0,0,0,0,0,0,0,0,0,0,541,541,541,541,2810,3515,541,3516,541,541,541,3520,541,541,541,541,541,541,541,563,3528,563,3529,563,563,563,3533,563,563,563,563,563,563,563,563,587,3542,587,3543,587,587,587,3547,587,587,587,587,587,587,587,587,0,0,0,0,3673,541,541,541,3675,563,563,3676,587,587,587,3678,0,0,541,541,563,563,587,587,0,541,541,3204,541,541,541,541,541,541,541,541,541,541,541,541,541,2238,2586,0,324,324,374,0,0,0,0,0,0,0,0,0,0,0,0,0,1133,0,0,0,0,434,374,0,439,445,0,452,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,491,491,502,491,491,491,491,491,491,491,491,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,545,568,545,568,545,545,568,545,592,568,568,568,568,568,568,568,592,592,592,545,592,592,592,592,592,592,592,592,568,568,545,568,592,568,592,1,587,587,587,1019,587,587,587,587,587,587,587,587,587,587,587,587,1052,587,587,587,1122,0,1124,1125,0,0,0,1127,1128,0,0,0,0,0,0,0,0,334,0,0,0,0,0,334,0,0,0,1166,1167,0,0,0,0,0,0,0,0,0,0,0,0,400,0,0,0,0,0,1228,0,0,0,0,1233,0,0,0,0,0,0,0,0,0,365,300,0,0,0,0,0,0,0,0,0,1241,0,0,0,0,1244,0,1194,0,1113,0,1250,1127,0,0,0,0,0,0,0,0,0,541,541,1274,541,541,541,541,541,541,2203,541,541,541,541,541,541,541,541,541,541,1329,541,541,541,541,541,541,541,1322,541,541,1324,541,541,541,1328,541,541,541,541,541,541,541,541,3522,541,541,541,541,541,563,563,3068,563,563,563,563,563,563,563,563,2603,563,563,563,563,563,563,563,1360,914,563,563,1365,563,563,563,563,563,563,563,563,563,563,563,587,3427,587,587,3429,563,563,563,1405,563,563,563,563,563,563,563,1414,563,563,1416,563,0,587,587,587,1051,587,78115,1079,0,0,0,0,0,0,0,0,1134592,0,0,0,0,0,0,1134592,0,0,0,0,563,563,1420,563,563,563,563,563,563,563,563,563,563,563,563,563,1437,563,563,563,563,563,1444,563,563,563,563,563,26028,1360,988,587,587,1457,587,0,0,0,0,0,0,0,3447,3180,0,0,0,0,0,0,0,1237,0,0,541,541,1273,541,1276,541,0,0,0,1656,0,0,0,0,0,0,0,0,0,0,0,0,541,846,541,541,587,587,587,1993,587,587,587,587,587,587,587,587,587,587,587,587,1496,587,587,587,563,2025,587,587,587,2029,0,2030,0,0,0,0,0,2032,0,0,0,0,0,0,1134592,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,2034,0,0,0,0,0,2036,0,0,0,0,0,2039,0,2078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,331,0,0,0,0,2092,0,0,0,0,0,0,0,0,0,0,0,0,643,0,0,0,541,2172,541,541,541,541,541,541,541,541,541,541,541,541,541,541,0,0,0,541,2188,541,541,541,541,541,541,541,541,541,541,541,541,541,541,0,2240,541,541,541,541,2229,541,2231,541,541,541,541,541,541,541,0,0,0,0,0,0,1146880,0,1146880,0,0,0,0,0,0,0,0,2617344,0,0,0,0,0,2789376,0,0,0,563,563,563,563,563,563,563,563,563,2253,563,563,563,563,0,0,0,0,0,0,587,2654,587,587,587,587,587,587,3135,587,587,587,587,587,587,587,587,587,1530,587,587,587,587,587,587,2257,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1889,2273,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2272,563,563,563,563,2316,563,2318,563,563,563,563,563,563,563,0,0,0,0,0,0,587,587,587,587,587,587,587,587,587,587,587,587,587,587,541,563,2344,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1516,2360,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1517,587,587,587,587,2403,587,2405,587,587,587,587,587,587,587,541,587,0,0,0,0,0,0,0,3508,0,0,0,0,0,0,541,541,541,541,541,541,3400,541,541,541,2499,0,0,0,0,0,2504,0,0,0,0,0,0,0,0,0,0,2086,2087,0,0,0,0,541,541,2526,2527,541,541,541,541,541,541,541,541,541,541,541,541,541,2237,0,0,541,541,2566,541,541,541,541,541,541,541,541,541,541,541,541,541,541,3046,541,0,0,0,563,563,563,2590,563,2591,563,563,563,563,563,563,563,1411,563,563,563,563,563,563,563,563,1429,563,563,563,563,563,563,563,563,1916,563,563,26028,1921,587,587,587,0,0,0,2761,0,0,0,0,0,0,0,0,0,0,0,0,674,0,0,0,541,541,2837,541,541,541,541,541,541,541,2843,541,541,541,541,541,541,541,2232,541,541,2235,2236,541,541,0,0,563,563,563,2885,563,563,563,563,563,563,563,2891,563,563,563,563,0,0,2329,0,0,0,587,587,587,587,587,587,587,587,587,587,2341,587,587,587,2920,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1519,587,587,587,587,3373,587,587,541,541,563,563,587,587,0,0,0,0,0,0,0,0,0,2968,563,587,587,587,587,587,587,3493,587,587,587,587,587,587,587,587,1034,587,587,587,587,587,587,587,326,327,328,0,0,0,0,0,0,0,0,0,0,0,0,0,1161,0,0,0,0,0,325,373,328,372,0,0,0,0,0,0,0,0,0,0,2111,0,0,0,0,0,325,0,0,372,372,402,0,328,0,0,0,0,0,0,0,0,0,365,339,293,0,0,0,0,0,0,325,0,327,0,0,0,453,466,466,466,466,466,466,466,479,466,466,466,466,466,466,466,466,466,466,466,466,492,492,466,492,492,507,509,492,492,507,492,518,518,518,518,518,518,518,518,518,518,518,518,518,518,518,535,518,518,518,518,518,546,569,546,569,546,546,569,546,593,569,569,569,569,569,569,569,593,593,593,546,593,593,593,593,593,593,593,593,569,569,546,569,593,569,593,1,0,0,658,659,0,0,0,0,0,0,0,0,0,0,670,671,0,689,0,0,0,0,0,0,0,0,0,0,365,365,365,0,0,0,0,0,800,0,0,0,0,0,0,0,0,0,0,0,0,718,0,720,0,0,0,0,0,0,727,0,0,0,731,0,0,0,0,0,0,1159168,417,417,0,0,0,0,0,417,0,0,784,0,786,0,0,0,0,0,0,0,0,0,0,0,0,759,0,0,0,0,0,798,0,803,0,806,0,0,0,0,803,806,0,0,0,0,0,0,741,0,0,0,0,0,0,0,0,0,0,0,0,806,806,803,0,0,0,0,0,0,0,786,0,798,0,815,0,0,0,0,0,802,0,0,783,0,0,0,0,802,0,0,0,0,0,0,0,802,0,0,0,0,806,0,707,0,0,823,0,0,0,0,0,823,823,826,0,0,0,786,0,0,0,0,0,835,0,0,0,0,0,0,0,2480,0,0,0,0,0,0,0,0,0,1100,0,0,0,0,0,0,0,0,0,0,784,0,0,0,835,815,835,0,541,541,850,541,541,541,541,541,3052,541,541,541,541,541,541,541,541,3060,541,541,541,541,541,3217,541,541,541,541,541,541,541,3222,541,541,541,541,541,2529,541,541,541,541,541,541,541,541,541,541,541,3043,541,541,541,541,856,541,541,869,541,541,880,541,885,541,541,893,896,901,541,909,563,563,966,969,974,563,982,563,563,0,587,587,587,997,587,1003,587,587,1016,587,587,1027,587,1032,587,587,1040,1043,1048,587,1056,587,0,0,0,0,0,0,3507,0,0,0,0,0,0,0,541,541,541,541,541,3031,541,541,541,541,0,0,0,1110,0,0,0,0,0,0,0,1117,0,0,0,0,0,0,0,69632,73728,0,0,0,421,0,65536,0,0,1137,1138,0,0,0,0,1142,0,0,0,365,365,0,0,0,0,0,0,769,0,0,0,775,776,0,0,0,0,0,0,0,69632,73728,0,0,0,374,0,65536,0,0,1165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,515,522,0,0,1182,741,0,0,0,1134,0,0,0,0,0,0,0,0,0,367,0,0,0,0,0,0,541,541,541,1281,541,541,541,541,541,541,1296,541,541,541,1301,541,541,541,541,541,3229,541,541,541,563,563,563,563,563,563,563,941,563,563,563,563,563,563,1360,914,563,563,563,563,563,563,563,563,563,563,1373,563,563,563,563,563,3249,563,3251,563,563,563,563,563,563,563,563,1852,563,563,563,563,563,563,563,563,563,563,1388,563,563,563,1393,563,563,563,563,563,563,563,563,1451,26028,1360,988,587,587,587,587,587,1485,587,587,587,587,587,587,587,587,587,587,587,587,587,1500,1540,587,587,0,541,587,563,541,541,541,541,541,563,563,563,563,563,563,3477,563,563,563,563,563,563,563,563,1396,563,563,563,563,563,563,563,0,0,1607,1608,1609,0,1611,1612,0,0,0,0,1617,0,0,0,0,0,0,770,0,0,773,0,0,777,0,0,0,0,0,0,796,0,0,0,0,0,541,541,541,541,541,541,563,563,563,563,563,563,933,563,563,947,563,563,563,563,0,0,1639,0,0,1642,0,1644,0,0,0,0,0,1650,1651,0,0,0,0,0,805,0,0,692,0,0,672,0,692,0,810,0,1667,0,0,1669,0,0,0,0,1671,1672,0,0,0,0,0,0,0,2491,2492,0,0,0,0,0,0,0,0,0,2686976,2736128,0,0,2531328,2707456,0,0,0,0,0,1708,0,0,1711,0,0,0,0,0,1715,0,0,0,0,0,0,2134016,0,0,0,0,0,0,0,0,1138688,0,1719,1720,0,0,0,0,0,0,0,0,0,0,0,0,1711,0,0,0,1731,1585,1585,1733,541,1735,541,1736,1737,541,1739,541,541,541,541,541,1310,541,541,541,541,541,541,541,1317,541,541,541,541,541,1748,541,541,541,541,541,541,541,541,541,1759,541,1743,541,541,541,541,541,541,541,541,541,1756,541,541,541,541,541,541,541,3333,541,541,541,541,541,563,563,563,922,926,563,563,563,563,563,563,952,563,957,1760,541,541,541,541,1764,541,1766,541,541,541,541,541,541,541,541,541,889,541,541,541,541,907,541,1774,1775,1777,541,541,541,541,541,541,541,1785,1786,1787,541,541,1790,1791,541,541,541,541,541,541,541,1799,541,541,541,1803,541,541,541,541,541,541,2530,541,541,541,541,541,541,541,541,541,541,1315,541,541,541,541,1320,541,541,541,541,1811,541,541,541,541,541,541,541,541,541,1822,1360,914,563,563,563,563,563,563,563,563,563,563,563,563,563,1379,0,1827,563,1829,563,1830,563,1832,563,1834,563,563,563,1838,563,563,563,563,1390,563,563,563,563,563,563,563,563,563,563,563,2652,0,587,587,587,563,1859,563,1861,563,563,563,563,563,563,563,563,1869,1870,1872,563,0,587,587,1042,587,587,78115,1079,0,0,0,0,0,0,0,0,307,307,307,0,0,0,0,0,1907,563,563,563,563,563,563,563,563,563,1918,26028,0,1923,587,1925,587,1926,587,1928,587,1930,587,587,587,1934,587,587,587,587,587,587,587,3366,587,587,587,587,3367,3368,587,587,587,587,587,1947,587,587,587,587,1951,587,587,587,587,1955,587,1957,587,587,1976,1977,1978,587,587,1981,1982,587,587,587,587,587,587,587,1999,2e3,587,587,587,587,587,587,587,2015,2016,2017,541,2019,541,541,563,2023,1990,587,587,587,1994,587,587,587,587,587,587,587,2003,587,587,587,0,1288,1472,1380,541,541,541,541,541,563,563,563,563,3475,563,563,563,563,563,563,563,563,563,563,2267,563,563,563,563,563,563,2024,563,1982,587,2028,587,0,2030,0,0,0,0,0,2032,0,0,0,0,0,0,2134016,0,0,0,0,0,0,0,746,0,0,0,0,0,2043,0,0,2046,2047,0,0,0,2051,0,0,0,0,0,0,800,0,0,0,0,0,0,0,800,0,0,0,0,541,541,541,541,2090,0,0,0,0,2094,0,0,0,0,0,0,0,0,0,0,0,2456,0,0,0,0,0,0,0,0,1669,0,0,0,0,0,0,0,2113,0,0,2116,0,0,2119,0,0,0,0,0,0,2126,0,2128,0,0,0,0,0,0,0,69632,73728,0,370,370,0,0,65536,370,0,0,0,0,2137,0,0,0,0,0,0,0,0,0,0,0,0,1159168,0,0,0,0,2047,0,2147,0,0,0,0,0,0,0,0,0,0,0,0,1103,1104,1105,1106,0,2158,0,0,541,541,541,541,541,541,541,541,541,541,541,541,541,3329,541,541,541,2174,541,2176,541,541,541,541,541,541,2184,541,2186,541,541,541,541,541,3332,541,541,541,541,541,541,541,563,563,563,3069,563,563,563,563,563,563,563,2212,541,541,541,541,541,541,2219,541,541,541,541,541,541,541,541,541,1312,541,541,541,541,541,541,563,563,2259,563,2261,563,563,563,563,563,563,2269,563,2271,563,563,563,563,1422,563,563,563,563,563,563,563,563,563,563,1438,587,587,2346,587,2348,587,587,587,587,587,587,2356,587,2358,587,587,0,0,0,3634,0,3636,541,541,541,541,541,541,541,563,563,921,563,563,563,563,940,944,950,563,955,563,563,2261,541,2416,541,541,563,2420,563,563,587,2424,587,587,2030,0,2032,0,0,0,2452,0,0,0,0,0,0,0,0,0,0,0,0,1132,0,0,0,0,0,2461,0,0,0,0,0,2466,0,2468,2469,0,0,0,0,0,0,0,69632,73728,0,420,420,0,0,65536,420,0,0,0,0,2488,0,0,0,0,0,0,0,0,0,0,0,0,2179072,2179072,2179072,2179072,0,0,0,0,2516,2468,0,0,0,0,0,2521,0,0,0,541,541,541,541,541,3321,541,541,541,3325,541,541,541,541,541,541,1749,541,541,541,541,541,541,541,541,541,541,2558,541,541,541,541,541,2563,541,541,541,2568,541,541,541,541,541,541,541,2575,541,541,541,541,541,541,2542,541,2544,541,541,541,541,541,541,541,541,563,3411,563,563,3413,563,563,563,541,541,541,541,2580,541,541,541,541,541,541,541,541,0,2586,0,0,0,0,0,812,0,809,792,0,0,814,0,667,0,788,0,0,0,563,563,563,563,563,563,563,563,2594,563,563,563,563,0,2652,0,0,0,0,587,587,587,587,587,587,587,587,587,587,587,587,2342,587,563,2624,563,563,563,563,2628,563,563,563,2633,563,563,563,563,563,563,2629,563,563,563,563,563,563,2636,563,563,563,563,2640,563,563,563,563,563,563,563,563,2646,563,563,563,563,0,2652,0,0,0,0,587,587,587,2656,587,2657,587,587,2660,587,587,587,587,587,587,587,587,587,587,587,587,587,2383,587,587,587,587,2672,587,2674,587,587,587,587,587,587,587,587,587,587,587,1970,587,587,587,587,587,2699,587,587,587,587,587,587,587,2706,587,587,587,587,587,587,587,3375,541,3376,563,3377,587,0,0,0,587,587,2712,587,587,587,587,587,587,587,587,541,587,563,541,541,541,541,563,563,2800,2801,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,3402,2992,0,0,0,0,0,0,0,0,0,0,0,2992,0,0,0,0,0,0,840,0,0,0,0,0,541,541,541,541,541,541,2166,541,541,541,541,541,0,3022,0,0,0,3025,541,541,541,541,541,541,3032,541,541,541,541,541,541,2570,541,541,541,541,2574,541,541,541,541,541,541,1286,541,541,541,541,541,541,541,541,541,541,1818,541,541,541,541,1360,541,541,3036,541,541,541,541,541,541,541,3042,541,541,541,541,541,541,541,2531,541,541,541,541,541,541,541,541,541,563,3230,563,563,563,3233,563,3048,541,541,541,541,541,541,541,541,541,541,3057,3059,541,541,541,541,541,541,2582,541,541,541,541,541,541,0,2586,0,3062,541,3064,3065,541,563,563,563,563,563,563,3072,563,563,563,563,563,1425,563,563,563,563,563,563,563,563,563,563,2889,563,563,563,563,563,563,563,3076,563,563,563,563,563,563,563,3082,563,563,563,563,563,3088,563,563,3091,563,563,563,563,563,563,563,563,3098,3100,563,563,563,563,563,3342,563,563,563,563,563,563,563,563,563,563,2645,563,563,563,563,563,563,563,3104,563,3106,3107,563,587,587,587,587,587,587,3114,587,587,587,0,1544,1545,1546,541,541,1548,541,541,563,563,1552,563,587,587,3118,587,587,587,587,587,587,587,3124,587,587,587,587,587,587,1998,587,587,587,587,587,587,587,587,587,3551,587,587,3553,587,0,0,3130,587,587,3133,587,587,587,587,587,587,587,587,3140,3142,587,587,0,0,3633,0,0,0,541,541,3638,541,541,541,3642,563,587,587,3146,587,3148,3149,587,541,587,563,541,3154,563,3156,587,3158,0,0,0,0,0,3181,0,3183,0,0,0,0,0,0,0,3190,0,0,0,3193,3194,0,0,0,0,0,0,0,0,0,0,0,0,2200252,2200252,2200252,0,563,563,563,563,3237,563,563,563,563,563,563,563,563,563,563,563,1400,563,563,563,563,563,563,563,3248,563,563,563,563,563,563,563,563,3256,563,563,563,563,563,3352,563,563,563,563,587,587,587,587,587,3358,563,563,563,587,587,587,3261,587,587,587,587,587,587,587,3266,587,0,0,0,0,0,3506,0,0,3509,0,0,0,0,0,541,541,541,541,3662,541,563,563,563,563,3666,563,0,3310,0,0,3313,0,0,0,0,0,0,0,0,0,0,0,0,2200253,151552,2200253,0,587,587,587,3372,587,587,587,541,541,563,563,587,587,0,0,0,0,0,0,0,0,2967,0,0,0,0,0,0,3383,3384,0,3180,0,0,0,0,0,3392,0,0,0,0,0,1097,0,0,0,0,0,0,0,0,0,0,331,382,384,0,0,0,563,3417,563,563,563,563,563,563,563,563,563,587,587,587,587,587,587,587,3115,587,587,587,587,587,587,3433,587,587,587,587,587,587,587,587,587,541,563,3472,563,3474,563,563,563,563,563,563,563,563,563,563,563,563,3243,563,563,563,3470,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3485,563,563,563,563,3532,563,563,563,563,563,563,563,563,563,587,587,3110,587,587,587,587,587,587,587,587,587,587,587,3546,587,587,587,587,587,587,587,587,587,3555,3556,0,0,0,3559,0,0,0,0,0,3565,3566,3567,541,541,541,3570,541,3572,541,541,541,541,3577,3578,3579,563,563,563,3582,563,3584,563,0,587,587,1044,587,587,291,1079,0,0,1082,1086,0,0,1090,563,563,563,3589,3590,3591,3592,587,587,587,3595,587,3597,587,587,587,587,587,1464,587,587,587,1473,587,587,587,587,587,587,1949,587,587,587,587,587,587,587,587,587,2949,587,587,587,541,587,563,587,3602,0,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,1738,541,541,541,563,3644,563,563,563,3648,563,587,587,3650,587,587,587,3654,587,0,0,0,0,0,0,0,0,3180,0,3449,0,0,0,0,0,0,0,69632,73728,266240,0,0,0,0,65536,0,0,0,0,329,330,0,0,0,0,0,0,0,0,0,0,0,349,0,0,0,0,0,369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,686,0,0,0,0,369,0,0,0,377,379,0,0,0,0,0,0,0,0,1099,0,0,0,0,0,0,0,0,1115,0,0,0,0,0,0,0,0,0,3185,0,0,0,0,0,0,0,0,412,0,0,0,412,69632,73728,0,369,369,0,424,65536,369,0,0,0,369,424,499,503,499,499,508,499,499,499,508,499,424,424,0,330,424,0,0,424,424,0,0,0,0,0,0,0,0,1156,0,0,0,0,0,0,0,0,664,0,0,0,0,0,0,0,0,680,681,0,0,0,0,0,0,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,547,570,547,570,547,547,570,547,594,570,570,570,570,570,570,570,594,594,594,547,594,594,594,594,594,594,594,594,570,570,547,570,594,570,594,1,587,587,587,1020,587,587,587,587,587,587,587,587,587,587,587,587,1954,587,587,587,0,0,1109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1215,0,0,0,0,0,0,0,0,0,0,0,1226,541,1279,541,541,541,541,541,1291,541,541,541,541,541,541,541,541,541,1351,541,541,541,541,541,541,1360,914,563,563,563,563,563,563,563,563,1371,563,563,563,563,563,563,2643,563,563,563,563,563,563,563,563,563,1866,563,563,563,563,563,563,1383,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2286,587,587,1992,587,587,587,587,587,587,587,587,587,587,587,587,587,2411,541,587,563,563,3677,587,587,587,0,0,541,541,563,563,587,587,0,541,3203,541,541,541,3206,541,541,541,541,541,541,541,541,541,541,1313,541,541,541,541,541,425,425,0,0,425,440,0,425,425,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,493,493,467,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,548,571,548,571,548,548,571,548,595,571,571,571,571,571,571,571,595,595,595,548,595,595,595,595,595,595,595,595,571,571,548,571,595,571,595,1,0,1213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,732,0,0,0,0,0,1695,0,0,0,0,0,0,0,0,0,0,0,360,0,0,0,0,0,0,0,0,2093,0,0,0,0,0,0,0,0,0,0,0,365,365,0,0,0,2157,0,0,0,541,541,541,541,541,541,541,541,541,541,541,541,3328,541,2201,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2200,563,2415,541,541,541,2419,563,563,563,2423,587,587,587,0,0,0,0,0,0,541,541,541,541,541,541,541,563,3067,563,563,563,563,563,563,563,563,563,3253,563,563,563,563,563,563,0,2460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,748,0,0,0,0,0,2791,0,0,0,0,0,0,0,0,0,0,0,365,365,1146,0,0,2943,587,587,587,587,587,587,587,587,587,587,587,587,541,587,563,541,541,0,0,0,0,2971,0,0,0,2975,0,0,0,0,0,2981,0,0,0,0,0,1128,0,0,0,0,0,1233,0,0,0,1265,0,0,0,2994,0,2996,0,0,0,0,0,0,0,0,3004,0,0,0,0,0,1169,0,1171,0,0,0,0,1176,0,0,0,0,0,0,1643,0,0,0,0,0,0,0,0,0,0,2520,0,0,0,0,541,0,0,0,0,3009,0,0,0,0,0,0,0,0,0,0,0,383,0,0,0,387,541,3063,541,541,541,3066,563,563,563,563,563,563,563,563,563,563,3083,563,563,563,563,563,563,563,3105,563,563,563,3108,587,587,587,587,587,587,587,587,587,1509,587,587,587,587,587,587,3144,587,587,3147,587,587,587,541,587,563,541,541,563,563,587,587,0,0,3295,0,0,0,0,0,0,0,0,2766,0,0,0,0,0,0,0,0,2151,0,0,0,0,0,0,0,0,2506,0,0,0,0,0,2512,0,0,0,0,0,0,3195,0,0,0,0,0,0,0,0,0,0,0,2782,0,0,0,0,541,541,541,541,3216,541,541,541,541,541,541,541,3221,541,3223,541,541,541,541,541,3408,541,541,3410,563,563,563,563,3414,563,563,563,563,1446,1447,563,563,563,26028,1360,988,587,587,587,587,587,587,3671,0,0,0,541,541,541,3674,563,563,563,563,563,587,587,3260,587,587,587,587,587,587,587,587,587,587,3274,587,587,587,587,587,587,3280,587,587,587,587,587,587,587,587,587,587,587,541,587,563,541,2722,563,3350,563,563,563,563,563,563,563,563,587,587,587,587,587,587,587,587,3655,587,587,587,587,3363,587,587,587,587,587,587,587,587,587,3369,587,0,0,0,541,587,563,541,541,541,541,541,563,563,563,563,563,3071,563,563,563,563,563,0,0,0,0,541,541,3660,3661,541,541,563,563,3664,3665,563,563,563,563,1423,563,563,1430,563,563,563,563,563,563,563,563,2631,563,563,563,563,563,563,563,587,587,3668,3669,587,587,0,0,0,0,541,541,541,541,563,563,563,924,928,931,563,939,563,563,563,954,956,959,0,0,690,691,0,0,0,0,696,0,0,0,365,365,365,0,0,0,0,0,1185,0,0,0,0,0,0,0,0,0,0,0,3180,0,0,0,0,0,0,829,0,0,0,0,0,0,0,0,0,758,0,0,0,0,0,0,758,0,0,0,0,0,758,758,910,541,563,563,563,563,927,563,563,563,563,563,563,563,563,563,1432,563,563,1436,563,563,563,983,0,587,587,587,587,1057,78115,1079,0,0,0,0,0,0,0,0,1220,0,0,0,0,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,587,1521,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1514,587,0,0,0,1721,0,0,0,0,0,0,0,0,0,0,0,0,1193,0,0,0,0,2040,0,0,0,0,0,0,0,0,0,0,0,0,0,0,749,0,2171,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2211,3288,541,3290,563,3292,587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3514,468,468,468,486,494,494,486,494,494,494,494,494,494,494,494,519,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,536,527,527,527,527,527,549,572,549,572,549,549,572,549,596,572,572,572,572,572,572,572,596,596,596,549,596,596,596,596,596,596,596,596,572,572,549,572,596,572,596,1,795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1652,0,818,0,0,0,795,0,0,818,0,0,0,0,0,818,818,0,0,0,0,795,0,0,0,0,0,0,836,791,0,0,836,857,541,865,541,541,541,541,541,541,541,541,541,541,541,541,541,541,3527,563,911,541,563,563,563,563,563,930,563,938,563,563,563,563,563,563,1850,563,563,563,563,563,563,563,563,563,0,587,587,587,587,587,587,587,1012,587,587,587,587,587,587,587,587,587,587,587,587,587,1058,984,0,587,587,587,1077,1058,78115,1079,0,0,0,0,0,0,0,0,1243,0,0,0,0,0,0,0,0,1259,0,0,0,1263,0,0,0,0,0,0,0,1139,1140,0,0,0,0,0,365,365,0,0,0,0,0,0,1113,0,0,0,0,0,0,0,0,0,0,2071,0,0,0,0,0,1180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1705,1340,541,541,1344,541,541,541,541,541,1350,541,541,541,1357,541,541,541,541,541,1812,541,541,541,541,541,541,541,541,541,1360,1403,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2638,563,563,1442,563,563,563,1449,563,563,26028,1360,988,587,587,587,587,587,587,3272,587,587,587,587,587,587,587,587,3278,587,587,1487,587,587,587,587,587,587,587,1495,587,587,587,587,587,587,2365,587,587,587,587,587,587,587,587,587,2691,587,587,587,587,587,587,587,587,587,1524,587,587,1528,587,587,587,587,587,1534,587,587,587,587,587,1492,587,587,587,587,587,587,587,587,587,587,1510,587,587,587,587,587,1541,587,587,0,541,587,563,541,541,541,541,541,563,563,563,563,563,3476,563,563,563,3480,563,563,563,563,563,563,2863,563,563,2867,563,563,563,563,563,563,1409,563,563,1413,563,563,563,563,563,563,1448,563,563,26028,1360,988,587,587,587,587,0,0,0,1595,0,0,0,0,0,0,0,0,0,0,0,0,1223,0,0,0,0,0,1655,0,0,0,0,0,0,0,0,0,1664,0,0,0,0,0,0,1126,0,0,0,1130,1131,0,0,0,0,0,0,0,2818048,2846720,0,2916352,0,0,3002368,0,0,1718,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2053,1702,0,0,0,0,0,541,541,541,541,541,541,541,541,541,541,3326,541,541,541,563,563,563,1893,563,563,563,563,563,563,1901,563,563,563,563,563,563,2887,563,563,563,2890,563,2892,563,563,563,587,1944,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1940,587,587,1974,587,587,587,587,1980,587,587,587,587,587,587,587,587,1989,2007,2009,587,587,587,587,587,541,587,563,541,541,541,541,563,563,563,563,587,587,587,587,2030,0,2032,0,0,2079,0,0,0,2082,0,0,0,0,0,2088,0,0,0,0,0,0,1141,0,1143,0,0,365,365,0,0,0,0,0,0,1154,0,0,0,0,0,1160,0,1162,0,2104,0,0,0,0,0,0,0,0,0,0,0,0,0,2115,0,0,0,0,0,1192,0,0,0,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,0,0,563,563,563,563,563,563,2250,563,563,563,563,563,563,563,1851,563,563,563,563,1855,563,563,563,587,587,587,587,2349,587,587,587,587,587,587,587,587,587,587,587,1985,587,587,1988,587,2262,541,541,541,541,563,563,563,563,587,587,587,587,0,0,0,0,0,2732,0,2450,0,0,0,0,0,0,0,0,2455,0,0,2458,0,0,0,0,0,0,2134016,0,0,0,0,0,0,57344,0,0,0,0,0,0,2748,0,0,0,0,0,0,0,0,0,0,192972,192972,192972,192972,192972,192972,192972,0,0,0,0,2462,0,0,0,0,0,0,0,0,0,0,0,541,541,541,2809,541,2473,0,0,0,0,0,0,0,2481,0,0,0,2483,0,0,0,0,0,0,1170,0,0,0,0,0,0,0,0,0,0,2989,0,0,0,0,0,0,2500,0,0,0,0,0,0,0,0,0,0,2510,0,0,0,0,0,0,1186,0,0,0,1191,0,0,0,0,1107,0,0,0,0,0,0,0,0,0,0,0,758,0,0,0,0,0,0,0,2524,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2536,541,541,2552,541,541,541,541,541,541,541,541,541,541,541,541,541,905,541,541,2564,541,541,541,541,541,541,2571,541,541,541,541,541,541,541,541,541,1768,541,541,541,541,541,541,541,2578,541,541,541,2581,541,541,541,541,541,541,541,0,0,0,0,0,0,1203,0,0,0,0,0,0,0,0,0,0,813,0,0,0,0,0,0,0,0,563,2588,563,563,563,563,563,563,563,563,563,563,563,1903,1904,563,563,563,2611,563,563,563,563,563,563,2616,563,563,563,563,563,563,563,2622,587,587,587,587,2702,587,587,587,587,587,587,587,587,587,587,2710,587,587,587,2713,587,587,587,587,587,587,587,2718,2719,2720,541,541,541,541,541,2177,541,541,541,541,541,541,541,541,541,541,541,541,2845,541,541,541,2758,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2103,0,2773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1120,0,0,0,2789,0,0,0,0,2794,0,0,0,2796,0,0,0,0,0,0,0,69632,73728,316,317,317,422,423,65536,430,541,541,541,541,2814,541,541,541,541,541,541,541,541,541,541,541,541,1333,541,541,541,541,541,2848,541,541,541,541,541,541,0,0,563,563,563,2856,563,0,587,587,1047,587,587,78115,1079,0,0,0,0,0,0,0,0,1159168,365,0,0,0,0,0,0,563,563,563,563,2861,563,563,563,563,563,563,563,563,563,563,563,2294,563,563,563,563,563,563,563,563,2897,563,563,563,563,563,563,0,0,587,587,587,587,587,587,587,2338,587,587,587,587,587,587,587,3122,587,587,587,587,587,587,587,587,1036,587,587,587,587,1054,587,587,2905,587,587,587,587,587,2910,587,587,587,587,587,587,587,587,587,1935,587,587,587,587,1941,587,3006,0,0,0,0,3010,0,0,0,0,3015,0,0,0,0,0,0,0,2749,0,0,0,0,0,0,0,0,0,697,698,0,365,365,365,0,3191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2145,3300,0,0,0,0,0,0,0,0,0,0,3180,0,0,0,0,0,0,0,69632,73728,163840,0,0,0,0,65536,0,563,563,563,3340,563,563,563,563,563,563,563,563,563,563,563,563,2283,563,563,563,563,563,563,3351,563,563,563,563,563,563,587,587,587,587,587,587,587,587,587,587,587,587,587,3359,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1942,3370,587,587,587,587,587,587,541,541,563,563,587,587,0,0,0,0,3297,0,0,0,0,0,0,0,0,0,3394,0,541,541,541,541,541,541,541,541,541,541,541,541,3211,541,541,3486,587,587,587,587,587,587,587,587,3495,587,3497,3498,587,3500,587,0,0,0,541,587,563,541,541,541,904,541,563,563,563,977,3502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,541,541,854,541,541,3612,541,3613,541,541,541,563,563,563,563,563,563,3619,563,0,996,1075,1041,587,587,78115,1079,0,0,1081,1085,0,0,1089,3620,563,563,563,563,587,587,587,587,587,587,3627,587,3628,587,587,0,3603,0,0,0,0,0,0,0,0,541,541,3610,541,563,563,587,587,587,587,0,0,541,541,563,563,587,587,3683,3684,3685,3686,0,541,563,587,0,541,563,587,0,541,563,587,0,0,0,0,0,0,0,0,3180,0,0,0,0,0,0,0,550,597,573,573,573,573,573,573,573,597,597,597,550,597,597,597,597,597,597,597,597,573,573,550,573,597,573,597,1,0,0,0,737,0,0,0,0,0,0,0,0,0,0,0,0,1237,0,0,0,0,0,2041,0,0,0,0,0,0,0,0,0,0,0,0,0,1194,1196,0,403,0,0,0,0,381,0,69632,73728,0,0,0,0,426,65536,0,0,0,0,0,1202,0,0,0,0,0,0,0,0,0,0,0,2444,2445,0,0,2448,426,426,0,0,426,0,446,426,426,469,469,469,476,469,469,469,469,469,469,469,469,469,476,469,469,469,469,469,469,469,469,483,469,495,495,469,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,495,538,551,574,551,574,551,551,574,551,598,574,574,574,574,574,574,574,598,598,598,551,598,598,598,598,598,598,598,598,574,574,551,574,598,574,598,1,0,0,0,0,660,661,0,0,0,0,0,0,0,0,0,0,0,3001,0,0,0,0,0,0,0,0,661,0,0,0,0,0,0,0,0,0,0,0,661,0,0,0,0,0,827,0,0,0,661,0,0,0,0,0,0,0,0,0,0,0,3176,0,0,0,0,0,0,0,729,0,742,661,0,0,0,0,0,541,844,541,541,541,541,541,2191,541,541,541,541,541,541,2197,541,2199,541,541,859,541,541,541,541,541,541,541,541,541,541,897,541,541,541,541,541,541,2817,541,2819,541,541,541,541,541,541,541,541,2572,541,541,541,541,541,541,541,541,1349,541,541,541,541,541,541,541,541,1752,541,541,541,541,541,541,541,541,1767,541,541,541,541,541,541,541,541,1782,541,541,541,541,541,541,541,541,1815,1817,541,541,541,541,541,1360,563,563,563,970,563,563,563,563,563,0,587,587,990,587,587,587,587,587,1526,587,587,587,587,587,587,587,587,587,587,1953,587,587,587,587,587,1006,587,587,587,587,587,587,587,587,587,587,1044,587,587,587,587,587,587,3285,587,587,587,587,587,587,541,587,563,1094,0,0,0,0,0,0,0,0,0,1101,1102,0,0,0,0,0,0,0,69632,73728,167936,0,0,0,0,65536,0,0,0,0,1229,0,0,0,0,0,0,0,0,0,0,0,0,1247,0,0,0,0,0,0,0,1102,0,0,0,0,1260,1261,0,0,1101,0,0,0,0,0,0,2134756,0,0,0,0,0,0,0,0,0,0,1116,0,0,0,0,0,541,1306,541,541,541,541,541,541,541,541,541,541,541,541,541,541,0,2241,1360,914,563,1363,563,563,563,563,563,563,563,563,563,563,563,1377,1384,563,563,563,563,563,563,563,563,563,1398,563,563,563,563,563,563,3079,563,563,563,563,563,563,563,563,563,0,587,587,989,587,587,587,1418,563,563,563,563,563,563,563,1431,563,563,563,563,563,563,563,1897,563,563,563,563,563,563,563,563,1395,563,563,563,563,563,563,563,587,587,1523,587,587,587,587,587,587,587,587,587,587,587,1537,587,0,0,0,541,587,563,541,541,541,1067,911,563,563,563,1072,563,587,587,1523,587,587,1079,0,0,0,0,0,0,0,0,0,0,2781,0,0,0,0,0,541,541,541,1746,1747,541,541,541,541,1754,541,541,541,541,541,541,541,1290,541,1295,541,541,1299,541,541,1302,541,541,541,541,1795,541,541,541,541,541,541,541,541,541,541,541,541,1335,541,541,541,1825,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1841,1842,563,563,563,563,1849,563,563,563,563,563,563,563,563,563,563,3347,563,563,563,563,3348,1890,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2649,587,1945,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2372,587,587,1959,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2384,2385,587,587,587,587,2012,587,587,541,587,563,541,541,541,541,563,563,587,587,2961,0,0,2964,2965,0,0,0,0,0,0,0,2505,0,0,0,0,0,0,0,0,0,387,0,0,0,0,0,387,0,0,0,2054,0,2055,0,0,0,0,0,0,0,0,0,2064,541,541,541,541,2216,541,541,541,541,541,541,2221,541,541,541,541,541,541,1285,1292,541,541,541,541,541,541,541,541,541,1800,541,541,541,1805,541,541,541,2226,541,541,541,541,541,541,541,541,541,541,541,541,0,0,563,563,563,563,563,563,563,563,2302,563,563,563,563,563,563,2307,563,563,563,563,563,563,3080,563,563,563,563,563,563,563,563,563,1883,563,563,563,563,563,563,563,2313,563,563,563,563,563,563,563,563,563,563,563,563,0,0,587,587,587,587,587,587,2389,587,587,587,587,587,587,2394,587,587,587,587,587,587,2377,587,587,587,587,587,587,587,587,587,1952,587,587,587,587,1956,587,587,2400,587,587,587,587,587,587,587,587,587,587,587,587,541,587,0,0,0,541,587,563,541,541,895,541,541,563,563,968,563,0,587,587,587,587,587,78115,1079,0,0,1082,1086,0,0,1090,0,2437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1178,0,587,2671,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2931,587,0,0,0,2736,0,0,0,0,0,0,0,0,0,0,0,0,1588,1589,0,0,2787,0,0,0,0,0,0,0,0,0,0,0,2797,0,0,0,0,0,0,1204,0,0,0,0,0,0,0,0,0,0,1631,0,0,0,0,0,541,541,541,2813,541,541,541,541,541,541,2821,541,541,541,541,541,541,541,2555,541,541,541,541,541,541,541,2562,563,563,563,2860,563,563,563,563,563,563,2868,563,563,563,563,563,563,3094,563,563,3096,563,563,563,563,563,563,1880,1881,1882,563,563,1885,1886,563,563,563,0,0,3008,0,0,0,0,0,0,0,0,0,0,0,0,0,1197,0,0,541,541,3227,541,541,541,541,541,541,563,563,563,563,563,563,563,3073,563,563,563,3571,541,3573,541,541,541,563,563,563,563,563,563,563,3583,563,3585,0,0,0,0,541,3659,541,541,541,541,563,3663,563,563,563,563,563,1878,563,563,563,563,1884,563,563,563,563,563,563,2864,563,2866,563,563,563,563,563,563,563,3354,563,563,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,1057,587,3667,587,587,587,587,0,0,0,0,541,541,541,541,563,563,915,563,563,563,563,563,563,946,563,563,563,563,563,1427,563,563,563,563,563,563,563,563,563,563,3535,563,563,563,563,563,563,587,587,587,587,3112,587,587,587,587,3116,470,470,470,470,454,454,470,454,454,454,454,454,454,454,454,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,552,575,552,575,552,552,575,552,599,575,575,575,575,575,575,575,599,599,599,552,599,599,599,599,599,599,599,599,575,575,552,575,599,575,599,1,541,860,541,541,874,541,541,541,541,541,541,541,541,541,541,541,541,1770,541,541,541,1007,587,587,1021,587,587,587,587,587,587,587,587,587,587,587,587,1971,587,587,587,0,1123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1184,1184,1251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2156,0,0,0,1268,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1360,541,541,541,1323,541,541,541,541,541,541,541,541,541,541,541,541,541,2534,541,541,541,1341,541,541,541,541,541,1348,541,541,541,541,541,541,541,541,541,2234,541,541,541,541,0,0,1440,563,563,563,563,563,563,563,563,26028,1360,988,587,587,587,587,587,587,3365,587,587,587,587,587,587,587,587,587,2936,587,587,587,2939,587,2941,587,587,587,587,587,1525,587,587,587,587,587,1532,587,587,587,587,587,587,2392,587,587,587,587,587,587,587,587,587,1472,587,587,587,587,1482,587,563,587,587,587,1557,587,1079,0,1561,0,0,0,1567,0,0,0,0,0,0,1218,1219,0,0,0,0,0,0,0,0,0,1235,0,0,0,0,0,0,1573,0,0,0,1579,0,0,0,0,0,0,0,0,0,0,0,662,0,0,0,0,0,0,0,0,0,0,0,541,541,541,1779,541,541,541,541,541,541,541,541,541,541,541,541,541,2548,541,541,563,1843,563,563,563,563,563,563,563,563,563,1854,563,563,563,563,563,1879,563,563,563,563,563,563,563,563,563,563,3344,563,563,563,563,563,563,563,563,1865,563,563,563,563,563,563,563,2065,2066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1210,0,2117,0,0,2120,2121,0,0,0,0,0,2127,0,0,0,0,0,0,0,2765,0,0,0,0,0,0,0,0,0,550,573,550,573,550,550,573,541,2213,541,541,541,541,2218,541,541,541,541,541,541,541,541,541,541,2182,541,541,541,541,541,2299,563,563,563,563,2304,563,563,563,563,563,563,563,563,563,563,1917,563,26028,0,587,587,587,2386,587,587,587,587,2391,587,587,587,587,587,587,587,587,587,587,2001,587,587,587,587,587,2006,541,541,541,3037,541,541,541,541,541,541,541,541,541,541,541,541,541,2846,541,541,563,563,3077,563,563,563,563,563,563,563,563,563,563,563,563,563,1887,1888,563,587,587,587,3119,587,587,587,587,587,587,587,587,587,587,587,587,1986,587,587,587,563,563,3247,563,563,563,563,563,563,563,563,563,563,563,563,563,2296,563,563,587,0,0,0,3445,0,0,0,0,3180,0,0,0,0,0,0,0,1242,0,0,0,0,0,0,0,0,0,380,0,0,0,0,0,0,0,0,541,541,541,541,3460,541,541,541,541,541,541,541,541,541,541,2207,541,541,541,541,541,563,587,587,587,587,3491,587,587,587,587,587,587,587,587,587,587,2354,587,587,587,587,587,587,563,563,563,563,3623,587,587,587,587,587,587,587,587,587,587,587,2395,587,587,587,587,587,3631,0,0,0,0,0,0,541,541,541,541,541,541,541,563,563,920,563,563,563,563,563,563,949,951,563,563,563,563,563,3421,563,563,563,3425,563,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3501,388,390,340,0,0,0,0,0,0,339,0,0,340,0,0,0,0,0,0,1598,0,0,0,0,0,0,0,0,1604,0,0,0,387,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,1217,0,0,0,0,0,0,0,1224,0,0,0,0,0,347,0,0,0,0,0,0,0,0,0,0,0,3316,0,0,0,0,0,0,435,339,0,0,447,0,0,471,471,471,471,471,471,471,471,471,553,576,553,576,553,553,576,471,482,471,471,471,500,477,500,500,500,500,500,500,500,500,471,471,477,471,471,471,471,471,471,471,471,471,471,471,481,481,471,482,471,471,553,600,576,576,576,576,576,576,576,600,600,600,553,600,600,600,600,600,600,600,600,576,576,553,576,600,576,600,1,0,0,750,0,0,0,0,0,0,0,0,0,0,0,0,0,1603,0,0,0,0,0,0,663,0,788,0,0,0,0,0,0,0,792,0,0,0,0,0,1231,0,0,0,0,0,0,0,0,0,0,0,2153,0,0,0,0,0,0,0,801,0,0,0,0,0,809,0,0,0,0,706,0,0,0,0,0,0,0,0,715,0,717,0,828,0,0,0,663,831,0,788,0,0,0,0,0,837,0,0,0,0,0,1597,0,0,0,577536,0,0,1602,0,0,0,0,0,0,1257,0,0,0,0,0,0,0,0,0,0,2508,0,0,0,0,0,541,861,541,541,875,541,541,541,541,888,541,541,541,541,906,541,541,541,541,541,3519,541,541,541,541,541,541,541,541,563,563,563,923,563,929,563,563,942,563,563,953,563,958,961,563,563,563,563,979,563,563,563,0,587,587,991,587,587,587,587,587,1962,587,587,587,587,587,587,587,587,587,587,3287,587,587,587,541,587,563,1008,587,587,1022,587,587,587,587,1035,587,587,587,587,1053,587,587,587,587,587,2945,587,587,2948,587,587,2951,587,2952,2953,2954,0,0,0,0,1216,0,0,0,0,1221,0,0,0,0,0,0,0,1258,0,0,0,0,0,0,0,0,0,365,299,0,0,0,0,0,0,1144,0,0,1256,0,0,0,0,0,0,0,0,1235,0,0,0,0,0,0,2891776,0,0,0,0,0,2392064,2412544,0,0,0,0,0,0,2123,0,0,0,0,0,0,0,0,0,0,2727936,0,0,0,3084288,0,0,0,1267,0,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,1741,541,541,541,1309,541,541,541,541,541,541,541,541,541,541,541,541,541,3045,541,3047,563,587,587,1556,587,587,1079,0,0,0,0,0,0,0,0,0,0,3e3,0,0,0,0,0,1621,0,0,1624,0,1626,0,0,0,0,0,0,0,0,0,0,0,3198,3199,0,0,0,0,0,0,0,1722,0,0,0,0,0,0,0,0,0,0,0,683,684,685,0,0,541,541,541,541,1780,541,541,541,541,541,541,541,541,541,541,541,541,1820,541,541,1360,0,563,563,563,563,563,563,563,563,563,563,1836,563,563,563,563,563,2263,563,563,563,563,563,563,563,563,563,563,1433,563,563,563,563,563,1875,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2872,1943,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2359,0,0,2135,0,0,0,0,0,0,0,0,0,0,0,0,0,1618,0,0,2146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2484,0,0,0,0,541,541,541,2163,2164,541,541,541,541,541,541,541,541,2180,541,541,541,541,2185,541,541,541,541,541,2228,541,541,541,541,541,541,541,541,541,541,0,0,563,563,563,563,2857,0,0,563,563,563,2247,563,2249,563,563,563,563,563,563,563,563,2320,563,563,563,563,563,0,0,563,563,563,2315,563,563,563,563,563,563,563,563,563,563,0,0,988,587,587,587,587,0,0,587,587,587,2334,587,2336,587,587,587,587,587,587,587,587,1965,1966,1968,587,587,587,587,587,587,587,587,2402,587,587,587,587,587,587,587,587,587,587,541,587,0,0,0,541,587,563,541,541,897,541,541,563,563,970,563,0,997,587,1076,1048,587,78115,1079,0,0,0,0,0,0,0,0,458,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,1147355,0,0,2438,0,0,0,0,0,0,2443,0,0,0,2446,2447,0,0,0,0,0,1610,0,0,1613,0,0,0,0,0,0,0,0,1584,0,0,0,0,0,0,0,0,1683,0,0,0,0,0,0,0,0,334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1134,0,0,0,0,2487,0,0,0,0,0,0,0,0,0,0,0,2498,0,0,0,2515,0,0,0,0,0,0,0,0,0,2523,0,541,541,541,541,541,3576,563,563,563,3580,563,563,563,563,563,563,2290,563,563,563,563,563,563,563,563,563,1899,563,563,563,563,563,1906,2537,2538,541,541,541,541,541,2543,541,2545,541,541,541,541,2549,541,541,541,541,541,3614,3615,541,563,563,563,563,563,563,563,563,3424,563,563,587,587,587,587,587,563,563,2598,563,563,2601,2602,563,563,563,563,563,2607,563,2609,563,0,999,1039,587,1050,587,78115,1079,0,0,0,0,0,0,0,0,3184,0,0,0,0,0,0,0,0,2750,0,0,0,0,0,0,0,0,0,2732032,0,0,0,0,0,0,563,563,563,2613,563,563,563,563,563,563,563,563,2619,563,563,563,563,563,3624,587,587,587,587,587,587,587,587,587,587,1967,587,587,587,1972,587,587,563,2639,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1402,563,587,587,587,2673,587,2675,587,587,587,587,2679,587,587,587,587,587,587,2676,587,587,587,587,587,587,587,587,587,1469,1476,587,587,587,587,587,587,587,587,2685,587,587,587,587,587,587,587,587,2693,587,587,587,587,587,1979,587,587,587,587,587,587,587,587,587,587,2926,2927,587,587,587,587,2930,587,587,587,587,587,2701,587,587,587,587,2705,587,587,587,587,587,587,587,2378,2379,587,587,587,587,587,587,587,2406,587,587,2409,2410,587,587,2176,2348,0,2745,0,0,0,0,0,0,0,2751,2752,2753,0,0,0,0,0,0,0,69632,73728,172032,0,0,0,0,65536,0,2772,0,2774,0,0,0,0,2778,0,0,0,0,2783,0,0,2786,541,541,2828,541,541,541,541,541,541,541,541,541,541,541,541,541,1771,541,541,541,541,541,2838,541,541,541,541,541,541,541,541,541,541,541,541,541,3337,563,563,541,2847,541,541,2850,541,541,2853,541,0,0,2854,563,563,563,563,563,2277,563,563,2280,563,563,563,563,563,563,563,3081,563,563,563,563,563,563,563,563,3355,563,587,587,587,587,587,587,563,563,2875,563,563,563,563,563,563,563,563,563,563,563,563,563,2324,0,0,563,563,563,563,2886,563,563,563,563,563,563,563,563,563,563,563,2606,563,2608,563,563,563,563,563,2896,563,563,2899,563,563,2902,563,0,0,2903,587,587,587,587,587,3284,587,587,587,587,587,587,587,541,587,563,541,541,563,563,587,587,587,2921,587,587,2924,587,587,587,587,587,587,587,587,587,587,587,2666,587,587,587,587,0,0,0,0,0,2972,2973,0,0,0,0,2978,0,0,0,0,0,0,0,69632,73728,221184,0,0,0,0,65536,0,3021,0,0,3023,0,0,541,541,3028,541,541,541,541,541,541,541,541,2205,2206,541,541,541,541,541,541,0,0,3160,0,3162,0,0,0,3166,0,0,0,0,0,0,0,0,2518,0,0,0,0,0,0,541,541,541,541,3030,541,541,541,541,3034,3234,3235,563,563,563,563,3239,3240,563,563,563,563,563,3244,563,563,563,563,1445,563,563,563,563,26028,1360,988,587,1455,587,587,0,3632,0,0,0,0,541,541,541,541,541,3641,541,563,563,563,563,587,587,587,587,587,587,587,3263,3264,587,587,587,587,587,587,3435,587,587,587,587,587,587,587,541,563,3268,3269,587,587,587,587,587,3273,587,587,587,587,587,587,587,587,2393,587,587,587,587,587,587,587,3279,587,587,587,587,587,587,587,587,587,587,587,587,541,587,563,2721,541,0,0,0,3312,0,0,0,0,0,0,0,0,0,0,0,0,1633,0,0,0,541,3404,541,541,541,541,541,541,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3419,563,563,563,563,563,563,563,587,587,587,587,587,3113,587,587,587,587,587,0,3443,0,0,3446,0,0,0,3180,0,0,0,0,0,0,0,1583,0,1585,0,0,0,0,0,0,0,1106,0,0,0,0,0,0,0,0,0,756,0,0,0,0,0,0,0,0,541,541,3458,541,541,541,541,3463,541,541,541,541,3468,541,541,541,541,872,541,541,541,541,541,541,541,541,541,541,541,541,1316,541,541,541,563,587,587,3489,587,587,587,587,3494,587,587,587,587,3499,587,587,587,587,587,3364,587,587,587,587,587,587,587,587,587,587,2664,587,587,2667,2668,587,587,563,563,3645,3646,563,563,563,587,587,587,3651,3652,587,587,587,0,541,587,563,541,541,541,541,541,563,563,563,563,587,587,587,587,0,0,0,2730,0,0,563,587,0,541,563,587,3691,3692,3693,3694,0,541,563,587,0,0,0,0,0,0,0,0,3180,0,0,0,0,0,3453,342,343,344,345,346,0,0,0,0,0,0,0,0,0,0,0,713,0,0,0,0,0,0,0,391,0,0,0,0,0,0,0,0,0,0,0,0,1674,0,0,0,345,345,0,346,345,0,344,345,455,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,487,496,496,504,496,506,496,496,506,506,496,506,521,521,521,521,521,521,521,521,521,521,521,521,521,521,521,521,554,577,554,577,554,554,577,554,601,577,577,577,577,577,577,577,601,601,601,554,601,601,601,601,601,601,601,601,577,577,554,577,601,577,601,1,656,657,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1590,1591,672,673,0,675,676,0,0,0,0,0,682,0,0,0,0,0,0,0,2804,0,0,0,541,2808,541,541,541,0,0,0,0,692,0,0,0,0,0,0,699,365,365,365,0,0,0,0,0,1658,0,0,0,0,0,0,0,0,0,0,0,3180,0,0,0,3308,0,719,0,721,0,723,0,0,0,0,0,0,0,0,0,733,0,0,0,0,646,752,753,754,0,0,0,0,0,760,761,0,0,0,0,0,1680,0,0,0,0,0,0,0,0,0,0,0,3180,0,3306,0,0,763,764,675,0,0,0,0,0,0,0,0,0,0,779,780,0,0,0,0,0,1696,1697,1698,1699,0,0,0,0,0,0,0,0,755,0,0,0,0,0,0,0,0,772,0,0,0,0,0,0,0,0,782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1601,0,0,761,0,0,787,0,0,0,0,0,0,0,0,0,794,675,723,0,692,811,0,0,0,0,761,0,0,0,0,0,0,0,1591,0,0,0,0,0,0,0,0,0,1662,0,0,0,0,0,0,0,0,754,820,821,0,0,0,0,0,0,754,0,0,825,699,0,0,0,830,0,0,0,832,0,0,0,692,699,0,0,692,830,830,0,0,0,0,0,0,0,0,0,692,541,541,851,855,858,541,866,541,541,541,881,883,886,541,541,541,898,902,541,541,541,541,541,2541,541,541,541,541,541,541,541,541,541,541,541,541,3044,541,541,541,563,563,563,971,975,563,563,563,563,0,587,587,587,998,1002,1005,587,1013,587,587,587,1028,1030,1033,587,587,587,1045,1049,587,587,587,587,587,1995,587,587,587,587,587,2002,587,587,587,587,587,587,2946,587,587,587,587,587,587,541,587,563,1073,0,998,587,1045,1049,1078,78115,1079,0,0,0,0,0,0,0,0,2779,0,0,0,0,0,0,0,0,303,303,303,303,0,303,303,303,0,0,0,0,1168,0,0,0,0,0,0,0,0,0,0,0,729,0,0,0,0,0,0,1199,0,0,0,0,0,0,0,0,0,0,1209,0,0,0,0,0,0,2912256,0,3207168,2465792,0,0,2719744,0,0,0,0,0,0,541,541,541,3397,541,541,541,541,3401,541,0,0,1214,0,0,0,0,0,0,0,0,0,0,0,0,0,1634,0,0,0,0,1254,0,0,0,0,0,0,0,0,0,0,0,0,0,1665,0,0,1321,541,541,541,541,541,541,541,541,541,541,1331,541,541,1338,541,541,541,541,873,541,541,541,541,541,541,541,541,541,541,541,541,1332,541,541,541,563,563,1443,563,563,563,563,563,563,26028,1360,988,587,587,587,587,587,587,3548,587,3550,587,587,3552,587,587,0,0,0,0,0,0,541,541,541,3639,3640,541,541,563,1501,587,587,1505,587,587,587,587,587,587,587,587,587,587,1515,587,0,0,0,541,587,563,541,541,899,541,541,563,563,972,563,0,1074,587,587,1052,587,78115,1079,0,0,0,0,0,0,0,0,2445312,0,2842624,0,0,0,2637824,0,587,1522,587,587,587,587,587,587,587,587,587,587,1535,587,587,587,587,587,2013,587,541,587,563,541,541,541,541,563,563,563,563,587,587,587,587,0,0,0,0,0,0,1666,0,1668,0,0,0,1670,0,748,0,0,0,0,0,0,0,0,3174,0,0,0,0,0,0,0,0,791,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,808,0,0,1693,0,0,0,0,0,0,1700,0,0,0,0,0,0,0,1660,1661,0,0,0,0,0,0,0,0,710,0,0,0,0,0,0,0,0,726,0,0,0,0,0,0,0,0,0,274432,274432,274432,0,274432,274432,274432,541,541,1762,541,541,541,541,541,541,541,541,1769,541,541,541,1773,541,541,1778,541,541,541,541,541,541,541,541,541,541,541,541,541,1788,541,541,0,563,1828,563,563,563,563,563,563,563,1835,563,563,563,563,563,563,3250,563,563,563,563,563,563,563,563,563,2321,563,563,563,563,0,0,563,1908,563,563,563,563,563,563,563,563,563,26028,0,587,1924,587,0,0,0,541,587,563,541,541,900,541,541,563,563,973,563,563,563,563,2262,563,563,563,563,563,563,563,563,563,563,563,1434,563,563,563,563,587,587,587,1960,587,587,587,1964,587,587,1969,587,587,587,587,587,587,2688,587,587,587,587,587,587,2695,587,587,563,563,587,587,587,587,0,0,0,2031,0,1082,0,0,0,2033,0,1086,0,0,0,2035,0,1090,0,0,0,2037,0,1094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1620,2587,0,1825,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2610,2650,563,563,563,0,0,0,2653,0,1921,587,587,587,587,587,587,587,3549,587,587,587,587,587,587,0,0,3672,0,541,541,541,541,563,563,0,0,2969,0,0,0,0,0,0,0,0,0,0,0,0,0,2102,0,0,0,0,0,3161,0,0,0,0,0,0,0,0,0,0,0,0,1703,0,0,0,0,0,3319,541,541,541,541,541,541,541,3324,541,541,541,541,541,541,541,2832,541,541,541,541,541,541,541,541,541,2573,541,541,541,541,541,541,587,587,3361,587,587,587,587,587,587,587,587,587,587,587,587,587,2709,587,587,3379,0,0,3382,0,0,0,0,3180,3387,0,0,0,0,0,0,0,1682,0,1684,0,0,0,0,0,0,0,1114,0,0,0,0,1118,0,0,1121,541,541,541,541,3407,541,541,541,563,563,563,3412,563,563,563,563,563,2289,563,563,563,563,563,563,563,563,563,563,2605,563,563,563,563,563,3416,563,563,563,563,563,3422,563,563,563,563,587,587,587,3428,587,0,0,0,541,587,563,850,541,1066,901,541,923,563,1071,974,587,587,587,3432,587,587,587,587,587,3438,587,587,587,587,541,563,563,563,563,2276,563,563,563,563,563,563,2282,563,2284,563,2287,563,587,587,587,587,587,3492,587,587,587,3496,587,587,587,587,587,587,2704,587,587,587,587,587,587,587,587,587,1470,587,587,587,587,587,587,0,0,3657,0,541,541,541,541,541,541,563,563,563,563,563,563,936,563,563,563,563,563,563,563,563,587,3687,3688,3689,3690,0,541,563,587,0,541,563,587,0,0,0,0,0,0,0,0,3180,0,0,3450,3451,0,0,389,0,0,0,393,389,0,0,0,0,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,405,0,347,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,1709,0,0,0,0,0,0,0,0,0,0,399,0,0,0,0,0,0,0,436,0,0,443,0,0,0,0,0,0,0,0,0,0,0,131072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,522,522,522,522,522,0,0,0,0,0,0,0,0,0,522,522,522,522,522,522,522,522,522,555,578,555,578,555,555,578,555,602,578,578,578,578,578,578,578,602,602,602,555,602,602,602,602,602,602,602,602,578,578,617,622,602,622,628,1,0,0,0,751,0,0,0,0,0,0,0,0,0,0,0,0,2061,0,0,0,962,563,563,563,563,980,563,563,563,0,587,587,992,587,587,587,587,587,2350,587,587,587,587,587,587,587,587,587,587,1936,587,587,587,587,587,1107,0,0,0,0,1112,0,0,0,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,1360,914,563,563,563,1366,563,563,563,563,563,563,563,563,563,1380,563,563,1404,563,563,563,563,563,563,563,563,563,563,563,563,563,2620,563,563,563,1441,563,563,563,563,563,563,563,26028,1360,988,587,587,587,1458,563,587,587,587,587,587,1079,0,1562,0,0,0,1568,0,0,0,0,0,0,1627,1628,1629,0,0,0,0,0,0,0,0,343,0,0,0,0,0,0,0,0,403,0,0,0,0,0,0,0,0,407,407,407,407,0,407,407,407,1574,0,0,0,1580,0,0,0,0,0,0,0,0,0,0,0,808,541,541,852,541,1605,0,0,0,0,0,0,0,0,0,0,0,0,0,1619,0,0,0,0,0,1723,0,0,0,0,0,0,0,0,0,0,0,2625536,0,2699264,2715648,0,1973,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2373,563,563,587,587,587,587,0,0,1563,0,0,0,0,0,1569,0,1575,0,1581,0,0,0,0,0,0,0,0,0,0,0,1262,0,0,0,0,0,0,0,0,1575,0,0,0,0,0,1581,0,0,0,0,0,0,0,2974,0,0,0,0,0,0,0,0,0,365,0,253952,0,0,0,0,541,541,541,2190,541,541,541,541,2194,541,2196,541,541,541,541,541,541,541,3039,541,541,541,541,541,541,541,541,541,887,541,541,541,541,541,541,563,563,2275,563,563,563,563,2279,563,2281,563,563,563,563,563,563,1896,563,563,563,563,563,563,563,563,563,1397,1399,563,563,563,563,563,587,587,2362,587,587,587,587,2366,587,2368,587,587,587,587,587,587,1465,587,587,587,587,587,587,1480,587,587,0,0,0,0,0,2489,0,0,0,0,0,0,0,0,0,0,0,196608,0,0,0,0,563,563,2625,563,563,563,563,563,563,563,563,563,563,563,563,563,2648,563,563,0,0,0,0,3024,0,541,541,541,541,541,541,541,541,541,541,541,1330,541,541,541,541,0,3380,0,0,0,0,0,0,3180,0,0,0,0,3391,0,0,0,0,0,328,0,69632,73728,0,0,0,0,0,65536,0,3393,0,0,0,0,0,541,3396,541,541,3398,541,541,541,541,541,541,541,3040,541,541,541,541,541,541,541,541,541,1783,541,541,541,541,1789,541,0,3455,541,541,541,541,541,541,541,541,541,541,541,541,541,541,563,563,563,541,862,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1319,541,541,912,563,563,563,563,563,563,935,563,563,563,563,563,563,563,2291,2292,563,563,563,563,563,563,563,2319,563,563,2322,2323,563,563,0,0,1009,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2697,1059,0,0,0,541,587,563,541,541,541,541,541,563,563,563,563,563,2614,563,563,563,563,563,563,563,563,563,563,3649,587,587,587,587,587,587,587,0,1095,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2513,0,0,1623,0,0,0,0,0,0,0,0,0,0,0,0,0,2130,0,2132,1826,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3258,541,3215,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1337,541,587,587,587,3271,587,587,587,587,587,587,587,587,587,587,587,587,2370,587,587,587,0,0,0,0,348,348,350,348,348,348,348,348,348,513,348,348,0,350,348,0,0,348,348,0,0,0,0,349,0,0,0,0,0,329,0,0,0,0,0,0,0,0,0,0,0,2509,0,0,0,0,348,348,348,348,348,348,348,348,348,348,348,348,348,348,348,348,556,579,556,579,556,556,579,556,603,579,579,579,579,579,579,579,603,603,603,556,603,603,603,603,603,603,603,603,579,579,556,579,603,579,603,1,0,0,0,0,722,0,724,0,0,0,0,0,0,0,0,0,299,0,0,0,0,0,0,0,0,0,0,739,0,0,0,0,0,0,0,0,0,0,0,836,541,541,541,541,0,0,0,766,0,0,0,771,0,0,0,0,0,0,0,0,0,1189,0,0,0,0,0,0,541,541,541,870,541,541,541,541,541,890,892,541,541,903,541,541,541,541,541,2569,541,541,541,541,541,541,541,541,541,541,541,541,2835,541,541,541,963,965,563,563,976,563,563,563,563,0,587,587,993,999,587,587,587,587,587,3374,587,541,541,563,563,587,587,0,0,0,0,0,0,3299,0,0,0,587,587,1017,587,587,587,587,587,1037,1039,587,587,1050,587,587,587,587,587,2364,587,587,2367,587,587,587,587,587,587,587,2677,587,587,587,587,587,587,2682,587,0,0,0,1151,0,1153,0,1155,0,0,0,0,0,0,0,0,0,1231,541,541,541,541,541,541,0,1181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1636,0,0,1198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1675,0,0,1266,0,0,0,0,0,0,0,1181,541,541,541,541,541,541,541,1326,541,541,541,541,541,541,541,1339,1305,1307,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1358,541,541,541,1343,541,541,541,541,541,541,541,541,1354,1355,541,541,541,541,541,541,2840,541,541,541,541,541,541,541,541,541,541,3056,541,3058,541,541,541,1360,914,563,563,563,563,1367,563,563,563,563,563,563,563,563,563,3242,563,563,563,563,563,563,563,563,563,1421,563,563,563,563,563,563,563,1435,563,563,563,563,563,2627,563,563,563,563,563,563,2635,563,563,563,1459,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2942,587,587,587,1489,1491,587,587,587,587,587,587,587,587,587,587,587,2707,2708,587,587,587,1554,587,1555,587,587,1558,1079,0,0,0,0,0,0,0,0,0,306,204800,204800,0,205106,204800,1,0,1677,0,0,1679,0,0,0,0,0,0,0,0,0,0,0,1159,0,0,0,0,541,541,541,541,1763,541,541,541,541,541,541,541,541,541,541,541,541,2208,541,541,541,0,563,563,563,563,563,563,563,1833,563,563,563,563,563,563,563,2879,563,563,563,563,563,563,563,563,2644,563,563,563,2647,563,563,563,1858,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1857,563,563,563,1909,563,563,563,563,1915,563,563,563,26028,0,587,587,587,587,587,2376,587,587,587,587,587,587,587,587,587,587,2717,541,587,563,541,541,587,587,587,587,1929,587,587,587,587,587,587,587,587,587,587,587,2938,587,587,587,587,587,1991,587,587,587,1996,587,587,587,587,587,587,587,587,2005,587,0,0,0,541,587,563,852,892,541,903,541,925,965,563,976,587,587,587,2011,587,587,587,541,587,563,541,541,541,541,563,563,916,563,563,563,932,563,563,563,563,563,563,563,1864,563,563,563,1868,563,563,1873,563,2077,0,0,0,0,0,0,0,0,2085,0,0,0,0,0,2089,0,0,2091,0,0,0,0,0,0,0,2099,0,0,0,0,0,0,0,3012,3013,0,0,0,0,3018,0,0,2133,2134,0,2136,0,0,0,0,0,0,0,0,0,0,2144,0,0,2149,2150,0,0,0,0,0,2154,0,0,0,0,0,0,0,2160,541,541,541,541,541,541,2167,541,541,541,541,541,541,1288,541,541,541,541,1298,541,541,541,541,541,541,1325,541,541,541,541,541,541,541,541,541,541,1801,541,541,541,541,541,2202,541,541,541,541,541,541,541,541,541,541,541,541,2209,541,541,541,541,541,2815,541,2818,541,541,541,541,2823,541,541,541,541,541,541,3409,541,563,563,563,563,563,563,563,563,3479,563,3481,3482,563,3484,563,541,541,541,2215,541,541,541,541,541,541,541,541,541,541,541,541,895,541,541,541,0,0,2244,563,563,563,563,563,563,563,2252,563,563,563,563,563,563,3534,563,3536,563,563,3538,563,563,587,587,563,563,2301,563,563,563,563,563,563,563,563,563,563,563,563,563,2893,563,563,0,0,2331,587,587,587,587,587,587,587,2339,587,587,587,587,587,587,2715,587,587,587,587,541,587,563,541,541,587,587,587,587,2363,587,587,587,587,587,587,2369,587,2371,587,2374,587,587,2388,587,587,587,587,587,587,587,587,587,587,587,587,587,2918,587,587,0,2474,0,0,0,0,0,0,0,0,0,2482,0,0,0,0,0,0,0,122880,122880,122880,122880,122880,0,122880,0,2105632,0,0,2514,0,0,0,0,0,0,0,0,0,2522,0,0,541,541,541,541,541,3461,541,541,541,3465,541,541,541,541,541,541,1287,541,541,541,541,541,541,541,541,541,541,2546,541,541,541,541,541,541,541,541,541,2540,541,541,541,541,541,541,541,541,541,541,541,541,2222,541,541,541,563,563,563,2599,563,563,563,563,563,2604,563,563,563,563,563,563,2278,563,563,563,563,563,563,563,563,563,2632,563,563,563,563,563,563,2670,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3143,587,587,587,587,2686,587,587,587,587,587,587,587,587,587,587,587,3125,587,587,587,587,541,541,2723,563,563,563,2725,587,587,587,2727,2728,0,0,0,0,0,0,0,172032,172032,172032,172032,172032,172032,172032,172032,1,0,0,2746,0,2747,0,0,0,0,0,0,0,0,0,0,0,1175,0,0,0,0,0,0,0,0,2762,0,0,0,0,0,0,0,0,0,0,0,1192,0,1195,0,0,2811,541,2812,541,541,541,541,541,541,541,541,541,541,541,541,541,1804,541,541,541,541,541,2849,541,541,541,541,541,0,0,563,563,563,563,563,563,563,563,563,563,563,563,2255,563,2858,563,2859,563,563,563,563,563,563,563,563,563,563,563,563,563,3086,563,563,587,587,2907,587,2908,587,587,587,587,587,587,587,587,587,587,587,3139,587,3141,587,587,0,0,0,2983,0,0,0,0,0,0,0,0,0,0,0,0,2073,0,0,0,0,0,3381,0,0,0,0,0,3180,0,0,0,3390,0,0,0,0,0,0,1659,0,0,0,0,0,0,0,0,0,0,114688,0,241664,258048,0,0,3430,587,587,587,587,587,587,587,587,587,3439,587,587,587,541,563,563,563,563,2303,563,563,563,563,563,563,563,563,563,563,563,26028,0,587,587,587,541,541,541,541,3518,541,541,541,541,541,541,541,541,541,563,563,563,3232,563,563,563,563,563,563,3531,563,563,563,563,563,563,563,563,563,563,587,587,587,3357,587,587,587,587,587,3545,587,587,587,587,587,587,587,587,587,587,0,0,0,0,0,0,3637,541,541,541,541,541,541,3643,563,563,563,563,3647,563,563,587,587,587,587,587,3653,587,587,0,0,0,0,3635,0,541,541,541,541,541,541,541,563,2724,563,563,587,2726,587,587,0,0,0,0,0,0,0,0,3607,0,541,541,541,541,0,3656,0,3658,541,541,541,541,541,541,563,563,563,563,563,563,937,563,563,563,563,563,563,563,0,0,0,0,394,395,0,396,0,0,0,0,0,396,0,0,0,0,0,331,332,333,0,0,0,0,0,0,0,0,0,560,583,560,583,560,560,583,401,0,0,0,0,0,368,376,404,0,0,0,0,0,368,0,0,396,0,0,0,0,0,351,0,0,368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2744,409,411,0,0,368,376,0,69632,73728,0,0,0,0,427,65536,0,0,0,0,0,2044,2045,0,0,0,0,0,0,0,0,0,361,0,0,0,0,0,361,427,427,437,0,427,0,411,427,456,0,0,0,0,0,0,0,0,106496,0,106496,0,0,0,0,106496,396,0,409,0,497,497,0,497,497,497,497,497,497,497,497,523,523,523,523,523,456,456,456,456,531,456,456,532,456,523,537,523,523,523,537,523,523,523,523,539,557,580,557,580,557,557,580,557,604,580,580,580,580,580,580,580,604,604,604,557,604,604,604,604,604,604,604,604,580,580,618,623,604,623,629,1,0,0,0,643,0,0,0,0,0,0,0,0,0,0,0,0,2101,0,0,0,783,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2757,0,0,0,802,0,0,0,0,0,0,0,0,0,0,0,0,2129,0,0,0,587,587,587,1023,1025,587,587,587,587,587,587,587,587,587,587,587,3275,587,587,587,587,0,0,0,0,1096,0,0,1098,0,0,0,0,0,0,0,0,0,1630,0,0,0,0,0,1636,0,0,0,0,1111,0,0,0,0,0,0,0,0,0,0,0,1207,0,0,0,0,1098,1227,0,0,0,0,0,0,1234,0,0,0,0,0,0,0,0,155648,0,0,0,0,0,0,0,0,1239,0,0,0,0,0,0,0,0,0,0,1239,1248,0,0,0,0,0,0,1681,0,0,0,0,0,0,1687,0,1689,0,0,0,0,1239,1269,1270,0,1239,0,541,541,541,541,541,541,541,3207,3208,541,541,541,541,3212,3213,1278,541,541,541,1282,541,541,1293,541,541,1297,541,541,541,541,541,541,541,3054,541,541,541,541,541,541,541,541,541,1784,541,541,541,541,541,541,1360,914,563,563,563,563,563,563,563,1370,563,563,563,1374,563,563,563,563,1847,563,563,563,563,563,563,563,563,563,563,563,2308,563,563,563,563,1385,563,563,1389,563,563,563,563,563,563,563,563,563,563,563,563,2295,563,563,563,563,563,563,1406,563,563,563,1410,563,563,563,563,563,563,563,563,2901,563,563,0,0,587,587,587,587,587,587,1462,587,587,587,1466,587,587,1477,587,587,1481,587,587,587,587,587,3434,587,3436,587,587,587,587,587,587,541,563,587,1502,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3128,587,0,1622,0,0,0,0,0,0,0,0,0,0,0,0,1635,0,0,0,0,0,2067,0,0,0,0,0,0,0,0,0,2076,1637,0,0,0,1641,0,0,0,1645,0,0,0,1649,0,0,0,0,0,0,2056,0,2057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1676,0,563,563,1844,563,563,563,563,563,563,563,563,563,563,563,563,563,3540,587,587,1958,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3127,587,3129,587,587,2010,587,587,587,587,1749,1940,1844,541,541,541,541,563,563,917,563,563,563,934,563,563,948,563,563,563,563,563,1895,563,563,563,1900,563,563,563,563,563,563,1914,563,563,563,563,26028,0,587,587,587,0,2118,0,0,0,0,0,0,2125,0,0,0,0,0,0,0,0,184726,184932,184932,184932,0,184932,184932,184932,0,0,2159,0,541,541,2162,541,541,541,541,541,541,541,541,541,541,2833,541,541,541,541,541,541,541,2227,541,541,541,541,541,541,541,541,541,541,541,0,0,563,2855,563,563,563,0,0,563,563,2246,563,563,563,563,563,563,563,563,563,563,563,3255,563,563,563,563,563,563,2314,563,563,563,563,563,563,563,563,563,563,563,0,0,587,2904,587,0,0,587,587,2333,587,587,587,587,587,587,587,587,587,587,587,3440,587,587,541,563,587,587,587,587,2390,587,587,587,587,587,587,587,587,587,587,587,2928,587,587,587,587,587,587,587,587,2401,587,587,587,587,587,587,587,587,587,587,587,541,587,0,0,0,541,587,563,1064,541,541,905,541,1069,563,563,978,541,541,541,2567,541,541,541,541,541,541,541,541,541,541,541,541,900,541,541,541,2698,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3277,587,587,0,2759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1716,0,541,2827,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1758,541,563,2874,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2285,563,587,587,587,2923,587,587,587,587,587,587,587,587,587,587,587,587,2382,587,587,587,0,0,2993,0,0,0,0,0,0,0,0,0,0,0,0,0,2433,0,2435,3171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2771,3202,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2577,3225,541,541,541,541,541,541,541,541,563,563,563,563,563,563,563,2888,563,563,563,563,563,563,563,563,3241,563,563,563,563,563,563,563,587,587,587,3282,587,587,587,587,587,587,587,587,587,541,587,563,2018,541,541,541,2022,563,541,3289,563,3291,587,3293,3294,0,0,0,0,3298,0,0,0,0,0,0,0,1134592,0,365,0,0,0,1134592,0,0,0,1134592,1134592,0,0,1134592,0,0,1134592,0,0,0,3311,0,0,0,0,3315,0,0,0,0,0,0,0,0,0,1725,0,0,0,0,0,0,3318,0,541,541,541,3320,541,541,541,3323,541,541,541,541,541,541,541,1751,541,541,541,541,541,541,541,541,541,2586,0,563,563,563,563,563,3338,563,563,563,3341,563,563,563,563,563,563,563,563,563,563,563,26028,1921,587,587,587,587,3360,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3554,0,0,3403,541,3405,541,541,541,541,541,563,563,563,563,563,563,563,563,563,563,3075,563,563,3418,563,3420,563,563,563,563,563,563,587,587,587,587,587,587,587,3596,587,3598,587,587,0,0,0,0,3560,0,0,0,0,541,541,541,541,541,541,541,541,541,2169,541,541,541,541,541,3574,541,541,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,1417,3586,563,563,563,587,587,587,587,587,587,587,587,587,587,3599,587,0,0,0,853,1e3,926,849,1065,894,541,541,922,1070,967,563,0,587,587,587,587,587,78115,0,0,0,0,0,0,0,0,0,365,0,305,0,0,0,0,3611,541,541,541,541,541,541,541,563,563,3617,563,3618,563,563,563,563,587,587,587,587,3594,587,587,587,587,587,587,587,541,541,563,563,587,587,3378,0,0,410,356,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,2122,0,0,0,0,0,0,0,0,0,0,304,304,0,0,0,0,0,0,354,0,0,0,356,0,0,473,473,473,473,473,473,473,478,473,473,473,473,473,473,473,473,473,473,473,478,473,484,473,0,0,473,0,0,0,0,0,0,0,0,524,528,528,528,528,473,473,473,473,473,473,473,478,473,528,524,528,528,528,524,528,528,528,528,540,558,581,558,581,558,558,581,558,605,581,581,581,581,581,581,581,605,605,605,558,605,605,605,605,605,605,605,605,581,581,619,624,605,624,630,1,0,0,0,0,644,0,0,0,0,0,0,0,0,0,0,0,1606,0,0,0,0,688,0,0,0,0,0,0,0,0,0,0,0,365,365,365,0,0,0,0,0,2138,0,0,0,0,0,0,0,0,0,0,0,2768,0,0,0,0,0,0,0,738,0,0,0,644,738,0,744,745,644,0,0,0,0,0,0,790,0,0,0,0,0,0,0,0,0,2058,0,0,0,0,0,0,0,0,799,0,804,0,0,0,0,0,0,804,0,0,0,0,0,644,0,0,0,799,0,804,0,790,0,819,0,0,0,665,0,0,0,0,819,0,0,0,0,0,0,0,2473984,2478080,0,0,0,0,0,0,0,0,0,2767,0,0,0,0,0,0,0,644,0,0,0,0,0,0,0,0,790,0,0,0,0,0,0,0,3165,0,0,0,0,0,0,0,0,0,541,563,541,563,541,541,563,0,0,790,790,0,644,0,0,790,804,842,0,541,848,541,541,541,541,541,2839,541,541,541,2842,541,2844,541,541,541,541,541,541,879,541,884,541,891,541,894,541,541,908,541,541,867,871,877,541,882,541,541,541,541,541,899,541,541,541,541,541,541,2852,541,541,0,0,563,563,563,563,563,563,563,563,563,563,563,563,563,2256,563,563,563,972,563,563,563,563,563,0,587,587,995,587,587,587,587,587,2687,587,587,587,587,587,587,587,587,587,587,2937,587,587,587,587,587,587,587,1014,1018,1024,587,1029,587,587,587,587,587,1046,587,587,587,587,587,1026,587,1031,587,1038,587,1041,587,587,1055,587,1149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2799,0,0,0,1200,0,0,0,0,0,1205,0,0,0,0,0,0,0,1714,0,0,0,0,0,0,0,0,0,2140,2141,0,0,2143,0,0,1099,0,0,0,1230,0,1232,0,0,0,0,0,0,0,0,0,351,352,353,0,0,0,0,1240,0,0,0,0,0,0,0,0,0,0,1246,0,1249,1200,0,0,0,0,0,2427,0,0,0,0,0,0,0,0,0,0,336,337,0,0,0,0,1230,1252,0,1255,0,0,0,0,0,1130,0,0,0,0,1264,0,0,1149,1264,0,1271,541,541,541,541,1277,1360,914,1362,563,563,563,563,563,1369,563,563,563,563,1375,563,563,563,563,1862,563,563,563,563,563,563,563,563,563,563,563,3084,563,563,563,563,563,563,563,1407,563,563,563,563,1412,563,563,563,563,563,563,563,2900,563,563,563,0,0,587,587,587,563,1419,563,563,563,1426,1428,563,563,563,563,563,563,563,563,563,3346,563,563,563,563,563,563,587,587,1461,587,587,587,587,1467,587,587,587,587,587,587,587,587,2663,587,587,587,587,587,587,587,587,587,1488,587,587,587,587,587,587,587,587,587,587,1499,587,587,587,587,1463,587,587,587,587,587,1475,587,587,587,587,587,587,2014,541,587,563,1791,541,2020,541,1886,563,587,587,1504,587,587,587,587,587,587,587,587,1511,587,587,587,1518,1520,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2396,2397,2398,587,587,1542,587,0,541,587,563,541,541,541,541,541,563,563,563,563,563,2862,563,2865,563,563,563,563,2870,563,563,563,563,587,587,587,587,587,1079,0,0,1563,0,0,0,1569,0,0,0,0,0,376,0,0,0,0,368,0,385,0,351,0,0,1575,0,0,0,1581,0,0,0,0,0,0,0,0,0,0,303,303,0,0,0,0,1592,1593,0,0,0,0,0,1599,0,0,0,0,0,0,0,0,0,2098,0,2100,0,0,0,0,0,1638,0,0,0,0,0,0,0,1646,1647,0,0,0,0,0,0,0,3197,0,0,0,0,0,0,3200,0,0,1654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2038,0,1690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3005,0,1706,1707,0,0,0,1710,0,0,0,0,0,1714,0,0,1717,0,0,1730,0,1732,1706,541,541,541,541,541,541,541,541,541,541,541,2547,541,541,541,541,541,1744,541,541,541,541,1750,541,541,541,541,541,541,541,541,541,541,3220,541,541,541,541,541,541,1761,541,541,541,541,1765,541,541,541,541,541,541,541,541,541,541,3335,541,541,563,563,563,541,1776,541,541,541,1781,541,541,541,541,541,541,541,541,541,541,541,2559,541,541,541,541,1808,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1360,914,563,563,563,563,563,563,563,563,563,563,563,563,1376,563,0,587,587,1046,587,587,78115,1079,0,0,0,0,0,0,0,0,225890,225890,225890,225890,225741,225890,225890,225890,0,563,563,563,563,563,563,563,563,563,563,563,563,1839,563,563,563,563,1877,563,563,563,563,563,563,563,563,563,563,563,2869,563,563,563,563,563,563,1845,563,563,563,563,563,563,563,563,563,563,1856,563,563,563,563,1894,563,563,563,1898,563,563,563,563,563,563,563,1450,563,26028,1360,988,1454,587,587,587,563,563,1860,563,563,563,563,563,563,563,563,563,563,1871,563,563,563,563,1911,1913,563,563,563,563,563,26028,0,587,587,587,587,587,1506,587,587,1508,587,587,587,1512,587,587,587,0,1286,1470,1378,541,541,541,1549,541,563,563,563,1553,563,1876,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2297,2298,563,563,587,2027,587,587,0,0,0,0,0,0,0,0,0,0,3511,0,3513,0,541,0,0,0,2080,2081,0,0,2083,2084,0,0,0,0,0,0,0,0,286720,0,0,0,0,0,0,0,0,0,286720,286720,0,286720,286720,1,0,0,0,2106,0,0,0,0,2109,2110,0,0,0,0,0,0,0,2069,0,0,0,0,0,0,0,0,0,541,564,541,564,541,541,564,541,541,541,541,2175,541,541,2179,541,541,541,2183,541,541,541,541,541,541,1347,541,541,541,541,541,541,541,541,541,563,563,3231,563,563,563,563,2225,541,541,541,541,2230,541,541,541,541,541,541,541,541,0,0,0,0,0,386,0,69632,73728,0,0,0,0,0,65536,0,2242,0,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2325,0,563,563,563,2260,563,563,2264,563,563,563,2268,563,563,563,563,563,587,587,3625,587,3626,587,587,587,587,587,587,1493,587,587,587,587,587,587,587,587,587,2380,587,587,587,587,587,587,2312,563,563,563,563,2317,563,563,563,563,563,563,563,563,0,0,0,0,0,0,587,587,2655,587,587,587,2329,0,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2680,587,587,587,587,587,587,2347,587,587,2351,587,587,587,2355,587,587,587,587,587,587,2925,587,587,587,587,587,587,587,587,587,1471,587,587,587,587,587,587,2399,587,587,587,587,2404,587,587,587,587,587,587,587,587,541,587,0,0,0,854,1001,927,541,541,541,541,910,563,563,563,563,563,1848,563,563,563,563,563,563,563,563,563,563,3097,563,3099,563,563,563,0,0,0,0,2439,0,0,0,0,0,0,0,0,0,0,0,1616,0,0,0,0,0,0,2475,0,0,0,2479,0,0,0,0,0,0,0,0,0,365,0,0,0,0,0,0,541,2525,541,541,541,541,541,541,541,541,541,541,2533,541,541,541,541,541,541,3053,541,541,3055,541,541,541,541,541,541,541,1311,541,541,541,541,541,541,541,541,541,1753,541,541,541,541,541,541,541,2551,541,541,2553,541,2554,541,541,541,541,541,541,541,2561,541,541,541,541,876,878,541,541,541,541,541,541,541,541,541,541,541,1353,541,541,541,541,541,2565,541,541,541,541,541,541,541,541,541,541,541,541,2576,541,541,541,541,1283,541,541,541,541,541,541,541,541,541,541,1304,0,0,0,563,563,2589,563,563,563,563,563,563,563,563,563,563,3537,563,563,3539,563,587,587,563,2597,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2326,0,563,563,2612,563,563,563,2615,563,563,2617,563,2618,563,563,563,563,563,2877,2878,563,563,563,563,2881,563,563,563,563,563,1863,563,563,563,563,563,563,563,563,563,563,3356,587,587,587,587,587,563,563,563,563,2626,563,563,2630,563,563,563,563,563,563,563,563,3345,563,563,563,563,563,563,563,563,563,563,563,2641,2642,563,563,563,563,563,563,563,563,563,563,26028,1360,988,587,587,587,587,2683,587,2684,587,587,587,587,587,587,587,587,2692,587,587,2696,587,0,0,0,1061,1062,1063,851,541,898,902,1068,924,563,971,975,2733,2734,0,0,2737,2738,0,0,0,0,0,0,0,0,0,0,306,307,0,0,0,0,0,2788,0,2790,0,0,0,0,0,0,0,0,0,0,0,0,2457,0,0,0,0,0,0,0,2803,0,0,0,0,0,0,541,541,541,541,541,541,541,3033,541,541,2826,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2825,2873,563,563,563,563,563,563,563,563,563,563,563,563,2883,563,563,563,563,1912,563,563,563,563,563,563,26028,0,587,587,587,587,587,2934,587,587,587,587,587,587,587,2940,587,587,587,587,2922,587,587,587,587,587,587,587,587,587,587,587,587,2932,0,2982,0,0,2984,0,0,0,0,0,0,0,0,0,0,0,1632,0,0,0,0,0,0,0,0,2995,0,0,2998,0,2999,0,0,0,0,0,0,0,2096,0,0,0,0,0,0,0,0,0,562,585,562,585,562,562,585,541,3049,541,541,541,541,541,541,541,541,541,541,541,541,541,3061,3089,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2621,563,3103,563,563,563,563,563,587,587,587,3111,587,587,587,587,587,587,1507,587,587,587,587,587,587,587,587,587,1983,1984,587,587,587,587,587,587,3131,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2929,587,587,587,587,3145,587,587,587,587,587,541,587,563,541,541,563,563,587,587,0,2962,0,0,0,0,0,0,0,0,0,2507,0,0,0,0,0,0,0,0,0,0,0,3163,0,0,0,0,0,0,0,3169,0,0,0,0,0,438,0,0,0,0,0,0,0,0,0,0,0,2142,0,0,0,0,541,3226,541,541,541,541,541,541,541,563,563,563,563,563,563,563,3095,563,563,563,563,563,563,563,563,2306,563,563,563,563,563,563,563,563,563,3236,563,563,563,563,563,563,563,563,563,563,563,563,563,2309,2310,2311,563,563,3246,563,563,563,563,563,563,3252,563,3254,563,563,563,563,563,1392,563,563,563,563,563,563,563,563,563,563,1853,563,563,563,563,563,563,563,563,587,587,587,587,587,587,587,587,587,3265,587,587,587,587,587,2703,587,587,587,587,587,587,587,587,587,587,2950,587,587,541,587,563,587,587,3281,587,3283,587,587,587,587,587,587,587,587,541,587,563,3153,541,3155,563,3157,587,0,0,0,3301,0,0,0,0,0,0,0,3180,0,0,0,0,0,0,0,3014656,3207168,0,2691072,0,0,3215360,0,0,3309,0,0,0,0,0,3314,0,0,0,0,0,0,0,0,0,365,0,0,0,0,131072,131072,563,563,3339,563,563,563,3343,563,563,563,563,563,563,563,563,563,26028,1360,988,587,587,1456,587,587,587,587,3362,587,587,587,587,587,587,587,587,587,587,587,587,3126,587,587,587,587,587,3371,587,587,587,587,541,541,563,563,587,587,0,0,0,3296,0,0,0,0,0,0,3557,3558,0,0,0,0,0,0,0,541,541,541,3568,541,541,541,541,541,1284,541,541,541,541,541,541,541,541,541,1303,563,563,3588,563,587,587,587,3593,587,587,587,587,587,587,587,587,2690,587,587,587,587,2694,587,587,3601,587,0,0,0,0,0,3604,3605,3606,0,3608,541,541,541,541,541,541,1813,541,541,541,541,1819,541,541,541,1360,563,3621,3622,563,563,587,587,587,587,587,587,587,587,587,3629,3630,563,563,587,587,587,587,3679,0,541,3680,563,3681,587,3682,0,541,541,541,541,1345,541,541,541,541,541,541,541,541,541,541,541,541,2560,541,541,541,358,359,0,0,0,0,0,0,0,365,0,293,0,0,0,0,0,0,306,0,0,0,0,0,0,0,0,0,0,1174,0,0,0,0,0,0,0,0,392,0,0,0,0,0,0,0,0,0,0,0,0,2495,0,0,0,474,474,474,488,0,0,488,359,359,359,510,359,359,359,359,474,559,606,582,582,582,582,582,582,582,606,606,606,559,606,606,606,606,606,606,606,606,582,582,559,582,606,582,606,1,541,541,868,541,541,541,541,541,541,541,541,541,541,904,541,541,541,541,541,2851,541,541,541,0,0,563,563,563,563,563,563,563,563,563,563,2254,563,563,563,587,1015,587,587,587,587,587,587,587,587,587,587,1051,587,587,587,587,587,2909,587,587,587,587,587,587,2917,587,587,587,587,587,1527,587,587,587,587,587,587,587,587,1538,1539,1197,0,0,0,0,0,0,0,1197,0,0,0,0,0,0,0,0,1134592,0,0,1134592,0,0,0,0,0,0,0,0,0,0,0,0,0,2980,0,0,541,541,1280,541,541,541,1289,541,541,541,541,541,541,541,541,541,541,3524,541,541,3526,563,563,1360,914,563,563,563,563,563,563,563,563,563,1372,563,563,563,1381,587,587,1543,0,1289,1473,1381,541,541,541,541,541,563,563,563,563,563,2898,563,563,563,563,563,0,0,587,587,587,587,587,587,2337,587,587,587,587,587,587,587,2352,587,587,587,587,2357,587,587,587,563,587,587,587,587,587,1079,0,0,0,1564,0,0,0,1570,0,0,0,0,0,2440,0,0,0,0,0,0,0,0,0,0,0,2871296,0,0,2424832,0,0,0,1576,0,0,0,1582,0,0,0,0,0,0,0,0,0,365,0,0,0,0,155648,0,0,1606,0,0,0,0,0,0,0,1614,1615,0,0,0,0,0,0,0,3385,3180,0,0,0,0,0,0,0,0,2097,0,0,0,0,0,0,0,0,2070,0,0,0,0,2074,0,0,0,0,0,0,1625,0,0,0,0,0,0,0,0,0,0,0,1648,0,0,0,0,563,1891,563,563,563,563,563,563,563,563,1902,563,563,563,563,563,1408,563,563,563,563,563,563,563,563,563,563,1867,563,563,563,563,563,587,1975,587,587,587,587,587,587,587,587,587,587,587,1987,587,587,587,587,1490,587,587,587,587,587,587,587,587,587,587,587,2381,587,587,587,587,2008,587,587,587,587,587,587,541,587,563,541,541,541,541,563,563,918,563,563,563,563,563,563,563,563,563,563,563,2634,563,563,563,563,0,2243,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2637,563,0,2330,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3276,587,587,587,0,0,2451,0,0,0,0,0,0,0,0,0,0,0,0,0,2471,0,2472,0,0,0,563,563,563,563,563,563,563,2593,563,563,563,563,563,1424,563,563,563,563,563,563,563,563,563,563,2293,563,563,563,563,563,563,587,2659,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2912,587,587,2916,587,587,587,587,0,0,0,0,0,2776,0,0,0,0,0,0,0,0,0,0,372,0,0,373,0,0,563,2895,563,563,563,563,563,563,563,563,563,0,0,587,587,587,587,2335,587,587,587,587,587,587,587,587,587,2947,587,587,587,587,587,541,587,563,587,2906,587,587,587,587,587,587,2913,587,2915,587,587,587,587,587,587,2935,587,587,587,587,587,587,587,587,587,2408,587,587,587,587,2177,2349,587,587,587,2944,587,587,587,587,587,587,587,587,587,541,587,563,563,563,563,563,563,563,587,587,587,541,587,587,587,0,541,587,563,541,1547,541,541,1550,563,1551,563,563,0,0,0,0,0,3561,0,0,0,541,541,541,541,541,541,541,541,3464,541,3466,3467,541,3469,541,541,541,541,3575,541,563,563,563,563,563,563,563,563,563,563,3423,563,563,563,3426,587,587,587,587,563,3587,563,563,587,587,587,587,587,587,587,587,587,587,587,3600,587,587,587,587,3670,587,0,0,0,0,541,541,541,541,563,563,919,925,563,563,563,563,943,563,563,563,563,563,563,3353,563,563,563,587,587,587,587,587,587,587,587,587,587,587,587,3267,0,0,360,0,0,0,0,0,0,365,0,293,0,0,0,0,0,0,331,0,0,0,0,0,0,0,331,0,0,69632,73728,0,419,419,0,0,65536,419,0,0,0,0,375,0,0,0,0,0,0,0,0,0,0,0,1663,0,0,0,0,0,0,360,0,0,0,0,0,0,0,0,0,0,0,0,0,2511,0,0,0,0,0,370,0,0,370,0,0,0,0,0,0,0,0,0,0,0,0,0,2496,0,0,560,607,583,583,583,583,583,583,583,607,607,607,560,607,607,607,607,607,607,607,607,583,583,560,583,607,583,607,1,541,863,541,541,541,541,541,541,541,541,541,541,541,541,541,541,1772,541,1010,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3123,587,587,587,587,587,587,587,563,1386,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2871,563,0,0,2760,0,0,0,0,0,0,0,0,0,0,0,0,0,2755,0,0,0,0,0,0,0,2985,0,0,0,0,0,0,0,0,0,0,406,0,0,0,0,0,0,0,0,0,3302,0,3303,0,0,0,0,3180,0,0,0,0,0,0,348,0,0,0,0,0,0,0,0,0,0,2801664,0,0,0,0,2142208,0,0,0,361,362,363,364,0,0,365,0,293,0,0,0,0,0,0,348,349,350,0,0,0,0,0,0,0,0,3180,0,3388,0,0,0,0,0,0,362,0,361,0,0,0,69632,73728,0,0,0,0,428,65536,0,0,0,0,0,2463,0,0,0,0,0,0,0,0,0,0,0,2807,541,541,541,541,428,428,0,0,428,0,362,428,457,0,0,0,0,0,0,0,0,1159168,0,1159168,0,0,0,0,1159168,0,0,0,0,498,498,0,505,505,505,505,511,512,505,505,525,525,525,525,525,457,457,457,457,457,457,457,457,457,525,525,525,525,525,525,525,525,525,561,584,561,584,561,561,584,561,608,584,584,584,584,584,584,584,608,608,608,561,608,608,608,608,608,608,608,608,584,584,620,625,608,625,631,1,563,563,563,973,563,563,563,563,563,0,587,587,587,587,587,587,1963,587,587,587,587,587,587,587,587,587,3137,587,587,587,587,587,587,587,0,2105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2052,0,0,0,0,0,541,2161,541,541,541,541,541,541,541,541,541,541,541,3336,541,563,563,563,0,0,563,2245,563,563,563,563,563,563,563,563,563,563,563,563,2882,563,563,563,0,0,587,2332,587,587,587,587,587,587,587,587,587,587,587,587,3286,587,587,587,587,541,587,563,2550,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2210,541,541,541,2579,541,541,541,541,541,541,541,541,541,541,0,0,0,0,0,0,2068,0,0,0,0,0,0,0,0,0,365,0,0,122880,122880,0,0,2711,587,587,587,587,587,587,587,587,587,587,541,587,563,541,541,541,2021,563,563,562,609,585,585,585,585,585,585,585,609,609,609,562,609,609,609,609,609,609,609,609,585,585,562,585,609,585,609,1,0,0,0,705,0,0,0,0,0,0,0,0,0,0,0,0,2742,0,0,0,0,735,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2075,0,541,864,541,541,541,541,541,541,541,541,541,541,541,541,541,541,2238,0,1011,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2689,587,587,587,587,587,587,587,587,2716,587,587,587,541,587,563,541,541,1136,0,0,0,0,0,0,0,0,0,0,365,365,0,0,0,0,0,0,2095,0,0,0,0,0,0,0,0,0,0,2375680,0,0,0,0,0,587,1503,587,587,587,587,587,587,587,587,587,587,587,587,587,587,2911,587,2914,587,587,587,587,2919,587,563,587,587,587,587,587,1079,1560,0,0,0,1566,0,0,0,1572,0,0,0,1578,0,0,0,0,0,0,0,0,0,0,0,0,2754,0,0,0,563,563,563,563,2600,563,563,563,563,563,563,563,563,563,563,563,26028,1922,587,587,587,0,0,0,0,647,0,0,0,0,0,0,743,541,541,541,541,541,541,2178,541,541,541,541,541,541,541,541,541,0,2242,563,563,563,563,563,0,0,1594,0,0,0,0,0,0,0,0,0,0,0,0,0,2770,0,0,563,563,563,1846,563,563,563,563,563,563,563,563,563,563,563,563,3085,563,3087,563,2187,541,2189,541,541,541,541,541,541,541,541,541,541,541,541,541,1821,541,1360,0,0,563,563,563,563,2248,563,563,563,563,563,563,563,563,563,2305,563,563,563,563,563,563,563,563,563,0,587,587,994,587,587,587,563,2274,563,563,563,563,563,563,563,563,563,563,563,563,563,563,2894,563,587,2361,587,587,587,587,587,587,587,587,587,587,587,587,587,587,3121,587,587,587,587,587,587,587,587,563,563,541,563,587,563,587,1,2623,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3101,563,563,563,563,2651,0,0,0,0,0,0,587,587,587,587,587,587,587,587,587,2340,587,587,587,587,0,0,3179,0,0,0,0,0,0,0,0,0,0,0,0,0,2798,0,0,3245,563,563,563,563,563,563,563,563,563,563,563,563,563,563,563,3257,563,1134592,0,1134592,0,0,0,1134592,1135008,1135008,0,0,0,0,0,1135008,0,0,0,0,0,2478,0,0,0,0,0,0,0,0,0,0,0,3180,0,0,3307,0,1134592,0,1134592,1134592,0,0,0,0,1135203,1135203,1135203,1135203,1134592,1135203,1135203,1135203,1135203,1135203,1135203,1135203,0,1134592,1134592,1134592,1134592,1135203,1134592,1135203,1,0,0,2125824,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,988,2125824,2125824,2125824,2125824,1147355,1147355,1147355,1147355,458,458,1147355,458,458,458,458,458,458,458,458,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,1147406,0,0,0,0,0,0,0,0,458,0,0,0,0,0,1147355,1147355,1147355,1147406,1147406,1147355,1147406,1147406,1,12290,3,0,0,0,0,249856,0,0,0,249856,0,0,0,0,0,0,0,69632,73728,0,0,0,0,425,65536,0,1159168,0,0,1159168,0,1159168,1159168,0,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,0,0,0,0,0,0,0,0,1159168,0,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1,12290,3,78115,293,0,0,0,0,0,0,0,0,0,0,0,0,131072,131072,0,0,1163264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3170,0,913,2125824,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,1453,2125824,2125824,2125824,2125824,106496,0,106496,106496,0,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,0,0,0,106496,0,0,106496,106496,106496,106496,106496,106496,106496,106496,106496,0,0,0,0,0,0,0,0,0,0,0,2183168,0,0,0,0,0,0,0,0,2134016,0,0,0,0,0,0,0,0,0,0,541,541,541,1275,541,541,0,0,0,3117056,0,0,0,0,0,0,0,0,0,0,0,0,2979,0,0,0,0,3108864,3198976,0,0,3043328,0,3149824,2936832,0,2760704,0,2437120,0,0,0,0,0,0,2107,0,0,0,0,0,0,0,0,0,365,0,293,0,0,0,0,0,0,0,0,2875392,0,0,0,0,0,0,0,0,0,0,2834432],r.EXPECTED=[1039,1047,1048,1046,1042,1052,1056,1060,1064,1068,1446,1074,2948,2053,1092,1446,2490,1670,1213,1080,1084,1085,1446,1089,1446,1446,2818,1098,1103,1108,1187,1181,1181,1114,1118,1446,1933,1123,1446,1136,1098,1098,1204,1108,1108,1171,1181,1181,1130,1134,1446,1446,1140,1446,1147,1098,1152,1108,1108,1109,1181,1181,1182,1158,1446,1446,1238,1668,1098,1148,1108,1108,1206,1181,1181,1165,1446,3130,2162,1098,1099,1108,1177,1181,1215,1219,2143,1136,1098,1186,1110,1181,1191,3130,2153,1099,1108,1180,1217,2659,2819,1197,1173,1201,1104,1235,1210,1224,1154,1228,1232,1168,1243,1247,1251,1255,1259,1261,1266,1262,1270,1274,1278,1282,1286,1290,1220,1295,1890,1296,1446,1446,1446,1446,1375,2489,1446,1446,1446,2385,1446,1446,1446,1446,1446,1446,1446,1446,1076,1446,1446,1446,1446,2986,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1300,1304,1305,1309,1405,1315,1318,1322,1326,1330,1446,1446,1804,1334,2315,1338,2350,1142,1143,1342,1346,1446,1446,2834,1352,1362,1369,1446,1126,1446,2386,1379,1446,1384,1390,1446,2987,2588,1396,2688,1457,1446,1518,1446,1446,2269,1446,1446,1446,1402,1446,1441,1897,1409,1413,1446,1447,1419,1446,1447,1419,1446,1446,1193,1446,2988,3136,2482,1446,2617,1425,1446,1448,1431,1446,1918,1446,2648,1436,1457,1348,1457,1380,1440,1446,1445,3050,1452,1446,1456,1311,1446,1916,2325,1463,2125,1347,1472,2317,1909,1478,3010,2343,2076,2746,2758,1482,2765,2077,1799,1486,2744,1493,1358,1446,1446,2131,1446,2559,1386,1365,1497,1501,1505,1509,1515,2369,1569,2450,1522,2538,1526,1530,1536,2479,2088,1457,1971,1540,1544,1548,1552,1557,1446,2103,1446,1532,1446,2479,2082,1563,1568,2137,1573,1577,3026,1446,1446,2116,1446,1446,3027,1446,1586,1938,1584,2123,1647,1590,1432,1594,1446,2517,1600,1446,2517,1600,1446,2872,1606,1612,1616,1620,1626,1446,1239,1633,1446,1596,1640,3118,2782,1645,1651,1863,1446,1863,1446,1602,1446,2675,2173,1655,2685,1559,1866,2685,3124,1659,1665,2904,2903,3055,2673,1674,1678,3047,2266,2239,1682,1686,1690,1694,1698,2892,1702,1715,1719,1723,1727,1731,1446,2332,1773,1737,1744,1748,1751,1755,1758,1446,1772,2979,1777,1781,2506,1788,1792,1635,1636,1446,2668,2874,1796,1808,2784,1815,1819,1823,2304,1828,1446,2430,1446,1446,2334,1853,2583,1834,1843,1446,2069,1446,1446,1954,1446,1446,2070,1446,1446,1622,1608,1847,1851,1857,1641,1871,1446,2225,1956,1446,2225,1956,1446,2374,1885,1876,1811,1446,1883,1446,1947,1889,1446,1511,1446,1291,2287,1894,1901,1906,1446,1906,1446,1913,1446,1740,1922,1446,1932,1733,1446,1932,1830,1094,1732,1446,1937,2066,2439,2671,1945,1942,2455,1489,2323,1951,1709,1711,1629,1161,1962,1968,1977,1980,1984,1446,1119,1994,1999,2003,2007,2011,2015,2019,2023,1986,1872,2093,1928,2028,2032,2036,1802,2040,1446,1446,2044,1580,2050,2059,2063,2074,2046,1446,2024,2081,1446,2086,1446,1446,1988,2092,2097,2109,2113,1446,2120,1446,1446,2129,1446,1558,2135,1446,1446,2141,2535,2866,2147,1446,1990,1446,1446,3096,1446,1446,3096,1446,1446,1466,2151,2157,2204,1458,2161,1446,2914,1446,1446,1764,1446,3053,2166,2170,1446,2182,1446,2187,1446,2916,1957,2192,2202,2305,1446,2210,2496,1824,3112,2217,1761,1459,1558,2224,2229,2841,2969,2682,2815,2233,2248,2236,2243,1837,1839,2247,2252,2100,1446,1446,1446,1446,2918,1766,2256,2260,2273,2277,2281,2284,1446,2889,1902,2985,2524,2433,2299,2576,2212,2213,2303,1415,1457,2309,1958,2321,2329,1446,2976,1446,1398,1446,1553,2338,2342,2751,1446,2347,2503,2354,2358,1558,2363,1446,1995,2368,1446,1421,2364,2373,2733,2378,2383,2390,3044,1446,2715,1446,1446,1860,1446,1446,1860,2719,2733,2397,2176,2401,1946,2461,1446,1446,2405,1446,1473,2717,2413,2417,2427,2437,3061,1446,2105,1446,1973,2407,2443,2447,2454,2459,2379,1446,2465,2472,2476,2486,2511,2494,2701,2409,2500,2510,2516,2521,2528,2220,2532,2542,2546,2198,2312,2550,2554,2563,2567,2571,2575,1446,2580,2592,2596,2600,2604,2608,2612,2616,1446,2621,2393,1372,2628,2632,2636,2640,2652,3103,1446,2708,2468,2656,2665,2679,2692,1558,2699,1446,2705,1446,2998,2712,1446,2723,2624,1768,1879,3159,1446,2205,2727,1446,1468,2732,1446,2206,2982,1446,3004,2737,2741,3109,2750,1446,2755,1446,1446,2762,1446,1446,2762,2769,3037,2775,2420,2779,1446,2788,1446,1446,2795,1446,1427,2801,3020,2805,2646,1446,2812,1446,2809,1446,3067,2853,2823,2643,2183,2827,2863,2512,2832,2838,1707,1070,2359,2845,2851,2857,1964,1474,3084,2557,2878,2955,3090,2882,2293,2295,2886,2896,2900,2908,2912,1446,1446,1446,2922,2926,2930,2934,2938,2942,2946,1446,2055,2952,1355,2791,2178,2959,1867,2963,1784,2967,1446,2973,2423,2992,2996,3002,1446,2728,1446,1446,3008,1446,3014,3018,1446,3024,2188,3031,3147,1446,1446,2694,1446,1446,2847,1446,1446,2695,3035,1446,3041,3078,3141,3059,1446,1446,3065,1446,1446,3065,1446,1446,3071,1446,3075,1925,3153,1446,1446,3082,1446,1564,3088,1446,1661,3094,3100,2195,3116,1446,3122,1446,3128,1446,3134,1705,3140,2586,2797,1446,3145,2771,1392,3151,1446,3157,2290,2828,2661,2869,2422,3106,2860,2263,1446,1446,1446,1446,1446,1446,1446,1446,1446,1446,1473,3163,3166,3170,3182,3186,3182,3189,3181,3182,3182,3182,3182,3177,3173,3193,3182,3197,3201,3204,3210,3214,3216,3206,3220,3224,3228,3232,3235,3239,3243,3729,3929,3929,3246,3929,3929,5383,3929,3929,3300,3929,3261,3562,3273,4078,3734,3929,3929,3929,3277,3287,3294,4847,3929,3250,3929,3929,3344,3929,4873,4873,4873,4873,3266,4873,4873,3564,3564,3567,3564,3564,3564,3564,3267,3256,3305,3562,3568,3335,4081,3929,3929,3929,3323,4919,3377,4693,3929,3252,3722,3750,3365,3315,3269,3334,4080,3732,3929,3929,3559,4873,5799,4692,3929,3929,3688,3929,3929,3560,4873,4873,4873,4195,4873,4873,4873,4874,3564,3267,3264,3331,3339,3929,3342,3929,3738,3256,3367,3317,3321,3560,4873,3564,3309,3256,3256,3365,3371,3564,3564,3564,3567,3256,3256,3256,3256,3327,4195,3564,3564,3564,3310,3365,3359,3929,3929,3813,3929,3564,3564,3564,3364,3929,5741,3559,4873,4194,3564,3564,3268,3256,4193,4873,3266,3564,3310,3256,3256,3256,3366,3348,3929,3929,3929,3505,3383,3256,3373,3766,3256,3384,3929,4872,4874,3564,3268,3256,3257,3373,4694,3929,3929,3929,3355,3566,3256,3321,4194,3565,3311,3560,3563,3384,3561,3319,3360,3388,3390,4109,3394,3401,3405,3429,3429,3429,3429,3424,3430,3412,3416,3420,3428,3434,3438,3442,3397,3446,3450,3453,3457,3460,3463,3465,3469,3473,3408,3477,3481,3485,3696,3498,4473,3929,3929,3929,3512,3511,3929,3929,3929,3517,4964,4966,3929,3523,3527,3929,3929,3929,3752,3534,3543,3929,3929,3850,3854,3578,3582,3586,3589,3590,3594,3597,3601,3604,3608,3611,3614,3618,3622,3626,4965,3648,3636,5178,3647,5820,3654,4257,3659,3929,3669,4219,3694,3703,3929,5714,3525,3929,3929,3929,3770,3790,3929,5539,3707,3929,3342,5695,3904,3929,3289,3290,3906,3929,4658,4464,5227,4306,3936,3718,3726,3743,3929,3375,3631,3929,3548,5050,5064,3749,3929,3929,3929,3836,3758,3298,3929,3929,3915,3927,4893,3528,3929,3929,3921,4548,5744,4281,3929,3929,3932,5019,3929,5587,5178,3929,3553,3557,3572,5826,3929,3929,4530,3789,3794,3929,3929,3972,4899,3798,3806,3929,3929,3972,5040,3817,3826,3929,3929,3972,5490,3785,3929,3929,3929,3869,4728,4203,3770,3790,4142,3929,3929,3929,3894,4001,3929,3929,3929,3929,3252,3798,4127,4203,3850,3854,4139,3744,3929,3929,3929,3844,5313,5832,4137,4141,3929,3650,3929,3929,4854,4858,4140,3929,3929,3929,3930,5557,3873,3929,3929,3883,3929,5107,3929,5107,4780,3929,4781,5020,3929,3929,3738,5109,3929,3290,3904,3940,3947,3946,3942,3951,3955,3956,3956,3960,3962,3963,3962,3967,3971,3929,3929,4017,4021,4708,3978,3988,3929,3683,3781,3802,3995,4392,3929,5597,5363,3530,3929,4135,4005,4013,3929,3929,4065,4070,4026,3929,3929,4026,3375,3929,3929,4049,4056,4576,3997,5403,5596,3929,3856,4795,3529,3929,3929,3929,3931,4061,3929,3929,3929,3972,4199,3911,3929,3929,3929,3974,5170,3929,3929,4704,3929,4075,5320,4248,5165,3855,4657,4085,3929,3690,4699,5178,3978,3251,3929,3929,4101,3929,5319,4247,5772,5010,4113,3981,3929,3929,4164,4148,4148,4120,3929,3929,4165,4115,4709,4132,3929,3929,4247,4459,5170,3929,3929,4706,3879,4572,4576,5321,4249,4655,3929,3929,4274,3929,3972,4146,4150,3929,3735,3929,3735,4154,4158,3929,3929,4396,3929,3929,3982,3929,3929,3929,4029,4107,3929,4706,3929,4366,4574,4181,5320,5850,4644,4180,5319,4886,4217,4208,4673,3929,3929,4424,5855,3279,5321,4215,3929,3766,4873,4873,3563,3564,4228,3929,4451,4182,4233,4305,4240,4273,4435,4246,4434,4245,4708,4241,3929,3699,4502,3698,4255,5609,4272,5609,4272,3699,5199,5610,4273,4253,3281,4246,4270,3929,3809,3929,4549,3737,3929,3896,3929,5021,3770,4271,3771,4182,5163,5161,3929,3283,5762,3710,4279,4279,4211,4127,4128,4405,3712,4286,3929,3929,3929,4052,3929,5548,3754,4301,3929,3842,3574,4534,4651,5125,3745,4537,4310,4314,4318,4319,4323,4327,4333,4334,4331,4338,4339,4339,4340,3929,3844,4827,3929,3846,3929,3929,4905,3929,3376,5780,4202,3929,3929,3929,4235,4524,5352,5187,4364,4473,3342,4273,3929,3888,5737,4840,4356,4374,4378,4842,5051,4864,3929,4387,4491,3929,4413,3929,3892,5107,3929,3665,3929,3929,4681,3640,4265,4472,3929,4802,3929,4518,3670,4266,4421,3929,4204,4203,3929,4718,4428,4432,3929,3929,3929,4451,4440,4445,3929,3929,4450,4541,4470,3929,3343,3929,3897,3929,4294,3929,4296,3929,5616,3929,5461,4463,3929,5347,4362,5468,4800,3929,3929,4457,4461,5243,3929,4484,3929,3931,5074,3929,3972,4166,4116,3929,3929,3929,4035,4737,3929,3929,3929,4505,3929,5347,4495,3929,3972,5410,5415,4015,4019,3929,3929,4457,4490,4499,3929,3929,3929,4624,5347,3929,4801,3929,3997,3929,5743,4160,3929,3929,3929,4628,3929,5704,4529,3929,3998,5353,5435,3929,5703,4528,3929,4e3,3929,3929,3999,3528,4505,5352,4800,3929,4007,4653,3929,4009,3929,4642,5697,3929,3929,3929,4695,4052,3929,3929,3929,4708,4545,3929,3929,3301,4450,3929,3929,3929,4734,3929,5303,3342,3929,4030,4480,3929,3929,3929,4516,4994,3894,3929,3895,3929,3929,3351,3892,3737,3735,3929,4039,3929,3929,4086,5090,3895,5020,3895,3737,5022,3736,3737,4554,4556,3929,3929,4638,4794,3929,3929,4668,4806,4689,3929,3929,3929,4752,4504,3929,3929,5097,4566,4022,5334,4383,5691,4570,4582,4586,4590,4594,4598,4602,4605,4608,4612,4614,4618,4634,4632,4634,4621,3929,3929,3929,4757,4725,4816,3929,4648,4662,4666,5081,4672,3929,5344,4398,4352,4678,3929,3929,4678,4687,5178,3929,3929,4745,4749,4210,3929,4965,4768,5739,3929,3929,3322,5689,3899,5181,4703,5110,5214,4713,4722,3929,4051,3558,3929,4028,4478,4500,3929,5400,4741,3929,3929,4780,3929,4780,4762,3929,3929,3929,4821,4756,4761,3929,3929,4818,4822,4505,3863,3867,3929,3341,3341,3929,4766,4294,3929,3899,3929,4066,3929,3929,4087,5091,3767,5433,4817,4683,4716,3929,5809,3929,4091,4095,3751,3972,4773,4777,3929,4107,3929,3929,4137,4141,4786,4775,3929,3929,4820,3910,4788,4777,3929,3929,4828,3972,3322,4792,3929,3929,4847,3929,5432,4816,4833,4799,3929,5147,3929,3929,4872,4873,4966,4295,4304,4814,4826,3929,3929,3929,4871,4674,3929,4708,3897,5180,5433,4832,3929,4159,3929,3377,3299,3929,4503,4708,3929,4837,3929,3929,3929,4913,5207,3929,3929,3929,4965,3929,5148,3929,4008,3929,4408,3929,4172,3929,4172,3900,5432,3628,3929,3929,3929,4856,4860,3844,5313,3929,3929,4982,3929,5086,3768,5434,3630,3929,4174,3929,4562,5312,3929,3929,3929,5003,4502,5148,4878,4885,4293,3929,3929,4296,3929,4296,3929,4229,5198,5520,3928,3929,3928,3897,4293,3929,3898,3929,5228,3899,3898,3929,4296,3929,5547,3519,4911,3929,5584,4917,3769,3929,3929,3929,4240,4273,3929,3779,3800,3744,4923,4927,4934,4935,4930,4939,4943,4949,4953,4945,4957,4957,4958,4962,3929,4247,4511,3929,3972,5871,3929,3983,3929,5572,5591,3929,4731,4359,5861,5581,4990,3929,3929,3929,5111,4846,5503,4707,5051,3929,4263,4465,3929,4282,3929,3929,3860,3929,5742,3929,3929,3737,3929,3894,5322,3929,5e3,5007,3507,3929,4290,3929,3929,4449,3929,5018,3929,3929,3642,5026,3929,3929,3929,5177,4628,3929,3300,3929,4346,3674,3681,3547,3929,3539,5030,5034,3929,3929,3929,5337,5040,3822,3929,3929,3641,5042,3929,3929,3929,5368,3643,3929,3929,3929,5405,5793,3929,3929,3929,5453,4626,3377,5052,3929,3929,3929,3721,4501,4368,3929,3546,3490,5496,5308,5793,3929,3929,5485,4370,3929,3929,5068,3972,5073,4863,3929,3513,4450,5122,3375,5406,3842,3929,3655,5793,3929,3739,4707,5781,3929,3990,3929,3929,4006,3299,4452,4369,3929,4439,4444,3929,3895,4547,3886,3929,5078,3929,3929,5048,5304,3929,5095,3929,5486,5051,4451,4368,3929,4474,4050,4057,4293,4450,3929,3929,5228,3929,5453,3929,3929,5072,4862,3929,5101,3929,3512,5742,3929,5241,5105,4986,3751,5323,3296,4502,4381,3929,4486,4034,3929,3684,3783,3744,5062,3929,3929,4209,3929,3929,3929,3560,3929,5118,3929,3929,5111,4852,4515,4382,5129,3929,4502,4176,3929,4350,5314,3549,3929,5797,3929,3929,3929,5526,5795,3929,3929,3929,5603,5136,5144,5227,4451,4236,3929,4975,3676,5063,4465,3744,4042,4464,5152,3929,4507,3865,3929,4121,5622,4297,4174,3342,5169,3342,5169,4514,3537,4561,4558,3929,4559,4453,3929,5213,4466,3929,4520,3929,3929,5170,4045,5196,5187,5174,4560,5185,4558,5193,5203,5211,5218,5221,5222,5226,3929,3929,3929,5725,3929,5232,4690,3929,4524,5352,3677,3929,3929,3929,5771,3929,5740,3929,4274,4848,5238,5247,5773,5254,5251,4704,3918,5260,5266,5262,5268,5272,5276,5280,5284,5287,5291,5294,5293,5298,5302,3929,3929,3929,5742,5425,3929,4694,5050,3546,3490,3494,3929,5318,3929,5327,3923,4464,4390,5227,3929,5816,5331,5341,3929,5782,3744,3929,4547,3770,3929,4547,3929,3736,5322,3929,5189,3929,3929,5189,5361,5367,3374,3929,4693,3929,3929,3829,3929,5372,3929,5411,3929,4704,4292,3929,3892,3929,3929,4517,5713,4819,4170,3929,5416,3991,3929,4708,4852,3929,4186,4190,3929,3765,3775,3800,5841,5084,3929,3929,5111,5157,3753,5377,5381,3929,3929,5117,3929,3929,5388,3821,3929,4708,5234,4550,3929,5393,5392,3929,4751,5041,3744,3929,3929,5048,5036,3929,5373,5397,4693,3501,3929,3929,3929,5766,4862,3929,3929,3929,5789,5048,4769,3378,3492,5429,4705,5779,3929,4781,4779,3929,4505,5110,3876,3929,3929,3929,5791,3972,5439,3839,3929,4815,3929,4778,5514,5443,3839,3929,4815,3929,5108,5841,5843,3929,3929,5139,3929,5050,5457,3492,4485,5465,3770,3878,3929,4821,3929,3929,4417,3929,3929,5472,5477,3929,4881,3929,5701,5473,5482,3929,3929,5140,3929,5478,3929,5420,3877,3546,5494,3714,3632,3929,5514,5508,3929,4907,5500,3929,4890,4880,3929,4193,4873,4873,4195,5742,3379,5773,3631,5525,3929,3929,3929,5870,5524,3760,3896,3929,5819,4519,5513,3488,5530,5351,3929,4708,4846,4159,3929,3929,3929,5155,5159,5336,5518,3761,3929,3929,5512,5536,4519,4522,3989,3929,3929,3929,4913,5518,3929,4964,4293,5179,5352,3929,3929,4125,3929,3929,4247,4402,4086,3353,3929,5556,5570,3929,5570,5578,3983,3929,5573,3929,4971,3751,3929,4253,3929,4261,5594,4522,3929,5601,3984,3929,5574,3929,4978,4224,3929,3929,5608,5571,5607,5351,5349,3929,3929,3929,5206,4827,3929,3929,4897,4901,5733,5834,3662,4782,5757,3879,5132,5614,5467,5620,5626,5630,5634,5638,5642,5646,5650,5654,5658,5662,5666,5670,5673,5677,5681,5685,3929,3929,5256,4275,5756,3929,3972,3929,4996,3929,5561,5708,5718,3929,5722,5729,3929,3888,3998,5749,3929,3929,3929,5311,3929,5731,5753,5459,3929,5014,4985,3929,4344,4461,3929,3875,5420,3929,3878,3929,3929,3929,3736,4071,4506,3929,3766,4521,4967,3929,3929,3929,5387,3820,5761,4485,3929,3929,5424,4691,5113,3998,3929,3929,5435,3873,3929,5112,5770,4234,5849,3929,3929,3929,5447,3929,5732,5805,3929,3972,4093,4097,3929,3905,3929,4408,3670,5786,3929,3929,3929,5447,4693,4517,5803,5807,3929,5046,5056,3929,4434,4245,3929,3770,5321,3929,3649,3929,3929,4977,4223,3929,5830,3929,3929,5450,5042,4423,5838,3929,3929,5507,4159,4423,5838,4248,5847,4578,5805,3929,4548,3929,3929,5813,4423,5854,3929,3929,5552,5542,5859,3929,3929,3929,5564,3929,5786,4235,3929,3929,5566,4810,4103,5807,3990,3929,5059,5357,3929,4549,3929,3929,4549,5416,3929,4674,3929,4868,5532,3929,3929,3929,5710,3929,3831,3998,3929,3929,5712,4818,3973,5866,3929,3929,5739,3929,3972,5865,3929,3929,5745,3929,4964,3929,5180,4523,5824,3832,3929,3929,3929,5777,5545,4965,3929,4409,3929,3675,3738,3973,3547,3929,3929,5841,3929,6277,6502,5875,6282,5878,6547,6266,5881,6546,5889,6232,5882,6232,5892,6221,6267,5888,5883,5884,6232,6232,6232,6232,6414,5887,5883,6232,5891,6232,6232,5894,6232,6232,5922,5937,5949,5938,5939,5949,5944,5950,5944,5944,5940,5944,5941,5952,5941,5944,5946,5945,5946,5946,5946,5946,5947,5941,5948,5952,5948,5944,5942,5954,5956,5958,5962,5960,5959,5964,5966,5967,5971,5967,5968,5967,5969,5974,5973,5976,5978,6293,5998,5875,6282,5896,6871,6437,6282,6321,6282,6282,6282,5917,6456,6456,6456,6456,5991,5906,6379,6455,5990,6019,5991,5904,5904,5904,6456,6456,5926,5899,6456,6456,5997,6282,6408,6410,6282,5932,6282,5933,6464,6024,6282,6282,6379,5924,6282,6282,5924,6282,6362,6010,5984,6282,6003,6282,6362,6282,6282,6282,6004,6456,5906,6455,5990,5904,5902,6456,6456,6456,5906,6457,6019,6019,5904,5904,6456,6456,6282,6282,6282,5980,5917,6456,6456,6456,6455,5905,6456,6445,5926,5926,5926,5926,6032,6032,6008,5932,6282,6282,6282,6434,6024,6282,6019,5904,6456,6282,5896,6873,6282,6282,6282,6474,5903,6457,6019,5904,6456,6229,5904,6456,6456,6456,6018,6457,6019,5991,5905,5906,6282,6282,6282,5984,6282,6282,6282,5925,6543,5905,6456,6456,6456,6282,5905,6229,5905,6229,5905,6282,6650,6437,6043,6515,6056,6672,6088,6052,6515,6520,6054,6060,6058,6515,6515,6083,6528,6101,6761,6518,6521,6516,6517,6063,6065,6068,6061,6057,6515,6515,6519,6515,6070,6072,6066,6515,6515,6515,6515,6125,6522,6074,6515,6515,6076,6515,6523,6079,6082,6515,6081,6055,6091,6089,6090,6093,6114,6092,6113,6114,6114,6114,6114,6115,6117,6116,6117,6117,6118,6119,6120,6121,6121,6095,6097,6099,6122,6123,6124,6524,5900,6515,6518,6103,6108,6110,6104,6105,6109,6106,6112,6121,6127,6129,6282,5899,6282,5925,6463,6321,6282,6294,6006,6378,6282,6508,6282,6449,6646,6218,6604,6282,6524,6291,6282,6774,6282,6270,6282,6282,6282,6e3,6e3,6027,6161,6282,6282,5895,6375,6282,6312,6230,6366,6265,5876,6282,6282,6282,6015,6406,6282,6284,6027,6027,6137,6282,6282,6379,6281,6372,6028,6159,6282,5899,6282,6282,6282,6573,6282,6282,6467,6282,6311,6312,6372,6282,6282,6282,6019,6019,5904,5904,5904,5904,5905,6456,6456,6031,6154,6158,6282,6149,6273,6282,6163,6282,6677,6280,6166,6279,6682,6685,6501,6173,6175,6178,6178,6178,6178,6176,6181,6180,6181,6181,6183,6181,6185,6187,6188,6188,6188,6194,6193,6194,6193,6193,6189,6191,6190,6190,6196,6196,6198,6203,6202,6204,6208,6203,6205,6199,6200,6210,6206,6212,6282,6282,5896,6282,6282,6282,6512,6282,6150,6135,6320,6500,6163,6282,6282,6282,6026,6282,6026,6166,6282,6282,6282,6027,6221,6282,6505,6282,6282,6282,6032,6238,6282,6241,6282,5899,6451,6282,5913,6669,6401,6238,6282,6282,6282,6037,6245,6282,6282,6282,6040,6282,6282,6225,6248,6282,6282,5916,6722,6377,6247,6249,6282,6282,5924,6370,6252,6253,6282,6282,5932,6282,6282,6530,5924,6254,6282,6282,6254,6282,6322,6228,6282,5933,6378,6282,6378,6282,6452,6282,6432,6317,6282,5917,6086,6725,6727,6216,6086,6726,6450,6231,5926,5933,6008,6008,6008,6282,6282,6282,5918,6282,6282,6282,5923,6309,6683,6282,6282,6282,6148,6216,6308,6310,6282,6282,6282,6149,6282,5903,6397,6605,6282,6282,5933,5933,5933,6780,6282,6282,6282,6229,6282,6282,6282,5933,5924,6316,5917,6723,6377,5916,6722,6323,6448,6454,6216,6332,6436,6683,6282,5917,6328,6465,6450,6217,6231,6160,6436,6683,6328,6448,6454,6216,6610,6436,6683,6282,6221,6602,6310,6282,5984,5899,5925,6229,6435,6500,6281,6722,6013,6465,6450,6160,6603,6683,6282,6282,6231,6218,6310,6282,5984,6282,6283,6043,5914,6282,5933,6328,6465,6450,6647,6604,6282,6e3,6282,6282,6283,6277,6707,6733,6282,6722,6465,6230,6396,6282,6282,6282,6235,6686,6282,6708,6281,6282,6e3,6437,6362,6338,6279,6282,6282,6283,6444,6145,6683,6282,6282,5933,6003,6282,6282,6282,6006,6375,6465,6708,6282,6005,6282,6282,6287,6289,6282,6548,6282,6282,5933,6282,6282,6282,6137,6282,6282,6020,6282,6375,6282,6282,6282,6281,6471,6218,6683,6282,6282,6282,6370,5984,6282,6010,6795,5984,5899,6282,6282,6661,6282,6e3,6137,6282,6282,6282,6282,5896,5914,6704,6273,5928,6340,6344,6503,6348,6349,6349,6350,6355,6352,6349,6349,6349,6349,6354,6355,6355,6355,6356,6357,6357,6357,6357,6357,6358,6359,6359,6359,6359,6383,6360,6382,6382,6382,6361,6282,6282,6282,6283,6043,5903,5897,6485,6376,6395,6425,6282,6282,6282,6293,6291,6338,6282,6282,6282,6284,6282,6282,6345,6282,6282,6291,6282,6282,6282,6230,5876,6282,6407,6282,6282,6282,6286,6282,6282,6037,6411,6417,6282,6282,5979,5903,6470,6313,6647,6281,6282,6282,6408,6416,6418,6282,6282,5979,6525,6458,6342,6422,6282,6282,6282,6288,6282,6664,6731,6282,6012,6e3,6282,6012,6335,6310,5985,6504,6282,6282,6273,6470,6372,6273,6504,6385,6282,6282,6412,6257,6598,6600,6282,6411,6413,6597,6599,6599,6282,6282,6282,6291,6410,6282,6322,6451,5926,5926,6008,6008,6008,5932,6236,6282,6282,6282,6292,5982,6282,6283,6442,6050,6013,6609,6259,6424,6310,6282,5919,5920,6282,6282,6011,5916,6282,6664,6282,6282,6023,6437,6459,5983,6013,6594,6700,6437,6282,6424,6437,6282,6282,6235,6480,6481,6282,6282,6133,6282,6282,6485,6376,6647,6282,6016,6282,6282,5933,6330,6454,6217,6683,6282,6282,6484,5917,5929,6011,6608,6259,6425,6282,6486,5983,6013,6594,6786,6437,6282,6282,6282,6294,6282,6283,6484,5917,5983,6013,6531,6471,6282,6282,6146,6683,6282,6282,6155,6282,6282,6385,6282,6322,6282,6282,6275,6493,5917,5983,6324,6259,6729,6282,6019,6019,6019,5991,5904,6277,5903,6531,6011,6148,6282,6282,6282,6234,6531,6282,6282,6282,6322,6282,6133,6372,6505,6282,6230,6282,6282,6171,6756,6531,6046,6834,6437,6282,6282,6285,6530,5924,6282,6684,6282,6149,6282,6282,6282,6325,6285,6530,6045,6159,6024,6046,6386,6282,6282,6282,6372,6282,6294,6282,6530,6464,6386,6282,6282,6215,6224,5933,5924,6410,6282,6040,6282,6482,6282,6282,6282,6531,6536,6024,6282,6282,6282,6370,5987,6282,6535,6282,6282,6227,6282,6282,6282,6378,6378,6378,6282,6452,5994,6282,6282,6282,6394,6282,6282,6282,6404,6539,6333,6683,6282,6020,6282,6282,6282,6341,6282,6570,6300,6569,6301,6370,6545,6300,6302,6303,6303,6303,6303,6303,6304,6551,6554,6552,6561,6552,6555,6563,6564,6563,6563,6563,6563,6564,6556,6557,6557,6557,6557,6558,6372,6273,6282,6282,6243,6282,6509,6566,6282,6282,6271,6213,6282,6283,6568,6282,6021,6041,6282,6027,6282,6321,6282,6006,6282,6282,6027,6462,6282,6282,6282,6572,6282,6168,6282,6575,6510,6282,6029,6282,6282,6282,6588,5907,5909,5911,6282,6036,6282,6282,6388,6407,5908,5910,6282,6282,6272,6282,6526,6282,5916,6322,6282,6378,6282,6020,6282,6278,6282,6282,6394,5924,6278,6282,6283,6502,6365,6282,6579,6282,6282,6275,6525,5914,5992,6371,6048,6365,6367,6369,6282,6282,6277,6531,6046,6275,6583,5993,6047,6256,6256,6366,6368,6282,6282,6452,6e3,6282,6282,6282,6408,6282,6027,6282,6372,6526,6282,5899,6539,6664,6682,6282,6282,6282,6146,6282,6482,6282,6006,6451,6282,6282,6282,5985,6458,6342,6313,6136,6152,6282,6037,6378,6282,6282,6282,6421,6584,6020,6437,6683,6282,6027,6321,6282,6451,6646,6152,6282,6282,6282,6410,6282,6282,6282,6375,6282,6e3,6526,6322,6533,6682,6282,6408,6282,6282,6282,6505,6282,6282,6278,6282,6282,6282,6143,6371,6472,6282,6282,6282,6423,6539,6437,6683,6282,6040,6148,6040,6149,6273,6229,6682,6282,6470,6282,6282,6283,6282,6282,6282,6524,6548,5933,6282,5933,6282,6434,6410,6282,6282,6434,6537,6282,6664,6491,6866,5876,6482,6491,6282,6282,6283,6410,6282,6427,6282,6282,5980,6011,6276,6037,6285,6038,6590,6783,6607,6612,6620,6619,6620,6620,6616,6620,6620,6618,6622,6620,6614,6613,6624,6627,6626,6627,6627,6628,6630,6630,6634,6630,6632,6631,6630,6630,6630,6636,6638,6638,6637,6637,6640,6641,6282,6132,6282,6282,5895,5924,5984,6282,6640,6637,6640,6640,6640,6640,6505,5903,6644,6331,6649,6282,6282,6229,5879,6282,6527,6653,6148,6282,6137,5924,6282,6282,6282,6230,6281,6282,6282,6306,6402,6433,6346,6656,6658,6549,6282,6282,6283,6475,6423,6282,6282,6282,6437,6682,5912,6668,6400,6282,6157,6282,6282,5896,6451,5980,5917,6029,6221,6281,6282,6282,6524,6282,6282,6282,5930,6664,6282,6264,6683,6694,6282,6282,6282,6452,6282,6282,6282,6285,5897,6453,6654,6282,6346,6295,6282,6282,6283,6582,6297,6282,6681,6282,6164,6024,6282,6133,6451,6282,5988,6281,6285,5980,6458,6371,6263,6647,6281,6282,6676,6282,6676,6514,5903,6680,6465,6489,5995,6282,6282,6283,6496,6085,6282,6513,6525,6679,6688,6688,6399,6713,6281,6282,6286,6282,6037,6282,6282,6282,5899,6691,6497,6724,6488,6734,6282,6282,6282,6498,6282,6282,6282,6255,6282,6283,6691,6696,6724,6488,6698,6331,6222,6282,6282,6282,6431,6296,6282,6282,6282,6499,6282,6282,5903,6464,6231,6734,6696,6134,6733,6281,6693,6282,6282,6434,6282,6282,6282,6277,6525,6531,6471,6218,6231,6490,6282,6282,6282,6504,6548,6282,6283,6278,6282,6275,6710,6733,6282,6169,6282,6282,6509,6003,6712,6282,6282,6282,6508,5899,6702,6490,6282,6282,6283,6861,6854,6033,6858,6646,6218,6604,6282,6282,6282,6577,6286,6282,6394,6282,6229,6019,6019,6019,6019,5904,6286,6282,6137,6282,6229,6282,6292,6229,6282,6282,6372,6505,6282,6437,6683,6282,6229,6146,6265,6282,6283,6525,5927,6539,6729,6683,6282,6282,6650,6282,6282,6283,6863,6364,6024,6282,6282,6283,6869,6282,6362,6282,6362,6363,6010,6592,5925,6719,6591,6593,6718,6721,5934,5934,5935,6469,6736,5934,5934,5934,6736,6738,6742,6740,6739,6744,6746,6751,6751,6752,6753,6747,6748,6748,6748,6749,6751,6751,6751,6753,6753,6753,6753,6758,6754,6755,6282,6282,6285,6282,6282,6282,6014,6760,5981,6007,6728,6282,6763,6282,6282,6285,6496,6531,6282,6283,6768,6770,6282,6282,6282,6539,6392,6282,6282,6392,6027,6156,6282,6282,6293,6586,6282,6373,6281,6285,6507,5903,6470,6326,6505,6659,6282,6234,6229,5879,6283,6496,6703,6776,6704,6777,6282,6282,6282,6548,6282,5918,6025,6282,6282,6026,6282,6286,6505,6394,6282,6291,6370,6282,6370,6282,6496,6085,6831,6147,6603,6683,6282,6380,6282,6282,6370,6282,6282,6282,6003,6282,6294,6336,6e3,6282,6239,6846,6282,6260,6282,6282,6282,6642,6379,6282,6505,6336,6283,6702,6782,6319,6218,6604,6282,6785,5999,6282,6269,6663,6282,6140,6282,6282,6393,6282,5982,6724,6319,6218,6604,6539,6310,6282,6282,6375,6370,6375,6788,6320,6310,6e3,6e3,6282,6282,6375,6548,6282,6282,6282,6275,6084,6447,6282,6788,6429,6683,6282,6282,6664,6683,6282,6273,6541,6148,6282,6394,6e3,6282,6274,6282,6003,6318,6429,6683,6282,6275,5898,5915,6282,6282,6370,6370,6370,6664,6282,6683,6282,6410,6282,6699,6282,6275,5901,5982,6724,6291,6282,6282,6531,6689,6282,6282,6220,6282,6537,6282,6282,6282,6664,6146,6282,6282,6434,6281,6282,6282,6282,6020,6282,6006,6410,6408,6282,6027,6282,6282,6250,6843,6434,6410,6282,6434,6410,6282,6408,6282,6322,6282,6410,6410,6027,6282,6275,6702,6231,6490,6146,6282,6146,6282,6282,6282,6671,6146,6410,6408,6408,6409,6409,6409,6409,6409,6282,6282,6282,6682,6282,6282,6285,6039,6216,6221,6281,6286,6282,6282,6790,6543,6282,6505,6003,6282,6559,6282,6282,6559,6508,6792,6282,6077,6139,6282,6282,6379,6374,6793,6806,6798,6798,6801,6799,6798,6799,6798,6797,6803,6808,6807,6808,6805,6808,6809,6810,6813,6814,6815,6816,6815,6818,6811,6813,6811,6813,6820,6822,6822,6821,6821,6824,6824,6824,6824,6821,6824,6824,6828,6825,6826,6282,6282,6282,6683,6282,6282,6689,6439,6282,6277,6715,6282,6282,6282,6510,6035,6282,6282,6282,6684,6282,6282,6282,6233,6282,6716,6282,6580,6419,6282,6836,6282,6281,6282,6282,6283,6293,6337,6282,6838,6840,6282,6282,6666,6282,6143,6292,6282,6282,6292,6282,6282,6282,6378,6845,6282,6282,6845,6282,6487,6282,6282,6391,6391,6651,6282,6282,6282,6730,6512,6282,6282,6282,6830,6853,5931,6141,6428,6602,6604,6282,6282,6409,6410,6282,6852,6854,6856,6450,6002,6282,6001,6003,6282,6645,6231,6281,6282,6282,6674,6282,6167,6282,6282,6e3,6282,6e3,6034,6282,6282,6282,6848,6282,6394,6683,6282,6282,5933,6003,5933,6003,6282,6830,6645,6231,6222,6487,6282,6024,6282,6282,6693,6282,6282,6282,6464,6861,6854,6009,6377,6525,5931,6011,6465,6282,6830,5885,6282,6282,6702,5931,6319,6436,6683,5916,6282,6282,5925,6282,6282,6448,6282,6282,6931,6282,6282,6451,6282,6282,6282,6860,6044,6011,6465,6449,6647,6310,6282,6282,6142,6436,6683,6282,6282,6732,5924,5984,6861,5983,6377,6454,5982,6321,6282,6294,6138,6282,6461,6151,6437,6282,6282,6732,6772,6860,5983,6465,6151,6437,6282,6865,6282,6282,6282,6860,6337,6437,6282,6282,6466,6282,6144,6436,6282,6282,6282,6868,6219,6282,6282,6282,6468,6282,6282,6732,6282,5916,6262,6299,6282,5918,5918,5918,6378,6282,6282,6526,6282,6148,6282,6283,6293,6586,6292,6502,6437,6282,6282,6282,6294,6282,6292,6294,6282,6282,6474,5980,6293,6291,6282,6282,6292,6502,6282,6278,6294,6282,6278,6282,6282,6765,6282,6229,6362,6282,6230,6320,6500,6282,6505,6282,6292,6502,6282,6505,6233,6282,6282,6293,6282,6282,6282,6474,6478,6291,6278,6282,6282,6292,6531,6536,6875,6255,6282,6282,6476,6282,6006,6255,6282,6006,6390,6282,6314,6049,6282,6877,6878,6881,6375,6880,5930,6282,6532,6542,6883,6596,6258,6885,6596,6595,6595,6886,6889,6595,6888,6890,6889,6892,6897,6893,6894,6895,6899,6900,6905,6905,6901,6902,6912,6903,6902,6906,6905,6906,6905,6906,6907,6909,6908,6910,6914,6908,6908,6922,6922,6921,6922,6923,6916,6917,6918,6920,6926,6925,6928,6460,6371,6282,6282,6482,5932,6321,6285,6282,6282,6494,6371,6930,6282,6282,6282,6505,6494,6371,6130,6282,6282,6282,6505,6506,6282,6282,6282,6312,6933,6282,6505,6935,6282,6282,6937,6282,6282,6767,6769,6290,6282,6282,6282,6505,6692,6011,6313,6291,6233,6282,6282,6508,6282,6282,6282,5916,6030,6282,6423,6170,6282,6282,6170,6011,6372,6282,5916,6282,6282,5915,6451,6440,6282,6282,5918,6322,6283,6939,6446,6705,6447,6291,6282,6282,6294,6282,6282,6282,6438,6282,6282,6511,6282,6282,6282,6842,6149,6282,6149,6282,6282,6779,6007,6728,6310,6282,6282,6319,6310,6282,6282,6363,6282,6692,6011,6372,5916,6282,5915,6282,6282,6511,6268,6286,6282,5924,6282,6282,6833,6282,6279,6398,6282,6282,6014,6282,6282,6282,6601,6282,6439,5933,6133,6282,6148,6282,6255,6282,5914,5931,6705,6282,6282,6850,6282,6850,6282,6372,6282,6372,6282,6149,6282,6505,5914,5931,6291,6282,6282,5982,6585,6282,6282,6660,6291,6043,5914,6291,6282,6282,6283,6043,5899,6282,6282,1048576,1073741824,2147483648,1075838976,2097152,2147483648,4194560,4196352,-2143289344,-2143289344,4194304,2147483648,37748736,541065216,541065216,-2143289344,4198144,4196352,276901888,8540160,4194304,1,4,16,64,0,48,64,32,64,64,96,0,59,140224,5505024,-1887436800,0,63,64,128,0,64,256,0,110,110,8425488,4194304,1024,0,128,128,512,512,1024,1024,2048,0,256,256,257,37748736,742391808,742391808,775946240,-1371537408,775946240,4718592,775946240,775946240,171966464,171966464,775946240,239075328,-1405091840,-1371537408,239075328,171966464,64,4718592,2097216,4720640,541589504,4194368,4194368,541065280,541589504,4194400,-2143289280,4194368,-2143285440,-2143285408,-2143285408,-2109730976,775946336,776470528,-2143285408,776470528,775946304,775946304,-1908404384,775946304,-1908404384,2,8,32,128,1024,4096,0,260,8392704,0,1856,64,524288,64,896,8192,67108864,2147483648,96,262144,262144,8192,0,288,8388608,0,384,0,512,2048,2048,4096,4096,8192,8192,16384,0,520,520,96,524288,524288,0,2432,2048,268435456,0,24576,0,32768,32768,65536,1048576,128,2048,12288,0,12289,0,16384,16384,32768,0,1864,2,16,1024,98304,131072,262144,1048576,512,5120,2,536936448,80,528,528,2097168,2097168,268435472,524304,1048592,2097168,24,560,48,2097680,1048592,3145744,1048592,20,560,48,3146256,2097552,3146256,28,16,8192,2,2098064,163577856,17,21,112,128,3584,8192,2228784,-161430188,-161430188,-161429680,-161430188,-161429676,-161430188,-161298576,-160299088,-161298576,-161298572,-160774288,-160299084,146804757,146812949,146862101,146863389,146863389,148960541,-161429740,-161429676,146863421,148960541,146863389,-161429676,-160905388,-161429676,-161429676,-161429675,-161349072,-161349072,-161347728,-161347728,-161298572,-161298572,-160774284,-161298572,16,262160,-18860267,-160774284,-18729163,0,58368,159383552,0,65536,2097152,8388608,33554432,0,66048,0,77824,524288,33554432,1024,262144,2097152,16777216,67108864,0,131072,524288,134217728,2147483648,1,32768,196608,0,131328,131072,16777216,100663296,-1073741824,164096,0,131584,2621440,0,139264,0,150528,0,235712,16777216,1073774592,1226014816,100665360,-2046818288,100665360,100665360,-2044196848,1091799136,1091799136,1091803360,1091799136,1158908e3,1158908001,1192462432,1192462448,1192462448,1870638912,1870655296,1870638912,1200851056,1200851056,1091799393,1870655296,1870655296,1870655312,1870655316,1870655312,1870655312,1870638928,1870655316,1870655316,1870655317,1870655316,1879043952,1870655348,1870655316,1879027568,1879043952,1879043956,0,284672,229440,1048576,2097152,67108864,134217728,8,4194304,16777216,2147483648,1224736768,0,503616,2048,100663296,0,524288,2097152,4194304,4194304,0,40,0,44,-2046820352,0,605503,231488,1090519040,1157627904,1191182336,9437184,231744,52e4,7864320,1862270976,0,867391,1862270976,1862270976,16252928,0,1048576,4194304,25165824,25165824,33554432,8192,98304,1048576,8388608,134217728,268435456,4194432,3145728,0,24,0,29,0,32,1,2,2,4,0,2147483648,2147483648,0,0,1,0,2,0,3,240,19456,262144,0,4,8,0,6,0,7,150994944,0,1049088,1049088,12845065,12845065,147193865,128,6144,4194304,251658240,536870912,1073741824,32768,131072,1048576,4096,83886080,117440512,0,3145728,16777216,134217728,0,2048,8192,229376,0,2304,1536,8192,1536,65536,4194304,67108864,536870912,9216,33554432,262144,134217728,1073741824,50331649,9476,512,8192,134218240,1050624,0,5242880,1275208192,4194312,4194312,4194344,4194312,541065224,4203820,-869654016,-869654016,1279402504,1279402504,2143549415,2143549415,2143549423,0,8388608,4096,4194304,8388608,16777216,33554432,-1946157056,0,8192,131072,0,1792,0,1024,8192,65536,0,1536,2147483648,2143549423,2143549423,2143549415,1,16777216,268435456,512,139264,2760704,-872415232,0,19947520,0,33554432,67108864,1073741824,1073741824,262144,7340032,-2030043136,0,331776,300,4203520,4333568,1275068416,0,16777216,16777216,0,999,259072,4194304,4194432,999,29619200,2113929216,0,58720256,1007,1007,0,67108864,402653184,536870912,2048,1048576,16777216,536870912,300,0,83886080,0,2097152,134217728,536870912,0,49152,0,57344,102,384,6,96,128,3072,16384,65536,524288,1048576,0,4096,262144,524288,96,96,64,384,512,4096,65536,131072,1024,65536,262144,131072,32768,256,384,8192,33554432,2147483648,1,6,8,8388608,96,384,104,104,0,134217728,6,32,256,512,65536,7340032,50331648,0,8396800,4,32,384,4,64,1024,2097152,268435456,1073741824,8,262144,512,0,8,8,16,0,9,0,12,0,15,16,16,17,20,16,20,48,16,28,0,16,32,0,21,53,4,256,1024,524288,536870912,256,65536,16777216,1073741824,2048,524288,32,4100,1024,134217728,1049088,270532608,2097152,2097152,0,23,5505537,5587457,5591557,147202057,5587457,13894153,-1881791493,-1881791493,0,134218752,5587465,5587457,13894153,13894153,81003049,4456448,8388608,5505024,0,134348800,134348800,82432,0,142606336,5,86528,41,75497472,81920,0,184549376,2,56,64,2048,262144,536870912,2048,134217728,-2113929216,16777216,1073743872,268435968,229376,25165824,92274688,25165824,100663296,402653184,1610612736,0,100663296,134217728,805306368,1073741824,8388608,268567040,16384,229376,4194304,117440512,2113544,68423701,-2079059883,-2079059947,85200917,68423701,68423765,68489237,68423701,68423701,72618005,68423701,68425749,68423703,85200919,69488664,69488664,70537244,70537245,70537245,-2076946339,-2076946403,70537245,70537309,70539293,-2022351745,-2022351617,-2022351745,-2022351617,-2022351617,0,243269632,256,32768,1048576,33554432,134217728,-2113929216,0,268435456,49152,266240,1048576,67108864,-2080374784,-2080374784,268288,0,301989888,0,318767104,282624,0,536870912,28,3145728,192,351232,7340032,5,16,1049104,12,3145728,13,0,1073741825,192,3072,20480,0,1073741824,0,262144,2621440,-1073741824,20480,65536,268435456,14,32,512,131072,268435456,192,1024,64,32768,33554432,268435456,4,128,3840,16384,262144,128,2097152,1073741824,4,2097152,4,50331648,67108864,128,50331648,1073741824,128,268435968,268435968,268436032,256,1536,2048,16384,98304,393216,524288,268435456,536870912,9216,0,4194304,50331648,2147483648,256,536871168,-1879046336,-1879046334,-1879046326,-1879046334,1073744256,-1879046334,-1879046326,-1845491902,-1878784182,268444480,268436288,268436288,268436289,268444480,268444480,2100318149,2100318149,2100326341,0,1090519040,2100326341,2100326341,1,16,536936448,576,0,832,8192,1,4036,19939328,2080374784,0,1,1024,768,8192,16384,19922944,2080374784,1,128,4096,3584,16384,524288,8,33554432,402653184,2048,3145728,128,131072,268500992,4243456,4096,1048588,0,1258292224,1124073472,1124073472,1124073488,1124073474,1124073472,1392574464,1124073472,1073754113,12289,1124073472,12289,12289,1098920193,1132474625,1098920209,1132474625,1132474625,1124085761,1124085761,1124085777,1258304513,1124085761,1400975617,2132360255,2132622399,2132360255,2132622399,2132622399,2141011263,0,2140749119,2141011263,2,16384,3145728,12545,25165824,268435456,12305,13313,12561,0,78081,327155712,605247,1058013184,1073741824,867647,1066401792,0,1,12288,256,8388608,1,30,32,1024,2048,339968,327680,524288,1,14,16,14,1024,16384,4194304,134217728,1,12,1024,8,134217728,8,536870912,9437184,0,68157440,137363456,0,137363456,66,66,100680704,25165824,26214400,92274688,25165952,93323264,92274688,92274688,92274720,93323264,25165890,100721928,100721928,100787464,100721664,100721664,100853e3,100721928,125977600,125846528,125846528,125846560,125977600,125977600,127026176,281843,281843,1330419,281843,126895104,125846528,1330419,1330419,72633587,5524723,72633587,92556531,93605107,93605107,5524723,5524723,39079155,97799411,127290611,127290611,131484915,0,17408,33554432,1073741824,58624,0,124160,189696,148480,50331648,2,112],r.TOKEN=["(0)","PragmaContents","DirCommentContents","DirPIContents","CDataSection","Wildcard","EQName","URILiteral","IntegerLiteral","DecimalLiteral","DoubleLiteral","StringLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","PITarget","NCName","QName","S","S","CharRef","CommentContents","EOF","'!'","'!='","'\"'","'#'","'#)'","'$'","'%'","''''","'('","'(#'","'(:'","')'","'*'","'*'","'+'","','","'-'","'-->'","'.'","'..'","'/'","'//'","'/>'","':'","':)'","'::'","':='","';'","'<'","'<!--'","'</'","'<<'","'<='","'<?'","'='","'>'","'>='","'>>'","'?'","'?>'","'@'","'NaN'","'['","']'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'{|'","'|'","'||'","'|}'","'}'","'}}'"]},{}],11:[function(e,t,n){"use strict";n.TreeOps={flatten:function(e){var t=this,n="";if(!e)throw new Error("Invalid node found");return e.value===undefined?e.children.forEach(function(e){n+=t.flatten(e)}):n+=e.value,n},concat:function(e,t,n){var r=n?{}:e;n&&Object.keys(e).forEach(function(t){r[t]=e[t]});var i=Object.keys(t);return i.forEach(function(e){r[e]=t[e]}),r},removeParentPtr:function(e){e.getParent!==undefined&&delete e.getParent;for(var t in e.children){var n=e.children[t];this.removeParentPtr(n)}},inRange:function(e,t,n){if(e&&e.sl<=t.line&&t.line<=e.el){if(e.sl<t.line&&t.line<e.el)return!0;if(e.sl===t.line&&t.line<e.el)return e.sc<=t.col;if(e.sl===t.line&&e.el===t.line)return e.sc<=t.col&&t.col<=e.ec+(n?1:0);if(e.sl<t.line&&e.el===t.line)return t.col<=e.ec+(n?1:0)}},findNode:function(e,t){if(!e)return;var n=e.pos;if(this.inRange(n,t)===!0){for(var r in e.children){var i=e.children[r],s=this.findNode(i,t);if(s!==undefined)return s}return e}return},astAsXML:function(e,t){var n="";t=t?t:"",e.value&&(n+=t+"<"+e.name+">"+e.value+"</"+e.name+">\n"),n+=t+"<"+e.name+">\n";var r=this;return e.children.forEach(function(e){n+=r.astAsXML(e,t+" ")}),n+=t+"</"+e.name+">\n",n}}},{}],12:[function(e,t,n){"use strict";var r=e("./parsers/JSONiqParser").JSONiqParser,i=e("./parsers/XQueryParser").XQueryParser,s=e("./parsers/JSONParseTreeHandler").JSONParseTreeHandler,o=e("./compiler/translator").Translator,u=e("./formatter/style_checker").StyleChecker,a=e("../lib/completion/completer"),f=n.createStaticContext=function(){var t=e("./compiler/static_context").StaticContext;return new t},l=function(e,t){return e?(Object.keys(t).forEach(function(n){e[n]===undefined&&(e[n]=t[n])}),e):t},c=function(e,t,n){var r=e.substring(0,t),i=e.substring(0,n),s=r.split("\n").length,o=t-r.lastIndexOf("\n"),u=i.split("\n").length,a=n-i.lastIndexOf("\n"),f={sl:s-1,sc:o-1,el:u-1,ec:a-1};return f};n.XQLint=function(e,t){t=t?t:{},t=l(t,{styleCheck:!1});var n;this.getAST=function(){return n};var h=[];this.getMarkers=function(){return h},this.getMarkers=function(e){var t=[];return h.forEach(function(n){(n.type===e||e===undefined)&&t.push(n)}),t},this.getErrors=function(){return this.getMarkers("error")},this.getWarnings=function(){return this.getMarkers("warning")},this.getCompletions=function(t){return a.complete(e,n,d,t)};var p=!1;this.hasSyntaxError=function(){return p};var d=t.staticContext?t.staticContext:f(),v=t.fileName?t.fileName:"",m=v.substring(v.length-".jq".length).indexOf(".jq")!==-1&&e.indexOf("xquery version")!==0||e.indexOf("jsoniq version")===0,g=new s(e),y=m?new r(e,g):new i(e,g);try{y.parse_XQuery()}catch(b){if(!(b instanceof y.ParseException))throw b;p=!0,g.closeParseTree();var w=c(e,b.getBegin(),b.getEnd()),E=y.getErrorMessage(b);w.sc===w.ec&&w.ec++,h.push({pos:w,type:"error",level:"error",message:E})}n=g.getParseTree(),t.styleCheck&&(h=h.concat((new u(n,e)).getMarkers()));var S=new o(d,n);h=h.concat(S.getMarkers())}},{"../lib/completion/completer":6,"./compiler/static_context":4,"./compiler/translator":5,"./formatter/style_checker":7,"./parsers/JSONParseTreeHandler":8,"./parsers/JSONiqParser":9,"./parsers/XQueryParser":10}]},{},[12])(12)}),ace.define("ace/mode/xquery_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/xquery/xqlint"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./xquery/xqlint"),o=s.XQLint,u=function(e){return function(t){var n=e,r=n[t],i={},s={};return r.functions.forEach(function(e){s[t+"#"+e.name+"#"+e.arity]={params:[]},e.parameters.forEach(function(n){s[t+"#"+e.name+"#"+e.arity].params.push("$"+n.name)})}),r.variables.forEach(function(e){var n=e.name.substring(e.name.indexOf(":")+1);i[t+"#"+n]={type:"VarDecl",annotations:[]}}),{variables:i,functions:s}}},a=t.XQueryWorker=function(e){i.call(this,e),this.setTimeout(200),this.opts={styleCheck:!1};var t=this;this.sender.on("complete",function(e){if(t.xqlint){var n={line:e.data.pos.row,col:e.data.pos.column},r=t.xqlint.getCompletions(n);t.sender.emit("complete",r)}}),this.sender.on("setAvailableModuleNamespaces",function(e){t.availableModuleNamespaces=e.data}),this.sender.on("setModuleResolver",function(e){t.moduleResolver=u(e.data)})};r.inherits(a,i),function(){this.onUpdate=function(){this.sender.emit("start");var e=this.doc.getValue(),t=s.createStaticContext();this.moduleResolver&&t.setModuleResolver(this.moduleResolver),this.availableModuleNamespaces&&(t.availableModuleNamespaces=this.availableModuleNamespaces);var n={styleCheck:this.styleCheck,staticContext:t};this.xqlint=new o(e,n),this.sender.emit("markers",this.xqlint.getMarkers())}}.call(a.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/library/class.Diff.php b/library/class.Diff.php
new file mode 100644
index 000000000..689abe9e7
--- /dev/null
+++ b/library/class.Diff.php
@@ -0,0 +1,386 @@
+<?php
+
+/*
+
+class.Diff.php
+
+A class containing a diff implementation
+
+Created by Stephen Morley - http://stephenmorley.org/ - and released under the
+terms of the CC0 1.0 Universal legal code:
+
+http://creativecommons.org/publicdomain/zero/1.0/legalcode
+
+*/
+
+// A class containing functions for computing diffs and formatting the output.
+class Diff{
+
+ // define the constants
+ const UNMODIFIED = 0;
+ const DELETED = 1;
+ const INSERTED = 2;
+
+ /* Returns the diff for two strings. The return value is an array, each of
+ * whose values is an array containing two values: a line (or character, if
+ * $compareCharacters is true), and one of the constants DIFF::UNMODIFIED (the
+ * line or character is in both strings), DIFF::DELETED (the line or character
+ * is only in the first string), and DIFF::INSERTED (the line or character is
+ * only in the second string). The parameters are:
+ *
+ * $string1 - the first string
+ * $string2 - the second string
+ * $compareCharacters - true to compare characters, and false to compare
+ * lines; this optional parameter defaults to false
+ */
+ public static function compare(
+ $string1, $string2, $compareCharacters = false){
+
+ // initialise the sequences and comparison start and end positions
+ $start = 0;
+ if ($compareCharacters){
+ $sequence1 = $string1;
+ $sequence2 = $string2;
+ $end1 = strlen($string1) - 1;
+ $end2 = strlen($string2) - 1;
+ }else{
+ $sequence1 = preg_split('/\R/', $string1);
+ $sequence2 = preg_split('/\R/', $string2);
+ $end1 = count($sequence1) - 1;
+ $end2 = count($sequence2) - 1;
+ }
+
+ // skip any common prefix
+ while ($start <= $end1 && $start <= $end2
+ && $sequence1[$start] == $sequence2[$start]){
+ $start ++;
+ }
+
+ // skip any common suffix
+ while ($end1 >= $start && $end2 >= $start
+ && $sequence1[$end1] == $sequence2[$end2]){
+ $end1 --;
+ $end2 --;
+ }
+
+ // compute the table of longest common subsequence lengths
+ $table = self::computeTable($sequence1, $sequence2, $start, $end1, $end2);
+
+ // generate the partial diff
+ $partialDiff =
+ self::generatePartialDiff($table, $sequence1, $sequence2, $start);
+
+ // generate the full diff
+ $diff = array();
+ for ($index = 0; $index < $start; $index ++){
+ $diff[] = array($sequence1[$index], self::UNMODIFIED);
+ }
+ while (count($partialDiff) > 0) $diff[] = array_pop($partialDiff);
+ for ($index = $end1 + 1;
+ $index < ($compareCharacters ? strlen($sequence1) : count($sequence1));
+ $index ++){
+ $diff[] = array($sequence1[$index], self::UNMODIFIED);
+ }
+
+ // return the diff
+ return $diff;
+
+ }
+
+ /* Returns the diff for two files. The parameters are:
+ *
+ * $file1 - the path to the first file
+ * $file2 - the path to the second file
+ * $compareCharacters - true to compare characters, and false to compare
+ * lines; this optional parameter defaults to false
+ */
+ public static function compareFiles(
+ $file1, $file2, $compareCharacters = false){
+
+ // return the diff of the files
+ return self::compare(
+ file_get_contents($file1),
+ file_get_contents($file2),
+ $compareCharacters);
+
+ }
+
+ /* Returns the table of longest common subsequence lengths for the specified
+ * sequences. The parameters are:
+ *
+ * $sequence1 - the first sequence
+ * $sequence2 - the second sequence
+ * $start - the starting index
+ * $end1 - the ending index for the first sequence
+ * $end2 - the ending index for the second sequence
+ */
+ private static function computeTable(
+ $sequence1, $sequence2, $start, $end1, $end2){
+
+ // determine the lengths to be compared
+ $length1 = $end1 - $start + 1;
+ $length2 = $end2 - $start + 1;
+
+ // initialise the table
+ $table = array(array_fill(0, $length2 + 1, 0));
+
+ // loop over the rows
+ for ($index1 = 1; $index1 <= $length1; $index1 ++){
+
+ // create the new row
+ $table[$index1] = array(0);
+
+ // loop over the columns
+ for ($index2 = 1; $index2 <= $length2; $index2 ++){
+
+ // store the longest common subsequence length
+ if ($sequence1[$index1 + $start - 1]
+ == $sequence2[$index2 + $start - 1]){
+ $table[$index1][$index2] = $table[$index1 - 1][$index2 - 1] + 1;
+ }else{
+ $table[$index1][$index2] =
+ max($table[$index1 - 1][$index2], $table[$index1][$index2 - 1]);
+ }
+
+ }
+ }
+
+ // return the table
+ return $table;
+
+ }
+
+ /* Returns the partial diff for the specificed sequences, in reverse order.
+ * The parameters are:
+ *
+ * $table - the table returned by the computeTable function
+ * $sequence1 - the first sequence
+ * $sequence2 - the second sequence
+ * $start - the starting index
+ */
+ private static function generatePartialDiff(
+ $table, $sequence1, $sequence2, $start){
+
+ // initialise the diff
+ $diff = array();
+
+ // initialise the indices
+ $index1 = count($table) - 1;
+ $index2 = count($table[0]) - 1;
+
+ // loop until there are no items remaining in either sequence
+ while ($index1 > 0 || $index2 > 0){
+
+ // check what has happened to the items at these indices
+ if ($index1 > 0 && $index2 > 0
+ && $sequence1[$index1 + $start - 1]
+ == $sequence2[$index2 + $start - 1]){
+
+ // update the diff and the indices
+ $diff[] = array($sequence1[$index1 + $start - 1], self::UNMODIFIED);
+ $index1 --;
+ $index2 --;
+
+ }elseif ($index2 > 0
+ && $table[$index1][$index2] == $table[$index1][$index2 - 1]){
+
+ // update the diff and the indices
+ $diff[] = array($sequence2[$index2 + $start - 1], self::INSERTED);
+ $index2 --;
+
+ }else{
+
+ // update the diff and the indices
+ $diff[] = array($sequence1[$index1 + $start - 1], self::DELETED);
+ $index1 --;
+
+ }
+
+ }
+
+ // return the diff
+ return $diff;
+
+ }
+
+ /* Returns a diff as a string, where unmodified lines are prefixed by ' ',
+ * deletions are prefixed by '- ', and insertions are prefixed by '+ '. The
+ * parameters are:
+ *
+ * $diff - the diff array
+ * $separator - the separator between lines; this optional parameter defaults
+ * to "\n"
+ */
+ public static function toString($diff, $separator = "\n"){
+
+ // initialise the string
+ $string = '';
+
+ // loop over the lines in the diff
+ foreach ($diff as $line){
+
+ // extend the string with the line
+ switch ($line[1]){
+ case self::UNMODIFIED : $string .= ' ' . $line[0];break;
+ case self::DELETED : $string .= '- ' . $line[0];break;
+ case self::INSERTED : $string .= '+ ' . $line[0];break;
+ }
+
+ // extend the string with the separator
+ $string .= $separator;
+
+ }
+
+ // return the string
+ return $string;
+
+ }
+
+ /* Returns a diff as an HTML string, where unmodified lines are contained
+ * within 'span' elements, deletions are contained within 'del' elements, and
+ * insertions are contained within 'ins' elements. The parameters are:
+ *
+ * $diff - the diff array
+ * $separator - the separator between lines; this optional parameter defaults
+ * to '<br>'
+ */
+ public static function toHTML($diff, $separator = '<br>'){
+
+ // initialise the HTML
+ $html = '';
+
+ // loop over the lines in the diff
+ foreach ($diff as $line){
+
+ // extend the HTML with the line
+ switch ($line[1]){
+ case self::UNMODIFIED : $element = 'span'; break;
+ case self::DELETED : $element = 'del'; break;
+ case self::INSERTED : $element = 'ins'; break;
+ }
+ $html .=
+ '<' . $element . '>'
+ . htmlspecialchars($line[0])
+ . '</' . $element . '>';
+
+ // extend the HTML with the separator
+ $html .= $separator;
+
+ }
+
+ // return the HTML
+ return $html;
+
+ }
+
+ /* Returns a diff as an HTML table. The parameters are:
+ *
+ * $diff - the diff array
+ * $indentation - indentation to add to every line of the generated HTML; this
+ * optional parameter defaults to ''
+ * $separator - the separator between lines; this optional parameter
+ * defaults to '<br>'
+ */
+ public static function toTable($diff, $indentation = '', $separator = '<br>'){
+
+ // initialise the HTML
+ $html = $indentation . "<table class=\"diff\">\n";
+
+ // loop over the lines in the diff
+ $index = 0;
+ while ($index < count($diff)){
+
+ // determine the line type
+ switch ($diff[$index][1]){
+
+ // display the content on the left and right
+ case self::UNMODIFIED:
+ $leftCell =
+ self::getCellContent(
+ $diff, $indentation, $separator, $index, self::UNMODIFIED);
+ $rightCell = $leftCell;
+ break;
+
+ // display the deleted on the left and inserted content on the right
+ case self::DELETED:
+ $leftCell =
+ self::getCellContent(
+ $diff, $indentation, $separator, $index, self::DELETED);
+ $rightCell =
+ self::getCellContent(
+ $diff, $indentation, $separator, $index, self::INSERTED);
+ break;
+
+ // display the inserted content on the right
+ case self::INSERTED:
+ $leftCell = '';
+ $rightCell =
+ self::getCellContent(
+ $diff, $indentation, $separator, $index, self::INSERTED);
+ break;
+
+ }
+
+ // extend the HTML with the new row
+ $html .=
+ $indentation
+ . " <tr>\n"
+ . $indentation
+ . ' <td class="diff'
+ . ($leftCell == $rightCell
+ ? 'Unmodified'
+ : ($leftCell == '' ? 'Blank' : 'Deleted'))
+ . '">'
+ . $leftCell
+ . "</td>\n"
+ . $indentation
+ . ' <td class="diff'
+ . ($leftCell == $rightCell
+ ? 'Unmodified'
+ : ($rightCell == '' ? 'Blank' : 'Inserted'))
+ . '">'
+ . $rightCell
+ . "</td>\n"
+ . $indentation
+ . " </tr>\n";
+
+ }
+
+ // return the HTML
+ return $html . $indentation . "</table>\n";
+
+ }
+
+ /* Returns the content of the cell, for use in the toTable function. The
+ * parameters are:
+ *
+ * $diff - the diff array
+ * $indentation - indentation to add to every line of the generated HTML
+ * $separator - the separator between lines
+ * $index - the current index, passes by reference
+ * $type - the type of line
+ */
+ private static function getCellContent(
+ $diff, $indentation, $separator, &$index, $type){
+
+ // initialise the HTML
+ $html = '';
+
+ // loop over the matching lines, adding them to the HTML
+ while ($index < count($diff) && $diff[$index][1] == $type){
+ $html .=
+ '<span>'
+ . htmlspecialchars($diff[$index][0])
+ . '</span>'
+ . $separator;
+ $index ++;
+ }
+
+ // return the HTML
+ return $html;
+
+ }
+
+}
+
+?>
diff --git a/library/fullcalendar/CHANGELOG.txt b/library/fullcalendar/CHANGELOG.txt
index d753163e3..32559a8ad 100644
--- a/library/fullcalendar/CHANGELOG.txt
+++ b/library/fullcalendar/CHANGELOG.txt
@@ -1,8 +1,51 @@
+v2.7.3 (2016-06-02)
+-------------------
+
+internal enhancements that plugins can benefit from:
+- EventEmitter not correctly working with stopListeningTo
+- normalizeEvent hook for manipulating event data
+
+
+v2.7.2 (2016-05-20)
+-------------------
+
+- fixed desktops/laptops with touch support not accepting mouse events for
+ dayClick/dragging/resizing (#3154, #3149)
+- fixed dayClick incorrectly triggered on touch scroll (#3152)
+- fixed touch event dragging wrongfully beginning upon scrolling document (#3160)
+- fixed minified JS still contained comments
+- UI change: mouse users must hover over an event to reveal its resizers
+
+
+v2.7.1 (2016-05-01)
+-------------------
+
+- dayClick not firing on touch devices (#3138)
+- icons for prev/next not working in MS Edge (#2852)
+- fix bad languages troubles with firewalls (#3133, #3132)
+- update all dev dependencies (#3145, #3010, #2901, #251)
+- git-ignore npm debug logs (#3011)
+- misc automated test updates (#3139, #3147)
+- Google Calendar htmlLink not always defined (#2844)
+
+
+v2.7.0 (2016-04-23)
+-------------------
+
+touch device support (#994):
+ - smoother scrolling
+ - interactions initiated via "long press":
+ - event drag-n-drop
+ - event resize
+ - time-range selecting
+ - `longPressDelay`
+
+
v2.6.1 (2016-02-17)
-------------------
-- make nowIndicator positioning refresh on window resize
+- make `nowIndicator` positioning refresh on window resize
v2.6.0 (2016-01-07)
diff --git a/library/fullcalendar/CONTRIBUTING.txt b/library/fullcalendar/CONTRIBUTING.txt
index 0204d12c7..5c6dce4ac 100644
--- a/library/fullcalendar/CONTRIBUTING.txt
+++ b/library/fullcalendar/CONTRIBUTING.txt
@@ -41,7 +41,7 @@ Also, you will need the [grunt-cli][grunt-cli] and [bower][bower] packages insta
Then, clone FullCalendar's git repo:
- git clone git://github.com/arshaw/fullcalendar.git
+ git clone git://github.com/fullcalendar/fullcalendar.git
Enter the directory and install FullCalendar's development dependencies:
diff --git a/library/fullcalendar/fullcalendar.css b/library/fullcalendar/fullcalendar.css
index b43d666ef..81e9c1ee2 100644
--- a/library/fullcalendar/fullcalendar.css
+++ b/library/fullcalendar/fullcalendar.css
@@ -1,7 +1,7 @@
/*!
- * FullCalendar v2.6.1 Stylesheet
+ * FullCalendar v2.7.3 Stylesheet
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
+ * (c) 2016 Adam Shaw
*/
@@ -28,6 +28,7 @@ body .fc { /* extra precedence to overcome jqui */
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
+.fc-unthemed .fc-content, /* for gutter border */
.fc-unthemed .fc-popover {
border-color: #ddd;
}
@@ -72,7 +73,6 @@ body .fc { /* extra precedence to overcome jqui */
.fc-icon {
display: inline-block;
- width: 1em;
height: 1em;
line-height: 1em;
font-size: 1em;
@@ -99,7 +99,6 @@ NOTE: use percentage font sizes or else old IE chokes
.fc-icon:after {
position: relative;
- margin: 0 -1em; /* ensures character will be centered, regardless of width */
}
.fc-icon-left-single-arrow:after {
@@ -107,7 +106,6 @@ NOTE: use percentage font sizes or else old IE chokes
font-weight: bold;
font-size: 200%;
top: -7%;
- left: 3%;
}
.fc-icon-right-single-arrow:after {
@@ -115,7 +113,6 @@ NOTE: use percentage font sizes or else old IE chokes
font-weight: bold;
font-size: 200%;
top: -7%;
- left: -3%;
}
.fc-icon-left-double-arrow:after {
@@ -134,14 +131,12 @@ NOTE: use percentage font sizes or else old IE chokes
content: "\25C4";
font-size: 125%;
top: 3%;
- left: -2%;
}
.fc-icon-right-triangle:after {
content: "\25BA";
font-size: 125%;
top: 3%;
- left: 2%;
}
.fc-icon-down-triangle:after {
@@ -491,15 +486,15 @@ temporary rendered events).
/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
-.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
- overflow-y: scroll;
- overflow-x: hidden;
+.fc-scroller {
+ -webkit-overflow-scrolling: touch;
}
-.fc-scroller > * { /* we expect an immediate inner element */
+/* TODO: move to agenda/basic */
+.fc-scroller > .fc-day-grid,
+.fc-scroller > .fc-time-grid {
position: relative; /* re-scope all positions */
width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
- overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
}
@@ -547,15 +542,68 @@ temporary rendered events).
z-index: 2;
}
+/* resizer (cursor AND touch devices) */
+
.fc-event .fc-resizer {
position: absolute;
- z-index: 3;
+ z-index: 4;
+}
+
+/* resizer (touch devices) */
+
+.fc-event .fc-resizer {
+ display: none;
+}
+
+.fc-event.fc-allow-mouse-resize .fc-resizer,
+.fc-event.fc-selected .fc-resizer {
+ /* only show when hovering or selected (with touch) */
+ display: block;
+}
+
+/* hit area */
+
+.fc-event.fc-selected .fc-resizer:before {
+ /* 40x40 touch area */
+ content: "";
+ position: absolute;
+ z-index: 9999; /* user of this util can scope within a lower z-index */
+ top: 50%;
+ left: 50%;
+ width: 40px;
+ height: 40px;
+ margin-left: -20px;
+ margin-top: -20px;
+}
+
+
+/* Event Selection (only for touch devices)
+--------------------------------------------------------------------------------------------------*/
+
+.fc-event.fc-selected {
+ z-index: 9999 !important; /* overcomes inline z-index */
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
+}
+
+.fc-event.fc-selected.fc-dragging {
+ box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}
/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
+/* bigger touch area when selected */
+.fc-h-event.fc-selected:before {
+ content: "";
+ position: absolute;
+ z-index: 3; /* below resizers */
+ top: -10px;
+ bottom: -10px;
+ left: 0;
+ right: 0;
+}
+
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
@@ -576,36 +624,56 @@ temporary rendered events).
border-bottom-right-radius: 0;
}
-/* resizer */
-
-.fc-h-event .fc-resizer { /* positioned it to overcome the event's borders */
- top: -1px;
- bottom: -1px;
- left: -1px;
- right: -1px;
- width: 5px;
-}
+/* resizer (cursor AND touch devices) */
/* left resizer */
.fc-ltr .fc-h-event .fc-start-resizer,
-.fc-ltr .fc-h-event .fc-start-resizer:before,
-.fc-ltr .fc-h-event .fc-start-resizer:after,
-.fc-rtl .fc-h-event .fc-end-resizer,
-.fc-rtl .fc-h-event .fc-end-resizer:before,
-.fc-rtl .fc-h-event .fc-end-resizer:after {
- right: auto; /* ignore the right and only use the left */
+.fc-rtl .fc-h-event .fc-end-resizer {
cursor: w-resize;
+ left: -1px; /* overcome border */
}
/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
-.fc-ltr .fc-h-event .fc-end-resizer:before,
-.fc-ltr .fc-h-event .fc-end-resizer:after,
-.fc-rtl .fc-h-event .fc-start-resizer,
-.fc-rtl .fc-h-event .fc-start-resizer:before,
-.fc-rtl .fc-h-event .fc-start-resizer:after {
- left: auto; /* ignore the left and only use the right */
+.fc-rtl .fc-h-event .fc-start-resizer {
cursor: e-resize;
+ right: -1px; /* overcome border */
+}
+
+/* resizer (mouse devices) */
+
+.fc-h-event.fc-allow-mouse-resize .fc-resizer {
+ width: 7px;
+ top: -1px; /* overcome top border */
+ bottom: -1px; /* overcome bottom border */
+}
+
+/* resizer (touch devices) */
+
+.fc-h-event.fc-selected .fc-resizer {
+ /* 8x8 little dot */
+ border-radius: 4px;
+ border-width: 1px;
+ width: 6px;
+ height: 6px;
+ border-style: solid;
+ border-color: inherit;
+ background: #fff;
+ /* vertically center */
+ top: 50%;
+ margin-top: -4px;
+}
+
+/* left resizer */
+.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
+.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
+ margin-left: -4px; /* centers the 8x8 dot on the left edge */
+}
+
+/* right resizer */
+.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
+.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
+ margin-right: -4px; /* centers the 8x8 dot on the right edge */
}
@@ -620,6 +688,20 @@ be a descendant of the grid when it is being dragged.
padding: 0 1px;
}
+.fc-day-grid-event.fc-selected:after {
+ content: "";
+ position: absolute;
+ z-index: 1; /* same z-index as fc-bg, behind text */
+ /* overcome the borders */
+ top: -1px;
+ right: -1px;
+ bottom: -1px;
+ left: -1px;
+ /* darkening effect */
+ background: #000;
+ opacity: .25;
+ filter: alpha(opacity=25); /* for IE */
+}
.fc-day-grid-event .fc-content { /* force events to be one-line tall */
white-space: nowrap;
@@ -630,10 +712,18 @@ be a descendant of the grid when it is being dragged.
font-weight: bold;
}
-.fc-day-grid-event .fc-resizer { /* enlarge the default hit area */
- left: -3px;
- right: -3px;
- width: 7px;
+/* resizer (cursor devices) */
+
+/* left resizer */
+.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
+.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
+ margin-left: -2px; /* to the day cell's edge */
+}
+
+/* right resizer */
+.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
+.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
+ margin-right: -2px; /* to the day cell's edge */
}
@@ -681,6 +771,20 @@ a.fc-more:hover {
border: 0 solid red;
}
+
+/* Utilities
+--------------------------------------------------------------------------------------------------*/
+
+.fc-unselectable {
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-touch-callout: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
/* Toolbar
--------------------------------------------------------------------------------------------------*/
@@ -1031,6 +1135,20 @@ be a descendant of the grid when it is being dragged.
overflow: hidden; /* don't let the bg flow over rounded corners */
}
+.fc-time-grid-event.fc-selected {
+ /* need to allow touch resizers to extend outside event's bounding box */
+ /* common fc-selected styles hide the fc-bg, so don't need this anyway */
+ overflow: visible;
+}
+
+.fc-time-grid-event.fc-selected .fc-bg {
+ display: none; /* hide semi-white background, to appear darker */
+}
+
+.fc-time-grid-event .fc-content {
+ overflow: hidden; /* for when .fc-selected */
+}
+
.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
padding: 0 1px;
@@ -1072,9 +1190,9 @@ be a descendant of the grid when it is being dragged.
padding: 0; /* undo padding from above */
}
-/* resizer */
+/* resizer (cursor device) */
-.fc-time-grid-event .fc-resizer {
+.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
left: 0;
right: 0;
bottom: 0;
@@ -1087,10 +1205,28 @@ be a descendant of the grid when it is being dragged.
cursor: s-resize;
}
-.fc-time-grid-event .fc-resizer:after {
+.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
content: "=";
}
+/* resizer (touch device) */
+
+.fc-time-grid-event.fc-selected .fc-resizer {
+ /* 10x10 dot */
+ border-radius: 5px;
+ border-width: 1px;
+ width: 8px;
+ height: 8px;
+ border-style: solid;
+ border-color: inherit;
+ background: #fff;
+ /* horizontally center */
+ left: 50%;
+ margin-left: -5px;
+ /* center on the bottom edge */
+ bottom: -5px;
+}
+
/* Now Indicator
--------------------------------------------------------------------------------------------------*/
diff --git a/library/fullcalendar/fullcalendar.js b/library/fullcalendar/fullcalendar.js
index d6042cc17..cbe67697d 100644
--- a/library/fullcalendar/fullcalendar.js
+++ b/library/fullcalendar/fullcalendar.js
@@ -1,7 +1,7 @@
/*!
- * FullCalendar v2.6.1
+ * FullCalendar v2.7.3
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
+ * (c) 2016 Adam Shaw
*/
(function(factory) {
@@ -19,8 +19,8 @@
;;
var FC = $.fullCalendar = {
- version: "2.6.1",
- internalApiVersion: 3
+ version: "2.7.3",
+ internalApiVersion: 4
};
var fcViews = FC.views = {};
@@ -262,29 +262,25 @@ function matchCellWidths(els) {
}
-// Turns a container element into a scroller if its contents is taller than the allotted height.
-// Returns true if the element is now a scroller, false otherwise.
-// NOTE: this method is best because it takes weird zooming dimensions into account
-function setPotentialScroller(containerEl, height) {
- containerEl.height(height).addClass('fc-scroller');
-
- // are scrollbars needed?
- if (containerEl[0].scrollHeight - 1 > containerEl[0].clientHeight) { // !!! -1 because IE is often off-by-one :(
- return true;
- }
-
- unsetScroller(containerEl); // undo
- return false;
-}
+// Given one element that resides inside another,
+// Subtracts the height of the inner element from the outer element.
+function subtractInnerElHeight(outerEl, innerEl) {
+ var both = outerEl.add(innerEl);
+ var diff;
+ // effin' IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked
+ both.css({
+ position: 'relative', // cause a reflow, which will force fresh dimension recalculation
+ left: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll
+ });
+ diff = outerEl.outerHeight() - innerEl.outerHeight(); // grab the dimensions
+ both.css({ position: '', left: '' }); // undo hack
-// Takes an element that might have been a scroller, and turns it back into a normal element.
-function unsetScroller(containerEl) {
- containerEl.height('').removeClass('fc-scroller');
+ return diff;
}
-/* General DOM Utilities
+/* Element Geom Utilities
----------------------------------------------------------------------------------------------------------------------*/
FC.getOuterRect = getOuterRect;
@@ -309,26 +305,30 @@ function getScrollParent(el) {
// Queries the outer bounding area of a jQuery element.
// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
-function getOuterRect(el) {
+// Origin is optional.
+function getOuterRect(el, origin) {
var offset = el.offset();
+ var left = offset.left - (origin ? origin.left : 0);
+ var top = offset.top - (origin ? origin.top : 0);
return {
- left: offset.left,
- right: offset.left + el.outerWidth(),
- top: offset.top,
- bottom: offset.top + el.outerHeight()
+ left: left,
+ right: left + el.outerWidth(),
+ top: top,
+ bottom: top + el.outerHeight()
};
}
// Queries the area within the margin/border/scrollbars of a jQuery element. Does not go within the padding.
// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
+// Origin is optional.
// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.
-function getClientRect(el) {
+function getClientRect(el, origin) {
var offset = el.offset();
var scrollbarWidths = getScrollbarWidths(el);
- var left = offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left;
- var top = offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top;
+ var left = offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left - (origin ? origin.left : 0);
+ var top = offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top - (origin ? origin.top : 0);
return {
left: left,
@@ -341,10 +341,13 @@ function getClientRect(el) {
// Queries the area within the margin/border/padding of a jQuery element. Assumed not to have scrollbars.
// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
-function getContentRect(el) {
+// Origin is optional.
+function getContentRect(el, origin) {
var offset = el.offset(); // just outside of border, margin not included
- var left = offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left');
- var top = offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top');
+ var left = offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left') -
+ (origin ? origin.left : 0);
+ var top = offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top') -
+ (origin ? origin.top : 0);
return {
left: left,
@@ -414,13 +417,82 @@ function getCssFloat(el, prop) {
}
+/* Mouse / Touch Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.preventDefault = preventDefault;
+
+
// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)
function isPrimaryMouseButton(ev) {
return ev.which == 1 && !ev.ctrlKey;
}
-/* Geometry
+function getEvX(ev) {
+ if (ev.pageX !== undefined) {
+ return ev.pageX;
+ }
+ var touches = ev.originalEvent.touches;
+ if (touches) {
+ return touches[0].pageX;
+ }
+}
+
+
+function getEvY(ev) {
+ if (ev.pageY !== undefined) {
+ return ev.pageY;
+ }
+ var touches = ev.originalEvent.touches;
+ if (touches) {
+ return touches[0].pageY;
+ }
+}
+
+
+function getEvIsTouch(ev) {
+ return /^touch/.test(ev.type);
+}
+
+
+function preventSelection(el) {
+ el.addClass('fc-unselectable')
+ .on('selectstart', preventDefault);
+}
+
+
+// Stops a mouse/touch event from doing it's native browser action
+function preventDefault(ev) {
+ ev.preventDefault();
+}
+
+
+// attach a handler to get called when ANY scroll action happens on the page.
+// this was impossible to do with normal on/off because 'scroll' doesn't bubble.
+// http://stackoverflow.com/a/32954565/96342
+// returns `true` on success.
+function bindAnyScroll(handler) {
+ if (window.addEventListener) {
+ window.addEventListener('scroll', handler, true); // useCapture=true
+ return true;
+ }
+ return false;
+}
+
+
+// undoes bindAnyScroll. must pass in the original function.
+// returns `true` on success.
+function unbindAnyScroll(handler) {
+ if (window.removeEventListener) {
+ window.removeEventListener('scroll', handler, true); // useCapture=true
+ return true;
+ }
+ return false;
+}
+
+
+/* General Geometry Utils
----------------------------------------------------------------------------------------------------------------------*/
FC.intersectRects = intersectRects;
@@ -946,22 +1018,21 @@ function proxy(obj, methodName) {
// Returns a function, that, as long as it continues to be invoked, will not
// be triggered. The function will be called after it stops being called for
-// N milliseconds.
+// N milliseconds. If `immediate` is passed, trigger the function on the
+// leading edge, instead of the trailing.
// https://github.com/jashkenas/underscore/blob/1.6.0/underscore.js#L714
-function debounce(func, wait) {
- var timeoutId;
- var args;
- var context;
- var timestamp; // of most recent call
+function debounce(func, wait, immediate) {
+ var timeout, args, context, timestamp, result;
+
var later = function() {
var last = +new Date() - timestamp;
- if (last < wait && last > 0) {
- timeoutId = setTimeout(later, wait - last);
+ if (last < wait) {
+ timeout = setTimeout(later, wait - last);
}
else {
- timeoutId = null;
- func.apply(context, args);
- if (!timeoutId) {
+ timeout = null;
+ if (!immediate) {
+ result = func.apply(context, args);
context = args = null;
}
}
@@ -971,9 +1042,15 @@ function debounce(func, wait) {
context = this;
args = arguments;
timestamp = +new Date();
- if (!timeoutId) {
- timeoutId = setTimeout(later, wait);
+ var callNow = immediate && !timeout;
+ if (!timeout) {
+ timeout = setTimeout(later, wait);
+ }
+ if (callNow) {
+ result = func.apply(context, args);
+ context = args = null;
}
+ return result;
};
}
@@ -1777,61 +1854,162 @@ function extendClass(superClass, members) {
function mixIntoClass(theClass, members) {
- copyOwnProps(members.prototype || members, theClass.prototype); // TODO: copyNativeMethods?
+ copyOwnProps(members, theClass.prototype); // TODO: copyNativeMethods?
}
;;
-var Emitter = FC.Emitter = Class.extend({
+var EmitterMixin = FC.EmitterMixin = {
+
+ // jQuery-ification via $(this) allows a non-DOM object to have
+ // the same event handling capabilities (including namespaces).
+
+
+ on: function(types, handler) {
- callbackHash: null,
+ // handlers are always called with an "event" object as their first param.
+ // sneak the `this` context and arguments into the extra parameter object
+ // and forward them on to the original handler.
+ var intercept = function(ev, extra) {
+ return handler.apply(
+ extra.context || this,
+ extra.args || []
+ );
+ };
+
+ // mimick jQuery's internal "proxy" system (risky, I know)
+ // causing all functions with the same .guid to appear to be the same.
+ // https://github.com/jquery/jquery/blob/2.2.4/src/core.js#L448
+ // this is needed for calling .off with the original non-intercept handler.
+ if (!handler.guid) {
+ handler.guid = $.guid++;
+ }
+ intercept.guid = handler.guid;
+ $(this).on(types, intercept);
- on: function(name, callback) {
- this.getCallbacks(name).add(callback);
return this; // for chaining
},
- off: function(name, callback) {
- this.getCallbacks(name).remove(callback);
+ off: function(types, handler) {
+ $(this).off(types, handler);
+
return this; // for chaining
},
- trigger: function(name) { // args...
- var args = Array.prototype.slice.call(arguments, 1);
+ trigger: function(types) {
+ var args = Array.prototype.slice.call(arguments, 1); // arguments after the first
- this.triggerWith(name, this, args);
+ // pass in "extra" info to the intercept
+ $(this).triggerHandler(types, { args: args });
return this; // for chaining
},
- triggerWith: function(name, context, args) {
- var callbacks = this.getCallbacks(name);
+ triggerWith: function(types, context, args) {
- callbacks.fireWith(context, args);
+ // `triggerHandler` is less reliant on the DOM compared to `trigger`.
+ // pass in "extra" info to the intercept.
+ $(this).triggerHandler(types, { context: context, args: args });
return this; // for chaining
- },
+ }
+};
- getCallbacks: function(name) {
- var callbacks;
+;;
- if (!this.callbackHash) {
- this.callbackHash = {};
- }
+/*
+Utility methods for easily listening to events on another object,
+and more importantly, easily unlistening from them.
+*/
+var ListenerMixin = FC.ListenerMixin = (function() {
+ var guid = 0;
+ var ListenerMixin = {
+
+ listenerId: null,
+
+ /*
+ Given an `other` object that has on/off methods, bind the given `callback` to an event by the given name.
+ The `callback` will be called with the `this` context of the object that .listenTo is being called on.
+ Can be called:
+ .listenTo(other, eventName, callback)
+ OR
+ .listenTo(other, {
+ eventName1: callback1,
+ eventName2: callback2
+ })
+ */
+ listenTo: function(other, arg, callback) {
+ if (typeof arg === 'object') { // given dictionary of callbacks
+ for (var eventName in arg) {
+ if (arg.hasOwnProperty(eventName)) {
+ this.listenTo(other, eventName, arg[eventName]);
+ }
+ }
+ }
+ else if (typeof arg === 'string') {
+ other.on(
+ arg + '.' + this.getListenerNamespace(), // use event namespacing to identify this object
+ $.proxy(callback, this) // always use `this` context
+ // the usually-undesired jQuery guid behavior doesn't matter,
+ // because we always unbind via namespace
+ );
+ }
+ },
+
+ /*
+ Causes the current object to stop listening to events on the `other` object.
+ `eventName` is optional. If omitted, will stop listening to ALL events on `other`.
+ */
+ stopListeningTo: function(other, eventName) {
+ other.off((eventName || '') + '.' + this.getListenerNamespace());
+ },
- callbacks = this.callbackHash[name];
- if (!callbacks) {
- callbacks = this.callbackHash[name] = $.Callbacks();
+ /*
+ Returns a string, unique to this object, to be used for event namespacing
+ */
+ getListenerNamespace: function() {
+ if (this.listenerId == null) {
+ this.listenerId = guid++;
+ }
+ return '_listener' + this.listenerId;
}
- return callbacks;
+ };
+ return ListenerMixin;
+})();
+;;
+
+// simple class for toggle a `isIgnoringMouse` flag on delay
+// initMouseIgnoring must first be called, with a millisecond delay setting.
+var MouseIgnorerMixin = {
+
+ isIgnoringMouse: false, // bool
+ delayUnignoreMouse: null, // method
+
+
+ initMouseIgnoring: function(delay) {
+ this.delayUnignoreMouse = debounce(proxy(this, 'unignoreMouse'), delay || 1000);
+ },
+
+
+ // temporarily ignore mouse actions on segments
+ tempIgnoreMouse: function() {
+ this.isIgnoringMouse = true;
+ this.delayUnignoreMouse();
+ },
+
+
+ // delayUnignoreMouse eventually calls this
+ unignoreMouse: function() {
+ this.isIgnoringMouse = false;
}
-});
+};
+
;;
/* A rectangular panel that is absolutely positioned over other content
@@ -1848,12 +2026,11 @@ Options:
- hide (callback)
*/
-var Popover = Class.extend({
+var Popover = Class.extend(ListenerMixin, {
isHidden: true,
options: null,
el: null, // the container element for the popover. generated by this object
- documentMousedownProxy: null, // document mousedown handler bound to `this`
margin: 10, // the space required between the popover and the edges of the scroll container
@@ -1907,7 +2084,7 @@ var Popover = Class.extend({
});
if (options.autoHide) {
- $(document).on('mousedown', this.documentMousedownProxy = proxy(this, 'documentMousedown'));
+ this.listenTo($(document), 'mousedown', this.documentMousedown);
}
},
@@ -1930,7 +2107,7 @@ var Popover = Class.extend({
this.el = null;
}
- $(document).off('mousedown', this.documentMousedownProxy);
+ this.stopListeningTo($(document), 'mousedown');
},
@@ -2243,257 +2420,421 @@ var CoordCache = FC.CoordCache = Class.extend({
----------------------------------------------------------------------------------------------------------------------*/
// TODO: use Emitter
-var DragListener = FC.DragListener = Class.extend({
+var DragListener = FC.DragListener = Class.extend(ListenerMixin, MouseIgnorerMixin, {
options: null,
- isListening: false,
- isDragging: false,
+ // for IE8 bug-fighting behavior
+ subjectEl: null,
+ subjectHref: null,
// coordinates of the initial mousedown
originX: null,
originY: null,
- // handler attached to the document, bound to the DragListener's `this`
- mousemoveProxy: null,
- mouseupProxy: null,
+ // the wrapping element that scrolls, or MIGHT scroll if there's overflow.
+ // TODO: do this for wrappers that have overflow:hidden as well.
+ scrollEl: null,
- // for IE8 bug-fighting behavior, for now
- subjectEl: null, // the element being draged. optional
- subjectHref: null,
+ isInteracting: false,
+ isDistanceSurpassed: false,
+ isDelayEnded: false,
+ isDragging: false,
+ isTouch: false,
- scrollEl: null,
- scrollBounds: null, // { top, bottom, left, right }
- scrollTopVel: null, // pixels per second
- scrollLeftVel: null, // pixels per second
- scrollIntervalId: null, // ID of setTimeout for scrolling animation loop
- scrollHandlerProxy: null, // this-scoped function for handling when scrollEl is scrolled
+ delay: null,
+ delayTimeoutId: null,
+ minDistance: null,
- scrollSensitivity: 30, // pixels from edge for scrolling to start
- scrollSpeed: 200, // pixels per second, at maximum speed
- scrollIntervalMs: 50, // millisecond wait between scroll increment
+ handleTouchScrollProxy: null, // calls handleTouchScroll, always bound to `this`
constructor: function(options) {
- options = options || {};
- this.options = options;
- this.subjectEl = options.subjectEl;
+ this.options = options || {};
+ this.handleTouchScrollProxy = proxy(this, 'handleTouchScroll');
+ this.initMouseIgnoring(500);
},
- // Call this when the user does a mousedown. Will probably lead to startListening
- mousedown: function(ev) {
- if (isPrimaryMouseButton(ev)) {
+ // Interaction (high-level)
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ startInteraction: function(ev, extraOptions) {
+ var isTouch = getEvIsTouch(ev);
+
+ if (ev.type === 'mousedown') {
+ if (this.isIgnoringMouse) {
+ return;
+ }
+ else if (!isPrimaryMouseButton(ev)) {
+ return;
+ }
+ else {
+ ev.preventDefault(); // prevents native selection in most browsers
+ }
+ }
+
+ if (!this.isInteracting) {
+
+ // process options
+ extraOptions = extraOptions || {};
+ this.delay = firstDefined(extraOptions.delay, this.options.delay, 0);
+ this.minDistance = firstDefined(extraOptions.distance, this.options.distance, 0);
+ this.subjectEl = this.options.subjectEl;
+
+ this.isInteracting = true;
+ this.isTouch = isTouch;
+ this.isDelayEnded = false;
+ this.isDistanceSurpassed = false;
- ev.preventDefault(); // prevents native selection in most browsers
+ this.originX = getEvX(ev);
+ this.originY = getEvY(ev);
+ this.scrollEl = getScrollParent($(ev.target));
- this.startListening(ev);
+ this.bindHandlers();
+ this.initAutoScroll();
+ this.handleInteractionStart(ev);
+ this.startDelay(ev);
- // start the drag immediately if there is no minimum distance for a drag start
- if (!this.options.distance) {
- this.startDrag(ev);
+ if (!this.minDistance) {
+ this.handleDistanceSurpassed(ev);
}
}
},
- // Call this to start tracking mouse movements
- startListening: function(ev) {
- var scrollParent;
+ handleInteractionStart: function(ev) {
+ this.trigger('interactionStart', ev);
+ },
- if (!this.isListening) {
- // grab scroll container and attach handler
- if (ev && this.options.scroll) {
- scrollParent = getScrollParent($(ev.target));
- if (!scrollParent.is(window) && !scrollParent.is(document)) {
- this.scrollEl = scrollParent;
+ endInteraction: function(ev, isCancelled) {
+ if (this.isInteracting) {
+ this.endDrag(ev);
- // scope to `this`, and use `debounce` to make sure rapid calls don't happen
- this.scrollHandlerProxy = debounce(proxy(this, 'scrollHandler'), 100);
- this.scrollEl.on('scroll', this.scrollHandlerProxy);
- }
+ if (this.delayTimeoutId) {
+ clearTimeout(this.delayTimeoutId);
+ this.delayTimeoutId = null;
}
- $(document)
- .on('mousemove', this.mousemoveProxy = proxy(this, 'mousemove'))
- .on('mouseup', this.mouseupProxy = proxy(this, 'mouseup'))
- .on('selectstart', this.preventDefault); // prevents native selection in IE<=8
+ this.destroyAutoScroll();
+ this.unbindHandlers();
+
+ this.isInteracting = false;
+ this.handleInteractionEnd(ev, isCancelled);
- if (ev) {
- this.originX = ev.pageX;
- this.originY = ev.pageY;
+ // a touchstart+touchend on the same element will result in the following addition simulated events:
+ // mouseover + mouseout + click
+ // let's ignore these bogus events
+ if (this.isTouch) {
+ this.tempIgnoreMouse();
}
- else {
- // if no starting information was given, origin will be the topleft corner of the screen.
- // if so, dx/dy in the future will be the absolute coordinates.
- this.originX = 0;
- this.originY = 0;
+ }
+ },
+
+
+ handleInteractionEnd: function(ev, isCancelled) {
+ this.trigger('interactionEnd', ev, isCancelled || false);
+ },
+
+
+ // Binding To DOM
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ bindHandlers: function() {
+ var _this = this;
+ var touchStartIgnores = 1;
+
+ if (this.isTouch) {
+ this.listenTo($(document), {
+ touchmove: this.handleTouchMove,
+ touchend: this.endInteraction,
+ touchcancel: this.endInteraction,
+
+ // Sometimes touchend doesn't fire
+ // (can't figure out why. touchcancel doesn't fire either. has to do with scrolling?)
+ // If another touchstart happens, we know it's bogus, so cancel the drag.
+ // touchend will continue to be broken until user does a shorttap/scroll, but this is best we can do.
+ touchstart: function(ev) {
+ if (touchStartIgnores) { // bindHandlers is called from within a touchstart,
+ touchStartIgnores--; // and we don't want this to fire immediately, so ignore.
+ }
+ else {
+ _this.endInteraction(ev, true); // isCancelled=true
+ }
+ }
+ });
+
+ // listen to ALL scroll actions on the page
+ if (
+ !bindAnyScroll(this.handleTouchScrollProxy) && // hopefully this works and short-circuits the rest
+ this.scrollEl // otherwise, attach a single handler to this
+ ) {
+ this.listenTo(this.scrollEl, 'scroll', this.handleTouchScroll);
}
+ }
+ else {
+ this.listenTo($(document), {
+ mousemove: this.handleMouseMove,
+ mouseup: this.endInteraction
+ });
+ }
- this.isListening = true;
- this.listenStart(ev);
+ this.listenTo($(document), {
+ selectstart: preventDefault, // don't allow selection while dragging
+ contextmenu: preventDefault // long taps would open menu on Chrome dev tools
+ });
+ },
+
+
+ unbindHandlers: function() {
+ this.stopListeningTo($(document));
+
+ // unbind scroll listening
+ unbindAnyScroll(this.handleTouchScrollProxy);
+ if (this.scrollEl) {
+ this.stopListeningTo(this.scrollEl, 'scroll');
+ }
+ },
+
+
+ // Drag (high-level)
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ // extraOptions ignored if drag already started
+ startDrag: function(ev, extraOptions) {
+ this.startInteraction(ev, extraOptions); // ensure interaction began
+
+ if (!this.isDragging) {
+ this.isDragging = true;
+ this.handleDragStart(ev);
}
},
- // Called when drag listening has started (but a real drag has not necessarily began)
- listenStart: function(ev) {
- this.trigger('listenStart', ev);
+ handleDragStart: function(ev) {
+ this.trigger('dragStart', ev);
+ this.initHrefHack();
},
- // Called when the user moves the mouse
- mousemove: function(ev) {
- var dx = ev.pageX - this.originX;
- var dy = ev.pageY - this.originY;
- var minDistance;
+ handleMove: function(ev) {
+ var dx = getEvX(ev) - this.originX;
+ var dy = getEvY(ev) - this.originY;
+ var minDistance = this.minDistance;
var distanceSq; // current distance from the origin, squared
- if (!this.isDragging) { // if not already dragging...
- // then start the drag if the minimum distance criteria is met
- minDistance = this.options.distance || 1;
+ if (!this.isDistanceSurpassed) {
distanceSq = dx * dx + dy * dy;
if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem
- this.startDrag(ev);
+ this.handleDistanceSurpassed(ev);
}
}
if (this.isDragging) {
- this.drag(dx, dy, ev); // report a drag, even if this mousemove initiated the drag
+ this.handleDrag(dx, dy, ev);
}
},
- // Call this to initiate a legitimate drag.
- // This function is called internally from this class, but can also be called explicitly from outside
- startDrag: function(ev) {
+ // Called while the mouse is being moved and when we know a legitimate drag is taking place
+ handleDrag: function(dx, dy, ev) {
+ this.trigger('drag', dx, dy, ev);
+ this.updateAutoScroll(ev); // will possibly cause scrolling
+ },
- if (!this.isListening) { // startDrag must have manually initiated
- this.startListening();
- }
- if (!this.isDragging) {
- this.isDragging = true;
- this.dragStart(ev);
+ endDrag: function(ev) {
+ if (this.isDragging) {
+ this.isDragging = false;
+ this.handleDragEnd(ev);
}
},
- // Called when the actual drag has started (went beyond minDistance)
- dragStart: function(ev) {
- var subjectEl = this.subjectEl;
+ handleDragEnd: function(ev) {
+ this.trigger('dragEnd', ev);
+ this.destroyHrefHack();
+ },
- this.trigger('dragStart', ev);
- // remove a mousedown'd <a>'s href so it is not visited (IE8 bug)
- if ((this.subjectHref = subjectEl ? subjectEl.attr('href') : null)) {
- subjectEl.removeAttr('href');
+ // Delay
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ startDelay: function(initialEv) {
+ var _this = this;
+
+ if (this.delay) {
+ this.delayTimeoutId = setTimeout(function() {
+ _this.handleDelayEnd(initialEv);
+ }, this.delay);
+ }
+ else {
+ this.handleDelayEnd(initialEv);
}
},
- // Called while the mouse is being moved and when we know a legitimate drag is taking place
- drag: function(dx, dy, ev) {
- this.trigger('drag', dx, dy, ev);
- this.updateScroll(ev); // will possibly cause scrolling
+ handleDelayEnd: function(initialEv) {
+ this.isDelayEnded = true;
+
+ if (this.isDistanceSurpassed) {
+ this.startDrag(initialEv);
+ }
},
- // Called when the user does a mouseup
- mouseup: function(ev) {
- this.stopListening(ev);
+ // Distance
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ handleDistanceSurpassed: function(ev) {
+ this.isDistanceSurpassed = true;
+
+ if (this.isDelayEnded) {
+ this.startDrag(ev);
+ }
},
- // Called when the drag is over. Will not cause listening to stop however.
- // A concluding 'cellOut' event will NOT be triggered.
- stopDrag: function(ev) {
+ // Mouse / Touch
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ handleTouchMove: function(ev) {
+ // prevent inertia and touchmove-scrolling while dragging
if (this.isDragging) {
- this.stopScrolling();
- this.dragStop(ev);
- this.isDragging = false;
+ ev.preventDefault();
}
+
+ this.handleMove(ev);
},
- // Called when dragging has been stopped
- dragStop: function(ev) {
- var _this = this;
+ handleMouseMove: function(ev) {
+ this.handleMove(ev);
+ },
- this.trigger('dragStop', ev);
- // restore a mousedown'd <a>'s href (for IE8 bug)
- setTimeout(function() { // must be outside of the click's execution
- if (_this.subjectHref) {
- _this.subjectEl.attr('href', _this.subjectHref);
- }
- }, 0);
- },
+ // Scrolling (unrelated to auto-scroll)
+ // -----------------------------------------------------------------------------------------------------------------
- // Call this to stop listening to the user's mouse events
- stopListening: function(ev) {
- this.stopDrag(ev); // if there's a current drag, kill it
+ handleTouchScroll: function(ev) {
+ // if the drag is being initiated by touch, but a scroll happens before
+ // the drag-initiating delay is over, cancel the drag
+ if (!this.isDragging) {
+ this.endInteraction(ev, true); // isCancelled=true
+ }
+ },
- if (this.isListening) {
- // remove the scroll handler if there is a scrollEl
- if (this.scrollEl) {
- this.scrollEl.off('scroll', this.scrollHandlerProxy);
- this.scrollHandlerProxy = null;
- }
+ // <A> HREF Hack
+ // -----------------------------------------------------------------------------------------------------------------
- $(document)
- .off('mousemove', this.mousemoveProxy)
- .off('mouseup', this.mouseupProxy)
- .off('selectstart', this.preventDefault);
- this.mousemoveProxy = null;
- this.mouseupProxy = null;
+ initHrefHack: function() {
+ var subjectEl = this.subjectEl;
- this.isListening = false;
- this.listenStop(ev);
+ // remove a mousedown'd <a>'s href so it is not visited (IE8 bug)
+ if ((this.subjectHref = subjectEl ? subjectEl.attr('href') : null)) {
+ subjectEl.removeAttr('href');
}
},
- // Called when drag listening has stopped
- listenStop: function(ev) {
- this.trigger('listenStop', ev);
+ destroyHrefHack: function() {
+ var subjectEl = this.subjectEl;
+ var subjectHref = this.subjectHref;
+
+ // restore a mousedown'd <a>'s href (for IE8 bug)
+ setTimeout(function() { // must be outside of the click's execution
+ if (subjectHref) {
+ subjectEl.attr('href', subjectHref);
+ }
+ }, 0);
},
+ // Utils
+ // -----------------------------------------------------------------------------------------------------------------
+
+
// Triggers a callback. Calls a function in the option hash of the same name.
// Arguments beyond the first `name` are forwarded on.
trigger: function(name) {
if (this.options[name]) {
this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));
}
- },
+ // makes _methods callable by event name. TODO: kill this
+ if (this['_' + name]) {
+ this['_' + name].apply(this, Array.prototype.slice.call(arguments, 1));
+ }
+ }
+
+
+});
+
+;;
+/*
+this.scrollEl is set in DragListener
+*/
+DragListener.mixin({
+ isAutoScroll: false,
- // Stops a given mouse event from doing it's native browser action. In our case, text selection.
- preventDefault: function(ev) {
- ev.preventDefault();
+ scrollBounds: null, // { top, bottom, left, right }
+ scrollTopVel: null, // pixels per second
+ scrollLeftVel: null, // pixels per second
+ scrollIntervalId: null, // ID of setTimeout for scrolling animation loop
+
+ // defaults
+ scrollSensitivity: 30, // pixels from edge for scrolling to start
+ scrollSpeed: 200, // pixels per second, at maximum speed
+ scrollIntervalMs: 50, // millisecond wait between scroll increment
+
+
+ initAutoScroll: function() {
+ var scrollEl = this.scrollEl;
+
+ this.isAutoScroll =
+ this.options.scroll &&
+ scrollEl &&
+ !scrollEl.is(window) &&
+ !scrollEl.is(document);
+
+ if (this.isAutoScroll) {
+ // debounce makes sure rapid calls don't happen
+ this.listenTo(scrollEl, 'scroll', debounce(this.handleDebouncedScroll, 100));
+ }
},
- /* Scrolling
- ------------------------------------------------------------------------------------------------------------------*/
+ destroyAutoScroll: function() {
+ this.endAutoScroll(); // kill any animation loop
+
+ // remove the scroll handler if there is a scrollEl
+ if (this.isAutoScroll) {
+ this.stopListeningTo(this.scrollEl, 'scroll'); // will probably get removed by unbindHandlers too :(
+ }
+ },
// Computes and stores the bounding rectangle of scrollEl
computeScrollBounds: function() {
- var el = this.scrollEl;
-
- this.scrollBounds = el ? getOuterRect(el) : null;
+ if (this.isAutoScroll) {
+ this.scrollBounds = getOuterRect(this.scrollEl);
// TODO: use getClientRect in future. but prevents auto scrolling when on top of scrollbars
+ }
},
// Called when the dragging is in progress and scrolling should be updated
- updateScroll: function(ev) {
+ updateAutoScroll: function(ev) {
var sensitivity = this.scrollSensitivity;
var bounds = this.scrollBounds;
var topCloseness, bottomCloseness;
@@ -2504,10 +2845,10 @@ var DragListener = FC.DragListener = Class.extend({
if (bounds) { // only scroll if scrollEl exists
// compute closeness to edges. valid range is from 0.0 - 1.0
- topCloseness = (sensitivity - (ev.pageY - bounds.top)) / sensitivity;
- bottomCloseness = (sensitivity - (bounds.bottom - ev.pageY)) / sensitivity;
- leftCloseness = (sensitivity - (ev.pageX - bounds.left)) / sensitivity;
- rightCloseness = (sensitivity - (bounds.right - ev.pageX)) / sensitivity;
+ topCloseness = (sensitivity - (getEvY(ev) - bounds.top)) / sensitivity;
+ bottomCloseness = (sensitivity - (bounds.bottom - getEvY(ev))) / sensitivity;
+ leftCloseness = (sensitivity - (getEvX(ev) - bounds.left)) / sensitivity;
+ rightCloseness = (sensitivity - (bounds.right - getEvX(ev))) / sensitivity;
// translate vertical closeness into velocity.
// mouse must be completely in bounds for velocity to happen.
@@ -2594,38 +2935,36 @@ var DragListener = FC.DragListener = Class.extend({
// if scrolled all the way, which causes the vels to be zero, stop the animation loop
if (!this.scrollTopVel && !this.scrollLeftVel) {
- this.stopScrolling();
+ this.endAutoScroll();
}
},
// Kills any existing scrolling animation loop
- stopScrolling: function() {
+ endAutoScroll: function() {
if (this.scrollIntervalId) {
clearInterval(this.scrollIntervalId);
this.scrollIntervalId = null;
- // when all done with scrolling, recompute positions since they probably changed
- this.scrollStop();
+ this.handleScrollEnd();
}
},
// Get called when the scrollEl is scrolled (NOTE: this is delayed via debounce)
- scrollHandler: function() {
+ handleDebouncedScroll: function() {
// recompute all coordinates, but *only* if this is *not* part of our scrolling animation
if (!this.scrollIntervalId) {
- this.scrollStop();
+ this.handleScrollEnd();
}
},
// Called when scrolling has stopped, whether through auto scroll, or the user scrolling
- scrollStop: function() {
+ handleScrollEnd: function() {
}
});
-
;;
/* Tracks mouse movements over a component and raises events about which hit the mouse is over.
@@ -2654,18 +2993,16 @@ var HitDragListener = DragListener.extend({
// Called when drag listening starts (but a real drag has not necessarily began).
// ev might be undefined if dragging was started manually.
- listenStart: function(ev) {
+ handleInteractionStart: function(ev) {
var subjectEl = this.subjectEl;
var subjectRect;
var origPoint;
var point;
- DragListener.prototype.listenStart.apply(this, arguments); // call the super-method
-
this.computeCoords();
if (ev) {
- origPoint = { left: ev.pageX, top: ev.pageY };
+ origPoint = { left: getEvX(ev), top: getEvY(ev) };
point = origPoint;
// constrain the point to bounds of the element being dragged
@@ -2695,61 +3032,64 @@ var HitDragListener = DragListener.extend({
this.origHit = null;
this.coordAdjust = null;
}
+
+ // call the super-method. do it after origHit has been computed
+ DragListener.prototype.handleInteractionStart.apply(this, arguments);
},
// Recomputes the drag-critical positions of elements
computeCoords: function() {
this.component.prepareHits();
- this.computeScrollBounds(); // why is this here???
+ this.computeScrollBounds(); // why is this here??????
},
// Called when the actual drag has started
- dragStart: function(ev) {
+ handleDragStart: function(ev) {
var hit;
- DragListener.prototype.dragStart.apply(this, arguments); // call the super-method
+ DragListener.prototype.handleDragStart.apply(this, arguments); // call the super-method
// might be different from this.origHit if the min-distance is large
- hit = this.queryHit(ev.pageX, ev.pageY);
+ hit = this.queryHit(getEvX(ev), getEvY(ev));
// report the initial hit the mouse is over
// especially important if no min-distance and drag starts immediately
if (hit) {
- this.hitOver(hit);
+ this.handleHitOver(hit);
}
},
// Called when the drag moves
- drag: function(dx, dy, ev) {
+ handleDrag: function(dx, dy, ev) {
var hit;
- DragListener.prototype.drag.apply(this, arguments); // call the super-method
+ DragListener.prototype.handleDrag.apply(this, arguments); // call the super-method
- hit = this.queryHit(ev.pageX, ev.pageY);
+ hit = this.queryHit(getEvX(ev), getEvY(ev));
if (!isHitsEqual(hit, this.hit)) { // a different hit than before?
if (this.hit) {
- this.hitOut();
+ this.handleHitOut();
}
if (hit) {
- this.hitOver(hit);
+ this.handleHitOver(hit);
}
}
},
// Called when dragging has been stopped
- dragStop: function() {
- this.hitDone();
- DragListener.prototype.dragStop.apply(this, arguments); // call the super-method
+ handleDragEnd: function() {
+ this.handleHitDone();
+ DragListener.prototype.handleDragEnd.apply(this, arguments); // call the super-method
},
// Called when a the mouse has just moved over a new hit
- hitOver: function(hit) {
+ handleHitOver: function(hit) {
var isOrig = isHitsEqual(hit, this.origHit);
this.hit = hit;
@@ -2759,26 +3099,26 @@ var HitDragListener = DragListener.extend({
// Called when the mouse has just moved out of a hit
- hitOut: function() {
+ handleHitOut: function() {
if (this.hit) {
this.trigger('hitOut', this.hit);
- this.hitDone();
+ this.handleHitDone();
this.hit = null;
}
},
// Called after a hitOut. Also called before a dragStop
- hitDone: function() {
+ handleHitDone: function() {
if (this.hit) {
this.trigger('hitDone', this.hit);
}
},
- // Called when drag listening has stopped
- listenStop: function() {
- DragListener.prototype.listenStop.apply(this, arguments); // call the super-method
+ // Called when the interaction ends, whether there was a real drag or not
+ handleInteractionEnd: function() {
+ DragListener.prototype.handleInteractionEnd.apply(this, arguments); // call the super-method
this.origHit = null;
this.hit = null;
@@ -2788,8 +3128,8 @@ var HitDragListener = DragListener.extend({
// Called when scrolling has stopped, whether through auto scroll, or the user scrolling
- scrollStop: function() {
- DragListener.prototype.scrollStop.apply(this, arguments); // call the super-method
+ handleScrollEnd: function() {
+ DragListener.prototype.handleScrollEnd.apply(this, arguments); // call the super-method
this.computeCoords(); // hits' absolute positions will be in new places. recompute
},
@@ -2844,7 +3184,7 @@ function isHitPropsWithin(subHit, superHit) {
/* Creates a clone of an element and lets it track the mouse as it moves
----------------------------------------------------------------------------------------------------------------------*/
-var MouseFollower = Class.extend({
+var MouseFollower = Class.extend(ListenerMixin, {
options: null,
@@ -2856,16 +3196,14 @@ var MouseFollower = Class.extend({
top0: null,
left0: null,
- // the initial position of the mouse
- mouseY0: null,
- mouseX0: null,
+ // the absolute coordinates of the initiating touch/mouse action
+ y0: null,
+ x0: null,
// the number of pixels the mouse has moved from its initial position
topDelta: null,
leftDelta: null,
- mousemoveProxy: null, // document mousemove handler, bound to the MouseFollower's `this`
-
isFollowing: false,
isHidden: false,
isAnimating: false, // doing the revert animation?
@@ -2882,8 +3220,8 @@ var MouseFollower = Class.extend({
if (!this.isFollowing) {
this.isFollowing = true;
- this.mouseY0 = ev.pageY;
- this.mouseX0 = ev.pageX;
+ this.y0 = getEvY(ev);
+ this.x0 = getEvX(ev);
this.topDelta = 0;
this.leftDelta = 0;
@@ -2891,7 +3229,12 @@ var MouseFollower = Class.extend({
this.updatePosition();
}
- $(document).on('mousemove', this.mousemoveProxy = proxy(this, 'mousemove'));
+ if (getEvIsTouch(ev)) {
+ this.listenTo($(document), 'touchmove', this.handleMove);
+ }
+ else {
+ this.listenTo($(document), 'mousemove', this.handleMove);
+ }
}
},
@@ -2916,7 +3259,7 @@ var MouseFollower = Class.extend({
if (this.isFollowing && !this.isAnimating) { // disallow more than one stop animation at a time
this.isFollowing = false;
- $(document).off('mousemove', this.mousemoveProxy);
+ this.stopListeningTo($(document));
if (shouldRevert && revertDuration && !this.isHidden) { // do a revert animation?
this.isAnimating = true;
@@ -2942,6 +3285,7 @@ var MouseFollower = Class.extend({
if (!el) {
this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
el = this.el = this.sourceEl.clone()
+ .addClass(this.options.additionalClass || '')
.css({
position: 'absolute',
visibility: '', // in case original element was hidden (commonly through hideEvents())
@@ -2953,8 +3297,13 @@ var MouseFollower = Class.extend({
height: this.sourceEl.height(), // explicit width in case there was a 'bottom' value
opacity: this.options.opacity || '',
zIndex: this.options.zIndex
- })
- .appendTo(this.parentEl);
+ });
+
+ // we don't want long taps or any mouse interaction causing selection/menus.
+ // would use preventSelection(), but that prevents selectstart, causing problems.
+ el.addClass('fc-unselectable');
+
+ el.appendTo(this.parentEl);
}
return el;
@@ -2994,9 +3343,9 @@ var MouseFollower = Class.extend({
// Gets called when the user moves the mouse
- mousemove: function(ev) {
- this.topDelta = ev.pageY - this.mouseY0;
- this.leftDelta = ev.pageX - this.mouseX0;
+ handleMove: function(ev) {
+ this.topDelta = getEvY(ev) - this.y0;
+ this.leftDelta = getEvX(ev) - this.x0;
if (!this.isHidden) {
this.updatePosition();
@@ -3031,7 +3380,7 @@ var MouseFollower = Class.extend({
/* An abstract class comprised of a "grid" of areas that each represent a specific datetime
----------------------------------------------------------------------------------------------------------------------*/
-var Grid = FC.Grid = Class.extend({
+var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
view: null, // a View object
isRTL: null, // shortcut to the view's isRTL option
@@ -3042,8 +3391,6 @@ var Grid = FC.Grid = Class.extend({
el: null, // the containing element
elsByFill: null, // a hash of jQuery element sets used for rendering each fill. Keyed by fill name.
- externalDragStartProxy: null, // binds the Grid's scope to externalDragStart (in DayGrid.events)
-
// derived from options
eventTimeFormat: null,
displayEventTime: null,
@@ -3056,13 +3403,19 @@ var Grid = FC.Grid = Class.extend({
// TODO: port isTimeScale into same system?
largeUnit: null,
+ dayDragListener: null,
+ segDragListener: null,
+ segResizeListener: null,
+ externalDragListener: null,
+
constructor: function(view) {
this.view = view;
this.isRTL = view.opt('isRTL');
-
this.elsByFill = {};
- this.externalDragStartProxy = proxy(this, 'externalDragStart');
+
+ this.dayDragListener = this.buildDayDragListener();
+ this.initMouseIgnoring();
},
@@ -3195,26 +3548,33 @@ var Grid = FC.Grid = Class.extend({
// Sets the container element that the grid should render inside of.
// Does other DOM-related initializations.
setElement: function(el) {
- var _this = this;
-
this.el = el;
+ preventSelection(el);
+
+ this.bindDayHandler('touchstart', this.dayTouchStart);
+ this.bindDayHandler('mousedown', this.dayMousedown);
+
+ // attach event-element-related handlers. in Grid.events
+ // same garbage collection note as above.
+ this.bindSegHandlers();
+
+ this.bindGlobalHandlers();
+ },
+
+
+ bindDayHandler: function(name, handler) {
+ var _this = this;
// attach a handler to the grid's root element.
// jQuery will take care of unregistering them when removeElement gets called.
- el.on('mousedown', function(ev) {
+ this.el.on(name, function(ev) {
if (
!$(ev.target).is('.fc-event-container *, .fc-more') && // not an an event element, or "more.." link
!$(ev.target).closest('.fc-popover').length // not on a popover (like the "more.." events one)
) {
- _this.dayMousedown(ev);
+ return handler.call(_this, ev);
}
});
-
- // attach event-element-related handlers. in Grid.events
- // same garbage collection note as above.
- this.bindSegHandlers();
-
- this.bindGlobalHandlers();
},
@@ -3222,6 +3582,7 @@ var Grid = FC.Grid = Class.extend({
// DOES NOT remove any content beforehand (doesn't clear events or call unrenderDates), unlike View
removeElement: function() {
this.unbindGlobalHandlers();
+ this.clearDragListeners();
this.el.remove();
@@ -3254,18 +3615,47 @@ var Grid = FC.Grid = Class.extend({
// Binds DOM handlers to elements that reside outside the grid, such as the document
bindGlobalHandlers: function() {
- $(document).on('dragstart sortstart', this.externalDragStartProxy); // jqui
+ this.listenTo($(document), {
+ dragstart: this.externalDragStart, // jqui
+ sortstart: this.externalDragStart // jqui
+ });
},
// Unbinds DOM handlers from elements that reside outside the grid
unbindGlobalHandlers: function() {
- $(document).off('dragstart sortstart', this.externalDragStartProxy); // jqui
+ this.stopListeningTo($(document));
},
// Process a mousedown on an element that represents a day. For day clicking and selecting.
dayMousedown: function(ev) {
+ if (!this.isIgnoringMouse) {
+ this.dayDragListener.startInteraction(ev, {
+ //distance: 5, // needs more work if we want dayClick to fire correctly
+ });
+ }
+ },
+
+
+ dayTouchStart: function(ev) {
+ var view = this.view;
+
+ // HACK to prevent a user's clickaway for unselecting a range or an event
+ // from causing a dayClick.
+ if (view.isSelected || view.selectedEvent) {
+ this.tempIgnoreMouse();
+ }
+
+ this.dayDragListener.startInteraction(ev, {
+ delay: this.view.opt('longPressDelay')
+ });
+ },
+
+
+ // Creates a listener that tracks the user's drag across day elements.
+ // For day clicking and selecting.
+ buildDayDragListener: function() {
var _this = this;
var view = this.view;
var isSelectable = view.opt('selectable');
@@ -3276,14 +3666,21 @@ var Grid = FC.Grid = Class.extend({
// if the drag ends on the same day, it is a 'dayClick'.
// if 'selectable' is enabled, this listener also detects selections.
var dragListener = new HitDragListener(this, {
- //distance: 5, // needs more work if we want dayClick to fire correctly
scroll: view.opt('dragScroll'),
+ interactionStart: function() {
+ dayClickHit = dragListener.origHit; // for dayClick, where no dragging happens
+ },
dragStart: function() {
view.unselect(); // since we could be rendering a new selection, we want to clear any old one
},
hitOver: function(hit, isOrig, origHit) {
if (origHit) { // click needs to have started on a hit
- dayClickHit = isOrig ? hit : null; // single-hit selection is a day click
+
+ // if user dragged to another cell at any point, it can no longer be a dayClick
+ if (!isOrig) {
+ dayClickHit = null;
+ }
+
if (isSelectable) {
selectionSpan = _this.computeSelection(
_this.getHitSpan(origHit),
@@ -3304,23 +3701,46 @@ var Grid = FC.Grid = Class.extend({
_this.unrenderSelection();
enableCursor();
},
- listenStop: function(ev) {
- if (dayClickHit) {
- view.triggerDayClick(
- _this.getHitSpan(dayClickHit),
- _this.getHitEl(dayClickHit),
- ev
- );
- }
- if (selectionSpan) {
- // the selection will already have been rendered. just report it
- view.reportSelection(selectionSpan, ev);
+ interactionEnd: function(ev, isCancelled) {
+ if (!isCancelled) {
+ if (
+ dayClickHit &&
+ !_this.isIgnoringMouse // see hack in dayTouchStart
+ ) {
+ view.triggerDayClick(
+ _this.getHitSpan(dayClickHit),
+ _this.getHitEl(dayClickHit),
+ ev
+ );
+ }
+ if (selectionSpan) {
+ // the selection will already have been rendered. just report it
+ view.reportSelection(selectionSpan, ev);
+ }
+ enableCursor();
}
- enableCursor();
}
});
- dragListener.mousedown(ev); // start listening, which will eventually initiate a dragStart
+ return dragListener;
+ },
+
+
+ // Kills all in-progress dragging.
+ // Useful for when public API methods that result in re-rendering are invoked during a drag.
+ // Also useful for when touch devices misbehave and don't fire their touchend.
+ clearDragListeners: function() {
+ this.dayDragListener.endInteraction();
+
+ if (this.segDragListener) {
+ this.segDragListener.endInteraction(); // will clear this.segDragListener
+ }
+ if (this.segResizeListener) {
+ this.segResizeListener.endInteraction(); // will clear this.segResizeListener
+ }
+ if (this.externalDragListener) {
+ this.externalDragListener.endInteraction(); // will clear this.externalDragListener
+ }
},
@@ -3330,10 +3750,11 @@ var Grid = FC.Grid = Class.extend({
// Renders a mock event at the given event location, which contains zoned start/end properties.
+ // Returns all mock event elements.
renderEventLocationHelper: function(eventLocation, sourceSeg) {
var fakeEvent = this.fabricateHelperEvent(eventLocation, sourceSeg);
- this.renderHelper(fakeEvent, sourceSeg); // do the actual rendering
+ return this.renderHelper(fakeEvent, sourceSeg); // do the actual rendering
},
@@ -3361,6 +3782,7 @@ var Grid = FC.Grid = Class.extend({
// Renders a mock event. Given zoned event date properties.
+ // Must return all mock event elements.
renderHelper: function(eventLocation, sourceSeg) {
// subclasses must implement
},
@@ -3640,7 +4062,8 @@ Grid.mixin({
// Unrenders all events currently rendered on the grid
unrenderEvents: function() {
- this.triggerSegMouseout(); // trigger an eventMouseout if user's mouse is over an event
+ this.handleSegMouseout(); // trigger an eventMouseout if user's mouse is over an event
+ this.clearDragListeners();
this.unrenderFgSegs();
this.unrenderBgSegs();
@@ -3768,48 +4191,44 @@ Grid.mixin({
// Attaches event-element-related handlers to the container element and leverage bubbling
bindSegHandlers: function() {
+ this.bindSegHandler('touchstart', this.handleSegTouchStart);
+ this.bindSegHandler('touchend', this.handleSegTouchEnd);
+ this.bindSegHandler('mouseenter', this.handleSegMouseover);
+ this.bindSegHandler('mouseleave', this.handleSegMouseout);
+ this.bindSegHandler('mousedown', this.handleSegMousedown);
+ this.bindSegHandler('click', this.handleSegClick);
+ },
+
+
+ // Executes a handler for any a user-interaction on a segment.
+ // Handler gets called with (seg, ev), and with the `this` context of the Grid
+ bindSegHandler: function(name, handler) {
var _this = this;
- var view = this.view;
- $.each(
- {
- mouseenter: function(seg, ev) {
- _this.triggerSegMouseover(seg, ev);
- },
- mouseleave: function(seg, ev) {
- _this.triggerSegMouseout(seg, ev);
- },
- click: function(seg, ev) {
- return view.trigger('eventClick', this, seg.event, ev); // can return `false` to cancel
- },
- mousedown: function(seg, ev) {
- if ($(ev.target).is('.fc-resizer') && view.isEventResizable(seg.event)) {
- _this.segResizeMousedown(seg, ev, $(ev.target).is('.fc-start-resizer'));
- }
- else if (view.isEventDraggable(seg.event)) {
- _this.segDragMousedown(seg, ev);
- }
- }
- },
- function(name, func) {
- // attach the handler to the container element and only listen for real event elements via bubbling
- _this.el.on(name, '.fc-event-container > *', function(ev) {
- var seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEvents
-
- // only call the handlers if there is not a drag/resize in progress
- if (seg && !_this.isDraggingSeg && !_this.isResizingSeg) {
- return func.call(this, seg, ev); // `this` will be the event element
- }
- });
+ this.el.on(name, '.fc-event-container > *', function(ev) {
+ var seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEvents
+
+ // only call the handlers if there is not a drag/resize in progress
+ if (seg && !_this.isDraggingSeg && !_this.isResizingSeg) {
+ return handler.call(_this, seg, ev); // context will be the Grid
}
- );
+ });
+ },
+
+
+ handleSegClick: function(seg, ev) {
+ return this.view.trigger('eventClick', seg.el[0], seg.event, ev); // can return `false` to cancel
},
// Updates internal state and triggers handlers for when an event element is moused over
- triggerSegMouseover: function(seg, ev) {
- if (!this.mousedOverSeg) {
+ handleSegMouseover: function(seg, ev) {
+ if (
+ !this.isIgnoringMouse &&
+ !this.mousedOverSeg
+ ) {
this.mousedOverSeg = seg;
+ seg.el.addClass('fc-allow-mouse-resize');
this.view.trigger('eventMouseover', seg.el[0], seg.event, ev);
}
},
@@ -3817,56 +4236,132 @@ Grid.mixin({
// Updates internal state and triggers handlers for when an event element is moused out.
// Can be given no arguments, in which case it will mouseout the segment that was previously moused over.
- triggerSegMouseout: function(seg, ev) {
+ handleSegMouseout: function(seg, ev) {
ev = ev || {}; // if given no args, make a mock mouse event
if (this.mousedOverSeg) {
seg = seg || this.mousedOverSeg; // if given no args, use the currently moused-over segment
this.mousedOverSeg = null;
+ seg.el.removeClass('fc-allow-mouse-resize');
this.view.trigger('eventMouseout', seg.el[0], seg.event, ev);
}
},
+ handleSegMousedown: function(seg, ev) {
+ var isResizing = this.startSegResize(seg, ev, { distance: 5 });
+
+ if (!isResizing && this.view.isEventDraggable(seg.event)) {
+ this.buildSegDragListener(seg)
+ .startInteraction(ev, {
+ distance: 5
+ });
+ }
+ },
+
+
+ handleSegTouchStart: function(seg, ev) {
+ var view = this.view;
+ var event = seg.event;
+ var isSelected = view.isEventSelected(event);
+ var isDraggable = view.isEventDraggable(event);
+ var isResizable = view.isEventResizable(event);
+ var isResizing = false;
+ var dragListener;
+
+ if (isSelected && isResizable) {
+ // only allow resizing of the event is selected
+ isResizing = this.startSegResize(seg, ev);
+ }
+
+ if (!isResizing && (isDraggable || isResizable)) { // allowed to be selected?
+
+ dragListener = isDraggable ?
+ this.buildSegDragListener(seg) :
+ this.buildSegSelectListener(seg); // seg isn't draggable, but still needs to be selected
+
+ dragListener.startInteraction(ev, { // won't start if already started
+ delay: isSelected ? 0 : this.view.opt('longPressDelay') // do delay if not already selected
+ });
+ }
+
+ // a long tap simulates a mouseover. ignore this bogus mouseover.
+ this.tempIgnoreMouse();
+ },
+
+
+ handleSegTouchEnd: function(seg, ev) {
+ // touchstart+touchend = click, which simulates a mouseover.
+ // ignore this bogus mouseover.
+ this.tempIgnoreMouse();
+ },
+
+
+ // returns boolean whether resizing actually started or not.
+ // assumes the seg allows resizing.
+ // `dragOptions` are optional.
+ startSegResize: function(seg, ev, dragOptions) {
+ if ($(ev.target).is('.fc-resizer')) {
+ this.buildSegResizeListener(seg, $(ev.target).is('.fc-start-resizer'))
+ .startInteraction(ev, dragOptions);
+ return true;
+ }
+ return false;
+ },
+
+
+
/* Event Dragging
------------------------------------------------------------------------------------------------------------------*/
- // Called when the user does a mousedown on an event, which might lead to dragging.
+ // Builds a listener that will track user-dragging on an event segment.
// Generic enough to work with any type of Grid.
- segDragMousedown: function(seg, ev) {
+ // Has side effect of setting/unsetting `segDragListener`
+ buildSegDragListener: function(seg) {
var _this = this;
var view = this.view;
var calendar = view.calendar;
var el = seg.el;
var event = seg.event;
+ var isDragging;
+ var mouseFollower; // A clone of the original element that will move with the mouse
var dropLocation; // zoned event date properties
- // A clone of the original element that will move with the mouse
- var mouseFollower = new MouseFollower(seg.el, {
- parentEl: view.el,
- opacity: view.opt('dragOpacity'),
- revertDuration: view.opt('dragRevertDuration'),
- zIndex: 2 // one above the .fc-view
- });
+ if (this.segDragListener) {
+ return this.segDragListener;
+ }
// Tracks mouse movement over the *view's* coordinate map. Allows dragging and dropping between subcomponents
// of the view.
- var dragListener = new HitDragListener(view, {
- distance: 5,
+ var dragListener = this.segDragListener = new HitDragListener(view, {
scroll: view.opt('dragScroll'),
subjectEl: el,
subjectCenter: true,
- listenStart: function(ev) {
+ interactionStart: function(ev) {
+ isDragging = false;
+ mouseFollower = new MouseFollower(seg.el, {
+ additionalClass: 'fc-dragging',
+ parentEl: view.el,
+ opacity: dragListener.isTouch ? null : view.opt('dragOpacity'),
+ revertDuration: view.opt('dragRevertDuration'),
+ zIndex: 2 // one above the .fc-view
+ });
mouseFollower.hide(); // don't show until we know this is a real drag
mouseFollower.start(ev);
},
dragStart: function(ev) {
- _this.triggerSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
+ if (dragListener.isTouch && !view.isEventSelected(event)) {
+ // if not previously selected, will fire after a delay. then, select the event
+ view.selectEvent(event);
+ }
+ isDragging = true;
+ _this.handleSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
_this.segDragStart(seg, ev);
view.hideEvent(event); // hide all event segments. our mouseFollower will take over
},
hitOver: function(hit, isOrig, origHit) {
+ var dragHelperEls;
// starting hit could be forced (DayGrid.limit)
if (seg.hit) {
@@ -3886,7 +4381,13 @@ Grid.mixin({
}
// if a valid drop location, have the subclass render a visual indication
- if (dropLocation && view.renderDrag(dropLocation, seg)) {
+ if (dropLocation && (dragHelperEls = view.renderDrag(dropLocation, seg))) {
+
+ dragHelperEls.addClass('fc-dragging');
+ if (!dragListener.isTouch) {
+ _this.applyDragOpacity(dragHelperEls);
+ }
+
mouseFollower.hide(); // if the subclass is already using a mock event "helper", hide our own
}
else {
@@ -3902,27 +4403,54 @@ Grid.mixin({
mouseFollower.show(); // show in case we are moving out of all hits
dropLocation = null;
},
- hitDone: function() { // Called after a hitOut OR before a dragStop
+ hitDone: function() { // Called after a hitOut OR before a dragEnd
enableCursor();
},
- dragStop: function(ev) {
+ interactionEnd: function(ev) {
// do revert animation if hasn't changed. calls a callback when finished (whether animation or not)
mouseFollower.stop(!dropLocation, function() {
- view.unrenderDrag();
- view.showEvent(event);
- _this.segDragStop(seg, ev);
-
+ if (isDragging) {
+ view.unrenderDrag();
+ view.showEvent(event);
+ _this.segDragStop(seg, ev);
+ }
if (dropLocation) {
view.reportEventDrop(event, dropLocation, this.largeUnit, el, ev);
}
});
+ _this.segDragListener = null;
+ }
+ });
+
+ return dragListener;
+ },
+
+
+ // seg isn't draggable, but let's use a generic DragListener
+ // simply for the delay, so it can be selected.
+ // Has side effect of setting/unsetting `segDragListener`
+ buildSegSelectListener: function(seg) {
+ var _this = this;
+ var view = this.view;
+ var event = seg.event;
+
+ if (this.segDragListener) {
+ return this.segDragListener;
+ }
+
+ var dragListener = this.segDragListener = new DragListener({
+ dragStart: function(ev) {
+ if (dragListener.isTouch && !view.isEventSelected(event)) {
+ // if not previously selected, will fire after a delay. then, select the event
+ view.selectEvent(event);
+ }
},
- listenStop: function() {
- mouseFollower.stop(); // put in listenStop in case there was a mousedown but the drag never started
+ interactionEnd: function(ev) {
+ _this.segDragListener = null;
}
});
- dragListener.mousedown(ev); // start listening, which will eventually lead to a dragStart
+ return dragListener;
},
@@ -4038,8 +4566,8 @@ Grid.mixin({
var dropLocation; // a null value signals an unsuccessful drag
// listener that tracks mouse movement over date-associated pixel regions
- var dragListener = new HitDragListener(this, {
- listenStart: function() {
+ var dragListener = _this.externalDragListener = new HitDragListener(this, {
+ interactionStart: function() {
_this.isDraggingExternal = true;
},
hitOver: function(hit) {
@@ -4063,17 +4591,16 @@ Grid.mixin({
hitOut: function() {
dropLocation = null; // signal unsuccessful
},
- hitDone: function() { // Called after a hitOut OR before a dragStop
+ hitDone: function() { // Called after a hitOut OR before a dragEnd
enableCursor();
_this.unrenderDrag();
},
- dragStop: function() {
+ interactionEnd: function(ev) {
if (dropLocation) { // element was dropped on a valid hit
_this.view.reportExternalDrop(meta, dropLocation, el, ev, ui);
}
- },
- listenStop: function() {
_this.isDraggingExternal = false;
+ _this.externalDragListener = null;
}
});
@@ -4114,6 +4641,7 @@ Grid.mixin({
// `dropLocation` contains hypothetical start/end/allDay values the event would have if dropped. end can be null.
// `seg` is the internal segment object that is being dragged. If dragging an external element, `seg` is null.
// A truthy returned value indicates this method has rendered a helper element.
+ // Must return elements used for any mock events.
renderDrag: function(dropLocation, seg) {
// subclasses must implement
},
@@ -4129,24 +4657,28 @@ Grid.mixin({
------------------------------------------------------------------------------------------------------------------*/
- // Called when the user does a mousedown on an event's resizer, which might lead to resizing.
+ // Creates a listener that tracks the user as they resize an event segment.
// Generic enough to work with any type of Grid.
- segResizeMousedown: function(seg, ev, isStart) {
+ buildSegResizeListener: function(seg, isStart) {
var _this = this;
var view = this.view;
var calendar = view.calendar;
var el = seg.el;
var event = seg.event;
var eventEnd = calendar.getEventEnd(event);
+ var isDragging;
var resizeLocation; // zoned event date properties. falsy if invalid resize
// Tracks mouse movement over the *grid's* coordinate map
- var dragListener = new HitDragListener(this, {
- distance: 5,
+ var dragListener = this.segResizeListener = new HitDragListener(this, {
scroll: view.opt('dragScroll'),
subjectEl: el,
+ interactionStart: function() {
+ isDragging = false;
+ },
dragStart: function(ev) {
- _this.triggerSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
+ isDragging = true;
+ _this.handleSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
_this.segResizeStart(seg, ev);
},
hitOver: function(hit, isOrig, origHit) {
@@ -4181,16 +4713,18 @@ Grid.mixin({
view.showEvent(event);
enableCursor();
},
- dragStop: function(ev) {
- _this.segResizeStop(seg, ev);
-
+ interactionEnd: function(ev) {
+ if (isDragging) {
+ _this.segResizeStop(seg, ev);
+ }
if (resizeLocation) { // valid date to resize to?
view.reportEventResize(event, resizeLocation, this.largeUnit, el, ev);
}
+ _this.segResizeListener = null;
}
});
- dragListener.mousedown(ev); // start listening, which will eventually lead to a dragStart
+ return dragListener;
},
@@ -4267,6 +4801,7 @@ Grid.mixin({
// Renders a visual indication of an event being resized.
// `range` has the updated dates of the event. `seg` is the original segment object involved in the drag.
+ // Must return elements used for any mock events.
renderEventResize: function(range, seg) {
// subclasses must implement
},
@@ -4312,6 +4847,7 @@ Grid.mixin({
// Generic utility for generating the HTML classNames for an event segment's element
getSegClasses: function(seg, isDraggable, isResizable) {
+ var view = this.view;
var event = seg.event;
var classes = [
'fc-event',
@@ -4329,6 +4865,11 @@ Grid.mixin({
classes.push('fc-resizable');
}
+ // event is currently selected? attach a className.
+ if (view.isEventSelected(event)) {
+ classes.push('fc-selected');
+ }
+
return classes;
},
@@ -5311,10 +5852,7 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
// if a segment from the same calendar but another component is being dragged, render a helper event
if (seg && !seg.el.closest(this.el).length) {
- this.renderEventLocationHelper(eventLocation, seg);
- this.applyDragOpacity(this.helperEls);
-
- return true; // a helper has been rendered
+ return this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements
}
},
@@ -5333,7 +5871,7 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
// Renders a visual indication of an event being resized
renderEventResize: function(eventLocation, seg) {
this.renderHighlight(this.eventToSpan(eventLocation));
- this.renderEventLocationHelper(eventLocation, seg);
+ return this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements
},
@@ -5379,7 +5917,9 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
helperNodes.push(skeletonEl[0]);
});
- this.helperEls = $(helperNodes); // array -> jQuery set
+ return ( // must return the elements rendered
+ this.helperEls = $(helperNodes) // array -> jQuery set
+ );
},
@@ -6165,6 +6705,7 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
labelInterval: null, // duration of how often a label should be displayed for a slot
colEls: null, // cells elements in the day-row background
+ slatContainerEl: null, // div that wraps all the slat rows
slatEls: null, // elements running horizontally across all columns
nowIndicatorEls: null,
@@ -6184,7 +6725,8 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
renderDates: function() {
this.el.html(this.renderHtml());
this.colEls = this.el.find('.fc-day');
- this.slatEls = this.el.find('.fc-slats tr');
+ this.slatContainerEl = this.el.find('.fc-slats');
+ this.slatEls = this.slatContainerEl.find('tr');
this.colCoordCache = new CoordCache({
els: this.colEls,
@@ -6463,6 +7005,11 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
},
+ getTotalSlatHeight: function() {
+ return this.slatContainerEl.outerHeight();
+ },
+
+
// Computes the top coordinate, relative to the bounds of the grid, of the given date.
// A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.
computeDateTop: function(date, startOfDayDate) {
@@ -6511,13 +7058,10 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
renderDrag: function(eventLocation, seg) {
if (seg) { // if there is event information for this drag, render a helper event
- this.renderEventLocationHelper(eventLocation, seg);
- for (var i = 0; i < this.helperSegs.length; i++) {
- this.applyDragOpacity(this.helperSegs[i].el);
- }
-
- return true; // signal that a helper has been rendered
+ // returns mock event elements
+ // signal that a helper has been rendered
+ return this.renderEventLocationHelper(eventLocation, seg);
}
else {
// otherwise, just render a highlight
@@ -6539,7 +7083,7 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
// Renders a visual indication of an event being resized
renderEventResize: function(eventLocation, seg) {
- this.renderEventLocationHelper(eventLocation, seg);
+ return this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements
},
@@ -6555,7 +7099,7 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
// Renders a mock "helper" event. `sourceSeg` is the original segment object and might be null (an external drag)
renderHelper: function(event, sourceSeg) {
- this.renderHelperSegs(this.eventToSegs(event), sourceSeg);
+ return this.renderHelperSegs(this.eventToSegs(event), sourceSeg); // returns mock event elements
},
@@ -6749,6 +7293,7 @@ TimeGrid.mixin({
renderHelperSegs: function(segs, sourceSeg) {
+ var helperEls = [];
var i, seg;
var sourceEl;
@@ -6766,9 +7311,12 @@ TimeGrid.mixin({
'margin-right': sourceEl.css('margin-right')
});
}
+ helperEls.push(seg.el[0]);
}
this.helperSegs = segs;
+
+ return $(helperEls); // must return rendered helpers
},
@@ -7279,7 +7827,7 @@ function isSlotSegCollision(seg1, seg2) {
/* An abstract class from which other views inherit from
----------------------------------------------------------------------------------------------------------------------*/
-var View = FC.View = Class.extend({
+var View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {
type: null, // subclass' view name (string)
name: null, // deprecated. use `type` instead
@@ -7306,13 +7854,10 @@ var View = FC.View = Class.extend({
isRTL: false,
isSelected: false, // boolean whether a range of time is user-selected or not
+ selectedEvent: null,
eventOrderSpecs: null, // criteria for ordering events when they have same date/time
- // subclasses can optionally use a scroll container
- scrollerEl: null, // the element that will most likely scroll when content is too tall
- scrollTop: null, // cached vertical scroll value
-
// classNames styled by jqui themes
widgetHeaderClass: null,
widgetContentClass: null,
@@ -7322,9 +7867,6 @@ var View = FC.View = Class.extend({
nextDayThreshold: null,
isHiddenDayHash: null,
- // document handlers, bound to `this` object
- documentMousedownProxy: null, // TODO: doesn't work with touch
-
// now indicator
isNowIndicatorRendered: null,
initialNowDate: null, // result first getNow call
@@ -7347,8 +7889,6 @@ var View = FC.View = Class.extend({
this.eventOrderSpecs = parseFieldSpecs(this.opt('eventOrder'));
- this.documentMousedownProxy = proxy(this, 'documentMousedown');
-
this.initialize();
},
@@ -7674,13 +8214,14 @@ var View = FC.View = Class.extend({
// Binds DOM handlers to elements that reside outside the view container, such as the document
bindGlobalHandlers: function() {
- $(document).on('mousedown', this.documentMousedownProxy);
+ this.listenTo($(document), 'mousedown', this.handleDocumentMousedown);
+ this.listenTo($(document), 'touchstart', this.processUnselect);
},
// Unbinds DOM handlers from elements that reside outside the view container
unbindGlobalHandlers: function() {
- $(document).off('mousedown', this.documentMousedownProxy);
+ this.stopListeningTo($(document));
},
@@ -7848,27 +8389,6 @@ var View = FC.View = Class.extend({
------------------------------------------------------------------------------------------------------------------*/
- // Given the total height of the view, return the number of pixels that should be used for the scroller.
- // Utility for subclasses.
- computeScrollerHeight: function(totalHeight) {
- var scrollerEl = this.scrollerEl;
- var both;
- var otherHeight; // cumulative height of everything that is not the scrollerEl in the view (header+borders)
-
- both = this.el.add(scrollerEl);
-
- // fuckin IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked
- both.css({
- position: 'relative', // cause a reflow, which will force fresh dimension recalculation
- left: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll
- });
- otherHeight = this.el.outerHeight() - scrollerEl.height(); // grab the dimensions
- both.css({ position: '', left: '' }); // undo hack
-
- return totalHeight - otherHeight;
- },
-
-
// Computes the initial pre-configured scroll state prior to allowing the user to change it.
// Given the scroll state from the previous rendering. If first time rendering, given null.
computeInitialScroll: function(previousScrollState) {
@@ -7878,17 +8398,13 @@ var View = FC.View = Class.extend({
// Retrieves the view's current natural scroll state. Can return an arbitrary format.
queryScroll: function() {
- if (this.scrollerEl) {
- return this.scrollerEl.scrollTop(); // operates on scrollerEl by default
- }
+ // subclasses must implement
},
// Sets the view's scroll state. Will accept the same format computeInitialScroll and queryScroll produce.
setScroll: function(scrollState) {
- if (this.scrollerEl) {
- return this.scrollerEl.scrollTop(scrollState); // operates on scrollerEl by default
- }
+ // subclasses must implement
},
@@ -8103,7 +8619,8 @@ var View = FC.View = Class.extend({
// Renders a visual indication of a event or external-element drag over the given drop zone.
- // If an external-element, seg will be `null`
+ // If an external-element, seg will be `null`.
+ // Must return elements used for any mock events.
renderDrag: function(dropLocation, seg) {
// subclasses must implement
},
@@ -8166,7 +8683,7 @@ var View = FC.View = Class.extend({
},
- /* Selection
+ /* Selection (time range)
------------------------------------------------------------------------------------------------------------------*/
@@ -8224,13 +8741,62 @@ var View = FC.View = Class.extend({
},
- // Handler for unselecting when the user clicks something and the 'unselectAuto' setting is on
- documentMousedown: function(ev) {
- var ignore;
+ /* Event Selection
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ selectEvent: function(event) {
+ if (!this.selectedEvent || this.selectedEvent !== event) {
+ this.unselectEvent();
+ this.renderedEventSegEach(function(seg) {
+ seg.el.addClass('fc-selected');
+ }, event);
+ this.selectedEvent = event;
+ }
+ },
+
+
+ unselectEvent: function() {
+ if (this.selectedEvent) {
+ this.renderedEventSegEach(function(seg) {
+ seg.el.removeClass('fc-selected');
+ }, this.selectedEvent);
+ this.selectedEvent = null;
+ }
+ },
- // is there a selection, and has the user made a proper left click?
- if (this.isSelected && this.opt('unselectAuto') && isPrimaryMouseButton(ev)) {
+ isEventSelected: function(event) {
+ // event references might change on refetchEvents(), while selectedEvent doesn't,
+ // so compare IDs
+ return this.selectedEvent && this.selectedEvent._id === event._id;
+ },
+
+
+ /* Mouse / Touch Unselecting (time range & event unselection)
+ ------------------------------------------------------------------------------------------------------------------*/
+ // TODO: move consistently to down/start or up/end?
+ // TODO: don't kill previous selection if touch scrolling
+
+
+ handleDocumentMousedown: function(ev) {
+ if (isPrimaryMouseButton(ev)) {
+ this.processUnselect(ev);
+ }
+ },
+
+
+ processUnselect: function(ev) {
+ this.processRangeUnselect(ev);
+ this.processEventUnselect(ev);
+ },
+
+
+ processRangeUnselect: function(ev) {
+ var ignore;
+
+ // is there a time-range selection?
+ if (this.isSelected && this.opt('unselectAuto')) {
// only unselect if the clicked element is not identical to or inside of an 'unselectCancel' element
ignore = this.opt('unselectCancel');
if (!ignore || !$(ev.target).closest(ignore).length) {
@@ -8240,6 +8806,15 @@ var View = FC.View = Class.extend({
},
+ processEventUnselect: function(ev) {
+ if (this.selectedEvent) {
+ if (!$(ev.target).closest('.fc-selected').length) {
+ this.unselectEvent();
+ }
+ }
+ },
+
+
/* Day Click
------------------------------------------------------------------------------------------------------------------*/
@@ -8354,6 +8929,127 @@ var View = FC.View = Class.extend({
;;
+/*
+Embodies a div that has potential scrollbars
+*/
+var Scroller = FC.Scroller = Class.extend({
+
+ el: null, // the guaranteed outer element
+ scrollEl: null, // the element with the scrollbars
+ overflowX: null,
+ overflowY: null,
+
+
+ constructor: function(options) {
+ options = options || {};
+ this.overflowX = options.overflowX || options.overflow || 'auto';
+ this.overflowY = options.overflowY || options.overflow || 'auto';
+ },
+
+
+ render: function() {
+ this.el = this.renderEl();
+ this.applyOverflow();
+ },
+
+
+ renderEl: function() {
+ return (this.scrollEl = $('<div class="fc-scroller"></div>'));
+ },
+
+
+ // sets to natural height, unlocks overflow
+ clear: function() {
+ this.setHeight('auto');
+ this.applyOverflow();
+ },
+
+
+ destroy: function() {
+ this.el.remove();
+ },
+
+
+ // Overflow
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ applyOverflow: function() {
+ this.scrollEl.css({
+ 'overflow-x': this.overflowX,
+ 'overflow-y': this.overflowY
+ });
+ },
+
+
+ // Causes any 'auto' overflow values to resolves to 'scroll' or 'hidden'.
+ // Useful for preserving scrollbar widths regardless of future resizes.
+ // Can pass in scrollbarWidths for optimization.
+ lockOverflow: function(scrollbarWidths) {
+ var overflowX = this.overflowX;
+ var overflowY = this.overflowY;
+
+ scrollbarWidths = scrollbarWidths || this.getScrollbarWidths();
+
+ if (overflowX === 'auto') {
+ overflowX = (
+ scrollbarWidths.top || scrollbarWidths.bottom || // horizontal scrollbars?
+ // OR scrolling pane with massless scrollbars?
+ this.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth
+ // subtract 1 because of IE off-by-one issue
+ ) ? 'scroll' : 'hidden';
+ }
+
+ if (overflowY === 'auto') {
+ overflowY = (
+ scrollbarWidths.left || scrollbarWidths.right || // vertical scrollbars?
+ // OR scrolling pane with massless scrollbars?
+ this.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight
+ // subtract 1 because of IE off-by-one issue
+ ) ? 'scroll' : 'hidden';
+ }
+
+ this.scrollEl.css({ 'overflow-x': overflowX, 'overflow-y': overflowY });
+ },
+
+
+ // Getters / Setters
+ // -----------------------------------------------------------------------------------------------------------------
+
+
+ setHeight: function(height) {
+ this.scrollEl.height(height);
+ },
+
+
+ getScrollTop: function() {
+ return this.scrollEl.scrollTop();
+ },
+
+
+ setScrollTop: function(top) {
+ this.scrollEl.scrollTop(top);
+ },
+
+
+ getClientWidth: function() {
+ return this.scrollEl[0].clientWidth;
+ },
+
+
+ getClientHeight: function() {
+ return this.scrollEl[0].clientHeight;
+ },
+
+
+ getScrollbarWidths: function() {
+ return getScrollbarWidths(this.scrollEl);
+ }
+
+});
+
+;;
+
var Calendar = FC.Calendar = Class.extend({
dirDefaults: null, // option defaults related to LTR or RTL
@@ -8608,7 +9304,7 @@ var Calendar = FC.Calendar = Class.extend({
});
-Calendar.mixin(Emitter);
+Calendar.mixin(EmitterMixin);
function Calendar_constructor(element, overrides) {
@@ -9369,7 +10065,9 @@ Calendar.defaults = {
dayPopoverFormat: 'LL',
handleWindowResize: true,
- windowResizeDelay: 200 // milliseconds before an updateSize happens
+ windowResizeDelay: 200, // milliseconds before an updateSize happens
+
+ longPressDelay: 1000
};
@@ -10368,6 +11066,8 @@ function EventManager(options) { // assumed to be a calendar
assignDatesToEvent(start, end, allDay, out);
}
+ t.normalizeEvent(out); // hook for external use. a prototype method
+
return out;
}
@@ -10900,6 +11600,12 @@ function EventManager(options) { // assumed to be a calendar
}
+// hook for external libs to manipulate event properties upon creation.
+// should manipulate the event in-place.
+Calendar.prototype.normalizeEvent = function(event) {
+};
+
+
// Returns a list of events that the given event should be compared against when being considered for a move to
// the specified span. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar.
Calendar.prototype.getPeerEvents = function(span, event) {
@@ -10937,6 +11643,8 @@ function backupEventDates(event) {
var BasicView = FC.BasicView = View.extend({
+ scroller: null,
+
dayGridClass: DayGrid, // class the dayGrid will be instantiated from (overridable by subclasses)
dayGrid: null, // the main subcomponent that does most of the heavy lifting
@@ -10951,6 +11659,11 @@ var BasicView = FC.BasicView = View.extend({
initialize: function() {
this.dayGrid = this.instantiateDayGrid();
+
+ this.scroller = new Scroller({
+ overflowX: 'hidden',
+ overflowY: 'auto'
+ });
},
@@ -11003,9 +11716,12 @@ var BasicView = FC.BasicView = View.extend({
this.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());
this.renderHead();
- this.scrollerEl = this.el.find('.fc-day-grid-container');
+ this.scroller.render();
+ var dayGridContainerEl = this.scroller.el.addClass('fc-day-grid-container');
+ var dayGridEl = $('<div class="fc-day-grid" />').appendTo(dayGridContainerEl);
+ this.el.find('.fc-body > tr > td').append(dayGridContainerEl);
- this.dayGrid.setElement(this.el.find('.fc-day-grid'));
+ this.dayGrid.setElement(dayGridEl);
this.dayGrid.renderDates(this.hasRigidRows());
},
@@ -11024,6 +11740,7 @@ var BasicView = FC.BasicView = View.extend({
unrenderDates: function() {
this.dayGrid.unrenderDates();
this.dayGrid.removeElement();
+ this.scroller.destroy();
},
@@ -11044,11 +11761,7 @@ var BasicView = FC.BasicView = View.extend({
'</thead>' +
'<tbody class="fc-body">' +
'<tr>' +
- '<td class="' + this.widgetContentClass + '">' +
- '<div class="fc-day-grid-container">' +
- '<div class="fc-day-grid"/>' +
- '</div>' +
- '</td>' +
+ '<td class="' + this.widgetContentClass + '"></td>' +
'</tr>' +
'</tbody>' +
'</table>';
@@ -11091,9 +11804,10 @@ var BasicView = FC.BasicView = View.extend({
setHeight: function(totalHeight, isAuto) {
var eventLimit = this.opt('eventLimit');
var scrollerHeight;
+ var scrollbarWidths;
// reset all heights to be natural
- unsetScroller(this.scrollerEl);
+ this.scroller.clear();
uncompensateScroll(this.headRowEl);
this.dayGrid.removeSegPopover(); // kill the "more" popover if displayed
@@ -11103,6 +11817,8 @@ var BasicView = FC.BasicView = View.extend({
this.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after
}
+ // distribute the height to the rows
+ // (totalHeight is a "recommended" value if isAuto)
scrollerHeight = this.computeScrollerHeight(totalHeight);
this.setGridHeight(scrollerHeight, isAuto);
@@ -11111,17 +11827,33 @@ var BasicView = FC.BasicView = View.extend({
this.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set
}
- if (!isAuto && setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars?
+ if (!isAuto) { // should we force dimensions of the scroll container?
- compensateScroll(this.headRowEl, getScrollbarWidths(this.scrollerEl));
+ this.scroller.setHeight(scrollerHeight);
+ scrollbarWidths = this.scroller.getScrollbarWidths();
- // doing the scrollbar compensation might have created text overflow which created more height. redo
- scrollerHeight = this.computeScrollerHeight(totalHeight);
- this.scrollerEl.height(scrollerHeight);
+ if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?
+
+ compensateScroll(this.headRowEl, scrollbarWidths);
+
+ // doing the scrollbar compensation might have created text overflow which created more height. redo
+ scrollerHeight = this.computeScrollerHeight(totalHeight);
+ this.scroller.setHeight(scrollerHeight);
+ }
+
+ // guarantees the same scrollbar widths
+ this.scroller.lockOverflow(scrollbarWidths);
}
},
+ // given a desired total height of the view, returns what the height of the scroller should be
+ computeScrollerHeight: function(totalHeight) {
+ return totalHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ },
+
+
// Sets the height of just the DayGrid component in this view
setGridHeight: function(height, isAuto) {
if (isAuto) {
@@ -11133,6 +11865,20 @@ var BasicView = FC.BasicView = View.extend({
},
+ /* Scroll
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ queryScroll: function() {
+ return this.scroller.getScrollTop();
+ },
+
+
+ setScroll: function(top) {
+ this.scroller.setScrollTop(top);
+ },
+
+
/* Hit Areas
------------------------------------------------------------------------------------------------------------------*/
// forward all hit-related method calls to dayGrid
@@ -11368,6 +12114,8 @@ fcViews.month = {
var AgendaView = FC.AgendaView = View.extend({
+ scroller: null,
+
timeGridClass: TimeGrid, // class used to instantiate the timeGrid. subclasses can override
timeGrid: null, // the main time-grid subcomponent of this view
@@ -11377,11 +12125,10 @@ var AgendaView = FC.AgendaView = View.extend({
axisWidth: null, // the width of the time axis running down the side
headContainerEl: null, // div that hold's the timeGrid's rendered date header
- noScrollRowEls: null, // set of fake row elements that must compensate when scrollerEl has scrollbars
+ noScrollRowEls: null, // set of fake row elements that must compensate when scroller has scrollbars
// when the time-grid isn't tall enough to occupy the given height, we render an <hr> underneath
bottomRuleEl: null,
- bottomRuleHeight: null,
initialize: function() {
@@ -11390,6 +12137,11 @@ var AgendaView = FC.AgendaView = View.extend({
if (this.opt('allDaySlot')) { // should we display the "all-day" area?
this.dayGrid = this.instantiateDayGrid(); // the all-day subcomponent of this view
}
+
+ this.scroller = new Scroller({
+ overflowX: 'hidden',
+ overflowY: 'auto'
+ });
},
@@ -11430,10 +12182,12 @@ var AgendaView = FC.AgendaView = View.extend({
this.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml());
this.renderHead();
- // the element that wraps the time-grid that will probably scroll
- this.scrollerEl = this.el.find('.fc-time-grid-container');
+ this.scroller.render();
+ var timeGridWrapEl = this.scroller.el.addClass('fc-time-grid-container');
+ var timeGridEl = $('<div class="fc-time-grid" />').appendTo(timeGridWrapEl);
+ this.el.find('.fc-body > tr > td').append(timeGridWrapEl);
- this.timeGrid.setElement(this.el.find('.fc-time-grid'));
+ this.timeGrid.setElement(timeGridEl);
this.timeGrid.renderDates();
// the <hr> that sometimes displays under the time-grid
@@ -11470,6 +12224,8 @@ var AgendaView = FC.AgendaView = View.extend({
this.dayGrid.unrenderDates();
this.dayGrid.removeElement();
}
+
+ this.scroller.destroy();
},
@@ -11491,9 +12247,6 @@ var AgendaView = FC.AgendaView = View.extend({
'<hr class="fc-divider ' + this.widgetHeaderClass + '"/>' :
''
) +
- '<div class="fc-time-grid-container">' +
- '<div class="fc-time-grid"/>' +
- '</div>' +
'</td>' +
'</tr>' +
'</tbody>' +
@@ -11573,16 +12326,11 @@ var AgendaView = FC.AgendaView = View.extend({
setHeight: function(totalHeight, isAuto) {
var eventLimit;
var scrollerHeight;
-
- if (this.bottomRuleHeight === null) {
- // calculate the height of the rule the very first time
- this.bottomRuleHeight = this.bottomRuleEl.outerHeight();
- }
- this.bottomRuleEl.hide(); // .show() will be called later if this <hr> is necessary
+ var scrollbarWidths;
// reset all dimensions back to the original state
- this.scrollerEl.css('overflow', '');
- unsetScroller(this.scrollerEl);
+ this.bottomRuleEl.hide(); // .show() will be called later if this <hr> is necessary
+ this.scroller.clear(); // sets height to 'auto' and clears overflow
uncompensateScroll(this.noScrollRowEls);
// limit number of events in the all-day area
@@ -11598,28 +12346,46 @@ var AgendaView = FC.AgendaView = View.extend({
}
}
- if (!isAuto) { // should we force dimensions of the scroll container, or let the contents be natural height?
+ if (!isAuto) { // should we force dimensions of the scroll container?
scrollerHeight = this.computeScrollerHeight(totalHeight);
- if (setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars?
+ this.scroller.setHeight(scrollerHeight);
+ scrollbarWidths = this.scroller.getScrollbarWidths();
+
+ if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?
// make the all-day and header rows lines up
- compensateScroll(this.noScrollRowEls, getScrollbarWidths(this.scrollerEl));
+ compensateScroll(this.noScrollRowEls, scrollbarWidths);
// the scrollbar compensation might have changed text flow, which might affect height, so recalculate
// and reapply the desired height to the scroller.
scrollerHeight = this.computeScrollerHeight(totalHeight);
- this.scrollerEl.height(scrollerHeight);
+ this.scroller.setHeight(scrollerHeight);
}
- else { // no scrollbars
- // still, force a height and display the bottom rule (marks the end of day)
- this.scrollerEl.height(scrollerHeight).css('overflow', 'hidden'); // in case <hr> goes outside
+
+ // guarantees the same scrollbar widths
+ this.scroller.lockOverflow(scrollbarWidths);
+
+ // if there's any space below the slats, show the horizontal rule.
+ // this won't cause any new overflow, because lockOverflow already called.
+ if (this.timeGrid.getTotalSlatHeight() < scrollerHeight) {
this.bottomRuleEl.show();
}
}
},
+ // given a desired total height of the view, returns what the height of the scroller should be
+ computeScrollerHeight: function(totalHeight) {
+ return totalHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ },
+
+
+ /* Scroll
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
// Computes the initial pre-configured scroll state prior to allowing the user to change it
computeInitialScroll: function() {
var scrollTime = moment.duration(this.opt('scrollTime'));
@@ -11636,6 +12402,16 @@ var AgendaView = FC.AgendaView = View.extend({
},
+ queryScroll: function() {
+ return this.scroller.getScrollTop();
+ },
+
+
+ setScroll: function(top) {
+ this.scroller.setScrollTop(top);
+ },
+
+
/* Hit Areas
------------------------------------------------------------------------------------------------------------------*/
// forward all hit-related method calls to the grids (dayGrid might not be defined)
diff --git a/library/fullcalendar/fullcalendar.min.css b/library/fullcalendar/fullcalendar.min.css
index 2dc7e9f8a..3a251eb19 100644
--- a/library/fullcalendar/fullcalendar.min.css
+++ b/library/fullcalendar/fullcalendar.min.css
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.6.1 Stylesheet
+ * FullCalendar v2.7.3 Stylesheet
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
- */.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1;opacity:.3;filter:alpha(opacity=30)}.fc-bgevent{background:#8fdf82;opacity:.3;filter:alpha(opacity=30)}.fc-nonbusiness{background:#d7d7d7}.fc-icon{display:inline-block;width:1em;height:1em;line-height:1em;font-size:1em;text-align:center;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative;margin:0 -1em}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%;left:3%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%;left:-3%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%;left:-2%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%;left:2%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-default{background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{overflow-y:scroll;overflow-x:hidden}.fc-scroller>*{position:relative;width:100%;overflow:hidden}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;background-color:#3a87ad;font-weight:400}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25;filter:alpha(opacity=25)}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:3}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-h-event .fc-resizer{top:-1px;bottom:-1px;left:-1px;right:-1px;width:5px}.fc-ltr .fc-h-event .fc-start-resizer,.fc-ltr .fc-h-event .fc-start-resizer:after,.fc-ltr .fc-h-event .fc-start-resizer:before,.fc-rtl .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-end-resizer:after,.fc-rtl .fc-h-event .fc-end-resizer:before{right:auto;cursor:w-resize}.fc-ltr .fc-h-event .fc-end-resizer,.fc-ltr .fc-h-event .fc-end-resizer:after,.fc-ltr .fc-h-event .fc-end-resizer:before,.fc-rtl .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-start-resizer:after,.fc-rtl .fc-h-event .fc-start-resizer:before{left:auto;cursor:e-resize}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-day-grid-event .fc-resizer{left:-3px;right:-3px;width:7px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-toolbar{text-align:center;margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0 2px}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding-top:2px;padding-bottom:2px}.fc-basic-view .fc-week-number{text-align:center}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-ltr .fc-basic-view .fc-day-number{text-align:right}.fc-rtl .fc-basic-view .fc-day-number{text-align:left}.fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event .fc-resizer:after{content:"="}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent} \ No newline at end of file
+ * (c) 2016 Adam Shaw
+ */.fc-bgevent,.fc-highlight{opacity:.3;filter:alpha(opacity=30)}.fc-icon,body .fc{font-size:1em}.fc-button-group,.fc-icon{display:inline-block}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-icon,.fc-unselectable{-khtml-user-select:none;-webkit-touch-callout:none}.fc .fc-axis,.fc button,.fc-time-grid-event .fc-time,.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}.fc th,.fc-basic-view .fc-week-number,.fc-icon,.fc-toolbar{text-align:center}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1}.fc-bgevent{background:#8fdf82}.fc-nonbusiness{background:#d7d7d7}.fc-icon{height:1em;line-height:1em;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close{cursor:pointer}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;background-color:#3a87ad;font-weight:400}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25;filter:alpha(opacity=25)}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}.fc-day-grid-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25;filter:alpha(opacity=25)}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fc-toolbar{margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0 2px}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding-top:2px;padding-bottom:2px}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-ltr .fc-basic-view .fc-day-number{text-align:right}.fc-rtl .fc-basic-view .fc-day-number{text-align:left}.fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent} \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.js b/library/fullcalendar/fullcalendar.min.js
index 5c3cce29f..f27380229 100644
--- a/library/fullcalendar/fullcalendar.min.js
+++ b/library/fullcalendar/fullcalendar.min.js
@@ -1,9 +1,9 @@
/*!
- * FullCalendar v2.6.1
+ * FullCalendar v2.7.3
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
+ * (c) 2016 Adam Shaw
*/
-!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){function c(a){return Q(a,Ra)}function d(b){var c,d={views:b.views||{}};return a.each(b,function(b,e){"views"!=b&&(a.isPlainObject(e)&&!/(time|duration|interval)$/i.test(b)&&-1==a.inArray(b,Ra)?(c=null,a.each(e,function(a,e){/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a)?(d.views[a]||(d.views[a]={}),d.views[a][b]=e):(c||(c={}),c[a]=e)}),c&&(d[b]=c)):d[b]=e)}),d}function e(a,b){b.left&&a.css({"border-left-width":1,"margin-left":b.left-1}),b.right&&a.css({"border-right-width":1,"margin-right":b.right-1})}function f(a){a.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function g(){a("body").addClass("fc-not-allowed")}function h(){a("body").removeClass("fc-not-allowed")}function i(b,c,d){var e=Math.floor(c/b.length),f=Math.floor(c-e*(b.length-1)),g=[],h=[],i=[],k=0;j(b),b.each(function(c,d){var j=c===b.length-1?f:e,l=a(d).outerHeight(!0);j>l?(g.push(d),h.push(l),i.push(a(d).height())):k+=l}),d&&(c-=k,e=Math.floor(c/g.length),f=Math.floor(c-e*(g.length-1))),a(g).each(function(b,c){var d=b===g.length-1?f:e,j=h[b],k=i[b],l=d-(j-k);d>j&&a(c).height(l)})}function j(a){a.height("")}function k(b){var c=0;return b.find("> span").each(function(b,d){var e=a(d).outerWidth();e>c&&(c=e)}),c++,b.width(c),c}function l(a,b){return a.height(b).addClass("fc-scroller"),a[0].scrollHeight-1>a[0].clientHeight?!0:(m(a),!1)}function m(a){a.height("").removeClass("fc-scroller")}function n(b){var c=b.css("position"),d=b.parents().filter(function(){var b=a(this);return/(auto|scroll)/.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&d.length?d:a(b[0].ownerDocument||document)}function o(a){var b=a.offset();return{left:b.left,right:b.left+a.outerWidth(),top:b.top,bottom:b.top+a.outerHeight()}}function p(a){var b=a.offset(),c=r(a),d=b.left+u(a,"border-left-width")+c.left,e=b.top+u(a,"border-top-width")+c.top;return{left:d,right:d+a[0].clientWidth,top:e,bottom:e+a[0].clientHeight}}function q(a){var b=a.offset(),c=b.left+u(a,"border-left-width")+u(a,"padding-left"),d=b.top+u(a,"border-top-width")+u(a,"padding-top");return{left:c,right:c+a.width(),top:d,bottom:d+a.height()}}function r(a){var b=a.innerWidth()-a[0].clientWidth,c={left:0,right:0,top:0,bottom:a.innerHeight()-a[0].clientHeight};return s()&&"rtl"==a.css("direction")?c.left=b:c.right=b,c}function s(){return null===Sa&&(Sa=t()),Sa}function t(){var b=a("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),c=b.children(),d=c.offset().left>b.offset().left;return b.remove(),d}function u(a,b){return parseFloat(a.css(b))||0}function v(a){return 1==a.which&&!a.ctrlKey}function w(a,b){var c={left:Math.max(a.left,b.left),right:Math.min(a.right,b.right),top:Math.max(a.top,b.top),bottom:Math.min(a.bottom,b.bottom)};return c.left<c.right&&c.top<c.bottom?c:!1}function x(a,b){return{left:Math.min(Math.max(a.left,b.left),b.right),top:Math.min(Math.max(a.top,b.top),b.bottom)}}function y(a){return{left:(a.left+a.right)/2,top:(a.top+a.bottom)/2}}function z(a,b){return{left:a.left-b.left,top:a.top-b.top}}function A(b){var c,d,e=[],f=[];for("string"==typeof b?f=b.split(/\s*,\s*/):"function"==typeof b?f=[b]:a.isArray(b)&&(f=b),c=0;c<f.length;c++)d=f[c],"string"==typeof d?e.push("-"==d.charAt(0)?{field:d.substring(1),order:-1}:{field:d,order:1}):"function"==typeof d&&e.push({func:d});return e}function B(a,b,c){var d,e;for(d=0;d<c.length;d++)if(e=C(a,b,c[d]))return e;return 0}function C(a,b,c){return c.func?c.func(a,b):D(a[c.field],b[c.field])*(c.order||1)}function D(b,c){return b||c?null==c?-1:null==b?1:"string"===a.type(b)||"string"===a.type(c)?String(b).localeCompare(String(c)):b-c:0}function E(a,b){var c,d,e,f,g=a.start,h=a.end,i=b.start,j=b.end;return h>i&&j>g?(g>=i?(c=g.clone(),e=!0):(c=i.clone(),e=!1),j>=h?(d=h.clone(),f=!0):(d=j.clone(),f=!1),{start:c,end:d,isStart:e,isEnd:f}):void 0}function F(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days"),ms:a.time()-c.time()})}function G(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days")})}function H(a,c,d){return b.duration(Math.round(a.diff(c,d,!0)),d)}function I(a,b){var c,d,e;for(c=0;c<Ua.length&&(d=Ua[c],e=J(d,a,b),!(e>=1&&ba(e)));c++);return d}function J(a,c,d){return null!=d?d.diff(c,a,!0):b.isDuration(c)?c.as(a):c.end.diff(c.start,a,!0)}function K(a,b,c){var d;return N(c)?(b-a)/c:(d=c.asMonths(),Math.abs(d)>=1&&ba(d)?b.diff(a,"months",!0)/d:b.diff(a,"days",!0)/c.asDays())}function L(a,b){var c,d;return N(a)||N(b)?a/b:(c=a.asMonths(),d=b.asMonths(),Math.abs(c)>=1&&ba(c)&&Math.abs(d)>=1&&ba(d)?c/d:a.asDays()/b.asDays())}function M(a,c){var d;return N(a)?b.duration(a*c):(d=a.asMonths(),Math.abs(d)>=1&&ba(d)?b.duration({months:d*c}):b.duration({days:a.asDays()*c}))}function N(a){return Boolean(a.hours()||a.minutes()||a.seconds()||a.milliseconds())}function O(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function P(a){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)}function Q(a,b){var c,d,e,f,g,h,i={};if(b)for(c=0;c<b.length;c++){for(d=b[c],e=[],f=a.length-1;f>=0;f--)if(g=a[f][d],"object"==typeof g)e.unshift(g);else if(void 0!==g){i[d]=g;break}e.length&&(i[d]=Q(e))}for(c=a.length-1;c>=0;c--){h=a[c];for(d in h)d in i||(i[d]=h[d])}return i}function R(a){var b=function(){};return b.prototype=a,new b}function S(a,b){for(var c in a)U(a,c)&&(b[c]=a[c])}function T(a,b){var c,d,e=["constructor","toString","valueOf"];for(c=0;c<e.length;c++)d=e[c],a[d]!==Object.prototype[d]&&(b[d]=a[d])}function U(a,b){return Ya.call(a,b)}function V(b){return/undefined|null|boolean|number|string/.test(a.type(b))}function W(b,c,d){if(a.isFunction(b)&&(b=[b]),b){var e,f;for(e=0;e<b.length;e++)f=b[e].apply(c,d)||f;return f}}function X(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]}function Y(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Z(a){return a.replace(/&.*?;/g,"")}function $(b){var c=[];return a.each(b,function(a,b){null!=b&&c.push(a+":"+b)}),c.join(";")}function _(a){return a.charAt(0).toUpperCase()+a.slice(1)}function aa(a,b){return a-b}function ba(a){return a%1===0}function ca(a,b){var c=a[b];return function(){return c.apply(a,arguments)}}function da(a,b){var c,d,e,f,g=function(){var h=+new Date-f;b>h&&h>0?c=setTimeout(g,b-h):(c=null,a.apply(e,d),c||(e=d=null))};return function(){e=this,d=arguments,f=+new Date,c||(c=setTimeout(g,b))}}function ea(c,d,e){var f,g,h,i,j=c[0],k=1==c.length&&"string"==typeof j;return b.isMoment(j)?(i=b.apply(null,c),ga(j,i)):O(j)||void 0===j?i=b.apply(null,c):(f=!1,g=!1,k?Za.test(j)?(j+="-01",c=[j],f=!0,g=!0):(h=$a.exec(j))&&(f=!h[5],g=!0):a.isArray(j)&&(g=!0),i=d||f?b.utc.apply(b,c):b.apply(null,c),f?(i._ambigTime=!0,i._ambigZone=!0):e&&(g?i._ambigZone=!0:k&&(i.utcOffset?i.utcOffset(j):i.zone(j)))),i._fullCalendar=!0,i}function fa(a,c){var d,e,f=!1,g=!1,h=a.length,i=[];for(d=0;h>d;d++)e=a[d],b.isMoment(e)||(e=Pa.moment.parseZone(e)),f=f||e._ambigTime,g=g||e._ambigZone,i.push(e);for(d=0;h>d;d++)e=i[d],c||!f||e._ambigTime?g&&!e._ambigZone&&(i[d]=e.clone().stripZone()):i[d]=e.clone().stripTime();return i}function ga(a,b){a._ambigTime?b._ambigTime=!0:b._ambigTime&&(b._ambigTime=!1),a._ambigZone?b._ambigZone=!0:b._ambigZone&&(b._ambigZone=!1)}function ha(a,b){a.year(b[0]||0).month(b[1]||0).date(b[2]||0).hours(b[3]||0).minutes(b[4]||0).seconds(b[5]||0).milliseconds(b[6]||0)}function ia(a,b){return ab.format.call(a,b)}function ja(a,b){return ka(a,pa(b))}function ka(a,b){var c,d="";for(c=0;c<b.length;c++)d+=la(a,b[c]);return d}function la(a,b){var c,d;return"string"==typeof b?b:(c=b.token)?bb[c]?bb[c](a):ia(a,c):b.maybe&&(d=ka(a,b.maybe),d.match(/[1-9]/))?d:""}function ma(a,b,c,d,e){var f;return a=Pa.moment.parseZone(a),b=Pa.moment.parseZone(b),f=(a.localeData||a.lang).call(a),c=f.longDateFormat(c)||c,d=d||" - ",na(a,b,pa(c),d,e)}function na(a,b,c,d,e){var f,g,h,i,j=a.clone().stripZone(),k=b.clone().stripZone(),l="",m="",n="",o="",p="";for(g=0;g<c.length&&(f=oa(a,b,j,k,c[g]),f!==!1);g++)l+=f;for(h=c.length-1;h>g&&(f=oa(a,b,j,k,c[h]),f!==!1);h--)m=f+m;for(i=g;h>=i;i++)n+=la(a,c[i]),o+=la(b,c[i]);return(n||o)&&(p=e?o+d+n:n+d+o),l+p+m}function oa(a,b,c,d,e){var f,g;return"string"==typeof e?e:(f=e.token)&&(g=cb[f.charAt(0)],g&&c.isSame(d,g))?ia(a,f):!1}function pa(a){return a in db?db[a]:db[a]=qa(a)}function qa(a){for(var b,c=[],d=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;b=d.exec(a);)b[1]?c.push(b[1]):b[2]?c.push({maybe:qa(b[2])}):b[3]?c.push({token:b[3]}):b[5]&&c.push(b[5]);return c}function ra(){}function sa(a,b){var c;return U(b,"constructor")&&(c=b.constructor),"function"!=typeof c&&(c=b.constructor=function(){a.apply(this,arguments)}),c.prototype=R(a.prototype),S(b,c.prototype),T(b,c.prototype),S(a,c),c}function ta(a,b){S(b.prototype||b,a.prototype)}function ua(a,b){return a||b?a&&b?a.component===b.component&&va(a,b)&&va(b,a):!1:!0}function va(a,b){for(var c in a)if(!/^(component|left|right|top|bottom)$/.test(c)&&a[c]!==b[c])return!1;return!0}function wa(a){var b=ya(a);return"background"===b||"inverse-background"===b}function xa(a){return"inverse-background"===ya(a)}function ya(a){return X((a.source||{}).rendering,a.rendering)}function za(a){var b,c,d={};for(b=0;b<a.length;b++)c=a[b],(d[c._id]||(d[c._id]=[])).push(c);return d}function Aa(a,b){return a.start-b.start}function Ba(c){var d,e,f,g,h=Pa.dataAttrPrefix;return h&&(h+="-"),d=c.data(h+"event")||null,d&&(d="object"==typeof d?a.extend({},d):{},e=d.start,null==e&&(e=d.time),f=d.duration,g=d.stick,delete d.start,delete d.time,delete d.duration,delete d.stick),null==e&&(e=c.data(h+"start")),null==e&&(e=c.data(h+"time")),null==f&&(f=c.data(h+"duration")),null==g&&(g=c.data(h+"stick")),e=null!=e?b.duration(e):null,f=null!=f?b.duration(f):null,g=Boolean(g),{eventProps:d,startTime:e,duration:f,stick:g}}function Ca(a,b){var c,d;for(c=0;c<b.length;c++)if(d=b[c],d.leftCol<=a.rightCol&&d.rightCol>=a.leftCol)return!0;return!1}function Da(a,b){return a.leftCol-b.leftCol}function Ea(a){var b,c,d,e=[];for(b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ha(c,e[d]).length;d++);c.level=d,(e[d]||(e[d]=[])).push(c)}return e}function Fa(a){var b,c,d,e,f;for(b=0;b<a.length;b++)for(c=a[b],d=0;d<c.length;d++)for(e=c[d],e.forwardSegs=[],f=b+1;f<a.length;f++)Ha(e,a[f],e.forwardSegs)}function Ga(a){var b,c,d=a.forwardSegs,e=0;if(void 0===a.forwardPressure){for(b=0;b<d.length;b++)c=d[b],Ga(c),e=Math.max(e,1+c.forwardPressure);a.forwardPressure=e}}function Ha(a,b,c){c=c||[];for(var d=0;d<b.length;d++)Ia(a,b[d])&&c.push(b[d]);return c}function Ia(a,b){return a.bottom>b.top&&a.top<b.bottom}function Ja(c,d){function e(){U?h()&&(k(),i()):f()}function f(){V=O.theme?"ui":"fc",c.addClass("fc"),O.isRTL?c.addClass("fc-rtl"):c.addClass("fc-ltr"),O.theme?c.addClass("ui-widget"):c.addClass("fc-unthemed"),U=a("<div class='fc-view-container'/>").prependTo(c),S=N.header=new Ma(N,O),T=S.render(),T&&c.prepend(T),i(O.defaultView),O.handleWindowResize&&(Y=da(m,O.windowResizeDelay),a(window).resize(Y))}function g(){W&&W.removeElement(),S.removeElement(),U.remove(),c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),Y&&a(window).unbind("resize",Y)}function h(){return c.is(":visible")}function i(b){ca++,W&&b&&W.type!==b&&(S.deactivateButton(W.type),H(),W.removeElement(),W=N.view=null),!W&&b&&(W=N.view=ba[b]||(ba[b]=N.instantiateView(b)),W.setElement(a("<div class='fc-view fc-"+b+"-view' />").appendTo(U)),S.activateButton(b)),W&&(Z=W.massageCurrentDate(Z),W.displaying&&Z.isWithin(W.intervalStart,W.intervalEnd)||h()&&(W.display(Z),I(),u(),v(),q())),I(),ca--}function j(a){return h()?(a&&l(),ca++,W.updateSize(!0),ca--,!0):void 0}function k(){h()&&l()}function l(){X="number"==typeof O.contentHeight?O.contentHeight:"number"==typeof O.height?O.height-(T?T.outerHeight(!0):0):Math.round(U.width()/Math.max(O.aspectRatio,.5))}function m(a){!ca&&a.target===window&&W.start&&j(!0)&&W.trigger("windowResize",aa)}function n(){p(),r()}function o(){h()&&(H(),W.displayEvents(ea),I())}function p(){H(),W.clearEvents(),I()}function q(){!O.lazyFetching||$(W.start,W.end)?r():o()}function r(){_(W.start,W.end)}function s(a){ea=a,o()}function t(){o()}function u(){S.updateTitle(W.title)}function v(){var a=N.getNow();a.isWithin(W.intervalStart,W.intervalEnd)?S.disableButton("today"):S.enableButton("today")}function w(a,b){W.select(N.buildSelectSpan.apply(N,arguments))}function x(){W&&W.unselect()}function y(){Z=W.computePrevDate(Z),i()}function z(){Z=W.computeNextDate(Z),i()}function A(){Z.add(-1,"years"),i()}function B(){Z.add(1,"years"),i()}function C(){Z=N.getNow(),i()}function D(a){Z=N.moment(a).stripZone(),i()}function E(a){Z.add(b.duration(a)),i()}function F(a,b){var c;b=b||"day",c=N.getViewSpec(b)||N.getUnitViewSpec(b),Z=a.clone(),i(c?c.type:null)}function G(){return N.applyTimezone(Z)}function H(){U.css({width:"100%",height:U.height(),overflow:"hidden"})}function I(){U.css({width:"",height:"",overflow:""})}function J(){return N}function K(){return W}function L(a,b){return void 0===b?O[a]:void(("height"==a||"contentHeight"==a||"aspectRatio"==a)&&(O[a]=b,j(!0)))}function M(a,b){var c=Array.prototype.slice.call(arguments,2);return b=b||aa,this.triggerWith(a,b,c),O[a]?O[a].apply(b,c):void 0}var N=this;N.initOptions(d||{});var O=this.options;N.render=e,N.destroy=g,N.refetchEvents=n,N.reportEvents=s,N.reportEventChange=t,N.rerenderEvents=o,N.changeView=i,N.select=w,N.unselect=x,N.prev=y,N.next=z,N.prevYear=A,N.nextYear=B,N.today=C,N.gotoDate=D,N.incrementDate=E,N.zoomTo=F,N.getDate=G,N.getCalendar=J,N.getView=K,N.option=L,N.trigger=M;var P=R(La(O.lang));if(O.monthNames&&(P._months=O.monthNames),O.monthNamesShort&&(P._monthsShort=O.monthNamesShort),O.dayNames&&(P._weekdays=O.dayNames),O.dayNamesShort&&(P._weekdaysShort=O.dayNamesShort),null!=O.firstDay){var Q=R(P._week);Q.dow=O.firstDay,P._week=Q}P._fullCalendar_weekCalc=function(a){return"function"==typeof a?a:"local"===a?a:"iso"===a||"ISO"===a?"ISO":void 0}(O.weekNumberCalculation),N.defaultAllDayEventDuration=b.duration(O.defaultAllDayEventDuration),N.defaultTimedEventDuration=b.duration(O.defaultTimedEventDuration),N.moment=function(){var a;return"local"===O.timezone?(a=Pa.moment.apply(null,arguments),a.hasTime()&&a.local()):a="UTC"===O.timezone?Pa.moment.utc.apply(null,arguments):Pa.moment.parseZone.apply(null,arguments),"_locale"in a?a._locale=P:a._lang=P,a},N.getIsAmbigTimezone=function(){return"local"!==O.timezone&&"UTC"!==O.timezone},N.applyTimezone=function(a){if(!a.hasTime())return a.clone();var b,c=N.moment(a.toArray()),d=a.time()-c.time();return d&&(b=c.clone().add(d),a.time()-b.time()===0&&(c=b)),c},N.getNow=function(){var a=O.now;return"function"==typeof a&&(a=a()),N.moment(a).stripZone()},N.getEventEnd=function(a){return a.end?a.end.clone():N.getDefaultEventEnd(a.allDay,a.start)},N.getDefaultEventEnd=function(a,b){var c=b.clone();return a?c.stripTime().add(N.defaultAllDayEventDuration):c.add(N.defaultTimedEventDuration),N.getIsAmbigTimezone()&&c.stripZone(),c},N.humanizeDuration=function(a){return(a.locale||a.lang).call(a,O.lang).humanize()},Na.call(N,O);var S,T,U,V,W,X,Y,Z,$=N.isFetchNeeded,_=N.fetchEvents,aa=c[0],ba={},ca=0,ea=[];Z=null!=O.defaultDate?N.moment(O.defaultDate).stripZone():N.getNow(),N.getSuggestedViewHeight=function(){return void 0===X&&k(),X},N.isHeightAuto=function(){return"auto"===O.contentHeight||"auto"===O.height},N.freezeContentHeight=H,N.unfreezeContentHeight=I,N.initialize()}function Ka(b){a.each(tb,function(a,c){null==b[a]&&(b[a]=c(b))})}function La(a){var c=b.localeData||b.langData;return c.call(b,a)||c.call(b,"en")}function Ma(b,c){function d(){var b=c.header;return n=c.theme?"ui":"fc",b?o=a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>'):void 0}function e(){o.remove(),o=a()}function f(d){var e=a('<div class="fc-'+d+'"/>'),f=c.header[d];return f&&a.each(f.split(" "),function(d){var f,g=a(),h=!0;a.each(this.split(","),function(d,e){var f,i,j,k,l,m,o,q,r,s;"title"==e?(g=g.add(a("<h2>&nbsp;</h2>")),h=!1):((f=(b.options.customButtons||{})[e])?(j=function(a){f.click&&f.click.call(s[0],a)},k="",l=f.text):(i=b.getViewSpec(e))?(j=function(){b.changeView(e)},p.push(e),k=i.buttonTextOverride,l=i.buttonTextDefault):b[e]&&(j=function(){b[e]()},k=(b.overrides.buttonText||{})[e],l=c.buttonText[e]),j&&(m=f?f.themeIcon:c.themeButtonIcons[e],o=f?f.icon:c.buttonIcons[e],q=k?Y(k):m&&c.theme?"<span class='ui-icon ui-icon-"+m+"'></span>":o&&!c.theme?"<span class='fc-icon fc-icon-"+o+"'></span>":Y(l),r=["fc-"+e+"-button",n+"-button",n+"-state-default"],s=a('<button type="button" class="'+r.join(" ")+'">'+q+"</button>").click(function(a){s.hasClass(n+"-state-disabled")||(j(a),(s.hasClass(n+"-state-active")||s.hasClass(n+"-state-disabled"))&&s.removeClass(n+"-state-hover"))}).mousedown(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-down")}).mouseup(function(){s.removeClass(n+"-state-down")}).hover(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-hover")},function(){s.removeClass(n+"-state-hover").removeClass(n+"-state-down")}),g=g.add(s)))}),h&&g.first().addClass(n+"-corner-left").end().last().addClass(n+"-corner-right").end(),g.length>1?(f=a("<div/>"),h&&f.addClass("fc-button-group"),f.append(g),e.append(f)):e.append(g)}),e}function g(a){o.find("h2").text(a)}function h(a){o.find(".fc-"+a+"-button").addClass(n+"-state-active")}function i(a){o.find(".fc-"+a+"-button").removeClass(n+"-state-active")}function j(a){o.find(".fc-"+a+"-button").attr("disabled","disabled").addClass(n+"-state-disabled")}function k(a){o.find(".fc-"+a+"-button").removeAttr("disabled").removeClass(n+"-state-disabled")}function l(){return p}var m=this;m.render=d,m.removeElement=e,m.updateTitle=g,m.activateButton=h,m.deactivateButton=i,m.disableButton=j,m.enableButton=k,m.getViewsWithButtons=l;var n,o=a(),p=[]}function Na(c){function d(a,b){return!L||L>a||b>M}function e(a,b){L=a,M=b,T=[];var c=++R,d=Q.length;S=d;for(var e=0;d>e;e++)f(Q[e],c)}function f(b,c){g(b,function(d){var e,f,g,h=a.isArray(b.events);if(c==R){if(d)for(e=0;e<d.length;e++)f=d[e],g=h?f:s(f,b),g&&T.push.apply(T,w(g));S--,S||N(T)}})}function g(b,d){var e,f,h=Pa.sourceFetchers;for(e=0;e<h.length;e++){if(f=h[e].call(K,b,L.clone(),M.clone(),c.timezone,d),f===!0)return;if("object"==typeof f)return void g(f,d)}var i=b.events;if(i)a.isFunction(i)?(K.pushLoading(),i.call(K,L.clone(),M.clone(),c.timezone,function(a){d(a),K.popLoading()})):a.isArray(i)?d(i):d();else{var j=b.url;if(j){var k,l=b.success,m=b.error,n=b.complete;k=a.isFunction(b.data)?b.data():b.data;var o=a.extend({},k||{}),p=X(b.startParam,c.startParam),q=X(b.endParam,c.endParam),r=X(b.timezoneParam,c.timezoneParam);p&&(o[p]=L.format()),q&&(o[q]=M.format()),c.timezone&&"local"!=c.timezone&&(o[r]=c.timezone),K.pushLoading(),a.ajax(a.extend({},ub,b,{data:o,success:function(b){b=b||[];var c=W(l,this,arguments);a.isArray(c)&&(b=c),d(b)},error:function(){W(m,this,arguments),d()},complete:function(){W(n,this,arguments),K.popLoading()}}))}else d()}}function h(a){var b=i(a);b&&(Q.push(b),S++,f(b,R))}function i(b){var c,d,e=Pa.sourceNormalizers;if(a.isFunction(b)||a.isArray(b)?c={events:b}:"string"==typeof b?c={url:b}:"object"==typeof b&&(c=a.extend({},b)),c){for(c.className?"string"==typeof c.className&&(c.className=c.className.split(/\s+/)):c.className=[],a.isArray(c.events)&&(c.origArray=c.events,c.events=a.map(c.events,function(a){return s(a,c)})),d=0;d<e.length;d++)e[d].call(K,c);return c}}function j(b){Q=a.grep(Q,function(a){return!k(a,b)}),T=a.grep(T,function(a){return!k(a.source,b)}),N(T)}function k(a,b){return a&&b&&l(a)==l(b)}function l(a){return("object"==typeof a?a.origArray||a.googleCalendarId||a.url||a.events:null)||a}function m(a){a.start=K.moment(a.start),a.end?a.end=K.moment(a.end):a.end=null,x(a,n(a)),N(T)}function n(b){var c={};return a.each(b,function(a,b){o(a)&&void 0!==b&&V(b)&&(c[a]=b)}),c}function o(a){return!/^_|^(id|allDay|start|end)$/.test(a)}function p(a,b){var c,d,e,f=s(a);if(f){for(c=w(f),d=0;d<c.length;d++)e=c[d],e.source||(b&&(O.events.push(e),e.source=O),T.push(e));return N(T),c}return[]}function q(b){var c,d;for(null==b?b=function(){return!0}:a.isFunction(b)||(c=b+"",b=function(a){return a._id==c}),T=a.grep(T,b,!0),d=0;d<Q.length;d++)a.isArray(Q[d].events)&&(Q[d].events=a.grep(Q[d].events,b,!0));N(T)}function r(b){return a.isFunction(b)?a.grep(T,b):null!=b?(b+="",a.grep(T,function(a){return a._id==b})):T}function s(d,e){var f,g,h,i={};if(c.eventDataTransform&&(d=c.eventDataTransform(d)),e&&e.eventDataTransform&&(d=e.eventDataTransform(d)),a.extend(i,d),e&&(i.source=e),i._id=d._id||(void 0===d.id?"_fc"+vb++:d.id+""),d.className?"string"==typeof d.className?i.className=d.className.split(/\s+/):i.className=d.className:i.className=[],f=d.start||d.date,g=d.end,P(f)&&(f=b.duration(f)),P(g)&&(g=b.duration(g)),d.dow||b.isDuration(f)||b.isDuration(g))i.start=f?b.duration(f):null,i.end=g?b.duration(g):null,i._recurring=!0;else{if(f&&(f=K.moment(f),!f.isValid()))return!1;g&&(g=K.moment(g),g.isValid()||(g=null)),h=d.allDay,void 0===h&&(h=X(e?e.allDayDefault:void 0,c.allDayDefault)),t(f,g,h,i)}return i}function t(a,b,c,d){d.start=a,d.end=b,d.allDay=c,u(d),Oa(d)}function u(a){v(a),a.end&&!a.end.isAfter(a.start)&&(a.end=null),a.end||(c.forceEventDuration?a.end=K.getDefaultEventEnd(a.allDay,a.start):a.end=null)}function v(a){null==a.allDay&&(a.allDay=!(a.start.hasTime()||a.end&&a.end.hasTime())),a.allDay?(a.start.stripTime(),a.end&&a.end.stripTime()):(a.start.hasTime()||(a.start=K.applyTimezone(a.start.time(0))),a.end&&!a.end.hasTime()&&(a.end=K.applyTimezone(a.end.time(0))))}function w(b,c,d){var e,f,g,h,i,j,k,l,m,n=[];if(c=c||L,d=d||M,b)if(b._recurring){if(f=b.dow)for(e={},g=0;g<f.length;g++)e[f[g]]=!0;for(h=c.clone().stripTime();h.isBefore(d);)(!e||e[h.day()])&&(i=b.start,j=b.end,k=h.clone(),l=null,i&&(k=k.time(i)),j&&(l=h.clone().time(j)),m=a.extend({},b),t(k,l,!i&&!j,m),n.push(m)),h.add(1,"days")}else n.push(b);return n}function x(b,c,d){function e(a,b){return d?H(a,b,d):c.allDay?G(a,b):F(a,b)}var f,g,h,i,j,k,l={};return c=c||{},c.start||(c.start=b.start.clone()),void 0===c.end&&(c.end=b.end?b.end.clone():null),null==c.allDay&&(c.allDay=b.allDay),u(c),f={start:b._start.clone(),end:b._end?b._end.clone():K.getDefaultEventEnd(b._allDay,b._start),allDay:c.allDay},u(f),g=null!==b._end&&null===c.end,h=e(c.start,f.start),c.end?(i=e(c.end,f.end),j=i.subtract(h)):j=null,a.each(c,function(a,b){o(a)&&void 0!==b&&(l[a]=b)}),k=y(r(b._id),g,c.allDay,h,j,l),{dateDelta:h,durationDelta:j,undo:k}}function y(b,c,d,e,f,g){var h=K.getIsAmbigTimezone(),i=[];return e&&!e.valueOf()&&(e=null),f&&!f.valueOf()&&(f=null),a.each(b,function(b,j){var k,l;k={start:j.start.clone(),end:j.end?j.end.clone():null,allDay:j.allDay},a.each(g,function(a){k[a]=j[a]}),l={start:j._start,end:j._end,allDay:d},u(l),c?l.end=null:f&&!l.end&&(l.end=K.getDefaultEventEnd(l.allDay,l.start)),e&&(l.start.add(e),l.end&&l.end.add(e)),f&&l.end.add(f),h&&!l.allDay&&(e||f)&&(l.start.stripZone(),l.end&&l.end.stripZone()),a.extend(j,g,l),Oa(j),i.push(function(){a.extend(j,k),Oa(j)})}),function(){for(var a=0;a<i.length;a++)i[a]()}}function z(b){var d,e=c.businessHours,f={className:"fc-nonbusiness",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"},g=K.getView();return e&&(d=a.extend({},f,"object"==typeof e?e:{})),d?(b&&(d.start=null,d.end=null),w(s(d),g.start,g.end)):[]}function A(a,b){var d=b.source||{},e=X(b.constraint,d.constraint,c.eventConstraint),f=X(b.overlap,d.overlap,c.eventOverlap);return D(a,e,f,b)}function B(b,c,d){var e,f;return d&&(e=a.extend({},d,c),f=w(s(e))[0]),f?A(b,f):C(b)}function C(a){return D(a,c.selectConstraint,c.selectOverlap)}function D(a,b,c,d){var e,f,g,h,i,j;if(null!=b){for(e=E(b),f=!1,h=0;h<e.length;h++)if(I(e[h],a)){f=!0;break}if(!f)return!1}for(g=K.getPeerEvents(a,d),h=0;h<g.length;h++)if(i=g[h],J(i,a)){if(c===!1)return!1;if("function"==typeof c&&!c(i,d))return!1;if(d){if(j=X(i.overlap,(i.source||{}).overlap),j===!1)return!1;if("function"==typeof j&&!j(d,i))return!1}}return!0}function E(a){return"businessHours"===a?z():"object"==typeof a?w(s(a)):r(a)}function I(a,b){var c=a.start.clone().stripZone(),d=K.getEventEnd(a).stripZone();return b.start>=c&&b.end<=d}function J(a,b){var c=a.start.clone().stripZone(),d=K.getEventEnd(a).stripZone();return b.start<d&&b.end>c}var K=this;K.isFetchNeeded=d,K.fetchEvents=e,K.addEventSource=h,K.removeEventSource=j,K.updateEvent=m,K.renderEvent=p,K.removeEvents=q,K.clientEvents=r,K.mutateEvent=x,K.normalizeEventDates=u,K.normalizeEventTimes=v;var L,M,N=K.reportEvents,O={events:[]},Q=[O],R=0,S=0,T=[];a.each((c.events?[c.events]:[]).concat(c.eventSources||[]),function(a,b){var c=i(b);c&&Q.push(c)}),K.getBusinessHoursEvents=z,K.isEventSpanAllowed=A,K.isExternalSpanAllowed=B,K.isSelectionSpanAllowed=C,K.getEventCache=function(){return T}}function Oa(a){a._allDay=a.allDay,a._start=a.start.clone(),a._end=a.end?a.end.clone():null}var Pa=a.fullCalendar={version:"2.6.1",internalApiVersion:3},Qa=Pa.views={};a.fn.fullCalendar=function(b){var c=Array.prototype.slice.call(arguments,1),d=this;return this.each(function(e,f){var g,h=a(f),i=h.data("fullCalendar");"string"==typeof b?i&&a.isFunction(i[b])&&(g=i[b].apply(i,c),e||(d=g),"destroy"===b&&h.removeData("fullCalendar")):i||(i=new pb(h,b),h.data("fullCalendar",i),i.render())}),d};var Ra=["header","buttonText","buttonIcons","themeButtonIcons"];Pa.intersectRanges=E,Pa.applyAll=W,Pa.debounce=da,Pa.isInt=ba,Pa.htmlEscape=Y,Pa.cssToStr=$,Pa.proxy=ca,Pa.capitaliseFirstLetter=_,Pa.getOuterRect=o,Pa.getClientRect=p,Pa.getContentRect=q,Pa.getScrollbarWidths=r;var Sa=null;Pa.intersectRects=w,Pa.parseFieldSpecs=A,Pa.compareByFieldSpecs=B,Pa.compareByFieldSpec=C,Pa.flexibleCompare=D,Pa.computeIntervalUnit=I,Pa.divideRangeByDuration=K,Pa.divideDurationByDuration=L,Pa.multiplyDuration=M,Pa.durationHasTime=N;var Ta=["sun","mon","tue","wed","thu","fri","sat"],Ua=["year","month","week","day","hour","minute","second","millisecond"];Pa.log=function(){var a=window.console;return a&&a.log?a.log.apply(a,arguments):void 0},Pa.warn=function(){var a=window.console;return a&&a.warn?a.warn.apply(a,arguments):Pa.log.apply(Pa,arguments)};var Va,Wa,Xa,Ya={}.hasOwnProperty,Za=/^\s*\d{4}-\d\d$/,$a=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,_a=b.fn,ab=a.extend({},_a);Pa.moment=function(){return ea(arguments)},Pa.moment.utc=function(){var a=ea(arguments,!0);return a.hasTime()&&a.utc(),a},Pa.moment.parseZone=function(){return ea(arguments,!0,!0)},_a.clone=function(){var a=ab.clone.apply(this,arguments);return ga(this,a),this._fullCalendar&&(a._fullCalendar=!0),a},_a.week=_a.weeks=function(a){var b=(this._locale||this._lang)._fullCalendar_weekCalc;return null==a&&"function"==typeof b?b(this):"ISO"===b?ab.isoWeek.apply(this,arguments):ab.week.apply(this,arguments)},_a.time=function(a){if(!this._fullCalendar)return ab.time.apply(this,arguments);if(null==a)return b.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,b.isDuration(a)||b.isMoment(a)||(a=b.duration(a));var c=0;return b.isDuration(a)&&(c=24*Math.floor(a.asDays())),this.hours(c+a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())},_a.stripTime=function(){var a;return this._ambigTime||(a=this.toArray(),this.utc(),Wa(this,a.slice(0,3)),this._ambigTime=!0,this._ambigZone=!0),this},_a.hasTime=function(){return!this._ambigTime},_a.stripZone=function(){var a,b;return this._ambigZone||(a=this.toArray(),b=this._ambigTime,this.utc(),Wa(this,a),this._ambigTime=b||!1,this._ambigZone=!0),this},_a.hasZone=function(){return!this._ambigZone},_a.local=function(){var a=this.toArray(),b=this._ambigZone;return ab.local.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,b&&Xa(this,a),this},_a.utc=function(){return ab.utc.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,this},a.each(["zone","utcOffset"],function(a,b){ab[b]&&(_a[b]=function(a){return null!=a&&(this._ambigTime=!1,this._ambigZone=!1),ab[b].apply(this,arguments)})}),_a.format=function(){return this._fullCalendar&&arguments[0]?ja(this,arguments[0]):this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):ab.format.apply(this,arguments)},_a.toISOString=function(){return this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):ab.toISOString.apply(this,arguments)},_a.isWithin=function(a,b){var c=fa([this,a,b]);return c[0]>=c[1]&&c[0]<c[2]},_a.isSame=function(a,b){var c;return this._fullCalendar?b?(c=fa([this,a],!0),ab.isSame.call(c[0],c[1],b)):(a=Pa.moment.parseZone(a),ab.isSame.call(this,a)&&Boolean(this._ambigTime)===Boolean(a._ambigTime)&&Boolean(this._ambigZone)===Boolean(a._ambigZone)):ab.isSame.apply(this,arguments)},a.each(["isBefore","isAfter"],function(a,b){_a[b]=function(a,c){var d;return this._fullCalendar?(d=fa([this,a]),ab[b].call(d[0],d[1],c)):ab[b].apply(this,arguments)}}),Va="_d"in b()&&"updateOffset"in b,Wa=Va?function(a,c){a._d.setTime(Date.UTC.apply(Date,c)),b.updateOffset(a,!1)}:ha,Xa=Va?function(a,c){a._d.setTime(+new Date(c[0]||0,c[1]||0,c[2]||0,c[3]||0,c[4]||0,c[5]||0,c[6]||0)),b.updateOffset(a,!1)}:ha;var bb={t:function(a){return ia(a,"a").charAt(0)},T:function(a){return ia(a,"A").charAt(0)}};Pa.formatRange=ma;var cb={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},db={};Pa.Class=ra,ra.extend=function(){var a,b,c=arguments.length;for(a=0;c>a;a++)b=arguments[a],c-1>a&&ta(this,b);return sa(this,b||{})},ra.mixin=function(a){ta(this,a)};var eb=Pa.Emitter=ra.extend({callbackHash:null,on:function(a,b){return this.getCallbacks(a).add(b),this},off:function(a,b){return this.getCallbacks(a).remove(b),this},trigger:function(a){var b=Array.prototype.slice.call(arguments,1);return this.triggerWith(a,this,b),this},triggerWith:function(a,b,c){var d=this.getCallbacks(a);return d.fireWith(b,c),this},getCallbacks:function(b){var c;return this.callbackHash||(this.callbackHash={}),c=this.callbackHash[b],c||(c=this.callbackHash[b]=a.Callbacks()),c}}),fb=ra.extend({isHidden:!0,options:null,el:null,documentMousedownProxy:null,margin:10,constructor:function(a){this.options=a||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var b=this,c=this.options;this.el=a('<div class="fc-popover"/>').addClass(c.className||"").css({top:0,left:0}).append(c.content).appendTo(c.parentEl),this.el.on("click",".fc-close",function(){b.hide()}),c.autoHide&&a(document).on("mousedown",this.documentMousedownProxy=ca(this,"documentMousedown"))},documentMousedown:function(b){this.el&&!a(b.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),a(document).off("mousedown",this.documentMousedownProxy)},position:function(){var b,c,d,e,f,g=this.options,h=this.el.offsetParent().offset(),i=this.el.outerWidth(),j=this.el.outerHeight(),k=a(window),l=n(this.el);e=g.top||0,f=void 0!==g.left?g.left:void 0!==g.right?g.right-i:0,l.is(window)||l.is(document)?(l=k,b=0,c=0):(d=l.offset(),b=d.top,c=d.left),b+=k.scrollTop(),c+=k.scrollLeft(),g.viewportConstrain!==!1&&(e=Math.min(e,b+l.outerHeight()-j-this.margin),e=Math.max(e,b+this.margin),f=Math.min(f,c+l.outerWidth()-i-this.margin),
-f=Math.max(f,c+this.margin)),this.el.css({top:e-h.top,left:f-h.left})},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))}}),gb=Pa.CoordCache=ra.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(b){this.els=a(b.els),this.isHorizontal=b.isHorizontal,this.isVertical=b.isVertical,this.forcedOffsetParentEl=b.offsetParent?a(b.offsetParent):null},build:function(){var a=this.forcedOffsetParentEl||this.els.eq(0).offsetParent();this.origin=a.offset(),this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},queryBoundingRect:function(){var a=n(this.els.eq(0));return a.is(document)?void 0:p(a)},buildElHorizontals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().left,h=f.outerWidth();b.push(g),c.push(g+h)}),this.lefts=b,this.rights=c},buildElVerticals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().top,h=f.outerHeight();b.push(g),c.push(g+h)}),this.tops=b,this.bottoms=c},getHorizontalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.lefts,e=this.rights,f=d.length;if(!c||a>=c.left&&a<c.right)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getVerticalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.tops,e=this.bottoms,f=d.length;if(!c||a>=c.top&&a<c.bottom)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getLeftOffset:function(a){return this.ensureBuilt(),this.lefts[a]},getLeftPosition:function(a){return this.ensureBuilt(),this.lefts[a]-this.origin.left},getRightOffset:function(a){return this.ensureBuilt(),this.rights[a]},getRightPosition:function(a){return this.ensureBuilt(),this.rights[a]-this.origin.left},getWidth:function(a){return this.ensureBuilt(),this.rights[a]-this.lefts[a]},getTopOffset:function(a){return this.ensureBuilt(),this.tops[a]},getTopPosition:function(a){return this.ensureBuilt(),this.tops[a]-this.origin.top},getBottomOffset:function(a){return this.ensureBuilt(),this.bottoms[a]},getBottomPosition:function(a){return this.ensureBuilt(),this.bottoms[a]-this.origin.top},getHeight:function(a){return this.ensureBuilt(),this.bottoms[a]-this.tops[a]}}),hb=Pa.DragListener=ra.extend({options:null,isListening:!1,isDragging:!1,originX:null,originY:null,mousemoveProxy:null,mouseupProxy:null,subjectEl:null,subjectHref:null,scrollEl:null,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollHandlerProxy:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,constructor:function(a){a=a||{},this.options=a,this.subjectEl=a.subjectEl},mousedown:function(a){v(a)&&(a.preventDefault(),this.startListening(a),this.options.distance||this.startDrag(a))},startListening:function(b){var c;this.isListening||(b&&this.options.scroll&&(c=n(a(b.target)),c.is(window)||c.is(document)||(this.scrollEl=c,this.scrollHandlerProxy=da(ca(this,"scrollHandler"),100),this.scrollEl.on("scroll",this.scrollHandlerProxy))),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")).on("mouseup",this.mouseupProxy=ca(this,"mouseup")).on("selectstart",this.preventDefault),b?(this.originX=b.pageX,this.originY=b.pageY):(this.originX=0,this.originY=0),this.isListening=!0,this.listenStart(b))},listenStart:function(a){this.trigger("listenStart",a)},mousemove:function(a){var b,c,d=a.pageX-this.originX,e=a.pageY-this.originY;this.isDragging||(b=this.options.distance||1,c=d*d+e*e,c>=b*b&&this.startDrag(a)),this.isDragging&&this.drag(d,e,a)},startDrag:function(a){this.isListening||this.startListening(),this.isDragging||(this.isDragging=!0,this.dragStart(a))},dragStart:function(a){var b=this.subjectEl;this.trigger("dragStart",a),(this.subjectHref=b?b.attr("href"):null)&&b.removeAttr("href")},drag:function(a,b,c){this.trigger("drag",a,b,c),this.updateScroll(c)},mouseup:function(a){this.stopListening(a)},stopDrag:function(a){this.isDragging&&(this.stopScrolling(),this.dragStop(a),this.isDragging=!1)},dragStop:function(a){var b=this;this.trigger("dragStop",a),setTimeout(function(){b.subjectHref&&b.subjectEl.attr("href",b.subjectHref)},0)},stopListening:function(b){this.stopDrag(b),this.isListening&&(this.scrollEl&&(this.scrollEl.off("scroll",this.scrollHandlerProxy),this.scrollHandlerProxy=null),a(document).off("mousemove",this.mousemoveProxy).off("mouseup",this.mouseupProxy).off("selectstart",this.preventDefault),this.mousemoveProxy=null,this.mouseupProxy=null,this.isListening=!1,this.listenStop(b))},listenStop:function(a){this.trigger("listenStop",a)},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))},preventDefault:function(a){a.preventDefault()},computeScrollBounds:function(){var a=this.scrollEl;this.scrollBounds=a?o(a):null},updateScroll:function(a){var b,c,d,e,f=this.scrollSensitivity,g=this.scrollBounds,h=0,i=0;g&&(b=(f-(a.pageY-g.top))/f,c=(f-(g.bottom-a.pageY))/f,d=(f-(a.pageX-g.left))/f,e=(f-(g.right-a.pageX))/f,b>=0&&1>=b?h=b*this.scrollSpeed*-1:c>=0&&1>=c&&(h=c*this.scrollSpeed),d>=0&&1>=d?i=d*this.scrollSpeed*-1:e>=0&&1>=e&&(i=e*this.scrollSpeed)),this.setScrollVel(h,i)},setScrollVel:function(a,b){this.scrollTopVel=a,this.scrollLeftVel=b,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(ca(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var a=this.scrollEl;this.scrollTopVel<0?a.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&a.scrollTop()+a[0].clientHeight>=a[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?a.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&a.scrollLeft()+a[0].clientWidth>=a[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var a=this.scrollEl,b=this.scrollIntervalMs/1e3;this.scrollTopVel&&a.scrollTop(a.scrollTop()+this.scrollTopVel*b),this.scrollLeftVel&&a.scrollLeft(a.scrollLeft()+this.scrollLeftVel*b),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.stopScrolling()},stopScrolling:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.scrollStop())},scrollHandler:function(){this.scrollIntervalId||this.scrollStop()},scrollStop:function(){}}),ib=hb.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(a,b){hb.call(this,b),this.component=a},listenStart:function(a){var b,c,d,e=this.subjectEl;hb.prototype.listenStart.apply(this,arguments),this.computeCoords(),a?(c={left:a.pageX,top:a.pageY},d=c,e&&(b=o(e),d=x(d,b)),this.origHit=this.queryHit(d.left,d.top),e&&this.options.subjectCenter&&(this.origHit&&(b=w(this.origHit,b)||b),d=y(b)),this.coordAdjust=z(d,c)):(this.origHit=null,this.coordAdjust=null)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},dragStart:function(a){var b;hb.prototype.dragStart.apply(this,arguments),b=this.queryHit(a.pageX,a.pageY),b&&this.hitOver(b)},drag:function(a,b,c){var d;hb.prototype.drag.apply(this,arguments),d=this.queryHit(c.pageX,c.pageY),ua(d,this.hit)||(this.hit&&this.hitOut(),d&&this.hitOver(d))},dragStop:function(){this.hitDone(),hb.prototype.dragStop.apply(this,arguments)},hitOver:function(a){var b=ua(a,this.origHit);this.hit=a,this.trigger("hitOver",this.hit,b,this.origHit)},hitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.hitDone(),this.hit=null)},hitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},listenStop:function(){hb.prototype.listenStop.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},scrollStop:function(){hb.prototype.scrollStop.apply(this,arguments),this.computeCoords()},queryHit:function(a,b){return this.coordAdjust&&(a+=this.coordAdjust.left,b+=this.coordAdjust.top),this.component.queryHit(a,b)}}),jb=ra.extend({options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,mouseY0:null,mouseX0:null,topDelta:null,leftDelta:null,mousemoveProxy:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(b,c){this.options=c=c||{},this.sourceEl=b,this.parentEl=c.parentEl?a(c.parentEl):b.parent()},start:function(b){this.isFollowing||(this.isFollowing=!0,this.mouseY0=b.pageY,this.mouseX0=b.pageX,this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")))},stop:function(b,c){function d(){this.isAnimating=!1,e.removeElement(),this.top0=this.left0=null,c&&c()}var e=this,f=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,a(document).off("mousemove",this.mousemoveProxy),b&&f&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:f,complete:d})):d())},getEl:function(){var a=this.el;return a||(this.sourceEl.width(),a=this.el=this.sourceEl.clone().css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}).appendTo(this.parentEl)),a},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var a,b;this.getEl(),null===this.top0&&(this.sourceEl.width(),a=this.sourceEl.offset(),b=this.el.offsetParent().offset(),this.top0=a.top-b.top,this.left0=a.left-b.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},mousemove:function(a){this.topDelta=a.pageY-this.mouseY0,this.leftDelta=a.pageX-this.mouseX0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),kb=Pa.Grid=ra.extend({view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,externalDragStartProxy:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,constructor:function(a){this.view=a,this.isRTL=a.opt("isRTL"),this.elsByFill={},this.externalDragStartProxy=ca(this,"externalDragStart")},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(a){this.start=a.start.clone(),this.end=a.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var a,b,c=this.view;this.eventTimeFormat=c.opt("eventTimeFormat")||c.opt("timeFormat")||this.computeEventTimeFormat(),a=c.opt("displayEventTime"),null==a&&(a=this.computeDisplayEventTime()),b=c.opt("displayEventEnd"),null==b&&(b=this.computeDisplayEventEnd()),this.displayEventTime=a,this.displayEventEnd=b},spanToSegs:function(a){},diffDates:function(a,b){return this.largeUnit?H(a,b,this.largeUnit):F(a,b)},prepareHits:function(){},releaseHits:function(){},queryHit:function(a,b){},getHitSpan:function(a){},getHitEl:function(a){},setElement:function(b){var c=this;this.el=b,b.on("mousedown",function(b){a(b.target).is(".fc-event-container *, .fc-more")||a(b.target).closest(".fc-popover").length||c.dayMousedown(b)}),this.bindSegHandlers(),this.bindGlobalHandlers()},removeElement:function(){this.unbindGlobalHandlers(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){a(document).on("dragstart sortstart",this.externalDragStartProxy)},unbindGlobalHandlers:function(){a(document).off("dragstart sortstart",this.externalDragStartProxy)},dayMousedown:function(a){var b,c,d=this,e=this.view,f=e.opt("selectable"),i=new ib(this,{scroll:e.opt("dragScroll"),dragStart:function(){e.unselect()},hitOver:function(a,e,h){h&&(b=e?a:null,f&&(c=d.computeSelection(d.getHitSpan(h),d.getHitSpan(a)),c?d.renderSelection(c):c===!1&&g()))},hitOut:function(){b=null,c=null,d.unrenderSelection(),h()},listenStop:function(a){b&&e.triggerDayClick(d.getHitSpan(b),d.getHitEl(b),a),c&&e.reportSelection(c,a),h()}});i.mousedown(a)},renderEventLocationHelper:function(a,b){var c=this.fabricateHelperEvent(a,b);this.renderHelper(c,b)},fabricateHelperEvent:function(a,b){var c=b?R(b.event):{};return c.start=a.start.clone(),c.end=a.end?a.end.clone():null,c.allDay=null,this.view.calendar.normalizeEventDates(c),c.className=(c.className||[]).concat("fc-helper"),b||(c.editable=!1),c},renderHelper:function(a,b){},unrenderHelper:function(){},renderSelection:function(a){this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(a,b){var c=this.computeSelectionSpan(a,b);return c&&!this.view.calendar.isSelectionSpanAllowed(c)?!1:c},computeSelectionSpan:function(a,b){var c=[a.start,a.end,b.start,b.end];return c.sort(aa),{start:c[0].clone(),end:c[3].clone()}},renderHighlight:function(a){this.renderFill("highlight",this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderBusinessHours:function(){},unrenderBusinessHours:function(){},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},renderFill:function(a,b){},unrenderFill:function(a){var b=this.elsByFill[a];b&&(b.remove(),delete this.elsByFill[a])},renderFillSegEls:function(b,c){var d,e=this,f=this[b+"SegEl"],g="",h=[];if(c.length){for(d=0;d<c.length;d++)g+=this.fillSegHtml(b,c[d]);a(g).each(function(b,d){var g=c[b],i=a(d);f&&(i=f.call(e,g,i)),i&&(i=a(i),i.is(e.fillSegTag)&&(g.el=i,h.push(g)))})}return h},fillSegTag:"div",fillSegHtml:function(a,b){var c=this[a+"SegClasses"],d=this[a+"SegCss"],e=c?c.call(this,b):[],f=$(d?d.call(this,b):{});return"<"+this.fillSegTag+(e.length?' class="'+e.join(" ")+'"':"")+(f?' style="'+f+'"':"")+" />"},getDayClasses:function(a){var b=this.view,c=b.calendar.getNow(),d=["fc-"+Ta[a.day()]];return 1==b.intervalDuration.as("months")&&a.month()!=b.intervalStart.month()&&d.push("fc-other-month"),a.isSame(c,"day")?d.push("fc-today",b.highlightStateClass):c>a?d.push("fc-past"):d.push("fc-future"),d}});kb.mixin({mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(a){var b,c=[],d=[];for(b=0;b<a.length;b++)(wa(a[b])?c:d).push(a[b]);this.segs=[].concat(this.renderBgEvents(c),this.renderFgEvents(d))},renderBgEvents:function(a){var b=this.eventsToSegs(a);return this.renderBgSegs(b)||b},renderFgEvents:function(a){var b=this.eventsToSegs(a);return this.renderFgSegs(b)||b},unrenderEvents:function(){this.triggerSegMouseout(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(a){},unrenderFgSegs:function(){},renderFgSegEls:function(b,c){var d,e=this.view,f="",g=[];if(b.length){for(d=0;d<b.length;d++)f+=this.fgSegHtml(b[d],c);a(f).each(function(c,d){var f=b[c],h=e.resolveEventEl(f.event,a(d));h&&(h.data("fc-seg",f),f.el=h,g.push(f))})}return g},fgSegHtml:function(a,b){},renderBgSegs:function(a){return this.renderFill("bgEvent",a)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(a,b){return this.view.resolveEventEl(a.event,b)},bgEventSegClasses:function(a){var b=a.event,c=b.source||{};return["fc-bgevent"].concat(b.className,c.className||[])},bgEventSegCss:function(a){return{"background-color":this.getSegSkinCss(a)["background-color"]}},businessHoursSegClasses:function(a){return["fc-nonbusiness","fc-bgevent"]},bindSegHandlers:function(){var b=this,c=this.view;a.each({mouseenter:function(a,c){b.triggerSegMouseover(a,c)},mouseleave:function(a,c){b.triggerSegMouseout(a,c)},click:function(a,b){return c.trigger("eventClick",this,a.event,b)},mousedown:function(d,e){a(e.target).is(".fc-resizer")&&c.isEventResizable(d.event)?b.segResizeMousedown(d,e,a(e.target).is(".fc-start-resizer")):c.isEventDraggable(d.event)&&b.segDragMousedown(d,e)}},function(c,d){b.el.on(c,".fc-event-container > *",function(c){var e=a(this).data("fc-seg");return!e||b.isDraggingSeg||b.isResizingSeg?void 0:d.call(this,e,c)})})},triggerSegMouseover:function(a,b){this.mousedOverSeg||(this.mousedOverSeg=a,this.view.trigger("eventMouseover",a.el[0],a.event,b))},triggerSegMouseout:function(a,b){b=b||{},this.mousedOverSeg&&(a=a||this.mousedOverSeg,this.mousedOverSeg=null,this.view.trigger("eventMouseout",a.el[0],a.event,b))},segDragMousedown:function(a,b){var c,d=this,e=this.view,f=e.calendar,i=a.el,j=a.event,k=new jb(a.el,{parentEl:e.el,opacity:e.opt("dragOpacity"),revertDuration:e.opt("dragRevertDuration"),zIndex:2}),l=new ib(e,{distance:5,scroll:e.opt("dragScroll"),subjectEl:i,subjectCenter:!0,listenStart:function(a){k.hide(),k.start(a)},dragStart:function(b){d.triggerSegMouseout(a,b),d.segDragStart(a,b),e.hideEvent(j)},hitOver:function(b,h,i){a.hit&&(i=a.hit),c=d.computeEventDrop(i.component.getHitSpan(i),b.component.getHitSpan(b),j),c&&!f.isEventSpanAllowed(d.eventToSpan(c),j)&&(g(),c=null),c&&e.renderDrag(c,a)?k.hide():k.show(),h&&(c=null)},hitOut:function(){e.unrenderDrag(),k.show(),c=null},hitDone:function(){h()},dragStop:function(b){k.stop(!c,function(){e.unrenderDrag(),e.showEvent(j),d.segDragStop(a,b),c&&e.reportEventDrop(j,c,this.largeUnit,i,b)})},listenStop:function(){k.stop()}});l.mousedown(b)},segDragStart:function(a,b){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",a.el[0],a.event,b,{})},segDragStop:function(a,b){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",a.el[0],a.event,b,{})},computeEventDrop:function(a,b,c){var d,e,f=this.view.calendar,g=a.start,h=b.start;return g.hasTime()===h.hasTime()?(d=this.diffDates(h,g),c.allDay&&N(d)?(e={start:c.start.clone(),end:f.getEventEnd(c),allDay:!1},f.normalizeEventTimes(e)):e={start:c.start.clone(),end:c.end?c.end.clone():null,allDay:c.allDay},e.start.add(d),e.end&&e.end.add(d)):e={start:h.clone(),end:null,allDay:!h.hasTime()},e},applyDragOpacity:function(a){var b=this.view.opt("dragOpacity");null!=b&&a.each(function(a,c){c.style.opacity=b})},externalDragStart:function(b,c){var d,e,f=this.view;f.opt("droppable")&&(d=a((c?c.item:null)||b.target),e=f.opt("dropAccept"),(a.isFunction(e)?e.call(d[0],d):d.is(e))&&(this.isDraggingExternal||this.listenToExternalDrag(d,b,c)))},listenToExternalDrag:function(a,b,c){var d,e=this,f=this.view.calendar,i=Ba(a),j=new ib(this,{listenStart:function(){e.isDraggingExternal=!0},hitOver:function(a){d=e.computeExternalDrop(a.component.getHitSpan(a),i),d&&!f.isExternalSpanAllowed(e.eventToSpan(d),d,i.eventProps)&&(g(),d=null),d&&e.renderDrag(d)},hitOut:function(){d=null},hitDone:function(){h(),e.unrenderDrag()},dragStop:function(){d&&e.view.reportExternalDrop(i,d,a,b,c)},listenStop:function(){e.isDraggingExternal=!1}});j.startDrag(b)},computeExternalDrop:function(a,b){var c=this.view.calendar,d={start:c.applyTimezone(a.start),end:null};return b.startTime&&!d.start.hasTime()&&d.start.time(b.startTime),b.duration&&(d.end=d.start.clone().add(b.duration)),d},renderDrag:function(a,b){},unrenderDrag:function(){},segResizeMousedown:function(a,b,c){var d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event,l=i.getEventEnd(k),m=new ib(this,{distance:5,scroll:f.opt("dragScroll"),subjectEl:j,dragStart:function(b){e.triggerSegMouseout(a,b),e.segResizeStart(a,b)},hitOver:function(b,h,j){var m=e.getHitSpan(j),n=e.getHitSpan(b);d=c?e.computeEventStartResize(m,n,k):e.computeEventEndResize(m,n,k),d&&(i.isEventSpanAllowed(e.eventToSpan(d),k)?d.start.isSame(k.start)&&d.end.isSame(l)&&(d=null):(g(),d=null)),d&&(f.hideEvent(k),e.renderEventResize(d,a))},hitOut:function(){d=null},hitDone:function(){e.unrenderEventResize(),f.showEvent(k),h()},dragStop:function(b){e.segResizeStop(a,b),d&&f.reportEventResize(k,d,this.largeUnit,j,b)}});m.mousedown(b)},segResizeStart:function(a,b){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",a.el[0],a.event,b,{})},segResizeStop:function(a,b){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",a.el[0],a.event,b,{})},computeEventStartResize:function(a,b,c){return this.computeEventResize("start",a,b,c)},computeEventEndResize:function(a,b,c){return this.computeEventResize("end",a,b,c)},computeEventResize:function(a,b,c,d){var e,f,g=this.view.calendar,h=this.diffDates(c[a],b[a]);return e={start:d.start.clone(),end:g.getEventEnd(d),allDay:d.allDay},e.allDay&&N(h)&&(e.allDay=!1,g.normalizeEventTimes(e)),e[a].add(h),e.start.isBefore(e.end)||(f=this.minResizeDuration||(d.allDay?g.defaultAllDayEventDuration:g.defaultTimedEventDuration),"start"==a?e.start=e.end.clone().subtract(f):e.end=e.start.clone().add(f)),e},renderEventResize:function(a,b){},unrenderEventResize:function(){},getEventTimeText:function(a,b,c){return null==b&&(b=this.eventTimeFormat),null==c&&(c=this.displayEventEnd),this.displayEventTime&&a.start.hasTime()?c&&a.end?this.view.formatRange(a,b):a.start.format(b):""},getSegClasses:function(a,b,c){var d=a.event,e=["fc-event",a.isStart?"fc-start":"fc-not-start",a.isEnd?"fc-end":"fc-not-end"].concat(d.className,d.source?d.source.className:[]);return b&&e.push("fc-draggable"),c&&e.push("fc-resizable"),e},getSegSkinCss:function(a){var b=a.event,c=this.view,d=b.source||{},e=b.color,f=d.color,g=c.opt("eventColor");return{"background-color":b.backgroundColor||e||d.backgroundColor||f||c.opt("eventBackgroundColor")||g,"border-color":b.borderColor||e||d.borderColor||f||c.opt("eventBorderColor")||g,color:b.textColor||d.textColor||c.opt("eventTextColor")}},eventToSegs:function(a){return this.eventsToSegs([a])},eventToSpan:function(a){return this.eventToSpans(a)[0]},eventToSpans:function(a){var b=this.eventToRange(a);return this.eventRangeToSpans(b,a)},eventsToSegs:function(b,c){var d=this,e=za(b),f=[];return a.each(e,function(a,b){var e,g=[];for(e=0;e<b.length;e++)g.push(d.eventToRange(b[e]));if(xa(b[0]))for(g=d.invertRanges(g),e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[0],c));else for(e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[e],c))}),f},eventToRange:function(a){return{start:a.start.clone().stripZone(),end:(a.end?a.end.clone():this.view.calendar.getDefaultEventEnd(null!=a.allDay?a.allDay:!a.start.hasTime(),a.start)).stripZone()}},eventRangeToSegs:function(a,b,c){var d,e=this.eventRangeToSpans(a,b),f=[];for(d=0;d<e.length;d++)f.push.apply(f,this.eventSpanToSegs(e[d],b,c));return f},eventRangeToSpans:function(b,c){return[a.extend({},b)]},eventSpanToSegs:function(a,b,c){var d,e,f=c?c(a):this.spanToSegs(a);for(d=0;d<f.length;d++)e=f[d],e.event=b,e.eventStartMS=+a.start,e.eventDurationMS=a.end-a.start;return f},invertRanges:function(a){var b,c,d=this.view,e=d.start.clone(),f=d.end.clone(),g=[],h=e;for(a.sort(Aa),b=0;b<a.length;b++)c=a[b],c.start>h&&g.push({start:h,end:c.start}),h=c.end;return f>h&&g.push({start:h,end:f}),g},sortEventSegs:function(a){a.sort(ca(this,"compareEventSegs"))},compareEventSegs:function(a,b){return a.eventStartMS-b.eventStartMS||b.eventDurationMS-a.eventDurationMS||b.event.allDay-a.event.allDay||B(a.event,b.event,this.view.eventOrderSpecs)}}),Pa.isBgEvent=wa,Pa.dataAttrPrefix="";var lb=Pa.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var a,b,c,d=this.view,e=this.start.clone(),f=-1,g=[],h=[];e.isBefore(this.end);)d.isHiddenDay(e)?g.push(f+.5):(f++,g.push(f),h.push(e.clone())),e.add(1,"days");if(this.breakOnWeeks){for(b=h[0].day(),a=1;a<h.length&&h[a].day()!=b;a++);c=Math.ceil(h.length/a)}else c=1,a=h.length;this.dayDates=h,this.dayIndices=g,this.daysPerRow=a,this.rowCnt=c,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(a,b){return this.dayDates[this.getCellDayIndex(a,b)].clone()},getCellRange:function(a,b){var c=this.getCellDate(a,b),d=c.clone().add(1,"days");return{start:c,end:d}},getCellDayIndex:function(a,b){return a*this.daysPerRow+this.getColDayIndex(b)},getColDayIndex:function(a){return this.isRTL?this.colCnt-1-a:a},getDateDayIndex:function(a){var b=this.dayIndices,c=a.diff(this.start,"days");return 0>c?b[0]-1:c>=b.length?b[b.length-1]+1:b[c]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(a){var b,c,d,e,f,g=this.daysPerRow,h=this.view.computeDayRange(a),i=this.getDateDayIndex(h.start),j=this.getDateDayIndex(h.end.clone().subtract(1,"days")),k=[];for(b=0;b<this.rowCnt;b++)c=b*g,d=c+g-1,e=Math.max(i,c),f=Math.min(j,d),e=Math.ceil(e),f=Math.floor(f),f>=e&&k.push({row:b,firstRowDayIndex:e-c,lastRowDayIndex:f-c,isStart:e===i,isEnd:f===j});return k},sliceRangeByDay:function(a){var b,c,d,e,f,g,h=this.daysPerRow,i=this.view.computeDayRange(a),j=this.getDateDayIndex(i.start),k=this.getDateDayIndex(i.end.clone().subtract(1,"days")),l=[];for(b=0;b<this.rowCnt;b++)for(c=b*h,d=c+h-1,e=c;d>=e;e++)f=Math.max(j,e),g=Math.min(k,e),f=Math.ceil(f),g=Math.floor(g),g>=f&&l.push({row:b,firstRowDayIndex:f-c,lastRowDayIndex:g-c,isStart:f===j,isEnd:g===k});return l},renderHeadHtml:function(){var a=this.view;return'<div class="fc-row '+a.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var a,b,c=[];for(a=0;a<this.colCnt;a++)b=this.getCellDate(0,a),c.push(this.renderHeadDateCellHtml(b));return c.join("")},renderHeadDateCellHtml:function(a,b,c){var d=this.view;return'<th class="fc-day-header '+d.widgetHeaderClass+" fc-"+Ta[a.day()]+'"'+(1==this.rowCnt?' data-date="'+a.format("YYYY-MM-DD")+'"':"")+(b>1?' colspan="'+b+'"':"")+(c?" "+c:"")+">"+Y(a.format(this.colHeadFormat))+"</th>"},renderBgTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(a))+this.renderBgCellsHtml(a)+(this.isRTL?this.renderBgIntroHtml(a):"")+"</tr>"},renderBgIntroHtml:function(a){return this.renderIntroHtml()},renderBgCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderBgCellHtml(c));return d.join("")},renderBgCellHtml:function(a,b){var c=this.view,d=this.getDayClasses(a);return d.unshift("fc-day",c.widgetContentClass),'<td class="'+d.join(" ")+'" data-date="'+a.format("YYYY-MM-DD")+'"'+(b?" "+b:"")+"></td>"},renderIntroHtml:function(){},bookendCells:function(a){var b=this.renderIntroHtml();b&&(this.isRTL?a.append(b):a.prepend(b))}},mb=Pa.DayGrid=kb.extend(lb,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(a){var b,c,d=this.view,e=this.rowCnt,f=this.colCnt,g="";for(b=0;e>b;b++)g+=this.renderDayRowHtml(b,a);for(this.el.html(g),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new gb({els:this.rowEls,isVertical:!0}),this.colCoordCache=new gb({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),b=0;e>b;b++)for(c=0;f>c;c++)d.trigger("dayRender",null,this.getCellDate(b,c),this.getCellEl(b,c))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(!0),b=this.eventsToSegs(a);this.renderFill("businessHours",b,"bgevent")},renderDayRowHtml:function(a,b){var c=this.view,d=["fc-row","fc-week",c.widgetContentClass];return b&&d.push("fc-rigid"),'<div class="'+d.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(a)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(a)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(a))+this.renderNumberCellsHtml(a)+(this.isRTL?this.renderNumberIntroHtml(a):"")+"</tr>"},renderNumberIntroHtml:function(a){return this.renderIntroHtml()},renderNumberCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderNumberCellHtml(c));return d.join("")},renderNumberCellHtml:function(a){var b;return this.view.dayNumbersVisible?(b=this.getDayClasses(a),b.unshift("fc-day-number"),'<td class="'+b.join(" ")+'" data-date="'+a.format()+'">'+a.date()+"</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},spanToSegs:function(a){var b,c,d=this.sliceRangeByRow(a);for(b=0;b<d.length;b++)c=d[b],this.isRTL?(c.leftCol=this.daysPerRow-1-c.lastRowDayIndex,c.rightCol=this.daysPerRow-1-c.firstRowDayIndex):(c.leftCol=c.firstRowDayIndex,c.rightCol=c.lastRowDayIndex);return d},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(a,b){var c=this.colCoordCache.getHorizontalIndex(a),d=this.rowCoordCache.getVerticalIndex(b);return null!=d&&null!=c?this.getCellHit(d,c):void 0},getHitSpan:function(a){return this.getCellRange(a.row,a.col)},getHitEl:function(a){return this.getCellEl(a.row,a.col)},getCellHit:function(a,b){return{row:a,col:b,component:this,left:this.colCoordCache.getLeftOffset(b),right:this.colCoordCache.getRightOffset(b),top:this.rowCoordCache.getTopOffset(a),bottom:this.rowCoordCache.getBottomOffset(a)}},getCellEl:function(a,b){return this.cellEls.eq(a*this.colCnt+b)},renderDrag:function(a,b){return this.renderHighlight(this.eventToSpan(a)),b&&!b.el.closest(this.el).length?(this.renderEventLocationHelper(a,b),this.applyDragOpacity(this.helperEls),!0):void 0},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(a,b){this.renderHighlight(this.eventToSpan(a)),this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(b,c){var d,e=[],f=this.eventToSegs(b);f=this.renderFgSegEls(f),d=this.renderSegRows(f),this.rowEls.each(function(b,f){var g,h=a(f),i=a('<div class="fc-helper-skeleton"><table/></div>');g=c&&c.row===b?c.el.position().top:h.find(".fc-content-skeleton tbody").position().top,i.css("top",g).find("table").append(d[b].tbodyEl),h.append(i),e.push(i[0])}),this.helperEls=a(e)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(b,c,d){var e,f,g,h=[];for(c=this.renderFillSegEls(b,c),e=0;e<c.length;e++)f=c[e],g=this.renderFillRow(b,f,d),this.rowEls.eq(f.row).append(g),h.push(g[0]);return this.elsByFill[b]=a(h),c},renderFillRow:function(b,c,d){var e,f,g=this.colCnt,h=c.leftCol,i=c.rightCol+1;return d=d||b.toLowerCase(),e=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),f=e.find("tr"),h>0&&f.append('<td colspan="'+h+'"/>'),f.append(c.el.attr("colspan",i-h)),g>i&&f.append('<td colspan="'+(g-i)+'"/>'),this.bookendCells(f),e}});mb.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),kb.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return kb.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(b){var c=a.grep(b,function(a){return a.event.allDay});return kb.prototype.renderBgSegs.call(this,c)},renderFgSegs:function(b){var c;return b=this.renderFgSegEls(b),c=this.rowStructs=this.renderSegRows(b),this.rowEls.each(function(b,d){a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)}),b},unrenderFgSegs:function(){for(var a,b=this.rowStructs||[];a=b.pop();)a.tbodyEl.remove();
-this.rowStructs=null},renderSegRows:function(a){var b,c,d=[];for(b=this.groupSegRows(a),c=0;c<b.length;c++)d.push(this.renderSegRow(c,b[c]));return d},fgSegHtml:function(a,b){var c,d,e=this.view,f=a.event,g=e.isEventDraggable(f),h=!b&&f.allDay&&a.isStart&&e.isEventResizableFromStart(f),i=!b&&f.allDay&&a.isEnd&&e.isEventResizableFromEnd(f),j=this.getSegClasses(a,g,h||i),k=$(this.getSegSkinCss(a)),l="";return j.unshift("fc-day-grid-event","fc-h-event"),a.isStart&&(c=this.getEventTimeText(f),c&&(l='<span class="fc-time">'+Y(c)+"</span>")),d='<span class="fc-title">'+(Y(f.title||"")||"&nbsp;")+"</span>",'<a class="'+j.join(" ")+'"'+(f.url?' href="'+Y(f.url)+'"':"")+(k?' style="'+k+'"':"")+'><div class="fc-content">'+(this.isRTL?d+" "+l:l+" "+d)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer" />':"")+(i?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(b,c){function d(b){for(;b>g;)k=(r[e-1]||[])[g],k?k.attr("rowspan",parseInt(k.attr("rowspan")||1,10)+1):(k=a("<td/>"),h.append(k)),q[e][g]=k,r[e][g]=k,g++}var e,f,g,h,i,j,k,l=this.colCnt,m=this.buildSegLevels(c),n=Math.max(1,m.length),o=a("<tbody/>"),p=[],q=[],r=[];for(e=0;n>e;e++){if(f=m[e],g=0,h=a("<tr/>"),p.push([]),q.push([]),r.push([]),f)for(i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),k=a('<td class="fc-event-container"/>').append(j.el),j.leftCol!=j.rightCol?k.attr("colspan",j.rightCol-j.leftCol+1):r[e][g]=k;g<=j.rightCol;)q[e][g]=k,p[e][g]=j,g++;h.append(k)}d(l),this.bookendCells(h),o.append(h)}return{row:b,tbodyEl:o,cellMatrix:q,segMatrix:p,segLevels:m,segs:c}},buildSegLevels:function(a){var b,c,d,e=[];for(this.sortEventSegs(a),b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ca(c,e[d]);d++);c.level=d,(e[d]||(e[d]=[])).push(c)}for(d=0;d<e.length;d++)e[d].sort(Da);return e},groupSegRows:function(a){var b,c=[];for(b=0;b<this.rowCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].row].push(a[b]);return c}}),mb.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(a){var b,c,d=this.rowStructs||[];for(b=0;b<d.length;b++)this.unlimitRow(b),c=a?"number"==typeof a?a:this.computeRowLevelLimit(b):!1,c!==!1&&this.limitRow(b,c)},computeRowLevelLimit:function(b){function c(b,c){f=Math.max(f,a(c).outerHeight())}var d,e,f,g=this.rowEls.eq(b),h=g.height(),i=this.rowStructs[b].tbodyEl.children();for(d=0;d<i.length;d++)if(e=i.eq(d).removeClass("fc-limited"),f=0,e.find("> td > :first-child").each(c),e.position().top+f>h)return d;return!1},limitRow:function(b,c){function d(d){for(;d>w;)j=t.getCellSegs(b,w,c),j.length&&(m=f[c-1][w],s=t.renderMoreLink(b,w,j),r=a("<div/>").append(s),m.append(r),v.push(r[0])),w++}var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=this,u=this.rowStructs[b],v=[],w=0;if(c&&c<u.segLevels.length){for(e=u.segLevels[c-1],f=u.cellMatrix,g=u.tbodyEl.children().slice(c).addClass("fc-limited").get(),h=0;h<e.length;h++){for(i=e[h],d(i.leftCol),l=[],k=0;w<=i.rightCol;)j=this.getCellSegs(b,w,c),l.push(j),k+=j.length,w++;if(k){for(m=f[c-1][i.leftCol],n=m.attr("rowspan")||1,o=[],p=0;p<l.length;p++)q=a('<td class="fc-more-cell"/>').attr("rowspan",n),j=l[p],s=this.renderMoreLink(b,i.leftCol+p,[i].concat(j)),r=a("<div/>").append(s),q.append(r),o.push(q[0]),v.push(q[0]);m.addClass("fc-limited").after(a(o)),g.push(m[0])}}d(this.colCnt),u.moreEls=a(v),u.limitedEls=a(g)}},unlimitRow:function(a){var b=this.rowStructs[a];b.moreEls&&(b.moreEls.remove(),b.moreEls=null),b.limitedEls&&(b.limitedEls.removeClass("fc-limited"),b.limitedEls=null)},renderMoreLink:function(b,c,d){var e=this,f=this.view;return a('<a class="fc-more"/>').text(this.getMoreLinkText(d.length)).on("click",function(g){var h=f.opt("eventLimitClick"),i=e.getCellDate(b,c),j=a(this),k=e.getCellEl(b,c),l=e.getCellSegs(b,c),m=e.resliceDaySegs(l,i),n=e.resliceDaySegs(d,i);"function"==typeof h&&(h=f.trigger("eventLimitClick",null,{date:i,dayEl:k,moreEl:j,segs:m,hiddenSegs:n},g)),"popover"===h?e.showSegPopover(b,c,j,m):"string"==typeof h&&f.calendar.zoomTo(i,h)})},showSegPopover:function(a,b,c,d){var e,f,g=this,h=this.view,i=c.parent();e=1==this.rowCnt?h.el:this.rowEls.eq(a),f={className:"fc-more-popover",content:this.renderSegPopoverContent(a,b,d),parentEl:this.el,top:e.offset().top,autoHide:!0,viewportConstrain:h.opt("popoverViewportConstrain"),hide:function(){g.segPopover.removeElement(),g.segPopover=null,g.popoverSegs=null}},this.isRTL?f.right=i.offset().left+i.outerWidth()+1:f.left=i.offset().left-1,this.segPopover=new fb(f),this.segPopover.show()},renderSegPopoverContent:function(b,c,d){var e,f=this.view,g=f.opt("theme"),h=this.getCellDate(b,c).format(f.opt("dayPopoverFormat")),i=a('<div class="fc-header '+f.widgetHeaderClass+'"><span class="fc-close '+(g?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+Y(h)+'</span><div class="fc-clear"/></div><div class="fc-body '+f.widgetContentClass+'"><div class="fc-event-container"></div></div>'),j=i.find(".fc-event-container");for(d=this.renderFgSegEls(d,!0),this.popoverSegs=d,e=0;e<d.length;e++)this.prepareHits(),d[e].hit=this.getCellHit(b,c),this.releaseHits(),j.append(d[e].el);return i},resliceDaySegs:function(b,c){var d=a.map(b,function(a){return a.event}),e=c.clone(),f=e.clone().add(1,"days"),g={start:e,end:f};return b=this.eventsToSegs(d,function(a){var b=E(a,g);return b?[b]:[]}),this.sortEventSegs(b),b},getMoreLinkText:function(a){var b=this.view.opt("eventLimitText");return"function"==typeof b?b(a):"+"+a+" "+b},getCellSegs:function(a,b,c){for(var d,e=this.rowStructs[a].segMatrix,f=c||0,g=[];f<e.length;)d=e[f][b],d&&g.push(d),f++;return g}});var nb=Pa.TimeGrid=kb.extend(lb,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatEls:null,nowIndicatorEls:null,colCoordCache:null,slatCoordCache:null,constructor:function(){kb.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatEls=this.el.find(".fc-slats tr"),this.colCoordCache=new gb({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new gb({els:this.slatEls,isVertical:!0}),this.renderContentSkeleton()},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var a,c,d,e=this.view,f=this.isRTL,g="",h=b.duration(+this.minTime);h<this.maxTime;)a=this.start.clone().time(h),c=ba(L(h,this.labelInterval)),d='<td class="fc-axis fc-time '+e.widgetContentClass+'" '+e.axisStyleAttr()+">"+(c?"<span>"+Y(a.format(this.labelFormat))+"</span>":"")+"</td>",g+='<tr data-time="'+a.format("HH:mm:ss")+'"'+(c?"":' class="fc-minor"')+">"+(f?"":d)+'<td class="'+e.widgetContentClass+'"/>'+(f?d:"")+"</tr>",h.add(this.slotDuration);return g},processOptions:function(){var c,d=this.view,e=d.opt("slotDuration"),f=d.opt("snapDuration");e=b.duration(e),f=f?b.duration(f):e,this.slotDuration=e,this.snapDuration=f,this.snapsPerSlot=e/f,this.minResizeDuration=f,this.minTime=b.duration(d.opt("minTime")),this.maxTime=b.duration(d.opt("maxTime")),c=d.opt("slotLabelFormat"),a.isArray(c)&&(c=c[c.length-1]),this.labelFormat=c||d.opt("axisFormat")||d.opt("smallTimeFormat"),c=d.opt("slotLabelInterval"),this.labelInterval=c?b.duration(c):this.computeLabelInterval(e)},computeLabelInterval:function(a){var c,d,e;for(c=Db.length-1;c>=0;c--)if(d=b.duration(Db[c]),e=L(d,a),ba(e)&&e>1)return d;return b.duration(a)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(a,b){var c=this.snapsPerSlot,d=this.colCoordCache,e=this.slatCoordCache,f=d.getHorizontalIndex(a),g=e.getVerticalIndex(b);if(null!=f&&null!=g){var h=e.getTopOffset(g),i=e.getHeight(g),j=(b-h)/i,k=Math.floor(j*c),l=g*c+k,m=h+k/c*i,n=h+(k+1)/c*i;return{col:f,snap:l,component:this,left:d.getLeftOffset(f),right:d.getRightOffset(f),top:m,bottom:n}}},getHitSpan:function(a){var b,c=this.getCellDate(0,a.col),d=this.computeSnapTime(a.snap);return c.time(d),b=c.clone().add(this.snapDuration),{start:c,end:b}},getHitEl:function(a){return this.colEls.eq(a.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(a){return b.duration(this.minTime+this.snapDuration*a)},spanToSegs:function(a){var b,c=this.sliceRangeByTimes(a);for(b=0;b<c.length;b++)this.isRTL?c[b].col=this.daysPerRow-1-c[b].dayIndex:c[b].col=c[b].dayIndex;return c},sliceRangeByTimes:function(a){var b,c,d,e,f=[];for(c=0;c<this.daysPerRow;c++)d=this.dayDates[c].clone(),e={start:d.clone().time(this.minTime),end:d.clone().time(this.maxTime)},b=E(a,e),b&&(b.dayIndex=c,f.push(b));return f},updateSize:function(a){this.slatCoordCache.build(),a&&this.updateSegVerticals([].concat(this.fgSegs||[],this.bgSegs||[],this.businessSegs||[]))},computeDateTop:function(a,c){return this.computeTimeTop(b.duration(a-c.clone().stripTime()))},computeTimeTop:function(a){var b,c,d=this.slatEls.length,e=(a-this.minTime)/this.slotDuration;return e=Math.max(0,e),e=Math.min(d,e),b=Math.floor(e),b=Math.min(b,d-1),c=e-b,this.slatCoordCache.getTopPosition(b)+this.slatCoordCache.getHeight(b)*c},renderDrag:function(a,b){if(b){this.renderEventLocationHelper(a,b);for(var c=0;c<this.helperSegs.length;c++)this.applyDragOpacity(this.helperSegs[c].el);return!0}this.renderHighlight(this.eventToSpan(a))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(a,b){this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(a,b){this.renderHelperSegs(this.eventToSegs(a),b)},unrenderHelper:function(){this.unrenderHelperSegs()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(),b=this.eventsToSegs(a);this.renderBusinessSegs(b)},unrenderBusinessHours:function(){this.unrenderBusinessSegs()},getNowIndicatorUnit:function(){return"minute"},renderNowIndicator:function(b){var c,d=this.spanToSegs({start:b,end:b}),e=this.computeDateTop(b,b),f=[];for(c=0;c<d.length;c++)f.push(a('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top",e).appendTo(this.colContainerEls.eq(d[c].col))[0]);d.length>0&&f.push(a('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top",e).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=a(f)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},renderSelection:function(a){this.view.opt("selectHelper")?this.renderEventLocationHelper(a):this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderHighlight:function(a){this.renderHighlightSegs(this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderHighlightSegs()}});nb.mixin({colContainerEls:null,fgContainerEls:null,bgContainerEls:null,helperContainerEls:null,highlightContainerEls:null,businessContainerEls:null,fgSegs:null,bgSegs:null,helperSegs:null,highlightSegs:null,businessSegs:null,renderContentSkeleton:function(){var b,c,d="";for(b=0;b<this.colCnt;b++)d+='<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';c=a('<div class="fc-content-skeleton"><table><tr>'+d+"</tr></table></div>"),this.colContainerEls=c.find(".fc-content-col"),this.helperContainerEls=c.find(".fc-helper-container"),this.fgContainerEls=c.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=c.find(".fc-bgevent-container"),this.highlightContainerEls=c.find(".fc-highlight-container"),this.businessContainerEls=c.find(".fc-business-container"),this.bookendCells(c.find("tr")),this.el.append(c)},renderFgSegs:function(a){return a=this.renderFgSegsIntoContainers(a,this.fgContainerEls),this.fgSegs=a,a},unrenderFgSegs:function(){this.unrenderNamedSegs("fgSegs")},renderHelperSegs:function(a,b){var c,d,e;for(a=this.renderFgSegsIntoContainers(a,this.helperContainerEls),c=0;c<a.length;c++)d=a[c],b&&b.col===d.col&&(e=b.el,d.el.css({left:e.css("left"),right:e.css("right"),"margin-left":e.css("margin-left"),"margin-right":e.css("margin-right")}));this.helperSegs=a},unrenderHelperSegs:function(){this.unrenderNamedSegs("helperSegs")},renderBgSegs:function(a){return a=this.renderFillSegEls("bgEvent",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.bgContainerEls),this.bgSegs=a,a},unrenderBgSegs:function(){this.unrenderNamedSegs("bgSegs")},renderHighlightSegs:function(a){a=this.renderFillSegEls("highlight",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.highlightContainerEls),this.highlightSegs=a},unrenderHighlightSegs:function(){this.unrenderNamedSegs("highlightSegs")},renderBusinessSegs:function(a){a=this.renderFillSegEls("businessHours",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.businessContainerEls),this.businessSegs=a},unrenderBusinessSegs:function(){this.unrenderNamedSegs("businessSegs")},groupSegsByCol:function(a){var b,c=[];for(b=0;b<this.colCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].col].push(a[b]);return c},attachSegsByCol:function(a,b){var c,d,e;for(c=0;c<this.colCnt;c++)for(d=a[c],e=0;e<d.length;e++)b.eq(c).append(d[e].el)},unrenderNamedSegs:function(a){var b,c=this[a];if(c){for(b=0;b<c.length;b++)c[b].el.remove();this[a]=null}},renderFgSegsIntoContainers:function(a,b){var c,d;for(a=this.renderFgSegEls(a),c=this.groupSegsByCol(a),d=0;d<this.colCnt;d++)this.updateFgSegCoords(c[d]);return this.attachSegsByCol(c,b),a},fgSegHtml:function(a,b){var c,d,e,f=this.view,g=a.event,h=f.isEventDraggable(g),i=!b&&a.isStart&&f.isEventResizableFromStart(g),j=!b&&a.isEnd&&f.isEventResizableFromEnd(g),k=this.getSegClasses(a,h,i||j),l=$(this.getSegSkinCss(a));return k.unshift("fc-time-grid-event","fc-v-event"),f.isMultiDayEvent(g)?(a.isStart||a.isEnd)&&(c=this.getEventTimeText(a),d=this.getEventTimeText(a,"LT"),e=this.getEventTimeText(a,null,!1)):(c=this.getEventTimeText(g),d=this.getEventTimeText(g,"LT"),e=this.getEventTimeText(g,null,!1)),'<a class="'+k.join(" ")+'"'+(g.url?' href="'+Y(g.url)+'"':"")+(l?' style="'+l+'"':"")+'><div class="fc-content">'+(c?'<div class="fc-time" data-start="'+Y(e)+'" data-full="'+Y(d)+'"><span>'+Y(c)+"</span></div>":"")+(g.title?'<div class="fc-title">'+Y(g.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(j?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},updateSegVerticals:function(a){this.computeSegVerticals(a),this.assignSegVerticals(a)},computeSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.top=this.computeDateTop(c.start,c.start),c.bottom=this.computeDateTop(c.end,c.start)},assignSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateSegVerticalCss(c))},generateSegVerticalCss:function(a){return{top:a.top,bottom:-a.bottom}},updateFgSegCoords:function(a){this.computeSegVerticals(a),this.computeFgSegHorizontals(a),this.assignSegVerticals(a),this.assignFgSegHorizontals(a)},computeFgSegHorizontals:function(a){var b,c,d;if(this.sortEventSegs(a),b=Ea(a),Fa(b),c=b[0]){for(d=0;d<c.length;d++)Ga(c[d]);for(d=0;d<c.length;d++)this.computeFgSegForwardBack(c[d],0,0)}},computeFgSegForwardBack:function(a,b,c){var d,e=a.forwardSegs;if(void 0===a.forwardCoord)for(e.length?(this.sortForwardSegs(e),this.computeFgSegForwardBack(e[0],b+1,c),a.forwardCoord=e[0].backwardCoord):a.forwardCoord=1,a.backwardCoord=a.forwardCoord-(a.forwardCoord-c)/(b+1),d=0;d<e.length;d++)this.computeFgSegForwardBack(e[d],0,a.forwardCoord)},sortForwardSegs:function(a){a.sort(ca(this,"compareForwardSegs"))},compareForwardSegs:function(a,b){return b.forwardPressure-a.forwardPressure||(a.backwardCoord||0)-(b.backwardCoord||0)||this.compareEventSegs(a,b)},assignFgSegHorizontals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateFgSegHorizontalCss(c)),c.bottom-c.top<30&&c.el.addClass("fc-short")},generateFgSegHorizontalCss:function(a){var b,c,d=this.view.opt("slotEventOverlap"),e=a.backwardCoord,f=a.forwardCoord,g=this.generateSegVerticalCss(a);return d&&(f=Math.min(1,e+2*(f-e))),this.isRTL?(b=1-f,c=e):(b=e,c=1-f),g.zIndex=a.level+1,g.left=100*b+"%",g.right=100*c+"%",d&&a.forwardPressure&&(g[this.isRTL?"marginLeft":"marginRight"]=20),g}});var ob=Pa.View=ra.extend({type:null,name:null,title:null,calendar:null,options:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,eventOrderSpecs:null,scrollerEl:null,scrollTop:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,documentMousedownProxy:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(a,c,d,e){this.calendar=a,this.type=this.name=c,this.options=d,this.intervalDuration=e||b.duration(1,"day"),this.nextDayThreshold=b.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=A(this.opt("eventOrder")),this.documentMousedownProxy=ca(this,"documentMousedown"),this.initialize()},initialize:function(){},opt:function(a){return this.options[a]},trigger:function(a,b){var c=this.calendar;return c.trigger.apply(c,[a,b||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(a){this.setRange(this.computeRange(a))},setRange:function(b){a.extend(this,b),this.updateTitle()},computeRange:function(a){var b,c,d=I(this.intervalDuration),e=a.clone().startOf(d),f=e.clone().add(this.intervalDuration);return/year|month|week|day/.test(d)?(e.stripTime(),f.stripTime()):(e.hasTime()||(e=this.calendar.time(0)),f.hasTime()||(f=this.calendar.time(0))),b=e.clone(),b=this.skipHiddenDays(b),c=f.clone(),c=this.skipHiddenDays(c,-1,!0),{intervalUnit:d,intervalStart:e,intervalEnd:f,start:b,end:c}},computePrevDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(a,b){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,b),a.startOf("day")),a},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.calendar.applyTimezone(this.intervalStart),end:this.calendar.applyTimezone(this.intervalEnd)},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(a,b,c){var d=a.end;return d.hasTime()||(d=d.clone().subtract(1)),ma(a.start,d,b,c,this.opt("isRTL"))},setElement:function(a){this.el=a,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(b){var c=this,d=null;return this.displaying&&(d=this.queryScroll()),this.calendar.freezeContentHeight(),this.clear().then(function(){return c.displaying=a.when(c.displayView(b)).then(function(){c.forceScroll(c.computeInitialScroll(d)),c.calendar.unfreezeContentHeight(),c.triggerRender()})})},clear:function(){var b=this,c=this.displaying;return c?c.then(function(){return b.displaying=null,b.clearEvents(),b.clearView()}):a.when()},displayView:function(a){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),a&&this.setDate(a),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours(),this.startNowIndicator()},clearView:function(){this.unselect(),this.stopNowIndicator(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){a(document).on("mousedown",this.documentMousedownProxy)},unbindGlobalHandlers:function(){a(document).off("mousedown",this.documentMousedownProxy)},initThemingProps:function(){var a=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=a+"-widget-header",this.widgetContentClass=a+"-widget-content",this.highlightStateClass=a+"-state-highlight"},renderBusinessHours:function(){},unrenderBusinessHours:function(){},startNowIndicator:function(){var a,c,d,e=this;this.opt("nowIndicator")&&(a=this.getNowIndicatorUnit(),a&&(c=ca(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,this.renderNowIndicator(this.initialNowDate),this.isNowIndicatorRendered=!0,d=this.initialNowDate.clone().startOf(a).add(1,a)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){e.nowIndicatorTimeoutID=null,c(),d=+b.duration(1,a),d=Math.max(100,d),e.nowIndicatorIntervalID=setInterval(c,d)},d)))},updateNowIndicator:function(){this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)))},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},updateSize:function(a){var b;a&&(b=this.queryScroll()),this.updateHeight(a),this.updateWidth(a),this.updateNowIndicator(),a&&this.setScroll(b)},updateWidth:function(a){},updateHeight:function(a){var b=this.calendar;this.setHeight(b.getSuggestedViewHeight(),b.isHeightAuto())},setHeight:function(a,b){},computeScrollerHeight:function(a){var b,c,d=this.scrollerEl;return b=this.el.add(d),b.css({position:"relative",left:-1}),c=this.el.outerHeight()-d.height(),b.css({position:"",left:""}),a-c},computeInitialScroll:function(a){return 0},queryScroll:function(){return this.scrollerEl?this.scrollerEl.scrollTop():void 0},setScroll:function(a){return this.scrollerEl?this.scrollerEl.scrollTop(a):void 0},forceScroll:function(a){var b=this;this.setScroll(a),setTimeout(function(){b.setScroll(a)},0)},displayEvents:function(a){var b=this.queryScroll();this.clearEvents(),this.renderEvents(a),this.isEventsRendered=!0,this.setScroll(b),this.triggerEventRender()},clearEvents:function(){var a;this.isEventsRendered&&(a=this.queryScroll(),this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.setScroll(a),this.isEventsRendered=!1)},renderEvents:function(a){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(a){this.trigger("eventAfterRender",a.event,a.event,a.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(a){this.trigger("eventDestroy",a.event,a.event,a.el)})},resolveEventEl:function(b,c){var d=this.trigger("eventRender",b,b,c);return d===!1?c=null:d&&d!==!0&&(c=a(d)),c},showEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","")},a)},hideEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","hidden")},a)},renderedEventSegEach:function(a,b){var c,d=this.getEventSegs();for(c=0;c<d.length;c++)b&&d[c].event._id!==b._id||d[c].el&&a.call(this,d[c])},getEventSegs:function(){return[]},isEventDraggable:function(a){var b=a.source||{};return X(a.startEditable,b.startEditable,this.opt("eventStartEditable"),a.editable,b.editable,this.opt("editable"))},reportEventDrop:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventDrop(a,g.dateDelta,h,d,e),f.reportEventChange()},triggerEventDrop:function(a,b,c,d,e){this.trigger("eventDrop",d[0],a,b,c,e,{})},reportExternalDrop:function(b,c,d,e,f){var g,h,i=b.eventProps;i&&(g=a.extend({},i,c),h=this.calendar.renderEvent(g,b.stick)[0]),this.triggerExternalDrop(h,c,d,e,f)},triggerExternalDrop:function(a,b,c,d,e){this.trigger("drop",c[0],b.start,d,e),a&&this.trigger("eventReceive",null,a)},renderDrag:function(a,b){},unrenderDrag:function(){},isEventResizableFromStart:function(a){return this.opt("eventResizableFromStart")&&this.isEventResizable(a)},isEventResizableFromEnd:function(a){return this.isEventResizable(a)},isEventResizable:function(a){var b=a.source||{};return X(a.durationEditable,b.durationEditable,this.opt("eventDurationEditable"),a.editable,b.editable,this.opt("editable"))},reportEventResize:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventResize(a,g.durationDelta,h,d,e),f.reportEventChange()},triggerEventResize:function(a,b,c,d,e){this.trigger("eventResize",d[0],a,b,c,e,{})},select:function(a,b){this.unselect(b),this.renderSelection(a),this.reportSelection(a,b)},renderSelection:function(a){},reportSelection:function(a,b){this.isSelected=!0,this.triggerSelect(a,b)},triggerSelect:function(a,b){this.trigger("select",null,this.calendar.applyTimezone(a.start),this.calendar.applyTimezone(a.end),b)},unselect:function(a){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,a))},unrenderSelection:function(){},documentMousedown:function(b){var c;this.isSelected&&this.opt("unselectAuto")&&v(b)&&(c=this.opt("unselectCancel"),c&&a(b.target).closest(c).length||this.unselect(b))},triggerDayClick:function(a,b,c){this.trigger("dayClick",b,this.calendar.applyTimezone(a.start),c)},initHiddenDays:function(){var b,c=this.opt("hiddenDays")||[],d=[],e=0;for(this.opt("weekends")===!1&&c.push(0,6),b=0;7>b;b++)(d[b]=-1!==a.inArray(b,c))||e++;if(!e)throw"invalid hiddenDays";this.isHiddenDayHash=d},isHiddenDay:function(a){return b.isMoment(a)&&(a=a.day()),this.isHiddenDayHash[a]},skipHiddenDays:function(a,b,c){var d=a.clone();for(b=b||1;this.isHiddenDayHash[(d.day()+(c?b:0)+7)%7];)d.add(b,"days");return d},computeDayRange:function(a){var b,c=a.start.clone().stripTime(),d=a.end,e=null;return d&&(e=d.clone().stripTime(),b=+d.time(),b&&b>=this.nextDayThreshold&&e.add(1,"days")),(!d||c>=e)&&(e=c.clone().add(1,"days")),{start:c,end:e}},isMultiDayEvent:function(a){var b=this.computeDayRange(a);return b.end.diff(b.start,"days")>1}}),pb=Pa.Calendar=ra.extend({dirDefaults:null,langDefaults:null,overrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Ja,initialize:function(){},initOptions:function(a){var b,e,f,g;a=d(a),b=a.lang,e=qb[b],e||(b=pb.defaults.lang,e=qb[b]||{}),f=X(a.isRTL,e.isRTL,pb.defaults.isRTL),g=f?pb.rtlDefaults:{},this.dirDefaults=g,this.langDefaults=e,this.overrides=a,this.options=c([pb.defaults,g,e,a]),Ka(this.options),this.viewSpecCache={}},getViewSpec:function(a){var b=this.viewSpecCache;return b[a]||(b[a]=this.buildViewSpec(a))},getUnitViewSpec:function(b){var c,d,e;if(-1!=a.inArray(b,Ua))for(c=this.header.getViewsWithButtons(),a.each(Pa.views,function(a){c.push(a)}),d=0;d<c.length;d++)if(e=this.getViewSpec(c[d]),e&&e.singleUnit==b)return e},buildViewSpec:function(a){for(var d,e,f,g,h=this.overrides.views||{},i=[],j=[],k=[],l=a;l;)d=Qa[l],e=h[l],l=null,"function"==typeof d&&(d={"class":d}),d&&(i.unshift(d),j.unshift(d.defaults||{}),f=f||d.duration,l=l||d.type),e&&(k.unshift(e),f=f||e.duration,l=l||e.type);return d=Q(i),d.type=a,d["class"]?(f&&(f=b.duration(f),f.valueOf()&&(d.duration=f,g=I(f),1===f.as(g)&&(d.singleUnit=g,k.unshift(h[g]||{})))),d.defaults=c(j),d.overrides=c(k),this.buildViewSpecOptions(d),this.buildViewSpecButtonText(d,a),d):!1},buildViewSpecOptions:function(a){a.options=c([pb.defaults,a.defaults,this.dirDefaults,this.langDefaults,this.overrides,a.overrides]),Ka(a.options)},buildViewSpecButtonText:function(a,b){function c(c){var d=c.buttonText||{};return d[b]||(a.singleUnit?d[a.singleUnit]:null)}a.buttonTextOverride=c(this.overrides)||a.overrides.buttonText,a.buttonTextDefault=c(this.langDefaults)||c(this.dirDefaults)||a.defaults.buttonText||c(pb.defaults)||(a.duration?this.humanizeDuration(a.duration):null)||b},instantiateView:function(a){var b=this.getViewSpec(a);return new b["class"](this,a,b.options,b.duration)},isValidViewType:function(a){return Boolean(this.getViewSpec(a))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectSpan:function(a,b){var c,d=this.moment(a).stripZone();return c=b?this.moment(b).stripZone():d.hasTime()?d.clone().add(this.defaultTimedEventDuration):d.clone().add(this.defaultAllDayEventDuration),{start:d,end:c}}});pb.mixin(eb),pb.defaults={titleRangeSeparator:" — ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:200},pb.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},pb.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var qb=Pa.langs={};Pa.datepickerLang=function(b,c,d){var e=qb[b]||(qb[b]={});e.isRTL=d.isRTL,e.weekNumberTitle=d.weekHeader,a.each(rb,function(a,b){e[a]=b(d)}),a.datepicker&&(a.datepicker.regional[c]=a.datepicker.regional[b]=d,a.datepicker.regional.en=a.datepicker.regional[""],a.datepicker.setDefaults(d))},Pa.lang=function(b,d){var e,f;e=qb[b]||(qb[b]={}),d&&(e=qb[b]=c([e,d])),f=La(b),a.each(sb,function(a,b){null==e[a]&&(e[a]=b(f,e))}),pb.defaults.lang=b};var rb={buttonText:function(a){return{prev:Z(a.prevText),next:Z(a.nextText),today:Z(a.currentText)}},monthYearFormat:function(a){return a.showMonthAfterYear?"YYYY["+a.yearSuffix+"] MMMM":"MMMM YYYY["+a.yearSuffix+"]"}},sb={dayOfMonthFormat:function(a,b){var c=a.longDateFormat("l");return c=c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),b.isRTL?c+=" ddd":c="ddd "+c,c},mediumTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a");
-},extraSmallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(a){return a.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"")}},tb={smallDayDateFormat:function(a){return a.isRTL?"D dd":"dd D"},weekFormat:function(a){return a.isRTL?"w[ "+a.weekNumberTitle+"]":"["+a.weekNumberTitle+" ]w"},smallWeekFormat:function(a){return a.isRTL?"w["+a.weekNumberTitle+"]":"["+a.weekNumberTitle+"]w"}};Pa.lang("en",pb.englishDefaults),Pa.sourceNormalizers=[],Pa.sourceFetchers=[];var ub={dataType:"json",cache:!1},vb=1;pb.prototype.getPeerEvents=function(a,b){var c,d,e=this.getEventCache(),f=[];for(c=0;c<e.length;c++)d=e[c],b&&b._id===d._id||f.push(d);return f};var wb=Pa.BasicView=ob.extend({dayGridClass:mb,dayGrid:null,dayNumbersVisible:!1,weekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid()},instantiateDayGrid:function(){var a=this.dayGridClass.extend(xb);return new a(this)},setRange:function(a){ob.prototype.setRange.call(this,a),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(a)},computeRange:function(a){var b=ob.prototype.computeRange.call(this,a);return/year|month/.test(b.intervalUnit)&&(b.start.startOf("week"),b.start=this.skipHiddenDays(b.start),b.end.weekday()&&(b.end.add(1,"week").startOf("week"),b.end=this.skipHiddenDays(b.end,-1,!0))),b},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.weekNumbersVisible=this.opt("weekNumbers"),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.weekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scrollerEl=this.el.find(".fc-day-grid-container"),this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"><div class="fc-day-grid-container"><div class="fc-day-grid"/></div></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var a=this.opt("eventLimit");return a&&"number"!=typeof a},updateWidth:function(){this.weekNumbersVisible&&(this.weekNumberWidth=k(this.el.find(".fc-week-number")))},setHeight:function(a,b){var c,d=this.opt("eventLimit");m(this.scrollerEl),f(this.headRowEl),this.dayGrid.removeSegPopover(),d&&"number"==typeof d&&this.dayGrid.limitRows(d),c=this.computeScrollerHeight(a),this.setGridHeight(c,b),d&&"number"!=typeof d&&this.dayGrid.limitRows(d),!b&&l(this.scrollerEl,c)&&(e(this.headRowEl,r(this.scrollerEl)),c=this.computeScrollerHeight(a),this.scrollerEl.height(c))},setGridHeight:function(a,b){b?j(this.dayGrid.rowEls):i(this.dayGrid.rowEls,a,!0)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(a,b){return this.dayGrid.queryHit(a,b)},getHitSpan:function(a){return this.dayGrid.getHitSpan(a)},getHitEl:function(a){return this.dayGrid.getHitEl(a)},renderEvents:function(a){this.dayGrid.renderEvents(a),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return this.dayGrid.renderDrag(a,b)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(a){this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),xb={renderHeadIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<th class="fc-week-number '+a.widgetHeaderClass+'" '+a.weekNumberStyleAttr()+"><span>"+Y(a.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(a){var b=this.view;return b.weekNumbersVisible?'<td class="fc-week-number" '+b.weekNumberStyleAttr()+"><span>"+this.getCellDate(a,0).format("w")+"</span></td>":""},renderBgIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number '+a.widgetContentClass+'" '+a.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number" '+a.weekNumberStyleAttr()+"></td>":""}},yb=Pa.MonthView=wb.extend({computeRange:function(a){var b,c=wb.prototype.computeRange.call(this,a);return this.isFixedWeeks()&&(b=Math.ceil(c.end.diff(c.start,"weeks",!0)),c.end.add(6-b,"weeks")),c},setGridHeight:function(a,b){b=b||"variable"===this.opt("weekMode"),b&&(a*=this.rowCnt/6),i(this.dayGrid.rowEls,a,!b)},isFixedWeeks:function(){var a=this.opt("weekMode");return a?"fixed"===a:this.opt("fixedWeekCount")}});Qa.basic={"class":wb},Qa.basicDay={type:"basic",duration:{days:1}},Qa.basicWeek={type:"basic",duration:{weeks:1}},Qa.month={"class":yb,duration:{months:1},defaults:{fixedWeekCount:!0}};var zb=Pa.AgendaView=ob.extend({timeGridClass:nb,timeGrid:null,dayGridClass:mb,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,bottomRuleHeight:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid())},instantiateTimeGrid:function(){var a=this.timeGridClass.extend(Ab);return new a(this)},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Bb);return new a(this)},setRange:function(a){ob.prototype.setRange.call(this,a),this.timeGrid.setRange(a),this.dayGrid&&this.dayGrid.setRange(a)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scrollerEl=this.el.find(".fc-time-grid-container"),this.timeGrid.setElement(this.el.find(".fc-time-grid")),this.timeGrid.renderDates(),this.bottomRuleEl=a('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement())},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+'<div class="fc-time-grid-container"><div class="fc-time-grid"/></div></td></tr></tbody></table>'},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.timeGrid.unrenderBusinessHours(),this.dayGrid&&this.dayGrid.unrenderBusinessHours()},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},renderNowIndicator:function(a){this.timeGrid.renderNowIndicator(a)},unrenderNowIndicator:function(){this.timeGrid.unrenderNowIndicator()},updateSize:function(a){this.timeGrid.updateSize(a),ob.prototype.updateSize.call(this,a)},updateWidth:function(){this.axisWidth=k(this.el.find(".fc-axis"))},setHeight:function(a,b){var c,d;null===this.bottomRuleHeight&&(this.bottomRuleHeight=this.bottomRuleEl.outerHeight()),this.bottomRuleEl.hide(),this.scrollerEl.css("overflow",""),m(this.scrollerEl),f(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),c=this.opt("eventLimit"),c&&"number"!=typeof c&&(c=Cb),c&&this.dayGrid.limitRows(c)),b||(d=this.computeScrollerHeight(a),l(this.scrollerEl,d)?(e(this.noScrollRowEls,r(this.scrollerEl)),d=this.computeScrollerHeight(a),this.scrollerEl.height(d)):(this.scrollerEl.height(d).css("overflow","hidden"),this.bottomRuleEl.show()))},computeInitialScroll:function(){var a=b.duration(this.opt("scrollTime")),c=this.timeGrid.computeTimeTop(a);return c=Math.ceil(c),c&&c++,c},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(a,b){var c=this.timeGrid.queryHit(a,b);return!c&&this.dayGrid&&(c=this.dayGrid.queryHit(a,b)),c},getHitSpan:function(a){return a.component.getHitSpan(a)},getHitEl:function(a){return a.component.getHitEl(a)},renderEvents:function(a){var b,c,d=[],e=[],f=[];for(c=0;c<a.length;c++)a[c].allDay?d.push(a[c]):e.push(a[c]);b=this.timeGrid.renderEvents(e),this.dayGrid&&(f=this.dayGrid.renderEvents(d)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return a.start.hasTime()?this.timeGrid.renderDrag(a,b):this.dayGrid?this.dayGrid.renderDrag(a,b):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(a){a.start.hasTime()||a.end.hasTime()?this.timeGrid.renderSelection(a):this.dayGrid&&this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Ab={renderHeadIntroHtml:function(){var a,b=this.view;return b.opt("weekNumbers")?(a=this.start.format(b.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"><span>"+Y(a)+"</span></th>"):'<th class="fc-axis '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Bb={renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"><span>"+(a.opt("allDayHtml")||Y(a.opt("allDayText")))+"</span></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Cb=5,Db=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];return Qa.agenda={"class":zb,defaults:{allDaySlot:!0,allDayText:"all-day",slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Qa.agendaDay={type:"agenda",duration:{days:1}},Qa.agendaWeek={type:"agenda",duration:{weeks:1}},Pa}); \ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){function c(a){return W(a,Xa)}function d(b){var c,d={views:b.views||{}};return a.each(b,function(b,e){"views"!=b&&(a.isPlainObject(e)&&!/(time|duration|interval)$/i.test(b)&&-1==a.inArray(b,Xa)?(c=null,a.each(e,function(a,e){/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a)?(d.views[a]||(d.views[a]={}),d.views[a][b]=e):(c||(c={}),c[a]=e)}),c&&(d[b]=c)):d[b]=e)}),d}function e(a,b){b.left&&a.css({"border-left-width":1,"margin-left":b.left-1}),b.right&&a.css({"border-right-width":1,"margin-right":b.right-1})}function f(a){a.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function g(){a("body").addClass("fc-not-allowed")}function h(){a("body").removeClass("fc-not-allowed")}function i(b,c,d){var e=Math.floor(c/b.length),f=Math.floor(c-e*(b.length-1)),g=[],h=[],i=[],k=0;j(b),b.each(function(c,d){var j=c===b.length-1?f:e,l=a(d).outerHeight(!0);j>l?(g.push(d),h.push(l),i.push(a(d).height())):k+=l}),d&&(c-=k,e=Math.floor(c/g.length),f=Math.floor(c-e*(g.length-1))),a(g).each(function(b,c){var d=b===g.length-1?f:e,j=h[b],k=i[b],l=d-(j-k);d>j&&a(c).height(l)})}function j(a){a.height("")}function k(b){var c=0;return b.find("> span").each(function(b,d){var e=a(d).outerWidth();e>c&&(c=e)}),c++,b.width(c),c}function l(a,b){var c,d=a.add(b);return d.css({position:"relative",left:-1}),c=a.outerHeight()-b.outerHeight(),d.css({position:"",left:""}),c}function m(b){var c=b.css("position"),d=b.parents().filter(function(){var b=a(this);return/(auto|scroll)/.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&d.length?d:a(b[0].ownerDocument||document)}function n(a,b){var c=a.offset(),d=c.left-(b?b.left:0),e=c.top-(b?b.top:0);return{left:d,right:d+a.outerWidth(),top:e,bottom:e+a.outerHeight()}}function o(a,b){var c=a.offset(),d=q(a),e=c.left+t(a,"border-left-width")+d.left-(b?b.left:0),f=c.top+t(a,"border-top-width")+d.top-(b?b.top:0);return{left:e,right:e+a[0].clientWidth,top:f,bottom:f+a[0].clientHeight}}function p(a,b){var c=a.offset(),d=c.left+t(a,"border-left-width")+t(a,"padding-left")-(b?b.left:0),e=c.top+t(a,"border-top-width")+t(a,"padding-top")-(b?b.top:0);return{left:d,right:d+a.width(),top:e,bottom:e+a.height()}}function q(a){var b=a.innerWidth()-a[0].clientWidth,c={left:0,right:0,top:0,bottom:a.innerHeight()-a[0].clientHeight};return r()&&"rtl"==a.css("direction")?c.left=b:c.right=b,c}function r(){return null===Ya&&(Ya=s()),Ya}function s(){var b=a("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),c=b.children(),d=c.offset().left>b.offset().left;return b.remove(),d}function t(a,b){return parseFloat(a.css(b))||0}function u(a){return 1==a.which&&!a.ctrlKey}function v(a){if(void 0!==a.pageX)return a.pageX;var b=a.originalEvent.touches;return b?b[0].pageX:void 0}function w(a){if(void 0!==a.pageY)return a.pageY;var b=a.originalEvent.touches;return b?b[0].pageY:void 0}function x(a){return/^touch/.test(a.type)}function y(a){a.addClass("fc-unselectable").on("selectstart",z)}function z(a){a.preventDefault()}function A(a){return window.addEventListener?(window.addEventListener("scroll",a,!0),!0):!1}function B(a){return window.removeEventListener?(window.removeEventListener("scroll",a,!0),!0):!1}function C(a,b){var c={left:Math.max(a.left,b.left),right:Math.min(a.right,b.right),top:Math.max(a.top,b.top),bottom:Math.min(a.bottom,b.bottom)};return c.left<c.right&&c.top<c.bottom?c:!1}function D(a,b){return{left:Math.min(Math.max(a.left,b.left),b.right),top:Math.min(Math.max(a.top,b.top),b.bottom)}}function E(a){return{left:(a.left+a.right)/2,top:(a.top+a.bottom)/2}}function F(a,b){return{left:a.left-b.left,top:a.top-b.top}}function G(b){var c,d,e=[],f=[];for("string"==typeof b?f=b.split(/\s*,\s*/):"function"==typeof b?f=[b]:a.isArray(b)&&(f=b),c=0;c<f.length;c++)d=f[c],"string"==typeof d?e.push("-"==d.charAt(0)?{field:d.substring(1),order:-1}:{field:d,order:1}):"function"==typeof d&&e.push({func:d});return e}function H(a,b,c){var d,e;for(d=0;d<c.length;d++)if(e=I(a,b,c[d]))return e;return 0}function I(a,b,c){return c.func?c.func(a,b):J(a[c.field],b[c.field])*(c.order||1)}function J(b,c){return b||c?null==c?-1:null==b?1:"string"===a.type(b)||"string"===a.type(c)?String(b).localeCompare(String(c)):b-c:0}function K(a,b){var c,d,e,f,g=a.start,h=a.end,i=b.start,j=b.end;return h>i&&j>g?(g>=i?(c=g.clone(),e=!0):(c=i.clone(),e=!1),j>=h?(d=h.clone(),f=!0):(d=j.clone(),f=!1),{start:c,end:d,isStart:e,isEnd:f}):void 0}function L(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days"),ms:a.time()-c.time()})}function M(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days")})}function N(a,c,d){return b.duration(Math.round(a.diff(c,d,!0)),d)}function O(a,b){var c,d,e;for(c=0;c<$a.length&&(d=$a[c],e=P(d,a,b),!(e>=1&&ha(e)));c++);return d}function P(a,c,d){return null!=d?d.diff(c,a,!0):b.isDuration(c)?c.as(a):c.end.diff(c.start,a,!0)}function Q(a,b,c){var d;return T(c)?(b-a)/c:(d=c.asMonths(),Math.abs(d)>=1&&ha(d)?b.diff(a,"months",!0)/d:b.diff(a,"days",!0)/c.asDays())}function R(a,b){var c,d;return T(a)||T(b)?a/b:(c=a.asMonths(),d=b.asMonths(),Math.abs(c)>=1&&ha(c)&&Math.abs(d)>=1&&ha(d)?c/d:a.asDays()/b.asDays())}function S(a,c){var d;return T(a)?b.duration(a*c):(d=a.asMonths(),Math.abs(d)>=1&&ha(d)?b.duration({months:d*c}):b.duration({days:a.asDays()*c}))}function T(a){return Boolean(a.hours()||a.minutes()||a.seconds()||a.milliseconds())}function U(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function V(a){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)}function W(a,b){var c,d,e,f,g,h,i={};if(b)for(c=0;c<b.length;c++){for(d=b[c],e=[],f=a.length-1;f>=0;f--)if(g=a[f][d],"object"==typeof g)e.unshift(g);else if(void 0!==g){i[d]=g;break}e.length&&(i[d]=W(e))}for(c=a.length-1;c>=0;c--){h=a[c];for(d in h)d in i||(i[d]=h[d])}return i}function X(a){var b=function(){};return b.prototype=a,new b}function Y(a,b){for(var c in a)$(a,c)&&(b[c]=a[c])}function Z(a,b){var c,d,e=["constructor","toString","valueOf"];for(c=0;c<e.length;c++)d=e[c],a[d]!==Object.prototype[d]&&(b[d]=a[d])}function $(a,b){return cb.call(a,b)}function _(b){return/undefined|null|boolean|number|string/.test(a.type(b))}function aa(b,c,d){if(a.isFunction(b)&&(b=[b]),b){var e,f;for(e=0;e<b.length;e++)f=b[e].apply(c,d)||f;return f}}function ba(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]}function ca(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function da(a){return a.replace(/&.*?;/g,"")}function ea(b){var c=[];return a.each(b,function(a,b){null!=b&&c.push(a+":"+b)}),c.join(";")}function fa(a){return a.charAt(0).toUpperCase()+a.slice(1)}function ga(a,b){return a-b}function ha(a){return a%1===0}function ia(a,b){var c=a[b];return function(){return c.apply(a,arguments)}}function ja(a,b,c){var d,e,f,g,h,i=function(){var j=+new Date-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),f=e=null))};return function(){f=this,e=arguments,g=+new Date;var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}}function ka(c,d,e){var f,g,h,i,j=c[0],k=1==c.length&&"string"==typeof j;return b.isMoment(j)?(i=b.apply(null,c),ma(j,i)):U(j)||void 0===j?i=b.apply(null,c):(f=!1,g=!1,k?db.test(j)?(j+="-01",c=[j],f=!0,g=!0):(h=eb.exec(j))&&(f=!h[5],g=!0):a.isArray(j)&&(g=!0),i=d||f?b.utc.apply(b,c):b.apply(null,c),f?(i._ambigTime=!0,i._ambigZone=!0):e&&(g?i._ambigZone=!0:k&&(i.utcOffset?i.utcOffset(j):i.zone(j)))),i._fullCalendar=!0,i}function la(a,c){var d,e,f=!1,g=!1,h=a.length,i=[];for(d=0;h>d;d++)e=a[d],b.isMoment(e)||(e=Va.moment.parseZone(e)),f=f||e._ambigTime,g=g||e._ambigZone,i.push(e);for(d=0;h>d;d++)e=i[d],c||!f||e._ambigTime?g&&!e._ambigZone&&(i[d]=e.clone().stripZone()):i[d]=e.clone().stripTime();return i}function ma(a,b){a._ambigTime?b._ambigTime=!0:b._ambigTime&&(b._ambigTime=!1),a._ambigZone?b._ambigZone=!0:b._ambigZone&&(b._ambigZone=!1)}function na(a,b){a.year(b[0]||0).month(b[1]||0).date(b[2]||0).hours(b[3]||0).minutes(b[4]||0).seconds(b[5]||0).milliseconds(b[6]||0)}function oa(a,b){return gb.format.call(a,b)}function pa(a,b){return qa(a,va(b))}function qa(a,b){var c,d="";for(c=0;c<b.length;c++)d+=ra(a,b[c]);return d}function ra(a,b){var c,d;return"string"==typeof b?b:(c=b.token)?hb[c]?hb[c](a):oa(a,c):b.maybe&&(d=qa(a,b.maybe),d.match(/[1-9]/))?d:""}function sa(a,b,c,d,e){var f;return a=Va.moment.parseZone(a),b=Va.moment.parseZone(b),f=(a.localeData||a.lang).call(a),c=f.longDateFormat(c)||c,d=d||" - ",ta(a,b,va(c),d,e)}function ta(a,b,c,d,e){var f,g,h,i,j=a.clone().stripZone(),k=b.clone().stripZone(),l="",m="",n="",o="",p="";for(g=0;g<c.length&&(f=ua(a,b,j,k,c[g]),f!==!1);g++)l+=f;for(h=c.length-1;h>g&&(f=ua(a,b,j,k,c[h]),f!==!1);h--)m=f+m;for(i=g;h>=i;i++)n+=ra(a,c[i]),o+=ra(b,c[i]);return(n||o)&&(p=e?o+d+n:n+d+o),l+p+m}function ua(a,b,c,d,e){var f,g;return"string"==typeof e?e:(f=e.token)&&(g=ib[f.charAt(0)],g&&c.isSame(d,g))?oa(a,f):!1}function va(a){return a in jb?jb[a]:jb[a]=wa(a)}function wa(a){for(var b,c=[],d=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;b=d.exec(a);)b[1]?c.push(b[1]):b[2]?c.push({maybe:wa(b[2])}):b[3]?c.push({token:b[3]}):b[5]&&c.push(b[5]);return c}function xa(){}function ya(a,b){var c;return $(b,"constructor")&&(c=b.constructor),"function"!=typeof c&&(c=b.constructor=function(){a.apply(this,arguments)}),c.prototype=X(a.prototype),Y(b,c.prototype),Z(b,c.prototype),Y(a,c),c}function za(a,b){Y(b,a.prototype)}function Aa(a,b){return a||b?a&&b?a.component===b.component&&Ba(a,b)&&Ba(b,a):!1:!0}function Ba(a,b){for(var c in a)if(!/^(component|left|right|top|bottom)$/.test(c)&&a[c]!==b[c])return!1;return!0}function Ca(a){var b=Ea(a);return"background"===b||"inverse-background"===b}function Da(a){return"inverse-background"===Ea(a)}function Ea(a){return ba((a.source||{}).rendering,a.rendering)}function Fa(a){var b,c,d={};for(b=0;b<a.length;b++)c=a[b],(d[c._id]||(d[c._id]=[])).push(c);return d}function Ga(a,b){return a.start-b.start}function Ha(c){var d,e,f,g,h=Va.dataAttrPrefix;return h&&(h+="-"),d=c.data(h+"event")||null,d&&(d="object"==typeof d?a.extend({},d):{},e=d.start,null==e&&(e=d.time),f=d.duration,g=d.stick,delete d.start,delete d.time,delete d.duration,delete d.stick),null==e&&(e=c.data(h+"start")),null==e&&(e=c.data(h+"time")),null==f&&(f=c.data(h+"duration")),null==g&&(g=c.data(h+"stick")),e=null!=e?b.duration(e):null,f=null!=f?b.duration(f):null,g=Boolean(g),{eventProps:d,startTime:e,duration:f,stick:g}}function Ia(a,b){var c,d;for(c=0;c<b.length;c++)if(d=b[c],d.leftCol<=a.rightCol&&d.rightCol>=a.leftCol)return!0;return!1}function Ja(a,b){return a.leftCol-b.leftCol}function Ka(a){var b,c,d,e=[];for(b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Na(c,e[d]).length;d++);c.level=d,(e[d]||(e[d]=[])).push(c)}return e}function La(a){var b,c,d,e,f;for(b=0;b<a.length;b++)for(c=a[b],d=0;d<c.length;d++)for(e=c[d],e.forwardSegs=[],f=b+1;f<a.length;f++)Na(e,a[f],e.forwardSegs)}function Ma(a){var b,c,d=a.forwardSegs,e=0;if(void 0===a.forwardPressure){for(b=0;b<d.length;b++)c=d[b],Ma(c),e=Math.max(e,1+c.forwardPressure);a.forwardPressure=e}}function Na(a,b,c){c=c||[];for(var d=0;d<b.length;d++)Oa(a,b[d])&&c.push(b[d]);return c}function Oa(a,b){return a.bottom>b.top&&a.top<b.bottom}function Pa(c,d){function e(){T?h()&&(k(),i()):f()}function f(){U=O.theme?"ui":"fc",c.addClass("fc"),O.isRTL?c.addClass("fc-rtl"):c.addClass("fc-ltr"),O.theme?c.addClass("ui-widget"):c.addClass("fc-unthemed"),T=a("<div class='fc-view-container'/>").prependTo(c),R=N.header=new Sa(N,O),S=R.render(),S&&c.prepend(S),i(O.defaultView),O.handleWindowResize&&(Y=ja(m,O.windowResizeDelay),a(window).resize(Y))}function g(){V&&V.removeElement(),R.removeElement(),T.remove(),c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),Y&&a(window).unbind("resize",Y)}function h(){return c.is(":visible")}function i(b){ca++,V&&b&&V.type!==b&&(R.deactivateButton(V.type),H(),V.removeElement(),V=N.view=null),!V&&b&&(V=N.view=ba[b]||(ba[b]=N.instantiateView(b)),V.setElement(a("<div class='fc-view fc-"+b+"-view' />").appendTo(T)),R.activateButton(b)),V&&(Z=V.massageCurrentDate(Z),V.displaying&&Z.isWithin(V.intervalStart,V.intervalEnd)||h()&&(V.display(Z),I(),u(),v(),q())),I(),ca--}function j(a){return h()?(a&&l(),ca++,V.updateSize(!0),ca--,!0):void 0}function k(){h()&&l()}function l(){W="number"==typeof O.contentHeight?O.contentHeight:"number"==typeof O.height?O.height-(S?S.outerHeight(!0):0):Math.round(T.width()/Math.max(O.aspectRatio,.5))}function m(a){!ca&&a.target===window&&V.start&&j(!0)&&V.trigger("windowResize",aa)}function n(){p(),r()}function o(){h()&&(H(),V.displayEvents(da),I())}function p(){H(),V.clearEvents(),I()}function q(){!O.lazyFetching||$(V.start,V.end)?r():o()}function r(){_(V.start,V.end)}function s(a){da=a,o()}function t(){o()}function u(){R.updateTitle(V.title)}function v(){var a=N.getNow();a.isWithin(V.intervalStart,V.intervalEnd)?R.disableButton("today"):R.enableButton("today")}function w(a,b){V.select(N.buildSelectSpan.apply(N,arguments))}function x(){V&&V.unselect()}function y(){Z=V.computePrevDate(Z),i()}function z(){Z=V.computeNextDate(Z),i()}function A(){Z.add(-1,"years"),i()}function B(){Z.add(1,"years"),i()}function C(){Z=N.getNow(),i()}function D(a){Z=N.moment(a).stripZone(),i()}function E(a){Z.add(b.duration(a)),i()}function F(a,b){var c;b=b||"day",c=N.getViewSpec(b)||N.getUnitViewSpec(b),Z=a.clone(),i(c?c.type:null)}function G(){return N.applyTimezone(Z)}function H(){T.css({width:"100%",height:T.height(),overflow:"hidden"})}function I(){T.css({width:"",height:"",overflow:""})}function J(){return N}function K(){return V}function L(a,b){return void 0===b?O[a]:void("height"!=a&&"contentHeight"!=a&&"aspectRatio"!=a||(O[a]=b,j(!0)))}function M(a,b){var c=Array.prototype.slice.call(arguments,2);return b=b||aa,this.triggerWith(a,b,c),O[a]?O[a].apply(b,c):void 0}var N=this;N.initOptions(d||{});var O=this.options;N.render=e,N.destroy=g,N.refetchEvents=n,N.reportEvents=s,N.reportEventChange=t,N.rerenderEvents=o,N.changeView=i,N.select=w,N.unselect=x,N.prev=y,N.next=z,N.prevYear=A,N.nextYear=B,N.today=C,N.gotoDate=D,N.incrementDate=E,N.zoomTo=F,N.getDate=G,N.getCalendar=J,N.getView=K,N.option=L,N.trigger=M;var P=X(Ra(O.lang));if(O.monthNames&&(P._months=O.monthNames),O.monthNamesShort&&(P._monthsShort=O.monthNamesShort),O.dayNames&&(P._weekdays=O.dayNames),O.dayNamesShort&&(P._weekdaysShort=O.dayNamesShort),null!=O.firstDay){var Q=X(P._week);Q.dow=O.firstDay,P._week=Q}P._fullCalendar_weekCalc=function(a){return"function"==typeof a?a:"local"===a?a:"iso"===a||"ISO"===a?"ISO":void 0}(O.weekNumberCalculation),N.defaultAllDayEventDuration=b.duration(O.defaultAllDayEventDuration),N.defaultTimedEventDuration=b.duration(O.defaultTimedEventDuration),N.moment=function(){var a;return"local"===O.timezone?(a=Va.moment.apply(null,arguments),a.hasTime()&&a.local()):a="UTC"===O.timezone?Va.moment.utc.apply(null,arguments):Va.moment.parseZone.apply(null,arguments),"_locale"in a?a._locale=P:a._lang=P,a},N.getIsAmbigTimezone=function(){return"local"!==O.timezone&&"UTC"!==O.timezone},N.applyTimezone=function(a){if(!a.hasTime())return a.clone();var b,c=N.moment(a.toArray()),d=a.time()-c.time();return d&&(b=c.clone().add(d),a.time()-b.time()===0&&(c=b)),c},N.getNow=function(){var a=O.now;return"function"==typeof a&&(a=a()),N.moment(a).stripZone()},N.getEventEnd=function(a){return a.end?a.end.clone():N.getDefaultEventEnd(a.allDay,a.start)},N.getDefaultEventEnd=function(a,b){var c=b.clone();return a?c.stripTime().add(N.defaultAllDayEventDuration):c.add(N.defaultTimedEventDuration),N.getIsAmbigTimezone()&&c.stripZone(),c},N.humanizeDuration=function(a){return(a.locale||a.lang).call(a,O.lang).humanize()},Ta.call(N,O);var R,S,T,U,V,W,Y,Z,$=N.isFetchNeeded,_=N.fetchEvents,aa=c[0],ba={},ca=0,da=[];Z=null!=O.defaultDate?N.moment(O.defaultDate).stripZone():N.getNow(),N.getSuggestedViewHeight=function(){return void 0===W&&k(),W},N.isHeightAuto=function(){return"auto"===O.contentHeight||"auto"===O.height},N.freezeContentHeight=H,N.unfreezeContentHeight=I,N.initialize()}function Qa(b){a.each(Cb,function(a,c){null==b[a]&&(b[a]=c(b))})}function Ra(a){var c=b.localeData||b.langData;return c.call(b,a)||c.call(b,"en")}function Sa(b,c){function d(){var b=c.header;return n=c.theme?"ui":"fc",b?o=a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>'):void 0}function e(){o.remove(),o=a()}function f(d){var e=a('<div class="fc-'+d+'"/>'),f=c.header[d];return f&&a.each(f.split(" "),function(d){var f,g=a(),h=!0;a.each(this.split(","),function(d,e){var f,i,j,k,l,m,o,q,r,s;"title"==e?(g=g.add(a("<h2>&nbsp;</h2>")),h=!1):((f=(b.options.customButtons||{})[e])?(j=function(a){f.click&&f.click.call(s[0],a)},k="",l=f.text):(i=b.getViewSpec(e))?(j=function(){b.changeView(e)},p.push(e),k=i.buttonTextOverride,l=i.buttonTextDefault):b[e]&&(j=function(){b[e]()},k=(b.overrides.buttonText||{})[e],l=c.buttonText[e]),j&&(m=f?f.themeIcon:c.themeButtonIcons[e],o=f?f.icon:c.buttonIcons[e],q=k?ca(k):m&&c.theme?"<span class='ui-icon ui-icon-"+m+"'></span>":o&&!c.theme?"<span class='fc-icon fc-icon-"+o+"'></span>":ca(l),r=["fc-"+e+"-button",n+"-button",n+"-state-default"],s=a('<button type="button" class="'+r.join(" ")+'">'+q+"</button>").click(function(a){s.hasClass(n+"-state-disabled")||(j(a),(s.hasClass(n+"-state-active")||s.hasClass(n+"-state-disabled"))&&s.removeClass(n+"-state-hover"))}).mousedown(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-down")}).mouseup(function(){s.removeClass(n+"-state-down")}).hover(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-hover")},function(){s.removeClass(n+"-state-hover").removeClass(n+"-state-down")}),g=g.add(s)))}),h&&g.first().addClass(n+"-corner-left").end().last().addClass(n+"-corner-right").end(),g.length>1?(f=a("<div/>"),h&&f.addClass("fc-button-group"),f.append(g),e.append(f)):e.append(g)}),e}function g(a){o.find("h2").text(a)}function h(a){o.find(".fc-"+a+"-button").addClass(n+"-state-active")}function i(a){o.find(".fc-"+a+"-button").removeClass(n+"-state-active")}function j(a){o.find(".fc-"+a+"-button").attr("disabled","disabled").addClass(n+"-state-disabled")}function k(a){o.find(".fc-"+a+"-button").removeAttr("disabled").removeClass(n+"-state-disabled")}function l(){return p}var m=this;m.render=d,m.removeElement=e,m.updateTitle=g,m.activateButton=h,m.deactivateButton=i,m.disableButton=j,m.enableButton=k,m.getViewsWithButtons=l;var n,o=a(),p=[]}function Ta(c){function d(a,b){return!I||I>a||b>J}function e(a,b){I=a,J=b,S=[];var c=++Q,d=P.length;R=d;for(var e=0;d>e;e++)f(P[e],c)}function f(b,c){g(b,function(d){var e,f,g,h=a.isArray(b.events);if(c==Q){if(d)for(e=0;e<d.length;e++)f=d[e],g=h?f:s(f,b),g&&S.push.apply(S,w(g));R--,R||K(S)}})}function g(b,d){var e,f,h=Va.sourceFetchers;for(e=0;e<h.length;e++){if(f=h[e].call(H,b,I.clone(),J.clone(),c.timezone,d),f===!0)return;if("object"==typeof f)return void g(f,d)}var i=b.events;if(i)a.isFunction(i)?(H.pushLoading(),i.call(H,I.clone(),J.clone(),c.timezone,function(a){d(a),H.popLoading()})):a.isArray(i)?d(i):d();else{var j=b.url;if(j){var k,l=b.success,m=b.error,n=b.complete;k=a.isFunction(b.data)?b.data():b.data;var o=a.extend({},k||{}),p=ba(b.startParam,c.startParam),q=ba(b.endParam,c.endParam),r=ba(b.timezoneParam,c.timezoneParam);p&&(o[p]=I.format()),q&&(o[q]=J.format()),c.timezone&&"local"!=c.timezone&&(o[r]=c.timezone),H.pushLoading(),a.ajax(a.extend({},Db,b,{data:o,success:function(b){b=b||[];var c=aa(l,this,arguments);a.isArray(c)&&(b=c),d(b)},error:function(){aa(m,this,arguments),d()},complete:function(){aa(n,this,arguments),H.popLoading()}}))}else d()}}function h(a){var b=i(a);b&&(P.push(b),R++,f(b,Q))}function i(b){var c,d,e=Va.sourceNormalizers;if(a.isFunction(b)||a.isArray(b)?c={events:b}:"string"==typeof b?c={url:b}:"object"==typeof b&&(c=a.extend({},b)),c){for(c.className?"string"==typeof c.className&&(c.className=c.className.split(/\s+/)):c.className=[],a.isArray(c.events)&&(c.origArray=c.events,c.events=a.map(c.events,function(a){return s(a,c)})),d=0;d<e.length;d++)e[d].call(H,c);return c}}function j(b){P=a.grep(P,function(a){return!k(a,b)}),S=a.grep(S,function(a){return!k(a.source,b)}),K(S)}function k(a,b){return a&&b&&l(a)==l(b)}function l(a){return("object"==typeof a?a.origArray||a.googleCalendarId||a.url||a.events:null)||a}function m(a){a.start=H.moment(a.start),a.end?a.end=H.moment(a.end):a.end=null,x(a,n(a)),K(S)}function n(b){var c={};return a.each(b,function(a,b){o(a)&&void 0!==b&&_(b)&&(c[a]=b)}),c}function o(a){return!/^_|^(id|allDay|start|end)$/.test(a)}function p(a,b){var c,d,e,f=s(a);if(f){for(c=w(f),d=0;d<c.length;d++)e=c[d],e.source||(b&&(O.events.push(e),e.source=O),S.push(e));return K(S),c}return[]}function q(b){var c,d;for(null==b?b=function(){return!0}:a.isFunction(b)||(c=b+"",b=function(a){return a._id==c}),S=a.grep(S,b,!0),d=0;d<P.length;d++)a.isArray(P[d].events)&&(P[d].events=a.grep(P[d].events,b,!0));K(S)}function r(b){return a.isFunction(b)?a.grep(S,b):null!=b?(b+="",a.grep(S,function(a){return a._id==b})):S}function s(d,e){var f,g,h,i={};if(c.eventDataTransform&&(d=c.eventDataTransform(d)),e&&e.eventDataTransform&&(d=e.eventDataTransform(d)),a.extend(i,d),e&&(i.source=e),i._id=d._id||(void 0===d.id?"_fc"+Eb++:d.id+""),d.className?"string"==typeof d.className?i.className=d.className.split(/\s+/):i.className=d.className:i.className=[],f=d.start||d.date,g=d.end,V(f)&&(f=b.duration(f)),V(g)&&(g=b.duration(g)),d.dow||b.isDuration(f)||b.isDuration(g))i.start=f?b.duration(f):null,i.end=g?b.duration(g):null,i._recurring=!0;else{if(f&&(f=H.moment(f),!f.isValid()))return!1;g&&(g=H.moment(g),g.isValid()||(g=null)),h=d.allDay,void 0===h&&(h=ba(e?e.allDayDefault:void 0,c.allDayDefault)),t(f,g,h,i)}return H.normalizeEvent(i),i}function t(a,b,c,d){d.start=a,d.end=b,d.allDay=c,u(d),Ua(d)}function u(a){v(a),a.end&&!a.end.isAfter(a.start)&&(a.end=null),a.end||(c.forceEventDuration?a.end=H.getDefaultEventEnd(a.allDay,a.start):a.end=null)}function v(a){null==a.allDay&&(a.allDay=!(a.start.hasTime()||a.end&&a.end.hasTime())),a.allDay?(a.start.stripTime(),a.end&&a.end.stripTime()):(a.start.hasTime()||(a.start=H.applyTimezone(a.start.time(0))),a.end&&!a.end.hasTime()&&(a.end=H.applyTimezone(a.end.time(0))))}function w(b,c,d){var e,f,g,h,i,j,k,l,m,n=[];if(c=c||I,d=d||J,b)if(b._recurring){if(f=b.dow)for(e={},g=0;g<f.length;g++)e[f[g]]=!0;for(h=c.clone().stripTime();h.isBefore(d);)e&&!e[h.day()]||(i=b.start,j=b.end,k=h.clone(),l=null,i&&(k=k.time(i)),j&&(l=h.clone().time(j)),m=a.extend({},b),t(k,l,!i&&!j,m),n.push(m)),h.add(1,"days")}else n.push(b);return n}function x(b,c,d){function e(a,b){return d?N(a,b,d):c.allDay?M(a,b):L(a,b)}var f,g,h,i,j,k,l={};return c=c||{},c.start||(c.start=b.start.clone()),void 0===c.end&&(c.end=b.end?b.end.clone():null),null==c.allDay&&(c.allDay=b.allDay),u(c),f={start:b._start.clone(),end:b._end?b._end.clone():H.getDefaultEventEnd(b._allDay,b._start),allDay:c.allDay},u(f),g=null!==b._end&&null===c.end,h=e(c.start,f.start),c.end?(i=e(c.end,f.end),j=i.subtract(h)):j=null,a.each(c,function(a,b){o(a)&&void 0!==b&&(l[a]=b)}),k=y(r(b._id),g,c.allDay,h,j,l),{dateDelta:h,durationDelta:j,undo:k}}function y(b,c,d,e,f,g){var h=H.getIsAmbigTimezone(),i=[];return e&&!e.valueOf()&&(e=null),f&&!f.valueOf()&&(f=null),a.each(b,function(b,j){var k,l;k={start:j.start.clone(),end:j.end?j.end.clone():null,allDay:j.allDay},a.each(g,function(a){k[a]=j[a]}),l={start:j._start,end:j._end,allDay:d},u(l),c?l.end=null:f&&!l.end&&(l.end=H.getDefaultEventEnd(l.allDay,l.start)),e&&(l.start.add(e),l.end&&l.end.add(e)),f&&l.end.add(f),h&&!l.allDay&&(e||f)&&(l.start.stripZone(),l.end&&l.end.stripZone()),a.extend(j,g,l),Ua(j),i.push(function(){a.extend(j,k),Ua(j)})}),function(){for(var a=0;a<i.length;a++)i[a]()}}function z(b){var d,e=c.businessHours,f={className:"fc-nonbusiness",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"},g=H.getView();return e&&(d=a.extend({},f,"object"==typeof e?e:{})),d?(b&&(d.start=null,d.end=null),w(s(d),g.start,g.end)):[]}function A(a,b){var d=b.source||{},e=ba(b.constraint,d.constraint,c.eventConstraint),f=ba(b.overlap,d.overlap,c.eventOverlap);return D(a,e,f,b)}function B(b,c,d){var e,f;return d&&(e=a.extend({},d,c),f=w(s(e))[0]),f?A(b,f):C(b)}function C(a){return D(a,c.selectConstraint,c.selectOverlap)}function D(a,b,c,d){var e,f,g,h,i,j;if(null!=b){for(e=E(b),f=!1,h=0;h<e.length;h++)if(F(e[h],a)){f=!0;break}if(!f)return!1}for(g=H.getPeerEvents(a,d),h=0;h<g.length;h++)if(i=g[h],G(i,a)){if(c===!1)return!1;if("function"==typeof c&&!c(i,d))return!1;if(d){if(j=ba(i.overlap,(i.source||{}).overlap),j===!1)return!1;if("function"==typeof j&&!j(d,i))return!1}}return!0}function E(a){return"businessHours"===a?z():"object"==typeof a?w(s(a)):r(a)}function F(a,b){var c=a.start.clone().stripZone(),d=H.getEventEnd(a).stripZone();return b.start>=c&&b.end<=d}function G(a,b){var c=a.start.clone().stripZone(),d=H.getEventEnd(a).stripZone();return b.start<d&&b.end>c}var H=this;H.isFetchNeeded=d,H.fetchEvents=e,H.addEventSource=h,H.removeEventSource=j,H.updateEvent=m,H.renderEvent=p,H.removeEvents=q,H.clientEvents=r,H.mutateEvent=x,H.normalizeEventDates=u,H.normalizeEventTimes=v;var I,J,K=H.reportEvents,O={events:[]},P=[O],Q=0,R=0,S=[];a.each((c.events?[c.events]:[]).concat(c.eventSources||[]),function(a,b){var c=i(b);c&&P.push(c)}),H.getBusinessHoursEvents=z,H.isEventSpanAllowed=A,H.isExternalSpanAllowed=B,H.isSelectionSpanAllowed=C,H.getEventCache=function(){return S}}function Ua(a){a._allDay=a.allDay,a._start=a.start.clone(),a._end=a.end?a.end.clone():null}var Va=a.fullCalendar={version:"2.7.3",internalApiVersion:4},Wa=Va.views={};a.fn.fullCalendar=function(b){var c=Array.prototype.slice.call(arguments,1),d=this;return this.each(function(e,f){var g,h=a(f),i=h.data("fullCalendar");"string"==typeof b?i&&a.isFunction(i[b])&&(g=i[b].apply(i,c),e||(d=g),"destroy"===b&&h.removeData("fullCalendar")):i||(i=new yb(h,b),h.data("fullCalendar",i),i.render())}),d};var Xa=["header","buttonText","buttonIcons","themeButtonIcons"];Va.intersectRanges=K,Va.applyAll=aa,Va.debounce=ja,Va.isInt=ha,Va.htmlEscape=ca,Va.cssToStr=ea,Va.proxy=ia,Va.capitaliseFirstLetter=fa,Va.getOuterRect=n,Va.getClientRect=o,Va.getContentRect=p,Va.getScrollbarWidths=q;var Ya=null;Va.preventDefault=z,Va.intersectRects=C,Va.parseFieldSpecs=G,Va.compareByFieldSpecs=H,Va.compareByFieldSpec=I,Va.flexibleCompare=J,Va.computeIntervalUnit=O,Va.divideRangeByDuration=Q,Va.divideDurationByDuration=R,Va.multiplyDuration=S,Va.durationHasTime=T;var Za=["sun","mon","tue","wed","thu","fri","sat"],$a=["year","month","week","day","hour","minute","second","millisecond"];Va.log=function(){var a=window.console;return a&&a.log?a.log.apply(a,arguments):void 0},Va.warn=function(){var a=window.console;return a&&a.warn?a.warn.apply(a,arguments):Va.log.apply(Va,arguments)};var _a,ab,bb,cb={}.hasOwnProperty,db=/^\s*\d{4}-\d\d$/,eb=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,fb=b.fn,gb=a.extend({},fb);Va.moment=function(){return ka(arguments)},Va.moment.utc=function(){var a=ka(arguments,!0);return a.hasTime()&&a.utc(),a},Va.moment.parseZone=function(){return ka(arguments,!0,!0)},fb.clone=function(){var a=gb.clone.apply(this,arguments);return ma(this,a),this._fullCalendar&&(a._fullCalendar=!0),a},fb.week=fb.weeks=function(a){var b=(this._locale||this._lang)._fullCalendar_weekCalc;return null==a&&"function"==typeof b?b(this):"ISO"===b?gb.isoWeek.apply(this,arguments):gb.week.apply(this,arguments)},fb.time=function(a){if(!this._fullCalendar)return gb.time.apply(this,arguments);if(null==a)return b.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,b.isDuration(a)||b.isMoment(a)||(a=b.duration(a));var c=0;return b.isDuration(a)&&(c=24*Math.floor(a.asDays())),this.hours(c+a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())},fb.stripTime=function(){var a;return this._ambigTime||(a=this.toArray(),this.utc(),ab(this,a.slice(0,3)),this._ambigTime=!0,this._ambigZone=!0),this},fb.hasTime=function(){return!this._ambigTime},fb.stripZone=function(){var a,b;return this._ambigZone||(a=this.toArray(),b=this._ambigTime,this.utc(),ab(this,a),this._ambigTime=b||!1,this._ambigZone=!0),this},fb.hasZone=function(){return!this._ambigZone},fb.local=function(){var a=this.toArray(),b=this._ambigZone;return gb.local.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,b&&bb(this,a),this},fb.utc=function(){return gb.utc.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,this},a.each(["zone","utcOffset"],function(a,b){gb[b]&&(fb[b]=function(a){return null!=a&&(this._ambigTime=!1,this._ambigZone=!1),gb[b].apply(this,arguments)})}),fb.format=function(){return this._fullCalendar&&arguments[0]?pa(this,arguments[0]):this._ambigTime?oa(this,"YYYY-MM-DD"):this._ambigZone?oa(this,"YYYY-MM-DD[T]HH:mm:ss"):gb.format.apply(this,arguments)},fb.toISOString=function(){return this._ambigTime?oa(this,"YYYY-MM-DD"):this._ambigZone?oa(this,"YYYY-MM-DD[T]HH:mm:ss"):gb.toISOString.apply(this,arguments)},fb.isWithin=function(a,b){var c=la([this,a,b]);return c[0]>=c[1]&&c[0]<c[2]},fb.isSame=function(a,b){var c;return this._fullCalendar?b?(c=la([this,a],!0),gb.isSame.call(c[0],c[1],b)):(a=Va.moment.parseZone(a),gb.isSame.call(this,a)&&Boolean(this._ambigTime)===Boolean(a._ambigTime)&&Boolean(this._ambigZone)===Boolean(a._ambigZone)):gb.isSame.apply(this,arguments)},a.each(["isBefore","isAfter"],function(a,b){fb[b]=function(a,c){var d;return this._fullCalendar?(d=la([this,a]),gb[b].call(d[0],d[1],c)):gb[b].apply(this,arguments)}}),_a="_d"in b()&&"updateOffset"in b,ab=_a?function(a,c){a._d.setTime(Date.UTC.apply(Date,c)),b.updateOffset(a,!1)}:na,bb=_a?function(a,c){a._d.setTime(+new Date(c[0]||0,c[1]||0,c[2]||0,c[3]||0,c[4]||0,c[5]||0,c[6]||0)),b.updateOffset(a,!1)}:na;var hb={t:function(a){return oa(a,"a").charAt(0)},T:function(a){return oa(a,"A").charAt(0)}};Va.formatRange=sa;var ib={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},jb={};Va.Class=xa,xa.extend=function(){var a,b,c=arguments.length;for(a=0;c>a;a++)b=arguments[a],c-1>a&&za(this,b);return ya(this,b||{})},xa.mixin=function(a){za(this,a)};var kb=Va.EmitterMixin={on:function(b,c){var d=function(a,b){return c.apply(b.context||this,b.args||[])};return c.guid||(c.guid=a.guid++),d.guid=c.guid,a(this).on(b,d),this},off:function(b,c){return a(this).off(b,c),this},trigger:function(b){var c=Array.prototype.slice.call(arguments,1);return a(this).triggerHandler(b,{args:c}),this},triggerWith:function(b,c,d){return a(this).triggerHandler(b,{context:c,args:d}),this}},lb=Va.ListenerMixin=function(){var b=0,c={listenerId:null,listenTo:function(b,c,d){if("object"==typeof c)for(var e in c)c.hasOwnProperty(e)&&this.listenTo(b,e,c[e]);else"string"==typeof c&&b.on(c+"."+this.getListenerNamespace(),a.proxy(d,this))},stopListeningTo:function(a,b){a.off((b||"")+"."+this.getListenerNamespace())},getListenerNamespace:function(){return null==this.listenerId&&(this.listenerId=b++),"_listener"+this.listenerId}};return c}(),mb={isIgnoringMouse:!1,delayUnignoreMouse:null,initMouseIgnoring:function(a){this.delayUnignoreMouse=ja(ia(this,"unignoreMouse"),a||1e3)},tempIgnoreMouse:function(){this.isIgnoringMouse=!0,this.delayUnignoreMouse()},unignoreMouse:function(){this.isIgnoringMouse=!1;
+}},nb=xa.extend(lb,{isHidden:!0,options:null,el:null,margin:10,constructor:function(a){this.options=a||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var b=this,c=this.options;this.el=a('<div class="fc-popover"/>').addClass(c.className||"").css({top:0,left:0}).append(c.content).appendTo(c.parentEl),this.el.on("click",".fc-close",function(){b.hide()}),c.autoHide&&this.listenTo(a(document),"mousedown",this.documentMousedown)},documentMousedown:function(b){this.el&&!a(b.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(a(document),"mousedown")},position:function(){var b,c,d,e,f,g=this.options,h=this.el.offsetParent().offset(),i=this.el.outerWidth(),j=this.el.outerHeight(),k=a(window),l=m(this.el);e=g.top||0,f=void 0!==g.left?g.left:void 0!==g.right?g.right-i:0,l.is(window)||l.is(document)?(l=k,b=0,c=0):(d=l.offset(),b=d.top,c=d.left),b+=k.scrollTop(),c+=k.scrollLeft(),g.viewportConstrain!==!1&&(e=Math.min(e,b+l.outerHeight()-j-this.margin),e=Math.max(e,b+this.margin),f=Math.min(f,c+l.outerWidth()-i-this.margin),f=Math.max(f,c+this.margin)),this.el.css({top:e-h.top,left:f-h.left})},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))}}),ob=Va.CoordCache=xa.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(b){this.els=a(b.els),this.isHorizontal=b.isHorizontal,this.isVertical=b.isVertical,this.forcedOffsetParentEl=b.offsetParent?a(b.offsetParent):null},build:function(){var a=this.forcedOffsetParentEl||this.els.eq(0).offsetParent();this.origin=a.offset(),this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},queryBoundingRect:function(){var a=m(this.els.eq(0));return a.is(document)?void 0:o(a)},buildElHorizontals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().left,h=f.outerWidth();b.push(g),c.push(g+h)}),this.lefts=b,this.rights=c},buildElVerticals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().top,h=f.outerHeight();b.push(g),c.push(g+h)}),this.tops=b,this.bottoms=c},getHorizontalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.lefts,e=this.rights,f=d.length;if(!c||a>=c.left&&a<c.right)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getVerticalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.tops,e=this.bottoms,f=d.length;if(!c||a>=c.top&&a<c.bottom)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getLeftOffset:function(a){return this.ensureBuilt(),this.lefts[a]},getLeftPosition:function(a){return this.ensureBuilt(),this.lefts[a]-this.origin.left},getRightOffset:function(a){return this.ensureBuilt(),this.rights[a]},getRightPosition:function(a){return this.ensureBuilt(),this.rights[a]-this.origin.left},getWidth:function(a){return this.ensureBuilt(),this.rights[a]-this.lefts[a]},getTopOffset:function(a){return this.ensureBuilt(),this.tops[a]},getTopPosition:function(a){return this.ensureBuilt(),this.tops[a]-this.origin.top},getBottomOffset:function(a){return this.ensureBuilt(),this.bottoms[a]},getBottomPosition:function(a){return this.ensureBuilt(),this.bottoms[a]-this.origin.top},getHeight:function(a){return this.ensureBuilt(),this.bottoms[a]-this.tops[a]}}),pb=Va.DragListener=xa.extend(lb,mb,{options:null,subjectEl:null,subjectHref:null,originX:null,originY:null,scrollEl:null,isInteracting:!1,isDistanceSurpassed:!1,isDelayEnded:!1,isDragging:!1,isTouch:!1,delay:null,delayTimeoutId:null,minDistance:null,handleTouchScrollProxy:null,constructor:function(a){this.options=a||{},this.handleTouchScrollProxy=ia(this,"handleTouchScroll"),this.initMouseIgnoring(500)},startInteraction:function(b,c){var d=x(b);if("mousedown"===b.type){if(this.isIgnoringMouse)return;if(!u(b))return;b.preventDefault()}this.isInteracting||(c=c||{},this.delay=ba(c.delay,this.options.delay,0),this.minDistance=ba(c.distance,this.options.distance,0),this.subjectEl=this.options.subjectEl,this.isInteracting=!0,this.isTouch=d,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.originX=v(b),this.originY=w(b),this.scrollEl=m(a(b.target)),this.bindHandlers(),this.initAutoScroll(),this.handleInteractionStart(b),this.startDelay(b),this.minDistance||this.handleDistanceSurpassed(b))},handleInteractionStart:function(a){this.trigger("interactionStart",a)},endInteraction:function(a,b){this.isInteracting&&(this.endDrag(a),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null),this.destroyAutoScroll(),this.unbindHandlers(),this.isInteracting=!1,this.handleInteractionEnd(a,b),this.isTouch&&this.tempIgnoreMouse())},handleInteractionEnd:function(a,b){this.trigger("interactionEnd",a,b||!1)},bindHandlers:function(){var b=this,c=1;this.isTouch?(this.listenTo(a(document),{touchmove:this.handleTouchMove,touchend:this.endInteraction,touchcancel:this.endInteraction,touchstart:function(a){c?c--:b.endInteraction(a,!0)}}),!A(this.handleTouchScrollProxy)&&this.scrollEl&&this.listenTo(this.scrollEl,"scroll",this.handleTouchScroll)):this.listenTo(a(document),{mousemove:this.handleMouseMove,mouseup:this.endInteraction}),this.listenTo(a(document),{selectstart:z,contextmenu:z})},unbindHandlers:function(){this.stopListeningTo(a(document)),B(this.handleTouchScrollProxy),this.scrollEl&&this.stopListeningTo(this.scrollEl,"scroll")},startDrag:function(a,b){this.startInteraction(a,b),this.isDragging||(this.isDragging=!0,this.handleDragStart(a))},handleDragStart:function(a){this.trigger("dragStart",a),this.initHrefHack()},handleMove:function(a){var b,c=v(a)-this.originX,d=w(a)-this.originY,e=this.minDistance;this.isDistanceSurpassed||(b=c*c+d*d,b>=e*e&&this.handleDistanceSurpassed(a)),this.isDragging&&this.handleDrag(c,d,a)},handleDrag:function(a,b,c){this.trigger("drag",a,b,c),this.updateAutoScroll(c)},endDrag:function(a){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(a))},handleDragEnd:function(a){this.trigger("dragEnd",a),this.destroyHrefHack()},startDelay:function(a){var b=this;this.delay?this.delayTimeoutId=setTimeout(function(){b.handleDelayEnd(a)},this.delay):this.handleDelayEnd(a)},handleDelayEnd:function(a){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(a)},handleDistanceSurpassed:function(a){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(a)},handleTouchMove:function(a){this.isDragging&&a.preventDefault(),this.handleMove(a)},handleMouseMove:function(a){this.handleMove(a)},handleTouchScroll:function(a){this.isDragging||this.endInteraction(a,!0)},initHrefHack:function(){var a=this.subjectEl;(this.subjectHref=a?a.attr("href"):null)&&a.removeAttr("href")},destroyHrefHack:function(){var a=this.subjectEl,b=this.subjectHref;setTimeout(function(){b&&a.attr("href",b)},0)},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1)),this["_"+a]&&this["_"+a].apply(this,Array.prototype.slice.call(arguments,1))}});pb.mixin({isAutoScroll:!1,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,initAutoScroll:function(){var a=this.scrollEl;this.isAutoScroll=this.options.scroll&&a&&!a.is(window)&&!a.is(document),this.isAutoScroll&&this.listenTo(a,"scroll",ja(this.handleDebouncedScroll,100))},destroyAutoScroll:function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,"scroll")},computeScrollBounds:function(){this.isAutoScroll&&(this.scrollBounds=n(this.scrollEl))},updateAutoScroll:function(a){var b,c,d,e,f=this.scrollSensitivity,g=this.scrollBounds,h=0,i=0;g&&(b=(f-(w(a)-g.top))/f,c=(f-(g.bottom-w(a)))/f,d=(f-(v(a)-g.left))/f,e=(f-(g.right-v(a)))/f,b>=0&&1>=b?h=b*this.scrollSpeed*-1:c>=0&&1>=c&&(h=c*this.scrollSpeed),d>=0&&1>=d?i=d*this.scrollSpeed*-1:e>=0&&1>=e&&(i=e*this.scrollSpeed)),this.setScrollVel(h,i)},setScrollVel:function(a,b){this.scrollTopVel=a,this.scrollLeftVel=b,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(ia(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var a=this.scrollEl;this.scrollTopVel<0?a.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&a.scrollTop()+a[0].clientHeight>=a[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?a.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&a.scrollLeft()+a[0].clientWidth>=a[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var a=this.scrollEl,b=this.scrollIntervalMs/1e3;this.scrollTopVel&&a.scrollTop(a.scrollTop()+this.scrollTopVel*b),this.scrollLeftVel&&a.scrollLeft(a.scrollLeft()+this.scrollLeftVel*b),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},endAutoScroll:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},handleDebouncedScroll:function(){this.scrollIntervalId||this.handleScrollEnd()},handleScrollEnd:function(){}});var qb=pb.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(a,b){pb.call(this,b),this.component=a},handleInteractionStart:function(a){var b,c,d,e=this.subjectEl;this.computeCoords(),a?(c={left:v(a),top:w(a)},d=c,e&&(b=n(e),d=D(d,b)),this.origHit=this.queryHit(d.left,d.top),e&&this.options.subjectCenter&&(this.origHit&&(b=C(this.origHit,b)||b),d=E(b)),this.coordAdjust=F(d,c)):(this.origHit=null,this.coordAdjust=null),pb.prototype.handleInteractionStart.apply(this,arguments)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},handleDragStart:function(a){var b;pb.prototype.handleDragStart.apply(this,arguments),b=this.queryHit(v(a),w(a)),b&&this.handleHitOver(b)},handleDrag:function(a,b,c){var d;pb.prototype.handleDrag.apply(this,arguments),d=this.queryHit(v(c),w(c)),Aa(d,this.hit)||(this.hit&&this.handleHitOut(),d&&this.handleHitOver(d))},handleDragEnd:function(){this.handleHitDone(),pb.prototype.handleDragEnd.apply(this,arguments)},handleHitOver:function(a){var b=Aa(a,this.origHit);this.hit=a,this.trigger("hitOver",this.hit,b,this.origHit)},handleHitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},handleHitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},handleInteractionEnd:function(){pb.prototype.handleInteractionEnd.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},handleScrollEnd:function(){pb.prototype.handleScrollEnd.apply(this,arguments),this.computeCoords()},queryHit:function(a,b){return this.coordAdjust&&(a+=this.coordAdjust.left,b+=this.coordAdjust.top),this.component.queryHit(a,b)}}),rb=xa.extend(lb,{options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,y0:null,x0:null,topDelta:null,leftDelta:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(b,c){this.options=c=c||{},this.sourceEl=b,this.parentEl=c.parentEl?a(c.parentEl):b.parent()},start:function(b){this.isFollowing||(this.isFollowing=!0,this.y0=w(b),this.x0=v(b),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),x(b)?this.listenTo(a(document),"touchmove",this.handleMove):this.listenTo(a(document),"mousemove",this.handleMove))},stop:function(b,c){function d(){this.isAnimating=!1,e.removeElement(),this.top0=this.left0=null,c&&c()}var e=this,f=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(a(document)),b&&f&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:f,complete:d})):d())},getEl:function(){var a=this.el;return a||(this.sourceEl.width(),a=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||"").css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}),a.addClass("fc-unselectable"),a.appendTo(this.parentEl)),a},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var a,b;this.getEl(),null===this.top0&&(this.sourceEl.width(),a=this.sourceEl.offset(),b=this.el.offsetParent().offset(),this.top0=a.top-b.top,this.left0=a.left-b.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},handleMove:function(a){this.topDelta=w(a)-this.y0,this.leftDelta=v(a)-this.x0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),sb=Va.Grid=xa.extend(lb,mb,{view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,dayDragListener:null,segDragListener:null,segResizeListener:null,externalDragListener:null,constructor:function(a){this.view=a,this.isRTL=a.opt("isRTL"),this.elsByFill={},this.dayDragListener=this.buildDayDragListener(),this.initMouseIgnoring()},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(a){this.start=a.start.clone(),this.end=a.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var a,b,c=this.view;this.eventTimeFormat=c.opt("eventTimeFormat")||c.opt("timeFormat")||this.computeEventTimeFormat(),a=c.opt("displayEventTime"),null==a&&(a=this.computeDisplayEventTime()),b=c.opt("displayEventEnd"),null==b&&(b=this.computeDisplayEventEnd()),this.displayEventTime=a,this.displayEventEnd=b},spanToSegs:function(a){},diffDates:function(a,b){return this.largeUnit?N(a,b,this.largeUnit):L(a,b)},prepareHits:function(){},releaseHits:function(){},queryHit:function(a,b){},getHitSpan:function(a){},getHitEl:function(a){},setElement:function(a){this.el=a,y(a),this.bindDayHandler("touchstart",this.dayTouchStart),this.bindDayHandler("mousedown",this.dayMousedown),this.bindSegHandlers(),this.bindGlobalHandlers()},bindDayHandler:function(b,c){var d=this;this.el.on(b,function(b){return a(b.target).is(".fc-event-container *, .fc-more")||a(b.target).closest(".fc-popover").length?void 0:c.call(d,b)})},removeElement:function(){this.unbindGlobalHandlers(),this.clearDragListeners(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){this.listenTo(a(document),{dragstart:this.externalDragStart,sortstart:this.externalDragStart})},unbindGlobalHandlers:function(){this.stopListeningTo(a(document))},dayMousedown:function(a){this.isIgnoringMouse||this.dayDragListener.startInteraction(a,{})},dayTouchStart:function(a){var b=this.view;(b.isSelected||b.selectedEvent)&&this.tempIgnoreMouse(),this.dayDragListener.startInteraction(a,{delay:this.view.opt("longPressDelay")})},buildDayDragListener:function(){var a,b,c=this,d=this.view,e=d.opt("selectable"),f=new qb(this,{scroll:d.opt("dragScroll"),interactionStart:function(){a=f.origHit},dragStart:function(){d.unselect()},hitOver:function(d,f,h){h&&(f||(a=null),e&&(b=c.computeSelection(c.getHitSpan(h),c.getHitSpan(d)),b?c.renderSelection(b):b===!1&&g()))},hitOut:function(){a=null,b=null,c.unrenderSelection(),h()},interactionEnd:function(e,f){f||(a&&!c.isIgnoringMouse&&d.triggerDayClick(c.getHitSpan(a),c.getHitEl(a),e),b&&d.reportSelection(b,e),h())}});return f},clearDragListeners:function(){this.dayDragListener.endInteraction(),this.segDragListener&&this.segDragListener.endInteraction(),this.segResizeListener&&this.segResizeListener.endInteraction(),this.externalDragListener&&this.externalDragListener.endInteraction()},renderEventLocationHelper:function(a,b){var c=this.fabricateHelperEvent(a,b);return this.renderHelper(c,b)},fabricateHelperEvent:function(a,b){var c=b?X(b.event):{};return c.start=a.start.clone(),c.end=a.end?a.end.clone():null,c.allDay=null,this.view.calendar.normalizeEventDates(c),c.className=(c.className||[]).concat("fc-helper"),b||(c.editable=!1),c},renderHelper:function(a,b){},unrenderHelper:function(){},renderSelection:function(a){this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(a,b){var c=this.computeSelectionSpan(a,b);return c&&!this.view.calendar.isSelectionSpanAllowed(c)?!1:c},computeSelectionSpan:function(a,b){var c=[a.start,a.end,b.start,b.end];return c.sort(ga),{start:c[0].clone(),end:c[3].clone()}},renderHighlight:function(a){this.renderFill("highlight",this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderBusinessHours:function(){},unrenderBusinessHours:function(){},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},renderFill:function(a,b){},unrenderFill:function(a){var b=this.elsByFill[a];b&&(b.remove(),delete this.elsByFill[a])},renderFillSegEls:function(b,c){var d,e=this,f=this[b+"SegEl"],g="",h=[];if(c.length){for(d=0;d<c.length;d++)g+=this.fillSegHtml(b,c[d]);a(g).each(function(b,d){var g=c[b],i=a(d);f&&(i=f.call(e,g,i)),i&&(i=a(i),i.is(e.fillSegTag)&&(g.el=i,h.push(g)))})}return h},fillSegTag:"div",fillSegHtml:function(a,b){var c=this[a+"SegClasses"],d=this[a+"SegCss"],e=c?c.call(this,b):[],f=ea(d?d.call(this,b):{});return"<"+this.fillSegTag+(e.length?' class="'+e.join(" ")+'"':"")+(f?' style="'+f+'"':"")+" />"},getDayClasses:function(a){var b=this.view,c=b.calendar.getNow(),d=["fc-"+Za[a.day()]];return 1==b.intervalDuration.as("months")&&a.month()!=b.intervalStart.month()&&d.push("fc-other-month"),a.isSame(c,"day")?d.push("fc-today",b.highlightStateClass):c>a?d.push("fc-past"):d.push("fc-future"),d}});sb.mixin({mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(a){var b,c=[],d=[];for(b=0;b<a.length;b++)(Ca(a[b])?c:d).push(a[b]);this.segs=[].concat(this.renderBgEvents(c),this.renderFgEvents(d))},renderBgEvents:function(a){var b=this.eventsToSegs(a);return this.renderBgSegs(b)||b},renderFgEvents:function(a){var b=this.eventsToSegs(a);return this.renderFgSegs(b)||b},unrenderEvents:function(){this.handleSegMouseout(),this.clearDragListeners(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(a){},unrenderFgSegs:function(){},renderFgSegEls:function(b,c){var d,e=this.view,f="",g=[];if(b.length){for(d=0;d<b.length;d++)f+=this.fgSegHtml(b[d],c);a(f).each(function(c,d){var f=b[c],h=e.resolveEventEl(f.event,a(d));h&&(h.data("fc-seg",f),f.el=h,g.push(f))})}return g},fgSegHtml:function(a,b){},renderBgSegs:function(a){return this.renderFill("bgEvent",a)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(a,b){return this.view.resolveEventEl(a.event,b)},bgEventSegClasses:function(a){var b=a.event,c=b.source||{};return["fc-bgevent"].concat(b.className,c.className||[])},bgEventSegCss:function(a){return{"background-color":this.getSegSkinCss(a)["background-color"]}},businessHoursSegClasses:function(a){return["fc-nonbusiness","fc-bgevent"]},bindSegHandlers:function(){this.bindSegHandler("touchstart",this.handleSegTouchStart),this.bindSegHandler("touchend",this.handleSegTouchEnd),this.bindSegHandler("mouseenter",this.handleSegMouseover),this.bindSegHandler("mouseleave",this.handleSegMouseout),this.bindSegHandler("mousedown",this.handleSegMousedown),this.bindSegHandler("click",this.handleSegClick)},bindSegHandler:function(b,c){var d=this;this.el.on(b,".fc-event-container > *",function(b){var e=a(this).data("fc-seg");return!e||d.isDraggingSeg||d.isResizingSeg?void 0:c.call(d,e,b)})},handleSegClick:function(a,b){return this.view.trigger("eventClick",a.el[0],a.event,b)},handleSegMouseover:function(a,b){this.isIgnoringMouse||this.mousedOverSeg||(this.mousedOverSeg=a,a.el.addClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseover",a.el[0],a.event,b))},handleSegMouseout:function(a,b){b=b||{},this.mousedOverSeg&&(a=a||this.mousedOverSeg,this.mousedOverSeg=null,a.el.removeClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseout",a.el[0],a.event,b))},handleSegMousedown:function(a,b){var c=this.startSegResize(a,b,{distance:5});!c&&this.view.isEventDraggable(a.event)&&this.buildSegDragListener(a).startInteraction(b,{distance:5})},handleSegTouchStart:function(a,b){var c,d=this.view,e=a.event,f=d.isEventSelected(e),g=d.isEventDraggable(e),h=d.isEventResizable(e),i=!1;f&&h&&(i=this.startSegResize(a,b)),i||!g&&!h||(c=g?this.buildSegDragListener(a):this.buildSegSelectListener(a),c.startInteraction(b,{delay:f?0:this.view.opt("longPressDelay")})),this.tempIgnoreMouse()},handleSegTouchEnd:function(a,b){this.tempIgnoreMouse()},startSegResize:function(b,c,d){return a(c.target).is(".fc-resizer")?(this.buildSegResizeListener(b,a(c.target).is(".fc-start-resizer")).startInteraction(c,d),!0):!1},buildSegDragListener:function(a){var b,c,d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event;if(this.segDragListener)return this.segDragListener;var l=this.segDragListener=new qb(f,{scroll:f.opt("dragScroll"),subjectEl:j,subjectCenter:!0,interactionStart:function(d){b=!1,c=new rb(a.el,{additionalClass:"fc-dragging",parentEl:f.el,opacity:l.isTouch?null:f.opt("dragOpacity"),revertDuration:f.opt("dragRevertDuration"),zIndex:2}),c.hide(),c.start(d)},dragStart:function(c){l.isTouch&&!f.isEventSelected(k)&&f.selectEvent(k),b=!0,e.handleSegMouseout(a,c),e.segDragStart(a,c),f.hideEvent(k)},hitOver:function(b,h,j){var m;a.hit&&(j=a.hit),d=e.computeEventDrop(j.component.getHitSpan(j),b.component.getHitSpan(b),k),d&&!i.isEventSpanAllowed(e.eventToSpan(d),k)&&(g(),d=null),d&&(m=f.renderDrag(d,a))?(m.addClass("fc-dragging"),l.isTouch||e.applyDragOpacity(m),c.hide()):c.show(),h&&(d=null)},hitOut:function(){f.unrenderDrag(),c.show(),d=null},hitDone:function(){h()},interactionEnd:function(g){c.stop(!d,function(){b&&(f.unrenderDrag(),f.showEvent(k),e.segDragStop(a,g)),d&&f.reportEventDrop(k,d,this.largeUnit,j,g)}),e.segDragListener=null}});return l},buildSegSelectListener:function(a){var b=this,c=this.view,d=a.event;if(this.segDragListener)return this.segDragListener;var e=this.segDragListener=new pb({dragStart:function(a){e.isTouch&&!c.isEventSelected(d)&&c.selectEvent(d)},interactionEnd:function(a){b.segDragListener=null}});return e},segDragStart:function(a,b){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",a.el[0],a.event,b,{})},segDragStop:function(a,b){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",a.el[0],a.event,b,{})},computeEventDrop:function(a,b,c){var d,e,f=this.view.calendar,g=a.start,h=b.start;return g.hasTime()===h.hasTime()?(d=this.diffDates(h,g),c.allDay&&T(d)?(e={start:c.start.clone(),end:f.getEventEnd(c),allDay:!1},f.normalizeEventTimes(e)):e={start:c.start.clone(),end:c.end?c.end.clone():null,allDay:c.allDay},e.start.add(d),e.end&&e.end.add(d)):e={start:h.clone(),end:null,allDay:!h.hasTime()},e},applyDragOpacity:function(a){var b=this.view.opt("dragOpacity");null!=b&&a.each(function(a,c){c.style.opacity=b})},externalDragStart:function(b,c){var d,e,f=this.view;f.opt("droppable")&&(d=a((c?c.item:null)||b.target),e=f.opt("dropAccept"),(a.isFunction(e)?e.call(d[0],d):d.is(e))&&(this.isDraggingExternal||this.listenToExternalDrag(d,b,c)))},listenToExternalDrag:function(a,b,c){var d,e=this,f=this.view.calendar,i=Ha(a),j=e.externalDragListener=new qb(this,{interactionStart:function(){e.isDraggingExternal=!0},hitOver:function(a){d=e.computeExternalDrop(a.component.getHitSpan(a),i),d&&!f.isExternalSpanAllowed(e.eventToSpan(d),d,i.eventProps)&&(g(),d=null),d&&e.renderDrag(d)},hitOut:function(){d=null},hitDone:function(){h(),e.unrenderDrag()},interactionEnd:function(b){d&&e.view.reportExternalDrop(i,d,a,b,c),e.isDraggingExternal=!1,e.externalDragListener=null}});j.startDrag(b)},computeExternalDrop:function(a,b){var c=this.view.calendar,d={start:c.applyTimezone(a.start),end:null};return b.startTime&&!d.start.hasTime()&&d.start.time(b.startTime),b.duration&&(d.end=d.start.clone().add(b.duration)),d},renderDrag:function(a,b){},unrenderDrag:function(){},buildSegResizeListener:function(a,b){var c,d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event,l=i.getEventEnd(k),m=this.segResizeListener=new qb(this,{scroll:f.opt("dragScroll"),subjectEl:j,interactionStart:function(){c=!1},dragStart:function(b){c=!0,e.handleSegMouseout(a,b),e.segResizeStart(a,b)},hitOver:function(c,h,j){var m=e.getHitSpan(j),n=e.getHitSpan(c);d=b?e.computeEventStartResize(m,n,k):e.computeEventEndResize(m,n,k),d&&(i.isEventSpanAllowed(e.eventToSpan(d),k)?d.start.isSame(k.start)&&d.end.isSame(l)&&(d=null):(g(),d=null)),d&&(f.hideEvent(k),e.renderEventResize(d,a))},hitOut:function(){d=null},hitDone:function(){e.unrenderEventResize(),f.showEvent(k),h()},interactionEnd:function(b){c&&e.segResizeStop(a,b),d&&f.reportEventResize(k,d,this.largeUnit,j,b),e.segResizeListener=null}});return m},segResizeStart:function(a,b){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",a.el[0],a.event,b,{})},segResizeStop:function(a,b){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",a.el[0],a.event,b,{})},computeEventStartResize:function(a,b,c){return this.computeEventResize("start",a,b,c)},computeEventEndResize:function(a,b,c){return this.computeEventResize("end",a,b,c)},computeEventResize:function(a,b,c,d){var e,f,g=this.view.calendar,h=this.diffDates(c[a],b[a]);return e={start:d.start.clone(),end:g.getEventEnd(d),allDay:d.allDay},e.allDay&&T(h)&&(e.allDay=!1,g.normalizeEventTimes(e)),e[a].add(h),e.start.isBefore(e.end)||(f=this.minResizeDuration||(d.allDay?g.defaultAllDayEventDuration:g.defaultTimedEventDuration),"start"==a?e.start=e.end.clone().subtract(f):e.end=e.start.clone().add(f)),e},renderEventResize:function(a,b){},unrenderEventResize:function(){},getEventTimeText:function(a,b,c){return null==b&&(b=this.eventTimeFormat),null==c&&(c=this.displayEventEnd),this.displayEventTime&&a.start.hasTime()?c&&a.end?this.view.formatRange(a,b):a.start.format(b):""},getSegClasses:function(a,b,c){var d=this.view,e=a.event,f=["fc-event",a.isStart?"fc-start":"fc-not-start",a.isEnd?"fc-end":"fc-not-end"].concat(e.className,e.source?e.source.className:[]);return b&&f.push("fc-draggable"),c&&f.push("fc-resizable"),d.isEventSelected(e)&&f.push("fc-selected"),f},getSegSkinCss:function(a){var b=a.event,c=this.view,d=b.source||{},e=b.color,f=d.color,g=c.opt("eventColor");return{"background-color":b.backgroundColor||e||d.backgroundColor||f||c.opt("eventBackgroundColor")||g,"border-color":b.borderColor||e||d.borderColor||f||c.opt("eventBorderColor")||g,color:b.textColor||d.textColor||c.opt("eventTextColor")}},eventToSegs:function(a){return this.eventsToSegs([a])},eventToSpan:function(a){return this.eventToSpans(a)[0]},eventToSpans:function(a){var b=this.eventToRange(a);return this.eventRangeToSpans(b,a)},eventsToSegs:function(b,c){var d=this,e=Fa(b),f=[];return a.each(e,function(a,b){var e,g=[];for(e=0;e<b.length;e++)g.push(d.eventToRange(b[e]));if(Da(b[0]))for(g=d.invertRanges(g),e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[0],c));else for(e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[e],c))}),f},eventToRange:function(a){return{start:a.start.clone().stripZone(),end:(a.end?a.end.clone():this.view.calendar.getDefaultEventEnd(null!=a.allDay?a.allDay:!a.start.hasTime(),a.start)).stripZone()}},eventRangeToSegs:function(a,b,c){var d,e=this.eventRangeToSpans(a,b),f=[];for(d=0;d<e.length;d++)f.push.apply(f,this.eventSpanToSegs(e[d],b,c));return f},eventRangeToSpans:function(b,c){return[a.extend({},b)]},eventSpanToSegs:function(a,b,c){var d,e,f=c?c(a):this.spanToSegs(a);for(d=0;d<f.length;d++)e=f[d],e.event=b,e.eventStartMS=+a.start,e.eventDurationMS=a.end-a.start;return f},invertRanges:function(a){var b,c,d=this.view,e=d.start.clone(),f=d.end.clone(),g=[],h=e;for(a.sort(Ga),b=0;b<a.length;b++)c=a[b],c.start>h&&g.push({start:h,end:c.start}),h=c.end;return f>h&&g.push({start:h,end:f}),g},sortEventSegs:function(a){a.sort(ia(this,"compareEventSegs"))},compareEventSegs:function(a,b){return a.eventStartMS-b.eventStartMS||b.eventDurationMS-a.eventDurationMS||b.event.allDay-a.event.allDay||H(a.event,b.event,this.view.eventOrderSpecs)}}),Va.isBgEvent=Ca,Va.dataAttrPrefix="";var tb=Va.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var a,b,c,d=this.view,e=this.start.clone(),f=-1,g=[],h=[];e.isBefore(this.end);)d.isHiddenDay(e)?g.push(f+.5):(f++,g.push(f),h.push(e.clone())),e.add(1,"days");if(this.breakOnWeeks){for(b=h[0].day(),a=1;a<h.length&&h[a].day()!=b;a++);c=Math.ceil(h.length/a)}else c=1,a=h.length;this.dayDates=h,this.dayIndices=g,this.daysPerRow=a,this.rowCnt=c,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(a,b){return this.dayDates[this.getCellDayIndex(a,b)].clone()},getCellRange:function(a,b){var c=this.getCellDate(a,b),d=c.clone().add(1,"days");return{start:c,end:d}},getCellDayIndex:function(a,b){return a*this.daysPerRow+this.getColDayIndex(b)},getColDayIndex:function(a){return this.isRTL?this.colCnt-1-a:a},getDateDayIndex:function(a){var b=this.dayIndices,c=a.diff(this.start,"days");return 0>c?b[0]-1:c>=b.length?b[b.length-1]+1:b[c]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(a){var b,c,d,e,f,g=this.daysPerRow,h=this.view.computeDayRange(a),i=this.getDateDayIndex(h.start),j=this.getDateDayIndex(h.end.clone().subtract(1,"days")),k=[];for(b=0;b<this.rowCnt;b++)c=b*g,d=c+g-1,e=Math.max(i,c),f=Math.min(j,d),e=Math.ceil(e),f=Math.floor(f),f>=e&&k.push({row:b,firstRowDayIndex:e-c,lastRowDayIndex:f-c,isStart:e===i,isEnd:f===j});return k},sliceRangeByDay:function(a){var b,c,d,e,f,g,h=this.daysPerRow,i=this.view.computeDayRange(a),j=this.getDateDayIndex(i.start),k=this.getDateDayIndex(i.end.clone().subtract(1,"days")),l=[];for(b=0;b<this.rowCnt;b++)for(c=b*h,d=c+h-1,e=c;d>=e;e++)f=Math.max(j,e),g=Math.min(k,e),f=Math.ceil(f),g=Math.floor(g),g>=f&&l.push({row:b,firstRowDayIndex:f-c,lastRowDayIndex:g-c,isStart:f===j,isEnd:g===k});return l},renderHeadHtml:function(){var a=this.view;return'<div class="fc-row '+a.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var a,b,c=[];for(a=0;a<this.colCnt;a++)b=this.getCellDate(0,a),c.push(this.renderHeadDateCellHtml(b));return c.join("")},renderHeadDateCellHtml:function(a,b,c){var d=this.view;return'<th class="fc-day-header '+d.widgetHeaderClass+" fc-"+Za[a.day()]+'"'+(1==this.rowCnt?' data-date="'+a.format("YYYY-MM-DD")+'"':"")+(b>1?' colspan="'+b+'"':"")+(c?" "+c:"")+">"+ca(a.format(this.colHeadFormat))+"</th>"},renderBgTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(a))+this.renderBgCellsHtml(a)+(this.isRTL?this.renderBgIntroHtml(a):"")+"</tr>";
+},renderBgIntroHtml:function(a){return this.renderIntroHtml()},renderBgCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderBgCellHtml(c));return d.join("")},renderBgCellHtml:function(a,b){var c=this.view,d=this.getDayClasses(a);return d.unshift("fc-day",c.widgetContentClass),'<td class="'+d.join(" ")+'" data-date="'+a.format("YYYY-MM-DD")+'"'+(b?" "+b:"")+"></td>"},renderIntroHtml:function(){},bookendCells:function(a){var b=this.renderIntroHtml();b&&(this.isRTL?a.append(b):a.prepend(b))}},ub=Va.DayGrid=sb.extend(tb,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(a){var b,c,d=this.view,e=this.rowCnt,f=this.colCnt,g="";for(b=0;e>b;b++)g+=this.renderDayRowHtml(b,a);for(this.el.html(g),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new ob({els:this.rowEls,isVertical:!0}),this.colCoordCache=new ob({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),b=0;e>b;b++)for(c=0;f>c;c++)d.trigger("dayRender",null,this.getCellDate(b,c),this.getCellEl(b,c))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(!0),b=this.eventsToSegs(a);this.renderFill("businessHours",b,"bgevent")},renderDayRowHtml:function(a,b){var c=this.view,d=["fc-row","fc-week",c.widgetContentClass];return b&&d.push("fc-rigid"),'<div class="'+d.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(a)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(a)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(a))+this.renderNumberCellsHtml(a)+(this.isRTL?this.renderNumberIntroHtml(a):"")+"</tr>"},renderNumberIntroHtml:function(a){return this.renderIntroHtml()},renderNumberCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderNumberCellHtml(c));return d.join("")},renderNumberCellHtml:function(a){var b;return this.view.dayNumbersVisible?(b=this.getDayClasses(a),b.unshift("fc-day-number"),'<td class="'+b.join(" ")+'" data-date="'+a.format()+'">'+a.date()+"</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},spanToSegs:function(a){var b,c,d=this.sliceRangeByRow(a);for(b=0;b<d.length;b++)c=d[b],this.isRTL?(c.leftCol=this.daysPerRow-1-c.lastRowDayIndex,c.rightCol=this.daysPerRow-1-c.firstRowDayIndex):(c.leftCol=c.firstRowDayIndex,c.rightCol=c.lastRowDayIndex);return d},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(a,b){var c=this.colCoordCache.getHorizontalIndex(a),d=this.rowCoordCache.getVerticalIndex(b);return null!=d&&null!=c?this.getCellHit(d,c):void 0},getHitSpan:function(a){return this.getCellRange(a.row,a.col)},getHitEl:function(a){return this.getCellEl(a.row,a.col)},getCellHit:function(a,b){return{row:a,col:b,component:this,left:this.colCoordCache.getLeftOffset(b),right:this.colCoordCache.getRightOffset(b),top:this.rowCoordCache.getTopOffset(a),bottom:this.rowCoordCache.getBottomOffset(a)}},getCellEl:function(a,b){return this.cellEls.eq(a*this.colCnt+b)},renderDrag:function(a,b){return this.renderHighlight(this.eventToSpan(a)),b&&!b.el.closest(this.el).length?this.renderEventLocationHelper(a,b):void 0},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(a,b){return this.renderHighlight(this.eventToSpan(a)),this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(b,c){var d,e=[],f=this.eventToSegs(b);return f=this.renderFgSegEls(f),d=this.renderSegRows(f),this.rowEls.each(function(b,f){var g,h=a(f),i=a('<div class="fc-helper-skeleton"><table/></div>');g=c&&c.row===b?c.el.position().top:h.find(".fc-content-skeleton tbody").position().top,i.css("top",g).find("table").append(d[b].tbodyEl),h.append(i),e.push(i[0])}),this.helperEls=a(e)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(b,c,d){var e,f,g,h=[];for(c=this.renderFillSegEls(b,c),e=0;e<c.length;e++)f=c[e],g=this.renderFillRow(b,f,d),this.rowEls.eq(f.row).append(g),h.push(g[0]);return this.elsByFill[b]=a(h),c},renderFillRow:function(b,c,d){var e,f,g=this.colCnt,h=c.leftCol,i=c.rightCol+1;return d=d||b.toLowerCase(),e=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),f=e.find("tr"),h>0&&f.append('<td colspan="'+h+'"/>'),f.append(c.el.attr("colspan",i-h)),g>i&&f.append('<td colspan="'+(g-i)+'"/>'),this.bookendCells(f),e}});ub.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),sb.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return sb.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(b){var c=a.grep(b,function(a){return a.event.allDay});return sb.prototype.renderBgSegs.call(this,c)},renderFgSegs:function(b){var c;return b=this.renderFgSegEls(b),c=this.rowStructs=this.renderSegRows(b),this.rowEls.each(function(b,d){a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)}),b},unrenderFgSegs:function(){for(var a,b=this.rowStructs||[];a=b.pop();)a.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(a){var b,c,d=[];for(b=this.groupSegRows(a),c=0;c<b.length;c++)d.push(this.renderSegRow(c,b[c]));return d},fgSegHtml:function(a,b){var c,d,e=this.view,f=a.event,g=e.isEventDraggable(f),h=!b&&f.allDay&&a.isStart&&e.isEventResizableFromStart(f),i=!b&&f.allDay&&a.isEnd&&e.isEventResizableFromEnd(f),j=this.getSegClasses(a,g,h||i),k=ea(this.getSegSkinCss(a)),l="";return j.unshift("fc-day-grid-event","fc-h-event"),a.isStart&&(c=this.getEventTimeText(f),c&&(l='<span class="fc-time">'+ca(c)+"</span>")),d='<span class="fc-title">'+(ca(f.title||"")||"&nbsp;")+"</span>",'<a class="'+j.join(" ")+'"'+(f.url?' href="'+ca(f.url)+'"':"")+(k?' style="'+k+'"':"")+'><div class="fc-content">'+(this.isRTL?d+" "+l:l+" "+d)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer" />':"")+(i?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(b,c){function d(b){for(;b>g;)k=(r[e-1]||[])[g],k?k.attr("rowspan",parseInt(k.attr("rowspan")||1,10)+1):(k=a("<td/>"),h.append(k)),q[e][g]=k,r[e][g]=k,g++}var e,f,g,h,i,j,k,l=this.colCnt,m=this.buildSegLevels(c),n=Math.max(1,m.length),o=a("<tbody/>"),p=[],q=[],r=[];for(e=0;n>e;e++){if(f=m[e],g=0,h=a("<tr/>"),p.push([]),q.push([]),r.push([]),f)for(i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),k=a('<td class="fc-event-container"/>').append(j.el),j.leftCol!=j.rightCol?k.attr("colspan",j.rightCol-j.leftCol+1):r[e][g]=k;g<=j.rightCol;)q[e][g]=k,p[e][g]=j,g++;h.append(k)}d(l),this.bookendCells(h),o.append(h)}return{row:b,tbodyEl:o,cellMatrix:q,segMatrix:p,segLevels:m,segs:c}},buildSegLevels:function(a){var b,c,d,e=[];for(this.sortEventSegs(a),b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ia(c,e[d]);d++);c.level=d,(e[d]||(e[d]=[])).push(c)}for(d=0;d<e.length;d++)e[d].sort(Ja);return e},groupSegRows:function(a){var b,c=[];for(b=0;b<this.rowCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].row].push(a[b]);return c}}),ub.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(a){var b,c,d=this.rowStructs||[];for(b=0;b<d.length;b++)this.unlimitRow(b),c=a?"number"==typeof a?a:this.computeRowLevelLimit(b):!1,c!==!1&&this.limitRow(b,c)},computeRowLevelLimit:function(b){function c(b,c){f=Math.max(f,a(c).outerHeight())}var d,e,f,g=this.rowEls.eq(b),h=g.height(),i=this.rowStructs[b].tbodyEl.children();for(d=0;d<i.length;d++)if(e=i.eq(d).removeClass("fc-limited"),f=0,e.find("> td > :first-child").each(c),e.position().top+f>h)return d;return!1},limitRow:function(b,c){function d(d){for(;d>w;)j=t.getCellSegs(b,w,c),j.length&&(m=f[c-1][w],s=t.renderMoreLink(b,w,j),r=a("<div/>").append(s),m.append(r),v.push(r[0])),w++}var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=this,u=this.rowStructs[b],v=[],w=0;if(c&&c<u.segLevels.length){for(e=u.segLevels[c-1],f=u.cellMatrix,g=u.tbodyEl.children().slice(c).addClass("fc-limited").get(),h=0;h<e.length;h++){for(i=e[h],d(i.leftCol),l=[],k=0;w<=i.rightCol;)j=this.getCellSegs(b,w,c),l.push(j),k+=j.length,w++;if(k){for(m=f[c-1][i.leftCol],n=m.attr("rowspan")||1,o=[],p=0;p<l.length;p++)q=a('<td class="fc-more-cell"/>').attr("rowspan",n),j=l[p],s=this.renderMoreLink(b,i.leftCol+p,[i].concat(j)),r=a("<div/>").append(s),q.append(r),o.push(q[0]),v.push(q[0]);m.addClass("fc-limited").after(a(o)),g.push(m[0])}}d(this.colCnt),u.moreEls=a(v),u.limitedEls=a(g)}},unlimitRow:function(a){var b=this.rowStructs[a];b.moreEls&&(b.moreEls.remove(),b.moreEls=null),b.limitedEls&&(b.limitedEls.removeClass("fc-limited"),b.limitedEls=null)},renderMoreLink:function(b,c,d){var e=this,f=this.view;return a('<a class="fc-more"/>').text(this.getMoreLinkText(d.length)).on("click",function(g){var h=f.opt("eventLimitClick"),i=e.getCellDate(b,c),j=a(this),k=e.getCellEl(b,c),l=e.getCellSegs(b,c),m=e.resliceDaySegs(l,i),n=e.resliceDaySegs(d,i);"function"==typeof h&&(h=f.trigger("eventLimitClick",null,{date:i,dayEl:k,moreEl:j,segs:m,hiddenSegs:n},g)),"popover"===h?e.showSegPopover(b,c,j,m):"string"==typeof h&&f.calendar.zoomTo(i,h)})},showSegPopover:function(a,b,c,d){var e,f,g=this,h=this.view,i=c.parent();e=1==this.rowCnt?h.el:this.rowEls.eq(a),f={className:"fc-more-popover",content:this.renderSegPopoverContent(a,b,d),parentEl:this.el,top:e.offset().top,autoHide:!0,viewportConstrain:h.opt("popoverViewportConstrain"),hide:function(){g.segPopover.removeElement(),g.segPopover=null,g.popoverSegs=null}},this.isRTL?f.right=i.offset().left+i.outerWidth()+1:f.left=i.offset().left-1,this.segPopover=new nb(f),this.segPopover.show()},renderSegPopoverContent:function(b,c,d){var e,f=this.view,g=f.opt("theme"),h=this.getCellDate(b,c).format(f.opt("dayPopoverFormat")),i=a('<div class="fc-header '+f.widgetHeaderClass+'"><span class="fc-close '+(g?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+ca(h)+'</span><div class="fc-clear"/></div><div class="fc-body '+f.widgetContentClass+'"><div class="fc-event-container"></div></div>'),j=i.find(".fc-event-container");for(d=this.renderFgSegEls(d,!0),this.popoverSegs=d,e=0;e<d.length;e++)this.prepareHits(),d[e].hit=this.getCellHit(b,c),this.releaseHits(),j.append(d[e].el);return i},resliceDaySegs:function(b,c){var d=a.map(b,function(a){return a.event}),e=c.clone(),f=e.clone().add(1,"days"),g={start:e,end:f};return b=this.eventsToSegs(d,function(a){var b=K(a,g);return b?[b]:[]}),this.sortEventSegs(b),b},getMoreLinkText:function(a){var b=this.view.opt("eventLimitText");return"function"==typeof b?b(a):"+"+a+" "+b},getCellSegs:function(a,b,c){for(var d,e=this.rowStructs[a].segMatrix,f=c||0,g=[];f<e.length;)d=e[f][b],d&&g.push(d),f++;return g}});var vb=Va.TimeGrid=sb.extend(tb,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatContainerEl:null,slatEls:null,nowIndicatorEls:null,colCoordCache:null,slatCoordCache:null,constructor:function(){sb.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatContainerEl=this.el.find(".fc-slats"),this.slatEls=this.slatContainerEl.find("tr"),this.colCoordCache=new ob({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new ob({els:this.slatEls,isVertical:!0}),this.renderContentSkeleton()},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var a,c,d,e=this.view,f=this.isRTL,g="",h=b.duration(+this.minTime);h<this.maxTime;)a=this.start.clone().time(h),c=ha(R(h,this.labelInterval)),d='<td class="fc-axis fc-time '+e.widgetContentClass+'" '+e.axisStyleAttr()+">"+(c?"<span>"+ca(a.format(this.labelFormat))+"</span>":"")+"</td>",g+='<tr data-time="'+a.format("HH:mm:ss")+'"'+(c?"":' class="fc-minor"')+">"+(f?"":d)+'<td class="'+e.widgetContentClass+'"/>'+(f?d:"")+"</tr>",h.add(this.slotDuration);return g},processOptions:function(){var c,d=this.view,e=d.opt("slotDuration"),f=d.opt("snapDuration");e=b.duration(e),f=f?b.duration(f):e,this.slotDuration=e,this.snapDuration=f,this.snapsPerSlot=e/f,this.minResizeDuration=f,this.minTime=b.duration(d.opt("minTime")),this.maxTime=b.duration(d.opt("maxTime")),c=d.opt("slotLabelFormat"),a.isArray(c)&&(c=c[c.length-1]),this.labelFormat=c||d.opt("axisFormat")||d.opt("smallTimeFormat"),c=d.opt("slotLabelInterval"),this.labelInterval=c?b.duration(c):this.computeLabelInterval(e)},computeLabelInterval:function(a){var c,d,e;for(c=Mb.length-1;c>=0;c--)if(d=b.duration(Mb[c]),e=R(d,a),ha(e)&&e>1)return d;return b.duration(a)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(a,b){var c=this.snapsPerSlot,d=this.colCoordCache,e=this.slatCoordCache,f=d.getHorizontalIndex(a),g=e.getVerticalIndex(b);if(null!=f&&null!=g){var h=e.getTopOffset(g),i=e.getHeight(g),j=(b-h)/i,k=Math.floor(j*c),l=g*c+k,m=h+k/c*i,n=h+(k+1)/c*i;return{col:f,snap:l,component:this,left:d.getLeftOffset(f),right:d.getRightOffset(f),top:m,bottom:n}}},getHitSpan:function(a){var b,c=this.getCellDate(0,a.col),d=this.computeSnapTime(a.snap);return c.time(d),b=c.clone().add(this.snapDuration),{start:c,end:b}},getHitEl:function(a){return this.colEls.eq(a.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(a){return b.duration(this.minTime+this.snapDuration*a)},spanToSegs:function(a){var b,c=this.sliceRangeByTimes(a);for(b=0;b<c.length;b++)this.isRTL?c[b].col=this.daysPerRow-1-c[b].dayIndex:c[b].col=c[b].dayIndex;return c},sliceRangeByTimes:function(a){var b,c,d,e,f=[];for(c=0;c<this.daysPerRow;c++)d=this.dayDates[c].clone(),e={start:d.clone().time(this.minTime),end:d.clone().time(this.maxTime)},b=K(a,e),b&&(b.dayIndex=c,f.push(b));return f},updateSize:function(a){this.slatCoordCache.build(),a&&this.updateSegVerticals([].concat(this.fgSegs||[],this.bgSegs||[],this.businessSegs||[]))},getTotalSlatHeight:function(){return this.slatContainerEl.outerHeight()},computeDateTop:function(a,c){return this.computeTimeTop(b.duration(a-c.clone().stripTime()))},computeTimeTop:function(a){var b,c,d=this.slatEls.length,e=(a-this.minTime)/this.slotDuration;return e=Math.max(0,e),e=Math.min(d,e),b=Math.floor(e),b=Math.min(b,d-1),c=e-b,this.slatCoordCache.getTopPosition(b)+this.slatCoordCache.getHeight(b)*c},renderDrag:function(a,b){return b?this.renderEventLocationHelper(a,b):void this.renderHighlight(this.eventToSpan(a))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(a,b){return this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(a,b){return this.renderHelperSegs(this.eventToSegs(a),b)},unrenderHelper:function(){this.unrenderHelperSegs()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(),b=this.eventsToSegs(a);this.renderBusinessSegs(b)},unrenderBusinessHours:function(){this.unrenderBusinessSegs()},getNowIndicatorUnit:function(){return"minute"},renderNowIndicator:function(b){var c,d=this.spanToSegs({start:b,end:b}),e=this.computeDateTop(b,b),f=[];for(c=0;c<d.length;c++)f.push(a('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top",e).appendTo(this.colContainerEls.eq(d[c].col))[0]);d.length>0&&f.push(a('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top",e).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=a(f)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},renderSelection:function(a){this.view.opt("selectHelper")?this.renderEventLocationHelper(a):this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderHighlight:function(a){this.renderHighlightSegs(this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderHighlightSegs()}});vb.mixin({colContainerEls:null,fgContainerEls:null,bgContainerEls:null,helperContainerEls:null,highlightContainerEls:null,businessContainerEls:null,fgSegs:null,bgSegs:null,helperSegs:null,highlightSegs:null,businessSegs:null,renderContentSkeleton:function(){var b,c,d="";for(b=0;b<this.colCnt;b++)d+='<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';c=a('<div class="fc-content-skeleton"><table><tr>'+d+"</tr></table></div>"),this.colContainerEls=c.find(".fc-content-col"),this.helperContainerEls=c.find(".fc-helper-container"),this.fgContainerEls=c.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=c.find(".fc-bgevent-container"),this.highlightContainerEls=c.find(".fc-highlight-container"),this.businessContainerEls=c.find(".fc-business-container"),this.bookendCells(c.find("tr")),this.el.append(c)},renderFgSegs:function(a){return a=this.renderFgSegsIntoContainers(a,this.fgContainerEls),this.fgSegs=a,a},unrenderFgSegs:function(){this.unrenderNamedSegs("fgSegs")},renderHelperSegs:function(b,c){var d,e,f,g=[];for(b=this.renderFgSegsIntoContainers(b,this.helperContainerEls),d=0;d<b.length;d++)e=b[d],c&&c.col===e.col&&(f=c.el,e.el.css({left:f.css("left"),right:f.css("right"),"margin-left":f.css("margin-left"),"margin-right":f.css("margin-right")})),g.push(e.el[0]);return this.helperSegs=b,a(g)},unrenderHelperSegs:function(){this.unrenderNamedSegs("helperSegs")},renderBgSegs:function(a){return a=this.renderFillSegEls("bgEvent",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.bgContainerEls),this.bgSegs=a,a},unrenderBgSegs:function(){this.unrenderNamedSegs("bgSegs")},renderHighlightSegs:function(a){a=this.renderFillSegEls("highlight",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.highlightContainerEls),this.highlightSegs=a},unrenderHighlightSegs:function(){this.unrenderNamedSegs("highlightSegs")},renderBusinessSegs:function(a){a=this.renderFillSegEls("businessHours",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.businessContainerEls),this.businessSegs=a},unrenderBusinessSegs:function(){this.unrenderNamedSegs("businessSegs")},groupSegsByCol:function(a){var b,c=[];for(b=0;b<this.colCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].col].push(a[b]);return c},attachSegsByCol:function(a,b){var c,d,e;for(c=0;c<this.colCnt;c++)for(d=a[c],e=0;e<d.length;e++)b.eq(c).append(d[e].el)},unrenderNamedSegs:function(a){var b,c=this[a];if(c){for(b=0;b<c.length;b++)c[b].el.remove();this[a]=null}},renderFgSegsIntoContainers:function(a,b){var c,d;for(a=this.renderFgSegEls(a),c=this.groupSegsByCol(a),d=0;d<this.colCnt;d++)this.updateFgSegCoords(c[d]);return this.attachSegsByCol(c,b),a},fgSegHtml:function(a,b){var c,d,e,f=this.view,g=a.event,h=f.isEventDraggable(g),i=!b&&a.isStart&&f.isEventResizableFromStart(g),j=!b&&a.isEnd&&f.isEventResizableFromEnd(g),k=this.getSegClasses(a,h,i||j),l=ea(this.getSegSkinCss(a));return k.unshift("fc-time-grid-event","fc-v-event"),f.isMultiDayEvent(g)?(a.isStart||a.isEnd)&&(c=this.getEventTimeText(a),d=this.getEventTimeText(a,"LT"),e=this.getEventTimeText(a,null,!1)):(c=this.getEventTimeText(g),d=this.getEventTimeText(g,"LT"),e=this.getEventTimeText(g,null,!1)),'<a class="'+k.join(" ")+'"'+(g.url?' href="'+ca(g.url)+'"':"")+(l?' style="'+l+'"':"")+'><div class="fc-content">'+(c?'<div class="fc-time" data-start="'+ca(e)+'" data-full="'+ca(d)+'"><span>'+ca(c)+"</span></div>":"")+(g.title?'<div class="fc-title">'+ca(g.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(j?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},updateSegVerticals:function(a){this.computeSegVerticals(a),this.assignSegVerticals(a)},computeSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.top=this.computeDateTop(c.start,c.start),c.bottom=this.computeDateTop(c.end,c.start)},assignSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateSegVerticalCss(c))},generateSegVerticalCss:function(a){return{top:a.top,bottom:-a.bottom}},updateFgSegCoords:function(a){this.computeSegVerticals(a),this.computeFgSegHorizontals(a),this.assignSegVerticals(a),this.assignFgSegHorizontals(a)},computeFgSegHorizontals:function(a){var b,c,d;if(this.sortEventSegs(a),b=Ka(a),La(b),c=b[0]){for(d=0;d<c.length;d++)Ma(c[d]);for(d=0;d<c.length;d++)this.computeFgSegForwardBack(c[d],0,0)}},computeFgSegForwardBack:function(a,b,c){var d,e=a.forwardSegs;if(void 0===a.forwardCoord)for(e.length?(this.sortForwardSegs(e),this.computeFgSegForwardBack(e[0],b+1,c),a.forwardCoord=e[0].backwardCoord):a.forwardCoord=1,a.backwardCoord=a.forwardCoord-(a.forwardCoord-c)/(b+1),d=0;d<e.length;d++)this.computeFgSegForwardBack(e[d],0,a.forwardCoord)},sortForwardSegs:function(a){a.sort(ia(this,"compareForwardSegs"))},compareForwardSegs:function(a,b){return b.forwardPressure-a.forwardPressure||(a.backwardCoord||0)-(b.backwardCoord||0)||this.compareEventSegs(a,b)},assignFgSegHorizontals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateFgSegHorizontalCss(c)),c.bottom-c.top<30&&c.el.addClass("fc-short")},generateFgSegHorizontalCss:function(a){var b,c,d=this.view.opt("slotEventOverlap"),e=a.backwardCoord,f=a.forwardCoord,g=this.generateSegVerticalCss(a);return d&&(f=Math.min(1,e+2*(f-e))),this.isRTL?(b=1-f,c=e):(b=e,c=1-f),g.zIndex=a.level+1,g.left=100*b+"%",g.right=100*c+"%",d&&a.forwardPressure&&(g[this.isRTL?"marginLeft":"marginRight"]=20),g}});var wb=Va.View=xa.extend(kb,lb,{type:null,name:null,title:null,calendar:null,options:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,selectedEvent:null,eventOrderSpecs:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(a,c,d,e){this.calendar=a,this.type=this.name=c,this.options=d,this.intervalDuration=e||b.duration(1,"day"),this.nextDayThreshold=b.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=G(this.opt("eventOrder")),this.initialize()},initialize:function(){},opt:function(a){return this.options[a]},trigger:function(a,b){var c=this.calendar;return c.trigger.apply(c,[a,b||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(a){this.setRange(this.computeRange(a))},setRange:function(b){a.extend(this,b),this.updateTitle()},computeRange:function(a){var b,c,d=O(this.intervalDuration),e=a.clone().startOf(d),f=e.clone().add(this.intervalDuration);return/year|month|week|day/.test(d)?(e.stripTime(),f.stripTime()):(e.hasTime()||(e=this.calendar.time(0)),f.hasTime()||(f=this.calendar.time(0))),b=e.clone(),b=this.skipHiddenDays(b),c=f.clone(),c=this.skipHiddenDays(c,-1,!0),{intervalUnit:d,intervalStart:e,intervalEnd:f,start:b,end:c}},computePrevDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(a,b){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,b),a.startOf("day")),a},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.calendar.applyTimezone(this.intervalStart),end:this.calendar.applyTimezone(this.intervalEnd)},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(a,b,c){var d=a.end;return d.hasTime()||(d=d.clone().subtract(1)),sa(a.start,d,b,c,this.opt("isRTL"))},setElement:function(a){this.el=a,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(b){var c=this,d=null;return this.displaying&&(d=this.queryScroll()),this.calendar.freezeContentHeight(),this.clear().then(function(){return c.displaying=a.when(c.displayView(b)).then(function(){c.forceScroll(c.computeInitialScroll(d)),c.calendar.unfreezeContentHeight(),c.triggerRender()})})},clear:function(){var b=this,c=this.displaying;return c?c.then(function(){return b.displaying=null,b.clearEvents(),b.clearView()}):a.when()},displayView:function(a){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),a&&this.setDate(a),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours(),this.startNowIndicator()},clearView:function(){this.unselect(),this.stopNowIndicator(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){this.listenTo(a(document),"mousedown",this.handleDocumentMousedown),this.listenTo(a(document),"touchstart",this.processUnselect)},unbindGlobalHandlers:function(){this.stopListeningTo(a(document))},initThemingProps:function(){var a=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=a+"-widget-header",this.widgetContentClass=a+"-widget-content",this.highlightStateClass=a+"-state-highlight"},renderBusinessHours:function(){},unrenderBusinessHours:function(){},startNowIndicator:function(){var a,c,d,e=this;this.opt("nowIndicator")&&(a=this.getNowIndicatorUnit(),a&&(c=ia(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,this.renderNowIndicator(this.initialNowDate),this.isNowIndicatorRendered=!0,d=this.initialNowDate.clone().startOf(a).add(1,a)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){e.nowIndicatorTimeoutID=null,c(),d=+b.duration(1,a),d=Math.max(100,d),e.nowIndicatorIntervalID=setInterval(c,d)},d)))},updateNowIndicator:function(){this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)))},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},updateSize:function(a){var b;a&&(b=this.queryScroll()),this.updateHeight(a),this.updateWidth(a),this.updateNowIndicator(),a&&this.setScroll(b)},updateWidth:function(a){},updateHeight:function(a){var b=this.calendar;this.setHeight(b.getSuggestedViewHeight(),b.isHeightAuto())},setHeight:function(a,b){},computeInitialScroll:function(a){return 0},queryScroll:function(){},setScroll:function(a){},forceScroll:function(a){var b=this;this.setScroll(a),setTimeout(function(){b.setScroll(a)},0)},displayEvents:function(a){var b=this.queryScroll();this.clearEvents(),this.renderEvents(a),this.isEventsRendered=!0,this.setScroll(b),this.triggerEventRender()},clearEvents:function(){var a;this.isEventsRendered&&(a=this.queryScroll(),this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.setScroll(a),this.isEventsRendered=!1)},renderEvents:function(a){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(a){this.trigger("eventAfterRender",a.event,a.event,a.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(a){this.trigger("eventDestroy",a.event,a.event,a.el)})},resolveEventEl:function(b,c){var d=this.trigger("eventRender",b,b,c);return d===!1?c=null:d&&d!==!0&&(c=a(d)),c},showEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","")},a)},hideEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","hidden")},a)},renderedEventSegEach:function(a,b){var c,d=this.getEventSegs();for(c=0;c<d.length;c++)b&&d[c].event._id!==b._id||d[c].el&&a.call(this,d[c])},getEventSegs:function(){return[]},isEventDraggable:function(a){var b=a.source||{};return ba(a.startEditable,b.startEditable,this.opt("eventStartEditable"),a.editable,b.editable,this.opt("editable"))},reportEventDrop:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventDrop(a,g.dateDelta,h,d,e),f.reportEventChange()},triggerEventDrop:function(a,b,c,d,e){this.trigger("eventDrop",d[0],a,b,c,e,{})},reportExternalDrop:function(b,c,d,e,f){var g,h,i=b.eventProps;i&&(g=a.extend({},i,c),h=this.calendar.renderEvent(g,b.stick)[0]),this.triggerExternalDrop(h,c,d,e,f)},triggerExternalDrop:function(a,b,c,d,e){this.trigger("drop",c[0],b.start,d,e),a&&this.trigger("eventReceive",null,a)},renderDrag:function(a,b){},unrenderDrag:function(){},isEventResizableFromStart:function(a){return this.opt("eventResizableFromStart")&&this.isEventResizable(a)},isEventResizableFromEnd:function(a){return this.isEventResizable(a)},isEventResizable:function(a){var b=a.source||{};return ba(a.durationEditable,b.durationEditable,this.opt("eventDurationEditable"),a.editable,b.editable,this.opt("editable"))},reportEventResize:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventResize(a,g.durationDelta,h,d,e),f.reportEventChange()},triggerEventResize:function(a,b,c,d,e){this.trigger("eventResize",d[0],a,b,c,e,{})},select:function(a,b){this.unselect(b),this.renderSelection(a),this.reportSelection(a,b)},renderSelection:function(a){},reportSelection:function(a,b){this.isSelected=!0,this.triggerSelect(a,b)},triggerSelect:function(a,b){this.trigger("select",null,this.calendar.applyTimezone(a.start),this.calendar.applyTimezone(a.end),b)},unselect:function(a){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,a))},unrenderSelection:function(){},selectEvent:function(a){this.selectedEvent&&this.selectedEvent===a||(this.unselectEvent(),this.renderedEventSegEach(function(a){a.el.addClass("fc-selected")},a),this.selectedEvent=a)},unselectEvent:function(){this.selectedEvent&&(this.renderedEventSegEach(function(a){a.el.removeClass("fc-selected")},this.selectedEvent),this.selectedEvent=null)},isEventSelected:function(a){return this.selectedEvent&&this.selectedEvent._id===a._id},handleDocumentMousedown:function(a){
+u(a)&&this.processUnselect(a)},processUnselect:function(a){this.processRangeUnselect(a),this.processEventUnselect(a)},processRangeUnselect:function(b){var c;this.isSelected&&this.opt("unselectAuto")&&(c=this.opt("unselectCancel"),c&&a(b.target).closest(c).length||this.unselect(b))},processEventUnselect:function(b){this.selectedEvent&&(a(b.target).closest(".fc-selected").length||this.unselectEvent())},triggerDayClick:function(a,b,c){this.trigger("dayClick",b,this.calendar.applyTimezone(a.start),c)},initHiddenDays:function(){var b,c=this.opt("hiddenDays")||[],d=[],e=0;for(this.opt("weekends")===!1&&c.push(0,6),b=0;7>b;b++)(d[b]=-1!==a.inArray(b,c))||e++;if(!e)throw"invalid hiddenDays";this.isHiddenDayHash=d},isHiddenDay:function(a){return b.isMoment(a)&&(a=a.day()),this.isHiddenDayHash[a]},skipHiddenDays:function(a,b,c){var d=a.clone();for(b=b||1;this.isHiddenDayHash[(d.day()+(c?b:0)+7)%7];)d.add(b,"days");return d},computeDayRange:function(a){var b,c=a.start.clone().stripTime(),d=a.end,e=null;return d&&(e=d.clone().stripTime(),b=+d.time(),b&&b>=this.nextDayThreshold&&e.add(1,"days")),(!d||c>=e)&&(e=c.clone().add(1,"days")),{start:c,end:e}},isMultiDayEvent:function(a){var b=this.computeDayRange(a);return b.end.diff(b.start,"days")>1}}),xb=Va.Scroller=xa.extend({el:null,scrollEl:null,overflowX:null,overflowY:null,constructor:function(a){a=a||{},this.overflowX=a.overflowX||a.overflow||"auto",this.overflowY=a.overflowY||a.overflow||"auto"},render:function(){this.el=this.renderEl(),this.applyOverflow()},renderEl:function(){return this.scrollEl=a('<div class="fc-scroller"></div>')},clear:function(){this.setHeight("auto"),this.applyOverflow()},destroy:function(){this.el.remove()},applyOverflow:function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},lockOverflow:function(a){var b=this.overflowX,c=this.overflowY;a=a||this.getScrollbarWidths(),"auto"===b&&(b=a.top||a.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===c&&(c=a.left||a.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":b,"overflow-y":c})},setHeight:function(a){this.scrollEl.height(a)},getScrollTop:function(){return this.scrollEl.scrollTop()},setScrollTop:function(a){this.scrollEl.scrollTop(a)},getClientWidth:function(){return this.scrollEl[0].clientWidth},getClientHeight:function(){return this.scrollEl[0].clientHeight},getScrollbarWidths:function(){return q(this.scrollEl)}}),yb=Va.Calendar=xa.extend({dirDefaults:null,langDefaults:null,overrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Pa,initialize:function(){},initOptions:function(a){var b,e,f,g;a=d(a),b=a.lang,e=zb[b],e||(b=yb.defaults.lang,e=zb[b]||{}),f=ba(a.isRTL,e.isRTL,yb.defaults.isRTL),g=f?yb.rtlDefaults:{},this.dirDefaults=g,this.langDefaults=e,this.overrides=a,this.options=c([yb.defaults,g,e,a]),Qa(this.options),this.viewSpecCache={}},getViewSpec:function(a){var b=this.viewSpecCache;return b[a]||(b[a]=this.buildViewSpec(a))},getUnitViewSpec:function(b){var c,d,e;if(-1!=a.inArray(b,$a))for(c=this.header.getViewsWithButtons(),a.each(Va.views,function(a){c.push(a)}),d=0;d<c.length;d++)if(e=this.getViewSpec(c[d]),e&&e.singleUnit==b)return e},buildViewSpec:function(a){for(var d,e,f,g,h=this.overrides.views||{},i=[],j=[],k=[],l=a;l;)d=Wa[l],e=h[l],l=null,"function"==typeof d&&(d={"class":d}),d&&(i.unshift(d),j.unshift(d.defaults||{}),f=f||d.duration,l=l||d.type),e&&(k.unshift(e),f=f||e.duration,l=l||e.type);return d=W(i),d.type=a,d["class"]?(f&&(f=b.duration(f),f.valueOf()&&(d.duration=f,g=O(f),1===f.as(g)&&(d.singleUnit=g,k.unshift(h[g]||{})))),d.defaults=c(j),d.overrides=c(k),this.buildViewSpecOptions(d),this.buildViewSpecButtonText(d,a),d):!1},buildViewSpecOptions:function(a){a.options=c([yb.defaults,a.defaults,this.dirDefaults,this.langDefaults,this.overrides,a.overrides]),Qa(a.options)},buildViewSpecButtonText:function(a,b){function c(c){var d=c.buttonText||{};return d[b]||(a.singleUnit?d[a.singleUnit]:null)}a.buttonTextOverride=c(this.overrides)||a.overrides.buttonText,a.buttonTextDefault=c(this.langDefaults)||c(this.dirDefaults)||a.defaults.buttonText||c(yb.defaults)||(a.duration?this.humanizeDuration(a.duration):null)||b},instantiateView:function(a){var b=this.getViewSpec(a);return new b["class"](this,a,b.options,b.duration)},isValidViewType:function(a){return Boolean(this.getViewSpec(a))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectSpan:function(a,b){var c,d=this.moment(a).stripZone();return c=b?this.moment(b).stripZone():d.hasTime()?d.clone().add(this.defaultTimedEventDuration):d.clone().add(this.defaultAllDayEventDuration),{start:d,end:c}}});yb.mixin(kb),yb.defaults={titleRangeSeparator:" — ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:200,longPressDelay:1e3},yb.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},yb.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var zb=Va.langs={};Va.datepickerLang=function(b,c,d){var e=zb[b]||(zb[b]={});e.isRTL=d.isRTL,e.weekNumberTitle=d.weekHeader,a.each(Ab,function(a,b){e[a]=b(d)}),a.datepicker&&(a.datepicker.regional[c]=a.datepicker.regional[b]=d,a.datepicker.regional.en=a.datepicker.regional[""],a.datepicker.setDefaults(d))},Va.lang=function(b,d){var e,f;e=zb[b]||(zb[b]={}),d&&(e=zb[b]=c([e,d])),f=Ra(b),a.each(Bb,function(a,b){null==e[a]&&(e[a]=b(f,e))}),yb.defaults.lang=b};var Ab={buttonText:function(a){return{prev:da(a.prevText),next:da(a.nextText),today:da(a.currentText)}},monthYearFormat:function(a){return a.showMonthAfterYear?"YYYY["+a.yearSuffix+"] MMMM":"MMMM YYYY["+a.yearSuffix+"]"}},Bb={dayOfMonthFormat:function(a,b){var c=a.longDateFormat("l");return c=c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),b.isRTL?c+=" ddd":c="ddd "+c,c},mediumTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(a){return a.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"")}},Cb={smallDayDateFormat:function(a){return a.isRTL?"D dd":"dd D"},weekFormat:function(a){return a.isRTL?"w[ "+a.weekNumberTitle+"]":"["+a.weekNumberTitle+" ]w"},smallWeekFormat:function(a){return a.isRTL?"w["+a.weekNumberTitle+"]":"["+a.weekNumberTitle+"]w"}};Va.lang("en",yb.englishDefaults),Va.sourceNormalizers=[],Va.sourceFetchers=[];var Db={dataType:"json",cache:!1},Eb=1;yb.prototype.normalizeEvent=function(a){},yb.prototype.getPeerEvents=function(a,b){var c,d,e=this.getEventCache(),f=[];for(c=0;c<e.length;c++)d=e[c],b&&b._id===d._id||f.push(d);return f};var Fb=Va.BasicView=wb.extend({scroller:null,dayGridClass:ub,dayGrid:null,dayNumbersVisible:!1,weekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid(),this.scroller=new xb({overflowX:"hidden",overflowY:"auto"})},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Gb);return new a(this)},setRange:function(a){wb.prototype.setRange.call(this,a),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(a)},computeRange:function(a){var b=wb.prototype.computeRange.call(this,a);return/year|month/.test(b.intervalUnit)&&(b.start.startOf("week"),b.start=this.skipHiddenDays(b.start),b.end.weekday()&&(b.end.add(1,"week").startOf("week"),b.end=this.skipHiddenDays(b.end,-1,!0))),b},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.weekNumbersVisible=this.opt("weekNumbers"),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.weekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var b=this.scroller.el.addClass("fc-day-grid-container"),c=a('<div class="fc-day-grid" />').appendTo(b);this.el.find(".fc-body > tr > td").append(b),this.dayGrid.setElement(c),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement(),this.scroller.destroy()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var a=this.opt("eventLimit");return a&&"number"!=typeof a},updateWidth:function(){this.weekNumbersVisible&&(this.weekNumberWidth=k(this.el.find(".fc-week-number")))},setHeight:function(a,b){var c,d,g=this.opt("eventLimit");this.scroller.clear(),f(this.headRowEl),this.dayGrid.removeSegPopover(),g&&"number"==typeof g&&this.dayGrid.limitRows(g),c=this.computeScrollerHeight(a),this.setGridHeight(c,b),g&&"number"!=typeof g&&this.dayGrid.limitRows(g),b||(this.scroller.setHeight(c),d=this.scroller.getScrollbarWidths(),(d.left||d.right)&&(e(this.headRowEl,d),c=this.computeScrollerHeight(a),this.scroller.setHeight(c)),this.scroller.lockOverflow(d))},computeScrollerHeight:function(a){return a-l(this.el,this.scroller.el)},setGridHeight:function(a,b){b?j(this.dayGrid.rowEls):i(this.dayGrid.rowEls,a,!0)},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(a){this.scroller.setScrollTop(a)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(a,b){return this.dayGrid.queryHit(a,b)},getHitSpan:function(a){return this.dayGrid.getHitSpan(a)},getHitEl:function(a){return this.dayGrid.getHitEl(a)},renderEvents:function(a){this.dayGrid.renderEvents(a),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return this.dayGrid.renderDrag(a,b)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(a){this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),Gb={renderHeadIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<th class="fc-week-number '+a.widgetHeaderClass+'" '+a.weekNumberStyleAttr()+"><span>"+ca(a.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(a){var b=this.view;return b.weekNumbersVisible?'<td class="fc-week-number" '+b.weekNumberStyleAttr()+"><span>"+this.getCellDate(a,0).format("w")+"</span></td>":""},renderBgIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number '+a.widgetContentClass+'" '+a.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number" '+a.weekNumberStyleAttr()+"></td>":""}},Hb=Va.MonthView=Fb.extend({computeRange:function(a){var b,c=Fb.prototype.computeRange.call(this,a);return this.isFixedWeeks()&&(b=Math.ceil(c.end.diff(c.start,"weeks",!0)),c.end.add(6-b,"weeks")),c},setGridHeight:function(a,b){b=b||"variable"===this.opt("weekMode"),b&&(a*=this.rowCnt/6),i(this.dayGrid.rowEls,a,!b)},isFixedWeeks:function(){var a=this.opt("weekMode");return a?"fixed"===a:this.opt("fixedWeekCount")}});Wa.basic={"class":Fb},Wa.basicDay={type:"basic",duration:{days:1}},Wa.basicWeek={type:"basic",duration:{weeks:1}},Wa.month={"class":Hb,duration:{months:1},defaults:{fixedWeekCount:!0}};var Ib=Va.AgendaView=wb.extend({scroller:null,timeGridClass:vb,timeGrid:null,dayGridClass:ub,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid()),this.scroller=new xb({overflowX:"hidden",overflowY:"auto"})},instantiateTimeGrid:function(){var a=this.timeGridClass.extend(Jb);return new a(this)},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Kb);return new a(this)},setRange:function(a){wb.prototype.setRange.call(this,a),this.timeGrid.setRange(a),this.dayGrid&&this.dayGrid.setRange(a)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var b=this.scroller.el.addClass("fc-time-grid-container"),c=a('<div class="fc-time-grid" />').appendTo(b);this.el.find(".fc-body > tr > td").append(b),this.timeGrid.setElement(c),this.timeGrid.renderDates(),this.bottomRuleEl=a('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement()),this.scroller.destroy()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+"</td></tr></tbody></table>"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.timeGrid.unrenderBusinessHours(),this.dayGrid&&this.dayGrid.unrenderBusinessHours()},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},renderNowIndicator:function(a){this.timeGrid.renderNowIndicator(a)},unrenderNowIndicator:function(){this.timeGrid.unrenderNowIndicator()},updateSize:function(a){this.timeGrid.updateSize(a),wb.prototype.updateSize.call(this,a)},updateWidth:function(){this.axisWidth=k(this.el.find(".fc-axis"))},setHeight:function(a,b){var c,d,g;this.bottomRuleEl.hide(),this.scroller.clear(),f(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),c=this.opt("eventLimit"),c&&"number"!=typeof c&&(c=Lb),c&&this.dayGrid.limitRows(c)),b||(d=this.computeScrollerHeight(a),this.scroller.setHeight(d),g=this.scroller.getScrollbarWidths(),(g.left||g.right)&&(e(this.noScrollRowEls,g),d=this.computeScrollerHeight(a),this.scroller.setHeight(d)),this.scroller.lockOverflow(g),this.timeGrid.getTotalSlatHeight()<d&&this.bottomRuleEl.show())},computeScrollerHeight:function(a){return a-l(this.el,this.scroller.el)},computeInitialScroll:function(){var a=b.duration(this.opt("scrollTime")),c=this.timeGrid.computeTimeTop(a);return c=Math.ceil(c),c&&c++,c},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(a){this.scroller.setScrollTop(a)},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(a,b){var c=this.timeGrid.queryHit(a,b);return!c&&this.dayGrid&&(c=this.dayGrid.queryHit(a,b)),c},getHitSpan:function(a){return a.component.getHitSpan(a)},getHitEl:function(a){return a.component.getHitEl(a)},renderEvents:function(a){var b,c,d=[],e=[],f=[];for(c=0;c<a.length;c++)a[c].allDay?d.push(a[c]):e.push(a[c]);b=this.timeGrid.renderEvents(e),this.dayGrid&&(f=this.dayGrid.renderEvents(d)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return a.start.hasTime()?this.timeGrid.renderDrag(a,b):this.dayGrid?this.dayGrid.renderDrag(a,b):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(a){a.start.hasTime()||a.end.hasTime()?this.timeGrid.renderSelection(a):this.dayGrid&&this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Jb={renderHeadIntroHtml:function(){var a,b=this.view;return b.opt("weekNumbers")?(a=this.start.format(b.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"><span>"+ca(a)+"</span></th>"):'<th class="fc-axis '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Kb={renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"><span>"+(a.opt("allDayHtml")||ca(a.opt("allDayText")))+"</span></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Lb=5,Mb=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];return Wa.agenda={"class":Ib,defaults:{allDaySlot:!0,allDayText:"all-day",slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Wa.agendaDay={type:"agenda",duration:{days:1}},Wa.agendaWeek={type:"agenda",duration:{weeks:1}},Va}); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.print.css b/library/fullcalendar/fullcalendar.print.css
index e399f614a..11b823f74 100644
--- a/library/fullcalendar/fullcalendar.print.css
+++ b/library/fullcalendar/fullcalendar.print.css
@@ -1,7 +1,7 @@
/*!
- * FullCalendar v2.6.1 Print Stylesheet
+ * FullCalendar v2.7.3 Print Stylesheet
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
+ * (c) 2016 Adam Shaw
*/
/*
diff --git a/library/fullcalendar/gcal.js b/library/fullcalendar/gcal.js
index 98174ecb0..58b85c195 100644
--- a/library/fullcalendar/gcal.js
+++ b/library/fullcalendar/gcal.js
@@ -1,7 +1,7 @@
/*!
- * FullCalendar v2.6.1 Google Calendar Plugin
+ * FullCalendar v2.7.3 Google Calendar Plugin
* Docs & License: http://fullcalendar.io/
- * (c) 2015 Adam Shaw
+ * (c) 2016 Adam Shaw
*/
(function(factory) {
@@ -136,10 +136,10 @@ function transformOptions(sourceOptions, start, end, timezone, calendar) {
}
else if (data.items) {
$.each(data.items, function(i, entry) {
- var url = entry.htmlLink;
+ var url = entry.htmlLink || null;
// make the URLs for each event show times in the correct timezone
- if (timezoneArg) {
+ if (timezoneArg && url !== null) {
url = injectQsComponent(url, 'ctz=' + timezoneArg);
}
diff --git a/library/fullcalendar/lang-all.js b/library/fullcalendar/lang-all.js
index b38d942f6..7d7e25192 100644
--- a/library/fullcalendar/lang-all.js
+++ b/library/fullcalendar/lang-all.js
@@ -1,4 +1,4 @@
-!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){!function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return a}(),a.fullCalendar.datepickerLang("ar-ma","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-ma",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=(b.defineLocale||b.lang).call(b,"ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("ar-sa","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-sa",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ar-tn","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-tn",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},e={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},f=function(a){return function(b,c,f,g){var h=d(b),i=e[a][d(b)];return 2===h&&(i=i[c?0:1]),i.replace(/%d/i,b)}},g=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],h=(b.defineLocale||b.lang).call(b,"ar",{months:g,monthsShort:g,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:f("s"),m:f("m"),mm:f("m"),h:f("h"),hh:f("h"),d:f("d"),dd:f("d"),M:f("M"),MM:f("M"),y:f("y"),yy:f("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return h}(),a.fullCalendar.datepickerLang("ar","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("bg","bg",{closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("bg",{buttonText:{month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(a){return"+още "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return("w"===b||"W"===b)&&(c="a"),a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ca","ca",{closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ca",{buttonText:{month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},allDayText:"Tot el dia",eventLimitText:"més"})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a&&1!==~~(a/10)}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(a(b)?"minuty":"minut"):f+"minutami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodin"):f+"hodinami";case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(a(b)?"dny":"dní"):f+"dny";case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(a(b)?"měsíce":"měsíců"):f+"měsíci";case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(a(b)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),f=(b.defineLocale||b.lang).call(b,"cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),shortMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(e),longMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(d),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("cs","cs",{closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"Později&#x3E;",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("cs",{buttonText:{month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},allDayText:"Celý den",eventLimitText:function(a){return"+další: "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("da","da",{closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("da",{buttonText:{month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"flere"})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de-at","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de-at",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}var c=(b.defineLocale||b.lang).call(b,"el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(b,c){var d=this._calendarEl[b],e=c&&c.hours();return a(d)&&(d=d.apply(c)),d.replace("{}",e%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Σήμερα",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("el",{buttonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec".split("_"),monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-au","en-AU",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-au")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec".split("_"),monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY h:mm A",LLLL:"dddd, D MMMM, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}});return a}(),a.fullCalendar.lang("en-ca")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec".split("_"),monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-gb","en-GB",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-gb")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.lang("en-ie")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec".split("_"),monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],
-longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-nz","en-NZ",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-nz")}(),function(){!function(){"use strict";var a="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),d=(b.defineLocale||b.lang).call(b,"es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("es","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("es",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más"})}(),function(){!function(){"use strict";var a={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},d=(b.defineLocale||b.lang).call(b,"fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("fa","fa",{closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fa",{buttonText:{month:"ماه",week:"هفته",day:"روز",list:"برنامه"},allDayText:"تمام روز",eventLimitText:function(a){return"بیش از "+a}})}(),function(){!function(){"use strict";function a(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]],f=(b.defineLocale||b.lang).call(b,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fi",{buttonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}});return a}(),a.fullCalendar.datepickerLang("fr-ca","fr-CA",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ca",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr-ch","fr-CH",{closeText:"Fermer",prevText:"&#x3C;Préc",nextText:"Suiv&#x3E;",currentText:"Courant",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ch",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr","fr",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a%10===0&&10!==a?a+" שנה":a+" שנים"}}});return a}(),a.fullCalendar.datepickerLang("he","he",{closeText:"סגור",prevText:"&#x3C;הקודם",nextText:"הבא&#x3E;",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("he",{defaultButtonText:{month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},weekNumberTitle:"שבוע",allDayText:"כל היום",eventLimitText:"אחר"})}(),function(){!function(){"use strict";var a={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},d=(b.defineLocale||b.lang).call(b,"hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}});return d}(),a.fullCalendar.datepickerLang("hi","hi",{closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hi",{buttonText:{month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},allDayText:"सभी दिन",eventLimitText:function(a){return"+अधिक "+a}})}(),function(){!function(){"use strict";function a(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}var c=(b.defineLocale||b.lang).call(b,"hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:a,mm:a,h:a,hh:a,d:"dan",dd:a,M:"mjesec",MM:a,y:"godinu",yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("hr","hr",{closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hr",{buttonText:{month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},allDayText:"Cijeli dan",eventLimitText:function(a){return"+ još "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),e=(b.defineLocale||b.lang).call(b,"hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("hu","hu",{closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("hu",{buttonText:{month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},allDayText:"Egész nap",eventLimitText:"további"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("id","id",{closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("id",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih"})}(),function(){!function(){"use strict";function a(a){return a%100===11?!0:a%10===1?!1:!0}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return a(b)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return a(b)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return a(b)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return a(b)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return a(b)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}var d=(b.defineLocale||b.lang).call(b,"is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("is","is",{closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd.mm.yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("is",{buttonText:{month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},allDayHtml:"Allan<br/>daginn",eventLimitText:"meira"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("it","it",{closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("it",{buttonText:{month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(a){return"+altri "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("ja","ja",{closeText:"閉じる",prevText:"&#x3C;前",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("ja",{buttonText:{month:"月",week:"週",day:"日",list:"予定リスト"},allDayText:"終日",eventLimitText:function(a){return"他 "+a+" 件"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",
-sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇초",ss:"%d초",m:"일분",mm:"%d분",h:"한시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한달",MM:"%d달",y:"일년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return 12>a?"오전":"오후"}});return a}(),a.fullCalendar.datepickerLang("ko","ko",{closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"}),a.fullCalendar.lang("ko",{buttonText:{month:"월",week:"주",day:"일",list:"일정목록"},allDayText:"종일",eventLimitText:"개"})}(),function(){!function(){"use strict";function a(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return g[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}var g={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},h=(b.defineLocale||b.lang).call(b,"lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_")},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:a,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}});return h}(),a.fullCalendar.datepickerLang("lt","lt",{closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"SAV",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("lt",{buttonText:{month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},allDayText:"Visą dieną",eventLimitText:"daugiau"})}(),function(){!function(){"use strict";function a(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function c(b,c,d){return b+" "+a(f[d],b,c)}function d(b,c,d){return a(f[d],b,c)}function e(a,b){return b?"dažas sekundes":"dažām sekundēm"}var f={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},g=(b.defineLocale||b.lang).call(b,"lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:e,m:d,mm:c,h:d,hh:c,d:d,dd:c,M:d,MM:c,y:d,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return g}(),a.fullCalendar.datepickerLang("lv","lv",{closeText:"Aizvērt",prevText:"Iepr.",nextText:"Nāk.",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Ned.",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("lv",{buttonText:{month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},allDayText:"Visu dienu",eventLimitText:function(a){return"+vēl "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("nb","nb",{closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nb",{buttonText:{month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"til"})}(),function(){!function(){"use strict";var a="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),d=(b.defineLocale||b.lang).call(b,"nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("nl","nl",{closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nl",{buttonText:{month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra"})}(),function(){!function(){"use strict";function a(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(b,c,d){var e=b+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(a(b)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(a(b)?"godziny":"godzin");case"MM":return e+(a(b)?"miesiące":"miesięcy");case"yy":return e+(a(b)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),f=(b.defineLocale||b.lang).call(b,"pl",{months:function(a,b){return""===b?"("+e[a.month()]+"|"+d[a.month()]+")":/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("pl","pl",{closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"Następny&#x3E;",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pl",{buttonText:{month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},allDayText:"Cały dzień",eventLimitText:"więcej"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"});return a}(),a.fullCalendar.datepickerLang("pt-br","pt-BR",{closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt-br",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},allDayText:"dia inteiro",eventLimitText:function(a){return"mais +"+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("pt","pt",{closeText:"Fechar",prevText:"Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},allDayText:"Todo o dia",eventLimitText:"mais"})}(),function(){!function(){"use strict";function a(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}var c=(b.defineLocale||b.lang).call(b,"ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:a,h:"o oră",hh:a,d:"o zi",dd:a,M:"o lună",MM:a,y:"un an",yy:a},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("ro","ro",{closeText:"Închide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ro",{buttonText:{prev:"precedentă",next:"următoare",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},allDayText:"Toată ziua",eventLimitText:function(a){return"+alte "+a}})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":b+" "+a(e[d],+b)}var d=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],e=(b.defineLocale||b.lang).call(b,"ru",{months:{format:"Января_Февраля_Марта_Апреля_Мая_Июня_Июля_Августа_Сентября_Октября_Ноября_Декабря".split("_"),standalone:"Январь_Февраль_Март_Апрель_Май_Июнь_Июль_Август_Сентябрь_Октябрь_Ноябрь_Декабрь".split("_")},monthsShort:{format:"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек".split("_"),standalone:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_")},weekdays:{standalone:"Воскресенье_Понедельник_Вторник_Среда_Четверг_Пятница_Суббота".split("_"),format:"Воскресенье_Понедельник_Вторник_Среду_Четверг_Пятницу_Субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"Вс_Пн_Вт_Ср_Чт_Пт_Сб".split("_"),weekdaysMin:"Вс_Пн_Вт_Ср_Чт_Пт_Сб".split("_"),monthsParse:d,longMonthsParse:d,shortMonthsParse:d,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("ru","ru",{closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ru",{buttonText:{month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},allDayText:"Весь день",eventLimitText:function(a){return"+ ещё "+a}})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(a(b)?"minúty":"minút"):f+"minútami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodín"):f+"hodinami";case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(a(b)?"dni":"dní"):f+"dňami";case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(a(b)?"mesiace":"mesiacov"):f+"mesiacmi";case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(a(b)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),f=(b.defineLocale||b.lang).call(b,"sk",{months:d,monthsShort:e,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("sk","sk",{closeText:"Zavrieť",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sk",{buttonText:{month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},allDayText:"Celý deň",eventLimitText:function(a){return"+ďalšie: "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}var c=(b.defineLocale||b.lang).call(b,"sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sl","sl",{closeText:"Zapri",prevText:"&#x3C;Prejšnji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sl",{buttonText:{month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},allDayText:"Ves dan",eventLimitText:"več"})}(),function(){!function(){"use strict";var a={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr-cyrl",{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],monthsShort:["јан.","феб.","мар.","апр.","мај","јун","јул","авг.","сеп.","окт.","нов.","дец."],weekdays:["недеља","понедељак","уторак","среда","четвртак","петак","субота"],weekdaysShort:["нед.","пон.","уто.","сре.","чет.","пет.","суб."],weekdaysMin:["не","по","ут","ср","че","пе","су"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"дан",dd:a.translate,M:"месец",MM:a.translate,y:"годину",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr-cyrl","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr-cyrl",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"dan",dd:a.translate,M:"mesec",MM:a.translate,y:"godinu",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],
-dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("sv","sv",{closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sv",{buttonText:{month:"Månad",week:"Vecka",day:"Dag",list:"Program"},allDayText:"Heldag",eventLimitText:"till"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),longDateFormat:{LT:"H นาฬิกา m นาที",LTS:"H นาฬิกา m นาที s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H นาฬิกา m นาที",LLLL:"วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return a}(),a.fullCalendar.datepickerLang("th","th",{closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("th",{buttonText:{month:"เดือน",week:"สัปดาห์",day:"วัน",list:"แผนงาน"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม"})}(),function(){!function(){"use strict";var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},c=(b.defineLocale||b.lang).call(b,"tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(b){if(0===b)return b+"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return b+(a[c]||a[d]||a[e])},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("tr","tr",{closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("tr",{buttonText:{next:"ileri",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},allDayText:"Tüm gün",eventLimitText:"daha fazla"})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:c?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":b+" "+a(e[d],+b)}function d(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function e(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var f=(b.defineLocale||b.lang).call(b,"uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:d,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:e("[Сьогодні "),nextDay:e("[Завтра "),lastDay:e("[Вчора "),nextWeek:e("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return e("[Минулої] dddd [").call(this);case 1:case 2:case 4:return e("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}});return f}(),a.fullCalendar.datepickerLang("uk","uk",{closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("uk",{buttonText:{month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},allDayText:"Увесь день",eventLimitText:function(a){return"+ще "+a+"..."}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("vi","vi",{closeText:"Đóng",prevText:"&#x3C;Trước",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("vi",{buttonText:{month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},allDayText:"Cả ngày",eventLimitText:function(a){return"+ thêm "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()-a.unix()>=604800?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()<a.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("zh-cn","zh-CN",{closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-cn",{buttonText:{month:"月",week:"周",day:"日",list:"日程"},allDayText:"全天",eventLimitText:function(a){return"另外 "+a+" 个"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一天",dd:"%d天",M:"一個月",MM:"%d個月",y:"一年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("zh-tw","zh-TW",{closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-tw",{buttonText:{month:"月",week:"週",day:"天",list:"待辦事項"},allDayText:"全天",eventLimitText:"更多"})}(),(b.locale||b.lang).call(b,"en"),a.fullCalendar.lang("en"),a.datepicker&&a.datepicker.setDefaults(a.datepicker.regional[""])}); \ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){!function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return a}(),a.fullCalendar.datepickerLang("ar-ma","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-ma",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=(b.defineLocale||b.lang).call(b,"ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("ar-sa","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-sa",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ar-tn","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-tn",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},e={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},f=function(a){return function(b,c,f,g){var h=d(b),i=e[a][d(b)];return 2===h&&(i=i[c?0:1]),i.replace(/%d/i,b)}},g=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],h=(b.defineLocale||b.lang).call(b,"ar",{months:g,monthsShort:g,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:f("s"),m:f("m"),mm:f("m"),h:f("h"),hh:f("h"),d:f("d"),dd:f("d"),M:f("M"),MM:f("M"),y:f("y"),yy:f("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return h}(),a.fullCalendar.datepickerLang("ar","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("bg","bg",{closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("bg",{buttonText:{month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(a){return"+още "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return"w"!==b&&"W"!==b||(c="a"),a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ca","ca",{closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ca",{buttonText:{month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},allDayText:"Tot el dia",eventLimitText:"més"})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a&&1!==~~(a/10)}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(a(b)?"minuty":"minut"):f+"minutami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodin"):f+"hodinami";case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(a(b)?"dny":"dní"):f+"dny";case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(a(b)?"měsíce":"měsíců"):f+"měsíci";case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(a(b)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),f=(b.defineLocale||b.lang).call(b,"cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),shortMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(e),longMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(d),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("cs","cs",{closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"Později&#x3E;",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("cs",{buttonText:{month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},allDayText:"Celý den",eventLimitText:function(a){return"+další: "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("da","da",{closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("da",{buttonText:{month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"flere"})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de-at","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de-at",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}var c=(b.defineLocale||b.lang).call(b,"el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(b,c){var d=this._calendarEl[b],e=c&&c.hours();return a(d)&&(d=d.apply(c)),d.replace("{}",e%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Σήμερα",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("el",{buttonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-au","en-AU",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-au")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}});return a}(),a.fullCalendar.lang("en-ca")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-gb","en-GB",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-gb")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.lang("en-ie")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-nz","en-NZ",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-nz")}(),function(){!function(){"use strict";var a="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),d=(b.defineLocale||b.lang).call(b,"es",{
+months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("es","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("es",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más"})}(),function(){!function(){"use strict";var a={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},d=(b.defineLocale||b.lang).call(b,"fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("fa","fa",{closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fa",{buttonText:{month:"ماه",week:"هفته",day:"روز",list:"برنامه"},allDayText:"تمام روز",eventLimitText:function(a){return"بیش از "+a}})}(),function(){!function(){"use strict";function a(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]],f=(b.defineLocale||b.lang).call(b,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fi",{buttonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}});return a}(),a.fullCalendar.datepickerLang("fr-ca","fr-CA",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ca",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr-ch","fr-CH",{closeText:"Fermer",prevText:"&#x3C;Préc",nextText:"Suiv&#x3E;",currentText:"Courant",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ch",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr","fr",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a%10===0&&10!==a?a+" שנה":a+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(a){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(a)},meridiem:function(a,b,c){return 5>a?"לפנות בוקר":10>a?"בבוקר":12>a?c?'לפנה"צ':"לפני הצהריים":18>a?c?'אחה"צ':"אחרי הצהריים":"בערב"}});return a}(),a.fullCalendar.datepickerLang("he","he",{closeText:"סגור",prevText:"&#x3C;הקודם",nextText:"הבא&#x3E;",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("he",{defaultButtonText:{month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},weekNumberTitle:"שבוע",allDayText:"כל היום",eventLimitText:"אחר"})}(),function(){!function(){"use strict";var a={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},d=(b.defineLocale||b.lang).call(b,"hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}});return d}(),a.fullCalendar.datepickerLang("hi","hi",{closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hi",{buttonText:{month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},allDayText:"सभी दिन",eventLimitText:function(a){return"+अधिक "+a}})}(),function(){!function(){"use strict";function a(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}var c=(b.defineLocale||b.lang).call(b,"hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:a,mm:a,h:a,hh:a,d:"dan",dd:a,M:"mjesec",MM:a,y:"godinu",yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("hr","hr",{closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hr",{buttonText:{month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},allDayText:"Cijeli dan",eventLimitText:function(a){return"+ još "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),e=(b.defineLocale||b.lang).call(b,"hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("hu","hu",{closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("hu",{buttonText:{month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},allDayText:"Egész nap",eventLimitText:"további"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("id","id",{closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("id",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih"})}(),function(){!function(){"use strict";function a(a){return a%100===11?!0:a%10!==1}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return a(b)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return a(b)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return a(b)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return a(b)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return a(b)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}var d=(b.defineLocale||b.lang).call(b,"is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("is","is",{closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd.mm.yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("is",{buttonText:{month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},allDayHtml:"Allan<br/>daginn",eventLimitText:"meira"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("it","it",{closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("it",{buttonText:{month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(a){return"+altri "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}日/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";default:return a}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("ja","ja",{closeText:"閉じる",prevText:"&#x3C;前",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("ja",{buttonText:{month:"月",week:"週",day:"日",list:"予定リスト"},allDayText:"終日",eventLimitText:function(a){return"他 "+a+" 件"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"일분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return 12>a?"오전":"오후"}});return a}(),a.fullCalendar.datepickerLang("ko","ko",{closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"}),a.fullCalendar.lang("ko",{buttonText:{month:"월",week:"주",day:"일",list:"일정목록"},allDayText:"종일",eventLimitText:"개"})}(),function(){!function(){"use strict";function a(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return g[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}var g={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",
+h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},h=(b.defineLocale||b.lang).call(b,"lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_")},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:a,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}});return h}(),a.fullCalendar.datepickerLang("lt","lt",{closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"SAV",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("lt",{buttonText:{month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},allDayText:"Visą dieną",eventLimitText:"daugiau"})}(),function(){!function(){"use strict";function a(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function c(b,c,d){return b+" "+a(f[d],b,c)}function d(b,c,d){return a(f[d],b,c)}function e(a,b){return b?"dažas sekundes":"dažām sekundēm"}var f={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},g=(b.defineLocale||b.lang).call(b,"lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:e,m:d,mm:c,h:d,hh:c,d:d,dd:c,M:d,MM:c,y:d,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return g}(),a.fullCalendar.datepickerLang("lv","lv",{closeText:"Aizvērt",prevText:"Iepr.",nextText:"Nāk.",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Ned.",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("lv",{buttonText:{month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},allDayText:"Visu dienu",eventLimitText:function(a){return"+vēl "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("nb","nb",{closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nb",{buttonText:{month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"til"})}(),function(){!function(){"use strict";var a="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),d=(b.defineLocale||b.lang).call(b,"nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},monthsParseExact:!0,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("nl","nl",{closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nl",{buttonText:{month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra"})}(),function(){!function(){"use strict";function a(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(b,c,d){var e=b+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(a(b)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(a(b)?"godziny":"godzin");case"MM":return e+(a(b)?"miesiące":"miesięcy");case"yy":return e+(a(b)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),f=(b.defineLocale||b.lang).call(b,"pl",{months:function(a,b){return""===b?"("+e[a.month()]+"|"+d[a.month()]+")":/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("pl","pl",{closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"Następny&#x3E;",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pl",{buttonText:{month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},allDayText:"Cały dzień",eventLimitText:"więcej"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"});return a}(),a.fullCalendar.datepickerLang("pt-br","pt-BR",{closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt-br",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},allDayText:"dia inteiro",eventLimitText:function(a){return"mais +"+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("pt","pt",{closeText:"Fechar",prevText:"Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},allDayText:"Todo o dia",eventLimitText:"mais"})}(),function(){!function(){"use strict";function a(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}var c=(b.defineLocale||b.lang).call(b,"ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:a,h:"o oră",hh:a,d:"o zi",dd:a,M:"o lună",MM:a,y:"un an",yy:a},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("ro","ro",{closeText:"Închide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ro",{buttonText:{prev:"precedentă",next:"următoare",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},allDayText:"Toată ziua",eventLimitText:function(a){return"+alte "+a}})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":b+" "+a(e[d],+b)}var d=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],e=(b.defineLocale||b.lang).call(b,"ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:d,longMonthsParse:d,shortMonthsParse:d,monthsRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,monthsShortRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,monthsStrictRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|марта?|июн[яь]|июл[яь]|ма[яй])/i,monthsShortStrictRegex:/^(нояб\.|февр\.|сент\.|июль|янв\.|июн[яь]|мар[.т]|авг\.|апр\.|окт\.|дек\.|ма[яй])/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("ru","ru",{closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ru",{buttonText:{month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},allDayText:"Весь день",eventLimitText:function(a){return"+ ещё "+a}})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(a(b)?"minúty":"minút"):f+"minútami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodín"):f+"hodinami";case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(a(b)?"dni":"dní"):f+"dňami";case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(a(b)?"mesiace":"mesiacov"):f+"mesiacmi";case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(a(b)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),f=(b.defineLocale||b.lang).call(b,"sk",{months:d,monthsShort:e,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("sk","sk",{closeText:"Zavrieť",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sk",{buttonText:{month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},allDayText:"Celý deň",eventLimitText:function(a){return"+ďalšie: "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}var c=(b.defineLocale||b.lang).call(b,"sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sl","sl",{closeText:"Zapri",prevText:"&#x3C;Prejšnji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sl",{buttonText:{month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},allDayText:"Ves dan",eventLimitText:"več"})}(),function(){!function(){"use strict";var a={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"дан",dd:a.translate,M:"месец",MM:a.translate,y:"годину",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr-cyrl","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr-cyrl",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"dan",dd:a.translate,M:"mesec",MM:a.translate,y:"godinu",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),
+monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("sv","sv",{closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sv",{buttonText:{month:"Månad",week:"Vecka",day:"Dag",list:"Program"},allDayText:"Heldag",eventLimitText:"till"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H นาฬิกา m นาที",LTS:"H นาฬิกา m นาที s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H นาฬิกา m นาที",LLLL:"วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return a}(),a.fullCalendar.datepickerLang("th","th",{closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("th",{buttonText:{month:"เดือน",week:"สัปดาห์",day:"วัน",list:"แผนงาน"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม"})}(),function(){!function(){"use strict";var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},c=(b.defineLocale||b.lang).call(b,"tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(b){if(0===b)return b+"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return b+(a[c]||a[d]||a[e])},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("tr","tr",{closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("tr",{buttonText:{next:"ileri",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},allDayText:"Tüm gün",eventLimitText:"daha fazla"})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:c?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":b+" "+a(e[d],+b)}function d(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function e(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var f=(b.defineLocale||b.lang).call(b,"uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:d,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:e("[Сьогодні "),nextDay:e("[Завтра "),lastDay:e("[Вчора "),nextWeek:e("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return e("[Минулої] dddd [").call(this);case 1:case 2:case 4:return e("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}});return f}(),a.fullCalendar.datepickerLang("uk","uk",{closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("uk",{buttonText:{month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},allDayText:"Увесь день",eventLimitText:function(a){return"+ще "+a+"..."}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("vi","vi",{closeText:"Đóng",prevText:"&#x3C;Trước",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("vi",{buttonText:{month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},allDayText:"Cả ngày",eventLimitText:function(a){return"+ thêm "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var a,c;return a=b().startOf("week"),c=this.diff(a,"days")>=7?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()<a.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("zh-cn","zh-CN",{closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-cn",{buttonText:{month:"月",week:"周",day:"日",list:"日程"},allDayText:"全天",eventLimitText:function(a){return"另外 "+a+" 个"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1分鐘",mm:"%d分鐘",h:"1小時",hh:"%d小時",d:"1天",dd:"%d天",M:"1個月",MM:"%d個月",y:"1年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("zh-tw","zh-TW",{closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-tw",{buttonText:{month:"月",week:"週",day:"天",list:"待辦事項"},allDayText:"全天",eventLimitText:"更多"})}(),(b.locale||b.lang).call(b,"en"),a.fullCalendar.lang("en"),a.datepicker&&a.datepicker.setDefaults(a.datepicker.regional[""])}); \ No newline at end of file
diff --git a/library/markdown.php b/library/markdown.php
index f548fc26c..0e3275ff2 100644
--- a/library/markdown.php
+++ b/library/markdown.php
@@ -1136,7 +1136,7 @@ class Markdown_Parser {
# Create a code span markup for $code. Called from handleSpanToken.
#
$code = htmlspecialchars(trim($code), ENT_NOQUOTES);
- return $this->hashPart("<code>$code</code>");
+ return $this->hashPart("<code class=\"inline-code\">$code</code>");
}
diff --git a/util/hmessages.po b/util/hmessages.po
index 572114522..8fcc4a545 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-06-03 00:02-0700\n"
+"POT-Creation-Date: 2016-06-24 00:02-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2605
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2597
msgid "Collection"
msgstr ""
@@ -46,15 +46,16 @@ msgid "Schedule Outbox"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
-#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
-#: ../../Zotlabs/Lib/Apps.php:561 ../../include/conversation.php:1032
-#: ../../include/widgets.php:1503
+#: ../../Zotlabs/Module/Photos.php:1243
+#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:489
+#: ../../Zotlabs/Lib/Apps.php:564 ../../include/conversation.php:1035
+#: ../../include/widgets.php:1578
msgid "Unknown"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/conversation.php:1639
-#: ../../include/nav.php:93
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1654
msgid "Files"
msgstr ""
@@ -67,21 +68,22 @@ msgid "Shared"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
-#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
-#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
-#: ../../Zotlabs/Module/Webpages.php:186
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/New_channel.php:142
msgid "Create"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1368
-#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1516
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:389
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1591
msgid "Upload"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Admin.php:1204
-#: ../../Zotlabs/Module/Chat.php:247 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
#: ../../Zotlabs/Module/Settings.php:618
#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
@@ -92,7 +94,7 @@ msgid "Type"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1329
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1320
msgid "Size"
msgstr ""
@@ -101,35 +103,33 @@ msgstr ""
msgid "Last Modified"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Admin.php:2093
-#: ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Editblock.php:109 ../../Zotlabs/Module/Editpost.php:84
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Editlayout.php:113
-#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
+#: ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Editwebpage.php:146
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:187 ../../Zotlabs/Lib/Apps.php:337
-#: ../../Zotlabs/Lib/ThreadItem.php:96 ../../include/channel.php:937
-#: ../../include/channel.php:941 ../../include/menu.php:108
-#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:195
+#: ../../Zotlabs/Module/Menu.php:112 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Lib/Apps.php:340
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9
+#: ../../include/page_widgets.php:39 ../../include/menu.php:108
+#: ../../include/channel.php:924 ../../include/channel.php:928
msgid "Edit"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Admin.php:1041
-#: ../../Zotlabs/Module/Admin.php:1198 ../../Zotlabs/Module/Admin.php:2094
-#: ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connections.php:263
-#: ../../Zotlabs/Module/Connedit.php:572
+#: ../../Zotlabs/Storage/Browser.php:241
#: ../../Zotlabs/Module/Editblock.php:134
-#: ../../Zotlabs/Module/Editlayout.php:136
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1213
+#: ../../Zotlabs/Module/Admin.php:2114 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Editlayout.php:137
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Settings.php:653
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Webpages.php:189
-#: ../../Zotlabs/Lib/Apps.php:338 ../../Zotlabs/Lib/ThreadItem.php:116
-#: ../../include/conversation.php:657
+#: ../../Zotlabs/Module/Webpages.php:197 ../../Zotlabs/Module/Photos.php:1173
+#: ../../Zotlabs/Module/Connedit.php:578 ../../Zotlabs/Module/Settings.php:653
+#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
msgid "Delete"
msgstr ""
@@ -155,49 +155,55 @@ msgstr ""
msgid "Upload file"
msgstr ""
-#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:121
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Api.php:13
-#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Channel.php:105 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Common.php:39
-#: ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Connedit.php:366
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr ""
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Editblock.php:67 ../../Zotlabs/Module/Authtest.php:16
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Events.php:265 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Item.php:211 ../../Zotlabs/Module/Item.php:219
+#: ../../Zotlabs/Module/Item.php:1070 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Editblock.php:67
-#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:69
#: ../../Zotlabs/Module/Editwebpage.php:90
#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127
-#: ../../Zotlabs/Module/Events.php:265 ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Layouts.php:71
+#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Module/Filestorage.php:24
#: ../../Zotlabs/Module/Filestorage.php:79
#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Id.php:76 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Item.php:210
-#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:129
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mitem.php:115
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Id.php:76 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Page.php:35
-#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Poke.php:137
+#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Pdledit.php:26
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Profile_photo.php:256
-#: ../../Zotlabs/Module/Profile_photo.php:269
#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Profile_photo.php:264
+#: ../../Zotlabs/Module/Profile_photo.php:277
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Connedit.php:366
+#: ../../Zotlabs/Module/Channel.php:105 ../../Zotlabs/Module/Channel.php:226
+#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Register.php:77
#: ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Service_limits.php:11
#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
@@ -207,15 +213,15 @@ msgstr ""
#: ../../Zotlabs/Module/Thing.php:331
#: ../../Zotlabs/Module/Viewconnections.php:25
#: ../../Zotlabs/Module/Viewconnections.php:30
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
-#: ../../include/attach.php:141 ../../include/attach.php:189
-#: ../../include/attach.php:252 ../../include/attach.php:266
-#: ../../include/attach.php:273 ../../include/attach.php:338
-#: ../../include/attach.php:352 ../../include/attach.php:359
-#: ../../include/attach.php:437 ../../include/attach.php:895
-#: ../../include/attach.php:966 ../../include/attach.php:1118
-#: ../../include/items.php:3440
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Api.php:13
+#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/items.php:3462 ../../include/attach.php:141
+#: ../../include/attach.php:189 ../../include/attach.php:252
+#: ../../include/attach.php:266 ../../include/attach.php:273
+#: ../../include/attach.php:338 ../../include/attach.php:352
+#: ../../include/attach.php:359 ../../include/attach.php:439
+#: ../../include/attach.php:901 ../../include/attach.php:972
+#: ../../include/attach.php:1124 ../../include/photos.php:27
msgid "Permission denied."
msgstr ""
@@ -223,20 +229,12 @@ msgstr ""
msgid "Not Found"
msgstr ""
-#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
-#: ../../Zotlabs/Module/Page.php:93
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Display.php:118 ../../Zotlabs/Module/Page.php:94
+#: ../../Zotlabs/Module/Block.php:79
msgid "Page not found."
msgstr ""
-#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Import_items.php:112 ../../Zotlabs/Module/Like.php:284
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:385
-msgid "Permission denied"
-msgstr ""
-
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please "
@@ -249,13 +247,13 @@ msgstr ""
msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Achievements.php:15
#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
-#: ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Webpages.php:34
#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
-#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+#: ../../Zotlabs/Module/Profile.php:20 ../../include/channel.php:824
msgid "Requested profile is not available."
msgstr ""
@@ -263,22 +261,1002 @@ msgstr ""
msgid "Some blurb about what to do when you're new here"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:225
-msgid "network"
+#: ../../Zotlabs/Module/Chatsvc.php:117
+msgid "Away"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:235
-msgid "RSS"
+#: ../../Zotlabs/Module/Chatsvc.php:122
+msgid "Online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Import.php:551
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Photos.php:677 ../../Zotlabs/Module/Photos.php:1052
+#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210
+#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Pdledit.php:66
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Cal.php:338
+#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Connedit.php:737
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:22
+#: ../../include/widgets.php:757 ../../include/widgets.php:769
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97
+#: ../../Zotlabs/Module/Blocks.php:155
+msgid "Block Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:111 ../../Zotlabs/Module/Chat.php:207
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1146
+msgid "Insert web link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1243
+msgid "Title (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
+msgid "Public access denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:243
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1171
+msgid "Age:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/bb2diaspora.php:507
+#: ../../include/event.php:52 ../../include/event.php:84
+#: ../../include/channel.php:1014
+msgid "Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1187
+msgid "Hometown:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1195
+msgid "About:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
+#: ../../include/conversation.php:959 ../../include/channel.php:999
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Channel.php:29
+msgid "You must be logged in to see this page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1181
+msgid "Please enter a link URL:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1271
+msgid "Encrypt text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "New Chatroom"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:234
+msgid "Expiration of chats (minutes)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:246
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:251
+msgid "No chatrooms available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Create New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Expiration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:256
+msgid "min"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:26
+msgid "Calendar entries imported."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:28
+msgid "No calendar entries found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:105
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
+msgid "Unable to generate preview."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:114
+msgid "Event title and start time are required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
+msgid "Event not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1920 ../../include/conversation.php:123
+msgid "event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Edit event title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Event title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:451
+msgid "Categories (comma-separated list)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit Category"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Category"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit start date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Start date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
+msgid "Finish date and time are not known or not relevant"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit finish date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Finish date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Connedit.php:379
+#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Settings.php:581 ../../Zotlabs/Module/Api.php:89
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
+msgid "No"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Connedit.php:379
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../Zotlabs/Module/Api.php:88 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
+msgid "Yes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
+msgid "Adjust for viewer timezone"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:460
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:462
+msgid "Edit Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:464
+msgid "Edit Location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
+msgid "Share this event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Webpages.php:202
+#: ../../Zotlabs/Module/Photos.php:1093 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1198
+msgid "Preview"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1247
+msgid "Permission settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:476
+msgid "Advanced Options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:588 ../../Zotlabs/Module/Cal.php:259
+msgid "l, F j"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:610
+msgid "Edit event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:612
+msgid "Delete event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:637 ../../Zotlabs/Module/Cal.php:308
+#: ../../include/text.php:1708
+msgid "Link to Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:646
+msgid "calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331
+msgid "Edit Event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331
+msgid "Create Event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949 ../../Zotlabs/Module/Cal.php:332
+#: ../../Zotlabs/Module/Cal.php:339
+msgid "Previous"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Cal.php:333
+#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:668 ../../Zotlabs/Module/Cal.php:334
+#: ../../include/widgets.php:755
+msgid "Export"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:671 ../../Zotlabs/Module/Cal.php:337
+#: ../../include/widgets.php:756
+msgid "Import"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Cal.php:341
+msgid "Today"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:706
+msgid "Event removed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:709
+msgid "Failed to remove event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:179
+msgid "Unable to locate original post."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:428
+msgid "Empty post discarded."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:468
+msgid "Executable content type not permitted to this channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:848
+msgid "Duplicate post suppressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:983
+msgid "System error. Post not saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1241
+msgid "Unable to obtain post information from database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1248
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1255
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:92 ../../include/conversation.php:1647
+msgid "Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Wiki.php:145
+#: ../../Zotlabs/Module/Settings.php:591 ../../Zotlabs/Module/Settings.php:617
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../include/conversation.php:1235 ../../include/conversation.php:1274
+msgid "Cancel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:32
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:152 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:162
+msgid "No channel. Import failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:511
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:533
+msgid "You must be logged in to use this feature."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:538
+msgid "Import Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:539
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You "
+"may retrieve the channel identity from the old server/hub via the network or "
+"provide an export file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:540
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "File to Upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:541
+msgid "Or provide the old server/hub details"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:542
+msgid "Your old identity address (xyz@example.com)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:543
+msgid "Your old login email address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:544
+msgid "Your old login password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:545
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:546
+msgid "Make this hub my primary location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:547
+msgid ""
+"Import existing posts if possible (experimental - limited by available memory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:548
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:922
+#: ../../include/text.php:934 ../../include/widgets.php:201
+msgid "Save"
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1550
+msgid "New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107
+#: ../../Zotlabs/Module/Connedit.php:600 ../../include/widgets.php:497
+msgid "All"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:254
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+#: ../../Zotlabs/Module/Connedit.php:554
+msgid "Ignore"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/nav.php:186 ../../include/text.php:851
+msgid "Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/acl_selectors.php:276
+#: ../../include/nav.php:165 ../../include/text.php:921
+#: ../../include/text.php:933
+msgid "Search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:61
+msgid "Image uploaded but image cropping failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:136
+msgid "Image resize failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:195 ../../include/photos.php:148
+msgid "Unable to process image"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:222
+msgid "Image upload failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:241
+msgid "Unable to process image."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4310
+msgid "female"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4311
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4312
+msgid "male"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4313
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4315
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1650
+msgid "cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:299
+#: ../../Zotlabs/Module/Profile_photo.php:340
+msgid "Photo not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:386
+msgid "Upload File:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:387
+msgid "Select a profile:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:395
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:395
+msgid "skip this step"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:395
+msgid "select a photo from your photo albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:414
+msgid "Crop Image"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:415
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:417
+msgid "Done Editing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
msgstr ""
#: ../../Zotlabs/Module/Admin.php:77
msgid "Theme settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1235
-#: ../../Zotlabs/Module/Admin.php:1541 ../../Zotlabs/Module/Display.php:40
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Display.php:40
#: ../../Zotlabs/Module/Filestorage.php:33 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3361
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3383
msgid "Item not found."
msgstr ""
@@ -320,10 +1298,10 @@ msgstr ""
#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1194
-#: ../../Zotlabs/Module/Admin.php:1309 ../../Zotlabs/Module/Admin.php:1399
-#: ../../Zotlabs/Module/Admin.php:1592 ../../Zotlabs/Module/Admin.php:1626
-#: ../../Zotlabs/Module/Admin.php:1711
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
msgid "Administration"
msgstr ""
@@ -363,7 +1341,7 @@ msgstr ""
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2826
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2821
msgid "Default"
msgstr ""
@@ -379,43 +1357,10 @@ msgstr ""
msgid "unsupported"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:89
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "No"
-msgstr ""
-
#: ../../Zotlabs/Module/Admin.php:460
msgid "Yes - with approval"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:88
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "Yes"
-msgstr ""
-
#: ../../Zotlabs/Module/Admin.php:466
msgid "My site is not a public server"
msgstr ""
@@ -432,42 +1377,10 @@ msgstr ""
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1380
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1455
msgid "Site"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1034
-#: ../../Zotlabs/Module/Admin.php:1196 ../../Zotlabs/Module/Admin.php:1401
-#: ../../Zotlabs/Module/Admin.php:1628 ../../Zotlabs/Module/Admin.php:1713
-#: ../../Zotlabs/Module/Admin.php:2096 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
-#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Events.php:672
-#: ../../Zotlabs/Module/Filestorage.php:162 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Import.php:550
-#: ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mitem.php:235
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
-#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
-#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
-#: ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:699 ../../include/widgets.php:757
-#: ../../include/widgets.php:769 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr ""
-
#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
msgid "Registration"
msgstr ""
@@ -785,10 +1698,6 @@ msgstr ""
msgid "on server"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Connections.php:270
-msgid "Status"
-msgstr ""
-
#: ../../Zotlabs/Module/Admin.php:712
msgid "Server"
msgstr ""
@@ -817,7 +1726,7 @@ msgid ""
"embedded content from that site is explicitly blocked."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1383
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1458
msgid "Security"
msgstr ""
@@ -983,1450 +1892,447 @@ msgstr ""
msgid "Account '%s' unblocked"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1045
-msgid "Users"
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1456
+msgid "Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1197
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
msgid "select all"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "User registrations waiting for confirm"
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1037
+#: ../../Zotlabs/Module/Admin.php:1035
msgid "Request date"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1037 ../../Zotlabs/Module/Admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../include/network.php:2151 ../../boot.php:1697
+#: ../../include/network.php:2184 ../../boot.php:1706
msgid "Email"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1038
+#: ../../Zotlabs/Module/Admin.php:1036
msgid "No registrations."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1039
-#: ../../Zotlabs/Module/Connections.php:275
-msgid "Approve"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:1040
+#: ../../Zotlabs/Module/Admin.php:1038
msgid "Deny"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1042 ../../Zotlabs/Module/Connedit.php:540
+#: ../../Zotlabs/Module/Admin.php:1040 ../../Zotlabs/Module/Connedit.php:546
msgid "Block"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1043 ../../Zotlabs/Module/Connedit.php:540
+#: ../../Zotlabs/Module/Admin.php:1041 ../../Zotlabs/Module/Connedit.php:546
msgid "Unblock"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1046 ../../include/group.php:267
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
msgid "All Channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1049
msgid "Register date"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1050
msgid "Last login"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1051
msgid "Expires"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1052
msgid "Service Class"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1048
+#: ../../Zotlabs/Module/Admin.php:1054
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
"on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1049
+#: ../../Zotlabs/Module/Admin.php:1055
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1085
+#: ../../Zotlabs/Module/Admin.php:1091
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Admin.php:1094
+#: ../../Zotlabs/Module/Admin.php:1100
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Admin.php:1100
+#: ../../Zotlabs/Module/Admin.php:1106
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Admin.php:1120
+#: ../../Zotlabs/Module/Admin.php:1126
msgid "Channel not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1130
+#: ../../Zotlabs/Module/Admin.php:1136
#, php-format
msgid "Channel '%s' deleted"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1142
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' censored"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1142
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1153
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code allowed"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1153
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1195 ../../include/widgets.php:1382
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1457
msgid "Channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1199
+#: ../../Zotlabs/Module/Admin.php:1214
msgid "Censor"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1200
+#: ../../Zotlabs/Module/Admin.php:1215
msgid "Uncensor"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1201
+#: ../../Zotlabs/Module/Admin.php:1216
msgid "Allow Code"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1202
+#: ../../Zotlabs/Module/Admin.php:1217
msgid "Disallow Code"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1203 ../../include/conversation.php:1611
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1626
msgid "Channel"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1204
+#: ../../Zotlabs/Module/Admin.php:1222
msgid "UID"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1204 ../../Zotlabs/Module/Locs.php:118
+#: ../../Zotlabs/Module/Admin.php:1224 ../../Zotlabs/Module/Locs.php:118
#: ../../Zotlabs/Module/Profiles.php:470
msgid "Address"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1206
+#: ../../Zotlabs/Module/Admin.php:1226
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1207
+#: ../../Zotlabs/Module/Admin.php:1227
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1264
+#: ../../Zotlabs/Module/Admin.php:1284
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1268
+#: ../../Zotlabs/Module/Admin.php:1288
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1278 ../../Zotlabs/Module/Admin.php:1565
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
msgid "Disable"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1281 ../../Zotlabs/Module/Admin.php:1567
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
msgid "Enable"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1310 ../../Zotlabs/Module/Admin.php:1400
-#: ../../include/widgets.php:1385
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1460
msgid "Plugins"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1311 ../../Zotlabs/Module/Admin.php:1594
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
msgid "Toggle"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1312 ../../Zotlabs/Module/Admin.php:1595
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:208
#: ../../include/widgets.php:638
msgid "Settings"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1319 ../../Zotlabs/Module/Admin.php:1604
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
msgid "Author: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1320 ../../Zotlabs/Module/Admin.php:1605
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
msgid "Maintainer: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1321
+#: ../../Zotlabs/Module/Admin.php:1341
msgid "Minimum project version: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1322
+#: ../../Zotlabs/Module/Admin.php:1342
msgid "Maximum project version: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1323
+#: ../../Zotlabs/Module/Admin.php:1343
msgid "Minimum PHP version: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1324
+#: ../../Zotlabs/Module/Admin.php:1344
msgid "Requires: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1325 ../../Zotlabs/Module/Admin.php:1405
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
msgid "Disabled - version incompatibility"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1374
+#: ../../Zotlabs/Module/Admin.php:1394
msgid "Enter the public git repository URL of the plugin repo."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1375
+#: ../../Zotlabs/Module/Admin.php:1395
msgid "Plugin repo git URL"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1376
+#: ../../Zotlabs/Module/Admin.php:1396
msgid "Custom repo name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1376
+#: ../../Zotlabs/Module/Admin.php:1396
msgid "(optional)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1377
+#: ../../Zotlabs/Module/Admin.php:1397
msgid "Download Plugin Repo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1384
+#: ../../Zotlabs/Module/Admin.php:1404
msgid "Install new repo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1385 ../../Zotlabs/Lib/Apps.php:330
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:333
msgid "Install"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1386 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
-msgid "Cancel"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:1407
+#: ../../Zotlabs/Module/Admin.php:1427
msgid "Manage Repos"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1408
+#: ../../Zotlabs/Module/Admin.php:1428
msgid "Installed Plugin Repositories"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1409
+#: ../../Zotlabs/Module/Admin.php:1429
msgid "Install a New Plugin Repository"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1415 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:333
msgid "Update"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1416
+#: ../../Zotlabs/Module/Admin.php:1436
msgid "Switch branch"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1417 ../../Zotlabs/Module/Photos.php:998
+#: ../../Zotlabs/Module/Admin.php:1437 ../../Zotlabs/Module/Photos.php:998
#: ../../Zotlabs/Module/Tagrm.php:137
msgid "Remove"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1530
+#: ../../Zotlabs/Module/Admin.php:1550
msgid "No themes found."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1586
+#: ../../Zotlabs/Module/Admin.php:1606
msgid "Screenshot"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1593 ../../Zotlabs/Module/Admin.php:1627
-#: ../../include/widgets.php:1386
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1461
msgid "Themes"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1632
+#: ../../Zotlabs/Module/Admin.php:1652
msgid "[Experimental]"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1633
+#: ../../Zotlabs/Module/Admin.php:1653
msgid "[Unsupported]"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1657
+#: ../../Zotlabs/Module/Admin.php:1677
msgid "Log settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1712 ../../include/widgets.php:1407
-#: ../../include/widgets.php:1417
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1482
+#: ../../include/widgets.php:1492
msgid "Logs"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1714
+#: ../../Zotlabs/Module/Admin.php:1734
msgid "Clear"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1720
+#: ../../Zotlabs/Module/Admin.php:1740
msgid "Debugging"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1721
+#: ../../Zotlabs/Module/Admin.php:1741
msgid "Log file"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1721
+#: ../../Zotlabs/Module/Admin.php:1741
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1722
+#: ../../Zotlabs/Module/Admin.php:1742
msgid "Log level"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2008
+#: ../../Zotlabs/Module/Admin.php:2028
msgid "New Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "Field nickname"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "System name of field"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2010 ../../Zotlabs/Module/Admin.php:2030
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
msgid "Input type"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Field Name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Label on profile pages"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Help text"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Additional info (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2013 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:946 ../../include/text.php:958
-msgid "Save"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:2022
+#: ../../Zotlabs/Module/Admin.php:2042
msgid "Field definition not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2028
+#: ../../Zotlabs/Module/Admin.php:2048
msgid "Edit Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2086 ../../include/widgets.php:1388
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1463
msgid "Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2087
+#: ../../Zotlabs/Module/Admin.php:2107
msgid "Basic Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2088
+#: ../../Zotlabs/Module/Admin.php:2108
msgid "Advanced Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2088
+#: ../../Zotlabs/Module/Admin.php:2108
msgid "(In addition to basic fields)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2090
+#: ../../Zotlabs/Module/Admin.php:2110
msgid "All available fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2091
+#: ../../Zotlabs/Module/Admin.php:2111
msgid "Custom Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2095
+#: ../../Zotlabs/Module/Admin.php:2115
msgid "Create Custom Field"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr ""
-
-#: ../../Zotlabs/Module/Api.php:87
-msgid ""
-"Do you want to authorize this application to access your posts and contacts, "
-"and/or create new posts for you?"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
-msgstr ""
-
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
-msgstr ""
-
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:163
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr ""
-
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr ""
-
-#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
-msgid "Invalid item."
-msgstr ""
-
-#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Cal.php:62
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
-#: ../../Zotlabs/Module/Editblock.php:108
-msgid "Block Name"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2250
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2242
msgid "Blocks"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:153
+#: ../../Zotlabs/Module/Blocks.php:156
msgid "Block Title"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
-#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
-#: ../../include/page_widgets.php:44
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Layouts.php:190
+#: ../../Zotlabs/Module/Webpages.php:206 ../../Zotlabs/Module/Menu.php:114
+#: ../../include/page_widgets.php:47
msgid "Created"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
-#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
-#: ../../include/page_widgets.php:45
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Webpages.php:207 ../../Zotlabs/Module/Menu.php:115
+#: ../../include/page_widgets.php:48
msgid "Edited"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
-#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
-#: ../../include/conversation.php:1208
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Webpages.php:196 ../../Zotlabs/Module/Photos.php:1072
+#: ../../include/conversation.php:1219
msgid "Share"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
-#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
-#: ../../include/page_widgets.php:39
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Layouts.php:197
+#: ../../Zotlabs/Module/Webpages.php:201 ../../Zotlabs/Module/Pubsites.php:47
+#: ../../include/page_widgets.php:42
msgid "View"
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr ""
-
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr ""
-
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
-msgid "l, F j"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
-#: ../../include/text.php:1717
-msgid "Link to Source"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
-msgid "Edit Event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
-msgid "Create Event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
-#: ../../Zotlabs/Module/Photos.php:949
-msgid "Previous"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
-#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
-msgid "Next"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
-#: ../../include/widgets.php:755
-msgid "Export"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
-#: ../../include/widgets.php:756
-msgid "Import"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
-msgid "Today"
-msgstr ""
-
-#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
-msgid "You must be logged in to see this page."
-msgstr ""
-
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Posts and comments"
-msgstr ""
-
-#: ../../Zotlabs/Module/Channel.php:42
-msgid "Only posts"
-msgstr ""
-
-#: ../../Zotlabs/Module/Channel.php:102
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
-#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
-msgid "Please enter a link URL:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
-#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:711
-#: ../../include/conversation.php:1256
-msgid "Encrypt text"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
-#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
-msgid "Insert web link"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "New Chatroom"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Chatroom name"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:234
-msgid "Expiration of chats (minutes)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
-#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:283
-msgid "Permissions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:246
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:251
-msgid "No chatrooms available"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
-#: ../../Zotlabs/Module/Profiles.php:778
-msgid "Create New"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:255
-msgid "Expiration"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chat.php:256
-msgid "min"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chatsvc.php:117
-msgid "Away"
-msgstr ""
-
-#: ../../Zotlabs/Module/Chatsvc.php:122
-msgid "Online"
-msgstr ""
-
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr ""
-
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:93
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:96
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided "
-"on this page."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1535
-msgid "New"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:594 ../../include/widgets.php:497
-msgid "All"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:548
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
-#: ../../include/nav.php:186 ../../include/text.php:875
-msgid "Connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:165
-#: ../../include/acl_selectors.php:276 ../../include/text.php:945
-#: ../../include/text.php:957
-msgid "Search"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:227
-msgid "Connection updated."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:229
-msgid "Failed to update connection record."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:276
-msgid "is now connected to"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:411
-msgid "Could not access address book record."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:425
-msgid "Refresh failed - channel is currently unavailable."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
-#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
-#: ../../Zotlabs/Module/Connedit.php:480
-msgid "Unable to set address book parameters."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:503
-msgid "Connection has been removed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:954 ../../include/nav.php:86
-msgid "View Profile"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:522
-#, php-format
-msgid "View %s's profile"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:526
-msgid "Refresh Permissions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:529
-msgid "Fetch updated permissions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:533
-msgid "Recent Activity"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:536
-msgid "View recent posts and comments"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:543
-msgid "Block (or Unblock) all communications with this connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:544
-msgid "This connection is blocked!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:548
-msgid "Unignore"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:551
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:552
-msgid "This connection is ignored!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:556
-msgid "Unarchive"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:556
-msgid "Archive"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:559
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:560
-msgid "This connection is archived!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Unhide"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Hide"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:567
-msgid "Hide or Unhide this connection from your other connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:568
-msgid "This connection is hidden!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:575
-msgid "Delete this connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
-msgid "Me"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
-msgid "Family"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
-#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
-#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/selectors.php:123 ../../include/channel.php:389
-#: ../../include/channel.php:390 ../../include/channel.php:397
-#: ../../include/widgets.php:495
-msgid "Friends"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:654
-msgid "Approve this connection"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:654
-msgid "Accept connection to allow communication"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:659
-msgid "Set Affinity"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:662
-msgid "Set Profile"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:665
-msgid "Set Affinity & Profile"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "none"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
-msgid "Connection Default Permissions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3928
-#, php-format
-msgid "Connection: %s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:703
-msgid "Apply these permissions automatically"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:703
-msgid "Connection requests will be approved without your interaction"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:705
-msgid "This connection's primary address is"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:706
-msgid "Available locations:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:710
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:711
-msgid "Connection Tools"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:713
-msgid "Slide to adjust your degree of friendship"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:715
-msgid "Slide to adjust your rating"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
-msgid "Optionally explain your rating"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:718
-msgid "Custom Filter"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:719
-msgid "Only import posts with this text"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
-msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:720
-msgid "Do not import posts with this text"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:722
-msgid "This information is public!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:727
-msgid "Connection Pending Approval"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:730
-msgid "inherited"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:732
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:734
-msgid "Their Settings"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:735
-msgid "My Settings"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:737
-msgid "Individual Permissions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:738
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can <strong>not</strong> change those settings here."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:739
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can change those settings here but they wont have "
-"any impact unless the inherited setting changes."
-msgstr ""
-
-#: ../../Zotlabs/Module/Connedit.php:740
-msgid "Last update:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:79
-msgid "Image uploaded but image cropping failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:133
-msgid "Image resize failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
-msgid "Unable to process image"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:217
-msgid "Image upload failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:236
-msgid "Unable to process image."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4272
-msgid "female"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4273
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4274
-msgid "male"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4275
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4277
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
-msgid "cover photo"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:283
-#: ../../Zotlabs/Module/Profile_photo.php:324
-msgid "Photo not available."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:365
-msgid "Upload File:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:366
-msgid "Select a profile:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-#: ../../Zotlabs/Module/Settings.php:985
-msgid "or"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "skip this step"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "select a photo from your photo albums"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:390
-msgid "Crop Image"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:391
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:393
-msgid "Done Editing"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:20
-msgid "Public access denied."
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:243
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
-msgid "Age:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/event.php:84 ../../include/channel.php:1027
-#: ../../include/bb2diaspora.php:507
-msgid "Location:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
-msgid "Hometown:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
-msgid "About:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
-#: ../../include/conversation.php:956 ../../include/channel.php:1012
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-msgid "Connect"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr ""
-
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr ""
-
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr ""
-
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr ""
-
#: ../../Zotlabs/Module/Dreport.php:27
msgid "Invalid message"
msgstr ""
@@ -2484,42 +2390,20 @@ msgstr ""
msgid "mail delivered"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editpost.php:24
-#: ../../Zotlabs/Module/Editwebpage.php:81
-msgid "Item not found"
-msgstr ""
-
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
-msgid "Title (optional)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr ""
-
-#: ../../Zotlabs/Module/Editlayout.php:126
-#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
msgid "Layout Name"
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:130
+#: ../../Zotlabs/Module/Editlayout.php:128
+#: ../../Zotlabs/Module/Layouts.php:131
msgid "Layout Description (Optional)"
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:135
+#: ../../Zotlabs/Module/Editlayout.php:136
msgid "Edit Layout"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr ""
-
-#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
-msgid "Edit post"
-msgstr ""
-
#: ../../Zotlabs/Module/Editwebpage.php:143
msgid "Page link"
msgstr ""
@@ -2528,142 +2412,148 @@ msgstr ""
msgid "Edit Webpage"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:26
-msgid "Calendar entries imported."
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:28
-msgid "No calendar entries found."
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:105
-msgid "Event can not end before it has started."
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3916
+msgid "Privacy group not found."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
-#: ../../Zotlabs/Module/Events.php:136
-msgid "Unable to generate preview."
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:114
-msgid "Event title and start time are required."
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
-msgid "Event not found."
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
msgstr ""
-#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/event.php:949 ../../include/text.php:1928
-msgid "event"
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:449
-msgid "Edit event title"
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:449
-msgid "Event title"
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Categories (comma-separated list)"
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit Category"
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Category"
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit start date and time"
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Start date and time"
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
-msgid "Finish date and time are not known or not relevant"
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit finish date and time"
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Finish date and time"
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
-msgid "Adjust for viewer timezone"
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:460
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:462
-msgid "Edit Description"
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:464
-msgid "Edit Location"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
-msgid "Share this event"
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:708
-#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
-msgid "Preview"
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
-msgid "Permission settings"
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:476
-msgid "Advanced Options"
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:610
-msgid "Edit event"
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:612
-msgid "Delete event"
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:646
-msgid "calendar"
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:224
+#: ../../include/nav.php:159
+msgid "Help"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:706
-msgid "Event removed"
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:709
-msgid "Failed to remove event"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
msgstr ""
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
-#: ../../include/conversation.php:1632 ../../include/nav.php:92
-msgid "Photos"
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2244
+msgid "Layouts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:185
+msgid "Comanche page description language help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:189
+msgid "Layout Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:194
+msgid "Download PDL file"
msgstr ""
#: ../../Zotlabs/Module/Ffsapi.php:12
@@ -2674,12 +2564,21 @@ msgstr ""
msgid "Activate the Firefox $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
+#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1700
+msgid "Webpages"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
+#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:204 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:205
+msgid "Page Title"
msgstr ""
#: ../../Zotlabs/Module/Filestorage.php:88
@@ -2726,84 +2625,128 @@ msgstr ""
msgid "Notify your contacts about this file"
msgstr ""
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3895
-msgid "Privacy group not found."
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
+#: ../../Zotlabs/Module/Impel.php:187
+#, php-format
+msgid "%s element installed"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
+#: ../../Zotlabs/Module/Impel.php:190
+#, php-format
+msgid "%s element installation failed"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
msgstr ""
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
+"\"register\">register as a new $Projectname member</a> to continue."
msgstr ""
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
msgstr ""
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
msgstr ""
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1917
+#: ../../include/conversation.php:120
+msgid "photo"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1923 ../../include/conversation.php:148
+msgid "status"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
-#: ../../include/nav.php:159
-msgid "Help"
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:424
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:426
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:428
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:430
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:432
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:434
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:537
+msgid "Action completed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Thank you."
msgstr ""
#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
-#: ../../Zotlabs/Module/Siteinfo.php:65
+#: ../../Zotlabs/Module/Siteinfo.php:48
msgid "$Projectname"
msgstr ""
@@ -2829,7 +2772,7 @@ msgid "Full Name"
msgstr ""
#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:237
msgid "Profile Photo"
msgstr ""
@@ -2865,7 +2808,7 @@ msgstr ""
msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:235
msgid "Language"
msgstr ""
@@ -2899,126 +2842,31 @@ msgstr ""
msgid "Female"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr ""
-
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr ""
-
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr ""
-
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr ""
-
-#: ../../Zotlabs/Module/Impel.php:196
-#, php-format
-msgid "%s element installed"
-msgstr ""
-
-#: ../../Zotlabs/Module/Impel.php:199
-#, php-format
-msgid "%s element installation failed"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:32
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
-msgid "Nothing to import."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
-msgid "Unable to download data from old server"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:100
-#: ../../Zotlabs/Module/Import_items.php:72
-msgid "Imported file is empty."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:122
-#: ../../Zotlabs/Module/Import_items.php:86
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
-msgid "Cloned channel not found. Import failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:160
-msgid "No channel. Import failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:510
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:532
-msgid "You must be logged in to use this feature."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:537
-msgid "Import Channel"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:538
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You "
-"may retrieve the channel identity from the old server/hub via the network or "
-"provide an export file."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:539
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "File to Upload"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:540
-msgid "Or provide the old server/hub details"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:541
-msgid "Your old identity address (xyz@example.com)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:542
-msgid "Your old login email address"
+#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
+msgid "Invalid item."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:543
-msgid "Your old login password"
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:544
+#: ../../Zotlabs/Module/Page.php:131
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be "
-"able to post from either location, but only one can be marked as the primary "
-"location for files, photos, and media."
-msgstr ""
-
-#: ../../Zotlabs/Module/Import.php:545
-msgid "Make this hub my primary location"
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:546
-msgid ""
-"Import existing posts if possible (experimental - limited by available memory"
+#: ../../Zotlabs/Module/Lockview.php:61
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:547
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
+#: ../../Zotlabs/Module/Lockview.php:82
+msgid "Visible to:"
msgstr ""
#: ../../Zotlabs/Module/Import_items.php:102
@@ -3102,158 +2950,6 @@ msgstr ""
msgid "3. Click [Connect]"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:178
-msgid "Unable to locate original post."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:427
-msgid "Empty post discarded."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:467
-msgid "Executable content type not permitted to this channel."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:847
-msgid "Duplicate post suppressed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:977
-msgid "System error. Post not saved."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:1241
-msgid "Unable to obtain post information from database."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:1248
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr ""
-
-#: ../../Zotlabs/Module/Item.php:1255
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr ""
-
-#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2252
-msgid "Layouts"
-msgstr ""
-
-#: ../../Zotlabs/Module/Layouts.php:183
-msgid "Comanche page description language help"
-msgstr ""
-
-#: ../../Zotlabs/Module/Layouts.php:187
-msgid "Layout Description"
-msgstr ""
-
-#: ../../Zotlabs/Module/Layouts.php:192
-msgid "Download PDL file"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:25
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
-"\"register\">register as a new $Projectname member</a> to continue."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1925
-msgid "photo"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1931
-msgid "status"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:424
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:426
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:428
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:430
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:432
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:434
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:537
-msgid "Action completed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Thank you."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lockview.php:61
-msgid "Remote privacy information not available."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lockview.php:82
-msgid "Visible to:"
-msgstr ""
-
#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
msgid "Location not found."
msgstr ""
@@ -3306,79 +3002,6 @@ msgstr ""
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1703
-msgid "Password Reset"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr ""
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr ""
-
#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr ""
@@ -3432,7 +3055,7 @@ msgid "Subject:"
msgstr ""
#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
-#: ../../include/conversation.php:1220
+#: ../../include/conversation.php:1231
msgid "Attach file"
msgstr ""
@@ -3441,7 +3064,7 @@ msgid "Send"
msgstr ""
#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
-#: ../../include/conversation.php:1251
+#: ../../include/conversation.php:1266
msgid "Set expiration date"
msgstr ""
@@ -3525,22 +3148,6 @@ msgstr ""
msgid "Delegated Channel"
msgstr ""
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr ""
-
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr ""
-
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr ""
-
#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
msgstr ""
@@ -3577,7 +3184,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2251
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2243
msgid "Menus"
msgstr ""
@@ -3638,6 +3245,147 @@ msgstr ""
msgid "Not found."
msgstr ""
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1712
+msgid "Password Reset"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:226
+msgid "Mood"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr ""
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr ""
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr ""
+
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr ""
@@ -3755,46 +3503,32 @@ msgstr ""
msgid "Link text"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
-msgid "Mood"
-msgstr ""
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr ""
-
-#: ../../Zotlabs/Module/Network.php:96
-msgid "No such group"
+#: ../../Zotlabs/Module/Wiki.php:75 ../../Zotlabs/Lib/Apps.php:218
+msgid "Wiki"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:136
-msgid "No such channel"
+#: ../../Zotlabs/Module/Wiki.php:76
+msgid "Sandbox"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:141
-msgid "forum"
+#: ../../Zotlabs/Module/Wiki.php:143
+msgid "Revision Comparison"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:153
-msgid "Search Results For:"
+#: ../../Zotlabs/Module/Wiki.php:144
+msgid "Revert"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:217
-msgid "Privacy group is empty"
+#: ../../Zotlabs/Module/Wiki.php:166
+msgid "Enter the name of your new wiki:"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:226
-msgid "Privacy group: "
+#: ../../Zotlabs/Module/Wiki.php:167
+msgid "Enter the name of the new page:"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:252
-msgid "Invalid connection."
+#: ../../Zotlabs/Module/Wiki.php:168
+msgid "Enter the new name:"
msgstr ""
#: ../../Zotlabs/Module/New_channel.php:128
@@ -3853,87 +3587,81 @@ msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:30
-msgid "Invalid request identifier."
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:39
-msgid "Discard"
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:98
-#: ../../Zotlabs/Module/Notify.php:57
-msgid "No more system notifications."
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:102
-#: ../../Zotlabs/Module/Notify.php:61
-msgid "System Notifications"
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
-msgid "Mark all system notifications seen"
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
msgstr ""
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
+#: ../../Zotlabs/Module/Notifications.php:30
+msgid "Invalid request identifier."
msgstr ""
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
+#: ../../Zotlabs/Module/Notifications.php:39
+msgid "Discard"
msgstr ""
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
msgstr ""
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
-msgid "Login failed."
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:227
+#: ../../include/conversation.php:963
+msgid "Poke"
msgstr ""
-#: ../../Zotlabs/Module/Page.php:133
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
-"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
-msgid "This setting requires special processing and editing has been blocked."
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:48
-msgid "Configuration Editor"
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:49
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please "
-"leave this page unless you are comfortable with and knowledgeable about how "
-"to correctly use this feature."
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr ""
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
msgstr ""
#: ../../Zotlabs/Module/Photos.php:84
@@ -3941,9 +3669,9 @@ msgid "Page owner information could not be retrieved."
msgstr ""
#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
-#: ../../Zotlabs/Module/Profile_photo.php:114
-#: ../../Zotlabs/Module/Profile_photo.php:206
-#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../Zotlabs/Module/Profile_photo.php:116
+#: ../../Zotlabs/Module/Profile_photo.php:211
+#: ../../Zotlabs/Module/Profile_photo.php:310
#: ../../include/photo/photo_driver.php:718
msgid "Profile Photos"
msgstr ""
@@ -4013,8 +3741,7 @@ msgstr ""
msgid "Album name could not be decoded"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:743 ../../Zotlabs/Module/Photos.php:1284
-#: ../../Zotlabs/Module/Photos.php:1302
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr ""
@@ -4026,12 +3753,13 @@ msgstr ""
msgid "Show Oldest First"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1335
-#: ../../include/widgets.php:1497
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1572
msgid "View Photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1514
+#: ../../Zotlabs/Module/Photos.php:823
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1589
msgid "Edit Album"
msgstr ""
@@ -4095,86 +3823,86 @@ msgstr ""
msgid "Flag as adult in album view"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:251
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
msgid "I like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:252
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:386
-#: ../../include/conversation.php:740
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:743
msgid "Please wait"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:696
+#: ../../Zotlabs/Lib/ThreadItem.php:707
msgid "This is you"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
-#: ../../Zotlabs/Lib/ThreadItem.php:698 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
msgid "Comment"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
msgctxt "title"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
msgctxt "title"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
msgctxt "title"
msgid "Agree"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
msgctxt "title"
msgid "Disagree"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
msgctxt "title"
msgid "Abstain"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
msgctxt "title"
msgid "Attending"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
msgctxt "title"
msgid "Not attending"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
msgctxt "title"
msgid "Might attend"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
-#: ../../Zotlabs/Lib/ThreadItem.php:171 ../../Zotlabs/Lib/ThreadItem.php:183
-#: ../../include/conversation.php:1717
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1732
msgid "View all"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:175
-#: ../../include/conversation.php:1741 ../../include/channel.php:1158
-#: ../../include/taxonomy.php:403
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1756
+#: ../../include/channel.php:1146
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:180
-#: ../../include/conversation.php:1744
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1759
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -4193,77 +3921,63 @@ msgstr ""
msgid "Map"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:375
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:376
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
#: ../../include/acl_selectors.php:285
msgid "Close"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1341
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365
-#: ../../Zotlabs/Module/Photos.php:1366
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:265
-msgid "sent you a private message"
-msgstr ""
-
-#: ../../Zotlabs/Module/Ping.php:313
-msgid "added your channel"
-msgstr ""
-
-#: ../../Zotlabs/Module/Ping.php:323
-msgid "g A l F d"
-msgstr ""
-
-#: ../../Zotlabs/Module/Ping.php:346
-msgid "[today]"
-msgstr ""
-
-#: ../../Zotlabs/Module/Ping.php:355
-msgid "posted an event"
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
-#: ../../include/conversation.php:960
-msgid "Poke"
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:169
-msgid "Poke somebody"
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please "
+"leave this page unless you are comfortable with and knowledgeable about how "
+"to correctly use this feature."
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:172
-msgid "Poke/Prod"
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:173
-msgid "Poke, prod or do other things to somebody"
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:180
-msgid "Recipient"
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:181
-msgid "Choose what you wish to do to recipient"
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
-msgid "Make this post private"
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
msgstr ""
#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
@@ -4271,16 +3985,6 @@ msgstr ""
msgid "Fetching URL returns error: %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:179
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr ""
-
-#: ../../Zotlabs/Module/Profile_photo.php:367
-msgid "Upload Profile Photo"
-msgstr ""
-
#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
@@ -4367,7 +4071,7 @@ msgid "View this profile"
msgstr ""
#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:959
+#: ../../include/channel.php:946
msgid "Edit visibility"
msgstr ""
@@ -4379,7 +4083,7 @@ msgstr ""
msgid "Change cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:917
msgid "Change profile photo"
msgstr ""
@@ -4399,7 +4103,7 @@ msgstr ""
msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1526
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541
#: ../../include/widgets.php:105
msgid "Personal"
msgstr ""
@@ -4540,12 +4244,12 @@ msgstr ""
msgid "My other channels"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:942
msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:937
-#: ../../include/nav.php:88
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:924
msgid "Edit Profiles"
msgstr ""
@@ -4557,7 +4261,7 @@ msgstr ""
msgid "Profile Visibility Editor"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1238
msgid "Profile"
msgstr ""
@@ -4569,7 +4273,7 @@ msgstr ""
msgid "Visible To"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1268
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1343
msgid "Public Hubs"
msgstr ""
@@ -4603,7 +4307,7 @@ msgid "Software"
msgstr ""
#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:959
+#: ../../include/conversation.php:962
msgid "Ratings"
msgstr ""
@@ -4611,6 +4315,33 @@ msgstr ""
msgid "Rate"
msgstr ""
+#: ../../Zotlabs/Module/Profile_photo.php:185
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:388
+msgid "Upload Profile Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rate.php:159 ../../Zotlabs/Module/Connedit.php:720
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr ""
+
#: ../../Zotlabs/Module/Rate.php:160
msgid "Website:"
msgstr ""
@@ -4644,6 +4375,304 @@ msgstr ""
msgid "Description: "
msgstr ""
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:163
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:227
+msgid "Connection updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:229
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:276
+msgid "is now connected to"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:411
+msgid "Could not access address book record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:431
+msgid "Refresh failed - channel is currently unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:446 ../../Zotlabs/Module/Connedit.php:455
+#: ../../Zotlabs/Module/Connedit.php:464 ../../Zotlabs/Module/Connedit.php:473
+#: ../../Zotlabs/Module/Connedit.php:486
+msgid "Unable to set address book parameters."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:509
+msgid "Connection has been removed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:86 ../../include/conversation.php:957
+msgid "View Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:528
+#, php-format
+msgid "View %s's profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:532
+msgid "Refresh Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:535
+msgid "Fetch updated permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:539
+msgid "Recent Activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:542
+msgid "View recent posts and comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:549
+msgid "Block (or Unblock) all communications with this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:550
+msgid "This connection is blocked!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:554
+msgid "Unignore"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:557
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:558
+msgid "This connection is ignored!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:562
+msgid "Unarchive"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:562
+msgid "Archive"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:565
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:566
+msgid "This connection is archived!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:570
+msgid "Unhide"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:570
+msgid "Hide"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:573
+msgid "Hide or Unhide this connection from your other connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:574
+msgid "This connection is hidden!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:581
+msgid "Delete this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:596 ../../include/widgets.php:493
+msgid "Me"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:597 ../../include/widgets.php:494
+msgid "Family"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/selectors.php:123 ../../include/channel.php:389
+#: ../../include/channel.php:390 ../../include/channel.php:397
+#: ../../include/widgets.php:495
+msgid "Friends"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:599 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:660
+msgid "Approve this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:660
+msgid "Accept connection to allow communication"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:665
+msgid "Set Affinity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:668
+msgid "Set Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:671
+msgid "Set Affinity & Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:704
+msgid "none"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/items.php:3949
+#, php-format
+msgid "Connection: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:709
+msgid "Apply these permissions automatically"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:709
+msgid "Connection requests will be approved without your interaction"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "This connection's primary address is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:712
+msgid "Available locations:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:716
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:717
+msgid "Connection Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:719
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:721
+msgid "Slide to adjust your rating"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:722 ../../Zotlabs/Module/Connedit.php:727
+msgid "Optionally explain your rating"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:724
+msgid "Custom Filter"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:725
+msgid "Only import posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:725 ../../Zotlabs/Module/Connedit.php:726
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:726
+msgid "Do not import posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:728
+msgid "This information is public!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:733
+msgid "Connection Pending Approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:736
+msgid "inherited"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:738
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:740
+msgid "Their Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:741
+msgid "My Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:743
+msgid "Individual Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:744
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can <strong>not</strong> change those settings here."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:745
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can change those settings here but they wont have "
+"any impact unless the inherited setting changes."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "Last update:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Posts and comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:42
+msgid "Only posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:102
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr ""
@@ -4747,7 +4776,7 @@ msgid "Membership on this site is by invitation only."
msgstr ""
#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
-#: ../../boot.php:1677
+#: ../../boot.php:1686
msgid "Register"
msgstr ""
@@ -5174,7 +5203,7 @@ msgstr ""
msgid "Basic Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1128
msgid "Full Name:"
msgstr ""
@@ -5926,56 +5955,56 @@ msgstr ""
msgid "Version %s"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:40
+#: ../../Zotlabs/Module/Siteinfo.php:34
msgid "Installed plugins/addons/apps:"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:53
+#: ../../Zotlabs/Module/Siteinfo.php:36
msgid "No installed plugins/addons/apps"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:66
+#: ../../Zotlabs/Module/Siteinfo.php:49
msgid ""
"This is a hub of $Projectname - a global cooperative network of "
"decentralized privacy enhanced websites."
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:68
+#: ../../Zotlabs/Module/Siteinfo.php:51
msgid "Tag: "
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:70
+#: ../../Zotlabs/Module/Siteinfo.php:53
msgid "Last background fetch: "
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:72
+#: ../../Zotlabs/Module/Siteinfo.php:55
msgid "Current load average: "
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:75
+#: ../../Zotlabs/Module/Siteinfo.php:58
msgid "Running at web location"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:76
+#: ../../Zotlabs/Module/Siteinfo.php:59
msgid ""
"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
"about $Projectname."
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:77
+#: ../../Zotlabs/Module/Siteinfo.php:60
msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:79
+#: ../../Zotlabs/Module/Siteinfo.php:62
msgid "$projectname issues"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:80
+#: ../../Zotlabs/Module/Siteinfo.php:63
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:82
+#: ../../Zotlabs/Module/Siteinfo.php:65
msgid "Site Administrators"
msgstr ""
@@ -5995,8 +6024,8 @@ msgstr ""
msgid "*"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
-#: ../../include/features.php:71
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:71
+#: ../../include/widgets.php:630
msgid "Channel Sources"
msgstr ""
@@ -6072,12 +6101,12 @@ msgstr ""
msgid "Ignore/Hide"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
msgid "post"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1933
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1925
+#: ../../include/conversation.php:150
msgid "comment"
msgstr ""
@@ -6230,21 +6259,22 @@ msgstr ""
msgid "Source of Item"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
-#: ../../include/conversation.php:1685 ../../include/nav.php:106
-msgid "Webpages"
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
-msgid "Actions"
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
-msgid "Page Link"
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:197
-msgid "Page Title"
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
msgstr ""
#: ../../Zotlabs/Module/Xchan.php:10
@@ -6284,7 +6314,7 @@ msgid "Suggest Channels"
msgstr ""
#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
-#: ../../boot.php:1695
+#: ../../boot.php:1704
msgid "Login"
msgstr ""
@@ -6292,52 +6322,52 @@ msgstr ""
msgid "Grid"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+#: ../../Zotlabs/Lib/Apps.php:219 ../../include/nav.php:182
msgid "Channel Home"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:221 ../../include/conversation.php:1649
-#: ../../include/conversation.php:1652 ../../include/nav.php:201
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:201
+#: ../../include/conversation.php:1664 ../../include/conversation.php:1667
msgid "Events"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:167
msgid "Directory"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+#: ../../Zotlabs/Lib/Apps.php:225 ../../include/nav.php:193
msgid "Mail"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:96
msgid "Chat"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:229
+#: ../../Zotlabs/Lib/Apps.php:230
msgid "Probe"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:230
+#: ../../Zotlabs/Lib/Apps.php:231
msgid "Suggest"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:231
+#: ../../Zotlabs/Lib/Apps.php:232
msgid "Random Channel"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:232
+#: ../../Zotlabs/Lib/Apps.php:233
msgid "Invite"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1384
+#: ../../Zotlabs/Lib/Apps.php:234 ../../include/widgets.php:1459
msgid "Features"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:235
+#: ../../Zotlabs/Lib/Apps.php:236
msgid "Post"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:335
+#: ../../Zotlabs/Lib/Apps.php:338
msgid "Purchase"
msgstr ""
@@ -6361,194 +6391,194 @@ msgstr ""
msgid "Room is full"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:85 ../../include/conversation.php:664
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:122 ../../include/conversation.php:656
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:659
msgid "Select"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:126
+#: ../../Zotlabs/Lib/ThreadItem.php:136
msgid "Save to Folder"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:147
+#: ../../Zotlabs/Lib/ThreadItem.php:157
msgid "I will attend"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:147
+#: ../../Zotlabs/Lib/ThreadItem.php:157
msgid "I will not attend"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:147
+#: ../../Zotlabs/Lib/ThreadItem.php:157
msgid "I might attend"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
+#: ../../Zotlabs/Lib/ThreadItem.php:167
msgid "I agree"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
+#: ../../Zotlabs/Lib/ThreadItem.php:167
msgid "I disagree"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
+#: ../../Zotlabs/Lib/ThreadItem.php:167
msgid "I abstain"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:208
+#: ../../Zotlabs/Lib/ThreadItem.php:218
msgid "Add Star"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:209
+#: ../../Zotlabs/Lib/ThreadItem.php:219
msgid "Remove Star"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:210
+#: ../../Zotlabs/Lib/ThreadItem.php:220
msgid "Toggle Star Status"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:214
+#: ../../Zotlabs/Lib/ThreadItem.php:224
msgid "starred"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:224 ../../include/conversation.php:671
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:225 ../../include/conversation.php:672
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:233
+#: ../../Zotlabs/Lib/ThreadItem.php:243
msgid "Add Tag"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:251 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
msgid "like"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:252 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
msgid "dislike"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:256
+#: ../../Zotlabs/Lib/ThreadItem.php:266
msgid "Share This"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:256
+#: ../../Zotlabs/Lib/ThreadItem.php:266
msgid "share"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:265
+#: ../../Zotlabs/Lib/ThreadItem.php:275
msgid "Delivery Report"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:283
+#: ../../Zotlabs/Lib/ThreadItem.php:293
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Lib/ThreadItem.php:312 ../../Zotlabs/Lib/ThreadItem.php:313
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
#, php-format
msgid "View %s's profile - %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:326
msgid "to"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:327
msgid "via"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:318
+#: ../../Zotlabs/Lib/ThreadItem.php:328
msgid "Wall-to-Wall"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:319
+#: ../../Zotlabs/Lib/ThreadItem.php:329
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:331 ../../include/conversation.php:719
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:722
#, php-format
msgid "from %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:334 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:725
#, php-format
msgid "last edited: %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:335 ../../include/conversation.php:723
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:726
#, php-format
msgid "Expires: %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:359
+#: ../../Zotlabs/Lib/ThreadItem.php:370
msgid "Save Bookmarks"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:360
+#: ../../Zotlabs/Lib/ThreadItem.php:371
msgid "Add to Calendar"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:369
+#: ../../Zotlabs/Lib/ThreadItem.php:380
msgid "Mark all seen"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:410 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
msgid "[+] show all"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:700 ../../include/conversation.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1226
msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:701 ../../include/conversation.php:1216
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1227
msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:702 ../../include/conversation.php:1217
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1228
msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:703 ../../include/conversation.php:1218
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1229
msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:704 ../../include/conversation.php:1219
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1230
msgid "Code"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:705
+#: ../../Zotlabs/Lib/ThreadItem.php:716
msgid "Image"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:706
+#: ../../Zotlabs/Lib/ThreadItem.php:717
msgid "Insert Link"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:707
+#: ../../Zotlabs/Lib/ThreadItem.php:718
msgid "Video"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1863
msgid "$Projectname Notification"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1864
msgid "$projectname"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1866
msgid "Thank You,"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1868
#, php-format
msgid "%s Administrator"
msgstr ""
@@ -6753,502 +6783,197 @@ msgstr ""
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/network.php:657
-msgid "view full size"
-msgstr ""
-
-#: ../../include/network.php:1871 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr ""
-
-#: ../../include/network.php:1885
-msgid "No Subject"
-msgstr ""
-
-#: ../../include/network.php:2146 ../../include/network.php:2147
-msgid "Friendica"
-msgstr ""
-
-#: ../../include/network.php:2148
-msgid "OStatus"
-msgstr ""
-
-#: ../../include/network.php:2149
-msgid "GNU-Social"
-msgstr ""
-
-#: ../../include/network.php:2150
-msgid "RSS/Atom"
-msgstr ""
-
-#: ../../include/network.php:2152
-msgid "Diaspora"
-msgstr ""
-
-#: ../../include/network.php:2153
-msgid "Facebook"
-msgstr ""
-
-#: ../../include/network.php:2154
-msgid "Zot"
-msgstr ""
-
-#: ../../include/network.php:2155
-msgid "LinkedIn"
-msgstr ""
-
-#: ../../include/network.php:2156
-msgid "XMPP/IM"
-msgstr ""
-
-#: ../../include/network.php:2157
-msgid "MySpace"
-msgstr ""
-
-#: ../../include/photos.php:110
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr ""
-
-#: ../../include/photos.php:117
-msgid "Image file is empty."
-msgstr ""
-
-#: ../../include/photos.php:255
-msgid "Photo storage failed."
-msgstr ""
-
-#: ../../include/photos.php:295
-msgid "a new photo"
-msgstr ""
-
-#: ../../include/photos.php:299
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
+#: ../../include/acl_selectors.php:232
+#: ../../include/PermissionDescription.php:31
+msgid "Visible to your default audience"
msgstr ""
-#: ../../include/photos.php:504 ../../include/conversation.php:1635
-msgid "Photo Albums"
+#: ../../include/acl_selectors.php:268
+#: ../../include/PermissionDescription.php:115
+msgid "Only me"
msgstr ""
-#: ../../include/photos.php:508
-msgid "Upload New Photos"
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
msgstr ""
-#: ../../include/connections.php:95
-msgid "New window"
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
msgstr ""
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
+"the scope of \"Show\"."
msgstr ""
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
+#: ../../include/acl_selectors.php:274
+msgid "Show"
msgstr ""
-#: ../../include/oembed.php:324
-msgid "Embedded content"
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
msgstr ""
-#: ../../include/oembed.php:333
-msgid "Embedding disabled"
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
msgstr ""
-#: ../../include/contact_widgets.php:11
+#: ../../include/acl_selectors.php:311
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr ""
-
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
msgstr ""
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../include/bb2diaspora.php:485 ../../include/event.php:22
+#: ../../include/event.php:69
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
+#: ../../include/bb2diaspora.php:491 ../../include/event.php:30
+#: ../../include/event.php:73
+msgid "Starts:"
msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
+#: ../../include/bb2diaspora.php:499 ../../include/event.php:40
+#: ../../include/event.php:77
+msgid "Finishes:"
msgstr ""
-#: ../../include/contact_widgets.php:53 ../../include/widgets.php:310
-#: ../../include/features.php:97
-msgid "Saved Folders"
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-msgid "Everything"
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
-#: ../../include/widgets.php:429 ../../include/taxonomy.php:188
-#: ../../include/taxonomy.php:270
-msgid "Categories"
+#: ../../include/items.php:902 ../../include/items.php:947
+msgid "(Unknown)"
msgstr ""
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:127
-msgid "show more"
+#: ../../include/items.php:1146
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../include/items.php:1148
+msgid "Visible to you only."
msgstr ""
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../include/items.php:1150
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/conversation.php:243 ../../include/text.php:1033
-#: ../../include/text.php:1038
-msgid "poked"
+#: ../../include/items.php:1152
+msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/conversation.php:691
+#: ../../include/items.php:1154
#, php-format
-msgid "View %s's profile @ %s"
-msgstr ""
-
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr ""
-
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr ""
-
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr ""
-
-#: ../../include/conversation.php:847
-msgid "remove"
-msgstr ""
-
-#: ../../include/conversation.php:851 ../../include/nav.php:247
-msgid "Loading..."
-msgstr ""
-
-#: ../../include/conversation.php:852
-msgid "Delete Selected Items"
-msgstr ""
-
-#: ../../include/conversation.php:948
-msgid "View Source"
-msgstr ""
-
-#: ../../include/conversation.php:949
-msgid "Follow Thread"
-msgstr ""
-
-#: ../../include/conversation.php:950
-msgid "Unfollow Thread"
-msgstr ""
-
-#: ../../include/conversation.php:955
-msgid "Activity/Posts"
-msgstr ""
-
-#: ../../include/conversation.php:957
-msgid "Edit Connection"
-msgstr ""
-
-#: ../../include/conversation.php:958
-msgid "Message"
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/conversation.php:1075
-#, php-format
-msgid "%s likes this."
+#: ../../include/items.php:1156
+msgid "Visible to all connections."
msgstr ""
-#: ../../include/conversation.php:1075
-#, php-format
-msgid "%s doesn't like this."
+#: ../../include/items.php:1158
+msgid "Visible to approved connections."
msgstr ""
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1081
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1087
-msgid "and"
+#: ../../include/items.php:1160
+msgid "Visible to specific connections."
msgstr ""
-#: ../../include/conversation.php:1090
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1091
-#, php-format
-msgid "%s like this."
+#: ../../include/items.php:3932
+msgid "Privacy group is empty."
msgstr ""
-#: ../../include/conversation.php:1091
+#: ../../include/items.php:3939
#, php-format
-msgid "%s don't like this."
-msgstr ""
-
-#: ../../include/conversation.php:1130
-msgid "Set your location"
-msgstr ""
-
-#: ../../include/conversation.php:1131
-msgid "Clear browser location"
-msgstr ""
-
-#: ../../include/conversation.php:1177
-msgid "Tag term:"
-msgstr ""
-
-#: ../../include/conversation.php:1178
-msgid "Where are you right now?"
-msgstr ""
-
-#: ../../include/conversation.php:1210
-msgid "Page link name"
-msgstr ""
-
-#: ../../include/conversation.php:1213
-msgid "Post as"
-msgstr ""
-
-#: ../../include/conversation.php:1223
-msgid "Toggle voting"
-msgstr ""
-
-#: ../../include/conversation.php:1231
-msgid "Categories (optional, comma-separated list)"
-msgstr ""
-
-#: ../../include/conversation.php:1254
-msgid "Set publish date"
-msgstr ""
-
-#: ../../include/conversation.php:1258
-msgid "OK"
-msgstr ""
-
-#: ../../include/conversation.php:1503
-msgid "Discover"
-msgstr ""
-
-#: ../../include/conversation.php:1506
-msgid "Imported public streams"
-msgstr ""
-
-#: ../../include/conversation.php:1511
-msgid "Commented Order"
-msgstr ""
-
-#: ../../include/conversation.php:1514
-msgid "Sort by Comment Date"
-msgstr ""
-
-#: ../../include/conversation.php:1518
-msgid "Posted Order"
-msgstr ""
-
-#: ../../include/conversation.php:1521
-msgid "Sort by Post Date"
-msgstr ""
-
-#: ../../include/conversation.php:1529
-msgid "Posts that mention or involve you"
-msgstr ""
-
-#: ../../include/conversation.php:1538
-msgid "Activity Stream - by date"
-msgstr ""
-
-#: ../../include/conversation.php:1544
-msgid "Starred"
-msgstr ""
-
-#: ../../include/conversation.php:1547
-msgid "Favourite Posts"
-msgstr ""
-
-#: ../../include/conversation.php:1554
-msgid "Spam"
-msgstr ""
-
-#: ../../include/conversation.php:1557
-msgid "Posts flagged as SPAM"
-msgstr ""
-
-#: ../../include/conversation.php:1614
-msgid "Status Messages and Posts"
-msgstr ""
-
-#: ../../include/conversation.php:1623
-msgid "About"
-msgstr ""
-
-#: ../../include/conversation.php:1626
-msgid "Profile Details"
-msgstr ""
-
-#: ../../include/conversation.php:1642
-msgid "Files and Storage"
+msgid "Privacy group: %s"
msgstr ""
-#: ../../include/conversation.php:1662 ../../include/conversation.php:1665
-#: ../../include/widgets.php:840
-msgid "Chatrooms"
+#: ../../include/items.php:3951
+msgid "Connection not found."
msgstr ""
-#: ../../include/conversation.php:1675 ../../include/nav.php:102
-msgid "Bookmarks"
+#: ../../include/items.php:4317
+msgid "profile photo"
msgstr ""
-#: ../../include/conversation.php:1678
-msgid "Saved Bookmarks"
+#: ../../include/oembed.php:326
+msgid "Embedded content"
msgstr ""
-#: ../../include/conversation.php:1688
-msgid "Manage Webpages"
+#: ../../include/oembed.php:335
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/conversation.php:1747
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1750
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1753
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1756
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1759
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1762
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
+#: ../../include/api.php:1326
+msgid "Public Timeline"
msgstr ""
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
msgstr ""
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
msgstr ""
-#: ../../include/event.php:812
-msgid "This event has been added to your calendar."
+#: ../../include/group.php:289
+msgid "edit"
msgstr ""
-#: ../../include/event.php:1012
-msgid "Not specified"
+#: ../../include/group.php:311 ../../include/features.php:83
+msgid "Privacy Groups"
msgstr ""
-#: ../../include/event.php:1013
-msgid "Needs Action"
+#: ../../include/group.php:312
+msgid "Edit group"
msgstr ""
-#: ../../include/event.php:1014
-msgid "Completed"
+#: ../../include/group.php:313
+msgid "Add privacy group"
msgstr ""
-#: ../../include/event.php:1015
-msgid "In Process"
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
msgstr ""
-#: ../../include/event.php:1016
-msgid "Cancelled"
+#: ../../include/group.php:316 ../../include/widgets.php:282
+msgid "add"
msgstr ""
-#: ../../include/message.php:20
-msgid "No recipient provided."
+#: ../../include/zot.php:709
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/message.php:25
-msgid "[no subject]"
+#: ../../include/zot.php:725
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
+#: ../../include/zot.php:2373
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
+#: ../../include/zot.php:3718
+msgid "invalid target signature"
msgstr ""
#: ../../include/selectors.php:30
@@ -7497,51 +7222,81 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
-#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
-#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
-#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
-#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
-#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
-#: ../../include/bbcode.php:883
-msgid "Image/photo"
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
msgstr ""
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
-msgid "Encrypted content"
+#: ../../include/event.php:1012
+msgid "Not specified"
msgstr ""
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
+#: ../../include/event.php:1013
+msgid "Needs Action"
msgstr ""
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
+#: ../../include/event.php:1014
+msgid "Completed"
msgstr ""
-#: ../../include/bbcode.php:254
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
+#: ../../include/event.php:1015
+msgid "In Process"
msgstr ""
-#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
-msgid "Click to open/close"
+#: ../../include/event.php:1016
+msgid "Cancelled"
msgstr ""
-#: ../../include/bbcode.php:339
-msgid "spoiler"
+#: ../../include/network.php:697
+msgid "view full size"
msgstr ""
-#: ../../include/bbcode.php:585
-msgid "Different viewers will see this text differently"
+#: ../../include/network.php:1911 ../../include/account.php:317
+#: ../../include/account.php:344 ../../include/account.php:404
+msgid "Administrator"
msgstr ""
-#: ../../include/bbcode.php:832
-msgid "$1 wrote:"
+#: ../../include/network.php:1925
+msgid "No Subject"
+msgstr ""
+
+#: ../../include/network.php:2179 ../../include/network.php:2180
+msgid "Friendica"
+msgstr ""
+
+#: ../../include/network.php:2181
+msgid "OStatus"
+msgstr ""
+
+#: ../../include/network.php:2182
+msgid "GNU-Social"
+msgstr ""
+
+#: ../../include/network.php:2183
+msgid "RSS/Atom"
+msgstr ""
+
+#: ../../include/network.php:2185
+msgid "Diaspora"
+msgstr ""
+
+#: ../../include/network.php:2186
+msgid "Facebook"
+msgstr ""
+
+#: ../../include/network.php:2187
+msgid "Zot"
+msgstr ""
+
+#: ../../include/network.php:2188
+msgid "LinkedIn"
+msgstr ""
+
+#: ../../include/network.php:2189
+msgid "XMPP/IM"
+msgstr ""
+
+#: ../../include/network.php:2190
+msgid "MySpace"
msgstr ""
#: ../../include/bookmarks.php:35
@@ -7549,224 +7304,300 @@ msgstr ""
msgid "%1$s's bookmarks"
msgstr ""
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
+#: ../../include/page_widgets.php:7
+msgid "New Page"
msgstr ""
-#: ../../include/attach.php:497
-msgid "No source file."
+#: ../../include/page_widgets.php:46
+msgid "Title"
msgstr ""
-#: ../../include/attach.php:519
-msgid "Cannot locate file to replace"
+#: ../../include/features.php:48
+msgid "General Features"
msgstr ""
-#: ../../include/attach.php:537
-msgid "Cannot locate file to revise/update"
+#: ../../include/features.php:50
+msgid "Content Expiration"
msgstr ""
-#: ../../include/attach.php:672
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/attach.php:686
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/attach.php:842
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/attach.php:855
-msgid "Stored file could not be verified. Upload failed."
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/attach.php:909 ../../include/attach.php:925
-msgid "Path not available."
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/attach.php:971 ../../include/attach.php:1123
-msgid "Empty pathname"
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/attach.php:997
-msgid "duplicate filename or path"
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/attach.php:1019
-msgid "Path not found."
+#: ../../include/features.php:54
+msgid "Web Pages"
msgstr ""
-#: ../../include/attach.php:1077
-msgid "mkdir failed."
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/attach.php:1081
-msgid "database storage failed."
+#: ../../include/features.php:55
+msgid "Hide Rating"
msgstr ""
-#: ../../include/attach.php:1129
-msgid "Empty path"
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
msgstr ""
-#: ../../include/channel.php:32
-msgid "Unable to obtain identity information from database"
+#: ../../include/features.php:56
+msgid "Private Notes"
msgstr ""
-#: ../../include/channel.php:66
-msgid "Empty name"
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr ""
-#: ../../include/channel.php:69
-msgid "Name too long"
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/channel.php:180
-msgid "No account identifier"
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/channel.php:192
-msgid "Nickname is required."
+#: ../../include/features.php:58
+msgid "Photo Location"
msgstr ""
-#: ../../include/channel.php:206
-msgid "Reserved nickname. Please choose another."
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/channel.php:211
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr ""
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr ""
+
+#: ../../include/features.php:60
msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
msgstr ""
-#: ../../include/channel.php:287
-msgid "Unable to retrieve created identity"
+#: ../../include/features.php:61
+msgid "Expert Mode"
msgstr ""
-#: ../../include/channel.php:345
-msgid "Default Profile"
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
msgstr ""
-#: ../../include/channel.php:791
-msgid "Requested channel is not available."
+#: ../../include/features.php:62
+msgid "Premium Channel"
msgstr ""
-#: ../../include/channel.php:938
-msgid "Create New Profile"
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
msgstr ""
-#: ../../include/channel.php:941 ../../include/nav.php:90
-msgid "Edit Profile"
+#: ../../include/features.php:67
+msgid "Post Composition Features"
msgstr ""
-#: ../../include/channel.php:958
-msgid "Visible to everybody"
+#: ../../include/features.php:70
+msgid "Large Photos"
msgstr ""
-#: ../../include/channel.php:1031 ../../include/channel.php:1142
-msgid "Gender:"
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-#: ../../include/channel.php:1032 ../../include/channel.php:1186
-msgid "Status:"
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/channel.php:1033 ../../include/channel.php:1197
-msgid "Homepage:"
+#: ../../include/features.php:72
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/channel.php:1034
-msgid "Online Now"
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/channel.php:1147
-msgid "Like this channel"
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
msgstr ""
-#: ../../include/channel.php:1171
-msgid "j F, Y"
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/channel.php:1172
-msgid "j F"
+#: ../../include/features.php:74
+msgid "Delayed Posting"
msgstr ""
-#: ../../include/channel.php:1179
-msgid "Birthday:"
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../include/channel.php:1192
-#, php-format
-msgid "for %1$d %2$s"
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
msgstr ""
-#: ../../include/channel.php:1195
-msgid "Sexual Preference:"
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
-#: ../../include/channel.php:1201
-msgid "Tags:"
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/channel.php:1203
-msgid "Political Views:"
+#: ../../include/features.php:82
+msgid "Search by Date"
msgstr ""
-#: ../../include/channel.php:1205
-msgid "Religion:"
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/channel.php:1209
-msgid "Hobbies/Interests:"
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
msgstr ""
-#: ../../include/channel.php:1211
-msgid "Likes:"
+#: ../../include/features.php:84 ../../include/widgets.php:281
+msgid "Saved Searches"
msgstr ""
-#: ../../include/channel.php:1213
-msgid "Dislikes:"
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/channel.php:1215
-msgid "Contact information and Social Networks:"
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
msgstr ""
-#: ../../include/channel.php:1217
-msgid "My other channels:"
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/channel.php:1219
-msgid "Musical interests:"
+#: ../../include/features.php:86
+msgid "Network New Tab"
msgstr ""
-#: ../../include/channel.php:1221
-msgid "Books, literature:"
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/channel.php:1223
-msgid "Television:"
+#: ../../include/features.php:87
+msgid "Affinity Tool"
msgstr ""
-#: ../../include/channel.php:1225
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/channel.php:1227
-msgid "Love/Romance:"
+#: ../../include/features.php:88
+msgid "Connection Filtering"
msgstr ""
-#: ../../include/channel.php:1229
-msgid "Work/employment:"
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../include/channel.php:1231
-msgid "School/education:"
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
msgstr ""
-#: ../../include/channel.php:1251
-msgid "Like this thing"
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr ""
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr ""
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98 ../../include/contact_widgets.php:53
+#: ../../include/widgets.php:310
+msgid "Saved Folders"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr ""
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
#: ../../include/security.php:383
@@ -7775,7 +7606,7 @@ msgid ""
"form has been opened for too long (>3 hours) before submitting it."
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1694
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1703
msgid "Logout"
msgstr ""
@@ -7799,6 +7630,10 @@ msgstr ""
msgid "Manage/Edit profiles"
msgstr ""
+#: ../../include/nav.php:90 ../../include/channel.php:928
+msgid "Edit Profile"
+msgstr ""
+
#: ../../include/nav.php:90
msgid "Edit your profile"
msgstr ""
@@ -7815,6 +7650,10 @@ msgstr ""
msgid "Your chatrooms"
msgstr ""
+#: ../../include/nav.php:102 ../../include/conversation.php:1690
+msgid "Bookmarks"
+msgstr ""
+
#: ../../include/nav.php:102
msgid "Your bookmarks"
msgstr ""
@@ -7936,7 +7775,7 @@ msgstr ""
msgid "Account/Channel Settings"
msgstr ""
-#: ../../include/nav.php:216 ../../include/widgets.php:1414
+#: ../../include/nav.php:216 ../../include/widgets.php:1489
msgid "Admin"
msgstr ""
@@ -7944,6 +7783,10 @@ msgstr ""
msgid "Site Setup and Configuration"
msgstr ""
+#: ../../include/nav.php:247 ../../include/conversation.php:854
+msgid "Loading..."
+msgstr ""
+
#: ../../include/nav.php:252
msgid "@name, #tag, ?doc, content"
msgstr ""
@@ -7952,282 +7795,6 @@ msgstr ""
msgid "Please wait..."
msgstr ""
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr ""
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr ""
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr ""
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr ""
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr ""
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr ""
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr ""
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr ""
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr ""
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr ""
-
-#: ../../include/widgets.php:281 ../../include/features.php:84
-msgid "Saved Searches"
-msgstr ""
-
-#: ../../include/widgets.php:282 ../../include/group.php:316
-msgid "add"
-msgstr ""
-
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr ""
-
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr ""
-
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr ""
-
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr ""
-
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr ""
-
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr ""
-
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr ""
-
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr ""
-
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr ""
-
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr ""
-
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
-msgstr ""
-
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
-msgstr ""
-
-#: ../../include/widgets.php:653
-msgid "Combined View"
-msgstr ""
-
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
-msgstr ""
-
-#: ../../include/widgets.php:689
-msgid "Received Messages"
-msgstr ""
-
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
-msgstr ""
-
-#: ../../include/widgets.php:707
-msgid "No messages."
-msgstr ""
-
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
-msgstr ""
-
-#: ../../include/widgets.php:751
-msgid "Events Menu"
-msgstr ""
-
-#: ../../include/widgets.php:752
-msgid "Day View"
-msgstr ""
-
-#: ../../include/widgets.php:753
-msgid "Week View"
-msgstr ""
-
-#: ../../include/widgets.php:754
-msgid "Month View"
-msgstr ""
-
-#: ../../include/widgets.php:766
-msgid "Events Tools"
-msgstr ""
-
-#: ../../include/widgets.php:767
-msgid "Export Calendar"
-msgstr ""
-
-#: ../../include/widgets.php:768
-msgid "Import Calendar"
-msgstr ""
-
-#: ../../include/widgets.php:844
-msgid "Overview"
-msgstr ""
-
-#: ../../include/widgets.php:851
-msgid "Chat Members"
-msgstr ""
-
-#: ../../include/widgets.php:874
-msgid "Bookmarked Chatrooms"
-msgstr ""
-
-#: ../../include/widgets.php:897
-msgid "Suggested Chatrooms"
-msgstr ""
-
-#: ../../include/widgets.php:1042 ../../include/widgets.php:1154
-msgid "photo/image"
-msgstr ""
-
-#: ../../include/widgets.php:1097
-msgid "Click to show more"
-msgstr ""
-
-#: ../../include/widgets.php:1248
-msgid "Rating Tools"
-msgstr ""
-
-#: ../../include/widgets.php:1252 ../../include/widgets.php:1254
-msgid "Rate Me"
-msgstr ""
-
-#: ../../include/widgets.php:1257
-msgid "View Ratings"
-msgstr ""
-
-#: ../../include/widgets.php:1314
-msgid "Forums"
-msgstr ""
-
-#: ../../include/widgets.php:1343
-msgid "Tasks"
-msgstr ""
-
-#: ../../include/widgets.php:1352
-msgid "Documentation"
-msgstr ""
-
-#: ../../include/widgets.php:1354
-msgid "Project/Site Information"
-msgstr ""
-
-#: ../../include/widgets.php:1355
-msgid "For Members"
-msgstr ""
-
-#: ../../include/widgets.php:1356
-msgid "For Administrators"
-msgstr ""
-
-#: ../../include/widgets.php:1357
-msgid "For Developers"
-msgstr ""
-
-#: ../../include/widgets.php:1381
-msgid "Accounts"
-msgstr ""
-
-#: ../../include/widgets.php:1381 ../../include/widgets.php:1419
-msgid "Member registrations waiting for confirmation"
-msgstr ""
-
-#: ../../include/widgets.php:1387
-msgid "Inspect queue"
-msgstr ""
-
-#: ../../include/widgets.php:1389
-msgid "DB updates"
-msgstr ""
-
-#: ../../include/widgets.php:1415
-msgid "Plugin Features"
-msgstr ""
-
-#: ../../include/acl_selectors.php:232
-#: ../../include/PermissionDescription.php:31
-msgid "Visible to your default audience"
-msgstr ""
-
-#: ../../include/acl_selectors.php:268
-#: ../../include/PermissionDescription.php:115
-msgid "Only me"
-msgstr ""
-
-#: ../../include/acl_selectors.php:271
-msgid "Who can see this?"
-msgstr ""
-
-#: ../../include/acl_selectors.php:272
-msgid "Custom selection"
-msgstr ""
-
-#: ../../include/acl_selectors.php:273
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
-"the scope of \"Show\"."
-msgstr ""
-
-#: ../../include/acl_selectors.php:274
-msgid "Show"
-msgstr ""
-
-#: ../../include/acl_selectors.php:275
-msgid "Don't show"
-msgstr ""
-
-#: ../../include/acl_selectors.php:281
-msgid "Other networks and post services"
-msgstr ""
-
-#: ../../include/acl_selectors.php:311
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These "
-"permissions set who is allowed to view the post."
-msgstr ""
-
#: ../../include/datetime.php:135
msgid "Birthday"
msgstr ""
@@ -8240,7 +7807,7 @@ msgstr ""
msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/datetime.php:272 ../../boot.php:2462
+#: ../../include/datetime.php:272 ../../boot.php:2477
msgid "never"
msgstr ""
@@ -8385,16 +7952,42 @@ msgstr ""
msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/api.php:1336
-msgid "Public Timeline"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:429
+msgid "Categories"
msgstr ""
-#: ../../include/auth.php:105
-msgid "Logged out."
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
msgstr ""
-#: ../../include/auth.php:212
-msgid "Failed authentication"
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr ""
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr ""
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr ""
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr ""
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr ""
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr ""
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
msgstr ""
#: ../../include/follow.php:27
@@ -8425,703 +8018,765 @@ msgstr ""
msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/import.php:29
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883 ../../include/bbcode.php:888
+#: ../../include/bbcode.php:891 ../../include/bbcode.php:896
+#: ../../include/bbcode.php:899 ../../include/bbcode.php:902
+#: ../../include/bbcode.php:905
+msgid "Image/photo"
msgstr ""
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:916
+msgid "Encrypted content"
msgstr ""
-#: ../../include/items.php:892 ../../include/items.php:937
-msgid "(Unknown)"
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
msgstr ""
-#: ../../include/items.php:1136
-msgid "Visible to anybody on the internet."
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
msgstr ""
-#: ../../include/items.php:1138
-msgid "Visible to you only."
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/items.php:1140
-msgid "Visible to anybody in this network."
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
msgstr ""
-#: ../../include/items.php:1142
-msgid "Visible to anybody authenticated."
+#: ../../include/bbcode.php:346
+msgid "spoiler"
msgstr ""
-#: ../../include/items.php:1144
-#, php-format
-msgid "Visible to anybody on %s."
+#: ../../include/bbcode.php:607
+msgid "Different viewers will see this text differently"
msgstr ""
-#: ../../include/items.php:1146
-msgid "Visible to all connections."
+#: ../../include/bbcode.php:854
+msgid "$1 wrote:"
msgstr ""
-#: ../../include/items.php:1148
-msgid "Visible to approved connections."
+#: ../../include/text.php:404
+msgid "prev"
msgstr ""
-#: ../../include/items.php:1150
-msgid "Visible to specific connections."
+#: ../../include/text.php:406
+msgid "first"
msgstr ""
-#: ../../include/items.php:3911
-msgid "Privacy group is empty."
+#: ../../include/text.php:435
+msgid "last"
msgstr ""
-#: ../../include/items.php:3918
-#, php-format
-msgid "Privacy group: %s"
+#: ../../include/text.php:438
+msgid "next"
msgstr ""
-#: ../../include/items.php:3930
-msgid "Connection not found."
+#: ../../include/text.php:448
+msgid "older"
msgstr ""
-#: ../../include/items.php:4279
-msgid "profile photo"
+#: ../../include/text.php:450
+msgid "newer"
msgstr ""
-#: ../../include/features.php:48
-msgid "General Features"
+#: ../../include/text.php:839
+msgid "No connections"
msgstr ""
-#: ../../include/features.php:50
-msgid "Content Expiration"
+#: ../../include/text.php:864
+#, php-format
+msgid "View all %s connections"
msgstr ""
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../include/text.php:1009 ../../include/text.php:1014
+msgid "poke"
msgstr ""
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
+#: ../../include/text.php:1009 ../../include/text.php:1014
+#: ../../include/conversation.php:243
+msgid "poked"
msgstr ""
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
+#: ../../include/text.php:1015
+msgid "ping"
msgstr ""
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
+#: ../../include/text.php:1015
+msgid "pinged"
msgstr ""
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
+#: ../../include/text.php:1016
+msgid "prod"
msgstr ""
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
+#: ../../include/text.php:1016
+msgid "prodded"
msgstr ""
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
+#: ../../include/text.php:1017
+msgid "slap"
msgstr ""
-#: ../../include/features.php:54
-msgid "Web Pages"
+#: ../../include/text.php:1017
+msgid "slapped"
msgstr ""
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
+#: ../../include/text.php:1018
+msgid "finger"
msgstr ""
-#: ../../include/features.php:55
-msgid "Hide Rating"
+#: ../../include/text.php:1018
+msgid "fingered"
msgstr ""
-#: ../../include/features.php:55
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
+#: ../../include/text.php:1019
+msgid "rebuff"
msgstr ""
-#: ../../include/features.php:56
-msgid "Private Notes"
+#: ../../include/text.php:1019
+msgid "rebuffed"
msgstr ""
-#: ../../include/features.php:56
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+#: ../../include/text.php:1031
+msgid "happy"
msgstr ""
-#: ../../include/features.php:57
-msgid "Navigation Channel Select"
+#: ../../include/text.php:1032
+msgid "sad"
msgstr ""
-#: ../../include/features.php:57
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/text.php:1033
+msgid "mellow"
msgstr ""
-#: ../../include/features.php:58
-msgid "Photo Location"
+#: ../../include/text.php:1034
+msgid "tired"
msgstr ""
-#: ../../include/features.php:58
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../include/text.php:1035
+msgid "perky"
msgstr ""
-#: ../../include/features.php:59
-msgid "Access Controlled Chatrooms"
+#: ../../include/text.php:1036
+msgid "angry"
msgstr ""
-#: ../../include/features.php:59
-msgid "Provide chatrooms and chat services with access control."
+#: ../../include/text.php:1037
+msgid "stupefied"
msgstr ""
-#: ../../include/features.php:60
-msgid "Smart Birthdays"
+#: ../../include/text.php:1038
+msgid "puzzled"
msgstr ""
-#: ../../include/features.php:60
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
+#: ../../include/text.php:1039
+msgid "interested"
msgstr ""
-#: ../../include/features.php:61
-msgid "Expert Mode"
+#: ../../include/text.php:1040
+msgid "bitter"
msgstr ""
-#: ../../include/features.php:61
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/text.php:1041
+msgid "cheerful"
msgstr ""
-#: ../../include/features.php:62
-msgid "Premium Channel"
+#: ../../include/text.php:1042
+msgid "alive"
msgstr ""
-#: ../../include/features.php:62
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/text.php:1043
+msgid "annoyed"
msgstr ""
-#: ../../include/features.php:67
-msgid "Post Composition Features"
+#: ../../include/text.php:1044
+msgid "anxious"
msgstr ""
-#: ../../include/features.php:70
-msgid "Large Photos"
+#: ../../include/text.php:1045
+msgid "cranky"
msgstr ""
-#: ../../include/features.php:70
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
+#: ../../include/text.php:1046
+msgid "disturbed"
msgstr ""
-#: ../../include/features.php:71
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/text.php:1047
+msgid "frustrated"
msgstr ""
-#: ../../include/features.php:72
-msgid "Even More Encryption"
+#: ../../include/text.php:1048
+msgid "depressed"
msgstr ""
-#: ../../include/features.php:72
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
+#: ../../include/text.php:1049
+msgid "motivated"
msgstr ""
-#: ../../include/features.php:73
-msgid "Enable Voting Tools"
+#: ../../include/text.php:1050
+msgid "relaxed"
msgstr ""
-#: ../../include/features.php:73
-msgid "Provide a class of post which others can vote on"
+#: ../../include/text.php:1051
+msgid "surprised"
msgstr ""
-#: ../../include/features.php:74
-msgid "Delayed Posting"
+#: ../../include/text.php:1233 ../../include/js_strings.php:70
+msgid "Monday"
msgstr ""
-#: ../../include/features.php:74
-msgid "Allow posts to be published at a later date"
+#: ../../include/text.php:1233 ../../include/js_strings.php:71
+msgid "Tuesday"
msgstr ""
-#: ../../include/features.php:75
-msgid "Suppress Duplicate Posts/Comments"
+#: ../../include/text.php:1233 ../../include/js_strings.php:72
+msgid "Wednesday"
msgstr ""
-#: ../../include/features.php:75
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
+#: ../../include/text.php:1233 ../../include/js_strings.php:73
+msgid "Thursday"
msgstr ""
-#: ../../include/features.php:81
-msgid "Network and Stream Filtering"
+#: ../../include/text.php:1233 ../../include/js_strings.php:74
+msgid "Friday"
msgstr ""
-#: ../../include/features.php:82
-msgid "Search by Date"
+#: ../../include/text.php:1233 ../../include/js_strings.php:75
+msgid "Saturday"
msgstr ""
-#: ../../include/features.php:82
-msgid "Ability to select posts by date ranges"
+#: ../../include/text.php:1233 ../../include/js_strings.php:69
+msgid "Sunday"
msgstr ""
-#: ../../include/features.php:83 ../../include/group.php:311
-msgid "Privacy Groups"
+#: ../../include/text.php:1237 ../../include/js_strings.php:45
+msgid "January"
msgstr ""
-#: ../../include/features.php:83
-msgid "Enable management and selection of privacy groups"
+#: ../../include/text.php:1237 ../../include/js_strings.php:46
+msgid "February"
msgstr ""
-#: ../../include/features.php:84
-msgid "Save search terms for re-use"
+#: ../../include/text.php:1237 ../../include/js_strings.php:47
+msgid "March"
msgstr ""
-#: ../../include/features.php:85
-msgid "Network Personal Tab"
+#: ../../include/text.php:1237 ../../include/js_strings.php:48
+msgid "April"
msgstr ""
-#: ../../include/features.php:85
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/text.php:1237
+msgid "May"
msgstr ""
-#: ../../include/features.php:86
-msgid "Network New Tab"
+#: ../../include/text.php:1237 ../../include/js_strings.php:50
+msgid "June"
msgstr ""
-#: ../../include/features.php:86
-msgid "Enable tab to display all new Network activity"
+#: ../../include/text.php:1237 ../../include/js_strings.php:51
+msgid "July"
msgstr ""
-#: ../../include/features.php:87
-msgid "Affinity Tool"
+#: ../../include/text.php:1237 ../../include/js_strings.php:52
+msgid "August"
msgstr ""
-#: ../../include/features.php:87
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/text.php:1237 ../../include/js_strings.php:53
+msgid "September"
msgstr ""
-#: ../../include/features.php:88
-msgid "Connection Filtering"
+#: ../../include/text.php:1237 ../../include/js_strings.php:54
+msgid "October"
msgstr ""
-#: ../../include/features.php:88
-msgid "Filter incoming posts from connections based on keywords/content"
+#: ../../include/text.php:1237 ../../include/js_strings.php:55
+msgid "November"
msgstr ""
-#: ../../include/features.php:89
-msgid "Show channel suggestions"
+#: ../../include/text.php:1237 ../../include/js_strings.php:56
+msgid "December"
msgstr ""
-#: ../../include/features.php:94
-msgid "Post/Comment Tools"
+#: ../../include/text.php:1314 ../../include/text.php:1318
+msgid "Unknown Attachment"
msgstr ""
-#: ../../include/features.php:95
-msgid "Community Tagging"
+#: ../../include/text.php:1320
+msgid "unknown"
msgstr ""
-#: ../../include/features.php:95
-msgid "Ability to tag existing posts"
+#: ../../include/text.php:1356
+msgid "remove category"
msgstr ""
-#: ../../include/features.php:96
-msgid "Post Categories"
+#: ../../include/text.php:1433
+msgid "remove from file"
msgstr ""
-#: ../../include/features.php:96
-msgid "Add categories to your posts"
+#: ../../include/text.php:1730 ../../include/text.php:1801
+msgid "default"
msgstr ""
-#: ../../include/features.php:97
-msgid "Ability to file posts under folders"
+#: ../../include/text.php:1738
+msgid "Page layout"
msgstr ""
-#: ../../include/features.php:98
-msgid "Dislike Posts"
+#: ../../include/text.php:1738
+msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/features.php:98
-msgid "Ability to dislike posts/comments"
+#: ../../include/text.php:1780
+msgid "Page content type"
msgstr ""
-#: ../../include/features.php:99
-msgid "Star Posts"
+#: ../../include/text.php:1813
+msgid "Select an alternate language"
msgstr ""
-#: ../../include/features.php:99
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/text.php:1930
+msgid "activity"
msgstr ""
-#: ../../include/features.php:100
-msgid "Tag Cloud"
+#: ../../include/text.php:2239
+msgid "Design Tools"
msgstr ""
-#: ../../include/features.php:100
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/text.php:2245
+msgid "Pages"
msgstr ""
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
+#: ../../include/activities.php:41
+msgid " and "
msgstr ""
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
+#: ../../include/activities.php:49
+msgid "public profile"
msgstr ""
-#: ../../include/group.php:289
-msgid "edit"
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../include/group.php:312
-msgid "Edit group"
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
msgstr ""
-#: ../../include/group.php:313
-msgid "Add privacy group"
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
+#: ../../include/connections.php:95
+msgid "New window"
msgstr ""
-#: ../../include/text.php:428
-msgid "prev"
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/text.php:430
-msgid "first"
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
msgstr ""
-#: ../../include/text.php:459
-msgid "last"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../include/text.php:462
-msgid "next"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/text.php:472
-msgid "older"
+#: ../../include/conversation.php:694
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/text.php:474
-msgid "newer"
+#: ../../include/conversation.php:713
+msgid "Categories:"
msgstr ""
-#: ../../include/text.php:863
-msgid "No connections"
+#: ../../include/conversation.php:714
+msgid "Filed under:"
msgstr ""
-#: ../../include/text.php:888
-#, php-format
-msgid "View all %s connections"
+#: ../../include/conversation.php:741
+msgid "View in context"
msgstr ""
-#: ../../include/text.php:1033 ../../include/text.php:1038
-msgid "poke"
+#: ../../include/conversation.php:850
+msgid "remove"
msgstr ""
-#: ../../include/text.php:1039
-msgid "ping"
+#: ../../include/conversation.php:855
+msgid "Delete Selected Items"
msgstr ""
-#: ../../include/text.php:1039
-msgid "pinged"
+#: ../../include/conversation.php:951
+msgid "View Source"
msgstr ""
-#: ../../include/text.php:1040
-msgid "prod"
+#: ../../include/conversation.php:952
+msgid "Follow Thread"
msgstr ""
-#: ../../include/text.php:1040
-msgid "prodded"
+#: ../../include/conversation.php:953
+msgid "Unfollow Thread"
msgstr ""
-#: ../../include/text.php:1041
-msgid "slap"
+#: ../../include/conversation.php:958
+msgid "Activity/Posts"
msgstr ""
-#: ../../include/text.php:1041
-msgid "slapped"
+#: ../../include/conversation.php:960
+msgid "Edit Connection"
msgstr ""
-#: ../../include/text.php:1042
-msgid "finger"
+#: ../../include/conversation.php:961
+msgid "Message"
msgstr ""
-#: ../../include/text.php:1042
-msgid "fingered"
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../include/text.php:1043
-msgid "rebuff"
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../include/text.php:1043
-msgid "rebuffed"
-msgstr ""
+#: ../../include/conversation.php:1082
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1055
-msgid "happy"
-msgstr ""
+#: ../../include/conversation.php:1084
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1056
-msgid "sad"
+#: ../../include/conversation.php:1090
+msgid "and"
msgstr ""
-#: ../../include/text.php:1057
-msgid "mellow"
-msgstr ""
+#: ../../include/conversation.php:1093
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1058
-msgid "tired"
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../include/text.php:1059
-msgid "perky"
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s don't like this."
msgstr ""
-#: ../../include/text.php:1060
-msgid "angry"
+#: ../../include/conversation.php:1133
+msgid "Set your location"
msgstr ""
-#: ../../include/text.php:1061
-msgid "stupefied"
+#: ../../include/conversation.php:1134
+msgid "Clear browser location"
msgstr ""
-#: ../../include/text.php:1062
-msgid "puzzled"
+#: ../../include/conversation.php:1150
+msgid "Embed image from photo albums"
msgstr ""
-#: ../../include/text.php:1063
-msgid "interested"
+#: ../../include/conversation.php:1182
+msgid "Tag term:"
msgstr ""
-#: ../../include/text.php:1064
-msgid "bitter"
+#: ../../include/conversation.php:1183
+msgid "Where are you right now?"
msgstr ""
-#: ../../include/text.php:1065
-msgid "cheerful"
+#: ../../include/conversation.php:1186
+msgid "Choose images to embed"
msgstr ""
-#: ../../include/text.php:1066
-msgid "alive"
+#: ../../include/conversation.php:1187
+msgid "Choose an album"
msgstr ""
-#: ../../include/text.php:1067
-msgid "annoyed"
+#: ../../include/conversation.php:1188
+msgid "Choose a different album..."
msgstr ""
-#: ../../include/text.php:1068
-msgid "anxious"
+#: ../../include/conversation.php:1189
+msgid "Error getting album list"
msgstr ""
-#: ../../include/text.php:1069
-msgid "cranky"
+#: ../../include/conversation.php:1190
+msgid "Error getting photo link"
msgstr ""
-#: ../../include/text.php:1070
-msgid "disturbed"
+#: ../../include/conversation.php:1191
+msgid "Error getting album"
msgstr ""
-#: ../../include/text.php:1071
-msgid "frustrated"
+#: ../../include/conversation.php:1221
+msgid "Page link name"
msgstr ""
-#: ../../include/text.php:1072
-msgid "depressed"
+#: ../../include/conversation.php:1224
+msgid "Post as"
msgstr ""
-#: ../../include/text.php:1073
-msgid "motivated"
+#: ../../include/conversation.php:1234
+msgid "Embed an image from your albums"
msgstr ""
-#: ../../include/text.php:1074
-msgid "relaxed"
+#: ../../include/conversation.php:1236 ../../include/conversation.php:1273
+msgid "OK"
msgstr ""
-#: ../../include/text.php:1075
-msgid "surprised"
+#: ../../include/conversation.php:1238
+msgid "Toggle voting"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:70
-msgid "Monday"
+#: ../../include/conversation.php:1246
+msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:71
-msgid "Tuesday"
+#: ../../include/conversation.php:1269
+msgid "Set publish date"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:72
-msgid "Wednesday"
+#: ../../include/conversation.php:1518
+msgid "Discover"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:73
-msgid "Thursday"
+#: ../../include/conversation.php:1521
+msgid "Imported public streams"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:74
-msgid "Friday"
+#: ../../include/conversation.php:1526
+msgid "Commented Order"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:75
-msgid "Saturday"
+#: ../../include/conversation.php:1529
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/text.php:1242 ../../include/js_strings.php:69
-msgid "Sunday"
+#: ../../include/conversation.php:1533
+msgid "Posted Order"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:45
-msgid "January"
+#: ../../include/conversation.php:1536
+msgid "Sort by Post Date"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:46
-msgid "February"
+#: ../../include/conversation.php:1544
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:47
-msgid "March"
+#: ../../include/conversation.php:1553
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:48
-msgid "April"
+#: ../../include/conversation.php:1559
+msgid "Starred"
msgstr ""
-#: ../../include/text.php:1246
-msgid "May"
+#: ../../include/conversation.php:1562
+msgid "Favourite Posts"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:50
-msgid "June"
+#: ../../include/conversation.php:1569
+msgid "Spam"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:51
-msgid "July"
+#: ../../include/conversation.php:1572
+msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:52
-msgid "August"
+#: ../../include/conversation.php:1629
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:53
-msgid "September"
+#: ../../include/conversation.php:1638
+msgid "About"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:54
-msgid "October"
+#: ../../include/conversation.php:1641
+msgid "Profile Details"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:55
-msgid "November"
+#: ../../include/conversation.php:1650 ../../include/photos.php:506
+msgid "Photo Albums"
msgstr ""
-#: ../../include/text.php:1246 ../../include/js_strings.php:56
-msgid "December"
+#: ../../include/conversation.php:1657
+msgid "Files and Storage"
msgstr ""
-#: ../../include/text.php:1323 ../../include/text.php:1327
-msgid "Unknown Attachment"
+#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
+#: ../../include/widgets.php:842
+msgid "Chatrooms"
msgstr ""
-#: ../../include/text.php:1329
-msgid "unknown"
+#: ../../include/conversation.php:1693
+msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/text.php:1365
-msgid "remove category"
+#: ../../include/conversation.php:1703
+msgid "Manage Webpages"
msgstr ""
-#: ../../include/text.php:1442
-msgid "remove from file"
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1765
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1768
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1771
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1774
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1777
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
msgstr ""
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
+#: ../../include/attach.php:499
+msgid "No source file."
msgstr ""
-#: ../../include/text.php:1746
-msgid "Page layout"
+#: ../../include/attach.php:521
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/text.php:1746
-msgid "You can create your own with the layouts tool"
+#: ../../include/attach.php:539
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/text.php:1788
-msgid "Page content type"
+#: ../../include/attach.php:674
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
+#: ../../include/attach.php:688
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/text.php:1938
-msgid "activity"
+#: ../../include/attach.php:846
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/text.php:2247
-msgid "Design Tools"
+#: ../../include/attach.php:859
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/text.php:2253
-msgid "Pages"
+#: ../../include/attach.php:915 ../../include/attach.php:931
+msgid "Path not available."
msgstr ""
-#: ../../include/zot.php:699
-msgid "Invalid data packet"
+#: ../../include/attach.php:977 ../../include/attach.php:1129
+msgid "Empty pathname"
msgstr ""
-#: ../../include/zot.php:715
-msgid "Unable to verify channel signature"
+#: ../../include/attach.php:1003
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/zot.php:2363
-#, php-format
-msgid "Unable to verify site signature for %s"
+#: ../../include/attach.php:1025
+msgid "Path not found."
msgstr ""
-#: ../../include/zot.php:3712
-msgid "invalid target signature"
+#: ../../include/attach.php:1083
+msgid "mkdir failed."
msgstr ""
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
+#: ../../include/attach.php:1087
+msgid "database storage failed."
msgstr ""
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
+#: ../../include/attach.php:1135
+msgid "Empty path"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "have"
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "has"
+#: ../../include/photos.php:121
+msgid "Image file is empty."
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "want"
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "wants"
+#: ../../include/photos.php:299
+msgid "a new photo"
msgstr ""
-#: ../../include/taxonomy.php:316
-msgid "likes"
+#: ../../include/photos.php:303
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
+#: ../../include/photos.php:510
+msgid "Upload New Photos"
msgstr ""
#: ../../include/js_strings.php:5
@@ -9421,27 +9076,55 @@ msgstr ""
msgid "This is your default setting for the audience of your webpages"
msgstr ""
-#: ../../include/activities.php:41
-msgid " and "
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
msgstr ""
-#: ../../include/activities.php:49
-msgid "public profile"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/activities.php:62
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr ""
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr ""
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr ""
+
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+msgid "Everything"
+msgstr ""
+
+#: ../../include/contact_widgets.php:122
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
msgstr ""
#: ../../include/dir_fns.php:141
@@ -9460,12 +9143,403 @@ msgstr ""
msgid "This Website Only"
msgstr ""
-#: ../../include/page_widgets.php:6
-msgid "New Page"
+#: ../../include/message.php:20
+msgid "No recipient provided."
msgstr ""
-#: ../../include/page_widgets.php:43
-msgid "Title"
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr ""
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr ""
+
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr ""
+
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr ""
+
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr ""
+
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr ""
+
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr ""
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr ""
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr ""
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr ""
+
+#: ../../include/channel.php:778
+msgid "Requested channel is not available."
+msgstr ""
+
+#: ../../include/channel.php:925
+msgid "Create New Profile"
+msgstr ""
+
+#: ../../include/channel.php:945
+msgid "Visible to everybody"
+msgstr ""
+
+#: ../../include/channel.php:1018 ../../include/channel.php:1130
+msgid "Gender:"
+msgstr ""
+
+#: ../../include/channel.php:1019 ../../include/channel.php:1174
+msgid "Status:"
+msgstr ""
+
+#: ../../include/channel.php:1020 ../../include/channel.php:1185
+msgid "Homepage:"
+msgstr ""
+
+#: ../../include/channel.php:1021
+msgid "Online Now"
+msgstr ""
+
+#: ../../include/channel.php:1135
+msgid "Like this channel"
+msgstr ""
+
+#: ../../include/channel.php:1159
+msgid "j F, Y"
+msgstr ""
+
+#: ../../include/channel.php:1160
+msgid "j F"
+msgstr ""
+
+#: ../../include/channel.php:1167
+msgid "Birthday:"
+msgstr ""
+
+#: ../../include/channel.php:1180
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/channel.php:1183
+msgid "Sexual Preference:"
+msgstr ""
+
+#: ../../include/channel.php:1189
+msgid "Tags:"
+msgstr ""
+
+#: ../../include/channel.php:1191
+msgid "Political Views:"
+msgstr ""
+
+#: ../../include/channel.php:1193
+msgid "Religion:"
+msgstr ""
+
+#: ../../include/channel.php:1197
+msgid "Hobbies/Interests:"
+msgstr ""
+
+#: ../../include/channel.php:1199
+msgid "Likes:"
+msgstr ""
+
+#: ../../include/channel.php:1201
+msgid "Dislikes:"
+msgstr ""
+
+#: ../../include/channel.php:1203
+msgid "Contact information and Social Networks:"
+msgstr ""
+
+#: ../../include/channel.php:1205
+msgid "My other channels:"
+msgstr ""
+
+#: ../../include/channel.php:1207
+msgid "Musical interests:"
+msgstr ""
+
+#: ../../include/channel.php:1209
+msgid "Books, literature:"
+msgstr ""
+
+#: ../../include/channel.php:1211
+msgid "Television:"
+msgstr ""
+
+#: ../../include/channel.php:1213
+msgid "Film/dance/culture/entertainment:"
+msgstr ""
+
+#: ../../include/channel.php:1215
+msgid "Love/Romance:"
+msgstr ""
+
+#: ../../include/channel.php:1217
+msgid "Work/employment:"
+msgstr ""
+
+#: ../../include/channel.php:1219
+msgid "School/education:"
+msgstr ""
+
+#: ../../include/channel.php:1240
+msgid "Like this thing"
+msgstr ""
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr ""
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr ""
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr ""
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr ""
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr ""
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr ""
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr ""
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr ""
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr ""
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr ""
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr ""
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr ""
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr ""
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr ""
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr ""
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr ""
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr ""
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr ""
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr ""
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr ""
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr ""
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr ""
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr ""
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr ""
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr ""
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr ""
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr ""
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr ""
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr ""
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr ""
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr ""
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr ""
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr ""
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr ""
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr ""
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr ""
+
+#: ../../include/widgets.php:875
+msgid "Wiki List"
+msgstr ""
+
+#: ../../include/widgets.php:913
+msgid "Wiki Pages"
+msgstr ""
+
+#: ../../include/widgets.php:948
+msgid "Bookmarked Chatrooms"
+msgstr ""
+
+#: ../../include/widgets.php:971
+msgid "Suggested Chatrooms"
+msgstr ""
+
+#: ../../include/widgets.php:1117 ../../include/widgets.php:1229
+msgid "photo/image"
+msgstr ""
+
+#: ../../include/widgets.php:1172
+msgid "Click to show more"
+msgstr ""
+
+#: ../../include/widgets.php:1323
+msgid "Rating Tools"
+msgstr ""
+
+#: ../../include/widgets.php:1327 ../../include/widgets.php:1329
+msgid "Rate Me"
+msgstr ""
+
+#: ../../include/widgets.php:1332
+msgid "View Ratings"
+msgstr ""
+
+#: ../../include/widgets.php:1389
+msgid "Forums"
+msgstr ""
+
+#: ../../include/widgets.php:1418
+msgid "Tasks"
+msgstr ""
+
+#: ../../include/widgets.php:1427
+msgid "Documentation"
+msgstr ""
+
+#: ../../include/widgets.php:1429
+msgid "Project/Site Information"
+msgstr ""
+
+#: ../../include/widgets.php:1430
+msgid "For Members"
+msgstr ""
+
+#: ../../include/widgets.php:1431
+msgid "For Administrators"
+msgstr ""
+
+#: ../../include/widgets.php:1432
+msgid "For Developers"
+msgstr ""
+
+#: ../../include/widgets.php:1456 ../../include/widgets.php:1494
+msgid "Member registrations waiting for confirmation"
+msgstr ""
+
+#: ../../include/widgets.php:1462
+msgid "Inspect queue"
+msgstr ""
+
+#: ../../include/widgets.php:1464
+msgid "DB updates"
+msgstr ""
+
+#: ../../include/widgets.php:1490
+msgid "Plugin Features"
msgstr ""
#: ../../include/permissions.php:26
@@ -9608,12 +9682,12 @@ msgstr ""
msgid "Custom/Expert Mode"
msgstr ""
-#: ../../include/bb2diaspora.php:398
-msgid "Attachments:"
+#: ../../include/auth.php:105
+msgid "Logged out."
msgstr ""
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
+#: ../../include/auth.php:212
+msgid "Failed authentication"
msgstr ""
#: ../../view/theme/redbasic/php/config.php:82
@@ -9752,62 +9826,62 @@ msgstr ""
msgid "Set size of followup author photos"
msgstr ""
-#: ../../boot.php:1161
+#: ../../boot.php:1163
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr ""
-#: ../../boot.php:1161
+#: ../../boot.php:1163
msgctxt "opensearch"
msgid "$Projectname"
msgstr ""
-#: ../../boot.php:1473
+#: ../../boot.php:1481
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1476
+#: ../../boot.php:1484
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1676
+#: ../../boot.php:1685
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr ""
-#: ../../boot.php:1698
+#: ../../boot.php:1707
msgid "Password"
msgstr ""
-#: ../../boot.php:1699
+#: ../../boot.php:1708
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1702
+#: ../../boot.php:1711
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2268
+#: ../../boot.php:2277
msgid "toggle mobile"
msgstr ""
-#: ../../boot.php:2417
+#: ../../boot.php:2432
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2420
+#: ../../boot.php:2435
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2461
+#: ../../boot.php:2476
msgid "Cron/Scheduled tasks not running."
msgstr ""
-#: ../../boot.php:2465
+#: ../../boot.php:2480
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr ""
diff --git a/util/po2php.php b/util/po2php.php
index ab8c495f9..a72a65ba1 100644
--- a/util/po2php.php
+++ b/util/po2php.php
@@ -3,14 +3,21 @@
function po2php_run($argc,$argv) {
- if ($argc!=2) {
+ if ($argc < 2) {
print "Usage: ".$argv[0]." <file.po>\n\n";
return;
}
-
+
+ $rtl = false;
+
$pofile = $argv[1];
$outfile = dirname($pofile)."/hstrings.php";
+ if($argc > 2) {
+ if($argv[2] === 'rtl')
+ $rtl = true;
+ }
+
if(strstr($outfile,'util'))
$lang = 'en';
else
@@ -53,6 +60,7 @@ function po2php_run($argc,$argv) {
$out .= ' return '.$cond.';'."\n";
$out .= '}}'."\n";
}
+ $out .= 'App::$rtl = ' . intval($rtl) . ';';
if ($k!="" && substr($l,0,7)=="msgstr "){
if ($ink) { $ink = False; $out .= 'App::$strings["'.$k.'"] = '; }
diff --git a/view/ca/hmessages.po b/view/ca/hmessages.po
index 7684159cf..ecb96b8f8 100644
--- a/view/ca/hmessages.po
+++ b/view/ca/hmessages.po
@@ -1,19 +1,19 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
# Espart <ranker72@gmail.com>, 2015
-# Rafael, 2013-2015
-# Rafael, 2015
# Rafael, 2015
+# Rafael Garau, 2016
+# Rafael Garau, 2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-08-07 00:03-0700\n"
-"PO-Revision-Date: 2015-08-11 22:02+0000\n"
-"Last-Translator: Rafael\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 09:14+0000\n"
+"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: Catalan (Spain) (http://www.transifex.com/Friendica/red-matrix/language/ca_ES/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,9054 +21,9810 @@ msgstr ""
"Language: ca_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
-
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
-#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
-msgid "Profile Photos"
-msgstr "Fotos del Perfil"
-
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Edita"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Freqüentment"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Horariament"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Dos vegades al dia"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Diariament"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Setmanalment"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Mensualment"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
-msgstr "Correu electrónic"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Creada una nova entrada"
-
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "comentat a l'entrada de %s"
-
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "No s'ha trobat nom d'usuari a l'arxiu d'importació."
-
-#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear."
-
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:504
-msgid "Import completed."
-msgstr "S'ha completat la importació."
-
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
-
-#: ../../include/group.php:235
-msgid "Default privacy group for new contacts"
-msgstr "Privacitat de grup predeterminada per a contactes nous"
-
-#: ../../include/group.php:254 ../../mod/admin.php:831
-msgid "All Channels"
-msgstr "Tots els Canals"
-
-#: ../../include/group.php:276
-msgid "edit"
-msgstr "edita"
-
-#: ../../include/group.php:298
-msgid "Collections"
-msgstr "Col·leccions"
-
-#: ../../include/group.php:299
-msgid "Edit collection"
-msgstr "Edita col·leccions"
-
-#: ../../include/group.php:300
-msgid "Add new collection"
-msgstr "Afegeix una nova col·lecció"
-
-#: ../../include/group.php:301
-msgid "Channels not in any collection"
-msgstr "Canals a cap col·lecció"
-
-#: ../../include/group.php:303 ../../include/widgets.php:275
-msgid "add"
-msgstr "afegeix"
-
-#: ../../include/account.php:27
-msgid "Not a valid email address"
-msgstr "Adreça de correu electrònic no vàlida"
-
-#: ../../include/account.php:29
-msgid "Your email domain is not among those allowed on this site"
-msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
-
-#: ../../include/account.php:35
-msgid "Your email address is already registered at this site."
-msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
-
-#: ../../include/account.php:67
-msgid "An invitation is required."
-msgstr "Es requereix Invitació"
-
-#: ../../include/account.php:71
-msgid "Invitation could not be verified."
-msgstr "L'invitació no ha pogut ser verificada"
-
-#: ../../include/account.php:121
-msgid "Please enter the required information."
-msgstr "Entra la informació sol·licitada"
-
-#: ../../include/account.php:188
-msgid "Failed to store account information."
-msgstr "Ha fallat guardar la informació del compte"
-
-#: ../../include/account.php:246
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registre confirmat per %s"
-
-#: ../../include/account.php:312
-#, php-format
-msgid "Registration request at %s"
-msgstr "Sol·licitud de registre a %s"
-
-#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
-msgid "Administrator"
-msgstr "Administrador"
-
-#: ../../include/account.php:336
-msgid "your registration password"
-msgstr "la teva contrasenya registrada"
-
-#: ../../include/account.php:339 ../../include/account.php:399
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detalls del registre per %s"
-
-#: ../../include/account.php:408
-msgid "Account approved."
-msgstr "Compte aprovat."
-
-#: ../../include/account.php:447
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registre revocat per %s"
-
-#: ../../include/account.php:492
-msgid "Account verified. Please login."
-msgstr "Compte verificat. Si us plau, inicia sessió."
-
-#: ../../include/account.php:705 ../../include/account.php:707
-msgid "Click here to upgrade."
-msgstr "Feu clic aquí per actualitzar."
-
-#: ../../include/account.php:713
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Aquesta acció és superior als límits establerts pel seu pla de subscripció."
-
-#: ../../include/account.php:718
-msgid "This action is not available under your subscription plan."
-msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
-
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Miscelania"
-
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "YYYY-MM-DD o MM-DD"
-
-#: ../../include/datetime.php:235 ../../mod/events.php:649
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
-msgstr "Requerit"
-
-#: ../../include/datetime.php:262 ../../boot.php:2354
-msgid "never"
-msgstr "mai"
-
-#: ../../include/datetime.php:268
-msgid "less than a second ago"
-msgstr "fa menys d'un segon"
-
-#: ../../include/datetime.php:271
-msgid "year"
-msgstr "any"
-
-#: ../../include/datetime.php:271
-msgid "years"
-msgstr "anys"
-
-#: ../../include/datetime.php:272
-msgid "month"
-msgstr "mes"
-
-#: ../../include/datetime.php:272
-msgid "months"
-msgstr "mesos"
-
-#: ../../include/datetime.php:273
-msgid "week"
-msgstr "setmana"
-
-#: ../../include/datetime.php:273
-msgid "weeks"
-msgstr "setmanes"
-
-#: ../../include/datetime.php:274
-msgid "day"
-msgstr "dia"
-
-#: ../../include/datetime.php:274
-msgid "days"
-msgstr "dies"
-
-#: ../../include/datetime.php:275
-msgid "hour"
-msgstr "hora"
-
-#: ../../include/datetime.php:275
-msgid "hours"
-msgstr "hores"
-
-#: ../../include/datetime.php:276
-msgid "minute"
-msgstr "minut"
-
-#: ../../include/datetime.php:276
-msgid "minutes"
-msgstr "minuts"
-
-#: ../../include/datetime.php:277
-msgid "second"
-msgstr "segon"
-
-#: ../../include/datetime.php:277
-msgid "seconds"
-msgstr "segons"
-
-#: ../../include/datetime.php:285
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "Fa %1$d i %2$s"
-
-#: ../../include/datetime.php:519
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Aniversari de %1$s"
-
-#: ../../include/datetime.php:520
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Feliç Aniversari %1$s"
-
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opcions de Directori"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Mode Segur"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:635 ../../mod/connedit.php:663
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr "No"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr "Sí"
-
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Només Fòrums Públics"
-
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Només Aquest Lloc Web"
-
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Pàgina Nova"
-
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
-msgid "View"
-msgstr "Mostra"
-
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:667 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
-msgid "Preview"
-msgstr "Avanç"
-
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
-msgid "Actions"
-msgstr "Accions"
-
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
-msgid "Page Link"
-msgstr "Enllaç a Pàgina"
-
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Títol"
-
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
-msgid "Created"
-msgstr "Creat"
-
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
-msgid "Edited"
-msgstr "Editat"
-
-#: ../../include/api.php:1193
-msgid "Public Timeline"
-msgstr "Línia de Temps Pública"
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Predeterminat"
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Esborrar aquest item?"
-
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
-msgid "Comment"
-msgstr "Comentari"
-
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
-msgid "[+] show all"
-msgstr "[+] mostra tot"
-
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] mostra menys"
-
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] expandeix"
-
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] colapsa"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Contrasenya massa curta"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Les paraules de pas no coincideixen"
-
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
-msgid "everybody"
-msgstr "tothom"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Contrasenya Secreta"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Pista per la Contrasenya"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Avis: Els permisos han canviat però encara no han estat enviats."
-
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "tanca tot"
-
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Res de nou per aquí"
-
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Valora Aquest Canal (això es farà públic)"
-
-#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:671
-msgid "Rating"
-msgstr "Valora"
-
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Descriu (opcional)"
-
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:494 ../../mod/events.php:670
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:534 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:232 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:692 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Presenta"
-
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Si us plau, entra l'enllaç URL"
-
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
-
-#: ../../include/js_strings.php:26
-msgid "timeago.prefixAgo"
-msgstr "horapasada.prefixFa"
-
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
-
-#: ../../include/js_strings.php:28
-msgid "ago"
-msgstr "fa"
-
-#: ../../include/js_strings.php:29
-msgid "from now"
-msgstr "des d'ara"
-
-#: ../../include/js_strings.php:30
-msgid "less than a minute"
-msgstr "menys d'un minut"
-
-#: ../../include/js_strings.php:31
-msgid "about a minute"
-msgstr "prop d'un minut"
-
-#: ../../include/js_strings.php:32
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuts"
-
-#: ../../include/js_strings.php:33
-msgid "about an hour"
-msgstr "prop d'una hora"
-
-#: ../../include/js_strings.php:34
-#, php-format
-msgid "about %d hours"
-msgstr "al voltant de %d hores"
-
-#: ../../include/js_strings.php:35
-msgid "a day"
-msgstr "un dia"
-
-#: ../../include/js_strings.php:36
-#, php-format
-msgid "%d days"
-msgstr "%d dies"
-
-#: ../../include/js_strings.php:37
-msgid "about a month"
-msgstr "prop d'un mes"
-
-#: ../../include/js_strings.php:38
-#, php-format
-msgid "%d months"
-msgstr "%d mesos"
-
-#: ../../include/js_strings.php:39
-msgid "about a year"
-msgstr "prop d'un any"
-
-#: ../../include/js_strings.php:40
-#, php-format
-msgid "%d years"
-msgstr "%d anys"
-
-#: ../../include/js_strings.php:41
-msgid " "
-msgstr " "
-
-#: ../../include/js_strings.php:42
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/text.php:395
-msgid "prev"
-msgstr "prev"
-
-#: ../../include/text.php:397
-msgid "first"
-msgstr "primer"
-
-#: ../../include/text.php:426
-msgid "last"
-msgstr "últim"
-
-#: ../../include/text.php:429
-msgid "next"
-msgstr "pròxim"
-
-#: ../../include/text.php:439
-msgid "older"
-msgstr "el més antic"
-
-#: ../../include/text.php:441
-msgid "newer"
-msgstr "El més nou"
-
-#: ../../include/text.php:834
-msgid "No connections"
-msgstr "Sense Connexions"
-
-#: ../../include/text.php:848
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d Connexió"
-msgstr[1] "%d Connexions"
-
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr "Veure Connexions"
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Cerca"
-
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr "Guardar"
-
-#: ../../include/text.php:994
-msgid "poke"
-msgstr "emprenya"
-
-#: ../../include/text.php:994 ../../include/conversation.php:243
-msgid "poked"
-msgstr "emprenyat"
-
-#: ../../include/text.php:995
-msgid "ping"
-msgstr "coloca"
-
-#: ../../include/text.php:995
-msgid "pinged"
-msgstr "colocat"
-
-#: ../../include/text.php:996
-msgid "prod"
-msgstr "picar"
-
-#: ../../include/text.php:996
-msgid "prodded"
-msgstr "picat"
-
-#: ../../include/text.php:997
-msgid "slap"
-msgstr "bufetada"
-
-#: ../../include/text.php:997
-msgid "slapped"
-msgstr "bufetejat"
-
-#: ../../include/text.php:998
-msgid "finger"
-msgstr "senyal"
-
-#: ../../include/text.php:998
-msgid "fingered"
-msgstr "senyalat"
-
-#: ../../include/text.php:999
-msgid "rebuff"
-msgstr "menyspreu"
-
-#: ../../include/text.php:999
-msgid "rebuffed"
-msgstr "menyspreuat"
-
-#: ../../include/text.php:1009
-msgid "happy"
-msgstr "feliç"
-
-#: ../../include/text.php:1010
-msgid "sad"
-msgstr "trist"
-
-#: ../../include/text.php:1011
-msgid "mellow"
-msgstr "melós"
-
-#: ../../include/text.php:1012
-msgid "tired"
-msgstr "cansat"
-
-#: ../../include/text.php:1013
-msgid "perky"
-msgstr "turgent"
-
-#: ../../include/text.php:1014
-msgid "angry"
-msgstr "enfadat"
-
-#: ../../include/text.php:1015
-msgid "stupified"
-msgstr "encantat"
-
-#: ../../include/text.php:1016
-msgid "puzzled"
-msgstr "perplexe"
-
-#: ../../include/text.php:1017
-msgid "interested"
-msgstr "Interessat"
-
-#: ../../include/text.php:1018
-msgid "bitter"
-msgstr "amargat"
-
-#: ../../include/text.php:1019
-msgid "cheerful"
-msgstr "feliç"
-
-#: ../../include/text.php:1020
-msgid "alive"
-msgstr "viu"
-
-#: ../../include/text.php:1021
-msgid "annoyed"
-msgstr "molest"
-
-#: ../../include/text.php:1022
-msgid "anxious"
-msgstr "ansiós"
-
-#: ../../include/text.php:1023
-msgid "cranky"
-msgstr "malagaitós"
-
-#: ../../include/text.php:1024
-msgid "disturbed"
-msgstr "transtornat"
-
-#: ../../include/text.php:1025
-msgid "frustrated"
-msgstr "frustrat"
-
-#: ../../include/text.php:1026
-msgid "depressed"
-msgstr "deprimit"
-
-#: ../../include/text.php:1027
-msgid "motivated"
-msgstr "motivat"
-
-#: ../../include/text.php:1028
-msgid "relaxed"
-msgstr "relaxat"
-
-#: ../../include/text.php:1029
-msgid "surprised"
-msgstr "sorprès"
-
-#: ../../include/text.php:1201
-msgid "Monday"
-msgstr "Dilluns"
-
-#: ../../include/text.php:1201
-msgid "Tuesday"
-msgstr "Dimarts"
-
-#: ../../include/text.php:1201
-msgid "Wednesday"
-msgstr "Dimecres"
-
-#: ../../include/text.php:1201
-msgid "Thursday"
-msgstr "Dijous"
-
-#: ../../include/text.php:1201
-msgid "Friday"
-msgstr "Divendres"
-
-#: ../../include/text.php:1201
-msgid "Saturday"
-msgstr "Dissabte"
-
-#: ../../include/text.php:1201
-msgid "Sunday"
-msgstr "Diumenge"
-
-#: ../../include/text.php:1205
-msgid "January"
-msgstr "Gener"
-
-#: ../../include/text.php:1205
-msgid "February"
-msgstr "Febrer"
-
-#: ../../include/text.php:1205
-msgid "March"
-msgstr "Març"
-
-#: ../../include/text.php:1205
-msgid "April"
-msgstr "Abril"
-
-#: ../../include/text.php:1205
-msgid "May"
-msgstr "Maig"
-
-#: ../../include/text.php:1205
-msgid "June"
-msgstr "Juny"
-
-#: ../../include/text.php:1205
-msgid "July"
-msgstr "Juliol"
-
-#: ../../include/text.php:1205
-msgid "August"
-msgstr "Agost"
-
-#: ../../include/text.php:1205
-msgid "September"
-msgstr "Setembre"
-
-#: ../../include/text.php:1205
-msgid "October"
-msgstr "Octubre"
-
-#: ../../include/text.php:1205
-msgid "November"
-msgstr "Novembre"
-
-#: ../../include/text.php:1205
-msgid "December"
-msgstr "Desembre"
-
-#: ../../include/text.php:1310
-msgid "unknown.???"
-msgstr "desconegut.???"
-
-#: ../../include/text.php:1311
-msgid "bytes"
-msgstr "bytes"
-
-#: ../../include/text.php:1347
-msgid "remove category"
-msgstr "elimina categoria"
-
-#: ../../include/text.php:1422
-msgid "remove from file"
-msgstr "elimina del arxiu"
-
-#: ../../include/text.php:1498 ../../include/text.php:1509
-msgid "Click to open/close"
-msgstr "Clic per obrir/tancar"
-
-#: ../../include/text.php:1665 ../../mod/events.php:457
-msgid "Link to Source"
-msgstr "Enllaç a la Font"
-
-#: ../../include/text.php:1686 ../../include/text.php:1757
-msgid "default"
-msgstr "per defecte"
-
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr "Format de la pàgina"
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr "Pots crear el teu propi amb l'editor de format de pàgina."
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr "Tipus de contingut de la pàgina"
-
-#: ../../include/text.php:1769
-msgid "Select an alternate language"
-msgstr "Tria un idioma alternatiu"
-
-#: ../../include/text.php:1888 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr "succés"
-
-#: ../../include/text.php:1894 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-msgid "status"
-msgstr "estat"
-
-#: ../../include/text.php:1896 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "comentari"
-
-#: ../../include/text.php:1901
-msgid "activity"
-msgstr "activitat"
-
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr "Eines de disseny"
-
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Bloc"
-
-#: ../../include/text.php:2200 ../../mod/menu.php:98
-msgid "Menus"
-msgstr "Menús"
-
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Format Gràfic"
-
-#: ../../include/text.php:2202
-msgid "Pages"
-msgstr "Pàgines"
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+msgid "parent"
+msgstr "pare"
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Col·lecció"
-#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
-msgid "parent"
-msgstr "pare"
-
-#: ../../include/RedDAV/RedBrowser.php:134
+#: ../../Zotlabs/Storage/Browser.php:134
msgid "Principal"
msgstr "Principal"
-#: ../../include/RedDAV/RedBrowser.php:137
+#: ../../Zotlabs/Storage/Browser.php:137
msgid "Addressbook"
msgstr "Llista d'Adreçes"
-#: ../../include/RedDAV/RedBrowser.php:140
+#: ../../Zotlabs/Storage/Browser.php:140
msgid "Calendar"
msgstr "Calendari"
-#: ../../include/RedDAV/RedBrowser.php:143
+#: ../../Zotlabs/Storage/Browser.php:143
msgid "Schedule Inbox"
msgstr "Programació de la bústia d'entrada"
-#: ../../include/RedDAV/RedBrowser.php:146
+#: ../../Zotlabs/Storage/Browser.php:146
msgid "Schedule Outbox"
msgstr "Programació de la bústia de sortida"
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
-#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
+#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Desconegut"
-#: ../../include/RedDAV/RedBrowser.php:227
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s emprat"
-
-#: ../../include/RedDAV/RedBrowser.php:232
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s emprat de %2$s (%3$s&#37;)"
-
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1609 ../../include/apps.php:135
-#: ../../mod/fbrowser.php:114
+#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Arxius"
-#: ../../include/RedDAV/RedBrowser.php:253
+#: ../../Zotlabs/Storage/Browser.php:227
msgid "Total"
msgstr "Total"
-#: ../../include/RedDAV/RedBrowser.php:255
+#: ../../Zotlabs/Storage/Browser.php:229
msgid "Shared"
msgstr "Compartit"
-#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Webpages.php:186
msgid "Create"
-msgstr "Creada"
+msgstr "Crear"
-#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Pujar"
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
-#: ../../mod/sharedwithme.php:95
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
msgstr "Nom"
-#: ../../include/RedDAV/RedBrowser.php:262
+#: ../../Zotlabs/Storage/Browser.php:236
msgid "Type"
msgstr "Tipus"
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+#: ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Mida"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Últim Modificat"
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
-#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:551
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
+#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:310
+#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
+#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
+#: ../../include/menu.php:108 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36
+msgid "Edit"
+msgstr "Edita"
+
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:572
+#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Editlayout.php:136
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Esborra"
-#: ../../include/RedDAV/RedBrowser.php:302
-msgid "Create new folder"
-msgstr "Crea una nova carpeta"
-
-#: ../../include/RedDAV/RedBrowser.php:304
-msgid "Upload file"
-msgstr "Puja arxiu"
-
-#: ../../include/bookmarks.php:35
+#: ../../Zotlabs/Storage/Browser.php:285
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$s de marcadors"
-
-#: ../../include/network.php:635
-msgid "view full size"
-msgstr "Veure a mida competa"
-
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "Notificació de $Projectname"
-
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
+msgid "You are using %1$s of your available file storage."
+msgstr "Estàs emprant el %1$s de l'espai d'emmagatzematge disponible"
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Gràcies,"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
+#: ../../Zotlabs/Storage/Browser.php:290
#, php-format
-msgid "%s Administrator"
-msgstr "%s Administrador"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Sense Assumpte"
-
-#: ../../include/features.php:38
-msgid "General Features"
-msgstr "Característiques Generals"
-
-#: ../../include/features.php:40
-msgid "Content Expiration"
-msgstr "Expiració del Contingut"
-
-#: ../../include/features.php:40
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "elimina entrades/comentaris i/o missatges privats de aquí en endevant."
-
-#: ../../include/features.php:41
-msgid "Multiple Profiles"
-msgstr "Multiples Perfils"
-
-#: ../../include/features.php:41
-msgid "Ability to create multiple profiles"
-msgstr "Capacitat per crear multiples perfils"
-
-#: ../../include/features.php:42
-msgid "Advanced Profiles"
-msgstr "Perfils Avançats"
-
-#: ../../include/features.php:42
-msgid "Additional profile sections and selections"
-msgstr "Seccions i seleccions addicionals de perfils "
-
-#: ../../include/features.php:43
-msgid "Profile Import/Export"
-msgstr "Importar/Exportar Perfil"
-
-#: ../../include/features.php:43
-msgid "Save and load profile details across sites/channels"
-msgstr "Guarda i carrega els detalls del perfil al llarg dels llocs/canals"
-
-#: ../../include/features.php:44
-msgid "Web Pages"
-msgstr "Pàgines Web"
-
-#: ../../include/features.php:44
-msgid "Provide managed web pages on your channel"
-msgstr "Proporcionar pàgines web gestionades al seu canal"
-
-#: ../../include/features.php:45
-msgid "Private Notes"
-msgstr "Notes Privades"
-
-#: ../../include/features.php:45
-msgid "Enables a tool to store notes and reminders"
-msgstr "Activa l'eina per guardar notes i recordatoris"
-
-#: ../../include/features.php:46
-msgid "Navigation Channel Select"
-msgstr "Navegació pel Selector de Canals"
-
-#: ../../include/features.php:46
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Canvieu els canals directament des del menú desplegable de navegació"
-
-#: ../../include/features.php:47
-msgid "Photo Location"
-msgstr "Ubicació de la Photo"
-
-#: ../../include/features.php:47
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Si los datos de ubicación están disponibles en las fotos subidas, vincular a un mapa."
-
-#: ../../include/features.php:49
-msgid "Expert Mode"
-msgstr "Mode Expert"
-
-#: ../../include/features.php:49
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Activar Mode Expert per a proporcionar opcions avançades de configuració"
-
-#: ../../include/features.php:50
-msgid "Premium Channel"
-msgstr "Canal Superior"
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr "Estàs emprant %1$s de %2$s d'emmagatzematge d'arxius disponible.\n(%3$s&#37;)"
-#: ../../include/features.php:50
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal"
-
-#: ../../include/features.php:55
-msgid "Post Composition Features"
-msgstr "Característiques de Composició d'Entrades"
-
-#: ../../include/features.php:57
-msgid "Use Markdown"
-msgstr "Us d'Abreviatures"
+#: ../../Zotlabs/Storage/Browser.php:302
+msgid "WARNING:"
+msgstr "ALERTA:"
-#: ../../include/features.php:57
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Permet emprat \"Abreviatures\" per formatar entrades"
+#: ../../Zotlabs/Storage/Browser.php:305
+msgid "Create new folder"
+msgstr "Crea una nova carpeta"
-#: ../../include/features.php:58
-msgid "Large Photos"
-msgstr "Grans Fotos"
+#: ../../Zotlabs/Storage/Browser.php:307
+msgid "Upload file"
+msgstr "Puja arxiu"
-#: ../../include/features.php:58
-msgid ""
-"Include large (640px) photo thumbnails in posts. If not enabled, use small "
-"(320px) photo thumbnails"
-msgstr "Inclou gran (640px) foto de miniatura a les entrades. Si no està activat, empra petita (320px) foto de miniatura."
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Permís denegat"
-#: ../../include/features.php:59 ../../include/widgets.php:548
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Canal Origen"
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Cover_photo.php:277
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:69
+#: ../../Zotlabs/Module/Editwebpage.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:105
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Filestorage.php:79
+#: ../../Zotlabs/Module/Filestorage.php:94
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Profile_photo.php:256
+#: ../../Zotlabs/Module/Profile_photo.php:269
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:437 ../../include/attach.php:895
+#: ../../include/attach.php:966 ../../include/attach.php:1118
+#: ../../include/photos.php:27
+msgid "Permission denied."
+msgstr "Permís denegat."
-#: ../../include/features.php:59
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automàticament el contingut del canal des de altres canals o feeds"
+#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+msgid "Not Found"
+msgstr "No s'ha pogut trobar la pàgina"
-#: ../../include/features.php:60
-msgid "Even More Encryption"
-msgstr "Encara Més Encriptació"
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Page.php:93
+msgid "Page not found."
+msgstr "Pàgina no trobada."
-#: ../../include/features.php:60
+#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida"
-
-#: ../../include/features.php:61
-msgid "Enable voting tools"
-msgstr "Habilitar eines de vot"
-
-#: ../../include/features.php:61
-msgid "Provide a class of post which others can vote on"
-msgstr "Proporcionar una classe d'entrada que altres puguin votar"
-
-#: ../../include/features.php:67
-msgid "Network and Stream Filtering"
-msgstr "Filtrat de Xarxa i Flux"
-
-#: ../../include/features.php:68
-msgid "Search by Date"
-msgstr "Cerca per Data"
-
-#: ../../include/features.php:68
-msgid "Ability to select posts by date ranges"
-msgstr "Capacitat per seleccionar entrades per rang de dates"
-
-#: ../../include/features.php:69
-msgid "Collections Filter"
-msgstr "Filtre de Col·leccions"
-
-#: ../../include/features.php:69
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Habilitar giny per mostrar les entrades de xarxa únicament de les col·leccions seleccionades"
-
-#: ../../include/features.php:70 ../../include/widgets.php:274
-msgid "Saved Searches"
-msgstr "Cerques Guardades"
-
-#: ../../include/features.php:70
-msgid "Save search terms for re-use"
-msgstr "Guardar els termin de la cerca per a re-usar"
-
-#: ../../include/features.php:71
-msgid "Network Personal Tab"
-msgstr "Pestanya Personal de Xarxa"
-
-#: ../../include/features.php:71
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Activa pestanya per mostrar només les entrades de xarxa en els que has intervingut"
-
-#: ../../include/features.php:72
-msgid "Network New Tab"
-msgstr "Nova Pestanya de Xarxa"
-
-#: ../../include/features.php:72
-msgid "Enable tab to display all new Network activity"
-msgstr "Activa pestanya per mostrar tota l'activitat nova de la Xarxa"
-
-#: ../../include/features.php:73
-msgid "Affinity Tool"
-msgstr "Eina d'Afinitat"
-
-#: ../../include/features.php:73
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filtre d'activitat del flux per importància de la relació"
-
-#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "Filtre de Connexió"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut "
-
-#: ../../include/features.php:75
-msgid "Suggest Channels"
-msgstr "Suggerir Canals"
-
-#: ../../include/features.php:75
-msgid "Show channel suggestions"
-msgstr "Mostra suggerencies de canals"
-
-#: ../../include/features.php:80
-msgid "Post/Comment Tools"
-msgstr "Eina d'Entrades/Comentaris"
-
-#: ../../include/features.php:81
-msgid "Tagging"
-msgstr "Etiquetant"
-
-#: ../../include/features.php:81
-msgid "Ability to tag existing posts"
-msgstr "Capacitat d'etiquetar entrades existents"
-
-#: ../../include/features.php:82
-msgid "Post Categories"
-msgstr "Categories d'Entrades"
-
-#: ../../include/features.php:82
-msgid "Add categories to your posts"
-msgstr "Afegeix categoria a la teva entrada"
-
-#: ../../include/features.php:83 ../../include/widgets.php:304
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
-msgstr "Carpetes Guardades"
-
-#: ../../include/features.php:83
-msgid "Ability to file posts under folders"
-msgstr "Capacitat de arxivar entrades en les carpetes"
-
-#: ../../include/features.php:84
-msgid "Dislike Posts"
-msgstr "No Agrada l'Entrada"
-
-#: ../../include/features.php:84
-msgid "Ability to dislike posts/comments"
-msgstr "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris"
-
-#: ../../include/features.php:85
-msgid "Star Posts"
-msgstr "Entrades Excel·lents"
-
-#: ../../include/features.php:85
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia"
-
-#: ../../include/features.php:86
-msgid "Tag Cloud"
-msgstr "Núvol d'Etiquetes."
-
-#: ../../include/features.php:86
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal"
-
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
-msgid "Categories"
-msgstr "Categories"
-
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Aplicatius"
-
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr "Sistema"
-
-#: ../../include/widgets.php:94 ../../include/conversation.php:1504
-msgid "Personal"
-msgstr "Personal"
-
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr "Crear Personal App"
-
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr "Editar Personal App"
-
-#: ../../include/widgets.php:136 ../../include/widgets.php:175
-#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:857 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
-msgid "Connect"
-msgstr "Connecta "
-
-#: ../../include/widgets.php:138 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignora/Amaga"
-
-#: ../../include/widgets.php:143 ../../mod/connections.php:268
-msgid "Suggestions"
-msgstr "Suggerencies"
-
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Veure més....."
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
-#: ../../include/widgets.php:166
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Module/Openid.php:183
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Tens %1$.0f de %2$.0f connexions permeses."
-
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr "Afegeix una Nova Connexió"
-
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr "Introdueix la adreça del canal"
-
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Exemple: pep@exemple.com, http://exemple.com/vinyet"
-
-#: ../../include/widgets.php:190
-msgid "Notes"
-msgstr "Notes"
-
-#: ../../include/widgets.php:266
-msgid "Remove term"
-msgstr "Plaç de remoció"
-
-#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
-#: ../../include/contact_widgets.php:95
-msgid "Everything"
-msgstr "Tot"
-
-#: ../../include/widgets.php:349
-msgid "Archives"
-msgstr "Arxius"
-
-#: ../../include/widgets.php:429 ../../mod/connedit.php:571
-msgid "Me"
-msgstr "Jo"
-
-#: ../../include/widgets.php:430 ../../mod/connedit.php:572
-msgid "Family"
-msgstr "Família"
-
-#: ../../include/widgets.php:431 ../../include/identity.php:394
-#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:573
-msgid "Friends"
-msgstr "Amics"
-
-#: ../../include/widgets.php:432 ../../mod/connedit.php:574
-msgid "Acquaintances"
-msgstr "Coneguts"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Benvingut %s. Autenticació remota reeixida."
-#: ../../include/widgets.php:433 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:575
-msgid "All"
-msgstr "Tots"
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+msgid "Requested profile is not available."
+msgstr "El perfil demanat no està disponible."
-#: ../../include/widgets.php:452
-msgid "Refresh"
-msgstr "Refresc"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Algunes propostes sobre el que cal fer quan ets nou aquí"
-#: ../../include/widgets.php:487
-msgid "Account settings"
-msgstr "Ajustos de Compte"
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
+#: ../../Zotlabs/Module/Editblock.php:108
+msgid "Block Name"
+msgstr "Nom del Bloc"
-#: ../../include/widgets.php:493
-msgid "Channel settings"
-msgstr "Ajustos de Canal"
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
+msgid "Blocks"
+msgstr "Bloc"
-#: ../../include/widgets.php:499
-msgid "Additional features"
-msgstr "Característiques addicionals"
+#: ../../Zotlabs/Module/Blocks.php:153
+msgid "Block Title"
+msgstr "Títol del bloc"
-#: ../../include/widgets.php:505
-msgid "Feature/Addon settings"
-msgstr "Ajustos de Característica/Afegit"
+#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
+#: ../../include/page_widgets.php:44
+msgid "Created"
+msgstr "Creat"
-#: ../../include/widgets.php:511
-msgid "Display settings"
-msgstr "Ajustos de pantalla"
+#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
+#: ../../include/page_widgets.php:45
+msgid "Edited"
+msgstr "Editat"
-#: ../../include/widgets.php:517
-msgid "Connected apps"
-msgstr "Apps connectades"
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
+#: ../../include/conversation.php:1208
+msgid "Share"
+msgstr "Compartir"
-#: ../../include/widgets.php:523
-msgid "Export channel"
-msgstr "Exportat canal"
+#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
+#: ../../include/page_widgets.php:39
+msgid "View"
+msgstr "Mostra"
-#: ../../include/widgets.php:532 ../../mod/connedit.php:662
-msgid "Connection Default Permissions"
-msgstr "Permisos per Defecte de la Connexió"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Canal no trobat."
-#: ../../include/widgets.php:540
-msgid "Premium Channel Settings"
-msgstr "Ajustos Premium de Canal"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permís denegat."
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
-msgid "Settings"
-msgstr "Ajustos"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
+msgid "l, F j"
+msgstr "l, F j"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
-#: ../../mod/mail.php:128
-msgid "Messages"
-msgstr "Missatges"
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
+msgid "Link to Source"
+msgstr "Enllaç a la Font"
-#: ../../include/widgets.php:572
-msgid "Check Mail"
-msgstr "Comprovar Correu"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Edit Event"
+msgstr "Editar l'Esdeveniment"
-#: ../../include/widgets.php:577 ../../include/nav.php:199
-msgid "New Message"
-msgstr "Nou Missatge"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Create Event"
+msgstr "Crear Esdeveniment"
-#: ../../include/widgets.php:652
-msgid "Chat Rooms"
-msgstr "Sales de Xat"
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949
+msgid "Previous"
+msgstr "Anterior"
-#: ../../include/widgets.php:672
-msgid "Bookmarked Chatrooms"
-msgstr "Sales de Xat Favorites"
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr "Pròxim"
-#: ../../include/widgets.php:692
-msgid "Suggested Chatrooms"
-msgstr "Sales de Xat Suggerides"
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
+#: ../../include/widgets.php:755
+msgid "Export"
+msgstr "Exporta"
-#: ../../include/widgets.php:819 ../../include/widgets.php:877
-msgid "photo/image"
-msgstr "foto/imatge"
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
+#: ../../include/widgets.php:756
+msgid "Import"
+msgstr "Importar"
-#: ../../include/widgets.php:972 ../../include/widgets.php:974
-msgid "Rate Me"
-msgstr "Valora'm"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Enviar"
-#: ../../include/widgets.php:978
-msgid "View Ratings"
-msgstr "Veure Valoracions"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+msgid "Today"
+msgstr "Avui"
-#: ../../include/widgets.php:989
-msgid "Public Hubs"
-msgstr "Concentradors Públics"
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Has d'estar identificat per a veure aquesta pàgina."
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Posts and comments"
+msgstr "Entrades i comentaris"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Inicia:"
+#: ../../Zotlabs/Module/Channel.php:42
+msgid "Only posts"
+msgstr "Només entrades"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Acaba:"
+#: ../../Zotlabs/Module/Channel.php:102
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permisos insuficients. Petició redirigida a la pàgina del perfil."
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:908 ../../mod/directory.php:302
-#: ../../mod/events.php:661
-msgid "Location:"
-msgstr "Localització:"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "No s'ha trobat la sala"
-#: ../../include/event.php:535
-msgid "This event has been added to your calendar."
-msgstr "Aquest succés ha estat afegit al teu calendari."
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Abandona la sala"
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Esborra Sala"
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Notificació] Un nou missatge s'ha rebut a %s"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Absent"
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Estic connectat/da"
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s t'ha enviat %2$s."
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Fes favorit aquest xat"
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "un missatge privat"
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
+msgid "Please enter a link URL:"
+msgstr "Si us plau entra l'enllaç URL:"
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1256
+msgid "Encrypt text"
+msgstr "Text encriptat"
-#: ../../include/enotify.php:158
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]a %4$s[/zrl]"
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
+msgid "Insert web link"
+msgstr "Insereix enllaç web"
-#: ../../include/enotify.php:166
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]%4$s de %5$s[/zrl]"
+#: ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "Funcionalitat desactivada."
-#: ../../include/enotify.php:175
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]el teu %4$s[/zrl]"
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "New Chatroom"
+msgstr "Nova sala per a Xerrar"
-#: ../../include/enotify.php:186
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Notify] Comentari a la conversa #%1$d per %2$s"
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr "Nom de la sala de xat"
-#: ../../include/enotify.php:187
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
+#: ../../Zotlabs/Module/Chat.php:234
+msgid "Expiration of chats (minutes)"
+msgstr "Expiració dels chats (minuts)"
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr "Permisos "
-#: ../../include/enotify.php:196
+#: ../../Zotlabs/Module/Chat.php:246
#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Avís] %s ha escrit una entrada al teu mur"
+msgid "%1$s's Chatrooms"
+msgstr "%1$s de Xats"
-#: ../../include/enotify.php:198
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
+#: ../../Zotlabs/Module/Chat.php:251
+msgid "No chatrooms available"
+msgstr "No hi ha sales de xat disponibles"
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Create New"
+msgstr "Crear Nou"
-#: ../../include/enotify.php:224
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Notificació] %s t'ha etiquetat"
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Expiration"
+msgstr "Expiració"
-#: ../../include/enotify.php:225
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
+#: ../../Zotlabs/Module/Chat.php:256
+msgid "min"
+msgstr "min"
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
+#: ../../Zotlabs/Module/Chatsvc.php:117
+msgid "Away"
+msgstr "Absent"
-#: ../../include/enotify.php:238
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Avís] %1$s s'en fot de tu"
+#: ../../Zotlabs/Module/Chatsvc.php:122
+msgid "Online"
+msgstr "En connexió"
-#: ../../include/enotify.php:239
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s s'en fot de tú a %3$s"
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Article invàlid."
-#: ../../include/enotify.php:240
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Favorit afegit"
-#: ../../include/enotify.php:256
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Avís] %s ha etiquetat la teva entrada"
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Els Meus Favorits"
-#: ../../include/enotify.php:257
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Les connexions dels meus Favorits"
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Continua"
-#: ../../include/enotify.php:270
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Avís] Presentació rebuda"
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Configuració de Canals Premium"
-#: ../../include/enotify.php:271
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Habilita les restriccions de connexió del canal premium"
-#: ../../include/enotify.php:272
-#, php-format
+#: ../../Zotlabs/Module/Connect.php:93
msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
-
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Pots visitar el seu perfil a %s"
-
-#: ../../include/enotify.php:278
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
-
-#: ../../include/enotify.php:285
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Notificació] Rebuda suggerencia d'amistat"
-
-#: ../../include/enotify.php:286
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
-#: ../../include/enotify.php:287
-#, php-format
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
-
-#: ../../include/enotify.php:293
-msgid "Name:"
-msgstr "Nom:"
-
-#: ../../include/enotify.php:294
-msgid "Photo:"
-msgstr "Foto:"
-
-#: ../../include/enotify.php:297
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
-
-#: ../../include/enotify.php:508
-msgid "[Red:Notify]"
-msgstr "[Red:Notificació]"
-
-#: ../../include/message.php:18
-msgid "No recipient provided."
-msgstr "No s'ha proporcionat bústia."
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:"
-#: ../../include/message.php:23
-msgid "[no subject]"
-msgstr "[no subject]"
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Connexions potencials veuran el següent text abans de continuar:"
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "incapaç de determinar el remitent"
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina."
-#: ../../include/message.php:200
-msgid "Stored post could not be verified."
-msgstr "L'entrada guardada no pot ser verificada"
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(No s'han proporcionat instruccions específiques pel propietari del canal.)"
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s agrada %2$s de %3$s"
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Canal Restringit o Premium"
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
-msgstr "Escull"
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr "No s'ha pogut accedir al llibre de contactes."
-#: ../../include/diaspora.php:2496
-msgid "Agree"
-msgstr "A favor"
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr "No s'ha trobat el perfil indicat."
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
-msgstr "En contra"
+#: ../../Zotlabs/Module/Connedit.php:227
+msgid "Connection updated."
+msgstr "S'ha actualitzat la connexió."
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
-msgstr "Abstenció"
+#: ../../Zotlabs/Module/Connedit.php:229
+msgid "Failed to update connection record."
+msgstr "No s'ha pogut actualitzar el registre de connexió."
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "El canal està bloquejat en aquest lloc."
+#: ../../Zotlabs/Module/Connedit.php:276
+msgid "is now connected to"
+msgstr "Ara està conectat amb"
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Ubicació del canal perduda."
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "No"
-#: ../../include/follow.php:83
-msgid "Response from remote channel was incomplete."
-msgstr "La resposta del canal remot fou incompleta."
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Sí"
-#: ../../include/follow.php:100
-msgid "Channel was deleted and no longer exists."
-msgstr "El canal fou esborrat i actualment no existeix."
+#: ../../Zotlabs/Module/Connedit.php:411
+msgid "Could not access address book record."
+msgstr "No puc accedir al registre del contacte"
-#: ../../include/follow.php:135 ../../include/follow.php:206
-msgid "Protocol disabled."
-msgstr "Protocol desactivat."
+#: ../../Zotlabs/Module/Connedit.php:425
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "El protocol està bloquejat per a aquest canal."
+#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
+#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
+#: ../../Zotlabs/Module/Connedit.php:480
+msgid "Unable to set address book parameters."
+msgstr "No es poden ajustar els paràmetres dels contactes."
-#: ../../include/follow.php:179
-msgid "Channel discovery failed."
-msgstr "Descobriment de canal fallit."
+#: ../../Zotlabs/Module/Connedit.php:503
+msgid "Connection has been removed."
+msgstr "S'han eliminat les conexions."
-#: ../../include/follow.php:195
-msgid "local account not found."
-msgstr "compte local no trobat."
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:86 ../../include/conversation.php:954
+msgid "View Profile"
+msgstr "Veure Perfil"
-#: ../../include/follow.php:224
-msgid "Cannot connect to yourself."
-msgstr "No pots connectar amb tu mateix."
+#: ../../Zotlabs/Module/Connedit.php:522
+#, php-format
+msgid "View %s's profile"
+msgstr "Mostra el perfil de %s"
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
-msgid "Private Message"
-msgstr "Missatge Privat"
+#: ../../Zotlabs/Module/Connedit.php:526
+msgid "Refresh Permissions"
+msgstr "Recarrega els Permissos"
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
-msgid "Select"
-msgstr "Selecciona"
+#: ../../Zotlabs/Module/Connedit.php:529
+msgid "Fetch updated permissions"
+msgstr "Obté els permisos actualitzats"
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "Guardar en la Carpeta"
+#: ../../Zotlabs/Module/Connedit.php:533
+msgid "Recent Activity"
+msgstr "Activitat Recent"
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Assistiré"
+#: ../../Zotlabs/Module/Connedit.php:536
+msgid "View recent posts and comments"
+msgstr "Mostra les entrades i comentaris recents"
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "No assistiré"
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
+msgid "Unblock"
+msgstr "Desbloquejat"
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Podria assistir"
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
+msgid "Block"
+msgstr "Bloquejat"
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "D'acord"
+#: ../../Zotlabs/Module/Connedit.php:543
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "En desacord"
+#: ../../Zotlabs/Module/Connedit.php:544
+msgid "This connection is blocked!"
+msgstr "Aquesta connexió està bloquejada!"
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "M'abstinc"
+#: ../../Zotlabs/Module/Connedit.php:548
+msgid "Unignore"
+msgstr "Inhabilita"
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
-msgid "View all"
-msgstr "Veure tot"
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignora"
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1167
-#: ../../mod/photos.php:1019
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Agrada"
-msgstr[1] "Agraden"
+#: ../../Zotlabs/Module/Connedit.php:551
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
-#: ../../mod/photos.php:1024
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Desagrada"
-msgstr[1] "Desagrada"
+#: ../../Zotlabs/Module/Connedit.php:552
+msgid "This connection is ignored!"
+msgstr "Aquesta connexió es ignorada!"
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Fes-lo Preferit"
+#: ../../Zotlabs/Module/Connedit.php:556
+msgid "Unarchive"
+msgstr "Desarxiva"
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Treu-lo de Preferits"
+#: ../../Zotlabs/Module/Connedit.php:556
+msgid "Archive"
+msgstr "Arxiva"
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "Canvia el Estat de la Preferència"
+#: ../../Zotlabs/Module/Connedit.php:559
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "preferit"
+#: ../../Zotlabs/Module/Connedit.php:560
+msgid "This connection is archived!"
+msgstr "Aquesta connexió està arxivada!"
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
-msgid "Message signature validated"
-msgstr "Validada la signatura del missatge"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Unhide"
+msgstr "Mostra"
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
-msgid "Message signature incorrect"
-msgstr "Signatura del missatge incorrecta"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Hide"
+msgstr "Amaga"
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Afegeix Etiqueta"
+#: ../../Zotlabs/Module/Connedit.php:567
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
-msgid "I like this (toggle)"
-msgstr "M'agrada això (canvia)"
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "This connection is hidden!"
+msgstr "Aquesta connexió està amagada!"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
-msgid "like"
-msgstr "agrada"
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Delete this connection"
+msgstr "Elimina aquesta connexió"
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
-msgid "I don't like this (toggle)"
-msgstr "No m'agrada això (canvia)"
+#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
+msgid "Me"
+msgstr "Jo"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
-msgid "dislike"
-msgstr "desagrada"
+#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
+msgid "Family"
+msgstr "Família"
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Comparteix Això"
+#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
+msgid "Friends"
+msgstr "Amics"
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "comparteix"
+#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr "Coneguts"
-#: ../../include/ItemObject.php:276
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commentari"
-msgstr[1] "%d commentaris"
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Tots"
-#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Veure %s de perfil - %s"
+#: ../../Zotlabs/Module/Connedit.php:654
+msgid "Approve this connection"
+msgstr "Apccepta aquesta connexió"
-#: ../../include/ItemObject.php:298
-msgid "to"
-msgstr "a"
+#: ../../Zotlabs/Module/Connedit.php:654
+msgid "Accept connection to allow communication"
+msgstr "Accepta la connexió per permetre la comunicació"
-#: ../../include/ItemObject.php:299
-msgid "via"
-msgstr "via"
+#: ../../Zotlabs/Module/Connedit.php:659
+msgid "Set Affinity"
+msgstr "Ajusta l'Afinitat"
-#: ../../include/ItemObject.php:300
-msgid "Wall-to-Wall"
-msgstr "Mur-a-Mur"
+#: ../../Zotlabs/Module/Connedit.php:662
+msgid "Set Profile"
+msgstr "Ajusta el Perfil"
-#: ../../include/ItemObject.php:301
-msgid "via Wall-To-Wall:"
-msgstr "via Mur-a-Mur:"
+#: ../../Zotlabs/Module/Connedit.php:665
+msgid "Set Affinity & Profile"
+msgstr "Ajusta Afinitat i Perfil"
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
-#, php-format
-msgid "from %s"
-msgstr "De %s"
+#: ../../Zotlabs/Module/Connedit.php:698
+msgid "none"
+msgstr "res"
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
-#, php-format
-msgid "last edited: %s"
-msgstr "últim editat: %s"
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr "Permisos per Defecte de la Connexió"
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
#, php-format
-msgid "Expires: %s"
-msgstr "Expira: %s"
-
-#: ../../include/ItemObject.php:337
-msgid "Save Bookmarks"
-msgstr "Guarda Favorits"
-
-#: ../../include/ItemObject.php:338
-msgid "Add to Calendar"
-msgstr "Afegeix al Calendari"
+msgid "Connection: %s"
+msgstr "Connexió: %s"
-#: ../../include/ItemObject.php:347
-msgid "Mark all seen"
-msgstr "Marca tot com ja vist"
+#: ../../Zotlabs/Module/Connedit.php:703
+msgid "Apply these permissions automatically"
+msgstr "Aplica aquests permissos automaticament"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
-msgctxt "noun"
-msgid "Likes"
-msgstr "Agrada"
+#: ../../Zotlabs/Module/Connedit.php:703
+msgid "Connection requests will be approved without your interaction"
+msgstr "Les peticions de connexió seran aprovades sense la teva interacció"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Desagrada"
+#: ../../Zotlabs/Module/Connedit.php:705
+msgid "This connection's primary address is"
+msgstr "La primera adreça d'aqueste connexió es"
-#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
-msgid "Close"
-msgstr "Tanca"
+#: ../../Zotlabs/Module/Connedit.php:706
+msgid "Available locations:"
+msgstr "Localització disponible:"
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
-#: ../../mod/mail.php:241 ../../mod/mail.php:356
-msgid "Please wait"
-msgstr "Si us plau, espera"
+#: ../../Zotlabs/Module/Connedit.php:710
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
-msgid "This is you"
-msgstr "Ets tú"
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Connection Tools"
+msgstr "Eines de Connexió"
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
-msgid "Bold"
-msgstr "Negreta"
+#: ../../Zotlabs/Module/Connedit.php:713
+msgid "Slide to adjust your degree of friendship"
+msgstr "Llisca per ajustar el nivell d'amistat"
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
-msgid "Italic"
-msgstr "Italica"
+#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Valora"
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
-msgid "Underline"
-msgstr "Subratllat"
+#: ../../Zotlabs/Module/Connedit.php:715
+msgid "Slide to adjust your rating"
+msgstr "Llisca per ajustar la valoració"
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
-msgid "Quote"
-msgstr "Cometes"
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
+msgid "Optionally explain your rating"
+msgstr "Opcionalment pots explicar la teva valoració"
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
-msgid "Code"
-msgstr "Codi"
+#: ../../Zotlabs/Module/Connedit.php:718
+msgid "Custom Filter"
+msgstr "Filtre a mida"
-#: ../../include/ItemObject.php:674
-msgid "Image"
-msgstr "Imatge"
+#: ../../Zotlabs/Module/Connedit.php:719
+msgid "Only import posts with this text"
+msgstr "Importa exclusivament entrades amb aquest text"
-#: ../../include/ItemObject.php:675
-msgid "Insert Link"
-msgstr "Insereix Enllaç"
+#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr "paraules una per línia o #etiquetes o /patrons/ o idioma=xx, deixar en blanc per importar totes les entrades"
-#: ../../include/ItemObject.php:676
-msgid "Video"
-msgstr "Video"
+#: ../../Zotlabs/Module/Connedit.php:720
+msgid "Do not import posts with this text"
+msgstr "No importar entrades amb aquest text"
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
-msgid "Encrypt text"
-msgstr "Text encriptat"
+#: ../../Zotlabs/Module/Connedit.php:722
+msgid "This information is public!"
+msgstr "Aquesta informació es pública!"
-#: ../../include/Contact.php:124
-msgid "New window"
-msgstr "Nova finestra"
+#: ../../Zotlabs/Module/Connedit.php:727
+msgid "Connection Pending Approval"
+msgstr "Connexió Pendent d'Aprovació"
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
+#: ../../Zotlabs/Module/Connedit.php:730
+msgid "inherited"
+msgstr "heretat"
-#: ../../include/Contact.php:215 ../../mod/admin.php:739
+#: ../../Zotlabs/Module/Connedit.php:732
#, php-format
-msgid "User '%s' deleted"
-msgstr "usuari '%s' esborrat"
-
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
-msgstr "Adjuntat:"
-
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "Notificació d'esdeveniment de $Projectname"
-
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
-msgid "Logout"
-msgstr "Desconectar"
-
-#: ../../include/nav.php:87 ../../include/nav.php:120
-msgid "End this session"
-msgstr "Finalitza aquesta sessió"
-
-#: ../../include/nav.php:90 ../../include/nav.php:151
-msgid "Home"
-msgstr "Personal"
-
-#: ../../include/nav.php:90
-msgid "Your posts and conversations"
-msgstr "Les teves entrades i converses"
-
-#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:498
-msgid "View Profile"
-msgstr "Veure Perfil"
-
-#: ../../include/nav.php:91
-msgid "Your profile page"
-msgstr "La teva pàgina de perfil"
-
-#: ../../include/nav.php:93
-msgid "Edit Profiles"
-msgstr "Editar Perfils"
-
-#: ../../include/nav.php:93
-msgid "Manage/Edit profiles"
-msgstr "Gestiona/Edita perfils"
-
-#: ../../include/nav.php:95 ../../include/identity.php:880
-msgid "Edit Profile"
-msgstr "Edita Perfil"
-
-#: ../../include/nav.php:95
-msgid "Edit your profile"
-msgstr "Edita el teu perfil"
-
-#: ../../include/nav.php:97 ../../include/conversation.php:1600
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Fotos"
-
-#: ../../include/nav.php:97
-msgid "Your photos"
-msgstr "Les Teves Fotos"
-
-#: ../../include/nav.php:98
-msgid "Your files"
-msgstr "Els teus arxius"
-
-#: ../../include/nav.php:103 ../../include/apps.php:146
-msgid "Chat"
-msgstr "Xerrar"
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
-#: ../../include/nav.php:103
-msgid "Your chatrooms"
-msgstr "Les teves sales de xerrar"
+#: ../../Zotlabs/Module/Connedit.php:734
+msgid "Their Settings"
+msgstr "Els seus Ajustos"
-#: ../../include/nav.php:109 ../../include/conversation.php:1635
-#: ../../include/apps.php:129
-msgid "Bookmarks"
-msgstr "Marcadors"
+#: ../../Zotlabs/Module/Connedit.php:735
+msgid "My Settings"
+msgstr "Els Meus Ajustos"
-#: ../../include/nav.php:109
-msgid "Your bookmarks"
-msgstr "Els teus marcadors"
+#: ../../Zotlabs/Module/Connedit.php:737
+msgid "Individual Permissions"
+msgstr "Permisos Individuals"
-#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Pàgines web"
+#: ../../Zotlabs/Module/Connedit.php:738
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
-#: ../../include/nav.php:113
-msgid "Your webpages"
-msgstr "Les teves pàgines web"
+#: ../../Zotlabs/Module/Connedit.php:739
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
-msgid "Login"
-msgstr "Identifica't"
+#: ../../Zotlabs/Module/Connedit.php:740
+msgid "Last update:"
+msgstr "Darrera actualització:"
-#: ../../include/nav.php:117
-msgid "Sign in"
-msgstr "Signatura"
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
+msgid "Public access denied."
+msgstr "Accés públic denegat."
-#: ../../include/nav.php:134
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - click per desconectar"
-
-#: ../../include/nav.php:137
-msgid "Remote authentication"
-msgstr "Autenticació remota"
-
-#: ../../include/nav.php:137
-msgid "Click to authenticate to your home hub"
-msgstr "Click per autentificar-te en el teu Lloc "
-
-#: ../../include/nav.php:151
-msgid "Home Page"
-msgstr "Pàgina Personal"
-
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
-msgid "Register"
-msgstr "Registre"
-
-#: ../../include/nav.php:155
-msgid "Create an account"
-msgstr "Crear un compte"
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valoració"
+msgstr[1] "%d valoracions"
-#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Ajuda"
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr "Gènere:"
-#: ../../include/nav.php:160
-msgid "Help and documentation"
-msgstr "Ajuda i documentació"
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr "Estatus:"
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Aplicacions, utilitats, enllaços, jocs"
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr "Pàgina Personal:"
-#: ../../include/nav.php:165
-msgid "Search site content"
-msgstr "Cerca en el contingut del lloc"
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
+msgid "Age:"
+msgstr "Edat:"
-#: ../../include/nav.php:168 ../../include/apps.php:141
-msgid "Directory"
-msgstr "Directori"
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/channel.php:1027
+#: ../../include/bb2diaspora.php:507
+msgid "Location:"
+msgstr "Localització:"
-#: ../../include/nav.php:168
-msgid "Channel Directory"
-msgstr "Directori de Canals"
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr "Descripció:"
-#: ../../include/nav.php:180 ../../include/apps.php:133
-msgid "Matrix"
-msgstr "Matriu/Matrix"
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
+msgid "Hometown:"
+msgstr "Ciutat Natal:"
-#: ../../include/nav.php:180
-msgid "Your matrix"
-msgstr "El teu matrix"
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
+msgid "About:"
+msgstr "Sobre:"
-#: ../../include/nav.php:181
-msgid "Mark all matrix notifications seen"
-msgstr "Marca totes les notificacions de matrix vistes"
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/conversation.php:956 ../../include/channel.php:1012
+msgid "Connect"
+msgstr "Connecta "
-#: ../../include/nav.php:183 ../../include/apps.php:137
-msgid "Channel Home"
-msgstr "Canal Personal"
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr "Forum Públic:"
-#: ../../include/nav.php:183
-msgid "Channel home"
-msgstr "Canal personal"
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
+msgstr "Paraules Clau:"
-#: ../../include/nav.php:184
-msgid "Mark all channel notifications seen"
-msgstr "Marca totes les notificacions de canal vistes"
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr "No suggerir"
-#: ../../include/nav.php:187 ../../mod/connections.php:407
-msgid "Connections"
-msgstr "Connexions"
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr "Connexions en comú:"
-#: ../../include/nav.php:190
-msgid "Notices"
-msgstr "Noticies"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr "Directori Global"
-#: ../../include/nav.php:190
-msgid "Notifications"
-msgstr "Notificacions"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr "Directori Local"
-#: ../../include/nav.php:191
-msgid "See all notifications"
-msgstr "Veure totes les Notificacions"
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Troba"
-#: ../../include/nav.php:192 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Marca totes les notificacions vistes"
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr "Cercant:"
-#: ../../include/nav.php:194 ../../include/apps.php:143
-msgid "Mail"
-msgstr "Correu"
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canals Suggerits"
-#: ../../include/nav.php:194
-msgid "Private mail"
-msgstr "Correu privat"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr "pàgina següent"
-#: ../../include/nav.php:195
-msgid "See all private messages"
-msgstr "Veure tots els missatges privats"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr "pàgina anterior"
-#: ../../include/nav.php:196
-msgid "Mark all private messages seen"
-msgstr "Marcar tots els missatges privats vistos"
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr "Opcions per ordenar"
-#: ../../include/nav.php:197
-msgid "Inbox"
-msgstr "Safata d'entrada"
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr "Alfabètic"
-#: ../../include/nav.php:198
-msgid "Outbox"
-msgstr "Safata de sortida"
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr "Alfabètic Invers"
-#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:486
-msgid "Events"
-msgstr "Events"
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr "De més Nou a més Vell"
-#: ../../include/nav.php:202
-msgid "Event Calendar"
-msgstr "Calendari d'Events"
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr "De més Antic a més Nou"
-#: ../../include/nav.php:203
-msgid "See all events"
-msgstr "Veure tots els events"
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr "Sense entrades (algunes podrien estar amagades)."
-#: ../../include/nav.php:204
-msgid "Mark all events seen"
-msgstr "Marcar tots els events vistos"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Element no trobat."
-#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:166
-msgid "Channel Manager"
-msgstr "Gestor del Canal"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "No s'ha trobat l'element"
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gestiona els Teus Canals"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Títol (opcional)"
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Ajustos de Compte/Canal"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Editar Bloc"
-#: ../../include/nav.php:216 ../../mod/admin.php:120
-msgid "Admin"
-msgstr "Admin"
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "No s'ha trobat el canal"
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Ajustos i Configuració del Lloc"
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Connexions en comú"
-#: ../../include/nav.php:247 ../../include/conversation.php:850
-msgid "Loading..."
-msgstr "Carregant..."
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "No hi ha connexions en comú."
-#: ../../include/nav.php:252
-msgid "@name, #tag, content"
-msgstr "@name, #tag, content"
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Bloquejades"
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Si us plau, espera......."
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignorades"
-#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
-msgid "Tags"
-msgstr "Etiquetes"
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Amagades"
-#: ../../include/taxonomy.php:287
-msgid "Keywords"
-msgstr "Paraules clau"
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Arxivades"
-#: ../../include/taxonomy.php:308
-msgid "have"
-msgstr "tinc"
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Nou"
-#: ../../include/taxonomy.php:308
-msgid "has"
-msgstr "tens"
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Noves Connexions"
-#: ../../include/taxonomy.php:309
-msgid "want"
-msgstr "vull"
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Mostra les connexions pendents (noves)"
-#: ../../include/taxonomy.php:309
-msgid "wants"
-msgstr "vols"
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Totes les Connexions"
-#: ../../include/taxonomy.php:310
-msgid "likes"
-msgstr "agrada"
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Mostra totes les connexions"
-#: ../../include/taxonomy.php:311
-msgid "dislikes"
-msgstr "desagrada"
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Mostra només les connexions bloquejades"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "i"
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Mostra només les connexions ignorades"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "Perfil públic"
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Mostra només les connexions arxivades"
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Mostra només les connexions amagades"
-#: ../../include/activities.php:57
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visita %1$s de %2$s"
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "Pendent d'aprovació"
-#: ../../include/activities.php:60
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
-
-#: ../../include/security.php:349
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo."
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Pot veure el flux i entrades normals"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Pot veure el meu perfil del canal per defecte"
-
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
-msgstr "Pot veure el meus àlbums de fotos"
-
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
-msgstr "Pot veure les meves connexions"
-
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
-msgstr "Pot veure al meu magatzem d'arxius"
-
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
-msgstr "Pot veure les meves pàgines web"
-
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
-msgstr "Pot enviar-me el flux i entrades del seu canal"
-
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Pot fer entrades a la meva pàgina de canal (\"mur\")"
-
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
-msgstr "Pot fer comentaris o dir si agrada en les meves entrades"
-
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
-msgstr "Pot enviar-me un missatge de correu privat"
-
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
-msgstr "Pot enviar fotos al meus àlbums de fotos"
-
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
-msgstr "Pot dir si agrada/desagrada "
-
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
-msgstr "Perfils i altres coses a més d'entrades/comentaris"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Ho pot enviar a tots els meus contactes del canal via entrades @mencions"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Modifica la connexió"
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avançat - capaç de crear canals de grups de foro"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Elimina la connexió"
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
-msgstr "Pot xatejar amb mi (si estic disponible)"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Adreça del canal"
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
-msgstr "Pot escriure al meu magatzem d'arxius"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Xarxa"
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
-msgstr "Pot editar les meves pàgines web"
-
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Pot mostrar l'origen de les meves entrades públiques en altres canals"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Estat"
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Quelcom avançat - molt útil en comunitats obertes"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Connectat"
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Pot administrar els meus recursos del canal"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Aprovar la Connexió "
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Extremadament avançat. No toquis res si no saps que estàs fent"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Aprovat"
-#: ../../include/permissions.php:893
-msgid "Social Networking"
-msgstr "Xarxes Socials"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Ignorar connexió"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Mostly Public"
-msgstr "Més aviat Públic"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Activitat recent"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Restricted"
-msgstr "Restringit"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Connexions"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-msgid "Private"
-msgstr "Privat"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Cerca"
-#: ../../include/permissions.php:894
-msgid "Community Forum"
-msgstr "Foro de Comunitat"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Cerca entre les teves connexions"
-#: ../../include/permissions.php:895
-msgid "Feed Republish"
-msgstr "Republicador"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Cerca connexions"
-#: ../../include/permissions.php:896
-msgid "Special Purpose"
-msgstr "Objectiu Especial"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
-#: ../../include/permissions.php:896
-msgid "Celebrity/Soapbox"
-msgstr "Celebritat/Faristol"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Fotos de Portada"
-#: ../../include/permissions.php:896
-msgid "Group Repository"
-msgstr "Repositori de Grup"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "No s'ha pogut escalar la imatge."
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Altres"
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "incapaç de processar la imatge"
-#: ../../include/permissions.php:897
-msgid "Custom/Expert Mode"
-msgstr "Personalitzat/Mode Expert"
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "La pujada de la imatge va fracassar."
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "canal"
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Incapaç de processar l'imatge."
-#: ../../include/conversation.php:167 ../../mod/like.php:396
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s no agrada %2$s de %3$s"
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "femení"
-#: ../../include/conversation.php:204
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s esta ara connectat amb %2$s"
+msgid "%1$s updated her %2$s"
+msgstr "%1$s actualitzà el seu %2$s"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s emprenyat %2$s"
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "masculí"
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s es %2$s"
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
-msgid "Likes"
-msgstr "Agrada"
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Desagrada"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Agree"
-msgstr "Acord"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Disagree"
-msgstr "Desacord"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Abstain"
-msgstr "Abstenirse"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Attending"
-msgstr "Assistint"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Not attending"
-msgstr "Desassistint"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Might attend"
-msgstr "Podrien assistir"
+msgid "%1$s updated his %2$s"
+msgstr "%1$s actualitzà el seu %2$s"
-#: ../../include/conversation.php:692
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vista %s del perfil @ %s"
-
-#: ../../include/conversation.php:707
-msgid "Categories:"
-msgstr "Categories:"
-
-#: ../../include/conversation.php:708
-msgid "Filed under:"
-msgstr "Arxivar a:"
-
-#: ../../include/conversation.php:735
-msgid "View in context"
-msgstr "Veure en context"
-
-#: ../../include/conversation.php:846
-msgid "remove"
-msgstr "treu"
-
-#: ../../include/conversation.php:851
-msgid "Delete Selected Items"
-msgstr "Esborra els Articles Seleccionats"
+msgid "%1$s updated their %2$s"
+msgstr "%1$s actualitzà els seus %2$s"
-#: ../../include/conversation.php:939
-msgid "View Source"
-msgstr "Veure l'Origen"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "Foto de la portada"
-#: ../../include/conversation.php:940
-msgid "Follow Thread"
-msgstr "Segueix el Fil"
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Foto no disponible."
-#: ../../include/conversation.php:941
-msgid "View Status"
-msgstr "Veure Status"
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Puja Arxiu:"
-#: ../../include/conversation.php:943
-msgid "View Photos"
-msgstr "Veure Fotos"
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Tria un perfil:"
-#: ../../include/conversation.php:944
-msgid "Matrix Activity"
-msgstr "Activitat de Matrix"
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Puja Foto de Portada"
-#: ../../include/conversation.php:946
-msgid "Edit Contact"
-msgstr "Editar Contacte"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "o"
-#: ../../include/conversation.php:947
-msgid "Send PM"
-msgstr "Enviar MP"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "salta aquest pas"
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Emprenya"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "tria una foto del teu àlbum de fotos"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s likes this."
-msgstr "%s agrada això."
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Retalla Imatge"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s no agrada això."
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Si us plau, retalla la imatge per a una optima visualització"
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d gent</span> agrada això."
-msgstr[1] "<span %1$s>%2$d gent</span> agrada això."
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Edició Feta"
-#: ../../include/conversation.php:1068
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d gent</span> no agrada això."
-msgstr[1] "<span %1$s>%2$d gent</span> no agrada això."
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "Article no editable"
-#: ../../include/conversation.php:1074
-msgid "and"
-msgstr "i"
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr "Modifica l'entrada"
-#: ../../include/conversation.php:1077
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", i %d altra gent"
-msgstr[1] ", i %d altra gent"
+#: ../../Zotlabs/Module/Events.php:26
+msgid "Calendar entries imported."
+msgstr "Entrades de Calendari importades."
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s like this."
-msgstr "%s agrada això."
+#: ../../Zotlabs/Module/Events.php:28
+msgid "No calendar entries found."
+msgstr "No es troben entrades decalendari."
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s don't like this."
-msgstr "%s no agrada això."
+#: ../../Zotlabs/Module/Events.php:105
+msgid "Event can not end before it has started."
+msgstr "L'esdeveniment ha de començar abans d'acabar."
-#: ../../include/conversation.php:1140
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visible a <strong>tothom</strong>"
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
+msgid "Unable to generate preview."
+msgstr "No s'ha pogut generar la vista prèvia."
-#: ../../include/conversation.php:1141 ../../mod/mail.php:174
-#: ../../mod/mail.php:289
-msgid "Please enter a link URL:"
-msgstr "Si us plau entra l'enllaç URL:"
+#: ../../Zotlabs/Module/Events.php:114
+msgid "Event title and start time are required."
+msgstr "Cal indicar l'inici i el final de l'esdeveniment."
-#: ../../include/conversation.php:1142
-msgid "Please enter a video link/URL:"
-msgstr "Si us plau entra l'enllaç/URL a un video:"
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
+msgid "Event not found."
+msgstr "No s'ha trobat l'esdeveniment."
-#: ../../include/conversation.php:1143
-msgid "Please enter an audio link/URL:"
-msgstr "Si us plau, entra l'enllaç/URL a un audio:"
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
+msgid "event"
+msgstr "succés"
-#: ../../include/conversation.php:1144
-msgid "Tag term:"
-msgstr "Paraula de l'Etiqueta:"
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Edit event title"
+msgstr "Edita el títol d'esdeveniment"
-#: ../../include/conversation.php:1145 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Guardar en la Carpeta"
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Event title"
+msgstr "Títol esdeveniment"
-#: ../../include/conversation.php:1146
-msgid "Where are you right now?"
-msgstr "On ets ara?"
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Requerit"
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:47
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Expira YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Events.php:451
+msgid "Categories (comma-separated list)"
+msgstr "Categories (llista separada per comes)"
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
-msgid "Share"
-msgstr "Compartir"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit Category"
+msgstr "Editar Categoria"
-#: ../../include/conversation.php:1176
-msgid "Page link name"
-msgstr "Nom de la pàgina enllaçada"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Category"
+msgstr "Categoria"
-#: ../../include/conversation.php:1179
-msgid "Post as"
-msgstr "Envia com"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit start date and time"
+msgstr "Editar data i hora d'inici"
-#: ../../include/conversation.php:1186 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Upload photo"
-msgstr "Puja foto"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Start date and time"
+msgstr "Data i hora d'inici"
-#: ../../include/conversation.php:1187
-msgid "upload photo"
-msgstr "puja foto"
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
+msgid "Finish date and time are not known or not relevant"
+msgstr "L'ora de finalització no es coneix o es irrelevant."
-#: ../../include/conversation.php:1188 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
-msgid "Attach file"
-msgstr "Adjunta arxiu"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit finish date and time"
+msgstr "Editar la data i hora de finalització"
-#: ../../include/conversation.php:1189
-msgid "attach file"
-msgstr "adjunta arxiu"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Finish date and time"
+msgstr "Data i hora de finalització"
-#: ../../include/conversation.php:1190 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Insert web link"
-msgstr "Insereix enllaç web"
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
+msgid "Adjust for viewer timezone"
+msgstr "Ajusta a la zona horària del visitant."
-#: ../../include/conversation.php:1191
-msgid "web link"
-msgstr "enllaç web"
+#: ../../Zotlabs/Module/Events.php:460
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
-#: ../../include/conversation.php:1192
-msgid "Insert video link"
-msgstr "Insereix enllaç video"
+#: ../../Zotlabs/Module/Events.php:462
+msgid "Edit Description"
+msgstr "Editar la Descripció"
-#: ../../include/conversation.php:1193
-msgid "video link"
-msgstr "enllaç video"
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Descripció"
-#: ../../include/conversation.php:1194
-msgid "Insert audio link"
-msgstr "Insereix enllaç d'audio"
+#: ../../Zotlabs/Module/Events.php:464
+msgid "Edit Location"
+msgstr "Editar la localització"
-#: ../../include/conversation.php:1195
-msgid "audio link"
-msgstr "enllaç d'audio"
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Localització"
-#: ../../include/conversation.php:1196 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
-msgid "Set your location"
-msgstr "Ajusta la teva ubicació"
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
+msgid "Share this event"
+msgstr "Comparteix aquest esdeveniment"
-#: ../../include/conversation.php:1197
-msgid "set location"
-msgstr "ajusta localització"
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
+msgid "Preview"
+msgstr "Avanç"
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:120
-msgid "Toggle voting"
-msgstr "Commutar votació"
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
+msgid "Permission settings"
+msgstr "Ajustos de permisos"
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
-msgid "Clear browser location"
-msgstr "Treu la localització del navegador"
+#: ../../Zotlabs/Module/Events.php:476
+msgid "Advanced Options"
+msgstr "Opcions Avançades"
-#: ../../include/conversation.php:1202
-msgid "clear location"
-msgstr "treu localització"
+#: ../../Zotlabs/Module/Events.php:610
+msgid "Edit event"
+msgstr "Edita l'esdeveniment"
-#: ../../include/conversation.php:1204 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
-msgid "Title (optional)"
-msgstr "Títol (opcional)"
+#: ../../Zotlabs/Module/Events.php:612
+msgid "Delete event"
+msgstr "Esborra l'esdeveniment"
-#: ../../include/conversation.php:1208 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categories (opcional, llista separada per comes)"
+#: ../../Zotlabs/Module/Events.php:646
+msgid "calendar"
+msgstr "calendari"
-#: ../../include/conversation.php:1210 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
-msgid "Permission settings"
-msgstr "Ajustos de permisos"
+#: ../../Zotlabs/Module/Events.php:706
+msgid "Event removed"
+msgstr "S'ha eliminat l'esdeveniment"
-#: ../../include/conversation.php:1211
-msgid "permissions"
-msgstr "permisos "
-
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
-msgid "Public post"
-msgstr "Entrada pública"
-
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Exemple: bob@example.com, mary@example.com"
-
-#: ../../include/conversation.php:1234 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
-msgid "Set expiration date"
-msgstr "Ajusta la data d'expiració"
+#: ../../Zotlabs/Module/Events.php:709
+msgid "Failed to remove event"
+msgstr "No s'ha pogut esborrar l'esdeveniment"
-#: ../../include/conversation.php:1238 ../../mod/events.php:651
-#: ../../mod/editpost.php:153
-msgid "OK"
-msgstr "OK"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
+msgid "Photos"
+msgstr "Fotos"
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:650 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
msgid "Cancel"
msgstr "Cancel·la"
-#: ../../include/conversation.php:1481
-msgid "Discover"
-msgstr "Descobrir"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Aquest lloc web no és un servidor de directori"
-#: ../../include/conversation.php:1484
-msgid "Imported public streams"
-msgstr "Importar fluxos públics"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Aquest servidor de directori requereix un token de accès"
-#: ../../include/conversation.php:1489
-msgid "Commented Order"
-msgstr "Ordre per Comentaris"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Guardar en la Carpeta"
-#: ../../include/conversation.php:1492
-msgid "Sort by Comment Date"
-msgstr "Ordenar per Data del Comentari"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
+msgstr "- selecciona -"
-#: ../../include/conversation.php:1496
-msgid "Posted Order"
-msgstr "Ordenar per Entrades"
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Guardar"
-#: ../../include/conversation.php:1499
-msgid "Sort by Post Date"
-msgstr "Ordenar per Data d' Entrada"
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Missatge invàlid."
-#: ../../include/conversation.php:1507
-msgid "Posts that mention or involve you"
-msgstr "Entrades que et mencionen o involucren"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "sense resultats"
-#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
-msgid "New"
-msgstr "Nou"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Informe de lliurament per %1$s"
-#: ../../include/conversation.php:1516
-msgid "Activity Stream - by date"
-msgstr "Activitat del Flux - per data"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "sincronització del canal processada"
-#: ../../include/conversation.php:1522
-msgid "Starred"
-msgstr "Preferit"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "Posat en cua"
-#: ../../include/conversation.php:1525
-msgid "Favourite Posts"
-msgstr "Entrades Favorites"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "enviat"
-#: ../../include/conversation.php:1532
-msgid "Spam"
-msgstr "Spam"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "acceptat per entregar"
-#: ../../include/conversation.php:1535
-msgid "Posts flagged as SPAM"
-msgstr "Entrades marcades com a SPAM"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "actualitzat"
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
-msgid "Channel"
-msgstr "Canal"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "actualització ignorada"
-#: ../../include/conversation.php:1582
-msgid "Status Messages and Posts"
-msgstr "Estat dels Missatges i Entrades"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "permís denegat"
-#: ../../include/conversation.php:1591
-msgid "About"
-msgstr "Sobre això"
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "Contenidor no trobat"
-#: ../../include/conversation.php:1594
-msgid "Profile Details"
-msgstr "Detalls del Perfil"
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "Recupera el correu"
-#: ../../include/conversation.php:1603 ../../include/photos.php:359
-msgid "Photo Albums"
-msgstr "Albums de Fotos"
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "rebut correu duplicat"
-#: ../../include/conversation.php:1612
-msgid "Files and Storage"
-msgstr "Arxius i Emmagatzegament"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "correu entregat"
-#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
-msgid "Chatrooms"
-msgstr "Sala per Xerrar"
-
-#: ../../include/conversation.php:1638
-msgid "Saved Bookmarks"
-msgstr "Marcadors Guardats"
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Nom del Format Gràfic"
-#: ../../include/conversation.php:1648
-msgid "Manage Webpages"
-msgstr "Gestió de Pàgines Web"
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Descripció del Format (Opcional)"
-#: ../../include/conversation.php:1707
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Assistint"
-msgstr[1] "Assistint"
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Edita Format Gràfic"
-#: ../../include/conversation.php:1710
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Desassistint"
-msgstr[1] "Desassistint"
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "Enllaç de la pàgina"
-#: ../../include/conversation.php:1713
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indecís"
-msgstr[1] "Indecisos"
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Edita la Pàgina Web"
-#: ../../include/conversation.php:1716
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Acord"
-msgstr[1] "Acords"
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "S'ha afegit el canal."
-#: ../../include/conversation.php:1719
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Desacord"
-msgstr[1] "Desacords"
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "xarxa"
-#: ../../include/conversation.php:1722
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Abstenirse"
-msgstr[1] "Abstenirse"
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Permís denegat"
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "Creat grup privat."
-#: ../../include/items.php:1035 ../../include/items.php:1081
-msgid "(Unknown)"
-msgstr "(Desconegut)"
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "No es pot crear el grup privat."
-#: ../../include/items.php:1307
-msgid "Visible to anybody on the internet."
-msgstr "Visible per tothom a la Internet"
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3893
+msgid "Privacy group not found."
+msgstr "No es troben grups privats."
-#: ../../include/items.php:1309
-msgid "Visible to you only."
-msgstr "Visible només per tú."
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Grup privat actualitzat."
-#: ../../include/items.php:1311
-msgid "Visible to anybody in this network."
-msgstr "Visible per tothom en aquesta xarxa."
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
+msgstr "Crear un grup de canals."
-#: ../../include/items.php:1313
-msgid "Visible to anybody authenticated."
-msgstr "Visible per tothom autenticat."
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
+msgstr "Nom del grup privat:"
-#: ../../include/items.php:1315
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible per a tothom a %s."
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
+msgstr "Els membres son visibles en altres canals"
-#: ../../include/items.php:1317
-msgid "Visible to all connections."
-msgstr "Visible per a totes les connexions."
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
+msgstr "Grup privat eliminat."
-#: ../../include/items.php:1319
-msgid "Visible to approved connections."
-msgstr "Visible per a les connexions aprovades."
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
+msgstr "No puc eliminar el grup privat."
-#: ../../include/items.php:1321
-msgid "Visible to specific connections."
-msgstr "Visible per a específiques connexions."
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
+msgstr "Editor del grup privat"
-#: ../../include/items.php:4215 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "Element no trobat."
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
+msgstr "Membres"
-#: ../../include/items.php:4288 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:232 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:336
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Permís denegat."
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
+msgstr "Tots els Canals Connectats"
-#: ../../include/items.php:4690 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Col·lecció no trobada."
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
+msgstr "Clic sobre el canal per afegir o esborrar."
-#: ../../include/items.php:4706
-msgid "Collection is empty."
-msgstr "La col·lecció esta buida."
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Compartir contingut des de Firefox a $Projectname"
-#: ../../include/items.php:4713
-#, php-format
-msgid "Collection: %s"
-msgstr "Col·lecció: %s"
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Activar el proveïdor de $Projectname a Firefox"
-#: ../../include/items.php:4723 ../../mod/connedit.php:662
-#, php-format
-msgid "Connection: %s"
-msgstr "Connexió: %s"
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Autoritza la connexió de l'aplicació"
-#: ../../include/items.php:4725
-msgid "Connection not found."
-msgstr "Connexió no trobada."
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Torna a la teva aplicació i insereix aquest Codi de Seguretat:"
-#: ../../include/zot.php:666
-msgid "Invalid data packet"
-msgstr "paquet de dades invàlid"
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Si et plau, identifica't per continuar."
-#: ../../include/zot.php:682
-msgid "Unable to verify channel signature"
-msgstr "No es pot verificar la signatura del canal"
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
-#: ../../include/zot.php:2132
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "No es pot verificar la signatura del lloc per %s"
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
+msgstr "Cerca de Documentació"
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Contingut embegut"
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
+msgstr "Ajuda:"
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "Incorporació desactivada"
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
+#: ../../include/nav.php:159
+msgid "Help"
+msgstr "Ajuda"
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Sortir."
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
+msgstr "$Projectname Documentació"
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Autenticació fallida"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Permisos Denegats."
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Identificació fallida."
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Arxiu no torbat."
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitació disponible"
-msgstr[1] "%d invitacions disponibles"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Edita els permisos d'arxiu"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
-msgid "Advanced"
-msgstr "Avançat"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Canvia/edita permisos"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Troba Canals"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Inclou tots als arxius i subdirectoris"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Entra un nom o interes"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Tornar al llistat d'arxius"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Conecta/Segueix"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Exemples: Lionel Messi, Futbolista"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:413
-msgid "Find"
-msgstr "Troba"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Comparteix l'arxiu"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Canals Suggerits"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Mostra la URL d'aquest arxiu"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Perfil Aleatori"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Notifica als teus contactes aquest arxiu"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Convida Amics"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Aplicatius"
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Exemple avançat: nom=pep i pais=eire"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Article no disponible."
-#: ../../include/contact_widgets.php:125
+#: ../../Zotlabs/Module/Import.php:32
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d connexió en comú"
-msgstr[1] "%d connexions en comú"
-
-#: ../../include/contact_widgets.php:130
-msgid "show more"
-msgstr "mostrar més"
-
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Visible per a la teva audiència "
-
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Mostra"
-
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "No mostrar"
-
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:668
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:147
-msgid "Permissions"
-msgstr "Permisos "
-
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
-msgstr "Article no trobat."
-
-#: ../../include/attach.php:363
-msgid "No source file."
-msgstr "No hi ha arxiu d'origen."
+msgid "Your service plan only allows %d channels."
+msgstr "El teu paquet de serveis només admet %d canals."
-#: ../../include/attach.php:381
-msgid "Cannot locate file to replace"
-msgstr "No trobo l'arxiu a reemplaçar"
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "No hi ha res a importar."
-#: ../../include/attach.php:399
-msgid "Cannot locate file to revise/update"
-msgstr "No trobo l'arxiu a revisar/actualitzar"
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr "No s'han pogut descarregar les dades del servidor antic"
-#: ../../include/attach.php:410
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "L'arxiu excedeix la mida limit de %d"
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "El fitxer importat està buit."
-#: ../../include/attach.php:422
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts."
-
-#: ../../include/attach.php:505
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda."
-
-#: ../../include/attach.php:517
-msgid "Stored file could not be verified. Upload failed."
-msgstr "L'arxiu guardat no es pot verificar. Pujada fallida."
-
-#: ../../include/attach.php:561 ../../include/attach.php:578
-msgid "Path not available."
-msgstr "Trajectòria no disponible"
-
-#: ../../include/attach.php:623
-msgid "Empty pathname"
-msgstr "Trajèctoria vuida."
-
-#: ../../include/attach.php:639
-msgid "duplicate filename or path"
-msgstr "Nom o trajectòria duplicat"
-
-#: ../../include/attach.php:663
-msgid "Path not found."
-msgstr "Trajectòria no trobada."
-
-#: ../../include/attach.php:714
-msgid "mkdir failed."
-msgstr "mkdir va fracassar."
-
-#: ../../include/attach.php:718
-msgid "database storage failed."
-msgstr "Arxiu de base de dades va fallar."
-
-#: ../../include/identity.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Incapaç de trobar l'informació d'identitat a la base de dades"
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Atenció: Les versions de la Base de Dades difereixen en %1$d actualitzacions."
-#: ../../include/identity.php:67
-msgid "Empty name"
-msgstr "Nom buit"
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
-#: ../../include/identity.php:70
-msgid "Name too long"
-msgstr "Nom massa llarg"
+#: ../../Zotlabs/Module/Import.php:160
+msgid "No channel. Import failed."
+msgstr "Sense canal. No s'ha pogut importar."
-#: ../../include/identity.php:186
-msgid "No account identifier"
-msgstr "Sense identificador de compte"
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "S'ha completat la importació."
-#: ../../include/identity.php:198
-msgid "Nickname is required."
-msgstr "Alies/malnom es requerit."
+#: ../../Zotlabs/Module/Import.php:532
+msgid "You must be logged in to use this feature."
+msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
-#: ../../include/identity.php:212
-msgid "Reserved nickname. Please choose another."
-msgstr "Àlies reservat. Tria un altre."
+#: ../../Zotlabs/Module/Import.php:537
+msgid "Import Channel"
+msgstr "Importa un canal"
-#: ../../include/identity.php:217 ../../include/dimport.php:34
+#: ../../Zotlabs/Module/Import.php:538
msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "L'álies te caracters no soportats o ja esta en ús en aquest lloc"
-
-#: ../../include/identity.php:292
-msgid "Unable to retrieve created identity"
-msgstr "No es pot recuperar la identitat creada"
-
-#: ../../include/identity.php:350
-msgid "Default Profile"
-msgstr "Perfil per Defecte"
-
-#: ../../include/identity.php:660
-msgid "Requested channel is not available."
-msgstr "El canal demanat no està disponible."
-
-#: ../../include/identity.php:707 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
-#: ../../mod/layouts.php:29
-msgid "Requested profile is not available."
-msgstr "El perfil demanat no està disponible."
-
-#: ../../include/identity.php:870 ../../mod/profiles.php:774
-msgid "Change profile photo"
-msgstr "Canviar la foto del perfil"
-
-#: ../../include/identity.php:876
-msgid "Profiles"
-msgstr "Perfils"
-
-#: ../../include/identity.php:876
-msgid "Manage/edit profiles"
-msgstr "Gestiona/edita perfils"
-
-#: ../../include/identity.php:877 ../../mod/profiles.php:775
-msgid "Create New Profile"
-msgstr "Crear un Perfil Nou"
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
-#: ../../include/identity.php:892 ../../mod/profiles.php:786
-msgid "Profile Image"
-msgstr "Imatge del Perfil"
+#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "File to Upload"
+msgstr "Fitxer a pujar"
-#: ../../include/identity.php:895
-msgid "visible to everybody"
-msgstr "visible per tothom"
+#: ../../Zotlabs/Module/Import.php:540
+msgid "Or provide the old server/hub details"
+msgstr "O proveeix els detalls de l'antic servidor/node"
-#: ../../include/identity.php:896 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
-msgstr "Editar visibilitat"
+#: ../../Zotlabs/Module/Import.php:541
+msgid "Your old identity address (xyz@example.com)"
+msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
-#: ../../include/identity.php:912 ../../include/identity.php:1151
-msgid "Gender:"
-msgstr "Gènere:"
+#: ../../Zotlabs/Module/Import.php:542
+msgid "Your old login email address"
+msgstr "La teva adreça de correu electrònic antiga"
-#: ../../include/identity.php:913 ../../include/identity.php:1195
-msgid "Status:"
-msgstr "Estatus:"
+#: ../../Zotlabs/Module/Import.php:543
+msgid "Your old login password"
+msgstr "La teva contrasenya antiga"
-#: ../../include/identity.php:914 ../../include/identity.php:1206
-msgid "Homepage:"
-msgstr "Pàgina Personal:"
+#: ../../Zotlabs/Module/Import.php:544
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest node o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
-#: ../../include/identity.php:915
-msgid "Online Now"
-msgstr "Ara en Linia"
+#: ../../Zotlabs/Module/Import.php:545
+msgid "Make this hub my primary location"
+msgstr "Fes d'aquest node la meva ubicació primària"
-#: ../../include/identity.php:998 ../../include/identity.php:1076
-#: ../../mod/ping.php:324
-msgid "g A l F d"
-msgstr "g A l F d"
+#: ../../Zotlabs/Module/Import.php:546
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible"
-#: ../../include/identity.php:999 ../../include/identity.php:1077
-msgid "F d"
-msgstr "F d"
+#: ../../Zotlabs/Module/Import.php:547
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
-#: ../../include/identity.php:1044 ../../include/identity.php:1116
-#: ../../mod/ping.php:346
-msgid "[today]"
-msgstr "[avui]"
+#: ../../Zotlabs/Module/Item.php:178
+msgid "Unable to locate original post."
+msgstr "No s'ha pogut trobar l'entrada original."
-#: ../../include/identity.php:1055
-msgid "Birthday Reminders"
-msgstr "Recordatori d'Aniversaris"
+#: ../../Zotlabs/Module/Item.php:427
+msgid "Empty post discarded."
+msgstr "S'ha descartat l'entrada perquè no té contingut."
-#: ../../include/identity.php:1056
-msgid "Birthdays this week:"
-msgstr "Aniversari aquesta setmana:"
+#: ../../Zotlabs/Module/Item.php:467
+msgid "Executable content type not permitted to this channel."
+msgstr "No està permès el contingut de tipus executable en aquest canal."
-#: ../../include/identity.php:1109
-msgid "[No description]"
-msgstr "[Sense descripció]"
+#: ../../Zotlabs/Module/Item.php:847
+msgid "Duplicate post suppressed."
+msgstr "Publicació duplicada s'ha suprimit."
-#: ../../include/identity.php:1127
-msgid "Event Reminders"
-msgstr "Recordatori d'Events"
+#: ../../Zotlabs/Module/Item.php:977
+msgid "System error. Post not saved."
+msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
-#: ../../include/identity.php:1128
-msgid "Events this week:"
-msgstr "Event aquesta setmana:"
+#: ../../Zotlabs/Module/Item.php:1241
+msgid "Unable to obtain post information from database."
+msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
-#: ../../include/identity.php:1141 ../../include/identity.php:1258
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Perfil"
+#: ../../Zotlabs/Module/Item.php:1248
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
-#: ../../include/identity.php:1149 ../../mod/settings.php:1056
-msgid "Full Name:"
-msgstr "Nom Complet:"
+#: ../../Zotlabs/Module/Item.php:1255
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Has assolit el teu limit de %1$.0f pàgines web."
-#: ../../include/identity.php:1156
-msgid "Like this channel"
-msgstr "M'agrada aquest canal"
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
+msgid "Layouts"
+msgstr "Format Gràfic"
-#: ../../include/identity.php:1180
-msgid "j F, Y"
-msgstr "j F, Y"
+#: ../../Zotlabs/Module/Layouts.php:183
+msgid "Comanche page description language help"
+msgstr "Pgina d'ajuda del llenguatge Comanche"
-#: ../../include/identity.php:1181
-msgid "j F"
-msgstr "j F"
+#: ../../Zotlabs/Module/Layouts.php:187
+msgid "Layout Description"
+msgstr "Descripció del Disseny de la Pàgina"
-#: ../../include/identity.php:1188
-msgid "Birthday:"
-msgstr "Aniversari:"
+#: ../../Zotlabs/Module/Layouts.php:192
+msgid "Download PDL file"
+msgstr "Descarrega l'arxiu PDL"
-#: ../../include/identity.php:1192 ../../mod/directory.php:297
-msgid "Age:"
-msgstr "Edat:"
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../include/identity.php:1201
+#: ../../Zotlabs/Module/Home.php:79
#, php-format
-msgid "for %1$d %2$s"
-msgstr "per %1$d %2$s"
+msgid "Welcome to %s"
+msgstr "Benvingut a %s"
-#: ../../include/identity.php:1204 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
-msgstr "Preferència Sexual:"
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Nom"
-#: ../../include/identity.php:1208 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
-msgid "Hometown:"
-msgstr "Ciutat Natal:"
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Cognoms"
-#: ../../include/identity.php:1210
-msgid "Tags:"
-msgstr "Etiquetes:"
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Àlies"
-#: ../../include/identity.php:1212 ../../mod/profiles.php:694
-msgid "Political Views:"
-msgstr "Idees Polítiques:"
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Nom Sencer"
-#: ../../include/identity.php:1214
-msgid "Religion:"
-msgstr "Religió:"
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "Correu electrónic"
-#: ../../include/identity.php:1216 ../../mod/directory.php:315
-msgid "About:"
-msgstr "Sobre:"
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Foto del Perfil"
-#: ../../include/identity.php:1218
-msgid "Hobbies/Interests:"
-msgstr "Aficions/Interessos:"
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Foto del Perfil 16px"
-#: ../../include/identity.php:1220 ../../mod/profiles.php:697
-msgid "Likes:"
-msgstr "Agrada:"
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Foto del Perfil 32px"
-#: ../../include/identity.php:1222 ../../mod/profiles.php:698
-msgid "Dislikes:"
-msgstr "Desagrada:"
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Foto del Perfil 48px"
-#: ../../include/identity.php:1224
-msgid "Contact information and Social Networks:"
-msgstr "Informació de contacte i Xarxes Socials:"
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Foto del Perfil 64px"
-#: ../../include/identity.php:1226
-msgid "My other channels:"
-msgstr "Els meus altres canals:"
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Foto del Perfil 80px"
-#: ../../include/identity.php:1228
-msgid "Musical interests:"
-msgstr "Interessos Musicals:"
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Foto del Perfil 128px"
-#: ../../include/identity.php:1230
-msgid "Books, literature:"
-msgstr "Llibres, literatura:"
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Zona horària"
-#: ../../include/identity.php:1232
-msgid "Television:"
-msgstr "Televisió:"
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "URL de la pàgina d'inici"
-#: ../../include/identity.php:1234
-msgid "Film/dance/culture/entertainment:"
-msgstr "Películes/Dança/Cultura/Entreteniment:"
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Idioma"
-#: ../../include/identity.php:1236
-msgid "Love/Romance:"
-msgstr "Amor/Romace:"
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Any de Naixement"
-#: ../../include/identity.php:1238
-msgid "Work/employment:"
-msgstr "Treball/feina:"
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Mes de Naixement"
-#: ../../include/identity.php:1240
-msgid "School/education:"
-msgstr "Escola/educació:"
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Dia de Naixement"
-#: ../../include/identity.php:1260
-msgid "Like this thing"
-msgstr "M'agrada això"
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Aniversari"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Gènere"
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
msgid "Male"
msgstr "Masculí"
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
msgid "Female"
msgstr "Femení"
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Actualment Masculí"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Actualment Femení"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Més aviat Masculí"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Més Aviat Femení"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Canvi de Sexe"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersexual"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transsexual"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodita"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutre"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Indefinit"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Indecís"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
-msgstr "Homes"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
-msgstr "Dones"
-
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
-msgstr "Lesbianes"
-
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
-msgstr "Sense Preferències"
-
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
-msgstr "Bisexual"
-
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
-msgstr "Autosexual"
-
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
-msgstr "Abstinent"
-
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
-msgstr "Verge"
-
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
-msgstr "Desviat"
-
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
-msgstr "Fetixiste"
-
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
-msgstr "Orgies"
-
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
-msgstr "Asexual"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
-msgstr "Solter"
-
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
-msgstr "Solitari"
-
-#: ../../include/profile_selectors.php:80
-msgid "Available"
-msgstr "Disponible"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
-msgstr "No Disponible"
-
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
-msgstr "Aplastat"
-
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
-msgstr "Encapritxat"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
-msgstr "Promés"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
-msgstr "Infidel"
-
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
-msgstr "Adicte al Sexe"
-
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
-msgstr "Amics amb Beneficis"
-
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
-msgstr "Casual"
-
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
-msgstr "Ocupat"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
-msgstr "Casat"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
-msgstr "Casat Imaginàriament"
-
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
-msgstr "Parella"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
-msgstr "Cohabitant"
-
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
-msgstr "Tradició"
-
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
-msgstr "Feliç"
-
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
-msgstr "No Cerco"
-
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
-msgstr "Llibertí"
-
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
-msgstr "Traït"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
-msgstr "Separat"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
-msgstr "Inestable"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
-msgstr "Divorciat"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
-msgstr "Divorciat Imaginàriament"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
-msgstr "Vidu/ua"
-
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
-msgstr "Incert"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
-msgstr "Es Complicat"
-
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
-msgstr "No Et Fa Res"
-
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
-msgstr "Pregunta"
-
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Administració"
-
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Adreçes"
-
-#: ../../include/apps.php:144 ../../mod/mood.php:130
-msgid "Mood"
-msgstr "Ànim"
-
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Sondeig"
-
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Suggeriment"
-
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Canal Aleatori"
-
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Convida"
-
-#: ../../include/apps.php:152
-msgid "Features"
-msgstr "Funcionalitats"
-
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Idioma"
-
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Entrada"
-
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Foto del Perfil"
-
-#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
-msgid "Update"
-msgstr "Actualització"
-
-#: ../../include/apps.php:247
-msgid "Install"
-msgstr "Instal·lar"
-
-#: ../../include/apps.php:252
-msgid "Purchase"
-msgstr "Compra"
-
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Imatge/foto"
-
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Contingut encriptat"
-
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instal·la l'element %s:"
-
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
msgid "webpage"
msgstr "pàgina web"
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "disposició"
-
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
msgid "block"
msgstr "bloc"
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "disposició"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
msgid "menu"
msgstr "menú"
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "QR code"
-
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s va escriure el següent %2$s %3$s"
-
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "entrada"
-
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Diferents observadors veuran aquest text de diferents formes"
-
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 va escriure:"
-
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Perdut el nom de la sala"
-
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Nom de la sala duplicat"
-
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Especificació de la sala invàlida."
-
-#: ../../include/chat.php:120
-msgid "Room not found."
-msgstr "Sala no trobada."
-
-#: ../../include/chat.php:141
-msgid "Room is full"
-msgstr "La sala es plena"
-
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "La imatge excedeix la mida limit pel lloc web en %lu bytes"
-
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "El fitxer d'imatge esta buit."
-
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "incapaç de processar la imatge"
-
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Fracassà l'emmagatzematge de la Foto"
-
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Puja Noves Fotos"
-
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Algunes propostes sobre el que cal fer quan ets nou aquí"
-
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Has creat %1$.0f de %2$.0f canals permesos."
-
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Crear un nou canal"
-
-#: ../../mod/manage.php:167
-msgid "Current Channel"
-msgstr "Canal Actual"
-
-#: ../../mod/manage.php:169
-msgid "Switch to one of your channels by selecting it."
-msgstr "Canviar a un altre dels teus canals seleccionant-ho."
-
-#: ../../mod/manage.php:170
-msgid "Default Channel"
-msgstr "Canal per Defecte"
-
-#: ../../mod/manage.php:171
-msgid "Make Default"
-msgstr "Estableix com a Predeterminat"
-
-#: ../../mod/manage.php:174
-#, php-format
-msgid "%d new messages"
-msgstr "%d missatges nous"
-
-#: ../../mod/manage.php:175
-#, php-format
-msgid "%d new introductions"
-msgstr "%d noves presentacions"
-
-#: ../../mod/manage.php:177
-msgid "Delegated Channels"
-msgstr "Canals Delegats"
-
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Accés públic denegat."
-
-#: ../../mod/directory.php:234
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valoració"
-msgstr[1] "%d valoracions"
-
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Gènere:"
-
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Estatus:"
-
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Pàgina Personal:"
-
-#: ../../mod/directory.php:308 ../../mod/events.php:659
-msgid "Description:"
-msgstr "Descripció:"
-
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Forum Públic:"
-
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Paraules Clau:"
-
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "No suggerir"
-
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Connexions en comú:"
-
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Directori Global"
-
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Directori Local"
-
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Cercant:"
-
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "pàgina següent"
-
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "pàgina anterior"
-
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Opcions per ordenar"
-
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabètic"
-
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Alfabètic Invers"
-
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "De més Nou a més Vell"
-
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "De més Antic a més Nou"
-
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Sense entrades (algunes podrien estar amagades)."
-
-#: ../../mod/xchan.php:6
-msgid "Xchan Lookup"
-msgstr "Cerca a xchan"
-
-#: ../../mod/xchan.php:9
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca a xchan començant per (o webbie)"
-
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
-msgid "Not found."
-msgstr "No trobat."
-
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Autoritza la connexió de l'aplicació"
-
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna a la teva aplicació i insereix aquest Codi de Seguretat:"
-
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Si et plau, identifica't per continuar."
-
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
-
-#: ../../mod/webpages.php:191
-msgid "Page Title"
-msgstr "Títol de la pàgina"
-
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "S'ha afegit el canal."
-
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
-msgid "Tag removed"
-msgstr "S'ha tret l'etiqueta"
-
-#: ../../mod/tagrm.php:119
-msgid "Remove Item Tag"
-msgstr "Elimina l'etiqueta d'element"
-
-#: ../../mod/tagrm.php:121
-msgid "Select a tag to remove: "
-msgstr "Tria l'etiqueta a eliminar:"
-
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
-msgid "Remove"
-msgstr "Esborra"
-
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
-msgid "Continue"
-msgstr "Continua"
-
-#: ../../mod/connect.php:85
-msgid "Premium Channel Setup"
-msgstr "Configuració de Canals Premium"
-
-#: ../../mod/connect.php:87
-msgid "Enable premium channel connection restrictions"
-msgstr "Habilita les restriccions de connexió del canal premium"
-
-#: ../../mod/connect.php:88
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
-
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:"
-
-#: ../../mod/connect.php:91
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Connexions potencials veuran el següent text abans de continuar:"
-
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina."
-
-#: ../../mod/connect.php:101
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(No s'han proporcionat instruccions específiques pel propietari del canal.)"
-
-#: ../../mod/connect.php:109
-msgid "Restricted or Premium Channel"
-msgstr "Canal Restringit o Premium"
-
-#: ../../mod/thing.php:94
-msgid "Thing updated"
-msgstr "S'ha actualitzat la cosa"
-
-#: ../../mod/thing.php:153
-msgid "Object store: failed"
-msgstr "No s'ha pogut emmagatzemar l'objecte"
-
-#: ../../mod/thing.php:157
-msgid "Thing added"
-msgstr "S'ha afegit la cosa"
-
-#: ../../mod/thing.php:175
+#: ../../Zotlabs/Module/Impel.php:196
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:226
-msgid "Show Thing"
-msgstr "Mostra la cosa"
-
-#: ../../mod/thing.php:233
-msgid "item not found."
-msgstr "no s'ha trobat l'element."
-
-#: ../../mod/thing.php:261
-msgid "Edit Thing"
-msgstr "Edita la cosa"
-
-#: ../../mod/thing.php:263 ../../mod/thing.php:310
-msgid "Select a profile"
-msgstr "Tria un perfil"
-
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Post an activity"
-msgstr "Publica una activitat"
-
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Only sends to viewers of the applicable profile"
-msgstr "S'envia només a visitants del perfil corresponent"
-
-#: ../../mod/thing.php:269 ../../mod/thing.php:315
-msgid "Name of thing e.g. something"
-msgstr "Nom de la cosa. Exemple: patata"
-
-#: ../../mod/thing.php:271 ../../mod/thing.php:316
-msgid "URL of thing (optional)"
-msgstr "Adreça URL de la cosa (opcional)"
-
-#: ../../mod/thing.php:273 ../../mod/thing.php:317
-msgid "URL for photo of thing (optional)"
-msgstr "Adreça URL de la foto d'una cosa (opcional)"
-
-#: ../../mod/thing.php:308
-msgid "Add Thing to your Profile"
-msgstr "Afegeix una cosa al teu perfil"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Article no disponible."
-
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "URL sol·licitada retorna error: %1$s"
-
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
-
-#: ../../mod/profile_photo.php:162
-msgid "Image resize failed."
-msgstr "No s'ha pogut escalar la imatge."
-
-#: ../../mod/profile_photo.php:206
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
-
-#: ../../mod/profile_photo.php:233
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "La imatge excedeix la mida límit de %d"
-
-#: ../../mod/profile_photo.php:242
-msgid "Unable to process image."
-msgstr "Incapaç de processar l'imatge."
-
-#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
-msgid "Photo not available."
-msgstr "Foto no disponible."
-
-#: ../../mod/profile_photo.php:359
-msgid "Upload File:"
-msgstr "Puja Arxiu:"
-
-#: ../../mod/profile_photo.php:360
-msgid "Select a profile:"
-msgstr "Tria un perfil:"
-
-#: ../../mod/profile_photo.php:361
-msgid "Upload Profile Photo"
-msgstr "Puja una Foto pel Perfil"
-
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "o"
-
-#: ../../mod/profile_photo.php:366
-msgid "skip this step"
-msgstr "salta aquest pas"
-
-#: ../../mod/profile_photo.php:366
-msgid "select a photo from your photo albums"
-msgstr "tria una foto del teu àlbum de fotos"
-
-#: ../../mod/profile_photo.php:382
-msgid "Crop Image"
-msgstr "Retalla Imatge"
-
-#: ../../mod/profile_photo.php:383
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Si us plau, retalla la imatge per a una optima visualització"
-
-#: ../../mod/profile_photo.php:385
-msgid "Done Editing"
-msgstr "Edició Feta"
-
-#: ../../mod/profile_photo.php:428
-msgid "Image uploaded successfully."
-msgstr "Imatge pujada exitosament."
-
-#: ../../mod/profile_photo.php:430
-msgid "Image upload failed."
-msgstr "La pujada de la imatge va fracassar."
+msgid "%s element installed"
+msgstr "%s element instal·lat"
-#: ../../mod/profile_photo.php:439
+#: ../../Zotlabs/Module/Impel.php:199
#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "La reducció de mida de la imatge [%s] va fracassar."
-
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Article invàlid."
-
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
-msgid "Channel not found."
-msgstr "Canal no trobat."
-
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
-msgid "Page not found."
-msgstr "Pàgina no trobada."
+msgid "%s element installation failed"
+msgstr "%s instal·lació d'element va fallar"
-#: ../../mod/like.php:15
+#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "M'agrada / No m'agrada"
-#: ../../mod/like.php:20
+#: ../../Zotlabs/Module/Like.php:24
msgid "This action is restricted to members."
msgstr "Aquesta acció està restringida als membres."
-#: ../../mod/like.php:21
+#: ../../Zotlabs/Module/Like.php:25
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "<a href=\"rmagic\">Entra amb la teva identitat $Projectname</a> o <a href=\"register\">registra't a $Projectname</a> per continuar."
-#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
msgid "Invalid request."
msgstr "Sol·licitud invàlida."
-#: ../../mod/like.php:143
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "canal"
+
+#: ../../Zotlabs/Module/Like.php:146
msgid "thing"
msgstr "cosa"
-#: ../../mod/like.php:189
+#: ../../Zotlabs/Module/Like.php:192
msgid "Channel unavailable."
msgstr "El canal està inactiu."
-#: ../../mod/like.php:228
+#: ../../Zotlabs/Module/Like.php:240
msgid "Previous action reversed."
msgstr "S'ha desfet l'acció anterior."
-#: ../../mod/like.php:398
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "foto"
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1946 ../../include/conversation.php:148
+msgid "status"
+msgstr "estat"
+
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s agrada %2$s de %3$s"
+
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s no agrada %2$s de %3$s"
+
+#: ../../Zotlabs/Module/Like.php:424
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s està d'acord amb %3$s de %2$s"
-#: ../../mod/like.php:400
+#: ../../Zotlabs/Module/Like.php:426
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s no està d'acord amb %3$s de %2$s"
-#: ../../mod/like.php:402
+#: ../../Zotlabs/Module/Like.php:428
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s s'abstén en %3$s de %2$s"
-#: ../../mod/like.php:404
+#: ../../Zotlabs/Module/Like.php:430
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s assistirà a %3$s de %2$s"
-#: ../../mod/like.php:406
+#: ../../Zotlabs/Module/Like.php:432
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s no assistirà a %3$s de %2$s"
-#: ../../mod/like.php:408
+#: ../../Zotlabs/Module/Like.php:434
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s potser assistirà a %3$s de %2$s"
-#: ../../mod/like.php:492
+#: ../../Zotlabs/Module/Like.php:537
msgid "Action completed."
msgstr "S'ha completat l'acció."
-#: ../../mod/like.php:493
+#: ../../Zotlabs/Module/Like.php:538
msgid "Thank you."
msgstr "Gràcies."
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr "Entrades de Calendari importades."
-
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr "No es troben entrades decalendari."
-
-#: ../../mod/events.php:101
-msgid "Event can not end before it has started."
-msgstr "L'esdeveniment ha de començar abans d'acabar."
-
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
-msgid "Unable to generate preview."
-msgstr "No s'ha pogut generar la vista prèvia."
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "S'ha completat la importació"
-#: ../../mod/events.php:110
-msgid "Event title and start time are required."
-msgstr "Cal indicar l'inici i el final de l'esdeveniment."
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importa Articles"
-#: ../../mod/events.php:128
-msgid "Event not found."
-msgstr "No s'ha trobat l'esdeveniment."
-
-#: ../../mod/events.php:409
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:431
-msgid "Edit event"
-msgstr "Edita l'esdeveniment"
-
-#: ../../mod/events.php:432
-msgid "Delete event"
-msgstr "Esborra l'esdeveniment"
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Empra aquest formulari per importar entrades existents i contingut d'un arxiu d'exportació."
-#: ../../mod/events.php:466
-msgid "calendar"
-msgstr "calendari"
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "El límit total invitacions s'ha superat."
-#: ../../mod/events.php:487
-msgid "Create New Event"
-msgstr "Crea un esdeveniment nou"
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: adreça de correu electrònic no vàlida."
-#: ../../mod/events.php:488 ../../mod/photos.php:839
-msgid "Previous"
-msgstr "Anterior"
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Si us plau uneix-te a nosaltres a $Projectname."
-#: ../../mod/events.php:489 ../../mod/photos.php:848 ../../mod/setup.php:281
-msgid "Next"
-msgstr "Pròxim"
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc."
-#: ../../mod/events.php:490
-msgid "Export"
-msgstr "Exporta"
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Entrega del Missatge fallida."
-#: ../../mod/events.php:493
-msgid "Import"
-msgstr "Importar"
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d missatge enviat."
+msgstr[1] "%d missatges enviats."
-#: ../../mod/events.php:518
-msgid "Event removed"
-msgstr "S'ha eliminat l'esdeveniment"
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "No té més invitacions disponibles"
-#: ../../mod/events.php:521
-msgid "Failed to remove event"
-msgstr "No s'ha pogut esborrar l'esdeveniment"
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Enviar invitacions"
-#: ../../mod/events.php:641
-msgid "Event details"
-msgstr "Detalls de l'esdeveniment"
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Introduïu les adreces de correu electrònic, una per línia:"
-#: ../../mod/events.php:642
-msgid "Starting date and Title are required."
-msgstr "La data d'inici i el títol són obligatoris."
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "El teu missatge:"
-#: ../../mod/events.php:644
-msgid "Categories (comma-separated list)"
-msgstr "Categories (llista separada per comes)"
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Si us plau uneix-te la meva comunitat en $Projectname."
-#: ../../mod/events.php:646
-msgid "Event Starts:"
-msgstr "Inici:"
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Hauràs de facilitar aquest codi d'invitació:"
-#: ../../mod/events.php:653
-msgid "Finish date/time is not known or not relevant"
-msgstr "La data i hora de final no és coneguda o irrellevant"
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Pots registrar-te a qualsevol node de $Projectname (estàn tots interconnectats)"
-#: ../../mod/events.php:655
-msgid "Event Finishes:"
-msgstr "Final:"
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Escriu la meva adreça de xarxa al $Projectname, a la barra de cerca del lloc."
-#: ../../mod/events.php:657 ../../mod/events.php:658
-msgid "Adjust for viewer timezone"
-msgstr "Ajusta a la zona horària del visitant."
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "o visitar"
-#: ../../mod/events.php:657
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Clicar [Conectar]"
-#: ../../mod/events.php:663
-msgid "Title:"
-msgstr "Títol:"
+#: ../../Zotlabs/Module/Lockview.php:61
+msgid "Remote privacy information not available."
+msgstr "informació privada remota no disponible."
-#: ../../mod/events.php:665
-msgid "Share this event"
-msgstr "Comparteix aquest esdeveniment"
+#: ../../Zotlabs/Module/Lockview.php:82
+msgid "Visible to:"
+msgstr "Visible per:"
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s esta seguint %2$s de %3$s"
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "Situació que no es troba."
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
-msgstr "Llocs públics"
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "Ha fallat la cerca d'ubicació."
-#: ../../mod/pubsites.php:19
+#: ../../Zotlabs/Module/Locs.php:66
msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "Els llocs llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors."
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Seleccioneu una altra ubicació per esdevenir primària abans de retirar la ubicació principal."
-#: ../../mod/pubsites.php:25
-msgid "Rate this hub"
-msgstr "Valora aquest hub"
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "Sincronitza ubicacions"
-#: ../../mod/pubsites.php:26
-msgid "Site URL"
-msgstr "Adreça URL del web"
-
-#: ../../mod/pubsites.php:26
-msgid "Access Type"
-msgstr "Tipus d'accés"
-
-#: ../../mod/pubsites.php:26
-msgid "Registration Policy"
-msgstr "Condicions de registre"
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "No es troben els llocs."
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
-msgid "Location"
-msgstr "Localització"
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Gestionar Ubicacions de Canal"
-#: ../../mod/pubsites.php:26
-msgid "View hub ratings"
-msgstr "Mostra la valoració del hub"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Adreça"
-#: ../../mod/pubsites.php:30
-msgid "Rate"
-msgstr "Puntua"
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr "Primari"
-#: ../../mod/pubsites.php:31
-msgid "View ratings"
-msgstr "Mostra les valoracions"
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr "Menysprea"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
-msgid "Edit post"
-msgstr "Modifica l'entrada"
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Sincronitza Ara"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canal de $Projectname"
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Si us plau espera diversos minuts entre operacions consecutives."
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "Creada una col·lecció"
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Quan sigui possible, per desapareixer d'un lloc, accedeix a aquest lloc web/node i elimina el teu canal."
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "No puc crear la col·lecció."
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Empra aquest formulari per desapareixer del lloc si el node ja no està operatiu."
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Col·lecció actualitzada."
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "Node no trobat."
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Creada una col·lecció de canals."
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
+msgstr "Incapaç de trobar el destinatari."
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nom de la Col·lecció:"
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
+msgstr "Incapaç de comunicar amb el canal demanat."
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Els membres son visibles en altres canals"
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
+msgstr "No puc verificar el canal demanat."
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Col·lecció esborrada."
+#: ../../Zotlabs/Module/Mail.php:78
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Incapaç d'esborrar la col·lecció."
+#: ../../Zotlabs/Module/Mail.php:143
+msgid "Messages"
+msgstr "Missatges"
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Editor de Col·leccions"
+#: ../../Zotlabs/Module/Mail.php:178
+msgid "Message recalled."
+msgstr "Recupera el missatge."
-#: ../../mod/group.php:196 ../../mod/bulksetclose.php:89
-msgid "Members"
-msgstr "Membres"
+#: ../../Zotlabs/Module/Mail.php:191
+msgid "Conversation removed."
+msgstr "Conversació eliminada."
-#: ../../mod/group.php:198 ../../mod/bulksetclose.php:91
-msgid "All Connected Channels"
-msgstr "Tots els Canals Connectats"
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Expira YYYY-MM-DD HH:MM"
-#: ../../mod/group.php:233 ../../mod/bulksetclose.php:126
-msgid "Click on a channel to add or remove."
-msgstr "Clic sobre el canal per afegir o esborrar."
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Requested channel is not in this network"
+msgstr "El canal demanat no hi es en questa xarxa"
-#: ../../mod/siteinfo.php:112
-#, php-format
-msgid "Version %s"
-msgstr "Versió %s"
+#: ../../Zotlabs/Module/Mail.php:242
+msgid "Send Private Message"
+msgstr "Envia Missatge Privat"
-#: ../../mod/siteinfo.php:133
-msgid "Installed plugins/addons/apps:"
-msgstr "Plugins/addons/apps Instal·lats:"
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+msgid "To:"
+msgstr "Per:"
-#: ../../mod/siteinfo.php:146
-msgid "No installed plugins/addons/apps"
-msgstr "Plugins/addons/apps no instal·lats"
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
+msgid "Subject:"
+msgstr "Assumpte:"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1220
+msgid "Attach file"
+msgstr "Adjunta arxiu"
-#: ../../mod/siteinfo.php:156
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Aquest és un hub de $Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat."
+#: ../../Zotlabs/Module/Mail.php:253
+msgid "Send"
+msgstr "Envia"
-#: ../../mod/siteinfo.php:158
-msgid "Tag: "
-msgstr "Etiqueta:"
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1251
+msgid "Set expiration date"
+msgstr "Ajusta la data d'expiració"
-#: ../../mod/siteinfo.php:160
-msgid "Last background fetch: "
-msgstr "Última actualització en rerefons:"
+#: ../../Zotlabs/Module/Mail.php:340
+msgid "Delete message"
+msgstr "Elimina el missatge"
-#: ../../mod/siteinfo.php:163
-msgid "Running at web location"
-msgstr "Correguent en el lloc web"
+#: ../../Zotlabs/Module/Mail.php:341
+msgid "Delivery report"
+msgstr "Informe d'entrega"
-#: ../../mod/siteinfo.php:164
-msgid ""
-"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Ves a <a href=\"https://redmatrix.me\">redmatrix.me</a> per saber-ne més sobre $Projectname."
+#: ../../Zotlabs/Module/Mail.php:342
+msgid "Recall message"
+msgstr "Recupera el missatge"
-#: ../../mod/siteinfo.php:165
-msgid "Bug reports and issues: please visit"
-msgstr "Per informar d'errors o problemes ves a"
+#: ../../Zotlabs/Module/Mail.php:344
+msgid "Message has been recalled."
+msgstr "El missatge s'ha recuperat."
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "$projectname emisions"
+#: ../../Zotlabs/Module/Mail.php:361
+msgid "Delete Conversation"
+msgstr "Conversació esborrada"
-#: ../../mod/siteinfo.php:168
+#: ../../Zotlabs/Module/Mail.php:363
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com"
-
-#: ../../mod/siteinfo.php:170
-msgid "Site Administrators"
-msgstr "Administradors del lloc"
-
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "No s'ha pogut trobar l'entrada original."
-
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "S'ha descartat l'entrada perquè no té contingut."
-
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "No està permès el contingut de tipus executable en aquest canal."
-
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
+#: ../../Zotlabs/Module/Mail.php:367
+msgid "Send Reply"
+msgstr "Envia Resposta"
-#: ../../mod/item.php:1126
+#: ../../Zotlabs/Module/Mail.php:372
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
+msgid "Your message for %s (%s):"
+msgstr "El teu missatge per %s (%s):"
-#: ../../mod/item.php:1133
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Has assolit el teu limit de %1$.0f pàgines web."
-
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "No existeix el grup"
-
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "No existeix el canal"
-
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Cerca resultats per:"
-
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "La coŀlecció és buida"
-
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Coŀlecció:"
-
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Connexió:"
-
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "La connexió és invàlida."
-
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "No s'ha trobat el canal"
-
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Connexions en comú"
-
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "No hi ha connexions en comú."
-
-#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Aquest lloc web no és un servidor de directori"
-
-#: ../../mod/connections.php:37 ../../mod/connedit.php:75
-msgid "Could not access contact record."
-msgstr "No s'ha pogut accedir al llibre de contactes."
-
-#: ../../mod/connections.php:51 ../../mod/connedit.php:99
-msgid "Could not locate selected profile."
-msgstr "No s'ha trobat el perfil indicat."
-
-#: ../../mod/connections.php:94 ../../mod/connedit.php:219
-msgid "Connection updated."
-msgstr "S'ha actualitzat la connexió."
-
-#: ../../mod/connections.php:96 ../../mod/connedit.php:221
-msgid "Failed to update connection record."
-msgstr "No s'ha pogut actualitzar el registre de connexió."
-
-#: ../../mod/connections.php:192 ../../mod/connections.php:293
-msgid "Blocked"
-msgstr "Bloquejades"
-
-#: ../../mod/connections.php:197 ../../mod/connections.php:300
-msgid "Ignored"
-msgstr "Ignorades"
-
-#: ../../mod/connections.php:202 ../../mod/connections.php:314
-msgid "Hidden"
-msgstr "Amagades"
-
-#: ../../mod/connections.php:207 ../../mod/connections.php:307
-msgid "Archived"
-msgstr "Arxivades"
-
-#: ../../mod/connections.php:271
-msgid "Suggest new connections"
-msgstr "Suggereix noves connexions"
-
-#: ../../mod/connections.php:274
-msgid "New Connections"
-msgstr "Noves Connexions"
-
-#: ../../mod/connections.php:277
-msgid "Show pending (new) connections"
-msgstr "Mostra les connexions pendents (noves)"
-
-#: ../../mod/connections.php:280 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Totes les Connexions"
-
-#: ../../mod/connections.php:283
-msgid "Show all connections"
-msgstr "Mostra totes les connexions"
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Has creat %1$.0f de %2$.0f canals permesos."
-#: ../../mod/connections.php:286
-msgid "Unblocked"
-msgstr "No bloquejades"
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "Crear un nou canal"
-#: ../../mod/connections.php:289
-msgid "Only show unblocked connections"
-msgstr "Mostra només les connexions no bloquejades"
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
+msgid "Channel Manager"
+msgstr "Gestor de Canals"
-#: ../../mod/connections.php:296
-msgid "Only show blocked connections"
-msgstr "Mostra només les connexions bloquejades"
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "Canal Actual"
-#: ../../mod/connections.php:303
-msgid "Only show ignored connections"
-msgstr "Mostra només les connexions ignorades"
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr "Canviar a un altre dels teus canals seleccionant-ho."
-#: ../../mod/connections.php:310
-msgid "Only show archived connections"
-msgstr "Mostra només les connexions arxivades"
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "Canal per Defecte"
-#: ../../mod/connections.php:317
-msgid "Only show hidden connections"
-msgstr "Mostra només les connexions amagades"
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "Estableix com a Predeterminat"
-#: ../../mod/connections.php:372
+#: ../../Zotlabs/Module/Manage.php:172
#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:373
-msgid "Edit connection"
-msgstr "Modifica la connexió"
-
-#: ../../mod/connections.php:411
-msgid "Search your connections"
-msgstr "Cerca entre les teves connexions"
-
-#: ../../mod/connections.php:412
-msgid "Finding: "
-msgstr "Cercant:"
-
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nom del Bloc"
-
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Títol del bloc"
+msgid "%d new messages"
+msgstr "%d missatges nous"
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "No s'ha trobat l'element"
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr "%d noves presentacions"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Article no editable"
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr "Canal Delegat"
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Esborrar ítem"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "No es troba un compte vàlid."
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "insereix video YouTube"
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Insereix video Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lloc d'Usuari (%s)"
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Insereix audio Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
-#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++"
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
-#: ../../mod/photos.php:78
-msgid "Page owner information could not be retrieved."
-msgstr "La informació del propietari de la pàgina no va poder ser recuperada"
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Restabliment de contrasenya"
-#: ../../mod/photos.php:98
-msgid "Album not found."
-msgstr "Àlbum no trobat"
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "S'ha restablert la vostra contrasenya."
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
-msgid "Delete Album"
-msgstr "Esborra Àlbum"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "La nova contrasenya és"
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
-msgid "Delete Photo"
-msgstr "Esborra Foto"
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Desa o copia la nova contrasenya, i després"
-#: ../../mod/photos.php:452
-msgid "No photos selected"
-msgstr "No has seleccionat fotos"
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "fes clic aquí per iniciar sessió"
-#: ../../mod/photos.php:496
-msgid "Access to this item is restricted."
-msgstr "L'accés a aquest element esta restringit."
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
-#: ../../mod/photos.php:535
+#: ../../Zotlabs/Module/Lostpass.php:112
#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges."
+msgid "Your password has changed at %s"
+msgstr "La teva contrasenya a %s ha canviat"
-#: ../../mod/photos.php:538
-#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "S'estan fent servir %1$.2f MB de l'espai per a imatges."
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "No recordes la contrasenya?"
-#: ../../mod/photos.php:562
-msgid "Upload Photos"
-msgstr "Puja imatges"
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
-msgid "Enter a new album name"
-msgstr "Escriu el nom del nou àlbum"
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "Adreça electrònica"
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
-msgid "or select an existing one (doubleclick)"
-msgstr "o bé fes doble clic a un d'existent"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Reajustar"
-#: ../../mod/photos.php:568
-msgid "Create a status post for this upload"
-msgstr "Genera una entrada a partir de la pujada"
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "No s'ha pogut actualitzar el menú."
-#: ../../mod/photos.php:596
-msgid "Album name could not be decoded"
-msgstr "No s'ha pogut descodificar el nom de l'àlbum"
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "No s'ha pogut crear el menú."
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
-msgid "Contact Photos"
-msgstr "Imatges de contactes"
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Nom del menú"
-#: ../../mod/photos.php:661
-msgid "Show Newest First"
-msgstr "Ordena de més nou a més antic"
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nom únic (no visible a la pàgina web) - requerit"
-#: ../../mod/photos.php:663
-msgid "Show Oldest First"
-msgstr "Ordena de més antic a més nou"
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Títol del menú"
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
-msgid "View Photo"
-msgstr "Mostra la imatge"
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
-#: ../../mod/photos.php:716
-msgid "Edit Album"
-msgstr "Modifica l'àlbum"
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Permetre Marcadors"
-#: ../../mod/photos.php:761
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "S'ha denegat el permís. Pot ser que l'accés estigui restringit."
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "El menú es pot emprar per a guardar marcadors"
-#: ../../mod/photos.php:763
-msgid "Photo not available"
-msgstr "La imatge no està disponible"
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Envia i procedeix"
-#: ../../mod/photos.php:821
-msgid "Use as profile photo"
-msgstr "Fes-la imatge de perfil"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
+msgid "Menus"
+msgstr "Menús"
-#: ../../mod/photos.php:828
-msgid "Private Photo"
-msgstr "Imatge privada"
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Marcadors permesos"
-#: ../../mod/photos.php:843
-msgid "View Full Size"
-msgstr "Mostra a mida completa"
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Esborra el menú"
-#: ../../mod/photos.php:921
-msgid "Edit photo"
-msgstr "Modifica la imatge"
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Edita el contingut del menú"
-#: ../../mod/photos.php:923
-msgid "Rotate CW (right)"
-msgstr "Tomba cap a la dreta"
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Edita el menú"
-#: ../../mod/photos.php:924
-msgid "Rotate CCW (left)"
-msgstr "Tomba cap a l'esquerra"
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "El menu no es pot esborrar."
-#: ../../mod/photos.php:931
-msgid "Caption"
-msgstr "Llegenda"
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
+msgstr "Menú no trobat."
-#: ../../mod/photos.php:933
-msgid "Add a Tag"
-msgstr "Afegeix una etiqueta"
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Edita Menú"
-#: ../../mod/photos.php:937
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Exemple: @joan, @Paula_Peris, @mar@exemple.org"
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Afegeix o esborra entrades a aquest menú"
-#: ../../mod/photos.php:940
-msgid "Flag as adult in album view"
-msgstr "Marca com a contingut adult"
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Nom del Menú"
-#: ../../mod/photos.php:1132
-msgid "In This Photo:"
-msgstr "Hi apareixen:"
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Ha de ser únic, nomes vist per tú"
-#: ../../mod/photos.php:1137
-msgid "Map"
-msgstr "Mapa"
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Títol del menú"
-#: ../../mod/photos.php:1223
-msgid "View Album"
-msgstr "Mostra'n l'àlbum"
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "Títol del menú vist pels altres"
-#: ../../mod/photos.php:1246
-msgid "Recent Photos"
-msgstr "Imatges recents"
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Marcadors permesos"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elements etiquetats amb: %s"
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "No trobat."
-#: ../../mod/search.php:208
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
#, php-format
-msgid "Search results for: %s"
-msgstr "Resultats de cerca per: %s"
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s es %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Ànim"
-#: ../../mod/match.php:22
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Estableix el teu estat d'ànim actual i digues-li als teus amics"
+
+#: ../../Zotlabs/Module/Match.php:26
msgid "Profile Match"
msgstr "Perfils compatibles"
-#: ../../mod/match.php:31
+#: ../../Zotlabs/Module/Match.php:35
msgid "No keywords to match. Please add keywords to your default profile."
msgstr "No tens paraules clau al perfil principal per poder cercar perfils semblants."
-#: ../../mod/match.php:63
+#: ../../Zotlabs/Module/Match.php:67
msgid "is interested in:"
msgstr "té interès en:"
-#: ../../mod/match.php:70
+#: ../../Zotlabs/Module/Match.php:74
msgid "No matches"
msgstr "No s'han trobat perfils compatibles"
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Absent"
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "No existeix el grup"
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "En connexió"
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "No existeix el canal"
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Tria una carpeta d'interès"
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "fòrum"
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Guarda Favorits"
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Cerca resultats per:"
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL de favorit"
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "el grup privat està vuit"
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Descripció"
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Grup privat:"
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "O entra un nou nom de favorit"
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "La connexió és invàlida."
-#: ../../mod/notify.php:53 ../../mod/notifications.php:94
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
msgid "No more system notifications."
-msgstr "No hi ha més notificacions de sistema."
+msgstr "No hi ha més notificacions del sistema."
-#: ../../mod/notify.php:57 ../../mod/notifications.php:98
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
msgid "System Notifications"
-msgstr "Notificacions de sistema"
-
-#: ../../mod/acl.php:231
-msgid "network"
-msgstr "xarxa"
-
-#: ../../mod/acl.php:241
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "S'ha actualitzat la disposició."
-
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Editor del Sistema de Descripció de Pàgines"
-
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "No s'ha trobat cap disposició de pàgina."
-
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nom del mòdul:"
-
-#: ../../mod/pdledit.php:55
-msgid "Layout Help"
-msgstr "Ajuda per la disposició de pàgina"
-
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- selecciona -"
-
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "El teu paquet de serveis només admet %d canals."
-
-#: ../../mod/import.php:60
-msgid "Nothing to import."
-msgstr "No hi ha res a importar."
-
-#: ../../mod/import.php:84
-msgid "Unable to download data from old server"
-msgstr "No s'han pogut descarregar les dades del servidor antic"
-
-#: ../../mod/import.php:90
-msgid "Imported file is empty."
-msgstr "El fitxer importat està buit."
-
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "Les dades subministrades no son compatibles amb aquest projecte."
-
-#: ../../mod/import.php:115
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Atenció: Les versions de la Base de Dades difereixen en %1$d actualitzacions."
-
-#: ../../mod/import.php:135
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
-
-#: ../../mod/import.php:176
-msgid "Channel clone failed. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar."
-
-#: ../../mod/import.php:186
-msgid "Cloned channel not found. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
-
-#: ../../mod/import.php:516
-msgid "You must be logged in to use this feature."
-msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
-
-#: ../../mod/import.php:521
-msgid "Import Channel"
-msgstr "Importa un canal"
-
-#: ../../mod/import.php:522
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file."
-msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
-
-#: ../../mod/import.php:523
-msgid "File to Upload"
-msgstr "Fitxer a pujar"
-
-#: ../../mod/import.php:524
-msgid "Or provide the old server/hub details"
-msgstr "O proveeix els detalls de l'antic servidor/concentrador"
-
-#: ../../mod/import.php:525
-msgid "Your old identity address (xyz@example.com)"
-msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
-
-#: ../../mod/import.php:526
-msgid "Your old login email address"
-msgstr "La teva adreça de correu electrònic antiga"
-
-#: ../../mod/import.php:527
-msgid "Your old login password"
-msgstr "La teva contrasenya antiga"
-
-#: ../../mod/import.php:528
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
-
-#: ../../mod/import.php:529
-msgid "Make this hub my primary location"
-msgstr "Fes d'aquest hub la meva ubicació primària"
-
-#: ../../mod/import.php:530
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible"
-
-#: ../../mod/import.php:531
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
-
-#: ../../mod/editlayout.php:111
-msgid "Delete layout?"
-msgstr "Esborra format?"
-
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descripció del Format (Opcional)"
-
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nom del Format Gràfic"
-
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Edita Format Gràfic"
-
-#: ../../mod/chat.php:19 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr "Has d'estar identificat per a veure aquesta pàgina."
-
-#: ../../mod/chat.php:167
-msgid "Room not found"
-msgstr "No s'ha trobat la sala"
-
-#: ../../mod/chat.php:178
-msgid "Leave Room"
-msgstr "Abandona la sala"
+msgstr "Notificacions del sistema"
-#: ../../mod/chat.php:179
-msgid "Delete This Room"
-msgstr "Elimina la sala"
-
-#: ../../mod/chat.php:180
-msgid "I am away right now"
-msgstr "Absent"
-
-#: ../../mod/chat.php:181
-msgid "I am online"
-msgstr "Estic connectat/da"
-
-#: ../../mod/chat.php:183
-msgid "Bookmark this room"
-msgstr "Fes favorit aquest xat"
-
-#: ../../mod/chat.php:207 ../../mod/chat.php:229
-msgid "New Chatroom"
-msgstr "Nova sala per a Xerrar"
-
-#: ../../mod/chat.php:208
-msgid "Chatroom Name"
-msgstr "Nom del Xat"
-
-#: ../../mod/chat.php:225
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "%1$s de Xats"
-
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr "Menú no trobat."
-
-#: ../../mod/mitem.php:48
+#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Incapaç de crear l'element."
-#: ../../mod/mitem.php:71
+#: ../../Zotlabs/Module/Mitem.php:76
msgid "Unable to update menu element."
msgstr "Incapaç d'actualitzar un element del menú."
-#: ../../mod/mitem.php:86
+#: ../../Zotlabs/Module/Mitem.php:92
msgid "Unable to add menu element."
msgstr "Incapaç d'afegir l'element del menú."
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
msgid "Menu Item Permissions"
msgstr "Permisos de l'Article del Menú"
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
+#: ../../Zotlabs/Module/Settings.php:1068
msgid "(click to open/close)"
msgstr "(clica per obrir/tancar)"
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
+#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
msgid "Link Name"
msgstr "Nom de l'Enllaç"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
+#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
msgid "Link or Submenu Target"
msgstr "Enllaç o Submenú Objectiu"
-#: ../../mod/mitem.php:156
+#: ../../Zotlabs/Module/Mitem.php:157
msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú"
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
+#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
msgid "Use magic-auth if available"
msgstr "Empra magic-auth si esta disponible"
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
msgid "Open link in new window"
msgstr "Obrir l'enllaç en una nova finestra"
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Order in list"
msgstr "Ordre per llista"
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Higher numbers will sink to bottom of listing"
msgstr "Els números més alts aniràn al fons de la llista"
-#: ../../mod/mitem.php:160
+#: ../../Zotlabs/Module/Mitem.php:161
msgid "Submit and finish"
msgstr "Envia i termina"
-#: ../../mod/mitem.php:161
+#: ../../Zotlabs/Module/Mitem.php:162
msgid "Submit and continue"
msgstr "Envia i continua"
-#: ../../mod/mitem.php:169
+#: ../../Zotlabs/Module/Mitem.php:170
msgid "Menu:"
msgstr "Menú:"
-#: ../../mod/mitem.php:172
+#: ../../Zotlabs/Module/Mitem.php:173
msgid "Link Target"
msgstr "Enllaç Objectiu"
-#: ../../mod/mitem.php:175
+#: ../../Zotlabs/Module/Mitem.php:176
msgid "Edit menu"
msgstr "Edita menú"
-#: ../../mod/mitem.php:178
+#: ../../Zotlabs/Module/Mitem.php:179
msgid "Edit element"
msgstr "Edita element"
-#: ../../mod/mitem.php:179
+#: ../../Zotlabs/Module/Mitem.php:180
msgid "Drop element"
msgstr "Deixa anar element"
-#: ../../mod/mitem.php:180
+#: ../../Zotlabs/Module/Mitem.php:181
msgid "New element"
msgstr "Nou element"
-#: ../../mod/mitem.php:181
+#: ../../Zotlabs/Module/Mitem.php:182
msgid "Edit this menu container"
msgstr "Edita aquest contenidor de menú"
-#: ../../mod/mitem.php:182
+#: ../../Zotlabs/Module/Mitem.php:183
msgid "Add menu element"
msgstr "Afegeix element de menú"
-#: ../../mod/mitem.php:183
+#: ../../Zotlabs/Module/Mitem.php:184
msgid "Delete this menu item"
msgstr "Esborra aquest article del menú"
-#: ../../mod/mitem.php:184
+#: ../../Zotlabs/Module/Mitem.php:185
msgid "Edit this menu item"
msgstr "Edita aquest article del menú"
-#: ../../mod/mitem.php:201
+#: ../../Zotlabs/Module/Mitem.php:202
msgid "Menu item not found."
msgstr "Article del menú no trobat."
-#: ../../mod/mitem.php:212
+#: ../../Zotlabs/Module/Mitem.php:215
msgid "Menu item deleted."
msgstr "Article del menú eliminat."
-#: ../../mod/mitem.php:214
+#: ../../Zotlabs/Module/Mitem.php:217
msgid "Menu item could not be deleted."
msgstr "Article del menú no es pot eliminar."
-#: ../../mod/mitem.php:221
+#: ../../Zotlabs/Module/Mitem.php:224
msgid "Edit Menu Element"
msgstr "Editar Element del Menú"
-#: ../../mod/mitem.php:227
+#: ../../Zotlabs/Module/Mitem.php:230
msgid "Link text"
msgstr "Enllaç de text"
-#: ../../mod/editwebpage.php:152
-msgid "Delete webpage?"
-msgstr "Esborrar pàgina web?"
-
-#: ../../mod/editwebpage.php:173
-msgid "Page link title"
-msgstr "Títol de la pàgina enllaçada"
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Name or caption"
+msgstr "Nom o llegenda"
-#: ../../mod/editwebpage.php:224
-msgid "Edit Webpage"
-msgstr "Edita la Pàgina Web"
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "Exemples: \"Pep Gomila\", \"Manel i els seus Cavalls\", \"Fútbol\", \"Grup d'Aviadors\""
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Aquest servidor de directori requereix un token de accès"
-
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "No es troba un compte vàlid."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Lloc d'Usuari (%s)"
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
+msgid "Choose a short nickname"
+msgstr "Tria un àlies curt"
-#: ../../mod/lostpass.php:40
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
#, php-format
-msgid "Password reset requested at %s"
-msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
-
-#: ../../mod/lostpass.php:63
msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1559
-msgid "Password Reset"
-msgstr "Restabliment de contrasenya"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "S'ha restablert la vostra contrasenya."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "La nova contrasenya és"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Desa o copia la nova contrasenya, i després"
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "El teu àlies serà emprat per crear un nom fàcil per recordar l'adreça del canal p.e. àlies%s"
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Channel role and privacy"
+msgstr "Funció i privacitat del canal"
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Select a channel role with your privacy requirements."
+msgstr "Tria una funció pel canal amb els teus requisits de privacitat."
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Read more about roles"
+msgstr "Llegix més sobre els rols"
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "fes clic aquí per iniciar sessió"
+#: ../../Zotlabs/Module/New_channel.php:135
+msgid "Create Channel"
+msgstr "Crea un Canal"
-#: ../../mod/lostpass.php:90
+#: ../../Zotlabs/Module/New_channel.php:136
msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "La teva contrasenya a %s ha canviat"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "No recordes la contrasenya?"
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "Un canal es la tva identitat en aquesta xarxa. Pot representar una persona, un bloc, o un fòrum per anomenar alguns. Els canals poden connectar-se amb altres canals per compartir informació amb permisos molt detallats."
-#: ../../mod/lostpass.php:123
+#: ../../Zotlabs/Module/New_channel.php:137
msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "Adreça electrònica"
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr "o <a href=\"import\">importa un canal existent</a> des d'un altre ubicació."
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Reajustar"
+#: ../../Zotlabs/Module/Notifications.php:30
+msgid "Invalid request identifier."
+msgstr "Sol·licitud d'identificació invàlida."
-#: ../../mod/rate.php:157
-msgid "Website:"
-msgstr "Lloc web:"
+#: ../../Zotlabs/Module/Notifications.php:39
+msgid "Discard"
+msgstr "Descarta"
-#: ../../mod/rate.php:160
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
+msgstr "Marca totes les notificacions vistes"
-#: ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr "Valoració (aquesta informació és pública)"
+#: ../../Zotlabs/Module/Photos.php:84
+msgid "Page owner information could not be retrieved."
+msgstr "La informació del propietari de la pàgina no va poder ser recuperada"
-#: ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
+#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Profile_photo.php:114
+#: ../../Zotlabs/Module/Profile_photo.php:206
+#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "Fotos del Perfil"
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Eliminar bloc?"
+#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
+msgid "Album not found."
+msgstr "Àlbum no trobat"
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Editar Bloc"
+#: ../../Zotlabs/Module/Photos.php:132
+msgid "Delete Album"
+msgstr "Esborra Àlbum"
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "El límit total invitacions s'ha superat."
+#: ../../Zotlabs/Module/Photos.php:153
+msgid ""
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr "Existeixen moltes carpetes de emmagatzemament amb aquest nom d'àlbum, però en diferents directoris. Si us plau esborra la carpeta o carpetes amb el gestor d'arxius."
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: adreça de correu electrònic no vàlida."
+#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
+msgid "Delete Photo"
+msgstr "Esborra Foto"
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "Si us plau, uneix-te a Red"
+#: ../../Zotlabs/Module/Photos.php:533
+msgid "No photos selected"
+msgstr "No has seleccionat fotos"
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc."
+#: ../../Zotlabs/Module/Photos.php:582
+msgid "Access to this item is restricted."
+msgstr "L'accés a aquest element esta restringit."
-#: ../../mod/invite.php:92
+#: ../../Zotlabs/Module/Photos.php:621
#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Entrega del Missatge fallida."
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges."
-#: ../../mod/invite.php:96
+#: ../../Zotlabs/Module/Photos.php:624
#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d missatge enviat."
-msgstr[1] "%d missatges enviats."
+msgid "%1$.2f MB photo storage used."
+msgstr "S'estan fent servir %1$.2f MB de l'espai per a imatges."
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "No té més invitacions disponibles"
+#: ../../Zotlabs/Module/Photos.php:660
+msgid "Upload Photos"
+msgstr "Puja imatges"
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Enviar invitacions"
+#: ../../Zotlabs/Module/Photos.php:664
+msgid "Enter an album name"
+msgstr "Escriu el nom del àlbum"
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Introduïu les adreces de correu electrònic, una per línia:"
+#: ../../Zotlabs/Module/Photos.php:665
+msgid "or select an existing album (doubleclick)"
+msgstr "o bé fes doble clic a un d'existent"
-#: ../../mod/invite.php:131 ../../mod/mail.php:235 ../../mod/mail.php:348
-msgid "Your message:"
-msgstr "El teu missatge:"
+#: ../../Zotlabs/Module/Photos.php:666
+msgid "Create a status post for this upload"
+msgstr "Genera una entrada a partir de la pujada"
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Si us plau uneix-te la meva comunitat en $Projectname."
+#: ../../Zotlabs/Module/Photos.php:667
+msgid "Caption (optional):"
+msgstr "Subtítol (opcional):"
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code: "
-msgstr "Has de proporcionar aquest codi d'invitació:"
+#: ../../Zotlabs/Module/Photos.php:668
+msgid "Description (optional):"
+msgstr "Descripció (opcional):"
-#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registre en qualsevol lloc del $Projectname (estàn tots interconnectats)"
+#: ../../Zotlabs/Module/Photos.php:695
+msgid "Album name could not be decoded"
+msgstr "No s'ha pogut descodificar el nom de l'àlbum"
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Entra a la meva adreça de xarxa al $Projectname, a la barra de cerca del lloc."
+#: ../../Zotlabs/Module/Photos.php:743
+msgid "Contact Photos"
+msgstr "Imatges de contactes"
-#: ../../mod/invite.php:138
-msgid "or visit "
-msgstr "o visita"
+#: ../../Zotlabs/Module/Photos.php:766
+msgid "Show Newest First"
+msgstr "Ordena de més nou a més antic"
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Click [Conectar]"
+#: ../../Zotlabs/Module/Photos.php:768
+msgid "Show Oldest First"
+msgstr "Ordena de més antic a més nou"
-#: ../../mod/locs.php:21 ../../mod/locs.php:52
-msgid "Location not found."
-msgstr "Situació que no es troba."
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
+msgid "View Photo"
+msgstr "Mostra la imatge"
-#: ../../mod/locs.php:56
-msgid "Primary location cannot be removed."
-msgstr "La ubicació primària no es pot treure."
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
+msgid "Edit Album"
+msgstr "Modifica l'àlbum"
-#: ../../mod/locs.php:88
-msgid "No locations found."
-msgstr "No es troben els llocs."
+#: ../../Zotlabs/Module/Photos.php:870
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "S'ha denegat el permís. Pot ser que l'accés estigui restringit."
-#: ../../mod/locs.php:101
-msgid "Manage Channel Locations"
-msgstr "Gestionar Ubicacions de Canal"
+#: ../../Zotlabs/Module/Photos.php:872
+msgid "Photo not available"
+msgstr "La imatge no està disponible"
-#: ../../mod/locs.php:102
-msgid "Location (address)"
-msgstr "Ubicació (direcció)"
+#: ../../Zotlabs/Module/Photos.php:930
+msgid "Use as profile photo"
+msgstr "Fes-la imatge de perfil"
-#: ../../mod/locs.php:103
-msgid "Primary Location"
-msgstr "Ubicació Primària"
+#: ../../Zotlabs/Module/Photos.php:931
+msgid "Use as cover photo"
+msgstr "Emprar com a foto de portada"
-#: ../../mod/locs.php:104
-msgid "Drop location"
-msgstr "Treure la ubicació"
+#: ../../Zotlabs/Module/Photos.php:938
+msgid "Private Photo"
+msgstr "Imatge privada"
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Error en crear l'origen. Cap canal seleccionat."
+#: ../../Zotlabs/Module/Photos.php:953
+msgid "View Full Size"
+msgstr "Mostra a mida completa"
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Origen creat."
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Esborra"
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Origen actualitzat."
+#: ../../Zotlabs/Module/Photos.php:1032
+msgid "Edit photo"
+msgstr "Modifica la imatge"
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
+#: ../../Zotlabs/Module/Photos.php:1034
+msgid "Rotate CW (right)"
+msgstr "Tomba cap a la dreta"
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestiona contingut per al teu canal d'origens remots"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CCW (left)"
+msgstr "Tomba cap a l'esquerra"
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nou Origen"
+#: ../../Zotlabs/Module/Photos.php:1038
+msgid "Enter a new album name"
+msgstr "Escriu el nom del nou àlbum"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "or select an existing one (doubleclick)"
+msgstr "o bé fes doble clic a un d'existent"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Només importa contingut amb aquestes paraules (una per línia)"
+#: ../../Zotlabs/Module/Photos.php:1042
+msgid "Caption"
+msgstr "Llegenda"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Deixar en blanc per importar tot el contingut públic"
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Add a Tag"
+msgstr "Afegeix una etiqueta"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Nom del canal"
+#: ../../Zotlabs/Module/Photos.php:1048
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Exemple: @joan, @Paula_Peris, @mar@exemple.org"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "No s'ha trobat la font."
+#: ../../Zotlabs/Module/Photos.php:1051
+msgid "Flag as adult in album view"
+msgstr "Marca com a contingut adult"
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Edita la font"
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+msgid "I like this (toggle)"
+msgstr "M'agrada això (canvia)"
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Esborra la font"
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+msgid "I don't like this (toggle)"
+msgstr "No m'agrada això (canvia)"
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "S'ha esborrat la font"
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:740
+msgid "Please wait"
+msgstr "Si us plau, espera"
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "No s'ha pogut esborrar la font."
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Lib/ThreadItem.php:707
+msgid "This is you"
+msgstr "Ets tú"
-#: ../../mod/menu.php:44
-msgid "Unable to update menu."
-msgstr "No s'ha pogut actualitzar el menú."
+#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Comentari"
-#: ../../mod/menu.php:53
-msgid "Unable to create menu."
-msgstr "No s'ha pogut crear el menú."
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Likes"
+msgstr "Agrada"
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
-msgid "Menu Name"
-msgstr "Nom del menú"
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Desagrada"
-#: ../../mod/menu.php:89
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nom únic (no visible a la pàgina web) - requerit"
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Agree"
+msgstr "Acord"
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
-msgid "Menu Title"
-msgstr "Títol del menú"
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Disagree"
+msgstr "Desacord"
-#: ../../mod/menu.php:90
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Abstain"
+msgstr "Abstenirse"
-#: ../../mod/menu.php:91
-msgid "Allow Bookmarks"
-msgstr "Permetre Marcadors"
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Attending"
+msgstr "Assistint"
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
-msgid "Menu may be used to store saved bookmarks"
-msgstr "El menú es pot emprar per a guardar marcadors"
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Not attending"
+msgstr "Desassistint"
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
-msgid "Submit and proceed"
-msgstr "Envia i procedeix"
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Might attend"
+msgstr "Podrien assistir"
-#: ../../mod/menu.php:104
-msgid "Drop"
-msgstr "Menysprea"
+#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1717
+msgid "View all"
+msgstr "Veure tot"
-#: ../../mod/menu.php:108
-msgid "Bookmarks allowed"
-msgstr "Marcadors permesos"
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Agrada"
+msgstr[1] "Agraden"
-#: ../../mod/menu.php:110
-msgid "Delete this menu"
-msgstr "Esborra el menú"
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1744
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Desagrada"
+msgstr[1] "Desagrada"
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
-msgid "Edit menu contents"
-msgstr "Edita el contingut del menú"
+#: ../../Zotlabs/Module/Photos.php:1235
+msgid "Photo Tools"
+msgstr "Eines per Fotos"
-#: ../../mod/menu.php:112
-msgid "Edit this menu"
-msgstr "Edita el menú"
+#: ../../Zotlabs/Module/Photos.php:1244
+msgid "In This Photo:"
+msgstr "Hi apareixen:"
-#: ../../mod/menu.php:126
-msgid "Menu could not be deleted."
-msgstr "El menu no es pot esborrar."
+#: ../../Zotlabs/Module/Photos.php:1249
+msgid "Map"
+msgstr "Mapa"
-#: ../../mod/menu.php:139
-msgid "Edit Menu"
-msgstr "Edita Menú"
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+msgctxt "noun"
+msgid "Likes"
+msgstr "Agrada"
-#: ../../mod/menu.php:143
-msgid "Add or remove entries to this menu"
-msgstr "Afegeix o esborra entrades a aquest menú"
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Desagrada"
-#: ../../mod/menu.php:145
-msgid "Menu name"
-msgstr "Nom del Menú"
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
+msgid "Close"
+msgstr "Tanca"
-#: ../../mod/menu.php:145
-msgid "Must be unique, only seen by you"
-msgstr "Ha de ser únic, nomes vist per tú"
+#: ../../Zotlabs/Module/Photos.php:1337
+msgid "View Album"
+msgstr "Mostra'n l'àlbum"
-#: ../../mod/menu.php:146
-msgid "Menu title"
-msgstr "Títol del menú"
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
+msgid "Recent Photos"
+msgstr "Imatges recents"
-#: ../../mod/menu.php:146
-msgid "Menu title as seen by others"
-msgstr "Títol del menú vist pels altres"
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "Se t'ha enviat un missatge privat"
-#: ../../mod/menu.php:147
-msgid "Allow bookmarks"
-msgstr "Marcadors permesos"
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "el teu canal s'ha afegit"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permisos Denegats."
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "g A l F d"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "Arxiu no torbat."
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[avui]"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Edita els permisos d'arxiu"
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "enviat un esdeveniment"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Canvia/edita permisos"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "No es possible trobar el node"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Inclou tots als arxius i subdirectoris"
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Entrada realitzada amb èxit. "
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Tornar al llistat d'arxius"
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Error del protocol OpenID. No ha retornat ID"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Identificació fallida."
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Aquest ajust requereix un procés espedial i l'edició esta bloquejada."
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Comparteix l'arxiu"
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Editor de Configuració"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Mostra la URL d'aquest arxiu"
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica."
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifica als teus contactes aquest arxiu"
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "S'ha actualitzat la disposició."
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contacte no trobat."
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Editor del Sistema de Descripció de Pàgines"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggeriment d'amistat enviada."
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "No s'ha trobat cap disposició de pàgina."
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Amics Suggerits"
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Nom del mòdul:"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggereix un amic per a %s"
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Ajuda per la disposició de pàgina"
-#: ../../mod/magic.php:69
-msgid "Hub not found."
-msgstr "Concentrador no trobat."
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
+#: ../../include/conversation.php:960
+msgid "Poke"
+msgstr "Esperonar"
-#: ../../mod/poke.php:159
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr "Emprenyar algú"
+
+#: ../../Zotlabs/Module/Poke.php:172
msgid "Poke/Prod"
-msgstr "Emprenyat/Picat"
+msgstr "Esperonat/Picat"
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
msgstr "emprenyar, picar o fer altres coses a algú"
-#: ../../mod/poke.php:161
+#: ../../Zotlabs/Module/Poke.php:180
msgid "Recipient"
msgstr "Destinatari"
-#: ../../mod/poke.php:162
+#: ../../Zotlabs/Module/Poke.php:181
msgid "Choose what you wish to do to recipient"
msgstr "Tria que vols fer amb el destinatari"
-#: ../../mod/poke.php:165
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
msgid "Make this post private"
msgstr "Fer aquesta entrada privada"
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Identificador invàlid de perfil."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Perfil del Editor de Visibilitat"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Clica sobre el contacte per afegir o esborrar."
-
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visible per"
-
-#: ../../mod/impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s element instal·lat"
-
-#: ../../mod/impel.php:194
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
#, php-format
-msgid "%s element installation failed"
-msgstr "%s instal·lació d'element va fallar"
+msgid "Fetching URL returns error: %1$s"
+msgstr "URL sol·licitada retorna error: %1$s"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
-#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
msgstr "Perfil no trobat."
-#: ../../mod/profiles.php:38
+#: ../../Zotlabs/Module/Profiles.php:44
msgid "Profile deleted."
msgstr "Perfil eliminat."
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
msgid "Profile-"
msgstr "Perfil-"
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
msgid "New profile created."
msgstr "Nou perfil creat."
-#: ../../mod/profiles.php:98
+#: ../../Zotlabs/Module/Profiles.php:110
msgid "Profile unavailable to clone."
msgstr "Perfil que no es pot clonar."
-#: ../../mod/profiles.php:136
+#: ../../Zotlabs/Module/Profiles.php:151
msgid "Profile unavailable to export."
msgstr "Perfil que no es pot exportar."
-#: ../../mod/profiles.php:241
+#: ../../Zotlabs/Module/Profiles.php:256
msgid "Profile Name is required."
msgstr "Es requereix el Nom del Perfil."
-#: ../../mod/profiles.php:404
+#: ../../Zotlabs/Module/Profiles.php:427
msgid "Marital Status"
msgstr "Estat Marital"
-#: ../../mod/profiles.php:408
+#: ../../Zotlabs/Module/Profiles.php:431
msgid "Romantic Partner"
msgstr "Company/a Romàntic"
-#: ../../mod/profiles.php:412
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
msgid "Likes"
msgstr "Agrada"
-#: ../../mod/profiles.php:416
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
msgid "Dislikes"
msgstr "Desagrada"
-#: ../../mod/profiles.php:420
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
msgid "Work/Employment"
msgstr "Treball/Feina"
-#: ../../mod/profiles.php:423
+#: ../../Zotlabs/Module/Profiles.php:446
msgid "Religion"
msgstr "Religió"
-#: ../../mod/profiles.php:427
+#: ../../Zotlabs/Module/Profiles.php:450
msgid "Political Views"
msgstr "Idees Polítiques"
-#: ../../mod/profiles.php:431 ../../mod/id.php:33
-msgid "Gender"
-msgstr "Gènere"
-
-#: ../../mod/profiles.php:435
+#: ../../Zotlabs/Module/Profiles.php:458
msgid "Sexual Preference"
msgstr "Preferència Sexual"
-#: ../../mod/profiles.php:439
+#: ../../Zotlabs/Module/Profiles.php:462
msgid "Homepage"
msgstr "Pàgina Personal"
-#: ../../mod/profiles.php:443
+#: ../../Zotlabs/Module/Profiles.php:466
msgid "Interests"
msgstr "Interessos"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
-msgid "Address"
-msgstr "Adreça"
-
-#: ../../mod/profiles.php:537
+#: ../../Zotlabs/Module/Profiles.php:560
msgid "Profile updated."
msgstr "Perfil actualitzat."
-#: ../../mod/profiles.php:626
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Amaga la teva llista de contactes/amics dels visitadors d'aquest perfil?"
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
+msgstr "Amaga dels curiosos la teva llista de connexions d'aquest perfil"
-#: ../../mod/profiles.php:666
+#: ../../Zotlabs/Module/Profiles.php:686
msgid "Edit Profile Details"
msgstr "Edita els Detalls del Perfil"
-#: ../../mod/profiles.php:668
+#: ../../Zotlabs/Module/Profiles.php:688
msgid "View this profile"
msgstr "Veure aquest perfil"
-#: ../../mod/profiles.php:670
-msgid "Change Profile Photo"
-msgstr "Canviar Foto del Perfil"
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:959
+msgid "Edit visibility"
+msgstr "Editar visibilitat"
+
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
+msgstr "Eines per Perfils"
+
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
+msgstr "Canviar la foto de portada"
-#: ../../mod/profiles.php:671
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+msgid "Change profile photo"
+msgstr "Canviar la foto del perfil"
+
+#: ../../Zotlabs/Module/Profiles.php:693
msgid "Create a new profile using these settings"
msgstr "Crea un perfil nou amb aquests ajustos"
-#: ../../mod/profiles.php:672
+#: ../../Zotlabs/Module/Profiles.php:694
msgid "Clone this profile"
msgstr "Clonar aquest perfil"
-#: ../../mod/profiles.php:673
+#: ../../Zotlabs/Module/Profiles.php:695
msgid "Delete this profile"
msgstr "Elimina aquest perfil"
-#: ../../mod/profiles.php:675
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
+msgstr "Afegeix coses al perfil"
+
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
+msgid "Personal"
+msgstr "Personal"
+
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
+msgstr "Relació"
+
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Miscelania"
+
+#: ../../Zotlabs/Module/Profiles.php:702
msgid "Import profile from file"
msgstr "Importa perfil des d'un arxiu"
-#: ../../mod/profiles.php:676
+#: ../../Zotlabs/Module/Profiles.php:703
msgid "Export profile to file"
msgstr "Exporta perfil a un arxiu"
-#: ../../mod/profiles.php:677
-msgid "Profile Name:"
-msgstr "Nom del Perfil:"
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
+msgstr "El teu gènere"
-#: ../../mod/profiles.php:678
-msgid "Your Full Name:"
-msgstr "El Teu Nom Complet"
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
+msgstr "Estat marital"
-#: ../../mod/profiles.php:679
-msgid "Title/Description:"
-msgstr "Títol/Descripció:"
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
+msgstr "Preferència sexual"
-#: ../../mod/profiles.php:680
-msgid "Your Gender:"
-msgstr "El Teu Gènere:"
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
+msgstr "Nom del perfil"
-#: ../../mod/profiles.php:681
-msgid "Birthday :"
-msgstr "Aniversari:"
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
+msgstr "Aquest es el teu perfil per defecte"
+
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
+msgstr "El teu nom complet"
-#: ../../mod/profiles.php:682
-msgid "Street Address:"
-msgstr "Carrer:"
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
+msgstr "Títol/Descripció"
-#: ../../mod/profiles.php:683
-msgid "Locality/City:"
-msgstr "Població/Ciutat:"
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
+msgstr "Carrer"
-#: ../../mod/profiles.php:684
-msgid "Postal/Zip Code:"
-msgstr "Codi Postal:"
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
+msgstr "Població/Ciutat"
-#: ../../mod/profiles.php:685
-msgid "Country:"
-msgstr "País:"
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
+msgstr "Regió/Estat"
-#: ../../mod/profiles.php:686
-msgid "Region/State:"
-msgstr "Regió/Estat:"
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
+msgstr "Codi Postal"
-#: ../../mod/profiles.php:687
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Marital Estatus:"
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
+msgstr "País"
-#: ../../mod/profiles.php:688
-msgid "Who: (if applicable)"
-msgstr "Qui: (si es aplicable)"
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
+msgstr "Qui (si es aplicable)"
-#: ../../mod/profiles.php:689
+#: ../../Zotlabs/Module/Profiles.php:726
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Examples: cathy123, Cathy Williams, cathy@example.com"
-#: ../../mod/profiles.php:690
-msgid "Since [date]:"
-msgstr "Des de [data]:"
-
-#: ../../mod/profiles.php:692
-msgid "Homepage URL:"
-msgstr "Pàgina Personal URL:"
-
-#: ../../mod/profiles.php:695
-msgid "Religious Views:"
-msgstr "Creences Religioses:"
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
+msgstr "Des de (data)"
-#: ../../mod/profiles.php:696
-msgid "Keywords:"
-msgstr "Paraules Clau:"
-
-#: ../../mod/profiles.php:699
-msgid "Example: fishing photography software"
-msgstr "Exemple: software de fotografia submarina"
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
+msgstr "Quelcom sobre tu"
-#: ../../mod/profiles.php:700
-msgid "Used in directory listings"
-msgstr "Emprat en els llistats de directoris"
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr "Ciutat Natal"
-#: ../../mod/profiles.php:701
-msgid "Tell us about yourself..."
-msgstr "Quelcom sobre tú:"
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
+msgstr "Idees polítiques"
-#: ../../mod/profiles.php:702
-msgid "Hobbies/Interests"
-msgstr "Aficions/Interessos"
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
+msgstr "Creences religioses"
-#: ../../mod/profiles.php:703
-msgid "Contact information and Social Networks"
-msgstr "Informació de Contacte i Xarxes Socials"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
+msgstr "Paraules clau emprades en els llistats de directoris"
-#: ../../mod/profiles.php:704
-msgid "My other channels"
-msgstr "Els meus altres canals"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
+msgstr "Exemple: software de fotografia submarina"
-#: ../../mod/profiles.php:705
+#: ../../Zotlabs/Module/Profiles.php:738
msgid "Musical interests"
msgstr "Interessos Musicals"
-#: ../../mod/profiles.php:706
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Books, literature"
msgstr "Llibres, literatura"
-#: ../../mod/profiles.php:707
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Television"
msgstr "Televisió"
-#: ../../mod/profiles.php:708
-msgid "Film/dance/culture/entertainment"
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
msgstr "Pel·lícules/Dansa/Cultura/Entreteniment"
-#: ../../mod/profiles.php:709
-msgid "Love/romance"
-msgstr "Amor/Romace"
-
-#: ../../mod/profiles.php:710
-msgid "Work/employment"
-msgstr "Treball/feina"
-
-#: ../../mod/profiles.php:711
-msgid "School/education"
-msgstr "Escola/educació"
-
-#: ../../mod/profiles.php:717
-msgid "This is your default profile."
-msgstr "Aquest es el teu perfil per defecte"
-
-#: ../../mod/profiles.php:728
-msgid "Age: "
-msgstr "Edat:"
-
-#: ../../mod/profiles.php:771
-msgid "Edit/Manage Profiles"
-msgstr "Edita/Gestiona Perfils"
-
-#: ../../mod/profiles.php:772
-msgid "Add profile things"
-msgstr "Afegeix coses al perfil"
-
-#: ../../mod/profiles.php:773
-msgid "Include desirable objects in your profile"
-msgstr "Inclou objectius desitjables al teu perfil"
-
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "No valorat"
-
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Valoracions"
-
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Valoració:"
-
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Lloc web:"
-
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Descripció:"
-
-#: ../../mod/viewsrc.php:38
-msgid "Source of Item"
-msgstr "Origen de l'article"
-
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "Servidor $Projectname - Configuració"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr "No puc connectar amb la base de dades"
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "No puc crear la taula."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "La teva base de dades del lloc s'ha instal·lat."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Si us plau, consulteu el fitxer \"install / INSTALL.txt\"."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "Comprovació del sistema"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Comprova de nou"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Connexió de base de dades"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió a la base de dades."
-
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres."
-
-#: ../../mod/setup.php:307
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Base de Dades Nom del Servidor"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "Per defecte es localhost"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Port per a la Base de Dades"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Numero del port de comunicacions - empra 0 per defecte"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Base de Dades Nom d'Accès"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Base de Dades Contrasenya d'Accès"
-
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Nom de la Base de Dades"
-
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Tipus de Base de Dades"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "Adreça de correu de l'administrador del lloc"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador."
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "URL del lloc web"
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Si us plau, empra SSL (https) URL si està disponible."
-
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Si us plau, tria la zona horària del teu lloc web"
-
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Ajustos del lloc"
-
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web."
-
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron."
-
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "Camí cap l'executable de PHP"
-
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació."
-
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "Línia d'ordres de PHP"
-
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat."
-
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "Això es requereix per que funcioni l'entrega de missatges."
-
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Pots ajustar aquests valors a l'arxiu php.ini del servidor"
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "Límits de pujada de PHP"
-
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació"
-
-#: ../../mod/setup.php:485
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\"."
-
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Generar claus de xifrat"
-
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "mòdul PHP libCurl "
-
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "mòdul PHP GD gràfics"
-
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "mòdul PHP OpenSSL"
-
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "mòdul PHP mysqli o postgres"
-
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "mòdul PHP mb_string"
-
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "mòdul PHP mcrypt"
-
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "Mòdul xml de PHP"
-
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "mòdul Apache mod_rewrite"
-
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat."
-
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
-
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini"
-
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Error: el mòdul PHP libCURL es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:528
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Error: el mòdul PHP openssl es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Error: el mòdul PHP mb_string es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Error: el mòdul PHP mcrypt es requereix però no està instal·lat."
-
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat."
-
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
-
-#: ../../mod/setup.php:567
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació."
-
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor."
-
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
+msgstr "Aficions/Interessos"
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr "L'arxiu «.htconfig.php» es pot modificar"
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
+msgstr "Amor/Romace"
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament."
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
+msgstr "Escola/Educació"
-#: ../../mod/setup.php:587
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red."
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
+msgstr "Informació de contacte i xarxes socials"
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
+msgstr "Els meus altres canals"
-#: ../../mod/setup.php:589
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+msgid "Profile Image"
+msgstr "Imatge del Perfil"
-#: ../../mod/setup.php:592
-#, php-format
-msgid "%s is writable"
-msgstr "Es pot escriure a %s"
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
+msgid "Edit Profiles"
+msgstr "Editar Perfils"
-#: ../../mod/setup.php:608
+#: ../../Zotlabs/Module/Profile_photo.php:179
msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web."
-
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "Es pot escriure al magatzem (store)"
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc"
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Puja una Foto pel Perfil"
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Identificador invàlid de perfil."
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub."
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Profile Visibility Editor"
+msgstr "Perfil del Editor de Visibilitat"
-#: ../../mod/setup.php:648
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
+msgid "Profile"
+msgstr "Perfil"
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important."
+#: ../../Zotlabs/Module/Profperm.php:119
+msgid "Click on a contact to add or remove."
+msgstr "Clica sobre el contacte per afegir o esborrar."
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
+#: ../../Zotlabs/Module/Profperm.php:128
+msgid "Visible To"
+msgstr "Visible per"
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "Validació del certificat SSL"
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
+msgid "Public Hubs"
+msgstr "Nodes Públics"
-#: ../../mod/setup.php:658
+#: ../../Zotlabs/Module/Pubsites.php:25
msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
-
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Es poden reescriure les URL a «.htaccess»"
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "Els nodes llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els nodes estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns nodes poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, <strong>proveu</strong> de seguir els enllaços dels proveïdors."
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Hub URL"
+msgstr "URL del Node"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Access Type"
+msgstr "Tipus d'accés"
-#: ../../mod/setup.php:670
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut."
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Registration Policy"
+msgstr "Condicions de registre"
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "S'han produït errors mentre es creaven taules a la base de dades."
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr "Estadístiques"
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>I ara què?</h1>"
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Software"
+msgstr "Programari"
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\"."
+#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
+#: ../../include/conversation.php:959
+msgid "Ratings"
+msgstr "Valoracions"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Error del protocol OpenID. No ha retornat ID"
+#: ../../Zotlabs/Module/Pubsites.php:38
+msgid "Rate"
+msgstr "Puntua"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Benvingut %s. Autenticació remota reeixida."
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Website:"
+msgstr "Lloc web:"
-#: ../../mod/tagger.php:96
+#: ../../Zotlabs/Module/Rate.php:163
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
-
-#: ../../mod/uexport.php:41 ../../mod/uexport.php:42
-msgid "Export Channel"
-msgstr "Exportar Canal"
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
-#: ../../mod/uexport.php:43
-msgid ""
-"Export your basic channel information to a small file. This acts as a "
-"backup of your connections, permissions, profile and basic data, which can "
-"be used to import your data to a new hub, but\tdoes not contain your "
-"content."
-msgstr "Exporta la informació bàsica del canal a un petit arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/centre, però no conté el contingut del canal."
+#: ../../Zotlabs/Module/Rate.php:164
+msgid "Rating (this information is public)"
+msgstr "Valoració (aquesta informació és pública)"
-#: ../../mod/uexport.php:44
-msgid "Export Content"
-msgstr "Exportar el Contingut"
+#: ../../Zotlabs/Module/Rate.php:165
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
-#: ../../mod/uexport.php:45
-msgid ""
-"Export your channel information and all the content to a JSON backup. This "
-"backs up all of your connections, permissions, profile data and all of your "
-"content, but is generally not suitable for importing a channel to a new hub "
-"as this file may be VERY large. Please be patient - it may take several "
-"minutes for this download to begin."
-msgstr "Exporta la informació del canal i tot el contingut a un arxiu de recolzament JSON. Això còpia totes les teves connexions, permisos, perfil i dades i tot el contingut, però normalment no es pot importar en un altre canal d'un nou lloc/centre donat que l'arxiu acostuma a ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar."
+#: ../../Zotlabs/Module/Ratings.php:73
+msgid "No ratings"
+msgstr "No valorat"
-#: ../../mod/viewconnections.php:62
-msgid "No connections."
-msgstr "Sense connexions."
+#: ../../Zotlabs/Module/Ratings.php:104
+msgid "Rating: "
+msgstr "Valoració:"
-#: ../../mod/viewconnections.php:75
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita el perfil [%s] de %s"
+#: ../../Zotlabs/Module/Ratings.php:105
+msgid "Website: "
+msgstr "Lloc web:"
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "Signatura objectiu invàlida"
+#: ../../Zotlabs/Module/Ratings.php:107
+msgid "Description: "
+msgstr "Descripció:"
-#: ../../mod/admin.php:52
+#: ../../Zotlabs/Module/Admin.php:77
msgid "Theme settings updated."
msgstr "Ajustos de tema actualitzats."
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
-msgid "Site"
-msgstr "Lloc"
-
-#: ../../mod/admin.php:94
-msgid "Accounts"
-msgstr "Comptes"
-
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
-msgid "Channels"
-msgstr "Canals"
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
-msgid "Themes"
-msgstr "Temes"
-
-#: ../../mod/admin.php:98
-msgid "Inspect queue"
-msgstr "Revisa cua"
-
-#: ../../mod/admin.php:100
-msgid "Profile Config"
-msgstr "Configuració del Perfil"
-
-#: ../../mod/admin.php:101
-msgid "DB updates"
-msgstr "Actualitzacions de Base de Dades"
-
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
-msgid "Logs"
-msgstr "Logs"
-
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-msgstr "Característiques del Plugin"
-
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Registre d'usuaris esperant confirmació"
-
-#: ../../mod/admin.php:200
+#: ../../Zotlabs/Module/Admin.php:197
msgid "# Accounts"
msgstr "# Comptes"
-#: ../../mod/admin.php:201
+#: ../../Zotlabs/Module/Admin.php:198
msgid "# blocked accounts"
msgstr "# comptes bloquejats"
-#: ../../mod/admin.php:202
+#: ../../Zotlabs/Module/Admin.php:199
msgid "# expired accounts"
msgstr "# comptes expirats"
-#: ../../mod/admin.php:203
+#: ../../Zotlabs/Module/Admin.php:200
msgid "# expiring accounts"
msgstr "# comptes expirant"
-#: ../../mod/admin.php:216
+#: ../../Zotlabs/Module/Admin.php:211
msgid "# Channels"
msgstr "# Canals"
-#: ../../mod/admin.php:217
+#: ../../Zotlabs/Module/Admin.php:212
msgid "# primary"
msgstr "# primari"
-#: ../../mod/admin.php:218
+#: ../../Zotlabs/Module/Admin.php:213
msgid "# clones"
msgstr "# clons"
-#: ../../mod/admin.php:224
+#: ../../Zotlabs/Module/Admin.php:219
msgid "Message queues"
msgstr "Cues de missatges"
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "El teu programari cal que s'actualitzi"
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
msgid "Administration"
msgstr "Administració"
-#: ../../mod/admin.php:241
+#: ../../Zotlabs/Module/Admin.php:242
msgid "Summary"
msgstr "Sumari"
-#: ../../mod/admin.php:244
+#: ../../Zotlabs/Module/Admin.php:245
msgid "Registered accounts"
msgstr "Comptes registrades"
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
msgid "Pending registrations"
msgstr "Comptes pendents de registre"
-#: ../../mod/admin.php:246
+#: ../../Zotlabs/Module/Admin.php:247
msgid "Registered channels"
msgstr "Canals registrats"
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
msgid "Active plugins"
msgstr "Plugins actius"
-#: ../../mod/admin.php:248
+#: ../../Zotlabs/Module/Admin.php:249
msgid "Version"
msgstr "Versió"
-#: ../../mod/admin.php:363
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr "Versió (master) del repositori"
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr "Versió (desenvolupament) del repositori"
+
+#: ../../Zotlabs/Module/Admin.php:373
msgid "Site settings updated."
msgstr "Ajustos del Lloc actualitzats"
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Predeterminat"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
msgid "mobile"
msgstr "mòbil"
-#: ../../mod/admin.php:402
+#: ../../Zotlabs/Module/Admin.php:412
msgid "experimental"
msgstr "experimental"
-#: ../../mod/admin.php:404
+#: ../../Zotlabs/Module/Admin.php:414
msgid "unsupported"
msgstr "no soportat"
-#: ../../mod/admin.php:429
+#: ../../Zotlabs/Module/Admin.php:460
msgid "Yes - with approval"
msgstr "Sí - amb aprovació"
-#: ../../mod/admin.php:435
+#: ../../Zotlabs/Module/Admin.php:466
msgid "My site is not a public server"
msgstr "El meu lloc no es un servidor públic"
-#: ../../mod/admin.php:436
+#: ../../Zotlabs/Module/Admin.php:467
msgid "My site has paid access only"
msgstr "El meu lloc te accès per pagament"
-#: ../../mod/admin.php:437
+#: ../../Zotlabs/Module/Admin.php:468
msgid "My site has free access only"
msgstr "El meu lloc te lliure accés"
-#: ../../mod/admin.php:438
+#: ../../Zotlabs/Module/Admin.php:469
msgid "My site offers free accounts with optional paid upgrades"
msgstr "El meu lloc te comptes gratis amb opció de millores per pagament"
-#: ../../mod/admin.php:454 ../../mod/register.php:207
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Lloc"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
msgid "Registration"
msgstr "Registre"
-#: ../../mod/admin.php:455
+#: ../../Zotlabs/Module/Admin.php:494
msgid "File upload"
msgstr "Pujar arxiu"
-#: ../../mod/admin.php:456
+#: ../../Zotlabs/Module/Admin.php:495
msgid "Policies"
msgstr "Polítiques"
-#: ../../mod/admin.php:461
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avançat"
+
+#: ../../Zotlabs/Module/Admin.php:500
msgid "Site name"
msgstr "Nom del lloc"
-#: ../../mod/admin.php:462
+#: ../../Zotlabs/Module/Admin.php:501
msgid "Banner/Logo"
msgstr "Senyera/Logo"
-#: ../../mod/admin.php:463
+#: ../../Zotlabs/Module/Admin.php:502
msgid "Administrator Information"
msgstr "Informació de l'Administrador"
-#: ../../mod/admin.php:463
+#: ../../Zotlabs/Module/Admin.php:502
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Informació per contactar amb els administradors del lloc. Mostrada a la pàgina d'informació del lloc. Es pot emprar BBCode aquí"
-#: ../../mod/admin.php:464
+#: ../../Zotlabs/Module/Admin.php:503
msgid "System language"
msgstr "Idioma del sistema"
-#: ../../mod/admin.php:465
+#: ../../Zotlabs/Module/Admin.php:504
msgid "System theme"
msgstr "Tema del sistema"
-#: ../../mod/admin.php:465
+#: ../../Zotlabs/Module/Admin.php:504
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Tema del sistema per defecte - pot ser sobrescrit pel perfils dels usuaris - <a href='#' id='cnftheme'>Ajustos de canvi del tema</a>"
-#: ../../mod/admin.php:466
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Mobile system theme"
msgstr "Tema del sistema per a mòbils"
-#: ../../mod/admin.php:466
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Theme for mobile devices"
msgstr "Tema per a aparells mòbils"
-#: ../../mod/admin.php:468
-msgid "Enable Diaspora Protocol"
-msgstr "Activat el Protocol Diaspora"
-
-#: ../../mod/admin.php:468
-msgid "Communicate with Diaspora and Friendica - experimental"
-msgstr "Comunicar amb Diaspora i Friendica - experimental"
-
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:507
msgid "Allow Feeds as Connections"
msgstr "Permetre Retroalimentadors com Connexions"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:507
msgid "(Heavy system resource usage)"
msgstr "(Demana molts recursos del sistema)"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:508
msgid "Maximum image size"
msgstr "Mida màxima d'imatge"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:508
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
-msgstr "Mida màxima en bytes de imatges pujades. Per defecte es 0, el que vol dir sense límits."
+msgstr "Mida màxima en bytes d'imatges pujades. Per defecte es 0, el que vol dir sense límits."
-#: ../../mod/admin.php:471
+#: ../../Zotlabs/Module/Admin.php:509
msgid "Does this site allow new member registration?"
msgstr "Permet aquest lloc registre de nous membres?"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:510
+msgid "Invitation only"
+msgstr "Només per invitació"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Només permet registre de nos membres amb codi d'invitació. A més la política de registre s'ha d'establir a Sí."
+
+#: ../../Zotlabs/Module/Admin.php:511
msgid "Which best describes the types of account offered by this hub?"
msgstr "Que es es que millor descriu la mena de comptes oferits per aquest concentrador?"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Register text"
msgstr "text de registre"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Will be displayed prominently on the registration page."
msgstr "Es mostrarà preminentment a la pàgina de registre"
-#: ../../mod/admin.php:474
+#: ../../Zotlabs/Module/Admin.php:513
msgid "Site homepage to show visitors (default: login box)"
msgstr "Pàgina d'inici a mostrar als visitants (per defecte: la pàgina d'identificació)"
-#: ../../mod/admin.php:474
+#: ../../Zotlabs/Module/Admin.php:513
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "exemple: 'públic' per a mostrar un flux públic, 'page/sys/home' per a mostrar una pàgina web dita 'home' o 'include:home.html' per a incloure un arxiu."
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:514
msgid "Preserve site homepage URL"
msgstr "Preservar URL de la pàgina web"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:514
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Presenta la pàgina web del lloc en un marc en el lloc original enlloc de redirigir cap a ella"
-#: ../../mod/admin.php:476
+#: ../../Zotlabs/Module/Admin.php:515
msgid "Accounts abandoned after x days"
msgstr "Els copmte es consideren abandonats despres de x dies"
-#: ../../mod/admin.php:476
+#: ../../Zotlabs/Module/Admin.php:515
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "No malgastar recursos del sistema sondejant llocs externs per acomptes abandonats. Entrar 0 vol dir sense límit de temps."
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:516
msgid "Allowed friend domains"
msgstr "dominis amics permesos"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:516
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "llista separada per comes de dominis en els que està permès establir relacions d'amistat amb aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:517
msgid "Allowed email domains"
msgstr "Dominis de correu electonic acceptats"
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:517
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
-msgstr "llista separada per comes de dominis de adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
+msgstr "llista separada per comes de dominis d'adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:518
msgid "Not allowed email domains"
msgstr "Dominis de correu electrònic no acceptats"
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:518
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
-msgstr "llista separada per comes de dominis de adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
-
-#: ../../mod/admin.php:480
-msgid "Block public"
-msgstr "Bloc públic"
-
-#: ../../mod/admin.php:480
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Activa per a bloquejar l'accés públic a totes les pàgines públiques personals excepte si estàs identificat en el sistema."
+msgstr "llista separada per comes de dominis d'adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:519
msgid "Verify Email Addresses"
msgstr "Verifica l'Adreça de Correu Electrònic"
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:519
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Activa per comprovar l'adreça de correu electrònic emprada durant el registre d'un nou compte (recomanat)"
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:520
msgid "Force publish"
msgstr "Forza la publicació"
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:520
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Activa per forzar que tots el perfils en aquest lloc siguin llistats en el directori del lloc."
-#: ../../mod/admin.php:483
-msgid "Disable discovery tab"
-msgstr "Desactiva la pestañnya de descobrir"
+#: ../../Zotlabs/Module/Admin.php:521
+msgid "Import Public Streams"
+msgstr "Importar Fluxos Públics"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:521
msgid ""
-"Remove the tab in the network view with public content pulled from sources "
-"chosen for this site."
-msgstr "Treu la pesranya per veure contingut públic de la xarxa extret d'origens triats per aquest lloc."
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Importa i permet l'accés a contingut públic sondejat d'altres llocs. Avís: aquest contingut no estarà moderat."
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
msgstr "Accés a la Pàgina d'inici"
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:522
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut."
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr "Activar l'ajuda contextual"
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Mostra l'ajuda contextual per la pàgina actual quan el botó d'ajuda es pressionat."
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Directory Server URL"
+msgstr "URL del Servidor de Directoris"
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Default directory server"
+msgstr "Servidor de directori per defecte"
+
+#: ../../Zotlabs/Module/Admin.php:527
msgid "Proxy user"
msgstr "Usuari Proxy"
-#: ../../mod/admin.php:487
+#: ../../Zotlabs/Module/Admin.php:528
msgid "Proxy URL"
msgstr "URL del Proxy"
-#: ../../mod/admin.php:488
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Network timeout"
msgstr "Temps d'espera de la xarxa"
-#: ../../mod/admin.php:488
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)"
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:530
msgid "Delivery interval"
msgstr "Interval de lliurament"
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:530
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats."
-#: ../../mod/admin.php:490
+#: ../../Zotlabs/Module/Admin.php:531
+msgid "Deliveries per process"
+msgstr "Entregues per processar"
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Nombre de entregues a intentar processar en un únic procèss del sistema operatiu. Ajustar si es necessari per millorar el rendiment. Es recomana: 1-5."
+
+#: ../../Zotlabs/Module/Admin.php:532
msgid "Poll interval"
msgstr "interval de sondeig"
-#: ../../mod/admin.php:490
+#: ../../Zotlabs/Module/Admin.php:532
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament."
-#: ../../mod/admin.php:491
+#: ../../Zotlabs/Module/Admin.php:533
msgid "Maximum Load Average"
msgstr "Càrrega Mitja Màxima"
-#: ../../mod/admin.php:491
+#: ../../Zotlabs/Module/Admin.php:533
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte."
-#: ../../mod/admin.php:492
-msgid "Expiration period in days for imported (matrix/network) content"
-msgstr "Periode d'expiració per a contingut importat (matrix/xarxa)"
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Període d'expiració en dies per contingut importat (malla/xarxa)"
-#: ../../mod/admin.php:492
+#: ../../Zotlabs/Module/Admin.php:534
msgid "0 for no expiration of imported content"
msgstr "0 vol dir sense temps d'expiració pel contingut importat"
-#: ../../mod/admin.php:540
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "Off"
+msgstr "Apagat"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "On"
+msgstr "Funcionant"
+
+#: ../../Zotlabs/Module/Admin.php:678
+#, php-format
+msgid "Lock feature %s"
+msgstr "Bloca característica %s"
+
+#: ../../Zotlabs/Module/Admin.php:686
+msgid "Manage Additional Features"
+msgstr "Gestiona Funcionalitats Addicionals"
+
+#: ../../Zotlabs/Module/Admin.php:703
msgid "No server found"
msgstr "No es troba servidor"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:547
+#: ../../Zotlabs/Module/Admin.php:710
msgid "for channel"
msgstr "per a canal"
-#: ../../mod/admin.php:547
+#: ../../Zotlabs/Module/Admin.php:710
msgid "on server"
msgstr "al servidor"
-#: ../../mod/admin.php:547
-msgid "Status"
-msgstr "Estat"
-
-#: ../../mod/admin.php:549
+#: ../../Zotlabs/Module/Admin.php:712
msgid "Server"
msgstr "Servidor"
-#: ../../mod/admin.php:566
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Per defecte, HTML no filtrat està permés als media embeguts. Això es inherentment no segur."
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "L'ajust recomanat és només permetre HTML sense filtrar dels següents llocs:"
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Tota la resta de contingut embegut seà filtrat, <strong>excepte</strong> contingut embegut d'aquest lloc que està blocat explícitament."
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Seguretat"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid "Block public"
+msgstr "Bloca que sigui públic"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "activa per blocar l'accés a les pàgines personals públiques a tothom excepte aquells/es que s'hagin autenticat en aquest node."
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Set \"Transport Security\" HTTP header"
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Set \"Content Security Policy\" HTTP header"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr "Permetre comunicacions únicament des de aquests llocs"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Un lloc per línia. Deixar en blanc per permetre, per defecte, la comunicació amb tothom."
+
+#: ../../Zotlabs/Module/Admin.php:762
+msgid "Block communications from these sites"
+msgstr "Bloca comunicacions que venen d'aquests llocs"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid "Allow communications only from these channels"
+msgstr "Permet la comunicació només per aquests canals"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Un canal (hash) per línia. Deixa en blanc per permetre, per defecte, la comunicació qualsevol canal."
+
+#: ../../Zotlabs/Module/Admin.php:764
+msgid "Block communications from these channels"
+msgstr "Bloca les comunicacions que venen d'aquests canals"
+
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Permetre embeguts només de llocs web i enllaços segurs (SSL)."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Permetre HTML embegut sense filtrar només d'aquests dominis."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Un lloc per línia. Per defecte el contingut embegut es filtrat."
+
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr "Bloca HTML embegut d'aquests dominis"
+
+#: ../../Zotlabs/Module/Admin.php:785
msgid "Update has been marked successful"
msgstr "Actualització marcada amb exit"
-#: ../../mod/admin.php:576
+#: ../../Zotlabs/Module/Admin.php:795
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Executant %s ha fallat. Comprova els logs del sistema."
-#: ../../mod/admin.php:579
+#: ../../Zotlabs/Module/Admin.php:798
#, php-format
msgid "Update %s was successfully applied."
msgstr "Actualització %s es va realitzar correctament."
-#: ../../mod/admin.php:583
+#: ../../Zotlabs/Module/Admin.php:802
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Actualització %s no ha retornat l'estat. Es desconeix si ha finalitzat amb exit."
-#: ../../mod/admin.php:586
+#: ../../Zotlabs/Module/Admin.php:805
#, php-format
msgid "Update function %s could not be found."
msgstr "La funció d'actualitzacio %s no es pot trobar."
-#: ../../mod/admin.php:602
+#: ../../Zotlabs/Module/Admin.php:821
msgid "No failed updates."
msgstr "No hi ha actualitzacions fallides."
-#: ../../mod/admin.php:606
+#: ../../Zotlabs/Module/Admin.php:825
msgid "Failed Updates"
msgstr "Actualitzacions Fallides"
-#: ../../mod/admin.php:608
+#: ../../Zotlabs/Module/Admin.php:827
msgid "Mark success (if update was manually applied)"
msgstr "Marca èxit (si l'actualització s'ha aplicat de forma manual)"
-#: ../../mod/admin.php:609
+#: ../../Zotlabs/Module/Admin.php:828
msgid "Attempt to execute this update step automatically"
msgstr "Prova a fer automàticament aquesta actualització"
-#: ../../mod/admin.php:641
+#: ../../Zotlabs/Module/Admin.php:859
msgid "Queue Statistics"
msgstr "Cua d'Estadístiques"
-#: ../../mod/admin.php:642
+#: ../../Zotlabs/Module/Admin.php:860
msgid "Total Entries"
msgstr "Total d'Entrades"
-#: ../../mod/admin.php:643
+#: ../../Zotlabs/Module/Admin.php:861
msgid "Priority"
msgstr "Prioritat"
-#: ../../mod/admin.php:644
+#: ../../Zotlabs/Module/Admin.php:862
msgid "Destination URL"
msgstr "URL de Destí"
-#: ../../mod/admin.php:645
+#: ../../Zotlabs/Module/Admin.php:863
msgid "Mark hub permanently offline"
-msgstr "Marca el concentrador coma permanentment fora de línia"
+msgstr "Marca el node com a permanentment fora de línia"
-#: ../../mod/admin.php:646
+#: ../../Zotlabs/Module/Admin.php:864
msgid "Empty queue for this hub"
-msgstr "Cua buida per aquest concentrador"
+msgstr "Cua buida per aquest node"
-#: ../../mod/admin.php:647
+#: ../../Zotlabs/Module/Admin.php:865
msgid "Last known contact"
msgstr "Últim contacte conegut"
-#: ../../mod/admin.php:683
+#: ../../Zotlabs/Module/Admin.php:901
#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s usuari bloquejat/desbloquejat"
-msgstr[1] "%s usuaris bloquejats/desbloquejats"
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "S'ha [des]bloquejat %s compte"
+msgstr[1] "S'han [des]bloquejat %s comptes"
-#: ../../mod/admin.php:691
+#: ../../Zotlabs/Module/Admin.php:908
#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s usuari esborrat"
-msgstr[1] "%s usuaris esborrats"
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "S'ha esborrat el compte %s"
+msgstr[1] "S'han esborrat %s comptes"
-#: ../../mod/admin.php:727
+#: ../../Zotlabs/Module/Admin.php:944
msgid "Account not found"
msgstr "Compte no trobat"
-#: ../../mod/admin.php:747
+#: ../../Zotlabs/Module/Admin.php:955
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "S'ha esborrat el compte '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:963
#, php-format
-msgid "User '%s' blocked"
-msgstr "Usuari '%s' bloquejat"
+msgid "Account '%s' blocked"
+msgstr "S'ha bloquejat el compte '%s'"
-#: ../../mod/admin.php:755
+#: ../../Zotlabs/Module/Admin.php:971
#, php-format
-msgid "User '%s' unblocked"
-msgstr "Usuari '%s' desbloquejat"
+msgid "Account '%s' unblocked"
+msgstr "S'ha desbloquejat el compte '%s'"
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
-msgid "Users"
-msgstr "Usuaris"
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Comptes"
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
msgid "select all"
msgstr "Sel·leciona-ho tot"
-#: ../../mod/admin.php:821
-msgid "User registrations waiting for confirm"
-msgstr "Registres d'usuaris pendents de confirmació"
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr ""
-#: ../../mod/admin.php:822
+#: ../../Zotlabs/Module/Admin.php:1035
msgid "Request date"
msgstr "Data de la petició"
-#: ../../mod/admin.php:823
+#: ../../Zotlabs/Module/Admin.php:1036
msgid "No registrations."
msgstr "Sense registracions."
-#: ../../mod/admin.php:824 ../../mod/connedit.php:687
-msgid "Approve"
-msgstr "Aprovat"
-
-#: ../../mod/admin.php:825
+#: ../../Zotlabs/Module/Admin.php:1038
msgid "Deny"
msgstr "Denegat"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:519
-msgid "Block"
-msgstr "Bloquejat"
-
-#: ../../mod/admin.php:828 ../../mod/connedit.php:519
-msgid "Unblock"
-msgstr "Desbloquejat"
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Tots els Canals"
-#: ../../mod/admin.php:831
+#: ../../Zotlabs/Module/Admin.php:1049
msgid "Register date"
msgstr "Data de registre"
-#: ../../mod/admin.php:831
+#: ../../Zotlabs/Module/Admin.php:1050
msgid "Last login"
msgstr "Darrera identificació"
-#: ../../mod/admin.php:831
+#: ../../Zotlabs/Module/Admin.php:1051
msgid "Expires"
msgstr "Expira"
-#: ../../mod/admin.php:831
+#: ../../Zotlabs/Module/Admin.php:1052
msgid "Service Class"
msgstr "Classe de Servei"
-#: ../../mod/admin.php:833
+#: ../../Zotlabs/Module/Admin.php:1054
msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Tria els usuaris que s'esborraran!\\n\\nTotes les publicacions d'aquests usuaris en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Els comptes seleccionats seran eliminats!\\n\\nTot el que hagin publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur de continuar?"
-#: ../../mod/admin.php:834
+#: ../../Zotlabs/Module/Admin.php:1055
msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'usuari {0} sera esborrat!\\n\\nTotes les publicacions d'aquest usuari en aquest lloc s'eliminarà de forma permanent!\\n\\nEstas segur?"
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "L'usuari {0} serà eliminat!\\n\\nTot el que hagi publicat l'usuari en aquest lloc serà esborrat de permanentment!\\n\\nN'estàs segur?"
-#: ../../mod/admin.php:870
+#: ../../Zotlabs/Module/Admin.php:1091
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s canal censurat/no censurat"
msgstr[1] "%s canals censurats/no censurats"
-#: ../../mod/admin.php:879
+#: ../../Zotlabs/Module/Admin.php:1100
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "%s codi permes/no permes al canal"
msgstr[1] "%s codi permesos/no permesos al canal"
-#: ../../mod/admin.php:886
+#: ../../Zotlabs/Module/Admin.php:1106
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canal esborrat"
msgstr[1] "%s canals esborrats"
-#: ../../mod/admin.php:906
+#: ../../Zotlabs/Module/Admin.php:1126
msgid "Channel not found"
msgstr "Canal no trobat"
-#: ../../mod/admin.php:917
+#: ../../Zotlabs/Module/Admin.php:1136
#, php-format
msgid "Channel '%s' deleted"
msgstr "Canal '%s' esborrat"
-#: ../../mod/admin.php:929
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' censored"
msgstr "Canal '%s' censurat"
-#: ../../mod/admin.php:929
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Canal '%s' no censurat"
-#: ../../mod/admin.php:940
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Canal '%s' permet codi"
-#: ../../mod/admin.php:940
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Canal '%s' no permet codi"
-#: ../../mod/admin.php:989
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Canals"
+
+#: ../../Zotlabs/Module/Admin.php:1214
msgid "Censor"
msgstr "Censurat"
-#: ../../mod/admin.php:990
+#: ../../Zotlabs/Module/Admin.php:1215
msgid "Uncensor"
msgstr "No censurat"
-#: ../../mod/admin.php:991
+#: ../../Zotlabs/Module/Admin.php:1216
msgid "Allow Code"
msgstr "Permet Codi"
-#: ../../mod/admin.php:992
+#: ../../Zotlabs/Module/Admin.php:1217
msgid "Disallow Code"
msgstr "No Permet Codi"
-#: ../../mod/admin.php:994
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Canal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:996
+#: ../../Zotlabs/Module/Admin.php:1226
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
-#: ../../mod/admin.php:997
+#: ../../Zotlabs/Module/Admin.php:1227
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?"
-#: ../../mod/admin.php:1037
+#: ../../Zotlabs/Module/Admin.php:1284
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s desactivat."
-#: ../../mod/admin.php:1041
+#: ../../Zotlabs/Module/Admin.php:1288
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s activat."
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
msgid "Disable"
msgstr "Desactivat"
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
msgid "Enable"
msgstr "Activat"
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
msgid "Toggle"
msgstr "Commutar"
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Ajustos"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
msgid "Author: "
msgstr "Autor: "
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
msgid "Maintainer: "
msgstr "Mantenedor:"
-#: ../../mod/admin.php:1214
+#: ../../Zotlabs/Module/Admin.php:1341
+msgid "Minimum project version: "
+msgstr "Versió mínima del projecte:"
+
+#: ../../Zotlabs/Module/Admin.php:1342
+msgid "Maximum project version: "
+msgstr "Versió màxima del projecte:"
+
+#: ../../Zotlabs/Module/Admin.php:1343
+msgid "Minimum PHP version: "
+msgstr "Versió mínima de PHP:"
+
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "Requereix:"
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
+msgid "Disabled - version incompatibility"
+msgstr "Desactiva - incompatibilitat de versió"
+
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Introdueix la URL del repositori git públic del repositori de plugins."
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr "URL del repositori de plugins."
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Nom del repositori personalitzat"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(opcional)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "Descarrega el Repositori de Plugins"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "Instal·la un nou repositori "
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Instal·lar"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "Gestiona Repositoris"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "Repositori de Plugins Instal·lat"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "Instal·la un Nou Repositori de Plugins"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Actualització"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "Canvia de branca"
+
+#: ../../Zotlabs/Module/Admin.php:1550
msgid "No themes found."
msgstr "No s'han trobat temes."
-#: ../../mod/admin.php:1270
+#: ../../Zotlabs/Module/Admin.php:1606
msgid "Screenshot"
msgstr "Copia de pantalla"
-#: ../../mod/admin.php:1316
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Temes"
+
+#: ../../Zotlabs/Module/Admin.php:1652
msgid "[Experimental]"
msgstr "[Experimental]"
-#: ../../mod/admin.php:1317
+#: ../../Zotlabs/Module/Admin.php:1653
msgid "[Unsupported]"
msgstr "[No soportat]"
-#: ../../mod/admin.php:1341
+#: ../../Zotlabs/Module/Admin.php:1677
msgid "Log settings updated."
msgstr "Registre d'ajustos actualitzat."
-#: ../../mod/admin.php:1398
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Logs"
+
+#: ../../Zotlabs/Module/Admin.php:1734
msgid "Clear"
msgstr "Neteja"
-#: ../../mod/admin.php:1404
+#: ../../Zotlabs/Module/Admin.php:1740
msgid "Debugging"
msgstr "Depurant"
-#: ../../mod/admin.php:1405
+#: ../../Zotlabs/Module/Admin.php:1741
msgid "Log file"
msgstr "Arxiu de registre"
-#: ../../mod/admin.php:1405
+#: ../../Zotlabs/Module/Admin.php:1741
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Ha de ser escribible pel servidor web. Relatiu al directori de nivell superior de Red"
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
-#: ../../mod/admin.php:1406
+#: ../../Zotlabs/Module/Admin.php:1742
msgid "Log level"
msgstr "Nivell de registre"
-#: ../../mod/admin.php:1452
+#: ../../Zotlabs/Module/Admin.php:2028
msgid "New Profile Field"
msgstr "Camp de Perfil Nou"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "Field nickname"
msgstr "Àlies de Camp"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "System name of field"
msgstr "nOM DEL SISTEMA DEL CAMP"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
msgid "Input type"
msgstr "Tipus d'entrada"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Field Name"
msgstr "Nom de Camp"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Label on profile pages"
msgstr "Etiqueta a les pàgines de perfil"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Help text"
msgstr "Text d'ajuda"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Additional info (optional)"
msgstr "Informació adicional (opcional)"
-#: ../../mod/admin.php:1466
+#: ../../Zotlabs/Module/Admin.php:2042
msgid "Field definition not found"
msgstr "No es troba la definició del camp"
-#: ../../mod/admin.php:1472
+#: ../../Zotlabs/Module/Admin.php:2048
msgid "Edit Profile Field"
msgstr "Camp d'Edició del Perfil"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "No es possible trobar el concentrador"
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Camps del Perfil"
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Entrada realitzada amb èxit. "
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "Camps Bàsics del Perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "Camps Avançats del Perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "( addicionalment als camps bàsics)"
+
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "Tots els camps disponibles"
+
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "Camps Personalitzats"
+
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "Crear un Camp Personalitzat"
+
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "Aplicació instal·lada."
+
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Aplicació amb errors"
+
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Codi embegut"
-#: ../../mod/register.php:44
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "Edita l'Aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "Crea l'Aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Nom de l'Aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Ubicació (URL) de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "Foto icona URL"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels - opcional"
+
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "Categories (opcional, lista separada per comes)"
+
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Versió ID"
+
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Preu de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Ubicació (URL) per comprar l'aplicació"
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Tria una carpeta d'interès"
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Guarda Favorits"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL de favorit"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "O entra un nou nom de favorit"
+
+#: ../../Zotlabs/Module/Register.php:49
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Nombre màxim de registres diaris excedit. Si us plau, provau demà."
-#: ../../mod/register.php:50
+#: ../../Zotlabs/Module/Register.php:55
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr "El registre ha fallat. Si et plau, indica que acceptes les Condicions del Servei."
-#: ../../mod/register.php:84
+#: ../../Zotlabs/Module/Register.php:89
msgid "Passwords do not match."
msgstr "Les contrasenyes no coincideixen."
-#: ../../mod/register.php:117
+#: ../../Zotlabs/Module/Register.php:131
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
-msgstr "registrat amb èxit. Si et plau revisa el teu e-correu per a instruccions de validació."
+msgstr "Registrat amb èxit. Si et plau revisa el teu correu electrònic per a les instruccions de validació."
-#: ../../mod/register.php:123
+#: ../../Zotlabs/Module/Register.php:137
msgid "Your registration is pending approval by the site owner."
msgstr "El teu registre esta pendent de validació pel propietari del lloc."
-#: ../../mod/register.php:126
+#: ../../Zotlabs/Module/Register.php:140
msgid "Your registration can not be processed."
msgstr "El teu registre no ha pogut ser processat. "
-#: ../../mod/register.php:163
-msgid "Registration on this site/hub is by approval only."
-msgstr "El registre en aquest lloc/centre es únicament per validació."
+#: ../../Zotlabs/Module/Register.php:184
+msgid "Registration on this hub is disabled."
+msgstr "El registre en aquest node està deshabilitat."
+
+#: ../../Zotlabs/Module/Register.php:193
+msgid "Registration on this hub is by approval only."
+msgstr "El registre en aquest node es únicament per validació."
-#: ../../mod/register.php:164
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registre en altre lloc/centre afiliat</a>"
+#: ../../Zotlabs/Module/Register.php:194
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">Registre en altre node afiliat</a>"
-#: ../../mod/register.php:174
+#: ../../Zotlabs/Module/Register.php:204
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "El lloc ha excedit el límit màxim diari de nous comptes/registres. Provau demà."
-#: ../../mod/register.php:185
+#: ../../Zotlabs/Module/Register.php:215
msgid "Terms of Service"
msgstr "Condicions del Servei"
-#: ../../mod/register.php:191
+#: ../../Zotlabs/Module/Register.php:221
#, php-format
msgid "I accept the %s for this website"
msgstr "Accepto el %s per a aquest lloc web"
-#: ../../mod/register.php:193
+#: ../../Zotlabs/Module/Register.php:223
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "Tinc més de 13 anys i accepto les %s d'aquest lloc web"
-#: ../../mod/register.php:212
-msgid "Membership on this site is by invitation only."
-msgstr "La pertinença en aquest lloc es per invitació exclusivament."
-
-#: ../../mod/register.php:213
-msgid "Please enter your invitation code"
-msgstr "Si et plau, introdueix el teu codi d'invitació"
-
-#: ../../mod/register.php:216
+#: ../../Zotlabs/Module/Register.php:227
msgid "Your email address"
msgstr "La teva adreça de correu electrónic"
-#: ../../mod/register.php:217
+#: ../../Zotlabs/Module/Register.php:228
msgid "Choose a password"
msgstr "Tria una contrasenya"
-#: ../../mod/register.php:218
+#: ../../Zotlabs/Module/Register.php:229
msgid "Please re-enter your password"
msgstr "Si et plau, re-entra la contrasenya"
-#: ../../mod/removeaccount.php:30
+#: ../../Zotlabs/Module/Register.php:230
+msgid "Please enter your invitation code"
+msgstr "Si et plau, introdueix el teu codi d'invitació"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "no"
+msgstr "no"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "yes"
+msgstr "sí"
+
+#: ../../Zotlabs/Module/Register.php:250
+msgid "Membership on this site is by invitation only."
+msgstr "La pertinença en aquest lloc es per invitació exclusivament."
+
+#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
+#: ../../boot.php:1685
+msgid "Register"
+msgstr "Registre"
+
+#: ../../Zotlabs/Module/Register.php:262
+msgid "Proceed to create your first channel"
+msgstr "Comença a crear el teu primer canal"
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr "Inicia Sessió."
+
+#: ../../Zotlabs/Module/Removeaccount.php:34
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
"password."
msgstr "L'esborrat de comptes no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
-#: ../../mod/removeaccount.php:57
+#: ../../Zotlabs/Module/Removeaccount.php:56
msgid "Remove This Account"
msgstr "Esborra el compte"
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "WARNING: "
msgstr "ALERTA:"
-#: ../../mod/removeaccount.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Aquest compte i tots els seus canals s'estan apunt d'esborrar totalment de la xarxa."
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This action is permanent and can not be undone!"
msgstr "Aquesta acció és irreversible!"
-#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
msgid "Please enter your password for verification:"
msgstr "Aquesta acció requereix tornar a introduir la contrasenya:"
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"Remove this account, all its channels and all its channel clones from the "
"network"
msgstr "Esborra de la xarxa aquest compte, tots els seus canals, i tots els seus canals clons."
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"By default only the instances of the channels located on this hub will be "
"removed from the network"
-msgstr "Per defecte, només les instancies dels canal ubicats en aquest concentrador poden esser esborrades de la xarxa"
+msgstr "Per defecte, només les instancies dels canal ubicats en aquest node poden esser esborrades de la xarxa"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
+#: ../../Zotlabs/Module/Removeaccount.php:60
+#: ../../Zotlabs/Module/Settings.php:705
msgid "Remove Account"
msgstr "Esborra el Compte"
-#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
-msgid "Help:"
-msgstr "Ajuda:"
+#: ../../Zotlabs/Module/Removeme.php:33
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
-#: ../../mod/help.php:76 ../../index.php:238
-msgid "Not Found"
-msgstr "No s'ha pogut trobar la pàgina"
+#: ../../Zotlabs/Module/Removeme.php:58
+msgid "Remove This Channel"
+msgstr "Elimina Aquest Canal"
-#: ../../mod/help.php:100
-msgid "$Projectname Documentation"
-msgstr "$Projectname Documentació"
+#: ../../Zotlabs/Module/Removeme.php:59
+msgid "This channel will be completely removed from the network. "
+msgstr "Aquest canal serà completament eliminat de la xarxa."
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
-msgid "[Embedded content - reload page to view]"
-msgstr "[Contingut embegut - recarrega la pàgina per veure-ho]"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "Remove this channel and all its clones from the network"
+msgstr "Elimina aquest canal i els seus clons de la xarxa"
-#: ../../mod/lockview.php:37
-msgid "Remote privacy information not available."
-msgstr "informació privada remota no disponible."
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Per defecte, només la instancia del canal ubicat en aquest node pot esser esborrat de la xarxa"
-#: ../../mod/lockview.php:58
-msgid "Visible to:"
-msgstr "Visible per:"
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
+msgid "Remove Channel"
+msgstr "Elimina el canal"
+
+#: ../../Zotlabs/Module/Rmagic.php:44
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID."
+
+#: ../../Zotlabs/Module/Rmagic.php:44
+msgid "The error message was:"
+msgstr "El missatge d'error fou:"
+
+#: ../../Zotlabs/Module/Rmagic.php:48
+msgid "Authentication failed."
+msgstr "Ha fallat l'autentificació."
+
+#: ../../Zotlabs/Module/Rmagic.php:88
+msgid "Remote Authentication"
+msgstr "Autentificació Remota"
-#: ../../mod/settings.php:76
+#: ../../Zotlabs/Module/Rmagic.php:89
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
+
+#: ../../Zotlabs/Module/Rmagic.php:90
+msgid "Authenticate"
+msgstr "Autentica't"
+
+#: ../../Zotlabs/Module/Search.php:216
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elements etiquetats amb: %s"
+
+#: ../../Zotlabs/Module/Search.php:218
+#, php-format
+msgid "Search results for: %s"
+msgstr "Resultats de cerca per: %s"
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "No s'han trobat restriccions de clase."
+
+#: ../../Zotlabs/Module/Settings.php:69
msgid "Name is required"
msgstr "Es requereix un Nom"
-#: ../../mod/settings.php:80
+#: ../../Zotlabs/Module/Settings.php:73
msgid "Key and Secret are required"
msgstr "Es requereix Clau (Key) i el Secret (Secret)"
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr "Actualitzats els Ajustos de Política de Diaspora."
+#: ../../Zotlabs/Module/Settings.php:225
+msgid "Not valid email."
+msgstr "E-correu no vàlid."
+
+#: ../../Zotlabs/Module/Settings.php:228
+msgid "Protected email address. Cannot change to that email."
+msgstr "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu."
+
+#: ../../Zotlabs/Module/Settings.php:237
+msgid "System failure storing new email. Please try again."
+msgstr "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou."
-#: ../../mod/settings.php:238
+#: ../../Zotlabs/Module/Settings.php:254
+msgid "Password verification failed."
+msgstr "La verificació de la contrasenya ha fallat."
+
+#: ../../Zotlabs/Module/Settings.php:261
msgid "Passwords do not match. Password unchanged."
msgstr "Les contrasenyes no coincideixen. Contrasenya sense canvis."
-#: ../../mod/settings.php:242
+#: ../../Zotlabs/Module/Settings.php:265
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Les contrasenyes en blanc no estan permesas. Contrasenya sense canvis."
-#: ../../mod/settings.php:256
+#: ../../Zotlabs/Module/Settings.php:279
msgid "Password changed."
msgstr "Contrasenya canviada."
-#: ../../mod/settings.php:258
+#: ../../Zotlabs/Module/Settings.php:281
msgid "Password update failed. Please try again."
msgstr "L'actualització de la contrasenya va fallar. Si us plau, torneu a intentar-ho."
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr "E-correu no vàlid."
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu."
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou."
-
-#: ../../mod/settings.php:523
+#: ../../Zotlabs/Module/Settings.php:525
msgid "Settings updated."
msgstr "Ajustes actualizados."
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
+#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
+#: ../../Zotlabs/Module/Settings.php:651
msgid "Add application"
msgstr "Afegir aplicatiu"
-#: ../../mod/settings.php:590
+#: ../../Zotlabs/Module/Settings.php:592
msgid "Name of application"
msgstr "Nom de l'aplicatiu"
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Generat automàticament- Canvia-ho si ho vols. Max. longitud 20"
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
+#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
+#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
msgid "Redirect"
msgstr "Redirecciona"
-#: ../../mod/settings.php:593
+#: ../../Zotlabs/Module/Settings.php:595
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI redirigida - No canviar excepte perquè el teu aplicatiu ho requereixi."
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
msgid "Icon url"
msgstr "Icona de url"
-#: ../../mod/settings.php:594
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr "Opcional"
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr "No pots editar aquest aplicatiu."
+#: ../../Zotlabs/Module/Settings.php:607
+msgid "Application not found."
+msgstr "Aplicatiu no trobat."
-#: ../../mod/settings.php:648
+#: ../../Zotlabs/Module/Settings.php:650
msgid "Connected Apps"
msgstr "Aplicatius Conectats"
-#: ../../mod/settings.php:652
+#: ../../Zotlabs/Module/Settings.php:654
msgid "Client key starts with"
msgstr "La clau del client comença amb"
-#: ../../mod/settings.php:653
+#: ../../Zotlabs/Module/Settings.php:655
msgid "No name"
msgstr "Sin nombre"
-#: ../../mod/settings.php:654
+#: ../../Zotlabs/Module/Settings.php:656
msgid "Remove authorization"
msgstr "Elimina autorització"
-#: ../../mod/settings.php:668
+#: ../../Zotlabs/Module/Settings.php:669
msgid "No feature settings configured"
msgstr "No hi ha opcions de les funcions configurades"
-#: ../../mod/settings.php:685
+#: ../../Zotlabs/Module/Settings.php:676
msgid "Feature/Addon Settings"
-msgstr "Ajustos de Característica/Afegit"
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr "Ajustos pel emulador de Diaspora incorporat"
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr "Permetre que cualsevol membre de Diaspora pugui comentar les teves entrades públiques"
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr "Activa el protocol Diaspora en aquest canal"
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr "Política d'Ajustos de Diaspora"
+msgstr "Ajustos de Complements"
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Evita que els teus hashtags puguin ser redirigits a altres llocs"
-
-#: ../../mod/settings.php:715
+#: ../../Zotlabs/Module/Settings.php:699
msgid "Account Settings"
msgstr "Ajustos de Compte"
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
+#: ../../Zotlabs/Module/Settings.php:700
+msgid "Current Password"
+msgstr "Contrasenya Actual"
+
+#: ../../Zotlabs/Module/Settings.php:701
+msgid "Enter New Password"
msgstr "Entra la Nova Contrasenya"
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr "Confirma la Nova Contrasenya:"
+#: ../../Zotlabs/Module/Settings.php:702
+msgid "Confirm New Password"
+msgstr "Confirma la Nova Contrasenya"
-#: ../../mod/settings.php:717
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Leave password fields blank unless changing"
-msgstr "Deixa els camps de contrasenya en blanc llevat que la volguis canviar"
+msgstr "Deixa els camps de contrasenya en blanc llevat que la vulguis canviar"
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
+#: ../../Zotlabs/Module/Settings.php:704
+#: ../../Zotlabs/Module/Settings.php:1041
msgid "Email Address:"
msgstr "Adreça de E-Correu:"
-#: ../../mod/settings.php:721
+#: ../../Zotlabs/Module/Settings.php:706
msgid "Remove this account including all its channels"
msgstr "Esborra aquest compte inclosos tots els seus canals"
-#: ../../mod/settings.php:737
-msgid "Off"
-msgstr "Apagat"
-
-#: ../../mod/settings.php:737
-msgid "On"
-msgstr "Funcionant"
-
-#: ../../mod/settings.php:744
+#: ../../Zotlabs/Module/Settings.php:729
msgid "Additional Features"
msgstr "Característiques Addicionals"
-#: ../../mod/settings.php:768
+#: ../../Zotlabs/Module/Settings.php:753
msgid "Connector Settings"
msgstr "Ajustos de Connector"
-#: ../../mod/settings.php:807
+#: ../../Zotlabs/Module/Settings.php:792
msgid "No special theme for mobile devices"
msgstr "No emprar tema especial per aparells mòbils"
-#: ../../mod/settings.php:810
+#: ../../Zotlabs/Module/Settings.php:795
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Experimental)"
-#: ../../mod/settings.php:849
+#: ../../Zotlabs/Module/Settings.php:837
msgid "Display Settings"
msgstr "Ajustos de Pantalla"
-#: ../../mod/settings.php:850
+#: ../../Zotlabs/Module/Settings.php:838
msgid "Theme Settings"
msgstr "Ajustos de Tema"
-#: ../../mod/settings.php:851
+#: ../../Zotlabs/Module/Settings.php:839
msgid "Custom Theme Settings"
msgstr "Ajustos Personals de Tema"
-#: ../../mod/settings.php:852
+#: ../../Zotlabs/Module/Settings.php:840
msgid "Content Settings"
msgstr "Ajustos de Contingut"
-#: ../../mod/settings.php:858
+#: ../../Zotlabs/Module/Settings.php:846
msgid "Display Theme:"
msgstr "Ajustos de Tema:"
-#: ../../mod/settings.php:859
+#: ../../Zotlabs/Module/Settings.php:847
msgid "Mobile Theme:"
msgstr "Tema Mòbil:"
-#: ../../mod/settings.php:860
+#: ../../Zotlabs/Module/Settings.php:848
+msgid "Preload images before rendering the page"
+msgstr "Precarrega les imatges abans de dibuixar la pàgina"
+
+#: ../../Zotlabs/Module/Settings.php:848
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "El temps subjectiu per carregar la pàgina pot ser llarg però la pàgina estarà preparada quan es mostri"
+
+#: ../../Zotlabs/Module/Settings.php:849
msgid "Enable user zoom on mobile devices"
msgstr "Zoom d'usuari en dispositius mòbils"
-#: ../../mod/settings.php:861
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Update browser every xx seconds"
msgstr "Actualitza el navegador cada xx segons"
-#: ../../mod/settings.php:861
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Minimum of 10 seconds, no maximum"
msgstr "Mínim de 10 segons, sense màxim"
-#: ../../mod/settings.php:862
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum number of conversations to load at any time:"
msgstr "Nombre màxim de conversacions a càrregar cada vegada"
-#: ../../mod/settings.php:862
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum of 100 items"
msgstr "Màxim de 100 elements"
-#: ../../mod/settings.php:863
+#: ../../Zotlabs/Module/Settings.php:852
msgid "Show emoticons (smilies) as images"
msgstr "Mostra emoticons (smilies) com a imatges"
-#: ../../mod/settings.php:864
+#: ../../Zotlabs/Module/Settings.php:853
msgid "Link post titles to source"
msgstr "Enllaça a l'origen els títols de l'entrada"
-#: ../../mod/settings.php:865
+#: ../../Zotlabs/Module/Settings.php:854
msgid "System Page Layout Editor - (advanced)"
msgstr "Editor de Disseny de la Pàgina del Sistema - (avançat)"
-#: ../../mod/settings.php:868
+#: ../../Zotlabs/Module/Settings.php:857
msgid "Use blog/list mode on channel page"
msgstr "Empra el mode blog/llista a la pàgina del canal"
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
+#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
msgid "(comments displayed separately)"
msgstr "(Observacions es mostren per separat)"
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr "Empra mode blog/llista a la pàgina de matrix"
+#: ../../Zotlabs/Module/Settings.php:858
+msgid "Use blog/list mode on grid page"
+msgstr "Empra el mode de blog/llista a la pàgina de la malla"
-#: ../../mod/settings.php:870
+#: ../../Zotlabs/Module/Settings.php:859
msgid "Channel page max height of content (in pixels)"
msgstr "Alçada màxima de contingut (en píxels) de la pàgina de Canal"
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
+#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
msgid "click to expand content exceeding this height"
msgstr "Clic per expandir el contingut que excedeixi aquesta alçada"
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr "Alçada màxima del contingut (en píxels) de la pàgina Matrix"
+#: ../../Zotlabs/Module/Settings.php:860
+msgid "Grid page max height of content (in pixels)"
+msgstr "Alçada màxima dels continguts (en píxels) de la Pàgina de Malla "
-#: ../../mod/settings.php:905
+#: ../../Zotlabs/Module/Settings.php:894
msgid "Nobody except yourself"
msgstr "Ningú excepte tú"
-#: ../../mod/settings.php:906
+#: ../../Zotlabs/Module/Settings.php:895
msgid "Only those you specifically allow"
msgstr "Només allò que específicament permetis"
-#: ../../mod/settings.php:907
+#: ../../Zotlabs/Module/Settings.php:896
msgid "Approved connections"
msgstr "Connexions aprovades"
-#: ../../mod/settings.php:908
+#: ../../Zotlabs/Module/Settings.php:897
msgid "Any connections"
msgstr "Qualsevol connexió"
-#: ../../mod/settings.php:909
+#: ../../Zotlabs/Module/Settings.php:898
msgid "Anybody on this website"
msgstr "Qualsevol en aquest lloc"
-#: ../../mod/settings.php:910
+#: ../../Zotlabs/Module/Settings.php:899
msgid "Anybody in this network"
msgstr "Qualsevol en aquesta xarxa"
-#: ../../mod/settings.php:911
+#: ../../Zotlabs/Module/Settings.php:900
msgid "Anybody authenticated"
msgstr "Qualsevol autenticat"
-#: ../../mod/settings.php:912
+#: ../../Zotlabs/Module/Settings.php:901
msgid "Anybody on the internet"
msgstr "Qualsevol a internet"
-#: ../../mod/settings.php:986
+#: ../../Zotlabs/Module/Settings.php:976
msgid "Publish your default profile in the network directory"
msgstr "Publica el teu perfil per defecte al directori de la xarxa"
-#: ../../mod/settings.php:991
+#: ../../Zotlabs/Module/Settings.php:981
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Ens permets suggerir-te com a potencial amic als nous membres?"
-#: ../../mod/settings.php:1000
+#: ../../Zotlabs/Module/Settings.php:990
msgid "Your channel address is"
-msgstr "La teva direcció del canal es"
+msgstr "La teva adreça del canal es"
-#: ../../mod/settings.php:1048
+#: ../../Zotlabs/Module/Settings.php:1032
msgid "Channel Settings"
msgstr "Ajustos del Canal"
-#: ../../mod/settings.php:1055
+#: ../../Zotlabs/Module/Settings.php:1039
msgid "Basic Settings"
msgstr "Ajustos Bàsics"
-#: ../../mod/settings.php:1058
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
+msgid "Full Name:"
+msgstr "Nom Complet:"
+
+#: ../../Zotlabs/Module/Settings.php:1042
msgid "Your Timezone:"
msgstr "La teva Franja Horària"
-#: ../../mod/settings.php:1059
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Default Post Location:"
msgstr "Localització Predeterminada de les Entrades:"
-#: ../../mod/settings.php:1059
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Geographical location to display on your posts"
msgstr "Posició geogràfica a mostrar a les teves entrades"
-#: ../../mod/settings.php:1060
+#: ../../Zotlabs/Module/Settings.php:1044
msgid "Use Browser Location:"
msgstr "Empra la Localització del Navegador:"
-#: ../../mod/settings.php:1062
+#: ../../Zotlabs/Module/Settings.php:1046
msgid "Adult Content"
msgstr "Contingut per a Adults"
-#: ../../mod/settings.php:1062
+#: ../../Zotlabs/Module/Settings.php:1046
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Aquest canal publica freqúentment o amb regularitat contingut per a adults. (Si us plau, etiqueti qualsevol material per a adults amb #NSFW)"
-#: ../../mod/settings.php:1064
+#: ../../Zotlabs/Module/Settings.php:1048
msgid "Security and Privacy Settings"
msgstr "Ajustos de Seguretat i Privacitat"
-#: ../../mod/settings.php:1066
+#: ../../Zotlabs/Module/Settings.php:1051
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Els teus permisos estan configurats. Clic per veure/ajustar"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Hide my online presence"
msgstr "Amaga la meva presencia en línia"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Prevents displaying in your profile that you are online"
msgstr "Evita mostrar en el teu perfil, que estàs en línia"
-#: ../../mod/settings.php:1070
+#: ../../Zotlabs/Module/Settings.php:1055
msgid "Simple Privacy Settings:"
msgstr "Ajustos simples de privacitat:"
-#: ../../mod/settings.php:1071
+#: ../../Zotlabs/Module/Settings.php:1056
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Molt públic - <em>extremadament permissiu (s'ha d'anar en compte)</em>"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1057
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Normal - <em>públic per defecte, privat quan es desitgi (similar als permisos de xarxa social, però amb millor privacitat)"
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1058
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privat - <em>privat per defecte, mai públic o obert</em>"
-#: ../../mod/settings.php:1074
+#: ../../Zotlabs/Module/Settings.php:1059
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloquejat - <em>tothom bloquejat per defecte</em>"
-#: ../../mod/settings.php:1076
+#: ../../Zotlabs/Module/Settings.php:1061
msgid "Allow others to tag your posts"
msgstr "Permet a altres etiquetar les teves entrades"
-#: ../../mod/settings.php:1076
+#: ../../Zotlabs/Module/Settings.php:1061
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Sovint emprat per la comunitat per marcar retroactivament contingut inapropiat"
-#: ../../mod/settings.php:1078
+#: ../../Zotlabs/Module/Settings.php:1063
msgid "Advanced Privacy Settings"
msgstr "Ajustos avançats de privacitat"
-#: ../../mod/settings.php:1080
+#: ../../Zotlabs/Module/Settings.php:1065
msgid "Expire other channel content after this many days"
msgstr "El contingut d'altes canals caduca després d'aquests dies"
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr "0 o vuit evita caducitat"
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "0 or blank to use the website limit."
+msgstr "0 o en blanc per emprar el limit del lloc web."
+
+#: ../../Zotlabs/Module/Settings.php:1065
+#, php-format
+msgid "This website expires after %d days."
+msgstr "Aquest lloc web expira després de %d dies."
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "This website does not expire imported content."
+msgstr "A aquest lloc web no expira el contingut importat"
-#: ../../mod/settings.php:1081
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "The website limit takes precedence if lower than your limit."
+msgstr "El límit del lloc web pren la preferència si es inferior al teu límit."
+
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "Maximum Friend Requests/Day:"
msgstr "Nombre màxim de peticions d'amistat per dia"
-#: ../../mod/settings.php:1081
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "May reduce spam activity"
msgstr "Pot reduir l'SPAM"
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr "Permisos de publicació per defecte"
+#: ../../Zotlabs/Module/Settings.php:1067
+msgid "Default Post and Publish Permissions"
+msgstr "Permisos de Entrades i Publicació per defecte"
+
+#: ../../Zotlabs/Module/Settings.php:1069
+msgid "Use my default audience setting for the type of object published"
+msgstr "Empra els meus ajustos per defecte segons el tipus de entrada publicada"
-#: ../../mod/settings.php:1087
+#: ../../Zotlabs/Module/Settings.php:1072
msgid "Channel permissions category:"
msgstr "Categoria de permisos de canal:"
-#: ../../mod/settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Maximum private messages per day from unknown people:"
msgstr "Nombre màxim de missatges privats de desconeguts al dia:"
-#: ../../mod/settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Useful to reduce spamming"
msgstr "Útil per a reduir l'spam"
-#: ../../mod/settings.php:1096
+#: ../../Zotlabs/Module/Settings.php:1081
msgid "Notification Settings"
msgstr "Ajustos de notificacions"
-#: ../../mod/settings.php:1097
+#: ../../Zotlabs/Module/Settings.php:1082
msgid "By default post a status message when:"
msgstr "Per defecte envia un missatge d'estat quan:"
-#: ../../mod/settings.php:1098
+#: ../../Zotlabs/Module/Settings.php:1083
msgid "accepting a friend request"
-msgstr "Acceptar una sol·licitud d'amistat"
+msgstr "S'accepta una sol·licitud d'amistat"
-#: ../../mod/settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1084
msgid "joining a forum/community"
msgstr "Apuntar-se a un fòrum o comunitat"
-#: ../../mod/settings.php:1100
+#: ../../Zotlabs/Module/Settings.php:1085
msgid "making an <em>interesting</em> profile change"
-msgstr "faci un canvi <em>interesant</em> al perfil"
+msgstr "Faci un canvi <em>interesant</em> al perfil"
-#: ../../mod/settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1086
msgid "Send a notification email when:"
msgstr "Notifica per correu quan:"
-#: ../../mod/settings.php:1102
+#: ../../Zotlabs/Module/Settings.php:1087
msgid "You receive a connection request"
msgstr "Rebi una petició de connexió"
-#: ../../mod/settings.php:1103
+#: ../../Zotlabs/Module/Settings.php:1088
msgid "Your connections are confirmed"
msgstr "Es confirma una connexió"
-#: ../../mod/settings.php:1104
+#: ../../Zotlabs/Module/Settings.php:1089
msgid "Someone writes on your profile wall"
msgstr "Algú ha escrit al mur del teu perfil"
-#: ../../mod/settings.php:1105
+#: ../../Zotlabs/Module/Settings.php:1090
msgid "Someone writes a followup comment"
msgstr "Algú ha escrit un comentari de resposta"
-#: ../../mod/settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1091
msgid "You receive a private message"
msgstr "Rebi un missatge privat"
-#: ../../mod/settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1092
msgid "You receive a friend suggestion"
msgstr "Rebi una suggerència d'amistat"
-#: ../../mod/settings.php:1108
+#: ../../Zotlabs/Module/Settings.php:1093
msgid "You are tagged in a post"
msgstr "Estàs etiquetat a l'entrada"
-#: ../../mod/settings.php:1109
+#: ../../Zotlabs/Module/Settings.php:1094
msgid "You are poked/prodded/etc. in a post"
msgstr "S'enfoten/te piquen/etc. en una entrada"
-#: ../../mod/settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1097
msgid "Show visual notifications including:"
msgstr "Mostra notificacion visuals, com ara:"
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
-msgstr "Activitat no vista a la xarxa"
+#: ../../Zotlabs/Module/Settings.php:1099
+msgid "Unseen grid activity"
+msgstr "Activitat de malla no vista"
-#: ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1100
msgid "Unseen channel activity"
msgstr "Activitat no vista del canal"
-#: ../../mod/settings.php:1116
+#: ../../Zotlabs/Module/Settings.php:1101
msgid "Unseen private messages"
msgstr "Missatges privats no llegits"
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
+#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "Recommended"
msgstr "Recomanat"
-#: ../../mod/settings.php:1117
+#: ../../Zotlabs/Module/Settings.php:1102
msgid "Upcoming events"
msgstr "Esdeveniments propers"
-#: ../../mod/settings.php:1118
+#: ../../Zotlabs/Module/Settings.php:1103
msgid "Events today"
msgstr "Esdeveniments d'avui"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Upcoming birthdays"
msgstr "Aniversaris propers"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Not available in all themes"
msgstr "No està disponible en tots els temes"
-#: ../../mod/settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1105
msgid "System (personal) notifications"
-msgstr "Notificacions (personals) de sistema"
+msgstr "Notificacions (personals) del sistema"
-#: ../../mod/settings.php:1121
+#: ../../Zotlabs/Module/Settings.php:1106
msgid "System info messages"
msgstr "Missatges d'informació del sistema"
-#: ../../mod/settings.php:1122
+#: ../../Zotlabs/Module/Settings.php:1107
msgid "System critical alerts"
msgstr "Alertes crítiques del sistema"
-#: ../../mod/settings.php:1123
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "New connections"
msgstr "Noves connexions"
-#: ../../mod/settings.php:1124
+#: ../../Zotlabs/Module/Settings.php:1109
msgid "System Registrations"
msgstr "Registres del sistema"
-#: ../../mod/settings.php:1125
+#: ../../Zotlabs/Module/Settings.php:1110
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Mostra també les entrades de mur noves, les entrades privades i les connexions a \"Notícies\""
-#: ../../mod/settings.php:1127
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Notify me of events this many days in advance"
msgstr "Notifica'm dels esdeveniments amb aquests dies d'antelació"
-#: ../../mod/settings.php:1127
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Must be greater than 0"
msgstr "Ha de ser més gran que 0"
-#: ../../mod/settings.php:1129
+#: ../../Zotlabs/Module/Settings.php:1114
msgid "Advanced Account/Page Type Settings"
msgstr "Ajustos avançats de compte i tipus de pàgina"
-#: ../../mod/settings.php:1130
+#: ../../Zotlabs/Module/Settings.php:1115
msgid "Change the behaviour of this account for special situations"
msgstr "Modifica el comportament d'aquest compte en situacions especials"
-#: ../../mod/settings.php:1133
+#: ../../Zotlabs/Module/Settings.php:1118
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Activa el mode d'expert (a <a href=\"settings/features\">Ajustos > Més funcions</a>)"
-#: ../../mod/settings.php:1134
+#: ../../Zotlabs/Module/Settings.php:1119
msgid "Miscellaneous Settings"
msgstr "Ajustos diversos"
-#: ../../mod/settings.php:1136
+#: ../../Zotlabs/Module/Settings.php:1120
+msgid "Default photo upload folder"
+msgstr "Carpeta per defecte de fotos pujades"
+
+#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1121
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - any en curs, %m - mes corrent"
+
+#: ../../Zotlabs/Module/Settings.php:1121
+msgid "Default file upload folder"
+msgstr "Carpeta per defecte d'arxius pujats"
+
+#: ../../Zotlabs/Module/Settings.php:1123
msgid "Personal menu to display in your channel pages"
msgstr "Menú personal per mostrar en les teves pàgines de canal"
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Elimina el canal"
-
-#: ../../mod/settings.php:1138
+#: ../../Zotlabs/Module/Settings.php:1125
msgid "Remove this channel."
msgstr "Elimina aquest canal."
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Nom"
+#: ../../Zotlabs/Module/Settings.php:1126
+msgid "Firefox Share $Projectname provider"
+msgstr "Firefox Share $Projectname provider"
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Cognoms"
+#: ../../Zotlabs/Module/Settings.php:1127
+msgid "Start calendar week on monday"
+msgstr "Comença la setmana del calendari el dilluns"
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Àlies"
+#: ../../Zotlabs/Module/Setup.php:179
+msgid "$Projectname Server - Setup"
+msgstr "Servidor $Projectname - Configuració"
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Nom Sencer"
+#: ../../Zotlabs/Module/Setup.php:183
+msgid "Could not connect to database."
+msgstr "No puc connectar amb la base de dades"
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Foto del Perfil 16px"
+#: ../../Zotlabs/Module/Setup.php:187
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS."
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Foto del Perfil 32px"
+#: ../../Zotlabs/Module/Setup.php:194
+msgid "Could not create table."
+msgstr "No puc crear la taula."
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Foto del Perfil 48px"
+#: ../../Zotlabs/Module/Setup.php:199
+msgid "Your site database has been installed."
+msgstr "La teva base de dades del lloc s'ha instal·lat."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Foto del Perfil 64px"
+#: ../../Zotlabs/Module/Setup.php:203
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Foto del Perfil 80px"
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Si us plau, consulteu el fitxer \"install / INSTALL.txt\"."
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Foto del Perfil 128px"
+#: ../../Zotlabs/Module/Setup.php:263
+msgid "System check"
+msgstr "Comprovació del sistema"
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Zona horària"
+#: ../../Zotlabs/Module/Setup.php:268
+msgid "Check again"
+msgstr "Comprova de nou"
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "URL de la pàgina d'inici"
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Database connection"
+msgstr "Connexió de base de dades"
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Any de Naixement"
+#: ../../Zotlabs/Module/Setup.php:291
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió a la base de dades."
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Mes de Naixement"
+#: ../../Zotlabs/Module/Setup.php:292
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres."
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Dia de Naixement"
+#: ../../Zotlabs/Module/Setup.php:293
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar."
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Aniversari"
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Database Server Name"
+msgstr "Base de Dades Nom del Servidor"
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Conversació eliminada."
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Default is 127.0.0.1"
+msgstr "Per defecte es 127.0.0.1"
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Sense missatges."
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Database Port"
+msgstr "Port per a la Base de Dades"
-#: ../../mod/message.php:72 ../../mod/mail.php:336
-msgid "Delete conversation"
-msgstr "Conversació esborrada"
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Communication port number - use 0 for default"
+msgstr "Numero del port de comunicacions - empra 0 per defecte"
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
+#: ../../Zotlabs/Module/Setup.php:299
+msgid "Database Login Name"
+msgstr "Base de Dades Nom d'Accès"
-#: ../../mod/mood.php:131
-msgid "Set your current mood and tell your friends"
-msgstr "Estableix el teu estat d'ànim actual i digues-li als teus amics"
+#: ../../Zotlabs/Module/Setup.php:300
+msgid "Database Login Password"
+msgstr "Base de Dades Contrasenya d'Accès"
+
+#: ../../Zotlabs/Module/Setup.php:301
+msgid "Database Name"
+msgstr "Nom de la Base de Dades"
-#: ../../mod/vote.php:97
-msgid "Total votes"
-msgstr "Total de vots"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Database Type"
+msgstr "Tipus de Base de Dades"
-#: ../../mod/vote.php:98
-msgid "Average Rating"
-msgstr "Valoració Mitja"
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+msgid "Site administrator email address"
+msgstr "Adreça de correu de l'administrador del lloc"
-#: ../../mod/removeme.php:29
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador."
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
-msgstr "Elimina Aquest Canal"
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+msgid "Website URL"
+msgstr "URL del lloc web"
-#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
-msgstr "Aquest canal serà completament eliminat de la xarxa."
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+msgid "Please use SSL (https) URL if available."
+msgstr "Si us plau, empra SSL (https) URL si està disponible."
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
-msgstr "Elimina aquest canal i els seus clons de la xarxa"
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
+msgid "Please select a default timezone for your website"
+msgstr "Si us plau, tria la zona horària del teu lloc web"
+
+#: ../../Zotlabs/Module/Setup.php:333
+msgid "Site settings"
+msgstr "Ajustos del lloc"
+
+#: ../../Zotlabs/Module/Setup.php:347
+msgid "Enable $Projectname <strong>advanced</strong> features?"
+msgstr "Activar característiques <strong>advanced</strong> de $Projectname?"
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Setup.php:347
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa"
+"Some advanced features, while useful - may be best suited for technically "
+"proficient audiences"
+msgstr "Algunes característiques avançades, hauran de ser ajustades per persones tècnicament capaces, per poder emprar-les."
-#: ../../mod/connedit.php:267
-msgid "is now connected to"
-msgstr "Ara està conectat amb"
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr "PHP version 5.5 or greater is required."
-#: ../../mod/connedit.php:380
-msgid "Could not access address book record."
-msgstr "No puc accedir al registre del contacte"
+#: ../../Zotlabs/Module/Setup.php:389
+msgid "PHP version"
+msgstr "PHP version"
-#: ../../mod/connedit.php:394
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
+#: ../../Zotlabs/Module/Setup.php:404
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web."
-#: ../../mod/connedit.php:406 ../../mod/connedit.php:418
-#: ../../mod/connedit.php:430 ../../mod/connedit.php:442
-#: ../../mod/connedit.php:458
-msgid "Unable to set address book parameters."
-msgstr "No es poden ajustar els paràmetres dels contactes."
+#: ../../Zotlabs/Module/Setup.php:405
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron."
-#: ../../mod/connedit.php:482
-msgid "Connection has been removed."
-msgstr "S'han eliminat les conexions."
+#: ../../Zotlabs/Module/Setup.php:409
+msgid "PHP executable path"
+msgstr "Camí cap l'executable de PHP"
-#: ../../mod/connedit.php:501
+#: ../../Zotlabs/Module/Setup.php:409
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació."
+
+#: ../../Zotlabs/Module/Setup.php:414
+msgid "Command line PHP"
+msgstr "Línia d'ordres de PHP"
+
+#: ../../Zotlabs/Module/Setup.php:423
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat."
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid "This is required for message delivery to work."
+msgstr "Això es requereix per que funcioni l'entrega de missatges."
+
+#: ../../Zotlabs/Module/Setup.php:427
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../Zotlabs/Module/Setup.php:445
#, php-format
-msgid "View %s's profile"
-msgstr "Mostra el perfil de %s"
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada."
-#: ../../mod/connedit.php:505
-msgid "Refresh Permissions"
-msgstr "Recarrega els Permissos"
+#: ../../Zotlabs/Module/Setup.php:450
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Pots ajustar aquests valors a l'arxiu php.ini del servidor"
-#: ../../mod/connedit.php:508
-msgid "Fetch updated permissions"
-msgstr "Obté els permisos actualitzats"
+#: ../../Zotlabs/Module/Setup.php:452
+msgid "PHP upload limits"
+msgstr "Límits de pujada de PHP"
-#: ../../mod/connedit.php:512
-msgid "Recent Activity"
-msgstr "Activitat Recent"
+#: ../../Zotlabs/Module/Setup.php:475
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació"
-#: ../../mod/connedit.php:515
-msgid "View recent posts and comments"
-msgstr "Mostra les entrades i comentaris recents"
+#: ../../Zotlabs/Module/Setup.php:476
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/connedit.php:522
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
+#: ../../Zotlabs/Module/Setup.php:479
+msgid "Generate encryption keys"
+msgstr "Generar claus de xifrat"
-#: ../../mod/connedit.php:523
-msgid "This connection is blocked!"
-msgstr "Aquesta connexió està bloquejada!"
+#: ../../Zotlabs/Module/Setup.php:491
+msgid "libCurl PHP module"
+msgstr "mòdul PHP libCurl "
-#: ../../mod/connedit.php:527
-msgid "Unignore"
-msgstr "Inhabilita"
+#: ../../Zotlabs/Module/Setup.php:492
+msgid "GD graphics PHP module"
+msgstr "mòdul PHP GD gràfics"
-#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../Zotlabs/Module/Setup.php:493
+msgid "OpenSSL PHP module"
+msgstr "mòdul PHP OpenSSL"
-#: ../../mod/connedit.php:530
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
+#: ../../Zotlabs/Module/Setup.php:494
+msgid "mysqli or postgres PHP module"
+msgstr "mòdul PHP mysqli o postgres"
-#: ../../mod/connedit.php:531
-msgid "This connection is ignored!"
-msgstr "Aquesta connexió es ignorada!"
+#: ../../Zotlabs/Module/Setup.php:495
+msgid "mb_string PHP module"
+msgstr "mòdul PHP mb_string"
-#: ../../mod/connedit.php:535
-msgid "Unarchive"
-msgstr "Desarxiva"
+#: ../../Zotlabs/Module/Setup.php:496
+msgid "mcrypt PHP module"
+msgstr "mòdul PHP mcrypt"
-#: ../../mod/connedit.php:535
-msgid "Archive"
-msgstr "Arxiva"
+#: ../../Zotlabs/Module/Setup.php:497
+msgid "xml PHP module"
+msgstr "Mòdul xml de PHP"
-#: ../../mod/connedit.php:538
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
+msgid "Apache mod_rewrite module"
+msgstr "mòdul Apache mod_rewrite"
+
+#: ../../Zotlabs/Module/Setup.php:501
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat."
-#: ../../mod/connedit.php:539
-msgid "This connection is archived!"
-msgstr "Aquesta connexió està arxivada!"
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../mod/connedit.php:543
-msgid "Unhide"
-msgstr "Mostra"
+#: ../../Zotlabs/Module/Setup.php:507
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini"
-#: ../../mod/connedit.php:543
-msgid "Hide"
-msgstr "Amaga"
+#: ../../Zotlabs/Module/Setup.php:515
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Error: el mòdul PHP libCURL es requereix però no està instal·lat."
-#: ../../mod/connedit.php:546
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
+#: ../../Zotlabs/Module/Setup.php:519
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat."
-#: ../../mod/connedit.php:547
-msgid "This connection is hidden!"
-msgstr "Aquesta connexió està amagada!"
+#: ../../Zotlabs/Module/Setup.php:523
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Error: el mòdul PHP openssl es requereix però no està instal·lat."
-#: ../../mod/connedit.php:554
-msgid "Delete this connection"
-msgstr "Elimina aquesta connexió"
+#: ../../Zotlabs/Module/Setup.php:527
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat."
-#: ../../mod/connedit.php:635
-msgid "Approve this connection"
-msgstr "Apccepta aquesta connexió"
+#: ../../Zotlabs/Module/Setup.php:531
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Error: el mòdul PHP mb_string es requereix però no està instal·lat."
-#: ../../mod/connedit.php:635
-msgid "Accept connection to allow communication"
-msgstr "Accepta la connexió per permetre la comunicació"
+#: ../../Zotlabs/Module/Setup.php:535
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Error: el mòdul PHP mcrypt es requereix però no està instal·lat."
-#: ../../mod/connedit.php:640
-msgid "Set Affinity"
-msgstr "Ajusta l'Afinitat"
+#: ../../Zotlabs/Module/Setup.php:539
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat."
-#: ../../mod/connedit.php:643
-msgid "Set Profile"
-msgstr "Ajusta el Perfil"
+#: ../../Zotlabs/Module/Setup.php:557
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
-#: ../../mod/connedit.php:646
-msgid "Set Affinity & Profile"
-msgstr "Ajusta Afinitat i Perfil"
+#: ../../Zotlabs/Module/Setup.php:558
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació."
-#: ../../mod/connedit.php:663
-msgid "Apply these permissions automatically"
-msgstr "Aplica aquests permissos automaticament"
+#: ../../Zotlabs/Module/Setup.php:559
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor."
+
+#: ../../Zotlabs/Module/Setup.php:560
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
-#: ../../mod/connedit.php:665
-msgid "This connection's address is"
-msgstr "La direcció d'aquesta connexió es"
+#: ../../Zotlabs/Module/Setup.php:563
+msgid ".htconfig.php is writable"
+msgstr "L'arxiu «.htconfig.php» es pot modificar"
-#: ../../mod/connedit.php:668
+#: ../../Zotlabs/Module/Setup.php:577
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament."
-#: ../../mod/connedit.php:670
-msgid "Slide to adjust your degree of friendship"
-msgstr "Llisca per ajustar el nivell d'amistat"
+#: ../../Zotlabs/Module/Setup.php:578
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal."
-#: ../../mod/connedit.php:672
-msgid "Slide to adjust your rating"
-msgstr "Llisca per ajustar la valoració"
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
-#: ../../mod/connedit.php:673 ../../mod/connedit.php:678
-msgid "Optionally explain your rating"
-msgstr "Opcionalment pots explicar la teva valoració"
+#: ../../Zotlabs/Module/Setup.php:580
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
-#: ../../mod/connedit.php:675
-msgid "Custom Filter"
-msgstr "Filtre a mida"
+#: ../../Zotlabs/Module/Setup.php:583
+#, php-format
+msgid "%s is writable"
+msgstr "Es pot escriure a %s"
-#: ../../mod/connedit.php:676
-msgid "Only import posts with this text"
-msgstr "Importa exclusivament entrades amb aquest text"
+#: ../../Zotlabs/Module/Setup.php:599
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web."
+
+#: ../../Zotlabs/Module/Setup.php:603
+msgid "store is writable"
+msgstr "Es pot escriure al magatzem (store)"
-#: ../../mod/connedit.php:676 ../../mod/connedit.php:677
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades"
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc"
-#: ../../mod/connedit.php:677
-msgid "Do not import posts with this text"
-msgstr "No importar entrades amb aquest text"
+#: ../../Zotlabs/Module/Setup.php:637
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
-#: ../../mod/connedit.php:679
-msgid "This information is public!"
-msgstr "Aquesta informació es pública!"
+#: ../../Zotlabs/Module/Setup.php:638
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi node."
-#: ../../mod/connedit.php:684
-msgid "Connection Pending Approval"
-msgstr "Connexió Pendent d'Aprovació"
+#: ../../Zotlabs/Module/Setup.php:639
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
+
+#: ../../Zotlabs/Module/Setup.php:640
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important."
+
+#: ../../Zotlabs/Module/Setup.php:641
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
+
+#: ../../Zotlabs/Module/Setup.php:643
+msgid "SSL certificate validation"
+msgstr "Validació del certificat SSL"
+
+#: ../../Zotlabs/Module/Setup.php:649
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
+
+#: ../../Zotlabs/Module/Setup.php:652
+msgid "Url rewrite is working"
+msgstr "Es poden reescriure les URL a «.htaccess»"
+
+#: ../../Zotlabs/Module/Setup.php:661
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut."
+
+#: ../../Zotlabs/Module/Setup.php:685
+msgid "Errors encountered creating database tables."
+msgstr "S'han produït errors mentre es creaven taules a la base de dades."
-#: ../../mod/connedit.php:685
-msgid "Connection Request"
-msgstr "Petició de Connexió"
+#: ../../Zotlabs/Module/Setup.php:719
+msgid "<h1>What next</h1>"
+msgstr "<h1>I ara què?</h1>"
-#: ../../mod/connedit.php:686
+#: ../../Zotlabs/Module/Setup.php:720
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\"."
+
+#: ../../Zotlabs/Module/Sharedwithme.php:98
+msgid "Files: shared with me"
+msgstr "Arxius: compartits amb jo"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:100
+msgid "NEW"
+msgstr "NOU"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:103
+msgid "Remove all files"
+msgstr "Esborra tots els arxius"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Remove this file"
+msgstr "Esborra l'arxiu"
+
+#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
+msgid "Version %s"
+msgstr "Versió %s"
+
+#: ../../Zotlabs/Module/Siteinfo.php:40
+msgid "Installed plugins/addons/apps:"
+msgstr "Plugins/addons/apps Instal·lats:"
+
+#: ../../Zotlabs/Module/Siteinfo.php:53
+msgid "No installed plugins/addons/apps"
+msgstr "Plugins/addons/apps no instal·lats"
+
+#: ../../Zotlabs/Module/Siteinfo.php:66
msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió."
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Aquest és un node de $Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat."
-#: ../../mod/connedit.php:688
-msgid "Approve Later"
-msgstr "Aprovar més tard"
+#: ../../Zotlabs/Module/Siteinfo.php:68
+msgid "Tag: "
+msgstr "Etiqueta:"
-#: ../../mod/connedit.php:691
-msgid "inherited"
-msgstr "heretat"
+#: ../../Zotlabs/Module/Siteinfo.php:70
+msgid "Last background fetch: "
+msgstr "Última actualització en rerefons:"
+
+#: ../../Zotlabs/Module/Siteinfo.php:72
+msgid "Current load average: "
+msgstr "Càrrega actual mitja:"
+
+#: ../../Zotlabs/Module/Siteinfo.php:75
+msgid "Running at web location"
+msgstr "Correguent en el lloc web"
+
+#: ../../Zotlabs/Module/Siteinfo.php:76
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per saber-ne més de $Projectname."
+
+#: ../../Zotlabs/Module/Siteinfo.php:77
+msgid "Bug reports and issues: please visit"
+msgstr "Per informar d'errors o problemes ves a"
+
+#: ../../Zotlabs/Module/Siteinfo.php:79
+msgid "$projectname issues"
+msgstr "$projectname qüestions"
+
+#: ../../Zotlabs/Module/Siteinfo.php:80
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com"
+
+#: ../../Zotlabs/Module/Siteinfo.php:82
+msgid "Site Administrators"
+msgstr "Administradors del lloc"
+
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
+msgstr "Error en crear l'origen. Cap canal seleccionat."
+
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
+msgstr "Origen creat."
+
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
+msgstr "Origen actualitzat."
+
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
+msgstr "*"
+
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../include/features.php:71
+msgid "Channel Sources"
+msgstr "Canal Origen"
+
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestiona contingut per al teu canal d'origens remots"
+
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
+msgstr "Nou Origen"
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
+
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
+msgstr "Només importa contingut amb aquestes paraules (una per línia)"
+
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
+msgstr "Deixar en blanc per importar tot el contingut públic"
+
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "Nom del canal"
+
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr "Afegeix les següents categories d'entrades importades des d'aquest origen (separat per comes)"
+
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
+msgstr "No s'ha trobat la font."
+
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
+msgstr "Edita la font"
-#: ../../mod/connedit.php:693
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
+msgstr "Esborra la font"
+
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
+msgstr "S'ha esborrat la font"
+
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
+msgstr "No s'ha pogut esborrar la font."
+
+#: ../../Zotlabs/Module/Subthread.php:118
#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s esta seguint %2$s de %3$s"
+
+#: ../../Zotlabs/Module/Subthread.php:120
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s abandona el seguiment %2$s de %3$s"
+
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
-#: ../../mod/connedit.php:695
-msgid "Their Settings"
-msgstr "Els seus Ajustos"
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "Ignora/Amaga"
-#: ../../mod/connedit.php:696
-msgid "My Settings"
-msgstr "Els Meus Ajustos"
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
+msgid "post"
+msgstr "entrada"
-#: ../../mod/connedit.php:698
-msgid "Individual Permissions"
-msgstr "Permisos Individuals"
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "comentari"
+
+#: ../../Zotlabs/Module/Tagger.php:100
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
+
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr "S'ha tret l'etiqueta"
+
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr "Elimina l'etiqueta d'element"
+
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr "Tria l'etiqueta a eliminar:"
+
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
+msgstr "S'ha actualitzat la cosa"
+
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
+msgstr "No s'ha pogut emmagatzemar l'objecte"
+
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
+msgstr "S'ha afegit la cosa"
+
+#: ../../Zotlabs/Module/Thing.php:196
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
+
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
+msgstr "Mostra la cosa"
+
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
+msgstr "no s'ha trobat l'element."
+
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
+msgstr "Edita la cosa"
+
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
+msgid "Select a profile"
+msgstr "Tria un perfil"
-#: ../../mod/connedit.php:699
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
+msgid "Post an activity"
+msgstr "Publica una activitat"
+
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
+msgid "Only sends to viewers of the applicable profile"
+msgstr "S'envia només a visitants del perfil corresponent"
+
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
+msgid "Name of thing e.g. something"
+msgstr "Nom de la cosa. Exemple: patata"
+
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
+msgid "URL of thing (optional)"
+msgstr "Adreça URL de la cosa (opcional)"
+
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
+msgid "URL for photo of thing (optional)"
+msgstr "Adreça URL de la foto d'una cosa (opcional)"
+
+#: ../../Zotlabs/Module/Thing.php:349
+msgid "Add Thing to your Profile"
+msgstr "Afegeix una cosa al teu perfil"
+
+#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
+msgid "Export Channel"
+msgstr "Exportar Canal"
+
+#: ../../Zotlabs/Module/Uexport.php:57
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Exporta la informació bàsica del canal a un arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/node, però no conté el contingut del canal."
+
+#: ../../Zotlabs/Module/Uexport.php:58
+msgid "Export Content"
+msgstr "Exportar el Contingut"
-#: ../../mod/connedit.php:700
+#: ../../Zotlabs/Module/Uexport.php:59
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Exporta la informació del canal i tot el contingut recent a un arxiu de recolzament JSON que por ser restaurat o importat en altre lloc/node. Això còpia totes les teves connexions, permisos, perfil i dades i mesos de entrades. L'arxiu pot ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar."
+
+#: ../../Zotlabs/Module/Uexport.php:60
+msgid "Export your posts from a given year."
+msgstr "Exporta les teves entrades d'un any donat."
+
+#: ../../Zotlabs/Module/Uexport.php:62
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr "Pots també exportar les teves entrades i conversacions d'un any o un mes en particular. Ajusta la data a la barra de direccions del navegador per seleccionar altres dates. Si la exportació falla (possiblement degut al esgotament de la memòria del node servidor), si et plau, intenta de nou la selecció d'un rang de dates més limitat."
-#: ../../mod/connedit.php:701
-msgid "Last update:"
-msgstr "Darrera actualització:"
+#: ../../Zotlabs/Module/Uexport.php:63
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a "
+"href=\"%1$s\">%2$s</a>"
+msgstr "Per seleccionar tots els missatges per a un any determinat, com aquest any, visiteu <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Uexport.php:64
+#, php-format
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID."
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr "Per seleccionar tots els missatges per a un mes determinat, com el de gener d'aquest any, visiteu <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/rmagic.php:40
-msgid "The error message was:"
-msgstr "El missatge d'error fou:"
+#: ../../Zotlabs/Module/Uexport.php:65
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a "
+"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
+" please import or restore these in date order (oldest first)."
+msgstr "Aquests arxius de contingut poden ser importats o restaurats per visitar <a href=\"%1$s\">%2$s</a> en qualsevol lloc que conté el teu canal. Per obtenir els millors resultats si us plau, importar o restaurar aquests en ordre de data (la més antiga primer)."
-#: ../../mod/rmagic.php:44
-msgid "Authentication failed."
-msgstr "Ha fallat l'autentificació."
+#: ../../Zotlabs/Module/Viewconnections.php:62
+msgid "No connections."
+msgstr "Sense connexions."
-#: ../../mod/rmagic.php:84
-msgid "Remote Authentication"
-msgstr "Autentificació Remota"
+#: ../../Zotlabs/Module/Viewconnections.php:75
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita el perfil [%s] de %s"
-#: ../../mod/rmagic.php:85
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
+#: ../../Zotlabs/Module/Viewconnections.php:104
+msgid "View Connections"
+msgstr "Veure Connexions"
-#: ../../mod/rmagic.php:86
-msgid "Authenticate"
-msgstr "Autentica't"
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
+msgstr "Origen de l'article"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Incapaç de trobar el destinatari."
+#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
+msgid "Webpages"
+msgstr "Pàgines web"
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Incapaç de comunicar amb el canal demanat."
+#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
+msgid "Actions"
+msgstr "Accions"
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "No puc verificar el canal demanat."
+#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
+msgid "Page Link"
+msgstr "Enllaç a Pàgina"
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
+#: ../../Zotlabs/Module/Webpages.php:197
+msgid "Page Title"
+msgstr "Títol de la pàgina"
-#: ../../mod/mail.php:139
-msgid "Message deleted."
-msgstr "Missatge eliminat."
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Cerca a xchan"
-#: ../../mod/mail.php:156
-msgid "Message recalled."
-msgstr "Recupera el missatge."
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca a xchan començant per (o webbie)"
-#: ../../mod/mail.php:225
-msgid "Send Private Message"
-msgstr "Envia Missatge Privat"
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "Administració"
-#: ../../mod/mail.php:226 ../../mod/mail.php:343
-msgid "To:"
-msgstr "Per:"
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr "Informe d'Errors"
-#: ../../mod/mail.php:231 ../../mod/mail.php:345
-msgid "Subject:"
-msgstr "Assumpte:"
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr "Veure Marcadors"
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr "Envia"
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr "Les meves Sales de Xat"
-#: ../../mod/mail.php:269
-msgid "Message not found."
-msgstr "Missatge no trobat."
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr "Compartir amb Firefox"
-#: ../../mod/mail.php:312
-msgid "Delete message"
-msgstr "Elimina el missatge"
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr "Diagnòstics Remots"
-#: ../../mod/mail.php:313
-msgid "Recall message"
-msgstr "Recupera el missatge"
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "Suggerir Canals"
-#: ../../mod/mail.php:315
-msgid "Message has been recalled."
-msgstr "El missatge s'ha recuperat."
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1703
+msgid "Login"
+msgstr "Identifica't"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr "Malla"
+
+#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "Canal Personal"
+
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
+msgid "Events"
+msgstr "Esdeveniments"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+msgid "Directory"
+msgstr "Directori"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+msgid "Mail"
+msgstr "Correu"
+
+#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+msgid "Chat"
+msgstr "Xerrar"
+
+#: ../../Zotlabs/Lib/Apps.php:229
+msgid "Probe"
+msgstr "Sondeig"
+
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Suggest"
+msgstr "Suggeriment"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Random Channel"
+msgstr "Canal Aleatori"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Invite"
+msgstr "Convida"
+
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
+msgid "Features"
+msgstr "Funcionalitats"
+
+#: ../../Zotlabs/Lib/Apps.php:235
+msgid "Post"
+msgstr "Entrada"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Purchase"
+msgstr "Compra"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr "Perdut el nom de la sala"
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr "Nom de la sala duplicat"
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "Especificació de la sala invàlida."
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "Sala no trobada."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "La sala es plena"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+msgid "$Projectname Notification"
+msgstr "Notificació de $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+msgid "Thank You,"
+msgstr "Gràcies,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
+#, php-format
+msgid "%s Administrator"
+msgstr "%s Administrador"
+
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla:Notify] Nou corrreu rebut en %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s t'ha enviat %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "un missatge privat"
+
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
+
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]a %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]%4$s de %5$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]el teu %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla:Notify] Comentari sobre una conversació #%1$d per %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
+
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
+
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla:Avís] %s ha escrit una entrada al teu mur"
+
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla:Notificació] %s t'ha etiquetat"
-#: ../../mod/mail.php:332
-msgid "Private Conversation"
-msgstr "Conversació Privada"
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr "[Hubzilla:Avís] %1$s s'en fot de tu"
+
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s s'en fot de tú a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla:Avís] %s ha etiquetat la teva entrada"
+
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla:Avís] Presentació rebuda"
+
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
-#: ../../mod/mail.php:338
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
-#: ../../mod/mail.php:342
-msgid "Send Reply"
-msgstr "Envia Resposta"
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Pots visitar el seu perfil a %s"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Sol·licitud d'identificació invàlida."
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Descarta"
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla:Notificació] Rebuda suggerencia d'amistat"
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Inicia Sessió."
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
-#: ../../mod/post.php:235
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "Nom:"
+
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
+
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla:Notificació]"
+
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "Creada una nova entrada"
+
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "comentat a l'entrada de %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Missatge Privat"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Selecciona"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "Guardar en la Carpeta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Assistiré"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "No assistiré"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Podria assistir"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "D'acord"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "En desacord"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "M'abstinc"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Fes-lo Preferit"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Treu-lo de Preferits"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Canvia el Estat de la Preferència"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "preferit"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Validada la signatura del missatge"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Signatura del missatge incorrecta"
-#: ../../mod/new_channel.php:109
-msgid "Add a Channel"
-msgstr "Afegeix un Canal"
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Afegeix Etiqueta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "agrada"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "desagrada"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Comparteix Això"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "comparteix"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Informe de Lliurament"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commentari"
+msgstr[1] "%d commentaris"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Veure perfil de %s - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "a"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "Mur-a-Mur"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "via Mur-a-Mur:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "De %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "últim editat: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Expira: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Guarda Favorits"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Afegeix al Calendari"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Marca tot com ja vist"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostra tot"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Negreta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Italica"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Subratllat"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Cometes"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Codi"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Imatge"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Insereix Enllaç"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Video"
+
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "No s'ha trobat nom d'usuari a l'arxiu d'importació."
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear."
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Categories"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Etiquetes"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Paraules clau"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "tinc"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "tens"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "vull"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "vols"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "agrada"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "desagrada"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
-#: ../../mod/new_channel.php:110
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Inicia:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Acaba:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Aquest succés ha estat afegit al teu calendari."
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Sense especificar"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Necessita una Acció"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Completat"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "En Procès"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Cancel·lat"
+
+#: ../../include/import.php:29
msgid ""
-"A channel is your own collection of related web pages. A channel can be used"
-" to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
-msgstr "Un canal es la teva pròpia col·lecció de pàgines web. Un canal pot emprat per mantenir perfils a una xarxa social, blocs, grups de conversació, fòrums, pàgines de famosos, i molt més. Pots crear tants canals com el teu servei d'internet et permeti."
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
-#: ../../mod/new_channel.php:113
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
-msgstr "Exemples: \"Joan Tou\", \"Manel i els seus esquirols\", \"Fútbol\", \"Grup de Gegants\""
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar."
-#: ../../mod/new_channel.php:114
-msgid "Choose a short nickname"
-msgstr "Tria un àlies curt"
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Desconegut)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Visible per tothom a la Internet"
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Visible només per tú."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Visible per tothom en aquesta xarxa."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Visible per tothom autenticat."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible per a tothom a %s."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Visible per a totes les connexions."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Visible per a les connexions aprovades."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Visible per a específiques connexions."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "El grup privat està vuit."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Grup privat: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Connexió no trobada."
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "foto del perfil"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "No s'ha proporcionat bústia."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[no subject]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "incapaç de determinar el remitent"
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "L'entrada guardada no pot ser verificada"
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "prev"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "primer"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "últim"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "pròxim"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "el més antic"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "El més nou"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Sense Connexions"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Veure totes les connexions de %s"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "esperona"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "esperonat"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "coloca"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "colocat"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "picar"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "picat"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "bufetada"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "bufetejat"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "senyal"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "senyalat"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "menyspreu"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "menyspreuat"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "feliç"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "trist"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "melós"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "cansat"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "turgent"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "enfadat"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "estupefacte"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "perplexe"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "Interessat"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "amargat"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "feliç"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "viu"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "molest"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "ansiós"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "malagaitós"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "transtornat"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustrat"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "deprimit"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motivat"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "relaxat"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "sorprès"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "Dilluns"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "Dimarts"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "Dimecres"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "Dijous"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "Divendres"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "Diumenge"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "Gener"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "Febrer"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "Març"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "Abril"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "Maig"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "Juny"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "Juliol"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "Agost"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "Setembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "Octubre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "Novembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "Desembre"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Adjunt Desconegut"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "desconegut"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "elimina categoria"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "elimina del arxiu"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "per defecte"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Format de la pàgina"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Pots crear el teu propi amb l'editor de format de pàgina."
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Tipus de contingut de la pàgina"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Tria un idioma alternatiu"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "activitat"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Eines de disseny"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Pàgines"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Sistema"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nova App"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Suggerencies"
-#: ../../mod/new_channel.php:115
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Veure més....."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Tens %1$.0f de %2$.0f connexions permeses."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Afegeix una Nova Connexió"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Introdueix l'adreça del canal"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Exemples: bob@example.com, https://exemple.com/barbara"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Notes"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Plaç de remoció"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Cerques Guardades"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "afegeix"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Carpetes Guardades"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Tot"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Arxius"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Refresc"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Ajustos de Compte"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Ajustos de Canal"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Característiques addicionals"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Ajustos de Complements"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Ajustos de pantalla"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr "Gestiona ubicacions"
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Exportat canal"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "Apps connectades"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Ajustos Premium de Canal"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Menú de Correu Privat"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Vista Combinada"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "Safata d'entrada"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Safata de sortida"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Nou Missatge"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Conversacions"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Missatges Rebuts"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Missatges Enviats"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Sense missatges."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Conversació esborrada"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Menú d'Esdeveniments"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Vista de Dia"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Vista de Setmana"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Vista de Mes"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Eina d'Esdeveniments"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Exportar Calendari"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importar Calendari"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Sala per Xerrar"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr "Visió General"
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr "Membres de la Sala de Xat"
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Sales de Xat Favorites"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Sales de Xat Suggerides"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "foto/imatge"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr "Fes clic per veure més"
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Eines de Valoració"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "Valora'm"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Veure Valoracions"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Forums"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Tasques"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Documentació"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Informació del Projecte/Lloc"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "Per Membres"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "Per Administradors"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "Per Desenvolupadors"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr "Una inscripció per a ser membre està esperant confirmació"
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Revisa cua"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Actualitzacions de Base de Dades"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
+msgstr "Admin"
+
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Característiques del Plugin"
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "El canal està bloquejat en aquest lloc."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Ubicació del canal perduda."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "La resposta del canal remot fou incompleta."
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "El canal fou esborrat i actualment no existeix."
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protocol desactivat."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "Descobriment de canal fallit."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "No pots connectar amb tu mateix."
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$s de marcadors"
+
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Línia de Temps Pública"
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Imatge/foto"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Contingut encriptat"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Instal·la l'element %s:"
+
+#: ../../include/bbcode.php:182
+#, php-format
msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
-msgstr "El teu àlies es pot emprar per crear un canal fàcilment memoritzatble (com una adreça de correu electrònic) que pot ser compartit amb altres."
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
+
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s va escriure el següent %2$s %3$s"
+
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Clic per obrir/tancar"
+
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr "xafa guitarres"
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Diferents observadors veuran aquest text de diferents formes"
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 va escriure:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opcions de Directori"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Manera Segura"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Només Fòrums Públics"
-#: ../../mod/new_channel.php:116
-msgid "Or <a href=\"import\">import an existing channel</a> from another location"
-msgstr "O <a href=\"import\">importa un canal existent</a> d'un altre lloc"
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Només Aquest Lloc Web"
-#: ../../mod/new_channel.php:118
+#: ../../include/security.php:383
msgid ""
-"Please choose a channel type (such as social networking or community forum) "
-"and privacy requirements so we can select the best permissions for you"
-msgstr "Tria un tipus de canal (com a xarxa social o fòrum comunitari) i els requisits de privacitat, així podem proposar el que te el permisos més adients."
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo."
-#: ../../mod/new_channel.php:119
-msgid "Channel Type"
-msgstr "tipus de Canal"
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Desconectar"
-#: ../../mod/new_channel.php:119
-msgid "Read more about roles"
-msgstr "Llegix més sobre els rols"
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Finalitza aquesta sessió"
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "Aplicació instal·lada."
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Inici"
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Aplicació amb errors"
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "Les teves entrades i converses"
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Codi embegut"
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "La teva pàgina de perfil"
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Edita l'Aplicació"
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Gestiona/Edita perfils"
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Crea l'Aplicació"
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Edita Perfil"
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nom de l'Aplicació"
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Edita el teu perfil"
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Ubicació (URL) de l'aplicació"
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Les Teves Fotos"
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "Foto icona URL"
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "Els teus arxius"
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - opcional"
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Les teves sales de xerrar"
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Versió ID"
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Marcadors"
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Preu de l'aplicació"
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "Els teus marcadors"
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Ubicació (URL) per comprar l'aplicació"
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Les teves pàgines web"
-#: ../../mod/ping.php:263
-msgid "sent you a private message"
-msgstr "Se t'ha enviat un missatge privat"
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Signatura"
-#: ../../mod/ping.php:314
-msgid "added your channel"
-msgstr "el teu canal s'ha afegit"
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - click per desconectar"
-#: ../../mod/ping.php:355
-msgid "posted an event"
-msgstr "enviat un event"
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Autenticació remota"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Pgina d'ajuda del llenguatge Comanche"
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "Clica per autentificar-te en el teu node"
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Descripció del Disseny de la Pàgina"
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Pàgina Personal"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Descarrega l'arxiu PDL"
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Crear un compte"
-#: ../../mod/home.php:73
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Ajuda i documentació"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Aplicacions, utilitats, enllaços, jocs"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Cerca pel lloc @name, #tag, ?docs, contingut"
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Directori de Canals"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "La teva malla"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Marca totes les notificacions de la malla vistes"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Canal personal"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Marca totes les notificacions de canal vistes"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Noticies"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Notificacions"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Veure totes les Notificacions"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Correu privat"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Veure tots els missatges privats"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Marcar tots els missatges privats vistos"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Calendari d'Events"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Veure tots els esdeveniments"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Marcar tots els esdeveniments vistos"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gestiona els Teus Canals"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Ajustos de Compte/Canal"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Ajustos i Configuració del Lloc"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Carregant..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@nom, #etiqueta, ?doc, contingut"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Si us plau, espera......."
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nova finestra"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
+
+#: ../../include/connections.php:214
#, php-format
-msgid "Welcome to %s"
-msgstr "Benvingut a %s"
+msgid "User '%s' deleted"
+msgstr "usuari '%s' esborrat"
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitació disponible"
+msgstr[1] "%d invitacions disponibles"
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Favorit afegit"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Troba Canals"
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
-msgstr "Els Meus Favorits"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Entra un nom o interes"
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
-msgstr "Les connexions dels meus Favorits"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Conecta/Segueix"
-#: ../../mod/channel.php:97
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permisos insuficients. Petició redirigida a la pàgina del perfil."
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Exemples: Lionel Messi, Futbolista"
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Aquest ajust requereix un procés espedial i l'edició esta bloquejada."
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Perfil Aleatori"
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor de Configuració"
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Convida Amics"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Exemple avançat: nom=pep i pais=eire"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d connexió en comú"
+msgstr[1] "%d connexions en comú"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mostrar més"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s esta ara connectat amb %2$s"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s a esperonat %2$s"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vista %s del perfil @ %s"
+
+#: ../../include/conversation.php:710
+msgid "Categories:"
+msgstr "Categories:"
+
+#: ../../include/conversation.php:711
+msgid "Filed under:"
+msgstr "Arxivar a:"
+
+#: ../../include/conversation.php:738
+msgid "View in context"
+msgstr "Veure en context"
+
+#: ../../include/conversation.php:847
+msgid "remove"
+msgstr "treu"
+
+#: ../../include/conversation.php:852
+msgid "Delete Selected Items"
+msgstr "Esborra els Articles Seleccionats"
+
+#: ../../include/conversation.php:948
+msgid "View Source"
+msgstr "Veure l'Origen"
+
+#: ../../include/conversation.php:949
+msgid "Follow Thread"
+msgstr "Segueix el Fil"
+
+#: ../../include/conversation.php:950
+msgid "Unfollow Thread"
+msgstr "Fil Abandonat"
+
+#: ../../include/conversation.php:955
+msgid "Activity/Posts"
+msgstr "Activitat/Entrades"
+
+#: ../../include/conversation.php:957
+msgid "Edit Connection"
+msgstr "Modifica la Connexió"
+
+#: ../../include/conversation.php:958
+msgid "Message"
+msgstr "Missatge"
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s likes this."
+msgstr "%s agrada això."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s no agrada això."
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d gent</span> agrada això."
+msgstr[1] "<span %1$s>%2$d gent</span> agrada això."
+
+#: ../../include/conversation.php:1081
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d gent</span> no agrada això."
+msgstr[1] "<span %1$s>%2$d gent</span> no agrada això."
+
+#: ../../include/conversation.php:1087
+msgid "and"
+msgstr "i"
-#: ../../mod/pconfig.php:50
+#: ../../include/conversation.php:1090
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", i %d altra gent"
+msgstr[1] ", i %d altra gent"
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s like this."
+msgstr "%s agrada això."
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s don't like this."
+msgstr "%s no agrada això."
+
+#: ../../include/conversation.php:1130
+msgid "Set your location"
+msgstr "Ajusta la teva ubicació"
+
+#: ../../include/conversation.php:1131
+msgid "Clear browser location"
+msgstr "Treu la localització del navegador"
+
+#: ../../include/conversation.php:1177
+msgid "Tag term:"
+msgstr "Paraula de l'Etiqueta:"
+
+#: ../../include/conversation.php:1178
+msgid "Where are you right now?"
+msgstr "On ets ara?"
+
+#: ../../include/conversation.php:1210
+msgid "Page link name"
+msgstr "Nom de la pàgina enllaçada"
+
+#: ../../include/conversation.php:1213
+msgid "Post as"
+msgstr "Envia com"
+
+#: ../../include/conversation.php:1223
+msgid "Toggle voting"
+msgstr "Commutar votació"
+
+#: ../../include/conversation.php:1231
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categories (opcional, llista separada per comes)"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Ajusta la data de publicació"
+
+#: ../../include/conversation.php:1258
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1503
+msgid "Discover"
+msgstr "Descobrir"
+
+#: ../../include/conversation.php:1506
+msgid "Imported public streams"
+msgstr "Importar fluxos públics"
+
+#: ../../include/conversation.php:1511
+msgid "Commented Order"
+msgstr "Ordenar per Comentaris"
+
+#: ../../include/conversation.php:1514
+msgid "Sort by Comment Date"
+msgstr "Ordenar per Data del Comentari"
+
+#: ../../include/conversation.php:1518
+msgid "Posted Order"
+msgstr "Ordenar per Entrades"
+
+#: ../../include/conversation.php:1521
+msgid "Sort by Post Date"
+msgstr "Ordenar per Data d' Entrada"
+
+#: ../../include/conversation.php:1529
+msgid "Posts that mention or involve you"
+msgstr "Entrades que et mencionen o involucren"
+
+#: ../../include/conversation.php:1538
+msgid "Activity Stream - by date"
+msgstr "Activitat del Flux - per data"
+
+#: ../../include/conversation.php:1544
+msgid "Starred"
+msgstr "Preferit"
+
+#: ../../include/conversation.php:1547
+msgid "Favourite Posts"
+msgstr "Entrades Favorites"
+
+#: ../../include/conversation.php:1554
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1557
+msgid "Posts flagged as SPAM"
+msgstr "Entrades marcades com a SPAM"
+
+#: ../../include/conversation.php:1614
+msgid "Status Messages and Posts"
+msgstr "Estat dels Missatges i Entrades"
+
+#: ../../include/conversation.php:1623
+msgid "About"
+msgstr "El Meu Perfil"
+
+#: ../../include/conversation.php:1626
+msgid "Profile Details"
+msgstr "Detalls del Perfil"
+
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Albums de Fotos"
+
+#: ../../include/conversation.php:1642
+msgid "Files and Storage"
+msgstr "Arxius i Emmagatzegament"
+
+#: ../../include/conversation.php:1678
+msgid "Saved Bookmarks"
+msgstr "Marcadors Guardats"
+
+#: ../../include/conversation.php:1688
+msgid "Manage Webpages"
+msgstr "Gestió de Pàgines Web"
+
+#: ../../include/conversation.php:1747
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Assistint"
+msgstr[1] "Assistint"
+
+#: ../../include/conversation.php:1750
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Desassistint"
+msgstr[1] "Desassistint"
+
+#: ../../include/conversation.php:1753
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indecís"
+msgstr[1] "Indecisos"
+
+#: ../../include/conversation.php:1756
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Acord"
+msgstr[1] "Acords"
+
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Desacord"
+msgstr[1] "Desacords"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Abstenirse"
+msgstr[1] "Abstenirse"
+
+#: ../../include/selectors.php:30
+msgid "Frequently"
+msgstr "Freqüentment"
+
+#: ../../include/selectors.php:31
+msgid "Hourly"
+msgstr "Horariament"
+
+#: ../../include/selectors.php:32
+msgid "Twice daily"
+msgstr "Dos vegades al dia"
+
+#: ../../include/selectors.php:33
+msgid "Daily"
+msgstr "Diariament"
+
+#: ../../include/selectors.php:34
+msgid "Weekly"
+msgstr "Setmanalment"
+
+#: ../../include/selectors.php:35
+msgid "Monthly"
+msgstr "Mensualment"
+
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "Actualment Masculí"
+
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "Actualment Femení"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "Més aviat Masculí"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "Més Aviat Femení"
+
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "Canvi de Sexe"
+
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "Intersexual"
+
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "Transsexual"
+
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "Hermafrodita"
+
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "Neutre"
+
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr "Indefinit"
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "Altres"
+
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "Indecís"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "Homes"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "Dones"
+
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "Gay"
+
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "Lesbianes"
+
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "Sense Preferències"
+
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "Bisexual"
+
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "Autosexual"
+
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "Abstinent"
+
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "Verge"
+
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "Desviat"
+
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "Fetixiste"
+
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "Orgies"
+
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "Asexual"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "Solter"
+
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "Solitari"
+
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "Disponible"
+
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "No Disponible"
+
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr "Aplastat"
+
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "Encapritxat"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr "Promés"
+
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "Infidel"
+
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "Adicte al Sexe"
+
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr "Amics amb Beneficis"
+
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "Casual"
+
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "Ocupat"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "Casat"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "Casat Imaginàriament"
+
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr "Parella"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "Cohabitant"
+
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr "Tradició"
+
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "Feliç"
+
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "No Cerco"
+
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "Llibertí"
+
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "Traït"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "Separat"
+
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "Inestable"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "Divorciat"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "Divorciat Imaginàriament"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "Vidu/ua"
+
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr "Incert"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "Es Complicat"
+
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "No Et Fa Res"
+
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "Pregunta"
+
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Visible per a la teva audiència "
+
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "Només jo"
+
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Públic"
+
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr "Ningú a la xarxa $Projectname"
+
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
+msgstr "Qualsevol compte a %s"
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "Qualsevol de les meves connexions"
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "Només les connexions que permeto específicament"
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Qualsevol persona autenticada (podria incloure als usuaris d'altres xarxes)"
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Qualsevol connexió incloent aquells que encara no han estat aprovats"
+
+#: ../../include/PermissionDescription.php:161
msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica."
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Aquest és l'ajust per defecte per al públic del seu flux normal i entrades."
-#: ../../mod/suggest.php:35
+#: ../../include/PermissionDescription.php:162
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
+"This is your default setting for who can view your default channel profile"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure el teu perfil per defecte del canal"
-#: ../../mod/poll.php:64
-msgid "Poll"
-msgstr "Sondeija"
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure les teves connexions"
-#: ../../mod/poll.php:69
-msgid "View Results"
-msgstr "Mostra els Resultats"
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure els teus arxius i fotos"
-#: ../../mod/service_limits.php:19
-msgid "No service class restrictions found."
-msgstr "No s'han trobat restriccions de clase."
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Aquests son els ajustos per defecte de l'audiència de les teves pàgines web"
-#: ../../mod/sharedwithme.php:94
-msgid "Files: shared with me"
-msgstr "Arxius: compartits amb jo"
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Adreça de correu electrònic no vàlida"
-#: ../../mod/sharedwithme.php:96
-msgid "NEW"
-msgstr "NOU"
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
-#: ../../mod/sharedwithme.php:99
-msgid "Remove all files"
-msgstr "Esborra tots els arxius"
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
-#: ../../mod/sharedwithme.php:100
-msgid "Remove this file"
-msgstr "Esborra l'arxiu"
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "Es requereix Invitació"
-#: ../../view/theme/apw/php/config.php:202
-#: ../../view/theme/apw/php/config.php:236
-msgid "Schema Default"
-msgstr "Esquema Predeterminat"
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "L'invitació no ha pogut ser verificada"
-#: ../../view/theme/apw/php/config.php:203
-msgid "Sans-Serif"
-msgstr "Sans-Serif"
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Entra la informació sol·licitada"
-#: ../../view/theme/apw/php/config.php:204
-msgid "Monospace"
-msgstr "Monospace"
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Ha fallat guardar la informació del compte"
-#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/redbasic/php/config.php:102
-msgid "Theme settings"
-msgstr "Ajustos de tema"
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registre confirmat per %s"
-#: ../../view/theme/apw/php/config.php:260
-msgid "Set scheme"
-msgstr "Ajustos d'esquema"
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Sol·licitud de registre a %s"
-#: ../../view/theme/apw/php/config.php:261
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Set font-size for posts and comments"
-msgstr "Ajusta la mida del tipus de lletra per a entrades i comentaris"
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Administrador"
-#: ../../view/theme/apw/php/config.php:262
-msgid "Set font face"
-msgstr "Ajusta el tipus de lletra"
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "la teva contrasenya registrada"
-#: ../../view/theme/apw/php/config.php:263
-msgid "Set iconset"
-msgstr "Ajusta el conjunt d'icones"
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Detalls del registre per %s"
-#: ../../view/theme/apw/php/config.php:264
-msgid "Set big shadow size, default 15px 15px 15px"
-msgstr "Ajusta la mida gran de l'ombra, predeterminat a 15px 15px 15px"
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Compte aprovat."
-#: ../../view/theme/apw/php/config.php:265
-msgid "Set small shadow size, default 5px 5px 5px"
-msgstr "Ajusta la mida petita de l'ombra, predeterminat a 5px 5px 5px"
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registre revocat per %s"
-#: ../../view/theme/apw/php/config.php:266
-msgid "Set shadow color, default #000"
-msgstr "Ajusta el color de l'ombra, predeterminat a #000"
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Compte verificat. Si us plau, inicia sessió."
-#: ../../view/theme/apw/php/config.php:267
-msgid "Set radius size, default 5px"
-msgstr "Ajusta la mida del radi, predeterminat a 5px"
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Feu clic aquí per actualitzar."
-#: ../../view/theme/apw/php/config.php:268
-msgid "Set line-height for posts and comments"
-msgstr "Ajusta el gruix de línia per entrades i comentaris"
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Aquesta acció és superior als límits establerts pel seu pla de subscripció."
-#: ../../view/theme/apw/php/config.php:269
-msgid "Set background image"
-msgstr "Ajusta l'imatge de fons"
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "Article no trobat."
+
+#: ../../include/attach.php:497
+msgid "No source file."
+msgstr "No hi ha arxiu d'origen."
+
+#: ../../include/attach.php:519
+msgid "Cannot locate file to replace"
+msgstr "No trobo l'arxiu a reemplaçar"
+
+#: ../../include/attach.php:537
+msgid "Cannot locate file to revise/update"
+msgstr "No trobo l'arxiu a revisar/actualitzar"
+
+#: ../../include/attach.php:672
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "L'arxiu excedeix la mida limit de %d"
-#: ../../view/theme/apw/php/config.php:270
-msgid "Set background attachment"
-msgstr "Ajusta els adjunts en segon pla"
+#: ../../include/attach.php:686
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts."
-#: ../../view/theme/apw/php/config.php:271
-msgid "Set background color"
-msgstr "Ajusta el color en segon pla"
+#: ../../include/attach.php:842
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda."
-#: ../../view/theme/apw/php/config.php:272
-msgid "Set section background image"
-msgstr "Ajusta la secció d'imatge en segon pla"
+#: ../../include/attach.php:855
+msgid "Stored file could not be verified. Upload failed."
+msgstr "L'arxiu guardat no es pot verificar. Pujada fallida."
-#: ../../view/theme/apw/php/config.php:273
-msgid "Set section background color"
-msgstr "Ajusta el color de la secció en segon pla"
+#: ../../include/attach.php:909 ../../include/attach.php:925
+msgid "Path not available."
+msgstr "Trajectòria no disponible"
-#: ../../view/theme/apw/php/config.php:274
-msgid "Set color of items - use hex"
-msgstr "Ajuste el color dels articles - empra codi hexadecimal"
+#: ../../include/attach.php:971 ../../include/attach.php:1123
+msgid "Empty pathname"
+msgstr "Trajèctoria vuida."
-#: ../../view/theme/apw/php/config.php:275
-msgid "Set color of links - use hex"
-msgstr "ajusta el color dels enlaços - empra codi hexadecimal"
+#: ../../include/attach.php:997
+msgid "duplicate filename or path"
+msgstr "Nom o trajectòria duplicat"
-#: ../../view/theme/apw/php/config.php:276
-msgid "Set max-width for items. Default 400px"
-msgstr "Ajusta l'amplada màxima dels articles. Predeterminat a 400px"
+#: ../../include/attach.php:1019
+msgid "Path not found."
+msgstr "Trajectòria no trobada."
-#: ../../view/theme/apw/php/config.php:277
-msgid "Set min-width for items. Default 240px"
-msgstr "Ajusta l'amplada minima dels articles. Predeterminat a 240px"
+#: ../../include/attach.php:1077
+msgid "mkdir failed."
+msgstr "mkdir va fracassar."
-#: ../../view/theme/apw/php/config.php:278
-msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Ajusta l'amplada de l'embolcall del contingut genèric. Predeterminat a 48%"
+#: ../../include/attach.php:1081
+msgid "database storage failed."
+msgstr "Arxiu de base de dades va fallar."
-#: ../../view/theme/apw/php/config.php:279
-msgid "Set color of fonts - use hex"
-msgstr "Ajusta el color del tipus de lletra - empra codi hexadecimal"
+#: ../../include/attach.php:1129
+msgid "Empty path"
+msgstr "Trajèctoria vuida"
-#: ../../view/theme/apw/php/config.php:280
-msgid "Set background-size element"
-msgstr "Ajusta la mida de l'element en segon pla"
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr "Incapaç de trobar l'informació d'identitat a la base de dades"
-#: ../../view/theme/apw/php/config.php:281
-msgid "Item opacity"
-msgstr "Opacitat de l'article"
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "Nom buit"
-#: ../../view/theme/apw/php/config.php:282
-msgid "Display post previews only"
-msgstr "Mostra tan sols les previsualitzacions de les entrades"
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "Nom massa llarg"
-#: ../../view/theme/apw/php/config.php:283
-msgid "Display side bar on channel page"
-msgstr "Mostra la barra lateral a la pàgina del canal"
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "Sense identificador de compte"
-#: ../../view/theme/apw/php/config.php:284
-msgid "Colour of the navigation bar"
-msgstr "Color de la barra de navegació"
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "Alies/malnom es requerit."
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr "Àlies reservat. Tria un altre."
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "L'álies te caracters no soportats o ja esta en ús en aquest lloc"
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr "No es pot recuperar la identitat creada"
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "Perfil per Defecte"
+
+#: ../../include/channel.php:791
+msgid "Requested channel is not available."
+msgstr "El canal demanat no està disponible."
+
+#: ../../include/channel.php:938
+msgid "Create New Profile"
+msgstr "Crear un Perfil Nou"
+
+#: ../../include/channel.php:958
+msgid "Visible to everybody"
+msgstr "Visible per tothom"
+
+#: ../../include/channel.php:1031 ../../include/channel.php:1142
+msgid "Gender:"
+msgstr "Gènere:"
+
+#: ../../include/channel.php:1032 ../../include/channel.php:1186
+msgid "Status:"
+msgstr "Estatus:"
+
+#: ../../include/channel.php:1033 ../../include/channel.php:1197
+msgid "Homepage:"
+msgstr "Pàgina Personal:"
+
+#: ../../include/channel.php:1034
+msgid "Online Now"
+msgstr "Ara en Linia"
+
+#: ../../include/channel.php:1147
+msgid "Like this channel"
+msgstr "M'agrada aquest canal"
+
+#: ../../include/channel.php:1171
+msgid "j F, Y"
+msgstr "j F, Y"
+
+#: ../../include/channel.php:1172
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1179
+msgid "Birthday:"
+msgstr "Aniversari:"
+
+#: ../../include/channel.php:1192
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "per %1$d %2$s"
+
+#: ../../include/channel.php:1195
+msgid "Sexual Preference:"
+msgstr "Preferència Sexual:"
+
+#: ../../include/channel.php:1201
+msgid "Tags:"
+msgstr "Etiquetes:"
+
+#: ../../include/channel.php:1203
+msgid "Political Views:"
+msgstr "Idees Polítiques:"
+
+#: ../../include/channel.php:1205
+msgid "Religion:"
+msgstr "Religió:"
+
+#: ../../include/channel.php:1209
+msgid "Hobbies/Interests:"
+msgstr "Aficions/Interessos:"
+
+#: ../../include/channel.php:1211
+msgid "Likes:"
+msgstr "Agrada:"
+
+#: ../../include/channel.php:1213
+msgid "Dislikes:"
+msgstr "Desagrada:"
+
+#: ../../include/channel.php:1215
+msgid "Contact information and Social Networks:"
+msgstr "Informació de contacte i Xarxes Socials:"
+
+#: ../../include/channel.php:1217
+msgid "My other channels:"
+msgstr "Els meus altres canals:"
+
+#: ../../include/channel.php:1219
+msgid "Musical interests:"
+msgstr "Interessos Musicals:"
+
+#: ../../include/channel.php:1221
+msgid "Books, literature:"
+msgstr "Llibres, literatura:"
-#: ../../view/theme/apw/php/config.php:285
-msgid "Item float"
-msgstr "Article flotant"
+#: ../../include/channel.php:1223
+msgid "Television:"
+msgstr "Televisió:"
-#: ../../view/theme/apw/php/config.php:286
-msgid "Left offset of the section element"
-msgstr "Desplaçament esquerra de l'element de secció"
+#: ../../include/channel.php:1225
+msgid "Film/dance/culture/entertainment:"
+msgstr "Películes/Dança/Cultura/Entreteniment:"
-#: ../../view/theme/apw/php/config.php:287
-msgid "Right offset of the section element"
-msgstr "Desplaçament dret de l'element de secció"
+#: ../../include/channel.php:1227
+msgid "Love/Romance:"
+msgstr "Amor/Romace:"
-#: ../../view/theme/apw/php/config.php:288
-msgid "Section width"
-msgstr "Amplada de la secció"
+#: ../../include/channel.php:1229
+msgid "Work/employment:"
+msgstr "Treball/feina:"
-#: ../../view/theme/apw/php/config.php:289
-msgid "Left offset of the aside"
-msgstr "Desplaçament esquerra del costat"
+#: ../../include/channel.php:1231
+msgid "School/education:"
+msgstr "Escola/educació:"
-#: ../../view/theme/apw/php/config.php:290
-msgid "Right offset of the aside element"
-msgstr "Desplaçament dret de l'element del costat"
+#: ../../include/channel.php:1251
+msgid "Like this thing"
+msgstr "M'agrada això"
+
+#: ../../include/features.php:48
+msgid "General Features"
+msgstr "Característiques Generals"
+
+#: ../../include/features.php:50
+msgid "Content Expiration"
+msgstr "Expiració del Contingut"
+
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "eliminarà entrades/comentaris i/o missatges privats en un període determinat de temps."
+
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
+msgstr "Multiples Perfils"
+
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
+msgstr "Capacitat per crear multiples perfils"
+
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
+msgstr "Perfils Avançats"
+
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
+msgstr "Seccions i seleccions addicionals de perfils "
+
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
+msgstr "Importar/Exportar Perfil"
+
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
+msgstr "Guarda i carrega els detalls del perfil al llarg dels llocs/canals"
+
+#: ../../include/features.php:54
+msgid "Web Pages"
+msgstr "Pàgines Web"
+
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
+msgstr "Proporcionar pàgines web gestionades al seu canal"
+
+#: ../../include/features.php:55
+msgid "Hide Rating"
+msgstr "Amaga la Valoració"
+
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
+msgstr "Amaga el botó de valoracions al teu canal i pàgines del perfil. Nota: Et poden continuar valorant en altres llocs."
+
+#: ../../include/features.php:56
+msgid "Private Notes"
+msgstr "Notes Privades"
+
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Activa l'eina per guardar notes i recordatoris (nota:no està encriptat)"
+
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
+msgstr "Navegació pel Selector de Canals"
+
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Canvieu els canals directament des del menú desplegable de navegació"
+
+#: ../../include/features.php:58
+msgid "Photo Location"
+msgstr "Ubicació de la Foto"
+
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Si les dades d'ubicació estàn disponibles a les fotos pujades, vincular a un mapa."
+
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr "Accés Controlat a les Sales de Xat"
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr "Proveeix sales de Xat i serveis de Xat amb control d'accés."
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr "Aniversaris Intel·ligents"
+
+#: ../../include/features.php:60
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "Fes, conscients de la zona horària, els esdeveniments d'aniversari, en cas que els teus amics estiguin dispersos per tot el planeta."
+
+#: ../../include/features.php:61
+msgid "Expert Mode"
+msgstr "Manera Experta"
+
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Activar Mode Expert per a proporcionar opcions avançades de configuració"
+
+#: ../../include/features.php:62
+msgid "Premium Channel"
+msgstr "Privilegis del Canal"
+
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal"
+
+#: ../../include/features.php:67
+msgid "Post Composition Features"
+msgstr "Característiques de Composició d'Entrades"
+
+#: ../../include/features.php:70
+msgid "Large Photos"
+msgstr "Grans Fotos"
+
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Inclou gran (1024px) foto de miniatura a les entrades. Si no està activat, empra petita (640px) foto de miniatura."
+
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automàticament el contingut del canal des de altres canals o feeds"
+
+#: ../../include/features.php:72
+msgid "Even More Encryption"
+msgstr "Encara Més Encriptació"
+
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida"
+
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
+msgstr "Habilitar Eines de Votació"
+
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
+msgstr "Proporcionar una classe d'entrada que altres puguin votar"
+
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr "Retarda Publicació"
+
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr "Permet que les publicacions es publiquin en data posterior"
+
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Suprimeix Duplicats de Publicacions/Comentaris"
+
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Evita que publicacions amb identic contingut siguin publicades amb menys de dos minuts entre entregues."
+
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "Filtrat de Xarxa i Flux"
+
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "Cerca per Data"
+
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "Capacitat per seleccionar entrades per rang de dates"
+
+#: ../../include/features.php:83 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "Grup Privat"
+
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr "Habilita gestió i selecció de grups privats"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr "Guardar els termin de la cerca per a re-usar"
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr "Pestanya Personal de Xarxa"
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Activa la pestanya per mostrar només les entrades de xarxa en les que has intervingut"
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr "Pestanya Nou a la Xarxa"
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr "Activa pestanya per mostrar tota l'activitat nova de la Xarxa"
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "Eina d'Afinitat"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filtre d'activitat del flux per importància de la relació"
+
+#: ../../include/features.php:88
+msgid "Connection Filtering"
+msgstr "Filtre de Connexió"
+
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut "
+
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
+msgstr "Mostra suggerencies de canals"
+
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr "Eina d'Entrades/Comentaris"
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr "Etiquetat per la Comunitat"
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr "Capacitat d'etiquetar entrades existents"
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr "Categories d'Entrades"
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr "Afegeix categoria a la teva entrada"
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr "Capacitat de arxivar entrades en les carpetes"
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr "No Agrada l'Entrada"
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris"
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr "Entrades Excel·lents"
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia"
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr "Núvol d'Etiquetes."
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal"
+
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Contingut embegut"
+
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Incorporació desactivada"
+
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "Qui pot veure això?"
+
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "Selecció a mida"
+
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Selecciona \"Mostrar\" per permetre la visualització. \"No Mostrar\" et permet obviar i limitar l'abast de \"Mostrar\"."
+
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Mostra"
+
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "No mostrar"
+
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Altres xarxes i serveis de correu"
+
+#: ../../include/acl_selectors.php:311
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Els permisos d'entrada %s no poden esser canviats %s posteriorment a que una entrada ja està compartida. </br />Aquest ajust dels permisos indica qui pot veure l'entrada."
+
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Sortir."
+
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Autenticació fallida"
+
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Aniversari"
+
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Edat:"
+
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD o MM-DD"
+
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "mai"
+
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "fa menys d'un segon"
+
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "Fa %1$d %2$s"
+
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "any"
+msgstr[1] "anys"
+
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mes"
+msgstr[1] "mesos "
+
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "setmana"
+msgstr[1] "setmanes"
+
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "dia"
+msgstr[1] "dies"
+
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hora"
+msgstr[1] "hores"
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minut"
+msgstr[1] "minuts"
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "segon"
+msgstr[1] "segons"
+
+#: ../../include/datetime.php:562
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Aniversari de %1$s"
+
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Feliç Aniversari %1$s"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
+
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Afegir noves connexions a aquest grup privat"
+
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "edita"
+
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Editar grup"
+
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Afegir grup privat"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Sense canals en grups privats"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Esborrar aquest item?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] mostra menys"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] expandeix"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] colapsa"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Contrasenya massa curta"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Les paraules de pas no coincideixen"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "tothom"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Contrasenya Secreta"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Pista per la Contrasenya"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Avis: Els permisos han canviat però encara no han estat enviats."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "tanca tot"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Res de nou per aquí"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Valora Aquest Canal (això es farà públic)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Descriu (opcional)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Si us plau, entra l'enllaç URL"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr "abans"
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr "des d'ara"
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr "menys d'un minut"
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr "prop d'un minut"
+
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuts"
+
+#: ../../include/js_strings.php:34
+msgid "about an hour"
+msgstr "prop d'una hora"
+
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
+msgstr "al voltant de %d hores"
+
+#: ../../include/js_strings.php:36
+msgid "a day"
+msgstr "un dia"
+
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
+msgstr "%d dies"
+
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr "prop d'un mes"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
+msgstr "%d mesos"
+
+#: ../../include/js_strings.php:40
+msgid "about a year"
+msgstr "prop d'un any"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr "%d anys"
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr "Maig"
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr "Gen"
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr "Feb"
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr "Apr"
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr "Maig"
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr "Jun"
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr "Jul"
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr "Ago"
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr "Set"
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr "Oct"
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr "Nov"
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr "Des"
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr "Dg."
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr "Dl."
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr "Dm."
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr "Dc."
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr "Dj."
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr "Dv."
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr "Ds."
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr "avui"
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr "mes"
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr "setmana"
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr "dia"
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr "Tot el dia"
+
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "Veure a mida competa"
+
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Sense Assumpte"
+
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "La imatge excedeix la mida limit pel lloc web en %lu bytes"
+
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "El fitxer d'imatge esta buit."
+
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Fracassà l'emmagatzematge de la Foto"
+
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "Una foto nova"
+
+#: ../../include/photos.php:299
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s enviat %2$s a %3$s"
+
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Puja Noves Fotos"
+
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "paquet de dades invàlid"
+
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "No es pot verificar la signatura del canal"
+
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "No es pot verificar la signatura del lloc per %s"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "Signatura objectiu invàlida"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Pàgina Nova"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Títol"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Pot veure el flux i entrades normals"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Pot veure el meu perfil del canal per defecte"
+
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
+msgstr "Pot veure les meves connexions"
+
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
+msgstr "Pot veure al meu magatzem d'arxius i fotos"
+
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
+msgstr "Pot veure les meves pàgines web"
+
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
+msgstr "Pot enviar-me el flux i entrades del seu canal"
+
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Pot fer entrades a la meva pàgina de canal (\"mur\")"
+
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
+msgstr "Pot fer comentaris o dir si agrada en les meves entrades"
+
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
+msgstr "Pot enviar-me un missatge de correu privat"
+
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
+msgstr "Pot dir si agrada/desagrada "
+
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
+msgstr "Perfils i altres coses a més d'entrades/comentaris"
+
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Ho pot enviar a tots els meus contactes del canal via entrades @mencions"
+
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avançat - capaç de crear canals de grups de foro"
+
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
+msgstr "Pot xatejar amb mi (si estic disponible)"
+
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
+msgstr "Pot escriure al meu magatzem d'arxius i fotos"
+
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
+msgstr "Pot editar les meves pàgines web"
+
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
+msgstr "Pot mostrar l'origen de les meves entrades públiques en altres canals"
+
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Quelcom avançat - molt útil en comunitats obertes"
+
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
+msgstr "Pot administrar els meus recursos del canal"
+
+#: ../../include/permissions.php:46
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Extremadament avançat. No toquis res si no saps que estàs fent"
+
+#: ../../include/permissions.php:877
+msgid "Social Networking"
+msgstr "Xarxes Socials"
+
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
+msgstr "Social - Principalment Públic"
+
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
+msgstr "Social - Restingit"
+
+#: ../../include/permissions.php:877
+msgid "Social - Private"
+msgstr "Social - Privat"
+
+#: ../../include/permissions.php:878
+msgid "Community Forum"
+msgstr "Foro de Comunitat"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
+msgstr "Fòrum - Principalment Públic"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
+msgstr "Fòrum - Restringit"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
+msgstr "Fòrum - Privat"
+
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
+msgstr "Republicador"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
+msgstr "Realimentador - Públic Principalment"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
+msgstr "Retroalimentador - Restringit"
+
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
+msgstr "Objectiu Especial"
+
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
+msgstr "Espacial - Celebritat/Plataforma"
+
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
+msgstr "Especial - Repositori d'un Grup"
+
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
+msgstr "Personalitzat/Manera Experta"
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "i"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "Perfil públic"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Visita %1$s en %2$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
+
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
+msgstr "Adjuntat:"
+
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
+msgstr "Notificació d'esdeveniment de $Projectname"
#: ../../view/theme/redbasic/php/config.php:82
-msgid "Light (Red Matrix default)"
-msgstr "Clar (predeterminat)"
+msgid "Focus (Hubzilla default)"
+msgstr "Focus (Hubzilla per defecte)"
#: ../../view/theme/redbasic/php/config.php:103
+msgid "Theme settings"
+msgstr "Ajustos de tema"
+
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Select scheme"
msgstr "Tria esquema"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Narrow navbar"
msgstr "Barra de navegació estreta"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation bar background color"
msgstr "Color de fons de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation bar gradient top color"
msgstr "Gradient de color de la part superior de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar gradient bottom color"
msgstr "Gradient de color de la part inferior de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation active button gradient top color"
msgstr "Gradient de color de la part superior del botó actiu de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation active button gradient bottom color"
msgstr "Gradient de color de la part inferior del botó actiu de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Navigation bar border color "
msgstr "Color de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar icon color "
msgstr "Color de la icona de la barra de navegació"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar active icon color "
msgstr "Color de la icona de la barra de navegació activa"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:114
msgid "link color"
msgstr "Color d'enllaç"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set font-color for banner"
msgstr "Ajusta el color del tipus de lletra per la senyera"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color"
msgstr "Ajusta el color de fons"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the background image"
msgstr "Ajusta la imatge de fons"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the background color of items"
msgstr "ajusta el color dels articles de fons"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the background color of comments"
msgstr "Ajusta el color dels comentaris en segon pla"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the border color of comments"
msgstr "Canviar el color del marge dels comentaris"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set the indent for comments"
msgstr "ajusta l'indentació dels comentaris"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the basic color for item icons"
msgstr "ajusta el color basic per les icones dels articles"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the hover color for item icons"
msgstr "Ajusta el color de la libració de les icones dels articles"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set font-size for the entire application"
msgstr "Ajusta la mida del tipus de lletra per tota l'aplicació"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Example: 14px"
msgstr "Exemple: 14px"
#: ../../view/theme/redbasic/php/config.php:125
+msgid "Set font-size for posts and comments"
+msgstr "Ajusta la mida del tipus de lletra per a entrades i comentaris"
+
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set font-color for posts and comments"
msgstr "Ajusta el color del tipus de lletra per entrades i comentaris"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set radius of corners"
msgstr "Ajusta el radi de les cantonades"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set shadow depth of photos"
msgstr "Ajusta la profunditat d'ombres de les fotos"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set maximum width of content region in pixel"
msgstr "Ajusta l'amplada màxima de la zona de contingut en pixels"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Leave empty for default width"
msgstr "Deixa en blanc per l'amplada predeterminada"
-#: ../../view/theme/redbasic/php/config.php:129
-msgid "Center page content"
-msgstr "Contingut del centre de la pàgina"
-
#: ../../view/theme/redbasic/php/config.php:130
+msgid "Left align page content"
+msgstr "Alineació esquerra del contingut de la pàgina"
+
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Ajusta la opacitat mínima de la harra de navegació - per amagar-la"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set size of conversation author photo"
msgstr "Ajusta la mida de la foto del autor a la conversa"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set size of followup author photos"
msgstr "Ajusta la mida del seguidor de les fotos de l'autor"
-#: ../../boot.php:1356
+#: ../../boot.php:1162
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Cerca %1$s(%2$s)"
+
+#: ../../boot.php:1162
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "L'actualització %s ha fallat. Mira el registre d'errors."
-#: ../../boot.php:1359
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Error d'Actualització a %s"
-#: ../../boot.php:1526
+#: ../../boot.php:1684
msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Crea un compte per accedir als serveis i aplicacions dins de RedMatrix"
+"Create an account to access services and applications within the Hubzilla"
+msgstr "Crea un compte per accedir als serveis i aplicacions dins de Hubzilla"
-#: ../../boot.php:1554
+#: ../../boot.php:1706
msgid "Password"
msgstr "Contrasenya"
-#: ../../boot.php:1555
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Recorda'm"
-#: ../../boot.php:1558
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Has perdut la Contrasenya?"
-#: ../../boot.php:2178
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "canvia a format per a mòbils"
-#: ../../boot.php:2313
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "El certificat SSL és invalid, soluciona-ho, si us plau."
-#: ../../boot.php:2316
+#: ../../boot.php:2428
#, php-format
-msgid "[red] Website SSL error for %s"
-msgstr "[red] Error de SSL per la web %s"
+msgid "[hubzilla] Website SSL error for %s"
+msgstr "[hubzilla] Error de SSL per la web %s"
-#: ../../boot.php:2353
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
-msgstr "No s'estan executan les tasques programades al cron."
+msgstr "No s'estan executant les tasques programades al cron."
-#: ../../boot.php:2357
+#: ../../boot.php:2473
#, php-format
-msgid "[red] Cron tasks not running on %s"
-msgstr "[red] No s'estan executan les tasques programades del cron a %s"
+msgid "[hubzilla] Cron tasks not running on %s"
+msgstr "[hubzilla] Les tasques de Cron no rulen a %s"
diff --git a/view/ca/hstrings.php b/view/ca/hstrings.php
index c263bafba..7470f8c84 100644
--- a/view/ca/hstrings.php
+++ b/view/ca/hstrings.php
@@ -5,935 +5,166 @@ function string_plural_select_ca($n){
return ($n != 1);;
}}
;
-App::$strings["Cannot locate DNS info for database server '%s'"] = "No s'ha trobat informació de DNS pel servidor de base de dades '%s'";
-App::$strings["Profile Photos"] = "Fotos del Perfil";
-App::$strings["Edit"] = "Edita";
-App::$strings["Frequently"] = "Freqüentment";
-App::$strings["Hourly"] = "Horariament";
-App::$strings["Twice daily"] = "Dos vegades al dia";
-App::$strings["Daily"] = "Diariament";
-App::$strings["Weekly"] = "Setmanalment";
-App::$strings["Monthly"] = "Mensualment";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "Correu electrónic";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot!"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["created a new post"] = "Creada una nova entrada";
-App::$strings["commented on %s's post"] = "comentat a l'entrada de %s";
-App::$strings["No username found in import file."] = "No s'ha trobat nom d'usuari a l'arxiu d'importació.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear.";
-App::$strings["Import completed."] = "S'ha completat la importació.";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent.";
-App::$strings["Default privacy group for new contacts"] = "Privacitat de grup predeterminada per a contactes nous";
-App::$strings["All Channels"] = "Tots els Canals";
-App::$strings["edit"] = "edita";
-App::$strings["Collections"] = "Col·leccions";
-App::$strings["Edit collection"] = "Edita col·leccions";
-App::$strings["Add new collection"] = "Afegeix una nova col·lecció";
-App::$strings["Channels not in any collection"] = "Canals a cap col·lecció";
-App::$strings["add"] = "afegeix";
-App::$strings["Not a valid email address"] = "Adreça de correu electrònic no vàlida";
-App::$strings["Your email domain is not among those allowed on this site"] = "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc";
-App::$strings["Your email address is already registered at this site."] = "La teva adreça de correu electrònic ja esta registrada en aquest lloc";
-App::$strings["An invitation is required."] = "Es requereix Invitació";
-App::$strings["Invitation could not be verified."] = "L'invitació no ha pogut ser verificada";
-App::$strings["Please enter the required information."] = "Entra la informació sol·licitada";
-App::$strings["Failed to store account information."] = "Ha fallat guardar la informació del compte";
-App::$strings["Registration confirmation for %s"] = "Registre confirmat per %s";
-App::$strings["Registration request at %s"] = "Sol·licitud de registre a %s";
-App::$strings["Administrator"] = "Administrador";
-App::$strings["your registration password"] = "la teva contrasenya registrada";
-App::$strings["Registration details for %s"] = "Detalls del registre per %s";
-App::$strings["Account approved."] = "Compte aprovat.";
-App::$strings["Registration revoked for %s"] = "Registre revocat per %s";
-App::$strings["Account verified. Please login."] = "Compte verificat. Si us plau, inicia sessió.";
-App::$strings["Click here to upgrade."] = "Feu clic aquí per actualitzar.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Aquesta acció és superior als límits establerts pel seu pla de subscripció.";
-App::$strings["This action is not available under your subscription plan."] = "Aquesta acció no està disponible en el seu pla de subscripció.";
-App::$strings["Miscellaneous"] = "Miscelania";
-App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD o MM-DD";
-App::$strings["Required"] = "Requerit";
-App::$strings["never"] = "mai";
-App::$strings["less than a second ago"] = "fa menys d'un segon";
-App::$strings["year"] = "any";
-App::$strings["years"] = "anys";
-App::$strings["month"] = "mes";
-App::$strings["months"] = "mesos";
-App::$strings["week"] = "setmana";
-App::$strings["weeks"] = "setmanes";
-App::$strings["day"] = "dia";
-App::$strings["days"] = "dies";
-App::$strings["hour"] = "hora";
-App::$strings["hours"] = "hores";
-App::$strings["minute"] = "minut";
-App::$strings["minutes"] = "minuts";
-App::$strings["second"] = "segon";
-App::$strings["seconds"] = "segons";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "Fa %1\$d i %2\$s";
-App::$strings["%1\$s's birthday"] = "Aniversari de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Feliç Aniversari %1\$s";
-App::$strings["Directory Options"] = "Opcions de Directori";
-App::$strings["Safe Mode"] = "Mode Segur";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Sí";
-App::$strings["Public Forums Only"] = "Només Fòrums Públics";
-App::$strings["This Website Only"] = "Només Aquest Lloc Web";
-App::$strings["New Page"] = "Pàgina Nova";
-App::$strings["View"] = "Mostra";
-App::$strings["Preview"] = "Avanç";
-App::$strings["Actions"] = "Accions";
-App::$strings["Page Link"] = "Enllaç a Pàgina";
-App::$strings["Title"] = "Títol";
-App::$strings["Created"] = "Creat";
-App::$strings["Edited"] = "Editat";
-App::$strings["Public Timeline"] = "Línia de Temps Pública";
-App::$strings["Default"] = "Predeterminat";
-App::$strings["Delete this item?"] = "Esborrar aquest item?";
-App::$strings["Comment"] = "Comentari";
-App::$strings["[+] show all"] = "[+] mostra tot";
-App::$strings["[-] show less"] = "[-] mostra menys";
-App::$strings["[+] expand"] = "[+] expandeix";
-App::$strings["[-] collapse"] = "[-] colapsa";
-App::$strings["Password too short"] = "Contrasenya massa curta";
-App::$strings["Passwords do not match"] = "Les paraules de pas no coincideixen";
-App::$strings["everybody"] = "tothom";
-App::$strings["Secret Passphrase"] = "Contrasenya Secreta";
-App::$strings["Passphrase hint"] = "Pista per la Contrasenya";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Avis: Els permisos han canviat però encara no han estat enviats.";
-App::$strings["close all"] = "tanca tot";
-App::$strings["Nothing new here"] = "Res de nou per aquí";
-App::$strings["Rate This Channel (this is public)"] = "Valora Aquest Canal (això es farà públic)";
-App::$strings["Rating"] = "Valora";
-App::$strings["Describe (optional)"] = "Descriu (opcional)";
-App::$strings["Submit"] = "Presenta";
-App::$strings["Please enter a link URL"] = "Si us plau, entra l'enllaç URL";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?";
-App::$strings["timeago.prefixAgo"] = "horapasada.prefixFa";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "fa";
-App::$strings["from now"] = "des d'ara";
-App::$strings["less than a minute"] = "menys d'un minut";
-App::$strings["about a minute"] = "prop d'un minut";
-App::$strings["%d minutes"] = "%d minuts";
-App::$strings["about an hour"] = "prop d'una hora";
-App::$strings["about %d hours"] = "al voltant de %d hores";
-App::$strings["a day"] = "un dia";
-App::$strings["%d days"] = "%d dies";
-App::$strings["about a month"] = "prop d'un mes";
-App::$strings["%d months"] = "%d mesos";
-App::$strings["about a year"] = "prop d'un any";
-App::$strings["%d years"] = "%d anys";
-App::$strings[" "] = " ";
-App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["prev"] = "prev";
-App::$strings["first"] = "primer";
-App::$strings["last"] = "últim";
-App::$strings["next"] = "pròxim";
-App::$strings["older"] = "el més antic";
-App::$strings["newer"] = "El més nou";
-App::$strings["No connections"] = "Sense Connexions";
-App::$strings["%d Connection"] = array(
- 0 => "%d Connexió",
- 1 => "%d Connexions",
-);
-App::$strings["View Connections"] = "Veure Connexions";
-App::$strings["Search"] = "Cerca";
-App::$strings["Save"] = "Guardar";
-App::$strings["poke"] = "emprenya";
-App::$strings["poked"] = "emprenyat";
-App::$strings["ping"] = "coloca";
-App::$strings["pinged"] = "colocat";
-App::$strings["prod"] = "picar";
-App::$strings["prodded"] = "picat";
-App::$strings["slap"] = "bufetada";
-App::$strings["slapped"] = "bufetejat";
-App::$strings["finger"] = "senyal";
-App::$strings["fingered"] = "senyalat";
-App::$strings["rebuff"] = "menyspreu";
-App::$strings["rebuffed"] = "menyspreuat";
-App::$strings["happy"] = "feliç";
-App::$strings["sad"] = "trist";
-App::$strings["mellow"] = "melós";
-App::$strings["tired"] = "cansat";
-App::$strings["perky"] = "turgent";
-App::$strings["angry"] = "enfadat";
-App::$strings["stupified"] = "encantat";
-App::$strings["puzzled"] = "perplexe";
-App::$strings["interested"] = "Interessat";
-App::$strings["bitter"] = "amargat";
-App::$strings["cheerful"] = "feliç";
-App::$strings["alive"] = "viu";
-App::$strings["annoyed"] = "molest";
-App::$strings["anxious"] = "ansiós";
-App::$strings["cranky"] = "malagaitós";
-App::$strings["disturbed"] = "transtornat";
-App::$strings["frustrated"] = "frustrat";
-App::$strings["depressed"] = "deprimit";
-App::$strings["motivated"] = "motivat";
-App::$strings["relaxed"] = "relaxat";
-App::$strings["surprised"] = "sorprès";
-App::$strings["Monday"] = "Dilluns";
-App::$strings["Tuesday"] = "Dimarts";
-App::$strings["Wednesday"] = "Dimecres";
-App::$strings["Thursday"] = "Dijous";
-App::$strings["Friday"] = "Divendres";
-App::$strings["Saturday"] = "Dissabte";
-App::$strings["Sunday"] = "Diumenge";
-App::$strings["January"] = "Gener";
-App::$strings["February"] = "Febrer";
-App::$strings["March"] = "Març";
-App::$strings["April"] = "Abril";
-App::$strings["May"] = "Maig";
-App::$strings["June"] = "Juny";
-App::$strings["July"] = "Juliol";
-App::$strings["August"] = "Agost";
-App::$strings["September"] = "Setembre";
-App::$strings["October"] = "Octubre";
-App::$strings["November"] = "Novembre";
-App::$strings["December"] = "Desembre";
-App::$strings["unknown.???"] = "desconegut.???";
-App::$strings["bytes"] = "bytes";
-App::$strings["remove category"] = "elimina categoria";
-App::$strings["remove from file"] = "elimina del arxiu";
-App::$strings["Click to open/close"] = "Clic per obrir/tancar";
-App::$strings["Link to Source"] = "Enllaç a la Font";
-App::$strings["default"] = "per defecte";
-App::$strings["Page layout"] = "Format de la pàgina";
-App::$strings["You can create your own with the layouts tool"] = "Pots crear el teu propi amb l'editor de format de pàgina.";
-App::$strings["Page content type"] = "Tipus de contingut de la pàgina";
-App::$strings["Select an alternate language"] = "Tria un idioma alternatiu";
-App::$strings["photo"] = "foto";
-App::$strings["event"] = "succés";
-App::$strings["status"] = "estat";
-App::$strings["comment"] = "comentari";
-App::$strings["activity"] = "activitat";
-App::$strings["Design Tools"] = "Eines de disseny";
-App::$strings["Blocks"] = "Bloc";
-App::$strings["Menus"] = "Menús";
-App::$strings["Layouts"] = "Format Gràfic";
-App::$strings["Pages"] = "Pàgines";
-App::$strings["Collection"] = "Col·lecció";
App::$strings["parent"] = "pare";
+App::$strings["Collection"] = "Col·lecció";
App::$strings["Principal"] = "Principal";
App::$strings["Addressbook"] = "Llista d'Adreçes";
App::$strings["Calendar"] = "Calendari";
App::$strings["Schedule Inbox"] = "Programació de la bústia d'entrada";
App::$strings["Schedule Outbox"] = "Programació de la bústia de sortida";
App::$strings["Unknown"] = "Desconegut";
-App::$strings["%1\$s used"] = "%1\$s emprat";
-App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s emprat de %2\$s (%3\$s&#37;)";
App::$strings["Files"] = "Arxius";
App::$strings["Total"] = "Total";
App::$strings["Shared"] = "Compartit";
-App::$strings["Create"] = "Creada";
+App::$strings["Create"] = "Crear";
App::$strings["Upload"] = "Pujar";
App::$strings["Name"] = "Nom";
App::$strings["Type"] = "Tipus";
App::$strings["Size"] = "Mida";
App::$strings["Last Modified"] = "Últim Modificat";
+App::$strings["Edit"] = "Edita";
App::$strings["Delete"] = "Esborra";
+App::$strings["You are using %1\$s of your available file storage."] = "Estàs emprant el %1\$s de l'espai d'emmagatzematge disponible";
+App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Estàs emprant %1\$s de %2\$s d'emmagatzematge d'arxius disponible.\n(%3\$s&#37;)";
+App::$strings["WARNING:"] = "ALERTA:";
App::$strings["Create new folder"] = "Crea una nova carpeta";
App::$strings["Upload file"] = "Puja arxiu";
-App::$strings["%1\$s's bookmarks"] = "%1\$s de marcadors";
-App::$strings["view full size"] = "Veure a mida competa";
-App::$strings["\$Projectname Notification"] = "Notificació de \$Projectname";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Gràcies,";
-App::$strings["%s Administrator"] = "%s Administrador";
-App::$strings["No Subject"] = "Sense Assumpte";
-App::$strings["General Features"] = "Característiques Generals";
-App::$strings["Content Expiration"] = "Expiració del Contingut";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "elimina entrades/comentaris i/o missatges privats de aquí en endevant.";
-App::$strings["Multiple Profiles"] = "Multiples Perfils";
-App::$strings["Ability to create multiple profiles"] = "Capacitat per crear multiples perfils";
-App::$strings["Advanced Profiles"] = "Perfils Avançats";
-App::$strings["Additional profile sections and selections"] = "Seccions i seleccions addicionals de perfils ";
-App::$strings["Profile Import/Export"] = "Importar/Exportar Perfil";
-App::$strings["Save and load profile details across sites/channels"] = "Guarda i carrega els detalls del perfil al llarg dels llocs/canals";
-App::$strings["Web Pages"] = "Pàgines Web";
-App::$strings["Provide managed web pages on your channel"] = "Proporcionar pàgines web gestionades al seu canal";
-App::$strings["Private Notes"] = "Notes Privades";
-App::$strings["Enables a tool to store notes and reminders"] = "Activa l'eina per guardar notes i recordatoris";
-App::$strings["Navigation Channel Select"] = "Navegació pel Selector de Canals";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Canvieu els canals directament des del menú desplegable de navegació";
-App::$strings["Photo Location"] = "Ubicació de la Photo";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si los datos de ubicación están disponibles en las fotos subidas, vincular a un mapa.";
-App::$strings["Expert Mode"] = "Mode Expert";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activar Mode Expert per a proporcionar opcions avançades de configuració";
-App::$strings["Premium Channel"] = "Canal Superior";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal";
-App::$strings["Post Composition Features"] = "Característiques de Composició d'Entrades";
-App::$strings["Use Markdown"] = "Us d'Abreviatures";
-App::$strings["Allow use of \"Markdown\" to format posts"] = "Permet emprat \"Abreviatures\" per formatar entrades";
-App::$strings["Large Photos"] = "Grans Fotos";
-App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Inclou gran (640px) foto de miniatura a les entrades. Si no està activat, empra petita (320px) foto de miniatura.";
-App::$strings["Channel Sources"] = "Canal Origen";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automàticament el contingut del canal des de altres canals o feeds";
-App::$strings["Even More Encryption"] = "Encara Més Encriptació";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida";
-App::$strings["Enable voting tools"] = "Habilitar eines de vot";
-App::$strings["Provide a class of post which others can vote on"] = "Proporcionar una classe d'entrada que altres puguin votar";
-App::$strings["Network and Stream Filtering"] = "Filtrat de Xarxa i Flux";
-App::$strings["Search by Date"] = "Cerca per Data";
-App::$strings["Ability to select posts by date ranges"] = "Capacitat per seleccionar entrades per rang de dates";
-App::$strings["Collections Filter"] = "Filtre de Col·leccions";
-App::$strings["Enable widget to display Network posts only from selected collections"] = "Habilitar giny per mostrar les entrades de xarxa únicament de les col·leccions seleccionades";
-App::$strings["Saved Searches"] = "Cerques Guardades";
-App::$strings["Save search terms for re-use"] = "Guardar els termin de la cerca per a re-usar";
-App::$strings["Network Personal Tab"] = "Pestanya Personal de Xarxa";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activa pestanya per mostrar només les entrades de xarxa en els que has intervingut";
-App::$strings["Network New Tab"] = "Nova Pestanya de Xarxa";
-App::$strings["Enable tab to display all new Network activity"] = "Activa pestanya per mostrar tota l'activitat nova de la Xarxa";
-App::$strings["Affinity Tool"] = "Eina d'Afinitat";
-App::$strings["Filter stream activity by depth of relationships"] = "Filtre d'activitat del flux per importància de la relació";
-App::$strings["Connection Filtering"] = "Filtre de Connexió";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut ";
-App::$strings["Suggest Channels"] = "Suggerir Canals";
-App::$strings["Show channel suggestions"] = "Mostra suggerencies de canals";
-App::$strings["Post/Comment Tools"] = "Eina d'Entrades/Comentaris";
-App::$strings["Tagging"] = "Etiquetant";
-App::$strings["Ability to tag existing posts"] = "Capacitat d'etiquetar entrades existents";
-App::$strings["Post Categories"] = "Categories d'Entrades";
-App::$strings["Add categories to your posts"] = "Afegeix categoria a la teva entrada";
-App::$strings["Saved Folders"] = "Carpetes Guardades";
-App::$strings["Ability to file posts under folders"] = "Capacitat de arxivar entrades en les carpetes";
-App::$strings["Dislike Posts"] = "No Agrada l'Entrada";
-App::$strings["Ability to dislike posts/comments"] = "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris";
-App::$strings["Star Posts"] = "Entrades Excel·lents";
-App::$strings["Ability to mark special posts with a star indicator"] = "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia";
-App::$strings["Tag Cloud"] = "Núvol d'Etiquetes.";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal";
-App::$strings["Categories"] = "Categories";
-App::$strings["Apps"] = "Aplicatius";
-App::$strings["System"] = "Sistema";
-App::$strings["Personal"] = "Personal";
-App::$strings["Create Personal App"] = "Crear Personal App";
-App::$strings["Edit Personal App"] = "Editar Personal App";
-App::$strings["Connect"] = "Connecta ";
-App::$strings["Ignore/Hide"] = "Ignora/Amaga";
-App::$strings["Suggestions"] = "Suggerencies";
-App::$strings["See more..."] = "Veure més.....";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tens %1$.0f de %2$.0f connexions permeses.";
-App::$strings["Add New Connection"] = "Afegeix una Nova Connexió";
-App::$strings["Enter the channel address"] = "Introdueix la adreça del canal";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Exemple: pep@exemple.com, http://exemple.com/vinyet";
-App::$strings["Notes"] = "Notes";
-App::$strings["Remove term"] = "Plaç de remoció";
-App::$strings["Everything"] = "Tot";
-App::$strings["Archives"] = "Arxius";
+App::$strings["Permission denied"] = "Permís denegat";
+App::$strings["Permission denied."] = "Permís denegat.";
+App::$strings["Not Found"] = "No s'ha pogut trobar la pàgina";
+App::$strings["Page not found."] = "Pàgina no trobada.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Benvingut %s. Autenticació remota reeixida.";
+App::$strings["Requested profile is not available."] = "El perfil demanat no està disponible.";
+App::$strings["Some blurb about what to do when you're new here"] = "Algunes propostes sobre el que cal fer quan ets nou aquí";
+App::$strings["Block Name"] = "Nom del Bloc";
+App::$strings["Blocks"] = "Bloc";
+App::$strings["Block Title"] = "Títol del bloc";
+App::$strings["Created"] = "Creat";
+App::$strings["Edited"] = "Editat";
+App::$strings["Share"] = "Compartir";
+App::$strings["View"] = "Mostra";
+App::$strings["Channel not found."] = "Canal no trobat.";
+App::$strings["Permissions denied."] = "Permís denegat.";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Link to Source"] = "Enllaç a la Font";
+App::$strings["Edit Event"] = "Editar l'Esdeveniment";
+App::$strings["Create Event"] = "Crear Esdeveniment";
+App::$strings["Previous"] = "Anterior";
+App::$strings["Next"] = "Pròxim";
+App::$strings["Export"] = "Exporta";
+App::$strings["Import"] = "Importar";
+App::$strings["Submit"] = "Enviar";
+App::$strings["Today"] = "Avui";
+App::$strings["You must be logged in to see this page."] = "Has d'estar identificat per a veure aquesta pàgina.";
+App::$strings["Posts and comments"] = "Entrades i comentaris";
+App::$strings["Only posts"] = "Només entrades";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficients. Petició redirigida a la pàgina del perfil.";
+App::$strings["Room not found"] = "No s'ha trobat la sala";
+App::$strings["Leave Room"] = "Abandona la sala";
+App::$strings["Delete Room"] = "Esborra Sala";
+App::$strings["I am away right now"] = "Absent";
+App::$strings["I am online"] = "Estic connectat/da";
+App::$strings["Bookmark this room"] = "Fes favorit aquest xat";
+App::$strings["Please enter a link URL:"] = "Si us plau entra l'enllaç URL:";
+App::$strings["Encrypt text"] = "Text encriptat";
+App::$strings["Insert web link"] = "Insereix enllaç web";
+App::$strings["Feature disabled."] = "Funcionalitat desactivada.";
+App::$strings["New Chatroom"] = "Nova sala per a Xerrar";
+App::$strings["Chatroom name"] = "Nom de la sala de xat";
+App::$strings["Expiration of chats (minutes)"] = "Expiració dels chats (minuts)";
+App::$strings["Permissions"] = "Permisos ";
+App::$strings["%1\$s's Chatrooms"] = "%1\$s de Xats";
+App::$strings["No chatrooms available"] = "No hi ha sales de xat disponibles";
+App::$strings["Create New"] = "Crear Nou";
+App::$strings["Expiration"] = "Expiració";
+App::$strings["min"] = "min";
+App::$strings["Away"] = "Absent";
+App::$strings["Online"] = "En connexió";
+App::$strings["Invalid item."] = "Article invàlid.";
+App::$strings["Bookmark added"] = "Favorit afegit";
+App::$strings["My Bookmarks"] = "Els Meus Favorits";
+App::$strings["My Connections Bookmarks"] = "Les connexions dels meus Favorits";
+App::$strings["Continue"] = "Continua";
+App::$strings["Premium Channel Setup"] = "Configuració de Canals Premium";
+App::$strings["Enable premium channel connection restrictions"] = "Habilita les restriccions de connexió del canal premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Connexions potencials veuran el següent text abans de continuar:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No s'han proporcionat instruccions específiques pel propietari del canal.)";
+App::$strings["Restricted or Premium Channel"] = "Canal Restringit o Premium";
+App::$strings["Could not access contact record."] = "No s'ha pogut accedir al llibre de contactes.";
+App::$strings["Could not locate selected profile."] = "No s'ha trobat el perfil indicat.";
+App::$strings["Connection updated."] = "S'ha actualitzat la connexió.";
+App::$strings["Failed to update connection record."] = "No s'ha pogut actualitzar el registre de connexió.";
+App::$strings["is now connected to"] = "Ara està conectat amb";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Sí";
+App::$strings["Could not access address book record."] = "No puc accedir al registre del contacte";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Ha fallat la recàrrega - el canal es actualment inaccesible.";
+App::$strings["Unable to set address book parameters."] = "No es poden ajustar els paràmetres dels contactes.";
+App::$strings["Connection has been removed."] = "S'han eliminat les conexions.";
+App::$strings["View Profile"] = "Veure Perfil";
+App::$strings["View %s's profile"] = "Mostra el perfil de %s";
+App::$strings["Refresh Permissions"] = "Recarrega els Permissos";
+App::$strings["Fetch updated permissions"] = "Obté els permisos actualitzats";
+App::$strings["Recent Activity"] = "Activitat Recent";
+App::$strings["View recent posts and comments"] = "Mostra les entrades i comentaris recents";
+App::$strings["Unblock"] = "Desbloquejat";
+App::$strings["Block"] = "Bloquejat";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió";
+App::$strings["This connection is blocked!"] = "Aquesta connexió està bloquejada!";
+App::$strings["Unignore"] = "Inhabilita";
+App::$strings["Ignore"] = "Ignora";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora (o Considera) les communicacions entrants d'aquesta connexió";
+App::$strings["This connection is ignored!"] = "Aquesta connexió es ignorada!";
+App::$strings["Unarchive"] = "Desarxiva";
+App::$strings["Archive"] = "Arxiva";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut ";
+App::$strings["This connection is archived!"] = "Aquesta connexió està arxivada!";
+App::$strings["Unhide"] = "Mostra";
+App::$strings["Hide"] = "Amaga";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Amaga (o Mostra) aquesta connexió de les altres connexions teves";
+App::$strings["This connection is hidden!"] = "Aquesta connexió està amagada!";
+App::$strings["Delete this connection"] = "Elimina aquesta connexió";
App::$strings["Me"] = "Jo";
App::$strings["Family"] = "Família";
App::$strings["Friends"] = "Amics";
App::$strings["Acquaintances"] = "Coneguts";
App::$strings["All"] = "Tots";
-App::$strings["Refresh"] = "Refresc";
-App::$strings["Account settings"] = "Ajustos de Compte";
-App::$strings["Channel settings"] = "Ajustos de Canal";
-App::$strings["Additional features"] = "Característiques addicionals";
-App::$strings["Feature/Addon settings"] = "Ajustos de Característica/Afegit";
-App::$strings["Display settings"] = "Ajustos de pantalla";
-App::$strings["Connected apps"] = "Apps connectades";
-App::$strings["Export channel"] = "Exportat canal";
+App::$strings["Approve this connection"] = "Apccepta aquesta connexió";
+App::$strings["Accept connection to allow communication"] = "Accepta la connexió per permetre la comunicació";
+App::$strings["Set Affinity"] = "Ajusta l'Afinitat";
+App::$strings["Set Profile"] = "Ajusta el Perfil";
+App::$strings["Set Affinity & Profile"] = "Ajusta Afinitat i Perfil";
+App::$strings["none"] = "res";
App::$strings["Connection Default Permissions"] = "Permisos per Defecte de la Connexió";
-App::$strings["Premium Channel Settings"] = "Ajustos Premium de Canal";
-App::$strings["Settings"] = "Ajustos";
-App::$strings["Messages"] = "Missatges";
-App::$strings["Check Mail"] = "Comprovar Correu";
-App::$strings["New Message"] = "Nou Missatge";
-App::$strings["Chat Rooms"] = "Sales de Xat";
-App::$strings["Bookmarked Chatrooms"] = "Sales de Xat Favorites";
-App::$strings["Suggested Chatrooms"] = "Sales de Xat Suggerides";
-App::$strings["photo/image"] = "foto/imatge";
-App::$strings["Rate Me"] = "Valora'm";
-App::$strings["View Ratings"] = "Veure Valoracions";
-App::$strings["Public Hubs"] = "Concentradors Públics";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Starts:"] = "Inicia:";
-App::$strings["Finishes:"] = "Acaba:";
-App::$strings["Location:"] = "Localització:";
-App::$strings["This event has been added to your calendar."] = "Aquest succés ha estat afegit al teu calendari.";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Red:Notify] New mail received at %s"] = "[Red:Notificació] Un nou missatge s'ha rebut a %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s t'ha enviat un nou missatge privat a %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s t'ha enviat %2\$s.";
-App::$strings["a private message"] = "un missatge privat";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Per favor, visita %s per a veure i/o respondre els teus missatges privats.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]a %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]%4\$s de %5\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]el teu %4\$s[/zrl]";
-App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notify] Comentari a la conversa #%1\$d per %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentat en un article/conversa que havies estat seguint.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Si us plau visita %s per veure i/o contestar a la conversa";
-App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Avís] %s ha escrit una entrada al teu mur";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha escrit una entrada al teu mur en %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s enviat correu a [zrl=%3\$s]el teu mur[/zrl]";
-App::$strings["[Red:Notify] %s tagged you"] = "[Red:Notificació] %s t'ha etiquetat";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s t'ha etiquetat a %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]t'ha etiquetat[/zrl].";
-App::$strings["[Red:Notify] %1\$s poked you"] = "[Red:Avís] %1\$s s'en fot de tu";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s s'en fot de tú a %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]s'en fot de tú[/zrl].";
-App::$strings["[Red:Notify] %s tagged your post"] = "[Red:Avís] %s ha etiquetat la teva entrada";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetat la teva entrada a %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s etiquetat [zrl=%3\$s]la teva entrada[/zrl]";
-App::$strings["[Red:Notify] Introduction received"] = "[Red:Avís] Presentació rebuda";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, has rebut una nova petició de connexió de '%2\$s' a %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, has rebut [zrl=%2\$s]una nova petició de connexió[/zrl] de %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Pots visitar el seu perfil a %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Si us plau, visita %s per aprovar o rebutjar la petició de connexió.";
-App::$strings["[Red:Notify] Friend suggestion received"] = "[Red:Notificació] Rebuda suggerencia d'amistat";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, has rebut una suggerència d'amistat de '%2\$s' a %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, has rebut [zrl=%2\$s]una suggerència d'amistat[/zrl] per %3\$s de %4\$s.";
-App::$strings["Name:"] = "Nom:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Per favor, visita %s per a aprovar o rebutjar la suggerencia.";
-App::$strings["[Red:Notify]"] = "[Red:Notificació]";
-App::$strings["No recipient provided."] = "No s'ha proporcionat bústia.";
-App::$strings["[no subject]"] = "[no subject]";
-App::$strings["Unable to determine sender."] = "incapaç de determinar el remitent";
-App::$strings["Stored post could not be verified."] = "L'entrada guardada no pot ser verificada";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s agrada %2\$s de %3\$s";
-App::$strings["Please choose"] = "Escull";
-App::$strings["Agree"] = "A favor";
-App::$strings["Disagree"] = "En contra";
-App::$strings["Abstain"] = "Abstenció";
-App::$strings["Channel is blocked on this site."] = "El canal està bloquejat en aquest lloc.";
-App::$strings["Channel location missing."] = "Ubicació del canal perduda.";
-App::$strings["Response from remote channel was incomplete."] = "La resposta del canal remot fou incompleta.";
-App::$strings["Channel was deleted and no longer exists."] = "El canal fou esborrat i actualment no existeix.";
-App::$strings["Protocol disabled."] = "Protocol desactivat.";
-App::$strings["Protocol blocked for this channel."] = "El protocol està bloquejat per a aquest canal.";
-App::$strings["Channel discovery failed."] = "Descobriment de canal fallit.";
-App::$strings["local account not found."] = "compte local no trobat.";
-App::$strings["Cannot connect to yourself."] = "No pots connectar amb tu mateix.";
-App::$strings["Private Message"] = "Missatge Privat";
-App::$strings["Select"] = "Selecciona";
-App::$strings["Save to Folder"] = "Guardar en la Carpeta";
-App::$strings["I will attend"] = "Assistiré";
-App::$strings["I will not attend"] = "No assistiré";
-App::$strings["I might attend"] = "Podria assistir";
-App::$strings["I agree"] = "D'acord";
-App::$strings["I disagree"] = "En desacord";
-App::$strings["I abstain"] = "M'abstinc";
-App::$strings["View all"] = "Veure tot";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Agrada",
- 1 => "Agraden",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Desagrada",
- 1 => "Desagrada",
-);
-App::$strings["Add Star"] = "Fes-lo Preferit";
-App::$strings["Remove Star"] = "Treu-lo de Preferits";
-App::$strings["Toggle Star Status"] = "Canvia el Estat de la Preferència";
-App::$strings["starred"] = "preferit";
-App::$strings["Message signature validated"] = "Validada la signatura del missatge";
-App::$strings["Message signature incorrect"] = "Signatura del missatge incorrecta";
-App::$strings["Add Tag"] = "Afegeix Etiqueta";
-App::$strings["I like this (toggle)"] = "M'agrada això (canvia)";
-App::$strings["like"] = "agrada";
-App::$strings["I don't like this (toggle)"] = "No m'agrada això (canvia)";
-App::$strings["dislike"] = "desagrada";
-App::$strings["Share This"] = "Comparteix Això";
-App::$strings["share"] = "comparteix";
-App::$strings["%d comment"] = array(
- 0 => "%d commentari",
- 1 => "%d commentaris",
-);
-App::$strings["View %s's profile - %s"] = "Veure %s de perfil - %s";
-App::$strings["to"] = "a";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "Mur-a-Mur";
-App::$strings["via Wall-To-Wall:"] = "via Mur-a-Mur:";
-App::$strings["from %s"] = "De %s";
-App::$strings["last edited: %s"] = "últim editat: %s";
-App::$strings["Expires: %s"] = "Expira: %s";
-App::$strings["Save Bookmarks"] = "Guarda Favorits";
-App::$strings["Add to Calendar"] = "Afegeix al Calendari";
-App::$strings["Mark all seen"] = "Marca tot com ja vist";
-App::$strings["__ctx:noun__ Likes"] = "Agrada";
-App::$strings["__ctx:noun__ Dislikes"] = "Desagrada";
-App::$strings["Close"] = "Tanca";
-App::$strings["Please wait"] = "Si us plau, espera";
-App::$strings["This is you"] = "Ets tú";
-App::$strings["Bold"] = "Negreta";
-App::$strings["Italic"] = "Italica";
-App::$strings["Underline"] = "Subratllat";
-App::$strings["Quote"] = "Cometes";
-App::$strings["Code"] = "Codi";
-App::$strings["Image"] = "Imatge";
-App::$strings["Insert Link"] = "Insereix Enllaç";
-App::$strings["Video"] = "Video";
-App::$strings["Encrypt text"] = "Text encriptat";
-App::$strings["New window"] = "Nova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Obrir la localització seleccionada en un altre finestra o pestanya del navegador";
-App::$strings["User '%s' deleted"] = "usuari '%s' esborrat";
-App::$strings["Attachments:"] = "Adjuntat:";
-App::$strings["\$Projectname event notification:"] = "Notificació d'esdeveniment de \$Projectname";
-App::$strings["Logout"] = "Desconectar";
-App::$strings["End this session"] = "Finalitza aquesta sessió";
-App::$strings["Home"] = "Personal";
-App::$strings["Your posts and conversations"] = "Les teves entrades i converses";
-App::$strings["View Profile"] = "Veure Perfil";
-App::$strings["Your profile page"] = "La teva pàgina de perfil";
-App::$strings["Edit Profiles"] = "Editar Perfils";
-App::$strings["Manage/Edit profiles"] = "Gestiona/Edita perfils";
-App::$strings["Edit Profile"] = "Edita Perfil";
-App::$strings["Edit your profile"] = "Edita el teu perfil";
-App::$strings["Photos"] = "Fotos";
-App::$strings["Your photos"] = "Les Teves Fotos";
-App::$strings["Your files"] = "Els teus arxius";
-App::$strings["Chat"] = "Xerrar";
-App::$strings["Your chatrooms"] = "Les teves sales de xerrar";
-App::$strings["Bookmarks"] = "Marcadors";
-App::$strings["Your bookmarks"] = "Els teus marcadors";
-App::$strings["Webpages"] = "Pàgines web";
-App::$strings["Your webpages"] = "Les teves pàgines web";
-App::$strings["Login"] = "Identifica't";
-App::$strings["Sign in"] = "Signatura";
-App::$strings["%s - click to logout"] = "%s - click per desconectar";
-App::$strings["Remote authentication"] = "Autenticació remota";
-App::$strings["Click to authenticate to your home hub"] = "Click per autentificar-te en el teu Lloc ";
-App::$strings["Home Page"] = "Pàgina Personal";
-App::$strings["Register"] = "Registre";
-App::$strings["Create an account"] = "Crear un compte";
-App::$strings["Help"] = "Ajuda";
-App::$strings["Help and documentation"] = "Ajuda i documentació";
-App::$strings["Applications, utilities, links, games"] = "Aplicacions, utilitats, enllaços, jocs";
-App::$strings["Search site content"] = "Cerca en el contingut del lloc";
-App::$strings["Directory"] = "Directori";
-App::$strings["Channel Directory"] = "Directori de Canals";
-App::$strings["Matrix"] = "Matriu/Matrix";
-App::$strings["Your matrix"] = "El teu matrix";
-App::$strings["Mark all matrix notifications seen"] = "Marca totes les notificacions de matrix vistes";
-App::$strings["Channel Home"] = "Canal Personal";
-App::$strings["Channel home"] = "Canal personal";
-App::$strings["Mark all channel notifications seen"] = "Marca totes les notificacions de canal vistes";
-App::$strings["Connections"] = "Connexions";
-App::$strings["Notices"] = "Noticies";
-App::$strings["Notifications"] = "Notificacions";
-App::$strings["See all notifications"] = "Veure totes les Notificacions";
-App::$strings["Mark all system notifications seen"] = "Marca totes les notificacions vistes";
-App::$strings["Mail"] = "Correu";
-App::$strings["Private mail"] = "Correu privat";
-App::$strings["See all private messages"] = "Veure tots els missatges privats";
-App::$strings["Mark all private messages seen"] = "Marcar tots els missatges privats vistos";
-App::$strings["Inbox"] = "Safata d'entrada";
-App::$strings["Outbox"] = "Safata de sortida";
-App::$strings["Events"] = "Events";
-App::$strings["Event Calendar"] = "Calendari d'Events";
-App::$strings["See all events"] = "Veure tots els events";
-App::$strings["Mark all events seen"] = "Marcar tots els events vistos";
-App::$strings["Channel Manager"] = "Gestor del Canal";
-App::$strings["Manage Your Channels"] = "Gestiona els Teus Canals";
-App::$strings["Account/Channel Settings"] = "Ajustos de Compte/Canal";
-App::$strings["Admin"] = "Admin";
-App::$strings["Site Setup and Configuration"] = "Ajustos i Configuració del Lloc";
-App::$strings["Loading..."] = "Carregant...";
-App::$strings["@name, #tag, content"] = "@name, #tag, content";
-App::$strings["Please wait..."] = "Si us plau, espera.......";
-App::$strings["Tags"] = "Etiquetes";
-App::$strings["Keywords"] = "Paraules clau";
-App::$strings["have"] = "tinc";
-App::$strings["has"] = "tens";
-App::$strings["want"] = "vull";
-App::$strings["wants"] = "vols";
-App::$strings["likes"] = "agrada";
-App::$strings["dislikes"] = "desagrada";
-App::$strings[" and "] = "i";
-App::$strings["public profile"] = "Perfil públic";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s canviat %2\$s a &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Visita %1\$s de %2\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s Ha actualitzat %2\$s, canviant %3\$s.";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo.";
-App::$strings["Can view my normal stream and posts"] = "Pot veure el flux i entrades normals";
-App::$strings["Can view my default channel profile"] = "Pot veure el meu perfil del canal per defecte";
-App::$strings["Can view my photo albums"] = "Pot veure el meus àlbums de fotos";
-App::$strings["Can view my connections"] = "Pot veure les meves connexions";
-App::$strings["Can view my file storage"] = "Pot veure al meu magatzem d'arxius";
-App::$strings["Can view my webpages"] = "Pot veure les meves pàgines web";
-App::$strings["Can send me their channel stream and posts"] = "Pot enviar-me el flux i entrades del seu canal";
-App::$strings["Can post on my channel page (\"wall\")"] = "Pot fer entrades a la meva pàgina de canal (\"mur\")";
-App::$strings["Can comment on or like my posts"] = "Pot fer comentaris o dir si agrada en les meves entrades";
-App::$strings["Can send me private mail messages"] = "Pot enviar-me un missatge de correu privat";
-App::$strings["Can post photos to my photo albums"] = "Pot enviar fotos al meus àlbums de fotos";
-App::$strings["Can like/dislike stuff"] = "Pot dir si agrada/desagrada ";
-App::$strings["Profiles and things other than posts/comments"] = "Perfils i altres coses a més d'entrades/comentaris";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Ho pot enviar a tots els meus contactes del canal via entrades @mencions";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avançat - capaç de crear canals de grups de foro";
-App::$strings["Can chat with me (when available)"] = "Pot xatejar amb mi (si estic disponible)";
-App::$strings["Can write to my file storage"] = "Pot escriure al meu magatzem d'arxius";
-App::$strings["Can edit my webpages"] = "Pot editar les meves pàgines web";
-App::$strings["Can source my public posts in derived channels"] = "Pot mostrar l'origen de les meves entrades públiques en altres canals";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Quelcom avançat - molt útil en comunitats obertes";
-App::$strings["Can administer my channel resources"] = "Pot administrar els meus recursos del canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremadament avançat. No toquis res si no saps que estàs fent";
-App::$strings["Social Networking"] = "Xarxes Socials";
-App::$strings["Mostly Public"] = "Més aviat Públic";
-App::$strings["Restricted"] = "Restringit";
-App::$strings["Private"] = "Privat";
-App::$strings["Community Forum"] = "Foro de Comunitat";
-App::$strings["Feed Republish"] = "Republicador";
-App::$strings["Special Purpose"] = "Objectiu Especial";
-App::$strings["Celebrity/Soapbox"] = "Celebritat/Faristol";
-App::$strings["Group Repository"] = "Repositori de Grup";
-App::$strings["Other"] = "Altres";
-App::$strings["Custom/Expert Mode"] = "Personalitzat/Mode Expert";
-App::$strings["channel"] = "canal";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s no agrada %2\$s de %3\$s";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s esta ara connectat amb %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s emprenyat %2\$s";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s es %2\$s";
-App::$strings["__ctx:title__ Likes"] = "Agrada";
-App::$strings["__ctx:title__ Dislikes"] = "Desagrada";
-App::$strings["__ctx:title__ Agree"] = "Acord";
-App::$strings["__ctx:title__ Disagree"] = "Desacord";
-App::$strings["__ctx:title__ Abstain"] = "Abstenirse";
-App::$strings["__ctx:title__ Attending"] = "Assistint";
-App::$strings["__ctx:title__ Not attending"] = "Desassistint";
-App::$strings["__ctx:title__ Might attend"] = "Podrien assistir";
-App::$strings["View %s's profile @ %s"] = "Vista %s del perfil @ %s";
-App::$strings["Categories:"] = "Categories:";
-App::$strings["Filed under:"] = "Arxivar a:";
-App::$strings["View in context"] = "Veure en context";
-App::$strings["remove"] = "treu";
-App::$strings["Delete Selected Items"] = "Esborra els Articles Seleccionats";
-App::$strings["View Source"] = "Veure l'Origen";
-App::$strings["Follow Thread"] = "Segueix el Fil";
-App::$strings["View Status"] = "Veure Status";
-App::$strings["View Photos"] = "Veure Fotos";
-App::$strings["Matrix Activity"] = "Activitat de Matrix";
-App::$strings["Edit Contact"] = "Editar Contacte";
-App::$strings["Send PM"] = "Enviar MP";
-App::$strings["Poke"] = "Emprenya";
-App::$strings["%s likes this."] = "%s agrada això.";
-App::$strings["%s doesn't like this."] = "%s no agrada això.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d gent</span> agrada això.",
- 1 => "<span %1\$s>%2\$d gent</span> agrada això.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d gent</span> no agrada això.",
- 1 => "<span %1\$s>%2\$d gent</span> no agrada això.",
-);
-App::$strings["and"] = "i";
-App::$strings[", and %d other people"] = array(
- 0 => ", i %d altra gent",
- 1 => ", i %d altra gent",
-);
-App::$strings["%s like this."] = "%s agrada això.";
-App::$strings["%s don't like this."] = "%s no agrada això.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Visible a <strong>tothom</strong>";
-App::$strings["Please enter a link URL:"] = "Si us plau entra l'enllaç URL:";
-App::$strings["Please enter a video link/URL:"] = "Si us plau entra l'enllaç/URL a un video:";
-App::$strings["Please enter an audio link/URL:"] = "Si us plau, entra l'enllaç/URL a un audio:";
-App::$strings["Tag term:"] = "Paraula de l'Etiqueta:";
-App::$strings["Save to Folder:"] = "Guardar en la Carpeta";
-App::$strings["Where are you right now?"] = "On ets ara?";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expira YYYY-MM-DD HH:MM";
-App::$strings["Share"] = "Compartir";
-App::$strings["Page link name"] = "Nom de la pàgina enllaçada";
-App::$strings["Post as"] = "Envia com";
-App::$strings["Upload photo"] = "Puja foto";
-App::$strings["upload photo"] = "puja foto";
-App::$strings["Attach file"] = "Adjunta arxiu";
-App::$strings["attach file"] = "adjunta arxiu";
-App::$strings["Insert web link"] = "Insereix enllaç web";
-App::$strings["web link"] = "enllaç web";
-App::$strings["Insert video link"] = "Insereix enllaç video";
-App::$strings["video link"] = "enllaç video";
-App::$strings["Insert audio link"] = "Insereix enllaç d'audio";
-App::$strings["audio link"] = "enllaç d'audio";
-App::$strings["Set your location"] = "Ajusta la teva ubicació";
-App::$strings["set location"] = "ajusta localització";
-App::$strings["Toggle voting"] = "Commutar votació";
-App::$strings["Clear browser location"] = "Treu la localització del navegador";
-App::$strings["clear location"] = "treu localització";
-App::$strings["Title (optional)"] = "Títol (opcional)";
-App::$strings["Categories (optional, comma-separated list)"] = "Categories (opcional, llista separada per comes)";
-App::$strings["Permission settings"] = "Ajustos de permisos";
-App::$strings["permissions"] = "permisos ";
-App::$strings["Public post"] = "Entrada pública";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Exemple: bob@example.com, mary@example.com";
-App::$strings["Set expiration date"] = "Ajusta la data d'expiració";
-App::$strings["OK"] = "OK";
-App::$strings["Cancel"] = "Cancel·la";
-App::$strings["Discover"] = "Descobrir";
-App::$strings["Imported public streams"] = "Importar fluxos públics";
-App::$strings["Commented Order"] = "Ordre per Comentaris";
-App::$strings["Sort by Comment Date"] = "Ordenar per Data del Comentari";
-App::$strings["Posted Order"] = "Ordenar per Entrades";
-App::$strings["Sort by Post Date"] = "Ordenar per Data d' Entrada";
-App::$strings["Posts that mention or involve you"] = "Entrades que et mencionen o involucren";
-App::$strings["New"] = "Nou";
-App::$strings["Activity Stream - by date"] = "Activitat del Flux - per data";
-App::$strings["Starred"] = "Preferit";
-App::$strings["Favourite Posts"] = "Entrades Favorites";
-App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Entrades marcades com a SPAM";
-App::$strings["Channel"] = "Canal";
-App::$strings["Status Messages and Posts"] = "Estat dels Missatges i Entrades";
-App::$strings["About"] = "Sobre això";
-App::$strings["Profile Details"] = "Detalls del Perfil";
-App::$strings["Photo Albums"] = "Albums de Fotos";
-App::$strings["Files and Storage"] = "Arxius i Emmagatzegament";
-App::$strings["Chatrooms"] = "Sala per Xerrar";
-App::$strings["Saved Bookmarks"] = "Marcadors Guardats";
-App::$strings["Manage Webpages"] = "Gestió de Pàgines Web";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Assistint",
- 1 => "Assistint",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Desassistint",
- 1 => "Desassistint",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indecís",
- 1 => "Indecisos",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "Acord",
- 1 => "Acords",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Desacord",
- 1 => "Desacords",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Abstenirse",
- 1 => "Abstenirse",
-);
-App::$strings["Permission denied"] = "Permís denegat";
-App::$strings["(Unknown)"] = "(Desconegut)";
-App::$strings["Visible to anybody on the internet."] = "Visible per tothom a la Internet";
-App::$strings["Visible to you only."] = "Visible només per tú.";
-App::$strings["Visible to anybody in this network."] = "Visible per tothom en aquesta xarxa.";
-App::$strings["Visible to anybody authenticated."] = "Visible per tothom autenticat.";
-App::$strings["Visible to anybody on %s."] = "Visible per a tothom a %s.";
-App::$strings["Visible to all connections."] = "Visible per a totes les connexions.";
-App::$strings["Visible to approved connections."] = "Visible per a les connexions aprovades.";
-App::$strings["Visible to specific connections."] = "Visible per a específiques connexions.";
-App::$strings["Item not found."] = "Element no trobat.";
-App::$strings["Permission denied."] = "Permís denegat.";
-App::$strings["Collection not found."] = "Col·lecció no trobada.";
-App::$strings["Collection is empty."] = "La col·lecció esta buida.";
-App::$strings["Collection: %s"] = "Col·lecció: %s";
App::$strings["Connection: %s"] = "Connexió: %s";
-App::$strings["Connection not found."] = "Connexió no trobada.";
-App::$strings["Invalid data packet"] = "paquet de dades invàlid";
-App::$strings["Unable to verify channel signature"] = "No es pot verificar la signatura del canal";
-App::$strings["Unable to verify site signature for %s"] = "No es pot verificar la signatura del lloc per %s";
-App::$strings["Embedded content"] = "Contingut embegut";
-App::$strings["Embedding disabled"] = "Incorporació desactivada";
-App::$strings["Logged out."] = "Sortir.";
-App::$strings["Failed authentication"] = "Autenticació fallida";
-App::$strings["Login failed."] = "Identificació fallida.";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invitació disponible",
- 1 => "%d invitacions disponibles",
-);
-App::$strings["Advanced"] = "Avançat";
-App::$strings["Find Channels"] = "Troba Canals";
-App::$strings["Enter name or interest"] = "Entra un nom o interes";
-App::$strings["Connect/Follow"] = "Conecta/Segueix";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Lionel Messi, Futbolista";
-App::$strings["Find"] = "Troba";
-App::$strings["Channel Suggestions"] = "Canals Suggerits";
-App::$strings["Random Profile"] = "Perfil Aleatori";
-App::$strings["Invite Friends"] = "Convida Amics";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avançat: nom=pep i pais=eire";
-App::$strings["%d connection in common"] = array(
- 0 => "%d connexió en comú",
- 1 => "%d connexions en comú",
-);
-App::$strings["show more"] = "mostrar més";
-App::$strings["Visible to your default audience"] = "Visible per a la teva audiència ";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "No mostrar";
-App::$strings["Permissions"] = "Permisos ";
-App::$strings["Item was not found."] = "Article no trobat.";
-App::$strings["No source file."] = "No hi ha arxiu d'origen.";
-App::$strings["Cannot locate file to replace"] = "No trobo l'arxiu a reemplaçar";
-App::$strings["Cannot locate file to revise/update"] = "No trobo l'arxiu a revisar/actualitzar";
-App::$strings["File exceeds size limit of %d"] = "L'arxiu excedeix la mida limit de %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda.";
-App::$strings["Stored file could not be verified. Upload failed."] = "L'arxiu guardat no es pot verificar. Pujada fallida.";
-App::$strings["Path not available."] = "Trajectòria no disponible";
-App::$strings["Empty pathname"] = "Trajèctoria vuida.";
-App::$strings["duplicate filename or path"] = "Nom o trajectòria duplicat";
-App::$strings["Path not found."] = "Trajectòria no trobada.";
-App::$strings["mkdir failed."] = "mkdir va fracassar.";
-App::$strings["database storage failed."] = "Arxiu de base de dades va fallar.";
-App::$strings["Unable to obtain identity information from database"] = "Incapaç de trobar l'informació d'identitat a la base de dades";
-App::$strings["Empty name"] = "Nom buit";
-App::$strings["Name too long"] = "Nom massa llarg";
-App::$strings["No account identifier"] = "Sense identificador de compte";
-App::$strings["Nickname is required."] = "Alies/malnom es requerit.";
-App::$strings["Reserved nickname. Please choose another."] = "Àlies reservat. Tria un altre.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "L'álies te caracters no soportats o ja esta en ús en aquest lloc";
-App::$strings["Unable to retrieve created identity"] = "No es pot recuperar la identitat creada";
-App::$strings["Default Profile"] = "Perfil per Defecte";
-App::$strings["Requested channel is not available."] = "El canal demanat no està disponible.";
-App::$strings["Requested profile is not available."] = "El perfil demanat no està disponible.";
-App::$strings["Change profile photo"] = "Canviar la foto del perfil";
-App::$strings["Profiles"] = "Perfils";
-App::$strings["Manage/edit profiles"] = "Gestiona/edita perfils";
-App::$strings["Create New Profile"] = "Crear un Perfil Nou";
-App::$strings["Profile Image"] = "Imatge del Perfil";
-App::$strings["visible to everybody"] = "visible per tothom";
-App::$strings["Edit visibility"] = "Editar visibilitat";
-App::$strings["Gender:"] = "Gènere:";
-App::$strings["Status:"] = "Estatus:";
-App::$strings["Homepage:"] = "Pàgina Personal:";
-App::$strings["Online Now"] = "Ara en Linia";
-App::$strings["g A l F d"] = "g A l F d";
-App::$strings["F d"] = "F d";
-App::$strings["[today]"] = "[avui]";
-App::$strings["Birthday Reminders"] = "Recordatori d'Aniversaris";
-App::$strings["Birthdays this week:"] = "Aniversari aquesta setmana:";
-App::$strings["[No description]"] = "[Sense descripció]";
-App::$strings["Event Reminders"] = "Recordatori d'Events";
-App::$strings["Events this week:"] = "Event aquesta setmana:";
-App::$strings["Profile"] = "Perfil";
-App::$strings["Full Name:"] = "Nom Complet:";
-App::$strings["Like this channel"] = "M'agrada aquest canal";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Aniversari:";
-App::$strings["Age:"] = "Edat:";
-App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Preferència Sexual:";
-App::$strings["Hometown:"] = "Ciutat Natal:";
-App::$strings["Tags:"] = "Etiquetes:";
-App::$strings["Political Views:"] = "Idees Polítiques:";
-App::$strings["Religion:"] = "Religió:";
-App::$strings["About:"] = "Sobre:";
-App::$strings["Hobbies/Interests:"] = "Aficions/Interessos:";
-App::$strings["Likes:"] = "Agrada:";
-App::$strings["Dislikes:"] = "Desagrada:";
-App::$strings["Contact information and Social Networks:"] = "Informació de contacte i Xarxes Socials:";
-App::$strings["My other channels:"] = "Els meus altres canals:";
-App::$strings["Musical interests:"] = "Interessos Musicals:";
-App::$strings["Books, literature:"] = "Llibres, literatura:";
-App::$strings["Television:"] = "Televisió:";
-App::$strings["Film/dance/culture/entertainment:"] = "Películes/Dança/Cultura/Entreteniment:";
-App::$strings["Love/Romance:"] = "Amor/Romace:";
-App::$strings["Work/employment:"] = "Treball/feina:";
-App::$strings["School/education:"] = "Escola/educació:";
-App::$strings["Like this thing"] = "M'agrada això";
-App::$strings["Male"] = "Masculí";
-App::$strings["Female"] = "Femení";
-App::$strings["Currently Male"] = "Actualment Masculí";
-App::$strings["Currently Female"] = "Actualment Femení";
-App::$strings["Mostly Male"] = "Més aviat Masculí";
-App::$strings["Mostly Female"] = "Més Aviat Femení";
-App::$strings["Transgender"] = "Canvi de Sexe";
-App::$strings["Intersex"] = "Intersexual";
-App::$strings["Transsexual"] = "Transsexual";
-App::$strings["Hermaphrodite"] = "Hermafrodita";
-App::$strings["Neuter"] = "Neutre";
-App::$strings["Non-specific"] = "Indefinit";
-App::$strings["Undecided"] = "Indecís";
-App::$strings["Males"] = "Homes";
-App::$strings["Females"] = "Dones";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbianes";
-App::$strings["No Preference"] = "Sense Preferències";
-App::$strings["Bisexual"] = "Bisexual";
-App::$strings["Autosexual"] = "Autosexual";
-App::$strings["Abstinent"] = "Abstinent";
-App::$strings["Virgin"] = "Verge";
-App::$strings["Deviant"] = "Desviat";
-App::$strings["Fetish"] = "Fetixiste";
-App::$strings["Oodles"] = "Orgies";
-App::$strings["Nonsexual"] = "Asexual";
-App::$strings["Single"] = "Solter";
-App::$strings["Lonely"] = "Solitari";
-App::$strings["Available"] = "Disponible";
-App::$strings["Unavailable"] = "No Disponible";
-App::$strings["Has crush"] = "Aplastat";
-App::$strings["Infatuated"] = "Encapritxat";
-App::$strings["Dating"] = "Promés";
-App::$strings["Unfaithful"] = "Infidel";
-App::$strings["Sex Addict"] = "Adicte al Sexe";
-App::$strings["Friends/Benefits"] = "Amics amb Beneficis";
-App::$strings["Casual"] = "Casual";
-App::$strings["Engaged"] = "Ocupat";
-App::$strings["Married"] = "Casat";
-App::$strings["Imaginarily married"] = "Casat Imaginàriament";
-App::$strings["Partners"] = "Parella";
-App::$strings["Cohabiting"] = "Cohabitant";
-App::$strings["Common law"] = "Tradició";
-App::$strings["Happy"] = "Feliç";
-App::$strings["Not looking"] = "No Cerco";
-App::$strings["Swinger"] = "Llibertí";
-App::$strings["Betrayed"] = "Traït";
-App::$strings["Separated"] = "Separat";
-App::$strings["Unstable"] = "Inestable";
-App::$strings["Divorced"] = "Divorciat";
-App::$strings["Imaginarily divorced"] = "Divorciat Imaginàriament";
-App::$strings["Widowed"] = "Vidu/ua";
-App::$strings["Uncertain"] = "Incert";
-App::$strings["It's complicated"] = "Es Complicat";
-App::$strings["Don't care"] = "No Et Fa Res";
-App::$strings["Ask me"] = "Pregunta";
-App::$strings["Site Admin"] = "Administració";
-App::$strings["Address Book"] = "Adreçes";
-App::$strings["Mood"] = "Ànim";
-App::$strings["Probe"] = "Sondeig";
-App::$strings["Suggest"] = "Suggeriment";
-App::$strings["Random Channel"] = "Canal Aleatori";
-App::$strings["Invite"] = "Convida";
-App::$strings["Features"] = "Funcionalitats";
-App::$strings["Language"] = "Idioma";
-App::$strings["Post"] = "Entrada";
-App::$strings["Profile Photo"] = "Foto del Perfil";
-App::$strings["Update"] = "Actualització";
-App::$strings["Install"] = "Instal·lar";
-App::$strings["Purchase"] = "Compra";
-App::$strings["Image/photo"] = "Imatge/foto";
-App::$strings["Encrypted content"] = "Contingut encriptat";
-App::$strings["Install %s element: "] = "Instal·la l'element %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc.";
-App::$strings["webpage"] = "pàgina web";
-App::$strings["layout"] = "disposició";
-App::$strings["block"] = "bloc";
-App::$strings["menu"] = "menú";
-App::$strings["QR code"] = "QR code";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s va escriure el següent %2\$s %3\$s";
-App::$strings["post"] = "entrada";
-App::$strings["Different viewers will see this text differently"] = "Diferents observadors veuran aquest text de diferents formes";
-App::$strings["$1 spoiler"] = "$1 spoiler";
-App::$strings["$1 wrote:"] = "$1 va escriure:";
-App::$strings["Missing room name"] = "Perdut el nom de la sala";
-App::$strings["Duplicate room name"] = "Nom de la sala duplicat";
-App::$strings["Invalid room specifier."] = "Especificació de la sala invàlida.";
-App::$strings["Room not found."] = "Sala no trobada.";
-App::$strings["Room is full"] = "La sala es plena";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "La imatge excedeix la mida limit pel lloc web en %lu bytes";
-App::$strings["Image file is empty."] = "El fitxer d'imatge esta buit.";
-App::$strings["Unable to process image"] = "incapaç de processar la imatge";
-App::$strings["Photo storage failed."] = "Fracassà l'emmagatzematge de la Foto";
-App::$strings["Upload New Photos"] = "Puja Noves Fotos";
-App::$strings["Some blurb about what to do when you're new here"] = "Algunes propostes sobre el que cal fer quan ets nou aquí";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Has creat %1$.0f de %2$.0f canals permesos.";
-App::$strings["Create a new channel"] = "Crear un nou canal";
-App::$strings["Current Channel"] = "Canal Actual";
-App::$strings["Switch to one of your channels by selecting it."] = "Canviar a un altre dels teus canals seleccionant-ho.";
-App::$strings["Default Channel"] = "Canal per Defecte";
-App::$strings["Make Default"] = "Estableix com a Predeterminat";
-App::$strings["%d new messages"] = "%d missatges nous";
-App::$strings["%d new introductions"] = "%d noves presentacions";
-App::$strings["Delegated Channels"] = "Canals Delegats";
+App::$strings["Apply these permissions automatically"] = "Aplica aquests permissos automaticament";
+App::$strings["Connection requests will be approved without your interaction"] = "Les peticions de connexió seran aprovades sense la teva interacció";
+App::$strings["This connection's primary address is"] = "La primera adreça d'aqueste connexió es";
+App::$strings["Available locations:"] = "Localització disponible:";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions.";
+App::$strings["Connection Tools"] = "Eines de Connexió";
+App::$strings["Slide to adjust your degree of friendship"] = "Llisca per ajustar el nivell d'amistat";
+App::$strings["Rating"] = "Valora";
+App::$strings["Slide to adjust your rating"] = "Llisca per ajustar la valoració";
+App::$strings["Optionally explain your rating"] = "Opcionalment pots explicar la teva valoració";
+App::$strings["Custom Filter"] = "Filtre a mida";
+App::$strings["Only import posts with this text"] = "Importa exclusivament entrades amb aquest text";
+App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "paraules una per línia o #etiquetes o /patrons/ o idioma=xx, deixar en blanc per importar totes les entrades";
+App::$strings["Do not import posts with this text"] = "No importar entrades amb aquest text";
+App::$strings["This information is public!"] = "Aquesta informació es pública!";
+App::$strings["Connection Pending Approval"] = "Connexió Pendent d'Aprovació";
+App::$strings["inherited"] = "heretat";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur.";
+App::$strings["Their Settings"] = "Els seus Ajustos";
+App::$strings["My Settings"] = "Els Meus Ajustos";
+App::$strings["Individual Permissions"] = "Permisos Individuals";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats.";
+App::$strings["Last update:"] = "Darrera actualització:";
App::$strings["Public access denied."] = "Accés públic denegat.";
App::$strings["%d rating"] = array(
0 => "%d valoració",
@@ -942,14 +173,21 @@ App::$strings["%d rating"] = array(
App::$strings["Gender: "] = "Gènere:";
App::$strings["Status: "] = "Estatus:";
App::$strings["Homepage: "] = "Pàgina Personal:";
+App::$strings["Age:"] = "Edat:";
+App::$strings["Location:"] = "Localització:";
App::$strings["Description:"] = "Descripció:";
+App::$strings["Hometown:"] = "Ciutat Natal:";
+App::$strings["About:"] = "Sobre:";
+App::$strings["Connect"] = "Connecta ";
App::$strings["Public Forum:"] = "Forum Públic:";
App::$strings["Keywords: "] = "Paraules Clau:";
App::$strings["Don't suggest"] = "No suggerir";
App::$strings["Common connections:"] = "Connexions en comú:";
App::$strings["Global Directory"] = "Directori Global";
App::$strings["Local Directory"] = "Directori Local";
+App::$strings["Find"] = "Troba";
App::$strings["Finding:"] = "Cercant:";
+App::$strings["Channel Suggestions"] = "Canals Suggerits";
App::$strings["next page"] = "pàgina següent";
App::$strings["previous page"] = "pàgina anterior";
App::$strings["Sort options"] = "Opcions per ordenar";
@@ -958,346 +196,252 @@ App::$strings["Reverse Alphabetic"] = "Alfabètic Invers";
App::$strings["Newest to Oldest"] = "De més Nou a més Vell";
App::$strings["Oldest to Newest"] = "De més Antic a més Nou";
App::$strings["No entries (some entries may be hidden)."] = "Sense entrades (algunes podrien estar amagades).";
-App::$strings["Xchan Lookup"] = "Cerca a xchan";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca a xchan començant per (o webbie)";
-App::$strings["Not found."] = "No trobat.";
-App::$strings["Authorize application connection"] = "Autoritza la connexió de l'aplicació";
-App::$strings["Return to your app and insert this Securty Code:"] = "Torna a la teva aplicació i insereix aquest Codi de Seguretat:";
-App::$strings["Please login to continue."] = "Si et plau, identifica't per continuar.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix.";
-App::$strings["Page Title"] = "Títol de la pàgina";
-App::$strings["Channel added."] = "S'ha afegit el canal.";
-App::$strings["Tag removed"] = "S'ha tret l'etiqueta";
-App::$strings["Remove Item Tag"] = "Elimina l'etiqueta d'element";
-App::$strings["Select a tag to remove: "] = "Tria l'etiqueta a eliminar:";
-App::$strings["Remove"] = "Esborra";
-App::$strings["Continue"] = "Continua";
-App::$strings["Premium Channel Setup"] = "Configuració de Canals Premium";
-App::$strings["Enable premium channel connection restrictions"] = "Habilita les restriccions de connexió del canal premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Connexions potencials veuran el següent text abans de continuar:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No s'han proporcionat instruccions específiques pel propietari del canal.)";
-App::$strings["Restricted or Premium Channel"] = "Canal Restringit o Premium";
-App::$strings["Thing updated"] = "S'ha actualitzat la cosa";
-App::$strings["Object store: failed"] = "No s'ha pogut emmagatzemar l'objecte";
-App::$strings["Thing added"] = "S'ha afegit la cosa";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostra la cosa";
-App::$strings["item not found."] = "no s'ha trobat l'element.";
-App::$strings["Edit Thing"] = "Edita la cosa";
-App::$strings["Select a profile"] = "Tria un perfil";
-App::$strings["Post an activity"] = "Publica una activitat";
-App::$strings["Only sends to viewers of the applicable profile"] = "S'envia només a visitants del perfil corresponent";
-App::$strings["Name of thing e.g. something"] = "Nom de la cosa. Exemple: patata";
-App::$strings["URL of thing (optional)"] = "Adreça URL de la cosa (opcional)";
-App::$strings["URL for photo of thing (optional)"] = "Adreça URL de la foto d'una cosa (opcional)";
-App::$strings["Add Thing to your Profile"] = "Afegeix una cosa al teu perfil";
-App::$strings["Item not available."] = "Article no disponible.";
-App::$strings["Fetching URL returns error: %1\$s"] = "URL sol·licitada retorna error: %1\$s";
+App::$strings["Item not found."] = "Element no trobat.";
+App::$strings["Item not found"] = "No s'ha trobat l'element";
+App::$strings["Title (optional)"] = "Títol (opcional)";
+App::$strings["Edit Block"] = "Editar Bloc";
+App::$strings["No channel."] = "No s'ha trobat el canal";
+App::$strings["Common connections"] = "Connexions en comú";
+App::$strings["No connections in common."] = "No hi ha connexions en comú.";
+App::$strings["Blocked"] = "Bloquejades";
+App::$strings["Ignored"] = "Ignorades";
+App::$strings["Hidden"] = "Amagades";
+App::$strings["Archived"] = "Arxivades";
+App::$strings["New"] = "Nou";
+App::$strings["New Connections"] = "Noves Connexions";
+App::$strings["Show pending (new) connections"] = "Mostra les connexions pendents (noves)";
+App::$strings["All Connections"] = "Totes les Connexions";
+App::$strings["Show all connections"] = "Mostra totes les connexions";
+App::$strings["Only show blocked connections"] = "Mostra només les connexions bloquejades";
+App::$strings["Only show ignored connections"] = "Mostra només les connexions ignorades";
+App::$strings["Only show archived connections"] = "Mostra només les connexions arxivades";
+App::$strings["Only show hidden connections"] = "Mostra només les connexions amagades";
+App::$strings["Pending approval"] = "Pendent d'aprovació";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifica la connexió";
+App::$strings["Delete connection"] = "Elimina la connexió";
+App::$strings["Channel address"] = "Adreça del canal";
+App::$strings["Network"] = "Xarxa";
+App::$strings["Status"] = "Estat";
+App::$strings["Connected"] = "Connectat";
+App::$strings["Approve connection"] = "Aprovar la Connexió ";
+App::$strings["Approve"] = "Aprovat";
+App::$strings["Ignore connection"] = "Ignorar connexió";
+App::$strings["Recent activity"] = "Activitat recent";
+App::$strings["Connections"] = "Connexions";
+App::$strings["Search"] = "Cerca";
+App::$strings["Search your connections"] = "Cerca entre les teves connexions";
+App::$strings["Connections search"] = "Cerca connexions";
App::$strings["Image uploaded but image cropping failed."] = "S'ha pujat la imatge però no s'ha pogut retallar.";
+App::$strings["Cover Photos"] = "Fotos de Portada";
App::$strings["Image resize failed."] = "No s'ha pogut escalar la imatge.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»";
-App::$strings["Image exceeds size limit of %d"] = "La imatge excedeix la mida límit de %d";
+App::$strings["Unable to process image"] = "incapaç de processar la imatge";
+App::$strings["Image upload failed."] = "La pujada de la imatge va fracassar.";
App::$strings["Unable to process image."] = "Incapaç de processar l'imatge.";
+App::$strings["female"] = "femení";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s actualitzà el seu %2\$s";
+App::$strings["male"] = "masculí";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s actualitzà el seu %2\$s";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s actualitzà els seus %2\$s";
+App::$strings["cover photo"] = "Foto de la portada";
App::$strings["Photo not available."] = "Foto no disponible.";
App::$strings["Upload File:"] = "Puja Arxiu:";
App::$strings["Select a profile:"] = "Tria un perfil:";
-App::$strings["Upload Profile Photo"] = "Puja una Foto pel Perfil";
+App::$strings["Upload Cover Photo"] = "Puja Foto de Portada";
App::$strings["or"] = "o";
App::$strings["skip this step"] = "salta aquest pas";
App::$strings["select a photo from your photo albums"] = "tria una foto del teu àlbum de fotos";
App::$strings["Crop Image"] = "Retalla Imatge";
App::$strings["Please adjust the image cropping for optimum viewing."] = "Si us plau, retalla la imatge per a una optima visualització";
App::$strings["Done Editing"] = "Edició Feta";
-App::$strings["Image uploaded successfully."] = "Imatge pujada exitosament.";
-App::$strings["Image upload failed."] = "La pujada de la imatge va fracassar.";
-App::$strings["Image size reduction [%s] failed."] = "La reducció de mida de la imatge [%s] va fracassar.";
-App::$strings["Invalid item."] = "Article invàlid.";
-App::$strings["Channel not found."] = "Canal no trobat.";
-App::$strings["Page not found."] = "Pàgina no trobada.";
-App::$strings["Like/Dislike"] = "M'agrada / No m'agrada";
-App::$strings["This action is restricted to members."] = "Aquesta acció està restringida als membres.";
-App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "<a href=\"rmagic\">Entra amb la teva identitat \$Projectname</a> o <a href=\"register\">registra't a \$Projectname</a> per continuar.";
-App::$strings["Invalid request."] = "Sol·licitud invàlida.";
-App::$strings["thing"] = "cosa";
-App::$strings["Channel unavailable."] = "El canal està inactiu.";
-App::$strings["Previous action reversed."] = "S'ha desfet l'acció anterior.";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s està d'acord amb %3\$s de %2\$s";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s no està d'acord amb %3\$s de %2\$s";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s s'abstén en %3\$s de %2\$s";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s assistirà a %3\$s de %2\$s";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s no assistirà a %3\$s de %2\$s";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s potser assistirà a %3\$s de %2\$s";
-App::$strings["Action completed."] = "S'ha completat l'acció.";
-App::$strings["Thank you."] = "Gràcies.";
+App::$strings["Item is not editable"] = "Article no editable";
+App::$strings["Edit post"] = "Modifica l'entrada";
App::$strings["Calendar entries imported."] = "Entrades de Calendari importades.";
App::$strings["No calendar entries found."] = "No es troben entrades decalendari.";
App::$strings["Event can not end before it has started."] = "L'esdeveniment ha de començar abans d'acabar.";
App::$strings["Unable to generate preview."] = "No s'ha pogut generar la vista prèvia.";
App::$strings["Event title and start time are required."] = "Cal indicar l'inici i el final de l'esdeveniment.";
App::$strings["Event not found."] = "No s'ha trobat l'esdeveniment.";
-App::$strings["l, F j"] = "l, F j";
+App::$strings["event"] = "succés";
+App::$strings["Edit event title"] = "Edita el títol d'esdeveniment";
+App::$strings["Event title"] = "Títol esdeveniment";
+App::$strings["Required"] = "Requerit";
+App::$strings["Categories (comma-separated list)"] = "Categories (llista separada per comes)";
+App::$strings["Edit Category"] = "Editar Categoria";
+App::$strings["Category"] = "Categoria";
+App::$strings["Edit start date and time"] = "Editar data i hora d'inici";
+App::$strings["Start date and time"] = "Data i hora d'inici";
+App::$strings["Finish date and time are not known or not relevant"] = "L'ora de finalització no es coneix o es irrelevant.";
+App::$strings["Edit finish date and time"] = "Editar la data i hora de finalització";
+App::$strings["Finish date and time"] = "Data i hora de finalització";
+App::$strings["Adjust for viewer timezone"] = "Ajusta a la zona horària del visitant.";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "És important per esdeveniments locals, però pels globals no és pràctic.";
+App::$strings["Edit Description"] = "Editar la Descripció";
+App::$strings["Description"] = "Descripció";
+App::$strings["Edit Location"] = "Editar la localització";
+App::$strings["Location"] = "Localització";
+App::$strings["Share this event"] = "Comparteix aquest esdeveniment";
+App::$strings["Preview"] = "Avanç";
+App::$strings["Permission settings"] = "Ajustos de permisos";
+App::$strings["Advanced Options"] = "Opcions Avançades";
App::$strings["Edit event"] = "Edita l'esdeveniment";
App::$strings["Delete event"] = "Esborra l'esdeveniment";
App::$strings["calendar"] = "calendari";
-App::$strings["Create New Event"] = "Crea un esdeveniment nou";
-App::$strings["Previous"] = "Anterior";
-App::$strings["Next"] = "Pròxim";
-App::$strings["Export"] = "Exporta";
-App::$strings["Import"] = "Importar";
App::$strings["Event removed"] = "S'ha eliminat l'esdeveniment";
App::$strings["Failed to remove event"] = "No s'ha pogut esborrar l'esdeveniment";
-App::$strings["Event details"] = "Detalls de l'esdeveniment";
-App::$strings["Starting date and Title are required."] = "La data d'inici i el títol són obligatoris.";
-App::$strings["Categories (comma-separated list)"] = "Categories (llista separada per comes)";
-App::$strings["Event Starts:"] = "Inici:";
-App::$strings["Finish date/time is not known or not relevant"] = "La data i hora de final no és coneguda o irrellevant";
-App::$strings["Event Finishes:"] = "Final:";
-App::$strings["Adjust for viewer timezone"] = "Ajusta a la zona horària del visitant.";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "És important per esdeveniments locals, però pels globals no és pràctic.";
-App::$strings["Title:"] = "Títol:";
-App::$strings["Share this event"] = "Comparteix aquest esdeveniment";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s esta seguint %2\$s de %3\$s";
-App::$strings["Public Sites"] = "Llocs públics";
-App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Els llocs llistats permeten registrar usuaris de la xarxa \$Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors.";
-App::$strings["Rate this hub"] = "Valora aquest hub";
-App::$strings["Site URL"] = "Adreça URL del web";
-App::$strings["Access Type"] = "Tipus d'accés";
-App::$strings["Registration Policy"] = "Condicions de registre";
-App::$strings["Location"] = "Localització";
-App::$strings["View hub ratings"] = "Mostra la valoració del hub";
-App::$strings["Rate"] = "Puntua";
-App::$strings["View ratings"] = "Mostra les valoracions";
-App::$strings["Edit post"] = "Modifica l'entrada";
-App::$strings["\$Projectname channel"] = "Canal de \$Projectname";
-App::$strings["Collection created."] = "Creada una col·lecció";
-App::$strings["Could not create collection."] = "No puc crear la col·lecció.";
-App::$strings["Collection updated."] = "Col·lecció actualitzada.";
-App::$strings["Create a collection of channels."] = "Creada una col·lecció de canals.";
-App::$strings["Collection Name: "] = "Nom de la Col·lecció:";
+App::$strings["Photos"] = "Fotos";
+App::$strings["Cancel"] = "Cancel·la";
+App::$strings["This site is not a directory server"] = "Aquest lloc web no és un servidor de directori";
+App::$strings["This directory server requires an access token"] = "Aquest servidor de directori requereix un token de accès";
+App::$strings["Save to Folder:"] = "Guardar en la Carpeta";
+App::$strings["- select -"] = "- selecciona -";
+App::$strings["Save"] = "Guardar";
+App::$strings["Invalid message"] = "Missatge invàlid.";
+App::$strings["no results"] = "sense resultats";
+App::$strings["Delivery report for %1\$s"] = "Informe de lliurament per %1\$s";
+App::$strings["channel sync processed"] = "sincronització del canal processada";
+App::$strings["queued"] = "Posat en cua";
+App::$strings["posted"] = "enviat";
+App::$strings["accepted for delivery"] = "acceptat per entregar";
+App::$strings["updated"] = "actualitzat";
+App::$strings["update ignored"] = "actualització ignorada";
+App::$strings["permission denied"] = "permís denegat";
+App::$strings["recipient not found"] = "Contenidor no trobat";
+App::$strings["mail recalled"] = "Recupera el correu";
+App::$strings["duplicate mail received"] = "rebut correu duplicat";
+App::$strings["mail delivered"] = "correu entregat";
+App::$strings["Layout Name"] = "Nom del Format Gràfic";
+App::$strings["Layout Description (Optional)"] = "Descripció del Format (Opcional)";
+App::$strings["Edit Layout"] = "Edita Format Gràfic";
+App::$strings["Page link"] = "Enllaç de la pàgina";
+App::$strings["Edit Webpage"] = "Edita la Pàgina Web";
+App::$strings["Channel added."] = "S'ha afegit el canal.";
+App::$strings["network"] = "xarxa";
+App::$strings["RSS"] = "RSS";
+App::$strings["Privacy group created."] = "Creat grup privat.";
+App::$strings["Could not create privacy group."] = "No es pot crear el grup privat.";
+App::$strings["Privacy group not found."] = "No es troben grups privats.";
+App::$strings["Privacy group updated."] = "Grup privat actualitzat.";
+App::$strings["Create a group of channels."] = "Crear un grup de canals.";
+App::$strings["Privacy group name: "] = "Nom del grup privat:";
App::$strings["Members are visible to other channels"] = "Els membres son visibles en altres canals";
-App::$strings["Collection removed."] = "Col·lecció esborrada.";
-App::$strings["Unable to remove collection."] = "Incapaç d'esborrar la col·lecció.";
-App::$strings["Collection Editor"] = "Editor de Col·leccions";
+App::$strings["Privacy group removed."] = "Grup privat eliminat.";
+App::$strings["Unable to remove privacy group."] = "No puc eliminar el grup privat.";
+App::$strings["Privacy group editor"] = "Editor del grup privat";
App::$strings["Members"] = "Membres";
App::$strings["All Connected Channels"] = "Tots els Canals Connectats";
App::$strings["Click on a channel to add or remove."] = "Clic sobre el canal per afegir o esborrar.";
-App::$strings["Version %s"] = "Versió %s";
-App::$strings["Installed plugins/addons/apps:"] = "Plugins/addons/apps Instal·lats:";
-App::$strings["No installed plugins/addons/apps"] = "Plugins/addons/apps no instal·lats";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Aquest és un hub de \$Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat.";
-App::$strings["Tag: "] = "Etiqueta:";
-App::$strings["Last background fetch: "] = "Última actualització en rerefons:";
-App::$strings["Running at web location"] = "Correguent en el lloc web";
-App::$strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Ves a <a href=\"https://redmatrix.me\">redmatrix.me</a> per saber-ne més sobre \$Projectname.";
-App::$strings["Bug reports and issues: please visit"] = "Per informar d'errors o problemes ves a";
-App::$strings["\$projectname issues"] = "\$projectname emisions";
-App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com";
-App::$strings["Site Administrators"] = "Administradors del lloc";
-App::$strings["Unable to locate original post."] = "No s'ha pogut trobar l'entrada original.";
-App::$strings["Empty post discarded."] = "S'ha descartat l'entrada perquè no té contingut.";
-App::$strings["Executable content type not permitted to this channel."] = "No està permès el contingut de tipus executable en aquest canal.";
-App::$strings["System error. Post not saved."] = "Hi ha hagut un error del sistema. L'entrada no s'ha desat.";
-App::$strings["Unable to obtain post information from database."] = "No s'ha pogut obtenir informació de l'entrada a la base de dades.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris).";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Has assolit el teu limit de %1$.0f pàgines web.";
-App::$strings["No such group"] = "No existeix el grup";
-App::$strings["No such channel"] = "No existeix el canal";
-App::$strings["Search Results For:"] = "Cerca resultats per:";
-App::$strings["Collection is empty"] = "La coŀlecció és buida";
-App::$strings["Collection: "] = "Coŀlecció:";
-App::$strings["Connection: "] = "Connexió:";
-App::$strings["Invalid connection."] = "La connexió és invàlida.";
-App::$strings["No channel."] = "No s'ha trobat el canal";
-App::$strings["Common connections"] = "Connexions en comú";
-App::$strings["No connections in common."] = "No hi ha connexions en comú.";
-App::$strings["This site is not a directory server"] = "Aquest lloc web no és un servidor de directori";
-App::$strings["Could not access contact record."] = "No s'ha pogut accedir al llibre de contactes.";
-App::$strings["Could not locate selected profile."] = "No s'ha trobat el perfil indicat.";
-App::$strings["Connection updated."] = "S'ha actualitzat la connexió.";
-App::$strings["Failed to update connection record."] = "No s'ha pogut actualitzar el registre de connexió.";
-App::$strings["Blocked"] = "Bloquejades";
-App::$strings["Ignored"] = "Ignorades";
-App::$strings["Hidden"] = "Amagades";
-App::$strings["Archived"] = "Arxivades";
-App::$strings["Suggest new connections"] = "Suggereix noves connexions";
-App::$strings["New Connections"] = "Noves Connexions";
-App::$strings["Show pending (new) connections"] = "Mostra les connexions pendents (noves)";
-App::$strings["All Connections"] = "Totes les Connexions";
-App::$strings["Show all connections"] = "Mostra totes les connexions";
-App::$strings["Unblocked"] = "No bloquejades";
-App::$strings["Only show unblocked connections"] = "Mostra només les connexions no bloquejades";
-App::$strings["Only show blocked connections"] = "Mostra només les connexions bloquejades";
-App::$strings["Only show ignored connections"] = "Mostra només les connexions ignorades";
-App::$strings["Only show archived connections"] = "Mostra només les connexions arxivades";
-App::$strings["Only show hidden connections"] = "Mostra només les connexions amagades";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifica la connexió";
-App::$strings["Search your connections"] = "Cerca entre les teves connexions";
-App::$strings["Finding: "] = "Cercant:";
-App::$strings["Block Name"] = "Nom del Bloc";
-App::$strings["Block Title"] = "Títol del bloc";
-App::$strings["Item not found"] = "No s'ha trobat l'element";
-App::$strings["Item is not editable"] = "Article no editable";
-App::$strings["Delete item?"] = "Esborrar ítem";
-App::$strings["Insert YouTube video"] = "insereix video YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Insereix video Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Insereix audio Vorbis [.ogg]";
-App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++";
-App::$strings["Page owner information could not be retrieved."] = "La informació del propietari de la pàgina no va poder ser recuperada";
-App::$strings["Album not found."] = "Àlbum no trobat";
-App::$strings["Delete Album"] = "Esborra Àlbum";
-App::$strings["Delete Photo"] = "Esborra Foto";
-App::$strings["No photos selected"] = "No has seleccionat fotos";
-App::$strings["Access to this item is restricted."] = "L'accés a aquest element esta restringit.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges.";
-App::$strings["%1$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de l'espai per a imatges.";
-App::$strings["Upload Photos"] = "Puja imatges";
-App::$strings["Enter a new album name"] = "Escriu el nom del nou àlbum";
-App::$strings["or select an existing one (doubleclick)"] = "o bé fes doble clic a un d'existent";
-App::$strings["Create a status post for this upload"] = "Genera una entrada a partir de la pujada";
-App::$strings["Album name could not be decoded"] = "No s'ha pogut descodificar el nom de l'àlbum";
-App::$strings["Contact Photos"] = "Imatges de contactes";
-App::$strings["Show Newest First"] = "Ordena de més nou a més antic";
-App::$strings["Show Oldest First"] = "Ordena de més antic a més nou";
-App::$strings["View Photo"] = "Mostra la imatge";
-App::$strings["Edit Album"] = "Modifica l'àlbum";
-App::$strings["Permission denied. Access to this item may be restricted."] = "S'ha denegat el permís. Pot ser que l'accés estigui restringit.";
-App::$strings["Photo not available"] = "La imatge no està disponible";
-App::$strings["Use as profile photo"] = "Fes-la imatge de perfil";
-App::$strings["Private Photo"] = "Imatge privada";
-App::$strings["View Full Size"] = "Mostra a mida completa";
-App::$strings["Edit photo"] = "Modifica la imatge";
-App::$strings["Rotate CW (right)"] = "Tomba cap a la dreta";
-App::$strings["Rotate CCW (left)"] = "Tomba cap a l'esquerra";
-App::$strings["Caption"] = "Llegenda";
-App::$strings["Add a Tag"] = "Afegeix una etiqueta";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple: @joan, @Paula_Peris, @mar@exemple.org";
-App::$strings["Flag as adult in album view"] = "Marca com a contingut adult";
-App::$strings["In This Photo:"] = "Hi apareixen:";
-App::$strings["Map"] = "Mapa";
-App::$strings["View Album"] = "Mostra'n l'àlbum";
-App::$strings["Recent Photos"] = "Imatges recents";
-App::$strings["Items tagged with: %s"] = "Elements etiquetats amb: %s";
-App::$strings["Search results for: %s"] = "Resultats de cerca per: %s";
-App::$strings["Profile Match"] = "Perfils compatibles";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "No tens paraules clau al perfil principal per poder cercar perfils semblants.";
-App::$strings["is interested in:"] = "té interès en:";
-App::$strings["No matches"] = "No s'han trobat perfils compatibles";
-App::$strings["Away"] = "Absent";
-App::$strings["Online"] = "En connexió";
-App::$strings["Select a bookmark folder"] = "Tria una carpeta d'interès";
-App::$strings["Save Bookmark"] = "Guarda Favorits";
-App::$strings["URL of bookmark"] = "URL de favorit";
-App::$strings["Description"] = "Descripció";
-App::$strings["Or enter new bookmark folder name"] = "O entra un nou nom de favorit";
-App::$strings["No more system notifications."] = "No hi ha més notificacions de sistema.";
-App::$strings["System Notifications"] = "Notificacions de sistema";
-App::$strings["network"] = "xarxa";
-App::$strings["RSS"] = "RSS";
-App::$strings["Layout updated."] = "S'ha actualitzat la disposició.";
-App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripció de Pàgines";
-App::$strings["Layout not found."] = "No s'ha trobat cap disposició de pàgina.";
-App::$strings["Module Name:"] = "Nom del mòdul:";
-App::$strings["Layout Help"] = "Ajuda per la disposició de pàgina";
-App::$strings["- select -"] = "- selecciona -";
+App::$strings["Share content from Firefox to \$Projectname"] = "Compartir contingut des de Firefox a \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Activar el proveïdor de \$Projectname a Firefox";
+App::$strings["Authorize application connection"] = "Autoritza la connexió de l'aplicació";
+App::$strings["Return to your app and insert this Securty Code:"] = "Torna a la teva aplicació i insereix aquest Codi de Seguretat:";
+App::$strings["Please login to continue."] = "Si et plau, identifica't per continuar.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix.";
+App::$strings["Documentation Search"] = "Cerca de Documentació";
+App::$strings["Help:"] = "Ajuda:";
+App::$strings["Help"] = "Ajuda";
+App::$strings["\$Projectname Documentation"] = "\$Projectname Documentació";
+App::$strings["Permission Denied."] = "Permisos Denegats.";
+App::$strings["File not found."] = "Arxiu no torbat.";
+App::$strings["Edit file permissions"] = "Edita els permisos d'arxiu";
+App::$strings["Set/edit permissions"] = "Canvia/edita permisos";
+App::$strings["Include all files and sub folders"] = "Inclou tots als arxius i subdirectoris";
+App::$strings["Return to file list"] = "Tornar al llistat d'arxius";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web";
+App::$strings["Share this file"] = "Comparteix l'arxiu";
+App::$strings["Show URL to this file"] = "Mostra la URL d'aquest arxiu";
+App::$strings["Notify your contacts about this file"] = "Notifica als teus contactes aquest arxiu";
+App::$strings["Apps"] = "Aplicatius";
+App::$strings["Item not available."] = "Article no disponible.";
App::$strings["Your service plan only allows %d channels."] = "El teu paquet de serveis només admet %d canals.";
App::$strings["Nothing to import."] = "No hi ha res a importar.";
App::$strings["Unable to download data from old server"] = "No s'han pogut descarregar les dades del servidor antic";
App::$strings["Imported file is empty."] = "El fitxer importat està buit.";
-App::$strings["The data provided is not compatible with this project."] = "Les dades subministrades no son compatibles amb aquest projecte.";
App::$strings["Warning: Database versions differ by %1\$d updates."] = "Atenció: Les versions de la Base de Dades difereixen en %1\$d actualitzacions.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor.";
-App::$strings["Channel clone failed. Import failed."] = "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar.";
App::$strings["Cloned channel not found. Import failed."] = "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat.";
+App::$strings["No channel. Import failed."] = "Sense canal. No s'ha pogut importar.";
+App::$strings["Import completed."] = "S'ha completat la importació.";
App::$strings["You must be logged in to use this feature."] = "Has d'estar registrat per fer servir aquesta funcionalitat.";
App::$strings["Import Channel"] = "Importa un canal";
App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació";
App::$strings["File to Upload"] = "Fitxer a pujar";
-App::$strings["Or provide the old server/hub details"] = "O proveeix els detalls de l'antic servidor/concentrador";
+App::$strings["Or provide the old server/hub details"] = "O proveeix els detalls de l'antic servidor/node";
App::$strings["Your old identity address (xyz@example.com)"] = "La teva adreça de canal antiga. El format és canal@exemple.org";
App::$strings["Your old login email address"] = "La teva adreça de correu electrònic antiga";
App::$strings["Your old login password"] = "La teva contrasenya antiga";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària.";
-App::$strings["Make this hub my primary location"] = "Fes d'aquest hub la meva ubicació primària";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest node o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària.";
+App::$strings["Make this hub my primary location"] = "Fes d'aquest node la meva ubicació primària";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi.";
-App::$strings["Delete layout?"] = "Esborra format?";
-App::$strings["Layout Description (Optional)"] = "Descripció del Format (Opcional)";
-App::$strings["Layout Name"] = "Nom del Format Gràfic";
-App::$strings["Edit Layout"] = "Edita Format Gràfic";
-App::$strings["You must be logged in to see this page."] = "Has d'estar identificat per a veure aquesta pàgina.";
-App::$strings["Room not found"] = "No s'ha trobat la sala";
-App::$strings["Leave Room"] = "Abandona la sala";
-App::$strings["Delete This Room"] = "Elimina la sala";
-App::$strings["I am away right now"] = "Absent";
-App::$strings["I am online"] = "Estic connectat/da";
-App::$strings["Bookmark this room"] = "Fes favorit aquest xat";
-App::$strings["New Chatroom"] = "Nova sala per a Xerrar";
-App::$strings["Chatroom Name"] = "Nom del Xat";
-App::$strings["%1\$s's Chatrooms"] = "%1\$s de Xats";
-App::$strings["Menu not found."] = "Menú no trobat.";
-App::$strings["Unable to create element."] = "Incapaç de crear l'element.";
-App::$strings["Unable to update menu element."] = "Incapaç d'actualitzar un element del menú.";
-App::$strings["Unable to add menu element."] = "Incapaç d'afegir l'element del menú.";
-App::$strings["Menu Item Permissions"] = "Permisos de l'Article del Menú";
-App::$strings["(click to open/close)"] = "(clica per obrir/tancar)";
-App::$strings["Link Name"] = "Nom de l'Enllaç";
-App::$strings["Link or Submenu Target"] = "Enllaç o Submenú Objectiu";
-App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú";
-App::$strings["Use magic-auth if available"] = "Empra magic-auth si esta disponible";
-App::$strings["Open link in new window"] = "Obrir l'enllaç en una nova finestra";
-App::$strings["Order in list"] = "Ordre per llista";
-App::$strings["Higher numbers will sink to bottom of listing"] = "Els números més alts aniràn al fons de la llista";
-App::$strings["Submit and finish"] = "Envia i termina";
-App::$strings["Submit and continue"] = "Envia i continua";
-App::$strings["Menu:"] = "Menú:";
-App::$strings["Link Target"] = "Enllaç Objectiu";
-App::$strings["Edit menu"] = "Edita menú";
-App::$strings["Edit element"] = "Edita element";
-App::$strings["Drop element"] = "Deixa anar element";
-App::$strings["New element"] = "Nou element";
-App::$strings["Edit this menu container"] = "Edita aquest contenidor de menú";
-App::$strings["Add menu element"] = "Afegeix element de menú";
-App::$strings["Delete this menu item"] = "Esborra aquest article del menú";
-App::$strings["Edit this menu item"] = "Edita aquest article del menú";
-App::$strings["Menu item not found."] = "Article del menú no trobat.";
-App::$strings["Menu item deleted."] = "Article del menú eliminat.";
-App::$strings["Menu item could not be deleted."] = "Article del menú no es pot eliminar.";
-App::$strings["Edit Menu Element"] = "Editar Element del Menú";
-App::$strings["Link text"] = "Enllaç de text";
-App::$strings["Delete webpage?"] = "Esborrar pàgina web?";
-App::$strings["Page link title"] = "Títol de la pàgina enllaçada";
-App::$strings["Edit Webpage"] = "Edita la Pàgina Web";
-App::$strings["This directory server requires an access token"] = "Aquest servidor de directori requereix un token de accès";
-App::$strings["No valid account found."] = "No es troba un compte vàlid.";
-App::$strings["Password reset request issued. Check your email."] = "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic.";
-App::$strings["Site Member (%s)"] = "Lloc d'Usuari (%s)";
-App::$strings["Password reset requested at %s"] = "S'ha soŀlicitat restablir la contrasenya al hub %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans.";
-App::$strings["Password Reset"] = "Restabliment de contrasenya";
-App::$strings["Your password has been reset as requested."] = "S'ha restablert la vostra contrasenya.";
-App::$strings["Your new password is"] = "La nova contrasenya és";
-App::$strings["Save or copy your new password - and then"] = "Desa o copia la nova contrasenya, i després";
-App::$strings["click here to login"] = "fes clic aquí per iniciar sessió";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió.";
-App::$strings["Your password has changed at %s"] = "La teva contrasenya a %s ha canviat";
-App::$strings["Forgot your Password?"] = "No recordes la contrasenya?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions.";
-App::$strings["Email Address"] = "Adreça electrònica";
-App::$strings["Reset"] = "Reajustar";
-App::$strings["Website:"] = "Lloc web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal Remot [%s] (encara no es coneix en aquest lloc)";
-App::$strings["Rating (this information is public)"] = "Valoració (aquesta informació és pública)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)";
-App::$strings["Delete block?"] = "Eliminar bloc?";
-App::$strings["Edit Block"] = "Editar Bloc";
+App::$strings["Unable to locate original post."] = "No s'ha pogut trobar l'entrada original.";
+App::$strings["Empty post discarded."] = "S'ha descartat l'entrada perquè no té contingut.";
+App::$strings["Executable content type not permitted to this channel."] = "No està permès el contingut de tipus executable en aquest canal.";
+App::$strings["Duplicate post suppressed."] = "Publicació duplicada s'ha suprimit.";
+App::$strings["System error. Post not saved."] = "Hi ha hagut un error del sistema. L'entrada no s'ha desat.";
+App::$strings["Unable to obtain post information from database."] = "No s'ha pogut obtenir informació de l'entrada a la base de dades.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris).";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Has assolit el teu limit de %1$.0f pàgines web.";
+App::$strings["Layouts"] = "Format Gràfic";
+App::$strings["Comanche page description language help"] = "Pgina d'ajuda del llenguatge Comanche";
+App::$strings["Layout Description"] = "Descripció del Disseny de la Pàgina";
+App::$strings["Download PDL file"] = "Descarrega l'arxiu PDL";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Benvingut a %s";
+App::$strings["First Name"] = "Nom";
+App::$strings["Last Name"] = "Cognoms";
+App::$strings["Nickname"] = "Àlies";
+App::$strings["Full Name"] = "Nom Sencer";
+App::$strings["Email"] = "Correu electrónic";
+App::$strings["Profile Photo"] = "Foto del Perfil";
+App::$strings["Profile Photo 16px"] = "Foto del Perfil 16px";
+App::$strings["Profile Photo 32px"] = "Foto del Perfil 32px";
+App::$strings["Profile Photo 48px"] = "Foto del Perfil 48px";
+App::$strings["Profile Photo 64px"] = "Foto del Perfil 64px";
+App::$strings["Profile Photo 80px"] = "Foto del Perfil 80px";
+App::$strings["Profile Photo 128px"] = "Foto del Perfil 128px";
+App::$strings["Timezone"] = "Zona horària";
+App::$strings["Homepage URL"] = "URL de la pàgina d'inici";
+App::$strings["Language"] = "Idioma";
+App::$strings["Birth Year"] = "Any de Naixement";
+App::$strings["Birth Month"] = "Mes de Naixement";
+App::$strings["Birth Day"] = "Dia de Naixement";
+App::$strings["Birthdate"] = "Aniversari";
+App::$strings["Gender"] = "Gènere";
+App::$strings["Male"] = "Masculí";
+App::$strings["Female"] = "Femení";
+App::$strings["webpage"] = "pàgina web";
+App::$strings["block"] = "bloc";
+App::$strings["layout"] = "disposició";
+App::$strings["menu"] = "menú";
+App::$strings["%s element installed"] = "%s element instal·lat";
+App::$strings["%s element installation failed"] = "%s instal·lació d'element va fallar";
+App::$strings["Like/Dislike"] = "M'agrada / No m'agrada";
+App::$strings["This action is restricted to members."] = "Aquesta acció està restringida als membres.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "<a href=\"rmagic\">Entra amb la teva identitat \$Projectname</a> o <a href=\"register\">registra't a \$Projectname</a> per continuar.";
+App::$strings["Invalid request."] = "Sol·licitud invàlida.";
+App::$strings["channel"] = "canal";
+App::$strings["thing"] = "cosa";
+App::$strings["Channel unavailable."] = "El canal està inactiu.";
+App::$strings["Previous action reversed."] = "S'ha desfet l'acció anterior.";
+App::$strings["photo"] = "foto";
+App::$strings["status"] = "estat";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s agrada %2\$s de %3\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s no agrada %2\$s de %3\$s";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s està d'acord amb %3\$s de %2\$s";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s no està d'acord amb %3\$s de %2\$s";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s s'abstén en %3\$s de %2\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s assistirà a %3\$s de %2\$s";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s no assistirà a %3\$s de %2\$s";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s potser assistirà a %3\$s de %2\$s";
+App::$strings["Action completed."] = "S'ha completat l'acció.";
+App::$strings["Thank you."] = "Gràcies.";
+App::$strings["Import completed"] = "S'ha completat la importació";
+App::$strings["Import Items"] = "Importa Articles";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Empra aquest formulari per importar entrades existents i contingut d'un arxiu d'exportació.";
App::$strings["Total invitation limit exceeded."] = "El límit total invitacions s'ha superat.";
App::$strings["%s : Not a valid email address."] = "%s: adreça de correu electrònic no vàlida.";
-App::$strings["Please join us on Red"] = "Si us plau, uneix-te a Red";
+App::$strings["Please join us on \$Projectname"] = "Si us plau uneix-te a nosaltres a \$Projectname.";
App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc.";
App::$strings["%s : Message delivery failed."] = "%s : Entrega del Missatge fallida.";
App::$strings["%d message sent."] = array(
@@ -1309,33 +453,76 @@ App::$strings["Send invitations"] = "Enviar invitacions";
App::$strings["Enter email addresses, one per line:"] = "Introduïu les adreces de correu electrònic, una per línia:";
App::$strings["Your message:"] = "El teu missatge:";
App::$strings["Please join my community on \$Projectname."] = "Si us plau uneix-te la meva comunitat en \$Projectname.";
-App::$strings["You will need to supply this invitation code: "] = "Has de proporcionar aquest codi d'invitació:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registre en qualsevol lloc del \$Projectname (estàn tots interconnectats)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Entra a la meva adreça de xarxa al \$Projectname, a la barra de cerca del lloc.";
-App::$strings["or visit "] = "o visita";
-App::$strings["3. Click [Connect]"] = "3. Click [Conectar]";
+App::$strings["You will need to supply this invitation code:"] = "Hauràs de facilitar aquest codi d'invitació:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Pots registrar-te a qualsevol node de \$Projectname (estàn tots interconnectats)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Escriu la meva adreça de xarxa al \$Projectname, a la barra de cerca del lloc.";
+App::$strings["or visit"] = "o visitar";
+App::$strings["3. Click [Connect]"] = "3. Clicar [Conectar]";
+App::$strings["Remote privacy information not available."] = "informació privada remota no disponible.";
+App::$strings["Visible to:"] = "Visible per:";
App::$strings["Location not found."] = "Situació que no es troba.";
-App::$strings["Primary location cannot be removed."] = "La ubicació primària no es pot treure.";
+App::$strings["Location lookup failed."] = "Ha fallat la cerca d'ubicació.";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Seleccioneu una altra ubicació per esdevenir primària abans de retirar la ubicació principal.";
+App::$strings["Syncing locations"] = "Sincronitza ubicacions";
App::$strings["No locations found."] = "No es troben els llocs.";
App::$strings["Manage Channel Locations"] = "Gestionar Ubicacions de Canal";
-App::$strings["Location (address)"] = "Ubicació (direcció)";
-App::$strings["Primary Location"] = "Ubicació Primària";
-App::$strings["Drop location"] = "Treure la ubicació";
-App::$strings["Failed to create source. No channel selected."] = "Error en crear l'origen. Cap canal seleccionat.";
-App::$strings["Source created."] = "Origen creat.";
-App::$strings["Source updated."] = "Origen actualitzat.";
-App::$strings["*"] = "*";
-App::$strings["Manage remote sources of content for your channel."] = "Gestiona contingut per al teu canal d'origens remots";
-App::$strings["New Source"] = "Nou Origen";
-App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals.";
-App::$strings["Only import content with these words (one per line)"] = "Només importa contingut amb aquestes paraules (una per línia)";
-App::$strings["Leave blank to import all public content"] = "Deixar en blanc per importar tot el contingut públic";
-App::$strings["Channel Name"] = "Nom del canal";
-App::$strings["Source not found."] = "No s'ha trobat la font.";
-App::$strings["Edit Source"] = "Edita la font";
-App::$strings["Delete Source"] = "Esborra la font";
-App::$strings["Source removed"] = "S'ha esborrat la font";
-App::$strings["Unable to remove source."] = "No s'ha pogut esborrar la font.";
+App::$strings["Address"] = "Adreça";
+App::$strings["Primary"] = "Primari";
+App::$strings["Drop"] = "Menysprea";
+App::$strings["Sync Now"] = "Sincronitza Ara";
+App::$strings["Please wait several minutes between consecutive operations."] = "Si us plau espera diversos minuts entre operacions consecutives.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quan sigui possible, per desapareixer d'un lloc, accedeix a aquest lloc web/node i elimina el teu canal.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Empra aquest formulari per desapareixer del lloc si el node ja no està operatiu.";
+App::$strings["Hub not found."] = "Node no trobat.";
+App::$strings["Unable to lookup recipient."] = "Incapaç de trobar el destinatari.";
+App::$strings["Unable to communicate with requested channel."] = "Incapaç de comunicar amb el canal demanat.";
+App::$strings["Cannot verify requested channel."] = "No puc verificar el canal demanat.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat.";
+App::$strings["Messages"] = "Missatges";
+App::$strings["Message recalled."] = "Recupera el missatge.";
+App::$strings["Conversation removed."] = "Conversació eliminada.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expira YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "El canal demanat no hi es en questa xarxa";
+App::$strings["Send Private Message"] = "Envia Missatge Privat";
+App::$strings["To:"] = "Per:";
+App::$strings["Subject:"] = "Assumpte:";
+App::$strings["Attach file"] = "Adjunta arxiu";
+App::$strings["Send"] = "Envia";
+App::$strings["Set expiration date"] = "Ajusta la data d'expiració";
+App::$strings["Delete message"] = "Elimina el missatge";
+App::$strings["Delivery report"] = "Informe d'entrega";
+App::$strings["Recall message"] = "Recupera el missatge";
+App::$strings["Message has been recalled."] = "El missatge s'ha recuperat.";
+App::$strings["Delete Conversation"] = "Conversació esborrada";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent.";
+App::$strings["Send Reply"] = "Envia Resposta";
+App::$strings["Your message for %s (%s):"] = "El teu missatge per %s (%s):";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Has creat %1$.0f de %2$.0f canals permesos.";
+App::$strings["Create a new channel"] = "Crear un nou canal";
+App::$strings["Channel Manager"] = "Gestor de Canals";
+App::$strings["Current Channel"] = "Canal Actual";
+App::$strings["Switch to one of your channels by selecting it."] = "Canviar a un altre dels teus canals seleccionant-ho.";
+App::$strings["Default Channel"] = "Canal per Defecte";
+App::$strings["Make Default"] = "Estableix com a Predeterminat";
+App::$strings["%d new messages"] = "%d missatges nous";
+App::$strings["%d new introductions"] = "%d noves presentacions";
+App::$strings["Delegated Channel"] = "Canal Delegat";
+App::$strings["No valid account found."] = "No es troba un compte vàlid.";
+App::$strings["Password reset request issued. Check your email."] = "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic.";
+App::$strings["Site Member (%s)"] = "Lloc d'Usuari (%s)";
+App::$strings["Password reset requested at %s"] = "S'ha soŀlicitat restablir la contrasenya al hub %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans.";
+App::$strings["Password Reset"] = "Restabliment de contrasenya";
+App::$strings["Your password has been reset as requested."] = "S'ha restablert la vostra contrasenya.";
+App::$strings["Your new password is"] = "La nova contrasenya és";
+App::$strings["Save or copy your new password - and then"] = "Desa o copia la nova contrasenya, i després";
+App::$strings["click here to login"] = "fes clic aquí per iniciar sessió";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió.";
+App::$strings["Your password has changed at %s"] = "La teva contrasenya a %s ha canviat";
+App::$strings["Forgot your Password?"] = "No recordes la contrasenya?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions.";
+App::$strings["Email Address"] = "Adreça electrònica";
+App::$strings["Reset"] = "Reajustar";
App::$strings["Unable to update menu."] = "No s'ha pogut actualitzar el menú.";
App::$strings["Unable to create menu."] = "No s'ha pogut crear el menú.";
App::$strings["Menu Name"] = "Nom del menú";
@@ -1345,12 +532,13 @@ App::$strings["Visible on webpage - leave empty for no title"] = "Visible a la p
App::$strings["Allow Bookmarks"] = "Permetre Marcadors";
App::$strings["Menu may be used to store saved bookmarks"] = "El menú es pot emprar per a guardar marcadors";
App::$strings["Submit and proceed"] = "Envia i procedeix";
-App::$strings["Drop"] = "Menysprea";
+App::$strings["Menus"] = "Menús";
App::$strings["Bookmarks allowed"] = "Marcadors permesos";
App::$strings["Delete this menu"] = "Esborra el menú";
App::$strings["Edit menu contents"] = "Edita el contingut del menú";
App::$strings["Edit this menu"] = "Edita el menú";
App::$strings["Menu could not be deleted."] = "El menu no es pot esborrar.";
+App::$strings["Menu not found."] = "Menú no trobat.";
App::$strings["Edit Menu"] = "Edita Menú";
App::$strings["Add or remove entries to this menu"] = "Afegeix o esborra entrades a aquest menú";
App::$strings["Menu name"] = "Nom del Menú";
@@ -1358,33 +546,159 @@ App::$strings["Must be unique, only seen by you"] = "Ha de ser únic, nomes vist
App::$strings["Menu title"] = "Títol del menú";
App::$strings["Menu title as seen by others"] = "Títol del menú vist pels altres";
App::$strings["Allow bookmarks"] = "Marcadors permesos";
-App::$strings["Permission Denied."] = "Permisos Denegats.";
-App::$strings["File not found."] = "Arxiu no torbat.";
-App::$strings["Edit file permissions"] = "Edita els permisos d'arxiu";
-App::$strings["Set/edit permissions"] = "Canvia/edita permisos";
-App::$strings["Include all files and sub folders"] = "Inclou tots als arxius i subdirectoris";
-App::$strings["Return to file list"] = "Tornar al llistat d'arxius";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web";
-App::$strings["Share this file"] = "Comparteix l'arxiu";
-App::$strings["Show URL to this file"] = "Mostra la URL d'aquest arxiu";
-App::$strings["Notify your contacts about this file"] = "Notifica als teus contactes aquest arxiu";
-App::$strings["Contact not found."] = "Contacte no trobat.";
-App::$strings["Friend suggestion sent."] = "Suggeriment d'amistat enviada.";
-App::$strings["Suggest Friends"] = "Amics Suggerits";
-App::$strings["Suggest a friend for %s"] = "Suggereix un amic per a %s";
-App::$strings["Hub not found."] = "Concentrador no trobat.";
-App::$strings["Poke/Prod"] = "Emprenyat/Picat";
-App::$strings["poke, prod or do other things to somebody"] = "emprenyar, picar o fer altres coses a algú";
+App::$strings["Not found."] = "No trobat.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s es %2\$s";
+App::$strings["Mood"] = "Ànim";
+App::$strings["Set your current mood and tell your friends"] = "Estableix el teu estat d'ànim actual i digues-li als teus amics";
+App::$strings["Profile Match"] = "Perfils compatibles";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "No tens paraules clau al perfil principal per poder cercar perfils semblants.";
+App::$strings["is interested in:"] = "té interès en:";
+App::$strings["No matches"] = "No s'han trobat perfils compatibles";
+App::$strings["No such group"] = "No existeix el grup";
+App::$strings["No such channel"] = "No existeix el canal";
+App::$strings["forum"] = "fòrum";
+App::$strings["Search Results For:"] = "Cerca resultats per:";
+App::$strings["Privacy group is empty"] = "el grup privat està vuit";
+App::$strings["Privacy group: "] = "Grup privat:";
+App::$strings["Invalid connection."] = "La connexió és invàlida.";
+App::$strings["No more system notifications."] = "No hi ha més notificacions del sistema.";
+App::$strings["System Notifications"] = "Notificacions del sistema";
+App::$strings["Unable to create element."] = "Incapaç de crear l'element.";
+App::$strings["Unable to update menu element."] = "Incapaç d'actualitzar un element del menú.";
+App::$strings["Unable to add menu element."] = "Incapaç d'afegir l'element del menú.";
+App::$strings["Menu Item Permissions"] = "Permisos de l'Article del Menú";
+App::$strings["(click to open/close)"] = "(clica per obrir/tancar)";
+App::$strings["Link Name"] = "Nom de l'Enllaç";
+App::$strings["Link or Submenu Target"] = "Enllaç o Submenú Objectiu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú";
+App::$strings["Use magic-auth if available"] = "Empra magic-auth si esta disponible";
+App::$strings["Open link in new window"] = "Obrir l'enllaç en una nova finestra";
+App::$strings["Order in list"] = "Ordre per llista";
+App::$strings["Higher numbers will sink to bottom of listing"] = "Els números més alts aniràn al fons de la llista";
+App::$strings["Submit and finish"] = "Envia i termina";
+App::$strings["Submit and continue"] = "Envia i continua";
+App::$strings["Menu:"] = "Menú:";
+App::$strings["Link Target"] = "Enllaç Objectiu";
+App::$strings["Edit menu"] = "Edita menú";
+App::$strings["Edit element"] = "Edita element";
+App::$strings["Drop element"] = "Deixa anar element";
+App::$strings["New element"] = "Nou element";
+App::$strings["Edit this menu container"] = "Edita aquest contenidor de menú";
+App::$strings["Add menu element"] = "Afegeix element de menú";
+App::$strings["Delete this menu item"] = "Esborra aquest article del menú";
+App::$strings["Edit this menu item"] = "Edita aquest article del menú";
+App::$strings["Menu item not found."] = "Article del menú no trobat.";
+App::$strings["Menu item deleted."] = "Article del menú eliminat.";
+App::$strings["Menu item could not be deleted."] = "Article del menú no es pot eliminar.";
+App::$strings["Edit Menu Element"] = "Editar Element del Menú";
+App::$strings["Link text"] = "Enllaç de text";
+App::$strings["Name or caption"] = "Nom o llegenda";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Exemples: \"Pep Gomila\", \"Manel i els seus Cavalls\", \"Fútbol\", \"Grup d'Aviadors\"";
+App::$strings["Choose a short nickname"] = "Tria un àlies curt";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "El teu àlies serà emprat per crear un nom fàcil per recordar l'adreça del canal p.e. àlies%s";
+App::$strings["Channel role and privacy"] = "Funció i privacitat del canal";
+App::$strings["Select a channel role with your privacy requirements."] = "Tria una funció pel canal amb els teus requisits de privacitat.";
+App::$strings["Read more about roles"] = "Llegix més sobre els rols";
+App::$strings["Create Channel"] = "Crea un Canal";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canal es la tva identitat en aquesta xarxa. Pot representar una persona, un bloc, o un fòrum per anomenar alguns. Els canals poden connectar-se amb altres canals per compartir informació amb permisos molt detallats.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "o <a href=\"import\">importa un canal existent</a> des d'un altre ubicació.";
+App::$strings["Invalid request identifier."] = "Sol·licitud d'identificació invàlida.";
+App::$strings["Discard"] = "Descarta";
+App::$strings["Mark all system notifications seen"] = "Marca totes les notificacions vistes";
+App::$strings["Page owner information could not be retrieved."] = "La informació del propietari de la pàgina no va poder ser recuperada";
+App::$strings["Profile Photos"] = "Fotos del Perfil";
+App::$strings["Album not found."] = "Àlbum no trobat";
+App::$strings["Delete Album"] = "Esborra Àlbum";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Existeixen moltes carpetes de emmagatzemament amb aquest nom d'àlbum, però en diferents directoris. Si us plau esborra la carpeta o carpetes amb el gestor d'arxius.";
+App::$strings["Delete Photo"] = "Esborra Foto";
+App::$strings["No photos selected"] = "No has seleccionat fotos";
+App::$strings["Access to this item is restricted."] = "L'accés a aquest element esta restringit.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges.";
+App::$strings["%1$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de l'espai per a imatges.";
+App::$strings["Upload Photos"] = "Puja imatges";
+App::$strings["Enter an album name"] = "Escriu el nom del àlbum";
+App::$strings["or select an existing album (doubleclick)"] = "o bé fes doble clic a un d'existent";
+App::$strings["Create a status post for this upload"] = "Genera una entrada a partir de la pujada";
+App::$strings["Caption (optional):"] = "Subtítol (opcional):";
+App::$strings["Description (optional):"] = "Descripció (opcional):";
+App::$strings["Album name could not be decoded"] = "No s'ha pogut descodificar el nom de l'àlbum";
+App::$strings["Contact Photos"] = "Imatges de contactes";
+App::$strings["Show Newest First"] = "Ordena de més nou a més antic";
+App::$strings["Show Oldest First"] = "Ordena de més antic a més nou";
+App::$strings["View Photo"] = "Mostra la imatge";
+App::$strings["Edit Album"] = "Modifica l'àlbum";
+App::$strings["Permission denied. Access to this item may be restricted."] = "S'ha denegat el permís. Pot ser que l'accés estigui restringit.";
+App::$strings["Photo not available"] = "La imatge no està disponible";
+App::$strings["Use as profile photo"] = "Fes-la imatge de perfil";
+App::$strings["Use as cover photo"] = "Emprar com a foto de portada";
+App::$strings["Private Photo"] = "Imatge privada";
+App::$strings["View Full Size"] = "Mostra a mida completa";
+App::$strings["Remove"] = "Esborra";
+App::$strings["Edit photo"] = "Modifica la imatge";
+App::$strings["Rotate CW (right)"] = "Tomba cap a la dreta";
+App::$strings["Rotate CCW (left)"] = "Tomba cap a l'esquerra";
+App::$strings["Enter a new album name"] = "Escriu el nom del nou àlbum";
+App::$strings["or select an existing one (doubleclick)"] = "o bé fes doble clic a un d'existent";
+App::$strings["Caption"] = "Llegenda";
+App::$strings["Add a Tag"] = "Afegeix una etiqueta";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple: @joan, @Paula_Peris, @mar@exemple.org";
+App::$strings["Flag as adult in album view"] = "Marca com a contingut adult";
+App::$strings["I like this (toggle)"] = "M'agrada això (canvia)";
+App::$strings["I don't like this (toggle)"] = "No m'agrada això (canvia)";
+App::$strings["Please wait"] = "Si us plau, espera";
+App::$strings["This is you"] = "Ets tú";
+App::$strings["Comment"] = "Comentari";
+App::$strings["__ctx:title__ Likes"] = "Agrada";
+App::$strings["__ctx:title__ Dislikes"] = "Desagrada";
+App::$strings["__ctx:title__ Agree"] = "Acord";
+App::$strings["__ctx:title__ Disagree"] = "Desacord";
+App::$strings["__ctx:title__ Abstain"] = "Abstenirse";
+App::$strings["__ctx:title__ Attending"] = "Assistint";
+App::$strings["__ctx:title__ Not attending"] = "Desassistint";
+App::$strings["__ctx:title__ Might attend"] = "Podrien assistir";
+App::$strings["View all"] = "Veure tot";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Agrada",
+ 1 => "Agraden",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Desagrada",
+ 1 => "Desagrada",
+);
+App::$strings["Photo Tools"] = "Eines per Fotos";
+App::$strings["In This Photo:"] = "Hi apareixen:";
+App::$strings["Map"] = "Mapa";
+App::$strings["__ctx:noun__ Likes"] = "Agrada";
+App::$strings["__ctx:noun__ Dislikes"] = "Desagrada";
+App::$strings["Close"] = "Tanca";
+App::$strings["View Album"] = "Mostra'n l'àlbum";
+App::$strings["Recent Photos"] = "Imatges recents";
+App::$strings["sent you a private message"] = "Se t'ha enviat un missatge privat";
+App::$strings["added your channel"] = "el teu canal s'ha afegit";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[avui]";
+App::$strings["posted an event"] = "enviat un esdeveniment";
+App::$strings["Unable to find your hub."] = "No es possible trobar el node";
+App::$strings["Post successful."] = "Entrada realitzada amb èxit. ";
+App::$strings["OpenID protocol error. No ID returned."] = "Error del protocol OpenID. No ha retornat ID";
+App::$strings["Login failed."] = "Identificació fallida.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Aquest ajust requereix un procés espedial i l'edició esta bloquejada.";
+App::$strings["Configuration Editor"] = "Editor de Configuració";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica.";
+App::$strings["Layout updated."] = "S'ha actualitzat la disposició.";
+App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripció de Pàgines";
+App::$strings["Layout not found."] = "No s'ha trobat cap disposició de pàgina.";
+App::$strings["Module Name:"] = "Nom del mòdul:";
+App::$strings["Layout Help"] = "Ajuda per la disposició de pàgina";
+App::$strings["Poke"] = "Esperonar";
+App::$strings["Poke somebody"] = "Emprenyar algú";
+App::$strings["Poke/Prod"] = "Esperonat/Picat";
+App::$strings["Poke, prod or do other things to somebody"] = "emprenyar, picar o fer altres coses a algú";
App::$strings["Recipient"] = "Destinatari";
App::$strings["Choose what you wish to do to recipient"] = "Tria que vols fer amb el destinatari";
App::$strings["Make this post private"] = "Fer aquesta entrada privada";
-App::$strings["Invalid profile identifier."] = "Identificador invàlid de perfil.";
-App::$strings["Profile Visibility Editor"] = "Perfil del Editor de Visibilitat";
-App::$strings["Click on a contact to add or remove."] = "Clica sobre el contacte per afegir o esborrar.";
-App::$strings["Visible To"] = "Visible per";
-App::$strings["%s element installed"] = "%s element instal·lat";
-App::$strings["%s element installation failed"] = "%s instal·lació d'element va fallar";
+App::$strings["Fetching URL returns error: %1\$s"] = "URL sol·licitada retorna error: %1\$s";
App::$strings["Profile not found."] = "Perfil no trobat.";
App::$strings["Profile deleted."] = "Perfil eliminat.";
App::$strings["Profile-"] = "Perfil-";
@@ -1399,168 +713,83 @@ App::$strings["Dislikes"] = "Desagrada";
App::$strings["Work/Employment"] = "Treball/Feina";
App::$strings["Religion"] = "Religió";
App::$strings["Political Views"] = "Idees Polítiques";
-App::$strings["Gender"] = "Gènere";
App::$strings["Sexual Preference"] = "Preferència Sexual";
App::$strings["Homepage"] = "Pàgina Personal";
App::$strings["Interests"] = "Interessos";
-App::$strings["Address"] = "Adreça";
App::$strings["Profile updated."] = "Perfil actualitzat.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Amaga la teva llista de contactes/amics dels visitadors d'aquest perfil?";
+App::$strings["Hide your connections list from viewers of this profile"] = "Amaga dels curiosos la teva llista de connexions d'aquest perfil";
App::$strings["Edit Profile Details"] = "Edita els Detalls del Perfil";
App::$strings["View this profile"] = "Veure aquest perfil";
-App::$strings["Change Profile Photo"] = "Canviar Foto del Perfil";
+App::$strings["Edit visibility"] = "Editar visibilitat";
+App::$strings["Profile Tools"] = "Eines per Perfils";
+App::$strings["Change cover photo"] = "Canviar la foto de portada";
+App::$strings["Change profile photo"] = "Canviar la foto del perfil";
App::$strings["Create a new profile using these settings"] = "Crea un perfil nou amb aquests ajustos";
App::$strings["Clone this profile"] = "Clonar aquest perfil";
App::$strings["Delete this profile"] = "Elimina aquest perfil";
+App::$strings["Add profile things"] = "Afegeix coses al perfil";
+App::$strings["Personal"] = "Personal";
+App::$strings["Relation"] = "Relació";
+App::$strings["Miscellaneous"] = "Miscelania";
App::$strings["Import profile from file"] = "Importa perfil des d'un arxiu";
App::$strings["Export profile to file"] = "Exporta perfil a un arxiu";
-App::$strings["Profile Name:"] = "Nom del Perfil:";
-App::$strings["Your Full Name:"] = "El Teu Nom Complet";
-App::$strings["Title/Description:"] = "Títol/Descripció:";
-App::$strings["Your Gender:"] = "El Teu Gènere:";
-App::$strings["Birthday :"] = "Aniversari:";
-App::$strings["Street Address:"] = "Carrer:";
-App::$strings["Locality/City:"] = "Població/Ciutat:";
-App::$strings["Postal/Zip Code:"] = "Codi Postal:";
-App::$strings["Country:"] = "País:";
-App::$strings["Region/State:"] = "Regió/Estat:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Marital Estatus:";
-App::$strings["Who: (if applicable)"] = "Qui: (si es aplicable)";
+App::$strings["Your gender"] = "El teu gènere";
+App::$strings["Marital status"] = "Estat marital";
+App::$strings["Sexual preference"] = "Preferència sexual";
+App::$strings["Profile name"] = "Nom del perfil";
+App::$strings["This is your default profile."] = "Aquest es el teu perfil per defecte";
+App::$strings["Your full name"] = "El teu nom complet";
+App::$strings["Title/Description"] = "Títol/Descripció";
+App::$strings["Street address"] = "Carrer";
+App::$strings["Locality/City"] = "Població/Ciutat";
+App::$strings["Region/State"] = "Regió/Estat";
+App::$strings["Postal/Zip code"] = "Codi Postal";
+App::$strings["Country"] = "País";
+App::$strings["Who (if applicable)"] = "Qui (si es aplicable)";
App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Examples: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since [date]:"] = "Des de [data]:";
-App::$strings["Homepage URL:"] = "Pàgina Personal URL:";
-App::$strings["Religious Views:"] = "Creences Religioses:";
-App::$strings["Keywords:"] = "Paraules Clau:";
+App::$strings["Since (date)"] = "Des de (data)";
+App::$strings["Tell us about yourself"] = "Quelcom sobre tu";
+App::$strings["Hometown"] = "Ciutat Natal";
+App::$strings["Political views"] = "Idees polítiques";
+App::$strings["Religious views"] = "Creences religioses";
+App::$strings["Keywords used in directory listings"] = "Paraules clau emprades en els llistats de directoris";
App::$strings["Example: fishing photography software"] = "Exemple: software de fotografia submarina";
-App::$strings["Used in directory listings"] = "Emprat en els llistats de directoris";
-App::$strings["Tell us about yourself..."] = "Quelcom sobre tú:";
-App::$strings["Hobbies/Interests"] = "Aficions/Interessos";
-App::$strings["Contact information and Social Networks"] = "Informació de Contacte i Xarxes Socials";
-App::$strings["My other channels"] = "Els meus altres canals";
App::$strings["Musical interests"] = "Interessos Musicals";
App::$strings["Books, literature"] = "Llibres, literatura";
App::$strings["Television"] = "Televisió";
-App::$strings["Film/dance/culture/entertainment"] = "Pel·lícules/Dansa/Cultura/Entreteniment";
-App::$strings["Love/romance"] = "Amor/Romace";
-App::$strings["Work/employment"] = "Treball/feina";
-App::$strings["School/education"] = "Escola/educació";
-App::$strings["This is your default profile."] = "Aquest es el teu perfil per defecte";
-App::$strings["Age: "] = "Edat:";
-App::$strings["Edit/Manage Profiles"] = "Edita/Gestiona Perfils";
-App::$strings["Add profile things"] = "Afegeix coses al perfil";
-App::$strings["Include desirable objects in your profile"] = "Inclou objectius desitjables al teu perfil";
-App::$strings["No ratings"] = "No valorat";
+App::$strings["Film/Dance/Culture/Entertainment"] = "Pel·lícules/Dansa/Cultura/Entreteniment";
+App::$strings["Hobbies/Interests"] = "Aficions/Interessos";
+App::$strings["Love/Romance"] = "Amor/Romace";
+App::$strings["School/Education"] = "Escola/Educació";
+App::$strings["Contact information and social networks"] = "Informació de contacte i xarxes socials";
+App::$strings["My other channels"] = "Els meus altres canals";
+App::$strings["Profile Image"] = "Imatge del Perfil";
+App::$strings["Edit Profiles"] = "Editar Perfils";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»";
+App::$strings["Upload Profile Photo"] = "Puja una Foto pel Perfil";
+App::$strings["Invalid profile identifier."] = "Identificador invàlid de perfil.";
+App::$strings["Profile Visibility Editor"] = "Perfil del Editor de Visibilitat";
+App::$strings["Profile"] = "Perfil";
+App::$strings["Click on a contact to add or remove."] = "Clica sobre el contacte per afegir o esborrar.";
+App::$strings["Visible To"] = "Visible per";
+App::$strings["Public Hubs"] = "Nodes Públics";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Els nodes llistats permeten registrar usuaris de la xarxa \$Projectname. Com que tots els nodes estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns nodes poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, <strong>proveu</strong> de seguir els enllaços dels proveïdors.";
+App::$strings["Hub URL"] = "URL del Node";
+App::$strings["Access Type"] = "Tipus d'accés";
+App::$strings["Registration Policy"] = "Condicions de registre";
+App::$strings["Stats"] = "Estadístiques";
+App::$strings["Software"] = "Programari";
App::$strings["Ratings"] = "Valoracions";
+App::$strings["Rate"] = "Puntua";
+App::$strings["Website:"] = "Lloc web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal Remot [%s] (encara no es coneix en aquest lloc)";
+App::$strings["Rating (this information is public)"] = "Valoració (aquesta informació és pública)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)";
+App::$strings["No ratings"] = "No valorat";
App::$strings["Rating: "] = "Valoració:";
App::$strings["Website: "] = "Lloc web:";
App::$strings["Description: "] = "Descripció:";
-App::$strings["Source of Item"] = "Origen de l'article";
-App::$strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuració";
-App::$strings["Could not connect to database."] = "No puc connectar amb la base de dades";
-App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS.";
-App::$strings["Could not create table."] = "No puc crear la taula.";
-App::$strings["Your site database has been installed."] = "La teva base de dades del lloc s'ha instal·lat.";
-App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades.";
-App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Si us plau, consulteu el fitxer \"install / INSTALL.txt\".";
-App::$strings["System check"] = "Comprovació del sistema";
-App::$strings["Check again"] = "Comprova de nou";
-App::$strings["Database connection"] = "Connexió de base de dades";
-App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per tal d'instaŀlar \$Projectname cal configurar la connexió a la base de dades.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar.";
-App::$strings["Database Server Name"] = "Base de Dades Nom del Servidor";
-App::$strings["Default is localhost"] = "Per defecte es localhost";
-App::$strings["Database Port"] = "Port per a la Base de Dades";
-App::$strings["Communication port number - use 0 for default"] = "Numero del port de comunicacions - empra 0 per defecte";
-App::$strings["Database Login Name"] = "Base de Dades Nom d'Accès";
-App::$strings["Database Login Password"] = "Base de Dades Contrasenya d'Accès";
-App::$strings["Database Name"] = "Nom de la Base de Dades";
-App::$strings["Database Type"] = "Tipus de Base de Dades";
-App::$strings["Site administrator email address"] = "Adreça de correu de l'administrador del lloc";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador.";
-App::$strings["Website URL"] = "URL del lloc web";
-App::$strings["Please use SSL (https) URL if available."] = "Si us plau, empra SSL (https) URL si està disponible.";
-App::$strings["Please select a default timezone for your website"] = "Si us plau, tria la zona horària del teu lloc web";
-App::$strings["Site settings"] = "Ajustos del lloc";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web.";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron.";
-App::$strings["PHP executable path"] = "Camí cap l'executable de PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació.";
-App::$strings["Command line PHP"] = "Línia d'ordres de PHP";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat.";
-App::$strings["This is required for message delivery to work."] = "Això es requereix per que funcioni l'entrega de missatges.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada.";
-App::$strings["You can adjust these settings in the servers php.ini."] = "Pots ajustar aquests valors a l'arxiu php.ini del servidor";
-App::$strings["PHP upload limits"] = "Límits de pujada de PHP";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Generate encryption keys"] = "Generar claus de xifrat";
-App::$strings["libCurl PHP module"] = "mòdul PHP libCurl ";
-App::$strings["GD graphics PHP module"] = "mòdul PHP GD gràfics";
-App::$strings["OpenSSL PHP module"] = "mòdul PHP OpenSSL";
-App::$strings["mysqli or postgres PHP module"] = "mòdul PHP mysqli o postgres";
-App::$strings["mb_string PHP module"] = "mòdul PHP mb_string";
-App::$strings["mcrypt PHP module"] = "mòdul PHP mcrypt";
-App::$strings["xml PHP module"] = "Mòdul xml de PHP";
-App::$strings["Apache mod_rewrite module"] = "mòdul Apache mod_rewrite";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat.";
-App::$strings["proc_open"] = "proc_open";
-App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Error: el mòdul PHP libCURL es requereix però no està instal·lat.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Error: el mòdul PHP openssl es requereix però no està instal·lat.";
-App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Error: el mòdul PHP mb_string es requereix però no està instal·lat.";
-App::$strings["Error: mcrypt PHP module required but not installed."] = "Error: el mòdul PHP mcrypt es requereix però no està instal·lat.";
-App::$strings["Error: xml PHP module required for DAV but not installed."] = "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\".";
-App::$strings[".htconfig.php is writable"] = "L'arxiu «.htconfig.php» es pot modificar";
-App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red.";
-App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta.";
-App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté.";
-App::$strings["%s is writable"] = "Es pot escriure a %s";
-App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web.";
-App::$strings["store is writable"] = "Es pot escriure al magatzem (store)";
-App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc";
-App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!";
-App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub.";
-App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu.";
-App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important.";
-App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts.";
-App::$strings["SSL certificate validation"] = "Validació del certificat SSL";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:";
-App::$strings["Url rewrite is working"] = "Es poden reescriure les URL a «.htaccess»";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut.";
-App::$strings["Errors encountered creating database tables."] = "S'han produït errors mentre es creaven taules a la base de dades.";
-App::$strings["<h1>What next</h1>"] = "<h1>I ara què?</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\".";
-App::$strings["OpenID protocol error. No ID returned."] = "Error del protocol OpenID. No ha retornat ID";
-App::$strings["Welcome %s. Remote authentication successful."] = "Benvingut %s. Autenticació remota reeixida.";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetat %3\$s de %2\$s amb %4\$s";
-App::$strings["Export Channel"] = "Exportar Canal";
-App::$strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exporta la informació bàsica del canal a un petit arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/centre, però no conté el contingut del canal.";
-App::$strings["Export Content"] = "Exportar el Contingut";
-App::$strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporta la informació del canal i tot el contingut a un arxiu de recolzament JSON. Això còpia totes les teves connexions, permisos, perfil i dades i tot el contingut, però normalment no es pot importar en un altre canal d'un nou lloc/centre donat que l'arxiu acostuma a ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar.";
-App::$strings["No connections."] = "Sense connexions.";
-App::$strings["Visit %s's profile [%s]"] = "Visita el perfil [%s] de %s";
-App::$strings["invalid target signature"] = "Signatura objectiu invàlida";
App::$strings["Theme settings updated."] = "Ajustos de tema actualitzats.";
-App::$strings["Site"] = "Lloc";
-App::$strings["Accounts"] = "Comptes";
-App::$strings["Channels"] = "Canals";
-App::$strings["Plugins"] = "Plugins";
-App::$strings["Themes"] = "Temes";
-App::$strings["Inspect queue"] = "Revisa cua";
-App::$strings["Profile Config"] = "Configuració del Perfil";
-App::$strings["DB updates"] = "Actualitzacions de Base de Dades";
-App::$strings["Logs"] = "Logs";
-App::$strings["Plugin Features"] = "Característiques del Plugin";
-App::$strings["User registrations waiting for confirmation"] = "Registre d'usuaris esperant confirmació";
App::$strings["# Accounts"] = "# Comptes";
App::$strings["# blocked accounts"] = "# comptes bloquejats";
App::$strings["# expired accounts"] = "# comptes expirats";
@@ -1569,6 +798,7 @@ App::$strings["# Channels"] = "# Canals";
App::$strings["# primary"] = "# primari";
App::$strings["# clones"] = "# clons";
App::$strings["Message queues"] = "Cues de missatges";
+App::$strings["Your software should be updated"] = "El teu programari cal que s'actualitzi";
App::$strings["Administration"] = "Administració";
App::$strings["Summary"] = "Sumari";
App::$strings["Registered accounts"] = "Comptes registrades";
@@ -1576,7 +806,10 @@ App::$strings["Pending registrations"] = "Comptes pendents de registre";
App::$strings["Registered channels"] = "Canals registrats";
App::$strings["Active plugins"] = "Plugins actius";
App::$strings["Version"] = "Versió";
+App::$strings["Repository version (master)"] = "Versió (master) del repositori";
+App::$strings["Repository version (dev)"] = "Versió (desenvolupament) del repositori";
App::$strings["Site settings updated."] = "Ajustos del Lloc actualitzats";
+App::$strings["Default"] = "Predeterminat";
App::$strings["mobile"] = "mòbil";
App::$strings["experimental"] = "experimental";
App::$strings["unsupported"] = "no soportat";
@@ -1585,9 +818,11 @@ App::$strings["My site is not a public server"] = "El meu lloc no es un servidor
App::$strings["My site has paid access only"] = "El meu lloc te accès per pagament";
App::$strings["My site has free access only"] = "El meu lloc te lliure accés";
App::$strings["My site offers free accounts with optional paid upgrades"] = "El meu lloc te comptes gratis amb opció de millores per pagament";
+App::$strings["Site"] = "Lloc";
App::$strings["Registration"] = "Registre";
App::$strings["File upload"] = "Pujar arxiu";
App::$strings["Policies"] = "Polítiques";
+App::$strings["Advanced"] = "Avançat";
App::$strings["Site name"] = "Nom del lloc";
App::$strings["Banner/Logo"] = "Senyera/Logo";
App::$strings["Administrator Information"] = "Informació de l'Administrador";
@@ -1597,13 +832,13 @@ App::$strings["System theme"] = "Tema del sistema";
App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema del sistema per defecte - pot ser sobrescrit pel perfils dels usuaris - <a href='#' id='cnftheme'>Ajustos de canvi del tema</a>";
App::$strings["Mobile system theme"] = "Tema del sistema per a mòbils";
App::$strings["Theme for mobile devices"] = "Tema per a aparells mòbils";
-App::$strings["Enable Diaspora Protocol"] = "Activat el Protocol Diaspora";
-App::$strings["Communicate with Diaspora and Friendica - experimental"] = "Comunicar amb Diaspora i Friendica - experimental";
App::$strings["Allow Feeds as Connections"] = "Permetre Retroalimentadors com Connexions";
App::$strings["(Heavy system resource usage)"] = "(Demana molts recursos del sistema)";
App::$strings["Maximum image size"] = "Mida màxima d'imatge";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Mida màxima en bytes de imatges pujades. Per defecte es 0, el que vol dir sense límits.";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Mida màxima en bytes d'imatges pujades. Per defecte es 0, el que vol dir sense límits.";
App::$strings["Does this site allow new member registration?"] = "Permet aquest lloc registre de nous membres?";
+App::$strings["Invitation only"] = "Només per invitació";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Només permet registre de nos membres amb codi d'invitació. A més la política de registre s'ha d'establir a Sí.";
App::$strings["Which best describes the types of account offered by this hub?"] = "Que es es que millor descriu la mena de comptes oferits per aquest concentrador?";
App::$strings["Register text"] = "text de registre";
App::$strings["Will be displayed prominently on the registration page."] = "Es mostrarà preminentment a la pàgina de registre";
@@ -1616,37 +851,63 @@ App::$strings["Will not waste system resources polling external sites for abando
App::$strings["Allowed friend domains"] = "dominis amics permesos";
App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "llista separada per comes de dominis en els que està permès establir relacions d'amistat amb aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini";
App::$strings["Allowed email domains"] = "Dominis de correu electonic acceptats";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "llista separada per comes de dominis de adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "llista separada per comes de dominis d'adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini";
App::$strings["Not allowed email domains"] = "Dominis de correu electrònic no acceptats";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "llista separada per comes de dominis de adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats.";
-App::$strings["Block public"] = "Bloc públic";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Activa per a bloquejar l'accés públic a totes les pàgines públiques personals excepte si estàs identificat en el sistema.";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "llista separada per comes de dominis d'adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats.";
App::$strings["Verify Email Addresses"] = "Verifica l'Adreça de Correu Electrònic";
App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Activa per comprovar l'adreça de correu electrònic emprada durant el registre d'un nou compte (recomanat)";
App::$strings["Force publish"] = "Forza la publicació";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Activa per forzar que tots el perfils en aquest lloc siguin llistats en el directori del lloc.";
-App::$strings["Disable discovery tab"] = "Desactiva la pestañnya de descobrir";
-App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Treu la pesranya per veure contingut públic de la xarxa extret d'origens triats per aquest lloc.";
-App::$strings["login on Homepage"] = "Accés a la Pàgina d'inici";
+App::$strings["Import Public Streams"] = "Importar Fluxos Públics";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importa i permet l'accés a contingut públic sondejat d'altres llocs. Avís: aquest contingut no estarà moderat.";
+App::$strings["Login on Homepage"] = "Accés a la Pàgina d'inici";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut.";
+App::$strings["Enable context help"] = "Activar l'ajuda contextual";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Mostra l'ajuda contextual per la pàgina actual quan el botó d'ajuda es pressionat.";
+App::$strings["Directory Server URL"] = "URL del Servidor de Directoris";
+App::$strings["Default directory server"] = "Servidor de directori per defecte";
App::$strings["Proxy user"] = "Usuari Proxy";
App::$strings["Proxy URL"] = "URL del Proxy";
App::$strings["Network timeout"] = "Temps d'espera de la xarxa";
App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)";
App::$strings["Delivery interval"] = "Interval de lliurament";
App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats.";
+App::$strings["Deliveries per process"] = "Entregues per processar";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Nombre de entregues a intentar processar en un únic procèss del sistema operatiu. Ajustar si es necessari per millorar el rendiment. Es recomana: 1-5.";
App::$strings["Poll interval"] = "interval de sondeig";
App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament.";
App::$strings["Maximum Load Average"] = "Càrrega Mitja Màxima";
App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte.";
-App::$strings["Expiration period in days for imported (matrix/network) content"] = "Periode d'expiració per a contingut importat (matrix/xarxa)";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Període d'expiració en dies per contingut importat (malla/xarxa)";
App::$strings["0 for no expiration of imported content"] = "0 vol dir sense temps d'expiració pel contingut importat";
+App::$strings["Off"] = "Apagat";
+App::$strings["On"] = "Funcionant";
+App::$strings["Lock feature %s"] = "Bloca característica %s";
+App::$strings["Manage Additional Features"] = "Gestiona Funcionalitats Addicionals";
App::$strings["No server found"] = "No es troba servidor";
App::$strings["ID"] = "ID";
App::$strings["for channel"] = "per a canal";
App::$strings["on server"] = "al servidor";
-App::$strings["Status"] = "Estat";
App::$strings["Server"] = "Servidor";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Per defecte, HTML no filtrat està permés als media embeguts. Això es inherentment no segur.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'ajust recomanat és només permetre HTML sense filtrar dels següents llocs:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tota la resta de contingut embegut seà filtrat, <strong>excepte</strong> contingut embegut d'aquest lloc que està blocat explícitament.";
+App::$strings["Security"] = "Seguretat";
+App::$strings["Block public"] = "Bloca que sigui públic";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "activa per blocar l'accés a les pàgines personals públiques a tothom excepte aquells/es que s'hagin autenticat en aquest node.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Set \"Transport Security\" HTTP header";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Set \"Content Security Policy\" HTTP header";
+App::$strings["Allow communications only from these sites"] = "Permetre comunicacions únicament des de aquests llocs";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un lloc per línia. Deixar en blanc per permetre, per defecte, la comunicació amb tothom.";
+App::$strings["Block communications from these sites"] = "Bloca comunicacions que venen d'aquests llocs";
+App::$strings["Allow communications only from these channels"] = "Permet la comunicació només per aquests canals";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (hash) per línia. Deixa en blanc per permetre, per defecte, la comunicació qualsevol canal.";
+App::$strings["Block communications from these channels"] = "Bloca les comunicacions que venen d'aquests canals";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Permetre embeguts només de llocs web i enllaços segurs (SSL).";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Permetre HTML embegut sense filtrar només d'aquests dominis.";
+App::$strings["One site per line. By default embedded content is filtered."] = "Un lloc per línia. Per defecte el contingut embegut es filtrat.";
+App::$strings["Block embedded HTML from these domains"] = "Bloca HTML embegut d'aquests dominis";
App::$strings["Update has been marked successful"] = "Actualització marcada amb exit";
App::$strings["Executing %s failed. Check system logs."] = "Executant %s ha fallat. Comprova els logs del sistema.";
App::$strings["Update %s was successfully applied."] = "Actualització %s es va realitzar correctament.";
@@ -1660,35 +921,34 @@ App::$strings["Queue Statistics"] = "Cua d'Estadístiques";
App::$strings["Total Entries"] = "Total d'Entrades";
App::$strings["Priority"] = "Prioritat";
App::$strings["Destination URL"] = "URL de Destí";
-App::$strings["Mark hub permanently offline"] = "Marca el concentrador coma permanentment fora de línia";
-App::$strings["Empty queue for this hub"] = "Cua buida per aquest concentrador";
+App::$strings["Mark hub permanently offline"] = "Marca el node com a permanentment fora de línia";
+App::$strings["Empty queue for this hub"] = "Cua buida per aquest node";
App::$strings["Last known contact"] = "Últim contacte conegut";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "%s usuari bloquejat/desbloquejat",
- 1 => "%s usuaris bloquejats/desbloquejats",
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "S'ha [des]bloquejat %s compte",
+ 1 => "S'han [des]bloquejat %s comptes",
);
-App::$strings["%s user deleted"] = array(
- 0 => "%s usuari esborrat",
- 1 => "%s usuaris esborrats",
+App::$strings["%s account deleted"] = array(
+ 0 => "S'ha esborrat el compte %s",
+ 1 => "S'han esborrat %s comptes",
);
App::$strings["Account not found"] = "Compte no trobat";
-App::$strings["User '%s' blocked"] = "Usuari '%s' bloquejat";
-App::$strings["User '%s' unblocked"] = "Usuari '%s' desbloquejat";
-App::$strings["Users"] = "Usuaris";
+App::$strings["Account '%s' deleted"] = "S'ha esborrat el compte '%s'";
+App::$strings["Account '%s' blocked"] = "S'ha bloquejat el compte '%s'";
+App::$strings["Account '%s' unblocked"] = "S'ha desbloquejat el compte '%s'";
+App::$strings["Accounts"] = "Comptes";
App::$strings["select all"] = "Sel·leciona-ho tot";
-App::$strings["User registrations waiting for confirm"] = "Registres d'usuaris pendents de confirmació";
+App::$strings["Registrations waiting for confirm"] = "";
App::$strings["Request date"] = "Data de la petició";
App::$strings["No registrations."] = "Sense registracions.";
-App::$strings["Approve"] = "Aprovat";
App::$strings["Deny"] = "Denegat";
-App::$strings["Block"] = "Bloquejat";
-App::$strings["Unblock"] = "Desbloquejat";
+App::$strings["All Channels"] = "Tots els Canals";
App::$strings["Register date"] = "Data de registre";
App::$strings["Last login"] = "Darrera identificació";
App::$strings["Expires"] = "Expira";
App::$strings["Service Class"] = "Classe de Servei";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Tria els usuaris que s'esborraran!\\n\\nTotes les publicacions d'aquests usuaris en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? ";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'usuari {0} sera esborrat!\\n\\nTotes les publicacions d'aquest usuari en aquest lloc s'eliminarà de forma permanent!\\n\\nEstas segur?";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Els comptes seleccionats seran eliminats!\\n\\nTot el que hagin publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur de continuar?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'usuari {0} serà eliminat!\\n\\nTot el que hagi publicat l'usuari en aquest lloc serà esborrat de permanentment!\\n\\nN'estàs segur?";
App::$strings["%s channel censored/uncensored"] = array(
0 => "%s canal censurat/no censurat",
1 => "%s canals censurats/no censurats",
@@ -1707,10 +967,12 @@ App::$strings["Channel '%s' censored"] = "Canal '%s' censurat";
App::$strings["Channel '%s' uncensored"] = "Canal '%s' no censurat";
App::$strings["Channel '%s' code allowed"] = "Canal '%s' permet codi";
App::$strings["Channel '%s' code disallowed"] = "Canal '%s' no permet codi";
+App::$strings["Channels"] = "Canals";
App::$strings["Censor"] = "Censurat";
App::$strings["Uncensor"] = "No censurat";
App::$strings["Allow Code"] = "Permet Codi";
App::$strings["Disallow Code"] = "No Permet Codi";
+App::$strings["Channel"] = "Canal";
App::$strings["UID"] = "UID";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? ";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?";
@@ -1718,18 +980,39 @@ App::$strings["Plugin %s disabled."] = "Plugin %s desactivat.";
App::$strings["Plugin %s enabled."] = "Plugin %s activat.";
App::$strings["Disable"] = "Desactivat";
App::$strings["Enable"] = "Activat";
+App::$strings["Plugins"] = "Plugins";
App::$strings["Toggle"] = "Commutar";
+App::$strings["Settings"] = "Ajustos";
App::$strings["Author: "] = "Autor: ";
App::$strings["Maintainer: "] = "Mantenedor:";
+App::$strings["Minimum project version: "] = "Versió mínima del projecte:";
+App::$strings["Maximum project version: "] = "Versió màxima del projecte:";
+App::$strings["Minimum PHP version: "] = "Versió mínima de PHP:";
+App::$strings["Requires: "] = "Requereix:";
+App::$strings["Disabled - version incompatibility"] = "Desactiva - incompatibilitat de versió";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Introdueix la URL del repositori git públic del repositori de plugins.";
+App::$strings["Plugin repo git URL"] = "URL del repositori de plugins.";
+App::$strings["Custom repo name"] = "Nom del repositori personalitzat";
+App::$strings["(optional)"] = "(opcional)";
+App::$strings["Download Plugin Repo"] = "Descarrega el Repositori de Plugins";
+App::$strings["Install new repo"] = "Instal·la un nou repositori ";
+App::$strings["Install"] = "Instal·lar";
+App::$strings["Manage Repos"] = "Gestiona Repositoris";
+App::$strings["Installed Plugin Repositories"] = "Repositori de Plugins Instal·lat";
+App::$strings["Install a New Plugin Repository"] = "Instal·la un Nou Repositori de Plugins";
+App::$strings["Update"] = "Actualització";
+App::$strings["Switch branch"] = "Canvia de branca";
App::$strings["No themes found."] = "No s'han trobat temes.";
App::$strings["Screenshot"] = "Copia de pantalla";
+App::$strings["Themes"] = "Temes";
App::$strings["[Experimental]"] = "[Experimental]";
App::$strings["[Unsupported]"] = "[No soportat]";
App::$strings["Log settings updated."] = "Registre d'ajustos actualitzat.";
+App::$strings["Logs"] = "Logs";
App::$strings["Clear"] = "Neteja";
App::$strings["Debugging"] = "Depurant";
App::$strings["Log file"] = "Arxiu de registre";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Ha de ser escribible pel servidor web. Relatiu al directori de nivell superior de Red";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "";
App::$strings["Log level"] = "Nivell de registre";
App::$strings["New Profile Field"] = "Camp de Perfil Nou";
App::$strings["Field nickname"] = "Àlies de Camp";
@@ -1741,25 +1024,53 @@ App::$strings["Help text"] = "Text d'ajuda";
App::$strings["Additional info (optional)"] = "Informació adicional (opcional)";
App::$strings["Field definition not found"] = "No es troba la definició del camp";
App::$strings["Edit Profile Field"] = "Camp d'Edició del Perfil";
-App::$strings["Unable to find your hub."] = "No es possible trobar el concentrador";
-App::$strings["Post successful."] = "Entrada realitzada amb èxit. ";
+App::$strings["Profile Fields"] = "Camps del Perfil";
+App::$strings["Basic Profile Fields"] = "Camps Bàsics del Perfil";
+App::$strings["Advanced Profile Fields"] = "Camps Avançats del Perfil";
+App::$strings["(In addition to basic fields)"] = "( addicionalment als camps bàsics)";
+App::$strings["All available fields"] = "Tots els camps disponibles";
+App::$strings["Custom Fields"] = "Camps Personalitzats";
+App::$strings["Create Custom Field"] = "Crear un Camp Personalitzat";
+App::$strings["App installed."] = "Aplicació instal·lada.";
+App::$strings["Malformed app."] = "Aplicació amb errors";
+App::$strings["Embed code"] = "Codi embegut";
+App::$strings["Edit App"] = "Edita l'Aplicació";
+App::$strings["Create App"] = "Crea l'Aplicació";
+App::$strings["Name of app"] = "Nom de l'Aplicació";
+App::$strings["Location (URL) of app"] = "Ubicació (URL) de l'aplicació";
+App::$strings["Photo icon URL"] = "Foto icona URL";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
+App::$strings["Categories (optional, comma separated list)"] = "Categories (opcional, lista separada per comes)";
+App::$strings["Version ID"] = "Versió ID";
+App::$strings["Price of app"] = "Preu de l'aplicació";
+App::$strings["Location (URL) to purchase app"] = "Ubicació (URL) per comprar l'aplicació";
+App::$strings["Select a bookmark folder"] = "Tria una carpeta d'interès";
+App::$strings["Save Bookmark"] = "Guarda Favorits";
+App::$strings["URL of bookmark"] = "URL de favorit";
+App::$strings["Or enter new bookmark folder name"] = "O entra un nou nom de favorit";
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre màxim de registres diaris excedit. Si us plau, provau demà.";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "El registre ha fallat. Si et plau, indica que acceptes les Condicions del Servei.";
App::$strings["Passwords do not match."] = "Les contrasenyes no coincideixen.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "registrat amb èxit. Si et plau revisa el teu e-correu per a instruccions de validació.";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "Registrat amb èxit. Si et plau revisa el teu correu electrònic per a les instruccions de validació.";
App::$strings["Your registration is pending approval by the site owner."] = "El teu registre esta pendent de validació pel propietari del lloc.";
App::$strings["Your registration can not be processed."] = "El teu registre no ha pogut ser processat. ";
-App::$strings["Registration on this site/hub is by approval only."] = "El registre en aquest lloc/centre es únicament per validació.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registre en altre lloc/centre afiliat</a>";
+App::$strings["Registration on this hub is disabled."] = "El registre en aquest node està deshabilitat.";
+App::$strings["Registration on this hub is by approval only."] = "El registre en aquest node es únicament per validació.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registre en altre node afiliat</a>";
App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "El lloc ha excedit el límit màxim diari de nous comptes/registres. Provau demà.";
App::$strings["Terms of Service"] = "Condicions del Servei";
App::$strings["I accept the %s for this website"] = "Accepto el %s per a aquest lloc web";
App::$strings["I am over 13 years of age and accept the %s for this website"] = "Tinc més de 13 anys i accepto les %s d'aquest lloc web";
-App::$strings["Membership on this site is by invitation only."] = "La pertinença en aquest lloc es per invitació exclusivament.";
-App::$strings["Please enter your invitation code"] = "Si et plau, introdueix el teu codi d'invitació";
App::$strings["Your email address"] = "La teva adreça de correu electrónic";
App::$strings["Choose a password"] = "Tria una contrasenya";
App::$strings["Please re-enter your password"] = "Si et plau, re-entra la contrasenya";
+App::$strings["Please enter your invitation code"] = "Si et plau, introdueix el teu codi d'invitació";
+App::$strings["no"] = "no";
+App::$strings["yes"] = "sí";
+App::$strings["Membership on this site is by invitation only."] = "La pertinença en aquest lloc es per invitació exclusivament.";
+App::$strings["Register"] = "Registre";
+App::$strings["Proceed to create your first channel"] = "Comença a crear el teu primer canal";
+App::$strings["Please login."] = "Inicia Sessió.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de comptes no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
App::$strings["Remove This Account"] = "Esborra el compte";
App::$strings["WARNING: "] = "ALERTA:";
@@ -1767,24 +1078,33 @@ App::$strings["This account and all its channels will be completely removed from
App::$strings["This action is permanent and can not be undone!"] = "Aquesta acció és irreversible!";
App::$strings["Please enter your password for verification:"] = "Aquesta acció requereix tornar a introduir la contrasenya:";
App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Esborra de la xarxa aquest compte, tots els seus canals, i tots els seus canals clons.";
-App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Per defecte, només les instancies dels canal ubicats en aquest concentrador poden esser esborrades de la xarxa";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Per defecte, només les instancies dels canal ubicats en aquest node poden esser esborrades de la xarxa";
App::$strings["Remove Account"] = "Esborra el Compte";
-App::$strings["Help:"] = "Ajuda:";
-App::$strings["Not Found"] = "No s'ha pogut trobar la pàgina";
-App::$strings["\$Projectname Documentation"] = "\$Projectname Documentació";
-App::$strings["[Embedded content - reload page to view]"] = "[Contingut embegut - recarrega la pàgina per veure-ho]";
-App::$strings["Remote privacy information not available."] = "informació privada remota no disponible.";
-App::$strings["Visible to:"] = "Visible per:";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
+App::$strings["Remove This Channel"] = "Elimina Aquest Canal";
+App::$strings["This channel will be completely removed from the network. "] = "Aquest canal serà completament eliminat de la xarxa.";
+App::$strings["Remove this channel and all its clones from the network"] = "Elimina aquest canal i els seus clons de la xarxa";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Per defecte, només la instancia del canal ubicat en aquest node pot esser esborrat de la xarxa";
+App::$strings["Remove Channel"] = "Elimina el canal";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID.";
+App::$strings["The error message was:"] = "El missatge d'error fou:";
+App::$strings["Authentication failed."] = "Ha fallat l'autentificació.";
+App::$strings["Remote Authentication"] = "Autentificació Remota";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introdueix la teva adreça del canal (eg canal@exemple.com)";
+App::$strings["Authenticate"] = "Autentica't";
+App::$strings["Items tagged with: %s"] = "Elements etiquetats amb: %s";
+App::$strings["Search results for: %s"] = "Resultats de cerca per: %s";
+App::$strings["No service class restrictions found."] = "No s'han trobat restriccions de clase.";
App::$strings["Name is required"] = "Es requereix un Nom";
App::$strings["Key and Secret are required"] = "Es requereix Clau (Key) i el Secret (Secret)";
-App::$strings["Diaspora Policy Settings updated."] = "Actualitzats els Ajustos de Política de Diaspora.";
+App::$strings["Not valid email."] = "E-correu no vàlid.";
+App::$strings["Protected email address. Cannot change to that email."] = "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu.";
+App::$strings["System failure storing new email. Please try again."] = "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou.";
+App::$strings["Password verification failed."] = "La verificació de la contrasenya ha fallat.";
App::$strings["Passwords do not match. Password unchanged."] = "Les contrasenyes no coincideixen. Contrasenya sense canvis.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "Les contrasenyes en blanc no estan permesas. Contrasenya sense canvis.";
App::$strings["Password changed."] = "Contrasenya canviada.";
App::$strings["Password update failed. Please try again."] = "L'actualització de la contrasenya va fallar. Si us plau, torneu a intentar-ho.";
-App::$strings["Not valid email."] = "E-correu no vàlid.";
-App::$strings["Protected email address. Cannot change to that email."] = "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu.";
-App::$strings["System failure storing new email. Please try again."] = "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou.";
App::$strings["Settings updated."] = "Ajustes actualizados.";
App::$strings["Add application"] = "Afegir aplicatiu";
App::$strings["Name of application"] = "Nom de l'aplicatiu";
@@ -1795,26 +1115,20 @@ App::$strings["Redirect"] = "Redirecciona";
App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI redirigida - No canviar excepte perquè el teu aplicatiu ho requereixi.";
App::$strings["Icon url"] = "Icona de url";
App::$strings["Optional"] = "Opcional";
-App::$strings["You can't edit this application."] = "No pots editar aquest aplicatiu.";
+App::$strings["Application not found."] = "Aplicatiu no trobat.";
App::$strings["Connected Apps"] = "Aplicatius Conectats";
App::$strings["Client key starts with"] = "La clau del client comença amb";
App::$strings["No name"] = "Sin nombre";
App::$strings["Remove authorization"] = "Elimina autorització";
App::$strings["No feature settings configured"] = "No hi ha opcions de les funcions configurades";
-App::$strings["Feature/Addon Settings"] = "Ajustos de Característica/Afegit";
-App::$strings["Settings for the built-in Diaspora emulator"] = "Ajustos pel emulador de Diaspora incorporat";
-App::$strings["Allow any Diaspora member to comment on your public posts"] = "Permetre que cualsevol membre de Diaspora pugui comentar les teves entrades públiques";
-App::$strings["Enable the Diaspora protocol for this channel"] = "Activa el protocol Diaspora en aquest canal";
-App::$strings["Diaspora Policy Settings"] = "Política d'Ajustos de Diaspora";
-App::$strings["Prevent your hashtags from being redirected to other sites"] = "Evita que els teus hashtags puguin ser redirigits a altres llocs";
+App::$strings["Feature/Addon Settings"] = "Ajustos de Complements";
App::$strings["Account Settings"] = "Ajustos de Compte";
-App::$strings["Enter New Password:"] = "Entra la Nova Contrasenya";
-App::$strings["Confirm New Password:"] = "Confirma la Nova Contrasenya:";
-App::$strings["Leave password fields blank unless changing"] = "Deixa els camps de contrasenya en blanc llevat que la volguis canviar";
+App::$strings["Current Password"] = "Contrasenya Actual";
+App::$strings["Enter New Password"] = "Entra la Nova Contrasenya";
+App::$strings["Confirm New Password"] = "Confirma la Nova Contrasenya";
+App::$strings["Leave password fields blank unless changing"] = "Deixa els camps de contrasenya en blanc llevat que la vulguis canviar";
App::$strings["Email Address:"] = "Adreça de E-Correu:";
App::$strings["Remove this account including all its channels"] = "Esborra aquest compte inclosos tots els seus canals";
-App::$strings["Off"] = "Apagat";
-App::$strings["On"] = "Funcionant";
App::$strings["Additional Features"] = "Característiques Addicionals";
App::$strings["Connector Settings"] = "Ajustos de Connector";
App::$strings["No special theme for mobile devices"] = "No emprar tema especial per aparells mòbils";
@@ -1825,6 +1139,8 @@ App::$strings["Custom Theme Settings"] = "Ajustos Personals de Tema";
App::$strings["Content Settings"] = "Ajustos de Contingut";
App::$strings["Display Theme:"] = "Ajustos de Tema:";
App::$strings["Mobile Theme:"] = "Tema Mòbil:";
+App::$strings["Preload images before rendering the page"] = "Precarrega les imatges abans de dibuixar la pàgina";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "El temps subjectiu per carregar la pàgina pot ser llarg però la pàgina estarà preparada quan es mostri";
App::$strings["Enable user zoom on mobile devices"] = "Zoom d'usuari en dispositius mòbils";
App::$strings["Update browser every xx seconds"] = "Actualitza el navegador cada xx segons";
App::$strings["Minimum of 10 seconds, no maximum"] = "Mínim de 10 segons, sense màxim";
@@ -1835,10 +1151,10 @@ App::$strings["Link post titles to source"] = "Enllaça a l'origen els títols d
App::$strings["System Page Layout Editor - (advanced)"] = "Editor de Disseny de la Pàgina del Sistema - (avançat)";
App::$strings["Use blog/list mode on channel page"] = "Empra el mode blog/llista a la pàgina del canal";
App::$strings["(comments displayed separately)"] = "(Observacions es mostren per separat)";
-App::$strings["Use blog/list mode on matrix page"] = "Empra mode blog/llista a la pàgina de matrix";
+App::$strings["Use blog/list mode on grid page"] = "Empra el mode de blog/llista a la pàgina de la malla";
App::$strings["Channel page max height of content (in pixels)"] = "Alçada màxima de contingut (en píxels) de la pàgina de Canal";
App::$strings["click to expand content exceeding this height"] = "Clic per expandir el contingut que excedeixi aquesta alçada";
-App::$strings["Matrix page max height of content (in pixels)"] = "Alçada màxima del contingut (en píxels) de la pàgina Matrix";
+App::$strings["Grid page max height of content (in pixels)"] = "Alçada màxima dels continguts (en píxels) de la Pàgina de Malla ";
App::$strings["Nobody except yourself"] = "Ningú excepte tú";
App::$strings["Only those you specifically allow"] = "Només allò que específicament permetis";
App::$strings["Approved connections"] = "Connexions aprovades";
@@ -1849,9 +1165,10 @@ App::$strings["Anybody authenticated"] = "Qualsevol autenticat";
App::$strings["Anybody on the internet"] = "Qualsevol a internet";
App::$strings["Publish your default profile in the network directory"] = "Publica el teu perfil per defecte al directori de la xarxa";
App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Ens permets suggerir-te com a potencial amic als nous membres?";
-App::$strings["Your channel address is"] = "La teva direcció del canal es";
+App::$strings["Your channel address is"] = "La teva adreça del canal es";
App::$strings["Channel Settings"] = "Ajustos del Canal";
App::$strings["Basic Settings"] = "Ajustos Bàsics";
+App::$strings["Full Name:"] = "Nom Complet:";
App::$strings["Your Timezone:"] = "La teva Franja Horària";
App::$strings["Default Post Location:"] = "Localització Predeterminada de les Entrades:";
App::$strings["Geographical location to display on your posts"] = "Posició geogràfica a mostrar a les teves entrades";
@@ -1871,18 +1188,22 @@ App::$strings["Allow others to tag your posts"] = "Permet a altres etiquetar les
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Sovint emprat per la comunitat per marcar retroactivament contingut inapropiat";
App::$strings["Advanced Privacy Settings"] = "Ajustos avançats de privacitat";
App::$strings["Expire other channel content after this many days"] = "El contingut d'altes canals caduca després d'aquests dies";
-App::$strings["0 or blank prevents expiration"] = "0 o vuit evita caducitat";
+App::$strings["0 or blank to use the website limit."] = "0 o en blanc per emprar el limit del lloc web.";
+App::$strings["This website expires after %d days."] = "Aquest lloc web expira després de %d dies.";
+App::$strings["This website does not expire imported content."] = "A aquest lloc web no expira el contingut importat";
+App::$strings["The website limit takes precedence if lower than your limit."] = "El límit del lloc web pren la preferència si es inferior al teu límit.";
App::$strings["Maximum Friend Requests/Day:"] = "Nombre màxim de peticions d'amistat per dia";
App::$strings["May reduce spam activity"] = "Pot reduir l'SPAM";
-App::$strings["Default Post Permissions"] = "Permisos de publicació per defecte";
+App::$strings["Default Post and Publish Permissions"] = "Permisos de Entrades i Publicació per defecte";
+App::$strings["Use my default audience setting for the type of object published"] = "Empra els meus ajustos per defecte segons el tipus de entrada publicada";
App::$strings["Channel permissions category:"] = "Categoria de permisos de canal:";
App::$strings["Maximum private messages per day from unknown people:"] = "Nombre màxim de missatges privats de desconeguts al dia:";
App::$strings["Useful to reduce spamming"] = "Útil per a reduir l'spam";
App::$strings["Notification Settings"] = "Ajustos de notificacions";
App::$strings["By default post a status message when:"] = "Per defecte envia un missatge d'estat quan:";
-App::$strings["accepting a friend request"] = "Acceptar una sol·licitud d'amistat";
+App::$strings["accepting a friend request"] = "S'accepta una sol·licitud d'amistat";
App::$strings["joining a forum/community"] = "Apuntar-se a un fòrum o comunitat";
-App::$strings["making an <em>interesting</em> profile change"] = "faci un canvi <em>interesant</em> al perfil";
+App::$strings["making an <em>interesting</em> profile change"] = "Faci un canvi <em>interesant</em> al perfil";
App::$strings["Send a notification email when:"] = "Notifica per correu quan:";
App::$strings["You receive a connection request"] = "Rebi una petició de connexió";
App::$strings["Your connections are confirmed"] = "Es confirma una connexió";
@@ -1893,7 +1214,7 @@ App::$strings["You receive a friend suggestion"] = "Rebi una suggerència d'amis
App::$strings["You are tagged in a post"] = "Estàs etiquetat a l'entrada";
App::$strings["You are poked/prodded/etc. in a post"] = "S'enfoten/te piquen/etc. en una entrada";
App::$strings["Show visual notifications including:"] = "Mostra notificacion visuals, com ara:";
-App::$strings["Unseen matrix activity"] = "Activitat no vista a la xarxa";
+App::$strings["Unseen grid activity"] = "Activitat de malla no vista";
App::$strings["Unseen channel activity"] = "Activitat no vista del canal";
App::$strings["Unseen private messages"] = "Missatges privats no llegits";
App::$strings["Recommended"] = "Recomanat";
@@ -1901,7 +1222,7 @@ App::$strings["Upcoming events"] = "Esdeveniments propers";
App::$strings["Events today"] = "Esdeveniments d'avui";
App::$strings["Upcoming birthdays"] = "Aniversaris propers";
App::$strings["Not available in all themes"] = "No està disponible en tots els temes";
-App::$strings["System (personal) notifications"] = "Notificacions (personals) de sistema";
+App::$strings["System (personal) notifications"] = "Notificacions (personals) del sistema";
App::$strings["System info messages"] = "Missatges d'informació del sistema";
App::$strings["System critical alerts"] = "Alertes crítiques del sistema";
App::$strings["New connections"] = "Noves connexions";
@@ -1913,197 +1234,1029 @@ App::$strings["Advanced Account/Page Type Settings"] = "Ajustos avançats de com
App::$strings["Change the behaviour of this account for special situations"] = "Modifica el comportament d'aquest compte en situacions especials";
App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Activa el mode d'expert (a <a href=\"settings/features\">Ajustos > Més funcions</a>)";
App::$strings["Miscellaneous Settings"] = "Ajustos diversos";
+App::$strings["Default photo upload folder"] = "Carpeta per defecte de fotos pujades";
+App::$strings["%Y - current year, %m - current month"] = "%Y - any en curs, %m - mes corrent";
+App::$strings["Default file upload folder"] = "Carpeta per defecte d'arxius pujats";
App::$strings["Personal menu to display in your channel pages"] = "Menú personal per mostrar en les teves pàgines de canal";
-App::$strings["Remove Channel"] = "Elimina el canal";
App::$strings["Remove this channel."] = "Elimina aquest canal.";
-App::$strings["First Name"] = "Nom";
-App::$strings["Last Name"] = "Cognoms";
-App::$strings["Nickname"] = "Àlies";
-App::$strings["Full Name"] = "Nom Sencer";
-App::$strings["Profile Photo 16px"] = "Foto del Perfil 16px";
-App::$strings["Profile Photo 32px"] = "Foto del Perfil 32px";
-App::$strings["Profile Photo 48px"] = "Foto del Perfil 48px";
-App::$strings["Profile Photo 64px"] = "Foto del Perfil 64px";
-App::$strings["Profile Photo 80px"] = "Foto del Perfil 80px";
-App::$strings["Profile Photo 128px"] = "Foto del Perfil 128px";
-App::$strings["Timezone"] = "Zona horària";
-App::$strings["Homepage URL"] = "URL de la pàgina d'inici";
-App::$strings["Birth Year"] = "Any de Naixement";
-App::$strings["Birth Month"] = "Mes de Naixement";
-App::$strings["Birth Day"] = "Dia de Naixement";
-App::$strings["Birthdate"] = "Aniversari";
-App::$strings["Conversation removed."] = "Conversació eliminada.";
-App::$strings["No messages."] = "Sense missatges.";
-App::$strings["Delete conversation"] = "Conversació esborrada";
-App::$strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-App::$strings["Set your current mood and tell your friends"] = "Estableix el teu estat d'ànim actual i digues-li als teus amics";
-App::$strings["Total votes"] = "Total de vots";
-App::$strings["Average Rating"] = "Valoració Mitja";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
-App::$strings["Remove This Channel"] = "Elimina Aquest Canal";
-App::$strings["This channel will be completely removed from the network. "] = "Aquest canal serà completament eliminat de la xarxa.";
-App::$strings["Remove this channel and all its clones from the network"] = "Elimina aquest canal i els seus clons de la xarxa";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa";
-App::$strings["is now connected to"] = "Ara està conectat amb";
-App::$strings["Could not access address book record."] = "No puc accedir al registre del contacte";
-App::$strings["Refresh failed - channel is currently unavailable."] = "Ha fallat la recàrrega - el canal es actualment inaccesible.";
-App::$strings["Unable to set address book parameters."] = "No es poden ajustar els paràmetres dels contactes.";
-App::$strings["Connection has been removed."] = "S'han eliminat les conexions.";
-App::$strings["View %s's profile"] = "Mostra el perfil de %s";
-App::$strings["Refresh Permissions"] = "Recarrega els Permissos";
-App::$strings["Fetch updated permissions"] = "Obté els permisos actualitzats";
-App::$strings["Recent Activity"] = "Activitat Recent";
-App::$strings["View recent posts and comments"] = "Mostra les entrades i comentaris recents";
-App::$strings["Block (or Unblock) all communications with this connection"] = "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió";
-App::$strings["This connection is blocked!"] = "Aquesta connexió està bloquejada!";
-App::$strings["Unignore"] = "Inhabilita";
-App::$strings["Ignore"] = "Ignora";
-App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora (o Considera) les communicacions entrants d'aquesta connexió";
-App::$strings["This connection is ignored!"] = "Aquesta connexió es ignorada!";
-App::$strings["Unarchive"] = "Desarxiva";
-App::$strings["Archive"] = "Arxiva";
-App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut ";
-App::$strings["This connection is archived!"] = "Aquesta connexió està arxivada!";
-App::$strings["Unhide"] = "Mostra";
-App::$strings["Hide"] = "Amaga";
-App::$strings["Hide or Unhide this connection from your other connections"] = "Amaga (o Mostra) aquesta connexió de les altres connexions teves";
-App::$strings["This connection is hidden!"] = "Aquesta connexió està amagada!";
-App::$strings["Delete this connection"] = "Elimina aquesta connexió";
-App::$strings["Approve this connection"] = "Apccepta aquesta connexió";
-App::$strings["Accept connection to allow communication"] = "Accepta la connexió per permetre la comunicació";
-App::$strings["Set Affinity"] = "Ajusta l'Afinitat";
-App::$strings["Set Profile"] = "Ajusta el Perfil";
-App::$strings["Set Affinity & Profile"] = "Ajusta Afinitat i Perfil";
-App::$strings["Apply these permissions automatically"] = "Aplica aquests permissos automaticament";
-App::$strings["This connection's address is"] = "La direcció d'aquesta connexió es";
-App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions.";
-App::$strings["Slide to adjust your degree of friendship"] = "Llisca per ajustar el nivell d'amistat";
-App::$strings["Slide to adjust your rating"] = "Llisca per ajustar la valoració";
-App::$strings["Optionally explain your rating"] = "Opcionalment pots explicar la teva valoració";
-App::$strings["Custom Filter"] = "Filtre a mida";
-App::$strings["Only import posts with this text"] = "Importa exclusivament entrades amb aquest text";
-App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades";
-App::$strings["Do not import posts with this text"] = "No importar entrades amb aquest text";
-App::$strings["This information is public!"] = "Aquesta informació es pública!";
-App::$strings["Connection Pending Approval"] = "Connexió Pendent d'Aprovació";
-App::$strings["Connection Request"] = "Petició de Connexió";
-App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió.";
-App::$strings["Approve Later"] = "Aprovar més tard";
-App::$strings["inherited"] = "heretat";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur.";
-App::$strings["Their Settings"] = "Els seus Ajustos";
-App::$strings["My Settings"] = "Els Meus Ajustos";
-App::$strings["Individual Permissions"] = "Permisos Individuals";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí.";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats.";
-App::$strings["Last update:"] = "Darrera actualització:";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID.";
-App::$strings["The error message was:"] = "El missatge d'error fou:";
-App::$strings["Authentication failed."] = "Ha fallat l'autentificació.";
-App::$strings["Remote Authentication"] = "Autentificació Remota";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introdueix la teva adreça del canal (eg canal@exemple.com)";
-App::$strings["Authenticate"] = "Autentica't";
-App::$strings["Unable to lookup recipient."] = "Incapaç de trobar el destinatari.";
-App::$strings["Unable to communicate with requested channel."] = "Incapaç de comunicar amb el canal demanat.";
-App::$strings["Cannot verify requested channel."] = "No puc verificar el canal demanat.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat.";
-App::$strings["Message deleted."] = "Missatge eliminat.";
-App::$strings["Message recalled."] = "Recupera el missatge.";
-App::$strings["Send Private Message"] = "Envia Missatge Privat";
-App::$strings["To:"] = "Per:";
-App::$strings["Subject:"] = "Assumpte:";
-App::$strings["Send"] = "Envia";
-App::$strings["Message not found."] = "Missatge no trobat.";
-App::$strings["Delete message"] = "Elimina el missatge";
-App::$strings["Recall message"] = "Recupera el missatge";
-App::$strings["Message has been recalled."] = "El missatge s'ha recuperat.";
-App::$strings["Private Conversation"] = "Conversació Privada";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent.";
-App::$strings["Send Reply"] = "Envia Resposta";
-App::$strings["Invalid request identifier."] = "Sol·licitud d'identificació invàlida.";
-App::$strings["Discard"] = "Descarta";
-App::$strings["Please login."] = "Inicia Sessió.";
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar.";
-App::$strings["Add a Channel"] = "Afegeix un Canal";
-App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal es la teva pròpia col·lecció de pàgines web. Un canal pot emprat per mantenir perfils a una xarxa social, blocs, grups de conversació, fòrums, pàgines de famosos, i molt més. Pots crear tants canals com el teu servei d'internet et permeti.";
-App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exemples: \"Joan Tou\", \"Manel i els seus esquirols\", \"Fútbol\", \"Grup de Gegants\"";
-App::$strings["Choose a short nickname"] = "Tria un àlies curt";
-App::$strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "El teu àlies es pot emprar per crear un canal fàcilment memoritzatble (com una adreça de correu electrònic) que pot ser compartit amb altres.";
-App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "O <a href=\"import\">importa un canal existent</a> d'un altre lloc";
-App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Tria un tipus de canal (com a xarxa social o fòrum comunitari) i els requisits de privacitat, així podem proposar el que te el permisos més adients.";
-App::$strings["Channel Type"] = "tipus de Canal";
-App::$strings["Read more about roles"] = "Llegix més sobre els rols";
-App::$strings["App installed."] = "Aplicació instal·lada.";
-App::$strings["Malformed app."] = "Aplicació amb errors";
-App::$strings["Embed code"] = "Codi embegut";
-App::$strings["Edit App"] = "Edita l'Aplicació";
-App::$strings["Create App"] = "Crea l'Aplicació";
-App::$strings["Name of app"] = "Nom de l'Aplicació";
-App::$strings["Location (URL) of app"] = "Ubicació (URL) de l'aplicació";
-App::$strings["Photo icon URL"] = "Foto icona URL";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
-App::$strings["Version ID"] = "Versió ID";
-App::$strings["Price of app"] = "Preu de l'aplicació";
-App::$strings["Location (URL) to purchase app"] = "Ubicació (URL) per comprar l'aplicació";
-App::$strings["sent you a private message"] = "Se t'ha enviat un missatge privat";
-App::$strings["added your channel"] = "el teu canal s'ha afegit";
-App::$strings["posted an event"] = "enviat un event";
-App::$strings["Comanche page description language help"] = "Pgina d'ajuda del llenguatge Comanche";
-App::$strings["Layout Description"] = "Descripció del Disseny de la Pàgina";
-App::$strings["Download PDL file"] = "Descarrega l'arxiu PDL";
-App::$strings["Welcome to %s"] = "Benvingut a %s";
-App::$strings["Lorem Ipsum"] = "Lorem Ipsum";
-App::$strings["Bookmark added"] = "Favorit afegit";
-App::$strings["My Bookmarks"] = "Els Meus Favorits";
-App::$strings["My Connections Bookmarks"] = "Les connexions dels meus Favorits";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficients. Petició redirigida a la pàgina del perfil.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Aquest ajust requereix un procés espedial i l'edició esta bloquejada.";
-App::$strings["Configuration Editor"] = "Editor de Configuració";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica.";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou.";
-App::$strings["Poll"] = "Sondeija";
-App::$strings["View Results"] = "Mostra els Resultats";
-App::$strings["No service class restrictions found."] = "No s'han trobat restriccions de clase.";
+App::$strings["Firefox Share \$Projectname provider"] = "Firefox Share \$Projectname provider";
+App::$strings["Start calendar week on monday"] = "Comença la setmana del calendari el dilluns";
+App::$strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuració";
+App::$strings["Could not connect to database."] = "No puc connectar amb la base de dades";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS.";
+App::$strings["Could not create table."] = "No puc crear la taula.";
+App::$strings["Your site database has been installed."] = "La teva base de dades del lloc s'ha instal·lat.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Si us plau, consulteu el fitxer \"install / INSTALL.txt\".";
+App::$strings["System check"] = "Comprovació del sistema";
+App::$strings["Check again"] = "Comprova de nou";
+App::$strings["Database connection"] = "Connexió de base de dades";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per tal d'instaŀlar \$Projectname cal configurar la connexió a la base de dades.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar.";
+App::$strings["Database Server Name"] = "Base de Dades Nom del Servidor";
+App::$strings["Default is 127.0.0.1"] = "Per defecte es 127.0.0.1";
+App::$strings["Database Port"] = "Port per a la Base de Dades";
+App::$strings["Communication port number - use 0 for default"] = "Numero del port de comunicacions - empra 0 per defecte";
+App::$strings["Database Login Name"] = "Base de Dades Nom d'Accès";
+App::$strings["Database Login Password"] = "Base de Dades Contrasenya d'Accès";
+App::$strings["Database Name"] = "Nom de la Base de Dades";
+App::$strings["Database Type"] = "Tipus de Base de Dades";
+App::$strings["Site administrator email address"] = "Adreça de correu de l'administrador del lloc";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador.";
+App::$strings["Website URL"] = "URL del lloc web";
+App::$strings["Please use SSL (https) URL if available."] = "Si us plau, empra SSL (https) URL si està disponible.";
+App::$strings["Please select a default timezone for your website"] = "Si us plau, tria la zona horària del teu lloc web";
+App::$strings["Site settings"] = "Ajustos del lloc";
+App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Activar característiques <strong>advanced</strong> de \$Projectname?";
+App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Algunes característiques avançades, hauran de ser ajustades per persones tècnicament capaces, per poder emprar-les.";
+App::$strings["PHP version 5.5 or greater is required."] = "PHP version 5.5 or greater is required.";
+App::$strings["PHP version"] = "PHP version";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web.";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron.";
+App::$strings["PHP executable path"] = "Camí cap l'executable de PHP";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació.";
+App::$strings["Command line PHP"] = "Línia d'ordres de PHP";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat.";
+App::$strings["This is required for message delivery to work."] = "Això es requereix per que funcioni l'entrega de missatges.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Pots ajustar aquests valors a l'arxiu php.ini del servidor";
+App::$strings["PHP upload limits"] = "Límits de pujada de PHP";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\".";
+App::$strings["Generate encryption keys"] = "Generar claus de xifrat";
+App::$strings["libCurl PHP module"] = "mòdul PHP libCurl ";
+App::$strings["GD graphics PHP module"] = "mòdul PHP GD gràfics";
+App::$strings["OpenSSL PHP module"] = "mòdul PHP OpenSSL";
+App::$strings["mysqli or postgres PHP module"] = "mòdul PHP mysqli o postgres";
+App::$strings["mb_string PHP module"] = "mòdul PHP mb_string";
+App::$strings["mcrypt PHP module"] = "mòdul PHP mcrypt";
+App::$strings["xml PHP module"] = "Mòdul xml de PHP";
+App::$strings["Apache mod_rewrite module"] = "mòdul Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat.";
+App::$strings["proc_open"] = "proc_open";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Error: el mòdul PHP libCURL es requereix però no està instal·lat.";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Error: el mòdul PHP openssl es requereix però no està instal·lat.";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat.";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Error: el mòdul PHP mb_string es requereix però no està instal·lat.";
+App::$strings["Error: mcrypt PHP module required but not installed."] = "Error: el mòdul PHP mcrypt es requereix però no està instal·lat.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat.";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer.";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor.";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\".";
+App::$strings[".htconfig.php is writable"] = "L'arxiu «.htconfig.php» es pot modificar";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal.";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta.";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté.";
+App::$strings["%s is writable"] = "Es pot escriure a %s";
+App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web.";
+App::$strings["store is writable"] = "Es pot escriure al magatzem (store)";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi node.";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu.";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts.";
+App::$strings["SSL certificate validation"] = "Validació del certificat SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:";
+App::$strings["Url rewrite is working"] = "Es poden reescriure les URL a «.htaccess»";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut.";
+App::$strings["Errors encountered creating database tables."] = "S'han produït errors mentre es creaven taules a la base de dades.";
+App::$strings["<h1>What next</h1>"] = "<h1>I ara què?</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\".";
App::$strings["Files: shared with me"] = "Arxius: compartits amb jo";
App::$strings["NEW"] = "NOU";
App::$strings["Remove all files"] = "Esborra tots els arxius";
App::$strings["Remove this file"] = "Esborra l'arxiu";
-App::$strings["Schema Default"] = "Esquema Predeterminat";
-App::$strings["Sans-Serif"] = "Sans-Serif";
-App::$strings["Monospace"] = "Monospace";
+App::$strings["Version %s"] = "Versió %s";
+App::$strings["Installed plugins/addons/apps:"] = "Plugins/addons/apps Instal·lats:";
+App::$strings["No installed plugins/addons/apps"] = "Plugins/addons/apps no instal·lats";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Aquest és un node de \$Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat.";
+App::$strings["Tag: "] = "Etiqueta:";
+App::$strings["Last background fetch: "] = "Última actualització en rerefons:";
+App::$strings["Current load average: "] = "Càrrega actual mitja:";
+App::$strings["Running at web location"] = "Correguent en el lloc web";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per saber-ne més de \$Projectname.";
+App::$strings["Bug reports and issues: please visit"] = "Per informar d'errors o problemes ves a";
+App::$strings["\$projectname issues"] = "\$projectname qüestions";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com";
+App::$strings["Site Administrators"] = "Administradors del lloc";
+App::$strings["Failed to create source. No channel selected."] = "Error en crear l'origen. Cap canal seleccionat.";
+App::$strings["Source created."] = "Origen creat.";
+App::$strings["Source updated."] = "Origen actualitzat.";
+App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Canal Origen";
+App::$strings["Manage remote sources of content for your channel."] = "Gestiona contingut per al teu canal d'origens remots";
+App::$strings["New Source"] = "Nou Origen";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals.";
+App::$strings["Only import content with these words (one per line)"] = "Només importa contingut amb aquestes paraules (una per línia)";
+App::$strings["Leave blank to import all public content"] = "Deixar en blanc per importar tot el contingut públic";
+App::$strings["Channel Name"] = "Nom del canal";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Afegeix les següents categories d'entrades importades des d'aquest origen (separat per comes)";
+App::$strings["Source not found."] = "No s'ha trobat la font.";
+App::$strings["Edit Source"] = "Edita la font";
+App::$strings["Delete Source"] = "Esborra la font";
+App::$strings["Source removed"] = "S'ha esborrat la font";
+App::$strings["Unable to remove source."] = "No s'ha pogut esborrar la font.";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s esta seguint %2\$s de %3\$s";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s abandona el seguiment %2\$s de %3\$s";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou.";
+App::$strings["Ignore/Hide"] = "Ignora/Amaga";
+App::$strings["post"] = "entrada";
+App::$strings["comment"] = "comentari";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetat %3\$s de %2\$s amb %4\$s";
+App::$strings["Tag removed"] = "S'ha tret l'etiqueta";
+App::$strings["Remove Item Tag"] = "Elimina l'etiqueta d'element";
+App::$strings["Select a tag to remove: "] = "Tria l'etiqueta a eliminar:";
+App::$strings["Thing updated"] = "S'ha actualitzat la cosa";
+App::$strings["Object store: failed"] = "No s'ha pogut emmagatzemar l'objecte";
+App::$strings["Thing added"] = "S'ha afegit la cosa";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostra la cosa";
+App::$strings["item not found."] = "no s'ha trobat l'element.";
+App::$strings["Edit Thing"] = "Edita la cosa";
+App::$strings["Select a profile"] = "Tria un perfil";
+App::$strings["Post an activity"] = "Publica una activitat";
+App::$strings["Only sends to viewers of the applicable profile"] = "S'envia només a visitants del perfil corresponent";
+App::$strings["Name of thing e.g. something"] = "Nom de la cosa. Exemple: patata";
+App::$strings["URL of thing (optional)"] = "Adreça URL de la cosa (opcional)";
+App::$strings["URL for photo of thing (optional)"] = "Adreça URL de la foto d'una cosa (opcional)";
+App::$strings["Add Thing to your Profile"] = "Afegeix una cosa al teu perfil";
+App::$strings["Export Channel"] = "Exportar Canal";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exporta la informació bàsica del canal a un arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/node, però no conté el contingut del canal.";
+App::$strings["Export Content"] = "Exportar el Contingut";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporta la informació del canal i tot el contingut recent a un arxiu de recolzament JSON que por ser restaurat o importat en altre lloc/node. Això còpia totes les teves connexions, permisos, perfil i dades i mesos de entrades. L'arxiu pot ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar.";
+App::$strings["Export your posts from a given year."] = "Exporta les teves entrades d'un any donat.";
+App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Pots també exportar les teves entrades i conversacions d'un any o un mes en particular. Ajusta la data a la barra de direccions del navegador per seleccionar altres dates. Si la exportació falla (possiblement degut al esgotament de la memòria del node servidor), si et plau, intenta de nou la selecció d'un rang de dates més limitat.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per seleccionar tots els missatges per a un any determinat, com aquest any, visiteu <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per seleccionar tots els missatges per a un mes determinat, com el de gener d'aquest any, visiteu <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Aquests arxius de contingut poden ser importats o restaurats per visitar <a href=\"%1\$s\">%2\$s</a> en qualsevol lloc que conté el teu canal. Per obtenir els millors resultats si us plau, importar o restaurar aquests en ordre de data (la més antiga primer).";
+App::$strings["No connections."] = "Sense connexions.";
+App::$strings["Visit %s's profile [%s]"] = "Visita el perfil [%s] de %s";
+App::$strings["View Connections"] = "Veure Connexions";
+App::$strings["Source of Item"] = "Origen de l'article";
+App::$strings["Webpages"] = "Pàgines web";
+App::$strings["Actions"] = "Accions";
+App::$strings["Page Link"] = "Enllaç a Pàgina";
+App::$strings["Page Title"] = "Títol de la pàgina";
+App::$strings["Xchan Lookup"] = "Cerca a xchan";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca a xchan començant per (o webbie)";
+App::$strings["Site Admin"] = "Administració";
+App::$strings["Bug Report"] = "Informe d'Errors";
+App::$strings["View Bookmarks"] = "Veure Marcadors";
+App::$strings["My Chatrooms"] = "Les meves Sales de Xat";
+App::$strings["Firefox Share"] = "Compartir amb Firefox";
+App::$strings["Remote Diagnostics"] = "Diagnòstics Remots";
+App::$strings["Suggest Channels"] = "Suggerir Canals";
+App::$strings["Login"] = "Identifica't";
+App::$strings["Grid"] = "Malla";
+App::$strings["Channel Home"] = "Canal Personal";
+App::$strings["Events"] = "Esdeveniments";
+App::$strings["Directory"] = "Directori";
+App::$strings["Mail"] = "Correu";
+App::$strings["Chat"] = "Xerrar";
+App::$strings["Probe"] = "Sondeig";
+App::$strings["Suggest"] = "Suggeriment";
+App::$strings["Random Channel"] = "Canal Aleatori";
+App::$strings["Invite"] = "Convida";
+App::$strings["Features"] = "Funcionalitats";
+App::$strings["Post"] = "Entrada";
+App::$strings["Purchase"] = "Compra";
+App::$strings["Missing room name"] = "Perdut el nom de la sala";
+App::$strings["Duplicate room name"] = "Nom de la sala duplicat";
+App::$strings["Invalid room specifier."] = "Especificació de la sala invàlida.";
+App::$strings["Room not found."] = "Sala no trobada.";
+App::$strings["Room is full"] = "La sala es plena";
+App::$strings["\$Projectname Notification"] = "Notificació de \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Gràcies,";
+App::$strings["%s Administrator"] = "%s Administrador";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Nou corrreu rebut en %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s t'ha enviat un nou missatge privat a %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s t'ha enviat %2\$s.";
+App::$strings["a private message"] = "un missatge privat";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Per favor, visita %s per a veure i/o respondre els teus missatges privats.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]a %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]%4\$s de %5\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]el teu %4\$s[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Comentari sobre una conversació #%1\$d per %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentat en un article/conversa que havies estat seguint.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Si us plau visita %s per veure i/o contestar a la conversa";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Avís] %s ha escrit una entrada al teu mur";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha escrit una entrada al teu mur en %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s enviat correu a [zrl=%3\$s]el teu mur[/zrl]";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notificació] %s t'ha etiquetat";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s t'ha etiquetat a %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]t'ha etiquetat[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Avís] %1\$s s'en fot de tu";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s s'en fot de tú a %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]s'en fot de tú[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Avís] %s ha etiquetat la teva entrada";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetat la teva entrada a %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s etiquetat [zrl=%3\$s]la teva entrada[/zrl]";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Avís] Presentació rebuda";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, has rebut una nova petició de connexió de '%2\$s' a %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, has rebut [zrl=%2\$s]una nova petició de connexió[/zrl] de %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Pots visitar el seu perfil a %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Si us plau, visita %s per aprovar o rebutjar la petició de connexió.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notificació] Rebuda suggerencia d'amistat";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, has rebut una suggerència d'amistat de '%2\$s' a %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, has rebut [zrl=%2\$s]una suggerència d'amistat[/zrl] per %3\$s de %4\$s.";
+App::$strings["Name:"] = "Nom:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Per favor, visita %s per a aprovar o rebutjar la suggerencia.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificació]";
+App::$strings["created a new post"] = "Creada una nova entrada";
+App::$strings["commented on %s's post"] = "comentat a l'entrada de %s";
+App::$strings["Private Message"] = "Missatge Privat";
+App::$strings["Select"] = "Selecciona";
+App::$strings["Save to Folder"] = "Guardar en la Carpeta";
+App::$strings["I will attend"] = "Assistiré";
+App::$strings["I will not attend"] = "No assistiré";
+App::$strings["I might attend"] = "Podria assistir";
+App::$strings["I agree"] = "D'acord";
+App::$strings["I disagree"] = "En desacord";
+App::$strings["I abstain"] = "M'abstinc";
+App::$strings["Add Star"] = "Fes-lo Preferit";
+App::$strings["Remove Star"] = "Treu-lo de Preferits";
+App::$strings["Toggle Star Status"] = "Canvia el Estat de la Preferència";
+App::$strings["starred"] = "preferit";
+App::$strings["Message signature validated"] = "Validada la signatura del missatge";
+App::$strings["Message signature incorrect"] = "Signatura del missatge incorrecta";
+App::$strings["Add Tag"] = "Afegeix Etiqueta";
+App::$strings["like"] = "agrada";
+App::$strings["dislike"] = "desagrada";
+App::$strings["Share This"] = "Comparteix Això";
+App::$strings["share"] = "comparteix";
+App::$strings["Delivery Report"] = "Informe de Lliurament";
+App::$strings["%d comment"] = array(
+ 0 => "%d commentari",
+ 1 => "%d commentaris",
+);
+App::$strings["View %s's profile - %s"] = "Veure perfil de %s - %s";
+App::$strings["to"] = "a";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "Mur-a-Mur";
+App::$strings["via Wall-To-Wall:"] = "via Mur-a-Mur:";
+App::$strings["from %s"] = "De %s";
+App::$strings["last edited: %s"] = "últim editat: %s";
+App::$strings["Expires: %s"] = "Expira: %s";
+App::$strings["Save Bookmarks"] = "Guarda Favorits";
+App::$strings["Add to Calendar"] = "Afegeix al Calendari";
+App::$strings["Mark all seen"] = "Marca tot com ja vist";
+App::$strings["[+] show all"] = "[+] mostra tot";
+App::$strings["Bold"] = "Negreta";
+App::$strings["Italic"] = "Italica";
+App::$strings["Underline"] = "Subratllat";
+App::$strings["Quote"] = "Cometes";
+App::$strings["Code"] = "Codi";
+App::$strings["Image"] = "Imatge";
+App::$strings["Insert Link"] = "Insereix Enllaç";
+App::$strings["Video"] = "Video";
+App::$strings["No username found in import file."] = "No s'ha trobat nom d'usuari a l'arxiu d'importació.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "No s'ha trobat informació de DNS pel servidor de base de dades '%s'";
+App::$strings["Categories"] = "Categories";
+App::$strings["Tags"] = "Etiquetes";
+App::$strings["Keywords"] = "Paraules clau";
+App::$strings["have"] = "tinc";
+App::$strings["has"] = "tens";
+App::$strings["want"] = "vull";
+App::$strings["wants"] = "vols";
+App::$strings["likes"] = "agrada";
+App::$strings["dislikes"] = "desagrada";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["Starts:"] = "Inicia:";
+App::$strings["Finishes:"] = "Acaba:";
+App::$strings["This event has been added to your calendar."] = "Aquest succés ha estat afegit al teu calendari.";
+App::$strings["Not specified"] = "Sense especificar";
+App::$strings["Needs Action"] = "Necessita una Acció";
+App::$strings["Completed"] = "Completat";
+App::$strings["In Process"] = "En Procès";
+App::$strings["Cancelled"] = "Cancel·lat";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor.";
+App::$strings["Channel clone failed. Import failed."] = "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar.";
+App::$strings["(Unknown)"] = "(Desconegut)";
+App::$strings["Visible to anybody on the internet."] = "Visible per tothom a la Internet";
+App::$strings["Visible to you only."] = "Visible només per tú.";
+App::$strings["Visible to anybody in this network."] = "Visible per tothom en aquesta xarxa.";
+App::$strings["Visible to anybody authenticated."] = "Visible per tothom autenticat.";
+App::$strings["Visible to anybody on %s."] = "Visible per a tothom a %s.";
+App::$strings["Visible to all connections."] = "Visible per a totes les connexions.";
+App::$strings["Visible to approved connections."] = "Visible per a les connexions aprovades.";
+App::$strings["Visible to specific connections."] = "Visible per a específiques connexions.";
+App::$strings["Privacy group is empty."] = "El grup privat està vuit.";
+App::$strings["Privacy group: %s"] = "Grup privat: %s";
+App::$strings["Connection not found."] = "Connexió no trobada.";
+App::$strings["profile photo"] = "foto del perfil";
+App::$strings["No recipient provided."] = "No s'ha proporcionat bústia.";
+App::$strings["[no subject]"] = "[no subject]";
+App::$strings["Unable to determine sender."] = "incapaç de determinar el remitent";
+App::$strings["Stored post could not be verified."] = "L'entrada guardada no pot ser verificada";
+App::$strings["prev"] = "prev";
+App::$strings["first"] = "primer";
+App::$strings["last"] = "últim";
+App::$strings["next"] = "pròxim";
+App::$strings["older"] = "el més antic";
+App::$strings["newer"] = "El més nou";
+App::$strings["No connections"] = "Sense Connexions";
+App::$strings["View all %s connections"] = "Veure totes les connexions de %s";
+App::$strings["poke"] = "esperona";
+App::$strings["poked"] = "esperonat";
+App::$strings["ping"] = "coloca";
+App::$strings["pinged"] = "colocat";
+App::$strings["prod"] = "picar";
+App::$strings["prodded"] = "picat";
+App::$strings["slap"] = "bufetada";
+App::$strings["slapped"] = "bufetejat";
+App::$strings["finger"] = "senyal";
+App::$strings["fingered"] = "senyalat";
+App::$strings["rebuff"] = "menyspreu";
+App::$strings["rebuffed"] = "menyspreuat";
+App::$strings["happy"] = "feliç";
+App::$strings["sad"] = "trist";
+App::$strings["mellow"] = "melós";
+App::$strings["tired"] = "cansat";
+App::$strings["perky"] = "turgent";
+App::$strings["angry"] = "enfadat";
+App::$strings["stupefied"] = "estupefacte";
+App::$strings["puzzled"] = "perplexe";
+App::$strings["interested"] = "Interessat";
+App::$strings["bitter"] = "amargat";
+App::$strings["cheerful"] = "feliç";
+App::$strings["alive"] = "viu";
+App::$strings["annoyed"] = "molest";
+App::$strings["anxious"] = "ansiós";
+App::$strings["cranky"] = "malagaitós";
+App::$strings["disturbed"] = "transtornat";
+App::$strings["frustrated"] = "frustrat";
+App::$strings["depressed"] = "deprimit";
+App::$strings["motivated"] = "motivat";
+App::$strings["relaxed"] = "relaxat";
+App::$strings["surprised"] = "sorprès";
+App::$strings["Monday"] = "Dilluns";
+App::$strings["Tuesday"] = "Dimarts";
+App::$strings["Wednesday"] = "Dimecres";
+App::$strings["Thursday"] = "Dijous";
+App::$strings["Friday"] = "Divendres";
+App::$strings["Saturday"] = "Dissabte";
+App::$strings["Sunday"] = "Diumenge";
+App::$strings["January"] = "Gener";
+App::$strings["February"] = "Febrer";
+App::$strings["March"] = "Març";
+App::$strings["April"] = "Abril";
+App::$strings["May"] = "Maig";
+App::$strings["June"] = "Juny";
+App::$strings["July"] = "Juliol";
+App::$strings["August"] = "Agost";
+App::$strings["September"] = "Setembre";
+App::$strings["October"] = "Octubre";
+App::$strings["November"] = "Novembre";
+App::$strings["December"] = "Desembre";
+App::$strings["Unknown Attachment"] = "Adjunt Desconegut";
+App::$strings["unknown"] = "desconegut";
+App::$strings["remove category"] = "elimina categoria";
+App::$strings["remove from file"] = "elimina del arxiu";
+App::$strings["default"] = "per defecte";
+App::$strings["Page layout"] = "Format de la pàgina";
+App::$strings["You can create your own with the layouts tool"] = "Pots crear el teu propi amb l'editor de format de pàgina.";
+App::$strings["Page content type"] = "Tipus de contingut de la pàgina";
+App::$strings["Select an alternate language"] = "Tria un idioma alternatiu";
+App::$strings["activity"] = "activitat";
+App::$strings["Design Tools"] = "Eines de disseny";
+App::$strings["Pages"] = "Pàgines";
+App::$strings["System"] = "Sistema";
+App::$strings["New App"] = "Nova App";
+App::$strings["Suggestions"] = "Suggerencies";
+App::$strings["See more..."] = "Veure més.....";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tens %1$.0f de %2$.0f connexions permeses.";
+App::$strings["Add New Connection"] = "Afegeix una Nova Connexió";
+App::$strings["Enter channel address"] = "Introdueix l'adreça del canal";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples: bob@example.com, https://exemple.com/barbara";
+App::$strings["Notes"] = "Notes";
+App::$strings["Remove term"] = "Plaç de remoció";
+App::$strings["Saved Searches"] = "Cerques Guardades";
+App::$strings["add"] = "afegeix";
+App::$strings["Saved Folders"] = "Carpetes Guardades";
+App::$strings["Everything"] = "Tot";
+App::$strings["Archives"] = "Arxius";
+App::$strings["Refresh"] = "Refresc";
+App::$strings["Account settings"] = "Ajustos de Compte";
+App::$strings["Channel settings"] = "Ajustos de Canal";
+App::$strings["Additional features"] = "Característiques addicionals";
+App::$strings["Feature/Addon settings"] = "Ajustos de Complements";
+App::$strings["Display settings"] = "Ajustos de pantalla";
+App::$strings["Manage locations"] = "Gestiona ubicacions";
+App::$strings["Export channel"] = "Exportat canal";
+App::$strings["Connected apps"] = "Apps connectades";
+App::$strings["Premium Channel Settings"] = "Ajustos Premium de Canal";
+App::$strings["Private Mail Menu"] = "Menú de Correu Privat";
+App::$strings["Combined View"] = "Vista Combinada";
+App::$strings["Inbox"] = "Safata d'entrada";
+App::$strings["Outbox"] = "Safata de sortida";
+App::$strings["New Message"] = "Nou Missatge";
+App::$strings["Conversations"] = "Conversacions";
+App::$strings["Received Messages"] = "Missatges Rebuts";
+App::$strings["Sent Messages"] = "Missatges Enviats";
+App::$strings["No messages."] = "Sense missatges.";
+App::$strings["Delete conversation"] = "Conversació esborrada";
+App::$strings["Events Menu"] = "Menú d'Esdeveniments";
+App::$strings["Day View"] = "Vista de Dia";
+App::$strings["Week View"] = "Vista de Setmana";
+App::$strings["Month View"] = "Vista de Mes";
+App::$strings["Events Tools"] = "Eina d'Esdeveniments";
+App::$strings["Export Calendar"] = "Exportar Calendari";
+App::$strings["Import Calendar"] = "Importar Calendari";
+App::$strings["Chatrooms"] = "Sala per Xerrar";
+App::$strings["Overview"] = "Visió General";
+App::$strings["Chat Members"] = "Membres de la Sala de Xat";
+App::$strings["Bookmarked Chatrooms"] = "Sales de Xat Favorites";
+App::$strings["Suggested Chatrooms"] = "Sales de Xat Suggerides";
+App::$strings["photo/image"] = "foto/imatge";
+App::$strings["Click to show more"] = "Fes clic per veure més";
+App::$strings["Rating Tools"] = "Eines de Valoració";
+App::$strings["Rate Me"] = "Valora'm";
+App::$strings["View Ratings"] = "Veure Valoracions";
+App::$strings["Forums"] = "Forums";
+App::$strings["Tasks"] = "Tasques";
+App::$strings["Documentation"] = "Documentació";
+App::$strings["Project/Site Information"] = "Informació del Projecte/Lloc";
+App::$strings["For Members"] = "Per Membres";
+App::$strings["For Administrators"] = "Per Administradors";
+App::$strings["For Developers"] = "Per Desenvolupadors";
+App::$strings["Member registrations waiting for confirmation"] = "Una inscripció per a ser membre està esperant confirmació";
+App::$strings["Inspect queue"] = "Revisa cua";
+App::$strings["DB updates"] = "Actualitzacions de Base de Dades";
+App::$strings["Admin"] = "Admin";
+App::$strings["Plugin Features"] = "Característiques del Plugin";
+App::$strings["Channel is blocked on this site."] = "El canal està bloquejat en aquest lloc.";
+App::$strings["Channel location missing."] = "Ubicació del canal perduda.";
+App::$strings["Response from remote channel was incomplete."] = "La resposta del canal remot fou incompleta.";
+App::$strings["Channel was deleted and no longer exists."] = "El canal fou esborrat i actualment no existeix.";
+App::$strings["Protocol disabled."] = "Protocol desactivat.";
+App::$strings["Channel discovery failed."] = "Descobriment de canal fallit.";
+App::$strings["Cannot connect to yourself."] = "No pots connectar amb tu mateix.";
+App::$strings["%1\$s's bookmarks"] = "%1\$s de marcadors";
+App::$strings["Public Timeline"] = "Línia de Temps Pública";
+App::$strings["Image/photo"] = "Imatge/foto";
+App::$strings["Encrypted content"] = "Contingut encriptat";
+App::$strings["Install %s element: "] = "Instal·la l'element %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s va escriure el següent %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Clic per obrir/tancar";
+App::$strings["spoiler"] = "xafa guitarres";
+App::$strings["Different viewers will see this text differently"] = "Diferents observadors veuran aquest text de diferents formes";
+App::$strings["$1 wrote:"] = "$1 va escriure:";
+App::$strings["Directory Options"] = "Opcions de Directori";
+App::$strings["Safe Mode"] = "Manera Segura";
+App::$strings["Public Forums Only"] = "Només Fòrums Públics";
+App::$strings["This Website Only"] = "Només Aquest Lloc Web";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo.";
+App::$strings["Logout"] = "Desconectar";
+App::$strings["End this session"] = "Finalitza aquesta sessió";
+App::$strings["Home"] = "Inici";
+App::$strings["Your posts and conversations"] = "Les teves entrades i converses";
+App::$strings["Your profile page"] = "La teva pàgina de perfil";
+App::$strings["Manage/Edit profiles"] = "Gestiona/Edita perfils";
+App::$strings["Edit Profile"] = "Edita Perfil";
+App::$strings["Edit your profile"] = "Edita el teu perfil";
+App::$strings["Your photos"] = "Les Teves Fotos";
+App::$strings["Your files"] = "Els teus arxius";
+App::$strings["Your chatrooms"] = "Les teves sales de xerrar";
+App::$strings["Bookmarks"] = "Marcadors";
+App::$strings["Your bookmarks"] = "Els teus marcadors";
+App::$strings["Your webpages"] = "Les teves pàgines web";
+App::$strings["Sign in"] = "Signatura";
+App::$strings["%s - click to logout"] = "%s - click per desconectar";
+App::$strings["Remote authentication"] = "Autenticació remota";
+App::$strings["Click to authenticate to your home hub"] = "Clica per autentificar-te en el teu node";
+App::$strings["Home Page"] = "Pàgina Personal";
+App::$strings["Create an account"] = "Crear un compte";
+App::$strings["Help and documentation"] = "Ajuda i documentació";
+App::$strings["Applications, utilities, links, games"] = "Aplicacions, utilitats, enllaços, jocs";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca pel lloc @name, #tag, ?docs, contingut";
+App::$strings["Channel Directory"] = "Directori de Canals";
+App::$strings["Your grid"] = "La teva malla";
+App::$strings["Mark all grid notifications seen"] = "Marca totes les notificacions de la malla vistes";
+App::$strings["Channel home"] = "Canal personal";
+App::$strings["Mark all channel notifications seen"] = "Marca totes les notificacions de canal vistes";
+App::$strings["Notices"] = "Noticies";
+App::$strings["Notifications"] = "Notificacions";
+App::$strings["See all notifications"] = "Veure totes les Notificacions";
+App::$strings["Private mail"] = "Correu privat";
+App::$strings["See all private messages"] = "Veure tots els missatges privats";
+App::$strings["Mark all private messages seen"] = "Marcar tots els missatges privats vistos";
+App::$strings["Event Calendar"] = "Calendari d'Events";
+App::$strings["See all events"] = "Veure tots els esdeveniments";
+App::$strings["Mark all events seen"] = "Marcar tots els esdeveniments vistos";
+App::$strings["Manage Your Channels"] = "Gestiona els Teus Canals";
+App::$strings["Account/Channel Settings"] = "Ajustos de Compte/Canal";
+App::$strings["Site Setup and Configuration"] = "Ajustos i Configuració del Lloc";
+App::$strings["Loading..."] = "Carregant...";
+App::$strings["@name, #tag, ?doc, content"] = "@nom, #etiqueta, ?doc, contingut";
+App::$strings["Please wait..."] = "Si us plau, espera.......";
+App::$strings["New window"] = "Nova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Obrir la localització seleccionada en un altre finestra o pestanya del navegador";
+App::$strings["User '%s' deleted"] = "usuari '%s' esborrat";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invitació disponible",
+ 1 => "%d invitacions disponibles",
+);
+App::$strings["Find Channels"] = "Troba Canals";
+App::$strings["Enter name or interest"] = "Entra un nom o interes";
+App::$strings["Connect/Follow"] = "Conecta/Segueix";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Lionel Messi, Futbolista";
+App::$strings["Random Profile"] = "Perfil Aleatori";
+App::$strings["Invite Friends"] = "Convida Amics";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avançat: nom=pep i pais=eire";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d connexió en comú",
+ 1 => "%d connexions en comú",
+);
+App::$strings["show more"] = "mostrar més";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s esta ara connectat amb %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s a esperonat %2\$s";
+App::$strings["View %s's profile @ %s"] = "Vista %s del perfil @ %s";
+App::$strings["Categories:"] = "Categories:";
+App::$strings["Filed under:"] = "Arxivar a:";
+App::$strings["View in context"] = "Veure en context";
+App::$strings["remove"] = "treu";
+App::$strings["Delete Selected Items"] = "Esborra els Articles Seleccionats";
+App::$strings["View Source"] = "Veure l'Origen";
+App::$strings["Follow Thread"] = "Segueix el Fil";
+App::$strings["Unfollow Thread"] = "Fil Abandonat";
+App::$strings["Activity/Posts"] = "Activitat/Entrades";
+App::$strings["Edit Connection"] = "Modifica la Connexió";
+App::$strings["Message"] = "Missatge";
+App::$strings["%s likes this."] = "%s agrada això.";
+App::$strings["%s doesn't like this."] = "%s no agrada això.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d gent</span> agrada això.",
+ 1 => "<span %1\$s>%2\$d gent</span> agrada això.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d gent</span> no agrada això.",
+ 1 => "<span %1\$s>%2\$d gent</span> no agrada això.",
+);
+App::$strings["and"] = "i";
+App::$strings[", and %d other people"] = array(
+ 0 => ", i %d altra gent",
+ 1 => ", i %d altra gent",
+);
+App::$strings["%s like this."] = "%s agrada això.";
+App::$strings["%s don't like this."] = "%s no agrada això.";
+App::$strings["Set your location"] = "Ajusta la teva ubicació";
+App::$strings["Clear browser location"] = "Treu la localització del navegador";
+App::$strings["Tag term:"] = "Paraula de l'Etiqueta:";
+App::$strings["Where are you right now?"] = "On ets ara?";
+App::$strings["Page link name"] = "Nom de la pàgina enllaçada";
+App::$strings["Post as"] = "Envia com";
+App::$strings["Toggle voting"] = "Commutar votació";
+App::$strings["Categories (optional, comma-separated list)"] = "Categories (opcional, llista separada per comes)";
+App::$strings["Set publish date"] = "Ajusta la data de publicació";
+App::$strings["OK"] = "OK";
+App::$strings["Discover"] = "Descobrir";
+App::$strings["Imported public streams"] = "Importar fluxos públics";
+App::$strings["Commented Order"] = "Ordenar per Comentaris";
+App::$strings["Sort by Comment Date"] = "Ordenar per Data del Comentari";
+App::$strings["Posted Order"] = "Ordenar per Entrades";
+App::$strings["Sort by Post Date"] = "Ordenar per Data d' Entrada";
+App::$strings["Posts that mention or involve you"] = "Entrades que et mencionen o involucren";
+App::$strings["Activity Stream - by date"] = "Activitat del Flux - per data";
+App::$strings["Starred"] = "Preferit";
+App::$strings["Favourite Posts"] = "Entrades Favorites";
+App::$strings["Spam"] = "Spam";
+App::$strings["Posts flagged as SPAM"] = "Entrades marcades com a SPAM";
+App::$strings["Status Messages and Posts"] = "Estat dels Missatges i Entrades";
+App::$strings["About"] = "El Meu Perfil";
+App::$strings["Profile Details"] = "Detalls del Perfil";
+App::$strings["Photo Albums"] = "Albums de Fotos";
+App::$strings["Files and Storage"] = "Arxius i Emmagatzegament";
+App::$strings["Saved Bookmarks"] = "Marcadors Guardats";
+App::$strings["Manage Webpages"] = "Gestió de Pàgines Web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Assistint",
+ 1 => "Assistint",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Desassistint",
+ 1 => "Desassistint",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indecís",
+ 1 => "Indecisos",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "Acord",
+ 1 => "Acords",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Desacord",
+ 1 => "Desacords",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Abstenirse",
+ 1 => "Abstenirse",
+);
+App::$strings["Frequently"] = "Freqüentment";
+App::$strings["Hourly"] = "Horariament";
+App::$strings["Twice daily"] = "Dos vegades al dia";
+App::$strings["Daily"] = "Diariament";
+App::$strings["Weekly"] = "Setmanalment";
+App::$strings["Monthly"] = "Mensualment";
+App::$strings["Currently Male"] = "Actualment Masculí";
+App::$strings["Currently Female"] = "Actualment Femení";
+App::$strings["Mostly Male"] = "Més aviat Masculí";
+App::$strings["Mostly Female"] = "Més Aviat Femení";
+App::$strings["Transgender"] = "Canvi de Sexe";
+App::$strings["Intersex"] = "Intersexual";
+App::$strings["Transsexual"] = "Transsexual";
+App::$strings["Hermaphrodite"] = "Hermafrodita";
+App::$strings["Neuter"] = "Neutre";
+App::$strings["Non-specific"] = "Indefinit";
+App::$strings["Other"] = "Altres";
+App::$strings["Undecided"] = "Indecís";
+App::$strings["Males"] = "Homes";
+App::$strings["Females"] = "Dones";
+App::$strings["Gay"] = "Gay";
+App::$strings["Lesbian"] = "Lesbianes";
+App::$strings["No Preference"] = "Sense Preferències";
+App::$strings["Bisexual"] = "Bisexual";
+App::$strings["Autosexual"] = "Autosexual";
+App::$strings["Abstinent"] = "Abstinent";
+App::$strings["Virgin"] = "Verge";
+App::$strings["Deviant"] = "Desviat";
+App::$strings["Fetish"] = "Fetixiste";
+App::$strings["Oodles"] = "Orgies";
+App::$strings["Nonsexual"] = "Asexual";
+App::$strings["Single"] = "Solter";
+App::$strings["Lonely"] = "Solitari";
+App::$strings["Available"] = "Disponible";
+App::$strings["Unavailable"] = "No Disponible";
+App::$strings["Has crush"] = "Aplastat";
+App::$strings["Infatuated"] = "Encapritxat";
+App::$strings["Dating"] = "Promés";
+App::$strings["Unfaithful"] = "Infidel";
+App::$strings["Sex Addict"] = "Adicte al Sexe";
+App::$strings["Friends/Benefits"] = "Amics amb Beneficis";
+App::$strings["Casual"] = "Casual";
+App::$strings["Engaged"] = "Ocupat";
+App::$strings["Married"] = "Casat";
+App::$strings["Imaginarily married"] = "Casat Imaginàriament";
+App::$strings["Partners"] = "Parella";
+App::$strings["Cohabiting"] = "Cohabitant";
+App::$strings["Common law"] = "Tradició";
+App::$strings["Happy"] = "Feliç";
+App::$strings["Not looking"] = "No Cerco";
+App::$strings["Swinger"] = "Llibertí";
+App::$strings["Betrayed"] = "Traït";
+App::$strings["Separated"] = "Separat";
+App::$strings["Unstable"] = "Inestable";
+App::$strings["Divorced"] = "Divorciat";
+App::$strings["Imaginarily divorced"] = "Divorciat Imaginàriament";
+App::$strings["Widowed"] = "Vidu/ua";
+App::$strings["Uncertain"] = "Incert";
+App::$strings["It's complicated"] = "Es Complicat";
+App::$strings["Don't care"] = "No Et Fa Res";
+App::$strings["Ask me"] = "Pregunta";
+App::$strings["Visible to your default audience"] = "Visible per a la teva audiència ";
+App::$strings["Only me"] = "Només jo";
+App::$strings["Public"] = "Públic";
+App::$strings["Anybody in the \$Projectname network"] = "Ningú a la xarxa \$Projectname";
+App::$strings["Any account on %s"] = "Qualsevol compte a %s";
+App::$strings["Any of my connections"] = "Qualsevol de les meves connexions";
+App::$strings["Only connections I specifically allow"] = "Només les connexions que permeto específicament";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Qualsevol persona autenticada (podria incloure als usuaris d'altres xarxes)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Qualsevol connexió incloent aquells que encara no han estat aprovats";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Aquest és l'ajust per defecte per al públic del seu flux normal i entrades.";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Aquesta és la configuració per defecte per a qui pugui veure el teu perfil per defecte del canal";
+App::$strings["This is your default setting for who can view your connections"] = "Aquesta és la configuració per defecte per a qui pugui veure les teves connexions";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Aquesta és la configuració per defecte per a qui pugui veure els teus arxius i fotos";
+App::$strings["This is your default setting for the audience of your webpages"] = "Aquests son els ajustos per defecte de l'audiència de les teves pàgines web";
+App::$strings["Not a valid email address"] = "Adreça de correu electrònic no vàlida";
+App::$strings["Your email domain is not among those allowed on this site"] = "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc";
+App::$strings["Your email address is already registered at this site."] = "La teva adreça de correu electrònic ja esta registrada en aquest lloc";
+App::$strings["An invitation is required."] = "Es requereix Invitació";
+App::$strings["Invitation could not be verified."] = "L'invitació no ha pogut ser verificada";
+App::$strings["Please enter the required information."] = "Entra la informació sol·licitada";
+App::$strings["Failed to store account information."] = "Ha fallat guardar la informació del compte";
+App::$strings["Registration confirmation for %s"] = "Registre confirmat per %s";
+App::$strings["Registration request at %s"] = "Sol·licitud de registre a %s";
+App::$strings["Administrator"] = "Administrador";
+App::$strings["your registration password"] = "la teva contrasenya registrada";
+App::$strings["Registration details for %s"] = "Detalls del registre per %s";
+App::$strings["Account approved."] = "Compte aprovat.";
+App::$strings["Registration revoked for %s"] = "Registre revocat per %s";
+App::$strings["Account verified. Please login."] = "Compte verificat. Si us plau, inicia sessió.";
+App::$strings["Click here to upgrade."] = "Feu clic aquí per actualitzar.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Aquesta acció és superior als límits establerts pel seu pla de subscripció.";
+App::$strings["This action is not available under your subscription plan."] = "Aquesta acció no està disponible en el seu pla de subscripció.";
+App::$strings["Item was not found."] = "Article no trobat.";
+App::$strings["No source file."] = "No hi ha arxiu d'origen.";
+App::$strings["Cannot locate file to replace"] = "No trobo l'arxiu a reemplaçar";
+App::$strings["Cannot locate file to revise/update"] = "No trobo l'arxiu a revisar/actualitzar";
+App::$strings["File exceeds size limit of %d"] = "L'arxiu excedeix la mida limit de %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda.";
+App::$strings["Stored file could not be verified. Upload failed."] = "L'arxiu guardat no es pot verificar. Pujada fallida.";
+App::$strings["Path not available."] = "Trajectòria no disponible";
+App::$strings["Empty pathname"] = "Trajèctoria vuida.";
+App::$strings["duplicate filename or path"] = "Nom o trajectòria duplicat";
+App::$strings["Path not found."] = "Trajectòria no trobada.";
+App::$strings["mkdir failed."] = "mkdir va fracassar.";
+App::$strings["database storage failed."] = "Arxiu de base de dades va fallar.";
+App::$strings["Empty path"] = "Trajèctoria vuida";
+App::$strings["Unable to obtain identity information from database"] = "Incapaç de trobar l'informació d'identitat a la base de dades";
+App::$strings["Empty name"] = "Nom buit";
+App::$strings["Name too long"] = "Nom massa llarg";
+App::$strings["No account identifier"] = "Sense identificador de compte";
+App::$strings["Nickname is required."] = "Alies/malnom es requerit.";
+App::$strings["Reserved nickname. Please choose another."] = "Àlies reservat. Tria un altre.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "L'álies te caracters no soportats o ja esta en ús en aquest lloc";
+App::$strings["Unable to retrieve created identity"] = "No es pot recuperar la identitat creada";
+App::$strings["Default Profile"] = "Perfil per Defecte";
+App::$strings["Requested channel is not available."] = "El canal demanat no està disponible.";
+App::$strings["Create New Profile"] = "Crear un Perfil Nou";
+App::$strings["Visible to everybody"] = "Visible per tothom";
+App::$strings["Gender:"] = "Gènere:";
+App::$strings["Status:"] = "Estatus:";
+App::$strings["Homepage:"] = "Pàgina Personal:";
+App::$strings["Online Now"] = "Ara en Linia";
+App::$strings["Like this channel"] = "M'agrada aquest canal";
+App::$strings["j F, Y"] = "j F, Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Aniversari:";
+App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Preferència Sexual:";
+App::$strings["Tags:"] = "Etiquetes:";
+App::$strings["Political Views:"] = "Idees Polítiques:";
+App::$strings["Religion:"] = "Religió:";
+App::$strings["Hobbies/Interests:"] = "Aficions/Interessos:";
+App::$strings["Likes:"] = "Agrada:";
+App::$strings["Dislikes:"] = "Desagrada:";
+App::$strings["Contact information and Social Networks:"] = "Informació de contacte i Xarxes Socials:";
+App::$strings["My other channels:"] = "Els meus altres canals:";
+App::$strings["Musical interests:"] = "Interessos Musicals:";
+App::$strings["Books, literature:"] = "Llibres, literatura:";
+App::$strings["Television:"] = "Televisió:";
+App::$strings["Film/dance/culture/entertainment:"] = "Películes/Dança/Cultura/Entreteniment:";
+App::$strings["Love/Romance:"] = "Amor/Romace:";
+App::$strings["Work/employment:"] = "Treball/feina:";
+App::$strings["School/education:"] = "Escola/educació:";
+App::$strings["Like this thing"] = "M'agrada això";
+App::$strings["General Features"] = "Característiques Generals";
+App::$strings["Content Expiration"] = "Expiració del Contingut";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "eliminarà entrades/comentaris i/o missatges privats en un període determinat de temps.";
+App::$strings["Multiple Profiles"] = "Multiples Perfils";
+App::$strings["Ability to create multiple profiles"] = "Capacitat per crear multiples perfils";
+App::$strings["Advanced Profiles"] = "Perfils Avançats";
+App::$strings["Additional profile sections and selections"] = "Seccions i seleccions addicionals de perfils ";
+App::$strings["Profile Import/Export"] = "Importar/Exportar Perfil";
+App::$strings["Save and load profile details across sites/channels"] = "Guarda i carrega els detalls del perfil al llarg dels llocs/canals";
+App::$strings["Web Pages"] = "Pàgines Web";
+App::$strings["Provide managed web pages on your channel"] = "Proporcionar pàgines web gestionades al seu canal";
+App::$strings["Hide Rating"] = "Amaga la Valoració";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Amaga el botó de valoracions al teu canal i pàgines del perfil. Nota: Et poden continuar valorant en altres llocs.";
+App::$strings["Private Notes"] = "Notes Privades";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Activa l'eina per guardar notes i recordatoris (nota:no està encriptat)";
+App::$strings["Navigation Channel Select"] = "Navegació pel Selector de Canals";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Canvieu els canals directament des del menú desplegable de navegació";
+App::$strings["Photo Location"] = "Ubicació de la Foto";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si les dades d'ubicació estàn disponibles a les fotos pujades, vincular a un mapa.";
+App::$strings["Access Controlled Chatrooms"] = "Accés Controlat a les Sales de Xat";
+App::$strings["Provide chatrooms and chat services with access control."] = "Proveeix sales de Xat i serveis de Xat amb control d'accés.";
+App::$strings["Smart Birthdays"] = "Aniversaris Intel·ligents";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Fes, conscients de la zona horària, els esdeveniments d'aniversari, en cas que els teus amics estiguin dispersos per tot el planeta.";
+App::$strings["Expert Mode"] = "Manera Experta";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activar Mode Expert per a proporcionar opcions avançades de configuració";
+App::$strings["Premium Channel"] = "Privilegis del Canal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal";
+App::$strings["Post Composition Features"] = "Característiques de Composició d'Entrades";
+App::$strings["Large Photos"] = "Grans Fotos";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclou gran (1024px) foto de miniatura a les entrades. Si no està activat, empra petita (640px) foto de miniatura.";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automàticament el contingut del canal des de altres canals o feeds";
+App::$strings["Even More Encryption"] = "Encara Més Encriptació";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida";
+App::$strings["Enable Voting Tools"] = "Habilitar Eines de Votació";
+App::$strings["Provide a class of post which others can vote on"] = "Proporcionar una classe d'entrada que altres puguin votar";
+App::$strings["Delayed Posting"] = "Retarda Publicació";
+App::$strings["Allow posts to be published at a later date"] = "Permet que les publicacions es publiquin en data posterior";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Suprimeix Duplicats de Publicacions/Comentaris";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Evita que publicacions amb identic contingut siguin publicades amb menys de dos minuts entre entregues.";
+App::$strings["Network and Stream Filtering"] = "Filtrat de Xarxa i Flux";
+App::$strings["Search by Date"] = "Cerca per Data";
+App::$strings["Ability to select posts by date ranges"] = "Capacitat per seleccionar entrades per rang de dates";
+App::$strings["Privacy Groups"] = "Grup Privat";
+App::$strings["Enable management and selection of privacy groups"] = "Habilita gestió i selecció de grups privats";
+App::$strings["Save search terms for re-use"] = "Guardar els termin de la cerca per a re-usar";
+App::$strings["Network Personal Tab"] = "Pestanya Personal de Xarxa";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activa la pestanya per mostrar només les entrades de xarxa en les que has intervingut";
+App::$strings["Network New Tab"] = "Pestanya Nou a la Xarxa";
+App::$strings["Enable tab to display all new Network activity"] = "Activa pestanya per mostrar tota l'activitat nova de la Xarxa";
+App::$strings["Affinity Tool"] = "Eina d'Afinitat";
+App::$strings["Filter stream activity by depth of relationships"] = "Filtre d'activitat del flux per importància de la relació";
+App::$strings["Connection Filtering"] = "Filtre de Connexió";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut ";
+App::$strings["Show channel suggestions"] = "Mostra suggerencies de canals";
+App::$strings["Post/Comment Tools"] = "Eina d'Entrades/Comentaris";
+App::$strings["Community Tagging"] = "Etiquetat per la Comunitat";
+App::$strings["Ability to tag existing posts"] = "Capacitat d'etiquetar entrades existents";
+App::$strings["Post Categories"] = "Categories d'Entrades";
+App::$strings["Add categories to your posts"] = "Afegeix categoria a la teva entrada";
+App::$strings["Emoji Reactions"] = "";
+App::$strings["Add emoji reaction ability to posts"] = "";
+App::$strings["Ability to file posts under folders"] = "Capacitat de arxivar entrades en les carpetes";
+App::$strings["Dislike Posts"] = "No Agrada l'Entrada";
+App::$strings["Ability to dislike posts/comments"] = "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris";
+App::$strings["Star Posts"] = "Entrades Excel·lents";
+App::$strings["Ability to mark special posts with a star indicator"] = "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia";
+App::$strings["Tag Cloud"] = "Núvol d'Etiquetes.";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal";
+App::$strings["Embedded content"] = "Contingut embegut";
+App::$strings["Embedding disabled"] = "Incorporació desactivada";
+App::$strings["Who can see this?"] = "Qui pot veure això?";
+App::$strings["Custom selection"] = "Selecció a mida";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Selecciona \"Mostrar\" per permetre la visualització. \"No Mostrar\" et permet obviar i limitar l'abast de \"Mostrar\".";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "No mostrar";
+App::$strings["Other networks and post services"] = "Altres xarxes i serveis de correu";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Els permisos d'entrada %s no poden esser canviats %s posteriorment a que una entrada ja està compartida. </br />Aquest ajust dels permisos indica qui pot veure l'entrada.";
+App::$strings["Logged out."] = "Sortir.";
+App::$strings["Failed authentication"] = "Autenticació fallida";
+App::$strings["Birthday"] = "Aniversari";
+App::$strings["Age: "] = "Edat:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD o MM-DD";
+App::$strings["never"] = "mai";
+App::$strings["less than a second ago"] = "fa menys d'un segon";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "Fa %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "any",
+ 1 => "anys",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "mes",
+ 1 => "mesos ",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "setmana",
+ 1 => "setmanes",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "dia",
+ 1 => "dies",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "hora",
+ 1 => "hores",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minut",
+ 1 => "minuts",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "segon",
+ 1 => "segons",
+);
+App::$strings["%1\$s's birthday"] = "Aniversari de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Feliç Aniversari %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent.";
+App::$strings["Add new connections to this privacy group"] = "Afegir noves connexions a aquest grup privat";
+App::$strings["edit"] = "edita";
+App::$strings["Edit group"] = "Editar grup";
+App::$strings["Add privacy group"] = "Afegir grup privat";
+App::$strings["Channels not in any privacy group"] = "Sense canals en grups privats";
+App::$strings["Delete this item?"] = "Esborrar aquest item?";
+App::$strings["[-] show less"] = "[-] mostra menys";
+App::$strings["[+] expand"] = "[+] expandeix";
+App::$strings["[-] collapse"] = "[-] colapsa";
+App::$strings["Password too short"] = "Contrasenya massa curta";
+App::$strings["Passwords do not match"] = "Les paraules de pas no coincideixen";
+App::$strings["everybody"] = "tothom";
+App::$strings["Secret Passphrase"] = "Contrasenya Secreta";
+App::$strings["Passphrase hint"] = "Pista per la Contrasenya";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Avis: Els permisos han canviat però encara no han estat enviats.";
+App::$strings["close all"] = "tanca tot";
+App::$strings["Nothing new here"] = "Res de nou per aquí";
+App::$strings["Rate This Channel (this is public)"] = "Valora Aquest Canal (això es farà públic)";
+App::$strings["Describe (optional)"] = "Descriu (opcional)";
+App::$strings["Please enter a link URL"] = "Si us plau, entra l'enllaç URL";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "abans";
+App::$strings["from now"] = "des d'ara";
+App::$strings["less than a minute"] = "menys d'un minut";
+App::$strings["about a minute"] = "prop d'un minut";
+App::$strings["%d minutes"] = "%d minuts";
+App::$strings["about an hour"] = "prop d'una hora";
+App::$strings["about %d hours"] = "al voltant de %d hores";
+App::$strings["a day"] = "un dia";
+App::$strings["%d days"] = "%d dies";
+App::$strings["about a month"] = "prop d'un mes";
+App::$strings["%d months"] = "%d mesos";
+App::$strings["about a year"] = "prop d'un any";
+App::$strings["%d years"] = "%d anys";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "Maig";
+App::$strings["Jan"] = "Gen";
+App::$strings["Feb"] = "Feb";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Apr";
+App::$strings["__ctx:short__ May"] = "Maig";
+App::$strings["Jun"] = "Jun";
+App::$strings["Jul"] = "Jul";
+App::$strings["Aug"] = "Ago";
+App::$strings["Sep"] = "Set";
+App::$strings["Oct"] = "Oct";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Des";
+App::$strings["Sun"] = "Dg.";
+App::$strings["Mon"] = "Dl.";
+App::$strings["Tue"] = "Dm.";
+App::$strings["Wed"] = "Dc.";
+App::$strings["Thu"] = "Dj.";
+App::$strings["Fri"] = "Dv.";
+App::$strings["Sat"] = "Ds.";
+App::$strings["__ctx:calendar__ today"] = "avui";
+App::$strings["__ctx:calendar__ month"] = "mes";
+App::$strings["__ctx:calendar__ week"] = "setmana";
+App::$strings["__ctx:calendar__ day"] = "dia";
+App::$strings["__ctx:calendar__ All day"] = "Tot el dia";
+App::$strings["view full size"] = "Veure a mida competa";
+App::$strings["No Subject"] = "Sense Assumpte";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "La imatge excedeix la mida limit pel lloc web en %lu bytes";
+App::$strings["Image file is empty."] = "El fitxer d'imatge esta buit.";
+App::$strings["Photo storage failed."] = "Fracassà l'emmagatzematge de la Foto";
+App::$strings["a new photo"] = "Una foto nova";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s enviat %2\$s a %3\$s";
+App::$strings["Upload New Photos"] = "Puja Noves Fotos";
+App::$strings["Invalid data packet"] = "paquet de dades invàlid";
+App::$strings["Unable to verify channel signature"] = "No es pot verificar la signatura del canal";
+App::$strings["Unable to verify site signature for %s"] = "No es pot verificar la signatura del lloc per %s";
+App::$strings["invalid target signature"] = "Signatura objectiu invàlida";
+App::$strings["New Page"] = "Pàgina Nova";
+App::$strings["Title"] = "Títol";
+App::$strings["Can view my normal stream and posts"] = "Pot veure el flux i entrades normals";
+App::$strings["Can view my default channel profile"] = "Pot veure el meu perfil del canal per defecte";
+App::$strings["Can view my connections"] = "Pot veure les meves connexions";
+App::$strings["Can view my file storage and photos"] = "Pot veure al meu magatzem d'arxius i fotos";
+App::$strings["Can view my webpages"] = "Pot veure les meves pàgines web";
+App::$strings["Can send me their channel stream and posts"] = "Pot enviar-me el flux i entrades del seu canal";
+App::$strings["Can post on my channel page (\"wall\")"] = "Pot fer entrades a la meva pàgina de canal (\"mur\")";
+App::$strings["Can comment on or like my posts"] = "Pot fer comentaris o dir si agrada en les meves entrades";
+App::$strings["Can send me private mail messages"] = "Pot enviar-me un missatge de correu privat";
+App::$strings["Can like/dislike stuff"] = "Pot dir si agrada/desagrada ";
+App::$strings["Profiles and things other than posts/comments"] = "Perfils i altres coses a més d'entrades/comentaris";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Ho pot enviar a tots els meus contactes del canal via entrades @mencions";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avançat - capaç de crear canals de grups de foro";
+App::$strings["Can chat with me (when available)"] = "Pot xatejar amb mi (si estic disponible)";
+App::$strings["Can write to my file storage and photos"] = "Pot escriure al meu magatzem d'arxius i fotos";
+App::$strings["Can edit my webpages"] = "Pot editar les meves pàgines web";
+App::$strings["Can source my public posts in derived channels"] = "Pot mostrar l'origen de les meves entrades públiques en altres canals";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Quelcom avançat - molt útil en comunitats obertes";
+App::$strings["Can administer my channel resources"] = "Pot administrar els meus recursos del canal";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremadament avançat. No toquis res si no saps que estàs fent";
+App::$strings["Social Networking"] = "Xarxes Socials";
+App::$strings["Social - Mostly Public"] = "Social - Principalment Públic";
+App::$strings["Social - Restricted"] = "Social - Restingit";
+App::$strings["Social - Private"] = "Social - Privat";
+App::$strings["Community Forum"] = "Foro de Comunitat";
+App::$strings["Forum - Mostly Public"] = "Fòrum - Principalment Públic";
+App::$strings["Forum - Restricted"] = "Fòrum - Restringit";
+App::$strings["Forum - Private"] = "Fòrum - Privat";
+App::$strings["Feed Republish"] = "Republicador";
+App::$strings["Feed - Mostly Public"] = "Realimentador - Públic Principalment";
+App::$strings["Feed - Restricted"] = "Retroalimentador - Restringit";
+App::$strings["Special Purpose"] = "Objectiu Especial";
+App::$strings["Special - Celebrity/Soapbox"] = "Espacial - Celebritat/Plataforma";
+App::$strings["Special - Group Repository"] = "Especial - Repositori d'un Grup";
+App::$strings["Custom/Expert Mode"] = "Personalitzat/Manera Experta";
+App::$strings[" and "] = "i";
+App::$strings["public profile"] = "Perfil públic";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s canviat %2\$s a &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Visita %1\$s en %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s Ha actualitzat %2\$s, canviant %3\$s.";
+App::$strings["Attachments:"] = "Adjuntat:";
+App::$strings["\$Projectname event notification:"] = "Notificació d'esdeveniment de \$Projectname";
+App::$strings["Focus (Hubzilla default)"] = "Focus (Hubzilla per defecte)";
App::$strings["Theme settings"] = "Ajustos de tema";
-App::$strings["Set scheme"] = "Ajustos d'esquema";
-App::$strings["Set font-size for posts and comments"] = "Ajusta la mida del tipus de lletra per a entrades i comentaris";
-App::$strings["Set font face"] = "Ajusta el tipus de lletra";
-App::$strings["Set iconset"] = "Ajusta el conjunt d'icones";
-App::$strings["Set big shadow size, default 15px 15px 15px"] = "Ajusta la mida gran de l'ombra, predeterminat a 15px 15px 15px";
-App::$strings["Set small shadow size, default 5px 5px 5px"] = "Ajusta la mida petita de l'ombra, predeterminat a 5px 5px 5px";
-App::$strings["Set shadow color, default #000"] = "Ajusta el color de l'ombra, predeterminat a #000";
-App::$strings["Set radius size, default 5px"] = "Ajusta la mida del radi, predeterminat a 5px";
-App::$strings["Set line-height for posts and comments"] = "Ajusta el gruix de línia per entrades i comentaris";
-App::$strings["Set background image"] = "Ajusta l'imatge de fons";
-App::$strings["Set background attachment"] = "Ajusta els adjunts en segon pla";
-App::$strings["Set background color"] = "Ajusta el color en segon pla";
-App::$strings["Set section background image"] = "Ajusta la secció d'imatge en segon pla";
-App::$strings["Set section background color"] = "Ajusta el color de la secció en segon pla";
-App::$strings["Set color of items - use hex"] = "Ajuste el color dels articles - empra codi hexadecimal";
-App::$strings["Set color of links - use hex"] = "ajusta el color dels enlaços - empra codi hexadecimal";
-App::$strings["Set max-width for items. Default 400px"] = "Ajusta l'amplada màxima dels articles. Predeterminat a 400px";
-App::$strings["Set min-width for items. Default 240px"] = "Ajusta l'amplada minima dels articles. Predeterminat a 240px";
-App::$strings["Set the generic content wrapper width. Default 48%"] = "Ajusta l'amplada de l'embolcall del contingut genèric. Predeterminat a 48%";
-App::$strings["Set color of fonts - use hex"] = "Ajusta el color del tipus de lletra - empra codi hexadecimal";
-App::$strings["Set background-size element"] = "Ajusta la mida de l'element en segon pla";
-App::$strings["Item opacity"] = "Opacitat de l'article";
-App::$strings["Display post previews only"] = "Mostra tan sols les previsualitzacions de les entrades";
-App::$strings["Display side bar on channel page"] = "Mostra la barra lateral a la pàgina del canal";
-App::$strings["Colour of the navigation bar"] = "Color de la barra de navegació";
-App::$strings["Item float"] = "Article flotant";
-App::$strings["Left offset of the section element"] = "Desplaçament esquerra de l'element de secció";
-App::$strings["Right offset of the section element"] = "Desplaçament dret de l'element de secció";
-App::$strings["Section width"] = "Amplada de la secció";
-App::$strings["Left offset of the aside"] = "Desplaçament esquerra del costat";
-App::$strings["Right offset of the aside element"] = "Desplaçament dret de l'element del costat";
-App::$strings["Light (Red Matrix default)"] = "Clar (predeterminat)";
App::$strings["Select scheme"] = "Tria esquema";
App::$strings["Narrow navbar"] = "Barra de navegació estreta";
App::$strings["Navigation bar background color"] = "Color de fons de la barra de navegació";
@@ -2126,23 +2279,26 @@ App::$strings["Set the basic color for item icons"] = "ajusta el color basic per
App::$strings["Set the hover color for item icons"] = "Ajusta el color de la libració de les icones dels articles";
App::$strings["Set font-size for the entire application"] = "Ajusta la mida del tipus de lletra per tota l'aplicació";
App::$strings["Example: 14px"] = "Exemple: 14px";
+App::$strings["Set font-size for posts and comments"] = "Ajusta la mida del tipus de lletra per a entrades i comentaris";
App::$strings["Set font-color for posts and comments"] = "Ajusta el color del tipus de lletra per entrades i comentaris";
App::$strings["Set radius of corners"] = "Ajusta el radi de les cantonades";
App::$strings["Set shadow depth of photos"] = "Ajusta la profunditat d'ombres de les fotos";
App::$strings["Set maximum width of content region in pixel"] = "Ajusta l'amplada màxima de la zona de contingut en pixels";
App::$strings["Leave empty for default width"] = "Deixa en blanc per l'amplada predeterminada";
-App::$strings["Center page content"] = "Contingut del centre de la pàgina";
+App::$strings["Left align page content"] = "Alineació esquerra del contingut de la pàgina";
App::$strings["Set minimum opacity of nav bar - to hide it"] = "Ajusta la opacitat mínima de la harra de navegació - per amagar-la";
App::$strings["Set size of conversation author photo"] = "Ajusta la mida de la foto del autor a la conversa";
App::$strings["Set size of followup author photos"] = "Ajusta la mida del seguidor de les fotos de l'autor";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Cerca %1\$s(%2\$s)";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
App::$strings["Update %s failed. See error logs."] = "L'actualització %s ha fallat. Mira el registre d'errors.";
App::$strings["Update Error at %s"] = "Error d'Actualització a %s";
-App::$strings["Create an account to access services and applications within the Red Matrix"] = "Crea un compte per accedir als serveis i aplicacions dins de RedMatrix";
+App::$strings["Create an account to access services and applications within the Hubzilla"] = "Crea un compte per accedir als serveis i aplicacions dins de Hubzilla";
App::$strings["Password"] = "Contrasenya";
App::$strings["Remember me"] = "Recorda'm";
App::$strings["Forgot your password?"] = "Has perdut la Contrasenya?";
App::$strings["toggle mobile"] = "canvia a format per a mòbils";
App::$strings["Website SSL certificate is not valid. Please correct."] = "El certificat SSL és invalid, soluciona-ho, si us plau.";
-App::$strings["[red] Website SSL error for %s"] = "[red] Error de SSL per la web %s";
-App::$strings["Cron/Scheduled tasks not running."] = "No s'estan executan les tasques programades al cron.";
-App::$strings["[red] Cron tasks not running on %s"] = "[red] No s'estan executan les tasques programades del cron a %s";
+App::$strings["[hubzilla] Website SSL error for %s"] = "[hubzilla] Error de SSL per la web %s";
+App::$strings["Cron/Scheduled tasks not running."] = "No s'estan executant les tasques programades al cron.";
+App::$strings["[hubzilla] Cron tasks not running on %s"] = "[hubzilla] Les tasques de Cron no rulen a %s";
diff --git a/view/ca/messages.po b/view/ca/messages.po
index 7684159cf..7273015bc 100644
--- a/view/ca/messages.po
+++ b/view/ca/messages.po
@@ -4,16 +4,17 @@
#
# Translators:
# Espart <ranker72@gmail.com>, 2015
-# Rafael, 2013-2015
-# Rafael, 2015
-# Rafael, 2015
+# Rafael Garau, 2016
+# Rafael Garau, 2013-2015
+# Rafael Garau, 2015
+# Rafael Garau, 2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-08-07 00:03-0700\n"
-"PO-Revision-Date: 2015-08-11 22:02+0000\n"
-"Last-Translator: Rafael\n"
+"POT-Creation-Date: 2016-05-20 00:01-0700\n"
+"PO-Revision-Date: 2016-02-19 11:17+0000\n"
+"Last-Translator: Rafael Garau\n"
"Language-Team: Catalan (Spain) (http://www.transifex.com/Friendica/red-matrix/language/ca_ES/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,1350 +22,815 @@ msgstr ""
"Language: ca_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
-
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
-#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
-msgid "Profile Photos"
-msgstr "Fotos del Perfil"
-
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Edita"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Freqüentment"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Horariament"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Dos vegades al dia"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Diariament"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Setmanalment"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Mensualment"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
-msgstr "Correu electrónic"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Creada una nova entrada"
-
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "comentat a l'entrada de %s"
-
#: ../../include/Import/import_diaspora.php:17
msgid "No username found in import file."
-msgstr "No s'ha trobat nom d'usuari a l'arxiu d'importació."
+msgstr "No s'ha trobat cap nom d'usuari a l'arxiu d'importació."
#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
msgid "Unable to create a unique channel address. Import failed."
msgstr "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear."
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:504
+#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:562
msgid "Import completed."
msgstr "S'ha completat la importació."
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:265
+msgid "parent"
+msgstr "amunt"
-#: ../../include/group.php:235
-msgid "Default privacy group for new contacts"
-msgstr "Privacitat de grup predeterminada per a contactes nous"
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2561
+msgid "Collection"
+msgstr "Col·lecció"
-#: ../../include/group.php:254 ../../mod/admin.php:831
-msgid "All Channels"
-msgstr "Tots els Canals"
+#: ../../include/RedDAV/RedBrowser.php:134
+msgid "Principal"
+msgstr "Principal"
-#: ../../include/group.php:276
-msgid "edit"
-msgstr "edita"
+#: ../../include/RedDAV/RedBrowser.php:137
+msgid "Addressbook"
+msgstr "Llista d'adreces"
-#: ../../include/group.php:298
-msgid "Collections"
-msgstr "Col·leccions"
+#: ../../include/RedDAV/RedBrowser.php:140
+msgid "Calendar"
+msgstr "Calendari"
-#: ../../include/group.php:299
-msgid "Edit collection"
-msgstr "Edita col·leccions"
+#: ../../include/RedDAV/RedBrowser.php:143
+msgid "Schedule Inbox"
+msgstr "Programa la bústia d'entrada"
-#: ../../include/group.php:300
-msgid "Add new collection"
-msgstr "Afegeix una nova col·lecció"
+#: ../../include/RedDAV/RedBrowser.php:146
+msgid "Schedule Outbox"
+msgstr "Programa la bústia de sortida"
-#: ../../include/group.php:301
-msgid "Channels not in any collection"
-msgstr "Canals a cap col·lecció"
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:336
+#: ../../include/apps.php:387 ../../include/conversation.php:1030
+#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+msgid "Unknown"
+msgstr "Desconegut"
-#: ../../include/group.php:303 ../../include/widgets.php:275
-msgid "add"
-msgstr "afegeix"
+#: ../../include/RedDAV/RedBrowser.php:227
+#, php-format
+msgid "%1$s used"
+msgstr "Hi ha %1$s en ús"
-#: ../../include/account.php:27
-msgid "Not a valid email address"
-msgstr "Adreça de correu electrònic no vàlida"
+#: ../../include/RedDAV/RedBrowser.php:232
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "Hi ha en ús %1$s de %2$s (%3$s&#37;)"
-#: ../../include/account.php:29
-msgid "Your email domain is not among those allowed on this site"
-msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/apps.php:135 ../../include/conversation.php:1620
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Arxius"
-#: ../../include/account.php:35
-msgid "Your email address is already registered at this site."
-msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
+#: ../../include/RedDAV/RedBrowser.php:253
+msgid "Total"
+msgstr "Total"
-#: ../../include/account.php:67
-msgid "An invitation is required."
-msgstr "Es requereix Invitació"
+#: ../../include/RedDAV/RedBrowser.php:255
+msgid "Shared"
+msgstr "Compartit"
-#: ../../include/account.php:71
-msgid "Invitation could not be verified."
-msgstr "L'invitació no ha pogut ser verificada"
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152
+#: ../../mod/layouts.php:175 ../../mod/menu.php:112
+#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180
+msgid "Create"
+msgstr "Crea"
-#: ../../include/account.php:121
-msgid "Please enter the required information."
-msgstr "Entra la informació sol·licitada"
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:718
+#: ../../mod/photos.php:1248 ../../mod/profile_photo.php:362
+msgid "Upload"
+msgstr "Puja"
-#: ../../include/account.php:188
-msgid "Failed to store account information."
-msgstr "Ha fallat guardar la informació del compte"
+#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../mod/sharedwithme.php:95
+msgid "Name"
+msgstr "Nom"
-#: ../../include/account.php:246
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registre confirmat per %s"
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "Type"
+msgstr "Tipus"
-#: ../../include/account.php:312
-#, php-format
-msgid "Registration request at %s"
-msgstr "Sol·licitud de registre a %s"
+#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+msgid "Size"
+msgstr "Mida"
-#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
-msgid "Administrator"
-msgstr "Administrador"
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+msgid "Last Modified"
+msgstr "Darrera modificació"
+
+#: ../../include/RedDAV/RedBrowser.php:266 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:108
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../mod/blocks.php:153 ../../mod/connections.php:242
+#: ../../mod/connections.php:255 ../../mod/connections.php:274
+#: ../../mod/editblock.php:134 ../../mod/editlayout.php:133
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:178
+#: ../../mod/settings.php:650 ../../mod/layouts.php:183 ../../mod/menu.php:106
+#: ../../mod/thing.php:255 ../../mod/webpages.php:181
+msgid "Edit"
+msgstr "Edita"
-#: ../../include/account.php:336
-msgid "your registration password"
-msgstr "la teva contrasenya registrada"
+#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/apps.php:255 ../../include/conversation.php:671
+#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/photos.php:1062
+#: ../../mod/blocks.php:155 ../../mod/connedit.php:563
+#: ../../mod/editblock.php:180 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:225 ../../mod/group.php:176
+#: ../../mod/settings.php:651 ../../mod/thing.php:256
+#: ../../mod/webpages.php:183
+msgid "Delete"
+msgstr "Esborra"
-#: ../../include/account.php:339 ../../include/account.php:399
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detalls del registre per %s"
+#: ../../include/RedDAV/RedBrowser.php:302
+msgid "Create new folder"
+msgstr "Crea una carpeta nova"
-#: ../../include/account.php:408
-msgid "Account approved."
-msgstr "Compte aprovat."
+#: ../../include/RedDAV/RedBrowser.php:304
+msgid "Upload file"
+msgstr "Puja arxiu"
-#: ../../include/account.php:447
+#: ../../include/dba/dba_driver.php:141
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registre revocat per %s"
-
-#: ../../include/account.php:492
-msgid "Account verified. Please login."
-msgstr "Compte verificat. Si us plau, inicia sessió."
-
-#: ../../include/account.php:705 ../../include/account.php:707
-msgid "Click here to upgrade."
-msgstr "Feu clic aquí per actualitzar."
-
-#: ../../include/account.php:713
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Aquesta acció és superior als límits establerts pel seu pla de subscripció."
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
-#: ../../include/account.php:718
-msgid "This action is not available under your subscription plan."
-msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
+#: ../../include/photo/photo_driver.php:703 ../../mod/photos.php:92
+#: ../../mod/photos.php:637 ../../mod/profile_photo.php:143
+#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
+msgid "Profile Photos"
+msgstr "Fotos del Perfil"
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Miscelania"
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+msgid "Logout"
+msgstr "Desconectar"
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "YYYY-MM-DD o MM-DD"
+#: ../../include/nav.php:87 ../../include/nav.php:120
+msgid "End this session"
+msgstr "Finalitza aquesta sessió"
-#: ../../include/datetime.php:235 ../../mod/events.php:649
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
-msgstr "Requerit"
+#: ../../include/nav.php:90 ../../include/nav.php:151
+msgid "Home"
+msgstr "Personal"
-#: ../../include/datetime.php:262 ../../boot.php:2354
-msgid "never"
-msgstr "mai"
+#: ../../include/nav.php:90
+msgid "Your posts and conversations"
+msgstr "Les teves entrades i converses"
-#: ../../include/datetime.php:268
-msgid "less than a second ago"
-msgstr "fa menys d'un segon"
+#: ../../include/nav.php:91 ../../include/conversation.php:953
+#: ../../mod/connedit.php:510
+msgid "View Profile"
+msgstr "Veure Perfil"
-#: ../../include/datetime.php:271
-msgid "year"
-msgstr "any"
+#: ../../include/nav.php:91
+msgid "Your profile page"
+msgstr "La teva pàgina de perfil"
-#: ../../include/datetime.php:271
-msgid "years"
-msgstr "anys"
+#: ../../include/nav.php:93
+msgid "Edit Profiles"
+msgstr "Editar Perfils"
-#: ../../include/datetime.php:272
-msgid "month"
-msgstr "mes"
+#: ../../include/nav.php:93
+msgid "Manage/Edit profiles"
+msgstr "Gestiona/Edita perfils"
-#: ../../include/datetime.php:272
-msgid "months"
-msgstr "mesos"
+#: ../../include/nav.php:95 ../../include/identity.php:979
+msgid "Edit Profile"
+msgstr "Edita Perfil"
-#: ../../include/datetime.php:273
-msgid "week"
-msgstr "setmana"
+#: ../../include/nav.php:95
+msgid "Edit your profile"
+msgstr "Edita el teu perfil"
-#: ../../include/datetime.php:273
-msgid "weeks"
-msgstr "setmanes"
+#: ../../include/nav.php:97 ../../include/apps.php:139
+#: ../../include/conversation.php:1611 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Fotos"
-#: ../../include/datetime.php:274
-msgid "day"
-msgstr "dia"
+#: ../../include/nav.php:97
+msgid "Your photos"
+msgstr "Les Teves Fotos"
-#: ../../include/datetime.php:274
-msgid "days"
-msgstr "dies"
+#: ../../include/nav.php:98
+msgid "Your files"
+msgstr "Els teus arxius"
-#: ../../include/datetime.php:275
-msgid "hour"
-msgstr "hora"
+#: ../../include/nav.php:103 ../../include/apps.php:146
+msgid "Chat"
+msgstr "Xerrar"
-#: ../../include/datetime.php:275
-msgid "hours"
-msgstr "hores"
+#: ../../include/nav.php:103
+msgid "Your chatrooms"
+msgstr "Les teves sales de xerrar"
-#: ../../include/datetime.php:276
-msgid "minute"
-msgstr "minut"
+#: ../../include/nav.php:109 ../../include/apps.php:129
+#: ../../include/conversation.php:1646
+msgid "Bookmarks"
+msgstr "Marcadors"
-#: ../../include/datetime.php:276
-msgid "minutes"
-msgstr "minuts"
+#: ../../include/nav.php:109
+msgid "Your bookmarks"
+msgstr "Els teus marcadors"
-#: ../../include/datetime.php:277
-msgid "second"
-msgstr "segon"
+#: ../../include/nav.php:113 ../../include/apps.php:136
+#: ../../include/conversation.php:1656 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "Pàgines web"
-#: ../../include/datetime.php:277
-msgid "seconds"
-msgstr "segons"
+#: ../../include/nav.php:113
+msgid "Your webpages"
+msgstr "Les teves pàgines web"
-#: ../../include/datetime.php:285
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "Fa %1$d i %2$s"
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+msgid "Login"
+msgstr "Identifica't"
-#: ../../include/datetime.php:519
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Aniversari de %1$s"
+#: ../../include/nav.php:117
+msgid "Sign in"
+msgstr "Signatura"
-#: ../../include/datetime.php:520
+#: ../../include/nav.php:134
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Feliç Aniversari %1$s"
-
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opcions de Directori"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Mode Segur"
+msgid "%s - click to logout"
+msgstr "%s - click per desconectar"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:635 ../../mod/connedit.php:663
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr "No"
+#: ../../include/nav.php:137
+msgid "Remote authentication"
+msgstr "Autenticació remota"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr "Sí"
+#: ../../include/nav.php:137
+msgid "Click to authenticate to your home hub"
+msgstr "Click per autentificar-te en el teu Lloc "
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Només Fòrums Públics"
+#: ../../include/nav.php:151
+msgid "Home Page"
+msgstr "Pàgina Personal"
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Només Aquest Lloc Web"
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+msgid "Register"
+msgstr "Registre"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Pàgina Nova"
+#: ../../include/nav.php:155
+msgid "Create an account"
+msgstr "Crear un compte"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
-msgid "View"
-msgstr "Mostra"
+#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
+#: ../../mod/help.php:72 ../../mod/layouts.php:176
+msgid "Help"
+msgstr "Ajuda"
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:667 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
-msgid "Preview"
-msgstr "Avanç"
+#: ../../include/nav.php:160
+msgid "Help and documentation"
+msgstr "Ajuda i documentació"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
-msgid "Actions"
-msgstr "Accions"
+#: ../../include/nav.php:163 ../../include/widgets.php:91
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "Aplicatius"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
-msgid "Page Link"
-msgstr "Enllaç a Pàgina"
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Aplicacions, utilitats, enllaços, jocs"
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Títol"
+#: ../../include/nav.php:165 ../../include/text.php:914
+#: ../../include/text.php:926 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Cerca"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
-msgid "Created"
-msgstr "Creat"
+#: ../../include/nav.php:165
+msgid "Search site content"
+msgstr "Cerca en el contingut del lloc"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
-msgid "Edited"
-msgstr "Editat"
+#: ../../include/nav.php:168 ../../include/apps.php:141
+msgid "Directory"
+msgstr "Directori"
-#: ../../include/api.php:1193
-msgid "Public Timeline"
-msgstr "Línia de Temps Pública"
+#: ../../include/nav.php:168
+msgid "Channel Directory"
+msgstr "Directori de Canals"
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Predeterminat"
+#: ../../include/nav.php:180 ../../include/apps.php:133
+msgid "Matrix"
+msgstr "Matriu/Matrix"
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Esborrar aquest item?"
+#: ../../include/nav.php:180
+msgid "Your matrix"
+msgstr "El teu matrix"
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
-msgid "Comment"
-msgstr "Comentari"
+#: ../../include/nav.php:181
+msgid "Mark all matrix notifications seen"
+msgstr "Marca totes les notificacions de matrix vistes"
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
-msgid "[+] show all"
-msgstr "[+] mostra tot"
+#: ../../include/nav.php:183 ../../include/apps.php:137
+msgid "Channel Home"
+msgstr "Canal Personal"
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] mostra menys"
+#: ../../include/nav.php:183
+msgid "Channel home"
+msgstr "Canal personal"
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] expandeix"
+#: ../../include/nav.php:184
+msgid "Mark all channel notifications seen"
+msgstr "Marca totes les notificacions de canal vistes"
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] colapsa"
+#: ../../include/nav.php:187 ../../mod/connections.php:267
+msgid "Connections"
+msgstr "Connexions"
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Contrasenya massa curta"
+#: ../../include/nav.php:190
+msgid "Notices"
+msgstr "Noticies"
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Les paraules de pas no coincideixen"
+#: ../../include/nav.php:190
+msgid "Notifications"
+msgstr "Notificacions"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
-msgid "everybody"
-msgstr "tothom"
+#: ../../include/nav.php:191
+msgid "See all notifications"
+msgstr "Veure totes les Notificacions"
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Contrasenya Secreta"
+#: ../../include/nav.php:192 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Marca totes les notificacions vistes"
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Pista per la Contrasenya"
+#: ../../include/nav.php:194 ../../include/apps.php:143
+msgid "Mail"
+msgstr "Correu"
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Avis: Els permisos han canviat però encara no han estat enviats."
+#: ../../include/nav.php:194
+msgid "Private mail"
+msgstr "Correu privat"
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "tanca tot"
+#: ../../include/nav.php:195
+msgid "See all private messages"
+msgstr "Veure tots els missatges privats"
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Res de nou per aquí"
+#: ../../include/nav.php:196
+msgid "Mark all private messages seen"
+msgstr "Marcar tots els missatges privats vistos"
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Valora Aquest Canal (això es farà públic)"
+#: ../../include/nav.php:197
+msgid "Inbox"
+msgstr "Safata d'entrada"
-#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:671
-msgid "Rating"
-msgstr "Valora"
+#: ../../include/nav.php:198
+msgid "Outbox"
+msgstr "Safata de sortida"
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Descriu (opcional)"
+#: ../../include/nav.php:199 ../../include/widgets.php:577
+msgid "New Message"
+msgstr "Escriu un missatge"
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:494 ../../mod/events.php:670
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:534 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:232 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:692 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Presenta"
+#: ../../include/nav.php:202 ../../include/apps.php:140
+#: ../../mod/events.php:503
+msgid "Events"
+msgstr "Events"
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Si us plau, entra l'enllaç URL"
+#: ../../include/nav.php:202
+msgid "Event Calendar"
+msgstr "Calendari d'Events"
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
+#: ../../include/nav.php:203
+msgid "See all events"
+msgstr "Veure tots els events"
-#: ../../include/js_strings.php:26
-msgid "timeago.prefixAgo"
-msgstr "horapasada.prefixFa"
+#: ../../include/nav.php:204
+msgid "Mark all events seen"
+msgstr "Marcar tots els events vistos"
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
+#: ../../include/nav.php:206 ../../include/apps.php:132
+#: ../../mod/manage.php:166
+msgid "Channel Manager"
+msgstr "Gestor del Canal"
-#: ../../include/js_strings.php:28
-msgid "ago"
-msgstr "fa"
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gestiona els Teus Canals"
-#: ../../include/js_strings.php:29
-msgid "from now"
-msgstr "des d'ara"
+#: ../../include/nav.php:208 ../../include/widgets.php:556
+#: ../../include/apps.php:134 ../../mod/admin.php:1079
+#: ../../mod/admin.php:1279
+msgid "Settings"
+msgstr "Configuració"
-#: ../../include/js_strings.php:30
-msgid "less than a minute"
-msgstr "menys d'un minut"
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Ajustos de Compte/Canal"
-#: ../../include/js_strings.php:31
-msgid "about a minute"
-msgstr "prop d'un minut"
+#: ../../include/nav.php:216 ../../mod/admin.php:120
+msgid "Admin"
+msgstr "Admin"
-#: ../../include/js_strings.php:32
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuts"
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Ajustos i Configuració del Lloc"
-#: ../../include/js_strings.php:33
-msgid "about an hour"
-msgstr "prop d'una hora"
+#: ../../include/nav.php:247 ../../include/conversation.php:861
+msgid "Loading..."
+msgstr "Carregant..."
-#: ../../include/js_strings.php:34
-#, php-format
-msgid "about %d hours"
-msgstr "al voltant de %d hores"
+#: ../../include/nav.php:252
+msgid "@name, #tag, content"
+msgstr "@name, #tag, content"
-#: ../../include/js_strings.php:35
-msgid "a day"
-msgstr "un dia"
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Si us plau, espera......."
-#: ../../include/js_strings.php:36
-#, php-format
-msgid "%d days"
-msgstr "%d dies"
+#: ../../include/network.php:650
+msgid "view full size"
+msgstr "Mostra a mida competa"
-#: ../../include/js_strings.php:37
-msgid "about a month"
-msgstr "prop d'un mes"
+#: ../../include/network.php:1600 ../../include/enotify.php:58
+msgid "$Projectname Notification"
+msgstr "Notificació de $Projectname"
-#: ../../include/js_strings.php:38
-#, php-format
-msgid "%d months"
-msgstr "%d mesos"
+#: ../../include/network.php:1601 ../../include/diaspora.php:2526
+#: ../../include/diaspora.php:2537 ../../include/enotify.php:59
+#: ../../mod/p.php:46
+msgid "$projectname"
+msgstr "$projectname"
-#: ../../include/js_strings.php:39
-msgid "about a year"
-msgstr "prop d'un any"
+#: ../../include/network.php:1603 ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Gràcies,"
-#: ../../include/js_strings.php:40
+#: ../../include/network.php:1605 ../../include/enotify.php:63
#, php-format
-msgid "%d years"
-msgstr "%d anys"
+msgid "%s Administrator"
+msgstr "Administrador de %s"
-#: ../../include/js_strings.php:41
-msgid " "
-msgstr " "
+#: ../../include/network.php:1647 ../../include/account.php:314
+#: ../../include/account.php:341 ../../include/account.php:401
+msgid "Administrator"
+msgstr "Administrador"
-#: ../../include/js_strings.php:42
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
+#: ../../include/network.php:1661
+msgid "No Subject"
+msgstr "Sense assumpte"
-#: ../../include/text.php:395
+#: ../../include/text.php:391
msgid "prev"
-msgstr "prev"
+msgstr "anterior"
-#: ../../include/text.php:397
+#: ../../include/text.php:393
msgid "first"
msgstr "primer"
-#: ../../include/text.php:426
+#: ../../include/text.php:422
msgid "last"
msgstr "últim"
-#: ../../include/text.php:429
+#: ../../include/text.php:425
msgid "next"
-msgstr "pròxim"
+msgstr "següent"
-#: ../../include/text.php:439
+#: ../../include/text.php:435
msgid "older"
-msgstr "el més antic"
+msgstr "més antic"
-#: ../../include/text.php:441
+#: ../../include/text.php:437
msgid "newer"
-msgstr "El més nou"
+msgstr "més nou"
-#: ../../include/text.php:834
+#: ../../include/text.php:830
msgid "No connections"
-msgstr "Sense Connexions"
+msgstr "No hi ha connexions"
-#: ../../include/text.php:848
+#: ../../include/text.php:844
#, php-format
msgid "%d Connection"
msgid_plural "%d Connections"
-msgstr[0] "%d Connexió"
-msgstr[1] "%d Connexions"
+msgstr[0] "Hi ha %d connexió"
+msgstr[1] "Hi ha %d connexions"
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
+#: ../../include/text.php:857 ../../mod/viewconnections.php:104
msgid "View Connections"
-msgstr "Veure Connexions"
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Cerca"
+msgstr "Mostra les connexions"
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
+#: ../../include/text.php:915 ../../include/text.php:927
+#: ../../include/widgets.php:192 ../../mod/admin.php:1457
+#: ../../mod/admin.php:1477 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50
msgid "Save"
-msgstr "Guardar"
+msgstr "Desa"
-#: ../../include/text.php:994
+#: ../../include/text.php:990
msgid "poke"
-msgstr "emprenya"
+msgstr "fes-li un toc"
-#: ../../include/text.php:994 ../../include/conversation.php:243
+#: ../../include/text.php:990 ../../include/conversation.php:243
msgid "poked"
-msgstr "emprenyat"
+msgstr "ha fet un toc a"
-#: ../../include/text.php:995
+#: ../../include/text.php:991
msgid "ping"
-msgstr "coloca"
+msgstr "fes-li ping"
-#: ../../include/text.php:995
+#: ../../include/text.php:991
msgid "pinged"
-msgstr "colocat"
+msgstr "ha fet ping a"
-#: ../../include/text.php:996
+#: ../../include/text.php:992
msgid "prod"
-msgstr "picar"
+msgstr "pica"
-#: ../../include/text.php:996
+#: ../../include/text.php:992
msgid "prodded"
-msgstr "picat"
+msgstr "ha picat"
-#: ../../include/text.php:997
+#: ../../include/text.php:993
msgid "slap"
-msgstr "bufetada"
+msgstr "fes-li un cop de palmell"
-#: ../../include/text.php:997
+#: ../../include/text.php:993
msgid "slapped"
-msgstr "bufetejat"
+msgstr "ha fet un cop de palmell a"
-#: ../../include/text.php:998
+#: ../../include/text.php:994
msgid "finger"
-msgstr "senyal"
+msgstr "acaricia"
-#: ../../include/text.php:998
+#: ../../include/text.php:994
msgid "fingered"
-msgstr "senyalat"
+msgstr "ha acariciat"
-#: ../../include/text.php:999
+#: ../../include/text.php:995
msgid "rebuff"
-msgstr "menyspreu"
+msgstr "aparta"
-#: ../../include/text.php:999
+#: ../../include/text.php:995
msgid "rebuffed"
-msgstr "menyspreuat"
+msgstr "ha apartat"
-#: ../../include/text.php:1009
+#: ../../include/text.php:1005
msgid "happy"
msgstr "feliç"
-#: ../../include/text.php:1010
+#: ../../include/text.php:1006
msgid "sad"
msgstr "trist"
-#: ../../include/text.php:1011
+#: ../../include/text.php:1007
msgid "mellow"
-msgstr "melós"
+msgstr "tendre"
-#: ../../include/text.php:1012
+#: ../../include/text.php:1008
msgid "tired"
msgstr "cansat"
-#: ../../include/text.php:1013
+#: ../../include/text.php:1009
msgid "perky"
-msgstr "turgent"
+msgstr "animat"
-#: ../../include/text.php:1014
+#: ../../include/text.php:1010
msgid "angry"
msgstr "enfadat"
-#: ../../include/text.php:1015
+#: ../../include/text.php:1011
msgid "stupified"
msgstr "encantat"
-#: ../../include/text.php:1016
+#: ../../include/text.php:1012
msgid "puzzled"
-msgstr "perplexe"
+msgstr "perplex"
-#: ../../include/text.php:1017
+#: ../../include/text.php:1013
msgid "interested"
msgstr "Interessat"
-#: ../../include/text.php:1018
+#: ../../include/text.php:1014
msgid "bitter"
msgstr "amargat"
-#: ../../include/text.php:1019
+#: ../../include/text.php:1015
msgid "cheerful"
-msgstr "feliç"
+msgstr "alegre"
-#: ../../include/text.php:1020
+#: ../../include/text.php:1016
msgid "alive"
msgstr "viu"
-#: ../../include/text.php:1021
+#: ../../include/text.php:1017
msgid "annoyed"
msgstr "molest"
-#: ../../include/text.php:1022
+#: ../../include/text.php:1018
msgid "anxious"
msgstr "ansiós"
-#: ../../include/text.php:1023
+#: ../../include/text.php:1019
msgid "cranky"
-msgstr "malagaitós"
+msgstr "de mala bava"
-#: ../../include/text.php:1024
+#: ../../include/text.php:1020
msgid "disturbed"
msgstr "transtornat"
-#: ../../include/text.php:1025
+#: ../../include/text.php:1021
msgid "frustrated"
msgstr "frustrat"
-#: ../../include/text.php:1026
+#: ../../include/text.php:1022
msgid "depressed"
msgstr "deprimit"
-#: ../../include/text.php:1027
+#: ../../include/text.php:1023
msgid "motivated"
msgstr "motivat"
-#: ../../include/text.php:1028
+#: ../../include/text.php:1024
msgid "relaxed"
msgstr "relaxat"
-#: ../../include/text.php:1029
+#: ../../include/text.php:1025
msgid "surprised"
msgstr "sorprès"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Monday"
-msgstr "Dilluns"
+msgstr "dilluns"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Tuesday"
-msgstr "Dimarts"
+msgstr "dimarts"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Wednesday"
-msgstr "Dimecres"
+msgstr "dimecres"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Thursday"
-msgstr "Dijous"
+msgstr "dijous"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Friday"
-msgstr "Divendres"
+msgstr "divendres"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Saturday"
-msgstr "Dissabte"
+msgstr "dissabte"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1197
msgid "Sunday"
-msgstr "Diumenge"
+msgstr "diumenge"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "January"
-msgstr "Gener"
+msgstr "gener"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "February"
-msgstr "Febrer"
+msgstr "febrer"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "March"
-msgstr "Març"
+msgstr "març"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "April"
-msgstr "Abril"
+msgstr "abril"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201 ../../mod/uexport.php:58
+#: ../../mod/uexport.php:59
msgid "May"
-msgstr "Maig"
+msgstr "maig"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "June"
-msgstr "Juny"
+msgstr "juny"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "July"
-msgstr "Juliol"
+msgstr "juliol"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "August"
-msgstr "Agost"
+msgstr "agost"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "September"
-msgstr "Setembre"
+msgstr "setembre"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "October"
-msgstr "Octubre"
+msgstr "octubre"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "November"
-msgstr "Novembre"
+msgstr "novembre"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1201
msgid "December"
-msgstr "Desembre"
+msgstr "desembre"
-#: ../../include/text.php:1310
+#: ../../include/text.php:1306
msgid "unknown.???"
msgstr "desconegut.???"
-#: ../../include/text.php:1311
+#: ../../include/text.php:1307
msgid "bytes"
msgstr "bytes"
-#: ../../include/text.php:1347
+#: ../../include/text.php:1343
msgid "remove category"
-msgstr "elimina categoria"
+msgstr "elimina la categoria"
-#: ../../include/text.php:1422
+#: ../../include/text.php:1418
msgid "remove from file"
-msgstr "elimina del arxiu"
+msgstr "elimina de l'arxiu"
-#: ../../include/text.php:1498 ../../include/text.php:1509
+#: ../../include/text.php:1506 ../../include/text.php:1517
msgid "Click to open/close"
-msgstr "Clic per obrir/tancar"
+msgstr "Fes clic per obrir/tancar"
-#: ../../include/text.php:1665 ../../mod/events.php:457
+#: ../../include/text.php:1673 ../../mod/events.php:474
msgid "Link to Source"
-msgstr "Enllaç a la Font"
+msgstr "Enllaç a la font"
-#: ../../include/text.php:1686 ../../include/text.php:1757
+#: ../../include/text.php:1694 ../../include/text.php:1765
msgid "default"
msgstr "per defecte"
-#: ../../include/text.php:1694
+#: ../../include/text.php:1702
msgid "Page layout"
-msgstr "Format de la pàgina"
+msgstr "Disseny de la pàgina"
-#: ../../include/text.php:1694
+#: ../../include/text.php:1702
msgid "You can create your own with the layouts tool"
-msgstr "Pots crear el teu propi amb l'editor de format de pàgina."
+msgstr "Pots crear el teu propi disseny de pàgina amb l'editor"
-#: ../../include/text.php:1735
+#: ../../include/text.php:1743
msgid "Page content type"
msgstr "Tipus de contingut de la pàgina"
-#: ../../include/text.php:1769
+#: ../../include/text.php:1777
msgid "Select an alternate language"
msgstr "Tria un idioma alternatiu"
-#: ../../include/text.php:1888 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:346
+#: ../../include/text.php:1896 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
#: ../../mod/tagger.php:43
msgid "photo"
msgstr "foto"
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
+#: ../../include/text.php:1899 ../../include/conversation.php:123
+#: ../../mod/like.php:351 ../../mod/tagger.php:47
msgid "event"
-msgstr "succés"
+msgstr "esdeveniment"
-#: ../../include/text.php:1894 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:346
+#: ../../include/text.php:1902 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
msgid "status"
msgstr "estat"
-#: ../../include/text.php:1896 ../../include/conversation.php:150
+#: ../../include/text.php:1904 ../../include/conversation.php:150
#: ../../mod/tagger.php:53
msgid "comment"
msgstr "comentari"
-#: ../../include/text.php:1901
+#: ../../include/text.php:1909
msgid "activity"
msgstr "activitat"
-#: ../../include/text.php:2196
+#: ../../include/text.php:2204
msgid "Design Tools"
msgstr "Eines de disseny"
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
+#: ../../include/text.php:2207 ../../mod/blocks.php:147
msgid "Blocks"
-msgstr "Bloc"
+msgstr "Blocs"
-#: ../../include/text.php:2200 ../../mod/menu.php:98
+#: ../../include/text.php:2208 ../../mod/menu.php:101
msgid "Menus"
msgstr "Menús"
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
+#: ../../include/text.php:2209 ../../mod/layouts.php:174
msgid "Layouts"
-msgstr "Format Gràfic"
+msgstr "Dissenys"
-#: ../../include/text.php:2202
+#: ../../include/text.php:2210
msgid "Pages"
msgstr "Pàgines"
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr "Col·lecció"
-
-#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
-msgid "parent"
-msgstr "pare"
-
-#: ../../include/RedDAV/RedBrowser.php:134
-msgid "Principal"
-msgstr "Principal"
-
-#: ../../include/RedDAV/RedBrowser.php:137
-msgid "Addressbook"
-msgstr "Llista d'Adreçes"
-
-#: ../../include/RedDAV/RedBrowser.php:140
-msgid "Calendar"
-msgstr "Calendari"
-
-#: ../../include/RedDAV/RedBrowser.php:143
-msgid "Schedule Inbox"
-msgstr "Programació de la bústia d'entrada"
-
-#: ../../include/RedDAV/RedBrowser.php:146
-msgid "Schedule Outbox"
-msgstr "Programació de la bústia de sortida"
-
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
-#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
-msgid "Unknown"
-msgstr "Desconegut"
-
-#: ../../include/RedDAV/RedBrowser.php:227
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s emprat"
-
-#: ../../include/RedDAV/RedBrowser.php:232
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s emprat de %2$s (%3$s&#37;)"
-
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1609 ../../include/apps.php:135
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Arxius"
-
-#: ../../include/RedDAV/RedBrowser.php:253
-msgid "Total"
-msgstr "Total"
-
-#: ../../include/RedDAV/RedBrowser.php:255
-msgid "Shared"
-msgstr "Compartit"
-
-#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
-msgid "Create"
-msgstr "Creada"
-
-#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
-msgid "Upload"
-msgstr "Pujar"
-
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
-#: ../../mod/sharedwithme.php:95
-msgid "Name"
-msgstr "Nom"
-
-#: ../../include/RedDAV/RedBrowser.php:262
-msgid "Type"
-msgstr "Tipus"
-
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
-msgid "Size"
-msgstr "Mida"
-
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
-msgid "Last Modified"
-msgstr "Últim Modificat"
-
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
-#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:551
-msgid "Delete"
-msgstr "Esborra"
-
-#: ../../include/RedDAV/RedBrowser.php:302
-msgid "Create new folder"
-msgstr "Crea una nova carpeta"
-
-#: ../../include/RedDAV/RedBrowser.php:304
-msgid "Upload file"
-msgstr "Puja arxiu"
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$s de marcadors"
-
-#: ../../include/network.php:635
-msgid "view full size"
-msgstr "Veure a mida competa"
-
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "Notificació de $Projectname"
-
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Gràcies,"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Administrador"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Sense Assumpte"
-
-#: ../../include/features.php:38
-msgid "General Features"
-msgstr "Característiques Generals"
-
-#: ../../include/features.php:40
-msgid "Content Expiration"
-msgstr "Expiració del Contingut"
-
-#: ../../include/features.php:40
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "elimina entrades/comentaris i/o missatges privats de aquí en endevant."
-
-#: ../../include/features.php:41
-msgid "Multiple Profiles"
-msgstr "Multiples Perfils"
-
-#: ../../include/features.php:41
-msgid "Ability to create multiple profiles"
-msgstr "Capacitat per crear multiples perfils"
-
-#: ../../include/features.php:42
-msgid "Advanced Profiles"
-msgstr "Perfils Avançats"
-
-#: ../../include/features.php:42
-msgid "Additional profile sections and selections"
-msgstr "Seccions i seleccions addicionals de perfils "
-
-#: ../../include/features.php:43
-msgid "Profile Import/Export"
-msgstr "Importar/Exportar Perfil"
-
-#: ../../include/features.php:43
-msgid "Save and load profile details across sites/channels"
-msgstr "Guarda i carrega els detalls del perfil al llarg dels llocs/canals"
-
-#: ../../include/features.php:44
-msgid "Web Pages"
-msgstr "Pàgines Web"
-
-#: ../../include/features.php:44
-msgid "Provide managed web pages on your channel"
-msgstr "Proporcionar pàgines web gestionades al seu canal"
-
-#: ../../include/features.php:45
-msgid "Private Notes"
-msgstr "Notes Privades"
-
-#: ../../include/features.php:45
-msgid "Enables a tool to store notes and reminders"
-msgstr "Activa l'eina per guardar notes i recordatoris"
-
-#: ../../include/features.php:46
-msgid "Navigation Channel Select"
-msgstr "Navegació pel Selector de Canals"
-
-#: ../../include/features.php:46
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Canvieu els canals directament des del menú desplegable de navegació"
-
-#: ../../include/features.php:47
-msgid "Photo Location"
-msgstr "Ubicació de la Photo"
-
-#: ../../include/features.php:47
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Si los datos de ubicación están disponibles en las fotos subidas, vincular a un mapa."
-
-#: ../../include/features.php:49
-msgid "Expert Mode"
-msgstr "Mode Expert"
-
-#: ../../include/features.php:49
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Activar Mode Expert per a proporcionar opcions avançades de configuració"
-
-#: ../../include/features.php:50
-msgid "Premium Channel"
-msgstr "Canal Superior"
-
-#: ../../include/features.php:50
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal"
-
-#: ../../include/features.php:55
-msgid "Post Composition Features"
-msgstr "Característiques de Composició d'Entrades"
-
-#: ../../include/features.php:57
-msgid "Use Markdown"
-msgstr "Us d'Abreviatures"
-
-#: ../../include/features.php:57
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Permet emprat \"Abreviatures\" per formatar entrades"
-
-#: ../../include/features.php:58
-msgid "Large Photos"
-msgstr "Grans Fotos"
-
-#: ../../include/features.php:58
-msgid ""
-"Include large (640px) photo thumbnails in posts. If not enabled, use small "
-"(320px) photo thumbnails"
-msgstr "Inclou gran (640px) foto de miniatura a les entrades. Si no està activat, empra petita (320px) foto de miniatura."
-
-#: ../../include/features.php:59 ../../include/widgets.php:548
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Canal Origen"
-
-#: ../../include/features.php:59
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automàticament el contingut del canal des de altres canals o feeds"
-
-#: ../../include/features.php:60
-msgid "Even More Encryption"
-msgstr "Encara Més Encriptació"
-
-#: ../../include/features.php:60
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida"
-
-#: ../../include/features.php:61
-msgid "Enable voting tools"
-msgstr "Habilitar eines de vot"
-
-#: ../../include/features.php:61
-msgid "Provide a class of post which others can vote on"
-msgstr "Proporcionar una classe d'entrada que altres puguin votar"
-
-#: ../../include/features.php:67
-msgid "Network and Stream Filtering"
-msgstr "Filtrat de Xarxa i Flux"
-
-#: ../../include/features.php:68
-msgid "Search by Date"
-msgstr "Cerca per Data"
-
-#: ../../include/features.php:68
-msgid "Ability to select posts by date ranges"
-msgstr "Capacitat per seleccionar entrades per rang de dates"
-
-#: ../../include/features.php:69
-msgid "Collections Filter"
-msgstr "Filtre de Col·leccions"
-
-#: ../../include/features.php:69
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Habilitar giny per mostrar les entrades de xarxa únicament de les col·leccions seleccionades"
-
-#: ../../include/features.php:70 ../../include/widgets.php:274
-msgid "Saved Searches"
-msgstr "Cerques Guardades"
-
-#: ../../include/features.php:70
-msgid "Save search terms for re-use"
-msgstr "Guardar els termin de la cerca per a re-usar"
-
-#: ../../include/features.php:71
-msgid "Network Personal Tab"
-msgstr "Pestanya Personal de Xarxa"
-
-#: ../../include/features.php:71
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Activa pestanya per mostrar només les entrades de xarxa en els que has intervingut"
-
-#: ../../include/features.php:72
-msgid "Network New Tab"
-msgstr "Nova Pestanya de Xarxa"
-
-#: ../../include/features.php:72
-msgid "Enable tab to display all new Network activity"
-msgstr "Activa pestanya per mostrar tota l'activitat nova de la Xarxa"
-
-#: ../../include/features.php:73
-msgid "Affinity Tool"
-msgstr "Eina d'Afinitat"
-
-#: ../../include/features.php:73
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filtre d'activitat del flux per importància de la relació"
-
-#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "Filtre de Connexió"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut "
-
-#: ../../include/features.php:75
-msgid "Suggest Channels"
-msgstr "Suggerir Canals"
-
-#: ../../include/features.php:75
-msgid "Show channel suggestions"
-msgstr "Mostra suggerencies de canals"
-
-#: ../../include/features.php:80
-msgid "Post/Comment Tools"
-msgstr "Eina d'Entrades/Comentaris"
-
-#: ../../include/features.php:81
-msgid "Tagging"
-msgstr "Etiquetant"
-
-#: ../../include/features.php:81
-msgid "Ability to tag existing posts"
-msgstr "Capacitat d'etiquetar entrades existents"
-
-#: ../../include/features.php:82
-msgid "Post Categories"
-msgstr "Categories d'Entrades"
-
-#: ../../include/features.php:82
-msgid "Add categories to your posts"
-msgstr "Afegeix categoria a la teva entrada"
-
-#: ../../include/features.php:83 ../../include/widgets.php:304
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
-msgstr "Carpetes Guardades"
-
-#: ../../include/features.php:83
-msgid "Ability to file posts under folders"
-msgstr "Capacitat de arxivar entrades en les carpetes"
-
-#: ../../include/features.php:84
-msgid "Dislike Posts"
-msgstr "No Agrada l'Entrada"
-
-#: ../../include/features.php:84
-msgid "Ability to dislike posts/comments"
-msgstr "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris"
-
-#: ../../include/features.php:85
-msgid "Star Posts"
-msgstr "Entrades Excel·lents"
-
-#: ../../include/features.php:85
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia"
-
-#: ../../include/features.php:86
-msgid "Tag Cloud"
-msgstr "Núvol d'Etiquetes."
-
-#: ../../include/features.php:86
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal"
-
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:264
msgid "Categories"
msgstr "Categories"
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Aplicatius"
-
#: ../../include/widgets.php:92
msgid "System"
msgstr "Sistema"
-#: ../../include/widgets.php:94 ../../include/conversation.php:1504
+#: ../../include/widgets.php:94 ../../include/conversation.php:1515
msgid "Personal"
msgstr "Personal"
@@ -1377,9 +843,9 @@ msgid "Edit Personal App"
msgstr "Editar Personal App"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
-#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:857 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
+#: ../../include/Contact.php:107 ../../include/conversation.php:956
+#: ../../include/identity.php:956 ../../mod/match.php:64
+#: ../../mod/directory.php:316 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Connecta "
@@ -1387,7 +853,7 @@ msgstr "Connecta "
msgid "Ignore/Hide"
msgstr "Ignora/Amaga"
-#: ../../include/widgets.php:143 ../../mod/connections.php:268
+#: ../../include/widgets.php:143 ../../mod/connections.php:128
msgid "Suggestions"
msgstr "Suggerencies"
@@ -1420,6 +886,19 @@ msgstr "Notes"
msgid "Remove term"
msgstr "Plaç de remoció"
+#: ../../include/widgets.php:274 ../../include/features.php:70
+msgid "Saved Searches"
+msgstr "Cerques desades"
+
+#: ../../include/widgets.php:275 ../../include/group.php:303
+msgid "add"
+msgstr "afegeix"
+
+#: ../../include/widgets.php:304 ../../include/contact_widgets.php:57
+#: ../../include/features.php:83
+msgid "Saved Folders"
+msgstr "Carpetes Guardades"
+
#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
#: ../../include/contact_widgets.php:95
msgid "Everything"
@@ -1429,29 +908,29 @@ msgstr "Tot"
msgid "Archives"
msgstr "Arxius"
-#: ../../include/widgets.php:429 ../../mod/connedit.php:571
+#: ../../include/widgets.php:429 ../../mod/connedit.php:583
msgid "Me"
msgstr "Jo"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:572
+#: ../../include/widgets.php:430 ../../mod/connedit.php:584
msgid "Family"
msgstr "Família"
#: ../../include/widgets.php:431 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:573
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:585
+#: ../../mod/settings.php:345 ../../mod/settings.php:349
+#: ../../mod/settings.php:350 ../../mod/settings.php:353
+#: ../../mod/settings.php:364
msgid "Friends"
msgstr "Amics"
-#: ../../include/widgets.php:432 ../../mod/connedit.php:574
+#: ../../include/widgets.php:432 ../../mod/connedit.php:586
msgid "Acquaintances"
msgstr "Coneguts"
-#: ../../include/widgets.php:433 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:575
+#: ../../include/widgets.php:433 ../../mod/connections.php:91
+#: ../../mod/connections.php:106 ../../mod/connedit.php:587
msgid "All"
msgstr "Tots"
@@ -1487,7 +966,7 @@ msgstr "Apps connectades"
msgid "Export channel"
msgstr "Exportat canal"
-#: ../../include/widgets.php:532 ../../mod/connedit.php:662
+#: ../../include/widgets.php:532 ../../mod/connedit.php:674
msgid "Connection Default Permissions"
msgstr "Permisos per Defecte de la Connexió"
@@ -1495,32 +974,27 @@ msgstr "Permisos per Defecte de la Connexió"
msgid "Premium Channel Settings"
msgstr "Ajustos Premium de Canal"
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
-msgid "Settings"
-msgstr "Ajustos"
+#: ../../include/widgets.php:548 ../../include/features.php:59
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Fonts del canal"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
-#: ../../mod/mail.php:128
+#: ../../include/widgets.php:569 ../../mod/mail.php:128
+#: ../../mod/message.php:31
msgid "Messages"
msgstr "Missatges"
#: ../../include/widgets.php:572
msgid "Check Mail"
-msgstr "Comprovar Correu"
-
-#: ../../include/widgets.php:577 ../../include/nav.php:199
-msgid "New Message"
-msgstr "Nou Missatge"
+msgstr "Comprova el correu"
#: ../../include/widgets.php:652
msgid "Chat Rooms"
-msgstr "Sales de Xat"
+msgstr "Sales de xat"
#: ../../include/widgets.php:672
msgid "Bookmarked Chatrooms"
-msgstr "Sales de Xat Favorites"
+msgstr "Sales de xat preferides"
#: ../../include/widgets.php:692
msgid "Suggested Chatrooms"
@@ -1536,212 +1010,24 @@ msgstr "Valora'm"
#: ../../include/widgets.php:978
msgid "View Ratings"
-msgstr "Veure Valoracions"
+msgstr "Mostra les valoracions"
#: ../../include/widgets.php:989
msgid "Public Hubs"
msgstr "Concentradors Públics"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Inicia:"
-
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Acaba:"
-
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:908 ../../mod/directory.php:302
-#: ../../mod/events.php:661
-msgid "Location:"
-msgstr "Localització:"
-
-#: ../../include/event.php:535
-msgid "This event has been added to your calendar."
-msgstr "Aquest succés ha estat afegit al teu calendari."
-
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Notificació] Un nou missatge s'ha rebut a %s"
-
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
-
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s t'ha enviat %2$s."
-
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "un missatge privat"
-
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
-
-#: ../../include/enotify.php:158
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]a %4$s[/zrl]"
-
-#: ../../include/enotify.php:166
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]%4$s de %5$s[/zrl]"
-
-#: ../../include/enotify.php:175
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]el teu %4$s[/zrl]"
-
-#: ../../include/enotify.php:186
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Notify] Comentari a la conversa #%1$d per %2$s"
-
-#: ../../include/enotify.php:187
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
-
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
-
-#: ../../include/enotify.php:196
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Avís] %s ha escrit una entrada al teu mur"
-
-#: ../../include/enotify.php:198
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
-
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
-
-#: ../../include/enotify.php:224
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Notificació] %s t'ha etiquetat"
-
-#: ../../include/enotify.php:225
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
-
-#: ../../include/enotify.php:238
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Avís] %1$s s'en fot de tu"
-
-#: ../../include/enotify.php:239
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s s'en fot de tú a %3$s"
-
-#: ../../include/enotify.php:240
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
-
-#: ../../include/enotify.php:256
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Avís] %s ha etiquetat la teva entrada"
-
-#: ../../include/enotify.php:257
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
-
-#: ../../include/enotify.php:270
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Avís] Presentació rebuda"
-
-#: ../../include/enotify.php:271
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
-
-#: ../../include/enotify.php:272
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
-
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Pots visitar el seu perfil a %s"
-
-#: ../../include/enotify.php:278
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
-
-#: ../../include/enotify.php:285
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Notificació] Rebuda suggerencia d'amistat"
-
-#: ../../include/enotify.php:286
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
-
-#: ../../include/enotify.php:287
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
-
-#: ../../include/enotify.php:293
-msgid "Name:"
-msgstr "Nom:"
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "Nova finestra"
-#: ../../include/enotify.php:294
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
-#: ../../include/enotify.php:297
+#: ../../include/Contact.php:212
#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
-
-#: ../../include/enotify.php:508
-msgid "[Red:Notify]"
-msgstr "[Red:Notificació]"
+msgid "User '%s' deleted"
+msgstr "usuari '%s' esborrat"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -1759,69 +1045,33 @@ msgstr "incapaç de determinar el remitent"
msgid "Stored post could not be verified."
msgstr "L'entrada guardada no pot ser verificada"
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s agrada %2$s de %3$s"
-
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
-msgstr "Escull"
-
-#: ../../include/diaspora.php:2496
-msgid "Agree"
-msgstr "A favor"
-
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
-msgstr "En contra"
-
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
-msgstr "Abstenció"
-
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "El canal està bloquejat en aquest lloc."
-
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Ubicació del canal perduda."
-
-#: ../../include/follow.php:83
-msgid "Response from remote channel was incomplete."
-msgstr "La resposta del canal remot fou incompleta."
-
-#: ../../include/follow.php:100
-msgid "Channel was deleted and no longer exists."
-msgstr "El canal fou esborrat i actualment no existeix."
-
-#: ../../include/follow.php:135 ../../include/follow.php:206
-msgid "Protocol disabled."
-msgstr "Protocol desactivat."
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr "paquet de dades invàlid"
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "El protocol està bloquejat per a aquest canal."
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr "No es pot verificar la signatura del canal"
-#: ../../include/follow.php:179
-msgid "Channel discovery failed."
-msgstr "Descobriment de canal fallit."
+#: ../../include/zot.php:2209
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "No es pot verificar la signatura del lloc per %s"
-#: ../../include/follow.php:195
-msgid "local account not found."
-msgstr "compte local no trobat."
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "ha creat una nova entrada"
-#: ../../include/follow.php:224
-msgid "Cannot connect to yourself."
-msgstr "No pots connectar amb tu mateix."
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "ha comentat l'entrada de %s"
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:678
msgid "Private Message"
msgstr "Missatge Privat"
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:670
msgid "Select"
msgstr "Selecciona"
@@ -1831,58 +1081,58 @@ msgstr "Guardar en la Carpeta"
#: ../../include/ItemObject.php:151
msgid "I will attend"
-msgstr "Assistiré"
+msgstr "Hi seré"
#: ../../include/ItemObject.php:151
msgid "I will not attend"
-msgstr "No assistiré"
+msgstr "No hi seré"
#: ../../include/ItemObject.php:151
msgid "I might attend"
-msgstr "Podria assistir"
+msgstr "Potser hi sóc"
#: ../../include/ItemObject.php:161
msgid "I agree"
-msgstr "D'acord"
+msgstr "Hi estic a favor"
#: ../../include/ItemObject.php:161
msgid "I disagree"
-msgstr "En desacord"
+msgstr "Hi estic en contra"
#: ../../include/ItemObject.php:161
msgid "I abstain"
-msgstr "M'abstinc"
+msgstr "Voto en blanc"
#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
+#: ../../include/conversation.php:1688 ../../mod/photos.php:1015
#: ../../mod/photos.php:1027
msgid "View all"
-msgstr "Veure tot"
+msgstr "Mostra-ho tot"
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1167
+#: ../../include/ItemObject.php:179 ../../include/conversation.php:1712
+#: ../../include/identity.php:1266 ../../include/taxonomy.php:396
#: ../../mod/photos.php:1019
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
-msgstr[0] "Agrada"
-msgstr[1] "Agraden"
+msgstr[0] "M'agrada"
+msgstr[1] "M'agrada"
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
#: ../../mod/photos.php:1024
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
-msgstr[0] "Desagrada"
-msgstr[1] "Desagrada"
+msgstr[0] "No m'agrada"
+msgstr[1] "No m'agrada"
#: ../../include/ItemObject.php:212
msgid "Add Star"
-msgstr "Fes-lo Preferit"
+msgstr "Marca'l com a preferit"
#: ../../include/ItemObject.php:213
msgid "Remove Star"
-msgstr "Treu-lo de Preferits"
+msgstr "Treu-lo de preferits"
#: ../../include/ItemObject.php:214
msgid "Toggle Star Status"
@@ -1892,11 +1142,11 @@ msgstr "Canvia el Estat de la Preferència"
msgid "starred"
msgstr "preferit"
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:685
msgid "Message signature validated"
msgstr "Validada la signatura del missatge"
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:686
msgid "Message signature incorrect"
msgstr "Signatura del missatge incorrecta"
@@ -1928,467 +1178,603 @@ msgstr "Comparteix Això"
msgid "share"
msgstr "comparteix"
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d commentari"
msgstr[1] "%d commentaris"
-#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
+#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296
#, php-format
msgid "View %s's profile - %s"
msgstr "Veure %s de perfil - %s"
-#: ../../include/ItemObject.php:298
+#: ../../include/ItemObject.php:299
msgid "to"
msgstr "a"
-#: ../../include/ItemObject.php:299
+#: ../../include/ItemObject.php:300
msgid "via"
msgstr "via"
-#: ../../include/ItemObject.php:300
+#: ../../include/ItemObject.php:301
msgid "Wall-to-Wall"
msgstr "Mur-a-Mur"
-#: ../../include/ItemObject.php:301
+#: ../../include/ItemObject.php:302
msgid "via Wall-To-Wall:"
msgstr "via Mur-a-Mur:"
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
+#: ../../include/ItemObject.php:313 ../../include/conversation.php:727
#, php-format
msgid "from %s"
msgstr "De %s"
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:730
#, php-format
msgid "last edited: %s"
msgstr "últim editat: %s"
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
+#: ../../include/ItemObject.php:317 ../../include/conversation.php:731
#, php-format
msgid "Expires: %s"
msgstr "Expira: %s"
-#: ../../include/ItemObject.php:337
+#: ../../include/ItemObject.php:338
msgid "Save Bookmarks"
msgstr "Guarda Favorits"
-#: ../../include/ItemObject.php:338
+#: ../../include/ItemObject.php:339
msgid "Add to Calendar"
msgstr "Afegeix al Calendari"
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Mark all seen"
msgstr "Marca tot com ja vist"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1145
msgctxt "noun"
msgid "Likes"
-msgstr "Agrada"
+msgstr "M'agrada"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:355 ../../mod/photos.php:1146
msgctxt "noun"
msgid "Dislikes"
-msgstr "Desagrada"
+msgstr "No m'agrada"
-#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
+#: ../../include/ItemObject.php:360 ../../include/acl_selectors.php:249
#: ../../mod/photos.php:1151
msgid "Close"
msgstr "Tanca"
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
-#: ../../mod/mail.php:241 ../../mod/mail.php:356
+#: ../../include/ItemObject.php:365 ../../include/conversation.php:748
+#: ../../include/conversation.php:1220 ../../mod/mail.php:241
+#: ../../mod/mail.php:356 ../../mod/photos.php:962 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:123
+#: ../../mod/editwebpage.php:192
msgid "Please wait"
msgstr "Si us plau, espera"
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
+#: ../../include/ItemObject.php:385 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostra-ho tot"
+
+#: ../../include/ItemObject.php:666 ../../mod/photos.php:978
#: ../../mod/photos.php:1096
msgid "This is you"
msgstr "Ets tú"
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../include/ItemObject.php:668 ../../include/js_strings.php:6
+#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+msgid "Comment"
+msgstr "Comentari"
+
+#: ../../include/ItemObject.php:669 ../../include/js_strings.php:22
+#: ../../mod/mail.php:355 ../../mod/admin.php:453 ../../mod/admin.php:819
+#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
+#: ../../mod/admin.php:1397 ../../mod/pconfig.php:108 ../../mod/pdledit.php:58
+#: ../../mod/appman.php:99 ../../mod/photos.php:577 ../../mod/photos.php:654
+#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
+#: ../../mod/poke.php:166 ../../mod/bulksetclose.php:24 ../../mod/poll.php:68
+#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:93
+#: ../../mod/profiles.php:667 ../../mod/connedit.php:704
+#: ../../mod/rate.php:167 ../../mod/events.php:511 ../../mod/events.php:693
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/group.php:81 ../../mod/import.php:592 ../../mod/invite.php:142
+#: ../../mod/settings.php:588 ../../mod/settings.php:692
+#: ../../mod/settings.php:718 ../../mod/settings.php:746
+#: ../../mod/settings.php:769 ../../mod/settings.php:854
+#: ../../mod/settings.php:1050 ../../mod/setup.php:327 ../../mod/setup.php:367
+#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/mitem.php:235 ../../mod/mood.php:134 ../../mod/thing.php:303
+#: ../../mod/thing.php:346 ../../mod/xchan.php:11
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Desa"
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1192
+#: ../../mod/editblock.php:135 ../../mod/editlayout.php:134
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:179
msgid "Bold"
msgstr "Negreta"
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1193
+#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:180
msgid "Italic"
msgstr "Italica"
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1194
+#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
+#: ../../mod/editpost.php:109 ../../mod/editwebpage.php:181
msgid "Underline"
msgstr "Subratllat"
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1195
+#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
+#: ../../mod/editpost.php:110 ../../mod/editwebpage.php:182
msgid "Quote"
msgstr "Cometes"
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../include/ItemObject.php:674 ../../include/conversation.php:1196
+#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
+#: ../../mod/editpost.php:111 ../../mod/editwebpage.php:183
msgid "Code"
msgstr "Codi"
-#: ../../include/ItemObject.php:674
+#: ../../include/ItemObject.php:675
msgid "Image"
msgstr "Imatge"
-#: ../../include/ItemObject.php:675
+#: ../../include/ItemObject.php:676
msgid "Insert Link"
msgstr "Insereix Enllaç"
-#: ../../include/ItemObject.php:676
+#: ../../include/ItemObject.php:677
msgid "Video"
msgstr "Video"
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../include/ItemObject.php:678 ../../include/conversation.php:1166
+#: ../../include/page_widgets.php:40 ../../mod/photos.php:982
+#: ../../mod/editblock.php:170 ../../mod/editpost.php:143
+#: ../../mod/editwebpage.php:214 ../../mod/events.php:690
+#: ../../mod/webpages.php:188
+msgid "Preview"
+msgstr "Previsualitza"
+
+#: ../../include/ItemObject.php:681 ../../include/conversation.php:1247
+#: ../../mod/mail.php:247 ../../mod/mail.php:361 ../../mod/editpost.php:151
msgid "Encrypt text"
msgstr "Text encriptat"
-#: ../../include/Contact.php:124
-msgid "New window"
-msgstr "Nova finestra"
+#: ../../include/account.php:27
+msgid "Not a valid email address"
+msgstr "Adreça de correu electrònic no vàlida"
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
+#: ../../include/account.php:29
+msgid "Your email domain is not among those allowed on this site"
+msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
-#: ../../include/Contact.php:215 ../../mod/admin.php:739
-#, php-format
-msgid "User '%s' deleted"
-msgstr "usuari '%s' esborrat"
+#: ../../include/account.php:35
+msgid "Your email address is already registered at this site."
+msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
-msgstr "Adjuntat:"
+#: ../../include/account.php:67
+msgid "An invitation is required."
+msgstr "Es requereix Invitació"
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "Notificació d'esdeveniment de $Projectname"
+#: ../../include/account.php:71
+msgid "Invitation could not be verified."
+msgstr "La invitació no ha pogut ser verificada"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
-msgid "Logout"
-msgstr "Desconectar"
+#: ../../include/account.php:121
+msgid "Please enter the required information."
+msgstr "Entra la informació sol·licitada"
-#: ../../include/nav.php:87 ../../include/nav.php:120
-msgid "End this session"
-msgstr "Finalitza aquesta sessió"
+#: ../../include/account.php:188
+msgid "Failed to store account information."
+msgstr "No s'ha pogut desar la informació del compte"
-#: ../../include/nav.php:90 ../../include/nav.php:151
-msgid "Home"
-msgstr "Personal"
+#: ../../include/account.php:246
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Confirmació del registre de %s"
-#: ../../include/nav.php:90
-msgid "Your posts and conversations"
-msgstr "Les teves entrades i converses"
+#: ../../include/account.php:312
+#, php-format
+msgid "Registration request at %s"
+msgstr "Sol·licitud de registre a %s"
-#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:498
-msgid "View Profile"
-msgstr "Veure Perfil"
+#: ../../include/account.php:336
+msgid "your registration password"
+msgstr "la teva contrasenya registrada"
-#: ../../include/nav.php:91
-msgid "Your profile page"
-msgstr "La teva pàgina de perfil"
+#: ../../include/account.php:339 ../../include/account.php:399
+#, php-format
+msgid "Registration details for %s"
+msgstr "Detalls del registre per %s"
-#: ../../include/nav.php:93
-msgid "Edit Profiles"
-msgstr "Editar Perfils"
+#: ../../include/account.php:408
+msgid "Account approved."
+msgstr "Compte aprovat."
-#: ../../include/nav.php:93
-msgid "Manage/Edit profiles"
-msgstr "Gestiona/Edita perfils"
+#: ../../include/account.php:447
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "S'ha revocat el registre de %s"
-#: ../../include/nav.php:95 ../../include/identity.php:880
-msgid "Edit Profile"
-msgstr "Edita Perfil"
+#: ../../include/account.php:492
+msgid "Account verified. Please login."
+msgstr "S'ha verificat el compte. Inicia la sessió per continuar."
-#: ../../include/nav.php:95
-msgid "Edit your profile"
-msgstr "Edita el teu perfil"
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
+msgstr "Feu clic aquí per actualitzar."
-#: ../../include/nav.php:97 ../../include/conversation.php:1600
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Fotos"
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Aquesta acció sobrepassa els límits establerts pel seu pla de subscripció."
-#: ../../include/nav.php:97
-msgid "Your photos"
-msgstr "Les Teves Fotos"
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
+msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
-#: ../../include/nav.php:98
-msgid "Your files"
-msgstr "Els teus arxius"
+#: ../../include/oembed.php:183
+msgid "Embedded content"
+msgstr "Contingut embegut"
-#: ../../include/nav.php:103 ../../include/apps.php:146
-msgid "Chat"
-msgstr "Xerrar"
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
+msgstr "Incorporació desactivada"
-#: ../../include/nav.php:103
-msgid "Your chatrooms"
-msgstr "Les teves sales de xerrar"
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Visible per a la teva audiència "
-#: ../../include/nav.php:109 ../../include/conversation.php:1635
-#: ../../include/apps.php:129
-msgid "Bookmarks"
-msgstr "Marcadors"
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Mostra"
-#: ../../include/nav.php:109
-msgid "Your bookmarks"
-msgstr "Els teus marcadors"
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "No mostrar"
-#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Pàgines web"
+#: ../../include/acl_selectors.php:248 ../../mod/photos.php:571
+#: ../../mod/photos.php:934 ../../mod/chat.php:209 ../../mod/events.php:691
+#: ../../mod/filestorage.php:147
+msgid "Permissions"
+msgstr "Permisos "
-#: ../../include/nav.php:113
-msgid "Your webpages"
-msgstr "Les teves pàgines web"
+#: ../../include/activities.php:39
+msgid " and "
+msgstr "i"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
-msgid "Login"
-msgstr "Identifica't"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "Perfil públic"
-#: ../../include/nav.php:117
-msgid "Sign in"
-msgstr "Signatura"
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
-#: ../../include/nav.php:134
+#: ../../include/activities.php:57
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - click per desconectar"
+msgid "Visit %1$s's %2$s"
+msgstr "Visita %1$s de %2$s"
-#: ../../include/nav.php:137
-msgid "Remote authentication"
-msgstr "Autenticació remota"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
-#: ../../include/nav.php:137
-msgid "Click to authenticate to your home hub"
-msgstr "Click per autentificar-te en el teu Lloc "
+#: ../../include/api.php:1178
+msgid "Public Timeline"
+msgstr "Cronologia pública"
-#: ../../include/nav.php:151
-msgid "Home Page"
-msgstr "Pàgina Personal"
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Administració"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
-msgid "Register"
-msgstr "Registre"
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Adreçes"
-#: ../../include/nav.php:155
-msgid "Create an account"
-msgstr "Crear un compte"
+#: ../../include/apps.php:138 ../../include/identity.php:1240
+#: ../../include/identity.php:1357 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Perfil"
-#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Ajuda"
+#: ../../include/apps.php:144 ../../mod/mood.php:130
+msgid "Mood"
+msgstr "Ànim"
-#: ../../include/nav.php:160
-msgid "Help and documentation"
-msgstr "Ajuda i documentació"
+#: ../../include/apps.php:145 ../../include/conversation.php:959
+msgid "Poke"
+msgstr "Emprenya"
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Aplicacions, utilitats, enllaços, jocs"
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Sondeig"
-#: ../../include/nav.php:165
-msgid "Search site content"
-msgstr "Cerca en el contingut del lloc"
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Suggeriment"
-#: ../../include/nav.php:168 ../../include/apps.php:141
-msgid "Directory"
-msgstr "Directori"
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Canal Aleatori"
-#: ../../include/nav.php:168
-msgid "Channel Directory"
-msgstr "Directori de Canals"
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Convida"
-#: ../../include/nav.php:180 ../../include/apps.php:133
-msgid "Matrix"
-msgstr "Matriu/Matrix"
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Funcionalitats"
-#: ../../include/nav.php:180
-msgid "Your matrix"
-msgstr "El teu matrix"
+#: ../../include/apps.php:153 ../../mod/id.php:28
+msgid "Language"
+msgstr "Idioma"
-#: ../../include/nav.php:181
-msgid "Mark all matrix notifications seen"
-msgstr "Marca totes les notificacions de matrix vistes"
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Entrada"
-#: ../../include/nav.php:183 ../../include/apps.php:137
-msgid "Channel Home"
-msgstr "Canal Personal"
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
+msgid "Profile Photo"
+msgstr "Foto del Perfil"
-#: ../../include/nav.php:183
-msgid "Channel home"
-msgstr "Canal personal"
+#: ../../include/apps.php:247 ../../mod/settings.php:84
+#: ../../mod/settings.php:614
+msgid "Update"
+msgstr "Actualització"
-#: ../../include/nav.php:184
-msgid "Mark all channel notifications seen"
-msgstr "Marca totes les notificacions de canal vistes"
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Instal·lar"
-#: ../../include/nav.php:187 ../../mod/connections.php:407
-msgid "Connections"
-msgstr "Connexions"
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Compra"
-#: ../../include/nav.php:190
-msgid "Notices"
-msgstr "Noticies"
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+#: ../../include/items.php:4383 ../../include/photos.php:26
+#: ../../mod/mail.php:114 ../../mod/achievements.php:30 ../../mod/page.php:31
+#: ../../mod/page.php:86 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/pdledit.php:21 ../../mod/appman.php:66 ../../mod/photos.php:69
+#: ../../mod/authtest.php:13 ../../mod/block.php:22 ../../mod/block.php:72
+#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/poke.php:128
+#: ../../mod/bookmarks.php:46 ../../mod/manage.php:6 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262 ../../mod/chat.php:90
+#: ../../mod/chat.php:95 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/common.php:35 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/notifications.php:66
+#: ../../mod/connections.php:29 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/connedit.php:348
+#: ../../mod/editblock.php:65 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/editpost.php:13
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/events.php:249
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/register.php:72 ../../mod/fsuggest.php:78 ../../mod/regmod.php:17
+#: ../../mod/group.php:9 ../../mod/id.php:71 ../../mod/service_limits.php:7
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/settings.php:570
+#: ../../mod/item.php:206 ../../mod/item.php:214 ../../mod/item.php:1005
+#: ../../mod/setup.php:223 ../../mod/layouts.php:69 ../../mod/layouts.php:76
+#: ../../mod/layouts.php:87 ../../mod/sharedwithme.php:7
+#: ../../mod/like.php:178 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:72 ../../mod/message.php:16 ../../mod/mitem.php:111
+#: ../../mod/mood.php:111 ../../mod/suggest.php:26 ../../mod/network.php:12
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/thing.php:269 ../../mod/thing.php:284 ../../mod/thing.php:318
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69 ../../index.php:186
+#: ../../index.php:397
+msgid "Permission denied."
+msgstr "Permís denegat."
-#: ../../include/nav.php:190
-msgid "Notifications"
-msgstr "Notificacions"
+#: ../../include/attach.php:242 ../../include/attach.php:300
+msgid "Item was not found."
+msgstr "Article no trobat."
-#: ../../include/nav.php:191
-msgid "See all notifications"
-msgstr "Veure totes les Notificacions"
+#: ../../include/attach.php:363
+msgid "No source file."
+msgstr "No hi ha arxiu d'origen."
-#: ../../include/nav.php:192 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Marca totes les notificacions vistes"
+#: ../../include/attach.php:381
+msgid "Cannot locate file to replace"
+msgstr "No trobo l'arxiu a reemplaçar"
-#: ../../include/nav.php:194 ../../include/apps.php:143
-msgid "Mail"
-msgstr "Correu"
+#: ../../include/attach.php:399
+msgid "Cannot locate file to revise/update"
+msgstr "No trobo l'arxiu a revisar/actualitzar"
-#: ../../include/nav.php:194
-msgid "Private mail"
-msgstr "Correu privat"
+#: ../../include/attach.php:410
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "L'arxiu excedeix la mida limit de %d"
-#: ../../include/nav.php:195
-msgid "See all private messages"
-msgstr "Veure tots els missatges privats"
+#: ../../include/attach.php:422
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts."
-#: ../../include/nav.php:196
-msgid "Mark all private messages seen"
-msgstr "Marcar tots els missatges privats vistos"
+#: ../../include/attach.php:505
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda."
-#: ../../include/nav.php:197
-msgid "Inbox"
-msgstr "Safata d'entrada"
+#: ../../include/attach.php:517
+msgid "Stored file could not be verified. Upload failed."
+msgstr "L'arxiu guardat no es pot verificar. Pujada fallida."
-#: ../../include/nav.php:198
-msgid "Outbox"
-msgstr "Safata de sortida"
+#: ../../include/attach.php:561 ../../include/attach.php:578
+msgid "Path not available."
+msgstr "Trajectòria no disponible"
-#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:486
-msgid "Events"
-msgstr "Events"
+#: ../../include/attach.php:623
+msgid "Empty pathname"
+msgstr "Trajèctoria vuida."
-#: ../../include/nav.php:202
-msgid "Event Calendar"
-msgstr "Calendari d'Events"
+#: ../../include/attach.php:639
+msgid "duplicate filename or path"
+msgstr "Nom o trajectòria duplicat"
-#: ../../include/nav.php:203
-msgid "See all events"
-msgstr "Veure tots els events"
+#: ../../include/attach.php:663
+msgid "Path not found."
+msgstr "Trajectòria no trobada."
-#: ../../include/nav.php:204
-msgid "Mark all events seen"
-msgstr "Marcar tots els events vistos"
+#: ../../include/attach.php:714
+msgid "mkdir failed."
+msgstr "mkdir va fracassar."
-#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:166
-msgid "Channel Manager"
-msgstr "Gestor del Canal"
+#: ../../include/attach.php:718
+msgid "database storage failed."
+msgstr "Arxiu de base de dades va fallar."
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gestiona els Teus Canals"
+#: ../../include/auth.php:131
+msgid "Logged out."
+msgstr "Sortir."
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Ajustos de Compte/Canal"
+#: ../../include/auth.php:272
+msgid "Failed authentication"
+msgstr "Autenticació fallida"
-#: ../../include/nav.php:216 ../../mod/admin.php:120
-msgid "Admin"
-msgstr "Admin"
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Identificació fallida."
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Ajustos i Configuració del Lloc"
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
+msgstr "Adjuntat:"
-#: ../../include/nav.php:247 ../../include/conversation.php:850
-msgid "Loading..."
-msgstr "Carregant..."
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:22
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
-#: ../../include/nav.php:252
-msgid "@name, #tag, content"
-msgstr "@name, #tag, content"
+#: ../../include/bb2diaspora.php:461
+msgid "$Projectname event notification:"
+msgstr "Notificació d'esdeveniment de $Projectname"
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Si us plau, espera......."
+#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
+msgid "Starts:"
+msgstr "Comença:"
-#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
-msgid "Tags"
-msgstr "Etiquetes"
+#: ../../include/bb2diaspora.php:473 ../../include/event.php:40
+msgid "Finishes:"
+msgstr "Acaba:"
-#: ../../include/taxonomy.php:287
-msgid "Keywords"
-msgstr "Paraules clau"
+#: ../../include/bb2diaspora.php:481 ../../include/event.php:50
+#: ../../include/identity.php:1007 ../../mod/directory.php:302
+#: ../../mod/events.php:684
+msgid "Location:"
+msgstr "Lloc:"
-#: ../../include/taxonomy.php:308
-msgid "have"
-msgstr "tinc"
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
+#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
+#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
+#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
+#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
+#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
+#: ../../include/bbcode.php:807
+msgid "Image/photo"
+msgstr "Imatge/foto"
-#: ../../include/taxonomy.php:308
-msgid "has"
-msgstr "tens"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
+msgid "Encrypted content"
+msgstr "Contingut encriptat"
-#: ../../include/taxonomy.php:309
-msgid "want"
-msgstr "vull"
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Instal·la l'element %s:"
-#: ../../include/taxonomy.php:309
-msgid "wants"
-msgstr "vols"
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
-#: ../../include/taxonomy.php:310
-msgid "likes"
-msgstr "agrada"
+#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+msgid "webpage"
+msgstr "pàgina web"
-#: ../../include/taxonomy.php:311
-msgid "dislikes"
-msgstr "desagrada"
+#: ../../include/bbcode.php:195 ../../mod/impel.php:47
+msgid "layout"
+msgstr "disseny"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "i"
+#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+msgid "block"
+msgstr "bloc"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "Perfil públic"
+#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+msgid "menu"
+msgstr "menú"
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
+#: ../../include/bbcode.php:215
+msgid "QR code"
+msgstr "QR code"
-#: ../../include/activities.php:57
+#: ../../include/bbcode.php:266
#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visita %1$s de %2$s"
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s va escriure la següent %2$s %3$s"
-#: ../../include/activities.php:60
+#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
+msgid "post"
+msgstr "entrada"
+
+#: ../../include/bbcode.php:518
+msgid "Different viewers will see this text differently"
+msgstr "Diferents observadors veuran aquest text de diferents formes"
+
+#: ../../include/bbcode.php:729
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:756
+msgid "$1 wrote:"
+msgstr "$1 va escriure:"
+
+#: ../../include/bookmarks.php:35
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
+msgid "%1$s's bookmarks"
+msgstr "Marcadors de %1$s"
+
+#: ../../include/chat.php:23
+msgid "Missing room name"
+msgstr "Perdut el nom de la sala"
+
+#: ../../include/chat.php:32
+msgid "Duplicate room name"
+msgstr "Nom de la sala duplicat"
+
+#: ../../include/chat.php:82 ../../include/chat.php:90
+msgid "Invalid room specifier."
+msgstr "Especificació de la sala invàlida."
+
+#: ../../include/chat.php:120
+msgid "Room not found."
+msgstr "Sala no trobada."
+
+#: ../../include/chat.php:141
+msgid "Room is full"
+msgstr "La sala es plena"
+
+#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Predeterminat"
#: ../../include/security.php:349
msgid ""
@@ -2396,149 +1782,143 @@ msgid ""
"form has been opened for too long (>3 hours) before submitting it."
msgstr "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo."
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Pot veure el flux i entrades normals"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Pot veure el meu perfil del canal per defecte"
-
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
-msgstr "Pot veure el meus àlbums de fotos"
-
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
-msgstr "Pot veure les meves connexions"
-
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
-msgstr "Pot veure al meu magatzem d'arxius"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Sovint"
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
-msgstr "Pot veure les meves pàgines web"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Cada hora"
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
-msgstr "Pot enviar-me el flux i entrades del seu canal"
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Dos cops al dia"
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Pot fer entrades a la meva pàgina de canal (\"mur\")"
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Diàriament"
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
-msgstr "Pot fer comentaris o dir si agrada en les meves entrades"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Setmanalment"
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
-msgstr "Pot enviar-me un missatge de correu privat"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Mensualment"
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
-msgstr "Pot enviar fotos al meus àlbums de fotos"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
-msgstr "Pot dir si agrada/desagrada "
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
-msgstr "Perfils i altres coses a més d'entrades/comentaris"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Ho pot enviar a tots els meus contactes del canal via entrades @mencions"
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
+#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1553
+msgid "Email"
+msgstr "Correu electrònic"
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avançat - capaç de crear canals de grups de foro"
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
-msgstr "Pot xatejar amb mi (si estic disponible)"
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
-msgstr "Pot escriure al meu magatzem d'arxius"
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
-msgstr "Pot editar les meves pàgines web"
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Pot mostrar l'origen de les meves entrades públiques en altres canals"
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Quelcom avançat - molt útil en comunitats obertes"
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Pot administrar els meus recursos del canal"
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitació disponible"
+msgstr[1] "%d invitacions disponibles"
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Extremadament avançat. No toquis res si no saps que estàs fent"
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+msgid "Advanced"
+msgstr "Avançat"
-#: ../../include/permissions.php:893
-msgid "Social Networking"
-msgstr "Xarxes Socials"
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
+msgstr "Troba Canals"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Mostly Public"
-msgstr "Més aviat Públic"
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
+msgstr "Entra un nom o interes"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Restricted"
-msgstr "Restringit"
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
+msgstr "Conecta/Segueix"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-msgid "Private"
-msgstr "Privat"
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Exemples: Lionel Messi, Futbolista"
-#: ../../include/permissions.php:894
-msgid "Community Forum"
-msgstr "Foro de Comunitat"
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:273
+#: ../../mod/directory.php:379 ../../mod/directory.php:384
+msgid "Find"
+msgstr "Troba"
-#: ../../include/permissions.php:895
-msgid "Feed Republish"
-msgstr "Republicador"
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../mod/suggest.php:60
+msgid "Channel Suggestions"
+msgstr "Canals Suggerits"
-#: ../../include/permissions.php:896
-msgid "Special Purpose"
-msgstr "Objectiu Especial"
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
+msgstr "Perfil Aleatori"
-#: ../../include/permissions.php:896
-msgid "Celebrity/Soapbox"
-msgstr "Celebritat/Faristol"
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
+msgstr "Convida Amics"
-#: ../../include/permissions.php:896
-msgid "Group Repository"
-msgstr "Repositori de Grup"
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Exemple avançat: nom=pep i pais=eire"
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Altres"
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d connexió en comú"
+msgstr[1] "%d connexions en comú"
-#: ../../include/permissions.php:897
-msgid "Custom/Expert Mode"
-msgstr "Personalitzat/Mode Expert"
+#: ../../include/contact_widgets.php:130
+msgid "show more"
+msgstr "mostrar més"
#: ../../include/conversation.php:126 ../../mod/like.php:113
msgid "channel"
msgstr "canal"
-#: ../../include/conversation.php:167 ../../mod/like.php:396
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2152
+#: ../../mod/like.php:397
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s li agrada %3$s de %2$s"
+
+#: ../../include/conversation.php:167 ../../mod/like.php:399
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s no agrada %2$s de %3$s"
@@ -2559,731 +1939,1095 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s es %2$s"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
msgctxt "title"
msgid "Likes"
-msgstr "Agrada"
+msgstr "M'agrada"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
msgctxt "title"
msgid "Dislikes"
-msgstr "Desagrada"
+msgstr "No m'agrada"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
msgctxt "title"
msgid "Agree"
-msgstr "Acord"
+msgstr "A favor"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
msgctxt "title"
msgid "Disagree"
-msgstr "Desacord"
+msgstr "En contra"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
msgctxt "title"
msgid "Abstain"
-msgstr "Abstenirse"
+msgstr "En blanc"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
msgctxt "title"
msgid "Attending"
msgstr "Assistint"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
msgctxt "title"
msgid "Not attending"
msgstr "Desassistint"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
msgctxt "title"
msgid "Might attend"
msgstr "Podrien assistir"
-#: ../../include/conversation.php:692
+#: ../../include/conversation.php:703
#, php-format
msgid "View %s's profile @ %s"
msgstr "Vista %s del perfil @ %s"
-#: ../../include/conversation.php:707
+#: ../../include/conversation.php:718
msgid "Categories:"
msgstr "Categories:"
-#: ../../include/conversation.php:708
+#: ../../include/conversation.php:719
msgid "Filed under:"
msgstr "Arxivar a:"
-#: ../../include/conversation.php:735
+#: ../../include/conversation.php:746
msgid "View in context"
msgstr "Veure en context"
-#: ../../include/conversation.php:846
+#: ../../include/conversation.php:857
msgid "remove"
msgstr "treu"
-#: ../../include/conversation.php:851
+#: ../../include/conversation.php:862
msgid "Delete Selected Items"
msgstr "Esborra els Articles Seleccionats"
-#: ../../include/conversation.php:939
+#: ../../include/conversation.php:950
msgid "View Source"
msgstr "Veure l'Origen"
-#: ../../include/conversation.php:940
+#: ../../include/conversation.php:951
msgid "Follow Thread"
msgstr "Segueix el Fil"
-#: ../../include/conversation.php:941
+#: ../../include/conversation.php:952
msgid "View Status"
msgstr "Veure Status"
-#: ../../include/conversation.php:943
+#: ../../include/conversation.php:954
msgid "View Photos"
msgstr "Veure Fotos"
-#: ../../include/conversation.php:944
+#: ../../include/conversation.php:955
msgid "Matrix Activity"
msgstr "Activitat de Matrix"
-#: ../../include/conversation.php:946
+#: ../../include/conversation.php:957
msgid "Edit Contact"
msgstr "Editar Contacte"
-#: ../../include/conversation.php:947
+#: ../../include/conversation.php:958
msgid "Send PM"
msgstr "Enviar MP"
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Emprenya"
-
-#: ../../include/conversation.php:1062
+#: ../../include/conversation.php:1073
#, php-format
msgid "%s likes this."
-msgstr "%s agrada això."
+msgstr "A %s li agrada això."
-#: ../../include/conversation.php:1062
+#: ../../include/conversation.php:1073
#, php-format
msgid "%s doesn't like this."
msgstr "%s no agrada això."
-#: ../../include/conversation.php:1066
+#: ../../include/conversation.php:1077
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] "<span %1$s>%2$d gent</span> agrada això."
msgstr[1] "<span %1$s>%2$d gent</span> agrada això."
-#: ../../include/conversation.php:1068
+#: ../../include/conversation.php:1079
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] "<span %1$s>%2$d gent</span> no agrada això."
msgstr[1] "<span %1$s>%2$d gent</span> no agrada això."
-#: ../../include/conversation.php:1074
+#: ../../include/conversation.php:1085
msgid "and"
msgstr "i"
-#: ../../include/conversation.php:1077
+#: ../../include/conversation.php:1088
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ", i %d altra gent"
msgstr[1] ", i %d altra gent"
-#: ../../include/conversation.php:1078
+#: ../../include/conversation.php:1089
#, php-format
msgid "%s like this."
msgstr "%s agrada això."
-#: ../../include/conversation.php:1078
+#: ../../include/conversation.php:1089
#, php-format
msgid "%s don't like this."
msgstr "%s no agrada això."
-#: ../../include/conversation.php:1140
+#: ../../include/conversation.php:1151
msgid "Visible to <strong>everybody</strong>"
msgstr "Visible a <strong>tothom</strong>"
-#: ../../include/conversation.php:1141 ../../mod/mail.php:174
+#: ../../include/conversation.php:1152 ../../mod/mail.php:174
#: ../../mod/mail.php:289
msgid "Please enter a link URL:"
msgstr "Si us plau entra l'enllaç URL:"
-#: ../../include/conversation.php:1142
+#: ../../include/conversation.php:1153
msgid "Please enter a video link/URL:"
msgstr "Si us plau entra l'enllaç/URL a un video:"
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1154
msgid "Please enter an audio link/URL:"
msgstr "Si us plau, entra l'enllaç/URL a un audio:"
-#: ../../include/conversation.php:1144
+#: ../../include/conversation.php:1155
msgid "Tag term:"
msgstr "Paraula de l'Etiqueta:"
-#: ../../include/conversation.php:1145 ../../mod/filer.php:49
+#: ../../include/conversation.php:1156 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Guardar en la Carpeta"
-#: ../../include/conversation.php:1146
+#: ../../include/conversation.php:1157
msgid "Where are you right now?"
msgstr "On ets ara?"
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:47
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
+#: ../../include/conversation.php:1158 ../../mod/mail.php:175
+#: ../../mod/mail.php:290 ../../mod/editpost.php:47
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Expira YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1185 ../../mod/photos.php:961
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:184
+#: ../../mod/webpages.php:182
msgid "Share"
msgstr "Compartir"
-#: ../../include/conversation.php:1176
+#: ../../include/conversation.php:1187
msgid "Page link name"
msgstr "Nom de la pàgina enllaçada"
-#: ../../include/conversation.php:1179
+#: ../../include/conversation.php:1190
msgid "Post as"
msgstr "Envia com"
-#: ../../include/conversation.php:1186 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1197 ../../mod/mail.php:238
+#: ../../mod/mail.php:352 ../../mod/editblock.php:141
+#: ../../mod/editlayout.php:139 ../../mod/editpost.php:112
+#: ../../mod/editwebpage.php:184
msgid "Upload photo"
msgstr "Puja foto"
-#: ../../include/conversation.php:1187
+#: ../../include/conversation.php:1198
msgid "upload photo"
msgstr "puja foto"
-#: ../../include/conversation.php:1188 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
+#: ../../include/conversation.php:1199 ../../mod/mail.php:239
+#: ../../mod/mail.php:353 ../../mod/editblock.php:142
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:185
msgid "Attach file"
msgstr "Adjunta arxiu"
-#: ../../include/conversation.php:1189
+#: ../../include/conversation.php:1200
msgid "attach file"
msgstr "adjunta arxiu"
-#: ../../include/conversation.php:1190 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1201 ../../mod/mail.php:240
+#: ../../mod/mail.php:354 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:186
msgid "Insert web link"
msgstr "Insereix enllaç web"
-#: ../../include/conversation.php:1191
+#: ../../include/conversation.php:1202
msgid "web link"
msgstr "enllaç web"
-#: ../../include/conversation.php:1192
+#: ../../include/conversation.php:1203
msgid "Insert video link"
msgstr "Insereix enllaç video"
-#: ../../include/conversation.php:1193
+#: ../../include/conversation.php:1204
msgid "video link"
msgstr "enllaç video"
-#: ../../include/conversation.php:1194
+#: ../../include/conversation.php:1205
msgid "Insert audio link"
msgstr "Insereix enllaç d'audio"
-#: ../../include/conversation.php:1195
+#: ../../include/conversation.php:1206
msgid "audio link"
msgstr "enllaç d'audio"
-#: ../../include/conversation.php:1196 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:145 ../../mod/editpost.php:118
+#: ../../mod/editwebpage.php:190
msgid "Set your location"
msgstr "Ajusta la teva ubicació"
-#: ../../include/conversation.php:1197
+#: ../../include/conversation.php:1208
msgid "set location"
msgstr "ajusta localització"
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:120
+#: ../../include/conversation.php:1209 ../../mod/editpost.php:120
msgid "Toggle voting"
msgstr "Commutar votació"
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
+#: ../../include/conversation.php:1212 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:191
msgid "Clear browser location"
msgstr "Treu la localització del navegador"
-#: ../../include/conversation.php:1202
+#: ../../include/conversation.php:1213
msgid "clear location"
msgstr "treu localització"
-#: ../../include/conversation.php:1204 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/conversation.php:1215 ../../mod/editblock.php:161
+#: ../../mod/editpost.php:135 ../../mod/editwebpage.php:207
msgid "Title (optional)"
msgstr "Títol (opcional)"
-#: ../../include/conversation.php:1208 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1219 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:162 ../../mod/editpost.php:137
+#: ../../mod/editwebpage.php:209
msgid "Categories (optional, comma-separated list)"
msgstr "Categories (opcional, llista separada per comes)"
-#: ../../include/conversation.php:1210 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:148 ../../mod/editpost.php:124
+#: ../../mod/editwebpage.php:193
msgid "Permission settings"
msgstr "Ajustos de permisos"
-#: ../../include/conversation.php:1211
+#: ../../include/conversation.php:1222
msgid "permissions"
msgstr "permisos "
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1230 ../../mod/editblock.php:158
+#: ../../mod/editlayout.php:155 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:202
msgid "Public post"
msgstr "Entrada pública"
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1232 ../../mod/editblock.php:165
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:138
+#: ../../mod/editwebpage.php:210
msgid "Example: bob@example.com, mary@example.com"
msgstr "Exemple: bob@example.com, mary@example.com"
-#: ../../include/conversation.php:1234 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1245 ../../mod/mail.php:245
+#: ../../mod/mail.php:359 ../../mod/editblock.php:175
+#: ../../mod/editlayout.php:172 ../../mod/editpost.php:149
+#: ../../mod/editwebpage.php:219
msgid "Set expiration date"
msgstr "Ajusta la data d'expiració"
-#: ../../include/conversation.php:1238 ../../mod/events.php:651
-#: ../../mod/editpost.php:153
+#: ../../include/conversation.php:1249 ../../mod/editpost.php:153
+#: ../../mod/events.php:674
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:650 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1250 ../../mod/editpost.php:154
+#: ../../mod/events.php:673 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Cancel·la"
-#: ../../include/conversation.php:1481
+#: ../../include/conversation.php:1492
msgid "Discover"
msgstr "Descobrir"
-#: ../../include/conversation.php:1484
+#: ../../include/conversation.php:1495
msgid "Imported public streams"
msgstr "Importar fluxos públics"
-#: ../../include/conversation.php:1489
+#: ../../include/conversation.php:1500
msgid "Commented Order"
msgstr "Ordre per Comentaris"
-#: ../../include/conversation.php:1492
+#: ../../include/conversation.php:1503
msgid "Sort by Comment Date"
msgstr "Ordenar per Data del Comentari"
-#: ../../include/conversation.php:1496
+#: ../../include/conversation.php:1507
msgid "Posted Order"
msgstr "Ordenar per Entrades"
-#: ../../include/conversation.php:1499
+#: ../../include/conversation.php:1510
msgid "Sort by Post Date"
msgstr "Ordenar per Data d' Entrada"
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1518
msgid "Posts that mention or involve you"
msgstr "Entrades que et mencionen o involucren"
-#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
+#: ../../include/conversation.php:1524 ../../mod/connections.php:72
+#: ../../mod/connections.php:85 ../../mod/menu.php:110
msgid "New"
msgstr "Nou"
-#: ../../include/conversation.php:1516
+#: ../../include/conversation.php:1527
msgid "Activity Stream - by date"
-msgstr "Activitat del Flux - per data"
+msgstr "Flux d'activitat - per data"
-#: ../../include/conversation.php:1522
+#: ../../include/conversation.php:1533
msgid "Starred"
msgstr "Preferit"
-#: ../../include/conversation.php:1525
+#: ../../include/conversation.php:1536
msgid "Favourite Posts"
msgstr "Entrades Favorites"
-#: ../../include/conversation.php:1532
+#: ../../include/conversation.php:1543
msgid "Spam"
msgstr "Spam"
-#: ../../include/conversation.php:1535
+#: ../../include/conversation.php:1546
msgid "Posts flagged as SPAM"
msgstr "Entrades marcades com a SPAM"
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
+#: ../../include/conversation.php:1590 ../../mod/admin.php:993
msgid "Channel"
msgstr "Canal"
-#: ../../include/conversation.php:1582
+#: ../../include/conversation.php:1593
msgid "Status Messages and Posts"
msgstr "Estat dels Missatges i Entrades"
-#: ../../include/conversation.php:1591
+#: ../../include/conversation.php:1602
msgid "About"
-msgstr "Sobre això"
+msgstr "Sobre mi"
-#: ../../include/conversation.php:1594
+#: ../../include/conversation.php:1605
msgid "Profile Details"
msgstr "Detalls del Perfil"
-#: ../../include/conversation.php:1603 ../../include/photos.php:359
+#: ../../include/conversation.php:1614 ../../include/photos.php:359
msgid "Photo Albums"
msgstr "Albums de Fotos"
-#: ../../include/conversation.php:1612
+#: ../../include/conversation.php:1623
msgid "Files and Storage"
msgstr "Arxius i Emmagatzegament"
-#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
+#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
msgid "Chatrooms"
msgstr "Sala per Xerrar"
-#: ../../include/conversation.php:1638
+#: ../../include/conversation.php:1649
msgid "Saved Bookmarks"
msgstr "Marcadors Guardats"
-#: ../../include/conversation.php:1648
+#: ../../include/conversation.php:1659
msgid "Manage Webpages"
msgstr "Gestió de Pàgines Web"
-#: ../../include/conversation.php:1707
+#: ../../include/conversation.php:1718
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] "Assistint"
msgstr[1] "Assistint"
-#: ../../include/conversation.php:1710
+#: ../../include/conversation.php:1721
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] "Desassistint"
msgstr[1] "Desassistint"
-#: ../../include/conversation.php:1713
+#: ../../include/conversation.php:1724
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] "Indecís"
msgstr[1] "Indecisos"
-#: ../../include/conversation.php:1716
+#: ../../include/conversation.php:1727
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
-msgstr[0] "Acord"
-msgstr[1] "Acords"
+msgstr[0] "A favor"
+msgstr[1] "A favor"
-#: ../../include/conversation.php:1719
+#: ../../include/conversation.php:1730
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
-msgstr[0] "Desacord"
-msgstr[1] "Desacords"
+msgstr[0] "En contra"
+msgstr[1] "En contra"
-#: ../../include/conversation.php:1722
+#: ../../include/conversation.php:1733
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
-msgstr[0] "Abstenirse"
-msgstr[1] "Abstenirse"
+msgstr[0] "En blanc"
+msgstr[1] "En blanc"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Permís denegat"
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Miscelania"
-#: ../../include/items.php:1035 ../../include/items.php:1081
-msgid "(Unknown)"
-msgstr "(Desconegut)"
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD o MM-DD"
-#: ../../include/items.php:1307
-msgid "Visible to anybody on the internet."
-msgstr "Visible per tothom a la Internet"
+#: ../../include/datetime.php:235 ../../mod/appman.php:91
+#: ../../mod/appman.php:92 ../../mod/events.php:672
+msgid "Required"
+msgstr "Requerit"
-#: ../../include/items.php:1309
-msgid "Visible to you only."
-msgstr "Visible només per tú."
+#: ../../include/datetime.php:262 ../../boot.php:2358
+msgid "never"
+msgstr "mai"
-#: ../../include/items.php:1311
-msgid "Visible to anybody in this network."
-msgstr "Visible per tothom en aquesta xarxa."
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
+msgstr "fa menys d'un segon"
-#: ../../include/items.php:1313
-msgid "Visible to anybody authenticated."
-msgstr "Visible per tothom autenticat."
+#: ../../include/datetime.php:271
+msgid "year"
+msgstr "any"
-#: ../../include/items.php:1315
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible per a tothom a %s."
+#: ../../include/datetime.php:271
+msgid "years"
+msgstr "anys"
-#: ../../include/items.php:1317
-msgid "Visible to all connections."
-msgstr "Visible per a totes les connexions."
+#: ../../include/datetime.php:272
+msgid "month"
+msgstr "mes"
-#: ../../include/items.php:1319
-msgid "Visible to approved connections."
-msgstr "Visible per a les connexions aprovades."
+#: ../../include/datetime.php:272
+msgid "months"
+msgstr "mesos"
-#: ../../include/items.php:1321
-msgid "Visible to specific connections."
-msgstr "Visible per a específiques connexions."
+#: ../../include/datetime.php:273
+msgid "week"
+msgstr "setmana"
-#: ../../include/items.php:4215 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "Element no trobat."
+#: ../../include/datetime.php:273
+msgid "weeks"
+msgstr "setmanes"
-#: ../../include/items.php:4288 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:232 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:336
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Permís denegat."
+#: ../../include/datetime.php:274
+msgid "day"
+msgstr "dia"
-#: ../../include/items.php:4690 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Col·lecció no trobada."
+#: ../../include/datetime.php:274
+msgid "days"
+msgstr "dies"
-#: ../../include/items.php:4706
-msgid "Collection is empty."
-msgstr "La col·lecció esta buida."
+#: ../../include/datetime.php:275
+msgid "hour"
+msgstr "hora"
+
+#: ../../include/datetime.php:275
+msgid "hours"
+msgstr "hores"
+
+#: ../../include/datetime.php:276
+msgid "minute"
+msgstr "minut"
+
+#: ../../include/datetime.php:276
+msgid "minutes"
+msgstr "minuts"
+
+#: ../../include/datetime.php:277
+msgid "second"
+msgstr "segon"
+
+#: ../../include/datetime.php:277
+msgid "seconds"
+msgstr "segons"
-#: ../../include/items.php:4713
+#: ../../include/datetime.php:285
#, php-format
-msgid "Collection: %s"
-msgstr "Col·lecció: %s"
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "Fa %1$d i %2$s"
-#: ../../include/items.php:4723 ../../mod/connedit.php:662
+#: ../../include/datetime.php:519
#, php-format
-msgid "Connection: %s"
-msgstr "Connexió: %s"
+msgid "%1$s's birthday"
+msgstr "Aniversari de %1$s"
-#: ../../include/items.php:4725
-msgid "Connection not found."
-msgstr "Connexió no trobada."
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Feliç Aniversari %1$s"
-#: ../../include/zot.php:666
-msgid "Invalid data packet"
-msgstr "paquet de dades invàlid"
+#: ../../include/diaspora.php:2498
+msgid "Please choose"
+msgstr "Escull"
-#: ../../include/zot.php:682
-msgid "Unable to verify channel signature"
-msgstr "No es pot verificar la signatura del canal"
+#: ../../include/diaspora.php:2500
+msgid "Agree"
+msgstr "A favor"
+
+#: ../../include/diaspora.php:2502
+msgid "Disagree"
+msgstr "En contra"
+
+#: ../../include/diaspora.php:2504
+msgid "Abstain"
+msgstr "En blanc"
-#: ../../include/zot.php:2132
+#: ../../include/dimport.php:34 ../../include/identity.php:217
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "L'àlies té caràcters no suportats o ja està agafat en aquest lloc."
+
+#: ../../include/dir_fns.php:126
+msgid "Directory Options"
+msgstr "Opcions de carpeta"
+
+#: ../../include/dir_fns.php:128
+msgid "Safe Mode"
+msgstr "Mode Segur"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:428 ../../mod/api.php:106
+#: ../../mod/photos.php:568 ../../mod/connedit.php:647
+#: ../../mod/connedit.php:675 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "No"
+msgstr "No"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:430 ../../mod/api.php:105
+#: ../../mod/photos.php:568 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "Yes"
+msgstr "Sí"
+
+#: ../../include/dir_fns.php:129
+msgid "Public Forums Only"
+msgstr "Només fòrums públics"
+
+#: ../../include/dir_fns.php:130
+msgid "This Website Only"
+msgstr "Només aquest lloc web"
+
+#: ../../include/enotify.php:96
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "No es pot verificar la signatura del lloc per %s"
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Contingut embegut"
+#: ../../include/enotify.php:100
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Notificació] Un nou missatge s'ha rebut a %s"
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "Incorporació desactivada"
+#: ../../include/enotify.php:102
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Sortir."
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s t'ha enviat %2$s."
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Autenticació fallida"
+#: ../../include/enotify.php:103
+msgid "a private message"
+msgstr "un missatge privat"
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Identificació fallida."
+#: ../../include/enotify.php:104
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
-#: ../../include/contact_widgets.php:14
+#: ../../include/enotify.php:158
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitació disponible"
-msgstr[1] "%d invitacions disponibles"
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]a %4$s[/zrl]"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
-msgid "Advanced"
-msgstr "Avançat"
+#: ../../include/enotify.php:166
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]%4$s de %5$s[/zrl]"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Troba Canals"
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s comentat en [zrl=%3$s]el teu %4$s[/zrl]"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Entra un nom o interes"
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Notify] Comentari a la conversa #%1$d per %2$s"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Conecta/Segueix"
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Exemples: Lionel Messi, Futbolista"
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:413
-msgid "Find"
-msgstr "Troba"
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Avís] %s ha escrit una entrada al teu mur"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Canals Suggerits"
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Perfil Aleatori"
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Convida Amics"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Notificació] %s t'ha etiquetat"
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Exemple avançat: nom=pep i pais=eire"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
-#: ../../include/contact_widgets.php:125
+#: ../../include/enotify.php:226
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d connexió en comú"
-msgstr[1] "%d connexions en comú"
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
-#: ../../include/contact_widgets.php:130
-msgid "show more"
-msgstr "mostrar més"
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Avís] %1$s s'en fot de tu"
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Visible per a la teva audiència "
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s s'en fot de tú a %3$s"
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Mostra"
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "No mostrar"
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Avís] %s ha etiquetat la teva entrada"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:668
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:147
-msgid "Permissions"
-msgstr "Permisos "
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
-msgstr "Article no trobat."
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
-#: ../../include/attach.php:363
-msgid "No source file."
-msgstr "No hi ha arxiu d'origen."
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Avís] Presentació rebuda"
-#: ../../include/attach.php:381
-msgid "Cannot locate file to replace"
-msgstr "No trobo l'arxiu a reemplaçar"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
-#: ../../include/attach.php:399
-msgid "Cannot locate file to revise/update"
-msgstr "No trobo l'arxiu a revisar/actualitzar"
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
-#: ../../include/attach.php:410
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "L'arxiu excedeix la mida limit de %d"
+msgid "You may visit their profile at %s"
+msgstr "Pots visitar el seu perfil a %s"
-#: ../../include/attach.php:422
+#: ../../include/enotify.php:278
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts."
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
-#: ../../include/attach.php:505
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda."
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Notificació] Rebuda suggerencia d'amistat"
-#: ../../include/attach.php:517
-msgid "Stored file could not be verified. Upload failed."
-msgstr "L'arxiu guardat no es pot verificar. Pujada fallida."
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
-#: ../../include/attach.php:561 ../../include/attach.php:578
-msgid "Path not available."
-msgstr "Trajectòria no disponible"
+#: ../../include/enotify.php:287
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
-#: ../../include/attach.php:623
-msgid "Empty pathname"
-msgstr "Trajèctoria vuida."
+#: ../../include/enotify.php:293
+msgid "Name:"
+msgstr "Nom:"
-#: ../../include/attach.php:639
-msgid "duplicate filename or path"
-msgstr "Nom o trajectòria duplicat"
+#: ../../include/enotify.php:294
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../include/attach.php:663
-msgid "Path not found."
-msgstr "Trajectòria no trobada."
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
-#: ../../include/attach.php:714
-msgid "mkdir failed."
-msgstr "mkdir va fracassar."
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
+msgstr "[Red:Notificació]"
-#: ../../include/attach.php:718
-msgid "database storage failed."
-msgstr "Arxiu de base de dades va fallar."
+#: ../../include/event.php:549
+msgid "This event has been added to your calendar."
+msgstr "S'ha afegit l'activitat al teu calendari."
+
+#: ../../include/features.php:38
+msgid "General Features"
+msgstr "Característiques generals"
+
+#: ../../include/features.php:40
+msgid "Content Expiration"
+msgstr "Caducitat del contingut"
+
+#: ../../include/features.php:40
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina entrades, comentaris i/o missatges privats al cap d'un cert temps"
+
+#: ../../include/features.php:41
+msgid "Multiple Profiles"
+msgstr "Múltiples perfils"
+
+#: ../../include/features.php:41
+msgid "Ability to create multiple profiles"
+msgstr "Capacitat de crear diversos perfils"
+
+#: ../../include/features.php:42
+msgid "Advanced Profiles"
+msgstr "Perfils avançats"
+
+#: ../../include/features.php:42
+msgid "Additional profile sections and selections"
+msgstr "Seccions i seleccions addicionals de perfils"
+
+#: ../../include/features.php:43
+msgid "Profile Import/Export"
+msgstr "Importació i exportació de perfil"
+
+#: ../../include/features.php:43
+msgid "Save and load profile details across sites/channels"
+msgstr "Desa i carrega els detalls del perfil a través de llocs i canals"
+
+#: ../../include/features.php:44
+msgid "Web Pages"
+msgstr "Pàgines web"
+
+#: ../../include/features.php:44
+msgid "Provide managed web pages on your channel"
+msgstr "Proporcionar pàgines web gestionades al seu canal"
+
+#: ../../include/features.php:45
+msgid "Private Notes"
+msgstr "Notes privades"
+
+#: ../../include/features.php:45
+msgid "Enables a tool to store notes and reminders"
+msgstr "Activa una eina per a crear notes i recordatoris"
+
+#: ../../include/features.php:46
+msgid "Navigation Channel Select"
+msgstr "Navegació pel selector de canals"
+
+#: ../../include/features.php:46
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Canvieu els canals directament des del menú desplegable de navegació"
+
+#: ../../include/features.php:47
+msgid "Photo Location"
+msgstr "Ubicació de les fotos"
+
+#: ../../include/features.php:47
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Quan una imatge pujada porti incrustada la seva localització, enllaça-la a un mapa automàticament."
+
+#: ../../include/features.php:49
+msgid "Expert Mode"
+msgstr "Mode expert"
+
+#: ../../include/features.php:49
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Activa el mode expert per a mostrar opcions avançades de configuració"
+
+#: ../../include/features.php:50
+msgid "Premium Channel"
+msgstr "Canal prèmium"
+
+#: ../../include/features.php:50
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Permet establir restriccions i condicions a qui es connecti al teu canal"
+
+#: ../../include/features.php:55
+msgid "Post Composition Features"
+msgstr "Més funcionalitats de redacció d'entrades"
+
+#: ../../include/features.php:57
+msgid "Use Markdown"
+msgstr "Habilita el Markdown"
+
+#: ../../include/features.php:57
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Permet emprar \"Markdown\" per donar format a les entrades"
+
+#: ../../include/features.php:58
+msgid "Large Photos"
+msgstr "Fotos grans"
+
+#: ../../include/features.php:58
+msgid ""
+"Include large (640px) photo thumbnails in posts. If not enabled, use small "
+"(320px) photo thumbnails"
+msgstr "Inclou miniatures d'imatge grans (640px) en les entrades. Si no està activat, petites (320px)."
+
+#: ../../include/features.php:59
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automàticament el contingut del canal des d'altres canals o feeds"
+
+#: ../../include/features.php:60
+msgid "Even More Encryption"
+msgstr "Encara més xifratge"
+
+#: ../../include/features.php:60
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Permet el xifratge opcional de contingut extrem-a-extrem amb clau simètrica"
+
+#: ../../include/features.php:61
+msgid "Enable voting tools"
+msgstr "Habilita eines de vot"
+
+#: ../../include/features.php:61
+msgid "Provide a class of post which others can vote on"
+msgstr "Proporcionar una classe d'entrada que altres puguin votar"
+
+#: ../../include/features.php:67
+msgid "Network and Stream Filtering"
+msgstr "Filtres de xarxa de contactes i de flux d'activitat"
+
+#: ../../include/features.php:68
+msgid "Search by Date"
+msgstr "Cerca per data"
+
+#: ../../include/features.php:68
+msgid "Ability to select posts by date ranges"
+msgstr "Capacitat per seleccionar entrades per rang de dates"
+
+#: ../../include/features.php:69
+msgid "Collections Filter"
+msgstr "Filtre de col·leccions"
+
+#: ../../include/features.php:69
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Habilita un giny per mostrar només les entrades de les col·leccions seleccionades"
+
+#: ../../include/features.php:70
+msgid "Save search terms for re-use"
+msgstr "Conserva les paraules de cerca per reutilitzar-les"
+
+#: ../../include/features.php:71
+msgid "Network Personal Tab"
+msgstr "Pestanya de participació en la xarxa"
+
+#: ../../include/features.php:71
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Afegeix una pestanya que mostri només les entrades de xarxa on hi hagis intervingut"
+
+#: ../../include/features.php:72
+msgid "Network New Tab"
+msgstr "Pestanya de novetats a la xarxa"
+
+#: ../../include/features.php:72
+msgid "Enable tab to display all new Network activity"
+msgstr "Afegeix una pestanya que mostri tota l'activitat nova de la Xarxa"
+
+#: ../../include/features.php:73
+msgid "Affinity Tool"
+msgstr "Filtre d'activitat per afinitat"
+
+#: ../../include/features.php:73
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filtra el flux d'activitat segons el tipus de relació amb l'actor de l'activitat"
+
+#: ../../include/features.php:74
+msgid "Connection Filtering"
+msgstr "Filtre d'entrades per paraules clau"
+
+#: ../../include/features.php:74
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtra les entrades de les teves connexions segons paraules clau i contingut"
+
+#: ../../include/features.php:75
+msgid "Suggest Channels"
+msgstr "Suggeix-me canals"
+
+#: ../../include/features.php:75
+msgid "Show channel suggestions"
+msgstr "Mostra suggerències de canals"
+
+#: ../../include/features.php:80
+msgid "Post/Comment Tools"
+msgstr "Eines d'entrades i comentaris"
+
+#: ../../include/features.php:81
+msgid "Tagging"
+msgstr "Etiquetes"
+
+#: ../../include/features.php:81
+msgid "Ability to tag existing posts"
+msgstr "Capacitat d'etiquetar entrades existents"
+
+#: ../../include/features.php:82
+msgid "Post Categories"
+msgstr "Categories d'Entrades"
+
+#: ../../include/features.php:82
+msgid "Add categories to your posts"
+msgstr "Afegeix categoria a la teva entrada"
+
+#: ../../include/features.php:83
+msgid "Ability to file posts under folders"
+msgstr "Capacitat de arxivar entrades en les carpetes"
+
+#: ../../include/features.php:84
+msgid "Dislike Posts"
+msgstr "\"No m'agrada\""
+
+#: ../../include/features.php:84
+msgid "Ability to dislike posts/comments"
+msgstr "Capacitat per marcar amb un \"no m'agrada\" les entrades i els comentaris"
+
+#: ../../include/features.php:85
+msgid "Star Posts"
+msgstr "Entrades Excel·lents"
+
+#: ../../include/features.php:85
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia"
+
+#: ../../include/features.php:86
+msgid "Tag Cloud"
+msgstr "Núvol d'Etiquetes."
+
+#: ../../include/features.php:86
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal"
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "El canal està bloquejat en aquest lloc."
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Falta la ubicació del canal."
+
+#: ../../include/follow.php:83
+msgid "Response from remote channel was incomplete."
+msgstr "La resposta del canal remot fou incompleta."
+
+#: ../../include/follow.php:100
+msgid "Channel was deleted and no longer exists."
+msgstr "El canal fou esborrat i actualment no existeix."
+
+#: ../../include/follow.php:135 ../../include/follow.php:206
+msgid "Protocol disabled."
+msgstr "Protocol desactivat."
+
+#: ../../include/follow.php:144
+msgid "Protocol blocked for this channel."
+msgstr "El protocol està bloquejat per a aquest canal."
+
+#: ../../include/follow.php:179
+msgid "Channel discovery failed."
+msgstr "Descobriment de canal fallit."
+
+#: ../../include/follow.php:195
+msgid "local account not found."
+msgstr "compte local no trobat."
+
+#: ../../include/follow.php:224
+msgid "Cannot connect to yourself."
+msgstr "No pots connectar amb tu mateix."
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Privacitat de grup predeterminada per a contactes nous"
+
+#: ../../include/group.php:254 ../../mod/admin.php:831
+msgid "All Channels"
+msgstr "Tots els canals"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "edita"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Col·leccions"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Edita col·leccions"
+
+#: ../../include/group.php:300
+msgid "Add new collection"
+msgstr "Afegeix una nova col·lecció"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Canals a cap col·lecció"
#: ../../include/identity.php:33
msgid "Unable to obtain identity information from database"
@@ -3309,11 +3053,6 @@ msgstr "Alies/malnom es requerit."
msgid "Reserved nickname. Please choose another."
msgstr "Àlies reservat. Tria un altre."
-#: ../../include/identity.php:217 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "L'álies te caracters no soportats o ja esta en ús en aquest lloc"
-
#: ../../include/identity.php:292
msgid "Unable to retrieve created identity"
msgstr "No es pot recuperar la identitat creada"
@@ -3322,209 +3061,640 @@ msgstr "No es pot recuperar la identitat creada"
msgid "Default Profile"
msgstr "Perfil per Defecte"
-#: ../../include/identity.php:660
+#: ../../include/identity.php:759
msgid "Requested channel is not available."
msgstr "El canal demanat no està disponible."
-#: ../../include/identity.php:707 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
-#: ../../mod/layouts.php:29
+#: ../../include/identity.php:806 ../../mod/achievements.php:11
+#: ../../mod/blocks.php:29 ../../mod/profile.php:16 ../../mod/connect.php:13
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:27
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/hcard.php:8 ../../mod/layouts.php:29 ../../mod/webpages.php:29
msgid "Requested profile is not available."
msgstr "El perfil demanat no està disponible."
-#: ../../include/identity.php:870 ../../mod/profiles.php:774
+#: ../../include/identity.php:969 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Canviar la foto del perfil"
-#: ../../include/identity.php:876
+#: ../../include/identity.php:975
msgid "Profiles"
msgstr "Perfils"
-#: ../../include/identity.php:876
+#: ../../include/identity.php:975
msgid "Manage/edit profiles"
msgstr "Gestiona/edita perfils"
-#: ../../include/identity.php:877 ../../mod/profiles.php:775
+#: ../../include/identity.php:976 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Crear un Perfil Nou"
-#: ../../include/identity.php:892 ../../mod/profiles.php:786
+#: ../../include/identity.php:991 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Imatge del Perfil"
-#: ../../include/identity.php:895
+#: ../../include/identity.php:994
msgid "visible to everybody"
msgstr "visible per tothom"
-#: ../../include/identity.php:896 ../../mod/profiles.php:669
+#: ../../include/identity.php:995 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Editar visibilitat"
-#: ../../include/identity.php:912 ../../include/identity.php:1151
+#: ../../include/identity.php:1011 ../../include/identity.php:1250
msgid "Gender:"
msgstr "Gènere:"
-#: ../../include/identity.php:913 ../../include/identity.php:1195
+#: ../../include/identity.php:1012 ../../include/identity.php:1294
msgid "Status:"
msgstr "Estatus:"
-#: ../../include/identity.php:914 ../../include/identity.php:1206
+#: ../../include/identity.php:1013 ../../include/identity.php:1305
msgid "Homepage:"
msgstr "Pàgina Personal:"
-#: ../../include/identity.php:915
+#: ../../include/identity.php:1014
msgid "Online Now"
msgstr "Ara en Linia"
-#: ../../include/identity.php:998 ../../include/identity.php:1076
+#: ../../include/identity.php:1097 ../../include/identity.php:1175
#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr "g A l F d"
-#: ../../include/identity.php:999 ../../include/identity.php:1077
+#: ../../include/identity.php:1098 ../../include/identity.php:1176
msgid "F d"
msgstr "F d"
-#: ../../include/identity.php:1044 ../../include/identity.php:1116
+#: ../../include/identity.php:1143 ../../include/identity.php:1215
#: ../../mod/ping.php:346
msgid "[today]"
msgstr "[avui]"
-#: ../../include/identity.php:1055
+#: ../../include/identity.php:1154
msgid "Birthday Reminders"
msgstr "Recordatori d'Aniversaris"
-#: ../../include/identity.php:1056
+#: ../../include/identity.php:1155
msgid "Birthdays this week:"
msgstr "Aniversari aquesta setmana:"
-#: ../../include/identity.php:1109
+#: ../../include/identity.php:1208
msgid "[No description]"
msgstr "[Sense descripció]"
-#: ../../include/identity.php:1127
+#: ../../include/identity.php:1226
msgid "Event Reminders"
msgstr "Recordatori d'Events"
-#: ../../include/identity.php:1128
+#: ../../include/identity.php:1227
msgid "Events this week:"
msgstr "Event aquesta setmana:"
-#: ../../include/identity.php:1141 ../../include/identity.php:1258
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Perfil"
-
-#: ../../include/identity.php:1149 ../../mod/settings.php:1056
+#: ../../include/identity.php:1248 ../../mod/settings.php:1056
msgid "Full Name:"
msgstr "Nom Complet:"
-#: ../../include/identity.php:1156
+#: ../../include/identity.php:1255
msgid "Like this channel"
msgstr "M'agrada aquest canal"
-#: ../../include/identity.php:1180
+#: ../../include/identity.php:1279
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/identity.php:1181
+#: ../../include/identity.php:1280
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1188
+#: ../../include/identity.php:1287
msgid "Birthday:"
msgstr "Aniversari:"
-#: ../../include/identity.php:1192 ../../mod/directory.php:297
+#: ../../include/identity.php:1291 ../../mod/directory.php:297
msgid "Age:"
msgstr "Edat:"
-#: ../../include/identity.php:1201
+#: ../../include/identity.php:1300
#, php-format
msgid "for %1$d %2$s"
msgstr "per %1$d %2$s"
-#: ../../include/identity.php:1204 ../../mod/profiles.php:691
+#: ../../include/identity.php:1303 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Preferència Sexual:"
-#: ../../include/identity.php:1208 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
+#: ../../include/identity.php:1307 ../../mod/profiles.php:693
+#: ../../mod/directory.php:313
msgid "Hometown:"
msgstr "Ciutat Natal:"
-#: ../../include/identity.php:1210
+#: ../../include/identity.php:1309
msgid "Tags:"
msgstr "Etiquetes:"
-#: ../../include/identity.php:1212 ../../mod/profiles.php:694
+#: ../../include/identity.php:1311 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Idees Polítiques:"
-#: ../../include/identity.php:1214
+#: ../../include/identity.php:1313
msgid "Religion:"
msgstr "Religió:"
-#: ../../include/identity.php:1216 ../../mod/directory.php:315
+#: ../../include/identity.php:1315 ../../mod/directory.php:315
msgid "About:"
-msgstr "Sobre:"
+msgstr "Sobre mi:"
-#: ../../include/identity.php:1218
+#: ../../include/identity.php:1317
msgid "Hobbies/Interests:"
msgstr "Aficions/Interessos:"
-#: ../../include/identity.php:1220 ../../mod/profiles.php:697
+#: ../../include/identity.php:1319 ../../mod/profiles.php:697
msgid "Likes:"
-msgstr "Agrada:"
+msgstr "M'agrada:"
-#: ../../include/identity.php:1222 ../../mod/profiles.php:698
+#: ../../include/identity.php:1321 ../../mod/profiles.php:698
msgid "Dislikes:"
-msgstr "Desagrada:"
+msgstr "No li agrada:"
-#: ../../include/identity.php:1224
+#: ../../include/identity.php:1323
msgid "Contact information and Social Networks:"
msgstr "Informació de contacte i Xarxes Socials:"
-#: ../../include/identity.php:1226
+#: ../../include/identity.php:1325
msgid "My other channels:"
msgstr "Els meus altres canals:"
-#: ../../include/identity.php:1228
+#: ../../include/identity.php:1327
msgid "Musical interests:"
msgstr "Interessos Musicals:"
-#: ../../include/identity.php:1230
+#: ../../include/identity.php:1329
msgid "Books, literature:"
msgstr "Llibres, literatura:"
-#: ../../include/identity.php:1232
+#: ../../include/identity.php:1331
msgid "Television:"
msgstr "Televisió:"
-#: ../../include/identity.php:1234
+#: ../../include/identity.php:1333
msgid "Film/dance/culture/entertainment:"
msgstr "Películes/Dança/Cultura/Entreteniment:"
-#: ../../include/identity.php:1236
+#: ../../include/identity.php:1335
msgid "Love/Romance:"
msgstr "Amor/Romace:"
-#: ../../include/identity.php:1238
+#: ../../include/identity.php:1337
msgid "Work/employment:"
msgstr "Treball/feina:"
-#: ../../include/identity.php:1240
+#: ../../include/identity.php:1339
msgid "School/education:"
msgstr "Escola/educació:"
-#: ../../include/identity.php:1260
+#: ../../include/identity.php:1359
msgid "Like this thing"
msgstr "M'agrada això"
+#: ../../include/items.php:413 ../../mod/bulksetclose.php:11
+#: ../../mod/profperm.php:23 ../../mod/group.php:68 ../../mod/like.php:273
+#: ../../mod/subthread.php:49 ../../index.php:396
+msgid "Permission denied"
+msgstr "Permís denegat"
+
+#: ../../include/items.php:1101 ../../include/items.php:1147
+msgid "(Unknown)"
+msgstr "(Desconegut)"
+
+#: ../../include/items.php:1373
+msgid "Visible to anybody on the internet."
+msgstr "Visible per tothom a la Internet"
+
+#: ../../include/items.php:1375
+msgid "Visible to you only."
+msgstr "Visible només per tú."
+
+#: ../../include/items.php:1377
+msgid "Visible to anybody in this network."
+msgstr "Visible per tothom en aquesta xarxa."
+
+#: ../../include/items.php:1379
+msgid "Visible to anybody authenticated."
+msgstr "Visible per tothom autenticat."
+
+#: ../../include/items.php:1381
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible per a tothom a %s."
+
+#: ../../include/items.php:1383
+msgid "Visible to all connections."
+msgstr "Visible per a totes les connexions."
+
+#: ../../include/items.php:1385
+msgid "Visible to approved connections."
+msgstr "Visible per a les connexions aprovades."
+
+#: ../../include/items.php:1387
+msgid "Visible to specific connections."
+msgstr "Visible per a específiques connexions."
+
+#: ../../include/items.php:4310 ../../mod/admin.php:167
+#: ../../mod/admin.php:1025 ../../mod/admin.php:1225 ../../mod/display.php:36
+#: ../../mod/filestorage.php:27 ../../mod/thing.php:74
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Element no trobat."
+
+#: ../../include/items.php:4787 ../../mod/bulksetclose.php:51
+#: ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Col·lecció no trobada."
+
+#: ../../include/items.php:4803
+msgid "Collection is empty."
+msgstr "La col·lecció esta buida."
+
+#: ../../include/items.php:4810
+#, php-format
+msgid "Collection: %s"
+msgstr "Col·lecció: %s"
+
+#: ../../include/items.php:4820 ../../mod/connedit.php:674
+#, php-format
+msgid "Connection: %s"
+msgstr "Connexió: %s"
+
+#: ../../include/items.php:4822
+msgid "Connection not found."
+msgstr "Connexió no trobada."
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Vols esborrar aquest element?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] mostra'n menys"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] expandeix"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] colapsa"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Contrasenya massa curta"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Les contrasenyes no coincideixen"
+
+#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+msgid "everybody"
+msgstr "tothom"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Contrasenya secreta"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Pista per la contrasenya"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Avís: Els permisos han canviat però encara no han estat enviats."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "tanca-ho tot"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Res de nou per aquí"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Valora aquest Canal (això es farà públic)"
+
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:683
+#: ../../mod/rate.php:156
+msgid "Rating"
+msgstr "Valoració"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Descriu (opcional)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Si us plau, introdueix una adreça URL"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
+
+#: ../../include/js_strings.php:26
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:28
+msgid "ago"
+msgstr "enrere"
+
+#: ../../include/js_strings.php:29
+msgid "from now"
+msgstr "des d'ara"
+
+#: ../../include/js_strings.php:30
+msgid "less than a minute"
+msgstr "menys d'un minut"
+
+#: ../../include/js_strings.php:31
+msgid "about a minute"
+msgstr "prop d'un minut"
+
+#: ../../include/js_strings.php:32
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuts"
+
+#: ../../include/js_strings.php:33
+msgid "about an hour"
+msgstr "prop d'una hora"
+
+#: ../../include/js_strings.php:34
+#, php-format
+msgid "about %d hours"
+msgstr "al voltant de %d hores"
+
+#: ../../include/js_strings.php:35
+msgid "a day"
+msgstr "un dia"
+
+#: ../../include/js_strings.php:36
+#, php-format
+msgid "%d days"
+msgstr "%d dies"
+
+#: ../../include/js_strings.php:37
+msgid "about a month"
+msgstr "prop d'un mes"
+
+#: ../../include/js_strings.php:38
+#, php-format
+msgid "%d months"
+msgstr "%d mesos"
+
+#: ../../include/js_strings.php:39
+msgid "about a year"
+msgstr "prop d'un any"
+
+#: ../../include/js_strings.php:40
+#, php-format
+msgid "%d years"
+msgstr "%d anys"
+
+#: ../../include/js_strings.php:41
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:42
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Pàgina Nova"
+
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
+#: ../../mod/layouts.php:188 ../../mod/webpages.php:187
+msgid "View"
+msgstr "Mostra"
+
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+msgid "Actions"
+msgstr "Accions"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+msgid "Page Link"
+msgstr "Enllaç de la pàgina"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Títol"
+
+#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
+#: ../../mod/layouts.php:181 ../../mod/menu.php:108 ../../mod/webpages.php:192
+msgid "Created"
+msgstr "Creat"
+
+#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
+#: ../../mod/layouts.php:182 ../../mod/menu.php:109 ../../mod/webpages.php:193
+msgid "Edited"
+msgstr "Editat"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Pot veure el flux i entrades normals"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Pot veure el meu perfil del canal per defecte"
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Pot veure el meus àlbums de fotos"
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Pot veure les meves connexions"
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Pot veure al meu magatzem d'arxius"
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Pot veure les meves pàgines web"
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Pot enviar-me el flux i entrades del seu canal"
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Pot fer entrades a la meva pàgina de canal (\"mur\")"
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Pot fer comentaris o dir si agrada en les meves entrades"
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Pot enviar-me un missatge de correu privat"
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Pot enviar fotos al meus àlbums de fotos"
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Pot dir si agrada/desagrada "
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Perfils i altres coses a més d'entrades/comentaris"
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Ho pot enviar a tots els meus contactes del canal via entrades @mencions"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avançat - capaç de crear canals de grups de foro"
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Pot xatejar amb mi (si estic disponible)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Pot escriure al meu magatzem d'arxius"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Pot editar les meves pàgines web"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Pot mostrar l'origen de les meves entrades públiques en altres canals"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Quelcom avançat - molt útil en comunitats obertes"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Pot administrar els meus recursos del canal"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Extremadament avançat. No toquis res si no saps que estàs fent"
+
+#: ../../include/permissions.php:893
+msgid "Social Networking"
+msgstr "Xarxes Socials"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Mostly Public"
+msgstr "Més aviat Públic"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Restricted"
+msgstr "Restringit"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+msgid "Private"
+msgstr "Privat"
+
+#: ../../include/permissions.php:894
+msgid "Community Forum"
+msgstr "Foro de Comunitat"
+
+#: ../../include/permissions.php:895
+msgid "Feed Republish"
+msgstr "Republicador"
+
+#: ../../include/permissions.php:896
+msgid "Special Purpose"
+msgstr "Objectiu Especial"
+
+#: ../../include/permissions.php:896
+msgid "Celebrity/Soapbox"
+msgstr "Celebritat/Faristol"
+
+#: ../../include/permissions.php:896
+msgid "Group Repository"
+msgstr "Repositori de Grup"
+
+#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Altres"
+
+#: ../../include/permissions.php:897
+msgid "Custom/Expert Mode"
+msgstr "Personalitzat/Mode Expert"
+
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "La imatge excedeix la mida limit pel lloc web en %lu bytes"
+
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "El fitxer d'imatge esta buit."
+
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "incapaç de processar la imatge"
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Fracassà l'emmagatzematge de la Foto"
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Puja Noves Fotos"
+
+#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
+msgid "Tags"
+msgstr "Etiquetes"
+
+#: ../../include/taxonomy.php:287
+msgid "Keywords"
+msgstr "Paraules clau"
+
+#: ../../include/taxonomy.php:308
+msgid "have"
+msgstr "tinc"
+
+#: ../../include/taxonomy.php:308
+msgid "has"
+msgstr "tens"
+
+#: ../../include/taxonomy.php:309
+msgid "want"
+msgstr "vull"
+
+#: ../../include/taxonomy.php:309
+msgid "wants"
+msgstr "vols"
+
+#: ../../include/taxonomy.php:310
+msgid "likes"
+msgstr "li agrada"
+
+#: ../../include/taxonomy.php:311
+msgid "dislikes"
+msgstr "no li agrada"
+
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
msgid "Male"
@@ -3761,1106 +3931,1013 @@ msgstr "No Et Fa Res"
msgid "Ask me"
msgstr "Pregunta"
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Administració"
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Incapaç de trobar el destinatari."
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Adreçes"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Incapaç de comunicar amb el canal demanat."
-#: ../../include/apps.php:144 ../../mod/mood.php:130
-msgid "Mood"
-msgstr "Ànim"
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "No puc verificar el canal demanat."
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Sondeig"
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Suggeriment"
+#: ../../mod/mail.php:139
+msgid "Message deleted."
+msgstr "Missatge eliminat."
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Canal Aleatori"
+#: ../../mod/mail.php:156
+msgid "Message recalled."
+msgstr "Recupera el missatge."
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Convida"
+#: ../../mod/mail.php:225
+msgid "Send Private Message"
+msgstr "Envia Missatge Privat"
-#: ../../include/apps.php:152
-msgid "Features"
-msgstr "Funcionalitats"
+#: ../../mod/mail.php:226 ../../mod/mail.php:343
+msgid "To:"
+msgstr "Per:"
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Idioma"
+#: ../../mod/mail.php:231 ../../mod/mail.php:345
+msgid "Subject:"
+msgstr "Assumpte:"
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Entrada"
+#: ../../mod/mail.php:235 ../../mod/mail.php:348 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "El teu missatge:"
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Foto del Perfil"
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "Envia"
-#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
-msgid "Update"
-msgstr "Actualització"
+#: ../../mod/mail.php:269
+msgid "Message not found."
+msgstr "Missatge no trobat."
-#: ../../include/apps.php:247
-msgid "Install"
-msgstr "Instal·lar"
+#: ../../mod/mail.php:312
+msgid "Delete message"
+msgstr "Elimina el missatge"
-#: ../../include/apps.php:252
-msgid "Purchase"
-msgstr "Compra"
+#: ../../mod/mail.php:313
+msgid "Recall message"
+msgstr "Recupera el missatge"
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Imatge/foto"
+#: ../../mod/mail.php:315
+msgid "Message has been recalled."
+msgstr "El missatge s'ha recuperat."
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Contingut encriptat"
+#: ../../mod/mail.php:332
+msgid "Private Conversation"
+msgstr "Conversació Privada"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instal·la l'element %s:"
+#: ../../mod/mail.php:336 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Conversació esborrada"
-#: ../../include/bbcode.php:182
-#, php-format
+#: ../../mod/mail.php:338
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "pàgina web"
-
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "disposició"
-
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
-msgid "block"
-msgstr "bloc"
-
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menú"
-
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "QR code"
-
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s va escriure el següent %2$s %3$s"
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "entrada"
+#: ../../mod/mail.php:342
+msgid "Send Reply"
+msgstr "Envia Resposta"
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Diferents observadors veuran aquest text de diferents formes"
+#: ../../mod/magic.php:69
+msgid "Hub not found."
+msgstr "Concentrador no trobat."
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "Algunes propostes sobre què pots fer quan ets nou per aquí"
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 va escriure:"
+#: ../../mod/page.php:36 ../../mod/block.php:27
+msgid "Invalid item."
+msgstr "Article invàlid."
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Perdut el nom de la sala"
+#: ../../mod/page.php:52 ../../mod/block.php:39 ../../mod/wall_upload.php:29
+msgid "Channel not found."
+msgstr "Canal no trobat."
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Nom de la sala duplicat"
+#: ../../mod/page.php:89 ../../mod/block.php:75 ../../mod/display.php:110
+#: ../../mod/help.php:79 ../../index.php:245
+msgid "Page not found."
+msgstr "Pàgina no trobada."
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Especificació de la sala invàlida."
+#: ../../mod/page.php:126
+msgid "Lorem Ipsum"
+msgstr "Lorem Ipsum"
-#: ../../include/chat.php:120
-msgid "Room not found."
-msgstr "Sala no trobada."
+#: ../../mod/acl.php:231
+msgid "network"
+msgstr "xarxa"
-#: ../../include/chat.php:141
-msgid "Room is full"
-msgstr "La sala es plena"
+#: ../../mod/acl.php:241
+msgid "RSS"
+msgstr "RSS"
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "La imatge excedeix la mida limit pel lloc web en %lu bytes"
+#: ../../mod/admin.php:52
+msgid "Theme settings updated."
+msgstr "Ajustos de tema actualitzats."
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "El fitxer d'imatge esta buit."
+#: ../../mod/admin.php:93 ../../mod/admin.php:452
+msgid "Site"
+msgstr "Lloc"
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "incapaç de processar la imatge"
+#: ../../mod/admin.php:94
+msgid "Accounts"
+msgstr "Comptes"
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Fracassà l'emmagatzematge de la Foto"
+#: ../../mod/admin.php:95 ../../mod/admin.php:985
+msgid "Channels"
+msgstr "Canals"
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Puja Noves Fotos"
+#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+msgid "Plugins"
+msgstr "Plugins"
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Algunes propostes sobre el que cal fer quan ets nou aquí"
+#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+msgid "Themes"
+msgstr "Temes"
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Has creat %1$.0f de %2$.0f canals permesos."
+#: ../../mod/admin.php:98
+msgid "Inspect queue"
+msgstr "Revisa cua"
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Crear un nou canal"
+#: ../../mod/admin.php:100
+msgid "Profile Config"
+msgstr "Configuració del Perfil"
-#: ../../mod/manage.php:167
-msgid "Current Channel"
-msgstr "Canal Actual"
+#: ../../mod/admin.php:101
+msgid "DB updates"
+msgstr "Actualitzacions de Base de Dades"
-#: ../../mod/manage.php:169
-msgid "Switch to one of your channels by selecting it."
-msgstr "Canviar a un altre dels teus canals seleccionant-ho."
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+msgid "Logs"
+msgstr "Logs"
-#: ../../mod/manage.php:170
-msgid "Default Channel"
-msgstr "Canal per Defecte"
+#: ../../mod/admin.php:121
+msgid "Plugin Features"
+msgstr "Característiques del Plugin"
-#: ../../mod/manage.php:171
-msgid "Make Default"
-msgstr "Estableix com a Predeterminat"
+#: ../../mod/admin.php:123
+msgid "User registrations waiting for confirmation"
+msgstr "Registre d'usuaris esperant confirmació"
-#: ../../mod/manage.php:174
-#, php-format
-msgid "%d new messages"
-msgstr "%d missatges nous"
+#: ../../mod/admin.php:200
+msgid "# Accounts"
+msgstr "# Comptes"
-#: ../../mod/manage.php:175
-#, php-format
-msgid "%d new introductions"
-msgstr "%d noves presentacions"
+#: ../../mod/admin.php:201
+msgid "# blocked accounts"
+msgstr "# comptes bloquejats"
-#: ../../mod/manage.php:177
-msgid "Delegated Channels"
-msgstr "Canals Delegats"
+#: ../../mod/admin.php:202
+msgid "# expired accounts"
+msgstr "# comptes expirats"
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Accés públic denegat."
+#: ../../mod/admin.php:203
+msgid "# expiring accounts"
+msgstr "# comptes expirant"
-#: ../../mod/directory.php:234
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valoració"
-msgstr[1] "%d valoracions"
+#: ../../mod/admin.php:216
+msgid "# Channels"
+msgstr "# Canals"
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Gènere:"
+#: ../../mod/admin.php:217
+msgid "# primary"
+msgstr "# primari"
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Estatus:"
+#: ../../mod/admin.php:218
+msgid "# clones"
+msgstr "# clons"
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Pàgina Personal:"
+#: ../../mod/admin.php:224
+msgid "Message queues"
+msgstr "Cues de missatges"
-#: ../../mod/directory.php:308 ../../mod/events.php:659
-msgid "Description:"
-msgstr "Descripció:"
+#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
+#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
+#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
+#: ../../mod/admin.php:1395
+msgid "Administration"
+msgstr "Administració"
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Forum Públic:"
+#: ../../mod/admin.php:241
+msgid "Summary"
+msgstr "Sumari"
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Paraules Clau:"
+#: ../../mod/admin.php:244
+msgid "Registered accounts"
+msgstr "Comptes registrades"
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "No suggerir"
+#: ../../mod/admin.php:245 ../../mod/admin.php:552
+msgid "Pending registrations"
+msgstr "Comptes pendents de registre"
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Connexions en comú:"
+#: ../../mod/admin.php:246
+msgid "Registered channels"
+msgstr "Canals registrats"
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Directori Global"
+#: ../../mod/admin.php:247 ../../mod/admin.php:553
+msgid "Active plugins"
+msgstr "Plugins actius"
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Directori Local"
+#: ../../mod/admin.php:248
+msgid "Version"
+msgstr "Versió"
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Cercant:"
+#: ../../mod/admin.php:363
+msgid "Site settings updated."
+msgstr "Ajustos del Lloc actualitzats"
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "pàgina següent"
+#: ../../mod/admin.php:400 ../../mod/settings.php:813
+msgid "mobile"
+msgstr "mòbil"
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "pàgina anterior"
+#: ../../mod/admin.php:402
+msgid "experimental"
+msgstr "experimental"
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Opcions per ordenar"
+#: ../../mod/admin.php:404
+msgid "unsupported"
+msgstr "no soportat"
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabètic"
+#: ../../mod/admin.php:429
+msgid "Yes - with approval"
+msgstr "Sí - amb aprovació"
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Alfabètic Invers"
+#: ../../mod/admin.php:435
+msgid "My site is not a public server"
+msgstr "El meu lloc no es un servidor públic"
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "De més Nou a més Vell"
+#: ../../mod/admin.php:436
+msgid "My site has paid access only"
+msgstr "El meu lloc te accès per pagament"
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "De més Antic a més Nou"
+#: ../../mod/admin.php:437
+msgid "My site has free access only"
+msgstr "El meu lloc te lliure accés"
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Sense entrades (algunes podrien estar amagades)."
+#: ../../mod/admin.php:438
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "El meu lloc te comptes gratis amb opció de millores per pagament"
-#: ../../mod/xchan.php:6
-msgid "Xchan Lookup"
-msgstr "Cerca a xchan"
+#: ../../mod/admin.php:454 ../../mod/register.php:207
+msgid "Registration"
+msgstr "Registre"
-#: ../../mod/xchan.php:9
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca a xchan començant per (o webbie)"
+#: ../../mod/admin.php:455
+msgid "File upload"
+msgstr "Pujar arxiu"
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
-msgid "Not found."
-msgstr "No trobat."
+#: ../../mod/admin.php:456
+msgid "Policies"
+msgstr "Polítiques"
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Autoritza la connexió de l'aplicació"
+#: ../../mod/admin.php:461
+msgid "Site name"
+msgstr "Nom del lloc"
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna a la teva aplicació i insereix aquest Codi de Seguretat:"
+#: ../../mod/admin.php:462
+msgid "Banner/Logo"
+msgstr "Senyera/Logo"
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Si et plau, identifica't per continuar."
+#: ../../mod/admin.php:463
+msgid "Administrator Information"
+msgstr "Informació de l'Administrador"
-#: ../../mod/api.php:104
+#: ../../mod/admin.php:463
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
-
-#: ../../mod/webpages.php:191
-msgid "Page Title"
-msgstr "Títol de la pàgina"
-
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "S'ha afegit el canal."
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Informació per contactar amb els administradors del lloc. Mostrada a la pàgina d'informació del lloc. Es pot emprar BBCode aquí"
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
-msgid "Tag removed"
-msgstr "S'ha tret l'etiqueta"
+#: ../../mod/admin.php:464
+msgid "System language"
+msgstr "Idioma del sistema"
-#: ../../mod/tagrm.php:119
-msgid "Remove Item Tag"
-msgstr "Elimina l'etiqueta d'element"
+#: ../../mod/admin.php:465
+msgid "System theme"
+msgstr "Tema del sistema"
-#: ../../mod/tagrm.php:121
-msgid "Select a tag to remove: "
-msgstr "Tria l'etiqueta a eliminar:"
+#: ../../mod/admin.php:465
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Tema del sistema per defecte - pot ser sobrescrit pel perfils dels usuaris - <a href='#' id='cnftheme'>Ajustos de canvi del tema</a>"
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
-msgid "Remove"
-msgstr "Esborra"
+#: ../../mod/admin.php:466
+msgid "Mobile system theme"
+msgstr "Tema del sistema per a mòbils"
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
-msgid "Continue"
-msgstr "Continua"
+#: ../../mod/admin.php:466
+msgid "Theme for mobile devices"
+msgstr "Tema per a aparells mòbils"
-#: ../../mod/connect.php:85
-msgid "Premium Channel Setup"
-msgstr "Configuració de Canals Premium"
+#: ../../mod/admin.php:468
+msgid "Enable Diaspora Protocol"
+msgstr "Activat el Protocol Diaspora"
-#: ../../mod/connect.php:87
-msgid "Enable premium channel connection restrictions"
-msgstr "Habilita les restriccions de connexió del canal premium"
+#: ../../mod/admin.php:468
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr "Comunicar amb Diaspora i Friendica - experimental"
-#: ../../mod/connect.php:88
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
+#: ../../mod/admin.php:469
+msgid "Allow Feeds as Connections"
+msgstr "Permetre Retroalimentadors com Connexions"
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:"
+#: ../../mod/admin.php:469
+msgid "(Heavy system resource usage)"
+msgstr "(Demana molts recursos del sistema)"
-#: ../../mod/connect.php:91
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Connexions potencials veuran el següent text abans de continuar:"
+#: ../../mod/admin.php:470
+msgid "Maximum image size"
+msgstr "Mida màxima d'imatge"
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
+#: ../../mod/admin.php:470
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina."
-
-#: ../../mod/connect.php:101
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(No s'han proporcionat instruccions específiques pel propietari del canal.)"
-
-#: ../../mod/connect.php:109
-msgid "Restricted or Premium Channel"
-msgstr "Canal Restringit o Premium"
-
-#: ../../mod/thing.php:94
-msgid "Thing updated"
-msgstr "S'ha actualitzat la cosa"
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Mida màxima en bytes de imatges pujades. Per defecte es 0, el que vol dir sense límits."
-#: ../../mod/thing.php:153
-msgid "Object store: failed"
-msgstr "No s'ha pogut emmagatzemar l'objecte"
+#: ../../mod/admin.php:471
+msgid "Does this site allow new member registration?"
+msgstr "Permet aquest lloc registre de nous membres?"
-#: ../../mod/thing.php:157
-msgid "Thing added"
-msgstr "S'ha afegit la cosa"
+#: ../../mod/admin.php:472
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Que es es que millor descriu la mena de comptes oferits per aquest concentrador?"
-#: ../../mod/thing.php:175
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+#: ../../mod/admin.php:473
+msgid "Register text"
+msgstr "text de registre"
-#: ../../mod/thing.php:226
-msgid "Show Thing"
-msgstr "Mostra la cosa"
+#: ../../mod/admin.php:473
+msgid "Will be displayed prominently on the registration page."
+msgstr "Es mostrarà preminentment a la pàgina de registre"
-#: ../../mod/thing.php:233
-msgid "item not found."
-msgstr "no s'ha trobat l'element."
+#: ../../mod/admin.php:474
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Pàgina d'inici a mostrar als visitants (per defecte: la pàgina d'identificació)"
-#: ../../mod/thing.php:261
-msgid "Edit Thing"
-msgstr "Edita la cosa"
+#: ../../mod/admin.php:474
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "exemple: 'públic' per a mostrar un flux públic, 'page/sys/home' per a mostrar una pàgina web dita 'home' o 'include:home.html' per a incloure un arxiu."
-#: ../../mod/thing.php:263 ../../mod/thing.php:310
-msgid "Select a profile"
-msgstr "Tria un perfil"
+#: ../../mod/admin.php:475
+msgid "Preserve site homepage URL"
+msgstr "Preservar URL de la pàgina web"
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Post an activity"
-msgstr "Publica una activitat"
+#: ../../mod/admin.php:475
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la pàgina web del lloc en un marc en el lloc original enlloc de redirigir cap a ella"
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Only sends to viewers of the applicable profile"
-msgstr "S'envia només a visitants del perfil corresponent"
+#: ../../mod/admin.php:476
+msgid "Accounts abandoned after x days"
+msgstr "Els copmte es consideren abandonats despres de x dies"
-#: ../../mod/thing.php:269 ../../mod/thing.php:315
-msgid "Name of thing e.g. something"
-msgstr "Nom de la cosa. Exemple: patata"
+#: ../../mod/admin.php:476
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "No malgastar recursos del sistema sondejant llocs externs per acomptes abandonats. Entrar 0 vol dir sense límit de temps."
-#: ../../mod/thing.php:271 ../../mod/thing.php:316
-msgid "URL of thing (optional)"
-msgstr "Adreça URL de la cosa (opcional)"
+#: ../../mod/admin.php:477
+msgid "Allowed friend domains"
+msgstr "dominis amics permesos"
-#: ../../mod/thing.php:273 ../../mod/thing.php:317
-msgid "URL for photo of thing (optional)"
-msgstr "Adreça URL de la foto d'una cosa (opcional)"
+#: ../../mod/admin.php:477
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "llista separada per comes de dominis en els que està permès establir relacions d'amistat amb aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
-#: ../../mod/thing.php:308
-msgid "Add Thing to your Profile"
-msgstr "Afegeix una cosa al teu perfil"
+#: ../../mod/admin.php:478
+msgid "Allowed email domains"
+msgstr "Dominis de correu electonic acceptats"
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Article no disponible."
+#: ../../mod/admin.php:478
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "llista separada per comes de dominis de adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "URL sol·licitada retorna error: %1$s"
+#: ../../mod/admin.php:479
+msgid "Not allowed email domains"
+msgstr "Dominis de correu electrònic no acceptats"
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
+#: ../../mod/admin.php:479
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "llista separada per comes de dominis de adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
-#: ../../mod/profile_photo.php:162
-msgid "Image resize failed."
-msgstr "No s'ha pogut escalar la imatge."
+#: ../../mod/admin.php:480
+msgid "Block public"
+msgstr "Bloc públic"
-#: ../../mod/profile_photo.php:206
+#: ../../mod/admin.php:480
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Activa per a bloquejar l'accés públic a totes les pàgines públiques personals excepte si estàs identificat en el sistema."
-#: ../../mod/profile_photo.php:233
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "La imatge excedeix la mida límit de %d"
+#: ../../mod/admin.php:481
+msgid "Verify Email Addresses"
+msgstr "Verifica l'Adreça de Correu Electrònic"
-#: ../../mod/profile_photo.php:242
-msgid "Unable to process image."
-msgstr "Incapaç de processar l'imatge."
+#: ../../mod/admin.php:481
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Activa per comprovar l'adreça de correu electrònic emprada durant el registre d'un nou compte (recomanat)"
-#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
-msgid "Photo not available."
-msgstr "Foto no disponible."
+#: ../../mod/admin.php:482
+msgid "Force publish"
+msgstr "Forza la publicació"
-#: ../../mod/profile_photo.php:359
-msgid "Upload File:"
-msgstr "Puja Arxiu:"
+#: ../../mod/admin.php:482
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Activa per forzar que tots el perfils en aquest lloc siguin llistats en el directori del lloc."
-#: ../../mod/profile_photo.php:360
-msgid "Select a profile:"
-msgstr "Tria un perfil:"
+#: ../../mod/admin.php:483
+msgid "Disable discovery tab"
+msgstr "Desactiva la pestañnya de descobrir"
-#: ../../mod/profile_photo.php:361
-msgid "Upload Profile Photo"
-msgstr "Puja una Foto pel Perfil"
+#: ../../mod/admin.php:483
+msgid ""
+"Remove the tab in the network view with public content pulled from sources "
+"chosen for this site."
+msgstr "Treu la pesranya per veure contingut públic de la xarxa extret d'origens triats per aquest lloc."
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "o"
+#: ../../mod/admin.php:484
+msgid "login on Homepage"
+msgstr "Accés a la Pàgina d'inici"
-#: ../../mod/profile_photo.php:366
-msgid "skip this step"
-msgstr "salta aquest pas"
+#: ../../mod/admin.php:484
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut."
-#: ../../mod/profile_photo.php:366
-msgid "select a photo from your photo albums"
-msgstr "tria una foto del teu àlbum de fotos"
+#: ../../mod/admin.php:486
+msgid "Proxy user"
+msgstr "Usuari Proxy"
-#: ../../mod/profile_photo.php:382
-msgid "Crop Image"
-msgstr "Retalla Imatge"
+#: ../../mod/admin.php:487
+msgid "Proxy URL"
+msgstr "URL del Proxy"
-#: ../../mod/profile_photo.php:383
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Si us plau, retalla la imatge per a una optima visualització"
+#: ../../mod/admin.php:488
+msgid "Network timeout"
+msgstr "Temps d'espera de la xarxa"
-#: ../../mod/profile_photo.php:385
-msgid "Done Editing"
-msgstr "Edició Feta"
+#: ../../mod/admin.php:488
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)"
-#: ../../mod/profile_photo.php:428
-msgid "Image uploaded successfully."
-msgstr "Imatge pujada exitosament."
+#: ../../mod/admin.php:489
+msgid "Delivery interval"
+msgstr "Interval de lliurament"
-#: ../../mod/profile_photo.php:430
-msgid "Image upload failed."
-msgstr "La pujada de la imatge va fracassar."
+#: ../../mod/admin.php:489
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats."
-#: ../../mod/profile_photo.php:439
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "La reducció de mida de la imatge [%s] va fracassar."
+#: ../../mod/admin.php:490
+msgid "Poll interval"
+msgstr "interval de sondeig"
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Article invàlid."
+#: ../../mod/admin.php:490
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
-msgid "Channel not found."
-msgstr "Canal no trobat."
+#: ../../mod/admin.php:491
+msgid "Maximum Load Average"
+msgstr "Càrrega Mitja Màxima"
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
-msgid "Page not found."
-msgstr "Pàgina no trobada."
+#: ../../mod/admin.php:491
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte."
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "M'agrada / No m'agrada"
+#: ../../mod/admin.php:492
+msgid "Expiration period in days for imported (matrix/network) content"
+msgstr "Periode d'expiració per a contingut importat (matrix/xarxa)"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Aquesta acció està restringida als membres."
+#: ../../mod/admin.php:492
+msgid "0 for no expiration of imported content"
+msgstr "0 vol dir sense temps d'expiració pel contingut importat"
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "<a href=\"rmagic\">Entra amb la teva identitat $Projectname</a> o <a href=\"register\">registra't a $Projectname</a> per continuar."
+#: ../../mod/admin.php:540
+msgid "No server found"
+msgstr "No es troba servidor"
-#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
-msgid "Invalid request."
-msgstr "Sol·licitud invàlida."
+#: ../../mod/admin.php:547 ../../mod/admin.php:831
+msgid "ID"
+msgstr "ID"
-#: ../../mod/like.php:143
-msgid "thing"
-msgstr "cosa"
+#: ../../mod/admin.php:547
+msgid "for channel"
+msgstr "per a canal"
-#: ../../mod/like.php:189
-msgid "Channel unavailable."
-msgstr "El canal està inactiu."
+#: ../../mod/admin.php:547
+msgid "on server"
+msgstr "al servidor"
-#: ../../mod/like.php:228
-msgid "Previous action reversed."
-msgstr "S'ha desfet l'acció anterior."
+#: ../../mod/admin.php:547
+msgid "Status"
+msgstr "Estat"
-#: ../../mod/like.php:398
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s està d'acord amb %3$s de %2$s"
+#: ../../mod/admin.php:549
+msgid "Server"
+msgstr "Servidor"
-#: ../../mod/like.php:400
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s no està d'acord amb %3$s de %2$s"
+#: ../../mod/admin.php:566
+msgid "Update has been marked successful"
+msgstr "Actualització marcada amb exit"
-#: ../../mod/like.php:402
+#: ../../mod/admin.php:576
#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s s'abstén en %3$s de %2$s"
+msgid "Executing %s failed. Check system logs."
+msgstr "Executant %s ha fallat. Comprova els logs del sistema."
-#: ../../mod/like.php:404
+#: ../../mod/admin.php:579
#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%1$s assistirà a %3$s de %2$s"
+msgid "Update %s was successfully applied."
+msgstr "Actualització %s es va realitzar correctament."
-#: ../../mod/like.php:406
+#: ../../mod/admin.php:583
#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%1$s no assistirà a %3$s de %2$s"
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Actualització %s no ha retornat l'estat. Es desconeix si ha finalitzat amb exit."
-#: ../../mod/like.php:408
+#: ../../mod/admin.php:586
#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%1$s potser assistirà a %3$s de %2$s"
-
-#: ../../mod/like.php:492
-msgid "Action completed."
-msgstr "S'ha completat l'acció."
-
-#: ../../mod/like.php:493
-msgid "Thank you."
-msgstr "Gràcies."
-
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr "Entrades de Calendari importades."
-
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr "No es troben entrades decalendari."
-
-#: ../../mod/events.php:101
-msgid "Event can not end before it has started."
-msgstr "L'esdeveniment ha de començar abans d'acabar."
-
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
-msgid "Unable to generate preview."
-msgstr "No s'ha pogut generar la vista prèvia."
-
-#: ../../mod/events.php:110
-msgid "Event title and start time are required."
-msgstr "Cal indicar l'inici i el final de l'esdeveniment."
-
-#: ../../mod/events.php:128
-msgid "Event not found."
-msgstr "No s'ha trobat l'esdeveniment."
-
-#: ../../mod/events.php:409
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:431
-msgid "Edit event"
-msgstr "Edita l'esdeveniment"
-
-#: ../../mod/events.php:432
-msgid "Delete event"
-msgstr "Esborra l'esdeveniment"
-
-#: ../../mod/events.php:466
-msgid "calendar"
-msgstr "calendari"
-
-#: ../../mod/events.php:487
-msgid "Create New Event"
-msgstr "Crea un esdeveniment nou"
-
-#: ../../mod/events.php:488 ../../mod/photos.php:839
-msgid "Previous"
-msgstr "Anterior"
-
-#: ../../mod/events.php:489 ../../mod/photos.php:848 ../../mod/setup.php:281
-msgid "Next"
-msgstr "Pròxim"
+msgid "Update function %s could not be found."
+msgstr "La funció d'actualitzacio %s no es pot trobar."
-#: ../../mod/events.php:490
-msgid "Export"
-msgstr "Exporta"
+#: ../../mod/admin.php:602
+msgid "No failed updates."
+msgstr "No hi ha actualitzacions fallides."
-#: ../../mod/events.php:493
-msgid "Import"
-msgstr "Importar"
+#: ../../mod/admin.php:606
+msgid "Failed Updates"
+msgstr "Actualitzacions Fallides"
-#: ../../mod/events.php:518
-msgid "Event removed"
-msgstr "S'ha eliminat l'esdeveniment"
+#: ../../mod/admin.php:608
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca èxit (si l'actualització s'ha aplicat de forma manual)"
-#: ../../mod/events.php:521
-msgid "Failed to remove event"
-msgstr "No s'ha pogut esborrar l'esdeveniment"
+#: ../../mod/admin.php:609
+msgid "Attempt to execute this update step automatically"
+msgstr "Prova a fer automàticament aquesta actualització"
-#: ../../mod/events.php:641
-msgid "Event details"
-msgstr "Detalls de l'esdeveniment"
+#: ../../mod/admin.php:641
+msgid "Queue Statistics"
+msgstr "Cua d'Estadístiques"
-#: ../../mod/events.php:642
-msgid "Starting date and Title are required."
-msgstr "La data d'inici i el títol són obligatoris."
+#: ../../mod/admin.php:642
+msgid "Total Entries"
+msgstr "Total d'Entrades"
-#: ../../mod/events.php:644
-msgid "Categories (comma-separated list)"
-msgstr "Categories (llista separada per comes)"
+#: ../../mod/admin.php:643
+msgid "Priority"
+msgstr "Prioritat"
-#: ../../mod/events.php:646
-msgid "Event Starts:"
-msgstr "Inici:"
+#: ../../mod/admin.php:644
+msgid "Destination URL"
+msgstr "URL de Destí"
-#: ../../mod/events.php:653
-msgid "Finish date/time is not known or not relevant"
-msgstr "La data i hora de final no és coneguda o irrellevant"
+#: ../../mod/admin.php:645
+msgid "Mark hub permanently offline"
+msgstr "Marca el concentrador coma permanentment fora de línia"
-#: ../../mod/events.php:655
-msgid "Event Finishes:"
-msgstr "Final:"
+#: ../../mod/admin.php:646
+msgid "Empty queue for this hub"
+msgstr "Cua buida per aquest concentrador"
-#: ../../mod/events.php:657 ../../mod/events.php:658
-msgid "Adjust for viewer timezone"
-msgstr "Ajusta a la zona horària del visitant."
+#: ../../mod/admin.php:647
+msgid "Last known contact"
+msgstr "Últim contacte conegut"
-#: ../../mod/events.php:657
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
+#: ../../mod/admin.php:683
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "S'ha [des]bloquejat %s usuari"
+msgstr[1] "S'han [des]bloquejat %s comptes"
-#: ../../mod/events.php:663
-msgid "Title:"
-msgstr "Títol:"
+#: ../../mod/admin.php:691
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "S'ha esborrat %s compte"
+msgstr[1] "S'han esborrat %s comptes"
-#: ../../mod/events.php:665
-msgid "Share this event"
-msgstr "Comparteix aquest esdeveniment"
+#: ../../mod/admin.php:727
+msgid "Account not found"
+msgstr "Compte no trobat"
-#: ../../mod/subthread.php:103
+#: ../../mod/admin.php:739
#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s esta seguint %2$s de %3$s"
+msgid "Account '%s' deleted"
+msgstr "S'ha esborrat el compte '%s'"
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
-msgstr "Llocs públics"
+#: ../../mod/admin.php:747
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "S'ha bloquejat el compte '%s'"
-#: ../../mod/pubsites.php:19
-msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "Els llocs llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors."
+#: ../../mod/admin.php:755
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "S'ha desbloquejat el compte '%s'"
-#: ../../mod/pubsites.php:25
-msgid "Rate this hub"
-msgstr "Valora aquest hub"
+#: ../../mod/admin.php:818 ../../mod/admin.php:830
+msgid "Users"
+msgstr "Usuaris"
-#: ../../mod/pubsites.php:26
-msgid "Site URL"
-msgstr "Adreça URL del web"
+#: ../../mod/admin.php:820 ../../mod/admin.php:987
+msgid "select all"
+msgstr "Sel·leciona-ho tot"
-#: ../../mod/pubsites.php:26
-msgid "Access Type"
-msgstr "Tipus d'accés"
+#: ../../mod/admin.php:821
+msgid "User registrations waiting for confirm"
+msgstr "Registres d'usuaris pendents de confirmació"
-#: ../../mod/pubsites.php:26
-msgid "Registration Policy"
-msgstr "Condicions de registre"
+#: ../../mod/admin.php:822
+msgid "Request date"
+msgstr "Data de la petició"
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
-msgid "Location"
-msgstr "Localització"
+#: ../../mod/admin.php:823
+msgid "No registrations."
+msgstr "Sense registracions."
-#: ../../mod/pubsites.php:26
-msgid "View hub ratings"
-msgstr "Mostra la valoració del hub"
+#: ../../mod/admin.php:824 ../../mod/connedit.php:699
+msgid "Approve"
+msgstr "Aprovat"
-#: ../../mod/pubsites.php:30
-msgid "Rate"
-msgstr "Puntua"
+#: ../../mod/admin.php:825
+msgid "Deny"
+msgstr "Denegat"
-#: ../../mod/pubsites.php:31
-msgid "View ratings"
-msgstr "Mostra les valoracions"
+#: ../../mod/admin.php:827 ../../mod/connedit.php:531
+msgid "Block"
+msgstr "Bloquejat"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
-msgid "Edit post"
-msgstr "Modifica l'entrada"
+#: ../../mod/admin.php:828 ../../mod/connedit.php:531
+msgid "Unblock"
+msgstr "Desbloquejat"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canal de $Projectname"
+#: ../../mod/admin.php:831
+msgid "Register date"
+msgstr "Data de registre"
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "Creada una col·lecció"
+#: ../../mod/admin.php:831
+msgid "Last login"
+msgstr "Darrera identificació"
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "No puc crear la col·lecció."
+#: ../../mod/admin.php:831
+msgid "Expires"
+msgstr "Expira"
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Col·lecció actualitzada."
+#: ../../mod/admin.php:831
+msgid "Service Class"
+msgstr "Classe de Servei"
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Creada una col·lecció de canals."
+#: ../../mod/admin.php:833
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Els comptes seleccionats seran eliminats!\\n\\nTot el que hagin publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur de continuar?"
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nom de la Col·lecció:"
+#: ../../mod/admin.php:834
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "L'usuari {0} serà eliminat!\\n\\nTot el que hagi publicat l'usuari en aquest lloc serà esborrat de permanentment!\\n\\nN'estàs segur?"
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Els membres son visibles en altres canals"
+#: ../../mod/admin.php:870
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s canal censurat/no censurat"
+msgstr[1] "%s canals censurats/no censurats"
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Col·lecció esborrada."
+#: ../../mod/admin.php:879
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s codi permes/no permes al canal"
+msgstr[1] "%s codi permesos/no permesos al canal"
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Incapaç d'esborrar la col·lecció."
+#: ../../mod/admin.php:886
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canal esborrat"
+msgstr[1] "%s canals esborrats"
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Editor de Col·leccions"
+#: ../../mod/admin.php:906
+msgid "Channel not found"
+msgstr "Canal no trobat"
-#: ../../mod/group.php:196 ../../mod/bulksetclose.php:89
-msgid "Members"
-msgstr "Membres"
+#: ../../mod/admin.php:917
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Canal '%s' esborrat"
-#: ../../mod/group.php:198 ../../mod/bulksetclose.php:91
-msgid "All Connected Channels"
-msgstr "Tots els Canals Connectats"
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Canal '%s' censurat"
-#: ../../mod/group.php:233 ../../mod/bulksetclose.php:126
-msgid "Click on a channel to add or remove."
-msgstr "Clic sobre el canal per afegir o esborrar."
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Canal '%s' no censurat"
-#: ../../mod/siteinfo.php:112
+#: ../../mod/admin.php:940
#, php-format
-msgid "Version %s"
-msgstr "Versió %s"
+msgid "Channel '%s' code allowed"
+msgstr "Canal '%s' permet codi"
-#: ../../mod/siteinfo.php:133
-msgid "Installed plugins/addons/apps:"
-msgstr "Plugins/addons/apps Instal·lats:"
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Canal '%s' no permet codi"
-#: ../../mod/siteinfo.php:146
-msgid "No installed plugins/addons/apps"
-msgstr "Plugins/addons/apps no instal·lats"
+#: ../../mod/admin.php:989
+msgid "Censor"
+msgstr "Censurat"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/admin.php:990
+msgid "Uncensor"
+msgstr "No censurat"
-#: ../../mod/siteinfo.php:156
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Aquest és un hub de $Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat."
+#: ../../mod/admin.php:991
+msgid "Allow Code"
+msgstr "Permet Codi"
-#: ../../mod/siteinfo.php:158
-msgid "Tag: "
-msgstr "Etiqueta:"
+#: ../../mod/admin.php:992
+msgid "Disallow Code"
+msgstr "No Permet Codi"
-#: ../../mod/siteinfo.php:160
-msgid "Last background fetch: "
-msgstr "Última actualització en rerefons:"
+#: ../../mod/admin.php:994
+msgid "UID"
+msgstr "UID"
-#: ../../mod/siteinfo.php:163
-msgid "Running at web location"
-msgstr "Correguent en el lloc web"
+#: ../../mod/admin.php:994 ../../mod/profiles.php:447
+msgid "Address"
+msgstr "Adreça"
-#: ../../mod/siteinfo.php:164
+#: ../../mod/admin.php:996
msgid ""
-"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Ves a <a href=\"https://redmatrix.me\">redmatrix.me</a> per saber-ne més sobre $Projectname."
-
-#: ../../mod/siteinfo.php:165
-msgid "Bug reports and issues: please visit"
-msgstr "Per informar d'errors o problemes ves a"
-
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "$projectname emisions"
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
-#: ../../mod/siteinfo.php:168
+#: ../../mod/admin.php:997
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com"
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?"
-#: ../../mod/siteinfo.php:170
-msgid "Site Administrators"
-msgstr "Administradors del lloc"
+#: ../../mod/admin.php:1037
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s desactivat."
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "No s'ha pogut trobar l'entrada original."
+#: ../../mod/admin.php:1041
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s activat."
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "S'ha descartat l'entrada perquè no té contingut."
+#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+msgid "Disable"
+msgstr "Desactivat"
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "No està permès el contingut de tipus executable en aquest canal."
+#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+msgid "Enable"
+msgstr "Activat"
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
+#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+msgid "Toggle"
+msgstr "Commutar"
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
+#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+msgid "Author: "
+msgstr "Autor: "
-#: ../../mod/item.php:1126
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
+#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+msgid "Maintainer: "
+msgstr "Mantenedor:"
-#: ../../mod/item.php:1133
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Has assolit el teu limit de %1$.0f pàgines web."
+#: ../../mod/admin.php:1214
+msgid "No themes found."
+msgstr "No s'han trobat temes."
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "No existeix el grup"
+#: ../../mod/admin.php:1270
+msgid "Screenshot"
+msgstr "Copia de pantalla"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "No existeix el canal"
+#: ../../mod/admin.php:1316
+msgid "[Experimental]"
+msgstr "[Experimental]"
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Cerca resultats per:"
+#: ../../mod/admin.php:1317
+msgid "[Unsupported]"
+msgstr "[No soportat]"
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "La coŀlecció és buida"
+#: ../../mod/admin.php:1341
+msgid "Log settings updated."
+msgstr "Registre d'ajustos actualitzat."
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Coŀlecció:"
+#: ../../mod/admin.php:1398
+msgid "Clear"
+msgstr "Neteja"
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Connexió:"
+#: ../../mod/admin.php:1404
+msgid "Debugging"
+msgstr "Depurant"
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "La connexió és invàlida."
+#: ../../mod/admin.php:1405
+msgid "Log file"
+msgstr "Arxiu de registre"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "No s'ha trobat el canal"
+#: ../../mod/admin.php:1405
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Ha de ser escribible pel servidor web. Relatiu al directori de nivell superior de Red"
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Connexions en comú"
+#: ../../mod/admin.php:1406
+msgid "Log level"
+msgstr "Nivell de registre"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "No hi ha connexions en comú."
+#: ../../mod/admin.php:1452
+msgid "New Profile Field"
+msgstr "Camp de Perfil Nou"
-#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Aquest lloc web no és un servidor de directori"
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "Field nickname"
+msgstr "Àlies de Camp"
-#: ../../mod/connections.php:37 ../../mod/connedit.php:75
-msgid "Could not access contact record."
-msgstr "No s'ha pogut accedir al llibre de contactes."
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "System name of field"
+msgstr "nOM DEL SISTEMA DEL CAMP"
-#: ../../mod/connections.php:51 ../../mod/connedit.php:99
-msgid "Could not locate selected profile."
-msgstr "No s'ha trobat el perfil indicat."
+#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+msgid "Input type"
+msgstr "Tipus d'entrada"
-#: ../../mod/connections.php:94 ../../mod/connedit.php:219
-msgid "Connection updated."
-msgstr "S'ha actualitzat la connexió."
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Field Name"
+msgstr "Nom de Camp"
-#: ../../mod/connections.php:96 ../../mod/connedit.php:221
-msgid "Failed to update connection record."
-msgstr "No s'ha pogut actualitzar el registre de connexió."
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Label on profile pages"
+msgstr "Etiqueta a les pàgines de perfil"
-#: ../../mod/connections.php:192 ../../mod/connections.php:293
-msgid "Blocked"
-msgstr "Bloquejades"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Help text"
+msgstr "Text d'ajuda"
-#: ../../mod/connections.php:197 ../../mod/connections.php:300
-msgid "Ignored"
-msgstr "Ignorades"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Additional info (optional)"
+msgstr "Informació adicional (opcional)"
-#: ../../mod/connections.php:202 ../../mod/connections.php:314
-msgid "Hidden"
-msgstr "Amagades"
+#: ../../mod/admin.php:1466
+msgid "Field definition not found"
+msgstr "No es troba la definició del camp"
-#: ../../mod/connections.php:207 ../../mod/connections.php:307
-msgid "Archived"
-msgstr "Arxivades"
+#: ../../mod/admin.php:1472
+msgid "Edit Profile Field"
+msgstr "Camp d'Edició del Perfil"
-#: ../../mod/connections.php:271
-msgid "Suggest new connections"
-msgstr "Suggereix noves connexions"
+#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Aquest ajust requereix un procés espedial i l'edició esta bloquejada."
-#: ../../mod/connections.php:274
-msgid "New Connections"
-msgstr "Noves Connexions"
+#: ../../mod/pconfig.php:49
+msgid "Configuration Editor"
+msgstr "Editor de Configuració"
-#: ../../mod/connections.php:277
-msgid "Show pending (new) connections"
-msgstr "Mostra les connexions pendents (noves)"
+#: ../../mod/pconfig.php:50
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica."
-#: ../../mod/connections.php:280 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Totes les Connexions"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Autoritza la connexió de l'aplicació"
-#: ../../mod/connections.php:283
-msgid "Show all connections"
-msgstr "Mostra totes les connexions"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Torna a la teva aplicació i insereix aquest Codi de Seguretat:"
-#: ../../mod/connections.php:286
-msgid "Unblocked"
-msgstr "No bloquejades"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Si et plau, identifica't per continuar."
-#: ../../mod/connections.php:289
-msgid "Only show unblocked connections"
-msgstr "Mostra només les connexions no bloquejades"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
-#: ../../mod/connections.php:296
-msgid "Only show blocked connections"
-msgstr "Mostra només les connexions bloquejades"
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "S'ha actualitzat el disseny"
-#: ../../mod/connections.php:303
-msgid "Only show ignored connections"
-msgstr "Mostra només les connexions ignorades"
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Editor del Sistema de Descripció de Pàgines"
-#: ../../mod/connections.php:310
-msgid "Only show archived connections"
-msgstr "Mostra només les connexions arxivades"
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "No s'ha trobat el disseny de pàgina."
-#: ../../mod/connections.php:317
-msgid "Only show hidden connections"
-msgstr "Mostra només les connexions amagades"
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Nom del mòdul:"
-#: ../../mod/connections.php:372
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
+#: ../../mod/pdledit.php:55
+msgid "Layout Help"
+msgstr "Ajuda sobre el disseny de pàgina"
-#: ../../mod/connections.php:373
-msgid "Edit connection"
-msgstr "Modifica la connexió"
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "Aplicació instal·lada."
-#: ../../mod/connections.php:411
-msgid "Search your connections"
-msgstr "Cerca entre les teves connexions"
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "Aplicació amb errors"
-#: ../../mod/connections.php:412
-msgid "Finding: "
-msgstr "Cercant:"
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Codi embegut"
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nom del Bloc"
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "Edita l'Aplicació"
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Títol del bloc"
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "Crea l'Aplicació"
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "No s'ha trobat l'element"
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Nom de l'Aplicació"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Article no editable"
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Ubicació (URL) de l'aplicació"
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Esborrar ítem"
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+msgid "Description"
+msgstr "Descripció"
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "insereix video YouTube"
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "Foto icona URL"
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Insereix video Vorbis [.ogg]"
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels - opcional"
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Insereix audio Vorbis [.ogg]"
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "Versió ID"
-#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++"
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Preu de l'aplicació"
+
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Ubicació (URL) per comprar l'aplicació"
#: ../../mod/photos.php:78
msgid "Page owner information could not be retrieved."
@@ -4878,6 +4955,12 @@ msgstr "Esborra Àlbum"
msgid "Delete Photo"
msgstr "Esborra Foto"
+#: ../../mod/photos.php:441 ../../mod/directory.php:59
+#: ../../mod/display.php:13 ../../mod/ratings.php:82 ../../mod/search.php:13
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Accés públic denegat."
+
#: ../../mod/photos.php:452
msgid "No photos selected"
msgstr "No has seleccionat fotos"
@@ -4889,12 +4972,12 @@ msgstr "L'accés a aquest element esta restringit."
#: ../../mod/photos.php:535
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges."
+msgstr "Hi ha en ús %1$.2f MB de %2$.2f MB de l'espai d'imatges."
#: ../../mod/photos.php:538
#, php-format
msgid "%1$.2f MB photo storage used."
-msgstr "S'estan fent servir %1$.2f MB de l'espai per a imatges."
+msgstr "Hi ha en ús %1$.2f MB de l'espai d'imatges."
#: ../../mod/photos.php:562
msgid "Upload Photos"
@@ -4953,10 +5036,22 @@ msgstr "Fes-la imatge de perfil"
msgid "Private Photo"
msgstr "Imatge privada"
+#: ../../mod/photos.php:839 ../../mod/events.php:505
+msgid "Previous"
+msgstr "Anterior"
+
#: ../../mod/photos.php:843
msgid "View Full Size"
msgstr "Mostra a mida completa"
+#: ../../mod/photos.php:848 ../../mod/events.php:506 ../../mod/setup.php:281
+msgid "Next"
+msgstr "Pròxim"
+
+#: ../../mod/photos.php:887 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Esborra"
+
#: ../../mod/photos.php:921
msgid "Edit photo"
msgstr "Modifica la imatge"
@@ -5001,218 +5096,155 @@ msgstr "Mostra'n l'àlbum"
msgid "Recent Photos"
msgstr "Imatges recents"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elements etiquetats amb: %s"
-
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Resultats de cerca per: %s"
-
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Perfils compatibles"
-
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "No tens paraules clau al perfil principal per poder cercar perfils semblants."
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Article no disponible."
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "té interès en:"
+#: ../../mod/ping.php:263
+msgid "sent you a private message"
+msgstr "Se t'ha enviat un missatge privat"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "No s'han trobat perfils compatibles"
+#: ../../mod/ping.php:314
+msgid "added your channel"
+msgstr "el teu canal s'ha afegit"
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Absent"
+#: ../../mod/ping.php:355
+msgid "posted an event"
+msgstr "enviat un event"
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "En connexió"
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
+msgid "Block Name"
+msgstr "Nom del Bloc"
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Tria una carpeta d'interès"
+#: ../../mod/blocks.php:149
+msgid "Block Title"
+msgstr "Títol del bloc"
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Guarda Favorits"
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "Emprenyat/Picat"
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL de favorit"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "emprenyar, picar o fer altres coses a algú"
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Descripció"
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Destinatari"
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "O entra un nou nom de favorit"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Tria que vols fer amb el destinatari"
-#: ../../mod/notify.php:53 ../../mod/notifications.php:94
-msgid "No more system notifications."
-msgstr "No hi ha més notificacions de sistema."
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Fer aquesta entrada privada"
-#: ../../mod/notify.php:57 ../../mod/notifications.php:98
-msgid "System Notifications"
-msgstr "Notificacions de sistema"
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Favorit afegit"
-#: ../../mod/acl.php:231
-msgid "network"
-msgstr "xarxa"
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Els Meus Favorits"
-#: ../../mod/acl.php:241
-msgid "RSS"
-msgstr "RSS"
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Les connexions dels meus Favorits"
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "S'ha actualitzat la disposició."
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Has creat %1$.0f de %2$.0f canals permesos."
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Editor del Sistema de Descripció de Pàgines"
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Crear un nou canal"
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "No s'ha trobat cap disposició de pàgina."
+#: ../../mod/manage.php:167
+msgid "Current Channel"
+msgstr "Canal Actual"
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nom del mòdul:"
+#: ../../mod/manage.php:169
+msgid "Switch to one of your channels by selecting it."
+msgstr "Canviar a un altre dels teus canals seleccionant-ho."
-#: ../../mod/pdledit.php:55
-msgid "Layout Help"
-msgstr "Ajuda per la disposició de pàgina"
+#: ../../mod/manage.php:170
+msgid "Default Channel"
+msgstr "Canal per Defecte"
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- selecciona -"
+#: ../../mod/manage.php:171
+msgid "Make Default"
+msgstr "Estableix com a Predeterminat"
-#: ../../mod/import.php:25
+#: ../../mod/manage.php:174
#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "El teu paquet de serveis només admet %d canals."
-
-#: ../../mod/import.php:60
-msgid "Nothing to import."
-msgstr "No hi ha res a importar."
-
-#: ../../mod/import.php:84
-msgid "Unable to download data from old server"
-msgstr "No s'han pogut descarregar les dades del servidor antic"
-
-#: ../../mod/import.php:90
-msgid "Imported file is empty."
-msgstr "El fitxer importat està buit."
-
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "Les dades subministrades no son compatibles amb aquest projecte."
+msgid "%d new messages"
+msgstr "%d missatges nous"
-#: ../../mod/import.php:115
+#: ../../mod/manage.php:175
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Atenció: Les versions de la Base de Dades difereixen en %1$d actualitzacions."
-
-#: ../../mod/import.php:135
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
-
-#: ../../mod/import.php:176
-msgid "Channel clone failed. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar."
+msgid "%d new introductions"
+msgstr "%d noves presentacions"
-#: ../../mod/import.php:186
-msgid "Cloned channel not found. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
+#: ../../mod/manage.php:177
+msgid "Delegated Channels"
+msgstr "Canals Delegats"
-#: ../../mod/import.php:516
-msgid "You must be logged in to use this feature."
-msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr "Perfils compatibles"
-#: ../../mod/import.php:521
-msgid "Import Channel"
-msgstr "Importa un canal"
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "No tens paraules clau al perfil principal per poder cercar perfils semblants."
-#: ../../mod/import.php:522
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file."
-msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr "té interès en:"
-#: ../../mod/import.php:523
-msgid "File to Upload"
-msgstr "Fitxer a pujar"
+#: ../../mod/match.php:70
+msgid "No matches"
+msgstr "No s'han trobat perfils compatibles"
-#: ../../mod/import.php:524
-msgid "Or provide the old server/hub details"
-msgstr "O proveeix els detalls de l'antic servidor/concentrador"
+#: ../../mod/bulksetclose.php:89 ../../mod/group.php:196
+msgid "Members"
+msgstr "Membres"
-#: ../../mod/import.php:525
-msgid "Your old identity address (xyz@example.com)"
-msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
+#: ../../mod/bulksetclose.php:91 ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Tots els Canals Connectats"
-#: ../../mod/import.php:526
-msgid "Your old login email address"
-msgstr "La teva adreça de correu electrònic antiga"
+#: ../../mod/bulksetclose.php:126 ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clic sobre el canal per afegir o esborrar."
-#: ../../mod/import.php:527
-msgid "Your old login password"
-msgstr "La teva contrasenya antiga"
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "Enquesta"
-#: ../../mod/import.php:528
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Mostra els resultats"
-#: ../../mod/import.php:529
-msgid "Make this hub my primary location"
-msgstr "Fes d'aquest hub la meva ubicació primària"
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Has d'estar identificat per a veure aquesta pàgina."
-#: ../../mod/import.php:530
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible"
+#: ../../mod/channel.php:97
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permisos insuficients. Petició redirigida a la pàgina del perfil."
-#: ../../mod/import.php:531
+#: ../../mod/post.php:236
msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
-
-#: ../../mod/editlayout.php:111
-msgid "Delete layout?"
-msgstr "Esborra format?"
-
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descripció del Format (Opcional)"
-
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nom del Format Gràfic"
-
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Edita Format Gràfic"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
-#: ../../mod/chat.php:19 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr "Has d'estar identificat per a veure aquesta pàgina."
+#: ../../mod/post.php:287 ../../mod/openid.php:72 ../../mod/openid.php:180
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Benvingut %s. Autenticació remota reeixida."
#: ../../mod/chat.php:167
msgid "Room not found"
@@ -5251,599 +5283,250 @@ msgstr "Nom del Xat"
msgid "%1$s's Chatrooms"
msgstr "%1$s de Xats"
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr "Menú no trobat."
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr "Incapaç de crear l'element."
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr "Incapaç d'actualitzar un element del menú."
-
-#: ../../mod/mitem.php:86
-msgid "Unable to add menu element."
-msgstr "Incapaç d'afegir l'element del menú."
-
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
-msgid "Menu Item Permissions"
-msgstr "Permisos de l'Article del Menú"
-
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr "(clica per obrir/tancar)"
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
-msgid "Link Name"
-msgstr "Nom de l'Enllaç"
-
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
-msgid "Link or Submenu Target"
-msgstr "Enllaç o Submenú Objectiu"
-
-#: ../../mod/mitem.php:156
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú"
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
-msgid "Use magic-auth if available"
-msgstr "Empra magic-auth si esta disponible"
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
-msgid "Open link in new window"
-msgstr "Obrir l'enllaç en una nova finestra"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Order in list"
-msgstr "Ordre per llista"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Els números més alts aniràn al fons de la llista"
-
-#: ../../mod/mitem.php:160
-msgid "Submit and finish"
-msgstr "Envia i termina"
-
-#: ../../mod/mitem.php:161
-msgid "Submit and continue"
-msgstr "Envia i continua"
-
-#: ../../mod/mitem.php:169
-msgid "Menu:"
-msgstr "Menú:"
-
-#: ../../mod/mitem.php:172
-msgid "Link Target"
-msgstr "Enllaç Objectiu"
-
-#: ../../mod/mitem.php:175
-msgid "Edit menu"
-msgstr "Edita menú"
-
-#: ../../mod/mitem.php:178
-msgid "Edit element"
-msgstr "Edita element"
-
-#: ../../mod/mitem.php:179
-msgid "Drop element"
-msgstr "Deixa anar element"
-
-#: ../../mod/mitem.php:180
-msgid "New element"
-msgstr "Nou element"
-
-#: ../../mod/mitem.php:181
-msgid "Edit this menu container"
-msgstr "Edita aquest contenidor de menú"
-
-#: ../../mod/mitem.php:182
-msgid "Add menu element"
-msgstr "Afegeix element de menú"
-
-#: ../../mod/mitem.php:183
-msgid "Delete this menu item"
-msgstr "Esborra aquest article del menú"
-
-#: ../../mod/mitem.php:184
-msgid "Edit this menu item"
-msgstr "Edita aquest article del menú"
-
-#: ../../mod/mitem.php:201
-msgid "Menu item not found."
-msgstr "Article del menú no trobat."
-
-#: ../../mod/mitem.php:212
-msgid "Menu item deleted."
-msgstr "Article del menú eliminat."
-
-#: ../../mod/mitem.php:214
-msgid "Menu item could not be deleted."
-msgstr "Article del menú no es pot eliminar."
-
-#: ../../mod/mitem.php:221
-msgid "Edit Menu Element"
-msgstr "Editar Element del Menú"
-
-#: ../../mod/mitem.php:227
-msgid "Link text"
-msgstr "Enllaç de text"
-
-#: ../../mod/editwebpage.php:152
-msgid "Delete webpage?"
-msgstr "Esborrar pàgina web?"
-
-#: ../../mod/editwebpage.php:173
-msgid "Page link title"
-msgstr "Títol de la pàgina enllaçada"
-
-#: ../../mod/editwebpage.php:224
-msgid "Edit Webpage"
-msgstr "Edita la Pàgina Web"
-
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Aquest servidor de directori requereix un token de accès"
-
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "No es troba un compte vàlid."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Absent"
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Lloc d'Usuari (%s)"
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "En connexió"
-#: ../../mod/lostpass.php:40
+#: ../../mod/probe.php:24 ../../mod/probe.php:30
#, php-format
-msgid "Password reset requested at %s"
-msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
+msgid "Fetching URL returns error: %1$s"
+msgstr "URL sol·licitada retorna error: %1$s"
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
+#: ../../mod/cloud.php:120
+msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
+msgstr "$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++"
-#: ../../mod/lostpass.php:85 ../../boot.php:1559
-msgid "Password Reset"
-msgstr "Restabliment de contrasenya"
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "No s'ha trobat el canal"
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "S'ha restablert la vostra contrasenya."
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "Connexions en comú"
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "La nova contrasenya és"
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr "No hi ha connexions en comú."
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Desa o copia la nova contrasenya, i després"
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "fes clic aquí per iniciar sessió"
+#: ../../mod/profile_photo.php:162
+msgid "Image resize failed."
+msgstr "No s'ha pogut escalar la imatge."
-#: ../../mod/lostpass.php:90
+#: ../../mod/profile_photo.php:206
msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
-#: ../../mod/lostpass.php:107
+#: ../../mod/profile_photo.php:233
#, php-format
-msgid "Your password has changed at %s"
-msgstr "La teva contrasenya a %s ha canviat"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "No recordes la contrasenya?"
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
+msgid "Image exceeds size limit of %d"
+msgstr "La imatge excedeix la mida límit de %d"
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "Adreça electrònica"
+#: ../../mod/profile_photo.php:242
+msgid "Unable to process image."
+msgstr "Incapaç de processar l'imatge."
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Reajustar"
+#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
+msgid "Photo not available."
+msgstr "Foto no disponible."
-#: ../../mod/rate.php:157
-msgid "Website:"
-msgstr "Lloc web:"
+#: ../../mod/profile_photo.php:359
+msgid "Upload File:"
+msgstr "Puja Arxiu:"
-#: ../../mod/rate.php:160
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
+#: ../../mod/profile_photo.php:360
+msgid "Select a profile:"
+msgstr "Tria un perfil:"
-#: ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr "Valoració (aquesta informació és pública)"
+#: ../../mod/profile_photo.php:361
+msgid "Upload Profile Photo"
+msgstr "Puja una Foto pel Perfil"
-#: ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
+#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
+msgid "or"
+msgstr "o"
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Eliminar bloc?"
+#: ../../mod/profile_photo.php:366
+msgid "skip this step"
+msgstr "salta aquest pas"
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Editar Bloc"
+#: ../../mod/profile_photo.php:366
+msgid "select a photo from your photo albums"
+msgstr "tria una foto del teu àlbum de fotos"
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "El límit total invitacions s'ha superat."
+#: ../../mod/profile_photo.php:382
+msgid "Crop Image"
+msgstr "Retalla Imatge"
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: adreça de correu electrònic no vàlida."
+#: ../../mod/profile_photo.php:383
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Si us plau, retalla la imatge per a una optima visualització"
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "Si us plau, uneix-te a Red"
+#: ../../mod/profile_photo.php:385
+msgid "Done Editing"
+msgstr "Edició Feta"
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc."
+#: ../../mod/profile_photo.php:428
+msgid "Image uploaded successfully."
+msgstr "Imatge pujada exitosament."
-#: ../../mod/invite.php:92
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Entrega del Missatge fallida."
+#: ../../mod/profile_photo.php:430
+msgid "Image upload failed."
+msgstr "La pujada de la imatge va fracassar."
-#: ../../mod/invite.php:96
+#: ../../mod/profile_photo.php:439
#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d missatge enviat."
-msgstr[1] "%d missatges enviats."
-
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "No té més invitacions disponibles"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Enviar invitacions"
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Introduïu les adreces de correu electrònic, una per línia:"
+msgid "Image size reduction [%s] failed."
+msgstr "La reducció de mida de la imatge [%s] va fracassar."
-#: ../../mod/invite.php:131 ../../mod/mail.php:235 ../../mod/mail.php:348
-msgid "Your message:"
-msgstr "El teu missatge:"
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Continua"
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Si us plau uneix-te la meva comunitat en $Projectname."
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Configuració de Canals Premium"
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code: "
-msgstr "Has de proporcionar aquest codi d'invitació:"
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Habilita les restriccions de connexió del canal premium"
-#: ../../mod/invite.php:135
+#: ../../mod/connect.php:88
msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registre en qualsevol lloc del $Projectname (estàn tots interconnectats)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Entra a la meva adreça de xarxa al $Projectname, a la barra de cerca del lloc."
-
-#: ../../mod/invite.php:138
-msgid "or visit "
-msgstr "o visita"
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Click [Conectar]"
-
-#: ../../mod/locs.php:21 ../../mod/locs.php:52
-msgid "Location not found."
-msgstr "Situació que no es troba."
-
-#: ../../mod/locs.php:56
-msgid "Primary location cannot be removed."
-msgstr "La ubicació primària no es pot treure."
-
-#: ../../mod/locs.php:88
-msgid "No locations found."
-msgstr "No es troben els llocs."
-
-#: ../../mod/locs.php:101
-msgid "Manage Channel Locations"
-msgstr "Gestionar Ubicacions de Canal"
-
-#: ../../mod/locs.php:102
-msgid "Location (address)"
-msgstr "Ubicació (direcció)"
-
-#: ../../mod/locs.php:103
-msgid "Primary Location"
-msgstr "Ubicació Primària"
-
-#: ../../mod/locs.php:104
-msgid "Drop location"
-msgstr "Treure la ubicació"
-
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Error en crear l'origen. Cap canal seleccionat."
-
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Origen creat."
-
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Origen actualitzat."
-
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
-
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestiona contingut per al teu canal d'origens remots"
-
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nou Origen"
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Només importa contingut amb aquestes paraules (una per línia)"
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Deixar en blanc per importar tot el contingut públic"
-
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Nom del canal"
-
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "No s'ha trobat la font."
-
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Edita la font"
-
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Esborra la font"
-
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "S'ha esborrat la font"
-
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "No s'ha pogut esborrar la font."
-
-#: ../../mod/menu.php:44
-msgid "Unable to update menu."
-msgstr "No s'ha pogut actualitzar el menú."
-
-#: ../../mod/menu.php:53
-msgid "Unable to create menu."
-msgstr "No s'ha pogut crear el menú."
-
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
-msgid "Menu Name"
-msgstr "Nom del menú"
-
-#: ../../mod/menu.php:89
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nom únic (no visible a la pàgina web) - requerit"
-
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
-msgid "Menu Title"
-msgstr "Títol del menú"
-
-#: ../../mod/menu.php:90
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
-
-#: ../../mod/menu.php:91
-msgid "Allow Bookmarks"
-msgstr "Permetre Marcadors"
-
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
-msgid "Menu may be used to store saved bookmarks"
-msgstr "El menú es pot emprar per a guardar marcadors"
-
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
-msgid "Submit and proceed"
-msgstr "Envia i procedeix"
-
-#: ../../mod/menu.php:104
-msgid "Drop"
-msgstr "Menysprea"
-
-#: ../../mod/menu.php:108
-msgid "Bookmarks allowed"
-msgstr "Marcadors permesos"
-
-#: ../../mod/menu.php:110
-msgid "Delete this menu"
-msgstr "Esborra el menú"
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:"
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
-msgid "Edit menu contents"
-msgstr "Edita el contingut del menú"
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Connexions potencials veuran el següent text abans de continuar:"
-#: ../../mod/menu.php:112
-msgid "Edit this menu"
-msgstr "Edita el menú"
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina."
-#: ../../mod/menu.php:126
-msgid "Menu could not be deleted."
-msgstr "El menu no es pot esborrar."
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(No s'han proporcionat instruccions específiques pel propietari del canal.)"
-#: ../../mod/menu.php:139
-msgid "Edit Menu"
-msgstr "Edita Menú"
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Canal Restringit o Premium"
-#: ../../mod/menu.php:143
-msgid "Add or remove entries to this menu"
-msgstr "Afegeix o esborra entrades a aquest menú"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Sol·licitud d'identificació invàlida."
-#: ../../mod/menu.php:145
-msgid "Menu name"
-msgstr "Nom del Menú"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Descarta"
-#: ../../mod/menu.php:145
-msgid "Must be unique, only seen by you"
-msgstr "Ha de ser únic, nomes vist per tú"
+#: ../../mod/notifications.php:51 ../../mod/connedit.php:539
+msgid "Ignore"
+msgstr "Ignora"
-#: ../../mod/menu.php:146
-msgid "Menu title"
-msgstr "Títol del menú"
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "No hi ha més notificacions de sistema."
-#: ../../mod/menu.php:146
-msgid "Menu title as seen by others"
-msgstr "Títol del menú vist pels altres"
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Notificacions de sistema"
-#: ../../mod/menu.php:147
-msgid "Allow bookmarks"
-msgstr "Marcadors permesos"
+#: ../../mod/connections.php:52 ../../mod/connections.php:153
+msgid "Blocked"
+msgstr "Bloquejades"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permisos Denegats."
+#: ../../mod/connections.php:57 ../../mod/connections.php:160
+msgid "Ignored"
+msgstr "Ignorades"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "Arxiu no torbat."
+#: ../../mod/connections.php:62 ../../mod/connections.php:174
+msgid "Hidden"
+msgstr "Amagades"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Edita els permisos d'arxiu"
+#: ../../mod/connections.php:67 ../../mod/connections.php:167
+msgid "Archived"
+msgstr "Arxivades"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Canvia/edita permisos"
+#: ../../mod/connections.php:131
+msgid "Suggest new connections"
+msgstr "Suggereix noves connexions"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Inclou tots als arxius i subdirectoris"
+#: ../../mod/connections.php:134
+msgid "New Connections"
+msgstr "Noves Connexions"
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Tornar al llistat d'arxius"
+#: ../../mod/connections.php:137
+msgid "Show pending (new) connections"
+msgstr "Mostra les connexions pendents (noves)"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
+#: ../../mod/connections.php:140 ../../mod/profperm.php:139
+msgid "All Connections"
+msgstr "Totes les Connexions"
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
+#: ../../mod/connections.php:143
+msgid "Show all connections"
+msgstr "Mostra totes les connexions"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Comparteix l'arxiu"
+#: ../../mod/connections.php:146
+msgid "Unblocked"
+msgstr "No bloquejades"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Mostra la URL d'aquest arxiu"
+#: ../../mod/connections.php:149
+msgid "Only show unblocked connections"
+msgstr "Mostra només les connexions no bloquejades"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifica als teus contactes aquest arxiu"
+#: ../../mod/connections.php:156
+msgid "Only show blocked connections"
+msgstr "Mostra només les connexions bloquejades"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contacte no trobat."
+#: ../../mod/connections.php:163
+msgid "Only show ignored connections"
+msgstr "Mostra només les connexions ignorades"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggeriment d'amistat enviada."
+#: ../../mod/connections.php:170
+msgid "Only show archived connections"
+msgstr "Mostra només les connexions arxivades"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Amics Suggerits"
+#: ../../mod/connections.php:177
+msgid "Only show hidden connections"
+msgstr "Mostra només les connexions amagades"
-#: ../../mod/fsuggest.php:99
+#: ../../mod/connections.php:232
#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggereix un amic per a %s"
-
-#: ../../mod/magic.php:69
-msgid "Hub not found."
-msgstr "Concentrador no trobat."
-
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
-msgstr "Emprenyat/Picat"
-
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
-msgstr "emprenyar, picar o fer altres coses a algú"
-
-#: ../../mod/poke.php:161
-msgid "Recipient"
-msgstr "Destinatari"
-
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
-msgstr "Tria que vols fer amb el destinatari"
-
-#: ../../mod/poke.php:165
-msgid "Make this post private"
-msgstr "Fer aquesta entrada privada"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Identificador invàlid de perfil."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Perfil del Editor de Visibilitat"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Clica sobre el contacte per afegir o esborrar."
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visible per"
+#: ../../mod/connections.php:233
+msgid "Edit connection"
+msgstr "Modifica la connexió"
-#: ../../mod/impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s element instal·lat"
+#: ../../mod/connections.php:271
+msgid "Search your connections"
+msgstr "Cerca entre les teves connexions"
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "%s instal·lació d'element va fallar"
+#: ../../mod/connections.php:272
+msgid "Finding: "
+msgstr "Cercant:"
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
@@ -5884,11 +5567,11 @@ msgstr "Company/a Romàntic"
#: ../../mod/profiles.php:412
msgid "Likes"
-msgstr "Agrada"
+msgstr "M'agrada"
#: ../../mod/profiles.php:416
msgid "Dislikes"
-msgstr "Desagrada"
+msgstr "No m'agrada"
#: ../../mod/profiles.php:420
msgid "Work/Employment"
@@ -5918,9 +5601,9 @@ msgstr "Pàgina Personal"
msgid "Interests"
msgstr "Interessos"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
-msgid "Address"
-msgstr "Adreça"
+#: ../../mod/profiles.php:454 ../../mod/pubsites.php:26
+msgid "Location"
+msgstr "Localització"
#: ../../mod/profiles.php:537
msgid "Profile updated."
@@ -6040,7 +5723,7 @@ msgstr "Emprat en els llistats de directoris"
#: ../../mod/profiles.php:701
msgid "Tell us about yourself..."
-msgstr "Quelcom sobre tú:"
+msgstr "Escriu unes línies sobre tu:"
#: ../../mod/profiles.php:702
msgid "Hobbies/Interests"
@@ -6102,1280 +5785,691 @@ msgstr "Afegeix coses al perfil"
msgid "Include desirable objects in your profile"
msgstr "Inclou objectius desitjables al teu perfil"
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "No valorat"
-
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Valoracions"
-
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Valoració:"
-
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Lloc web:"
-
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Descripció:"
-
-#: ../../mod/viewsrc.php:38
-msgid "Source of Item"
-msgstr "Origen de l'article"
-
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "Servidor $Projectname - Configuració"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr "No puc connectar amb la base de dades"
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "No puc crear la taula."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "La teva base de dades del lloc s'ha instal·lat."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Si us plau, consulteu el fitxer \"install / INSTALL.txt\"."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "Comprovació del sistema"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Comprova de nou"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Connexió de base de dades"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió a la base de dades."
-
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres."
-
-#: ../../mod/setup.php:307
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Base de Dades Nom del Servidor"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "Per defecte es localhost"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Port per a la Base de Dades"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Numero del port de comunicacions - empra 0 per defecte"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Base de Dades Nom d'Accès"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Base de Dades Contrasenya d'Accès"
-
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Nom de la Base de Dades"
-
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Tipus de Base de Dades"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "Adreça de correu de l'administrador del lloc"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador."
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "URL del lloc web"
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Si us plau, empra SSL (https) URL si està disponible."
-
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Si us plau, tria la zona horària del teu lloc web"
-
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Ajustos del lloc"
+#: ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr "No s'ha pogut accedir al llibre de contactes."
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web."
+#: ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr "No s'ha trobat el perfil indicat."
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron."
+#: ../../mod/connedit.php:219
+msgid "Connection updated."
+msgstr "S'ha actualitzat la connexió."
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "Camí cap l'executable de PHP"
+#: ../../mod/connedit.php:221
+msgid "Failed to update connection record."
+msgstr "No s'ha pogut actualitzar el registre de connexió."
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació."
+#: ../../mod/connedit.php:267
+msgid "is now connected to"
+msgstr "Ara està conectat amb"
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "Línia d'ordres de PHP"
+#: ../../mod/connedit.php:392
+msgid "Could not access address book record."
+msgstr "No puc accedir al registre del contacte"
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat."
+#: ../../mod/connedit.php:406
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "Això es requereix per que funcioni l'entrega de missatges."
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
+#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
+#: ../../mod/connedit.php:470
+msgid "Unable to set address book parameters."
+msgstr "No es poden ajustar els paràmetres dels contactes."
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../mod/connedit.php:494
+msgid "Connection has been removed."
+msgstr "S'han eliminat les conexions."
-#: ../../mod/setup.php:454
+#: ../../mod/connedit.php:513
#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Pots ajustar aquests valors a l'arxiu php.ini del servidor"
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "Límits de pujada de PHP"
-
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació"
-
-#: ../../mod/setup.php:485
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\"."
-
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Generar claus de xifrat"
-
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "mòdul PHP libCurl "
-
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "mòdul PHP GD gràfics"
-
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "mòdul PHP OpenSSL"
-
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "mòdul PHP mysqli o postgres"
-
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "mòdul PHP mb_string"
-
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "mòdul PHP mcrypt"
-
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "Mòdul xml de PHP"
-
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "mòdul Apache mod_rewrite"
+msgid "View %s's profile"
+msgstr "Mostra el perfil de %s"
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat."
+#: ../../mod/connedit.php:517
+msgid "Refresh Permissions"
+msgstr "Recarrega els Permissos"
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/connedit.php:520
+msgid "Fetch updated permissions"
+msgstr "Obté els permisos actualitzats"
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini"
+#: ../../mod/connedit.php:524
+msgid "Recent Activity"
+msgstr "Activitat Recent"
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Error: el mòdul PHP libCURL es requereix però no està instal·lat."
+#: ../../mod/connedit.php:527
+msgid "View recent posts and comments"
+msgstr "Mostra les entrades i comentaris recents"
-#: ../../mod/setup.php:528
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat."
+#: ../../mod/connedit.php:534
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Error: el mòdul PHP openssl es requereix però no està instal·lat."
+#: ../../mod/connedit.php:535
+msgid "This connection is blocked!"
+msgstr "Aquesta connexió està bloquejada!"
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat."
+#: ../../mod/connedit.php:539
+msgid "Unignore"
+msgstr "Inhabilita"
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Error: el mòdul PHP mb_string es requereix però no està instal·lat."
+#: ../../mod/connedit.php:542
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Error: el mòdul PHP mcrypt es requereix però no està instal·lat."
+#: ../../mod/connedit.php:543
+msgid "This connection is ignored!"
+msgstr "Aquesta connexió es ignorada!"
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat."
+#: ../../mod/connedit.php:547
+msgid "Unarchive"
+msgstr "Desarxiva"
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
+#: ../../mod/connedit.php:547
+msgid "Archive"
+msgstr "Arxiva"
-#: ../../mod/setup.php:567
+#: ../../mod/connedit.php:550
msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor."
+#: ../../mod/connedit.php:551
+msgid "This connection is archived!"
+msgstr "Aquesta connexió està arxivada!"
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
+#: ../../mod/connedit.php:555
+msgid "Unhide"
+msgstr "Mostra"
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr "L'arxiu «.htconfig.php» es pot modificar"
+#: ../../mod/connedit.php:555
+msgid "Hide"
+msgstr "Amaga"
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament."
+#: ../../mod/connedit.php:558
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
-#: ../../mod/setup.php:587
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red."
+#: ../../mod/connedit.php:559
+msgid "This connection is hidden!"
+msgstr "Aquesta connexió està amagada!"
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
+#: ../../mod/connedit.php:566
+msgid "Delete this connection"
+msgstr "Elimina aquesta connexió"
-#: ../../mod/setup.php:589
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
+#: ../../mod/connedit.php:647
+msgid "Approve this connection"
+msgstr "Apccepta aquesta connexió"
-#: ../../mod/setup.php:592
-#, php-format
-msgid "%s is writable"
-msgstr "Es pot escriure a %s"
+#: ../../mod/connedit.php:647
+msgid "Accept connection to allow communication"
+msgstr "Accepta la connexió per permetre la comunicació"
-#: ../../mod/setup.php:608
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web."
+#: ../../mod/connedit.php:652
+msgid "Set Affinity"
+msgstr "Ajusta l'Afinitat"
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "Es pot escriure al magatzem (store)"
+#: ../../mod/connedit.php:655
+msgid "Set Profile"
+msgstr "Ajusta el Perfil"
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc"
+#: ../../mod/connedit.php:658
+msgid "Set Affinity & Profile"
+msgstr "Ajusta Afinitat i Perfil"
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
+#: ../../mod/connedit.php:675
+msgid "Apply these permissions automatically"
+msgstr "Aplica aquests permissos automaticament"
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub."
+#: ../../mod/connedit.php:677
+msgid "This connection's address is"
+msgstr "La direcció d'aquesta connexió es"
-#: ../../mod/setup.php:648
+#: ../../mod/connedit.php:680
msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important."
+#: ../../mod/connedit.php:682
+msgid "Slide to adjust your degree of friendship"
+msgstr "Llisca per ajustar el nivell d'amistat"
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
+#: ../../mod/connedit.php:684
+msgid "Slide to adjust your rating"
+msgstr "Llisca per ajustar la valoració"
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "Validació del certificat SSL"
+#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
+msgid "Optionally explain your rating"
+msgstr "Opcionalment pots explicar la teva valoració"
-#: ../../mod/setup.php:658
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
+#: ../../mod/connedit.php:687
+msgid "Custom Filter"
+msgstr "Filtre a mida"
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Es poden reescriure les URL a «.htaccess»"
+#: ../../mod/connedit.php:688
+msgid "Only import posts with this text"
+msgstr "Importa exclusivament entrades amb aquest text"
-#: ../../mod/setup.php:670
+#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut."
-
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "S'han produït errors mentre es creaven taules a la base de dades."
+"words one per line or #tags or /patterns/, leave blank to import all posts"
+msgstr "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades"
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>I ara què?</h1>"
+#: ../../mod/connedit.php:689
+msgid "Do not import posts with this text"
+msgstr "No importar entrades amb aquest text"
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\"."
+#: ../../mod/connedit.php:691
+msgid "This information is public!"
+msgstr "Aquesta informació es pública!"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Error del protocol OpenID. No ha retornat ID"
+#: ../../mod/connedit.php:696
+msgid "Connection Pending Approval"
+msgstr "Connexió Pendent d'Aprovació"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Benvingut %s. Autenticació remota reeixida."
+#: ../../mod/connedit.php:697
+msgid "Connection Request"
+msgstr "Petició de Connexió"
-#: ../../mod/tagger.php:96
+#: ../../mod/connedit.php:698
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
-
-#: ../../mod/uexport.php:41 ../../mod/uexport.php:42
-msgid "Export Channel"
-msgstr "Exportar Canal"
-
-#: ../../mod/uexport.php:43
msgid ""
-"Export your basic channel information to a small file. This acts as a "
-"backup of your connections, permissions, profile and basic data, which can "
-"be used to import your data to a new hub, but\tdoes not contain your "
-"content."
-msgstr "Exporta la informació bàsica del canal a un petit arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/centre, però no conté el contingut del canal."
-
-#: ../../mod/uexport.php:44
-msgid "Export Content"
-msgstr "Exportar el Contingut"
+"(%s) would like to connect with you. Please approve this connection to allow"
+" communication."
+msgstr "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió."
-#: ../../mod/uexport.php:45
-msgid ""
-"Export your channel information and all the content to a JSON backup. This "
-"backs up all of your connections, permissions, profile data and all of your "
-"content, but is generally not suitable for importing a channel to a new hub "
-"as this file may be VERY large. Please be patient - it may take several "
-"minutes for this download to begin."
-msgstr "Exporta la informació del canal i tot el contingut a un arxiu de recolzament JSON. Això còpia totes les teves connexions, permisos, perfil i dades i tot el contingut, però normalment no es pot importar en un altre canal d'un nou lloc/centre donat que l'arxiu acostuma a ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar."
+#: ../../mod/connedit.php:700
+msgid "Approve Later"
+msgstr "Aprovar més tard"
-#: ../../mod/viewconnections.php:62
-msgid "No connections."
-msgstr "Sense connexions."
+#: ../../mod/connedit.php:703
+msgid "inherited"
+msgstr "heretat"
-#: ../../mod/viewconnections.php:75
+#: ../../mod/connedit.php:705
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita el perfil [%s] de %s"
-
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "Signatura objectiu invàlida"
-
-#: ../../mod/admin.php:52
-msgid "Theme settings updated."
-msgstr "Ajustos de tema actualitzats."
-
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
-msgid "Site"
-msgstr "Lloc"
-
-#: ../../mod/admin.php:94
-msgid "Accounts"
-msgstr "Comptes"
-
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
-msgid "Channels"
-msgstr "Canals"
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
-msgid "Themes"
-msgstr "Temes"
-
-#: ../../mod/admin.php:98
-msgid "Inspect queue"
-msgstr "Revisa cua"
-
-#: ../../mod/admin.php:100
-msgid "Profile Config"
-msgstr "Configuració del Perfil"
-
-#: ../../mod/admin.php:101
-msgid "DB updates"
-msgstr "Actualitzacions de Base de Dades"
-
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
-msgid "Logs"
-msgstr "Logs"
-
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-msgstr "Característiques del Plugin"
-
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Registre d'usuaris esperant confirmació"
-
-#: ../../mod/admin.php:200
-msgid "# Accounts"
-msgstr "# Comptes"
-
-#: ../../mod/admin.php:201
-msgid "# blocked accounts"
-msgstr "# comptes bloquejats"
-
-#: ../../mod/admin.php:202
-msgid "# expired accounts"
-msgstr "# comptes expirats"
-
-#: ../../mod/admin.php:203
-msgid "# expiring accounts"
-msgstr "# comptes expirant"
-
-#: ../../mod/admin.php:216
-msgid "# Channels"
-msgstr "# Canals"
-
-#: ../../mod/admin.php:217
-msgid "# primary"
-msgstr "# primari"
-
-#: ../../mod/admin.php:218
-msgid "# clones"
-msgstr "# clons"
-
-#: ../../mod/admin.php:224
-msgid "Message queues"
-msgstr "Cues de missatges"
-
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
-msgid "Administration"
-msgstr "Administració"
-
-#: ../../mod/admin.php:241
-msgid "Summary"
-msgstr "Sumari"
-
-#: ../../mod/admin.php:244
-msgid "Registered accounts"
-msgstr "Comptes registrades"
-
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
-msgid "Pending registrations"
-msgstr "Comptes pendents de registre"
-
-#: ../../mod/admin.php:246
-msgid "Registered channels"
-msgstr "Canals registrats"
-
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
-msgid "Active plugins"
-msgstr "Plugins actius"
-
-#: ../../mod/admin.php:248
-msgid "Version"
-msgstr "Versió"
-
-#: ../../mod/admin.php:363
-msgid "Site settings updated."
-msgstr "Ajustos del Lloc actualitzats"
-
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "mòbil"
-
-#: ../../mod/admin.php:402
-msgid "experimental"
-msgstr "experimental"
-
-#: ../../mod/admin.php:404
-msgid "unsupported"
-msgstr "no soportat"
-
-#: ../../mod/admin.php:429
-msgid "Yes - with approval"
-msgstr "Sí - amb aprovació"
-
-#: ../../mod/admin.php:435
-msgid "My site is not a public server"
-msgstr "El meu lloc no es un servidor públic"
-
-#: ../../mod/admin.php:436
-msgid "My site has paid access only"
-msgstr "El meu lloc te accès per pagament"
-
-#: ../../mod/admin.php:437
-msgid "My site has free access only"
-msgstr "El meu lloc te lliure accés"
-
-#: ../../mod/admin.php:438
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "El meu lloc te comptes gratis amb opció de millores per pagament"
-
-#: ../../mod/admin.php:454 ../../mod/register.php:207
-msgid "Registration"
-msgstr "Registre"
-
-#: ../../mod/admin.php:455
-msgid "File upload"
-msgstr "Pujar arxiu"
-
-#: ../../mod/admin.php:456
-msgid "Policies"
-msgstr "Polítiques"
-
-#: ../../mod/admin.php:461
-msgid "Site name"
-msgstr "Nom del lloc"
-
-#: ../../mod/admin.php:462
-msgid "Banner/Logo"
-msgstr "Senyera/Logo"
-
-#: ../../mod/admin.php:463
-msgid "Administrator Information"
-msgstr "Informació de l'Administrador"
-
-#: ../../mod/admin.php:463
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Informació per contactar amb els administradors del lloc. Mostrada a la pàgina d'informació del lloc. Es pot emprar BBCode aquí"
-
-#: ../../mod/admin.php:464
-msgid "System language"
-msgstr "Idioma del sistema"
-
-#: ../../mod/admin.php:465
-msgid "System theme"
-msgstr "Tema del sistema"
-
-#: ../../mod/admin.php:465
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Tema del sistema per defecte - pot ser sobrescrit pel perfils dels usuaris - <a href='#' id='cnftheme'>Ajustos de canvi del tema</a>"
-
-#: ../../mod/admin.php:466
-msgid "Mobile system theme"
-msgstr "Tema del sistema per a mòbils"
-
-#: ../../mod/admin.php:466
-msgid "Theme for mobile devices"
-msgstr "Tema per a aparells mòbils"
-
-#: ../../mod/admin.php:468
-msgid "Enable Diaspora Protocol"
-msgstr "Activat el Protocol Diaspora"
-
-#: ../../mod/admin.php:468
-msgid "Communicate with Diaspora and Friendica - experimental"
-msgstr "Comunicar amb Diaspora i Friendica - experimental"
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
-#: ../../mod/admin.php:469
-msgid "Allow Feeds as Connections"
-msgstr "Permetre Retroalimentadors com Connexions"
+#: ../../mod/connedit.php:707
+msgid "Their Settings"
+msgstr "Els seus Ajustos"
-#: ../../mod/admin.php:469
-msgid "(Heavy system resource usage)"
-msgstr "(Demana molts recursos del sistema)"
+#: ../../mod/connedit.php:708
+msgid "My Settings"
+msgstr "Els Meus Ajustos"
-#: ../../mod/admin.php:470
-msgid "Maximum image size"
-msgstr "Mida màxima d'imatge"
+#: ../../mod/connedit.php:710
+msgid "Individual Permissions"
+msgstr "Permisos Individuals"
-#: ../../mod/admin.php:470
+#: ../../mod/connedit.php:711
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Mida màxima en bytes de imatges pujades. Per defecte es 0, el que vol dir sense límits."
-
-#: ../../mod/admin.php:471
-msgid "Does this site allow new member registration?"
-msgstr "Permet aquest lloc registre de nous membres?"
-
-#: ../../mod/admin.php:472
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Que es es que millor descriu la mena de comptes oferits per aquest concentrador?"
-
-#: ../../mod/admin.php:473
-msgid "Register text"
-msgstr "text de registre"
-
-#: ../../mod/admin.php:473
-msgid "Will be displayed prominently on the registration page."
-msgstr "Es mostrarà preminentment a la pàgina de registre"
-
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Pàgina d'inici a mostrar als visitants (per defecte: la pàgina d'identificació)"
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
-#: ../../mod/admin.php:474
+#: ../../mod/connedit.php:712
msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "exemple: 'públic' per a mostrar un flux públic, 'page/sys/home' per a mostrar una pàgina web dita 'home' o 'include:home.html' per a incloure un arxiu."
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Preservar URL de la pàgina web"
+#: ../../mod/connedit.php:713
+msgid "Last update:"
+msgstr "Darrera actualització:"
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la pàgina web del lloc en un marc en el lloc original enlloc de redirigir cap a ella"
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Identificador invàlid de perfil."
-#: ../../mod/admin.php:476
-msgid "Accounts abandoned after x days"
-msgstr "Els copmte es consideren abandonats despres de x dies"
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Perfil del Editor de Visibilitat"
-#: ../../mod/admin.php:476
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "No malgastar recursos del sistema sondejant llocs externs per acomptes abandonats. Entrar 0 vol dir sense límit de temps."
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Clica sobre el contacte per afegir o esborrar."
-#: ../../mod/admin.php:477
-msgid "Allowed friend domains"
-msgstr "dominis amics permesos"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Visible per"
-#: ../../mod/admin.php:477
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "llista separada per comes de dominis en els que està permès establir relacions d'amistat amb aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
+#: ../../mod/dav.php:121
+msgid "$Projectname channel"
+msgstr "Canal de $Projectname"
-#: ../../mod/admin.php:478
-msgid "Allowed email domains"
-msgstr "Dominis de correu electonic acceptats"
+#: ../../mod/directory.php:234
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valoració"
+msgstr[1] "%d valoracions"
-#: ../../mod/admin.php:478
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "llista separada per comes de dominis de adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
+#: ../../mod/directory.php:245
+msgid "Gender: "
+msgstr "Gènere:"
-#: ../../mod/admin.php:479
-msgid "Not allowed email domains"
-msgstr "Dominis de correu electrònic no acceptats"
+#: ../../mod/directory.php:247
+msgid "Status: "
+msgstr "Estatus:"
-#: ../../mod/admin.php:479
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "llista separada per comes de dominis de adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
+#: ../../mod/directory.php:249
+msgid "Homepage: "
+msgstr "Pàgina Personal:"
-#: ../../mod/admin.php:480
-msgid "Block public"
-msgstr "Bloc públic"
+#: ../../mod/directory.php:308 ../../mod/events.php:682
+msgid "Description:"
+msgstr "Descripció:"
-#: ../../mod/admin.php:480
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Activa per a bloquejar l'accés públic a totes les pàgines públiques personals excepte si estàs identificat en el sistema."
+#: ../../mod/directory.php:317
+msgid "Public Forum:"
+msgstr "Forum Públic:"
-#: ../../mod/admin.php:481
-msgid "Verify Email Addresses"
-msgstr "Verifica l'Adreça de Correu Electrònic"
+#: ../../mod/directory.php:320
+msgid "Keywords: "
+msgstr "Paraules Clau:"
-#: ../../mod/admin.php:481
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Activa per comprovar l'adreça de correu electrònic emprada durant el registre d'un nou compte (recomanat)"
+#: ../../mod/directory.php:323
+msgid "Don't suggest"
+msgstr "No suggerir"
-#: ../../mod/admin.php:482
-msgid "Force publish"
-msgstr "Forza la publicació"
+#: ../../mod/directory.php:325
+msgid "Common connections:"
+msgstr "Connexions en comú:"
-#: ../../mod/admin.php:482
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Activa per forzar que tots el perfils en aquest lloc siguin llistats en el directori del lloc."
+#: ../../mod/directory.php:374
+msgid "Global Directory"
+msgstr "Directori Global"
-#: ../../mod/admin.php:483
-msgid "Disable discovery tab"
-msgstr "Desactiva la pestañnya de descobrir"
+#: ../../mod/directory.php:374
+msgid "Local Directory"
+msgstr "Directori Local"
-#: ../../mod/admin.php:483
-msgid ""
-"Remove the tab in the network view with public content pulled from sources "
-"chosen for this site."
-msgstr "Treu la pesranya per veure contingut públic de la xarxa extret d'origens triats per aquest lloc."
+#: ../../mod/directory.php:380
+msgid "Finding:"
+msgstr "Cercant:"
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "Accés a la Pàgina d'inici"
+#: ../../mod/directory.php:385
+msgid "next page"
+msgstr "pàgina següent"
-#: ../../mod/admin.php:484
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut."
+#: ../../mod/directory.php:385
+msgid "previous page"
+msgstr "pàgina anterior"
-#: ../../mod/admin.php:486
-msgid "Proxy user"
-msgstr "Usuari Proxy"
+#: ../../mod/directory.php:386
+msgid "Sort options"
+msgstr "Opcions per ordenar"
-#: ../../mod/admin.php:487
-msgid "Proxy URL"
-msgstr "URL del Proxy"
+#: ../../mod/directory.php:387
+msgid "Alphabetic"
+msgstr "Alfabètic"
-#: ../../mod/admin.php:488
-msgid "Network timeout"
-msgstr "Temps d'espera de la xarxa"
+#: ../../mod/directory.php:388
+msgid "Reverse Alphabetic"
+msgstr "Alfabètic Invers"
-#: ../../mod/admin.php:488
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)"
+#: ../../mod/directory.php:389
+msgid "Newest to Oldest"
+msgstr "De més Nou a més Vell"
-#: ../../mod/admin.php:489
-msgid "Delivery interval"
-msgstr "Interval de lliurament"
+#: ../../mod/directory.php:390
+msgid "Oldest to Newest"
+msgstr "De més Antic a més Nou"
-#: ../../mod/admin.php:489
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats."
+#: ../../mod/directory.php:407
+msgid "No entries (some entries may be hidden)."
+msgstr "Sense entrades (algunes podrien estar amagades)."
-#: ../../mod/admin.php:490
-msgid "Poll interval"
-msgstr "interval de sondeig"
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr "Llocs públics"
-#: ../../mod/admin.php:490
+#: ../../mod/pubsites.php:19
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament."
-
-#: ../../mod/admin.php:491
-msgid "Maximum Load Average"
-msgstr "Càrrega Mitja Màxima"
+"The listed sites allow public registration for the $Projectname network. All"
+" sites in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some sites may require subscription or"
+" provide tiered service plans. The provider links <strong>may</strong> "
+"provide additional details."
+msgstr "Els llocs llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors."
-#: ../../mod/admin.php:491
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte."
+#: ../../mod/pubsites.php:25
+msgid "Rate this hub"
+msgstr "Valora aquest hub"
-#: ../../mod/admin.php:492
-msgid "Expiration period in days for imported (matrix/network) content"
-msgstr "Periode d'expiració per a contingut importat (matrix/xarxa)"
+#: ../../mod/pubsites.php:26
+msgid "Site URL"
+msgstr "Adreça URL del web"
-#: ../../mod/admin.php:492
-msgid "0 for no expiration of imported content"
-msgstr "0 vol dir sense temps d'expiració pel contingut importat"
+#: ../../mod/pubsites.php:26
+msgid "Access Type"
+msgstr "Tipus d'accés"
-#: ../../mod/admin.php:540
-msgid "No server found"
-msgstr "No es troba servidor"
+#: ../../mod/pubsites.php:26
+msgid "Registration Policy"
+msgstr "Condicions de registre"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
-msgid "ID"
-msgstr "ID"
+#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "Projecte"
-#: ../../mod/admin.php:547
-msgid "for channel"
-msgstr "per a canal"
+#: ../../mod/pubsites.php:26
+msgid "View hub ratings"
+msgstr "Mostra la valoració del hub"
-#: ../../mod/admin.php:547
-msgid "on server"
-msgstr "al servidor"
+#: ../../mod/pubsites.php:30
+msgid "Rate"
+msgstr "Puntua"
-#: ../../mod/admin.php:547
-msgid "Status"
-msgstr "Estat"
+#: ../../mod/pubsites.php:31
+msgid "View ratings"
+msgstr "Mostra les valoracions"
-#: ../../mod/admin.php:549
-msgid "Server"
-msgstr "Servidor"
+#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
+msgid "This site is not a directory server"
+msgstr "Aquest lloc web no és un servidor de directori"
-#: ../../mod/admin.php:566
-msgid "Update has been marked successful"
-msgstr "Actualització marcada amb exit"
+#: ../../mod/dirsearch.php:29
+msgid "This directory server requires an access token"
+msgstr "Aquest servidor de directori requereix un token de accès"
-#: ../../mod/admin.php:576
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Executant %s ha fallat. Comprova els logs del sistema."
+#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
+#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "No s'ha trobat l'element"
-#: ../../mod/admin.php:579
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Actualització %s es va realitzar correctament."
+#: ../../mod/editblock.php:117
+msgid "Delete block?"
+msgstr "Eliminar bloc?"
-#: ../../mod/admin.php:583
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Actualització %s no ha retornat l'estat. Es desconeix si ha finalitzat amb exit."
+#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142
+#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:187
+msgid "Insert YouTube video"
+msgstr "insereix video YouTube"
-#: ../../mod/admin.php:586
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "La funció d'actualitzacio %s no es pot trobar."
+#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:188
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Insereix video Vorbis [.ogg]"
-#: ../../mod/admin.php:602
-msgid "No failed updates."
-msgstr "No hi ha actualitzacions fallides."
+#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:189
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Insereix audio Vorbis [.ogg]"
-#: ../../mod/admin.php:606
-msgid "Failed Updates"
-msgstr "Actualitzacions Fallides"
+#: ../../mod/editblock.php:179
+msgid "Edit Block"
+msgstr "Editar Bloc"
-#: ../../mod/admin.php:608
-msgid "Mark success (if update was manually applied)"
-msgstr "Marca èxit (si l'actualització s'ha aplicat de forma manual)"
+#: ../../mod/editlayout.php:111
+msgid "Delete layout?"
+msgstr "Esborrar el disseny?"
-#: ../../mod/admin.php:609
-msgid "Attempt to execute this update step automatically"
-msgstr "Prova a fer automàticament aquesta actualització"
+#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+msgid "Layout Description (Optional)"
+msgstr "Descripció del disseny (opcional)"
-#: ../../mod/admin.php:641
-msgid "Queue Statistics"
-msgstr "Cua d'Estadístiques"
+#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:179
+msgid "Layout Name"
+msgstr "Nom del disseny"
-#: ../../mod/admin.php:642
-msgid "Total Entries"
-msgstr "Total d'Entrades"
+#: ../../mod/editlayout.php:177
+msgid "Edit Layout"
+msgstr "Edita el disseny"
-#: ../../mod/admin.php:643
-msgid "Priority"
-msgstr "Prioritat"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Article no editable"
-#: ../../mod/admin.php:644
-msgid "Destination URL"
-msgstr "URL de Destí"
+#: ../../mod/editpost.php:48
+msgid "Delete item?"
+msgstr "Esborrar ítem"
-#: ../../mod/admin.php:645
-msgid "Mark hub permanently offline"
-msgstr "Marca el concentrador coma permanentment fora de línia"
+#: ../../mod/editpost.php:158 ../../mod/rpost.php:131
+msgid "Edit post"
+msgstr "Modifica l'entrada"
-#: ../../mod/admin.php:646
-msgid "Empty queue for this hub"
-msgstr "Cua buida per aquest concentrador"
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "No es possible trobar el concentrador"
-#: ../../mod/admin.php:647
-msgid "Last known contact"
-msgstr "Últim contacte conegut"
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Entrada realitzada amb èxit. "
-#: ../../mod/admin.php:683
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s usuari bloquejat/desbloquejat"
-msgstr[1] "%s usuaris bloquejats/desbloquejats"
+#: ../../mod/editwebpage.php:152
+msgid "Delete webpage?"
+msgstr "Esborrar pàgina web?"
-#: ../../mod/admin.php:691
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s usuari esborrat"
-msgstr[1] "%s usuaris esborrats"
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
+msgstr "Títol de la pàgina enllaçada"
-#: ../../mod/admin.php:727
-msgid "Account not found"
-msgstr "Compte no trobat"
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
+msgstr "Edita la Pàgina Web"
-#: ../../mod/admin.php:747
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Usuari '%s' bloquejat"
+#: ../../mod/rate.php:157
+msgid "Website:"
+msgstr "Lloc web:"
-#: ../../mod/admin.php:755
+#: ../../mod/rate.php:160
#, php-format
-msgid "User '%s' unblocked"
-msgstr "Usuari '%s' desbloquejat"
-
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
-msgid "Users"
-msgstr "Usuaris"
-
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
-msgid "select all"
-msgstr "Sel·leciona-ho tot"
-
-#: ../../mod/admin.php:821
-msgid "User registrations waiting for confirm"
-msgstr "Registres d'usuaris pendents de confirmació"
-
-#: ../../mod/admin.php:822
-msgid "Request date"
-msgstr "Data de la petició"
-
-#: ../../mod/admin.php:823
-msgid "No registrations."
-msgstr "Sense registracions."
-
-#: ../../mod/admin.php:824 ../../mod/connedit.php:687
-msgid "Approve"
-msgstr "Aprovat"
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
-#: ../../mod/admin.php:825
-msgid "Deny"
-msgstr "Denegat"
+#: ../../mod/rate.php:161
+msgid "Rating (this information is public)"
+msgstr "Valoració (aquesta informació és pública)"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:519
-msgid "Block"
-msgstr "Bloquejat"
+#: ../../mod/rate.php:162
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
-#: ../../mod/admin.php:828 ../../mod/connedit.php:519
-msgid "Unblock"
-msgstr "Desbloquejat"
+#: ../../mod/events.php:21
+msgid "Calendar entries imported."
+msgstr "Entrades de Calendari importades."
-#: ../../mod/admin.php:831
-msgid "Register date"
-msgstr "Data de registre"
+#: ../../mod/events.php:23
+msgid "No calendar entries found."
+msgstr "No es troben entrades decalendari."
-#: ../../mod/admin.php:831
-msgid "Last login"
-msgstr "Darrera identificació"
+#: ../../mod/events.php:101
+msgid "Event can not end before it has started."
+msgstr "L'esdeveniment ha de començar abans d'acabar."
-#: ../../mod/admin.php:831
-msgid "Expires"
-msgstr "Expira"
+#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+msgid "Unable to generate preview."
+msgstr "No s'ha pogut generar la vista prèvia."
-#: ../../mod/admin.php:831
-msgid "Service Class"
-msgstr "Classe de Servei"
+#: ../../mod/events.php:110
+msgid "Event title and start time are required."
+msgstr "Cal indicar l'inici i el final de l'esdeveniment."
-#: ../../mod/admin.php:833
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Tria els usuaris que s'esborraran!\\n\\nTotes les publicacions d'aquests usuaris en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
+#: ../../mod/events.php:128
+msgid "Event not found."
+msgstr "No s'ha trobat l'esdeveniment."
-#: ../../mod/admin.php:834
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'usuari {0} sera esborrat!\\n\\nTotes les publicacions d'aquest usuari en aquest lloc s'eliminarà de forma permanent!\\n\\nEstas segur?"
+#: ../../mod/events.php:426
+msgid "l, F j"
+msgstr "I dia j, F"
-#: ../../mod/admin.php:870
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s canal censurat/no censurat"
-msgstr[1] "%s canals censurats/no censurats"
+#: ../../mod/events.php:448
+msgid "Edit event"
+msgstr "Edita l'esdeveniment"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s codi permes/no permes al canal"
-msgstr[1] "%s codi permesos/no permesos al canal"
+#: ../../mod/events.php:449
+msgid "Delete event"
+msgstr "Esborra l'esdeveniment"
-#: ../../mod/admin.php:886
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canal esborrat"
-msgstr[1] "%s canals esborrats"
+#: ../../mod/events.php:483
+msgid "calendar"
+msgstr "calendari"
-#: ../../mod/admin.php:906
-msgid "Channel not found"
-msgstr "Canal no trobat"
+#: ../../mod/events.php:504
+msgid "Create New Event"
+msgstr "Crea un esdeveniment nou"
-#: ../../mod/admin.php:917
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Canal '%s' esborrat"
+#: ../../mod/events.php:507
+msgid "Export"
+msgstr "Exporta"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censurat"
+#: ../../mod/events.php:510
+msgid "Import"
+msgstr "Importar"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Canal '%s' no censurat"
+#: ../../mod/events.php:541
+msgid "Event removed"
+msgstr "S'ha eliminat l'esdeveniment"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Canal '%s' permet codi"
+#: ../../mod/events.php:544
+msgid "Failed to remove event"
+msgstr "No s'ha pogut esborrar l'esdeveniment"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Canal '%s' no permet codi"
+#: ../../mod/events.php:664
+msgid "Event details"
+msgstr "Detalls de l'esdeveniment"
-#: ../../mod/admin.php:989
-msgid "Censor"
-msgstr "Censurat"
+#: ../../mod/events.php:665
+msgid "Starting date and Title are required."
+msgstr "La data d'inici i el títol són obligatoris."
-#: ../../mod/admin.php:990
-msgid "Uncensor"
-msgstr "No censurat"
+#: ../../mod/events.php:667
+msgid "Categories (comma-separated list)"
+msgstr "Categories (llista separada per comes)"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Permet Codi"
+#: ../../mod/events.php:669
+msgid "Event Starts:"
+msgstr "Inici:"
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "No Permet Codi"
+#: ../../mod/events.php:676
+msgid "Finish date/time is not known or not relevant"
+msgstr "La data i hora de final no és coneguda o irrellevant"
-#: ../../mod/admin.php:994
-msgid "UID"
-msgstr "UID"
+#: ../../mod/events.php:678
+msgid "Event Finishes:"
+msgstr "Final:"
-#: ../../mod/admin.php:996
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
+#: ../../mod/events.php:680 ../../mod/events.php:681
+msgid "Adjust for viewer timezone"
+msgstr "Ajusta a la zona horària del visitant."
-#: ../../mod/admin.php:997
+#: ../../mod/events.php:680
msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?"
-
-#: ../../mod/admin.php:1037
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s desactivat."
-
-#: ../../mod/admin.php:1041
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s activat."
-
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
-msgid "Disable"
-msgstr "Desactivat"
-
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
-msgid "Enable"
-msgstr "Activat"
-
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
-msgid "Toggle"
-msgstr "Commutar"
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
-msgid "Author: "
-msgstr "Autor: "
+#: ../../mod/events.php:686
+msgid "Title:"
+msgstr "Títol:"
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
-msgid "Maintainer: "
-msgstr "Mantenedor:"
+#: ../../mod/events.php:688
+msgid "Share this event"
+msgstr "Comparteix aquest esdeveniment"
-#: ../../mod/admin.php:1214
-msgid "No themes found."
-msgstr "No s'han trobat temes."
+#: ../../mod/ratings.php:69
+msgid "No ratings"
+msgstr "No valorat"
-#: ../../mod/admin.php:1270
-msgid "Screenshot"
-msgstr "Copia de pantalla"
+#: ../../mod/ratings.php:99
+msgid "Ratings"
+msgstr "Valoracions"
-#: ../../mod/admin.php:1316
-msgid "[Experimental]"
-msgstr "[Experimental]"
+#: ../../mod/ratings.php:100
+msgid "Rating: "
+msgstr "Valoració:"
-#: ../../mod/admin.php:1317
-msgid "[Unsupported]"
-msgstr "[No soportat]"
+#: ../../mod/ratings.php:101
+msgid "Website: "
+msgstr "Lloc web:"
-#: ../../mod/admin.php:1341
-msgid "Log settings updated."
-msgstr "Registre d'ajustos actualitzat."
+#: ../../mod/ratings.php:103
+msgid "Description: "
+msgstr "Descripció:"
-#: ../../mod/admin.php:1398
-msgid "Clear"
-msgstr "Neteja"
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Tria una carpeta d'interès"
-#: ../../mod/admin.php:1404
-msgid "Debugging"
-msgstr "Depurant"
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Guarda Favorits"
-#: ../../mod/admin.php:1405
-msgid "Log file"
-msgstr "Arxiu de registre"
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "URL de favorit"
-#: ../../mod/admin.php:1405
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Ha de ser escribible pel servidor web. Relatiu al directori de nivell superior de Red"
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "O entra un nou nom de favorit"
-#: ../../mod/admin.php:1406
-msgid "Log level"
-msgstr "Nivell de registre"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- selecciona -"
-#: ../../mod/admin.php:1452
-msgid "New Profile Field"
-msgstr "Camp de Perfil Nou"
+#: ../../mod/filestorage.php:82
+msgid "Permission Denied."
+msgstr "Permisos Denegats."
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
-msgid "Field nickname"
-msgstr "Àlies de Camp"
+#: ../../mod/filestorage.php:98
+msgid "File not found."
+msgstr "Arxiu no torbat."
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
-msgid "System name of field"
-msgstr "nOM DEL SISTEMA DEL CAMP"
+#: ../../mod/filestorage.php:141
+msgid "Edit file permissions"
+msgstr "Edita els permisos d'arxiu"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
-msgid "Input type"
-msgstr "Tipus d'entrada"
+#: ../../mod/filestorage.php:150
+msgid "Set/edit permissions"
+msgstr "Canvia/edita permisos"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
-msgid "Field Name"
-msgstr "Nom de Camp"
+#: ../../mod/filestorage.php:151
+msgid "Include all files and sub folders"
+msgstr "Inclou tots als arxius i subdirectoris"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
-msgid "Label on profile pages"
-msgstr "Etiqueta a les pàgines de perfil"
+#: ../../mod/filestorage.php:152
+msgid "Return to file list"
+msgstr "Tornar al llistat d'arxius"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
-msgid "Help text"
-msgstr "Text d'ajuda"
+#: ../../mod/filestorage.php:154
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
-msgid "Additional info (optional)"
-msgstr "Informació adicional (opcional)"
+#: ../../mod/filestorage.php:155
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
-#: ../../mod/admin.php:1466
-msgid "Field definition not found"
-msgstr "No es troba la definició del camp"
+#: ../../mod/filestorage.php:157
+msgid "Share this file"
+msgstr "Comparteix l'arxiu"
-#: ../../mod/admin.php:1472
-msgid "Edit Profile Field"
-msgstr "Camp d'Edició del Perfil"
+#: ../../mod/filestorage.php:158
+msgid "Show URL to this file"
+msgstr "Mostra la URL d'aquest arxiu"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "No es possible trobar el concentrador"
+#: ../../mod/filestorage.php:159
+msgid "Notify your contacts about this file"
+msgstr "Avisa els teus contactes d'aquest arxiu"
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Entrada realitzada amb èxit. "
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "S'ha afegit el canal."
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
@@ -7452,6 +6546,63 @@ msgstr "Tria una contrasenya"
msgid "Please re-enter your password"
msgstr "Si et plau, re-entra la contrasenya"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contacte no trobat."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Suggeriment d'amistat enviada."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Amics Suggerits"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Suggereix un amic per a %s"
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Inicia Sessió."
+
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "Creada una col·lecció"
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "No puc crear la col·lecció."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Col·lecció actualitzada."
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Creada una col·lecció de canals."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Nom de la Col·lecció:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "Els membres son visibles en altres canals"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Col·lecció esborrada."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Incapaç d'esborrar la col·lecció."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Editor de Col·leccions"
+
#: ../../mod/removeaccount.php:30
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
@@ -7500,27 +6651,328 @@ msgstr "Esborra el Compte"
msgid "Help:"
msgstr "Ajuda:"
-#: ../../mod/help.php:76 ../../index.php:238
+#: ../../mod/help.php:76 ../../index.php:242
msgid "Not Found"
msgstr "No s'ha pogut trobar la pàgina"
#: ../../mod/help.php:100
msgid "$Projectname Documentation"
-msgstr "$Projectname Documentació"
+msgstr "Documentació de $Projectname"
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
-msgid "[Embedded content - reload page to view]"
-msgstr "[Contingut embegut - recarrega la pàgina per veure-ho]"
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
-#: ../../mod/lockview.php:37
-msgid "Remote privacy information not available."
-msgstr "informació privada remota no disponible."
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr "Elimina Aquest Canal"
-#: ../../mod/lockview.php:58
-msgid "Visible to:"
-msgstr "Visible per:"
+#: ../../mod/removeme.php:58
+msgid "This channel will be completely removed from the network. "
+msgstr "Aquest canal serà completament eliminat de la xarxa."
+
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr "Elimina aquest canal i els seus clons de la xarxa"
+
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa"
+
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1137
+msgid "Remove Channel"
+msgstr "Elimina el canal"
+
+#: ../../mod/home.php:58 ../../mod/home.php:66 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../mod/home.php:75
+#, php-format
+msgid "Welcome to %s"
+msgstr "Benvingut a %s"
+
+#: ../../mod/rmagic.php:40
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID."
+
+#: ../../mod/rmagic.php:40
+msgid "The error message was:"
+msgstr "El missatge d'error fou:"
+
+#: ../../mod/rmagic.php:44
+msgid "Authentication failed."
+msgstr "Ha fallat l'autentificació."
+
+#: ../../mod/rmagic.php:84
+msgid "Remote Authentication"
+msgstr "Autentificació Remota"
+
+#: ../../mod/rmagic.php:85
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
+
+#: ../../mod/rmagic.php:86
+msgid "Authenticate"
+msgstr "Autentica't"
+
+#: ../../mod/id.php:11
+msgid "First Name"
+msgstr "Nom"
+
+#: ../../mod/id.php:12
+msgid "Last Name"
+msgstr "Cognoms"
+
+#: ../../mod/id.php:13
+msgid "Nickname"
+msgstr "Àlies"
+
+#: ../../mod/id.php:14
+msgid "Full Name"
+msgstr "Nom Sencer"
+
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
+msgstr "Foto del Perfil 16px"
+
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
+msgstr "Foto del Perfil 32px"
+
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
+msgstr "Foto del Perfil 48px"
+
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
+msgstr "Foto del Perfil 64px"
+
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
+msgstr "Foto del Perfil 80px"
+
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
+msgstr "Foto del Perfil 128px"
+
+#: ../../mod/id.php:26
+msgid "Timezone"
+msgstr "Zona horària"
+
+#: ../../mod/id.php:27
+msgid "Homepage URL"
+msgstr "URL de la pàgina d'inici"
+
+#: ../../mod/id.php:29
+msgid "Birth Year"
+msgstr "Any de Naixement"
+
+#: ../../mod/id.php:30
+msgid "Birth Month"
+msgstr "Mes de Naixement"
+
+#: ../../mod/id.php:31
+msgid "Birth Day"
+msgstr "Dia de Naixement"
+
+#: ../../mod/id.php:32
+msgid "Birthdate"
+msgstr "Aniversari"
+
+#: ../../mod/impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "%s element instal·lat"
+
+#: ../../mod/impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "%s instal·lació d'element va fallar"
+
+#: ../../mod/search.php:206
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elements etiquetats amb: %s"
+
+#: ../../mod/search.php:208
+#, php-format
+msgid "Search results for: %s"
+msgstr "Resultats de cerca per: %s"
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "El teu paquet de serveis només admet %d canals."
+
+#: ../../mod/import.php:60
+msgid "Nothing to import."
+msgstr "No hi ha res a importar."
+
+#: ../../mod/import.php:84
+msgid "Unable to download data from old server"
+msgstr "No s'han pogut descarregar les dades del servidor antic"
+
+#: ../../mod/import.php:90
+msgid "Imported file is empty."
+msgstr "El fitxer importat està buit."
+
+#: ../../mod/import.php:110
+msgid "The data provided is not compatible with this project."
+msgstr "Les dades subministrades no son compatibles amb aquest projecte."
+
+#: ../../mod/import.php:115
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Atenció: Les versions de la Base de Dades difereixen en %1$d actualitzacions."
+
+#: ../../mod/import.php:135
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
+
+#: ../../mod/import.php:176
+msgid "Channel clone failed. Import failed."
+msgstr "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar."
+
+#: ../../mod/import.php:186
+msgid "Cloned channel not found. Import failed."
+msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
+
+#: ../../mod/import.php:574
+msgid "You must be logged in to use this feature."
+msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
+
+#: ../../mod/import.php:579
+msgid "Import Channel"
+msgstr "Importa un canal"
+
+#: ../../mod/import.php:580
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
+
+#: ../../mod/import.php:581
+msgid "File to Upload"
+msgstr "Fitxer a pujar"
+
+#: ../../mod/import.php:582
+msgid "Or provide the old server/hub details"
+msgstr "O proveeix els detalls de l'antic servidor/concentrador"
+
+#: ../../mod/import.php:583
+msgid "Your old identity address (xyz@example.com)"
+msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
+
+#: ../../mod/import.php:584
+msgid "Your old login email address"
+msgstr "La teva adreça de correu electrònic antiga"
+
+#: ../../mod/import.php:585
+msgid "Your old login password"
+msgstr "La teva contrasenya antiga"
+
+#: ../../mod/import.php:586
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
+
+#: ../../mod/import.php:587
+msgid "Make this hub my primary location"
+msgstr "Fes d'aquest hub la meva ubicació primària"
+
+#: ../../mod/import.php:588
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible"
+
+#: ../../mod/import.php:589
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
+
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "No s'han trobat restriccions de clase."
+
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "El límit total invitacions s'ha superat."
+
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: adreça de correu electrònic no vàlida."
+
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr "Si us plau, uneix-te a Red"
+
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc."
+
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Entrega del Missatge fallida."
+
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d missatge enviat."
+msgstr[1] "%d missatges enviats."
+
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr "No té més invitacions disponibles"
+
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "Enviar invitacions"
+
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "Introduïu les adreces de correu electrònic, una per línia:"
+
+#: ../../mod/invite.php:132
+msgid "Please join my community on $Projectname."
+msgstr "Si us plau uneix-te la meva comunitat en $Projectname."
+
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Has de proporcionar aquest codi d'invitació:"
+
+#: ../../mod/invite.php:135
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registre en qualsevol lloc del $Projectname (estàn tots interconnectats)"
+
+#: ../../mod/invite.php:137
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Entra a la meva adreça de xarxa al $Projectname, a la barra de cerca del lloc."
+
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "o visita"
+
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Click [Conectar]"
#: ../../mod/settings.php:76
msgid "Name is required"
@@ -7756,7 +7208,7 @@ msgstr "Enllaça a l'origen els títols de l'entrada"
#: ../../mod/settings.php:865
msgid "System Page Layout Editor - (advanced)"
-msgstr "Editor de Disseny de la Pàgina del Sistema - (avançat)"
+msgstr "Editor de disseny de pàgina - (avançat)"
#: ../../mod/settings.php:868
msgid "Use blog/list mode on channel page"
@@ -7932,6 +7384,10 @@ msgstr "Pot reduir l'SPAM"
msgid "Default Post Permissions"
msgstr "Permisos de publicació per defecte"
+#: ../../mod/settings.php:1083 ../../mod/mitem.php:155 ../../mod/mitem.php:227
+msgid "(click to open/close)"
+msgstr "(clica per obrir/tancar)"
+
#: ../../mod/settings.php:1087
msgid "Channel permissions category:"
msgstr "Categoria de permisos de canal:"
@@ -8092,476 +7548,1054 @@ msgstr "Ajustos diversos"
msgid "Personal menu to display in your channel pages"
msgstr "Menú personal per mostrar en les teves pàgines de canal"
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Elimina el canal"
-
#: ../../mod/settings.php:1138
msgid "Remove this channel."
msgstr "Elimina aquest canal."
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Nom"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "No s'ha pogut trobar l'entrada original."
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Cognoms"
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
+msgstr "S'ha descartat l'entrada perquè no té contingut."
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Àlies"
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
+msgstr "No està permès el contingut de tipus executable en aquest canal."
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Nom Sencer"
+#: ../../mod/item.php:914
+msgid "System error. Post not saved."
+msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Foto del Perfil 16px"
+#: ../../mod/item.php:1146
+msgid "Unable to obtain post information from database."
+msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Foto del Perfil 32px"
+#: ../../mod/item.php:1153
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Foto del Perfil 48px"
+#: ../../mod/item.php:1160
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Has assolit el teu limit de %1$.0f pàgines web."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Foto del Perfil 64px"
+#: ../../mod/setup.php:187
+msgid "$Projectname Server - Setup"
+msgstr "Servidor $Projectname - Configuració"
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Foto del Perfil 80px"
+#: ../../mod/setup.php:191
+msgid "Could not connect to database."
+msgstr "No puc connectar amb la base de dades"
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Foto del Perfil 128px"
+#: ../../mod/setup.php:195
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS."
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Zona horària"
+#: ../../mod/setup.php:202
+msgid "Could not create table."
+msgstr "No puc crear la taula."
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "URL de la pàgina d'inici"
+#: ../../mod/setup.php:207
+msgid "Your site database has been installed."
+msgstr "La teva base de dades del lloc s'ha instal·lat."
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Any de Naixement"
+#: ../../mod/setup.php:211
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Mes de Naixement"
+#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Si us plau, consulteu el fitxer \"install / INSTALL.txt\"."
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Dia de Naixement"
+#: ../../mod/setup.php:277
+msgid "System check"
+msgstr "Comprovació del sistema"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Aniversari"
+#: ../../mod/setup.php:282
+msgid "Check again"
+msgstr "Comprova de nou"
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Conversació eliminada."
+#: ../../mod/setup.php:304
+msgid "Database connection"
+msgstr "Connexió de base de dades"
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Sense missatges."
+#: ../../mod/setup.php:305
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió a la base de dades."
-#: ../../mod/message.php:72 ../../mod/mail.php:336
-msgid "Delete conversation"
-msgstr "Conversació esborrada"
+#: ../../mod/setup.php:306
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres."
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
+#: ../../mod/setup.php:307
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar."
-#: ../../mod/mood.php:131
-msgid "Set your current mood and tell your friends"
-msgstr "Estableix el teu estat d'ànim actual i digues-li als teus amics"
+#: ../../mod/setup.php:311
+msgid "Database Server Name"
+msgstr "Base de Dades Nom del Servidor"
-#: ../../mod/vote.php:97
-msgid "Total votes"
-msgstr "Total de vots"
+#: ../../mod/setup.php:311
+msgid "Default is localhost"
+msgstr "Per defecte es localhost"
-#: ../../mod/vote.php:98
-msgid "Average Rating"
-msgstr "Valoració Mitja"
+#: ../../mod/setup.php:312
+msgid "Database Port"
+msgstr "Port per a la Base de Dades"
-#: ../../mod/removeme.php:29
+#: ../../mod/setup.php:312
+msgid "Communication port number - use 0 for default"
+msgstr "Numero del port de comunicacions - empra 0 per defecte"
+
+#: ../../mod/setup.php:313
+msgid "Database Login Name"
+msgstr "Base de Dades Nom d'Accès"
+
+#: ../../mod/setup.php:314
+msgid "Database Login Password"
+msgstr "Base de Dades Contrasenya d'Accès"
+
+#: ../../mod/setup.php:315
+msgid "Database Name"
+msgstr "Nom de la Base de Dades"
+
+#: ../../mod/setup.php:316
+msgid "Database Type"
+msgstr "Tipus de Base de Dades"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
+msgid "Site administrator email address"
+msgstr "Adreça de correu de l'administrador del lloc"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador."
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
-msgstr "Elimina Aquest Canal"
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Website URL"
+msgstr "URL del lloc web"
-#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
-msgstr "Aquest canal serà completament eliminat de la xarxa."
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Please use SSL (https) URL if available."
+msgstr "Si us plau, empra SSL (https) URL si està disponible."
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
-msgstr "Elimina aquest canal i els seus clons de la xarxa"
+#: ../../mod/setup.php:321 ../../mod/setup.php:363
+msgid "Please select a default timezone for your website"
+msgstr "Si us plau, tria la zona horària del teu lloc web"
-#: ../../mod/removeme.php:60
+#: ../../mod/setup.php:348
+msgid "Site settings"
+msgstr "Ajustos del lloc"
+
+#: ../../mod/setup.php:413
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web."
+
+#: ../../mod/setup.php:414
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa"
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron."
-#: ../../mod/connedit.php:267
-msgid "is now connected to"
-msgstr "Ara està conectat amb"
+#: ../../mod/setup.php:418
+msgid "PHP executable path"
+msgstr "Camí cap l'executable de PHP"
-#: ../../mod/connedit.php:380
-msgid "Could not access address book record."
-msgstr "No puc accedir al registre del contacte"
+#: ../../mod/setup.php:418
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació."
-#: ../../mod/connedit.php:394
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
+#: ../../mod/setup.php:423
+msgid "Command line PHP"
+msgstr "Línia d'ordres de PHP"
-#: ../../mod/connedit.php:406 ../../mod/connedit.php:418
-#: ../../mod/connedit.php:430 ../../mod/connedit.php:442
-#: ../../mod/connedit.php:458
-msgid "Unable to set address book parameters."
-msgstr "No es poden ajustar els paràmetres dels contactes."
+#: ../../mod/setup.php:432
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat."
-#: ../../mod/connedit.php:482
-msgid "Connection has been removed."
-msgstr "S'han eliminat les conexions."
+#: ../../mod/setup.php:433
+msgid "This is required for message delivery to work."
+msgstr "Això es requereix per que funcioni l'entrega de missatges."
-#: ../../mod/connedit.php:501
+#: ../../mod/setup.php:436
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../mod/setup.php:454
#, php-format
-msgid "View %s's profile"
-msgstr "Mostra el perfil de %s"
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada."
-#: ../../mod/connedit.php:505
-msgid "Refresh Permissions"
-msgstr "Recarrega els Permissos"
+#: ../../mod/setup.php:459
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Pots ajustar aquests valors a l'arxiu php.ini del servidor"
-#: ../../mod/connedit.php:508
-msgid "Fetch updated permissions"
-msgstr "Obté els permisos actualitzats"
+#: ../../mod/setup.php:461
+msgid "PHP upload limits"
+msgstr "Límits de pujada de PHP"
-#: ../../mod/connedit.php:512
-msgid "Recent Activity"
-msgstr "Activitat Recent"
+#: ../../mod/setup.php:484
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació"
-#: ../../mod/connedit.php:515
-msgid "View recent posts and comments"
-msgstr "Mostra les entrades i comentaris recents"
+#: ../../mod/setup.php:485
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/connedit.php:522
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
+#: ../../mod/setup.php:488
+msgid "Generate encryption keys"
+msgstr "Generar claus de xifrat"
-#: ../../mod/connedit.php:523
-msgid "This connection is blocked!"
-msgstr "Aquesta connexió està bloquejada!"
+#: ../../mod/setup.php:500
+msgid "libCurl PHP module"
+msgstr "mòdul PHP libCurl "
-#: ../../mod/connedit.php:527
-msgid "Unignore"
-msgstr "Inhabilita"
+#: ../../mod/setup.php:501
+msgid "GD graphics PHP module"
+msgstr "mòdul PHP GD gràfics"
-#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../mod/setup.php:502
+msgid "OpenSSL PHP module"
+msgstr "mòdul PHP OpenSSL"
-#: ../../mod/connedit.php:530
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
+#: ../../mod/setup.php:503
+msgid "mysqli or postgres PHP module"
+msgstr "mòdul PHP mysqli o postgres"
-#: ../../mod/connedit.php:531
-msgid "This connection is ignored!"
-msgstr "Aquesta connexió es ignorada!"
+#: ../../mod/setup.php:504
+msgid "mb_string PHP module"
+msgstr "mòdul PHP mb_string"
-#: ../../mod/connedit.php:535
-msgid "Unarchive"
-msgstr "Desarxiva"
+#: ../../mod/setup.php:505
+msgid "mcrypt PHP module"
+msgstr "mòdul PHP mcrypt"
-#: ../../mod/connedit.php:535
-msgid "Archive"
-msgstr "Arxiva"
+#: ../../mod/setup.php:506
+msgid "xml PHP module"
+msgstr "Mòdul xml de PHP"
-#: ../../mod/connedit.php:538
+#: ../../mod/setup.php:510 ../../mod/setup.php:512
+msgid "Apache mod_rewrite module"
+msgstr "mòdul Apache mod_rewrite"
+
+#: ../../mod/setup.php:510
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat."
-#: ../../mod/connedit.php:539
-msgid "This connection is archived!"
-msgstr "Aquesta connexió està arxivada!"
+#: ../../mod/setup.php:516 ../../mod/setup.php:519
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../mod/connedit.php:543
-msgid "Unhide"
-msgstr "Mostra"
+#: ../../mod/setup.php:516
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini"
-#: ../../mod/connedit.php:543
-msgid "Hide"
-msgstr "Amaga"
+#: ../../mod/setup.php:524
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Error: el mòdul PHP libCURL es requereix però no està instal·lat."
-#: ../../mod/connedit.php:546
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
+#: ../../mod/setup.php:528
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat."
-#: ../../mod/connedit.php:547
-msgid "This connection is hidden!"
-msgstr "Aquesta connexió està amagada!"
+#: ../../mod/setup.php:532
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Error: el mòdul PHP openssl es requereix però no està instal·lat."
-#: ../../mod/connedit.php:554
-msgid "Delete this connection"
-msgstr "Elimina aquesta connexió"
+#: ../../mod/setup.php:536
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat."
-#: ../../mod/connedit.php:635
-msgid "Approve this connection"
-msgstr "Apccepta aquesta connexió"
+#: ../../mod/setup.php:540
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Error: el mòdul PHP mb_string es requereix però no està instal·lat."
-#: ../../mod/connedit.php:635
-msgid "Accept connection to allow communication"
-msgstr "Accepta la connexió per permetre la comunicació"
+#: ../../mod/setup.php:544
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Error: el mòdul PHP mcrypt es requereix però no està instal·lat."
-#: ../../mod/connedit.php:640
-msgid "Set Affinity"
-msgstr "Ajusta l'Afinitat"
+#: ../../mod/setup.php:548
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat."
-#: ../../mod/connedit.php:643
-msgid "Set Profile"
-msgstr "Ajusta el Perfil"
+#: ../../mod/setup.php:566
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
-#: ../../mod/connedit.php:646
-msgid "Set Affinity & Profile"
-msgstr "Ajusta Afinitat i Perfil"
+#: ../../mod/setup.php:567
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació."
-#: ../../mod/connedit.php:663
-msgid "Apply these permissions automatically"
-msgstr "Aplica aquests permissos automaticament"
+#: ../../mod/setup.php:568
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor."
-#: ../../mod/connedit.php:665
-msgid "This connection's address is"
-msgstr "La direcció d'aquesta connexió es"
+#: ../../mod/setup.php:569
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
-#: ../../mod/connedit.php:668
+#: ../../mod/setup.php:572
+msgid ".htconfig.php is writable"
+msgstr "L'arxiu «.htconfig.php» es pot modificar"
+
+#: ../../mod/setup.php:586
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament."
-#: ../../mod/connedit.php:670
-msgid "Slide to adjust your degree of friendship"
-msgstr "Llisca per ajustar el nivell d'amistat"
+#: ../../mod/setup.php:587
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red."
-#: ../../mod/connedit.php:672
-msgid "Slide to adjust your rating"
-msgstr "Llisca per ajustar la valoració"
+#: ../../mod/setup.php:588 ../../mod/setup.php:609
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
-#: ../../mod/connedit.php:673 ../../mod/connedit.php:678
-msgid "Optionally explain your rating"
-msgstr "Opcionalment pots explicar la teva valoració"
+#: ../../mod/setup.php:589
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
-#: ../../mod/connedit.php:675
-msgid "Custom Filter"
-msgstr "Filtre a mida"
+#: ../../mod/setup.php:592
+#, php-format
+msgid "%s is writable"
+msgstr "Es pot escriure a %s"
-#: ../../mod/connedit.php:676
-msgid "Only import posts with this text"
-msgstr "Importa exclusivament entrades amb aquest text"
+#: ../../mod/setup.php:608
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web."
+
+#: ../../mod/setup.php:612
+msgid "store is writable"
+msgstr "Es pot escriure al magatzem (store)"
-#: ../../mod/connedit.php:676 ../../mod/connedit.php:677
+#: ../../mod/setup.php:645
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades"
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc"
-#: ../../mod/connedit.php:677
-msgid "Do not import posts with this text"
-msgstr "No importar entrades amb aquest text"
+#: ../../mod/setup.php:646
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
-#: ../../mod/connedit.php:679
-msgid "This information is public!"
-msgstr "Aquesta informació es pública!"
+#: ../../mod/setup.php:647
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub."
-#: ../../mod/connedit.php:684
-msgid "Connection Pending Approval"
-msgstr "Connexió Pendent d'Aprovació"
+#: ../../mod/setup.php:648
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
-#: ../../mod/connedit.php:685
-msgid "Connection Request"
-msgstr "Petició de Connexió"
+#: ../../mod/setup.php:649
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important."
-#: ../../mod/connedit.php:686
-#, php-format
+#: ../../mod/setup.php:650
msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió."
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
-#: ../../mod/connedit.php:688
-msgid "Approve Later"
-msgstr "Aprovar més tard"
+#: ../../mod/setup.php:652
+msgid "SSL certificate validation"
+msgstr "Validació del certificat SSL"
-#: ../../mod/connedit.php:691
-msgid "inherited"
-msgstr "heretat"
+#: ../../mod/setup.php:658
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
-#: ../../mod/connedit.php:693
+#: ../../mod/setup.php:661
+msgid "Url rewrite is working"
+msgstr "Es poden reescriure les URL a «.htaccess»"
+
+#: ../../mod/setup.php:670
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut."
+
+#: ../../mod/setup.php:694
+msgid "Errors encountered creating database tables."
+msgstr "S'han produït errors mentre es creaven taules a la base de dades."
+
+#: ../../mod/setup.php:728
+msgid "<h1>What next</h1>"
+msgstr "<h1>I ara què?</h1>"
+
+#: ../../mod/setup.php:729
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\"."
+
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
+msgstr "Pgina d'ajuda del llenguatge Comanche"
+
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
+msgstr "Descripció del disseny"
+
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
+msgstr "Descarrega l'arxiu PDL"
+
+#: ../../mod/sharedwithme.php:94
+msgid "Files: shared with me"
+msgstr "Arxius: compartits amb jo"
+
+#: ../../mod/sharedwithme.php:96
+msgid "NEW"
+msgstr "NOU"
+
+#: ../../mod/sharedwithme.php:99
+msgid "Remove all files"
+msgstr "Esborra tots els arxius"
+
+#: ../../mod/sharedwithme.php:100
+msgid "Remove this file"
+msgstr "Esborra l'arxiu"
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "M'agrada / No m'agrada"
+
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Aquesta acció està restringida als membres."
+
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "<a href=\"rmagic\">Entra amb la teva identitat $Projectname</a> o <a href=\"register\">registra't a $Projectname</a> per continuar."
+
+#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+msgid "Invalid request."
+msgstr "Sol·licitud invàlida."
+
+#: ../../mod/like.php:143
+msgid "thing"
+msgstr "cosa"
+
+#: ../../mod/like.php:189
+msgid "Channel unavailable."
+msgstr "El canal està inactiu."
+
+#: ../../mod/like.php:231
+msgid "Previous action reversed."
+msgstr "S'ha desfet l'acció anterior."
+
+#: ../../mod/like.php:401
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s està a favor de %3$s de %2$s"
+
+#: ../../mod/like.php:403
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s està en contra de %3$s de %2$s"
+
+#: ../../mod/like.php:405
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s ha votat en blanc en %3$s de %2$s"
+
+#: ../../mod/like.php:407
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s assistirà a %3$s de %2$s"
+
+#: ../../mod/like.php:409
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s no assistirà a %3$s de %2$s"
+
+#: ../../mod/like.php:411
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s potser assistirà a %3$s de %2$s"
+
+#: ../../mod/like.php:507
+msgid "Action completed."
+msgstr "S'ha completat l'acció."
+
+#: ../../mod/like.php:508
+msgid "Thank you."
+msgstr "Gràcies."
+
+#: ../../mod/siteinfo.php:112
#, php-format
+msgid "Version %s"
+msgstr "Versió %s"
+
+#: ../../mod/siteinfo.php:133
+msgid "Installed plugins/addons/apps:"
+msgstr "Plugins/addons/apps Instal·lats:"
+
+#: ../../mod/siteinfo.php:146
+msgid "No installed plugins/addons/apps"
+msgstr "Plugins/addons/apps no instal·lats"
+
+#: ../../mod/siteinfo.php:156
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Aquest és un hub de $Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat."
-#: ../../mod/connedit.php:695
-msgid "Their Settings"
-msgstr "Els seus Ajustos"
+#: ../../mod/siteinfo.php:158
+msgid "Tag: "
+msgstr "Etiqueta:"
-#: ../../mod/connedit.php:696
-msgid "My Settings"
-msgstr "Els Meus Ajustos"
+#: ../../mod/siteinfo.php:160
+msgid "Last background fetch: "
+msgstr "Última actualització en rerefons:"
-#: ../../mod/connedit.php:698
-msgid "Individual Permissions"
-msgstr "Permisos Individuals"
+#: ../../mod/siteinfo.php:163
+msgid "Running at web location"
+msgstr "Correguent en el lloc web"
-#: ../../mod/connedit.php:699
+#: ../../mod/siteinfo.php:164
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per saber-ne més de $Projectname."
-#: ../../mod/connedit.php:700
+#: ../../mod/siteinfo.php:165
+msgid "Bug reports and issues: please visit"
+msgstr "Per informar d'errors o problemes ves a"
+
+#: ../../mod/siteinfo.php:167
+msgid "$projectname issues"
+msgstr "$projectname emisions"
+
+#: ../../mod/siteinfo.php:168
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com"
-#: ../../mod/connedit.php:701
-msgid "Last update:"
-msgstr "Darrera actualització:"
+#: ../../mod/siteinfo.php:170
+msgid "Site Administrators"
+msgstr "Administradors del lloc"
-#: ../../mod/rmagic.php:40
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
+msgstr "informació privada remota no disponible."
+
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
+msgstr "Visible per:"
+
+#: ../../mod/locs.php:21 ../../mod/locs.php:52
+msgid "Location not found."
+msgstr "Situació que no es troba."
+
+#: ../../mod/locs.php:56
+msgid "Primary location cannot be removed."
+msgstr "La ubicació primària no es pot treure."
+
+#: ../../mod/locs.php:88
+msgid "No locations found."
+msgstr "No es troben els llocs."
+
+#: ../../mod/locs.php:101
+msgid "Manage Channel Locations"
+msgstr "Gestionar Ubicacions de Canal"
+
+#: ../../mod/locs.php:102
+msgid "Location (address)"
+msgstr "Ubicació (direcció)"
+
+#: ../../mod/locs.php:103
+msgid "Primary Location"
+msgstr "Ubicació Primària"
+
+#: ../../mod/locs.php:104
+msgid "Drop location"
+msgstr "Treure la ubicació"
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Error en crear l'origen. Cap canal seleccionat."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Origen creat."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Origen actualitzat."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestiona contingut per al teu canal d'origens remots"
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Nou Origen"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID."
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
-#: ../../mod/rmagic.php:40
-msgid "The error message was:"
-msgstr "El missatge d'error fou:"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Només importa contingut amb aquestes paraules (una per línia)"
-#: ../../mod/rmagic.php:44
-msgid "Authentication failed."
-msgstr "Ha fallat l'autentificació."
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Deixar en blanc per importar tot el contingut públic"
-#: ../../mod/rmagic.php:84
-msgid "Remote Authentication"
-msgstr "Autentificació Remota"
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Nom del canal"
-#: ../../mod/rmagic.php:85
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "No s'ha trobat la font."
-#: ../../mod/rmagic.php:86
-msgid "Authenticate"
-msgstr "Autentica't"
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Edita la font"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Incapaç de trobar el destinatari."
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Esborra la font"
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Incapaç de comunicar amb el canal demanat."
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "S'ha esborrat la font"
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "No puc verificar el canal demanat."
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "No s'ha pogut esborrar la font."
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "No es troba un compte vàlid."
-#: ../../mod/mail.php:139
-msgid "Message deleted."
-msgstr "Missatge eliminat."
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
-#: ../../mod/mail.php:156
-msgid "Message recalled."
-msgstr "Recupera el missatge."
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lloc d'Usuari (%s)"
-#: ../../mod/mail.php:225
-msgid "Send Private Message"
-msgstr "Envia Missatge Privat"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
-#: ../../mod/mail.php:226 ../../mod/mail.php:343
-msgid "To:"
-msgstr "Per:"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
-#: ../../mod/mail.php:231 ../../mod/mail.php:345
-msgid "Subject:"
-msgstr "Assumpte:"
+#: ../../mod/lostpass.php:86 ../../boot.php:1559
+msgid "Password Reset"
+msgstr "Restabliment de contrasenya"
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr "Envia"
+#: ../../mod/lostpass.php:87
+msgid "Your password has been reset as requested."
+msgstr "S'ha restablert la vostra contrasenya."
-#: ../../mod/mail.php:269
-msgid "Message not found."
-msgstr "Missatge no trobat."
+#: ../../mod/lostpass.php:88
+msgid "Your new password is"
+msgstr "La nova contrasenya és"
-#: ../../mod/mail.php:312
-msgid "Delete message"
-msgstr "Elimina el missatge"
+#: ../../mod/lostpass.php:89
+msgid "Save or copy your new password - and then"
+msgstr "Desa o copia la nova contrasenya, i després"
-#: ../../mod/mail.php:313
-msgid "Recall message"
-msgstr "Recupera el missatge"
+#: ../../mod/lostpass.php:90
+msgid "click here to login"
+msgstr "fes clic aquí per iniciar sessió"
-#: ../../mod/mail.php:315
-msgid "Message has been recalled."
-msgstr "El missatge s'ha recuperat."
+#: ../../mod/lostpass.php:91
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
-#: ../../mod/mail.php:332
-msgid "Private Conversation"
-msgstr "Conversació Privada"
+#: ../../mod/lostpass.php:108
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La teva contrasenya a %s ha canviat"
-#: ../../mod/mail.php:338
+#: ../../mod/lostpass.php:123
+msgid "Forgot your Password?"
+msgstr "No recordes la contrasenya?"
+
+#: ../../mod/lostpass.php:124
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
-#: ../../mod/mail.php:342
-msgid "Send Reply"
-msgstr "Envia Resposta"
+#: ../../mod/lostpass.php:125
+msgid "Email Address"
+msgstr "Adreça electrònica"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Sol·licitud d'identificació invàlida."
+#: ../../mod/lostpass.php:126
+msgid "Reset"
+msgstr "Reajustar"
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Descarta"
+#: ../../mod/menu.php:45
+msgid "Unable to update menu."
+msgstr "No s'ha pogut actualitzar el menú."
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Inicia Sessió."
+#: ../../mod/menu.php:56
+msgid "Unable to create menu."
+msgstr "No s'ha pogut crear el menú."
+
+#: ../../mod/menu.php:92 ../../mod/menu.php:104
+msgid "Menu Name"
+msgstr "Nom del menú"
+
+#: ../../mod/menu.php:92
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nom únic (no visible a la pàgina web) - requerit"
+
+#: ../../mod/menu.php:93 ../../mod/menu.php:105
+msgid "Menu Title"
+msgstr "Títol del menú"
+
+#: ../../mod/menu.php:93
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
+
+#: ../../mod/menu.php:94
+msgid "Allow Bookmarks"
+msgstr "Permetre Marcadors"
+
+#: ../../mod/menu.php:94 ../../mod/menu.php:151
+msgid "Menu may be used to store saved bookmarks"
+msgstr "El menú es pot emprar per a guardar marcadors"
+
+#: ../../mod/menu.php:95 ../../mod/menu.php:153
+msgid "Submit and proceed"
+msgstr "Envia i procedeix"
+
+#: ../../mod/menu.php:107
+msgid "Drop"
+msgstr "Menysprea"
+
+#: ../../mod/menu.php:111
+msgid "Bookmarks allowed"
+msgstr "Marcadors permesos"
+
+#: ../../mod/menu.php:113
+msgid "Delete this menu"
+msgstr "Esborra el menú"
+
+#: ../../mod/menu.php:114 ../../mod/menu.php:148
+msgid "Edit menu contents"
+msgstr "Edita el contingut del menú"
+
+#: ../../mod/menu.php:115
+msgid "Edit this menu"
+msgstr "Edita el menú"
+
+#: ../../mod/menu.php:130
+msgid "Menu could not be deleted."
+msgstr "El menu no es pot esborrar."
+
+#: ../../mod/menu.php:138 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menú no trobat."
+
+#: ../../mod/menu.php:143
+msgid "Edit Menu"
+msgstr "Edita Menú"
+
+#: ../../mod/menu.php:147
+msgid "Add or remove entries to this menu"
+msgstr "Afegeix o esborra entrades a aquest menú"
+
+#: ../../mod/menu.php:149
+msgid "Menu name"
+msgstr "Nom del Menú"
+
+#: ../../mod/menu.php:149
+msgid "Must be unique, only seen by you"
+msgstr "Ha de ser únic, nomes vist per tú"
+
+#: ../../mod/menu.php:150
+msgid "Menu title"
+msgstr "Títol del menú"
+
+#: ../../mod/menu.php:150
+msgid "Menu title as seen by others"
+msgstr "Títol del menú vist pels altres"
+
+#: ../../mod/menu.php:151
+msgid "Allow bookmarks"
+msgstr "Marcadors permesos"
+
+#: ../../mod/menu.php:160 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "No trobat."
+
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Conversació eliminada."
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Sense missatges."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, d M Y - g:i A"
+
+#: ../../mod/mitem.php:48
+msgid "Unable to create element."
+msgstr "Incapaç de crear l'element."
+
+#: ../../mod/mitem.php:72
+msgid "Unable to update menu element."
+msgstr "Incapaç d'actualitzar un element del menú."
+
+#: ../../mod/mitem.php:88
+msgid "Unable to add menu element."
+msgstr "Incapaç d'afegir l'element del menú."
+
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:226
+msgid "Menu Item Permissions"
+msgstr "Permisos de l'Article del Menú"
+
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:173
+msgid "Link Name"
+msgstr "Nom de l'Enllaç"
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:231
+msgid "Link or Submenu Target"
+msgstr "Enllaç o Submenú Objectiu"
+
+#: ../../mod/mitem.php:158
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú"
+
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:232
+msgid "Use magic-auth if available"
+msgstr "Empra magic-auth si esta disponible"
+
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:233
+msgid "Open link in new window"
+msgstr "Obrir l'enllaç en una nova finestra"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Order in list"
+msgstr "Ordre per llista"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Els números més alts aniràn al fons de la llista"
+
+#: ../../mod/mitem.php:162
+msgid "Submit and finish"
+msgstr "Envia i termina"
+
+#: ../../mod/mitem.php:163
+msgid "Submit and continue"
+msgstr "Envia i continua"
+
+#: ../../mod/mitem.php:171
+msgid "Menu:"
+msgstr "Menú:"
+
+#: ../../mod/mitem.php:174
+msgid "Link Target"
+msgstr "Enllaç Objectiu"
+
+#: ../../mod/mitem.php:177
+msgid "Edit menu"
+msgstr "Edita menú"
+
+#: ../../mod/mitem.php:180
+msgid "Edit element"
+msgstr "Edita element"
+
+#: ../../mod/mitem.php:181
+msgid "Drop element"
+msgstr "Deixa anar element"
+
+#: ../../mod/mitem.php:182
+msgid "New element"
+msgstr "Nou element"
+
+#: ../../mod/mitem.php:183
+msgid "Edit this menu container"
+msgstr "Edita aquest contenidor de menú"
+
+#: ../../mod/mitem.php:184
+msgid "Add menu element"
+msgstr "Afegeix element de menú"
-#: ../../mod/post.php:235
+#: ../../mod/mitem.php:185
+msgid "Delete this menu item"
+msgstr "Esborra aquest article del menú"
+
+#: ../../mod/mitem.php:186
+msgid "Edit this menu item"
+msgstr "Edita aquest article del menú"
+
+#: ../../mod/mitem.php:203
+msgid "Menu item not found."
+msgstr "Article del menú no trobat."
+
+#: ../../mod/mitem.php:215
+msgid "Menu item deleted."
+msgstr "Article del menú eliminat."
+
+#: ../../mod/mitem.php:217
+msgid "Menu item could not be deleted."
+msgstr "Article del menú no es pot eliminar."
+
+#: ../../mod/mitem.php:224
+msgid "Edit Menu Element"
+msgstr "Editar Element del Menú"
+
+#: ../../mod/mitem.php:230
+msgid "Link text"
+msgstr "Enllaç de text"
+
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s esta seguint %2$s de %3$s"
+
+#: ../../mod/mood.php:131
+msgid "Set your current mood and tell your friends"
+msgstr "Estableix el teu estat d'ànim actual i digues-li als teus amics"
+
+#: ../../mod/suggest.php:35
msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
+
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
+
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "S'ha tret l'etiqueta"
+
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Elimina l'etiqueta d'element"
+
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Tria l'etiqueta a eliminar:"
+
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "No existeix el grup"
+
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "No existeix el canal"
+
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Cerca resultats per:"
+
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "La coŀlecció és buida"
+
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Coŀlecció:"
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Connexió:"
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "La connexió és invàlida."
+
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Error del protocol OpenID. No ha retornat ID"
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
@@ -8605,158 +8639,220 @@ msgstr "tipus de Canal"
#: ../../mod/new_channel.php:119
msgid "Read more about roles"
-msgstr "Llegix més sobre els rols"
+msgstr "Llegeix més sobre els rols"
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "Aplicació instal·lada."
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr "S'ha actualitzat la cosa"
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Aplicació amb errors"
+#: ../../mod/thing.php:167
+msgid "Object store: failed"
+msgstr "No s'ha pogut emmagatzemar l'objecte"
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Codi embegut"
+#: ../../mod/thing.php:171
+msgid "Thing added"
+msgstr "S'ha afegit la cosa"
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Edita l'Aplicació"
+#: ../../mod/thing.php:203
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Crea l'Aplicació"
+#: ../../mod/thing.php:254
+msgid "Show Thing"
+msgstr "Mostra la cosa"
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nom de l'Aplicació"
+#: ../../mod/thing.php:261
+msgid "item not found."
+msgstr "no s'ha trobat l'element."
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Ubicació (URL) de l'aplicació"
+#: ../../mod/thing.php:289
+msgid "Edit Thing"
+msgstr "Edita la cosa"
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "Foto icona URL"
+#: ../../mod/thing.php:291 ../../mod/thing.php:338
+msgid "Select a profile"
+msgstr "Tria un perfil"
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - opcional"
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Post an activity"
+msgstr "Publica una activitat"
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Versió ID"
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Only sends to viewers of the applicable profile"
+msgstr "S'envia només a visitants del perfil corresponent"
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Preu de l'aplicació"
+#: ../../mod/thing.php:297 ../../mod/thing.php:343
+msgid "Name of thing e.g. something"
+msgstr "Nom de la cosa. Exemple: patata"
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Ubicació (URL) per comprar l'aplicació"
+#: ../../mod/thing.php:299 ../../mod/thing.php:344
+msgid "URL of thing (optional)"
+msgstr "Adreça URL de la cosa (opcional)"
-#: ../../mod/ping.php:263
-msgid "sent you a private message"
-msgstr "Se t'ha enviat un missatge privat"
+#: ../../mod/thing.php:301 ../../mod/thing.php:345
+msgid "URL for photo of thing (optional)"
+msgstr "Adreça URL de la foto d'una cosa (opcional)"
-#: ../../mod/ping.php:314
-msgid "added your channel"
-msgstr "el teu canal s'ha afegit"
+#: ../../mod/thing.php:336
+msgid "Add Thing to your Profile"
+msgstr "Afegeix una cosa al teu perfil"
-#: ../../mod/ping.php:355
-msgid "posted an event"
-msgstr "enviat un event"
+#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
+msgid "Export Channel"
+msgstr "Exportar Canal"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Pgina d'ajuda del llenguatge Comanche"
+#: ../../mod/uexport.php:52
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Exporta a un fitxer dades bàsiques del canal. Serveix com a còpia de seguretat de les teves connexions, permisos, perfil però no de contingut, i es pot usar per importar-ho a un nou servidor. "
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Descripció del Disseny de la Pàgina"
+#: ../../mod/uexport.php:53
+msgid "Export Content"
+msgstr "Exportar el Contingut"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Descarrega l'arxiu PDL"
+#: ../../mod/uexport.php:54
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Exporta la informació i contingut recent del teu canal a un fitxer JSON. Aquesta còpia de seguretat pot ser restablerta a un altre hub o a aquest mateix. Conté totes les teves connexions, permisos, dades de perfil i diversos mesos d'entrades, així que pot resultar molt gran. Per això, poden passar uns quants minuts fins que la descàrrega s'iniciï."
+
+#: ../../mod/uexport.php:55
+msgid "Export your posts from a given year or month:"
+msgstr "Exporta les teves entrades d'un any o mes determinats:"
+
+#: ../../mod/uexport.php:57
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Click on one of the recent years or months below."
+msgstr "També pots exportar les teves entrades i converses dins d'un any o mes en particualr. Fes clic a un mes o any d'aquí sota."
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
-msgstr "Benvingut a %s"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jan"
+msgstr "gen."
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Feb"
+msgstr "febr."
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Favorit afegit"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Mar"
+msgstr "març"
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
-msgstr "Els Meus Favorits"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Apr"
+msgstr "abr."
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
-msgstr "Les connexions dels meus Favorits"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jun"
+msgstr "juny"
-#: ../../mod/channel.php:97
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permisos insuficients. Petició redirigida a la pàgina del perfil."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jul"
+msgstr "jul."
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Aquest ajust requereix un procés espedial i l'edició esta bloquejada."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Aug"
+msgstr "ag."
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor de Configuració"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Sep"
+msgstr "set."
-#: ../../mod/pconfig.php:50
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Oct"
+msgstr "oct."
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Nov"
+msgstr "nov."
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Dec"
+msgstr "des."
+
+#: ../../mod/uexport.php:60
msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica."
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr "En cas que falli l'exportació, prova-ho de nou demanant un interval de dates més curt. El servidor del hub podria haver fet curt de memòria RAM."
-#: ../../mod/suggest.php:35
+#: ../../mod/uexport.php:61
+#, php-format
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
+"Or adjust the date in your browser location bar to select other dates. For "
+"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
+"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
+msgstr "O bé ajusta la data de la barra de localització per escollir unes altres dates. Per exemple, l'any 2013; <a href=\"%1$s/2013\">%1$s/2013</a> o el setembre de 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
-#: ../../mod/poll.php:64
-msgid "Poll"
-msgstr "Sondeija"
+#: ../../mod/uexport.php:62
+msgid "Please visit"
+msgstr "Visita"
-#: ../../mod/poll.php:69
-msgid "View Results"
-msgstr "Mostra els Resultats"
+#: ../../mod/uexport.php:62
+msgid "on another hub to import the backup files(s)."
+msgstr "en un altre hub per tal de restablir la/es còpia/es de seguretat."
-#: ../../mod/service_limits.php:19
-msgid "No service class restrictions found."
-msgstr "No s'han trobat restriccions de clase."
+#: ../../mod/uexport.php:63
+msgid ""
+"We advise you to clone the channel on the new hub first and than to import "
+"the backup file(s) (from the same channel) in chronological order. Importing"
+" the backup files into another channel will certainly give permission "
+"issues."
+msgstr "És recomanable clonar el canal en el hub nou abans d'importar la/es còpia/es de seguretat del mateix canal. Importar una còpia de seguretat d'un canal des d'un altre canal donarà problemes de permisos. Si n'hi ha més d'una, també cal importar les còpies en ordre cronològic, de més antic a més nou."
-#: ../../mod/sharedwithme.php:94
-msgid "Files: shared with me"
-msgstr "Arxius: compartits amb jo"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
+#: ../../mod/update_public.php:21 ../../mod/update_search.php:46
+msgid "[Embedded content - reload page to view]"
+msgstr "[Contingut embegut - recarrega la pàgina per veure-ho]"
-#: ../../mod/sharedwithme.php:96
-msgid "NEW"
-msgstr "NOU"
+#: ../../mod/viewconnections.php:62
+msgid "No connections."
+msgstr "Sense connexions."
-#: ../../mod/sharedwithme.php:99
-msgid "Remove all files"
-msgstr "Esborra tots els arxius"
+#: ../../mod/viewconnections.php:75
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita el perfil [%s] de %s"
-#: ../../mod/sharedwithme.php:100
-msgid "Remove this file"
-msgstr "Esborra l'arxiu"
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr "Origen de l'article"
+
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Vots totals"
+
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Valoració mitjana"
+
+#: ../../mod/webpages.php:191
+msgid "Page Title"
+msgstr "Títol de la pàgina"
+
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Cerca a xchan"
+
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca a xchan començant per (o webbie)"
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "Signatura objectiu invàlida"
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
-msgstr "Esquema Predeterminat"
+msgstr "Esquema per defecte"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
@@ -8773,7 +8869,7 @@ msgstr "Ajustos de tema"
#: ../../view/theme/apw/php/config.php:260
msgid "Set scheme"
-msgstr "Ajustos d'esquema"
+msgstr "Estableix l'esquema"
#: ../../view/theme/apw/php/config.php:261
#: ../../view/theme/redbasic/php/config.php:124
@@ -8782,87 +8878,87 @@ msgstr "Ajusta la mida del tipus de lletra per a entrades i comentaris"
#: ../../view/theme/apw/php/config.php:262
msgid "Set font face"
-msgstr "Ajusta el tipus de lletra"
+msgstr "Estableix el tipus de lletra"
#: ../../view/theme/apw/php/config.php:263
msgid "Set iconset"
-msgstr "Ajusta el conjunt d'icones"
+msgstr "Estableix el conjunt d'icones"
#: ../../view/theme/apw/php/config.php:264
msgid "Set big shadow size, default 15px 15px 15px"
-msgstr "Ajusta la mida gran de l'ombra, predeterminat a 15px 15px 15px"
+msgstr "Estableix una mida petita per l'ombrejat, per defecte 15px 15px 15px"
#: ../../view/theme/apw/php/config.php:265
msgid "Set small shadow size, default 5px 5px 5px"
-msgstr "Ajusta la mida petita de l'ombra, predeterminat a 5px 5px 5px"
+msgstr "Estableix una mida petita per l'ombrejat, per defecte 15px 15px 15px"
#: ../../view/theme/apw/php/config.php:266
msgid "Set shadow color, default #000"
-msgstr "Ajusta el color de l'ombra, predeterminat a #000"
+msgstr "Estableix el color de l'ombra, per defecte #000"
#: ../../view/theme/apw/php/config.php:267
msgid "Set radius size, default 5px"
-msgstr "Ajusta la mida del radi, predeterminat a 5px"
+msgstr "Estableix el radi, per defecte 5px"
#: ../../view/theme/apw/php/config.php:268
msgid "Set line-height for posts and comments"
-msgstr "Ajusta el gruix de línia per entrades i comentaris"
+msgstr "Estableix l'alçada de línia per a entrades i comentaris"
#: ../../view/theme/apw/php/config.php:269
msgid "Set background image"
-msgstr "Ajusta l'imatge de fons"
+msgstr "Estableix la imatge de fons"
#: ../../view/theme/apw/php/config.php:270
msgid "Set background attachment"
-msgstr "Ajusta els adjunts en segon pla"
+msgstr "Estableix els adjunts en segon pla"
#: ../../view/theme/apw/php/config.php:271
msgid "Set background color"
-msgstr "Ajusta el color en segon pla"
+msgstr "Estableix del color de fons"
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
-msgstr "Ajusta la secció d'imatge en segon pla"
+msgstr "Estableix la imatge de fons de secció"
#: ../../view/theme/apw/php/config.php:273
msgid "Set section background color"
-msgstr "Ajusta el color de la secció en segon pla"
+msgstr "Estableix el color de fons de secció"
#: ../../view/theme/apw/php/config.php:274
msgid "Set color of items - use hex"
-msgstr "Ajuste el color dels articles - empra codi hexadecimal"
+msgstr "Estableix el color dels elements (en notació hexadecimal)"
#: ../../view/theme/apw/php/config.php:275
msgid "Set color of links - use hex"
-msgstr "ajusta el color dels enlaços - empra codi hexadecimal"
+msgstr "Estableix el color dels enllaços (en notació hexadecimal)"
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Ajusta l'amplada màxima dels articles. Predeterminat a 400px"
+msgstr "Estableix el l'amplada màxima dels elements. Per defecte, 400px"
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Ajusta l'amplada minima dels articles. Predeterminat a 240px"
+msgstr "Estableix l'amplada mínima dels elements. Per defecte, 240px"
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Ajusta l'amplada de l'embolcall del contingut genèric. Predeterminat a 48%"
+msgstr "Estableix l'amplada per defecte del contingut. Per defecte, 48%"
#: ../../view/theme/apw/php/config.php:279
msgid "Set color of fonts - use hex"
-msgstr "Ajusta el color del tipus de lletra - empra codi hexadecimal"
+msgstr "Estableix el color del text (en notació hexadecimal)"
#: ../../view/theme/apw/php/config.php:280
msgid "Set background-size element"
-msgstr "Ajusta la mida de l'element en segon pla"
+msgstr "Estableix la mida de la imatge de fons (background-size)"
#: ../../view/theme/apw/php/config.php:281
msgid "Item opacity"
-msgstr "Opacitat de l'article"
+msgstr "Opacitat dels elements"
#: ../../view/theme/apw/php/config.php:282
msgid "Display post previews only"
-msgstr "Mostra tan sols les previsualitzacions de les entrades"
+msgstr "Mostra només previsualitzacions d'entrades"
#: ../../view/theme/apw/php/config.php:283
msgid "Display side bar on channel page"
@@ -8874,7 +8970,7 @@ msgstr "Color de la barra de navegació"
#: ../../view/theme/apw/php/config.php:285
msgid "Item float"
-msgstr "Article flotant"
+msgstr "Paràmetre \"float\" dels elements"
#: ../../view/theme/apw/php/config.php:286
msgid "Left offset of the section element"
@@ -8930,11 +9026,11 @@ msgstr "Gradient de color de la part inferior del botó actiu de la barra de nav
#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation bar border color "
-msgstr "Color de la barra de navegació"
+msgstr "Color de la vora de la barra de navegació"
#: ../../view/theme/redbasic/php/config.php:111
msgid "Navigation bar icon color "
-msgstr "Color de la icona de la barra de navegació"
+msgstr "Color bàsic de la icona de la barra de navegació"
#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar active icon color "
@@ -8942,47 +9038,47 @@ msgstr "Color de la icona de la barra de navegació activa"
#: ../../view/theme/redbasic/php/config.php:113
msgid "link color"
-msgstr "Color d'enllaç"
+msgstr "color dels enllaços"
#: ../../view/theme/redbasic/php/config.php:114
msgid "Set font-color for banner"
-msgstr "Ajusta el color del tipus de lletra per la senyera"
+msgstr "Estableix el color de lletra del rètol"
#: ../../view/theme/redbasic/php/config.php:115
msgid "Set the background color"
-msgstr "Ajusta el color de fons"
+msgstr "Estableix el color de fons"
#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background image"
-msgstr "Ajusta la imatge de fons"
+msgstr "Estableix la imatge de fons"
#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the background color of items"
-msgstr "ajusta el color dels articles de fons"
+msgstr "Estableix el color de fons dels elements"
#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the background color of comments"
-msgstr "Ajusta el color dels comentaris en segon pla"
+msgstr "Estableix el color de fons dels comentaris"
#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the border color of comments"
-msgstr "Canviar el color del marge dels comentaris"
+msgstr "Estableix el color de la vora dels comentaris"
#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the indent for comments"
-msgstr "ajusta l'indentació dels comentaris"
+msgstr "Estableix el sagnat dels comentaris"
#: ../../view/theme/redbasic/php/config.php:121
msgid "Set the basic color for item icons"
-msgstr "ajusta el color basic per les icones dels articles"
+msgstr "Estableix el color bàsic de les icones dels elements"
#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the hover color for item icons"
-msgstr "Ajusta el color de la libració de les icones dels articles"
+msgstr "Estableix el color de les icones dels elements en passar-hi per damunt"
#: ../../view/theme/redbasic/php/config.php:123
msgid "Set font-size for the entire application"
-msgstr "Ajusta la mida del tipus de lletra per tota l'aplicació"
+msgstr "Estableix la mida de lletra per tota l'aplicació"
#: ../../view/theme/redbasic/php/config.php:123
msgid "Example: 14px"
@@ -8990,49 +9086,49 @@ msgstr "Exemple: 14px"
#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-color for posts and comments"
-msgstr "Ajusta el color del tipus de lletra per entrades i comentaris"
+msgstr "Estableix el color del text d'entrades i comentaris"
#: ../../view/theme/redbasic/php/config.php:126
msgid "Set radius of corners"
-msgstr "Ajusta el radi de les cantonades"
+msgstr "Estableix el radi de les cantonades"
#: ../../view/theme/redbasic/php/config.php:127
msgid "Set shadow depth of photos"
-msgstr "Ajusta la profunditat d'ombres de les fotos"
+msgstr "Estableix la profunditat d'ombres de les fotos"
#: ../../view/theme/redbasic/php/config.php:128
msgid "Set maximum width of content region in pixel"
-msgstr "Ajusta l'amplada màxima de la zona de contingut en pixels"
+msgstr "Estableix l'amplada màxima de la zona de contingut en píxels"
#: ../../view/theme/redbasic/php/config.php:128
msgid "Leave empty for default width"
-msgstr "Deixa en blanc per l'amplada predeterminada"
+msgstr "Deixa-ho en blanc per fixar a l'amplada per defecte."
#: ../../view/theme/redbasic/php/config.php:129
msgid "Center page content"
-msgstr "Contingut del centre de la pàgina"
+msgstr "Centra el contingut de la pàgina"
#: ../../view/theme/redbasic/php/config.php:130
msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Ajusta la opacitat mínima de la harra de navegació - per amagar-la"
+msgstr "Estableix la opacitat mínima de la barra de navegació per ser amagada"
#: ../../view/theme/redbasic/php/config.php:131
msgid "Set size of conversation author photo"
-msgstr "Ajusta la mida de la foto del autor a la conversa"
+msgstr "Estableix la mida de la foto de conversa de l'autor"
#: ../../view/theme/redbasic/php/config.php:132
msgid "Set size of followup author photos"
-msgstr "Ajusta la mida del seguidor de les fotos de l'autor"
+msgstr "Estableix la mida de les fotos de seguiment de l'autor"
#: ../../boot.php:1356
#, php-format
msgid "Update %s failed. See error logs."
-msgstr "L'actualització %s ha fallat. Mira el registre d'errors."
+msgstr "L'actualització %s ha fallat. Consulta el registre d'errors."
#: ../../boot.php:1359
#, php-format
msgid "Update Error at %s"
-msgstr "Error d'Actualització a %s"
+msgstr "Error d'actualització a %s"
#: ../../boot.php:1526
msgid ""
@@ -9049,26 +9145,26 @@ msgstr "Recorda'm"
#: ../../boot.php:1558
msgid "Forgot your password?"
-msgstr "Has perdut la Contrasenya?"
+msgstr "Has perdut la contrasenya?"
-#: ../../boot.php:2178
+#: ../../boot.php:2182
msgid "toggle mobile"
-msgstr "canvia a format per a mòbils"
+msgstr "commuta format mòbil/escriptori"
-#: ../../boot.php:2313
+#: ../../boot.php:2317
msgid "Website SSL certificate is not valid. Please correct."
-msgstr "El certificat SSL és invalid, soluciona-ho, si us plau."
+msgstr "El certificat SSL és invàlid. Cal arreglar-ho."
-#: ../../boot.php:2316
+#: ../../boot.php:2320
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] Error de SSL per la web %s"
-#: ../../boot.php:2353
+#: ../../boot.php:2357
msgid "Cron/Scheduled tasks not running."
msgstr "No s'estan executan les tasques programades al cron."
-#: ../../boot.php:2357
+#: ../../boot.php:2361
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr "[red] No s'estan executan les tasques programades del cron a %s"
diff --git a/view/ca/strings.php b/view/ca/strings.php
index c263bafba..87753bdb2 100644
--- a/view/ca/strings.php
+++ b/view/ca/strings.php
@@ -5,312 +5,194 @@ function string_plural_select_ca($n){
return ($n != 1);;
}}
;
-App::$strings["Cannot locate DNS info for database server '%s'"] = "No s'ha trobat informació de DNS pel servidor de base de dades '%s'";
-App::$strings["Profile Photos"] = "Fotos del Perfil";
-App::$strings["Edit"] = "Edita";
-App::$strings["Frequently"] = "Freqüentment";
-App::$strings["Hourly"] = "Horariament";
-App::$strings["Twice daily"] = "Dos vegades al dia";
-App::$strings["Daily"] = "Diariament";
-App::$strings["Weekly"] = "Setmanalment";
-App::$strings["Monthly"] = "Mensualment";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "Correu electrónic";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot!"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["created a new post"] = "Creada una nova entrada";
-App::$strings["commented on %s's post"] = "comentat a l'entrada de %s";
-App::$strings["No username found in import file."] = "No s'ha trobat nom d'usuari a l'arxiu d'importació.";
+App::$strings["No username found in import file."] = "No s'ha trobat cap nom d'usuari a l'arxiu d'importació.";
App::$strings["Unable to create a unique channel address. Import failed."] = "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear.";
App::$strings["Import completed."] = "S'ha completat la importació.";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent.";
-App::$strings["Default privacy group for new contacts"] = "Privacitat de grup predeterminada per a contactes nous";
-App::$strings["All Channels"] = "Tots els Canals";
-App::$strings["edit"] = "edita";
-App::$strings["Collections"] = "Col·leccions";
-App::$strings["Edit collection"] = "Edita col·leccions";
-App::$strings["Add new collection"] = "Afegeix una nova col·lecció";
-App::$strings["Channels not in any collection"] = "Canals a cap col·lecció";
-App::$strings["add"] = "afegeix";
-App::$strings["Not a valid email address"] = "Adreça de correu electrònic no vàlida";
-App::$strings["Your email domain is not among those allowed on this site"] = "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc";
-App::$strings["Your email address is already registered at this site."] = "La teva adreça de correu electrònic ja esta registrada en aquest lloc";
-App::$strings["An invitation is required."] = "Es requereix Invitació";
-App::$strings["Invitation could not be verified."] = "L'invitació no ha pogut ser verificada";
-App::$strings["Please enter the required information."] = "Entra la informació sol·licitada";
-App::$strings["Failed to store account information."] = "Ha fallat guardar la informació del compte";
-App::$strings["Registration confirmation for %s"] = "Registre confirmat per %s";
-App::$strings["Registration request at %s"] = "Sol·licitud de registre a %s";
+App::$strings["parent"] = "amunt";
+App::$strings["Collection"] = "Col·lecció";
+App::$strings["Principal"] = "Principal";
+App::$strings["Addressbook"] = "Llista d'adreces";
+App::$strings["Calendar"] = "Calendari";
+App::$strings["Schedule Inbox"] = "Programa la bústia d'entrada";
+App::$strings["Schedule Outbox"] = "Programa la bústia de sortida";
+App::$strings["Unknown"] = "Desconegut";
+App::$strings["%1\$s used"] = "Hi ha %1\$s en ús";
+App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "Hi ha en ús %1\$s de %2\$s (%3\$s&#37;)";
+App::$strings["Files"] = "Arxius";
+App::$strings["Total"] = "Total";
+App::$strings["Shared"] = "Compartit";
+App::$strings["Create"] = "Crea";
+App::$strings["Upload"] = "Puja";
+App::$strings["Name"] = "Nom";
+App::$strings["Type"] = "Tipus";
+App::$strings["Size"] = "Mida";
+App::$strings["Last Modified"] = "Darrera modificació";
+App::$strings["Edit"] = "Edita";
+App::$strings["Delete"] = "Esborra";
+App::$strings["Create new folder"] = "Crea una carpeta nova";
+App::$strings["Upload file"] = "Puja arxiu";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "No s'ha trobat informació de DNS pel servidor de base de dades '%s'";
+App::$strings["Profile Photos"] = "Fotos del Perfil";
+App::$strings["Logout"] = "Desconectar";
+App::$strings["End this session"] = "Finalitza aquesta sessió";
+App::$strings["Home"] = "Personal";
+App::$strings["Your posts and conversations"] = "Les teves entrades i converses";
+App::$strings["View Profile"] = "Veure Perfil";
+App::$strings["Your profile page"] = "La teva pàgina de perfil";
+App::$strings["Edit Profiles"] = "Editar Perfils";
+App::$strings["Manage/Edit profiles"] = "Gestiona/Edita perfils";
+App::$strings["Edit Profile"] = "Edita Perfil";
+App::$strings["Edit your profile"] = "Edita el teu perfil";
+App::$strings["Photos"] = "Fotos";
+App::$strings["Your photos"] = "Les Teves Fotos";
+App::$strings["Your files"] = "Els teus arxius";
+App::$strings["Chat"] = "Xerrar";
+App::$strings["Your chatrooms"] = "Les teves sales de xerrar";
+App::$strings["Bookmarks"] = "Marcadors";
+App::$strings["Your bookmarks"] = "Els teus marcadors";
+App::$strings["Webpages"] = "Pàgines web";
+App::$strings["Your webpages"] = "Les teves pàgines web";
+App::$strings["Login"] = "Identifica't";
+App::$strings["Sign in"] = "Signatura";
+App::$strings["%s - click to logout"] = "%s - click per desconectar";
+App::$strings["Remote authentication"] = "Autenticació remota";
+App::$strings["Click to authenticate to your home hub"] = "Click per autentificar-te en el teu Lloc ";
+App::$strings["Home Page"] = "Pàgina Personal";
+App::$strings["Register"] = "Registre";
+App::$strings["Create an account"] = "Crear un compte";
+App::$strings["Help"] = "Ajuda";
+App::$strings["Help and documentation"] = "Ajuda i documentació";
+App::$strings["Apps"] = "Aplicatius";
+App::$strings["Applications, utilities, links, games"] = "Aplicacions, utilitats, enllaços, jocs";
+App::$strings["Search"] = "Cerca";
+App::$strings["Search site content"] = "Cerca en el contingut del lloc";
+App::$strings["Directory"] = "Directori";
+App::$strings["Channel Directory"] = "Directori de Canals";
+App::$strings["Matrix"] = "Matriu/Matrix";
+App::$strings["Your matrix"] = "El teu matrix";
+App::$strings["Mark all matrix notifications seen"] = "Marca totes les notificacions de matrix vistes";
+App::$strings["Channel Home"] = "Canal Personal";
+App::$strings["Channel home"] = "Canal personal";
+App::$strings["Mark all channel notifications seen"] = "Marca totes les notificacions de canal vistes";
+App::$strings["Connections"] = "Connexions";
+App::$strings["Notices"] = "Noticies";
+App::$strings["Notifications"] = "Notificacions";
+App::$strings["See all notifications"] = "Veure totes les Notificacions";
+App::$strings["Mark all system notifications seen"] = "Marca totes les notificacions vistes";
+App::$strings["Mail"] = "Correu";
+App::$strings["Private mail"] = "Correu privat";
+App::$strings["See all private messages"] = "Veure tots els missatges privats";
+App::$strings["Mark all private messages seen"] = "Marcar tots els missatges privats vistos";
+App::$strings["Inbox"] = "Safata d'entrada";
+App::$strings["Outbox"] = "Safata de sortida";
+App::$strings["New Message"] = "Escriu un missatge";
+App::$strings["Events"] = "Events";
+App::$strings["Event Calendar"] = "Calendari d'Events";
+App::$strings["See all events"] = "Veure tots els events";
+App::$strings["Mark all events seen"] = "Marcar tots els events vistos";
+App::$strings["Channel Manager"] = "Gestor del Canal";
+App::$strings["Manage Your Channels"] = "Gestiona els Teus Canals";
+App::$strings["Settings"] = "Configuració";
+App::$strings["Account/Channel Settings"] = "Ajustos de Compte/Canal";
+App::$strings["Admin"] = "Admin";
+App::$strings["Site Setup and Configuration"] = "Ajustos i Configuració del Lloc";
+App::$strings["Loading..."] = "Carregant...";
+App::$strings["@name, #tag, content"] = "@name, #tag, content";
+App::$strings["Please wait..."] = "Si us plau, espera.......";
+App::$strings["view full size"] = "Mostra a mida competa";
+App::$strings["\$Projectname Notification"] = "Notificació de \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Gràcies,";
+App::$strings["%s Administrator"] = "Administrador de %s";
App::$strings["Administrator"] = "Administrador";
-App::$strings["your registration password"] = "la teva contrasenya registrada";
-App::$strings["Registration details for %s"] = "Detalls del registre per %s";
-App::$strings["Account approved."] = "Compte aprovat.";
-App::$strings["Registration revoked for %s"] = "Registre revocat per %s";
-App::$strings["Account verified. Please login."] = "Compte verificat. Si us plau, inicia sessió.";
-App::$strings["Click here to upgrade."] = "Feu clic aquí per actualitzar.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Aquesta acció és superior als límits establerts pel seu pla de subscripció.";
-App::$strings["This action is not available under your subscription plan."] = "Aquesta acció no està disponible en el seu pla de subscripció.";
-App::$strings["Miscellaneous"] = "Miscelania";
-App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD o MM-DD";
-App::$strings["Required"] = "Requerit";
-App::$strings["never"] = "mai";
-App::$strings["less than a second ago"] = "fa menys d'un segon";
-App::$strings["year"] = "any";
-App::$strings["years"] = "anys";
-App::$strings["month"] = "mes";
-App::$strings["months"] = "mesos";
-App::$strings["week"] = "setmana";
-App::$strings["weeks"] = "setmanes";
-App::$strings["day"] = "dia";
-App::$strings["days"] = "dies";
-App::$strings["hour"] = "hora";
-App::$strings["hours"] = "hores";
-App::$strings["minute"] = "minut";
-App::$strings["minutes"] = "minuts";
-App::$strings["second"] = "segon";
-App::$strings["seconds"] = "segons";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "Fa %1\$d i %2\$s";
-App::$strings["%1\$s's birthday"] = "Aniversari de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Feliç Aniversari %1\$s";
-App::$strings["Directory Options"] = "Opcions de Directori";
-App::$strings["Safe Mode"] = "Mode Segur";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Sí";
-App::$strings["Public Forums Only"] = "Només Fòrums Públics";
-App::$strings["This Website Only"] = "Només Aquest Lloc Web";
-App::$strings["New Page"] = "Pàgina Nova";
-App::$strings["View"] = "Mostra";
-App::$strings["Preview"] = "Avanç";
-App::$strings["Actions"] = "Accions";
-App::$strings["Page Link"] = "Enllaç a Pàgina";
-App::$strings["Title"] = "Títol";
-App::$strings["Created"] = "Creat";
-App::$strings["Edited"] = "Editat";
-App::$strings["Public Timeline"] = "Línia de Temps Pública";
-App::$strings["Default"] = "Predeterminat";
-App::$strings["Delete this item?"] = "Esborrar aquest item?";
-App::$strings["Comment"] = "Comentari";
-App::$strings["[+] show all"] = "[+] mostra tot";
-App::$strings["[-] show less"] = "[-] mostra menys";
-App::$strings["[+] expand"] = "[+] expandeix";
-App::$strings["[-] collapse"] = "[-] colapsa";
-App::$strings["Password too short"] = "Contrasenya massa curta";
-App::$strings["Passwords do not match"] = "Les paraules de pas no coincideixen";
-App::$strings["everybody"] = "tothom";
-App::$strings["Secret Passphrase"] = "Contrasenya Secreta";
-App::$strings["Passphrase hint"] = "Pista per la Contrasenya";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Avis: Els permisos han canviat però encara no han estat enviats.";
-App::$strings["close all"] = "tanca tot";
-App::$strings["Nothing new here"] = "Res de nou per aquí";
-App::$strings["Rate This Channel (this is public)"] = "Valora Aquest Canal (això es farà públic)";
-App::$strings["Rating"] = "Valora";
-App::$strings["Describe (optional)"] = "Descriu (opcional)";
-App::$strings["Submit"] = "Presenta";
-App::$strings["Please enter a link URL"] = "Si us plau, entra l'enllaç URL";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?";
-App::$strings["timeago.prefixAgo"] = "horapasada.prefixFa";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "fa";
-App::$strings["from now"] = "des d'ara";
-App::$strings["less than a minute"] = "menys d'un minut";
-App::$strings["about a minute"] = "prop d'un minut";
-App::$strings["%d minutes"] = "%d minuts";
-App::$strings["about an hour"] = "prop d'una hora";
-App::$strings["about %d hours"] = "al voltant de %d hores";
-App::$strings["a day"] = "un dia";
-App::$strings["%d days"] = "%d dies";
-App::$strings["about a month"] = "prop d'un mes";
-App::$strings["%d months"] = "%d mesos";
-App::$strings["about a year"] = "prop d'un any";
-App::$strings["%d years"] = "%d anys";
-App::$strings[" "] = " ";
-App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["prev"] = "prev";
+App::$strings["No Subject"] = "Sense assumpte";
+App::$strings["prev"] = "anterior";
App::$strings["first"] = "primer";
App::$strings["last"] = "últim";
-App::$strings["next"] = "pròxim";
-App::$strings["older"] = "el més antic";
-App::$strings["newer"] = "El més nou";
-App::$strings["No connections"] = "Sense Connexions";
+App::$strings["next"] = "següent";
+App::$strings["older"] = "més antic";
+App::$strings["newer"] = "més nou";
+App::$strings["No connections"] = "No hi ha connexions";
App::$strings["%d Connection"] = array(
- 0 => "%d Connexió",
- 1 => "%d Connexions",
+ 0 => "Hi ha %d connexió",
+ 1 => "Hi ha %d connexions",
);
-App::$strings["View Connections"] = "Veure Connexions";
-App::$strings["Search"] = "Cerca";
-App::$strings["Save"] = "Guardar";
-App::$strings["poke"] = "emprenya";
-App::$strings["poked"] = "emprenyat";
-App::$strings["ping"] = "coloca";
-App::$strings["pinged"] = "colocat";
-App::$strings["prod"] = "picar";
-App::$strings["prodded"] = "picat";
-App::$strings["slap"] = "bufetada";
-App::$strings["slapped"] = "bufetejat";
-App::$strings["finger"] = "senyal";
-App::$strings["fingered"] = "senyalat";
-App::$strings["rebuff"] = "menyspreu";
-App::$strings["rebuffed"] = "menyspreuat";
+App::$strings["View Connections"] = "Mostra les connexions";
+App::$strings["Save"] = "Desa";
+App::$strings["poke"] = "fes-li un toc";
+App::$strings["poked"] = "ha fet un toc a";
+App::$strings["ping"] = "fes-li ping";
+App::$strings["pinged"] = "ha fet ping a";
+App::$strings["prod"] = "pica";
+App::$strings["prodded"] = "ha picat";
+App::$strings["slap"] = "fes-li un cop de palmell";
+App::$strings["slapped"] = "ha fet un cop de palmell a";
+App::$strings["finger"] = "acaricia";
+App::$strings["fingered"] = "ha acariciat";
+App::$strings["rebuff"] = "aparta";
+App::$strings["rebuffed"] = "ha apartat";
App::$strings["happy"] = "feliç";
App::$strings["sad"] = "trist";
-App::$strings["mellow"] = "melós";
+App::$strings["mellow"] = "tendre";
App::$strings["tired"] = "cansat";
-App::$strings["perky"] = "turgent";
+App::$strings["perky"] = "animat";
App::$strings["angry"] = "enfadat";
App::$strings["stupified"] = "encantat";
-App::$strings["puzzled"] = "perplexe";
+App::$strings["puzzled"] = "perplex";
App::$strings["interested"] = "Interessat";
App::$strings["bitter"] = "amargat";
-App::$strings["cheerful"] = "feliç";
+App::$strings["cheerful"] = "alegre";
App::$strings["alive"] = "viu";
App::$strings["annoyed"] = "molest";
App::$strings["anxious"] = "ansiós";
-App::$strings["cranky"] = "malagaitós";
+App::$strings["cranky"] = "de mala bava";
App::$strings["disturbed"] = "transtornat";
App::$strings["frustrated"] = "frustrat";
App::$strings["depressed"] = "deprimit";
App::$strings["motivated"] = "motivat";
App::$strings["relaxed"] = "relaxat";
App::$strings["surprised"] = "sorprès";
-App::$strings["Monday"] = "Dilluns";
-App::$strings["Tuesday"] = "Dimarts";
-App::$strings["Wednesday"] = "Dimecres";
-App::$strings["Thursday"] = "Dijous";
-App::$strings["Friday"] = "Divendres";
-App::$strings["Saturday"] = "Dissabte";
-App::$strings["Sunday"] = "Diumenge";
-App::$strings["January"] = "Gener";
-App::$strings["February"] = "Febrer";
-App::$strings["March"] = "Març";
-App::$strings["April"] = "Abril";
-App::$strings["May"] = "Maig";
-App::$strings["June"] = "Juny";
-App::$strings["July"] = "Juliol";
-App::$strings["August"] = "Agost";
-App::$strings["September"] = "Setembre";
-App::$strings["October"] = "Octubre";
-App::$strings["November"] = "Novembre";
-App::$strings["December"] = "Desembre";
+App::$strings["Monday"] = "dilluns";
+App::$strings["Tuesday"] = "dimarts";
+App::$strings["Wednesday"] = "dimecres";
+App::$strings["Thursday"] = "dijous";
+App::$strings["Friday"] = "divendres";
+App::$strings["Saturday"] = "dissabte";
+App::$strings["Sunday"] = "diumenge";
+App::$strings["January"] = "gener";
+App::$strings["February"] = "febrer";
+App::$strings["March"] = "març";
+App::$strings["April"] = "abril";
+App::$strings["May"] = "maig";
+App::$strings["June"] = "juny";
+App::$strings["July"] = "juliol";
+App::$strings["August"] = "agost";
+App::$strings["September"] = "setembre";
+App::$strings["October"] = "octubre";
+App::$strings["November"] = "novembre";
+App::$strings["December"] = "desembre";
App::$strings["unknown.???"] = "desconegut.???";
App::$strings["bytes"] = "bytes";
-App::$strings["remove category"] = "elimina categoria";
-App::$strings["remove from file"] = "elimina del arxiu";
-App::$strings["Click to open/close"] = "Clic per obrir/tancar";
-App::$strings["Link to Source"] = "Enllaç a la Font";
+App::$strings["remove category"] = "elimina la categoria";
+App::$strings["remove from file"] = "elimina de l'arxiu";
+App::$strings["Click to open/close"] = "Fes clic per obrir/tancar";
+App::$strings["Link to Source"] = "Enllaç a la font";
App::$strings["default"] = "per defecte";
-App::$strings["Page layout"] = "Format de la pàgina";
-App::$strings["You can create your own with the layouts tool"] = "Pots crear el teu propi amb l'editor de format de pàgina.";
+App::$strings["Page layout"] = "Disseny de la pàgina";
+App::$strings["You can create your own with the layouts tool"] = "Pots crear el teu propi disseny de pàgina amb l'editor";
App::$strings["Page content type"] = "Tipus de contingut de la pàgina";
App::$strings["Select an alternate language"] = "Tria un idioma alternatiu";
App::$strings["photo"] = "foto";
-App::$strings["event"] = "succés";
+App::$strings["event"] = "esdeveniment";
App::$strings["status"] = "estat";
App::$strings["comment"] = "comentari";
App::$strings["activity"] = "activitat";
App::$strings["Design Tools"] = "Eines de disseny";
-App::$strings["Blocks"] = "Bloc";
+App::$strings["Blocks"] = "Blocs";
App::$strings["Menus"] = "Menús";
-App::$strings["Layouts"] = "Format Gràfic";
+App::$strings["Layouts"] = "Dissenys";
App::$strings["Pages"] = "Pàgines";
-App::$strings["Collection"] = "Col·lecció";
-App::$strings["parent"] = "pare";
-App::$strings["Principal"] = "Principal";
-App::$strings["Addressbook"] = "Llista d'Adreçes";
-App::$strings["Calendar"] = "Calendari";
-App::$strings["Schedule Inbox"] = "Programació de la bústia d'entrada";
-App::$strings["Schedule Outbox"] = "Programació de la bústia de sortida";
-App::$strings["Unknown"] = "Desconegut";
-App::$strings["%1\$s used"] = "%1\$s emprat";
-App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s emprat de %2\$s (%3\$s&#37;)";
-App::$strings["Files"] = "Arxius";
-App::$strings["Total"] = "Total";
-App::$strings["Shared"] = "Compartit";
-App::$strings["Create"] = "Creada";
-App::$strings["Upload"] = "Pujar";
-App::$strings["Name"] = "Nom";
-App::$strings["Type"] = "Tipus";
-App::$strings["Size"] = "Mida";
-App::$strings["Last Modified"] = "Últim Modificat";
-App::$strings["Delete"] = "Esborra";
-App::$strings["Create new folder"] = "Crea una nova carpeta";
-App::$strings["Upload file"] = "Puja arxiu";
-App::$strings["%1\$s's bookmarks"] = "%1\$s de marcadors";
-App::$strings["view full size"] = "Veure a mida competa";
-App::$strings["\$Projectname Notification"] = "Notificació de \$Projectname";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Gràcies,";
-App::$strings["%s Administrator"] = "%s Administrador";
-App::$strings["No Subject"] = "Sense Assumpte";
-App::$strings["General Features"] = "Característiques Generals";
-App::$strings["Content Expiration"] = "Expiració del Contingut";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "elimina entrades/comentaris i/o missatges privats de aquí en endevant.";
-App::$strings["Multiple Profiles"] = "Multiples Perfils";
-App::$strings["Ability to create multiple profiles"] = "Capacitat per crear multiples perfils";
-App::$strings["Advanced Profiles"] = "Perfils Avançats";
-App::$strings["Additional profile sections and selections"] = "Seccions i seleccions addicionals de perfils ";
-App::$strings["Profile Import/Export"] = "Importar/Exportar Perfil";
-App::$strings["Save and load profile details across sites/channels"] = "Guarda i carrega els detalls del perfil al llarg dels llocs/canals";
-App::$strings["Web Pages"] = "Pàgines Web";
-App::$strings["Provide managed web pages on your channel"] = "Proporcionar pàgines web gestionades al seu canal";
-App::$strings["Private Notes"] = "Notes Privades";
-App::$strings["Enables a tool to store notes and reminders"] = "Activa l'eina per guardar notes i recordatoris";
-App::$strings["Navigation Channel Select"] = "Navegació pel Selector de Canals";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Canvieu els canals directament des del menú desplegable de navegació";
-App::$strings["Photo Location"] = "Ubicació de la Photo";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si los datos de ubicación están disponibles en las fotos subidas, vincular a un mapa.";
-App::$strings["Expert Mode"] = "Mode Expert";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activar Mode Expert per a proporcionar opcions avançades de configuració";
-App::$strings["Premium Channel"] = "Canal Superior";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal";
-App::$strings["Post Composition Features"] = "Característiques de Composició d'Entrades";
-App::$strings["Use Markdown"] = "Us d'Abreviatures";
-App::$strings["Allow use of \"Markdown\" to format posts"] = "Permet emprat \"Abreviatures\" per formatar entrades";
-App::$strings["Large Photos"] = "Grans Fotos";
-App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Inclou gran (640px) foto de miniatura a les entrades. Si no està activat, empra petita (320px) foto de miniatura.";
-App::$strings["Channel Sources"] = "Canal Origen";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automàticament el contingut del canal des de altres canals o feeds";
-App::$strings["Even More Encryption"] = "Encara Més Encriptació";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida";
-App::$strings["Enable voting tools"] = "Habilitar eines de vot";
-App::$strings["Provide a class of post which others can vote on"] = "Proporcionar una classe d'entrada que altres puguin votar";
-App::$strings["Network and Stream Filtering"] = "Filtrat de Xarxa i Flux";
-App::$strings["Search by Date"] = "Cerca per Data";
-App::$strings["Ability to select posts by date ranges"] = "Capacitat per seleccionar entrades per rang de dates";
-App::$strings["Collections Filter"] = "Filtre de Col·leccions";
-App::$strings["Enable widget to display Network posts only from selected collections"] = "Habilitar giny per mostrar les entrades de xarxa únicament de les col·leccions seleccionades";
-App::$strings["Saved Searches"] = "Cerques Guardades";
-App::$strings["Save search terms for re-use"] = "Guardar els termin de la cerca per a re-usar";
-App::$strings["Network Personal Tab"] = "Pestanya Personal de Xarxa";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activa pestanya per mostrar només les entrades de xarxa en els que has intervingut";
-App::$strings["Network New Tab"] = "Nova Pestanya de Xarxa";
-App::$strings["Enable tab to display all new Network activity"] = "Activa pestanya per mostrar tota l'activitat nova de la Xarxa";
-App::$strings["Affinity Tool"] = "Eina d'Afinitat";
-App::$strings["Filter stream activity by depth of relationships"] = "Filtre d'activitat del flux per importància de la relació";
-App::$strings["Connection Filtering"] = "Filtre de Connexió";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut ";
-App::$strings["Suggest Channels"] = "Suggerir Canals";
-App::$strings["Show channel suggestions"] = "Mostra suggerencies de canals";
-App::$strings["Post/Comment Tools"] = "Eina d'Entrades/Comentaris";
-App::$strings["Tagging"] = "Etiquetant";
-App::$strings["Ability to tag existing posts"] = "Capacitat d'etiquetar entrades existents";
-App::$strings["Post Categories"] = "Categories d'Entrades";
-App::$strings["Add categories to your posts"] = "Afegeix categoria a la teva entrada";
-App::$strings["Saved Folders"] = "Carpetes Guardades";
-App::$strings["Ability to file posts under folders"] = "Capacitat de arxivar entrades en les carpetes";
-App::$strings["Dislike Posts"] = "No Agrada l'Entrada";
-App::$strings["Ability to dislike posts/comments"] = "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris";
-App::$strings["Star Posts"] = "Entrades Excel·lents";
-App::$strings["Ability to mark special posts with a star indicator"] = "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia";
-App::$strings["Tag Cloud"] = "Núvol d'Etiquetes.";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal";
App::$strings["Categories"] = "Categories";
-App::$strings["Apps"] = "Aplicatius";
App::$strings["System"] = "Sistema";
App::$strings["Personal"] = "Personal";
App::$strings["Create Personal App"] = "Crear Personal App";
@@ -325,6 +207,9 @@ App::$strings["Enter the channel address"] = "Introdueix la adreça del canal";
App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Exemple: pep@exemple.com, http://exemple.com/vinyet";
App::$strings["Notes"] = "Notes";
App::$strings["Remove term"] = "Plaç de remoció";
+App::$strings["Saved Searches"] = "Cerques desades";
+App::$strings["add"] = "afegeix";
+App::$strings["Saved Folders"] = "Carpetes Guardades";
App::$strings["Everything"] = "Tot";
App::$strings["Archives"] = "Arxius";
App::$strings["Me"] = "Jo";
@@ -342,96 +227,48 @@ App::$strings["Connected apps"] = "Apps connectades";
App::$strings["Export channel"] = "Exportat canal";
App::$strings["Connection Default Permissions"] = "Permisos per Defecte de la Connexió";
App::$strings["Premium Channel Settings"] = "Ajustos Premium de Canal";
-App::$strings["Settings"] = "Ajustos";
+App::$strings["Channel Sources"] = "Fonts del canal";
App::$strings["Messages"] = "Missatges";
-App::$strings["Check Mail"] = "Comprovar Correu";
-App::$strings["New Message"] = "Nou Missatge";
-App::$strings["Chat Rooms"] = "Sales de Xat";
-App::$strings["Bookmarked Chatrooms"] = "Sales de Xat Favorites";
+App::$strings["Check Mail"] = "Comprova el correu";
+App::$strings["Chat Rooms"] = "Sales de xat";
+App::$strings["Bookmarked Chatrooms"] = "Sales de xat preferides";
App::$strings["Suggested Chatrooms"] = "Sales de Xat Suggerides";
App::$strings["photo/image"] = "foto/imatge";
App::$strings["Rate Me"] = "Valora'm";
-App::$strings["View Ratings"] = "Veure Valoracions";
+App::$strings["View Ratings"] = "Mostra les valoracions";
App::$strings["Public Hubs"] = "Concentradors Públics";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Starts:"] = "Inicia:";
-App::$strings["Finishes:"] = "Acaba:";
-App::$strings["Location:"] = "Localització:";
-App::$strings["This event has been added to your calendar."] = "Aquest succés ha estat afegit al teu calendari.";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Red:Notify] New mail received at %s"] = "[Red:Notificació] Un nou missatge s'ha rebut a %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s t'ha enviat un nou missatge privat a %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s t'ha enviat %2\$s.";
-App::$strings["a private message"] = "un missatge privat";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Per favor, visita %s per a veure i/o respondre els teus missatges privats.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]a %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]%4\$s de %5\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]el teu %4\$s[/zrl]";
-App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notify] Comentari a la conversa #%1\$d per %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentat en un article/conversa que havies estat seguint.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Si us plau visita %s per veure i/o contestar a la conversa";
-App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Avís] %s ha escrit una entrada al teu mur";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha escrit una entrada al teu mur en %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s enviat correu a [zrl=%3\$s]el teu mur[/zrl]";
-App::$strings["[Red:Notify] %s tagged you"] = "[Red:Notificació] %s t'ha etiquetat";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s t'ha etiquetat a %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]t'ha etiquetat[/zrl].";
-App::$strings["[Red:Notify] %1\$s poked you"] = "[Red:Avís] %1\$s s'en fot de tu";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s s'en fot de tú a %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]s'en fot de tú[/zrl].";
-App::$strings["[Red:Notify] %s tagged your post"] = "[Red:Avís] %s ha etiquetat la teva entrada";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetat la teva entrada a %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s etiquetat [zrl=%3\$s]la teva entrada[/zrl]";
-App::$strings["[Red:Notify] Introduction received"] = "[Red:Avís] Presentació rebuda";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, has rebut una nova petició de connexió de '%2\$s' a %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, has rebut [zrl=%2\$s]una nova petició de connexió[/zrl] de %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Pots visitar el seu perfil a %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Si us plau, visita %s per aprovar o rebutjar la petició de connexió.";
-App::$strings["[Red:Notify] Friend suggestion received"] = "[Red:Notificació] Rebuda suggerencia d'amistat";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, has rebut una suggerència d'amistat de '%2\$s' a %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, has rebut [zrl=%2\$s]una suggerència d'amistat[/zrl] per %3\$s de %4\$s.";
-App::$strings["Name:"] = "Nom:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Per favor, visita %s per a aprovar o rebutjar la suggerencia.";
-App::$strings["[Red:Notify]"] = "[Red:Notificació]";
+App::$strings["New window"] = "Nova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Obrir la localització seleccionada en un altre finestra o pestanya del navegador";
+App::$strings["User '%s' deleted"] = "usuari '%s' esborrat";
App::$strings["No recipient provided."] = "No s'ha proporcionat bústia.";
App::$strings["[no subject]"] = "[no subject]";
App::$strings["Unable to determine sender."] = "incapaç de determinar el remitent";
App::$strings["Stored post could not be verified."] = "L'entrada guardada no pot ser verificada";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s agrada %2\$s de %3\$s";
-App::$strings["Please choose"] = "Escull";
-App::$strings["Agree"] = "A favor";
-App::$strings["Disagree"] = "En contra";
-App::$strings["Abstain"] = "Abstenció";
-App::$strings["Channel is blocked on this site."] = "El canal està bloquejat en aquest lloc.";
-App::$strings["Channel location missing."] = "Ubicació del canal perduda.";
-App::$strings["Response from remote channel was incomplete."] = "La resposta del canal remot fou incompleta.";
-App::$strings["Channel was deleted and no longer exists."] = "El canal fou esborrat i actualment no existeix.";
-App::$strings["Protocol disabled."] = "Protocol desactivat.";
-App::$strings["Protocol blocked for this channel."] = "El protocol està bloquejat per a aquest canal.";
-App::$strings["Channel discovery failed."] = "Descobriment de canal fallit.";
-App::$strings["local account not found."] = "compte local no trobat.";
-App::$strings["Cannot connect to yourself."] = "No pots connectar amb tu mateix.";
+App::$strings["Invalid data packet"] = "paquet de dades invàlid";
+App::$strings["Unable to verify channel signature"] = "No es pot verificar la signatura del canal";
+App::$strings["Unable to verify site signature for %s"] = "No es pot verificar la signatura del lloc per %s";
+App::$strings["created a new post"] = "ha creat una nova entrada";
+App::$strings["commented on %s's post"] = "ha comentat l'entrada de %s";
App::$strings["Private Message"] = "Missatge Privat";
App::$strings["Select"] = "Selecciona";
App::$strings["Save to Folder"] = "Guardar en la Carpeta";
-App::$strings["I will attend"] = "Assistiré";
-App::$strings["I will not attend"] = "No assistiré";
-App::$strings["I might attend"] = "Podria assistir";
-App::$strings["I agree"] = "D'acord";
-App::$strings["I disagree"] = "En desacord";
-App::$strings["I abstain"] = "M'abstinc";
-App::$strings["View all"] = "Veure tot";
+App::$strings["I will attend"] = "Hi seré";
+App::$strings["I will not attend"] = "No hi seré";
+App::$strings["I might attend"] = "Potser hi sóc";
+App::$strings["I agree"] = "Hi estic a favor";
+App::$strings["I disagree"] = "Hi estic en contra";
+App::$strings["I abstain"] = "Voto en blanc";
+App::$strings["View all"] = "Mostra-ho tot";
App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Agrada",
- 1 => "Agraden",
+ 0 => "M'agrada",
+ 1 => "M'agrada",
);
App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Desagrada",
- 1 => "Desagrada",
+ 0 => "No m'agrada",
+ 1 => "No m'agrada",
);
-App::$strings["Add Star"] = "Fes-lo Preferit";
-App::$strings["Remove Star"] = "Treu-lo de Preferits";
+App::$strings["Add Star"] = "Marca'l com a preferit";
+App::$strings["Remove Star"] = "Treu-lo de preferits";
App::$strings["Toggle Star Status"] = "Canvia el Estat de la Preferència";
App::$strings["starred"] = "preferit";
App::$strings["Message signature validated"] = "Validada la signatura del missatge";
@@ -458,11 +295,14 @@ App::$strings["Expires: %s"] = "Expira: %s";
App::$strings["Save Bookmarks"] = "Guarda Favorits";
App::$strings["Add to Calendar"] = "Afegeix al Calendari";
App::$strings["Mark all seen"] = "Marca tot com ja vist";
-App::$strings["__ctx:noun__ Likes"] = "Agrada";
-App::$strings["__ctx:noun__ Dislikes"] = "Desagrada";
+App::$strings["__ctx:noun__ Likes"] = "M'agrada";
+App::$strings["__ctx:noun__ Dislikes"] = "No m'agrada";
App::$strings["Close"] = "Tanca";
App::$strings["Please wait"] = "Si us plau, espera";
+App::$strings["[+] show all"] = "[+] mostra-ho tot";
App::$strings["This is you"] = "Ets tú";
+App::$strings["Comment"] = "Comentari";
+App::$strings["Submit"] = "Desa";
App::$strings["Bold"] = "Negreta";
App::$strings["Italic"] = "Italica";
App::$strings["Underline"] = "Subratllat";
@@ -471,131 +311,145 @@ App::$strings["Code"] = "Codi";
App::$strings["Image"] = "Imatge";
App::$strings["Insert Link"] = "Insereix Enllaç";
App::$strings["Video"] = "Video";
+App::$strings["Preview"] = "Previsualitza";
App::$strings["Encrypt text"] = "Text encriptat";
-App::$strings["New window"] = "Nova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Obrir la localització seleccionada en un altre finestra o pestanya del navegador";
-App::$strings["User '%s' deleted"] = "usuari '%s' esborrat";
-App::$strings["Attachments:"] = "Adjuntat:";
-App::$strings["\$Projectname event notification:"] = "Notificació d'esdeveniment de \$Projectname";
-App::$strings["Logout"] = "Desconectar";
-App::$strings["End this session"] = "Finalitza aquesta sessió";
-App::$strings["Home"] = "Personal";
-App::$strings["Your posts and conversations"] = "Les teves entrades i converses";
-App::$strings["View Profile"] = "Veure Perfil";
-App::$strings["Your profile page"] = "La teva pàgina de perfil";
-App::$strings["Edit Profiles"] = "Editar Perfils";
-App::$strings["Manage/Edit profiles"] = "Gestiona/Edita perfils";
-App::$strings["Edit Profile"] = "Edita Perfil";
-App::$strings["Edit your profile"] = "Edita el teu perfil";
-App::$strings["Photos"] = "Fotos";
-App::$strings["Your photos"] = "Les Teves Fotos";
-App::$strings["Your files"] = "Els teus arxius";
-App::$strings["Chat"] = "Xerrar";
-App::$strings["Your chatrooms"] = "Les teves sales de xerrar";
-App::$strings["Bookmarks"] = "Marcadors";
-App::$strings["Your bookmarks"] = "Els teus marcadors";
-App::$strings["Webpages"] = "Pàgines web";
-App::$strings["Your webpages"] = "Les teves pàgines web";
-App::$strings["Login"] = "Identifica't";
-App::$strings["Sign in"] = "Signatura";
-App::$strings["%s - click to logout"] = "%s - click per desconectar";
-App::$strings["Remote authentication"] = "Autenticació remota";
-App::$strings["Click to authenticate to your home hub"] = "Click per autentificar-te en el teu Lloc ";
-App::$strings["Home Page"] = "Pàgina Personal";
-App::$strings["Register"] = "Registre";
-App::$strings["Create an account"] = "Crear un compte";
-App::$strings["Help"] = "Ajuda";
-App::$strings["Help and documentation"] = "Ajuda i documentació";
-App::$strings["Applications, utilities, links, games"] = "Aplicacions, utilitats, enllaços, jocs";
-App::$strings["Search site content"] = "Cerca en el contingut del lloc";
-App::$strings["Directory"] = "Directori";
-App::$strings["Channel Directory"] = "Directori de Canals";
-App::$strings["Matrix"] = "Matriu/Matrix";
-App::$strings["Your matrix"] = "El teu matrix";
-App::$strings["Mark all matrix notifications seen"] = "Marca totes les notificacions de matrix vistes";
-App::$strings["Channel Home"] = "Canal Personal";
-App::$strings["Channel home"] = "Canal personal";
-App::$strings["Mark all channel notifications seen"] = "Marca totes les notificacions de canal vistes";
-App::$strings["Connections"] = "Connexions";
-App::$strings["Notices"] = "Noticies";
-App::$strings["Notifications"] = "Notificacions";
-App::$strings["See all notifications"] = "Veure totes les Notificacions";
-App::$strings["Mark all system notifications seen"] = "Marca totes les notificacions vistes";
-App::$strings["Mail"] = "Correu";
-App::$strings["Private mail"] = "Correu privat";
-App::$strings["See all private messages"] = "Veure tots els missatges privats";
-App::$strings["Mark all private messages seen"] = "Marcar tots els missatges privats vistos";
-App::$strings["Inbox"] = "Safata d'entrada";
-App::$strings["Outbox"] = "Safata de sortida";
-App::$strings["Events"] = "Events";
-App::$strings["Event Calendar"] = "Calendari d'Events";
-App::$strings["See all events"] = "Veure tots els events";
-App::$strings["Mark all events seen"] = "Marcar tots els events vistos";
-App::$strings["Channel Manager"] = "Gestor del Canal";
-App::$strings["Manage Your Channels"] = "Gestiona els Teus Canals";
-App::$strings["Account/Channel Settings"] = "Ajustos de Compte/Canal";
-App::$strings["Admin"] = "Admin";
-App::$strings["Site Setup and Configuration"] = "Ajustos i Configuració del Lloc";
-App::$strings["Loading..."] = "Carregant...";
-App::$strings["@name, #tag, content"] = "@name, #tag, content";
-App::$strings["Please wait..."] = "Si us plau, espera.......";
-App::$strings["Tags"] = "Etiquetes";
-App::$strings["Keywords"] = "Paraules clau";
-App::$strings["have"] = "tinc";
-App::$strings["has"] = "tens";
-App::$strings["want"] = "vull";
-App::$strings["wants"] = "vols";
-App::$strings["likes"] = "agrada";
-App::$strings["dislikes"] = "desagrada";
+App::$strings["Not a valid email address"] = "Adreça de correu electrònic no vàlida";
+App::$strings["Your email domain is not among those allowed on this site"] = "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc";
+App::$strings["Your email address is already registered at this site."] = "La teva adreça de correu electrònic ja esta registrada en aquest lloc";
+App::$strings["An invitation is required."] = "Es requereix Invitació";
+App::$strings["Invitation could not be verified."] = "La invitació no ha pogut ser verificada";
+App::$strings["Please enter the required information."] = "Entra la informació sol·licitada";
+App::$strings["Failed to store account information."] = "No s'ha pogut desar la informació del compte";
+App::$strings["Registration confirmation for %s"] = "Confirmació del registre de %s";
+App::$strings["Registration request at %s"] = "Sol·licitud de registre a %s";
+App::$strings["your registration password"] = "la teva contrasenya registrada";
+App::$strings["Registration details for %s"] = "Detalls del registre per %s";
+App::$strings["Account approved."] = "Compte aprovat.";
+App::$strings["Registration revoked for %s"] = "S'ha revocat el registre de %s";
+App::$strings["Account verified. Please login."] = "S'ha verificat el compte. Inicia la sessió per continuar.";
+App::$strings["Click here to upgrade."] = "Feu clic aquí per actualitzar.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Aquesta acció sobrepassa els límits establerts pel seu pla de subscripció.";
+App::$strings["This action is not available under your subscription plan."] = "Aquesta acció no està disponible en el seu pla de subscripció.";
+App::$strings["Embedded content"] = "Contingut embegut";
+App::$strings["Embedding disabled"] = "Incorporació desactivada";
+App::$strings["Visible to your default audience"] = "Visible per a la teva audiència ";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "No mostrar";
+App::$strings["Permissions"] = "Permisos ";
App::$strings[" and "] = "i";
App::$strings["public profile"] = "Perfil públic";
App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s canviat %2\$s a &ldquo;%3\$s&rdquo;";
App::$strings["Visit %1\$s's %2\$s"] = "Visita %1\$s de %2\$s";
App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s Ha actualitzat %2\$s, canviant %3\$s.";
+App::$strings["Public Timeline"] = "Cronologia pública";
+App::$strings["Site Admin"] = "Administració";
+App::$strings["Address Book"] = "Adreçes";
+App::$strings["Profile"] = "Perfil";
+App::$strings["Mood"] = "Ànim";
+App::$strings["Poke"] = "Emprenya";
+App::$strings["Probe"] = "Sondeig";
+App::$strings["Suggest"] = "Suggeriment";
+App::$strings["Random Channel"] = "Canal Aleatori";
+App::$strings["Invite"] = "Convida";
+App::$strings["Features"] = "Funcionalitats";
+App::$strings["Language"] = "Idioma";
+App::$strings["Post"] = "Entrada";
+App::$strings["Profile Photo"] = "Foto del Perfil";
+App::$strings["Update"] = "Actualització";
+App::$strings["Install"] = "Instal·lar";
+App::$strings["Purchase"] = "Compra";
+App::$strings["Permission denied."] = "Permís denegat.";
+App::$strings["Item was not found."] = "Article no trobat.";
+App::$strings["No source file."] = "No hi ha arxiu d'origen.";
+App::$strings["Cannot locate file to replace"] = "No trobo l'arxiu a reemplaçar";
+App::$strings["Cannot locate file to revise/update"] = "No trobo l'arxiu a revisar/actualitzar";
+App::$strings["File exceeds size limit of %d"] = "L'arxiu excedeix la mida limit de %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda.";
+App::$strings["Stored file could not be verified. Upload failed."] = "L'arxiu guardat no es pot verificar. Pujada fallida.";
+App::$strings["Path not available."] = "Trajectòria no disponible";
+App::$strings["Empty pathname"] = "Trajèctoria vuida.";
+App::$strings["duplicate filename or path"] = "Nom o trajectòria duplicat";
+App::$strings["Path not found."] = "Trajectòria no trobada.";
+App::$strings["mkdir failed."] = "mkdir va fracassar.";
+App::$strings["database storage failed."] = "Arxiu de base de dades va fallar.";
+App::$strings["Logged out."] = "Sortir.";
+App::$strings["Failed authentication"] = "Autenticació fallida";
+App::$strings["Login failed."] = "Identificació fallida.";
+App::$strings["Attachments:"] = "Adjuntat:";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["\$Projectname event notification:"] = "Notificació d'esdeveniment de \$Projectname";
+App::$strings["Starts:"] = "Comença:";
+App::$strings["Finishes:"] = "Acaba:";
+App::$strings["Location:"] = "Lloc:";
+App::$strings["Image/photo"] = "Imatge/foto";
+App::$strings["Encrypted content"] = "Contingut encriptat";
+App::$strings["Install %s element: "] = "Instal·la l'element %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc.";
+App::$strings["webpage"] = "pàgina web";
+App::$strings["layout"] = "disseny";
+App::$strings["block"] = "bloc";
+App::$strings["menu"] = "menú";
+App::$strings["QR code"] = "QR code";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s va escriure la següent %2\$s %3\$s";
+App::$strings["post"] = "entrada";
+App::$strings["Different viewers will see this text differently"] = "Diferents observadors veuran aquest text de diferents formes";
+App::$strings["$1 spoiler"] = "$1 spoiler";
+App::$strings["$1 wrote:"] = "$1 va escriure:";
+App::$strings["%1\$s's bookmarks"] = "Marcadors de %1\$s";
+App::$strings["Missing room name"] = "Perdut el nom de la sala";
+App::$strings["Duplicate room name"] = "Nom de la sala duplicat";
+App::$strings["Invalid room specifier."] = "Especificació de la sala invàlida.";
+App::$strings["Room not found."] = "Sala no trobada.";
+App::$strings["Room is full"] = "La sala es plena";
+App::$strings["Default"] = "Predeterminat";
App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo.";
-App::$strings["Can view my normal stream and posts"] = "Pot veure el flux i entrades normals";
-App::$strings["Can view my default channel profile"] = "Pot veure el meu perfil del canal per defecte";
-App::$strings["Can view my photo albums"] = "Pot veure el meus àlbums de fotos";
-App::$strings["Can view my connections"] = "Pot veure les meves connexions";
-App::$strings["Can view my file storage"] = "Pot veure al meu magatzem d'arxius";
-App::$strings["Can view my webpages"] = "Pot veure les meves pàgines web";
-App::$strings["Can send me their channel stream and posts"] = "Pot enviar-me el flux i entrades del seu canal";
-App::$strings["Can post on my channel page (\"wall\")"] = "Pot fer entrades a la meva pàgina de canal (\"mur\")";
-App::$strings["Can comment on or like my posts"] = "Pot fer comentaris o dir si agrada en les meves entrades";
-App::$strings["Can send me private mail messages"] = "Pot enviar-me un missatge de correu privat";
-App::$strings["Can post photos to my photo albums"] = "Pot enviar fotos al meus àlbums de fotos";
-App::$strings["Can like/dislike stuff"] = "Pot dir si agrada/desagrada ";
-App::$strings["Profiles and things other than posts/comments"] = "Perfils i altres coses a més d'entrades/comentaris";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Ho pot enviar a tots els meus contactes del canal via entrades @mencions";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avançat - capaç de crear canals de grups de foro";
-App::$strings["Can chat with me (when available)"] = "Pot xatejar amb mi (si estic disponible)";
-App::$strings["Can write to my file storage"] = "Pot escriure al meu magatzem d'arxius";
-App::$strings["Can edit my webpages"] = "Pot editar les meves pàgines web";
-App::$strings["Can source my public posts in derived channels"] = "Pot mostrar l'origen de les meves entrades públiques en altres canals";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Quelcom avançat - molt útil en comunitats obertes";
-App::$strings["Can administer my channel resources"] = "Pot administrar els meus recursos del canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremadament avançat. No toquis res si no saps que estàs fent";
-App::$strings["Social Networking"] = "Xarxes Socials";
-App::$strings["Mostly Public"] = "Més aviat Públic";
-App::$strings["Restricted"] = "Restringit";
-App::$strings["Private"] = "Privat";
-App::$strings["Community Forum"] = "Foro de Comunitat";
-App::$strings["Feed Republish"] = "Republicador";
-App::$strings["Special Purpose"] = "Objectiu Especial";
-App::$strings["Celebrity/Soapbox"] = "Celebritat/Faristol";
-App::$strings["Group Repository"] = "Repositori de Grup";
-App::$strings["Other"] = "Altres";
-App::$strings["Custom/Expert Mode"] = "Personalitzat/Mode Expert";
+App::$strings["Frequently"] = "Sovint";
+App::$strings["Hourly"] = "Cada hora";
+App::$strings["Twice daily"] = "Dos cops al dia";
+App::$strings["Daily"] = "Diàriament";
+App::$strings["Weekly"] = "Setmanalment";
+App::$strings["Monthly"] = "Mensualment";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Email"] = "Correu electrònic";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot!"] = "Zot!";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invitació disponible",
+ 1 => "%d invitacions disponibles",
+);
+App::$strings["Advanced"] = "Avançat";
+App::$strings["Find Channels"] = "Troba Canals";
+App::$strings["Enter name or interest"] = "Entra un nom o interes";
+App::$strings["Connect/Follow"] = "Conecta/Segueix";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Lionel Messi, Futbolista";
+App::$strings["Find"] = "Troba";
+App::$strings["Channel Suggestions"] = "Canals Suggerits";
+App::$strings["Random Profile"] = "Perfil Aleatori";
+App::$strings["Invite Friends"] = "Convida Amics";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avançat: nom=pep i pais=eire";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d connexió en comú",
+ 1 => "%d connexions en comú",
+);
+App::$strings["show more"] = "mostrar més";
App::$strings["channel"] = "canal";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s li agrada %3\$s de %2\$s";
App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s no agrada %2\$s de %3\$s";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s esta ara connectat amb %2\$s";
App::$strings["%1\$s poked %2\$s"] = "%1\$s emprenyat %2\$s";
App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s es %2\$s";
-App::$strings["__ctx:title__ Likes"] = "Agrada";
-App::$strings["__ctx:title__ Dislikes"] = "Desagrada";
-App::$strings["__ctx:title__ Agree"] = "Acord";
-App::$strings["__ctx:title__ Disagree"] = "Desacord";
-App::$strings["__ctx:title__ Abstain"] = "Abstenirse";
+App::$strings["__ctx:title__ Likes"] = "M'agrada";
+App::$strings["__ctx:title__ Dislikes"] = "No m'agrada";
+App::$strings["__ctx:title__ Agree"] = "A favor";
+App::$strings["__ctx:title__ Disagree"] = "En contra";
+App::$strings["__ctx:title__ Abstain"] = "En blanc";
App::$strings["__ctx:title__ Attending"] = "Assistint";
App::$strings["__ctx:title__ Not attending"] = "Desassistint";
App::$strings["__ctx:title__ Might attend"] = "Podrien assistir";
@@ -612,8 +466,7 @@ App::$strings["View Photos"] = "Veure Fotos";
App::$strings["Matrix Activity"] = "Activitat de Matrix";
App::$strings["Edit Contact"] = "Editar Contacte";
App::$strings["Send PM"] = "Enviar MP";
-App::$strings["Poke"] = "Emprenya";
-App::$strings["%s likes this."] = "%s agrada això.";
+App::$strings["%s likes this."] = "A %s li agrada això.";
App::$strings["%s doesn't like this."] = "%s no agrada això.";
App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
0 => "<span %1\$s>%2\$d gent</span> agrada això.",
@@ -673,14 +526,14 @@ App::$strings["Posted Order"] = "Ordenar per Entrades";
App::$strings["Sort by Post Date"] = "Ordenar per Data d' Entrada";
App::$strings["Posts that mention or involve you"] = "Entrades que et mencionen o involucren";
App::$strings["New"] = "Nou";
-App::$strings["Activity Stream - by date"] = "Activitat del Flux - per data";
+App::$strings["Activity Stream - by date"] = "Flux d'activitat - per data";
App::$strings["Starred"] = "Preferit";
App::$strings["Favourite Posts"] = "Entrades Favorites";
App::$strings["Spam"] = "Spam";
App::$strings["Posts flagged as SPAM"] = "Entrades marcades com a SPAM";
App::$strings["Channel"] = "Canal";
App::$strings["Status Messages and Posts"] = "Estat dels Missatges i Entrades";
-App::$strings["About"] = "Sobre això";
+App::$strings["About"] = "Sobre mi";
App::$strings["Profile Details"] = "Detalls del Perfil";
App::$strings["Photo Albums"] = "Albums de Fotos";
App::$strings["Files and Storage"] = "Arxius i Emmagatzegament";
@@ -700,86 +553,169 @@ App::$strings["__ctx:noun__ Undecided"] = array(
1 => "Indecisos",
);
App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "Acord",
- 1 => "Acords",
+ 0 => "A favor",
+ 1 => "A favor",
);
App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Desacord",
- 1 => "Desacords",
+ 0 => "En contra",
+ 1 => "En contra",
);
App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Abstenirse",
- 1 => "Abstenirse",
-);
-App::$strings["Permission denied"] = "Permís denegat";
-App::$strings["(Unknown)"] = "(Desconegut)";
-App::$strings["Visible to anybody on the internet."] = "Visible per tothom a la Internet";
-App::$strings["Visible to you only."] = "Visible només per tú.";
-App::$strings["Visible to anybody in this network."] = "Visible per tothom en aquesta xarxa.";
-App::$strings["Visible to anybody authenticated."] = "Visible per tothom autenticat.";
-App::$strings["Visible to anybody on %s."] = "Visible per a tothom a %s.";
-App::$strings["Visible to all connections."] = "Visible per a totes les connexions.";
-App::$strings["Visible to approved connections."] = "Visible per a les connexions aprovades.";
-App::$strings["Visible to specific connections."] = "Visible per a específiques connexions.";
-App::$strings["Item not found."] = "Element no trobat.";
-App::$strings["Permission denied."] = "Permís denegat.";
-App::$strings["Collection not found."] = "Col·lecció no trobada.";
-App::$strings["Collection is empty."] = "La col·lecció esta buida.";
-App::$strings["Collection: %s"] = "Col·lecció: %s";
-App::$strings["Connection: %s"] = "Connexió: %s";
-App::$strings["Connection not found."] = "Connexió no trobada.";
-App::$strings["Invalid data packet"] = "paquet de dades invàlid";
-App::$strings["Unable to verify channel signature"] = "No es pot verificar la signatura del canal";
-App::$strings["Unable to verify site signature for %s"] = "No es pot verificar la signatura del lloc per %s";
-App::$strings["Embedded content"] = "Contingut embegut";
-App::$strings["Embedding disabled"] = "Incorporació desactivada";
-App::$strings["Logged out."] = "Sortir.";
-App::$strings["Failed authentication"] = "Autenticació fallida";
-App::$strings["Login failed."] = "Identificació fallida.";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invitació disponible",
- 1 => "%d invitacions disponibles",
+ 0 => "En blanc",
+ 1 => "En blanc",
);
-App::$strings["Advanced"] = "Avançat";
-App::$strings["Find Channels"] = "Troba Canals";
-App::$strings["Enter name or interest"] = "Entra un nom o interes";
-App::$strings["Connect/Follow"] = "Conecta/Segueix";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Lionel Messi, Futbolista";
-App::$strings["Find"] = "Troba";
-App::$strings["Channel Suggestions"] = "Canals Suggerits";
-App::$strings["Random Profile"] = "Perfil Aleatori";
-App::$strings["Invite Friends"] = "Convida Amics";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avançat: nom=pep i pais=eire";
-App::$strings["%d connection in common"] = array(
- 0 => "%d connexió en comú",
- 1 => "%d connexions en comú",
-);
-App::$strings["show more"] = "mostrar més";
-App::$strings["Visible to your default audience"] = "Visible per a la teva audiència ";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "No mostrar";
-App::$strings["Permissions"] = "Permisos ";
-App::$strings["Item was not found."] = "Article no trobat.";
-App::$strings["No source file."] = "No hi ha arxiu d'origen.";
-App::$strings["Cannot locate file to replace"] = "No trobo l'arxiu a reemplaçar";
-App::$strings["Cannot locate file to revise/update"] = "No trobo l'arxiu a revisar/actualitzar";
-App::$strings["File exceeds size limit of %d"] = "L'arxiu excedeix la mida limit de %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda.";
-App::$strings["Stored file could not be verified. Upload failed."] = "L'arxiu guardat no es pot verificar. Pujada fallida.";
-App::$strings["Path not available."] = "Trajectòria no disponible";
-App::$strings["Empty pathname"] = "Trajèctoria vuida.";
-App::$strings["duplicate filename or path"] = "Nom o trajectòria duplicat";
-App::$strings["Path not found."] = "Trajectòria no trobada.";
-App::$strings["mkdir failed."] = "mkdir va fracassar.";
-App::$strings["database storage failed."] = "Arxiu de base de dades va fallar.";
+App::$strings["Miscellaneous"] = "Miscelania";
+App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD o MM-DD";
+App::$strings["Required"] = "Requerit";
+App::$strings["never"] = "mai";
+App::$strings["less than a second ago"] = "fa menys d'un segon";
+App::$strings["year"] = "any";
+App::$strings["years"] = "anys";
+App::$strings["month"] = "mes";
+App::$strings["months"] = "mesos";
+App::$strings["week"] = "setmana";
+App::$strings["weeks"] = "setmanes";
+App::$strings["day"] = "dia";
+App::$strings["days"] = "dies";
+App::$strings["hour"] = "hora";
+App::$strings["hours"] = "hores";
+App::$strings["minute"] = "minut";
+App::$strings["minutes"] = "minuts";
+App::$strings["second"] = "segon";
+App::$strings["seconds"] = "segons";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "Fa %1\$d i %2\$s";
+App::$strings["%1\$s's birthday"] = "Aniversari de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Feliç Aniversari %1\$s";
+App::$strings["Please choose"] = "Escull";
+App::$strings["Agree"] = "A favor";
+App::$strings["Disagree"] = "En contra";
+App::$strings["Abstain"] = "En blanc";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "L'àlies té caràcters no suportats o ja està agafat en aquest lloc.";
+App::$strings["Directory Options"] = "Opcions de carpeta";
+App::$strings["Safe Mode"] = "Mode Segur";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Sí";
+App::$strings["Public Forums Only"] = "Només fòrums públics";
+App::$strings["This Website Only"] = "Només aquest lloc web";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Red:Notify] New mail received at %s"] = "[Red:Notificació] Un nou missatge s'ha rebut a %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s t'ha enviat un nou missatge privat a %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s t'ha enviat %2\$s.";
+App::$strings["a private message"] = "un missatge privat";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Per favor, visita %s per a veure i/o respondre els teus missatges privats.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]a %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]%4\$s de %5\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s comentat en [zrl=%3\$s]el teu %4\$s[/zrl]";
+App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notify] Comentari a la conversa #%1\$d per %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentat en un article/conversa que havies estat seguint.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Si us plau visita %s per veure i/o contestar a la conversa";
+App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Avís] %s ha escrit una entrada al teu mur";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha escrit una entrada al teu mur en %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s enviat correu a [zrl=%3\$s]el teu mur[/zrl]";
+App::$strings["[Red:Notify] %s tagged you"] = "[Red:Notificació] %s t'ha etiquetat";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s t'ha etiquetat a %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]t'ha etiquetat[/zrl].";
+App::$strings["[Red:Notify] %1\$s poked you"] = "[Red:Avís] %1\$s s'en fot de tu";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s s'en fot de tú a %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]s'en fot de tú[/zrl].";
+App::$strings["[Red:Notify] %s tagged your post"] = "[Red:Avís] %s ha etiquetat la teva entrada";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetat la teva entrada a %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s etiquetat [zrl=%3\$s]la teva entrada[/zrl]";
+App::$strings["[Red:Notify] Introduction received"] = "[Red:Avís] Presentació rebuda";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, has rebut una nova petició de connexió de '%2\$s' a %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, has rebut [zrl=%2\$s]una nova petició de connexió[/zrl] de %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Pots visitar el seu perfil a %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Si us plau, visita %s per aprovar o rebutjar la petició de connexió.";
+App::$strings["[Red:Notify] Friend suggestion received"] = "[Red:Notificació] Rebuda suggerencia d'amistat";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, has rebut una suggerència d'amistat de '%2\$s' a %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, has rebut [zrl=%2\$s]una suggerència d'amistat[/zrl] per %3\$s de %4\$s.";
+App::$strings["Name:"] = "Nom:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Per favor, visita %s per a aprovar o rebutjar la suggerencia.";
+App::$strings["[Red:Notify]"] = "[Red:Notificació]";
+App::$strings["This event has been added to your calendar."] = "S'ha afegit l'activitat al teu calendari.";
+App::$strings["General Features"] = "Característiques generals";
+App::$strings["Content Expiration"] = "Caducitat del contingut";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina entrades, comentaris i/o missatges privats al cap d'un cert temps";
+App::$strings["Multiple Profiles"] = "Múltiples perfils";
+App::$strings["Ability to create multiple profiles"] = "Capacitat de crear diversos perfils";
+App::$strings["Advanced Profiles"] = "Perfils avançats";
+App::$strings["Additional profile sections and selections"] = "Seccions i seleccions addicionals de perfils";
+App::$strings["Profile Import/Export"] = "Importació i exportació de perfil";
+App::$strings["Save and load profile details across sites/channels"] = "Desa i carrega els detalls del perfil a través de llocs i canals";
+App::$strings["Web Pages"] = "Pàgines web";
+App::$strings["Provide managed web pages on your channel"] = "Proporcionar pàgines web gestionades al seu canal";
+App::$strings["Private Notes"] = "Notes privades";
+App::$strings["Enables a tool to store notes and reminders"] = "Activa una eina per a crear notes i recordatoris";
+App::$strings["Navigation Channel Select"] = "Navegació pel selector de canals";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Canvieu els canals directament des del menú desplegable de navegació";
+App::$strings["Photo Location"] = "Ubicació de les fotos";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Quan una imatge pujada porti incrustada la seva localització, enllaça-la a un mapa automàticament.";
+App::$strings["Expert Mode"] = "Mode expert";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activa el mode expert per a mostrar opcions avançades de configuració";
+App::$strings["Premium Channel"] = "Canal prèmium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Permet establir restriccions i condicions a qui es connecti al teu canal";
+App::$strings["Post Composition Features"] = "Més funcionalitats de redacció d'entrades";
+App::$strings["Use Markdown"] = "Habilita el Markdown";
+App::$strings["Allow use of \"Markdown\" to format posts"] = "Permet emprar \"Markdown\" per donar format a les entrades";
+App::$strings["Large Photos"] = "Fotos grans";
+App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Inclou miniatures d'imatge grans (640px) en les entrades. Si no està activat, petites (320px).";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automàticament el contingut del canal des d'altres canals o feeds";
+App::$strings["Even More Encryption"] = "Encara més xifratge";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permet el xifratge opcional de contingut extrem-a-extrem amb clau simètrica";
+App::$strings["Enable voting tools"] = "Habilita eines de vot";
+App::$strings["Provide a class of post which others can vote on"] = "Proporcionar una classe d'entrada que altres puguin votar";
+App::$strings["Network and Stream Filtering"] = "Filtres de xarxa de contactes i de flux d'activitat";
+App::$strings["Search by Date"] = "Cerca per data";
+App::$strings["Ability to select posts by date ranges"] = "Capacitat per seleccionar entrades per rang de dates";
+App::$strings["Collections Filter"] = "Filtre de col·leccions";
+App::$strings["Enable widget to display Network posts only from selected collections"] = "Habilita un giny per mostrar només les entrades de les col·leccions seleccionades";
+App::$strings["Save search terms for re-use"] = "Conserva les paraules de cerca per reutilitzar-les";
+App::$strings["Network Personal Tab"] = "Pestanya de participació en la xarxa";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Afegeix una pestanya que mostri només les entrades de xarxa on hi hagis intervingut";
+App::$strings["Network New Tab"] = "Pestanya de novetats a la xarxa";
+App::$strings["Enable tab to display all new Network activity"] = "Afegeix una pestanya que mostri tota l'activitat nova de la Xarxa";
+App::$strings["Affinity Tool"] = "Filtre d'activitat per afinitat";
+App::$strings["Filter stream activity by depth of relationships"] = "Filtra el flux d'activitat segons el tipus de relació amb l'actor de l'activitat";
+App::$strings["Connection Filtering"] = "Filtre d'entrades per paraules clau";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra les entrades de les teves connexions segons paraules clau i contingut";
+App::$strings["Suggest Channels"] = "Suggeix-me canals";
+App::$strings["Show channel suggestions"] = "Mostra suggerències de canals";
+App::$strings["Post/Comment Tools"] = "Eines d'entrades i comentaris";
+App::$strings["Tagging"] = "Etiquetes";
+App::$strings["Ability to tag existing posts"] = "Capacitat d'etiquetar entrades existents";
+App::$strings["Post Categories"] = "Categories d'Entrades";
+App::$strings["Add categories to your posts"] = "Afegeix categoria a la teva entrada";
+App::$strings["Ability to file posts under folders"] = "Capacitat de arxivar entrades en les carpetes";
+App::$strings["Dislike Posts"] = "\"No m'agrada\"";
+App::$strings["Ability to dislike posts/comments"] = "Capacitat per marcar amb un \"no m'agrada\" les entrades i els comentaris";
+App::$strings["Star Posts"] = "Entrades Excel·lents";
+App::$strings["Ability to mark special posts with a star indicator"] = "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia";
+App::$strings["Tag Cloud"] = "Núvol d'Etiquetes.";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal";
+App::$strings["Channel is blocked on this site."] = "El canal està bloquejat en aquest lloc.";
+App::$strings["Channel location missing."] = "Falta la ubicació del canal.";
+App::$strings["Response from remote channel was incomplete."] = "La resposta del canal remot fou incompleta.";
+App::$strings["Channel was deleted and no longer exists."] = "El canal fou esborrat i actualment no existeix.";
+App::$strings["Protocol disabled."] = "Protocol desactivat.";
+App::$strings["Protocol blocked for this channel."] = "El protocol està bloquejat per a aquest canal.";
+App::$strings["Channel discovery failed."] = "Descobriment de canal fallit.";
+App::$strings["local account not found."] = "compte local no trobat.";
+App::$strings["Cannot connect to yourself."] = "No pots connectar amb tu mateix.";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent.";
+App::$strings["Default privacy group for new contacts"] = "Privacitat de grup predeterminada per a contactes nous";
+App::$strings["All Channels"] = "Tots els canals";
+App::$strings["edit"] = "edita";
+App::$strings["Collections"] = "Col·leccions";
+App::$strings["Edit collection"] = "Edita col·leccions";
+App::$strings["Add new collection"] = "Afegeix una nova col·lecció";
+App::$strings["Channels not in any collection"] = "Canals a cap col·lecció";
App::$strings["Unable to obtain identity information from database"] = "Incapaç de trobar l'informació d'identitat a la base de dades";
App::$strings["Empty name"] = "Nom buit";
App::$strings["Name too long"] = "Nom massa llarg";
App::$strings["No account identifier"] = "Sense identificador de compte";
App::$strings["Nickname is required."] = "Alies/malnom es requerit.";
App::$strings["Reserved nickname. Please choose another."] = "Àlies reservat. Tria un altre.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "L'álies te caracters no soportats o ja esta en ús en aquest lloc";
App::$strings["Unable to retrieve created identity"] = "No es pot recuperar la identitat creada";
App::$strings["Default Profile"] = "Perfil per Defecte";
App::$strings["Requested channel is not available."] = "El canal demanat no està disponible.";
@@ -803,7 +739,6 @@ App::$strings["Birthdays this week:"] = "Aniversari aquesta setmana:";
App::$strings["[No description]"] = "[Sense descripció]";
App::$strings["Event Reminders"] = "Recordatori d'Events";
App::$strings["Events this week:"] = "Event aquesta setmana:";
-App::$strings["Profile"] = "Perfil";
App::$strings["Full Name:"] = "Nom Complet:";
App::$strings["Like this channel"] = "M'agrada aquest canal";
App::$strings["j F, Y"] = "j F, Y";
@@ -816,10 +751,10 @@ App::$strings["Hometown:"] = "Ciutat Natal:";
App::$strings["Tags:"] = "Etiquetes:";
App::$strings["Political Views:"] = "Idees Polítiques:";
App::$strings["Religion:"] = "Religió:";
-App::$strings["About:"] = "Sobre:";
+App::$strings["About:"] = "Sobre mi:";
App::$strings["Hobbies/Interests:"] = "Aficions/Interessos:";
-App::$strings["Likes:"] = "Agrada:";
-App::$strings["Dislikes:"] = "Desagrada:";
+App::$strings["Likes:"] = "M'agrada:";
+App::$strings["Dislikes:"] = "No li agrada:";
App::$strings["Contact information and Social Networks:"] = "Informació de contacte i Xarxes Socials:";
App::$strings["My other channels:"] = "Els meus altres canals:";
App::$strings["Musical interests:"] = "Interessos Musicals:";
@@ -830,6 +765,109 @@ App::$strings["Love/Romance:"] = "Amor/Romace:";
App::$strings["Work/employment:"] = "Treball/feina:";
App::$strings["School/education:"] = "Escola/educació:";
App::$strings["Like this thing"] = "M'agrada això";
+App::$strings["Permission denied"] = "Permís denegat";
+App::$strings["(Unknown)"] = "(Desconegut)";
+App::$strings["Visible to anybody on the internet."] = "Visible per tothom a la Internet";
+App::$strings["Visible to you only."] = "Visible només per tú.";
+App::$strings["Visible to anybody in this network."] = "Visible per tothom en aquesta xarxa.";
+App::$strings["Visible to anybody authenticated."] = "Visible per tothom autenticat.";
+App::$strings["Visible to anybody on %s."] = "Visible per a tothom a %s.";
+App::$strings["Visible to all connections."] = "Visible per a totes les connexions.";
+App::$strings["Visible to approved connections."] = "Visible per a les connexions aprovades.";
+App::$strings["Visible to specific connections."] = "Visible per a específiques connexions.";
+App::$strings["Item not found."] = "Element no trobat.";
+App::$strings["Collection not found."] = "Col·lecció no trobada.";
+App::$strings["Collection is empty."] = "La col·lecció esta buida.";
+App::$strings["Collection: %s"] = "Col·lecció: %s";
+App::$strings["Connection: %s"] = "Connexió: %s";
+App::$strings["Connection not found."] = "Connexió no trobada.";
+App::$strings["Delete this item?"] = "Vols esborrar aquest element?";
+App::$strings["[-] show less"] = "[-] mostra'n menys";
+App::$strings["[+] expand"] = "[+] expandeix";
+App::$strings["[-] collapse"] = "[-] colapsa";
+App::$strings["Password too short"] = "Contrasenya massa curta";
+App::$strings["Passwords do not match"] = "Les contrasenyes no coincideixen";
+App::$strings["everybody"] = "tothom";
+App::$strings["Secret Passphrase"] = "Contrasenya secreta";
+App::$strings["Passphrase hint"] = "Pista per la contrasenya";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Avís: Els permisos han canviat però encara no han estat enviats.";
+App::$strings["close all"] = "tanca-ho tot";
+App::$strings["Nothing new here"] = "Res de nou per aquí";
+App::$strings["Rate This Channel (this is public)"] = "Valora aquest Canal (això es farà públic)";
+App::$strings["Rating"] = "Valoració";
+App::$strings["Describe (optional)"] = "Descriu (opcional)";
+App::$strings["Please enter a link URL"] = "Si us plau, introdueix una adreça URL";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "enrere";
+App::$strings["from now"] = "des d'ara";
+App::$strings["less than a minute"] = "menys d'un minut";
+App::$strings["about a minute"] = "prop d'un minut";
+App::$strings["%d minutes"] = "%d minuts";
+App::$strings["about an hour"] = "prop d'una hora";
+App::$strings["about %d hours"] = "al voltant de %d hores";
+App::$strings["a day"] = "un dia";
+App::$strings["%d days"] = "%d dies";
+App::$strings["about a month"] = "prop d'un mes";
+App::$strings["%d months"] = "%d mesos";
+App::$strings["about a year"] = "prop d'un any";
+App::$strings["%d years"] = "%d anys";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["New Page"] = "Pàgina Nova";
+App::$strings["View"] = "Mostra";
+App::$strings["Actions"] = "Accions";
+App::$strings["Page Link"] = "Enllaç de la pàgina";
+App::$strings["Title"] = "Títol";
+App::$strings["Created"] = "Creat";
+App::$strings["Edited"] = "Editat";
+App::$strings["Can view my normal stream and posts"] = "Pot veure el flux i entrades normals";
+App::$strings["Can view my default channel profile"] = "Pot veure el meu perfil del canal per defecte";
+App::$strings["Can view my photo albums"] = "Pot veure el meus àlbums de fotos";
+App::$strings["Can view my connections"] = "Pot veure les meves connexions";
+App::$strings["Can view my file storage"] = "Pot veure al meu magatzem d'arxius";
+App::$strings["Can view my webpages"] = "Pot veure les meves pàgines web";
+App::$strings["Can send me their channel stream and posts"] = "Pot enviar-me el flux i entrades del seu canal";
+App::$strings["Can post on my channel page (\"wall\")"] = "Pot fer entrades a la meva pàgina de canal (\"mur\")";
+App::$strings["Can comment on or like my posts"] = "Pot fer comentaris o dir si agrada en les meves entrades";
+App::$strings["Can send me private mail messages"] = "Pot enviar-me un missatge de correu privat";
+App::$strings["Can post photos to my photo albums"] = "Pot enviar fotos al meus àlbums de fotos";
+App::$strings["Can like/dislike stuff"] = "Pot dir si agrada/desagrada ";
+App::$strings["Profiles and things other than posts/comments"] = "Perfils i altres coses a més d'entrades/comentaris";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Ho pot enviar a tots els meus contactes del canal via entrades @mencions";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avançat - capaç de crear canals de grups de foro";
+App::$strings["Can chat with me (when available)"] = "Pot xatejar amb mi (si estic disponible)";
+App::$strings["Can write to my file storage"] = "Pot escriure al meu magatzem d'arxius";
+App::$strings["Can edit my webpages"] = "Pot editar les meves pàgines web";
+App::$strings["Can source my public posts in derived channels"] = "Pot mostrar l'origen de les meves entrades públiques en altres canals";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Quelcom avançat - molt útil en comunitats obertes";
+App::$strings["Can administer my channel resources"] = "Pot administrar els meus recursos del canal";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremadament avançat. No toquis res si no saps que estàs fent";
+App::$strings["Social Networking"] = "Xarxes Socials";
+App::$strings["Mostly Public"] = "Més aviat Públic";
+App::$strings["Restricted"] = "Restringit";
+App::$strings["Private"] = "Privat";
+App::$strings["Community Forum"] = "Foro de Comunitat";
+App::$strings["Feed Republish"] = "Republicador";
+App::$strings["Special Purpose"] = "Objectiu Especial";
+App::$strings["Celebrity/Soapbox"] = "Celebritat/Faristol";
+App::$strings["Group Repository"] = "Repositori de Grup";
+App::$strings["Other"] = "Altres";
+App::$strings["Custom/Expert Mode"] = "Personalitzat/Mode Expert";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "La imatge excedeix la mida limit pel lloc web en %lu bytes";
+App::$strings["Image file is empty."] = "El fitxer d'imatge esta buit.";
+App::$strings["Unable to process image"] = "incapaç de processar la imatge";
+App::$strings["Photo storage failed."] = "Fracassà l'emmagatzematge de la Foto";
+App::$strings["Upload New Photos"] = "Puja Noves Fotos";
+App::$strings["Tags"] = "Etiquetes";
+App::$strings["Keywords"] = "Paraules clau";
+App::$strings["have"] = "tinc";
+App::$strings["has"] = "tens";
+App::$strings["want"] = "vull";
+App::$strings["wants"] = "vols";
+App::$strings["likes"] = "li agrada";
+App::$strings["dislikes"] = "no li agrada";
App::$strings["Male"] = "Masculí";
App::$strings["Female"] = "Femení";
App::$strings["Currently Male"] = "Actualment Masculí";
@@ -886,669 +924,33 @@ App::$strings["Uncertain"] = "Incert";
App::$strings["It's complicated"] = "Es Complicat";
App::$strings["Don't care"] = "No Et Fa Res";
App::$strings["Ask me"] = "Pregunta";
-App::$strings["Site Admin"] = "Administració";
-App::$strings["Address Book"] = "Adreçes";
-App::$strings["Mood"] = "Ànim";
-App::$strings["Probe"] = "Sondeig";
-App::$strings["Suggest"] = "Suggeriment";
-App::$strings["Random Channel"] = "Canal Aleatori";
-App::$strings["Invite"] = "Convida";
-App::$strings["Features"] = "Funcionalitats";
-App::$strings["Language"] = "Idioma";
-App::$strings["Post"] = "Entrada";
-App::$strings["Profile Photo"] = "Foto del Perfil";
-App::$strings["Update"] = "Actualització";
-App::$strings["Install"] = "Instal·lar";
-App::$strings["Purchase"] = "Compra";
-App::$strings["Image/photo"] = "Imatge/foto";
-App::$strings["Encrypted content"] = "Contingut encriptat";
-App::$strings["Install %s element: "] = "Instal·la l'element %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc.";
-App::$strings["webpage"] = "pàgina web";
-App::$strings["layout"] = "disposició";
-App::$strings["block"] = "bloc";
-App::$strings["menu"] = "menú";
-App::$strings["QR code"] = "QR code";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s va escriure el següent %2\$s %3\$s";
-App::$strings["post"] = "entrada";
-App::$strings["Different viewers will see this text differently"] = "Diferents observadors veuran aquest text de diferents formes";
-App::$strings["$1 spoiler"] = "$1 spoiler";
-App::$strings["$1 wrote:"] = "$1 va escriure:";
-App::$strings["Missing room name"] = "Perdut el nom de la sala";
-App::$strings["Duplicate room name"] = "Nom de la sala duplicat";
-App::$strings["Invalid room specifier."] = "Especificació de la sala invàlida.";
-App::$strings["Room not found."] = "Sala no trobada.";
-App::$strings["Room is full"] = "La sala es plena";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "La imatge excedeix la mida limit pel lloc web en %lu bytes";
-App::$strings["Image file is empty."] = "El fitxer d'imatge esta buit.";
-App::$strings["Unable to process image"] = "incapaç de processar la imatge";
-App::$strings["Photo storage failed."] = "Fracassà l'emmagatzematge de la Foto";
-App::$strings["Upload New Photos"] = "Puja Noves Fotos";
-App::$strings["Some blurb about what to do when you're new here"] = "Algunes propostes sobre el que cal fer quan ets nou aquí";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Has creat %1$.0f de %2$.0f canals permesos.";
-App::$strings["Create a new channel"] = "Crear un nou canal";
-App::$strings["Current Channel"] = "Canal Actual";
-App::$strings["Switch to one of your channels by selecting it."] = "Canviar a un altre dels teus canals seleccionant-ho.";
-App::$strings["Default Channel"] = "Canal per Defecte";
-App::$strings["Make Default"] = "Estableix com a Predeterminat";
-App::$strings["%d new messages"] = "%d missatges nous";
-App::$strings["%d new introductions"] = "%d noves presentacions";
-App::$strings["Delegated Channels"] = "Canals Delegats";
-App::$strings["Public access denied."] = "Accés públic denegat.";
-App::$strings["%d rating"] = array(
- 0 => "%d valoració",
- 1 => "%d valoracions",
-);
-App::$strings["Gender: "] = "Gènere:";
-App::$strings["Status: "] = "Estatus:";
-App::$strings["Homepage: "] = "Pàgina Personal:";
-App::$strings["Description:"] = "Descripció:";
-App::$strings["Public Forum:"] = "Forum Públic:";
-App::$strings["Keywords: "] = "Paraules Clau:";
-App::$strings["Don't suggest"] = "No suggerir";
-App::$strings["Common connections:"] = "Connexions en comú:";
-App::$strings["Global Directory"] = "Directori Global";
-App::$strings["Local Directory"] = "Directori Local";
-App::$strings["Finding:"] = "Cercant:";
-App::$strings["next page"] = "pàgina següent";
-App::$strings["previous page"] = "pàgina anterior";
-App::$strings["Sort options"] = "Opcions per ordenar";
-App::$strings["Alphabetic"] = "Alfabètic";
-App::$strings["Reverse Alphabetic"] = "Alfabètic Invers";
-App::$strings["Newest to Oldest"] = "De més Nou a més Vell";
-App::$strings["Oldest to Newest"] = "De més Antic a més Nou";
-App::$strings["No entries (some entries may be hidden)."] = "Sense entrades (algunes podrien estar amagades).";
-App::$strings["Xchan Lookup"] = "Cerca a xchan";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca a xchan començant per (o webbie)";
-App::$strings["Not found."] = "No trobat.";
-App::$strings["Authorize application connection"] = "Autoritza la connexió de l'aplicació";
-App::$strings["Return to your app and insert this Securty Code:"] = "Torna a la teva aplicació i insereix aquest Codi de Seguretat:";
-App::$strings["Please login to continue."] = "Si et plau, identifica't per continuar.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix.";
-App::$strings["Page Title"] = "Títol de la pàgina";
-App::$strings["Channel added."] = "S'ha afegit el canal.";
-App::$strings["Tag removed"] = "S'ha tret l'etiqueta";
-App::$strings["Remove Item Tag"] = "Elimina l'etiqueta d'element";
-App::$strings["Select a tag to remove: "] = "Tria l'etiqueta a eliminar:";
-App::$strings["Remove"] = "Esborra";
-App::$strings["Continue"] = "Continua";
-App::$strings["Premium Channel Setup"] = "Configuració de Canals Premium";
-App::$strings["Enable premium channel connection restrictions"] = "Habilita les restriccions de connexió del canal premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Connexions potencials veuran el següent text abans de continuar:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No s'han proporcionat instruccions específiques pel propietari del canal.)";
-App::$strings["Restricted or Premium Channel"] = "Canal Restringit o Premium";
-App::$strings["Thing updated"] = "S'ha actualitzat la cosa";
-App::$strings["Object store: failed"] = "No s'ha pogut emmagatzemar l'objecte";
-App::$strings["Thing added"] = "S'ha afegit la cosa";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostra la cosa";
-App::$strings["item not found."] = "no s'ha trobat l'element.";
-App::$strings["Edit Thing"] = "Edita la cosa";
-App::$strings["Select a profile"] = "Tria un perfil";
-App::$strings["Post an activity"] = "Publica una activitat";
-App::$strings["Only sends to viewers of the applicable profile"] = "S'envia només a visitants del perfil corresponent";
-App::$strings["Name of thing e.g. something"] = "Nom de la cosa. Exemple: patata";
-App::$strings["URL of thing (optional)"] = "Adreça URL de la cosa (opcional)";
-App::$strings["URL for photo of thing (optional)"] = "Adreça URL de la foto d'una cosa (opcional)";
-App::$strings["Add Thing to your Profile"] = "Afegeix una cosa al teu perfil";
-App::$strings["Item not available."] = "Article no disponible.";
-App::$strings["Fetching URL returns error: %1\$s"] = "URL sol·licitada retorna error: %1\$s";
-App::$strings["Image uploaded but image cropping failed."] = "S'ha pujat la imatge però no s'ha pogut retallar.";
-App::$strings["Image resize failed."] = "No s'ha pogut escalar la imatge.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»";
-App::$strings["Image exceeds size limit of %d"] = "La imatge excedeix la mida límit de %d";
-App::$strings["Unable to process image."] = "Incapaç de processar l'imatge.";
-App::$strings["Photo not available."] = "Foto no disponible.";
-App::$strings["Upload File:"] = "Puja Arxiu:";
-App::$strings["Select a profile:"] = "Tria un perfil:";
-App::$strings["Upload Profile Photo"] = "Puja una Foto pel Perfil";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "salta aquest pas";
-App::$strings["select a photo from your photo albums"] = "tria una foto del teu àlbum de fotos";
-App::$strings["Crop Image"] = "Retalla Imatge";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Si us plau, retalla la imatge per a una optima visualització";
-App::$strings["Done Editing"] = "Edició Feta";
-App::$strings["Image uploaded successfully."] = "Imatge pujada exitosament.";
-App::$strings["Image upload failed."] = "La pujada de la imatge va fracassar.";
-App::$strings["Image size reduction [%s] failed."] = "La reducció de mida de la imatge [%s] va fracassar.";
+App::$strings["Unable to lookup recipient."] = "Incapaç de trobar el destinatari.";
+App::$strings["Unable to communicate with requested channel."] = "Incapaç de comunicar amb el canal demanat.";
+App::$strings["Cannot verify requested channel."] = "No puc verificar el canal demanat.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat.";
+App::$strings["Message deleted."] = "Missatge eliminat.";
+App::$strings["Message recalled."] = "Recupera el missatge.";
+App::$strings["Send Private Message"] = "Envia Missatge Privat";
+App::$strings["To:"] = "Per:";
+App::$strings["Subject:"] = "Assumpte:";
+App::$strings["Your message:"] = "El teu missatge:";
+App::$strings["Send"] = "Envia";
+App::$strings["Message not found."] = "Missatge no trobat.";
+App::$strings["Delete message"] = "Elimina el missatge";
+App::$strings["Recall message"] = "Recupera el missatge";
+App::$strings["Message has been recalled."] = "El missatge s'ha recuperat.";
+App::$strings["Private Conversation"] = "Conversació Privada";
+App::$strings["Delete conversation"] = "Conversació esborrada";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent.";
+App::$strings["Send Reply"] = "Envia Resposta";
+App::$strings["Hub not found."] = "Concentrador no trobat.";
+App::$strings["Some blurb about what to do when you're new here"] = "Algunes propostes sobre què pots fer quan ets nou per aquí";
App::$strings["Invalid item."] = "Article invàlid.";
App::$strings["Channel not found."] = "Canal no trobat.";
App::$strings["Page not found."] = "Pàgina no trobada.";
-App::$strings["Like/Dislike"] = "M'agrada / No m'agrada";
-App::$strings["This action is restricted to members."] = "Aquesta acció està restringida als membres.";
-App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "<a href=\"rmagic\">Entra amb la teva identitat \$Projectname</a> o <a href=\"register\">registra't a \$Projectname</a> per continuar.";
-App::$strings["Invalid request."] = "Sol·licitud invàlida.";
-App::$strings["thing"] = "cosa";
-App::$strings["Channel unavailable."] = "El canal està inactiu.";
-App::$strings["Previous action reversed."] = "S'ha desfet l'acció anterior.";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s està d'acord amb %3\$s de %2\$s";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s no està d'acord amb %3\$s de %2\$s";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s s'abstén en %3\$s de %2\$s";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s assistirà a %3\$s de %2\$s";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s no assistirà a %3\$s de %2\$s";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s potser assistirà a %3\$s de %2\$s";
-App::$strings["Action completed."] = "S'ha completat l'acció.";
-App::$strings["Thank you."] = "Gràcies.";
-App::$strings["Calendar entries imported."] = "Entrades de Calendari importades.";
-App::$strings["No calendar entries found."] = "No es troben entrades decalendari.";
-App::$strings["Event can not end before it has started."] = "L'esdeveniment ha de començar abans d'acabar.";
-App::$strings["Unable to generate preview."] = "No s'ha pogut generar la vista prèvia.";
-App::$strings["Event title and start time are required."] = "Cal indicar l'inici i el final de l'esdeveniment.";
-App::$strings["Event not found."] = "No s'ha trobat l'esdeveniment.";
-App::$strings["l, F j"] = "l, F j";
-App::$strings["Edit event"] = "Edita l'esdeveniment";
-App::$strings["Delete event"] = "Esborra l'esdeveniment";
-App::$strings["calendar"] = "calendari";
-App::$strings["Create New Event"] = "Crea un esdeveniment nou";
-App::$strings["Previous"] = "Anterior";
-App::$strings["Next"] = "Pròxim";
-App::$strings["Export"] = "Exporta";
-App::$strings["Import"] = "Importar";
-App::$strings["Event removed"] = "S'ha eliminat l'esdeveniment";
-App::$strings["Failed to remove event"] = "No s'ha pogut esborrar l'esdeveniment";
-App::$strings["Event details"] = "Detalls de l'esdeveniment";
-App::$strings["Starting date and Title are required."] = "La data d'inici i el títol són obligatoris.";
-App::$strings["Categories (comma-separated list)"] = "Categories (llista separada per comes)";
-App::$strings["Event Starts:"] = "Inici:";
-App::$strings["Finish date/time is not known or not relevant"] = "La data i hora de final no és coneguda o irrellevant";
-App::$strings["Event Finishes:"] = "Final:";
-App::$strings["Adjust for viewer timezone"] = "Ajusta a la zona horària del visitant.";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "És important per esdeveniments locals, però pels globals no és pràctic.";
-App::$strings["Title:"] = "Títol:";
-App::$strings["Share this event"] = "Comparteix aquest esdeveniment";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s esta seguint %2\$s de %3\$s";
-App::$strings["Public Sites"] = "Llocs públics";
-App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Els llocs llistats permeten registrar usuaris de la xarxa \$Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors.";
-App::$strings["Rate this hub"] = "Valora aquest hub";
-App::$strings["Site URL"] = "Adreça URL del web";
-App::$strings["Access Type"] = "Tipus d'accés";
-App::$strings["Registration Policy"] = "Condicions de registre";
-App::$strings["Location"] = "Localització";
-App::$strings["View hub ratings"] = "Mostra la valoració del hub";
-App::$strings["Rate"] = "Puntua";
-App::$strings["View ratings"] = "Mostra les valoracions";
-App::$strings["Edit post"] = "Modifica l'entrada";
-App::$strings["\$Projectname channel"] = "Canal de \$Projectname";
-App::$strings["Collection created."] = "Creada una col·lecció";
-App::$strings["Could not create collection."] = "No puc crear la col·lecció.";
-App::$strings["Collection updated."] = "Col·lecció actualitzada.";
-App::$strings["Create a collection of channels."] = "Creada una col·lecció de canals.";
-App::$strings["Collection Name: "] = "Nom de la Col·lecció:";
-App::$strings["Members are visible to other channels"] = "Els membres son visibles en altres canals";
-App::$strings["Collection removed."] = "Col·lecció esborrada.";
-App::$strings["Unable to remove collection."] = "Incapaç d'esborrar la col·lecció.";
-App::$strings["Collection Editor"] = "Editor de Col·leccions";
-App::$strings["Members"] = "Membres";
-App::$strings["All Connected Channels"] = "Tots els Canals Connectats";
-App::$strings["Click on a channel to add or remove."] = "Clic sobre el canal per afegir o esborrar.";
-App::$strings["Version %s"] = "Versió %s";
-App::$strings["Installed plugins/addons/apps:"] = "Plugins/addons/apps Instal·lats:";
-App::$strings["No installed plugins/addons/apps"] = "Plugins/addons/apps no instal·lats";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Aquest és un hub de \$Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat.";
-App::$strings["Tag: "] = "Etiqueta:";
-App::$strings["Last background fetch: "] = "Última actualització en rerefons:";
-App::$strings["Running at web location"] = "Correguent en el lloc web";
-App::$strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Ves a <a href=\"https://redmatrix.me\">redmatrix.me</a> per saber-ne més sobre \$Projectname.";
-App::$strings["Bug reports and issues: please visit"] = "Per informar d'errors o problemes ves a";
-App::$strings["\$projectname issues"] = "\$projectname emisions";
-App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com";
-App::$strings["Site Administrators"] = "Administradors del lloc";
-App::$strings["Unable to locate original post."] = "No s'ha pogut trobar l'entrada original.";
-App::$strings["Empty post discarded."] = "S'ha descartat l'entrada perquè no té contingut.";
-App::$strings["Executable content type not permitted to this channel."] = "No està permès el contingut de tipus executable en aquest canal.";
-App::$strings["System error. Post not saved."] = "Hi ha hagut un error del sistema. L'entrada no s'ha desat.";
-App::$strings["Unable to obtain post information from database."] = "No s'ha pogut obtenir informació de l'entrada a la base de dades.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris).";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Has assolit el teu limit de %1$.0f pàgines web.";
-App::$strings["No such group"] = "No existeix el grup";
-App::$strings["No such channel"] = "No existeix el canal";
-App::$strings["Search Results For:"] = "Cerca resultats per:";
-App::$strings["Collection is empty"] = "La coŀlecció és buida";
-App::$strings["Collection: "] = "Coŀlecció:";
-App::$strings["Connection: "] = "Connexió:";
-App::$strings["Invalid connection."] = "La connexió és invàlida.";
-App::$strings["No channel."] = "No s'ha trobat el canal";
-App::$strings["Common connections"] = "Connexions en comú";
-App::$strings["No connections in common."] = "No hi ha connexions en comú.";
-App::$strings["This site is not a directory server"] = "Aquest lloc web no és un servidor de directori";
-App::$strings["Could not access contact record."] = "No s'ha pogut accedir al llibre de contactes.";
-App::$strings["Could not locate selected profile."] = "No s'ha trobat el perfil indicat.";
-App::$strings["Connection updated."] = "S'ha actualitzat la connexió.";
-App::$strings["Failed to update connection record."] = "No s'ha pogut actualitzar el registre de connexió.";
-App::$strings["Blocked"] = "Bloquejades";
-App::$strings["Ignored"] = "Ignorades";
-App::$strings["Hidden"] = "Amagades";
-App::$strings["Archived"] = "Arxivades";
-App::$strings["Suggest new connections"] = "Suggereix noves connexions";
-App::$strings["New Connections"] = "Noves Connexions";
-App::$strings["Show pending (new) connections"] = "Mostra les connexions pendents (noves)";
-App::$strings["All Connections"] = "Totes les Connexions";
-App::$strings["Show all connections"] = "Mostra totes les connexions";
-App::$strings["Unblocked"] = "No bloquejades";
-App::$strings["Only show unblocked connections"] = "Mostra només les connexions no bloquejades";
-App::$strings["Only show blocked connections"] = "Mostra només les connexions bloquejades";
-App::$strings["Only show ignored connections"] = "Mostra només les connexions ignorades";
-App::$strings["Only show archived connections"] = "Mostra només les connexions arxivades";
-App::$strings["Only show hidden connections"] = "Mostra només les connexions amagades";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifica la connexió";
-App::$strings["Search your connections"] = "Cerca entre les teves connexions";
-App::$strings["Finding: "] = "Cercant:";
-App::$strings["Block Name"] = "Nom del Bloc";
-App::$strings["Block Title"] = "Títol del bloc";
-App::$strings["Item not found"] = "No s'ha trobat l'element";
-App::$strings["Item is not editable"] = "Article no editable";
-App::$strings["Delete item?"] = "Esborrar ítem";
-App::$strings["Insert YouTube video"] = "insereix video YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Insereix video Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Insereix audio Vorbis [.ogg]";
-App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++";
-App::$strings["Page owner information could not be retrieved."] = "La informació del propietari de la pàgina no va poder ser recuperada";
-App::$strings["Album not found."] = "Àlbum no trobat";
-App::$strings["Delete Album"] = "Esborra Àlbum";
-App::$strings["Delete Photo"] = "Esborra Foto";
-App::$strings["No photos selected"] = "No has seleccionat fotos";
-App::$strings["Access to this item is restricted."] = "L'accés a aquest element esta restringit.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges.";
-App::$strings["%1$.2f MB photo storage used."] = "S'estan fent servir %1$.2f MB de l'espai per a imatges.";
-App::$strings["Upload Photos"] = "Puja imatges";
-App::$strings["Enter a new album name"] = "Escriu el nom del nou àlbum";
-App::$strings["or select an existing one (doubleclick)"] = "o bé fes doble clic a un d'existent";
-App::$strings["Create a status post for this upload"] = "Genera una entrada a partir de la pujada";
-App::$strings["Album name could not be decoded"] = "No s'ha pogut descodificar el nom de l'àlbum";
-App::$strings["Contact Photos"] = "Imatges de contactes";
-App::$strings["Show Newest First"] = "Ordena de més nou a més antic";
-App::$strings["Show Oldest First"] = "Ordena de més antic a més nou";
-App::$strings["View Photo"] = "Mostra la imatge";
-App::$strings["Edit Album"] = "Modifica l'àlbum";
-App::$strings["Permission denied. Access to this item may be restricted."] = "S'ha denegat el permís. Pot ser que l'accés estigui restringit.";
-App::$strings["Photo not available"] = "La imatge no està disponible";
-App::$strings["Use as profile photo"] = "Fes-la imatge de perfil";
-App::$strings["Private Photo"] = "Imatge privada";
-App::$strings["View Full Size"] = "Mostra a mida completa";
-App::$strings["Edit photo"] = "Modifica la imatge";
-App::$strings["Rotate CW (right)"] = "Tomba cap a la dreta";
-App::$strings["Rotate CCW (left)"] = "Tomba cap a l'esquerra";
-App::$strings["Caption"] = "Llegenda";
-App::$strings["Add a Tag"] = "Afegeix una etiqueta";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple: @joan, @Paula_Peris, @mar@exemple.org";
-App::$strings["Flag as adult in album view"] = "Marca com a contingut adult";
-App::$strings["In This Photo:"] = "Hi apareixen:";
-App::$strings["Map"] = "Mapa";
-App::$strings["View Album"] = "Mostra'n l'àlbum";
-App::$strings["Recent Photos"] = "Imatges recents";
-App::$strings["Items tagged with: %s"] = "Elements etiquetats amb: %s";
-App::$strings["Search results for: %s"] = "Resultats de cerca per: %s";
-App::$strings["Profile Match"] = "Perfils compatibles";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "No tens paraules clau al perfil principal per poder cercar perfils semblants.";
-App::$strings["is interested in:"] = "té interès en:";
-App::$strings["No matches"] = "No s'han trobat perfils compatibles";
-App::$strings["Away"] = "Absent";
-App::$strings["Online"] = "En connexió";
-App::$strings["Select a bookmark folder"] = "Tria una carpeta d'interès";
-App::$strings["Save Bookmark"] = "Guarda Favorits";
-App::$strings["URL of bookmark"] = "URL de favorit";
-App::$strings["Description"] = "Descripció";
-App::$strings["Or enter new bookmark folder name"] = "O entra un nou nom de favorit";
-App::$strings["No more system notifications."] = "No hi ha més notificacions de sistema.";
-App::$strings["System Notifications"] = "Notificacions de sistema";
+App::$strings["Lorem Ipsum"] = "Lorem Ipsum";
App::$strings["network"] = "xarxa";
App::$strings["RSS"] = "RSS";
-App::$strings["Layout updated."] = "S'ha actualitzat la disposició.";
-App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripció de Pàgines";
-App::$strings["Layout not found."] = "No s'ha trobat cap disposició de pàgina.";
-App::$strings["Module Name:"] = "Nom del mòdul:";
-App::$strings["Layout Help"] = "Ajuda per la disposició de pàgina";
-App::$strings["- select -"] = "- selecciona -";
-App::$strings["Your service plan only allows %d channels."] = "El teu paquet de serveis només admet %d canals.";
-App::$strings["Nothing to import."] = "No hi ha res a importar.";
-App::$strings["Unable to download data from old server"] = "No s'han pogut descarregar les dades del servidor antic";
-App::$strings["Imported file is empty."] = "El fitxer importat està buit.";
-App::$strings["The data provided is not compatible with this project."] = "Les dades subministrades no son compatibles amb aquest projecte.";
-App::$strings["Warning: Database versions differ by %1\$d updates."] = "Atenció: Les versions de la Base de Dades difereixen en %1\$d actualitzacions.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor.";
-App::$strings["Channel clone failed. Import failed."] = "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar.";
-App::$strings["Cloned channel not found. Import failed."] = "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat.";
-App::$strings["You must be logged in to use this feature."] = "Has d'estar registrat per fer servir aquesta funcionalitat.";
-App::$strings["Import Channel"] = "Importa un canal";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació";
-App::$strings["File to Upload"] = "Fitxer a pujar";
-App::$strings["Or provide the old server/hub details"] = "O proveeix els detalls de l'antic servidor/concentrador";
-App::$strings["Your old identity address (xyz@example.com)"] = "La teva adreça de canal antiga. El format és canal@exemple.org";
-App::$strings["Your old login email address"] = "La teva adreça de correu electrònic antiga";
-App::$strings["Your old login password"] = "La teva contrasenya antiga";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària.";
-App::$strings["Make this hub my primary location"] = "Fes d'aquest hub la meva ubicació primària";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi.";
-App::$strings["Delete layout?"] = "Esborra format?";
-App::$strings["Layout Description (Optional)"] = "Descripció del Format (Opcional)";
-App::$strings["Layout Name"] = "Nom del Format Gràfic";
-App::$strings["Edit Layout"] = "Edita Format Gràfic";
-App::$strings["You must be logged in to see this page."] = "Has d'estar identificat per a veure aquesta pàgina.";
-App::$strings["Room not found"] = "No s'ha trobat la sala";
-App::$strings["Leave Room"] = "Abandona la sala";
-App::$strings["Delete This Room"] = "Elimina la sala";
-App::$strings["I am away right now"] = "Absent";
-App::$strings["I am online"] = "Estic connectat/da";
-App::$strings["Bookmark this room"] = "Fes favorit aquest xat";
-App::$strings["New Chatroom"] = "Nova sala per a Xerrar";
-App::$strings["Chatroom Name"] = "Nom del Xat";
-App::$strings["%1\$s's Chatrooms"] = "%1\$s de Xats";
-App::$strings["Menu not found."] = "Menú no trobat.";
-App::$strings["Unable to create element."] = "Incapaç de crear l'element.";
-App::$strings["Unable to update menu element."] = "Incapaç d'actualitzar un element del menú.";
-App::$strings["Unable to add menu element."] = "Incapaç d'afegir l'element del menú.";
-App::$strings["Menu Item Permissions"] = "Permisos de l'Article del Menú";
-App::$strings["(click to open/close)"] = "(clica per obrir/tancar)";
-App::$strings["Link Name"] = "Nom de l'Enllaç";
-App::$strings["Link or Submenu Target"] = "Enllaç o Submenú Objectiu";
-App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú";
-App::$strings["Use magic-auth if available"] = "Empra magic-auth si esta disponible";
-App::$strings["Open link in new window"] = "Obrir l'enllaç en una nova finestra";
-App::$strings["Order in list"] = "Ordre per llista";
-App::$strings["Higher numbers will sink to bottom of listing"] = "Els números més alts aniràn al fons de la llista";
-App::$strings["Submit and finish"] = "Envia i termina";
-App::$strings["Submit and continue"] = "Envia i continua";
-App::$strings["Menu:"] = "Menú:";
-App::$strings["Link Target"] = "Enllaç Objectiu";
-App::$strings["Edit menu"] = "Edita menú";
-App::$strings["Edit element"] = "Edita element";
-App::$strings["Drop element"] = "Deixa anar element";
-App::$strings["New element"] = "Nou element";
-App::$strings["Edit this menu container"] = "Edita aquest contenidor de menú";
-App::$strings["Add menu element"] = "Afegeix element de menú";
-App::$strings["Delete this menu item"] = "Esborra aquest article del menú";
-App::$strings["Edit this menu item"] = "Edita aquest article del menú";
-App::$strings["Menu item not found."] = "Article del menú no trobat.";
-App::$strings["Menu item deleted."] = "Article del menú eliminat.";
-App::$strings["Menu item could not be deleted."] = "Article del menú no es pot eliminar.";
-App::$strings["Edit Menu Element"] = "Editar Element del Menú";
-App::$strings["Link text"] = "Enllaç de text";
-App::$strings["Delete webpage?"] = "Esborrar pàgina web?";
-App::$strings["Page link title"] = "Títol de la pàgina enllaçada";
-App::$strings["Edit Webpage"] = "Edita la Pàgina Web";
-App::$strings["This directory server requires an access token"] = "Aquest servidor de directori requereix un token de accès";
-App::$strings["No valid account found."] = "No es troba un compte vàlid.";
-App::$strings["Password reset request issued. Check your email."] = "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic.";
-App::$strings["Site Member (%s)"] = "Lloc d'Usuari (%s)";
-App::$strings["Password reset requested at %s"] = "S'ha soŀlicitat restablir la contrasenya al hub %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans.";
-App::$strings["Password Reset"] = "Restabliment de contrasenya";
-App::$strings["Your password has been reset as requested."] = "S'ha restablert la vostra contrasenya.";
-App::$strings["Your new password is"] = "La nova contrasenya és";
-App::$strings["Save or copy your new password - and then"] = "Desa o copia la nova contrasenya, i després";
-App::$strings["click here to login"] = "fes clic aquí per iniciar sessió";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió.";
-App::$strings["Your password has changed at %s"] = "La teva contrasenya a %s ha canviat";
-App::$strings["Forgot your Password?"] = "No recordes la contrasenya?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions.";
-App::$strings["Email Address"] = "Adreça electrònica";
-App::$strings["Reset"] = "Reajustar";
-App::$strings["Website:"] = "Lloc web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal Remot [%s] (encara no es coneix en aquest lloc)";
-App::$strings["Rating (this information is public)"] = "Valoració (aquesta informació és pública)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)";
-App::$strings["Delete block?"] = "Eliminar bloc?";
-App::$strings["Edit Block"] = "Editar Bloc";
-App::$strings["Total invitation limit exceeded."] = "El límit total invitacions s'ha superat.";
-App::$strings["%s : Not a valid email address."] = "%s: adreça de correu electrònic no vàlida.";
-App::$strings["Please join us on Red"] = "Si us plau, uneix-te a Red";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc.";
-App::$strings["%s : Message delivery failed."] = "%s : Entrega del Missatge fallida.";
-App::$strings["%d message sent."] = array(
- 0 => "%d missatge enviat.",
- 1 => "%d missatges enviats.",
-);
-App::$strings["You have no more invitations available"] = "No té més invitacions disponibles";
-App::$strings["Send invitations"] = "Enviar invitacions";
-App::$strings["Enter email addresses, one per line:"] = "Introduïu les adreces de correu electrònic, una per línia:";
-App::$strings["Your message:"] = "El teu missatge:";
-App::$strings["Please join my community on \$Projectname."] = "Si us plau uneix-te la meva comunitat en \$Projectname.";
-App::$strings["You will need to supply this invitation code: "] = "Has de proporcionar aquest codi d'invitació:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registre en qualsevol lloc del \$Projectname (estàn tots interconnectats)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Entra a la meva adreça de xarxa al \$Projectname, a la barra de cerca del lloc.";
-App::$strings["or visit "] = "o visita";
-App::$strings["3. Click [Connect]"] = "3. Click [Conectar]";
-App::$strings["Location not found."] = "Situació que no es troba.";
-App::$strings["Primary location cannot be removed."] = "La ubicació primària no es pot treure.";
-App::$strings["No locations found."] = "No es troben els llocs.";
-App::$strings["Manage Channel Locations"] = "Gestionar Ubicacions de Canal";
-App::$strings["Location (address)"] = "Ubicació (direcció)";
-App::$strings["Primary Location"] = "Ubicació Primària";
-App::$strings["Drop location"] = "Treure la ubicació";
-App::$strings["Failed to create source. No channel selected."] = "Error en crear l'origen. Cap canal seleccionat.";
-App::$strings["Source created."] = "Origen creat.";
-App::$strings["Source updated."] = "Origen actualitzat.";
-App::$strings["*"] = "*";
-App::$strings["Manage remote sources of content for your channel."] = "Gestiona contingut per al teu canal d'origens remots";
-App::$strings["New Source"] = "Nou Origen";
-App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals.";
-App::$strings["Only import content with these words (one per line)"] = "Només importa contingut amb aquestes paraules (una per línia)";
-App::$strings["Leave blank to import all public content"] = "Deixar en blanc per importar tot el contingut públic";
-App::$strings["Channel Name"] = "Nom del canal";
-App::$strings["Source not found."] = "No s'ha trobat la font.";
-App::$strings["Edit Source"] = "Edita la font";
-App::$strings["Delete Source"] = "Esborra la font";
-App::$strings["Source removed"] = "S'ha esborrat la font";
-App::$strings["Unable to remove source."] = "No s'ha pogut esborrar la font.";
-App::$strings["Unable to update menu."] = "No s'ha pogut actualitzar el menú.";
-App::$strings["Unable to create menu."] = "No s'ha pogut crear el menú.";
-App::$strings["Menu Name"] = "Nom del menú";
-App::$strings["Unique name (not visible on webpage) - required"] = "Nom únic (no visible a la pàgina web) - requerit";
-App::$strings["Menu Title"] = "Títol del menú";
-App::$strings["Visible on webpage - leave empty for no title"] = "Visible a la pàgina web - deixar buit per a no posar títol";
-App::$strings["Allow Bookmarks"] = "Permetre Marcadors";
-App::$strings["Menu may be used to store saved bookmarks"] = "El menú es pot emprar per a guardar marcadors";
-App::$strings["Submit and proceed"] = "Envia i procedeix";
-App::$strings["Drop"] = "Menysprea";
-App::$strings["Bookmarks allowed"] = "Marcadors permesos";
-App::$strings["Delete this menu"] = "Esborra el menú";
-App::$strings["Edit menu contents"] = "Edita el contingut del menú";
-App::$strings["Edit this menu"] = "Edita el menú";
-App::$strings["Menu could not be deleted."] = "El menu no es pot esborrar.";
-App::$strings["Edit Menu"] = "Edita Menú";
-App::$strings["Add or remove entries to this menu"] = "Afegeix o esborra entrades a aquest menú";
-App::$strings["Menu name"] = "Nom del Menú";
-App::$strings["Must be unique, only seen by you"] = "Ha de ser únic, nomes vist per tú";
-App::$strings["Menu title"] = "Títol del menú";
-App::$strings["Menu title as seen by others"] = "Títol del menú vist pels altres";
-App::$strings["Allow bookmarks"] = "Marcadors permesos";
-App::$strings["Permission Denied."] = "Permisos Denegats.";
-App::$strings["File not found."] = "Arxiu no torbat.";
-App::$strings["Edit file permissions"] = "Edita els permisos d'arxiu";
-App::$strings["Set/edit permissions"] = "Canvia/edita permisos";
-App::$strings["Include all files and sub folders"] = "Inclou tots als arxius i subdirectoris";
-App::$strings["Return to file list"] = "Tornar al llistat d'arxius";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web";
-App::$strings["Share this file"] = "Comparteix l'arxiu";
-App::$strings["Show URL to this file"] = "Mostra la URL d'aquest arxiu";
-App::$strings["Notify your contacts about this file"] = "Notifica als teus contactes aquest arxiu";
-App::$strings["Contact not found."] = "Contacte no trobat.";
-App::$strings["Friend suggestion sent."] = "Suggeriment d'amistat enviada.";
-App::$strings["Suggest Friends"] = "Amics Suggerits";
-App::$strings["Suggest a friend for %s"] = "Suggereix un amic per a %s";
-App::$strings["Hub not found."] = "Concentrador no trobat.";
-App::$strings["Poke/Prod"] = "Emprenyat/Picat";
-App::$strings["poke, prod or do other things to somebody"] = "emprenyar, picar o fer altres coses a algú";
-App::$strings["Recipient"] = "Destinatari";
-App::$strings["Choose what you wish to do to recipient"] = "Tria que vols fer amb el destinatari";
-App::$strings["Make this post private"] = "Fer aquesta entrada privada";
-App::$strings["Invalid profile identifier."] = "Identificador invàlid de perfil.";
-App::$strings["Profile Visibility Editor"] = "Perfil del Editor de Visibilitat";
-App::$strings["Click on a contact to add or remove."] = "Clica sobre el contacte per afegir o esborrar.";
-App::$strings["Visible To"] = "Visible per";
-App::$strings["%s element installed"] = "%s element instal·lat";
-App::$strings["%s element installation failed"] = "%s instal·lació d'element va fallar";
-App::$strings["Profile not found."] = "Perfil no trobat.";
-App::$strings["Profile deleted."] = "Perfil eliminat.";
-App::$strings["Profile-"] = "Perfil-";
-App::$strings["New profile created."] = "Nou perfil creat.";
-App::$strings["Profile unavailable to clone."] = "Perfil que no es pot clonar.";
-App::$strings["Profile unavailable to export."] = "Perfil que no es pot exportar.";
-App::$strings["Profile Name is required."] = "Es requereix el Nom del Perfil.";
-App::$strings["Marital Status"] = "Estat Marital";
-App::$strings["Romantic Partner"] = "Company/a Romàntic";
-App::$strings["Likes"] = "Agrada";
-App::$strings["Dislikes"] = "Desagrada";
-App::$strings["Work/Employment"] = "Treball/Feina";
-App::$strings["Religion"] = "Religió";
-App::$strings["Political Views"] = "Idees Polítiques";
-App::$strings["Gender"] = "Gènere";
-App::$strings["Sexual Preference"] = "Preferència Sexual";
-App::$strings["Homepage"] = "Pàgina Personal";
-App::$strings["Interests"] = "Interessos";
-App::$strings["Address"] = "Adreça";
-App::$strings["Profile updated."] = "Perfil actualitzat.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Amaga la teva llista de contactes/amics dels visitadors d'aquest perfil?";
-App::$strings["Edit Profile Details"] = "Edita els Detalls del Perfil";
-App::$strings["View this profile"] = "Veure aquest perfil";
-App::$strings["Change Profile Photo"] = "Canviar Foto del Perfil";
-App::$strings["Create a new profile using these settings"] = "Crea un perfil nou amb aquests ajustos";
-App::$strings["Clone this profile"] = "Clonar aquest perfil";
-App::$strings["Delete this profile"] = "Elimina aquest perfil";
-App::$strings["Import profile from file"] = "Importa perfil des d'un arxiu";
-App::$strings["Export profile to file"] = "Exporta perfil a un arxiu";
-App::$strings["Profile Name:"] = "Nom del Perfil:";
-App::$strings["Your Full Name:"] = "El Teu Nom Complet";
-App::$strings["Title/Description:"] = "Títol/Descripció:";
-App::$strings["Your Gender:"] = "El Teu Gènere:";
-App::$strings["Birthday :"] = "Aniversari:";
-App::$strings["Street Address:"] = "Carrer:";
-App::$strings["Locality/City:"] = "Població/Ciutat:";
-App::$strings["Postal/Zip Code:"] = "Codi Postal:";
-App::$strings["Country:"] = "País:";
-App::$strings["Region/State:"] = "Regió/Estat:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Marital Estatus:";
-App::$strings["Who: (if applicable)"] = "Qui: (si es aplicable)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Examples: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since [date]:"] = "Des de [data]:";
-App::$strings["Homepage URL:"] = "Pàgina Personal URL:";
-App::$strings["Religious Views:"] = "Creences Religioses:";
-App::$strings["Keywords:"] = "Paraules Clau:";
-App::$strings["Example: fishing photography software"] = "Exemple: software de fotografia submarina";
-App::$strings["Used in directory listings"] = "Emprat en els llistats de directoris";
-App::$strings["Tell us about yourself..."] = "Quelcom sobre tú:";
-App::$strings["Hobbies/Interests"] = "Aficions/Interessos";
-App::$strings["Contact information and Social Networks"] = "Informació de Contacte i Xarxes Socials";
-App::$strings["My other channels"] = "Els meus altres canals";
-App::$strings["Musical interests"] = "Interessos Musicals";
-App::$strings["Books, literature"] = "Llibres, literatura";
-App::$strings["Television"] = "Televisió";
-App::$strings["Film/dance/culture/entertainment"] = "Pel·lícules/Dansa/Cultura/Entreteniment";
-App::$strings["Love/romance"] = "Amor/Romace";
-App::$strings["Work/employment"] = "Treball/feina";
-App::$strings["School/education"] = "Escola/educació";
-App::$strings["This is your default profile."] = "Aquest es el teu perfil per defecte";
-App::$strings["Age: "] = "Edat:";
-App::$strings["Edit/Manage Profiles"] = "Edita/Gestiona Perfils";
-App::$strings["Add profile things"] = "Afegeix coses al perfil";
-App::$strings["Include desirable objects in your profile"] = "Inclou objectius desitjables al teu perfil";
-App::$strings["No ratings"] = "No valorat";
-App::$strings["Ratings"] = "Valoracions";
-App::$strings["Rating: "] = "Valoració:";
-App::$strings["Website: "] = "Lloc web:";
-App::$strings["Description: "] = "Descripció:";
-App::$strings["Source of Item"] = "Origen de l'article";
-App::$strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuració";
-App::$strings["Could not connect to database."] = "No puc connectar amb la base de dades";
-App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS.";
-App::$strings["Could not create table."] = "No puc crear la taula.";
-App::$strings["Your site database has been installed."] = "La teva base de dades del lloc s'ha instal·lat.";
-App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades.";
-App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Si us plau, consulteu el fitxer \"install / INSTALL.txt\".";
-App::$strings["System check"] = "Comprovació del sistema";
-App::$strings["Check again"] = "Comprova de nou";
-App::$strings["Database connection"] = "Connexió de base de dades";
-App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per tal d'instaŀlar \$Projectname cal configurar la connexió a la base de dades.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar.";
-App::$strings["Database Server Name"] = "Base de Dades Nom del Servidor";
-App::$strings["Default is localhost"] = "Per defecte es localhost";
-App::$strings["Database Port"] = "Port per a la Base de Dades";
-App::$strings["Communication port number - use 0 for default"] = "Numero del port de comunicacions - empra 0 per defecte";
-App::$strings["Database Login Name"] = "Base de Dades Nom d'Accès";
-App::$strings["Database Login Password"] = "Base de Dades Contrasenya d'Accès";
-App::$strings["Database Name"] = "Nom de la Base de Dades";
-App::$strings["Database Type"] = "Tipus de Base de Dades";
-App::$strings["Site administrator email address"] = "Adreça de correu de l'administrador del lloc";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador.";
-App::$strings["Website URL"] = "URL del lloc web";
-App::$strings["Please use SSL (https) URL if available."] = "Si us plau, empra SSL (https) URL si està disponible.";
-App::$strings["Please select a default timezone for your website"] = "Si us plau, tria la zona horària del teu lloc web";
-App::$strings["Site settings"] = "Ajustos del lloc";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web.";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron.";
-App::$strings["PHP executable path"] = "Camí cap l'executable de PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació.";
-App::$strings["Command line PHP"] = "Línia d'ordres de PHP";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat.";
-App::$strings["This is required for message delivery to work."] = "Això es requereix per que funcioni l'entrega de missatges.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada.";
-App::$strings["You can adjust these settings in the servers php.ini."] = "Pots ajustar aquests valors a l'arxiu php.ini del servidor";
-App::$strings["PHP upload limits"] = "Límits de pujada de PHP";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Generate encryption keys"] = "Generar claus de xifrat";
-App::$strings["libCurl PHP module"] = "mòdul PHP libCurl ";
-App::$strings["GD graphics PHP module"] = "mòdul PHP GD gràfics";
-App::$strings["OpenSSL PHP module"] = "mòdul PHP OpenSSL";
-App::$strings["mysqli or postgres PHP module"] = "mòdul PHP mysqli o postgres";
-App::$strings["mb_string PHP module"] = "mòdul PHP mb_string";
-App::$strings["mcrypt PHP module"] = "mòdul PHP mcrypt";
-App::$strings["xml PHP module"] = "Mòdul xml de PHP";
-App::$strings["Apache mod_rewrite module"] = "mòdul Apache mod_rewrite";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat.";
-App::$strings["proc_open"] = "proc_open";
-App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Error: el mòdul PHP libCURL es requereix però no està instal·lat.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Error: el mòdul PHP openssl es requereix però no està instal·lat.";
-App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Error: el mòdul PHP mb_string es requereix però no està instal·lat.";
-App::$strings["Error: mcrypt PHP module required but not installed."] = "Error: el mòdul PHP mcrypt es requereix però no està instal·lat.";
-App::$strings["Error: xml PHP module required for DAV but not installed."] = "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\".";
-App::$strings[".htconfig.php is writable"] = "L'arxiu «.htconfig.php» es pot modificar";
-App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red.";
-App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta.";
-App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté.";
-App::$strings["%s is writable"] = "Es pot escriure a %s";
-App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web.";
-App::$strings["store is writable"] = "Es pot escriure al magatzem (store)";
-App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc";
-App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!";
-App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub.";
-App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu.";
-App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important.";
-App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts.";
-App::$strings["SSL certificate validation"] = "Validació del certificat SSL";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:";
-App::$strings["Url rewrite is working"] = "Es poden reescriure les URL a «.htaccess»";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut.";
-App::$strings["Errors encountered creating database tables."] = "S'han produït errors mentre es creaven taules a la base de dades.";
-App::$strings["<h1>What next</h1>"] = "<h1>I ara què?</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\".";
-App::$strings["OpenID protocol error. No ID returned."] = "Error del protocol OpenID. No ha retornat ID";
-App::$strings["Welcome %s. Remote authentication successful."] = "Benvingut %s. Autenticació remota reeixida.";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetat %3\$s de %2\$s amb %4\$s";
-App::$strings["Export Channel"] = "Exportar Canal";
-App::$strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exporta la informació bàsica del canal a un petit arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/centre, però no conté el contingut del canal.";
-App::$strings["Export Content"] = "Exportar el Contingut";
-App::$strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporta la informació del canal i tot el contingut a un arxiu de recolzament JSON. Això còpia totes les teves connexions, permisos, perfil i dades i tot el contingut, però normalment no es pot importar en un altre canal d'un nou lloc/centre donat que l'arxiu acostuma a ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar.";
-App::$strings["No connections."] = "Sense connexions.";
-App::$strings["Visit %s's profile [%s]"] = "Visita el perfil [%s] de %s";
-App::$strings["invalid target signature"] = "Signatura objectiu invàlida";
App::$strings["Theme settings updated."] = "Ajustos de tema actualitzats.";
App::$strings["Site"] = "Lloc";
App::$strings["Accounts"] = "Comptes";
@@ -1663,17 +1065,18 @@ App::$strings["Destination URL"] = "URL de Destí";
App::$strings["Mark hub permanently offline"] = "Marca el concentrador coma permanentment fora de línia";
App::$strings["Empty queue for this hub"] = "Cua buida per aquest concentrador";
App::$strings["Last known contact"] = "Últim contacte conegut";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "%s usuari bloquejat/desbloquejat",
- 1 => "%s usuaris bloquejats/desbloquejats",
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "S'ha [des]bloquejat %s usuari",
+ 1 => "S'han [des]bloquejat %s comptes",
);
-App::$strings["%s user deleted"] = array(
- 0 => "%s usuari esborrat",
- 1 => "%s usuaris esborrats",
+App::$strings["%s account deleted"] = array(
+ 0 => "S'ha esborrat %s compte",
+ 1 => "S'han esborrat %s comptes",
);
App::$strings["Account not found"] = "Compte no trobat";
-App::$strings["User '%s' blocked"] = "Usuari '%s' bloquejat";
-App::$strings["User '%s' unblocked"] = "Usuari '%s' desbloquejat";
+App::$strings["Account '%s' deleted"] = "S'ha esborrat el compte '%s'";
+App::$strings["Account '%s' blocked"] = "S'ha bloquejat el compte '%s'";
+App::$strings["Account '%s' unblocked"] = "S'ha desbloquejat el compte '%s'";
App::$strings["Users"] = "Usuaris";
App::$strings["select all"] = "Sel·leciona-ho tot";
App::$strings["User registrations waiting for confirm"] = "Registres d'usuaris pendents de confirmació";
@@ -1687,8 +1090,8 @@ App::$strings["Register date"] = "Data de registre";
App::$strings["Last login"] = "Darrera identificació";
App::$strings["Expires"] = "Expira";
App::$strings["Service Class"] = "Classe de Servei";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Tria els usuaris que s'esborraran!\\n\\nTotes les publicacions d'aquests usuaris en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? ";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'usuari {0} sera esborrat!\\n\\nTotes les publicacions d'aquest usuari en aquest lloc s'eliminarà de forma permanent!\\n\\nEstas segur?";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Els comptes seleccionats seran eliminats!\\n\\nTot el que hagin publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur de continuar?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'usuari {0} serà eliminat!\\n\\nTot el que hagi publicat l'usuari en aquest lloc serà esborrat de permanentment!\\n\\nN'estàs segur?";
App::$strings["%s channel censored/uncensored"] = array(
0 => "%s canal censurat/no censurat",
1 => "%s canals censurats/no censurats",
@@ -1712,6 +1115,7 @@ App::$strings["Uncensor"] = "No censurat";
App::$strings["Allow Code"] = "Permet Codi";
App::$strings["Disallow Code"] = "No Permet Codi";
App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Adreça";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? ";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?";
App::$strings["Plugin %s disabled."] = "Plugin %s desactivat.";
@@ -1741,8 +1145,401 @@ App::$strings["Help text"] = "Text d'ajuda";
App::$strings["Additional info (optional)"] = "Informació adicional (opcional)";
App::$strings["Field definition not found"] = "No es troba la definició del camp";
App::$strings["Edit Profile Field"] = "Camp d'Edició del Perfil";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Aquest ajust requereix un procés espedial i l'edició esta bloquejada.";
+App::$strings["Configuration Editor"] = "Editor de Configuració";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica.";
+App::$strings["Authorize application connection"] = "Autoritza la connexió de l'aplicació";
+App::$strings["Return to your app and insert this Securty Code:"] = "Torna a la teva aplicació i insereix aquest Codi de Seguretat:";
+App::$strings["Please login to continue."] = "Si et plau, identifica't per continuar.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix.";
+App::$strings["Layout updated."] = "S'ha actualitzat el disseny";
+App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripció de Pàgines";
+App::$strings["Layout not found."] = "No s'ha trobat el disseny de pàgina.";
+App::$strings["Module Name:"] = "Nom del mòdul:";
+App::$strings["Layout Help"] = "Ajuda sobre el disseny de pàgina";
+App::$strings["App installed."] = "Aplicació instal·lada.";
+App::$strings["Malformed app."] = "Aplicació amb errors";
+App::$strings["Embed code"] = "Codi embegut";
+App::$strings["Edit App"] = "Edita l'Aplicació";
+App::$strings["Create App"] = "Crea l'Aplicació";
+App::$strings["Name of app"] = "Nom de l'Aplicació";
+App::$strings["Location (URL) of app"] = "Ubicació (URL) de l'aplicació";
+App::$strings["Description"] = "Descripció";
+App::$strings["Photo icon URL"] = "Foto icona URL";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
+App::$strings["Version ID"] = "Versió ID";
+App::$strings["Price of app"] = "Preu de l'aplicació";
+App::$strings["Location (URL) to purchase app"] = "Ubicació (URL) per comprar l'aplicació";
+App::$strings["Page owner information could not be retrieved."] = "La informació del propietari de la pàgina no va poder ser recuperada";
+App::$strings["Album not found."] = "Àlbum no trobat";
+App::$strings["Delete Album"] = "Esborra Àlbum";
+App::$strings["Delete Photo"] = "Esborra Foto";
+App::$strings["Public access denied."] = "Accés públic denegat.";
+App::$strings["No photos selected"] = "No has seleccionat fotos";
+App::$strings["Access to this item is restricted."] = "L'accés a aquest element esta restringit.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hi ha en ús %1$.2f MB de %2$.2f MB de l'espai d'imatges.";
+App::$strings["%1$.2f MB photo storage used."] = "Hi ha en ús %1$.2f MB de l'espai d'imatges.";
+App::$strings["Upload Photos"] = "Puja imatges";
+App::$strings["Enter a new album name"] = "Escriu el nom del nou àlbum";
+App::$strings["or select an existing one (doubleclick)"] = "o bé fes doble clic a un d'existent";
+App::$strings["Create a status post for this upload"] = "Genera una entrada a partir de la pujada";
+App::$strings["Album name could not be decoded"] = "No s'ha pogut descodificar el nom de l'àlbum";
+App::$strings["Contact Photos"] = "Imatges de contactes";
+App::$strings["Show Newest First"] = "Ordena de més nou a més antic";
+App::$strings["Show Oldest First"] = "Ordena de més antic a més nou";
+App::$strings["View Photo"] = "Mostra la imatge";
+App::$strings["Edit Album"] = "Modifica l'àlbum";
+App::$strings["Permission denied. Access to this item may be restricted."] = "S'ha denegat el permís. Pot ser que l'accés estigui restringit.";
+App::$strings["Photo not available"] = "La imatge no està disponible";
+App::$strings["Use as profile photo"] = "Fes-la imatge de perfil";
+App::$strings["Private Photo"] = "Imatge privada";
+App::$strings["Previous"] = "Anterior";
+App::$strings["View Full Size"] = "Mostra a mida completa";
+App::$strings["Next"] = "Pròxim";
+App::$strings["Remove"] = "Esborra";
+App::$strings["Edit photo"] = "Modifica la imatge";
+App::$strings["Rotate CW (right)"] = "Tomba cap a la dreta";
+App::$strings["Rotate CCW (left)"] = "Tomba cap a l'esquerra";
+App::$strings["Caption"] = "Llegenda";
+App::$strings["Add a Tag"] = "Afegeix una etiqueta";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple: @joan, @Paula_Peris, @mar@exemple.org";
+App::$strings["Flag as adult in album view"] = "Marca com a contingut adult";
+App::$strings["In This Photo:"] = "Hi apareixen:";
+App::$strings["Map"] = "Mapa";
+App::$strings["View Album"] = "Mostra'n l'àlbum";
+App::$strings["Recent Photos"] = "Imatges recents";
+App::$strings["Item not available."] = "Article no disponible.";
+App::$strings["sent you a private message"] = "Se t'ha enviat un missatge privat";
+App::$strings["added your channel"] = "el teu canal s'ha afegit";
+App::$strings["posted an event"] = "enviat un event";
+App::$strings["Block Name"] = "Nom del Bloc";
+App::$strings["Block Title"] = "Títol del bloc";
+App::$strings["Poke/Prod"] = "Emprenyat/Picat";
+App::$strings["poke, prod or do other things to somebody"] = "emprenyar, picar o fer altres coses a algú";
+App::$strings["Recipient"] = "Destinatari";
+App::$strings["Choose what you wish to do to recipient"] = "Tria que vols fer amb el destinatari";
+App::$strings["Make this post private"] = "Fer aquesta entrada privada";
+App::$strings["Bookmark added"] = "Favorit afegit";
+App::$strings["My Bookmarks"] = "Els Meus Favorits";
+App::$strings["My Connections Bookmarks"] = "Les connexions dels meus Favorits";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Has creat %1$.0f de %2$.0f canals permesos.";
+App::$strings["Create a new channel"] = "Crear un nou canal";
+App::$strings["Current Channel"] = "Canal Actual";
+App::$strings["Switch to one of your channels by selecting it."] = "Canviar a un altre dels teus canals seleccionant-ho.";
+App::$strings["Default Channel"] = "Canal per Defecte";
+App::$strings["Make Default"] = "Estableix com a Predeterminat";
+App::$strings["%d new messages"] = "%d missatges nous";
+App::$strings["%d new introductions"] = "%d noves presentacions";
+App::$strings["Delegated Channels"] = "Canals Delegats";
+App::$strings["Profile Match"] = "Perfils compatibles";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "No tens paraules clau al perfil principal per poder cercar perfils semblants.";
+App::$strings["is interested in:"] = "té interès en:";
+App::$strings["No matches"] = "No s'han trobat perfils compatibles";
+App::$strings["Members"] = "Membres";
+App::$strings["All Connected Channels"] = "Tots els Canals Connectats";
+App::$strings["Click on a channel to add or remove."] = "Clic sobre el canal per afegir o esborrar.";
+App::$strings["Poll"] = "Enquesta";
+App::$strings["View Results"] = "Mostra els resultats";
+App::$strings["You must be logged in to see this page."] = "Has d'estar identificat per a veure aquesta pàgina.";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficients. Petició redirigida a la pàgina del perfil.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Benvingut %s. Autenticació remota reeixida.";
+App::$strings["Room not found"] = "No s'ha trobat la sala";
+App::$strings["Leave Room"] = "Abandona la sala";
+App::$strings["Delete This Room"] = "Elimina la sala";
+App::$strings["I am away right now"] = "Absent";
+App::$strings["I am online"] = "Estic connectat/da";
+App::$strings["Bookmark this room"] = "Fes favorit aquest xat";
+App::$strings["New Chatroom"] = "Nova sala per a Xerrar";
+App::$strings["Chatroom Name"] = "Nom del Xat";
+App::$strings["%1\$s's Chatrooms"] = "%1\$s de Xats";
+App::$strings["Away"] = "Absent";
+App::$strings["Online"] = "En connexió";
+App::$strings["Fetching URL returns error: %1\$s"] = "URL sol·licitada retorna error: %1\$s";
+App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname - Convidats: Nom d'usuari: {el teu correu electrònic}, Contrasenya: +++";
+App::$strings["No channel."] = "No s'ha trobat el canal";
+App::$strings["Common connections"] = "Connexions en comú";
+App::$strings["No connections in common."] = "No hi ha connexions en comú.";
+App::$strings["Image uploaded but image cropping failed."] = "S'ha pujat la imatge però no s'ha pogut retallar.";
+App::$strings["Image resize failed."] = "No s'ha pogut escalar la imatge.";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»";
+App::$strings["Image exceeds size limit of %d"] = "La imatge excedeix la mida límit de %d";
+App::$strings["Unable to process image."] = "Incapaç de processar l'imatge.";
+App::$strings["Photo not available."] = "Foto no disponible.";
+App::$strings["Upload File:"] = "Puja Arxiu:";
+App::$strings["Select a profile:"] = "Tria un perfil:";
+App::$strings["Upload Profile Photo"] = "Puja una Foto pel Perfil";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "salta aquest pas";
+App::$strings["select a photo from your photo albums"] = "tria una foto del teu àlbum de fotos";
+App::$strings["Crop Image"] = "Retalla Imatge";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Si us plau, retalla la imatge per a una optima visualització";
+App::$strings["Done Editing"] = "Edició Feta";
+App::$strings["Image uploaded successfully."] = "Imatge pujada exitosament.";
+App::$strings["Image upload failed."] = "La pujada de la imatge va fracassar.";
+App::$strings["Image size reduction [%s] failed."] = "La reducció de mida de la imatge [%s] va fracassar.";
+App::$strings["Continue"] = "Continua";
+App::$strings["Premium Channel Setup"] = "Configuració de Canals Premium";
+App::$strings["Enable premium channel connection restrictions"] = "Habilita les restriccions de connexió del canal premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Aquest canal pot requerir passos addicionals o reconeixement de les següents condicions abans de connectar:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Connexions potencials veuran el següent text abans de continuar:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuar, certifico que he complert amb totes les instruccions proporcionades en aquesta pàgina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No s'han proporcionat instruccions específiques pel propietari del canal.)";
+App::$strings["Restricted or Premium Channel"] = "Canal Restringit o Premium";
+App::$strings["Invalid request identifier."] = "Sol·licitud d'identificació invàlida.";
+App::$strings["Discard"] = "Descarta";
+App::$strings["Ignore"] = "Ignora";
+App::$strings["No more system notifications."] = "No hi ha més notificacions de sistema.";
+App::$strings["System Notifications"] = "Notificacions de sistema";
+App::$strings["Blocked"] = "Bloquejades";
+App::$strings["Ignored"] = "Ignorades";
+App::$strings["Hidden"] = "Amagades";
+App::$strings["Archived"] = "Arxivades";
+App::$strings["Suggest new connections"] = "Suggereix noves connexions";
+App::$strings["New Connections"] = "Noves Connexions";
+App::$strings["Show pending (new) connections"] = "Mostra les connexions pendents (noves)";
+App::$strings["All Connections"] = "Totes les Connexions";
+App::$strings["Show all connections"] = "Mostra totes les connexions";
+App::$strings["Unblocked"] = "No bloquejades";
+App::$strings["Only show unblocked connections"] = "Mostra només les connexions no bloquejades";
+App::$strings["Only show blocked connections"] = "Mostra només les connexions bloquejades";
+App::$strings["Only show ignored connections"] = "Mostra només les connexions ignorades";
+App::$strings["Only show archived connections"] = "Mostra només les connexions arxivades";
+App::$strings["Only show hidden connections"] = "Mostra només les connexions amagades";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifica la connexió";
+App::$strings["Search your connections"] = "Cerca entre les teves connexions";
+App::$strings["Finding: "] = "Cercant:";
+App::$strings["Profile not found."] = "Perfil no trobat.";
+App::$strings["Profile deleted."] = "Perfil eliminat.";
+App::$strings["Profile-"] = "Perfil-";
+App::$strings["New profile created."] = "Nou perfil creat.";
+App::$strings["Profile unavailable to clone."] = "Perfil que no es pot clonar.";
+App::$strings["Profile unavailable to export."] = "Perfil que no es pot exportar.";
+App::$strings["Profile Name is required."] = "Es requereix el Nom del Perfil.";
+App::$strings["Marital Status"] = "Estat Marital";
+App::$strings["Romantic Partner"] = "Company/a Romàntic";
+App::$strings["Likes"] = "M'agrada";
+App::$strings["Dislikes"] = "No m'agrada";
+App::$strings["Work/Employment"] = "Treball/Feina";
+App::$strings["Religion"] = "Religió";
+App::$strings["Political Views"] = "Idees Polítiques";
+App::$strings["Gender"] = "Gènere";
+App::$strings["Sexual Preference"] = "Preferència Sexual";
+App::$strings["Homepage"] = "Pàgina Personal";
+App::$strings["Interests"] = "Interessos";
+App::$strings["Location"] = "Localització";
+App::$strings["Profile updated."] = "Perfil actualitzat.";
+App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Amaga la teva llista de contactes/amics dels visitadors d'aquest perfil?";
+App::$strings["Edit Profile Details"] = "Edita els Detalls del Perfil";
+App::$strings["View this profile"] = "Veure aquest perfil";
+App::$strings["Change Profile Photo"] = "Canviar Foto del Perfil";
+App::$strings["Create a new profile using these settings"] = "Crea un perfil nou amb aquests ajustos";
+App::$strings["Clone this profile"] = "Clonar aquest perfil";
+App::$strings["Delete this profile"] = "Elimina aquest perfil";
+App::$strings["Import profile from file"] = "Importa perfil des d'un arxiu";
+App::$strings["Export profile to file"] = "Exporta perfil a un arxiu";
+App::$strings["Profile Name:"] = "Nom del Perfil:";
+App::$strings["Your Full Name:"] = "El Teu Nom Complet";
+App::$strings["Title/Description:"] = "Títol/Descripció:";
+App::$strings["Your Gender:"] = "El Teu Gènere:";
+App::$strings["Birthday :"] = "Aniversari:";
+App::$strings["Street Address:"] = "Carrer:";
+App::$strings["Locality/City:"] = "Població/Ciutat:";
+App::$strings["Postal/Zip Code:"] = "Codi Postal:";
+App::$strings["Country:"] = "País:";
+App::$strings["Region/State:"] = "Regió/Estat:";
+App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Marital Estatus:";
+App::$strings["Who: (if applicable)"] = "Qui: (si es aplicable)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Examples: cathy123, Cathy Williams, cathy@example.com";
+App::$strings["Since [date]:"] = "Des de [data]:";
+App::$strings["Homepage URL:"] = "Pàgina Personal URL:";
+App::$strings["Religious Views:"] = "Creences Religioses:";
+App::$strings["Keywords:"] = "Paraules Clau:";
+App::$strings["Example: fishing photography software"] = "Exemple: software de fotografia submarina";
+App::$strings["Used in directory listings"] = "Emprat en els llistats de directoris";
+App::$strings["Tell us about yourself..."] = "Escriu unes línies sobre tu:";
+App::$strings["Hobbies/Interests"] = "Aficions/Interessos";
+App::$strings["Contact information and Social Networks"] = "Informació de Contacte i Xarxes Socials";
+App::$strings["My other channels"] = "Els meus altres canals";
+App::$strings["Musical interests"] = "Interessos Musicals";
+App::$strings["Books, literature"] = "Llibres, literatura";
+App::$strings["Television"] = "Televisió";
+App::$strings["Film/dance/culture/entertainment"] = "Pel·lícules/Dansa/Cultura/Entreteniment";
+App::$strings["Love/romance"] = "Amor/Romace";
+App::$strings["Work/employment"] = "Treball/feina";
+App::$strings["School/education"] = "Escola/educació";
+App::$strings["This is your default profile."] = "Aquest es el teu perfil per defecte";
+App::$strings["Age: "] = "Edat:";
+App::$strings["Edit/Manage Profiles"] = "Edita/Gestiona Perfils";
+App::$strings["Add profile things"] = "Afegeix coses al perfil";
+App::$strings["Include desirable objects in your profile"] = "Inclou objectius desitjables al teu perfil";
+App::$strings["Could not access contact record."] = "No s'ha pogut accedir al llibre de contactes.";
+App::$strings["Could not locate selected profile."] = "No s'ha trobat el perfil indicat.";
+App::$strings["Connection updated."] = "S'ha actualitzat la connexió.";
+App::$strings["Failed to update connection record."] = "No s'ha pogut actualitzar el registre de connexió.";
+App::$strings["is now connected to"] = "Ara està conectat amb";
+App::$strings["Could not access address book record."] = "No puc accedir al registre del contacte";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Ha fallat la recàrrega - el canal es actualment inaccesible.";
+App::$strings["Unable to set address book parameters."] = "No es poden ajustar els paràmetres dels contactes.";
+App::$strings["Connection has been removed."] = "S'han eliminat les conexions.";
+App::$strings["View %s's profile"] = "Mostra el perfil de %s";
+App::$strings["Refresh Permissions"] = "Recarrega els Permissos";
+App::$strings["Fetch updated permissions"] = "Obté els permisos actualitzats";
+App::$strings["Recent Activity"] = "Activitat Recent";
+App::$strings["View recent posts and comments"] = "Mostra les entrades i comentaris recents";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió";
+App::$strings["This connection is blocked!"] = "Aquesta connexió està bloquejada!";
+App::$strings["Unignore"] = "Inhabilita";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora (o Considera) les communicacions entrants d'aquesta connexió";
+App::$strings["This connection is ignored!"] = "Aquesta connexió es ignorada!";
+App::$strings["Unarchive"] = "Desarxiva";
+App::$strings["Archive"] = "Arxiva";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut ";
+App::$strings["This connection is archived!"] = "Aquesta connexió està arxivada!";
+App::$strings["Unhide"] = "Mostra";
+App::$strings["Hide"] = "Amaga";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Amaga (o Mostra) aquesta connexió de les altres connexions teves";
+App::$strings["This connection is hidden!"] = "Aquesta connexió està amagada!";
+App::$strings["Delete this connection"] = "Elimina aquesta connexió";
+App::$strings["Approve this connection"] = "Apccepta aquesta connexió";
+App::$strings["Accept connection to allow communication"] = "Accepta la connexió per permetre la comunicació";
+App::$strings["Set Affinity"] = "Ajusta l'Afinitat";
+App::$strings["Set Profile"] = "Ajusta el Perfil";
+App::$strings["Set Affinity & Profile"] = "Ajusta Afinitat i Perfil";
+App::$strings["Apply these permissions automatically"] = "Aplica aquests permissos automaticament";
+App::$strings["This connection's address is"] = "La direcció d'aquesta connexió es";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions.";
+App::$strings["Slide to adjust your degree of friendship"] = "Llisca per ajustar el nivell d'amistat";
+App::$strings["Slide to adjust your rating"] = "Llisca per ajustar la valoració";
+App::$strings["Optionally explain your rating"] = "Opcionalment pots explicar la teva valoració";
+App::$strings["Custom Filter"] = "Filtre a mida";
+App::$strings["Only import posts with this text"] = "Importa exclusivament entrades amb aquest text";
+App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades";
+App::$strings["Do not import posts with this text"] = "No importar entrades amb aquest text";
+App::$strings["This information is public!"] = "Aquesta informació es pública!";
+App::$strings["Connection Pending Approval"] = "Connexió Pendent d'Aprovació";
+App::$strings["Connection Request"] = "Petició de Connexió";
+App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió.";
+App::$strings["Approve Later"] = "Aprovar més tard";
+App::$strings["inherited"] = "heretat";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur.";
+App::$strings["Their Settings"] = "Els seus Ajustos";
+App::$strings["My Settings"] = "Els Meus Ajustos";
+App::$strings["Individual Permissions"] = "Permisos Individuals";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats.";
+App::$strings["Last update:"] = "Darrera actualització:";
+App::$strings["Invalid profile identifier."] = "Identificador invàlid de perfil.";
+App::$strings["Profile Visibility Editor"] = "Perfil del Editor de Visibilitat";
+App::$strings["Click on a contact to add or remove."] = "Clica sobre el contacte per afegir o esborrar.";
+App::$strings["Visible To"] = "Visible per";
+App::$strings["\$Projectname channel"] = "Canal de \$Projectname";
+App::$strings["%d rating"] = array(
+ 0 => "%d valoració",
+ 1 => "%d valoracions",
+);
+App::$strings["Gender: "] = "Gènere:";
+App::$strings["Status: "] = "Estatus:";
+App::$strings["Homepage: "] = "Pàgina Personal:";
+App::$strings["Description:"] = "Descripció:";
+App::$strings["Public Forum:"] = "Forum Públic:";
+App::$strings["Keywords: "] = "Paraules Clau:";
+App::$strings["Don't suggest"] = "No suggerir";
+App::$strings["Common connections:"] = "Connexions en comú:";
+App::$strings["Global Directory"] = "Directori Global";
+App::$strings["Local Directory"] = "Directori Local";
+App::$strings["Finding:"] = "Cercant:";
+App::$strings["next page"] = "pàgina següent";
+App::$strings["previous page"] = "pàgina anterior";
+App::$strings["Sort options"] = "Opcions per ordenar";
+App::$strings["Alphabetic"] = "Alfabètic";
+App::$strings["Reverse Alphabetic"] = "Alfabètic Invers";
+App::$strings["Newest to Oldest"] = "De més Nou a més Vell";
+App::$strings["Oldest to Newest"] = "De més Antic a més Nou";
+App::$strings["No entries (some entries may be hidden)."] = "Sense entrades (algunes podrien estar amagades).";
+App::$strings["Public Sites"] = "Llocs públics";
+App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Els llocs llistats permeten registrar usuaris de la xarxa \$Projectname. Com que tots els llocs estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns llocs poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, proveu de seguir els enllaços dels proveïdors.";
+App::$strings["Rate this hub"] = "Valora aquest hub";
+App::$strings["Site URL"] = "Adreça URL del web";
+App::$strings["Access Type"] = "Tipus d'accés";
+App::$strings["Registration Policy"] = "Condicions de registre";
+App::$strings["Project"] = "Projecte";
+App::$strings["View hub ratings"] = "Mostra la valoració del hub";
+App::$strings["Rate"] = "Puntua";
+App::$strings["View ratings"] = "Mostra les valoracions";
+App::$strings["This site is not a directory server"] = "Aquest lloc web no és un servidor de directori";
+App::$strings["This directory server requires an access token"] = "Aquest servidor de directori requereix un token de accès";
+App::$strings["Item not found"] = "No s'ha trobat l'element";
+App::$strings["Delete block?"] = "Eliminar bloc?";
+App::$strings["Insert YouTube video"] = "insereix video YouTube";
+App::$strings["Insert Vorbis [.ogg] video"] = "Insereix video Vorbis [.ogg]";
+App::$strings["Insert Vorbis [.ogg] audio"] = "Insereix audio Vorbis [.ogg]";
+App::$strings["Edit Block"] = "Editar Bloc";
+App::$strings["Delete layout?"] = "Esborrar el disseny?";
+App::$strings["Layout Description (Optional)"] = "Descripció del disseny (opcional)";
+App::$strings["Layout Name"] = "Nom del disseny";
+App::$strings["Edit Layout"] = "Edita el disseny";
+App::$strings["Item is not editable"] = "Article no editable";
+App::$strings["Delete item?"] = "Esborrar ítem";
+App::$strings["Edit post"] = "Modifica l'entrada";
App::$strings["Unable to find your hub."] = "No es possible trobar el concentrador";
App::$strings["Post successful."] = "Entrada realitzada amb èxit. ";
+App::$strings["Delete webpage?"] = "Esborrar pàgina web?";
+App::$strings["Page link title"] = "Títol de la pàgina enllaçada";
+App::$strings["Edit Webpage"] = "Edita la Pàgina Web";
+App::$strings["Website:"] = "Lloc web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal Remot [%s] (encara no es coneix en aquest lloc)";
+App::$strings["Rating (this information is public)"] = "Valoració (aquesta informació és pública)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)";
+App::$strings["Calendar entries imported."] = "Entrades de Calendari importades.";
+App::$strings["No calendar entries found."] = "No es troben entrades decalendari.";
+App::$strings["Event can not end before it has started."] = "L'esdeveniment ha de començar abans d'acabar.";
+App::$strings["Unable to generate preview."] = "No s'ha pogut generar la vista prèvia.";
+App::$strings["Event title and start time are required."] = "Cal indicar l'inici i el final de l'esdeveniment.";
+App::$strings["Event not found."] = "No s'ha trobat l'esdeveniment.";
+App::$strings["l, F j"] = "I dia j, F";
+App::$strings["Edit event"] = "Edita l'esdeveniment";
+App::$strings["Delete event"] = "Esborra l'esdeveniment";
+App::$strings["calendar"] = "calendari";
+App::$strings["Create New Event"] = "Crea un esdeveniment nou";
+App::$strings["Export"] = "Exporta";
+App::$strings["Import"] = "Importar";
+App::$strings["Event removed"] = "S'ha eliminat l'esdeveniment";
+App::$strings["Failed to remove event"] = "No s'ha pogut esborrar l'esdeveniment";
+App::$strings["Event details"] = "Detalls de l'esdeveniment";
+App::$strings["Starting date and Title are required."] = "La data d'inici i el títol són obligatoris.";
+App::$strings["Categories (comma-separated list)"] = "Categories (llista separada per comes)";
+App::$strings["Event Starts:"] = "Inici:";
+App::$strings["Finish date/time is not known or not relevant"] = "La data i hora de final no és coneguda o irrellevant";
+App::$strings["Event Finishes:"] = "Final:";
+App::$strings["Adjust for viewer timezone"] = "Ajusta a la zona horària del visitant.";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "És important per esdeveniments locals, però pels globals no és pràctic.";
+App::$strings["Title:"] = "Títol:";
+App::$strings["Share this event"] = "Comparteix aquest esdeveniment";
+App::$strings["No ratings"] = "No valorat";
+App::$strings["Ratings"] = "Valoracions";
+App::$strings["Rating: "] = "Valoració:";
+App::$strings["Website: "] = "Lloc web:";
+App::$strings["Description: "] = "Descripció:";
+App::$strings["Select a bookmark folder"] = "Tria una carpeta d'interès";
+App::$strings["Save Bookmark"] = "Guarda Favorits";
+App::$strings["URL of bookmark"] = "URL de favorit";
+App::$strings["Or enter new bookmark folder name"] = "O entra un nou nom de favorit";
+App::$strings["- select -"] = "- selecciona -";
+App::$strings["Permission Denied."] = "Permisos Denegats.";
+App::$strings["File not found."] = "Arxiu no torbat.";
+App::$strings["Edit file permissions"] = "Edita els permisos d'arxiu";
+App::$strings["Set/edit permissions"] = "Canvia/edita permisos";
+App::$strings["Include all files and sub folders"] = "Inclou tots als arxius i subdirectoris";
+App::$strings["Return to file list"] = "Tornar al llistat d'arxius";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web";
+App::$strings["Share this file"] = "Comparteix l'arxiu";
+App::$strings["Show URL to this file"] = "Mostra la URL d'aquest arxiu";
+App::$strings["Notify your contacts about this file"] = "Avisa els teus contactes d'aquest arxiu";
+App::$strings["Channel added."] = "S'ha afegit el canal.";
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre màxim de registres diaris excedit. Si us plau, provau demà.";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "El registre ha fallat. Si et plau, indica que acceptes les Condicions del Servei.";
App::$strings["Passwords do not match."] = "Les contrasenyes no coincideixen.";
@@ -1760,6 +1557,20 @@ App::$strings["Please enter your invitation code"] = "Si et plau, introdueix el
App::$strings["Your email address"] = "La teva adreça de correu electrónic";
App::$strings["Choose a password"] = "Tria una contrasenya";
App::$strings["Please re-enter your password"] = "Si et plau, re-entra la contrasenya";
+App::$strings["Contact not found."] = "Contacte no trobat.";
+App::$strings["Friend suggestion sent."] = "Suggeriment d'amistat enviada.";
+App::$strings["Suggest Friends"] = "Amics Suggerits";
+App::$strings["Suggest a friend for %s"] = "Suggereix un amic per a %s";
+App::$strings["Please login."] = "Inicia Sessió.";
+App::$strings["Collection created."] = "Creada una col·lecció";
+App::$strings["Could not create collection."] = "No puc crear la col·lecció.";
+App::$strings["Collection updated."] = "Col·lecció actualitzada.";
+App::$strings["Create a collection of channels."] = "Creada una col·lecció de canals.";
+App::$strings["Collection Name: "] = "Nom de la Col·lecció:";
+App::$strings["Members are visible to other channels"] = "Els membres son visibles en altres canals";
+App::$strings["Collection removed."] = "Col·lecció esborrada.";
+App::$strings["Unable to remove collection."] = "Incapaç d'esborrar la col·lecció.";
+App::$strings["Collection Editor"] = "Editor de Col·leccions";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de comptes no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
App::$strings["Remove This Account"] = "Esborra el compte";
App::$strings["WARNING: "] = "ALERTA:";
@@ -1771,10 +1582,81 @@ App::$strings["By default only the instances of the channels located on this hub
App::$strings["Remove Account"] = "Esborra el Compte";
App::$strings["Help:"] = "Ajuda:";
App::$strings["Not Found"] = "No s'ha pogut trobar la pàgina";
-App::$strings["\$Projectname Documentation"] = "\$Projectname Documentació";
-App::$strings["[Embedded content - reload page to view]"] = "[Contingut embegut - recarrega la pàgina per veure-ho]";
-App::$strings["Remote privacy information not available."] = "informació privada remota no disponible.";
-App::$strings["Visible to:"] = "Visible per:";
+App::$strings["\$Projectname Documentation"] = "Documentació de \$Projectname";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
+App::$strings["Remove This Channel"] = "Elimina Aquest Canal";
+App::$strings["This channel will be completely removed from the network. "] = "Aquest canal serà completament eliminat de la xarxa.";
+App::$strings["Remove this channel and all its clones from the network"] = "Elimina aquest canal i els seus clons de la xarxa";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa";
+App::$strings["Remove Channel"] = "Elimina el canal";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Benvingut a %s";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID.";
+App::$strings["The error message was:"] = "El missatge d'error fou:";
+App::$strings["Authentication failed."] = "Ha fallat l'autentificació.";
+App::$strings["Remote Authentication"] = "Autentificació Remota";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introdueix la teva adreça del canal (eg canal@exemple.com)";
+App::$strings["Authenticate"] = "Autentica't";
+App::$strings["First Name"] = "Nom";
+App::$strings["Last Name"] = "Cognoms";
+App::$strings["Nickname"] = "Àlies";
+App::$strings["Full Name"] = "Nom Sencer";
+App::$strings["Profile Photo 16px"] = "Foto del Perfil 16px";
+App::$strings["Profile Photo 32px"] = "Foto del Perfil 32px";
+App::$strings["Profile Photo 48px"] = "Foto del Perfil 48px";
+App::$strings["Profile Photo 64px"] = "Foto del Perfil 64px";
+App::$strings["Profile Photo 80px"] = "Foto del Perfil 80px";
+App::$strings["Profile Photo 128px"] = "Foto del Perfil 128px";
+App::$strings["Timezone"] = "Zona horària";
+App::$strings["Homepage URL"] = "URL de la pàgina d'inici";
+App::$strings["Birth Year"] = "Any de Naixement";
+App::$strings["Birth Month"] = "Mes de Naixement";
+App::$strings["Birth Day"] = "Dia de Naixement";
+App::$strings["Birthdate"] = "Aniversari";
+App::$strings["%s element installed"] = "%s element instal·lat";
+App::$strings["%s element installation failed"] = "%s instal·lació d'element va fallar";
+App::$strings["Items tagged with: %s"] = "Elements etiquetats amb: %s";
+App::$strings["Search results for: %s"] = "Resultats de cerca per: %s";
+App::$strings["Your service plan only allows %d channels."] = "El teu paquet de serveis només admet %d canals.";
+App::$strings["Nothing to import."] = "No hi ha res a importar.";
+App::$strings["Unable to download data from old server"] = "No s'han pogut descarregar les dades del servidor antic";
+App::$strings["Imported file is empty."] = "El fitxer importat està buit.";
+App::$strings["The data provided is not compatible with this project."] = "Les dades subministrades no son compatibles amb aquest projecte.";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Atenció: Les versions de la Base de Dades difereixen en %1\$d actualitzacions.";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor.";
+App::$strings["Channel clone failed. Import failed."] = "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar.";
+App::$strings["Cloned channel not found. Import failed."] = "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat.";
+App::$strings["You must be logged in to use this feature."] = "Has d'estar registrat per fer servir aquesta funcionalitat.";
+App::$strings["Import Channel"] = "Importa un canal";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació";
+App::$strings["File to Upload"] = "Fitxer a pujar";
+App::$strings["Or provide the old server/hub details"] = "O proveeix els detalls de l'antic servidor/concentrador";
+App::$strings["Your old identity address (xyz@example.com)"] = "La teva adreça de canal antiga. El format és canal@exemple.org";
+App::$strings["Your old login email address"] = "La teva adreça de correu electrònic antiga";
+App::$strings["Your old login password"] = "La teva contrasenya antiga";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest hub o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària.";
+App::$strings["Make this hub my primary location"] = "Fes d'aquest hub la meva ubicació primària";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi.";
+App::$strings["No service class restrictions found."] = "No s'han trobat restriccions de clase.";
+App::$strings["Total invitation limit exceeded."] = "El límit total invitacions s'ha superat.";
+App::$strings["%s : Not a valid email address."] = "%s: adreça de correu electrònic no vàlida.";
+App::$strings["Please join us on Red"] = "Si us plau, uneix-te a Red";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc.";
+App::$strings["%s : Message delivery failed."] = "%s : Entrega del Missatge fallida.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d missatge enviat.",
+ 1 => "%d missatges enviats.",
+);
+App::$strings["You have no more invitations available"] = "No té més invitacions disponibles";
+App::$strings["Send invitations"] = "Enviar invitacions";
+App::$strings["Enter email addresses, one per line:"] = "Introduïu les adreces de correu electrònic, una per línia:";
+App::$strings["Please join my community on \$Projectname."] = "Si us plau uneix-te la meva comunitat en \$Projectname.";
+App::$strings["You will need to supply this invitation code: "] = "Has de proporcionar aquest codi d'invitació:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registre en qualsevol lloc del \$Projectname (estàn tots interconnectats)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Entra a la meva adreça de xarxa al \$Projectname, a la barra de cerca del lloc.";
+App::$strings["or visit "] = "o visita";
+App::$strings["3. Click [Connect]"] = "3. Click [Conectar]";
App::$strings["Name is required"] = "Es requereix un Nom";
App::$strings["Key and Secret are required"] = "Es requereix Clau (Key) i el Secret (Secret)";
App::$strings["Diaspora Policy Settings updated."] = "Actualitzats els Ajustos de Política de Diaspora.";
@@ -1832,7 +1714,7 @@ App::$strings["Maximum number of conversations to load at any time:"] = "Nombre
App::$strings["Maximum of 100 items"] = "Màxim de 100 elements";
App::$strings["Show emoticons (smilies) as images"] = "Mostra emoticons (smilies) com a imatges";
App::$strings["Link post titles to source"] = "Enllaça a l'origen els títols de l'entrada";
-App::$strings["System Page Layout Editor - (advanced)"] = "Editor de Disseny de la Pàgina del Sistema - (avançat)";
+App::$strings["System Page Layout Editor - (advanced)"] = "Editor de disseny de pàgina - (avançat)";
App::$strings["Use blog/list mode on channel page"] = "Empra el mode blog/llista a la pàgina del canal";
App::$strings["(comments displayed separately)"] = "(Observacions es mostren per separat)";
App::$strings["Use blog/list mode on matrix page"] = "Empra mode blog/llista a la pàgina de matrix";
@@ -1875,6 +1757,7 @@ App::$strings["0 or blank prevents expiration"] = "0 o vuit evita caducitat";
App::$strings["Maximum Friend Requests/Day:"] = "Nombre màxim de peticions d'amistat per dia";
App::$strings["May reduce spam activity"] = "Pot reduir l'SPAM";
App::$strings["Default Post Permissions"] = "Permisos de publicació per defecte";
+App::$strings["(click to open/close)"] = "(clica per obrir/tancar)";
App::$strings["Channel permissions category:"] = "Categoria de permisos de canal:";
App::$strings["Maximum private messages per day from unknown people:"] = "Nombre màxim de missatges privats de desconeguts al dia:";
App::$strings["Useful to reduce spamming"] = "Útil per a reduir l'spam";
@@ -1914,116 +1797,242 @@ App::$strings["Change the behaviour of this account for special situations"] = "
App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Activa el mode d'expert (a <a href=\"settings/features\">Ajustos > Més funcions</a>)";
App::$strings["Miscellaneous Settings"] = "Ajustos diversos";
App::$strings["Personal menu to display in your channel pages"] = "Menú personal per mostrar en les teves pàgines de canal";
-App::$strings["Remove Channel"] = "Elimina el canal";
App::$strings["Remove this channel."] = "Elimina aquest canal.";
-App::$strings["First Name"] = "Nom";
-App::$strings["Last Name"] = "Cognoms";
-App::$strings["Nickname"] = "Àlies";
-App::$strings["Full Name"] = "Nom Sencer";
-App::$strings["Profile Photo 16px"] = "Foto del Perfil 16px";
-App::$strings["Profile Photo 32px"] = "Foto del Perfil 32px";
-App::$strings["Profile Photo 48px"] = "Foto del Perfil 48px";
-App::$strings["Profile Photo 64px"] = "Foto del Perfil 64px";
-App::$strings["Profile Photo 80px"] = "Foto del Perfil 80px";
-App::$strings["Profile Photo 128px"] = "Foto del Perfil 128px";
-App::$strings["Timezone"] = "Zona horària";
-App::$strings["Homepage URL"] = "URL de la pàgina d'inici";
-App::$strings["Birth Year"] = "Any de Naixement";
-App::$strings["Birth Month"] = "Mes de Naixement";
-App::$strings["Birth Day"] = "Dia de Naixement";
-App::$strings["Birthdate"] = "Aniversari";
+App::$strings["Unable to locate original post."] = "No s'ha pogut trobar l'entrada original.";
+App::$strings["Empty post discarded."] = "S'ha descartat l'entrada perquè no té contingut.";
+App::$strings["Executable content type not permitted to this channel."] = "No està permès el contingut de tipus executable en aquest canal.";
+App::$strings["System error. Post not saved."] = "Hi ha hagut un error del sistema. L'entrada no s'ha desat.";
+App::$strings["Unable to obtain post information from database."] = "No s'ha pogut obtenir informació de l'entrada a la base de dades.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris).";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Has assolit el teu limit de %1$.0f pàgines web.";
+App::$strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuració";
+App::$strings["Could not connect to database."] = "No puc connectar amb la base de dades";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS.";
+App::$strings["Could not create table."] = "No puc crear la taula.";
+App::$strings["Your site database has been installed."] = "La teva base de dades del lloc s'ha instal·lat.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Si us plau, consulteu el fitxer \"install / INSTALL.txt\".";
+App::$strings["System check"] = "Comprovació del sistema";
+App::$strings["Check again"] = "Comprova de nou";
+App::$strings["Database connection"] = "Connexió de base de dades";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per tal d'instaŀlar \$Projectname cal configurar la connexió a la base de dades.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar.";
+App::$strings["Database Server Name"] = "Base de Dades Nom del Servidor";
+App::$strings["Default is localhost"] = "Per defecte es localhost";
+App::$strings["Database Port"] = "Port per a la Base de Dades";
+App::$strings["Communication port number - use 0 for default"] = "Numero del port de comunicacions - empra 0 per defecte";
+App::$strings["Database Login Name"] = "Base de Dades Nom d'Accès";
+App::$strings["Database Login Password"] = "Base de Dades Contrasenya d'Accès";
+App::$strings["Database Name"] = "Nom de la Base de Dades";
+App::$strings["Database Type"] = "Tipus de Base de Dades";
+App::$strings["Site administrator email address"] = "Adreça de correu de l'administrador del lloc";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador.";
+App::$strings["Website URL"] = "URL del lloc web";
+App::$strings["Please use SSL (https) URL if available."] = "Si us plau, empra SSL (https) URL si està disponible.";
+App::$strings["Please select a default timezone for your website"] = "Si us plau, tria la zona horària del teu lloc web";
+App::$strings["Site settings"] = "Ajustos del lloc";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web.";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron.";
+App::$strings["PHP executable path"] = "Camí cap l'executable de PHP";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació.";
+App::$strings["Command line PHP"] = "Línia d'ordres de PHP";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat.";
+App::$strings["This is required for message delivery to work."] = "Això es requereix per que funcioni l'entrega de missatges.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Pots ajustar aquests valors a l'arxiu php.ini del servidor";
+App::$strings["PHP upload limits"] = "Límits de pujada de PHP";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\".";
+App::$strings["Generate encryption keys"] = "Generar claus de xifrat";
+App::$strings["libCurl PHP module"] = "mòdul PHP libCurl ";
+App::$strings["GD graphics PHP module"] = "mòdul PHP GD gràfics";
+App::$strings["OpenSSL PHP module"] = "mòdul PHP OpenSSL";
+App::$strings["mysqli or postgres PHP module"] = "mòdul PHP mysqli o postgres";
+App::$strings["mb_string PHP module"] = "mòdul PHP mb_string";
+App::$strings["mcrypt PHP module"] = "mòdul PHP mcrypt";
+App::$strings["xml PHP module"] = "Mòdul xml de PHP";
+App::$strings["Apache mod_rewrite module"] = "mòdul Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat.";
+App::$strings["proc_open"] = "proc_open";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Error: el mòdul PHP libCURL es requereix però no està instal·lat.";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Error: el mòdul PHP openssl es requereix però no està instal·lat.";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat.";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Error: el mòdul PHP mb_string es requereix però no està instal·lat.";
+App::$strings["Error: mcrypt PHP module required but not installed."] = "Error: el mòdul PHP mcrypt es requereix però no està instal·lat.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat.";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer.";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor.";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\".";
+App::$strings[".htconfig.php is writable"] = "L'arxiu «.htconfig.php» es pot modificar";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal de Red.";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta.";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté.";
+App::$strings["%s is writable"] = "Es pot escriure a %s";
+App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web.";
+App::$strings["store is writable"] = "Es pot escriure al magatzem (store)";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi hub.";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu.";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts.";
+App::$strings["SSL certificate validation"] = "Validació del certificat SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:";
+App::$strings["Url rewrite is working"] = "Es poden reescriure les URL a «.htaccess»";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut.";
+App::$strings["Errors encountered creating database tables."] = "S'han produït errors mentre es creaven taules a la base de dades.";
+App::$strings["<h1>What next</h1>"] = "<h1>I ara què?</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\".";
+App::$strings["Comanche page description language help"] = "Pgina d'ajuda del llenguatge Comanche";
+App::$strings["Layout Description"] = "Descripció del disseny";
+App::$strings["Download PDL file"] = "Descarrega l'arxiu PDL";
+App::$strings["Files: shared with me"] = "Arxius: compartits amb jo";
+App::$strings["NEW"] = "NOU";
+App::$strings["Remove all files"] = "Esborra tots els arxius";
+App::$strings["Remove this file"] = "Esborra l'arxiu";
+App::$strings["Like/Dislike"] = "M'agrada / No m'agrada";
+App::$strings["This action is restricted to members."] = "Aquesta acció està restringida als membres.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "<a href=\"rmagic\">Entra amb la teva identitat \$Projectname</a> o <a href=\"register\">registra't a \$Projectname</a> per continuar.";
+App::$strings["Invalid request."] = "Sol·licitud invàlida.";
+App::$strings["thing"] = "cosa";
+App::$strings["Channel unavailable."] = "El canal està inactiu.";
+App::$strings["Previous action reversed."] = "S'ha desfet l'acció anterior.";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s està a favor de %3\$s de %2\$s";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s està en contra de %3\$s de %2\$s";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s ha votat en blanc en %3\$s de %2\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s assistirà a %3\$s de %2\$s";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s no assistirà a %3\$s de %2\$s";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s potser assistirà a %3\$s de %2\$s";
+App::$strings["Action completed."] = "S'ha completat l'acció.";
+App::$strings["Thank you."] = "Gràcies.";
+App::$strings["Version %s"] = "Versió %s";
+App::$strings["Installed plugins/addons/apps:"] = "Plugins/addons/apps Instal·lats:";
+App::$strings["No installed plugins/addons/apps"] = "Plugins/addons/apps no instal·lats";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Aquest és un hub de \$Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat.";
+App::$strings["Tag: "] = "Etiqueta:";
+App::$strings["Last background fetch: "] = "Última actualització en rerefons:";
+App::$strings["Running at web location"] = "Correguent en el lloc web";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per saber-ne més de \$Projectname.";
+App::$strings["Bug reports and issues: please visit"] = "Per informar d'errors o problemes ves a";
+App::$strings["\$projectname issues"] = "\$projectname emisions";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com";
+App::$strings["Site Administrators"] = "Administradors del lloc";
+App::$strings["Remote privacy information not available."] = "informació privada remota no disponible.";
+App::$strings["Visible to:"] = "Visible per:";
+App::$strings["Location not found."] = "Situació que no es troba.";
+App::$strings["Primary location cannot be removed."] = "La ubicació primària no es pot treure.";
+App::$strings["No locations found."] = "No es troben els llocs.";
+App::$strings["Manage Channel Locations"] = "Gestionar Ubicacions de Canal";
+App::$strings["Location (address)"] = "Ubicació (direcció)";
+App::$strings["Primary Location"] = "Ubicació Primària";
+App::$strings["Drop location"] = "Treure la ubicació";
+App::$strings["Failed to create source. No channel selected."] = "Error en crear l'origen. Cap canal seleccionat.";
+App::$strings["Source created."] = "Origen creat.";
+App::$strings["Source updated."] = "Origen actualitzat.";
+App::$strings["*"] = "*";
+App::$strings["Manage remote sources of content for your channel."] = "Gestiona contingut per al teu canal d'origens remots";
+App::$strings["New Source"] = "Nou Origen";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals.";
+App::$strings["Only import content with these words (one per line)"] = "Només importa contingut amb aquestes paraules (una per línia)";
+App::$strings["Leave blank to import all public content"] = "Deixar en blanc per importar tot el contingut públic";
+App::$strings["Channel Name"] = "Nom del canal";
+App::$strings["Source not found."] = "No s'ha trobat la font.";
+App::$strings["Edit Source"] = "Edita la font";
+App::$strings["Delete Source"] = "Esborra la font";
+App::$strings["Source removed"] = "S'ha esborrat la font";
+App::$strings["Unable to remove source."] = "No s'ha pogut esborrar la font.";
+App::$strings["No valid account found."] = "No es troba un compte vàlid.";
+App::$strings["Password reset request issued. Check your email."] = "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic.";
+App::$strings["Site Member (%s)"] = "Lloc d'Usuari (%s)";
+App::$strings["Password reset requested at %s"] = "S'ha soŀlicitat restablir la contrasenya al hub %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans.";
+App::$strings["Password Reset"] = "Restabliment de contrasenya";
+App::$strings["Your password has been reset as requested."] = "S'ha restablert la vostra contrasenya.";
+App::$strings["Your new password is"] = "La nova contrasenya és";
+App::$strings["Save or copy your new password - and then"] = "Desa o copia la nova contrasenya, i després";
+App::$strings["click here to login"] = "fes clic aquí per iniciar sessió";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió.";
+App::$strings["Your password has changed at %s"] = "La teva contrasenya a %s ha canviat";
+App::$strings["Forgot your Password?"] = "No recordes la contrasenya?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions.";
+App::$strings["Email Address"] = "Adreça electrònica";
+App::$strings["Reset"] = "Reajustar";
+App::$strings["Unable to update menu."] = "No s'ha pogut actualitzar el menú.";
+App::$strings["Unable to create menu."] = "No s'ha pogut crear el menú.";
+App::$strings["Menu Name"] = "Nom del menú";
+App::$strings["Unique name (not visible on webpage) - required"] = "Nom únic (no visible a la pàgina web) - requerit";
+App::$strings["Menu Title"] = "Títol del menú";
+App::$strings["Visible on webpage - leave empty for no title"] = "Visible a la pàgina web - deixar buit per a no posar títol";
+App::$strings["Allow Bookmarks"] = "Permetre Marcadors";
+App::$strings["Menu may be used to store saved bookmarks"] = "El menú es pot emprar per a guardar marcadors";
+App::$strings["Submit and proceed"] = "Envia i procedeix";
+App::$strings["Drop"] = "Menysprea";
+App::$strings["Bookmarks allowed"] = "Marcadors permesos";
+App::$strings["Delete this menu"] = "Esborra el menú";
+App::$strings["Edit menu contents"] = "Edita el contingut del menú";
+App::$strings["Edit this menu"] = "Edita el menú";
+App::$strings["Menu could not be deleted."] = "El menu no es pot esborrar.";
+App::$strings["Menu not found."] = "Menú no trobat.";
+App::$strings["Edit Menu"] = "Edita Menú";
+App::$strings["Add or remove entries to this menu"] = "Afegeix o esborra entrades a aquest menú";
+App::$strings["Menu name"] = "Nom del Menú";
+App::$strings["Must be unique, only seen by you"] = "Ha de ser únic, nomes vist per tú";
+App::$strings["Menu title"] = "Títol del menú";
+App::$strings["Menu title as seen by others"] = "Títol del menú vist pels altres";
+App::$strings["Allow bookmarks"] = "Marcadors permesos";
+App::$strings["Not found."] = "No trobat.";
App::$strings["Conversation removed."] = "Conversació eliminada.";
App::$strings["No messages."] = "Sense missatges.";
-App::$strings["Delete conversation"] = "Conversació esborrada";
App::$strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
+App::$strings["Unable to create element."] = "Incapaç de crear l'element.";
+App::$strings["Unable to update menu element."] = "Incapaç d'actualitzar un element del menú.";
+App::$strings["Unable to add menu element."] = "Incapaç d'afegir l'element del menú.";
+App::$strings["Menu Item Permissions"] = "Permisos de l'Article del Menú";
+App::$strings["Link Name"] = "Nom de l'Enllaç";
+App::$strings["Link or Submenu Target"] = "Enllaç o Submenú Objectiu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú";
+App::$strings["Use magic-auth if available"] = "Empra magic-auth si esta disponible";
+App::$strings["Open link in new window"] = "Obrir l'enllaç en una nova finestra";
+App::$strings["Order in list"] = "Ordre per llista";
+App::$strings["Higher numbers will sink to bottom of listing"] = "Els números més alts aniràn al fons de la llista";
+App::$strings["Submit and finish"] = "Envia i termina";
+App::$strings["Submit and continue"] = "Envia i continua";
+App::$strings["Menu:"] = "Menú:";
+App::$strings["Link Target"] = "Enllaç Objectiu";
+App::$strings["Edit menu"] = "Edita menú";
+App::$strings["Edit element"] = "Edita element";
+App::$strings["Drop element"] = "Deixa anar element";
+App::$strings["New element"] = "Nou element";
+App::$strings["Edit this menu container"] = "Edita aquest contenidor de menú";
+App::$strings["Add menu element"] = "Afegeix element de menú";
+App::$strings["Delete this menu item"] = "Esborra aquest article del menú";
+App::$strings["Edit this menu item"] = "Edita aquest article del menú";
+App::$strings["Menu item not found."] = "Article del menú no trobat.";
+App::$strings["Menu item deleted."] = "Article del menú eliminat.";
+App::$strings["Menu item could not be deleted."] = "Article del menú no es pot eliminar.";
+App::$strings["Edit Menu Element"] = "Editar Element del Menú";
+App::$strings["Link text"] = "Enllaç de text";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s esta seguint %2\$s de %3\$s";
App::$strings["Set your current mood and tell your friends"] = "Estableix el teu estat d'ànim actual i digues-li als teus amics";
-App::$strings["Total votes"] = "Total de vots";
-App::$strings["Average Rating"] = "Valoració Mitja";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya.";
-App::$strings["Remove This Channel"] = "Elimina Aquest Canal";
-App::$strings["This channel will be completely removed from the network. "] = "Aquest canal serà completament eliminat de la xarxa.";
-App::$strings["Remove this channel and all its clones from the network"] = "Elimina aquest canal i els seus clons de la xarxa";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Per defecte, només la instancia del canal ubicat en aquest concentrador pot esser esborrat de la xarxa";
-App::$strings["is now connected to"] = "Ara està conectat amb";
-App::$strings["Could not access address book record."] = "No puc accedir al registre del contacte";
-App::$strings["Refresh failed - channel is currently unavailable."] = "Ha fallat la recàrrega - el canal es actualment inaccesible.";
-App::$strings["Unable to set address book parameters."] = "No es poden ajustar els paràmetres dels contactes.";
-App::$strings["Connection has been removed."] = "S'han eliminat les conexions.";
-App::$strings["View %s's profile"] = "Mostra el perfil de %s";
-App::$strings["Refresh Permissions"] = "Recarrega els Permissos";
-App::$strings["Fetch updated permissions"] = "Obté els permisos actualitzats";
-App::$strings["Recent Activity"] = "Activitat Recent";
-App::$strings["View recent posts and comments"] = "Mostra les entrades i comentaris recents";
-App::$strings["Block (or Unblock) all communications with this connection"] = "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió";
-App::$strings["This connection is blocked!"] = "Aquesta connexió està bloquejada!";
-App::$strings["Unignore"] = "Inhabilita";
-App::$strings["Ignore"] = "Ignora";
-App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora (o Considera) les communicacions entrants d'aquesta connexió";
-App::$strings["This connection is ignored!"] = "Aquesta connexió es ignorada!";
-App::$strings["Unarchive"] = "Desarxiva";
-App::$strings["Archive"] = "Arxiva";
-App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut ";
-App::$strings["This connection is archived!"] = "Aquesta connexió està arxivada!";
-App::$strings["Unhide"] = "Mostra";
-App::$strings["Hide"] = "Amaga";
-App::$strings["Hide or Unhide this connection from your other connections"] = "Amaga (o Mostra) aquesta connexió de les altres connexions teves";
-App::$strings["This connection is hidden!"] = "Aquesta connexió està amagada!";
-App::$strings["Delete this connection"] = "Elimina aquesta connexió";
-App::$strings["Approve this connection"] = "Apccepta aquesta connexió";
-App::$strings["Accept connection to allow communication"] = "Accepta la connexió per permetre la comunicació";
-App::$strings["Set Affinity"] = "Ajusta l'Afinitat";
-App::$strings["Set Profile"] = "Ajusta el Perfil";
-App::$strings["Set Affinity & Profile"] = "Ajusta Afinitat i Perfil";
-App::$strings["Apply these permissions automatically"] = "Aplica aquests permissos automaticament";
-App::$strings["This connection's address is"] = "La direcció d'aquesta connexió es";
-App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions.";
-App::$strings["Slide to adjust your degree of friendship"] = "Llisca per ajustar el nivell d'amistat";
-App::$strings["Slide to adjust your rating"] = "Llisca per ajustar la valoració";
-App::$strings["Optionally explain your rating"] = "Opcionalment pots explicar la teva valoració";
-App::$strings["Custom Filter"] = "Filtre a mida";
-App::$strings["Only import posts with this text"] = "Importa exclusivament entrades amb aquest text";
-App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "paraules una per línia o #etiquetes o /patrons/, deixar en blanc per importar totes les entrades";
-App::$strings["Do not import posts with this text"] = "No importar entrades amb aquest text";
-App::$strings["This information is public!"] = "Aquesta informació es pública!";
-App::$strings["Connection Pending Approval"] = "Connexió Pendent d'Aprovació";
-App::$strings["Connection Request"] = "Petició de Connexió";
-App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) voldria conectar amb tu. Aprova aquesta connexió per permetre la connexió.";
-App::$strings["Approve Later"] = "Aprovar més tard";
-App::$strings["inherited"] = "heretat";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur.";
-App::$strings["Their Settings"] = "Els seus Ajustos";
-App::$strings["My Settings"] = "Els Meus Ajustos";
-App::$strings["Individual Permissions"] = "Permisos Individuals";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí.";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats.";
-App::$strings["Last update:"] = "Darrera actualització:";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID.";
-App::$strings["The error message was:"] = "El missatge d'error fou:";
-App::$strings["Authentication failed."] = "Ha fallat l'autentificació.";
-App::$strings["Remote Authentication"] = "Autentificació Remota";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introdueix la teva adreça del canal (eg canal@exemple.com)";
-App::$strings["Authenticate"] = "Autentica't";
-App::$strings["Unable to lookup recipient."] = "Incapaç de trobar el destinatari.";
-App::$strings["Unable to communicate with requested channel."] = "Incapaç de comunicar amb el canal demanat.";
-App::$strings["Cannot verify requested channel."] = "No puc verificar el canal demanat.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat.";
-App::$strings["Message deleted."] = "Missatge eliminat.";
-App::$strings["Message recalled."] = "Recupera el missatge.";
-App::$strings["Send Private Message"] = "Envia Missatge Privat";
-App::$strings["To:"] = "Per:";
-App::$strings["Subject:"] = "Assumpte:";
-App::$strings["Send"] = "Envia";
-App::$strings["Message not found."] = "Missatge no trobat.";
-App::$strings["Delete message"] = "Elimina el missatge";
-App::$strings["Recall message"] = "Recupera el missatge";
-App::$strings["Message has been recalled."] = "El missatge s'ha recuperat.";
-App::$strings["Private Conversation"] = "Conversació Privada";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent.";
-App::$strings["Send Reply"] = "Envia Resposta";
-App::$strings["Invalid request identifier."] = "Sol·licitud d'identificació invàlida.";
-App::$strings["Discard"] = "Descarta";
-App::$strings["Please login."] = "Inicia Sessió.";
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar.";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou.";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetat %3\$s de %2\$s amb %4\$s";
+App::$strings["Tag removed"] = "S'ha tret l'etiqueta";
+App::$strings["Remove Item Tag"] = "Elimina l'etiqueta d'element";
+App::$strings["Select a tag to remove: "] = "Tria l'etiqueta a eliminar:";
+App::$strings["No such group"] = "No existeix el grup";
+App::$strings["No such channel"] = "No existeix el canal";
+App::$strings["Search Results For:"] = "Cerca resultats per:";
+App::$strings["Collection is empty"] = "La coŀlecció és buida";
+App::$strings["Collection: "] = "Coŀlecció:";
+App::$strings["Connection: "] = "Connexió:";
+App::$strings["Invalid connection."] = "La connexió és invàlida.";
+App::$strings["OpenID protocol error. No ID returned."] = "Error del protocol OpenID. No ha retornat ID";
App::$strings["Add a Channel"] = "Afegeix un Canal";
App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal es la teva pròpia col·lecció de pàgines web. Un canal pot emprat per mantenir perfils a una xarxa social, blocs, grups de conversació, fòrums, pàgines de famosos, i molt més. Pots crear tants canals com el teu servei d'internet et permeti.";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exemples: \"Joan Tou\", \"Manel i els seus esquirols\", \"Fútbol\", \"Grup de Gegants\"";
@@ -2032,72 +2041,83 @@ App::$strings["Your nickname will be used to create an easily remembered channel
App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "O <a href=\"import\">importa un canal existent</a> d'un altre lloc";
App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Tria un tipus de canal (com a xarxa social o fòrum comunitari) i els requisits de privacitat, així podem proposar el que te el permisos més adients.";
App::$strings["Channel Type"] = "tipus de Canal";
-App::$strings["Read more about roles"] = "Llegix més sobre els rols";
-App::$strings["App installed."] = "Aplicació instal·lada.";
-App::$strings["Malformed app."] = "Aplicació amb errors";
-App::$strings["Embed code"] = "Codi embegut";
-App::$strings["Edit App"] = "Edita l'Aplicació";
-App::$strings["Create App"] = "Crea l'Aplicació";
-App::$strings["Name of app"] = "Nom de l'Aplicació";
-App::$strings["Location (URL) of app"] = "Ubicació (URL) de l'aplicació";
-App::$strings["Photo icon URL"] = "Foto icona URL";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
-App::$strings["Version ID"] = "Versió ID";
-App::$strings["Price of app"] = "Preu de l'aplicació";
-App::$strings["Location (URL) to purchase app"] = "Ubicació (URL) per comprar l'aplicació";
-App::$strings["sent you a private message"] = "Se t'ha enviat un missatge privat";
-App::$strings["added your channel"] = "el teu canal s'ha afegit";
-App::$strings["posted an event"] = "enviat un event";
-App::$strings["Comanche page description language help"] = "Pgina d'ajuda del llenguatge Comanche";
-App::$strings["Layout Description"] = "Descripció del Disseny de la Pàgina";
-App::$strings["Download PDL file"] = "Descarrega l'arxiu PDL";
-App::$strings["Welcome to %s"] = "Benvingut a %s";
-App::$strings["Lorem Ipsum"] = "Lorem Ipsum";
-App::$strings["Bookmark added"] = "Favorit afegit";
-App::$strings["My Bookmarks"] = "Els Meus Favorits";
-App::$strings["My Connections Bookmarks"] = "Les connexions dels meus Favorits";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficients. Petició redirigida a la pàgina del perfil.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Aquest ajust requereix un procés espedial i l'edició esta bloquejada.";
-App::$strings["Configuration Editor"] = "Editor de Configuració";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica.";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou.";
-App::$strings["Poll"] = "Sondeija";
-App::$strings["View Results"] = "Mostra els Resultats";
-App::$strings["No service class restrictions found."] = "No s'han trobat restriccions de clase.";
-App::$strings["Files: shared with me"] = "Arxius: compartits amb jo";
-App::$strings["NEW"] = "NOU";
-App::$strings["Remove all files"] = "Esborra tots els arxius";
-App::$strings["Remove this file"] = "Esborra l'arxiu";
-App::$strings["Schema Default"] = "Esquema Predeterminat";
+App::$strings["Read more about roles"] = "Llegeix més sobre els rols";
+App::$strings["Thing updated"] = "S'ha actualitzat la cosa";
+App::$strings["Object store: failed"] = "No s'ha pogut emmagatzemar l'objecte";
+App::$strings["Thing added"] = "S'ha afegit la cosa";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostra la cosa";
+App::$strings["item not found."] = "no s'ha trobat l'element.";
+App::$strings["Edit Thing"] = "Edita la cosa";
+App::$strings["Select a profile"] = "Tria un perfil";
+App::$strings["Post an activity"] = "Publica una activitat";
+App::$strings["Only sends to viewers of the applicable profile"] = "S'envia només a visitants del perfil corresponent";
+App::$strings["Name of thing e.g. something"] = "Nom de la cosa. Exemple: patata";
+App::$strings["URL of thing (optional)"] = "Adreça URL de la cosa (opcional)";
+App::$strings["URL for photo of thing (optional)"] = "Adreça URL de la foto d'una cosa (opcional)";
+App::$strings["Add Thing to your Profile"] = "Afegeix una cosa al teu perfil";
+App::$strings["Export Channel"] = "Exportar Canal";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exporta a un fitxer dades bàsiques del canal. Serveix com a còpia de seguretat de les teves connexions, permisos, perfil però no de contingut, i es pot usar per importar-ho a un nou servidor. ";
+App::$strings["Export Content"] = "Exportar el Contingut";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporta la informació i contingut recent del teu canal a un fitxer JSON. Aquesta còpia de seguretat pot ser restablerta a un altre hub o a aquest mateix. Conté totes les teves connexions, permisos, dades de perfil i diversos mesos d'entrades, així que pot resultar molt gran. Per això, poden passar uns quants minuts fins que la descàrrega s'iniciï.";
+App::$strings["Export your posts from a given year or month:"] = "Exporta les teves entrades d'un any o mes determinats:";
+App::$strings["You may also export your posts and conversations for a particular year or month. Click on one of the recent years or months below."] = "També pots exportar les teves entrades i converses dins d'un any o mes en particualr. Fes clic a un mes o any d'aquí sota.";
+App::$strings["Jan"] = "gen.";
+App::$strings["Feb"] = "febr.";
+App::$strings["Mar"] = "març";
+App::$strings["Apr"] = "abr.";
+App::$strings["Jun"] = "juny";
+App::$strings["Jul"] = "jul.";
+App::$strings["Aug"] = "ag.";
+App::$strings["Sep"] = "set.";
+App::$strings["Oct"] = "oct.";
+App::$strings["Nov"] = "nov.";
+App::$strings["Dec"] = "des.";
+App::$strings["If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "En cas que falli l'exportació, prova-ho de nou demanant un interval de dates més curt. El servidor del hub podria haver fet curt de memòria RAM.";
+App::$strings["Or adjust the date in your browser location bar to select other dates. For example the year 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> or the month September 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>"] = "O bé ajusta la data de la barra de localització per escollir unes altres dates. Per exemple, l'any 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> o el setembre de 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>";
+App::$strings["Please visit"] = "Visita";
+App::$strings["on another hub to import the backup files(s)."] = "en un altre hub per tal de restablir la/es còpia/es de seguretat.";
+App::$strings["We advise you to clone the channel on the new hub first and than to import the backup file(s) (from the same channel) in chronological order. Importing the backup files into another channel will certainly give permission issues."] = "És recomanable clonar el canal en el hub nou abans d'importar la/es còpia/es de seguretat del mateix canal. Importar una còpia de seguretat d'un canal des d'un altre canal donarà problemes de permisos. Si n'hi ha més d'una, també cal importar les còpies en ordre cronològic, de més antic a més nou.";
+App::$strings["[Embedded content - reload page to view]"] = "[Contingut embegut - recarrega la pàgina per veure-ho]";
+App::$strings["No connections."] = "Sense connexions.";
+App::$strings["Visit %s's profile [%s]"] = "Visita el perfil [%s] de %s";
+App::$strings["Source of Item"] = "Origen de l'article";
+App::$strings["Total votes"] = "Vots totals";
+App::$strings["Average Rating"] = "Valoració mitjana";
+App::$strings["Page Title"] = "Títol de la pàgina";
+App::$strings["Xchan Lookup"] = "Cerca a xchan";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca a xchan començant per (o webbie)";
+App::$strings["invalid target signature"] = "Signatura objectiu invàlida";
+App::$strings["Schema Default"] = "Esquema per defecte";
App::$strings["Sans-Serif"] = "Sans-Serif";
App::$strings["Monospace"] = "Monospace";
App::$strings["Theme settings"] = "Ajustos de tema";
-App::$strings["Set scheme"] = "Ajustos d'esquema";
+App::$strings["Set scheme"] = "Estableix l'esquema";
App::$strings["Set font-size for posts and comments"] = "Ajusta la mida del tipus de lletra per a entrades i comentaris";
-App::$strings["Set font face"] = "Ajusta el tipus de lletra";
-App::$strings["Set iconset"] = "Ajusta el conjunt d'icones";
-App::$strings["Set big shadow size, default 15px 15px 15px"] = "Ajusta la mida gran de l'ombra, predeterminat a 15px 15px 15px";
-App::$strings["Set small shadow size, default 5px 5px 5px"] = "Ajusta la mida petita de l'ombra, predeterminat a 5px 5px 5px";
-App::$strings["Set shadow color, default #000"] = "Ajusta el color de l'ombra, predeterminat a #000";
-App::$strings["Set radius size, default 5px"] = "Ajusta la mida del radi, predeterminat a 5px";
-App::$strings["Set line-height for posts and comments"] = "Ajusta el gruix de línia per entrades i comentaris";
-App::$strings["Set background image"] = "Ajusta l'imatge de fons";
-App::$strings["Set background attachment"] = "Ajusta els adjunts en segon pla";
-App::$strings["Set background color"] = "Ajusta el color en segon pla";
-App::$strings["Set section background image"] = "Ajusta la secció d'imatge en segon pla";
-App::$strings["Set section background color"] = "Ajusta el color de la secció en segon pla";
-App::$strings["Set color of items - use hex"] = "Ajuste el color dels articles - empra codi hexadecimal";
-App::$strings["Set color of links - use hex"] = "ajusta el color dels enlaços - empra codi hexadecimal";
-App::$strings["Set max-width for items. Default 400px"] = "Ajusta l'amplada màxima dels articles. Predeterminat a 400px";
-App::$strings["Set min-width for items. Default 240px"] = "Ajusta l'amplada minima dels articles. Predeterminat a 240px";
-App::$strings["Set the generic content wrapper width. Default 48%"] = "Ajusta l'amplada de l'embolcall del contingut genèric. Predeterminat a 48%";
-App::$strings["Set color of fonts - use hex"] = "Ajusta el color del tipus de lletra - empra codi hexadecimal";
-App::$strings["Set background-size element"] = "Ajusta la mida de l'element en segon pla";
-App::$strings["Item opacity"] = "Opacitat de l'article";
-App::$strings["Display post previews only"] = "Mostra tan sols les previsualitzacions de les entrades";
+App::$strings["Set font face"] = "Estableix el tipus de lletra";
+App::$strings["Set iconset"] = "Estableix el conjunt d'icones";
+App::$strings["Set big shadow size, default 15px 15px 15px"] = "Estableix una mida petita per l'ombrejat, per defecte 15px 15px 15px";
+App::$strings["Set small shadow size, default 5px 5px 5px"] = "Estableix una mida petita per l'ombrejat, per defecte 15px 15px 15px";
+App::$strings["Set shadow color, default #000"] = "Estableix el color de l'ombra, per defecte #000";
+App::$strings["Set radius size, default 5px"] = "Estableix el radi, per defecte 5px";
+App::$strings["Set line-height for posts and comments"] = "Estableix l'alçada de línia per a entrades i comentaris";
+App::$strings["Set background image"] = "Estableix la imatge de fons";
+App::$strings["Set background attachment"] = "Estableix els adjunts en segon pla";
+App::$strings["Set background color"] = "Estableix del color de fons";
+App::$strings["Set section background image"] = "Estableix la imatge de fons de secció";
+App::$strings["Set section background color"] = "Estableix el color de fons de secció";
+App::$strings["Set color of items - use hex"] = "Estableix el color dels elements (en notació hexadecimal)";
+App::$strings["Set color of links - use hex"] = "Estableix el color dels enllaços (en notació hexadecimal)";
+App::$strings["Set max-width for items. Default 400px"] = "Estableix el l'amplada màxima dels elements. Per defecte, 400px";
+App::$strings["Set min-width for items. Default 240px"] = "Estableix l'amplada mínima dels elements. Per defecte, 240px";
+App::$strings["Set the generic content wrapper width. Default 48%"] = "Estableix l'amplada per defecte del contingut. Per defecte, 48%";
+App::$strings["Set color of fonts - use hex"] = "Estableix el color del text (en notació hexadecimal)";
+App::$strings["Set background-size element"] = "Estableix la mida de la imatge de fons (background-size)";
+App::$strings["Item opacity"] = "Opacitat dels elements";
+App::$strings["Display post previews only"] = "Mostra només previsualitzacions d'entrades";
App::$strings["Display side bar on channel page"] = "Mostra la barra lateral a la pàgina del canal";
App::$strings["Colour of the navigation bar"] = "Color de la barra de navegació";
-App::$strings["Item float"] = "Article flotant";
+App::$strings["Item float"] = "Paràmetre \"float\" dels elements";
App::$strings["Left offset of the section element"] = "Desplaçament esquerra de l'element de secció";
App::$strings["Right offset of the section element"] = "Desplaçament dret de l'element de secció";
App::$strings["Section width"] = "Amplada de la secció";
@@ -2111,38 +2131,38 @@ App::$strings["Navigation bar gradient top color"] = "Gradient de color de la pa
App::$strings["Navigation bar gradient bottom color"] = "Gradient de color de la part inferior de la barra de navegació";
App::$strings["Navigation active button gradient top color"] = "Gradient de color de la part superior del botó actiu de la barra de navegació";
App::$strings["Navigation active button gradient bottom color"] = "Gradient de color de la part inferior del botó actiu de la barra de navegació";
-App::$strings["Navigation bar border color "] = "Color de la barra de navegació";
-App::$strings["Navigation bar icon color "] = "Color de la icona de la barra de navegació";
+App::$strings["Navigation bar border color "] = "Color de la vora de la barra de navegació";
+App::$strings["Navigation bar icon color "] = "Color bàsic de la icona de la barra de navegació";
App::$strings["Navigation bar active icon color "] = "Color de la icona de la barra de navegació activa";
-App::$strings["link color"] = "Color d'enllaç";
-App::$strings["Set font-color for banner"] = "Ajusta el color del tipus de lletra per la senyera";
-App::$strings["Set the background color"] = "Ajusta el color de fons";
-App::$strings["Set the background image"] = "Ajusta la imatge de fons";
-App::$strings["Set the background color of items"] = "ajusta el color dels articles de fons";
-App::$strings["Set the background color of comments"] = "Ajusta el color dels comentaris en segon pla";
-App::$strings["Set the border color of comments"] = "Canviar el color del marge dels comentaris";
-App::$strings["Set the indent for comments"] = "ajusta l'indentació dels comentaris";
-App::$strings["Set the basic color for item icons"] = "ajusta el color basic per les icones dels articles";
-App::$strings["Set the hover color for item icons"] = "Ajusta el color de la libració de les icones dels articles";
-App::$strings["Set font-size for the entire application"] = "Ajusta la mida del tipus de lletra per tota l'aplicació";
+App::$strings["link color"] = "color dels enllaços";
+App::$strings["Set font-color for banner"] = "Estableix el color de lletra del rètol";
+App::$strings["Set the background color"] = "Estableix el color de fons";
+App::$strings["Set the background image"] = "Estableix la imatge de fons";
+App::$strings["Set the background color of items"] = "Estableix el color de fons dels elements";
+App::$strings["Set the background color of comments"] = "Estableix el color de fons dels comentaris";
+App::$strings["Set the border color of comments"] = "Estableix el color de la vora dels comentaris";
+App::$strings["Set the indent for comments"] = "Estableix el sagnat dels comentaris";
+App::$strings["Set the basic color for item icons"] = "Estableix el color bàsic de les icones dels elements";
+App::$strings["Set the hover color for item icons"] = "Estableix el color de les icones dels elements en passar-hi per damunt";
+App::$strings["Set font-size for the entire application"] = "Estableix la mida de lletra per tota l'aplicació";
App::$strings["Example: 14px"] = "Exemple: 14px";
-App::$strings["Set font-color for posts and comments"] = "Ajusta el color del tipus de lletra per entrades i comentaris";
-App::$strings["Set radius of corners"] = "Ajusta el radi de les cantonades";
-App::$strings["Set shadow depth of photos"] = "Ajusta la profunditat d'ombres de les fotos";
-App::$strings["Set maximum width of content region in pixel"] = "Ajusta l'amplada màxima de la zona de contingut en pixels";
-App::$strings["Leave empty for default width"] = "Deixa en blanc per l'amplada predeterminada";
-App::$strings["Center page content"] = "Contingut del centre de la pàgina";
-App::$strings["Set minimum opacity of nav bar - to hide it"] = "Ajusta la opacitat mínima de la harra de navegació - per amagar-la";
-App::$strings["Set size of conversation author photo"] = "Ajusta la mida de la foto del autor a la conversa";
-App::$strings["Set size of followup author photos"] = "Ajusta la mida del seguidor de les fotos de l'autor";
-App::$strings["Update %s failed. See error logs."] = "L'actualització %s ha fallat. Mira el registre d'errors.";
-App::$strings["Update Error at %s"] = "Error d'Actualització a %s";
+App::$strings["Set font-color for posts and comments"] = "Estableix el color del text d'entrades i comentaris";
+App::$strings["Set radius of corners"] = "Estableix el radi de les cantonades";
+App::$strings["Set shadow depth of photos"] = "Estableix la profunditat d'ombres de les fotos";
+App::$strings["Set maximum width of content region in pixel"] = "Estableix l'amplada màxima de la zona de contingut en píxels";
+App::$strings["Leave empty for default width"] = "Deixa-ho en blanc per fixar a l'amplada per defecte.";
+App::$strings["Center page content"] = "Centra el contingut de la pàgina";
+App::$strings["Set minimum opacity of nav bar - to hide it"] = "Estableix la opacitat mínima de la barra de navegació per ser amagada";
+App::$strings["Set size of conversation author photo"] = "Estableix la mida de la foto de conversa de l'autor";
+App::$strings["Set size of followup author photos"] = "Estableix la mida de les fotos de seguiment de l'autor";
+App::$strings["Update %s failed. See error logs."] = "L'actualització %s ha fallat. Consulta el registre d'errors.";
+App::$strings["Update Error at %s"] = "Error d'actualització a %s";
App::$strings["Create an account to access services and applications within the Red Matrix"] = "Crea un compte per accedir als serveis i aplicacions dins de RedMatrix";
App::$strings["Password"] = "Contrasenya";
App::$strings["Remember me"] = "Recorda'm";
-App::$strings["Forgot your password?"] = "Has perdut la Contrasenya?";
-App::$strings["toggle mobile"] = "canvia a format per a mòbils";
-App::$strings["Website SSL certificate is not valid. Please correct."] = "El certificat SSL és invalid, soluciona-ho, si us plau.";
+App::$strings["Forgot your password?"] = "Has perdut la contrasenya?";
+App::$strings["toggle mobile"] = "commuta format mòbil/escriptori";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "El certificat SSL és invàlid. Cal arreglar-ho.";
App::$strings["[red] Website SSL error for %s"] = "[red] Error de SSL per la web %s";
App::$strings["Cron/Scheduled tasks not running."] = "No s'estan executan les tasques programades al cron.";
App::$strings["[red] Cron tasks not running on %s"] = "[red] No s'estan executan les tasques programades del cron a %s";
diff --git a/view/cs/hmessages.po b/view/cs/hmessages.po
deleted file mode 100644
index 8e5b54d3a..000000000
--- a/view/cs/hmessages.po
+++ /dev/null
@@ -1,4618 +0,0 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 Mike Macgirvin
-# This file is distributed under the same license as the Friendika package.
-#
-# Michal Šupler <msupler@gmail.com>, 2011.
-msgid ""
-msgstr ""
-"Project-Id-Version: friendika\n"
-"Report-Msgid-Bugs-To: http://bugs.friendika.com/\n"
-"POT-Creation-Date: 2011-08-14 21:17-0700\n"
-"PO-Revision-Date: 2011-09-03 04:29+0000\n"
-"Last-Translator: michal_s <msupler@gmail.com>\n"
-"Language-Team: Czech (http://www.transifex.net/projects/p/friendika/team/cs/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: cs\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
-
-#: ../../mod/oexchange.php:27
-msgid "Post successful."
-msgstr "Příspěvek úspěšně odeslán"
-
-#: ../../mod/crepair.php:42
-msgid "Contact settings applied."
-msgstr "Nastavení kontaktu změněno"
-
-#: ../../mod/crepair.php:44
-msgid "Contact update failed."
-msgstr "Aktualizace kontaktu selhala."
-
-#: ../../mod/crepair.php:54 ../../mod/wall_attach.php:43
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:102 ../../mod/photos.php:122
-#: ../../mod/photos.php:849 ../../mod/editpost.php:10 ../../mod/install.php:96
-#: ../../mod/notifications.php:62 ../../mod/contacts.php:132
-#: ../../mod/settings.php:41 ../../mod/settings.php:46
-#: ../../mod/settings.php:305 ../../mod/manage.php:75 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/attach.php:33 ../../mod/group.php:19
-#: ../../mod/viewconnections.php:21 ../../mod/register.php:27
-#: ../../mod/regmod.php:111 ../../mod/item.php:110
-#: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:133
-#: ../../mod/profile_photo.php:144 ../../mod/profile_photo.php:155
-#: ../../mod/message.php:8 ../../mod/message.php:116 ../../mod/admin.php:10
-#: ../../mod/wall_upload.php:42 ../../mod/follow.php:8
-#: ../../mod/display.php:108 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:226 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:308
-#: ../../include/items.php:1930 ../../index.php:266
-msgid "Permission denied."
-msgstr "Přístup odmítnut."
-
-#: ../../mod/crepair.php:68 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/contacts.php:240
-#: ../../mod/dfrn_confirm.php:114
-msgid "Contact not found."
-msgstr "Kontakt nenalezen."
-
-#: ../../mod/crepair.php:74
-msgid "Repair Contact Settings"
-msgstr "Opravit nastavení kontaktu"
-
-#: ../../mod/crepair.php:76
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact will stop working."
-msgstr ""
-"<strong>VAROVÁNÍ: Toto je velmi pokročilé nastavení,</strong> pokud zadáte "
-"nesprávné informace, komunikace s tímto kontaktem přestane fungovat."
-
-#: ../../mod/crepair.php:77
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr ""
-"Prosím použijte <strong>ihned</strong> v prohlížeči tlačítko \"zpět\" pokud "
-"si nejste jistí co dělat na této stránce."
-
-#: ../../mod/crepair.php:85 ../../mod/admin.php:464 ../../mod/admin.php:473
-msgid "Name"
-msgstr "Jméno"
-
-#: ../../mod/crepair.php:86
-msgid "Account Nickname"
-msgstr "Přezdívka účtu"
-
-#: ../../mod/crepair.php:87
-msgid "Account URL"
-msgstr "URL adresa účtu"
-
-#: ../../mod/crepair.php:88
-msgid "Friend Request URL"
-msgstr "Žádost o přátelství URL"
-
-#: ../../mod/crepair.php:89
-msgid "Friend Confirm URL"
-msgstr "URL adresa potvrzení přátelství"
-
-#: ../../mod/crepair.php:90
-msgid "Notification Endpoint URL"
-msgstr "Notifikační URL adresa"
-
-#: ../../mod/crepair.php:91
-msgid "Poll/Feed URL"
-msgstr "Poll/Feed URL adresa"
-
-#: ../../mod/crepair.php:100 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:333 ../../mod/photos.php:877 ../../mod/photos.php:934
-#: ../../mod/photos.php:1144 ../../mod/photos.php:1184
-#: ../../mod/photos.php:1223 ../../mod/photos.php:1254
-#: ../../mod/install.php:137 ../../mod/contacts.php:296
-#: ../../mod/settings.php:482 ../../mod/manage.php:106 ../../mod/group.php:84
-#: ../../mod/group.php:167 ../../mod/admin.php:298 ../../mod/admin.php:461
-#: ../../mod/admin.php:587 ../../mod/admin.php:652 ../../mod/profiles.php:372
-#: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:366
-#: ../../addon/randplace/randplace.php:178
-#: ../../addon/impressum/impressum.php:69 ../../addon/oembed/oembed.php:41
-#: ../../addon/statusnet/statusnet.php:274
-#: ../../addon/statusnet/statusnet.php:288
-#: ../../addon/statusnet/statusnet.php:314
-#: ../../addon/statusnet/statusnet.php:321
-#: ../../addon/statusnet/statusnet.php:343
-#: ../../addon/statusnet/statusnet.php:468 ../../addon/piwik/piwik.php:76
-#: ../../addon/twitter/twitter.php:171 ../../addon/twitter/twitter.php:194
-#: ../../addon/twitter/twitter.php:280 ../../include/conversation.php:409
-msgid "Submit"
-msgstr "Odeslat"
-
-#: ../../mod/help.php:27
-msgid "Help:"
-msgstr "Nápověda:"
-
-#: ../../mod/help.php:31 ../../include/nav.php:64
-msgid "Help"
-msgstr "Nápověda"
-
-#: ../../mod/wall_attach.php:57
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Velikost souboru přesáhla limit %d"
-
-#: ../../mod/wall_attach.php:87 ../../mod/wall_attach.php:98
-msgid "File upload failed."
-msgstr "Nahrání souboru se nezdařilo."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Návrhy přátelství odeslány "
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Navrhněte přátelé"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Navrhněte přátelé pro uživatele %s"
-
-#: ../../mod/events.php:112 ../../mod/photos.php:834 ../../mod/notes.php:46
-#: ../../mod/profile.php:116
-msgid "Status"
-msgstr "Stav"
-
-#: ../../mod/events.php:113 ../../mod/photos.php:835 ../../mod/notes.php:47
-#: ../../mod/profperm.php:103 ../../mod/profile.php:117
-#: ../../include/profile_advanced.php:7
-msgid "Profile"
-msgstr "Profil"
-
-#: ../../mod/events.php:114 ../../mod/photos.php:836 ../../mod/notes.php:48
-#: ../../mod/profile.php:118
-msgid "Photos"
-msgstr "Fotografie"
-
-#: ../../mod/events.php:115 ../../mod/events.php:120 ../../mod/photos.php:837
-#: ../../mod/notes.php:49 ../../mod/profile.php:119
-msgid "Events"
-msgstr "Události"
-
-#: ../../mod/events.php:116 ../../mod/photos.php:838 ../../mod/notes.php:50
-#: ../../mod/notes.php:55 ../../mod/profile.php:120
-msgid "Personal Notes"
-msgstr "Osobní poznámky"
-
-#: ../../mod/events.php:210
-msgid "Create New Event"
-msgstr "Vytvořit novou událost"
-
-#: ../../mod/events.php:213
-msgid "Previous"
-msgstr "Předchozí"
-
-#: ../../mod/events.php:216
-msgid "Next"
-msgstr "Následující"
-
-#: ../../mod/events.php:223
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:235
-msgid "Edit event"
-msgstr "Editovat událost"
-
-#: ../../mod/events.php:237 ../../include/text.php:846
-msgid "link to source"
-msgstr "odkaz na zdroj"
-
-#: ../../mod/events.php:305
-msgid "hour:minute"
-msgstr "hodina:minuta"
-
-#: ../../mod/events.php:314
-msgid "Event details"
-msgstr "Detaily události"
-
-#: ../../mod/events.php:315
-#, php-format
-msgid "Format is %s %s. Starting date and Description are required."
-msgstr "Formát je %s %s. Datum zahájení a popis jsou povinné."
-
-#: ../../mod/events.php:316
-msgid "Event Starts:"
-msgstr "Událost začíná:"
-
-#: ../../mod/events.php:319
-msgid "Finish date/time is not known or not relevant"
-msgstr "Datum/čas konce není zadán nebo není relevantní"
-
-#: ../../mod/events.php:321
-msgid "Event Finishes:"
-msgstr "Akce končí:"
-
-#: ../../mod/events.php:324
-msgid "Adjust for viewer timezone"
-msgstr "Nastavit časové pásmo pro uživatele s právem pro čtení"
-
-#: ../../mod/events.php:326
-msgid "Description:"
-msgstr "Popis:"
-
-#: ../../mod/events.php:328 ../../include/event.php:37 ../../boot.php:868
-msgid "Location:"
-msgstr "Místo:"
-
-#: ../../mod/events.php:330
-msgid "Share this event"
-msgstr "Sdílet tuto událost"
-
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:644 ../../addon/js_upload/js_upload.php:45
-msgid "Cancel"
-msgstr "Zrušit"
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Štítek odstraněn"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Odebrat štítek položky"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Vyberte štítek k odebrání:"
-
-#: ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Odstranit"
-
-#: ../../mod/dfrn_poll.php:90 ../../mod/dfrn_poll.php:516
-#, php-format
-msgid "%s welcomes %s"
-msgstr "%s vítá %s "
-
-#: ../../mod/photos.php:37
-msgid "Photo Albums"
-msgstr "Fotoalba"
-
-#: ../../mod/photos.php:45 ../../mod/photos.php:143 ../../mod/photos.php:857
-#: ../../mod/photos.php:926 ../../mod/photos.php:941 ../../mod/photos.php:1332
-#: ../../mod/photos.php:1344
-msgid "Contact Photos"
-msgstr "Fotogalerie kontaktu"
-
-#: ../../mod/photos.php:57 ../../mod/settings.php:9
-msgid "everybody"
-msgstr "Žádost o připojení selhala nebo byla zrušena."
-
-#: ../../mod/photos.php:132
-msgid "Contact information unavailable"
-msgstr "Kontakt byl zablokován"
-
-#: ../../mod/photos.php:143 ../../mod/photos.php:577 ../../mod/photos.php:926
-#: ../../mod/photos.php:941 ../../mod/register.php:316
-#: ../../mod/register.php:323 ../../mod/register.php:330
-#: ../../mod/profile_photo.php:58 ../../mod/profile_photo.php:65
-#: ../../mod/profile_photo.php:72 ../../mod/profile_photo.php:160
-#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:245
-msgid "Profile Photos"
-msgstr "Profilové fotografie"
-
-#: ../../mod/photos.php:153
-msgid "Album not found."
-msgstr "Album nenalezeno."
-
-#: ../../mod/photos.php:171 ../../mod/photos.php:935
-msgid "Delete Album"
-msgstr "Smazat album"
-
-#: ../../mod/photos.php:234 ../../mod/photos.php:1145
-msgid "Delete Photo"
-msgstr "Smazat fotografii"
-
-#: ../../mod/photos.php:508
-msgid "was tagged in a"
-msgstr "štítek byl přidán v"
-
-#: ../../mod/photos.php:508 ../../mod/like.php:110
-#: ../../include/diaspora.php:446 ../../include/conversation.php:31
-msgid "photo"
-msgstr "fotografie"
-
-#: ../../mod/photos.php:508
-msgid "by"
-msgstr "od"
-
-#: ../../mod/photos.php:608 ../../addon/js_upload/js_upload.php:310
-msgid "Image exceeds size limit of "
-msgstr "Velikost obrázku překračuje limit velikosti"
-
-#: ../../mod/photos.php:616
-msgid "Image file is empty."
-msgstr "Soubor obrázku je prázdný."
-
-#: ../../mod/photos.php:630 ../../mod/profile_photo.php:118
-#: ../../mod/wall_upload.php:65
-msgid "Unable to process image."
-msgstr "Obrázek není možné zprocesovat"
-
-#: ../../mod/photos.php:650 ../../mod/profile_photo.php:241
-#: ../../mod/wall_upload.php:84
-msgid "Image upload failed."
-msgstr "Nahrání obrázku selhalo."
-
-#: ../../mod/photos.php:733 ../../mod/community.php:9
-#: ../../mod/dfrn_request.php:591 ../../mod/viewconnections.php:16
-#: ../../mod/display.php:7 ../../mod/search.php:13 ../../mod/directory.php:20
-msgid "Public access denied."
-msgstr "Veřejný přístup odepřen."
-
-#: ../../mod/photos.php:743
-msgid "No photos selected"
-msgstr "Není vybrána žádná fotografie"
-
-#: ../../mod/photos.php:820
-msgid "Access to this item is restricted."
-msgstr "Přístup k této položce je omezen."
-
-#: ../../mod/photos.php:884
-msgid "Upload Photos"
-msgstr "Nahrání fotografií "
-
-#: ../../mod/photos.php:887 ../../mod/photos.php:930
-msgid "New album name: "
-msgstr "Název nového alba:"
-
-#: ../../mod/photos.php:888
-msgid "or existing album name: "
-msgstr "nebo stávající název alba:"
-
-#: ../../mod/photos.php:890 ../../mod/photos.php:1140
-msgid "Permissions"
-msgstr "Oprávnění:"
-
-#: ../../mod/photos.php:945
-msgid "Edit Album"
-msgstr "Edituj album"
-
-#: ../../mod/photos.php:955 ../../mod/photos.php:1362
-msgid "View Photo"
-msgstr "Zobraz fotografii"
-
-#: ../../mod/photos.php:984
-msgid "Photo not available"
-msgstr "Fotografie není k dispozici"
-
-#: ../../mod/photos.php:1033
-msgid "Edit photo"
-msgstr "Editovat fotografii"
-
-#: ../../mod/photos.php:1034
-msgid "Use as profile photo"
-msgstr "Použít jako profilovou fotografii"
-
-#: ../../mod/photos.php:1040 ../../include/conversation.php:342
-msgid "Private Message"
-msgstr "Soukromá zpráva"
-
-#: ../../mod/photos.php:1051
-msgid "View Full Size"
-msgstr "Zobrazit v plné velikosti"
-
-#: ../../mod/photos.php:1119
-msgid "Tags: "
-msgstr "Štítky:"
-
-#: ../../mod/photos.php:1122
-msgid "[Remove any tag]"
-msgstr "[Odstranit všechny štítky]"
-
-#: ../../mod/photos.php:1133
-msgid "New album name"
-msgstr "Nové jméno alba"
-
-#: ../../mod/photos.php:1136
-msgid "Caption"
-msgstr "Titulek"
-
-#: ../../mod/photos.php:1138
-msgid "Add a Tag"
-msgstr "Přidat štítek"
-
-#: ../../mod/photos.php:1142
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr ""
-"Příklad: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-
-#: ../../mod/photos.php:1162 ../../include/conversation.php:390
-msgid "I like this (toggle)"
-msgstr "Líbí se mi to (přepínač)"
-
-#: ../../mod/photos.php:1163 ../../include/conversation.php:391
-msgid "I don't like this (toggle)"
-msgstr "Nelíbí se mi to (přepínač)"
-
-#: ../../mod/photos.php:1164 ../../include/conversation.php:392
-#: ../../include/conversation.php:746
-msgid "Share"
-msgstr "Sdílet"
-
-#: ../../mod/photos.php:1165 ../../mod/editpost.php:99
-#: ../../mod/message.php:190 ../../mod/message.php:324
-#: ../../include/conversation.php:393 ../../include/conversation.php:756
-msgid "Please wait"
-msgstr "Čekejte prosím"
-
-#: ../../mod/photos.php:1181 ../../mod/photos.php:1220
-#: ../../mod/photos.php:1251 ../../include/conversation.php:406
-msgid "This is you"
-msgstr "To je Vy"
-
-#: ../../mod/photos.php:1183 ../../mod/photos.php:1222
-#: ../../mod/photos.php:1253 ../../include/conversation.php:408
-#: ../../boot.php:411
-msgid "Comment"
-msgstr "Okomentovat"
-
-#: ../../mod/photos.php:1281 ../../mod/group.php:154 ../../mod/admin.php:468
-#: ../../include/conversation.php:427
-msgid "Delete"
-msgstr "Odstranit"
-
-#: ../../mod/photos.php:1349
-msgid "Recent Photos"
-msgstr "Aktuální fotografie"
-
-#: ../../mod/photos.php:1353
-msgid "Upload New Photos"
-msgstr "Nahrát nové fotografie"
-
-#: ../../mod/photos.php:1366
-msgid "View Album"
-msgstr "Zobrazit album"
-
-#: ../../mod/community.php:14
-msgid "Not available."
-msgstr "Není k dispozici."
-
-#: ../../mod/community.php:26 ../../include/nav.php:79
-msgid "Community"
-msgstr "Komunita"
-
-#: ../../mod/community.php:56 ../../mod/search.php:65
-msgid "No results."
-msgstr "Žádné výsledky."
-
-#: ../../mod/community.php:83 ../../mod/network.php:302
-#: ../../mod/register.php:504 ../../mod/profile.php:241
-#: ../../mod/display.php:117
-msgid ""
-"Shared content is covered by the <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons "
-"Attribution 3.0</a> license."
-msgstr ""
-"Sdílený obsah je v souladu s <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Commons Creative "
-"3.0</a> licencí."
-
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
-msgstr "Položka nenalezena"
-
-#: ../../mod/editpost.php:32
-msgid "Edit post"
-msgstr "Upravit příspěvek"
-
-#: ../../mod/editpost.php:75 ../../include/conversation.php:732
-msgid "Post to Email"
-msgstr "Poslat příspěvek na e-mail"
-
-#: ../../mod/editpost.php:90 ../../include/group.php:171
-#: ../../include/group.php:172 ../../include/conversation.php:417
-msgid "Edit"
-msgstr "Upravit"
-
-#: ../../mod/editpost.php:91 ../../mod/message.php:188
-#: ../../mod/message.php:322 ../../include/conversation.php:747
-msgid "Upload photo"
-msgstr "Nahrát fotografii"
-
-#: ../../mod/editpost.php:92 ../../include/conversation.php:748
-msgid "Attach file"
-msgstr "Přiložit soubor"
-
-#: ../../mod/editpost.php:93 ../../mod/message.php:189
-#: ../../mod/message.php:323 ../../include/conversation.php:749
-msgid "Insert web link"
-msgstr "Vložit webový odkaz"
-
-#: ../../mod/editpost.php:94 ../../include/conversation.php:750
-msgid "Insert YouTube video"
-msgstr "Vložit YouTube video"
-
-#: ../../mod/editpost.php:95 ../../include/conversation.php:751
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vložit Vorbis [.ogg] video"
-
-#: ../../mod/editpost.php:96 ../../include/conversation.php:752
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vložit Vorbis [.ogg] audio"
-
-#: ../../mod/editpost.php:97 ../../include/conversation.php:753
-msgid "Set your location"
-msgstr "Nastavte vaši polohu"
-
-#: ../../mod/editpost.php:98 ../../include/conversation.php:754
-msgid "Clear browser location"
-msgstr "Odstranit adresu v prohlížeči"
-
-#: ../../mod/editpost.php:100 ../../include/conversation.php:757
-msgid "Permission settings"
-msgstr "Nastavení oprávnění"
-
-#: ../../mod/editpost.php:108 ../../include/conversation.php:765
-msgid "CC: email addresses"
-msgstr "skrytá kopie: e-mailové adresy"
-
-#: ../../mod/editpost.php:109 ../../include/conversation.php:766
-msgid "Public post"
-msgstr "Veřejný příspěvek"
-
-#: ../../mod/editpost.php:111 ../../include/conversation.php:768
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Příklad: bob@example.com, mary@example.com"
-
-#: ../../mod/dfrn_request.php:96
-msgid "This introduction has already been accepted."
-msgstr "Toto pozvání již bylo přijato"
-
-#: ../../mod/dfrn_request.php:120 ../../mod/dfrn_request.php:351
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "Adresa profilu není platná nebo neobsahuje profilové informace"
-
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:356
-msgid "Warning: profile location has no identifiable owner name."
-msgstr ""
-"Varování: umístění profilu nemá žádné identifikovatelné jméno vlastníka"
-
-#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:358
-msgid "Warning: profile location has no profile photo."
-msgstr "Varování: umístění profilu nemá žádnou profilovou fotografii."
-
-#: ../../mod/dfrn_request.php:130 ../../mod/dfrn_request.php:361
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "%d požadovaný parametr nebyl nalezen na daném místě"
-msgstr[1] "%d požadované parametry nebyly nalezeny na daném místě"
-msgstr[2] "%d požadované parametry nebyly nalezeny na daném místě"
-
-#: ../../mod/dfrn_request.php:168
-msgid "Introduction complete."
-msgstr "Představení dokončeno."
-
-#: ../../mod/dfrn_request.php:192
-msgid "Unrecoverable protocol error."
-msgstr "Neopravitelná chyba protokolu"
-
-#: ../../mod/dfrn_request.php:220
-msgid "Profile unavailable."
-msgstr "Profil není k dispozici."
-
-#: ../../mod/dfrn_request.php:245
-#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s dnes obdržel příliš mnoho požadavků na připojení."
-
-#: ../../mod/dfrn_request.php:246
-msgid "Spam protection measures have been invoked."
-msgstr "Ochrana proti spamu byla aktivována"
-
-#: ../../mod/dfrn_request.php:247
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Přátelům se doporučuje to zkusit znovu za 24 hodin."
-
-#: ../../mod/dfrn_request.php:277
-msgid "Invalid locator"
-msgstr "Neplatný odkaz"
-
-#: ../../mod/dfrn_request.php:296
-msgid "Unable to resolve your name at the provided location."
-msgstr "Nepodařilo se zjistit Vaše jméno na zadané adrese."
-
-#: ../../mod/dfrn_request.php:309
-msgid "You have already introduced yourself here."
-msgstr "Již jste se zde zavedli."
-
-#: ../../mod/dfrn_request.php:313
-#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Zřejmě jste již přátelé se %s."
-
-#: ../../mod/dfrn_request.php:334
-msgid "Invalid profile URL."
-msgstr "Neplatné URL profilu."
-
-#: ../../mod/dfrn_request.php:340 ../../mod/follow.php:20
-msgid "Disallowed profile URL."
-msgstr "Nepovolené URL profilu."
-
-#: ../../mod/dfrn_request.php:406 ../../mod/contacts.php:116
-msgid "Failed to update contact record."
-msgstr "Nepodařilo se aktualizovat kontakt."
-
-#: ../../mod/dfrn_request.php:427
-msgid "Your introduction has been sent."
-msgstr "Vaše žádost o propojení byla odeslána."
-
-#: ../../mod/dfrn_request.php:481
-msgid "Please login to confirm introduction."
-msgstr "Prosím přihlašte se k potvrzení žádosti o propojení."
-
-#: ../../mod/dfrn_request.php:495
-msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr ""
-"Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do "
-"<strong>tohoto</strong> profilu."
-
-#: ../../mod/dfrn_request.php:507
-#, php-format
-msgid "Welcome home %s."
-msgstr "Vítejte doma %s."
-
-#: ../../mod/dfrn_request.php:508
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Prosím potvrďte Vaši žádost o představení/spojení %s."
-
-#: ../../mod/dfrn_request.php:509
-msgid "Confirm"
-msgstr "Potvrdit"
-
-#: ../../mod/dfrn_request.php:542 ../../include/items.php:1519
-msgid "[Name Withheld]"
-msgstr "[Jméno odepřeno]"
-
-#: ../../mod/dfrn_request.php:549
-msgid "Introduction received at "
-msgstr "Pozvánka přijata v"
-
-#: ../../mod/dfrn_request.php:551 ../../mod/lostpass.php:44
-#: ../../mod/lostpass.php:106 ../../mod/register.php:369
-#: ../../mod/register.php:423 ../../mod/regmod.php:54
-#: ../../mod/dfrn_notify.php:291 ../../mod/dfrn_notify.php:547
-#: ../../mod/dfrn_confirm.php:674 ../../include/items.php:1528
-msgid "Administrator"
-msgstr "Administrátor"
-
-#: ../../mod/dfrn_request.php:630
-msgid "Friend/Connection Request"
-msgstr "Požadavek o přátelství / propojení"
-
-#: ../../mod/dfrn_request.php:631
-msgid ""
-"Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr ""
-"Příklady: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, "
-"testuser@identi.ca"
-
-#: ../../mod/dfrn_request.php:632
-msgid "Please answer the following:"
-msgstr "Odpovězte, prosím, následující:"
-
-#: ../../mod/dfrn_request.php:633
-#, php-format
-msgid "Does %s know you?"
-msgstr "Zná Vás uživatel %s ?"
-
-#: ../../mod/dfrn_request.php:634 ../../mod/settings.php:415
-#: ../../mod/settings.php:421 ../../mod/settings.php:429
-#: ../../mod/settings.php:433 ../../mod/register.php:498
-#: ../../mod/profiles.php:354
-msgid "Yes"
-msgstr "Ano"
-
-#: ../../mod/dfrn_request.php:635 ../../mod/settings.php:415
-#: ../../mod/settings.php:421 ../../mod/settings.php:429
-#: ../../mod/settings.php:433 ../../mod/register.php:499
-#: ../../mod/profiles.php:355
-msgid "No"
-msgstr "Ne"
-
-#: ../../mod/dfrn_request.php:636
-msgid "Add a personal note:"
-msgstr "Přidat osobní poznámku:"
-
-#: ../../mod/dfrn_request.php:637
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"social networks:"
-msgstr ""
-"Prosím, zadejte adresu své 'identity' jedné z následujících podporovaných "
-"sociálních sítí:"
-
-#: ../../mod/dfrn_request.php:638
-msgid "Friendika"
-msgstr "Friendika"
-
-#: ../../mod/dfrn_request.php:639
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet / Federativní Sociální Web"
-
-#: ../../mod/dfrn_request.php:640
-msgid "Private (secure) network"
-msgstr "Soukromá (zabezpečená) síť"
-
-#: ../../mod/dfrn_request.php:641
-msgid "Public (insecure) network"
-msgstr "Veřejná (nezabezpečená) síť"
-
-#: ../../mod/dfrn_request.php:642
-msgid "Your Identity Address:"
-msgstr "Adresa Vaší identity :"
-
-#: ../../mod/dfrn_request.php:643
-msgid "Submit Request"
-msgstr "Odeslat žádost"
-
-#: ../../mod/install.php:34
-msgid "Could not create/connect to database."
-msgstr "Nelze vytvořit / připojit se k databázi."
-
-#: ../../mod/install.php:39
-msgid "Connected to database."
-msgstr "Připojeno k databázi."
-
-#: ../../mod/install.php:75
-msgid "Proceed with Installation"
-msgstr "Pokračovat v instalaci"
-
-#: ../../mod/install.php:77
-msgid "Your Friendika site database has been installed."
-msgstr "Vaše databáze Friendiky byla nainstalována."
-
-#: ../../mod/install.php:78
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "Důležité: Budete si muset [ručně] plánovat úlohu pro poller."
-
-#: ../../mod/install.php:79 ../../mod/install.php:89 ../../mod/install.php:207
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Přečtěte si prosím informace v souboru \"INSTALL.txt\"."
-
-#: ../../mod/install.php:81
-msgid "Proceed to registration"
-msgstr "Pokračovat k registraci"
-
-#: ../../mod/install.php:87
-msgid "Database import failed."
-msgstr "Import databáze se nezdařil."
-
-#: ../../mod/install.php:88
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr ""
-"Možná budete muset importovat soubor \"database.sql\" ručně pomocí "
-"phpMyAdmin či MySQL."
-
-#: ../../mod/install.php:101
-msgid "Welcome to Friendika."
-msgstr "Vítejte na Friendice."
-
-#: ../../mod/install.php:124
-msgid "Friendika Social Network"
-msgstr "Sociální síť Friendika "
-
-#: ../../mod/install.php:125
-msgid "Installation"
-msgstr "Instalace"
-
-#: ../../mod/install.php:126
-msgid ""
-"In order to install Friendika we need to know how to connect to your "
-"database."
-msgstr "Pro instalaci Friendika musíme vědět, jak se připojit k databázi."
-
-#: ../../mod/install.php:127
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr ""
-"Obraťte se na svého poskytovatele hostingu nebo administrátora serveru , "
-"pokud máte dotazy týkající se těchto nastavení."
-
-#: ../../mod/install.php:128
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr ""
-"Databázi, kterou uvedete níže by již měla existovat. Pokud tak není, "
-"prosíme, vytvořte ji před pokračováním."
-
-#: ../../mod/install.php:129
-msgid "Database Server Name"
-msgstr "Jméno databázového serveru"
-
-#: ../../mod/install.php:130
-msgid "Database Login Name"
-msgstr "Přihlašovací jméno k databázi"
-
-#: ../../mod/install.php:131
-msgid "Database Login Password"
-msgstr "Heslo k databázovému účtu "
-
-#: ../../mod/install.php:132
-msgid "Database Name"
-msgstr "Jméno databáze"
-
-#: ../../mod/install.php:133
-msgid "Please select a default timezone for your website"
-msgstr "Prosím, vyberte výchozí časové pásmo pro vaše webové stránky"
-
-#: ../../mod/install.php:134
-msgid ""
-"Site administrator email address. Your account email address must match this"
-" in order to use the web admin panel."
-msgstr ""
-"e-mailová adresa administrárota webu. E-mailová adresa vašeho účtu se musí "
-"shodovat, aby bylo možné využívat panel webové administrace."
-
-#: ../../mod/install.php:153
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru."
-
-#: ../../mod/install.php:154
-msgid ""
-"This is required. Please adjust the configuration file .htconfig.php "
-"accordingly."
-msgstr ""
-"Tento krok je nutný. Upravte příslušným způsobem konfigurační soubor "
-".htconfig.php."
-
-#: ../../mod/install.php:161
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr ""
-"Verze PHP pro příkazový řádek na vašem systému nemá povolen "
-"\"register_argc_argv\"."
-
-#: ../../mod/install.php:162
-msgid "This is required for message delivery to work."
-msgstr "Toto je nutné pro fungování doručování zpráv."
-
-#: ../../mod/install.php:184
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr ""
-"Chyba: funkce \"openssl_pkey_new\" na tomto systému není schopna generovat "
-"šifrovací klíče"
-
-#: ../../mod/install.php:185
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr ""
-"Pokud systém běží na Windows, seznamte se s "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-
-#: ../../mod/install.php:194
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr ""
-"Chyba: Požadovaný Apache webserver mod-rewrite modul není nainstalován."
-
-#: ../../mod/install.php:196
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Chyba: požadovaný libcurl PHP modul není nainstalován."
-
-#: ../../mod/install.php:198
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Chyba: požadovaný GD graphics PHP modul není nainstalován."
-
-#: ../../mod/install.php:200
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Chyba: požadovaný openssl PHP modul není nainstalován."
-
-#: ../../mod/install.php:202
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Chyba: požadovaný mysqli PHP modul není nainstalován."
-
-#: ../../mod/install.php:204
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Chyba: PHP modul mb_string je vyžadován, ale není nainstalován."
-
-#: ../../mod/install.php:216
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr ""
-"Webový instalátor musí být schopen vytvořit soubor s názvem "
-"\".htconfig.php\" v hlavním adresáři vašeho webového serveru ale nyní mu to "
-"není umožněno."
-
-#: ../../mod/install.php:217
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr ""
-"Toto je nejčastěji nastavením oprávnění, kdy webový server nemusí být "
-"schopen zapisovat soubory do vašeho adresáře - i když Vy můžete."
-
-#: ../../mod/install.php:218
-msgid ""
-"Please check with your site documentation or support people to see if this "
-"situation can be corrected."
-msgstr ""
-"Prosím, poraďte se s dokumentací k Vašemu hostingu nebo s technickou "
-"podporou, zda-li lze tuto situaci napravit."
-
-#: ../../mod/install.php:219
-msgid ""
-"If not, you may be required to perform a manual installation. Please see the"
-" file \"INSTALL.txt\" for instructions."
-msgstr ""
-"Pokud ne, může být vyžadováno provedení ruční instalace. Prosím, seznamte se"
-" s návodem popsaným v souboru \"INSTALL.txt\"."
-
-#: ../../mod/install.php:228
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr ""
-"Databázový konfigurační soubor \".htconfig.php\" nemohl být uložen. Prosím, "
-"použijte přiložený text k vytvoření konfiguračního souboru ve vašem "
-"kořenovém adresáři webového serveru."
-
-#: ../../mod/install.php:243
-msgid "Errors encountered creating database tables."
-msgstr "Při vytváření databázových tabulek došlo k chybám."
-
-#: ../../mod/update_community.php:18 ../../mod/update_network.php:22
-#: ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
-msgstr "[Vložený obsah - obnovení stránky pro zobrazení]"
-
-#: ../../mod/match.php:10
-msgid "Profile Match"
-msgstr "Shoda profilu"
-
-#: ../../mod/match.php:18
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr ""
-"Žádná klíčová slova k porovnání. Prosím, přidejte klíčová slova do Vašeho "
-"výchozího profilu."
-
-#: ../../mod/match.php:54
-msgid "No matches"
-msgstr "Žádné shody"
-
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Vzdálené soukromé informace nejsou k dispozici."
-
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
-msgstr "Viditelné pro:"
-
-#: ../../mod/home.php:23
-#, php-format
-msgid "Welcome to %s"
-msgstr "Vítá Vás %s"
-
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Neplatný identifikátor požadavku."
-
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:118
-#: ../../mod/notifications.php:162
-msgid "Discard"
-msgstr "Odstranit"
-
-#: ../../mod/notifications.php:47 ../../mod/notifications.php:117
-#: ../../mod/notifications.php:161
-msgid "Ignore"
-msgstr "Ignorovat"
-
-#: ../../mod/notifications.php:74
-msgid "Pending Friend/Connect Notifications"
-msgstr "Čekající požadavky na Přátelství / Připojení "
-
-#: ../../mod/notifications.php:78
-msgid "Show Ignored Requests"
-msgstr "Zobrazit ignorované žádosti"
-
-#: ../../mod/notifications.php:78
-msgid "Hide Ignored Requests"
-msgstr "Skrýt ignorované žádosti"
-
-#: ../../mod/notifications.php:105 ../../mod/notifications.php:148
-msgid "Notification type: "
-msgstr "Typ oznámení:"
-
-#: ../../mod/notifications.php:106
-msgid "Friend Suggestion"
-msgstr "Návrh přátelství"
-
-#: ../../mod/notifications.php:108
-#, php-format
-msgid "suggested by %s"
-msgstr "navrhl %s"
-
-#: ../../mod/notifications.php:114 ../../mod/notifications.php:159
-#: ../../mod/admin.php:466
-msgid "Approve"
-msgstr "Schválit"
-
-#: ../../mod/notifications.php:133
-msgid "Claims to be known to you: "
-msgstr "Vaši údajní známí:"
-
-#: ../../mod/notifications.php:133
-msgid "yes"
-msgstr "ano"
-
-#: ../../mod/notifications.php:133
-msgid "no"
-msgstr "ne"
-
-#: ../../mod/notifications.php:139
-msgid "Approve as: "
-msgstr "Schválit jako:"
-
-#: ../../mod/notifications.php:140
-msgid "Friend"
-msgstr "Přítel"
-
-#: ../../mod/notifications.php:141
-msgid "Fan/Admirer"
-msgstr "Fanoušek / obdivovatel"
-
-#: ../../mod/notifications.php:149
-msgid "Friend/Connect Request"
-msgstr "Přítel / žádost o připojení"
-
-#: ../../mod/notifications.php:149
-msgid "New Follower"
-msgstr "Nový následovník"
-
-#: ../../mod/notifications.php:168
-msgid "No notifications."
-msgstr "Žádné oznámení."
-
-#: ../../mod/contacts.php:26
-msgid "Invite Friends"
-msgstr "Pozvat přátele"
-
-#: ../../mod/contacts.php:32
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "Pozvánka %d k dispozici"
-msgstr[1] "Pozvánky %d k dispozici"
-msgstr[2] "Pozvánky %d k dispozici"
-
-#: ../../mod/contacts.php:41
-msgid "Find People With Shared Interests"
-msgstr "Najít lidi se společnými zájmy"
-
-#: ../../mod/contacts.php:45
-msgid "Connect/Follow"
-msgstr "Připojit / Následovat"
-
-#: ../../mod/contacts.php:46
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Příklad: jan@příklad.cz, http://příklad.cz/jana"
-
-#: ../../mod/contacts.php:47
-msgid "Follow"
-msgstr "Následovat"
-
-#: ../../mod/contacts.php:69 ../../mod/contacts.php:150
-msgid "Could not access contact record."
-msgstr "Nelze získat přístup k záznamu kontaktu."
-
-#: ../../mod/contacts.php:83
-msgid "Could not locate selected profile."
-msgstr "Nelze nalézt vybraný profil."
-
-#: ../../mod/contacts.php:114
-msgid "Contact updated."
-msgstr "Kontakt aktualizován."
-
-#: ../../mod/contacts.php:172
-msgid "Contact has been blocked"
-msgstr "Kontakt byl zablokován"
-
-#: ../../mod/contacts.php:172
-msgid "Contact has been unblocked"
-msgstr "Kontakt byl odblokován"
-
-#: ../../mod/contacts.php:186
-msgid "Contact has been ignored"
-msgstr "Kontakt bude ignorován"
-
-#: ../../mod/contacts.php:186
-msgid "Contact has been unignored"
-msgstr "Kontakt přestal být ignorován"
-
-#: ../../mod/contacts.php:207
-msgid "stopped following"
-msgstr "následování zastaveno"
-
-#: ../../mod/contacts.php:226
-msgid "Contact has been removed."
-msgstr "Kontakt byl odstraněn."
-
-#: ../../mod/contacts.php:254 ../../mod/contacts.php:397
-msgid "Mutual Friendship"
-msgstr "Vzájemné přátelství"
-
-#: ../../mod/contacts.php:258 ../../mod/contacts.php:401
-msgid "is a fan of yours"
-msgstr "je Váš fanoušek"
-
-#: ../../mod/contacts.php:263 ../../mod/contacts.php:405
-msgid "you are a fan of"
-msgstr "jste fanouškem"
-
-#: ../../mod/contacts.php:280
-msgid "Privacy Unavailable"
-msgstr "Ochrana soukromí není k dispozici"
-
-#: ../../mod/contacts.php:281
-msgid "Private communications are not available for this contact."
-msgstr "Soukromá komunikace není dostupná pro tento kontakt."
-
-#: ../../mod/contacts.php:284
-msgid "Never"
-msgstr "Nikdy"
-
-#: ../../mod/contacts.php:288
-msgid "(Update was successful)"
-msgstr "(Aktualizace byla úspěšná)"
-
-#: ../../mod/contacts.php:288
-msgid "(Update was not successful)"
-msgstr "(Aktualizace nebyla úspěšná)"
-
-#: ../../mod/contacts.php:291
-msgid "Suggest friends"
-msgstr "Navrhněte přátelé"
-
-#: ../../mod/contacts.php:295
-msgid "Contact Editor"
-msgstr "Editor kontaktu"
-
-#: ../../mod/contacts.php:297
-msgid "Profile Visibility"
-msgstr "Viditelnost profilu"
-
-#: ../../mod/contacts.php:298
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-"Vyberte prosím profil, který chcete zobrazit %s při zabezpečeném prohlížení "
-"vašeho profilu."
-
-#: ../../mod/contacts.php:299
-msgid "Contact Information / Notes"
-msgstr "Kontaktní informace / poznámky"
-
-#: ../../mod/contacts.php:300
-msgid "Online Reputation"
-msgstr "Online pověst"
-
-#: ../../mod/contacts.php:301
-msgid ""
-"Occasionally your friends may wish to inquire about this person's online "
-"legitimacy."
-msgstr ""
-"Občas mohou vaši přátelé chtít informovat o online legitimitě této osoby."
-
-#: ../../mod/contacts.php:302
-msgid ""
-"You may help them choose whether or not to interact with this person by "
-"providing a <em>reputation</em> to guide them."
-msgstr ""
-"Poskytnutím <em>pověsti</em> jim můžete pomoci se rozhodnout, zda-li s touto"
-" osobou komunikovat či nikoliv."
-
-#: ../../mod/contacts.php:303
-msgid ""
-"Please take a moment to elaborate on this selection if you feel it could be "
-"helpful to others."
-msgstr ""
-"Věnujte prosím chvilku vyplnění této volby, pokud máte pocit, že by mohlo "
-"být užitečné pro ostatní."
-
-#: ../../mod/contacts.php:304 ../../mod/contacts.php:421
-#: ../../mod/viewconnections.php:61
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Navštivte profil uživatele %s [%s]"
-
-#: ../../mod/contacts.php:305
-msgid "Block/Unblock contact"
-msgstr "Blokovat / Odblokovat kontakt"
-
-#: ../../mod/contacts.php:306
-msgid "Ignore contact"
-msgstr "Ignorovat kontakt"
-
-#: ../../mod/contacts.php:307
-msgid "Repair contact URL settings"
-msgstr "Opravit nastavení URL kontaktu"
-
-#: ../../mod/contacts.php:308
-msgid "Repair contact URL settings (WARNING: Advanced)"
-msgstr "Opravit nastavení URL kontaktu (Varování: Pokročilé)"
-
-#: ../../mod/contacts.php:309
-msgid "View conversations"
-msgstr "Zobrazit konverzace"
-
-#: ../../mod/contacts.php:312
-msgid "Delete contact"
-msgstr "Odstranit kontakt"
-
-#: ../../mod/contacts.php:314
-msgid "Last updated: "
-msgstr "Poslední aktualizace:"
-
-#: ../../mod/contacts.php:315
-msgid "Update public posts: "
-msgstr "Aktualizace veřejných příspěvků:"
-
-#: ../../mod/contacts.php:317 ../../mod/admin.php:701
-msgid "Update now"
-msgstr "Aktualizovat"
-
-#: ../../mod/contacts.php:320
-msgid "Unblock this contact"
-msgstr "Odblokovat tento kontakt"
-
-#: ../../mod/contacts.php:320
-msgid "Block this contact"
-msgstr "Blokovat tento kontakt"
-
-#: ../../mod/contacts.php:321
-msgid "Unignore this contact"
-msgstr "Přestat ignorovat tento kontakt"
-
-#: ../../mod/contacts.php:321
-msgid "Ignore this contact"
-msgstr "Ignorovat tento kontakt"
-
-#: ../../mod/contacts.php:324
-msgid "Currently blocked"
-msgstr "V současnosti zablokováno"
-
-#: ../../mod/contacts.php:325
-msgid "Currently ignored"
-msgstr "V současnosti ignorováno"
-
-#: ../../mod/contacts.php:356 ../../include/nav.php:110
-msgid "Contacts"
-msgstr "Kontakty"
-
-#: ../../mod/contacts.php:358
-msgid "Show Blocked Connections"
-msgstr "Zobrazit blokované spojení"
-
-#: ../../mod/contacts.php:358
-msgid "Hide Blocked Connections"
-msgstr "Skrýt blokované spojení"
-
-#: ../../mod/contacts.php:360 ../../mod/directory.php:55
-msgid "Finding: "
-msgstr "Zjištění: "
-
-#: ../../mod/contacts.php:361 ../../mod/directory.php:57
-msgid "Find"
-msgstr "Najít"
-
-#: ../../mod/contacts.php:422 ../../include/conversation.php:612
-msgid "Edit contact"
-msgstr "Editovat kontakt"
-
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
-msgstr "Nenalezen žádný platný účet."
-
-#: ../../mod/lostpass.php:31
-msgid "Password reset request issued. Check your email."
-msgstr ""
-"Žádost o obnovení hesla vyřízena. Zkontrolujte Vaši e-mailovou schránku."
-
-#: ../../mod/lostpass.php:42
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Na %s bylo zažádáno o resetování hesla"
-
-#: ../../mod/lostpass.php:64
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr ""
-"Žádost nemohla být ověřena. (Možná jste ji odeslali již dříve.) Obnovení "
-"hesla se nezdařilo."
-
-#: ../../mod/lostpass.php:82 ../../boot.php:654
-msgid "Password Reset"
-msgstr "Obnovení hesla"
-
-#: ../../mod/lostpass.php:83
-msgid "Your password has been reset as requested."
-msgstr "Vaše heslo bylo na Vaše přání resetováno."
-
-#: ../../mod/lostpass.php:84
-msgid "Your new password is"
-msgstr "Vaše nové heslo je"
-
-#: ../../mod/lostpass.php:85
-msgid "Save or copy your new password - and then"
-msgstr "Uložte si nebo zkopírujte nové heslo - a pak"
-
-#: ../../mod/lostpass.php:86
-msgid "click here to login"
-msgstr "klikněte zde pro přihlášení"
-
-#: ../../mod/lostpass.php:87
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr ""
-"Vaše heslo může být změněno na stránce <em>nastavení</em> po úspěšném "
-"přihlášení."
-
-#: ../../mod/lostpass.php:118
-msgid "Forgot your Password?"
-msgstr "Zapomněli jste heslo?"
-
-#: ../../mod/lostpass.php:119
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr ""
-"Zadejte svůj e-mailovou adresu a odešlete žádost o zaslání Vašeho nového "
-"hesla. Poté zkontrolujte svůj e-mail pro další instrukce."
-
-#: ../../mod/lostpass.php:120
-msgid "Nickname or Email: "
-msgstr "Přezdívka nebo e-mail:"
-
-#: ../../mod/lostpass.php:121
-msgid "Reset"
-msgstr "Reset"
-
-#: ../../mod/settings.php:64
-msgid "Passwords do not match. Password unchanged."
-msgstr "Hesla se neshodují. Heslo nebylo změněno."
-
-#: ../../mod/settings.php:69
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Prázdné hesla nejsou povolena. Heslo nebylo změněno."
-
-#: ../../mod/settings.php:80
-msgid "Password changed."
-msgstr "Heslo bylo změněno."
-
-#: ../../mod/settings.php:82
-msgid "Password update failed. Please try again."
-msgstr "Aktualizace hesla se nezdařila. Zkuste to prosím znovu."
-
-#: ../../mod/settings.php:161
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení."
-
-#: ../../mod/settings.php:188
-msgid " Please use a shorter name."
-msgstr "Prosím použijte kratší jméno."
-
-#: ../../mod/settings.php:190
-msgid " Name too short."
-msgstr "Jméno je příliš krátké."
-
-#: ../../mod/settings.php:196
-msgid " Not valid email."
-msgstr "Neplatný e-mail."
-
-#: ../../mod/settings.php:198
-msgid " Cannot change to that email."
-msgstr "Nelze provést změnu na tento e-mail."
-
-#: ../../mod/settings.php:257 ../../addon/facebook/facebook.php:297
-#: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:89
-#: ../../addon/twitter/twitter.php:275
-msgid "Settings updated."
-msgstr "Nastavení aktualizováno."
-
-#: ../../mod/settings.php:311 ../../include/nav.php:108
-msgid "Account settings"
-msgstr "Nastavení účtu"
-
-#: ../../mod/settings.php:312
-msgid "Plugin settings"
-msgstr "Nastavení pluginu"
-
-#: ../../mod/settings.php:322
-msgid "No Plugin settings configured"
-msgstr "Žádný doplněk není nastaven"
-
-#: ../../mod/settings.php:329 ../../addon/widgets/widgets.php:122
-msgid "Plugin Settings"
-msgstr "Nastavení doplňku"
-
-#: ../../mod/settings.php:382 ../../mod/admin.php:133 ../../mod/admin.php:443
-msgid "Normal Account"
-msgstr "Normální účet"
-
-#: ../../mod/settings.php:383
-msgid "This account is a normal personal profile"
-msgstr "Tento účet je běžný osobní profil"
-
-#: ../../mod/settings.php:386 ../../mod/admin.php:134 ../../mod/admin.php:444
-msgid "Soapbox Account"
-msgstr "Soapbox účet"
-
-#: ../../mod/settings.php:387
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr ""
-"Automaticky schválit všechna spojení / přátelství jako fanoušky s právem "
-"pouze ke čtení"
-
-#: ../../mod/settings.php:390 ../../mod/admin.php:135 ../../mod/admin.php:445
-msgid "Community/Celebrity Account"
-msgstr "Komunitní účet / Účet celebrity"
-
-#: ../../mod/settings.php:391
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr ""
-"Automaticky schvalovat všechny žádosti o spojení / přátelství, jako fanoušky"
-" s právem ke čtení."
-
-#: ../../mod/settings.php:394 ../../mod/admin.php:136 ../../mod/admin.php:446
-msgid "Automatic Friend Account"
-msgstr "Účet s automatickým schvalováním přátel"
-
-#: ../../mod/settings.php:395
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr ""
-"Automaticky schvalovat všechny žádosti o spojení / přátelství jako přátele"
-
-#: ../../mod/settings.php:405
-msgid "OpenID:"
-msgstr "OpenID:"
-
-#: ../../mod/settings.php:405
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Volitelné) Povolit OpenID pro přihlášení k tomuto účtu."
-
-#: ../../mod/settings.php:415
-msgid "Publish your default profile in your local site directory?"
-msgstr "Publikovat Váš výchozí profil v místním adresáři webu?"
-
-#: ../../mod/settings.php:421
-msgid "Publish your default profile in the global social directory?"
-msgstr "Publikovat Váš výchozí profil v globální sociálním adresáři?"
-
-#: ../../mod/settings.php:429
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr ""
-"Skrýt Vaše kontaktní údaje a seznam přátel před návštěvníky ve Vašem "
-"výchozím profilu?"
-
-#: ../../mod/settings.php:433
-msgid "Hide profile details and all your messages from unknown viewers?"
-msgstr "Skrýt detaily profilu a všechny zprávy před neznámými uživateli?"
-
-#: ../../mod/settings.php:442
-msgid "Profile is <strong>not published</strong>."
-msgstr "Profil <strong>není zveřejněn</strong>."
-
-#: ../../mod/settings.php:461 ../../mod/profile_photo.php:196
-msgid "or"
-msgstr "nebo"
-
-#: ../../mod/settings.php:466
-msgid "Your Identity Address is"
-msgstr "Vaše adresa identity je"
-
-#: ../../mod/settings.php:480
-msgid "Account Settings"
-msgstr "Nastavení účtu"
-
-#: ../../mod/settings.php:487
-msgid "Export Personal Data"
-msgstr "Export osobních údajů"
-
-#: ../../mod/settings.php:490
-msgid "Password Settings"
-msgstr "Nastavení hesla"
-
-#: ../../mod/settings.php:491
-msgid "New Password:"
-msgstr "Nové heslo:"
-
-#: ../../mod/settings.php:492
-msgid "Confirm:"
-msgstr "Potvrďte:"
-
-#: ../../mod/settings.php:492
-msgid "Leave password fields blank unless changing"
-msgstr "Pokud nechcete změnit heslo, položku hesla nevyplňujte"
-
-#: ../../mod/settings.php:496
-msgid "Basic Settings"
-msgstr "Základní nastavení"
-
-#: ../../mod/settings.php:497 ../../include/profile_advanced.php:10
-msgid "Full Name:"
-msgstr "Celé jméno:"
-
-#: ../../mod/settings.php:498
-msgid "Email Address:"
-msgstr "E-mailová adresa:"
-
-#: ../../mod/settings.php:499
-msgid "Your Timezone:"
-msgstr "Vaše časové pásmo:"
-
-#: ../../mod/settings.php:500
-msgid "Default Post Location:"
-msgstr "Výchozí umístění příspěvků:"
-
-#: ../../mod/settings.php:501
-msgid "Use Browser Location:"
-msgstr "Používat umístění dle prohlížeče:"
-
-#: ../../mod/settings.php:502
-msgid "Display Theme:"
-msgstr "Vybrat grafickou šablonu:"
-
-#: ../../mod/settings.php:506
-msgid "Security and Privacy Settings"
-msgstr "Nastavení zabezpečení a soukromí"
-
-#: ../../mod/settings.php:508
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximální počet žádostí o přátelství za den:"
-
-#: ../../mod/settings.php:508
-msgid "(to prevent spam abuse)"
-msgstr "(Aby se zabránilo spamu)"
-
-#: ../../mod/settings.php:509
-msgid "Default Post Permissions"
-msgstr "Výchozí oprávnění pro příspěvek"
-
-#: ../../mod/settings.php:510
-msgid "(click to open/close)"
-msgstr "(Klikněte pro otevření/zavření)"
-
-#: ../../mod/settings.php:514
-msgid "Allow friends to post to your profile page:"
-msgstr "Povolit přátelům příspěvky na Vaši profilovou stránku:"
-
-#: ../../mod/settings.php:515
-msgid "Automatically expire posts after days:"
-msgstr "Po kolika dnech automaticky expirovat příspěvky:"
-
-#: ../../mod/settings.php:515
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr ""
-"Pokud je prázdné, příspěvky nebudou nikdy expirovat. Expirované příspěvky "
-"budou vymazány"
-
-#: ../../mod/settings.php:524
-msgid "Notification Settings"
-msgstr "Nastavení notifikací"
-
-#: ../../mod/settings.php:525
-msgid "Send a notification email when:"
-msgstr "Poslat notifikaci e-mailem, když"
-
-#: ../../mod/settings.php:526
-msgid "You receive an introduction"
-msgstr "obdržíte žádost o propojení"
-
-#: ../../mod/settings.php:527
-msgid "Your introductions are confirmed"
-msgstr "Vaše žádosti jsou potvrzeny"
-
-#: ../../mod/settings.php:528
-msgid "Someone writes on your profile wall"
-msgstr "někdo Vám napíše na Vaši profilovou stránku"
-
-#: ../../mod/settings.php:529
-msgid "Someone writes a followup comment"
-msgstr "někdo Vám napíše následný komentář"
-
-#: ../../mod/settings.php:530
-msgid "You receive a private message"
-msgstr "obdržíte soukromou zprávu"
-
-#: ../../mod/settings.php:534
-msgid "Email/Mailbox Setup"
-msgstr "Nastavení e-mailu"
-
-#: ../../mod/settings.php:535
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr ""
-"Pokud chcete komunikovat pomocí této služby s Vašimi kontakty z e-mailu "
-"(volitelné), uveďte, jak se připojit k Vaší e-mailové schránce."
-
-#: ../../mod/settings.php:536
-msgid "Last successful email check:"
-msgstr "Poslední úspěšná kontrola e-mailu:"
-
-#: ../../mod/settings.php:537
-msgid "Email access is disabled on this site."
-msgstr "Přístup k elektronické poště je na tomto serveru zakázán."
-
-#: ../../mod/settings.php:538
-msgid "IMAP server name:"
-msgstr "jméno IMAP serveru:"
-
-#: ../../mod/settings.php:539
-msgid "IMAP port:"
-msgstr "IMAP port:"
-
-#: ../../mod/settings.php:540
-msgid "Security:"
-msgstr "Zabezpečení:"
-
-#: ../../mod/settings.php:540
-msgid "None"
-msgstr "Žádný"
-
-#: ../../mod/settings.php:541
-msgid "Email login name:"
-msgstr "přihlašovací jméno k e-mailu:"
-
-#: ../../mod/settings.php:542
-msgid "Email password:"
-msgstr "heslo k Vašemu e-mailu:"
-
-#: ../../mod/settings.php:543
-msgid "Reply-to address:"
-msgstr "Odpovědět na adresu:"
-
-#: ../../mod/settings.php:544
-msgid "Send public posts to all email contacts:"
-msgstr "Poslat veřejné příspěvky na všechny e-mailové kontakty:"
-
-#: ../../mod/settings.php:549
-msgid "Advanced Page Settings"
-msgstr "Pokročilé nastavení stránky"
-
-#: ../../mod/manage.php:37
-#, php-format
-msgid "Welcome back %s"
-msgstr "Vítejte zpět %s"
-
-#: ../../mod/manage.php:87
-msgid "Manage Identities and/or Pages"
-msgstr "Správa identit a / nebo stránek"
-
-#: ../../mod/manage.php:90
-msgid ""
-"(Toggle between different identities or community/group pages which share "
-"your account details.)"
-msgstr ""
-"(Přepínání mezi různými identitami nebo komunitními / skupinovými stránkami,"
-" které sdílejí Vaše detaily účtu.)"
-
-#: ../../mod/manage.php:92
-msgid "Select an identity to manage: "
-msgstr "Vyberte identitu pro správu:"
-
-#: ../../mod/network.php:27
-msgid "View Conversations"
-msgstr "Zobrazit konverzace"
-
-#: ../../mod/network.php:29
-msgid "View New Items"
-msgstr "Zobrazit nové položky"
-
-#: ../../mod/network.php:35
-msgid "View Any Items"
-msgstr "Zobrazit všechny položky"
-
-#: ../../mod/network.php:43
-msgid "View Starred Items"
-msgstr "Zobrazit položky označené hvězdu"
-
-#: ../../mod/network.php:94
-#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Upozornění: Tato skupina obsahuje %s člena z nezabezpečené sítě."
-msgstr[1] "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě."
-msgstr[2] "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě."
-
-#: ../../mod/network.php:97
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "Soukromé zprávy této skupině jsou vystaveny riziku prozrazení."
-
-#: ../../mod/network.php:164
-msgid "No such group"
-msgstr "Žádná taková skupina"
-
-#: ../../mod/network.php:175
-msgid "Group is empty"
-msgstr "Skupina je prázdná"
-
-#: ../../mod/network.php:180
-msgid "Group: "
-msgstr "Skupina:"
-
-#: ../../mod/network.php:190
-msgid "Contact: "
-msgstr "Kontakt:"
-
-#: ../../mod/network.php:192
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "Soukromé zprávy této osobě jsou vystaveny riziku prozrazení."
-
-#: ../../mod/network.php:197
-msgid "Invalid contact."
-msgstr "Neplatný kontakt."
-
-#: ../../mod/notes.php:74
-msgid "Save"
-msgstr "Uložit"
-
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendika"
-msgstr "Vítejte na Friendika"
-
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Seznam doporučení pro nového člena"
-
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page."
-msgstr ""
-"Dovolujeme si Vám nabídnout některé tipy a odkazy, abychom Vám zpříjemnili "
-"práci se systémem Friendika. Kliknutím na libovolnou položku navštívit "
-"příslušnou stránku."
-
-#: ../../mod/newmember.php:16
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This will be useful in making friends."
-msgstr ""
-"Na stránce <em>Nastavení</em> - změnit výchozí heslo. Poznamenejte si také "
-"adresu své identity. To může být užitečné při navazování přátelství."
-
-#: ../../mod/newmember.php:18
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr ""
-"Prohlédněte si další nastavení, a to zejména nastavení soukromí. "
-"Nezveřejnění svého účtu v adresáři je jako mít nezveřejněné telefonní číslo."
-" Obecně platí, že je lepší mít svůj účet zveřejněný, leda by všichni vaši "
-"potenciální přátelé věděli, jak vás přesně najít."
-
-#: ../../mod/newmember.php:20
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr ""
-"Nahrajte si svou profilovou fotku, pokud jste tak již neučinili. Studie "
-"ukázaly, že lidé se skutečnými fotografiemi mají desetkrát častěji přátele "
-"než lidé, kteří nemají."
-
-#: ../../mod/newmember.php:23
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr ""
-"Jestliže máte účet na Facebooku, povolte konektor na Facebook a bude možné "
-"(na přání) importovat všechny Vaš přátele na Facebooku a všechny Vaše "
-"konverzace."
-
-#: ../../mod/newmember.php:28
-msgid ""
-"Enter your email access information on your Settings page if you wish to "
-"import and interact with friends or mailing lists from your email INBOX"
-msgstr ""
-"na stránce Nastavení zadejte informace pro přístup k Vaší e-mailové stránce,"
-" pokud si přejete importovat a komunikovat s přáteli nebo distribučními "
-"skupinami z Vaší e-mailové schránky"
-
-#: ../../mod/newmember.php:30
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr ""
-"Upravit <strong>výchozí</strong> profil podle vašich představ. Prověřte "
-"nastavení pro skrytí Vašeho seznamu přátel a skrytí profilu před neznámými "
-"návštěvníky."
-
-#: ../../mod/newmember.php:32
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr ""
-"Nastavte si nějaká veřejné klíčová slova pro výchozí profil, která popisují "
-"vaše zájmy. Friendika Vám může nalézt další lidi s podobnými zájmy a "
-"navrhnout přátelství."
-
-#: ../../mod/newmember.php:34
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Connect</em> dialog."
-msgstr ""
-"Stránka Kontakty je Vaším odrazovým můstkem k řízení přátelství a spojení s "
-"kamarády v jiných sítích. Obvykle zadáte jejich adresu nebo adresu URL do "
-"dialogu <em>Připojit</em>."
-
-#: ../../mod/newmember.php:36
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr ""
-"Stránka Adresář Vám pomůže najít další lidi na tomto serveru nebo v jiných "
-"propojených serverech. Prostřednictvím odkazů <em>Připojení</em> nebo "
-"<em>Následovat</em> si prohlédněte jejich profilovou stránku. Uveďte svou "
-"vlastní adresu identity, je-li požadována."
-
-#: ../../mod/newmember.php:38
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr ""
-"Jakmile získáte nějaké přátele, uspořádejte si je do soukromých "
-"konverzačních skupin na postranním panelu vaší stránky Kontakty a pak můžete"
-" komunikovat s každou touto skupinu soukromě prostřednictvím stránky Síť."
-
-#: ../../mod/newmember.php:40
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr ""
-"Na stránkách <strong>Nápověda</strong> naleznete nejen další podrobnosti o "
-"všech funkcích Friendika ale také další zdroje informací."
-
-#: ../../mod/attach.php:8
-msgid "Item not available."
-msgstr "Položka není k dispozici."
-
-#: ../../mod/attach.php:20
-msgid "Item was not found."
-msgstr "Položka nebyla nalezena."
-
-#: ../../mod/group.php:27
-msgid "Group created."
-msgstr "Skupina vytvořena."
-
-#: ../../mod/group.php:33
-msgid "Could not create group."
-msgstr "Nelze vytvořit skupinu."
-
-#: ../../mod/group.php:43 ../../mod/group.php:123
-msgid "Group not found."
-msgstr "Skupina nenalezena."
-
-#: ../../mod/group.php:56
-msgid "Group name changed."
-msgstr "Název skupiny byl změněn."
-
-#: ../../mod/group.php:67 ../../mod/profperm.php:19 ../../index.php:265
-msgid "Permission denied"
-msgstr "Nedostatečné oprávnění"
-
-#: ../../mod/group.php:82
-msgid "Create a group of contacts/friends."
-msgstr "Vytvořit skupinu kontaktů / přátel."
-
-#: ../../mod/group.php:83 ../../mod/group.php:166
-msgid "Group Name: "
-msgstr "Název skupiny:"
-
-#: ../../mod/group.php:98
-msgid "Group removed."
-msgstr "Skupina odstraněna. "
-
-#: ../../mod/group.php:100
-msgid "Unable to remove group."
-msgstr "Nelze odstranit skupinu."
-
-#: ../../mod/group.php:164 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
-msgstr "Klikněte na kontakt pro přidání nebo odebrání"
-
-#: ../../mod/group.php:165
-msgid "Group Editor"
-msgstr "Editor skupin"
-
-#: ../../mod/group.php:180
-msgid "Members"
-msgstr "Členové"
-
-#: ../../mod/group.php:195
-msgid "All Contacts"
-msgstr "Všechny kontakty"
-
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
-msgstr "Neplatný identifikátor profilu."
-
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
-msgstr "Editor viditelnosti profilu "
-
-#: ../../mod/profperm.php:114
-msgid "Visible To"
-msgstr "Viditelný pro"
-
-#: ../../mod/profperm.php:128
-msgid "All Contacts (with secure profile access)"
-msgstr "Všechny kontakty (se zabezpečeným přístupovým profilem )"
-
-#: ../../mod/viewconnections.php:25 ../../include/text.php:555
-msgid "View Contacts"
-msgstr "Zobrazit kontakty"
-
-#: ../../mod/viewconnections.php:40
-msgid "No contacts."
-msgstr "Žádné kontakty."
-
-#: ../../mod/register.php:53
-msgid "An invitation is required."
-msgstr "Pozvánka je vyžadována."
-
-#: ../../mod/register.php:58
-msgid "Invitation could not be verified."
-msgstr "Pozvánka nemohla být ověřena."
-
-#: ../../mod/register.php:66
-msgid "Invalid OpenID url"
-msgstr "Neplatný odkaz OpenID"
-
-#: ../../mod/register.php:81
-msgid "Please enter the required information."
-msgstr "Zadejte prosím požadované informace."
-
-#: ../../mod/register.php:95
-msgid "Please use a shorter name."
-msgstr "Použijte prosím kratší jméno."
-
-#: ../../mod/register.php:97
-msgid "Name too short."
-msgstr "Jméno je příliš krátké."
-
-#: ../../mod/register.php:112
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Nezdá se, že by to bylo vaše celé jméno (křestní jméno a příjmení)."
-
-#: ../../mod/register.php:117
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Váš e-mailová doména není na tomto serveru mezi povolenými."
-
-#: ../../mod/register.php:120
-msgid "Not a valid email address."
-msgstr "Neplatná e-mailová adresa."
-
-#: ../../mod/register.php:130
-msgid "Cannot use that email."
-msgstr "Tento e-mail nelze použít."
-
-#: ../../mod/register.php:136
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr ""
-"Vaše \"přezdívka\" může obsahovat pouze \"a-z\", \"0-9\", \"-\", a \"_\", a "
-"musí začínat písmenem."
-
-#: ../../mod/register.php:142 ../../mod/register.php:243
-msgid "Nickname is already registered. Please choose another."
-msgstr "Přezdívka je již registrována. Prosím vyberte jinou."
-
-#: ../../mod/register.php:161
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "Závažná chyba: Generování bezpečnostních klíčů se nezdařilo."
-
-#: ../../mod/register.php:229
-msgid "An error occurred during registration. Please try again."
-msgstr "Došlo k chybě při registraci. Zkuste to prosím znovu."
-
-#: ../../mod/register.php:265
-msgid "An error occurred creating your default profile. Please try again."
-msgstr ""
-"Došlo k chybě při vytváření Vašeho výchozího profilu. Zkuste to prosím "
-"znovu."
-
-#: ../../mod/register.php:367 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registrační údaje pro %s"
-
-#: ../../mod/register.php:375
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr ""
-"Registrace úspěšná. Zkontrolujte prosím svůj e-mail pro další instrukce."
-
-#: ../../mod/register.php:379
-msgid "Failed to send email message. Here is the message that failed."
-msgstr ""
-"Nepodařilo se odeslat zprávu na e-mail. Zde je zpráva, která nebyla "
-"odeslána."
-
-#: ../../mod/register.php:384
-msgid "Your registration can not be processed."
-msgstr "Vaši registraci nelze zpracovat."
-
-#: ../../mod/register.php:421
-#, php-format
-msgid "Registration request at %s"
-msgstr "Žádost o registraci na %s"
-
-#: ../../mod/register.php:430
-msgid "Your registration is pending approval by the site owner."
-msgstr "Vaše registrace čeká na schválení vlastníkem serveru."
-
-#: ../../mod/register.php:479
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr ""
-"Tento formulář můžete (volitelně) vyplnit s pomocí OpenID tím, že vyplníte "
-"své OpenID a kliknutete na tlačítko 'Zaregistrovat'."
-
-#: ../../mod/register.php:480
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr ""
-"Pokud nepoužíváte OpenID, nechte prosím toto pole prázdné a vyplňte zbylé "
-"položky."
-
-#: ../../mod/register.php:481
-msgid "Your OpenID (optional): "
-msgstr "Vaše OpenID (nepovinné):"
-
-#: ../../mod/register.php:495
-msgid "Include your profile in member directory?"
-msgstr "Uvést Váš profil v adresáři členů?"
-
-#: ../../mod/register.php:511
-msgid "Membership on this site is by invitation only."
-msgstr "Členství na tomto webu je pouze na pozvání."
-
-#: ../../mod/register.php:512
-msgid "Your invitation ID: "
-msgstr "Vaše pozvání ID:"
-
-#: ../../mod/register.php:515 ../../mod/admin.php:299
-msgid "Registration"
-msgstr "Registrace"
-
-#: ../../mod/register.php:523
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Vaše celé jméno (např. Jan Novák):"
-
-#: ../../mod/register.php:524
-msgid "Your Email Address: "
-msgstr "Vaše e-mailová adresa:"
-
-#: ../../mod/register.php:525
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr ""
-"Vyberte přezdívku k profilu. Ta musí začít s textovým znakem. Vaše profilová"
-" adresa na tomto webu pak bude \"<strong>přezdívka@$sitename</strong>\"."
-
-#: ../../mod/register.php:526
-msgid "Choose a nickname: "
-msgstr "Vyberte přezdívku:"
-
-#: ../../mod/register.php:529 ../../include/nav.php:59 ../../boot.php:637
-msgid "Register"
-msgstr "Registrovat"
-
-#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:954
-#: ../../include/diaspora.php:446 ../../include/conversation.php:26
-#: ../../include/conversation.php:35
-msgid "status"
-msgstr "Stav"
-
-#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:958
-#: ../../include/diaspora.php:463 ../../include/conversation.php:43
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s má rád %2$s' na %3$s"
-
-#: ../../mod/like.php:129 ../../include/diaspora.php:465
-#: ../../include/conversation.php:46
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s nemá rád %2$s na %3$s"
-
-#: ../../mod/friendika.php:42
-msgid "This is Friendika version"
-msgstr "Toto je Friendika verze"
-
-#: ../../mod/friendika.php:43
-msgid "running at web location"
-msgstr "běžící na webu"
-
-#: ../../mod/friendika.php:45
-msgid ""
-"Shared content within the Friendika network is provided under the <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons "
-"Attribution 3.0 license</a>"
-msgstr ""
-"Sdílený obsah v síti Friendika je poskytována pod <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/cz/\">licencí Creative "
-"Commons Attribution 3.0</a>"
-
-#: ../../mod/friendika.php:47
-msgid ""
-"Please visit <a "
-"href=\"http://project.friendika.com\">Project.Friendika.com</a> to learn "
-"more about the Friendika project."
-msgstr ""
-"Pokud se chcete dozvědět více o projektu Friendika, navštivte, prosím, <a "
-"href=\"http://project.friendika.com\">Project.Friendika.com</a>"
-
-#: ../../mod/friendika.php:49
-msgid "Bug reports and issues: please visit"
-msgstr "Pro hlášení chyb a námětů na změny navštivte:"
-
-#: ../../mod/friendika.php:50
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - "
-"dot com"
-msgstr ""
-"Návrhy, chválu, dary, atd. - prosím pošlete na e-mail \"Info\" na Friendika "
-"tečka com"
-
-#: ../../mod/friendika.php:55
-msgid "Installed plugins/addons/apps"
-msgstr "Nainstalované doplňky/aplikace"
-
-#: ../../mod/friendika.php:63
-msgid "No installed plugins/addons/apps"
-msgstr "Nejsou žádné nainstalované doplňky/aplikace"
-
-#: ../../mod/regmod.php:61
-msgid "Account approved."
-msgstr "Účet schválen."
-
-#: ../../mod/regmod.php:93
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrace zrušena pro %s"
-
-#: ../../mod/regmod.php:105
-msgid "Please login."
-msgstr "Přihlaste se, prosím."
-
-#: ../../mod/item.php:81
-msgid "Unable to locate original post."
-msgstr "Nelze nalézt původní příspěvek."
-
-#: ../../mod/item.php:196
-msgid "Empty post discarded."
-msgstr "Prázdný příspěvek odstraněn."
-
-#: ../../mod/item.php:296 ../../mod/message.php:93
-#: ../../mod/wall_upload.php:81 ../../mod/wall_upload.php:90
-#: ../../mod/wall_upload.php:97
-msgid "Wall Photos"
-msgstr "Fotografie na zdi"
-
-#: ../../mod/item.php:623 ../../mod/item.php:668 ../../mod/item.php:691
-#: ../../mod/item.php:734 ../../mod/dfrn_notify.php:293
-#: ../../mod/dfrn_notify.php:503 ../../mod/dfrn_notify.php:548
-#: ../../mod/dfrn_notify.php:634 ../../mod/dfrn_notify.php:677
-msgid "noreply"
-msgstr "bez odpovědi"
-
-#: ../../mod/item.php:667 ../../mod/item.php:733 ../../mod/dfrn_notify.php:676
-msgid "Administrator@"
-msgstr "Administrator@"
-
-#: ../../mod/item.php:670 ../../mod/dfrn_notify.php:550
-#: ../../mod/dfrn_notify.php:679
-#, php-format
-msgid "%s commented on an item at %s"
-msgstr "%s okomentoval položku v %s"
-
-#: ../../mod/item.php:736
-#, php-format
-msgid "%s posted to your profile wall at %s"
-msgstr "%s přidal příspěvek na vaší profilovou zeď v %s"
-
-#: ../../mod/item.php:765
-msgid "System error. Post not saved."
-msgstr "Chyba systému. Příspěvek nebyl uložen."
-
-#: ../../mod/item.php:784
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendika social "
-"network."
-msgstr "Tuto zprávu Vám zaslal %s, člen sociální sítě Friendika."
-
-#: ../../mod/item.php:786
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Můžete je navštívit online na adrese %s"
-
-#: ../../mod/item.php:787
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr ""
-"Pokud nechcete dostávat tyto zprávy, kontaktujte prosím odesilatele odpovědí"
-" na tento záznam."
-
-#: ../../mod/item.php:789
-#, php-format
-msgid "%s posted an update."
-msgstr "%s poslal aktualizaci."
-
-#: ../../mod/profile_photo.php:28
-msgid "Image uploaded but image cropping failed."
-msgstr "Obrázek byl odeslán, ale jeho oříznutí se nesdařilo."
-
-#: ../../mod/profile_photo.php:61 ../../mod/profile_photo.php:68
-#: ../../mod/profile_photo.php:75 ../../mod/profile_photo.php:248
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Nepodařilo se snížit velikost obrázku [%s]."
-
-#: ../../mod/profile_photo.php:95
-msgid "Unable to process image"
-msgstr "Obrázek nelze zpracovat "
-
-#: ../../mod/profile_photo.php:109 ../../mod/wall_upload.php:56
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Obrázek překročil limit velikosti %d"
-
-#: ../../mod/profile_photo.php:193
-msgid "Upload File:"
-msgstr "Nahrát soubor:"
-
-#: ../../mod/profile_photo.php:194
-msgid "Upload Profile Photo"
-msgstr "Nahrát profilovou fotografii"
-
-#: ../../mod/profile_photo.php:195
-msgid "Upload"
-msgstr "Nahrát"
-
-#: ../../mod/profile_photo.php:196
-msgid "skip this step"
-msgstr "přeskočit tento krok "
-
-#: ../../mod/profile_photo.php:196
-msgid "select a photo from your photo albums"
-msgstr "Vybrat fotografii z Vašich fotoalb"
-
-#: ../../mod/profile_photo.php:209
-msgid "Crop Image"
-msgstr "Oříznout obrázek"
-
-#: ../../mod/profile_photo.php:210
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Prosím, ořízněte tento obrázek pro optimální zobrazení."
-
-#: ../../mod/profile_photo.php:211
-msgid "Done Editing"
-msgstr "Editace dokončena"
-
-#: ../../mod/profile_photo.php:239
-msgid "Image uploaded successfully."
-msgstr "Obrázek byl úspěšně nahrán."
-
-#: ../../mod/hcard.php:11 ../../mod/profile.php:11 ../../boot.php:792
-msgid "No profile"
-msgstr "Žádný profil"
-
-#: ../../mod/removeme.php:42 ../../mod/removeme.php:45
-msgid "Remove My Account"
-msgstr "Odstranit můj účet"
-
-#: ../../mod/removeme.php:43
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr ""
-"Tímto bude kompletně odstraněn váš účet. Jakmile bude účet odstraněn, nebude"
-" už možné ho obnovit."
-
-#: ../../mod/removeme.php:44
-msgid "Please enter your password for verification:"
-msgstr "Prosím, zadejte své heslo pro ověření:"
-
-#: ../../mod/message.php:18
-msgid "No recipient selected."
-msgstr "Nevybrán příjemce."
-
-#: ../../mod/message.php:23
-msgid "[no subject]"
-msgstr "[bez předmětu]"
-
-#: ../../mod/message.php:34
-msgid "Unable to locate contact information."
-msgstr "Nepodařilo se najít kontaktní informace."
-
-#: ../../mod/message.php:102
-msgid "Message sent."
-msgstr "Zpráva odeslána."
-
-#: ../../mod/message.php:105
-msgid "Message could not be sent."
-msgstr "Zprávu se nepodařilo odeslat."
-
-#: ../../mod/message.php:125 ../../include/nav.php:102
-msgid "Messages"
-msgstr "Zprávy"
-
-#: ../../mod/message.php:126
-msgid "Inbox"
-msgstr "Doručená pošta"
-
-#: ../../mod/message.php:127
-msgid "Outbox"
-msgstr "Odeslaná pošta"
-
-#: ../../mod/message.php:128
-msgid "New Message"
-msgstr "Nová zpráva"
-
-#: ../../mod/message.php:142
-msgid "Message deleted."
-msgstr "Zpráva odstraněna."
-
-#: ../../mod/message.php:158
-msgid "Conversation removed."
-msgstr "Konverzace odstraněna."
-
-#: ../../mod/message.php:172 ../../include/conversation.php:699
-msgid "Please enter a link URL:"
-msgstr "Zadejte prosím URL odkaz:"
-
-#: ../../mod/message.php:180
-msgid "Send Private Message"
-msgstr "Odeslat soukromou zprávu"
-
-#: ../../mod/message.php:181 ../../mod/message.php:315
-msgid "To:"
-msgstr "Adresát:"
-
-#: ../../mod/message.php:182 ../../mod/message.php:316
-msgid "Subject:"
-msgstr "Předmět:"
-
-#: ../../mod/message.php:185 ../../mod/message.php:319
-#: ../../mod/invite.php:101
-msgid "Your message:"
-msgstr "Vaše zpráva:"
-
-#: ../../mod/message.php:224
-msgid "No messages."
-msgstr "Žádné zprávy."
-
-#: ../../mod/message.php:237
-msgid "Delete conversation"
-msgstr "Odstranit konverzaci"
-
-#: ../../mod/message.php:240
-msgid "D, d M Y - g:i A"
-msgstr "D M R - g:i A"
-
-#: ../../mod/message.php:267
-msgid "Message not available."
-msgstr "Zpráva není k dispozici."
-
-#: ../../mod/message.php:304
-msgid "Delete message"
-msgstr "Smazat zprávu"
-
-#: ../../mod/message.php:314
-msgid "Send Reply"
-msgstr "Poslat odpověď"
-
-#: ../../mod/admin.php:66 ../../mod/admin.php:297
-msgid "Site"
-msgstr "Web"
-
-#: ../../mod/admin.php:67 ../../mod/admin.php:460 ../../mod/admin.php:472
-msgid "Users"
-msgstr "Uživatelé"
-
-#: ../../mod/admin.php:68 ../../mod/admin.php:549 ../../mod/admin.php:586
-msgid "Plugins"
-msgstr "Pluginy"
-
-#: ../../mod/admin.php:69
-msgid "Update"
-msgstr "Aktualizace"
-
-#: ../../mod/admin.php:83 ../../mod/admin.php:651
-msgid "Logs"
-msgstr "Logy"
-
-#: ../../mod/admin.php:88
-msgid "User registrations waiting for confirmation"
-msgstr "Registrace uživatele čeká na potvrzení"
-
-#: ../../mod/admin.php:118 ../../mod/admin.php:502 ../../mod/display.php:25
-#: ../../mod/display.php:112 ../../include/items.php:1842
-msgid "Item not found."
-msgstr "Položka nenalezena."
-
-#: ../../mod/admin.php:151 ../../mod/admin.php:296 ../../mod/admin.php:459
-#: ../../mod/admin.php:548 ../../mod/admin.php:585 ../../mod/admin.php:650
-msgid "Administration"
-msgstr "Administrace"
-
-#: ../../mod/admin.php:152
-msgid "Summary"
-msgstr "Shrnutí"
-
-#: ../../mod/admin.php:153
-msgid "Registered users"
-msgstr "Registrovaní uživatelé"
-
-#: ../../mod/admin.php:155
-msgid "Pending registrations"
-msgstr "Čekající registrace"
-
-#: ../../mod/admin.php:156
-msgid "Version"
-msgstr "Verze"
-
-#: ../../mod/admin.php:158
-msgid "Active plugins"
-msgstr "Aktivní pluginy"
-
-#: ../../mod/admin.php:245
-msgid "Site settings updated."
-msgstr "Nastavení webu aktualizováno."
-
-#: ../../mod/admin.php:289
-msgid "Closed"
-msgstr "Uzavřít"
-
-#: ../../mod/admin.php:290
-msgid "Requires approval"
-msgstr "Vyžaduje schválení"
-
-#: ../../mod/admin.php:291
-msgid "Open"
-msgstr "Otevřená"
-
-#: ../../mod/admin.php:300
-msgid "File upload"
-msgstr "Nahrání souborů"
-
-#: ../../mod/admin.php:301
-msgid "Policies"
-msgstr "Politiky"
-
-#: ../../mod/admin.php:302
-msgid "Advanced"
-msgstr "Pokročilé"
-
-#: ../../mod/admin.php:306 ../../addon/statusnet/statusnet.php:459
-msgid "Site name"
-msgstr "Název webu"
-
-#: ../../mod/admin.php:307
-msgid "Banner/Logo"
-msgstr "Banner/logo"
-
-#: ../../mod/admin.php:308
-msgid "System language"
-msgstr "Systémový jazyk"
-
-#: ../../mod/admin.php:309
-msgid "System theme"
-msgstr "Grafická šablona systému "
-
-#: ../../mod/admin.php:311
-msgid "Maximum image size"
-msgstr "Maximální velikost obrazu"
-
-#: ../../mod/admin.php:313
-msgid "Register policy"
-msgstr "Politika registrace"
-
-#: ../../mod/admin.php:314
-msgid "Register text"
-msgstr "Registrace textu"
-
-#: ../../mod/admin.php:315
-msgid "Allowed friend domains"
-msgstr "Povolené domény přátel"
-
-#: ../../mod/admin.php:316
-msgid "Allowed email domains"
-msgstr "Povolené e-mailové domény"
-
-#: ../../mod/admin.php:317
-msgid "Block public"
-msgstr "Blokovat veřejnost"
-
-#: ../../mod/admin.php:318
-msgid "Force publish"
-msgstr "Publikovat"
-
-#: ../../mod/admin.php:319
-msgid "Global directory update URL"
-msgstr "aktualizace URL adresy Globálního adresáře "
-
-#: ../../mod/admin.php:321
-msgid "Block multiple registrations"
-msgstr "Blokovat více registrací"
-
-#: ../../mod/admin.php:322
-msgid "OpenID support"
-msgstr "podpora OpenID"
-
-#: ../../mod/admin.php:323
-msgid "Gravatar support"
-msgstr "podpora Gravatar"
-
-#: ../../mod/admin.php:324
-msgid "Fullname check"
-msgstr "kontrola úplného jména"
-
-#: ../../mod/admin.php:325
-msgid "UTF-8 Regular expressions"
-msgstr "UTF-8 Regulární výrazy"
-
-#: ../../mod/admin.php:326
-msgid "Show Community Page"
-msgstr "Zobrazit stránku komunity"
-
-#: ../../mod/admin.php:327
-msgid "Enable OStatus support"
-msgstr "Zapnout podporu OStatus"
-
-#: ../../mod/admin.php:328
-msgid "Only allow Friendika contacts"
-msgstr "Povolit pouze Friendika kontakty "
-
-#: ../../mod/admin.php:329
-msgid "Verify SSL"
-msgstr "Ověřit SSL"
-
-#: ../../mod/admin.php:330
-msgid "Proxy user"
-msgstr "Proxy uživatel"
-
-#: ../../mod/admin.php:331
-msgid "Proxy URL"
-msgstr "Proxy URL adresa"
-
-#: ../../mod/admin.php:332
-msgid "Network timeout"
-msgstr "čas síťového spojení vypršelo (timeout)"
-
-#: ../../mod/admin.php:353
-#, php-format
-msgid "%s user blocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s uživatel zablokován"
-msgstr[1] "%s uživatelů zablokováno / odblokováno"
-msgstr[2] "%s uživatelů zablokováno / odblokováno"
-
-#: ../../mod/admin.php:360
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s uživatel smazán"
-msgstr[1] "%s uživatelů smazáno"
-msgstr[2] "%s uživatelů smazáno"
-
-#: ../../mod/admin.php:394
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Uživatel '%s' smazán"
-
-#: ../../mod/admin.php:401
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Uživatel '%s' odblokován"
-
-#: ../../mod/admin.php:401
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Uživatel '%s' blokován"
-
-#: ../../mod/admin.php:462
-msgid "select all"
-msgstr "Vybrat vše"
-
-#: ../../mod/admin.php:463
-msgid "User registrations waiting for confirm"
-msgstr "Registrace uživatele čeká na potvrzení"
-
-#: ../../mod/admin.php:464
-msgid "Request date"
-msgstr "Datum žádosti"
-
-#: ../../mod/admin.php:464 ../../mod/admin.php:473
-msgid "Email"
-msgstr "E-mail"
-
-#: ../../mod/admin.php:465
-msgid "No registrations."
-msgstr "Žádné registrace."
-
-#: ../../mod/admin.php:467
-msgid "Deny"
-msgstr "Odmítnout"
-
-#: ../../mod/admin.php:469
-msgid "Block"
-msgstr "Blokovat"
-
-#: ../../mod/admin.php:470
-msgid "Unblock"
-msgstr "Odblokovat"
-
-#: ../../mod/admin.php:473
-msgid "Register date"
-msgstr "Datum registrace"
-
-#: ../../mod/admin.php:473
-msgid "Last login"
-msgstr "Datum posledního přihlášení"
-
-#: ../../mod/admin.php:473
-msgid "Last item"
-msgstr "Poslední položka"
-
-#: ../../mod/admin.php:473
-msgid "Account"
-msgstr "Účet"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr ""
-"Vybraní uživatelé budou smazáni!\\n\\n Vše, co tito uživatelé na těchto "
-"stránkách vytvořili, bude trvale odstraněno!\\n\\n Opravdu pokračovat?"
-
-#: ../../mod/admin.php:476
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr ""
-"Uživatel {0} bude smazán!\\n\\n Vše, co tento uživatel na těchto stránkách "
-"vytvořil, bude trvale odstraněno!\\n\\n Opravdu pokračovat?"
-
-#: ../../mod/admin.php:512
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s zakázán."
-
-#: ../../mod/admin.php:516
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s povolen."
-
-#: ../../mod/admin.php:526
-msgid "Disable"
-msgstr "Zakázat"
-
-#: ../../mod/admin.php:528
-msgid "Enable"
-msgstr "Povolit"
-
-#: ../../mod/admin.php:550
-msgid "Toggle"
-msgstr "Přepnout"
-
-#: ../../mod/admin.php:551 ../../include/nav.php:108
-msgid "Settings"
-msgstr "Nastavení"
-
-#: ../../mod/admin.php:613
-msgid "Log settings updated."
-msgstr "Nastavení protokolu aktualizováno."
-
-#: ../../mod/admin.php:653
-msgid "Clear"
-msgstr "Vyčistit"
-
-#: ../../mod/admin.php:659
-msgid "Debugging"
-msgstr "Ladění"
-
-#: ../../mod/admin.php:660
-msgid "Log file"
-msgstr "Soubor s logem"
-
-#: ../../mod/admin.php:660
-msgid "Must be writable by web server. Relative to your Friendika index.php."
-msgstr ""
-"Webový server musí mít práva zápisu . Relativní k index.php Friendika."
-
-#: ../../mod/admin.php:661
-msgid "Log level"
-msgstr "Úroveň auditu"
-
-#: ../../mod/admin.php:702
-msgid "Close"
-msgstr "Uzavřená"
-
-#: ../../mod/admin.php:708
-msgid "FTP Host"
-msgstr "Hostitel FTP"
-
-#: ../../mod/admin.php:709
-msgid "FTP Path"
-msgstr "Cesta FTP"
-
-#: ../../mod/admin.php:710
-msgid "FTP User"
-msgstr "FTP uživatel"
-
-#: ../../mod/admin.php:711
-msgid "FTP Password"
-msgstr "FTP heslo"
-
-#: ../../mod/profile.php:102 ../../mod/display.php:63
-msgid "Access to this profile has been restricted."
-msgstr "Přístup na tento profil byl omezen."
-
-#: ../../mod/profile.php:133
-msgid "Tips for New Members"
-msgstr "Tipy pro nové členy"
-
-#: ../../mod/openid.php:62 ../../mod/openid.php:122 ../../include/auth.php:120
-#: ../../include/auth.php:145 ../../include/auth.php:198
-msgid "Login failed."
-msgstr "Přihlášení se nezdařilo."
-
-#: ../../mod/openid.php:78 ../../include/auth.php:214
-msgid "Welcome "
-msgstr "Vítejte "
-
-#: ../../mod/openid.php:79 ../../include/auth.php:215
-msgid "Please upload a profile photo."
-msgstr "Prosím nahrejte profilovou fotografii"
-
-#: ../../mod/openid.php:82 ../../include/auth.php:218
-msgid "Welcome back "
-msgstr "Vítejte zpět "
-
-#: ../../mod/follow.php:39
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr ""
-"Tento web není nakonfigurován tak, aby umožňoval komunikaci s ostatními "
-"sítěmi."
-
-#: ../../mod/follow.php:40 ../../mod/follow.php:50
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Nenalezen žádný kompatibilní komunikační protokol nebo kanál."
-
-#: ../../mod/follow.php:48
-msgid "The profile address specified does not provide adequate information."
-msgstr "Uvedená adresa profilu neposkytuje dostatečné informace."
-
-#: ../../mod/follow.php:52
-msgid "An author or name was not found."
-msgstr "Autor nebo jméno nenalezeno"
-
-#: ../../mod/follow.php:54
-msgid "No browser URL could be matched to this address."
-msgstr "Této adrese neodpovídá žádné URL prohlížeče."
-
-#: ../../mod/follow.php:61
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr ""
-"Zadaná adresa profilu patří do sítě, která byla na tomto serveru zakázána."
-
-#: ../../mod/follow.php:66
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr ""
-"Omezený profil. Tato osoba nebude schopna od Vás přijímat přímé / osobní "
-"sdělení."
-
-#: ../../mod/follow.php:122
-msgid "Unable to retrieve contact information."
-msgstr "Nepodařilo se získat kontaktní informace."
-
-#: ../../mod/follow.php:168
-msgid "following"
-msgstr "následující"
-
-#: ../../mod/display.php:105
-msgid "Item has been removed."
-msgstr "Položka byla odstraněna."
-
-#: ../../mod/dfrn_notify.php:353
-msgid "New mail received at "
-msgstr "Přišel nový e-mail v"
-
-#: ../../mod/apps.php:6
-msgid "Applications"
-msgstr "Aplikace"
-
-#: ../../mod/apps.php:11
-msgid "No installed applications."
-msgstr "Žádné nainstalované aplikace."
-
-#: ../../mod/search.php:26 ../../include/text.php:610 ../../include/nav.php:69
-msgid "Search"
-msgstr "Vyhledávání"
-
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:236
-#: ../../mod/profiles.php:341 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
-msgstr "Profil nenalezen"
-
-#: ../../mod/profiles.php:28
-msgid "Profile Name is required."
-msgstr "Jméno profilu je povinné."
-
-#: ../../mod/profiles.php:198
-msgid "Profile updated."
-msgstr "Profil aktualizován."
-
-#: ../../mod/profiles.php:253
-msgid "Profile deleted."
-msgstr "Profil smazán."
-
-#: ../../mod/profiles.php:269 ../../mod/profiles.php:300
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../mod/profiles.php:288 ../../mod/profiles.php:327
-msgid "New profile created."
-msgstr "Nový profil vytvořen."
-
-#: ../../mod/profiles.php:306
-msgid "Profile unavailable to clone."
-msgstr "Profil není možné naklonovat."
-
-#: ../../mod/profiles.php:353
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr ""
-"Skrýt u tohoto profilu vaše kontakty / seznam přátel před před dalšími "
-"uživateli zobrazující si tento profil?"
-
-#: ../../mod/profiles.php:371
-msgid "Edit Profile Details"
-msgstr "Upravit podrobnosti profilu "
-
-#: ../../mod/profiles.php:373
-msgid "View this profile"
-msgstr "Zobrazit tento profil"
-
-#: ../../mod/profiles.php:374
-msgid "Create a new profile using these settings"
-msgstr "Vytvořit nový profil pomocí tohoto nastavení"
-
-#: ../../mod/profiles.php:375
-msgid "Clone this profile"
-msgstr "Klonovat tento profil"
-
-#: ../../mod/profiles.php:376
-msgid "Delete this profile"
-msgstr "Smazat tento profil"
-
-#: ../../mod/profiles.php:377
-msgid "Profile Name:"
-msgstr "Jméno profilu:"
-
-#: ../../mod/profiles.php:378
-msgid "Your Full Name:"
-msgstr "Vaše celé jméno:"
-
-#: ../../mod/profiles.php:379
-msgid "Title/Description:"
-msgstr "Název / Popis:"
-
-#: ../../mod/profiles.php:380
-msgid "Your Gender:"
-msgstr "Vaše pohlaví:"
-
-#: ../../mod/profiles.php:381
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Narozeniny uživatele (%s):"
-
-#: ../../mod/profiles.php:382
-msgid "Street Address:"
-msgstr "Ulice:"
-
-#: ../../mod/profiles.php:383
-msgid "Locality/City:"
-msgstr "Město:"
-
-#: ../../mod/profiles.php:384
-msgid "Postal/Zip Code:"
-msgstr "PSČ:"
-
-#: ../../mod/profiles.php:385
-msgid "Country:"
-msgstr "Země:"
-
-#: ../../mod/profiles.php:386
-msgid "Region/State:"
-msgstr "Region / stát:"
-
-#: ../../mod/profiles.php:387
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Rodinný stav:"
-
-#: ../../mod/profiles.php:388
-msgid "Who: (if applicable)"
-msgstr "Kdo: (pokud je možné)"
-
-#: ../../mod/profiles.php:389
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Příklady: jan123, Jan Novák, jan@seznam.cz"
-
-#: ../../mod/profiles.php:390 ../../include/profile_advanced.php:90
-msgid "Sexual Preference:"
-msgstr "Sexuální preference:"
-
-#: ../../mod/profiles.php:391
-msgid "Homepage URL:"
-msgstr "Odkaz na domovskou stránku:"
-
-#: ../../mod/profiles.php:392 ../../include/profile_advanced.php:115
-msgid "Political Views:"
-msgstr "Politické přesvědčení:"
-
-#: ../../mod/profiles.php:393
-msgid "Religious Views:"
-msgstr "Náboženské přesvědčení:"
-
-#: ../../mod/profiles.php:394
-msgid "Public Keywords:"
-msgstr "Veřejná klíčová slova:"
-
-#: ../../mod/profiles.php:395
-msgid "Private Keywords:"
-msgstr "Soukromá klíčová slova:"
-
-#: ../../mod/profiles.php:396
-msgid "Example: fishing photography software"
-msgstr "Příklad: fishing photography software"
-
-#: ../../mod/profiles.php:397
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr ""
-"(Používá se pro doporučování potenciálních přátel, může být viděno "
-"ostatními)"
-
-#: ../../mod/profiles.php:398
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Používá se pro vyhledávání profilů, není nikdy zobrazeno ostatním)"
-
-#: ../../mod/profiles.php:399
-msgid "Tell us about yourself..."
-msgstr "Řekněte nám něco o sobě ..."
-
-#: ../../mod/profiles.php:400
-msgid "Hobbies/Interests"
-msgstr "Koníčky/zájmy"
-
-#: ../../mod/profiles.php:401
-msgid "Contact information and Social Networks"
-msgstr "Kontaktní informace a sociální sítě"
-
-#: ../../mod/profiles.php:402
-msgid "Musical interests"
-msgstr "Hudební vkus"
-
-#: ../../mod/profiles.php:403
-msgid "Books, literature"
-msgstr "Knihy, literatura"
-
-#: ../../mod/profiles.php:404
-msgid "Television"
-msgstr "Televize"
-
-#: ../../mod/profiles.php:405
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/tanec/kultura/zábava"
-
-#: ../../mod/profiles.php:406
-msgid "Love/romance"
-msgstr "Láska/romantika"
-
-#: ../../mod/profiles.php:407
-msgid "Work/employment"
-msgstr "Práce/zaměstnání"
-
-#: ../../mod/profiles.php:408
-msgid "School/education"
-msgstr "Škola/vzdělání"
-
-#: ../../mod/profiles.php:413
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr ""
-"Toto je váš <strong>veřejný</strong> profil.<br />Ten <strong>může</strong> "
-"být viditelný kýmkoliv na internetu."
-
-#: ../../mod/profiles.php:423 ../../mod/directory.php:112
-msgid "Age: "
-msgstr "Věk: "
-
-#: ../../mod/profiles.php:458 ../../include/nav.php:109
-msgid "Profiles"
-msgstr "Profily"
-
-#: ../../mod/profiles.php:459
-msgid "Change profile photo"
-msgstr "Změnit profilovou fotografii"
-
-#: ../../mod/profiles.php:460
-msgid "Create New Profile"
-msgstr "Vytvořit nový profil"
-
-#: ../../mod/profiles.php:470
-msgid "Profile Image"
-msgstr "Profilový obrázek"
-
-#: ../../mod/profiles.php:472
-msgid "visible to everybody"
-msgstr "viditelné pro všechny"
-
-#: ../../mod/profiles.php:473
-msgid "Edit visibility"
-msgstr "Upravit viditelnost"
-
-#: ../../mod/directory.php:40
-msgid "Global Directory"
-msgstr "Globální adresář"
-
-#: ../../mod/directory.php:46
-msgid "Normal site view"
-msgstr "Normální zobrazení stránky"
-
-#: ../../mod/directory.php:48
-msgid "View all site entries"
-msgstr "Zobrazit všechny položky stránky"
-
-#: ../../mod/directory.php:56
-msgid "Site Directory"
-msgstr "Adresář serveru"
-
-#: ../../mod/directory.php:115
-msgid "Gender: "
-msgstr "Pohlaví: "
-
-#: ../../mod/directory.php:141
-msgid "No entries (some entries may be hidden)."
-msgstr "Žádné záznamy (některé položky mohou být skryty)."
-
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : není platná e-mailová adresa."
-
-#: ../../mod/invite.php:59
-#, php-format
-msgid "Please join my network on %s"
-msgstr "Prosím, připojte se do mé sítě na %s"
-
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Doručení zprávy se nezdařilo."
-
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d zpráva odeslána."
-msgstr[1] "%d zprávy odeslány."
-msgstr[2] "%d zprávy odeslány."
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
-msgstr "Nemáte k dispozici žádné další pozvánky"
-
-#: ../../mod/invite.php:99
-msgid "Send invitations"
-msgstr "Poslat pozvánky"
-
-#: ../../mod/invite.php:100
-msgid "Enter email addresses, one per line:"
-msgstr "Zadejte e-mailové adresy, jednu na řádek:"
-
-#: ../../mod/invite.php:102
-#, php-format
-msgid "Please join my social network on %s"
-msgstr "Prosím, připojte se do mé sociální sítě na %s"
-
-#: ../../mod/invite.php:103
-msgid "To accept this invitation, please visit:"
-msgstr "Chcete-li toto pozvání přijmout, navštivte prosím:"
-
-#: ../../mod/invite.php:104
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Budete muset zadat kód této pozvánky: $invite_code"
-
-#: ../../mod/invite.php:104
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr ""
-"Jakmile se zaregistrujete, prosím spojte se se mnou přes mou profilovu "
-"stránku na:"
-
-#: ../../mod/dfrn_confirm.php:233
-msgid "Response from remote site was not understood."
-msgstr "Odpověď ze vzdáleného serveru nebyla srozumitelná."
-
-#: ../../mod/dfrn_confirm.php:242
-msgid "Unexpected response from remote site: "
-msgstr "Neočekávaná odpověď od vzdáleného serveru:"
-
-#: ../../mod/dfrn_confirm.php:250
-msgid "Confirmation completed successfully."
-msgstr "Potvrzení úspěšně dokončena."
-
-#: ../../mod/dfrn_confirm.php:252 ../../mod/dfrn_confirm.php:266
-#: ../../mod/dfrn_confirm.php:273
-msgid "Remote site reported: "
-msgstr "Vzdálený server oznámil:"
-
-#: ../../mod/dfrn_confirm.php:264
-msgid "Temporary failure. Please wait and try again."
-msgstr "Dočasné selhání. Prosím, vyčkejte a zkuste to znovu."
-
-#: ../../mod/dfrn_confirm.php:271
-msgid "Introduction failed or was revoked."
-msgstr "Žádost o propojení selhala nebo byla zrušena."
-
-#: ../../mod/dfrn_confirm.php:393
-msgid "Unable to set contact photo."
-msgstr "Nelze nastavit fotografii kontaktu."
-
-#: ../../mod/dfrn_confirm.php:436 ../../include/conversation.php:79
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s je nyní přítel s %2$s"
-
-#: ../../mod/dfrn_confirm.php:507
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Pro '%s' nenalezen žádný uživatelský záznam "
-
-#: ../../mod/dfrn_confirm.php:517
-msgid "Our site encryption key is apparently messed up."
-msgstr "Náš šifrovací klíč zřejmě přestal správně fungovat."
-
-#: ../../mod/dfrn_confirm.php:528
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr ""
-"Byla poskytnuta prázdná URL adresa nebo se nepodařilo URL adresu dešifrovat."
-
-#: ../../mod/dfrn_confirm.php:549
-msgid "Contact record was not found for you on our site."
-msgstr "Kontakt záznam nebyl nalezen pro vás na našich stránkách."
-
-#: ../../mod/dfrn_confirm.php:578
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr ""
-"Váš systém poskytl duplicitní ID vůči našemu systému. Pokuste se akci "
-"zopakovat."
-
-#: ../../mod/dfrn_confirm.php:589
-msgid "Unable to set your contact credentials on our system."
-msgstr "Nelze nastavit Vaše přihlašovací údaje v našem systému."
-
-#: ../../mod/dfrn_confirm.php:642
-msgid "Unable to update your contact profile details on our system"
-msgstr "Nelze aktualizovat Váš profil v našem systému"
-
-#: ../../mod/dfrn_confirm.php:672
-#, php-format
-msgid "Connection accepted at %s"
-msgstr "Připojení přijato na %s"
-
-#: ../../addon/facebook/facebook.php:314
-msgid "Facebook disabled"
-msgstr "Facebook zakázán"
-
-#: ../../addon/facebook/facebook.php:319
-msgid "Updating contacts"
-msgstr "Aktualizace kontaktů"
-
-#: ../../addon/facebook/facebook.php:328
-msgid "Facebook API key is missing."
-msgstr "Chybí Facebook API klíč."
-
-#: ../../addon/facebook/facebook.php:335
-msgid "Facebook Connect"
-msgstr "Facebook připojen"
-
-#: ../../addon/facebook/facebook.php:341
-msgid "Install Facebook connector for this account."
-msgstr "Nainstalovat pro tento účet Facebook konektor."
-
-#: ../../addon/facebook/facebook.php:348
-msgid "Remove Facebook connector"
-msgstr "Odstranit konektor na Facebook"
-
-#: ../../addon/facebook/facebook.php:354
-msgid "Post to Facebook by default"
-msgstr "Standardně posílat příspěvky na Facebook"
-
-#: ../../addon/facebook/facebook.php:358
-msgid "Link all your Facebook friends and conversations"
-msgstr "Připojit všechny své přátele na Facebooku a konverzace"
-
-#: ../../addon/facebook/facebook.php:363
-msgid "Warning: Your Facebook privacy settings can not be imported."
-msgstr ""
-"Upozornění: nastavení ochrany osobních údajů na Facebooku nelze importovat."
-
-#: ../../addon/facebook/facebook.php:364
-msgid ""
-"Linked Facebook items <strong>may</strong> be publicly visible, depending on"
-" your privacy settings for this website/account."
-msgstr ""
-"Propojené položky z Facebook <strong>mohou</strong> být veřejně viditelné, v"
-" závislosti na nastavení ochrany osobních údajů pro tuto webovou "
-"stránku/účet."
-
-#: ../../addon/facebook/facebook.php:419
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../addon/facebook/facebook.php:420
-msgid "Facebook Connector Settings"
-msgstr "Nastavení Facebook konektoru "
-
-#: ../../addon/facebook/facebook.php:434
-msgid "Post to Facebook"
-msgstr "Přidat příspěvek na Facebook"
-
-#: ../../addon/facebook/facebook.php:507
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
-msgstr ""
-"Příspěvek na Facebook zrušen kvůli konfliktu přístupových práv mezi sítěmi."
-
-#: ../../addon/facebook/facebook.php:580
-msgid "Image: "
-msgstr "Obrázek: "
-
-#: ../../addon/facebook/facebook.php:656
-msgid "View on Friendika"
-msgstr "Pohled na Friendiku"
-
-#: ../../addon/facebook/facebook.php:687
-msgid "Facebook post failed. Queued for retry."
-msgstr ""
-"Zaslání příspěvku na Facebook selhalo. Příspěvek byl zařazen do fronty pro "
-"opakované odeslání."
-
-#: ../../addon/widgets/widgets.php:53
-msgid "Generate new key"
-msgstr "Generovat nové klíče"
-
-#: ../../addon/widgets/widgets.php:56
-msgid "Widgets key"
-msgstr "Widgety klíč"
-
-#: ../../addon/widgets/widgets.php:58
-msgid "Widgets available"
-msgstr "Widgety k dispozici"
-
-#: ../../addon/widgets/widget_friends.php:30
-msgid "Connect on Friendika!"
-msgstr "Spojit se na Friendice!"
-
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr "Trojrozměrné Tic-Tac-Toe"
-
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr "3D Tic-Tac-Toe"
-
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
-msgstr "Nová hra"
-
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
-msgstr "Nová hra s handicapem"
-
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
-msgstr ""
-"Trojrozměrné tic-tac-toe je podobná této tradiční hře kromě toho, že se "
-"hraje na více úrovních současně."
-
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr ""
-"V tomto případě existují tři úrovně. Vyhrajete tím, že dostane tři v řadě na"
-" jakékoli úrovni, stejně jako nahoru, dolů a šikmo na různých úrovních."
-
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr ""
-"Hra s handicapem zakáže centrální pozici na střední úrovni, protože hráč "
-"zaujímající tuto polohu má často nespravedlivou výhodu."
-
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr "Vy začněte ..."
-
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr "Tentokrát začnu já..."
-
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr "Vyhrál jste!"
-
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr "\"Kočičí\" hra!"
-
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr "Vyhrál jsem!"
-
-#: ../../addon/randplace/randplace.php:170
-msgid "Randplace Settings"
-msgstr "Randplace Nastavení"
-
-#: ../../addon/randplace/randplace.php:172
-msgid "Enable Randplace Plugin"
-msgstr "Povolit Randplace Plugin"
-
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr "Nahrát soubor"
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr "Přeneste sem soubory k nahrání"
-
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
-msgstr "Neúspěch"
-
-#: ../../addon/js_upload/js_upload.php:292
-msgid "No files were uploaded."
-msgstr "Žádné soubory nebyly nahrány."
-
-#: ../../addon/js_upload/js_upload.php:298
-msgid "Uploaded file is empty"
-msgstr "Nahraný soubor je prázdný"
-
-#: ../../addon/js_upload/js_upload.php:321
-msgid "File has an invalid extension, it should be one of "
-msgstr "Soubor má neplatnou příponu, ta by měla být jednou z"
-
-#: ../../addon/js_upload/js_upload.php:332
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Nahrávání bylo zrušeno nebo došlo k chybě na serveru"
-
-#: ../../addon/impressum/impressum.php:25
-msgid "Impressum"
-msgstr "Impressum"
-
-#: ../../addon/impressum/impressum.php:38
-#: ../../addon/impressum/impressum.php:40
-#: ../../addon/impressum/impressum.php:70
-msgid "Site Owner"
-msgstr "Vlastník webu"
-
-#: ../../addon/impressum/impressum.php:38
-#: ../../addon/impressum/impressum.php:74
-msgid "Email Address"
-msgstr "E-mailová adresa"
-
-#: ../../addon/impressum/impressum.php:43
-#: ../../addon/impressum/impressum.php:72
-msgid "Postal Address"
-msgstr "Poštovní adresa"
-
-#: ../../addon/impressum/impressum.php:49
-msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr ""
-"Doplněk Impressum musí být nakonfigurován!<br/>Prosím, přidejte alespoň "
-"proměnnou <tt>owner</tt> do konfiguračního souboru. Pro nastavení ostatních "
-"proměnných se seznamte s nápovědou v souboru README tohoto doplňku."
-
-#: ../../addon/impressum/impressum.php:71
-msgid "Site Owners Profile"
-msgstr "Profil majitele webu"
-
-#: ../../addon/impressum/impressum.php:73
-msgid "Notes"
-msgstr "Poznámky"
-
-#: ../../addon/oembed/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr "OEmbed nastavení aktualizováno"
-
-#: ../../addon/oembed/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr "Použití OEmbed pro videa na YouTube"
-
-#: ../../addon/oembed/oembed.php:71
-msgid "URL to embed:"
-msgstr "URL adresa k vložení:"
-
-#: ../../addon/statusnet/statusnet.php:133
-msgid "Post to StatusNet"
-msgstr "Poslat příspěvek na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:175
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
-msgstr ""
-"Obraťte se na administratora webu.<br />Poskytnutý odkaz na API není platný."
-
-#: ../../addon/statusnet/statusnet.php:203
-msgid "We could not contact the StatusNet API with the Path you entered."
-msgstr ""
-"S cestou, kterou jste zadali, se nebylo možné spojit s API StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:230
-msgid "StatusNet settings updated."
-msgstr "Nastavení StatusNetu aktualizováno."
-
-#: ../../addon/statusnet/statusnet.php:253
-msgid "StatusNet Posting Settings"
-msgstr "Nastavení zasílání příspěvků na StatusNet "
-
-#: ../../addon/statusnet/statusnet.php:267
-msgid "Globally Available StatusNet OAuthKeys"
-msgstr "Globálně dostupné StatusNet OAuth klíče"
-
-#: ../../addon/statusnet/statusnet.php:268
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
-msgstr ""
-"Jsou dostupné přednastavené OAuth páry klíčů pro některé servery StatusNetu."
-" Pokud používáte některý z nich, použijte toto přihlášení. Pokud ne, "
-"neváhejte se připojit k jiné instanci StatusNet (viz níže)."
-
-#: ../../addon/statusnet/statusnet.php:276
-msgid "Provide your own OAuth Credentials"
-msgstr "Uveďte své vlastní OAuth přihlašovací údaje"
-
-#: ../../addon/statusnet/statusnet.php:277
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendika Account as"
-" an desktop client on your StatusNet account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Friendika installation at your favorited StatusNet installation."
-msgstr ""
-"Nenalezen žádný consumer pár klíčů pro StatusNet. Zaregistrujte svůj "
-"Friendika účet jako desktopový klient na svém účtu StatusNetu, zkopírujte "
-"níže consumer pár klíčů a zadejte API base root.<br />Než si zaregistrujete "
-"svůj vlastní pár klíčů OAuth, zjistěte si od administrátora, zda-li už "
-"náhodou na tento Friendika server nepřidal pár klíčů pro vámi požadovanou "
-"instalaci StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:279
-msgid "OAuth Consumer Key"
-msgstr "OAuth Consumer Key"
-
-#: ../../addon/statusnet/statusnet.php:282
-msgid "OAuth Consumer Secret"
-msgstr "OAuth Consumer Secret"
-
-#: ../../addon/statusnet/statusnet.php:285
-msgid "Base API Path (remember the trailing /)"
-msgstr "Cesta k Base API (nezapomeňte na koncový /)"
-
-#: ../../addon/statusnet/statusnet.php:306
-msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below"
-" and submit the form. Only your <strong>public</strong> posts will be posted"
-" to StatusNet."
-msgstr ""
-"Chcete-li připojit k vašemu účtu StatusNet klikněte na tlačítko níže, abyste"
-" dostati bezpečnostní kód ze StatusNetu, který musíte zkopírovat do "
-"vstupního pole níže a odelat formulář. Pouze Vaše <strong>veřejné</strong> "
-"příspěvky budou zveřejněny na StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:307
-msgid "Log in with StatusNet"
-msgstr "Přihlásit se s StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:309
-msgid "Copy the security code from StatusNet here"
-msgstr "Zkopírujte sem bezpečnostní kód ze StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:315
-msgid "Cancel Connection Process"
-msgstr "Zrušit připojování"
-
-#: ../../addon/statusnet/statusnet.php:317
-msgid "Current StatusNet API is"
-msgstr "Aktuální StatusNet API je"
-
-#: ../../addon/statusnet/statusnet.php:318
-msgid "Cancel StatusNet Connection"
-msgstr "Zrušit StatusNet připojení"
-
-#: ../../addon/statusnet/statusnet.php:329 ../../addon/twitter/twitter.php:180
-msgid "Currently connected to: "
-msgstr "V současné době připojen k:"
-
-#: ../../addon/statusnet/statusnet.php:330
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
-msgstr ""
-"Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být "
-"zaslány na související StatusNet účet. Můžete si vybrat, zda-li toto bude "
-"výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované "
-"chování při psaní každého příspěvku."
-
-#: ../../addon/statusnet/statusnet.php:332
-msgid "Allow posting to StatusNet"
-msgstr "Povolit zasílání příspěvků na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:335
-msgid "Send public postings to StatusNet by default"
-msgstr "Standardně poslílat veřejné příspěvky na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:340 ../../addon/twitter/twitter.php:191
-msgid "Clear OAuth configuration"
-msgstr "Vymazat konfiguraci OAuth"
-
-#: ../../addon/statusnet/statusnet.php:460
-msgid "API URL"
-msgstr "API URL"
-
-#: ../../addon/statusnet/statusnet.php:461
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
-
-#: ../../addon/statusnet/statusnet.php:462
-msgid "Consumer Key"
-msgstr "Consumer Key"
-
-#: ../../addon/piwik/piwik.php:77
-msgid "Piwik Base URL"
-msgstr "Piwik Base adresa URL"
-
-#: ../../addon/piwik/piwik.php:78
-msgid "Site ID"
-msgstr "ID webu"
-
-#: ../../addon/piwik/piwik.php:79
-msgid "Show opt-out cookie link?"
-msgstr "Zobrazit odkaz opt-out cookie?"
-
-#: ../../addon/twitter/twitter.php:70
-msgid "Post to Twitter"
-msgstr "Poslat příspěvek na Twitter"
-
-#: ../../addon/twitter/twitter.php:115
-msgid "Twitter settings updated."
-msgstr "Nastavení Twitteru aktualizováno."
-
-#: ../../addon/twitter/twitter.php:137
-msgid "Twitter Posting Settings"
-msgstr "Nastavení zasílání příspěvků na Twitter "
-
-#: ../../addon/twitter/twitter.php:144
-msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
-msgstr ""
-"Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte se na "
-"administrátora webu."
-
-#: ../../addon/twitter/twitter.php:163
-msgid ""
-"At this Friendika instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input"
-" box below and submit the form. Only your <strong>public</strong> posts will"
-" be posted to Twitter."
-msgstr ""
-"Na tomto Friendika serveru je Twitter plugin povolen, ale ještě nemáte svůj "
-"účet připojen ke svému Twitter účtu. Chcete-li tak učinit, klepnutím na "
-"tlačítko níže získejte PIN z Twitteru, který musíte zkopírovat do vstupního "
-"pole níže a odešlete formulář. Pouze Vaše <strong>veřejné</strong> příspěvky"
-" budou zveřejněny na Twitteru."
-
-#: ../../addon/twitter/twitter.php:164
-msgid "Log in with Twitter"
-msgstr "Přihlásit se s Twitter"
-
-#: ../../addon/twitter/twitter.php:166
-msgid "Copy the PIN from Twitter here"
-msgstr "Zkopírujte sem PIN z Twitteru"
-
-#: ../../addon/twitter/twitter.php:181
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for"
-" every posting separately in the posting options when writing the entry."
-msgstr ""
-"Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být "
-"zaslány na související Twitter účet. Můžete si vybrat, zda-li toto bude "
-"výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované "
-"chování při psaní každého příspěvku."
-
-#: ../../addon/twitter/twitter.php:183
-msgid "Allow posting to Twitter"
-msgstr "Povolit odesílání na Twitter"
-
-#: ../../addon/twitter/twitter.php:186
-msgid "Send public postings to Twitter by default"
-msgstr "Defaultně zasílat veřejné komentáře na Twitter"
-
-#: ../../addon/twitter/twitter.php:282
-msgid "Consumer key"
-msgstr "Consumer key"
-
-#: ../../addon/twitter/twitter.php:283
-msgid "Consumer secret"
-msgstr "Consumer secret"
-
-#: ../../include/profile_advanced.php:23 ../../boot.php:880
-msgid "Gender:"
-msgstr "Pohlaví:"
-
-#: ../../include/profile_advanced.php:36 ../../include/items.php:1137
-msgid "Birthday:"
-msgstr "Narozeniny:"
-
-#: ../../include/profile_advanced.php:45
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/profile_advanced.php:46
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/profile_advanced.php:59
-msgid "Age:"
-msgstr "Věk:"
-
-#: ../../include/profile_advanced.php:70
-msgid "<span class=\"heart\">&hearts;</span> Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Status:"
-
-#: ../../include/profile_advanced.php:103 ../../boot.php:886
-msgid "Homepage:"
-msgstr "Domácí stránka:"
-
-#: ../../include/profile_advanced.php:127
-msgid "Religion:"
-msgstr "Náboženství:"
-
-#: ../../include/profile_advanced.php:138
-msgid "About:"
-msgstr "O mě:"
-
-#: ../../include/profile_advanced.php:150
-msgid "Hobbies/Interests:"
-msgstr "Koníčky/zájmy:"
-
-#: ../../include/profile_advanced.php:162
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktní informace a sociální sítě:"
-
-#: ../../include/profile_advanced.php:174
-msgid "Musical interests:"
-msgstr "Hudební vkus:"
-
-#: ../../include/profile_advanced.php:186
-msgid "Books, literature:"
-msgstr "Knihy, literatura:"
-
-#: ../../include/profile_advanced.php:198
-msgid "Television:"
-msgstr "Televize:"
-
-#: ../../include/profile_advanced.php:210
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/tanec/kultura/zábava:"
-
-#: ../../include/profile_advanced.php:222
-msgid "Love/Romance:"
-msgstr "Láska/romance"
-
-#: ../../include/profile_advanced.php:234
-msgid "Work/employment:"
-msgstr "Práce/zaměstnání:"
-
-#: ../../include/profile_advanced.php:246
-msgid "School/education:"
-msgstr "Škola/vzdělávání:"
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Neznámé | Nezařazeno"
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Okamžitě blokovat "
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "pochybný, spammer, self-makerter"
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Znám ho ale, ale bez rozhodnutí"
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "OK, pravděpodobně neškodný"
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Renomovaný, má mou důvěru"
-
-#: ../../include/contact_selectors.php:55
-msgid "Frequently"
-msgstr "Často"
-
-#: ../../include/contact_selectors.php:56
-msgid "Hourly"
-msgstr "každou hodinu"
-
-#: ../../include/contact_selectors.php:57
-msgid "Twice daily"
-msgstr "Dvakrát denně"
-
-#: ../../include/contact_selectors.php:58
-msgid "Daily"
-msgstr "denně"
-
-#: ../../include/contact_selectors.php:59
-msgid "Weekly"
-msgstr "Týdenně"
-
-#: ../../include/contact_selectors.php:60
-msgid "Monthly"
-msgstr "Měsíčně"
-
-#: ../../include/profile_selectors.php:6
-msgid "Male"
-msgstr "Muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Female"
-msgstr "Žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "V současné době muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "V současné době žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Většinou muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Většinou žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersex"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transexuál"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodit"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutrál"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Nespecifikováno"
-
-#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Jiné"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Nerozhodnuto"
-
-#: ../../include/profile_selectors.php:19
-msgid "Males"
-msgstr "Muži"
-
-#: ../../include/profile_selectors.php:19
-msgid "Females"
-msgstr "Ženy"
-
-#: ../../include/profile_selectors.php:19
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:19
-msgid "Lesbian"
-msgstr "Lesbička"
-
-#: ../../include/profile_selectors.php:19
-msgid "No Preference"
-msgstr "Bez preferencí"
-
-#: ../../include/profile_selectors.php:19
-msgid "Bisexual"
-msgstr "Bisexuál"
-
-#: ../../include/profile_selectors.php:19
-msgid "Autosexual"
-msgstr "Autosexuál"
-
-#: ../../include/profile_selectors.php:19
-msgid "Abstinent"
-msgstr "Abstinent"
-
-#: ../../include/profile_selectors.php:19
-msgid "Virgin"
-msgstr "panic/panna"
-
-#: ../../include/profile_selectors.php:19
-msgid "Deviant"
-msgstr "Deviant"
-
-#: ../../include/profile_selectors.php:19
-msgid "Fetish"
-msgstr "Fetišista"
-
-#: ../../include/profile_selectors.php:19
-msgid "Oodles"
-msgstr "Hodně"
-
-#: ../../include/profile_selectors.php:19
-msgid "Nonsexual"
-msgstr "Nesexuální"
-
-#: ../../include/profile_selectors.php:33
-msgid "Single"
-msgstr "Svobodný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Lonely"
-msgstr "Osamnělý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Available"
-msgstr "Dostupný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unavailable"
-msgstr "Nedostupný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Dating"
-msgstr "Seznamující se"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unfaithful"
-msgstr "Nevěrný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Sex Addict"
-msgstr "Závislý na sexu"
-
-#: ../../include/profile_selectors.php:33
-msgid "Friends"
-msgstr "Přátelé"
-
-#: ../../include/profile_selectors.php:33
-msgid "Friends/Benefits"
-msgstr "Přátelé / výhody"
-
-#: ../../include/profile_selectors.php:33
-msgid "Casual"
-msgstr "Ležérní"
-
-#: ../../include/profile_selectors.php:33
-msgid "Engaged"
-msgstr "Zadaný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Married"
-msgstr "Ženatý/vdaná"
-
-#: ../../include/profile_selectors.php:33
-msgid "Partners"
-msgstr "Partneři"
-
-#: ../../include/profile_selectors.php:33
-msgid "Cohabiting"
-msgstr "Žijící ve společné domácnosti"
-
-#: ../../include/profile_selectors.php:33
-msgid "Happy"
-msgstr "Šťastný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Not Looking"
-msgstr "Nehledající"
-
-#: ../../include/profile_selectors.php:33
-msgid "Swinger"
-msgstr "Swinger"
-
-#: ../../include/profile_selectors.php:33
-msgid "Betrayed"
-msgstr "Zrazen"
-
-#: ../../include/profile_selectors.php:33
-msgid "Separated"
-msgstr "Odloučený"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unstable"
-msgstr "Nestálý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Divorced"
-msgstr "Rozvedený(á)"
-
-#: ../../include/profile_selectors.php:33
-msgid "Widowed"
-msgstr "Ovdovělý(á)"
-
-#: ../../include/profile_selectors.php:33
-msgid "Uncertain"
-msgstr "Nejistý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Complicated"
-msgstr "Komplikovaný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Don't care"
-msgstr "Nezajímá"
-
-#: ../../include/profile_selectors.php:33
-msgid "Ask me"
-msgstr "Zeptej se mě"
-
-#: ../../include/event.php:11
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../include/event.php:17
-msgid "Starts:"
-msgstr "Začíná:"
-
-#: ../../include/event.php:27
-msgid "Finishes:"
-msgstr "Končí:"
-
-#: ../../include/text.php:229
-msgid "prev"
-msgstr "předchozí"
-
-#: ../../include/text.php:231
-msgid "first"
-msgstr "první"
-
-#: ../../include/text.php:260
-msgid "last"
-msgstr "poslední"
-
-#: ../../include/text.php:263
-msgid "next"
-msgstr "další"
-
-#: ../../include/text.php:542
-msgid "No contacts"
-msgstr "Žádné kontakty"
-
-#: ../../include/text.php:550
-#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d kontakt"
-msgstr[1] "%d kontaktů"
-msgstr[2] "%d kontaktů"
-
-#: ../../include/text.php:711
-msgid "Monday"
-msgstr "Pondělí"
-
-#: ../../include/text.php:711
-msgid "Tuesday"
-msgstr "Úterý"
-
-#: ../../include/text.php:711
-msgid "Wednesday"
-msgstr "Středa"
-
-#: ../../include/text.php:711
-msgid "Thursday"
-msgstr "Čtvrtek"
-
-#: ../../include/text.php:711
-msgid "Friday"
-msgstr "Pátek"
-
-#: ../../include/text.php:711
-msgid "Saturday"
-msgstr "Sobota"
-
-#: ../../include/text.php:711
-msgid "Sunday"
-msgstr "Neděle"
-
-#: ../../include/text.php:715
-msgid "January"
-msgstr "Ledna"
-
-#: ../../include/text.php:715
-msgid "February"
-msgstr "Února"
-
-#: ../../include/text.php:715
-msgid "March"
-msgstr "Března"
-
-#: ../../include/text.php:715
-msgid "April"
-msgstr "Dubna"
-
-#: ../../include/text.php:715
-msgid "May"
-msgstr "Května"
-
-#: ../../include/text.php:715
-msgid "June"
-msgstr "Června"
-
-#: ../../include/text.php:715
-msgid "July"
-msgstr "Července"
-
-#: ../../include/text.php:715
-msgid "August"
-msgstr "Srpna"
-
-#: ../../include/text.php:715
-msgid "September"
-msgstr "Září"
-
-#: ../../include/text.php:715
-msgid "October"
-msgstr "Října"
-
-#: ../../include/text.php:715
-msgid "November"
-msgstr "Listopadu"
-
-#: ../../include/text.php:715
-msgid "December"
-msgstr "Prosince"
-
-#: ../../include/text.php:778
-msgid "bytes"
-msgstr "bytů"
-
-#: ../../include/text.php:861
-msgid "Select an alternate language"
-msgstr "Vyběr alternativního jazyka"
-
-#: ../../include/diaspora.php:309
-msgid "Sharing notification from Diaspora network"
-msgstr "Sdílení oznámení ze sítě Diaspora"
-
-#: ../../include/oembed.php:95
-msgid "Embedding disabled"
-msgstr "Vkládání zakázáno"
-
-#: ../../include/group.php:146
-msgid "Create a new group"
-msgstr "Vytvořit novou skupinu"
-
-#: ../../include/group.php:147
-msgid "Everybody"
-msgstr "Všichni"
-
-#: ../../include/nav.php:41 ../../boot.php:667
-msgid "Logout"
-msgstr "Odhlásit se"
-
-#: ../../include/nav.php:41
-msgid "End this session"
-msgstr "Konec této relace"
-
-#: ../../include/nav.php:44 ../../boot.php:645 ../../boot.php:651
-msgid "Login"
-msgstr "Přihlásit se"
-
-#: ../../include/nav.php:44
-msgid "Sign in"
-msgstr "Přihlásit se"
-
-#: ../../include/nav.php:55 ../../include/nav.php:93
-msgid "Home"
-msgstr "Domů"
-
-#: ../../include/nav.php:55
-msgid "Home Page"
-msgstr "Domácí stránka"
-
-#: ../../include/nav.php:59
-msgid "Create an account"
-msgstr "Vytvořit účet"
-
-#: ../../include/nav.php:64
-msgid "Help and documentation"
-msgstr "Nápověda a dokumentace"
-
-#: ../../include/nav.php:67
-msgid "Apps"
-msgstr "Aplikace"
-
-#: ../../include/nav.php:67
-msgid "Addon applications, utilities, games"
-msgstr "Doplňkové aplikace, nástroje, hry"
-
-#: ../../include/nav.php:69
-msgid "Search site content"
-msgstr "Hledání na stránkách tohoto webu"
-
-#: ../../include/nav.php:79
-msgid "Conversations on this site"
-msgstr "Konverzace na tomto webu"
-
-#: ../../include/nav.php:81
-msgid "Directory"
-msgstr "Adresář"
-
-#: ../../include/nav.php:81
-msgid "People directory"
-msgstr "Adresář"
-
-#: ../../include/nav.php:91
-msgid "Network"
-msgstr "Síť"
-
-#: ../../include/nav.php:91
-msgid "Conversations from your friends"
-msgstr "Konverzace od Vašich přátel"
-
-#: ../../include/nav.php:93
-msgid "Your posts and conversations"
-msgstr "Vaše příspěvky a konverzace"
-
-#: ../../include/nav.php:99
-msgid "Notifications"
-msgstr "Upozornění"
-
-#: ../../include/nav.php:99
-msgid "Friend requests"
-msgstr "Požadavky přátelství"
-
-#: ../../include/nav.php:102
-msgid "Private mail"
-msgstr "Soukromá pošta"
-
-#: ../../include/nav.php:105
-msgid "Manage"
-msgstr "Spravovat"
-
-#: ../../include/nav.php:105
-msgid "Manage other pages"
-msgstr "Spravovat jiné stránky"
-
-#: ../../include/nav.php:109
-msgid "Manage/edit profiles"
-msgstr "Spravovat/upravit profily"
-
-#: ../../include/nav.php:110
-msgid "Manage/edit friends and contacts"
-msgstr "Spravovat/upravit přátelé a kontakty"
-
-#: ../../include/nav.php:117
-msgid "Admin"
-msgstr "Administrace"
-
-#: ../../include/nav.php:117
-msgid "Site setup and configuration"
-msgstr "Nastavení webu a konfigurace"
-
-#: ../../include/auth.php:27
-msgid "Logged out."
-msgstr "Odhlášen."
-
-#: ../../include/datetime.php:44 ../../include/datetime.php:46
-msgid "Miscellaneous"
-msgstr "Různé"
-
-#: ../../include/datetime.php:105 ../../include/datetime.php:237
-msgid "year"
-msgstr "rok"
-
-#: ../../include/datetime.php:110 ../../include/datetime.php:238
-msgid "month"
-msgstr "měsíc"
-
-#: ../../include/datetime.php:115 ../../include/datetime.php:240
-msgid "day"
-msgstr "den"
-
-#: ../../include/datetime.php:228
-msgid "never"
-msgstr "nikdy"
-
-#: ../../include/datetime.php:234
-msgid "less than a second ago"
-msgstr "méně než před sekundou"
-
-#: ../../include/datetime.php:237
-msgid "years"
-msgstr "let"
-
-#: ../../include/datetime.php:238
-msgid "months"
-msgstr "měsíců"
-
-#: ../../include/datetime.php:239
-msgid "week"
-msgstr "týden"
-
-#: ../../include/datetime.php:239
-msgid "weeks"
-msgstr "týdny"
-
-#: ../../include/datetime.php:240
-msgid "days"
-msgstr "dnů"
-
-#: ../../include/datetime.php:241
-msgid "hour"
-msgstr "hodina"
-
-#: ../../include/datetime.php:241
-msgid "hours"
-msgstr "hodin"
-
-#: ../../include/datetime.php:242
-msgid "minute"
-msgstr "minuta"
-
-#: ../../include/datetime.php:242
-msgid "minutes"
-msgstr "minut"
-
-#: ../../include/datetime.php:243
-msgid "second"
-msgstr "sekunda"
-
-#: ../../include/datetime.php:243
-msgid "seconds"
-msgstr "sekund"
-
-#: ../../include/datetime.php:250
-msgid " ago"
-msgstr " nazpět"
-
-#: ../../include/poller.php:418
-msgid "From: "
-msgstr "Od:"
-
-#: ../../include/bbcode.php:116
-msgid "Image/photo"
-msgstr "Obrázek/fotografie"
-
-#: ../../include/dba.php:31
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Nelze nalézt záznam v DNS pro databázový server '%s'"
-
-#: ../../include/acl_selectors.php:279
-msgid "Visible to everybody"
-msgstr "Viditelné pro všechny"
-
-#: ../../include/acl_selectors.php:280
-msgid "show"
-msgstr "zobrazit"
-
-#: ../../include/acl_selectors.php:281
-msgid "don't show"
-msgstr "nikdy nezobrazit"
-
-#: ../../include/notifier.php:465
-msgid "(no subject)"
-msgstr "(Bez předmětu)"
-
-#: ../../include/items.php:1526
-msgid "You have a new follower at "
-msgstr "Máte nového následovníka na"
-
-#: ../../include/conversation.php:23
-msgid "event"
-msgstr "událost"
-
-#: ../../include/conversation.php:213 ../../include/conversation.php:488
-#: ../../include/conversation.php:489
-#, php-format
-msgid "View %s's profile"
-msgstr "Zobrazit %s profilu"
-
-#: ../../include/conversation.php:222 ../../include/conversation.php:501
-#, php-format
-msgid "%s from %s"
-msgstr "%s od %s"
-
-#: ../../include/conversation.php:230
-msgid "View in context"
-msgstr "Pohled v kontextu"
-
-#: ../../include/conversation.php:301
-msgid "See more posts like this"
-msgstr "Zobrazit více podobných příspěvků"
-
-#: ../../include/conversation.php:329
-#, php-format
-msgid "See all %d comments"
-msgstr "Zobrazit všechny komentáře %d"
-
-#: ../../include/conversation.php:427
-msgid "Select"
-msgstr "Vybrat"
-
-#: ../../include/conversation.php:429
-msgid "toggle star status"
-msgstr "přepnout hvězdu"
-
-#: ../../include/conversation.php:490
-msgid "to"
-msgstr "pro"
-
-#: ../../include/conversation.php:491
-msgid "Wall-to-Wall"
-msgstr "Zeď-na-Zeď"
-
-#: ../../include/conversation.php:492
-msgid "via Wall-To-Wall:"
-msgstr "přes Zeď-na-Zeď "
-
-#: ../../include/conversation.php:534
-msgid "Delete Selected Items"
-msgstr "Smazat vybrané položky"
-
-#: ../../include/conversation.php:608
-msgid "View status"
-msgstr "Zobrazit stav"
-
-#: ../../include/conversation.php:609
-msgid "View profile"
-msgstr "Zobrazit profil"
-
-#: ../../include/conversation.php:610
-msgid "View photos"
-msgstr "Zobrazit fotografie"
-
-#: ../../include/conversation.php:611
-msgid "View recent"
-msgstr "Zobrazit poslední"
-
-#: ../../include/conversation.php:613
-msgid "Send PM"
-msgstr "Poslat soukromou zprávu"
-
-#: ../../include/conversation.php:663
-#, php-format
-msgid "%s likes this."
-msgstr "%s se to líbí."
-
-#: ../../include/conversation.php:663
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s se to nelíbí."
-
-#: ../../include/conversation.php:667
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "<span %1$s>%2$d lidem</span> se to líbí."
-
-#: ../../include/conversation.php:669
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "<span %1$s>%2$d lidem</span> se to nelíbí."
-
-#: ../../include/conversation.php:675
-msgid "and"
-msgstr "a"
-
-#: ../../include/conversation.php:678
-#, php-format
-msgid ", and %d other people"
-msgstr ", a %d dalších lidí"
-
-#: ../../include/conversation.php:679
-#, php-format
-msgid "%s like this."
-msgstr "%s se to líbí."
-
-#: ../../include/conversation.php:679
-#, php-format
-msgid "%s don't like this."
-msgstr "%s se to nelíbí."
-
-#: ../../include/conversation.php:698
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Viditelné pro <strong>všechny</strong>"
-
-#: ../../include/conversation.php:700
-msgid "Please enter a YouTube link:"
-msgstr "Prosím zadejte odkaz na YouTube:"
-
-#: ../../include/conversation.php:701
-msgid "Please enter a video(.ogg) link/URL:"
-msgstr "Prosím, zadejte odkaz na video (ogg.):"
-
-#: ../../include/conversation.php:702
-msgid "Please enter an audio(.ogg) link/URL:"
-msgstr "Prosím, zadejte odkaz na audio (ogg.):"
-
-#: ../../include/conversation.php:703
-msgid "Where are you right now?"
-msgstr "Kde právě jste?"
-
-#: ../../include/conversation.php:704
-msgid "Enter a title for this item"
-msgstr "Zadejte titulek pro tuto položku"
-
-#: ../../include/conversation.php:755
-msgid "Set title"
-msgstr "Nastavit titulek"
-
-#: ../../boot.php:410
-msgid "Delete this item?"
-msgstr "Odstranit tuto položku?"
-
-#: ../../boot.php:636
-msgid "Create a New Account"
-msgstr "Vytvořit nový účet"
-
-#: ../../boot.php:643
-msgid "Nickname or Email address: "
-msgstr "Přezdívka nebo e-mailová adresa:"
-
-#: ../../boot.php:644
-msgid "Password: "
-msgstr "Heslo: "
-
-#: ../../boot.php:649
-msgid "Nickname/Email/OpenID: "
-msgstr "Přezdívka/E-mail/OpenID: "
-
-#: ../../boot.php:650
-msgid "Password (if not OpenID): "
-msgstr "Heslo (pokud se nepoužívá OpenID):"
-
-#: ../../boot.php:653
-msgid "Forgot your password?"
-msgstr "Zapomněli jste své heslo?"
-
-#: ../../boot.php:853
-msgid "Connect"
-msgstr "Spojit"
-
-#: ../../boot.php:872
-msgid ", "
-msgstr ", "
-
-#: ../../boot.php:884
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../boot.php:975
-msgid "g A l F d"
-msgstr "g A l F d"
-
-#: ../../boot.php:993
-msgid "Birthday Reminders"
-msgstr "Připomínka narozenin"
-
-#: ../../boot.php:994
-msgid "Birthdays this week:"
-msgstr "Narozeniny tento týden:"
-
-#: ../../boot.php:995
-msgid "(Adjusted for local time)"
-msgstr "(Upraveno pro místní čas)"
-
-#: ../../boot.php:1006
-msgid "[today]"
-msgstr "[Dnes]"
-
-#: ../../index.php:209
-msgid "Not Found"
-msgstr "Nenalezen"
-
-#: ../../index.php:210
-msgid "Page not found."
-msgstr "Stránka nenalezena"
-
-
diff --git a/view/cs/hstrings.php b/view/cs/hstrings.php
deleted file mode 100644
index f43d0491b..000000000
--- a/view/cs/hstrings.php
+++ /dev/null
@@ -1,1044 +0,0 @@
-<?php
-
-if(! function_exists("string_plural_select_cs")) {
-function string_plural_select_cs($n){
- return ($n==1) ? 0 : ($n>=2 && $n<=4) ? 1 : 2;
-}}
-;
-App::$strings["Post successful."] = "Příspěvek úspěšně odeslán";
-App::$strings["Contact settings applied."] = "Nastavení kontaktu změněno";
-App::$strings["Contact update failed."] = "Aktualizace kontaktu selhala.";
-App::$strings["Permission denied."] = "Přístup odmítnut.";
-App::$strings["Contact not found."] = "Kontakt nenalezen.";
-App::$strings["Repair Contact Settings"] = "Opravit nastavení kontaktu";
-App::$strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact will stop working."] = "<strong>VAROVÁNÍ: Toto je velmi pokročilé nastavení,</strong> pokud zadáte nesprávné informace, komunikace s tímto kontaktem přestane fungovat.";
-App::$strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Prosím použijte <strong>ihned</strong> v prohlížeči tlačítko \"zpět\" pokud si nejste jistí co dělat na této stránce.";
-App::$strings["Name"] = "Jméno";
-App::$strings["Account Nickname"] = "Přezdívka účtu";
-App::$strings["Account URL"] = "URL adresa účtu";
-App::$strings["Friend Request URL"] = "Žádost o přátelství URL";
-App::$strings["Friend Confirm URL"] = "URL adresa potvrzení přátelství";
-App::$strings["Notification Endpoint URL"] = "Notifikační URL adresa";
-App::$strings["Poll/Feed URL"] = "Poll/Feed URL adresa";
-App::$strings["Submit"] = "Odeslat";
-App::$strings["Help:"] = "Nápověda:";
-App::$strings["Help"] = "Nápověda";
-App::$strings["File exceeds size limit of %d"] = "Velikost souboru přesáhla limit %d";
-App::$strings["File upload failed."] = "Nahrání souboru se nezdařilo.";
-App::$strings["Friend suggestion sent."] = "Návrhy přátelství odeslány ";
-App::$strings["Suggest Friends"] = "Navrhněte přátelé";
-App::$strings["Suggest a friend for %s"] = "Navrhněte přátelé pro uživatele %s";
-App::$strings["Status"] = "Stav";
-App::$strings["Profile"] = "Profil";
-App::$strings["Photos"] = "Fotografie";
-App::$strings["Events"] = "Události";
-App::$strings["Personal Notes"] = "Osobní poznámky";
-App::$strings["Create New Event"] = "Vytvořit novou událost";
-App::$strings["Previous"] = "Předchozí";
-App::$strings["Next"] = "Následující";
-App::$strings["l, F j"] = "l, F j";
-App::$strings["Edit event"] = "Editovat událost";
-App::$strings["link to source"] = "odkaz na zdroj";
-App::$strings["hour:minute"] = "hodina:minuta";
-App::$strings["Event details"] = "Detaily události";
-App::$strings["Format is %s %s. Starting date and Description are required."] = "Formát je %s %s. Datum zahájení a popis jsou povinné.";
-App::$strings["Event Starts:"] = "Událost začíná:";
-App::$strings["Finish date/time is not known or not relevant"] = "Datum/čas konce není zadán nebo není relevantní";
-App::$strings["Event Finishes:"] = "Akce končí:";
-App::$strings["Adjust for viewer timezone"] = "Nastavit časové pásmo pro uživatele s právem pro čtení";
-App::$strings["Description:"] = "Popis:";
-App::$strings["Location:"] = "Místo:";
-App::$strings["Share this event"] = "Sdílet tuto událost";
-App::$strings["Cancel"] = "Zrušit";
-App::$strings["Tag removed"] = "Štítek odstraněn";
-App::$strings["Remove Item Tag"] = "Odebrat štítek položky";
-App::$strings["Select a tag to remove: "] = "Vyberte štítek k odebrání:";
-App::$strings["Remove"] = "Odstranit";
-App::$strings["%s welcomes %s"] = "%s vítá %s ";
-App::$strings["Photo Albums"] = "Fotoalba";
-App::$strings["Contact Photos"] = "Fotogalerie kontaktu";
-App::$strings["everybody"] = "Žádost o připojení selhala nebo byla zrušena.";
-App::$strings["Contact information unavailable"] = "Kontakt byl zablokován";
-App::$strings["Profile Photos"] = "Profilové fotografie";
-App::$strings["Album not found."] = "Album nenalezeno.";
-App::$strings["Delete Album"] = "Smazat album";
-App::$strings["Delete Photo"] = "Smazat fotografii";
-App::$strings["was tagged in a"] = "štítek byl přidán v";
-App::$strings["photo"] = "fotografie";
-App::$strings["by"] = "od";
-App::$strings["Image exceeds size limit of "] = "Velikost obrázku překračuje limit velikosti";
-App::$strings["Image file is empty."] = "Soubor obrázku je prázdný.";
-App::$strings["Unable to process image."] = "Obrázek není možné zprocesovat";
-App::$strings["Image upload failed."] = "Nahrání obrázku selhalo.";
-App::$strings["Public access denied."] = "Veřejný přístup odepřen.";
-App::$strings["No photos selected"] = "Není vybrána žádná fotografie";
-App::$strings["Access to this item is restricted."] = "Přístup k této položce je omezen.";
-App::$strings["Upload Photos"] = "Nahrání fotografií ";
-App::$strings["New album name: "] = "Název nového alba:";
-App::$strings["or existing album name: "] = "nebo stávající název alba:";
-App::$strings["Permissions"] = "Oprávnění:";
-App::$strings["Edit Album"] = "Edituj album";
-App::$strings["View Photo"] = "Zobraz fotografii";
-App::$strings["Photo not available"] = "Fotografie není k dispozici";
-App::$strings["Edit photo"] = "Editovat fotografii";
-App::$strings["Use as profile photo"] = "Použít jako profilovou fotografii";
-App::$strings["Private Message"] = "Soukromá zpráva";
-App::$strings["View Full Size"] = "Zobrazit v plné velikosti";
-App::$strings["Tags: "] = "Štítky:";
-App::$strings["[Remove any tag]"] = "[Odstranit všechny štítky]";
-App::$strings["New album name"] = "Nové jméno alba";
-App::$strings["Caption"] = "Titulek";
-App::$strings["Add a Tag"] = "Přidat štítek";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Příklad: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-App::$strings["I like this (toggle)"] = "Líbí se mi to (přepínač)";
-App::$strings["I don't like this (toggle)"] = "Nelíbí se mi to (přepínač)";
-App::$strings["Share"] = "Sdílet";
-App::$strings["Please wait"] = "Čekejte prosím";
-App::$strings["This is you"] = "To je Vy";
-App::$strings["Comment"] = "Okomentovat";
-App::$strings["Delete"] = "Odstranit";
-App::$strings["Recent Photos"] = "Aktuální fotografie";
-App::$strings["Upload New Photos"] = "Nahrát nové fotografie";
-App::$strings["View Album"] = "Zobrazit album";
-App::$strings["Not available."] = "Není k dispozici.";
-App::$strings["Community"] = "Komunita";
-App::$strings["No results."] = "Žádné výsledky.";
-App::$strings["Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."] = "Sdílený obsah je v souladu s <a href=\"http://creativecommons.org/licenses/by/3.0/\">Commons Creative 3.0</a> licencí.";
-App::$strings["Item not found"] = "Položka nenalezena";
-App::$strings["Edit post"] = "Upravit příspěvek";
-App::$strings["Post to Email"] = "Poslat příspěvek na e-mail";
-App::$strings["Edit"] = "Upravit";
-App::$strings["Upload photo"] = "Nahrát fotografii";
-App::$strings["Attach file"] = "Přiložit soubor";
-App::$strings["Insert web link"] = "Vložit webový odkaz";
-App::$strings["Insert YouTube video"] = "Vložit YouTube video";
-App::$strings["Insert Vorbis [.ogg] video"] = "Vložit Vorbis [.ogg] video";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Vložit Vorbis [.ogg] audio";
-App::$strings["Set your location"] = "Nastavte vaši polohu";
-App::$strings["Clear browser location"] = "Odstranit adresu v prohlížeči";
-App::$strings["Permission settings"] = "Nastavení oprávnění";
-App::$strings["CC: email addresses"] = "skrytá kopie: e-mailové adresy";
-App::$strings["Public post"] = "Veřejný příspěvek";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Příklad: bob@example.com, mary@example.com";
-App::$strings["This introduction has already been accepted."] = "Toto pozvání již bylo přijato";
-App::$strings["Profile location is not valid or does not contain profile information."] = "Adresa profilu není platná nebo neobsahuje profilové informace";
-App::$strings["Warning: profile location has no identifiable owner name."] = "Varování: umístění profilu nemá žádné identifikovatelné jméno vlastníka";
-App::$strings["Warning: profile location has no profile photo."] = "Varování: umístění profilu nemá žádnou profilovou fotografii.";
-App::$strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d požadovaný parametr nebyl nalezen na daném místě",
- 1 => "%d požadované parametry nebyly nalezeny na daném místě",
- 2 => "%d požadované parametry nebyly nalezeny na daném místě",
-);
-App::$strings["Introduction complete."] = "Představení dokončeno.";
-App::$strings["Unrecoverable protocol error."] = "Neopravitelná chyba protokolu";
-App::$strings["Profile unavailable."] = "Profil není k dispozici.";
-App::$strings["%s has received too many connection requests today."] = "%s dnes obdržel příliš mnoho požadavků na připojení.";
-App::$strings["Spam protection measures have been invoked."] = "Ochrana proti spamu byla aktivována";
-App::$strings["Friends are advised to please try again in 24 hours."] = "Přátelům se doporučuje to zkusit znovu za 24 hodin.";
-App::$strings["Invalid locator"] = "Neplatný odkaz";
-App::$strings["Unable to resolve your name at the provided location."] = "Nepodařilo se zjistit Vaše jméno na zadané adrese.";
-App::$strings["You have already introduced yourself here."] = "Již jste se zde zavedli.";
-App::$strings["Apparently you are already friends with %s."] = "Zřejmě jste již přátelé se %s.";
-App::$strings["Invalid profile URL."] = "Neplatné URL profilu.";
-App::$strings["Disallowed profile URL."] = "Nepovolené URL profilu.";
-App::$strings["Failed to update contact record."] = "Nepodařilo se aktualizovat kontakt.";
-App::$strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána.";
-App::$strings["Please login to confirm introduction."] = "Prosím přihlašte se k potvrzení žádosti o propojení.";
-App::$strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do <strong>tohoto</strong> profilu.";
-App::$strings["Welcome home %s."] = "Vítejte doma %s.";
-App::$strings["Please confirm your introduction/connection request to %s."] = "Prosím potvrďte Vaši žádost o představení/spojení %s.";
-App::$strings["Confirm"] = "Potvrdit";
-App::$strings["[Name Withheld]"] = "[Jméno odepřeno]";
-App::$strings["Introduction received at "] = "Pozvánka přijata v";
-App::$strings["Administrator"] = "Administrátor";
-App::$strings["Friend/Connection Request"] = "Požadavek o přátelství / propojení";
-App::$strings["Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"] = "Příklady: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca";
-App::$strings["Please answer the following:"] = "Odpovězte, prosím, následující:";
-App::$strings["Does %s know you?"] = "Zná Vás uživatel %s ?";
-App::$strings["Yes"] = "Ano";
-App::$strings["No"] = "Ne";
-App::$strings["Add a personal note:"] = "Přidat osobní poznámku:";
-App::$strings["Please enter your 'Identity Address' from one of the following supported social networks:"] = "Prosím, zadejte adresu své 'identity' jedné z následujících podporovaných sociálních sítí:";
-App::$strings["Friendika"] = "Friendika";
-App::$strings["StatusNet/Federated Social Web"] = "StatusNet / Federativní Sociální Web";
-App::$strings["Private (secure) network"] = "Soukromá (zabezpečená) síť";
-App::$strings["Public (insecure) network"] = "Veřejná (nezabezpečená) síť";
-App::$strings["Your Identity Address:"] = "Adresa Vaší identity :";
-App::$strings["Submit Request"] = "Odeslat žádost";
-App::$strings["Could not create/connect to database."] = "Nelze vytvořit / připojit se k databázi.";
-App::$strings["Connected to database."] = "Připojeno k databázi.";
-App::$strings["Proceed with Installation"] = "Pokračovat v instalaci";
-App::$strings["Your Friendika site database has been installed."] = "Vaše databáze Friendiky byla nainstalována.";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "Důležité: Budete si muset [ručně] plánovat úlohu pro poller.";
-App::$strings["Please see the file \"INSTALL.txt\"."] = "Přečtěte si prosím informace v souboru \"INSTALL.txt\".";
-App::$strings["Proceed to registration"] = "Pokračovat k registraci";
-App::$strings["Database import failed."] = "Import databáze se nezdařil.";
-App::$strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Možná budete muset importovat soubor \"database.sql\" ručně pomocí phpMyAdmin či MySQL.";
-App::$strings["Welcome to Friendika."] = "Vítejte na Friendice.";
-App::$strings["Friendika Social Network"] = "Sociální síť Friendika ";
-App::$strings["Installation"] = "Instalace";
-App::$strings["In order to install Friendika we need to know how to connect to your database."] = "Pro instalaci Friendika musíme vědět, jak se připojit k databázi.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Obraťte se na svého poskytovatele hostingu nebo administrátora serveru , pokud máte dotazy týkající se těchto nastavení.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databázi, kterou uvedete níže by již měla existovat. Pokud tak není, prosíme, vytvořte ji před pokračováním.";
-App::$strings["Database Server Name"] = "Jméno databázového serveru";
-App::$strings["Database Login Name"] = "Přihlašovací jméno k databázi";
-App::$strings["Database Login Password"] = "Heslo k databázovému účtu ";
-App::$strings["Database Name"] = "Jméno databáze";
-App::$strings["Please select a default timezone for your website"] = "Prosím, vyberte výchozí časové pásmo pro vaše webové stránky";
-App::$strings["Site administrator email address. Your account email address must match this in order to use the web admin panel."] = "e-mailová adresa administrárota webu. E-mailová adresa vašeho účtu se musí shodovat, aby bylo možné využívat panel webové administrace.";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru.";
-App::$strings["This is required. Please adjust the configuration file .htconfig.php accordingly."] = "Tento krok je nutný. Upravte příslušným způsobem konfigurační soubor .htconfig.php.";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Verze PHP pro příkazový řádek na vašem systému nemá povolen \"register_argc_argv\".";
-App::$strings["This is required for message delivery to work."] = "Toto je nutné pro fungování doručování zpráv.";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Chyba: funkce \"openssl_pkey_new\" na tomto systému není schopna generovat šifrovací klíče";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Pokud systém běží na Windows, seznamte se s \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Chyba: Požadovaný Apache webserver mod-rewrite modul není nainstalován.";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Chyba: požadovaný libcurl PHP modul není nainstalován.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Chyba: požadovaný GD graphics PHP modul není nainstalován.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Chyba: požadovaný openssl PHP modul není nainstalován.";
-App::$strings["Error: mysqli PHP module required but not installed."] = "Chyba: požadovaný mysqli PHP modul není nainstalován.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Chyba: PHP modul mb_string je vyžadován, ale není nainstalován.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Webový instalátor musí být schopen vytvořit soubor s názvem \".htconfig.php\" v hlavním adresáři vašeho webového serveru ale nyní mu to není umožněno.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Toto je nejčastěji nastavením oprávnění, kdy webový server nemusí být schopen zapisovat soubory do vašeho adresáře - i když Vy můžete.";
-App::$strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "Prosím, poraďte se s dokumentací k Vašemu hostingu nebo s technickou podporou, zda-li lze tuto situaci napravit.";
-App::$strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Pokud ne, může být vyžadováno provedení ruční instalace. Prosím, seznamte se s návodem popsaným v souboru \"INSTALL.txt\".";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Databázový konfigurační soubor \".htconfig.php\" nemohl být uložen. Prosím, použijte přiložený text k vytvoření konfiguračního souboru ve vašem kořenovém adresáři webového serveru.";
-App::$strings["Errors encountered creating database tables."] = "Při vytváření databázových tabulek došlo k chybám.";
-App::$strings["[Embedded content - reload page to view]"] = "[Vložený obsah - obnovení stránky pro zobrazení]";
-App::$strings["Profile Match"] = "Shoda profilu";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Žádná klíčová slova k porovnání. Prosím, přidejte klíčová slova do Vašeho výchozího profilu.";
-App::$strings["No matches"] = "Žádné shody";
-App::$strings["Remote privacy information not available."] = "Vzdálené soukromé informace nejsou k dispozici.";
-App::$strings["Visible to:"] = "Viditelné pro:";
-App::$strings["Welcome to %s"] = "Vítá Vás %s";
-App::$strings["Invalid request identifier."] = "Neplatný identifikátor požadavku.";
-App::$strings["Discard"] = "Odstranit";
-App::$strings["Ignore"] = "Ignorovat";
-App::$strings["Pending Friend/Connect Notifications"] = "Čekající požadavky na Přátelství / Připojení ";
-App::$strings["Show Ignored Requests"] = "Zobrazit ignorované žádosti";
-App::$strings["Hide Ignored Requests"] = "Skrýt ignorované žádosti";
-App::$strings["Notification type: "] = "Typ oznámení:";
-App::$strings["Friend Suggestion"] = "Návrh přátelství";
-App::$strings["suggested by %s"] = "navrhl %s";
-App::$strings["Approve"] = "Schválit";
-App::$strings["Claims to be known to you: "] = "Vaši údajní známí:";
-App::$strings["yes"] = "ano";
-App::$strings["no"] = "ne";
-App::$strings["Approve as: "] = "Schválit jako:";
-App::$strings["Friend"] = "Přítel";
-App::$strings["Fan/Admirer"] = "Fanoušek / obdivovatel";
-App::$strings["Friend/Connect Request"] = "Přítel / žádost o připojení";
-App::$strings["New Follower"] = "Nový následovník";
-App::$strings["No notifications."] = "Žádné oznámení.";
-App::$strings["Invite Friends"] = "Pozvat přátele";
-App::$strings["%d invitation available"] = array(
- 0 => "Pozvánka %d k dispozici",
- 1 => "Pozvánky %d k dispozici",
- 2 => "Pozvánky %d k dispozici",
-);
-App::$strings["Find People With Shared Interests"] = "Najít lidi se společnými zájmy";
-App::$strings["Connect/Follow"] = "Připojit / Následovat";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Příklad: jan@příklad.cz, http://příklad.cz/jana";
-App::$strings["Follow"] = "Následovat";
-App::$strings["Could not access contact record."] = "Nelze získat přístup k záznamu kontaktu.";
-App::$strings["Could not locate selected profile."] = "Nelze nalézt vybraný profil.";
-App::$strings["Contact updated."] = "Kontakt aktualizován.";
-App::$strings["Contact has been blocked"] = "Kontakt byl zablokován";
-App::$strings["Contact has been unblocked"] = "Kontakt byl odblokován";
-App::$strings["Contact has been ignored"] = "Kontakt bude ignorován";
-App::$strings["Contact has been unignored"] = "Kontakt přestal být ignorován";
-App::$strings["stopped following"] = "následování zastaveno";
-App::$strings["Contact has been removed."] = "Kontakt byl odstraněn.";
-App::$strings["Mutual Friendship"] = "Vzájemné přátelství";
-App::$strings["is a fan of yours"] = "je Váš fanoušek";
-App::$strings["you are a fan of"] = "jste fanouškem";
-App::$strings["Privacy Unavailable"] = "Ochrana soukromí není k dispozici";
-App::$strings["Private communications are not available for this contact."] = "Soukromá komunikace není dostupná pro tento kontakt.";
-App::$strings["Never"] = "Nikdy";
-App::$strings["(Update was successful)"] = "(Aktualizace byla úspěšná)";
-App::$strings["(Update was not successful)"] = "(Aktualizace nebyla úspěšná)";
-App::$strings["Suggest friends"] = "Navrhněte přátelé";
-App::$strings["Contact Editor"] = "Editor kontaktu";
-App::$strings["Profile Visibility"] = "Viditelnost profilu";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Vyberte prosím profil, který chcete zobrazit %s při zabezpečeném prohlížení vašeho profilu.";
-App::$strings["Contact Information / Notes"] = "Kontaktní informace / poznámky";
-App::$strings["Online Reputation"] = "Online pověst";
-App::$strings["Occasionally your friends may wish to inquire about this person's online legitimacy."] = "Občas mohou vaši přátelé chtít informovat o online legitimitě této osoby.";
-App::$strings["You may help them choose whether or not to interact with this person by providing a <em>reputation</em> to guide them."] = "Poskytnutím <em>pověsti</em> jim můžete pomoci se rozhodnout, zda-li s touto osobou komunikovat či nikoliv.";
-App::$strings["Please take a moment to elaborate on this selection if you feel it could be helpful to others."] = "Věnujte prosím chvilku vyplnění této volby, pokud máte pocit, že by mohlo být užitečné pro ostatní.";
-App::$strings["Visit %s's profile [%s]"] = "Navštivte profil uživatele %s [%s]";
-App::$strings["Block/Unblock contact"] = "Blokovat / Odblokovat kontakt";
-App::$strings["Ignore contact"] = "Ignorovat kontakt";
-App::$strings["Repair contact URL settings"] = "Opravit nastavení URL kontaktu";
-App::$strings["Repair contact URL settings (WARNING: Advanced)"] = "Opravit nastavení URL kontaktu (Varování: Pokročilé)";
-App::$strings["View conversations"] = "Zobrazit konverzace";
-App::$strings["Delete contact"] = "Odstranit kontakt";
-App::$strings["Last updated: "] = "Poslední aktualizace:";
-App::$strings["Update public posts: "] = "Aktualizace veřejných příspěvků:";
-App::$strings["Update now"] = "Aktualizovat";
-App::$strings["Unblock this contact"] = "Odblokovat tento kontakt";
-App::$strings["Block this contact"] = "Blokovat tento kontakt";
-App::$strings["Unignore this contact"] = "Přestat ignorovat tento kontakt";
-App::$strings["Ignore this contact"] = "Ignorovat tento kontakt";
-App::$strings["Currently blocked"] = "V současnosti zablokováno";
-App::$strings["Currently ignored"] = "V současnosti ignorováno";
-App::$strings["Contacts"] = "Kontakty";
-App::$strings["Show Blocked Connections"] = "Zobrazit blokované spojení";
-App::$strings["Hide Blocked Connections"] = "Skrýt blokované spojení";
-App::$strings["Finding: "] = "Zjištění: ";
-App::$strings["Find"] = "Najít";
-App::$strings["Edit contact"] = "Editovat kontakt";
-App::$strings["No valid account found."] = "Nenalezen žádný platný účet.";
-App::$strings["Password reset request issued. Check your email."] = "Žádost o obnovení hesla vyřízena. Zkontrolujte Vaši e-mailovou schránku.";
-App::$strings["Password reset requested at %s"] = "Na %s bylo zažádáno o resetování hesla";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Žádost nemohla být ověřena. (Možná jste ji odeslali již dříve.) Obnovení hesla se nezdařilo.";
-App::$strings["Password Reset"] = "Obnovení hesla";
-App::$strings["Your password has been reset as requested."] = "Vaše heslo bylo na Vaše přání resetováno.";
-App::$strings["Your new password is"] = "Vaše nové heslo je";
-App::$strings["Save or copy your new password - and then"] = "Uložte si nebo zkopírujte nové heslo - a pak";
-App::$strings["click here to login"] = "klikněte zde pro přihlášení";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Vaše heslo může být změněno na stránce <em>nastavení</em> po úspěšném přihlášení.";
-App::$strings["Forgot your Password?"] = "Zapomněli jste heslo?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Zadejte svůj e-mailovou adresu a odešlete žádost o zaslání Vašeho nového hesla. Poté zkontrolujte svůj e-mail pro další instrukce.";
-App::$strings["Nickname or Email: "] = "Přezdívka nebo e-mail:";
-App::$strings["Reset"] = "Reset";
-App::$strings["Passwords do not match. Password unchanged."] = "Hesla se neshodují. Heslo nebylo změněno.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Prázdné hesla nejsou povolena. Heslo nebylo změněno.";
-App::$strings["Password changed."] = "Heslo bylo změněno.";
-App::$strings["Password update failed. Please try again."] = "Aktualizace hesla se nezdařila. Zkuste to prosím znovu.";
-App::$strings["Failed to connect with email account using the settings provided."] = "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení.";
-App::$strings[" Please use a shorter name."] = "Prosím použijte kratší jméno.";
-App::$strings[" Name too short."] = "Jméno je příliš krátké.";
-App::$strings[" Not valid email."] = "Neplatný e-mail.";
-App::$strings[" Cannot change to that email."] = "Nelze provést změnu na tento e-mail.";
-App::$strings["Settings updated."] = "Nastavení aktualizováno.";
-App::$strings["Account settings"] = "Nastavení účtu";
-App::$strings["Plugin settings"] = "Nastavení pluginu";
-App::$strings["No Plugin settings configured"] = "Žádný doplněk není nastaven";
-App::$strings["Plugin Settings"] = "Nastavení doplňku";
-App::$strings["Normal Account"] = "Normální účet";
-App::$strings["This account is a normal personal profile"] = "Tento účet je běžný osobní profil";
-App::$strings["Soapbox Account"] = "Soapbox účet";
-App::$strings["Automatically approve all connection/friend requests as read-only fans"] = "Automaticky schválit všechna spojení / přátelství jako fanoušky s právem pouze ke čtení";
-App::$strings["Community/Celebrity Account"] = "Komunitní účet / Účet celebrity";
-App::$strings["Automatically approve all connection/friend requests as read-write fans"] = "Automaticky schvalovat všechny žádosti o spojení / přátelství, jako fanoušky s právem ke čtení.";
-App::$strings["Automatic Friend Account"] = "Účet s automatickým schvalováním přátel";
-App::$strings["Automatically approve all connection/friend requests as friends"] = "Automaticky schvalovat všechny žádosti o spojení / přátelství jako přátele";
-App::$strings["OpenID:"] = "OpenID:";
-App::$strings["(Optional) Allow this OpenID to login to this account."] = "(Volitelné) Povolit OpenID pro přihlášení k tomuto účtu.";
-App::$strings["Publish your default profile in your local site directory?"] = "Publikovat Váš výchozí profil v místním adresáři webu?";
-App::$strings["Publish your default profile in the global social directory?"] = "Publikovat Váš výchozí profil v globální sociálním adresáři?";
-App::$strings["Hide your contact/friend list from viewers of your default profile?"] = "Skrýt Vaše kontaktní údaje a seznam přátel před návštěvníky ve Vašem výchozím profilu?";
-App::$strings["Hide profile details and all your messages from unknown viewers?"] = "Skrýt detaily profilu a všechny zprávy před neznámými uživateli?";
-App::$strings["Profile is <strong>not published</strong>."] = "Profil <strong>není zveřejněn</strong>.";
-App::$strings["or"] = "nebo";
-App::$strings["Your Identity Address is"] = "Vaše adresa identity je";
-App::$strings["Account Settings"] = "Nastavení účtu";
-App::$strings["Export Personal Data"] = "Export osobních údajů";
-App::$strings["Password Settings"] = "Nastavení hesla";
-App::$strings["New Password:"] = "Nové heslo:";
-App::$strings["Confirm:"] = "Potvrďte:";
-App::$strings["Leave password fields blank unless changing"] = "Pokud nechcete změnit heslo, položku hesla nevyplňujte";
-App::$strings["Basic Settings"] = "Základní nastavení";
-App::$strings["Full Name:"] = "Celé jméno:";
-App::$strings["Email Address:"] = "E-mailová adresa:";
-App::$strings["Your Timezone:"] = "Vaše časové pásmo:";
-App::$strings["Default Post Location:"] = "Výchozí umístění příspěvků:";
-App::$strings["Use Browser Location:"] = "Používat umístění dle prohlížeče:";
-App::$strings["Display Theme:"] = "Vybrat grafickou šablonu:";
-App::$strings["Security and Privacy Settings"] = "Nastavení zabezpečení a soukromí";
-App::$strings["Maximum Friend Requests/Day:"] = "Maximální počet žádostí o přátelství za den:";
-App::$strings["(to prevent spam abuse)"] = "(Aby se zabránilo spamu)";
-App::$strings["Default Post Permissions"] = "Výchozí oprávnění pro příspěvek";
-App::$strings["(click to open/close)"] = "(Klikněte pro otevření/zavření)";
-App::$strings["Allow friends to post to your profile page:"] = "Povolit přátelům příspěvky na Vaši profilovou stránku:";
-App::$strings["Automatically expire posts after days:"] = "Po kolika dnech automaticky expirovat příspěvky:";
-App::$strings["If empty, posts will not expire. Expired posts will be deleted"] = "Pokud je prázdné, příspěvky nebudou nikdy expirovat. Expirované příspěvky budou vymazány";
-App::$strings["Notification Settings"] = "Nastavení notifikací";
-App::$strings["Send a notification email when:"] = "Poslat notifikaci e-mailem, když";
-App::$strings["You receive an introduction"] = "obdržíte žádost o propojení";
-App::$strings["Your introductions are confirmed"] = "Vaše žádosti jsou potvrzeny";
-App::$strings["Someone writes on your profile wall"] = "někdo Vám napíše na Vaši profilovou stránku";
-App::$strings["Someone writes a followup comment"] = "někdo Vám napíše následný komentář";
-App::$strings["You receive a private message"] = "obdržíte soukromou zprávu";
-App::$strings["Email/Mailbox Setup"] = "Nastavení e-mailu";
-App::$strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Pokud chcete komunikovat pomocí této služby s Vašimi kontakty z e-mailu (volitelné), uveďte, jak se připojit k Vaší e-mailové schránce.";
-App::$strings["Last successful email check:"] = "Poslední úspěšná kontrola e-mailu:";
-App::$strings["Email access is disabled on this site."] = "Přístup k elektronické poště je na tomto serveru zakázán.";
-App::$strings["IMAP server name:"] = "jméno IMAP serveru:";
-App::$strings["IMAP port:"] = "IMAP port:";
-App::$strings["Security:"] = "Zabezpečení:";
-App::$strings["None"] = "Žádný";
-App::$strings["Email login name:"] = "přihlašovací jméno k e-mailu:";
-App::$strings["Email password:"] = "heslo k Vašemu e-mailu:";
-App::$strings["Reply-to address:"] = "Odpovědět na adresu:";
-App::$strings["Send public posts to all email contacts:"] = "Poslat veřejné příspěvky na všechny e-mailové kontakty:";
-App::$strings["Advanced Page Settings"] = "Pokročilé nastavení stránky";
-App::$strings["Welcome back %s"] = "Vítejte zpět %s";
-App::$strings["Manage Identities and/or Pages"] = "Správa identit a / nebo stránek";
-App::$strings["(Toggle between different identities or community/group pages which share your account details.)"] = "(Přepínání mezi různými identitami nebo komunitními / skupinovými stránkami, které sdílejí Vaše detaily účtu.)";
-App::$strings["Select an identity to manage: "] = "Vyberte identitu pro správu:";
-App::$strings["View Conversations"] = "Zobrazit konverzace";
-App::$strings["View New Items"] = "Zobrazit nové položky";
-App::$strings["View Any Items"] = "Zobrazit všechny položky";
-App::$strings["View Starred Items"] = "Zobrazit položky označené hvězdu";
-App::$strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Upozornění: Tato skupina obsahuje %s člena z nezabezpečené sítě.",
- 1 => "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě.",
- 2 => "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě.",
-);
-App::$strings["Private messages to this group are at risk of public disclosure."] = "Soukromé zprávy této skupině jsou vystaveny riziku prozrazení.";
-App::$strings["No such group"] = "Žádná taková skupina";
-App::$strings["Group is empty"] = "Skupina je prázdná";
-App::$strings["Group: "] = "Skupina:";
-App::$strings["Contact: "] = "Kontakt:";
-App::$strings["Private messages to this person are at risk of public disclosure."] = "Soukromé zprávy této osobě jsou vystaveny riziku prozrazení.";
-App::$strings["Invalid contact."] = "Neplatný kontakt.";
-App::$strings["Save"] = "Uložit";
-App::$strings["Welcome to Friendika"] = "Vítejte na Friendika";
-App::$strings["New Member Checklist"] = "Seznam doporučení pro nového člena";
-App::$strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page."] = "Dovolujeme si Vám nabídnout některé tipy a odkazy, abychom Vám zpříjemnili práci se systémem Friendika. Kliknutím na libovolnou položku navštívit příslušnou stránku.";
-App::$strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This will be useful in making friends."] = "Na stránce <em>Nastavení</em> - změnit výchozí heslo. Poznamenejte si také adresu své identity. To může být užitečné při navazování přátelství.";
-App::$strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Prohlédněte si další nastavení, a to zejména nastavení soukromí. Nezveřejnění svého účtu v adresáři je jako mít nezveřejněné telefonní číslo. Obecně platí, že je lepší mít svůj účet zveřejněný, leda by všichni vaši potenciální přátelé věděli, jak vás přesně najít.";
-App::$strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Nahrajte si svou profilovou fotku, pokud jste tak již neučinili. Studie ukázaly, že lidé se skutečnými fotografiemi mají desetkrát častěji přátele než lidé, kteří nemají.";
-App::$strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Jestliže máte účet na Facebooku, povolte konektor na Facebook a bude možné (na přání) importovat všechny Vaš přátele na Facebooku a všechny Vaše konverzace.";
-App::$strings["Enter your email access information on your Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "na stránce Nastavení zadejte informace pro přístup k Vaší e-mailové stránce, pokud si přejete importovat a komunikovat s přáteli nebo distribučními skupinami z Vaší e-mailové schránky";
-App::$strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Upravit <strong>výchozí</strong> profil podle vašich představ. Prověřte nastavení pro skrytí Vašeho seznamu přátel a skrytí profilu před neznámými návštěvníky.";
-App::$strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Nastavte si nějaká veřejné klíčová slova pro výchozí profil, která popisují vaše zájmy. Friendika Vám může nalézt další lidi s podobnými zájmy a navrhnout přátelství.";
-App::$strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Connect</em> dialog."] = "Stránka Kontakty je Vaším odrazovým můstkem k řízení přátelství a spojení s kamarády v jiných sítích. Obvykle zadáte jejich adresu nebo adresu URL do dialogu <em>Připojit</em>.";
-App::$strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Stránka Adresář Vám pomůže najít další lidi na tomto serveru nebo v jiných propojených serverech. Prostřednictvím odkazů <em>Připojení</em> nebo <em>Následovat</em> si prohlédněte jejich profilovou stránku. Uveďte svou vlastní adresu identity, je-li požadována.";
-App::$strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Jakmile získáte nějaké přátele, uspořádejte si je do soukromých konverzačních skupin na postranním panelu vaší stránky Kontakty a pak můžete komunikovat s každou touto skupinu soukromě prostřednictvím stránky Síť.";
-App::$strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Na stránkách <strong>Nápověda</strong> naleznete nejen další podrobnosti o všech funkcích Friendika ale také další zdroje informací.";
-App::$strings["Item not available."] = "Položka není k dispozici.";
-App::$strings["Item was not found."] = "Položka nebyla nalezena.";
-App::$strings["Group created."] = "Skupina vytvořena.";
-App::$strings["Could not create group."] = "Nelze vytvořit skupinu.";
-App::$strings["Group not found."] = "Skupina nenalezena.";
-App::$strings["Group name changed."] = "Název skupiny byl změněn.";
-App::$strings["Permission denied"] = "Nedostatečné oprávnění";
-App::$strings["Create a group of contacts/friends."] = "Vytvořit skupinu kontaktů / přátel.";
-App::$strings["Group Name: "] = "Název skupiny:";
-App::$strings["Group removed."] = "Skupina odstraněna. ";
-App::$strings["Unable to remove group."] = "Nelze odstranit skupinu.";
-App::$strings["Click on a contact to add or remove."] = "Klikněte na kontakt pro přidání nebo odebrání";
-App::$strings["Group Editor"] = "Editor skupin";
-App::$strings["Members"] = "Členové";
-App::$strings["All Contacts"] = "Všechny kontakty";
-App::$strings["Invalid profile identifier."] = "Neplatný identifikátor profilu.";
-App::$strings["Profile Visibility Editor"] = "Editor viditelnosti profilu ";
-App::$strings["Visible To"] = "Viditelný pro";
-App::$strings["All Contacts (with secure profile access)"] = "Všechny kontakty (se zabezpečeným přístupovým profilem )";
-App::$strings["View Contacts"] = "Zobrazit kontakty";
-App::$strings["No contacts."] = "Žádné kontakty.";
-App::$strings["An invitation is required."] = "Pozvánka je vyžadována.";
-App::$strings["Invitation could not be verified."] = "Pozvánka nemohla být ověřena.";
-App::$strings["Invalid OpenID url"] = "Neplatný odkaz OpenID";
-App::$strings["Please enter the required information."] = "Zadejte prosím požadované informace.";
-App::$strings["Please use a shorter name."] = "Použijte prosím kratší jméno.";
-App::$strings["Name too short."] = "Jméno je příliš krátké.";
-App::$strings["That doesn't appear to be your full (First Last) name."] = "Nezdá se, že by to bylo vaše celé jméno (křestní jméno a příjmení).";
-App::$strings["Your email domain is not among those allowed on this site."] = "Váš e-mailová doména není na tomto serveru mezi povolenými.";
-App::$strings["Not a valid email address."] = "Neplatná e-mailová adresa.";
-App::$strings["Cannot use that email."] = "Tento e-mail nelze použít.";
-App::$strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Vaše \"přezdívka\" může obsahovat pouze \"a-z\", \"0-9\", \"-\", a \"_\", a musí začínat písmenem.";
-App::$strings["Nickname is already registered. Please choose another."] = "Přezdívka je již registrována. Prosím vyberte jinou.";
-App::$strings["SERIOUS ERROR: Generation of security keys failed."] = "Závažná chyba: Generování bezpečnostních klíčů se nezdařilo.";
-App::$strings["An error occurred during registration. Please try again."] = "Došlo k chybě při registraci. Zkuste to prosím znovu.";
-App::$strings["An error occurred creating your default profile. Please try again."] = "Došlo k chybě při vytváření Vašeho výchozího profilu. Zkuste to prosím znovu.";
-App::$strings["Registration details for %s"] = "Registrační údaje pro %s";
-App::$strings["Registration successful. Please check your email for further instructions."] = "Registrace úspěšná. Zkontrolujte prosím svůj e-mail pro další instrukce.";
-App::$strings["Failed to send email message. Here is the message that failed."] = "Nepodařilo se odeslat zprávu na e-mail. Zde je zpráva, která nebyla odeslána.";
-App::$strings["Your registration can not be processed."] = "Vaši registraci nelze zpracovat.";
-App::$strings["Registration request at %s"] = "Žádost o registraci na %s";
-App::$strings["Your registration is pending approval by the site owner."] = "Vaše registrace čeká na schválení vlastníkem serveru.";
-App::$strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Tento formulář můžete (volitelně) vyplnit s pomocí OpenID tím, že vyplníte své OpenID a kliknutete na tlačítko 'Zaregistrovat'.";
-App::$strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Pokud nepoužíváte OpenID, nechte prosím toto pole prázdné a vyplňte zbylé položky.";
-App::$strings["Your OpenID (optional): "] = "Vaše OpenID (nepovinné):";
-App::$strings["Include your profile in member directory?"] = "Uvést Váš profil v adresáři členů?";
-App::$strings["Membership on this site is by invitation only."] = "Členství na tomto webu je pouze na pozvání.";
-App::$strings["Your invitation ID: "] = "Vaše pozvání ID:";
-App::$strings["Registration"] = "Registrace";
-App::$strings["Your Full Name (e.g. Joe Smith): "] = "Vaše celé jméno (např. Jan Novák):";
-App::$strings["Your Email Address: "] = "Vaše e-mailová adresa:";
-App::$strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Vyberte přezdívku k profilu. Ta musí začít s textovým znakem. Vaše profilová adresa na tomto webu pak bude \"<strong>přezdívka@\$sitename</strong>\".";
-App::$strings["Choose a nickname: "] = "Vyberte přezdívku:";
-App::$strings["Register"] = "Registrovat";
-App::$strings["status"] = "Stav";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s má rád %2\$s' na %3\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s nemá rád %2\$s na %3\$s";
-App::$strings["This is Friendika version"] = "Toto je Friendika verze";
-App::$strings["running at web location"] = "běžící na webu";
-App::$strings["Shared content within the Friendika network is provided under the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>"] = "Sdílený obsah v síti Friendika je poskytována pod <a href=\"http://creativecommons.org/licenses/by/3.0/cz/\">licencí Creative Commons Attribution 3.0</a>";
-App::$strings["Please visit <a href=\"http://project.friendika.com\">Project.Friendika.com</a> to learn more about the Friendika project."] = "Pokud se chcete dozvědět více o projektu Friendika, navštivte, prosím, <a href=\"http://project.friendika.com\">Project.Friendika.com</a>";
-App::$strings["Bug reports and issues: please visit"] = "Pro hlášení chyb a námětů na změny navštivte:";
-App::$strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - dot com"] = "Návrhy, chválu, dary, atd. - prosím pošlete na e-mail \"Info\" na Friendika tečka com";
-App::$strings["Installed plugins/addons/apps"] = "Nainstalované doplňky/aplikace";
-App::$strings["No installed plugins/addons/apps"] = "Nejsou žádné nainstalované doplňky/aplikace";
-App::$strings["Account approved."] = "Účet schválen.";
-App::$strings["Registration revoked for %s"] = "Registrace zrušena pro %s";
-App::$strings["Please login."] = "Přihlaste se, prosím.";
-App::$strings["Unable to locate original post."] = "Nelze nalézt původní příspěvek.";
-App::$strings["Empty post discarded."] = "Prázdný příspěvek odstraněn.";
-App::$strings["Wall Photos"] = "Fotografie na zdi";
-App::$strings["noreply"] = "bez odpovědi";
-App::$strings["Administrator@"] = "Administrator@";
-App::$strings["%s commented on an item at %s"] = "%s okomentoval položku v %s";
-App::$strings["%s posted to your profile wall at %s"] = "%s přidal příspěvek na vaší profilovou zeď v %s";
-App::$strings["System error. Post not saved."] = "Chyba systému. Příspěvek nebyl uložen.";
-App::$strings["This message was sent to you by %s, a member of the Friendika social network."] = "Tuto zprávu Vám zaslal %s, člen sociální sítě Friendika.";
-App::$strings["You may visit them online at %s"] = "Můžete je navštívit online na adrese %s";
-App::$strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Pokud nechcete dostávat tyto zprávy, kontaktujte prosím odesilatele odpovědí na tento záznam.";
-App::$strings["%s posted an update."] = "%s poslal aktualizaci.";
-App::$strings["Image uploaded but image cropping failed."] = "Obrázek byl odeslán, ale jeho oříznutí se nesdařilo.";
-App::$strings["Image size reduction [%s] failed."] = "Nepodařilo se snížit velikost obrázku [%s].";
-App::$strings["Unable to process image"] = "Obrázek nelze zpracovat ";
-App::$strings["Image exceeds size limit of %d"] = "Obrázek překročil limit velikosti %d";
-App::$strings["Upload File:"] = "Nahrát soubor:";
-App::$strings["Upload Profile Photo"] = "Nahrát profilovou fotografii";
-App::$strings["Upload"] = "Nahrát";
-App::$strings["skip this step"] = "přeskočit tento krok ";
-App::$strings["select a photo from your photo albums"] = "Vybrat fotografii z Vašich fotoalb";
-App::$strings["Crop Image"] = "Oříznout obrázek";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Prosím, ořízněte tento obrázek pro optimální zobrazení.";
-App::$strings["Done Editing"] = "Editace dokončena";
-App::$strings["Image uploaded successfully."] = "Obrázek byl úspěšně nahrán.";
-App::$strings["No profile"] = "Žádný profil";
-App::$strings["Remove My Account"] = "Odstranit můj účet";
-App::$strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Tímto bude kompletně odstraněn váš účet. Jakmile bude účet odstraněn, nebude už možné ho obnovit.";
-App::$strings["Please enter your password for verification:"] = "Prosím, zadejte své heslo pro ověření:";
-App::$strings["No recipient selected."] = "Nevybrán příjemce.";
-App::$strings["[no subject]"] = "[bez předmětu]";
-App::$strings["Unable to locate contact information."] = "Nepodařilo se najít kontaktní informace.";
-App::$strings["Message sent."] = "Zpráva odeslána.";
-App::$strings["Message could not be sent."] = "Zprávu se nepodařilo odeslat.";
-App::$strings["Messages"] = "Zprávy";
-App::$strings["Inbox"] = "Doručená pošta";
-App::$strings["Outbox"] = "Odeslaná pošta";
-App::$strings["New Message"] = "Nová zpráva";
-App::$strings["Message deleted."] = "Zpráva odstraněna.";
-App::$strings["Conversation removed."] = "Konverzace odstraněna.";
-App::$strings["Please enter a link URL:"] = "Zadejte prosím URL odkaz:";
-App::$strings["Send Private Message"] = "Odeslat soukromou zprávu";
-App::$strings["To:"] = "Adresát:";
-App::$strings["Subject:"] = "Předmět:";
-App::$strings["Your message:"] = "Vaše zpráva:";
-App::$strings["No messages."] = "Žádné zprávy.";
-App::$strings["Delete conversation"] = "Odstranit konverzaci";
-App::$strings["D, d M Y - g:i A"] = "D M R - g:i A";
-App::$strings["Message not available."] = "Zpráva není k dispozici.";
-App::$strings["Delete message"] = "Smazat zprávu";
-App::$strings["Send Reply"] = "Poslat odpověď";
-App::$strings["Site"] = "Web";
-App::$strings["Users"] = "Uživatelé";
-App::$strings["Plugins"] = "Pluginy";
-App::$strings["Update"] = "Aktualizace";
-App::$strings["Logs"] = "Logy";
-App::$strings["User registrations waiting for confirmation"] = "Registrace uživatele čeká na potvrzení";
-App::$strings["Item not found."] = "Položka nenalezena.";
-App::$strings["Administration"] = "Administrace";
-App::$strings["Summary"] = "Shrnutí";
-App::$strings["Registered users"] = "Registrovaní uživatelé";
-App::$strings["Pending registrations"] = "Čekající registrace";
-App::$strings["Version"] = "Verze";
-App::$strings["Active plugins"] = "Aktivní pluginy";
-App::$strings["Site settings updated."] = "Nastavení webu aktualizováno.";
-App::$strings["Closed"] = "Uzavřít";
-App::$strings["Requires approval"] = "Vyžaduje schválení";
-App::$strings["Open"] = "Otevřená";
-App::$strings["File upload"] = "Nahrání souborů";
-App::$strings["Policies"] = "Politiky";
-App::$strings["Advanced"] = "Pokročilé";
-App::$strings["Site name"] = "Název webu";
-App::$strings["Banner/Logo"] = "Banner/logo";
-App::$strings["System language"] = "Systémový jazyk";
-App::$strings["System theme"] = "Grafická šablona systému ";
-App::$strings["Maximum image size"] = "Maximální velikost obrazu";
-App::$strings["Register policy"] = "Politika registrace";
-App::$strings["Register text"] = "Registrace textu";
-App::$strings["Allowed friend domains"] = "Povolené domény přátel";
-App::$strings["Allowed email domains"] = "Povolené e-mailové domény";
-App::$strings["Block public"] = "Blokovat veřejnost";
-App::$strings["Force publish"] = "Publikovat";
-App::$strings["Global directory update URL"] = "aktualizace URL adresy Globálního adresáře ";
-App::$strings["Block multiple registrations"] = "Blokovat více registrací";
-App::$strings["OpenID support"] = "podpora OpenID";
-App::$strings["Gravatar support"] = "podpora Gravatar";
-App::$strings["Fullname check"] = "kontrola úplného jména";
-App::$strings["UTF-8 Regular expressions"] = "UTF-8 Regulární výrazy";
-App::$strings["Show Community Page"] = "Zobrazit stránku komunity";
-App::$strings["Enable OStatus support"] = "Zapnout podporu OStatus";
-App::$strings["Only allow Friendika contacts"] = "Povolit pouze Friendika kontakty ";
-App::$strings["Verify SSL"] = "Ověřit SSL";
-App::$strings["Proxy user"] = "Proxy uživatel";
-App::$strings["Proxy URL"] = "Proxy URL adresa";
-App::$strings["Network timeout"] = "čas síťového spojení vypršelo (timeout)";
-App::$strings["%s user blocked"] = array(
- 0 => "%s uživatel zablokován",
- 1 => "%s uživatelů zablokováno / odblokováno",
- 2 => "%s uživatelů zablokováno / odblokováno",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s uživatel smazán",
- 1 => "%s uživatelů smazáno",
- 2 => "%s uživatelů smazáno",
-);
-App::$strings["User '%s' deleted"] = "Uživatel '%s' smazán";
-App::$strings["User '%s' unblocked"] = "Uživatel '%s' odblokován";
-App::$strings["User '%s' blocked"] = "Uživatel '%s' blokován";
-App::$strings["select all"] = "Vybrat vše";
-App::$strings["User registrations waiting for confirm"] = "Registrace uživatele čeká na potvrzení";
-App::$strings["Request date"] = "Datum žádosti";
-App::$strings["Email"] = "E-mail";
-App::$strings["No registrations."] = "Žádné registrace.";
-App::$strings["Deny"] = "Odmítnout";
-App::$strings["Block"] = "Blokovat";
-App::$strings["Unblock"] = "Odblokovat";
-App::$strings["Register date"] = "Datum registrace";
-App::$strings["Last login"] = "Datum posledního přihlášení";
-App::$strings["Last item"] = "Poslední položka";
-App::$strings["Account"] = "Účet";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Vybraní uživatelé budou smazáni!\\n\\n Vše, co tito uživatelé na těchto stránkách vytvořili, bude trvale odstraněno!\\n\\n Opravdu pokračovat?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Uživatel {0} bude smazán!\\n\\n Vše, co tento uživatel na těchto stránkách vytvořil, bude trvale odstraněno!\\n\\n Opravdu pokračovat?";
-App::$strings["Plugin %s disabled."] = "Plugin %s zakázán.";
-App::$strings["Plugin %s enabled."] = "Plugin %s povolen.";
-App::$strings["Disable"] = "Zakázat";
-App::$strings["Enable"] = "Povolit";
-App::$strings["Toggle"] = "Přepnout";
-App::$strings["Settings"] = "Nastavení";
-App::$strings["Log settings updated."] = "Nastavení protokolu aktualizováno.";
-App::$strings["Clear"] = "Vyčistit";
-App::$strings["Debugging"] = "Ladění";
-App::$strings["Log file"] = "Soubor s logem";
-App::$strings["Must be writable by web server. Relative to your Friendika index.php."] = "Webový server musí mít práva zápisu . Relativní k index.php Friendika.";
-App::$strings["Log level"] = "Úroveň auditu";
-App::$strings["Close"] = "Uzavřená";
-App::$strings["FTP Host"] = "Hostitel FTP";
-App::$strings["FTP Path"] = "Cesta FTP";
-App::$strings["FTP User"] = "FTP uživatel";
-App::$strings["FTP Password"] = "FTP heslo";
-App::$strings["Access to this profile has been restricted."] = "Přístup na tento profil byl omezen.";
-App::$strings["Tips for New Members"] = "Tipy pro nové členy";
-App::$strings["Login failed."] = "Přihlášení se nezdařilo.";
-App::$strings["Welcome "] = "Vítejte ";
-App::$strings["Please upload a profile photo."] = "Prosím nahrejte profilovou fotografii";
-App::$strings["Welcome back "] = "Vítejte zpět ";
-App::$strings["This site is not configured to allow communications with other networks."] = "Tento web není nakonfigurován tak, aby umožňoval komunikaci s ostatními sítěmi.";
-App::$strings["No compatible communication protocols or feeds were discovered."] = "Nenalezen žádný kompatibilní komunikační protokol nebo kanál.";
-App::$strings["The profile address specified does not provide adequate information."] = "Uvedená adresa profilu neposkytuje dostatečné informace.";
-App::$strings["An author or name was not found."] = "Autor nebo jméno nenalezeno";
-App::$strings["No browser URL could be matched to this address."] = "Této adrese neodpovídá žádné URL prohlížeče.";
-App::$strings["The profile address specified belongs to a network which has been disabled on this site."] = "Zadaná adresa profilu patří do sítě, která byla na tomto serveru zakázána.";
-App::$strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Omezený profil. Tato osoba nebude schopna od Vás přijímat přímé / osobní sdělení.";
-App::$strings["Unable to retrieve contact information."] = "Nepodařilo se získat kontaktní informace.";
-App::$strings["following"] = "následující";
-App::$strings["Item has been removed."] = "Položka byla odstraněna.";
-App::$strings["New mail received at "] = "Přišel nový e-mail v";
-App::$strings["Applications"] = "Aplikace";
-App::$strings["No installed applications."] = "Žádné nainstalované aplikace.";
-App::$strings["Search"] = "Vyhledávání";
-App::$strings["Profile not found."] = "Profil nenalezen";
-App::$strings["Profile Name is required."] = "Jméno profilu je povinné.";
-App::$strings["Profile updated."] = "Profil aktualizován.";
-App::$strings["Profile deleted."] = "Profil smazán.";
-App::$strings["Profile-"] = "Profil-";
-App::$strings["New profile created."] = "Nový profil vytvořen.";
-App::$strings["Profile unavailable to clone."] = "Profil není možné naklonovat.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Skrýt u tohoto profilu vaše kontakty / seznam přátel před před dalšími uživateli zobrazující si tento profil?";
-App::$strings["Edit Profile Details"] = "Upravit podrobnosti profilu ";
-App::$strings["View this profile"] = "Zobrazit tento profil";
-App::$strings["Create a new profile using these settings"] = "Vytvořit nový profil pomocí tohoto nastavení";
-App::$strings["Clone this profile"] = "Klonovat tento profil";
-App::$strings["Delete this profile"] = "Smazat tento profil";
-App::$strings["Profile Name:"] = "Jméno profilu:";
-App::$strings["Your Full Name:"] = "Vaše celé jméno:";
-App::$strings["Title/Description:"] = "Název / Popis:";
-App::$strings["Your Gender:"] = "Vaše pohlaví:";
-App::$strings["Birthday (%s):"] = "Narozeniny uživatele (%s):";
-App::$strings["Street Address:"] = "Ulice:";
-App::$strings["Locality/City:"] = "Město:";
-App::$strings["Postal/Zip Code:"] = "PSČ:";
-App::$strings["Country:"] = "Země:";
-App::$strings["Region/State:"] = "Region / stát:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Rodinný stav:";
-App::$strings["Who: (if applicable)"] = "Kdo: (pokud je možné)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Příklady: jan123, Jan Novák, jan@seznam.cz";
-App::$strings["Sexual Preference:"] = "Sexuální preference:";
-App::$strings["Homepage URL:"] = "Odkaz na domovskou stránku:";
-App::$strings["Political Views:"] = "Politické přesvědčení:";
-App::$strings["Religious Views:"] = "Náboženské přesvědčení:";
-App::$strings["Public Keywords:"] = "Veřejná klíčová slova:";
-App::$strings["Private Keywords:"] = "Soukromá klíčová slova:";
-App::$strings["Example: fishing photography software"] = "Příklad: fishing photography software";
-App::$strings["(Used for suggesting potential friends, can be seen by others)"] = "(Používá se pro doporučování potenciálních přátel, může být viděno ostatními)";
-App::$strings["(Used for searching profiles, never shown to others)"] = "(Používá se pro vyhledávání profilů, není nikdy zobrazeno ostatním)";
-App::$strings["Tell us about yourself..."] = "Řekněte nám něco o sobě ...";
-App::$strings["Hobbies/Interests"] = "Koníčky/zájmy";
-App::$strings["Contact information and Social Networks"] = "Kontaktní informace a sociální sítě";
-App::$strings["Musical interests"] = "Hudební vkus";
-App::$strings["Books, literature"] = "Knihy, literatura";
-App::$strings["Television"] = "Televize";
-App::$strings["Film/dance/culture/entertainment"] = "Film/tanec/kultura/zábava";
-App::$strings["Love/romance"] = "Láska/romantika";
-App::$strings["Work/employment"] = "Práce/zaměstnání";
-App::$strings["School/education"] = "Škola/vzdělání";
-App::$strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Toto je váš <strong>veřejný</strong> profil.<br />Ten <strong>může</strong> být viditelný kýmkoliv na internetu.";
-App::$strings["Age: "] = "Věk: ";
-App::$strings["Profiles"] = "Profily";
-App::$strings["Change profile photo"] = "Změnit profilovou fotografii";
-App::$strings["Create New Profile"] = "Vytvořit nový profil";
-App::$strings["Profile Image"] = "Profilový obrázek";
-App::$strings["visible to everybody"] = "viditelné pro všechny";
-App::$strings["Edit visibility"] = "Upravit viditelnost";
-App::$strings["Global Directory"] = "Globální adresář";
-App::$strings["Normal site view"] = "Normální zobrazení stránky";
-App::$strings["View all site entries"] = "Zobrazit všechny položky stránky";
-App::$strings["Site Directory"] = "Adresář serveru";
-App::$strings["Gender: "] = "Pohlaví: ";
-App::$strings["No entries (some entries may be hidden)."] = "Žádné záznamy (některé položky mohou být skryty).";
-App::$strings["%s : Not a valid email address."] = "%s : není platná e-mailová adresa.";
-App::$strings["Please join my network on %s"] = "Prosím, připojte se do mé sítě na %s";
-App::$strings["%s : Message delivery failed."] = "%s : Doručení zprávy se nezdařilo.";
-App::$strings["%d message sent."] = array(
- 0 => "%d zpráva odeslána.",
- 1 => "%d zprávy odeslány.",
- 2 => "%d zprávy odeslány.",
-);
-App::$strings["You have no more invitations available"] = "Nemáte k dispozici žádné další pozvánky";
-App::$strings["Send invitations"] = "Poslat pozvánky";
-App::$strings["Enter email addresses, one per line:"] = "Zadejte e-mailové adresy, jednu na řádek:";
-App::$strings["Please join my social network on %s"] = "Prosím, připojte se do mé sociální sítě na %s";
-App::$strings["To accept this invitation, please visit:"] = "Chcete-li toto pozvání přijmout, navštivte prosím:";
-App::$strings["You will need to supply this invitation code: \$invite_code"] = "Budete muset zadat kód této pozvánky: \$invite_code";
-App::$strings["Once you have registered, please connect with me via my profile page at:"] = "Jakmile se zaregistrujete, prosím spojte se se mnou přes mou profilovu stránku na:";
-App::$strings["Response from remote site was not understood."] = "Odpověď ze vzdáleného serveru nebyla srozumitelná.";
-App::$strings["Unexpected response from remote site: "] = "Neočekávaná odpověď od vzdáleného serveru:";
-App::$strings["Confirmation completed successfully."] = "Potvrzení úspěšně dokončena.";
-App::$strings["Remote site reported: "] = "Vzdálený server oznámil:";
-App::$strings["Temporary failure. Please wait and try again."] = "Dočasné selhání. Prosím, vyčkejte a zkuste to znovu.";
-App::$strings["Introduction failed or was revoked."] = "Žádost o propojení selhala nebo byla zrušena.";
-App::$strings["Unable to set contact photo."] = "Nelze nastavit fotografii kontaktu.";
-App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s je nyní přítel s %2\$s";
-App::$strings["No user record found for '%s' "] = "Pro '%s' nenalezen žádný uživatelský záznam ";
-App::$strings["Our site encryption key is apparently messed up."] = "Náš šifrovací klíč zřejmě přestal správně fungovat.";
-App::$strings["Empty site URL was provided or URL could not be decrypted by us."] = "Byla poskytnuta prázdná URL adresa nebo se nepodařilo URL adresu dešifrovat.";
-App::$strings["Contact record was not found for you on our site."] = "Kontakt záznam nebyl nalezen pro vás na našich stránkách.";
-App::$strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "Váš systém poskytl duplicitní ID vůči našemu systému. Pokuste se akci zopakovat.";
-App::$strings["Unable to set your contact credentials on our system."] = "Nelze nastavit Vaše přihlašovací údaje v našem systému.";
-App::$strings["Unable to update your contact profile details on our system"] = "Nelze aktualizovat Váš profil v našem systému";
-App::$strings["Connection accepted at %s"] = "Připojení přijato na %s";
-App::$strings["Facebook disabled"] = "Facebook zakázán";
-App::$strings["Updating contacts"] = "Aktualizace kontaktů";
-App::$strings["Facebook API key is missing."] = "Chybí Facebook API klíč.";
-App::$strings["Facebook Connect"] = "Facebook připojen";
-App::$strings["Install Facebook connector for this account."] = "Nainstalovat pro tento účet Facebook konektor.";
-App::$strings["Remove Facebook connector"] = "Odstranit konektor na Facebook";
-App::$strings["Post to Facebook by default"] = "Standardně posílat příspěvky na Facebook";
-App::$strings["Link all your Facebook friends and conversations"] = "Připojit všechny své přátele na Facebooku a konverzace";
-App::$strings["Warning: Your Facebook privacy settings can not be imported."] = "Upozornění: nastavení ochrany osobních údajů na Facebooku nelze importovat.";
-App::$strings["Linked Facebook items <strong>may</strong> be publicly visible, depending on your privacy settings for this website/account."] = "Propojené položky z Facebook <strong>mohou</strong> být veřejně viditelné, v závislosti na nastavení ochrany osobních údajů pro tuto webovou stránku/účet.";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Facebook Connector Settings"] = "Nastavení Facebook konektoru ";
-App::$strings["Post to Facebook"] = "Přidat příspěvek na Facebook";
-App::$strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Příspěvek na Facebook zrušen kvůli konfliktu přístupových práv mezi sítěmi.";
-App::$strings["Image: "] = "Obrázek: ";
-App::$strings["View on Friendika"] = "Pohled na Friendiku";
-App::$strings["Facebook post failed. Queued for retry."] = "Zaslání příspěvku na Facebook selhalo. Příspěvek byl zařazen do fronty pro opakované odeslání.";
-App::$strings["Generate new key"] = "Generovat nové klíče";
-App::$strings["Widgets key"] = "Widgety klíč";
-App::$strings["Widgets available"] = "Widgety k dispozici";
-App::$strings["Connect on Friendika!"] = "Spojit se na Friendice!";
-App::$strings["Three Dimensional Tic-Tac-Toe"] = "Trojrozměrné Tic-Tac-Toe";
-App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
-App::$strings["New game"] = "Nová hra";
-App::$strings["New game with handicap"] = "Nová hra s handicapem";
-App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Trojrozměrné tic-tac-toe je podobná této tradiční hře kromě toho, že se hraje na více úrovních současně.";
-App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "V tomto případě existují tři úrovně. Vyhrajete tím, že dostane tři v řadě na jakékoli úrovni, stejně jako nahoru, dolů a šikmo na různých úrovních.";
-App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Hra s handicapem zakáže centrální pozici na střední úrovni, protože hráč zaujímající tuto polohu má často nespravedlivou výhodu.";
-App::$strings["You go first..."] = "Vy začněte ...";
-App::$strings["I'm going first this time..."] = "Tentokrát začnu já...";
-App::$strings["You won!"] = "Vyhrál jste!";
-App::$strings["\"Cat\" game!"] = "\"Kočičí\" hra!";
-App::$strings["I won!"] = "Vyhrál jsem!";
-App::$strings["Randplace Settings"] = "Randplace Nastavení";
-App::$strings["Enable Randplace Plugin"] = "Povolit Randplace Plugin";
-App::$strings["Upload a file"] = "Nahrát soubor";
-App::$strings["Drop files here to upload"] = "Přeneste sem soubory k nahrání";
-App::$strings["Failed"] = "Neúspěch";
-App::$strings["No files were uploaded."] = "Žádné soubory nebyly nahrány.";
-App::$strings["Uploaded file is empty"] = "Nahraný soubor je prázdný";
-App::$strings["File has an invalid extension, it should be one of "] = "Soubor má neplatnou příponu, ta by měla být jednou z";
-App::$strings["Upload was cancelled, or server error encountered"] = "Nahrávání bylo zrušeno nebo došlo k chybě na serveru";
-App::$strings["Impressum"] = "Impressum";
-App::$strings["Site Owner"] = "Vlastník webu";
-App::$strings["Email Address"] = "E-mailová adresa";
-App::$strings["Postal Address"] = "Poštovní adresa";
-App::$strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Doplněk Impressum musí být nakonfigurován!<br/>Prosím, přidejte alespoň proměnnou <tt>owner</tt> do konfiguračního souboru. Pro nastavení ostatních proměnných se seznamte s nápovědou v souboru README tohoto doplňku.";
-App::$strings["Site Owners Profile"] = "Profil majitele webu";
-App::$strings["Notes"] = "Poznámky";
-App::$strings["OEmbed settings updated"] = "OEmbed nastavení aktualizováno";
-App::$strings["Use OEmbed for YouTube videos"] = "Použití OEmbed pro videa na YouTube";
-App::$strings["URL to embed:"] = "URL adresa k vložení:";
-App::$strings["Post to StatusNet"] = "Poslat příspěvek na StatusNet";
-App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Obraťte se na administratora webu.<br />Poskytnutý odkaz na API není platný.";
-App::$strings["We could not contact the StatusNet API with the Path you entered."] = "S cestou, kterou jste zadali, se nebylo možné spojit s API StatusNetu.";
-App::$strings["StatusNet settings updated."] = "Nastavení StatusNetu aktualizováno.";
-App::$strings["StatusNet Posting Settings"] = "Nastavení zasílání příspěvků na StatusNet ";
-App::$strings["Globally Available StatusNet OAuthKeys"] = "Globálně dostupné StatusNet OAuth klíče";
-App::$strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "Jsou dostupné přednastavené OAuth páry klíčů pro některé servery StatusNetu. Pokud používáte některý z nich, použijte toto přihlášení. Pokud ne, neváhejte se připojit k jiné instanci StatusNet (viz níže).";
-App::$strings["Provide your own OAuth Credentials"] = "Uveďte své vlastní OAuth přihlašovací údaje";
-App::$strings["No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation."] = "Nenalezen žádný consumer pár klíčů pro StatusNet. Zaregistrujte svůj Friendika účet jako desktopový klient na svém účtu StatusNetu, zkopírujte níže consumer pár klíčů a zadejte API base root.<br />Než si zaregistrujete svůj vlastní pár klíčů OAuth, zjistěte si od administrátora, zda-li už náhodou na tento Friendika server nepřidal pár klíčů pro vámi požadovanou instalaci StatusNetu.";
-App::$strings["OAuth Consumer Key"] = "OAuth Consumer Key";
-App::$strings["OAuth Consumer Secret"] = "OAuth Consumer Secret";
-App::$strings["Base API Path (remember the trailing /)"] = "Cesta k Base API (nezapomeňte na koncový /)";
-App::$strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Chcete-li připojit k vašemu účtu StatusNet klikněte na tlačítko níže, abyste dostati bezpečnostní kód ze StatusNetu, který musíte zkopírovat do vstupního pole níže a odelat formulář. Pouze Vaše <strong>veřejné</strong> příspěvky budou zveřejněny na StatusNetu.";
-App::$strings["Log in with StatusNet"] = "Přihlásit se s StatusNet";
-App::$strings["Copy the security code from StatusNet here"] = "Zkopírujte sem bezpečnostní kód ze StatusNet";
-App::$strings["Cancel Connection Process"] = "Zrušit připojování";
-App::$strings["Current StatusNet API is"] = "Aktuální StatusNet API je";
-App::$strings["Cancel StatusNet Connection"] = "Zrušit StatusNet připojení";
-App::$strings["Currently connected to: "] = "V současné době připojen k:";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být zaslány na související StatusNet účet. Můžete si vybrat, zda-li toto bude výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované chování při psaní každého příspěvku.";
-App::$strings["Allow posting to StatusNet"] = "Povolit zasílání příspěvků na StatusNet";
-App::$strings["Send public postings to StatusNet by default"] = "Standardně poslílat veřejné příspěvky na StatusNet";
-App::$strings["Clear OAuth configuration"] = "Vymazat konfiguraci OAuth";
-App::$strings["API URL"] = "API URL";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Piwik Base URL"] = "Piwik Base adresa URL";
-App::$strings["Site ID"] = "ID webu";
-App::$strings["Show opt-out cookie link?"] = "Zobrazit odkaz opt-out cookie?";
-App::$strings["Post to Twitter"] = "Poslat příspěvek na Twitter";
-App::$strings["Twitter settings updated."] = "Nastavení Twitteru aktualizováno.";
-App::$strings["Twitter Posting Settings"] = "Nastavení zasílání příspěvků na Twitter ";
-App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte se na administrátora webu.";
-App::$strings["At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Na tomto Friendika serveru je Twitter plugin povolen, ale ještě nemáte svůj účet připojen ke svému Twitter účtu. Chcete-li tak učinit, klepnutím na tlačítko níže získejte PIN z Twitteru, který musíte zkopírovat do vstupního pole níže a odešlete formulář. Pouze Vaše <strong>veřejné</strong> příspěvky budou zveřejněny na Twitteru.";
-App::$strings["Log in with Twitter"] = "Přihlásit se s Twitter";
-App::$strings["Copy the PIN from Twitter here"] = "Zkopírujte sem PIN z Twitteru";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být zaslány na související Twitter účet. Můžete si vybrat, zda-li toto bude výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované chování při psaní každého příspěvku.";
-App::$strings["Allow posting to Twitter"] = "Povolit odesílání na Twitter";
-App::$strings["Send public postings to Twitter by default"] = "Defaultně zasílat veřejné komentáře na Twitter";
-App::$strings["Consumer key"] = "Consumer key";
-App::$strings["Consumer secret"] = "Consumer secret";
-App::$strings["Gender:"] = "Pohlaví:";
-App::$strings["Birthday:"] = "Narozeniny:";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Age:"] = "Věk:";
-App::$strings["<span class=\"heart\">&hearts;</span> Status:"] = "<span class=\"heart\">&hearts;</span> Status:";
-App::$strings["Homepage:"] = "Domácí stránka:";
-App::$strings["Religion:"] = "Náboženství:";
-App::$strings["About:"] = "O mě:";
-App::$strings["Hobbies/Interests:"] = "Koníčky/zájmy:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktní informace a sociální sítě:";
-App::$strings["Musical interests:"] = "Hudební vkus:";
-App::$strings["Books, literature:"] = "Knihy, literatura:";
-App::$strings["Television:"] = "Televize:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film/tanec/kultura/zábava:";
-App::$strings["Love/Romance:"] = "Láska/romance";
-App::$strings["Work/employment:"] = "Práce/zaměstnání:";
-App::$strings["School/education:"] = "Škola/vzdělávání:";
-App::$strings["Unknown | Not categorised"] = "Neznámé | Nezařazeno";
-App::$strings["Block immediately"] = "Okamžitě blokovat ";
-App::$strings["Shady, spammer, self-marketer"] = "pochybný, spammer, self-makerter";
-App::$strings["Known to me, but no opinion"] = "Znám ho ale, ale bez rozhodnutí";
-App::$strings["OK, probably harmless"] = "OK, pravděpodobně neškodný";
-App::$strings["Reputable, has my trust"] = "Renomovaný, má mou důvěru";
-App::$strings["Frequently"] = "Často";
-App::$strings["Hourly"] = "každou hodinu";
-App::$strings["Twice daily"] = "Dvakrát denně";
-App::$strings["Daily"] = "denně";
-App::$strings["Weekly"] = "Týdenně";
-App::$strings["Monthly"] = "Měsíčně";
-App::$strings["Male"] = "Muž";
-App::$strings["Female"] = "Žena";
-App::$strings["Currently Male"] = "V současné době muž";
-App::$strings["Currently Female"] = "V současné době žena";
-App::$strings["Mostly Male"] = "Většinou muž";
-App::$strings["Mostly Female"] = "Většinou žena";
-App::$strings["Transgender"] = "Transgender";
-App::$strings["Intersex"] = "Intersex";
-App::$strings["Transsexual"] = "Transexuál";
-App::$strings["Hermaphrodite"] = "Hermafrodit";
-App::$strings["Neuter"] = "Neutrál";
-App::$strings["Non-specific"] = "Nespecifikováno";
-App::$strings["Other"] = "Jiné";
-App::$strings["Undecided"] = "Nerozhodnuto";
-App::$strings["Males"] = "Muži";
-App::$strings["Females"] = "Ženy";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbička";
-App::$strings["No Preference"] = "Bez preferencí";
-App::$strings["Bisexual"] = "Bisexuál";
-App::$strings["Autosexual"] = "Autosexuál";
-App::$strings["Abstinent"] = "Abstinent";
-App::$strings["Virgin"] = "panic/panna";
-App::$strings["Deviant"] = "Deviant";
-App::$strings["Fetish"] = "Fetišista";
-App::$strings["Oodles"] = "Hodně";
-App::$strings["Nonsexual"] = "Nesexuální";
-App::$strings["Single"] = "Svobodný";
-App::$strings["Lonely"] = "Osamnělý";
-App::$strings["Available"] = "Dostupný";
-App::$strings["Unavailable"] = "Nedostupný";
-App::$strings["Dating"] = "Seznamující se";
-App::$strings["Unfaithful"] = "Nevěrný";
-App::$strings["Sex Addict"] = "Závislý na sexu";
-App::$strings["Friends"] = "Přátelé";
-App::$strings["Friends/Benefits"] = "Přátelé / výhody";
-App::$strings["Casual"] = "Ležérní";
-App::$strings["Engaged"] = "Zadaný";
-App::$strings["Married"] = "Ženatý/vdaná";
-App::$strings["Partners"] = "Partneři";
-App::$strings["Cohabiting"] = "Žijící ve společné domácnosti";
-App::$strings["Happy"] = "Šťastný";
-App::$strings["Not Looking"] = "Nehledající";
-App::$strings["Swinger"] = "Swinger";
-App::$strings["Betrayed"] = "Zrazen";
-App::$strings["Separated"] = "Odloučený";
-App::$strings["Unstable"] = "Nestálý";
-App::$strings["Divorced"] = "Rozvedený(á)";
-App::$strings["Widowed"] = "Ovdovělý(á)";
-App::$strings["Uncertain"] = "Nejistý";
-App::$strings["Complicated"] = "Komplikovaný";
-App::$strings["Don't care"] = "Nezajímá";
-App::$strings["Ask me"] = "Zeptej se mě";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Starts:"] = "Začíná:";
-App::$strings["Finishes:"] = "Končí:";
-App::$strings["prev"] = "předchozí";
-App::$strings["first"] = "první";
-App::$strings["last"] = "poslední";
-App::$strings["next"] = "další";
-App::$strings["No contacts"] = "Žádné kontakty";
-App::$strings["%d Contact"] = array(
- 0 => "%d kontakt",
- 1 => "%d kontaktů",
- 2 => "%d kontaktů",
-);
-App::$strings["Monday"] = "Pondělí";
-App::$strings["Tuesday"] = "Úterý";
-App::$strings["Wednesday"] = "Středa";
-App::$strings["Thursday"] = "Čtvrtek";
-App::$strings["Friday"] = "Pátek";
-App::$strings["Saturday"] = "Sobota";
-App::$strings["Sunday"] = "Neděle";
-App::$strings["January"] = "Ledna";
-App::$strings["February"] = "Února";
-App::$strings["March"] = "Března";
-App::$strings["April"] = "Dubna";
-App::$strings["May"] = "Května";
-App::$strings["June"] = "Června";
-App::$strings["July"] = "Července";
-App::$strings["August"] = "Srpna";
-App::$strings["September"] = "Září";
-App::$strings["October"] = "Října";
-App::$strings["November"] = "Listopadu";
-App::$strings["December"] = "Prosince";
-App::$strings["bytes"] = "bytů";
-App::$strings["Select an alternate language"] = "Vyběr alternativního jazyka";
-App::$strings["Sharing notification from Diaspora network"] = "Sdílení oznámení ze sítě Diaspora";
-App::$strings["Embedding disabled"] = "Vkládání zakázáno";
-App::$strings["Create a new group"] = "Vytvořit novou skupinu";
-App::$strings["Everybody"] = "Všichni";
-App::$strings["Logout"] = "Odhlásit se";
-App::$strings["End this session"] = "Konec této relace";
-App::$strings["Login"] = "Přihlásit se";
-App::$strings["Sign in"] = "Přihlásit se";
-App::$strings["Home"] = "Domů";
-App::$strings["Home Page"] = "Domácí stránka";
-App::$strings["Create an account"] = "Vytvořit účet";
-App::$strings["Help and documentation"] = "Nápověda a dokumentace";
-App::$strings["Apps"] = "Aplikace";
-App::$strings["Addon applications, utilities, games"] = "Doplňkové aplikace, nástroje, hry";
-App::$strings["Search site content"] = "Hledání na stránkách tohoto webu";
-App::$strings["Conversations on this site"] = "Konverzace na tomto webu";
-App::$strings["Directory"] = "Adresář";
-App::$strings["People directory"] = "Adresář";
-App::$strings["Network"] = "Síť";
-App::$strings["Conversations from your friends"] = "Konverzace od Vašich přátel";
-App::$strings["Your posts and conversations"] = "Vaše příspěvky a konverzace";
-App::$strings["Notifications"] = "Upozornění";
-App::$strings["Friend requests"] = "Požadavky přátelství";
-App::$strings["Private mail"] = "Soukromá pošta";
-App::$strings["Manage"] = "Spravovat";
-App::$strings["Manage other pages"] = "Spravovat jiné stránky";
-App::$strings["Manage/edit profiles"] = "Spravovat/upravit profily";
-App::$strings["Manage/edit friends and contacts"] = "Spravovat/upravit přátelé a kontakty";
-App::$strings["Admin"] = "Administrace";
-App::$strings["Site setup and configuration"] = "Nastavení webu a konfigurace";
-App::$strings["Logged out."] = "Odhlášen.";
-App::$strings["Miscellaneous"] = "Různé";
-App::$strings["year"] = "rok";
-App::$strings["month"] = "měsíc";
-App::$strings["day"] = "den";
-App::$strings["never"] = "nikdy";
-App::$strings["less than a second ago"] = "méně než před sekundou";
-App::$strings["years"] = "let";
-App::$strings["months"] = "měsíců";
-App::$strings["week"] = "týden";
-App::$strings["weeks"] = "týdny";
-App::$strings["days"] = "dnů";
-App::$strings["hour"] = "hodina";
-App::$strings["hours"] = "hodin";
-App::$strings["minute"] = "minuta";
-App::$strings["minutes"] = "minut";
-App::$strings["second"] = "sekunda";
-App::$strings["seconds"] = "sekund";
-App::$strings[" ago"] = " nazpět";
-App::$strings["From: "] = "Od:";
-App::$strings["Image/photo"] = "Obrázek/fotografie";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Nelze nalézt záznam v DNS pro databázový server '%s'";
-App::$strings["Visible to everybody"] = "Viditelné pro všechny";
-App::$strings["show"] = "zobrazit";
-App::$strings["don't show"] = "nikdy nezobrazit";
-App::$strings["(no subject)"] = "(Bez předmětu)";
-App::$strings["You have a new follower at "] = "Máte nového následovníka na";
-App::$strings["event"] = "událost";
-App::$strings["View %s's profile"] = "Zobrazit %s profilu";
-App::$strings["%s from %s"] = "%s od %s";
-App::$strings["View in context"] = "Pohled v kontextu";
-App::$strings["See more posts like this"] = "Zobrazit více podobných příspěvků";
-App::$strings["See all %d comments"] = "Zobrazit všechny komentáře %d";
-App::$strings["Select"] = "Vybrat";
-App::$strings["toggle star status"] = "přepnout hvězdu";
-App::$strings["to"] = "pro";
-App::$strings["Wall-to-Wall"] = "Zeď-na-Zeď";
-App::$strings["via Wall-To-Wall:"] = "přes Zeď-na-Zeď ";
-App::$strings["Delete Selected Items"] = "Smazat vybrané položky";
-App::$strings["View status"] = "Zobrazit stav";
-App::$strings["View profile"] = "Zobrazit profil";
-App::$strings["View photos"] = "Zobrazit fotografie";
-App::$strings["View recent"] = "Zobrazit poslední";
-App::$strings["Send PM"] = "Poslat soukromou zprávu";
-App::$strings["%s likes this."] = "%s se to líbí.";
-App::$strings["%s doesn't like this."] = "%s se to nelíbí.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = "<span %1\$s>%2\$d lidem</span> se to líbí.";
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = "<span %1\$s>%2\$d lidem</span> se to nelíbí.";
-App::$strings["and"] = "a";
-App::$strings[", and %d other people"] = ", a %d dalších lidí";
-App::$strings["%s like this."] = "%s se to líbí.";
-App::$strings["%s don't like this."] = "%s se to nelíbí.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Viditelné pro <strong>všechny</strong>";
-App::$strings["Please enter a YouTube link:"] = "Prosím zadejte odkaz na YouTube:";
-App::$strings["Please enter a video(.ogg) link/URL:"] = "Prosím, zadejte odkaz na video (ogg.):";
-App::$strings["Please enter an audio(.ogg) link/URL:"] = "Prosím, zadejte odkaz na audio (ogg.):";
-App::$strings["Where are you right now?"] = "Kde právě jste?";
-App::$strings["Enter a title for this item"] = "Zadejte titulek pro tuto položku";
-App::$strings["Set title"] = "Nastavit titulek";
-App::$strings["Delete this item?"] = "Odstranit tuto položku?";
-App::$strings["Create a New Account"] = "Vytvořit nový účet";
-App::$strings["Nickname or Email address: "] = "Přezdívka nebo e-mailová adresa:";
-App::$strings["Password: "] = "Heslo: ";
-App::$strings["Nickname/Email/OpenID: "] = "Přezdívka/E-mail/OpenID: ";
-App::$strings["Password (if not OpenID): "] = "Heslo (pokud se nepoužívá OpenID):";
-App::$strings["Forgot your password?"] = "Zapomněli jste své heslo?";
-App::$strings["Connect"] = "Spojit";
-App::$strings[", "] = ", ";
-App::$strings["Status:"] = "Status:";
-App::$strings["g A l F d"] = "g A l F d";
-App::$strings["Birthday Reminders"] = "Připomínka narozenin";
-App::$strings["Birthdays this week:"] = "Narozeniny tento týden:";
-App::$strings["(Adjusted for local time)"] = "(Upraveno pro místní čas)";
-App::$strings["[today]"] = "[Dnes]";
-App::$strings["Not Found"] = "Nenalezen";
-App::$strings["Page not found."] = "Stránka nenalezena";
diff --git a/view/cs/htconfig.tpl b/view/cs/htconfig.tpl
deleted file mode 100644
index 802b31b49..000000000
--- a/view/cs/htconfig.tpl
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-// Set the following for your MySQL installation
-// Copy or rename this file to .htconfig.php
-
-$db_host = '{{$dbhost}}';
-$db_port = '{{$dbport}}';
-$db_user = '{{$dbuser}}';
-$db_pass = '{{$dbpass}}';
-$db_data = '{{$dbdata}}';
-$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
-
-define( 'UNO', {{$uno}} );
-
-/*
- * Notice: Many of the following settings will be available in the admin panel
- * after a successful site install. Once they are set in the admin panel, they
- * are stored in the DB - and the DB setting will over-ride any corresponding
- * setting in this file
- *
- * The command-line tool util/config is able to query and set the DB items
- * directly if for some reason the admin panel is not available and a system
- * setting requires modification.
- *
- */
-
-
-// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
-// It can be changed later and only applies to timestamps for anonymous viewers.
-
-App::$config['system']['timezone'] = '{{$timezone}}';
-
-// What is your site name?
-
-App::$config['system']['baseurl'] = '{{$siteurl}}';
-App::$config['system']['sitename'] = "Hubzilla";
-App::$config['system']['location_hash'] = '{{$site_id}}';
-
-// These lines set additional security headers to be sent with all responses
-// You may wish to set transport_security_header to 0 if your server already sends
-// this header. content_security_policy may need to be disabled if you wish to
-// run the piwik analytics plugin or include other offsite resources on a page
-
-App::$config['system']['transport_security_header'] = 1;
-App::$config['system']['content_security_policy'] = 1;
-
-
-// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
-// Be certain to create your own personal account before setting
-// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
-// the registration page. REGISTER_APPROVE requires you set 'admin_email'
-// to the email address of an already registered person who can authorise
-// and/or approve/deny the request.
-
-App::$config['system']['register_policy'] = REGISTER_OPEN;
-App::$config['system']['register_text'] = '';
-App::$config['system']['admin_email'] = '{{$adminmail}}';
-
-// Maximum size of an imported message, 0 is unlimited
-
-App::$config['system']['max_import_size'] = 200000;
-
-// maximum size of uploaded photos
-
-App::$config['system']['maximagesize'] = 8000000;
-
-// Location of PHP command line processor
-
-App::$config['system']['php_path'] = '{{$phpath}}';
-
-// Configure how we communicate with directory servers.
-// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
-// DIRECTORY_MODE_SECONDARY = caching directory or mirror
-// DIRECTORY_MODE_PRIMARY = main directory server
-// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
-
-App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
-
-// default system theme
-
-App::$config['system']['theme'] = 'redbasic';
-
diff --git a/view/cs/lostpass_eml.tpl b/view/cs/lostpass_eml.tpl
deleted file mode 100644
index 3b79d2791..000000000
--- a/view/cs/lostpass_eml.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Dear {{$username}},
- A request was recently received at {{$sitename}} to reset your account
-password. In order to confirm this request, please select the verification link
-below or paste it into your web browser address bar.
-
-If you did NOT request this change, please DO NOT follow the link
-provided and ignore and/or delete this email.
-
-Your password will not be changed unless we can verify that you
-issued this request.
-
-Follow this link to verify your identity:
-
-{{$reset_link}}
-
-You will then receive a follow-up message containing the new password.
-
-You may change that password from your account settings page after logging in.
-
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-
-
-
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/cs/messages.po b/view/cs/messages.po
deleted file mode 100644
index 8e5b54d3a..000000000
--- a/view/cs/messages.po
+++ /dev/null
@@ -1,4618 +0,0 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 Mike Macgirvin
-# This file is distributed under the same license as the Friendika package.
-#
-# Michal Šupler <msupler@gmail.com>, 2011.
-msgid ""
-msgstr ""
-"Project-Id-Version: friendika\n"
-"Report-Msgid-Bugs-To: http://bugs.friendika.com/\n"
-"POT-Creation-Date: 2011-08-14 21:17-0700\n"
-"PO-Revision-Date: 2011-09-03 04:29+0000\n"
-"Last-Translator: michal_s <msupler@gmail.com>\n"
-"Language-Team: Czech (http://www.transifex.net/projects/p/friendika/team/cs/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: cs\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
-
-#: ../../mod/oexchange.php:27
-msgid "Post successful."
-msgstr "Příspěvek úspěšně odeslán"
-
-#: ../../mod/crepair.php:42
-msgid "Contact settings applied."
-msgstr "Nastavení kontaktu změněno"
-
-#: ../../mod/crepair.php:44
-msgid "Contact update failed."
-msgstr "Aktualizace kontaktu selhala."
-
-#: ../../mod/crepair.php:54 ../../mod/wall_attach.php:43
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:102 ../../mod/photos.php:122
-#: ../../mod/photos.php:849 ../../mod/editpost.php:10 ../../mod/install.php:96
-#: ../../mod/notifications.php:62 ../../mod/contacts.php:132
-#: ../../mod/settings.php:41 ../../mod/settings.php:46
-#: ../../mod/settings.php:305 ../../mod/manage.php:75 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/attach.php:33 ../../mod/group.php:19
-#: ../../mod/viewconnections.php:21 ../../mod/register.php:27
-#: ../../mod/regmod.php:111 ../../mod/item.php:110
-#: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:133
-#: ../../mod/profile_photo.php:144 ../../mod/profile_photo.php:155
-#: ../../mod/message.php:8 ../../mod/message.php:116 ../../mod/admin.php:10
-#: ../../mod/wall_upload.php:42 ../../mod/follow.php:8
-#: ../../mod/display.php:108 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:226 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:308
-#: ../../include/items.php:1930 ../../index.php:266
-msgid "Permission denied."
-msgstr "Přístup odmítnut."
-
-#: ../../mod/crepair.php:68 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/contacts.php:240
-#: ../../mod/dfrn_confirm.php:114
-msgid "Contact not found."
-msgstr "Kontakt nenalezen."
-
-#: ../../mod/crepair.php:74
-msgid "Repair Contact Settings"
-msgstr "Opravit nastavení kontaktu"
-
-#: ../../mod/crepair.php:76
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact will stop working."
-msgstr ""
-"<strong>VAROVÁNÍ: Toto je velmi pokročilé nastavení,</strong> pokud zadáte "
-"nesprávné informace, komunikace s tímto kontaktem přestane fungovat."
-
-#: ../../mod/crepair.php:77
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr ""
-"Prosím použijte <strong>ihned</strong> v prohlížeči tlačítko \"zpět\" pokud "
-"si nejste jistí co dělat na této stránce."
-
-#: ../../mod/crepair.php:85 ../../mod/admin.php:464 ../../mod/admin.php:473
-msgid "Name"
-msgstr "Jméno"
-
-#: ../../mod/crepair.php:86
-msgid "Account Nickname"
-msgstr "Přezdívka účtu"
-
-#: ../../mod/crepair.php:87
-msgid "Account URL"
-msgstr "URL adresa účtu"
-
-#: ../../mod/crepair.php:88
-msgid "Friend Request URL"
-msgstr "Žádost o přátelství URL"
-
-#: ../../mod/crepair.php:89
-msgid "Friend Confirm URL"
-msgstr "URL adresa potvrzení přátelství"
-
-#: ../../mod/crepair.php:90
-msgid "Notification Endpoint URL"
-msgstr "Notifikační URL adresa"
-
-#: ../../mod/crepair.php:91
-msgid "Poll/Feed URL"
-msgstr "Poll/Feed URL adresa"
-
-#: ../../mod/crepair.php:100 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:333 ../../mod/photos.php:877 ../../mod/photos.php:934
-#: ../../mod/photos.php:1144 ../../mod/photos.php:1184
-#: ../../mod/photos.php:1223 ../../mod/photos.php:1254
-#: ../../mod/install.php:137 ../../mod/contacts.php:296
-#: ../../mod/settings.php:482 ../../mod/manage.php:106 ../../mod/group.php:84
-#: ../../mod/group.php:167 ../../mod/admin.php:298 ../../mod/admin.php:461
-#: ../../mod/admin.php:587 ../../mod/admin.php:652 ../../mod/profiles.php:372
-#: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:366
-#: ../../addon/randplace/randplace.php:178
-#: ../../addon/impressum/impressum.php:69 ../../addon/oembed/oembed.php:41
-#: ../../addon/statusnet/statusnet.php:274
-#: ../../addon/statusnet/statusnet.php:288
-#: ../../addon/statusnet/statusnet.php:314
-#: ../../addon/statusnet/statusnet.php:321
-#: ../../addon/statusnet/statusnet.php:343
-#: ../../addon/statusnet/statusnet.php:468 ../../addon/piwik/piwik.php:76
-#: ../../addon/twitter/twitter.php:171 ../../addon/twitter/twitter.php:194
-#: ../../addon/twitter/twitter.php:280 ../../include/conversation.php:409
-msgid "Submit"
-msgstr "Odeslat"
-
-#: ../../mod/help.php:27
-msgid "Help:"
-msgstr "Nápověda:"
-
-#: ../../mod/help.php:31 ../../include/nav.php:64
-msgid "Help"
-msgstr "Nápověda"
-
-#: ../../mod/wall_attach.php:57
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Velikost souboru přesáhla limit %d"
-
-#: ../../mod/wall_attach.php:87 ../../mod/wall_attach.php:98
-msgid "File upload failed."
-msgstr "Nahrání souboru se nezdařilo."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Návrhy přátelství odeslány "
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Navrhněte přátelé"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Navrhněte přátelé pro uživatele %s"
-
-#: ../../mod/events.php:112 ../../mod/photos.php:834 ../../mod/notes.php:46
-#: ../../mod/profile.php:116
-msgid "Status"
-msgstr "Stav"
-
-#: ../../mod/events.php:113 ../../mod/photos.php:835 ../../mod/notes.php:47
-#: ../../mod/profperm.php:103 ../../mod/profile.php:117
-#: ../../include/profile_advanced.php:7
-msgid "Profile"
-msgstr "Profil"
-
-#: ../../mod/events.php:114 ../../mod/photos.php:836 ../../mod/notes.php:48
-#: ../../mod/profile.php:118
-msgid "Photos"
-msgstr "Fotografie"
-
-#: ../../mod/events.php:115 ../../mod/events.php:120 ../../mod/photos.php:837
-#: ../../mod/notes.php:49 ../../mod/profile.php:119
-msgid "Events"
-msgstr "Události"
-
-#: ../../mod/events.php:116 ../../mod/photos.php:838 ../../mod/notes.php:50
-#: ../../mod/notes.php:55 ../../mod/profile.php:120
-msgid "Personal Notes"
-msgstr "Osobní poznámky"
-
-#: ../../mod/events.php:210
-msgid "Create New Event"
-msgstr "Vytvořit novou událost"
-
-#: ../../mod/events.php:213
-msgid "Previous"
-msgstr "Předchozí"
-
-#: ../../mod/events.php:216
-msgid "Next"
-msgstr "Následující"
-
-#: ../../mod/events.php:223
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:235
-msgid "Edit event"
-msgstr "Editovat událost"
-
-#: ../../mod/events.php:237 ../../include/text.php:846
-msgid "link to source"
-msgstr "odkaz na zdroj"
-
-#: ../../mod/events.php:305
-msgid "hour:minute"
-msgstr "hodina:minuta"
-
-#: ../../mod/events.php:314
-msgid "Event details"
-msgstr "Detaily události"
-
-#: ../../mod/events.php:315
-#, php-format
-msgid "Format is %s %s. Starting date and Description are required."
-msgstr "Formát je %s %s. Datum zahájení a popis jsou povinné."
-
-#: ../../mod/events.php:316
-msgid "Event Starts:"
-msgstr "Událost začíná:"
-
-#: ../../mod/events.php:319
-msgid "Finish date/time is not known or not relevant"
-msgstr "Datum/čas konce není zadán nebo není relevantní"
-
-#: ../../mod/events.php:321
-msgid "Event Finishes:"
-msgstr "Akce končí:"
-
-#: ../../mod/events.php:324
-msgid "Adjust for viewer timezone"
-msgstr "Nastavit časové pásmo pro uživatele s právem pro čtení"
-
-#: ../../mod/events.php:326
-msgid "Description:"
-msgstr "Popis:"
-
-#: ../../mod/events.php:328 ../../include/event.php:37 ../../boot.php:868
-msgid "Location:"
-msgstr "Místo:"
-
-#: ../../mod/events.php:330
-msgid "Share this event"
-msgstr "Sdílet tuto událost"
-
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:644 ../../addon/js_upload/js_upload.php:45
-msgid "Cancel"
-msgstr "Zrušit"
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Štítek odstraněn"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Odebrat štítek položky"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Vyberte štítek k odebrání:"
-
-#: ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Odstranit"
-
-#: ../../mod/dfrn_poll.php:90 ../../mod/dfrn_poll.php:516
-#, php-format
-msgid "%s welcomes %s"
-msgstr "%s vítá %s "
-
-#: ../../mod/photos.php:37
-msgid "Photo Albums"
-msgstr "Fotoalba"
-
-#: ../../mod/photos.php:45 ../../mod/photos.php:143 ../../mod/photos.php:857
-#: ../../mod/photos.php:926 ../../mod/photos.php:941 ../../mod/photos.php:1332
-#: ../../mod/photos.php:1344
-msgid "Contact Photos"
-msgstr "Fotogalerie kontaktu"
-
-#: ../../mod/photos.php:57 ../../mod/settings.php:9
-msgid "everybody"
-msgstr "Žádost o připojení selhala nebo byla zrušena."
-
-#: ../../mod/photos.php:132
-msgid "Contact information unavailable"
-msgstr "Kontakt byl zablokován"
-
-#: ../../mod/photos.php:143 ../../mod/photos.php:577 ../../mod/photos.php:926
-#: ../../mod/photos.php:941 ../../mod/register.php:316
-#: ../../mod/register.php:323 ../../mod/register.php:330
-#: ../../mod/profile_photo.php:58 ../../mod/profile_photo.php:65
-#: ../../mod/profile_photo.php:72 ../../mod/profile_photo.php:160
-#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:245
-msgid "Profile Photos"
-msgstr "Profilové fotografie"
-
-#: ../../mod/photos.php:153
-msgid "Album not found."
-msgstr "Album nenalezeno."
-
-#: ../../mod/photos.php:171 ../../mod/photos.php:935
-msgid "Delete Album"
-msgstr "Smazat album"
-
-#: ../../mod/photos.php:234 ../../mod/photos.php:1145
-msgid "Delete Photo"
-msgstr "Smazat fotografii"
-
-#: ../../mod/photos.php:508
-msgid "was tagged in a"
-msgstr "štítek byl přidán v"
-
-#: ../../mod/photos.php:508 ../../mod/like.php:110
-#: ../../include/diaspora.php:446 ../../include/conversation.php:31
-msgid "photo"
-msgstr "fotografie"
-
-#: ../../mod/photos.php:508
-msgid "by"
-msgstr "od"
-
-#: ../../mod/photos.php:608 ../../addon/js_upload/js_upload.php:310
-msgid "Image exceeds size limit of "
-msgstr "Velikost obrázku překračuje limit velikosti"
-
-#: ../../mod/photos.php:616
-msgid "Image file is empty."
-msgstr "Soubor obrázku je prázdný."
-
-#: ../../mod/photos.php:630 ../../mod/profile_photo.php:118
-#: ../../mod/wall_upload.php:65
-msgid "Unable to process image."
-msgstr "Obrázek není možné zprocesovat"
-
-#: ../../mod/photos.php:650 ../../mod/profile_photo.php:241
-#: ../../mod/wall_upload.php:84
-msgid "Image upload failed."
-msgstr "Nahrání obrázku selhalo."
-
-#: ../../mod/photos.php:733 ../../mod/community.php:9
-#: ../../mod/dfrn_request.php:591 ../../mod/viewconnections.php:16
-#: ../../mod/display.php:7 ../../mod/search.php:13 ../../mod/directory.php:20
-msgid "Public access denied."
-msgstr "Veřejný přístup odepřen."
-
-#: ../../mod/photos.php:743
-msgid "No photos selected"
-msgstr "Není vybrána žádná fotografie"
-
-#: ../../mod/photos.php:820
-msgid "Access to this item is restricted."
-msgstr "Přístup k této položce je omezen."
-
-#: ../../mod/photos.php:884
-msgid "Upload Photos"
-msgstr "Nahrání fotografií "
-
-#: ../../mod/photos.php:887 ../../mod/photos.php:930
-msgid "New album name: "
-msgstr "Název nového alba:"
-
-#: ../../mod/photos.php:888
-msgid "or existing album name: "
-msgstr "nebo stávající název alba:"
-
-#: ../../mod/photos.php:890 ../../mod/photos.php:1140
-msgid "Permissions"
-msgstr "Oprávnění:"
-
-#: ../../mod/photos.php:945
-msgid "Edit Album"
-msgstr "Edituj album"
-
-#: ../../mod/photos.php:955 ../../mod/photos.php:1362
-msgid "View Photo"
-msgstr "Zobraz fotografii"
-
-#: ../../mod/photos.php:984
-msgid "Photo not available"
-msgstr "Fotografie není k dispozici"
-
-#: ../../mod/photos.php:1033
-msgid "Edit photo"
-msgstr "Editovat fotografii"
-
-#: ../../mod/photos.php:1034
-msgid "Use as profile photo"
-msgstr "Použít jako profilovou fotografii"
-
-#: ../../mod/photos.php:1040 ../../include/conversation.php:342
-msgid "Private Message"
-msgstr "Soukromá zpráva"
-
-#: ../../mod/photos.php:1051
-msgid "View Full Size"
-msgstr "Zobrazit v plné velikosti"
-
-#: ../../mod/photos.php:1119
-msgid "Tags: "
-msgstr "Štítky:"
-
-#: ../../mod/photos.php:1122
-msgid "[Remove any tag]"
-msgstr "[Odstranit všechny štítky]"
-
-#: ../../mod/photos.php:1133
-msgid "New album name"
-msgstr "Nové jméno alba"
-
-#: ../../mod/photos.php:1136
-msgid "Caption"
-msgstr "Titulek"
-
-#: ../../mod/photos.php:1138
-msgid "Add a Tag"
-msgstr "Přidat štítek"
-
-#: ../../mod/photos.php:1142
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr ""
-"Příklad: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-
-#: ../../mod/photos.php:1162 ../../include/conversation.php:390
-msgid "I like this (toggle)"
-msgstr "Líbí se mi to (přepínač)"
-
-#: ../../mod/photos.php:1163 ../../include/conversation.php:391
-msgid "I don't like this (toggle)"
-msgstr "Nelíbí se mi to (přepínač)"
-
-#: ../../mod/photos.php:1164 ../../include/conversation.php:392
-#: ../../include/conversation.php:746
-msgid "Share"
-msgstr "Sdílet"
-
-#: ../../mod/photos.php:1165 ../../mod/editpost.php:99
-#: ../../mod/message.php:190 ../../mod/message.php:324
-#: ../../include/conversation.php:393 ../../include/conversation.php:756
-msgid "Please wait"
-msgstr "Čekejte prosím"
-
-#: ../../mod/photos.php:1181 ../../mod/photos.php:1220
-#: ../../mod/photos.php:1251 ../../include/conversation.php:406
-msgid "This is you"
-msgstr "To je Vy"
-
-#: ../../mod/photos.php:1183 ../../mod/photos.php:1222
-#: ../../mod/photos.php:1253 ../../include/conversation.php:408
-#: ../../boot.php:411
-msgid "Comment"
-msgstr "Okomentovat"
-
-#: ../../mod/photos.php:1281 ../../mod/group.php:154 ../../mod/admin.php:468
-#: ../../include/conversation.php:427
-msgid "Delete"
-msgstr "Odstranit"
-
-#: ../../mod/photos.php:1349
-msgid "Recent Photos"
-msgstr "Aktuální fotografie"
-
-#: ../../mod/photos.php:1353
-msgid "Upload New Photos"
-msgstr "Nahrát nové fotografie"
-
-#: ../../mod/photos.php:1366
-msgid "View Album"
-msgstr "Zobrazit album"
-
-#: ../../mod/community.php:14
-msgid "Not available."
-msgstr "Není k dispozici."
-
-#: ../../mod/community.php:26 ../../include/nav.php:79
-msgid "Community"
-msgstr "Komunita"
-
-#: ../../mod/community.php:56 ../../mod/search.php:65
-msgid "No results."
-msgstr "Žádné výsledky."
-
-#: ../../mod/community.php:83 ../../mod/network.php:302
-#: ../../mod/register.php:504 ../../mod/profile.php:241
-#: ../../mod/display.php:117
-msgid ""
-"Shared content is covered by the <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons "
-"Attribution 3.0</a> license."
-msgstr ""
-"Sdílený obsah je v souladu s <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Commons Creative "
-"3.0</a> licencí."
-
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
-msgstr "Položka nenalezena"
-
-#: ../../mod/editpost.php:32
-msgid "Edit post"
-msgstr "Upravit příspěvek"
-
-#: ../../mod/editpost.php:75 ../../include/conversation.php:732
-msgid "Post to Email"
-msgstr "Poslat příspěvek na e-mail"
-
-#: ../../mod/editpost.php:90 ../../include/group.php:171
-#: ../../include/group.php:172 ../../include/conversation.php:417
-msgid "Edit"
-msgstr "Upravit"
-
-#: ../../mod/editpost.php:91 ../../mod/message.php:188
-#: ../../mod/message.php:322 ../../include/conversation.php:747
-msgid "Upload photo"
-msgstr "Nahrát fotografii"
-
-#: ../../mod/editpost.php:92 ../../include/conversation.php:748
-msgid "Attach file"
-msgstr "Přiložit soubor"
-
-#: ../../mod/editpost.php:93 ../../mod/message.php:189
-#: ../../mod/message.php:323 ../../include/conversation.php:749
-msgid "Insert web link"
-msgstr "Vložit webový odkaz"
-
-#: ../../mod/editpost.php:94 ../../include/conversation.php:750
-msgid "Insert YouTube video"
-msgstr "Vložit YouTube video"
-
-#: ../../mod/editpost.php:95 ../../include/conversation.php:751
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vložit Vorbis [.ogg] video"
-
-#: ../../mod/editpost.php:96 ../../include/conversation.php:752
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vložit Vorbis [.ogg] audio"
-
-#: ../../mod/editpost.php:97 ../../include/conversation.php:753
-msgid "Set your location"
-msgstr "Nastavte vaši polohu"
-
-#: ../../mod/editpost.php:98 ../../include/conversation.php:754
-msgid "Clear browser location"
-msgstr "Odstranit adresu v prohlížeči"
-
-#: ../../mod/editpost.php:100 ../../include/conversation.php:757
-msgid "Permission settings"
-msgstr "Nastavení oprávnění"
-
-#: ../../mod/editpost.php:108 ../../include/conversation.php:765
-msgid "CC: email addresses"
-msgstr "skrytá kopie: e-mailové adresy"
-
-#: ../../mod/editpost.php:109 ../../include/conversation.php:766
-msgid "Public post"
-msgstr "Veřejný příspěvek"
-
-#: ../../mod/editpost.php:111 ../../include/conversation.php:768
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Příklad: bob@example.com, mary@example.com"
-
-#: ../../mod/dfrn_request.php:96
-msgid "This introduction has already been accepted."
-msgstr "Toto pozvání již bylo přijato"
-
-#: ../../mod/dfrn_request.php:120 ../../mod/dfrn_request.php:351
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "Adresa profilu není platná nebo neobsahuje profilové informace"
-
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:356
-msgid "Warning: profile location has no identifiable owner name."
-msgstr ""
-"Varování: umístění profilu nemá žádné identifikovatelné jméno vlastníka"
-
-#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:358
-msgid "Warning: profile location has no profile photo."
-msgstr "Varování: umístění profilu nemá žádnou profilovou fotografii."
-
-#: ../../mod/dfrn_request.php:130 ../../mod/dfrn_request.php:361
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "%d požadovaný parametr nebyl nalezen na daném místě"
-msgstr[1] "%d požadované parametry nebyly nalezeny na daném místě"
-msgstr[2] "%d požadované parametry nebyly nalezeny na daném místě"
-
-#: ../../mod/dfrn_request.php:168
-msgid "Introduction complete."
-msgstr "Představení dokončeno."
-
-#: ../../mod/dfrn_request.php:192
-msgid "Unrecoverable protocol error."
-msgstr "Neopravitelná chyba protokolu"
-
-#: ../../mod/dfrn_request.php:220
-msgid "Profile unavailable."
-msgstr "Profil není k dispozici."
-
-#: ../../mod/dfrn_request.php:245
-#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s dnes obdržel příliš mnoho požadavků na připojení."
-
-#: ../../mod/dfrn_request.php:246
-msgid "Spam protection measures have been invoked."
-msgstr "Ochrana proti spamu byla aktivována"
-
-#: ../../mod/dfrn_request.php:247
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Přátelům se doporučuje to zkusit znovu za 24 hodin."
-
-#: ../../mod/dfrn_request.php:277
-msgid "Invalid locator"
-msgstr "Neplatný odkaz"
-
-#: ../../mod/dfrn_request.php:296
-msgid "Unable to resolve your name at the provided location."
-msgstr "Nepodařilo se zjistit Vaše jméno na zadané adrese."
-
-#: ../../mod/dfrn_request.php:309
-msgid "You have already introduced yourself here."
-msgstr "Již jste se zde zavedli."
-
-#: ../../mod/dfrn_request.php:313
-#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Zřejmě jste již přátelé se %s."
-
-#: ../../mod/dfrn_request.php:334
-msgid "Invalid profile URL."
-msgstr "Neplatné URL profilu."
-
-#: ../../mod/dfrn_request.php:340 ../../mod/follow.php:20
-msgid "Disallowed profile URL."
-msgstr "Nepovolené URL profilu."
-
-#: ../../mod/dfrn_request.php:406 ../../mod/contacts.php:116
-msgid "Failed to update contact record."
-msgstr "Nepodařilo se aktualizovat kontakt."
-
-#: ../../mod/dfrn_request.php:427
-msgid "Your introduction has been sent."
-msgstr "Vaše žádost o propojení byla odeslána."
-
-#: ../../mod/dfrn_request.php:481
-msgid "Please login to confirm introduction."
-msgstr "Prosím přihlašte se k potvrzení žádosti o propojení."
-
-#: ../../mod/dfrn_request.php:495
-msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr ""
-"Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do "
-"<strong>tohoto</strong> profilu."
-
-#: ../../mod/dfrn_request.php:507
-#, php-format
-msgid "Welcome home %s."
-msgstr "Vítejte doma %s."
-
-#: ../../mod/dfrn_request.php:508
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Prosím potvrďte Vaši žádost o představení/spojení %s."
-
-#: ../../mod/dfrn_request.php:509
-msgid "Confirm"
-msgstr "Potvrdit"
-
-#: ../../mod/dfrn_request.php:542 ../../include/items.php:1519
-msgid "[Name Withheld]"
-msgstr "[Jméno odepřeno]"
-
-#: ../../mod/dfrn_request.php:549
-msgid "Introduction received at "
-msgstr "Pozvánka přijata v"
-
-#: ../../mod/dfrn_request.php:551 ../../mod/lostpass.php:44
-#: ../../mod/lostpass.php:106 ../../mod/register.php:369
-#: ../../mod/register.php:423 ../../mod/regmod.php:54
-#: ../../mod/dfrn_notify.php:291 ../../mod/dfrn_notify.php:547
-#: ../../mod/dfrn_confirm.php:674 ../../include/items.php:1528
-msgid "Administrator"
-msgstr "Administrátor"
-
-#: ../../mod/dfrn_request.php:630
-msgid "Friend/Connection Request"
-msgstr "Požadavek o přátelství / propojení"
-
-#: ../../mod/dfrn_request.php:631
-msgid ""
-"Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr ""
-"Příklady: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, "
-"testuser@identi.ca"
-
-#: ../../mod/dfrn_request.php:632
-msgid "Please answer the following:"
-msgstr "Odpovězte, prosím, následující:"
-
-#: ../../mod/dfrn_request.php:633
-#, php-format
-msgid "Does %s know you?"
-msgstr "Zná Vás uživatel %s ?"
-
-#: ../../mod/dfrn_request.php:634 ../../mod/settings.php:415
-#: ../../mod/settings.php:421 ../../mod/settings.php:429
-#: ../../mod/settings.php:433 ../../mod/register.php:498
-#: ../../mod/profiles.php:354
-msgid "Yes"
-msgstr "Ano"
-
-#: ../../mod/dfrn_request.php:635 ../../mod/settings.php:415
-#: ../../mod/settings.php:421 ../../mod/settings.php:429
-#: ../../mod/settings.php:433 ../../mod/register.php:499
-#: ../../mod/profiles.php:355
-msgid "No"
-msgstr "Ne"
-
-#: ../../mod/dfrn_request.php:636
-msgid "Add a personal note:"
-msgstr "Přidat osobní poznámku:"
-
-#: ../../mod/dfrn_request.php:637
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"social networks:"
-msgstr ""
-"Prosím, zadejte adresu své 'identity' jedné z následujících podporovaných "
-"sociálních sítí:"
-
-#: ../../mod/dfrn_request.php:638
-msgid "Friendika"
-msgstr "Friendika"
-
-#: ../../mod/dfrn_request.php:639
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet / Federativní Sociální Web"
-
-#: ../../mod/dfrn_request.php:640
-msgid "Private (secure) network"
-msgstr "Soukromá (zabezpečená) síť"
-
-#: ../../mod/dfrn_request.php:641
-msgid "Public (insecure) network"
-msgstr "Veřejná (nezabezpečená) síť"
-
-#: ../../mod/dfrn_request.php:642
-msgid "Your Identity Address:"
-msgstr "Adresa Vaší identity :"
-
-#: ../../mod/dfrn_request.php:643
-msgid "Submit Request"
-msgstr "Odeslat žádost"
-
-#: ../../mod/install.php:34
-msgid "Could not create/connect to database."
-msgstr "Nelze vytvořit / připojit se k databázi."
-
-#: ../../mod/install.php:39
-msgid "Connected to database."
-msgstr "Připojeno k databázi."
-
-#: ../../mod/install.php:75
-msgid "Proceed with Installation"
-msgstr "Pokračovat v instalaci"
-
-#: ../../mod/install.php:77
-msgid "Your Friendika site database has been installed."
-msgstr "Vaše databáze Friendiky byla nainstalována."
-
-#: ../../mod/install.php:78
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "Důležité: Budete si muset [ručně] plánovat úlohu pro poller."
-
-#: ../../mod/install.php:79 ../../mod/install.php:89 ../../mod/install.php:207
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Přečtěte si prosím informace v souboru \"INSTALL.txt\"."
-
-#: ../../mod/install.php:81
-msgid "Proceed to registration"
-msgstr "Pokračovat k registraci"
-
-#: ../../mod/install.php:87
-msgid "Database import failed."
-msgstr "Import databáze se nezdařil."
-
-#: ../../mod/install.php:88
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr ""
-"Možná budete muset importovat soubor \"database.sql\" ručně pomocí "
-"phpMyAdmin či MySQL."
-
-#: ../../mod/install.php:101
-msgid "Welcome to Friendika."
-msgstr "Vítejte na Friendice."
-
-#: ../../mod/install.php:124
-msgid "Friendika Social Network"
-msgstr "Sociální síť Friendika "
-
-#: ../../mod/install.php:125
-msgid "Installation"
-msgstr "Instalace"
-
-#: ../../mod/install.php:126
-msgid ""
-"In order to install Friendika we need to know how to connect to your "
-"database."
-msgstr "Pro instalaci Friendika musíme vědět, jak se připojit k databázi."
-
-#: ../../mod/install.php:127
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr ""
-"Obraťte se na svého poskytovatele hostingu nebo administrátora serveru , "
-"pokud máte dotazy týkající se těchto nastavení."
-
-#: ../../mod/install.php:128
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr ""
-"Databázi, kterou uvedete níže by již měla existovat. Pokud tak není, "
-"prosíme, vytvořte ji před pokračováním."
-
-#: ../../mod/install.php:129
-msgid "Database Server Name"
-msgstr "Jméno databázového serveru"
-
-#: ../../mod/install.php:130
-msgid "Database Login Name"
-msgstr "Přihlašovací jméno k databázi"
-
-#: ../../mod/install.php:131
-msgid "Database Login Password"
-msgstr "Heslo k databázovému účtu "
-
-#: ../../mod/install.php:132
-msgid "Database Name"
-msgstr "Jméno databáze"
-
-#: ../../mod/install.php:133
-msgid "Please select a default timezone for your website"
-msgstr "Prosím, vyberte výchozí časové pásmo pro vaše webové stránky"
-
-#: ../../mod/install.php:134
-msgid ""
-"Site administrator email address. Your account email address must match this"
-" in order to use the web admin panel."
-msgstr ""
-"e-mailová adresa administrárota webu. E-mailová adresa vašeho účtu se musí "
-"shodovat, aby bylo možné využívat panel webové administrace."
-
-#: ../../mod/install.php:153
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru."
-
-#: ../../mod/install.php:154
-msgid ""
-"This is required. Please adjust the configuration file .htconfig.php "
-"accordingly."
-msgstr ""
-"Tento krok je nutný. Upravte příslušným způsobem konfigurační soubor "
-".htconfig.php."
-
-#: ../../mod/install.php:161
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr ""
-"Verze PHP pro příkazový řádek na vašem systému nemá povolen "
-"\"register_argc_argv\"."
-
-#: ../../mod/install.php:162
-msgid "This is required for message delivery to work."
-msgstr "Toto je nutné pro fungování doručování zpráv."
-
-#: ../../mod/install.php:184
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr ""
-"Chyba: funkce \"openssl_pkey_new\" na tomto systému není schopna generovat "
-"šifrovací klíče"
-
-#: ../../mod/install.php:185
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr ""
-"Pokud systém běží na Windows, seznamte se s "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-
-#: ../../mod/install.php:194
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr ""
-"Chyba: Požadovaný Apache webserver mod-rewrite modul není nainstalován."
-
-#: ../../mod/install.php:196
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Chyba: požadovaný libcurl PHP modul není nainstalován."
-
-#: ../../mod/install.php:198
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Chyba: požadovaný GD graphics PHP modul není nainstalován."
-
-#: ../../mod/install.php:200
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Chyba: požadovaný openssl PHP modul není nainstalován."
-
-#: ../../mod/install.php:202
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Chyba: požadovaný mysqli PHP modul není nainstalován."
-
-#: ../../mod/install.php:204
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Chyba: PHP modul mb_string je vyžadován, ale není nainstalován."
-
-#: ../../mod/install.php:216
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr ""
-"Webový instalátor musí být schopen vytvořit soubor s názvem "
-"\".htconfig.php\" v hlavním adresáři vašeho webového serveru ale nyní mu to "
-"není umožněno."
-
-#: ../../mod/install.php:217
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr ""
-"Toto je nejčastěji nastavením oprávnění, kdy webový server nemusí být "
-"schopen zapisovat soubory do vašeho adresáře - i když Vy můžete."
-
-#: ../../mod/install.php:218
-msgid ""
-"Please check with your site documentation or support people to see if this "
-"situation can be corrected."
-msgstr ""
-"Prosím, poraďte se s dokumentací k Vašemu hostingu nebo s technickou "
-"podporou, zda-li lze tuto situaci napravit."
-
-#: ../../mod/install.php:219
-msgid ""
-"If not, you may be required to perform a manual installation. Please see the"
-" file \"INSTALL.txt\" for instructions."
-msgstr ""
-"Pokud ne, může být vyžadováno provedení ruční instalace. Prosím, seznamte se"
-" s návodem popsaným v souboru \"INSTALL.txt\"."
-
-#: ../../mod/install.php:228
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr ""
-"Databázový konfigurační soubor \".htconfig.php\" nemohl být uložen. Prosím, "
-"použijte přiložený text k vytvoření konfiguračního souboru ve vašem "
-"kořenovém adresáři webového serveru."
-
-#: ../../mod/install.php:243
-msgid "Errors encountered creating database tables."
-msgstr "Při vytváření databázových tabulek došlo k chybám."
-
-#: ../../mod/update_community.php:18 ../../mod/update_network.php:22
-#: ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
-msgstr "[Vložený obsah - obnovení stránky pro zobrazení]"
-
-#: ../../mod/match.php:10
-msgid "Profile Match"
-msgstr "Shoda profilu"
-
-#: ../../mod/match.php:18
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr ""
-"Žádná klíčová slova k porovnání. Prosím, přidejte klíčová slova do Vašeho "
-"výchozího profilu."
-
-#: ../../mod/match.php:54
-msgid "No matches"
-msgstr "Žádné shody"
-
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Vzdálené soukromé informace nejsou k dispozici."
-
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
-msgstr "Viditelné pro:"
-
-#: ../../mod/home.php:23
-#, php-format
-msgid "Welcome to %s"
-msgstr "Vítá Vás %s"
-
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Neplatný identifikátor požadavku."
-
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:118
-#: ../../mod/notifications.php:162
-msgid "Discard"
-msgstr "Odstranit"
-
-#: ../../mod/notifications.php:47 ../../mod/notifications.php:117
-#: ../../mod/notifications.php:161
-msgid "Ignore"
-msgstr "Ignorovat"
-
-#: ../../mod/notifications.php:74
-msgid "Pending Friend/Connect Notifications"
-msgstr "Čekající požadavky na Přátelství / Připojení "
-
-#: ../../mod/notifications.php:78
-msgid "Show Ignored Requests"
-msgstr "Zobrazit ignorované žádosti"
-
-#: ../../mod/notifications.php:78
-msgid "Hide Ignored Requests"
-msgstr "Skrýt ignorované žádosti"
-
-#: ../../mod/notifications.php:105 ../../mod/notifications.php:148
-msgid "Notification type: "
-msgstr "Typ oznámení:"
-
-#: ../../mod/notifications.php:106
-msgid "Friend Suggestion"
-msgstr "Návrh přátelství"
-
-#: ../../mod/notifications.php:108
-#, php-format
-msgid "suggested by %s"
-msgstr "navrhl %s"
-
-#: ../../mod/notifications.php:114 ../../mod/notifications.php:159
-#: ../../mod/admin.php:466
-msgid "Approve"
-msgstr "Schválit"
-
-#: ../../mod/notifications.php:133
-msgid "Claims to be known to you: "
-msgstr "Vaši údajní známí:"
-
-#: ../../mod/notifications.php:133
-msgid "yes"
-msgstr "ano"
-
-#: ../../mod/notifications.php:133
-msgid "no"
-msgstr "ne"
-
-#: ../../mod/notifications.php:139
-msgid "Approve as: "
-msgstr "Schválit jako:"
-
-#: ../../mod/notifications.php:140
-msgid "Friend"
-msgstr "Přítel"
-
-#: ../../mod/notifications.php:141
-msgid "Fan/Admirer"
-msgstr "Fanoušek / obdivovatel"
-
-#: ../../mod/notifications.php:149
-msgid "Friend/Connect Request"
-msgstr "Přítel / žádost o připojení"
-
-#: ../../mod/notifications.php:149
-msgid "New Follower"
-msgstr "Nový následovník"
-
-#: ../../mod/notifications.php:168
-msgid "No notifications."
-msgstr "Žádné oznámení."
-
-#: ../../mod/contacts.php:26
-msgid "Invite Friends"
-msgstr "Pozvat přátele"
-
-#: ../../mod/contacts.php:32
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "Pozvánka %d k dispozici"
-msgstr[1] "Pozvánky %d k dispozici"
-msgstr[2] "Pozvánky %d k dispozici"
-
-#: ../../mod/contacts.php:41
-msgid "Find People With Shared Interests"
-msgstr "Najít lidi se společnými zájmy"
-
-#: ../../mod/contacts.php:45
-msgid "Connect/Follow"
-msgstr "Připojit / Následovat"
-
-#: ../../mod/contacts.php:46
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Příklad: jan@příklad.cz, http://příklad.cz/jana"
-
-#: ../../mod/contacts.php:47
-msgid "Follow"
-msgstr "Následovat"
-
-#: ../../mod/contacts.php:69 ../../mod/contacts.php:150
-msgid "Could not access contact record."
-msgstr "Nelze získat přístup k záznamu kontaktu."
-
-#: ../../mod/contacts.php:83
-msgid "Could not locate selected profile."
-msgstr "Nelze nalézt vybraný profil."
-
-#: ../../mod/contacts.php:114
-msgid "Contact updated."
-msgstr "Kontakt aktualizován."
-
-#: ../../mod/contacts.php:172
-msgid "Contact has been blocked"
-msgstr "Kontakt byl zablokován"
-
-#: ../../mod/contacts.php:172
-msgid "Contact has been unblocked"
-msgstr "Kontakt byl odblokován"
-
-#: ../../mod/contacts.php:186
-msgid "Contact has been ignored"
-msgstr "Kontakt bude ignorován"
-
-#: ../../mod/contacts.php:186
-msgid "Contact has been unignored"
-msgstr "Kontakt přestal být ignorován"
-
-#: ../../mod/contacts.php:207
-msgid "stopped following"
-msgstr "následování zastaveno"
-
-#: ../../mod/contacts.php:226
-msgid "Contact has been removed."
-msgstr "Kontakt byl odstraněn."
-
-#: ../../mod/contacts.php:254 ../../mod/contacts.php:397
-msgid "Mutual Friendship"
-msgstr "Vzájemné přátelství"
-
-#: ../../mod/contacts.php:258 ../../mod/contacts.php:401
-msgid "is a fan of yours"
-msgstr "je Váš fanoušek"
-
-#: ../../mod/contacts.php:263 ../../mod/contacts.php:405
-msgid "you are a fan of"
-msgstr "jste fanouškem"
-
-#: ../../mod/contacts.php:280
-msgid "Privacy Unavailable"
-msgstr "Ochrana soukromí není k dispozici"
-
-#: ../../mod/contacts.php:281
-msgid "Private communications are not available for this contact."
-msgstr "Soukromá komunikace není dostupná pro tento kontakt."
-
-#: ../../mod/contacts.php:284
-msgid "Never"
-msgstr "Nikdy"
-
-#: ../../mod/contacts.php:288
-msgid "(Update was successful)"
-msgstr "(Aktualizace byla úspěšná)"
-
-#: ../../mod/contacts.php:288
-msgid "(Update was not successful)"
-msgstr "(Aktualizace nebyla úspěšná)"
-
-#: ../../mod/contacts.php:291
-msgid "Suggest friends"
-msgstr "Navrhněte přátelé"
-
-#: ../../mod/contacts.php:295
-msgid "Contact Editor"
-msgstr "Editor kontaktu"
-
-#: ../../mod/contacts.php:297
-msgid "Profile Visibility"
-msgstr "Viditelnost profilu"
-
-#: ../../mod/contacts.php:298
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-"Vyberte prosím profil, který chcete zobrazit %s při zabezpečeném prohlížení "
-"vašeho profilu."
-
-#: ../../mod/contacts.php:299
-msgid "Contact Information / Notes"
-msgstr "Kontaktní informace / poznámky"
-
-#: ../../mod/contacts.php:300
-msgid "Online Reputation"
-msgstr "Online pověst"
-
-#: ../../mod/contacts.php:301
-msgid ""
-"Occasionally your friends may wish to inquire about this person's online "
-"legitimacy."
-msgstr ""
-"Občas mohou vaši přátelé chtít informovat o online legitimitě této osoby."
-
-#: ../../mod/contacts.php:302
-msgid ""
-"You may help them choose whether or not to interact with this person by "
-"providing a <em>reputation</em> to guide them."
-msgstr ""
-"Poskytnutím <em>pověsti</em> jim můžete pomoci se rozhodnout, zda-li s touto"
-" osobou komunikovat či nikoliv."
-
-#: ../../mod/contacts.php:303
-msgid ""
-"Please take a moment to elaborate on this selection if you feel it could be "
-"helpful to others."
-msgstr ""
-"Věnujte prosím chvilku vyplnění této volby, pokud máte pocit, že by mohlo "
-"být užitečné pro ostatní."
-
-#: ../../mod/contacts.php:304 ../../mod/contacts.php:421
-#: ../../mod/viewconnections.php:61
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Navštivte profil uživatele %s [%s]"
-
-#: ../../mod/contacts.php:305
-msgid "Block/Unblock contact"
-msgstr "Blokovat / Odblokovat kontakt"
-
-#: ../../mod/contacts.php:306
-msgid "Ignore contact"
-msgstr "Ignorovat kontakt"
-
-#: ../../mod/contacts.php:307
-msgid "Repair contact URL settings"
-msgstr "Opravit nastavení URL kontaktu"
-
-#: ../../mod/contacts.php:308
-msgid "Repair contact URL settings (WARNING: Advanced)"
-msgstr "Opravit nastavení URL kontaktu (Varování: Pokročilé)"
-
-#: ../../mod/contacts.php:309
-msgid "View conversations"
-msgstr "Zobrazit konverzace"
-
-#: ../../mod/contacts.php:312
-msgid "Delete contact"
-msgstr "Odstranit kontakt"
-
-#: ../../mod/contacts.php:314
-msgid "Last updated: "
-msgstr "Poslední aktualizace:"
-
-#: ../../mod/contacts.php:315
-msgid "Update public posts: "
-msgstr "Aktualizace veřejných příspěvků:"
-
-#: ../../mod/contacts.php:317 ../../mod/admin.php:701
-msgid "Update now"
-msgstr "Aktualizovat"
-
-#: ../../mod/contacts.php:320
-msgid "Unblock this contact"
-msgstr "Odblokovat tento kontakt"
-
-#: ../../mod/contacts.php:320
-msgid "Block this contact"
-msgstr "Blokovat tento kontakt"
-
-#: ../../mod/contacts.php:321
-msgid "Unignore this contact"
-msgstr "Přestat ignorovat tento kontakt"
-
-#: ../../mod/contacts.php:321
-msgid "Ignore this contact"
-msgstr "Ignorovat tento kontakt"
-
-#: ../../mod/contacts.php:324
-msgid "Currently blocked"
-msgstr "V současnosti zablokováno"
-
-#: ../../mod/contacts.php:325
-msgid "Currently ignored"
-msgstr "V současnosti ignorováno"
-
-#: ../../mod/contacts.php:356 ../../include/nav.php:110
-msgid "Contacts"
-msgstr "Kontakty"
-
-#: ../../mod/contacts.php:358
-msgid "Show Blocked Connections"
-msgstr "Zobrazit blokované spojení"
-
-#: ../../mod/contacts.php:358
-msgid "Hide Blocked Connections"
-msgstr "Skrýt blokované spojení"
-
-#: ../../mod/contacts.php:360 ../../mod/directory.php:55
-msgid "Finding: "
-msgstr "Zjištění: "
-
-#: ../../mod/contacts.php:361 ../../mod/directory.php:57
-msgid "Find"
-msgstr "Najít"
-
-#: ../../mod/contacts.php:422 ../../include/conversation.php:612
-msgid "Edit contact"
-msgstr "Editovat kontakt"
-
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
-msgstr "Nenalezen žádný platný účet."
-
-#: ../../mod/lostpass.php:31
-msgid "Password reset request issued. Check your email."
-msgstr ""
-"Žádost o obnovení hesla vyřízena. Zkontrolujte Vaši e-mailovou schránku."
-
-#: ../../mod/lostpass.php:42
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Na %s bylo zažádáno o resetování hesla"
-
-#: ../../mod/lostpass.php:64
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr ""
-"Žádost nemohla být ověřena. (Možná jste ji odeslali již dříve.) Obnovení "
-"hesla se nezdařilo."
-
-#: ../../mod/lostpass.php:82 ../../boot.php:654
-msgid "Password Reset"
-msgstr "Obnovení hesla"
-
-#: ../../mod/lostpass.php:83
-msgid "Your password has been reset as requested."
-msgstr "Vaše heslo bylo na Vaše přání resetováno."
-
-#: ../../mod/lostpass.php:84
-msgid "Your new password is"
-msgstr "Vaše nové heslo je"
-
-#: ../../mod/lostpass.php:85
-msgid "Save or copy your new password - and then"
-msgstr "Uložte si nebo zkopírujte nové heslo - a pak"
-
-#: ../../mod/lostpass.php:86
-msgid "click here to login"
-msgstr "klikněte zde pro přihlášení"
-
-#: ../../mod/lostpass.php:87
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr ""
-"Vaše heslo může být změněno na stránce <em>nastavení</em> po úspěšném "
-"přihlášení."
-
-#: ../../mod/lostpass.php:118
-msgid "Forgot your Password?"
-msgstr "Zapomněli jste heslo?"
-
-#: ../../mod/lostpass.php:119
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr ""
-"Zadejte svůj e-mailovou adresu a odešlete žádost o zaslání Vašeho nového "
-"hesla. Poté zkontrolujte svůj e-mail pro další instrukce."
-
-#: ../../mod/lostpass.php:120
-msgid "Nickname or Email: "
-msgstr "Přezdívka nebo e-mail:"
-
-#: ../../mod/lostpass.php:121
-msgid "Reset"
-msgstr "Reset"
-
-#: ../../mod/settings.php:64
-msgid "Passwords do not match. Password unchanged."
-msgstr "Hesla se neshodují. Heslo nebylo změněno."
-
-#: ../../mod/settings.php:69
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Prázdné hesla nejsou povolena. Heslo nebylo změněno."
-
-#: ../../mod/settings.php:80
-msgid "Password changed."
-msgstr "Heslo bylo změněno."
-
-#: ../../mod/settings.php:82
-msgid "Password update failed. Please try again."
-msgstr "Aktualizace hesla se nezdařila. Zkuste to prosím znovu."
-
-#: ../../mod/settings.php:161
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení."
-
-#: ../../mod/settings.php:188
-msgid " Please use a shorter name."
-msgstr "Prosím použijte kratší jméno."
-
-#: ../../mod/settings.php:190
-msgid " Name too short."
-msgstr "Jméno je příliš krátké."
-
-#: ../../mod/settings.php:196
-msgid " Not valid email."
-msgstr "Neplatný e-mail."
-
-#: ../../mod/settings.php:198
-msgid " Cannot change to that email."
-msgstr "Nelze provést změnu na tento e-mail."
-
-#: ../../mod/settings.php:257 ../../addon/facebook/facebook.php:297
-#: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:89
-#: ../../addon/twitter/twitter.php:275
-msgid "Settings updated."
-msgstr "Nastavení aktualizováno."
-
-#: ../../mod/settings.php:311 ../../include/nav.php:108
-msgid "Account settings"
-msgstr "Nastavení účtu"
-
-#: ../../mod/settings.php:312
-msgid "Plugin settings"
-msgstr "Nastavení pluginu"
-
-#: ../../mod/settings.php:322
-msgid "No Plugin settings configured"
-msgstr "Žádný doplněk není nastaven"
-
-#: ../../mod/settings.php:329 ../../addon/widgets/widgets.php:122
-msgid "Plugin Settings"
-msgstr "Nastavení doplňku"
-
-#: ../../mod/settings.php:382 ../../mod/admin.php:133 ../../mod/admin.php:443
-msgid "Normal Account"
-msgstr "Normální účet"
-
-#: ../../mod/settings.php:383
-msgid "This account is a normal personal profile"
-msgstr "Tento účet je běžný osobní profil"
-
-#: ../../mod/settings.php:386 ../../mod/admin.php:134 ../../mod/admin.php:444
-msgid "Soapbox Account"
-msgstr "Soapbox účet"
-
-#: ../../mod/settings.php:387
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr ""
-"Automaticky schválit všechna spojení / přátelství jako fanoušky s právem "
-"pouze ke čtení"
-
-#: ../../mod/settings.php:390 ../../mod/admin.php:135 ../../mod/admin.php:445
-msgid "Community/Celebrity Account"
-msgstr "Komunitní účet / Účet celebrity"
-
-#: ../../mod/settings.php:391
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr ""
-"Automaticky schvalovat všechny žádosti o spojení / přátelství, jako fanoušky"
-" s právem ke čtení."
-
-#: ../../mod/settings.php:394 ../../mod/admin.php:136 ../../mod/admin.php:446
-msgid "Automatic Friend Account"
-msgstr "Účet s automatickým schvalováním přátel"
-
-#: ../../mod/settings.php:395
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr ""
-"Automaticky schvalovat všechny žádosti o spojení / přátelství jako přátele"
-
-#: ../../mod/settings.php:405
-msgid "OpenID:"
-msgstr "OpenID:"
-
-#: ../../mod/settings.php:405
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Volitelné) Povolit OpenID pro přihlášení k tomuto účtu."
-
-#: ../../mod/settings.php:415
-msgid "Publish your default profile in your local site directory?"
-msgstr "Publikovat Váš výchozí profil v místním adresáři webu?"
-
-#: ../../mod/settings.php:421
-msgid "Publish your default profile in the global social directory?"
-msgstr "Publikovat Váš výchozí profil v globální sociálním adresáři?"
-
-#: ../../mod/settings.php:429
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr ""
-"Skrýt Vaše kontaktní údaje a seznam přátel před návštěvníky ve Vašem "
-"výchozím profilu?"
-
-#: ../../mod/settings.php:433
-msgid "Hide profile details and all your messages from unknown viewers?"
-msgstr "Skrýt detaily profilu a všechny zprávy před neznámými uživateli?"
-
-#: ../../mod/settings.php:442
-msgid "Profile is <strong>not published</strong>."
-msgstr "Profil <strong>není zveřejněn</strong>."
-
-#: ../../mod/settings.php:461 ../../mod/profile_photo.php:196
-msgid "or"
-msgstr "nebo"
-
-#: ../../mod/settings.php:466
-msgid "Your Identity Address is"
-msgstr "Vaše adresa identity je"
-
-#: ../../mod/settings.php:480
-msgid "Account Settings"
-msgstr "Nastavení účtu"
-
-#: ../../mod/settings.php:487
-msgid "Export Personal Data"
-msgstr "Export osobních údajů"
-
-#: ../../mod/settings.php:490
-msgid "Password Settings"
-msgstr "Nastavení hesla"
-
-#: ../../mod/settings.php:491
-msgid "New Password:"
-msgstr "Nové heslo:"
-
-#: ../../mod/settings.php:492
-msgid "Confirm:"
-msgstr "Potvrďte:"
-
-#: ../../mod/settings.php:492
-msgid "Leave password fields blank unless changing"
-msgstr "Pokud nechcete změnit heslo, položku hesla nevyplňujte"
-
-#: ../../mod/settings.php:496
-msgid "Basic Settings"
-msgstr "Základní nastavení"
-
-#: ../../mod/settings.php:497 ../../include/profile_advanced.php:10
-msgid "Full Name:"
-msgstr "Celé jméno:"
-
-#: ../../mod/settings.php:498
-msgid "Email Address:"
-msgstr "E-mailová adresa:"
-
-#: ../../mod/settings.php:499
-msgid "Your Timezone:"
-msgstr "Vaše časové pásmo:"
-
-#: ../../mod/settings.php:500
-msgid "Default Post Location:"
-msgstr "Výchozí umístění příspěvků:"
-
-#: ../../mod/settings.php:501
-msgid "Use Browser Location:"
-msgstr "Používat umístění dle prohlížeče:"
-
-#: ../../mod/settings.php:502
-msgid "Display Theme:"
-msgstr "Vybrat grafickou šablonu:"
-
-#: ../../mod/settings.php:506
-msgid "Security and Privacy Settings"
-msgstr "Nastavení zabezpečení a soukromí"
-
-#: ../../mod/settings.php:508
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximální počet žádostí o přátelství za den:"
-
-#: ../../mod/settings.php:508
-msgid "(to prevent spam abuse)"
-msgstr "(Aby se zabránilo spamu)"
-
-#: ../../mod/settings.php:509
-msgid "Default Post Permissions"
-msgstr "Výchozí oprávnění pro příspěvek"
-
-#: ../../mod/settings.php:510
-msgid "(click to open/close)"
-msgstr "(Klikněte pro otevření/zavření)"
-
-#: ../../mod/settings.php:514
-msgid "Allow friends to post to your profile page:"
-msgstr "Povolit přátelům příspěvky na Vaši profilovou stránku:"
-
-#: ../../mod/settings.php:515
-msgid "Automatically expire posts after days:"
-msgstr "Po kolika dnech automaticky expirovat příspěvky:"
-
-#: ../../mod/settings.php:515
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr ""
-"Pokud je prázdné, příspěvky nebudou nikdy expirovat. Expirované příspěvky "
-"budou vymazány"
-
-#: ../../mod/settings.php:524
-msgid "Notification Settings"
-msgstr "Nastavení notifikací"
-
-#: ../../mod/settings.php:525
-msgid "Send a notification email when:"
-msgstr "Poslat notifikaci e-mailem, když"
-
-#: ../../mod/settings.php:526
-msgid "You receive an introduction"
-msgstr "obdržíte žádost o propojení"
-
-#: ../../mod/settings.php:527
-msgid "Your introductions are confirmed"
-msgstr "Vaše žádosti jsou potvrzeny"
-
-#: ../../mod/settings.php:528
-msgid "Someone writes on your profile wall"
-msgstr "někdo Vám napíše na Vaši profilovou stránku"
-
-#: ../../mod/settings.php:529
-msgid "Someone writes a followup comment"
-msgstr "někdo Vám napíše následný komentář"
-
-#: ../../mod/settings.php:530
-msgid "You receive a private message"
-msgstr "obdržíte soukromou zprávu"
-
-#: ../../mod/settings.php:534
-msgid "Email/Mailbox Setup"
-msgstr "Nastavení e-mailu"
-
-#: ../../mod/settings.php:535
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr ""
-"Pokud chcete komunikovat pomocí této služby s Vašimi kontakty z e-mailu "
-"(volitelné), uveďte, jak se připojit k Vaší e-mailové schránce."
-
-#: ../../mod/settings.php:536
-msgid "Last successful email check:"
-msgstr "Poslední úspěšná kontrola e-mailu:"
-
-#: ../../mod/settings.php:537
-msgid "Email access is disabled on this site."
-msgstr "Přístup k elektronické poště je na tomto serveru zakázán."
-
-#: ../../mod/settings.php:538
-msgid "IMAP server name:"
-msgstr "jméno IMAP serveru:"
-
-#: ../../mod/settings.php:539
-msgid "IMAP port:"
-msgstr "IMAP port:"
-
-#: ../../mod/settings.php:540
-msgid "Security:"
-msgstr "Zabezpečení:"
-
-#: ../../mod/settings.php:540
-msgid "None"
-msgstr "Žádný"
-
-#: ../../mod/settings.php:541
-msgid "Email login name:"
-msgstr "přihlašovací jméno k e-mailu:"
-
-#: ../../mod/settings.php:542
-msgid "Email password:"
-msgstr "heslo k Vašemu e-mailu:"
-
-#: ../../mod/settings.php:543
-msgid "Reply-to address:"
-msgstr "Odpovědět na adresu:"
-
-#: ../../mod/settings.php:544
-msgid "Send public posts to all email contacts:"
-msgstr "Poslat veřejné příspěvky na všechny e-mailové kontakty:"
-
-#: ../../mod/settings.php:549
-msgid "Advanced Page Settings"
-msgstr "Pokročilé nastavení stránky"
-
-#: ../../mod/manage.php:37
-#, php-format
-msgid "Welcome back %s"
-msgstr "Vítejte zpět %s"
-
-#: ../../mod/manage.php:87
-msgid "Manage Identities and/or Pages"
-msgstr "Správa identit a / nebo stránek"
-
-#: ../../mod/manage.php:90
-msgid ""
-"(Toggle between different identities or community/group pages which share "
-"your account details.)"
-msgstr ""
-"(Přepínání mezi různými identitami nebo komunitními / skupinovými stránkami,"
-" které sdílejí Vaše detaily účtu.)"
-
-#: ../../mod/manage.php:92
-msgid "Select an identity to manage: "
-msgstr "Vyberte identitu pro správu:"
-
-#: ../../mod/network.php:27
-msgid "View Conversations"
-msgstr "Zobrazit konverzace"
-
-#: ../../mod/network.php:29
-msgid "View New Items"
-msgstr "Zobrazit nové položky"
-
-#: ../../mod/network.php:35
-msgid "View Any Items"
-msgstr "Zobrazit všechny položky"
-
-#: ../../mod/network.php:43
-msgid "View Starred Items"
-msgstr "Zobrazit položky označené hvězdu"
-
-#: ../../mod/network.php:94
-#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Upozornění: Tato skupina obsahuje %s člena z nezabezpečené sítě."
-msgstr[1] "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě."
-msgstr[2] "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě."
-
-#: ../../mod/network.php:97
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "Soukromé zprávy této skupině jsou vystaveny riziku prozrazení."
-
-#: ../../mod/network.php:164
-msgid "No such group"
-msgstr "Žádná taková skupina"
-
-#: ../../mod/network.php:175
-msgid "Group is empty"
-msgstr "Skupina je prázdná"
-
-#: ../../mod/network.php:180
-msgid "Group: "
-msgstr "Skupina:"
-
-#: ../../mod/network.php:190
-msgid "Contact: "
-msgstr "Kontakt:"
-
-#: ../../mod/network.php:192
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "Soukromé zprávy této osobě jsou vystaveny riziku prozrazení."
-
-#: ../../mod/network.php:197
-msgid "Invalid contact."
-msgstr "Neplatný kontakt."
-
-#: ../../mod/notes.php:74
-msgid "Save"
-msgstr "Uložit"
-
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendika"
-msgstr "Vítejte na Friendika"
-
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Seznam doporučení pro nového člena"
-
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page."
-msgstr ""
-"Dovolujeme si Vám nabídnout některé tipy a odkazy, abychom Vám zpříjemnili "
-"práci se systémem Friendika. Kliknutím na libovolnou položku navštívit "
-"příslušnou stránku."
-
-#: ../../mod/newmember.php:16
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This will be useful in making friends."
-msgstr ""
-"Na stránce <em>Nastavení</em> - změnit výchozí heslo. Poznamenejte si také "
-"adresu své identity. To může být užitečné při navazování přátelství."
-
-#: ../../mod/newmember.php:18
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr ""
-"Prohlédněte si další nastavení, a to zejména nastavení soukromí. "
-"Nezveřejnění svého účtu v adresáři je jako mít nezveřejněné telefonní číslo."
-" Obecně platí, že je lepší mít svůj účet zveřejněný, leda by všichni vaši "
-"potenciální přátelé věděli, jak vás přesně najít."
-
-#: ../../mod/newmember.php:20
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr ""
-"Nahrajte si svou profilovou fotku, pokud jste tak již neučinili. Studie "
-"ukázaly, že lidé se skutečnými fotografiemi mají desetkrát častěji přátele "
-"než lidé, kteří nemají."
-
-#: ../../mod/newmember.php:23
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr ""
-"Jestliže máte účet na Facebooku, povolte konektor na Facebook a bude možné "
-"(na přání) importovat všechny Vaš přátele na Facebooku a všechny Vaše "
-"konverzace."
-
-#: ../../mod/newmember.php:28
-msgid ""
-"Enter your email access information on your Settings page if you wish to "
-"import and interact with friends or mailing lists from your email INBOX"
-msgstr ""
-"na stránce Nastavení zadejte informace pro přístup k Vaší e-mailové stránce,"
-" pokud si přejete importovat a komunikovat s přáteli nebo distribučními "
-"skupinami z Vaší e-mailové schránky"
-
-#: ../../mod/newmember.php:30
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr ""
-"Upravit <strong>výchozí</strong> profil podle vašich představ. Prověřte "
-"nastavení pro skrytí Vašeho seznamu přátel a skrytí profilu před neznámými "
-"návštěvníky."
-
-#: ../../mod/newmember.php:32
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr ""
-"Nastavte si nějaká veřejné klíčová slova pro výchozí profil, která popisují "
-"vaše zájmy. Friendika Vám může nalézt další lidi s podobnými zájmy a "
-"navrhnout přátelství."
-
-#: ../../mod/newmember.php:34
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Connect</em> dialog."
-msgstr ""
-"Stránka Kontakty je Vaším odrazovým můstkem k řízení přátelství a spojení s "
-"kamarády v jiných sítích. Obvykle zadáte jejich adresu nebo adresu URL do "
-"dialogu <em>Připojit</em>."
-
-#: ../../mod/newmember.php:36
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr ""
-"Stránka Adresář Vám pomůže najít další lidi na tomto serveru nebo v jiných "
-"propojených serverech. Prostřednictvím odkazů <em>Připojení</em> nebo "
-"<em>Následovat</em> si prohlédněte jejich profilovou stránku. Uveďte svou "
-"vlastní adresu identity, je-li požadována."
-
-#: ../../mod/newmember.php:38
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr ""
-"Jakmile získáte nějaké přátele, uspořádejte si je do soukromých "
-"konverzačních skupin na postranním panelu vaší stránky Kontakty a pak můžete"
-" komunikovat s každou touto skupinu soukromě prostřednictvím stránky Síť."
-
-#: ../../mod/newmember.php:40
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr ""
-"Na stránkách <strong>Nápověda</strong> naleznete nejen další podrobnosti o "
-"všech funkcích Friendika ale také další zdroje informací."
-
-#: ../../mod/attach.php:8
-msgid "Item not available."
-msgstr "Položka není k dispozici."
-
-#: ../../mod/attach.php:20
-msgid "Item was not found."
-msgstr "Položka nebyla nalezena."
-
-#: ../../mod/group.php:27
-msgid "Group created."
-msgstr "Skupina vytvořena."
-
-#: ../../mod/group.php:33
-msgid "Could not create group."
-msgstr "Nelze vytvořit skupinu."
-
-#: ../../mod/group.php:43 ../../mod/group.php:123
-msgid "Group not found."
-msgstr "Skupina nenalezena."
-
-#: ../../mod/group.php:56
-msgid "Group name changed."
-msgstr "Název skupiny byl změněn."
-
-#: ../../mod/group.php:67 ../../mod/profperm.php:19 ../../index.php:265
-msgid "Permission denied"
-msgstr "Nedostatečné oprávnění"
-
-#: ../../mod/group.php:82
-msgid "Create a group of contacts/friends."
-msgstr "Vytvořit skupinu kontaktů / přátel."
-
-#: ../../mod/group.php:83 ../../mod/group.php:166
-msgid "Group Name: "
-msgstr "Název skupiny:"
-
-#: ../../mod/group.php:98
-msgid "Group removed."
-msgstr "Skupina odstraněna. "
-
-#: ../../mod/group.php:100
-msgid "Unable to remove group."
-msgstr "Nelze odstranit skupinu."
-
-#: ../../mod/group.php:164 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
-msgstr "Klikněte na kontakt pro přidání nebo odebrání"
-
-#: ../../mod/group.php:165
-msgid "Group Editor"
-msgstr "Editor skupin"
-
-#: ../../mod/group.php:180
-msgid "Members"
-msgstr "Členové"
-
-#: ../../mod/group.php:195
-msgid "All Contacts"
-msgstr "Všechny kontakty"
-
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
-msgstr "Neplatný identifikátor profilu."
-
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
-msgstr "Editor viditelnosti profilu "
-
-#: ../../mod/profperm.php:114
-msgid "Visible To"
-msgstr "Viditelný pro"
-
-#: ../../mod/profperm.php:128
-msgid "All Contacts (with secure profile access)"
-msgstr "Všechny kontakty (se zabezpečeným přístupovým profilem )"
-
-#: ../../mod/viewconnections.php:25 ../../include/text.php:555
-msgid "View Contacts"
-msgstr "Zobrazit kontakty"
-
-#: ../../mod/viewconnections.php:40
-msgid "No contacts."
-msgstr "Žádné kontakty."
-
-#: ../../mod/register.php:53
-msgid "An invitation is required."
-msgstr "Pozvánka je vyžadována."
-
-#: ../../mod/register.php:58
-msgid "Invitation could not be verified."
-msgstr "Pozvánka nemohla být ověřena."
-
-#: ../../mod/register.php:66
-msgid "Invalid OpenID url"
-msgstr "Neplatný odkaz OpenID"
-
-#: ../../mod/register.php:81
-msgid "Please enter the required information."
-msgstr "Zadejte prosím požadované informace."
-
-#: ../../mod/register.php:95
-msgid "Please use a shorter name."
-msgstr "Použijte prosím kratší jméno."
-
-#: ../../mod/register.php:97
-msgid "Name too short."
-msgstr "Jméno je příliš krátké."
-
-#: ../../mod/register.php:112
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Nezdá se, že by to bylo vaše celé jméno (křestní jméno a příjmení)."
-
-#: ../../mod/register.php:117
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Váš e-mailová doména není na tomto serveru mezi povolenými."
-
-#: ../../mod/register.php:120
-msgid "Not a valid email address."
-msgstr "Neplatná e-mailová adresa."
-
-#: ../../mod/register.php:130
-msgid "Cannot use that email."
-msgstr "Tento e-mail nelze použít."
-
-#: ../../mod/register.php:136
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr ""
-"Vaše \"přezdívka\" může obsahovat pouze \"a-z\", \"0-9\", \"-\", a \"_\", a "
-"musí začínat písmenem."
-
-#: ../../mod/register.php:142 ../../mod/register.php:243
-msgid "Nickname is already registered. Please choose another."
-msgstr "Přezdívka je již registrována. Prosím vyberte jinou."
-
-#: ../../mod/register.php:161
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "Závažná chyba: Generování bezpečnostních klíčů se nezdařilo."
-
-#: ../../mod/register.php:229
-msgid "An error occurred during registration. Please try again."
-msgstr "Došlo k chybě při registraci. Zkuste to prosím znovu."
-
-#: ../../mod/register.php:265
-msgid "An error occurred creating your default profile. Please try again."
-msgstr ""
-"Došlo k chybě při vytváření Vašeho výchozího profilu. Zkuste to prosím "
-"znovu."
-
-#: ../../mod/register.php:367 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registrační údaje pro %s"
-
-#: ../../mod/register.php:375
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr ""
-"Registrace úspěšná. Zkontrolujte prosím svůj e-mail pro další instrukce."
-
-#: ../../mod/register.php:379
-msgid "Failed to send email message. Here is the message that failed."
-msgstr ""
-"Nepodařilo se odeslat zprávu na e-mail. Zde je zpráva, která nebyla "
-"odeslána."
-
-#: ../../mod/register.php:384
-msgid "Your registration can not be processed."
-msgstr "Vaši registraci nelze zpracovat."
-
-#: ../../mod/register.php:421
-#, php-format
-msgid "Registration request at %s"
-msgstr "Žádost o registraci na %s"
-
-#: ../../mod/register.php:430
-msgid "Your registration is pending approval by the site owner."
-msgstr "Vaše registrace čeká na schválení vlastníkem serveru."
-
-#: ../../mod/register.php:479
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr ""
-"Tento formulář můžete (volitelně) vyplnit s pomocí OpenID tím, že vyplníte "
-"své OpenID a kliknutete na tlačítko 'Zaregistrovat'."
-
-#: ../../mod/register.php:480
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr ""
-"Pokud nepoužíváte OpenID, nechte prosím toto pole prázdné a vyplňte zbylé "
-"položky."
-
-#: ../../mod/register.php:481
-msgid "Your OpenID (optional): "
-msgstr "Vaše OpenID (nepovinné):"
-
-#: ../../mod/register.php:495
-msgid "Include your profile in member directory?"
-msgstr "Uvést Váš profil v adresáři členů?"
-
-#: ../../mod/register.php:511
-msgid "Membership on this site is by invitation only."
-msgstr "Členství na tomto webu je pouze na pozvání."
-
-#: ../../mod/register.php:512
-msgid "Your invitation ID: "
-msgstr "Vaše pozvání ID:"
-
-#: ../../mod/register.php:515 ../../mod/admin.php:299
-msgid "Registration"
-msgstr "Registrace"
-
-#: ../../mod/register.php:523
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Vaše celé jméno (např. Jan Novák):"
-
-#: ../../mod/register.php:524
-msgid "Your Email Address: "
-msgstr "Vaše e-mailová adresa:"
-
-#: ../../mod/register.php:525
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr ""
-"Vyberte přezdívku k profilu. Ta musí začít s textovým znakem. Vaše profilová"
-" adresa na tomto webu pak bude \"<strong>přezdívka@$sitename</strong>\"."
-
-#: ../../mod/register.php:526
-msgid "Choose a nickname: "
-msgstr "Vyberte přezdívku:"
-
-#: ../../mod/register.php:529 ../../include/nav.php:59 ../../boot.php:637
-msgid "Register"
-msgstr "Registrovat"
-
-#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:954
-#: ../../include/diaspora.php:446 ../../include/conversation.php:26
-#: ../../include/conversation.php:35
-msgid "status"
-msgstr "Stav"
-
-#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:958
-#: ../../include/diaspora.php:463 ../../include/conversation.php:43
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s má rád %2$s' na %3$s"
-
-#: ../../mod/like.php:129 ../../include/diaspora.php:465
-#: ../../include/conversation.php:46
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s nemá rád %2$s na %3$s"
-
-#: ../../mod/friendika.php:42
-msgid "This is Friendika version"
-msgstr "Toto je Friendika verze"
-
-#: ../../mod/friendika.php:43
-msgid "running at web location"
-msgstr "běžící na webu"
-
-#: ../../mod/friendika.php:45
-msgid ""
-"Shared content within the Friendika network is provided under the <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons "
-"Attribution 3.0 license</a>"
-msgstr ""
-"Sdílený obsah v síti Friendika je poskytována pod <a "
-"href=\"http://creativecommons.org/licenses/by/3.0/cz/\">licencí Creative "
-"Commons Attribution 3.0</a>"
-
-#: ../../mod/friendika.php:47
-msgid ""
-"Please visit <a "
-"href=\"http://project.friendika.com\">Project.Friendika.com</a> to learn "
-"more about the Friendika project."
-msgstr ""
-"Pokud se chcete dozvědět více o projektu Friendika, navštivte, prosím, <a "
-"href=\"http://project.friendika.com\">Project.Friendika.com</a>"
-
-#: ../../mod/friendika.php:49
-msgid "Bug reports and issues: please visit"
-msgstr "Pro hlášení chyb a námětů na změny navštivte:"
-
-#: ../../mod/friendika.php:50
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - "
-"dot com"
-msgstr ""
-"Návrhy, chválu, dary, atd. - prosím pošlete na e-mail \"Info\" na Friendika "
-"tečka com"
-
-#: ../../mod/friendika.php:55
-msgid "Installed plugins/addons/apps"
-msgstr "Nainstalované doplňky/aplikace"
-
-#: ../../mod/friendika.php:63
-msgid "No installed plugins/addons/apps"
-msgstr "Nejsou žádné nainstalované doplňky/aplikace"
-
-#: ../../mod/regmod.php:61
-msgid "Account approved."
-msgstr "Účet schválen."
-
-#: ../../mod/regmod.php:93
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrace zrušena pro %s"
-
-#: ../../mod/regmod.php:105
-msgid "Please login."
-msgstr "Přihlaste se, prosím."
-
-#: ../../mod/item.php:81
-msgid "Unable to locate original post."
-msgstr "Nelze nalézt původní příspěvek."
-
-#: ../../mod/item.php:196
-msgid "Empty post discarded."
-msgstr "Prázdný příspěvek odstraněn."
-
-#: ../../mod/item.php:296 ../../mod/message.php:93
-#: ../../mod/wall_upload.php:81 ../../mod/wall_upload.php:90
-#: ../../mod/wall_upload.php:97
-msgid "Wall Photos"
-msgstr "Fotografie na zdi"
-
-#: ../../mod/item.php:623 ../../mod/item.php:668 ../../mod/item.php:691
-#: ../../mod/item.php:734 ../../mod/dfrn_notify.php:293
-#: ../../mod/dfrn_notify.php:503 ../../mod/dfrn_notify.php:548
-#: ../../mod/dfrn_notify.php:634 ../../mod/dfrn_notify.php:677
-msgid "noreply"
-msgstr "bez odpovědi"
-
-#: ../../mod/item.php:667 ../../mod/item.php:733 ../../mod/dfrn_notify.php:676
-msgid "Administrator@"
-msgstr "Administrator@"
-
-#: ../../mod/item.php:670 ../../mod/dfrn_notify.php:550
-#: ../../mod/dfrn_notify.php:679
-#, php-format
-msgid "%s commented on an item at %s"
-msgstr "%s okomentoval položku v %s"
-
-#: ../../mod/item.php:736
-#, php-format
-msgid "%s posted to your profile wall at %s"
-msgstr "%s přidal příspěvek na vaší profilovou zeď v %s"
-
-#: ../../mod/item.php:765
-msgid "System error. Post not saved."
-msgstr "Chyba systému. Příspěvek nebyl uložen."
-
-#: ../../mod/item.php:784
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendika social "
-"network."
-msgstr "Tuto zprávu Vám zaslal %s, člen sociální sítě Friendika."
-
-#: ../../mod/item.php:786
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Můžete je navštívit online na adrese %s"
-
-#: ../../mod/item.php:787
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr ""
-"Pokud nechcete dostávat tyto zprávy, kontaktujte prosím odesilatele odpovědí"
-" na tento záznam."
-
-#: ../../mod/item.php:789
-#, php-format
-msgid "%s posted an update."
-msgstr "%s poslal aktualizaci."
-
-#: ../../mod/profile_photo.php:28
-msgid "Image uploaded but image cropping failed."
-msgstr "Obrázek byl odeslán, ale jeho oříznutí se nesdařilo."
-
-#: ../../mod/profile_photo.php:61 ../../mod/profile_photo.php:68
-#: ../../mod/profile_photo.php:75 ../../mod/profile_photo.php:248
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Nepodařilo se snížit velikost obrázku [%s]."
-
-#: ../../mod/profile_photo.php:95
-msgid "Unable to process image"
-msgstr "Obrázek nelze zpracovat "
-
-#: ../../mod/profile_photo.php:109 ../../mod/wall_upload.php:56
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Obrázek překročil limit velikosti %d"
-
-#: ../../mod/profile_photo.php:193
-msgid "Upload File:"
-msgstr "Nahrát soubor:"
-
-#: ../../mod/profile_photo.php:194
-msgid "Upload Profile Photo"
-msgstr "Nahrát profilovou fotografii"
-
-#: ../../mod/profile_photo.php:195
-msgid "Upload"
-msgstr "Nahrát"
-
-#: ../../mod/profile_photo.php:196
-msgid "skip this step"
-msgstr "přeskočit tento krok "
-
-#: ../../mod/profile_photo.php:196
-msgid "select a photo from your photo albums"
-msgstr "Vybrat fotografii z Vašich fotoalb"
-
-#: ../../mod/profile_photo.php:209
-msgid "Crop Image"
-msgstr "Oříznout obrázek"
-
-#: ../../mod/profile_photo.php:210
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Prosím, ořízněte tento obrázek pro optimální zobrazení."
-
-#: ../../mod/profile_photo.php:211
-msgid "Done Editing"
-msgstr "Editace dokončena"
-
-#: ../../mod/profile_photo.php:239
-msgid "Image uploaded successfully."
-msgstr "Obrázek byl úspěšně nahrán."
-
-#: ../../mod/hcard.php:11 ../../mod/profile.php:11 ../../boot.php:792
-msgid "No profile"
-msgstr "Žádný profil"
-
-#: ../../mod/removeme.php:42 ../../mod/removeme.php:45
-msgid "Remove My Account"
-msgstr "Odstranit můj účet"
-
-#: ../../mod/removeme.php:43
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr ""
-"Tímto bude kompletně odstraněn váš účet. Jakmile bude účet odstraněn, nebude"
-" už možné ho obnovit."
-
-#: ../../mod/removeme.php:44
-msgid "Please enter your password for verification:"
-msgstr "Prosím, zadejte své heslo pro ověření:"
-
-#: ../../mod/message.php:18
-msgid "No recipient selected."
-msgstr "Nevybrán příjemce."
-
-#: ../../mod/message.php:23
-msgid "[no subject]"
-msgstr "[bez předmětu]"
-
-#: ../../mod/message.php:34
-msgid "Unable to locate contact information."
-msgstr "Nepodařilo se najít kontaktní informace."
-
-#: ../../mod/message.php:102
-msgid "Message sent."
-msgstr "Zpráva odeslána."
-
-#: ../../mod/message.php:105
-msgid "Message could not be sent."
-msgstr "Zprávu se nepodařilo odeslat."
-
-#: ../../mod/message.php:125 ../../include/nav.php:102
-msgid "Messages"
-msgstr "Zprávy"
-
-#: ../../mod/message.php:126
-msgid "Inbox"
-msgstr "Doručená pošta"
-
-#: ../../mod/message.php:127
-msgid "Outbox"
-msgstr "Odeslaná pošta"
-
-#: ../../mod/message.php:128
-msgid "New Message"
-msgstr "Nová zpráva"
-
-#: ../../mod/message.php:142
-msgid "Message deleted."
-msgstr "Zpráva odstraněna."
-
-#: ../../mod/message.php:158
-msgid "Conversation removed."
-msgstr "Konverzace odstraněna."
-
-#: ../../mod/message.php:172 ../../include/conversation.php:699
-msgid "Please enter a link URL:"
-msgstr "Zadejte prosím URL odkaz:"
-
-#: ../../mod/message.php:180
-msgid "Send Private Message"
-msgstr "Odeslat soukromou zprávu"
-
-#: ../../mod/message.php:181 ../../mod/message.php:315
-msgid "To:"
-msgstr "Adresát:"
-
-#: ../../mod/message.php:182 ../../mod/message.php:316
-msgid "Subject:"
-msgstr "Předmět:"
-
-#: ../../mod/message.php:185 ../../mod/message.php:319
-#: ../../mod/invite.php:101
-msgid "Your message:"
-msgstr "Vaše zpráva:"
-
-#: ../../mod/message.php:224
-msgid "No messages."
-msgstr "Žádné zprávy."
-
-#: ../../mod/message.php:237
-msgid "Delete conversation"
-msgstr "Odstranit konverzaci"
-
-#: ../../mod/message.php:240
-msgid "D, d M Y - g:i A"
-msgstr "D M R - g:i A"
-
-#: ../../mod/message.php:267
-msgid "Message not available."
-msgstr "Zpráva není k dispozici."
-
-#: ../../mod/message.php:304
-msgid "Delete message"
-msgstr "Smazat zprávu"
-
-#: ../../mod/message.php:314
-msgid "Send Reply"
-msgstr "Poslat odpověď"
-
-#: ../../mod/admin.php:66 ../../mod/admin.php:297
-msgid "Site"
-msgstr "Web"
-
-#: ../../mod/admin.php:67 ../../mod/admin.php:460 ../../mod/admin.php:472
-msgid "Users"
-msgstr "Uživatelé"
-
-#: ../../mod/admin.php:68 ../../mod/admin.php:549 ../../mod/admin.php:586
-msgid "Plugins"
-msgstr "Pluginy"
-
-#: ../../mod/admin.php:69
-msgid "Update"
-msgstr "Aktualizace"
-
-#: ../../mod/admin.php:83 ../../mod/admin.php:651
-msgid "Logs"
-msgstr "Logy"
-
-#: ../../mod/admin.php:88
-msgid "User registrations waiting for confirmation"
-msgstr "Registrace uživatele čeká na potvrzení"
-
-#: ../../mod/admin.php:118 ../../mod/admin.php:502 ../../mod/display.php:25
-#: ../../mod/display.php:112 ../../include/items.php:1842
-msgid "Item not found."
-msgstr "Položka nenalezena."
-
-#: ../../mod/admin.php:151 ../../mod/admin.php:296 ../../mod/admin.php:459
-#: ../../mod/admin.php:548 ../../mod/admin.php:585 ../../mod/admin.php:650
-msgid "Administration"
-msgstr "Administrace"
-
-#: ../../mod/admin.php:152
-msgid "Summary"
-msgstr "Shrnutí"
-
-#: ../../mod/admin.php:153
-msgid "Registered users"
-msgstr "Registrovaní uživatelé"
-
-#: ../../mod/admin.php:155
-msgid "Pending registrations"
-msgstr "Čekající registrace"
-
-#: ../../mod/admin.php:156
-msgid "Version"
-msgstr "Verze"
-
-#: ../../mod/admin.php:158
-msgid "Active plugins"
-msgstr "Aktivní pluginy"
-
-#: ../../mod/admin.php:245
-msgid "Site settings updated."
-msgstr "Nastavení webu aktualizováno."
-
-#: ../../mod/admin.php:289
-msgid "Closed"
-msgstr "Uzavřít"
-
-#: ../../mod/admin.php:290
-msgid "Requires approval"
-msgstr "Vyžaduje schválení"
-
-#: ../../mod/admin.php:291
-msgid "Open"
-msgstr "Otevřená"
-
-#: ../../mod/admin.php:300
-msgid "File upload"
-msgstr "Nahrání souborů"
-
-#: ../../mod/admin.php:301
-msgid "Policies"
-msgstr "Politiky"
-
-#: ../../mod/admin.php:302
-msgid "Advanced"
-msgstr "Pokročilé"
-
-#: ../../mod/admin.php:306 ../../addon/statusnet/statusnet.php:459
-msgid "Site name"
-msgstr "Název webu"
-
-#: ../../mod/admin.php:307
-msgid "Banner/Logo"
-msgstr "Banner/logo"
-
-#: ../../mod/admin.php:308
-msgid "System language"
-msgstr "Systémový jazyk"
-
-#: ../../mod/admin.php:309
-msgid "System theme"
-msgstr "Grafická šablona systému "
-
-#: ../../mod/admin.php:311
-msgid "Maximum image size"
-msgstr "Maximální velikost obrazu"
-
-#: ../../mod/admin.php:313
-msgid "Register policy"
-msgstr "Politika registrace"
-
-#: ../../mod/admin.php:314
-msgid "Register text"
-msgstr "Registrace textu"
-
-#: ../../mod/admin.php:315
-msgid "Allowed friend domains"
-msgstr "Povolené domény přátel"
-
-#: ../../mod/admin.php:316
-msgid "Allowed email domains"
-msgstr "Povolené e-mailové domény"
-
-#: ../../mod/admin.php:317
-msgid "Block public"
-msgstr "Blokovat veřejnost"
-
-#: ../../mod/admin.php:318
-msgid "Force publish"
-msgstr "Publikovat"
-
-#: ../../mod/admin.php:319
-msgid "Global directory update URL"
-msgstr "aktualizace URL adresy Globálního adresáře "
-
-#: ../../mod/admin.php:321
-msgid "Block multiple registrations"
-msgstr "Blokovat více registrací"
-
-#: ../../mod/admin.php:322
-msgid "OpenID support"
-msgstr "podpora OpenID"
-
-#: ../../mod/admin.php:323
-msgid "Gravatar support"
-msgstr "podpora Gravatar"
-
-#: ../../mod/admin.php:324
-msgid "Fullname check"
-msgstr "kontrola úplného jména"
-
-#: ../../mod/admin.php:325
-msgid "UTF-8 Regular expressions"
-msgstr "UTF-8 Regulární výrazy"
-
-#: ../../mod/admin.php:326
-msgid "Show Community Page"
-msgstr "Zobrazit stránku komunity"
-
-#: ../../mod/admin.php:327
-msgid "Enable OStatus support"
-msgstr "Zapnout podporu OStatus"
-
-#: ../../mod/admin.php:328
-msgid "Only allow Friendika contacts"
-msgstr "Povolit pouze Friendika kontakty "
-
-#: ../../mod/admin.php:329
-msgid "Verify SSL"
-msgstr "Ověřit SSL"
-
-#: ../../mod/admin.php:330
-msgid "Proxy user"
-msgstr "Proxy uživatel"
-
-#: ../../mod/admin.php:331
-msgid "Proxy URL"
-msgstr "Proxy URL adresa"
-
-#: ../../mod/admin.php:332
-msgid "Network timeout"
-msgstr "čas síťového spojení vypršelo (timeout)"
-
-#: ../../mod/admin.php:353
-#, php-format
-msgid "%s user blocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s uživatel zablokován"
-msgstr[1] "%s uživatelů zablokováno / odblokováno"
-msgstr[2] "%s uživatelů zablokováno / odblokováno"
-
-#: ../../mod/admin.php:360
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s uživatel smazán"
-msgstr[1] "%s uživatelů smazáno"
-msgstr[2] "%s uživatelů smazáno"
-
-#: ../../mod/admin.php:394
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Uživatel '%s' smazán"
-
-#: ../../mod/admin.php:401
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Uživatel '%s' odblokován"
-
-#: ../../mod/admin.php:401
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Uživatel '%s' blokován"
-
-#: ../../mod/admin.php:462
-msgid "select all"
-msgstr "Vybrat vše"
-
-#: ../../mod/admin.php:463
-msgid "User registrations waiting for confirm"
-msgstr "Registrace uživatele čeká na potvrzení"
-
-#: ../../mod/admin.php:464
-msgid "Request date"
-msgstr "Datum žádosti"
-
-#: ../../mod/admin.php:464 ../../mod/admin.php:473
-msgid "Email"
-msgstr "E-mail"
-
-#: ../../mod/admin.php:465
-msgid "No registrations."
-msgstr "Žádné registrace."
-
-#: ../../mod/admin.php:467
-msgid "Deny"
-msgstr "Odmítnout"
-
-#: ../../mod/admin.php:469
-msgid "Block"
-msgstr "Blokovat"
-
-#: ../../mod/admin.php:470
-msgid "Unblock"
-msgstr "Odblokovat"
-
-#: ../../mod/admin.php:473
-msgid "Register date"
-msgstr "Datum registrace"
-
-#: ../../mod/admin.php:473
-msgid "Last login"
-msgstr "Datum posledního přihlášení"
-
-#: ../../mod/admin.php:473
-msgid "Last item"
-msgstr "Poslední položka"
-
-#: ../../mod/admin.php:473
-msgid "Account"
-msgstr "Účet"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr ""
-"Vybraní uživatelé budou smazáni!\\n\\n Vše, co tito uživatelé na těchto "
-"stránkách vytvořili, bude trvale odstraněno!\\n\\n Opravdu pokračovat?"
-
-#: ../../mod/admin.php:476
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr ""
-"Uživatel {0} bude smazán!\\n\\n Vše, co tento uživatel na těchto stránkách "
-"vytvořil, bude trvale odstraněno!\\n\\n Opravdu pokračovat?"
-
-#: ../../mod/admin.php:512
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s zakázán."
-
-#: ../../mod/admin.php:516
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s povolen."
-
-#: ../../mod/admin.php:526
-msgid "Disable"
-msgstr "Zakázat"
-
-#: ../../mod/admin.php:528
-msgid "Enable"
-msgstr "Povolit"
-
-#: ../../mod/admin.php:550
-msgid "Toggle"
-msgstr "Přepnout"
-
-#: ../../mod/admin.php:551 ../../include/nav.php:108
-msgid "Settings"
-msgstr "Nastavení"
-
-#: ../../mod/admin.php:613
-msgid "Log settings updated."
-msgstr "Nastavení protokolu aktualizováno."
-
-#: ../../mod/admin.php:653
-msgid "Clear"
-msgstr "Vyčistit"
-
-#: ../../mod/admin.php:659
-msgid "Debugging"
-msgstr "Ladění"
-
-#: ../../mod/admin.php:660
-msgid "Log file"
-msgstr "Soubor s logem"
-
-#: ../../mod/admin.php:660
-msgid "Must be writable by web server. Relative to your Friendika index.php."
-msgstr ""
-"Webový server musí mít práva zápisu . Relativní k index.php Friendika."
-
-#: ../../mod/admin.php:661
-msgid "Log level"
-msgstr "Úroveň auditu"
-
-#: ../../mod/admin.php:702
-msgid "Close"
-msgstr "Uzavřená"
-
-#: ../../mod/admin.php:708
-msgid "FTP Host"
-msgstr "Hostitel FTP"
-
-#: ../../mod/admin.php:709
-msgid "FTP Path"
-msgstr "Cesta FTP"
-
-#: ../../mod/admin.php:710
-msgid "FTP User"
-msgstr "FTP uživatel"
-
-#: ../../mod/admin.php:711
-msgid "FTP Password"
-msgstr "FTP heslo"
-
-#: ../../mod/profile.php:102 ../../mod/display.php:63
-msgid "Access to this profile has been restricted."
-msgstr "Přístup na tento profil byl omezen."
-
-#: ../../mod/profile.php:133
-msgid "Tips for New Members"
-msgstr "Tipy pro nové členy"
-
-#: ../../mod/openid.php:62 ../../mod/openid.php:122 ../../include/auth.php:120
-#: ../../include/auth.php:145 ../../include/auth.php:198
-msgid "Login failed."
-msgstr "Přihlášení se nezdařilo."
-
-#: ../../mod/openid.php:78 ../../include/auth.php:214
-msgid "Welcome "
-msgstr "Vítejte "
-
-#: ../../mod/openid.php:79 ../../include/auth.php:215
-msgid "Please upload a profile photo."
-msgstr "Prosím nahrejte profilovou fotografii"
-
-#: ../../mod/openid.php:82 ../../include/auth.php:218
-msgid "Welcome back "
-msgstr "Vítejte zpět "
-
-#: ../../mod/follow.php:39
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr ""
-"Tento web není nakonfigurován tak, aby umožňoval komunikaci s ostatními "
-"sítěmi."
-
-#: ../../mod/follow.php:40 ../../mod/follow.php:50
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Nenalezen žádný kompatibilní komunikační protokol nebo kanál."
-
-#: ../../mod/follow.php:48
-msgid "The profile address specified does not provide adequate information."
-msgstr "Uvedená adresa profilu neposkytuje dostatečné informace."
-
-#: ../../mod/follow.php:52
-msgid "An author or name was not found."
-msgstr "Autor nebo jméno nenalezeno"
-
-#: ../../mod/follow.php:54
-msgid "No browser URL could be matched to this address."
-msgstr "Této adrese neodpovídá žádné URL prohlížeče."
-
-#: ../../mod/follow.php:61
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr ""
-"Zadaná adresa profilu patří do sítě, která byla na tomto serveru zakázána."
-
-#: ../../mod/follow.php:66
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr ""
-"Omezený profil. Tato osoba nebude schopna od Vás přijímat přímé / osobní "
-"sdělení."
-
-#: ../../mod/follow.php:122
-msgid "Unable to retrieve contact information."
-msgstr "Nepodařilo se získat kontaktní informace."
-
-#: ../../mod/follow.php:168
-msgid "following"
-msgstr "následující"
-
-#: ../../mod/display.php:105
-msgid "Item has been removed."
-msgstr "Položka byla odstraněna."
-
-#: ../../mod/dfrn_notify.php:353
-msgid "New mail received at "
-msgstr "Přišel nový e-mail v"
-
-#: ../../mod/apps.php:6
-msgid "Applications"
-msgstr "Aplikace"
-
-#: ../../mod/apps.php:11
-msgid "No installed applications."
-msgstr "Žádné nainstalované aplikace."
-
-#: ../../mod/search.php:26 ../../include/text.php:610 ../../include/nav.php:69
-msgid "Search"
-msgstr "Vyhledávání"
-
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:236
-#: ../../mod/profiles.php:341 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
-msgstr "Profil nenalezen"
-
-#: ../../mod/profiles.php:28
-msgid "Profile Name is required."
-msgstr "Jméno profilu je povinné."
-
-#: ../../mod/profiles.php:198
-msgid "Profile updated."
-msgstr "Profil aktualizován."
-
-#: ../../mod/profiles.php:253
-msgid "Profile deleted."
-msgstr "Profil smazán."
-
-#: ../../mod/profiles.php:269 ../../mod/profiles.php:300
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../mod/profiles.php:288 ../../mod/profiles.php:327
-msgid "New profile created."
-msgstr "Nový profil vytvořen."
-
-#: ../../mod/profiles.php:306
-msgid "Profile unavailable to clone."
-msgstr "Profil není možné naklonovat."
-
-#: ../../mod/profiles.php:353
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr ""
-"Skrýt u tohoto profilu vaše kontakty / seznam přátel před před dalšími "
-"uživateli zobrazující si tento profil?"
-
-#: ../../mod/profiles.php:371
-msgid "Edit Profile Details"
-msgstr "Upravit podrobnosti profilu "
-
-#: ../../mod/profiles.php:373
-msgid "View this profile"
-msgstr "Zobrazit tento profil"
-
-#: ../../mod/profiles.php:374
-msgid "Create a new profile using these settings"
-msgstr "Vytvořit nový profil pomocí tohoto nastavení"
-
-#: ../../mod/profiles.php:375
-msgid "Clone this profile"
-msgstr "Klonovat tento profil"
-
-#: ../../mod/profiles.php:376
-msgid "Delete this profile"
-msgstr "Smazat tento profil"
-
-#: ../../mod/profiles.php:377
-msgid "Profile Name:"
-msgstr "Jméno profilu:"
-
-#: ../../mod/profiles.php:378
-msgid "Your Full Name:"
-msgstr "Vaše celé jméno:"
-
-#: ../../mod/profiles.php:379
-msgid "Title/Description:"
-msgstr "Název / Popis:"
-
-#: ../../mod/profiles.php:380
-msgid "Your Gender:"
-msgstr "Vaše pohlaví:"
-
-#: ../../mod/profiles.php:381
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Narozeniny uživatele (%s):"
-
-#: ../../mod/profiles.php:382
-msgid "Street Address:"
-msgstr "Ulice:"
-
-#: ../../mod/profiles.php:383
-msgid "Locality/City:"
-msgstr "Město:"
-
-#: ../../mod/profiles.php:384
-msgid "Postal/Zip Code:"
-msgstr "PSČ:"
-
-#: ../../mod/profiles.php:385
-msgid "Country:"
-msgstr "Země:"
-
-#: ../../mod/profiles.php:386
-msgid "Region/State:"
-msgstr "Region / stát:"
-
-#: ../../mod/profiles.php:387
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Rodinný stav:"
-
-#: ../../mod/profiles.php:388
-msgid "Who: (if applicable)"
-msgstr "Kdo: (pokud je možné)"
-
-#: ../../mod/profiles.php:389
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Příklady: jan123, Jan Novák, jan@seznam.cz"
-
-#: ../../mod/profiles.php:390 ../../include/profile_advanced.php:90
-msgid "Sexual Preference:"
-msgstr "Sexuální preference:"
-
-#: ../../mod/profiles.php:391
-msgid "Homepage URL:"
-msgstr "Odkaz na domovskou stránku:"
-
-#: ../../mod/profiles.php:392 ../../include/profile_advanced.php:115
-msgid "Political Views:"
-msgstr "Politické přesvědčení:"
-
-#: ../../mod/profiles.php:393
-msgid "Religious Views:"
-msgstr "Náboženské přesvědčení:"
-
-#: ../../mod/profiles.php:394
-msgid "Public Keywords:"
-msgstr "Veřejná klíčová slova:"
-
-#: ../../mod/profiles.php:395
-msgid "Private Keywords:"
-msgstr "Soukromá klíčová slova:"
-
-#: ../../mod/profiles.php:396
-msgid "Example: fishing photography software"
-msgstr "Příklad: fishing photography software"
-
-#: ../../mod/profiles.php:397
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr ""
-"(Používá se pro doporučování potenciálních přátel, může být viděno "
-"ostatními)"
-
-#: ../../mod/profiles.php:398
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Používá se pro vyhledávání profilů, není nikdy zobrazeno ostatním)"
-
-#: ../../mod/profiles.php:399
-msgid "Tell us about yourself..."
-msgstr "Řekněte nám něco o sobě ..."
-
-#: ../../mod/profiles.php:400
-msgid "Hobbies/Interests"
-msgstr "Koníčky/zájmy"
-
-#: ../../mod/profiles.php:401
-msgid "Contact information and Social Networks"
-msgstr "Kontaktní informace a sociální sítě"
-
-#: ../../mod/profiles.php:402
-msgid "Musical interests"
-msgstr "Hudební vkus"
-
-#: ../../mod/profiles.php:403
-msgid "Books, literature"
-msgstr "Knihy, literatura"
-
-#: ../../mod/profiles.php:404
-msgid "Television"
-msgstr "Televize"
-
-#: ../../mod/profiles.php:405
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/tanec/kultura/zábava"
-
-#: ../../mod/profiles.php:406
-msgid "Love/romance"
-msgstr "Láska/romantika"
-
-#: ../../mod/profiles.php:407
-msgid "Work/employment"
-msgstr "Práce/zaměstnání"
-
-#: ../../mod/profiles.php:408
-msgid "School/education"
-msgstr "Škola/vzdělání"
-
-#: ../../mod/profiles.php:413
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr ""
-"Toto je váš <strong>veřejný</strong> profil.<br />Ten <strong>může</strong> "
-"být viditelný kýmkoliv na internetu."
-
-#: ../../mod/profiles.php:423 ../../mod/directory.php:112
-msgid "Age: "
-msgstr "Věk: "
-
-#: ../../mod/profiles.php:458 ../../include/nav.php:109
-msgid "Profiles"
-msgstr "Profily"
-
-#: ../../mod/profiles.php:459
-msgid "Change profile photo"
-msgstr "Změnit profilovou fotografii"
-
-#: ../../mod/profiles.php:460
-msgid "Create New Profile"
-msgstr "Vytvořit nový profil"
-
-#: ../../mod/profiles.php:470
-msgid "Profile Image"
-msgstr "Profilový obrázek"
-
-#: ../../mod/profiles.php:472
-msgid "visible to everybody"
-msgstr "viditelné pro všechny"
-
-#: ../../mod/profiles.php:473
-msgid "Edit visibility"
-msgstr "Upravit viditelnost"
-
-#: ../../mod/directory.php:40
-msgid "Global Directory"
-msgstr "Globální adresář"
-
-#: ../../mod/directory.php:46
-msgid "Normal site view"
-msgstr "Normální zobrazení stránky"
-
-#: ../../mod/directory.php:48
-msgid "View all site entries"
-msgstr "Zobrazit všechny položky stránky"
-
-#: ../../mod/directory.php:56
-msgid "Site Directory"
-msgstr "Adresář serveru"
-
-#: ../../mod/directory.php:115
-msgid "Gender: "
-msgstr "Pohlaví: "
-
-#: ../../mod/directory.php:141
-msgid "No entries (some entries may be hidden)."
-msgstr "Žádné záznamy (některé položky mohou být skryty)."
-
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : není platná e-mailová adresa."
-
-#: ../../mod/invite.php:59
-#, php-format
-msgid "Please join my network on %s"
-msgstr "Prosím, připojte se do mé sítě na %s"
-
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Doručení zprávy se nezdařilo."
-
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d zpráva odeslána."
-msgstr[1] "%d zprávy odeslány."
-msgstr[2] "%d zprávy odeslány."
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
-msgstr "Nemáte k dispozici žádné další pozvánky"
-
-#: ../../mod/invite.php:99
-msgid "Send invitations"
-msgstr "Poslat pozvánky"
-
-#: ../../mod/invite.php:100
-msgid "Enter email addresses, one per line:"
-msgstr "Zadejte e-mailové adresy, jednu na řádek:"
-
-#: ../../mod/invite.php:102
-#, php-format
-msgid "Please join my social network on %s"
-msgstr "Prosím, připojte se do mé sociální sítě na %s"
-
-#: ../../mod/invite.php:103
-msgid "To accept this invitation, please visit:"
-msgstr "Chcete-li toto pozvání přijmout, navštivte prosím:"
-
-#: ../../mod/invite.php:104
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Budete muset zadat kód této pozvánky: $invite_code"
-
-#: ../../mod/invite.php:104
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr ""
-"Jakmile se zaregistrujete, prosím spojte se se mnou přes mou profilovu "
-"stránku na:"
-
-#: ../../mod/dfrn_confirm.php:233
-msgid "Response from remote site was not understood."
-msgstr "Odpověď ze vzdáleného serveru nebyla srozumitelná."
-
-#: ../../mod/dfrn_confirm.php:242
-msgid "Unexpected response from remote site: "
-msgstr "Neočekávaná odpověď od vzdáleného serveru:"
-
-#: ../../mod/dfrn_confirm.php:250
-msgid "Confirmation completed successfully."
-msgstr "Potvrzení úspěšně dokončena."
-
-#: ../../mod/dfrn_confirm.php:252 ../../mod/dfrn_confirm.php:266
-#: ../../mod/dfrn_confirm.php:273
-msgid "Remote site reported: "
-msgstr "Vzdálený server oznámil:"
-
-#: ../../mod/dfrn_confirm.php:264
-msgid "Temporary failure. Please wait and try again."
-msgstr "Dočasné selhání. Prosím, vyčkejte a zkuste to znovu."
-
-#: ../../mod/dfrn_confirm.php:271
-msgid "Introduction failed or was revoked."
-msgstr "Žádost o propojení selhala nebo byla zrušena."
-
-#: ../../mod/dfrn_confirm.php:393
-msgid "Unable to set contact photo."
-msgstr "Nelze nastavit fotografii kontaktu."
-
-#: ../../mod/dfrn_confirm.php:436 ../../include/conversation.php:79
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s je nyní přítel s %2$s"
-
-#: ../../mod/dfrn_confirm.php:507
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Pro '%s' nenalezen žádný uživatelský záznam "
-
-#: ../../mod/dfrn_confirm.php:517
-msgid "Our site encryption key is apparently messed up."
-msgstr "Náš šifrovací klíč zřejmě přestal správně fungovat."
-
-#: ../../mod/dfrn_confirm.php:528
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr ""
-"Byla poskytnuta prázdná URL adresa nebo se nepodařilo URL adresu dešifrovat."
-
-#: ../../mod/dfrn_confirm.php:549
-msgid "Contact record was not found for you on our site."
-msgstr "Kontakt záznam nebyl nalezen pro vás na našich stránkách."
-
-#: ../../mod/dfrn_confirm.php:578
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr ""
-"Váš systém poskytl duplicitní ID vůči našemu systému. Pokuste se akci "
-"zopakovat."
-
-#: ../../mod/dfrn_confirm.php:589
-msgid "Unable to set your contact credentials on our system."
-msgstr "Nelze nastavit Vaše přihlašovací údaje v našem systému."
-
-#: ../../mod/dfrn_confirm.php:642
-msgid "Unable to update your contact profile details on our system"
-msgstr "Nelze aktualizovat Váš profil v našem systému"
-
-#: ../../mod/dfrn_confirm.php:672
-#, php-format
-msgid "Connection accepted at %s"
-msgstr "Připojení přijato na %s"
-
-#: ../../addon/facebook/facebook.php:314
-msgid "Facebook disabled"
-msgstr "Facebook zakázán"
-
-#: ../../addon/facebook/facebook.php:319
-msgid "Updating contacts"
-msgstr "Aktualizace kontaktů"
-
-#: ../../addon/facebook/facebook.php:328
-msgid "Facebook API key is missing."
-msgstr "Chybí Facebook API klíč."
-
-#: ../../addon/facebook/facebook.php:335
-msgid "Facebook Connect"
-msgstr "Facebook připojen"
-
-#: ../../addon/facebook/facebook.php:341
-msgid "Install Facebook connector for this account."
-msgstr "Nainstalovat pro tento účet Facebook konektor."
-
-#: ../../addon/facebook/facebook.php:348
-msgid "Remove Facebook connector"
-msgstr "Odstranit konektor na Facebook"
-
-#: ../../addon/facebook/facebook.php:354
-msgid "Post to Facebook by default"
-msgstr "Standardně posílat příspěvky na Facebook"
-
-#: ../../addon/facebook/facebook.php:358
-msgid "Link all your Facebook friends and conversations"
-msgstr "Připojit všechny své přátele na Facebooku a konverzace"
-
-#: ../../addon/facebook/facebook.php:363
-msgid "Warning: Your Facebook privacy settings can not be imported."
-msgstr ""
-"Upozornění: nastavení ochrany osobních údajů na Facebooku nelze importovat."
-
-#: ../../addon/facebook/facebook.php:364
-msgid ""
-"Linked Facebook items <strong>may</strong> be publicly visible, depending on"
-" your privacy settings for this website/account."
-msgstr ""
-"Propojené položky z Facebook <strong>mohou</strong> být veřejně viditelné, v"
-" závislosti na nastavení ochrany osobních údajů pro tuto webovou "
-"stránku/účet."
-
-#: ../../addon/facebook/facebook.php:419
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../addon/facebook/facebook.php:420
-msgid "Facebook Connector Settings"
-msgstr "Nastavení Facebook konektoru "
-
-#: ../../addon/facebook/facebook.php:434
-msgid "Post to Facebook"
-msgstr "Přidat příspěvek na Facebook"
-
-#: ../../addon/facebook/facebook.php:507
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
-msgstr ""
-"Příspěvek na Facebook zrušen kvůli konfliktu přístupových práv mezi sítěmi."
-
-#: ../../addon/facebook/facebook.php:580
-msgid "Image: "
-msgstr "Obrázek: "
-
-#: ../../addon/facebook/facebook.php:656
-msgid "View on Friendika"
-msgstr "Pohled na Friendiku"
-
-#: ../../addon/facebook/facebook.php:687
-msgid "Facebook post failed. Queued for retry."
-msgstr ""
-"Zaslání příspěvku na Facebook selhalo. Příspěvek byl zařazen do fronty pro "
-"opakované odeslání."
-
-#: ../../addon/widgets/widgets.php:53
-msgid "Generate new key"
-msgstr "Generovat nové klíče"
-
-#: ../../addon/widgets/widgets.php:56
-msgid "Widgets key"
-msgstr "Widgety klíč"
-
-#: ../../addon/widgets/widgets.php:58
-msgid "Widgets available"
-msgstr "Widgety k dispozici"
-
-#: ../../addon/widgets/widget_friends.php:30
-msgid "Connect on Friendika!"
-msgstr "Spojit se na Friendice!"
-
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr "Trojrozměrné Tic-Tac-Toe"
-
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr "3D Tic-Tac-Toe"
-
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
-msgstr "Nová hra"
-
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
-msgstr "Nová hra s handicapem"
-
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
-msgstr ""
-"Trojrozměrné tic-tac-toe je podobná této tradiční hře kromě toho, že se "
-"hraje na více úrovních současně."
-
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr ""
-"V tomto případě existují tři úrovně. Vyhrajete tím, že dostane tři v řadě na"
-" jakékoli úrovni, stejně jako nahoru, dolů a šikmo na různých úrovních."
-
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr ""
-"Hra s handicapem zakáže centrální pozici na střední úrovni, protože hráč "
-"zaujímající tuto polohu má často nespravedlivou výhodu."
-
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr "Vy začněte ..."
-
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr "Tentokrát začnu já..."
-
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr "Vyhrál jste!"
-
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr "\"Kočičí\" hra!"
-
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr "Vyhrál jsem!"
-
-#: ../../addon/randplace/randplace.php:170
-msgid "Randplace Settings"
-msgstr "Randplace Nastavení"
-
-#: ../../addon/randplace/randplace.php:172
-msgid "Enable Randplace Plugin"
-msgstr "Povolit Randplace Plugin"
-
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr "Nahrát soubor"
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr "Přeneste sem soubory k nahrání"
-
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
-msgstr "Neúspěch"
-
-#: ../../addon/js_upload/js_upload.php:292
-msgid "No files were uploaded."
-msgstr "Žádné soubory nebyly nahrány."
-
-#: ../../addon/js_upload/js_upload.php:298
-msgid "Uploaded file is empty"
-msgstr "Nahraný soubor je prázdný"
-
-#: ../../addon/js_upload/js_upload.php:321
-msgid "File has an invalid extension, it should be one of "
-msgstr "Soubor má neplatnou příponu, ta by měla být jednou z"
-
-#: ../../addon/js_upload/js_upload.php:332
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Nahrávání bylo zrušeno nebo došlo k chybě na serveru"
-
-#: ../../addon/impressum/impressum.php:25
-msgid "Impressum"
-msgstr "Impressum"
-
-#: ../../addon/impressum/impressum.php:38
-#: ../../addon/impressum/impressum.php:40
-#: ../../addon/impressum/impressum.php:70
-msgid "Site Owner"
-msgstr "Vlastník webu"
-
-#: ../../addon/impressum/impressum.php:38
-#: ../../addon/impressum/impressum.php:74
-msgid "Email Address"
-msgstr "E-mailová adresa"
-
-#: ../../addon/impressum/impressum.php:43
-#: ../../addon/impressum/impressum.php:72
-msgid "Postal Address"
-msgstr "Poštovní adresa"
-
-#: ../../addon/impressum/impressum.php:49
-msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr ""
-"Doplněk Impressum musí být nakonfigurován!<br/>Prosím, přidejte alespoň "
-"proměnnou <tt>owner</tt> do konfiguračního souboru. Pro nastavení ostatních "
-"proměnných se seznamte s nápovědou v souboru README tohoto doplňku."
-
-#: ../../addon/impressum/impressum.php:71
-msgid "Site Owners Profile"
-msgstr "Profil majitele webu"
-
-#: ../../addon/impressum/impressum.php:73
-msgid "Notes"
-msgstr "Poznámky"
-
-#: ../../addon/oembed/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr "OEmbed nastavení aktualizováno"
-
-#: ../../addon/oembed/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr "Použití OEmbed pro videa na YouTube"
-
-#: ../../addon/oembed/oembed.php:71
-msgid "URL to embed:"
-msgstr "URL adresa k vložení:"
-
-#: ../../addon/statusnet/statusnet.php:133
-msgid "Post to StatusNet"
-msgstr "Poslat příspěvek na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:175
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
-msgstr ""
-"Obraťte se na administratora webu.<br />Poskytnutý odkaz na API není platný."
-
-#: ../../addon/statusnet/statusnet.php:203
-msgid "We could not contact the StatusNet API with the Path you entered."
-msgstr ""
-"S cestou, kterou jste zadali, se nebylo možné spojit s API StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:230
-msgid "StatusNet settings updated."
-msgstr "Nastavení StatusNetu aktualizováno."
-
-#: ../../addon/statusnet/statusnet.php:253
-msgid "StatusNet Posting Settings"
-msgstr "Nastavení zasílání příspěvků na StatusNet "
-
-#: ../../addon/statusnet/statusnet.php:267
-msgid "Globally Available StatusNet OAuthKeys"
-msgstr "Globálně dostupné StatusNet OAuth klíče"
-
-#: ../../addon/statusnet/statusnet.php:268
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
-msgstr ""
-"Jsou dostupné přednastavené OAuth páry klíčů pro některé servery StatusNetu."
-" Pokud používáte některý z nich, použijte toto přihlášení. Pokud ne, "
-"neváhejte se připojit k jiné instanci StatusNet (viz níže)."
-
-#: ../../addon/statusnet/statusnet.php:276
-msgid "Provide your own OAuth Credentials"
-msgstr "Uveďte své vlastní OAuth přihlašovací údaje"
-
-#: ../../addon/statusnet/statusnet.php:277
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendika Account as"
-" an desktop client on your StatusNet account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Friendika installation at your favorited StatusNet installation."
-msgstr ""
-"Nenalezen žádný consumer pár klíčů pro StatusNet. Zaregistrujte svůj "
-"Friendika účet jako desktopový klient na svém účtu StatusNetu, zkopírujte "
-"níže consumer pár klíčů a zadejte API base root.<br />Než si zaregistrujete "
-"svůj vlastní pár klíčů OAuth, zjistěte si od administrátora, zda-li už "
-"náhodou na tento Friendika server nepřidal pár klíčů pro vámi požadovanou "
-"instalaci StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:279
-msgid "OAuth Consumer Key"
-msgstr "OAuth Consumer Key"
-
-#: ../../addon/statusnet/statusnet.php:282
-msgid "OAuth Consumer Secret"
-msgstr "OAuth Consumer Secret"
-
-#: ../../addon/statusnet/statusnet.php:285
-msgid "Base API Path (remember the trailing /)"
-msgstr "Cesta k Base API (nezapomeňte na koncový /)"
-
-#: ../../addon/statusnet/statusnet.php:306
-msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below"
-" and submit the form. Only your <strong>public</strong> posts will be posted"
-" to StatusNet."
-msgstr ""
-"Chcete-li připojit k vašemu účtu StatusNet klikněte na tlačítko níže, abyste"
-" dostati bezpečnostní kód ze StatusNetu, který musíte zkopírovat do "
-"vstupního pole níže a odelat formulář. Pouze Vaše <strong>veřejné</strong> "
-"příspěvky budou zveřejněny na StatusNetu."
-
-#: ../../addon/statusnet/statusnet.php:307
-msgid "Log in with StatusNet"
-msgstr "Přihlásit se s StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:309
-msgid "Copy the security code from StatusNet here"
-msgstr "Zkopírujte sem bezpečnostní kód ze StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:315
-msgid "Cancel Connection Process"
-msgstr "Zrušit připojování"
-
-#: ../../addon/statusnet/statusnet.php:317
-msgid "Current StatusNet API is"
-msgstr "Aktuální StatusNet API je"
-
-#: ../../addon/statusnet/statusnet.php:318
-msgid "Cancel StatusNet Connection"
-msgstr "Zrušit StatusNet připojení"
-
-#: ../../addon/statusnet/statusnet.php:329 ../../addon/twitter/twitter.php:180
-msgid "Currently connected to: "
-msgstr "V současné době připojen k:"
-
-#: ../../addon/statusnet/statusnet.php:330
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
-msgstr ""
-"Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být "
-"zaslány na související StatusNet účet. Můžete si vybrat, zda-li toto bude "
-"výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované "
-"chování při psaní každého příspěvku."
-
-#: ../../addon/statusnet/statusnet.php:332
-msgid "Allow posting to StatusNet"
-msgstr "Povolit zasílání příspěvků na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:335
-msgid "Send public postings to StatusNet by default"
-msgstr "Standardně poslílat veřejné příspěvky na StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:340 ../../addon/twitter/twitter.php:191
-msgid "Clear OAuth configuration"
-msgstr "Vymazat konfiguraci OAuth"
-
-#: ../../addon/statusnet/statusnet.php:460
-msgid "API URL"
-msgstr "API URL"
-
-#: ../../addon/statusnet/statusnet.php:461
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
-
-#: ../../addon/statusnet/statusnet.php:462
-msgid "Consumer Key"
-msgstr "Consumer Key"
-
-#: ../../addon/piwik/piwik.php:77
-msgid "Piwik Base URL"
-msgstr "Piwik Base adresa URL"
-
-#: ../../addon/piwik/piwik.php:78
-msgid "Site ID"
-msgstr "ID webu"
-
-#: ../../addon/piwik/piwik.php:79
-msgid "Show opt-out cookie link?"
-msgstr "Zobrazit odkaz opt-out cookie?"
-
-#: ../../addon/twitter/twitter.php:70
-msgid "Post to Twitter"
-msgstr "Poslat příspěvek na Twitter"
-
-#: ../../addon/twitter/twitter.php:115
-msgid "Twitter settings updated."
-msgstr "Nastavení Twitteru aktualizováno."
-
-#: ../../addon/twitter/twitter.php:137
-msgid "Twitter Posting Settings"
-msgstr "Nastavení zasílání příspěvků na Twitter "
-
-#: ../../addon/twitter/twitter.php:144
-msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
-msgstr ""
-"Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte se na "
-"administrátora webu."
-
-#: ../../addon/twitter/twitter.php:163
-msgid ""
-"At this Friendika instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input"
-" box below and submit the form. Only your <strong>public</strong> posts will"
-" be posted to Twitter."
-msgstr ""
-"Na tomto Friendika serveru je Twitter plugin povolen, ale ještě nemáte svůj "
-"účet připojen ke svému Twitter účtu. Chcete-li tak učinit, klepnutím na "
-"tlačítko níže získejte PIN z Twitteru, který musíte zkopírovat do vstupního "
-"pole níže a odešlete formulář. Pouze Vaše <strong>veřejné</strong> příspěvky"
-" budou zveřejněny na Twitteru."
-
-#: ../../addon/twitter/twitter.php:164
-msgid "Log in with Twitter"
-msgstr "Přihlásit se s Twitter"
-
-#: ../../addon/twitter/twitter.php:166
-msgid "Copy the PIN from Twitter here"
-msgstr "Zkopírujte sem PIN z Twitteru"
-
-#: ../../addon/twitter/twitter.php:181
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for"
-" every posting separately in the posting options when writing the entry."
-msgstr ""
-"Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být "
-"zaslány na související Twitter účet. Můžete si vybrat, zda-li toto bude "
-"výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované "
-"chování při psaní každého příspěvku."
-
-#: ../../addon/twitter/twitter.php:183
-msgid "Allow posting to Twitter"
-msgstr "Povolit odesílání na Twitter"
-
-#: ../../addon/twitter/twitter.php:186
-msgid "Send public postings to Twitter by default"
-msgstr "Defaultně zasílat veřejné komentáře na Twitter"
-
-#: ../../addon/twitter/twitter.php:282
-msgid "Consumer key"
-msgstr "Consumer key"
-
-#: ../../addon/twitter/twitter.php:283
-msgid "Consumer secret"
-msgstr "Consumer secret"
-
-#: ../../include/profile_advanced.php:23 ../../boot.php:880
-msgid "Gender:"
-msgstr "Pohlaví:"
-
-#: ../../include/profile_advanced.php:36 ../../include/items.php:1137
-msgid "Birthday:"
-msgstr "Narozeniny:"
-
-#: ../../include/profile_advanced.php:45
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/profile_advanced.php:46
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/profile_advanced.php:59
-msgid "Age:"
-msgstr "Věk:"
-
-#: ../../include/profile_advanced.php:70
-msgid "<span class=\"heart\">&hearts;</span> Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Status:"
-
-#: ../../include/profile_advanced.php:103 ../../boot.php:886
-msgid "Homepage:"
-msgstr "Domácí stránka:"
-
-#: ../../include/profile_advanced.php:127
-msgid "Religion:"
-msgstr "Náboženství:"
-
-#: ../../include/profile_advanced.php:138
-msgid "About:"
-msgstr "O mě:"
-
-#: ../../include/profile_advanced.php:150
-msgid "Hobbies/Interests:"
-msgstr "Koníčky/zájmy:"
-
-#: ../../include/profile_advanced.php:162
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktní informace a sociální sítě:"
-
-#: ../../include/profile_advanced.php:174
-msgid "Musical interests:"
-msgstr "Hudební vkus:"
-
-#: ../../include/profile_advanced.php:186
-msgid "Books, literature:"
-msgstr "Knihy, literatura:"
-
-#: ../../include/profile_advanced.php:198
-msgid "Television:"
-msgstr "Televize:"
-
-#: ../../include/profile_advanced.php:210
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/tanec/kultura/zábava:"
-
-#: ../../include/profile_advanced.php:222
-msgid "Love/Romance:"
-msgstr "Láska/romance"
-
-#: ../../include/profile_advanced.php:234
-msgid "Work/employment:"
-msgstr "Práce/zaměstnání:"
-
-#: ../../include/profile_advanced.php:246
-msgid "School/education:"
-msgstr "Škola/vzdělávání:"
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Neznámé | Nezařazeno"
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Okamžitě blokovat "
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "pochybný, spammer, self-makerter"
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Znám ho ale, ale bez rozhodnutí"
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "OK, pravděpodobně neškodný"
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Renomovaný, má mou důvěru"
-
-#: ../../include/contact_selectors.php:55
-msgid "Frequently"
-msgstr "Často"
-
-#: ../../include/contact_selectors.php:56
-msgid "Hourly"
-msgstr "každou hodinu"
-
-#: ../../include/contact_selectors.php:57
-msgid "Twice daily"
-msgstr "Dvakrát denně"
-
-#: ../../include/contact_selectors.php:58
-msgid "Daily"
-msgstr "denně"
-
-#: ../../include/contact_selectors.php:59
-msgid "Weekly"
-msgstr "Týdenně"
-
-#: ../../include/contact_selectors.php:60
-msgid "Monthly"
-msgstr "Měsíčně"
-
-#: ../../include/profile_selectors.php:6
-msgid "Male"
-msgstr "Muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Female"
-msgstr "Žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "V současné době muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "V současné době žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Většinou muž"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Většinou žena"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersex"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transexuál"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodit"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutrál"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Nespecifikováno"
-
-#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Jiné"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Nerozhodnuto"
-
-#: ../../include/profile_selectors.php:19
-msgid "Males"
-msgstr "Muži"
-
-#: ../../include/profile_selectors.php:19
-msgid "Females"
-msgstr "Ženy"
-
-#: ../../include/profile_selectors.php:19
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:19
-msgid "Lesbian"
-msgstr "Lesbička"
-
-#: ../../include/profile_selectors.php:19
-msgid "No Preference"
-msgstr "Bez preferencí"
-
-#: ../../include/profile_selectors.php:19
-msgid "Bisexual"
-msgstr "Bisexuál"
-
-#: ../../include/profile_selectors.php:19
-msgid "Autosexual"
-msgstr "Autosexuál"
-
-#: ../../include/profile_selectors.php:19
-msgid "Abstinent"
-msgstr "Abstinent"
-
-#: ../../include/profile_selectors.php:19
-msgid "Virgin"
-msgstr "panic/panna"
-
-#: ../../include/profile_selectors.php:19
-msgid "Deviant"
-msgstr "Deviant"
-
-#: ../../include/profile_selectors.php:19
-msgid "Fetish"
-msgstr "Fetišista"
-
-#: ../../include/profile_selectors.php:19
-msgid "Oodles"
-msgstr "Hodně"
-
-#: ../../include/profile_selectors.php:19
-msgid "Nonsexual"
-msgstr "Nesexuální"
-
-#: ../../include/profile_selectors.php:33
-msgid "Single"
-msgstr "Svobodný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Lonely"
-msgstr "Osamnělý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Available"
-msgstr "Dostupný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unavailable"
-msgstr "Nedostupný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Dating"
-msgstr "Seznamující se"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unfaithful"
-msgstr "Nevěrný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Sex Addict"
-msgstr "Závislý na sexu"
-
-#: ../../include/profile_selectors.php:33
-msgid "Friends"
-msgstr "Přátelé"
-
-#: ../../include/profile_selectors.php:33
-msgid "Friends/Benefits"
-msgstr "Přátelé / výhody"
-
-#: ../../include/profile_selectors.php:33
-msgid "Casual"
-msgstr "Ležérní"
-
-#: ../../include/profile_selectors.php:33
-msgid "Engaged"
-msgstr "Zadaný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Married"
-msgstr "Ženatý/vdaná"
-
-#: ../../include/profile_selectors.php:33
-msgid "Partners"
-msgstr "Partneři"
-
-#: ../../include/profile_selectors.php:33
-msgid "Cohabiting"
-msgstr "Žijící ve společné domácnosti"
-
-#: ../../include/profile_selectors.php:33
-msgid "Happy"
-msgstr "Šťastný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Not Looking"
-msgstr "Nehledající"
-
-#: ../../include/profile_selectors.php:33
-msgid "Swinger"
-msgstr "Swinger"
-
-#: ../../include/profile_selectors.php:33
-msgid "Betrayed"
-msgstr "Zrazen"
-
-#: ../../include/profile_selectors.php:33
-msgid "Separated"
-msgstr "Odloučený"
-
-#: ../../include/profile_selectors.php:33
-msgid "Unstable"
-msgstr "Nestálý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Divorced"
-msgstr "Rozvedený(á)"
-
-#: ../../include/profile_selectors.php:33
-msgid "Widowed"
-msgstr "Ovdovělý(á)"
-
-#: ../../include/profile_selectors.php:33
-msgid "Uncertain"
-msgstr "Nejistý"
-
-#: ../../include/profile_selectors.php:33
-msgid "Complicated"
-msgstr "Komplikovaný"
-
-#: ../../include/profile_selectors.php:33
-msgid "Don't care"
-msgstr "Nezajímá"
-
-#: ../../include/profile_selectors.php:33
-msgid "Ask me"
-msgstr "Zeptej se mě"
-
-#: ../../include/event.php:11
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../include/event.php:17
-msgid "Starts:"
-msgstr "Začíná:"
-
-#: ../../include/event.php:27
-msgid "Finishes:"
-msgstr "Končí:"
-
-#: ../../include/text.php:229
-msgid "prev"
-msgstr "předchozí"
-
-#: ../../include/text.php:231
-msgid "first"
-msgstr "první"
-
-#: ../../include/text.php:260
-msgid "last"
-msgstr "poslední"
-
-#: ../../include/text.php:263
-msgid "next"
-msgstr "další"
-
-#: ../../include/text.php:542
-msgid "No contacts"
-msgstr "Žádné kontakty"
-
-#: ../../include/text.php:550
-#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d kontakt"
-msgstr[1] "%d kontaktů"
-msgstr[2] "%d kontaktů"
-
-#: ../../include/text.php:711
-msgid "Monday"
-msgstr "Pondělí"
-
-#: ../../include/text.php:711
-msgid "Tuesday"
-msgstr "Úterý"
-
-#: ../../include/text.php:711
-msgid "Wednesday"
-msgstr "Středa"
-
-#: ../../include/text.php:711
-msgid "Thursday"
-msgstr "Čtvrtek"
-
-#: ../../include/text.php:711
-msgid "Friday"
-msgstr "Pátek"
-
-#: ../../include/text.php:711
-msgid "Saturday"
-msgstr "Sobota"
-
-#: ../../include/text.php:711
-msgid "Sunday"
-msgstr "Neděle"
-
-#: ../../include/text.php:715
-msgid "January"
-msgstr "Ledna"
-
-#: ../../include/text.php:715
-msgid "February"
-msgstr "Února"
-
-#: ../../include/text.php:715
-msgid "March"
-msgstr "Března"
-
-#: ../../include/text.php:715
-msgid "April"
-msgstr "Dubna"
-
-#: ../../include/text.php:715
-msgid "May"
-msgstr "Května"
-
-#: ../../include/text.php:715
-msgid "June"
-msgstr "Června"
-
-#: ../../include/text.php:715
-msgid "July"
-msgstr "Července"
-
-#: ../../include/text.php:715
-msgid "August"
-msgstr "Srpna"
-
-#: ../../include/text.php:715
-msgid "September"
-msgstr "Září"
-
-#: ../../include/text.php:715
-msgid "October"
-msgstr "Října"
-
-#: ../../include/text.php:715
-msgid "November"
-msgstr "Listopadu"
-
-#: ../../include/text.php:715
-msgid "December"
-msgstr "Prosince"
-
-#: ../../include/text.php:778
-msgid "bytes"
-msgstr "bytů"
-
-#: ../../include/text.php:861
-msgid "Select an alternate language"
-msgstr "Vyběr alternativního jazyka"
-
-#: ../../include/diaspora.php:309
-msgid "Sharing notification from Diaspora network"
-msgstr "Sdílení oznámení ze sítě Diaspora"
-
-#: ../../include/oembed.php:95
-msgid "Embedding disabled"
-msgstr "Vkládání zakázáno"
-
-#: ../../include/group.php:146
-msgid "Create a new group"
-msgstr "Vytvořit novou skupinu"
-
-#: ../../include/group.php:147
-msgid "Everybody"
-msgstr "Všichni"
-
-#: ../../include/nav.php:41 ../../boot.php:667
-msgid "Logout"
-msgstr "Odhlásit se"
-
-#: ../../include/nav.php:41
-msgid "End this session"
-msgstr "Konec této relace"
-
-#: ../../include/nav.php:44 ../../boot.php:645 ../../boot.php:651
-msgid "Login"
-msgstr "Přihlásit se"
-
-#: ../../include/nav.php:44
-msgid "Sign in"
-msgstr "Přihlásit se"
-
-#: ../../include/nav.php:55 ../../include/nav.php:93
-msgid "Home"
-msgstr "Domů"
-
-#: ../../include/nav.php:55
-msgid "Home Page"
-msgstr "Domácí stránka"
-
-#: ../../include/nav.php:59
-msgid "Create an account"
-msgstr "Vytvořit účet"
-
-#: ../../include/nav.php:64
-msgid "Help and documentation"
-msgstr "Nápověda a dokumentace"
-
-#: ../../include/nav.php:67
-msgid "Apps"
-msgstr "Aplikace"
-
-#: ../../include/nav.php:67
-msgid "Addon applications, utilities, games"
-msgstr "Doplňkové aplikace, nástroje, hry"
-
-#: ../../include/nav.php:69
-msgid "Search site content"
-msgstr "Hledání na stránkách tohoto webu"
-
-#: ../../include/nav.php:79
-msgid "Conversations on this site"
-msgstr "Konverzace na tomto webu"
-
-#: ../../include/nav.php:81
-msgid "Directory"
-msgstr "Adresář"
-
-#: ../../include/nav.php:81
-msgid "People directory"
-msgstr "Adresář"
-
-#: ../../include/nav.php:91
-msgid "Network"
-msgstr "Síť"
-
-#: ../../include/nav.php:91
-msgid "Conversations from your friends"
-msgstr "Konverzace od Vašich přátel"
-
-#: ../../include/nav.php:93
-msgid "Your posts and conversations"
-msgstr "Vaše příspěvky a konverzace"
-
-#: ../../include/nav.php:99
-msgid "Notifications"
-msgstr "Upozornění"
-
-#: ../../include/nav.php:99
-msgid "Friend requests"
-msgstr "Požadavky přátelství"
-
-#: ../../include/nav.php:102
-msgid "Private mail"
-msgstr "Soukromá pošta"
-
-#: ../../include/nav.php:105
-msgid "Manage"
-msgstr "Spravovat"
-
-#: ../../include/nav.php:105
-msgid "Manage other pages"
-msgstr "Spravovat jiné stránky"
-
-#: ../../include/nav.php:109
-msgid "Manage/edit profiles"
-msgstr "Spravovat/upravit profily"
-
-#: ../../include/nav.php:110
-msgid "Manage/edit friends and contacts"
-msgstr "Spravovat/upravit přátelé a kontakty"
-
-#: ../../include/nav.php:117
-msgid "Admin"
-msgstr "Administrace"
-
-#: ../../include/nav.php:117
-msgid "Site setup and configuration"
-msgstr "Nastavení webu a konfigurace"
-
-#: ../../include/auth.php:27
-msgid "Logged out."
-msgstr "Odhlášen."
-
-#: ../../include/datetime.php:44 ../../include/datetime.php:46
-msgid "Miscellaneous"
-msgstr "Různé"
-
-#: ../../include/datetime.php:105 ../../include/datetime.php:237
-msgid "year"
-msgstr "rok"
-
-#: ../../include/datetime.php:110 ../../include/datetime.php:238
-msgid "month"
-msgstr "měsíc"
-
-#: ../../include/datetime.php:115 ../../include/datetime.php:240
-msgid "day"
-msgstr "den"
-
-#: ../../include/datetime.php:228
-msgid "never"
-msgstr "nikdy"
-
-#: ../../include/datetime.php:234
-msgid "less than a second ago"
-msgstr "méně než před sekundou"
-
-#: ../../include/datetime.php:237
-msgid "years"
-msgstr "let"
-
-#: ../../include/datetime.php:238
-msgid "months"
-msgstr "měsíců"
-
-#: ../../include/datetime.php:239
-msgid "week"
-msgstr "týden"
-
-#: ../../include/datetime.php:239
-msgid "weeks"
-msgstr "týdny"
-
-#: ../../include/datetime.php:240
-msgid "days"
-msgstr "dnů"
-
-#: ../../include/datetime.php:241
-msgid "hour"
-msgstr "hodina"
-
-#: ../../include/datetime.php:241
-msgid "hours"
-msgstr "hodin"
-
-#: ../../include/datetime.php:242
-msgid "minute"
-msgstr "minuta"
-
-#: ../../include/datetime.php:242
-msgid "minutes"
-msgstr "minut"
-
-#: ../../include/datetime.php:243
-msgid "second"
-msgstr "sekunda"
-
-#: ../../include/datetime.php:243
-msgid "seconds"
-msgstr "sekund"
-
-#: ../../include/datetime.php:250
-msgid " ago"
-msgstr " nazpět"
-
-#: ../../include/poller.php:418
-msgid "From: "
-msgstr "Od:"
-
-#: ../../include/bbcode.php:116
-msgid "Image/photo"
-msgstr "Obrázek/fotografie"
-
-#: ../../include/dba.php:31
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Nelze nalézt záznam v DNS pro databázový server '%s'"
-
-#: ../../include/acl_selectors.php:279
-msgid "Visible to everybody"
-msgstr "Viditelné pro všechny"
-
-#: ../../include/acl_selectors.php:280
-msgid "show"
-msgstr "zobrazit"
-
-#: ../../include/acl_selectors.php:281
-msgid "don't show"
-msgstr "nikdy nezobrazit"
-
-#: ../../include/notifier.php:465
-msgid "(no subject)"
-msgstr "(Bez předmětu)"
-
-#: ../../include/items.php:1526
-msgid "You have a new follower at "
-msgstr "Máte nového následovníka na"
-
-#: ../../include/conversation.php:23
-msgid "event"
-msgstr "událost"
-
-#: ../../include/conversation.php:213 ../../include/conversation.php:488
-#: ../../include/conversation.php:489
-#, php-format
-msgid "View %s's profile"
-msgstr "Zobrazit %s profilu"
-
-#: ../../include/conversation.php:222 ../../include/conversation.php:501
-#, php-format
-msgid "%s from %s"
-msgstr "%s od %s"
-
-#: ../../include/conversation.php:230
-msgid "View in context"
-msgstr "Pohled v kontextu"
-
-#: ../../include/conversation.php:301
-msgid "See more posts like this"
-msgstr "Zobrazit více podobných příspěvků"
-
-#: ../../include/conversation.php:329
-#, php-format
-msgid "See all %d comments"
-msgstr "Zobrazit všechny komentáře %d"
-
-#: ../../include/conversation.php:427
-msgid "Select"
-msgstr "Vybrat"
-
-#: ../../include/conversation.php:429
-msgid "toggle star status"
-msgstr "přepnout hvězdu"
-
-#: ../../include/conversation.php:490
-msgid "to"
-msgstr "pro"
-
-#: ../../include/conversation.php:491
-msgid "Wall-to-Wall"
-msgstr "Zeď-na-Zeď"
-
-#: ../../include/conversation.php:492
-msgid "via Wall-To-Wall:"
-msgstr "přes Zeď-na-Zeď "
-
-#: ../../include/conversation.php:534
-msgid "Delete Selected Items"
-msgstr "Smazat vybrané položky"
-
-#: ../../include/conversation.php:608
-msgid "View status"
-msgstr "Zobrazit stav"
-
-#: ../../include/conversation.php:609
-msgid "View profile"
-msgstr "Zobrazit profil"
-
-#: ../../include/conversation.php:610
-msgid "View photos"
-msgstr "Zobrazit fotografie"
-
-#: ../../include/conversation.php:611
-msgid "View recent"
-msgstr "Zobrazit poslední"
-
-#: ../../include/conversation.php:613
-msgid "Send PM"
-msgstr "Poslat soukromou zprávu"
-
-#: ../../include/conversation.php:663
-#, php-format
-msgid "%s likes this."
-msgstr "%s se to líbí."
-
-#: ../../include/conversation.php:663
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s se to nelíbí."
-
-#: ../../include/conversation.php:667
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "<span %1$s>%2$d lidem</span> se to líbí."
-
-#: ../../include/conversation.php:669
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "<span %1$s>%2$d lidem</span> se to nelíbí."
-
-#: ../../include/conversation.php:675
-msgid "and"
-msgstr "a"
-
-#: ../../include/conversation.php:678
-#, php-format
-msgid ", and %d other people"
-msgstr ", a %d dalších lidí"
-
-#: ../../include/conversation.php:679
-#, php-format
-msgid "%s like this."
-msgstr "%s se to líbí."
-
-#: ../../include/conversation.php:679
-#, php-format
-msgid "%s don't like this."
-msgstr "%s se to nelíbí."
-
-#: ../../include/conversation.php:698
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Viditelné pro <strong>všechny</strong>"
-
-#: ../../include/conversation.php:700
-msgid "Please enter a YouTube link:"
-msgstr "Prosím zadejte odkaz na YouTube:"
-
-#: ../../include/conversation.php:701
-msgid "Please enter a video(.ogg) link/URL:"
-msgstr "Prosím, zadejte odkaz na video (ogg.):"
-
-#: ../../include/conversation.php:702
-msgid "Please enter an audio(.ogg) link/URL:"
-msgstr "Prosím, zadejte odkaz na audio (ogg.):"
-
-#: ../../include/conversation.php:703
-msgid "Where are you right now?"
-msgstr "Kde právě jste?"
-
-#: ../../include/conversation.php:704
-msgid "Enter a title for this item"
-msgstr "Zadejte titulek pro tuto položku"
-
-#: ../../include/conversation.php:755
-msgid "Set title"
-msgstr "Nastavit titulek"
-
-#: ../../boot.php:410
-msgid "Delete this item?"
-msgstr "Odstranit tuto položku?"
-
-#: ../../boot.php:636
-msgid "Create a New Account"
-msgstr "Vytvořit nový účet"
-
-#: ../../boot.php:643
-msgid "Nickname or Email address: "
-msgstr "Přezdívka nebo e-mailová adresa:"
-
-#: ../../boot.php:644
-msgid "Password: "
-msgstr "Heslo: "
-
-#: ../../boot.php:649
-msgid "Nickname/Email/OpenID: "
-msgstr "Přezdívka/E-mail/OpenID: "
-
-#: ../../boot.php:650
-msgid "Password (if not OpenID): "
-msgstr "Heslo (pokud se nepoužívá OpenID):"
-
-#: ../../boot.php:653
-msgid "Forgot your password?"
-msgstr "Zapomněli jste své heslo?"
-
-#: ../../boot.php:853
-msgid "Connect"
-msgstr "Spojit"
-
-#: ../../boot.php:872
-msgid ", "
-msgstr ", "
-
-#: ../../boot.php:884
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../boot.php:975
-msgid "g A l F d"
-msgstr "g A l F d"
-
-#: ../../boot.php:993
-msgid "Birthday Reminders"
-msgstr "Připomínka narozenin"
-
-#: ../../boot.php:994
-msgid "Birthdays this week:"
-msgstr "Narozeniny tento týden:"
-
-#: ../../boot.php:995
-msgid "(Adjusted for local time)"
-msgstr "(Upraveno pro místní čas)"
-
-#: ../../boot.php:1006
-msgid "[today]"
-msgstr "[Dnes]"
-
-#: ../../index.php:209
-msgid "Not Found"
-msgstr "Nenalezen"
-
-#: ../../index.php:210
-msgid "Page not found."
-msgstr "Stránka nenalezena"
-
-
diff --git a/view/cs/passchanged_eml.tpl b/view/cs/passchanged_eml.tpl
deleted file mode 100644
index 0d94be3c2..000000000
--- a/view/cs/passchanged_eml.tpl
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Dear {{$username}},
- Your password has been changed as requested. Please retain this
-information for your records (or change your password immediately to
-something that you will remember).
-
-
-Your login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-Password: {{$new_password}}
-
-You may change that password from your account settings page after logging in.
-
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/cs/register_open_eml.tpl b/view/cs/register_open_eml.tpl
deleted file mode 100644
index 4b397201c..000000000
--- a/view/cs/register_open_eml.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-
-An account has been created at {{$sitename}} for this email address.
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login: {{$email}}
-Password: (the password which was provided during registration)
-
-If this account was created without your knowledge and is not desired, you may
-visit this site and reset the password. This will allow you to remove the
-account from the links on the Settings page, and we
-apologise for any inconvenience.
-
-Thank you and welcome to {{$sitename}}.
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/cs/register_verify_eml.tpl b/view/cs/register_verify_eml.tpl
deleted file mode 100644
index 85d9a12d3..000000000
--- a/view/cs/register_verify_eml.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-
-A new user registration request was received at {{$sitename}} which requires
-your approval.
-
-
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-IP Address: {{$details}}
-
-To approve this request please visit the following link:
-
-
-{{$siteurl}}/regmod/allow/{{$hash}}
-
-
-To deny the request and remove the account, please visit:
-
-
-{{$siteurl}}/regmod/deny/{{$hash}}
-
-
-Thank you.
-
diff --git a/view/cs/strings.php b/view/cs/strings.php
deleted file mode 100644
index f43d0491b..000000000
--- a/view/cs/strings.php
+++ /dev/null
@@ -1,1044 +0,0 @@
-<?php
-
-if(! function_exists("string_plural_select_cs")) {
-function string_plural_select_cs($n){
- return ($n==1) ? 0 : ($n>=2 && $n<=4) ? 1 : 2;
-}}
-;
-App::$strings["Post successful."] = "Příspěvek úspěšně odeslán";
-App::$strings["Contact settings applied."] = "Nastavení kontaktu změněno";
-App::$strings["Contact update failed."] = "Aktualizace kontaktu selhala.";
-App::$strings["Permission denied."] = "Přístup odmítnut.";
-App::$strings["Contact not found."] = "Kontakt nenalezen.";
-App::$strings["Repair Contact Settings"] = "Opravit nastavení kontaktu";
-App::$strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact will stop working."] = "<strong>VAROVÁNÍ: Toto je velmi pokročilé nastavení,</strong> pokud zadáte nesprávné informace, komunikace s tímto kontaktem přestane fungovat.";
-App::$strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Prosím použijte <strong>ihned</strong> v prohlížeči tlačítko \"zpět\" pokud si nejste jistí co dělat na této stránce.";
-App::$strings["Name"] = "Jméno";
-App::$strings["Account Nickname"] = "Přezdívka účtu";
-App::$strings["Account URL"] = "URL adresa účtu";
-App::$strings["Friend Request URL"] = "Žádost o přátelství URL";
-App::$strings["Friend Confirm URL"] = "URL adresa potvrzení přátelství";
-App::$strings["Notification Endpoint URL"] = "Notifikační URL adresa";
-App::$strings["Poll/Feed URL"] = "Poll/Feed URL adresa";
-App::$strings["Submit"] = "Odeslat";
-App::$strings["Help:"] = "Nápověda:";
-App::$strings["Help"] = "Nápověda";
-App::$strings["File exceeds size limit of %d"] = "Velikost souboru přesáhla limit %d";
-App::$strings["File upload failed."] = "Nahrání souboru se nezdařilo.";
-App::$strings["Friend suggestion sent."] = "Návrhy přátelství odeslány ";
-App::$strings["Suggest Friends"] = "Navrhněte přátelé";
-App::$strings["Suggest a friend for %s"] = "Navrhněte přátelé pro uživatele %s";
-App::$strings["Status"] = "Stav";
-App::$strings["Profile"] = "Profil";
-App::$strings["Photos"] = "Fotografie";
-App::$strings["Events"] = "Události";
-App::$strings["Personal Notes"] = "Osobní poznámky";
-App::$strings["Create New Event"] = "Vytvořit novou událost";
-App::$strings["Previous"] = "Předchozí";
-App::$strings["Next"] = "Následující";
-App::$strings["l, F j"] = "l, F j";
-App::$strings["Edit event"] = "Editovat událost";
-App::$strings["link to source"] = "odkaz na zdroj";
-App::$strings["hour:minute"] = "hodina:minuta";
-App::$strings["Event details"] = "Detaily události";
-App::$strings["Format is %s %s. Starting date and Description are required."] = "Formát je %s %s. Datum zahájení a popis jsou povinné.";
-App::$strings["Event Starts:"] = "Událost začíná:";
-App::$strings["Finish date/time is not known or not relevant"] = "Datum/čas konce není zadán nebo není relevantní";
-App::$strings["Event Finishes:"] = "Akce končí:";
-App::$strings["Adjust for viewer timezone"] = "Nastavit časové pásmo pro uživatele s právem pro čtení";
-App::$strings["Description:"] = "Popis:";
-App::$strings["Location:"] = "Místo:";
-App::$strings["Share this event"] = "Sdílet tuto událost";
-App::$strings["Cancel"] = "Zrušit";
-App::$strings["Tag removed"] = "Štítek odstraněn";
-App::$strings["Remove Item Tag"] = "Odebrat štítek položky";
-App::$strings["Select a tag to remove: "] = "Vyberte štítek k odebrání:";
-App::$strings["Remove"] = "Odstranit";
-App::$strings["%s welcomes %s"] = "%s vítá %s ";
-App::$strings["Photo Albums"] = "Fotoalba";
-App::$strings["Contact Photos"] = "Fotogalerie kontaktu";
-App::$strings["everybody"] = "Žádost o připojení selhala nebo byla zrušena.";
-App::$strings["Contact information unavailable"] = "Kontakt byl zablokován";
-App::$strings["Profile Photos"] = "Profilové fotografie";
-App::$strings["Album not found."] = "Album nenalezeno.";
-App::$strings["Delete Album"] = "Smazat album";
-App::$strings["Delete Photo"] = "Smazat fotografii";
-App::$strings["was tagged in a"] = "štítek byl přidán v";
-App::$strings["photo"] = "fotografie";
-App::$strings["by"] = "od";
-App::$strings["Image exceeds size limit of "] = "Velikost obrázku překračuje limit velikosti";
-App::$strings["Image file is empty."] = "Soubor obrázku je prázdný.";
-App::$strings["Unable to process image."] = "Obrázek není možné zprocesovat";
-App::$strings["Image upload failed."] = "Nahrání obrázku selhalo.";
-App::$strings["Public access denied."] = "Veřejný přístup odepřen.";
-App::$strings["No photos selected"] = "Není vybrána žádná fotografie";
-App::$strings["Access to this item is restricted."] = "Přístup k této položce je omezen.";
-App::$strings["Upload Photos"] = "Nahrání fotografií ";
-App::$strings["New album name: "] = "Název nového alba:";
-App::$strings["or existing album name: "] = "nebo stávající název alba:";
-App::$strings["Permissions"] = "Oprávnění:";
-App::$strings["Edit Album"] = "Edituj album";
-App::$strings["View Photo"] = "Zobraz fotografii";
-App::$strings["Photo not available"] = "Fotografie není k dispozici";
-App::$strings["Edit photo"] = "Editovat fotografii";
-App::$strings["Use as profile photo"] = "Použít jako profilovou fotografii";
-App::$strings["Private Message"] = "Soukromá zpráva";
-App::$strings["View Full Size"] = "Zobrazit v plné velikosti";
-App::$strings["Tags: "] = "Štítky:";
-App::$strings["[Remove any tag]"] = "[Odstranit všechny štítky]";
-App::$strings["New album name"] = "Nové jméno alba";
-App::$strings["Caption"] = "Titulek";
-App::$strings["Add a Tag"] = "Přidat štítek";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Příklad: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-App::$strings["I like this (toggle)"] = "Líbí se mi to (přepínač)";
-App::$strings["I don't like this (toggle)"] = "Nelíbí se mi to (přepínač)";
-App::$strings["Share"] = "Sdílet";
-App::$strings["Please wait"] = "Čekejte prosím";
-App::$strings["This is you"] = "To je Vy";
-App::$strings["Comment"] = "Okomentovat";
-App::$strings["Delete"] = "Odstranit";
-App::$strings["Recent Photos"] = "Aktuální fotografie";
-App::$strings["Upload New Photos"] = "Nahrát nové fotografie";
-App::$strings["View Album"] = "Zobrazit album";
-App::$strings["Not available."] = "Není k dispozici.";
-App::$strings["Community"] = "Komunita";
-App::$strings["No results."] = "Žádné výsledky.";
-App::$strings["Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."] = "Sdílený obsah je v souladu s <a href=\"http://creativecommons.org/licenses/by/3.0/\">Commons Creative 3.0</a> licencí.";
-App::$strings["Item not found"] = "Položka nenalezena";
-App::$strings["Edit post"] = "Upravit příspěvek";
-App::$strings["Post to Email"] = "Poslat příspěvek na e-mail";
-App::$strings["Edit"] = "Upravit";
-App::$strings["Upload photo"] = "Nahrát fotografii";
-App::$strings["Attach file"] = "Přiložit soubor";
-App::$strings["Insert web link"] = "Vložit webový odkaz";
-App::$strings["Insert YouTube video"] = "Vložit YouTube video";
-App::$strings["Insert Vorbis [.ogg] video"] = "Vložit Vorbis [.ogg] video";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Vložit Vorbis [.ogg] audio";
-App::$strings["Set your location"] = "Nastavte vaši polohu";
-App::$strings["Clear browser location"] = "Odstranit adresu v prohlížeči";
-App::$strings["Permission settings"] = "Nastavení oprávnění";
-App::$strings["CC: email addresses"] = "skrytá kopie: e-mailové adresy";
-App::$strings["Public post"] = "Veřejný příspěvek";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Příklad: bob@example.com, mary@example.com";
-App::$strings["This introduction has already been accepted."] = "Toto pozvání již bylo přijato";
-App::$strings["Profile location is not valid or does not contain profile information."] = "Adresa profilu není platná nebo neobsahuje profilové informace";
-App::$strings["Warning: profile location has no identifiable owner name."] = "Varování: umístění profilu nemá žádné identifikovatelné jméno vlastníka";
-App::$strings["Warning: profile location has no profile photo."] = "Varování: umístění profilu nemá žádnou profilovou fotografii.";
-App::$strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d požadovaný parametr nebyl nalezen na daném místě",
- 1 => "%d požadované parametry nebyly nalezeny na daném místě",
- 2 => "%d požadované parametry nebyly nalezeny na daném místě",
-);
-App::$strings["Introduction complete."] = "Představení dokončeno.";
-App::$strings["Unrecoverable protocol error."] = "Neopravitelná chyba protokolu";
-App::$strings["Profile unavailable."] = "Profil není k dispozici.";
-App::$strings["%s has received too many connection requests today."] = "%s dnes obdržel příliš mnoho požadavků na připojení.";
-App::$strings["Spam protection measures have been invoked."] = "Ochrana proti spamu byla aktivována";
-App::$strings["Friends are advised to please try again in 24 hours."] = "Přátelům se doporučuje to zkusit znovu za 24 hodin.";
-App::$strings["Invalid locator"] = "Neplatný odkaz";
-App::$strings["Unable to resolve your name at the provided location."] = "Nepodařilo se zjistit Vaše jméno na zadané adrese.";
-App::$strings["You have already introduced yourself here."] = "Již jste se zde zavedli.";
-App::$strings["Apparently you are already friends with %s."] = "Zřejmě jste již přátelé se %s.";
-App::$strings["Invalid profile URL."] = "Neplatné URL profilu.";
-App::$strings["Disallowed profile URL."] = "Nepovolené URL profilu.";
-App::$strings["Failed to update contact record."] = "Nepodařilo se aktualizovat kontakt.";
-App::$strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána.";
-App::$strings["Please login to confirm introduction."] = "Prosím přihlašte se k potvrzení žádosti o propojení.";
-App::$strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do <strong>tohoto</strong> profilu.";
-App::$strings["Welcome home %s."] = "Vítejte doma %s.";
-App::$strings["Please confirm your introduction/connection request to %s."] = "Prosím potvrďte Vaši žádost o představení/spojení %s.";
-App::$strings["Confirm"] = "Potvrdit";
-App::$strings["[Name Withheld]"] = "[Jméno odepřeno]";
-App::$strings["Introduction received at "] = "Pozvánka přijata v";
-App::$strings["Administrator"] = "Administrátor";
-App::$strings["Friend/Connection Request"] = "Požadavek o přátelství / propojení";
-App::$strings["Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"] = "Příklady: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca";
-App::$strings["Please answer the following:"] = "Odpovězte, prosím, následující:";
-App::$strings["Does %s know you?"] = "Zná Vás uživatel %s ?";
-App::$strings["Yes"] = "Ano";
-App::$strings["No"] = "Ne";
-App::$strings["Add a personal note:"] = "Přidat osobní poznámku:";
-App::$strings["Please enter your 'Identity Address' from one of the following supported social networks:"] = "Prosím, zadejte adresu své 'identity' jedné z následujících podporovaných sociálních sítí:";
-App::$strings["Friendika"] = "Friendika";
-App::$strings["StatusNet/Federated Social Web"] = "StatusNet / Federativní Sociální Web";
-App::$strings["Private (secure) network"] = "Soukromá (zabezpečená) síť";
-App::$strings["Public (insecure) network"] = "Veřejná (nezabezpečená) síť";
-App::$strings["Your Identity Address:"] = "Adresa Vaší identity :";
-App::$strings["Submit Request"] = "Odeslat žádost";
-App::$strings["Could not create/connect to database."] = "Nelze vytvořit / připojit se k databázi.";
-App::$strings["Connected to database."] = "Připojeno k databázi.";
-App::$strings["Proceed with Installation"] = "Pokračovat v instalaci";
-App::$strings["Your Friendika site database has been installed."] = "Vaše databáze Friendiky byla nainstalována.";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "Důležité: Budete si muset [ručně] plánovat úlohu pro poller.";
-App::$strings["Please see the file \"INSTALL.txt\"."] = "Přečtěte si prosím informace v souboru \"INSTALL.txt\".";
-App::$strings["Proceed to registration"] = "Pokračovat k registraci";
-App::$strings["Database import failed."] = "Import databáze se nezdařil.";
-App::$strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Možná budete muset importovat soubor \"database.sql\" ručně pomocí phpMyAdmin či MySQL.";
-App::$strings["Welcome to Friendika."] = "Vítejte na Friendice.";
-App::$strings["Friendika Social Network"] = "Sociální síť Friendika ";
-App::$strings["Installation"] = "Instalace";
-App::$strings["In order to install Friendika we need to know how to connect to your database."] = "Pro instalaci Friendika musíme vědět, jak se připojit k databázi.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Obraťte se na svého poskytovatele hostingu nebo administrátora serveru , pokud máte dotazy týkající se těchto nastavení.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databázi, kterou uvedete níže by již měla existovat. Pokud tak není, prosíme, vytvořte ji před pokračováním.";
-App::$strings["Database Server Name"] = "Jméno databázového serveru";
-App::$strings["Database Login Name"] = "Přihlašovací jméno k databázi";
-App::$strings["Database Login Password"] = "Heslo k databázovému účtu ";
-App::$strings["Database Name"] = "Jméno databáze";
-App::$strings["Please select a default timezone for your website"] = "Prosím, vyberte výchozí časové pásmo pro vaše webové stránky";
-App::$strings["Site administrator email address. Your account email address must match this in order to use the web admin panel."] = "e-mailová adresa administrárota webu. E-mailová adresa vašeho účtu se musí shodovat, aby bylo možné využívat panel webové administrace.";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru.";
-App::$strings["This is required. Please adjust the configuration file .htconfig.php accordingly."] = "Tento krok je nutný. Upravte příslušným způsobem konfigurační soubor .htconfig.php.";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Verze PHP pro příkazový řádek na vašem systému nemá povolen \"register_argc_argv\".";
-App::$strings["This is required for message delivery to work."] = "Toto je nutné pro fungování doručování zpráv.";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Chyba: funkce \"openssl_pkey_new\" na tomto systému není schopna generovat šifrovací klíče";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Pokud systém běží na Windows, seznamte se s \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Chyba: Požadovaný Apache webserver mod-rewrite modul není nainstalován.";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Chyba: požadovaný libcurl PHP modul není nainstalován.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Chyba: požadovaný GD graphics PHP modul není nainstalován.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Chyba: požadovaný openssl PHP modul není nainstalován.";
-App::$strings["Error: mysqli PHP module required but not installed."] = "Chyba: požadovaný mysqli PHP modul není nainstalován.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Chyba: PHP modul mb_string je vyžadován, ale není nainstalován.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Webový instalátor musí být schopen vytvořit soubor s názvem \".htconfig.php\" v hlavním adresáři vašeho webového serveru ale nyní mu to není umožněno.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Toto je nejčastěji nastavením oprávnění, kdy webový server nemusí být schopen zapisovat soubory do vašeho adresáře - i když Vy můžete.";
-App::$strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "Prosím, poraďte se s dokumentací k Vašemu hostingu nebo s technickou podporou, zda-li lze tuto situaci napravit.";
-App::$strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Pokud ne, může být vyžadováno provedení ruční instalace. Prosím, seznamte se s návodem popsaným v souboru \"INSTALL.txt\".";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Databázový konfigurační soubor \".htconfig.php\" nemohl být uložen. Prosím, použijte přiložený text k vytvoření konfiguračního souboru ve vašem kořenovém adresáři webového serveru.";
-App::$strings["Errors encountered creating database tables."] = "Při vytváření databázových tabulek došlo k chybám.";
-App::$strings["[Embedded content - reload page to view]"] = "[Vložený obsah - obnovení stránky pro zobrazení]";
-App::$strings["Profile Match"] = "Shoda profilu";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Žádná klíčová slova k porovnání. Prosím, přidejte klíčová slova do Vašeho výchozího profilu.";
-App::$strings["No matches"] = "Žádné shody";
-App::$strings["Remote privacy information not available."] = "Vzdálené soukromé informace nejsou k dispozici.";
-App::$strings["Visible to:"] = "Viditelné pro:";
-App::$strings["Welcome to %s"] = "Vítá Vás %s";
-App::$strings["Invalid request identifier."] = "Neplatný identifikátor požadavku.";
-App::$strings["Discard"] = "Odstranit";
-App::$strings["Ignore"] = "Ignorovat";
-App::$strings["Pending Friend/Connect Notifications"] = "Čekající požadavky na Přátelství / Připojení ";
-App::$strings["Show Ignored Requests"] = "Zobrazit ignorované žádosti";
-App::$strings["Hide Ignored Requests"] = "Skrýt ignorované žádosti";
-App::$strings["Notification type: "] = "Typ oznámení:";
-App::$strings["Friend Suggestion"] = "Návrh přátelství";
-App::$strings["suggested by %s"] = "navrhl %s";
-App::$strings["Approve"] = "Schválit";
-App::$strings["Claims to be known to you: "] = "Vaši údajní známí:";
-App::$strings["yes"] = "ano";
-App::$strings["no"] = "ne";
-App::$strings["Approve as: "] = "Schválit jako:";
-App::$strings["Friend"] = "Přítel";
-App::$strings["Fan/Admirer"] = "Fanoušek / obdivovatel";
-App::$strings["Friend/Connect Request"] = "Přítel / žádost o připojení";
-App::$strings["New Follower"] = "Nový následovník";
-App::$strings["No notifications."] = "Žádné oznámení.";
-App::$strings["Invite Friends"] = "Pozvat přátele";
-App::$strings["%d invitation available"] = array(
- 0 => "Pozvánka %d k dispozici",
- 1 => "Pozvánky %d k dispozici",
- 2 => "Pozvánky %d k dispozici",
-);
-App::$strings["Find People With Shared Interests"] = "Najít lidi se společnými zájmy";
-App::$strings["Connect/Follow"] = "Připojit / Následovat";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Příklad: jan@příklad.cz, http://příklad.cz/jana";
-App::$strings["Follow"] = "Následovat";
-App::$strings["Could not access contact record."] = "Nelze získat přístup k záznamu kontaktu.";
-App::$strings["Could not locate selected profile."] = "Nelze nalézt vybraný profil.";
-App::$strings["Contact updated."] = "Kontakt aktualizován.";
-App::$strings["Contact has been blocked"] = "Kontakt byl zablokován";
-App::$strings["Contact has been unblocked"] = "Kontakt byl odblokován";
-App::$strings["Contact has been ignored"] = "Kontakt bude ignorován";
-App::$strings["Contact has been unignored"] = "Kontakt přestal být ignorován";
-App::$strings["stopped following"] = "následování zastaveno";
-App::$strings["Contact has been removed."] = "Kontakt byl odstraněn.";
-App::$strings["Mutual Friendship"] = "Vzájemné přátelství";
-App::$strings["is a fan of yours"] = "je Váš fanoušek";
-App::$strings["you are a fan of"] = "jste fanouškem";
-App::$strings["Privacy Unavailable"] = "Ochrana soukromí není k dispozici";
-App::$strings["Private communications are not available for this contact."] = "Soukromá komunikace není dostupná pro tento kontakt.";
-App::$strings["Never"] = "Nikdy";
-App::$strings["(Update was successful)"] = "(Aktualizace byla úspěšná)";
-App::$strings["(Update was not successful)"] = "(Aktualizace nebyla úspěšná)";
-App::$strings["Suggest friends"] = "Navrhněte přátelé";
-App::$strings["Contact Editor"] = "Editor kontaktu";
-App::$strings["Profile Visibility"] = "Viditelnost profilu";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Vyberte prosím profil, který chcete zobrazit %s při zabezpečeném prohlížení vašeho profilu.";
-App::$strings["Contact Information / Notes"] = "Kontaktní informace / poznámky";
-App::$strings["Online Reputation"] = "Online pověst";
-App::$strings["Occasionally your friends may wish to inquire about this person's online legitimacy."] = "Občas mohou vaši přátelé chtít informovat o online legitimitě této osoby.";
-App::$strings["You may help them choose whether or not to interact with this person by providing a <em>reputation</em> to guide them."] = "Poskytnutím <em>pověsti</em> jim můžete pomoci se rozhodnout, zda-li s touto osobou komunikovat či nikoliv.";
-App::$strings["Please take a moment to elaborate on this selection if you feel it could be helpful to others."] = "Věnujte prosím chvilku vyplnění této volby, pokud máte pocit, že by mohlo být užitečné pro ostatní.";
-App::$strings["Visit %s's profile [%s]"] = "Navštivte profil uživatele %s [%s]";
-App::$strings["Block/Unblock contact"] = "Blokovat / Odblokovat kontakt";
-App::$strings["Ignore contact"] = "Ignorovat kontakt";
-App::$strings["Repair contact URL settings"] = "Opravit nastavení URL kontaktu";
-App::$strings["Repair contact URL settings (WARNING: Advanced)"] = "Opravit nastavení URL kontaktu (Varování: Pokročilé)";
-App::$strings["View conversations"] = "Zobrazit konverzace";
-App::$strings["Delete contact"] = "Odstranit kontakt";
-App::$strings["Last updated: "] = "Poslední aktualizace:";
-App::$strings["Update public posts: "] = "Aktualizace veřejných příspěvků:";
-App::$strings["Update now"] = "Aktualizovat";
-App::$strings["Unblock this contact"] = "Odblokovat tento kontakt";
-App::$strings["Block this contact"] = "Blokovat tento kontakt";
-App::$strings["Unignore this contact"] = "Přestat ignorovat tento kontakt";
-App::$strings["Ignore this contact"] = "Ignorovat tento kontakt";
-App::$strings["Currently blocked"] = "V současnosti zablokováno";
-App::$strings["Currently ignored"] = "V současnosti ignorováno";
-App::$strings["Contacts"] = "Kontakty";
-App::$strings["Show Blocked Connections"] = "Zobrazit blokované spojení";
-App::$strings["Hide Blocked Connections"] = "Skrýt blokované spojení";
-App::$strings["Finding: "] = "Zjištění: ";
-App::$strings["Find"] = "Najít";
-App::$strings["Edit contact"] = "Editovat kontakt";
-App::$strings["No valid account found."] = "Nenalezen žádný platný účet.";
-App::$strings["Password reset request issued. Check your email."] = "Žádost o obnovení hesla vyřízena. Zkontrolujte Vaši e-mailovou schránku.";
-App::$strings["Password reset requested at %s"] = "Na %s bylo zažádáno o resetování hesla";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Žádost nemohla být ověřena. (Možná jste ji odeslali již dříve.) Obnovení hesla se nezdařilo.";
-App::$strings["Password Reset"] = "Obnovení hesla";
-App::$strings["Your password has been reset as requested."] = "Vaše heslo bylo na Vaše přání resetováno.";
-App::$strings["Your new password is"] = "Vaše nové heslo je";
-App::$strings["Save or copy your new password - and then"] = "Uložte si nebo zkopírujte nové heslo - a pak";
-App::$strings["click here to login"] = "klikněte zde pro přihlášení";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Vaše heslo může být změněno na stránce <em>nastavení</em> po úspěšném přihlášení.";
-App::$strings["Forgot your Password?"] = "Zapomněli jste heslo?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Zadejte svůj e-mailovou adresu a odešlete žádost o zaslání Vašeho nového hesla. Poté zkontrolujte svůj e-mail pro další instrukce.";
-App::$strings["Nickname or Email: "] = "Přezdívka nebo e-mail:";
-App::$strings["Reset"] = "Reset";
-App::$strings["Passwords do not match. Password unchanged."] = "Hesla se neshodují. Heslo nebylo změněno.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Prázdné hesla nejsou povolena. Heslo nebylo změněno.";
-App::$strings["Password changed."] = "Heslo bylo změněno.";
-App::$strings["Password update failed. Please try again."] = "Aktualizace hesla se nezdařila. Zkuste to prosím znovu.";
-App::$strings["Failed to connect with email account using the settings provided."] = "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení.";
-App::$strings[" Please use a shorter name."] = "Prosím použijte kratší jméno.";
-App::$strings[" Name too short."] = "Jméno je příliš krátké.";
-App::$strings[" Not valid email."] = "Neplatný e-mail.";
-App::$strings[" Cannot change to that email."] = "Nelze provést změnu na tento e-mail.";
-App::$strings["Settings updated."] = "Nastavení aktualizováno.";
-App::$strings["Account settings"] = "Nastavení účtu";
-App::$strings["Plugin settings"] = "Nastavení pluginu";
-App::$strings["No Plugin settings configured"] = "Žádný doplněk není nastaven";
-App::$strings["Plugin Settings"] = "Nastavení doplňku";
-App::$strings["Normal Account"] = "Normální účet";
-App::$strings["This account is a normal personal profile"] = "Tento účet je běžný osobní profil";
-App::$strings["Soapbox Account"] = "Soapbox účet";
-App::$strings["Automatically approve all connection/friend requests as read-only fans"] = "Automaticky schválit všechna spojení / přátelství jako fanoušky s právem pouze ke čtení";
-App::$strings["Community/Celebrity Account"] = "Komunitní účet / Účet celebrity";
-App::$strings["Automatically approve all connection/friend requests as read-write fans"] = "Automaticky schvalovat všechny žádosti o spojení / přátelství, jako fanoušky s právem ke čtení.";
-App::$strings["Automatic Friend Account"] = "Účet s automatickým schvalováním přátel";
-App::$strings["Automatically approve all connection/friend requests as friends"] = "Automaticky schvalovat všechny žádosti o spojení / přátelství jako přátele";
-App::$strings["OpenID:"] = "OpenID:";
-App::$strings["(Optional) Allow this OpenID to login to this account."] = "(Volitelné) Povolit OpenID pro přihlášení k tomuto účtu.";
-App::$strings["Publish your default profile in your local site directory?"] = "Publikovat Váš výchozí profil v místním adresáři webu?";
-App::$strings["Publish your default profile in the global social directory?"] = "Publikovat Váš výchozí profil v globální sociálním adresáři?";
-App::$strings["Hide your contact/friend list from viewers of your default profile?"] = "Skrýt Vaše kontaktní údaje a seznam přátel před návštěvníky ve Vašem výchozím profilu?";
-App::$strings["Hide profile details and all your messages from unknown viewers?"] = "Skrýt detaily profilu a všechny zprávy před neznámými uživateli?";
-App::$strings["Profile is <strong>not published</strong>."] = "Profil <strong>není zveřejněn</strong>.";
-App::$strings["or"] = "nebo";
-App::$strings["Your Identity Address is"] = "Vaše adresa identity je";
-App::$strings["Account Settings"] = "Nastavení účtu";
-App::$strings["Export Personal Data"] = "Export osobních údajů";
-App::$strings["Password Settings"] = "Nastavení hesla";
-App::$strings["New Password:"] = "Nové heslo:";
-App::$strings["Confirm:"] = "Potvrďte:";
-App::$strings["Leave password fields blank unless changing"] = "Pokud nechcete změnit heslo, položku hesla nevyplňujte";
-App::$strings["Basic Settings"] = "Základní nastavení";
-App::$strings["Full Name:"] = "Celé jméno:";
-App::$strings["Email Address:"] = "E-mailová adresa:";
-App::$strings["Your Timezone:"] = "Vaše časové pásmo:";
-App::$strings["Default Post Location:"] = "Výchozí umístění příspěvků:";
-App::$strings["Use Browser Location:"] = "Používat umístění dle prohlížeče:";
-App::$strings["Display Theme:"] = "Vybrat grafickou šablonu:";
-App::$strings["Security and Privacy Settings"] = "Nastavení zabezpečení a soukromí";
-App::$strings["Maximum Friend Requests/Day:"] = "Maximální počet žádostí o přátelství za den:";
-App::$strings["(to prevent spam abuse)"] = "(Aby se zabránilo spamu)";
-App::$strings["Default Post Permissions"] = "Výchozí oprávnění pro příspěvek";
-App::$strings["(click to open/close)"] = "(Klikněte pro otevření/zavření)";
-App::$strings["Allow friends to post to your profile page:"] = "Povolit přátelům příspěvky na Vaši profilovou stránku:";
-App::$strings["Automatically expire posts after days:"] = "Po kolika dnech automaticky expirovat příspěvky:";
-App::$strings["If empty, posts will not expire. Expired posts will be deleted"] = "Pokud je prázdné, příspěvky nebudou nikdy expirovat. Expirované příspěvky budou vymazány";
-App::$strings["Notification Settings"] = "Nastavení notifikací";
-App::$strings["Send a notification email when:"] = "Poslat notifikaci e-mailem, když";
-App::$strings["You receive an introduction"] = "obdržíte žádost o propojení";
-App::$strings["Your introductions are confirmed"] = "Vaše žádosti jsou potvrzeny";
-App::$strings["Someone writes on your profile wall"] = "někdo Vám napíše na Vaši profilovou stránku";
-App::$strings["Someone writes a followup comment"] = "někdo Vám napíše následný komentář";
-App::$strings["You receive a private message"] = "obdržíte soukromou zprávu";
-App::$strings["Email/Mailbox Setup"] = "Nastavení e-mailu";
-App::$strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Pokud chcete komunikovat pomocí této služby s Vašimi kontakty z e-mailu (volitelné), uveďte, jak se připojit k Vaší e-mailové schránce.";
-App::$strings["Last successful email check:"] = "Poslední úspěšná kontrola e-mailu:";
-App::$strings["Email access is disabled on this site."] = "Přístup k elektronické poště je na tomto serveru zakázán.";
-App::$strings["IMAP server name:"] = "jméno IMAP serveru:";
-App::$strings["IMAP port:"] = "IMAP port:";
-App::$strings["Security:"] = "Zabezpečení:";
-App::$strings["None"] = "Žádný";
-App::$strings["Email login name:"] = "přihlašovací jméno k e-mailu:";
-App::$strings["Email password:"] = "heslo k Vašemu e-mailu:";
-App::$strings["Reply-to address:"] = "Odpovědět na adresu:";
-App::$strings["Send public posts to all email contacts:"] = "Poslat veřejné příspěvky na všechny e-mailové kontakty:";
-App::$strings["Advanced Page Settings"] = "Pokročilé nastavení stránky";
-App::$strings["Welcome back %s"] = "Vítejte zpět %s";
-App::$strings["Manage Identities and/or Pages"] = "Správa identit a / nebo stránek";
-App::$strings["(Toggle between different identities or community/group pages which share your account details.)"] = "(Přepínání mezi různými identitami nebo komunitními / skupinovými stránkami, které sdílejí Vaše detaily účtu.)";
-App::$strings["Select an identity to manage: "] = "Vyberte identitu pro správu:";
-App::$strings["View Conversations"] = "Zobrazit konverzace";
-App::$strings["View New Items"] = "Zobrazit nové položky";
-App::$strings["View Any Items"] = "Zobrazit všechny položky";
-App::$strings["View Starred Items"] = "Zobrazit položky označené hvězdu";
-App::$strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Upozornění: Tato skupina obsahuje %s člena z nezabezpečené sítě.",
- 1 => "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě.",
- 2 => "Upozornění: Tato skupina obsahuje %s členy z nezabezpečené sítě.",
-);
-App::$strings["Private messages to this group are at risk of public disclosure."] = "Soukromé zprávy této skupině jsou vystaveny riziku prozrazení.";
-App::$strings["No such group"] = "Žádná taková skupina";
-App::$strings["Group is empty"] = "Skupina je prázdná";
-App::$strings["Group: "] = "Skupina:";
-App::$strings["Contact: "] = "Kontakt:";
-App::$strings["Private messages to this person are at risk of public disclosure."] = "Soukromé zprávy této osobě jsou vystaveny riziku prozrazení.";
-App::$strings["Invalid contact."] = "Neplatný kontakt.";
-App::$strings["Save"] = "Uložit";
-App::$strings["Welcome to Friendika"] = "Vítejte na Friendika";
-App::$strings["New Member Checklist"] = "Seznam doporučení pro nového člena";
-App::$strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page."] = "Dovolujeme si Vám nabídnout některé tipy a odkazy, abychom Vám zpříjemnili práci se systémem Friendika. Kliknutím na libovolnou položku navštívit příslušnou stránku.";
-App::$strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This will be useful in making friends."] = "Na stránce <em>Nastavení</em> - změnit výchozí heslo. Poznamenejte si také adresu své identity. To může být užitečné při navazování přátelství.";
-App::$strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Prohlédněte si další nastavení, a to zejména nastavení soukromí. Nezveřejnění svého účtu v adresáři je jako mít nezveřejněné telefonní číslo. Obecně platí, že je lepší mít svůj účet zveřejněný, leda by všichni vaši potenciální přátelé věděli, jak vás přesně najít.";
-App::$strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Nahrajte si svou profilovou fotku, pokud jste tak již neučinili. Studie ukázaly, že lidé se skutečnými fotografiemi mají desetkrát častěji přátele než lidé, kteří nemají.";
-App::$strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Jestliže máte účet na Facebooku, povolte konektor na Facebook a bude možné (na přání) importovat všechny Vaš přátele na Facebooku a všechny Vaše konverzace.";
-App::$strings["Enter your email access information on your Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "na stránce Nastavení zadejte informace pro přístup k Vaší e-mailové stránce, pokud si přejete importovat a komunikovat s přáteli nebo distribučními skupinami z Vaší e-mailové schránky";
-App::$strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Upravit <strong>výchozí</strong> profil podle vašich představ. Prověřte nastavení pro skrytí Vašeho seznamu přátel a skrytí profilu před neznámými návštěvníky.";
-App::$strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Nastavte si nějaká veřejné klíčová slova pro výchozí profil, která popisují vaše zájmy. Friendika Vám může nalézt další lidi s podobnými zájmy a navrhnout přátelství.";
-App::$strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Connect</em> dialog."] = "Stránka Kontakty je Vaším odrazovým můstkem k řízení přátelství a spojení s kamarády v jiných sítích. Obvykle zadáte jejich adresu nebo adresu URL do dialogu <em>Připojit</em>.";
-App::$strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Stránka Adresář Vám pomůže najít další lidi na tomto serveru nebo v jiných propojených serverech. Prostřednictvím odkazů <em>Připojení</em> nebo <em>Následovat</em> si prohlédněte jejich profilovou stránku. Uveďte svou vlastní adresu identity, je-li požadována.";
-App::$strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Jakmile získáte nějaké přátele, uspořádejte si je do soukromých konverzačních skupin na postranním panelu vaší stránky Kontakty a pak můžete komunikovat s každou touto skupinu soukromě prostřednictvím stránky Síť.";
-App::$strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Na stránkách <strong>Nápověda</strong> naleznete nejen další podrobnosti o všech funkcích Friendika ale také další zdroje informací.";
-App::$strings["Item not available."] = "Položka není k dispozici.";
-App::$strings["Item was not found."] = "Položka nebyla nalezena.";
-App::$strings["Group created."] = "Skupina vytvořena.";
-App::$strings["Could not create group."] = "Nelze vytvořit skupinu.";
-App::$strings["Group not found."] = "Skupina nenalezena.";
-App::$strings["Group name changed."] = "Název skupiny byl změněn.";
-App::$strings["Permission denied"] = "Nedostatečné oprávnění";
-App::$strings["Create a group of contacts/friends."] = "Vytvořit skupinu kontaktů / přátel.";
-App::$strings["Group Name: "] = "Název skupiny:";
-App::$strings["Group removed."] = "Skupina odstraněna. ";
-App::$strings["Unable to remove group."] = "Nelze odstranit skupinu.";
-App::$strings["Click on a contact to add or remove."] = "Klikněte na kontakt pro přidání nebo odebrání";
-App::$strings["Group Editor"] = "Editor skupin";
-App::$strings["Members"] = "Členové";
-App::$strings["All Contacts"] = "Všechny kontakty";
-App::$strings["Invalid profile identifier."] = "Neplatný identifikátor profilu.";
-App::$strings["Profile Visibility Editor"] = "Editor viditelnosti profilu ";
-App::$strings["Visible To"] = "Viditelný pro";
-App::$strings["All Contacts (with secure profile access)"] = "Všechny kontakty (se zabezpečeným přístupovým profilem )";
-App::$strings["View Contacts"] = "Zobrazit kontakty";
-App::$strings["No contacts."] = "Žádné kontakty.";
-App::$strings["An invitation is required."] = "Pozvánka je vyžadována.";
-App::$strings["Invitation could not be verified."] = "Pozvánka nemohla být ověřena.";
-App::$strings["Invalid OpenID url"] = "Neplatný odkaz OpenID";
-App::$strings["Please enter the required information."] = "Zadejte prosím požadované informace.";
-App::$strings["Please use a shorter name."] = "Použijte prosím kratší jméno.";
-App::$strings["Name too short."] = "Jméno je příliš krátké.";
-App::$strings["That doesn't appear to be your full (First Last) name."] = "Nezdá se, že by to bylo vaše celé jméno (křestní jméno a příjmení).";
-App::$strings["Your email domain is not among those allowed on this site."] = "Váš e-mailová doména není na tomto serveru mezi povolenými.";
-App::$strings["Not a valid email address."] = "Neplatná e-mailová adresa.";
-App::$strings["Cannot use that email."] = "Tento e-mail nelze použít.";
-App::$strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Vaše \"přezdívka\" může obsahovat pouze \"a-z\", \"0-9\", \"-\", a \"_\", a musí začínat písmenem.";
-App::$strings["Nickname is already registered. Please choose another."] = "Přezdívka je již registrována. Prosím vyberte jinou.";
-App::$strings["SERIOUS ERROR: Generation of security keys failed."] = "Závažná chyba: Generování bezpečnostních klíčů se nezdařilo.";
-App::$strings["An error occurred during registration. Please try again."] = "Došlo k chybě při registraci. Zkuste to prosím znovu.";
-App::$strings["An error occurred creating your default profile. Please try again."] = "Došlo k chybě při vytváření Vašeho výchozího profilu. Zkuste to prosím znovu.";
-App::$strings["Registration details for %s"] = "Registrační údaje pro %s";
-App::$strings["Registration successful. Please check your email for further instructions."] = "Registrace úspěšná. Zkontrolujte prosím svůj e-mail pro další instrukce.";
-App::$strings["Failed to send email message. Here is the message that failed."] = "Nepodařilo se odeslat zprávu na e-mail. Zde je zpráva, která nebyla odeslána.";
-App::$strings["Your registration can not be processed."] = "Vaši registraci nelze zpracovat.";
-App::$strings["Registration request at %s"] = "Žádost o registraci na %s";
-App::$strings["Your registration is pending approval by the site owner."] = "Vaše registrace čeká na schválení vlastníkem serveru.";
-App::$strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Tento formulář můžete (volitelně) vyplnit s pomocí OpenID tím, že vyplníte své OpenID a kliknutete na tlačítko 'Zaregistrovat'.";
-App::$strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Pokud nepoužíváte OpenID, nechte prosím toto pole prázdné a vyplňte zbylé položky.";
-App::$strings["Your OpenID (optional): "] = "Vaše OpenID (nepovinné):";
-App::$strings["Include your profile in member directory?"] = "Uvést Váš profil v adresáři členů?";
-App::$strings["Membership on this site is by invitation only."] = "Členství na tomto webu je pouze na pozvání.";
-App::$strings["Your invitation ID: "] = "Vaše pozvání ID:";
-App::$strings["Registration"] = "Registrace";
-App::$strings["Your Full Name (e.g. Joe Smith): "] = "Vaše celé jméno (např. Jan Novák):";
-App::$strings["Your Email Address: "] = "Vaše e-mailová adresa:";
-App::$strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Vyberte přezdívku k profilu. Ta musí začít s textovým znakem. Vaše profilová adresa na tomto webu pak bude \"<strong>přezdívka@\$sitename</strong>\".";
-App::$strings["Choose a nickname: "] = "Vyberte přezdívku:";
-App::$strings["Register"] = "Registrovat";
-App::$strings["status"] = "Stav";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s má rád %2\$s' na %3\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s nemá rád %2\$s na %3\$s";
-App::$strings["This is Friendika version"] = "Toto je Friendika verze";
-App::$strings["running at web location"] = "běžící na webu";
-App::$strings["Shared content within the Friendika network is provided under the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>"] = "Sdílený obsah v síti Friendika je poskytována pod <a href=\"http://creativecommons.org/licenses/by/3.0/cz/\">licencí Creative Commons Attribution 3.0</a>";
-App::$strings["Please visit <a href=\"http://project.friendika.com\">Project.Friendika.com</a> to learn more about the Friendika project."] = "Pokud se chcete dozvědět více o projektu Friendika, navštivte, prosím, <a href=\"http://project.friendika.com\">Project.Friendika.com</a>";
-App::$strings["Bug reports and issues: please visit"] = "Pro hlášení chyb a námětů na změny navštivte:";
-App::$strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - dot com"] = "Návrhy, chválu, dary, atd. - prosím pošlete na e-mail \"Info\" na Friendika tečka com";
-App::$strings["Installed plugins/addons/apps"] = "Nainstalované doplňky/aplikace";
-App::$strings["No installed plugins/addons/apps"] = "Nejsou žádné nainstalované doplňky/aplikace";
-App::$strings["Account approved."] = "Účet schválen.";
-App::$strings["Registration revoked for %s"] = "Registrace zrušena pro %s";
-App::$strings["Please login."] = "Přihlaste se, prosím.";
-App::$strings["Unable to locate original post."] = "Nelze nalézt původní příspěvek.";
-App::$strings["Empty post discarded."] = "Prázdný příspěvek odstraněn.";
-App::$strings["Wall Photos"] = "Fotografie na zdi";
-App::$strings["noreply"] = "bez odpovědi";
-App::$strings["Administrator@"] = "Administrator@";
-App::$strings["%s commented on an item at %s"] = "%s okomentoval položku v %s";
-App::$strings["%s posted to your profile wall at %s"] = "%s přidal příspěvek na vaší profilovou zeď v %s";
-App::$strings["System error. Post not saved."] = "Chyba systému. Příspěvek nebyl uložen.";
-App::$strings["This message was sent to you by %s, a member of the Friendika social network."] = "Tuto zprávu Vám zaslal %s, člen sociální sítě Friendika.";
-App::$strings["You may visit them online at %s"] = "Můžete je navštívit online na adrese %s";
-App::$strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Pokud nechcete dostávat tyto zprávy, kontaktujte prosím odesilatele odpovědí na tento záznam.";
-App::$strings["%s posted an update."] = "%s poslal aktualizaci.";
-App::$strings["Image uploaded but image cropping failed."] = "Obrázek byl odeslán, ale jeho oříznutí se nesdařilo.";
-App::$strings["Image size reduction [%s] failed."] = "Nepodařilo se snížit velikost obrázku [%s].";
-App::$strings["Unable to process image"] = "Obrázek nelze zpracovat ";
-App::$strings["Image exceeds size limit of %d"] = "Obrázek překročil limit velikosti %d";
-App::$strings["Upload File:"] = "Nahrát soubor:";
-App::$strings["Upload Profile Photo"] = "Nahrát profilovou fotografii";
-App::$strings["Upload"] = "Nahrát";
-App::$strings["skip this step"] = "přeskočit tento krok ";
-App::$strings["select a photo from your photo albums"] = "Vybrat fotografii z Vašich fotoalb";
-App::$strings["Crop Image"] = "Oříznout obrázek";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Prosím, ořízněte tento obrázek pro optimální zobrazení.";
-App::$strings["Done Editing"] = "Editace dokončena";
-App::$strings["Image uploaded successfully."] = "Obrázek byl úspěšně nahrán.";
-App::$strings["No profile"] = "Žádný profil";
-App::$strings["Remove My Account"] = "Odstranit můj účet";
-App::$strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Tímto bude kompletně odstraněn váš účet. Jakmile bude účet odstraněn, nebude už možné ho obnovit.";
-App::$strings["Please enter your password for verification:"] = "Prosím, zadejte své heslo pro ověření:";
-App::$strings["No recipient selected."] = "Nevybrán příjemce.";
-App::$strings["[no subject]"] = "[bez předmětu]";
-App::$strings["Unable to locate contact information."] = "Nepodařilo se najít kontaktní informace.";
-App::$strings["Message sent."] = "Zpráva odeslána.";
-App::$strings["Message could not be sent."] = "Zprávu se nepodařilo odeslat.";
-App::$strings["Messages"] = "Zprávy";
-App::$strings["Inbox"] = "Doručená pošta";
-App::$strings["Outbox"] = "Odeslaná pošta";
-App::$strings["New Message"] = "Nová zpráva";
-App::$strings["Message deleted."] = "Zpráva odstraněna.";
-App::$strings["Conversation removed."] = "Konverzace odstraněna.";
-App::$strings["Please enter a link URL:"] = "Zadejte prosím URL odkaz:";
-App::$strings["Send Private Message"] = "Odeslat soukromou zprávu";
-App::$strings["To:"] = "Adresát:";
-App::$strings["Subject:"] = "Předmět:";
-App::$strings["Your message:"] = "Vaše zpráva:";
-App::$strings["No messages."] = "Žádné zprávy.";
-App::$strings["Delete conversation"] = "Odstranit konverzaci";
-App::$strings["D, d M Y - g:i A"] = "D M R - g:i A";
-App::$strings["Message not available."] = "Zpráva není k dispozici.";
-App::$strings["Delete message"] = "Smazat zprávu";
-App::$strings["Send Reply"] = "Poslat odpověď";
-App::$strings["Site"] = "Web";
-App::$strings["Users"] = "Uživatelé";
-App::$strings["Plugins"] = "Pluginy";
-App::$strings["Update"] = "Aktualizace";
-App::$strings["Logs"] = "Logy";
-App::$strings["User registrations waiting for confirmation"] = "Registrace uživatele čeká na potvrzení";
-App::$strings["Item not found."] = "Položka nenalezena.";
-App::$strings["Administration"] = "Administrace";
-App::$strings["Summary"] = "Shrnutí";
-App::$strings["Registered users"] = "Registrovaní uživatelé";
-App::$strings["Pending registrations"] = "Čekající registrace";
-App::$strings["Version"] = "Verze";
-App::$strings["Active plugins"] = "Aktivní pluginy";
-App::$strings["Site settings updated."] = "Nastavení webu aktualizováno.";
-App::$strings["Closed"] = "Uzavřít";
-App::$strings["Requires approval"] = "Vyžaduje schválení";
-App::$strings["Open"] = "Otevřená";
-App::$strings["File upload"] = "Nahrání souborů";
-App::$strings["Policies"] = "Politiky";
-App::$strings["Advanced"] = "Pokročilé";
-App::$strings["Site name"] = "Název webu";
-App::$strings["Banner/Logo"] = "Banner/logo";
-App::$strings["System language"] = "Systémový jazyk";
-App::$strings["System theme"] = "Grafická šablona systému ";
-App::$strings["Maximum image size"] = "Maximální velikost obrazu";
-App::$strings["Register policy"] = "Politika registrace";
-App::$strings["Register text"] = "Registrace textu";
-App::$strings["Allowed friend domains"] = "Povolené domény přátel";
-App::$strings["Allowed email domains"] = "Povolené e-mailové domény";
-App::$strings["Block public"] = "Blokovat veřejnost";
-App::$strings["Force publish"] = "Publikovat";
-App::$strings["Global directory update URL"] = "aktualizace URL adresy Globálního adresáře ";
-App::$strings["Block multiple registrations"] = "Blokovat více registrací";
-App::$strings["OpenID support"] = "podpora OpenID";
-App::$strings["Gravatar support"] = "podpora Gravatar";
-App::$strings["Fullname check"] = "kontrola úplného jména";
-App::$strings["UTF-8 Regular expressions"] = "UTF-8 Regulární výrazy";
-App::$strings["Show Community Page"] = "Zobrazit stránku komunity";
-App::$strings["Enable OStatus support"] = "Zapnout podporu OStatus";
-App::$strings["Only allow Friendika contacts"] = "Povolit pouze Friendika kontakty ";
-App::$strings["Verify SSL"] = "Ověřit SSL";
-App::$strings["Proxy user"] = "Proxy uživatel";
-App::$strings["Proxy URL"] = "Proxy URL adresa";
-App::$strings["Network timeout"] = "čas síťového spojení vypršelo (timeout)";
-App::$strings["%s user blocked"] = array(
- 0 => "%s uživatel zablokován",
- 1 => "%s uživatelů zablokováno / odblokováno",
- 2 => "%s uživatelů zablokováno / odblokováno",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s uživatel smazán",
- 1 => "%s uživatelů smazáno",
- 2 => "%s uživatelů smazáno",
-);
-App::$strings["User '%s' deleted"] = "Uživatel '%s' smazán";
-App::$strings["User '%s' unblocked"] = "Uživatel '%s' odblokován";
-App::$strings["User '%s' blocked"] = "Uživatel '%s' blokován";
-App::$strings["select all"] = "Vybrat vše";
-App::$strings["User registrations waiting for confirm"] = "Registrace uživatele čeká na potvrzení";
-App::$strings["Request date"] = "Datum žádosti";
-App::$strings["Email"] = "E-mail";
-App::$strings["No registrations."] = "Žádné registrace.";
-App::$strings["Deny"] = "Odmítnout";
-App::$strings["Block"] = "Blokovat";
-App::$strings["Unblock"] = "Odblokovat";
-App::$strings["Register date"] = "Datum registrace";
-App::$strings["Last login"] = "Datum posledního přihlášení";
-App::$strings["Last item"] = "Poslední položka";
-App::$strings["Account"] = "Účet";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Vybraní uživatelé budou smazáni!\\n\\n Vše, co tito uživatelé na těchto stránkách vytvořili, bude trvale odstraněno!\\n\\n Opravdu pokračovat?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Uživatel {0} bude smazán!\\n\\n Vše, co tento uživatel na těchto stránkách vytvořil, bude trvale odstraněno!\\n\\n Opravdu pokračovat?";
-App::$strings["Plugin %s disabled."] = "Plugin %s zakázán.";
-App::$strings["Plugin %s enabled."] = "Plugin %s povolen.";
-App::$strings["Disable"] = "Zakázat";
-App::$strings["Enable"] = "Povolit";
-App::$strings["Toggle"] = "Přepnout";
-App::$strings["Settings"] = "Nastavení";
-App::$strings["Log settings updated."] = "Nastavení protokolu aktualizováno.";
-App::$strings["Clear"] = "Vyčistit";
-App::$strings["Debugging"] = "Ladění";
-App::$strings["Log file"] = "Soubor s logem";
-App::$strings["Must be writable by web server. Relative to your Friendika index.php."] = "Webový server musí mít práva zápisu . Relativní k index.php Friendika.";
-App::$strings["Log level"] = "Úroveň auditu";
-App::$strings["Close"] = "Uzavřená";
-App::$strings["FTP Host"] = "Hostitel FTP";
-App::$strings["FTP Path"] = "Cesta FTP";
-App::$strings["FTP User"] = "FTP uživatel";
-App::$strings["FTP Password"] = "FTP heslo";
-App::$strings["Access to this profile has been restricted."] = "Přístup na tento profil byl omezen.";
-App::$strings["Tips for New Members"] = "Tipy pro nové členy";
-App::$strings["Login failed."] = "Přihlášení se nezdařilo.";
-App::$strings["Welcome "] = "Vítejte ";
-App::$strings["Please upload a profile photo."] = "Prosím nahrejte profilovou fotografii";
-App::$strings["Welcome back "] = "Vítejte zpět ";
-App::$strings["This site is not configured to allow communications with other networks."] = "Tento web není nakonfigurován tak, aby umožňoval komunikaci s ostatními sítěmi.";
-App::$strings["No compatible communication protocols or feeds were discovered."] = "Nenalezen žádný kompatibilní komunikační protokol nebo kanál.";
-App::$strings["The profile address specified does not provide adequate information."] = "Uvedená adresa profilu neposkytuje dostatečné informace.";
-App::$strings["An author or name was not found."] = "Autor nebo jméno nenalezeno";
-App::$strings["No browser URL could be matched to this address."] = "Této adrese neodpovídá žádné URL prohlížeče.";
-App::$strings["The profile address specified belongs to a network which has been disabled on this site."] = "Zadaná adresa profilu patří do sítě, která byla na tomto serveru zakázána.";
-App::$strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Omezený profil. Tato osoba nebude schopna od Vás přijímat přímé / osobní sdělení.";
-App::$strings["Unable to retrieve contact information."] = "Nepodařilo se získat kontaktní informace.";
-App::$strings["following"] = "následující";
-App::$strings["Item has been removed."] = "Položka byla odstraněna.";
-App::$strings["New mail received at "] = "Přišel nový e-mail v";
-App::$strings["Applications"] = "Aplikace";
-App::$strings["No installed applications."] = "Žádné nainstalované aplikace.";
-App::$strings["Search"] = "Vyhledávání";
-App::$strings["Profile not found."] = "Profil nenalezen";
-App::$strings["Profile Name is required."] = "Jméno profilu je povinné.";
-App::$strings["Profile updated."] = "Profil aktualizován.";
-App::$strings["Profile deleted."] = "Profil smazán.";
-App::$strings["Profile-"] = "Profil-";
-App::$strings["New profile created."] = "Nový profil vytvořen.";
-App::$strings["Profile unavailable to clone."] = "Profil není možné naklonovat.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Skrýt u tohoto profilu vaše kontakty / seznam přátel před před dalšími uživateli zobrazující si tento profil?";
-App::$strings["Edit Profile Details"] = "Upravit podrobnosti profilu ";
-App::$strings["View this profile"] = "Zobrazit tento profil";
-App::$strings["Create a new profile using these settings"] = "Vytvořit nový profil pomocí tohoto nastavení";
-App::$strings["Clone this profile"] = "Klonovat tento profil";
-App::$strings["Delete this profile"] = "Smazat tento profil";
-App::$strings["Profile Name:"] = "Jméno profilu:";
-App::$strings["Your Full Name:"] = "Vaše celé jméno:";
-App::$strings["Title/Description:"] = "Název / Popis:";
-App::$strings["Your Gender:"] = "Vaše pohlaví:";
-App::$strings["Birthday (%s):"] = "Narozeniny uživatele (%s):";
-App::$strings["Street Address:"] = "Ulice:";
-App::$strings["Locality/City:"] = "Město:";
-App::$strings["Postal/Zip Code:"] = "PSČ:";
-App::$strings["Country:"] = "Země:";
-App::$strings["Region/State:"] = "Region / stát:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Rodinný stav:";
-App::$strings["Who: (if applicable)"] = "Kdo: (pokud je možné)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Příklady: jan123, Jan Novák, jan@seznam.cz";
-App::$strings["Sexual Preference:"] = "Sexuální preference:";
-App::$strings["Homepage URL:"] = "Odkaz na domovskou stránku:";
-App::$strings["Political Views:"] = "Politické přesvědčení:";
-App::$strings["Religious Views:"] = "Náboženské přesvědčení:";
-App::$strings["Public Keywords:"] = "Veřejná klíčová slova:";
-App::$strings["Private Keywords:"] = "Soukromá klíčová slova:";
-App::$strings["Example: fishing photography software"] = "Příklad: fishing photography software";
-App::$strings["(Used for suggesting potential friends, can be seen by others)"] = "(Používá se pro doporučování potenciálních přátel, může být viděno ostatními)";
-App::$strings["(Used for searching profiles, never shown to others)"] = "(Používá se pro vyhledávání profilů, není nikdy zobrazeno ostatním)";
-App::$strings["Tell us about yourself..."] = "Řekněte nám něco o sobě ...";
-App::$strings["Hobbies/Interests"] = "Koníčky/zájmy";
-App::$strings["Contact information and Social Networks"] = "Kontaktní informace a sociální sítě";
-App::$strings["Musical interests"] = "Hudební vkus";
-App::$strings["Books, literature"] = "Knihy, literatura";
-App::$strings["Television"] = "Televize";
-App::$strings["Film/dance/culture/entertainment"] = "Film/tanec/kultura/zábava";
-App::$strings["Love/romance"] = "Láska/romantika";
-App::$strings["Work/employment"] = "Práce/zaměstnání";
-App::$strings["School/education"] = "Škola/vzdělání";
-App::$strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Toto je váš <strong>veřejný</strong> profil.<br />Ten <strong>může</strong> být viditelný kýmkoliv na internetu.";
-App::$strings["Age: "] = "Věk: ";
-App::$strings["Profiles"] = "Profily";
-App::$strings["Change profile photo"] = "Změnit profilovou fotografii";
-App::$strings["Create New Profile"] = "Vytvořit nový profil";
-App::$strings["Profile Image"] = "Profilový obrázek";
-App::$strings["visible to everybody"] = "viditelné pro všechny";
-App::$strings["Edit visibility"] = "Upravit viditelnost";
-App::$strings["Global Directory"] = "Globální adresář";
-App::$strings["Normal site view"] = "Normální zobrazení stránky";
-App::$strings["View all site entries"] = "Zobrazit všechny položky stránky";
-App::$strings["Site Directory"] = "Adresář serveru";
-App::$strings["Gender: "] = "Pohlaví: ";
-App::$strings["No entries (some entries may be hidden)."] = "Žádné záznamy (některé položky mohou být skryty).";
-App::$strings["%s : Not a valid email address."] = "%s : není platná e-mailová adresa.";
-App::$strings["Please join my network on %s"] = "Prosím, připojte se do mé sítě na %s";
-App::$strings["%s : Message delivery failed."] = "%s : Doručení zprávy se nezdařilo.";
-App::$strings["%d message sent."] = array(
- 0 => "%d zpráva odeslána.",
- 1 => "%d zprávy odeslány.",
- 2 => "%d zprávy odeslány.",
-);
-App::$strings["You have no more invitations available"] = "Nemáte k dispozici žádné další pozvánky";
-App::$strings["Send invitations"] = "Poslat pozvánky";
-App::$strings["Enter email addresses, one per line:"] = "Zadejte e-mailové adresy, jednu na řádek:";
-App::$strings["Please join my social network on %s"] = "Prosím, připojte se do mé sociální sítě na %s";
-App::$strings["To accept this invitation, please visit:"] = "Chcete-li toto pozvání přijmout, navštivte prosím:";
-App::$strings["You will need to supply this invitation code: \$invite_code"] = "Budete muset zadat kód této pozvánky: \$invite_code";
-App::$strings["Once you have registered, please connect with me via my profile page at:"] = "Jakmile se zaregistrujete, prosím spojte se se mnou přes mou profilovu stránku na:";
-App::$strings["Response from remote site was not understood."] = "Odpověď ze vzdáleného serveru nebyla srozumitelná.";
-App::$strings["Unexpected response from remote site: "] = "Neočekávaná odpověď od vzdáleného serveru:";
-App::$strings["Confirmation completed successfully."] = "Potvrzení úspěšně dokončena.";
-App::$strings["Remote site reported: "] = "Vzdálený server oznámil:";
-App::$strings["Temporary failure. Please wait and try again."] = "Dočasné selhání. Prosím, vyčkejte a zkuste to znovu.";
-App::$strings["Introduction failed or was revoked."] = "Žádost o propojení selhala nebo byla zrušena.";
-App::$strings["Unable to set contact photo."] = "Nelze nastavit fotografii kontaktu.";
-App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s je nyní přítel s %2\$s";
-App::$strings["No user record found for '%s' "] = "Pro '%s' nenalezen žádný uživatelský záznam ";
-App::$strings["Our site encryption key is apparently messed up."] = "Náš šifrovací klíč zřejmě přestal správně fungovat.";
-App::$strings["Empty site URL was provided or URL could not be decrypted by us."] = "Byla poskytnuta prázdná URL adresa nebo se nepodařilo URL adresu dešifrovat.";
-App::$strings["Contact record was not found for you on our site."] = "Kontakt záznam nebyl nalezen pro vás na našich stránkách.";
-App::$strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "Váš systém poskytl duplicitní ID vůči našemu systému. Pokuste se akci zopakovat.";
-App::$strings["Unable to set your contact credentials on our system."] = "Nelze nastavit Vaše přihlašovací údaje v našem systému.";
-App::$strings["Unable to update your contact profile details on our system"] = "Nelze aktualizovat Váš profil v našem systému";
-App::$strings["Connection accepted at %s"] = "Připojení přijato na %s";
-App::$strings["Facebook disabled"] = "Facebook zakázán";
-App::$strings["Updating contacts"] = "Aktualizace kontaktů";
-App::$strings["Facebook API key is missing."] = "Chybí Facebook API klíč.";
-App::$strings["Facebook Connect"] = "Facebook připojen";
-App::$strings["Install Facebook connector for this account."] = "Nainstalovat pro tento účet Facebook konektor.";
-App::$strings["Remove Facebook connector"] = "Odstranit konektor na Facebook";
-App::$strings["Post to Facebook by default"] = "Standardně posílat příspěvky na Facebook";
-App::$strings["Link all your Facebook friends and conversations"] = "Připojit všechny své přátele na Facebooku a konverzace";
-App::$strings["Warning: Your Facebook privacy settings can not be imported."] = "Upozornění: nastavení ochrany osobních údajů na Facebooku nelze importovat.";
-App::$strings["Linked Facebook items <strong>may</strong> be publicly visible, depending on your privacy settings for this website/account."] = "Propojené položky z Facebook <strong>mohou</strong> být veřejně viditelné, v závislosti na nastavení ochrany osobních údajů pro tuto webovou stránku/účet.";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Facebook Connector Settings"] = "Nastavení Facebook konektoru ";
-App::$strings["Post to Facebook"] = "Přidat příspěvek na Facebook";
-App::$strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Příspěvek na Facebook zrušen kvůli konfliktu přístupových práv mezi sítěmi.";
-App::$strings["Image: "] = "Obrázek: ";
-App::$strings["View on Friendika"] = "Pohled na Friendiku";
-App::$strings["Facebook post failed. Queued for retry."] = "Zaslání příspěvku na Facebook selhalo. Příspěvek byl zařazen do fronty pro opakované odeslání.";
-App::$strings["Generate new key"] = "Generovat nové klíče";
-App::$strings["Widgets key"] = "Widgety klíč";
-App::$strings["Widgets available"] = "Widgety k dispozici";
-App::$strings["Connect on Friendika!"] = "Spojit se na Friendice!";
-App::$strings["Three Dimensional Tic-Tac-Toe"] = "Trojrozměrné Tic-Tac-Toe";
-App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
-App::$strings["New game"] = "Nová hra";
-App::$strings["New game with handicap"] = "Nová hra s handicapem";
-App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Trojrozměrné tic-tac-toe je podobná této tradiční hře kromě toho, že se hraje na více úrovních současně.";
-App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "V tomto případě existují tři úrovně. Vyhrajete tím, že dostane tři v řadě na jakékoli úrovni, stejně jako nahoru, dolů a šikmo na různých úrovních.";
-App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Hra s handicapem zakáže centrální pozici na střední úrovni, protože hráč zaujímající tuto polohu má často nespravedlivou výhodu.";
-App::$strings["You go first..."] = "Vy začněte ...";
-App::$strings["I'm going first this time..."] = "Tentokrát začnu já...";
-App::$strings["You won!"] = "Vyhrál jste!";
-App::$strings["\"Cat\" game!"] = "\"Kočičí\" hra!";
-App::$strings["I won!"] = "Vyhrál jsem!";
-App::$strings["Randplace Settings"] = "Randplace Nastavení";
-App::$strings["Enable Randplace Plugin"] = "Povolit Randplace Plugin";
-App::$strings["Upload a file"] = "Nahrát soubor";
-App::$strings["Drop files here to upload"] = "Přeneste sem soubory k nahrání";
-App::$strings["Failed"] = "Neúspěch";
-App::$strings["No files were uploaded."] = "Žádné soubory nebyly nahrány.";
-App::$strings["Uploaded file is empty"] = "Nahraný soubor je prázdný";
-App::$strings["File has an invalid extension, it should be one of "] = "Soubor má neplatnou příponu, ta by měla být jednou z";
-App::$strings["Upload was cancelled, or server error encountered"] = "Nahrávání bylo zrušeno nebo došlo k chybě na serveru";
-App::$strings["Impressum"] = "Impressum";
-App::$strings["Site Owner"] = "Vlastník webu";
-App::$strings["Email Address"] = "E-mailová adresa";
-App::$strings["Postal Address"] = "Poštovní adresa";
-App::$strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Doplněk Impressum musí být nakonfigurován!<br/>Prosím, přidejte alespoň proměnnou <tt>owner</tt> do konfiguračního souboru. Pro nastavení ostatních proměnných se seznamte s nápovědou v souboru README tohoto doplňku.";
-App::$strings["Site Owners Profile"] = "Profil majitele webu";
-App::$strings["Notes"] = "Poznámky";
-App::$strings["OEmbed settings updated"] = "OEmbed nastavení aktualizováno";
-App::$strings["Use OEmbed for YouTube videos"] = "Použití OEmbed pro videa na YouTube";
-App::$strings["URL to embed:"] = "URL adresa k vložení:";
-App::$strings["Post to StatusNet"] = "Poslat příspěvek na StatusNet";
-App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Obraťte se na administratora webu.<br />Poskytnutý odkaz na API není platný.";
-App::$strings["We could not contact the StatusNet API with the Path you entered."] = "S cestou, kterou jste zadali, se nebylo možné spojit s API StatusNetu.";
-App::$strings["StatusNet settings updated."] = "Nastavení StatusNetu aktualizováno.";
-App::$strings["StatusNet Posting Settings"] = "Nastavení zasílání příspěvků na StatusNet ";
-App::$strings["Globally Available StatusNet OAuthKeys"] = "Globálně dostupné StatusNet OAuth klíče";
-App::$strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "Jsou dostupné přednastavené OAuth páry klíčů pro některé servery StatusNetu. Pokud používáte některý z nich, použijte toto přihlášení. Pokud ne, neváhejte se připojit k jiné instanci StatusNet (viz níže).";
-App::$strings["Provide your own OAuth Credentials"] = "Uveďte své vlastní OAuth přihlašovací údaje";
-App::$strings["No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation."] = "Nenalezen žádný consumer pár klíčů pro StatusNet. Zaregistrujte svůj Friendika účet jako desktopový klient na svém účtu StatusNetu, zkopírujte níže consumer pár klíčů a zadejte API base root.<br />Než si zaregistrujete svůj vlastní pár klíčů OAuth, zjistěte si od administrátora, zda-li už náhodou na tento Friendika server nepřidal pár klíčů pro vámi požadovanou instalaci StatusNetu.";
-App::$strings["OAuth Consumer Key"] = "OAuth Consumer Key";
-App::$strings["OAuth Consumer Secret"] = "OAuth Consumer Secret";
-App::$strings["Base API Path (remember the trailing /)"] = "Cesta k Base API (nezapomeňte na koncový /)";
-App::$strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Chcete-li připojit k vašemu účtu StatusNet klikněte na tlačítko níže, abyste dostati bezpečnostní kód ze StatusNetu, který musíte zkopírovat do vstupního pole níže a odelat formulář. Pouze Vaše <strong>veřejné</strong> příspěvky budou zveřejněny na StatusNetu.";
-App::$strings["Log in with StatusNet"] = "Přihlásit se s StatusNet";
-App::$strings["Copy the security code from StatusNet here"] = "Zkopírujte sem bezpečnostní kód ze StatusNet";
-App::$strings["Cancel Connection Process"] = "Zrušit připojování";
-App::$strings["Current StatusNet API is"] = "Aktuální StatusNet API je";
-App::$strings["Cancel StatusNet Connection"] = "Zrušit StatusNet připojení";
-App::$strings["Currently connected to: "] = "V současné době připojen k:";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být zaslány na související StatusNet účet. Můžete si vybrat, zda-li toto bude výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované chování při psaní každého příspěvku.";
-App::$strings["Allow posting to StatusNet"] = "Povolit zasílání příspěvků na StatusNet";
-App::$strings["Send public postings to StatusNet by default"] = "Standardně poslílat veřejné příspěvky na StatusNet";
-App::$strings["Clear OAuth configuration"] = "Vymazat konfiguraci OAuth";
-App::$strings["API URL"] = "API URL";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Piwik Base URL"] = "Piwik Base adresa URL";
-App::$strings["Site ID"] = "ID webu";
-App::$strings["Show opt-out cookie link?"] = "Zobrazit odkaz opt-out cookie?";
-App::$strings["Post to Twitter"] = "Poslat příspěvek na Twitter";
-App::$strings["Twitter settings updated."] = "Nastavení Twitteru aktualizováno.";
-App::$strings["Twitter Posting Settings"] = "Nastavení zasílání příspěvků na Twitter ";
-App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte se na administrátora webu.";
-App::$strings["At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Na tomto Friendika serveru je Twitter plugin povolen, ale ještě nemáte svůj účet připojen ke svému Twitter účtu. Chcete-li tak učinit, klepnutím na tlačítko níže získejte PIN z Twitteru, který musíte zkopírovat do vstupního pole níže a odešlete formulář. Pouze Vaše <strong>veřejné</strong> příspěvky budou zveřejněny na Twitteru.";
-App::$strings["Log in with Twitter"] = "Přihlásit se s Twitter";
-App::$strings["Copy the PIN from Twitter here"] = "Zkopírujte sem PIN z Twitteru";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Je-li povoleno, všechny Vaše <strong>veřejné</strong> příspěvky mohou být zaslány na související Twitter účet. Můžete si vybrat, zda-li toto bude výchozí nastavení (zde), nebo budete mít možnost si vybrat požadované chování při psaní každého příspěvku.";
-App::$strings["Allow posting to Twitter"] = "Povolit odesílání na Twitter";
-App::$strings["Send public postings to Twitter by default"] = "Defaultně zasílat veřejné komentáře na Twitter";
-App::$strings["Consumer key"] = "Consumer key";
-App::$strings["Consumer secret"] = "Consumer secret";
-App::$strings["Gender:"] = "Pohlaví:";
-App::$strings["Birthday:"] = "Narozeniny:";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Age:"] = "Věk:";
-App::$strings["<span class=\"heart\">&hearts;</span> Status:"] = "<span class=\"heart\">&hearts;</span> Status:";
-App::$strings["Homepage:"] = "Domácí stránka:";
-App::$strings["Religion:"] = "Náboženství:";
-App::$strings["About:"] = "O mě:";
-App::$strings["Hobbies/Interests:"] = "Koníčky/zájmy:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktní informace a sociální sítě:";
-App::$strings["Musical interests:"] = "Hudební vkus:";
-App::$strings["Books, literature:"] = "Knihy, literatura:";
-App::$strings["Television:"] = "Televize:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film/tanec/kultura/zábava:";
-App::$strings["Love/Romance:"] = "Láska/romance";
-App::$strings["Work/employment:"] = "Práce/zaměstnání:";
-App::$strings["School/education:"] = "Škola/vzdělávání:";
-App::$strings["Unknown | Not categorised"] = "Neznámé | Nezařazeno";
-App::$strings["Block immediately"] = "Okamžitě blokovat ";
-App::$strings["Shady, spammer, self-marketer"] = "pochybný, spammer, self-makerter";
-App::$strings["Known to me, but no opinion"] = "Znám ho ale, ale bez rozhodnutí";
-App::$strings["OK, probably harmless"] = "OK, pravděpodobně neškodný";
-App::$strings["Reputable, has my trust"] = "Renomovaný, má mou důvěru";
-App::$strings["Frequently"] = "Často";
-App::$strings["Hourly"] = "každou hodinu";
-App::$strings["Twice daily"] = "Dvakrát denně";
-App::$strings["Daily"] = "denně";
-App::$strings["Weekly"] = "Týdenně";
-App::$strings["Monthly"] = "Měsíčně";
-App::$strings["Male"] = "Muž";
-App::$strings["Female"] = "Žena";
-App::$strings["Currently Male"] = "V současné době muž";
-App::$strings["Currently Female"] = "V současné době žena";
-App::$strings["Mostly Male"] = "Většinou muž";
-App::$strings["Mostly Female"] = "Většinou žena";
-App::$strings["Transgender"] = "Transgender";
-App::$strings["Intersex"] = "Intersex";
-App::$strings["Transsexual"] = "Transexuál";
-App::$strings["Hermaphrodite"] = "Hermafrodit";
-App::$strings["Neuter"] = "Neutrál";
-App::$strings["Non-specific"] = "Nespecifikováno";
-App::$strings["Other"] = "Jiné";
-App::$strings["Undecided"] = "Nerozhodnuto";
-App::$strings["Males"] = "Muži";
-App::$strings["Females"] = "Ženy";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbička";
-App::$strings["No Preference"] = "Bez preferencí";
-App::$strings["Bisexual"] = "Bisexuál";
-App::$strings["Autosexual"] = "Autosexuál";
-App::$strings["Abstinent"] = "Abstinent";
-App::$strings["Virgin"] = "panic/panna";
-App::$strings["Deviant"] = "Deviant";
-App::$strings["Fetish"] = "Fetišista";
-App::$strings["Oodles"] = "Hodně";
-App::$strings["Nonsexual"] = "Nesexuální";
-App::$strings["Single"] = "Svobodný";
-App::$strings["Lonely"] = "Osamnělý";
-App::$strings["Available"] = "Dostupný";
-App::$strings["Unavailable"] = "Nedostupný";
-App::$strings["Dating"] = "Seznamující se";
-App::$strings["Unfaithful"] = "Nevěrný";
-App::$strings["Sex Addict"] = "Závislý na sexu";
-App::$strings["Friends"] = "Přátelé";
-App::$strings["Friends/Benefits"] = "Přátelé / výhody";
-App::$strings["Casual"] = "Ležérní";
-App::$strings["Engaged"] = "Zadaný";
-App::$strings["Married"] = "Ženatý/vdaná";
-App::$strings["Partners"] = "Partneři";
-App::$strings["Cohabiting"] = "Žijící ve společné domácnosti";
-App::$strings["Happy"] = "Šťastný";
-App::$strings["Not Looking"] = "Nehledající";
-App::$strings["Swinger"] = "Swinger";
-App::$strings["Betrayed"] = "Zrazen";
-App::$strings["Separated"] = "Odloučený";
-App::$strings["Unstable"] = "Nestálý";
-App::$strings["Divorced"] = "Rozvedený(á)";
-App::$strings["Widowed"] = "Ovdovělý(á)";
-App::$strings["Uncertain"] = "Nejistý";
-App::$strings["Complicated"] = "Komplikovaný";
-App::$strings["Don't care"] = "Nezajímá";
-App::$strings["Ask me"] = "Zeptej se mě";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Starts:"] = "Začíná:";
-App::$strings["Finishes:"] = "Končí:";
-App::$strings["prev"] = "předchozí";
-App::$strings["first"] = "první";
-App::$strings["last"] = "poslední";
-App::$strings["next"] = "další";
-App::$strings["No contacts"] = "Žádné kontakty";
-App::$strings["%d Contact"] = array(
- 0 => "%d kontakt",
- 1 => "%d kontaktů",
- 2 => "%d kontaktů",
-);
-App::$strings["Monday"] = "Pondělí";
-App::$strings["Tuesday"] = "Úterý";
-App::$strings["Wednesday"] = "Středa";
-App::$strings["Thursday"] = "Čtvrtek";
-App::$strings["Friday"] = "Pátek";
-App::$strings["Saturday"] = "Sobota";
-App::$strings["Sunday"] = "Neděle";
-App::$strings["January"] = "Ledna";
-App::$strings["February"] = "Února";
-App::$strings["March"] = "Března";
-App::$strings["April"] = "Dubna";
-App::$strings["May"] = "Května";
-App::$strings["June"] = "Června";
-App::$strings["July"] = "Července";
-App::$strings["August"] = "Srpna";
-App::$strings["September"] = "Září";
-App::$strings["October"] = "Října";
-App::$strings["November"] = "Listopadu";
-App::$strings["December"] = "Prosince";
-App::$strings["bytes"] = "bytů";
-App::$strings["Select an alternate language"] = "Vyběr alternativního jazyka";
-App::$strings["Sharing notification from Diaspora network"] = "Sdílení oznámení ze sítě Diaspora";
-App::$strings["Embedding disabled"] = "Vkládání zakázáno";
-App::$strings["Create a new group"] = "Vytvořit novou skupinu";
-App::$strings["Everybody"] = "Všichni";
-App::$strings["Logout"] = "Odhlásit se";
-App::$strings["End this session"] = "Konec této relace";
-App::$strings["Login"] = "Přihlásit se";
-App::$strings["Sign in"] = "Přihlásit se";
-App::$strings["Home"] = "Domů";
-App::$strings["Home Page"] = "Domácí stránka";
-App::$strings["Create an account"] = "Vytvořit účet";
-App::$strings["Help and documentation"] = "Nápověda a dokumentace";
-App::$strings["Apps"] = "Aplikace";
-App::$strings["Addon applications, utilities, games"] = "Doplňkové aplikace, nástroje, hry";
-App::$strings["Search site content"] = "Hledání na stránkách tohoto webu";
-App::$strings["Conversations on this site"] = "Konverzace na tomto webu";
-App::$strings["Directory"] = "Adresář";
-App::$strings["People directory"] = "Adresář";
-App::$strings["Network"] = "Síť";
-App::$strings["Conversations from your friends"] = "Konverzace od Vašich přátel";
-App::$strings["Your posts and conversations"] = "Vaše příspěvky a konverzace";
-App::$strings["Notifications"] = "Upozornění";
-App::$strings["Friend requests"] = "Požadavky přátelství";
-App::$strings["Private mail"] = "Soukromá pošta";
-App::$strings["Manage"] = "Spravovat";
-App::$strings["Manage other pages"] = "Spravovat jiné stránky";
-App::$strings["Manage/edit profiles"] = "Spravovat/upravit profily";
-App::$strings["Manage/edit friends and contacts"] = "Spravovat/upravit přátelé a kontakty";
-App::$strings["Admin"] = "Administrace";
-App::$strings["Site setup and configuration"] = "Nastavení webu a konfigurace";
-App::$strings["Logged out."] = "Odhlášen.";
-App::$strings["Miscellaneous"] = "Různé";
-App::$strings["year"] = "rok";
-App::$strings["month"] = "měsíc";
-App::$strings["day"] = "den";
-App::$strings["never"] = "nikdy";
-App::$strings["less than a second ago"] = "méně než před sekundou";
-App::$strings["years"] = "let";
-App::$strings["months"] = "měsíců";
-App::$strings["week"] = "týden";
-App::$strings["weeks"] = "týdny";
-App::$strings["days"] = "dnů";
-App::$strings["hour"] = "hodina";
-App::$strings["hours"] = "hodin";
-App::$strings["minute"] = "minuta";
-App::$strings["minutes"] = "minut";
-App::$strings["second"] = "sekunda";
-App::$strings["seconds"] = "sekund";
-App::$strings[" ago"] = " nazpět";
-App::$strings["From: "] = "Od:";
-App::$strings["Image/photo"] = "Obrázek/fotografie";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Nelze nalézt záznam v DNS pro databázový server '%s'";
-App::$strings["Visible to everybody"] = "Viditelné pro všechny";
-App::$strings["show"] = "zobrazit";
-App::$strings["don't show"] = "nikdy nezobrazit";
-App::$strings["(no subject)"] = "(Bez předmětu)";
-App::$strings["You have a new follower at "] = "Máte nového následovníka na";
-App::$strings["event"] = "událost";
-App::$strings["View %s's profile"] = "Zobrazit %s profilu";
-App::$strings["%s from %s"] = "%s od %s";
-App::$strings["View in context"] = "Pohled v kontextu";
-App::$strings["See more posts like this"] = "Zobrazit více podobných příspěvků";
-App::$strings["See all %d comments"] = "Zobrazit všechny komentáře %d";
-App::$strings["Select"] = "Vybrat";
-App::$strings["toggle star status"] = "přepnout hvězdu";
-App::$strings["to"] = "pro";
-App::$strings["Wall-to-Wall"] = "Zeď-na-Zeď";
-App::$strings["via Wall-To-Wall:"] = "přes Zeď-na-Zeď ";
-App::$strings["Delete Selected Items"] = "Smazat vybrané položky";
-App::$strings["View status"] = "Zobrazit stav";
-App::$strings["View profile"] = "Zobrazit profil";
-App::$strings["View photos"] = "Zobrazit fotografie";
-App::$strings["View recent"] = "Zobrazit poslední";
-App::$strings["Send PM"] = "Poslat soukromou zprávu";
-App::$strings["%s likes this."] = "%s se to líbí.";
-App::$strings["%s doesn't like this."] = "%s se to nelíbí.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = "<span %1\$s>%2\$d lidem</span> se to líbí.";
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = "<span %1\$s>%2\$d lidem</span> se to nelíbí.";
-App::$strings["and"] = "a";
-App::$strings[", and %d other people"] = ", a %d dalších lidí";
-App::$strings["%s like this."] = "%s se to líbí.";
-App::$strings["%s don't like this."] = "%s se to nelíbí.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Viditelné pro <strong>všechny</strong>";
-App::$strings["Please enter a YouTube link:"] = "Prosím zadejte odkaz na YouTube:";
-App::$strings["Please enter a video(.ogg) link/URL:"] = "Prosím, zadejte odkaz na video (ogg.):";
-App::$strings["Please enter an audio(.ogg) link/URL:"] = "Prosím, zadejte odkaz na audio (ogg.):";
-App::$strings["Where are you right now?"] = "Kde právě jste?";
-App::$strings["Enter a title for this item"] = "Zadejte titulek pro tuto položku";
-App::$strings["Set title"] = "Nastavit titulek";
-App::$strings["Delete this item?"] = "Odstranit tuto položku?";
-App::$strings["Create a New Account"] = "Vytvořit nový účet";
-App::$strings["Nickname or Email address: "] = "Přezdívka nebo e-mailová adresa:";
-App::$strings["Password: "] = "Heslo: ";
-App::$strings["Nickname/Email/OpenID: "] = "Přezdívka/E-mail/OpenID: ";
-App::$strings["Password (if not OpenID): "] = "Heslo (pokud se nepoužívá OpenID):";
-App::$strings["Forgot your password?"] = "Zapomněli jste své heslo?";
-App::$strings["Connect"] = "Spojit";
-App::$strings[", "] = ", ";
-App::$strings["Status:"] = "Status:";
-App::$strings["g A l F d"] = "g A l F d";
-App::$strings["Birthday Reminders"] = "Připomínka narozenin";
-App::$strings["Birthdays this week:"] = "Narozeniny tento týden:";
-App::$strings["(Adjusted for local time)"] = "(Upraveno pro místní čas)";
-App::$strings["[today]"] = "[Dnes]";
-App::$strings["Not Found"] = "Nenalezen";
-App::$strings["Page not found."] = "Stránka nenalezena";
diff --git a/view/cs/update_fail_eml.tpl b/view/cs/update_fail_eml.tpl
deleted file mode 100644
index 61f44b1e6..000000000
--- a/view/cs/update_fail_eml.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-Hey,
-I'm the web server at {{$sitename}};
-
-The Hubzilla developers released update {{$update}} recently,
-but when I tried to install it, something went terribly wrong.
-This needs to be fixed soon and it requires human intervention.
-Please contact a Red developer if you can not figure out how to
-fix it on your own. My database might be invalid.
-
-The error message is '{{$error}}'.
-
-Apologies for the inconvenience,
- your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css
index 5e928782a..26321ab3c 100644
--- a/view/css/bootstrap-red.css
+++ b/view/css/bootstrap-red.css
@@ -59,7 +59,7 @@ aside .nav-pills > li > a,
padding: 6px 10px;
}
-.dropdown-menu {
+.wall-item-tools .dropdown-menu {
min-width: auto;
}
diff --git a/view/css/mod_cal.css b/view/css/mod_cal.css
index f0b5c0166..184227a91 100644
--- a/view/css/mod_cal.css
+++ b/view/css/mod_cal.css
@@ -1,3 +1,7 @@
+.fc-scroller {
+ overflow: hidden !important;
+}
+
/* fix borders */
.fc th:first-child,
diff --git a/view/css/mod_events.css b/view/css/mod_events.css
index f0b5c0166..184227a91 100644
--- a/view/css/mod_events.css
+++ b/view/css/mod_events.css
@@ -1,3 +1,7 @@
+.fc-scroller {
+ overflow: hidden !important;
+}
+
/* fix borders */
.fc th:first-child,
diff --git a/view/de/hmessages.po b/view/de/hmessages.po
index b2657a242..5c3b981ad 100644
--- a/view/de/hmessages.po
+++ b/view/de/hmessages.po
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-20 00:02-0700\n"
-"PO-Revision-Date: 2016-05-21 14:16+0000\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-15 09:43+0000\n"
"Last-Translator: Phellmes <forum@suschka.de>\n"
"Language-Team: German (http://www.transifex.com/Friendica/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -37,7 +37,7 @@ msgstr ""
msgid "parent"
msgstr "Übergeordnetes Verzeichnis"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2632
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Sammlung"
@@ -62,15 +62,15 @@ msgid "Schedule Outbox"
msgstr "Postausgang für überwachte Kalender"
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
-#: ../../Zotlabs/Module/Photos.php:1243 ../../include/widgets.php:1506
-#: ../../include/conversation.php:1037 ../../include/apps.php:441
-#: ../../include/apps.php:516
+#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Unbekannt"
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../include/nav.php:93 ../../include/conversation.php:1645
-#: ../../include/apps.php:167
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Dateien"
@@ -82,22 +82,22 @@ msgstr "Summe"
msgid "Shared"
msgstr "Geteilt"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:305
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
#: ../../Zotlabs/Module/Webpages.php:186
msgid "Create"
msgstr "Erstelle"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:307
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1367
-#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1519
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Hochladen"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Admin.php:1208
-#: ../../Zotlabs/Module/Chat.php:245 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
#: ../../Zotlabs/Module/Settings.php:618
#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
@@ -108,7 +108,7 @@ msgid "Type"
msgstr "Typ"
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1322
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Größe"
@@ -117,121 +117,127 @@ msgstr "Größe"
msgid "Last Modified"
msgstr "Zuletzt geändert"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Admin.php:2089
-#: ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editwebpage.php:146
#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:187 ../../include/identity.php:937
-#: ../../include/identity.php:941 ../../include/ItemObject.php:100
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
#: ../../include/menu.php:108 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/apps.php:291
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Bearbeiten"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Admin.php:1043
-#: ../../Zotlabs/Module/Admin.php:1202 ../../Zotlabs/Module/Admin.php:2090
-#: ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connections.php:263
-#: ../../Zotlabs/Module/Connedit.php:573
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:572
#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
#: ../../Zotlabs/Module/Editlayout.php:136
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Settings.php:653
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Webpages.php:189
-#: ../../include/ItemObject.php:120 ../../include/conversation.php:657
-#: ../../include/apps.php:292
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Löschen"
-#: ../../Zotlabs/Storage/Browser.php:284
+#: ../../Zotlabs/Storage/Browser.php:285
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Sie verwenden %1$s von Ihrem verfügbaren Dateispeicher."
-#: ../../Zotlabs/Storage/Browser.php:289
+#: ../../Zotlabs/Storage/Browser.php:290
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Sie verwenden %1$s von %2$s verfügbarem Dateispeicher. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:301
+#: ../../Zotlabs/Storage/Browser.php:302
msgid "WARNING:"
msgstr "WARNUNG:"
-#: ../../Zotlabs/Storage/Browser.php:304
+#: ../../Zotlabs/Storage/Browser.php:305
msgid "Create new folder"
msgstr "Neuen Ordner anlegen"
-#: ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Storage/Browser.php:307
msgid "Upload file"
msgstr "Datei hochladen"
-#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Module/Achievements.php:34
-#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
-#: ../../Zotlabs/Module/Appman.php:74 ../../Zotlabs/Module/Authtest.php:16
-#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76
-#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Channel.php:105
-#: ../../Zotlabs/Module/Channel.php:225 ../../Zotlabs/Module/Channel.php:265
-#: ../../Zotlabs/Module/Chat.php:98 ../../Zotlabs/Module/Chat.php:103
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Keine Berechtigung"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Connedit.php:366
#: ../../Zotlabs/Module/Cover_photo.php:277
#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:69
#: ../../Zotlabs/Module/Editwebpage.php:90
#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127
-#: ../../Zotlabs/Module/Events.php:265 ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
#: ../../Zotlabs/Module/Filestorage.php:79
#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121
-#: ../../Zotlabs/Module/Fsuggest.php:82 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Id.php:76 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:130
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Message.php:20 ../../Zotlabs/Module/Mitem.php:115
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
#: ../../Zotlabs/Module/Profile_photo.php:256
#: ../../Zotlabs/Module/Profile_photo.php:269
-#: ../../Zotlabs/Module/Profiles.php:202 ../../Zotlabs/Module/Profiles.php:600
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:238
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
#: ../../Zotlabs/Module/Sharedwithme.php:11
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
#: ../../Zotlabs/Module/Thing.php:331
-#: ../../Zotlabs/Module/Viewconnections.php:26
-#: ../../Zotlabs/Module/Viewconnections.php:31
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
-#: ../../include/chat.php:133 ../../include/photos.php:29
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
#: ../../include/attach.php:141 ../../include/attach.php:189
#: ../../include/attach.php:252 ../../include/attach.php:266
#: ../../include/attach.php:273 ../../include/attach.php:338
#: ../../include/attach.php:352 ../../include/attach.php:359
#: ../../include/attach.php:437 ../../include/attach.php:895
#: ../../include/attach.php:966 ../../include/attach.php:1118
-#: ../../include/items.php:3439 ../../index.php:175
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Berechtigung verweigert."
@@ -240,18 +246,18 @@ msgid "Not Found"
msgstr "Nicht gefunden"
#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:121 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
#: ../../Zotlabs/Module/Page.php:93
msgid "Page not found."
msgstr "Seite nicht gefunden."
-#: ../../Zotlabs/Zot/Auth.php:140
+#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."
-#: ../../Zotlabs/Zot/Auth.php:248 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
#: ../../Zotlabs/Module/Openid.php:183
#, php-format
msgid "Welcome %s. Remote authentication successful."
@@ -263,7 +269,7 @@ msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
#: ../../Zotlabs/Module/Editwebpage.php:33
#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
-#: ../../Zotlabs/Module/Webpages.php:34 ../../include/identity.php:837
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
msgid "Requested profile is not available."
msgstr "Erwünschte Profil ist nicht verfügbar."
@@ -271,1253 +277,12 @@ msgstr "Erwünschte Profil ist nicht verfügbar."
msgid "Some blurb about what to do when you're new here"
msgstr "Ein Hinweis, was man tun kann, wenn man neu hier ist"
-#: ../../Zotlabs/Module/Acl.php:225
-msgid "network"
-msgstr "Netzwerk"
-
-#: ../../Zotlabs/Module/Acl.php:235
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Theme-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1239
-#: ../../Zotlabs/Module/Admin.php:1543 ../../Zotlabs/Module/Display.php:44
-#: ../../Zotlabs/Module/Filestorage.php:33 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3360
-msgid "Item not found."
-msgstr "Element nicht gefunden."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "Anzahl der Konten"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "Anzahl der blockierten Konten"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "Anzahl der abgelaufenen Konten"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "Anzahl der ablaufenden Konten"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "Anzahl der Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "Anzahl der primären Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "Anzahl der Klone"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Nachrichten-Warteschlangen"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Die installierte Software sollte aktualisiert werden"
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1034 ../../Zotlabs/Module/Admin.php:1198
-#: ../../Zotlabs/Module/Admin.php:1313 ../../Zotlabs/Module/Admin.php:1403
-#: ../../Zotlabs/Module/Admin.php:1594 ../../Zotlabs/Module/Admin.php:1628
-#: ../../Zotlabs/Module/Admin.php:1713
-msgid "Administration"
-msgstr "Administration"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Zusammenfassung"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Registrierte Konten"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Ausstehende Registrierungen"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Registrierte Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Aktive Plug-Ins"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Version"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Repository-Version (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Repository-Version (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Site-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2853
-msgid "Default"
-msgstr "Standard"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
-msgid "mobile"
-msgstr "mobil"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimentell"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "nicht unterstützt"
-
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:89
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:657
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:651 ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:141
-#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1633
-msgid "No"
-msgstr "Nein"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Ja - mit Zustimmung"
-
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:88
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:651 ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:141
-#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1633
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mein Server ist kein öffentlicher Server"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Meine Seite hat nur bezahlten Zugriff"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Meine Seite hat nur freien Zugriff"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1383
-msgid "Site"
-msgstr "Seite"
-
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1036
-#: ../../Zotlabs/Module/Admin.php:1200 ../../Zotlabs/Module/Admin.php:1405
-#: ../../Zotlabs/Module/Admin.php:1630 ../../Zotlabs/Module/Admin.php:1715
-#: ../../Zotlabs/Module/Admin.php:2092 ../../Zotlabs/Module/Appman.php:125
-#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Chat.php:194
-#: ../../Zotlabs/Module/Chat.php:236 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Connedit.php:734 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Events.php:672
-#: ../../Zotlabs/Module/Filestorage.php:162
-#: ../../Zotlabs/Module/Fsuggest.php:112 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Import.php:546
-#: ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:384 ../../Zotlabs/Module/Mitem.php:235
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
-#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Profiles.php:691 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
-#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
-#: ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:335
-#: ../../Zotlabs/Module/Setup.php:376 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
-#: ../../include/widgets.php:757 ../../include/widgets.php:769
-#: ../../include/ItemObject.php:703 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Bestätigen"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
-msgstr "Registrierung"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Dateiupload"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Richtlinien"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:19
-msgid "Advanced"
-msgstr "Fortgeschritten"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Seitenname"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Administrator-Informationen"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "System-Sprache"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "System-Theme"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Mobile System-Theme:"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Theme für mobile Geräte"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Feeds als Verbindungen erlauben"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(führt zu hoher Systemlast)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Maximale Bildgröße"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Nur mit Einladung"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Registrierungstext"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Homepage-URL schützen"
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Konten gelten nach X Tagen als unbenutzt"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Erlaubte Domains für Kontakte"
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Erlaubte Domains für E-Mails"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Nicht erlaubte Domains für E-Mails"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde."
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "E-Mail-Adressen überprüfen"
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Veröffentlichung erzwingen"
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Öffentliche Beiträge importieren"
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Log-in auf der Startseite"
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Kontext-Hilfe aktivieren"
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird."
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "Verzeichnisserver-URL"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Standard-Verzeichnisserver"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Proxy Benutzer"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Proxy URL"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Netzwerk-Timeout"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Auslieferung Intervall"
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Zustellungen pro Prozess"
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5."
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Abfrageintervall"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Maximales Load Average"
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 = keine Löschung importierter Inhalte"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "Off"
-msgstr "Aus"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "On"
-msgstr "An"
-
-#: ../../Zotlabs/Module/Admin.php:678
-#, php-format
-msgid "Lock feature %s"
-msgstr "Blockiere die Funktion %s"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Zusätzliche Funktionen verwalten"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Kein Server gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1048
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "für Kanal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "auf Server"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Connections.php:270
-msgid "Status"
-msgstr "Status"
-
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Server"
-
-#: ../../Zotlabs/Module/Admin.php:746
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher."
-
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:"
-
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert."
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1386
-msgid "Security"
-msgstr "Sicherheit"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Öffentlichen Zugriff blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist."
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Setze den \"Transport Security\" HTTP Header"
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Setze den \"Content Security Policy\" HTTP Header"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Kommunikation nur von diesen Seiten erlauben"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben."
-
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Kommunikation von diesen Seiten blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Kommunikation nur von diesen Kanälen erlauben"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. "
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Kommunikation von folgenden Kanälen blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains"
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Eingebettete HTML Inhalte von diesen Seiten blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "Update wurde als erfolgreich markiert"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Update %s wurde erfolgreich ausgeführt."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Update-Funktion %s konnte nicht gefunden werden."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "Keine fehlgeschlagenen Aktualisierungen."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Fehlgeschlagene Aktualisierungen"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Warteschlangenstatistiken"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Einträge insgesamt"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Priorität"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Ziel-URL"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Hub als permanent offline markieren"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Warteschlange für diesen Hub leeren"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Letzter Kontakt"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "%s Konto blockiert/freigegeben"
-msgstr[1] "%s Konten blockiert/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:909
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s Konto gelöscht"
-msgstr[1] "%s Konten gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:945
-msgid "Account not found"
-msgstr "Konto nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:957
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Konto '%s' gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:965
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Konto '%s' blockiert"
-
-#: ../../Zotlabs/Module/Admin.php:973
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Konto '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-msgid "Users"
-msgstr "Benutzer"
-
-#: ../../Zotlabs/Module/Admin.php:1037 ../../Zotlabs/Module/Admin.php:1201
-msgid "select all"
-msgstr "Alle auswählen"
-
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "User registrations waiting for confirm"
-msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
-
-#: ../../Zotlabs/Module/Admin.php:1039
-msgid "Request date"
-msgstr "Antragsdatum"
-
-#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1048
-#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../include/contact_selectors.php:81 ../../boot.php:1631
-msgid "Email"
-msgstr "E-Mail"
-
-#: ../../Zotlabs/Module/Admin.php:1040
-msgid "No registrations."
-msgstr "Keine Registrierungen."
-
-#: ../../Zotlabs/Module/Admin.php:1041
-#: ../../Zotlabs/Module/Connections.php:275
-msgid "Approve"
-msgstr "Genehmigen"
-
-#: ../../Zotlabs/Module/Admin.php:1042
-msgid "Deny"
-msgstr "Verweigern"
-
-#: ../../Zotlabs/Module/Admin.php:1044 ../../Zotlabs/Module/Connedit.php:541
-msgid "Block"
-msgstr "Blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:1045 ../../Zotlabs/Module/Connedit.php:541
-msgid "Unblock"
-msgstr "Freigeben"
-
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Alle Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid "Register date"
-msgstr "Registrierungs-Datum"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid "Last login"
-msgstr "Letzte Anmeldung"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid "Expires"
-msgstr "Verfällt"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid "Service Class"
-msgstr "Service-Klasse"
-
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1087
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s Kanal gesperrt/freigegeben"
-msgstr[1] "%s Kanäle gesperrt/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1096
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Code für %s Kanal gesperrt/freigegeben"
-msgstr[1] "Code für %s Kanäle gesperrt/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1103
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s Kanal gelöscht"
-msgstr[1] "%s Kanäle gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:1123
-msgid "Channel not found"
-msgstr "Kanal nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:1134
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Kanal '%s' gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:1146
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanal '%s' gesperrt"
-
-#: ../../Zotlabs/Module/Admin.php:1146
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Kanal '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1157
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Code für Kanal '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1157
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Code für Kanal '%s' gesperrt"
-
-#: ../../Zotlabs/Module/Admin.php:1199 ../../include/widgets.php:1385
-msgid "Channels"
-msgstr "Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:1203
-msgid "Censor"
-msgstr "Sperren"
-
-#: ../../Zotlabs/Module/Admin.php:1204
-msgid "Uncensor"
-msgstr "Freigeben"
-
-#: ../../Zotlabs/Module/Admin.php:1205
-msgid "Allow Code"
-msgstr "Code erlauben"
-
-#: ../../Zotlabs/Module/Admin.php:1206
-msgid "Disallow Code"
-msgstr "Code sperren"
-
-#: ../../Zotlabs/Module/Admin.php:1207 ../../include/conversation.php:1617
-msgid "Channel"
-msgstr "Kanal"
-
-#: ../../Zotlabs/Module/Admin.php:1208
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1208 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Profiles.php:469
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../Zotlabs/Module/Admin.php:1210
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1211
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1268
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plug-In %s deaktiviert."
-
-#: ../../Zotlabs/Module/Admin.php:1272
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plug-In %s aktiviert."
-
-#: ../../Zotlabs/Module/Admin.php:1282 ../../Zotlabs/Module/Admin.php:1567
-msgid "Disable"
-msgstr "Deaktivieren"
-
-#: ../../Zotlabs/Module/Admin.php:1285 ../../Zotlabs/Module/Admin.php:1569
-msgid "Enable"
-msgstr "Aktivieren"
-
-#: ../../Zotlabs/Module/Admin.php:1314 ../../Zotlabs/Module/Admin.php:1404
-#: ../../include/widgets.php:1388
-msgid "Plugins"
-msgstr "Plug-Ins"
-
-#: ../../Zotlabs/Module/Admin.php:1315 ../../Zotlabs/Module/Admin.php:1596
-msgid "Toggle"
-msgstr "Umschalten"
-
-#: ../../Zotlabs/Module/Admin.php:1316 ../../Zotlabs/Module/Admin.php:1597
-#: ../../include/widgets.php:638 ../../include/nav.php:208
-#: ../../include/apps.php:166
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: ../../Zotlabs/Module/Admin.php:1323 ../../Zotlabs/Module/Admin.php:1606
-msgid "Author: "
-msgstr "Autor: "
-
-#: ../../Zotlabs/Module/Admin.php:1324 ../../Zotlabs/Module/Admin.php:1607
-msgid "Maintainer: "
-msgstr "Betreuer:"
-
-#: ../../Zotlabs/Module/Admin.php:1325
-msgid "Minimum project version: "
-msgstr "Minimale Version des Projekts:"
-
-#: ../../Zotlabs/Module/Admin.php:1326
-msgid "Maximum project version: "
-msgstr "Maximale Version des Projekts:"
-
-#: ../../Zotlabs/Module/Admin.php:1327
-msgid "Minimum PHP version: "
-msgstr "Minimale PHP Version:"
-
-#: ../../Zotlabs/Module/Admin.php:1328
-msgid "Requires: "
-msgstr "Benötigt:"
-
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1409
-msgid "Disabled - version incompatibility"
-msgstr "Abgeschaltet - Versionsinkompatibilität"
-
-#: ../../Zotlabs/Module/Admin.php:1378
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Gib die öffentliche Git-Repository-URL des Plugin-Repository an."
-
-#: ../../Zotlabs/Module/Admin.php:1379
-msgid "Plugin repo git URL"
-msgstr "Plugin-Repository Git URL"
-
-#: ../../Zotlabs/Module/Admin.php:1380
-msgid "Custom repo name"
-msgstr "Benutzerdefinierter Repository-Name"
-
-#: ../../Zotlabs/Module/Admin.php:1380
-msgid "(optional)"
-msgstr "(optional)"
-
-#: ../../Zotlabs/Module/Admin.php:1381
-msgid "Download Plugin Repo"
-msgstr "Plugin-Repository herunterladen"
-
-#: ../../Zotlabs/Module/Admin.php:1388
-msgid "Install new repo"
-msgstr "Neues Repository installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1389 ../../include/apps.php:284
-msgid "Install"
-msgstr "Installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1390 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1265
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: ../../Zotlabs/Module/Admin.php:1411
-msgid "Manage Repos"
-msgstr "Repositorien verwalten"
-
-#: ../../Zotlabs/Module/Admin.php:1412
-msgid "Installed Plugin Repositories"
-msgstr "Installierte Plugin-Repositorien"
-
-#: ../../Zotlabs/Module/Admin.php:1413
-msgid "Install a New Plugin Repository"
-msgstr "Ein neues Plugin-Repository installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1419 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../include/apps.php:284
-msgid "Update"
-msgstr "Aktualisieren"
-
-#: ../../Zotlabs/Module/Admin.php:1420
-msgid "Switch branch"
-msgstr "Zweig/Branch wechseln"
-
-#: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Photos.php:998
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Entfernen"
-
-#: ../../Zotlabs/Module/Admin.php:1532
-msgid "No themes found."
-msgstr "Keine Theme gefunden."
-
-#: ../../Zotlabs/Module/Admin.php:1588
-msgid "Screenshot"
-msgstr "Bildschirmfoto"
-
-#: ../../Zotlabs/Module/Admin.php:1595 ../../Zotlabs/Module/Admin.php:1629
-#: ../../include/widgets.php:1389
-msgid "Themes"
-msgstr "Themes"
-
-#: ../../Zotlabs/Module/Admin.php:1634
-msgid "[Experimental]"
-msgstr "[Experimentell]"
-
-#: ../../Zotlabs/Module/Admin.php:1635
-msgid "[Unsupported]"
-msgstr "[Nicht unterstützt]"
-
-#: ../../Zotlabs/Module/Admin.php:1659
-msgid "Log settings updated."
-msgstr "Protokoll-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:1714 ../../include/widgets.php:1410
-#: ../../include/widgets.php:1420
-msgid "Logs"
-msgstr "Protokolle"
-
-#: ../../Zotlabs/Module/Admin.php:1716
-msgid "Clear"
-msgstr "Leeren"
-
-#: ../../Zotlabs/Module/Admin.php:1722
-msgid "Debugging"
-msgstr "Debugging"
-
-#: ../../Zotlabs/Module/Admin.php:1723
-msgid "Log file"
-msgstr "Protokolldatei"
-
-#: ../../Zotlabs/Module/Admin.php:1723
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Muss für den Webserver schreibbar sein. Relativ zum $Projectname-Stammverzeichnis."
-
-#: ../../Zotlabs/Module/Admin.php:1724
-msgid "Log level"
-msgstr "Protokollstufe"
-
-#: ../../Zotlabs/Module/Admin.php:2004
-msgid "New Profile Field"
-msgstr "Neues Profilfeld"
-
-#: ../../Zotlabs/Module/Admin.php:2005 ../../Zotlabs/Module/Admin.php:2025
-msgid "Field nickname"
-msgstr "Kurzname für das Feld"
-
-#: ../../Zotlabs/Module/Admin.php:2005 ../../Zotlabs/Module/Admin.php:2025
-msgid "System name of field"
-msgstr "Systemname des Feldes"
-
-#: ../../Zotlabs/Module/Admin.php:2006 ../../Zotlabs/Module/Admin.php:2026
-msgid "Input type"
-msgstr "Art des Inhalts"
-
-#: ../../Zotlabs/Module/Admin.php:2007 ../../Zotlabs/Module/Admin.php:2027
-msgid "Field Name"
-msgstr "Feldname"
-
-#: ../../Zotlabs/Module/Admin.php:2007 ../../Zotlabs/Module/Admin.php:2027
-msgid "Label on profile pages"
-msgstr "Bezeichnung auf Profilseiten"
-
-#: ../../Zotlabs/Module/Admin.php:2008 ../../Zotlabs/Module/Admin.php:2028
-msgid "Help text"
-msgstr "Hilfetext"
-
-#: ../../Zotlabs/Module/Admin.php:2008 ../../Zotlabs/Module/Admin.php:2028
-msgid "Additional info (optional)"
-msgstr "Zusätzliche Informationen (optional)"
-
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:934 ../../include/text.php:946
-msgid "Save"
-msgstr "Speichern"
-
-#: ../../Zotlabs/Module/Admin.php:2018
-msgid "Field definition not found"
-msgstr "Feld-Definition nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:2024
-msgid "Edit Profile Field"
-msgstr "Profilfeld bearbeiten"
-
-#: ../../Zotlabs/Module/Admin.php:2082 ../../include/widgets.php:1391
-msgid "Profile Fields"
-msgstr "Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2083
-msgid "Basic Profile Fields"
-msgstr "Notwendige Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2084
-msgid "Advanced Profile Fields"
-msgstr "Erweiterte Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2084
-msgid "(In addition to basic fields)"
-msgstr "(zusätzlich zu notwendige Felder)"
-
-#: ../../Zotlabs/Module/Admin.php:2086
-msgid "All available fields"
-msgstr "Alle verfügbaren Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2087
-msgid "Custom Fields"
-msgstr "Benutzerdefinierte Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2091
-msgid "Create Custom Field"
-msgstr "Erstelle benutzerdefiniertes Feld"
-
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr "Zugriff für die Anwendung autorisieren"
-
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Trage folgenden Sicherheitscode in der Anwendung ein:"
-
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr "Zum Weitermachen, bitte einloggen."
-
-#: ../../Zotlabs/Module/Api.php:87
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
-
-#: ../../Zotlabs/Module/Appman.php:36 ../../Zotlabs/Module/Appman.php:52
-msgid "App installed."
-msgstr "App installiert."
-
-#: ../../Zotlabs/Module/Appman.php:45
-msgid "Malformed app."
-msgstr "Fehlerhafte App."
-
-#: ../../Zotlabs/Module/Appman.php:103
-msgid "Embed code"
-msgstr "Code einbetten"
-
-#: ../../Zotlabs/Module/Appman.php:109 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr "App bearbeiten"
-
-#: ../../Zotlabs/Module/Appman.php:109
-msgid "Create App"
-msgstr "App erstellen"
-
-#: ../../Zotlabs/Module/Appman.php:114
-msgid "Name of app"
-msgstr "Name der App"
-
-#: ../../Zotlabs/Module/Appman.php:114 ../../Zotlabs/Module/Appman.php:115
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
-#: ../../Zotlabs/Module/Profiles.php:713 ../../Zotlabs/Module/Profiles.php:717
-#: ../../include/datetime.php:246
-msgid "Required"
-msgstr "Benötigt"
-
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Location (URL) of app"
-msgstr "Ort (URL) der App"
-
-#: ../../Zotlabs/Module/Appman.php:116 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr "Beschreibung"
-
-#: ../../Zotlabs/Module/Appman.php:117
-msgid "Photo icon URL"
-msgstr "URL zum Icon"
-
-#: ../../Zotlabs/Module/Appman.php:117
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 Pixel – optional"
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Categories (optional, comma separated list)"
-msgstr "Kategorien (optional, kommagetrennte Liste)"
-
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Version ID"
-msgstr "Versions-ID"
-
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Price of app"
-msgstr "Preis der App"
-
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Location (URL) to purchase app"
-msgstr "Ort (URL), um die App zu kaufen"
-
-#: ../../Zotlabs/Module/Apps.php:46 ../../include/widgets.php:102
-#: ../../include/nav.php:163
-msgid "Apps"
-msgstr "Apps"
-
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Element nicht verfügbar."
-
-#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
-msgid "Invalid item."
-msgstr "Ungültiges Element."
-
-#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Cal.php:65
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Kanal nicht gefunden."
-
#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
#: ../../Zotlabs/Module/Editblock.php:108
msgid "Block Name"
msgstr "Block-Name"
-#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2277
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
msgid "Blocks"
msgstr "Blöcke"
@@ -1539,76 +304,101 @@ msgstr "Geändert"
#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
-#: ../../include/conversation.php:1214
+#: ../../include/conversation.php:1208
msgid "Share"
msgstr "Teilen"
#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
-#: ../../Zotlabs/Module/Pubsites.php:46 ../../Zotlabs/Module/Webpages.php:193
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
#: ../../include/page_widgets.php:39
msgid "View"
msgstr "Ansicht"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Lesezeichen hinzugefügt"
-
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Meine Lesezeichen"
-
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Lesezeichen meiner Kontakte"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Kanal nicht gefunden."
-#: ../../Zotlabs/Module/Cal.php:72
+#: ../../Zotlabs/Module/Cal.php:69
msgid "Permissions denied."
msgstr "Berechtigung verweigert."
-#: ../../Zotlabs/Module/Cal.php:262 ../../Zotlabs/Module/Events.php:588
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
msgid "l, F j"
msgstr "l, j. F"
-#: ../../Zotlabs/Module/Cal.php:311 ../../Zotlabs/Module/Events.php:637
-#: ../../include/text.php:1743
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
msgid "Link to Source"
msgstr "Link zur Quelle"
-#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:665
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
msgid "Edit Event"
msgstr "Termin bearbeiten"
-#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:665
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
msgid "Create Event"
msgstr "Termin anlegen"
-#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Cal.php:342
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
#: ../../Zotlabs/Module/Photos.php:949
msgid "Previous"
msgstr "Voriges"
-#: ../../Zotlabs/Module/Cal.php:336 ../../Zotlabs/Module/Cal.php:343
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
-#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
msgid "Next"
msgstr "Nächste"
-#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:668
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
#: ../../include/widgets.php:755
msgid "Export"
msgstr "Exportieren"
-#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Events.php:671
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
#: ../../include/widgets.php:756
msgid "Import"
msgstr "Import"
-#: ../../Zotlabs/Module/Cal.php:344 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Bestätigen"
+
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
msgid "Today"
msgstr "Heute"
-#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:23
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
msgid "You must be logged in to see this page."
msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
@@ -1624,111 +414,115 @@ msgstr "Nur Beiträge"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
-#: ../../Zotlabs/Module/Chat.php:179
+#: ../../Zotlabs/Module/Chat.php:181
msgid "Room not found"
msgstr "Chatraum nicht gefunden"
-#: ../../Zotlabs/Module/Chat.php:195
+#: ../../Zotlabs/Module/Chat.php:197
msgid "Leave Room"
msgstr "Raum verlassen"
-#: ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:198
msgid "Delete Room"
msgstr "Raum löschen"
-#: ../../Zotlabs/Module/Chat.php:197
+#: ../../Zotlabs/Module/Chat.php:199
msgid "I am away right now"
msgstr "Ich bin gerade nicht da"
-#: ../../Zotlabs/Module/Chat.php:198
+#: ../../Zotlabs/Module/Chat.php:200
msgid "I am online"
msgstr "Ich bin online"
-#: ../../Zotlabs/Module/Chat.php:200
+#: ../../Zotlabs/Module/Chat.php:202
msgid "Bookmark this room"
msgstr "Lesezeichen für diesen Raum setzen"
-#: ../../Zotlabs/Module/Chat.php:203 ../../Zotlabs/Module/Mail.php:206
-#: ../../Zotlabs/Module/Mail.php:320 ../../include/conversation.php:1182
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
msgid "Please enter a link URL:"
msgstr "Gib eine URL ein:"
-#: ../../Zotlabs/Module/Chat.php:204 ../../Zotlabs/Module/Mail.php:259
-#: ../../Zotlabs/Module/Mail.php:389 ../../include/ItemObject.php:715
-#: ../../include/conversation.php:1262
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1256
msgid "Encrypt text"
msgstr "Text verschlüsseln"
-#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:253
-#: ../../Zotlabs/Module/Mail.php:383 ../../include/conversation.php:1149
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
msgid "Insert web link"
msgstr "Link einfügen"
-#: ../../Zotlabs/Module/Chat.php:216
+#: ../../Zotlabs/Module/Chat.php:218
msgid "Feature disabled."
msgstr "Funktion deaktiviert."
-#: ../../Zotlabs/Module/Chat.php:230
+#: ../../Zotlabs/Module/Chat.php:232
msgid "New Chatroom"
msgstr "Neuer Chatraum"
-#: ../../Zotlabs/Module/Chat.php:231
+#: ../../Zotlabs/Module/Chat.php:233
msgid "Chatroom name"
msgstr "Chatraumname"
-#: ../../Zotlabs/Module/Chat.php:232
+#: ../../Zotlabs/Module/Chat.php:234
msgid "Expiration of chats (minutes)"
msgstr "Verfall von Chats (Minuten)"
-#: ../../Zotlabs/Module/Chat.php:233 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:288
+#: ../../include/acl_selectors.php:283
msgid "Permissions"
msgstr "Berechtigungen"
-#: ../../Zotlabs/Module/Chat.php:244
+#: ../../Zotlabs/Module/Chat.php:246
#, php-format
msgid "%1$s's Chatrooms"
msgstr "%1$ss Chaträume"
-#: ../../Zotlabs/Module/Chat.php:249
+#: ../../Zotlabs/Module/Chat.php:251
msgid "No chatrooms available"
msgstr "Keine Chaträume verfügbar"
-#: ../../Zotlabs/Module/Chat.php:250 ../../Zotlabs/Module/Manage.php:143
-#: ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Create New"
msgstr "Neu anlegen"
-#: ../../Zotlabs/Module/Chat.php:253
+#: ../../Zotlabs/Module/Chat.php:255
msgid "Expiration"
msgstr "Verfall"
-#: ../../Zotlabs/Module/Chat.php:254
+#: ../../Zotlabs/Module/Chat.php:256
msgid "min"
msgstr "min"
-#: ../../Zotlabs/Module/Chatsvc.php:115
+#: ../../Zotlabs/Module/Chatsvc.php:117
msgid "Away"
msgstr "Abwesend"
-#: ../../Zotlabs/Module/Chatsvc.php:120
+#: ../../Zotlabs/Module/Chatsvc.php:122
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "Kein Kanal."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Ungültiges Element."
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Gemeinsame Verbindungen"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Lesezeichen hinzugefügt"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "Keine gemeinsamen Verbindungen."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Meine Lesezeichen"
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Lesezeichen meiner Kontakte"
#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
@@ -1773,148 +567,6 @@ msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
msgid "Restricted or Premium Channel"
msgstr "Eingeschränkter oder Premium-Kanal"
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
-msgstr "Blockiert"
-
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
-msgstr "Ignoriert"
-
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
-msgstr "Versteckt"
-
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr "Archiviert"
-
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1541
-msgid "New"
-msgstr "Neu"
-
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:597 ../../include/widgets.php:497
-msgid "All"
-msgstr "Alle"
-
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
-msgstr "Neue Verbindungen"
-
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
-msgstr "Ausstehende (neue) Verbindungsanfragen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr "Alle Verbindungen"
-
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
-msgstr "Alle Verbindungen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
-msgstr "Nur blockierte Verbindungen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
-msgstr "Nur ignorierte Verbindungen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr "Nur archivierte Verbindungen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
-msgstr "Nur versteckte Verbindungen anzeigen"
-
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
-msgstr "Wartet auf Genehmigung"
-
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
-msgstr "Verbindung bearbeiten"
-
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
-msgstr "Verbindung löschen"
-
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
-msgstr "Kanaladresse"
-
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
-msgstr "Netzwerk"
-
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
-msgstr "Verbunden"
-
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
-msgstr "Verbindung genehmigen"
-
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
-msgstr "Verbindung ignorieren"
-
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:549
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Ignorieren"
-
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
-msgstr "Kürzliche Aktivitäten"
-
-#: ../../Zotlabs/Module/Connections.php:302 ../../include/nav.php:186
-#: ../../include/text.php:863 ../../include/apps.php:159
-msgid "Connections"
-msgstr "Verbindungen"
-
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../include/nav.php:165 ../../include/text.php:933
-#: ../../include/text.php:945 ../../include/apps.php:179
-#: ../../include/acl_selectors.php:281
-msgid "Search"
-msgstr "Suche"
-
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
-msgstr "Verbindungen durchsuchen"
-
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
-msgstr "Verbindung suchen"
-
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:26
-msgid "Find"
-msgstr "Finde"
-
#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
@@ -1935,6 +587,37 @@ msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
msgid "is now connected to"
msgstr "ist jetzt verbunden mit"
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "Nein"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Ja"
+
#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
@@ -1949,240 +632,260 @@ msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichb
msgid "Unable to set address book parameters."
msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-#: ../../Zotlabs/Module/Connedit.php:504
+#: ../../Zotlabs/Module/Connedit.php:503
msgid "Connection has been removed."
msgstr "Verbindung wurde gelöscht."
-#: ../../Zotlabs/Module/Connedit.php:520 ../../include/nav.php:86
-#: ../../include/conversation.php:959 ../../include/apps.php:170
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:86 ../../include/conversation.php:954
msgid "View Profile"
msgstr "Profil ansehen"
-#: ../../Zotlabs/Module/Connedit.php:523
+#: ../../Zotlabs/Module/Connedit.php:522
#, php-format
msgid "View %s's profile"
msgstr "%ss Profil ansehen"
-#: ../../Zotlabs/Module/Connedit.php:527
+#: ../../Zotlabs/Module/Connedit.php:526
msgid "Refresh Permissions"
msgstr "Zugriffsrechte neu laden"
-#: ../../Zotlabs/Module/Connedit.php:530
+#: ../../Zotlabs/Module/Connedit.php:529
msgid "Fetch updated permissions"
msgstr "Aktualisierte Zugriffsrechte abfragen"
-#: ../../Zotlabs/Module/Connedit.php:534
+#: ../../Zotlabs/Module/Connedit.php:533
msgid "Recent Activity"
msgstr "Kürzliche Aktivitäten"
-#: ../../Zotlabs/Module/Connedit.php:537
+#: ../../Zotlabs/Module/Connedit.php:536
msgid "View recent posts and comments"
msgstr "Betrachte die neuesten Beiträge und Kommentare"
-#: ../../Zotlabs/Module/Connedit.php:544
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
+msgid "Unblock"
+msgstr "Freigeben"
+
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
+msgid "Block"
+msgstr "Blockieren"
+
+#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"
-#: ../../Zotlabs/Module/Connedit.php:545
+#: ../../Zotlabs/Module/Connedit.php:544
msgid "This connection is blocked!"
msgstr "Die Verbindung ist geblockt!"
-#: ../../Zotlabs/Module/Connedit.php:549
+#: ../../Zotlabs/Module/Connedit.php:548
msgid "Unignore"
msgstr "Nicht ignorieren"
-#: ../../Zotlabs/Module/Connedit.php:552
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignorieren"
+
+#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"
-#: ../../Zotlabs/Module/Connedit.php:553
+#: ../../Zotlabs/Module/Connedit.php:552
msgid "This connection is ignored!"
msgstr "Die Verbindung wird ignoriert!"
-#: ../../Zotlabs/Module/Connedit.php:557
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Unarchive"
msgstr "Aus Archiv zurückholen"
-#: ../../Zotlabs/Module/Connedit.php:557
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Archive"
msgstr "Archivieren"
-#: ../../Zotlabs/Module/Connedit.php:560
+#: ../../Zotlabs/Module/Connedit.php:559
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"
-#: ../../Zotlabs/Module/Connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:560
msgid "This connection is archived!"
msgstr "Die Verbindung ist archiviert!"
-#: ../../Zotlabs/Module/Connedit.php:565
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Unhide"
msgstr "Wieder sichtbar machen"
-#: ../../Zotlabs/Module/Connedit.php:565
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Hide"
msgstr "Verstecken"
-#: ../../Zotlabs/Module/Connedit.php:568
+#: ../../Zotlabs/Module/Connedit.php:567
msgid "Hide or Unhide this connection from your other connections"
msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
-#: ../../Zotlabs/Module/Connedit.php:569
+#: ../../Zotlabs/Module/Connedit.php:568
msgid "This connection is hidden!"
msgstr "Die Verbindung ist versteckt!"
-#: ../../Zotlabs/Module/Connedit.php:576
+#: ../../Zotlabs/Module/Connedit.php:575
msgid "Delete this connection"
msgstr "Verbindung löschen"
-#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:493
+#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
msgid "Me"
msgstr "Ich"
-#: ../../Zotlabs/Module/Connedit.php:594 ../../include/widgets.php:494
+#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
msgid "Family"
msgstr "Familie"
-#: ../../Zotlabs/Module/Connedit.php:595 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/profile_selectors.php:80 ../../include/widgets.php:495
-#: ../../include/identity.php:389 ../../include/identity.php:390
-#: ../../include/identity.php:397
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
msgid "Friends"
msgstr "Freunde"
-#: ../../Zotlabs/Module/Connedit.php:596 ../../include/widgets.php:496
+#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
msgid "Acquaintances"
msgstr "Bekannte"
-#: ../../Zotlabs/Module/Connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Alle"
+
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Verbindung genehmigen"
-#: ../../Zotlabs/Module/Connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Accept connection to allow communication"
msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
-#: ../../Zotlabs/Module/Connedit.php:662
+#: ../../Zotlabs/Module/Connedit.php:659
msgid "Set Affinity"
msgstr "Beziehung festlegen"
-#: ../../Zotlabs/Module/Connedit.php:665
+#: ../../Zotlabs/Module/Connedit.php:662
msgid "Set Profile"
msgstr "Profil festlegen"
-#: ../../Zotlabs/Module/Connedit.php:668
+#: ../../Zotlabs/Module/Connedit.php:665
msgid "Set Affinity & Profile"
msgstr "Beziehung und Profile festlegen"
-#: ../../Zotlabs/Module/Connedit.php:701
+#: ../../Zotlabs/Module/Connedit.php:698
msgid "none"
msgstr "Keine"
-#: ../../Zotlabs/Module/Connedit.php:705 ../../include/widgets.php:614
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
msgid "Connection Default Permissions"
msgstr "Standardzugriffsrechte für neue Verbindungen:"
-#: ../../Zotlabs/Module/Connedit.php:705 ../../include/items.php:3927
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
#, php-format
msgid "Connection: %s"
msgstr "Verbindung: %s"
-#: ../../Zotlabs/Module/Connedit.php:706
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Apply these permissions automatically"
msgstr "Diese Berechtigungen automatisch anwenden"
-#: ../../Zotlabs/Module/Connedit.php:706
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Connection requests will be approved without your interaction"
msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist."
-#: ../../Zotlabs/Module/Connedit.php:708
+#: ../../Zotlabs/Module/Connedit.php:705
msgid "This connection's primary address is"
msgstr "Die Hauptadresse der Verbindung ist"
-#: ../../Zotlabs/Module/Connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:706
msgid "Available locations:"
msgstr "Verfügbare Klone:"
-#: ../../Zotlabs/Module/Connedit.php:713
+#: ../../Zotlabs/Module/Connedit.php:710
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet."
-#: ../../Zotlabs/Module/Connedit.php:714
+#: ../../Zotlabs/Module/Connedit.php:711
msgid "Connection Tools"
msgstr "Verbindungswerkzeuge"
-#: ../../Zotlabs/Module/Connedit.php:716
+#: ../../Zotlabs/Module/Connedit.php:713
msgid "Slide to adjust your degree of friendship"
msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Module/Rate.php:159
+#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
#: ../../include/js_strings.php:20
msgid "Rating"
msgstr "Bewertung"
-#: ../../Zotlabs/Module/Connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:715
msgid "Slide to adjust your rating"
msgstr "Verschieben, um Deine Bewertung einzustellen"
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:724
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
msgid "Optionally explain your rating"
msgstr "Optional kannst Du Deine Bewertung begründen"
-#: ../../Zotlabs/Module/Connedit.php:721
+#: ../../Zotlabs/Module/Connedit.php:718
msgid "Custom Filter"
msgstr "Benutzerdefinierter Filter"
-#: ../../Zotlabs/Module/Connedit.php:722
+#: ../../Zotlabs/Module/Connedit.php:719
msgid "Only import posts with this text"
msgstr "Nur Beiträge mit diesem Text importieren"
-#: ../../Zotlabs/Module/Connedit.php:722 ../../Zotlabs/Module/Connedit.php:723
+#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren."
-#: ../../Zotlabs/Module/Connedit.php:723
+#: ../../Zotlabs/Module/Connedit.php:720
msgid "Do not import posts with this text"
msgstr "Beiträge mit diesem Text nicht importieren"
-#: ../../Zotlabs/Module/Connedit.php:725
+#: ../../Zotlabs/Module/Connedit.php:722
msgid "This information is public!"
msgstr "Diese Information ist öffentlich!"
-#: ../../Zotlabs/Module/Connedit.php:730
+#: ../../Zotlabs/Module/Connedit.php:727
msgid "Connection Pending Approval"
msgstr "Verbindung wartet auf Bestätigung"
-#: ../../Zotlabs/Module/Connedit.php:733
+#: ../../Zotlabs/Module/Connedit.php:730
msgid "inherited"
msgstr "geerbt"
-#: ../../Zotlabs/Module/Connedit.php:735
+#: ../../Zotlabs/Module/Connedit.php:732
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-#: ../../Zotlabs/Module/Connedit.php:737
+#: ../../Zotlabs/Module/Connedit.php:734
msgid "Their Settings"
msgstr "Deren Einstellungen"
-#: ../../Zotlabs/Module/Connedit.php:738
+#: ../../Zotlabs/Module/Connedit.php:735
msgid "My Settings"
msgstr "Meine Einstellungen"
-#: ../../Zotlabs/Module/Connedit.php:740
+#: ../../Zotlabs/Module/Connedit.php:737
msgid "Individual Permissions"
msgstr "Individuelle Zugriffsrechte"
-#: ../../Zotlabs/Module/Connedit.php:741
+#: ../../Zotlabs/Module/Connedit.php:738
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -2190,7 +893,7 @@ msgid ""
" settings here."
msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden."
-#: ../../Zotlabs/Module/Connedit.php:742
+#: ../../Zotlabs/Module/Connedit.php:739
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -2198,123 +901,14 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen."
-#: ../../Zotlabs/Module/Connedit.php:743
+#: ../../Zotlabs/Module/Connedit.php:740
msgid "Last update:"
msgstr "Letzte Aktualisierung:"
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:79
-msgid "Image uploaded but image cropping failed."
-msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
-
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr "Cover Foto"
-
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:133
-msgid "Image resize failed."
-msgstr "Bild-Anpassung fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:146
-msgid "Unable to process image"
-msgstr "Kann Bild nicht verarbeiten"
-
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:217
-msgid "Image upload failed."
-msgstr "Hochladen des Bilds fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:236
-msgid "Unable to process image."
-msgstr "Kann Bild nicht verarbeiten."
-
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4271
-msgid "female"
-msgstr "weiblich"
-
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4272
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s hat ihr %2$s aktualisiert"
-
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4273
-msgid "male"
-msgstr "männlich"
-
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4274
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s hat sein %2$s aktualisiert"
-
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4276
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "%1$s hat sein/ihr %2$s aktualisiert"
-
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/identity.php:1807
-msgid "cover photo"
-msgstr "Cover Foto"
-
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:283
-#: ../../Zotlabs/Module/Profile_photo.php:324
-msgid "Photo not available."
-msgstr "Foto nicht verfügbar."
-
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:365
-msgid "Upload File:"
-msgstr "Datei hochladen:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:366
-msgid "Select a profile:"
-msgstr "Wähle ein Profil:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr "Cover Foto hochladen"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-#: ../../Zotlabs/Module/Settings.php:985
-msgid "or"
-msgstr "oder"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "skip this step"
-msgstr "diesen Schritt überspringen"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "select a photo from your photo albums"
-msgstr "ein Foto aus meinen Fotoalben"
-
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:390
-msgid "Crop Image"
-msgstr "Bild zuschneiden"
-
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:391
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
-
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:393
-msgid "Done Editing"
-msgstr "Bearbeitung fertigstellen"
-
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:21
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:21
+#: ../../Zotlabs/Module/Viewconnections.php:20
msgid "Public access denied."
msgstr "Öffentlichen Zugriff verweigert."
@@ -2337,13 +931,13 @@ msgstr "Status:"
msgid "Homepage: "
msgstr "Webseite:"
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/identity.php:1329
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
msgid "Age:"
msgstr "Alter:"
#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/identity.php:1029 ../../include/text.php:1481
-#: ../../include/bb2diaspora.php:509
+#: ../../include/event.php:84 ../../include/channel.php:1027
+#: ../../include/bb2diaspora.php:507
msgid "Location:"
msgstr "Ort:"
@@ -2351,18 +945,18 @@ msgstr "Ort:"
msgid "Description:"
msgstr "Beschreibung:"
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/identity.php:1345
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
msgid "Hometown:"
msgstr "Heimatstadt:"
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/identity.php:1353
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
msgid "About:"
msgstr "Über:"
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/Contact.php:101
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-#: ../../include/identity.php:1014 ../../include/conversation.php:961
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/conversation.php:956 ../../include/channel.php:1012
msgid "Connect"
msgstr "Verbinden"
@@ -2390,12 +984,19 @@ msgstr "Globales Verzeichnis"
msgid "Local Directory"
msgstr "Lokales Verzeichnis"
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Finde"
+
#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Ergebnisse:"
#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:27
+#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
msgstr "Kanal-Vorschläge"
@@ -2431,106 +1032,280 @@ msgstr "Älteste zuerst"
msgid "No entries (some entries may be hidden)."
msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Diese Webseite ist kein Verzeichnisserver"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Element nicht gefunden."
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Element nicht gefunden"
-#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:49
-#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Import_items.php:112
-#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Profperm.php:28
-#: ../../Zotlabs/Module/Subthread.php:62 ../../include/items.php:383
-#: ../../index.php:174
-msgid "Permission denied"
-msgstr "Keine Berechtigung"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Titel (optional)"
-#: ../../Zotlabs/Module/Dreport.php:27
-msgid "Invalid message"
-msgstr "Ungültige Beitrags-ID (mid)"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Block bearbeiten"
-#: ../../Zotlabs/Module/Dreport.php:59
-msgid "no results"
-msgstr "keine Ergebnisse"
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Kein Kanal."
-#: ../../Zotlabs/Module/Dreport.php:64
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Gemeinsame Verbindungen"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Keine gemeinsamen Verbindungen."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Blockiert"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignoriert"
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Versteckt"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Archiviert"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Neu"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Neue Verbindungen"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Ausstehende (neue) Verbindungsanfragen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Alle Verbindungen"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Alle Verbindungen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Nur blockierte Verbindungen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Nur ignorierte Verbindungen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Nur archivierte Verbindungen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Nur versteckte Verbindungen anzeigen"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "Wartet auf Genehmigung"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Zustellungsbericht für %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Dreport.php:78
-msgid "channel sync processed"
-msgstr "Kanal-Sync verarbeitet"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Verbindung bearbeiten"
-#: ../../Zotlabs/Module/Dreport.php:82
-msgid "queued"
-msgstr "zur Warteschlange hinzugefügt"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Verbindung löschen"
-#: ../../Zotlabs/Module/Dreport.php:86
-msgid "posted"
-msgstr "zugestellt"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Kanaladresse"
-#: ../../Zotlabs/Module/Dreport.php:90
-msgid "accepted for delivery"
-msgstr "für Zustellung akzeptiert"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Netzwerk"
-#: ../../Zotlabs/Module/Dreport.php:94
-msgid "updated"
-msgstr "aktualisiert"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Status"
-#: ../../Zotlabs/Module/Dreport.php:97
-msgid "update ignored"
-msgstr "Aktualisierung ignoriert"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Verbunden"
-#: ../../Zotlabs/Module/Dreport.php:100
-msgid "permission denied"
-msgstr "Zugriff verweigert"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Verbindung genehmigen"
-#: ../../Zotlabs/Module/Dreport.php:104
-msgid "recipient not found"
-msgstr "Empfänger nicht gefunden."
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Genehmigen"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "mail recalled"
-msgstr "Mail widerrufen"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Verbindung ignorieren"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "duplicate mail received"
-msgstr "Doppelte Mail erhalten"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Kürzliche Aktivitäten"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "mail delivered"
-msgstr "Mail zugestellt"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Verbindungen"
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editpost.php:24
-#: ../../Zotlabs/Module/Editwebpage.php:81
-msgid "Item not found"
-msgstr "Element nicht gefunden"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Suche"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1234
-msgid "Title (optional)"
-msgstr "Titel (optional)"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Verbindungen durchsuchen"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Block bearbeiten"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Verbindung suchen"
-#: ../../Zotlabs/Module/Editlayout.php:126
-#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
-msgid "Layout Name"
-msgstr "Layout-Name"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:130
-msgid "Layout Description (Optional)"
-msgstr "Layout-Beschreibung (optional)"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Cover Foto"
-#: ../../Zotlabs/Module/Editlayout.php:135
-msgid "Edit Layout"
-msgstr "Layout bearbeiten"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "Bild-Anpassung fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "Kann Bild nicht verarbeiten"
+
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "Hochladen des Bilds fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Kann Bild nicht verarbeiten."
+
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "weiblich"
+
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s hat ihr %2$s aktualisiert"
+
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "männlich"
+
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s hat sein %2$s aktualisiert"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s hat sein/ihr %2$s aktualisiert"
+
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "Cover Foto"
+
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Foto nicht verfügbar."
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Datei hochladen:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Wähle ein Profil:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Cover Foto hochladen"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "oder"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "diesen Schritt überspringen"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "ein Foto aus meinen Fotoalben"
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Bild zuschneiden"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Bearbeitung fertigstellen"
#: ../../Zotlabs/Module/Editpost.php:35
msgid "Item is not editable"
@@ -2540,14 +1315,6 @@ msgstr "Element kann nicht bearbeitet werden."
msgid "Edit post"
msgstr "Bearbeite Beitrag"
-#: ../../Zotlabs/Module/Editwebpage.php:143
-msgid "Page link"
-msgstr "Seiten-Link"
-
-#: ../../Zotlabs/Module/Editwebpage.php:169
-msgid "Edit Webpage"
-msgstr "Webseite bearbeiten"
-
#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Kalendereinträge wurden importiert."
@@ -2574,8 +1341,8 @@ msgid "Event not found."
msgstr "Termin nicht gefunden."
#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:905
-#: ../../include/conversation.php:123 ../../include/text.php:1955
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
msgid "event"
msgstr "Termin"
@@ -2587,6 +1354,13 @@ msgstr "Termintitel bearbeiten"
msgid "Event title"
msgstr "Termintitel"
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Benötigt"
+
#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Kategorien (Kommagetrennte Liste)"
@@ -2633,13 +1407,18 @@ msgstr "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht
msgid "Edit Description"
msgstr "Beschreibung bearbeiten"
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Beschreibung"
+
#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Ort bearbeiten"
#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Profiles.php:476 ../../Zotlabs/Module/Profiles.php:702
-#: ../../Zotlabs/Module/Pubsites.php:40 ../../include/js_strings.php:25
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
msgid "Location"
msgstr "Ort"
@@ -2648,12 +1427,12 @@ msgid "Share this event"
msgstr "Den Termin teilen"
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:194 ../../include/ItemObject.php:712
-#: ../../include/conversation.php:1193 ../../include/page_widgets.php:40
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
msgid "Preview"
msgstr "Vorschau"
-#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1238
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
msgid "Permission settings"
msgstr "Berechtigungs-Einstellungen"
@@ -2681,18 +1460,25 @@ msgstr "Termin gelöscht"
msgid "Failed to remove event"
msgstr "Termin konnte nicht gelöscht werden"
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../include/nav.php:92
-#: ../../include/conversation.php:1638 ../../include/apps.php:171
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
msgid "Photos"
msgstr "Fotos"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Inhalte von Firefox nach $Projectname teilen"
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Abbrechen"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Aktiviert den $Projectname-Provider für firefox"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Diese Webseite ist kein Verzeichnisserver"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken"
#: ../../Zotlabs/Module/Filer.php:52
msgid "Save to Folder:"
@@ -2702,70 +1488,103 @@ msgstr "Speichern in Ordner:"
msgid "- select -"
msgstr "– auswählen –"
-#: ../../Zotlabs/Module/Filestorage.php:88
-msgid "Permission Denied."
-msgstr "Zugriff verweigert."
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Speichern"
-#: ../../Zotlabs/Module/Filestorage.php:104
-msgid "File not found."
-msgstr "Datei nicht gefunden."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Ungültige Beitrags-ID (mid)"
-#: ../../Zotlabs/Module/Filestorage.php:147
-msgid "Edit file permissions"
-msgstr "Dateiberechtigungen bearbeiten"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "keine Ergebnisse"
-#: ../../Zotlabs/Module/Filestorage.php:156
-msgid "Set/edit permissions"
-msgstr "Berechtigungen setzen/ändern"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Zustellungsbericht für %1$s"
-#: ../../Zotlabs/Module/Filestorage.php:157
-msgid "Include all files and sub folders"
-msgstr "Alle Dateien und Unterverzeichnisse einbinden"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "Kanal-Sync verarbeitet"
-#: ../../Zotlabs/Module/Filestorage.php:158
-msgid "Return to file list"
-msgstr "Zurück zur Dateiliste"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "zur Warteschlange hinzugefügt"
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "zugestellt"
-#: ../../Zotlabs/Module/Filestorage.php:161
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "für Zustellung akzeptiert"
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Share this file"
-msgstr "Diese Datei freigeben"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "aktualisiert"
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Show URL to this file"
-msgstr "URL zu dieser Datei anzeigen"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "Aktualisierung ignoriert"
-#: ../../Zotlabs/Module/Filestorage.php:165
-msgid "Notify your contacts about this file"
-msgstr "Meine Kontakte über diese Datei benachrichtigen"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "Zugriff verweigert"
+
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "Empfänger nicht gefunden."
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "Mail widerrufen"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "Doppelte Mail erhalten"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "Mail zugestellt"
+
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Layout-Name"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Layout-Beschreibung (optional)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Layout bearbeiten"
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "Seiten-Link"
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Webseite bearbeiten"
#: ../../Zotlabs/Module/Follow.php:34
msgid "Channel added."
msgstr "Kanal hinzugefügt."
-#: ../../Zotlabs/Module/Fsuggest.php:24 ../../Zotlabs/Module/Fsuggest.php:96
-msgid "Contact not found."
-msgstr "Kontakt nicht gefunden"
-
-#: ../../Zotlabs/Module/Fsuggest.php:67
-msgid "Friend suggestion sent."
-msgstr "Freundschaftsempfehlung senden."
-
-#: ../../Zotlabs/Module/Fsuggest.php:101
-msgid "Suggest Friends"
-msgstr "Kontakte vorschlagen"
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "Netzwerk"
-#: ../../Zotlabs/Module/Fsuggest.php:103
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Schlage %s einen Kontakt vor"
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
@@ -2776,7 +1595,7 @@ msgid "Could not create privacy group."
msgstr "Gruppe konnte nicht erstellt werden."
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3894
+#: ../../include/items.php:3893
msgid "Privacy group not found."
msgstr "Gruppe nicht gefunden."
@@ -2820,6 +1639,32 @@ msgstr "Alle verbundenen Kanäle"
msgid "Click on a channel to add or remove."
msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Inhalte von Firefox nach $Projectname teilen"
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Aktiviert den $Projectname-Provider für firefox"
+
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Zugriff für die Anwendung autorisieren"
+
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Trage folgenden Sicherheitscode in der Anwendung ein:"
+
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Zum Weitermachen, bitte einloggen."
+
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
+
#: ../../Zotlabs/Module/Help.php:26
msgid "Documentation Search"
msgstr "Suche in der Dokumentation"
@@ -2830,8 +1675,8 @@ msgid "Help:"
msgstr "Hilfe:"
#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/nav.php:159
-#: ../../include/apps.php:174
+#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
+#: ../../include/nav.php:159
msgid "Help"
msgstr "Hilfe"
@@ -2839,128 +1684,58 @@ msgstr "Hilfe"
msgid "$Projectname Documentation"
msgstr "$Projectname-Dokumentation"
-#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
-#: ../../Zotlabs/Module/Siteinfo.php:65
-msgid "$Projectname"
-msgstr "$Projectname"
-
-#: ../../Zotlabs/Module/Home.php:79
-#, php-format
-msgid "Welcome to %s"
-msgstr "Willkommen auf %s"
-
-#: ../../Zotlabs/Module/Id.php:13
-msgid "First Name"
-msgstr "Vorname"
-
-#: ../../Zotlabs/Module/Id.php:14
-msgid "Last Name"
-msgstr "Nachname"
-
-#: ../../Zotlabs/Module/Id.php:15
-msgid "Nickname"
-msgstr "Spitzname"
-
-#: ../../Zotlabs/Module/Id.php:16
-msgid "Full Name"
-msgstr "Voller Name"
-
-#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../include/apps.php:187
-msgid "Profile Photo"
-msgstr "Profilfoto"
-
-#: ../../Zotlabs/Module/Id.php:22
-msgid "Profile Photo 16px"
-msgstr "Profilfoto 16 px"
-
-#: ../../Zotlabs/Module/Id.php:23
-msgid "Profile Photo 32px"
-msgstr "Profilfoto 32 px"
-
-#: ../../Zotlabs/Module/Id.php:24
-msgid "Profile Photo 48px"
-msgstr "Profilfoto 48 px"
-
-#: ../../Zotlabs/Module/Id.php:25
-msgid "Profile Photo 64px"
-msgstr "Profilfoto 64 px"
-
-#: ../../Zotlabs/Module/Id.php:26
-msgid "Profile Photo 80px"
-msgstr "Profilfoto 80 px"
-
-#: ../../Zotlabs/Module/Id.php:27
-msgid "Profile Photo 128px"
-msgstr "Profilfoto 128 px"
-
-#: ../../Zotlabs/Module/Id.php:28
-msgid "Timezone"
-msgstr "Zeitzone"
-
-#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:735
-msgid "Homepage URL"
-msgstr "Homepage-URL"
-
-#: ../../Zotlabs/Module/Id.php:30 ../../include/apps.php:185
-msgid "Language"
-msgstr "Sprache"
-
-#: ../../Zotlabs/Module/Id.php:31
-msgid "Birth Year"
-msgstr "Geburtsjahr"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Zugriff verweigert."
-#: ../../Zotlabs/Module/Id.php:32
-msgid "Birth Month"
-msgstr "Geburtsmonat"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Datei nicht gefunden."
-#: ../../Zotlabs/Module/Id.php:33
-msgid "Birth Day"
-msgstr "Geburtstag"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Dateiberechtigungen bearbeiten"
-#: ../../Zotlabs/Module/Id.php:34
-msgid "Birthdate"
-msgstr "Geburtsdatum"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Berechtigungen setzen/ändern"
-#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:453
-msgid "Gender"
-msgstr "Geschlecht"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Alle Dateien und Unterverzeichnisse einbinden"
-#: ../../Zotlabs/Module/Id.php:108 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-msgid "Male"
-msgstr "Männlich"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Zurück zur Dateiliste"
-#: ../../Zotlabs/Module/Id.php:110 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-msgid "Female"
-msgstr "Weiblich"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:193
-msgid "webpage"
-msgstr "Webseite"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:199
-msgid "block"
-msgstr "Block"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Diese Datei freigeben"
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:196
-msgid "layout"
-msgstr "Layout"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "URL zu dieser Datei anzeigen"
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:202
-msgid "menu"
-msgstr "Menü"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Meine Kontakte über diese Datei benachrichtigen"
-#: ../../Zotlabs/Module/Impel.php:196
-#, php-format
-msgid "%s element installed"
-msgstr "Element für %s installiert"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Apps"
-#: ../../Zotlabs/Module/Impel.php:199
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installation des Elements %s fehlgeschlagen"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Element nicht verfügbar."
#: ../../Zotlabs/Module/Import.php:32
#, php-format
@@ -2986,7 +1761,7 @@ msgstr "Die importierte Datei ist leer."
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Achtung: Datenbankversionen unterscheiden sich um %1$d Aktualisierungen."
-#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:84
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
msgid "Cloned channel not found. Import failed."
msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
@@ -2994,48 +1769,48 @@ msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
msgid "No channel. Import failed."
msgstr "Kein Kanal. Import fehlgeschlagen."
-#: ../../Zotlabs/Module/Import.php:506
-#: ../../include/Import/import_diaspora.php:143
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
msgid "Import completed."
msgstr "Import abgeschlossen."
-#: ../../Zotlabs/Module/Import.php:528
+#: ../../Zotlabs/Module/Import.php:532
msgid "You must be logged in to use this feature."
msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
-#: ../../Zotlabs/Module/Import.php:533
+#: ../../Zotlabs/Module/Import.php:537
msgid "Import Channel"
msgstr "Kanal importieren"
-#: ../../Zotlabs/Module/Import.php:534
+#: ../../Zotlabs/Module/Import.php:538
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Hub zu importieren. Du kannst den Kanal direkt vom bisherigen Hub über das Netzwerk oder aus einer exportierten Sicherheitskopie importieren."
-#: ../../Zotlabs/Module/Import.php:535
+#: ../../Zotlabs/Module/Import.php:539
#: ../../Zotlabs/Module/Import_items.php:119
msgid "File to Upload"
msgstr "Hochzuladende Datei:"
-#: ../../Zotlabs/Module/Import.php:536
+#: ../../Zotlabs/Module/Import.php:540
msgid "Or provide the old server/hub details"
msgstr "Oder gib die Details Deines bisherigen $Projectname-Hubs ein"
-#: ../../Zotlabs/Module/Import.php:537
+#: ../../Zotlabs/Module/Import.php:541
msgid "Your old identity address (xyz@example.com)"
msgstr "Bisherige Kanal-Adresse (xyz@example.com)"
-#: ../../Zotlabs/Module/Import.php:538
+#: ../../Zotlabs/Module/Import.php:542
msgid "Your old login email address"
msgstr "Deine alte Login-E-Mail-Adresse"
-#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import.php:543
msgid "Your old login password"
msgstr "Dein altes Passwort"
-#: ../../Zotlabs/Module/Import.php:540
+#: ../../Zotlabs/Module/Import.php:544
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be"
@@ -3043,105 +1818,22 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige $Projectname-Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."
-#: ../../Zotlabs/Module/Import.php:541
+#: ../../Zotlabs/Module/Import.php:545
msgid "Make this hub my primary location"
msgstr "Dieser $Pojectname-Hub ist mein primärer Hub."
-#: ../../Zotlabs/Module/Import.php:542
+#: ../../Zotlabs/Module/Import.php:546
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher"
-#: ../../Zotlabs/Module/Import.php:543
+#: ../../Zotlabs/Module/Import.php:547
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen."
-#: ../../Zotlabs/Module/Import_items.php:102
-msgid "Import completed"
-msgstr "Import abgeschlossen"
-
-#: ../../Zotlabs/Module/Import_items.php:117
-msgid "Import Items"
-msgstr "Beiträge importieren"
-
-#: ../../Zotlabs/Module/Import_items.php:118
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Einladungslimit überschritten."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : Keine gültige Email Adresse."
-
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Schließe Dich uns auf $Projectname an!"
-
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines $Projectname-Servers."
-
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Nachricht konnte nicht zugestellt werden."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d Nachricht gesendet."
-msgstr[1] "%d Nachrichten gesendet."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "Du hast keine weiteren verfügbare Einladungen"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Einladungen senden"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Email-Adressen eintragen, eine pro Zeile:"
-
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:250
-msgid "Your message:"
-msgstr "Deine Nachricht:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Schließe Dich uns auf $Projectname an!"
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Bitte verwende bei der Registrierung den folgenden Einladungscode:"
-
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registriere Dich auf einem beliebigen $Projectname-Hub (sie sind alle miteinander verbunden)"
-
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Gib meine $Projectname-Adresse im Suchfeld ein."
-
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "oder besuche"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Klicke auf [Verbinden]"
-
#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "Originalbeitrag nicht gefunden."
@@ -3176,7 +1868,7 @@ msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2279
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
msgid "Layouts"
msgstr "Layouts"
@@ -3192,6 +1884,135 @@ msgstr "Layout-Beschreibung"
msgid "Download PDL file"
msgstr "PDL-Datei herunterladen"
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "Willkommen auf %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Vorname"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Nachname"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Spitzname"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Voller Name"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "E-Mail"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Profilfoto"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Profilfoto 16 px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Profilfoto 32 px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Profilfoto 48 px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Profilfoto 64 px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Profilfoto 80 px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Profilfoto 128 px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Zeitzone"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Homepage-URL"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Sprache"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Geburtsjahr"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Geburtsmonat"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Geburtstag"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Geburtsdatum"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Geschlecht"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Männlich"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Weiblich"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "Webseite"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "Block"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "Layout"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "Menü"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "Element für %s installiert"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "Installation des Elements %s fehlgeschlagen"
+
#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Mögen/Nicht mögen"
@@ -3228,13 +2049,13 @@ msgid "Previous action reversed."
msgstr "Die vorherige Aktion wurde rückgängig gemacht."
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1952
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
msgid "photo"
msgstr "Foto"
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1958
+#: ../../include/text.php:1946 ../../include/conversation.php:148
msgid "status"
msgstr "Status"
@@ -3286,6 +2107,89 @@ msgstr "Aktion durchgeführt."
msgid "Thank you."
msgstr "Vielen Dank."
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "Import abgeschlossen"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Beiträge importieren"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Einladungslimit überschritten."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : Keine gültige Email Adresse."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Schließe Dich uns auf $Projectname an!"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines $Projectname-Servers."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Nachricht konnte nicht zugestellt werden."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d Nachricht gesendet."
+msgstr[1] "%d Nachrichten gesendet."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Du hast keine weiteren verfügbare Einladungen"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Einladungen senden"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Email-Adressen eintragen, eine pro Zeile:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Deine Nachricht:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Schließe Dich uns auf $Projectname an!"
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Bitte verwende bei der Registrierung den folgenden Einladungscode:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registriere Dich auf einem beliebigen $Projectname-Hub (sie sind alle miteinander verbunden)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Gib meine $Projectname-Adresse im Suchfeld ein."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "oder besuche"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Klicke auf [Verbinden]"
+
#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."
@@ -3320,6 +2224,11 @@ msgstr "Keine Klon-Adressen gefunden."
msgid "Manage Channel Locations"
msgstr "Klon-Adressen verwalten"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Adresse"
+
#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr "Primär"
@@ -3346,80 +2255,7 @@ msgstr "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Benutze dieses Formular zum Löschen eines Klons, wenn es den Hub nicht mehr gibt."
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "Kein gültiges Konto gefunden."
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails."
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Nutzer (%s)"
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Passwort-Rücksetzung auf %s angefordert"
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1637
-msgid "Password Reset"
-msgstr "Zurücksetzen des Kennworts"
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "Dein Passwort wurde wie angefordert neu erstellt."
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "Dein neues Passwort lautet"
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Speichere oder kopiere Dein neues Passwort – und dann"
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "Klicke hier, um dich anzumelden"
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Auf %s wurde Dein Passwort geändert"
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "Kennwort vergessen?"
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail."
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "E-Mail Adresse"
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Zurücksetzen"
-
-#: ../../Zotlabs/Module/Magic.php:73
+#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Server nicht gefunden."
@@ -3427,95 +2263,95 @@ msgstr "Server nicht gefunden."
msgid "Unable to lookup recipient."
msgstr "Konnte den Empfänger nicht finden."
-#: ../../Zotlabs/Module/Mail.php:46
+#: ../../Zotlabs/Module/Mail.php:45
msgid "Unable to communicate with requested channel."
msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen."
-#: ../../Zotlabs/Module/Mail.php:53
+#: ../../Zotlabs/Module/Mail.php:52
msgid "Cannot verify requested channel."
msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen."
-#: ../../Zotlabs/Module/Mail.php:79
+#: ../../Zotlabs/Module/Mail.php:78
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen."
-#: ../../Zotlabs/Module/Mail.php:144
+#: ../../Zotlabs/Module/Mail.php:143
msgid "Messages"
msgstr "Nachrichten"
-#: ../../Zotlabs/Module/Mail.php:179
+#: ../../Zotlabs/Module/Mail.php:178
msgid "Message recalled."
msgstr "Nachricht widerrufen."
-#: ../../Zotlabs/Module/Mail.php:192
+#: ../../Zotlabs/Module/Mail.php:191
msgid "Conversation removed."
msgstr "Unterhaltung gelöscht."
-#: ../../Zotlabs/Module/Mail.php:207 ../../Zotlabs/Module/Mail.php:321
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Verfällt YYYY-MM-DD HH;MM"
-#: ../../Zotlabs/Module/Mail.php:235
+#: ../../Zotlabs/Module/Mail.php:234
msgid "Requested channel is not in this network"
msgstr "Angeforderter Kanal ist nicht in diesem Netzwerk."
-#: ../../Zotlabs/Module/Mail.php:243
+#: ../../Zotlabs/Module/Mail.php:242
msgid "Send Private Message"
msgstr "Private Nachricht senden"
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:374
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
msgid "To:"
msgstr "An:"
-#: ../../Zotlabs/Module/Mail.php:247 ../../Zotlabs/Module/Mail.php:376
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
msgid "Subject:"
msgstr "Betreff:"
-#: ../../Zotlabs/Module/Mail.php:252 ../../Zotlabs/Module/Mail.php:382
-#: ../../include/conversation.php:1226
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1220
msgid "Attach file"
msgstr "Datei anhängen"
-#: ../../Zotlabs/Module/Mail.php:254
+#: ../../Zotlabs/Module/Mail.php:253
msgid "Send"
msgstr "Absenden"
-#: ../../Zotlabs/Module/Mail.php:257 ../../Zotlabs/Module/Mail.php:387
-#: ../../include/conversation.php:1257
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1251
msgid "Set expiration date"
msgstr "Verfallsdatum"
-#: ../../Zotlabs/Module/Mail.php:346
+#: ../../Zotlabs/Module/Mail.php:340
msgid "Delete message"
msgstr "Nachricht löschen"
-#: ../../Zotlabs/Module/Mail.php:347
+#: ../../Zotlabs/Module/Mail.php:341
msgid "Delivery report"
msgstr "Zustellungsbericht"
-#: ../../Zotlabs/Module/Mail.php:348
+#: ../../Zotlabs/Module/Mail.php:342
msgid "Recall message"
msgstr "Nachricht widerrufen"
-#: ../../Zotlabs/Module/Mail.php:350
+#: ../../Zotlabs/Module/Mail.php:344
msgid "Message has been recalled."
msgstr "Die Nachricht wurde widerrufen."
-#: ../../Zotlabs/Module/Mail.php:367
+#: ../../Zotlabs/Module/Mail.php:361
msgid "Delete Conversation"
msgstr "Unterhaltung löschen"
-#: ../../Zotlabs/Module/Mail.php:369
+#: ../../Zotlabs/Module/Mail.php:363
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten."
-#: ../../Zotlabs/Module/Mail.php:373
+#: ../../Zotlabs/Module/Mail.php:367
msgid "Send Reply"
msgstr "Antwort senden"
-#: ../../Zotlabs/Module/Mail.php:378
+#: ../../Zotlabs/Module/Mail.php:372
#, php-format
msgid "Your message for %s (%s):"
msgstr "Deine Nachricht für %s (%s):"
@@ -3530,8 +2366,8 @@ msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
msgid "Create a new channel"
msgstr "Neuen Kanal anlegen"
-#: ../../Zotlabs/Module/Manage.php:164 ../../include/nav.php:206
-#: ../../include/apps.php:164
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
msgid "Channel Manager"
msgstr "Kanal-Manager"
@@ -3565,21 +2401,78 @@ msgstr "%d neue Vorstellungen"
msgid "Delegated Channel"
msgstr "Delegierte Kanäle"
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Profil-Übereinstimmungen"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Kein gültiges Konto gefunden."
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails."
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "interessiert sich für:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Nutzer (%s)"
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "Keine Übereinstimmungen"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Passwort-Rücksetzung auf %s angefordert"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Zurücksetzen des Kennworts"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Dein Passwort wurde wie angefordert neu erstellt."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Dein neues Passwort lautet"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Speichere oder kopiere Dein neues Passwort – und dann"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "Klicke hier, um dich anzumelden"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Auf %s wurde Dein Passwort geändert"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Kennwort vergessen?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail."
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "E-Mail Adresse"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Zurücksetzen"
#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
@@ -3617,7 +2510,7 @@ msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
msgid "Submit and proceed"
msgstr "Absenden und fortfahren"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2278
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
msgid "Menus"
msgstr "Menüs"
@@ -3678,6 +2571,74 @@ msgstr "Erlaube Lesezeichen"
msgid "Not found."
msgstr "Nicht gefunden."
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s ist %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Laune"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profil-Übereinstimmungen"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "interessiert sich für:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Keine Übereinstimmungen"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "Gruppe nicht gefunden"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "Kanal nicht gefunden"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "Forum"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Suchergebnisse für:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "Gruppe ist leer"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Gruppe:"
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Ungültige Verbindung."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Keine System-Benachrichtigungen mehr."
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "System-Benachrichtigungen"
+
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Element konnte nicht erstellt werden."
@@ -3795,48 +2756,6 @@ msgstr "Bearbeite Menü-Bestandteil"
msgid "Link text"
msgstr "Link Text"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s ist %2$s"
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../include/apps.php:176
-msgid "Mood"
-msgstr "Laune"
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
-
-#: ../../Zotlabs/Module/Network.php:96
-msgid "No such group"
-msgstr "Gruppe nicht gefunden"
-
-#: ../../Zotlabs/Module/Network.php:136
-msgid "No such channel"
-msgstr "Kanal nicht gefunden"
-
-#: ../../Zotlabs/Module/Network.php:141
-msgid "forum"
-msgstr "Forum"
-
-#: ../../Zotlabs/Module/Network.php:153
-msgid "Search Results For:"
-msgstr "Suchergebnisse für:"
-
-#: ../../Zotlabs/Module/Network.php:217
-msgid "Privacy group is empty"
-msgstr "Gruppe ist leer"
-
-#: ../../Zotlabs/Module/Network.php:226
-msgid "Privacy group: "
-msgstr "Gruppe:"
-
-#: ../../Zotlabs/Module/Network.php:252
-msgid "Invalid connection."
-msgstr "Ungültige Verbindung."
-
#: ../../Zotlabs/Module/New_channel.php:128
#: ../../Zotlabs/Module/Register.php:231
msgid "Name or caption"
@@ -3899,81 +2818,10 @@ msgstr "Ungültiger Anfrage-Identifikator."
msgid "Discard"
msgstr "Verwerfen"
-#: ../../Zotlabs/Module/Notifications.php:98
-#: ../../Zotlabs/Module/Notify.php:57
-msgid "No more system notifications."
-msgstr "Keine System-Benachrichtigungen mehr."
-
-#: ../../Zotlabs/Module/Notifications.php:102
-#: ../../Zotlabs/Module/Notify.php:61
-msgid "System Notifications"
-msgstr "System-Benachrichtigungen"
-
#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
msgid "Mark all system notifications seen"
msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
-msgstr "Konnte Deinen Server nicht finden."
-
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
-msgstr "Veröffentlichung erfolgreich."
-
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
-
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
-msgid "Login failed."
-msgstr "Login fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Page.php:133
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert."
-
-#: ../../Zotlabs/Module/Pconfig.php:48
-msgid "Configuration Editor"
-msgstr "Konfigurationseditor"
-
-#: ../../Zotlabs/Module/Pconfig.php:49
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird."
-
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
-msgstr "Layout aktualisiert."
-
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
-msgstr "Systemseitenbeschreibung bearbeiten"
-
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
-msgstr "Layout nicht gefunden."
-
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
-msgstr "Modulname:"
-
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
-msgstr "Layout-Hilfe"
-
#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
@@ -3982,7 +2830,7 @@ msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden
#: ../../Zotlabs/Module/Profile_photo.php:114
#: ../../Zotlabs/Module/Profile_photo.php:206
#: ../../Zotlabs/Module/Profile_photo.php:294
-#: ../../include/photo/photo_driver.php:722
+#: ../../include/photo/photo_driver.php:718
msgid "Profile Photos"
msgstr "Profilfotos"
@@ -4051,8 +2899,7 @@ msgstr "Beschreibung (optional):"
msgid "Album name could not be decoded"
msgstr "Albumname konnte nicht dekodiert werden"
-#: ../../Zotlabs/Module/Photos.php:743 ../../Zotlabs/Module/Photos.php:1284
-#: ../../Zotlabs/Module/Photos.php:1301
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Kontakt-Bilder"
@@ -4064,12 +2911,12 @@ msgstr "Neueste zuerst anzeigen"
msgid "Show Oldest First"
msgstr "Älteste zuerst anzeigen"
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1334
-#: ../../include/widgets.php:1500
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
msgid "View Photo"
msgstr "Foto ansehen"
-#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1517
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
msgid "Edit Album"
msgstr "Album bearbeiten"
@@ -4097,6 +2944,11 @@ msgstr "Privates Foto"
msgid "View Full Size"
msgstr "In voller Größe anzeigen"
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Entfernen"
+
#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Foto bearbeiten"
@@ -4133,26 +2985,26 @@ msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"
msgid "Flag as adult in album view"
msgstr "In der Albumansicht als nicht jugendfrei markieren"
-#: ../../Zotlabs/Module/Photos.php:1070 ../../include/ItemObject.php:254
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
msgid "I like this (toggle)"
msgstr "Mir gefällt das (Umschalter)"
-#: ../../Zotlabs/Module/Photos.php:1071 ../../include/ItemObject.php:255
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
msgid "I don't like this (toggle)"
msgstr "Mir gefällt das nicht (Umschalter)"
-#: ../../Zotlabs/Module/Photos.php:1073 ../../include/ItemObject.php:389
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
#: ../../include/conversation.php:740
msgid "Please wait"
msgstr "Bitte warten"
#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../include/ItemObject.php:700
+#: ../../Zotlabs/Lib/ThreadItem.php:707
msgid "This is you"
msgstr "Das bist Du"
#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
-#: ../../include/ItemObject.php:702 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Kommentar"
@@ -4197,22 +3049,22 @@ msgid "Might attend"
msgstr "Vielleicht"
#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1724
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1717
msgid "View all"
msgstr "Alles anzeigen"
-#: ../../Zotlabs/Module/Photos.php:1130 ../../include/identity.php:1304
-#: ../../include/ItemObject.php:179 ../../include/conversation.php:1748
-#: ../../include/taxonomy.php:403
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "Gefällt mir"
msgstr[1] "Gefällt mir"
-#: ../../Zotlabs/Module/Photos.php:1135 ../../include/ItemObject.php:184
-#: ../../include/conversation.php:1751
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1744
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -4231,54 +3083,113 @@ msgstr "Auf diesem Foto:"
msgid "Map"
msgstr "Karte"
-#: ../../Zotlabs/Module/Photos.php:1257 ../../include/ItemObject.php:378
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
msgctxt "noun"
msgid "Likes"
msgstr "Gefällt mir"
-#: ../../Zotlabs/Module/Photos.php:1258 ../../include/ItemObject.php:379
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
msgctxt "noun"
msgid "Dislikes"
msgstr "Gefällt nicht"
-#: ../../Zotlabs/Module/Photos.php:1263 ../../include/ItemObject.php:384
-#: ../../include/acl_selectors.php:290
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
msgid "Close"
msgstr "Schließen"
-#: ../../Zotlabs/Module/Photos.php:1340
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Album ansehen"
-#: ../../Zotlabs/Module/Photos.php:1351 ../../Zotlabs/Module/Photos.php:1364
-#: ../../Zotlabs/Module/Photos.php:1365
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Neueste Fotos"
-#: ../../Zotlabs/Module/Ping.php:264
+#: ../../Zotlabs/Module/Ping.php:265
msgid "sent you a private message"
msgstr "hat Dir eine private Nachricht geschickt"
-#: ../../Zotlabs/Module/Ping.php:312
+#: ../../Zotlabs/Module/Ping.php:313
msgid "added your channel"
msgstr "hat deinen Kanal hinzugefügt"
-#: ../../Zotlabs/Module/Ping.php:322 ../../include/identity.php:1123
-#: ../../include/identity.php:1199
+#: ../../Zotlabs/Module/Ping.php:323
msgid "g A l F d"
msgstr "l, d. F, G:i \\U\\h\\r"
-#: ../../Zotlabs/Module/Ping.php:345 ../../include/identity.php:1169
-#: ../../include/identity.php:1239
+#: ../../Zotlabs/Module/Ping.php:346
msgid "[today]"
msgstr "[Heute]"
-#: ../../Zotlabs/Module/Ping.php:354
+#: ../../Zotlabs/Module/Ping.php:355
msgid "posted an event"
msgstr "hat einen Termin veröffentlicht"
-#: ../../Zotlabs/Module/Poke.php:168 ../../include/conversation.php:965
-#: ../../include/apps.php:177
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Konnte Deinen Server nicht finden."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Veröffentlichung erfolgreich."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Login fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert."
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Konfigurationseditor"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird."
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Layout aktualisiert."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Systemseitenbeschreibung bearbeiten"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Layout nicht gefunden."
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Modulname:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Layout-Hilfe"
+
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
+#: ../../include/conversation.php:960
msgid "Poke"
msgstr "Anstupsen"
@@ -4306,289 +3217,289 @@ msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
msgid "Make this post private"
msgstr "Diesen Beitrag privat machen"
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:34
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
-#: ../../Zotlabs/Module/Profile_photo.php:179
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
-
-#: ../../Zotlabs/Module/Profile_photo.php:367
-msgid "Upload Profile Photo"
-msgstr "Lade neues Profilfoto hoch"
-
-#: ../../Zotlabs/Module/Profiles.php:23 ../../Zotlabs/Module/Profiles.php:188
-#: ../../Zotlabs/Module/Profiles.php:245 ../../Zotlabs/Module/Profiles.php:624
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
msgstr "Profil nicht gefunden."
-#: ../../Zotlabs/Module/Profiles.php:43
+#: ../../Zotlabs/Module/Profiles.php:44
msgid "Profile deleted."
msgstr "Profil gelöscht."
-#: ../../Zotlabs/Module/Profiles.php:67 ../../Zotlabs/Module/Profiles.php:103
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
msgid "Profile-"
msgstr "Profil-"
-#: ../../Zotlabs/Module/Profiles.php:88 ../../Zotlabs/Module/Profiles.php:131
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
msgid "New profile created."
msgstr "Neues Profil erstellt."
-#: ../../Zotlabs/Module/Profiles.php:109
+#: ../../Zotlabs/Module/Profiles.php:110
msgid "Profile unavailable to clone."
msgstr "Profil kann nicht geklont werden."
-#: ../../Zotlabs/Module/Profiles.php:150
+#: ../../Zotlabs/Module/Profiles.php:151
msgid "Profile unavailable to export."
msgstr "Dieses Profil kann nicht exportiert werden."
-#: ../../Zotlabs/Module/Profiles.php:255
+#: ../../Zotlabs/Module/Profiles.php:256
msgid "Profile Name is required."
msgstr "Profil-Name erforderlich."
-#: ../../Zotlabs/Module/Profiles.php:426
+#: ../../Zotlabs/Module/Profiles.php:427
msgid "Marital Status"
msgstr "Familienstand"
-#: ../../Zotlabs/Module/Profiles.php:430
+#: ../../Zotlabs/Module/Profiles.php:431
msgid "Romantic Partner"
msgstr "Romantische Partner"
-#: ../../Zotlabs/Module/Profiles.php:434 ../../Zotlabs/Module/Profiles.php:740
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
msgid "Likes"
msgstr "Gefällt"
-#: ../../Zotlabs/Module/Profiles.php:438 ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
msgid "Dislikes"
msgstr "Gefällt nicht"
-#: ../../Zotlabs/Module/Profiles.php:442 ../../Zotlabs/Module/Profiles.php:748
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
msgid "Work/Employment"
msgstr "Arbeit/Anstellung"
-#: ../../Zotlabs/Module/Profiles.php:445
+#: ../../Zotlabs/Module/Profiles.php:446
msgid "Religion"
msgstr "Religion"
-#: ../../Zotlabs/Module/Profiles.php:449
+#: ../../Zotlabs/Module/Profiles.php:450
msgid "Political Views"
msgstr "Politische Ansichten"
-#: ../../Zotlabs/Module/Profiles.php:457
+#: ../../Zotlabs/Module/Profiles.php:458
msgid "Sexual Preference"
msgstr "Sexuelle Orientierung"
-#: ../../Zotlabs/Module/Profiles.php:461
+#: ../../Zotlabs/Module/Profiles.php:462
msgid "Homepage"
msgstr "Webseite"
-#: ../../Zotlabs/Module/Profiles.php:465
+#: ../../Zotlabs/Module/Profiles.php:466
msgid "Interests"
msgstr "Hobbys/Interessen"
-#: ../../Zotlabs/Module/Profiles.php:559
+#: ../../Zotlabs/Module/Profiles.php:560
msgid "Profile updated."
msgstr "Profil aktualisiert."
-#: ../../Zotlabs/Module/Profiles.php:648
+#: ../../Zotlabs/Module/Profiles.php:644
msgid "Hide your connections list from viewers of this profile"
msgstr "Deine Verbindungen vor Betrachtern dieses Profils verbergen"
-#: ../../Zotlabs/Module/Profiles.php:690
+#: ../../Zotlabs/Module/Profiles.php:686
msgid "Edit Profile Details"
msgstr "Bearbeite Profil-Details"
-#: ../../Zotlabs/Module/Profiles.php:692
+#: ../../Zotlabs/Module/Profiles.php:688
msgid "View this profile"
msgstr "Dieses Profil ansehen"
-#: ../../Zotlabs/Module/Profiles.php:693 ../../Zotlabs/Module/Profiles.php:775
-#: ../../include/identity.php:959
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:959
msgid "Edit visibility"
msgstr "Sichtbarkeit bearbeiten"
-#: ../../Zotlabs/Module/Profiles.php:694
+#: ../../Zotlabs/Module/Profiles.php:690
msgid "Profile Tools"
msgstr "Profilwerkzeuge"
-#: ../../Zotlabs/Module/Profiles.php:695
+#: ../../Zotlabs/Module/Profiles.php:691
msgid "Change cover photo"
msgstr "Titelbild ändern"
-#: ../../Zotlabs/Module/Profiles.php:696 ../../include/identity.php:930
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
msgid "Change profile photo"
msgstr "Profilfoto ändern"
-#: ../../Zotlabs/Module/Profiles.php:697
+#: ../../Zotlabs/Module/Profiles.php:693
msgid "Create a new profile using these settings"
msgstr "Neues Profil anlegen und diese Einstellungen übernehmen"
-#: ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Profiles.php:694
msgid "Clone this profile"
msgstr "Dieses Profil klonen"
-#: ../../Zotlabs/Module/Profiles.php:699
+#: ../../Zotlabs/Module/Profiles.php:695
msgid "Delete this profile"
msgstr "Dieses Profil löschen"
-#: ../../Zotlabs/Module/Profiles.php:700
+#: ../../Zotlabs/Module/Profiles.php:696
msgid "Add profile things"
msgstr "Sachen zum Profil hinzufügen"
-#: ../../Zotlabs/Module/Profiles.php:701 ../../include/widgets.php:105
-#: ../../include/conversation.php:1532
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
msgid "Personal"
msgstr "Persönlich"
-#: ../../Zotlabs/Module/Profiles.php:703
+#: ../../Zotlabs/Module/Profiles.php:699
msgid "Relation"
msgstr "Beziehung"
-#: ../../Zotlabs/Module/Profiles.php:704 ../../include/datetime.php:48
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
msgid "Miscellaneous"
msgstr "Verschiedenes"
-#: ../../Zotlabs/Module/Profiles.php:706
+#: ../../Zotlabs/Module/Profiles.php:702
msgid "Import profile from file"
msgstr "Profil aus einer Datei importieren"
-#: ../../Zotlabs/Module/Profiles.php:707
+#: ../../Zotlabs/Module/Profiles.php:703
msgid "Export profile to file"
msgstr "Profil in eine Datei exportieren"
-#: ../../Zotlabs/Module/Profiles.php:708
+#: ../../Zotlabs/Module/Profiles.php:704
msgid "Your gender"
msgstr "Dein Geschlecht"
-#: ../../Zotlabs/Module/Profiles.php:709
+#: ../../Zotlabs/Module/Profiles.php:705
msgid "Marital status"
msgstr "Familienstand"
-#: ../../Zotlabs/Module/Profiles.php:710
+#: ../../Zotlabs/Module/Profiles.php:706
msgid "Sexual preference"
msgstr "Sexuelle Orientierung"
-#: ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Profiles.php:709
msgid "Profile name"
msgstr "Profilname"
-#: ../../Zotlabs/Module/Profiles.php:715
+#: ../../Zotlabs/Module/Profiles.php:711
msgid "This is your default profile."
msgstr "Das ist Dein Standardprofil."
-#: ../../Zotlabs/Module/Profiles.php:717
+#: ../../Zotlabs/Module/Profiles.php:713
msgid "Your full name"
msgstr "Dein voller Name"
-#: ../../Zotlabs/Module/Profiles.php:718
+#: ../../Zotlabs/Module/Profiles.php:714
msgid "Title/Description"
msgstr "Titel/Beschreibung"
-#: ../../Zotlabs/Module/Profiles.php:721
+#: ../../Zotlabs/Module/Profiles.php:717
msgid "Street address"
msgstr "Straße und Hausnummer"
-#: ../../Zotlabs/Module/Profiles.php:722
+#: ../../Zotlabs/Module/Profiles.php:718
msgid "Locality/City"
msgstr "Wohnort"
-#: ../../Zotlabs/Module/Profiles.php:723
+#: ../../Zotlabs/Module/Profiles.php:719
msgid "Region/State"
msgstr "Region/Bundesstaat"
-#: ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Profiles.php:720
msgid "Postal/Zip code"
msgstr "Postleitzahl"
-#: ../../Zotlabs/Module/Profiles.php:725
+#: ../../Zotlabs/Module/Profiles.php:721
msgid "Country"
msgstr "Land"
-#: ../../Zotlabs/Module/Profiles.php:730
+#: ../../Zotlabs/Module/Profiles.php:726
msgid "Who (if applicable)"
msgstr "Wer (falls anwendbar)"
-#: ../../Zotlabs/Module/Profiles.php:730
+#: ../../Zotlabs/Module/Profiles.php:726
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
-#: ../../Zotlabs/Module/Profiles.php:731
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Since (date)"
msgstr "Seit (Datum)"
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Tell us about yourself"
msgstr "Erzähle uns ein wenig von Dir"
-#: ../../Zotlabs/Module/Profiles.php:736
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Hometown"
msgstr "Heimatort"
-#: ../../Zotlabs/Module/Profiles.php:737
+#: ../../Zotlabs/Module/Profiles.php:733
msgid "Political views"
msgstr "Politische Ansichten"
-#: ../../Zotlabs/Module/Profiles.php:738
+#: ../../Zotlabs/Module/Profiles.php:734
msgid "Religious views"
msgstr "Religiöse Ansichten"
-#: ../../Zotlabs/Module/Profiles.php:739
+#: ../../Zotlabs/Module/Profiles.php:735
msgid "Keywords used in directory listings"
msgstr "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden"
-#: ../../Zotlabs/Module/Profiles.php:739
+#: ../../Zotlabs/Module/Profiles.php:735
msgid "Example: fishing photography software"
msgstr "Beispiel: Angeln Fotografie Software"
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:738
msgid "Musical interests"
msgstr "Musikalische Interessen"
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Books, literature"
msgstr "Bücher, Literatur"
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Television"
msgstr "Fernsehen"
-#: ../../Zotlabs/Module/Profiles.php:745
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Film/Dance/Culture/Entertainment"
msgstr "Film/Tanz/Kultur/Unterhaltung"
-#: ../../Zotlabs/Module/Profiles.php:746
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Hobbies/Interests"
msgstr "Hobbys/Interessen"
-#: ../../Zotlabs/Module/Profiles.php:747
+#: ../../Zotlabs/Module/Profiles.php:743
msgid "Love/Romance"
msgstr "Liebe/Romantik"
-#: ../../Zotlabs/Module/Profiles.php:749
+#: ../../Zotlabs/Module/Profiles.php:745
msgid "School/Education"
msgstr "Schule/Ausbildung"
-#: ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Profiles.php:746
msgid "Contact information and social networks"
msgstr "Kontaktinformation und soziale Netzwerke"
-#: ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Profiles.php:747
msgid "My other channels"
msgstr "Meine anderen Kanäle"
-#: ../../Zotlabs/Module/Profiles.php:771 ../../include/identity.php:955
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
msgid "Profile Image"
msgstr "Profilfoto:"
-#: ../../Zotlabs/Module/Profiles.php:781 ../../include/identity.php:937
-#: ../../include/nav.php:88
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
msgid "Edit Profiles"
msgstr "Profile bearbeiten"
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Lade neues Profilfoto hoch"
+
#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
msgid "Invalid profile identifier."
msgstr "Ungültiger Profil-Identifikator"
@@ -4597,7 +3508,7 @@ msgstr "Ungültiger Profil-Identifikator"
msgid "Profile Visibility Editor"
msgstr "Profil-Sichtbarkeits-Editor"
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/identity.php:1395
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
msgid "Profile"
msgstr "Profil"
@@ -4609,7 +3520,7 @@ msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen."
msgid "Visible To"
msgstr "Sichtbar für"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1271
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
msgid "Public Hubs"
msgstr "Öffentliche Hubs"
@@ -4635,15 +3546,19 @@ msgid "Registration Policy"
msgstr "Registrierungsrichtlinien"
#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr "Statistiken"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
msgid "Software"
msgstr "Software"
#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:964
+#: ../../include/conversation.php:959
msgid "Ratings"
msgstr "Bewertungen"
-#: ../../Zotlabs/Module/Pubsites.php:37
+#: ../../Zotlabs/Module/Pubsites.php:38
msgid "Rate"
msgstr "Bewerten"
@@ -4680,6 +3595,1073 @@ msgstr "Webseite: "
msgid "Description: "
msgstr "Beschreibung: "
+#: ../../Zotlabs/Module/Admin.php:77
+msgid "Theme settings updated."
+msgstr "Theme-Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Admin.php:197
+msgid "# Accounts"
+msgstr "Anzahl der Konten"
+
+#: ../../Zotlabs/Module/Admin.php:198
+msgid "# blocked accounts"
+msgstr "Anzahl der blockierten Konten"
+
+#: ../../Zotlabs/Module/Admin.php:199
+msgid "# expired accounts"
+msgstr "Anzahl der abgelaufenen Konten"
+
+#: ../../Zotlabs/Module/Admin.php:200
+msgid "# expiring accounts"
+msgstr "Anzahl der ablaufenden Konten"
+
+#: ../../Zotlabs/Module/Admin.php:211
+msgid "# Channels"
+msgstr "Anzahl der Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:212
+msgid "# primary"
+msgstr "Anzahl der primären Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:213
+msgid "# clones"
+msgstr "Anzahl der Klone"
+
+#: ../../Zotlabs/Module/Admin.php:219
+msgid "Message queues"
+msgstr "Nachrichten-Warteschlangen"
+
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "Die installierte Software sollte aktualisiert werden"
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
+msgid "Administration"
+msgstr "Administration"
+
+#: ../../Zotlabs/Module/Admin.php:242
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: ../../Zotlabs/Module/Admin.php:245
+msgid "Registered accounts"
+msgstr "Registrierte Konten"
+
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
+msgid "Pending registrations"
+msgstr "Ausstehende Registrierungen"
+
+#: ../../Zotlabs/Module/Admin.php:247
+msgid "Registered channels"
+msgstr "Registrierte Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
+msgid "Active plugins"
+msgstr "Aktive Plug-Ins"
+
+#: ../../Zotlabs/Module/Admin.php:249
+msgid "Version"
+msgstr "Version"
+
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr "Repository-Version (master)"
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr "Repository-Version (dev)"
+
+#: ../../Zotlabs/Module/Admin.php:373
+msgid "Site settings updated."
+msgstr "Site-Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Standard"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
+msgid "mobile"
+msgstr "mobil"
+
+#: ../../Zotlabs/Module/Admin.php:412
+msgid "experimental"
+msgstr "experimentell"
+
+#: ../../Zotlabs/Module/Admin.php:414
+msgid "unsupported"
+msgstr "nicht unterstützt"
+
+#: ../../Zotlabs/Module/Admin.php:460
+msgid "Yes - with approval"
+msgstr "Ja - mit Zustimmung"
+
+#: ../../Zotlabs/Module/Admin.php:466
+msgid "My site is not a public server"
+msgstr "Mein Server ist kein öffentlicher Server"
+
+#: ../../Zotlabs/Module/Admin.php:467
+msgid "My site has paid access only"
+msgstr "Meine Seite hat nur bezahlten Zugriff"
+
+#: ../../Zotlabs/Module/Admin.php:468
+msgid "My site has free access only"
+msgstr "Meine Seite hat nur freien Zugriff"
+
+#: ../../Zotlabs/Module/Admin.php:469
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
+
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Seite"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
+msgid "Registration"
+msgstr "Registrierung"
+
+#: ../../Zotlabs/Module/Admin.php:494
+msgid "File upload"
+msgstr "Dateiupload"
+
+#: ../../Zotlabs/Module/Admin.php:495
+msgid "Policies"
+msgstr "Richtlinien"
+
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Fortgeschritten"
+
+#: ../../Zotlabs/Module/Admin.php:500
+msgid "Site name"
+msgstr "Seitenname"
+
+#: ../../Zotlabs/Module/Admin.php:501
+msgid "Banner/Logo"
+msgstr "Banner/Logo"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid "Administrator Information"
+msgstr "Administrator-Informationen"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
+
+#: ../../Zotlabs/Module/Admin.php:503
+msgid "System language"
+msgstr "System-Sprache"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid "System theme"
+msgstr "System-Theme"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Mobile system theme"
+msgstr "Mobile System-Theme:"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Theme for mobile devices"
+msgstr "Theme für mobile Geräte"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "Allow Feeds as Connections"
+msgstr "Feeds als Verbindungen erlauben"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "(Heavy system resource usage)"
+msgstr "(führt zu hoher Systemlast)"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid "Maximum image size"
+msgstr "Maximale Bildgröße"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
+
+#: ../../Zotlabs/Module/Admin.php:509
+msgid "Does this site allow new member registration?"
+msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid "Invitation only"
+msgstr "Nur mit Einladung"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden."
+
+#: ../../Zotlabs/Module/Admin.php:511
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Register text"
+msgstr "Registrierungstext"
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Will be displayed prominently on the registration page."
+msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid "Preserve site homepage URL"
+msgstr "Homepage-URL schützen"
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid "Accounts abandoned after x days"
+msgstr "Konten gelten nach X Tagen als unbenutzt"
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid "Allowed friend domains"
+msgstr "Erlaubte Domains für Kontakte"
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid "Allowed email domains"
+msgstr "Erlaubte Domains für E-Mails"
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid "Not allowed email domains"
+msgstr "Nicht erlaubte Domains für E-Mails"
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde."
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid "Verify Email Addresses"
+msgstr "E-Mail-Adressen überprüfen"
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid "Force publish"
+msgstr "Veröffentlichung erzwingen"
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid "Import Public Streams"
+msgstr "Öffentliche Beiträge importieren"
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert."
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr "Log-in auf der Startseite"
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr "Kontext-Hilfe aktivieren"
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird."
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Directory Server URL"
+msgstr "Verzeichnisserver-URL"
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Default directory server"
+msgstr "Standard-Verzeichnisserver"
+
+#: ../../Zotlabs/Module/Admin.php:527
+msgid "Proxy user"
+msgstr "Proxy Benutzer"
+
+#: ../../Zotlabs/Module/Admin.php:528
+msgid "Proxy URL"
+msgstr "Proxy URL"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Network timeout"
+msgstr "Netzwerk-Timeout"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid "Delivery interval"
+msgstr "Auslieferung Intervall"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid "Deliveries per process"
+msgstr "Zustellungen pro Prozess"
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5."
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid "Poll interval"
+msgstr "Abfrageintervall"
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid "Maximum Load Average"
+msgstr "Maximales Load Average"
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen"
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "0 for no expiration of imported content"
+msgstr "0 = keine Löschung importierter Inhalte"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "Off"
+msgstr "Aus"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "On"
+msgstr "An"
+
+#: ../../Zotlabs/Module/Admin.php:678
+#, php-format
+msgid "Lock feature %s"
+msgstr "Blockiere die Funktion %s"
+
+#: ../../Zotlabs/Module/Admin.php:686
+msgid "Manage Additional Features"
+msgstr "Zusätzliche Funktionen verwalten"
+
+#: ../../Zotlabs/Module/Admin.php:703
+msgid "No server found"
+msgstr "Kein Server gefunden"
+
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "for channel"
+msgstr "für Kanal"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "on server"
+msgstr "auf Server"
+
+#: ../../Zotlabs/Module/Admin.php:712
+msgid "Server"
+msgstr "Server"
+
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher."
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:"
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert."
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Sicherheit"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid "Block public"
+msgstr "Öffentlichen Zugriff blockieren"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist."
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Setze den \"Transport Security\" HTTP Header"
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Setze den \"Content Security Policy\" HTTP Header"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr "Kommunikation nur von diesen Seiten erlauben"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben."
+
+#: ../../Zotlabs/Module/Admin.php:762
+msgid "Block communications from these sites"
+msgstr "Kommunikation von diesen Seiten blockieren"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid "Allow communications only from these channels"
+msgstr "Kommunikation nur von diesen Kanälen erlauben"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. "
+
+#: ../../Zotlabs/Module/Admin.php:764
+msgid "Block communications from these channels"
+msgstr "Kommunikation von folgenden Kanälen blockieren"
+
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains"
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert."
+
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr "Eingebettete HTML Inhalte von diesen Seiten blockieren"
+
+#: ../../Zotlabs/Module/Admin.php:785
+msgid "Update has been marked successful"
+msgstr "Update wurde als erfolgreich markiert"
+
+#: ../../Zotlabs/Module/Admin.php:795
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
+
+#: ../../Zotlabs/Module/Admin.php:798
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Update %s wurde erfolgreich ausgeführt."
+
+#: ../../Zotlabs/Module/Admin.php:802
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
+
+#: ../../Zotlabs/Module/Admin.php:805
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Update-Funktion %s konnte nicht gefunden werden."
+
+#: ../../Zotlabs/Module/Admin.php:821
+msgid "No failed updates."
+msgstr "Keine fehlgeschlagenen Aktualisierungen."
+
+#: ../../Zotlabs/Module/Admin.php:825
+msgid "Failed Updates"
+msgstr "Fehlgeschlagene Aktualisierungen"
+
+#: ../../Zotlabs/Module/Admin.php:827
+msgid "Mark success (if update was manually applied)"
+msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
+
+#: ../../Zotlabs/Module/Admin.php:828
+msgid "Attempt to execute this update step automatically"
+msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
+
+#: ../../Zotlabs/Module/Admin.php:859
+msgid "Queue Statistics"
+msgstr "Warteschlangenstatistiken"
+
+#: ../../Zotlabs/Module/Admin.php:860
+msgid "Total Entries"
+msgstr "Einträge insgesamt"
+
+#: ../../Zotlabs/Module/Admin.php:861
+msgid "Priority"
+msgstr "Priorität"
+
+#: ../../Zotlabs/Module/Admin.php:862
+msgid "Destination URL"
+msgstr "Ziel-URL"
+
+#: ../../Zotlabs/Module/Admin.php:863
+msgid "Mark hub permanently offline"
+msgstr "Hub als permanent offline markieren"
+
+#: ../../Zotlabs/Module/Admin.php:864
+msgid "Empty queue for this hub"
+msgstr "Warteschlange für diesen Hub leeren"
+
+#: ../../Zotlabs/Module/Admin.php:865
+msgid "Last known contact"
+msgstr "Letzter Kontakt"
+
+#: ../../Zotlabs/Module/Admin.php:901
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s Konto blockiert/freigegeben"
+msgstr[1] "%s Konten blockiert/freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:908
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s Konto gelöscht"
+msgstr[1] "%s Konten gelöscht"
+
+#: ../../Zotlabs/Module/Admin.php:944
+msgid "Account not found"
+msgstr "Konto nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin.php:955
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Konto '%s' gelöscht"
+
+#: ../../Zotlabs/Module/Admin.php:963
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Konto '%s' blockiert"
+
+#: ../../Zotlabs/Module/Admin.php:971
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Konto '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Konten"
+
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
+msgid "select all"
+msgstr "Alle auswählen"
+
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr "Registrierungen warten auf Bestätigung"
+
+#: ../../Zotlabs/Module/Admin.php:1035
+msgid "Request date"
+msgstr "Antragsdatum"
+
+#: ../../Zotlabs/Module/Admin.php:1036
+msgid "No registrations."
+msgstr "Keine Registrierungen."
+
+#: ../../Zotlabs/Module/Admin.php:1038
+msgid "Deny"
+msgstr "Verweigern"
+
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Alle Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:1049
+msgid "Register date"
+msgstr "Registrierungs-Datum"
+
+#: ../../Zotlabs/Module/Admin.php:1050
+msgid "Last login"
+msgstr "Letzte Anmeldung"
+
+#: ../../Zotlabs/Module/Admin.php:1051
+msgid "Expires"
+msgstr "Verfällt"
+
+#: ../../Zotlabs/Module/Admin.php:1052
+msgid "Service Class"
+msgstr "Service-Klasse"
+
+#: ../../Zotlabs/Module/Admin.php:1054
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?"
+
+#: ../../Zotlabs/Module/Admin.php:1055
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
+
+#: ../../Zotlabs/Module/Admin.php:1091
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s Kanal gesperrt/freigegeben"
+msgstr[1] "%s Kanäle gesperrt/freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:1100
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "Code für %s Kanal gesperrt/freigegeben"
+msgstr[1] "Code für %s Kanäle gesperrt/freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:1106
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s Kanal gelöscht"
+msgstr[1] "%s Kanäle gelöscht"
+
+#: ../../Zotlabs/Module/Admin.php:1126
+msgid "Channel not found"
+msgstr "Kanal nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin.php:1136
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Kanal '%s' gelöscht"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Kanal '%s' gesperrt"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Kanal '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Code für Kanal '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Code für Kanal '%s' gesperrt"
+
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:1214
+msgid "Censor"
+msgstr "Sperren"
+
+#: ../../Zotlabs/Module/Admin.php:1215
+msgid "Uncensor"
+msgstr "Freigeben"
+
+#: ../../Zotlabs/Module/Admin.php:1216
+msgid "Allow Code"
+msgstr "Code erlauben"
+
+#: ../../Zotlabs/Module/Admin.php:1217
+msgid "Disallow Code"
+msgstr "Code sperren"
+
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin.php:1226
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
+
+#: ../../Zotlabs/Module/Admin.php:1227
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
+
+#: ../../Zotlabs/Module/Admin.php:1284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plug-In %s deaktiviert."
+
+#: ../../Zotlabs/Module/Admin.php:1288
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plug-In %s aktiviert."
+
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
+msgid "Disable"
+msgstr "Deaktivieren"
+
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
+msgid "Enable"
+msgstr "Aktivieren"
+
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Plug-Ins"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
+msgid "Toggle"
+msgstr "Umschalten"
+
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
+msgid "Author: "
+msgstr "Autor: "
+
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
+msgid "Maintainer: "
+msgstr "Betreuer:"
+
+#: ../../Zotlabs/Module/Admin.php:1341
+msgid "Minimum project version: "
+msgstr "Minimale Version des Projekts:"
+
+#: ../../Zotlabs/Module/Admin.php:1342
+msgid "Maximum project version: "
+msgstr "Maximale Version des Projekts:"
+
+#: ../../Zotlabs/Module/Admin.php:1343
+msgid "Minimum PHP version: "
+msgstr "Minimale PHP Version:"
+
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "Benötigt:"
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
+msgid "Disabled - version incompatibility"
+msgstr "Abgeschaltet - Versionsinkompatibilität"
+
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Gib die öffentliche Git-Repository-URL des Plugin-Repository an."
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr "Plugin-Repository Git URL"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Benutzerdefinierter Repository-Name"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(optional)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "Plugin-Repository herunterladen"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "Neues Repository installieren"
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Installieren"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "Repositorien verwalten"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "Installierte Plugin-Repositorien"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "Ein neues Plugin-Repository installieren"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "Zweig/Branch wechseln"
+
+#: ../../Zotlabs/Module/Admin.php:1550
+msgid "No themes found."
+msgstr "Keine Theme gefunden."
+
+#: ../../Zotlabs/Module/Admin.php:1606
+msgid "Screenshot"
+msgstr "Bildschirmfoto"
+
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Themes"
+
+#: ../../Zotlabs/Module/Admin.php:1652
+msgid "[Experimental]"
+msgstr "[Experimentell]"
+
+#: ../../Zotlabs/Module/Admin.php:1653
+msgid "[Unsupported]"
+msgstr "[Nicht unterstützt]"
+
+#: ../../Zotlabs/Module/Admin.php:1677
+msgid "Log settings updated."
+msgstr "Protokoll-Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Protokolle"
+
+#: ../../Zotlabs/Module/Admin.php:1734
+msgid "Clear"
+msgstr "Leeren"
+
+#: ../../Zotlabs/Module/Admin.php:1740
+msgid "Debugging"
+msgstr "Debugging"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid "Log file"
+msgstr "Protokolldatei"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis."
+
+#: ../../Zotlabs/Module/Admin.php:1742
+msgid "Log level"
+msgstr "Protokollstufe"
+
+#: ../../Zotlabs/Module/Admin.php:2028
+msgid "New Profile Field"
+msgstr "Neues Profilfeld"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "Field nickname"
+msgstr "Kurzname für das Feld"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "System name of field"
+msgstr "Systemname des Feldes"
+
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
+msgid "Input type"
+msgstr "Art des Inhalts"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Field Name"
+msgstr "Feldname"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Label on profile pages"
+msgstr "Bezeichnung auf Profilseiten"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Help text"
+msgstr "Hilfetext"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Additional info (optional)"
+msgstr "Zusätzliche Informationen (optional)"
+
+#: ../../Zotlabs/Module/Admin.php:2042
+msgid "Field definition not found"
+msgstr "Feld-Definition nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin.php:2048
+msgid "Edit Profile Field"
+msgstr "Profilfeld bearbeiten"
+
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Profil Felder"
+
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "Notwendige Profil Felder"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "Erweiterte Profil Felder"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "(zusätzlich zu notwendige Felder)"
+
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "Alle verfügbaren Felder"
+
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "Benutzerdefinierte Felder"
+
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "Erstelle benutzerdefiniertes Feld"
+
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "App installiert."
+
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Fehlerhafte App."
+
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Code einbetten"
+
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "App bearbeiten"
+
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "App erstellen"
+
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Name der App"
+
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Ort (URL) der App"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "URL zum Icon"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 Pixel – optional"
+
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "Kategorien (optional, kommagetrennte Liste)"
+
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Versions-ID"
+
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Preis der App"
+
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Ort (URL), um die App zu kaufen"
+
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Lesezeichenordner wählen"
@@ -4784,7 +4766,7 @@ msgid "Membership on this site is by invitation only."
msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
-#: ../../boot.php:1611
+#: ../../boot.php:1685
msgid "Register"
msgstr "Registrieren"
@@ -4802,44 +4784,44 @@ msgid ""
"password."
msgstr "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt."
-#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:56
msgid "Remove This Account"
msgstr "Dieses Konto löschen"
-#: ../../Zotlabs/Module/Removeaccount.php:62
-#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "WARNING: "
msgstr "WARNUNG: "
-#: ../../Zotlabs/Module/Removeaccount.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:57
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht."
-#: ../../Zotlabs/Module/Removeaccount.php:62
-#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This action is permanent and can not be undone!"
msgstr "Dieser Schritt ist endgültig und kann nicht rückgängig gemacht werden!"
-#: ../../Zotlabs/Module/Removeaccount.php:63
-#: ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
msgid "Please enter your password for verification:"
msgstr "Bitte gib zur Bestätigung Dein Passwort ein:"
-#: ../../Zotlabs/Module/Removeaccount.php:64
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"Remove this account, all its channels and all its channel clones from the "
"network"
msgstr "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen"
-#: ../../Zotlabs/Module/Removeaccount.php:64
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"By default only the instances of the channels located on this hub will be "
"removed from the network"
msgstr "Standardmäßig werden nur die Kanalklone auf diesem $Projectname-Hub aus dem Netzwerk entfernt"
-#: ../../Zotlabs/Module/Removeaccount.php:65
+#: ../../Zotlabs/Module/Removeaccount.php:60
#: ../../Zotlabs/Module/Settings.php:705
msgid "Remove Account"
msgstr "Konto entfernen"
@@ -4850,25 +4832,25 @@ msgid ""
"password."
msgstr "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden."
-#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeme.php:58
msgid "Remove This Channel"
msgstr "Diesen Kanal löschen"
-#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This channel will be completely removed from the network. "
msgstr "Dieser Kanal wird vollständig aus dem Netzwerk gelöscht."
-#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Removeme.php:61
msgid "Remove this channel and all its clones from the network"
msgstr "Lösche diesen Kanal und all seine Klone aus dem Netzwerk"
-#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Removeme.php:61
msgid ""
"By default only the instance of the channel located on this hub will be "
"removed from the network"
msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
-#: ../../Zotlabs/Module/Removeme.php:65 ../../Zotlabs/Module/Settings.php:1124
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
msgid "Remove Channel"
msgstr "Kanal löschen"
@@ -5212,7 +5194,7 @@ msgstr "Kanal-Einstellungen"
msgid "Basic Settings"
msgstr "Grundeinstellungen"
-#: ../../Zotlabs/Module/Settings.php:1040 ../../include/identity.php:1286
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
msgid "Full Name:"
msgstr "Voller Name:"
@@ -5518,428 +5500,428 @@ msgstr "$Projectname-Provider für Firefox Share"
msgid "Start calendar week on monday"
msgstr "Montag als erster Tag der Kalenderwoche"
-#: ../../Zotlabs/Module/Setup.php:202
+#: ../../Zotlabs/Module/Setup.php:179
msgid "$Projectname Server - Setup"
msgstr "$Projectname Server-Einrichtung"
-#: ../../Zotlabs/Module/Setup.php:206
+#: ../../Zotlabs/Module/Setup.php:183
msgid "Could not connect to database."
msgstr "Kann nicht mit der Datenbank verbinden."
-#: ../../Zotlabs/Module/Setup.php:210
+#: ../../Zotlabs/Module/Setup.php:187
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-#: ../../Zotlabs/Module/Setup.php:217
+#: ../../Zotlabs/Module/Setup.php:194
msgid "Could not create table."
msgstr "Kann Tabelle nicht erstellen."
-#: ../../Zotlabs/Module/Setup.php:222
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Your site database has been installed."
msgstr "Die Datenbank Deines Hubs wurde installiert."
-#: ../../Zotlabs/Module/Setup.php:226
+#: ../../Zotlabs/Module/Setup.php:203
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
-#: ../../Zotlabs/Module/Setup.php:227 ../../Zotlabs/Module/Setup.php:289
-#: ../../Zotlabs/Module/Setup.php:744
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Lies die Datei \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Setup.php:286
+#: ../../Zotlabs/Module/Setup.php:263
msgid "System check"
msgstr "Systemprüfung"
-#: ../../Zotlabs/Module/Setup.php:291
+#: ../../Zotlabs/Module/Setup.php:268
msgid "Check again"
msgstr "Bitte nochmal prüfen"
-#: ../../Zotlabs/Module/Setup.php:313
+#: ../../Zotlabs/Module/Setup.php:290
msgid "Database connection"
msgstr "Datenbank Verbindung"
-#: ../../Zotlabs/Module/Setup.php:314
+#: ../../Zotlabs/Module/Setup.php:291
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "Um $Projectname zu installieren, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
-#: ../../Zotlabs/Module/Setup.php:315
+#: ../../Zotlabs/Module/Setup.php:292
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
-#: ../../Zotlabs/Module/Setup.php:316
+#: ../../Zotlabs/Module/Setup.php:293
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
-#: ../../Zotlabs/Module/Setup.php:320
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Database Server Name"
msgstr "Datenbank-Servername"
-#: ../../Zotlabs/Module/Setup.php:320
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Default is 127.0.0.1"
msgstr "Standard ist 127.0.0.1"
-#: ../../Zotlabs/Module/Setup.php:321
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Database Port"
msgstr "Datenbank-Port"
-#: ../../Zotlabs/Module/Setup.php:321
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Communication port number - use 0 for default"
msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
-#: ../../Zotlabs/Module/Setup.php:322
+#: ../../Zotlabs/Module/Setup.php:299
msgid "Database Login Name"
msgstr "Datenbank-Benutzername"
-#: ../../Zotlabs/Module/Setup.php:323
+#: ../../Zotlabs/Module/Setup.php:300
msgid "Database Login Password"
msgstr "Datenbank-Kennwort"
-#: ../../Zotlabs/Module/Setup.php:324
+#: ../../Zotlabs/Module/Setup.php:301
msgid "Database Name"
msgstr "Datenbank-Name"
-#: ../../Zotlabs/Module/Setup.php:325
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Type"
msgstr "Datenbanktyp"
-#: ../../Zotlabs/Module/Setup.php:327 ../../Zotlabs/Module/Setup.php:367
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid "Site administrator email address"
msgstr "E-Mail Adresse des Seiten-Administrators"
-#: ../../Zotlabs/Module/Setup.php:327 ../../Zotlabs/Module/Setup.php:367
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
-#: ../../Zotlabs/Module/Setup.php:328 ../../Zotlabs/Module/Setup.php:369
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Website URL"
msgstr "Server-URL"
-#: ../../Zotlabs/Module/Setup.php:328 ../../Zotlabs/Module/Setup.php:369
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Please use SSL (https) URL if available."
msgstr "Nutze wenn möglich eine SSL-URL (https)."
-#: ../../Zotlabs/Module/Setup.php:329 ../../Zotlabs/Module/Setup.php:372
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
msgid "Please select a default timezone for your website"
msgstr "Standard-Zeitzone für Deinen Server"
-#: ../../Zotlabs/Module/Setup.php:356
+#: ../../Zotlabs/Module/Setup.php:333
msgid "Site settings"
msgstr "Seiteneinstellungen"
-#: ../../Zotlabs/Module/Setup.php:370
+#: ../../Zotlabs/Module/Setup.php:347
msgid "Enable $Projectname <strong>advanced</strong> features?"
msgstr "<strong>Erweiterte</strong> Funktionen für $Projectname aktivieren?"
-#: ../../Zotlabs/Module/Setup.php:370
+#: ../../Zotlabs/Module/Setup.php:347
msgid ""
"Some advanced features, while useful - may be best suited for technically "
"proficient audiences"
msgstr "Einige erweiterte Funktionen können ungeachtet ihrer Nützlichkeit eher für eine technisch versierte Zielgruppe geeignet sein."
-#: ../../Zotlabs/Module/Setup.php:411
-msgid "PHP version 5.4 or greater is required."
-msgstr "PHP wird in Version 5.4 oder höher benötigt."
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr "PHP Version 5.5 oder höher wird benötigt."
-#: ../../Zotlabs/Module/Setup.php:412
+#: ../../Zotlabs/Module/Setup.php:389
msgid "PHP version"
msgstr "PHP-Version"
-#: ../../Zotlabs/Module/Setup.php:427
+#: ../../Zotlabs/Module/Setup.php:404
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
-#: ../../Zotlabs/Module/Setup.php:428
+#: ../../Zotlabs/Module/Setup.php:405
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
-#: ../../Zotlabs/Module/Setup.php:432
+#: ../../Zotlabs/Module/Setup.php:409
msgid "PHP executable path"
msgstr "PHP Pfad zu ausführbarer Datei"
-#: ../../Zotlabs/Module/Setup.php:432
+#: ../../Zotlabs/Module/Setup.php:409
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
-#: ../../Zotlabs/Module/Setup.php:437
+#: ../../Zotlabs/Module/Setup.php:414
msgid "Command line PHP"
msgstr "PHP Befehlszeile"
-#: ../../Zotlabs/Module/Setup.php:446
+#: ../../Zotlabs/Module/Setup.php:423
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
-#: ../../Zotlabs/Module/Setup.php:447
+#: ../../Zotlabs/Module/Setup.php:424
msgid "This is required for message delivery to work."
msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
-#: ../../Zotlabs/Module/Setup.php:450
+#: ../../Zotlabs/Module/Setup.php:427
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Setup.php:468
+#: ../../Zotlabs/Module/Setup.php:445
#, php-format
msgid ""
"Your max allowed total upload size is set to %s. Maximum size of one file to"
" upload is set to %s. You are allowed to upload up to %d files at once."
msgstr "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden."
-#: ../../Zotlabs/Module/Setup.php:473
+#: ../../Zotlabs/Module/Setup.php:450
msgid "You can adjust these settings in the servers php.ini."
msgstr "Du kannst diese Einstellungen in der php.ini des Servers ändern."
-#: ../../Zotlabs/Module/Setup.php:475
+#: ../../Zotlabs/Module/Setup.php:452
msgid "PHP upload limits"
msgstr "PHP-Hochladebeschränkungen"
-#: ../../Zotlabs/Module/Setup.php:498
+#: ../../Zotlabs/Module/Setup.php:475
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
-#: ../../Zotlabs/Module/Setup.php:499
+#: ../../Zotlabs/Module/Setup.php:476
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
-#: ../../Zotlabs/Module/Setup.php:502
+#: ../../Zotlabs/Module/Setup.php:479
msgid "Generate encryption keys"
msgstr "Verschlüsselungsschlüssel generieren"
-#: ../../Zotlabs/Module/Setup.php:514
+#: ../../Zotlabs/Module/Setup.php:491
msgid "libCurl PHP module"
msgstr "libCurl-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:515
+#: ../../Zotlabs/Module/Setup.php:492
msgid "GD graphics PHP module"
msgstr "GD-Grafik-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:516
+#: ../../Zotlabs/Module/Setup.php:493
msgid "OpenSSL PHP module"
msgstr "OpenSSL-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:517
+#: ../../Zotlabs/Module/Setup.php:494
msgid "mysqli or postgres PHP module"
msgstr "mysqli oder postgres PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:518
+#: ../../Zotlabs/Module/Setup.php:495
msgid "mb_string PHP module"
msgstr "mb_string-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:519
+#: ../../Zotlabs/Module/Setup.php:496
msgid "mcrypt PHP module"
msgstr "mcrypt-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:520
+#: ../../Zotlabs/Module/Setup.php:497
msgid "xml PHP module"
msgstr "xml-PHP-Modul"
-#: ../../Zotlabs/Module/Setup.php:524 ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
msgid "Apache mod_rewrite module"
msgstr "Apache-mod_rewrite-Modul"
-#: ../../Zotlabs/Module/Setup.php:524
+#: ../../Zotlabs/Module/Setup.php:501
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:530 ../../Zotlabs/Module/Setup.php:533
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
msgid "proc_open"
msgstr "proc_open"
-#: ../../Zotlabs/Module/Setup.php:530
+#: ../../Zotlabs/Module/Setup.php:507
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
-#: ../../Zotlabs/Module/Setup.php:538
+#: ../../Zotlabs/Module/Setup.php:515
msgid "Error: libCURL PHP module required but not installed."
msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:542
+#: ../../Zotlabs/Module/Setup.php:519
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:546
+#: ../../Zotlabs/Module/Setup.php:523
msgid "Error: openssl PHP module required but not installed."
msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:550
+#: ../../Zotlabs/Module/Setup.php:527
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
-#: ../../Zotlabs/Module/Setup.php:554
+#: ../../Zotlabs/Module/Setup.php:531
msgid "Error: mb_string PHP module required but not installed."
msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:558
+#: ../../Zotlabs/Module/Setup.php:535
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:562
+#: ../../Zotlabs/Module/Setup.php:539
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Setup.php:580
+#: ../../Zotlabs/Module/Setup.php:557
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
-#: ../../Zotlabs/Module/Setup.php:581
+#: ../../Zotlabs/Module/Setup.php:558
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
-#: ../../Zotlabs/Module/Setup.php:582
+#: ../../Zotlabs/Module/Setup.php:559
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Hubzilla-Installation speichern musst."
-#: ../../Zotlabs/Module/Setup.php:583
+#: ../../Zotlabs/Module/Setup.php:560
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
-#: ../../Zotlabs/Module/Setup.php:586
+#: ../../Zotlabs/Module/Setup.php:563
msgid ".htconfig.php is writable"
msgstr ".htconfig.php ist beschreibbar"
-#: ../../Zotlabs/Module/Setup.php:600
+#: ../../Zotlabs/Module/Setup.php:577
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
-#: ../../Zotlabs/Module/Setup.php:601
+#: ../../Zotlabs/Module/Setup.php:578
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Um diese kompilierten Vorlagen speichern zu können, braucht der Webserver Schreibzugriff auf das Verzeichnis %s unterhalb des $Projectname-Installationsverzeichnisses."
+"write access to the directory %s under the top level web folder."
+msgstr "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses."
-#: ../../Zotlabs/Module/Setup.php:602 ../../Zotlabs/Module/Setup.php:623
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
-#: ../../Zotlabs/Module/Setup.php:603
+#: ../../Zotlabs/Module/Setup.php:580
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält."
-#: ../../Zotlabs/Module/Setup.php:606
+#: ../../Zotlabs/Module/Setup.php:583
#, php-format
msgid "%s is writable"
msgstr "%s ist beschreibbar"
-#: ../../Zotlabs/Module/Setup.php:622
+#: ../../Zotlabs/Module/Setup.php:599
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "$Projectname benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Webserver benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses"
-#: ../../Zotlabs/Module/Setup.php:626
+#: ../../Zotlabs/Module/Setup.php:603
msgid "store is writable"
msgstr "store ist schreibbar"
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
-#: ../../Zotlabs/Module/Setup.php:660
+#: ../../Zotlabs/Module/Setup.php:637
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
-#: ../../Zotlabs/Module/Setup.php:661
+#: ../../Zotlabs/Module/Setup.php:638
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
-#: ../../Zotlabs/Module/Setup.php:662
+#: ../../Zotlabs/Module/Setup.php:639
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer $Projectname-Hubs (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
-#: ../../Zotlabs/Module/Setup.php:663
+#: ../../Zotlabs/Module/Setup.php:640
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
-#: ../../Zotlabs/Module/Setup.php:664
+#: ../../Zotlabs/Module/Setup.php:641
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
-#: ../../Zotlabs/Module/Setup.php:666
+#: ../../Zotlabs/Module/Setup.php:643
msgid "SSL certificate validation"
msgstr "SSL Zertifikatverifizierung"
-#: ../../Zotlabs/Module/Setup.php:672
+#: ../../Zotlabs/Module/Setup.php:649
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
-#: ../../Zotlabs/Module/Setup.php:675
+#: ../../Zotlabs/Module/Setup.php:652
msgid "Url rewrite is working"
msgstr "Url rewrite funktioniert"
-#: ../../Zotlabs/Module/Setup.php:684
+#: ../../Zotlabs/Module/Setup.php:661
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
-#: ../../Zotlabs/Module/Setup.php:708
+#: ../../Zotlabs/Module/Setup.php:685
msgid "Errors encountered creating database tables."
msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
-#: ../../Zotlabs/Module/Setup.php:742
+#: ../../Zotlabs/Module/Setup.php:719
msgid "<h1>What next</h1>"
msgstr "<h1>Was als Nächstes</h1>"
-#: ../../Zotlabs/Module/Setup.php:743
+#: ../../Zotlabs/Module/Setup.php:720
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
@@ -6113,12 +6095,12 @@ msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es
msgid "Ignore/Hide"
msgstr "Ignorieren/Verstecken"
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:257
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
msgid "post"
msgstr "Beitrag"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1960
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
msgid "comment"
msgstr "Kommentar"
@@ -6254,16 +6236,16 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1$s\">%2$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst."
-#: ../../Zotlabs/Module/Viewconnections.php:63
+#: ../../Zotlabs/Module/Viewconnections.php:62
msgid "No connections."
msgstr "Keine Verbindungen."
-#: ../../Zotlabs/Module/Viewconnections.php:76
+#: ../../Zotlabs/Module/Viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "%ss Profil [%s] besuchen"
-#: ../../Zotlabs/Module/Viewconnections.php:105
+#: ../../Zotlabs/Module/Viewconnections.php:104
msgid "View Connections"
msgstr "Verbindungen anzeigen"
@@ -6271,8 +6253,8 @@ msgstr "Verbindungen anzeigen"
msgid "Source of Item"
msgstr "Quelle des Elements"
-#: ../../Zotlabs/Module/Webpages.php:184 ../../include/nav.php:106
-#: ../../include/conversation.php:1692 ../../include/apps.php:168
+#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
msgid "Webpages"
msgstr "Webseiten"
@@ -6296,404 +6278,951 @@ msgstr "Xchan-Suche"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:"
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Kein Benutzername in der Importdatei gefunden."
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "Hub-Administration"
-#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:48
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen."
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr "Fehler-Rückmeldung"
-#: ../../include/dba/dba_driver.php:159
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr "Lesezeichen ansehen"
-#: ../../include/api.php:1338
-msgid "Public Timeline"
-msgstr "Öffentliche Zeitleiste"
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr "Meine Chaträume"
-#: ../../include/notify.php:20
-msgid "created a new post"
-msgstr "Neuer Beitrag wurde erzeugt"
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr "Teilen-Knopf für Firefox"
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr "Ferndiagnose"
+
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "Kanäle vorschlagen"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1703
+msgid "Login"
+msgstr "Anmelden"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr "Grid"
+
+#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "Mein Kanal"
+
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
+msgid "Events"
+msgstr "Termine"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+msgid "Directory"
+msgstr "Verzeichnis"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+msgid "Mail"
+msgstr "Mail"
+
+#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../Zotlabs/Lib/Apps.php:229
+msgid "Probe"
+msgstr "Testen"
-#: ../../include/notify.php:21
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Suggest"
+msgstr "Empfehlen"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Random Channel"
+msgstr "Zufälliger Kanal"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Invite"
+msgstr "Einladen"
+
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
+msgid "Features"
+msgstr "Funktionen"
+
+#: ../../Zotlabs/Lib/Apps.php:235
+msgid "Post"
+msgstr "Beitrag schreiben"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Purchase"
+msgstr "Kaufen"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr "Der Chatraum hat keinen Namen"
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr "Name des Chatraums bereits vergeben"
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "Ungültiger Raumbezeichner."
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "Chatraum konnte nicht gefunden werden."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "Der Chatraum ist voll"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+msgid "$Projectname Notification"
+msgstr "$Projectname-Benachrichtigung"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+msgid "Thank You,"
+msgstr "Danke."
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
#, php-format
-msgid "commented on %s's post"
-msgstr "hat %s's Beitrag kommentiert"
+msgid "%s Administrator"
+msgstr "der Administrator von %s"
-#: ../../include/oembed.php:324
-msgid "Embedded content"
-msgstr "Eingebetteter Inhalt"
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/oembed.php:333
-msgid "Embedding disabled"
-msgstr "Einbetten ausgeschaltet"
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla:Benachrichtigung] Neue Mail empfangen auf %s"
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Momentan männlich"
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Momentan weiblich"
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s hat Dir %2$s geschickt."
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Größtenteils männlich"
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "eine private Nachricht"
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Größtenteils weiblich"
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transsexuell"
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert"
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Zwischengeschlechtlich"
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transsexuell"
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Zwitter"
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Geschlechtslos"
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "unklar"
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:881
-msgid "Other"
-msgstr "Andere"
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla:Benachrichtigung] %s schrieb auf Deine Pinnwand"
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Unentschieden"
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
-msgstr "Männer"
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
-msgstr "Frauen"
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla:Benachrichtigung] %s hat Dich erwähnt"
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
-msgstr "Schwul"
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
-msgstr "Lesbisch"
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
-msgstr "Keine Bevorzugung"
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr "[Hubzilla:Benachrichtigung] %1$s hat Dich angestupst"
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
-msgstr "Bisexuell"
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
-msgstr "Autosexuell"
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
-msgstr "Enthaltsam"
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
-msgstr "Jungfräulich"
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
-msgstr "Abweichend"
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
-msgstr "Fetisch"
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla:Benachrichtigung] Vorstellung erhalten"
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
-msgstr "Unmengen"
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
-msgstr "Sexlos"
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
-msgstr "Single"
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kannst Dir das Profil unter %s ansehen"
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
-msgstr "Einsam"
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
-#: ../../include/profile_selectors.php:80
-msgid "Available"
-msgstr "Verfügbar"
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla:Benachrichtigung] Freundschaftsvorschlag erhalten"
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
-msgstr "Nicht verfügbar"
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
-msgstr "Verguckt"
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
-msgstr "Verknallt"
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "Name:"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
-msgstr "Lerne gerade jemanden kennen"
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
-msgstr "Treulos"
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
-msgstr "Sexabhängig"
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla:Benachrichtigung]"
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
-msgstr "Freunde/Begünstigte"
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "Neuer Beitrag wurde erzeugt"
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
-msgstr "Lose"
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "hat %s's Beitrag kommentiert"
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
-msgstr "Verlobt"
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Private Nachricht"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
-msgstr "Verheiratet"
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Auswählen"
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
-msgstr "Gewissermaßen verheiratet"
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "In Ordner speichern"
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
-msgstr "Partner"
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Ich werde teilnehmen"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
-msgstr "Lebensgemeinschaft"
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "Ich werde nicht teilnehmen"
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
-msgstr "Informelle Ehe"
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Ich werde vielleicht teilnehmen"
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
-msgstr "Glücklich"
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Ich stimme zu"
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
-msgstr "Nicht Ausschau haltend"
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "Ich lehne ab"
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
-msgstr "Swinger"
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Ich enthalte mich"
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
-msgstr "Betrogen"
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Stern hinzufügen"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
-msgstr "Getrennt"
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Stern entfernen"
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
-msgstr "Labil"
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Markierungsstatus (Stern) umschalten"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
-msgstr "Geschieden"
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "markiert"
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
-msgstr "Gewissermaßen geschieden"
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Signatur überprüft"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
-msgstr "Verwitwet"
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Signatur nicht korrekt"
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
-msgstr "Ungewiss"
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Tag hinzufügen"
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
-msgstr "Es ist kompliziert"
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "mag"
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
-msgstr "Interessiert mich nicht"
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "verurteile"
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
-msgstr "Frag mich mal"
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Teilen"
-#: ../../include/Contact.php:118
-msgid "New window"
-msgstr "Neues Fenster"
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "Teilen"
-#: ../../include/Contact.php:119
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab"
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Zustellungsbericht"
-#: ../../include/Contact.php:237
+#: ../../Zotlabs/Lib/ThreadItem.php:293
#, php-format
-msgid "User '%s' deleted"
-msgstr "Benutzer '%s' gelöscht"
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d Kommentar"
+msgstr[1] "%d Kommentare"
-#: ../../include/zot.php:680
-msgid "Invalid data packet"
-msgstr "Ungültiges Datenpaket"
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Schaue Dir %ss Profil an – %s"
-#: ../../include/zot.php:696
-msgid "Unable to verify channel signature"
-msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "an"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "Wall-to-Wall"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "via Wall-To-Wall:"
-#: ../../include/zot.php:2342
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+msgid "from %s"
+msgstr "via %s"
-#: ../../include/zot.php:3680
-msgid "invalid target signature"
-msgstr "Ungültige Signatur des Ziels"
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "zuletzt bearbeitet: %s"
-#: ../../include/contact_widgets.php:14
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d Einladung verfügbar"
-msgstr[1] "%d Einladungen verfügbar"
+msgid "Expires: %s"
+msgstr "Verfällt: %s"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Finde Kanäle"
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Favoriten speichern"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Name oder Interessen eingeben"
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Zum Kalender hinzufügen"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Verbinden/Folgen"
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Alle als gelesen markieren"
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Beispiele: Robert Morgenstein, Angeln"
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] Alle anzeigen"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Zufallsprofil"
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Fett"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Lade Freunde ein"
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Kursiv"
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland"
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Unterstrichen"
-#: ../../include/contact_widgets.php:57 ../../include/widgets.php:310
-#: ../../include/features.php:97
-msgid "Saved Folders"
-msgstr "Gespeicherte Ordner"
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Zitat"
-#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:100
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-msgid "Everything"
-msgstr "Alles"
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Code"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Bild"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Link einfügen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Video"
-#: ../../include/contact_widgets.php:97 ../../include/widgets.php:46
-#: ../../include/widgets.php:429 ../../include/taxonomy.php:188
-#: ../../include/taxonomy.php:270
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "Kein Benutzername in der Importdatei gefunden."
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen."
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
msgid "Categories"
msgstr "Kategorien"
-#: ../../include/contact_widgets.php:130
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d gemeinsame Verbindung"
-msgstr[1] "%d gemeinsame Verbindungen"
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Schlagwörter"
-#: ../../include/contact_widgets.php:135
-msgid "show more"
-msgstr "mehr zeigen"
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Schlüsselwörter"
-#: ../../include/event.php:22 ../../include/text.php:1466
-#: ../../include/bb2diaspora.php:487
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "habe"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "hat"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "will"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "will"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "gefällt"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "missfällt"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
msgid "l F d, Y \\@ g:i A"
msgstr "l, d. F Y, H:i"
-#: ../../include/event.php:30 ../../include/text.php:1470
-#: ../../include/bb2diaspora.php:493
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
msgid "Starts:"
msgstr "Beginnt:"
-#: ../../include/event.php:40 ../../include/text.php:1474
-#: ../../include/bb2diaspora.php:501
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
msgid "Finishes:"
msgstr "Endet:"
-#: ../../include/event.php:769
+#: ../../include/event.php:812
msgid "This event has been added to your calendar."
msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
-#: ../../include/event.php:968
+#: ../../include/event.php:1012
msgid "Not specified"
msgstr "Keine Angabe"
-#: ../../include/event.php:969
+#: ../../include/event.php:1013
msgid "Needs Action"
msgstr "Aktion erforderlich"
-#: ../../include/event.php:970
+#: ../../include/event.php:1014
msgid "Completed"
msgstr "Abgeschlossen"
-#: ../../include/event.php:971
+#: ../../include/event.php:1015
msgid "In Process"
msgstr "In Bearbeitung"
-#: ../../include/event.php:972
+#: ../../include/event.php:1016
msgid "Cancelled"
msgstr "gestrichen"
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Unbekannt)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Für jeden im Internet sichtbar."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Nur für Dich sichtbar."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Für jedes $Projectname-Mitglied sichtbar."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Für jeden sichtbar, der angemeldet ist."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Für jeden auf %s sichtbar."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Für alle Verbindungen sichtbar."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Nur für akzeptierte Verbindungen sichtbar."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Sichtbar für bestimmte Verbindungen."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "Gruppe ist leer."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Gruppe: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Die Verbindung wurde nicht gefunden."
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "Profilfoto"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Kein Empfänger angegeben"
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[no subject]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Kann Absender nicht bestimmen."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "vorherige"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "erste"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "letzte"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "nächste"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "älter"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "neuer"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Keine Verbindungen"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Alle Verbindungen von %s anzeigen"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "anstupsen"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "stupste"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "anpingen"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "pingte"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "knuffen"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "knuffte"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "ohrfeigen"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "ohrfeigte"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "befummeln"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "befummelte"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "eine Abfuhr erteilen"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "zurückgewiesen"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "glücklich"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "traurig"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "sanft"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "müde"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "frech"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "sauer"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "verblüfft"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "verwirrt"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "interessiert"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "verbittert"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "fröhlich"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "lebendig"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "verärgert"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "unruhig"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "schrullig"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "verstört"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustriert"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "deprimiert"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motiviert"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "entspannt"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "überrascht"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "Montag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "Freitag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "Samstag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "Januar"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "Februar"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "März"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "April"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "Juni"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "Juli"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "August"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "September"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "Oktober"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "November"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "Dezember"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Unbekannter Anhang"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "unbekannt"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "Kategorie entfernen"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "aus der Datei entfernen"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "Standard"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Seiten-Layout"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Art des Seiteninhalts"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Wähle eine alternative Sprache"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "Aktivität"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Gestaltungswerkzeuge"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Seiten"
+
#: ../../include/widgets.php:103
msgid "System"
msgstr "System"
@@ -6743,6 +7272,16 @@ msgstr "Gespeicherte Suchanfragen"
msgid "add"
msgstr "hinzufügen"
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Gespeicherte Ordner"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Alles"
+
#: ../../include/widgets.php:354
msgid "Archives"
msgstr "Archive"
@@ -6855,309 +7394,194 @@ msgstr "Kalender exportieren"
msgid "Import Calendar"
msgstr "Kalender importieren"
-#: ../../include/widgets.php:843 ../../include/conversation.php:1669
-#: ../../include/conversation.php:1672
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
msgid "Chatrooms"
msgstr "Chaträume"
-#: ../../include/widgets.php:847
+#: ../../include/widgets.php:846
msgid "Overview"
msgstr "Übersicht"
-#: ../../include/widgets.php:854
+#: ../../include/widgets.php:853
msgid "Chat Members"
msgstr "Chatmitglieder"
-#: ../../include/widgets.php:877
+#: ../../include/widgets.php:876
msgid "Bookmarked Chatrooms"
msgstr "Gespeicherte Chatrooms"
-#: ../../include/widgets.php:900
+#: ../../include/widgets.php:899
msgid "Suggested Chatrooms"
msgstr "Chatraum-Vorschläge"
-#: ../../include/widgets.php:1045 ../../include/widgets.php:1157
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
msgid "photo/image"
msgstr "Foto/Bild"
-#: ../../include/widgets.php:1100
+#: ../../include/widgets.php:1099
msgid "Click to show more"
msgstr "Klick, um mehr anzuzeigen"
-#: ../../include/widgets.php:1251
+#: ../../include/widgets.php:1250
msgid "Rating Tools"
msgstr "Bewertungswerkzeuge"
-#: ../../include/widgets.php:1255 ../../include/widgets.php:1257
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
msgid "Rate Me"
msgstr "Bewerte mich"
-#: ../../include/widgets.php:1260
+#: ../../include/widgets.php:1259
msgid "View Ratings"
msgstr "Bewertungen ansehen"
-#: ../../include/widgets.php:1317
+#: ../../include/widgets.php:1316
msgid "Forums"
msgstr "Foren"
-#: ../../include/widgets.php:1346
+#: ../../include/widgets.php:1345
msgid "Tasks"
msgstr "Aufgaben"
-#: ../../include/widgets.php:1355
+#: ../../include/widgets.php:1354
msgid "Documentation"
msgstr "Dokumentation"
-#: ../../include/widgets.php:1357
+#: ../../include/widgets.php:1356
msgid "Project/Site Information"
msgstr "Informationen über das Projekt und diesen Hub"
-#: ../../include/widgets.php:1358
+#: ../../include/widgets.php:1357
msgid "For Members"
msgstr "Für Mitglieder"
-#: ../../include/widgets.php:1359
+#: ../../include/widgets.php:1358
msgid "For Administrators"
msgstr "Für Administratoren"
-#: ../../include/widgets.php:1360
+#: ../../include/widgets.php:1359
msgid "For Developers"
msgstr "Für Entwickler"
-#: ../../include/widgets.php:1384
-msgid "Accounts"
-msgstr "Konten"
-
-#: ../../include/widgets.php:1384 ../../include/widgets.php:1422
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
msgid "Member registrations waiting for confirmation"
msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten"
-#: ../../include/widgets.php:1387 ../../include/apps.php:184
-msgid "Features"
-msgstr "Funktionen"
-
-#: ../../include/widgets.php:1390
+#: ../../include/widgets.php:1389
msgid "Inspect queue"
msgstr "Warteschlange kontrollieren"
-#: ../../include/widgets.php:1392
+#: ../../include/widgets.php:1391
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../include/widgets.php:1417 ../../include/nav.php:216
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
msgid "Admin"
msgstr "Administration"
-#: ../../include/widgets.php:1418
+#: ../../include/widgets.php:1417
msgid "Plugin Features"
msgstr "Plug-In Funktionen"
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$ss Lesezeichen"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Der Kanal ist auf dieser Seite blockiert "
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Der Chatraum hat keinen Namen"
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Adresse des Kanals fehlt."
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Name des Chatraums bereits vergeben"
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "Antwort des entfernten Kanals war unvollständig."
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Ungültiger Raumbezeichner."
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanal wurde gelöscht und existiert nicht mehr."
-#: ../../include/chat.php:122
-msgid "Room not found."
-msgstr "Chatraum konnte nicht gefunden werden."
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protokoll deaktiviert."
-#: ../../include/chat.php:143
-msgid "Room is full"
-msgstr "Der Chatraum ist voll"
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "Kanalsuche fehlgeschlagen"
-#: ../../include/identity.php:32
-msgid "Unable to obtain identity information from database"
-msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr "Namensfeld leer"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$ss Lesezeichen"
-#: ../../include/identity.php:69
-msgid "Name too long"
-msgstr "Name ist zu lang"
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Öffentliche Zeitleiste"
-#: ../../include/identity.php:180
-msgid "No account identifier"
-msgstr "Keine Account-Kennung"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Bild/Foto"
-#: ../../include/identity.php:192
-msgid "Nickname is required."
-msgstr "Spitzname ist erforderlich."
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Verschlüsselter Inhalt"
-#: ../../include/identity.php:206
-msgid "Reserved nickname. Please choose another."
-msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Element %s installieren: "
-#: ../../include/identity.php:211
+#: ../../include/bbcode.php:182
+#, php-format
msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-
-#: ../../include/identity.php:287
-msgid "Unable to retrieve created identity"
-msgstr "Kann die erstellte Identität nicht empfangen"
-
-#: ../../include/identity.php:345
-msgid "Default Profile"
-msgstr "Standard-Profil"
-
-#: ../../include/identity.php:791
-msgid "Requested channel is not available."
-msgstr "Angeforderte Kanal nicht verfügbar."
-
-#: ../../include/identity.php:938
-msgid "Create New Profile"
-msgstr "Neues Profil erstellen"
-
-#: ../../include/identity.php:941 ../../include/nav.php:90
-msgid "Edit Profile"
-msgstr "Profile bearbeiten"
-
-#: ../../include/identity.php:958
-msgid "Visible to everybody"
-msgstr "Für jeden sichtbar"
-
-#: ../../include/identity.php:1033 ../../include/identity.php:1288
-msgid "Gender:"
-msgstr "Geschlecht:"
-
-#: ../../include/identity.php:1034 ../../include/identity.php:1332
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../include/identity.php:1035 ../../include/identity.php:1343
-msgid "Homepage:"
-msgstr "Homepage:"
-
-#: ../../include/identity.php:1036
-msgid "Online Now"
-msgstr "gerade online"
-
-#: ../../include/identity.php:1124 ../../include/identity.php:1200
-msgid "F d"
-msgstr "d. F"
-
-#: ../../include/identity.php:1180
-msgid "Birthday Reminders"
-msgstr "Geburtstags Erinnerungen"
-
-#: ../../include/identity.php:1181
-msgid "Birthdays this week:"
-msgstr "Geburtstage in dieser Woche:"
-
-#: ../../include/identity.php:1232
-msgid "[No description]"
-msgstr "[Keine Beschreibung]"
-
-#: ../../include/identity.php:1250
-msgid "Event Reminders"
-msgstr "Termin-Erinnerungen"
-
-#: ../../include/identity.php:1251
-msgid "Events this week:"
-msgstr "Termine in dieser Woche:"
-
-#: ../../include/identity.php:1293
-msgid "Like this channel"
-msgstr "Dieser Kanal gefällt mir"
-
-#: ../../include/identity.php:1317
-msgid "j F, Y"
-msgstr "j. F Y"
-
-#: ../../include/identity.php:1318
-msgid "j F"
-msgstr "j. F"
-
-#: ../../include/identity.php:1325
-msgid "Birthday:"
-msgstr "Geburtstag:"
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren."
-#: ../../include/identity.php:1338
+#: ../../include/bbcode.php:254
#, php-format
-msgid "for %1$d %2$s"
-msgstr "seit %1$d %2$s"
-
-#: ../../include/identity.php:1341
-msgid "Sexual Preference:"
-msgstr "Sexuelle Orientierung:"
-
-#: ../../include/identity.php:1347
-msgid "Tags:"
-msgstr "Schlagworte:"
-
-#: ../../include/identity.php:1349
-msgid "Political Views:"
-msgstr "Politische Ansichten:"
-
-#: ../../include/identity.php:1351
-msgid "Religion:"
-msgstr "Religion:"
-
-#: ../../include/identity.php:1355
-msgid "Hobbies/Interests:"
-msgstr "Hobbys/Interessen:"
-
-#: ../../include/identity.php:1357
-msgid "Likes:"
-msgstr "Gefällt:"
-
-#: ../../include/identity.php:1359
-msgid "Dislikes:"
-msgstr "Gefällt nicht:"
-
-#: ../../include/identity.php:1361
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformation und soziale Netzwerke:"
-
-#: ../../include/identity.php:1363
-msgid "My other channels:"
-msgstr "Meine anderen Kanäle:"
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schrieb den folgenden %2$s %3$s"
-#: ../../include/identity.php:1365
-msgid "Musical interests:"
-msgstr "Musikalische Interessen:"
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Klicke zum Öffnen/Schließen"
-#: ../../include/identity.php:1367
-msgid "Books, literature:"
-msgstr "Bücher, Literatur:"
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr "Spoiler"
-#: ../../include/identity.php:1369
-msgid "Television:"
-msgstr "Fernsehen:"
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
-#: ../../include/identity.php:1371
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/Tanz/Kultur/Unterhaltung:"
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 schrieb:"
-#: ../../include/identity.php:1373
-msgid "Love/Romance:"
-msgstr "Liebe/Romantik:"
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Verzeichnisoptionen"
-#: ../../include/identity.php:1375
-msgid "Work/employment:"
-msgstr "Arbeit/Anstellung:"
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Sicherer Modus"
-#: ../../include/identity.php:1377
-msgid "School/education:"
-msgstr "Schule/Ausbildung:"
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Nur öffentliche Foren"
-#: ../../include/identity.php:1397
-msgid "Like this thing"
-msgstr "Gefällt mir"
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Nur dieser Hub"
#: ../../include/security.php:383
msgid ""
@@ -7165,38 +7589,7 @@ msgid ""
"form has been opened for too long (>3 hours) before submitting it."
msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
-#: ../../include/photos.php:112
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bild überschreitet das Webseitenlimit von %lu Bytes"
-
-#: ../../include/photos.php:119
-msgid "Image file is empty."
-msgstr "Bilddatei ist leer."
-
-#: ../../include/photos.php:257
-msgid "Photo storage failed."
-msgstr "Fotospeicherung fehlgeschlagen."
-
-#: ../../include/photos.php:297
-msgid "a new photo"
-msgstr "ein neues Foto"
-
-#: ../../include/photos.php:301
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s hat %2$s auf %3$s veröffentlicht"
-
-#: ../../include/photos.php:506 ../../include/conversation.php:1641
-msgid "Photo Albums"
-msgstr "Fotoalben"
-
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Neue Fotos hochladen"
-
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1628
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
msgid "Logout"
msgstr "Abmelden"
@@ -7220,6 +7613,10 @@ msgstr "Deine Profilseite"
msgid "Manage/Edit profiles"
msgstr "Profile verwalten"
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Profile bearbeiten"
+
#: ../../include/nav.php:90
msgid "Edit your profile"
msgstr "Profil bearbeiten"
@@ -7232,15 +7629,11 @@ msgstr "Deine Bilder"
msgid "Your files"
msgstr "Deine Dateien"
-#: ../../include/nav.php:96 ../../include/apps.php:178
-msgid "Chat"
-msgstr "Chat"
-
#: ../../include/nav.php:96
msgid "Your chatrooms"
msgstr "Deine Chaträume"
-#: ../../include/nav.php:102 ../../include/conversation.php:1682
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
msgid "Bookmarks"
msgstr "Lesezeichen"
@@ -7252,10 +7645,6 @@ msgstr "Deine Lesezeichen"
msgid "Your webpages"
msgstr "Deine Webseiten"
-#: ../../include/nav.php:110 ../../include/apps.php:163 ../../boot.php:1629
-msgid "Login"
-msgstr "Anmelden"
-
#: ../../include/nav.php:110
msgid "Sign in"
msgstr "Anmelden"
@@ -7293,18 +7682,10 @@ msgstr "Anwendungen (Apps), Zubehör, Links, Spiele"
msgid "Search site @name, #tag, ?docs, content"
msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt"
-#: ../../include/nav.php:167 ../../include/apps.php:173
-msgid "Directory"
-msgstr "Verzeichnis"
-
#: ../../include/nav.php:167
msgid "Channel Directory"
msgstr "Kanal-Verzeichnis"
-#: ../../include/nav.php:179 ../../include/apps.php:165
-msgid "Grid"
-msgstr "Grid"
-
#: ../../include/nav.php:179
msgid "Your grid"
msgstr "Dein Grid"
@@ -7313,10 +7694,6 @@ msgstr "Dein Grid"
msgid "Mark all grid notifications seen"
msgstr "Alle Grid-Benachrichtigungen als angesehen markieren"
-#: ../../include/nav.php:182 ../../include/apps.php:169
-msgid "Channel Home"
-msgstr "Mein Kanal"
-
#: ../../include/nav.php:182
msgid "Channel home"
msgstr "Mein Kanal"
@@ -7337,10 +7714,6 @@ msgstr "Benachrichtigungen"
msgid "See all notifications"
msgstr "Alle Benachrichtigungen ansehen"
-#: ../../include/nav.php:193 ../../include/apps.php:175
-msgid "Mail"
-msgstr "Mail"
-
#: ../../include/nav.php:193
msgid "Private mail"
msgstr "Persönliche Mail"
@@ -7353,11 +7726,6 @@ msgstr "Alle persönlichen Nachrichten ansehen"
msgid "Mark all private messages seen"
msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-#: ../../include/nav.php:201 ../../include/conversation.php:1655
-#: ../../include/conversation.php:1658 ../../include/apps.php:172
-msgid "Events"
-msgstr "Termine"
-
#: ../../include/nav.php:201
msgid "Event Calendar"
msgstr "Terminkalender"
@@ -7382,7 +7750,7 @@ msgstr "Konto-/Kanal-Einstellungen"
msgid "Site Setup and Configuration"
msgstr "Seiten-Einrichtung und -Konfiguration"
-#: ../../include/nav.php:247 ../../include/conversation.php:854
+#: ../../include/nav.php:247 ../../include/conversation.php:851
msgid "Loading..."
msgstr "Lädt ..."
@@ -7394,663 +7762,928 @@ msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt"
msgid "Please wait..."
msgstr "Bitte warten..."
-#: ../../include/contact_selectors.php:56
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Neues Fenster"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Benutzer '%s' gelöscht"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d Einladung verfügbar"
+msgstr[1] "%d Einladungen verfügbar"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Finde Kanäle"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Name oder Interessen eingeben"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Verbinden/Folgen"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Beispiele: Robert Morgenstein, Angeln"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Zufallsprofil"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Lade Freunde ein"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d gemeinsame Verbindung"
+msgstr[1] "%d gemeinsame Verbindungen"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mehr zeigen"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ist jetzt mit %2$s verbunden"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s stupste %2$s an"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "%ss Profil auf %s ansehen"
+
+#: ../../include/conversation.php:710
+msgid "Categories:"
+msgstr "Kategorien:"
+
+#: ../../include/conversation.php:711
+msgid "Filed under:"
+msgstr "Gespeichert unter:"
+
+#: ../../include/conversation.php:738
+msgid "View in context"
+msgstr "Im Zusammenhang anschauen"
+
+#: ../../include/conversation.php:847
+msgid "remove"
+msgstr "lösche"
+
+#: ../../include/conversation.php:852
+msgid "Delete Selected Items"
+msgstr "Lösche die ausgewählten Elemente"
+
+#: ../../include/conversation.php:948
+msgid "View Source"
+msgstr "Quelle anzeigen"
+
+#: ../../include/conversation.php:949
+msgid "Follow Thread"
+msgstr "Unterhaltung folgen"
+
+#: ../../include/conversation.php:950
+msgid "Unfollow Thread"
+msgstr "Unterhaltung nicht mehr folgen"
+
+#: ../../include/conversation.php:955
+msgid "Activity/Posts"
+msgstr "Aktivitäten/Beiträge"
+
+#: ../../include/conversation.php:957
+msgid "Edit Connection"
+msgstr "Verbindung bearbeiten"
+
+#: ../../include/conversation.php:958
+msgid "Message"
+msgstr "Nachricht"
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s likes this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
+
+#: ../../include/conversation.php:1081
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
+
+#: ../../include/conversation.php:1087
+msgid "and"
+msgstr "und"
+
+#: ../../include/conversation.php:1090
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ", und %d andere"
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s like this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s don't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1130
+msgid "Set your location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1131
+msgid "Clear browser location"
+msgstr "Browser-Standort löschen"
+
+#: ../../include/conversation.php:1177
+msgid "Tag term:"
+msgstr "Schlagwort:"
+
+#: ../../include/conversation.php:1178
+msgid "Where are you right now?"
+msgstr "Wo bist Du jetzt grade?"
+
+#: ../../include/conversation.php:1210
+msgid "Page link name"
+msgstr "Link zur Seite"
+
+#: ../../include/conversation.php:1213
+msgid "Post as"
+msgstr "Veröffentlichen als"
+
+#: ../../include/conversation.php:1223
+msgid "Toggle voting"
+msgstr "Umfragewerkzeug aktivieren"
+
+#: ../../include/conversation.php:1231
+msgid "Categories (optional, comma-separated list)"
+msgstr "Kategorien (optional, kommagetrennte Liste)"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Veröffentlichungsdatum festlegen"
+
+#: ../../include/conversation.php:1258
+msgid "OK"
+msgstr "Ok"
+
+#: ../../include/conversation.php:1503
+msgid "Discover"
+msgstr "Entdecken"
+
+#: ../../include/conversation.php:1506
+msgid "Imported public streams"
+msgstr "Importierte öffentliche Beiträge"
+
+#: ../../include/conversation.php:1511
+msgid "Commented Order"
+msgstr "Neueste Kommentare"
+
+#: ../../include/conversation.php:1514
+msgid "Sort by Comment Date"
+msgstr "Nach Kommentardatum sortiert"
+
+#: ../../include/conversation.php:1518
+msgid "Posted Order"
+msgstr "Neueste Beiträge"
+
+#: ../../include/conversation.php:1521
+msgid "Sort by Post Date"
+msgstr "Nach Beitragsdatum sortiert"
+
+#: ../../include/conversation.php:1529
+msgid "Posts that mention or involve you"
+msgstr "Beiträge mit Beteiligung Deinerseits"
+
+#: ../../include/conversation.php:1538
+msgid "Activity Stream - by date"
+msgstr "Activity Stream – nach Datum sortiert"
+
+#: ../../include/conversation.php:1544
+msgid "Starred"
+msgstr "Markiert"
+
+#: ../../include/conversation.php:1547
+msgid "Favourite Posts"
+msgstr "Markierte Beiträge"
+
+#: ../../include/conversation.php:1554
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1557
+msgid "Posts flagged as SPAM"
+msgstr "Nachrichten, die als SPAM markiert wurden"
+
+#: ../../include/conversation.php:1614
+msgid "Status Messages and Posts"
+msgstr "Statusnachrichten und Beiträge"
+
+#: ../../include/conversation.php:1623
+msgid "About"
+msgstr "Über"
+
+#: ../../include/conversation.php:1626
+msgid "Profile Details"
+msgstr "Profil-Details"
+
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Fotoalben"
+
+#: ../../include/conversation.php:1642
+msgid "Files and Storage"
+msgstr "Dateien und Speicher"
+
+#: ../../include/conversation.php:1678
+msgid "Saved Bookmarks"
+msgstr "Gespeicherte Lesezeichen"
+
+#: ../../include/conversation.php:1688
+msgid "Manage Webpages"
+msgstr "Webseiten verwalten"
+
+#: ../../include/conversation.php:1747
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Zusage"
+msgstr[1] "Zusagen"
+
+#: ../../include/conversation.php:1750
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Absage"
+msgstr[1] "Absagen"
+
+#: ../../include/conversation.php:1753
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] " Unentschlossen"
+msgstr[1] "Unentschlossene"
+
+#: ../../include/conversation.php:1756
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Zustimmung"
+msgstr[1] "Zustimmungen"
+
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Ablehnung"
+msgstr[1] "Ablehnungen"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Enthaltung"
+msgstr[1] "Enthaltungen"
+
+#: ../../include/selectors.php:30
msgid "Frequently"
msgstr "Häufig"
-#: ../../include/contact_selectors.php:57
+#: ../../include/selectors.php:31
msgid "Hourly"
msgstr "Stündlich"
-#: ../../include/contact_selectors.php:58
+#: ../../include/selectors.php:32
msgid "Twice daily"
msgstr "Zwei Mal am Tag"
-#: ../../include/contact_selectors.php:59
+#: ../../include/selectors.php:33
msgid "Daily"
msgstr "Täglich"
-#: ../../include/contact_selectors.php:60
+#: ../../include/selectors.php:34
msgid "Weekly"
msgstr "Wöchentlich"
-#: ../../include/contact_selectors.php:61
+#: ../../include/selectors.php:35
msgid "Monthly"
msgstr "Monatlich"
-#: ../../include/contact_selectors.php:76
-#: ../../include/contact_selectors.php:77
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "Momentan männlich"
-#: ../../include/contact_selectors.php:78
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "Momentan weiblich"
-#: ../../include/contact_selectors.php:79
-msgid "GNU-Social"
-msgstr "GNU-Social"
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "Größtenteils männlich"
-#: ../../include/contact_selectors.php:80
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "Größtenteils weiblich"
-#: ../../include/contact_selectors.php:82
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "Transsexuell"
-#: ../../include/contact_selectors.php:83
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "Zwischengeschlechtlich"
-#: ../../include/contact_selectors.php:84
-msgid "Zot"
-msgstr "Zot!"
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "Transsexuell"
-#: ../../include/contact_selectors.php:85
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "Zwitter"
-#: ../../include/contact_selectors.php:86
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "Geschlechtslos"
-#: ../../include/contact_selectors.php:87
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr "unklar"
-#: ../../include/auth.php:105
-msgid "Logged out."
-msgstr "Ausgeloggt."
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "Andere"
-#: ../../include/auth.php:212
-msgid "Failed authentication"
-msgstr "Authentifizierung fehlgeschlagen"
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "Unentschieden"
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
-msgstr "Beitrag wurde nicht gefunden."
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "Männer"
-#: ../../include/attach.php:497
-msgid "No source file."
-msgstr "Keine Quelldatei."
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "Frauen"
-#: ../../include/attach.php:519
-msgid "Cannot locate file to replace"
-msgstr "Kann Datei zum Ersetzen nicht finden"
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "Schwul"
-#: ../../include/attach.php:537
-msgid "Cannot locate file to revise/update"
-msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "Lesbisch"
-#: ../../include/attach.php:672
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Datei überschreitet das Größen-Limit von %d"
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "Keine Bevorzugung"
-#: ../../include/attach.php:686
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "Bisexuell"
-#: ../../include/attach.php:842
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "Autosexuell"
-#: ../../include/attach.php:855
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "Enthaltsam"
-#: ../../include/attach.php:909 ../../include/attach.php:925
-msgid "Path not available."
-msgstr "Pfad nicht verfügbar."
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "Jungfräulich"
-#: ../../include/attach.php:971 ../../include/attach.php:1123
-msgid "Empty pathname"
-msgstr "Leere Pfadangabe"
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "Abweichend"
-#: ../../include/attach.php:997
-msgid "duplicate filename or path"
-msgstr "doppelter Dateiname oder Pfad"
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "Fetisch"
-#: ../../include/attach.php:1019
-msgid "Path not found."
-msgstr "Pfad nicht gefunden."
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "Unmengen"
-#: ../../include/attach.php:1077
-msgid "mkdir failed."
-msgstr "mkdir fehlgeschlagen."
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "Sexlos"
-#: ../../include/attach.php:1081
-msgid "database storage failed."
-msgstr "Speichern in der Datenbank fehlgeschlagen."
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "Single"
-#: ../../include/attach.php:1129
-msgid "Empty path"
-msgstr "Leere Pfadangabe"
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "Einsam"
-#: ../../include/datetime.php:136
-msgid "Birthday"
-msgstr "Geburtstag"
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "Verfügbar"
-#: ../../include/datetime.php:138
-msgid "Age: "
-msgstr "Alter:"
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "Nicht verfügbar"
-#: ../../include/datetime.php:140
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "JJJJ-MM-TT oder MM-TT"
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr "Verguckt"
-#: ../../include/datetime.php:273 ../../boot.php:2399
-msgid "never"
-msgstr "Nie"
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "Verknallt"
-#: ../../include/datetime.php:279
-msgid "less than a second ago"
-msgstr "Vor weniger als einer Sekunde"
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr "Lerne gerade jemanden kennen"
-#: ../../include/datetime.php:297
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "vor %1$d %2$s"
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "Treulos"
-#: ../../include/datetime.php:308
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "Jahr"
-msgstr[1] "Jahre"
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "Sexabhängig"
-#: ../../include/datetime.php:311
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "Monat"
-msgstr[1] "Monate"
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr "Freunde/Begünstigte"
-#: ../../include/datetime.php:314
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "Woche"
-msgstr[1] "Wochen"
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "Lose"
-#: ../../include/datetime.php:317
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "Tag"
-msgstr[1] "Tage"
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "Verlobt"
-#: ../../include/datetime.php:320
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "Stunde"
-msgstr[1] "Stunden"
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "Verheiratet"
-#: ../../include/datetime.php:323
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "Minute"
-msgstr[1] "Minuten"
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "Gewissermaßen verheiratet"
-#: ../../include/datetime.php:326
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "Sekunde"
-msgstr[1] "Sekunden"
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr "Partner"
-#: ../../include/datetime.php:563
-#, php-format
-msgid "%1$s's birthday"
-msgstr "%1$ss Geburtstag"
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "Lebensgemeinschaft"
-#: ../../include/datetime.php:564
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Alles Gute zum Geburtstag, %1$s"
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr "Informelle Ehe"
-#: ../../include/dir_fns.php:139
-msgid "Directory Options"
-msgstr "Verzeichnisoptionen"
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "Glücklich"
-#: ../../include/dir_fns.php:141
-msgid "Safe Mode"
-msgstr "Sicherer Modus"
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "Nicht Ausschau haltend"
-#: ../../include/dir_fns.php:142
-msgid "Public Forums Only"
-msgstr "Nur öffentliche Foren"
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "Swinger"
-#: ../../include/dir_fns.php:143
-msgid "This Website Only"
-msgstr "Nur dieser Hub"
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "Betrogen"
-#: ../../include/enotify.php:57 ../../include/network.php:1831
-msgid "$Projectname Notification"
-msgstr "$Projectname-Benachrichtigung"
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "Getrennt"
-#: ../../include/enotify.php:58 ../../include/network.php:1832
-msgid "$projectname"
-msgstr "$projectname"
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "Labil"
-#: ../../include/enotify.php:60 ../../include/network.php:1834
-msgid "Thank You,"
-msgstr "Danke."
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "Geschieden"
-#: ../../include/enotify.php:62 ../../include/network.php:1836
-#, php-format
-msgid "%s Administrator"
-msgstr "der Administrator von %s"
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "Gewissermaßen geschieden"
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "Verwitwet"
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Benachrichtigung] Neue Mail empfangen auf %s"
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr "Ungewiss"
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "Es ist kompliziert"
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s hat Dir %2$s geschickt."
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "Interessiert mich nicht"
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "eine private Nachricht"
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "Frag mich mal"
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen"
-#: ../../include/enotify.php:160
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert"
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "Nur ich"
-#: ../../include/enotify.php:168
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Öffentlich"
-#: ../../include/enotify.php:177
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr "Jeder innerhalb des $Projectname Netzwerks"
-#: ../../include/enotify.php:188
+#: ../../include/PermissionDescription.php:118
#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
+msgid "Any account on %s"
+msgstr "Jedes Nutzerkonto auf %s"
-#: ../../include/enotify.php:189
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "Alle meine Verbindungen"
-#: ../../include/enotify.php:192 ../../include/enotify.php:207
-#: ../../include/enotify.php:233 ../../include/enotify.php:251
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "Nur Verbindungen, denen ich es explizit erlaube"
-#: ../../include/enotify.php:198
-#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Benachrichtigung] %s schrieb auf Deine Pinnwand"
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)"
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Alle Verbindungen einschließlich der noch nicht bestätigten"
-#: ../../include/enotify.php:202
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream)."
-#: ../../include/enotify.php:226
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Benachrichtigung] %s hat Dich erwähnt"
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils."
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen."
-#: ../../include/enotify.php:228
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos."
-#: ../../include/enotify.php:240
-#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Benachrichtigung] %1$s hat Dich angestupst"
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten."
-#: ../../include/enotify.php:241
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Ungültige E-Mail-Adresse"
-#: ../../include/enotify.php:242
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt"
-#: ../../include/enotify.php:258
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
-#: ../../include/enotify.php:259
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "Eine Einladung wird benötigt."
-#: ../../include/enotify.php:260
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "Die Einladung konnte nicht bestätigt werden."
-#: ../../include/enotify.php:272
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Benachrichtigung] Vorstellung erhalten"
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Bitte gib die benötigten Informationen ein."
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Speichern der Nutzerkontodaten fehlgeschlagen."
-#: ../../include/enotify.php:274
+#: ../../include/account.php:249
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
+msgid "Registration confirmation for %s"
+msgstr "Registrierungsbestätigung für %s"
-#: ../../include/enotify.php:278 ../../include/enotify.php:297
+#: ../../include/account.php:315
#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kannst Dir das Profil unter %s ansehen"
+msgid "Registration request at %s"
+msgstr "Registrierungsanfrage auf %s"
-#: ../../include/enotify.php:280
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Administrator"
-#: ../../include/enotify.php:287
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Benachrichtigung] Freundschaftsvorschlag erhalten"
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "Dein Registrierungspasswort"
-#: ../../include/enotify.php:288
+#: ../../include/account.php:342 ../../include/account.php:402
#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
+msgid "Registration details for %s"
+msgstr "Registrierungsdetails für %s"
-#: ../../include/enotify.php:289
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Nutzerkonto bestätigt."
-#: ../../include/enotify.php:295
-msgid "Name:"
-msgstr "Name:"
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrierung für %s wurde widerrufen"
-#: ../../include/enotify.php:296
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Nutzerkonto wurde bestätigt. Bitte melde Dich an!"
-#: ../../include/enotify.php:299
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Klicke hier, um das Upgrade durchzuführen."
-#: ../../include/enotify.php:514
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Benachrichtigung]"
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Private Nachricht"
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Auswählen"
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "In Ordner speichern"
+#: ../../include/attach.php:497
+msgid "No source file."
+msgstr "Keine Quelldatei."
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Ich werde teilnehmen"
+#: ../../include/attach.php:519
+msgid "Cannot locate file to replace"
+msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "Ich werde nicht teilnehmen"
+#: ../../include/attach.php:537
+msgid "Cannot locate file to revise/update"
+msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Ich werde vielleicht teilnehmen"
+#: ../../include/attach.php:672
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "Ich stimme zu"
+#: ../../include/attach.php:686
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "Ich lehne ab"
+#: ../../include/attach.php:842
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "Ich enthalte mich"
+#: ../../include/attach.php:855
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Stern hinzufügen"
+#: ../../include/attach.php:909 ../../include/attach.php:925
+msgid "Path not available."
+msgstr "Pfad nicht verfügbar."
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Stern entfernen"
+#: ../../include/attach.php:971 ../../include/attach.php:1123
+msgid "Empty pathname"
+msgstr "Leere Pfadangabe"
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "Markierungsstatus (Stern) umschalten"
+#: ../../include/attach.php:997
+msgid "duplicate filename or path"
+msgstr "doppelter Dateiname oder Pfad"
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "markiert"
+#: ../../include/attach.php:1019
+msgid "Path not found."
+msgstr "Pfad nicht gefunden."
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Signatur überprüft"
+#: ../../include/attach.php:1077
+msgid "mkdir failed."
+msgstr "mkdir fehlgeschlagen."
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Signatur nicht korrekt"
+#: ../../include/attach.php:1081
+msgid "database storage failed."
+msgstr "Speichern in der Datenbank fehlgeschlagen."
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Tag hinzufügen"
+#: ../../include/attach.php:1129
+msgid "Empty path"
+msgstr "Leere Pfadangabe"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:316
-msgid "like"
-msgstr "mag"
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:317
-msgid "dislike"
-msgstr "verurteile"
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "Namensfeld leer"
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Teilen"
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "Name ist zu lang"
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "Teilen"
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "Keine Account-Kennung"
-#: ../../include/ItemObject.php:268
-msgid "Delivery Report"
-msgstr "Zustellungsbericht"
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "Spitzname ist erforderlich."
-#: ../../include/ItemObject.php:286
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d Kommentar"
-msgstr[1] "%d Kommentare"
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
-#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Schaue Dir %ss Profil an – %s"
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-#: ../../include/ItemObject.php:319
-msgid "to"
-msgstr "an"
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr "Kann die erstellte Identität nicht empfangen"
-#: ../../include/ItemObject.php:320
-msgid "via"
-msgstr "via"
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "Standard-Profil"
-#: ../../include/ItemObject.php:321
-msgid "Wall-to-Wall"
-msgstr "Wall-to-Wall"
+#: ../../include/channel.php:791
+msgid "Requested channel is not available."
+msgstr "Angeforderte Kanal nicht verfügbar."
-#: ../../include/ItemObject.php:322
-msgid "via Wall-To-Wall:"
-msgstr "via Wall-To-Wall:"
+#: ../../include/channel.php:938
+msgid "Create New Profile"
+msgstr "Neues Profil erstellen"
-#: ../../include/ItemObject.php:334 ../../include/conversation.php:719
-#, php-format
-msgid "from %s"
-msgstr "via %s"
+#: ../../include/channel.php:958
+msgid "Visible to everybody"
+msgstr "Für jeden sichtbar"
-#: ../../include/ItemObject.php:337 ../../include/conversation.php:722
-#, php-format
-msgid "last edited: %s"
-msgstr "zuletzt bearbeitet: %s"
+#: ../../include/channel.php:1031 ../../include/channel.php:1142
+msgid "Gender:"
+msgstr "Geschlecht:"
-#: ../../include/ItemObject.php:338 ../../include/conversation.php:723
-#, php-format
-msgid "Expires: %s"
-msgstr "Verfällt: %s"
+#: ../../include/channel.php:1032 ../../include/channel.php:1186
+msgid "Status:"
+msgstr "Status:"
-#: ../../include/ItemObject.php:362
-msgid "Save Bookmarks"
-msgstr "Favoriten speichern"
+#: ../../include/channel.php:1033 ../../include/channel.php:1197
+msgid "Homepage:"
+msgstr "Homepage:"
-#: ../../include/ItemObject.php:363
-msgid "Add to Calendar"
-msgstr "Zum Kalender hinzufügen"
+#: ../../include/channel.php:1034
+msgid "Online Now"
+msgstr "gerade online"
-#: ../../include/ItemObject.php:372
-msgid "Mark all seen"
-msgstr "Alle als gelesen markieren"
+#: ../../include/channel.php:1147
+msgid "Like this channel"
+msgstr "Dieser Kanal gefällt mir"
-#: ../../include/ItemObject.php:413 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] Alle anzeigen"
+#: ../../include/channel.php:1171
+msgid "j F, Y"
+msgstr "j. F Y"
-#: ../../include/ItemObject.php:704 ../../include/conversation.php:1221
-msgid "Bold"
-msgstr "Fett"
+#: ../../include/channel.php:1172
+msgid "j F"
+msgstr "j. F"
-#: ../../include/ItemObject.php:705 ../../include/conversation.php:1222
-msgid "Italic"
-msgstr "Kursiv"
+#: ../../include/channel.php:1179
+msgid "Birthday:"
+msgstr "Geburtstag:"
-#: ../../include/ItemObject.php:706 ../../include/conversation.php:1223
-msgid "Underline"
-msgstr "Unterstrichen"
+#: ../../include/channel.php:1192
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "seit %1$d %2$s"
-#: ../../include/ItemObject.php:707 ../../include/conversation.php:1224
-msgid "Quote"
-msgstr "Zitat"
+#: ../../include/channel.php:1195
+msgid "Sexual Preference:"
+msgstr "Sexuelle Orientierung:"
-#: ../../include/ItemObject.php:708 ../../include/conversation.php:1225
-msgid "Code"
-msgstr "Code"
+#: ../../include/channel.php:1201
+msgid "Tags:"
+msgstr "Schlagworte:"
-#: ../../include/ItemObject.php:709
-msgid "Image"
-msgstr "Bild"
+#: ../../include/channel.php:1203
+msgid "Political Views:"
+msgstr "Politische Ansichten:"
-#: ../../include/ItemObject.php:710
-msgid "Insert Link"
-msgstr "Link einfügen"
+#: ../../include/channel.php:1205
+msgid "Religion:"
+msgstr "Religion:"
-#: ../../include/ItemObject.php:711
-msgid "Video"
-msgstr "Video"
+#: ../../include/channel.php:1209
+msgid "Hobbies/Interests:"
+msgstr "Hobbys/Interessen:"
-#: ../../include/activities.php:42
-msgid " and "
-msgstr "und"
+#: ../../include/channel.php:1211
+msgid "Likes:"
+msgstr "Gefällt:"
-#: ../../include/activities.php:50
-msgid "public profile"
-msgstr "öffentliches Profil"
+#: ../../include/channel.php:1213
+msgid "Dislikes:"
+msgstr "Gefällt nicht:"
-#: ../../include/activities.php:59
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
+#: ../../include/channel.php:1215
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformation und soziale Netzwerke:"
-#: ../../include/activities.php:60
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besuche %1$s's %2$s"
+#: ../../include/channel.php:1217
+msgid "My other channels:"
+msgstr "Meine anderen Kanäle:"
-#: ../../include/activities.php:63
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
+#: ../../include/channel.php:1219
+msgid "Musical interests:"
+msgstr "Musikalische Interessen:"
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "Der Kanal ist auf dieser Seite blockiert "
+#: ../../include/channel.php:1221
+msgid "Books, literature:"
+msgstr "Bücher, Literatur:"
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Adresse des Kanals fehlt."
+#: ../../include/channel.php:1223
+msgid "Television:"
+msgstr "Fernsehen:"
-#: ../../include/follow.php:82
-msgid "Response from remote channel was incomplete."
-msgstr "Antwort des entfernten Kanals war unvollständig."
+#: ../../include/channel.php:1225
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/Tanz/Kultur/Unterhaltung:"
-#: ../../include/follow.php:99
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanal wurde gelöscht und existiert nicht mehr."
+#: ../../include/channel.php:1227
+msgid "Love/Romance:"
+msgstr "Liebe/Romantik:"
-#: ../../include/follow.php:155 ../../include/follow.php:191
-msgid "Protocol disabled."
-msgstr "Protokoll deaktiviert."
+#: ../../include/channel.php:1229
+msgid "Work/employment:"
+msgstr "Arbeit/Anstellung:"
-#: ../../include/follow.php:179
-msgid "Channel discovery failed."
-msgstr "Kanalsuche fehlgeschlagen"
+#: ../../include/channel.php:1231
+msgid "School/education:"
+msgstr "Schule/Ausbildung:"
-#: ../../include/follow.php:217
-msgid "Cannot connect to yourself."
-msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
+#: ../../include/channel.php:1251
+msgid "Like this thing"
+msgstr "Gefällt mir"
#: ../../include/features.php:48
msgid "General Features"
@@ -8275,10 +8908,6 @@ msgstr "Filter für Verbindungen"
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)"
-#: ../../include/features.php:89 ../../include/apps.php:162
-msgid "Suggest Channels"
-msgstr "Kanäle vorschlagen"
-
#: ../../include/features.php:89
msgid "Show channel suggestions"
msgstr "Kanalvorschläge anzeigen"
@@ -8304,850 +8933,201 @@ msgid "Add categories to your posts"
msgstr "Aktiviert Kategorien für Beiträge"
#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr "Emoji Reaktionen"
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr "Aktiviert Emoji-Reaktionen für Beiträge"
+
+#: ../../include/features.php:98
msgid "Ability to file posts under folders"
msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Dislike Posts"
msgstr "Gefällt-mir-nicht-Beiträge"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Ability to dislike posts/comments"
msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Star Posts"
msgstr "Beiträge mit Sternchen versehen"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Ability to mark special posts with a star indicator"
msgstr "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Tag Cloud"
msgstr "Schlagwort-Wolke"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Provide a personal tag cloud on your channel page"
msgstr "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite"
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Kein Empfänger angegeben"
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[no subject]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Kann Absender nicht bestimmen."
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Eingebetteter Inhalt"
-#: ../../include/network.php:659
-msgid "view full size"
-msgstr "In Vollbildansicht anschauen"
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Einbetten ausgeschaltet"
-#: ../../include/network.php:1879 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Administrator"
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "Wer kann das sehen?"
-#: ../../include/network.php:1893
-msgid "No Subject"
-msgstr "Kein Betreff"
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "Benutzerdefinierte Auswahl"
-#: ../../include/group.php:26
+#: ../../include/acl_selectors.php:273
msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen."
-
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Neue Verbindung zu dieser Gruppe hinzufügen"
-
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "Bearbeiten"
-
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Gruppe ändern"
-
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Gruppe hinzufügen"
-
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Kanäle, die in keiner Gruppe sind"
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen."
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:848
-#: ../../include/bbcode.php:851 ../../include/bbcode.php:856
-#: ../../include/bbcode.php:859 ../../include/bbcode.php:862
-#: ../../include/bbcode.php:865 ../../include/bbcode.php:870
-#: ../../include/bbcode.php:873 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:884
-#: ../../include/bbcode.php:887
-msgid "Image/photo"
-msgstr "Bild/Foto"
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Anzeigen"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:898
-msgid "Encrypted content"
-msgstr "Verschlüsselter Inhalt"
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "Nicht anzeigen"
-#: ../../include/bbcode.php:179
-#, php-format
-msgid "Install %s element: "
-msgstr "Element %s installieren: "
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Andere Netzwerke und Platformen"
-#: ../../include/bbcode.php:183
+#: ../../include/acl_selectors.php:311
#, php-format
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren."
-
-#: ../../include/bbcode.php:255
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schrieb den folgenden %2$s %3$s"
-
-#: ../../include/bbcode.php:333 ../../include/bbcode.php:341
-msgid "Click to open/close"
-msgstr "Klicke zum Öffnen/Schließen"
-
-#: ../../include/bbcode.php:341
-msgid "spoiler"
-msgstr "Spoiler"
-
-#: ../../include/bbcode.php:586
-msgid "Different viewers will see this text differently"
-msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
-
-#: ../../include/bbcode.php:836
-msgid "$1 wrote:"
-msgstr "$1 schrieb:"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ist jetzt mit %2$s verbunden"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s stupste %2$s an"
-
-#: ../../include/conversation.php:243 ../../include/text.php:1021
-#: ../../include/text.php:1026
-msgid "poked"
-msgstr "stupste"
-
-#: ../../include/conversation.php:691
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "%ss Profil auf %s ansehen"
-
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr "Kategorien:"
-
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr "Gespeichert unter:"
-
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr "Im Zusammenhang anschauen"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "lösche"
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Lösche die ausgewählten Elemente"
-
-#: ../../include/conversation.php:953
-msgid "View Source"
-msgstr "Quelle anzeigen"
-
-#: ../../include/conversation.php:954
-msgid "Follow Thread"
-msgstr "Unterhaltung folgen"
-
-#: ../../include/conversation.php:955
-msgid "Unfollow Thread"
-msgstr "Unterhaltung nicht mehr folgen"
-
-#: ../../include/conversation.php:960
-msgid "Activity/Posts"
-msgstr "Aktivitäten/Beiträge"
-
-#: ../../include/conversation.php:962
-msgid "Edit Connection"
-msgstr "Verbindung bearbeiten"
-
-#: ../../include/conversation.php:963
-msgid "Message"
-msgstr "Nachricht"
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s likes this."
-msgstr "%s gefällt das."
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s gefällt das nicht."
-
-#: ../../include/conversation.php:1084
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
-
-#: ../../include/conversation.php:1086
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
-
-#: ../../include/conversation.php:1092
-msgid "and"
-msgstr "und"
-
-#: ../../include/conversation.php:1095
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ", und %d andere"
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s like this."
-msgstr "%s gefällt das."
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s don't like this."
-msgstr "%s gefällt das nicht."
-
-#: ../../include/conversation.php:1136
-msgid "Set your location"
-msgstr "Standort"
-
-#: ../../include/conversation.php:1137
-msgid "Clear browser location"
-msgstr "Browser-Standort löschen"
-
-#: ../../include/conversation.php:1183
-msgid "Tag term:"
-msgstr "Schlagwort:"
-
-#: ../../include/conversation.php:1184
-msgid "Where are you right now?"
-msgstr "Wo bist Du jetzt grade?"
-
-#: ../../include/conversation.php:1216
-msgid "Page link name"
-msgstr "Link zur Seite"
-
-#: ../../include/conversation.php:1219
-msgid "Post as"
-msgstr "Veröffentlichen als"
-
-#: ../../include/conversation.php:1229
-msgid "Toggle voting"
-msgstr "Umfragewerkzeug aktivieren"
-
-#: ../../include/conversation.php:1237
-msgid "Categories (optional, comma-separated list)"
-msgstr "Kategorien (optional, kommagetrennte Liste)"
-
-#: ../../include/conversation.php:1260
-msgid "Set publish date"
-msgstr "Veröffentlichungsdatum festlegen"
-
-#: ../../include/conversation.php:1264
-msgid "OK"
-msgstr "Ok"
-
-#: ../../include/conversation.php:1509
-msgid "Discover"
-msgstr "Entdecken"
-
-#: ../../include/conversation.php:1512
-msgid "Imported public streams"
-msgstr "Importierte öffentliche Beiträge"
-
-#: ../../include/conversation.php:1517
-msgid "Commented Order"
-msgstr "Neueste Kommentare"
-
-#: ../../include/conversation.php:1520
-msgid "Sort by Comment Date"
-msgstr "Nach Kommentardatum sortiert"
-
-#: ../../include/conversation.php:1524
-msgid "Posted Order"
-msgstr "Neueste Beiträge"
-
-#: ../../include/conversation.php:1527
-msgid "Sort by Post Date"
-msgstr "Nach Beitragsdatum sortiert"
-
-#: ../../include/conversation.php:1535
-msgid "Posts that mention or involve you"
-msgstr "Beiträge mit Beteiligung Deinerseits"
-
-#: ../../include/conversation.php:1544
-msgid "Activity Stream - by date"
-msgstr "Activity Stream – nach Datum sortiert"
-
-#: ../../include/conversation.php:1550
-msgid "Starred"
-msgstr "Markiert"
-
-#: ../../include/conversation.php:1553
-msgid "Favourite Posts"
-msgstr "Markierte Beiträge"
-
-#: ../../include/conversation.php:1560
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../include/conversation.php:1563
-msgid "Posts flagged as SPAM"
-msgstr "Nachrichten, die als SPAM markiert wurden"
-
-#: ../../include/conversation.php:1620
-msgid "Status Messages and Posts"
-msgstr "Statusnachrichten und Beiträge"
-
-#: ../../include/conversation.php:1629
-msgid "About"
-msgstr "Über"
-
-#: ../../include/conversation.php:1632
-msgid "Profile Details"
-msgstr "Profil-Details"
-
-#: ../../include/conversation.php:1648
-msgid "Files and Storage"
-msgstr "Dateien und Speicher"
-
-#: ../../include/conversation.php:1685
-msgid "Saved Bookmarks"
-msgstr "Gespeicherte Lesezeichen"
-
-#: ../../include/conversation.php:1695
-msgid "Manage Webpages"
-msgstr "Webseiten verwalten"
-
-#: ../../include/conversation.php:1754
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Zusage"
-msgstr[1] "Zusagen"
-
-#: ../../include/conversation.php:1757
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Absage"
-msgstr[1] "Absagen"
-
-#: ../../include/conversation.php:1760
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] " Unentschlossen"
-msgstr[1] "Unentschlossene"
-
-#: ../../include/conversation.php:1763
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Zustimmung"
-msgstr[1] "Zustimmungen"
-
-#: ../../include/conversation.php:1766
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Ablehnung"
-msgstr[1] "Ablehnungen"
-
-#: ../../include/conversation.php:1769
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Enthaltung"
-msgstr[1] "Enthaltungen"
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann."
-#: ../../include/text.php:423
-msgid "prev"
-msgstr "vorherige"
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Ausgeloggt."
-#: ../../include/text.php:425
-msgid "first"
-msgstr "erste"
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Authentifizierung fehlgeschlagen"
-#: ../../include/text.php:454
-msgid "last"
-msgstr "letzte"
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Geburtstag"
-#: ../../include/text.php:457
-msgid "next"
-msgstr "nächste"
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Alter:"
-#: ../../include/text.php:467
-msgid "older"
-msgstr "älter"
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-TT oder MM-TT"
-#: ../../include/text.php:469
-msgid "newer"
-msgstr "neuer"
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "Nie"
-#: ../../include/text.php:851
-msgid "No connections"
-msgstr "Keine Verbindungen"
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "Vor weniger als einer Sekunde"
-#: ../../include/text.php:876
+#: ../../include/datetime.php:296
#, php-format
-msgid "View all %s connections"
-msgstr "Alle Verbindungen von %s anzeigen"
-
-#: ../../include/text.php:1021 ../../include/text.php:1026
-msgid "poke"
-msgstr "anstupsen"
-
-#: ../../include/text.php:1027
-msgid "ping"
-msgstr "anpingen"
-
-#: ../../include/text.php:1027
-msgid "pinged"
-msgstr "pingte"
-
-#: ../../include/text.php:1028
-msgid "prod"
-msgstr "knuffen"
-
-#: ../../include/text.php:1028
-msgid "prodded"
-msgstr "knuffte"
-
-#: ../../include/text.php:1029
-msgid "slap"
-msgstr "ohrfeigen"
-
-#: ../../include/text.php:1029
-msgid "slapped"
-msgstr "ohrfeigte"
-
-#: ../../include/text.php:1030
-msgid "finger"
-msgstr "befummeln"
-
-#: ../../include/text.php:1030
-msgid "fingered"
-msgstr "befummelte"
-
-#: ../../include/text.php:1031
-msgid "rebuff"
-msgstr "eine Abfuhr erteilen"
-
-#: ../../include/text.php:1031
-msgid "rebuffed"
-msgstr "zurückgewiesen"
-
-#: ../../include/text.php:1043
-msgid "happy"
-msgstr "glücklich"
-
-#: ../../include/text.php:1044
-msgid "sad"
-msgstr "traurig"
-
-#: ../../include/text.php:1045
-msgid "mellow"
-msgstr "sanft"
-
-#: ../../include/text.php:1046
-msgid "tired"
-msgstr "müde"
-
-#: ../../include/text.php:1047
-msgid "perky"
-msgstr "frech"
-
-#: ../../include/text.php:1048
-msgid "angry"
-msgstr "sauer"
-
-#: ../../include/text.php:1049
-msgid "stupefied"
-msgstr "verblüfft"
-
-#: ../../include/text.php:1050
-msgid "puzzled"
-msgstr "verwirrt"
-
-#: ../../include/text.php:1051
-msgid "interested"
-msgstr "interessiert"
-
-#: ../../include/text.php:1052
-msgid "bitter"
-msgstr "verbittert"
-
-#: ../../include/text.php:1053
-msgid "cheerful"
-msgstr "fröhlich"
-
-#: ../../include/text.php:1054
-msgid "alive"
-msgstr "lebendig"
-
-#: ../../include/text.php:1055
-msgid "annoyed"
-msgstr "verärgert"
-
-#: ../../include/text.php:1056
-msgid "anxious"
-msgstr "unruhig"
-
-#: ../../include/text.php:1057
-msgid "cranky"
-msgstr "schrullig"
-
-#: ../../include/text.php:1058
-msgid "disturbed"
-msgstr "verstört"
-
-#: ../../include/text.php:1059
-msgid "frustrated"
-msgstr "frustriert"
-
-#: ../../include/text.php:1060
-msgid "depressed"
-msgstr "deprimiert"
-
-#: ../../include/text.php:1061
-msgid "motivated"
-msgstr "motiviert"
-
-#: ../../include/text.php:1062
-msgid "relaxed"
-msgstr "entspannt"
-
-#: ../../include/text.php:1063
-msgid "surprised"
-msgstr "überrascht"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "Montag"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "Freitag"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "Samstag"
-
-#: ../../include/text.php:1235 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:45
-msgid "January"
-msgstr "Januar"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:46
-msgid "February"
-msgstr "Februar"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:47
-msgid "March"
-msgstr "März"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:48
-msgid "April"
-msgstr "April"
-
-#: ../../include/text.php:1239
-msgid "May"
-msgstr "Mai"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:50
-msgid "June"
-msgstr "Juni"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:51
-msgid "July"
-msgstr "Juli"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:52
-msgid "August"
-msgstr "August"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:53
-msgid "September"
-msgstr "September"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:54
-msgid "October"
-msgstr "Oktober"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:55
-msgid "November"
-msgstr "November"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:56
-msgid "December"
-msgstr "Dezember"
-
-#: ../../include/text.php:1316 ../../include/text.php:1320
-msgid "Unknown Attachment"
-msgstr "Unbekannter Anhang"
-
-#: ../../include/text.php:1322
-msgid "unknown"
-msgstr "unbekannt"
-
-#: ../../include/text.php:1358
-msgid "remove category"
-msgstr "Kategorie entfernen"
-
-#: ../../include/text.php:1435
-msgid "remove from file"
-msgstr "aus der Datei entfernen"
-
-#: ../../include/text.php:1764 ../../include/text.php:1836
-msgid "default"
-msgstr "Standard"
-
-#: ../../include/text.php:1772
-msgid "Page layout"
-msgstr "Seiten-Layout"
-
-#: ../../include/text.php:1772
-msgid "You can create your own with the layouts tool"
-msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen"
-
-#: ../../include/text.php:1814
-msgid "Page content type"
-msgstr "Art des Seiteninhalts"
-
-#: ../../include/text.php:1848
-msgid "Select an alternate language"
-msgstr "Wähle eine alternative Sprache"
-
-#: ../../include/text.php:1965
-msgid "activity"
-msgstr "Aktivität"
-
-#: ../../include/text.php:2274
-msgid "Design Tools"
-msgstr "Gestaltungswerkzeuge"
-
-#: ../../include/text.php:2280
-msgid "Pages"
-msgstr "Seiten"
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Ungültige E-Mail-Adresse"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Eine Einladung wird benötigt."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Die Einladung konnte nicht bestätigt werden."
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "vor %1$d %2$s"
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Bitte gib die benötigten Informationen ein."
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "Jahr"
+msgstr[1] "Jahre"
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Speichern der Nutzerkontodaten fehlgeschlagen."
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "Monat"
+msgstr[1] "Monate"
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrierungsbestätigung für %s"
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "Woche"
+msgstr[1] "Wochen"
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registrierungsanfrage auf %s"
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "Tag"
+msgstr[1] "Tage"
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "Dein Registrierungspasswort"
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "Stunde"
+msgstr[1] "Stunden"
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registrierungsdetails für %s"
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "Minute"
+msgstr[1] "Minuten"
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Nutzerkonto bestätigt."
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "Sekunde"
+msgstr[1] "Sekunden"
-#: ../../include/account.php:454
+#: ../../include/datetime.php:562
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrierung für %s wurde widerrufen"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Nutzerkonto wurde bestätigt. Bitte melde Dich an!"
-
-#: ../../include/account.php:722 ../../include/account.php:724
-msgid "Click here to upgrade."
-msgstr "Klicke hier, um das Upgrade durchzuführen."
-
-#: ../../include/account.php:730
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
-
-#: ../../include/account.php:735
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
-
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Schlagwörter"
-
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Schlüsselwörter"
-
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "habe"
-
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "hat"
-
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "will"
-
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "will"
-
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "gefällt"
-
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "missfällt"
-
-#: ../../include/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:236
-msgid "Visible to your default audience"
-msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen"
-
-#: ../../include/PermissionDescription.php:115
-#: ../../include/acl_selectors.php:272
-msgid "Only me"
-msgstr "Nur ich"
-
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
-msgstr "Öffentlich"
-
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
-msgstr "Jeder innerhalb des $Projectname Netzwerks"
+msgid "%1$s's birthday"
+msgstr "%1$ss Geburtstag"
-#: ../../include/PermissionDescription.php:118
+#: ../../include/datetime.php:563
#, php-format
-msgid "Any account on %s"
-msgstr "Jedes Nutzerkonto auf %s"
-
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
-msgstr "Alle meine Verbindungen"
-
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
-msgstr "Nur Verbindungen, denen ich es explizit erlaube"
-
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)"
-
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Alle Verbindungen einschließlich der noch nicht bestätigten"
+msgid "Happy Birthday %1$s"
+msgstr "Alles Gute zum Geburtstag, %1$s"
-#: ../../include/PermissionDescription.php:161
+#: ../../include/group.php:26
msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream)."
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen."
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils."
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Neue Verbindung zu dieser Gruppe hinzufügen"
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen."
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "Bearbeiten"
-#: ../../include/PermissionDescription.php:164
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos."
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Gruppe ändern"
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten."
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Gruppe hinzufügen"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Kanäle, die in keiner Gruppe sind"
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -9393,68 +9373,97 @@ msgctxt "calendar"
msgid "All day"
msgstr "Ganztägig"
-#: ../../include/import.php:27
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "In Vollbildansicht anschauen"
-#: ../../include/import.php:74
-msgid "Channel clone failed. Import failed."
-msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Kein Betreff"
-#: ../../include/items.php:890 ../../include/items.php:935
-msgid "(Unknown)"
-msgstr "(Unbekannt)"
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/items.php:1134
-msgid "Visible to anybody on the internet."
-msgstr "Für jeden im Internet sichtbar."
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/items.php:1136
-msgid "Visible to you only."
-msgstr "Nur für Dich sichtbar."
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr "GNU-Social"
-#: ../../include/items.php:1138
-msgid "Visible to anybody in this network."
-msgstr "Für jedes $Projectname-Mitglied sichtbar."
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/items.php:1140
-msgid "Visible to anybody authenticated."
-msgstr "Für jeden sichtbar, der angemeldet ist."
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/items.php:1142
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Für jeden auf %s sichtbar."
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/items.php:1144
-msgid "Visible to all connections."
-msgstr "Für alle Verbindungen sichtbar."
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot!"
-#: ../../include/items.php:1146
-msgid "Visible to approved connections."
-msgstr "Nur für akzeptierte Verbindungen sichtbar."
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/items.php:1148
-msgid "Visible to specific connections."
-msgstr "Sichtbar für bestimmte Verbindungen."
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/items.php:3910
-msgid "Privacy group is empty."
-msgstr "Gruppe ist leer."
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/items.php:3917
+#: ../../include/photos.php:110
#, php-format
-msgid "Privacy group: %s"
-msgstr "Gruppe: %s"
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bild überschreitet das Webseitenlimit von %lu Bytes"
-#: ../../include/items.php:3929
-msgid "Connection not found."
-msgstr "Die Verbindung wurde nicht gefunden."
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "Bilddatei ist leer."
-#: ../../include/items.php:4278
-msgid "profile photo"
-msgstr "Profilfoto"
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Fotospeicherung fehlgeschlagen."
+
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "ein neues Foto"
+
+#: ../../include/photos.php:299
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s hat %2$s auf %3$s veröffentlicht"
+
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Neue Fotos hochladen"
+
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Ungültiges Datenpaket"
+
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "Ungültige Signatur des Ziels"
#: ../../include/page_widgets.php:6
msgid "New Page"
@@ -9605,99 +9614,37 @@ msgstr "Speziell - Gruppenarchiv"
msgid "Custom/Expert Mode"
msgstr "Benutzerdefiniert/Expertenmodus"
-#: ../../include/apps.php:155
-msgid "Site Admin"
-msgstr "Hub-Administration"
-
-#: ../../include/apps.php:156
-msgid "Bug Report"
-msgstr "Fehler-Rückmeldung"
-
-#: ../../include/apps.php:157
-msgid "View Bookmarks"
-msgstr "Lesezeichen ansehen"
-
-#: ../../include/apps.php:158
-msgid "My Chatrooms"
-msgstr "Meine Chaträume"
-
-#: ../../include/apps.php:160
-msgid "Firefox Share"
-msgstr "Teilen-Knopf für Firefox"
-
-#: ../../include/apps.php:161
-msgid "Remote Diagnostics"
-msgstr "Ferndiagnose"
-
-#: ../../include/apps.php:180
-msgid "Probe"
-msgstr "Testen"
-
-#: ../../include/apps.php:181
-msgid "Suggest"
-msgstr "Empfehlen"
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "und"
-#: ../../include/apps.php:182
-msgid "Random Channel"
-msgstr "Zufälliger Kanal"
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "öffentliches Profil"
-#: ../../include/apps.php:183
-msgid "Invite"
-msgstr "Einladen"
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
-#: ../../include/apps.php:186
-msgid "Post"
-msgstr "Beitrag schreiben"
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besuche %1$s's %2$s"
-#: ../../include/apps.php:289
-msgid "Purchase"
-msgstr "Kaufen"
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
msgstr "Anhänge:"
-#: ../../include/bb2diaspora.php:489
+#: ../../include/bb2diaspora.php:487
msgid "$Projectname event notification:"
msgstr "$Projectname-Terminbenachrichtigung:"
-#: ../../include/acl_selectors.php:273
-msgid "Add others"
-msgstr "Andere hinzufügen"
-
-#: ../../include/acl_selectors.php:276
-msgid "Who can see this?"
-msgstr "Wer kann das sehen?"
-
-#: ../../include/acl_selectors.php:277
-msgid "Custom selection"
-msgstr "Benutzerdefinierte Auswahl"
-
-#: ../../include/acl_selectors.php:278
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen."
-
-#: ../../include/acl_selectors.php:279
-msgid "Show"
-msgstr "Anzeigen"
-
-#: ../../include/acl_selectors.php:280
-msgid "Don't show"
-msgstr "Nicht anzeigen"
-
-#: ../../include/acl_selectors.php:286
-msgid "Other networks and post services"
-msgstr "Andere Netzwerke und Platformen"
-
-#: ../../include/acl_selectors.php:316
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann."
-
#: ../../view/theme/redbasic/php/config.php:82
msgid "Focus (Hubzilla default)"
msgstr "Focus (Voreinstellung für Hubzilla)"
@@ -9834,62 +9781,62 @@ msgstr "Größe der Avatare von Themenstartern"
msgid "Set size of followup author photos"
msgstr "Größe der Avatare von Kommentatoren"
-#: ../../boot.php:1089
+#: ../../boot.php:1162
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Suche %1$s (%2$s)"
-#: ../../boot.php:1089
+#: ../../boot.php:1162
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1406
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
-#: ../../boot.php:1409
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Aktualisierungsfehler auf %s"
-#: ../../boot.php:1610
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Erstelle ein Konto, um Anwendungen und Dienste innerhalb von Hubzilla nutzen zu können."
-#: ../../boot.php:1632
+#: ../../boot.php:1706
msgid "Password"
msgstr "Kennwort"
-#: ../../boot.php:1633
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Angaben speichern"
-#: ../../boot.php:1636
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:2205
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "auf/von mobile Ansicht wechseln"
-#: ../../boot.php:2358
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben."
-#: ../../boot.php:2361
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Website-SSL-Fehler für %s"
-#: ../../boot.php:2398
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Cron-Aufgaben laufen nicht."
-#: ../../boot.php:2402
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-Aufgaben für %s laufen nicht"
diff --git a/view/de/hstrings.php b/view/de/hstrings.php
index fc15af0b7..eea433fac 100644
--- a/view/de/hstrings.php
+++ b/view/de/hstrings.php
@@ -29,6 +29,7 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "WARNUNG:";
App::$strings["Create new folder"] = "Neuen Ordner anlegen";
App::$strings["Upload file"] = "Datei hochladen";
+App::$strings["Permission denied"] = "Keine Berechtigung";
App::$strings["Permission denied."] = "Berechtigung verweigert.";
App::$strings["Not Found"] = "Nicht gefunden";
App::$strings["Page not found."] = "Seite nicht gefunden.";
@@ -36,286 +37,6 @@ App::$strings["Remote authentication blocked. You are logged into this site loca
App::$strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
App::$strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
App::$strings["Some blurb about what to do when you're new here"] = "Ein Hinweis, was man tun kann, wenn man neu hier ist";
-App::$strings["network"] = "Netzwerk";
-App::$strings["RSS"] = "RSS";
-App::$strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert.";
-App::$strings["Item not found."] = "Element nicht gefunden.";
-App::$strings["# Accounts"] = "Anzahl der Konten";
-App::$strings["# blocked accounts"] = "Anzahl der blockierten Konten";
-App::$strings["# expired accounts"] = "Anzahl der abgelaufenen Konten";
-App::$strings["# expiring accounts"] = "Anzahl der ablaufenden Konten";
-App::$strings["# Channels"] = "Anzahl der Kanäle";
-App::$strings["# primary"] = "Anzahl der primären Kanäle";
-App::$strings["# clones"] = "Anzahl der Klone";
-App::$strings["Message queues"] = "Nachrichten-Warteschlangen";
-App::$strings["Your software should be updated"] = "Die installierte Software sollte aktualisiert werden";
-App::$strings["Administration"] = "Administration";
-App::$strings["Summary"] = "Zusammenfassung";
-App::$strings["Registered accounts"] = "Registrierte Konten";
-App::$strings["Pending registrations"] = "Ausstehende Registrierungen";
-App::$strings["Registered channels"] = "Registrierte Kanäle";
-App::$strings["Active plugins"] = "Aktive Plug-Ins";
-App::$strings["Version"] = "Version";
-App::$strings["Repository version (master)"] = "Repository-Version (master)";
-App::$strings["Repository version (dev)"] = "Repository-Version (dev)";
-App::$strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
-App::$strings["Default"] = "Standard";
-App::$strings["mobile"] = "mobil";
-App::$strings["experimental"] = "experimentell";
-App::$strings["unsupported"] = "nicht unterstützt";
-App::$strings["No"] = "Nein";
-App::$strings["Yes - with approval"] = "Ja - mit Zustimmung";
-App::$strings["Yes"] = "Ja";
-App::$strings["My site is not a public server"] = "Mein Server ist kein öffentlicher Server";
-App::$strings["My site has paid access only"] = "Meine Seite hat nur bezahlten Zugriff";
-App::$strings["My site has free access only"] = "Meine Seite hat nur freien Zugriff";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades";
-App::$strings["Site"] = "Seite";
-App::$strings["Submit"] = "Bestätigen";
-App::$strings["Registration"] = "Registrierung";
-App::$strings["File upload"] = "Dateiupload";
-App::$strings["Policies"] = "Richtlinien";
-App::$strings["Advanced"] = "Fortgeschritten";
-App::$strings["Site name"] = "Seitenname";
-App::$strings["Banner/Logo"] = "Banner/Logo";
-App::$strings["Administrator Information"] = "Administrator-Informationen";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden.";
-App::$strings["System language"] = "System-Sprache";
-App::$strings["System theme"] = "System-Theme";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>";
-App::$strings["Mobile system theme"] = "Mobile System-Theme:";
-App::$strings["Theme for mobile devices"] = "Theme für mobile Geräte";
-App::$strings["Allow Feeds as Connections"] = "Feeds als Verbindungen erlauben";
-App::$strings["(Heavy system resource usage)"] = "(führt zu hoher Systemlast)";
-App::$strings["Maximum image size"] = "Maximale Bildgröße";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung).";
-App::$strings["Does this site allow new member registration?"] = "Erlaubt dieser Server die Registrierung neuer Nutzer?";
-App::$strings["Invitation only"] = "Nur mit Einladung";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden.";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
-App::$strings["Register text"] = "Registrierungstext";
-App::$strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen.";
-App::$strings["Preserve site homepage URL"] = "Homepage-URL schützen";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten.";
-App::$strings["Accounts abandoned after x days"] = "Konten gelten nach X Tagen als unbenutzt";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit.";
-App::$strings["Allowed friend domains"] = "Erlaubte Domains für Kontakte";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
-App::$strings["Allowed email domains"] = "Erlaubte Domains für E-Mails";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
-App::$strings["Not allowed email domains"] = "Nicht erlaubte Domains für E-Mails";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde.";
-App::$strings["Verify Email Addresses"] = "E-Mail-Adressen überprüfen";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen).";
-App::$strings["Force publish"] = "Veröffentlichung erzwingen";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
-App::$strings["Import Public Streams"] = "Öffentliche Beiträge importieren";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert.";
-App::$strings["Login on Homepage"] = "Log-in auf der Startseite";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
-App::$strings["Enable context help"] = "Kontext-Hilfe aktivieren";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird.";
-App::$strings["Directory Server URL"] = "Verzeichnisserver-URL";
-App::$strings["Default directory server"] = "Standard-Verzeichnisserver";
-App::$strings["Proxy user"] = "Proxy Benutzer";
-App::$strings["Proxy URL"] = "Proxy URL";
-App::$strings["Network timeout"] = "Netzwerk-Timeout";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen).";
-App::$strings["Delivery interval"] = "Auslieferung Intervall";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server.";
-App::$strings["Deliveries per process"] = "Zustellungen pro Prozess";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5.";
-App::$strings["Poll interval"] = "Abfrageintervall";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet.";
-App::$strings["Maximum Load Average"] = "Maximales Load Average";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen";
-App::$strings["0 for no expiration of imported content"] = "0 = keine Löschung importierter Inhalte";
-App::$strings["Off"] = "Aus";
-App::$strings["On"] = "An";
-App::$strings["Lock feature %s"] = "Blockiere die Funktion %s";
-App::$strings["Manage Additional Features"] = "Zusätzliche Funktionen verwalten";
-App::$strings["No server found"] = "Kein Server gefunden";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "für Kanal";
-App::$strings["on server"] = "auf Server";
-App::$strings["Status"] = "Status";
-App::$strings["Server"] = "Server";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert.";
-App::$strings["Security"] = "Sicherheit";
-App::$strings["Block public"] = "Öffentlichen Zugriff blockieren";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Setze den \"Transport Security\" HTTP Header";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Setze den \"Content Security Policy\" HTTP Header";
-App::$strings["Allow communications only from these sites"] = "Kommunikation nur von diesen Seiten erlauben";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben.";
-App::$strings["Block communications from these sites"] = "Kommunikation von diesen Seiten blockieren";
-App::$strings["Allow communications only from these channels"] = "Kommunikation nur von diesen Kanälen erlauben";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. ";
-App::$strings["Block communications from these channels"] = "Kommunikation von folgenden Kanälen blockieren";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links.";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains";
-App::$strings["One site per line. By default embedded content is filtered."] = "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert.";
-App::$strings["Block embedded HTML from these domains"] = "Eingebettete HTML Inhalte von diesen Seiten blockieren";
-App::$strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
-App::$strings["Executing %s failed. Check system logs."] = "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle.";
-App::$strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt.";
-App::$strings["Update function %s could not be found."] = "Update-Funktion %s konnte nicht gefunden werden.";
-App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
-App::$strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
-App::$strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
-App::$strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
-App::$strings["Queue Statistics"] = "Warteschlangenstatistiken";
-App::$strings["Total Entries"] = "Einträge insgesamt";
-App::$strings["Priority"] = "Priorität";
-App::$strings["Destination URL"] = "Ziel-URL";
-App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markieren";
-App::$strings["Empty queue for this hub"] = "Warteschlange für diesen Hub leeren";
-App::$strings["Last known contact"] = "Letzter Kontakt";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s Konto blockiert/freigegeben",
- 1 => "%s Konten blockiert/freigegeben",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s Konto gelöscht",
- 1 => "%s Konten gelöscht",
-);
-App::$strings["Account not found"] = "Konto nicht gefunden";
-App::$strings["Account '%s' deleted"] = "Konto '%s' gelöscht";
-App::$strings["Account '%s' blocked"] = "Konto '%s' blockiert";
-App::$strings["Account '%s' unblocked"] = "Konto '%s' freigegeben";
-App::$strings["Users"] = "Benutzer";
-App::$strings["select all"] = "Alle auswählen";
-App::$strings["User registrations waiting for confirm"] = "Neuanmeldungen, die auf Deine Bestätigung warten";
-App::$strings["Request date"] = "Antragsdatum";
-App::$strings["Email"] = "E-Mail";
-App::$strings["No registrations."] = "Keine Registrierungen.";
-App::$strings["Approve"] = "Genehmigen";
-App::$strings["Deny"] = "Verweigern";
-App::$strings["Block"] = "Blockieren";
-App::$strings["Unblock"] = "Freigeben";
-App::$strings["All Channels"] = "Alle Kanäle";
-App::$strings["Register date"] = "Registrierungs-Datum";
-App::$strings["Last login"] = "Letzte Anmeldung";
-App::$strings["Expires"] = "Verfällt";
-App::$strings["Service Class"] = "Service-Klasse";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?";
-App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s Kanal gesperrt/freigegeben",
- 1 => "%s Kanäle gesperrt/freigegeben",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "Code für %s Kanal gesperrt/freigegeben",
- 1 => "Code für %s Kanäle gesperrt/freigegeben",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s Kanal gelöscht",
- 1 => "%s Kanäle gelöscht",
-);
-App::$strings["Channel not found"] = "Kanal nicht gefunden";
-App::$strings["Channel '%s' deleted"] = "Kanal '%s' gelöscht";
-App::$strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
-App::$strings["Channel '%s' uncensored"] = "Kanal '%s' freigegeben";
-App::$strings["Channel '%s' code allowed"] = "Code für Kanal '%s' freigegeben";
-App::$strings["Channel '%s' code disallowed"] = "Code für Kanal '%s' gesperrt";
-App::$strings["Channels"] = "Kanäle";
-App::$strings["Censor"] = "Sperren";
-App::$strings["Uncensor"] = "Freigeben";
-App::$strings["Allow Code"] = "Code erlauben";
-App::$strings["Disallow Code"] = "Code sperren";
-App::$strings["Channel"] = "Kanal";
-App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Adresse";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
-App::$strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
-App::$strings["Plugin %s enabled."] = "Plug-In %s aktiviert.";
-App::$strings["Disable"] = "Deaktivieren";
-App::$strings["Enable"] = "Aktivieren";
-App::$strings["Plugins"] = "Plug-Ins";
-App::$strings["Toggle"] = "Umschalten";
-App::$strings["Settings"] = "Einstellungen";
-App::$strings["Author: "] = "Autor: ";
-App::$strings["Maintainer: "] = "Betreuer:";
-App::$strings["Minimum project version: "] = "Minimale Version des Projekts:";
-App::$strings["Maximum project version: "] = "Maximale Version des Projekts:";
-App::$strings["Minimum PHP version: "] = "Minimale PHP Version:";
-App::$strings["Requires: "] = "Benötigt:";
-App::$strings["Disabled - version incompatibility"] = "Abgeschaltet - Versionsinkompatibilität";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Gib die öffentliche Git-Repository-URL des Plugin-Repository an.";
-App::$strings["Plugin repo git URL"] = "Plugin-Repository Git URL";
-App::$strings["Custom repo name"] = "Benutzerdefinierter Repository-Name";
-App::$strings["(optional)"] = "(optional)";
-App::$strings["Download Plugin Repo"] = "Plugin-Repository herunterladen";
-App::$strings["Install new repo"] = "Neues Repository installieren";
-App::$strings["Install"] = "Installieren";
-App::$strings["Cancel"] = "Abbrechen";
-App::$strings["Manage Repos"] = "Repositorien verwalten";
-App::$strings["Installed Plugin Repositories"] = "Installierte Plugin-Repositorien";
-App::$strings["Install a New Plugin Repository"] = "Ein neues Plugin-Repository installieren";
-App::$strings["Update"] = "Aktualisieren";
-App::$strings["Switch branch"] = "Zweig/Branch wechseln";
-App::$strings["Remove"] = "Entfernen";
-App::$strings["No themes found."] = "Keine Theme gefunden.";
-App::$strings["Screenshot"] = "Bildschirmfoto";
-App::$strings["Themes"] = "Themes";
-App::$strings["[Experimental]"] = "[Experimentell]";
-App::$strings["[Unsupported]"] = "[Nicht unterstützt]";
-App::$strings["Log settings updated."] = "Protokoll-Einstellungen aktualisiert.";
-App::$strings["Logs"] = "Protokolle";
-App::$strings["Clear"] = "Leeren";
-App::$strings["Debugging"] = "Debugging";
-App::$strings["Log file"] = "Protokolldatei";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Muss für den Webserver schreibbar sein. Relativ zum \$Projectname-Stammverzeichnis.";
-App::$strings["Log level"] = "Protokollstufe";
-App::$strings["New Profile Field"] = "Neues Profilfeld";
-App::$strings["Field nickname"] = "Kurzname für das Feld";
-App::$strings["System name of field"] = "Systemname des Feldes";
-App::$strings["Input type"] = "Art des Inhalts";
-App::$strings["Field Name"] = "Feldname";
-App::$strings["Label on profile pages"] = "Bezeichnung auf Profilseiten";
-App::$strings["Help text"] = "Hilfetext";
-App::$strings["Additional info (optional)"] = "Zusätzliche Informationen (optional)";
-App::$strings["Save"] = "Speichern";
-App::$strings["Field definition not found"] = "Feld-Definition nicht gefunden";
-App::$strings["Edit Profile Field"] = "Profilfeld bearbeiten";
-App::$strings["Profile Fields"] = "Profil Felder";
-App::$strings["Basic Profile Fields"] = "Notwendige Profil Felder";
-App::$strings["Advanced Profile Fields"] = "Erweiterte Profil Felder";
-App::$strings["(In addition to basic fields)"] = "(zusätzlich zu notwendige Felder)";
-App::$strings["All available fields"] = "Alle verfügbaren Felder";
-App::$strings["Custom Fields"] = "Benutzerdefinierte Felder";
-App::$strings["Create Custom Field"] = "Erstelle benutzerdefiniertes Feld";
-App::$strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
-App::$strings["Return to your app and insert this Securty Code:"] = "Trage folgenden Sicherheitscode in der Anwendung ein:";
-App::$strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
-App::$strings["App installed."] = "App installiert.";
-App::$strings["Malformed app."] = "Fehlerhafte App.";
-App::$strings["Embed code"] = "Code einbetten";
-App::$strings["Edit App"] = "App bearbeiten";
-App::$strings["Create App"] = "App erstellen";
-App::$strings["Name of app"] = "Name der App";
-App::$strings["Required"] = "Benötigt";
-App::$strings["Location (URL) of app"] = "Ort (URL) der App";
-App::$strings["Description"] = "Beschreibung";
-App::$strings["Photo icon URL"] = "URL zum Icon";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
-App::$strings["Categories (optional, comma separated list)"] = "Kategorien (optional, kommagetrennte Liste)";
-App::$strings["Version ID"] = "Versions-ID";
-App::$strings["Price of app"] = "Preis der App";
-App::$strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
-App::$strings["Apps"] = "Apps";
-App::$strings["Item not available."] = "Element nicht verfügbar.";
-App::$strings["Invalid item."] = "Ungültiges Element.";
-App::$strings["Channel not found."] = "Kanal nicht gefunden.";
App::$strings["Block Name"] = "Block-Name";
App::$strings["Blocks"] = "Blöcke";
App::$strings["Block Title"] = "Titel des Blocks";
@@ -323,9 +44,7 @@ App::$strings["Created"] = "Erstellt";
App::$strings["Edited"] = "Geändert";
App::$strings["Share"] = "Teilen";
App::$strings["View"] = "Ansicht";
-App::$strings["Bookmark added"] = "Lesezeichen hinzugefügt";
-App::$strings["My Bookmarks"] = "Meine Lesezeichen";
-App::$strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
+App::$strings["Channel not found."] = "Kanal nicht gefunden.";
App::$strings["Permissions denied."] = "Berechtigung verweigert.";
App::$strings["l, F j"] = "l, j. F";
App::$strings["Link to Source"] = "Link zur Quelle";
@@ -335,6 +54,7 @@ App::$strings["Previous"] = "Voriges";
App::$strings["Next"] = "Nächste";
App::$strings["Export"] = "Exportieren";
App::$strings["Import"] = "Import";
+App::$strings["Submit"] = "Bestätigen";
App::$strings["Today"] = "Heute";
App::$strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
App::$strings["Posts and comments"] = "Beiträge und Kommentare";
@@ -361,9 +81,10 @@ App::$strings["Expiration"] = "Verfall";
App::$strings["min"] = "min";
App::$strings["Away"] = "Abwesend";
App::$strings["Online"] = "Online";
-App::$strings["No channel."] = "Kein Kanal.";
-App::$strings["Common connections"] = "Gemeinsame Verbindungen";
-App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
+App::$strings["Invalid item."] = "Ungültiges Element.";
+App::$strings["Bookmark added"] = "Lesezeichen hinzugefügt";
+App::$strings["My Bookmarks"] = "Meine Lesezeichen";
+App::$strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
App::$strings["Continue"] = "Fortfahren";
App::$strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
App::$strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
@@ -373,41 +94,13 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
App::$strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
-App::$strings["Blocked"] = "Blockiert";
-App::$strings["Ignored"] = "Ignoriert";
-App::$strings["Hidden"] = "Versteckt";
-App::$strings["Archived"] = "Archiviert";
-App::$strings["New"] = "Neu";
-App::$strings["All"] = "Alle";
-App::$strings["New Connections"] = "Neue Verbindungen";
-App::$strings["Show pending (new) connections"] = "Ausstehende (neue) Verbindungsanfragen anzeigen";
-App::$strings["All Connections"] = "Alle Verbindungen";
-App::$strings["Show all connections"] = "Alle Verbindungen anzeigen";
-App::$strings["Only show blocked connections"] = "Nur blockierte Verbindungen anzeigen";
-App::$strings["Only show ignored connections"] = "Nur ignorierte Verbindungen anzeigen";
-App::$strings["Only show archived connections"] = "Nur archivierte Verbindungen anzeigen";
-App::$strings["Only show hidden connections"] = "Nur versteckte Verbindungen anzeigen";
-App::$strings["Pending approval"] = "Wartet auf Genehmigung";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Verbindung bearbeiten";
-App::$strings["Delete connection"] = "Verbindung löschen";
-App::$strings["Channel address"] = "Kanaladresse";
-App::$strings["Network"] = "Netzwerk";
-App::$strings["Connected"] = "Verbunden";
-App::$strings["Approve connection"] = "Verbindung genehmigen";
-App::$strings["Ignore connection"] = "Verbindung ignorieren";
-App::$strings["Ignore"] = "Ignorieren";
-App::$strings["Recent activity"] = "Kürzliche Aktivitäten";
-App::$strings["Connections"] = "Verbindungen";
-App::$strings["Search"] = "Suche";
-App::$strings["Search your connections"] = "Verbindungen durchsuchen";
-App::$strings["Connections search"] = "Verbindung suchen";
-App::$strings["Find"] = "Finde";
App::$strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
App::$strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
App::$strings["Connection updated."] = "Verbindung aktualisiert.";
App::$strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
App::$strings["is now connected to"] = "ist jetzt verbunden mit";
+App::$strings["No"] = "Nein";
+App::$strings["Yes"] = "Ja";
App::$strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
App::$strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
@@ -418,9 +111,12 @@ App::$strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
App::$strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
App::$strings["Recent Activity"] = "Kürzliche Aktivitäten";
App::$strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
+App::$strings["Unblock"] = "Freigeben";
+App::$strings["Block"] = "Blockieren";
App::$strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen";
App::$strings["This connection is blocked!"] = "Die Verbindung ist geblockt!";
App::$strings["Unignore"] = "Nicht ignorieren";
+App::$strings["Ignore"] = "Ignorieren";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen";
App::$strings["This connection is ignored!"] = "Die Verbindung wird ignoriert!";
App::$strings["Unarchive"] = "Aus Archiv zurückholen";
@@ -436,6 +132,7 @@ App::$strings["Me"] = "Ich";
App::$strings["Family"] = "Familie";
App::$strings["Friends"] = "Freunde";
App::$strings["Acquaintances"] = "Bekannte";
+App::$strings["All"] = "Alle";
App::$strings["Approve this connection"] = "Verbindung genehmigen";
App::$strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
App::$strings["Set Affinity"] = "Beziehung festlegen";
@@ -468,28 +165,6 @@ App::$strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen.";
App::$strings["Last update:"] = "Letzte Aktualisierung:";
-App::$strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zurechtschneiden schlug fehl.";
-App::$strings["Cover Photos"] = "Cover Foto";
-App::$strings["Image resize failed."] = "Bild-Anpassung fehlgeschlagen.";
-App::$strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
-App::$strings["Image upload failed."] = "Hochladen des Bilds fehlgeschlagen.";
-App::$strings["Unable to process image."] = "Kann Bild nicht verarbeiten.";
-App::$strings["female"] = "weiblich";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s hat ihr %2\$s aktualisiert";
-App::$strings["male"] = "männlich";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s hat sein %2\$s aktualisiert";
-App::$strings["%1\$s updated their %2\$s"] = "%1\$s hat sein/ihr %2\$s aktualisiert";
-App::$strings["cover photo"] = "Cover Foto";
-App::$strings["Photo not available."] = "Foto nicht verfügbar.";
-App::$strings["Upload File:"] = "Datei hochladen:";
-App::$strings["Select a profile:"] = "Wähle ein Profil:";
-App::$strings["Upload Cover Photo"] = "Cover Foto hochladen";
-App::$strings["or"] = "oder";
-App::$strings["skip this step"] = "diesen Schritt überspringen";
-App::$strings["select a photo from your photo albums"] = "ein Foto aus meinen Fotoalben";
-App::$strings["Crop Image"] = "Bild zuschneiden";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
-App::$strings["Done Editing"] = "Bearbeitung fertigstellen";
App::$strings["Public access denied."] = "Öffentlichen Zugriff verweigert.";
App::$strings["%d rating"] = array(
0 => "%d Bewertung",
@@ -510,6 +185,7 @@ App::$strings["Don't suggest"] = "Nicht vorschlagen";
App::$strings["Common connections:"] = "Gemeinsame Verbindungen:";
App::$strings["Global Directory"] = "Globales Verzeichnis";
App::$strings["Local Directory"] = "Lokales Verzeichnis";
+App::$strings["Find"] = "Finde";
App::$strings["Finding:"] = "Ergebnisse:";
App::$strings["Channel Suggestions"] = "Kanal-Vorschläge";
App::$strings["next page"] = "nächste Seite";
@@ -520,33 +196,66 @@ App::$strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
App::$strings["Newest to Oldest"] = "Neueste zuerst";
App::$strings["Oldest to Newest"] = "Älteste zuerst";
App::$strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
-App::$strings["This site is not a directory server"] = "Diese Webseite ist kein Verzeichnisserver";
-App::$strings["This directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken";
-App::$strings["Permission denied"] = "Keine Berechtigung";
-App::$strings["Invalid message"] = "Ungültige Beitrags-ID (mid)";
-App::$strings["no results"] = "keine Ergebnisse";
-App::$strings["Delivery report for %1\$s"] = "Zustellungsbericht für %1\$s";
-App::$strings["channel sync processed"] = "Kanal-Sync verarbeitet";
-App::$strings["queued"] = "zur Warteschlange hinzugefügt";
-App::$strings["posted"] = "zugestellt";
-App::$strings["accepted for delivery"] = "für Zustellung akzeptiert";
-App::$strings["updated"] = "aktualisiert";
-App::$strings["update ignored"] = "Aktualisierung ignoriert";
-App::$strings["permission denied"] = "Zugriff verweigert";
-App::$strings["recipient not found"] = "Empfänger nicht gefunden.";
-App::$strings["mail recalled"] = "Mail widerrufen";
-App::$strings["duplicate mail received"] = "Doppelte Mail erhalten";
-App::$strings["mail delivered"] = "Mail zugestellt";
+App::$strings["Item not found."] = "Element nicht gefunden.";
App::$strings["Item not found"] = "Element nicht gefunden";
App::$strings["Title (optional)"] = "Titel (optional)";
App::$strings["Edit Block"] = "Block bearbeiten";
-App::$strings["Layout Name"] = "Layout-Name";
-App::$strings["Layout Description (Optional)"] = "Layout-Beschreibung (optional)";
-App::$strings["Edit Layout"] = "Layout bearbeiten";
+App::$strings["No channel."] = "Kein Kanal.";
+App::$strings["Common connections"] = "Gemeinsame Verbindungen";
+App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
+App::$strings["Blocked"] = "Blockiert";
+App::$strings["Ignored"] = "Ignoriert";
+App::$strings["Hidden"] = "Versteckt";
+App::$strings["Archived"] = "Archiviert";
+App::$strings["New"] = "Neu";
+App::$strings["New Connections"] = "Neue Verbindungen";
+App::$strings["Show pending (new) connections"] = "Ausstehende (neue) Verbindungsanfragen anzeigen";
+App::$strings["All Connections"] = "Alle Verbindungen";
+App::$strings["Show all connections"] = "Alle Verbindungen anzeigen";
+App::$strings["Only show blocked connections"] = "Nur blockierte Verbindungen anzeigen";
+App::$strings["Only show ignored connections"] = "Nur ignorierte Verbindungen anzeigen";
+App::$strings["Only show archived connections"] = "Nur archivierte Verbindungen anzeigen";
+App::$strings["Only show hidden connections"] = "Nur versteckte Verbindungen anzeigen";
+App::$strings["Pending approval"] = "Wartet auf Genehmigung";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Verbindung bearbeiten";
+App::$strings["Delete connection"] = "Verbindung löschen";
+App::$strings["Channel address"] = "Kanaladresse";
+App::$strings["Network"] = "Netzwerk";
+App::$strings["Status"] = "Status";
+App::$strings["Connected"] = "Verbunden";
+App::$strings["Approve connection"] = "Verbindung genehmigen";
+App::$strings["Approve"] = "Genehmigen";
+App::$strings["Ignore connection"] = "Verbindung ignorieren";
+App::$strings["Recent activity"] = "Kürzliche Aktivitäten";
+App::$strings["Connections"] = "Verbindungen";
+App::$strings["Search"] = "Suche";
+App::$strings["Search your connections"] = "Verbindungen durchsuchen";
+App::$strings["Connections search"] = "Verbindung suchen";
+App::$strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zurechtschneiden schlug fehl.";
+App::$strings["Cover Photos"] = "Cover Foto";
+App::$strings["Image resize failed."] = "Bild-Anpassung fehlgeschlagen.";
+App::$strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
+App::$strings["Image upload failed."] = "Hochladen des Bilds fehlgeschlagen.";
+App::$strings["Unable to process image."] = "Kann Bild nicht verarbeiten.";
+App::$strings["female"] = "weiblich";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s hat ihr %2\$s aktualisiert";
+App::$strings["male"] = "männlich";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s hat sein %2\$s aktualisiert";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s hat sein/ihr %2\$s aktualisiert";
+App::$strings["cover photo"] = "Cover Foto";
+App::$strings["Photo not available."] = "Foto nicht verfügbar.";
+App::$strings["Upload File:"] = "Datei hochladen:";
+App::$strings["Select a profile:"] = "Wähle ein Profil:";
+App::$strings["Upload Cover Photo"] = "Cover Foto hochladen";
+App::$strings["or"] = "oder";
+App::$strings["skip this step"] = "diesen Schritt überspringen";
+App::$strings["select a photo from your photo albums"] = "ein Foto aus meinen Fotoalben";
+App::$strings["Crop Image"] = "Bild zuschneiden";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
+App::$strings["Done Editing"] = "Bearbeitung fertigstellen";
App::$strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
App::$strings["Edit post"] = "Bearbeite Beitrag";
-App::$strings["Page link"] = "Seiten-Link";
-App::$strings["Edit Webpage"] = "Webseite bearbeiten";
App::$strings["Calendar entries imported."] = "Kalendereinträge wurden importiert.";
App::$strings["No calendar entries found."] = "Keine Kalendereinträge gefunden.";
App::$strings["Event can not end before it has started."] = "Termin-Ende liegt vor dem Beginn.";
@@ -556,6 +265,7 @@ App::$strings["Event not found."] = "Termin nicht gefunden.";
App::$strings["event"] = "Termin";
App::$strings["Edit event title"] = "Termintitel bearbeiten";
App::$strings["Event title"] = "Termintitel";
+App::$strings["Required"] = "Benötigt";
App::$strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)";
App::$strings["Edit Category"] = "Kategorie bearbeiten";
App::$strings["Category"] = "Kategorie";
@@ -567,6 +277,7 @@ App::$strings["Finish date and time"] = "Enddatum und -zeit";
App::$strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anpassen";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien.";
App::$strings["Edit Description"] = "Beschreibung bearbeiten";
+App::$strings["Description"] = "Beschreibung";
App::$strings["Edit Location"] = "Ort bearbeiten";
App::$strings["Location"] = "Ort";
App::$strings["Share this event"] = "Den Termin teilen";
@@ -579,26 +290,34 @@ App::$strings["calendar"] = "Kalender";
App::$strings["Event removed"] = "Termin gelöscht";
App::$strings["Failed to remove event"] = "Termin konnte nicht gelöscht werden";
App::$strings["Photos"] = "Fotos";
-App::$strings["Share content from Firefox to \$Projectname"] = "Inhalte von Firefox nach \$Projectname teilen";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Aktiviert den \$Projectname-Provider für firefox";
+App::$strings["Cancel"] = "Abbrechen";
+App::$strings["This site is not a directory server"] = "Diese Webseite ist kein Verzeichnisserver";
+App::$strings["This directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken";
App::$strings["Save to Folder:"] = "Speichern in Ordner:";
App::$strings["- select -"] = "– auswählen –";
-App::$strings["Permission Denied."] = "Zugriff verweigert.";
-App::$strings["File not found."] = "Datei nicht gefunden.";
-App::$strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
-App::$strings["Set/edit permissions"] = "Berechtigungen setzen/ändern";
-App::$strings["Include all files and sub folders"] = "Alle Dateien und Unterverzeichnisse einbinden";
-App::$strings["Return to file list"] = "Zurück zur Dateiliste";
-App::$strings["Copy/paste this code to attach file to a post"] = "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken";
-App::$strings["Share this file"] = "Diese Datei freigeben";
-App::$strings["Show URL to this file"] = "URL zu dieser Datei anzeigen";
-App::$strings["Notify your contacts about this file"] = "Meine Kontakte über diese Datei benachrichtigen";
+App::$strings["Save"] = "Speichern";
+App::$strings["Invalid message"] = "Ungültige Beitrags-ID (mid)";
+App::$strings["no results"] = "keine Ergebnisse";
+App::$strings["Delivery report for %1\$s"] = "Zustellungsbericht für %1\$s";
+App::$strings["channel sync processed"] = "Kanal-Sync verarbeitet";
+App::$strings["queued"] = "zur Warteschlange hinzugefügt";
+App::$strings["posted"] = "zugestellt";
+App::$strings["accepted for delivery"] = "für Zustellung akzeptiert";
+App::$strings["updated"] = "aktualisiert";
+App::$strings["update ignored"] = "Aktualisierung ignoriert";
+App::$strings["permission denied"] = "Zugriff verweigert";
+App::$strings["recipient not found"] = "Empfänger nicht gefunden.";
+App::$strings["mail recalled"] = "Mail widerrufen";
+App::$strings["duplicate mail received"] = "Doppelte Mail erhalten";
+App::$strings["mail delivered"] = "Mail zugestellt";
+App::$strings["Layout Name"] = "Layout-Name";
+App::$strings["Layout Description (Optional)"] = "Layout-Beschreibung (optional)";
+App::$strings["Edit Layout"] = "Layout bearbeiten";
+App::$strings["Page link"] = "Seiten-Link";
+App::$strings["Edit Webpage"] = "Webseite bearbeiten";
App::$strings["Channel added."] = "Kanal hinzugefügt.";
-App::$strings["Contact not found."] = "Kontakt nicht gefunden";
-App::$strings["Friend suggestion sent."] = "Freundschaftsempfehlung senden.";
-App::$strings["Suggest Friends"] = "Kontakte vorschlagen";
-App::$strings["Suggest a friend for %s"] = "Schlage %s einen Kontakt vor";
+App::$strings["network"] = "Netzwerk";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "Gruppe wurde erstellt.";
App::$strings["Could not create privacy group."] = "Gruppe konnte nicht erstellt werden.";
App::$strings["Privacy group not found."] = "Gruppe nicht gefunden.";
@@ -612,39 +331,29 @@ App::$strings["Privacy group editor"] = "Gruppeneditor";
App::$strings["Members"] = "Mitglieder";
App::$strings["All Connected Channels"] = "Alle verbundenen Kanäle";
App::$strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hinzufügen oder entfernen aus.";
+App::$strings["Share content from Firefox to \$Projectname"] = "Inhalte von Firefox nach \$Projectname teilen";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Aktiviert den \$Projectname-Provider für firefox";
+App::$strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
+App::$strings["Return to your app and insert this Securty Code:"] = "Trage folgenden Sicherheitscode in der Anwendung ein:";
+App::$strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
App::$strings["Documentation Search"] = "Suche in der Dokumentation";
App::$strings["Help:"] = "Hilfe:";
App::$strings["Help"] = "Hilfe";
App::$strings["\$Projectname Documentation"] = "\$Projectname-Dokumentation";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "Willkommen auf %s";
-App::$strings["First Name"] = "Vorname";
-App::$strings["Last Name"] = "Nachname";
-App::$strings["Nickname"] = "Spitzname";
-App::$strings["Full Name"] = "Voller Name";
-App::$strings["Profile Photo"] = "Profilfoto";
-App::$strings["Profile Photo 16px"] = "Profilfoto 16 px";
-App::$strings["Profile Photo 32px"] = "Profilfoto 32 px";
-App::$strings["Profile Photo 48px"] = "Profilfoto 48 px";
-App::$strings["Profile Photo 64px"] = "Profilfoto 64 px";
-App::$strings["Profile Photo 80px"] = "Profilfoto 80 px";
-App::$strings["Profile Photo 128px"] = "Profilfoto 128 px";
-App::$strings["Timezone"] = "Zeitzone";
-App::$strings["Homepage URL"] = "Homepage-URL";
-App::$strings["Language"] = "Sprache";
-App::$strings["Birth Year"] = "Geburtsjahr";
-App::$strings["Birth Month"] = "Geburtsmonat";
-App::$strings["Birth Day"] = "Geburtstag";
-App::$strings["Birthdate"] = "Geburtsdatum";
-App::$strings["Gender"] = "Geschlecht";
-App::$strings["Male"] = "Männlich";
-App::$strings["Female"] = "Weiblich";
-App::$strings["webpage"] = "Webseite";
-App::$strings["block"] = "Block";
-App::$strings["layout"] = "Layout";
-App::$strings["menu"] = "Menü";
-App::$strings["%s element installed"] = "Element für %s installiert";
-App::$strings["%s element installation failed"] = "Installation des Elements %s fehlgeschlagen";
+App::$strings["Permission Denied."] = "Zugriff verweigert.";
+App::$strings["File not found."] = "Datei nicht gefunden.";
+App::$strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
+App::$strings["Set/edit permissions"] = "Berechtigungen setzen/ändern";
+App::$strings["Include all files and sub folders"] = "Alle Dateien und Unterverzeichnisse einbinden";
+App::$strings["Return to file list"] = "Zurück zur Dateiliste";
+App::$strings["Copy/paste this code to attach file to a post"] = "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken";
+App::$strings["Share this file"] = "Diese Datei freigeben";
+App::$strings["Show URL to this file"] = "URL zu dieser Datei anzeigen";
+App::$strings["Notify your contacts about this file"] = "Meine Kontakte über diese Datei benachrichtigen";
+App::$strings["Apps"] = "Apps";
+App::$strings["Item not available."] = "Element nicht verfügbar.";
App::$strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
App::$strings["Nothing to import."] = "Nichts zu importieren.";
App::$strings["Unable to download data from old server"] = "Daten können vom alten Server nicht heruntergeladen werden";
@@ -665,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Dieser $Pojectname-Hub ist mein primärer Hub.";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen.";
-App::$strings["Import completed"] = "Import abgeschlossen";
-App::$strings["Import Items"] = "Beiträge importieren";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren.";
-App::$strings["Total invitation limit exceeded."] = "Einladungslimit überschritten.";
-App::$strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
-App::$strings["Please join us on \$Projectname"] = "Schließe Dich uns auf \$Projectname an!";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines \$Projectname-Servers.";
-App::$strings["%s : Message delivery failed."] = "%s : Nachricht konnte nicht zugestellt werden.";
-App::$strings["%d message sent."] = array(
- 0 => "%d Nachricht gesendet.",
- 1 => "%d Nachrichten gesendet.",
-);
-App::$strings["You have no more invitations available"] = "Du hast keine weiteren verfügbare Einladungen";
-App::$strings["Send invitations"] = "Einladungen senden";
-App::$strings["Enter email addresses, one per line:"] = "Email-Adressen eintragen, eine pro Zeile:";
-App::$strings["Your message:"] = "Deine Nachricht:";
-App::$strings["Please join my community on \$Projectname."] = "Schließe Dich uns auf \$Projectname an!";
-App::$strings["You will need to supply this invitation code:"] = "Bitte verwende bei der Registrierung den folgenden Einladungscode:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registriere Dich auf einem beliebigen \$Projectname-Hub (sie sind alle miteinander verbunden)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Gib meine \$Projectname-Adresse im Suchfeld ein.";
-App::$strings["or visit"] = "oder besuche";
-App::$strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]";
App::$strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
App::$strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
App::$strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
@@ -699,6 +386,36 @@ App::$strings["Layouts"] = "Layouts";
App::$strings["Comanche page description language help"] = "Hilfe zur Comanche-Seitenbeschreibungssprache";
App::$strings["Layout Description"] = "Layout-Beschreibung";
App::$strings["Download PDL file"] = "PDL-Datei herunterladen";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Willkommen auf %s";
+App::$strings["First Name"] = "Vorname";
+App::$strings["Last Name"] = "Nachname";
+App::$strings["Nickname"] = "Spitzname";
+App::$strings["Full Name"] = "Voller Name";
+App::$strings["Email"] = "E-Mail";
+App::$strings["Profile Photo"] = "Profilfoto";
+App::$strings["Profile Photo 16px"] = "Profilfoto 16 px";
+App::$strings["Profile Photo 32px"] = "Profilfoto 32 px";
+App::$strings["Profile Photo 48px"] = "Profilfoto 48 px";
+App::$strings["Profile Photo 64px"] = "Profilfoto 64 px";
+App::$strings["Profile Photo 80px"] = "Profilfoto 80 px";
+App::$strings["Profile Photo 128px"] = "Profilfoto 128 px";
+App::$strings["Timezone"] = "Zeitzone";
+App::$strings["Homepage URL"] = "Homepage-URL";
+App::$strings["Language"] = "Sprache";
+App::$strings["Birth Year"] = "Geburtsjahr";
+App::$strings["Birth Month"] = "Geburtsmonat";
+App::$strings["Birth Day"] = "Geburtstag";
+App::$strings["Birthdate"] = "Geburtsdatum";
+App::$strings["Gender"] = "Geschlecht";
+App::$strings["Male"] = "Männlich";
+App::$strings["Female"] = "Weiblich";
+App::$strings["webpage"] = "Webseite";
+App::$strings["block"] = "Block";
+App::$strings["layout"] = "Layout";
+App::$strings["menu"] = "Menü";
+App::$strings["%s element installed"] = "Element für %s installiert";
+App::$strings["%s element installation failed"] = "Installation des Elements %s fehlgeschlagen";
App::$strings["Like/Dislike"] = "Mögen/Nicht mögen";
App::$strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner \$Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues \$Projectname-Mitglied</a>.";
@@ -719,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s nimmt vielleicht an %2\$ss %3\$s teil";
App::$strings["Action completed."] = "Aktion durchgeführt.";
App::$strings["Thank you."] = "Vielen Dank.";
+App::$strings["Import completed"] = "Import abgeschlossen";
+App::$strings["Import Items"] = "Beiträge importieren";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren.";
+App::$strings["Total invitation limit exceeded."] = "Einladungslimit überschritten.";
+App::$strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
+App::$strings["Please join us on \$Projectname"] = "Schließe Dich uns auf \$Projectname an!";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines \$Projectname-Servers.";
+App::$strings["%s : Message delivery failed."] = "%s : Nachricht konnte nicht zugestellt werden.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d Nachricht gesendet.",
+ 1 => "%d Nachrichten gesendet.",
+);
+App::$strings["You have no more invitations available"] = "Du hast keine weiteren verfügbare Einladungen";
+App::$strings["Send invitations"] = "Einladungen senden";
+App::$strings["Enter email addresses, one per line:"] = "Email-Adressen eintragen, eine pro Zeile:";
+App::$strings["Your message:"] = "Deine Nachricht:";
+App::$strings["Please join my community on \$Projectname."] = "Schließe Dich uns auf \$Projectname an!";
+App::$strings["You will need to supply this invitation code:"] = "Bitte verwende bei der Registrierung den folgenden Einladungscode:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registriere Dich auf einem beliebigen \$Projectname-Hub (sie sind alle miteinander verbunden)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Gib meine \$Projectname-Adresse im Suchfeld ein.";
+App::$strings["or visit"] = "oder besuche";
+App::$strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]";
App::$strings["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar.";
App::$strings["Visible to:"] = "Sichtbar für:";
App::$strings["Location not found."] = "Klon nicht gefunden.";
@@ -727,28 +466,13 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Synchronisiere Klone";
App::$strings["No locations found."] = "Keine Klon-Adressen gefunden.";
App::$strings["Manage Channel Locations"] = "Klon-Adressen verwalten";
+App::$strings["Address"] = "Adresse";
App::$strings["Primary"] = "Primär";
App::$strings["Drop"] = "Löschen";
App::$strings["Sync Now"] = "Jetzt synchronisieren";
App::$strings["Please wait several minutes between consecutive operations."] = "Bitte warte mehrere Minuten zwischen dem Ausführen zweier Operationen!";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub einloggst und den Kanal dort löschst.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Benutze dieses Formular zum Löschen eines Klons, wenn es den Hub nicht mehr gibt.";
-App::$strings["No valid account found."] = "Kein gültiges Konto gefunden.";
-App::$strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
-App::$strings["Site Member (%s)"] = "Nutzer (%s)";
-App::$strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
-App::$strings["Password Reset"] = "Zurücksetzen des Kennworts";
-App::$strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
-App::$strings["Your new password is"] = "Dein neues Passwort lautet";
-App::$strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
-App::$strings["click here to login"] = "Klicke hier, um dich anzumelden";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
-App::$strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
-App::$strings["Forgot your Password?"] = "Kennwort vergessen?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
-App::$strings["Email Address"] = "E-Mail Adresse";
-App::$strings["Reset"] = "Zurücksetzen";
App::$strings["Hub not found."] = "Server nicht gefunden.";
App::$strings["Unable to lookup recipient."] = "Konnte den Empfänger nicht finden.";
App::$strings["Unable to communicate with requested channel."] = "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen.";
@@ -783,10 +507,22 @@ App::$strings["Make Default"] = "Zum Standard machen";
App::$strings["%d new messages"] = "%d neue Nachrichten";
App::$strings["%d new introductions"] = "%d neue Vorstellungen";
App::$strings["Delegated Channel"] = "Delegierte Kanäle";
-App::$strings["Profile Match"] = "Profil-Übereinstimmungen";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
-App::$strings["is interested in:"] = "interessiert sich für:";
-App::$strings["No matches"] = "Keine Übereinstimmungen";
+App::$strings["No valid account found."] = "Kein gültiges Konto gefunden.";
+App::$strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
+App::$strings["Site Member (%s)"] = "Nutzer (%s)";
+App::$strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
+App::$strings["Password Reset"] = "Zurücksetzen des Kennworts";
+App::$strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
+App::$strings["Your new password is"] = "Dein neues Passwort lautet";
+App::$strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
+App::$strings["click here to login"] = "Klicke hier, um dich anzumelden";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
+App::$strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
+App::$strings["Forgot your Password?"] = "Kennwort vergessen?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
+App::$strings["Email Address"] = "E-Mail Adresse";
+App::$strings["Reset"] = "Zurücksetzen";
App::$strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
App::$strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
App::$strings["Menu Name"] = "Name des Menüs";
@@ -811,6 +547,22 @@ App::$strings["Menu title"] = "Menü Titel";
App::$strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
App::$strings["Allow bookmarks"] = "Erlaube Lesezeichen";
App::$strings["Not found."] = "Nicht gefunden.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
+App::$strings["Mood"] = "Laune";
+App::$strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
+App::$strings["Profile Match"] = "Profil-Übereinstimmungen";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
+App::$strings["is interested in:"] = "interessiert sich für:";
+App::$strings["No matches"] = "Keine Übereinstimmungen";
+App::$strings["No such group"] = "Gruppe nicht gefunden";
+App::$strings["No such channel"] = "Kanal nicht gefunden";
+App::$strings["forum"] = "Forum";
+App::$strings["Search Results For:"] = "Suchergebnisse für:";
+App::$strings["Privacy group is empty"] = "Gruppe ist leer";
+App::$strings["Privacy group: "] = "Gruppe:";
+App::$strings["Invalid connection."] = "Ungültige Verbindung.";
+App::$strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
+App::$strings["System Notifications"] = "System-Benachrichtigungen";
App::$strings["Unable to create element."] = "Element konnte nicht erstellt werden.";
App::$strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
App::$strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
@@ -840,16 +592,6 @@ App::$strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
App::$strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
App::$strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
App::$strings["Link text"] = "Link Text";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
-App::$strings["Mood"] = "Laune";
-App::$strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
-App::$strings["No such group"] = "Gruppe nicht gefunden";
-App::$strings["No such channel"] = "Kanal nicht gefunden";
-App::$strings["forum"] = "Forum";
-App::$strings["Search Results For:"] = "Suchergebnisse für:";
-App::$strings["Privacy group is empty"] = "Gruppe ist leer";
-App::$strings["Privacy group: "] = "Gruppe:";
-App::$strings["Invalid connection."] = "Ungültige Verbindung.";
App::$strings["Name or caption"] = "Name oder Titel";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
App::$strings["Choose a short nickname"] = "Wähle einen kurzen Spitznamen";
@@ -862,22 +604,7 @@ App::$strings["A channel is your identity on this network. It can represent a pe
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server.";
App::$strings["Invalid request identifier."] = "Ungültiger Anfrage-Identifikator.";
App::$strings["Discard"] = "Verwerfen";
-App::$strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
-App::$strings["System Notifications"] = "System-Benachrichtigungen";
App::$strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
-App::$strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
-App::$strings["Post successful."] = "Veröffentlichung erfolgreich.";
-App::$strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
-App::$strings["Login failed."] = "Login fehlgeschlagen.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert.";
-App::$strings["Configuration Editor"] = "Konfigurationseditor";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird.";
-App::$strings["Layout updated."] = "Layout aktualisiert.";
-App::$strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
-App::$strings["Layout not found."] = "Layout nicht gefunden.";
-App::$strings["Module Name:"] = "Modulname:";
-App::$strings["Layout Help"] = "Layout-Hilfe";
App::$strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
App::$strings["Profile Photos"] = "Profilfotos";
App::$strings["Album not found."] = "Album nicht gefunden.";
@@ -906,6 +633,7 @@ App::$strings["Use as profile photo"] = "Als Profilfoto verwenden";
App::$strings["Use as cover photo"] = "Als Titelbild verwenden";
App::$strings["Private Photo"] = "Privates Foto";
App::$strings["View Full Size"] = "In voller Größe anzeigen";
+App::$strings["Remove"] = "Entfernen";
App::$strings["Edit photo"] = "Foto bearbeiten";
App::$strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
App::$strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
@@ -950,6 +678,19 @@ App::$strings["added your channel"] = "hat deinen Kanal hinzugefügt";
App::$strings["g A l F d"] = "l, d. F, G:i \\U\\h\\r";
App::$strings["[today]"] = "[Heute]";
App::$strings["posted an event"] = "hat einen Termin veröffentlicht";
+App::$strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
+App::$strings["Post successful."] = "Veröffentlichung erfolgreich.";
+App::$strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
+App::$strings["Login failed."] = "Login fehlgeschlagen.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert.";
+App::$strings["Configuration Editor"] = "Konfigurationseditor";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird.";
+App::$strings["Layout updated."] = "Layout aktualisiert.";
+App::$strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
+App::$strings["Layout not found."] = "Layout nicht gefunden.";
+App::$strings["Module Name:"] = "Modulname:";
+App::$strings["Layout Help"] = "Layout-Hilfe";
App::$strings["Poke"] = "Anstupsen";
App::$strings["Poke somebody"] = "Jemanden anstupsen";
App::$strings["Poke/Prod"] = "Anstupsen/Knuffen";
@@ -958,8 +699,6 @@ App::$strings["Recipient"] = "Empfänger";
App::$strings["Choose what you wish to do to recipient"] = "Wähle, was Du mit dem/r Empfänger/in tun willst";
App::$strings["Make this post private"] = "Diesen Beitrag privat machen";
App::$strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
-App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
App::$strings["Profile not found."] = "Profil nicht gefunden.";
App::$strings["Profile deleted."] = "Profil gelöscht.";
App::$strings["Profile-"] = "Profil-";
@@ -1026,6 +765,8 @@ App::$strings["Contact information and social networks"] = "Kontaktinformation u
App::$strings["My other channels"] = "Meine anderen Kanäle";
App::$strings["Profile Image"] = "Profilfoto:";
App::$strings["Edit Profiles"] = "Profile bearbeiten";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
+App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
App::$strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
App::$strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
App::$strings["Profile"] = "Profil";
@@ -1036,6 +777,7 @@ App::$strings["The listed hubs allow public registration for the \$Projectname n
App::$strings["Hub URL"] = "Hub-URL";
App::$strings["Access Type"] = "Zugriffstyp";
App::$strings["Registration Policy"] = "Registrierungsrichtlinien";
+App::$strings["Stats"] = "Statistiken";
App::$strings["Software"] = "Software";
App::$strings["Ratings"] = "Bewertungen";
App::$strings["Rate"] = "Bewerten";
@@ -1047,6 +789,261 @@ App::$strings["No ratings"] = "Keine Bewertungen";
App::$strings["Rating: "] = "Bewertung: ";
App::$strings["Website: "] = "Webseite: ";
App::$strings["Description: "] = "Beschreibung: ";
+App::$strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert.";
+App::$strings["# Accounts"] = "Anzahl der Konten";
+App::$strings["# blocked accounts"] = "Anzahl der blockierten Konten";
+App::$strings["# expired accounts"] = "Anzahl der abgelaufenen Konten";
+App::$strings["# expiring accounts"] = "Anzahl der ablaufenden Konten";
+App::$strings["# Channels"] = "Anzahl der Kanäle";
+App::$strings["# primary"] = "Anzahl der primären Kanäle";
+App::$strings["# clones"] = "Anzahl der Klone";
+App::$strings["Message queues"] = "Nachrichten-Warteschlangen";
+App::$strings["Your software should be updated"] = "Die installierte Software sollte aktualisiert werden";
+App::$strings["Administration"] = "Administration";
+App::$strings["Summary"] = "Zusammenfassung";
+App::$strings["Registered accounts"] = "Registrierte Konten";
+App::$strings["Pending registrations"] = "Ausstehende Registrierungen";
+App::$strings["Registered channels"] = "Registrierte Kanäle";
+App::$strings["Active plugins"] = "Aktive Plug-Ins";
+App::$strings["Version"] = "Version";
+App::$strings["Repository version (master)"] = "Repository-Version (master)";
+App::$strings["Repository version (dev)"] = "Repository-Version (dev)";
+App::$strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
+App::$strings["Default"] = "Standard";
+App::$strings["mobile"] = "mobil";
+App::$strings["experimental"] = "experimentell";
+App::$strings["unsupported"] = "nicht unterstützt";
+App::$strings["Yes - with approval"] = "Ja - mit Zustimmung";
+App::$strings["My site is not a public server"] = "Mein Server ist kein öffentlicher Server";
+App::$strings["My site has paid access only"] = "Meine Seite hat nur bezahlten Zugriff";
+App::$strings["My site has free access only"] = "Meine Seite hat nur freien Zugriff";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades";
+App::$strings["Site"] = "Seite";
+App::$strings["Registration"] = "Registrierung";
+App::$strings["File upload"] = "Dateiupload";
+App::$strings["Policies"] = "Richtlinien";
+App::$strings["Advanced"] = "Fortgeschritten";
+App::$strings["Site name"] = "Seitenname";
+App::$strings["Banner/Logo"] = "Banner/Logo";
+App::$strings["Administrator Information"] = "Administrator-Informationen";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden.";
+App::$strings["System language"] = "System-Sprache";
+App::$strings["System theme"] = "System-Theme";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>";
+App::$strings["Mobile system theme"] = "Mobile System-Theme:";
+App::$strings["Theme for mobile devices"] = "Theme für mobile Geräte";
+App::$strings["Allow Feeds as Connections"] = "Feeds als Verbindungen erlauben";
+App::$strings["(Heavy system resource usage)"] = "(führt zu hoher Systemlast)";
+App::$strings["Maximum image size"] = "Maximale Bildgröße";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung).";
+App::$strings["Does this site allow new member registration?"] = "Erlaubt dieser Server die Registrierung neuer Nutzer?";
+App::$strings["Invitation only"] = "Nur mit Einladung";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
+App::$strings["Register text"] = "Registrierungstext";
+App::$strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen.";
+App::$strings["Preserve site homepage URL"] = "Homepage-URL schützen";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten.";
+App::$strings["Accounts abandoned after x days"] = "Konten gelten nach X Tagen als unbenutzt";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit.";
+App::$strings["Allowed friend domains"] = "Erlaubte Domains für Kontakte";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
+App::$strings["Allowed email domains"] = "Erlaubte Domains für E-Mails";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
+App::$strings["Not allowed email domains"] = "Nicht erlaubte Domains für E-Mails";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde.";
+App::$strings["Verify Email Addresses"] = "E-Mail-Adressen überprüfen";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen).";
+App::$strings["Force publish"] = "Veröffentlichung erzwingen";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
+App::$strings["Import Public Streams"] = "Öffentliche Beiträge importieren";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert.";
+App::$strings["Login on Homepage"] = "Log-in auf der Startseite";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
+App::$strings["Enable context help"] = "Kontext-Hilfe aktivieren";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird.";
+App::$strings["Directory Server URL"] = "Verzeichnisserver-URL";
+App::$strings["Default directory server"] = "Standard-Verzeichnisserver";
+App::$strings["Proxy user"] = "Proxy Benutzer";
+App::$strings["Proxy URL"] = "Proxy URL";
+App::$strings["Network timeout"] = "Netzwerk-Timeout";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen).";
+App::$strings["Delivery interval"] = "Auslieferung Intervall";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server.";
+App::$strings["Deliveries per process"] = "Zustellungen pro Prozess";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5.";
+App::$strings["Poll interval"] = "Abfrageintervall";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet.";
+App::$strings["Maximum Load Average"] = "Maximales Load Average";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen";
+App::$strings["0 for no expiration of imported content"] = "0 = keine Löschung importierter Inhalte";
+App::$strings["Off"] = "Aus";
+App::$strings["On"] = "An";
+App::$strings["Lock feature %s"] = "Blockiere die Funktion %s";
+App::$strings["Manage Additional Features"] = "Zusätzliche Funktionen verwalten";
+App::$strings["No server found"] = "Kein Server gefunden";
+App::$strings["ID"] = "ID";
+App::$strings["for channel"] = "für Kanal";
+App::$strings["on server"] = "auf Server";
+App::$strings["Server"] = "Server";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert.";
+App::$strings["Security"] = "Sicherheit";
+App::$strings["Block public"] = "Öffentlichen Zugriff blockieren";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Setze den \"Transport Security\" HTTP Header";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Setze den \"Content Security Policy\" HTTP Header";
+App::$strings["Allow communications only from these sites"] = "Kommunikation nur von diesen Seiten erlauben";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben.";
+App::$strings["Block communications from these sites"] = "Kommunikation von diesen Seiten blockieren";
+App::$strings["Allow communications only from these channels"] = "Kommunikation nur von diesen Kanälen erlauben";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. ";
+App::$strings["Block communications from these channels"] = "Kommunikation von folgenden Kanälen blockieren";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links.";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains";
+App::$strings["One site per line. By default embedded content is filtered."] = "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert.";
+App::$strings["Block embedded HTML from these domains"] = "Eingebettete HTML Inhalte von diesen Seiten blockieren";
+App::$strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
+App::$strings["Executing %s failed. Check system logs."] = "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle.";
+App::$strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt.";
+App::$strings["Update function %s could not be found."] = "Update-Funktion %s konnte nicht gefunden werden.";
+App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
+App::$strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
+App::$strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
+App::$strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
+App::$strings["Queue Statistics"] = "Warteschlangenstatistiken";
+App::$strings["Total Entries"] = "Einträge insgesamt";
+App::$strings["Priority"] = "Priorität";
+App::$strings["Destination URL"] = "Ziel-URL";
+App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markieren";
+App::$strings["Empty queue for this hub"] = "Warteschlange für diesen Hub leeren";
+App::$strings["Last known contact"] = "Letzter Kontakt";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s Konto blockiert/freigegeben",
+ 1 => "%s Konten blockiert/freigegeben",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s Konto gelöscht",
+ 1 => "%s Konten gelöscht",
+);
+App::$strings["Account not found"] = "Konto nicht gefunden";
+App::$strings["Account '%s' deleted"] = "Konto '%s' gelöscht";
+App::$strings["Account '%s' blocked"] = "Konto '%s' blockiert";
+App::$strings["Account '%s' unblocked"] = "Konto '%s' freigegeben";
+App::$strings["Accounts"] = "Konten";
+App::$strings["select all"] = "Alle auswählen";
+App::$strings["Registrations waiting for confirm"] = "Registrierungen warten auf Bestätigung";
+App::$strings["Request date"] = "Antragsdatum";
+App::$strings["No registrations."] = "Keine Registrierungen.";
+App::$strings["Deny"] = "Verweigern";
+App::$strings["All Channels"] = "Alle Kanäle";
+App::$strings["Register date"] = "Registrierungs-Datum";
+App::$strings["Last login"] = "Letzte Anmeldung";
+App::$strings["Expires"] = "Verfällt";
+App::$strings["Service Class"] = "Service-Klasse";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s Kanal gesperrt/freigegeben",
+ 1 => "%s Kanäle gesperrt/freigegeben",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "Code für %s Kanal gesperrt/freigegeben",
+ 1 => "Code für %s Kanäle gesperrt/freigegeben",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s Kanal gelöscht",
+ 1 => "%s Kanäle gelöscht",
+);
+App::$strings["Channel not found"] = "Kanal nicht gefunden";
+App::$strings["Channel '%s' deleted"] = "Kanal '%s' gelöscht";
+App::$strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
+App::$strings["Channel '%s' uncensored"] = "Kanal '%s' freigegeben";
+App::$strings["Channel '%s' code allowed"] = "Code für Kanal '%s' freigegeben";
+App::$strings["Channel '%s' code disallowed"] = "Code für Kanal '%s' gesperrt";
+App::$strings["Channels"] = "Kanäle";
+App::$strings["Censor"] = "Sperren";
+App::$strings["Uncensor"] = "Freigeben";
+App::$strings["Allow Code"] = "Code erlauben";
+App::$strings["Disallow Code"] = "Code sperren";
+App::$strings["Channel"] = "Kanal";
+App::$strings["UID"] = "UID";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
+App::$strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
+App::$strings["Plugin %s enabled."] = "Plug-In %s aktiviert.";
+App::$strings["Disable"] = "Deaktivieren";
+App::$strings["Enable"] = "Aktivieren";
+App::$strings["Plugins"] = "Plug-Ins";
+App::$strings["Toggle"] = "Umschalten";
+App::$strings["Settings"] = "Einstellungen";
+App::$strings["Author: "] = "Autor: ";
+App::$strings["Maintainer: "] = "Betreuer:";
+App::$strings["Minimum project version: "] = "Minimale Version des Projekts:";
+App::$strings["Maximum project version: "] = "Maximale Version des Projekts:";
+App::$strings["Minimum PHP version: "] = "Minimale PHP Version:";
+App::$strings["Requires: "] = "Benötigt:";
+App::$strings["Disabled - version incompatibility"] = "Abgeschaltet - Versionsinkompatibilität";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Gib die öffentliche Git-Repository-URL des Plugin-Repository an.";
+App::$strings["Plugin repo git URL"] = "Plugin-Repository Git URL";
+App::$strings["Custom repo name"] = "Benutzerdefinierter Repository-Name";
+App::$strings["(optional)"] = "(optional)";
+App::$strings["Download Plugin Repo"] = "Plugin-Repository herunterladen";
+App::$strings["Install new repo"] = "Neues Repository installieren";
+App::$strings["Install"] = "Installieren";
+App::$strings["Manage Repos"] = "Repositorien verwalten";
+App::$strings["Installed Plugin Repositories"] = "Installierte Plugin-Repositorien";
+App::$strings["Install a New Plugin Repository"] = "Ein neues Plugin-Repository installieren";
+App::$strings["Update"] = "Aktualisieren";
+App::$strings["Switch branch"] = "Zweig/Branch wechseln";
+App::$strings["No themes found."] = "Keine Theme gefunden.";
+App::$strings["Screenshot"] = "Bildschirmfoto";
+App::$strings["Themes"] = "Themes";
+App::$strings["[Experimental]"] = "[Experimentell]";
+App::$strings["[Unsupported]"] = "[Nicht unterstützt]";
+App::$strings["Log settings updated."] = "Protokoll-Einstellungen aktualisiert.";
+App::$strings["Logs"] = "Protokolle";
+App::$strings["Clear"] = "Leeren";
+App::$strings["Debugging"] = "Debugging";
+App::$strings["Log file"] = "Protokolldatei";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis.";
+App::$strings["Log level"] = "Protokollstufe";
+App::$strings["New Profile Field"] = "Neues Profilfeld";
+App::$strings["Field nickname"] = "Kurzname für das Feld";
+App::$strings["System name of field"] = "Systemname des Feldes";
+App::$strings["Input type"] = "Art des Inhalts";
+App::$strings["Field Name"] = "Feldname";
+App::$strings["Label on profile pages"] = "Bezeichnung auf Profilseiten";
+App::$strings["Help text"] = "Hilfetext";
+App::$strings["Additional info (optional)"] = "Zusätzliche Informationen (optional)";
+App::$strings["Field definition not found"] = "Feld-Definition nicht gefunden";
+App::$strings["Edit Profile Field"] = "Profilfeld bearbeiten";
+App::$strings["Profile Fields"] = "Profil Felder";
+App::$strings["Basic Profile Fields"] = "Notwendige Profil Felder";
+App::$strings["Advanced Profile Fields"] = "Erweiterte Profil Felder";
+App::$strings["(In addition to basic fields)"] = "(zusätzlich zu notwendige Felder)";
+App::$strings["All available fields"] = "Alle verfügbaren Felder";
+App::$strings["Custom Fields"] = "Benutzerdefinierte Felder";
+App::$strings["Create Custom Field"] = "Erstelle benutzerdefiniertes Feld";
+App::$strings["App installed."] = "App installiert.";
+App::$strings["Malformed app."] = "Fehlerhafte App.";
+App::$strings["Embed code"] = "Code einbetten";
+App::$strings["Edit App"] = "App bearbeiten";
+App::$strings["Create App"] = "App erstellen";
+App::$strings["Name of app"] = "Name der App";
+App::$strings["Location (URL) of app"] = "Ort (URL) der App";
+App::$strings["Photo icon URL"] = "URL zum Icon";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
+App::$strings["Categories (optional, comma separated list)"] = "Kategorien (optional, kommagetrennte Liste)";
+App::$strings["Version ID"] = "Versions-ID";
+App::$strings["Price of app"] = "Preis der App";
+App::$strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
App::$strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
App::$strings["Save Bookmark"] = "Lesezeichen speichern";
App::$strings["URL of bookmark"] = "URL des Lesezeichens";
@@ -1273,7 +1270,7 @@ App::$strings["Please select a default timezone for your website"] = "Standard-Z
App::$strings["Site settings"] = "Seiteneinstellungen";
App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "<strong>Erweiterte</strong> Funktionen für \$Projectname aktivieren?";
App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Einige erweiterte Funktionen können ungeachtet ihrer Nützlichkeit eher für eine technisch versierte Zielgruppe geeignet sein.";
-App::$strings["PHP version 5.4 or greater is required."] = "PHP wird in Version 5.4 oder höher benötigt.";
+App::$strings["PHP version 5.5 or greater is required."] = "PHP Version 5.5 oder höher wird benötigt.";
App::$strings["PHP version"] = "PHP-Version";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
@@ -1313,7 +1310,7 @@ App::$strings["At the end of this procedure, we will give you a text to save in
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
App::$strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "\$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Webserver Schreibzugriff auf das Verzeichnis %s unterhalb des \$Projectname-Installationsverzeichnisses.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses.";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält.";
App::$strings["%s is writable"] = "%s ist beschreibbar";
@@ -1409,95 +1406,131 @@ App::$strings["Page Link"] = "Seiten-Link";
App::$strings["Page Title"] = "Seitentitel";
App::$strings["Xchan Lookup"] = "Xchan-Suche";
App::$strings["Lookup xchan beginning with (or webbie): "] = "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:";
-App::$strings["No username found in import file."] = "Kein Benutzername in der Importdatei gefunden.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen.";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
-App::$strings["Public Timeline"] = "Öffentliche Zeitleiste";
+App::$strings["Site Admin"] = "Hub-Administration";
+App::$strings["Bug Report"] = "Fehler-Rückmeldung";
+App::$strings["View Bookmarks"] = "Lesezeichen ansehen";
+App::$strings["My Chatrooms"] = "Meine Chaträume";
+App::$strings["Firefox Share"] = "Teilen-Knopf für Firefox";
+App::$strings["Remote Diagnostics"] = "Ferndiagnose";
+App::$strings["Suggest Channels"] = "Kanäle vorschlagen";
+App::$strings["Login"] = "Anmelden";
+App::$strings["Grid"] = "Grid";
+App::$strings["Channel Home"] = "Mein Kanal";
+App::$strings["Events"] = "Termine";
+App::$strings["Directory"] = "Verzeichnis";
+App::$strings["Mail"] = "Mail";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Testen";
+App::$strings["Suggest"] = "Empfehlen";
+App::$strings["Random Channel"] = "Zufälliger Kanal";
+App::$strings["Invite"] = "Einladen";
+App::$strings["Features"] = "Funktionen";
+App::$strings["Post"] = "Beitrag schreiben";
+App::$strings["Purchase"] = "Kaufen";
+App::$strings["Missing room name"] = "Der Chatraum hat keinen Namen";
+App::$strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
+App::$strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
+App::$strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
+App::$strings["Room is full"] = "Der Chatraum ist voll";
+App::$strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Danke.";
+App::$strings["%s Administrator"] = "der Administrator von %s";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Benachrichtigung] Neue Mail empfangen auf %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
+App::$strings["a private message"] = "eine private Nachricht";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Benachrichtigung] %s schrieb auf Deine Pinnwand";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Benachrichtigung] %s hat Dich erwähnt";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Benachrichtigung] %1\$s hat Dich angestupst";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Benachrichtigung] Vorstellung erhalten";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
+App::$strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Benachrichtigung] Freundschaftsvorschlag erhalten";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
+App::$strings["Name:"] = "Name:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Benachrichtigung]";
App::$strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
App::$strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
-App::$strings["Embedded content"] = "Eingebetteter Inhalt";
-App::$strings["Embedding disabled"] = "Einbetten ausgeschaltet";
-App::$strings["Currently Male"] = "Momentan männlich";
-App::$strings["Currently Female"] = "Momentan weiblich";
-App::$strings["Mostly Male"] = "Größtenteils männlich";
-App::$strings["Mostly Female"] = "Größtenteils weiblich";
-App::$strings["Transgender"] = "Transsexuell";
-App::$strings["Intersex"] = "Zwischengeschlechtlich";
-App::$strings["Transsexual"] = "Transsexuell";
-App::$strings["Hermaphrodite"] = "Zwitter";
-App::$strings["Neuter"] = "Geschlechtslos";
-App::$strings["Non-specific"] = "unklar";
-App::$strings["Other"] = "Andere";
-App::$strings["Undecided"] = "Unentschieden";
-App::$strings["Males"] = "Männer";
-App::$strings["Females"] = "Frauen";
-App::$strings["Gay"] = "Schwul";
-App::$strings["Lesbian"] = "Lesbisch";
-App::$strings["No Preference"] = "Keine Bevorzugung";
-App::$strings["Bisexual"] = "Bisexuell";
-App::$strings["Autosexual"] = "Autosexuell";
-App::$strings["Abstinent"] = "Enthaltsam";
-App::$strings["Virgin"] = "Jungfräulich";
-App::$strings["Deviant"] = "Abweichend";
-App::$strings["Fetish"] = "Fetisch";
-App::$strings["Oodles"] = "Unmengen";
-App::$strings["Nonsexual"] = "Sexlos";
-App::$strings["Single"] = "Single";
-App::$strings["Lonely"] = "Einsam";
-App::$strings["Available"] = "Verfügbar";
-App::$strings["Unavailable"] = "Nicht verfügbar";
-App::$strings["Has crush"] = "Verguckt";
-App::$strings["Infatuated"] = "Verknallt";
-App::$strings["Dating"] = "Lerne gerade jemanden kennen";
-App::$strings["Unfaithful"] = "Treulos";
-App::$strings["Sex Addict"] = "Sexabhängig";
-App::$strings["Friends/Benefits"] = "Freunde/Begünstigte";
-App::$strings["Casual"] = "Lose";
-App::$strings["Engaged"] = "Verlobt";
-App::$strings["Married"] = "Verheiratet";
-App::$strings["Imaginarily married"] = "Gewissermaßen verheiratet";
-App::$strings["Partners"] = "Partner";
-App::$strings["Cohabiting"] = "Lebensgemeinschaft";
-App::$strings["Common law"] = "Informelle Ehe";
-App::$strings["Happy"] = "Glücklich";
-App::$strings["Not looking"] = "Nicht Ausschau haltend";
-App::$strings["Swinger"] = "Swinger";
-App::$strings["Betrayed"] = "Betrogen";
-App::$strings["Separated"] = "Getrennt";
-App::$strings["Unstable"] = "Labil";
-App::$strings["Divorced"] = "Geschieden";
-App::$strings["Imaginarily divorced"] = "Gewissermaßen geschieden";
-App::$strings["Widowed"] = "Verwitwet";
-App::$strings["Uncertain"] = "Ungewiss";
-App::$strings["It's complicated"] = "Es ist kompliziert";
-App::$strings["Don't care"] = "Interessiert mich nicht";
-App::$strings["Ask me"] = "Frag mich mal";
-App::$strings["New window"] = "Neues Fenster";
-App::$strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab";
-App::$strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
-App::$strings["Invalid data packet"] = "Ungültiges Datenpaket";
-App::$strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
-App::$strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
-App::$strings["invalid target signature"] = "Ungültige Signatur des Ziels";
-App::$strings["%d invitation available"] = array(
- 0 => "%d Einladung verfügbar",
- 1 => "%d Einladungen verfügbar",
+App::$strings["Private Message"] = "Private Nachricht";
+App::$strings["Select"] = "Auswählen";
+App::$strings["Save to Folder"] = "In Ordner speichern";
+App::$strings["I will attend"] = "Ich werde teilnehmen";
+App::$strings["I will not attend"] = "Ich werde nicht teilnehmen";
+App::$strings["I might attend"] = "Ich werde vielleicht teilnehmen";
+App::$strings["I agree"] = "Ich stimme zu";
+App::$strings["I disagree"] = "Ich lehne ab";
+App::$strings["I abstain"] = "Ich enthalte mich";
+App::$strings["Add Star"] = "Stern hinzufügen";
+App::$strings["Remove Star"] = "Stern entfernen";
+App::$strings["Toggle Star Status"] = "Markierungsstatus (Stern) umschalten";
+App::$strings["starred"] = "markiert";
+App::$strings["Message signature validated"] = "Signatur überprüft";
+App::$strings["Message signature incorrect"] = "Signatur nicht korrekt";
+App::$strings["Add Tag"] = "Tag hinzufügen";
+App::$strings["like"] = "mag";
+App::$strings["dislike"] = "verurteile";
+App::$strings["Share This"] = "Teilen";
+App::$strings["share"] = "Teilen";
+App::$strings["Delivery Report"] = "Zustellungsbericht";
+App::$strings["%d comment"] = array(
+ 0 => "%d Kommentar",
+ 1 => "%d Kommentare",
);
-App::$strings["Find Channels"] = "Finde Kanäle";
-App::$strings["Enter name or interest"] = "Name oder Interessen eingeben";
-App::$strings["Connect/Follow"] = "Verbinden/Folgen";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
-App::$strings["Random Profile"] = "Zufallsprofil";
-App::$strings["Invite Friends"] = "Lade Freunde ein";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
-App::$strings["Saved Folders"] = "Gespeicherte Ordner";
-App::$strings["Everything"] = "Alles";
+App::$strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
+App::$strings["to"] = "an";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "Wall-to-Wall";
+App::$strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
+App::$strings["from %s"] = "via %s";
+App::$strings["last edited: %s"] = "zuletzt bearbeitet: %s";
+App::$strings["Expires: %s"] = "Verfällt: %s";
+App::$strings["Save Bookmarks"] = "Favoriten speichern";
+App::$strings["Add to Calendar"] = "Zum Kalender hinzufügen";
+App::$strings["Mark all seen"] = "Alle als gelesen markieren";
+App::$strings["[+] show all"] = "[+] Alle anzeigen";
+App::$strings["Bold"] = "Fett";
+App::$strings["Italic"] = "Kursiv";
+App::$strings["Underline"] = "Unterstrichen";
+App::$strings["Quote"] = "Zitat";
+App::$strings["Code"] = "Code";
+App::$strings["Image"] = "Bild";
+App::$strings["Insert Link"] = "Link einfügen";
+App::$strings["Video"] = "Video";
+App::$strings["No username found in import file."] = "Kein Benutzername in der Importdatei gefunden.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
App::$strings["Categories"] = "Kategorien";
-App::$strings["%d connection in common"] = array(
- 0 => "%d gemeinsame Verbindung",
- 1 => "%d gemeinsame Verbindungen",
-);
-App::$strings["show more"] = "mehr zeigen";
+App::$strings["Tags"] = "Schlagwörter";
+App::$strings["Keywords"] = "Schlüsselwörter";
+App::$strings["have"] = "habe";
+App::$strings["has"] = "hat";
+App::$strings["want"] = "will";
+App::$strings["wants"] = "will";
+App::$strings["likes"] = "gefällt";
+App::$strings["dislikes"] = "missfällt";
App::$strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i";
App::$strings["Starts:"] = "Beginnt:";
App::$strings["Finishes:"] = "Endet:";
@@ -1507,6 +1540,97 @@ App::$strings["Needs Action"] = "Aktion erforderlich";
App::$strings["Completed"] = "Abgeschlossen";
App::$strings["In Process"] = "In Bearbeitung";
App::$strings["Cancelled"] = "gestrichen";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
+App::$strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
+App::$strings["(Unknown)"] = "(Unbekannt)";
+App::$strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
+App::$strings["Visible to you only."] = "Nur für Dich sichtbar.";
+App::$strings["Visible to anybody in this network."] = "Für jedes \$Projectname-Mitglied sichtbar.";
+App::$strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
+App::$strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
+App::$strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
+App::$strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
+App::$strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
+App::$strings["Privacy group is empty."] = "Gruppe ist leer.";
+App::$strings["Privacy group: %s"] = "Gruppe: %s";
+App::$strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
+App::$strings["profile photo"] = "Profilfoto";
+App::$strings["No recipient provided."] = "Kein Empfänger angegeben";
+App::$strings["[no subject]"] = "[no subject]";
+App::$strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
+App::$strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
+App::$strings["prev"] = "vorherige";
+App::$strings["first"] = "erste";
+App::$strings["last"] = "letzte";
+App::$strings["next"] = "nächste";
+App::$strings["older"] = "älter";
+App::$strings["newer"] = "neuer";
+App::$strings["No connections"] = "Keine Verbindungen";
+App::$strings["View all %s connections"] = "Alle Verbindungen von %s anzeigen";
+App::$strings["poke"] = "anstupsen";
+App::$strings["poked"] = "stupste";
+App::$strings["ping"] = "anpingen";
+App::$strings["pinged"] = "pingte";
+App::$strings["prod"] = "knuffen";
+App::$strings["prodded"] = "knuffte";
+App::$strings["slap"] = "ohrfeigen";
+App::$strings["slapped"] = "ohrfeigte";
+App::$strings["finger"] = "befummeln";
+App::$strings["fingered"] = "befummelte";
+App::$strings["rebuff"] = "eine Abfuhr erteilen";
+App::$strings["rebuffed"] = "zurückgewiesen";
+App::$strings["happy"] = "glücklich";
+App::$strings["sad"] = "traurig";
+App::$strings["mellow"] = "sanft";
+App::$strings["tired"] = "müde";
+App::$strings["perky"] = "frech";
+App::$strings["angry"] = "sauer";
+App::$strings["stupefied"] = "verblüfft";
+App::$strings["puzzled"] = "verwirrt";
+App::$strings["interested"] = "interessiert";
+App::$strings["bitter"] = "verbittert";
+App::$strings["cheerful"] = "fröhlich";
+App::$strings["alive"] = "lebendig";
+App::$strings["annoyed"] = "verärgert";
+App::$strings["anxious"] = "unruhig";
+App::$strings["cranky"] = "schrullig";
+App::$strings["disturbed"] = "verstört";
+App::$strings["frustrated"] = "frustriert";
+App::$strings["depressed"] = "deprimiert";
+App::$strings["motivated"] = "motiviert";
+App::$strings["relaxed"] = "entspannt";
+App::$strings["surprised"] = "überrascht";
+App::$strings["Monday"] = "Montag";
+App::$strings["Tuesday"] = "Dienstag";
+App::$strings["Wednesday"] = "Mittwoch";
+App::$strings["Thursday"] = "Donnerstag";
+App::$strings["Friday"] = "Freitag";
+App::$strings["Saturday"] = "Samstag";
+App::$strings["Sunday"] = "Sonntag";
+App::$strings["January"] = "Januar";
+App::$strings["February"] = "Februar";
+App::$strings["March"] = "März";
+App::$strings["April"] = "April";
+App::$strings["May"] = "Mai";
+App::$strings["June"] = "Juni";
+App::$strings["July"] = "Juli";
+App::$strings["August"] = "August";
+App::$strings["September"] = "September";
+App::$strings["October"] = "Oktober";
+App::$strings["November"] = "November";
+App::$strings["December"] = "Dezember";
+App::$strings["Unknown Attachment"] = "Unbekannter Anhang";
+App::$strings["unknown"] = "unbekannt";
+App::$strings["remove category"] = "Kategorie entfernen";
+App::$strings["remove from file"] = "aus der Datei entfernen";
+App::$strings["default"] = "Standard";
+App::$strings["Page layout"] = "Seiten-Layout";
+App::$strings["You can create your own with the layouts tool"] = "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen";
+App::$strings["Page content type"] = "Art des Seiteninhalts";
+App::$strings["Select an alternate language"] = "Wähle eine alternative Sprache";
+App::$strings["activity"] = "Aktivität";
+App::$strings["Design Tools"] = "Gestaltungswerkzeuge";
+App::$strings["Pages"] = "Seiten";
App::$strings["System"] = "System";
App::$strings["New App"] = "Neue App";
App::$strings["Suggestions"] = "Vorschläge";
@@ -1519,6 +1643,8 @@ App::$strings["Notes"] = "Notizen";
App::$strings["Remove term"] = "Eintrag löschen";
App::$strings["Saved Searches"] = "Gespeicherte Suchanfragen";
App::$strings["add"] = "hinzufügen";
+App::$strings["Saved Folders"] = "Gespeicherte Ordner";
+App::$strings["Everything"] = "Alles";
App::$strings["Archives"] = "Archive";
App::$strings["Refresh"] = "Aktualisieren";
App::$strings["Account settings"] = "Konto-Einstellungen";
@@ -1564,87 +1690,48 @@ App::$strings["Project/Site Information"] = "Informationen über das Projekt und
App::$strings["For Members"] = "Für Mitglieder";
App::$strings["For Administrators"] = "Für Administratoren";
App::$strings["For Developers"] = "Für Entwickler";
-App::$strings["Accounts"] = "Konten";
App::$strings["Member registrations waiting for confirmation"] = "Nutzer-Anmeldungen, die auf Bestätigung warten";
-App::$strings["Features"] = "Funktionen";
App::$strings["Inspect queue"] = "Warteschlange kontrollieren";
App::$strings["DB updates"] = "DB-Aktualisierungen";
App::$strings["Admin"] = "Administration";
App::$strings["Plugin Features"] = "Plug-In Funktionen";
+App::$strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
+App::$strings["Channel location missing."] = "Adresse des Kanals fehlt.";
+App::$strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
+App::$strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
+App::$strings["Protocol disabled."] = "Protokoll deaktiviert.";
+App::$strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
+App::$strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
App::$strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
-App::$strings["Missing room name"] = "Der Chatraum hat keinen Namen";
-App::$strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
-App::$strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
-App::$strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
-App::$strings["Room is full"] = "Der Chatraum ist voll";
-App::$strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
-App::$strings["Empty name"] = "Namensfeld leer";
-App::$strings["Name too long"] = "Name ist zu lang";
-App::$strings["No account identifier"] = "Keine Account-Kennung";
-App::$strings["Nickname is required."] = "Spitzname ist erforderlich.";
-App::$strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
-App::$strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
-App::$strings["Default Profile"] = "Standard-Profil";
-App::$strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
-App::$strings["Create New Profile"] = "Neues Profil erstellen";
-App::$strings["Edit Profile"] = "Profile bearbeiten";
-App::$strings["Visible to everybody"] = "Für jeden sichtbar";
-App::$strings["Gender:"] = "Geschlecht:";
-App::$strings["Status:"] = "Status:";
-App::$strings["Homepage:"] = "Homepage:";
-App::$strings["Online Now"] = "gerade online";
-App::$strings["F d"] = "d. F";
-App::$strings["Birthday Reminders"] = "Geburtstags Erinnerungen";
-App::$strings["Birthdays this week:"] = "Geburtstage in dieser Woche:";
-App::$strings["[No description]"] = "[Keine Beschreibung]";
-App::$strings["Event Reminders"] = "Termin-Erinnerungen";
-App::$strings["Events this week:"] = "Termine in dieser Woche:";
-App::$strings["Like this channel"] = "Dieser Kanal gefällt mir";
-App::$strings["j F, Y"] = "j. F Y";
-App::$strings["j F"] = "j. F";
-App::$strings["Birthday:"] = "Geburtstag:";
-App::$strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Sexuelle Orientierung:";
-App::$strings["Tags:"] = "Schlagworte:";
-App::$strings["Political Views:"] = "Politische Ansichten:";
-App::$strings["Religion:"] = "Religion:";
-App::$strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
-App::$strings["Likes:"] = "Gefällt:";
-App::$strings["Dislikes:"] = "Gefällt nicht:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
-App::$strings["My other channels:"] = "Meine anderen Kanäle:";
-App::$strings["Musical interests:"] = "Musikalische Interessen:";
-App::$strings["Books, literature:"] = "Bücher, Literatur:";
-App::$strings["Television:"] = "Fernsehen:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
-App::$strings["Love/Romance:"] = "Liebe/Romantik:";
-App::$strings["Work/employment:"] = "Arbeit/Anstellung:";
-App::$strings["School/education:"] = "Schule/Ausbildung:";
-App::$strings["Like this thing"] = "Gefällt mir";
+App::$strings["Public Timeline"] = "Öffentliche Zeitleiste";
+App::$strings["Image/photo"] = "Bild/Foto";
+App::$strings["Encrypted content"] = "Verschlüsselter Inhalt";
+App::$strings["Install %s element: "] = "Element %s installieren: ";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
+App::$strings["spoiler"] = "Spoiler";
+App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
+App::$strings["$1 wrote:"] = "$1 schrieb:";
+App::$strings["Directory Options"] = "Verzeichnisoptionen";
+App::$strings["Safe Mode"] = "Sicherer Modus";
+App::$strings["Public Forums Only"] = "Nur öffentliche Foren";
+App::$strings["This Website Only"] = "Nur dieser Hub";
App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Webseitenlimit von %lu Bytes";
-App::$strings["Image file is empty."] = "Bilddatei ist leer.";
-App::$strings["Photo storage failed."] = "Fotospeicherung fehlgeschlagen.";
-App::$strings["a new photo"] = "ein neues Foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s hat %2\$s auf %3\$s veröffentlicht";
-App::$strings["Photo Albums"] = "Fotoalben";
-App::$strings["Upload New Photos"] = "Neue Fotos hochladen";
App::$strings["Logout"] = "Abmelden";
App::$strings["End this session"] = "Beende diese Sitzung";
App::$strings["Home"] = "Home";
App::$strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
App::$strings["Your profile page"] = "Deine Profilseite";
App::$strings["Manage/Edit profiles"] = "Profile verwalten";
+App::$strings["Edit Profile"] = "Profile bearbeiten";
App::$strings["Edit your profile"] = "Profil bearbeiten";
App::$strings["Your photos"] = "Deine Bilder";
App::$strings["Your files"] = "Deine Dateien";
-App::$strings["Chat"] = "Chat";
App::$strings["Your chatrooms"] = "Deine Chaträume";
App::$strings["Bookmarks"] = "Lesezeichen";
App::$strings["Your bookmarks"] = "Deine Lesezeichen";
App::$strings["Your webpages"] = "Deine Webseiten";
-App::$strings["Login"] = "Anmelden";
App::$strings["Sign in"] = "Anmelden";
App::$strings["%s - click to logout"] = "%s - Klick zum Abmelden";
App::$strings["Remote authentication"] = "Über Konto auf anderem Server einloggen";
@@ -1654,22 +1741,17 @@ App::$strings["Create an account"] = "Erzeuge ein Konto";
App::$strings["Help and documentation"] = "Hilfe und Dokumentation";
App::$strings["Applications, utilities, links, games"] = "Anwendungen (Apps), Zubehör, Links, Spiele";
App::$strings["Search site @name, #tag, ?docs, content"] = "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt";
-App::$strings["Directory"] = "Verzeichnis";
App::$strings["Channel Directory"] = "Kanal-Verzeichnis";
-App::$strings["Grid"] = "Grid";
App::$strings["Your grid"] = "Dein Grid";
App::$strings["Mark all grid notifications seen"] = "Alle Grid-Benachrichtigungen als angesehen markieren";
-App::$strings["Channel Home"] = "Mein Kanal";
App::$strings["Channel home"] = "Mein Kanal";
App::$strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
App::$strings["Notices"] = "Benachrichtigungen";
App::$strings["Notifications"] = "Benachrichtigungen";
App::$strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
-App::$strings["Mail"] = "Mail";
App::$strings["Private mail"] = "Persönliche Mail";
App::$strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
App::$strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
-App::$strings["Events"] = "Termine";
App::$strings["Event Calendar"] = "Terminkalender";
App::$strings["See all events"] = "Alle Termine ansehen";
App::$strings["Mark all events seen"] = "Markiere alle Termine als gesehen";
@@ -1679,268 +1761,27 @@ App::$strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfigu
App::$strings["Loading..."] = "Lädt ...";
App::$strings["@name, #tag, ?doc, content"] = "@Name, #Schlagwort, ?Dokumentation, Inhalt";
App::$strings["Please wait..."] = "Bitte warten...";
-App::$strings["Frequently"] = "Häufig";
-App::$strings["Hourly"] = "Stündlich";
-App::$strings["Twice daily"] = "Zwei Mal am Tag";
-App::$strings["Daily"] = "Täglich";
-App::$strings["Weekly"] = "Wöchentlich";
-App::$strings["Monthly"] = "Monatlich";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU-Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Logged out."] = "Ausgeloggt.";
-App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
-App::$strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
-App::$strings["No source file."] = "Keine Quelldatei.";
-App::$strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
-App::$strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
-App::$strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
-App::$strings["Path not available."] = "Pfad nicht verfügbar.";
-App::$strings["Empty pathname"] = "Leere Pfadangabe";
-App::$strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
-App::$strings["Path not found."] = "Pfad nicht gefunden.";
-App::$strings["mkdir failed."] = "mkdir fehlgeschlagen.";
-App::$strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
-App::$strings["Empty path"] = "Leere Pfadangabe";
-App::$strings["Birthday"] = "Geburtstag";
-App::$strings["Age: "] = "Alter:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
-App::$strings["never"] = "Nie";
-App::$strings["less than a second ago"] = "Vor weniger als einer Sekunde";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "vor %1\$d %2\$s";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "Jahr",
- 1 => "Jahre",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "Monat",
- 1 => "Monate",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "Woche",
- 1 => "Wochen",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "Tag",
- 1 => "Tage",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "Stunde",
- 1 => "Stunden",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "Minute",
- 1 => "Minuten",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "Sekunde",
- 1 => "Sekunden",
+App::$strings["New window"] = "Neues Fenster";
+App::$strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab";
+App::$strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d Einladung verfügbar",
+ 1 => "%d Einladungen verfügbar",
);
-App::$strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
-App::$strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
-App::$strings["Directory Options"] = "Verzeichnisoptionen";
-App::$strings["Safe Mode"] = "Sicherer Modus";
-App::$strings["Public Forums Only"] = "Nur öffentliche Foren";
-App::$strings["This Website Only"] = "Nur dieser Hub";
-App::$strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Danke.";
-App::$strings["%s Administrator"] = "der Administrator von %s";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Benachrichtigung] Neue Mail empfangen auf %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
-App::$strings["a private message"] = "eine private Nachricht";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Benachrichtigung] %s schrieb auf Deine Pinnwand";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Benachrichtigung] %s hat Dich erwähnt";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Benachrichtigung] %1\$s hat Dich angestupst";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Benachrichtigung] Vorstellung erhalten";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
-App::$strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Benachrichtigung] Freundschaftsvorschlag erhalten";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
-App::$strings["Name:"] = "Name:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Benachrichtigung]";
-App::$strings["Private Message"] = "Private Nachricht";
-App::$strings["Select"] = "Auswählen";
-App::$strings["Save to Folder"] = "In Ordner speichern";
-App::$strings["I will attend"] = "Ich werde teilnehmen";
-App::$strings["I will not attend"] = "Ich werde nicht teilnehmen";
-App::$strings["I might attend"] = "Ich werde vielleicht teilnehmen";
-App::$strings["I agree"] = "Ich stimme zu";
-App::$strings["I disagree"] = "Ich lehne ab";
-App::$strings["I abstain"] = "Ich enthalte mich";
-App::$strings["Add Star"] = "Stern hinzufügen";
-App::$strings["Remove Star"] = "Stern entfernen";
-App::$strings["Toggle Star Status"] = "Markierungsstatus (Stern) umschalten";
-App::$strings["starred"] = "markiert";
-App::$strings["Message signature validated"] = "Signatur überprüft";
-App::$strings["Message signature incorrect"] = "Signatur nicht korrekt";
-App::$strings["Add Tag"] = "Tag hinzufügen";
-App::$strings["like"] = "mag";
-App::$strings["dislike"] = "verurteile";
-App::$strings["Share This"] = "Teilen";
-App::$strings["share"] = "Teilen";
-App::$strings["Delivery Report"] = "Zustellungsbericht";
-App::$strings["%d comment"] = array(
- 0 => "%d Kommentar",
- 1 => "%d Kommentare",
+App::$strings["Find Channels"] = "Finde Kanäle";
+App::$strings["Enter name or interest"] = "Name oder Interessen eingeben";
+App::$strings["Connect/Follow"] = "Verbinden/Folgen";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
+App::$strings["Random Profile"] = "Zufallsprofil";
+App::$strings["Invite Friends"] = "Lade Freunde ein";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d gemeinsame Verbindung",
+ 1 => "%d gemeinsame Verbindungen",
);
-App::$strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
-App::$strings["to"] = "an";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "Wall-to-Wall";
-App::$strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
-App::$strings["from %s"] = "via %s";
-App::$strings["last edited: %s"] = "zuletzt bearbeitet: %s";
-App::$strings["Expires: %s"] = "Verfällt: %s";
-App::$strings["Save Bookmarks"] = "Favoriten speichern";
-App::$strings["Add to Calendar"] = "Zum Kalender hinzufügen";
-App::$strings["Mark all seen"] = "Alle als gelesen markieren";
-App::$strings["[+] show all"] = "[+] Alle anzeigen";
-App::$strings["Bold"] = "Fett";
-App::$strings["Italic"] = "Kursiv";
-App::$strings["Underline"] = "Unterstrichen";
-App::$strings["Quote"] = "Zitat";
-App::$strings["Code"] = "Code";
-App::$strings["Image"] = "Bild";
-App::$strings["Insert Link"] = "Link einfügen";
-App::$strings["Video"] = "Video";
-App::$strings[" and "] = "und";
-App::$strings["public profile"] = "öffentliches Profil";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
-App::$strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
-App::$strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
-App::$strings["Channel location missing."] = "Adresse des Kanals fehlt.";
-App::$strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
-App::$strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
-App::$strings["Protocol disabled."] = "Protokoll deaktiviert.";
-App::$strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
-App::$strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
-App::$strings["General Features"] = "Allgemeine Funktionen";
-App::$strings["Content Expiration"] = "Verfall von Inhalten";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum.";
-App::$strings["Multiple Profiles"] = "Mehrfachprofile";
-App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
-App::$strings["Advanced Profiles"] = "Erweiterte Profile";
-App::$strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
-App::$strings["Profile Import/Export"] = "Profil-Import/Export";
-App::$strings["Save and load profile details across sites/channels"] = "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren";
-App::$strings["Web Pages"] = "Webseiten";
-App::$strings["Provide managed web pages on your channel"] = "Ermöglicht das Erstellen von Webseiten in Deinem Kanal";
-App::$strings["Hide Rating"] = "Bewertung verbergen";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Verberge die Buttons zur Bewertung auf deiner Profil-Seite und deinem Kanal. Hinweis: Leute können dich weiterhin andernorts bewerten.";
-App::$strings["Private Notes"] = "Private Notizen";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)";
-App::$strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü";
-App::$strings["Photo Location"] = "Aufnahmeort";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte";
-App::$strings["Access Controlled Chatrooms"] = "Zugriffskontrollierte Chaträume";
-App::$strings["Provide chatrooms and chat services with access control."] = "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an.";
-App::$strings["Smart Birthdays"] = "Smarte Geburtstage";
-App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind.";
-App::$strings["Expert Mode"] = "Expertenmodus";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviert den Expertenmodus, der fortgeschrittene Konfigurationsoptionen zur Verfügung stellt";
-App::$strings["Premium Channel"] = "Premium-Kanal";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
-App::$strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
-App::$strings["Large Photos"] = "Große Fotos";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet.";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds";
-App::$strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)";
-App::$strings["Enable Voting Tools"] = "Umfragewerkzeuge aktivieren";
-App::$strings["Provide a class of post which others can vote on"] = "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)";
-App::$strings["Delayed Posting"] = "Verzögertes Senden";
-App::$strings["Allow posts to be published at a later date"] = "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Doppelte Beiträge unterdrücken";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden.";
-App::$strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
-App::$strings["Search by Date"] = "Suche nach Datum";
-App::$strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
-App::$strings["Privacy Groups"] = "Gruppen";
-App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
-App::$strings["Save search terms for re-use"] = "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung";
-App::$strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast";
-App::$strings["Network New Tab"] = "Netzwerkreiter Neu";
-App::$strings["Enable tab to display all new Network activity"] = "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt";
-App::$strings["Affinity Tool"] = "Beziehungs-Tool";
-App::$strings["Filter stream activity by depth of relationships"] = "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann";
-App::$strings["Connection Filtering"] = "Filter für Verbindungen";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)";
-App::$strings["Suggest Channels"] = "Kanäle vorschlagen";
-App::$strings["Show channel suggestions"] = "Kanalvorschläge anzeigen";
-App::$strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
-App::$strings["Community Tagging"] = "Gemeinschaftliches Verschlagworten";
-App::$strings["Ability to tag existing posts"] = "Ermöglicht das Verschlagworten existierender Beiträge";
-App::$strings["Post Categories"] = "Beitrags-Kategorien";
-App::$strings["Add categories to your posts"] = "Aktiviert Kategorien für Beiträge";
-App::$strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
-App::$strings["Dislike Posts"] = "Gefällt-mir-nicht-Beiträge";
-App::$strings["Ability to dislike posts/comments"] = "Aktiviert die „Gefällt mir nicht“-Schaltfläche";
-App::$strings["Star Posts"] = "Beiträge mit Sternchen versehen";
-App::$strings["Ability to mark special posts with a star indicator"] = "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol";
-App::$strings["Tag Cloud"] = "Schlagwort-Wolke";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite";
-App::$strings["No recipient provided."] = "Kein Empfänger angegeben";
-App::$strings["[no subject]"] = "[no subject]";
-App::$strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
-App::$strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
-App::$strings["view full size"] = "In Vollbildansicht anschauen";
-App::$strings["Administrator"] = "Administrator";
-App::$strings["No Subject"] = "Kein Betreff";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen.";
-App::$strings["Add new connections to this privacy group"] = "Neue Verbindung zu dieser Gruppe hinzufügen";
-App::$strings["edit"] = "Bearbeiten";
-App::$strings["Edit group"] = "Gruppe ändern";
-App::$strings["Add privacy group"] = "Gruppe hinzufügen";
-App::$strings["Channels not in any privacy group"] = "Kanäle, die in keiner Gruppe sind";
-App::$strings["Image/photo"] = "Bild/Foto";
-App::$strings["Encrypted content"] = "Verschlüsselter Inhalt";
-App::$strings["Install %s element: "] = "Element %s installieren: ";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
-App::$strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
-App::$strings["spoiler"] = "Spoiler";
-App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
-App::$strings["$1 wrote:"] = "$1 schrieb:";
+App::$strings["show more"] = "mehr zeigen";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
App::$strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s an";
-App::$strings["poked"] = "stupste";
App::$strings["View %s's profile @ %s"] = "%ss Profil auf %s ansehen";
App::$strings["Categories:"] = "Kategorien:";
App::$strings["Filed under:"] = "Gespeichert unter:";
@@ -1995,6 +1836,7 @@ App::$strings["Posts flagged as SPAM"] = "Nachrichten, die als SPAM markiert wur
App::$strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
App::$strings["About"] = "Über";
App::$strings["Profile Details"] = "Profil-Details";
+App::$strings["Photo Albums"] = "Fotoalben";
App::$strings["Files and Storage"] = "Dateien und Speicher";
App::$strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen";
App::$strings["Manage Webpages"] = "Webseiten verwalten";
@@ -2022,77 +1864,81 @@ App::$strings["__ctx:noun__ Abstain"] = array(
0 => "Enthaltung",
1 => "Enthaltungen",
);
-App::$strings["prev"] = "vorherige";
-App::$strings["first"] = "erste";
-App::$strings["last"] = "letzte";
-App::$strings["next"] = "nächste";
-App::$strings["older"] = "älter";
-App::$strings["newer"] = "neuer";
-App::$strings["No connections"] = "Keine Verbindungen";
-App::$strings["View all %s connections"] = "Alle Verbindungen von %s anzeigen";
-App::$strings["poke"] = "anstupsen";
-App::$strings["ping"] = "anpingen";
-App::$strings["pinged"] = "pingte";
-App::$strings["prod"] = "knuffen";
-App::$strings["prodded"] = "knuffte";
-App::$strings["slap"] = "ohrfeigen";
-App::$strings["slapped"] = "ohrfeigte";
-App::$strings["finger"] = "befummeln";
-App::$strings["fingered"] = "befummelte";
-App::$strings["rebuff"] = "eine Abfuhr erteilen";
-App::$strings["rebuffed"] = "zurückgewiesen";
-App::$strings["happy"] = "glücklich";
-App::$strings["sad"] = "traurig";
-App::$strings["mellow"] = "sanft";
-App::$strings["tired"] = "müde";
-App::$strings["perky"] = "frech";
-App::$strings["angry"] = "sauer";
-App::$strings["stupefied"] = "verblüfft";
-App::$strings["puzzled"] = "verwirrt";
-App::$strings["interested"] = "interessiert";
-App::$strings["bitter"] = "verbittert";
-App::$strings["cheerful"] = "fröhlich";
-App::$strings["alive"] = "lebendig";
-App::$strings["annoyed"] = "verärgert";
-App::$strings["anxious"] = "unruhig";
-App::$strings["cranky"] = "schrullig";
-App::$strings["disturbed"] = "verstört";
-App::$strings["frustrated"] = "frustriert";
-App::$strings["depressed"] = "deprimiert";
-App::$strings["motivated"] = "motiviert";
-App::$strings["relaxed"] = "entspannt";
-App::$strings["surprised"] = "überrascht";
-App::$strings["Monday"] = "Montag";
-App::$strings["Tuesday"] = "Dienstag";
-App::$strings["Wednesday"] = "Mittwoch";
-App::$strings["Thursday"] = "Donnerstag";
-App::$strings["Friday"] = "Freitag";
-App::$strings["Saturday"] = "Samstag";
-App::$strings["Sunday"] = "Sonntag";
-App::$strings["January"] = "Januar";
-App::$strings["February"] = "Februar";
-App::$strings["March"] = "März";
-App::$strings["April"] = "April";
-App::$strings["May"] = "Mai";
-App::$strings["June"] = "Juni";
-App::$strings["July"] = "Juli";
-App::$strings["August"] = "August";
-App::$strings["September"] = "September";
-App::$strings["October"] = "Oktober";
-App::$strings["November"] = "November";
-App::$strings["December"] = "Dezember";
-App::$strings["Unknown Attachment"] = "Unbekannter Anhang";
-App::$strings["unknown"] = "unbekannt";
-App::$strings["remove category"] = "Kategorie entfernen";
-App::$strings["remove from file"] = "aus der Datei entfernen";
-App::$strings["default"] = "Standard";
-App::$strings["Page layout"] = "Seiten-Layout";
-App::$strings["You can create your own with the layouts tool"] = "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen";
-App::$strings["Page content type"] = "Art des Seiteninhalts";
-App::$strings["Select an alternate language"] = "Wähle eine alternative Sprache";
-App::$strings["activity"] = "Aktivität";
-App::$strings["Design Tools"] = "Gestaltungswerkzeuge";
-App::$strings["Pages"] = "Seiten";
+App::$strings["Frequently"] = "Häufig";
+App::$strings["Hourly"] = "Stündlich";
+App::$strings["Twice daily"] = "Zwei Mal am Tag";
+App::$strings["Daily"] = "Täglich";
+App::$strings["Weekly"] = "Wöchentlich";
+App::$strings["Monthly"] = "Monatlich";
+App::$strings["Currently Male"] = "Momentan männlich";
+App::$strings["Currently Female"] = "Momentan weiblich";
+App::$strings["Mostly Male"] = "Größtenteils männlich";
+App::$strings["Mostly Female"] = "Größtenteils weiblich";
+App::$strings["Transgender"] = "Transsexuell";
+App::$strings["Intersex"] = "Zwischengeschlechtlich";
+App::$strings["Transsexual"] = "Transsexuell";
+App::$strings["Hermaphrodite"] = "Zwitter";
+App::$strings["Neuter"] = "Geschlechtslos";
+App::$strings["Non-specific"] = "unklar";
+App::$strings["Other"] = "Andere";
+App::$strings["Undecided"] = "Unentschieden";
+App::$strings["Males"] = "Männer";
+App::$strings["Females"] = "Frauen";
+App::$strings["Gay"] = "Schwul";
+App::$strings["Lesbian"] = "Lesbisch";
+App::$strings["No Preference"] = "Keine Bevorzugung";
+App::$strings["Bisexual"] = "Bisexuell";
+App::$strings["Autosexual"] = "Autosexuell";
+App::$strings["Abstinent"] = "Enthaltsam";
+App::$strings["Virgin"] = "Jungfräulich";
+App::$strings["Deviant"] = "Abweichend";
+App::$strings["Fetish"] = "Fetisch";
+App::$strings["Oodles"] = "Unmengen";
+App::$strings["Nonsexual"] = "Sexlos";
+App::$strings["Single"] = "Single";
+App::$strings["Lonely"] = "Einsam";
+App::$strings["Available"] = "Verfügbar";
+App::$strings["Unavailable"] = "Nicht verfügbar";
+App::$strings["Has crush"] = "Verguckt";
+App::$strings["Infatuated"] = "Verknallt";
+App::$strings["Dating"] = "Lerne gerade jemanden kennen";
+App::$strings["Unfaithful"] = "Treulos";
+App::$strings["Sex Addict"] = "Sexabhängig";
+App::$strings["Friends/Benefits"] = "Freunde/Begünstigte";
+App::$strings["Casual"] = "Lose";
+App::$strings["Engaged"] = "Verlobt";
+App::$strings["Married"] = "Verheiratet";
+App::$strings["Imaginarily married"] = "Gewissermaßen verheiratet";
+App::$strings["Partners"] = "Partner";
+App::$strings["Cohabiting"] = "Lebensgemeinschaft";
+App::$strings["Common law"] = "Informelle Ehe";
+App::$strings["Happy"] = "Glücklich";
+App::$strings["Not looking"] = "Nicht Ausschau haltend";
+App::$strings["Swinger"] = "Swinger";
+App::$strings["Betrayed"] = "Betrogen";
+App::$strings["Separated"] = "Getrennt";
+App::$strings["Unstable"] = "Labil";
+App::$strings["Divorced"] = "Geschieden";
+App::$strings["Imaginarily divorced"] = "Gewissermaßen geschieden";
+App::$strings["Widowed"] = "Verwitwet";
+App::$strings["Uncertain"] = "Ungewiss";
+App::$strings["It's complicated"] = "Es ist kompliziert";
+App::$strings["Don't care"] = "Interessiert mich nicht";
+App::$strings["Ask me"] = "Frag mich mal";
+App::$strings["Visible to your default audience"] = "Standard-Sichtbarkeit gemäß Kanaleinstellungen";
+App::$strings["Only me"] = "Nur ich";
+App::$strings["Public"] = "Öffentlich";
+App::$strings["Anybody in the \$Projectname network"] = "Jeder innerhalb des \$Projectname Netzwerks";
+App::$strings["Any account on %s"] = "Jedes Nutzerkonto auf %s";
+App::$strings["Any of my connections"] = "Alle meine Verbindungen";
+App::$strings["Only connections I specifically allow"] = "Nur Verbindungen, denen ich es explizit erlaube";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Alle Verbindungen einschließlich der noch nicht bestätigten";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream).";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils.";
+App::$strings["This is your default setting for who can view your connections"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen.";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos.";
+App::$strings["This is your default setting for the audience of your webpages"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten.";
App::$strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
App::$strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt";
App::$strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
@@ -2102,6 +1948,7 @@ App::$strings["Please enter the required information."] = "Bitte gib die benöti
App::$strings["Failed to store account information."] = "Speichern der Nutzerkontodaten fehlgeschlagen.";
App::$strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
App::$strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
+App::$strings["Administrator"] = "Administrator";
App::$strings["your registration password"] = "Dein Registrierungspasswort";
App::$strings["Registration details for %s"] = "Registrierungsdetails für %s";
App::$strings["Account approved."] = "Nutzerkonto bestätigt.";
@@ -2110,28 +1957,180 @@ App::$strings["Account verified. Please login."] = "Nutzerkonto wurde bestätigt
App::$strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
App::$strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
App::$strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
-App::$strings["Tags"] = "Schlagwörter";
-App::$strings["Keywords"] = "Schlüsselwörter";
-App::$strings["have"] = "habe";
-App::$strings["has"] = "hat";
-App::$strings["want"] = "will";
-App::$strings["wants"] = "will";
-App::$strings["likes"] = "gefällt";
-App::$strings["dislikes"] = "missfällt";
-App::$strings["Visible to your default audience"] = "Standard-Sichtbarkeit gemäß Kanaleinstellungen";
-App::$strings["Only me"] = "Nur ich";
-App::$strings["Public"] = "Öffentlich";
-App::$strings["Anybody in the \$Projectname network"] = "Jeder innerhalb des \$Projectname Netzwerks";
-App::$strings["Any account on %s"] = "Jedes Nutzerkonto auf %s";
-App::$strings["Any of my connections"] = "Alle meine Verbindungen";
-App::$strings["Only connections I specifically allow"] = "Nur Verbindungen, denen ich es explizit erlaube";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Alle Verbindungen einschließlich der noch nicht bestätigten";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream).";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils.";
-App::$strings["This is your default setting for who can view your connections"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen.";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos.";
-App::$strings["This is your default setting for the audience of your webpages"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten.";
+App::$strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
+App::$strings["No source file."] = "Keine Quelldatei.";
+App::$strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
+App::$strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
+App::$strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
+App::$strings["Path not available."] = "Pfad nicht verfügbar.";
+App::$strings["Empty pathname"] = "Leere Pfadangabe";
+App::$strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
+App::$strings["Path not found."] = "Pfad nicht gefunden.";
+App::$strings["mkdir failed."] = "mkdir fehlgeschlagen.";
+App::$strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
+App::$strings["Empty path"] = "Leere Pfadangabe";
+App::$strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
+App::$strings["Empty name"] = "Namensfeld leer";
+App::$strings["Name too long"] = "Name ist zu lang";
+App::$strings["No account identifier"] = "Keine Account-Kennung";
+App::$strings["Nickname is required."] = "Spitzname ist erforderlich.";
+App::$strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
+App::$strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
+App::$strings["Default Profile"] = "Standard-Profil";
+App::$strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
+App::$strings["Create New Profile"] = "Neues Profil erstellen";
+App::$strings["Visible to everybody"] = "Für jeden sichtbar";
+App::$strings["Gender:"] = "Geschlecht:";
+App::$strings["Status:"] = "Status:";
+App::$strings["Homepage:"] = "Homepage:";
+App::$strings["Online Now"] = "gerade online";
+App::$strings["Like this channel"] = "Dieser Kanal gefällt mir";
+App::$strings["j F, Y"] = "j. F Y";
+App::$strings["j F"] = "j. F";
+App::$strings["Birthday:"] = "Geburtstag:";
+App::$strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Sexuelle Orientierung:";
+App::$strings["Tags:"] = "Schlagworte:";
+App::$strings["Political Views:"] = "Politische Ansichten:";
+App::$strings["Religion:"] = "Religion:";
+App::$strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
+App::$strings["Likes:"] = "Gefällt:";
+App::$strings["Dislikes:"] = "Gefällt nicht:";
+App::$strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
+App::$strings["My other channels:"] = "Meine anderen Kanäle:";
+App::$strings["Musical interests:"] = "Musikalische Interessen:";
+App::$strings["Books, literature:"] = "Bücher, Literatur:";
+App::$strings["Television:"] = "Fernsehen:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
+App::$strings["Love/Romance:"] = "Liebe/Romantik:";
+App::$strings["Work/employment:"] = "Arbeit/Anstellung:";
+App::$strings["School/education:"] = "Schule/Ausbildung:";
+App::$strings["Like this thing"] = "Gefällt mir";
+App::$strings["General Features"] = "Allgemeine Funktionen";
+App::$strings["Content Expiration"] = "Verfall von Inhalten";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum.";
+App::$strings["Multiple Profiles"] = "Mehrfachprofile";
+App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
+App::$strings["Advanced Profiles"] = "Erweiterte Profile";
+App::$strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
+App::$strings["Profile Import/Export"] = "Profil-Import/Export";
+App::$strings["Save and load profile details across sites/channels"] = "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren";
+App::$strings["Web Pages"] = "Webseiten";
+App::$strings["Provide managed web pages on your channel"] = "Ermöglicht das Erstellen von Webseiten in Deinem Kanal";
+App::$strings["Hide Rating"] = "Bewertung verbergen";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Verberge die Buttons zur Bewertung auf deiner Profil-Seite und deinem Kanal. Hinweis: Leute können dich weiterhin andernorts bewerten.";
+App::$strings["Private Notes"] = "Private Notizen";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)";
+App::$strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü";
+App::$strings["Photo Location"] = "Aufnahmeort";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte";
+App::$strings["Access Controlled Chatrooms"] = "Zugriffskontrollierte Chaträume";
+App::$strings["Provide chatrooms and chat services with access control."] = "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an.";
+App::$strings["Smart Birthdays"] = "Smarte Geburtstage";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind.";
+App::$strings["Expert Mode"] = "Expertenmodus";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviert den Expertenmodus, der fortgeschrittene Konfigurationsoptionen zur Verfügung stellt";
+App::$strings["Premium Channel"] = "Premium-Kanal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
+App::$strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
+App::$strings["Large Photos"] = "Große Fotos";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet.";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds";
+App::$strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)";
+App::$strings["Enable Voting Tools"] = "Umfragewerkzeuge aktivieren";
+App::$strings["Provide a class of post which others can vote on"] = "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)";
+App::$strings["Delayed Posting"] = "Verzögertes Senden";
+App::$strings["Allow posts to be published at a later date"] = "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Doppelte Beiträge unterdrücken";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden.";
+App::$strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
+App::$strings["Search by Date"] = "Suche nach Datum";
+App::$strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
+App::$strings["Privacy Groups"] = "Gruppen";
+App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
+App::$strings["Save search terms for re-use"] = "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung";
+App::$strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast";
+App::$strings["Network New Tab"] = "Netzwerkreiter Neu";
+App::$strings["Enable tab to display all new Network activity"] = "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt";
+App::$strings["Affinity Tool"] = "Beziehungs-Tool";
+App::$strings["Filter stream activity by depth of relationships"] = "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann";
+App::$strings["Connection Filtering"] = "Filter für Verbindungen";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)";
+App::$strings["Show channel suggestions"] = "Kanalvorschläge anzeigen";
+App::$strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
+App::$strings["Community Tagging"] = "Gemeinschaftliches Verschlagworten";
+App::$strings["Ability to tag existing posts"] = "Ermöglicht das Verschlagworten existierender Beiträge";
+App::$strings["Post Categories"] = "Beitrags-Kategorien";
+App::$strings["Add categories to your posts"] = "Aktiviert Kategorien für Beiträge";
+App::$strings["Emoji Reactions"] = "Emoji Reaktionen";
+App::$strings["Add emoji reaction ability to posts"] = "Aktiviert Emoji-Reaktionen für Beiträge";
+App::$strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
+App::$strings["Dislike Posts"] = "Gefällt-mir-nicht-Beiträge";
+App::$strings["Ability to dislike posts/comments"] = "Aktiviert die „Gefällt mir nicht“-Schaltfläche";
+App::$strings["Star Posts"] = "Beiträge mit Sternchen versehen";
+App::$strings["Ability to mark special posts with a star indicator"] = "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol";
+App::$strings["Tag Cloud"] = "Schlagwort-Wolke";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite";
+App::$strings["Embedded content"] = "Eingebetteter Inhalt";
+App::$strings["Embedding disabled"] = "Einbetten ausgeschaltet";
+App::$strings["Who can see this?"] = "Wer kann das sehen?";
+App::$strings["Custom selection"] = "Benutzerdefinierte Auswahl";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen.";
+App::$strings["Show"] = "Anzeigen";
+App::$strings["Don't show"] = "Nicht anzeigen";
+App::$strings["Other networks and post services"] = "Andere Netzwerke und Platformen";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann.";
+App::$strings["Logged out."] = "Ausgeloggt.";
+App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
+App::$strings["Birthday"] = "Geburtstag";
+App::$strings["Age: "] = "Alter:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
+App::$strings["never"] = "Nie";
+App::$strings["less than a second ago"] = "Vor weniger als einer Sekunde";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "vor %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "Jahr",
+ 1 => "Jahre",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "Monat",
+ 1 => "Monate",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "Woche",
+ 1 => "Wochen",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "Tag",
+ 1 => "Tage",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "Stunde",
+ 1 => "Stunden",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "Minute",
+ 1 => "Minuten",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "Sekunde",
+ 1 => "Sekunden",
+);
+App::$strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
+App::$strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen.";
+App::$strings["Add new connections to this privacy group"] = "Neue Verbindung zu dieser Gruppe hinzufügen";
+App::$strings["edit"] = "Bearbeiten";
+App::$strings["Edit group"] = "Gruppe ändern";
+App::$strings["Add privacy group"] = "Gruppe hinzufügen";
+App::$strings["Channels not in any privacy group"] = "Kanäle, die in keiner Gruppe sind";
App::$strings["Delete this item?"] = "Dieses Element löschen?";
App::$strings["[-] show less"] = "[-] Weniger anzeigen";
App::$strings["[+] expand"] = "[+] aufklappen";
@@ -2190,21 +2189,28 @@ App::$strings["__ctx:calendar__ month"] = "Monat";
App::$strings["__ctx:calendar__ week"] = "Woche";
App::$strings["__ctx:calendar__ day"] = "Tag";
App::$strings["__ctx:calendar__ All day"] = "Ganztägig";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
-App::$strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
-App::$strings["(Unknown)"] = "(Unbekannt)";
-App::$strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
-App::$strings["Visible to you only."] = "Nur für Dich sichtbar.";
-App::$strings["Visible to anybody in this network."] = "Für jedes \$Projectname-Mitglied sichtbar.";
-App::$strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
-App::$strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
-App::$strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
-App::$strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
-App::$strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
-App::$strings["Privacy group is empty."] = "Gruppe ist leer.";
-App::$strings["Privacy group: %s"] = "Gruppe: %s";
-App::$strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
-App::$strings["profile photo"] = "Profilfoto";
+App::$strings["view full size"] = "In Vollbildansicht anschauen";
+App::$strings["No Subject"] = "Kein Betreff";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot!";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Webseitenlimit von %lu Bytes";
+App::$strings["Image file is empty."] = "Bilddatei ist leer.";
+App::$strings["Photo storage failed."] = "Fotospeicherung fehlgeschlagen.";
+App::$strings["a new photo"] = "ein neues Foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s hat %2\$s auf %3\$s veröffentlicht";
+App::$strings["Upload New Photos"] = "Neue Fotos hochladen";
+App::$strings["Invalid data packet"] = "Ungültiges Datenpaket";
+App::$strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
+App::$strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
+App::$strings["invalid target signature"] = "Ungültige Signatur des Ziels";
App::$strings["New Page"] = "Neue Seite";
App::$strings["Title"] = "Titel";
App::$strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
@@ -2242,28 +2248,13 @@ App::$strings["Special Purpose"] = "Für besondere Zwecke";
App::$strings["Special - Celebrity/Soapbox"] = "Speziell - Mitteilungs-Kanal (keine Kommentare)";
App::$strings["Special - Group Repository"] = "Speziell - Gruppenarchiv";
App::$strings["Custom/Expert Mode"] = "Benutzerdefiniert/Expertenmodus";
-App::$strings["Site Admin"] = "Hub-Administration";
-App::$strings["Bug Report"] = "Fehler-Rückmeldung";
-App::$strings["View Bookmarks"] = "Lesezeichen ansehen";
-App::$strings["My Chatrooms"] = "Meine Chaträume";
-App::$strings["Firefox Share"] = "Teilen-Knopf für Firefox";
-App::$strings["Remote Diagnostics"] = "Ferndiagnose";
-App::$strings["Probe"] = "Testen";
-App::$strings["Suggest"] = "Empfehlen";
-App::$strings["Random Channel"] = "Zufälliger Kanal";
-App::$strings["Invite"] = "Einladen";
-App::$strings["Post"] = "Beitrag schreiben";
-App::$strings["Purchase"] = "Kaufen";
+App::$strings[" and "] = "und";
+App::$strings["public profile"] = "öffentliches Profil";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
+App::$strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
App::$strings["Attachments:"] = "Anhänge:";
App::$strings["\$Projectname event notification:"] = "\$Projectname-Terminbenachrichtigung:";
-App::$strings["Add others"] = "Andere hinzufügen";
-App::$strings["Who can see this?"] = "Wer kann das sehen?";
-App::$strings["Custom selection"] = "Benutzerdefinierte Auswahl";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen.";
-App::$strings["Show"] = "Anzeigen";
-App::$strings["Don't show"] = "Nicht anzeigen";
-App::$strings["Other networks and post services"] = "Andere Netzwerke und Platformen";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann.";
App::$strings["Focus (Hubzilla default)"] = "Focus (Voreinstellung für Hubzilla)";
App::$strings["Theme settings"] = "Theme-Einstellungen";
App::$strings["Select scheme"] = "Schema wählen";
diff --git a/view/eo/hmessages.po b/view/eo/hmessages.po
deleted file mode 100644
index 7fd842bb6..000000000
--- a/view/eo/hmessages.po
+++ /dev/null
@@ -1,7714 +0,0 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 the Friendica Project
-# This file is distributed under the same license as the Friendica package.
-#
-# Translators:
-# Diego Souza <diegosouza.br@gmail.com>, 2012.
-# Martin Schmitt <mas@scsy.de>, 2012.
-msgid ""
-msgstr ""
-"Project-Id-Version: friendica\n"
-"Report-Msgid-Bugs-To: http://bugs.friendica.com/\n"
-"POT-Creation-Date: 2012-06-30 10:00-0700\n"
-"PO-Revision-Date: 2012-07-01 16:55+0000\n"
-"Last-Translator: Martin Schmitt <mas@scsy.de>\n"
-"Language-Team: Esperanto (http://www.transifex.com/projects/p/friendica/language/eo/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-
-#: ../../mod/oexchange.php:25
-msgid "Post successful."
-msgstr "Sukcese afiŝita."
-
-#: ../../mod/update_notes.php:41 ../../mod/update_community.php:18
-#: ../../mod/update_network.php:22 ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
-msgstr "[Enigita enhavo - reŝargu paĝon por spekti ĝin]"
-
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
-msgstr "Kontaktagordoj estas konservita."
-
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
-msgstr "Ĝisdatigo de kontakto malsukcesis."
-
-#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/photos.php:135 ../../mod/photos.php:951
-#: ../../mod/editpost.php:10 ../../mod/install.php:151
-#: ../../mod/notifications.php:66 ../../mod/contacts.php:145
-#: ../../mod/settings.php:106 ../../mod/settings.php:537
-#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
-#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
-#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
-#: ../../mod/group.php:19 ../../mod/viewconnections.php:22
-#: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:124
-#: ../../mod/item.php:140 ../../mod/profile_photo.php:19
-#: ../../mod/profile_photo.php:141 ../../mod/profile_photo.php:152
-#: ../../mod/profile_photo.php:165 ../../mod/message.php:45
-#: ../../mod/message.php:97 ../../mod/allfriends.php:9
-#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
-#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:400 ../../mod/delegate.php:6
-#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:508
-#: ../../addon/facebook/facebook.php:514 ../../addon/dav/layout.fnk.php:353
-#: ../../include/items.php:3455 ../../index.php:309
-msgid "Permission denied."
-msgstr "Malpermesita."
-
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/dfrn_confirm.php:118
-msgid "Contact not found."
-msgstr "Kontakto ne trovita."
-
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
-msgstr "Ripari kontaktagordoj."
-
-#: ../../mod/crepair.php:137
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact may stop working."
-msgstr "<strong>AVERTO: Tio estas tre altnivela</strong> kaj se vi entajpus malĝustan informojn, komunikado kun la kontakto eble ne plu funkcios."
-
-#: ../../mod/crepair.php:138
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr "Bonvolu klaki 'malantaŭen' en via retesplorilo <strong>nun</strong> se vi ne scias kion faru ĉi tie."
-
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
-msgstr "Reen al kontakta redaktilo"
-
-#: ../../mod/crepair.php:148 ../../mod/settings.php:557
-#: ../../mod/settings.php:583 ../../mod/admin.php:659 ../../mod/admin.php:668
-msgid "Name"
-msgstr "Nomo"
-
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
-msgstr "Kaŝnomo de la konto"
-
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
-msgstr "@Marknomo - Transpasas nomon/kaŝnomon"
-
-#: ../../mod/crepair.php:151
-msgid "Account URL"
-msgstr "Adreso de la konto"
-
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
-msgstr "Kontaktpeta adreso"
-
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
-msgstr "Kontaktkonfirma adreso"
-
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
-msgstr "Finpunkta adreso por atentigoj"
-
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
-msgstr "Adreso de fluo"
-
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
-msgstr "Nova bildo el tiu adreso"
-
-#: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:436 ../../mod/photos.php:986 ../../mod/photos.php:1057
-#: ../../mod/photos.php:1303 ../../mod/photos.php:1343
-#: ../../mod/photos.php:1383 ../../mod/photos.php:1414
-#: ../../mod/install.php:246 ../../mod/install.php:284
-#: ../../mod/localtime.php:45 ../../mod/contacts.php:343
-#: ../../mod/settings.php:555 ../../mod/settings.php:709
-#: ../../mod/settings.php:770 ../../mod/settings.php:971
-#: ../../mod/group.php:85 ../../mod/message.php:216 ../../mod/message.php:410
-#: ../../mod/admin.php:420 ../../mod/admin.php:656 ../../mod/admin.php:792
-#: ../../mod/admin.php:991 ../../mod/admin.php:1078 ../../mod/profiles.php:569
-#: ../../mod/invite.php:119 ../../addon/fromgplus/fromgplus.php:40
-#: ../../addon/facebook/facebook.php:617
-#: ../../addon/snautofollow/snautofollow.php:64
-#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
-#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:208
-#: ../../addon/planets/planets.php:158
-#: ../../addon/uhremotestorage/uhremotestorage.php:89
-#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
-#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
-#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
-#: ../../addon/impressum/impressum.php:82
-#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
-#: ../../addon/qcomment/qcomment.php:61
-#: ../../addon/openstreetmap/openstreetmap.php:70
-#: ../../addon/libertree/libertree.php:90 ../../addon/mathjax/mathjax.php:42
-#: ../../addon/editplain/editplain.php:84 ../../addon/blackout/blackout.php:98
-#: ../../addon/gravatar/gravatar.php:86
-#: ../../addon/pageheader/pageheader.php:55 ../../addon/ijpost/ijpost.php:93
-#: ../../addon/jappixmini/jappixmini.php:302
-#: ../../addon/statusnet/statusnet.php:278
-#: ../../addon/statusnet/statusnet.php:292
-#: ../../addon/statusnet/statusnet.php:318
-#: ../../addon/statusnet/statusnet.php:325
-#: ../../addon/statusnet/statusnet.php:353
-#: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90
-#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
-#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
-#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
-#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387
-#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
-#: ../../addon/posterous/posterous.php:103
-#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:757
-#: ../../view/theme/diabook/config.php:190
-#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:580
-msgid "Submit"
-msgstr "Sendi"
-
-#: ../../mod/help.php:30
-msgid "Help:"
-msgstr "Helpo:"
-
-#: ../../mod/help.php:34 ../../addon/dav/layout.fnk.php:116
-#: ../../include/nav.php:86
-msgid "Help"
-msgstr "Helpo"
-
-#: ../../mod/help.php:38 ../../index.php:218
-msgid "Not Found"
-msgstr "Ne trovita"
-
-#: ../../mod/help.php:41 ../../index.php:221
-msgid "Page not found."
-msgstr "Paĝo ne trovita"
-
-#: ../../mod/wall_attach.php:58
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Dosiero estas pli granda ol la limito de %d"
-
-#: ../../mod/wall_attach.php:99 ../../mod/wall_attach.php:110
-msgid "File upload failed."
-msgstr "Alŝutado malsukcesis."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Amikosugesto sendita."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Sugesti amikon por %s"
-
-#: ../../mod/events.php:66
-msgid "Event title and start time are required."
-msgstr "Titolo kaj starttempo estas bezonataj por la okazo."
-
-#: ../../mod/events.php:260
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:282
-msgid "Edit event"
-msgstr "Redakti okazon"
-
-#: ../../mod/events.php:304 ../../include/text.php:1065
-msgid "link to source"
-msgstr "ligilo al fonto"
-
-#: ../../mod/events.php:328 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1559
-msgid "Events"
-msgstr "Okazoj"
-
-#: ../../mod/events.php:329
-msgid "Create New Event"
-msgstr "Krei novan okazon"
-
-#: ../../mod/events.php:330 ../../addon/dav/layout.fnk.php:154
-msgid "Previous"
-msgstr "antaŭa"
-
-#: ../../mod/events.php:331 ../../mod/install.php:205
-#: ../../addon/dav/layout.fnk.php:157
-msgid "Next"
-msgstr "sekva"
-
-#: ../../mod/events.php:404
-msgid "hour:minute"
-msgstr "horo:minuto"
-
-#: ../../mod/events.php:414
-msgid "Event details"
-msgstr "Detaloj de okazo"
-
-#: ../../mod/events.php:415
-#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr "Format is %s %s. Titolo kaj starttempo estas bezonataj."
-
-#: ../../mod/events.php:417
-msgid "Event Starts:"
-msgstr "Okazo startas:"
-
-#: ../../mod/events.php:417 ../../mod/events.php:431
-msgid "Required"
-msgstr "Bezonata"
-
-#: ../../mod/events.php:420
-msgid "Finish date/time is not known or not relevant"
-msgstr "Fina dato/tempo ne estas konata aŭ ne bezonata"
-
-#: ../../mod/events.php:422
-msgid "Event Finishes:"
-msgstr "Okazo finas:"
-
-#: ../../mod/events.php:425
-msgid "Adjust for viewer timezone"
-msgstr "Agordi al horzono de la leganto"
-
-#: ../../mod/events.php:427
-msgid "Description:"
-msgstr "Priskribo"
-
-#: ../../mod/events.php:429 ../../include/event.php:40
-#: ../../include/bb2diaspora.php:357 ../../boot.php:1136
-msgid "Location:"
-msgstr "Loko:"
-
-#: ../../mod/events.php:431
-msgid "Title:"
-msgstr "Titolo:"
-
-#: ../../mod/events.php:433
-msgid "Share this event"
-msgstr "Kunhavigi la okazon"
-
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:556
-#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
-msgid "Cancel"
-msgstr "Nuligi"
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Marko forviŝita"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Forviŝi markon"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Elektu forviŝontan markon:"
-
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
-msgid "Remove"
-msgstr "Forviŝi"
-
-#: ../../mod/dfrn_poll.php:94 ../../mod/dfrn_poll.php:522
-#, php-format
-msgid "%s welcomes %s"
-msgstr "%s salutas %s"
-
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Rajtigi programkonekton"
-
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Reiru al via programo kaj entajpu la securecan kodon:"
-
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Bonvolu ensaluti por pluigi."
-
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Ĉu rajtigi ĉi tiun programon por atingi viajn afiŝojn kaj kontaktojn kaj/aŭ krei novajn afiŝojn?"
-
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:833
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:234
-#: ../../mod/profiles.php:546
-msgid "Yes"
-msgstr "Jes"
-
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:834
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:235
-#: ../../mod/profiles.php:547
-msgid "No"
-msgstr "Ne"
-
-#: ../../mod/photos.php:46 ../../boot.php:1553
-msgid "Photo Albums"
-msgstr "Bildalbumoj"
-
-#: ../../mod/photos.php:54 ../../mod/photos.php:156 ../../mod/photos.php:965
-#: ../../mod/photos.php:1049 ../../mod/photos.php:1064
-#: ../../mod/photos.php:1492 ../../mod/photos.php:1504
-#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:598
-msgid "Contact Photos"
-msgstr "Kontaktbildoj"
-
-#: ../../mod/photos.php:61 ../../mod/photos.php:1074 ../../mod/photos.php:1542
-msgid "Upload New Photos"
-msgstr "Alŝuti novajn bildojn"
-
-#: ../../mod/photos.php:72 ../../mod/settings.php:21
-msgid "everybody"
-msgstr "ĉiuj"
-
-#: ../../mod/photos.php:145
-msgid "Contact information unavailable"
-msgstr "Kontaktoj informoj ne disponeblas"
-
-#: ../../mod/photos.php:156 ../../mod/photos.php:660 ../../mod/photos.php:1049
-#: ../../mod/photos.php:1064 ../../mod/profile_photo.php:60
-#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
-#: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254
-#: ../../mod/profile_photo.php:263
-#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:304
-#: ../../include/user.php:311 ../../include/user.php:318
-msgid "Profile Photos"
-msgstr "Profilbildoj"
-
-#: ../../mod/photos.php:166
-msgid "Album not found."
-msgstr "Albumo ne trovita."
-
-#: ../../mod/photos.php:184 ../../mod/photos.php:1058
-msgid "Delete Album"
-msgstr "Forviŝi albumon"
-
-#: ../../mod/photos.php:247 ../../mod/photos.php:1304
-msgid "Delete Photo"
-msgstr "Forviŝi bildon"
-
-#: ../../mod/photos.php:591
-msgid "was tagged in a"
-msgstr "estas markita en"
-
-#: ../../mod/photos.php:591 ../../mod/like.php:144 ../../mod/tagger.php:70
-#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1317
-#: ../../include/diaspora.php:1710 ../../include/conversation.php:53
-#: ../../include/conversation.php:126
-msgid "photo"
-msgstr "bildo"
-
-#: ../../mod/photos.php:591
-msgid "by"
-msgstr "de"
-
-#: ../../mod/photos.php:696 ../../addon/js_upload/js_upload.php:315
-msgid "Image exceeds size limit of "
-msgstr "Bildo estas pli granda ol la limito de"
-
-#: ../../mod/photos.php:704
-msgid "Image file is empty."
-msgstr "Bilddosiero estas malplena."
-
-#: ../../mod/photos.php:736 ../../mod/profile_photo.php:126
-#: ../../mod/wall_upload.php:99
-msgid "Unable to process image."
-msgstr "Ne eblas procedi la bildon."
-
-#: ../../mod/photos.php:757 ../../mod/profile_photo.php:259
-#: ../../mod/wall_upload.php:118
-msgid "Image upload failed."
-msgstr "Alŝuto de bildo malsukcesis."
-
-#: ../../mod/photos.php:843 ../../mod/community.php:16
-#: ../../mod/dfrn_request.php:759 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
-msgid "Public access denied."
-msgstr "Publika atingo ne permesita."
-
-#: ../../mod/photos.php:853
-msgid "No photos selected"
-msgstr "Neniu bildoj elektita"
-
-#: ../../mod/photos.php:932
-msgid "Access to this item is restricted."
-msgstr "Atingo al tio elemento estas limigita."
-
-#: ../../mod/photos.php:996
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Vi uzas %1$.2f MB de %2$.2f MB bildkonservejo."
-
-#: ../../mod/photos.php:999
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Vi uzas %1$.2f MB de bildkonservejo."
-
-#: ../../mod/photos.php:1005
-msgid "Upload Photos"
-msgstr "Alŝuti bildojn"
-
-#: ../../mod/photos.php:1009 ../../mod/photos.php:1053
-msgid "New album name: "
-msgstr "Nomo por nova albumo:"
-
-#: ../../mod/photos.php:1010
-msgid "or existing album name: "
-msgstr "aŭ nomo de estanta albumo:"
-
-#: ../../mod/photos.php:1011
-msgid "Do not show a status post for this upload"
-msgstr "Ne kreu statan afiŝon por tio alŝuto."
-
-#: ../../mod/photos.php:1013 ../../mod/photos.php:1299
-msgid "Permissions"
-msgstr "Permesoj"
-
-#: ../../mod/photos.php:1068
-msgid "Edit Album"
-msgstr "Redakti albumon"
-
-#: ../../mod/photos.php:1092 ../../mod/photos.php:1525
-msgid "View Photo"
-msgstr "Vidi bildon"
-
-#: ../../mod/photos.php:1127
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Malpermesita. Atingo al tio elemento eble estas limigita."
-
-#: ../../mod/photos.php:1129
-msgid "Photo not available"
-msgstr "La bildo ne disponeblas"
-
-#: ../../mod/photos.php:1179
-msgid "View photo"
-msgstr "Vidi bildon"
-
-#: ../../mod/photos.php:1179
-msgid "Edit photo"
-msgstr "Redakti bildon"
-
-#: ../../mod/photos.php:1180
-msgid "Use as profile photo"
-msgstr "Uzi kiel profilbildo"
-
-#: ../../mod/photos.php:1186 ../../include/conversation.php:490
-msgid "Private Message"
-msgstr "Privata mesaĝo"
-
-#: ../../mod/photos.php:1208
-msgid "View Full Size"
-msgstr "Vidi plengrande "
-
-#: ../../mod/photos.php:1276
-msgid "Tags: "
-msgstr "Markoj:"
-
-#: ../../mod/photos.php:1279
-msgid "[Remove any tag]"
-msgstr "[Forviŝi iun markon]"
-
-#: ../../mod/photos.php:1289
-msgid "Rotate CW (right)"
-msgstr "Turni horloĝdirekte (dekstren)"
-
-#: ../../mod/photos.php:1290
-msgid "Rotate CCW (left)"
-msgstr "Turni kontraŭhorloĝdirekte (maldekstren)"
-
-#: ../../mod/photos.php:1292
-msgid "New album name"
-msgstr "Nova nomo de albumo"
-
-#: ../../mod/photos.php:1295
-msgid "Caption"
-msgstr "Apudskribo"
-
-#: ../../mod/photos.php:1297
-msgid "Add a Tag"
-msgstr "Aldoni markon"
-
-#: ../../mod/photos.php:1301
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Ekzemple: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-
-#: ../../mod/photos.php:1321 ../../include/conversation.php:554
-msgid "I like this (toggle)"
-msgstr "Mi ŝatas tion (ŝalti)"
-
-#: ../../mod/photos.php:1322 ../../include/conversation.php:555
-msgid "I don't like this (toggle)"
-msgstr "Mi malŝatas tion(ŝalti)"
-
-#: ../../mod/photos.php:1323 ../../include/conversation.php:993
-msgid "Share"
-msgstr "Kunhavigi"
-
-#: ../../mod/photos.php:1324 ../../mod/editpost.php:104
-#: ../../mod/wallmessage.php:145 ../../mod/message.php:215
-#: ../../mod/message.php:411 ../../include/conversation.php:371
-#: ../../include/conversation.php:731 ../../include/conversation.php:1012
-msgid "Please wait"
-msgstr "Bonvolu atendi"
-
-#: ../../mod/photos.php:1340 ../../mod/photos.php:1380
-#: ../../mod/photos.php:1411 ../../include/conversation.php:577
-msgid "This is you"
-msgstr "Tiu estas vi"
-
-#: ../../mod/photos.php:1342 ../../mod/photos.php:1382
-#: ../../mod/photos.php:1413 ../../include/conversation.php:579
-#: ../../boot.php:528
-msgid "Comment"
-msgstr "Komenti"
-
-#: ../../mod/photos.php:1344 ../../mod/editpost.php:125
-#: ../../include/conversation.php:589 ../../include/conversation.php:1030
-msgid "Preview"
-msgstr "Antaŭrigardi"
-
-#: ../../mod/photos.php:1441 ../../mod/settings.php:618
-#: ../../mod/settings.php:707 ../../mod/group.php:168 ../../mod/admin.php:663
-#: ../../include/conversation.php:328 ../../include/conversation.php:609
-msgid "Delete"
-msgstr "Forviŝi"
-
-#: ../../mod/photos.php:1531
-msgid "View Album"
-msgstr "Vidi albumon"
-
-#: ../../mod/photos.php:1540
-msgid "Recent Photos"
-msgstr "̂Ĵusaj bildoj"
-
-#: ../../mod/community.php:21
-msgid "Not available."
-msgstr "Ne disponebla."
-
-#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133
-#: ../../include/nav.php:101
-msgid "Community"
-msgstr "Komunumo"
-
-#: ../../mod/community.php:61 ../../mod/search.php:144
-msgid "No results."
-msgstr "Nenion trovita."
-
-#: ../../mod/friendica.php:55
-msgid "This is Friendica, version"
-msgstr "Tio estas Friendica en la versio"
-
-#: ../../mod/friendica.php:56
-msgid "running at web location"
-msgstr "instalita ĉe la adreso"
-
-#: ../../mod/friendica.php:58
-msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica project."
-msgstr "Bonvolu iri al <a href=\"http://friendica.com\">Friendica.com</a> por lerni pli pri la projekto Friendica"
-
-#: ../../mod/friendica.php:60
-msgid "Bug reports and issues: please visit"
-msgstr "Cimraportoj kaj atendindaĵo: bonvolu iri al"
-
-#: ../../mod/friendica.php:61
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
-msgstr "Sugestoj, laŭdoj, donacoj ktp - bonvolu sendi mesĝon al \"Info\" ĉe Friendica - punkto com"
-
-#: ../../mod/friendica.php:75
-msgid "Installed plugins/addons/apps:"
-msgstr "Instalitaj kromprogramoj/programoj:"
-
-#: ../../mod/friendica.php:88
-msgid "No installed plugins/addons/apps"
-msgstr "Neniom da instalitaj aldonaĵoj/programoj"
-
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
-msgstr "Elemento ne trovita"
-
-#: ../../mod/editpost.php:36
-msgid "Edit post"
-msgstr "Redakti afiŝon"
-
-#: ../../mod/editpost.php:80 ../../include/conversation.php:979
-msgid "Post to Email"
-msgstr "Sendi per retpoŝto"
-
-#: ../../mod/editpost.php:95 ../../mod/settings.php:617
-#: ../../include/conversation.php:596
-msgid "Edit"
-msgstr "Redakti"
-
-#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
-#: ../../mod/message.php:213 ../../mod/message.php:408
-#: ../../include/conversation.php:994
-msgid "Upload photo"
-msgstr "Alŝuti bildon"
-
-#: ../../mod/editpost.php:97 ../../include/conversation.php:996
-msgid "Attach file"
-msgstr "Kunligi dosieron"
-
-#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
-#: ../../mod/message.php:214 ../../mod/message.php:409
-#: ../../include/conversation.php:998
-msgid "Insert web link"
-msgstr "Enmeti retan adreson"
-
-#: ../../mod/editpost.php:99
-msgid "Insert YouTube video"
-msgstr "Enmeti videton ĉe YouTube"
-
-#: ../../mod/editpost.php:100
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Enmeti videton en formato Vorbis [.ogg]"
-
-#: ../../mod/editpost.php:101
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Enmeti sonon en formato Vorbis [.ogg]"
-
-#: ../../mod/editpost.php:102 ../../include/conversation.php:1004
-msgid "Set your location"
-msgstr "Agordi vian lokon"
-
-#: ../../mod/editpost.php:103 ../../include/conversation.php:1006
-msgid "Clear browser location"
-msgstr "Forviŝu retesplorilan lokon"
-
-#: ../../mod/editpost.php:105 ../../include/conversation.php:1013
-msgid "Permission settings"
-msgstr "Permesagordoj"
-
-#: ../../mod/editpost.php:113 ../../include/conversation.php:1022
-msgid "CC: email addresses"
-msgstr "CC: retpoŝtadresojn"
-
-#: ../../mod/editpost.php:114 ../../include/conversation.php:1023
-msgid "Public post"
-msgstr "Publika afiŝo"
-
-#: ../../mod/editpost.php:117 ../../include/conversation.php:1009
-msgid "Set title"
-msgstr "Redakti titolon"
-
-#: ../../mod/editpost.php:119 ../../include/conversation.php:1011
-msgid "Categories (comma-separated list)"
-msgstr "Kategorioj (disigita per komo)"
-
-#: ../../mod/editpost.php:120 ../../include/conversation.php:1025
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Ekzemple: bob@example.com, mary@example.com"
-
-#: ../../mod/dfrn_request.php:93
-msgid "This introduction has already been accepted."
-msgstr "Tia prezento jam estas akceptita"
-
-#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:512
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "La adreso de la profilo ne validas aŭ ne enhavas profilinformojn."
-
-#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:517
-msgid "Warning: profile location has no identifiable owner name."
-msgstr "Averto: La adreso de la profilo ne enhavas identeblan personan nomon."
-
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:519
-msgid "Warning: profile location has no profile photo."
-msgstr "Averto: La adreso de la profilo ne enhavas bildon."
-
-#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:522
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "%d bezonataj parametroj ne trovita ĉe la donata adreso."
-msgstr[1] "%d bezonataj parametroj ne trovita ĉe la donata adreso."
-
-#: ../../mod/dfrn_request.php:170
-msgid "Introduction complete."
-msgstr "Prezento sukcesis."
-
-#: ../../mod/dfrn_request.php:209
-msgid "Unrecoverable protocol error."
-msgstr "Neĝustigebla eraro en protokolo."
-
-#: ../../mod/dfrn_request.php:237
-msgid "Profile unavailable."
-msgstr "Profilo ne estas disponebla."
-
-#: ../../mod/dfrn_request.php:262
-#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s hodiaŭ ricevis tro multe da konektpetoj."
-
-#: ../../mod/dfrn_request.php:263
-msgid "Spam protection measures have been invoked."
-msgstr "Kontraŭspamilo estas aktivita."
-
-#: ../../mod/dfrn_request.php:264
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Amikoj, vi bonvolu ripeti post 24 horoj."
-
-#: ../../mod/dfrn_request.php:326
-msgid "Invalid locator"
-msgstr "Nevalida adreso."
-
-#: ../../mod/dfrn_request.php:335
-msgid "Invalid email address."
-msgstr "Nevalida repoŝtadreso."
-
-#: ../../mod/dfrn_request.php:361
-msgid "This account has not been configured for email. Request failed."
-msgstr "La konto ne estas agordita por retpoŝto. La peto malsukcesis."
-
-#: ../../mod/dfrn_request.php:457
-msgid "Unable to resolve your name at the provided location."
-msgstr "Via nomo ne troveblas al la donita adreso."
-
-#: ../../mod/dfrn_request.php:470
-msgid "You have already introduced yourself here."
-msgstr "Vi vin jam prezentis tie."
-
-#: ../../mod/dfrn_request.php:474
-#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Ŝajnas kvazaŭ vi jam amikiĝis kun %s."
-
-#: ../../mod/dfrn_request.php:495
-msgid "Invalid profile URL."
-msgstr "Nevalida adreso de profilo."
-
-#: ../../mod/dfrn_request.php:501 ../../include/follow.php:27
-msgid "Disallowed profile URL."
-msgstr "Malpermesita adreso de profilo."
-
-#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:122
-msgid "Failed to update contact record."
-msgstr "Ĝisdatigo de via kontaktrikordo malsukcesis."
-
-#: ../../mod/dfrn_request.php:591
-msgid "Your introduction has been sent."
-msgstr "Via prezento estas sendita."
-
-#: ../../mod/dfrn_request.php:644
-msgid "Please login to confirm introduction."
-msgstr "Bonvolu ensaluti por jesigi la prezenton."
-
-#: ../../mod/dfrn_request.php:658
-msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr "Malĝusta identaĵo ensalutata. Bonvolu ensaluti en <strong>tiun</strong> profilon."
-
-#: ../../mod/dfrn_request.php:669
-msgid "Hide this contact"
-msgstr "Kaŝi tiun kontakton"
-
-#: ../../mod/dfrn_request.php:672
-#, php-format
-msgid "Welcome home %s."
-msgstr "Bonvenon hejme, %s."
-
-#: ../../mod/dfrn_request.php:673
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Bonvolu konfirmi vian prezenton / kontaktpeton al %s."
-
-#: ../../mod/dfrn_request.php:674
-msgid "Confirm"
-msgstr "Konfirmi."
-
-#: ../../mod/dfrn_request.php:715 ../../include/items.php:2881
-msgid "[Name Withheld]"
-msgstr "[Kaŝita nomo]"
-
-#: ../../mod/dfrn_request.php:808
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"communications networks:"
-msgstr "Bonvolu entajpi vian 'Identecan Adreson' de iu de tiuj subtenataj komunikaj retejoj: "
-
-#: ../../mod/dfrn_request.php:824
-msgid "<strike>Connect as an email follower</strike> (Coming soon)"
-msgstr "<strike>Konektu kiel retpoŝta sekvanto</strike> (Baldaŭ venos)"
-
-#: ../../mod/dfrn_request.php:826
-msgid ""
-"If you are not yet a member of the free social web, <a "
-"href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public"
-" Friendica site and join us today</a>."
-msgstr "Se vi ne estas membro de la libra interkona reto, <a href=\"http://dir.friendica.com/siteinfo\">sekvu ĉi-ligilon por trovi publikan Friendica retejon kaj aliĝi kun ni hodiaŭ</a>."
-
-#: ../../mod/dfrn_request.php:829
-msgid "Friend/Connection Request"
-msgstr "Prezento / Konektpeto"
-
-#: ../../mod/dfrn_request.php:830
-msgid ""
-"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr "Ekzemploj: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
-
-#: ../../mod/dfrn_request.php:831
-msgid "Please answer the following:"
-msgstr "Bonvolu respondi:"
-
-#: ../../mod/dfrn_request.php:832
-#, php-format
-msgid "Does %s know you?"
-msgstr "Ĉu %s konas vin?"
-
-#: ../../mod/dfrn_request.php:835
-msgid "Add a personal note:"
-msgstr "Aldoni personan noton:"
-
-#: ../../mod/dfrn_request.php:837 ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../mod/dfrn_request.php:838
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet/Federaciaj interkonaj retejoj"
-
-#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:652
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../mod/dfrn_request.php:840
-#, php-format
-msgid ""
-" - please do not use this form. Instead, enter %s into your Diaspora search"
-" bar."
-msgstr " - bonvolu ne uzi ĉi formo. Anstataŭe, entajpu %s en la Diaspora serĉilo."
-
-#: ../../mod/dfrn_request.php:841
-msgid "Your Identity Address:"
-msgstr "Via identeca adreso:"
-
-#: ../../mod/dfrn_request.php:844
-msgid "Submit Request"
-msgstr "Sendi peton"
-
-#: ../../mod/install.php:117
-msgid "Friendica Social Communications Server - Setup"
-msgstr "Friendica Interkona Komunikada Servilo - Instalo"
-
-#: ../../mod/install.php:123
-msgid "Could not connect to database."
-msgstr "Ne eblas konekti la datumbazon."
-
-#: ../../mod/install.php:127
-msgid "Could not create table."
-msgstr "Ne eblas krei tabelon."
-
-#: ../../mod/install.php:133
-msgid "Your Friendica site database has been installed."
-msgstr "La datumbazo de vi Friendica retjo estas instalita."
-
-#: ../../mod/install.php:138
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr "Vi bezonas mane importi la dosieron \"database.sql\" per phpmyadmin aŭ mysql."
-
-#: ../../mod/install.php:139 ../../mod/install.php:204
-#: ../../mod/install.php:489
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Bonvolu legi la dosieron \"INSTALL.txt\"."
-
-#: ../../mod/install.php:201
-msgid "System check"
-msgstr "Sistema kontrolo"
-
-#: ../../mod/install.php:206
-msgid "Check again"
-msgstr "Ree kontroli"
-
-#: ../../mod/install.php:225
-msgid "Database connection"
-msgstr "Datumbaza konekto"
-
-#: ../../mod/install.php:226
-msgid ""
-"In order to install Friendica we need to know how to connect to your "
-"database."
-msgstr "Por instali Friendica, ni bezonas scii kiel konekti al via datumbazo."
-
-#: ../../mod/install.php:227
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Bonvolu kontakti vian servilprovizanton aŭ administranton se vi havas demandoj pri ĉi tiaj agordoj."
-
-#: ../../mod/install.php:228
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "La datumbazo nomata malsupren jam ekzistu. Se ĝi ne ekzistas, bonvolu unue krei ĝin antaŭ progresi."
-
-#: ../../mod/install.php:232
-msgid "Database Server Name"
-msgstr "Nomo de datumbaza servilo."
-
-#: ../../mod/install.php:233
-msgid "Database Login Name"
-msgstr "Salutnomo ĉe la datumbazo."
-
-#: ../../mod/install.php:234
-msgid "Database Login Password"
-msgstr "Pasvorto ĉe la datumbazo."
-
-#: ../../mod/install.php:235
-msgid "Database Name"
-msgstr "Nomo de la datumbazo."
-
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid "Site administrator email address"
-msgstr "Retpoŝtadreso de la reteja administranto"
-
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "La repoŝtadreso de via konto bezonas esti la sama por uzi la TTTa administrilo."
-
-#: ../../mod/install.php:240 ../../mod/install.php:278
-msgid "Please select a default timezone for your website"
-msgstr "Bonvolu elekti defaŭltan horzonon por via retejo."
-
-#: ../../mod/install.php:265
-msgid "Site settings"
-msgstr "Retejaj agordoj"
-
-#: ../../mod/install.php:318
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Komanda linia versio de PHP ne trovita en $PATH de la retservilo."
-
-#: ../../mod/install.php:319
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron. See <a "
-"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-msgstr "Se vi ne havas komandlinian version de PHP sur la servilo, vi ne eblas plenumi fonan planitan enketon per cron. Bonvolu legi <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-
-#: ../../mod/install.php:323
-msgid "PHP executable path"
-msgstr "Vojo de la komanda linia versio de PHP"
-
-#: ../../mod/install.php:323
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Entajpu la plenan vojon al la php komandodosiero. Vi eblas lasi tion malplena por pluigi la instalado."
-
-#: ../../mod/install.php:328
-msgid "Command line PHP"
-msgstr "komanda linia versio de PHP"
-
-#: ../../mod/install.php:337
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "En via komanda linia versio de PHP je via sistemo, \"register_argc_argv\" ne estas aktivita."
-
-#: ../../mod/install.php:338
-msgid "This is required for message delivery to work."
-msgstr "Tio estas bezonata por la livero de mesaĝoj."
-
-#: ../../mod/install.php:340
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/install.php:361
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Eraro: La funkcio \"openssl_pkey_new\" je tia sistemo ne eblas generi ĉifroŝlosilojn."
-
-#: ../../mod/install.php:362
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se la operaciumo sistemo estas Windows, bonvolu legi: http://www.php.net/manual/en/openssl.installation.php"
-
-#: ../../mod/install.php:364
-msgid "Generate encryption keys"
-msgstr "Generi ĉifroŝlosilojn"
-
-#: ../../mod/install.php:371
-msgid "libCurl PHP module"
-msgstr "PHP modulo libCurl"
-
-#: ../../mod/install.php:372
-msgid "GD graphics PHP module"
-msgstr "PHP modulo GD"
-
-#: ../../mod/install.php:373
-msgid "OpenSSL PHP module"
-msgstr "PHP modulo OpenSSL"
-
-#: ../../mod/install.php:374
-msgid "mysqli PHP module"
-msgstr "PHP modulo mysqli"
-
-#: ../../mod/install.php:375
-msgid "mb_string PHP module"
-msgstr "PHP modulo mb_string"
-
-#: ../../mod/install.php:380 ../../mod/install.php:382
-msgid "Apache mod_rewrite module"
-msgstr "Apache mod_rewrite modulo"
-
-#: ../../mod/install.php:380
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Eraro: La modulo mod_rewrite en la Apache retservilo estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:388
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Eraro: La modulo libCURL en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:392
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Eraro: La modulo GD en PHP kun subteno por JPEG estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:396
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Eraro: La modulo OpenSSL en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:400
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Eraro: La modulo mysqli en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:404
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Eraro: La modulo mb_string en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:421
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "La reta instalilo bezonas skribi dosieron nomata \".htconfig.php\" en la baza dosierujo de la retservilo, sed ne sukcesis."
-
-#: ../../mod/install.php:422
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Tio ĉi plej ofte estas agordo rilate al permesoj, ĉar la servilo eble ne povas skribi en via dosierujo, eĉ se vi mem povas skribi."
-
-#: ../../mod/install.php:423
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Friendica top folder."
-msgstr "Post la fino de tiu proceduro, ni donos al vi tekston por konservi en dosiero .htconfig.php en via baza Friendica dosierujo."
-
-#: ../../mod/install.php:424
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"INSTALL.txt\" for instructions."
-msgstr "Vi ankaŭ povas preterpasi tiun proceduron kaj fari permanan instaladon. Bonvolu legi la dosieron \"INSTALL.txt\" por trovi instrukciojn."
-
-#: ../../mod/install.php:427
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php estas skribebla."
-
-#: ../../mod/install.php:439
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "Url rewrite en .htaccess ne funkcias. Kontrolu la agordojn de la servilo."
-
-#: ../../mod/install.php:441
-msgid "Url rewrite is working"
-msgstr "URL rewrite funkcias."
-
-#: ../../mod/install.php:451
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Ne povis skribi la datumbaza agordoj en la dosiero \".htconfig.php\". Bonvolu uzi la inkluzivan tekston por krei agordan dosieron en la baza dosierujo de la retservilo."
-
-#: ../../mod/install.php:476
-msgid "Errors encountered creating database tables."
-msgstr "Okazis eraroj dum la kreado de tabeloj en la datumbazo."
-
-#: ../../mod/install.php:487
-msgid "<h1>What next</h1>"
-msgstr "<h1>Kio sekvas nun?</h1>"
-
-#: ../../mod/install.php:488
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "GRAVA: Vi bezonas [mane] agordi planitan taskon por la Friendica poller."
-
-#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:335
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../mod/localtime.php:24
-msgid "Time Conversion"
-msgstr "Konverto de tempo"
-
-#: ../../mod/localtime.php:26
-msgid ""
-"Friendika provides this service for sharing events with other networks and "
-"friends in unknown timezones."
-msgstr "Friendica provizas tiun servon por kunhavigi okazojn kun aliaj retoj kaj amikoj en aliaj horzonoj."
-
-#: ../../mod/localtime.php:30
-#, php-format
-msgid "UTC time: %s"
-msgstr "UTC horo: %s"
-
-#: ../../mod/localtime.php:33
-#, php-format
-msgid "Current timezone: %s"
-msgstr "Aktuala horzono: %s"
-
-#: ../../mod/localtime.php:36
-#, php-format
-msgid "Converted localtime: %s"
-msgstr "Konvertita loka horo: %s"
-
-#: ../../mod/localtime.php:41
-msgid "Please select your timezone:"
-msgstr "Bonvolu elekti vian horzonon:"
-
-#: ../../mod/match.php:12
-msgid "Profile Match"
-msgstr "Kongrua profilo"
-
-#: ../../mod/match.php:20
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Neniom da kategoriaj vortoj kongruas. Bonvolu aldoni kategoriajn vortojn al via defaŭlta profilo."
-
-#: ../../mod/match.php:57
-msgid "is interested in:"
-msgstr "interesiĝas pri:"
-
-#: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1080
-msgid "Connect"
-msgstr "Konekti"
-
-#: ../../mod/match.php:65 ../../mod/dirfind.php:60
-msgid "No matches"
-msgstr "Nenio estas trovita"
-
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Informoj pri fora privateca ne estas disponebla."
-
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
-msgstr "Videbla al:"
-
-#: ../../mod/home.php:26 ../../addon/communityhome/communityhome.php:179
-#, php-format
-msgid "Welcome to %s"
-msgstr "Bonvenon ĉe %s"
-
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Nevalida peta identigilo."
-
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:161
-#: ../../mod/notifications.php:207
-msgid "Discard"
-msgstr "Forviŝi"
-
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:160
-#: ../../mod/notifications.php:206 ../../mod/contacts.php:316
-#: ../../mod/contacts.php:370
-msgid "Ignore"
-msgstr "Ignori"
-
-#: ../../mod/notifications.php:75
-msgid "System"
-msgstr "Sistemo"
-
-#: ../../mod/notifications.php:80 ../../include/nav.php:113
-msgid "Network"
-msgstr "Reto"
-
-#: ../../mod/notifications.php:85 ../../mod/network.php:300
-msgid "Personal"
-msgstr "Propra"
-
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
-#: ../../include/nav.php:77 ../../include/nav.php:115
-msgid "Home"
-msgstr "Hejmo"
-
-#: ../../mod/notifications.php:95 ../../include/nav.php:121
-msgid "Introductions"
-msgstr "Prezentoj"
-
-#: ../../mod/notifications.php:100 ../../mod/message.php:105
-#: ../../include/nav.php:128
-msgid "Messages"
-msgstr "Mesaĝoj"
-
-#: ../../mod/notifications.php:119
-msgid "Show Ignored Requests"
-msgstr "Montri ignoritajn petojn"
-
-#: ../../mod/notifications.php:119
-msgid "Hide Ignored Requests"
-msgstr "Kaŝi ignoritajn petojn"
-
-#: ../../mod/notifications.php:145 ../../mod/notifications.php:191
-msgid "Notification type: "
-msgstr "Tipo de atentigo:"
-
-#: ../../mod/notifications.php:146
-msgid "Friend Suggestion"
-msgstr "Amikosugestoj"
-
-#: ../../mod/notifications.php:148
-#, php-format
-msgid "suggested by %s"
-msgstr "sugestita de %s"
-
-#: ../../mod/notifications.php:153 ../../mod/notifications.php:200
-#: ../../mod/contacts.php:376
-msgid "Hide this contact from others"
-msgstr "Kaŝi ĉi tiun kontakton al aliaj"
-
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "Post a new friend activity"
-msgstr "Afiŝi novan amikecan aktivecon"
-
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "if applicable"
-msgstr "se aplikebla"
-
-#: ../../mod/notifications.php:157 ../../mod/notifications.php:204
-#: ../../mod/admin.php:661
-msgid "Approve"
-msgstr "Aprobi"
-
-#: ../../mod/notifications.php:177
-msgid "Claims to be known to you: "
-msgstr "Pensas ke vi konas ilin:"
-
-#: ../../mod/notifications.php:177
-msgid "yes"
-msgstr "jes"
-
-#: ../../mod/notifications.php:177
-msgid "no"
-msgstr "ne"
-
-#: ../../mod/notifications.php:184
-msgid "Approve as: "
-msgstr "Aprobi kiel:"
-
-#: ../../mod/notifications.php:185
-msgid "Friend"
-msgstr "Amiko"
-
-#: ../../mod/notifications.php:186
-msgid "Sharer"
-msgstr "Kunhaviganto"
-
-#: ../../mod/notifications.php:186
-msgid "Fan/Admirer"
-msgstr "Fanatikulo/Admiranto"
-
-#: ../../mod/notifications.php:192
-msgid "Friend/Connect Request"
-msgstr "Kontaktpeto"
-
-#: ../../mod/notifications.php:192
-msgid "New Follower"
-msgstr "Nova abonanto"
-
-#: ../../mod/notifications.php:213
-msgid "No introductions."
-msgstr "Neniom da prezentoj"
-
-#: ../../mod/notifications.php:216 ../../include/nav.php:122
-msgid "Notifications"
-msgstr "Atentigoj"
-
-#: ../../mod/notifications.php:253 ../../mod/notifications.php:378
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s ŝatis la afiŝon de %s"
-
-#: ../../mod/notifications.php:262 ../../mod/notifications.php:387
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s malŝatis la afiŝon de %s"
-
-#: ../../mod/notifications.php:276 ../../mod/notifications.php:401
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s amikiĝis kun %s"
-
-#: ../../mod/notifications.php:283 ../../mod/notifications.php:408
-#, php-format
-msgid "%s created a new post"
-msgstr "%s kreis novan afiŝon"
-
-#: ../../mod/notifications.php:284 ../../mod/notifications.php:409
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s komentis pri la afiŝo de %s"
-
-#: ../../mod/notifications.php:298
-msgid "No more network notifications."
-msgstr "Ne pli da retaj atentigoj."
-
-#: ../../mod/notifications.php:302
-msgid "Network Notifications"
-msgstr "Retaj Atentigoj"
-
-#: ../../mod/notifications.php:328 ../../mod/notify.php:61
-msgid "No more system notifications."
-msgstr "Ne pli da sistemaj atentigoj."
-
-#: ../../mod/notifications.php:332 ../../mod/notify.php:65
-msgid "System Notifications"
-msgstr "Sistemaj Atentigoj"
-
-#: ../../mod/notifications.php:423
-msgid "No more personal notifications."
-msgstr "Ne pli da personaj atentigoj"
-
-#: ../../mod/notifications.php:427
-msgid "Personal Notifications"
-msgstr "Personaj Atentigoj"
-
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr "Ne pli da hejmrilataj atentigoj."
-
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr "Hejmrilataj atentigoj"
-
-#: ../../mod/contacts.php:83 ../../mod/contacts.php:163
-msgid "Could not access contact record."
-msgstr "Ne eblis atingi kontaktrikordo."
-
-#: ../../mod/contacts.php:97
-msgid "Could not locate selected profile."
-msgstr "Ne trovis elektitan profilon."
-
-#: ../../mod/contacts.php:120
-msgid "Contact updated."
-msgstr "Kontakto estas ĝisdatigita."
-
-#: ../../mod/contacts.php:185
-msgid "Contact has been blocked"
-msgstr "Kontakto estas blokita."
-
-#: ../../mod/contacts.php:185
-msgid "Contact has been unblocked"
-msgstr "Kontakto estas malblokita."
-
-#: ../../mod/contacts.php:199
-msgid "Contact has been ignored"
-msgstr "Kontakto estas ignorita."
-
-#: ../../mod/contacts.php:199
-msgid "Contact has been unignored"
-msgstr "Kontakto estas malignorita."
-
-#: ../../mod/contacts.php:215
-msgid "Contact has been archived"
-msgstr "Enarkivigis kontakton"
-
-#: ../../mod/contacts.php:215
-msgid "Contact has been unarchived"
-msgstr "Elarkivigis kontakton"
-
-#: ../../mod/contacts.php:228
-msgid "Contact has been removed."
-msgstr "Kontakto estas forigita."
-
-#: ../../mod/contacts.php:258
-#, php-format
-msgid "You are mutual friends with %s"
-msgstr "Vi estas reciproka amiko de %s"
-
-#: ../../mod/contacts.php:262
-#, php-format
-msgid "You are sharing with %s"
-msgstr "Vi kunhavigas kun %s"
-
-#: ../../mod/contacts.php:267
-#, php-format
-msgid "%s is sharing with you"
-msgstr "%s kunhavigas kun vi"
-
-#: ../../mod/contacts.php:284
-msgid "Private communications are not available for this contact."
-msgstr "Privataj komunikadoj ne disponeblas por ĉi tiu kontakto."
-
-#: ../../mod/contacts.php:287
-msgid "Never"
-msgstr "Neniam"
-
-#: ../../mod/contacts.php:291
-msgid "(Update was successful)"
-msgstr "(Ĝisdatigo sukcesis.)"
-
-#: ../../mod/contacts.php:291
-msgid "(Update was not successful)"
-msgstr "(Ĝisdatigo malsukcesis.)"
-
-#: ../../mod/contacts.php:293
-msgid "Suggest friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/contacts.php:297
-#, php-format
-msgid "Network type: %s"
-msgstr "Reta tipo: %s"
-
-#: ../../mod/contacts.php:300 ../../include/contact_widgets.php:183
-#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] "%d komuna kontakto"
-msgstr[1] "%d komunaj kontaktoj"
-
-#: ../../mod/contacts.php:305
-msgid "View all contacts"
-msgstr "Vidi ĉiujn kontaktojn"
-
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:665
-msgid "Unblock"
-msgstr "Malbloki"
-
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:664
-msgid "Block"
-msgstr "Bloki"
-
-#: ../../mod/contacts.php:313
-msgid "Toggle Blocked status"
-msgstr "Ŝalti/malŝalti Blokitan staton"
-
-#: ../../mod/contacts.php:316 ../../mod/contacts.php:370
-msgid "Unignore"
-msgstr "Malignori"
-
-#: ../../mod/contacts.php:319
-msgid "Toggle Ignored status"
-msgstr "Ŝalti/malŝalti Ignoritan staton"
-
-#: ../../mod/contacts.php:323
-msgid "Unarchive"
-msgstr "Elarkivigi"
-
-#: ../../mod/contacts.php:323
-msgid "Archive"
-msgstr "Enarkivigi"
-
-#: ../../mod/contacts.php:326
-msgid "Toggle Archive status"
-msgstr "Ŝalti/malŝalti Enarkivigitan staton"
-
-#: ../../mod/contacts.php:329
-msgid "Repair"
-msgstr "Ripari"
-
-#: ../../mod/contacts.php:332
-msgid "Advanced Contact Settings"
-msgstr "Specialaj Kontaktagordoj"
-
-#: ../../mod/contacts.php:338
-msgid "Communications lost with this contact!"
-msgstr "Mi perdis la kommunikadon kun tiu kontakto!"
-
-#: ../../mod/contacts.php:341
-msgid "Contact Editor"
-msgstr "Kontakta redaktilo."
-
-#: ../../mod/contacts.php:344
-msgid "Profile Visibility"
-msgstr "Videbleco de profilo"
-
-#: ../../mod/contacts.php:345
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bonvolu elekti la profilon kiu vi volas montri al %s aspektinde kiam sekure aspektante vian profilon."
-
-#: ../../mod/contacts.php:346
-msgid "Contact Information / Notes"
-msgstr "Kontaktaj informoj / Notoj"
-
-#: ../../mod/contacts.php:347
-msgid "Edit contact notes"
-msgstr "Redakti kontaktnotojn"
-
-#: ../../mod/contacts.php:352 ../../mod/contacts.php:544
-#: ../../mod/viewconnections.php:62 ../../mod/nogroup.php:40
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Viziti la profilon de %s [%s]"
-
-#: ../../mod/contacts.php:353
-msgid "Block/Unblock contact"
-msgstr "Bloki/Malbloki kontakton"
-
-#: ../../mod/contacts.php:354
-msgid "Ignore contact"
-msgstr "Ignori kontakton"
-
-#: ../../mod/contacts.php:355
-msgid "Repair URL settings"
-msgstr "Ripari URL agordoj"
-
-#: ../../mod/contacts.php:356
-msgid "View conversations"
-msgstr "Vidi konversaciojn"
-
-#: ../../mod/contacts.php:358
-msgid "Delete contact"
-msgstr "Forviŝi kontakton"
-
-#: ../../mod/contacts.php:362
-msgid "Last update:"
-msgstr "Plej ĵusa ĝisdatigo:"
-
-#: ../../mod/contacts.php:364
-msgid "Update public posts"
-msgstr "Ĝisdatigi publikajn afiŝojn"
-
-#: ../../mod/contacts.php:366 ../../mod/admin.php:1136
-msgid "Update now"
-msgstr "Ĝisdatigi nun"
-
-#: ../../mod/contacts.php:373
-msgid "Currently blocked"
-msgstr "Nuntempe blokata"
-
-#: ../../mod/contacts.php:374
-msgid "Currently ignored"
-msgstr "Nuntempe ignorata"
-
-#: ../../mod/contacts.php:375
-msgid "Currently archived"
-msgstr "Nuntempe enarkivigita"
-
-#: ../../mod/contacts.php:376
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Rispondoj/ŝataĵo al viaj publikaj afiŝoj <strong>eble</strong> plu estos videbla"
-
-#: ../../mod/contacts.php:429
-msgid "Suggestions"
-msgstr "Sugestoj"
-
-#: ../../mod/contacts.php:432
-msgid "Suggest potential friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/contacts.php:435 ../../mod/group.php:191
-msgid "All Contacts"
-msgstr "Ĉiuj Kontaktoj"
-
-#: ../../mod/contacts.php:438
-msgid "Show all contacts"
-msgstr "Montri ĉiujn kontaktojn"
-
-#: ../../mod/contacts.php:441
-msgid "Unblocked"
-msgstr "Malblokita"
-
-#: ../../mod/contacts.php:444
-msgid "Only show unblocked contacts"
-msgstr "Nur montri neblokitajn kontaktojn"
-
-#: ../../mod/contacts.php:448
-msgid "Blocked"
-msgstr "Blokita"
-
-#: ../../mod/contacts.php:451
-msgid "Only show blocked contacts"
-msgstr "Nur montri blokitajn kontaktojn"
-
-#: ../../mod/contacts.php:455
-msgid "Ignored"
-msgstr "Ignorita"
-
-#: ../../mod/contacts.php:458
-msgid "Only show ignored contacts"
-msgstr "Nur montri ignoritajn kontaktojn"
-
-#: ../../mod/contacts.php:462
-msgid "Archived"
-msgstr "Enarkivigita"
-
-#: ../../mod/contacts.php:465
-msgid "Only show archived contacts"
-msgstr "Nur montri enarkivigitajn kontaktojn"
-
-#: ../../mod/contacts.php:469
-msgid "Hidden"
-msgstr "Kaŝita"
-
-#: ../../mod/contacts.php:472
-msgid "Only show hidden contacts"
-msgstr "Nur montri kaŝitajn kontaktojn"
-
-#: ../../mod/contacts.php:520
-msgid "Mutual Friendship"
-msgstr "Reciproka amikeco"
-
-#: ../../mod/contacts.php:524
-msgid "is a fan of yours"
-msgstr "estas admiranto de vi"
-
-#: ../../mod/contacts.php:528
-msgid "you are a fan of"
-msgstr "vi estas admiranto de"
-
-#: ../../mod/contacts.php:545 ../../mod/nogroup.php:41
-msgid "Edit contact"
-msgstr "Redakti kontakton"
-
-#: ../../mod/contacts.php:566 ../../view/theme/diabook/theme.php:129
-#: ../../include/nav.php:139
-msgid "Contacts"
-msgstr "Kontaktoj"
-
-#: ../../mod/contacts.php:570
-msgid "Search your contacts"
-msgstr "Serĉi viajn kontaktojn"
-
-#: ../../mod/contacts.php:571 ../../mod/directory.php:57
-msgid "Finding: "
-msgstr "Trovata:"
-
-#: ../../mod/contacts.php:572 ../../mod/directory.php:59
-#: ../../include/contact_widgets.php:33
-msgid "Find"
-msgstr "Trovi"
-
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
-msgstr "Ne trovis validan konton."
-
-#: ../../mod/lostpass.php:32
-msgid "Password reset request issued. Check your email."
-msgstr "Eldonis riparadon de pasvorto. Legu vian retpoŝton."
-
-#: ../../mod/lostpass.php:43
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Pasvorta riparado petita je %s"
-
-#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:90 ../../mod/register.php:144
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
-#: ../../addon/facebook/facebook.php:700
-#: ../../addon/facebook/facebook.php:1190
-#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2890
-#: ../../boot.php:730
-msgid "Administrator"
-msgstr "Administranto"
-
-#: ../../mod/lostpass.php:65
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Ne povis konfirmi la peton. (Eble vi sendis ĝin antaŭ.) Pasvorta riparado malsukcesis."
-
-#: ../../mod/lostpass.php:83 ../../boot.php:862
-msgid "Password Reset"
-msgstr "Pasvorta riparado"
-
-#: ../../mod/lostpass.php:84
-msgid "Your password has been reset as requested."
-msgstr "Via pasvorto estis riparita laŭ via peto."
-
-#: ../../mod/lostpass.php:85
-msgid "Your new password is"
-msgstr "Via nova pasvorto estas"
-
-#: ../../mod/lostpass.php:86
-msgid "Save or copy your new password - and then"
-msgstr "Memorigi vian novan pasvorton - kaj poste"
-
-#: ../../mod/lostpass.php:87
-msgid "click here to login"
-msgstr "klaku ĉi tie por ensaluti"
-
-#: ../../mod/lostpass.php:88
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Vi povas ŝangi vian pasvorton sur la paĝo <em>agordoj</em> kiam vi sukcese ensalutis."
-
-#: ../../mod/lostpass.php:119
-msgid "Forgot your Password?"
-msgstr "Ĉu vi forgesis vian pasvorton?"
-
-#: ../../mod/lostpass.php:120
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Entajpu vian retpoŝtadreson kaj sendu por pasvorta riparado. Poste, bonvolu legi vian retpoŝton por trovi pliajn instrukciojn."
-
-#: ../../mod/lostpass.php:121
-msgid "Nickname or Email: "
-msgstr "Salutnomo aŭ retpoŝtadreso: "
-
-#: ../../mod/lostpass.php:122
-msgid "Reset"
-msgstr "Repari"
-
-#: ../../mod/settings.php:50 ../../include/nav.php:137
-msgid "Account settings"
-msgstr "Konto"
-
-#: ../../mod/settings.php:55
-msgid "Display settings"
-msgstr "Ekrano"
-
-#: ../../mod/settings.php:61
-msgid "Connector settings"
-msgstr "Konektiloj"
-
-#: ../../mod/settings.php:66
-msgid "Plugin settings"
-msgstr "Kromprogramoj"
-
-#: ../../mod/settings.php:71
-msgid "Connected apps"
-msgstr "Konektitaj programoj"
-
-#: ../../mod/settings.php:76
-msgid "Export personal data"
-msgstr "Eksporto"
-
-#: ../../mod/settings.php:81
-msgid "Remove account"
-msgstr "Forigi konton"
-
-#: ../../mod/settings.php:89 ../../mod/admin.php:751 ../../mod/admin.php:956
-#: ../../addon/dav/layout.fnk.php:116 ../../addon/mathjax/mathjax.php:36
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
-msgid "Settings"
-msgstr "Agordoj"
-
-#: ../../mod/settings.php:133
-msgid "Missing some important data!"
-msgstr "Mankas importantaj datumoj!"
-
-#: ../../mod/settings.php:136 ../../mod/settings.php:581
-msgid "Update"
-msgstr "Ĝisdatigi"
-
-#: ../../mod/settings.php:241
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Ne sukcesis konekti al retpoŝtkonto kun la provizitaj agordoj."
-
-#: ../../mod/settings.php:246
-msgid "Email settings updated."
-msgstr "Retpoŝtagordoj ĝisdatigita"
-
-#: ../../mod/settings.php:305
-msgid "Passwords do not match. Password unchanged."
-msgstr "La pasvortoj ne estas egala. Pasvorto ne ŝanĝita."
-
-#: ../../mod/settings.php:310
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Malplenaj pasvortoj ne estas permesita. Pasvorto ne ŝanĝita."
-
-#: ../../mod/settings.php:321
-msgid "Password changed."
-msgstr "Pasvorto ŝanĝita."
-
-#: ../../mod/settings.php:323
-msgid "Password update failed. Please try again."
-msgstr "Ĝisdatigo de pasvorto malsukcesis. Bonvolu provi refoje."
-
-#: ../../mod/settings.php:386
-msgid " Please use a shorter name."
-msgstr " Bonvolu uzi pli mallongan nomon."
-
-#: ../../mod/settings.php:388
-msgid " Name too short."
-msgstr " Nomo estas tro mallonga."
-
-#: ../../mod/settings.php:394
-msgid " Not valid email."
-msgstr " Repoŝtadreso ne validas."
-
-#: ../../mod/settings.php:396
-msgid " Cannot change to that email."
-msgstr " Ne povas ŝanĝi al tio retpoŝtadreso."
-
-#: ../../mod/settings.php:450
-msgid "Private forum has no privacy permissions. Using default privacy group."
-msgstr "Privata forumo ne havas privatecajn agordojn. Defaŭlta privateca grupo estas uzata."
-
-#: ../../mod/settings.php:454
-msgid "Private forum has no privacy permissions and no default privacy group."
-msgstr "Privata forumo havas nek privatecajn agordojn nek defaŭltan privatecan grupon."
-
-#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:493
-#: ../../addon/impressum/impressum.php:77
-#: ../../addon/openstreetmap/openstreetmap.php:80
-#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
-#: ../../addon/twitter/twitter.php:382
-msgid "Settings updated."
-msgstr "Agordoj ĝisdatigita."
-
-#: ../../mod/settings.php:554 ../../mod/settings.php:580
-#: ../../mod/settings.php:616
-msgid "Add application"
-msgstr "Aldoni programon"
-
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
-#: ../../addon/statusnet/statusnet.php:561
-msgid "Consumer Key"
-msgstr "Ŝlosilo de kliento"
-
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
-#: ../../addon/statusnet/statusnet.php:560
-msgid "Consumer Secret"
-msgstr "Sekreto de kliento"
-
-#: ../../mod/settings.php:560 ../../mod/settings.php:586
-msgid "Redirect"
-msgstr "Alidirekto"
-
-#: ../../mod/settings.php:561 ../../mod/settings.php:587
-msgid "Icon url"
-msgstr "Piktograma adreso"
-
-#: ../../mod/settings.php:572
-msgid "You can't edit this application."
-msgstr "Ĉi tio programo ne estas redaktebla."
-
-#: ../../mod/settings.php:615
-msgid "Connected Apps"
-msgstr "Konektitaj Programoj"
-
-#: ../../mod/settings.php:619
-msgid "Client key starts with"
-msgstr "Ŝlosilo de kliento komencas kun"
-
-#: ../../mod/settings.php:620
-msgid "No name"
-msgstr "Neniu nomo"
-
-#: ../../mod/settings.php:621
-msgid "Remove authorization"
-msgstr "Forviŝi rajtigon"
-
-#: ../../mod/settings.php:632
-msgid "No Plugin settings configured"
-msgstr "Neniom da kromprogramoagordoj farita"
-
-#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
-msgid "Plugin Settings"
-msgstr "Kromprogramoagordoj"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-#, php-format
-msgid "Built-in support for %s connectivity is %s"
-msgstr "Integrita subteno por %s koneto estas %s"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "enabled"
-msgstr "ŝaltita"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "disabled"
-msgstr "malŝaltita"
-
-#: ../../mod/settings.php:653
-msgid "StatusNet"
-msgstr "StatusNet"
-
-#: ../../mod/settings.php:685
-msgid "Email access is disabled on this site."
-msgstr "Retpoŝta atingo ne disponeblas ĉi tie."
-
-#: ../../mod/settings.php:691
-msgid "Connector Settings"
-msgstr "Konektiloagordoj"
-
-#: ../../mod/settings.php:696
-msgid "Email/Mailbox Setup"
-msgstr "Agordoj pri Retpoŝto"
-
-#: ../../mod/settings.php:697
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr "Se vi volas uzi ĉi tiun servon por komuniki per retpoŝto (nedeviga), bonvolu specifi kiel konekti al vian retpoŝtkonton."
-
-#: ../../mod/settings.php:698
-msgid "Last successful email check:"
-msgstr "Plej ĵusa sukcesa kontrolo de poŝto:"
-
-#: ../../mod/settings.php:700
-msgid "IMAP server name:"
-msgstr "Nomo de IMAP servilo:"
-
-#: ../../mod/settings.php:701
-msgid "IMAP port:"
-msgstr "Numero de IMAP pordo:"
-
-#: ../../mod/settings.php:702
-msgid "Security:"
-msgstr "Sekureco:"
-
-#: ../../mod/settings.php:702 ../../mod/settings.php:707
-msgid "None"
-msgstr "Nenio"
-
-#: ../../mod/settings.php:703
-msgid "Email login name:"
-msgstr "Retpoŝta salutnomo:"
-
-#: ../../mod/settings.php:704
-msgid "Email password:"
-msgstr "Retpoŝta pasvorto:"
-
-#: ../../mod/settings.php:705
-msgid "Reply-to address:"
-msgstr "Responda adreso (Reply-to):"
-
-#: ../../mod/settings.php:706
-msgid "Send public posts to all email contacts:"
-msgstr "Sendu publikajn afiŝojn al ĉiuj retpoŝtkontaktoj:"
-
-#: ../../mod/settings.php:707
-msgid "Action after import:"
-msgstr "Ago post la importado:"
-
-#: ../../mod/settings.php:707
-msgid "Mark as seen"
-msgstr "Marki kiel legita"
-
-#: ../../mod/settings.php:707
-msgid "Move to folder"
-msgstr "Movi al dosierujo"
-
-#: ../../mod/settings.php:708
-msgid "Move to folder:"
-msgstr "Movi al dosierujo:"
-
-#: ../../mod/settings.php:768
-msgid "Display Settings"
-msgstr "Ekranagordoj"
-
-#: ../../mod/settings.php:774
-msgid "Display Theme:"
-msgstr "Vidiga etoso:"
-
-#: ../../mod/settings.php:775
-msgid "Update browser every xx seconds"
-msgstr "Ĝisdatigu retesplorilon ĉiu xxx sekundoj"
-
-#: ../../mod/settings.php:775
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimume 10 sekundoj, sen maksimumo"
-
-#: ../../mod/settings.php:776
-msgid "Number of items to display on the network page:"
-msgstr "Kvanto da elementoj kiuj estos montrata ĉe la reto paĝo."
-
-#: ../../mod/settings.php:776
-msgid "Maximum of 100 items"
-msgstr "Maksimume 100 eroj"
-
-#: ../../mod/settings.php:777
-msgid "Don't show emoticons"
-msgstr "Ne montru ridetulojn"
-
-#: ../../mod/settings.php:848
-msgid "Normal Account Page"
-msgstr "Normala Kontopaĝo"
-
-#: ../../mod/settings.php:849
-msgid "This account is a normal personal profile"
-msgstr "Tiu konto estas normala persona profilo"
-
-#: ../../mod/settings.php:852
-msgid "Soapbox Page"
-msgstr "Soapbox Paĝo"
-
-#: ../../mod/settings.php:853
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel nurlegaj admirantoj"
-
-#: ../../mod/settings.php:856
-msgid "Community Forum/Celebrity Account"
-msgstr "Komunuma Forumo/Eminentula Konto"
-
-#: ../../mod/settings.php:857
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel admirantoj kapable legi kaj skribi"
-
-#: ../../mod/settings.php:860
-msgid "Automatic Friend Page"
-msgstr "Aŭtomata Amiko Paĝo"
-
-#: ../../mod/settings.php:861
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel amikoj"
-
-#: ../../mod/settings.php:864
-msgid "Private Forum [Experimental]"
-msgstr "Privata Forumo [eksperimenta]"
-
-#: ../../mod/settings.php:865
-msgid "Private forum - approved members only"
-msgstr "Privata forumo - nur por aprobitaj membroj"
-
-#: ../../mod/settings.php:877
-msgid "OpenID:"
-msgstr "OpenID:"
-
-#: ../../mod/settings.php:877
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Nedeviga) Permesi atingon al la konton al ĉi tio OpenID."
-
-#: ../../mod/settings.php:887
-msgid "Publish your default profile in your local site directory?"
-msgstr "Publikigi vian defaŭltan profilon en la loka reteja katalogo?"
-
-#: ../../mod/settings.php:893
-msgid "Publish your default profile in the global social directory?"
-msgstr "Publikigi vian defaŭltan profilon en la tutmonda interkona katalogo?"
-
-#: ../../mod/settings.php:901
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr "Kaŝi vian liston de kontaktoj/amiko al spektantoj de via defaŭlta profilo?"
-
-#: ../../mod/settings.php:905
-msgid "Hide your profile details from unknown viewers?"
-msgstr "Kaŝi viajn profilajn detalojn al nekonataj spektantoj?"
-
-#: ../../mod/settings.php:910
-msgid "Allow friends to post to your profile page?"
-msgstr "Ĉu amikoj povu afiŝi al via profilo?"
-
-#: ../../mod/settings.php:916
-msgid "Allow friends to tag your posts?"
-msgstr "Ĉu amikoj povu aldoni markojn al viaj afiŝoj?"
-
-#: ../../mod/settings.php:922
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Ĉu ni povu sugesti vin kiel amiko al novaj membroj?"
-
-#: ../../mod/settings.php:928
-msgid "Permit unknown people to send you private mail?"
-msgstr "Permesigi nekonatulojn sendi retpoŝton al vi?"
-
-#: ../../mod/settings.php:936
-msgid "Profile is <strong>not published</strong>."
-msgstr "Profilo <strong>ne estas publika</strong>."
-
-#: ../../mod/settings.php:939 ../../mod/profile_photo.php:213
-msgid "or"
-msgstr "aŭ"
-
-#: ../../mod/settings.php:944
-msgid "Your Identity Address is"
-msgstr "Via identeca adreso estas"
-
-#: ../../mod/settings.php:955
-msgid "Automatically expire posts after this many days:"
-msgstr "Automatike senvalidigi afiŝojn post tiom da tagoj:"
-
-#: ../../mod/settings.php:955
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr "Se malplena, afiŝoj neniam senvalidiĝos. Senvalidigitajn afiŝon estos forviŝata"
-
-#: ../../mod/settings.php:956
-msgid "Advanced expiration settings"
-msgstr "Detalaj agordoj rilate al senvalidiĝo"
-
-#: ../../mod/settings.php:957
-msgid "Advanced Expiration"
-msgstr "Detala senvalidiĝo"
-
-#: ../../mod/settings.php:958
-msgid "Expire posts:"
-msgstr "Senvalidigi afiŝojn:"
-
-#: ../../mod/settings.php:959
-msgid "Expire personal notes:"
-msgstr "Senvalidigi personajn notojn:"
-
-#: ../../mod/settings.php:960
-msgid "Expire starred posts:"
-msgstr "Senvalidigi steligitajn afiŝojn:"
-
-#: ../../mod/settings.php:961
-msgid "Expire photos:"
-msgstr "Senvalidigi bildojn:"
-
-#: ../../mod/settings.php:962
-msgid "Only expire posts by others:"
-msgstr "Nur senvalidigi afiŝojn de aliaj: "
-
-#: ../../mod/settings.php:969
-msgid "Account Settings"
-msgstr "Kontoagordoj"
-
-#: ../../mod/settings.php:977
-msgid "Password Settings"
-msgstr "Agordoj pri Pasvorto"
-
-#: ../../mod/settings.php:978
-msgid "New Password:"
-msgstr "Nova pasvorto:"
-
-#: ../../mod/settings.php:979
-msgid "Confirm:"
-msgstr "Konfirmi:"
-
-#: ../../mod/settings.php:979
-msgid "Leave password fields blank unless changing"
-msgstr "Lasu pasvortkampojn malplenaj se vi ne ŝanĝas la pasvorton."
-
-#: ../../mod/settings.php:983
-msgid "Basic Settings"
-msgstr "Bazaj Agordoj"
-
-#: ../../mod/settings.php:984 ../../include/profile_advanced.php:15
-msgid "Full Name:"
-msgstr "Plena Nomo:"
-
-#: ../../mod/settings.php:985
-msgid "Email Address:"
-msgstr "Retpoŝtadreso:"
-
-#: ../../mod/settings.php:986
-msgid "Your Timezone:"
-msgstr "Via Horzono:"
-
-#: ../../mod/settings.php:987
-msgid "Default Post Location:"
-msgstr "Defaŭlta Loko por Afiŝoj:"
-
-#: ../../mod/settings.php:988
-msgid "Use Browser Location:"
-msgstr "Uzu Lokon laŭ Retesplorilo:"
-
-#: ../../mod/settings.php:991
-msgid "Security and Privacy Settings"
-msgstr "Agordoj pri Sekureco kaj Privateco"
-
-#: ../../mod/settings.php:993
-msgid "Maximum Friend Requests/Day:"
-msgstr "Taga maksimumo da kontaktpetoj:"
-
-#: ../../mod/settings.php:993 ../../mod/settings.php:1012
-msgid "(to prevent spam abuse)"
-msgstr "(por malhelpi spamaĵojn)"
-
-#: ../../mod/settings.php:994
-msgid "Default Post Permissions"
-msgstr "Defaŭltaj permesoj por afiŝoj"
-
-#: ../../mod/settings.php:995
-msgid "(click to open/close)"
-msgstr "(klaku por malfermi/fermi)"
-
-#: ../../mod/settings.php:1012
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Taga maksimumo da privataj mesaĝoj."
-
-#: ../../mod/settings.php:1015
-msgid "Notification Settings"
-msgstr "Agordoj pri Atentigoj"
-
-#: ../../mod/settings.php:1016
-msgid "By default post a status message when:"
-msgstr "Defaŭlte afiŝi statmesaĝon okaze de:"
-
-#: ../../mod/settings.php:1017
-msgid "accepting a friend request"
-msgstr "akcepti kontaktpeton"
-
-#: ../../mod/settings.php:1018
-msgid "joining a forum/community"
-msgstr "aliĝi forumon/komunumon"
-
-#: ../../mod/settings.php:1019
-msgid "making an <em>interesting</em> profile change"
-msgstr "fari <em>interesan</em> profilŝanĝon"
-
-#: ../../mod/settings.php:1020
-msgid "Send a notification email when:"
-msgstr "Sendu atentiga repoŝton se:"
-
-#: ../../mod/settings.php:1021
-msgid "You receive an introduction"
-msgstr "Vi ricevas inviton"
-
-#: ../../mod/settings.php:1022
-msgid "Your introductions are confirmed"
-msgstr "Viaj prezentoj estas konfirmata."
-
-#: ../../mod/settings.php:1023
-msgid "Someone writes on your profile wall"
-msgstr "Iu skribas je via profila muro."
-
-#: ../../mod/settings.php:1024
-msgid "Someone writes a followup comment"
-msgstr "Iu skribas sekvan komenton"
-
-#: ../../mod/settings.php:1025
-msgid "You receive a private message"
-msgstr "Vi ricevas privatan mesaĝon."
-
-#: ../../mod/settings.php:1026
-msgid "You receive a friend suggestion"
-msgstr "Vi ricevas amikosugeston"
-
-#: ../../mod/settings.php:1027
-msgid "You are tagged in a post"
-msgstr "Vi estas markita en afiŝon"
-
-#: ../../mod/settings.php:1030
-msgid "Advanced Account/Page Type Settings"
-msgstr "Detalaj Agordoj pri Tipo de Konto/Paĝo."
-
-#: ../../mod/settings.php:1031
-msgid "Change the behaviour of this account for special situations"
-msgstr "Agordi la teniĝon de la konto en specialaj situacioj"
-
-#: ../../mod/manage.php:90
-msgid "Manage Identities and/or Pages"
-msgstr "Administri identecojn kaj/aŭ paĝojn."
-
-#: ../../mod/manage.php:93
-msgid ""
-"Toggle between different identities or community/group pages which share "
-"your account details or which you have been granted \"manage\" permissions"
-msgstr "Ŝalti inter aliaj identecojn aj komunumaj/grupaj paĝoj kiuj kunhavas viajn kontajn detalojn au por kiuj vi havas \"administranto\" permesojn."
-
-#: ../../mod/manage.php:95
-msgid "Select an identity to manage: "
-msgstr "Elektu identencon por administrado:"
-
-#: ../../mod/network.php:97
-msgid "Search Results For:"
-msgstr "Rezultoj de la serĉado pri:"
-
-#: ../../mod/network.php:137 ../../mod/search.php:16
-msgid "Remove term"
-msgstr "Forviŝu terminon"
-
-#: ../../mod/network.php:146 ../../mod/search.php:13
-msgid "Saved Searches"
-msgstr "Konservitaj Serĉadoj"
-
-#: ../../mod/network.php:147 ../../include/group.php:244
-msgid "add"
-msgstr "aldoni"
-
-#: ../../mod/network.php:287
-msgid "Commented Order"
-msgstr "Komenta Ordo"
-
-#: ../../mod/network.php:290
-msgid "Sort by Comment Date"
-msgstr "Ordigi laŭ Dato de Komento"
-
-#: ../../mod/network.php:293
-msgid "Posted Order"
-msgstr "Afiŝita Ordo"
-
-#: ../../mod/network.php:296
-msgid "Sort by Post Date"
-msgstr "Ordigi laŭ Dato de Afiŝado"
-
-#: ../../mod/network.php:303
-msgid "Posts that mention or involve you"
-msgstr "Afiŝoj menciantaj vin aŭ pri vi"
-
-#: ../../mod/network.php:306
-msgid "New"
-msgstr "Nova"
-
-#: ../../mod/network.php:309
-msgid "Activity Stream - by date"
-msgstr "Fluo de Aktiveco - laŭ dato"
-
-#: ../../mod/network.php:312
-msgid "Starred"
-msgstr "Steligita"
-
-#: ../../mod/network.php:315
-msgid "Favourite Posts"
-msgstr "Favorigitaj Afiŝoj"
-
-#: ../../mod/network.php:318
-msgid "Shared Links"
-msgstr "Kunhavigitaj Ligiloj"
-
-#: ../../mod/network.php:321
-msgid "Interesting Links"
-msgstr "Interesaj Ligiloj"
-
-#: ../../mod/network.php:388
-#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Averto: La grupo enhavas %s membron el nesekuraj retejoj."
-msgstr[1] "Averto: La grupo enhavas %s membrojn el nesekuraj retejoj."
-
-#: ../../mod/network.php:391
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "La privateco de privataj mesaĝoj al ĉi tiu grupo ne ĉiam estas garantita."
-
-#: ../../mod/network.php:436
-msgid "No such group"
-msgstr "Grupo ne estas trovita"
-
-#: ../../mod/network.php:447
-msgid "Group is empty"
-msgstr "Grupo estas malplena"
-
-#: ../../mod/network.php:451
-msgid "Group: "
-msgstr "Grupo:"
-
-#: ../../mod/network.php:461
-msgid "Contact: "
-msgstr "Kontakto:"
-
-#: ../../mod/network.php:463
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "La privateco de privataj mesaĝoj al ĉi tiu persono ne ĉiam estas garantita."
-
-#: ../../mod/network.php:468
-msgid "Invalid contact."
-msgstr "Nevalida kontakto."
-
-#: ../../mod/notes.php:44 ../../boot.php:1565
-msgid "Personal Notes"
-msgstr "Personaj Notoj"
-
-#: ../../mod/notes.php:63 ../../mod/filer.php:30
-#: ../../addon/facebook/facebook.php:768
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
-#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652
-msgid "Save"
-msgstr "Konservi"
-
-#: ../../mod/wallmessage.php:42 ../../mod/wallmessage.php:112
-#, php-format
-msgid "Number of daily wall messages for %s exceeded. Message failed."
-msgstr "Number of daily wall messages for %s exceeded. Messaĝo malsukcesis."
-
-#: ../../mod/wallmessage.php:56 ../../mod/message.php:66
-msgid "No recipient selected."
-msgstr "Neniom da ricevontoj."
-
-#: ../../mod/wallmessage.php:59
-msgid "Unable to check your home location."
-msgstr "Ne eblas kontroli vian hejmlokon."
-
-#: ../../mod/wallmessage.php:62 ../../mod/message.php:73
-msgid "Message could not be sent."
-msgstr "Ne povas sendi la mesaĝon."
-
-#: ../../mod/wallmessage.php:65 ../../mod/message.php:76
-msgid "Message collection failure."
-msgstr "Malsukcese provis kolekti mesaĝojn."
-
-#: ../../mod/wallmessage.php:68 ../../mod/message.php:79
-msgid "Message sent."
-msgstr "Mesaĝo estas sendita."
-
-#: ../../mod/wallmessage.php:86 ../../mod/wallmessage.php:95
-msgid "No recipient."
-msgstr "Neniom da ricevontoj."
-
-#: ../../mod/wallmessage.php:124 ../../mod/message.php:172
-#: ../../include/conversation.php:947
-msgid "Please enter a link URL:"
-msgstr "Bonvolu entajpu adreson de ligilo:"
-
-#: ../../mod/wallmessage.php:131 ../../mod/message.php:200
-msgid "Send Private Message"
-msgstr "Sendi Privatan Mesaĝon"
-
-#: ../../mod/wallmessage.php:132
-#, php-format
-msgid ""
-"If you wish for %s to respond, please check that the privacy settings on "
-"your site allow private mail from unknown senders."
-msgstr "Se vi deziras ke %s respondu, bonvolu kontroli ke la privatecaj agordoj je via retejo permesas privatajn mesaĝojn de nekonataj sendantoj."
-
-#: ../../mod/wallmessage.php:133 ../../mod/message.php:201
-#: ../../mod/message.php:399
-msgid "To:"
-msgstr "Al:"
-
-#: ../../mod/wallmessage.php:134 ../../mod/message.php:206
-#: ../../mod/message.php:401
-msgid "Subject:"
-msgstr "Temo:"
-
-#: ../../mod/wallmessage.php:140 ../../mod/message.php:210
-#: ../../mod/message.php:404 ../../mod/invite.php:113
-msgid "Your message:"
-msgstr "Via mesaĝo:"
-
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendica"
-msgstr "Bonvenon ĉe Friendica"
-
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Kontrololisto por Novaj Membroj"
-
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
-msgstr "Lasu nin oferi al vi kelkajn konsolojn kaj ligilojn por plifaciligi vian komencon. Klaku iun elementon por viziti la rilatan paĝon. Ligilo al ĉi tiu paĝo videblos en via hejmpaĝo dum du semajnojn post via komenca membriĝo. Post du semajnoj, la ligilo silente malaperos. "
-
-#: ../../mod/newmember.php:16
-msgid ""
-"On your <em>Quick Start</em> page - find a brief introduction to your "
-"profile and network tabs, connect to Facebook, make some new connections, "
-"and find some groups to join."
-msgstr "Je via <em>Rapida Starto</em> paĝo - trovu mallongan enigon pri via profilo kaj la reto folioj, konektu al Facebook, faru novajn konektojn kaj trovu aliĝindajn grupojn."
-
-#: ../../mod/newmember.php:18
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
-msgstr "Bonvolu ŝanĝi vian pasvorton ĉe <em>Agordoj</em>. Krome, memorigu vian identadreson. Ĝi aspektas kiel retpoŝtadreso kaj estas bezonata por konekti al novaj amikon en la libera interkona reto."
-
-#: ../../mod/newmember.php:20
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr "Kontrolu la aliajn agordojn, precipe la privatecajn agordojn. Nepublikigita profilo similas al havi telefonnumberon ne registrata en iu telefonlibro. Ĝenerale vi eble volas publikigi vian profilon. Alie, viaj amikoj kaj estontaj amikoj bezonas scii kiel rekte trovi vin."
-
-#: ../../mod/newmember.php:22
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr "Enŝuti profilbildon se vi ankoraŭ ne havas ĝin. Laŭ studoj, homoj kun realaj biloj de si mem trovas novajn amikon duope pli probable ol homoj sen reala bildo."
-
-#: ../../mod/newmember.php:25
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr "Rajtigu la Facebook Konektilon se vi nuntempe havas Facebook konton, kaj ni (nedeviga) enportu viajn Facebook amikojn kaj konversaciojn."
-
-#: ../../mod/newmember.php:27
-msgid ""
-"<em>If</em> this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
-msgstr "<em>Se</tm> ĉi tiu estas via propra TTT servilo, instali la Facebook kromprogramon eble plifaciligos la transpason al la libera interkona reto."
-
-#: ../../mod/newmember.php:32
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
-msgstr "Entajpu la akreditaĵojn por via retpoŝtkonto en la konektilagordoj se vi volas importi aŭ interagi kun amikoj aŭ dissendlistoj pere de via retkesto."
-
-#: ../../mod/newmember.php:34
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr "Redakti viajn <strong>defaŭltan</strong> profilon kiel vi ŝatas ĝin. Kontrolu la agordojn por kaŝi vian kontaktliston aŭ kaŝi vian profilon al nekonataj vizitantoj."
-
-#: ../../mod/newmember.php:36
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr "Aldonu publikajn ŝlosilvortojn al via defaŭlta profilo, kiuj priskribas viajn interesojn. Ni eble povas trovi aliajn uzantojn kun similaj interesoj kaj sugesti amikojn."
-
-#: ../../mod/newmember.php:38
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Add New Contact</em> dialog."
-msgstr "Via kontaktpaĝo estas via portalo por administri amikojn kaj konekti kun amikoj en aliaj retoj. Vi kutime entajpas iliajn adreson aŭ URL adreso en la <em>Aldonu Novan Kontakton</em> dialogon."
-
-#: ../../mod/newmember.php:40
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr "Ĉe la Katalogo vi povas trovi aliajn homojn en ĉi tiu retejo, au en aliaj federaciaj retejoj. Elrigardi al <em>Konekti</em> aŭ <em>Sekvi</em> ligiloj ĉe iliaj profilo. Donu vian propran Identecan Adreson se la retejo demandas ĝin."
-
-#: ../../mod/newmember.php:42
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand"
-" new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
-msgstr "En la flanka strio de la Kontaktoj paĝo troviĝas kelkajn helpilojn por trovi novajn amikojn. Ni povas automate trovi amikojn per interesoj, serĉu ilin per nomo aŭ intereso kaj faras sugestojn baze de estantaj kontaktoj. Ĉe nova instalita retejo, la unuaj sugestoj kutime aperas post 24 horoj."
-
-#: ../../mod/newmember.php:44
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr "Kiam vi trovis kelkajn novajn amikojn, ordigi ilin en grupoj por privata komunikado en la flanka strio de via Kontaktoj paĝo, kaj vi povas private komuniki kun ili je via Reto paĝo."
-
-#: ../../mod/newmember.php:46
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr "Niaj <strong>Helpo</strong> paĝoj enhavas pli da detaloj pri aliaj programaj trajtoj."
-
-#: ../../mod/attach.php:8
-msgid "Item not available."
-msgstr "Elemento ne disponeblas."
-
-#: ../../mod/attach.php:20
-msgid "Item was not found."
-msgstr "Elemento ne trovita."
-
-#: ../../mod/group.php:29
-msgid "Group created."
-msgstr "Grupo estas kreita."
-
-#: ../../mod/group.php:35
-msgid "Could not create group."
-msgstr "Ne povas krei grupon."
-
-#: ../../mod/group.php:47 ../../mod/group.php:137
-msgid "Group not found."
-msgstr "Grupo ne estas trovita."
-
-#: ../../mod/group.php:60
-msgid "Group name changed."
-msgstr "La nomo de la grupo estas ŝanĝita."
-
-#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:308
-msgid "Permission denied"
-msgstr "Malpermesita"
-
-#: ../../mod/group.php:90
-msgid "Create a group of contacts/friends."
-msgstr "Krei grupon da kontaktoj/amikoj."
-
-#: ../../mod/group.php:91 ../../mod/group.php:177
-msgid "Group Name: "
-msgstr "Nomo de la grupo:"
-
-#: ../../mod/group.php:110
-msgid "Group removed."
-msgstr "Grupo estas forviŝita."
-
-#: ../../mod/group.php:112
-msgid "Unable to remove group."
-msgstr "Ne eblas forviŝi grupon."
-
-#: ../../mod/group.php:176
-msgid "Group Editor"
-msgstr "Grupa redaktilo"
-
-#: ../../mod/group.php:189
-msgid "Members"
-msgstr "Anoj"
-
-#: ../../mod/group.php:221 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
-msgstr "Klaku kontakton por aldoni aŭ forviŝi."
-
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
-msgstr "Nevaliada profila identigilo."
-
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
-msgstr "Redaktilo por profila videbleco."
-
-#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
-#: ../../include/nav.php:50 ../../boot.php:1544
-msgid "Profile"
-msgstr "Profilo"
-
-#: ../../mod/profperm.php:114
-msgid "Visible To"
-msgstr "Videbla Al"
-
-#: ../../mod/profperm.php:130
-msgid "All Contacts (with secure profile access)"
-msgstr "Ĉiuj Kontaktoj (kun sekura atingo al la profilo)"
-
-#: ../../mod/viewconnections.php:39
-msgid "No contacts."
-msgstr "Neniu kontaktojn."
-
-#: ../../mod/viewconnections.php:76 ../../include/text.php:589
-msgid "View Contacts"
-msgstr "Vidi Kontaktojn"
-
-#: ../../mod/register.php:88 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detaloj de la registrado por %s"
-
-#: ../../mod/register.php:96
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr "Registrado sukcesis. Bonvolu kontroli vian retpoŝton por pli da instruoj."
-
-#: ../../mod/register.php:100
-msgid "Failed to send email message. Here is the message that failed."
-msgstr "Malsukcesis sendi retpoŝton. Jen la malsukcesa mesaĝo."
-
-#: ../../mod/register.php:105
-msgid "Your registration can not be processed."
-msgstr "Mi ne povas prilabori vian registradon."
-
-#: ../../mod/register.php:142
-#, php-format
-msgid "Registration request at %s"
-msgstr "Peto de registrado al %s"
-
-#: ../../mod/register.php:151
-msgid "Your registration is pending approval by the site owner."
-msgstr "Via registrado bezonas apropbon de la administranto."
-
-#: ../../mod/register.php:189
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "La retejo transiras la maksimuman kvanton da ĉiutagaj kontaj registradoj. Bonvolu provi denove morgaŭ."
-
-#: ../../mod/register.php:215
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr "Vi ankaŭ (nedeviga) povas plenigi la formularon per OpenID se vi provizas vian OpenID adreson kaj klakas 'Registri'."
-
-#: ../../mod/register.php:216
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr "Se vi ne konas OpenID, bonvolu lasi tiun kampon malplena kaj entajpu la aliajn elementojn."
-
-#: ../../mod/register.php:217
-msgid "Your OpenID (optional): "
-msgstr "Via OpenID (nedeviga):"
-
-#: ../../mod/register.php:231
-msgid "Include your profile in member directory?"
-msgstr "Aldoni vian profilon al la membrokatalogo?"
-
-#: ../../mod/register.php:251
-msgid "Membership on this site is by invitation only."
-msgstr "Membriĝi ĉi tie nur eblas laŭ invito."
-
-#: ../../mod/register.php:252
-msgid "Your invitation ID: "
-msgstr "Via invita idento: "
-
-#: ../../mod/register.php:255 ../../mod/admin.php:421
-msgid "Registration"
-msgstr "Registrado"
-
-#: ../../mod/register.php:263
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Via Plena Nomo (e.g. Joe Smith): "
-
-#: ../../mod/register.php:264
-msgid "Your Email Address: "
-msgstr "Via Retpoŝtadreso: "
-
-#: ../../mod/register.php:265
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr "Elektu kaŝnomon por la profilo. Tiu bezonas komenci kun teksta litero. Poste, via profila adreso ĉi tie estos: '<strong>kaŝnomo@$sitename</strong>'."
-
-#: ../../mod/register.php:266
-msgid "Choose a nickname: "
-msgstr "Elektu kaŝnomon: "
-
-#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:828
-msgid "Register"
-msgstr "Registri"
-
-#: ../../mod/dirfind.php:26
-msgid "People Search"
-msgstr "Serĉi Membrojn"
-
-#: ../../mod/like.php:144 ../../mod/like.php:301 ../../mod/tagger.php:70
-#: ../../addon/facebook/facebook.php:1584
-#: ../../addon/communityhome/communityhome.php:158
-#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:565
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1710
-#: ../../include/conversation.php:48 ../../include/conversation.php:57
-#: ../../include/conversation.php:121 ../../include/conversation.php:130
-msgid "status"
-msgstr "staton"
-
-#: ../../mod/like.php:161 ../../addon/facebook/facebook.php:1588
-#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1726
-#: ../../include/conversation.php:65
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s ŝatas la %3$s de %2$s"
-
-#: ../../mod/like.php:163 ../../include/conversation.php:68
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s malŝatas la %3$s de %2$s"
-
-#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
-#: ../../mod/admin.php:700 ../../mod/admin.php:899 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3334
-msgid "Item not found."
-msgstr "Elemento ne estas trovita."
-
-#: ../../mod/viewsrc.php:7
-msgid "Access denied."
-msgstr "Atingo nepermesita."
-
-#: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1550
-msgid "Photos"
-msgstr "Bildoj"
-
-#: ../../mod/fbrowser.php:96
-msgid "Files"
-msgstr "Dosieroj"
-
-#: ../../mod/regmod.php:61
-msgid "Account approved."
-msgstr "Konto aprobita."
-
-#: ../../mod/regmod.php:98
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registraĵo por %s senvalidigita."
-
-#: ../../mod/regmod.php:110
-msgid "Please login."
-msgstr "Bonvolu ensaluti."
-
-#: ../../mod/item.php:89
-msgid "Unable to locate original post."
-msgstr "Ne eblas trovi originalan afiŝon."
-
-#: ../../mod/item.php:258
-msgid "Empty post discarded."
-msgstr "Forviŝis malplenan afiŝon."
-
-#: ../../mod/item.php:379 ../../mod/wall_upload.php:115
-#: ../../mod/wall_upload.php:124 ../../mod/wall_upload.php:131
-#: ../../include/message.php:144
-msgid "Wall Photos"
-msgstr "Muraj Bildoj"
-
-#: ../../mod/item.php:784
-msgid "System error. Post not saved."
-msgstr "Sistema eraro. Afiŝo ne registrita."
-
-#: ../../mod/item.php:809
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendica social "
-"network."
-msgstr "Ĉi mesaĝo estas sendita al vi de %s, membro de la Friendica interkona reto."
-
-#: ../../mod/item.php:811
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Vi povas viziti ilin rete ĉe %s"
-
-#: ../../mod/item.php:812
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr "Bonvolu rispondi al ĉi mesaĝo kaj kontaktu la sendinto se vi ne volas ricevi tiujn mesaĝojn."
-
-#: ../../mod/item.php:814
-#, php-format
-msgid "%s posted an update."
-msgstr "%s publikigis afiŝon."
-
-#: ../../mod/profile_photo.php:30
-msgid "Image uploaded but image cropping failed."
-msgstr "Bildo estas alŝutita, sed malsukcesis tranĉi la bildon."
-
-#: ../../mod/profile_photo.php:63 ../../mod/profile_photo.php:70
-#: ../../mod/profile_photo.php:77 ../../mod/profile_photo.php:266
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Malsukcesis malpligrandigi [%s] la bildon."
-
-#: ../../mod/profile_photo.php:91
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Reŝarĝu la paĝon au malplenigu la kaŝmemoro de la retesplorilo se la nova bildo ne tuj aperas."
-
-#: ../../mod/profile_photo.php:101
-msgid "Unable to process image"
-msgstr "Ne eblas procezi bildon."
-
-#: ../../mod/profile_photo.php:117 ../../mod/wall_upload.php:77
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Bildo estas pli granda ol la limito %d"
-
-#: ../../mod/profile_photo.php:209
-msgid "Upload File:"
-msgstr "Alŝuti dosieron:"
-
-#: ../../mod/profile_photo.php:210
-msgid "Upload Profile Photo"
-msgstr "Alŝuti profilbildon"
-
-#: ../../mod/profile_photo.php:211
-msgid "Upload"
-msgstr "Alŝuti"
-
-#: ../../mod/profile_photo.php:213
-msgid "skip this step"
-msgstr "Preterpasi tian paŝon"
-
-#: ../../mod/profile_photo.php:213
-msgid "select a photo from your photo albums"
-msgstr "elekti bildon el viaj albumoj"
-
-#: ../../mod/profile_photo.php:226
-msgid "Crop Image"
-msgstr "Stuci Bildon"
-
-#: ../../mod/profile_photo.php:227
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Bonvolu agordi la stuco de la bildo por optimuma aspekto."
-
-#: ../../mod/profile_photo.php:229
-msgid "Done Editing"
-msgstr "Finigi Redaktado"
-
-#: ../../mod/profile_photo.php:257
-msgid "Image uploaded successfully."
-msgstr "Bildo estas sukcese enŝutita."
-
-#: ../../mod/hcard.php:10
-msgid "No profile"
-msgstr "Neniu profilo"
-
-#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
-msgid "Remove My Account"
-msgstr "Forigi Mian Konton"
-
-#: ../../mod/removeme.php:46
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr "Tio tute forigos vian konton. Kiam farita, la konto ne estas restaŭrebla."
-
-#: ../../mod/removeme.php:47
-msgid "Please enter your password for verification:"
-msgstr "Bonvolu entajpi vian pasvorton por kontrolado:"
-
-#: ../../mod/message.php:9 ../../include/nav.php:131
-msgid "New Message"
-msgstr "Nova Mesaĝo"
-
-#: ../../mod/message.php:70
-msgid "Unable to locate contact information."
-msgstr "Ne eblas trovi kontaktajn informojn."
-
-#: ../../mod/message.php:120
-msgid "Message deleted."
-msgstr "Mesaĝo estas forviŝita."
-
-#: ../../mod/message.php:150
-msgid "Conversation removed."
-msgstr "Dialogo estas forviŝita."
-
-#: ../../mod/message.php:247
-msgid "No messages."
-msgstr "Neniom da mesaĝoj."
-
-#: ../../mod/message.php:254
-#, php-format
-msgid "Unknown sender - %s"
-msgstr "Nekonata sendanto - %s"
-
-#: ../../mod/message.php:257
-#, php-format
-msgid "You and %s"
-msgstr "Vi kaj %s"
-
-#: ../../mod/message.php:260
-#, php-format
-msgid "%s and You"
-msgstr "%s kaj vi"
-
-#: ../../mod/message.php:270 ../../mod/message.php:392
-msgid "Delete conversation"
-msgstr "Forviŝi dialogon"
-
-#: ../../mod/message.php:273
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
-
-#: ../../mod/message.php:275
-#, php-format
-msgid "%d message"
-msgid_plural "%d messages"
-msgstr[0] "%d mesaĝo"
-msgstr[1] "%d mesaĝoj"
-
-#: ../../mod/message.php:310
-msgid "Message not available."
-msgstr "Mesaĝo nedisponebla."
-
-#: ../../mod/message.php:375
-msgid "Delete message"
-msgstr "Forviŝu mesaĝon"
-
-#: ../../mod/message.php:394
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Sekura komunikado ne disponeblas. Vi <strong>eble</strong> povus respondi sur la profilpaĝo de la sendanto."
-
-#: ../../mod/message.php:398
-msgid "Send Reply"
-msgstr "Respondi"
-
-#: ../../mod/allfriends.php:34
-#, php-format
-msgid "Friends of %s"
-msgstr "Amikoj de %s"
-
-#: ../../mod/allfriends.php:40
-msgid "No friends to display."
-msgstr "Neniom da amiko al montri."
-
-#: ../../mod/admin.php:55
-msgid "Theme settings updated."
-msgstr "Gisdatigis agordojn pri etosoj."
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:419
-msgid "Site"
-msgstr "Retejo"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:655 ../../mod/admin.php:667
-msgid "Users"
-msgstr "Uzantoj"
-
-#: ../../mod/admin.php:98 ../../mod/admin.php:749 ../../mod/admin.php:791
-msgid "Plugins"
-msgstr "Kromprogramoj"
-
-#: ../../mod/admin.php:99 ../../mod/admin.php:954 ../../mod/admin.php:990
-msgid "Themes"
-msgstr "Etosoj"
-
-#: ../../mod/admin.php:100
-msgid "DB updates"
-msgstr "DB ĝisdatigoj"
-
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1077
-msgid "Logs"
-msgstr "Protokoloj"
-
-#: ../../mod/admin.php:120 ../../include/nav.php:146
-msgid "Admin"
-msgstr "Administrado"
-
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-msgstr "Kromprogramaj Trajtoj"
-
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Uzantaj registradoj atendante konfirmon"
-
-#: ../../mod/admin.php:183 ../../mod/admin.php:637
-msgid "Normal Account"
-msgstr "Normala konto"
-
-#: ../../mod/admin.php:184 ../../mod/admin.php:638
-msgid "Soapbox Account"
-msgstr "Soapbox Konto"
-
-#: ../../mod/admin.php:185 ../../mod/admin.php:639
-msgid "Community/Celebrity Account"
-msgstr "Komunuma/eminentula Konto"
-
-#: ../../mod/admin.php:186 ../../mod/admin.php:640
-msgid "Automatic Friend Account"
-msgstr "Aŭtomata Amika Konto"
-
-#: ../../mod/admin.php:205
-msgid "Message queues"
-msgstr "Mesaĝvicoj"
-
-#: ../../mod/admin.php:210 ../../mod/admin.php:418 ../../mod/admin.php:654
-#: ../../mod/admin.php:748 ../../mod/admin.php:790 ../../mod/admin.php:953
-#: ../../mod/admin.php:989 ../../mod/admin.php:1076
-msgid "Administration"
-msgstr "Administrado"
-
-#: ../../mod/admin.php:211
-msgid "Summary"
-msgstr "Resumo"
-
-#: ../../mod/admin.php:213
-msgid "Registered users"
-msgstr "Registrataj uzantoj"
-
-#: ../../mod/admin.php:215
-msgid "Pending registrations"
-msgstr "Okazontaj registradoj"
-
-#: ../../mod/admin.php:216
-msgid "Version"
-msgstr "Versio"
-
-#: ../../mod/admin.php:218
-msgid "Active plugins"
-msgstr "Ŝaltitaj kromprogramoj"
-
-#: ../../mod/admin.php:357
-msgid "Site settings updated."
-msgstr "Ĝisdatigis retejaj agordoj."
-
-#: ../../mod/admin.php:405
-msgid "Closed"
-msgstr "Ferma"
-
-#: ../../mod/admin.php:406
-msgid "Requires approval"
-msgstr "Bezonas aprobon"
-
-#: ../../mod/admin.php:407
-msgid "Open"
-msgstr "Malferma"
-
-#: ../../mod/admin.php:411
-msgid "No SSL policy, links will track page SSL state"
-msgstr "Sen SSL strategio. Ligiloj sekvos la SSL staton de la paĝo."
-
-#: ../../mod/admin.php:412
-msgid "Force all links to use SSL"
-msgstr "Devigi ke ĉiuj ligiloj uzu SSL."
-
-#: ../../mod/admin.php:413
-msgid "Self-signed certificate, use SSL for local links only (discouraged)"
-msgstr "Memsubskribita atestilo, nur uzu SSL por lokaj ligiloj (malkuraĝigata)"
-
-#: ../../mod/admin.php:422
-msgid "File upload"
-msgstr "Alŝuto"
-
-#: ../../mod/admin.php:423
-msgid "Policies"
-msgstr "Politiko"
-
-#: ../../mod/admin.php:424
-msgid "Advanced"
-msgstr "Altnivela"
-
-#: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:558
-msgid "Site name"
-msgstr "Nomo de retejo"
-
-#: ../../mod/admin.php:429
-msgid "Banner/Logo"
-msgstr "Emblemo"
-
-#: ../../mod/admin.php:430
-msgid "System language"
-msgstr "Sistema lingvo"
-
-#: ../../mod/admin.php:431
-msgid "System theme"
-msgstr "Sistema etoso"
-
-#: ../../mod/admin.php:431
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Defaŭlta sistema etoso - transpasebla de uzantprofiloj - <a href='#' id='cnftheme'>redakti agordoj pri etosoj</a>"
-
-#: ../../mod/admin.php:432
-msgid "SSL link policy"
-msgstr "Strategio por SSL ligiloj"
-
-#: ../../mod/admin.php:432
-msgid "Determines whether generated links should be forced to use SSL"
-msgstr "Difinas ĉu generotaj ligiloj devige uzu SSL."
-
-#: ../../mod/admin.php:433
-msgid "Maximum image size"
-msgstr "Maksimuma bildgrando"
-
-#: ../../mod/admin.php:433
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maksimuma grando en bajtoj por alŝutotaj bildoj. Defaŭlte 0, kio signifas neniu limito."
-
-#: ../../mod/admin.php:435
-msgid "Register policy"
-msgstr "Interkonsento pri registrado"
-
-#: ../../mod/admin.php:436
-msgid "Register text"
-msgstr "Interkonsento teksto"
-
-#: ../../mod/admin.php:436
-msgid "Will be displayed prominently on the registration page."
-msgstr "Tio estos eminente montrata en la registro paĝo."
-
-#: ../../mod/admin.php:437
-msgid "Accounts abandoned after x days"
-msgstr "Kontoj forlasitaj post x tagoj"
-
-#: ../../mod/admin.php:437
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Mi ne malŝparu energion por enketi aliajn retejojn pri forlasitaj kontoj. Entajpu 0 por ne uzi templimo."
-
-#: ../../mod/admin.php:438
-msgid "Allowed friend domains"
-msgstr "Permesitaj amikaj domainoj"
-
-#: ../../mod/admin.php:438
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Perkome disigita listo da domajnoj kiuj rajtas konstrui amikecojn kun ĉi tiu retejo. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn."
-
-#: ../../mod/admin.php:439
-msgid "Allowed email domains"
-msgstr "Permesitaj retpoŝtaj domajnoj"
-
-#: ../../mod/admin.php:439
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Perkome disigita listo da domajnoj kiuj uzeblas kiel retpoŝtaj adresoj en novaj registradoj. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn."
-
-#: ../../mod/admin.php:440
-msgid "Block public"
-msgstr "Bloki publike"
-
-#: ../../mod/admin.php:440
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Elektu por bloki publikan atingon al ĉiuj alie publikajn paĝojn en ĉi tiu retejo kiam vi ne estas ensalutita."
-
-#: ../../mod/admin.php:441
-msgid "Force publish"
-msgstr "Devigi publikigon"
-
-#: ../../mod/admin.php:441
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Elektu por devigi la registradon en la loka katalogo al ĉiuj profiloj en ĉi tiu retejo."
-
-#: ../../mod/admin.php:442
-msgid "Global directory update URL"
-msgstr "Ĝenerala adreso por ĝisdatigi la katalogon"
-
-#: ../../mod/admin.php:442
-msgid ""
-"URL to update the global directory. If this is not set, the global directory"
-" is completely unavailable to the application."
-msgstr "URL adreso por ĝisdatigi la tutmondan katalogon. Se ne agordita, la tutmonda katatolge tute ne disponeblas al la programo."
-
-#: ../../mod/admin.php:444
-msgid "Block multiple registrations"
-msgstr "Bloki pluroblajn registradojn."
-
-#: ../../mod/admin.php:444
-msgid "Disallow users to register additional accounts for use as pages."
-msgstr "Malpermesi al uzantoj la permeson por registri pluajn kontojn kiel paĝoj."
-
-#: ../../mod/admin.php:445
-msgid "OpenID support"
-msgstr "Subteno por OpenID"
-
-#: ../../mod/admin.php:445
-msgid "OpenID support for registration and logins."
-msgstr "Subteni OpenID por registrado kaj ensaluto."
-
-#: ../../mod/admin.php:446
-msgid "Fullname check"
-msgstr "Kontroli plenan nomon"
-
-#: ../../mod/admin.php:446
-msgid ""
-"Force users to register with a space between firstname and lastname in Full "
-"name, as an antispam measure"
-msgstr "Kiel kontraŭspamilo, devigi uzantoj al registrado kun spaceto inter la persona nomo kaj la familia nomo."
-
-#: ../../mod/admin.php:447
-msgid "UTF-8 Regular expressions"
-msgstr "UTF-8 regulaj exprimoj"
-
-#: ../../mod/admin.php:447
-msgid "Use PHP UTF8 regular expressions"
-msgstr "Uzi PHP UTF8 regulajn esprimojn."
-
-#: ../../mod/admin.php:448
-msgid "Show Community Page"
-msgstr "Montri Komunuma Paĝo"
-
-#: ../../mod/admin.php:448
-msgid ""
-"Display a Community page showing all recent public postings on this site."
-msgstr "Montri komunuma paĝo kun ĉiuj ĵusaj afiŝoj en ĉi tiu retejo."
-
-#: ../../mod/admin.php:449
-msgid "Enable OStatus support"
-msgstr "Ŝalti subtenon por OStatus"
-
-#: ../../mod/admin.php:449
-msgid ""
-"Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All "
-"communications in OStatus are public, so privacy warnings will be "
-"occasionally displayed."
-msgstr "Provizi integritan OStatus (identi.ca, status.net ktp) subtenon. Ĉiuj komunikadoj en OStatus estas publikaj, do privatecaj avertoj aperos de tempo al tempo."
-
-#: ../../mod/admin.php:450
-msgid "Enable Diaspora support"
-msgstr "Ŝalti subtenon por Diaspora"
-
-#: ../../mod/admin.php:450
-msgid "Provide built-in Diaspora network compatibility."
-msgstr "Provizi integritan Diaspora subtenon."
-
-#: ../../mod/admin.php:451
-msgid "Only allow Friendica contacts"
-msgstr "Nur permesigi Friendica kontaktojn"
-
-#: ../../mod/admin.php:451
-msgid ""
-"All contacts must use Friendica protocols. All other built-in communication "
-"protocols disabled."
-msgstr "Ĉiuj kontaktoj devas uzi Friendica protokolojn. Ĉiuj aliaj komunikaj protokoloj malaktivita."
-
-#: ../../mod/admin.php:452
-msgid "Verify SSL"
-msgstr "Kontroli SSL"
-
-#: ../../mod/admin.php:452
-msgid ""
-"If you wish, you can turn on strict certificate checking. This will mean you"
-" cannot connect (at all) to self-signed SSL sites."
-msgstr "Se vi deziras, vi povas aktivigi severan kontroladon de SSL atestiloj. Pro tio, vie (tute) ne eblos konekti al SSL retejoj kun memsubskribitaj atestiloj."
-
-#: ../../mod/admin.php:453
-msgid "Proxy user"
-msgstr "Uzantnomo por retperanto"
-
-#: ../../mod/admin.php:454
-msgid "Proxy URL"
-msgstr "URL adreso de retperanto"
-
-#: ../../mod/admin.php:455
-msgid "Network timeout"
-msgstr "Reta tempolimo"
-
-#: ../../mod/admin.php:455
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valoro en sekundoj. Uzu 0 por mallimitigi (ne rekomendata)."
-
-#: ../../mod/admin.php:456
-msgid "Delivery interval"
-msgstr "Intervalo de liverado"
-
-#: ../../mod/admin.php:456
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Malfruigi fonan liveradon dum tiom da sekundoj por malpliigi la ŝargon de la sistemo. Rekomendoj: 4-5 por komunaj serviloj, 2-3 por virtualaj privataj serviloj, 0-1 por grandaj dediĉitaj serviloj."
-
-#: ../../mod/admin.php:457
-msgid "Poll interval"
-msgstr "Enketintervalo"
-
-#: ../../mod/admin.php:457
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Malfruigi fonajn enketprocesojn je tiom da sekundoj por malpliigi la ŝargon de la sistemo. Se 0, uzas la liverintervalon."
-
-#: ../../mod/admin.php:458
-msgid "Maximum Load Average"
-msgstr "Maksimuma Meza Sistemŝargo"
-
-#: ../../mod/admin.php:458
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maksimuma sistemŝargo post kiu livero- kaj enketprocesoj estos prokrastinataj. - Defaŭlte 50."
-
-#: ../../mod/admin.php:472
-msgid "Update has been marked successful"
-msgstr "Ĝisdatigo estas markita sukcesa"
-
-#: ../../mod/admin.php:482
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Ne sukcesis plenumi %s. Kontrolu la sistemprotokolojn."
-
-#: ../../mod/admin.php:485
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Sukcese aplikis la ĝisdatigo %s."
-
-#: ../../mod/admin.php:489
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Ĝisdatigo %s ne liveris elirstaton. "
-
-#: ../../mod/admin.php:492
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Ne troveblas ĝisdatigo funkcio %s."
-
-#: ../../mod/admin.php:507
-msgid "No failed updates."
-msgstr "Neniom da malsukcesaj ĝisdatigoj."
-
-#: ../../mod/admin.php:511
-msgid "Failed Updates"
-msgstr "Malsukcesaj Ĝisdatigoj"
-
-#: ../../mod/admin.php:512
-msgid ""
-"This does not include updates prior to 1139, which did not return a status."
-msgstr "Ne inkluzivas ĝisdatigojn antaŭ 1139, kiuj ne liveris elirstaton."
-
-#: ../../mod/admin.php:513
-msgid "Mark success (if update was manually applied)"
-msgstr "Marki sukcesa (se la ĝisdatigo estas instalita mane)"
-
-#: ../../mod/admin.php:514
-msgid "Attempt to execute this update step automatically"
-msgstr "Provi automate plenumi ĉi tian paŝon de la ĝisdatigo."
-
-#: ../../mod/admin.php:539
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "Blokis/malblokis %s uzanton"
-msgstr[1] "Blokis/malblokis %s uzantojn"
-
-#: ../../mod/admin.php:546
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s uzanto forviŝita"
-msgstr[1] "%s uzanto forviŝitaj"
-
-#: ../../mod/admin.php:585
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Uzanto '%s' forviŝita"
-
-#: ../../mod/admin.php:593
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Uzanto '%s' malblokita"
-
-#: ../../mod/admin.php:593
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Uzanto '%s' blokita"
-
-#: ../../mod/admin.php:657
-msgid "select all"
-msgstr "elekti ĉiujn"
-
-#: ../../mod/admin.php:658
-msgid "User registrations waiting for confirm"
-msgstr "Registriĝoj atendante aprobon"
-
-#: ../../mod/admin.php:659
-msgid "Request date"
-msgstr "Dato de peto"
-
-#: ../../mod/admin.php:659 ../../mod/admin.php:668
-#: ../../include/contact_selectors.php:79
-msgid "Email"
-msgstr "Retpoŝto"
-
-#: ../../mod/admin.php:660
-msgid "No registrations."
-msgstr "Neniom da registriĝoj."
-
-#: ../../mod/admin.php:662
-msgid "Deny"
-msgstr "Negi"
-
-#: ../../mod/admin.php:668
-msgid "Register date"
-msgstr "Dato de registrado"
-
-#: ../../mod/admin.php:668
-msgid "Last login"
-msgstr "Plej ĵusa ensaluto"
-
-#: ../../mod/admin.php:668
-msgid "Last item"
-msgstr "Plej ĵusa elemento"
-
-#: ../../mod/admin.php:668
-msgid "Account"
-msgstr "Konto"
-
-#: ../../mod/admin.php:670
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "La elektitaj uzantkontoj estas forviŝotaj!\\n\\nĈiuj elementoj kiujn ili afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?"
-
-#: ../../mod/admin.php:671
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "La uzanto {0} estas forviŝota!\\n\\nĈiuj elementoj kiujn li afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?"
-
-#: ../../mod/admin.php:712
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Kromprogramo %s estas malŝaltita."
-
-#: ../../mod/admin.php:716
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Kromprogramo %s estas ŝaltita."
-
-#: ../../mod/admin.php:726 ../../mod/admin.php:924
-msgid "Disable"
-msgstr "Malŝalti"
-
-#: ../../mod/admin.php:728 ../../mod/admin.php:926
-msgid "Enable"
-msgstr "Ŝalti"
-
-#: ../../mod/admin.php:750 ../../mod/admin.php:955
-msgid "Toggle"
-msgstr "Ŝalti/Malŝalti"
-
-#: ../../mod/admin.php:758 ../../mod/admin.php:965
-msgid "Author: "
-msgstr "Aŭtoro: "
-
-#: ../../mod/admin.php:759 ../../mod/admin.php:966
-msgid "Maintainer: "
-msgstr "Prizorganto: "
-
-#: ../../mod/admin.php:888
-msgid "No themes found."
-msgstr "Ne trovis etosojn."
-
-#: ../../mod/admin.php:947
-msgid "Screenshot"
-msgstr "Ekrankopio"
-
-#: ../../mod/admin.php:995
-msgid "[Experimental]"
-msgstr "[Eksperimenta]"
-
-#: ../../mod/admin.php:996
-msgid "[Unsupported]"
-msgstr "[Nesubtenata]"
-
-#: ../../mod/admin.php:1023
-msgid "Log settings updated."
-msgstr "Protokolagordoj ĝisdatigitaj."
-
-#: ../../mod/admin.php:1079
-msgid "Clear"
-msgstr "Forviŝi"
-
-#: ../../mod/admin.php:1085
-msgid "Debugging"
-msgstr "Sencimigado"
-
-#: ../../mod/admin.php:1086
-msgid "Log file"
-msgstr "Protokolo"
-
-#: ../../mod/admin.php:1086
-msgid ""
-"Must be writable by web server. Relative to your Friendica top-level "
-"directory."
-msgstr "Devas esti skribebla de la retservilo. Relativa al via plej supra Friendica dosierujo."
-
-#: ../../mod/admin.php:1087
-msgid "Log level"
-msgstr "Protokolnivelo"
-
-#: ../../mod/admin.php:1137
-msgid "Close"
-msgstr "Fermi"
-
-#: ../../mod/admin.php:1143
-msgid "FTP Host"
-msgstr "FTP Servilo"
-
-#: ../../mod/admin.php:1144
-msgid "FTP Path"
-msgstr "FTP Vojo"
-
-#: ../../mod/admin.php:1145
-msgid "FTP User"
-msgstr "FTP Uzanto"
-
-#: ../../mod/admin.php:1146
-msgid "FTP Password"
-msgstr "FTP Pasvorto"
-
-#: ../../mod/profile.php:21 ../../boot.php:993
-msgid "Requested profile is not available."
-msgstr "La petita profilo ne disponeblas."
-
-#: ../../mod/profile.php:141 ../../mod/display.php:75
-msgid "Access to this profile has been restricted."
-msgstr "Atingo al ĉi tio profilo estas limitigita"
-
-#: ../../mod/profile.php:166
-msgid "Tips for New Members"
-msgstr "Konsilo por novaj membroj"
-
-#: ../../mod/ping.php:185
-msgid "{0} wants to be your friend"
-msgstr "{0} volas amikiĝi kun vi"
-
-#: ../../mod/ping.php:190
-msgid "{0} sent you a message"
-msgstr "{0} sendis mesaĝon al vi"
-
-#: ../../mod/ping.php:195
-msgid "{0} requested registration"
-msgstr "{0} petis registradon"
-
-#: ../../mod/ping.php:201
-#, php-format
-msgid "{0} commented %s's post"
-msgstr "{0} komentis pri la afiŝo de %s"
-
-#: ../../mod/ping.php:206
-#, php-format
-msgid "{0} liked %s's post"
-msgstr "{0} satis la afiŝon de %s"
-
-#: ../../mod/ping.php:211
-#, php-format
-msgid "{0} disliked %s's post"
-msgstr "{0} malŝatis la afiŝon de %s"
-
-#: ../../mod/ping.php:216
-#, php-format
-msgid "{0} is now friends with %s"
-msgstr "{0} amikiĝis kun %s"
-
-#: ../../mod/ping.php:221
-msgid "{0} posted"
-msgstr "{0} afiŝis"
-
-#: ../../mod/ping.php:226
-#, php-format
-msgid "{0} tagged %s's post with #%s"
-msgstr "{0} markis la afiŝon de %s kun #%s"
-
-#: ../../mod/ping.php:232
-msgid "{0} mentioned you in a post"
-msgstr "{0} menciis vin en afiŝo"
-
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
-msgstr "Kontaktoj kiuj ne estas en iu grupo"
-
-#: ../../mod/openid.php:24
-msgid "OpenID protocol error. No ID returned."
-msgstr "Eraro en OpenID protokolo. Ne resendis identecon."
-
-#: ../../mod/openid.php:53
-msgid ""
-"Account not found and OpenID registration is not permitted on this site."
-msgstr "Ne trovis kontoj, kaj registrado per OpenID estas malpermesita ĉi tie."
-
-#: ../../mod/openid.php:93 ../../include/auth.php:99
-#: ../../include/auth.php:162
-msgid "Login failed."
-msgstr "Ensalutado malsukcesis."
-
-#: ../../mod/follow.php:27
-msgid "Contact added"
-msgstr "Aldonis kontakton"
-
-#: ../../mod/common.php:42
-msgid "Common Friends"
-msgstr "Komunaj Amikoj"
-
-#: ../../mod/common.php:78
-msgid "No contacts in common."
-msgstr "Neniom da komunaj kontaktoj."
-
-#: ../../mod/display.php:135
-msgid "Item has been removed."
-msgstr "Elemento estas forviŝita."
-
-#: ../../mod/apps.php:4
-msgid "Applications"
-msgstr "Programoj"
-
-#: ../../mod/apps.php:7
-msgid "No installed applications."
-msgstr "Neniom da instalitaj programoj."
-
-#: ../../mod/search.php:83 ../../include/text.php:649
-#: ../../include/text.php:650 ../../include/nav.php:91
-msgid "Search"
-msgstr "Serĉi"
-
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:410
-#: ../../mod/profiles.php:524 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
-msgstr "Profilo ne trovita."
-
-#: ../../mod/profiles.php:31
-msgid "Profile Name is required."
-msgstr "Nomo de profilo estas bezonata."
-
-#: ../../mod/profiles.php:155
-msgid "Marital Status"
-msgstr "Amrilata Stato"
-
-#: ../../mod/profiles.php:159
-msgid "Romantic Partner"
-msgstr "Kora Partnero"
-
-#: ../../mod/profiles.php:163
-msgid "Likes"
-msgstr "Ŝatoj"
-
-#: ../../mod/profiles.php:167
-msgid "Dislikes"
-msgstr "Malŝatoj"
-
-#: ../../mod/profiles.php:171
-msgid "Work/Employment"
-msgstr "Laboro"
-
-#: ../../mod/profiles.php:174
-msgid "Religion"
-msgstr "Religio"
-
-#: ../../mod/profiles.php:178
-msgid "Political Views"
-msgstr "Politikaj Opinioj"
-
-#: ../../mod/profiles.php:182
-msgid "Gender"
-msgstr "Sekso"
-
-#: ../../mod/profiles.php:186
-msgid "Sexual Preference"
-msgstr "Seksa Prefero"
-
-#: ../../mod/profiles.php:190
-msgid "Homepage"
-msgstr "Hejmpaĝo"
-
-#: ../../mod/profiles.php:194
-msgid "Interests"
-msgstr "Interesoj"
-
-#: ../../mod/profiles.php:198
-msgid "Address"
-msgstr "Adreso"
-
-#: ../../mod/profiles.php:205 ../../addon/dav/layout.fnk.php:310
-msgid "Location"
-msgstr "Loko"
-
-#: ../../mod/profiles.php:288
-msgid "Profile updated."
-msgstr "Profilo ĝisdatigita."
-
-#: ../../mod/profiles.php:355
-msgid " and "
-msgstr " kaj "
-
-#: ../../mod/profiles.php:363
-msgid "public profile"
-msgstr "publika profilo"
-
-#: ../../mod/profiles.php:366
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ŝanĝis %2$s al &ldquo;%3$s&rdquo;"
-
-#: ../../mod/profiles.php:367
-#, php-format
-msgid " - Visit %1$s's %2$s"
-msgstr " - Vizitu la %2$s de %1$s"
-
-#: ../../mod/profiles.php:370
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s havas ĝisdatigigan %2$s, ŝanĝas %3$s."
-
-#: ../../mod/profiles.php:429
-msgid "Profile deleted."
-msgstr "Profilo forviŝita."
-
-#: ../../mod/profiles.php:447 ../../mod/profiles.php:481
-msgid "Profile-"
-msgstr "Profilo-"
-
-#: ../../mod/profiles.php:466 ../../mod/profiles.php:508
-msgid "New profile created."
-msgstr "Nova profilo kreita."
-
-#: ../../mod/profiles.php:487
-msgid "Profile unavailable to clone."
-msgstr "Ne eblas kopii profilon."
-
-#: ../../mod/profiles.php:545
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Kaŝi vian liston de kontaktoj/amikoj al vidantoj de ĉi-tio profilo?"
-
-#: ../../mod/profiles.php:568
-msgid "Edit Profile Details"
-msgstr "Redakti Detalojn de Profilo"
-
-#: ../../mod/profiles.php:570
-msgid "View this profile"
-msgstr "Vidi la profilon."
-
-#: ../../mod/profiles.php:571
-msgid "Create a new profile using these settings"
-msgstr "Krei novan profilon kun tiaj agordoj"
-
-#: ../../mod/profiles.php:572
-msgid "Clone this profile"
-msgstr "Kopii ĉi tiun profilon"
-
-#: ../../mod/profiles.php:573
-msgid "Delete this profile"
-msgstr "Forviŝi ĉi tiun profilon"
-
-#: ../../mod/profiles.php:574
-msgid "Profile Name:"
-msgstr "Nomo de Profilo:"
-
-#: ../../mod/profiles.php:575
-msgid "Your Full Name:"
-msgstr "Via Plena Nomo:"
-
-#: ../../mod/profiles.php:576
-msgid "Title/Description:"
-msgstr "Titolo/Priskribo:"
-
-#: ../../mod/profiles.php:577
-msgid "Your Gender:"
-msgstr "Via Sekso:"
-
-#: ../../mod/profiles.php:578
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Naskiĝtago (%s):"
-
-#: ../../mod/profiles.php:579
-msgid "Street Address:"
-msgstr "Adreso:"
-
-#: ../../mod/profiles.php:580
-msgid "Locality/City:"
-msgstr "Urbo:"
-
-#: ../../mod/profiles.php:581
-msgid "Postal/Zip Code:"
-msgstr "Poŝtkodo:"
-
-#: ../../mod/profiles.php:582
-msgid "Country:"
-msgstr "Lando:"
-
-#: ../../mod/profiles.php:583
-msgid "Region/State:"
-msgstr "Ŝtato:"
-
-#: ../../mod/profiles.php:584
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Civita Stato:"
-
-#: ../../mod/profiles.php:585
-msgid "Who: (if applicable)"
-msgstr "Kiu (se aplikeble):"
-
-#: ../../mod/profiles.php:586
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Ekzemploj: cathy123, Cathy Williams, cathy@example.com"
-
-#: ../../mod/profiles.php:587
-msgid "Since [date]:"
-msgstr "Ekde [dato]:"
-
-#: ../../mod/profiles.php:588 ../../include/profile_advanced.php:46
-msgid "Sexual Preference:"
-msgstr "Seksa Prefero:"
-
-#: ../../mod/profiles.php:589
-msgid "Homepage URL:"
-msgstr "Adreso de Hejmpaĝo:"
-
-#: ../../mod/profiles.php:590 ../../include/profile_advanced.php:50
-msgid "Hometown:"
-msgstr "Hejmurbo:"
-
-#: ../../mod/profiles.php:591 ../../include/profile_advanced.php:54
-msgid "Political Views:"
-msgstr "Politikaj Opinioj:"
-
-#: ../../mod/profiles.php:592
-msgid "Religious Views:"
-msgstr "Religiaj Opinioj:"
-
-#: ../../mod/profiles.php:593
-msgid "Public Keywords:"
-msgstr "Publikaj ŝlosilvortoj:"
-
-#: ../../mod/profiles.php:594
-msgid "Private Keywords:"
-msgstr "Privataj ŝlosilvortoj:"
-
-#: ../../mod/profiles.php:595 ../../include/profile_advanced.php:62
-msgid "Likes:"
-msgstr "Ŝatoj:"
-
-#: ../../mod/profiles.php:596 ../../include/profile_advanced.php:64
-msgid "Dislikes:"
-msgstr "Malŝatoj:"
-
-#: ../../mod/profiles.php:597
-msgid "Example: fishing photography software"
-msgstr "Ekzemple: fiŝkapti fotografio programaro"
-
-#: ../../mod/profiles.php:598
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr "(Por sugesti amikoj. Videbla al aliaj.)"
-
-#: ../../mod/profiles.php:599
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Por serĉi profilojn. Neniam videbla al aliaj.)"
-
-#: ../../mod/profiles.php:600
-msgid "Tell us about yourself..."
-msgstr "Diru al ni pri vi..."
-
-#: ../../mod/profiles.php:601
-msgid "Hobbies/Interests"
-msgstr "Ŝatokupoj/Interesoj"
-
-#: ../../mod/profiles.php:602
-msgid "Contact information and Social Networks"
-msgstr "Kontaktaj informoj kaj Interkonaj Retejoj"
-
-#: ../../mod/profiles.php:603
-msgid "Musical interests"
-msgstr "Muzikaj interesoj"
-
-#: ../../mod/profiles.php:604
-msgid "Books, literature"
-msgstr "Libroj, literaturo"
-
-#: ../../mod/profiles.php:605
-msgid "Television"
-msgstr "Televido"
-
-#: ../../mod/profiles.php:606
-msgid "Film/dance/culture/entertainment"
-msgstr "Filmoj/dancoj/arto/amuzaĵoj"
-
-#: ../../mod/profiles.php:607
-msgid "Love/romance"
-msgstr "Amo/romanco"
-
-#: ../../mod/profiles.php:608
-msgid "Work/employment"
-msgstr "Laboro"
-
-#: ../../mod/profiles.php:609
-msgid "School/education"
-msgstr "Lernejo/eduko"
-
-#: ../../mod/profiles.php:614
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Ĉi tio estas via <strong>publika</strong> profilo. Ĝi <strong>eble</strong> estas videbla al ĉiuj en interreto. "
-
-#: ../../mod/profiles.php:624 ../../mod/directory.php:111
-msgid "Age: "
-msgstr "Aĝo:"
-
-#: ../../mod/profiles.php:663
-msgid "Edit/Manage Profiles"
-msgstr "Redakti/administri Profilojn"
-
-#: ../../mod/profiles.php:664 ../../boot.php:1102
-msgid "Change profile photo"
-msgstr "Ŝanĝi profilbildon"
-
-#: ../../mod/profiles.php:665 ../../boot.php:1103
-msgid "Create New Profile"
-msgstr "Krei novan profilon"
-
-#: ../../mod/profiles.php:676 ../../boot.php:1113
-msgid "Profile Image"
-msgstr "Profilbildo"
-
-#: ../../mod/profiles.php:678 ../../boot.php:1116
-msgid "visible to everybody"
-msgstr "videbla al ĉiuj"
-
-#: ../../mod/profiles.php:679 ../../boot.php:1117
-msgid "Edit visibility"
-msgstr "Redakti videblecon"
-
-#: ../../mod/filer.php:29 ../../include/conversation.php:951
-msgid "Save to Folder:"
-msgstr "Konservi en Dosierujo:"
-
-#: ../../mod/filer.php:29
-msgid "- select -"
-msgstr "- elekti -"
-
-#: ../../mod/tagger.php:103 ../../include/conversation.php:138
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s markis la %3$s de %2$s kun %4$s"
-
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Ne trovis delegiteblajn paĝojn."
-
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Administrado de Delegitajn Paĝojn"
-
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Delegitoj povas administri ĉiujn ecojn de la konto/paĝo, escepte bazaj kontoagordoj. Bonvolu ne delegitigi vian personan konton al iu al kiu vi ne plene fidas."
-
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Estantaj Administrantoj de la Paĝo"
-
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Estantaj Delegitoj de la Paĝo"
-
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Eblaj Delegitoj"
-
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Aldoni"
-
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Neniom da afiŝoj."
-
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
-#: ../../include/contact_widgets.php:34
-msgid "Friend Suggestions"
-msgstr "Amikosugestoj"
-
-#: ../../mod/suggest.php:44
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Neniu sugestoj disponeblas. Se ĉi tiu estas nova retejo, bonvolu reprovi post 24 horoj."
-
-#: ../../mod/suggest.php:61
-msgid "Ignore/Hide"
-msgstr "Ignori/Kaŝi"
-
-#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624
-msgid "Global Directory"
-msgstr "Tutmonda Katalogo"
-
-#: ../../mod/directory.php:55
-msgid "Find on this site"
-msgstr "Trovi en ĉi retejo"
-
-#: ../../mod/directory.php:58
-msgid "Site Directory"
-msgstr "Reteja Katalogo"
-
-#: ../../mod/directory.php:114
-msgid "Gender: "
-msgstr "Sekso:"
-
-#: ../../mod/directory.php:140
-msgid "No entries (some entries may be hidden)."
-msgstr "Neniom da afiŝoj (kelkaj afiŝoj eble ne estas videbla)."
-
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: Ne estas valida retpoŝtadreso."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on Friendica"
-msgstr "Bonvolu aliĝi kun ni ĉe Friendica"
-
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: La livero de la mesaĝo malsukcesis."
-
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "Sendis %d mesaĝon."
-msgstr[1] "Sendis %d mesaĝojn."
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
-msgstr "Vi ne plu disponeblas invitaĵojn"
-
-#: ../../mod/invite.php:100
-#, php-format
-msgid ""
-"Visit %s for a list of public sites that you can join. Friendica members on "
-"other sites can all connect with each other, as well as with members of many"
-" other social networks."
-msgstr "Vizitu %s por listo de publikaj retejoj kie vi povas aliĝi. Anoj de Friendica ĉe aliaj retejoj povas konekti unu kun la alian, kaj ankaŭ kun membroj de multaj aliaj retejoj."
-
-#: ../../mod/invite.php:102
-#, php-format
-msgid ""
-"To accept this invitation, please visit and register at %s or any other "
-"public Friendica website."
-msgstr "Por akcepti ĉi tiu invito, bonvolu viziti kaj registriĝi ĉe %s au alia publika Friendica retejo."
-
-#: ../../mod/invite.php:103
-#, php-format
-msgid ""
-"Friendica sites all inter-connect to create a huge privacy-enhanced social "
-"web that is owned and controlled by its members. They can also connect with "
-"many traditional social networks. See %s for a list of alternate Friendica "
-"sites you can join."
-msgstr "Ĉiuj Friendica retejoj interkonektiĝas kaj kune faras grandan altprivatecan interkonan reton, kiun posedas kaj kontrolas ĝiaj membroj. Ili ankaŭ povas konekti kun multe de tradiciaj interkonaj retejoj. Vidu %s por listo de publikaj retejoj kie vi povas aliĝi."
-
-#: ../../mod/invite.php:106
-msgid ""
-"Our apologies. This system is not currently configured to connect with other"
-" public sites or invite members."
-msgstr "Senkulpigu nin. La sistemo nuntempe ne estas agordita por konekti al aliaj retejoj au inviti membrojn."
-
-#: ../../mod/invite.php:111
-msgid "Send invitations"
-msgstr "Sendi invitojn"
-
-#: ../../mod/invite.php:112
-msgid "Enter email addresses, one per line:"
-msgstr "Entajpu retpoŝtadresojn, po unu por ĉiu linio."
-
-#: ../../mod/invite.php:114
-msgid ""
-"You are cordially invited to join me and other close friends on Friendica - "
-"and help us to create a better social web."
-msgstr "Ni bonkore invitas vin aliĝi kun ni kaj aliaj bonaj amikoj ĉe Friendica. Helpu nin krei pli bonan interkonan reton."
-
-#: ../../mod/invite.php:116
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Vi bezonas ĉi-tiun invitkodon: $invite_code"
-
-#: ../../mod/invite.php:116
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr "Kiam vi registris, bonvolu konekti al mi pere de mi profilo ĉe: "
-
-#: ../../mod/invite.php:118
-msgid ""
-"For more information about the Friendica project and why we feel it is "
-"important, please visit http://friendica.com"
-msgstr "Por pli da informoj pri Friendica, kaj kial ni pensas ke ĝi estas grava, bonvolu viziti http://friendica.com"
-
-#: ../../mod/dfrn_confirm.php:119
-msgid ""
-"This may occasionally happen if contact was requested by both persons and it"
-" has already been approved."
-msgstr "Tio ĉi okazis de tempo al tempo se ambaŭ personoj petas kontakton ka ĝi jam estas aprobita."
-
-#: ../../mod/dfrn_confirm.php:237
-msgid "Response from remote site was not understood."
-msgstr "Ne komprenis la rispondon de la fora retejo."
-
-#: ../../mod/dfrn_confirm.php:246
-msgid "Unexpected response from remote site: "
-msgstr "Neatendita rispondo de la fora retejo:"
-
-#: ../../mod/dfrn_confirm.php:254
-msgid "Confirmation completed successfully."
-msgstr "Konfirmo sukcese kompletigita."
-
-#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
-#: ../../mod/dfrn_confirm.php:277
-msgid "Remote site reported: "
-msgstr "La fora retejo raportis:"
-
-#: ../../mod/dfrn_confirm.php:268
-msgid "Temporary failure. Please wait and try again."
-msgstr "Dumtempa eraro. Bonvolu atendi kaj provi refoje."
-
-#: ../../mod/dfrn_confirm.php:275
-msgid "Introduction failed or was revoked."
-msgstr "La prezento malsukcesis au estas revokita."
-
-#: ../../mod/dfrn_confirm.php:420
-msgid "Unable to set contact photo."
-msgstr "Neeblas agordi la kontaktbildo."
-
-#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:510
-#: ../../include/conversation.php:101
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s amikiĝis kun %2$s"
-
-#: ../../mod/dfrn_confirm.php:562
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Ne trovis uzanton '%s' "
-
-#: ../../mod/dfrn_confirm.php:572
-msgid "Our site encryption key is apparently messed up."
-msgstr "Ŝajnas kvazaŭ la ĉifroŝlosilo de nia retejo estas fuŝita."
-
-#: ../../mod/dfrn_confirm.php:583
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr "Malplena adreso de retejo provizita, aŭ ni ne povis malĉifri la adreson."
-
-#: ../../mod/dfrn_confirm.php:604
-msgid "Contact record was not found for you on our site."
-msgstr "Kontakto ne trovita por vi en via retejo."
-
-#: ../../mod/dfrn_confirm.php:618
-#, php-format
-msgid "Site public key not available in contact record for URL %s."
-msgstr "Publika ŝlosilo de retejo ne disponeblas en la kontaktrikordo por la URL adreso %s."
-
-#: ../../mod/dfrn_confirm.php:638
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr "La identeco provizita de via sistemo estas duoblo ĉe nia sistemo. Ĝi eble funkcias se vi provas refoje."
-
-#: ../../mod/dfrn_confirm.php:649
-msgid "Unable to set your contact credentials on our system."
-msgstr "Ne sukcesis agordi la legitimaĵojn de via kontakto ĉe nia sistemo."
-
-#: ../../mod/dfrn_confirm.php:716
-msgid "Unable to update your contact profile details on our system"
-msgstr "Neeblas ĝisdatigi viajn profildetalojn ĉe nia sistemo."
-
-#: ../../mod/dfrn_confirm.php:750
-#, php-format
-msgid "Connection accepted at %s"
-msgstr "Konekto akceptita je %s"
-
-#: ../../mod/dfrn_confirm.php:799
-#, php-format
-msgid "%1$s has joined %2$s"
-msgstr "%1$s aliĝis al %2$s"
-
-#: ../../addon/fromgplus/fromgplus.php:29
-msgid "Google+ Import Settings"
-msgstr "Google+ Importo"
-
-#: ../../addon/fromgplus/fromgplus.php:32
-msgid "Enable Google+ Import"
-msgstr "Aktivigi Ĝoogle+ Importon"
-
-#: ../../addon/fromgplus/fromgplus.php:35
-msgid "Google Account ID"
-msgstr "Google Konto ID"
-
-#: ../../addon/fromgplus/fromgplus.php:55
-msgid "Google+ Import Settings saved."
-msgstr "Konservis Agordojn por Google+ Importo."
-
-#: ../../addon/facebook/facebook.php:521
-msgid "Facebook disabled"
-msgstr "Facebook malŝaltita"
-
-#: ../../addon/facebook/facebook.php:526
-msgid "Updating contacts"
-msgstr "Mi ĝisdatigas la kontaktojn."
-
-#: ../../addon/facebook/facebook.php:549
-msgid "Facebook API key is missing."
-msgstr "La API ŝlosilo de Facebook ne estas konata ĉi tie."
-
-#: ../../addon/facebook/facebook.php:556
-msgid "Facebook Connect"
-msgstr "Kontekto al Facebook"
-
-#: ../../addon/facebook/facebook.php:562
-msgid "Install Facebook connector for this account."
-msgstr "Instali la Facebook konektilo por ĉi tiu konto."
-
-#: ../../addon/facebook/facebook.php:569
-msgid "Remove Facebook connector"
-msgstr "Forigi la Facebook konektilon."
-
-#: ../../addon/facebook/facebook.php:574
-msgid ""
-"Re-authenticate [This is necessary whenever your Facebook password is "
-"changed.]"
-msgstr "Reaŭtentiĝi [Tio estas bezonata ĉiam kiam vi ŝanĝis vian pasvorton ĉe Facebook.]"
-
-#: ../../addon/facebook/facebook.php:581
-msgid "Post to Facebook by default"
-msgstr "Ĉiam afiŝi al Facebook."
-
-#: ../../addon/facebook/facebook.php:587
-msgid ""
-"Facebook friend linking has been disabled on this site. The following "
-"settings will have no effect."
-msgstr "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. La sekvantaj agordoj do ne havas validecon."
-
-#: ../../addon/facebook/facebook.php:591
-msgid ""
-"Facebook friend linking has been disabled on this site. If you disable it, "
-"you will be unable to re-enable it."
-msgstr "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. Se vi malŝaltas ĝin, vi ne eblos ree ŝalti ĝin."
-
-#: ../../addon/facebook/facebook.php:594
-msgid "Link all your Facebook friends and conversations on this website"
-msgstr "Alligu ĉiujn viajn Facebook amikojn kaj konversaciojn je ĉi-tiu retejo."
-
-#: ../../addon/facebook/facebook.php:596
-msgid ""
-"Facebook conversations consist of your <em>profile wall</em> and your friend"
-" <em>stream</em>."
-msgstr "Facebok konversacioj konsistas el via <em>profilmuro</em> kaj la <em>fluo</em> de viaj amikoj."
-
-#: ../../addon/facebook/facebook.php:597
-msgid "On this website, your Facebook friend stream is only visible to you."
-msgstr "Je ĉi-tiu retejo, la fluo de viaj amikoj ĉe Facebook nur videblas al vi."
-
-#: ../../addon/facebook/facebook.php:598
-msgid ""
-"The following settings determine the privacy of your Facebook profile wall "
-"on this website."
-msgstr "La sekvontaj agordoj difinas la privatecon de via Facebook profilmuro je ĉi-tiu retejo."
-
-#: ../../addon/facebook/facebook.php:602
-msgid ""
-"On this website your Facebook profile wall conversations will only be "
-"visible to you"
-msgstr "Je ĉi-tiu retejo, la conversacioj sur via Facebook profilmuro nur videblas al vi."
-
-#: ../../addon/facebook/facebook.php:607
-msgid "Do not import your Facebook profile wall conversations"
-msgstr "Ne importi konversaciojn de via Facebook profilmuro"
-
-#: ../../addon/facebook/facebook.php:609
-msgid ""
-"If you choose to link conversations and leave both of these boxes unchecked,"
-" your Facebook profile wall will be merged with your profile wall on this "
-"website and your privacy settings on this website will be used to determine "
-"who may see the conversations."
-msgstr "Se vi elektas alligi conversaciojn kaj ne elektas tiujn butonojn, via Facebook profilmuro estas kunigota kun via profilmuro ĉi tie. Viaj privatecaj agordoj ĉi tie difinos kiu povas vidi la coversaciojn."
-
-#: ../../addon/facebook/facebook.php:614
-msgid "Comma separated applications to ignore"
-msgstr "Ignorotaj programoj, disigita per komo"
-
-#: ../../addon/facebook/facebook.php:698
-msgid "Problems with Facebook Real-Time Updates"
-msgstr "Problemoj kun Facebook Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:726
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../addon/facebook/facebook.php:727
-msgid "Facebook Connector Settings"
-msgstr "Agordoj por la Facebook konektilo"
-
-#: ../../addon/facebook/facebook.php:742
-msgid "Facebook API Key"
-msgstr "Facebook API ŝlosilo"
-
-#: ../../addon/facebook/facebook.php:752
-msgid ""
-"Error: it appears that you have specified the App-ID and -Secret in your "
-".htconfig.php file. As long as they are specified there, they cannot be set "
-"using this form.<br><br>"
-msgstr "Eraro: Ŝajnas kvazaŭ vi agordis la App-ID kaj la sekreton en via .htconfig.php dosiero. Kiam ili estas agordita tie, vi ne povas agordi ĝin en tiu ĉi formo.<br><br>"
-
-#: ../../addon/facebook/facebook.php:757
-msgid ""
-"Error: the given API Key seems to be incorrect (the application access token"
-" could not be retrieved)."
-msgstr "Eraro: La API ŝlosilo aspektas malĝusta (ne eblas ricevi la programa atingoĵetono)."
-
-#: ../../addon/facebook/facebook.php:759
-msgid "The given API Key seems to work correctly."
-msgstr "La API ŝlosilo ŝajne ĝuste funkcias."
-
-#: ../../addon/facebook/facebook.php:761
-msgid ""
-"The correctness of the API Key could not be detected. Somthing strange's "
-"going on."
-msgstr "Ne povis kontroli la ĝustecon de la API ŝlosilo. Ia stranga afero okazas. "
-
-#: ../../addon/facebook/facebook.php:764
-msgid "App-ID / API-Key"
-msgstr "Programo ID / API Ŝlosilo"
-
-#: ../../addon/facebook/facebook.php:765
-msgid "Application secret"
-msgstr "Programo sekreto"
-
-#: ../../addon/facebook/facebook.php:766
-#, php-format
-msgid "Polling Interval in minutes (minimum %1$s minutes)"
-msgstr "Intervalo de enketo en minutoj (minimume %1$s minutoj)"
-
-#: ../../addon/facebook/facebook.php:767
-msgid ""
-"Synchronize comments (no comments on Facebook are missed, at the cost of "
-"increased system load)"
-msgstr "Sinkronigi komentojn (vi ricevas ĉiujn komentojn de Facebook, sed la ŝargo de la sistemo iom kreskas)"
-
-#: ../../addon/facebook/facebook.php:771
-msgid "Real-Time Updates"
-msgstr "Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:775
-msgid "Real-Time Updates are activated."
-msgstr "Realtempaj Ĝisdatigoj estas ŝaltita"
-
-#: ../../addon/facebook/facebook.php:776
-msgid "Deactivate Real-Time Updates"
-msgstr "Malŝalti Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:778
-msgid "Real-Time Updates not activated."
-msgstr "Realtempaj Ĝisdatigoj estas malŝaltita"
-
-#: ../../addon/facebook/facebook.php:778
-msgid "Activate Real-Time Updates"
-msgstr "Ŝalti Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:797 ../../addon/dav/layout.fnk.php:360
-msgid "The new values have been saved."
-msgstr "Konservis novajn valorojn."
-
-#: ../../addon/facebook/facebook.php:821
-msgid "Post to Facebook"
-msgstr "Afiŝi al Facebook"
-
-#: ../../addon/facebook/facebook.php:919
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
-msgstr "Afiŝado al Facebook nuligita ĉar okazis konflikto en la multretpermesoj."
-
-#: ../../addon/facebook/facebook.php:1139
-msgid "View on Friendica"
-msgstr "Vidi ĉe Friendica"
-
-#: ../../addon/facebook/facebook.php:1172
-msgid "Facebook post failed. Queued for retry."
-msgstr "Malsukcesis afiŝi ĉe Facebook. Enigita en vico."
-
-#: ../../addon/facebook/facebook.php:1212
-msgid "Your Facebook connection became invalid. Please Re-authenticate."
-msgstr "Via Facbook konekto iĝis nevalida. Bonvolu reaŭtentiĝi."
-
-#: ../../addon/facebook/facebook.php:1213
-msgid "Facebook connection became invalid"
-msgstr "Facebook konekto iĝis nevalida."
-
-#: ../../addon/facebook/facebook.php:1214
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"The connection between your accounts on %2$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
-msgstr "Saluton %1$s,\n\nla kontekto inter viaj kontoj ĉe %2$s kaj Facebook malvalidiĝis. Tio kutime okazas post kiam via ŝangas vian pasvorton ĉe Facebook. Por reaktivigi la konekto, vi bezonas %3$sreaŭtentiĝi la Facebook konektilon%4$s."
-
-#: ../../addon/snautofollow/snautofollow.php:32
-msgid "StatusNet AutoFollow settings updated."
-msgstr "Ĝidatigis StatusNet AutoFollow agordojn."
-
-#: ../../addon/snautofollow/snautofollow.php:56
-msgid "StatusNet AutoFollow Settings"
-msgstr "StatusNet AutoFollow agordoj"
-
-#: ../../addon/snautofollow/snautofollow.php:58
-msgid "Automatically follow any StatusNet followers/mentioners"
-msgstr "Aŭtomate sekvu ĉiujn StatusNet sekvantojn/menciantojn."
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:184
-msgid "Lifetime of the cache (in hours)"
-msgstr "Vivodaŭro de kaŝmemoro (horoj)"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:189
-msgid "Cache Statistics"
-msgstr "Statistikoj pri kaŝmemoro"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
-msgid "Number of items"
-msgstr "Kvanto da eroj"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
-msgid "Size of the cache"
-msgstr "Grando de la kaŝmemoro"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:196
-msgid "Delete the whole cache"
-msgstr "Forviŝi la kaŝmemoron"
-
-#: ../../addon/widgets/widget_like.php:58
-#, php-format
-msgid "%d person likes this"
-msgid_plural "%d people like this"
-msgstr[0] "%d homo ŝatas tiun"
-msgstr[1] "%d homoj ŝatas tiun"
-
-#: ../../addon/widgets/widget_like.php:61
-#, php-format
-msgid "%d person doesn't like this"
-msgid_plural "%d people don't like this"
-msgstr[0] "%d homo malŝatas tiun"
-msgstr[1] "%d homo malŝatas tiun"
-
-#: ../../addon/widgets/widget_friendheader.php:40
-msgid "Get added to this list!"
-msgstr "Iĝu membro de ĉi tiu listo!"
-
-#: ../../addon/widgets/widgets.php:56
-msgid "Generate new key"
-msgstr "Generi novan ĉifroŝlosilon"
-
-#: ../../addon/widgets/widgets.php:59
-msgid "Widgets key"
-msgstr "Ŝlosilo por fenestraĵoj"
-
-#: ../../addon/widgets/widgets.php:61
-msgid "Widgets available"
-msgstr "Disponeblaj fenestraĵoj"
-
-#: ../../addon/widgets/widget_friends.php:40
-msgid "Connect on Friendica!"
-msgstr "Konekti ĉe Friendica!"
-
-#: ../../addon/yourls/yourls.php:55
-msgid "YourLS Settings"
-msgstr "\"YourLS\" Agordoj"
-
-#: ../../addon/yourls/yourls.php:57
-msgid "URL: http://"
-msgstr "URL adreso: http://"
-
-#: ../../addon/yourls/yourls.php:62
-msgid "Username:"
-msgstr "Salutnomo:"
-
-#: ../../addon/yourls/yourls.php:67
-msgid "Password:"
-msgstr "Pasvorto:"
-
-#: ../../addon/yourls/yourls.php:72
-msgid "Use SSL "
-msgstr "Uzi SSL "
-
-#: ../../addon/yourls/yourls.php:92
-msgid "yourls Settings saved."
-msgstr "Konservis la agordojn de YourLS."
-
-#: ../../addon/ljpost/ljpost.php:39
-msgid "Post to LiveJournal"
-msgstr "Afiŝi ĉe LiveJournal"
-
-#: ../../addon/ljpost/ljpost.php:70
-msgid "LiveJournal Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe LiveJournal"
-
-#: ../../addon/ljpost/ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Ŝalti la LiveJournal-afiŝo kromprogramon."
-
-#: ../../addon/ljpost/ljpost.php:77
-msgid "LiveJournal username"
-msgstr "LiveJournal Salutnomo"
-
-#: ../../addon/ljpost/ljpost.php:82
-msgid "LiveJournal password"
-msgstr "LiveJournal pasvorto"
-
-#: ../../addon/ljpost/ljpost.php:87
-msgid "Post to LiveJournal by default"
-msgstr "Defaŭlte afiŝi al LiveJournal"
-
-#: ../../addon/nsfw/nsfw.php:47
-msgid "Not Safe For Work (General Purpose Content Filter) settings"
-msgstr "Not Safe For Work (ĝenerala filtrilo por enhavoj) agordoj"
-
-#: ../../addon/nsfw/nsfw.php:49
-msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
-"collapses any content containing those keywords so it is not displayed at "
-"inappropriate times, such as sexual innuendo that may be improper in a work "
-"setting. It is polite and recommended to tag any content containing nudity "
-"with #NSFW. This filter can also match any other word/text you specify, and"
-" can thereby be used as a general purpose content filter."
-msgstr "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo. La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo."
-
-#: ../../addon/nsfw/nsfw.php:50
-msgid "Enable Content filter"
-msgstr "Ŝalti la filtrilo por la enhavo"
-
-#: ../../addon/nsfw/nsfw.php:53
-msgid "Comma separated list of keywords to hide"
-msgstr "Perkome disigita listo da kaŝontaj ŝlosilvortoj"
-
-#: ../../addon/nsfw/nsfw.php:58
-msgid "Use /expression/ to provide regular expressions"
-msgstr "Uzu /expr/ por provizi regulajn esprimojn."
-
-#: ../../addon/nsfw/nsfw.php:74
-msgid "NSFW Settings saved."
-msgstr "NSFW agordoj konservitaj."
-
-#: ../../addon/nsfw/nsfw.php:121
-#, php-format
-msgid "%s - Click to open/close"
-msgstr "%s - Klaku por malfermi/fermi"
-
-#: ../../addon/page/page.php:61 ../../addon/page/page.php:91
-msgid "Forums"
-msgstr "Forumoj"
-
-#: ../../addon/page/page.php:76 ../../addon/page/page.php:110
-#: ../../addon/showmore/showmore.php:87 ../../include/contact_widgets.php:188
-#: ../../include/conversation.php:476 ../../boot.php:529
-msgid "show more"
-msgstr "montri pli"
-
-#: ../../addon/page/page.php:129
-msgid "Forums:"
-msgstr "Forumoj:"
-
-#: ../../addon/page/page.php:163
-msgid "Page settings updated."
-msgstr "Paĝajn agordojn ĝisdatigita."
-
-#: ../../addon/page/page.php:192
-msgid "Page Settings"
-msgstr "Paĝaj Agordoj"
-
-#: ../../addon/page/page.php:194
-msgid "How many forums to display on sidebar without paging"
-msgstr "Montri tiom da forumoj en la flanka strio sen paĝigo"
-
-#: ../../addon/page/page.php:197
-msgid "Randomise Page/Forum list"
-msgstr "Hazardigi la liston de Paĝoj/Forumoj"
-
-#: ../../addon/page/page.php:200
-msgid "Show pages/forums on profile page"
-msgstr "Montri paĝojn/forumojn sur la profilpaĝo"
-
-#: ../../addon/planets/planets.php:150
-msgid "Planets Settings"
-msgstr "Agordo pri Planets"
-
-#: ../../addon/planets/planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Ŝalti la Planets kromprogamon"
-
-#: ../../addon/communityhome/communityhome.php:28
-#: ../../addon/communityhome/communityhome.php:34
-#: ../../addon/communityhome/twillingham/communityhome.php:28
-#: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:849
-msgid "Login"
-msgstr "Ensaluti"
-
-#: ../../addon/communityhome/communityhome.php:29
-#: ../../addon/communityhome/twillingham/communityhome.php:29
-msgid "OpenID"
-msgstr "OpenID"
-
-#: ../../addon/communityhome/communityhome.php:38
-#: ../../addon/communityhome/twillingham/communityhome.php:38
-msgid "Latest users"
-msgstr "Ĵusaj uzantoj"
-
-#: ../../addon/communityhome/communityhome.php:81
-#: ../../addon/communityhome/twillingham/communityhome.php:81
-msgid "Most active users"
-msgstr "Plej aktivaj uzantoj"
-
-#: ../../addon/communityhome/communityhome.php:98
-msgid "Latest photos"
-msgstr "Ĵusaj bildoj"
-
-#: ../../addon/communityhome/communityhome.php:133
-msgid "Latest likes"
-msgstr "Ĵusaj ŝatitaĵoj"
-
-#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1315
-#: ../../include/conversation.php:45 ../../include/conversation.php:118
-msgid "event"
-msgstr "okazo"
-
-#: ../../addon/dav/common/wdcal_configuration.php:126
-msgid "U.S. Time Format (mm/dd/YYYY)"
-msgstr "Usona datformato (mm/dd/YYYY)"
-
-#: ../../addon/dav/common/wdcal_configuration.php:205
-msgid "German Time Format (dd.mm.YYYY)"
-msgstr "Germana datformato (dd.mm.YYYY)"
-
-#: ../../addon/dav/common/calendar.fnk.php:517
-#: ../../addon/dav/common/calendar.fnk.php:533
-#: ../../addon/dav/layout.fnk.php:200
-msgid "Error"
-msgstr "Eraro"
-
-#: ../../addon/dav/common/calendar.fnk.php:568
-#: ../../addon/dav/common/calendar.fnk.php:637
-#: ../../addon/dav/common/calendar.fnk.php:664
-#: ../../addon/dav/layout.fnk.php:231
-msgid "No access"
-msgstr "No access"
-
-#: ../../addon/dav/layout.fnk.php:119
-msgid "New event"
-msgstr "Nova okazo"
-
-#: ../../addon/dav/layout.fnk.php:123
-msgid "Today"
-msgstr "Hodiaŭ"
-
-#: ../../addon/dav/layout.fnk.php:132
-msgid "Day"
-msgstr "Tago"
-
-#: ../../addon/dav/layout.fnk.php:139
-msgid "Week"
-msgstr "Semajno"
-
-#: ../../addon/dav/layout.fnk.php:146
-msgid "Month"
-msgstr "Monato"
-
-#: ../../addon/dav/layout.fnk.php:151
-msgid "Reload"
-msgstr "Reŝargi"
-
-#: ../../addon/dav/layout.fnk.php:162
-msgid "Date"
-msgstr "Dato"
-
-#: ../../addon/dav/layout.fnk.php:224
-msgid "Not found"
-msgstr "Ne trovita"
-
-#: ../../addon/dav/layout.fnk.php:292 ../../addon/dav/layout.fnk.php:365
-msgid "Go back to the calendar"
-msgstr "Iri reen al la kalendaro"
-
-#: ../../addon/dav/layout.fnk.php:300
-msgid "Starts"
-msgstr "Komencas"
-
-#: ../../addon/dav/layout.fnk.php:305
-msgid "Ends"
-msgstr "Finas"
-
-#: ../../addon/dav/layout.fnk.php:312
-msgid "Description"
-msgstr "Priskribo"
-
-#: ../../addon/dav/layout.fnk.php:315
-msgid "Notification"
-msgstr "Atentigo"
-
-#: ../../addon/dav/layout.fnk.php:324
-msgid "Minutes"
-msgstr "Minutoj"
-
-#: ../../addon/dav/layout.fnk.php:327
-msgid "Hours"
-msgstr "Horoj"
-
-#: ../../addon/dav/layout.fnk.php:330
-msgid "Days"
-msgstr "Tagoj"
-
-#: ../../addon/dav/layout.fnk.php:331
-msgid "before"
-msgstr "antaŭ"
-
-#: ../../addon/dav/layout.fnk.php:367
-msgid "Calendar Settings"
-msgstr "Kalendaraj Agordoj"
-
-#: ../../addon/dav/layout.fnk.php:373
-msgid "Date format"
-msgstr "Datformato"
-
-#: ../../addon/dav/layout.fnk.php:382
-msgid "Time zone"
-msgstr "Horzono"
-
-#: ../../addon/dav/layout.fnk.php:387
-msgid "Limitations"
-msgstr "Limigoj"
-
-#: ../../addon/dav/layout.fnk.php:391
-msgid "Warning"
-msgstr "Averto"
-
-#: ../../addon/dav/layout.fnk.php:395
-msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
-msgstr "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)"
-
-#: ../../addon/dav/layout.fnk.php:402
-msgid "Synchronizing this calendar with the iPhone"
-msgstr "Sinkronigi tiun kalendaron kun la iPhone"
-
-#: ../../addon/dav/layout.fnk.php:413
-msgid "Synchronizing your Friendica-Contacts with the iPhone"
-msgstr "Sinkronigi viajn Friendica kontaktojn kun la iPhone"
-
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:37
-msgid "Friendica-Contacts"
-msgstr "Friendica Kontaktoj"
-
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:38
-msgid "Your Friendica-Contacts"
-msgstr "Viaj Friendica Kontaktoj"
-
-#: ../../addon/dav/main.php:244
-msgid "Calendar"
-msgstr "Kalendaro"
-
-#: ../../addon/dav/main.php:247
-msgid "Extended calendar with CalDAV-support"
-msgstr "Etendita kalendaro kun CalDAV subteno"
-
-#: ../../addon/dav/main.php:263
-msgid "The database tables have been installed."
-msgstr "La tabeloj estas instalita en la datumbazo"
-
-#: ../../addon/dav/main.php:264
-msgid "An error occurred during the installation."
-msgstr "Eraro okazis dum instalado"
-
-#: ../../addon/dav/main.php:280
-msgid "No system-wide settings yet."
-msgstr "Ankoraŭ ne disponablas tutsistemaj agordoj"
-
-#: ../../addon/dav/main.php:283
-msgid "Database status"
-msgstr "Stato de datumbazo"
-
-#: ../../addon/dav/main.php:286
-msgid "Installed"
-msgstr "Instalita"
-
-#: ../../addon/dav/main.php:289
-msgid "Upgrade needed"
-msgstr "Ĝisdatigo bezonata"
-
-#: ../../addon/dav/main.php:289
-msgid "Upgrade"
-msgstr "Ĝisdatigo"
-
-#: ../../addon/dav/main.php:292
-msgid "Not installed"
-msgstr "Ne instalita"
-
-#: ../../addon/dav/main.php:292
-msgid "Install"
-msgstr "Instali"
-
-#: ../../addon/dav/main.php:297
-msgid "Troubleshooting"
-msgstr "Problemsolvado"
-
-#: ../../addon/dav/main.php:298
-msgid "Manual creation of the database tables:"
-msgstr "Mana kreado de tabeloj en la datumbazo:"
-
-#: ../../addon/dav/main.php:299
-msgid "Show SQL-statements"
-msgstr "Montru SQL ordonojn"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:151
-msgid "Private Calendar"
-msgstr "Privata kalendaro"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:158
-msgid "Friendica Events: Mine"
-msgstr "Friendica Okazoj: Miaj"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:161
-msgid "Friendica Events: Contacts"
-msgstr "Friendica Okazoj: De Kontaktoj"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:84
-#, php-format
-msgid ""
-"Allow to use your friendica id (%s) to connecto to external unhosted-enabled"
-" storage (like ownCloud). See <a "
-"href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage"
-" WebFinger</a>"
-msgstr "Permesi vian identecon ĉe Friendica (%s) por konekti al eksteraj konservejoj subtenata de unhosted (ekz. OwnCloud). Vidu <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:85
-msgid "Template URL (with {category})"
-msgstr "URL adreso de ŝablono (kun {category})"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:86
-msgid "OAuth end-point"
-msgstr "OAuth finpunkto"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:87
-msgid "Api"
-msgstr "Api"
-
-#: ../../addon/membersince/membersince.php:18
-msgid "Member since:"
-msgstr "Membro ekde:"
-
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr "Tri-dimensia Tiktakto"
-
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr "3D Tiktakto"
-
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
-msgstr "Nova ludo"
-
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
-msgstr "Nova ludo kun handikapo"
-
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
-msgstr "Tri-dimensia tiktakto similas la tradician ludon, sed estas ludata sur pluraj ebenoj dum la sama tempo."
-
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr "Ĉi-kaze ekzistas tri ebenoj. Vi venkas vicigante tri signojn en una vico, en la sama ebeno, same kiel supren, malsupren aŭ diagonale, trans la ebenoj."
-
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr "La ludo kun handikapo malvalidigas la mezan pozicion sur la meza ebeno, ĉar la ludisto kio okupas ĉi tiun pozicion ĉiam havas avantaĝon."
-
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr "Estas via vico unue."
-
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr "Ĉi-tempe, unue estas mia vico."
-
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr "Vi venkis!"
-
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr "Sendecida ludo!"
-
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr "Mi venkis!"
-
-#: ../../addon/randplace/randplace.php:169
-msgid "Randplace Settings"
-msgstr "Randplace agordoj."
-
-#: ../../addon/randplace/randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Aktivigi la Randplace kromprogramon."
-
-#: ../../addon/dwpost/dwpost.php:39
-msgid "Post to Dreamwidth"
-msgstr "Afiŝi al Dreamwidth"
-
-#: ../../addon/dwpost/dwpost.php:70
-msgid "Dreamwidth Post Settings"
-msgstr "Agordoj por Afiŝoj al Dreamwidth"
-
-#: ../../addon/dwpost/dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Ŝalti la Dreamwidth Kromprogramon"
-
-#: ../../addon/dwpost/dwpost.php:77
-msgid "dreamwidth username"
-msgstr "Dreamwidth salutnomo"
-
-#: ../../addon/dwpost/dwpost.php:82
-msgid "dreamwidth password"
-msgstr "Dreamwidth pasvorto"
-
-#: ../../addon/dwpost/dwpost.php:87
-msgid "Post to dreamwidth by default"
-msgstr "Defaŭlte afiŝi al Dreamwidth"
-
-#: ../../addon/drpost/drpost.php:35
-msgid "Post to Drupal"
-msgstr "Afiŝi al Drupal"
-
-#: ../../addon/drpost/drpost.php:72
-msgid "Drupal Post Settings"
-msgstr "Agordoj por Drupal Afiŝoj"
-
-#: ../../addon/drpost/drpost.php:74
-msgid "Enable Drupal Post Plugin"
-msgstr "Ŝalti la Drupal-afiŝo Kromprogramon"
-
-#: ../../addon/drpost/drpost.php:79
-msgid "Drupal username"
-msgstr "Drupal salutnomo"
-
-#: ../../addon/drpost/drpost.php:84
-msgid "Drupal password"
-msgstr "Drupal pasvorto"
-
-#: ../../addon/drpost/drpost.php:89
-msgid "Post Type - article,page,or blog"
-msgstr "Tipo de Afiŝoj - article, page, aŭ blog"
-
-#: ../../addon/drpost/drpost.php:94
-msgid "Drupal site URL"
-msgstr "URL adreso de Drupal retejo"
-
-#: ../../addon/drpost/drpost.php:99
-msgid "Drupal site uses clean URLS"
-msgstr "Drupal retejo uzas purajn URL adresojn"
-
-#: ../../addon/drpost/drpost.php:104
-msgid "Post to Drupal by default"
-msgstr "Defaŭlte afiŝi ĉe Drupal"
-
-#: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:201
-#: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189
-msgid "Post from Friendica"
-msgstr "Afiŝo de Friendica"
-
-#: ../../addon/startpage/startpage.php:83
-msgid "Startpage Settings"
-msgstr "Startpaĝaj Agordoj"
-
-#: ../../addon/startpage/startpage.php:85
-msgid "Home page to load after login - leave blank for profile wall"
-msgstr "Hejmpaĝo ŝargonta post la ensaluto - Lasu malplena por profilmuro."
-
-#: ../../addon/startpage/startpage.php:88
-msgid "Examples: &quot;network&quot; or &quot;notifications/system&quot;"
-msgstr "Ekzemple: &quot;network&quot; aŭ &quot;notifications/system&quot;"
-
-#: ../../addon/geonames/geonames.php:143
-msgid "Geonames settings updated."
-msgstr "Ĝidatigis la Geonames agordojn."
-
-#: ../../addon/geonames/geonames.php:179
-msgid "Geonames Settings"
-msgstr "Geonames Agordoj"
-
-#: ../../addon/geonames/geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Ŝalti la Geonames Kromprogramon"
-
-#: ../../addon/public_server/public_server.php:126
-#: ../../addon/testdrive/testdrive.php:94
-#, php-format
-msgid "Your account on %s will expire in a few days."
-msgstr "Via konto ĉe %s senvalidiĝos post kelkaj tagoj."
-
-#: ../../addon/public_server/public_server.php:127
-msgid "Your Friendica account is about to expire."
-msgstr "Via konto ĉe Friendica baldaŭ senvalidiĝos."
-
-#: ../../addon/public_server/public_server.php:128
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your account on %2$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"
-msgstr "Saluton %1$s,\n\nVia konto ĉe %2$s senvalidiĝos post malpli ol kvin tagoj. Vi povas konservi vian konton se vi ensalutas almenaŭ ĉiujn 30 tagojn. "
-
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr "Alŝuti dosieron"
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr "Ŝovmeti dosierojn ĉi tie por alŝuti ilin."
-
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
-msgstr "Malsukcesi"
-
-#: ../../addon/js_upload/js_upload.php:297
-msgid "No files were uploaded."
-msgstr "Neniom da dosieroj alŝutita."
-
-#: ../../addon/js_upload/js_upload.php:303
-msgid "Uploaded file is empty"
-msgstr "Alŝutita dosiero estas malplena."
-
-#: ../../addon/js_upload/js_upload.php:326
-msgid "File has an invalid extension, it should be one of "
-msgstr "Dosiero havas nevalidan sufikson. Ĝi estu unu de "
-
-#: ../../addon/js_upload/js_upload.php:337
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Alŝutado estas nuligita aŭ okazis eraro sur la servilo"
-
-#: ../../addon/oembed.old/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr "Ĝisdatigis OEmbed agordojn"
-
-#: ../../addon/oembed.old/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr "Uzi OEmbed por YouTube videtoj"
-
-#: ../../addon/oembed.old/oembed.php:71
-msgid "URL to embed:"
-msgstr "Enigi la URL adreson:"
-
-#: ../../addon/impressum/impressum.php:36
-msgid "Impressum"
-msgstr "Kolofono"
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:51
-#: ../../addon/impressum/impressum.php:83
-msgid "Site Owner"
-msgstr "Proprietulo de la paĝo"
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:87
-msgid "Email Address"
-msgstr "Retpoŝta Adreso"
-
-#: ../../addon/impressum/impressum.php:54
-#: ../../addon/impressum/impressum.php:85
-msgid "Postal Address"
-msgstr "Poŝta Adreso"
-
-#: ../../addon/impressum/impressum.php:60
-msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr "La kolofono (impressum) kromprogramo bezonas agordojn!<br />Bonvolu aldoni minimume la <tt>owner</tt> variablon al via agorda dosiero. Por aliaj variabloj, bonvolu legi la README dosieron de la kromprogramo."
-
-#: ../../addon/impressum/impressum.php:83
-msgid "The page operators name."
-msgstr "La nomo de la funkciigisto de la retejo."
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Site Owners Profile"
-msgstr "Profilo de la Proprietulo de la Retejo"
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Profile address of the operator."
-msgstr "La profilo de la funkciigisto de la retejo."
-
-#: ../../addon/impressum/impressum.php:85
-msgid "How to contact the operator via snail mail. You can use BBCode here."
-msgstr "Kiel poŝte kontakti la funkciigisto de la retejo. Vi eblas uzi BBCode ĉi tie."
-
-#: ../../addon/impressum/impressum.php:86
-msgid "Notes"
-msgstr "Notoj"
-
-#: ../../addon/impressum/impressum.php:86
-msgid ""
-"Additional notes that are displayed beneath the contact information. You can"
-" use BBCode here."
-msgstr "Pli da notoj kiuj aperas sub la kontaktinformoj. Vi eblas uzi BBCode ĉi tie."
-
-#: ../../addon/impressum/impressum.php:87
-msgid "How to contact the operator via email. (will be displayed obfuscated)"
-msgstr "Kiel kontakti la funkciigiston de la retejo per retpoŝto. (montriĝos vuale) "
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Footer note"
-msgstr "Paĝpiednoto"
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Text for the footer. You can use BBCode here."
-msgstr "Teksto por la paĝpiedo. Vie eblas uzi BBCode ĉi tie."
-
-#: ../../addon/buglink/buglink.php:15
-msgid "Report Bug"
-msgstr "Skribi cimraporton"
-
-#: ../../addon/notimeline/notimeline.php:32
-msgid "No Timeline settings updated."
-msgstr "No Timeline agordojn ĝisdatigita."
-
-#: ../../addon/notimeline/notimeline.php:56
-msgid "No Timeline Settings"
-msgstr "No Timeline Agordoj"
-
-#: ../../addon/notimeline/notimeline.php:58
-msgid "Disable Archive selector on profile wall"
-msgstr "Malaktivigi la Arkivo elektilo sur la profilmuro"
-
-#: ../../addon/blockem/blockem.php:51
-msgid "\"Blockem\" Settings"
-msgstr "\"Blockem\" Agordoj"
-
-#: ../../addon/blockem/blockem.php:53
-msgid "Comma separated profile URLS to block"
-msgstr "Blokotaj URL adresoj, disigita per komo"
-
-#: ../../addon/blockem/blockem.php:70
-msgid "BLOCKEM Settings saved."
-msgstr "Konservis Agordojn de BLOCKEM."
-
-#: ../../addon/blockem/blockem.php:105
-#, php-format
-msgid "Blocked %s - Click to open/close"
-msgstr "%s blokita - Klaku por malfermi/fermi"
-
-#: ../../addon/blockem/blockem.php:160
-msgid "Unblock Author"
-msgstr "Malbloki Aŭtoron"
-
-#: ../../addon/blockem/blockem.php:162
-msgid "Block Author"
-msgstr "Bloki Aŭtoron"
-
-#: ../../addon/blockem/blockem.php:194
-msgid "blockem settings updated"
-msgstr "Ĝisdatigis la blockem agordojn"
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-)"
-msgstr ":-)"
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-("
-msgstr ":-("
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid "lol"
-msgstr "lol"
-
-#: ../../addon/qcomment/qcomment.php:54
-msgid "Quick Comment Settings"
-msgstr "Agordoj pri Rapidaj Komentoj"
-
-#: ../../addon/qcomment/qcomment.php:56
-msgid ""
-"Quick comments are found near comment boxes, sometimes hidden. Click them to"
-" provide simple replies."
-msgstr "Rapidaj komentoj troviĝas apud komentkampoj, kelkfoje kaŝita. Klaku ilin por provizi simplajn rispondojn."
-
-#: ../../addon/qcomment/qcomment.php:57
-msgid "Enter quick comments, one per line"
-msgstr "Entajpu rapidaj komentoj, po unu je linio."
-
-#: ../../addon/qcomment/qcomment.php:75
-msgid "Quick Comment settings saved."
-msgstr "Konservis agordojn pri rapidaj komentoj."
-
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid "Tile Server URL"
-msgstr "Adreso de Kahelservilo"
-
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" "
-"target=\"_blank\">public tile servers</a>"
-msgstr "Listo de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publikaj kahelserviloj</a>"
-
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "Default zoom"
-msgstr "Defaŭlta zoma faktoro"
-
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "The default zoom level. (1:world, 18:highest)"
-msgstr "La defaŭlta zoma faktoro. (1:tutmonda, 18:plej proksima)"
-
-#: ../../addon/libertree/libertree.php:36
-msgid "Post to libertree"
-msgstr "Afiŝi al libertree"
-
-#: ../../addon/libertree/libertree.php:67
-msgid "libertree Post Settings"
-msgstr "Agordoj por Afiŝoj ĉe libertree"
-
-#: ../../addon/libertree/libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Aktivigi Kromprogramon por Afiŝoj ĉe libertree"
-
-#: ../../addon/libertree/libertree.php:74
-msgid "Libertree API token"
-msgstr "Libertree API ĵetono"
-
-#: ../../addon/libertree/libertree.php:79
-msgid "Libertree site URL"
-msgstr "URL adreso de libertree retejo:"
-
-#: ../../addon/libertree/libertree.php:84
-msgid "Post to Libertree by default"
-msgstr "Defaŭlte afiŝi ĉe Libertree"
-
-#: ../../addon/mathjax/mathjax.php:37
-msgid ""
-"The MathJax addon renders mathematical formulae written using the LaTeX "
-"syntax surrounded by the usual $$ or an eqnarray block in the postings of "
-"your wall,network tab and private mail."
-msgstr "La Mathjax kromprogramo bildigas matematikajn formulojn skribitajn en la LaTeX sintakso, cirkaŭigita de la komuna $$ aŭ eqnarray bloko en afiŝoj ĉe via muro, Reto folio kaj privataj mesaĝoj."
-
-#: ../../addon/mathjax/mathjax.php:38
-msgid "Use the MathJax renderer"
-msgstr "Ĉu uzi la Mathjax bildigilo"
-
-#: ../../addon/mathjax/mathjax.php:74
-msgid "MathJax Base URL"
-msgstr "Mathjax Baza URL Adreso"
-
-#: ../../addon/mathjax/mathjax.php:74
-msgid ""
-"The URL for the javascript file that should be included to use MathJax. Can "
-"be either the MathJax CDN or another installation of MathJax."
-msgstr "La URL adreso por la javascript dosiero kiu estas inkluzivigonta por uzi Mathjaz. Eblas esti aŭ la Mathjax CDN aŭ alia Mathjax instalo."
-
-#: ../../addon/editplain/editplain.php:46
-msgid "Editplain settings updated."
-msgstr "Ĝisdatigis la Editplain agordojn."
-
-#: ../../addon/editplain/editplain.php:76
-msgid "Editplain Settings"
-msgstr "Agordoj por Editplain"
-
-#: ../../addon/editplain/editplain.php:78
-msgid "Disable richtext status editor"
-msgstr "Malŝalti la riĉteksto-redaktilon"
-
-#: ../../addon/gravatar/gravatar.php:71
-msgid "generic profile image"
-msgstr "komuna profilbildo"
-
-#: ../../addon/gravatar/gravatar.php:72
-msgid "random geometric pattern"
-msgstr "loteca geometria skemo"
-
-#: ../../addon/gravatar/gravatar.php:73
-msgid "monster face"
-msgstr "monstrobildo"
-
-#: ../../addon/gravatar/gravatar.php:74
-msgid "computer generated face"
-msgstr "komputita vizaĝo"
-
-#: ../../addon/gravatar/gravatar.php:75
-msgid "retro arcade style face"
-msgstr "retrostila videoludstila vizaĝo"
-
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Default avatar image"
-msgstr "Defaŭlta avatarbildo"
-
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Select default avatar image if none was found at Gravatar. See README"
-msgstr "Elektu defaŭltan avatarbildon se neniu troviĝis ĉe Gravatar. Vidu README."
-
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Rating of images"
-msgstr "Pritakso de bildoj"
-
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Select the appropriate avatar rating for your site. See README"
-msgstr "Elektu la ĝustan pritakson de via avataro por via retejo. Vidu README."
-
-#: ../../addon/gravatar/gravatar.php:102
-msgid "Gravatar settings updated."
-msgstr "Gravatar agordoj ĝisdatigitaj."
-
-#: ../../addon/testdrive/testdrive.php:95
-msgid "Your Friendica test account is about to expire."
-msgstr "Via Friendica provkonto baldaŭ malaktiviĝos."
-
-#: ../../addon/testdrive/testdrive.php:96
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your test account on %2$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."
-msgstr "Saluton %1$s,\n\nVia testkonto ĉe %2$s senvalidiĝos post malpli ol kvin tagoj. Vi esperas ke vi ĝuis la teston kaj baldaŭ trovosĝustan Friendica retejon por via integrita sociala komunikado. Listo de publikaj retejoj troviĝas ĉe http://dir.friendica.com/siteinfo - kaj por pli da informoj pri kiel instali vian propran Friendica servilon, bonvolu viziti la retejon de la Friendica projekton ĉe http://friendica.com."
-
-#: ../../addon/pageheader/pageheader.php:50
-msgid "\"pageheader\" Settings"
-msgstr "\"pageheader\" Agordoj"
-
-#: ../../addon/pageheader/pageheader.php:68
-msgid "pageheader Settings saved."
-msgstr "Konservis Agordojn de pageheader."
-
-#: ../../addon/ijpost/ijpost.php:39
-msgid "Post to Insanejournal"
-msgstr "Afiŝi al Insanejournal"
-
-#: ../../addon/ijpost/ijpost.php:70
-msgid "InsaneJournal Post Settings"
-msgstr "Agordoj pri Insaenejournal Afiŝoj"
-
-#: ../../addon/ijpost/ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "Ŝalti la InsaneJournal afiŝo kromprogramon."
-
-#: ../../addon/ijpost/ijpost.php:77
-msgid "InsaneJournal username"
-msgstr "Salutnomo ĉe InsaneJournal"
-
-#: ../../addon/ijpost/ijpost.php:82
-msgid "InsaneJournal password"
-msgstr "Pasvorto ĉe InsaneJournal"
-
-#: ../../addon/ijpost/ijpost.php:87
-msgid "Post to InsaneJournal by default"
-msgstr "Defaŭlte afiŝi ĉe InsaneJournal"
-
-#: ../../addon/viewsrc/viewsrc.php:37
-msgid "View Source"
-msgstr "Vidi Fonton"
-
-#: ../../addon/statusnet/statusnet.php:134
-msgid "Post to StatusNet"
-msgstr "Afiŝi ĉe StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:176
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
-msgstr "Bonvolu kontaki vian retejan administranton.<br />La API URL adreso ne validas."
-
-#: ../../addon/statusnet/statusnet.php:204
-msgid "We could not contact the StatusNet API with the Path you entered."
-msgstr "Ni ne povis trovi la StatusNet API kun la vojo kiun vi entajpis."
-
-#: ../../addon/statusnet/statusnet.php:232
-msgid "StatusNet settings updated."
-msgstr "StatusNet agordoj ĝisdatigita."
-
-#: ../../addon/statusnet/statusnet.php:257
-msgid "StatusNet Posting Settings"
-msgstr "Agordoj por StausNet afiŝoj"
-
-#: ../../addon/statusnet/statusnet.php:271
-msgid "Globally Available StatusNet OAuthKeys"
-msgstr "Ĝeneralaj disponeblaj StatusNet OAuth ŝlosiloj"
-
-#: ../../addon/statusnet/statusnet.php:272
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
-msgstr "Disponeblas antaŭagorditaj ŝlosilparoj por kelkaj StatusNet serviloj. Se via uzas iun de iu, bonvolu uzi unun de tiuj legitimaĵojn. Se ne, bonvolu konekti al iu alia StatusNet servilo (vidu malsupre)."
-
-#: ../../addon/statusnet/statusnet.php:280
-msgid "Provide your own OAuth Credentials"
-msgstr "Provizi viajn proprajn OAuth legitimaĵojn"
-
-#: ../../addon/statusnet/statusnet.php:281
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendica Account as"
-" an desktop client on your StatusNet account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Friendica installation at your favorited StatusNet installation."
-msgstr "Ne trovis klientajn ŝlosilojn por StatusNet. Registru vian Friendica konton kiel klientkomputilo/desktop client en via StausNet konto. Kopiu la klientajn ŝlosilojn ĉi tien kaj entajpu la baza API radiko.<br />Antaŭ vi registros viajn proprajn OAuth ŝlosilojn, demandu al la administranto ĉu jam ekzistas ŝlosiloj por ĉi-tiu Friendia retejo je via StatusNet retejo."
-
-#: ../../addon/statusnet/statusnet.php:283
-msgid "OAuth Consumer Key"
-msgstr "OAuth Ŝlosilo de Kliento"
-
-#: ../../addon/statusnet/statusnet.php:286
-msgid "OAuth Consumer Secret"
-msgstr "OAuth Sekreto de Kliento"
-
-#: ../../addon/statusnet/statusnet.php:289
-msgid "Base API Path (remember the trailing /)"
-msgstr "Baza vojo al la API (ne forgesu la finan /)"
-
-#: ../../addon/statusnet/statusnet.php:310
-msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below"
-" and submit the form. Only your <strong>public</strong> posts will be posted"
-" to StatusNet."
-msgstr "Por konekti al vian konton ĉe StatusNet, klaku la malsupran butonon por atingi sekurecan kodon de StatusNet, kiun vi devas alglui en la malsupra kampo kaj sendi la formon. Nur viaj <strong>publikaj</strong> afiŝoj estos afiŝota al StatusNet."
-
-#: ../../addon/statusnet/statusnet.php:311
-msgid "Log in with StatusNet"
-msgstr "Ensaluti kun StatusNet."
-
-#: ../../addon/statusnet/statusnet.php:313
-msgid "Copy the security code from StatusNet here"
-msgstr "Alglui la kodon de StatusNet ĉi tie:"
-
-#: ../../addon/statusnet/statusnet.php:319
-msgid "Cancel Connection Process"
-msgstr "Nuligi Konektadon"
-
-#: ../../addon/statusnet/statusnet.php:321
-msgid "Current StatusNet API is"
-msgstr "La nuna StatusNet API estas"
-
-#: ../../addon/statusnet/statusnet.php:322
-msgid "Cancel StatusNet Connection"
-msgstr "Nuligi Konekton al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:333 ../../addon/twitter/twitter.php:189
-msgid "Currently connected to: "
-msgstr "Konektita al:"
-
-#: ../../addon/statusnet/statusnet.php:334
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
-msgstr "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita StatusNet konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin."
-
-#: ../../addon/statusnet/statusnet.php:336
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to StatusNet will lead the visitor to a blank page "
-"informing the visitor that the access to your profile has been restricted."
-msgstr "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al StatusNet gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita."
-
-#: ../../addon/statusnet/statusnet.php:339
-msgid "Allow posting to StatusNet"
-msgstr "Permesi afiŝojn al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:342
-msgid "Send public postings to StatusNet by default"
-msgstr "Defaŭlte sendi publikajn afiŝojn al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:345
-msgid "Send linked #-tags and @-names to StatusNet"
-msgstr "Sendi ligitajn #-etikedojn kaj @-nomon al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:350 ../../addon/twitter/twitter.php:206
-msgid "Clear OAuth configuration"
-msgstr "Forviŝi OAuth agordojn"
-
-#: ../../addon/statusnet/statusnet.php:559
-msgid "API URL"
-msgstr "API URL adreso"
-
-#: ../../addon/infiniteimprobabilitydrive/infiniteimprobabilitydrive.php:19
-msgid "Infinite Improbability Drive"
-msgstr "Senfina Probableca Pelilo"
-
-#: ../../addon/tumblr/tumblr.php:36
-msgid "Post to Tumblr"
-msgstr "Afiŝi al Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:67
-msgid "Tumblr Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:69
-msgid "Enable Tumblr Post Plugin"
-msgstr "Ŝalti la kromprogramon por Tumblr afiŝoj"
-
-#: ../../addon/tumblr/tumblr.php:74
-msgid "Tumblr login"
-msgstr "Salutnomo ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:79
-msgid "Tumblr password"
-msgstr "Pasvorto ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:84
-msgid "Post to Tumblr by default"
-msgstr "Defaŭlte afiŝi ĉe Tumblr"
-
-#: ../../addon/numfriends/numfriends.php:46
-msgid "Numfriends settings updated."
-msgstr "Ĝisdatigis agordojn por Numfriends."
-
-#: ../../addon/numfriends/numfriends.php:77
-msgid "Numfriends Settings"
-msgstr "Agordoj por Numfriends"
-
-#: ../../addon/numfriends/numfriends.php:79
-msgid "How many contacts to display on profile sidebar"
-msgstr "Kiom da kontaktoj mi montru en la flanka strio"
-
-#: ../../addon/gnot/gnot.php:48
-msgid "Gnot settings updated."
-msgstr "Ĝisdatigis Gnot agordojn."
-
-#: ../../addon/gnot/gnot.php:79
-msgid "Gnot Settings"
-msgstr "Agordoj por Gnot"
-
-#: ../../addon/gnot/gnot.php:81
-msgid ""
-"Allows threading of email comment notifications on Gmail and anonymising the"
-" subject line."
-msgstr "Permesas la ĉenadon de retpoŝtaj atentigoj pri komentoj ĉe Gmail kan anonimigado de la temlinio."
-
-#: ../../addon/gnot/gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Ŝalti tiun kromprogramon?"
-
-#: ../../addon/gnot/gnot.php:97
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%d"
-msgstr "[Friendica:Atentigo] Komento pri konversacio #%d"
-
-#: ../../addon/wppost/wppost.php:42
-msgid "Post to Wordpress"
-msgstr "Afiŝi al Wordpress"
-
-#: ../../addon/wppost/wppost.php:76
-msgid "WordPress Post Settings"
-msgstr "Agordoj por WordPress afiŝojn"
-
-#: ../../addon/wppost/wppost.php:78
-msgid "Enable WordPress Post Plugin"
-msgstr "Ŝalti la Wordpress-afiŝo kromprogramon"
-
-#: ../../addon/wppost/wppost.php:83
-msgid "WordPress username"
-msgstr "WordPress salutnomo"
-
-#: ../../addon/wppost/wppost.php:88
-msgid "WordPress password"
-msgstr "WordPress pasvorto"
-
-#: ../../addon/wppost/wppost.php:93
-msgid "WordPress API URL"
-msgstr "Wordpress API URL adreso"
-
-#: ../../addon/wppost/wppost.php:98
-msgid "Post to WordPress by default"
-msgstr "Defaŭlte afiŝi al WordPress"
-
-#: ../../addon/wppost/wppost.php:103
-msgid "Provide a backlink to the Friendica post"
-msgstr "Provizi re-ligilon al la Friendica afiŝo"
-
-#: ../../addon/wppost/wppost.php:207
-msgid "Read the original post and comment stream on Friendica"
-msgstr "Legi la originalan afiŝon kaj komentfluo ĉe Friendica"
-
-#: ../../addon/showmore/showmore.php:38
-msgid "\"Show more\" Settings"
-msgstr "\"Montri pli\" agordoj"
-
-#: ../../addon/showmore/showmore.php:41
-msgid "Enable Show More"
-msgstr "Ŝalti \"montri pli\""
-
-#: ../../addon/showmore/showmore.php:44
-msgid "Cutting posts after how much characters"
-msgstr "Limitigi afiŝojn al kiom da literoj"
-
-#: ../../addon/showmore/showmore.php:65
-msgid "Show More Settings saved."
-msgstr "Konservis \"montri pli\" agordojn."
-
-#: ../../addon/piwik/piwik.php:79
-msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
-"analytics tool."
-msgstr "Ĉi retejo uzas <a href='http://www.piwik.org'>Piwik</a> kiel retuma analizilo."
-
-#: ../../addon/piwik/piwik.php:82
-#, php-format
-msgid ""
-"If you do not want that your visits are logged this way you <a href='%s'>can"
-" set a cookie to prevent Piwik from tracking further visits of the site</a> "
-"(opt-out)."
-msgstr "Se ni ne protokolu viajn vizitojn tiel, vi <a href='%s'>povas agordi kuketon por malpermesi Piwik al plu protokoli pliajn vizitojn</a> (mem-for-elekti / opt-out)."
-
-#: ../../addon/piwik/piwik.php:90
-msgid "Piwik Base URL"
-msgstr "Piwik baza URL adreso"
-
-#: ../../addon/piwik/piwik.php:90
-msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with "
-"trailing slash)"
-msgstr "Absoluta vojo al via Piwik instalo. (sen protokolo (http/s), inkluzive vosta oblikva streketo)"
-
-#: ../../addon/piwik/piwik.php:91
-msgid "Site ID"
-msgstr "Reteja idento"
-
-#: ../../addon/piwik/piwik.php:92
-msgid "Show opt-out cookie link?"
-msgstr "Montru ligilon al kuketo por mem-for-elekti (opt-out)?"
-
-#: ../../addon/piwik/piwik.php:93
-msgid "Asynchronous tracking"
-msgstr "Nesinkrona spurado."
-
-#: ../../addon/twitter/twitter.php:73
-msgid "Post to Twitter"
-msgstr "Afiŝi ĉe Twitter"
-
-#: ../../addon/twitter/twitter.php:122
-msgid "Twitter settings updated."
-msgstr "Ĝisdatigis Twitter agordojn."
-
-#: ../../addon/twitter/twitter.php:146
-msgid "Twitter Posting Settings"
-msgstr "Agordoj por afiŝi ĉe Twitter"
-
-#: ../../addon/twitter/twitter.php:153
-msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
-msgstr "Ne trovis klientajn ŝlosilojn por Twitter. Bonvolu kontakti vian retejan administranton."
-
-#: ../../addon/twitter/twitter.php:172
-msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input"
-" box below and submit the form. Only your <strong>public</strong> posts will"
-" be posted to Twitter."
-msgstr "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. "
-
-#: ../../addon/twitter/twitter.php:173
-msgid "Log in with Twitter"
-msgstr "Ensaluti kun Twitter"
-
-#: ../../addon/twitter/twitter.php:175
-msgid "Copy the PIN from Twitter here"
-msgstr "Alglui la PIN de Twitter ĉi tie"
-
-#: ../../addon/twitter/twitter.php:190
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for"
-" every posting separately in the posting options when writing the entry."
-msgstr "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita Twitter konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin."
-
-#: ../../addon/twitter/twitter.php:192
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to Twitter will lead the visitor to a blank page informing "
-"the visitor that the access to your profile has been restricted."
-msgstr "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al Twitter gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita."
-
-#: ../../addon/twitter/twitter.php:195
-msgid "Allow posting to Twitter"
-msgstr "Permesi afiŝojn al Twitter"
-
-#: ../../addon/twitter/twitter.php:198
-msgid "Send public postings to Twitter by default"
-msgstr "Defaŭlte sendi publikajn afiŝojn al Twitter"
-
-#: ../../addon/twitter/twitter.php:201
-msgid "Send linked #-tags and @-names to Twitter"
-msgstr "Sendi ligitajn #-etikedojn kaj @-nomon al Twitter"
-
-#: ../../addon/twitter/twitter.php:389
-msgid "Consumer key"
-msgstr "Ŝlosilo de Kliento"
-
-#: ../../addon/twitter/twitter.php:390
-msgid "Consumer secret"
-msgstr "Sekreto de Kliento"
-
-#: ../../addon/irc/irc.php:44
-msgid "IRC Settings"
-msgstr "IRC Agordoj"
-
-#: ../../addon/irc/irc.php:46
-msgid "Channel(s) to auto connect (comma separated)"
-msgstr "Aŭtomate konektiĝi al la kanalo(j) (disigita per komo)"
-
-#: ../../addon/irc/irc.php:51
-msgid "Popular Channels (comma separated)"
-msgstr "Popularaj kanaloj (disigita per komo)"
-
-#: ../../addon/irc/irc.php:69
-msgid "IRC settings saved."
-msgstr "IRC agordoj konservitaj."
-
-#: ../../addon/irc/irc.php:74
-msgid "IRC Chatroom"
-msgstr "IRC babilejo"
-
-#: ../../addon/irc/irc.php:96
-msgid "Popular Channels"
-msgstr "Popularaj Kanaloj"
-
-#: ../../addon/blogger/blogger.php:42
-msgid "Post to blogger"
-msgstr "Afiŝi al blogger"
-
-#: ../../addon/blogger/blogger.php:74
-msgid "Blogger Post Settings"
-msgstr "Agordo pri Blogger Afiŝoj"
-
-#: ../../addon/blogger/blogger.php:76
-msgid "Enable Blogger Post Plugin"
-msgstr "Ŝalti la Blogger afiŝo kromprogramon"
-
-#: ../../addon/blogger/blogger.php:81
-msgid "Blogger username"
-msgstr "Blogger uzantonomo"
-
-#: ../../addon/blogger/blogger.php:86
-msgid "Blogger password"
-msgstr "Blogger pasvorto"
-
-#: ../../addon/blogger/blogger.php:91
-msgid "Blogger API URL"
-msgstr "Blogger API URL"
-
-#: ../../addon/blogger/blogger.php:96
-msgid "Post to Blogger by default"
-msgstr "Defaŭlte afiŝi al Blogger"
-
-#: ../../addon/posterous/posterous.php:37
-msgid "Post to Posterous"
-msgstr "Afiŝi al Posterous"
-
-#: ../../addon/posterous/posterous.php:70
-msgid "Posterous Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe Posterous"
-
-#: ../../addon/posterous/posterous.php:72
-msgid "Enable Posterous Post Plugin"
-msgstr "Ŝalti la Poserous-afiŝo kromprogramon"
-
-#: ../../addon/posterous/posterous.php:77
-msgid "Posterous login"
-msgstr "Posterous salutnomo"
-
-#: ../../addon/posterous/posterous.php:82
-msgid "Posterous password"
-msgstr "Posterous pasvorto"
-
-#: ../../addon/posterous/posterous.php:87
-msgid "Posterous site ID"
-msgstr "Idento de Posterous retejo"
-
-#: ../../addon/posterous/posterous.php:92
-msgid "Posterous API token"
-msgstr "API ĵetono de Posterous retejo"
-
-#: ../../addon/posterous/posterous.php:97
-msgid "Post to Posterous by default"
-msgstr "Defaŭlte afiŝi al Posterous"
-
-#: ../../view/theme/cleanzero/config.php:82
-#: ../../view/theme/diabook/config.php:192
-#: ../../view/theme/quattro/config.php:54 ../../view/theme/dispy/config.php:72
-msgid "Theme settings"
-msgstr "Agordoj pri la etoso"
-
-#: ../../view/theme/cleanzero/config.php:83
-msgid "Set resize level for images in posts and comments (width and height)"
-msgstr "Agordi la regrandignivelo por bildoj en afiŝoj kaj komentoj (larĝo kaj alto)"
-
-#: ../../view/theme/cleanzero/config.php:84
-#: ../../view/theme/diabook/config.php:193
-#: ../../view/theme/dispy/config.php:73
-msgid "Set font-size for posts and comments"
-msgstr "Agordi la tiparan grandon por afiŝoj kaj komentoj"
-
-#: ../../view/theme/cleanzero/config.php:85
-msgid "Set theme width"
-msgstr "Agordi la larĝo por la etoso"
-
-#: ../../view/theme/cleanzero/config.php:86
-#: ../../view/theme/quattro/config.php:56
-msgid "Color scheme"
-msgstr "Kolorskemo"
-
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
-#: ../../include/nav.php:115
-msgid "Your posts and conversations"
-msgstr "Viaj afiŝoj kaj komunikadoj"
-
-#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
-msgid "Your profile page"
-msgstr "Via profilo"
-
-#: ../../view/theme/diabook/theme.php:129
-msgid "Your contacts"
-msgstr "Viaj kontaktoj"
-
-#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
-msgid "Your photos"
-msgstr "Viaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
-msgid "Your events"
-msgstr "Viaj okazoj"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Personal notes"
-msgstr "Personaj notoj"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Your personal photos"
-msgstr "Viaj personaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:134
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:747
-#: ../../view/theme/diabook/config.php:201
-msgid "Community Pages"
-msgstr "Komunumaj paĝoj"
-
-#: ../../view/theme/diabook/theme.php:490
-#: ../../view/theme/diabook/theme.php:749
-#: ../../view/theme/diabook/config.php:203
-msgid "Community Profiles"
-msgstr "Komunumaj Profiloj"
-
-#: ../../view/theme/diabook/theme.php:511
-#: ../../view/theme/diabook/theme.php:754
-#: ../../view/theme/diabook/config.php:208
-msgid "Last users"
-msgstr "Ĵusaj uzantoj"
-
-#: ../../view/theme/diabook/theme.php:540
-#: ../../view/theme/diabook/theme.php:756
-#: ../../view/theme/diabook/config.php:210
-msgid "Last likes"
-msgstr "Ĵusaj ŝatitaj elementoj"
-
-#: ../../view/theme/diabook/theme.php:585
-#: ../../view/theme/diabook/theme.php:755
-#: ../../view/theme/diabook/config.php:209
-msgid "Last photos"
-msgstr "Ĵusaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:622
-#: ../../view/theme/diabook/theme.php:752
-#: ../../view/theme/diabook/config.php:206
-msgid "Find Friends"
-msgstr "Trovi Amikojn"
-
-#: ../../view/theme/diabook/theme.php:623
-msgid "Local Directory"
-msgstr "Loka Katalogo"
-
-#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
-msgid "Similar Interests"
-msgstr "Similaj Interesoj"
-
-#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
-msgid "Invite Friends"
-msgstr "Inviti amikojn"
-
-#: ../../view/theme/diabook/theme.php:678
-#: ../../view/theme/diabook/theme.php:748
-#: ../../view/theme/diabook/config.php:202
-msgid "Earth Layers"
-msgstr "Tertavoloj (Earth Layers)"
-
-#: ../../view/theme/diabook/theme.php:683
-msgid "Set zoomfactor for Earth Layers"
-msgstr "Agordi zoman faktoron por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:684
-#: ../../view/theme/diabook/config.php:199
-msgid "Set longitude (X) for Earth Layers"
-msgstr "Agordi longitudon (X) por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:685
-#: ../../view/theme/diabook/config.php:200
-msgid "Set latitude (Y) for Earth Layers"
-msgstr "Agordi latitudon (Y) por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:698
-#: ../../view/theme/diabook/theme.php:750
-#: ../../view/theme/diabook/config.php:204
-msgid "Help or @NewHere ?"
-msgstr "Helpu aŭ @NewHere ?"
-
-#: ../../view/theme/diabook/theme.php:705
-#: ../../view/theme/diabook/theme.php:751
-#: ../../view/theme/diabook/config.php:205
-msgid "Connect Services"
-msgstr "Konekti Servojn"
-
-#: ../../view/theme/diabook/theme.php:712
-#: ../../view/theme/diabook/theme.php:753
-msgid "Last Tweets"
-msgstr "Ĵusaj Pepaĵoj"
-
-#: ../../view/theme/diabook/theme.php:715
-#: ../../view/theme/diabook/config.php:197
-msgid "Set twitter search term"
-msgstr "Agordi Twitter serĉtekston"
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
-msgid "don't show"
-msgstr "kaŝi"
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
-msgid "show"
-msgstr "montri"
-
-#: ../../view/theme/diabook/theme.php:745
-msgid "Show/hide boxes at right-hand column:"
-msgstr "Kaŝi/montri kestojn ĉe dekstra kolumno:"
-
-#: ../../view/theme/diabook/config.php:194
-#: ../../view/theme/dispy/config.php:74
-msgid "Set line-height for posts and comments"
-msgstr "Agordi la linigrandon por afiŝoj kaj komentoj"
-
-#: ../../view/theme/diabook/config.php:195
-msgid "Set resolution for middle column"
-msgstr "Agordi la distingivon por la meza kolumno"
-
-#: ../../view/theme/diabook/config.php:196
-msgid "Set color scheme"
-msgstr "Agordi Kolorskemon"
-
-#: ../../view/theme/diabook/config.php:198
-msgid "Set zoomfactor for Earth Layer"
-msgstr "Agordi zoman faktoron de Tertavolo"
-
-#: ../../view/theme/diabook/config.php:207
-msgid "Last tweets"
-msgstr "Ĵusaj pepaĵoj"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Alignment"
-msgstr "Ĝisrandigo"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Left"
-msgstr "Maldekstren"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Center"
-msgstr "Centren"
-
-#: ../../view/theme/dispy/config.php:75
-msgid "Set colour scheme"
-msgstr "Agordi Kolorskemon"
-
-#: ../../include/profile_advanced.php:17 ../../boot.php:1138
-msgid "Gender:"
-msgstr "Sekso:"
-
-#: ../../include/profile_advanced.php:22
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/profile_advanced.php:23
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/profile_advanced.php:30
-msgid "Birthday:"
-msgstr "Naskiĝtago:"
-
-#: ../../include/profile_advanced.php:34
-msgid "Age:"
-msgstr "Aĝo:"
-
-#: ../../include/profile_advanced.php:37 ../../boot.php:1141
-msgid "Status:"
-msgstr "Stato:"
-
-#: ../../include/profile_advanced.php:43
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "por %1$d %2$s"
-
-#: ../../include/profile_advanced.php:48 ../../boot.php:1143
-msgid "Homepage:"
-msgstr "Hejmpaĝo:"
-
-#: ../../include/profile_advanced.php:52
-msgid "Tags:"
-msgstr "Markoj:"
-
-#: ../../include/profile_advanced.php:56
-msgid "Religion:"
-msgstr "Religio:"
-
-#: ../../include/profile_advanced.php:58
-msgid "About:"
-msgstr "Pri:"
-
-#: ../../include/profile_advanced.php:60
-msgid "Hobbies/Interests:"
-msgstr "Ŝatokupoj/Interesoj:"
-
-#: ../../include/profile_advanced.php:67
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformoj kaj Interkonaj Retejoj:"
-
-#: ../../include/profile_advanced.php:69
-msgid "Musical interests:"
-msgstr "Muzaikaj interesoj:"
-
-#: ../../include/profile_advanced.php:71
-msgid "Books, literature:"
-msgstr "Libroj, literaturo:"
-
-#: ../../include/profile_advanced.php:73
-msgid "Television:"
-msgstr "Televido:"
-
-#: ../../include/profile_advanced.php:75
-msgid "Film/dance/culture/entertainment:"
-msgstr "Filmoj/dancoj/arto/amuzaĵoj:"
-
-#: ../../include/profile_advanced.php:77
-msgid "Love/Romance:"
-msgstr "Amo/romanco:"
-
-#: ../../include/profile_advanced.php:79
-msgid "Work/employment:"
-msgstr "Laboro:"
-
-#: ../../include/profile_advanced.php:81
-msgid "School/education:"
-msgstr "Lernejo/eduko:"
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Nekonata | Nekatorigita"
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Bloki tuj"
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "Suspekta, spamisto, memmerkatisto"
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Konata al mi, sed mi ne havas opinion"
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "OK, verŝajne sendanĝera"
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Fidinda laŭ mi"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Ofte"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ĉiuhore"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Duope ĉiutage"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ĉiutage"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ĉiusemajne"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ĉiumonate"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/Tujmesaĝilo"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/profile_selectors.php:6
-msgid "Male"
-msgstr "Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Female"
-msgstr "Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Nuntempe Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Nuntempe Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Ĉefe Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Ĉefe Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgenra"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Interseksa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transseksa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodita"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neŭtra"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Nespecifa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Alia"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Nedecida"
-
-#: ../../include/profile_selectors.php:23
-msgid "Males"
-msgstr "Viroj"
-
-#: ../../include/profile_selectors.php:23
-msgid "Females"
-msgstr "Inoj"
-
-#: ../../include/profile_selectors.php:23
-msgid "Gay"
-msgstr "Geja"
-
-#: ../../include/profile_selectors.php:23
-msgid "Lesbian"
-msgstr "Lesba"
-
-#: ../../include/profile_selectors.php:23
-msgid "No Preference"
-msgstr "Neniu Prefero"
-
-#: ../../include/profile_selectors.php:23
-msgid "Bisexual"
-msgstr "Ambaŭseksema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Autosexual"
-msgstr "Memseksema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Abstinent"
-msgstr "Abstinema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Virgin"
-msgstr "Virgulino"
-
-#: ../../include/profile_selectors.php:23
-msgid "Deviant"
-msgstr "Devia"
-
-#: ../../include/profile_selectors.php:23
-msgid "Fetish"
-msgstr "Fetiĉo"
-
-#: ../../include/profile_selectors.php:23
-msgid "Oodles"
-msgstr "Amasa"
-
-#: ../../include/profile_selectors.php:23
-msgid "Nonsexual"
-msgstr "Neseksa"
-
-#: ../../include/profile_selectors.php:42
-msgid "Single"
-msgstr "Sola"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lonely"
-msgstr "Soleca"
-
-#: ../../include/profile_selectors.php:42
-msgid "Available"
-msgstr "Havebla"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unavailable"
-msgstr "Nehavebla"
-
-#: ../../include/profile_selectors.php:42
-msgid "Has crush"
-msgstr "Sekrete enamiĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Infatuated"
-msgstr "Blinda amo"
-
-#: ../../include/profile_selectors.php:42
-msgid "Dating"
-msgstr "Rendevuanta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unfaithful"
-msgstr "Malfidela"
-
-#: ../../include/profile_selectors.php:42
-msgid "Sex Addict"
-msgstr "Seksmaniulo"
-
-#: ../../include/profile_selectors.php:42 ../../include/user.php:278
-msgid "Friends"
-msgstr "Amikoj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Friends/Benefits"
-msgstr "Amikoj/Avantaĝoj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Casual"
-msgstr "Neformala"
-
-#: ../../include/profile_selectors.php:42
-msgid "Engaged"
-msgstr "Fianĉiginta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Married"
-msgstr "Edziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily married"
-msgstr "Image edziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Partners"
-msgstr "Geparuloj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Cohabiting"
-msgstr "Kunloĝanta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Common law"
-msgstr "Registrita partnereco "
-
-#: ../../include/profile_selectors.php:42
-msgid "Happy"
-msgstr "Feliĉa"
-
-#: ../../include/profile_selectors.php:42
-msgid "Not looking"
-msgstr "Ne interesiĝis"
-
-#: ../../include/profile_selectors.php:42
-msgid "Swinger"
-msgstr "Swinger"
-
-#: ../../include/profile_selectors.php:42
-msgid "Betrayed"
-msgstr "Trompita"
-
-#: ../../include/profile_selectors.php:42
-msgid "Separated"
-msgstr "Disiĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unstable"
-msgstr "Malfirma"
-
-#: ../../include/profile_selectors.php:42
-msgid "Divorced"
-msgstr "Eksedziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily divorced"
-msgstr "Image eksedziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Widowed"
-msgstr "Vidva"
-
-#: ../../include/profile_selectors.php:42
-msgid "Uncertain"
-msgstr "Ne certa"
-
-#: ../../include/profile_selectors.php:42
-msgid "It's complicated"
-msgstr "Estas komplika"
-
-#: ../../include/profile_selectors.php:42
-msgid "Don't care"
-msgstr "Egala"
-
-#: ../../include/profile_selectors.php:42
-msgid "Ask me"
-msgstr "Demandu min"
-
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:341
-msgid "Starts:"
-msgstr "Ekas:"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:349
-msgid "Finishes:"
-msgstr "Finas:"
-
-#: ../../include/delivery.php:456 ../../include/notifier.php:678
-msgid "(no subject)"
-msgstr "(neniu temo)"
-
-#: ../../include/delivery.php:463 ../../include/enotify.php:26
-#: ../../include/notifier.php:685
-msgid "noreply"
-msgstr "nerespondi"
-
-#: ../../include/Scrape.php:572
-msgid " on Last.fm"
-msgstr " ĉe Last.fm"
-
-#: ../../include/text.php:243
-msgid "prev"
-msgstr "antaŭa"
-
-#: ../../include/text.php:245
-msgid "first"
-msgstr "unua"
-
-#: ../../include/text.php:274
-msgid "last"
-msgstr "lasta"
-
-#: ../../include/text.php:277
-msgid "next"
-msgstr "sekvanta"
-
-#: ../../include/text.php:568
-msgid "No contacts"
-msgstr "Neniu kontaktoj"
-
-#: ../../include/text.php:577
-#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d Kontakto"
-msgstr[1] "%d Kontaktoj"
-
-#: ../../include/text.php:835
-msgid "Monday"
-msgstr "Lundo"
-
-#: ../../include/text.php:835
-msgid "Tuesday"
-msgstr "Mardo"
-
-#: ../../include/text.php:835
-msgid "Wednesday"
-msgstr "Merkredo"
-
-#: ../../include/text.php:835
-msgid "Thursday"
-msgstr "Ĵaŭdo"
-
-#: ../../include/text.php:835
-msgid "Friday"
-msgstr "Vendredo"
-
-#: ../../include/text.php:835
-msgid "Saturday"
-msgstr "Sabato"
-
-#: ../../include/text.php:835
-msgid "Sunday"
-msgstr "Dimanĉo"
-
-#: ../../include/text.php:839
-msgid "January"
-msgstr "Januaro"
-
-#: ../../include/text.php:839
-msgid "February"
-msgstr "Februaro"
-
-#: ../../include/text.php:839
-msgid "March"
-msgstr "Marto"
-
-#: ../../include/text.php:839
-msgid "April"
-msgstr "Aprilo"
-
-#: ../../include/text.php:839
-msgid "May"
-msgstr "Majo"
-
-#: ../../include/text.php:839
-msgid "June"
-msgstr "Junio"
-
-#: ../../include/text.php:839
-msgid "July"
-msgstr "Julio"
-
-#: ../../include/text.php:839
-msgid "August"
-msgstr "Aŭgusto"
-
-#: ../../include/text.php:839
-msgid "September"
-msgstr "Septembro"
-
-#: ../../include/text.php:839
-msgid "October"
-msgstr "Oktobro"
-
-#: ../../include/text.php:839
-msgid "November"
-msgstr "Novembro"
-
-#: ../../include/text.php:839
-msgid "December"
-msgstr "Decembro"
-
-#: ../../include/text.php:925
-msgid "bytes"
-msgstr "bajtoj"
-
-#: ../../include/text.php:945 ../../include/text.php:960
-msgid "remove"
-msgstr "forviŝi"
-
-#: ../../include/text.php:945 ../../include/text.php:960
-msgid "[remove]"
-msgstr "[forviŝi]"
-
-#: ../../include/text.php:948
-msgid "Categories:"
-msgstr "Kategorioj:"
-
-#: ../../include/text.php:963
-msgid "Filed under:"
-msgstr "Enarkivigita kiel:"
-
-#: ../../include/text.php:979 ../../include/text.php:991
-msgid "Click to open/close"
-msgstr "Klaku por malfermi/fermi"
-
-#: ../../include/text.php:1097 ../../include/user.php:236
-msgid "default"
-msgstr "defaŭlta"
-
-#: ../../include/text.php:1109
-msgid "Select an alternate language"
-msgstr "Elekti alian lingvon"
-
-#: ../../include/text.php:1319
-msgid "activity"
-msgstr "aktiveco"
-
-#: ../../include/text.php:1321
-msgid "comment"
-msgstr "komento"
-
-#: ../../include/text.php:1322
-msgid "post"
-msgstr "afiŝo"
-
-#: ../../include/text.php:1477
-msgid "Item filed"
-msgstr "Enarkivigis elementon "
-
-#: ../../include/diaspora.php:593
-msgid "Sharing notification from Diaspora network"
-msgstr "Antentigo pri kunhavigado de la Diaspora reto"
-
-#: ../../include/diaspora.php:2085
-msgid "Attachments:"
-msgstr "Kunsendaĵoj:"
-
-#: ../../include/network.php:839
-msgid "view full size"
-msgstr "vidi plengrande"
-
-#: ../../include/oembed.php:135
-msgid "Embedded content"
-msgstr "Enigita enhavo"
-
-#: ../../include/oembed.php:144
-msgid "Embedding disabled"
-msgstr "Malŝaltita enigitado"
-
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Revivigis malnovan grupon kun la sama nomo. Permesoj por estantaj elementoj <strong>eble</strong> estas validaj por la grupo kaj estontaj membroj. Se tiu ne estas kiun vi atendis, bonvolu krei alian grupon kun alia nomo."
-
-#: ../../include/group.php:176
-msgid "Default privacy group for new contacts"
-msgstr "Defaŭlta privateca grupo por novaj kontaktoj"
-
-#: ../../include/group.php:195
-msgid "Everybody"
-msgstr "Ĉiuj"
-
-#: ../../include/group.php:218
-msgid "edit"
-msgstr "redakti"
-
-#: ../../include/group.php:239
-msgid "Groups"
-msgstr "Grupoj"
-
-#: ../../include/group.php:240
-msgid "Edit group"
-msgstr "Redakti grupon"
-
-#: ../../include/group.php:241
-msgid "Create a new group"
-msgstr "Krei novan grupon"
-
-#: ../../include/group.php:242
-msgid "Contacts not in any group"
-msgstr "Kontaktoj en neniu grupo"
-
-#: ../../include/nav.php:46 ../../boot.php:848
-msgid "Logout"
-msgstr "Elsaluti"
-
-#: ../../include/nav.php:46
-msgid "End this session"
-msgstr "Fini ĉi-tiun seancon"
-
-#: ../../include/nav.php:49 ../../boot.php:1538
-msgid "Status"
-msgstr "Stato"
-
-#: ../../include/nav.php:64
-msgid "Sign in"
-msgstr "Ensaluti"
-
-#: ../../include/nav.php:77
-msgid "Home Page"
-msgstr "Hejmpaĝo"
-
-#: ../../include/nav.php:81
-msgid "Create an account"
-msgstr "Krei konton"
-
-#: ../../include/nav.php:86
-msgid "Help and documentation"
-msgstr "Helpo kaj dokumentado"
-
-#: ../../include/nav.php:89
-msgid "Apps"
-msgstr "Programoj"
-
-#: ../../include/nav.php:89
-msgid "Addon applications, utilities, games"
-msgstr "Kromprogramoj, utilaĵoj, ludiloj"
-
-#: ../../include/nav.php:91
-msgid "Search site content"
-msgstr "Serĉu la retejon"
-
-#: ../../include/nav.php:101
-msgid "Conversations on this site"
-msgstr "Konversacioj je ĉi-tiu retejo"
-
-#: ../../include/nav.php:103
-msgid "Directory"
-msgstr "Katalogo"
-
-#: ../../include/nav.php:103
-msgid "People directory"
-msgstr "Katalogo de homoj"
-
-#: ../../include/nav.php:113
-msgid "Conversations from your friends"
-msgstr "Konversacioj de viaj amikoj"
-
-#: ../../include/nav.php:121
-msgid "Friend Requests"
-msgstr "Kontaktpetoj"
-
-#: ../../include/nav.php:123
-msgid "See all notifications"
-msgstr "Vidu ĉiujn atentigojn"
-
-#: ../../include/nav.php:124
-msgid "Mark all system notifications seen"
-msgstr "Marki ĉiujn atentigojn legita"
-
-#: ../../include/nav.php:128
-msgid "Private mail"
-msgstr "Privata poŝto"
-
-#: ../../include/nav.php:129
-msgid "Inbox"
-msgstr "Enirkesto"
-
-#: ../../include/nav.php:130
-msgid "Outbox"
-msgstr "Elirkesto"
-
-#: ../../include/nav.php:134
-msgid "Manage"
-msgstr "Administri"
-
-#: ../../include/nav.php:134
-msgid "Manage other pages"
-msgstr "Administri aliajn paĝojn"
-
-#: ../../include/nav.php:138 ../../boot.php:1096
-msgid "Profiles"
-msgstr "Profiloj"
-
-#: ../../include/nav.php:138 ../../boot.php:1096
-msgid "Manage/edit profiles"
-msgstr "Administri/redakti profilojn"
-
-#: ../../include/nav.php:139
-msgid "Manage/edit friends and contacts"
-msgstr "Administri/redakti amikojn kaj kontaktojn"
-
-#: ../../include/nav.php:146
-msgid "Site setup and configuration"
-msgstr "Agordoj pri la retejo"
-
-#: ../../include/nav.php:170
-msgid "Nothing new here"
-msgstr "Estas neniu nova ĉi tie"
-
-#: ../../include/contact_widgets.php:6
-msgid "Add New Contact"
-msgstr "Aldonu Novan Kontakton"
-
-#: ../../include/contact_widgets.php:7
-msgid "Enter address or web location"
-msgstr "Entajpu adreson aŭ retlokon"
-
-#: ../../include/contact_widgets.php:8
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Ekzemple: bob@example.com, http://example.com/barbara"
-
-#: ../../include/contact_widgets.php:23
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "Disponeblas %d invito"
-msgstr[1] "Disponeblas %d invitoj"
-
-#: ../../include/contact_widgets.php:29
-msgid "Find People"
-msgstr "Trovi Homojn"
-
-#: ../../include/contact_widgets.php:30
-msgid "Enter name or interest"
-msgstr "Entajpu nomon aŭ intereson"
-
-#: ../../include/contact_widgets.php:31
-msgid "Connect/Follow"
-msgstr "Konekti/Aboni"
-
-#: ../../include/contact_widgets.php:32
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Ekzemple: Robert Morgenstein, Fishing"
-
-#: ../../include/contact_widgets.php:36
-msgid "Random Profile"
-msgstr "Hazarda Profilo"
-
-#: ../../include/contact_widgets.php:68
-msgid "Networks"
-msgstr "Retoj"
-
-#: ../../include/contact_widgets.php:71
-msgid "All Networks"
-msgstr "Ĉiuj Retoj"
-
-#: ../../include/contact_widgets.php:98
-msgid "Saved Folders"
-msgstr "Konservitaj Dosierujoj"
-
-#: ../../include/contact_widgets.php:101 ../../include/contact_widgets.php:129
-msgid "Everything"
-msgstr "Ĉio"
-
-#: ../../include/contact_widgets.php:126
-msgid "Categories"
-msgstr "Kategorioj"
-
-#: ../../include/auth.php:36
-msgid "Logged out."
-msgstr "Elsalutita."
-
-#: ../../include/auth.php:115
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Okazis problemo ensalutinta kun via OpenID. Bonvolu kontroli la ID."
-
-#: ../../include/auth.php:115
-msgid "The error message was:"
-msgstr "La erarmesaĝo estis:"
-
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Diversaj"
-
-#: ../../include/datetime.php:131 ../../include/datetime.php:263
-msgid "year"
-msgstr "jaro"
-
-#: ../../include/datetime.php:136 ../../include/datetime.php:264
-msgid "month"
-msgstr "monato"
-
-#: ../../include/datetime.php:141 ../../include/datetime.php:266
-msgid "day"
-msgstr "tago"
-
-#: ../../include/datetime.php:254
-msgid "never"
-msgstr "neniam"
-
-#: ../../include/datetime.php:260
-msgid "less than a second ago"
-msgstr "antaŭ malpli ol unu sekundo"
-
-#: ../../include/datetime.php:263
-msgid "years"
-msgstr "jaroj"
-
-#: ../../include/datetime.php:264
-msgid "months"
-msgstr "monatoj"
-
-#: ../../include/datetime.php:265
-msgid "week"
-msgstr "semajno"
-
-#: ../../include/datetime.php:265
-msgid "weeks"
-msgstr "semajnoj"
-
-#: ../../include/datetime.php:266
-msgid "days"
-msgstr "tagoj"
-
-#: ../../include/datetime.php:267
-msgid "hour"
-msgstr "horo"
-
-#: ../../include/datetime.php:267
-msgid "hours"
-msgstr "horoj"
-
-#: ../../include/datetime.php:268
-msgid "minute"
-msgstr "minuto"
-
-#: ../../include/datetime.php:268
-msgid "minutes"
-msgstr "minutoj"
-
-#: ../../include/datetime.php:269
-msgid "second"
-msgstr "sekundo"
-
-#: ../../include/datetime.php:269
-msgid "seconds"
-msgstr "sekundoj"
-
-#: ../../include/datetime.php:278
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "antaŭ %1$d %2$s"
-
-#: ../../include/datetime.php:450 ../../include/items.php:1460
-#, php-format
-msgid "%s's birthday"
-msgstr "Naskiĝtago de %s"
-
-#: ../../include/datetime.php:451 ../../include/items.php:1461
-#, php-format
-msgid "Happy Birthday %s"
-msgstr "Feliĉan Naskiĝtagon al %s"
-
-#: ../../include/onepoll.php:399
-msgid "From: "
-msgstr "De: "
-
-#: ../../include/bbcode.php:216 ../../include/bbcode.php:236
-msgid "$1 wrote:"
-msgstr "$1 skribis:"
-
-#: ../../include/bbcode.php:251 ../../include/bbcode.php:328
-msgid "Image/photo"
-msgstr "Bildo"
-
-#: ../../include/dba.php:41
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Ne trovis DNS informojn por datumbaza servilo '%s'."
-
-#: ../../include/message.php:15 ../../include/message.php:171
-msgid "[no subject]"
-msgstr "[neniu temo]"
-
-#: ../../include/acl_selectors.php:286
-msgid "Visible to everybody"
-msgstr "Videbla al ĉiuj"
-
-#: ../../include/enotify.php:14
-msgid "Friendica Notification"
-msgstr "Friendica Atentigo"
-
-#: ../../include/enotify.php:17
-msgid "Thank You,"
-msgstr "Dankon,"
-
-#: ../../include/enotify.php:19
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Administranto"
-
-#: ../../include/enotify.php:38
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:42
-#, php-format
-msgid "[Friendica:Notify] New mail received at %s"
-msgstr "[Friendica:Atentigo] Ricevis novan retpoŝton ĉe %s"
-
-#: ../../include/enotify.php:44
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
-msgstr "%1$s sendis al vi novan privatan mesaĝon ĉe %2$s."
-
-#: ../../include/enotify.php:45
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s sendis al vi %2$s."
-
-#: ../../include/enotify.php:45
-msgid "a private message"
-msgstr "privatan mesaĝon"
-
-#: ../../include/enotify.php:46
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bonvolu viziti %s por vidi aŭ respondi viajn privatajn mesaĝojn."
-
-#: ../../include/enotify.php:73
-#, php-format
-msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]%3$s[/url]"
-
-#: ../../include/enotify.php:80
-#, php-format
-msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]%4$s de %3$s[/url]"
-
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]via %3$s[/url]"
-
-#: ../../include/enotify.php:98
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Friendica:Atentigo] Komento pri konversacio #%1$d de %2$s"
-
-#: ../../include/enotify.php:99
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
-msgstr "%s komentis pri elemento/konversacio kiun vi sekvas."
-
-#: ../../include/enotify.php:102 ../../include/enotify.php:117
-#: ../../include/enotify.php:130 ../../include/enotify.php:143
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bonvolu viziti %s por vidi aŭ respondi la konversacion."
-
-#: ../../include/enotify.php:109
-#, php-format
-msgid "[Friendica:Notify] %s posted to your profile wall"
-msgstr "[Friendica:Atentigo] %s afiŝis al via profilmuro"
-
-#: ../../include/enotify.php:111
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
-msgstr "%1$s skribis al via profilmuro ĉe %2$s"
-
-#: ../../include/enotify.php:113
-#, php-format
-msgid "%1$s posted to [url=%2s]your wall[/url]"
-msgstr "%1$s afiŝis al [url=%2s]via muro[/url]"
-
-#: ../../include/enotify.php:124
-#, php-format
-msgid "[Friendica:Notify] %s tagged you"
-msgstr "[Friendica:Atentigo] %s markis vin"
-
-#: ../../include/enotify.php:125
-#, php-format
-msgid "%1$s tagged you at %2$s"
-msgstr "%1$s markis vin ĉe %2$s"
-
-#: ../../include/enotify.php:126
-#, php-format
-msgid "%1$s [url=%2$s]tagged you[/url]."
-msgstr "%1$s [url=%2$s]markis vin[/url]."
-
-#: ../../include/enotify.php:137
-#, php-format
-msgid "[Friendica:Notify] %s tagged your post"
-msgstr "[Friendica:Atentigo] %s markis vian afiŝon"
-
-#: ../../include/enotify.php:138
-#, php-format
-msgid "%1$s tagged your post at %2$s"
-msgstr "%1$s markis vian afiŝon ĉe %2$s"
-
-#: ../../include/enotify.php:139
-#, php-format
-msgid "%1$s tagged [url=%2$s]your post[/url]"
-msgstr "%1$s markis [url=%2$s]vian afiŝon[/url]"
-
-#: ../../include/enotify.php:150
-msgid "[Friendica:Notify] Introduction received"
-msgstr "[Friendica:Atentigo] Ricevis prezenton"
-
-#: ../../include/enotify.php:151
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
-msgstr "Vi ricevis prezenton de '%1$s' ĉe %2$s"
-
-#: ../../include/enotify.php:152
-#, php-format
-msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
-msgstr "Vi ricevis [url=%1$s]prezenton[/url] de %2$s."
-
-#: ../../include/enotify.php:155 ../../include/enotify.php:173
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Vi povas vidi la profilon de li aŭ ŝi ĉe %s"
-
-#: ../../include/enotify.php:157
-#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr "Bonvolu viziti %s por aprobi aŭ malaprobi la prezenton."
-
-#: ../../include/enotify.php:164
-msgid "[Friendica:Notify] Friend suggestion received"
-msgstr "[Friendica:Atentigo] Ricevis amikosugeston"
-
-#: ../../include/enotify.php:165
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
-msgstr "Vi ricevis amikosugeston de '%1$s' ĉe %2$s"
-
-#: ../../include/enotify.php:166
-#, php-format
-msgid ""
-"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
-msgstr "Vi ricevis [url=%1$s]amikosugeston[/url] pri %2$s de %3$s."
-
-#: ../../include/enotify.php:171
-msgid "Name:"
-msgstr "Nomo:"
-
-#: ../../include/enotify.php:172
-msgid "Photo:"
-msgstr "Bildo:"
-
-#: ../../include/enotify.php:175
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bonvolu viziti %s por aprobi aŭ malaprobi la sugeston."
-
-#: ../../include/follow.php:32
-msgid "Connect URL missing."
-msgstr "Ne ekzistas URL adreso por konekti."
-
-#: ../../include/follow.php:59
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr "Tiu retpaĝo ne permesas komunikadon kun aliaj retoj."
-
-#: ../../include/follow.php:60 ../../include/follow.php:80
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Ne malkovris kongruajn protokolojn por komunikado aŭ fluojn."
-
-#: ../../include/follow.php:78
-msgid "The profile address specified does not provide adequate information."
-msgstr "La specifita profiladreso ne enhavas sufiĉe da informoj."
-
-#: ../../include/follow.php:82
-msgid "An author or name was not found."
-msgstr "Ne trovis aŭtoron aŭ nomon."
-
-#: ../../include/follow.php:84
-msgid "No browser URL could be matched to this address."
-msgstr "Neniu retuma URL adreso kongruas al la adreso."
-
-#: ../../include/follow.php:86
-msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
-msgstr "Ne eblas kongrui @-stilan identecon adreson al iu konata protokolo au retpoŝtadreso."
-
-#: ../../include/follow.php:87
-msgid "Use mailto: in front of address to force email check."
-msgstr "Uzu mailto: antaŭ la adreso por devigi la testadon per retpoŝto."
-
-#: ../../include/follow.php:93
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr "Tiu profila adreso apartenas al retejo kiu estas maŝaltita je ĉi tiu retejo."
-
-#: ../../include/follow.php:103
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr "Profilo limigata. Ĉi persono ne eblos ricevi rektajn/personajn atentigojn de vi. "
-
-#: ../../include/follow.php:205
-msgid "Unable to retrieve contact information."
-msgstr "Ne eblas ricevi kontaktinformojn."
-
-#: ../../include/follow.php:259
-msgid "following"
-msgstr "sekvanta"
-
-#: ../../include/items.php:2888
-msgid "A new person is sharing with you at "
-msgstr "Nova persono kunhavigas kun vi ĉe "
-
-#: ../../include/items.php:2888
-msgid "You have a new follower at "
-msgstr "Vi havas novan sekvanton ĉe "
-
-#: ../../include/items.php:3520
-msgid "Archives"
-msgstr "Arkivoj"
-
-#: ../../include/user.php:38
-msgid "An invitation is required."
-msgstr "Invio bezonata."
-
-#: ../../include/user.php:43
-msgid "Invitation could not be verified."
-msgstr "Ne povis kontroli la inviton."
-
-#: ../../include/user.php:51
-msgid "Invalid OpenID url"
-msgstr "Nevalida OpenID adreso"
-
-#: ../../include/user.php:66
-msgid "Please enter the required information."
-msgstr "Bonvolu entajpi la bezonatajn informojn."
-
-#: ../../include/user.php:80
-msgid "Please use a shorter name."
-msgstr "Bonvolu uzi pli mallongan nomon."
-
-#: ../../include/user.php:82
-msgid "Name too short."
-msgstr "Nomo estas tro mallonga."
-
-#: ../../include/user.php:97
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Tio ŝajne ne estas via plena (persona, familia) nomo."
-
-#: ../../include/user.php:102
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Via retpoŝtodomajno ne estas permesita ĉi tie."
-
-#: ../../include/user.php:105
-msgid "Not a valid email address."
-msgstr "Nevalida retpoŝtadreso."
-
-#: ../../include/user.php:115
-msgid "Cannot use that email."
-msgstr "Neuzebla retpoŝtadreso."
-
-#: ../../include/user.php:121
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr "Via kaŝnomo nur povas enhavi \"a-z\", \"0-9\", \"-\", kaj \"_\". Ĝi ankaŭ devas komenci kun litero."
-
-#: ../../include/user.php:127 ../../include/user.php:225
-msgid "Nickname is already registered. Please choose another."
-msgstr "Tio kaŝnomo jam estas registrita. Bonvolu elekti alian."
-
-#: ../../include/user.php:137
-msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr "Tiu kaŝnomo iam estis registrita ĉi tie kaj ne ree uzeblas. Bonvolu elekti alian."
-
-#: ../../include/user.php:153
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "GRAVA ERARO: La generacio de sekurecaj ĉifroŝlosiloj malsukcesis."
-
-#: ../../include/user.php:211
-msgid "An error occurred during registration. Please try again."
-msgstr "Eraro okazis dum registrado. Bonvolu provi denove."
-
-#: ../../include/user.php:246
-msgid "An error occurred creating your default profile. Please try again."
-msgstr "Eraro okazi dum kreado de via defaŭlta profilo. Bonvolu provi denove."
-
-#: ../../include/security.php:21
-msgid "Welcome "
-msgstr "Bonvenon "
-
-#: ../../include/security.php:22
-msgid "Please upload a profile photo."
-msgstr "Bonvolu alŝuti profilbildon."
-
-#: ../../include/security.php:25
-msgid "Welcome back "
-msgstr "Bonvenon "
-
-#: ../../include/security.php:329
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "La sekuriga ĵetono de la formo estis malĝusta. Tio verŝajne okazis ĉar la formo estis malfermita dum tro longa tempo (>3 horoj) antaŭ la sendado."
-
-#: ../../include/Contact.php:111
-msgid "stopped following"
-msgstr "ne plu sekvas"
-
-#: ../../include/Contact.php:218 ../../include/conversation.php:842
-msgid "View Status"
-msgstr "Vidi Staton"
-
-#: ../../include/Contact.php:219 ../../include/conversation.php:843
-msgid "View Profile"
-msgstr "Vidi Profilon"
-
-#: ../../include/Contact.php:220 ../../include/conversation.php:844
-msgid "View Photos"
-msgstr "Vidi Bildojn"
-
-#: ../../include/Contact.php:221 ../../include/Contact.php:234
-#: ../../include/conversation.php:845
-msgid "Network Posts"
-msgstr "Enretaj Afiŝoj"
-
-#: ../../include/Contact.php:222 ../../include/Contact.php:234
-#: ../../include/conversation.php:846
-msgid "Edit Contact"
-msgstr "Redakti Kontakton"
-
-#: ../../include/Contact.php:223 ../../include/Contact.php:234
-#: ../../include/conversation.php:847
-msgid "Send PM"
-msgstr "Sendi PM"
-
-#: ../../include/conversation.php:163
-msgid "post/item"
-msgstr "afiŝo/elemento"
-
-#: ../../include/conversation.php:164
-#, php-format
-msgid "%1$s marked %2$s's %3$s as favorite"
-msgstr "%1$s markis la %3$s de %2$s kiel preferita."
-
-#: ../../include/conversation.php:327 ../../include/conversation.php:608
-msgid "Select"
-msgstr "Elekti"
-
-#: ../../include/conversation.php:344 ../../include/conversation.php:701
-#: ../../include/conversation.php:702
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vidi la profilon de %s ĉe %s"
-
-#: ../../include/conversation.php:354 ../../include/conversation.php:713
-#, php-format
-msgid "%s from %s"
-msgstr "%s de %s"
-
-#: ../../include/conversation.php:369
-msgid "View in context"
-msgstr "Vidi kun kunteksto"
-
-#: ../../include/conversation.php:475
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d komento"
-msgstr[1] "%d komentoj"
-
-#: ../../include/conversation.php:554
-msgid "like"
-msgstr "ŝati"
-
-#: ../../include/conversation.php:555
-msgid "dislike"
-msgstr "malŝati"
-
-#: ../../include/conversation.php:557
-msgid "Share this"
-msgstr "Kunhavigi ĉi tiun"
-
-#: ../../include/conversation.php:557
-msgid "share"
-msgstr "kunhavigi"
-
-#: ../../include/conversation.php:581
-msgid "Bold"
-msgstr "Grasa"
-
-#: ../../include/conversation.php:582
-msgid "Italic"
-msgstr "Kursiva"
-
-#: ../../include/conversation.php:583
-msgid "Underline"
-msgstr "Substreki"
-
-#: ../../include/conversation.php:584
-msgid "Quote"
-msgstr "Citaĵo"
-
-#: ../../include/conversation.php:585
-msgid "Code"
-msgstr "Kodo"
-
-#: ../../include/conversation.php:586
-msgid "Image"
-msgstr "Bildo"
-
-#: ../../include/conversation.php:587
-msgid "Link"
-msgstr "Ligilo"
-
-#: ../../include/conversation.php:588
-msgid "Video"
-msgstr "Video"
-
-#: ../../include/conversation.php:621
-msgid "add star"
-msgstr "aldoni stelon"
-
-#: ../../include/conversation.php:622
-msgid "remove star"
-msgstr "forpreni stelon"
-
-#: ../../include/conversation.php:623
-msgid "toggle star status"
-msgstr "ŝalti/malŝalti steloŝtato"
-
-#: ../../include/conversation.php:626
-msgid "starred"
-msgstr "steligita"
-
-#: ../../include/conversation.php:627
-msgid "add tag"
-msgstr "aldoni markon"
-
-#: ../../include/conversation.php:631
-msgid "save to folder"
-msgstr "konservi en dosierujo"
-
-#: ../../include/conversation.php:703
-msgid "to"
-msgstr "al"
-
-#: ../../include/conversation.php:704
-msgid "Wall-to-Wall"
-msgstr "Muro-al-Muro"
-
-#: ../../include/conversation.php:705
-msgid "via Wall-To-Wall:"
-msgstr "per Muro-al-Muro:"
-
-#: ../../include/conversation.php:750
-msgid "Delete Selected Items"
-msgstr "Forviŝi Elektitajn Elementojn"
-
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s likes this."
-msgstr "%s ŝatas tiun."
-
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s malŝatas tiun."
-
-#: ../../include/conversation.php:909
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "<span %1$s>%2$d homoj</span> ŝatas tiun."
-
-#: ../../include/conversation.php:911
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "<span %1$s>%2$d homoj</span>malŝatas tiun."
-
-#: ../../include/conversation.php:917
-msgid "and"
-msgstr "kaj"
-
-#: ../../include/conversation.php:920
-#, php-format
-msgid ", and %d other people"
-msgstr ", kaj %d aliaj homoj."
-
-#: ../../include/conversation.php:921
-#, php-format
-msgid "%s like this."
-msgstr "%s ŝatas tiun."
-
-#: ../../include/conversation.php:921
-#, php-format
-msgid "%s don't like this."
-msgstr "%s malŝatas tiun."
-
-#: ../../include/conversation.php:946
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Videbla al <strong>ĉiuj</strong>"
-
-#: ../../include/conversation.php:948
-msgid "Please enter a video link/URL:"
-msgstr "Bonvolu entajpi ligilon/adreson de video:"
-
-#: ../../include/conversation.php:949
-msgid "Please enter an audio link/URL:"
-msgstr "Bonvolu entajpi ligilon/adreson de sono:"
-
-#: ../../include/conversation.php:950
-msgid "Tag term:"
-msgstr "Markfrazo:"
-
-#: ../../include/conversation.php:952
-msgid "Where are you right now?"
-msgstr "Kie vi estas nun?"
-
-#: ../../include/conversation.php:995
-msgid "upload photo"
-msgstr "alŝuti bildon"
-
-#: ../../include/conversation.php:997
-msgid "attach file"
-msgstr "kunsendi dosieron"
-
-#: ../../include/conversation.php:999
-msgid "web link"
-msgstr "TTT ligilo"
-
-#: ../../include/conversation.php:1000
-msgid "Insert video link"
-msgstr "Alglui ligilon de video"
-
-#: ../../include/conversation.php:1001
-msgid "video link"
-msgstr "video ligilo"
-
-#: ../../include/conversation.php:1002
-msgid "Insert audio link"
-msgstr "Alglui ligilon de sono"
-
-#: ../../include/conversation.php:1003
-msgid "audio link"
-msgstr "sono ligilo"
-
-#: ../../include/conversation.php:1005
-msgid "set location"
-msgstr "agordi lokon"
-
-#: ../../include/conversation.php:1007
-msgid "clear location"
-msgstr "forviŝi lokon"
-
-#: ../../include/conversation.php:1014
-msgid "permissions"
-msgstr "permesoj"
-
-#: ../../include/plugin.php:388 ../../include/plugin.php:390
-msgid "Click here to upgrade."
-msgstr "Klaku ĉi tie por ĝisdatigi."
-
-#: ../../include/plugin.php:396
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Tia ago preterpasas la limojn de via abono."
-
-#: ../../include/plugin.php:401
-msgid "This action is not available under your subscription plan."
-msgstr "Tia ago ne estas permesita laŭ via abono."
-
-#: ../../boot.php:527
-msgid "Delete this item?"
-msgstr "Forviŝi ĉi tiun elementon?"
-
-#: ../../boot.php:530
-msgid "show fewer"
-msgstr "montri malpli"
-
-#: ../../boot.php:725
-#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "Malsukcesis ĝisdatigi %s. Vidu la protokolojn."
-
-#: ../../boot.php:727
-#, php-format
-msgid "Update Error at %s"
-msgstr "Eraro dum ĝisdatigo ĉe %s"
-
-#: ../../boot.php:827
-msgid "Create a New Account"
-msgstr "Krei Novan Konton"
-
-#: ../../boot.php:851
-msgid "Nickname or Email address: "
-msgstr "Kaŝnomo aŭ retpoŝtadreso:"
-
-#: ../../boot.php:852
-msgid "Password: "
-msgstr "Pasvorto:"
-
-#: ../../boot.php:855
-msgid "Or login using OpenID: "
-msgstr "Aŭ ensaluti per OpenID:"
-
-#: ../../boot.php:861
-msgid "Forgot your password?"
-msgstr "Ĉu vi vorgesis vian pasvorton?"
-
-#: ../../boot.php:1028
-msgid "Edit profile"
-msgstr "Redakti profilon"
-
-#: ../../boot.php:1088
-msgid "Message"
-msgstr "Mesaĝo"
-
-#: ../../boot.php:1204 ../../boot.php:1283
-msgid "g A l F d"
-msgstr "\\j\\e \\l\\a G\\a \\h\\o\\r\\o, l F d"
-
-#: ../../boot.php:1205 ../../boot.php:1284
-msgid "F d"
-msgstr "F d"
-
-#: ../../boot.php:1250 ../../boot.php:1324
-msgid "[today]"
-msgstr "[hodiaŭ]"
-
-#: ../../boot.php:1262
-msgid "Birthday Reminders"
-msgstr "Memorigilo pri naskiĝtagoj"
-
-#: ../../boot.php:1263
-msgid "Birthdays this week:"
-msgstr "Naskiĝtagoj ĉi-semajne:"
-
-#: ../../boot.php:1317
-msgid "[No description]"
-msgstr "[Neniu priskribo]"
-
-#: ../../boot.php:1335
-msgid "Event Reminders"
-msgstr "Memorigilo pri Okazoj"
-
-#: ../../boot.php:1336
-msgid "Events this week:"
-msgstr "Okazoj ĉi-semajne:"
-
-#: ../../boot.php:1541
-msgid "Status Messages and Posts"
-msgstr "Ŝtatmesaĝoj kaj Afiŝoj"
-
-#: ../../boot.php:1547
-msgid "Profile Details"
-msgstr "Profildetaloj"
-
-#: ../../boot.php:1562
-msgid "Events and Calendar"
-msgstr "Okazoj kaj Kalendaro"
-
-#: ../../boot.php:1568
-msgid "Only You Can See This"
-msgstr "Nur Vi Povas Vidi Tiun"
diff --git a/view/eo/hstrings.php b/view/eo/hstrings.php
deleted file mode 100644
index 1fdefde46..000000000
--- a/view/eo/hstrings.php
+++ /dev/null
@@ -1,1771 +0,0 @@
-<?php
-
-if(! function_exists("string_plural_select_eo")) {
-function string_plural_select_eo($n){
- return ($n != 1);
-}}
-;
-App::$strings["Post successful."] = "Sukcese afiŝita.";
-App::$strings["[Embedded content - reload page to view]"] = "[Enigita enhavo - reŝargu paĝon por spekti ĝin]";
-App::$strings["Contact settings applied."] = "Kontaktagordoj estas konservita.";
-App::$strings["Contact update failed."] = "Ĝisdatigo de kontakto malsukcesis.";
-App::$strings["Permission denied."] = "Malpermesita.";
-App::$strings["Contact not found."] = "Kontakto ne trovita.";
-App::$strings["Repair Contact Settings"] = "Ripari kontaktagordoj.";
-App::$strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>AVERTO: Tio estas tre altnivela</strong> kaj se vi entajpus malĝustan informojn, komunikado kun la kontakto eble ne plu funkcios.";
-App::$strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bonvolu klaki 'malantaŭen' en via retesplorilo <strong>nun</strong> se vi ne scias kion faru ĉi tie.";
-App::$strings["Return to contact editor"] = "Reen al kontakta redaktilo";
-App::$strings["Name"] = "Nomo";
-App::$strings["Account Nickname"] = "Kaŝnomo de la konto";
-App::$strings["@Tagname - overrides Name/Nickname"] = "@Marknomo - Transpasas nomon/kaŝnomon";
-App::$strings["Account URL"] = "Adreso de la konto";
-App::$strings["Friend Request URL"] = "Kontaktpeta adreso";
-App::$strings["Friend Confirm URL"] = "Kontaktkonfirma adreso";
-App::$strings["Notification Endpoint URL"] = "Finpunkta adreso por atentigoj";
-App::$strings["Poll/Feed URL"] = "Adreso de fluo";
-App::$strings["New photo from this URL"] = "Nova bildo el tiu adreso";
-App::$strings["Submit"] = "Sendi";
-App::$strings["Help:"] = "Helpo:";
-App::$strings["Help"] = "Helpo";
-App::$strings["Not Found"] = "Ne trovita";
-App::$strings["Page not found."] = "Paĝo ne trovita";
-App::$strings["File exceeds size limit of %d"] = "Dosiero estas pli granda ol la limito de %d";
-App::$strings["File upload failed."] = "Alŝutado malsukcesis.";
-App::$strings["Friend suggestion sent."] = "Amikosugesto sendita.";
-App::$strings["Suggest Friends"] = "Sugesti amikojn";
-App::$strings["Suggest a friend for %s"] = "Sugesti amikon por %s";
-App::$strings["Event title and start time are required."] = "Titolo kaj starttempo estas bezonataj por la okazo.";
-App::$strings["l, F j"] = "l, F j";
-App::$strings["Edit event"] = "Redakti okazon";
-App::$strings["link to source"] = "ligilo al fonto";
-App::$strings["Events"] = "Okazoj";
-App::$strings["Create New Event"] = "Krei novan okazon";
-App::$strings["Previous"] = "antaŭa";
-App::$strings["Next"] = "sekva";
-App::$strings["hour:minute"] = "horo:minuto";
-App::$strings["Event details"] = "Detaloj de okazo";
-App::$strings["Format is %s %s. Starting date and Title are required."] = "Format is %s %s. Titolo kaj starttempo estas bezonataj.";
-App::$strings["Event Starts:"] = "Okazo startas:";
-App::$strings["Required"] = "Bezonata";
-App::$strings["Finish date/time is not known or not relevant"] = "Fina dato/tempo ne estas konata aŭ ne bezonata";
-App::$strings["Event Finishes:"] = "Okazo finas:";
-App::$strings["Adjust for viewer timezone"] = "Agordi al horzono de la leganto";
-App::$strings["Description:"] = "Priskribo";
-App::$strings["Location:"] = "Loko:";
-App::$strings["Title:"] = "Titolo:";
-App::$strings["Share this event"] = "Kunhavigi la okazon";
-App::$strings["Cancel"] = "Nuligi";
-App::$strings["Tag removed"] = "Marko forviŝita";
-App::$strings["Remove Item Tag"] = "Forviŝi markon";
-App::$strings["Select a tag to remove: "] = "Elektu forviŝontan markon:";
-App::$strings["Remove"] = "Forviŝi";
-App::$strings["%s welcomes %s"] = "%s salutas %s";
-App::$strings["Authorize application connection"] = "Rajtigi programkonekton";
-App::$strings["Return to your app and insert this Securty Code:"] = "Reiru al via programo kaj entajpu la securecan kodon:";
-App::$strings["Please login to continue."] = "Bonvolu ensaluti por pluigi.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Ĉu rajtigi ĉi tiun programon por atingi viajn afiŝojn kaj kontaktojn kaj/aŭ krei novajn afiŝojn?";
-App::$strings["Yes"] = "Jes";
-App::$strings["No"] = "Ne";
-App::$strings["Photo Albums"] = "Bildalbumoj";
-App::$strings["Contact Photos"] = "Kontaktbildoj";
-App::$strings["Upload New Photos"] = "Alŝuti novajn bildojn";
-App::$strings["everybody"] = "ĉiuj";
-App::$strings["Contact information unavailable"] = "Kontaktoj informoj ne disponeblas";
-App::$strings["Profile Photos"] = "Profilbildoj";
-App::$strings["Album not found."] = "Albumo ne trovita.";
-App::$strings["Delete Album"] = "Forviŝi albumon";
-App::$strings["Delete Photo"] = "Forviŝi bildon";
-App::$strings["was tagged in a"] = "estas markita en";
-App::$strings["photo"] = "bildo";
-App::$strings["by"] = "de";
-App::$strings["Image exceeds size limit of "] = "Bildo estas pli granda ol la limito de";
-App::$strings["Image file is empty."] = "Bilddosiero estas malplena.";
-App::$strings["Unable to process image."] = "Ne eblas procedi la bildon.";
-App::$strings["Image upload failed."] = "Alŝuto de bildo malsukcesis.";
-App::$strings["Public access denied."] = "Publika atingo ne permesita.";
-App::$strings["No photos selected"] = "Neniu bildoj elektita";
-App::$strings["Access to this item is restricted."] = "Atingo al tio elemento estas limigita.";
-App::$strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Vi uzas %1$.2f MB de %2$.2f MB bildkonservejo.";
-App::$strings["You have used %1$.2f Mbytes of photo storage."] = "Vi uzas %1$.2f MB de bildkonservejo.";
-App::$strings["Upload Photos"] = "Alŝuti bildojn";
-App::$strings["New album name: "] = "Nomo por nova albumo:";
-App::$strings["or existing album name: "] = "aŭ nomo de estanta albumo:";
-App::$strings["Do not show a status post for this upload"] = "Ne kreu statan afiŝon por tio alŝuto.";
-App::$strings["Permissions"] = "Permesoj";
-App::$strings["Edit Album"] = "Redakti albumon";
-App::$strings["View Photo"] = "Vidi bildon";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Malpermesita. Atingo al tio elemento eble estas limigita.";
-App::$strings["Photo not available"] = "La bildo ne disponeblas";
-App::$strings["View photo"] = "Vidi bildon";
-App::$strings["Edit photo"] = "Redakti bildon";
-App::$strings["Use as profile photo"] = "Uzi kiel profilbildo";
-App::$strings["Private Message"] = "Privata mesaĝo";
-App::$strings["View Full Size"] = "Vidi plengrande ";
-App::$strings["Tags: "] = "Markoj:";
-App::$strings["[Remove any tag]"] = "[Forviŝi iun markon]";
-App::$strings["Rotate CW (right)"] = "Turni horloĝdirekte (dekstren)";
-App::$strings["Rotate CCW (left)"] = "Turni kontraŭhorloĝdirekte (maldekstren)";
-App::$strings["New album name"] = "Nova nomo de albumo";
-App::$strings["Caption"] = "Apudskribo";
-App::$strings["Add a Tag"] = "Aldoni markon";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Ekzemple: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-App::$strings["I like this (toggle)"] = "Mi ŝatas tion (ŝalti)";
-App::$strings["I don't like this (toggle)"] = "Mi malŝatas tion(ŝalti)";
-App::$strings["Share"] = "Kunhavigi";
-App::$strings["Please wait"] = "Bonvolu atendi";
-App::$strings["This is you"] = "Tiu estas vi";
-App::$strings["Comment"] = "Komenti";
-App::$strings["Preview"] = "Antaŭrigardi";
-App::$strings["Delete"] = "Forviŝi";
-App::$strings["View Album"] = "Vidi albumon";
-App::$strings["Recent Photos"] = "̂Ĵusaj bildoj";
-App::$strings["Not available."] = "Ne disponebla.";
-App::$strings["Community"] = "Komunumo";
-App::$strings["No results."] = "Nenion trovita.";
-App::$strings["This is Friendica, version"] = "Tio estas Friendica en la versio";
-App::$strings["running at web location"] = "instalita ĉe la adreso";
-App::$strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "Bonvolu iri al <a href=\"http://friendica.com\">Friendica.com</a> por lerni pli pri la projekto Friendica";
-App::$strings["Bug reports and issues: please visit"] = "Cimraportoj kaj atendindaĵo: bonvolu iri al";
-App::$strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "Sugestoj, laŭdoj, donacoj ktp - bonvolu sendi mesĝon al \"Info\" ĉe Friendica - punkto com";
-App::$strings["Installed plugins/addons/apps:"] = "Instalitaj kromprogramoj/programoj:";
-App::$strings["No installed plugins/addons/apps"] = "Neniom da instalitaj aldonaĵoj/programoj";
-App::$strings["Item not found"] = "Elemento ne trovita";
-App::$strings["Edit post"] = "Redakti afiŝon";
-App::$strings["Post to Email"] = "Sendi per retpoŝto";
-App::$strings["Edit"] = "Redakti";
-App::$strings["Upload photo"] = "Alŝuti bildon";
-App::$strings["Attach file"] = "Kunligi dosieron";
-App::$strings["Insert web link"] = "Enmeti retan adreson";
-App::$strings["Insert YouTube video"] = "Enmeti videton ĉe YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Enmeti videton en formato Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Enmeti sonon en formato Vorbis [.ogg]";
-App::$strings["Set your location"] = "Agordi vian lokon";
-App::$strings["Clear browser location"] = "Forviŝu retesplorilan lokon";
-App::$strings["Permission settings"] = "Permesagordoj";
-App::$strings["CC: email addresses"] = "CC: retpoŝtadresojn";
-App::$strings["Public post"] = "Publika afiŝo";
-App::$strings["Set title"] = "Redakti titolon";
-App::$strings["Categories (comma-separated list)"] = "Kategorioj (disigita per komo)";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Ekzemple: bob@example.com, mary@example.com";
-App::$strings["This introduction has already been accepted."] = "Tia prezento jam estas akceptita";
-App::$strings["Profile location is not valid or does not contain profile information."] = "La adreso de la profilo ne validas aŭ ne enhavas profilinformojn.";
-App::$strings["Warning: profile location has no identifiable owner name."] = "Averto: La adreso de la profilo ne enhavas identeblan personan nomon.";
-App::$strings["Warning: profile location has no profile photo."] = "Averto: La adreso de la profilo ne enhavas bildon.";
-App::$strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d bezonataj parametroj ne trovita ĉe la donata adreso.",
- 1 => "%d bezonataj parametroj ne trovita ĉe la donata adreso.",
-);
-App::$strings["Introduction complete."] = "Prezento sukcesis.";
-App::$strings["Unrecoverable protocol error."] = "Neĝustigebla eraro en protokolo.";
-App::$strings["Profile unavailable."] = "Profilo ne estas disponebla.";
-App::$strings["%s has received too many connection requests today."] = "%s hodiaŭ ricevis tro multe da konektpetoj.";
-App::$strings["Spam protection measures have been invoked."] = "Kontraŭspamilo estas aktivita.";
-App::$strings["Friends are advised to please try again in 24 hours."] = "Amikoj, vi bonvolu ripeti post 24 horoj.";
-App::$strings["Invalid locator"] = "Nevalida adreso.";
-App::$strings["Invalid email address."] = "Nevalida repoŝtadreso.";
-App::$strings["This account has not been configured for email. Request failed."] = "La konto ne estas agordita por retpoŝto. La peto malsukcesis.";
-App::$strings["Unable to resolve your name at the provided location."] = "Via nomo ne troveblas al la donita adreso.";
-App::$strings["You have already introduced yourself here."] = "Vi vin jam prezentis tie.";
-App::$strings["Apparently you are already friends with %s."] = "Ŝajnas kvazaŭ vi jam amikiĝis kun %s.";
-App::$strings["Invalid profile URL."] = "Nevalida adreso de profilo.";
-App::$strings["Disallowed profile URL."] = "Malpermesita adreso de profilo.";
-App::$strings["Failed to update contact record."] = "Ĝisdatigo de via kontaktrikordo malsukcesis.";
-App::$strings["Your introduction has been sent."] = "Via prezento estas sendita.";
-App::$strings["Please login to confirm introduction."] = "Bonvolu ensaluti por jesigi la prezenton.";
-App::$strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Malĝusta identaĵo ensalutata. Bonvolu ensaluti en <strong>tiun</strong> profilon.";
-App::$strings["Hide this contact"] = "Kaŝi tiun kontakton";
-App::$strings["Welcome home %s."] = "Bonvenon hejme, %s.";
-App::$strings["Please confirm your introduction/connection request to %s."] = "Bonvolu konfirmi vian prezenton / kontaktpeton al %s.";
-App::$strings["Confirm"] = "Konfirmi.";
-App::$strings["[Name Withheld]"] = "[Kaŝita nomo]";
-App::$strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Bonvolu entajpi vian 'Identecan Adreson' de iu de tiuj subtenataj komunikaj retejoj: ";
-App::$strings["<strike>Connect as an email follower</strike> (Coming soon)"] = "<strike>Konektu kiel retpoŝta sekvanto</strike> (Baldaŭ venos)";
-App::$strings["If you are not yet a member of the free social web, <a href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "Se vi ne estas membro de la libra interkona reto, <a href=\"http://dir.friendica.com/siteinfo\">sekvu ĉi-ligilon por trovi publikan Friendica retejon kaj aliĝi kun ni hodiaŭ</a>.";
-App::$strings["Friend/Connection Request"] = "Prezento / Konektpeto";
-App::$strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Ekzemploj: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca";
-App::$strings["Please answer the following:"] = "Bonvolu respondi:";
-App::$strings["Does %s know you?"] = "Ĉu %s konas vin?";
-App::$strings["Add a personal note:"] = "Aldoni personan noton:";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["StatusNet/Federated Social Web"] = "StatusNet/Federaciaj interkonaj retejoj";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = " - bonvolu ne uzi ĉi formo. Anstataŭe, entajpu %s en la Diaspora serĉilo.";
-App::$strings["Your Identity Address:"] = "Via identeca adreso:";
-App::$strings["Submit Request"] = "Sendi peton";
-App::$strings["Friendica Social Communications Server - Setup"] = "Friendica Interkona Komunikada Servilo - Instalo";
-App::$strings["Could not connect to database."] = "Ne eblas konekti la datumbazon.";
-App::$strings["Could not create table."] = "Ne eblas krei tabelon.";
-App::$strings["Your Friendica site database has been installed."] = "La datumbazo de vi Friendica retjo estas instalita.";
-App::$strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Vi bezonas mane importi la dosieron \"database.sql\" per phpmyadmin aŭ mysql.";
-App::$strings["Please see the file \"INSTALL.txt\"."] = "Bonvolu legi la dosieron \"INSTALL.txt\".";
-App::$strings["System check"] = "Sistema kontrolo";
-App::$strings["Check again"] = "Ree kontroli";
-App::$strings["Database connection"] = "Datumbaza konekto";
-App::$strings["In order to install Friendica we need to know how to connect to your database."] = "Por instali Friendica, ni bezonas scii kiel konekti al via datumbazo.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bonvolu kontakti vian servilprovizanton aŭ administranton se vi havas demandoj pri ĉi tiaj agordoj.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La datumbazo nomata malsupren jam ekzistu. Se ĝi ne ekzistas, bonvolu unue krei ĝin antaŭ progresi.";
-App::$strings["Database Server Name"] = "Nomo de datumbaza servilo.";
-App::$strings["Database Login Name"] = "Salutnomo ĉe la datumbazo.";
-App::$strings["Database Login Password"] = "Pasvorto ĉe la datumbazo.";
-App::$strings["Database Name"] = "Nomo de la datumbazo.";
-App::$strings["Site administrator email address"] = "Retpoŝtadreso de la reteja administranto";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "La repoŝtadreso de via konto bezonas esti la sama por uzi la TTTa administrilo.";
-App::$strings["Please select a default timezone for your website"] = "Bonvolu elekti defaŭltan horzonon por via retejo.";
-App::$strings["Site settings"] = "Retejaj agordoj";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Komanda linia versio de PHP ne trovita en $PATH de la retservilo.";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "Se vi ne havas komandlinian version de PHP sur la servilo, vi ne eblas plenumi fonan planitan enketon per cron. Bonvolu legi <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>";
-App::$strings["PHP executable path"] = "Vojo de la komanda linia versio de PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entajpu la plenan vojon al la php komandodosiero. Vi eblas lasi tion malplena por pluigi la instalado.";
-App::$strings["Command line PHP"] = "komanda linia versio de PHP";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "En via komanda linia versio de PHP je via sistemo, \"register_argc_argv\" ne estas aktivita.";
-App::$strings["This is required for message delivery to work."] = "Tio estas bezonata por la livero de mesaĝoj.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Eraro: La funkcio \"openssl_pkey_new\" je tia sistemo ne eblas generi ĉifroŝlosilojn.";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se la operaciumo sistemo estas Windows, bonvolu legi: http://www.php.net/manual/en/openssl.installation.php";
-App::$strings["Generate encryption keys"] = "Generi ĉifroŝlosilojn";
-App::$strings["libCurl PHP module"] = "PHP modulo libCurl";
-App::$strings["GD graphics PHP module"] = "PHP modulo GD";
-App::$strings["OpenSSL PHP module"] = "PHP modulo OpenSSL";
-App::$strings["mysqli PHP module"] = "PHP modulo mysqli";
-App::$strings["mb_string PHP module"] = "PHP modulo mb_string";
-App::$strings["Apache mod_rewrite module"] = "Apache mod_rewrite modulo";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Eraro: La modulo mod_rewrite en la Apache retservilo estas bezonata sed ne instalita.";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Eraro: La modulo libCURL en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Eraro: La modulo GD en PHP kun subteno por JPEG estas bezonata sed ne instalita.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Eraro: La modulo OpenSSL en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: mysqli PHP module required but not installed."] = "Eraro: La modulo mysqli en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Eraro: La modulo mb_string en PHP estas bezonata sed ne instalita.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "La reta instalilo bezonas skribi dosieron nomata \".htconfig.php\" en la baza dosierujo de la retservilo, sed ne sukcesis.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Tio ĉi plej ofte estas agordo rilate al permesoj, ĉar la servilo eble ne povas skribi en via dosierujo, eĉ se vi mem povas skribi.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "Post la fino de tiu proceduro, ni donos al vi tekston por konservi en dosiero .htconfig.php en via baza Friendica dosierujo.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Vi ankaŭ povas preterpasi tiun proceduron kaj fari permanan instaladon. Bonvolu legi la dosieron \"INSTALL.txt\" por trovi instrukciojn.";
-App::$strings[".htconfig.php is writable"] = ".htconfig.php estas skribebla.";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Url rewrite en .htaccess ne funkcias. Kontrolu la agordojn de la servilo.";
-App::$strings["Url rewrite is working"] = "URL rewrite funkcias.";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Ne povis skribi la datumbaza agordoj en la dosiero \".htconfig.php\". Bonvolu uzi la inkluzivan tekston por krei agordan dosieron en la baza dosierujo de la retservilo.";
-App::$strings["Errors encountered creating database tables."] = "Okazis eraroj dum la kreado de tabeloj en la datumbazo.";
-App::$strings["<h1>What next</h1>"] = "<h1>Kio sekvas nun?</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "GRAVA: Vi bezonas [mane] agordi planitan taskon por la Friendica poller.";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Time Conversion"] = "Konverto de tempo";
-App::$strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica provizas tiun servon por kunhavigi okazojn kun aliaj retoj kaj amikoj en aliaj horzonoj.";
-App::$strings["UTC time: %s"] = "UTC horo: %s";
-App::$strings["Current timezone: %s"] = "Aktuala horzono: %s";
-App::$strings["Converted localtime: %s"] = "Konvertita loka horo: %s";
-App::$strings["Please select your timezone:"] = "Bonvolu elekti vian horzonon:";
-App::$strings["Profile Match"] = "Kongrua profilo";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Neniom da kategoriaj vortoj kongruas. Bonvolu aldoni kategoriajn vortojn al via defaŭlta profilo.";
-App::$strings["is interested in:"] = "interesiĝas pri:";
-App::$strings["Connect"] = "Konekti";
-App::$strings["No matches"] = "Nenio estas trovita";
-App::$strings["Remote privacy information not available."] = "Informoj pri fora privateca ne estas disponebla.";
-App::$strings["Visible to:"] = "Videbla al:";
-App::$strings["Welcome to %s"] = "Bonvenon ĉe %s";
-App::$strings["Invalid request identifier."] = "Nevalida peta identigilo.";
-App::$strings["Discard"] = "Forviŝi";
-App::$strings["Ignore"] = "Ignori";
-App::$strings["System"] = "Sistemo";
-App::$strings["Network"] = "Reto";
-App::$strings["Personal"] = "Propra";
-App::$strings["Home"] = "Hejmo";
-App::$strings["Introductions"] = "Prezentoj";
-App::$strings["Messages"] = "Mesaĝoj";
-App::$strings["Show Ignored Requests"] = "Montri ignoritajn petojn";
-App::$strings["Hide Ignored Requests"] = "Kaŝi ignoritajn petojn";
-App::$strings["Notification type: "] = "Tipo de atentigo:";
-App::$strings["Friend Suggestion"] = "Amikosugestoj";
-App::$strings["suggested by %s"] = "sugestita de %s";
-App::$strings["Hide this contact from others"] = "Kaŝi ĉi tiun kontakton al aliaj";
-App::$strings["Post a new friend activity"] = "Afiŝi novan amikecan aktivecon";
-App::$strings["if applicable"] = "se aplikebla";
-App::$strings["Approve"] = "Aprobi";
-App::$strings["Claims to be known to you: "] = "Pensas ke vi konas ilin:";
-App::$strings["yes"] = "jes";
-App::$strings["no"] = "ne";
-App::$strings["Approve as: "] = "Aprobi kiel:";
-App::$strings["Friend"] = "Amiko";
-App::$strings["Sharer"] = "Kunhaviganto";
-App::$strings["Fan/Admirer"] = "Fanatikulo/Admiranto";
-App::$strings["Friend/Connect Request"] = "Kontaktpeto";
-App::$strings["New Follower"] = "Nova abonanto";
-App::$strings["No introductions."] = "Neniom da prezentoj";
-App::$strings["Notifications"] = "Atentigoj";
-App::$strings["%s liked %s's post"] = "%s ŝatis la afiŝon de %s";
-App::$strings["%s disliked %s's post"] = "%s malŝatis la afiŝon de %s";
-App::$strings["%s is now friends with %s"] = "%s amikiĝis kun %s";
-App::$strings["%s created a new post"] = "%s kreis novan afiŝon";
-App::$strings["%s commented on %s's post"] = "%s komentis pri la afiŝo de %s";
-App::$strings["No more network notifications."] = "Ne pli da retaj atentigoj.";
-App::$strings["Network Notifications"] = "Retaj Atentigoj";
-App::$strings["No more system notifications."] = "Ne pli da sistemaj atentigoj.";
-App::$strings["System Notifications"] = "Sistemaj Atentigoj";
-App::$strings["No more personal notifications."] = "Ne pli da personaj atentigoj";
-App::$strings["Personal Notifications"] = "Personaj Atentigoj";
-App::$strings["No more home notifications."] = "Ne pli da hejmrilataj atentigoj.";
-App::$strings["Home Notifications"] = "Hejmrilataj atentigoj";
-App::$strings["Could not access contact record."] = "Ne eblis atingi kontaktrikordo.";
-App::$strings["Could not locate selected profile."] = "Ne trovis elektitan profilon.";
-App::$strings["Contact updated."] = "Kontakto estas ĝisdatigita.";
-App::$strings["Contact has been blocked"] = "Kontakto estas blokita.";
-App::$strings["Contact has been unblocked"] = "Kontakto estas malblokita.";
-App::$strings["Contact has been ignored"] = "Kontakto estas ignorita.";
-App::$strings["Contact has been unignored"] = "Kontakto estas malignorita.";
-App::$strings["Contact has been archived"] = "Enarkivigis kontakton";
-App::$strings["Contact has been unarchived"] = "Elarkivigis kontakton";
-App::$strings["Contact has been removed."] = "Kontakto estas forigita.";
-App::$strings["You are mutual friends with %s"] = "Vi estas reciproka amiko de %s";
-App::$strings["You are sharing with %s"] = "Vi kunhavigas kun %s";
-App::$strings["%s is sharing with you"] = "%s kunhavigas kun vi";
-App::$strings["Private communications are not available for this contact."] = "Privataj komunikadoj ne disponeblas por ĉi tiu kontakto.";
-App::$strings["Never"] = "Neniam";
-App::$strings["(Update was successful)"] = "(Ĝisdatigo sukcesis.)";
-App::$strings["(Update was not successful)"] = "(Ĝisdatigo malsukcesis.)";
-App::$strings["Suggest friends"] = "Sugesti amikojn";
-App::$strings["Network type: %s"] = "Reta tipo: %s";
-App::$strings["%d contact in common"] = array(
- 0 => "%d komuna kontakto",
- 1 => "%d komunaj kontaktoj",
-);
-App::$strings["View all contacts"] = "Vidi ĉiujn kontaktojn";
-App::$strings["Unblock"] = "Malbloki";
-App::$strings["Block"] = "Bloki";
-App::$strings["Toggle Blocked status"] = "Ŝalti/malŝalti Blokitan staton";
-App::$strings["Unignore"] = "Malignori";
-App::$strings["Toggle Ignored status"] = "Ŝalti/malŝalti Ignoritan staton";
-App::$strings["Unarchive"] = "Elarkivigi";
-App::$strings["Archive"] = "Enarkivigi";
-App::$strings["Toggle Archive status"] = "Ŝalti/malŝalti Enarkivigitan staton";
-App::$strings["Repair"] = "Ripari";
-App::$strings["Advanced Contact Settings"] = "Specialaj Kontaktagordoj";
-App::$strings["Communications lost with this contact!"] = "Mi perdis la kommunikadon kun tiu kontakto!";
-App::$strings["Contact Editor"] = "Kontakta redaktilo.";
-App::$strings["Profile Visibility"] = "Videbleco de profilo";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bonvolu elekti la profilon kiu vi volas montri al %s aspektinde kiam sekure aspektante vian profilon.";
-App::$strings["Contact Information / Notes"] = "Kontaktaj informoj / Notoj";
-App::$strings["Edit contact notes"] = "Redakti kontaktnotojn";
-App::$strings["Visit %s's profile [%s]"] = "Viziti la profilon de %s [%s]";
-App::$strings["Block/Unblock contact"] = "Bloki/Malbloki kontakton";
-App::$strings["Ignore contact"] = "Ignori kontakton";
-App::$strings["Repair URL settings"] = "Ripari URL agordoj";
-App::$strings["View conversations"] = "Vidi konversaciojn";
-App::$strings["Delete contact"] = "Forviŝi kontakton";
-App::$strings["Last update:"] = "Plej ĵusa ĝisdatigo:";
-App::$strings["Update public posts"] = "Ĝisdatigi publikajn afiŝojn";
-App::$strings["Update now"] = "Ĝisdatigi nun";
-App::$strings["Currently blocked"] = "Nuntempe blokata";
-App::$strings["Currently ignored"] = "Nuntempe ignorata";
-App::$strings["Currently archived"] = "Nuntempe enarkivigita";
-App::$strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Rispondoj/ŝataĵo al viaj publikaj afiŝoj <strong>eble</strong> plu estos videbla";
-App::$strings["Suggestions"] = "Sugestoj";
-App::$strings["Suggest potential friends"] = "Sugesti amikojn";
-App::$strings["All Contacts"] = "Ĉiuj Kontaktoj";
-App::$strings["Show all contacts"] = "Montri ĉiujn kontaktojn";
-App::$strings["Unblocked"] = "Malblokita";
-App::$strings["Only show unblocked contacts"] = "Nur montri neblokitajn kontaktojn";
-App::$strings["Blocked"] = "Blokita";
-App::$strings["Only show blocked contacts"] = "Nur montri blokitajn kontaktojn";
-App::$strings["Ignored"] = "Ignorita";
-App::$strings["Only show ignored contacts"] = "Nur montri ignoritajn kontaktojn";
-App::$strings["Archived"] = "Enarkivigita";
-App::$strings["Only show archived contacts"] = "Nur montri enarkivigitajn kontaktojn";
-App::$strings["Hidden"] = "Kaŝita";
-App::$strings["Only show hidden contacts"] = "Nur montri kaŝitajn kontaktojn";
-App::$strings["Mutual Friendship"] = "Reciproka amikeco";
-App::$strings["is a fan of yours"] = "estas admiranto de vi";
-App::$strings["you are a fan of"] = "vi estas admiranto de";
-App::$strings["Edit contact"] = "Redakti kontakton";
-App::$strings["Contacts"] = "Kontaktoj";
-App::$strings["Search your contacts"] = "Serĉi viajn kontaktojn";
-App::$strings["Finding: "] = "Trovata:";
-App::$strings["Find"] = "Trovi";
-App::$strings["No valid account found."] = "Ne trovis validan konton.";
-App::$strings["Password reset request issued. Check your email."] = "Eldonis riparadon de pasvorto. Legu vian retpoŝton.";
-App::$strings["Password reset requested at %s"] = "Pasvorta riparado petita je %s";
-App::$strings["Administrator"] = "Administranto";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ne povis konfirmi la peton. (Eble vi sendis ĝin antaŭ.) Pasvorta riparado malsukcesis.";
-App::$strings["Password Reset"] = "Pasvorta riparado";
-App::$strings["Your password has been reset as requested."] = "Via pasvorto estis riparita laŭ via peto.";
-App::$strings["Your new password is"] = "Via nova pasvorto estas";
-App::$strings["Save or copy your new password - and then"] = "Memorigi vian novan pasvorton - kaj poste";
-App::$strings["click here to login"] = "klaku ĉi tie por ensaluti";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Vi povas ŝangi vian pasvorton sur la paĝo <em>agordoj</em> kiam vi sukcese ensalutis.";
-App::$strings["Forgot your Password?"] = "Ĉu vi forgesis vian pasvorton?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Entajpu vian retpoŝtadreson kaj sendu por pasvorta riparado. Poste, bonvolu legi vian retpoŝton por trovi pliajn instrukciojn.";
-App::$strings["Nickname or Email: "] = "Salutnomo aŭ retpoŝtadreso: ";
-App::$strings["Reset"] = "Repari";
-App::$strings["Account settings"] = "Konto";
-App::$strings["Display settings"] = "Ekrano";
-App::$strings["Connector settings"] = "Konektiloj";
-App::$strings["Plugin settings"] = "Kromprogramoj";
-App::$strings["Connected apps"] = "Konektitaj programoj";
-App::$strings["Export personal data"] = "Eksporto";
-App::$strings["Remove account"] = "Forigi konton";
-App::$strings["Settings"] = "Agordoj";
-App::$strings["Missing some important data!"] = "Mankas importantaj datumoj!";
-App::$strings["Update"] = "Ĝisdatigi";
-App::$strings["Failed to connect with email account using the settings provided."] = "Ne sukcesis konekti al retpoŝtkonto kun la provizitaj agordoj.";
-App::$strings["Email settings updated."] = "Retpoŝtagordoj ĝisdatigita";
-App::$strings["Passwords do not match. Password unchanged."] = "La pasvortoj ne estas egala. Pasvorto ne ŝanĝita.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Malplenaj pasvortoj ne estas permesita. Pasvorto ne ŝanĝita.";
-App::$strings["Password changed."] = "Pasvorto ŝanĝita.";
-App::$strings["Password update failed. Please try again."] = "Ĝisdatigo de pasvorto malsukcesis. Bonvolu provi refoje.";
-App::$strings[" Please use a shorter name."] = " Bonvolu uzi pli mallongan nomon.";
-App::$strings[" Name too short."] = " Nomo estas tro mallonga.";
-App::$strings[" Not valid email."] = " Repoŝtadreso ne validas.";
-App::$strings[" Cannot change to that email."] = " Ne povas ŝanĝi al tio retpoŝtadreso.";
-App::$strings["Private forum has no privacy permissions. Using default privacy group."] = "Privata forumo ne havas privatecajn agordojn. Defaŭlta privateca grupo estas uzata.";
-App::$strings["Private forum has no privacy permissions and no default privacy group."] = "Privata forumo havas nek privatecajn agordojn nek defaŭltan privatecan grupon.";
-App::$strings["Settings updated."] = "Agordoj ĝisdatigita.";
-App::$strings["Add application"] = "Aldoni programon";
-App::$strings["Consumer Key"] = "Ŝlosilo de kliento";
-App::$strings["Consumer Secret"] = "Sekreto de kliento";
-App::$strings["Redirect"] = "Alidirekto";
-App::$strings["Icon url"] = "Piktograma adreso";
-App::$strings["You can't edit this application."] = "Ĉi tio programo ne estas redaktebla.";
-App::$strings["Connected Apps"] = "Konektitaj Programoj";
-App::$strings["Client key starts with"] = "Ŝlosilo de kliento komencas kun";
-App::$strings["No name"] = "Neniu nomo";
-App::$strings["Remove authorization"] = "Forviŝi rajtigon";
-App::$strings["No Plugin settings configured"] = "Neniom da kromprogramoagordoj farita";
-App::$strings["Plugin Settings"] = "Kromprogramoagordoj";
-App::$strings["Built-in support for %s connectivity is %s"] = "Integrita subteno por %s koneto estas %s";
-App::$strings["enabled"] = "ŝaltita";
-App::$strings["disabled"] = "malŝaltita";
-App::$strings["StatusNet"] = "StatusNet";
-App::$strings["Email access is disabled on this site."] = "Retpoŝta atingo ne disponeblas ĉi tie.";
-App::$strings["Connector Settings"] = "Konektiloagordoj";
-App::$strings["Email/Mailbox Setup"] = "Agordoj pri Retpoŝto";
-App::$strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Se vi volas uzi ĉi tiun servon por komuniki per retpoŝto (nedeviga), bonvolu specifi kiel konekti al vian retpoŝtkonton.";
-App::$strings["Last successful email check:"] = "Plej ĵusa sukcesa kontrolo de poŝto:";
-App::$strings["IMAP server name:"] = "Nomo de IMAP servilo:";
-App::$strings["IMAP port:"] = "Numero de IMAP pordo:";
-App::$strings["Security:"] = "Sekureco:";
-App::$strings["None"] = "Nenio";
-App::$strings["Email login name:"] = "Retpoŝta salutnomo:";
-App::$strings["Email password:"] = "Retpoŝta pasvorto:";
-App::$strings["Reply-to address:"] = "Responda adreso (Reply-to):";
-App::$strings["Send public posts to all email contacts:"] = "Sendu publikajn afiŝojn al ĉiuj retpoŝtkontaktoj:";
-App::$strings["Action after import:"] = "Ago post la importado:";
-App::$strings["Mark as seen"] = "Marki kiel legita";
-App::$strings["Move to folder"] = "Movi al dosierujo";
-App::$strings["Move to folder:"] = "Movi al dosierujo:";
-App::$strings["Display Settings"] = "Ekranagordoj";
-App::$strings["Display Theme:"] = "Vidiga etoso:";
-App::$strings["Update browser every xx seconds"] = "Ĝisdatigu retesplorilon ĉiu xxx sekundoj";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimume 10 sekundoj, sen maksimumo";
-App::$strings["Number of items to display on the network page:"] = "Kvanto da elementoj kiuj estos montrata ĉe la reto paĝo.";
-App::$strings["Maximum of 100 items"] = "Maksimume 100 eroj";
-App::$strings["Don't show emoticons"] = "Ne montru ridetulojn";
-App::$strings["Normal Account Page"] = "Normala Kontopaĝo";
-App::$strings["This account is a normal personal profile"] = "Tiu konto estas normala persona profilo";
-App::$strings["Soapbox Page"] = "Soapbox Paĝo";
-App::$strings["Automatically approve all connection/friend requests as read-only fans"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel nurlegaj admirantoj";
-App::$strings["Community Forum/Celebrity Account"] = "Komunuma Forumo/Eminentula Konto";
-App::$strings["Automatically approve all connection/friend requests as read-write fans"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel admirantoj kapable legi kaj skribi";
-App::$strings["Automatic Friend Page"] = "Aŭtomata Amiko Paĝo";
-App::$strings["Automatically approve all connection/friend requests as friends"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel amikoj";
-App::$strings["Private Forum [Experimental]"] = "Privata Forumo [eksperimenta]";
-App::$strings["Private forum - approved members only"] = "Privata forumo - nur por aprobitaj membroj";
-App::$strings["OpenID:"] = "OpenID:";
-App::$strings["(Optional) Allow this OpenID to login to this account."] = "(Nedeviga) Permesi atingon al la konton al ĉi tio OpenID.";
-App::$strings["Publish your default profile in your local site directory?"] = "Publikigi vian defaŭltan profilon en la loka reteja katalogo?";
-App::$strings["Publish your default profile in the global social directory?"] = "Publikigi vian defaŭltan profilon en la tutmonda interkona katalogo?";
-App::$strings["Hide your contact/friend list from viewers of your default profile?"] = "Kaŝi vian liston de kontaktoj/amiko al spektantoj de via defaŭlta profilo?";
-App::$strings["Hide your profile details from unknown viewers?"] = "Kaŝi viajn profilajn detalojn al nekonataj spektantoj?";
-App::$strings["Allow friends to post to your profile page?"] = "Ĉu amikoj povu afiŝi al via profilo?";
-App::$strings["Allow friends to tag your posts?"] = "Ĉu amikoj povu aldoni markojn al viaj afiŝoj?";
-App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Ĉu ni povu sugesti vin kiel amiko al novaj membroj?";
-App::$strings["Permit unknown people to send you private mail?"] = "Permesigi nekonatulojn sendi retpoŝton al vi?";
-App::$strings["Profile is <strong>not published</strong>."] = "Profilo <strong>ne estas publika</strong>.";
-App::$strings["or"] = "aŭ";
-App::$strings["Your Identity Address is"] = "Via identeca adreso estas";
-App::$strings["Automatically expire posts after this many days:"] = "Automatike senvalidigi afiŝojn post tiom da tagoj:";
-App::$strings["If empty, posts will not expire. Expired posts will be deleted"] = "Se malplena, afiŝoj neniam senvalidiĝos. Senvalidigitajn afiŝon estos forviŝata";
-App::$strings["Advanced expiration settings"] = "Detalaj agordoj rilate al senvalidiĝo";
-App::$strings["Advanced Expiration"] = "Detala senvalidiĝo";
-App::$strings["Expire posts:"] = "Senvalidigi afiŝojn:";
-App::$strings["Expire personal notes:"] = "Senvalidigi personajn notojn:";
-App::$strings["Expire starred posts:"] = "Senvalidigi steligitajn afiŝojn:";
-App::$strings["Expire photos:"] = "Senvalidigi bildojn:";
-App::$strings["Only expire posts by others:"] = "Nur senvalidigi afiŝojn de aliaj: ";
-App::$strings["Account Settings"] = "Kontoagordoj";
-App::$strings["Password Settings"] = "Agordoj pri Pasvorto";
-App::$strings["New Password:"] = "Nova pasvorto:";
-App::$strings["Confirm:"] = "Konfirmi:";
-App::$strings["Leave password fields blank unless changing"] = "Lasu pasvortkampojn malplenaj se vi ne ŝanĝas la pasvorton.";
-App::$strings["Basic Settings"] = "Bazaj Agordoj";
-App::$strings["Full Name:"] = "Plena Nomo:";
-App::$strings["Email Address:"] = "Retpoŝtadreso:";
-App::$strings["Your Timezone:"] = "Via Horzono:";
-App::$strings["Default Post Location:"] = "Defaŭlta Loko por Afiŝoj:";
-App::$strings["Use Browser Location:"] = "Uzu Lokon laŭ Retesplorilo:";
-App::$strings["Security and Privacy Settings"] = "Agordoj pri Sekureco kaj Privateco";
-App::$strings["Maximum Friend Requests/Day:"] = "Taga maksimumo da kontaktpetoj:";
-App::$strings["(to prevent spam abuse)"] = "(por malhelpi spamaĵojn)";
-App::$strings["Default Post Permissions"] = "Defaŭltaj permesoj por afiŝoj";
-App::$strings["(click to open/close)"] = "(klaku por malfermi/fermi)";
-App::$strings["Maximum private messages per day from unknown people:"] = "Taga maksimumo da privataj mesaĝoj.";
-App::$strings["Notification Settings"] = "Agordoj pri Atentigoj";
-App::$strings["By default post a status message when:"] = "Defaŭlte afiŝi statmesaĝon okaze de:";
-App::$strings["accepting a friend request"] = "akcepti kontaktpeton";
-App::$strings["joining a forum/community"] = "aliĝi forumon/komunumon";
-App::$strings["making an <em>interesting</em> profile change"] = "fari <em>interesan</em> profilŝanĝon";
-App::$strings["Send a notification email when:"] = "Sendu atentiga repoŝton se:";
-App::$strings["You receive an introduction"] = "Vi ricevas inviton";
-App::$strings["Your introductions are confirmed"] = "Viaj prezentoj estas konfirmata.";
-App::$strings["Someone writes on your profile wall"] = "Iu skribas je via profila muro.";
-App::$strings["Someone writes a followup comment"] = "Iu skribas sekvan komenton";
-App::$strings["You receive a private message"] = "Vi ricevas privatan mesaĝon.";
-App::$strings["You receive a friend suggestion"] = "Vi ricevas amikosugeston";
-App::$strings["You are tagged in a post"] = "Vi estas markita en afiŝon";
-App::$strings["Advanced Account/Page Type Settings"] = "Detalaj Agordoj pri Tipo de Konto/Paĝo.";
-App::$strings["Change the behaviour of this account for special situations"] = "Agordi la teniĝon de la konto en specialaj situacioj";
-App::$strings["Manage Identities and/or Pages"] = "Administri identecojn kaj/aŭ paĝojn.";
-App::$strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Ŝalti inter aliaj identecojn aj komunumaj/grupaj paĝoj kiuj kunhavas viajn kontajn detalojn au por kiuj vi havas \"administranto\" permesojn.";
-App::$strings["Select an identity to manage: "] = "Elektu identencon por administrado:";
-App::$strings["Search Results For:"] = "Rezultoj de la serĉado pri:";
-App::$strings["Remove term"] = "Forviŝu terminon";
-App::$strings["Saved Searches"] = "Konservitaj Serĉadoj";
-App::$strings["add"] = "aldoni";
-App::$strings["Commented Order"] = "Komenta Ordo";
-App::$strings["Sort by Comment Date"] = "Ordigi laŭ Dato de Komento";
-App::$strings["Posted Order"] = "Afiŝita Ordo";
-App::$strings["Sort by Post Date"] = "Ordigi laŭ Dato de Afiŝado";
-App::$strings["Posts that mention or involve you"] = "Afiŝoj menciantaj vin aŭ pri vi";
-App::$strings["New"] = "Nova";
-App::$strings["Activity Stream - by date"] = "Fluo de Aktiveco - laŭ dato";
-App::$strings["Starred"] = "Steligita";
-App::$strings["Favourite Posts"] = "Favorigitaj Afiŝoj";
-App::$strings["Shared Links"] = "Kunhavigitaj Ligiloj";
-App::$strings["Interesting Links"] = "Interesaj Ligiloj";
-App::$strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Averto: La grupo enhavas %s membron el nesekuraj retejoj.",
- 1 => "Averto: La grupo enhavas %s membrojn el nesekuraj retejoj.",
-);
-App::$strings["Private messages to this group are at risk of public disclosure."] = "La privateco de privataj mesaĝoj al ĉi tiu grupo ne ĉiam estas garantita.";
-App::$strings["No such group"] = "Grupo ne estas trovita";
-App::$strings["Group is empty"] = "Grupo estas malplena";
-App::$strings["Group: "] = "Grupo:";
-App::$strings["Contact: "] = "Kontakto:";
-App::$strings["Private messages to this person are at risk of public disclosure."] = "La privateco de privataj mesaĝoj al ĉi tiu persono ne ĉiam estas garantita.";
-App::$strings["Invalid contact."] = "Nevalida kontakto.";
-App::$strings["Personal Notes"] = "Personaj Notoj";
-App::$strings["Save"] = "Konservi";
-App::$strings["Number of daily wall messages for %s exceeded. Message failed."] = "Number of daily wall messages for %s exceeded. Messaĝo malsukcesis.";
-App::$strings["No recipient selected."] = "Neniom da ricevontoj.";
-App::$strings["Unable to check your home location."] = "Ne eblas kontroli vian hejmlokon.";
-App::$strings["Message could not be sent."] = "Ne povas sendi la mesaĝon.";
-App::$strings["Message collection failure."] = "Malsukcese provis kolekti mesaĝojn.";
-App::$strings["Message sent."] = "Mesaĝo estas sendita.";
-App::$strings["No recipient."] = "Neniom da ricevontoj.";
-App::$strings["Please enter a link URL:"] = "Bonvolu entajpu adreson de ligilo:";
-App::$strings["Send Private Message"] = "Sendi Privatan Mesaĝon";
-App::$strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "Se vi deziras ke %s respondu, bonvolu kontroli ke la privatecaj agordoj je via retejo permesas privatajn mesaĝojn de nekonataj sendantoj.";
-App::$strings["To:"] = "Al:";
-App::$strings["Subject:"] = "Temo:";
-App::$strings["Your message:"] = "Via mesaĝo:";
-App::$strings["Welcome to Friendica"] = "Bonvenon ĉe Friendica";
-App::$strings["New Member Checklist"] = "Kontrololisto por Novaj Membroj";
-App::$strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "Lasu nin oferi al vi kelkajn konsolojn kaj ligilojn por plifaciligi vian komencon. Klaku iun elementon por viziti la rilatan paĝon. Ligilo al ĉi tiu paĝo videblos en via hejmpaĝo dum du semajnojn post via komenca membriĝo. Post du semajnoj, la ligilo silente malaperos. ";
-App::$strings["On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, connect to Facebook, make some new connections, and find some groups to join."] = "Je via <em>Rapida Starto</em> paĝo - trovu mallongan enigon pri via profilo kaj la reto folioj, konektu al Facebook, faru novajn konektojn kaj trovu aliĝindajn grupojn.";
-App::$strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "Bonvolu ŝanĝi vian pasvorton ĉe <em>Agordoj</em>. Krome, memorigu vian identadreson. Ĝi aspektas kiel retpoŝtadreso kaj estas bezonata por konekti al novaj amikon en la libera interkona reto.";
-App::$strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Kontrolu la aliajn agordojn, precipe la privatecajn agordojn. Nepublikigita profilo similas al havi telefonnumberon ne registrata en iu telefonlibro. Ĝenerale vi eble volas publikigi vian profilon. Alie, viaj amikoj kaj estontaj amikoj bezonas scii kiel rekte trovi vin.";
-App::$strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Enŝuti profilbildon se vi ankoraŭ ne havas ĝin. Laŭ studoj, homoj kun realaj biloj de si mem trovas novajn amikon duope pli probable ol homoj sen reala bildo.";
-App::$strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Rajtigu la Facebook Konektilon se vi nuntempe havas Facebook konton, kaj ni (nedeviga) enportu viajn Facebook amikojn kaj konversaciojn.";
-App::$strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "<em>Se</tm> ĉi tiu estas via propra TTT servilo, instali la Facebook kromprogramon eble plifaciligos la transpason al la libera interkona reto.";
-App::$strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Entajpu la akreditaĵojn por via retpoŝtkonto en la konektilagordoj se vi volas importi aŭ interagi kun amikoj aŭ dissendlistoj pere de via retkesto.";
-App::$strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Redakti viajn <strong>defaŭltan</strong> profilon kiel vi ŝatas ĝin. Kontrolu la agordojn por kaŝi vian kontaktliston aŭ kaŝi vian profilon al nekonataj vizitantoj.";
-App::$strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Aldonu publikajn ŝlosilvortojn al via defaŭlta profilo, kiuj priskribas viajn interesojn. Ni eble povas trovi aliajn uzantojn kun similaj interesoj kaj sugesti amikojn.";
-App::$strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "Via kontaktpaĝo estas via portalo por administri amikojn kaj konekti kun amikoj en aliaj retoj. Vi kutime entajpas iliajn adreson aŭ URL adreso en la <em>Aldonu Novan Kontakton</em> dialogon.";
-App::$strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Ĉe la Katalogo vi povas trovi aliajn homojn en ĉi tiu retejo, au en aliaj federaciaj retejoj. Elrigardi al <em>Konekti</em> aŭ <em>Sekvi</em> ligiloj ĉe iliaj profilo. Donu vian propran Identecan Adreson se la retejo demandas ĝin.";
-App::$strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "En la flanka strio de la Kontaktoj paĝo troviĝas kelkajn helpilojn por trovi novajn amikojn. Ni povas automate trovi amikojn per interesoj, serĉu ilin per nomo aŭ intereso kaj faras sugestojn baze de estantaj kontaktoj. Ĉe nova instalita retejo, la unuaj sugestoj kutime aperas post 24 horoj.";
-App::$strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Kiam vi trovis kelkajn novajn amikojn, ordigi ilin en grupoj por privata komunikado en la flanka strio de via Kontaktoj paĝo, kaj vi povas private komuniki kun ili je via Reto paĝo.";
-App::$strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Niaj <strong>Helpo</strong> paĝoj enhavas pli da detaloj pri aliaj programaj trajtoj.";
-App::$strings["Item not available."] = "Elemento ne disponeblas.";
-App::$strings["Item was not found."] = "Elemento ne trovita.";
-App::$strings["Group created."] = "Grupo estas kreita.";
-App::$strings["Could not create group."] = "Ne povas krei grupon.";
-App::$strings["Group not found."] = "Grupo ne estas trovita.";
-App::$strings["Group name changed."] = "La nomo de la grupo estas ŝanĝita.";
-App::$strings["Permission denied"] = "Malpermesita";
-App::$strings["Create a group of contacts/friends."] = "Krei grupon da kontaktoj/amikoj.";
-App::$strings["Group Name: "] = "Nomo de la grupo:";
-App::$strings["Group removed."] = "Grupo estas forviŝita.";
-App::$strings["Unable to remove group."] = "Ne eblas forviŝi grupon.";
-App::$strings["Group Editor"] = "Grupa redaktilo";
-App::$strings["Members"] = "Anoj";
-App::$strings["Click on a contact to add or remove."] = "Klaku kontakton por aldoni aŭ forviŝi.";
-App::$strings["Invalid profile identifier."] = "Nevaliada profila identigilo.";
-App::$strings["Profile Visibility Editor"] = "Redaktilo por profila videbleco.";
-App::$strings["Profile"] = "Profilo";
-App::$strings["Visible To"] = "Videbla Al";
-App::$strings["All Contacts (with secure profile access)"] = "Ĉiuj Kontaktoj (kun sekura atingo al la profilo)";
-App::$strings["No contacts."] = "Neniu kontaktojn.";
-App::$strings["View Contacts"] = "Vidi Kontaktojn";
-App::$strings["Registration details for %s"] = "Detaloj de la registrado por %s";
-App::$strings["Registration successful. Please check your email for further instructions."] = "Registrado sukcesis. Bonvolu kontroli vian retpoŝton por pli da instruoj.";
-App::$strings["Failed to send email message. Here is the message that failed."] = "Malsukcesis sendi retpoŝton. Jen la malsukcesa mesaĝo.";
-App::$strings["Your registration can not be processed."] = "Mi ne povas prilabori vian registradon.";
-App::$strings["Registration request at %s"] = "Peto de registrado al %s";
-App::$strings["Your registration is pending approval by the site owner."] = "Via registrado bezonas apropbon de la administranto.";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "La retejo transiras la maksimuman kvanton da ĉiutagaj kontaj registradoj. Bonvolu provi denove morgaŭ.";
-App::$strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Vi ankaŭ (nedeviga) povas plenigi la formularon per OpenID se vi provizas vian OpenID adreson kaj klakas 'Registri'.";
-App::$strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Se vi ne konas OpenID, bonvolu lasi tiun kampon malplena kaj entajpu la aliajn elementojn.";
-App::$strings["Your OpenID (optional): "] = "Via OpenID (nedeviga):";
-App::$strings["Include your profile in member directory?"] = "Aldoni vian profilon al la membrokatalogo?";
-App::$strings["Membership on this site is by invitation only."] = "Membriĝi ĉi tie nur eblas laŭ invito.";
-App::$strings["Your invitation ID: "] = "Via invita idento: ";
-App::$strings["Registration"] = "Registrado";
-App::$strings["Your Full Name (e.g. Joe Smith): "] = "Via Plena Nomo (e.g. Joe Smith): ";
-App::$strings["Your Email Address: "] = "Via Retpoŝtadreso: ";
-App::$strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Elektu kaŝnomon por la profilo. Tiu bezonas komenci kun teksta litero. Poste, via profila adreso ĉi tie estos: '<strong>kaŝnomo@\$sitename</strong>'.";
-App::$strings["Choose a nickname: "] = "Elektu kaŝnomon: ";
-App::$strings["Register"] = "Registri";
-App::$strings["People Search"] = "Serĉi Membrojn";
-App::$strings["status"] = "staton";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s ŝatas la %3\$s de %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s malŝatas la %3\$s de %2\$s";
-App::$strings["Item not found."] = "Elemento ne estas trovita.";
-App::$strings["Access denied."] = "Atingo nepermesita.";
-App::$strings["Photos"] = "Bildoj";
-App::$strings["Files"] = "Dosieroj";
-App::$strings["Account approved."] = "Konto aprobita.";
-App::$strings["Registration revoked for %s"] = "Registraĵo por %s senvalidigita.";
-App::$strings["Please login."] = "Bonvolu ensaluti.";
-App::$strings["Unable to locate original post."] = "Ne eblas trovi originalan afiŝon.";
-App::$strings["Empty post discarded."] = "Forviŝis malplenan afiŝon.";
-App::$strings["Wall Photos"] = "Muraj Bildoj";
-App::$strings["System error. Post not saved."] = "Sistema eraro. Afiŝo ne registrita.";
-App::$strings["This message was sent to you by %s, a member of the Friendica social network."] = "Ĉi mesaĝo estas sendita al vi de %s, membro de la Friendica interkona reto.";
-App::$strings["You may visit them online at %s"] = "Vi povas viziti ilin rete ĉe %s";
-App::$strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Bonvolu rispondi al ĉi mesaĝo kaj kontaktu la sendinto se vi ne volas ricevi tiujn mesaĝojn.";
-App::$strings["%s posted an update."] = "%s publikigis afiŝon.";
-App::$strings["Image uploaded but image cropping failed."] = "Bildo estas alŝutita, sed malsukcesis tranĉi la bildon.";
-App::$strings["Image size reduction [%s] failed."] = "Malsukcesis malpligrandigi [%s] la bildon.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Reŝarĝu la paĝon au malplenigu la kaŝmemoro de la retesplorilo se la nova bildo ne tuj aperas.";
-App::$strings["Unable to process image"] = "Ne eblas procezi bildon.";
-App::$strings["Image exceeds size limit of %d"] = "Bildo estas pli granda ol la limito %d";
-App::$strings["Upload File:"] = "Alŝuti dosieron:";
-App::$strings["Upload Profile Photo"] = "Alŝuti profilbildon";
-App::$strings["Upload"] = "Alŝuti";
-App::$strings["skip this step"] = "Preterpasi tian paŝon";
-App::$strings["select a photo from your photo albums"] = "elekti bildon el viaj albumoj";
-App::$strings["Crop Image"] = "Stuci Bildon";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Bonvolu agordi la stuco de la bildo por optimuma aspekto.";
-App::$strings["Done Editing"] = "Finigi Redaktado";
-App::$strings["Image uploaded successfully."] = "Bildo estas sukcese enŝutita.";
-App::$strings["No profile"] = "Neniu profilo";
-App::$strings["Remove My Account"] = "Forigi Mian Konton";
-App::$strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Tio tute forigos vian konton. Kiam farita, la konto ne estas restaŭrebla.";
-App::$strings["Please enter your password for verification:"] = "Bonvolu entajpi vian pasvorton por kontrolado:";
-App::$strings["New Message"] = "Nova Mesaĝo";
-App::$strings["Unable to locate contact information."] = "Ne eblas trovi kontaktajn informojn.";
-App::$strings["Message deleted."] = "Mesaĝo estas forviŝita.";
-App::$strings["Conversation removed."] = "Dialogo estas forviŝita.";
-App::$strings["No messages."] = "Neniom da mesaĝoj.";
-App::$strings["Unknown sender - %s"] = "Nekonata sendanto - %s";
-App::$strings["You and %s"] = "Vi kaj %s";
-App::$strings["%s and You"] = "%s kaj vi";
-App::$strings["Delete conversation"] = "Forviŝi dialogon";
-App::$strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-App::$strings["%d message"] = array(
- 0 => "%d mesaĝo",
- 1 => "%d mesaĝoj",
-);
-App::$strings["Message not available."] = "Mesaĝo nedisponebla.";
-App::$strings["Delete message"] = "Forviŝu mesaĝon";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Sekura komunikado ne disponeblas. Vi <strong>eble</strong> povus respondi sur la profilpaĝo de la sendanto.";
-App::$strings["Send Reply"] = "Respondi";
-App::$strings["Friends of %s"] = "Amikoj de %s";
-App::$strings["No friends to display."] = "Neniom da amiko al montri.";
-App::$strings["Theme settings updated."] = "Gisdatigis agordojn pri etosoj.";
-App::$strings["Site"] = "Retejo";
-App::$strings["Users"] = "Uzantoj";
-App::$strings["Plugins"] = "Kromprogramoj";
-App::$strings["Themes"] = "Etosoj";
-App::$strings["DB updates"] = "DB ĝisdatigoj";
-App::$strings["Logs"] = "Protokoloj";
-App::$strings["Admin"] = "Administrado";
-App::$strings["Plugin Features"] = "Kromprogramaj Trajtoj";
-App::$strings["User registrations waiting for confirmation"] = "Uzantaj registradoj atendante konfirmon";
-App::$strings["Normal Account"] = "Normala konto";
-App::$strings["Soapbox Account"] = "Soapbox Konto";
-App::$strings["Community/Celebrity Account"] = "Komunuma/eminentula Konto";
-App::$strings["Automatic Friend Account"] = "Aŭtomata Amika Konto";
-App::$strings["Message queues"] = "Mesaĝvicoj";
-App::$strings["Administration"] = "Administrado";
-App::$strings["Summary"] = "Resumo";
-App::$strings["Registered users"] = "Registrataj uzantoj";
-App::$strings["Pending registrations"] = "Okazontaj registradoj";
-App::$strings["Version"] = "Versio";
-App::$strings["Active plugins"] = "Ŝaltitaj kromprogramoj";
-App::$strings["Site settings updated."] = "Ĝisdatigis retejaj agordoj.";
-App::$strings["Closed"] = "Ferma";
-App::$strings["Requires approval"] = "Bezonas aprobon";
-App::$strings["Open"] = "Malferma";
-App::$strings["No SSL policy, links will track page SSL state"] = "Sen SSL strategio. Ligiloj sekvos la SSL staton de la paĝo.";
-App::$strings["Force all links to use SSL"] = "Devigi ke ĉiuj ligiloj uzu SSL.";
-App::$strings["Self-signed certificate, use SSL for local links only (discouraged)"] = "Memsubskribita atestilo, nur uzu SSL por lokaj ligiloj (malkuraĝigata)";
-App::$strings["File upload"] = "Alŝuto";
-App::$strings["Policies"] = "Politiko";
-App::$strings["Advanced"] = "Altnivela";
-App::$strings["Site name"] = "Nomo de retejo";
-App::$strings["Banner/Logo"] = "Emblemo";
-App::$strings["System language"] = "Sistema lingvo";
-App::$strings["System theme"] = "Sistema etoso";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Defaŭlta sistema etoso - transpasebla de uzantprofiloj - <a href='#' id='cnftheme'>redakti agordoj pri etosoj</a>";
-App::$strings["SSL link policy"] = "Strategio por SSL ligiloj";
-App::$strings["Determines whether generated links should be forced to use SSL"] = "Difinas ĉu generotaj ligiloj devige uzu SSL.";
-App::$strings["Maximum image size"] = "Maksimuma bildgrando";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maksimuma grando en bajtoj por alŝutotaj bildoj. Defaŭlte 0, kio signifas neniu limito.";
-App::$strings["Register policy"] = "Interkonsento pri registrado";
-App::$strings["Register text"] = "Interkonsento teksto";
-App::$strings["Will be displayed prominently on the registration page."] = "Tio estos eminente montrata en la registro paĝo.";
-App::$strings["Accounts abandoned after x days"] = "Kontoj forlasitaj post x tagoj";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Mi ne malŝparu energion por enketi aliajn retejojn pri forlasitaj kontoj. Entajpu 0 por ne uzi templimo.";
-App::$strings["Allowed friend domains"] = "Permesitaj amikaj domainoj";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Perkome disigita listo da domajnoj kiuj rajtas konstrui amikecojn kun ĉi tiu retejo. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn.";
-App::$strings["Allowed email domains"] = "Permesitaj retpoŝtaj domajnoj";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Perkome disigita listo da domajnoj kiuj uzeblas kiel retpoŝtaj adresoj en novaj registradoj. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn.";
-App::$strings["Block public"] = "Bloki publike";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Elektu por bloki publikan atingon al ĉiuj alie publikajn paĝojn en ĉi tiu retejo kiam vi ne estas ensalutita.";
-App::$strings["Force publish"] = "Devigi publikigon";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Elektu por devigi la registradon en la loka katalogo al ĉiuj profiloj en ĉi tiu retejo.";
-App::$strings["Global directory update URL"] = "Ĝenerala adreso por ĝisdatigi la katalogon";
-App::$strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = "URL adreso por ĝisdatigi la tutmondan katalogon. Se ne agordita, la tutmonda katatolge tute ne disponeblas al la programo.";
-App::$strings["Block multiple registrations"] = "Bloki pluroblajn registradojn.";
-App::$strings["Disallow users to register additional accounts for use as pages."] = "Malpermesi al uzantoj la permeson por registri pluajn kontojn kiel paĝoj.";
-App::$strings["OpenID support"] = "Subteno por OpenID";
-App::$strings["OpenID support for registration and logins."] = "Subteni OpenID por registrado kaj ensaluto.";
-App::$strings["Fullname check"] = "Kontroli plenan nomon";
-App::$strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "Kiel kontraŭspamilo, devigi uzantoj al registrado kun spaceto inter la persona nomo kaj la familia nomo.";
-App::$strings["UTF-8 Regular expressions"] = "UTF-8 regulaj exprimoj";
-App::$strings["Use PHP UTF8 regular expressions"] = "Uzi PHP UTF8 regulajn esprimojn.";
-App::$strings["Show Community Page"] = "Montri Komunuma Paĝo";
-App::$strings["Display a Community page showing all recent public postings on this site."] = "Montri komunuma paĝo kun ĉiuj ĵusaj afiŝoj en ĉi tiu retejo.";
-App::$strings["Enable OStatus support"] = "Ŝalti subtenon por OStatus";
-App::$strings["Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Provizi integritan OStatus (identi.ca, status.net ktp) subtenon. Ĉiuj komunikadoj en OStatus estas publikaj, do privatecaj avertoj aperos de tempo al tempo.";
-App::$strings["Enable Diaspora support"] = "Ŝalti subtenon por Diaspora";
-App::$strings["Provide built-in Diaspora network compatibility."] = "Provizi integritan Diaspora subtenon.";
-App::$strings["Only allow Friendica contacts"] = "Nur permesigi Friendica kontaktojn";
-App::$strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Ĉiuj kontaktoj devas uzi Friendica protokolojn. Ĉiuj aliaj komunikaj protokoloj malaktivita.";
-App::$strings["Verify SSL"] = "Kontroli SSL";
-App::$strings["If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."] = "Se vi deziras, vi povas aktivigi severan kontroladon de SSL atestiloj. Pro tio, vie (tute) ne eblos konekti al SSL retejoj kun memsubskribitaj atestiloj.";
-App::$strings["Proxy user"] = "Uzantnomo por retperanto";
-App::$strings["Proxy URL"] = "URL adreso de retperanto";
-App::$strings["Network timeout"] = "Reta tempolimo";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valoro en sekundoj. Uzu 0 por mallimitigi (ne rekomendata).";
-App::$strings["Delivery interval"] = "Intervalo de liverado";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Malfruigi fonan liveradon dum tiom da sekundoj por malpliigi la ŝargon de la sistemo. Rekomendoj: 4-5 por komunaj serviloj, 2-3 por virtualaj privataj serviloj, 0-1 por grandaj dediĉitaj serviloj.";
-App::$strings["Poll interval"] = "Enketintervalo";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Malfruigi fonajn enketprocesojn je tiom da sekundoj por malpliigi la ŝargon de la sistemo. Se 0, uzas la liverintervalon.";
-App::$strings["Maximum Load Average"] = "Maksimuma Meza Sistemŝargo";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maksimuma sistemŝargo post kiu livero- kaj enketprocesoj estos prokrastinataj. - Defaŭlte 50.";
-App::$strings["Update has been marked successful"] = "Ĝisdatigo estas markita sukcesa";
-App::$strings["Executing %s failed. Check system logs."] = "Ne sukcesis plenumi %s. Kontrolu la sistemprotokolojn.";
-App::$strings["Update %s was successfully applied."] = "Sukcese aplikis la ĝisdatigo %s.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Ĝisdatigo %s ne liveris elirstaton. ";
-App::$strings["Update function %s could not be found."] = "Ne troveblas ĝisdatigo funkcio %s.";
-App::$strings["No failed updates."] = "Neniom da malsukcesaj ĝisdatigoj.";
-App::$strings["Failed Updates"] = "Malsukcesaj Ĝisdatigoj";
-App::$strings["This does not include updates prior to 1139, which did not return a status."] = "Ne inkluzivas ĝisdatigojn antaŭ 1139, kiuj ne liveris elirstaton.";
-App::$strings["Mark success (if update was manually applied)"] = "Marki sukcesa (se la ĝisdatigo estas instalita mane)";
-App::$strings["Attempt to execute this update step automatically"] = "Provi automate plenumi ĉi tian paŝon de la ĝisdatigo.";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "Blokis/malblokis %s uzanton",
- 1 => "Blokis/malblokis %s uzantojn",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s uzanto forviŝita",
- 1 => "%s uzanto forviŝitaj",
-);
-App::$strings["User '%s' deleted"] = "Uzanto '%s' forviŝita";
-App::$strings["User '%s' unblocked"] = "Uzanto '%s' malblokita";
-App::$strings["User '%s' blocked"] = "Uzanto '%s' blokita";
-App::$strings["select all"] = "elekti ĉiujn";
-App::$strings["User registrations waiting for confirm"] = "Registriĝoj atendante aprobon";
-App::$strings["Request date"] = "Dato de peto";
-App::$strings["Email"] = "Retpoŝto";
-App::$strings["No registrations."] = "Neniom da registriĝoj.";
-App::$strings["Deny"] = "Negi";
-App::$strings["Register date"] = "Dato de registrado";
-App::$strings["Last login"] = "Plej ĵusa ensaluto";
-App::$strings["Last item"] = "Plej ĵusa elemento";
-App::$strings["Account"] = "Konto";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "La elektitaj uzantkontoj estas forviŝotaj!\\n\\nĈiuj elementoj kiujn ili afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "La uzanto {0} estas forviŝota!\\n\\nĈiuj elementoj kiujn li afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?";
-App::$strings["Plugin %s disabled."] = "Kromprogramo %s estas malŝaltita.";
-App::$strings["Plugin %s enabled."] = "Kromprogramo %s estas ŝaltita.";
-App::$strings["Disable"] = "Malŝalti";
-App::$strings["Enable"] = "Ŝalti";
-App::$strings["Toggle"] = "Ŝalti/Malŝalti";
-App::$strings["Author: "] = "Aŭtoro: ";
-App::$strings["Maintainer: "] = "Prizorganto: ";
-App::$strings["No themes found."] = "Ne trovis etosojn.";
-App::$strings["Screenshot"] = "Ekrankopio";
-App::$strings["[Experimental]"] = "[Eksperimenta]";
-App::$strings["[Unsupported]"] = "[Nesubtenata]";
-App::$strings["Log settings updated."] = "Protokolagordoj ĝisdatigitaj.";
-App::$strings["Clear"] = "Forviŝi";
-App::$strings["Debugging"] = "Sencimigado";
-App::$strings["Log file"] = "Protokolo";
-App::$strings["Must be writable by web server. Relative to your Friendica top-level directory."] = "Devas esti skribebla de la retservilo. Relativa al via plej supra Friendica dosierujo.";
-App::$strings["Log level"] = "Protokolnivelo";
-App::$strings["Close"] = "Fermi";
-App::$strings["FTP Host"] = "FTP Servilo";
-App::$strings["FTP Path"] = "FTP Vojo";
-App::$strings["FTP User"] = "FTP Uzanto";
-App::$strings["FTP Password"] = "FTP Pasvorto";
-App::$strings["Requested profile is not available."] = "La petita profilo ne disponeblas.";
-App::$strings["Access to this profile has been restricted."] = "Atingo al ĉi tio profilo estas limitigita";
-App::$strings["Tips for New Members"] = "Konsilo por novaj membroj";
-App::$strings["{0} wants to be your friend"] = "{0} volas amikiĝi kun vi";
-App::$strings["{0} sent you a message"] = "{0} sendis mesaĝon al vi";
-App::$strings["{0} requested registration"] = "{0} petis registradon";
-App::$strings["{0} commented %s's post"] = "{0} komentis pri la afiŝo de %s";
-App::$strings["{0} liked %s's post"] = "{0} satis la afiŝon de %s";
-App::$strings["{0} disliked %s's post"] = "{0} malŝatis la afiŝon de %s";
-App::$strings["{0} is now friends with %s"] = "{0} amikiĝis kun %s";
-App::$strings["{0} posted"] = "{0} afiŝis";
-App::$strings["{0} tagged %s's post with #%s"] = "{0} markis la afiŝon de %s kun #%s";
-App::$strings["{0} mentioned you in a post"] = "{0} menciis vin en afiŝo";
-App::$strings["Contacts who are not members of a group"] = "Kontaktoj kiuj ne estas en iu grupo";
-App::$strings["OpenID protocol error. No ID returned."] = "Eraro en OpenID protokolo. Ne resendis identecon.";
-App::$strings["Account not found and OpenID registration is not permitted on this site."] = "Ne trovis kontoj, kaj registrado per OpenID estas malpermesita ĉi tie.";
-App::$strings["Login failed."] = "Ensalutado malsukcesis.";
-App::$strings["Contact added"] = "Aldonis kontakton";
-App::$strings["Common Friends"] = "Komunaj Amikoj";
-App::$strings["No contacts in common."] = "Neniom da komunaj kontaktoj.";
-App::$strings["Item has been removed."] = "Elemento estas forviŝita.";
-App::$strings["Applications"] = "Programoj";
-App::$strings["No installed applications."] = "Neniom da instalitaj programoj.";
-App::$strings["Search"] = "Serĉi";
-App::$strings["Profile not found."] = "Profilo ne trovita.";
-App::$strings["Profile Name is required."] = "Nomo de profilo estas bezonata.";
-App::$strings["Marital Status"] = "Amrilata Stato";
-App::$strings["Romantic Partner"] = "Kora Partnero";
-App::$strings["Likes"] = "Ŝatoj";
-App::$strings["Dislikes"] = "Malŝatoj";
-App::$strings["Work/Employment"] = "Laboro";
-App::$strings["Religion"] = "Religio";
-App::$strings["Political Views"] = "Politikaj Opinioj";
-App::$strings["Gender"] = "Sekso";
-App::$strings["Sexual Preference"] = "Seksa Prefero";
-App::$strings["Homepage"] = "Hejmpaĝo";
-App::$strings["Interests"] = "Interesoj";
-App::$strings["Address"] = "Adreso";
-App::$strings["Location"] = "Loko";
-App::$strings["Profile updated."] = "Profilo ĝisdatigita.";
-App::$strings[" and "] = " kaj ";
-App::$strings["public profile"] = "publika profilo";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ŝanĝis %2\$s al &ldquo;%3\$s&rdquo;";
-App::$strings[" - Visit %1\$s's %2\$s"] = " - Vizitu la %2\$s de %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s havas ĝisdatigigan %2\$s, ŝanĝas %3\$s.";
-App::$strings["Profile deleted."] = "Profilo forviŝita.";
-App::$strings["Profile-"] = "Profilo-";
-App::$strings["New profile created."] = "Nova profilo kreita.";
-App::$strings["Profile unavailable to clone."] = "Ne eblas kopii profilon.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Kaŝi vian liston de kontaktoj/amikoj al vidantoj de ĉi-tio profilo?";
-App::$strings["Edit Profile Details"] = "Redakti Detalojn de Profilo";
-App::$strings["View this profile"] = "Vidi la profilon.";
-App::$strings["Create a new profile using these settings"] = "Krei novan profilon kun tiaj agordoj";
-App::$strings["Clone this profile"] = "Kopii ĉi tiun profilon";
-App::$strings["Delete this profile"] = "Forviŝi ĉi tiun profilon";
-App::$strings["Profile Name:"] = "Nomo de Profilo:";
-App::$strings["Your Full Name:"] = "Via Plena Nomo:";
-App::$strings["Title/Description:"] = "Titolo/Priskribo:";
-App::$strings["Your Gender:"] = "Via Sekso:";
-App::$strings["Birthday (%s):"] = "Naskiĝtago (%s):";
-App::$strings["Street Address:"] = "Adreso:";
-App::$strings["Locality/City:"] = "Urbo:";
-App::$strings["Postal/Zip Code:"] = "Poŝtkodo:";
-App::$strings["Country:"] = "Lando:";
-App::$strings["Region/State:"] = "Ŝtato:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Civita Stato:";
-App::$strings["Who: (if applicable)"] = "Kiu (se aplikeble):";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Ekzemploj: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since [date]:"] = "Ekde [dato]:";
-App::$strings["Sexual Preference:"] = "Seksa Prefero:";
-App::$strings["Homepage URL:"] = "Adreso de Hejmpaĝo:";
-App::$strings["Hometown:"] = "Hejmurbo:";
-App::$strings["Political Views:"] = "Politikaj Opinioj:";
-App::$strings["Religious Views:"] = "Religiaj Opinioj:";
-App::$strings["Public Keywords:"] = "Publikaj ŝlosilvortoj:";
-App::$strings["Private Keywords:"] = "Privataj ŝlosilvortoj:";
-App::$strings["Likes:"] = "Ŝatoj:";
-App::$strings["Dislikes:"] = "Malŝatoj:";
-App::$strings["Example: fishing photography software"] = "Ekzemple: fiŝkapti fotografio programaro";
-App::$strings["(Used for suggesting potential friends, can be seen by others)"] = "(Por sugesti amikoj. Videbla al aliaj.)";
-App::$strings["(Used for searching profiles, never shown to others)"] = "(Por serĉi profilojn. Neniam videbla al aliaj.)";
-App::$strings["Tell us about yourself..."] = "Diru al ni pri vi...";
-App::$strings["Hobbies/Interests"] = "Ŝatokupoj/Interesoj";
-App::$strings["Contact information and Social Networks"] = "Kontaktaj informoj kaj Interkonaj Retejoj";
-App::$strings["Musical interests"] = "Muzikaj interesoj";
-App::$strings["Books, literature"] = "Libroj, literaturo";
-App::$strings["Television"] = "Televido";
-App::$strings["Film/dance/culture/entertainment"] = "Filmoj/dancoj/arto/amuzaĵoj";
-App::$strings["Love/romance"] = "Amo/romanco";
-App::$strings["Work/employment"] = "Laboro";
-App::$strings["School/education"] = "Lernejo/eduko";
-App::$strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Ĉi tio estas via <strong>publika</strong> profilo. Ĝi <strong>eble</strong> estas videbla al ĉiuj en interreto. ";
-App::$strings["Age: "] = "Aĝo:";
-App::$strings["Edit/Manage Profiles"] = "Redakti/administri Profilojn";
-App::$strings["Change profile photo"] = "Ŝanĝi profilbildon";
-App::$strings["Create New Profile"] = "Krei novan profilon";
-App::$strings["Profile Image"] = "Profilbildo";
-App::$strings["visible to everybody"] = "videbla al ĉiuj";
-App::$strings["Edit visibility"] = "Redakti videblecon";
-App::$strings["Save to Folder:"] = "Konservi en Dosierujo:";
-App::$strings["- select -"] = "- elekti -";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s markis la %3\$s de %2\$s kun %4\$s";
-App::$strings["No potential page delegates located."] = "Ne trovis delegiteblajn paĝojn.";
-App::$strings["Delegate Page Management"] = "Administrado de Delegitajn Paĝojn";
-App::$strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Delegitoj povas administri ĉiujn ecojn de la konto/paĝo, escepte bazaj kontoagordoj. Bonvolu ne delegitigi vian personan konton al iu al kiu vi ne plene fidas.";
-App::$strings["Existing Page Managers"] = "Estantaj Administrantoj de la Paĝo";
-App::$strings["Existing Page Delegates"] = "Estantaj Delegitoj de la Paĝo";
-App::$strings["Potential Delegates"] = "Eblaj Delegitoj";
-App::$strings["Add"] = "Aldoni";
-App::$strings["No entries."] = "Neniom da afiŝoj.";
-App::$strings["Friend Suggestions"] = "Amikosugestoj";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Neniu sugestoj disponeblas. Se ĉi tiu estas nova retejo, bonvolu reprovi post 24 horoj.";
-App::$strings["Ignore/Hide"] = "Ignori/Kaŝi";
-App::$strings["Global Directory"] = "Tutmonda Katalogo";
-App::$strings["Find on this site"] = "Trovi en ĉi retejo";
-App::$strings["Site Directory"] = "Reteja Katalogo";
-App::$strings["Gender: "] = "Sekso:";
-App::$strings["No entries (some entries may be hidden)."] = "Neniom da afiŝoj (kelkaj afiŝoj eble ne estas videbla).";
-App::$strings["%s : Not a valid email address."] = "%s: Ne estas valida retpoŝtadreso.";
-App::$strings["Please join us on Friendica"] = "Bonvolu aliĝi kun ni ĉe Friendica";
-App::$strings["%s : Message delivery failed."] = "%s: La livero de la mesaĝo malsukcesis.";
-App::$strings["%d message sent."] = array(
- 0 => "Sendis %d mesaĝon.",
- 1 => "Sendis %d mesaĝojn.",
-);
-App::$strings["You have no more invitations available"] = "Vi ne plu disponeblas invitaĵojn";
-App::$strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "Vizitu %s por listo de publikaj retejoj kie vi povas aliĝi. Anoj de Friendica ĉe aliaj retejoj povas konekti unu kun la alian, kaj ankaŭ kun membroj de multaj aliaj retejoj.";
-App::$strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "Por akcepti ĉi tiu invito, bonvolu viziti kaj registriĝi ĉe %s au alia publika Friendica retejo.";
-App::$strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "Ĉiuj Friendica retejoj interkonektiĝas kaj kune faras grandan altprivatecan interkonan reton, kiun posedas kaj kontrolas ĝiaj membroj. Ili ankaŭ povas konekti kun multe de tradiciaj interkonaj retejoj. Vidu %s por listo de publikaj retejoj kie vi povas aliĝi.";
-App::$strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "Senkulpigu nin. La sistemo nuntempe ne estas agordita por konekti al aliaj retejoj au inviti membrojn.";
-App::$strings["Send invitations"] = "Sendi invitojn";
-App::$strings["Enter email addresses, one per line:"] = "Entajpu retpoŝtadresojn, po unu por ĉiu linio.";
-App::$strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "Ni bonkore invitas vin aliĝi kun ni kaj aliaj bonaj amikoj ĉe Friendica. Helpu nin krei pli bonan interkonan reton.";
-App::$strings["You will need to supply this invitation code: \$invite_code"] = "Vi bezonas ĉi-tiun invitkodon: \$invite_code";
-App::$strings["Once you have registered, please connect with me via my profile page at:"] = "Kiam vi registris, bonvolu konekti al mi pere de mi profilo ĉe: ";
-App::$strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Por pli da informoj pri Friendica, kaj kial ni pensas ke ĝi estas grava, bonvolu viziti http://friendica.com";
-App::$strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Tio ĉi okazis de tempo al tempo se ambaŭ personoj petas kontakton ka ĝi jam estas aprobita.";
-App::$strings["Response from remote site was not understood."] = "Ne komprenis la rispondon de la fora retejo.";
-App::$strings["Unexpected response from remote site: "] = "Neatendita rispondo de la fora retejo:";
-App::$strings["Confirmation completed successfully."] = "Konfirmo sukcese kompletigita.";
-App::$strings["Remote site reported: "] = "La fora retejo raportis:";
-App::$strings["Temporary failure. Please wait and try again."] = "Dumtempa eraro. Bonvolu atendi kaj provi refoje.";
-App::$strings["Introduction failed or was revoked."] = "La prezento malsukcesis au estas revokita.";
-App::$strings["Unable to set contact photo."] = "Neeblas agordi la kontaktbildo.";
-App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s amikiĝis kun %2\$s";
-App::$strings["No user record found for '%s' "] = "Ne trovis uzanton '%s' ";
-App::$strings["Our site encryption key is apparently messed up."] = "Ŝajnas kvazaŭ la ĉifroŝlosilo de nia retejo estas fuŝita.";
-App::$strings["Empty site URL was provided or URL could not be decrypted by us."] = "Malplena adreso de retejo provizita, aŭ ni ne povis malĉifri la adreson.";
-App::$strings["Contact record was not found for you on our site."] = "Kontakto ne trovita por vi en via retejo.";
-App::$strings["Site public key not available in contact record for URL %s."] = "Publika ŝlosilo de retejo ne disponeblas en la kontaktrikordo por la URL adreso %s.";
-App::$strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "La identeco provizita de via sistemo estas duoblo ĉe nia sistemo. Ĝi eble funkcias se vi provas refoje.";
-App::$strings["Unable to set your contact credentials on our system."] = "Ne sukcesis agordi la legitimaĵojn de via kontakto ĉe nia sistemo.";
-App::$strings["Unable to update your contact profile details on our system"] = "Neeblas ĝisdatigi viajn profildetalojn ĉe nia sistemo.";
-App::$strings["Connection accepted at %s"] = "Konekto akceptita je %s";
-App::$strings["%1\$s has joined %2\$s"] = "%1\$s aliĝis al %2\$s";
-App::$strings["Google+ Import Settings"] = "Google+ Importo";
-App::$strings["Enable Google+ Import"] = "Aktivigi Ĝoogle+ Importon";
-App::$strings["Google Account ID"] = "Google Konto ID";
-App::$strings["Google+ Import Settings saved."] = "Konservis Agordojn por Google+ Importo.";
-App::$strings["Facebook disabled"] = "Facebook malŝaltita";
-App::$strings["Updating contacts"] = "Mi ĝisdatigas la kontaktojn.";
-App::$strings["Facebook API key is missing."] = "La API ŝlosilo de Facebook ne estas konata ĉi tie.";
-App::$strings["Facebook Connect"] = "Kontekto al Facebook";
-App::$strings["Install Facebook connector for this account."] = "Instali la Facebook konektilo por ĉi tiu konto.";
-App::$strings["Remove Facebook connector"] = "Forigi la Facebook konektilon.";
-App::$strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "Reaŭtentiĝi [Tio estas bezonata ĉiam kiam vi ŝanĝis vian pasvorton ĉe Facebook.]";
-App::$strings["Post to Facebook by default"] = "Ĉiam afiŝi al Facebook.";
-App::$strings["Facebook friend linking has been disabled on this site. The following settings will have no effect."] = "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. La sekvantaj agordoj do ne havas validecon.";
-App::$strings["Facebook friend linking has been disabled on this site. If you disable it, you will be unable to re-enable it."] = "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. Se vi malŝaltas ĝin, vi ne eblos ree ŝalti ĝin.";
-App::$strings["Link all your Facebook friends and conversations on this website"] = "Alligu ĉiujn viajn Facebook amikojn kaj konversaciojn je ĉi-tiu retejo.";
-App::$strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "Facebok konversacioj konsistas el via <em>profilmuro</em> kaj la <em>fluo</em> de viaj amikoj.";
-App::$strings["On this website, your Facebook friend stream is only visible to you."] = "Je ĉi-tiu retejo, la fluo de viaj amikoj ĉe Facebook nur videblas al vi.";
-App::$strings["The following settings determine the privacy of your Facebook profile wall on this website."] = "La sekvontaj agordoj difinas la privatecon de via Facebook profilmuro je ĉi-tiu retejo.";
-App::$strings["On this website your Facebook profile wall conversations will only be visible to you"] = "Je ĉi-tiu retejo, la conversacioj sur via Facebook profilmuro nur videblas al vi.";
-App::$strings["Do not import your Facebook profile wall conversations"] = "Ne importi konversaciojn de via Facebook profilmuro";
-App::$strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = "Se vi elektas alligi conversaciojn kaj ne elektas tiujn butonojn, via Facebook profilmuro estas kunigota kun via profilmuro ĉi tie. Viaj privatecaj agordoj ĉi tie difinos kiu povas vidi la coversaciojn.";
-App::$strings["Comma separated applications to ignore"] = "Ignorotaj programoj, disigita per komo";
-App::$strings["Problems with Facebook Real-Time Updates"] = "Problemoj kun Facebook Realtempaj Ĝisdatigoj";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Facebook Connector Settings"] = "Agordoj por la Facebook konektilo";
-App::$strings["Facebook API Key"] = "Facebook API ŝlosilo";
-App::$strings["Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>"] = "Eraro: Ŝajnas kvazaŭ vi agordis la App-ID kaj la sekreton en via .htconfig.php dosiero. Kiam ili estas agordita tie, vi ne povas agordi ĝin en tiu ĉi formo.<br><br>";
-App::$strings["Error: the given API Key seems to be incorrect (the application access token could not be retrieved)."] = "Eraro: La API ŝlosilo aspektas malĝusta (ne eblas ricevi la programa atingoĵetono).";
-App::$strings["The given API Key seems to work correctly."] = "La API ŝlosilo ŝajne ĝuste funkcias.";
-App::$strings["The correctness of the API Key could not be detected. Somthing strange's going on."] = "Ne povis kontroli la ĝustecon de la API ŝlosilo. Ia stranga afero okazas. ";
-App::$strings["App-ID / API-Key"] = "Programo ID / API Ŝlosilo";
-App::$strings["Application secret"] = "Programo sekreto";
-App::$strings["Polling Interval in minutes (minimum %1\$s minutes)"] = "Intervalo de enketo en minutoj (minimume %1\$s minutoj)";
-App::$strings["Synchronize comments (no comments on Facebook are missed, at the cost of increased system load)"] = "Sinkronigi komentojn (vi ricevas ĉiujn komentojn de Facebook, sed la ŝargo de la sistemo iom kreskas)";
-App::$strings["Real-Time Updates"] = "Realtempaj Ĝisdatigoj";
-App::$strings["Real-Time Updates are activated."] = "Realtempaj Ĝisdatigoj estas ŝaltita";
-App::$strings["Deactivate Real-Time Updates"] = "Malŝalti Realtempaj Ĝisdatigoj";
-App::$strings["Real-Time Updates not activated."] = "Realtempaj Ĝisdatigoj estas malŝaltita";
-App::$strings["Activate Real-Time Updates"] = "Ŝalti Realtempaj Ĝisdatigoj";
-App::$strings["The new values have been saved."] = "Konservis novajn valorojn.";
-App::$strings["Post to Facebook"] = "Afiŝi al Facebook";
-App::$strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Afiŝado al Facebook nuligita ĉar okazis konflikto en la multretpermesoj.";
-App::$strings["View on Friendica"] = "Vidi ĉe Friendica";
-App::$strings["Facebook post failed. Queued for retry."] = "Malsukcesis afiŝi ĉe Facebook. Enigita en vico.";
-App::$strings["Your Facebook connection became invalid. Please Re-authenticate."] = "Via Facbook konekto iĝis nevalida. Bonvolu reaŭtentiĝi.";
-App::$strings["Facebook connection became invalid"] = "Facebook konekto iĝis nevalida.";
-App::$strings["Hi %1\$s,\n\nThe connection between your accounts on %2\$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3\$sre-authenticate the Facebook-connector%4\$s."] = "Saluton %1\$s,\n\nla kontekto inter viaj kontoj ĉe %2\$s kaj Facebook malvalidiĝis. Tio kutime okazas post kiam via ŝangas vian pasvorton ĉe Facebook. Por reaktivigi la konekto, vi bezonas %3\$sreaŭtentiĝi la Facebook konektilon%4\$s.";
-App::$strings["StatusNet AutoFollow settings updated."] = "Ĝidatigis StatusNet AutoFollow agordojn.";
-App::$strings["StatusNet AutoFollow Settings"] = "StatusNet AutoFollow agordoj";
-App::$strings["Automatically follow any StatusNet followers/mentioners"] = "Aŭtomate sekvu ĉiujn StatusNet sekvantojn/menciantojn.";
-App::$strings["Lifetime of the cache (in hours)"] = "Vivodaŭro de kaŝmemoro (horoj)";
-App::$strings["Cache Statistics"] = "Statistikoj pri kaŝmemoro";
-App::$strings["Number of items"] = "Kvanto da eroj";
-App::$strings["Size of the cache"] = "Grando de la kaŝmemoro";
-App::$strings["Delete the whole cache"] = "Forviŝi la kaŝmemoron";
-App::$strings["%d person likes this"] = array(
- 0 => "%d homo ŝatas tiun",
- 1 => "%d homoj ŝatas tiun",
-);
-App::$strings["%d person doesn't like this"] = array(
- 0 => "%d homo malŝatas tiun",
- 1 => "%d homo malŝatas tiun",
-);
-App::$strings["Get added to this list!"] = "Iĝu membro de ĉi tiu listo!";
-App::$strings["Generate new key"] = "Generi novan ĉifroŝlosilon";
-App::$strings["Widgets key"] = "Ŝlosilo por fenestraĵoj";
-App::$strings["Widgets available"] = "Disponeblaj fenestraĵoj";
-App::$strings["Connect on Friendica!"] = "Konekti ĉe Friendica!";
-App::$strings["YourLS Settings"] = "\"YourLS\" Agordoj";
-App::$strings["URL: http://"] = "URL adreso: http://";
-App::$strings["Username:"] = "Salutnomo:";
-App::$strings["Password:"] = "Pasvorto:";
-App::$strings["Use SSL "] = "Uzi SSL ";
-App::$strings["yourls Settings saved."] = "Konservis la agordojn de YourLS.";
-App::$strings["Post to LiveJournal"] = "Afiŝi ĉe LiveJournal";
-App::$strings["LiveJournal Post Settings"] = "Agordoj pri afiŝoj ĉe LiveJournal";
-App::$strings["Enable LiveJournal Post Plugin"] = "Ŝalti la LiveJournal-afiŝo kromprogramon.";
-App::$strings["LiveJournal username"] = "LiveJournal Salutnomo";
-App::$strings["LiveJournal password"] = "LiveJournal pasvorto";
-App::$strings["Post to LiveJournal by default"] = "Defaŭlte afiŝi al LiveJournal";
-App::$strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Not Safe For Work (ĝenerala filtrilo por enhavoj) agordoj";
-App::$strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo. La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo.";
-App::$strings["Enable Content filter"] = "Ŝalti la filtrilo por la enhavo";
-App::$strings["Comma separated list of keywords to hide"] = "Perkome disigita listo da kaŝontaj ŝlosilvortoj";
-App::$strings["Use /expression/ to provide regular expressions"] = "Uzu /expr/ por provizi regulajn esprimojn.";
-App::$strings["NSFW Settings saved."] = "NSFW agordoj konservitaj.";
-App::$strings["%s - Click to open/close"] = "%s - Klaku por malfermi/fermi";
-App::$strings["Forums"] = "Forumoj";
-App::$strings["show more"] = "montri pli";
-App::$strings["Forums:"] = "Forumoj:";
-App::$strings["Page settings updated."] = "Paĝajn agordojn ĝisdatigita.";
-App::$strings["Page Settings"] = "Paĝaj Agordoj";
-App::$strings["How many forums to display on sidebar without paging"] = "Montri tiom da forumoj en la flanka strio sen paĝigo";
-App::$strings["Randomise Page/Forum list"] = "Hazardigi la liston de Paĝoj/Forumoj";
-App::$strings["Show pages/forums on profile page"] = "Montri paĝojn/forumojn sur la profilpaĝo";
-App::$strings["Planets Settings"] = "Agordo pri Planets";
-App::$strings["Enable Planets Plugin"] = "Ŝalti la Planets kromprogamon";
-App::$strings["Login"] = "Ensaluti";
-App::$strings["OpenID"] = "OpenID";
-App::$strings["Latest users"] = "Ĵusaj uzantoj";
-App::$strings["Most active users"] = "Plej aktivaj uzantoj";
-App::$strings["Latest photos"] = "Ĵusaj bildoj";
-App::$strings["Latest likes"] = "Ĵusaj ŝatitaĵoj";
-App::$strings["event"] = "okazo";
-App::$strings["U.S. Time Format (mm/dd/YYYY)"] = "Usona datformato (mm/dd/YYYY)";
-App::$strings["German Time Format (dd.mm.YYYY)"] = "Germana datformato (dd.mm.YYYY)";
-App::$strings["Error"] = "Eraro";
-App::$strings["No access"] = "No access";
-App::$strings["New event"] = "Nova okazo";
-App::$strings["Today"] = "Hodiaŭ";
-App::$strings["Day"] = "Tago";
-App::$strings["Week"] = "Semajno";
-App::$strings["Month"] = "Monato";
-App::$strings["Reload"] = "Reŝargi";
-App::$strings["Date"] = "Dato";
-App::$strings["Not found"] = "Ne trovita";
-App::$strings["Go back to the calendar"] = "Iri reen al la kalendaro";
-App::$strings["Starts"] = "Komencas";
-App::$strings["Ends"] = "Finas";
-App::$strings["Description"] = "Priskribo";
-App::$strings["Notification"] = "Atentigo";
-App::$strings["Minutes"] = "Minutoj";
-App::$strings["Hours"] = "Horoj";
-App::$strings["Days"] = "Tagoj";
-App::$strings["before"] = "antaŭ";
-App::$strings["Calendar Settings"] = "Kalendaraj Agordoj";
-App::$strings["Date format"] = "Datformato";
-App::$strings["Time zone"] = "Horzono";
-App::$strings["Limitations"] = "Limigoj";
-App::$strings["Warning"] = "Averto";
-App::$strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)";
-App::$strings["Synchronizing this calendar with the iPhone"] = "Sinkronigi tiun kalendaron kun la iPhone";
-App::$strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sinkronigi viajn Friendica kontaktojn kun la iPhone";
-App::$strings["Friendica-Contacts"] = "Friendica Kontaktoj";
-App::$strings["Your Friendica-Contacts"] = "Viaj Friendica Kontaktoj";
-App::$strings["Calendar"] = "Kalendaro";
-App::$strings["Extended calendar with CalDAV-support"] = "Etendita kalendaro kun CalDAV subteno";
-App::$strings["The database tables have been installed."] = "La tabeloj estas instalita en la datumbazo";
-App::$strings["An error occurred during the installation."] = "Eraro okazis dum instalado";
-App::$strings["No system-wide settings yet."] = "Ankoraŭ ne disponablas tutsistemaj agordoj";
-App::$strings["Database status"] = "Stato de datumbazo";
-App::$strings["Installed"] = "Instalita";
-App::$strings["Upgrade needed"] = "Ĝisdatigo bezonata";
-App::$strings["Upgrade"] = "Ĝisdatigo";
-App::$strings["Not installed"] = "Ne instalita";
-App::$strings["Install"] = "Instali";
-App::$strings["Troubleshooting"] = "Problemsolvado";
-App::$strings["Manual creation of the database tables:"] = "Mana kreado de tabeloj en la datumbazo:";
-App::$strings["Show SQL-statements"] = "Montru SQL ordonojn";
-App::$strings["Private Calendar"] = "Privata kalendaro";
-App::$strings["Friendica Events: Mine"] = "Friendica Okazoj: Miaj";
-App::$strings["Friendica Events: Contacts"] = "Friendica Okazoj: De Kontaktoj";
-App::$strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = "Permesi vian identecon ĉe Friendica (%s) por konekti al eksteraj konservejoj subtenata de unhosted (ekz. OwnCloud). Vidu <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>";
-App::$strings["Template URL (with {category})"] = "URL adreso de ŝablono (kun {category})";
-App::$strings["OAuth end-point"] = "OAuth finpunkto";
-App::$strings["Api"] = "Api";
-App::$strings["Member since:"] = "Membro ekde:";
-App::$strings["Three Dimensional Tic-Tac-Toe"] = "Tri-dimensia Tiktakto";
-App::$strings["3D Tic-Tac-Toe"] = "3D Tiktakto";
-App::$strings["New game"] = "Nova ludo";
-App::$strings["New game with handicap"] = "Nova ludo kun handikapo";
-App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Tri-dimensia tiktakto similas la tradician ludon, sed estas ludata sur pluraj ebenoj dum la sama tempo.";
-App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "Ĉi-kaze ekzistas tri ebenoj. Vi venkas vicigante tri signojn en una vico, en la sama ebeno, same kiel supren, malsupren aŭ diagonale, trans la ebenoj.";
-App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "La ludo kun handikapo malvalidigas la mezan pozicion sur la meza ebeno, ĉar la ludisto kio okupas ĉi tiun pozicion ĉiam havas avantaĝon.";
-App::$strings["You go first..."] = "Estas via vico unue.";
-App::$strings["I'm going first this time..."] = "Ĉi-tempe, unue estas mia vico.";
-App::$strings["You won!"] = "Vi venkis!";
-App::$strings["\"Cat\" game!"] = "Sendecida ludo!";
-App::$strings["I won!"] = "Mi venkis!";
-App::$strings["Randplace Settings"] = "Randplace agordoj.";
-App::$strings["Enable Randplace Plugin"] = "Aktivigi la Randplace kromprogramon.";
-App::$strings["Post to Dreamwidth"] = "Afiŝi al Dreamwidth";
-App::$strings["Dreamwidth Post Settings"] = "Agordoj por Afiŝoj al Dreamwidth";
-App::$strings["Enable dreamwidth Post Plugin"] = "Ŝalti la Dreamwidth Kromprogramon";
-App::$strings["dreamwidth username"] = "Dreamwidth salutnomo";
-App::$strings["dreamwidth password"] = "Dreamwidth pasvorto";
-App::$strings["Post to dreamwidth by default"] = "Defaŭlte afiŝi al Dreamwidth";
-App::$strings["Post to Drupal"] = "Afiŝi al Drupal";
-App::$strings["Drupal Post Settings"] = "Agordoj por Drupal Afiŝoj";
-App::$strings["Enable Drupal Post Plugin"] = "Ŝalti la Drupal-afiŝo Kromprogramon";
-App::$strings["Drupal username"] = "Drupal salutnomo";
-App::$strings["Drupal password"] = "Drupal pasvorto";
-App::$strings["Post Type - article,page,or blog"] = "Tipo de Afiŝoj - article, page, aŭ blog";
-App::$strings["Drupal site URL"] = "URL adreso de Drupal retejo";
-App::$strings["Drupal site uses clean URLS"] = "Drupal retejo uzas purajn URL adresojn";
-App::$strings["Post to Drupal by default"] = "Defaŭlte afiŝi ĉe Drupal";
-App::$strings["Post from Friendica"] = "Afiŝo de Friendica";
-App::$strings["Startpage Settings"] = "Startpaĝaj Agordoj";
-App::$strings["Home page to load after login - leave blank for profile wall"] = "Hejmpaĝo ŝargonta post la ensaluto - Lasu malplena por profilmuro.";
-App::$strings["Examples: &quot;network&quot; or &quot;notifications/system&quot;"] = "Ekzemple: &quot;network&quot; aŭ &quot;notifications/system&quot;";
-App::$strings["Geonames settings updated."] = "Ĝidatigis la Geonames agordojn.";
-App::$strings["Geonames Settings"] = "Geonames Agordoj";
-App::$strings["Enable Geonames Plugin"] = "Ŝalti la Geonames Kromprogramon";
-App::$strings["Your account on %s will expire in a few days."] = "Via konto ĉe %s senvalidiĝos post kelkaj tagoj.";
-App::$strings["Your Friendica account is about to expire."] = "Via konto ĉe Friendica baldaŭ senvalidiĝos.";
-App::$strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "Saluton %1\$s,\n\nVia konto ĉe %2\$s senvalidiĝos post malpli ol kvin tagoj. Vi povas konservi vian konton se vi ensalutas almenaŭ ĉiujn 30 tagojn. ";
-App::$strings["Upload a file"] = "Alŝuti dosieron";
-App::$strings["Drop files here to upload"] = "Ŝovmeti dosierojn ĉi tie por alŝuti ilin.";
-App::$strings["Failed"] = "Malsukcesi";
-App::$strings["No files were uploaded."] = "Neniom da dosieroj alŝutita.";
-App::$strings["Uploaded file is empty"] = "Alŝutita dosiero estas malplena.";
-App::$strings["File has an invalid extension, it should be one of "] = "Dosiero havas nevalidan sufikson. Ĝi estu unu de ";
-App::$strings["Upload was cancelled, or server error encountered"] = "Alŝutado estas nuligita aŭ okazis eraro sur la servilo";
-App::$strings["OEmbed settings updated"] = "Ĝisdatigis OEmbed agordojn";
-App::$strings["Use OEmbed for YouTube videos"] = "Uzi OEmbed por YouTube videtoj";
-App::$strings["URL to embed:"] = "Enigi la URL adreson:";
-App::$strings["Impressum"] = "Kolofono";
-App::$strings["Site Owner"] = "Proprietulo de la paĝo";
-App::$strings["Email Address"] = "Retpoŝta Adreso";
-App::$strings["Postal Address"] = "Poŝta Adreso";
-App::$strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "La kolofono (impressum) kromprogramo bezonas agordojn!<br />Bonvolu aldoni minimume la <tt>owner</tt> variablon al via agorda dosiero. Por aliaj variabloj, bonvolu legi la README dosieron de la kromprogramo.";
-App::$strings["The page operators name."] = "La nomo de la funkciigisto de la retejo.";
-App::$strings["Site Owners Profile"] = "Profilo de la Proprietulo de la Retejo";
-App::$strings["Profile address of the operator."] = "La profilo de la funkciigisto de la retejo.";
-App::$strings["How to contact the operator via snail mail. You can use BBCode here."] = "Kiel poŝte kontakti la funkciigisto de la retejo. Vi eblas uzi BBCode ĉi tie.";
-App::$strings["Notes"] = "Notoj";
-App::$strings["Additional notes that are displayed beneath the contact information. You can use BBCode here."] = "Pli da notoj kiuj aperas sub la kontaktinformoj. Vi eblas uzi BBCode ĉi tie.";
-App::$strings["How to contact the operator via email. (will be displayed obfuscated)"] = "Kiel kontakti la funkciigiston de la retejo per retpoŝto. (montriĝos vuale) ";
-App::$strings["Footer note"] = "Paĝpiednoto";
-App::$strings["Text for the footer. You can use BBCode here."] = "Teksto por la paĝpiedo. Vie eblas uzi BBCode ĉi tie.";
-App::$strings["Report Bug"] = "Skribi cimraporton";
-App::$strings["No Timeline settings updated."] = "No Timeline agordojn ĝisdatigita.";
-App::$strings["No Timeline Settings"] = "No Timeline Agordoj";
-App::$strings["Disable Archive selector on profile wall"] = "Malaktivigi la Arkivo elektilo sur la profilmuro";
-App::$strings["\"Blockem\" Settings"] = "\"Blockem\" Agordoj";
-App::$strings["Comma separated profile URLS to block"] = "Blokotaj URL adresoj, disigita per komo";
-App::$strings["BLOCKEM Settings saved."] = "Konservis Agordojn de BLOCKEM.";
-App::$strings["Blocked %s - Click to open/close"] = "%s blokita - Klaku por malfermi/fermi";
-App::$strings["Unblock Author"] = "Malbloki Aŭtoron";
-App::$strings["Block Author"] = "Bloki Aŭtoron";
-App::$strings["blockem settings updated"] = "Ĝisdatigis la blockem agordojn";
-App::$strings[":-)"] = ":-)";
-App::$strings[":-("] = ":-(";
-App::$strings["lol"] = "lol";
-App::$strings["Quick Comment Settings"] = "Agordoj pri Rapidaj Komentoj";
-App::$strings["Quick comments are found near comment boxes, sometimes hidden. Click them to provide simple replies."] = "Rapidaj komentoj troviĝas apud komentkampoj, kelkfoje kaŝita. Klaku ilin por provizi simplajn rispondojn.";
-App::$strings["Enter quick comments, one per line"] = "Entajpu rapidaj komentoj, po unu je linio.";
-App::$strings["Quick Comment settings saved."] = "Konservis agordojn pri rapidaj komentoj.";
-App::$strings["Tile Server URL"] = "Adreso de Kahelservilo";
-App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Listo de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publikaj kahelserviloj</a>";
-App::$strings["Default zoom"] = "Defaŭlta zoma faktoro";
-App::$strings["The default zoom level. (1:world, 18:highest)"] = "La defaŭlta zoma faktoro. (1:tutmonda, 18:plej proksima)";
-App::$strings["Post to libertree"] = "Afiŝi al libertree";
-App::$strings["libertree Post Settings"] = "Agordoj por Afiŝoj ĉe libertree";
-App::$strings["Enable Libertree Post Plugin"] = "Aktivigi Kromprogramon por Afiŝoj ĉe libertree";
-App::$strings["Libertree API token"] = "Libertree API ĵetono";
-App::$strings["Libertree site URL"] = "URL adreso de libertree retejo:";
-App::$strings["Post to Libertree by default"] = "Defaŭlte afiŝi ĉe Libertree";
-App::$strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "La Mathjax kromprogramo bildigas matematikajn formulojn skribitajn en la LaTeX sintakso, cirkaŭigita de la komuna $$ aŭ eqnarray bloko en afiŝoj ĉe via muro, Reto folio kaj privataj mesaĝoj.";
-App::$strings["Use the MathJax renderer"] = "Ĉu uzi la Mathjax bildigilo";
-App::$strings["MathJax Base URL"] = "Mathjax Baza URL Adreso";
-App::$strings["The URL for the javascript file that should be included to use MathJax. Can be either the MathJax CDN or another installation of MathJax."] = "La URL adreso por la javascript dosiero kiu estas inkluzivigonta por uzi Mathjaz. Eblas esti aŭ la Mathjax CDN aŭ alia Mathjax instalo.";
-App::$strings["Editplain settings updated."] = "Ĝisdatigis la Editplain agordojn.";
-App::$strings["Editplain Settings"] = "Agordoj por Editplain";
-App::$strings["Disable richtext status editor"] = "Malŝalti la riĉteksto-redaktilon";
-App::$strings["generic profile image"] = "komuna profilbildo";
-App::$strings["random geometric pattern"] = "loteca geometria skemo";
-App::$strings["monster face"] = "monstrobildo";
-App::$strings["computer generated face"] = "komputita vizaĝo";
-App::$strings["retro arcade style face"] = "retrostila videoludstila vizaĝo";
-App::$strings["Default avatar image"] = "Defaŭlta avatarbildo";
-App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "Elektu defaŭltan avatarbildon se neniu troviĝis ĉe Gravatar. Vidu README.";
-App::$strings["Rating of images"] = "Pritakso de bildoj";
-App::$strings["Select the appropriate avatar rating for your site. See README"] = "Elektu la ĝustan pritakson de via avataro por via retejo. Vidu README.";
-App::$strings["Gravatar settings updated."] = "Gravatar agordoj ĝisdatigitaj.";
-App::$strings["Your Friendica test account is about to expire."] = "Via Friendica provkonto baldaŭ malaktiviĝos.";
-App::$strings["Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."] = "Saluton %1\$s,\n\nVia testkonto ĉe %2\$s senvalidiĝos post malpli ol kvin tagoj. Vi esperas ke vi ĝuis la teston kaj baldaŭ trovosĝustan Friendica retejon por via integrita sociala komunikado. Listo de publikaj retejoj troviĝas ĉe http://dir.friendica.com/siteinfo - kaj por pli da informoj pri kiel instali vian propran Friendica servilon, bonvolu viziti la retejon de la Friendica projekton ĉe http://friendica.com.";
-App::$strings["\"pageheader\" Settings"] = "\"pageheader\" Agordoj";
-App::$strings["pageheader Settings saved."] = "Konservis Agordojn de pageheader.";
-App::$strings["Post to Insanejournal"] = "Afiŝi al Insanejournal";
-App::$strings["InsaneJournal Post Settings"] = "Agordoj pri Insaenejournal Afiŝoj";
-App::$strings["Enable InsaneJournal Post Plugin"] = "Ŝalti la InsaneJournal afiŝo kromprogramon.";
-App::$strings["InsaneJournal username"] = "Salutnomo ĉe InsaneJournal";
-App::$strings["InsaneJournal password"] = "Pasvorto ĉe InsaneJournal";
-App::$strings["Post to InsaneJournal by default"] = "Defaŭlte afiŝi ĉe InsaneJournal";
-App::$strings["View Source"] = "Vidi Fonton";
-App::$strings["Post to StatusNet"] = "Afiŝi ĉe StatusNet";
-App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Bonvolu kontaki vian retejan administranton.<br />La API URL adreso ne validas.";
-App::$strings["We could not contact the StatusNet API with the Path you entered."] = "Ni ne povis trovi la StatusNet API kun la vojo kiun vi entajpis.";
-App::$strings["StatusNet settings updated."] = "StatusNet agordoj ĝisdatigita.";
-App::$strings["StatusNet Posting Settings"] = "Agordoj por StausNet afiŝoj";
-App::$strings["Globally Available StatusNet OAuthKeys"] = "Ĝeneralaj disponeblaj StatusNet OAuth ŝlosiloj";
-App::$strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "Disponeblas antaŭagorditaj ŝlosilparoj por kelkaj StatusNet serviloj. Se via uzas iun de iu, bonvolu uzi unun de tiuj legitimaĵojn. Se ne, bonvolu konekti al iu alia StatusNet servilo (vidu malsupre).";
-App::$strings["Provide your own OAuth Credentials"] = "Provizi viajn proprajn OAuth legitimaĵojn";
-App::$strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = "Ne trovis klientajn ŝlosilojn por StatusNet. Registru vian Friendica konton kiel klientkomputilo/desktop client en via StausNet konto. Kopiu la klientajn ŝlosilojn ĉi tien kaj entajpu la baza API radiko.<br />Antaŭ vi registros viajn proprajn OAuth ŝlosilojn, demandu al la administranto ĉu jam ekzistas ŝlosiloj por ĉi-tiu Friendia retejo je via StatusNet retejo.";
-App::$strings["OAuth Consumer Key"] = "OAuth Ŝlosilo de Kliento";
-App::$strings["OAuth Consumer Secret"] = "OAuth Sekreto de Kliento";
-App::$strings["Base API Path (remember the trailing /)"] = "Baza vojo al la API (ne forgesu la finan /)";
-App::$strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Por konekti al vian konton ĉe StatusNet, klaku la malsupran butonon por atingi sekurecan kodon de StatusNet, kiun vi devas alglui en la malsupra kampo kaj sendi la formon. Nur viaj <strong>publikaj</strong> afiŝoj estos afiŝota al StatusNet.";
-App::$strings["Log in with StatusNet"] = "Ensaluti kun StatusNet.";
-App::$strings["Copy the security code from StatusNet here"] = "Alglui la kodon de StatusNet ĉi tie:";
-App::$strings["Cancel Connection Process"] = "Nuligi Konektadon";
-App::$strings["Current StatusNet API is"] = "La nuna StatusNet API estas";
-App::$strings["Cancel StatusNet Connection"] = "Nuligi Konekton al StatusNet";
-App::$strings["Currently connected to: "] = "Konektita al:";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita StatusNet konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin.";
-App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al StatusNet gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita.";
-App::$strings["Allow posting to StatusNet"] = "Permesi afiŝojn al StatusNet";
-App::$strings["Send public postings to StatusNet by default"] = "Defaŭlte sendi publikajn afiŝojn al StatusNet";
-App::$strings["Send linked #-tags and @-names to StatusNet"] = "Sendi ligitajn #-etikedojn kaj @-nomon al StatusNet";
-App::$strings["Clear OAuth configuration"] = "Forviŝi OAuth agordojn";
-App::$strings["API URL"] = "API URL adreso";
-App::$strings["Infinite Improbability Drive"] = "Senfina Probableca Pelilo";
-App::$strings["Post to Tumblr"] = "Afiŝi al Tumblr";
-App::$strings["Tumblr Post Settings"] = "Agordoj pri afiŝoj ĉe Tumblr";
-App::$strings["Enable Tumblr Post Plugin"] = "Ŝalti la kromprogramon por Tumblr afiŝoj";
-App::$strings["Tumblr login"] = "Salutnomo ĉe Tumblr";
-App::$strings["Tumblr password"] = "Pasvorto ĉe Tumblr";
-App::$strings["Post to Tumblr by default"] = "Defaŭlte afiŝi ĉe Tumblr";
-App::$strings["Numfriends settings updated."] = "Ĝisdatigis agordojn por Numfriends.";
-App::$strings["Numfriends Settings"] = "Agordoj por Numfriends";
-App::$strings["How many contacts to display on profile sidebar"] = "Kiom da kontaktoj mi montru en la flanka strio";
-App::$strings["Gnot settings updated."] = "Ĝisdatigis Gnot agordojn.";
-App::$strings["Gnot Settings"] = "Agordoj por Gnot";
-App::$strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permesas la ĉenadon de retpoŝtaj atentigoj pri komentoj ĉe Gmail kan anonimigado de la temlinio.";
-App::$strings["Enable this plugin/addon?"] = "Ŝalti tiun kromprogramon?";
-App::$strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Atentigo] Komento pri konversacio #%d";
-App::$strings["Post to Wordpress"] = "Afiŝi al Wordpress";
-App::$strings["WordPress Post Settings"] = "Agordoj por WordPress afiŝojn";
-App::$strings["Enable WordPress Post Plugin"] = "Ŝalti la Wordpress-afiŝo kromprogramon";
-App::$strings["WordPress username"] = "WordPress salutnomo";
-App::$strings["WordPress password"] = "WordPress pasvorto";
-App::$strings["WordPress API URL"] = "Wordpress API URL adreso";
-App::$strings["Post to WordPress by default"] = "Defaŭlte afiŝi al WordPress";
-App::$strings["Provide a backlink to the Friendica post"] = "Provizi re-ligilon al la Friendica afiŝo";
-App::$strings["Read the original post and comment stream on Friendica"] = "Legi la originalan afiŝon kaj komentfluo ĉe Friendica";
-App::$strings["\"Show more\" Settings"] = "\"Montri pli\" agordoj";
-App::$strings["Enable Show More"] = "Ŝalti \"montri pli\"";
-App::$strings["Cutting posts after how much characters"] = "Limitigi afiŝojn al kiom da literoj";
-App::$strings["Show More Settings saved."] = "Konservis \"montri pli\" agordojn.";
-App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ĉi retejo uzas <a href='http://www.piwik.org'>Piwik</a> kiel retuma analizilo.";
-App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Se ni ne protokolu viajn vizitojn tiel, vi <a href='%s'>povas agordi kuketon por malpermesi Piwik al plu protokoli pliajn vizitojn</a> (mem-for-elekti / opt-out).";
-App::$strings["Piwik Base URL"] = "Piwik baza URL adreso";
-App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Absoluta vojo al via Piwik instalo. (sen protokolo (http/s), inkluzive vosta oblikva streketo)";
-App::$strings["Site ID"] = "Reteja idento";
-App::$strings["Show opt-out cookie link?"] = "Montru ligilon al kuketo por mem-for-elekti (opt-out)?";
-App::$strings["Asynchronous tracking"] = "Nesinkrona spurado.";
-App::$strings["Post to Twitter"] = "Afiŝi ĉe Twitter";
-App::$strings["Twitter settings updated."] = "Ĝisdatigis Twitter agordojn.";
-App::$strings["Twitter Posting Settings"] = "Agordoj por afiŝi ĉe Twitter";
-App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ne trovis klientajn ŝlosilojn por Twitter. Bonvolu kontakti vian retejan administranton.";
-App::$strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. ";
-App::$strings["Log in with Twitter"] = "Ensaluti kun Twitter";
-App::$strings["Copy the PIN from Twitter here"] = "Alglui la PIN de Twitter ĉi tie";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita Twitter konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin.";
-App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al Twitter gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita.";
-App::$strings["Allow posting to Twitter"] = "Permesi afiŝojn al Twitter";
-App::$strings["Send public postings to Twitter by default"] = "Defaŭlte sendi publikajn afiŝojn al Twitter";
-App::$strings["Send linked #-tags and @-names to Twitter"] = "Sendi ligitajn #-etikedojn kaj @-nomon al Twitter";
-App::$strings["Consumer key"] = "Ŝlosilo de Kliento";
-App::$strings["Consumer secret"] = "Sekreto de Kliento";
-App::$strings["IRC Settings"] = "IRC Agordoj";
-App::$strings["Channel(s) to auto connect (comma separated)"] = "Aŭtomate konektiĝi al la kanalo(j) (disigita per komo)";
-App::$strings["Popular Channels (comma separated)"] = "Popularaj kanaloj (disigita per komo)";
-App::$strings["IRC settings saved."] = "IRC agordoj konservitaj.";
-App::$strings["IRC Chatroom"] = "IRC babilejo";
-App::$strings["Popular Channels"] = "Popularaj Kanaloj";
-App::$strings["Post to blogger"] = "Afiŝi al blogger";
-App::$strings["Blogger Post Settings"] = "Agordo pri Blogger Afiŝoj";
-App::$strings["Enable Blogger Post Plugin"] = "Ŝalti la Blogger afiŝo kromprogramon";
-App::$strings["Blogger username"] = "Blogger uzantonomo";
-App::$strings["Blogger password"] = "Blogger pasvorto";
-App::$strings["Blogger API URL"] = "Blogger API URL";
-App::$strings["Post to Blogger by default"] = "Defaŭlte afiŝi al Blogger";
-App::$strings["Post to Posterous"] = "Afiŝi al Posterous";
-App::$strings["Posterous Post Settings"] = "Agordoj pri afiŝoj ĉe Posterous";
-App::$strings["Enable Posterous Post Plugin"] = "Ŝalti la Poserous-afiŝo kromprogramon";
-App::$strings["Posterous login"] = "Posterous salutnomo";
-App::$strings["Posterous password"] = "Posterous pasvorto";
-App::$strings["Posterous site ID"] = "Idento de Posterous retejo";
-App::$strings["Posterous API token"] = "API ĵetono de Posterous retejo";
-App::$strings["Post to Posterous by default"] = "Defaŭlte afiŝi al Posterous";
-App::$strings["Theme settings"] = "Agordoj pri la etoso";
-App::$strings["Set resize level for images in posts and comments (width and height)"] = "Agordi la regrandignivelo por bildoj en afiŝoj kaj komentoj (larĝo kaj alto)";
-App::$strings["Set font-size for posts and comments"] = "Agordi la tiparan grandon por afiŝoj kaj komentoj";
-App::$strings["Set theme width"] = "Agordi la larĝo por la etoso";
-App::$strings["Color scheme"] = "Kolorskemo";
-App::$strings["Your posts and conversations"] = "Viaj afiŝoj kaj komunikadoj";
-App::$strings["Your profile page"] = "Via profilo";
-App::$strings["Your contacts"] = "Viaj kontaktoj";
-App::$strings["Your photos"] = "Viaj bildoj";
-App::$strings["Your events"] = "Viaj okazoj";
-App::$strings["Personal notes"] = "Personaj notoj";
-App::$strings["Your personal photos"] = "Viaj personaj bildoj";
-App::$strings["Community Pages"] = "Komunumaj paĝoj";
-App::$strings["Community Profiles"] = "Komunumaj Profiloj";
-App::$strings["Last users"] = "Ĵusaj uzantoj";
-App::$strings["Last likes"] = "Ĵusaj ŝatitaj elementoj";
-App::$strings["Last photos"] = "Ĵusaj bildoj";
-App::$strings["Find Friends"] = "Trovi Amikojn";
-App::$strings["Local Directory"] = "Loka Katalogo";
-App::$strings["Similar Interests"] = "Similaj Interesoj";
-App::$strings["Invite Friends"] = "Inviti amikojn";
-App::$strings["Earth Layers"] = "Tertavoloj (Earth Layers)";
-App::$strings["Set zoomfactor for Earth Layers"] = "Agordi zoman faktoron por Tertavoloj";
-App::$strings["Set longitude (X) for Earth Layers"] = "Agordi longitudon (X) por Tertavoloj";
-App::$strings["Set latitude (Y) for Earth Layers"] = "Agordi latitudon (Y) por Tertavoloj";
-App::$strings["Help or @NewHere ?"] = "Helpu aŭ @NewHere ?";
-App::$strings["Connect Services"] = "Konekti Servojn";
-App::$strings["Last Tweets"] = "Ĵusaj Pepaĵoj";
-App::$strings["Set twitter search term"] = "Agordi Twitter serĉtekston";
-App::$strings["don't show"] = "kaŝi";
-App::$strings["show"] = "montri";
-App::$strings["Show/hide boxes at right-hand column:"] = "Kaŝi/montri kestojn ĉe dekstra kolumno:";
-App::$strings["Set line-height for posts and comments"] = "Agordi la linigrandon por afiŝoj kaj komentoj";
-App::$strings["Set resolution for middle column"] = "Agordi la distingivon por la meza kolumno";
-App::$strings["Set color scheme"] = "Agordi Kolorskemon";
-App::$strings["Set zoomfactor for Earth Layer"] = "Agordi zoman faktoron de Tertavolo";
-App::$strings["Last tweets"] = "Ĵusaj pepaĵoj";
-App::$strings["Alignment"] = "Ĝisrandigo";
-App::$strings["Left"] = "Maldekstren";
-App::$strings["Center"] = "Centren";
-App::$strings["Set colour scheme"] = "Agordi Kolorskemon";
-App::$strings["Gender:"] = "Sekso:";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Naskiĝtago:";
-App::$strings["Age:"] = "Aĝo:";
-App::$strings["Status:"] = "Stato:";
-App::$strings["for %1\$d %2\$s"] = "por %1\$d %2\$s";
-App::$strings["Homepage:"] = "Hejmpaĝo:";
-App::$strings["Tags:"] = "Markoj:";
-App::$strings["Religion:"] = "Religio:";
-App::$strings["About:"] = "Pri:";
-App::$strings["Hobbies/Interests:"] = "Ŝatokupoj/Interesoj:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktinformoj kaj Interkonaj Retejoj:";
-App::$strings["Musical interests:"] = "Muzaikaj interesoj:";
-App::$strings["Books, literature:"] = "Libroj, literaturo:";
-App::$strings["Television:"] = "Televido:";
-App::$strings["Film/dance/culture/entertainment:"] = "Filmoj/dancoj/arto/amuzaĵoj:";
-App::$strings["Love/Romance:"] = "Amo/romanco:";
-App::$strings["Work/employment:"] = "Laboro:";
-App::$strings["School/education:"] = "Lernejo/eduko:";
-App::$strings["Unknown | Not categorised"] = "Nekonata | Nekatorigita";
-App::$strings["Block immediately"] = "Bloki tuj";
-App::$strings["Shady, spammer, self-marketer"] = "Suspekta, spamisto, memmerkatisto";
-App::$strings["Known to me, but no opinion"] = "Konata al mi, sed mi ne havas opinion";
-App::$strings["OK, probably harmless"] = "OK, verŝajne sendanĝera";
-App::$strings["Reputable, has my trust"] = "Fidinda laŭ mi";
-App::$strings["Frequently"] = "Ofte";
-App::$strings["Hourly"] = "Ĉiuhore";
-App::$strings["Twice daily"] = "Duope ĉiutage";
-App::$strings["Daily"] = "Ĉiutage";
-App::$strings["Weekly"] = "Ĉiusemajne";
-App::$strings["Monthly"] = "Ĉiumonate";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Zot!"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/Tujmesaĝilo";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Male"] = "Vira";
-App::$strings["Female"] = "Ina";
-App::$strings["Currently Male"] = "Nuntempe Vira";
-App::$strings["Currently Female"] = "Nuntempe Ina";
-App::$strings["Mostly Male"] = "Ĉefe Vira";
-App::$strings["Mostly Female"] = "Ĉefe Ina";
-App::$strings["Transgender"] = "Transgenra";
-App::$strings["Intersex"] = "Interseksa";
-App::$strings["Transsexual"] = "Transseksa";
-App::$strings["Hermaphrodite"] = "Hermafrodita";
-App::$strings["Neuter"] = "Neŭtra";
-App::$strings["Non-specific"] = "Nespecifa";
-App::$strings["Other"] = "Alia";
-App::$strings["Undecided"] = "Nedecida";
-App::$strings["Males"] = "Viroj";
-App::$strings["Females"] = "Inoj";
-App::$strings["Gay"] = "Geja";
-App::$strings["Lesbian"] = "Lesba";
-App::$strings["No Preference"] = "Neniu Prefero";
-App::$strings["Bisexual"] = "Ambaŭseksema";
-App::$strings["Autosexual"] = "Memseksema";
-App::$strings["Abstinent"] = "Abstinema";
-App::$strings["Virgin"] = "Virgulino";
-App::$strings["Deviant"] = "Devia";
-App::$strings["Fetish"] = "Fetiĉo";
-App::$strings["Oodles"] = "Amasa";
-App::$strings["Nonsexual"] = "Neseksa";
-App::$strings["Single"] = "Sola";
-App::$strings["Lonely"] = "Soleca";
-App::$strings["Available"] = "Havebla";
-App::$strings["Unavailable"] = "Nehavebla";
-App::$strings["Has crush"] = "Sekrete enamiĝinta";
-App::$strings["Infatuated"] = "Blinda amo";
-App::$strings["Dating"] = "Rendevuanta";
-App::$strings["Unfaithful"] = "Malfidela";
-App::$strings["Sex Addict"] = "Seksmaniulo";
-App::$strings["Friends"] = "Amikoj";
-App::$strings["Friends/Benefits"] = "Amikoj/Avantaĝoj";
-App::$strings["Casual"] = "Neformala";
-App::$strings["Engaged"] = "Fianĉiginta";
-App::$strings["Married"] = "Edziĝinta";
-App::$strings["Imaginarily married"] = "Image edziĝinta";
-App::$strings["Partners"] = "Geparuloj";
-App::$strings["Cohabiting"] = "Kunloĝanta";
-App::$strings["Common law"] = "Registrita partnereco ";
-App::$strings["Happy"] = "Feliĉa";
-App::$strings["Not looking"] = "Ne interesiĝis";
-App::$strings["Swinger"] = "Swinger";
-App::$strings["Betrayed"] = "Trompita";
-App::$strings["Separated"] = "Disiĝinta";
-App::$strings["Unstable"] = "Malfirma";
-App::$strings["Divorced"] = "Eksedziĝinta";
-App::$strings["Imaginarily divorced"] = "Image eksedziĝinta";
-App::$strings["Widowed"] = "Vidva";
-App::$strings["Uncertain"] = "Ne certa";
-App::$strings["It's complicated"] = "Estas komplika";
-App::$strings["Don't care"] = "Egala";
-App::$strings["Ask me"] = "Demandu min";
-App::$strings["Starts:"] = "Ekas:";
-App::$strings["Finishes:"] = "Finas:";
-App::$strings["(no subject)"] = "(neniu temo)";
-App::$strings["noreply"] = "nerespondi";
-App::$strings[" on Last.fm"] = " ĉe Last.fm";
-App::$strings["prev"] = "antaŭa";
-App::$strings["first"] = "unua";
-App::$strings["last"] = "lasta";
-App::$strings["next"] = "sekvanta";
-App::$strings["No contacts"] = "Neniu kontaktoj";
-App::$strings["%d Contact"] = array(
- 0 => "%d Kontakto",
- 1 => "%d Kontaktoj",
-);
-App::$strings["Monday"] = "Lundo";
-App::$strings["Tuesday"] = "Mardo";
-App::$strings["Wednesday"] = "Merkredo";
-App::$strings["Thursday"] = "Ĵaŭdo";
-App::$strings["Friday"] = "Vendredo";
-App::$strings["Saturday"] = "Sabato";
-App::$strings["Sunday"] = "Dimanĉo";
-App::$strings["January"] = "Januaro";
-App::$strings["February"] = "Februaro";
-App::$strings["March"] = "Marto";
-App::$strings["April"] = "Aprilo";
-App::$strings["May"] = "Majo";
-App::$strings["June"] = "Junio";
-App::$strings["July"] = "Julio";
-App::$strings["August"] = "Aŭgusto";
-App::$strings["September"] = "Septembro";
-App::$strings["October"] = "Oktobro";
-App::$strings["November"] = "Novembro";
-App::$strings["December"] = "Decembro";
-App::$strings["bytes"] = "bajtoj";
-App::$strings["remove"] = "forviŝi";
-App::$strings["[remove]"] = "[forviŝi]";
-App::$strings["Categories:"] = "Kategorioj:";
-App::$strings["Filed under:"] = "Enarkivigita kiel:";
-App::$strings["Click to open/close"] = "Klaku por malfermi/fermi";
-App::$strings["default"] = "defaŭlta";
-App::$strings["Select an alternate language"] = "Elekti alian lingvon";
-App::$strings["activity"] = "aktiveco";
-App::$strings["comment"] = "komento";
-App::$strings["post"] = "afiŝo";
-App::$strings["Item filed"] = "Enarkivigis elementon ";
-App::$strings["Sharing notification from Diaspora network"] = "Antentigo pri kunhavigado de la Diaspora reto";
-App::$strings["Attachments:"] = "Kunsendaĵoj:";
-App::$strings["view full size"] = "vidi plengrande";
-App::$strings["Embedded content"] = "Enigita enhavo";
-App::$strings["Embedding disabled"] = "Malŝaltita enigitado";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Revivigis malnovan grupon kun la sama nomo. Permesoj por estantaj elementoj <strong>eble</strong> estas validaj por la grupo kaj estontaj membroj. Se tiu ne estas kiun vi atendis, bonvolu krei alian grupon kun alia nomo.";
-App::$strings["Default privacy group for new contacts"] = "Defaŭlta privateca grupo por novaj kontaktoj";
-App::$strings["Everybody"] = "Ĉiuj";
-App::$strings["edit"] = "redakti";
-App::$strings["Groups"] = "Grupoj";
-App::$strings["Edit group"] = "Redakti grupon";
-App::$strings["Create a new group"] = "Krei novan grupon";
-App::$strings["Contacts not in any group"] = "Kontaktoj en neniu grupo";
-App::$strings["Logout"] = "Elsaluti";
-App::$strings["End this session"] = "Fini ĉi-tiun seancon";
-App::$strings["Status"] = "Stato";
-App::$strings["Sign in"] = "Ensaluti";
-App::$strings["Home Page"] = "Hejmpaĝo";
-App::$strings["Create an account"] = "Krei konton";
-App::$strings["Help and documentation"] = "Helpo kaj dokumentado";
-App::$strings["Apps"] = "Programoj";
-App::$strings["Addon applications, utilities, games"] = "Kromprogramoj, utilaĵoj, ludiloj";
-App::$strings["Search site content"] = "Serĉu la retejon";
-App::$strings["Conversations on this site"] = "Konversacioj je ĉi-tiu retejo";
-App::$strings["Directory"] = "Katalogo";
-App::$strings["People directory"] = "Katalogo de homoj";
-App::$strings["Conversations from your friends"] = "Konversacioj de viaj amikoj";
-App::$strings["Friend Requests"] = "Kontaktpetoj";
-App::$strings["See all notifications"] = "Vidu ĉiujn atentigojn";
-App::$strings["Mark all system notifications seen"] = "Marki ĉiujn atentigojn legita";
-App::$strings["Private mail"] = "Privata poŝto";
-App::$strings["Inbox"] = "Enirkesto";
-App::$strings["Outbox"] = "Elirkesto";
-App::$strings["Manage"] = "Administri";
-App::$strings["Manage other pages"] = "Administri aliajn paĝojn";
-App::$strings["Profiles"] = "Profiloj";
-App::$strings["Manage/edit profiles"] = "Administri/redakti profilojn";
-App::$strings["Manage/edit friends and contacts"] = "Administri/redakti amikojn kaj kontaktojn";
-App::$strings["Site setup and configuration"] = "Agordoj pri la retejo";
-App::$strings["Nothing new here"] = "Estas neniu nova ĉi tie";
-App::$strings["Add New Contact"] = "Aldonu Novan Kontakton";
-App::$strings["Enter address or web location"] = "Entajpu adreson aŭ retlokon";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Ekzemple: bob@example.com, http://example.com/barbara";
-App::$strings["%d invitation available"] = array(
- 0 => "Disponeblas %d invito",
- 1 => "Disponeblas %d invitoj",
-);
-App::$strings["Find People"] = "Trovi Homojn";
-App::$strings["Enter name or interest"] = "Entajpu nomon aŭ intereson";
-App::$strings["Connect/Follow"] = "Konekti/Aboni";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Ekzemple: Robert Morgenstein, Fishing";
-App::$strings["Random Profile"] = "Hazarda Profilo";
-App::$strings["Networks"] = "Retoj";
-App::$strings["All Networks"] = "Ĉiuj Retoj";
-App::$strings["Saved Folders"] = "Konservitaj Dosierujoj";
-App::$strings["Everything"] = "Ĉio";
-App::$strings["Categories"] = "Kategorioj";
-App::$strings["Logged out."] = "Elsalutita.";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Okazis problemo ensalutinta kun via OpenID. Bonvolu kontroli la ID.";
-App::$strings["The error message was:"] = "La erarmesaĝo estis:";
-App::$strings["Miscellaneous"] = "Diversaj";
-App::$strings["year"] = "jaro";
-App::$strings["month"] = "monato";
-App::$strings["day"] = "tago";
-App::$strings["never"] = "neniam";
-App::$strings["less than a second ago"] = "antaŭ malpli ol unu sekundo";
-App::$strings["years"] = "jaroj";
-App::$strings["months"] = "monatoj";
-App::$strings["week"] = "semajno";
-App::$strings["weeks"] = "semajnoj";
-App::$strings["days"] = "tagoj";
-App::$strings["hour"] = "horo";
-App::$strings["hours"] = "horoj";
-App::$strings["minute"] = "minuto";
-App::$strings["minutes"] = "minutoj";
-App::$strings["second"] = "sekundo";
-App::$strings["seconds"] = "sekundoj";
-App::$strings["%1\$d %2\$s ago"] = "antaŭ %1\$d %2\$s";
-App::$strings["%s's birthday"] = "Naskiĝtago de %s";
-App::$strings["Happy Birthday %s"] = "Feliĉan Naskiĝtagon al %s";
-App::$strings["From: "] = "De: ";
-App::$strings["$1 wrote:"] = "$1 skribis:";
-App::$strings["Image/photo"] = "Bildo";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Ne trovis DNS informojn por datumbaza servilo '%s'.";
-App::$strings["[no subject]"] = "[neniu temo]";
-App::$strings["Visible to everybody"] = "Videbla al ĉiuj";
-App::$strings["Friendica Notification"] = "Friendica Atentigo";
-App::$strings["Thank You,"] = "Dankon,";
-App::$strings["%s Administrator"] = "%s Administranto";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Friendica:Notify] New mail received at %s"] = "[Friendica:Atentigo] Ricevis novan retpoŝton ĉe %s";
-App::$strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s sendis al vi novan privatan mesaĝon ĉe %2\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s sendis al vi %2\$s.";
-App::$strings["a private message"] = "privatan mesaĝon";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bonvolu viziti %s por vidi aŭ respondi viajn privatajn mesaĝojn.";
-App::$strings["%1\$s commented on [url=%2\$s]a %3\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]%3\$s[/url]";
-App::$strings["%1\$s commented on [url=%2\$s]%3\$s's %4\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]%4\$s de %3\$s[/url]";
-App::$strings["%1\$s commented on [url=%2\$s]your %3\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]via %3\$s[/url]";
-App::$strings["[Friendica:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Friendica:Atentigo] Komento pri konversacio #%1\$d de %2\$s";
-App::$strings["%s commented on an item/conversation you have been following."] = "%s komentis pri elemento/konversacio kiun vi sekvas.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bonvolu viziti %s por vidi aŭ respondi la konversacion.";
-App::$strings["[Friendica:Notify] %s posted to your profile wall"] = "[Friendica:Atentigo] %s afiŝis al via profilmuro";
-App::$strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s skribis al via profilmuro ĉe %2\$s";
-App::$strings["%1\$s posted to [url=%2s]your wall[/url]"] = "%1\$s afiŝis al [url=%2s]via muro[/url]";
-App::$strings["[Friendica:Notify] %s tagged you"] = "[Friendica:Atentigo] %s markis vin";
-App::$strings["%1\$s tagged you at %2\$s"] = "%1\$s markis vin ĉe %2\$s";
-App::$strings["%1\$s [url=%2\$s]tagged you[/url]."] = "%1\$s [url=%2\$s]markis vin[/url].";
-App::$strings["[Friendica:Notify] %s tagged your post"] = "[Friendica:Atentigo] %s markis vian afiŝon";
-App::$strings["%1\$s tagged your post at %2\$s"] = "%1\$s markis vian afiŝon ĉe %2\$s";
-App::$strings["%1\$s tagged [url=%2\$s]your post[/url]"] = "%1\$s markis [url=%2\$s]vian afiŝon[/url]";
-App::$strings["[Friendica:Notify] Introduction received"] = "[Friendica:Atentigo] Ricevis prezenton";
-App::$strings["You've received an introduction from '%1\$s' at %2\$s"] = "Vi ricevis prezenton de '%1\$s' ĉe %2\$s";
-App::$strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = "Vi ricevis [url=%1\$s]prezenton[/url] de %2\$s.";
-App::$strings["You may visit their profile at %s"] = "Vi povas vidi la profilon de li aŭ ŝi ĉe %s";
-App::$strings["Please visit %s to approve or reject the introduction."] = "Bonvolu viziti %s por aprobi aŭ malaprobi la prezenton.";
-App::$strings["[Friendica:Notify] Friend suggestion received"] = "[Friendica:Atentigo] Ricevis amikosugeston";
-App::$strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Vi ricevis amikosugeston de '%1\$s' ĉe %2\$s";
-App::$strings["You've received [url=%1\$s]a friend suggestion[/url] for %2\$s from %3\$s."] = "Vi ricevis [url=%1\$s]amikosugeston[/url] pri %2\$s de %3\$s.";
-App::$strings["Name:"] = "Nomo:";
-App::$strings["Photo:"] = "Bildo:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Bonvolu viziti %s por aprobi aŭ malaprobi la sugeston.";
-App::$strings["Connect URL missing."] = "Ne ekzistas URL adreso por konekti.";
-App::$strings["This site is not configured to allow communications with other networks."] = "Tiu retpaĝo ne permesas komunikadon kun aliaj retoj.";
-App::$strings["No compatible communication protocols or feeds were discovered."] = "Ne malkovris kongruajn protokolojn por komunikado aŭ fluojn.";
-App::$strings["The profile address specified does not provide adequate information."] = "La specifita profiladreso ne enhavas sufiĉe da informoj.";
-App::$strings["An author or name was not found."] = "Ne trovis aŭtoron aŭ nomon.";
-App::$strings["No browser URL could be matched to this address."] = "Neniu retuma URL adreso kongruas al la adreso.";
-App::$strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "Ne eblas kongrui @-stilan identecon adreson al iu konata protokolo au retpoŝtadreso.";
-App::$strings["Use mailto: in front of address to force email check."] = "Uzu mailto: antaŭ la adreso por devigi la testadon per retpoŝto.";
-App::$strings["The profile address specified belongs to a network which has been disabled on this site."] = "Tiu profila adreso apartenas al retejo kiu estas maŝaltita je ĉi tiu retejo.";
-App::$strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Profilo limigata. Ĉi persono ne eblos ricevi rektajn/personajn atentigojn de vi. ";
-App::$strings["Unable to retrieve contact information."] = "Ne eblas ricevi kontaktinformojn.";
-App::$strings["following"] = "sekvanta";
-App::$strings["A new person is sharing with you at "] = "Nova persono kunhavigas kun vi ĉe ";
-App::$strings["You have a new follower at "] = "Vi havas novan sekvanton ĉe ";
-App::$strings["Archives"] = "Arkivoj";
-App::$strings["An invitation is required."] = "Invio bezonata.";
-App::$strings["Invitation could not be verified."] = "Ne povis kontroli la inviton.";
-App::$strings["Invalid OpenID url"] = "Nevalida OpenID adreso";
-App::$strings["Please enter the required information."] = "Bonvolu entajpi la bezonatajn informojn.";
-App::$strings["Please use a shorter name."] = "Bonvolu uzi pli mallongan nomon.";
-App::$strings["Name too short."] = "Nomo estas tro mallonga.";
-App::$strings["That doesn't appear to be your full (First Last) name."] = "Tio ŝajne ne estas via plena (persona, familia) nomo.";
-App::$strings["Your email domain is not among those allowed on this site."] = "Via retpoŝtodomajno ne estas permesita ĉi tie.";
-App::$strings["Not a valid email address."] = "Nevalida retpoŝtadreso.";
-App::$strings["Cannot use that email."] = "Neuzebla retpoŝtadreso.";
-App::$strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Via kaŝnomo nur povas enhavi \"a-z\", \"0-9\", \"-\", kaj \"_\". Ĝi ankaŭ devas komenci kun litero.";
-App::$strings["Nickname is already registered. Please choose another."] = "Tio kaŝnomo jam estas registrita. Bonvolu elekti alian.";
-App::$strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Tiu kaŝnomo iam estis registrita ĉi tie kaj ne ree uzeblas. Bonvolu elekti alian.";
-App::$strings["SERIOUS ERROR: Generation of security keys failed."] = "GRAVA ERARO: La generacio de sekurecaj ĉifroŝlosiloj malsukcesis.";
-App::$strings["An error occurred during registration. Please try again."] = "Eraro okazis dum registrado. Bonvolu provi denove.";
-App::$strings["An error occurred creating your default profile. Please try again."] = "Eraro okazi dum kreado de via defaŭlta profilo. Bonvolu provi denove.";
-App::$strings["Welcome "] = "Bonvenon ";
-App::$strings["Please upload a profile photo."] = "Bonvolu alŝuti profilbildon.";
-App::$strings["Welcome back "] = "Bonvenon ";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "La sekuriga ĵetono de la formo estis malĝusta. Tio verŝajne okazis ĉar la formo estis malfermita dum tro longa tempo (>3 horoj) antaŭ la sendado.";
-App::$strings["stopped following"] = "ne plu sekvas";
-App::$strings["View Status"] = "Vidi Staton";
-App::$strings["View Profile"] = "Vidi Profilon";
-App::$strings["View Photos"] = "Vidi Bildojn";
-App::$strings["Network Posts"] = "Enretaj Afiŝoj";
-App::$strings["Edit Contact"] = "Redakti Kontakton";
-App::$strings["Send PM"] = "Sendi PM";
-App::$strings["post/item"] = "afiŝo/elemento";
-App::$strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s markis la %3\$s de %2\$s kiel preferita.";
-App::$strings["Select"] = "Elekti";
-App::$strings["View %s's profile @ %s"] = "Vidi la profilon de %s ĉe %s";
-App::$strings["%s from %s"] = "%s de %s";
-App::$strings["View in context"] = "Vidi kun kunteksto";
-App::$strings["%d comment"] = array(
- 0 => "%d komento",
- 1 => "%d komentoj",
-);
-App::$strings["like"] = "ŝati";
-App::$strings["dislike"] = "malŝati";
-App::$strings["Share this"] = "Kunhavigi ĉi tiun";
-App::$strings["share"] = "kunhavigi";
-App::$strings["Bold"] = "Grasa";
-App::$strings["Italic"] = "Kursiva";
-App::$strings["Underline"] = "Substreki";
-App::$strings["Quote"] = "Citaĵo";
-App::$strings["Code"] = "Kodo";
-App::$strings["Image"] = "Bildo";
-App::$strings["Link"] = "Ligilo";
-App::$strings["Video"] = "Video";
-App::$strings["add star"] = "aldoni stelon";
-App::$strings["remove star"] = "forpreni stelon";
-App::$strings["toggle star status"] = "ŝalti/malŝalti steloŝtato";
-App::$strings["starred"] = "steligita";
-App::$strings["add tag"] = "aldoni markon";
-App::$strings["save to folder"] = "konservi en dosierujo";
-App::$strings["to"] = "al";
-App::$strings["Wall-to-Wall"] = "Muro-al-Muro";
-App::$strings["via Wall-To-Wall:"] = "per Muro-al-Muro:";
-App::$strings["Delete Selected Items"] = "Forviŝi Elektitajn Elementojn";
-App::$strings["%s likes this."] = "%s ŝatas tiun.";
-App::$strings["%s doesn't like this."] = "%s malŝatas tiun.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = "<span %1\$s>%2\$d homoj</span> ŝatas tiun.";
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = "<span %1\$s>%2\$d homoj</span>malŝatas tiun.";
-App::$strings["and"] = "kaj";
-App::$strings[", and %d other people"] = ", kaj %d aliaj homoj.";
-App::$strings["%s like this."] = "%s ŝatas tiun.";
-App::$strings["%s don't like this."] = "%s malŝatas tiun.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Videbla al <strong>ĉiuj</strong>";
-App::$strings["Please enter a video link/URL:"] = "Bonvolu entajpi ligilon/adreson de video:";
-App::$strings["Please enter an audio link/URL:"] = "Bonvolu entajpi ligilon/adreson de sono:";
-App::$strings["Tag term:"] = "Markfrazo:";
-App::$strings["Where are you right now?"] = "Kie vi estas nun?";
-App::$strings["upload photo"] = "alŝuti bildon";
-App::$strings["attach file"] = "kunsendi dosieron";
-App::$strings["web link"] = "TTT ligilo";
-App::$strings["Insert video link"] = "Alglui ligilon de video";
-App::$strings["video link"] = "video ligilo";
-App::$strings["Insert audio link"] = "Alglui ligilon de sono";
-App::$strings["audio link"] = "sono ligilo";
-App::$strings["set location"] = "agordi lokon";
-App::$strings["clear location"] = "forviŝi lokon";
-App::$strings["permissions"] = "permesoj";
-App::$strings["Click here to upgrade."] = "Klaku ĉi tie por ĝisdatigi.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Tia ago preterpasas la limojn de via abono.";
-App::$strings["This action is not available under your subscription plan."] = "Tia ago ne estas permesita laŭ via abono.";
-App::$strings["Delete this item?"] = "Forviŝi ĉi tiun elementon?";
-App::$strings["show fewer"] = "montri malpli";
-App::$strings["Update %s failed. See error logs."] = "Malsukcesis ĝisdatigi %s. Vidu la protokolojn.";
-App::$strings["Update Error at %s"] = "Eraro dum ĝisdatigo ĉe %s";
-App::$strings["Create a New Account"] = "Krei Novan Konton";
-App::$strings["Nickname or Email address: "] = "Kaŝnomo aŭ retpoŝtadreso:";
-App::$strings["Password: "] = "Pasvorto:";
-App::$strings["Or login using OpenID: "] = "Aŭ ensaluti per OpenID:";
-App::$strings["Forgot your password?"] = "Ĉu vi vorgesis vian pasvorton?";
-App::$strings["Edit profile"] = "Redakti profilon";
-App::$strings["Message"] = "Mesaĝo";
-App::$strings["g A l F d"] = "\\j\\e \\l\\a G\\a \\h\\o\\r\\o, l F d";
-App::$strings["F d"] = "F d";
-App::$strings["[today]"] = "[hodiaŭ]";
-App::$strings["Birthday Reminders"] = "Memorigilo pri naskiĝtagoj";
-App::$strings["Birthdays this week:"] = "Naskiĝtagoj ĉi-semajne:";
-App::$strings["[No description]"] = "[Neniu priskribo]";
-App::$strings["Event Reminders"] = "Memorigilo pri Okazoj";
-App::$strings["Events this week:"] = "Okazoj ĉi-semajne:";
-App::$strings["Status Messages and Posts"] = "Ŝtatmesaĝoj kaj Afiŝoj";
-App::$strings["Profile Details"] = "Profildetaloj";
-App::$strings["Events and Calendar"] = "Okazoj kaj Kalendaro";
-App::$strings["Only You Can See This"] = "Nur Vi Povas Vidi Tiun";
diff --git a/view/eo/htconfig.tpl b/view/eo/htconfig.tpl
deleted file mode 100644
index b90c00d6e..000000000
--- a/view/eo/htconfig.tpl
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-// Set the following for your MySQL installation
-// Copy or rename this file to .htconfig.php
-
-$db_host = '{{$dbhost}}';
-$db_port = '{{$dbport}}';
-$db_user = '{{$dbuser}}';
-$db_pass = '{{$dbpass}}';
-$db_data = '{{$dbdata}}';
-$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
-
-define( 'UNO', {{$uno}} );
-
-/*
- * Notice: Many of the following settings will be available in the admin panel
- * after a successful site install. Once they are set in the admin panel, they
- * are stored in the DB - and the DB setting will over-ride any corresponding
- * setting in this file
- *
- * The command-line tool util/config is able to query and set the DB items
- * directly if for some reason the admin panel is not available and a system
- * setting requires modification.
- *
- */
-
-
-// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
-// It can be changed later and only applies to timestamps for anonymous viewers.
-
-App::$config['system']['timezone'] = '{{$timezone}}';
-
-// What is your site name?
-
-App::$config['system']['baseurl'] = '{{$siteurl}}';
-App::$config['system']['sitename'] = "Hubzilla";
-App::$config['system']['location_hash'] = '{{$site_id}}';
-
-
-// These lines set additional security headers to be sent with all responses
-// You may wish to set transport_security_header to 0 if your server already sends
-// this header. content_security_policy may need to be disabled if you wish to
-// run the piwik analytics plugin or include other offsite resources on a page
-
-App::$config['system']['transport_security_header'] = 1;
-App::$config['system']['content_security_policy'] = 1;
-
-// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
-// Be certain to create your own personal account before setting
-// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
-// the registration page. REGISTER_APPROVE requires you set 'admin_email'
-// to the email address of an already registered person who can authorise
-// and/or approve/deny the request.
-
-App::$config['system']['register_policy'] = REGISTER_OPEN;
-App::$config['system']['register_text'] = '';
-App::$config['system']['admin_email'] = '{{$adminmail}}';
-
-// Maximum size of an imported message, 0 is unlimited
-
-App::$config['system']['max_import_size'] = 200000;
-
-// maximum size of uploaded photos
-
-App::$config['system']['maximagesize'] = 8000000;
-
-// Location of PHP command line processor
-
-App::$config['system']['php_path'] = '{{$phpath}}';
-
-// Configure how we communicate with directory servers.
-// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
-// DIRECTORY_MODE_SECONDARY = caching directory or mirror
-// DIRECTORY_MODE_PRIMARY = main directory server
-// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
-
-App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
-
-// default system theme
-
-App::$config['system']['theme'] = 'redbasic';
-
diff --git a/view/eo/lostpass_eml.tpl b/view/eo/lostpass_eml.tpl
deleted file mode 100644
index 3b79d2791..000000000
--- a/view/eo/lostpass_eml.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Dear {{$username}},
- A request was recently received at {{$sitename}} to reset your account
-password. In order to confirm this request, please select the verification link
-below or paste it into your web browser address bar.
-
-If you did NOT request this change, please DO NOT follow the link
-provided and ignore and/or delete this email.
-
-Your password will not be changed unless we can verify that you
-issued this request.
-
-Follow this link to verify your identity:
-
-{{$reset_link}}
-
-You will then receive a follow-up message containing the new password.
-
-You may change that password from your account settings page after logging in.
-
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-
-
-
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/eo/messages.po b/view/eo/messages.po
deleted file mode 100644
index 7fd842bb6..000000000
--- a/view/eo/messages.po
+++ /dev/null
@@ -1,7714 +0,0 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 the Friendica Project
-# This file is distributed under the same license as the Friendica package.
-#
-# Translators:
-# Diego Souza <diegosouza.br@gmail.com>, 2012.
-# Martin Schmitt <mas@scsy.de>, 2012.
-msgid ""
-msgstr ""
-"Project-Id-Version: friendica\n"
-"Report-Msgid-Bugs-To: http://bugs.friendica.com/\n"
-"POT-Creation-Date: 2012-06-30 10:00-0700\n"
-"PO-Revision-Date: 2012-07-01 16:55+0000\n"
-"Last-Translator: Martin Schmitt <mas@scsy.de>\n"
-"Language-Team: Esperanto (http://www.transifex.com/projects/p/friendica/language/eo/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-
-#: ../../mod/oexchange.php:25
-msgid "Post successful."
-msgstr "Sukcese afiŝita."
-
-#: ../../mod/update_notes.php:41 ../../mod/update_community.php:18
-#: ../../mod/update_network.php:22 ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
-msgstr "[Enigita enhavo - reŝargu paĝon por spekti ĝin]"
-
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
-msgstr "Kontaktagordoj estas konservita."
-
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
-msgstr "Ĝisdatigo de kontakto malsukcesis."
-
-#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/photos.php:135 ../../mod/photos.php:951
-#: ../../mod/editpost.php:10 ../../mod/install.php:151
-#: ../../mod/notifications.php:66 ../../mod/contacts.php:145
-#: ../../mod/settings.php:106 ../../mod/settings.php:537
-#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
-#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
-#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
-#: ../../mod/group.php:19 ../../mod/viewconnections.php:22
-#: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:124
-#: ../../mod/item.php:140 ../../mod/profile_photo.php:19
-#: ../../mod/profile_photo.php:141 ../../mod/profile_photo.php:152
-#: ../../mod/profile_photo.php:165 ../../mod/message.php:45
-#: ../../mod/message.php:97 ../../mod/allfriends.php:9
-#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
-#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:400 ../../mod/delegate.php:6
-#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:508
-#: ../../addon/facebook/facebook.php:514 ../../addon/dav/layout.fnk.php:353
-#: ../../include/items.php:3455 ../../index.php:309
-msgid "Permission denied."
-msgstr "Malpermesita."
-
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/dfrn_confirm.php:118
-msgid "Contact not found."
-msgstr "Kontakto ne trovita."
-
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
-msgstr "Ripari kontaktagordoj."
-
-#: ../../mod/crepair.php:137
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact may stop working."
-msgstr "<strong>AVERTO: Tio estas tre altnivela</strong> kaj se vi entajpus malĝustan informojn, komunikado kun la kontakto eble ne plu funkcios."
-
-#: ../../mod/crepair.php:138
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr "Bonvolu klaki 'malantaŭen' en via retesplorilo <strong>nun</strong> se vi ne scias kion faru ĉi tie."
-
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
-msgstr "Reen al kontakta redaktilo"
-
-#: ../../mod/crepair.php:148 ../../mod/settings.php:557
-#: ../../mod/settings.php:583 ../../mod/admin.php:659 ../../mod/admin.php:668
-msgid "Name"
-msgstr "Nomo"
-
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
-msgstr "Kaŝnomo de la konto"
-
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
-msgstr "@Marknomo - Transpasas nomon/kaŝnomon"
-
-#: ../../mod/crepair.php:151
-msgid "Account URL"
-msgstr "Adreso de la konto"
-
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
-msgstr "Kontaktpeta adreso"
-
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
-msgstr "Kontaktkonfirma adreso"
-
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
-msgstr "Finpunkta adreso por atentigoj"
-
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
-msgstr "Adreso de fluo"
-
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
-msgstr "Nova bildo el tiu adreso"
-
-#: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:436 ../../mod/photos.php:986 ../../mod/photos.php:1057
-#: ../../mod/photos.php:1303 ../../mod/photos.php:1343
-#: ../../mod/photos.php:1383 ../../mod/photos.php:1414
-#: ../../mod/install.php:246 ../../mod/install.php:284
-#: ../../mod/localtime.php:45 ../../mod/contacts.php:343
-#: ../../mod/settings.php:555 ../../mod/settings.php:709
-#: ../../mod/settings.php:770 ../../mod/settings.php:971
-#: ../../mod/group.php:85 ../../mod/message.php:216 ../../mod/message.php:410
-#: ../../mod/admin.php:420 ../../mod/admin.php:656 ../../mod/admin.php:792
-#: ../../mod/admin.php:991 ../../mod/admin.php:1078 ../../mod/profiles.php:569
-#: ../../mod/invite.php:119 ../../addon/fromgplus/fromgplus.php:40
-#: ../../addon/facebook/facebook.php:617
-#: ../../addon/snautofollow/snautofollow.php:64
-#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
-#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:208
-#: ../../addon/planets/planets.php:158
-#: ../../addon/uhremotestorage/uhremotestorage.php:89
-#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
-#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
-#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
-#: ../../addon/impressum/impressum.php:82
-#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
-#: ../../addon/qcomment/qcomment.php:61
-#: ../../addon/openstreetmap/openstreetmap.php:70
-#: ../../addon/libertree/libertree.php:90 ../../addon/mathjax/mathjax.php:42
-#: ../../addon/editplain/editplain.php:84 ../../addon/blackout/blackout.php:98
-#: ../../addon/gravatar/gravatar.php:86
-#: ../../addon/pageheader/pageheader.php:55 ../../addon/ijpost/ijpost.php:93
-#: ../../addon/jappixmini/jappixmini.php:302
-#: ../../addon/statusnet/statusnet.php:278
-#: ../../addon/statusnet/statusnet.php:292
-#: ../../addon/statusnet/statusnet.php:318
-#: ../../addon/statusnet/statusnet.php:325
-#: ../../addon/statusnet/statusnet.php:353
-#: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90
-#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
-#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
-#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
-#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387
-#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
-#: ../../addon/posterous/posterous.php:103
-#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:757
-#: ../../view/theme/diabook/config.php:190
-#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:580
-msgid "Submit"
-msgstr "Sendi"
-
-#: ../../mod/help.php:30
-msgid "Help:"
-msgstr "Helpo:"
-
-#: ../../mod/help.php:34 ../../addon/dav/layout.fnk.php:116
-#: ../../include/nav.php:86
-msgid "Help"
-msgstr "Helpo"
-
-#: ../../mod/help.php:38 ../../index.php:218
-msgid "Not Found"
-msgstr "Ne trovita"
-
-#: ../../mod/help.php:41 ../../index.php:221
-msgid "Page not found."
-msgstr "Paĝo ne trovita"
-
-#: ../../mod/wall_attach.php:58
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Dosiero estas pli granda ol la limito de %d"
-
-#: ../../mod/wall_attach.php:99 ../../mod/wall_attach.php:110
-msgid "File upload failed."
-msgstr "Alŝutado malsukcesis."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Amikosugesto sendita."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Sugesti amikon por %s"
-
-#: ../../mod/events.php:66
-msgid "Event title and start time are required."
-msgstr "Titolo kaj starttempo estas bezonataj por la okazo."
-
-#: ../../mod/events.php:260
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:282
-msgid "Edit event"
-msgstr "Redakti okazon"
-
-#: ../../mod/events.php:304 ../../include/text.php:1065
-msgid "link to source"
-msgstr "ligilo al fonto"
-
-#: ../../mod/events.php:328 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1559
-msgid "Events"
-msgstr "Okazoj"
-
-#: ../../mod/events.php:329
-msgid "Create New Event"
-msgstr "Krei novan okazon"
-
-#: ../../mod/events.php:330 ../../addon/dav/layout.fnk.php:154
-msgid "Previous"
-msgstr "antaŭa"
-
-#: ../../mod/events.php:331 ../../mod/install.php:205
-#: ../../addon/dav/layout.fnk.php:157
-msgid "Next"
-msgstr "sekva"
-
-#: ../../mod/events.php:404
-msgid "hour:minute"
-msgstr "horo:minuto"
-
-#: ../../mod/events.php:414
-msgid "Event details"
-msgstr "Detaloj de okazo"
-
-#: ../../mod/events.php:415
-#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr "Format is %s %s. Titolo kaj starttempo estas bezonataj."
-
-#: ../../mod/events.php:417
-msgid "Event Starts:"
-msgstr "Okazo startas:"
-
-#: ../../mod/events.php:417 ../../mod/events.php:431
-msgid "Required"
-msgstr "Bezonata"
-
-#: ../../mod/events.php:420
-msgid "Finish date/time is not known or not relevant"
-msgstr "Fina dato/tempo ne estas konata aŭ ne bezonata"
-
-#: ../../mod/events.php:422
-msgid "Event Finishes:"
-msgstr "Okazo finas:"
-
-#: ../../mod/events.php:425
-msgid "Adjust for viewer timezone"
-msgstr "Agordi al horzono de la leganto"
-
-#: ../../mod/events.php:427
-msgid "Description:"
-msgstr "Priskribo"
-
-#: ../../mod/events.php:429 ../../include/event.php:40
-#: ../../include/bb2diaspora.php:357 ../../boot.php:1136
-msgid "Location:"
-msgstr "Loko:"
-
-#: ../../mod/events.php:431
-msgid "Title:"
-msgstr "Titolo:"
-
-#: ../../mod/events.php:433
-msgid "Share this event"
-msgstr "Kunhavigi la okazon"
-
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:556
-#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
-msgid "Cancel"
-msgstr "Nuligi"
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Marko forviŝita"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Forviŝi markon"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Elektu forviŝontan markon:"
-
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
-msgid "Remove"
-msgstr "Forviŝi"
-
-#: ../../mod/dfrn_poll.php:94 ../../mod/dfrn_poll.php:522
-#, php-format
-msgid "%s welcomes %s"
-msgstr "%s salutas %s"
-
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Rajtigi programkonekton"
-
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Reiru al via programo kaj entajpu la securecan kodon:"
-
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Bonvolu ensaluti por pluigi."
-
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Ĉu rajtigi ĉi tiun programon por atingi viajn afiŝojn kaj kontaktojn kaj/aŭ krei novajn afiŝojn?"
-
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:833
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:234
-#: ../../mod/profiles.php:546
-msgid "Yes"
-msgstr "Jes"
-
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:834
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:235
-#: ../../mod/profiles.php:547
-msgid "No"
-msgstr "Ne"
-
-#: ../../mod/photos.php:46 ../../boot.php:1553
-msgid "Photo Albums"
-msgstr "Bildalbumoj"
-
-#: ../../mod/photos.php:54 ../../mod/photos.php:156 ../../mod/photos.php:965
-#: ../../mod/photos.php:1049 ../../mod/photos.php:1064
-#: ../../mod/photos.php:1492 ../../mod/photos.php:1504
-#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:598
-msgid "Contact Photos"
-msgstr "Kontaktbildoj"
-
-#: ../../mod/photos.php:61 ../../mod/photos.php:1074 ../../mod/photos.php:1542
-msgid "Upload New Photos"
-msgstr "Alŝuti novajn bildojn"
-
-#: ../../mod/photos.php:72 ../../mod/settings.php:21
-msgid "everybody"
-msgstr "ĉiuj"
-
-#: ../../mod/photos.php:145
-msgid "Contact information unavailable"
-msgstr "Kontaktoj informoj ne disponeblas"
-
-#: ../../mod/photos.php:156 ../../mod/photos.php:660 ../../mod/photos.php:1049
-#: ../../mod/photos.php:1064 ../../mod/profile_photo.php:60
-#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
-#: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254
-#: ../../mod/profile_photo.php:263
-#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:304
-#: ../../include/user.php:311 ../../include/user.php:318
-msgid "Profile Photos"
-msgstr "Profilbildoj"
-
-#: ../../mod/photos.php:166
-msgid "Album not found."
-msgstr "Albumo ne trovita."
-
-#: ../../mod/photos.php:184 ../../mod/photos.php:1058
-msgid "Delete Album"
-msgstr "Forviŝi albumon"
-
-#: ../../mod/photos.php:247 ../../mod/photos.php:1304
-msgid "Delete Photo"
-msgstr "Forviŝi bildon"
-
-#: ../../mod/photos.php:591
-msgid "was tagged in a"
-msgstr "estas markita en"
-
-#: ../../mod/photos.php:591 ../../mod/like.php:144 ../../mod/tagger.php:70
-#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1317
-#: ../../include/diaspora.php:1710 ../../include/conversation.php:53
-#: ../../include/conversation.php:126
-msgid "photo"
-msgstr "bildo"
-
-#: ../../mod/photos.php:591
-msgid "by"
-msgstr "de"
-
-#: ../../mod/photos.php:696 ../../addon/js_upload/js_upload.php:315
-msgid "Image exceeds size limit of "
-msgstr "Bildo estas pli granda ol la limito de"
-
-#: ../../mod/photos.php:704
-msgid "Image file is empty."
-msgstr "Bilddosiero estas malplena."
-
-#: ../../mod/photos.php:736 ../../mod/profile_photo.php:126
-#: ../../mod/wall_upload.php:99
-msgid "Unable to process image."
-msgstr "Ne eblas procedi la bildon."
-
-#: ../../mod/photos.php:757 ../../mod/profile_photo.php:259
-#: ../../mod/wall_upload.php:118
-msgid "Image upload failed."
-msgstr "Alŝuto de bildo malsukcesis."
-
-#: ../../mod/photos.php:843 ../../mod/community.php:16
-#: ../../mod/dfrn_request.php:759 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
-msgid "Public access denied."
-msgstr "Publika atingo ne permesita."
-
-#: ../../mod/photos.php:853
-msgid "No photos selected"
-msgstr "Neniu bildoj elektita"
-
-#: ../../mod/photos.php:932
-msgid "Access to this item is restricted."
-msgstr "Atingo al tio elemento estas limigita."
-
-#: ../../mod/photos.php:996
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Vi uzas %1$.2f MB de %2$.2f MB bildkonservejo."
-
-#: ../../mod/photos.php:999
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Vi uzas %1$.2f MB de bildkonservejo."
-
-#: ../../mod/photos.php:1005
-msgid "Upload Photos"
-msgstr "Alŝuti bildojn"
-
-#: ../../mod/photos.php:1009 ../../mod/photos.php:1053
-msgid "New album name: "
-msgstr "Nomo por nova albumo:"
-
-#: ../../mod/photos.php:1010
-msgid "or existing album name: "
-msgstr "aŭ nomo de estanta albumo:"
-
-#: ../../mod/photos.php:1011
-msgid "Do not show a status post for this upload"
-msgstr "Ne kreu statan afiŝon por tio alŝuto."
-
-#: ../../mod/photos.php:1013 ../../mod/photos.php:1299
-msgid "Permissions"
-msgstr "Permesoj"
-
-#: ../../mod/photos.php:1068
-msgid "Edit Album"
-msgstr "Redakti albumon"
-
-#: ../../mod/photos.php:1092 ../../mod/photos.php:1525
-msgid "View Photo"
-msgstr "Vidi bildon"
-
-#: ../../mod/photos.php:1127
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Malpermesita. Atingo al tio elemento eble estas limigita."
-
-#: ../../mod/photos.php:1129
-msgid "Photo not available"
-msgstr "La bildo ne disponeblas"
-
-#: ../../mod/photos.php:1179
-msgid "View photo"
-msgstr "Vidi bildon"
-
-#: ../../mod/photos.php:1179
-msgid "Edit photo"
-msgstr "Redakti bildon"
-
-#: ../../mod/photos.php:1180
-msgid "Use as profile photo"
-msgstr "Uzi kiel profilbildo"
-
-#: ../../mod/photos.php:1186 ../../include/conversation.php:490
-msgid "Private Message"
-msgstr "Privata mesaĝo"
-
-#: ../../mod/photos.php:1208
-msgid "View Full Size"
-msgstr "Vidi plengrande "
-
-#: ../../mod/photos.php:1276
-msgid "Tags: "
-msgstr "Markoj:"
-
-#: ../../mod/photos.php:1279
-msgid "[Remove any tag]"
-msgstr "[Forviŝi iun markon]"
-
-#: ../../mod/photos.php:1289
-msgid "Rotate CW (right)"
-msgstr "Turni horloĝdirekte (dekstren)"
-
-#: ../../mod/photos.php:1290
-msgid "Rotate CCW (left)"
-msgstr "Turni kontraŭhorloĝdirekte (maldekstren)"
-
-#: ../../mod/photos.php:1292
-msgid "New album name"
-msgstr "Nova nomo de albumo"
-
-#: ../../mod/photos.php:1295
-msgid "Caption"
-msgstr "Apudskribo"
-
-#: ../../mod/photos.php:1297
-msgid "Add a Tag"
-msgstr "Aldoni markon"
-
-#: ../../mod/photos.php:1301
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Ekzemple: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-
-#: ../../mod/photos.php:1321 ../../include/conversation.php:554
-msgid "I like this (toggle)"
-msgstr "Mi ŝatas tion (ŝalti)"
-
-#: ../../mod/photos.php:1322 ../../include/conversation.php:555
-msgid "I don't like this (toggle)"
-msgstr "Mi malŝatas tion(ŝalti)"
-
-#: ../../mod/photos.php:1323 ../../include/conversation.php:993
-msgid "Share"
-msgstr "Kunhavigi"
-
-#: ../../mod/photos.php:1324 ../../mod/editpost.php:104
-#: ../../mod/wallmessage.php:145 ../../mod/message.php:215
-#: ../../mod/message.php:411 ../../include/conversation.php:371
-#: ../../include/conversation.php:731 ../../include/conversation.php:1012
-msgid "Please wait"
-msgstr "Bonvolu atendi"
-
-#: ../../mod/photos.php:1340 ../../mod/photos.php:1380
-#: ../../mod/photos.php:1411 ../../include/conversation.php:577
-msgid "This is you"
-msgstr "Tiu estas vi"
-
-#: ../../mod/photos.php:1342 ../../mod/photos.php:1382
-#: ../../mod/photos.php:1413 ../../include/conversation.php:579
-#: ../../boot.php:528
-msgid "Comment"
-msgstr "Komenti"
-
-#: ../../mod/photos.php:1344 ../../mod/editpost.php:125
-#: ../../include/conversation.php:589 ../../include/conversation.php:1030
-msgid "Preview"
-msgstr "Antaŭrigardi"
-
-#: ../../mod/photos.php:1441 ../../mod/settings.php:618
-#: ../../mod/settings.php:707 ../../mod/group.php:168 ../../mod/admin.php:663
-#: ../../include/conversation.php:328 ../../include/conversation.php:609
-msgid "Delete"
-msgstr "Forviŝi"
-
-#: ../../mod/photos.php:1531
-msgid "View Album"
-msgstr "Vidi albumon"
-
-#: ../../mod/photos.php:1540
-msgid "Recent Photos"
-msgstr "̂Ĵusaj bildoj"
-
-#: ../../mod/community.php:21
-msgid "Not available."
-msgstr "Ne disponebla."
-
-#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133
-#: ../../include/nav.php:101
-msgid "Community"
-msgstr "Komunumo"
-
-#: ../../mod/community.php:61 ../../mod/search.php:144
-msgid "No results."
-msgstr "Nenion trovita."
-
-#: ../../mod/friendica.php:55
-msgid "This is Friendica, version"
-msgstr "Tio estas Friendica en la versio"
-
-#: ../../mod/friendica.php:56
-msgid "running at web location"
-msgstr "instalita ĉe la adreso"
-
-#: ../../mod/friendica.php:58
-msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica project."
-msgstr "Bonvolu iri al <a href=\"http://friendica.com\">Friendica.com</a> por lerni pli pri la projekto Friendica"
-
-#: ../../mod/friendica.php:60
-msgid "Bug reports and issues: please visit"
-msgstr "Cimraportoj kaj atendindaĵo: bonvolu iri al"
-
-#: ../../mod/friendica.php:61
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
-msgstr "Sugestoj, laŭdoj, donacoj ktp - bonvolu sendi mesĝon al \"Info\" ĉe Friendica - punkto com"
-
-#: ../../mod/friendica.php:75
-msgid "Installed plugins/addons/apps:"
-msgstr "Instalitaj kromprogramoj/programoj:"
-
-#: ../../mod/friendica.php:88
-msgid "No installed plugins/addons/apps"
-msgstr "Neniom da instalitaj aldonaĵoj/programoj"
-
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
-msgstr "Elemento ne trovita"
-
-#: ../../mod/editpost.php:36
-msgid "Edit post"
-msgstr "Redakti afiŝon"
-
-#: ../../mod/editpost.php:80 ../../include/conversation.php:979
-msgid "Post to Email"
-msgstr "Sendi per retpoŝto"
-
-#: ../../mod/editpost.php:95 ../../mod/settings.php:617
-#: ../../include/conversation.php:596
-msgid "Edit"
-msgstr "Redakti"
-
-#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
-#: ../../mod/message.php:213 ../../mod/message.php:408
-#: ../../include/conversation.php:994
-msgid "Upload photo"
-msgstr "Alŝuti bildon"
-
-#: ../../mod/editpost.php:97 ../../include/conversation.php:996
-msgid "Attach file"
-msgstr "Kunligi dosieron"
-
-#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
-#: ../../mod/message.php:214 ../../mod/message.php:409
-#: ../../include/conversation.php:998
-msgid "Insert web link"
-msgstr "Enmeti retan adreson"
-
-#: ../../mod/editpost.php:99
-msgid "Insert YouTube video"
-msgstr "Enmeti videton ĉe YouTube"
-
-#: ../../mod/editpost.php:100
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Enmeti videton en formato Vorbis [.ogg]"
-
-#: ../../mod/editpost.php:101
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Enmeti sonon en formato Vorbis [.ogg]"
-
-#: ../../mod/editpost.php:102 ../../include/conversation.php:1004
-msgid "Set your location"
-msgstr "Agordi vian lokon"
-
-#: ../../mod/editpost.php:103 ../../include/conversation.php:1006
-msgid "Clear browser location"
-msgstr "Forviŝu retesplorilan lokon"
-
-#: ../../mod/editpost.php:105 ../../include/conversation.php:1013
-msgid "Permission settings"
-msgstr "Permesagordoj"
-
-#: ../../mod/editpost.php:113 ../../include/conversation.php:1022
-msgid "CC: email addresses"
-msgstr "CC: retpoŝtadresojn"
-
-#: ../../mod/editpost.php:114 ../../include/conversation.php:1023
-msgid "Public post"
-msgstr "Publika afiŝo"
-
-#: ../../mod/editpost.php:117 ../../include/conversation.php:1009
-msgid "Set title"
-msgstr "Redakti titolon"
-
-#: ../../mod/editpost.php:119 ../../include/conversation.php:1011
-msgid "Categories (comma-separated list)"
-msgstr "Kategorioj (disigita per komo)"
-
-#: ../../mod/editpost.php:120 ../../include/conversation.php:1025
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Ekzemple: bob@example.com, mary@example.com"
-
-#: ../../mod/dfrn_request.php:93
-msgid "This introduction has already been accepted."
-msgstr "Tia prezento jam estas akceptita"
-
-#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:512
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "La adreso de la profilo ne validas aŭ ne enhavas profilinformojn."
-
-#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:517
-msgid "Warning: profile location has no identifiable owner name."
-msgstr "Averto: La adreso de la profilo ne enhavas identeblan personan nomon."
-
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:519
-msgid "Warning: profile location has no profile photo."
-msgstr "Averto: La adreso de la profilo ne enhavas bildon."
-
-#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:522
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "%d bezonataj parametroj ne trovita ĉe la donata adreso."
-msgstr[1] "%d bezonataj parametroj ne trovita ĉe la donata adreso."
-
-#: ../../mod/dfrn_request.php:170
-msgid "Introduction complete."
-msgstr "Prezento sukcesis."
-
-#: ../../mod/dfrn_request.php:209
-msgid "Unrecoverable protocol error."
-msgstr "Neĝustigebla eraro en protokolo."
-
-#: ../../mod/dfrn_request.php:237
-msgid "Profile unavailable."
-msgstr "Profilo ne estas disponebla."
-
-#: ../../mod/dfrn_request.php:262
-#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s hodiaŭ ricevis tro multe da konektpetoj."
-
-#: ../../mod/dfrn_request.php:263
-msgid "Spam protection measures have been invoked."
-msgstr "Kontraŭspamilo estas aktivita."
-
-#: ../../mod/dfrn_request.php:264
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Amikoj, vi bonvolu ripeti post 24 horoj."
-
-#: ../../mod/dfrn_request.php:326
-msgid "Invalid locator"
-msgstr "Nevalida adreso."
-
-#: ../../mod/dfrn_request.php:335
-msgid "Invalid email address."
-msgstr "Nevalida repoŝtadreso."
-
-#: ../../mod/dfrn_request.php:361
-msgid "This account has not been configured for email. Request failed."
-msgstr "La konto ne estas agordita por retpoŝto. La peto malsukcesis."
-
-#: ../../mod/dfrn_request.php:457
-msgid "Unable to resolve your name at the provided location."
-msgstr "Via nomo ne troveblas al la donita adreso."
-
-#: ../../mod/dfrn_request.php:470
-msgid "You have already introduced yourself here."
-msgstr "Vi vin jam prezentis tie."
-
-#: ../../mod/dfrn_request.php:474
-#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Ŝajnas kvazaŭ vi jam amikiĝis kun %s."
-
-#: ../../mod/dfrn_request.php:495
-msgid "Invalid profile URL."
-msgstr "Nevalida adreso de profilo."
-
-#: ../../mod/dfrn_request.php:501 ../../include/follow.php:27
-msgid "Disallowed profile URL."
-msgstr "Malpermesita adreso de profilo."
-
-#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:122
-msgid "Failed to update contact record."
-msgstr "Ĝisdatigo de via kontaktrikordo malsukcesis."
-
-#: ../../mod/dfrn_request.php:591
-msgid "Your introduction has been sent."
-msgstr "Via prezento estas sendita."
-
-#: ../../mod/dfrn_request.php:644
-msgid "Please login to confirm introduction."
-msgstr "Bonvolu ensaluti por jesigi la prezenton."
-
-#: ../../mod/dfrn_request.php:658
-msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr "Malĝusta identaĵo ensalutata. Bonvolu ensaluti en <strong>tiun</strong> profilon."
-
-#: ../../mod/dfrn_request.php:669
-msgid "Hide this contact"
-msgstr "Kaŝi tiun kontakton"
-
-#: ../../mod/dfrn_request.php:672
-#, php-format
-msgid "Welcome home %s."
-msgstr "Bonvenon hejme, %s."
-
-#: ../../mod/dfrn_request.php:673
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Bonvolu konfirmi vian prezenton / kontaktpeton al %s."
-
-#: ../../mod/dfrn_request.php:674
-msgid "Confirm"
-msgstr "Konfirmi."
-
-#: ../../mod/dfrn_request.php:715 ../../include/items.php:2881
-msgid "[Name Withheld]"
-msgstr "[Kaŝita nomo]"
-
-#: ../../mod/dfrn_request.php:808
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"communications networks:"
-msgstr "Bonvolu entajpi vian 'Identecan Adreson' de iu de tiuj subtenataj komunikaj retejoj: "
-
-#: ../../mod/dfrn_request.php:824
-msgid "<strike>Connect as an email follower</strike> (Coming soon)"
-msgstr "<strike>Konektu kiel retpoŝta sekvanto</strike> (Baldaŭ venos)"
-
-#: ../../mod/dfrn_request.php:826
-msgid ""
-"If you are not yet a member of the free social web, <a "
-"href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public"
-" Friendica site and join us today</a>."
-msgstr "Se vi ne estas membro de la libra interkona reto, <a href=\"http://dir.friendica.com/siteinfo\">sekvu ĉi-ligilon por trovi publikan Friendica retejon kaj aliĝi kun ni hodiaŭ</a>."
-
-#: ../../mod/dfrn_request.php:829
-msgid "Friend/Connection Request"
-msgstr "Prezento / Konektpeto"
-
-#: ../../mod/dfrn_request.php:830
-msgid ""
-"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr "Ekzemploj: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
-
-#: ../../mod/dfrn_request.php:831
-msgid "Please answer the following:"
-msgstr "Bonvolu respondi:"
-
-#: ../../mod/dfrn_request.php:832
-#, php-format
-msgid "Does %s know you?"
-msgstr "Ĉu %s konas vin?"
-
-#: ../../mod/dfrn_request.php:835
-msgid "Add a personal note:"
-msgstr "Aldoni personan noton:"
-
-#: ../../mod/dfrn_request.php:837 ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../mod/dfrn_request.php:838
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet/Federaciaj interkonaj retejoj"
-
-#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:652
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../mod/dfrn_request.php:840
-#, php-format
-msgid ""
-" - please do not use this form. Instead, enter %s into your Diaspora search"
-" bar."
-msgstr " - bonvolu ne uzi ĉi formo. Anstataŭe, entajpu %s en la Diaspora serĉilo."
-
-#: ../../mod/dfrn_request.php:841
-msgid "Your Identity Address:"
-msgstr "Via identeca adreso:"
-
-#: ../../mod/dfrn_request.php:844
-msgid "Submit Request"
-msgstr "Sendi peton"
-
-#: ../../mod/install.php:117
-msgid "Friendica Social Communications Server - Setup"
-msgstr "Friendica Interkona Komunikada Servilo - Instalo"
-
-#: ../../mod/install.php:123
-msgid "Could not connect to database."
-msgstr "Ne eblas konekti la datumbazon."
-
-#: ../../mod/install.php:127
-msgid "Could not create table."
-msgstr "Ne eblas krei tabelon."
-
-#: ../../mod/install.php:133
-msgid "Your Friendica site database has been installed."
-msgstr "La datumbazo de vi Friendica retjo estas instalita."
-
-#: ../../mod/install.php:138
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr "Vi bezonas mane importi la dosieron \"database.sql\" per phpmyadmin aŭ mysql."
-
-#: ../../mod/install.php:139 ../../mod/install.php:204
-#: ../../mod/install.php:489
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Bonvolu legi la dosieron \"INSTALL.txt\"."
-
-#: ../../mod/install.php:201
-msgid "System check"
-msgstr "Sistema kontrolo"
-
-#: ../../mod/install.php:206
-msgid "Check again"
-msgstr "Ree kontroli"
-
-#: ../../mod/install.php:225
-msgid "Database connection"
-msgstr "Datumbaza konekto"
-
-#: ../../mod/install.php:226
-msgid ""
-"In order to install Friendica we need to know how to connect to your "
-"database."
-msgstr "Por instali Friendica, ni bezonas scii kiel konekti al via datumbazo."
-
-#: ../../mod/install.php:227
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Bonvolu kontakti vian servilprovizanton aŭ administranton se vi havas demandoj pri ĉi tiaj agordoj."
-
-#: ../../mod/install.php:228
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "La datumbazo nomata malsupren jam ekzistu. Se ĝi ne ekzistas, bonvolu unue krei ĝin antaŭ progresi."
-
-#: ../../mod/install.php:232
-msgid "Database Server Name"
-msgstr "Nomo de datumbaza servilo."
-
-#: ../../mod/install.php:233
-msgid "Database Login Name"
-msgstr "Salutnomo ĉe la datumbazo."
-
-#: ../../mod/install.php:234
-msgid "Database Login Password"
-msgstr "Pasvorto ĉe la datumbazo."
-
-#: ../../mod/install.php:235
-msgid "Database Name"
-msgstr "Nomo de la datumbazo."
-
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid "Site administrator email address"
-msgstr "Retpoŝtadreso de la reteja administranto"
-
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "La repoŝtadreso de via konto bezonas esti la sama por uzi la TTTa administrilo."
-
-#: ../../mod/install.php:240 ../../mod/install.php:278
-msgid "Please select a default timezone for your website"
-msgstr "Bonvolu elekti defaŭltan horzonon por via retejo."
-
-#: ../../mod/install.php:265
-msgid "Site settings"
-msgstr "Retejaj agordoj"
-
-#: ../../mod/install.php:318
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Komanda linia versio de PHP ne trovita en $PATH de la retservilo."
-
-#: ../../mod/install.php:319
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron. See <a "
-"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-msgstr "Se vi ne havas komandlinian version de PHP sur la servilo, vi ne eblas plenumi fonan planitan enketon per cron. Bonvolu legi <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-
-#: ../../mod/install.php:323
-msgid "PHP executable path"
-msgstr "Vojo de la komanda linia versio de PHP"
-
-#: ../../mod/install.php:323
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Entajpu la plenan vojon al la php komandodosiero. Vi eblas lasi tion malplena por pluigi la instalado."
-
-#: ../../mod/install.php:328
-msgid "Command line PHP"
-msgstr "komanda linia versio de PHP"
-
-#: ../../mod/install.php:337
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "En via komanda linia versio de PHP je via sistemo, \"register_argc_argv\" ne estas aktivita."
-
-#: ../../mod/install.php:338
-msgid "This is required for message delivery to work."
-msgstr "Tio estas bezonata por la livero de mesaĝoj."
-
-#: ../../mod/install.php:340
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/install.php:361
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Eraro: La funkcio \"openssl_pkey_new\" je tia sistemo ne eblas generi ĉifroŝlosilojn."
-
-#: ../../mod/install.php:362
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se la operaciumo sistemo estas Windows, bonvolu legi: http://www.php.net/manual/en/openssl.installation.php"
-
-#: ../../mod/install.php:364
-msgid "Generate encryption keys"
-msgstr "Generi ĉifroŝlosilojn"
-
-#: ../../mod/install.php:371
-msgid "libCurl PHP module"
-msgstr "PHP modulo libCurl"
-
-#: ../../mod/install.php:372
-msgid "GD graphics PHP module"
-msgstr "PHP modulo GD"
-
-#: ../../mod/install.php:373
-msgid "OpenSSL PHP module"
-msgstr "PHP modulo OpenSSL"
-
-#: ../../mod/install.php:374
-msgid "mysqli PHP module"
-msgstr "PHP modulo mysqli"
-
-#: ../../mod/install.php:375
-msgid "mb_string PHP module"
-msgstr "PHP modulo mb_string"
-
-#: ../../mod/install.php:380 ../../mod/install.php:382
-msgid "Apache mod_rewrite module"
-msgstr "Apache mod_rewrite modulo"
-
-#: ../../mod/install.php:380
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Eraro: La modulo mod_rewrite en la Apache retservilo estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:388
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Eraro: La modulo libCURL en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:392
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Eraro: La modulo GD en PHP kun subteno por JPEG estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:396
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Eraro: La modulo OpenSSL en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:400
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Eraro: La modulo mysqli en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:404
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Eraro: La modulo mb_string en PHP estas bezonata sed ne instalita."
-
-#: ../../mod/install.php:421
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "La reta instalilo bezonas skribi dosieron nomata \".htconfig.php\" en la baza dosierujo de la retservilo, sed ne sukcesis."
-
-#: ../../mod/install.php:422
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Tio ĉi plej ofte estas agordo rilate al permesoj, ĉar la servilo eble ne povas skribi en via dosierujo, eĉ se vi mem povas skribi."
-
-#: ../../mod/install.php:423
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Friendica top folder."
-msgstr "Post la fino de tiu proceduro, ni donos al vi tekston por konservi en dosiero .htconfig.php en via baza Friendica dosierujo."
-
-#: ../../mod/install.php:424
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"INSTALL.txt\" for instructions."
-msgstr "Vi ankaŭ povas preterpasi tiun proceduron kaj fari permanan instaladon. Bonvolu legi la dosieron \"INSTALL.txt\" por trovi instrukciojn."
-
-#: ../../mod/install.php:427
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php estas skribebla."
-
-#: ../../mod/install.php:439
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "Url rewrite en .htaccess ne funkcias. Kontrolu la agordojn de la servilo."
-
-#: ../../mod/install.php:441
-msgid "Url rewrite is working"
-msgstr "URL rewrite funkcias."
-
-#: ../../mod/install.php:451
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Ne povis skribi la datumbaza agordoj en la dosiero \".htconfig.php\". Bonvolu uzi la inkluzivan tekston por krei agordan dosieron en la baza dosierujo de la retservilo."
-
-#: ../../mod/install.php:476
-msgid "Errors encountered creating database tables."
-msgstr "Okazis eraroj dum la kreado de tabeloj en la datumbazo."
-
-#: ../../mod/install.php:487
-msgid "<h1>What next</h1>"
-msgstr "<h1>Kio sekvas nun?</h1>"
-
-#: ../../mod/install.php:488
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "GRAVA: Vi bezonas [mane] agordi planitan taskon por la Friendica poller."
-
-#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:335
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../mod/localtime.php:24
-msgid "Time Conversion"
-msgstr "Konverto de tempo"
-
-#: ../../mod/localtime.php:26
-msgid ""
-"Friendika provides this service for sharing events with other networks and "
-"friends in unknown timezones."
-msgstr "Friendica provizas tiun servon por kunhavigi okazojn kun aliaj retoj kaj amikoj en aliaj horzonoj."
-
-#: ../../mod/localtime.php:30
-#, php-format
-msgid "UTC time: %s"
-msgstr "UTC horo: %s"
-
-#: ../../mod/localtime.php:33
-#, php-format
-msgid "Current timezone: %s"
-msgstr "Aktuala horzono: %s"
-
-#: ../../mod/localtime.php:36
-#, php-format
-msgid "Converted localtime: %s"
-msgstr "Konvertita loka horo: %s"
-
-#: ../../mod/localtime.php:41
-msgid "Please select your timezone:"
-msgstr "Bonvolu elekti vian horzonon:"
-
-#: ../../mod/match.php:12
-msgid "Profile Match"
-msgstr "Kongrua profilo"
-
-#: ../../mod/match.php:20
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Neniom da kategoriaj vortoj kongruas. Bonvolu aldoni kategoriajn vortojn al via defaŭlta profilo."
-
-#: ../../mod/match.php:57
-msgid "is interested in:"
-msgstr "interesiĝas pri:"
-
-#: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1080
-msgid "Connect"
-msgstr "Konekti"
-
-#: ../../mod/match.php:65 ../../mod/dirfind.php:60
-msgid "No matches"
-msgstr "Nenio estas trovita"
-
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Informoj pri fora privateca ne estas disponebla."
-
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
-msgstr "Videbla al:"
-
-#: ../../mod/home.php:26 ../../addon/communityhome/communityhome.php:179
-#, php-format
-msgid "Welcome to %s"
-msgstr "Bonvenon ĉe %s"
-
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Nevalida peta identigilo."
-
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:161
-#: ../../mod/notifications.php:207
-msgid "Discard"
-msgstr "Forviŝi"
-
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:160
-#: ../../mod/notifications.php:206 ../../mod/contacts.php:316
-#: ../../mod/contacts.php:370
-msgid "Ignore"
-msgstr "Ignori"
-
-#: ../../mod/notifications.php:75
-msgid "System"
-msgstr "Sistemo"
-
-#: ../../mod/notifications.php:80 ../../include/nav.php:113
-msgid "Network"
-msgstr "Reto"
-
-#: ../../mod/notifications.php:85 ../../mod/network.php:300
-msgid "Personal"
-msgstr "Propra"
-
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
-#: ../../include/nav.php:77 ../../include/nav.php:115
-msgid "Home"
-msgstr "Hejmo"
-
-#: ../../mod/notifications.php:95 ../../include/nav.php:121
-msgid "Introductions"
-msgstr "Prezentoj"
-
-#: ../../mod/notifications.php:100 ../../mod/message.php:105
-#: ../../include/nav.php:128
-msgid "Messages"
-msgstr "Mesaĝoj"
-
-#: ../../mod/notifications.php:119
-msgid "Show Ignored Requests"
-msgstr "Montri ignoritajn petojn"
-
-#: ../../mod/notifications.php:119
-msgid "Hide Ignored Requests"
-msgstr "Kaŝi ignoritajn petojn"
-
-#: ../../mod/notifications.php:145 ../../mod/notifications.php:191
-msgid "Notification type: "
-msgstr "Tipo de atentigo:"
-
-#: ../../mod/notifications.php:146
-msgid "Friend Suggestion"
-msgstr "Amikosugestoj"
-
-#: ../../mod/notifications.php:148
-#, php-format
-msgid "suggested by %s"
-msgstr "sugestita de %s"
-
-#: ../../mod/notifications.php:153 ../../mod/notifications.php:200
-#: ../../mod/contacts.php:376
-msgid "Hide this contact from others"
-msgstr "Kaŝi ĉi tiun kontakton al aliaj"
-
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "Post a new friend activity"
-msgstr "Afiŝi novan amikecan aktivecon"
-
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "if applicable"
-msgstr "se aplikebla"
-
-#: ../../mod/notifications.php:157 ../../mod/notifications.php:204
-#: ../../mod/admin.php:661
-msgid "Approve"
-msgstr "Aprobi"
-
-#: ../../mod/notifications.php:177
-msgid "Claims to be known to you: "
-msgstr "Pensas ke vi konas ilin:"
-
-#: ../../mod/notifications.php:177
-msgid "yes"
-msgstr "jes"
-
-#: ../../mod/notifications.php:177
-msgid "no"
-msgstr "ne"
-
-#: ../../mod/notifications.php:184
-msgid "Approve as: "
-msgstr "Aprobi kiel:"
-
-#: ../../mod/notifications.php:185
-msgid "Friend"
-msgstr "Amiko"
-
-#: ../../mod/notifications.php:186
-msgid "Sharer"
-msgstr "Kunhaviganto"
-
-#: ../../mod/notifications.php:186
-msgid "Fan/Admirer"
-msgstr "Fanatikulo/Admiranto"
-
-#: ../../mod/notifications.php:192
-msgid "Friend/Connect Request"
-msgstr "Kontaktpeto"
-
-#: ../../mod/notifications.php:192
-msgid "New Follower"
-msgstr "Nova abonanto"
-
-#: ../../mod/notifications.php:213
-msgid "No introductions."
-msgstr "Neniom da prezentoj"
-
-#: ../../mod/notifications.php:216 ../../include/nav.php:122
-msgid "Notifications"
-msgstr "Atentigoj"
-
-#: ../../mod/notifications.php:253 ../../mod/notifications.php:378
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s ŝatis la afiŝon de %s"
-
-#: ../../mod/notifications.php:262 ../../mod/notifications.php:387
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s malŝatis la afiŝon de %s"
-
-#: ../../mod/notifications.php:276 ../../mod/notifications.php:401
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s amikiĝis kun %s"
-
-#: ../../mod/notifications.php:283 ../../mod/notifications.php:408
-#, php-format
-msgid "%s created a new post"
-msgstr "%s kreis novan afiŝon"
-
-#: ../../mod/notifications.php:284 ../../mod/notifications.php:409
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s komentis pri la afiŝo de %s"
-
-#: ../../mod/notifications.php:298
-msgid "No more network notifications."
-msgstr "Ne pli da retaj atentigoj."
-
-#: ../../mod/notifications.php:302
-msgid "Network Notifications"
-msgstr "Retaj Atentigoj"
-
-#: ../../mod/notifications.php:328 ../../mod/notify.php:61
-msgid "No more system notifications."
-msgstr "Ne pli da sistemaj atentigoj."
-
-#: ../../mod/notifications.php:332 ../../mod/notify.php:65
-msgid "System Notifications"
-msgstr "Sistemaj Atentigoj"
-
-#: ../../mod/notifications.php:423
-msgid "No more personal notifications."
-msgstr "Ne pli da personaj atentigoj"
-
-#: ../../mod/notifications.php:427
-msgid "Personal Notifications"
-msgstr "Personaj Atentigoj"
-
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr "Ne pli da hejmrilataj atentigoj."
-
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr "Hejmrilataj atentigoj"
-
-#: ../../mod/contacts.php:83 ../../mod/contacts.php:163
-msgid "Could not access contact record."
-msgstr "Ne eblis atingi kontaktrikordo."
-
-#: ../../mod/contacts.php:97
-msgid "Could not locate selected profile."
-msgstr "Ne trovis elektitan profilon."
-
-#: ../../mod/contacts.php:120
-msgid "Contact updated."
-msgstr "Kontakto estas ĝisdatigita."
-
-#: ../../mod/contacts.php:185
-msgid "Contact has been blocked"
-msgstr "Kontakto estas blokita."
-
-#: ../../mod/contacts.php:185
-msgid "Contact has been unblocked"
-msgstr "Kontakto estas malblokita."
-
-#: ../../mod/contacts.php:199
-msgid "Contact has been ignored"
-msgstr "Kontakto estas ignorita."
-
-#: ../../mod/contacts.php:199
-msgid "Contact has been unignored"
-msgstr "Kontakto estas malignorita."
-
-#: ../../mod/contacts.php:215
-msgid "Contact has been archived"
-msgstr "Enarkivigis kontakton"
-
-#: ../../mod/contacts.php:215
-msgid "Contact has been unarchived"
-msgstr "Elarkivigis kontakton"
-
-#: ../../mod/contacts.php:228
-msgid "Contact has been removed."
-msgstr "Kontakto estas forigita."
-
-#: ../../mod/contacts.php:258
-#, php-format
-msgid "You are mutual friends with %s"
-msgstr "Vi estas reciproka amiko de %s"
-
-#: ../../mod/contacts.php:262
-#, php-format
-msgid "You are sharing with %s"
-msgstr "Vi kunhavigas kun %s"
-
-#: ../../mod/contacts.php:267
-#, php-format
-msgid "%s is sharing with you"
-msgstr "%s kunhavigas kun vi"
-
-#: ../../mod/contacts.php:284
-msgid "Private communications are not available for this contact."
-msgstr "Privataj komunikadoj ne disponeblas por ĉi tiu kontakto."
-
-#: ../../mod/contacts.php:287
-msgid "Never"
-msgstr "Neniam"
-
-#: ../../mod/contacts.php:291
-msgid "(Update was successful)"
-msgstr "(Ĝisdatigo sukcesis.)"
-
-#: ../../mod/contacts.php:291
-msgid "(Update was not successful)"
-msgstr "(Ĝisdatigo malsukcesis.)"
-
-#: ../../mod/contacts.php:293
-msgid "Suggest friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/contacts.php:297
-#, php-format
-msgid "Network type: %s"
-msgstr "Reta tipo: %s"
-
-#: ../../mod/contacts.php:300 ../../include/contact_widgets.php:183
-#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] "%d komuna kontakto"
-msgstr[1] "%d komunaj kontaktoj"
-
-#: ../../mod/contacts.php:305
-msgid "View all contacts"
-msgstr "Vidi ĉiujn kontaktojn"
-
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:665
-msgid "Unblock"
-msgstr "Malbloki"
-
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:664
-msgid "Block"
-msgstr "Bloki"
-
-#: ../../mod/contacts.php:313
-msgid "Toggle Blocked status"
-msgstr "Ŝalti/malŝalti Blokitan staton"
-
-#: ../../mod/contacts.php:316 ../../mod/contacts.php:370
-msgid "Unignore"
-msgstr "Malignori"
-
-#: ../../mod/contacts.php:319
-msgid "Toggle Ignored status"
-msgstr "Ŝalti/malŝalti Ignoritan staton"
-
-#: ../../mod/contacts.php:323
-msgid "Unarchive"
-msgstr "Elarkivigi"
-
-#: ../../mod/contacts.php:323
-msgid "Archive"
-msgstr "Enarkivigi"
-
-#: ../../mod/contacts.php:326
-msgid "Toggle Archive status"
-msgstr "Ŝalti/malŝalti Enarkivigitan staton"
-
-#: ../../mod/contacts.php:329
-msgid "Repair"
-msgstr "Ripari"
-
-#: ../../mod/contacts.php:332
-msgid "Advanced Contact Settings"
-msgstr "Specialaj Kontaktagordoj"
-
-#: ../../mod/contacts.php:338
-msgid "Communications lost with this contact!"
-msgstr "Mi perdis la kommunikadon kun tiu kontakto!"
-
-#: ../../mod/contacts.php:341
-msgid "Contact Editor"
-msgstr "Kontakta redaktilo."
-
-#: ../../mod/contacts.php:344
-msgid "Profile Visibility"
-msgstr "Videbleco de profilo"
-
-#: ../../mod/contacts.php:345
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bonvolu elekti la profilon kiu vi volas montri al %s aspektinde kiam sekure aspektante vian profilon."
-
-#: ../../mod/contacts.php:346
-msgid "Contact Information / Notes"
-msgstr "Kontaktaj informoj / Notoj"
-
-#: ../../mod/contacts.php:347
-msgid "Edit contact notes"
-msgstr "Redakti kontaktnotojn"
-
-#: ../../mod/contacts.php:352 ../../mod/contacts.php:544
-#: ../../mod/viewconnections.php:62 ../../mod/nogroup.php:40
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Viziti la profilon de %s [%s]"
-
-#: ../../mod/contacts.php:353
-msgid "Block/Unblock contact"
-msgstr "Bloki/Malbloki kontakton"
-
-#: ../../mod/contacts.php:354
-msgid "Ignore contact"
-msgstr "Ignori kontakton"
-
-#: ../../mod/contacts.php:355
-msgid "Repair URL settings"
-msgstr "Ripari URL agordoj"
-
-#: ../../mod/contacts.php:356
-msgid "View conversations"
-msgstr "Vidi konversaciojn"
-
-#: ../../mod/contacts.php:358
-msgid "Delete contact"
-msgstr "Forviŝi kontakton"
-
-#: ../../mod/contacts.php:362
-msgid "Last update:"
-msgstr "Plej ĵusa ĝisdatigo:"
-
-#: ../../mod/contacts.php:364
-msgid "Update public posts"
-msgstr "Ĝisdatigi publikajn afiŝojn"
-
-#: ../../mod/contacts.php:366 ../../mod/admin.php:1136
-msgid "Update now"
-msgstr "Ĝisdatigi nun"
-
-#: ../../mod/contacts.php:373
-msgid "Currently blocked"
-msgstr "Nuntempe blokata"
-
-#: ../../mod/contacts.php:374
-msgid "Currently ignored"
-msgstr "Nuntempe ignorata"
-
-#: ../../mod/contacts.php:375
-msgid "Currently archived"
-msgstr "Nuntempe enarkivigita"
-
-#: ../../mod/contacts.php:376
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Rispondoj/ŝataĵo al viaj publikaj afiŝoj <strong>eble</strong> plu estos videbla"
-
-#: ../../mod/contacts.php:429
-msgid "Suggestions"
-msgstr "Sugestoj"
-
-#: ../../mod/contacts.php:432
-msgid "Suggest potential friends"
-msgstr "Sugesti amikojn"
-
-#: ../../mod/contacts.php:435 ../../mod/group.php:191
-msgid "All Contacts"
-msgstr "Ĉiuj Kontaktoj"
-
-#: ../../mod/contacts.php:438
-msgid "Show all contacts"
-msgstr "Montri ĉiujn kontaktojn"
-
-#: ../../mod/contacts.php:441
-msgid "Unblocked"
-msgstr "Malblokita"
-
-#: ../../mod/contacts.php:444
-msgid "Only show unblocked contacts"
-msgstr "Nur montri neblokitajn kontaktojn"
-
-#: ../../mod/contacts.php:448
-msgid "Blocked"
-msgstr "Blokita"
-
-#: ../../mod/contacts.php:451
-msgid "Only show blocked contacts"
-msgstr "Nur montri blokitajn kontaktojn"
-
-#: ../../mod/contacts.php:455
-msgid "Ignored"
-msgstr "Ignorita"
-
-#: ../../mod/contacts.php:458
-msgid "Only show ignored contacts"
-msgstr "Nur montri ignoritajn kontaktojn"
-
-#: ../../mod/contacts.php:462
-msgid "Archived"
-msgstr "Enarkivigita"
-
-#: ../../mod/contacts.php:465
-msgid "Only show archived contacts"
-msgstr "Nur montri enarkivigitajn kontaktojn"
-
-#: ../../mod/contacts.php:469
-msgid "Hidden"
-msgstr "Kaŝita"
-
-#: ../../mod/contacts.php:472
-msgid "Only show hidden contacts"
-msgstr "Nur montri kaŝitajn kontaktojn"
-
-#: ../../mod/contacts.php:520
-msgid "Mutual Friendship"
-msgstr "Reciproka amikeco"
-
-#: ../../mod/contacts.php:524
-msgid "is a fan of yours"
-msgstr "estas admiranto de vi"
-
-#: ../../mod/contacts.php:528
-msgid "you are a fan of"
-msgstr "vi estas admiranto de"
-
-#: ../../mod/contacts.php:545 ../../mod/nogroup.php:41
-msgid "Edit contact"
-msgstr "Redakti kontakton"
-
-#: ../../mod/contacts.php:566 ../../view/theme/diabook/theme.php:129
-#: ../../include/nav.php:139
-msgid "Contacts"
-msgstr "Kontaktoj"
-
-#: ../../mod/contacts.php:570
-msgid "Search your contacts"
-msgstr "Serĉi viajn kontaktojn"
-
-#: ../../mod/contacts.php:571 ../../mod/directory.php:57
-msgid "Finding: "
-msgstr "Trovata:"
-
-#: ../../mod/contacts.php:572 ../../mod/directory.php:59
-#: ../../include/contact_widgets.php:33
-msgid "Find"
-msgstr "Trovi"
-
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
-msgstr "Ne trovis validan konton."
-
-#: ../../mod/lostpass.php:32
-msgid "Password reset request issued. Check your email."
-msgstr "Eldonis riparadon de pasvorto. Legu vian retpoŝton."
-
-#: ../../mod/lostpass.php:43
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Pasvorta riparado petita je %s"
-
-#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:90 ../../mod/register.php:144
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
-#: ../../addon/facebook/facebook.php:700
-#: ../../addon/facebook/facebook.php:1190
-#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2890
-#: ../../boot.php:730
-msgid "Administrator"
-msgstr "Administranto"
-
-#: ../../mod/lostpass.php:65
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Ne povis konfirmi la peton. (Eble vi sendis ĝin antaŭ.) Pasvorta riparado malsukcesis."
-
-#: ../../mod/lostpass.php:83 ../../boot.php:862
-msgid "Password Reset"
-msgstr "Pasvorta riparado"
-
-#: ../../mod/lostpass.php:84
-msgid "Your password has been reset as requested."
-msgstr "Via pasvorto estis riparita laŭ via peto."
-
-#: ../../mod/lostpass.php:85
-msgid "Your new password is"
-msgstr "Via nova pasvorto estas"
-
-#: ../../mod/lostpass.php:86
-msgid "Save or copy your new password - and then"
-msgstr "Memorigi vian novan pasvorton - kaj poste"
-
-#: ../../mod/lostpass.php:87
-msgid "click here to login"
-msgstr "klaku ĉi tie por ensaluti"
-
-#: ../../mod/lostpass.php:88
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Vi povas ŝangi vian pasvorton sur la paĝo <em>agordoj</em> kiam vi sukcese ensalutis."
-
-#: ../../mod/lostpass.php:119
-msgid "Forgot your Password?"
-msgstr "Ĉu vi forgesis vian pasvorton?"
-
-#: ../../mod/lostpass.php:120
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Entajpu vian retpoŝtadreson kaj sendu por pasvorta riparado. Poste, bonvolu legi vian retpoŝton por trovi pliajn instrukciojn."
-
-#: ../../mod/lostpass.php:121
-msgid "Nickname or Email: "
-msgstr "Salutnomo aŭ retpoŝtadreso: "
-
-#: ../../mod/lostpass.php:122
-msgid "Reset"
-msgstr "Repari"
-
-#: ../../mod/settings.php:50 ../../include/nav.php:137
-msgid "Account settings"
-msgstr "Konto"
-
-#: ../../mod/settings.php:55
-msgid "Display settings"
-msgstr "Ekrano"
-
-#: ../../mod/settings.php:61
-msgid "Connector settings"
-msgstr "Konektiloj"
-
-#: ../../mod/settings.php:66
-msgid "Plugin settings"
-msgstr "Kromprogramoj"
-
-#: ../../mod/settings.php:71
-msgid "Connected apps"
-msgstr "Konektitaj programoj"
-
-#: ../../mod/settings.php:76
-msgid "Export personal data"
-msgstr "Eksporto"
-
-#: ../../mod/settings.php:81
-msgid "Remove account"
-msgstr "Forigi konton"
-
-#: ../../mod/settings.php:89 ../../mod/admin.php:751 ../../mod/admin.php:956
-#: ../../addon/dav/layout.fnk.php:116 ../../addon/mathjax/mathjax.php:36
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
-msgid "Settings"
-msgstr "Agordoj"
-
-#: ../../mod/settings.php:133
-msgid "Missing some important data!"
-msgstr "Mankas importantaj datumoj!"
-
-#: ../../mod/settings.php:136 ../../mod/settings.php:581
-msgid "Update"
-msgstr "Ĝisdatigi"
-
-#: ../../mod/settings.php:241
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Ne sukcesis konekti al retpoŝtkonto kun la provizitaj agordoj."
-
-#: ../../mod/settings.php:246
-msgid "Email settings updated."
-msgstr "Retpoŝtagordoj ĝisdatigita"
-
-#: ../../mod/settings.php:305
-msgid "Passwords do not match. Password unchanged."
-msgstr "La pasvortoj ne estas egala. Pasvorto ne ŝanĝita."
-
-#: ../../mod/settings.php:310
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Malplenaj pasvortoj ne estas permesita. Pasvorto ne ŝanĝita."
-
-#: ../../mod/settings.php:321
-msgid "Password changed."
-msgstr "Pasvorto ŝanĝita."
-
-#: ../../mod/settings.php:323
-msgid "Password update failed. Please try again."
-msgstr "Ĝisdatigo de pasvorto malsukcesis. Bonvolu provi refoje."
-
-#: ../../mod/settings.php:386
-msgid " Please use a shorter name."
-msgstr " Bonvolu uzi pli mallongan nomon."
-
-#: ../../mod/settings.php:388
-msgid " Name too short."
-msgstr " Nomo estas tro mallonga."
-
-#: ../../mod/settings.php:394
-msgid " Not valid email."
-msgstr " Repoŝtadreso ne validas."
-
-#: ../../mod/settings.php:396
-msgid " Cannot change to that email."
-msgstr " Ne povas ŝanĝi al tio retpoŝtadreso."
-
-#: ../../mod/settings.php:450
-msgid "Private forum has no privacy permissions. Using default privacy group."
-msgstr "Privata forumo ne havas privatecajn agordojn. Defaŭlta privateca grupo estas uzata."
-
-#: ../../mod/settings.php:454
-msgid "Private forum has no privacy permissions and no default privacy group."
-msgstr "Privata forumo havas nek privatecajn agordojn nek defaŭltan privatecan grupon."
-
-#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:493
-#: ../../addon/impressum/impressum.php:77
-#: ../../addon/openstreetmap/openstreetmap.php:80
-#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
-#: ../../addon/twitter/twitter.php:382
-msgid "Settings updated."
-msgstr "Agordoj ĝisdatigita."
-
-#: ../../mod/settings.php:554 ../../mod/settings.php:580
-#: ../../mod/settings.php:616
-msgid "Add application"
-msgstr "Aldoni programon"
-
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
-#: ../../addon/statusnet/statusnet.php:561
-msgid "Consumer Key"
-msgstr "Ŝlosilo de kliento"
-
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
-#: ../../addon/statusnet/statusnet.php:560
-msgid "Consumer Secret"
-msgstr "Sekreto de kliento"
-
-#: ../../mod/settings.php:560 ../../mod/settings.php:586
-msgid "Redirect"
-msgstr "Alidirekto"
-
-#: ../../mod/settings.php:561 ../../mod/settings.php:587
-msgid "Icon url"
-msgstr "Piktograma adreso"
-
-#: ../../mod/settings.php:572
-msgid "You can't edit this application."
-msgstr "Ĉi tio programo ne estas redaktebla."
-
-#: ../../mod/settings.php:615
-msgid "Connected Apps"
-msgstr "Konektitaj Programoj"
-
-#: ../../mod/settings.php:619
-msgid "Client key starts with"
-msgstr "Ŝlosilo de kliento komencas kun"
-
-#: ../../mod/settings.php:620
-msgid "No name"
-msgstr "Neniu nomo"
-
-#: ../../mod/settings.php:621
-msgid "Remove authorization"
-msgstr "Forviŝi rajtigon"
-
-#: ../../mod/settings.php:632
-msgid "No Plugin settings configured"
-msgstr "Neniom da kromprogramoagordoj farita"
-
-#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
-msgid "Plugin Settings"
-msgstr "Kromprogramoagordoj"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-#, php-format
-msgid "Built-in support for %s connectivity is %s"
-msgstr "Integrita subteno por %s koneto estas %s"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "enabled"
-msgstr "ŝaltita"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "disabled"
-msgstr "malŝaltita"
-
-#: ../../mod/settings.php:653
-msgid "StatusNet"
-msgstr "StatusNet"
-
-#: ../../mod/settings.php:685
-msgid "Email access is disabled on this site."
-msgstr "Retpoŝta atingo ne disponeblas ĉi tie."
-
-#: ../../mod/settings.php:691
-msgid "Connector Settings"
-msgstr "Konektiloagordoj"
-
-#: ../../mod/settings.php:696
-msgid "Email/Mailbox Setup"
-msgstr "Agordoj pri Retpoŝto"
-
-#: ../../mod/settings.php:697
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr "Se vi volas uzi ĉi tiun servon por komuniki per retpoŝto (nedeviga), bonvolu specifi kiel konekti al vian retpoŝtkonton."
-
-#: ../../mod/settings.php:698
-msgid "Last successful email check:"
-msgstr "Plej ĵusa sukcesa kontrolo de poŝto:"
-
-#: ../../mod/settings.php:700
-msgid "IMAP server name:"
-msgstr "Nomo de IMAP servilo:"
-
-#: ../../mod/settings.php:701
-msgid "IMAP port:"
-msgstr "Numero de IMAP pordo:"
-
-#: ../../mod/settings.php:702
-msgid "Security:"
-msgstr "Sekureco:"
-
-#: ../../mod/settings.php:702 ../../mod/settings.php:707
-msgid "None"
-msgstr "Nenio"
-
-#: ../../mod/settings.php:703
-msgid "Email login name:"
-msgstr "Retpoŝta salutnomo:"
-
-#: ../../mod/settings.php:704
-msgid "Email password:"
-msgstr "Retpoŝta pasvorto:"
-
-#: ../../mod/settings.php:705
-msgid "Reply-to address:"
-msgstr "Responda adreso (Reply-to):"
-
-#: ../../mod/settings.php:706
-msgid "Send public posts to all email contacts:"
-msgstr "Sendu publikajn afiŝojn al ĉiuj retpoŝtkontaktoj:"
-
-#: ../../mod/settings.php:707
-msgid "Action after import:"
-msgstr "Ago post la importado:"
-
-#: ../../mod/settings.php:707
-msgid "Mark as seen"
-msgstr "Marki kiel legita"
-
-#: ../../mod/settings.php:707
-msgid "Move to folder"
-msgstr "Movi al dosierujo"
-
-#: ../../mod/settings.php:708
-msgid "Move to folder:"
-msgstr "Movi al dosierujo:"
-
-#: ../../mod/settings.php:768
-msgid "Display Settings"
-msgstr "Ekranagordoj"
-
-#: ../../mod/settings.php:774
-msgid "Display Theme:"
-msgstr "Vidiga etoso:"
-
-#: ../../mod/settings.php:775
-msgid "Update browser every xx seconds"
-msgstr "Ĝisdatigu retesplorilon ĉiu xxx sekundoj"
-
-#: ../../mod/settings.php:775
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimume 10 sekundoj, sen maksimumo"
-
-#: ../../mod/settings.php:776
-msgid "Number of items to display on the network page:"
-msgstr "Kvanto da elementoj kiuj estos montrata ĉe la reto paĝo."
-
-#: ../../mod/settings.php:776
-msgid "Maximum of 100 items"
-msgstr "Maksimume 100 eroj"
-
-#: ../../mod/settings.php:777
-msgid "Don't show emoticons"
-msgstr "Ne montru ridetulojn"
-
-#: ../../mod/settings.php:848
-msgid "Normal Account Page"
-msgstr "Normala Kontopaĝo"
-
-#: ../../mod/settings.php:849
-msgid "This account is a normal personal profile"
-msgstr "Tiu konto estas normala persona profilo"
-
-#: ../../mod/settings.php:852
-msgid "Soapbox Page"
-msgstr "Soapbox Paĝo"
-
-#: ../../mod/settings.php:853
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel nurlegaj admirantoj"
-
-#: ../../mod/settings.php:856
-msgid "Community Forum/Celebrity Account"
-msgstr "Komunuma Forumo/Eminentula Konto"
-
-#: ../../mod/settings.php:857
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel admirantoj kapable legi kaj skribi"
-
-#: ../../mod/settings.php:860
-msgid "Automatic Friend Page"
-msgstr "Aŭtomata Amiko Paĝo"
-
-#: ../../mod/settings.php:861
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel amikoj"
-
-#: ../../mod/settings.php:864
-msgid "Private Forum [Experimental]"
-msgstr "Privata Forumo [eksperimenta]"
-
-#: ../../mod/settings.php:865
-msgid "Private forum - approved members only"
-msgstr "Privata forumo - nur por aprobitaj membroj"
-
-#: ../../mod/settings.php:877
-msgid "OpenID:"
-msgstr "OpenID:"
-
-#: ../../mod/settings.php:877
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Nedeviga) Permesi atingon al la konton al ĉi tio OpenID."
-
-#: ../../mod/settings.php:887
-msgid "Publish your default profile in your local site directory?"
-msgstr "Publikigi vian defaŭltan profilon en la loka reteja katalogo?"
-
-#: ../../mod/settings.php:893
-msgid "Publish your default profile in the global social directory?"
-msgstr "Publikigi vian defaŭltan profilon en la tutmonda interkona katalogo?"
-
-#: ../../mod/settings.php:901
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr "Kaŝi vian liston de kontaktoj/amiko al spektantoj de via defaŭlta profilo?"
-
-#: ../../mod/settings.php:905
-msgid "Hide your profile details from unknown viewers?"
-msgstr "Kaŝi viajn profilajn detalojn al nekonataj spektantoj?"
-
-#: ../../mod/settings.php:910
-msgid "Allow friends to post to your profile page?"
-msgstr "Ĉu amikoj povu afiŝi al via profilo?"
-
-#: ../../mod/settings.php:916
-msgid "Allow friends to tag your posts?"
-msgstr "Ĉu amikoj povu aldoni markojn al viaj afiŝoj?"
-
-#: ../../mod/settings.php:922
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Ĉu ni povu sugesti vin kiel amiko al novaj membroj?"
-
-#: ../../mod/settings.php:928
-msgid "Permit unknown people to send you private mail?"
-msgstr "Permesigi nekonatulojn sendi retpoŝton al vi?"
-
-#: ../../mod/settings.php:936
-msgid "Profile is <strong>not published</strong>."
-msgstr "Profilo <strong>ne estas publika</strong>."
-
-#: ../../mod/settings.php:939 ../../mod/profile_photo.php:213
-msgid "or"
-msgstr "aŭ"
-
-#: ../../mod/settings.php:944
-msgid "Your Identity Address is"
-msgstr "Via identeca adreso estas"
-
-#: ../../mod/settings.php:955
-msgid "Automatically expire posts after this many days:"
-msgstr "Automatike senvalidigi afiŝojn post tiom da tagoj:"
-
-#: ../../mod/settings.php:955
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr "Se malplena, afiŝoj neniam senvalidiĝos. Senvalidigitajn afiŝon estos forviŝata"
-
-#: ../../mod/settings.php:956
-msgid "Advanced expiration settings"
-msgstr "Detalaj agordoj rilate al senvalidiĝo"
-
-#: ../../mod/settings.php:957
-msgid "Advanced Expiration"
-msgstr "Detala senvalidiĝo"
-
-#: ../../mod/settings.php:958
-msgid "Expire posts:"
-msgstr "Senvalidigi afiŝojn:"
-
-#: ../../mod/settings.php:959
-msgid "Expire personal notes:"
-msgstr "Senvalidigi personajn notojn:"
-
-#: ../../mod/settings.php:960
-msgid "Expire starred posts:"
-msgstr "Senvalidigi steligitajn afiŝojn:"
-
-#: ../../mod/settings.php:961
-msgid "Expire photos:"
-msgstr "Senvalidigi bildojn:"
-
-#: ../../mod/settings.php:962
-msgid "Only expire posts by others:"
-msgstr "Nur senvalidigi afiŝojn de aliaj: "
-
-#: ../../mod/settings.php:969
-msgid "Account Settings"
-msgstr "Kontoagordoj"
-
-#: ../../mod/settings.php:977
-msgid "Password Settings"
-msgstr "Agordoj pri Pasvorto"
-
-#: ../../mod/settings.php:978
-msgid "New Password:"
-msgstr "Nova pasvorto:"
-
-#: ../../mod/settings.php:979
-msgid "Confirm:"
-msgstr "Konfirmi:"
-
-#: ../../mod/settings.php:979
-msgid "Leave password fields blank unless changing"
-msgstr "Lasu pasvortkampojn malplenaj se vi ne ŝanĝas la pasvorton."
-
-#: ../../mod/settings.php:983
-msgid "Basic Settings"
-msgstr "Bazaj Agordoj"
-
-#: ../../mod/settings.php:984 ../../include/profile_advanced.php:15
-msgid "Full Name:"
-msgstr "Plena Nomo:"
-
-#: ../../mod/settings.php:985
-msgid "Email Address:"
-msgstr "Retpoŝtadreso:"
-
-#: ../../mod/settings.php:986
-msgid "Your Timezone:"
-msgstr "Via Horzono:"
-
-#: ../../mod/settings.php:987
-msgid "Default Post Location:"
-msgstr "Defaŭlta Loko por Afiŝoj:"
-
-#: ../../mod/settings.php:988
-msgid "Use Browser Location:"
-msgstr "Uzu Lokon laŭ Retesplorilo:"
-
-#: ../../mod/settings.php:991
-msgid "Security and Privacy Settings"
-msgstr "Agordoj pri Sekureco kaj Privateco"
-
-#: ../../mod/settings.php:993
-msgid "Maximum Friend Requests/Day:"
-msgstr "Taga maksimumo da kontaktpetoj:"
-
-#: ../../mod/settings.php:993 ../../mod/settings.php:1012
-msgid "(to prevent spam abuse)"
-msgstr "(por malhelpi spamaĵojn)"
-
-#: ../../mod/settings.php:994
-msgid "Default Post Permissions"
-msgstr "Defaŭltaj permesoj por afiŝoj"
-
-#: ../../mod/settings.php:995
-msgid "(click to open/close)"
-msgstr "(klaku por malfermi/fermi)"
-
-#: ../../mod/settings.php:1012
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Taga maksimumo da privataj mesaĝoj."
-
-#: ../../mod/settings.php:1015
-msgid "Notification Settings"
-msgstr "Agordoj pri Atentigoj"
-
-#: ../../mod/settings.php:1016
-msgid "By default post a status message when:"
-msgstr "Defaŭlte afiŝi statmesaĝon okaze de:"
-
-#: ../../mod/settings.php:1017
-msgid "accepting a friend request"
-msgstr "akcepti kontaktpeton"
-
-#: ../../mod/settings.php:1018
-msgid "joining a forum/community"
-msgstr "aliĝi forumon/komunumon"
-
-#: ../../mod/settings.php:1019
-msgid "making an <em>interesting</em> profile change"
-msgstr "fari <em>interesan</em> profilŝanĝon"
-
-#: ../../mod/settings.php:1020
-msgid "Send a notification email when:"
-msgstr "Sendu atentiga repoŝton se:"
-
-#: ../../mod/settings.php:1021
-msgid "You receive an introduction"
-msgstr "Vi ricevas inviton"
-
-#: ../../mod/settings.php:1022
-msgid "Your introductions are confirmed"
-msgstr "Viaj prezentoj estas konfirmata."
-
-#: ../../mod/settings.php:1023
-msgid "Someone writes on your profile wall"
-msgstr "Iu skribas je via profila muro."
-
-#: ../../mod/settings.php:1024
-msgid "Someone writes a followup comment"
-msgstr "Iu skribas sekvan komenton"
-
-#: ../../mod/settings.php:1025
-msgid "You receive a private message"
-msgstr "Vi ricevas privatan mesaĝon."
-
-#: ../../mod/settings.php:1026
-msgid "You receive a friend suggestion"
-msgstr "Vi ricevas amikosugeston"
-
-#: ../../mod/settings.php:1027
-msgid "You are tagged in a post"
-msgstr "Vi estas markita en afiŝon"
-
-#: ../../mod/settings.php:1030
-msgid "Advanced Account/Page Type Settings"
-msgstr "Detalaj Agordoj pri Tipo de Konto/Paĝo."
-
-#: ../../mod/settings.php:1031
-msgid "Change the behaviour of this account for special situations"
-msgstr "Agordi la teniĝon de la konto en specialaj situacioj"
-
-#: ../../mod/manage.php:90
-msgid "Manage Identities and/or Pages"
-msgstr "Administri identecojn kaj/aŭ paĝojn."
-
-#: ../../mod/manage.php:93
-msgid ""
-"Toggle between different identities or community/group pages which share "
-"your account details or which you have been granted \"manage\" permissions"
-msgstr "Ŝalti inter aliaj identecojn aj komunumaj/grupaj paĝoj kiuj kunhavas viajn kontajn detalojn au por kiuj vi havas \"administranto\" permesojn."
-
-#: ../../mod/manage.php:95
-msgid "Select an identity to manage: "
-msgstr "Elektu identencon por administrado:"
-
-#: ../../mod/network.php:97
-msgid "Search Results For:"
-msgstr "Rezultoj de la serĉado pri:"
-
-#: ../../mod/network.php:137 ../../mod/search.php:16
-msgid "Remove term"
-msgstr "Forviŝu terminon"
-
-#: ../../mod/network.php:146 ../../mod/search.php:13
-msgid "Saved Searches"
-msgstr "Konservitaj Serĉadoj"
-
-#: ../../mod/network.php:147 ../../include/group.php:244
-msgid "add"
-msgstr "aldoni"
-
-#: ../../mod/network.php:287
-msgid "Commented Order"
-msgstr "Komenta Ordo"
-
-#: ../../mod/network.php:290
-msgid "Sort by Comment Date"
-msgstr "Ordigi laŭ Dato de Komento"
-
-#: ../../mod/network.php:293
-msgid "Posted Order"
-msgstr "Afiŝita Ordo"
-
-#: ../../mod/network.php:296
-msgid "Sort by Post Date"
-msgstr "Ordigi laŭ Dato de Afiŝado"
-
-#: ../../mod/network.php:303
-msgid "Posts that mention or involve you"
-msgstr "Afiŝoj menciantaj vin aŭ pri vi"
-
-#: ../../mod/network.php:306
-msgid "New"
-msgstr "Nova"
-
-#: ../../mod/network.php:309
-msgid "Activity Stream - by date"
-msgstr "Fluo de Aktiveco - laŭ dato"
-
-#: ../../mod/network.php:312
-msgid "Starred"
-msgstr "Steligita"
-
-#: ../../mod/network.php:315
-msgid "Favourite Posts"
-msgstr "Favorigitaj Afiŝoj"
-
-#: ../../mod/network.php:318
-msgid "Shared Links"
-msgstr "Kunhavigitaj Ligiloj"
-
-#: ../../mod/network.php:321
-msgid "Interesting Links"
-msgstr "Interesaj Ligiloj"
-
-#: ../../mod/network.php:388
-#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Averto: La grupo enhavas %s membron el nesekuraj retejoj."
-msgstr[1] "Averto: La grupo enhavas %s membrojn el nesekuraj retejoj."
-
-#: ../../mod/network.php:391
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "La privateco de privataj mesaĝoj al ĉi tiu grupo ne ĉiam estas garantita."
-
-#: ../../mod/network.php:436
-msgid "No such group"
-msgstr "Grupo ne estas trovita"
-
-#: ../../mod/network.php:447
-msgid "Group is empty"
-msgstr "Grupo estas malplena"
-
-#: ../../mod/network.php:451
-msgid "Group: "
-msgstr "Grupo:"
-
-#: ../../mod/network.php:461
-msgid "Contact: "
-msgstr "Kontakto:"
-
-#: ../../mod/network.php:463
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "La privateco de privataj mesaĝoj al ĉi tiu persono ne ĉiam estas garantita."
-
-#: ../../mod/network.php:468
-msgid "Invalid contact."
-msgstr "Nevalida kontakto."
-
-#: ../../mod/notes.php:44 ../../boot.php:1565
-msgid "Personal Notes"
-msgstr "Personaj Notoj"
-
-#: ../../mod/notes.php:63 ../../mod/filer.php:30
-#: ../../addon/facebook/facebook.php:768
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
-#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652
-msgid "Save"
-msgstr "Konservi"
-
-#: ../../mod/wallmessage.php:42 ../../mod/wallmessage.php:112
-#, php-format
-msgid "Number of daily wall messages for %s exceeded. Message failed."
-msgstr "Number of daily wall messages for %s exceeded. Messaĝo malsukcesis."
-
-#: ../../mod/wallmessage.php:56 ../../mod/message.php:66
-msgid "No recipient selected."
-msgstr "Neniom da ricevontoj."
-
-#: ../../mod/wallmessage.php:59
-msgid "Unable to check your home location."
-msgstr "Ne eblas kontroli vian hejmlokon."
-
-#: ../../mod/wallmessage.php:62 ../../mod/message.php:73
-msgid "Message could not be sent."
-msgstr "Ne povas sendi la mesaĝon."
-
-#: ../../mod/wallmessage.php:65 ../../mod/message.php:76
-msgid "Message collection failure."
-msgstr "Malsukcese provis kolekti mesaĝojn."
-
-#: ../../mod/wallmessage.php:68 ../../mod/message.php:79
-msgid "Message sent."
-msgstr "Mesaĝo estas sendita."
-
-#: ../../mod/wallmessage.php:86 ../../mod/wallmessage.php:95
-msgid "No recipient."
-msgstr "Neniom da ricevontoj."
-
-#: ../../mod/wallmessage.php:124 ../../mod/message.php:172
-#: ../../include/conversation.php:947
-msgid "Please enter a link URL:"
-msgstr "Bonvolu entajpu adreson de ligilo:"
-
-#: ../../mod/wallmessage.php:131 ../../mod/message.php:200
-msgid "Send Private Message"
-msgstr "Sendi Privatan Mesaĝon"
-
-#: ../../mod/wallmessage.php:132
-#, php-format
-msgid ""
-"If you wish for %s to respond, please check that the privacy settings on "
-"your site allow private mail from unknown senders."
-msgstr "Se vi deziras ke %s respondu, bonvolu kontroli ke la privatecaj agordoj je via retejo permesas privatajn mesaĝojn de nekonataj sendantoj."
-
-#: ../../mod/wallmessage.php:133 ../../mod/message.php:201
-#: ../../mod/message.php:399
-msgid "To:"
-msgstr "Al:"
-
-#: ../../mod/wallmessage.php:134 ../../mod/message.php:206
-#: ../../mod/message.php:401
-msgid "Subject:"
-msgstr "Temo:"
-
-#: ../../mod/wallmessage.php:140 ../../mod/message.php:210
-#: ../../mod/message.php:404 ../../mod/invite.php:113
-msgid "Your message:"
-msgstr "Via mesaĝo:"
-
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendica"
-msgstr "Bonvenon ĉe Friendica"
-
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Kontrololisto por Novaj Membroj"
-
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
-msgstr "Lasu nin oferi al vi kelkajn konsolojn kaj ligilojn por plifaciligi vian komencon. Klaku iun elementon por viziti la rilatan paĝon. Ligilo al ĉi tiu paĝo videblos en via hejmpaĝo dum du semajnojn post via komenca membriĝo. Post du semajnoj, la ligilo silente malaperos. "
-
-#: ../../mod/newmember.php:16
-msgid ""
-"On your <em>Quick Start</em> page - find a brief introduction to your "
-"profile and network tabs, connect to Facebook, make some new connections, "
-"and find some groups to join."
-msgstr "Je via <em>Rapida Starto</em> paĝo - trovu mallongan enigon pri via profilo kaj la reto folioj, konektu al Facebook, faru novajn konektojn kaj trovu aliĝindajn grupojn."
-
-#: ../../mod/newmember.php:18
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
-msgstr "Bonvolu ŝanĝi vian pasvorton ĉe <em>Agordoj</em>. Krome, memorigu vian identadreson. Ĝi aspektas kiel retpoŝtadreso kaj estas bezonata por konekti al novaj amikon en la libera interkona reto."
-
-#: ../../mod/newmember.php:20
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr "Kontrolu la aliajn agordojn, precipe la privatecajn agordojn. Nepublikigita profilo similas al havi telefonnumberon ne registrata en iu telefonlibro. Ĝenerale vi eble volas publikigi vian profilon. Alie, viaj amikoj kaj estontaj amikoj bezonas scii kiel rekte trovi vin."
-
-#: ../../mod/newmember.php:22
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr "Enŝuti profilbildon se vi ankoraŭ ne havas ĝin. Laŭ studoj, homoj kun realaj biloj de si mem trovas novajn amikon duope pli probable ol homoj sen reala bildo."
-
-#: ../../mod/newmember.php:25
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr "Rajtigu la Facebook Konektilon se vi nuntempe havas Facebook konton, kaj ni (nedeviga) enportu viajn Facebook amikojn kaj konversaciojn."
-
-#: ../../mod/newmember.php:27
-msgid ""
-"<em>If</em> this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
-msgstr "<em>Se</tm> ĉi tiu estas via propra TTT servilo, instali la Facebook kromprogramon eble plifaciligos la transpason al la libera interkona reto."
-
-#: ../../mod/newmember.php:32
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
-msgstr "Entajpu la akreditaĵojn por via retpoŝtkonto en la konektilagordoj se vi volas importi aŭ interagi kun amikoj aŭ dissendlistoj pere de via retkesto."
-
-#: ../../mod/newmember.php:34
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr "Redakti viajn <strong>defaŭltan</strong> profilon kiel vi ŝatas ĝin. Kontrolu la agordojn por kaŝi vian kontaktliston aŭ kaŝi vian profilon al nekonataj vizitantoj."
-
-#: ../../mod/newmember.php:36
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr "Aldonu publikajn ŝlosilvortojn al via defaŭlta profilo, kiuj priskribas viajn interesojn. Ni eble povas trovi aliajn uzantojn kun similaj interesoj kaj sugesti amikojn."
-
-#: ../../mod/newmember.php:38
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Add New Contact</em> dialog."
-msgstr "Via kontaktpaĝo estas via portalo por administri amikojn kaj konekti kun amikoj en aliaj retoj. Vi kutime entajpas iliajn adreson aŭ URL adreso en la <em>Aldonu Novan Kontakton</em> dialogon."
-
-#: ../../mod/newmember.php:40
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr "Ĉe la Katalogo vi povas trovi aliajn homojn en ĉi tiu retejo, au en aliaj federaciaj retejoj. Elrigardi al <em>Konekti</em> aŭ <em>Sekvi</em> ligiloj ĉe iliaj profilo. Donu vian propran Identecan Adreson se la retejo demandas ĝin."
-
-#: ../../mod/newmember.php:42
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand"
-" new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
-msgstr "En la flanka strio de la Kontaktoj paĝo troviĝas kelkajn helpilojn por trovi novajn amikojn. Ni povas automate trovi amikojn per interesoj, serĉu ilin per nomo aŭ intereso kaj faras sugestojn baze de estantaj kontaktoj. Ĉe nova instalita retejo, la unuaj sugestoj kutime aperas post 24 horoj."
-
-#: ../../mod/newmember.php:44
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr "Kiam vi trovis kelkajn novajn amikojn, ordigi ilin en grupoj por privata komunikado en la flanka strio de via Kontaktoj paĝo, kaj vi povas private komuniki kun ili je via Reto paĝo."
-
-#: ../../mod/newmember.php:46
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr "Niaj <strong>Helpo</strong> paĝoj enhavas pli da detaloj pri aliaj programaj trajtoj."
-
-#: ../../mod/attach.php:8
-msgid "Item not available."
-msgstr "Elemento ne disponeblas."
-
-#: ../../mod/attach.php:20
-msgid "Item was not found."
-msgstr "Elemento ne trovita."
-
-#: ../../mod/group.php:29
-msgid "Group created."
-msgstr "Grupo estas kreita."
-
-#: ../../mod/group.php:35
-msgid "Could not create group."
-msgstr "Ne povas krei grupon."
-
-#: ../../mod/group.php:47 ../../mod/group.php:137
-msgid "Group not found."
-msgstr "Grupo ne estas trovita."
-
-#: ../../mod/group.php:60
-msgid "Group name changed."
-msgstr "La nomo de la grupo estas ŝanĝita."
-
-#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:308
-msgid "Permission denied"
-msgstr "Malpermesita"
-
-#: ../../mod/group.php:90
-msgid "Create a group of contacts/friends."
-msgstr "Krei grupon da kontaktoj/amikoj."
-
-#: ../../mod/group.php:91 ../../mod/group.php:177
-msgid "Group Name: "
-msgstr "Nomo de la grupo:"
-
-#: ../../mod/group.php:110
-msgid "Group removed."
-msgstr "Grupo estas forviŝita."
-
-#: ../../mod/group.php:112
-msgid "Unable to remove group."
-msgstr "Ne eblas forviŝi grupon."
-
-#: ../../mod/group.php:176
-msgid "Group Editor"
-msgstr "Grupa redaktilo"
-
-#: ../../mod/group.php:189
-msgid "Members"
-msgstr "Anoj"
-
-#: ../../mod/group.php:221 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
-msgstr "Klaku kontakton por aldoni aŭ forviŝi."
-
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
-msgstr "Nevaliada profila identigilo."
-
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
-msgstr "Redaktilo por profila videbleco."
-
-#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
-#: ../../include/nav.php:50 ../../boot.php:1544
-msgid "Profile"
-msgstr "Profilo"
-
-#: ../../mod/profperm.php:114
-msgid "Visible To"
-msgstr "Videbla Al"
-
-#: ../../mod/profperm.php:130
-msgid "All Contacts (with secure profile access)"
-msgstr "Ĉiuj Kontaktoj (kun sekura atingo al la profilo)"
-
-#: ../../mod/viewconnections.php:39
-msgid "No contacts."
-msgstr "Neniu kontaktojn."
-
-#: ../../mod/viewconnections.php:76 ../../include/text.php:589
-msgid "View Contacts"
-msgstr "Vidi Kontaktojn"
-
-#: ../../mod/register.php:88 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detaloj de la registrado por %s"
-
-#: ../../mod/register.php:96
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr "Registrado sukcesis. Bonvolu kontroli vian retpoŝton por pli da instruoj."
-
-#: ../../mod/register.php:100
-msgid "Failed to send email message. Here is the message that failed."
-msgstr "Malsukcesis sendi retpoŝton. Jen la malsukcesa mesaĝo."
-
-#: ../../mod/register.php:105
-msgid "Your registration can not be processed."
-msgstr "Mi ne povas prilabori vian registradon."
-
-#: ../../mod/register.php:142
-#, php-format
-msgid "Registration request at %s"
-msgstr "Peto de registrado al %s"
-
-#: ../../mod/register.php:151
-msgid "Your registration is pending approval by the site owner."
-msgstr "Via registrado bezonas apropbon de la administranto."
-
-#: ../../mod/register.php:189
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "La retejo transiras la maksimuman kvanton da ĉiutagaj kontaj registradoj. Bonvolu provi denove morgaŭ."
-
-#: ../../mod/register.php:215
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr "Vi ankaŭ (nedeviga) povas plenigi la formularon per OpenID se vi provizas vian OpenID adreson kaj klakas 'Registri'."
-
-#: ../../mod/register.php:216
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr "Se vi ne konas OpenID, bonvolu lasi tiun kampon malplena kaj entajpu la aliajn elementojn."
-
-#: ../../mod/register.php:217
-msgid "Your OpenID (optional): "
-msgstr "Via OpenID (nedeviga):"
-
-#: ../../mod/register.php:231
-msgid "Include your profile in member directory?"
-msgstr "Aldoni vian profilon al la membrokatalogo?"
-
-#: ../../mod/register.php:251
-msgid "Membership on this site is by invitation only."
-msgstr "Membriĝi ĉi tie nur eblas laŭ invito."
-
-#: ../../mod/register.php:252
-msgid "Your invitation ID: "
-msgstr "Via invita idento: "
-
-#: ../../mod/register.php:255 ../../mod/admin.php:421
-msgid "Registration"
-msgstr "Registrado"
-
-#: ../../mod/register.php:263
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Via Plena Nomo (e.g. Joe Smith): "
-
-#: ../../mod/register.php:264
-msgid "Your Email Address: "
-msgstr "Via Retpoŝtadreso: "
-
-#: ../../mod/register.php:265
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr "Elektu kaŝnomon por la profilo. Tiu bezonas komenci kun teksta litero. Poste, via profila adreso ĉi tie estos: '<strong>kaŝnomo@$sitename</strong>'."
-
-#: ../../mod/register.php:266
-msgid "Choose a nickname: "
-msgstr "Elektu kaŝnomon: "
-
-#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:828
-msgid "Register"
-msgstr "Registri"
-
-#: ../../mod/dirfind.php:26
-msgid "People Search"
-msgstr "Serĉi Membrojn"
-
-#: ../../mod/like.php:144 ../../mod/like.php:301 ../../mod/tagger.php:70
-#: ../../addon/facebook/facebook.php:1584
-#: ../../addon/communityhome/communityhome.php:158
-#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:565
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1710
-#: ../../include/conversation.php:48 ../../include/conversation.php:57
-#: ../../include/conversation.php:121 ../../include/conversation.php:130
-msgid "status"
-msgstr "staton"
-
-#: ../../mod/like.php:161 ../../addon/facebook/facebook.php:1588
-#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1726
-#: ../../include/conversation.php:65
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s ŝatas la %3$s de %2$s"
-
-#: ../../mod/like.php:163 ../../include/conversation.php:68
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s malŝatas la %3$s de %2$s"
-
-#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
-#: ../../mod/admin.php:700 ../../mod/admin.php:899 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3334
-msgid "Item not found."
-msgstr "Elemento ne estas trovita."
-
-#: ../../mod/viewsrc.php:7
-msgid "Access denied."
-msgstr "Atingo nepermesita."
-
-#: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1550
-msgid "Photos"
-msgstr "Bildoj"
-
-#: ../../mod/fbrowser.php:96
-msgid "Files"
-msgstr "Dosieroj"
-
-#: ../../mod/regmod.php:61
-msgid "Account approved."
-msgstr "Konto aprobita."
-
-#: ../../mod/regmod.php:98
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registraĵo por %s senvalidigita."
-
-#: ../../mod/regmod.php:110
-msgid "Please login."
-msgstr "Bonvolu ensaluti."
-
-#: ../../mod/item.php:89
-msgid "Unable to locate original post."
-msgstr "Ne eblas trovi originalan afiŝon."
-
-#: ../../mod/item.php:258
-msgid "Empty post discarded."
-msgstr "Forviŝis malplenan afiŝon."
-
-#: ../../mod/item.php:379 ../../mod/wall_upload.php:115
-#: ../../mod/wall_upload.php:124 ../../mod/wall_upload.php:131
-#: ../../include/message.php:144
-msgid "Wall Photos"
-msgstr "Muraj Bildoj"
-
-#: ../../mod/item.php:784
-msgid "System error. Post not saved."
-msgstr "Sistema eraro. Afiŝo ne registrita."
-
-#: ../../mod/item.php:809
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendica social "
-"network."
-msgstr "Ĉi mesaĝo estas sendita al vi de %s, membro de la Friendica interkona reto."
-
-#: ../../mod/item.php:811
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Vi povas viziti ilin rete ĉe %s"
-
-#: ../../mod/item.php:812
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr "Bonvolu rispondi al ĉi mesaĝo kaj kontaktu la sendinto se vi ne volas ricevi tiujn mesaĝojn."
-
-#: ../../mod/item.php:814
-#, php-format
-msgid "%s posted an update."
-msgstr "%s publikigis afiŝon."
-
-#: ../../mod/profile_photo.php:30
-msgid "Image uploaded but image cropping failed."
-msgstr "Bildo estas alŝutita, sed malsukcesis tranĉi la bildon."
-
-#: ../../mod/profile_photo.php:63 ../../mod/profile_photo.php:70
-#: ../../mod/profile_photo.php:77 ../../mod/profile_photo.php:266
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Malsukcesis malpligrandigi [%s] la bildon."
-
-#: ../../mod/profile_photo.php:91
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Reŝarĝu la paĝon au malplenigu la kaŝmemoro de la retesplorilo se la nova bildo ne tuj aperas."
-
-#: ../../mod/profile_photo.php:101
-msgid "Unable to process image"
-msgstr "Ne eblas procezi bildon."
-
-#: ../../mod/profile_photo.php:117 ../../mod/wall_upload.php:77
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Bildo estas pli granda ol la limito %d"
-
-#: ../../mod/profile_photo.php:209
-msgid "Upload File:"
-msgstr "Alŝuti dosieron:"
-
-#: ../../mod/profile_photo.php:210
-msgid "Upload Profile Photo"
-msgstr "Alŝuti profilbildon"
-
-#: ../../mod/profile_photo.php:211
-msgid "Upload"
-msgstr "Alŝuti"
-
-#: ../../mod/profile_photo.php:213
-msgid "skip this step"
-msgstr "Preterpasi tian paŝon"
-
-#: ../../mod/profile_photo.php:213
-msgid "select a photo from your photo albums"
-msgstr "elekti bildon el viaj albumoj"
-
-#: ../../mod/profile_photo.php:226
-msgid "Crop Image"
-msgstr "Stuci Bildon"
-
-#: ../../mod/profile_photo.php:227
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Bonvolu agordi la stuco de la bildo por optimuma aspekto."
-
-#: ../../mod/profile_photo.php:229
-msgid "Done Editing"
-msgstr "Finigi Redaktado"
-
-#: ../../mod/profile_photo.php:257
-msgid "Image uploaded successfully."
-msgstr "Bildo estas sukcese enŝutita."
-
-#: ../../mod/hcard.php:10
-msgid "No profile"
-msgstr "Neniu profilo"
-
-#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
-msgid "Remove My Account"
-msgstr "Forigi Mian Konton"
-
-#: ../../mod/removeme.php:46
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr "Tio tute forigos vian konton. Kiam farita, la konto ne estas restaŭrebla."
-
-#: ../../mod/removeme.php:47
-msgid "Please enter your password for verification:"
-msgstr "Bonvolu entajpi vian pasvorton por kontrolado:"
-
-#: ../../mod/message.php:9 ../../include/nav.php:131
-msgid "New Message"
-msgstr "Nova Mesaĝo"
-
-#: ../../mod/message.php:70
-msgid "Unable to locate contact information."
-msgstr "Ne eblas trovi kontaktajn informojn."
-
-#: ../../mod/message.php:120
-msgid "Message deleted."
-msgstr "Mesaĝo estas forviŝita."
-
-#: ../../mod/message.php:150
-msgid "Conversation removed."
-msgstr "Dialogo estas forviŝita."
-
-#: ../../mod/message.php:247
-msgid "No messages."
-msgstr "Neniom da mesaĝoj."
-
-#: ../../mod/message.php:254
-#, php-format
-msgid "Unknown sender - %s"
-msgstr "Nekonata sendanto - %s"
-
-#: ../../mod/message.php:257
-#, php-format
-msgid "You and %s"
-msgstr "Vi kaj %s"
-
-#: ../../mod/message.php:260
-#, php-format
-msgid "%s and You"
-msgstr "%s kaj vi"
-
-#: ../../mod/message.php:270 ../../mod/message.php:392
-msgid "Delete conversation"
-msgstr "Forviŝi dialogon"
-
-#: ../../mod/message.php:273
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
-
-#: ../../mod/message.php:275
-#, php-format
-msgid "%d message"
-msgid_plural "%d messages"
-msgstr[0] "%d mesaĝo"
-msgstr[1] "%d mesaĝoj"
-
-#: ../../mod/message.php:310
-msgid "Message not available."
-msgstr "Mesaĝo nedisponebla."
-
-#: ../../mod/message.php:375
-msgid "Delete message"
-msgstr "Forviŝu mesaĝon"
-
-#: ../../mod/message.php:394
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Sekura komunikado ne disponeblas. Vi <strong>eble</strong> povus respondi sur la profilpaĝo de la sendanto."
-
-#: ../../mod/message.php:398
-msgid "Send Reply"
-msgstr "Respondi"
-
-#: ../../mod/allfriends.php:34
-#, php-format
-msgid "Friends of %s"
-msgstr "Amikoj de %s"
-
-#: ../../mod/allfriends.php:40
-msgid "No friends to display."
-msgstr "Neniom da amiko al montri."
-
-#: ../../mod/admin.php:55
-msgid "Theme settings updated."
-msgstr "Gisdatigis agordojn pri etosoj."
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:419
-msgid "Site"
-msgstr "Retejo"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:655 ../../mod/admin.php:667
-msgid "Users"
-msgstr "Uzantoj"
-
-#: ../../mod/admin.php:98 ../../mod/admin.php:749 ../../mod/admin.php:791
-msgid "Plugins"
-msgstr "Kromprogramoj"
-
-#: ../../mod/admin.php:99 ../../mod/admin.php:954 ../../mod/admin.php:990
-msgid "Themes"
-msgstr "Etosoj"
-
-#: ../../mod/admin.php:100
-msgid "DB updates"
-msgstr "DB ĝisdatigoj"
-
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1077
-msgid "Logs"
-msgstr "Protokoloj"
-
-#: ../../mod/admin.php:120 ../../include/nav.php:146
-msgid "Admin"
-msgstr "Administrado"
-
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-msgstr "Kromprogramaj Trajtoj"
-
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Uzantaj registradoj atendante konfirmon"
-
-#: ../../mod/admin.php:183 ../../mod/admin.php:637
-msgid "Normal Account"
-msgstr "Normala konto"
-
-#: ../../mod/admin.php:184 ../../mod/admin.php:638
-msgid "Soapbox Account"
-msgstr "Soapbox Konto"
-
-#: ../../mod/admin.php:185 ../../mod/admin.php:639
-msgid "Community/Celebrity Account"
-msgstr "Komunuma/eminentula Konto"
-
-#: ../../mod/admin.php:186 ../../mod/admin.php:640
-msgid "Automatic Friend Account"
-msgstr "Aŭtomata Amika Konto"
-
-#: ../../mod/admin.php:205
-msgid "Message queues"
-msgstr "Mesaĝvicoj"
-
-#: ../../mod/admin.php:210 ../../mod/admin.php:418 ../../mod/admin.php:654
-#: ../../mod/admin.php:748 ../../mod/admin.php:790 ../../mod/admin.php:953
-#: ../../mod/admin.php:989 ../../mod/admin.php:1076
-msgid "Administration"
-msgstr "Administrado"
-
-#: ../../mod/admin.php:211
-msgid "Summary"
-msgstr "Resumo"
-
-#: ../../mod/admin.php:213
-msgid "Registered users"
-msgstr "Registrataj uzantoj"
-
-#: ../../mod/admin.php:215
-msgid "Pending registrations"
-msgstr "Okazontaj registradoj"
-
-#: ../../mod/admin.php:216
-msgid "Version"
-msgstr "Versio"
-
-#: ../../mod/admin.php:218
-msgid "Active plugins"
-msgstr "Ŝaltitaj kromprogramoj"
-
-#: ../../mod/admin.php:357
-msgid "Site settings updated."
-msgstr "Ĝisdatigis retejaj agordoj."
-
-#: ../../mod/admin.php:405
-msgid "Closed"
-msgstr "Ferma"
-
-#: ../../mod/admin.php:406
-msgid "Requires approval"
-msgstr "Bezonas aprobon"
-
-#: ../../mod/admin.php:407
-msgid "Open"
-msgstr "Malferma"
-
-#: ../../mod/admin.php:411
-msgid "No SSL policy, links will track page SSL state"
-msgstr "Sen SSL strategio. Ligiloj sekvos la SSL staton de la paĝo."
-
-#: ../../mod/admin.php:412
-msgid "Force all links to use SSL"
-msgstr "Devigi ke ĉiuj ligiloj uzu SSL."
-
-#: ../../mod/admin.php:413
-msgid "Self-signed certificate, use SSL for local links only (discouraged)"
-msgstr "Memsubskribita atestilo, nur uzu SSL por lokaj ligiloj (malkuraĝigata)"
-
-#: ../../mod/admin.php:422
-msgid "File upload"
-msgstr "Alŝuto"
-
-#: ../../mod/admin.php:423
-msgid "Policies"
-msgstr "Politiko"
-
-#: ../../mod/admin.php:424
-msgid "Advanced"
-msgstr "Altnivela"
-
-#: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:558
-msgid "Site name"
-msgstr "Nomo de retejo"
-
-#: ../../mod/admin.php:429
-msgid "Banner/Logo"
-msgstr "Emblemo"
-
-#: ../../mod/admin.php:430
-msgid "System language"
-msgstr "Sistema lingvo"
-
-#: ../../mod/admin.php:431
-msgid "System theme"
-msgstr "Sistema etoso"
-
-#: ../../mod/admin.php:431
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Defaŭlta sistema etoso - transpasebla de uzantprofiloj - <a href='#' id='cnftheme'>redakti agordoj pri etosoj</a>"
-
-#: ../../mod/admin.php:432
-msgid "SSL link policy"
-msgstr "Strategio por SSL ligiloj"
-
-#: ../../mod/admin.php:432
-msgid "Determines whether generated links should be forced to use SSL"
-msgstr "Difinas ĉu generotaj ligiloj devige uzu SSL."
-
-#: ../../mod/admin.php:433
-msgid "Maximum image size"
-msgstr "Maksimuma bildgrando"
-
-#: ../../mod/admin.php:433
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maksimuma grando en bajtoj por alŝutotaj bildoj. Defaŭlte 0, kio signifas neniu limito."
-
-#: ../../mod/admin.php:435
-msgid "Register policy"
-msgstr "Interkonsento pri registrado"
-
-#: ../../mod/admin.php:436
-msgid "Register text"
-msgstr "Interkonsento teksto"
-
-#: ../../mod/admin.php:436
-msgid "Will be displayed prominently on the registration page."
-msgstr "Tio estos eminente montrata en la registro paĝo."
-
-#: ../../mod/admin.php:437
-msgid "Accounts abandoned after x days"
-msgstr "Kontoj forlasitaj post x tagoj"
-
-#: ../../mod/admin.php:437
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Mi ne malŝparu energion por enketi aliajn retejojn pri forlasitaj kontoj. Entajpu 0 por ne uzi templimo."
-
-#: ../../mod/admin.php:438
-msgid "Allowed friend domains"
-msgstr "Permesitaj amikaj domainoj"
-
-#: ../../mod/admin.php:438
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Perkome disigita listo da domajnoj kiuj rajtas konstrui amikecojn kun ĉi tiu retejo. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn."
-
-#: ../../mod/admin.php:439
-msgid "Allowed email domains"
-msgstr "Permesitaj retpoŝtaj domajnoj"
-
-#: ../../mod/admin.php:439
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Perkome disigita listo da domajnoj kiuj uzeblas kiel retpoŝtaj adresoj en novaj registradoj. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn."
-
-#: ../../mod/admin.php:440
-msgid "Block public"
-msgstr "Bloki publike"
-
-#: ../../mod/admin.php:440
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Elektu por bloki publikan atingon al ĉiuj alie publikajn paĝojn en ĉi tiu retejo kiam vi ne estas ensalutita."
-
-#: ../../mod/admin.php:441
-msgid "Force publish"
-msgstr "Devigi publikigon"
-
-#: ../../mod/admin.php:441
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Elektu por devigi la registradon en la loka katalogo al ĉiuj profiloj en ĉi tiu retejo."
-
-#: ../../mod/admin.php:442
-msgid "Global directory update URL"
-msgstr "Ĝenerala adreso por ĝisdatigi la katalogon"
-
-#: ../../mod/admin.php:442
-msgid ""
-"URL to update the global directory. If this is not set, the global directory"
-" is completely unavailable to the application."
-msgstr "URL adreso por ĝisdatigi la tutmondan katalogon. Se ne agordita, la tutmonda katatolge tute ne disponeblas al la programo."
-
-#: ../../mod/admin.php:444
-msgid "Block multiple registrations"
-msgstr "Bloki pluroblajn registradojn."
-
-#: ../../mod/admin.php:444
-msgid "Disallow users to register additional accounts for use as pages."
-msgstr "Malpermesi al uzantoj la permeson por registri pluajn kontojn kiel paĝoj."
-
-#: ../../mod/admin.php:445
-msgid "OpenID support"
-msgstr "Subteno por OpenID"
-
-#: ../../mod/admin.php:445
-msgid "OpenID support for registration and logins."
-msgstr "Subteni OpenID por registrado kaj ensaluto."
-
-#: ../../mod/admin.php:446
-msgid "Fullname check"
-msgstr "Kontroli plenan nomon"
-
-#: ../../mod/admin.php:446
-msgid ""
-"Force users to register with a space between firstname and lastname in Full "
-"name, as an antispam measure"
-msgstr "Kiel kontraŭspamilo, devigi uzantoj al registrado kun spaceto inter la persona nomo kaj la familia nomo."
-
-#: ../../mod/admin.php:447
-msgid "UTF-8 Regular expressions"
-msgstr "UTF-8 regulaj exprimoj"
-
-#: ../../mod/admin.php:447
-msgid "Use PHP UTF8 regular expressions"
-msgstr "Uzi PHP UTF8 regulajn esprimojn."
-
-#: ../../mod/admin.php:448
-msgid "Show Community Page"
-msgstr "Montri Komunuma Paĝo"
-
-#: ../../mod/admin.php:448
-msgid ""
-"Display a Community page showing all recent public postings on this site."
-msgstr "Montri komunuma paĝo kun ĉiuj ĵusaj afiŝoj en ĉi tiu retejo."
-
-#: ../../mod/admin.php:449
-msgid "Enable OStatus support"
-msgstr "Ŝalti subtenon por OStatus"
-
-#: ../../mod/admin.php:449
-msgid ""
-"Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All "
-"communications in OStatus are public, so privacy warnings will be "
-"occasionally displayed."
-msgstr "Provizi integritan OStatus (identi.ca, status.net ktp) subtenon. Ĉiuj komunikadoj en OStatus estas publikaj, do privatecaj avertoj aperos de tempo al tempo."
-
-#: ../../mod/admin.php:450
-msgid "Enable Diaspora support"
-msgstr "Ŝalti subtenon por Diaspora"
-
-#: ../../mod/admin.php:450
-msgid "Provide built-in Diaspora network compatibility."
-msgstr "Provizi integritan Diaspora subtenon."
-
-#: ../../mod/admin.php:451
-msgid "Only allow Friendica contacts"
-msgstr "Nur permesigi Friendica kontaktojn"
-
-#: ../../mod/admin.php:451
-msgid ""
-"All contacts must use Friendica protocols. All other built-in communication "
-"protocols disabled."
-msgstr "Ĉiuj kontaktoj devas uzi Friendica protokolojn. Ĉiuj aliaj komunikaj protokoloj malaktivita."
-
-#: ../../mod/admin.php:452
-msgid "Verify SSL"
-msgstr "Kontroli SSL"
-
-#: ../../mod/admin.php:452
-msgid ""
-"If you wish, you can turn on strict certificate checking. This will mean you"
-" cannot connect (at all) to self-signed SSL sites."
-msgstr "Se vi deziras, vi povas aktivigi severan kontroladon de SSL atestiloj. Pro tio, vie (tute) ne eblos konekti al SSL retejoj kun memsubskribitaj atestiloj."
-
-#: ../../mod/admin.php:453
-msgid "Proxy user"
-msgstr "Uzantnomo por retperanto"
-
-#: ../../mod/admin.php:454
-msgid "Proxy URL"
-msgstr "URL adreso de retperanto"
-
-#: ../../mod/admin.php:455
-msgid "Network timeout"
-msgstr "Reta tempolimo"
-
-#: ../../mod/admin.php:455
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valoro en sekundoj. Uzu 0 por mallimitigi (ne rekomendata)."
-
-#: ../../mod/admin.php:456
-msgid "Delivery interval"
-msgstr "Intervalo de liverado"
-
-#: ../../mod/admin.php:456
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Malfruigi fonan liveradon dum tiom da sekundoj por malpliigi la ŝargon de la sistemo. Rekomendoj: 4-5 por komunaj serviloj, 2-3 por virtualaj privataj serviloj, 0-1 por grandaj dediĉitaj serviloj."
-
-#: ../../mod/admin.php:457
-msgid "Poll interval"
-msgstr "Enketintervalo"
-
-#: ../../mod/admin.php:457
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Malfruigi fonajn enketprocesojn je tiom da sekundoj por malpliigi la ŝargon de la sistemo. Se 0, uzas la liverintervalon."
-
-#: ../../mod/admin.php:458
-msgid "Maximum Load Average"
-msgstr "Maksimuma Meza Sistemŝargo"
-
-#: ../../mod/admin.php:458
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maksimuma sistemŝargo post kiu livero- kaj enketprocesoj estos prokrastinataj. - Defaŭlte 50."
-
-#: ../../mod/admin.php:472
-msgid "Update has been marked successful"
-msgstr "Ĝisdatigo estas markita sukcesa"
-
-#: ../../mod/admin.php:482
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Ne sukcesis plenumi %s. Kontrolu la sistemprotokolojn."
-
-#: ../../mod/admin.php:485
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Sukcese aplikis la ĝisdatigo %s."
-
-#: ../../mod/admin.php:489
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Ĝisdatigo %s ne liveris elirstaton. "
-
-#: ../../mod/admin.php:492
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Ne troveblas ĝisdatigo funkcio %s."
-
-#: ../../mod/admin.php:507
-msgid "No failed updates."
-msgstr "Neniom da malsukcesaj ĝisdatigoj."
-
-#: ../../mod/admin.php:511
-msgid "Failed Updates"
-msgstr "Malsukcesaj Ĝisdatigoj"
-
-#: ../../mod/admin.php:512
-msgid ""
-"This does not include updates prior to 1139, which did not return a status."
-msgstr "Ne inkluzivas ĝisdatigojn antaŭ 1139, kiuj ne liveris elirstaton."
-
-#: ../../mod/admin.php:513
-msgid "Mark success (if update was manually applied)"
-msgstr "Marki sukcesa (se la ĝisdatigo estas instalita mane)"
-
-#: ../../mod/admin.php:514
-msgid "Attempt to execute this update step automatically"
-msgstr "Provi automate plenumi ĉi tian paŝon de la ĝisdatigo."
-
-#: ../../mod/admin.php:539
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "Blokis/malblokis %s uzanton"
-msgstr[1] "Blokis/malblokis %s uzantojn"
-
-#: ../../mod/admin.php:546
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s uzanto forviŝita"
-msgstr[1] "%s uzanto forviŝitaj"
-
-#: ../../mod/admin.php:585
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Uzanto '%s' forviŝita"
-
-#: ../../mod/admin.php:593
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Uzanto '%s' malblokita"
-
-#: ../../mod/admin.php:593
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Uzanto '%s' blokita"
-
-#: ../../mod/admin.php:657
-msgid "select all"
-msgstr "elekti ĉiujn"
-
-#: ../../mod/admin.php:658
-msgid "User registrations waiting for confirm"
-msgstr "Registriĝoj atendante aprobon"
-
-#: ../../mod/admin.php:659
-msgid "Request date"
-msgstr "Dato de peto"
-
-#: ../../mod/admin.php:659 ../../mod/admin.php:668
-#: ../../include/contact_selectors.php:79
-msgid "Email"
-msgstr "Retpoŝto"
-
-#: ../../mod/admin.php:660
-msgid "No registrations."
-msgstr "Neniom da registriĝoj."
-
-#: ../../mod/admin.php:662
-msgid "Deny"
-msgstr "Negi"
-
-#: ../../mod/admin.php:668
-msgid "Register date"
-msgstr "Dato de registrado"
-
-#: ../../mod/admin.php:668
-msgid "Last login"
-msgstr "Plej ĵusa ensaluto"
-
-#: ../../mod/admin.php:668
-msgid "Last item"
-msgstr "Plej ĵusa elemento"
-
-#: ../../mod/admin.php:668
-msgid "Account"
-msgstr "Konto"
-
-#: ../../mod/admin.php:670
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "La elektitaj uzantkontoj estas forviŝotaj!\\n\\nĈiuj elementoj kiujn ili afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?"
-
-#: ../../mod/admin.php:671
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "La uzanto {0} estas forviŝota!\\n\\nĈiuj elementoj kiujn li afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?"
-
-#: ../../mod/admin.php:712
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Kromprogramo %s estas malŝaltita."
-
-#: ../../mod/admin.php:716
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Kromprogramo %s estas ŝaltita."
-
-#: ../../mod/admin.php:726 ../../mod/admin.php:924
-msgid "Disable"
-msgstr "Malŝalti"
-
-#: ../../mod/admin.php:728 ../../mod/admin.php:926
-msgid "Enable"
-msgstr "Ŝalti"
-
-#: ../../mod/admin.php:750 ../../mod/admin.php:955
-msgid "Toggle"
-msgstr "Ŝalti/Malŝalti"
-
-#: ../../mod/admin.php:758 ../../mod/admin.php:965
-msgid "Author: "
-msgstr "Aŭtoro: "
-
-#: ../../mod/admin.php:759 ../../mod/admin.php:966
-msgid "Maintainer: "
-msgstr "Prizorganto: "
-
-#: ../../mod/admin.php:888
-msgid "No themes found."
-msgstr "Ne trovis etosojn."
-
-#: ../../mod/admin.php:947
-msgid "Screenshot"
-msgstr "Ekrankopio"
-
-#: ../../mod/admin.php:995
-msgid "[Experimental]"
-msgstr "[Eksperimenta]"
-
-#: ../../mod/admin.php:996
-msgid "[Unsupported]"
-msgstr "[Nesubtenata]"
-
-#: ../../mod/admin.php:1023
-msgid "Log settings updated."
-msgstr "Protokolagordoj ĝisdatigitaj."
-
-#: ../../mod/admin.php:1079
-msgid "Clear"
-msgstr "Forviŝi"
-
-#: ../../mod/admin.php:1085
-msgid "Debugging"
-msgstr "Sencimigado"
-
-#: ../../mod/admin.php:1086
-msgid "Log file"
-msgstr "Protokolo"
-
-#: ../../mod/admin.php:1086
-msgid ""
-"Must be writable by web server. Relative to your Friendica top-level "
-"directory."
-msgstr "Devas esti skribebla de la retservilo. Relativa al via plej supra Friendica dosierujo."
-
-#: ../../mod/admin.php:1087
-msgid "Log level"
-msgstr "Protokolnivelo"
-
-#: ../../mod/admin.php:1137
-msgid "Close"
-msgstr "Fermi"
-
-#: ../../mod/admin.php:1143
-msgid "FTP Host"
-msgstr "FTP Servilo"
-
-#: ../../mod/admin.php:1144
-msgid "FTP Path"
-msgstr "FTP Vojo"
-
-#: ../../mod/admin.php:1145
-msgid "FTP User"
-msgstr "FTP Uzanto"
-
-#: ../../mod/admin.php:1146
-msgid "FTP Password"
-msgstr "FTP Pasvorto"
-
-#: ../../mod/profile.php:21 ../../boot.php:993
-msgid "Requested profile is not available."
-msgstr "La petita profilo ne disponeblas."
-
-#: ../../mod/profile.php:141 ../../mod/display.php:75
-msgid "Access to this profile has been restricted."
-msgstr "Atingo al ĉi tio profilo estas limitigita"
-
-#: ../../mod/profile.php:166
-msgid "Tips for New Members"
-msgstr "Konsilo por novaj membroj"
-
-#: ../../mod/ping.php:185
-msgid "{0} wants to be your friend"
-msgstr "{0} volas amikiĝi kun vi"
-
-#: ../../mod/ping.php:190
-msgid "{0} sent you a message"
-msgstr "{0} sendis mesaĝon al vi"
-
-#: ../../mod/ping.php:195
-msgid "{0} requested registration"
-msgstr "{0} petis registradon"
-
-#: ../../mod/ping.php:201
-#, php-format
-msgid "{0} commented %s's post"
-msgstr "{0} komentis pri la afiŝo de %s"
-
-#: ../../mod/ping.php:206
-#, php-format
-msgid "{0} liked %s's post"
-msgstr "{0} satis la afiŝon de %s"
-
-#: ../../mod/ping.php:211
-#, php-format
-msgid "{0} disliked %s's post"
-msgstr "{0} malŝatis la afiŝon de %s"
-
-#: ../../mod/ping.php:216
-#, php-format
-msgid "{0} is now friends with %s"
-msgstr "{0} amikiĝis kun %s"
-
-#: ../../mod/ping.php:221
-msgid "{0} posted"
-msgstr "{0} afiŝis"
-
-#: ../../mod/ping.php:226
-#, php-format
-msgid "{0} tagged %s's post with #%s"
-msgstr "{0} markis la afiŝon de %s kun #%s"
-
-#: ../../mod/ping.php:232
-msgid "{0} mentioned you in a post"
-msgstr "{0} menciis vin en afiŝo"
-
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
-msgstr "Kontaktoj kiuj ne estas en iu grupo"
-
-#: ../../mod/openid.php:24
-msgid "OpenID protocol error. No ID returned."
-msgstr "Eraro en OpenID protokolo. Ne resendis identecon."
-
-#: ../../mod/openid.php:53
-msgid ""
-"Account not found and OpenID registration is not permitted on this site."
-msgstr "Ne trovis kontoj, kaj registrado per OpenID estas malpermesita ĉi tie."
-
-#: ../../mod/openid.php:93 ../../include/auth.php:99
-#: ../../include/auth.php:162
-msgid "Login failed."
-msgstr "Ensalutado malsukcesis."
-
-#: ../../mod/follow.php:27
-msgid "Contact added"
-msgstr "Aldonis kontakton"
-
-#: ../../mod/common.php:42
-msgid "Common Friends"
-msgstr "Komunaj Amikoj"
-
-#: ../../mod/common.php:78
-msgid "No contacts in common."
-msgstr "Neniom da komunaj kontaktoj."
-
-#: ../../mod/display.php:135
-msgid "Item has been removed."
-msgstr "Elemento estas forviŝita."
-
-#: ../../mod/apps.php:4
-msgid "Applications"
-msgstr "Programoj"
-
-#: ../../mod/apps.php:7
-msgid "No installed applications."
-msgstr "Neniom da instalitaj programoj."
-
-#: ../../mod/search.php:83 ../../include/text.php:649
-#: ../../include/text.php:650 ../../include/nav.php:91
-msgid "Search"
-msgstr "Serĉi"
-
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:410
-#: ../../mod/profiles.php:524 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
-msgstr "Profilo ne trovita."
-
-#: ../../mod/profiles.php:31
-msgid "Profile Name is required."
-msgstr "Nomo de profilo estas bezonata."
-
-#: ../../mod/profiles.php:155
-msgid "Marital Status"
-msgstr "Amrilata Stato"
-
-#: ../../mod/profiles.php:159
-msgid "Romantic Partner"
-msgstr "Kora Partnero"
-
-#: ../../mod/profiles.php:163
-msgid "Likes"
-msgstr "Ŝatoj"
-
-#: ../../mod/profiles.php:167
-msgid "Dislikes"
-msgstr "Malŝatoj"
-
-#: ../../mod/profiles.php:171
-msgid "Work/Employment"
-msgstr "Laboro"
-
-#: ../../mod/profiles.php:174
-msgid "Religion"
-msgstr "Religio"
-
-#: ../../mod/profiles.php:178
-msgid "Political Views"
-msgstr "Politikaj Opinioj"
-
-#: ../../mod/profiles.php:182
-msgid "Gender"
-msgstr "Sekso"
-
-#: ../../mod/profiles.php:186
-msgid "Sexual Preference"
-msgstr "Seksa Prefero"
-
-#: ../../mod/profiles.php:190
-msgid "Homepage"
-msgstr "Hejmpaĝo"
-
-#: ../../mod/profiles.php:194
-msgid "Interests"
-msgstr "Interesoj"
-
-#: ../../mod/profiles.php:198
-msgid "Address"
-msgstr "Adreso"
-
-#: ../../mod/profiles.php:205 ../../addon/dav/layout.fnk.php:310
-msgid "Location"
-msgstr "Loko"
-
-#: ../../mod/profiles.php:288
-msgid "Profile updated."
-msgstr "Profilo ĝisdatigita."
-
-#: ../../mod/profiles.php:355
-msgid " and "
-msgstr " kaj "
-
-#: ../../mod/profiles.php:363
-msgid "public profile"
-msgstr "publika profilo"
-
-#: ../../mod/profiles.php:366
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ŝanĝis %2$s al &ldquo;%3$s&rdquo;"
-
-#: ../../mod/profiles.php:367
-#, php-format
-msgid " - Visit %1$s's %2$s"
-msgstr " - Vizitu la %2$s de %1$s"
-
-#: ../../mod/profiles.php:370
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s havas ĝisdatigigan %2$s, ŝanĝas %3$s."
-
-#: ../../mod/profiles.php:429
-msgid "Profile deleted."
-msgstr "Profilo forviŝita."
-
-#: ../../mod/profiles.php:447 ../../mod/profiles.php:481
-msgid "Profile-"
-msgstr "Profilo-"
-
-#: ../../mod/profiles.php:466 ../../mod/profiles.php:508
-msgid "New profile created."
-msgstr "Nova profilo kreita."
-
-#: ../../mod/profiles.php:487
-msgid "Profile unavailable to clone."
-msgstr "Ne eblas kopii profilon."
-
-#: ../../mod/profiles.php:545
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Kaŝi vian liston de kontaktoj/amikoj al vidantoj de ĉi-tio profilo?"
-
-#: ../../mod/profiles.php:568
-msgid "Edit Profile Details"
-msgstr "Redakti Detalojn de Profilo"
-
-#: ../../mod/profiles.php:570
-msgid "View this profile"
-msgstr "Vidi la profilon."
-
-#: ../../mod/profiles.php:571
-msgid "Create a new profile using these settings"
-msgstr "Krei novan profilon kun tiaj agordoj"
-
-#: ../../mod/profiles.php:572
-msgid "Clone this profile"
-msgstr "Kopii ĉi tiun profilon"
-
-#: ../../mod/profiles.php:573
-msgid "Delete this profile"
-msgstr "Forviŝi ĉi tiun profilon"
-
-#: ../../mod/profiles.php:574
-msgid "Profile Name:"
-msgstr "Nomo de Profilo:"
-
-#: ../../mod/profiles.php:575
-msgid "Your Full Name:"
-msgstr "Via Plena Nomo:"
-
-#: ../../mod/profiles.php:576
-msgid "Title/Description:"
-msgstr "Titolo/Priskribo:"
-
-#: ../../mod/profiles.php:577
-msgid "Your Gender:"
-msgstr "Via Sekso:"
-
-#: ../../mod/profiles.php:578
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Naskiĝtago (%s):"
-
-#: ../../mod/profiles.php:579
-msgid "Street Address:"
-msgstr "Adreso:"
-
-#: ../../mod/profiles.php:580
-msgid "Locality/City:"
-msgstr "Urbo:"
-
-#: ../../mod/profiles.php:581
-msgid "Postal/Zip Code:"
-msgstr "Poŝtkodo:"
-
-#: ../../mod/profiles.php:582
-msgid "Country:"
-msgstr "Lando:"
-
-#: ../../mod/profiles.php:583
-msgid "Region/State:"
-msgstr "Ŝtato:"
-
-#: ../../mod/profiles.php:584
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Civita Stato:"
-
-#: ../../mod/profiles.php:585
-msgid "Who: (if applicable)"
-msgstr "Kiu (se aplikeble):"
-
-#: ../../mod/profiles.php:586
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Ekzemploj: cathy123, Cathy Williams, cathy@example.com"
-
-#: ../../mod/profiles.php:587
-msgid "Since [date]:"
-msgstr "Ekde [dato]:"
-
-#: ../../mod/profiles.php:588 ../../include/profile_advanced.php:46
-msgid "Sexual Preference:"
-msgstr "Seksa Prefero:"
-
-#: ../../mod/profiles.php:589
-msgid "Homepage URL:"
-msgstr "Adreso de Hejmpaĝo:"
-
-#: ../../mod/profiles.php:590 ../../include/profile_advanced.php:50
-msgid "Hometown:"
-msgstr "Hejmurbo:"
-
-#: ../../mod/profiles.php:591 ../../include/profile_advanced.php:54
-msgid "Political Views:"
-msgstr "Politikaj Opinioj:"
-
-#: ../../mod/profiles.php:592
-msgid "Religious Views:"
-msgstr "Religiaj Opinioj:"
-
-#: ../../mod/profiles.php:593
-msgid "Public Keywords:"
-msgstr "Publikaj ŝlosilvortoj:"
-
-#: ../../mod/profiles.php:594
-msgid "Private Keywords:"
-msgstr "Privataj ŝlosilvortoj:"
-
-#: ../../mod/profiles.php:595 ../../include/profile_advanced.php:62
-msgid "Likes:"
-msgstr "Ŝatoj:"
-
-#: ../../mod/profiles.php:596 ../../include/profile_advanced.php:64
-msgid "Dislikes:"
-msgstr "Malŝatoj:"
-
-#: ../../mod/profiles.php:597
-msgid "Example: fishing photography software"
-msgstr "Ekzemple: fiŝkapti fotografio programaro"
-
-#: ../../mod/profiles.php:598
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr "(Por sugesti amikoj. Videbla al aliaj.)"
-
-#: ../../mod/profiles.php:599
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Por serĉi profilojn. Neniam videbla al aliaj.)"
-
-#: ../../mod/profiles.php:600
-msgid "Tell us about yourself..."
-msgstr "Diru al ni pri vi..."
-
-#: ../../mod/profiles.php:601
-msgid "Hobbies/Interests"
-msgstr "Ŝatokupoj/Interesoj"
-
-#: ../../mod/profiles.php:602
-msgid "Contact information and Social Networks"
-msgstr "Kontaktaj informoj kaj Interkonaj Retejoj"
-
-#: ../../mod/profiles.php:603
-msgid "Musical interests"
-msgstr "Muzikaj interesoj"
-
-#: ../../mod/profiles.php:604
-msgid "Books, literature"
-msgstr "Libroj, literaturo"
-
-#: ../../mod/profiles.php:605
-msgid "Television"
-msgstr "Televido"
-
-#: ../../mod/profiles.php:606
-msgid "Film/dance/culture/entertainment"
-msgstr "Filmoj/dancoj/arto/amuzaĵoj"
-
-#: ../../mod/profiles.php:607
-msgid "Love/romance"
-msgstr "Amo/romanco"
-
-#: ../../mod/profiles.php:608
-msgid "Work/employment"
-msgstr "Laboro"
-
-#: ../../mod/profiles.php:609
-msgid "School/education"
-msgstr "Lernejo/eduko"
-
-#: ../../mod/profiles.php:614
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Ĉi tio estas via <strong>publika</strong> profilo. Ĝi <strong>eble</strong> estas videbla al ĉiuj en interreto. "
-
-#: ../../mod/profiles.php:624 ../../mod/directory.php:111
-msgid "Age: "
-msgstr "Aĝo:"
-
-#: ../../mod/profiles.php:663
-msgid "Edit/Manage Profiles"
-msgstr "Redakti/administri Profilojn"
-
-#: ../../mod/profiles.php:664 ../../boot.php:1102
-msgid "Change profile photo"
-msgstr "Ŝanĝi profilbildon"
-
-#: ../../mod/profiles.php:665 ../../boot.php:1103
-msgid "Create New Profile"
-msgstr "Krei novan profilon"
-
-#: ../../mod/profiles.php:676 ../../boot.php:1113
-msgid "Profile Image"
-msgstr "Profilbildo"
-
-#: ../../mod/profiles.php:678 ../../boot.php:1116
-msgid "visible to everybody"
-msgstr "videbla al ĉiuj"
-
-#: ../../mod/profiles.php:679 ../../boot.php:1117
-msgid "Edit visibility"
-msgstr "Redakti videblecon"
-
-#: ../../mod/filer.php:29 ../../include/conversation.php:951
-msgid "Save to Folder:"
-msgstr "Konservi en Dosierujo:"
-
-#: ../../mod/filer.php:29
-msgid "- select -"
-msgstr "- elekti -"
-
-#: ../../mod/tagger.php:103 ../../include/conversation.php:138
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s markis la %3$s de %2$s kun %4$s"
-
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Ne trovis delegiteblajn paĝojn."
-
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Administrado de Delegitajn Paĝojn"
-
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Delegitoj povas administri ĉiujn ecojn de la konto/paĝo, escepte bazaj kontoagordoj. Bonvolu ne delegitigi vian personan konton al iu al kiu vi ne plene fidas."
-
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Estantaj Administrantoj de la Paĝo"
-
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Estantaj Delegitoj de la Paĝo"
-
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Eblaj Delegitoj"
-
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Aldoni"
-
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Neniom da afiŝoj."
-
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
-#: ../../include/contact_widgets.php:34
-msgid "Friend Suggestions"
-msgstr "Amikosugestoj"
-
-#: ../../mod/suggest.php:44
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Neniu sugestoj disponeblas. Se ĉi tiu estas nova retejo, bonvolu reprovi post 24 horoj."
-
-#: ../../mod/suggest.php:61
-msgid "Ignore/Hide"
-msgstr "Ignori/Kaŝi"
-
-#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624
-msgid "Global Directory"
-msgstr "Tutmonda Katalogo"
-
-#: ../../mod/directory.php:55
-msgid "Find on this site"
-msgstr "Trovi en ĉi retejo"
-
-#: ../../mod/directory.php:58
-msgid "Site Directory"
-msgstr "Reteja Katalogo"
-
-#: ../../mod/directory.php:114
-msgid "Gender: "
-msgstr "Sekso:"
-
-#: ../../mod/directory.php:140
-msgid "No entries (some entries may be hidden)."
-msgstr "Neniom da afiŝoj (kelkaj afiŝoj eble ne estas videbla)."
-
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: Ne estas valida retpoŝtadreso."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on Friendica"
-msgstr "Bonvolu aliĝi kun ni ĉe Friendica"
-
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: La livero de la mesaĝo malsukcesis."
-
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "Sendis %d mesaĝon."
-msgstr[1] "Sendis %d mesaĝojn."
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
-msgstr "Vi ne plu disponeblas invitaĵojn"
-
-#: ../../mod/invite.php:100
-#, php-format
-msgid ""
-"Visit %s for a list of public sites that you can join. Friendica members on "
-"other sites can all connect with each other, as well as with members of many"
-" other social networks."
-msgstr "Vizitu %s por listo de publikaj retejoj kie vi povas aliĝi. Anoj de Friendica ĉe aliaj retejoj povas konekti unu kun la alian, kaj ankaŭ kun membroj de multaj aliaj retejoj."
-
-#: ../../mod/invite.php:102
-#, php-format
-msgid ""
-"To accept this invitation, please visit and register at %s or any other "
-"public Friendica website."
-msgstr "Por akcepti ĉi tiu invito, bonvolu viziti kaj registriĝi ĉe %s au alia publika Friendica retejo."
-
-#: ../../mod/invite.php:103
-#, php-format
-msgid ""
-"Friendica sites all inter-connect to create a huge privacy-enhanced social "
-"web that is owned and controlled by its members. They can also connect with "
-"many traditional social networks. See %s for a list of alternate Friendica "
-"sites you can join."
-msgstr "Ĉiuj Friendica retejoj interkonektiĝas kaj kune faras grandan altprivatecan interkonan reton, kiun posedas kaj kontrolas ĝiaj membroj. Ili ankaŭ povas konekti kun multe de tradiciaj interkonaj retejoj. Vidu %s por listo de publikaj retejoj kie vi povas aliĝi."
-
-#: ../../mod/invite.php:106
-msgid ""
-"Our apologies. This system is not currently configured to connect with other"
-" public sites or invite members."
-msgstr "Senkulpigu nin. La sistemo nuntempe ne estas agordita por konekti al aliaj retejoj au inviti membrojn."
-
-#: ../../mod/invite.php:111
-msgid "Send invitations"
-msgstr "Sendi invitojn"
-
-#: ../../mod/invite.php:112
-msgid "Enter email addresses, one per line:"
-msgstr "Entajpu retpoŝtadresojn, po unu por ĉiu linio."
-
-#: ../../mod/invite.php:114
-msgid ""
-"You are cordially invited to join me and other close friends on Friendica - "
-"and help us to create a better social web."
-msgstr "Ni bonkore invitas vin aliĝi kun ni kaj aliaj bonaj amikoj ĉe Friendica. Helpu nin krei pli bonan interkonan reton."
-
-#: ../../mod/invite.php:116
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Vi bezonas ĉi-tiun invitkodon: $invite_code"
-
-#: ../../mod/invite.php:116
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr "Kiam vi registris, bonvolu konekti al mi pere de mi profilo ĉe: "
-
-#: ../../mod/invite.php:118
-msgid ""
-"For more information about the Friendica project and why we feel it is "
-"important, please visit http://friendica.com"
-msgstr "Por pli da informoj pri Friendica, kaj kial ni pensas ke ĝi estas grava, bonvolu viziti http://friendica.com"
-
-#: ../../mod/dfrn_confirm.php:119
-msgid ""
-"This may occasionally happen if contact was requested by both persons and it"
-" has already been approved."
-msgstr "Tio ĉi okazis de tempo al tempo se ambaŭ personoj petas kontakton ka ĝi jam estas aprobita."
-
-#: ../../mod/dfrn_confirm.php:237
-msgid "Response from remote site was not understood."
-msgstr "Ne komprenis la rispondon de la fora retejo."
-
-#: ../../mod/dfrn_confirm.php:246
-msgid "Unexpected response from remote site: "
-msgstr "Neatendita rispondo de la fora retejo:"
-
-#: ../../mod/dfrn_confirm.php:254
-msgid "Confirmation completed successfully."
-msgstr "Konfirmo sukcese kompletigita."
-
-#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
-#: ../../mod/dfrn_confirm.php:277
-msgid "Remote site reported: "
-msgstr "La fora retejo raportis:"
-
-#: ../../mod/dfrn_confirm.php:268
-msgid "Temporary failure. Please wait and try again."
-msgstr "Dumtempa eraro. Bonvolu atendi kaj provi refoje."
-
-#: ../../mod/dfrn_confirm.php:275
-msgid "Introduction failed or was revoked."
-msgstr "La prezento malsukcesis au estas revokita."
-
-#: ../../mod/dfrn_confirm.php:420
-msgid "Unable to set contact photo."
-msgstr "Neeblas agordi la kontaktbildo."
-
-#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:510
-#: ../../include/conversation.php:101
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s amikiĝis kun %2$s"
-
-#: ../../mod/dfrn_confirm.php:562
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Ne trovis uzanton '%s' "
-
-#: ../../mod/dfrn_confirm.php:572
-msgid "Our site encryption key is apparently messed up."
-msgstr "Ŝajnas kvazaŭ la ĉifroŝlosilo de nia retejo estas fuŝita."
-
-#: ../../mod/dfrn_confirm.php:583
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr "Malplena adreso de retejo provizita, aŭ ni ne povis malĉifri la adreson."
-
-#: ../../mod/dfrn_confirm.php:604
-msgid "Contact record was not found for you on our site."
-msgstr "Kontakto ne trovita por vi en via retejo."
-
-#: ../../mod/dfrn_confirm.php:618
-#, php-format
-msgid "Site public key not available in contact record for URL %s."
-msgstr "Publika ŝlosilo de retejo ne disponeblas en la kontaktrikordo por la URL adreso %s."
-
-#: ../../mod/dfrn_confirm.php:638
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr "La identeco provizita de via sistemo estas duoblo ĉe nia sistemo. Ĝi eble funkcias se vi provas refoje."
-
-#: ../../mod/dfrn_confirm.php:649
-msgid "Unable to set your contact credentials on our system."
-msgstr "Ne sukcesis agordi la legitimaĵojn de via kontakto ĉe nia sistemo."
-
-#: ../../mod/dfrn_confirm.php:716
-msgid "Unable to update your contact profile details on our system"
-msgstr "Neeblas ĝisdatigi viajn profildetalojn ĉe nia sistemo."
-
-#: ../../mod/dfrn_confirm.php:750
-#, php-format
-msgid "Connection accepted at %s"
-msgstr "Konekto akceptita je %s"
-
-#: ../../mod/dfrn_confirm.php:799
-#, php-format
-msgid "%1$s has joined %2$s"
-msgstr "%1$s aliĝis al %2$s"
-
-#: ../../addon/fromgplus/fromgplus.php:29
-msgid "Google+ Import Settings"
-msgstr "Google+ Importo"
-
-#: ../../addon/fromgplus/fromgplus.php:32
-msgid "Enable Google+ Import"
-msgstr "Aktivigi Ĝoogle+ Importon"
-
-#: ../../addon/fromgplus/fromgplus.php:35
-msgid "Google Account ID"
-msgstr "Google Konto ID"
-
-#: ../../addon/fromgplus/fromgplus.php:55
-msgid "Google+ Import Settings saved."
-msgstr "Konservis Agordojn por Google+ Importo."
-
-#: ../../addon/facebook/facebook.php:521
-msgid "Facebook disabled"
-msgstr "Facebook malŝaltita"
-
-#: ../../addon/facebook/facebook.php:526
-msgid "Updating contacts"
-msgstr "Mi ĝisdatigas la kontaktojn."
-
-#: ../../addon/facebook/facebook.php:549
-msgid "Facebook API key is missing."
-msgstr "La API ŝlosilo de Facebook ne estas konata ĉi tie."
-
-#: ../../addon/facebook/facebook.php:556
-msgid "Facebook Connect"
-msgstr "Kontekto al Facebook"
-
-#: ../../addon/facebook/facebook.php:562
-msgid "Install Facebook connector for this account."
-msgstr "Instali la Facebook konektilo por ĉi tiu konto."
-
-#: ../../addon/facebook/facebook.php:569
-msgid "Remove Facebook connector"
-msgstr "Forigi la Facebook konektilon."
-
-#: ../../addon/facebook/facebook.php:574
-msgid ""
-"Re-authenticate [This is necessary whenever your Facebook password is "
-"changed.]"
-msgstr "Reaŭtentiĝi [Tio estas bezonata ĉiam kiam vi ŝanĝis vian pasvorton ĉe Facebook.]"
-
-#: ../../addon/facebook/facebook.php:581
-msgid "Post to Facebook by default"
-msgstr "Ĉiam afiŝi al Facebook."
-
-#: ../../addon/facebook/facebook.php:587
-msgid ""
-"Facebook friend linking has been disabled on this site. The following "
-"settings will have no effect."
-msgstr "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. La sekvantaj agordoj do ne havas validecon."
-
-#: ../../addon/facebook/facebook.php:591
-msgid ""
-"Facebook friend linking has been disabled on this site. If you disable it, "
-"you will be unable to re-enable it."
-msgstr "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. Se vi malŝaltas ĝin, vi ne eblos ree ŝalti ĝin."
-
-#: ../../addon/facebook/facebook.php:594
-msgid "Link all your Facebook friends and conversations on this website"
-msgstr "Alligu ĉiujn viajn Facebook amikojn kaj konversaciojn je ĉi-tiu retejo."
-
-#: ../../addon/facebook/facebook.php:596
-msgid ""
-"Facebook conversations consist of your <em>profile wall</em> and your friend"
-" <em>stream</em>."
-msgstr "Facebok konversacioj konsistas el via <em>profilmuro</em> kaj la <em>fluo</em> de viaj amikoj."
-
-#: ../../addon/facebook/facebook.php:597
-msgid "On this website, your Facebook friend stream is only visible to you."
-msgstr "Je ĉi-tiu retejo, la fluo de viaj amikoj ĉe Facebook nur videblas al vi."
-
-#: ../../addon/facebook/facebook.php:598
-msgid ""
-"The following settings determine the privacy of your Facebook profile wall "
-"on this website."
-msgstr "La sekvontaj agordoj difinas la privatecon de via Facebook profilmuro je ĉi-tiu retejo."
-
-#: ../../addon/facebook/facebook.php:602
-msgid ""
-"On this website your Facebook profile wall conversations will only be "
-"visible to you"
-msgstr "Je ĉi-tiu retejo, la conversacioj sur via Facebook profilmuro nur videblas al vi."
-
-#: ../../addon/facebook/facebook.php:607
-msgid "Do not import your Facebook profile wall conversations"
-msgstr "Ne importi konversaciojn de via Facebook profilmuro"
-
-#: ../../addon/facebook/facebook.php:609
-msgid ""
-"If you choose to link conversations and leave both of these boxes unchecked,"
-" your Facebook profile wall will be merged with your profile wall on this "
-"website and your privacy settings on this website will be used to determine "
-"who may see the conversations."
-msgstr "Se vi elektas alligi conversaciojn kaj ne elektas tiujn butonojn, via Facebook profilmuro estas kunigota kun via profilmuro ĉi tie. Viaj privatecaj agordoj ĉi tie difinos kiu povas vidi la coversaciojn."
-
-#: ../../addon/facebook/facebook.php:614
-msgid "Comma separated applications to ignore"
-msgstr "Ignorotaj programoj, disigita per komo"
-
-#: ../../addon/facebook/facebook.php:698
-msgid "Problems with Facebook Real-Time Updates"
-msgstr "Problemoj kun Facebook Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:726
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../addon/facebook/facebook.php:727
-msgid "Facebook Connector Settings"
-msgstr "Agordoj por la Facebook konektilo"
-
-#: ../../addon/facebook/facebook.php:742
-msgid "Facebook API Key"
-msgstr "Facebook API ŝlosilo"
-
-#: ../../addon/facebook/facebook.php:752
-msgid ""
-"Error: it appears that you have specified the App-ID and -Secret in your "
-".htconfig.php file. As long as they are specified there, they cannot be set "
-"using this form.<br><br>"
-msgstr "Eraro: Ŝajnas kvazaŭ vi agordis la App-ID kaj la sekreton en via .htconfig.php dosiero. Kiam ili estas agordita tie, vi ne povas agordi ĝin en tiu ĉi formo.<br><br>"
-
-#: ../../addon/facebook/facebook.php:757
-msgid ""
-"Error: the given API Key seems to be incorrect (the application access token"
-" could not be retrieved)."
-msgstr "Eraro: La API ŝlosilo aspektas malĝusta (ne eblas ricevi la programa atingoĵetono)."
-
-#: ../../addon/facebook/facebook.php:759
-msgid "The given API Key seems to work correctly."
-msgstr "La API ŝlosilo ŝajne ĝuste funkcias."
-
-#: ../../addon/facebook/facebook.php:761
-msgid ""
-"The correctness of the API Key could not be detected. Somthing strange's "
-"going on."
-msgstr "Ne povis kontroli la ĝustecon de la API ŝlosilo. Ia stranga afero okazas. "
-
-#: ../../addon/facebook/facebook.php:764
-msgid "App-ID / API-Key"
-msgstr "Programo ID / API Ŝlosilo"
-
-#: ../../addon/facebook/facebook.php:765
-msgid "Application secret"
-msgstr "Programo sekreto"
-
-#: ../../addon/facebook/facebook.php:766
-#, php-format
-msgid "Polling Interval in minutes (minimum %1$s minutes)"
-msgstr "Intervalo de enketo en minutoj (minimume %1$s minutoj)"
-
-#: ../../addon/facebook/facebook.php:767
-msgid ""
-"Synchronize comments (no comments on Facebook are missed, at the cost of "
-"increased system load)"
-msgstr "Sinkronigi komentojn (vi ricevas ĉiujn komentojn de Facebook, sed la ŝargo de la sistemo iom kreskas)"
-
-#: ../../addon/facebook/facebook.php:771
-msgid "Real-Time Updates"
-msgstr "Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:775
-msgid "Real-Time Updates are activated."
-msgstr "Realtempaj Ĝisdatigoj estas ŝaltita"
-
-#: ../../addon/facebook/facebook.php:776
-msgid "Deactivate Real-Time Updates"
-msgstr "Malŝalti Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:778
-msgid "Real-Time Updates not activated."
-msgstr "Realtempaj Ĝisdatigoj estas malŝaltita"
-
-#: ../../addon/facebook/facebook.php:778
-msgid "Activate Real-Time Updates"
-msgstr "Ŝalti Realtempaj Ĝisdatigoj"
-
-#: ../../addon/facebook/facebook.php:797 ../../addon/dav/layout.fnk.php:360
-msgid "The new values have been saved."
-msgstr "Konservis novajn valorojn."
-
-#: ../../addon/facebook/facebook.php:821
-msgid "Post to Facebook"
-msgstr "Afiŝi al Facebook"
-
-#: ../../addon/facebook/facebook.php:919
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
-msgstr "Afiŝado al Facebook nuligita ĉar okazis konflikto en la multretpermesoj."
-
-#: ../../addon/facebook/facebook.php:1139
-msgid "View on Friendica"
-msgstr "Vidi ĉe Friendica"
-
-#: ../../addon/facebook/facebook.php:1172
-msgid "Facebook post failed. Queued for retry."
-msgstr "Malsukcesis afiŝi ĉe Facebook. Enigita en vico."
-
-#: ../../addon/facebook/facebook.php:1212
-msgid "Your Facebook connection became invalid. Please Re-authenticate."
-msgstr "Via Facbook konekto iĝis nevalida. Bonvolu reaŭtentiĝi."
-
-#: ../../addon/facebook/facebook.php:1213
-msgid "Facebook connection became invalid"
-msgstr "Facebook konekto iĝis nevalida."
-
-#: ../../addon/facebook/facebook.php:1214
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"The connection between your accounts on %2$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
-msgstr "Saluton %1$s,\n\nla kontekto inter viaj kontoj ĉe %2$s kaj Facebook malvalidiĝis. Tio kutime okazas post kiam via ŝangas vian pasvorton ĉe Facebook. Por reaktivigi la konekto, vi bezonas %3$sreaŭtentiĝi la Facebook konektilon%4$s."
-
-#: ../../addon/snautofollow/snautofollow.php:32
-msgid "StatusNet AutoFollow settings updated."
-msgstr "Ĝidatigis StatusNet AutoFollow agordojn."
-
-#: ../../addon/snautofollow/snautofollow.php:56
-msgid "StatusNet AutoFollow Settings"
-msgstr "StatusNet AutoFollow agordoj"
-
-#: ../../addon/snautofollow/snautofollow.php:58
-msgid "Automatically follow any StatusNet followers/mentioners"
-msgstr "Aŭtomate sekvu ĉiujn StatusNet sekvantojn/menciantojn."
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:184
-msgid "Lifetime of the cache (in hours)"
-msgstr "Vivodaŭro de kaŝmemoro (horoj)"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:189
-msgid "Cache Statistics"
-msgstr "Statistikoj pri kaŝmemoro"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
-msgid "Number of items"
-msgstr "Kvanto da eroj"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
-msgid "Size of the cache"
-msgstr "Grando de la kaŝmemoro"
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:196
-msgid "Delete the whole cache"
-msgstr "Forviŝi la kaŝmemoron"
-
-#: ../../addon/widgets/widget_like.php:58
-#, php-format
-msgid "%d person likes this"
-msgid_plural "%d people like this"
-msgstr[0] "%d homo ŝatas tiun"
-msgstr[1] "%d homoj ŝatas tiun"
-
-#: ../../addon/widgets/widget_like.php:61
-#, php-format
-msgid "%d person doesn't like this"
-msgid_plural "%d people don't like this"
-msgstr[0] "%d homo malŝatas tiun"
-msgstr[1] "%d homo malŝatas tiun"
-
-#: ../../addon/widgets/widget_friendheader.php:40
-msgid "Get added to this list!"
-msgstr "Iĝu membro de ĉi tiu listo!"
-
-#: ../../addon/widgets/widgets.php:56
-msgid "Generate new key"
-msgstr "Generi novan ĉifroŝlosilon"
-
-#: ../../addon/widgets/widgets.php:59
-msgid "Widgets key"
-msgstr "Ŝlosilo por fenestraĵoj"
-
-#: ../../addon/widgets/widgets.php:61
-msgid "Widgets available"
-msgstr "Disponeblaj fenestraĵoj"
-
-#: ../../addon/widgets/widget_friends.php:40
-msgid "Connect on Friendica!"
-msgstr "Konekti ĉe Friendica!"
-
-#: ../../addon/yourls/yourls.php:55
-msgid "YourLS Settings"
-msgstr "\"YourLS\" Agordoj"
-
-#: ../../addon/yourls/yourls.php:57
-msgid "URL: http://"
-msgstr "URL adreso: http://"
-
-#: ../../addon/yourls/yourls.php:62
-msgid "Username:"
-msgstr "Salutnomo:"
-
-#: ../../addon/yourls/yourls.php:67
-msgid "Password:"
-msgstr "Pasvorto:"
-
-#: ../../addon/yourls/yourls.php:72
-msgid "Use SSL "
-msgstr "Uzi SSL "
-
-#: ../../addon/yourls/yourls.php:92
-msgid "yourls Settings saved."
-msgstr "Konservis la agordojn de YourLS."
-
-#: ../../addon/ljpost/ljpost.php:39
-msgid "Post to LiveJournal"
-msgstr "Afiŝi ĉe LiveJournal"
-
-#: ../../addon/ljpost/ljpost.php:70
-msgid "LiveJournal Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe LiveJournal"
-
-#: ../../addon/ljpost/ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Ŝalti la LiveJournal-afiŝo kromprogramon."
-
-#: ../../addon/ljpost/ljpost.php:77
-msgid "LiveJournal username"
-msgstr "LiveJournal Salutnomo"
-
-#: ../../addon/ljpost/ljpost.php:82
-msgid "LiveJournal password"
-msgstr "LiveJournal pasvorto"
-
-#: ../../addon/ljpost/ljpost.php:87
-msgid "Post to LiveJournal by default"
-msgstr "Defaŭlte afiŝi al LiveJournal"
-
-#: ../../addon/nsfw/nsfw.php:47
-msgid "Not Safe For Work (General Purpose Content Filter) settings"
-msgstr "Not Safe For Work (ĝenerala filtrilo por enhavoj) agordoj"
-
-#: ../../addon/nsfw/nsfw.php:49
-msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
-"collapses any content containing those keywords so it is not displayed at "
-"inappropriate times, such as sexual innuendo that may be improper in a work "
-"setting. It is polite and recommended to tag any content containing nudity "
-"with #NSFW. This filter can also match any other word/text you specify, and"
-" can thereby be used as a general purpose content filter."
-msgstr "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo. La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo."
-
-#: ../../addon/nsfw/nsfw.php:50
-msgid "Enable Content filter"
-msgstr "Ŝalti la filtrilo por la enhavo"
-
-#: ../../addon/nsfw/nsfw.php:53
-msgid "Comma separated list of keywords to hide"
-msgstr "Perkome disigita listo da kaŝontaj ŝlosilvortoj"
-
-#: ../../addon/nsfw/nsfw.php:58
-msgid "Use /expression/ to provide regular expressions"
-msgstr "Uzu /expr/ por provizi regulajn esprimojn."
-
-#: ../../addon/nsfw/nsfw.php:74
-msgid "NSFW Settings saved."
-msgstr "NSFW agordoj konservitaj."
-
-#: ../../addon/nsfw/nsfw.php:121
-#, php-format
-msgid "%s - Click to open/close"
-msgstr "%s - Klaku por malfermi/fermi"
-
-#: ../../addon/page/page.php:61 ../../addon/page/page.php:91
-msgid "Forums"
-msgstr "Forumoj"
-
-#: ../../addon/page/page.php:76 ../../addon/page/page.php:110
-#: ../../addon/showmore/showmore.php:87 ../../include/contact_widgets.php:188
-#: ../../include/conversation.php:476 ../../boot.php:529
-msgid "show more"
-msgstr "montri pli"
-
-#: ../../addon/page/page.php:129
-msgid "Forums:"
-msgstr "Forumoj:"
-
-#: ../../addon/page/page.php:163
-msgid "Page settings updated."
-msgstr "Paĝajn agordojn ĝisdatigita."
-
-#: ../../addon/page/page.php:192
-msgid "Page Settings"
-msgstr "Paĝaj Agordoj"
-
-#: ../../addon/page/page.php:194
-msgid "How many forums to display on sidebar without paging"
-msgstr "Montri tiom da forumoj en la flanka strio sen paĝigo"
-
-#: ../../addon/page/page.php:197
-msgid "Randomise Page/Forum list"
-msgstr "Hazardigi la liston de Paĝoj/Forumoj"
-
-#: ../../addon/page/page.php:200
-msgid "Show pages/forums on profile page"
-msgstr "Montri paĝojn/forumojn sur la profilpaĝo"
-
-#: ../../addon/planets/planets.php:150
-msgid "Planets Settings"
-msgstr "Agordo pri Planets"
-
-#: ../../addon/planets/planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Ŝalti la Planets kromprogamon"
-
-#: ../../addon/communityhome/communityhome.php:28
-#: ../../addon/communityhome/communityhome.php:34
-#: ../../addon/communityhome/twillingham/communityhome.php:28
-#: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:849
-msgid "Login"
-msgstr "Ensaluti"
-
-#: ../../addon/communityhome/communityhome.php:29
-#: ../../addon/communityhome/twillingham/communityhome.php:29
-msgid "OpenID"
-msgstr "OpenID"
-
-#: ../../addon/communityhome/communityhome.php:38
-#: ../../addon/communityhome/twillingham/communityhome.php:38
-msgid "Latest users"
-msgstr "Ĵusaj uzantoj"
-
-#: ../../addon/communityhome/communityhome.php:81
-#: ../../addon/communityhome/twillingham/communityhome.php:81
-msgid "Most active users"
-msgstr "Plej aktivaj uzantoj"
-
-#: ../../addon/communityhome/communityhome.php:98
-msgid "Latest photos"
-msgstr "Ĵusaj bildoj"
-
-#: ../../addon/communityhome/communityhome.php:133
-msgid "Latest likes"
-msgstr "Ĵusaj ŝatitaĵoj"
-
-#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1315
-#: ../../include/conversation.php:45 ../../include/conversation.php:118
-msgid "event"
-msgstr "okazo"
-
-#: ../../addon/dav/common/wdcal_configuration.php:126
-msgid "U.S. Time Format (mm/dd/YYYY)"
-msgstr "Usona datformato (mm/dd/YYYY)"
-
-#: ../../addon/dav/common/wdcal_configuration.php:205
-msgid "German Time Format (dd.mm.YYYY)"
-msgstr "Germana datformato (dd.mm.YYYY)"
-
-#: ../../addon/dav/common/calendar.fnk.php:517
-#: ../../addon/dav/common/calendar.fnk.php:533
-#: ../../addon/dav/layout.fnk.php:200
-msgid "Error"
-msgstr "Eraro"
-
-#: ../../addon/dav/common/calendar.fnk.php:568
-#: ../../addon/dav/common/calendar.fnk.php:637
-#: ../../addon/dav/common/calendar.fnk.php:664
-#: ../../addon/dav/layout.fnk.php:231
-msgid "No access"
-msgstr "No access"
-
-#: ../../addon/dav/layout.fnk.php:119
-msgid "New event"
-msgstr "Nova okazo"
-
-#: ../../addon/dav/layout.fnk.php:123
-msgid "Today"
-msgstr "Hodiaŭ"
-
-#: ../../addon/dav/layout.fnk.php:132
-msgid "Day"
-msgstr "Tago"
-
-#: ../../addon/dav/layout.fnk.php:139
-msgid "Week"
-msgstr "Semajno"
-
-#: ../../addon/dav/layout.fnk.php:146
-msgid "Month"
-msgstr "Monato"
-
-#: ../../addon/dav/layout.fnk.php:151
-msgid "Reload"
-msgstr "Reŝargi"
-
-#: ../../addon/dav/layout.fnk.php:162
-msgid "Date"
-msgstr "Dato"
-
-#: ../../addon/dav/layout.fnk.php:224
-msgid "Not found"
-msgstr "Ne trovita"
-
-#: ../../addon/dav/layout.fnk.php:292 ../../addon/dav/layout.fnk.php:365
-msgid "Go back to the calendar"
-msgstr "Iri reen al la kalendaro"
-
-#: ../../addon/dav/layout.fnk.php:300
-msgid "Starts"
-msgstr "Komencas"
-
-#: ../../addon/dav/layout.fnk.php:305
-msgid "Ends"
-msgstr "Finas"
-
-#: ../../addon/dav/layout.fnk.php:312
-msgid "Description"
-msgstr "Priskribo"
-
-#: ../../addon/dav/layout.fnk.php:315
-msgid "Notification"
-msgstr "Atentigo"
-
-#: ../../addon/dav/layout.fnk.php:324
-msgid "Minutes"
-msgstr "Minutoj"
-
-#: ../../addon/dav/layout.fnk.php:327
-msgid "Hours"
-msgstr "Horoj"
-
-#: ../../addon/dav/layout.fnk.php:330
-msgid "Days"
-msgstr "Tagoj"
-
-#: ../../addon/dav/layout.fnk.php:331
-msgid "before"
-msgstr "antaŭ"
-
-#: ../../addon/dav/layout.fnk.php:367
-msgid "Calendar Settings"
-msgstr "Kalendaraj Agordoj"
-
-#: ../../addon/dav/layout.fnk.php:373
-msgid "Date format"
-msgstr "Datformato"
-
-#: ../../addon/dav/layout.fnk.php:382
-msgid "Time zone"
-msgstr "Horzono"
-
-#: ../../addon/dav/layout.fnk.php:387
-msgid "Limitations"
-msgstr "Limigoj"
-
-#: ../../addon/dav/layout.fnk.php:391
-msgid "Warning"
-msgstr "Averto"
-
-#: ../../addon/dav/layout.fnk.php:395
-msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
-msgstr "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)"
-
-#: ../../addon/dav/layout.fnk.php:402
-msgid "Synchronizing this calendar with the iPhone"
-msgstr "Sinkronigi tiun kalendaron kun la iPhone"
-
-#: ../../addon/dav/layout.fnk.php:413
-msgid "Synchronizing your Friendica-Contacts with the iPhone"
-msgstr "Sinkronigi viajn Friendica kontaktojn kun la iPhone"
-
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:37
-msgid "Friendica-Contacts"
-msgstr "Friendica Kontaktoj"
-
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:38
-msgid "Your Friendica-Contacts"
-msgstr "Viaj Friendica Kontaktoj"
-
-#: ../../addon/dav/main.php:244
-msgid "Calendar"
-msgstr "Kalendaro"
-
-#: ../../addon/dav/main.php:247
-msgid "Extended calendar with CalDAV-support"
-msgstr "Etendita kalendaro kun CalDAV subteno"
-
-#: ../../addon/dav/main.php:263
-msgid "The database tables have been installed."
-msgstr "La tabeloj estas instalita en la datumbazo"
-
-#: ../../addon/dav/main.php:264
-msgid "An error occurred during the installation."
-msgstr "Eraro okazis dum instalado"
-
-#: ../../addon/dav/main.php:280
-msgid "No system-wide settings yet."
-msgstr "Ankoraŭ ne disponablas tutsistemaj agordoj"
-
-#: ../../addon/dav/main.php:283
-msgid "Database status"
-msgstr "Stato de datumbazo"
-
-#: ../../addon/dav/main.php:286
-msgid "Installed"
-msgstr "Instalita"
-
-#: ../../addon/dav/main.php:289
-msgid "Upgrade needed"
-msgstr "Ĝisdatigo bezonata"
-
-#: ../../addon/dav/main.php:289
-msgid "Upgrade"
-msgstr "Ĝisdatigo"
-
-#: ../../addon/dav/main.php:292
-msgid "Not installed"
-msgstr "Ne instalita"
-
-#: ../../addon/dav/main.php:292
-msgid "Install"
-msgstr "Instali"
-
-#: ../../addon/dav/main.php:297
-msgid "Troubleshooting"
-msgstr "Problemsolvado"
-
-#: ../../addon/dav/main.php:298
-msgid "Manual creation of the database tables:"
-msgstr "Mana kreado de tabeloj en la datumbazo:"
-
-#: ../../addon/dav/main.php:299
-msgid "Show SQL-statements"
-msgstr "Montru SQL ordonojn"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:151
-msgid "Private Calendar"
-msgstr "Privata kalendaro"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:158
-msgid "Friendica Events: Mine"
-msgstr "Friendica Okazoj: Miaj"
-
-#: ../../addon/dav/calendar.friendica.fnk.php:161
-msgid "Friendica Events: Contacts"
-msgstr "Friendica Okazoj: De Kontaktoj"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:84
-#, php-format
-msgid ""
-"Allow to use your friendica id (%s) to connecto to external unhosted-enabled"
-" storage (like ownCloud). See <a "
-"href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage"
-" WebFinger</a>"
-msgstr "Permesi vian identecon ĉe Friendica (%s) por konekti al eksteraj konservejoj subtenata de unhosted (ekz. OwnCloud). Vidu <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:85
-msgid "Template URL (with {category})"
-msgstr "URL adreso de ŝablono (kun {category})"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:86
-msgid "OAuth end-point"
-msgstr "OAuth finpunkto"
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:87
-msgid "Api"
-msgstr "Api"
-
-#: ../../addon/membersince/membersince.php:18
-msgid "Member since:"
-msgstr "Membro ekde:"
-
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr "Tri-dimensia Tiktakto"
-
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr "3D Tiktakto"
-
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
-msgstr "Nova ludo"
-
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
-msgstr "Nova ludo kun handikapo"
-
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
-msgstr "Tri-dimensia tiktakto similas la tradician ludon, sed estas ludata sur pluraj ebenoj dum la sama tempo."
-
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr "Ĉi-kaze ekzistas tri ebenoj. Vi venkas vicigante tri signojn en una vico, en la sama ebeno, same kiel supren, malsupren aŭ diagonale, trans la ebenoj."
-
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr "La ludo kun handikapo malvalidigas la mezan pozicion sur la meza ebeno, ĉar la ludisto kio okupas ĉi tiun pozicion ĉiam havas avantaĝon."
-
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr "Estas via vico unue."
-
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr "Ĉi-tempe, unue estas mia vico."
-
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr "Vi venkis!"
-
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr "Sendecida ludo!"
-
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr "Mi venkis!"
-
-#: ../../addon/randplace/randplace.php:169
-msgid "Randplace Settings"
-msgstr "Randplace agordoj."
-
-#: ../../addon/randplace/randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Aktivigi la Randplace kromprogramon."
-
-#: ../../addon/dwpost/dwpost.php:39
-msgid "Post to Dreamwidth"
-msgstr "Afiŝi al Dreamwidth"
-
-#: ../../addon/dwpost/dwpost.php:70
-msgid "Dreamwidth Post Settings"
-msgstr "Agordoj por Afiŝoj al Dreamwidth"
-
-#: ../../addon/dwpost/dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Ŝalti la Dreamwidth Kromprogramon"
-
-#: ../../addon/dwpost/dwpost.php:77
-msgid "dreamwidth username"
-msgstr "Dreamwidth salutnomo"
-
-#: ../../addon/dwpost/dwpost.php:82
-msgid "dreamwidth password"
-msgstr "Dreamwidth pasvorto"
-
-#: ../../addon/dwpost/dwpost.php:87
-msgid "Post to dreamwidth by default"
-msgstr "Defaŭlte afiŝi al Dreamwidth"
-
-#: ../../addon/drpost/drpost.php:35
-msgid "Post to Drupal"
-msgstr "Afiŝi al Drupal"
-
-#: ../../addon/drpost/drpost.php:72
-msgid "Drupal Post Settings"
-msgstr "Agordoj por Drupal Afiŝoj"
-
-#: ../../addon/drpost/drpost.php:74
-msgid "Enable Drupal Post Plugin"
-msgstr "Ŝalti la Drupal-afiŝo Kromprogramon"
-
-#: ../../addon/drpost/drpost.php:79
-msgid "Drupal username"
-msgstr "Drupal salutnomo"
-
-#: ../../addon/drpost/drpost.php:84
-msgid "Drupal password"
-msgstr "Drupal pasvorto"
-
-#: ../../addon/drpost/drpost.php:89
-msgid "Post Type - article,page,or blog"
-msgstr "Tipo de Afiŝoj - article, page, aŭ blog"
-
-#: ../../addon/drpost/drpost.php:94
-msgid "Drupal site URL"
-msgstr "URL adreso de Drupal retejo"
-
-#: ../../addon/drpost/drpost.php:99
-msgid "Drupal site uses clean URLS"
-msgstr "Drupal retejo uzas purajn URL adresojn"
-
-#: ../../addon/drpost/drpost.php:104
-msgid "Post to Drupal by default"
-msgstr "Defaŭlte afiŝi ĉe Drupal"
-
-#: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:201
-#: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189
-msgid "Post from Friendica"
-msgstr "Afiŝo de Friendica"
-
-#: ../../addon/startpage/startpage.php:83
-msgid "Startpage Settings"
-msgstr "Startpaĝaj Agordoj"
-
-#: ../../addon/startpage/startpage.php:85
-msgid "Home page to load after login - leave blank for profile wall"
-msgstr "Hejmpaĝo ŝargonta post la ensaluto - Lasu malplena por profilmuro."
-
-#: ../../addon/startpage/startpage.php:88
-msgid "Examples: &quot;network&quot; or &quot;notifications/system&quot;"
-msgstr "Ekzemple: &quot;network&quot; aŭ &quot;notifications/system&quot;"
-
-#: ../../addon/geonames/geonames.php:143
-msgid "Geonames settings updated."
-msgstr "Ĝidatigis la Geonames agordojn."
-
-#: ../../addon/geonames/geonames.php:179
-msgid "Geonames Settings"
-msgstr "Geonames Agordoj"
-
-#: ../../addon/geonames/geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Ŝalti la Geonames Kromprogramon"
-
-#: ../../addon/public_server/public_server.php:126
-#: ../../addon/testdrive/testdrive.php:94
-#, php-format
-msgid "Your account on %s will expire in a few days."
-msgstr "Via konto ĉe %s senvalidiĝos post kelkaj tagoj."
-
-#: ../../addon/public_server/public_server.php:127
-msgid "Your Friendica account is about to expire."
-msgstr "Via konto ĉe Friendica baldaŭ senvalidiĝos."
-
-#: ../../addon/public_server/public_server.php:128
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your account on %2$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"
-msgstr "Saluton %1$s,\n\nVia konto ĉe %2$s senvalidiĝos post malpli ol kvin tagoj. Vi povas konservi vian konton se vi ensalutas almenaŭ ĉiujn 30 tagojn. "
-
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr "Alŝuti dosieron"
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr "Ŝovmeti dosierojn ĉi tie por alŝuti ilin."
-
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
-msgstr "Malsukcesi"
-
-#: ../../addon/js_upload/js_upload.php:297
-msgid "No files were uploaded."
-msgstr "Neniom da dosieroj alŝutita."
-
-#: ../../addon/js_upload/js_upload.php:303
-msgid "Uploaded file is empty"
-msgstr "Alŝutita dosiero estas malplena."
-
-#: ../../addon/js_upload/js_upload.php:326
-msgid "File has an invalid extension, it should be one of "
-msgstr "Dosiero havas nevalidan sufikson. Ĝi estu unu de "
-
-#: ../../addon/js_upload/js_upload.php:337
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Alŝutado estas nuligita aŭ okazis eraro sur la servilo"
-
-#: ../../addon/oembed.old/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr "Ĝisdatigis OEmbed agordojn"
-
-#: ../../addon/oembed.old/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr "Uzi OEmbed por YouTube videtoj"
-
-#: ../../addon/oembed.old/oembed.php:71
-msgid "URL to embed:"
-msgstr "Enigi la URL adreson:"
-
-#: ../../addon/impressum/impressum.php:36
-msgid "Impressum"
-msgstr "Kolofono"
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:51
-#: ../../addon/impressum/impressum.php:83
-msgid "Site Owner"
-msgstr "Proprietulo de la paĝo"
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:87
-msgid "Email Address"
-msgstr "Retpoŝta Adreso"
-
-#: ../../addon/impressum/impressum.php:54
-#: ../../addon/impressum/impressum.php:85
-msgid "Postal Address"
-msgstr "Poŝta Adreso"
-
-#: ../../addon/impressum/impressum.php:60
-msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr "La kolofono (impressum) kromprogramo bezonas agordojn!<br />Bonvolu aldoni minimume la <tt>owner</tt> variablon al via agorda dosiero. Por aliaj variabloj, bonvolu legi la README dosieron de la kromprogramo."
-
-#: ../../addon/impressum/impressum.php:83
-msgid "The page operators name."
-msgstr "La nomo de la funkciigisto de la retejo."
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Site Owners Profile"
-msgstr "Profilo de la Proprietulo de la Retejo"
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Profile address of the operator."
-msgstr "La profilo de la funkciigisto de la retejo."
-
-#: ../../addon/impressum/impressum.php:85
-msgid "How to contact the operator via snail mail. You can use BBCode here."
-msgstr "Kiel poŝte kontakti la funkciigisto de la retejo. Vi eblas uzi BBCode ĉi tie."
-
-#: ../../addon/impressum/impressum.php:86
-msgid "Notes"
-msgstr "Notoj"
-
-#: ../../addon/impressum/impressum.php:86
-msgid ""
-"Additional notes that are displayed beneath the contact information. You can"
-" use BBCode here."
-msgstr "Pli da notoj kiuj aperas sub la kontaktinformoj. Vi eblas uzi BBCode ĉi tie."
-
-#: ../../addon/impressum/impressum.php:87
-msgid "How to contact the operator via email. (will be displayed obfuscated)"
-msgstr "Kiel kontakti la funkciigiston de la retejo per retpoŝto. (montriĝos vuale) "
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Footer note"
-msgstr "Paĝpiednoto"
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Text for the footer. You can use BBCode here."
-msgstr "Teksto por la paĝpiedo. Vie eblas uzi BBCode ĉi tie."
-
-#: ../../addon/buglink/buglink.php:15
-msgid "Report Bug"
-msgstr "Skribi cimraporton"
-
-#: ../../addon/notimeline/notimeline.php:32
-msgid "No Timeline settings updated."
-msgstr "No Timeline agordojn ĝisdatigita."
-
-#: ../../addon/notimeline/notimeline.php:56
-msgid "No Timeline Settings"
-msgstr "No Timeline Agordoj"
-
-#: ../../addon/notimeline/notimeline.php:58
-msgid "Disable Archive selector on profile wall"
-msgstr "Malaktivigi la Arkivo elektilo sur la profilmuro"
-
-#: ../../addon/blockem/blockem.php:51
-msgid "\"Blockem\" Settings"
-msgstr "\"Blockem\" Agordoj"
-
-#: ../../addon/blockem/blockem.php:53
-msgid "Comma separated profile URLS to block"
-msgstr "Blokotaj URL adresoj, disigita per komo"
-
-#: ../../addon/blockem/blockem.php:70
-msgid "BLOCKEM Settings saved."
-msgstr "Konservis Agordojn de BLOCKEM."
-
-#: ../../addon/blockem/blockem.php:105
-#, php-format
-msgid "Blocked %s - Click to open/close"
-msgstr "%s blokita - Klaku por malfermi/fermi"
-
-#: ../../addon/blockem/blockem.php:160
-msgid "Unblock Author"
-msgstr "Malbloki Aŭtoron"
-
-#: ../../addon/blockem/blockem.php:162
-msgid "Block Author"
-msgstr "Bloki Aŭtoron"
-
-#: ../../addon/blockem/blockem.php:194
-msgid "blockem settings updated"
-msgstr "Ĝisdatigis la blockem agordojn"
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-)"
-msgstr ":-)"
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-("
-msgstr ":-("
-
-#: ../../addon/qcomment/qcomment.php:51
-msgid "lol"
-msgstr "lol"
-
-#: ../../addon/qcomment/qcomment.php:54
-msgid "Quick Comment Settings"
-msgstr "Agordoj pri Rapidaj Komentoj"
-
-#: ../../addon/qcomment/qcomment.php:56
-msgid ""
-"Quick comments are found near comment boxes, sometimes hidden. Click them to"
-" provide simple replies."
-msgstr "Rapidaj komentoj troviĝas apud komentkampoj, kelkfoje kaŝita. Klaku ilin por provizi simplajn rispondojn."
-
-#: ../../addon/qcomment/qcomment.php:57
-msgid "Enter quick comments, one per line"
-msgstr "Entajpu rapidaj komentoj, po unu je linio."
-
-#: ../../addon/qcomment/qcomment.php:75
-msgid "Quick Comment settings saved."
-msgstr "Konservis agordojn pri rapidaj komentoj."
-
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid "Tile Server URL"
-msgstr "Adreso de Kahelservilo"
-
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" "
-"target=\"_blank\">public tile servers</a>"
-msgstr "Listo de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publikaj kahelserviloj</a>"
-
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "Default zoom"
-msgstr "Defaŭlta zoma faktoro"
-
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "The default zoom level. (1:world, 18:highest)"
-msgstr "La defaŭlta zoma faktoro. (1:tutmonda, 18:plej proksima)"
-
-#: ../../addon/libertree/libertree.php:36
-msgid "Post to libertree"
-msgstr "Afiŝi al libertree"
-
-#: ../../addon/libertree/libertree.php:67
-msgid "libertree Post Settings"
-msgstr "Agordoj por Afiŝoj ĉe libertree"
-
-#: ../../addon/libertree/libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Aktivigi Kromprogramon por Afiŝoj ĉe libertree"
-
-#: ../../addon/libertree/libertree.php:74
-msgid "Libertree API token"
-msgstr "Libertree API ĵetono"
-
-#: ../../addon/libertree/libertree.php:79
-msgid "Libertree site URL"
-msgstr "URL adreso de libertree retejo:"
-
-#: ../../addon/libertree/libertree.php:84
-msgid "Post to Libertree by default"
-msgstr "Defaŭlte afiŝi ĉe Libertree"
-
-#: ../../addon/mathjax/mathjax.php:37
-msgid ""
-"The MathJax addon renders mathematical formulae written using the LaTeX "
-"syntax surrounded by the usual $$ or an eqnarray block in the postings of "
-"your wall,network tab and private mail."
-msgstr "La Mathjax kromprogramo bildigas matematikajn formulojn skribitajn en la LaTeX sintakso, cirkaŭigita de la komuna $$ aŭ eqnarray bloko en afiŝoj ĉe via muro, Reto folio kaj privataj mesaĝoj."
-
-#: ../../addon/mathjax/mathjax.php:38
-msgid "Use the MathJax renderer"
-msgstr "Ĉu uzi la Mathjax bildigilo"
-
-#: ../../addon/mathjax/mathjax.php:74
-msgid "MathJax Base URL"
-msgstr "Mathjax Baza URL Adreso"
-
-#: ../../addon/mathjax/mathjax.php:74
-msgid ""
-"The URL for the javascript file that should be included to use MathJax. Can "
-"be either the MathJax CDN or another installation of MathJax."
-msgstr "La URL adreso por la javascript dosiero kiu estas inkluzivigonta por uzi Mathjaz. Eblas esti aŭ la Mathjax CDN aŭ alia Mathjax instalo."
-
-#: ../../addon/editplain/editplain.php:46
-msgid "Editplain settings updated."
-msgstr "Ĝisdatigis la Editplain agordojn."
-
-#: ../../addon/editplain/editplain.php:76
-msgid "Editplain Settings"
-msgstr "Agordoj por Editplain"
-
-#: ../../addon/editplain/editplain.php:78
-msgid "Disable richtext status editor"
-msgstr "Malŝalti la riĉteksto-redaktilon"
-
-#: ../../addon/gravatar/gravatar.php:71
-msgid "generic profile image"
-msgstr "komuna profilbildo"
-
-#: ../../addon/gravatar/gravatar.php:72
-msgid "random geometric pattern"
-msgstr "loteca geometria skemo"
-
-#: ../../addon/gravatar/gravatar.php:73
-msgid "monster face"
-msgstr "monstrobildo"
-
-#: ../../addon/gravatar/gravatar.php:74
-msgid "computer generated face"
-msgstr "komputita vizaĝo"
-
-#: ../../addon/gravatar/gravatar.php:75
-msgid "retro arcade style face"
-msgstr "retrostila videoludstila vizaĝo"
-
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Default avatar image"
-msgstr "Defaŭlta avatarbildo"
-
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Select default avatar image if none was found at Gravatar. See README"
-msgstr "Elektu defaŭltan avatarbildon se neniu troviĝis ĉe Gravatar. Vidu README."
-
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Rating of images"
-msgstr "Pritakso de bildoj"
-
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Select the appropriate avatar rating for your site. See README"
-msgstr "Elektu la ĝustan pritakson de via avataro por via retejo. Vidu README."
-
-#: ../../addon/gravatar/gravatar.php:102
-msgid "Gravatar settings updated."
-msgstr "Gravatar agordoj ĝisdatigitaj."
-
-#: ../../addon/testdrive/testdrive.php:95
-msgid "Your Friendica test account is about to expire."
-msgstr "Via Friendica provkonto baldaŭ malaktiviĝos."
-
-#: ../../addon/testdrive/testdrive.php:96
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your test account on %2$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."
-msgstr "Saluton %1$s,\n\nVia testkonto ĉe %2$s senvalidiĝos post malpli ol kvin tagoj. Vi esperas ke vi ĝuis la teston kaj baldaŭ trovosĝustan Friendica retejon por via integrita sociala komunikado. Listo de publikaj retejoj troviĝas ĉe http://dir.friendica.com/siteinfo - kaj por pli da informoj pri kiel instali vian propran Friendica servilon, bonvolu viziti la retejon de la Friendica projekton ĉe http://friendica.com."
-
-#: ../../addon/pageheader/pageheader.php:50
-msgid "\"pageheader\" Settings"
-msgstr "\"pageheader\" Agordoj"
-
-#: ../../addon/pageheader/pageheader.php:68
-msgid "pageheader Settings saved."
-msgstr "Konservis Agordojn de pageheader."
-
-#: ../../addon/ijpost/ijpost.php:39
-msgid "Post to Insanejournal"
-msgstr "Afiŝi al Insanejournal"
-
-#: ../../addon/ijpost/ijpost.php:70
-msgid "InsaneJournal Post Settings"
-msgstr "Agordoj pri Insaenejournal Afiŝoj"
-
-#: ../../addon/ijpost/ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "Ŝalti la InsaneJournal afiŝo kromprogramon."
-
-#: ../../addon/ijpost/ijpost.php:77
-msgid "InsaneJournal username"
-msgstr "Salutnomo ĉe InsaneJournal"
-
-#: ../../addon/ijpost/ijpost.php:82
-msgid "InsaneJournal password"
-msgstr "Pasvorto ĉe InsaneJournal"
-
-#: ../../addon/ijpost/ijpost.php:87
-msgid "Post to InsaneJournal by default"
-msgstr "Defaŭlte afiŝi ĉe InsaneJournal"
-
-#: ../../addon/viewsrc/viewsrc.php:37
-msgid "View Source"
-msgstr "Vidi Fonton"
-
-#: ../../addon/statusnet/statusnet.php:134
-msgid "Post to StatusNet"
-msgstr "Afiŝi ĉe StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:176
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
-msgstr "Bonvolu kontaki vian retejan administranton.<br />La API URL adreso ne validas."
-
-#: ../../addon/statusnet/statusnet.php:204
-msgid "We could not contact the StatusNet API with the Path you entered."
-msgstr "Ni ne povis trovi la StatusNet API kun la vojo kiun vi entajpis."
-
-#: ../../addon/statusnet/statusnet.php:232
-msgid "StatusNet settings updated."
-msgstr "StatusNet agordoj ĝisdatigita."
-
-#: ../../addon/statusnet/statusnet.php:257
-msgid "StatusNet Posting Settings"
-msgstr "Agordoj por StausNet afiŝoj"
-
-#: ../../addon/statusnet/statusnet.php:271
-msgid "Globally Available StatusNet OAuthKeys"
-msgstr "Ĝeneralaj disponeblaj StatusNet OAuth ŝlosiloj"
-
-#: ../../addon/statusnet/statusnet.php:272
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
-msgstr "Disponeblas antaŭagorditaj ŝlosilparoj por kelkaj StatusNet serviloj. Se via uzas iun de iu, bonvolu uzi unun de tiuj legitimaĵojn. Se ne, bonvolu konekti al iu alia StatusNet servilo (vidu malsupre)."
-
-#: ../../addon/statusnet/statusnet.php:280
-msgid "Provide your own OAuth Credentials"
-msgstr "Provizi viajn proprajn OAuth legitimaĵojn"
-
-#: ../../addon/statusnet/statusnet.php:281
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendica Account as"
-" an desktop client on your StatusNet account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Friendica installation at your favorited StatusNet installation."
-msgstr "Ne trovis klientajn ŝlosilojn por StatusNet. Registru vian Friendica konton kiel klientkomputilo/desktop client en via StausNet konto. Kopiu la klientajn ŝlosilojn ĉi tien kaj entajpu la baza API radiko.<br />Antaŭ vi registros viajn proprajn OAuth ŝlosilojn, demandu al la administranto ĉu jam ekzistas ŝlosiloj por ĉi-tiu Friendia retejo je via StatusNet retejo."
-
-#: ../../addon/statusnet/statusnet.php:283
-msgid "OAuth Consumer Key"
-msgstr "OAuth Ŝlosilo de Kliento"
-
-#: ../../addon/statusnet/statusnet.php:286
-msgid "OAuth Consumer Secret"
-msgstr "OAuth Sekreto de Kliento"
-
-#: ../../addon/statusnet/statusnet.php:289
-msgid "Base API Path (remember the trailing /)"
-msgstr "Baza vojo al la API (ne forgesu la finan /)"
-
-#: ../../addon/statusnet/statusnet.php:310
-msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below"
-" and submit the form. Only your <strong>public</strong> posts will be posted"
-" to StatusNet."
-msgstr "Por konekti al vian konton ĉe StatusNet, klaku la malsupran butonon por atingi sekurecan kodon de StatusNet, kiun vi devas alglui en la malsupra kampo kaj sendi la formon. Nur viaj <strong>publikaj</strong> afiŝoj estos afiŝota al StatusNet."
-
-#: ../../addon/statusnet/statusnet.php:311
-msgid "Log in with StatusNet"
-msgstr "Ensaluti kun StatusNet."
-
-#: ../../addon/statusnet/statusnet.php:313
-msgid "Copy the security code from StatusNet here"
-msgstr "Alglui la kodon de StatusNet ĉi tie:"
-
-#: ../../addon/statusnet/statusnet.php:319
-msgid "Cancel Connection Process"
-msgstr "Nuligi Konektadon"
-
-#: ../../addon/statusnet/statusnet.php:321
-msgid "Current StatusNet API is"
-msgstr "La nuna StatusNet API estas"
-
-#: ../../addon/statusnet/statusnet.php:322
-msgid "Cancel StatusNet Connection"
-msgstr "Nuligi Konekton al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:333 ../../addon/twitter/twitter.php:189
-msgid "Currently connected to: "
-msgstr "Konektita al:"
-
-#: ../../addon/statusnet/statusnet.php:334
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
-msgstr "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita StatusNet konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin."
-
-#: ../../addon/statusnet/statusnet.php:336
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to StatusNet will lead the visitor to a blank page "
-"informing the visitor that the access to your profile has been restricted."
-msgstr "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al StatusNet gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita."
-
-#: ../../addon/statusnet/statusnet.php:339
-msgid "Allow posting to StatusNet"
-msgstr "Permesi afiŝojn al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:342
-msgid "Send public postings to StatusNet by default"
-msgstr "Defaŭlte sendi publikajn afiŝojn al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:345
-msgid "Send linked #-tags and @-names to StatusNet"
-msgstr "Sendi ligitajn #-etikedojn kaj @-nomon al StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:350 ../../addon/twitter/twitter.php:206
-msgid "Clear OAuth configuration"
-msgstr "Forviŝi OAuth agordojn"
-
-#: ../../addon/statusnet/statusnet.php:559
-msgid "API URL"
-msgstr "API URL adreso"
-
-#: ../../addon/infiniteimprobabilitydrive/infiniteimprobabilitydrive.php:19
-msgid "Infinite Improbability Drive"
-msgstr "Senfina Probableca Pelilo"
-
-#: ../../addon/tumblr/tumblr.php:36
-msgid "Post to Tumblr"
-msgstr "Afiŝi al Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:67
-msgid "Tumblr Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:69
-msgid "Enable Tumblr Post Plugin"
-msgstr "Ŝalti la kromprogramon por Tumblr afiŝoj"
-
-#: ../../addon/tumblr/tumblr.php:74
-msgid "Tumblr login"
-msgstr "Salutnomo ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:79
-msgid "Tumblr password"
-msgstr "Pasvorto ĉe Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:84
-msgid "Post to Tumblr by default"
-msgstr "Defaŭlte afiŝi ĉe Tumblr"
-
-#: ../../addon/numfriends/numfriends.php:46
-msgid "Numfriends settings updated."
-msgstr "Ĝisdatigis agordojn por Numfriends."
-
-#: ../../addon/numfriends/numfriends.php:77
-msgid "Numfriends Settings"
-msgstr "Agordoj por Numfriends"
-
-#: ../../addon/numfriends/numfriends.php:79
-msgid "How many contacts to display on profile sidebar"
-msgstr "Kiom da kontaktoj mi montru en la flanka strio"
-
-#: ../../addon/gnot/gnot.php:48
-msgid "Gnot settings updated."
-msgstr "Ĝisdatigis Gnot agordojn."
-
-#: ../../addon/gnot/gnot.php:79
-msgid "Gnot Settings"
-msgstr "Agordoj por Gnot"
-
-#: ../../addon/gnot/gnot.php:81
-msgid ""
-"Allows threading of email comment notifications on Gmail and anonymising the"
-" subject line."
-msgstr "Permesas la ĉenadon de retpoŝtaj atentigoj pri komentoj ĉe Gmail kan anonimigado de la temlinio."
-
-#: ../../addon/gnot/gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Ŝalti tiun kromprogramon?"
-
-#: ../../addon/gnot/gnot.php:97
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%d"
-msgstr "[Friendica:Atentigo] Komento pri konversacio #%d"
-
-#: ../../addon/wppost/wppost.php:42
-msgid "Post to Wordpress"
-msgstr "Afiŝi al Wordpress"
-
-#: ../../addon/wppost/wppost.php:76
-msgid "WordPress Post Settings"
-msgstr "Agordoj por WordPress afiŝojn"
-
-#: ../../addon/wppost/wppost.php:78
-msgid "Enable WordPress Post Plugin"
-msgstr "Ŝalti la Wordpress-afiŝo kromprogramon"
-
-#: ../../addon/wppost/wppost.php:83
-msgid "WordPress username"
-msgstr "WordPress salutnomo"
-
-#: ../../addon/wppost/wppost.php:88
-msgid "WordPress password"
-msgstr "WordPress pasvorto"
-
-#: ../../addon/wppost/wppost.php:93
-msgid "WordPress API URL"
-msgstr "Wordpress API URL adreso"
-
-#: ../../addon/wppost/wppost.php:98
-msgid "Post to WordPress by default"
-msgstr "Defaŭlte afiŝi al WordPress"
-
-#: ../../addon/wppost/wppost.php:103
-msgid "Provide a backlink to the Friendica post"
-msgstr "Provizi re-ligilon al la Friendica afiŝo"
-
-#: ../../addon/wppost/wppost.php:207
-msgid "Read the original post and comment stream on Friendica"
-msgstr "Legi la originalan afiŝon kaj komentfluo ĉe Friendica"
-
-#: ../../addon/showmore/showmore.php:38
-msgid "\"Show more\" Settings"
-msgstr "\"Montri pli\" agordoj"
-
-#: ../../addon/showmore/showmore.php:41
-msgid "Enable Show More"
-msgstr "Ŝalti \"montri pli\""
-
-#: ../../addon/showmore/showmore.php:44
-msgid "Cutting posts after how much characters"
-msgstr "Limitigi afiŝojn al kiom da literoj"
-
-#: ../../addon/showmore/showmore.php:65
-msgid "Show More Settings saved."
-msgstr "Konservis \"montri pli\" agordojn."
-
-#: ../../addon/piwik/piwik.php:79
-msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
-"analytics tool."
-msgstr "Ĉi retejo uzas <a href='http://www.piwik.org'>Piwik</a> kiel retuma analizilo."
-
-#: ../../addon/piwik/piwik.php:82
-#, php-format
-msgid ""
-"If you do not want that your visits are logged this way you <a href='%s'>can"
-" set a cookie to prevent Piwik from tracking further visits of the site</a> "
-"(opt-out)."
-msgstr "Se ni ne protokolu viajn vizitojn tiel, vi <a href='%s'>povas agordi kuketon por malpermesi Piwik al plu protokoli pliajn vizitojn</a> (mem-for-elekti / opt-out)."
-
-#: ../../addon/piwik/piwik.php:90
-msgid "Piwik Base URL"
-msgstr "Piwik baza URL adreso"
-
-#: ../../addon/piwik/piwik.php:90
-msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with "
-"trailing slash)"
-msgstr "Absoluta vojo al via Piwik instalo. (sen protokolo (http/s), inkluzive vosta oblikva streketo)"
-
-#: ../../addon/piwik/piwik.php:91
-msgid "Site ID"
-msgstr "Reteja idento"
-
-#: ../../addon/piwik/piwik.php:92
-msgid "Show opt-out cookie link?"
-msgstr "Montru ligilon al kuketo por mem-for-elekti (opt-out)?"
-
-#: ../../addon/piwik/piwik.php:93
-msgid "Asynchronous tracking"
-msgstr "Nesinkrona spurado."
-
-#: ../../addon/twitter/twitter.php:73
-msgid "Post to Twitter"
-msgstr "Afiŝi ĉe Twitter"
-
-#: ../../addon/twitter/twitter.php:122
-msgid "Twitter settings updated."
-msgstr "Ĝisdatigis Twitter agordojn."
-
-#: ../../addon/twitter/twitter.php:146
-msgid "Twitter Posting Settings"
-msgstr "Agordoj por afiŝi ĉe Twitter"
-
-#: ../../addon/twitter/twitter.php:153
-msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
-msgstr "Ne trovis klientajn ŝlosilojn por Twitter. Bonvolu kontakti vian retejan administranton."
-
-#: ../../addon/twitter/twitter.php:172
-msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input"
-" box below and submit the form. Only your <strong>public</strong> posts will"
-" be posted to Twitter."
-msgstr "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. "
-
-#: ../../addon/twitter/twitter.php:173
-msgid "Log in with Twitter"
-msgstr "Ensaluti kun Twitter"
-
-#: ../../addon/twitter/twitter.php:175
-msgid "Copy the PIN from Twitter here"
-msgstr "Alglui la PIN de Twitter ĉi tie"
-
-#: ../../addon/twitter/twitter.php:190
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for"
-" every posting separately in the posting options when writing the entry."
-msgstr "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita Twitter konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin."
-
-#: ../../addon/twitter/twitter.php:192
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to Twitter will lead the visitor to a blank page informing "
-"the visitor that the access to your profile has been restricted."
-msgstr "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al Twitter gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita."
-
-#: ../../addon/twitter/twitter.php:195
-msgid "Allow posting to Twitter"
-msgstr "Permesi afiŝojn al Twitter"
-
-#: ../../addon/twitter/twitter.php:198
-msgid "Send public postings to Twitter by default"
-msgstr "Defaŭlte sendi publikajn afiŝojn al Twitter"
-
-#: ../../addon/twitter/twitter.php:201
-msgid "Send linked #-tags and @-names to Twitter"
-msgstr "Sendi ligitajn #-etikedojn kaj @-nomon al Twitter"
-
-#: ../../addon/twitter/twitter.php:389
-msgid "Consumer key"
-msgstr "Ŝlosilo de Kliento"
-
-#: ../../addon/twitter/twitter.php:390
-msgid "Consumer secret"
-msgstr "Sekreto de Kliento"
-
-#: ../../addon/irc/irc.php:44
-msgid "IRC Settings"
-msgstr "IRC Agordoj"
-
-#: ../../addon/irc/irc.php:46
-msgid "Channel(s) to auto connect (comma separated)"
-msgstr "Aŭtomate konektiĝi al la kanalo(j) (disigita per komo)"
-
-#: ../../addon/irc/irc.php:51
-msgid "Popular Channels (comma separated)"
-msgstr "Popularaj kanaloj (disigita per komo)"
-
-#: ../../addon/irc/irc.php:69
-msgid "IRC settings saved."
-msgstr "IRC agordoj konservitaj."
-
-#: ../../addon/irc/irc.php:74
-msgid "IRC Chatroom"
-msgstr "IRC babilejo"
-
-#: ../../addon/irc/irc.php:96
-msgid "Popular Channels"
-msgstr "Popularaj Kanaloj"
-
-#: ../../addon/blogger/blogger.php:42
-msgid "Post to blogger"
-msgstr "Afiŝi al blogger"
-
-#: ../../addon/blogger/blogger.php:74
-msgid "Blogger Post Settings"
-msgstr "Agordo pri Blogger Afiŝoj"
-
-#: ../../addon/blogger/blogger.php:76
-msgid "Enable Blogger Post Plugin"
-msgstr "Ŝalti la Blogger afiŝo kromprogramon"
-
-#: ../../addon/blogger/blogger.php:81
-msgid "Blogger username"
-msgstr "Blogger uzantonomo"
-
-#: ../../addon/blogger/blogger.php:86
-msgid "Blogger password"
-msgstr "Blogger pasvorto"
-
-#: ../../addon/blogger/blogger.php:91
-msgid "Blogger API URL"
-msgstr "Blogger API URL"
-
-#: ../../addon/blogger/blogger.php:96
-msgid "Post to Blogger by default"
-msgstr "Defaŭlte afiŝi al Blogger"
-
-#: ../../addon/posterous/posterous.php:37
-msgid "Post to Posterous"
-msgstr "Afiŝi al Posterous"
-
-#: ../../addon/posterous/posterous.php:70
-msgid "Posterous Post Settings"
-msgstr "Agordoj pri afiŝoj ĉe Posterous"
-
-#: ../../addon/posterous/posterous.php:72
-msgid "Enable Posterous Post Plugin"
-msgstr "Ŝalti la Poserous-afiŝo kromprogramon"
-
-#: ../../addon/posterous/posterous.php:77
-msgid "Posterous login"
-msgstr "Posterous salutnomo"
-
-#: ../../addon/posterous/posterous.php:82
-msgid "Posterous password"
-msgstr "Posterous pasvorto"
-
-#: ../../addon/posterous/posterous.php:87
-msgid "Posterous site ID"
-msgstr "Idento de Posterous retejo"
-
-#: ../../addon/posterous/posterous.php:92
-msgid "Posterous API token"
-msgstr "API ĵetono de Posterous retejo"
-
-#: ../../addon/posterous/posterous.php:97
-msgid "Post to Posterous by default"
-msgstr "Defaŭlte afiŝi al Posterous"
-
-#: ../../view/theme/cleanzero/config.php:82
-#: ../../view/theme/diabook/config.php:192
-#: ../../view/theme/quattro/config.php:54 ../../view/theme/dispy/config.php:72
-msgid "Theme settings"
-msgstr "Agordoj pri la etoso"
-
-#: ../../view/theme/cleanzero/config.php:83
-msgid "Set resize level for images in posts and comments (width and height)"
-msgstr "Agordi la regrandignivelo por bildoj en afiŝoj kaj komentoj (larĝo kaj alto)"
-
-#: ../../view/theme/cleanzero/config.php:84
-#: ../../view/theme/diabook/config.php:193
-#: ../../view/theme/dispy/config.php:73
-msgid "Set font-size for posts and comments"
-msgstr "Agordi la tiparan grandon por afiŝoj kaj komentoj"
-
-#: ../../view/theme/cleanzero/config.php:85
-msgid "Set theme width"
-msgstr "Agordi la larĝo por la etoso"
-
-#: ../../view/theme/cleanzero/config.php:86
-#: ../../view/theme/quattro/config.php:56
-msgid "Color scheme"
-msgstr "Kolorskemo"
-
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
-#: ../../include/nav.php:115
-msgid "Your posts and conversations"
-msgstr "Viaj afiŝoj kaj komunikadoj"
-
-#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
-msgid "Your profile page"
-msgstr "Via profilo"
-
-#: ../../view/theme/diabook/theme.php:129
-msgid "Your contacts"
-msgstr "Viaj kontaktoj"
-
-#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
-msgid "Your photos"
-msgstr "Viaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
-msgid "Your events"
-msgstr "Viaj okazoj"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Personal notes"
-msgstr "Personaj notoj"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Your personal photos"
-msgstr "Viaj personaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:134
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:747
-#: ../../view/theme/diabook/config.php:201
-msgid "Community Pages"
-msgstr "Komunumaj paĝoj"
-
-#: ../../view/theme/diabook/theme.php:490
-#: ../../view/theme/diabook/theme.php:749
-#: ../../view/theme/diabook/config.php:203
-msgid "Community Profiles"
-msgstr "Komunumaj Profiloj"
-
-#: ../../view/theme/diabook/theme.php:511
-#: ../../view/theme/diabook/theme.php:754
-#: ../../view/theme/diabook/config.php:208
-msgid "Last users"
-msgstr "Ĵusaj uzantoj"
-
-#: ../../view/theme/diabook/theme.php:540
-#: ../../view/theme/diabook/theme.php:756
-#: ../../view/theme/diabook/config.php:210
-msgid "Last likes"
-msgstr "Ĵusaj ŝatitaj elementoj"
-
-#: ../../view/theme/diabook/theme.php:585
-#: ../../view/theme/diabook/theme.php:755
-#: ../../view/theme/diabook/config.php:209
-msgid "Last photos"
-msgstr "Ĵusaj bildoj"
-
-#: ../../view/theme/diabook/theme.php:622
-#: ../../view/theme/diabook/theme.php:752
-#: ../../view/theme/diabook/config.php:206
-msgid "Find Friends"
-msgstr "Trovi Amikojn"
-
-#: ../../view/theme/diabook/theme.php:623
-msgid "Local Directory"
-msgstr "Loka Katalogo"
-
-#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
-msgid "Similar Interests"
-msgstr "Similaj Interesoj"
-
-#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
-msgid "Invite Friends"
-msgstr "Inviti amikojn"
-
-#: ../../view/theme/diabook/theme.php:678
-#: ../../view/theme/diabook/theme.php:748
-#: ../../view/theme/diabook/config.php:202
-msgid "Earth Layers"
-msgstr "Tertavoloj (Earth Layers)"
-
-#: ../../view/theme/diabook/theme.php:683
-msgid "Set zoomfactor for Earth Layers"
-msgstr "Agordi zoman faktoron por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:684
-#: ../../view/theme/diabook/config.php:199
-msgid "Set longitude (X) for Earth Layers"
-msgstr "Agordi longitudon (X) por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:685
-#: ../../view/theme/diabook/config.php:200
-msgid "Set latitude (Y) for Earth Layers"
-msgstr "Agordi latitudon (Y) por Tertavoloj"
-
-#: ../../view/theme/diabook/theme.php:698
-#: ../../view/theme/diabook/theme.php:750
-#: ../../view/theme/diabook/config.php:204
-msgid "Help or @NewHere ?"
-msgstr "Helpu aŭ @NewHere ?"
-
-#: ../../view/theme/diabook/theme.php:705
-#: ../../view/theme/diabook/theme.php:751
-#: ../../view/theme/diabook/config.php:205
-msgid "Connect Services"
-msgstr "Konekti Servojn"
-
-#: ../../view/theme/diabook/theme.php:712
-#: ../../view/theme/diabook/theme.php:753
-msgid "Last Tweets"
-msgstr "Ĵusaj Pepaĵoj"
-
-#: ../../view/theme/diabook/theme.php:715
-#: ../../view/theme/diabook/config.php:197
-msgid "Set twitter search term"
-msgstr "Agordi Twitter serĉtekston"
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
-msgid "don't show"
-msgstr "kaŝi"
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
-msgid "show"
-msgstr "montri"
-
-#: ../../view/theme/diabook/theme.php:745
-msgid "Show/hide boxes at right-hand column:"
-msgstr "Kaŝi/montri kestojn ĉe dekstra kolumno:"
-
-#: ../../view/theme/diabook/config.php:194
-#: ../../view/theme/dispy/config.php:74
-msgid "Set line-height for posts and comments"
-msgstr "Agordi la linigrandon por afiŝoj kaj komentoj"
-
-#: ../../view/theme/diabook/config.php:195
-msgid "Set resolution for middle column"
-msgstr "Agordi la distingivon por la meza kolumno"
-
-#: ../../view/theme/diabook/config.php:196
-msgid "Set color scheme"
-msgstr "Agordi Kolorskemon"
-
-#: ../../view/theme/diabook/config.php:198
-msgid "Set zoomfactor for Earth Layer"
-msgstr "Agordi zoman faktoron de Tertavolo"
-
-#: ../../view/theme/diabook/config.php:207
-msgid "Last tweets"
-msgstr "Ĵusaj pepaĵoj"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Alignment"
-msgstr "Ĝisrandigo"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Left"
-msgstr "Maldekstren"
-
-#: ../../view/theme/quattro/config.php:55
-msgid "Center"
-msgstr "Centren"
-
-#: ../../view/theme/dispy/config.php:75
-msgid "Set colour scheme"
-msgstr "Agordi Kolorskemon"
-
-#: ../../include/profile_advanced.php:17 ../../boot.php:1138
-msgid "Gender:"
-msgstr "Sekso:"
-
-#: ../../include/profile_advanced.php:22
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/profile_advanced.php:23
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/profile_advanced.php:30
-msgid "Birthday:"
-msgstr "Naskiĝtago:"
-
-#: ../../include/profile_advanced.php:34
-msgid "Age:"
-msgstr "Aĝo:"
-
-#: ../../include/profile_advanced.php:37 ../../boot.php:1141
-msgid "Status:"
-msgstr "Stato:"
-
-#: ../../include/profile_advanced.php:43
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "por %1$d %2$s"
-
-#: ../../include/profile_advanced.php:48 ../../boot.php:1143
-msgid "Homepage:"
-msgstr "Hejmpaĝo:"
-
-#: ../../include/profile_advanced.php:52
-msgid "Tags:"
-msgstr "Markoj:"
-
-#: ../../include/profile_advanced.php:56
-msgid "Religion:"
-msgstr "Religio:"
-
-#: ../../include/profile_advanced.php:58
-msgid "About:"
-msgstr "Pri:"
-
-#: ../../include/profile_advanced.php:60
-msgid "Hobbies/Interests:"
-msgstr "Ŝatokupoj/Interesoj:"
-
-#: ../../include/profile_advanced.php:67
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformoj kaj Interkonaj Retejoj:"
-
-#: ../../include/profile_advanced.php:69
-msgid "Musical interests:"
-msgstr "Muzaikaj interesoj:"
-
-#: ../../include/profile_advanced.php:71
-msgid "Books, literature:"
-msgstr "Libroj, literaturo:"
-
-#: ../../include/profile_advanced.php:73
-msgid "Television:"
-msgstr "Televido:"
-
-#: ../../include/profile_advanced.php:75
-msgid "Film/dance/culture/entertainment:"
-msgstr "Filmoj/dancoj/arto/amuzaĵoj:"
-
-#: ../../include/profile_advanced.php:77
-msgid "Love/Romance:"
-msgstr "Amo/romanco:"
-
-#: ../../include/profile_advanced.php:79
-msgid "Work/employment:"
-msgstr "Laboro:"
-
-#: ../../include/profile_advanced.php:81
-msgid "School/education:"
-msgstr "Lernejo/eduko:"
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Nekonata | Nekatorigita"
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Bloki tuj"
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "Suspekta, spamisto, memmerkatisto"
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Konata al mi, sed mi ne havas opinion"
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "OK, verŝajne sendanĝera"
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Fidinda laŭ mi"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Ofte"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ĉiuhore"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Duope ĉiutage"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ĉiutage"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ĉiusemajne"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ĉiumonate"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/Tujmesaĝilo"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/profile_selectors.php:6
-msgid "Male"
-msgstr "Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Female"
-msgstr "Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Nuntempe Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Nuntempe Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Ĉefe Vira"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Ĉefe Ina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgenra"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Interseksa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transseksa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodita"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neŭtra"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Nespecifa"
-
-#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Alia"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Nedecida"
-
-#: ../../include/profile_selectors.php:23
-msgid "Males"
-msgstr "Viroj"
-
-#: ../../include/profile_selectors.php:23
-msgid "Females"
-msgstr "Inoj"
-
-#: ../../include/profile_selectors.php:23
-msgid "Gay"
-msgstr "Geja"
-
-#: ../../include/profile_selectors.php:23
-msgid "Lesbian"
-msgstr "Lesba"
-
-#: ../../include/profile_selectors.php:23
-msgid "No Preference"
-msgstr "Neniu Prefero"
-
-#: ../../include/profile_selectors.php:23
-msgid "Bisexual"
-msgstr "Ambaŭseksema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Autosexual"
-msgstr "Memseksema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Abstinent"
-msgstr "Abstinema"
-
-#: ../../include/profile_selectors.php:23
-msgid "Virgin"
-msgstr "Virgulino"
-
-#: ../../include/profile_selectors.php:23
-msgid "Deviant"
-msgstr "Devia"
-
-#: ../../include/profile_selectors.php:23
-msgid "Fetish"
-msgstr "Fetiĉo"
-
-#: ../../include/profile_selectors.php:23
-msgid "Oodles"
-msgstr "Amasa"
-
-#: ../../include/profile_selectors.php:23
-msgid "Nonsexual"
-msgstr "Neseksa"
-
-#: ../../include/profile_selectors.php:42
-msgid "Single"
-msgstr "Sola"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lonely"
-msgstr "Soleca"
-
-#: ../../include/profile_selectors.php:42
-msgid "Available"
-msgstr "Havebla"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unavailable"
-msgstr "Nehavebla"
-
-#: ../../include/profile_selectors.php:42
-msgid "Has crush"
-msgstr "Sekrete enamiĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Infatuated"
-msgstr "Blinda amo"
-
-#: ../../include/profile_selectors.php:42
-msgid "Dating"
-msgstr "Rendevuanta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unfaithful"
-msgstr "Malfidela"
-
-#: ../../include/profile_selectors.php:42
-msgid "Sex Addict"
-msgstr "Seksmaniulo"
-
-#: ../../include/profile_selectors.php:42 ../../include/user.php:278
-msgid "Friends"
-msgstr "Amikoj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Friends/Benefits"
-msgstr "Amikoj/Avantaĝoj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Casual"
-msgstr "Neformala"
-
-#: ../../include/profile_selectors.php:42
-msgid "Engaged"
-msgstr "Fianĉiginta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Married"
-msgstr "Edziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily married"
-msgstr "Image edziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Partners"
-msgstr "Geparuloj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Cohabiting"
-msgstr "Kunloĝanta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Common law"
-msgstr "Registrita partnereco "
-
-#: ../../include/profile_selectors.php:42
-msgid "Happy"
-msgstr "Feliĉa"
-
-#: ../../include/profile_selectors.php:42
-msgid "Not looking"
-msgstr "Ne interesiĝis"
-
-#: ../../include/profile_selectors.php:42
-msgid "Swinger"
-msgstr "Swinger"
-
-#: ../../include/profile_selectors.php:42
-msgid "Betrayed"
-msgstr "Trompita"
-
-#: ../../include/profile_selectors.php:42
-msgid "Separated"
-msgstr "Disiĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unstable"
-msgstr "Malfirma"
-
-#: ../../include/profile_selectors.php:42
-msgid "Divorced"
-msgstr "Eksedziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily divorced"
-msgstr "Image eksedziĝinta"
-
-#: ../../include/profile_selectors.php:42
-msgid "Widowed"
-msgstr "Vidva"
-
-#: ../../include/profile_selectors.php:42
-msgid "Uncertain"
-msgstr "Ne certa"
-
-#: ../../include/profile_selectors.php:42
-msgid "It's complicated"
-msgstr "Estas komplika"
-
-#: ../../include/profile_selectors.php:42
-msgid "Don't care"
-msgstr "Egala"
-
-#: ../../include/profile_selectors.php:42
-msgid "Ask me"
-msgstr "Demandu min"
-
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:341
-msgid "Starts:"
-msgstr "Ekas:"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:349
-msgid "Finishes:"
-msgstr "Finas:"
-
-#: ../../include/delivery.php:456 ../../include/notifier.php:678
-msgid "(no subject)"
-msgstr "(neniu temo)"
-
-#: ../../include/delivery.php:463 ../../include/enotify.php:26
-#: ../../include/notifier.php:685
-msgid "noreply"
-msgstr "nerespondi"
-
-#: ../../include/Scrape.php:572
-msgid " on Last.fm"
-msgstr " ĉe Last.fm"
-
-#: ../../include/text.php:243
-msgid "prev"
-msgstr "antaŭa"
-
-#: ../../include/text.php:245
-msgid "first"
-msgstr "unua"
-
-#: ../../include/text.php:274
-msgid "last"
-msgstr "lasta"
-
-#: ../../include/text.php:277
-msgid "next"
-msgstr "sekvanta"
-
-#: ../../include/text.php:568
-msgid "No contacts"
-msgstr "Neniu kontaktoj"
-
-#: ../../include/text.php:577
-#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d Kontakto"
-msgstr[1] "%d Kontaktoj"
-
-#: ../../include/text.php:835
-msgid "Monday"
-msgstr "Lundo"
-
-#: ../../include/text.php:835
-msgid "Tuesday"
-msgstr "Mardo"
-
-#: ../../include/text.php:835
-msgid "Wednesday"
-msgstr "Merkredo"
-
-#: ../../include/text.php:835
-msgid "Thursday"
-msgstr "Ĵaŭdo"
-
-#: ../../include/text.php:835
-msgid "Friday"
-msgstr "Vendredo"
-
-#: ../../include/text.php:835
-msgid "Saturday"
-msgstr "Sabato"
-
-#: ../../include/text.php:835
-msgid "Sunday"
-msgstr "Dimanĉo"
-
-#: ../../include/text.php:839
-msgid "January"
-msgstr "Januaro"
-
-#: ../../include/text.php:839
-msgid "February"
-msgstr "Februaro"
-
-#: ../../include/text.php:839
-msgid "March"
-msgstr "Marto"
-
-#: ../../include/text.php:839
-msgid "April"
-msgstr "Aprilo"
-
-#: ../../include/text.php:839
-msgid "May"
-msgstr "Majo"
-
-#: ../../include/text.php:839
-msgid "June"
-msgstr "Junio"
-
-#: ../../include/text.php:839
-msgid "July"
-msgstr "Julio"
-
-#: ../../include/text.php:839
-msgid "August"
-msgstr "Aŭgusto"
-
-#: ../../include/text.php:839
-msgid "September"
-msgstr "Septembro"
-
-#: ../../include/text.php:839
-msgid "October"
-msgstr "Oktobro"
-
-#: ../../include/text.php:839
-msgid "November"
-msgstr "Novembro"
-
-#: ../../include/text.php:839
-msgid "December"
-msgstr "Decembro"
-
-#: ../../include/text.php:925
-msgid "bytes"
-msgstr "bajtoj"
-
-#: ../../include/text.php:945 ../../include/text.php:960
-msgid "remove"
-msgstr "forviŝi"
-
-#: ../../include/text.php:945 ../../include/text.php:960
-msgid "[remove]"
-msgstr "[forviŝi]"
-
-#: ../../include/text.php:948
-msgid "Categories:"
-msgstr "Kategorioj:"
-
-#: ../../include/text.php:963
-msgid "Filed under:"
-msgstr "Enarkivigita kiel:"
-
-#: ../../include/text.php:979 ../../include/text.php:991
-msgid "Click to open/close"
-msgstr "Klaku por malfermi/fermi"
-
-#: ../../include/text.php:1097 ../../include/user.php:236
-msgid "default"
-msgstr "defaŭlta"
-
-#: ../../include/text.php:1109
-msgid "Select an alternate language"
-msgstr "Elekti alian lingvon"
-
-#: ../../include/text.php:1319
-msgid "activity"
-msgstr "aktiveco"
-
-#: ../../include/text.php:1321
-msgid "comment"
-msgstr "komento"
-
-#: ../../include/text.php:1322
-msgid "post"
-msgstr "afiŝo"
-
-#: ../../include/text.php:1477
-msgid "Item filed"
-msgstr "Enarkivigis elementon "
-
-#: ../../include/diaspora.php:593
-msgid "Sharing notification from Diaspora network"
-msgstr "Antentigo pri kunhavigado de la Diaspora reto"
-
-#: ../../include/diaspora.php:2085
-msgid "Attachments:"
-msgstr "Kunsendaĵoj:"
-
-#: ../../include/network.php:839
-msgid "view full size"
-msgstr "vidi plengrande"
-
-#: ../../include/oembed.php:135
-msgid "Embedded content"
-msgstr "Enigita enhavo"
-
-#: ../../include/oembed.php:144
-msgid "Embedding disabled"
-msgstr "Malŝaltita enigitado"
-
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Revivigis malnovan grupon kun la sama nomo. Permesoj por estantaj elementoj <strong>eble</strong> estas validaj por la grupo kaj estontaj membroj. Se tiu ne estas kiun vi atendis, bonvolu krei alian grupon kun alia nomo."
-
-#: ../../include/group.php:176
-msgid "Default privacy group for new contacts"
-msgstr "Defaŭlta privateca grupo por novaj kontaktoj"
-
-#: ../../include/group.php:195
-msgid "Everybody"
-msgstr "Ĉiuj"
-
-#: ../../include/group.php:218
-msgid "edit"
-msgstr "redakti"
-
-#: ../../include/group.php:239
-msgid "Groups"
-msgstr "Grupoj"
-
-#: ../../include/group.php:240
-msgid "Edit group"
-msgstr "Redakti grupon"
-
-#: ../../include/group.php:241
-msgid "Create a new group"
-msgstr "Krei novan grupon"
-
-#: ../../include/group.php:242
-msgid "Contacts not in any group"
-msgstr "Kontaktoj en neniu grupo"
-
-#: ../../include/nav.php:46 ../../boot.php:848
-msgid "Logout"
-msgstr "Elsaluti"
-
-#: ../../include/nav.php:46
-msgid "End this session"
-msgstr "Fini ĉi-tiun seancon"
-
-#: ../../include/nav.php:49 ../../boot.php:1538
-msgid "Status"
-msgstr "Stato"
-
-#: ../../include/nav.php:64
-msgid "Sign in"
-msgstr "Ensaluti"
-
-#: ../../include/nav.php:77
-msgid "Home Page"
-msgstr "Hejmpaĝo"
-
-#: ../../include/nav.php:81
-msgid "Create an account"
-msgstr "Krei konton"
-
-#: ../../include/nav.php:86
-msgid "Help and documentation"
-msgstr "Helpo kaj dokumentado"
-
-#: ../../include/nav.php:89
-msgid "Apps"
-msgstr "Programoj"
-
-#: ../../include/nav.php:89
-msgid "Addon applications, utilities, games"
-msgstr "Kromprogramoj, utilaĵoj, ludiloj"
-
-#: ../../include/nav.php:91
-msgid "Search site content"
-msgstr "Serĉu la retejon"
-
-#: ../../include/nav.php:101
-msgid "Conversations on this site"
-msgstr "Konversacioj je ĉi-tiu retejo"
-
-#: ../../include/nav.php:103
-msgid "Directory"
-msgstr "Katalogo"
-
-#: ../../include/nav.php:103
-msgid "People directory"
-msgstr "Katalogo de homoj"
-
-#: ../../include/nav.php:113
-msgid "Conversations from your friends"
-msgstr "Konversacioj de viaj amikoj"
-
-#: ../../include/nav.php:121
-msgid "Friend Requests"
-msgstr "Kontaktpetoj"
-
-#: ../../include/nav.php:123
-msgid "See all notifications"
-msgstr "Vidu ĉiujn atentigojn"
-
-#: ../../include/nav.php:124
-msgid "Mark all system notifications seen"
-msgstr "Marki ĉiujn atentigojn legita"
-
-#: ../../include/nav.php:128
-msgid "Private mail"
-msgstr "Privata poŝto"
-
-#: ../../include/nav.php:129
-msgid "Inbox"
-msgstr "Enirkesto"
-
-#: ../../include/nav.php:130
-msgid "Outbox"
-msgstr "Elirkesto"
-
-#: ../../include/nav.php:134
-msgid "Manage"
-msgstr "Administri"
-
-#: ../../include/nav.php:134
-msgid "Manage other pages"
-msgstr "Administri aliajn paĝojn"
-
-#: ../../include/nav.php:138 ../../boot.php:1096
-msgid "Profiles"
-msgstr "Profiloj"
-
-#: ../../include/nav.php:138 ../../boot.php:1096
-msgid "Manage/edit profiles"
-msgstr "Administri/redakti profilojn"
-
-#: ../../include/nav.php:139
-msgid "Manage/edit friends and contacts"
-msgstr "Administri/redakti amikojn kaj kontaktojn"
-
-#: ../../include/nav.php:146
-msgid "Site setup and configuration"
-msgstr "Agordoj pri la retejo"
-
-#: ../../include/nav.php:170
-msgid "Nothing new here"
-msgstr "Estas neniu nova ĉi tie"
-
-#: ../../include/contact_widgets.php:6
-msgid "Add New Contact"
-msgstr "Aldonu Novan Kontakton"
-
-#: ../../include/contact_widgets.php:7
-msgid "Enter address or web location"
-msgstr "Entajpu adreson aŭ retlokon"
-
-#: ../../include/contact_widgets.php:8
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Ekzemple: bob@example.com, http://example.com/barbara"
-
-#: ../../include/contact_widgets.php:23
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "Disponeblas %d invito"
-msgstr[1] "Disponeblas %d invitoj"
-
-#: ../../include/contact_widgets.php:29
-msgid "Find People"
-msgstr "Trovi Homojn"
-
-#: ../../include/contact_widgets.php:30
-msgid "Enter name or interest"
-msgstr "Entajpu nomon aŭ intereson"
-
-#: ../../include/contact_widgets.php:31
-msgid "Connect/Follow"
-msgstr "Konekti/Aboni"
-
-#: ../../include/contact_widgets.php:32
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Ekzemple: Robert Morgenstein, Fishing"
-
-#: ../../include/contact_widgets.php:36
-msgid "Random Profile"
-msgstr "Hazarda Profilo"
-
-#: ../../include/contact_widgets.php:68
-msgid "Networks"
-msgstr "Retoj"
-
-#: ../../include/contact_widgets.php:71
-msgid "All Networks"
-msgstr "Ĉiuj Retoj"
-
-#: ../../include/contact_widgets.php:98
-msgid "Saved Folders"
-msgstr "Konservitaj Dosierujoj"
-
-#: ../../include/contact_widgets.php:101 ../../include/contact_widgets.php:129
-msgid "Everything"
-msgstr "Ĉio"
-
-#: ../../include/contact_widgets.php:126
-msgid "Categories"
-msgstr "Kategorioj"
-
-#: ../../include/auth.php:36
-msgid "Logged out."
-msgstr "Elsalutita."
-
-#: ../../include/auth.php:115
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Okazis problemo ensalutinta kun via OpenID. Bonvolu kontroli la ID."
-
-#: ../../include/auth.php:115
-msgid "The error message was:"
-msgstr "La erarmesaĝo estis:"
-
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Diversaj"
-
-#: ../../include/datetime.php:131 ../../include/datetime.php:263
-msgid "year"
-msgstr "jaro"
-
-#: ../../include/datetime.php:136 ../../include/datetime.php:264
-msgid "month"
-msgstr "monato"
-
-#: ../../include/datetime.php:141 ../../include/datetime.php:266
-msgid "day"
-msgstr "tago"
-
-#: ../../include/datetime.php:254
-msgid "never"
-msgstr "neniam"
-
-#: ../../include/datetime.php:260
-msgid "less than a second ago"
-msgstr "antaŭ malpli ol unu sekundo"
-
-#: ../../include/datetime.php:263
-msgid "years"
-msgstr "jaroj"
-
-#: ../../include/datetime.php:264
-msgid "months"
-msgstr "monatoj"
-
-#: ../../include/datetime.php:265
-msgid "week"
-msgstr "semajno"
-
-#: ../../include/datetime.php:265
-msgid "weeks"
-msgstr "semajnoj"
-
-#: ../../include/datetime.php:266
-msgid "days"
-msgstr "tagoj"
-
-#: ../../include/datetime.php:267
-msgid "hour"
-msgstr "horo"
-
-#: ../../include/datetime.php:267
-msgid "hours"
-msgstr "horoj"
-
-#: ../../include/datetime.php:268
-msgid "minute"
-msgstr "minuto"
-
-#: ../../include/datetime.php:268
-msgid "minutes"
-msgstr "minutoj"
-
-#: ../../include/datetime.php:269
-msgid "second"
-msgstr "sekundo"
-
-#: ../../include/datetime.php:269
-msgid "seconds"
-msgstr "sekundoj"
-
-#: ../../include/datetime.php:278
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "antaŭ %1$d %2$s"
-
-#: ../../include/datetime.php:450 ../../include/items.php:1460
-#, php-format
-msgid "%s's birthday"
-msgstr "Naskiĝtago de %s"
-
-#: ../../include/datetime.php:451 ../../include/items.php:1461
-#, php-format
-msgid "Happy Birthday %s"
-msgstr "Feliĉan Naskiĝtagon al %s"
-
-#: ../../include/onepoll.php:399
-msgid "From: "
-msgstr "De: "
-
-#: ../../include/bbcode.php:216 ../../include/bbcode.php:236
-msgid "$1 wrote:"
-msgstr "$1 skribis:"
-
-#: ../../include/bbcode.php:251 ../../include/bbcode.php:328
-msgid "Image/photo"
-msgstr "Bildo"
-
-#: ../../include/dba.php:41
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Ne trovis DNS informojn por datumbaza servilo '%s'."
-
-#: ../../include/message.php:15 ../../include/message.php:171
-msgid "[no subject]"
-msgstr "[neniu temo]"
-
-#: ../../include/acl_selectors.php:286
-msgid "Visible to everybody"
-msgstr "Videbla al ĉiuj"
-
-#: ../../include/enotify.php:14
-msgid "Friendica Notification"
-msgstr "Friendica Atentigo"
-
-#: ../../include/enotify.php:17
-msgid "Thank You,"
-msgstr "Dankon,"
-
-#: ../../include/enotify.php:19
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Administranto"
-
-#: ../../include/enotify.php:38
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:42
-#, php-format
-msgid "[Friendica:Notify] New mail received at %s"
-msgstr "[Friendica:Atentigo] Ricevis novan retpoŝton ĉe %s"
-
-#: ../../include/enotify.php:44
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
-msgstr "%1$s sendis al vi novan privatan mesaĝon ĉe %2$s."
-
-#: ../../include/enotify.php:45
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s sendis al vi %2$s."
-
-#: ../../include/enotify.php:45
-msgid "a private message"
-msgstr "privatan mesaĝon"
-
-#: ../../include/enotify.php:46
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bonvolu viziti %s por vidi aŭ respondi viajn privatajn mesaĝojn."
-
-#: ../../include/enotify.php:73
-#, php-format
-msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]%3$s[/url]"
-
-#: ../../include/enotify.php:80
-#, php-format
-msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]%4$s de %3$s[/url]"
-
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
-msgstr "%1$s komentis pri [url=%2$s]via %3$s[/url]"
-
-#: ../../include/enotify.php:98
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Friendica:Atentigo] Komento pri konversacio #%1$d de %2$s"
-
-#: ../../include/enotify.php:99
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
-msgstr "%s komentis pri elemento/konversacio kiun vi sekvas."
-
-#: ../../include/enotify.php:102 ../../include/enotify.php:117
-#: ../../include/enotify.php:130 ../../include/enotify.php:143
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bonvolu viziti %s por vidi aŭ respondi la konversacion."
-
-#: ../../include/enotify.php:109
-#, php-format
-msgid "[Friendica:Notify] %s posted to your profile wall"
-msgstr "[Friendica:Atentigo] %s afiŝis al via profilmuro"
-
-#: ../../include/enotify.php:111
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
-msgstr "%1$s skribis al via profilmuro ĉe %2$s"
-
-#: ../../include/enotify.php:113
-#, php-format
-msgid "%1$s posted to [url=%2s]your wall[/url]"
-msgstr "%1$s afiŝis al [url=%2s]via muro[/url]"
-
-#: ../../include/enotify.php:124
-#, php-format
-msgid "[Friendica:Notify] %s tagged you"
-msgstr "[Friendica:Atentigo] %s markis vin"
-
-#: ../../include/enotify.php:125
-#, php-format
-msgid "%1$s tagged you at %2$s"
-msgstr "%1$s markis vin ĉe %2$s"
-
-#: ../../include/enotify.php:126
-#, php-format
-msgid "%1$s [url=%2$s]tagged you[/url]."
-msgstr "%1$s [url=%2$s]markis vin[/url]."
-
-#: ../../include/enotify.php:137
-#, php-format
-msgid "[Friendica:Notify] %s tagged your post"
-msgstr "[Friendica:Atentigo] %s markis vian afiŝon"
-
-#: ../../include/enotify.php:138
-#, php-format
-msgid "%1$s tagged your post at %2$s"
-msgstr "%1$s markis vian afiŝon ĉe %2$s"
-
-#: ../../include/enotify.php:139
-#, php-format
-msgid "%1$s tagged [url=%2$s]your post[/url]"
-msgstr "%1$s markis [url=%2$s]vian afiŝon[/url]"
-
-#: ../../include/enotify.php:150
-msgid "[Friendica:Notify] Introduction received"
-msgstr "[Friendica:Atentigo] Ricevis prezenton"
-
-#: ../../include/enotify.php:151
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
-msgstr "Vi ricevis prezenton de '%1$s' ĉe %2$s"
-
-#: ../../include/enotify.php:152
-#, php-format
-msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
-msgstr "Vi ricevis [url=%1$s]prezenton[/url] de %2$s."
-
-#: ../../include/enotify.php:155 ../../include/enotify.php:173
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Vi povas vidi la profilon de li aŭ ŝi ĉe %s"
-
-#: ../../include/enotify.php:157
-#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr "Bonvolu viziti %s por aprobi aŭ malaprobi la prezenton."
-
-#: ../../include/enotify.php:164
-msgid "[Friendica:Notify] Friend suggestion received"
-msgstr "[Friendica:Atentigo] Ricevis amikosugeston"
-
-#: ../../include/enotify.php:165
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
-msgstr "Vi ricevis amikosugeston de '%1$s' ĉe %2$s"
-
-#: ../../include/enotify.php:166
-#, php-format
-msgid ""
-"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
-msgstr "Vi ricevis [url=%1$s]amikosugeston[/url] pri %2$s de %3$s."
-
-#: ../../include/enotify.php:171
-msgid "Name:"
-msgstr "Nomo:"
-
-#: ../../include/enotify.php:172
-msgid "Photo:"
-msgstr "Bildo:"
-
-#: ../../include/enotify.php:175
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bonvolu viziti %s por aprobi aŭ malaprobi la sugeston."
-
-#: ../../include/follow.php:32
-msgid "Connect URL missing."
-msgstr "Ne ekzistas URL adreso por konekti."
-
-#: ../../include/follow.php:59
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr "Tiu retpaĝo ne permesas komunikadon kun aliaj retoj."
-
-#: ../../include/follow.php:60 ../../include/follow.php:80
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Ne malkovris kongruajn protokolojn por komunikado aŭ fluojn."
-
-#: ../../include/follow.php:78
-msgid "The profile address specified does not provide adequate information."
-msgstr "La specifita profiladreso ne enhavas sufiĉe da informoj."
-
-#: ../../include/follow.php:82
-msgid "An author or name was not found."
-msgstr "Ne trovis aŭtoron aŭ nomon."
-
-#: ../../include/follow.php:84
-msgid "No browser URL could be matched to this address."
-msgstr "Neniu retuma URL adreso kongruas al la adreso."
-
-#: ../../include/follow.php:86
-msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
-msgstr "Ne eblas kongrui @-stilan identecon adreson al iu konata protokolo au retpoŝtadreso."
-
-#: ../../include/follow.php:87
-msgid "Use mailto: in front of address to force email check."
-msgstr "Uzu mailto: antaŭ la adreso por devigi la testadon per retpoŝto."
-
-#: ../../include/follow.php:93
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr "Tiu profila adreso apartenas al retejo kiu estas maŝaltita je ĉi tiu retejo."
-
-#: ../../include/follow.php:103
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr "Profilo limigata. Ĉi persono ne eblos ricevi rektajn/personajn atentigojn de vi. "
-
-#: ../../include/follow.php:205
-msgid "Unable to retrieve contact information."
-msgstr "Ne eblas ricevi kontaktinformojn."
-
-#: ../../include/follow.php:259
-msgid "following"
-msgstr "sekvanta"
-
-#: ../../include/items.php:2888
-msgid "A new person is sharing with you at "
-msgstr "Nova persono kunhavigas kun vi ĉe "
-
-#: ../../include/items.php:2888
-msgid "You have a new follower at "
-msgstr "Vi havas novan sekvanton ĉe "
-
-#: ../../include/items.php:3520
-msgid "Archives"
-msgstr "Arkivoj"
-
-#: ../../include/user.php:38
-msgid "An invitation is required."
-msgstr "Invio bezonata."
-
-#: ../../include/user.php:43
-msgid "Invitation could not be verified."
-msgstr "Ne povis kontroli la inviton."
-
-#: ../../include/user.php:51
-msgid "Invalid OpenID url"
-msgstr "Nevalida OpenID adreso"
-
-#: ../../include/user.php:66
-msgid "Please enter the required information."
-msgstr "Bonvolu entajpi la bezonatajn informojn."
-
-#: ../../include/user.php:80
-msgid "Please use a shorter name."
-msgstr "Bonvolu uzi pli mallongan nomon."
-
-#: ../../include/user.php:82
-msgid "Name too short."
-msgstr "Nomo estas tro mallonga."
-
-#: ../../include/user.php:97
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Tio ŝajne ne estas via plena (persona, familia) nomo."
-
-#: ../../include/user.php:102
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Via retpoŝtodomajno ne estas permesita ĉi tie."
-
-#: ../../include/user.php:105
-msgid "Not a valid email address."
-msgstr "Nevalida retpoŝtadreso."
-
-#: ../../include/user.php:115
-msgid "Cannot use that email."
-msgstr "Neuzebla retpoŝtadreso."
-
-#: ../../include/user.php:121
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr "Via kaŝnomo nur povas enhavi \"a-z\", \"0-9\", \"-\", kaj \"_\". Ĝi ankaŭ devas komenci kun litero."
-
-#: ../../include/user.php:127 ../../include/user.php:225
-msgid "Nickname is already registered. Please choose another."
-msgstr "Tio kaŝnomo jam estas registrita. Bonvolu elekti alian."
-
-#: ../../include/user.php:137
-msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr "Tiu kaŝnomo iam estis registrita ĉi tie kaj ne ree uzeblas. Bonvolu elekti alian."
-
-#: ../../include/user.php:153
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "GRAVA ERARO: La generacio de sekurecaj ĉifroŝlosiloj malsukcesis."
-
-#: ../../include/user.php:211
-msgid "An error occurred during registration. Please try again."
-msgstr "Eraro okazis dum registrado. Bonvolu provi denove."
-
-#: ../../include/user.php:246
-msgid "An error occurred creating your default profile. Please try again."
-msgstr "Eraro okazi dum kreado de via defaŭlta profilo. Bonvolu provi denove."
-
-#: ../../include/security.php:21
-msgid "Welcome "
-msgstr "Bonvenon "
-
-#: ../../include/security.php:22
-msgid "Please upload a profile photo."
-msgstr "Bonvolu alŝuti profilbildon."
-
-#: ../../include/security.php:25
-msgid "Welcome back "
-msgstr "Bonvenon "
-
-#: ../../include/security.php:329
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "La sekuriga ĵetono de la formo estis malĝusta. Tio verŝajne okazis ĉar la formo estis malfermita dum tro longa tempo (>3 horoj) antaŭ la sendado."
-
-#: ../../include/Contact.php:111
-msgid "stopped following"
-msgstr "ne plu sekvas"
-
-#: ../../include/Contact.php:218 ../../include/conversation.php:842
-msgid "View Status"
-msgstr "Vidi Staton"
-
-#: ../../include/Contact.php:219 ../../include/conversation.php:843
-msgid "View Profile"
-msgstr "Vidi Profilon"
-
-#: ../../include/Contact.php:220 ../../include/conversation.php:844
-msgid "View Photos"
-msgstr "Vidi Bildojn"
-
-#: ../../include/Contact.php:221 ../../include/Contact.php:234
-#: ../../include/conversation.php:845
-msgid "Network Posts"
-msgstr "Enretaj Afiŝoj"
-
-#: ../../include/Contact.php:222 ../../include/Contact.php:234
-#: ../../include/conversation.php:846
-msgid "Edit Contact"
-msgstr "Redakti Kontakton"
-
-#: ../../include/Contact.php:223 ../../include/Contact.php:234
-#: ../../include/conversation.php:847
-msgid "Send PM"
-msgstr "Sendi PM"
-
-#: ../../include/conversation.php:163
-msgid "post/item"
-msgstr "afiŝo/elemento"
-
-#: ../../include/conversation.php:164
-#, php-format
-msgid "%1$s marked %2$s's %3$s as favorite"
-msgstr "%1$s markis la %3$s de %2$s kiel preferita."
-
-#: ../../include/conversation.php:327 ../../include/conversation.php:608
-msgid "Select"
-msgstr "Elekti"
-
-#: ../../include/conversation.php:344 ../../include/conversation.php:701
-#: ../../include/conversation.php:702
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vidi la profilon de %s ĉe %s"
-
-#: ../../include/conversation.php:354 ../../include/conversation.php:713
-#, php-format
-msgid "%s from %s"
-msgstr "%s de %s"
-
-#: ../../include/conversation.php:369
-msgid "View in context"
-msgstr "Vidi kun kunteksto"
-
-#: ../../include/conversation.php:475
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d komento"
-msgstr[1] "%d komentoj"
-
-#: ../../include/conversation.php:554
-msgid "like"
-msgstr "ŝati"
-
-#: ../../include/conversation.php:555
-msgid "dislike"
-msgstr "malŝati"
-
-#: ../../include/conversation.php:557
-msgid "Share this"
-msgstr "Kunhavigi ĉi tiun"
-
-#: ../../include/conversation.php:557
-msgid "share"
-msgstr "kunhavigi"
-
-#: ../../include/conversation.php:581
-msgid "Bold"
-msgstr "Grasa"
-
-#: ../../include/conversation.php:582
-msgid "Italic"
-msgstr "Kursiva"
-
-#: ../../include/conversation.php:583
-msgid "Underline"
-msgstr "Substreki"
-
-#: ../../include/conversation.php:584
-msgid "Quote"
-msgstr "Citaĵo"
-
-#: ../../include/conversation.php:585
-msgid "Code"
-msgstr "Kodo"
-
-#: ../../include/conversation.php:586
-msgid "Image"
-msgstr "Bildo"
-
-#: ../../include/conversation.php:587
-msgid "Link"
-msgstr "Ligilo"
-
-#: ../../include/conversation.php:588
-msgid "Video"
-msgstr "Video"
-
-#: ../../include/conversation.php:621
-msgid "add star"
-msgstr "aldoni stelon"
-
-#: ../../include/conversation.php:622
-msgid "remove star"
-msgstr "forpreni stelon"
-
-#: ../../include/conversation.php:623
-msgid "toggle star status"
-msgstr "ŝalti/malŝalti steloŝtato"
-
-#: ../../include/conversation.php:626
-msgid "starred"
-msgstr "steligita"
-
-#: ../../include/conversation.php:627
-msgid "add tag"
-msgstr "aldoni markon"
-
-#: ../../include/conversation.php:631
-msgid "save to folder"
-msgstr "konservi en dosierujo"
-
-#: ../../include/conversation.php:703
-msgid "to"
-msgstr "al"
-
-#: ../../include/conversation.php:704
-msgid "Wall-to-Wall"
-msgstr "Muro-al-Muro"
-
-#: ../../include/conversation.php:705
-msgid "via Wall-To-Wall:"
-msgstr "per Muro-al-Muro:"
-
-#: ../../include/conversation.php:750
-msgid "Delete Selected Items"
-msgstr "Forviŝi Elektitajn Elementojn"
-
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s likes this."
-msgstr "%s ŝatas tiun."
-
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s malŝatas tiun."
-
-#: ../../include/conversation.php:909
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "<span %1$s>%2$d homoj</span> ŝatas tiun."
-
-#: ../../include/conversation.php:911
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "<span %1$s>%2$d homoj</span>malŝatas tiun."
-
-#: ../../include/conversation.php:917
-msgid "and"
-msgstr "kaj"
-
-#: ../../include/conversation.php:920
-#, php-format
-msgid ", and %d other people"
-msgstr ", kaj %d aliaj homoj."
-
-#: ../../include/conversation.php:921
-#, php-format
-msgid "%s like this."
-msgstr "%s ŝatas tiun."
-
-#: ../../include/conversation.php:921
-#, php-format
-msgid "%s don't like this."
-msgstr "%s malŝatas tiun."
-
-#: ../../include/conversation.php:946
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Videbla al <strong>ĉiuj</strong>"
-
-#: ../../include/conversation.php:948
-msgid "Please enter a video link/URL:"
-msgstr "Bonvolu entajpi ligilon/adreson de video:"
-
-#: ../../include/conversation.php:949
-msgid "Please enter an audio link/URL:"
-msgstr "Bonvolu entajpi ligilon/adreson de sono:"
-
-#: ../../include/conversation.php:950
-msgid "Tag term:"
-msgstr "Markfrazo:"
-
-#: ../../include/conversation.php:952
-msgid "Where are you right now?"
-msgstr "Kie vi estas nun?"
-
-#: ../../include/conversation.php:995
-msgid "upload photo"
-msgstr "alŝuti bildon"
-
-#: ../../include/conversation.php:997
-msgid "attach file"
-msgstr "kunsendi dosieron"
-
-#: ../../include/conversation.php:999
-msgid "web link"
-msgstr "TTT ligilo"
-
-#: ../../include/conversation.php:1000
-msgid "Insert video link"
-msgstr "Alglui ligilon de video"
-
-#: ../../include/conversation.php:1001
-msgid "video link"
-msgstr "video ligilo"
-
-#: ../../include/conversation.php:1002
-msgid "Insert audio link"
-msgstr "Alglui ligilon de sono"
-
-#: ../../include/conversation.php:1003
-msgid "audio link"
-msgstr "sono ligilo"
-
-#: ../../include/conversation.php:1005
-msgid "set location"
-msgstr "agordi lokon"
-
-#: ../../include/conversation.php:1007
-msgid "clear location"
-msgstr "forviŝi lokon"
-
-#: ../../include/conversation.php:1014
-msgid "permissions"
-msgstr "permesoj"
-
-#: ../../include/plugin.php:388 ../../include/plugin.php:390
-msgid "Click here to upgrade."
-msgstr "Klaku ĉi tie por ĝisdatigi."
-
-#: ../../include/plugin.php:396
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Tia ago preterpasas la limojn de via abono."
-
-#: ../../include/plugin.php:401
-msgid "This action is not available under your subscription plan."
-msgstr "Tia ago ne estas permesita laŭ via abono."
-
-#: ../../boot.php:527
-msgid "Delete this item?"
-msgstr "Forviŝi ĉi tiun elementon?"
-
-#: ../../boot.php:530
-msgid "show fewer"
-msgstr "montri malpli"
-
-#: ../../boot.php:725
-#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "Malsukcesis ĝisdatigi %s. Vidu la protokolojn."
-
-#: ../../boot.php:727
-#, php-format
-msgid "Update Error at %s"
-msgstr "Eraro dum ĝisdatigo ĉe %s"
-
-#: ../../boot.php:827
-msgid "Create a New Account"
-msgstr "Krei Novan Konton"
-
-#: ../../boot.php:851
-msgid "Nickname or Email address: "
-msgstr "Kaŝnomo aŭ retpoŝtadreso:"
-
-#: ../../boot.php:852
-msgid "Password: "
-msgstr "Pasvorto:"
-
-#: ../../boot.php:855
-msgid "Or login using OpenID: "
-msgstr "Aŭ ensaluti per OpenID:"
-
-#: ../../boot.php:861
-msgid "Forgot your password?"
-msgstr "Ĉu vi vorgesis vian pasvorton?"
-
-#: ../../boot.php:1028
-msgid "Edit profile"
-msgstr "Redakti profilon"
-
-#: ../../boot.php:1088
-msgid "Message"
-msgstr "Mesaĝo"
-
-#: ../../boot.php:1204 ../../boot.php:1283
-msgid "g A l F d"
-msgstr "\\j\\e \\l\\a G\\a \\h\\o\\r\\o, l F d"
-
-#: ../../boot.php:1205 ../../boot.php:1284
-msgid "F d"
-msgstr "F d"
-
-#: ../../boot.php:1250 ../../boot.php:1324
-msgid "[today]"
-msgstr "[hodiaŭ]"
-
-#: ../../boot.php:1262
-msgid "Birthday Reminders"
-msgstr "Memorigilo pri naskiĝtagoj"
-
-#: ../../boot.php:1263
-msgid "Birthdays this week:"
-msgstr "Naskiĝtagoj ĉi-semajne:"
-
-#: ../../boot.php:1317
-msgid "[No description]"
-msgstr "[Neniu priskribo]"
-
-#: ../../boot.php:1335
-msgid "Event Reminders"
-msgstr "Memorigilo pri Okazoj"
-
-#: ../../boot.php:1336
-msgid "Events this week:"
-msgstr "Okazoj ĉi-semajne:"
-
-#: ../../boot.php:1541
-msgid "Status Messages and Posts"
-msgstr "Ŝtatmesaĝoj kaj Afiŝoj"
-
-#: ../../boot.php:1547
-msgid "Profile Details"
-msgstr "Profildetaloj"
-
-#: ../../boot.php:1562
-msgid "Events and Calendar"
-msgstr "Okazoj kaj Kalendaro"
-
-#: ../../boot.php:1568
-msgid "Only You Can See This"
-msgstr "Nur Vi Povas Vidi Tiun"
diff --git a/view/eo/passchanged_eml.tpl b/view/eo/passchanged_eml.tpl
deleted file mode 100644
index 0d94be3c2..000000000
--- a/view/eo/passchanged_eml.tpl
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Dear {{$username}},
- Your password has been changed as requested. Please retain this
-information for your records (or change your password immediately to
-something that you will remember).
-
-
-Your login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-Password: {{$new_password}}
-
-You may change that password from your account settings page after logging in.
-
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/eo/register_open_eml.tpl b/view/eo/register_open_eml.tpl
deleted file mode 100644
index 4b397201c..000000000
--- a/view/eo/register_open_eml.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-
-An account has been created at {{$sitename}} for this email address.
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login: {{$email}}
-Password: (the password which was provided during registration)
-
-If this account was created without your knowledge and is not desired, you may
-visit this site and reset the password. This will allow you to remove the
-account from the links on the Settings page, and we
-apologise for any inconvenience.
-
-Thank you and welcome to {{$sitename}}.
-
-Sincerely,
- {{$sitename}} Administrator
-
-
diff --git a/view/eo/register_verify_eml.tpl b/view/eo/register_verify_eml.tpl
deleted file mode 100644
index 85d9a12d3..000000000
--- a/view/eo/register_verify_eml.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-
-A new user registration request was received at {{$sitename}} which requires
-your approval.
-
-
-The login details are as follows:
-
-Site Location: {{$siteurl}}
-Login Name: {{$email}}
-IP Address: {{$details}}
-
-To approve this request please visit the following link:
-
-
-{{$siteurl}}/regmod/allow/{{$hash}}
-
-
-To deny the request and remove the account, please visit:
-
-
-{{$siteurl}}/regmod/deny/{{$hash}}
-
-
-Thank you.
-
diff --git a/view/eo/strings.php b/view/eo/strings.php
deleted file mode 100644
index 1fdefde46..000000000
--- a/view/eo/strings.php
+++ /dev/null
@@ -1,1771 +0,0 @@
-<?php
-
-if(! function_exists("string_plural_select_eo")) {
-function string_plural_select_eo($n){
- return ($n != 1);
-}}
-;
-App::$strings["Post successful."] = "Sukcese afiŝita.";
-App::$strings["[Embedded content - reload page to view]"] = "[Enigita enhavo - reŝargu paĝon por spekti ĝin]";
-App::$strings["Contact settings applied."] = "Kontaktagordoj estas konservita.";
-App::$strings["Contact update failed."] = "Ĝisdatigo de kontakto malsukcesis.";
-App::$strings["Permission denied."] = "Malpermesita.";
-App::$strings["Contact not found."] = "Kontakto ne trovita.";
-App::$strings["Repair Contact Settings"] = "Ripari kontaktagordoj.";
-App::$strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>AVERTO: Tio estas tre altnivela</strong> kaj se vi entajpus malĝustan informojn, komunikado kun la kontakto eble ne plu funkcios.";
-App::$strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bonvolu klaki 'malantaŭen' en via retesplorilo <strong>nun</strong> se vi ne scias kion faru ĉi tie.";
-App::$strings["Return to contact editor"] = "Reen al kontakta redaktilo";
-App::$strings["Name"] = "Nomo";
-App::$strings["Account Nickname"] = "Kaŝnomo de la konto";
-App::$strings["@Tagname - overrides Name/Nickname"] = "@Marknomo - Transpasas nomon/kaŝnomon";
-App::$strings["Account URL"] = "Adreso de la konto";
-App::$strings["Friend Request URL"] = "Kontaktpeta adreso";
-App::$strings["Friend Confirm URL"] = "Kontaktkonfirma adreso";
-App::$strings["Notification Endpoint URL"] = "Finpunkta adreso por atentigoj";
-App::$strings["Poll/Feed URL"] = "Adreso de fluo";
-App::$strings["New photo from this URL"] = "Nova bildo el tiu adreso";
-App::$strings["Submit"] = "Sendi";
-App::$strings["Help:"] = "Helpo:";
-App::$strings["Help"] = "Helpo";
-App::$strings["Not Found"] = "Ne trovita";
-App::$strings["Page not found."] = "Paĝo ne trovita";
-App::$strings["File exceeds size limit of %d"] = "Dosiero estas pli granda ol la limito de %d";
-App::$strings["File upload failed."] = "Alŝutado malsukcesis.";
-App::$strings["Friend suggestion sent."] = "Amikosugesto sendita.";
-App::$strings["Suggest Friends"] = "Sugesti amikojn";
-App::$strings["Suggest a friend for %s"] = "Sugesti amikon por %s";
-App::$strings["Event title and start time are required."] = "Titolo kaj starttempo estas bezonataj por la okazo.";
-App::$strings["l, F j"] = "l, F j";
-App::$strings["Edit event"] = "Redakti okazon";
-App::$strings["link to source"] = "ligilo al fonto";
-App::$strings["Events"] = "Okazoj";
-App::$strings["Create New Event"] = "Krei novan okazon";
-App::$strings["Previous"] = "antaŭa";
-App::$strings["Next"] = "sekva";
-App::$strings["hour:minute"] = "horo:minuto";
-App::$strings["Event details"] = "Detaloj de okazo";
-App::$strings["Format is %s %s. Starting date and Title are required."] = "Format is %s %s. Titolo kaj starttempo estas bezonataj.";
-App::$strings["Event Starts:"] = "Okazo startas:";
-App::$strings["Required"] = "Bezonata";
-App::$strings["Finish date/time is not known or not relevant"] = "Fina dato/tempo ne estas konata aŭ ne bezonata";
-App::$strings["Event Finishes:"] = "Okazo finas:";
-App::$strings["Adjust for viewer timezone"] = "Agordi al horzono de la leganto";
-App::$strings["Description:"] = "Priskribo";
-App::$strings["Location:"] = "Loko:";
-App::$strings["Title:"] = "Titolo:";
-App::$strings["Share this event"] = "Kunhavigi la okazon";
-App::$strings["Cancel"] = "Nuligi";
-App::$strings["Tag removed"] = "Marko forviŝita";
-App::$strings["Remove Item Tag"] = "Forviŝi markon";
-App::$strings["Select a tag to remove: "] = "Elektu forviŝontan markon:";
-App::$strings["Remove"] = "Forviŝi";
-App::$strings["%s welcomes %s"] = "%s salutas %s";
-App::$strings["Authorize application connection"] = "Rajtigi programkonekton";
-App::$strings["Return to your app and insert this Securty Code:"] = "Reiru al via programo kaj entajpu la securecan kodon:";
-App::$strings["Please login to continue."] = "Bonvolu ensaluti por pluigi.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Ĉu rajtigi ĉi tiun programon por atingi viajn afiŝojn kaj kontaktojn kaj/aŭ krei novajn afiŝojn?";
-App::$strings["Yes"] = "Jes";
-App::$strings["No"] = "Ne";
-App::$strings["Photo Albums"] = "Bildalbumoj";
-App::$strings["Contact Photos"] = "Kontaktbildoj";
-App::$strings["Upload New Photos"] = "Alŝuti novajn bildojn";
-App::$strings["everybody"] = "ĉiuj";
-App::$strings["Contact information unavailable"] = "Kontaktoj informoj ne disponeblas";
-App::$strings["Profile Photos"] = "Profilbildoj";
-App::$strings["Album not found."] = "Albumo ne trovita.";
-App::$strings["Delete Album"] = "Forviŝi albumon";
-App::$strings["Delete Photo"] = "Forviŝi bildon";
-App::$strings["was tagged in a"] = "estas markita en";
-App::$strings["photo"] = "bildo";
-App::$strings["by"] = "de";
-App::$strings["Image exceeds size limit of "] = "Bildo estas pli granda ol la limito de";
-App::$strings["Image file is empty."] = "Bilddosiero estas malplena.";
-App::$strings["Unable to process image."] = "Ne eblas procedi la bildon.";
-App::$strings["Image upload failed."] = "Alŝuto de bildo malsukcesis.";
-App::$strings["Public access denied."] = "Publika atingo ne permesita.";
-App::$strings["No photos selected"] = "Neniu bildoj elektita";
-App::$strings["Access to this item is restricted."] = "Atingo al tio elemento estas limigita.";
-App::$strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Vi uzas %1$.2f MB de %2$.2f MB bildkonservejo.";
-App::$strings["You have used %1$.2f Mbytes of photo storage."] = "Vi uzas %1$.2f MB de bildkonservejo.";
-App::$strings["Upload Photos"] = "Alŝuti bildojn";
-App::$strings["New album name: "] = "Nomo por nova albumo:";
-App::$strings["or existing album name: "] = "aŭ nomo de estanta albumo:";
-App::$strings["Do not show a status post for this upload"] = "Ne kreu statan afiŝon por tio alŝuto.";
-App::$strings["Permissions"] = "Permesoj";
-App::$strings["Edit Album"] = "Redakti albumon";
-App::$strings["View Photo"] = "Vidi bildon";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Malpermesita. Atingo al tio elemento eble estas limigita.";
-App::$strings["Photo not available"] = "La bildo ne disponeblas";
-App::$strings["View photo"] = "Vidi bildon";
-App::$strings["Edit photo"] = "Redakti bildon";
-App::$strings["Use as profile photo"] = "Uzi kiel profilbildo";
-App::$strings["Private Message"] = "Privata mesaĝo";
-App::$strings["View Full Size"] = "Vidi plengrande ";
-App::$strings["Tags: "] = "Markoj:";
-App::$strings["[Remove any tag]"] = "[Forviŝi iun markon]";
-App::$strings["Rotate CW (right)"] = "Turni horloĝdirekte (dekstren)";
-App::$strings["Rotate CCW (left)"] = "Turni kontraŭhorloĝdirekte (maldekstren)";
-App::$strings["New album name"] = "Nova nomo de albumo";
-App::$strings["Caption"] = "Apudskribo";
-App::$strings["Add a Tag"] = "Aldoni markon";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Ekzemple: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-App::$strings["I like this (toggle)"] = "Mi ŝatas tion (ŝalti)";
-App::$strings["I don't like this (toggle)"] = "Mi malŝatas tion(ŝalti)";
-App::$strings["Share"] = "Kunhavigi";
-App::$strings["Please wait"] = "Bonvolu atendi";
-App::$strings["This is you"] = "Tiu estas vi";
-App::$strings["Comment"] = "Komenti";
-App::$strings["Preview"] = "Antaŭrigardi";
-App::$strings["Delete"] = "Forviŝi";
-App::$strings["View Album"] = "Vidi albumon";
-App::$strings["Recent Photos"] = "̂Ĵusaj bildoj";
-App::$strings["Not available."] = "Ne disponebla.";
-App::$strings["Community"] = "Komunumo";
-App::$strings["No results."] = "Nenion trovita.";
-App::$strings["This is Friendica, version"] = "Tio estas Friendica en la versio";
-App::$strings["running at web location"] = "instalita ĉe la adreso";
-App::$strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "Bonvolu iri al <a href=\"http://friendica.com\">Friendica.com</a> por lerni pli pri la projekto Friendica";
-App::$strings["Bug reports and issues: please visit"] = "Cimraportoj kaj atendindaĵo: bonvolu iri al";
-App::$strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "Sugestoj, laŭdoj, donacoj ktp - bonvolu sendi mesĝon al \"Info\" ĉe Friendica - punkto com";
-App::$strings["Installed plugins/addons/apps:"] = "Instalitaj kromprogramoj/programoj:";
-App::$strings["No installed plugins/addons/apps"] = "Neniom da instalitaj aldonaĵoj/programoj";
-App::$strings["Item not found"] = "Elemento ne trovita";
-App::$strings["Edit post"] = "Redakti afiŝon";
-App::$strings["Post to Email"] = "Sendi per retpoŝto";
-App::$strings["Edit"] = "Redakti";
-App::$strings["Upload photo"] = "Alŝuti bildon";
-App::$strings["Attach file"] = "Kunligi dosieron";
-App::$strings["Insert web link"] = "Enmeti retan adreson";
-App::$strings["Insert YouTube video"] = "Enmeti videton ĉe YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Enmeti videton en formato Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Enmeti sonon en formato Vorbis [.ogg]";
-App::$strings["Set your location"] = "Agordi vian lokon";
-App::$strings["Clear browser location"] = "Forviŝu retesplorilan lokon";
-App::$strings["Permission settings"] = "Permesagordoj";
-App::$strings["CC: email addresses"] = "CC: retpoŝtadresojn";
-App::$strings["Public post"] = "Publika afiŝo";
-App::$strings["Set title"] = "Redakti titolon";
-App::$strings["Categories (comma-separated list)"] = "Kategorioj (disigita per komo)";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Ekzemple: bob@example.com, mary@example.com";
-App::$strings["This introduction has already been accepted."] = "Tia prezento jam estas akceptita";
-App::$strings["Profile location is not valid or does not contain profile information."] = "La adreso de la profilo ne validas aŭ ne enhavas profilinformojn.";
-App::$strings["Warning: profile location has no identifiable owner name."] = "Averto: La adreso de la profilo ne enhavas identeblan personan nomon.";
-App::$strings["Warning: profile location has no profile photo."] = "Averto: La adreso de la profilo ne enhavas bildon.";
-App::$strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d bezonataj parametroj ne trovita ĉe la donata adreso.",
- 1 => "%d bezonataj parametroj ne trovita ĉe la donata adreso.",
-);
-App::$strings["Introduction complete."] = "Prezento sukcesis.";
-App::$strings["Unrecoverable protocol error."] = "Neĝustigebla eraro en protokolo.";
-App::$strings["Profile unavailable."] = "Profilo ne estas disponebla.";
-App::$strings["%s has received too many connection requests today."] = "%s hodiaŭ ricevis tro multe da konektpetoj.";
-App::$strings["Spam protection measures have been invoked."] = "Kontraŭspamilo estas aktivita.";
-App::$strings["Friends are advised to please try again in 24 hours."] = "Amikoj, vi bonvolu ripeti post 24 horoj.";
-App::$strings["Invalid locator"] = "Nevalida adreso.";
-App::$strings["Invalid email address."] = "Nevalida repoŝtadreso.";
-App::$strings["This account has not been configured for email. Request failed."] = "La konto ne estas agordita por retpoŝto. La peto malsukcesis.";
-App::$strings["Unable to resolve your name at the provided location."] = "Via nomo ne troveblas al la donita adreso.";
-App::$strings["You have already introduced yourself here."] = "Vi vin jam prezentis tie.";
-App::$strings["Apparently you are already friends with %s."] = "Ŝajnas kvazaŭ vi jam amikiĝis kun %s.";
-App::$strings["Invalid profile URL."] = "Nevalida adreso de profilo.";
-App::$strings["Disallowed profile URL."] = "Malpermesita adreso de profilo.";
-App::$strings["Failed to update contact record."] = "Ĝisdatigo de via kontaktrikordo malsukcesis.";
-App::$strings["Your introduction has been sent."] = "Via prezento estas sendita.";
-App::$strings["Please login to confirm introduction."] = "Bonvolu ensaluti por jesigi la prezenton.";
-App::$strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Malĝusta identaĵo ensalutata. Bonvolu ensaluti en <strong>tiun</strong> profilon.";
-App::$strings["Hide this contact"] = "Kaŝi tiun kontakton";
-App::$strings["Welcome home %s."] = "Bonvenon hejme, %s.";
-App::$strings["Please confirm your introduction/connection request to %s."] = "Bonvolu konfirmi vian prezenton / kontaktpeton al %s.";
-App::$strings["Confirm"] = "Konfirmi.";
-App::$strings["[Name Withheld]"] = "[Kaŝita nomo]";
-App::$strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Bonvolu entajpi vian 'Identecan Adreson' de iu de tiuj subtenataj komunikaj retejoj: ";
-App::$strings["<strike>Connect as an email follower</strike> (Coming soon)"] = "<strike>Konektu kiel retpoŝta sekvanto</strike> (Baldaŭ venos)";
-App::$strings["If you are not yet a member of the free social web, <a href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "Se vi ne estas membro de la libra interkona reto, <a href=\"http://dir.friendica.com/siteinfo\">sekvu ĉi-ligilon por trovi publikan Friendica retejon kaj aliĝi kun ni hodiaŭ</a>.";
-App::$strings["Friend/Connection Request"] = "Prezento / Konektpeto";
-App::$strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Ekzemploj: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca";
-App::$strings["Please answer the following:"] = "Bonvolu respondi:";
-App::$strings["Does %s know you?"] = "Ĉu %s konas vin?";
-App::$strings["Add a personal note:"] = "Aldoni personan noton:";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["StatusNet/Federated Social Web"] = "StatusNet/Federaciaj interkonaj retejoj";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = " - bonvolu ne uzi ĉi formo. Anstataŭe, entajpu %s en la Diaspora serĉilo.";
-App::$strings["Your Identity Address:"] = "Via identeca adreso:";
-App::$strings["Submit Request"] = "Sendi peton";
-App::$strings["Friendica Social Communications Server - Setup"] = "Friendica Interkona Komunikada Servilo - Instalo";
-App::$strings["Could not connect to database."] = "Ne eblas konekti la datumbazon.";
-App::$strings["Could not create table."] = "Ne eblas krei tabelon.";
-App::$strings["Your Friendica site database has been installed."] = "La datumbazo de vi Friendica retjo estas instalita.";
-App::$strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Vi bezonas mane importi la dosieron \"database.sql\" per phpmyadmin aŭ mysql.";
-App::$strings["Please see the file \"INSTALL.txt\"."] = "Bonvolu legi la dosieron \"INSTALL.txt\".";
-App::$strings["System check"] = "Sistema kontrolo";
-App::$strings["Check again"] = "Ree kontroli";
-App::$strings["Database connection"] = "Datumbaza konekto";
-App::$strings["In order to install Friendica we need to know how to connect to your database."] = "Por instali Friendica, ni bezonas scii kiel konekti al via datumbazo.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bonvolu kontakti vian servilprovizanton aŭ administranton se vi havas demandoj pri ĉi tiaj agordoj.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La datumbazo nomata malsupren jam ekzistu. Se ĝi ne ekzistas, bonvolu unue krei ĝin antaŭ progresi.";
-App::$strings["Database Server Name"] = "Nomo de datumbaza servilo.";
-App::$strings["Database Login Name"] = "Salutnomo ĉe la datumbazo.";
-App::$strings["Database Login Password"] = "Pasvorto ĉe la datumbazo.";
-App::$strings["Database Name"] = "Nomo de la datumbazo.";
-App::$strings["Site administrator email address"] = "Retpoŝtadreso de la reteja administranto";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "La repoŝtadreso de via konto bezonas esti la sama por uzi la TTTa administrilo.";
-App::$strings["Please select a default timezone for your website"] = "Bonvolu elekti defaŭltan horzonon por via retejo.";
-App::$strings["Site settings"] = "Retejaj agordoj";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Komanda linia versio de PHP ne trovita en $PATH de la retservilo.";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "Se vi ne havas komandlinian version de PHP sur la servilo, vi ne eblas plenumi fonan planitan enketon per cron. Bonvolu legi <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>";
-App::$strings["PHP executable path"] = "Vojo de la komanda linia versio de PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entajpu la plenan vojon al la php komandodosiero. Vi eblas lasi tion malplena por pluigi la instalado.";
-App::$strings["Command line PHP"] = "komanda linia versio de PHP";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "En via komanda linia versio de PHP je via sistemo, \"register_argc_argv\" ne estas aktivita.";
-App::$strings["This is required for message delivery to work."] = "Tio estas bezonata por la livero de mesaĝoj.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Eraro: La funkcio \"openssl_pkey_new\" je tia sistemo ne eblas generi ĉifroŝlosilojn.";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se la operaciumo sistemo estas Windows, bonvolu legi: http://www.php.net/manual/en/openssl.installation.php";
-App::$strings["Generate encryption keys"] = "Generi ĉifroŝlosilojn";
-App::$strings["libCurl PHP module"] = "PHP modulo libCurl";
-App::$strings["GD graphics PHP module"] = "PHP modulo GD";
-App::$strings["OpenSSL PHP module"] = "PHP modulo OpenSSL";
-App::$strings["mysqli PHP module"] = "PHP modulo mysqli";
-App::$strings["mb_string PHP module"] = "PHP modulo mb_string";
-App::$strings["Apache mod_rewrite module"] = "Apache mod_rewrite modulo";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Eraro: La modulo mod_rewrite en la Apache retservilo estas bezonata sed ne instalita.";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Eraro: La modulo libCURL en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Eraro: La modulo GD en PHP kun subteno por JPEG estas bezonata sed ne instalita.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Eraro: La modulo OpenSSL en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: mysqli PHP module required but not installed."] = "Eraro: La modulo mysqli en PHP estas bezonata sed ne instalita.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Eraro: La modulo mb_string en PHP estas bezonata sed ne instalita.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "La reta instalilo bezonas skribi dosieron nomata \".htconfig.php\" en la baza dosierujo de la retservilo, sed ne sukcesis.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Tio ĉi plej ofte estas agordo rilate al permesoj, ĉar la servilo eble ne povas skribi en via dosierujo, eĉ se vi mem povas skribi.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "Post la fino de tiu proceduro, ni donos al vi tekston por konservi en dosiero .htconfig.php en via baza Friendica dosierujo.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Vi ankaŭ povas preterpasi tiun proceduron kaj fari permanan instaladon. Bonvolu legi la dosieron \"INSTALL.txt\" por trovi instrukciojn.";
-App::$strings[".htconfig.php is writable"] = ".htconfig.php estas skribebla.";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Url rewrite en .htaccess ne funkcias. Kontrolu la agordojn de la servilo.";
-App::$strings["Url rewrite is working"] = "URL rewrite funkcias.";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Ne povis skribi la datumbaza agordoj en la dosiero \".htconfig.php\". Bonvolu uzi la inkluzivan tekston por krei agordan dosieron en la baza dosierujo de la retservilo.";
-App::$strings["Errors encountered creating database tables."] = "Okazis eraroj dum la kreado de tabeloj en la datumbazo.";
-App::$strings["<h1>What next</h1>"] = "<h1>Kio sekvas nun?</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "GRAVA: Vi bezonas [mane] agordi planitan taskon por la Friendica poller.";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["Time Conversion"] = "Konverto de tempo";
-App::$strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica provizas tiun servon por kunhavigi okazojn kun aliaj retoj kaj amikoj en aliaj horzonoj.";
-App::$strings["UTC time: %s"] = "UTC horo: %s";
-App::$strings["Current timezone: %s"] = "Aktuala horzono: %s";
-App::$strings["Converted localtime: %s"] = "Konvertita loka horo: %s";
-App::$strings["Please select your timezone:"] = "Bonvolu elekti vian horzonon:";
-App::$strings["Profile Match"] = "Kongrua profilo";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Neniom da kategoriaj vortoj kongruas. Bonvolu aldoni kategoriajn vortojn al via defaŭlta profilo.";
-App::$strings["is interested in:"] = "interesiĝas pri:";
-App::$strings["Connect"] = "Konekti";
-App::$strings["No matches"] = "Nenio estas trovita";
-App::$strings["Remote privacy information not available."] = "Informoj pri fora privateca ne estas disponebla.";
-App::$strings["Visible to:"] = "Videbla al:";
-App::$strings["Welcome to %s"] = "Bonvenon ĉe %s";
-App::$strings["Invalid request identifier."] = "Nevalida peta identigilo.";
-App::$strings["Discard"] = "Forviŝi";
-App::$strings["Ignore"] = "Ignori";
-App::$strings["System"] = "Sistemo";
-App::$strings["Network"] = "Reto";
-App::$strings["Personal"] = "Propra";
-App::$strings["Home"] = "Hejmo";
-App::$strings["Introductions"] = "Prezentoj";
-App::$strings["Messages"] = "Mesaĝoj";
-App::$strings["Show Ignored Requests"] = "Montri ignoritajn petojn";
-App::$strings["Hide Ignored Requests"] = "Kaŝi ignoritajn petojn";
-App::$strings["Notification type: "] = "Tipo de atentigo:";
-App::$strings["Friend Suggestion"] = "Amikosugestoj";
-App::$strings["suggested by %s"] = "sugestita de %s";
-App::$strings["Hide this contact from others"] = "Kaŝi ĉi tiun kontakton al aliaj";
-App::$strings["Post a new friend activity"] = "Afiŝi novan amikecan aktivecon";
-App::$strings["if applicable"] = "se aplikebla";
-App::$strings["Approve"] = "Aprobi";
-App::$strings["Claims to be known to you: "] = "Pensas ke vi konas ilin:";
-App::$strings["yes"] = "jes";
-App::$strings["no"] = "ne";
-App::$strings["Approve as: "] = "Aprobi kiel:";
-App::$strings["Friend"] = "Amiko";
-App::$strings["Sharer"] = "Kunhaviganto";
-App::$strings["Fan/Admirer"] = "Fanatikulo/Admiranto";
-App::$strings["Friend/Connect Request"] = "Kontaktpeto";
-App::$strings["New Follower"] = "Nova abonanto";
-App::$strings["No introductions."] = "Neniom da prezentoj";
-App::$strings["Notifications"] = "Atentigoj";
-App::$strings["%s liked %s's post"] = "%s ŝatis la afiŝon de %s";
-App::$strings["%s disliked %s's post"] = "%s malŝatis la afiŝon de %s";
-App::$strings["%s is now friends with %s"] = "%s amikiĝis kun %s";
-App::$strings["%s created a new post"] = "%s kreis novan afiŝon";
-App::$strings["%s commented on %s's post"] = "%s komentis pri la afiŝo de %s";
-App::$strings["No more network notifications."] = "Ne pli da retaj atentigoj.";
-App::$strings["Network Notifications"] = "Retaj Atentigoj";
-App::$strings["No more system notifications."] = "Ne pli da sistemaj atentigoj.";
-App::$strings["System Notifications"] = "Sistemaj Atentigoj";
-App::$strings["No more personal notifications."] = "Ne pli da personaj atentigoj";
-App::$strings["Personal Notifications"] = "Personaj Atentigoj";
-App::$strings["No more home notifications."] = "Ne pli da hejmrilataj atentigoj.";
-App::$strings["Home Notifications"] = "Hejmrilataj atentigoj";
-App::$strings["Could not access contact record."] = "Ne eblis atingi kontaktrikordo.";
-App::$strings["Could not locate selected profile."] = "Ne trovis elektitan profilon.";
-App::$strings["Contact updated."] = "Kontakto estas ĝisdatigita.";
-App::$strings["Contact has been blocked"] = "Kontakto estas blokita.";
-App::$strings["Contact has been unblocked"] = "Kontakto estas malblokita.";
-App::$strings["Contact has been ignored"] = "Kontakto estas ignorita.";
-App::$strings["Contact has been unignored"] = "Kontakto estas malignorita.";
-App::$strings["Contact has been archived"] = "Enarkivigis kontakton";
-App::$strings["Contact has been unarchived"] = "Elarkivigis kontakton";
-App::$strings["Contact has been removed."] = "Kontakto estas forigita.";
-App::$strings["You are mutual friends with %s"] = "Vi estas reciproka amiko de %s";
-App::$strings["You are sharing with %s"] = "Vi kunhavigas kun %s";
-App::$strings["%s is sharing with you"] = "%s kunhavigas kun vi";
-App::$strings["Private communications are not available for this contact."] = "Privataj komunikadoj ne disponeblas por ĉi tiu kontakto.";
-App::$strings["Never"] = "Neniam";
-App::$strings["(Update was successful)"] = "(Ĝisdatigo sukcesis.)";
-App::$strings["(Update was not successful)"] = "(Ĝisdatigo malsukcesis.)";
-App::$strings["Suggest friends"] = "Sugesti amikojn";
-App::$strings["Network type: %s"] = "Reta tipo: %s";
-App::$strings["%d contact in common"] = array(
- 0 => "%d komuna kontakto",
- 1 => "%d komunaj kontaktoj",
-);
-App::$strings["View all contacts"] = "Vidi ĉiujn kontaktojn";
-App::$strings["Unblock"] = "Malbloki";
-App::$strings["Block"] = "Bloki";
-App::$strings["Toggle Blocked status"] = "Ŝalti/malŝalti Blokitan staton";
-App::$strings["Unignore"] = "Malignori";
-App::$strings["Toggle Ignored status"] = "Ŝalti/malŝalti Ignoritan staton";
-App::$strings["Unarchive"] = "Elarkivigi";
-App::$strings["Archive"] = "Enarkivigi";
-App::$strings["Toggle Archive status"] = "Ŝalti/malŝalti Enarkivigitan staton";
-App::$strings["Repair"] = "Ripari";
-App::$strings["Advanced Contact Settings"] = "Specialaj Kontaktagordoj";
-App::$strings["Communications lost with this contact!"] = "Mi perdis la kommunikadon kun tiu kontakto!";
-App::$strings["Contact Editor"] = "Kontakta redaktilo.";
-App::$strings["Profile Visibility"] = "Videbleco de profilo";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bonvolu elekti la profilon kiu vi volas montri al %s aspektinde kiam sekure aspektante vian profilon.";
-App::$strings["Contact Information / Notes"] = "Kontaktaj informoj / Notoj";
-App::$strings["Edit contact notes"] = "Redakti kontaktnotojn";
-App::$strings["Visit %s's profile [%s]"] = "Viziti la profilon de %s [%s]";
-App::$strings["Block/Unblock contact"] = "Bloki/Malbloki kontakton";
-App::$strings["Ignore contact"] = "Ignori kontakton";
-App::$strings["Repair URL settings"] = "Ripari URL agordoj";
-App::$strings["View conversations"] = "Vidi konversaciojn";
-App::$strings["Delete contact"] = "Forviŝi kontakton";
-App::$strings["Last update:"] = "Plej ĵusa ĝisdatigo:";
-App::$strings["Update public posts"] = "Ĝisdatigi publikajn afiŝojn";
-App::$strings["Update now"] = "Ĝisdatigi nun";
-App::$strings["Currently blocked"] = "Nuntempe blokata";
-App::$strings["Currently ignored"] = "Nuntempe ignorata";
-App::$strings["Currently archived"] = "Nuntempe enarkivigita";
-App::$strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Rispondoj/ŝataĵo al viaj publikaj afiŝoj <strong>eble</strong> plu estos videbla";
-App::$strings["Suggestions"] = "Sugestoj";
-App::$strings["Suggest potential friends"] = "Sugesti amikojn";
-App::$strings["All Contacts"] = "Ĉiuj Kontaktoj";
-App::$strings["Show all contacts"] = "Montri ĉiujn kontaktojn";
-App::$strings["Unblocked"] = "Malblokita";
-App::$strings["Only show unblocked contacts"] = "Nur montri neblokitajn kontaktojn";
-App::$strings["Blocked"] = "Blokita";
-App::$strings["Only show blocked contacts"] = "Nur montri blokitajn kontaktojn";
-App::$strings["Ignored"] = "Ignorita";
-App::$strings["Only show ignored contacts"] = "Nur montri ignoritajn kontaktojn";
-App::$strings["Archived"] = "Enarkivigita";
-App::$strings["Only show archived contacts"] = "Nur montri enarkivigitajn kontaktojn";
-App::$strings["Hidden"] = "Kaŝita";
-App::$strings["Only show hidden contacts"] = "Nur montri kaŝitajn kontaktojn";
-App::$strings["Mutual Friendship"] = "Reciproka amikeco";
-App::$strings["is a fan of yours"] = "estas admiranto de vi";
-App::$strings["you are a fan of"] = "vi estas admiranto de";
-App::$strings["Edit contact"] = "Redakti kontakton";
-App::$strings["Contacts"] = "Kontaktoj";
-App::$strings["Search your contacts"] = "Serĉi viajn kontaktojn";
-App::$strings["Finding: "] = "Trovata:";
-App::$strings["Find"] = "Trovi";
-App::$strings["No valid account found."] = "Ne trovis validan konton.";
-App::$strings["Password reset request issued. Check your email."] = "Eldonis riparadon de pasvorto. Legu vian retpoŝton.";
-App::$strings["Password reset requested at %s"] = "Pasvorta riparado petita je %s";
-App::$strings["Administrator"] = "Administranto";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ne povis konfirmi la peton. (Eble vi sendis ĝin antaŭ.) Pasvorta riparado malsukcesis.";
-App::$strings["Password Reset"] = "Pasvorta riparado";
-App::$strings["Your password has been reset as requested."] = "Via pasvorto estis riparita laŭ via peto.";
-App::$strings["Your new password is"] = "Via nova pasvorto estas";
-App::$strings["Save or copy your new password - and then"] = "Memorigi vian novan pasvorton - kaj poste";
-App::$strings["click here to login"] = "klaku ĉi tie por ensaluti";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Vi povas ŝangi vian pasvorton sur la paĝo <em>agordoj</em> kiam vi sukcese ensalutis.";
-App::$strings["Forgot your Password?"] = "Ĉu vi forgesis vian pasvorton?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Entajpu vian retpoŝtadreson kaj sendu por pasvorta riparado. Poste, bonvolu legi vian retpoŝton por trovi pliajn instrukciojn.";
-App::$strings["Nickname or Email: "] = "Salutnomo aŭ retpoŝtadreso: ";
-App::$strings["Reset"] = "Repari";
-App::$strings["Account settings"] = "Konto";
-App::$strings["Display settings"] = "Ekrano";
-App::$strings["Connector settings"] = "Konektiloj";
-App::$strings["Plugin settings"] = "Kromprogramoj";
-App::$strings["Connected apps"] = "Konektitaj programoj";
-App::$strings["Export personal data"] = "Eksporto";
-App::$strings["Remove account"] = "Forigi konton";
-App::$strings["Settings"] = "Agordoj";
-App::$strings["Missing some important data!"] = "Mankas importantaj datumoj!";
-App::$strings["Update"] = "Ĝisdatigi";
-App::$strings["Failed to connect with email account using the settings provided."] = "Ne sukcesis konekti al retpoŝtkonto kun la provizitaj agordoj.";
-App::$strings["Email settings updated."] = "Retpoŝtagordoj ĝisdatigita";
-App::$strings["Passwords do not match. Password unchanged."] = "La pasvortoj ne estas egala. Pasvorto ne ŝanĝita.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Malplenaj pasvortoj ne estas permesita. Pasvorto ne ŝanĝita.";
-App::$strings["Password changed."] = "Pasvorto ŝanĝita.";
-App::$strings["Password update failed. Please try again."] = "Ĝisdatigo de pasvorto malsukcesis. Bonvolu provi refoje.";
-App::$strings[" Please use a shorter name."] = " Bonvolu uzi pli mallongan nomon.";
-App::$strings[" Name too short."] = " Nomo estas tro mallonga.";
-App::$strings[" Not valid email."] = " Repoŝtadreso ne validas.";
-App::$strings[" Cannot change to that email."] = " Ne povas ŝanĝi al tio retpoŝtadreso.";
-App::$strings["Private forum has no privacy permissions. Using default privacy group."] = "Privata forumo ne havas privatecajn agordojn. Defaŭlta privateca grupo estas uzata.";
-App::$strings["Private forum has no privacy permissions and no default privacy group."] = "Privata forumo havas nek privatecajn agordojn nek defaŭltan privatecan grupon.";
-App::$strings["Settings updated."] = "Agordoj ĝisdatigita.";
-App::$strings["Add application"] = "Aldoni programon";
-App::$strings["Consumer Key"] = "Ŝlosilo de kliento";
-App::$strings["Consumer Secret"] = "Sekreto de kliento";
-App::$strings["Redirect"] = "Alidirekto";
-App::$strings["Icon url"] = "Piktograma adreso";
-App::$strings["You can't edit this application."] = "Ĉi tio programo ne estas redaktebla.";
-App::$strings["Connected Apps"] = "Konektitaj Programoj";
-App::$strings["Client key starts with"] = "Ŝlosilo de kliento komencas kun";
-App::$strings["No name"] = "Neniu nomo";
-App::$strings["Remove authorization"] = "Forviŝi rajtigon";
-App::$strings["No Plugin settings configured"] = "Neniom da kromprogramoagordoj farita";
-App::$strings["Plugin Settings"] = "Kromprogramoagordoj";
-App::$strings["Built-in support for %s connectivity is %s"] = "Integrita subteno por %s koneto estas %s";
-App::$strings["enabled"] = "ŝaltita";
-App::$strings["disabled"] = "malŝaltita";
-App::$strings["StatusNet"] = "StatusNet";
-App::$strings["Email access is disabled on this site."] = "Retpoŝta atingo ne disponeblas ĉi tie.";
-App::$strings["Connector Settings"] = "Konektiloagordoj";
-App::$strings["Email/Mailbox Setup"] = "Agordoj pri Retpoŝto";
-App::$strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Se vi volas uzi ĉi tiun servon por komuniki per retpoŝto (nedeviga), bonvolu specifi kiel konekti al vian retpoŝtkonton.";
-App::$strings["Last successful email check:"] = "Plej ĵusa sukcesa kontrolo de poŝto:";
-App::$strings["IMAP server name:"] = "Nomo de IMAP servilo:";
-App::$strings["IMAP port:"] = "Numero de IMAP pordo:";
-App::$strings["Security:"] = "Sekureco:";
-App::$strings["None"] = "Nenio";
-App::$strings["Email login name:"] = "Retpoŝta salutnomo:";
-App::$strings["Email password:"] = "Retpoŝta pasvorto:";
-App::$strings["Reply-to address:"] = "Responda adreso (Reply-to):";
-App::$strings["Send public posts to all email contacts:"] = "Sendu publikajn afiŝojn al ĉiuj retpoŝtkontaktoj:";
-App::$strings["Action after import:"] = "Ago post la importado:";
-App::$strings["Mark as seen"] = "Marki kiel legita";
-App::$strings["Move to folder"] = "Movi al dosierujo";
-App::$strings["Move to folder:"] = "Movi al dosierujo:";
-App::$strings["Display Settings"] = "Ekranagordoj";
-App::$strings["Display Theme:"] = "Vidiga etoso:";
-App::$strings["Update browser every xx seconds"] = "Ĝisdatigu retesplorilon ĉiu xxx sekundoj";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimume 10 sekundoj, sen maksimumo";
-App::$strings["Number of items to display on the network page:"] = "Kvanto da elementoj kiuj estos montrata ĉe la reto paĝo.";
-App::$strings["Maximum of 100 items"] = "Maksimume 100 eroj";
-App::$strings["Don't show emoticons"] = "Ne montru ridetulojn";
-App::$strings["Normal Account Page"] = "Normala Kontopaĝo";
-App::$strings["This account is a normal personal profile"] = "Tiu konto estas normala persona profilo";
-App::$strings["Soapbox Page"] = "Soapbox Paĝo";
-App::$strings["Automatically approve all connection/friend requests as read-only fans"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel nurlegaj admirantoj";
-App::$strings["Community Forum/Celebrity Account"] = "Komunuma Forumo/Eminentula Konto";
-App::$strings["Automatically approve all connection/friend requests as read-write fans"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel admirantoj kapable legi kaj skribi";
-App::$strings["Automatic Friend Page"] = "Aŭtomata Amiko Paĝo";
-App::$strings["Automatically approve all connection/friend requests as friends"] = "Aŭtomate konfirmi ĉiujn kontaktpetojn kiel amikoj";
-App::$strings["Private Forum [Experimental]"] = "Privata Forumo [eksperimenta]";
-App::$strings["Private forum - approved members only"] = "Privata forumo - nur por aprobitaj membroj";
-App::$strings["OpenID:"] = "OpenID:";
-App::$strings["(Optional) Allow this OpenID to login to this account."] = "(Nedeviga) Permesi atingon al la konton al ĉi tio OpenID.";
-App::$strings["Publish your default profile in your local site directory?"] = "Publikigi vian defaŭltan profilon en la loka reteja katalogo?";
-App::$strings["Publish your default profile in the global social directory?"] = "Publikigi vian defaŭltan profilon en la tutmonda interkona katalogo?";
-App::$strings["Hide your contact/friend list from viewers of your default profile?"] = "Kaŝi vian liston de kontaktoj/amiko al spektantoj de via defaŭlta profilo?";
-App::$strings["Hide your profile details from unknown viewers?"] = "Kaŝi viajn profilajn detalojn al nekonataj spektantoj?";
-App::$strings["Allow friends to post to your profile page?"] = "Ĉu amikoj povu afiŝi al via profilo?";
-App::$strings["Allow friends to tag your posts?"] = "Ĉu amikoj povu aldoni markojn al viaj afiŝoj?";
-App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Ĉu ni povu sugesti vin kiel amiko al novaj membroj?";
-App::$strings["Permit unknown people to send you private mail?"] = "Permesigi nekonatulojn sendi retpoŝton al vi?";
-App::$strings["Profile is <strong>not published</strong>."] = "Profilo <strong>ne estas publika</strong>.";
-App::$strings["or"] = "aŭ";
-App::$strings["Your Identity Address is"] = "Via identeca adreso estas";
-App::$strings["Automatically expire posts after this many days:"] = "Automatike senvalidigi afiŝojn post tiom da tagoj:";
-App::$strings["If empty, posts will not expire. Expired posts will be deleted"] = "Se malplena, afiŝoj neniam senvalidiĝos. Senvalidigitajn afiŝon estos forviŝata";
-App::$strings["Advanced expiration settings"] = "Detalaj agordoj rilate al senvalidiĝo";
-App::$strings["Advanced Expiration"] = "Detala senvalidiĝo";
-App::$strings["Expire posts:"] = "Senvalidigi afiŝojn:";
-App::$strings["Expire personal notes:"] = "Senvalidigi personajn notojn:";
-App::$strings["Expire starred posts:"] = "Senvalidigi steligitajn afiŝojn:";
-App::$strings["Expire photos:"] = "Senvalidigi bildojn:";
-App::$strings["Only expire posts by others:"] = "Nur senvalidigi afiŝojn de aliaj: ";
-App::$strings["Account Settings"] = "Kontoagordoj";
-App::$strings["Password Settings"] = "Agordoj pri Pasvorto";
-App::$strings["New Password:"] = "Nova pasvorto:";
-App::$strings["Confirm:"] = "Konfirmi:";
-App::$strings["Leave password fields blank unless changing"] = "Lasu pasvortkampojn malplenaj se vi ne ŝanĝas la pasvorton.";
-App::$strings["Basic Settings"] = "Bazaj Agordoj";
-App::$strings["Full Name:"] = "Plena Nomo:";
-App::$strings["Email Address:"] = "Retpoŝtadreso:";
-App::$strings["Your Timezone:"] = "Via Horzono:";
-App::$strings["Default Post Location:"] = "Defaŭlta Loko por Afiŝoj:";
-App::$strings["Use Browser Location:"] = "Uzu Lokon laŭ Retesplorilo:";
-App::$strings["Security and Privacy Settings"] = "Agordoj pri Sekureco kaj Privateco";
-App::$strings["Maximum Friend Requests/Day:"] = "Taga maksimumo da kontaktpetoj:";
-App::$strings["(to prevent spam abuse)"] = "(por malhelpi spamaĵojn)";
-App::$strings["Default Post Permissions"] = "Defaŭltaj permesoj por afiŝoj";
-App::$strings["(click to open/close)"] = "(klaku por malfermi/fermi)";
-App::$strings["Maximum private messages per day from unknown people:"] = "Taga maksimumo da privataj mesaĝoj.";
-App::$strings["Notification Settings"] = "Agordoj pri Atentigoj";
-App::$strings["By default post a status message when:"] = "Defaŭlte afiŝi statmesaĝon okaze de:";
-App::$strings["accepting a friend request"] = "akcepti kontaktpeton";
-App::$strings["joining a forum/community"] = "aliĝi forumon/komunumon";
-App::$strings["making an <em>interesting</em> profile change"] = "fari <em>interesan</em> profilŝanĝon";
-App::$strings["Send a notification email when:"] = "Sendu atentiga repoŝton se:";
-App::$strings["You receive an introduction"] = "Vi ricevas inviton";
-App::$strings["Your introductions are confirmed"] = "Viaj prezentoj estas konfirmata.";
-App::$strings["Someone writes on your profile wall"] = "Iu skribas je via profila muro.";
-App::$strings["Someone writes a followup comment"] = "Iu skribas sekvan komenton";
-App::$strings["You receive a private message"] = "Vi ricevas privatan mesaĝon.";
-App::$strings["You receive a friend suggestion"] = "Vi ricevas amikosugeston";
-App::$strings["You are tagged in a post"] = "Vi estas markita en afiŝon";
-App::$strings["Advanced Account/Page Type Settings"] = "Detalaj Agordoj pri Tipo de Konto/Paĝo.";
-App::$strings["Change the behaviour of this account for special situations"] = "Agordi la teniĝon de la konto en specialaj situacioj";
-App::$strings["Manage Identities and/or Pages"] = "Administri identecojn kaj/aŭ paĝojn.";
-App::$strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Ŝalti inter aliaj identecojn aj komunumaj/grupaj paĝoj kiuj kunhavas viajn kontajn detalojn au por kiuj vi havas \"administranto\" permesojn.";
-App::$strings["Select an identity to manage: "] = "Elektu identencon por administrado:";
-App::$strings["Search Results For:"] = "Rezultoj de la serĉado pri:";
-App::$strings["Remove term"] = "Forviŝu terminon";
-App::$strings["Saved Searches"] = "Konservitaj Serĉadoj";
-App::$strings["add"] = "aldoni";
-App::$strings["Commented Order"] = "Komenta Ordo";
-App::$strings["Sort by Comment Date"] = "Ordigi laŭ Dato de Komento";
-App::$strings["Posted Order"] = "Afiŝita Ordo";
-App::$strings["Sort by Post Date"] = "Ordigi laŭ Dato de Afiŝado";
-App::$strings["Posts that mention or involve you"] = "Afiŝoj menciantaj vin aŭ pri vi";
-App::$strings["New"] = "Nova";
-App::$strings["Activity Stream - by date"] = "Fluo de Aktiveco - laŭ dato";
-App::$strings["Starred"] = "Steligita";
-App::$strings["Favourite Posts"] = "Favorigitaj Afiŝoj";
-App::$strings["Shared Links"] = "Kunhavigitaj Ligiloj";
-App::$strings["Interesting Links"] = "Interesaj Ligiloj";
-App::$strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Averto: La grupo enhavas %s membron el nesekuraj retejoj.",
- 1 => "Averto: La grupo enhavas %s membrojn el nesekuraj retejoj.",
-);
-App::$strings["Private messages to this group are at risk of public disclosure."] = "La privateco de privataj mesaĝoj al ĉi tiu grupo ne ĉiam estas garantita.";
-App::$strings["No such group"] = "Grupo ne estas trovita";
-App::$strings["Group is empty"] = "Grupo estas malplena";
-App::$strings["Group: "] = "Grupo:";
-App::$strings["Contact: "] = "Kontakto:";
-App::$strings["Private messages to this person are at risk of public disclosure."] = "La privateco de privataj mesaĝoj al ĉi tiu persono ne ĉiam estas garantita.";
-App::$strings["Invalid contact."] = "Nevalida kontakto.";
-App::$strings["Personal Notes"] = "Personaj Notoj";
-App::$strings["Save"] = "Konservi";
-App::$strings["Number of daily wall messages for %s exceeded. Message failed."] = "Number of daily wall messages for %s exceeded. Messaĝo malsukcesis.";
-App::$strings["No recipient selected."] = "Neniom da ricevontoj.";
-App::$strings["Unable to check your home location."] = "Ne eblas kontroli vian hejmlokon.";
-App::$strings["Message could not be sent."] = "Ne povas sendi la mesaĝon.";
-App::$strings["Message collection failure."] = "Malsukcese provis kolekti mesaĝojn.";
-App::$strings["Message sent."] = "Mesaĝo estas sendita.";
-App::$strings["No recipient."] = "Neniom da ricevontoj.";
-App::$strings["Please enter a link URL:"] = "Bonvolu entajpu adreson de ligilo:";
-App::$strings["Send Private Message"] = "Sendi Privatan Mesaĝon";
-App::$strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "Se vi deziras ke %s respondu, bonvolu kontroli ke la privatecaj agordoj je via retejo permesas privatajn mesaĝojn de nekonataj sendantoj.";
-App::$strings["To:"] = "Al:";
-App::$strings["Subject:"] = "Temo:";
-App::$strings["Your message:"] = "Via mesaĝo:";
-App::$strings["Welcome to Friendica"] = "Bonvenon ĉe Friendica";
-App::$strings["New Member Checklist"] = "Kontrololisto por Novaj Membroj";
-App::$strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "Lasu nin oferi al vi kelkajn konsolojn kaj ligilojn por plifaciligi vian komencon. Klaku iun elementon por viziti la rilatan paĝon. Ligilo al ĉi tiu paĝo videblos en via hejmpaĝo dum du semajnojn post via komenca membriĝo. Post du semajnoj, la ligilo silente malaperos. ";
-App::$strings["On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, connect to Facebook, make some new connections, and find some groups to join."] = "Je via <em>Rapida Starto</em> paĝo - trovu mallongan enigon pri via profilo kaj la reto folioj, konektu al Facebook, faru novajn konektojn kaj trovu aliĝindajn grupojn.";
-App::$strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "Bonvolu ŝanĝi vian pasvorton ĉe <em>Agordoj</em>. Krome, memorigu vian identadreson. Ĝi aspektas kiel retpoŝtadreso kaj estas bezonata por konekti al novaj amikon en la libera interkona reto.";
-App::$strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Kontrolu la aliajn agordojn, precipe la privatecajn agordojn. Nepublikigita profilo similas al havi telefonnumberon ne registrata en iu telefonlibro. Ĝenerale vi eble volas publikigi vian profilon. Alie, viaj amikoj kaj estontaj amikoj bezonas scii kiel rekte trovi vin.";
-App::$strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Enŝuti profilbildon se vi ankoraŭ ne havas ĝin. Laŭ studoj, homoj kun realaj biloj de si mem trovas novajn amikon duope pli probable ol homoj sen reala bildo.";
-App::$strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Rajtigu la Facebook Konektilon se vi nuntempe havas Facebook konton, kaj ni (nedeviga) enportu viajn Facebook amikojn kaj konversaciojn.";
-App::$strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "<em>Se</tm> ĉi tiu estas via propra TTT servilo, instali la Facebook kromprogramon eble plifaciligos la transpason al la libera interkona reto.";
-App::$strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Entajpu la akreditaĵojn por via retpoŝtkonto en la konektilagordoj se vi volas importi aŭ interagi kun amikoj aŭ dissendlistoj pere de via retkesto.";
-App::$strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Redakti viajn <strong>defaŭltan</strong> profilon kiel vi ŝatas ĝin. Kontrolu la agordojn por kaŝi vian kontaktliston aŭ kaŝi vian profilon al nekonataj vizitantoj.";
-App::$strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Aldonu publikajn ŝlosilvortojn al via defaŭlta profilo, kiuj priskribas viajn interesojn. Ni eble povas trovi aliajn uzantojn kun similaj interesoj kaj sugesti amikojn.";
-App::$strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "Via kontaktpaĝo estas via portalo por administri amikojn kaj konekti kun amikoj en aliaj retoj. Vi kutime entajpas iliajn adreson aŭ URL adreso en la <em>Aldonu Novan Kontakton</em> dialogon.";
-App::$strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Ĉe la Katalogo vi povas trovi aliajn homojn en ĉi tiu retejo, au en aliaj federaciaj retejoj. Elrigardi al <em>Konekti</em> aŭ <em>Sekvi</em> ligiloj ĉe iliaj profilo. Donu vian propran Identecan Adreson se la retejo demandas ĝin.";
-App::$strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "En la flanka strio de la Kontaktoj paĝo troviĝas kelkajn helpilojn por trovi novajn amikojn. Ni povas automate trovi amikojn per interesoj, serĉu ilin per nomo aŭ intereso kaj faras sugestojn baze de estantaj kontaktoj. Ĉe nova instalita retejo, la unuaj sugestoj kutime aperas post 24 horoj.";
-App::$strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Kiam vi trovis kelkajn novajn amikojn, ordigi ilin en grupoj por privata komunikado en la flanka strio de via Kontaktoj paĝo, kaj vi povas private komuniki kun ili je via Reto paĝo.";
-App::$strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Niaj <strong>Helpo</strong> paĝoj enhavas pli da detaloj pri aliaj programaj trajtoj.";
-App::$strings["Item not available."] = "Elemento ne disponeblas.";
-App::$strings["Item was not found."] = "Elemento ne trovita.";
-App::$strings["Group created."] = "Grupo estas kreita.";
-App::$strings["Could not create group."] = "Ne povas krei grupon.";
-App::$strings["Group not found."] = "Grupo ne estas trovita.";
-App::$strings["Group name changed."] = "La nomo de la grupo estas ŝanĝita.";
-App::$strings["Permission denied"] = "Malpermesita";
-App::$strings["Create a group of contacts/friends."] = "Krei grupon da kontaktoj/amikoj.";
-App::$strings["Group Name: "] = "Nomo de la grupo:";
-App::$strings["Group removed."] = "Grupo estas forviŝita.";
-App::$strings["Unable to remove group."] = "Ne eblas forviŝi grupon.";
-App::$strings["Group Editor"] = "Grupa redaktilo";
-App::$strings["Members"] = "Anoj";
-App::$strings["Click on a contact to add or remove."] = "Klaku kontakton por aldoni aŭ forviŝi.";
-App::$strings["Invalid profile identifier."] = "Nevaliada profila identigilo.";
-App::$strings["Profile Visibility Editor"] = "Redaktilo por profila videbleco.";
-App::$strings["Profile"] = "Profilo";
-App::$strings["Visible To"] = "Videbla Al";
-App::$strings["All Contacts (with secure profile access)"] = "Ĉiuj Kontaktoj (kun sekura atingo al la profilo)";
-App::$strings["No contacts."] = "Neniu kontaktojn.";
-App::$strings["View Contacts"] = "Vidi Kontaktojn";
-App::$strings["Registration details for %s"] = "Detaloj de la registrado por %s";
-App::$strings["Registration successful. Please check your email for further instructions."] = "Registrado sukcesis. Bonvolu kontroli vian retpoŝton por pli da instruoj.";
-App::$strings["Failed to send email message. Here is the message that failed."] = "Malsukcesis sendi retpoŝton. Jen la malsukcesa mesaĝo.";
-App::$strings["Your registration can not be processed."] = "Mi ne povas prilabori vian registradon.";
-App::$strings["Registration request at %s"] = "Peto de registrado al %s";
-App::$strings["Your registration is pending approval by the site owner."] = "Via registrado bezonas apropbon de la administranto.";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "La retejo transiras la maksimuman kvanton da ĉiutagaj kontaj registradoj. Bonvolu provi denove morgaŭ.";
-App::$strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Vi ankaŭ (nedeviga) povas plenigi la formularon per OpenID se vi provizas vian OpenID adreson kaj klakas 'Registri'.";
-App::$strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Se vi ne konas OpenID, bonvolu lasi tiun kampon malplena kaj entajpu la aliajn elementojn.";
-App::$strings["Your OpenID (optional): "] = "Via OpenID (nedeviga):";
-App::$strings["Include your profile in member directory?"] = "Aldoni vian profilon al la membrokatalogo?";
-App::$strings["Membership on this site is by invitation only."] = "Membriĝi ĉi tie nur eblas laŭ invito.";
-App::$strings["Your invitation ID: "] = "Via invita idento: ";
-App::$strings["Registration"] = "Registrado";
-App::$strings["Your Full Name (e.g. Joe Smith): "] = "Via Plena Nomo (e.g. Joe Smith): ";
-App::$strings["Your Email Address: "] = "Via Retpoŝtadreso: ";
-App::$strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Elektu kaŝnomon por la profilo. Tiu bezonas komenci kun teksta litero. Poste, via profila adreso ĉi tie estos: '<strong>kaŝnomo@\$sitename</strong>'.";
-App::$strings["Choose a nickname: "] = "Elektu kaŝnomon: ";
-App::$strings["Register"] = "Registri";
-App::$strings["People Search"] = "Serĉi Membrojn";
-App::$strings["status"] = "staton";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s ŝatas la %3\$s de %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s malŝatas la %3\$s de %2\$s";
-App::$strings["Item not found."] = "Elemento ne estas trovita.";
-App::$strings["Access denied."] = "Atingo nepermesita.";
-App::$strings["Photos"] = "Bildoj";
-App::$strings["Files"] = "Dosieroj";
-App::$strings["Account approved."] = "Konto aprobita.";
-App::$strings["Registration revoked for %s"] = "Registraĵo por %s senvalidigita.";
-App::$strings["Please login."] = "Bonvolu ensaluti.";
-App::$strings["Unable to locate original post."] = "Ne eblas trovi originalan afiŝon.";
-App::$strings["Empty post discarded."] = "Forviŝis malplenan afiŝon.";
-App::$strings["Wall Photos"] = "Muraj Bildoj";
-App::$strings["System error. Post not saved."] = "Sistema eraro. Afiŝo ne registrita.";
-App::$strings["This message was sent to you by %s, a member of the Friendica social network."] = "Ĉi mesaĝo estas sendita al vi de %s, membro de la Friendica interkona reto.";
-App::$strings["You may visit them online at %s"] = "Vi povas viziti ilin rete ĉe %s";
-App::$strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Bonvolu rispondi al ĉi mesaĝo kaj kontaktu la sendinto se vi ne volas ricevi tiujn mesaĝojn.";
-App::$strings["%s posted an update."] = "%s publikigis afiŝon.";
-App::$strings["Image uploaded but image cropping failed."] = "Bildo estas alŝutita, sed malsukcesis tranĉi la bildon.";
-App::$strings["Image size reduction [%s] failed."] = "Malsukcesis malpligrandigi [%s] la bildon.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Reŝarĝu la paĝon au malplenigu la kaŝmemoro de la retesplorilo se la nova bildo ne tuj aperas.";
-App::$strings["Unable to process image"] = "Ne eblas procezi bildon.";
-App::$strings["Image exceeds size limit of %d"] = "Bildo estas pli granda ol la limito %d";
-App::$strings["Upload File:"] = "Alŝuti dosieron:";
-App::$strings["Upload Profile Photo"] = "Alŝuti profilbildon";
-App::$strings["Upload"] = "Alŝuti";
-App::$strings["skip this step"] = "Preterpasi tian paŝon";
-App::$strings["select a photo from your photo albums"] = "elekti bildon el viaj albumoj";
-App::$strings["Crop Image"] = "Stuci Bildon";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Bonvolu agordi la stuco de la bildo por optimuma aspekto.";
-App::$strings["Done Editing"] = "Finigi Redaktado";
-App::$strings["Image uploaded successfully."] = "Bildo estas sukcese enŝutita.";
-App::$strings["No profile"] = "Neniu profilo";
-App::$strings["Remove My Account"] = "Forigi Mian Konton";
-App::$strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Tio tute forigos vian konton. Kiam farita, la konto ne estas restaŭrebla.";
-App::$strings["Please enter your password for verification:"] = "Bonvolu entajpi vian pasvorton por kontrolado:";
-App::$strings["New Message"] = "Nova Mesaĝo";
-App::$strings["Unable to locate contact information."] = "Ne eblas trovi kontaktajn informojn.";
-App::$strings["Message deleted."] = "Mesaĝo estas forviŝita.";
-App::$strings["Conversation removed."] = "Dialogo estas forviŝita.";
-App::$strings["No messages."] = "Neniom da mesaĝoj.";
-App::$strings["Unknown sender - %s"] = "Nekonata sendanto - %s";
-App::$strings["You and %s"] = "Vi kaj %s";
-App::$strings["%s and You"] = "%s kaj vi";
-App::$strings["Delete conversation"] = "Forviŝi dialogon";
-App::$strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-App::$strings["%d message"] = array(
- 0 => "%d mesaĝo",
- 1 => "%d mesaĝoj",
-);
-App::$strings["Message not available."] = "Mesaĝo nedisponebla.";
-App::$strings["Delete message"] = "Forviŝu mesaĝon";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Sekura komunikado ne disponeblas. Vi <strong>eble</strong> povus respondi sur la profilpaĝo de la sendanto.";
-App::$strings["Send Reply"] = "Respondi";
-App::$strings["Friends of %s"] = "Amikoj de %s";
-App::$strings["No friends to display."] = "Neniom da amiko al montri.";
-App::$strings["Theme settings updated."] = "Gisdatigis agordojn pri etosoj.";
-App::$strings["Site"] = "Retejo";
-App::$strings["Users"] = "Uzantoj";
-App::$strings["Plugins"] = "Kromprogramoj";
-App::$strings["Themes"] = "Etosoj";
-App::$strings["DB updates"] = "DB ĝisdatigoj";
-App::$strings["Logs"] = "Protokoloj";
-App::$strings["Admin"] = "Administrado";
-App::$strings["Plugin Features"] = "Kromprogramaj Trajtoj";
-App::$strings["User registrations waiting for confirmation"] = "Uzantaj registradoj atendante konfirmon";
-App::$strings["Normal Account"] = "Normala konto";
-App::$strings["Soapbox Account"] = "Soapbox Konto";
-App::$strings["Community/Celebrity Account"] = "Komunuma/eminentula Konto";
-App::$strings["Automatic Friend Account"] = "Aŭtomata Amika Konto";
-App::$strings["Message queues"] = "Mesaĝvicoj";
-App::$strings["Administration"] = "Administrado";
-App::$strings["Summary"] = "Resumo";
-App::$strings["Registered users"] = "Registrataj uzantoj";
-App::$strings["Pending registrations"] = "Okazontaj registradoj";
-App::$strings["Version"] = "Versio";
-App::$strings["Active plugins"] = "Ŝaltitaj kromprogramoj";
-App::$strings["Site settings updated."] = "Ĝisdatigis retejaj agordoj.";
-App::$strings["Closed"] = "Ferma";
-App::$strings["Requires approval"] = "Bezonas aprobon";
-App::$strings["Open"] = "Malferma";
-App::$strings["No SSL policy, links will track page SSL state"] = "Sen SSL strategio. Ligiloj sekvos la SSL staton de la paĝo.";
-App::$strings["Force all links to use SSL"] = "Devigi ke ĉiuj ligiloj uzu SSL.";
-App::$strings["Self-signed certificate, use SSL for local links only (discouraged)"] = "Memsubskribita atestilo, nur uzu SSL por lokaj ligiloj (malkuraĝigata)";
-App::$strings["File upload"] = "Alŝuto";
-App::$strings["Policies"] = "Politiko";
-App::$strings["Advanced"] = "Altnivela";
-App::$strings["Site name"] = "Nomo de retejo";
-App::$strings["Banner/Logo"] = "Emblemo";
-App::$strings["System language"] = "Sistema lingvo";
-App::$strings["System theme"] = "Sistema etoso";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Defaŭlta sistema etoso - transpasebla de uzantprofiloj - <a href='#' id='cnftheme'>redakti agordoj pri etosoj</a>";
-App::$strings["SSL link policy"] = "Strategio por SSL ligiloj";
-App::$strings["Determines whether generated links should be forced to use SSL"] = "Difinas ĉu generotaj ligiloj devige uzu SSL.";
-App::$strings["Maximum image size"] = "Maksimuma bildgrando";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maksimuma grando en bajtoj por alŝutotaj bildoj. Defaŭlte 0, kio signifas neniu limito.";
-App::$strings["Register policy"] = "Interkonsento pri registrado";
-App::$strings["Register text"] = "Interkonsento teksto";
-App::$strings["Will be displayed prominently on the registration page."] = "Tio estos eminente montrata en la registro paĝo.";
-App::$strings["Accounts abandoned after x days"] = "Kontoj forlasitaj post x tagoj";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Mi ne malŝparu energion por enketi aliajn retejojn pri forlasitaj kontoj. Entajpu 0 por ne uzi templimo.";
-App::$strings["Allowed friend domains"] = "Permesitaj amikaj domainoj";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Perkome disigita listo da domajnoj kiuj rajtas konstrui amikecojn kun ĉi tiu retejo. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn.";
-App::$strings["Allowed email domains"] = "Permesitaj retpoŝtaj domajnoj";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Perkome disigita listo da domajnoj kiuj uzeblas kiel retpoŝtaj adresoj en novaj registradoj. Ĵokeroj eblas. Malplena por rajtigi ĉiujn ajn domajnojn.";
-App::$strings["Block public"] = "Bloki publike";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Elektu por bloki publikan atingon al ĉiuj alie publikajn paĝojn en ĉi tiu retejo kiam vi ne estas ensalutita.";
-App::$strings["Force publish"] = "Devigi publikigon";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Elektu por devigi la registradon en la loka katalogo al ĉiuj profiloj en ĉi tiu retejo.";
-App::$strings["Global directory update URL"] = "Ĝenerala adreso por ĝisdatigi la katalogon";
-App::$strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = "URL adreso por ĝisdatigi la tutmondan katalogon. Se ne agordita, la tutmonda katatolge tute ne disponeblas al la programo.";
-App::$strings["Block multiple registrations"] = "Bloki pluroblajn registradojn.";
-App::$strings["Disallow users to register additional accounts for use as pages."] = "Malpermesi al uzantoj la permeson por registri pluajn kontojn kiel paĝoj.";
-App::$strings["OpenID support"] = "Subteno por OpenID";
-App::$strings["OpenID support for registration and logins."] = "Subteni OpenID por registrado kaj ensaluto.";
-App::$strings["Fullname check"] = "Kontroli plenan nomon";
-App::$strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "Kiel kontraŭspamilo, devigi uzantoj al registrado kun spaceto inter la persona nomo kaj la familia nomo.";
-App::$strings["UTF-8 Regular expressions"] = "UTF-8 regulaj exprimoj";
-App::$strings["Use PHP UTF8 regular expressions"] = "Uzi PHP UTF8 regulajn esprimojn.";
-App::$strings["Show Community Page"] = "Montri Komunuma Paĝo";
-App::$strings["Display a Community page showing all recent public postings on this site."] = "Montri komunuma paĝo kun ĉiuj ĵusaj afiŝoj en ĉi tiu retejo.";
-App::$strings["Enable OStatus support"] = "Ŝalti subtenon por OStatus";
-App::$strings["Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Provizi integritan OStatus (identi.ca, status.net ktp) subtenon. Ĉiuj komunikadoj en OStatus estas publikaj, do privatecaj avertoj aperos de tempo al tempo.";
-App::$strings["Enable Diaspora support"] = "Ŝalti subtenon por Diaspora";
-App::$strings["Provide built-in Diaspora network compatibility."] = "Provizi integritan Diaspora subtenon.";
-App::$strings["Only allow Friendica contacts"] = "Nur permesigi Friendica kontaktojn";
-App::$strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Ĉiuj kontaktoj devas uzi Friendica protokolojn. Ĉiuj aliaj komunikaj protokoloj malaktivita.";
-App::$strings["Verify SSL"] = "Kontroli SSL";
-App::$strings["If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."] = "Se vi deziras, vi povas aktivigi severan kontroladon de SSL atestiloj. Pro tio, vie (tute) ne eblos konekti al SSL retejoj kun memsubskribitaj atestiloj.";
-App::$strings["Proxy user"] = "Uzantnomo por retperanto";
-App::$strings["Proxy URL"] = "URL adreso de retperanto";
-App::$strings["Network timeout"] = "Reta tempolimo";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valoro en sekundoj. Uzu 0 por mallimitigi (ne rekomendata).";
-App::$strings["Delivery interval"] = "Intervalo de liverado";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Malfruigi fonan liveradon dum tiom da sekundoj por malpliigi la ŝargon de la sistemo. Rekomendoj: 4-5 por komunaj serviloj, 2-3 por virtualaj privataj serviloj, 0-1 por grandaj dediĉitaj serviloj.";
-App::$strings["Poll interval"] = "Enketintervalo";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Malfruigi fonajn enketprocesojn je tiom da sekundoj por malpliigi la ŝargon de la sistemo. Se 0, uzas la liverintervalon.";
-App::$strings["Maximum Load Average"] = "Maksimuma Meza Sistemŝargo";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maksimuma sistemŝargo post kiu livero- kaj enketprocesoj estos prokrastinataj. - Defaŭlte 50.";
-App::$strings["Update has been marked successful"] = "Ĝisdatigo estas markita sukcesa";
-App::$strings["Executing %s failed. Check system logs."] = "Ne sukcesis plenumi %s. Kontrolu la sistemprotokolojn.";
-App::$strings["Update %s was successfully applied."] = "Sukcese aplikis la ĝisdatigo %s.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Ĝisdatigo %s ne liveris elirstaton. ";
-App::$strings["Update function %s could not be found."] = "Ne troveblas ĝisdatigo funkcio %s.";
-App::$strings["No failed updates."] = "Neniom da malsukcesaj ĝisdatigoj.";
-App::$strings["Failed Updates"] = "Malsukcesaj Ĝisdatigoj";
-App::$strings["This does not include updates prior to 1139, which did not return a status."] = "Ne inkluzivas ĝisdatigojn antaŭ 1139, kiuj ne liveris elirstaton.";
-App::$strings["Mark success (if update was manually applied)"] = "Marki sukcesa (se la ĝisdatigo estas instalita mane)";
-App::$strings["Attempt to execute this update step automatically"] = "Provi automate plenumi ĉi tian paŝon de la ĝisdatigo.";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "Blokis/malblokis %s uzanton",
- 1 => "Blokis/malblokis %s uzantojn",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s uzanto forviŝita",
- 1 => "%s uzanto forviŝitaj",
-);
-App::$strings["User '%s' deleted"] = "Uzanto '%s' forviŝita";
-App::$strings["User '%s' unblocked"] = "Uzanto '%s' malblokita";
-App::$strings["User '%s' blocked"] = "Uzanto '%s' blokita";
-App::$strings["select all"] = "elekti ĉiujn";
-App::$strings["User registrations waiting for confirm"] = "Registriĝoj atendante aprobon";
-App::$strings["Request date"] = "Dato de peto";
-App::$strings["Email"] = "Retpoŝto";
-App::$strings["No registrations."] = "Neniom da registriĝoj.";
-App::$strings["Deny"] = "Negi";
-App::$strings["Register date"] = "Dato de registrado";
-App::$strings["Last login"] = "Plej ĵusa ensaluto";
-App::$strings["Last item"] = "Plej ĵusa elemento";
-App::$strings["Account"] = "Konto";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "La elektitaj uzantkontoj estas forviŝotaj!\\n\\nĈiuj elementoj kiujn ili afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "La uzanto {0} estas forviŝota!\\n\\nĈiuj elementoj kiujn li afiŝis je la retpaĝo estos permanente forviŝitaj.\\n\\nĈu vi certas?";
-App::$strings["Plugin %s disabled."] = "Kromprogramo %s estas malŝaltita.";
-App::$strings["Plugin %s enabled."] = "Kromprogramo %s estas ŝaltita.";
-App::$strings["Disable"] = "Malŝalti";
-App::$strings["Enable"] = "Ŝalti";
-App::$strings["Toggle"] = "Ŝalti/Malŝalti";
-App::$strings["Author: "] = "Aŭtoro: ";
-App::$strings["Maintainer: "] = "Prizorganto: ";
-App::$strings["No themes found."] = "Ne trovis etosojn.";
-App::$strings["Screenshot"] = "Ekrankopio";
-App::$strings["[Experimental]"] = "[Eksperimenta]";
-App::$strings["[Unsupported]"] = "[Nesubtenata]";
-App::$strings["Log settings updated."] = "Protokolagordoj ĝisdatigitaj.";
-App::$strings["Clear"] = "Forviŝi";
-App::$strings["Debugging"] = "Sencimigado";
-App::$strings["Log file"] = "Protokolo";
-App::$strings["Must be writable by web server. Relative to your Friendica top-level directory."] = "Devas esti skribebla de la retservilo. Relativa al via plej supra Friendica dosierujo.";
-App::$strings["Log level"] = "Protokolnivelo";
-App::$strings["Close"] = "Fermi";
-App::$strings["FTP Host"] = "FTP Servilo";
-App::$strings["FTP Path"] = "FTP Vojo";
-App::$strings["FTP User"] = "FTP Uzanto";
-App::$strings["FTP Password"] = "FTP Pasvorto";
-App::$strings["Requested profile is not available."] = "La petita profilo ne disponeblas.";
-App::$strings["Access to this profile has been restricted."] = "Atingo al ĉi tio profilo estas limitigita";
-App::$strings["Tips for New Members"] = "Konsilo por novaj membroj";
-App::$strings["{0} wants to be your friend"] = "{0} volas amikiĝi kun vi";
-App::$strings["{0} sent you a message"] = "{0} sendis mesaĝon al vi";
-App::$strings["{0} requested registration"] = "{0} petis registradon";
-App::$strings["{0} commented %s's post"] = "{0} komentis pri la afiŝo de %s";
-App::$strings["{0} liked %s's post"] = "{0} satis la afiŝon de %s";
-App::$strings["{0} disliked %s's post"] = "{0} malŝatis la afiŝon de %s";
-App::$strings["{0} is now friends with %s"] = "{0} amikiĝis kun %s";
-App::$strings["{0} posted"] = "{0} afiŝis";
-App::$strings["{0} tagged %s's post with #%s"] = "{0} markis la afiŝon de %s kun #%s";
-App::$strings["{0} mentioned you in a post"] = "{0} menciis vin en afiŝo";
-App::$strings["Contacts who are not members of a group"] = "Kontaktoj kiuj ne estas en iu grupo";
-App::$strings["OpenID protocol error. No ID returned."] = "Eraro en OpenID protokolo. Ne resendis identecon.";
-App::$strings["Account not found and OpenID registration is not permitted on this site."] = "Ne trovis kontoj, kaj registrado per OpenID estas malpermesita ĉi tie.";
-App::$strings["Login failed."] = "Ensalutado malsukcesis.";
-App::$strings["Contact added"] = "Aldonis kontakton";
-App::$strings["Common Friends"] = "Komunaj Amikoj";
-App::$strings["No contacts in common."] = "Neniom da komunaj kontaktoj.";
-App::$strings["Item has been removed."] = "Elemento estas forviŝita.";
-App::$strings["Applications"] = "Programoj";
-App::$strings["No installed applications."] = "Neniom da instalitaj programoj.";
-App::$strings["Search"] = "Serĉi";
-App::$strings["Profile not found."] = "Profilo ne trovita.";
-App::$strings["Profile Name is required."] = "Nomo de profilo estas bezonata.";
-App::$strings["Marital Status"] = "Amrilata Stato";
-App::$strings["Romantic Partner"] = "Kora Partnero";
-App::$strings["Likes"] = "Ŝatoj";
-App::$strings["Dislikes"] = "Malŝatoj";
-App::$strings["Work/Employment"] = "Laboro";
-App::$strings["Religion"] = "Religio";
-App::$strings["Political Views"] = "Politikaj Opinioj";
-App::$strings["Gender"] = "Sekso";
-App::$strings["Sexual Preference"] = "Seksa Prefero";
-App::$strings["Homepage"] = "Hejmpaĝo";
-App::$strings["Interests"] = "Interesoj";
-App::$strings["Address"] = "Adreso";
-App::$strings["Location"] = "Loko";
-App::$strings["Profile updated."] = "Profilo ĝisdatigita.";
-App::$strings[" and "] = " kaj ";
-App::$strings["public profile"] = "publika profilo";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ŝanĝis %2\$s al &ldquo;%3\$s&rdquo;";
-App::$strings[" - Visit %1\$s's %2\$s"] = " - Vizitu la %2\$s de %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s havas ĝisdatigigan %2\$s, ŝanĝas %3\$s.";
-App::$strings["Profile deleted."] = "Profilo forviŝita.";
-App::$strings["Profile-"] = "Profilo-";
-App::$strings["New profile created."] = "Nova profilo kreita.";
-App::$strings["Profile unavailable to clone."] = "Ne eblas kopii profilon.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Kaŝi vian liston de kontaktoj/amikoj al vidantoj de ĉi-tio profilo?";
-App::$strings["Edit Profile Details"] = "Redakti Detalojn de Profilo";
-App::$strings["View this profile"] = "Vidi la profilon.";
-App::$strings["Create a new profile using these settings"] = "Krei novan profilon kun tiaj agordoj";
-App::$strings["Clone this profile"] = "Kopii ĉi tiun profilon";
-App::$strings["Delete this profile"] = "Forviŝi ĉi tiun profilon";
-App::$strings["Profile Name:"] = "Nomo de Profilo:";
-App::$strings["Your Full Name:"] = "Via Plena Nomo:";
-App::$strings["Title/Description:"] = "Titolo/Priskribo:";
-App::$strings["Your Gender:"] = "Via Sekso:";
-App::$strings["Birthday (%s):"] = "Naskiĝtago (%s):";
-App::$strings["Street Address:"] = "Adreso:";
-App::$strings["Locality/City:"] = "Urbo:";
-App::$strings["Postal/Zip Code:"] = "Poŝtkodo:";
-App::$strings["Country:"] = "Lando:";
-App::$strings["Region/State:"] = "Ŝtato:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Civita Stato:";
-App::$strings["Who: (if applicable)"] = "Kiu (se aplikeble):";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Ekzemploj: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since [date]:"] = "Ekde [dato]:";
-App::$strings["Sexual Preference:"] = "Seksa Prefero:";
-App::$strings["Homepage URL:"] = "Adreso de Hejmpaĝo:";
-App::$strings["Hometown:"] = "Hejmurbo:";
-App::$strings["Political Views:"] = "Politikaj Opinioj:";
-App::$strings["Religious Views:"] = "Religiaj Opinioj:";
-App::$strings["Public Keywords:"] = "Publikaj ŝlosilvortoj:";
-App::$strings["Private Keywords:"] = "Privataj ŝlosilvortoj:";
-App::$strings["Likes:"] = "Ŝatoj:";
-App::$strings["Dislikes:"] = "Malŝatoj:";
-App::$strings["Example: fishing photography software"] = "Ekzemple: fiŝkapti fotografio programaro";
-App::$strings["(Used for suggesting potential friends, can be seen by others)"] = "(Por sugesti amikoj. Videbla al aliaj.)";
-App::$strings["(Used for searching profiles, never shown to others)"] = "(Por serĉi profilojn. Neniam videbla al aliaj.)";
-App::$strings["Tell us about yourself..."] = "Diru al ni pri vi...";
-App::$strings["Hobbies/Interests"] = "Ŝatokupoj/Interesoj";
-App::$strings["Contact information and Social Networks"] = "Kontaktaj informoj kaj Interkonaj Retejoj";
-App::$strings["Musical interests"] = "Muzikaj interesoj";
-App::$strings["Books, literature"] = "Libroj, literaturo";
-App::$strings["Television"] = "Televido";
-App::$strings["Film/dance/culture/entertainment"] = "Filmoj/dancoj/arto/amuzaĵoj";
-App::$strings["Love/romance"] = "Amo/romanco";
-App::$strings["Work/employment"] = "Laboro";
-App::$strings["School/education"] = "Lernejo/eduko";
-App::$strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Ĉi tio estas via <strong>publika</strong> profilo. Ĝi <strong>eble</strong> estas videbla al ĉiuj en interreto. ";
-App::$strings["Age: "] = "Aĝo:";
-App::$strings["Edit/Manage Profiles"] = "Redakti/administri Profilojn";
-App::$strings["Change profile photo"] = "Ŝanĝi profilbildon";
-App::$strings["Create New Profile"] = "Krei novan profilon";
-App::$strings["Profile Image"] = "Profilbildo";
-App::$strings["visible to everybody"] = "videbla al ĉiuj";
-App::$strings["Edit visibility"] = "Redakti videblecon";
-App::$strings["Save to Folder:"] = "Konservi en Dosierujo:";
-App::$strings["- select -"] = "- elekti -";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s markis la %3\$s de %2\$s kun %4\$s";
-App::$strings["No potential page delegates located."] = "Ne trovis delegiteblajn paĝojn.";
-App::$strings["Delegate Page Management"] = "Administrado de Delegitajn Paĝojn";
-App::$strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Delegitoj povas administri ĉiujn ecojn de la konto/paĝo, escepte bazaj kontoagordoj. Bonvolu ne delegitigi vian personan konton al iu al kiu vi ne plene fidas.";
-App::$strings["Existing Page Managers"] = "Estantaj Administrantoj de la Paĝo";
-App::$strings["Existing Page Delegates"] = "Estantaj Delegitoj de la Paĝo";
-App::$strings["Potential Delegates"] = "Eblaj Delegitoj";
-App::$strings["Add"] = "Aldoni";
-App::$strings["No entries."] = "Neniom da afiŝoj.";
-App::$strings["Friend Suggestions"] = "Amikosugestoj";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Neniu sugestoj disponeblas. Se ĉi tiu estas nova retejo, bonvolu reprovi post 24 horoj.";
-App::$strings["Ignore/Hide"] = "Ignori/Kaŝi";
-App::$strings["Global Directory"] = "Tutmonda Katalogo";
-App::$strings["Find on this site"] = "Trovi en ĉi retejo";
-App::$strings["Site Directory"] = "Reteja Katalogo";
-App::$strings["Gender: "] = "Sekso:";
-App::$strings["No entries (some entries may be hidden)."] = "Neniom da afiŝoj (kelkaj afiŝoj eble ne estas videbla).";
-App::$strings["%s : Not a valid email address."] = "%s: Ne estas valida retpoŝtadreso.";
-App::$strings["Please join us on Friendica"] = "Bonvolu aliĝi kun ni ĉe Friendica";
-App::$strings["%s : Message delivery failed."] = "%s: La livero de la mesaĝo malsukcesis.";
-App::$strings["%d message sent."] = array(
- 0 => "Sendis %d mesaĝon.",
- 1 => "Sendis %d mesaĝojn.",
-);
-App::$strings["You have no more invitations available"] = "Vi ne plu disponeblas invitaĵojn";
-App::$strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "Vizitu %s por listo de publikaj retejoj kie vi povas aliĝi. Anoj de Friendica ĉe aliaj retejoj povas konekti unu kun la alian, kaj ankaŭ kun membroj de multaj aliaj retejoj.";
-App::$strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "Por akcepti ĉi tiu invito, bonvolu viziti kaj registriĝi ĉe %s au alia publika Friendica retejo.";
-App::$strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "Ĉiuj Friendica retejoj interkonektiĝas kaj kune faras grandan altprivatecan interkonan reton, kiun posedas kaj kontrolas ĝiaj membroj. Ili ankaŭ povas konekti kun multe de tradiciaj interkonaj retejoj. Vidu %s por listo de publikaj retejoj kie vi povas aliĝi.";
-App::$strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "Senkulpigu nin. La sistemo nuntempe ne estas agordita por konekti al aliaj retejoj au inviti membrojn.";
-App::$strings["Send invitations"] = "Sendi invitojn";
-App::$strings["Enter email addresses, one per line:"] = "Entajpu retpoŝtadresojn, po unu por ĉiu linio.";
-App::$strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "Ni bonkore invitas vin aliĝi kun ni kaj aliaj bonaj amikoj ĉe Friendica. Helpu nin krei pli bonan interkonan reton.";
-App::$strings["You will need to supply this invitation code: \$invite_code"] = "Vi bezonas ĉi-tiun invitkodon: \$invite_code";
-App::$strings["Once you have registered, please connect with me via my profile page at:"] = "Kiam vi registris, bonvolu konekti al mi pere de mi profilo ĉe: ";
-App::$strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Por pli da informoj pri Friendica, kaj kial ni pensas ke ĝi estas grava, bonvolu viziti http://friendica.com";
-App::$strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Tio ĉi okazis de tempo al tempo se ambaŭ personoj petas kontakton ka ĝi jam estas aprobita.";
-App::$strings["Response from remote site was not understood."] = "Ne komprenis la rispondon de la fora retejo.";
-App::$strings["Unexpected response from remote site: "] = "Neatendita rispondo de la fora retejo:";
-App::$strings["Confirmation completed successfully."] = "Konfirmo sukcese kompletigita.";
-App::$strings["Remote site reported: "] = "La fora retejo raportis:";
-App::$strings["Temporary failure. Please wait and try again."] = "Dumtempa eraro. Bonvolu atendi kaj provi refoje.";
-App::$strings["Introduction failed or was revoked."] = "La prezento malsukcesis au estas revokita.";
-App::$strings["Unable to set contact photo."] = "Neeblas agordi la kontaktbildo.";
-App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s amikiĝis kun %2\$s";
-App::$strings["No user record found for '%s' "] = "Ne trovis uzanton '%s' ";
-App::$strings["Our site encryption key is apparently messed up."] = "Ŝajnas kvazaŭ la ĉifroŝlosilo de nia retejo estas fuŝita.";
-App::$strings["Empty site URL was provided or URL could not be decrypted by us."] = "Malplena adreso de retejo provizita, aŭ ni ne povis malĉifri la adreson.";
-App::$strings["Contact record was not found for you on our site."] = "Kontakto ne trovita por vi en via retejo.";
-App::$strings["Site public key not available in contact record for URL %s."] = "Publika ŝlosilo de retejo ne disponeblas en la kontaktrikordo por la URL adreso %s.";
-App::$strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "La identeco provizita de via sistemo estas duoblo ĉe nia sistemo. Ĝi eble funkcias se vi provas refoje.";
-App::$strings["Unable to set your contact credentials on our system."] = "Ne sukcesis agordi la legitimaĵojn de via kontakto ĉe nia sistemo.";
-App::$strings["Unable to update your contact profile details on our system"] = "Neeblas ĝisdatigi viajn profildetalojn ĉe nia sistemo.";
-App::$strings["Connection accepted at %s"] = "Konekto akceptita je %s";
-App::$strings["%1\$s has joined %2\$s"] = "%1\$s aliĝis al %2\$s";
-App::$strings["Google+ Import Settings"] = "Google+ Importo";
-App::$strings["Enable Google+ Import"] = "Aktivigi Ĝoogle+ Importon";
-App::$strings["Google Account ID"] = "Google Konto ID";
-App::$strings["Google+ Import Settings saved."] = "Konservis Agordojn por Google+ Importo.";
-App::$strings["Facebook disabled"] = "Facebook malŝaltita";
-App::$strings["Updating contacts"] = "Mi ĝisdatigas la kontaktojn.";
-App::$strings["Facebook API key is missing."] = "La API ŝlosilo de Facebook ne estas konata ĉi tie.";
-App::$strings["Facebook Connect"] = "Kontekto al Facebook";
-App::$strings["Install Facebook connector for this account."] = "Instali la Facebook konektilo por ĉi tiu konto.";
-App::$strings["Remove Facebook connector"] = "Forigi la Facebook konektilon.";
-App::$strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "Reaŭtentiĝi [Tio estas bezonata ĉiam kiam vi ŝanĝis vian pasvorton ĉe Facebook.]";
-App::$strings["Post to Facebook by default"] = "Ĉiam afiŝi al Facebook.";
-App::$strings["Facebook friend linking has been disabled on this site. The following settings will have no effect."] = "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. La sekvantaj agordoj do ne havas validecon.";
-App::$strings["Facebook friend linking has been disabled on this site. If you disable it, you will be unable to re-enable it."] = "Ligado kun Facebook amikoj estas malaktivita ĉe tiu retejo. Se vi malŝaltas ĝin, vi ne eblos ree ŝalti ĝin.";
-App::$strings["Link all your Facebook friends and conversations on this website"] = "Alligu ĉiujn viajn Facebook amikojn kaj konversaciojn je ĉi-tiu retejo.";
-App::$strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "Facebok konversacioj konsistas el via <em>profilmuro</em> kaj la <em>fluo</em> de viaj amikoj.";
-App::$strings["On this website, your Facebook friend stream is only visible to you."] = "Je ĉi-tiu retejo, la fluo de viaj amikoj ĉe Facebook nur videblas al vi.";
-App::$strings["The following settings determine the privacy of your Facebook profile wall on this website."] = "La sekvontaj agordoj difinas la privatecon de via Facebook profilmuro je ĉi-tiu retejo.";
-App::$strings["On this website your Facebook profile wall conversations will only be visible to you"] = "Je ĉi-tiu retejo, la conversacioj sur via Facebook profilmuro nur videblas al vi.";
-App::$strings["Do not import your Facebook profile wall conversations"] = "Ne importi konversaciojn de via Facebook profilmuro";
-App::$strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = "Se vi elektas alligi conversaciojn kaj ne elektas tiujn butonojn, via Facebook profilmuro estas kunigota kun via profilmuro ĉi tie. Viaj privatecaj agordoj ĉi tie difinos kiu povas vidi la coversaciojn.";
-App::$strings["Comma separated applications to ignore"] = "Ignorotaj programoj, disigita per komo";
-App::$strings["Problems with Facebook Real-Time Updates"] = "Problemoj kun Facebook Realtempaj Ĝisdatigoj";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Facebook Connector Settings"] = "Agordoj por la Facebook konektilo";
-App::$strings["Facebook API Key"] = "Facebook API ŝlosilo";
-App::$strings["Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>"] = "Eraro: Ŝajnas kvazaŭ vi agordis la App-ID kaj la sekreton en via .htconfig.php dosiero. Kiam ili estas agordita tie, vi ne povas agordi ĝin en tiu ĉi formo.<br><br>";
-App::$strings["Error: the given API Key seems to be incorrect (the application access token could not be retrieved)."] = "Eraro: La API ŝlosilo aspektas malĝusta (ne eblas ricevi la programa atingoĵetono).";
-App::$strings["The given API Key seems to work correctly."] = "La API ŝlosilo ŝajne ĝuste funkcias.";
-App::$strings["The correctness of the API Key could not be detected. Somthing strange's going on."] = "Ne povis kontroli la ĝustecon de la API ŝlosilo. Ia stranga afero okazas. ";
-App::$strings["App-ID / API-Key"] = "Programo ID / API Ŝlosilo";
-App::$strings["Application secret"] = "Programo sekreto";
-App::$strings["Polling Interval in minutes (minimum %1\$s minutes)"] = "Intervalo de enketo en minutoj (minimume %1\$s minutoj)";
-App::$strings["Synchronize comments (no comments on Facebook are missed, at the cost of increased system load)"] = "Sinkronigi komentojn (vi ricevas ĉiujn komentojn de Facebook, sed la ŝargo de la sistemo iom kreskas)";
-App::$strings["Real-Time Updates"] = "Realtempaj Ĝisdatigoj";
-App::$strings["Real-Time Updates are activated."] = "Realtempaj Ĝisdatigoj estas ŝaltita";
-App::$strings["Deactivate Real-Time Updates"] = "Malŝalti Realtempaj Ĝisdatigoj";
-App::$strings["Real-Time Updates not activated."] = "Realtempaj Ĝisdatigoj estas malŝaltita";
-App::$strings["Activate Real-Time Updates"] = "Ŝalti Realtempaj Ĝisdatigoj";
-App::$strings["The new values have been saved."] = "Konservis novajn valorojn.";
-App::$strings["Post to Facebook"] = "Afiŝi al Facebook";
-App::$strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Afiŝado al Facebook nuligita ĉar okazis konflikto en la multretpermesoj.";
-App::$strings["View on Friendica"] = "Vidi ĉe Friendica";
-App::$strings["Facebook post failed. Queued for retry."] = "Malsukcesis afiŝi ĉe Facebook. Enigita en vico.";
-App::$strings["Your Facebook connection became invalid. Please Re-authenticate."] = "Via Facbook konekto iĝis nevalida. Bonvolu reaŭtentiĝi.";
-App::$strings["Facebook connection became invalid"] = "Facebook konekto iĝis nevalida.";
-App::$strings["Hi %1\$s,\n\nThe connection between your accounts on %2\$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3\$sre-authenticate the Facebook-connector%4\$s."] = "Saluton %1\$s,\n\nla kontekto inter viaj kontoj ĉe %2\$s kaj Facebook malvalidiĝis. Tio kutime okazas post kiam via ŝangas vian pasvorton ĉe Facebook. Por reaktivigi la konekto, vi bezonas %3\$sreaŭtentiĝi la Facebook konektilon%4\$s.";
-App::$strings["StatusNet AutoFollow settings updated."] = "Ĝidatigis StatusNet AutoFollow agordojn.";
-App::$strings["StatusNet AutoFollow Settings"] = "StatusNet AutoFollow agordoj";
-App::$strings["Automatically follow any StatusNet followers/mentioners"] = "Aŭtomate sekvu ĉiujn StatusNet sekvantojn/menciantojn.";
-App::$strings["Lifetime of the cache (in hours)"] = "Vivodaŭro de kaŝmemoro (horoj)";
-App::$strings["Cache Statistics"] = "Statistikoj pri kaŝmemoro";
-App::$strings["Number of items"] = "Kvanto da eroj";
-App::$strings["Size of the cache"] = "Grando de la kaŝmemoro";
-App::$strings["Delete the whole cache"] = "Forviŝi la kaŝmemoron";
-App::$strings["%d person likes this"] = array(
- 0 => "%d homo ŝatas tiun",
- 1 => "%d homoj ŝatas tiun",
-);
-App::$strings["%d person doesn't like this"] = array(
- 0 => "%d homo malŝatas tiun",
- 1 => "%d homo malŝatas tiun",
-);
-App::$strings["Get added to this list!"] = "Iĝu membro de ĉi tiu listo!";
-App::$strings["Generate new key"] = "Generi novan ĉifroŝlosilon";
-App::$strings["Widgets key"] = "Ŝlosilo por fenestraĵoj";
-App::$strings["Widgets available"] = "Disponeblaj fenestraĵoj";
-App::$strings["Connect on Friendica!"] = "Konekti ĉe Friendica!";
-App::$strings["YourLS Settings"] = "\"YourLS\" Agordoj";
-App::$strings["URL: http://"] = "URL adreso: http://";
-App::$strings["Username:"] = "Salutnomo:";
-App::$strings["Password:"] = "Pasvorto:";
-App::$strings["Use SSL "] = "Uzi SSL ";
-App::$strings["yourls Settings saved."] = "Konservis la agordojn de YourLS.";
-App::$strings["Post to LiveJournal"] = "Afiŝi ĉe LiveJournal";
-App::$strings["LiveJournal Post Settings"] = "Agordoj pri afiŝoj ĉe LiveJournal";
-App::$strings["Enable LiveJournal Post Plugin"] = "Ŝalti la LiveJournal-afiŝo kromprogramon.";
-App::$strings["LiveJournal username"] = "LiveJournal Salutnomo";
-App::$strings["LiveJournal password"] = "LiveJournal pasvorto";
-App::$strings["Post to LiveJournal by default"] = "Defaŭlte afiŝi al LiveJournal";
-App::$strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Not Safe For Work (ĝenerala filtrilo por enhavoj) agordoj";
-App::$strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo. La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo.";
-App::$strings["Enable Content filter"] = "Ŝalti la filtrilo por la enhavo";
-App::$strings["Comma separated list of keywords to hide"] = "Perkome disigita listo da kaŝontaj ŝlosilvortoj";
-App::$strings["Use /expression/ to provide regular expressions"] = "Uzu /expr/ por provizi regulajn esprimojn.";
-App::$strings["NSFW Settings saved."] = "NSFW agordoj konservitaj.";
-App::$strings["%s - Click to open/close"] = "%s - Klaku por malfermi/fermi";
-App::$strings["Forums"] = "Forumoj";
-App::$strings["show more"] = "montri pli";
-App::$strings["Forums:"] = "Forumoj:";
-App::$strings["Page settings updated."] = "Paĝajn agordojn ĝisdatigita.";
-App::$strings["Page Settings"] = "Paĝaj Agordoj";
-App::$strings["How many forums to display on sidebar without paging"] = "Montri tiom da forumoj en la flanka strio sen paĝigo";
-App::$strings["Randomise Page/Forum list"] = "Hazardigi la liston de Paĝoj/Forumoj";
-App::$strings["Show pages/forums on profile page"] = "Montri paĝojn/forumojn sur la profilpaĝo";
-App::$strings["Planets Settings"] = "Agordo pri Planets";
-App::$strings["Enable Planets Plugin"] = "Ŝalti la Planets kromprogamon";
-App::$strings["Login"] = "Ensaluti";
-App::$strings["OpenID"] = "OpenID";
-App::$strings["Latest users"] = "Ĵusaj uzantoj";
-App::$strings["Most active users"] = "Plej aktivaj uzantoj";
-App::$strings["Latest photos"] = "Ĵusaj bildoj";
-App::$strings["Latest likes"] = "Ĵusaj ŝatitaĵoj";
-App::$strings["event"] = "okazo";
-App::$strings["U.S. Time Format (mm/dd/YYYY)"] = "Usona datformato (mm/dd/YYYY)";
-App::$strings["German Time Format (dd.mm.YYYY)"] = "Germana datformato (dd.mm.YYYY)";
-App::$strings["Error"] = "Eraro";
-App::$strings["No access"] = "No access";
-App::$strings["New event"] = "Nova okazo";
-App::$strings["Today"] = "Hodiaŭ";
-App::$strings["Day"] = "Tago";
-App::$strings["Week"] = "Semajno";
-App::$strings["Month"] = "Monato";
-App::$strings["Reload"] = "Reŝargi";
-App::$strings["Date"] = "Dato";
-App::$strings["Not found"] = "Ne trovita";
-App::$strings["Go back to the calendar"] = "Iri reen al la kalendaro";
-App::$strings["Starts"] = "Komencas";
-App::$strings["Ends"] = "Finas";
-App::$strings["Description"] = "Priskribo";
-App::$strings["Notification"] = "Atentigo";
-App::$strings["Minutes"] = "Minutoj";
-App::$strings["Hours"] = "Horoj";
-App::$strings["Days"] = "Tagoj";
-App::$strings["before"] = "antaŭ";
-App::$strings["Calendar Settings"] = "Kalendaraj Agordoj";
-App::$strings["Date format"] = "Datformato";
-App::$strings["Time zone"] = "Horzono";
-App::$strings["Limitations"] = "Limigoj";
-App::$strings["Warning"] = "Averto";
-App::$strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)";
-App::$strings["Synchronizing this calendar with the iPhone"] = "Sinkronigi tiun kalendaron kun la iPhone";
-App::$strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sinkronigi viajn Friendica kontaktojn kun la iPhone";
-App::$strings["Friendica-Contacts"] = "Friendica Kontaktoj";
-App::$strings["Your Friendica-Contacts"] = "Viaj Friendica Kontaktoj";
-App::$strings["Calendar"] = "Kalendaro";
-App::$strings["Extended calendar with CalDAV-support"] = "Etendita kalendaro kun CalDAV subteno";
-App::$strings["The database tables have been installed."] = "La tabeloj estas instalita en la datumbazo";
-App::$strings["An error occurred during the installation."] = "Eraro okazis dum instalado";
-App::$strings["No system-wide settings yet."] = "Ankoraŭ ne disponablas tutsistemaj agordoj";
-App::$strings["Database status"] = "Stato de datumbazo";
-App::$strings["Installed"] = "Instalita";
-App::$strings["Upgrade needed"] = "Ĝisdatigo bezonata";
-App::$strings["Upgrade"] = "Ĝisdatigo";
-App::$strings["Not installed"] = "Ne instalita";
-App::$strings["Install"] = "Instali";
-App::$strings["Troubleshooting"] = "Problemsolvado";
-App::$strings["Manual creation of the database tables:"] = "Mana kreado de tabeloj en la datumbazo:";
-App::$strings["Show SQL-statements"] = "Montru SQL ordonojn";
-App::$strings["Private Calendar"] = "Privata kalendaro";
-App::$strings["Friendica Events: Mine"] = "Friendica Okazoj: Miaj";
-App::$strings["Friendica Events: Contacts"] = "Friendica Okazoj: De Kontaktoj";
-App::$strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = "Permesi vian identecon ĉe Friendica (%s) por konekti al eksteraj konservejoj subtenata de unhosted (ekz. OwnCloud). Vidu <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>";
-App::$strings["Template URL (with {category})"] = "URL adreso de ŝablono (kun {category})";
-App::$strings["OAuth end-point"] = "OAuth finpunkto";
-App::$strings["Api"] = "Api";
-App::$strings["Member since:"] = "Membro ekde:";
-App::$strings["Three Dimensional Tic-Tac-Toe"] = "Tri-dimensia Tiktakto";
-App::$strings["3D Tic-Tac-Toe"] = "3D Tiktakto";
-App::$strings["New game"] = "Nova ludo";
-App::$strings["New game with handicap"] = "Nova ludo kun handikapo";
-App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Tri-dimensia tiktakto similas la tradician ludon, sed estas ludata sur pluraj ebenoj dum la sama tempo.";
-App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "Ĉi-kaze ekzistas tri ebenoj. Vi venkas vicigante tri signojn en una vico, en la sama ebeno, same kiel supren, malsupren aŭ diagonale, trans la ebenoj.";
-App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "La ludo kun handikapo malvalidigas la mezan pozicion sur la meza ebeno, ĉar la ludisto kio okupas ĉi tiun pozicion ĉiam havas avantaĝon.";
-App::$strings["You go first..."] = "Estas via vico unue.";
-App::$strings["I'm going first this time..."] = "Ĉi-tempe, unue estas mia vico.";
-App::$strings["You won!"] = "Vi venkis!";
-App::$strings["\"Cat\" game!"] = "Sendecida ludo!";
-App::$strings["I won!"] = "Mi venkis!";
-App::$strings["Randplace Settings"] = "Randplace agordoj.";
-App::$strings["Enable Randplace Plugin"] = "Aktivigi la Randplace kromprogramon.";
-App::$strings["Post to Dreamwidth"] = "Afiŝi al Dreamwidth";
-App::$strings["Dreamwidth Post Settings"] = "Agordoj por Afiŝoj al Dreamwidth";
-App::$strings["Enable dreamwidth Post Plugin"] = "Ŝalti la Dreamwidth Kromprogramon";
-App::$strings["dreamwidth username"] = "Dreamwidth salutnomo";
-App::$strings["dreamwidth password"] = "Dreamwidth pasvorto";
-App::$strings["Post to dreamwidth by default"] = "Defaŭlte afiŝi al Dreamwidth";
-App::$strings["Post to Drupal"] = "Afiŝi al Drupal";
-App::$strings["Drupal Post Settings"] = "Agordoj por Drupal Afiŝoj";
-App::$strings["Enable Drupal Post Plugin"] = "Ŝalti la Drupal-afiŝo Kromprogramon";
-App::$strings["Drupal username"] = "Drupal salutnomo";
-App::$strings["Drupal password"] = "Drupal pasvorto";
-App::$strings["Post Type - article,page,or blog"] = "Tipo de Afiŝoj - article, page, aŭ blog";
-App::$strings["Drupal site URL"] = "URL adreso de Drupal retejo";
-App::$strings["Drupal site uses clean URLS"] = "Drupal retejo uzas purajn URL adresojn";
-App::$strings["Post to Drupal by default"] = "Defaŭlte afiŝi ĉe Drupal";
-App::$strings["Post from Friendica"] = "Afiŝo de Friendica";
-App::$strings["Startpage Settings"] = "Startpaĝaj Agordoj";
-App::$strings["Home page to load after login - leave blank for profile wall"] = "Hejmpaĝo ŝargonta post la ensaluto - Lasu malplena por profilmuro.";
-App::$strings["Examples: &quot;network&quot; or &quot;notifications/system&quot;"] = "Ekzemple: &quot;network&quot; aŭ &quot;notifications/system&quot;";
-App::$strings["Geonames settings updated."] = "Ĝidatigis la Geonames agordojn.";
-App::$strings["Geonames Settings"] = "Geonames Agordoj";
-App::$strings["Enable Geonames Plugin"] = "Ŝalti la Geonames Kromprogramon";
-App::$strings["Your account on %s will expire in a few days."] = "Via konto ĉe %s senvalidiĝos post kelkaj tagoj.";
-App::$strings["Your Friendica account is about to expire."] = "Via konto ĉe Friendica baldaŭ senvalidiĝos.";
-App::$strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "Saluton %1\$s,\n\nVia konto ĉe %2\$s senvalidiĝos post malpli ol kvin tagoj. Vi povas konservi vian konton se vi ensalutas almenaŭ ĉiujn 30 tagojn. ";
-App::$strings["Upload a file"] = "Alŝuti dosieron";
-App::$strings["Drop files here to upload"] = "Ŝovmeti dosierojn ĉi tie por alŝuti ilin.";
-App::$strings["Failed"] = "Malsukcesi";
-App::$strings["No files were uploaded."] = "Neniom da dosieroj alŝutita.";
-App::$strings["Uploaded file is empty"] = "Alŝutita dosiero estas malplena.";
-App::$strings["File has an invalid extension, it should be one of "] = "Dosiero havas nevalidan sufikson. Ĝi estu unu de ";
-App::$strings["Upload was cancelled, or server error encountered"] = "Alŝutado estas nuligita aŭ okazis eraro sur la servilo";
-App::$strings["OEmbed settings updated"] = "Ĝisdatigis OEmbed agordojn";
-App::$strings["Use OEmbed for YouTube videos"] = "Uzi OEmbed por YouTube videtoj";
-App::$strings["URL to embed:"] = "Enigi la URL adreson:";
-App::$strings["Impressum"] = "Kolofono";
-App::$strings["Site Owner"] = "Proprietulo de la paĝo";
-App::$strings["Email Address"] = "Retpoŝta Adreso";
-App::$strings["Postal Address"] = "Poŝta Adreso";
-App::$strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "La kolofono (impressum) kromprogramo bezonas agordojn!<br />Bonvolu aldoni minimume la <tt>owner</tt> variablon al via agorda dosiero. Por aliaj variabloj, bonvolu legi la README dosieron de la kromprogramo.";
-App::$strings["The page operators name."] = "La nomo de la funkciigisto de la retejo.";
-App::$strings["Site Owners Profile"] = "Profilo de la Proprietulo de la Retejo";
-App::$strings["Profile address of the operator."] = "La profilo de la funkciigisto de la retejo.";
-App::$strings["How to contact the operator via snail mail. You can use BBCode here."] = "Kiel poŝte kontakti la funkciigisto de la retejo. Vi eblas uzi BBCode ĉi tie.";
-App::$strings["Notes"] = "Notoj";
-App::$strings["Additional notes that are displayed beneath the contact information. You can use BBCode here."] = "Pli da notoj kiuj aperas sub la kontaktinformoj. Vi eblas uzi BBCode ĉi tie.";
-App::$strings["How to contact the operator via email. (will be displayed obfuscated)"] = "Kiel kontakti la funkciigiston de la retejo per retpoŝto. (montriĝos vuale) ";
-App::$strings["Footer note"] = "Paĝpiednoto";
-App::$strings["Text for the footer. You can use BBCode here."] = "Teksto por la paĝpiedo. Vie eblas uzi BBCode ĉi tie.";
-App::$strings["Report Bug"] = "Skribi cimraporton";
-App::$strings["No Timeline settings updated."] = "No Timeline agordojn ĝisdatigita.";
-App::$strings["No Timeline Settings"] = "No Timeline Agordoj";
-App::$strings["Disable Archive selector on profile wall"] = "Malaktivigi la Arkivo elektilo sur la profilmuro";
-App::$strings["\"Blockem\" Settings"] = "\"Blockem\" Agordoj";
-App::$strings["Comma separated profile URLS to block"] = "Blokotaj URL adresoj, disigita per komo";
-App::$strings["BLOCKEM Settings saved."] = "Konservis Agordojn de BLOCKEM.";
-App::$strings["Blocked %s - Click to open/close"] = "%s blokita - Klaku por malfermi/fermi";
-App::$strings["Unblock Author"] = "Malbloki Aŭtoron";
-App::$strings["Block Author"] = "Bloki Aŭtoron";
-App::$strings["blockem settings updated"] = "Ĝisdatigis la blockem agordojn";
-App::$strings[":-)"] = ":-)";
-App::$strings[":-("] = ":-(";
-App::$strings["lol"] = "lol";
-App::$strings["Quick Comment Settings"] = "Agordoj pri Rapidaj Komentoj";
-App::$strings["Quick comments are found near comment boxes, sometimes hidden. Click them to provide simple replies."] = "Rapidaj komentoj troviĝas apud komentkampoj, kelkfoje kaŝita. Klaku ilin por provizi simplajn rispondojn.";
-App::$strings["Enter quick comments, one per line"] = "Entajpu rapidaj komentoj, po unu je linio.";
-App::$strings["Quick Comment settings saved."] = "Konservis agordojn pri rapidaj komentoj.";
-App::$strings["Tile Server URL"] = "Adreso de Kahelservilo";
-App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Listo de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publikaj kahelserviloj</a>";
-App::$strings["Default zoom"] = "Defaŭlta zoma faktoro";
-App::$strings["The default zoom level. (1:world, 18:highest)"] = "La defaŭlta zoma faktoro. (1:tutmonda, 18:plej proksima)";
-App::$strings["Post to libertree"] = "Afiŝi al libertree";
-App::$strings["libertree Post Settings"] = "Agordoj por Afiŝoj ĉe libertree";
-App::$strings["Enable Libertree Post Plugin"] = "Aktivigi Kromprogramon por Afiŝoj ĉe libertree";
-App::$strings["Libertree API token"] = "Libertree API ĵetono";
-App::$strings["Libertree site URL"] = "URL adreso de libertree retejo:";
-App::$strings["Post to Libertree by default"] = "Defaŭlte afiŝi ĉe Libertree";
-App::$strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "La Mathjax kromprogramo bildigas matematikajn formulojn skribitajn en la LaTeX sintakso, cirkaŭigita de la komuna $$ aŭ eqnarray bloko en afiŝoj ĉe via muro, Reto folio kaj privataj mesaĝoj.";
-App::$strings["Use the MathJax renderer"] = "Ĉu uzi la Mathjax bildigilo";
-App::$strings["MathJax Base URL"] = "Mathjax Baza URL Adreso";
-App::$strings["The URL for the javascript file that should be included to use MathJax. Can be either the MathJax CDN or another installation of MathJax."] = "La URL adreso por la javascript dosiero kiu estas inkluzivigonta por uzi Mathjaz. Eblas esti aŭ la Mathjax CDN aŭ alia Mathjax instalo.";
-App::$strings["Editplain settings updated."] = "Ĝisdatigis la Editplain agordojn.";
-App::$strings["Editplain Settings"] = "Agordoj por Editplain";
-App::$strings["Disable richtext status editor"] = "Malŝalti la riĉteksto-redaktilon";
-App::$strings["generic profile image"] = "komuna profilbildo";
-App::$strings["random geometric pattern"] = "loteca geometria skemo";
-App::$strings["monster face"] = "monstrobildo";
-App::$strings["computer generated face"] = "komputita vizaĝo";
-App::$strings["retro arcade style face"] = "retrostila videoludstila vizaĝo";
-App::$strings["Default avatar image"] = "Defaŭlta avatarbildo";
-App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "Elektu defaŭltan avatarbildon se neniu troviĝis ĉe Gravatar. Vidu README.";
-App::$strings["Rating of images"] = "Pritakso de bildoj";
-App::$strings["Select the appropriate avatar rating for your site. See README"] = "Elektu la ĝustan pritakson de via avataro por via retejo. Vidu README.";
-App::$strings["Gravatar settings updated."] = "Gravatar agordoj ĝisdatigitaj.";
-App::$strings["Your Friendica test account is about to expire."] = "Via Friendica provkonto baldaŭ malaktiviĝos.";
-App::$strings["Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."] = "Saluton %1\$s,\n\nVia testkonto ĉe %2\$s senvalidiĝos post malpli ol kvin tagoj. Vi esperas ke vi ĝuis la teston kaj baldaŭ trovosĝustan Friendica retejon por via integrita sociala komunikado. Listo de publikaj retejoj troviĝas ĉe http://dir.friendica.com/siteinfo - kaj por pli da informoj pri kiel instali vian propran Friendica servilon, bonvolu viziti la retejon de la Friendica projekton ĉe http://friendica.com.";
-App::$strings["\"pageheader\" Settings"] = "\"pageheader\" Agordoj";
-App::$strings["pageheader Settings saved."] = "Konservis Agordojn de pageheader.";
-App::$strings["Post to Insanejournal"] = "Afiŝi al Insanejournal";
-App::$strings["InsaneJournal Post Settings"] = "Agordoj pri Insaenejournal Afiŝoj";
-App::$strings["Enable InsaneJournal Post Plugin"] = "Ŝalti la InsaneJournal afiŝo kromprogramon.";
-App::$strings["InsaneJournal username"] = "Salutnomo ĉe InsaneJournal";
-App::$strings["InsaneJournal password"] = "Pasvorto ĉe InsaneJournal";
-App::$strings["Post to InsaneJournal by default"] = "Defaŭlte afiŝi ĉe InsaneJournal";
-App::$strings["View Source"] = "Vidi Fonton";
-App::$strings["Post to StatusNet"] = "Afiŝi ĉe StatusNet";
-App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Bonvolu kontaki vian retejan administranton.<br />La API URL adreso ne validas.";
-App::$strings["We could not contact the StatusNet API with the Path you entered."] = "Ni ne povis trovi la StatusNet API kun la vojo kiun vi entajpis.";
-App::$strings["StatusNet settings updated."] = "StatusNet agordoj ĝisdatigita.";
-App::$strings["StatusNet Posting Settings"] = "Agordoj por StausNet afiŝoj";
-App::$strings["Globally Available StatusNet OAuthKeys"] = "Ĝeneralaj disponeblaj StatusNet OAuth ŝlosiloj";
-App::$strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "Disponeblas antaŭagorditaj ŝlosilparoj por kelkaj StatusNet serviloj. Se via uzas iun de iu, bonvolu uzi unun de tiuj legitimaĵojn. Se ne, bonvolu konekti al iu alia StatusNet servilo (vidu malsupre).";
-App::$strings["Provide your own OAuth Credentials"] = "Provizi viajn proprajn OAuth legitimaĵojn";
-App::$strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = "Ne trovis klientajn ŝlosilojn por StatusNet. Registru vian Friendica konton kiel klientkomputilo/desktop client en via StausNet konto. Kopiu la klientajn ŝlosilojn ĉi tien kaj entajpu la baza API radiko.<br />Antaŭ vi registros viajn proprajn OAuth ŝlosilojn, demandu al la administranto ĉu jam ekzistas ŝlosiloj por ĉi-tiu Friendia retejo je via StatusNet retejo.";
-App::$strings["OAuth Consumer Key"] = "OAuth Ŝlosilo de Kliento";
-App::$strings["OAuth Consumer Secret"] = "OAuth Sekreto de Kliento";
-App::$strings["Base API Path (remember the trailing /)"] = "Baza vojo al la API (ne forgesu la finan /)";
-App::$strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Por konekti al vian konton ĉe StatusNet, klaku la malsupran butonon por atingi sekurecan kodon de StatusNet, kiun vi devas alglui en la malsupra kampo kaj sendi la formon. Nur viaj <strong>publikaj</strong> afiŝoj estos afiŝota al StatusNet.";
-App::$strings["Log in with StatusNet"] = "Ensaluti kun StatusNet.";
-App::$strings["Copy the security code from StatusNet here"] = "Alglui la kodon de StatusNet ĉi tie:";
-App::$strings["Cancel Connection Process"] = "Nuligi Konektadon";
-App::$strings["Current StatusNet API is"] = "La nuna StatusNet API estas";
-App::$strings["Cancel StatusNet Connection"] = "Nuligi Konekton al StatusNet";
-App::$strings["Currently connected to: "] = "Konektita al:";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita StatusNet konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin.";
-App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al StatusNet gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita.";
-App::$strings["Allow posting to StatusNet"] = "Permesi afiŝojn al StatusNet";
-App::$strings["Send public postings to StatusNet by default"] = "Defaŭlte sendi publikajn afiŝojn al StatusNet";
-App::$strings["Send linked #-tags and @-names to StatusNet"] = "Sendi ligitajn #-etikedojn kaj @-nomon al StatusNet";
-App::$strings["Clear OAuth configuration"] = "Forviŝi OAuth agordojn";
-App::$strings["API URL"] = "API URL adreso";
-App::$strings["Infinite Improbability Drive"] = "Senfina Probableca Pelilo";
-App::$strings["Post to Tumblr"] = "Afiŝi al Tumblr";
-App::$strings["Tumblr Post Settings"] = "Agordoj pri afiŝoj ĉe Tumblr";
-App::$strings["Enable Tumblr Post Plugin"] = "Ŝalti la kromprogramon por Tumblr afiŝoj";
-App::$strings["Tumblr login"] = "Salutnomo ĉe Tumblr";
-App::$strings["Tumblr password"] = "Pasvorto ĉe Tumblr";
-App::$strings["Post to Tumblr by default"] = "Defaŭlte afiŝi ĉe Tumblr";
-App::$strings["Numfriends settings updated."] = "Ĝisdatigis agordojn por Numfriends.";
-App::$strings["Numfriends Settings"] = "Agordoj por Numfriends";
-App::$strings["How many contacts to display on profile sidebar"] = "Kiom da kontaktoj mi montru en la flanka strio";
-App::$strings["Gnot settings updated."] = "Ĝisdatigis Gnot agordojn.";
-App::$strings["Gnot Settings"] = "Agordoj por Gnot";
-App::$strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permesas la ĉenadon de retpoŝtaj atentigoj pri komentoj ĉe Gmail kan anonimigado de la temlinio.";
-App::$strings["Enable this plugin/addon?"] = "Ŝalti tiun kromprogramon?";
-App::$strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Atentigo] Komento pri konversacio #%d";
-App::$strings["Post to Wordpress"] = "Afiŝi al Wordpress";
-App::$strings["WordPress Post Settings"] = "Agordoj por WordPress afiŝojn";
-App::$strings["Enable WordPress Post Plugin"] = "Ŝalti la Wordpress-afiŝo kromprogramon";
-App::$strings["WordPress username"] = "WordPress salutnomo";
-App::$strings["WordPress password"] = "WordPress pasvorto";
-App::$strings["WordPress API URL"] = "Wordpress API URL adreso";
-App::$strings["Post to WordPress by default"] = "Defaŭlte afiŝi al WordPress";
-App::$strings["Provide a backlink to the Friendica post"] = "Provizi re-ligilon al la Friendica afiŝo";
-App::$strings["Read the original post and comment stream on Friendica"] = "Legi la originalan afiŝon kaj komentfluo ĉe Friendica";
-App::$strings["\"Show more\" Settings"] = "\"Montri pli\" agordoj";
-App::$strings["Enable Show More"] = "Ŝalti \"montri pli\"";
-App::$strings["Cutting posts after how much characters"] = "Limitigi afiŝojn al kiom da literoj";
-App::$strings["Show More Settings saved."] = "Konservis \"montri pli\" agordojn.";
-App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ĉi retejo uzas <a href='http://www.piwik.org'>Piwik</a> kiel retuma analizilo.";
-App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Se ni ne protokolu viajn vizitojn tiel, vi <a href='%s'>povas agordi kuketon por malpermesi Piwik al plu protokoli pliajn vizitojn</a> (mem-for-elekti / opt-out).";
-App::$strings["Piwik Base URL"] = "Piwik baza URL adreso";
-App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Absoluta vojo al via Piwik instalo. (sen protokolo (http/s), inkluzive vosta oblikva streketo)";
-App::$strings["Site ID"] = "Reteja idento";
-App::$strings["Show opt-out cookie link?"] = "Montru ligilon al kuketo por mem-for-elekti (opt-out)?";
-App::$strings["Asynchronous tracking"] = "Nesinkrona spurado.";
-App::$strings["Post to Twitter"] = "Afiŝi ĉe Twitter";
-App::$strings["Twitter settings updated."] = "Ĝisdatigis Twitter agordojn.";
-App::$strings["Twitter Posting Settings"] = "Agordoj por afiŝi ĉe Twitter";
-App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ne trovis klientajn ŝlosilojn por Twitter. Bonvolu kontakti vian retejan administranton.";
-App::$strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. ";
-App::$strings["Log in with Twitter"] = "Ensaluti kun Twitter";
-App::$strings["Copy the PIN from Twitter here"] = "Alglui la PIN de Twitter ĉi tie";
-App::$strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Kiam ŝaltita, ĉiuj <strong>publikaj</strong> afiŝoj de vi ankaŭ eblas esti afiŝota al la asociigita Twitter konto. Vi povas elekti ĝin defaŭlte (ĉi tie) au unuope por ĉiuj afiŝoj kiam vi skribos ilin.";
-App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Averto</strong>: Laŭ viaj privatecaj agordoj (<em>Kaŝi viajn profilajn detalojn al nekonataj spektantoj?</em>), la ligilo en publikaj afiŝoj plusendata al Twitter gvidas vizitontojn al malplena paĝo sciigante ilin ke atingo al via profilo estas lmitigita.";
-App::$strings["Allow posting to Twitter"] = "Permesi afiŝojn al Twitter";
-App::$strings["Send public postings to Twitter by default"] = "Defaŭlte sendi publikajn afiŝojn al Twitter";
-App::$strings["Send linked #-tags and @-names to Twitter"] = "Sendi ligitajn #-etikedojn kaj @-nomon al Twitter";
-App::$strings["Consumer key"] = "Ŝlosilo de Kliento";
-App::$strings["Consumer secret"] = "Sekreto de Kliento";
-App::$strings["IRC Settings"] = "IRC Agordoj";
-App::$strings["Channel(s) to auto connect (comma separated)"] = "Aŭtomate konektiĝi al la kanalo(j) (disigita per komo)";
-App::$strings["Popular Channels (comma separated)"] = "Popularaj kanaloj (disigita per komo)";
-App::$strings["IRC settings saved."] = "IRC agordoj konservitaj.";
-App::$strings["IRC Chatroom"] = "IRC babilejo";
-App::$strings["Popular Channels"] = "Popularaj Kanaloj";
-App::$strings["Post to blogger"] = "Afiŝi al blogger";
-App::$strings["Blogger Post Settings"] = "Agordo pri Blogger Afiŝoj";
-App::$strings["Enable Blogger Post Plugin"] = "Ŝalti la Blogger afiŝo kromprogramon";
-App::$strings["Blogger username"] = "Blogger uzantonomo";
-App::$strings["Blogger password"] = "Blogger pasvorto";
-App::$strings["Blogger API URL"] = "Blogger API URL";
-App::$strings["Post to Blogger by default"] = "Defaŭlte afiŝi al Blogger";
-App::$strings["Post to Posterous"] = "Afiŝi al Posterous";
-App::$strings["Posterous Post Settings"] = "Agordoj pri afiŝoj ĉe Posterous";
-App::$strings["Enable Posterous Post Plugin"] = "Ŝalti la Poserous-afiŝo kromprogramon";
-App::$strings["Posterous login"] = "Posterous salutnomo";
-App::$strings["Posterous password"] = "Posterous pasvorto";
-App::$strings["Posterous site ID"] = "Idento de Posterous retejo";
-App::$strings["Posterous API token"] = "API ĵetono de Posterous retejo";
-App::$strings["Post to Posterous by default"] = "Defaŭlte afiŝi al Posterous";
-App::$strings["Theme settings"] = "Agordoj pri la etoso";
-App::$strings["Set resize level for images in posts and comments (width and height)"] = "Agordi la regrandignivelo por bildoj en afiŝoj kaj komentoj (larĝo kaj alto)";
-App::$strings["Set font-size for posts and comments"] = "Agordi la tiparan grandon por afiŝoj kaj komentoj";
-App::$strings["Set theme width"] = "Agordi la larĝo por la etoso";
-App::$strings["Color scheme"] = "Kolorskemo";
-App::$strings["Your posts and conversations"] = "Viaj afiŝoj kaj komunikadoj";
-App::$strings["Your profile page"] = "Via profilo";
-App::$strings["Your contacts"] = "Viaj kontaktoj";
-App::$strings["Your photos"] = "Viaj bildoj";
-App::$strings["Your events"] = "Viaj okazoj";
-App::$strings["Personal notes"] = "Personaj notoj";
-App::$strings["Your personal photos"] = "Viaj personaj bildoj";
-App::$strings["Community Pages"] = "Komunumaj paĝoj";
-App::$strings["Community Profiles"] = "Komunumaj Profiloj";
-App::$strings["Last users"] = "Ĵusaj uzantoj";
-App::$strings["Last likes"] = "Ĵusaj ŝatitaj elementoj";
-App::$strings["Last photos"] = "Ĵusaj bildoj";
-App::$strings["Find Friends"] = "Trovi Amikojn";
-App::$strings["Local Directory"] = "Loka Katalogo";
-App::$strings["Similar Interests"] = "Similaj Interesoj";
-App::$strings["Invite Friends"] = "Inviti amikojn";
-App::$strings["Earth Layers"] = "Tertavoloj (Earth Layers)";
-App::$strings["Set zoomfactor for Earth Layers"] = "Agordi zoman faktoron por Tertavoloj";
-App::$strings["Set longitude (X) for Earth Layers"] = "Agordi longitudon (X) por Tertavoloj";
-App::$strings["Set latitude (Y) for Earth Layers"] = "Agordi latitudon (Y) por Tertavoloj";
-App::$strings["Help or @NewHere ?"] = "Helpu aŭ @NewHere ?";
-App::$strings["Connect Services"] = "Konekti Servojn";
-App::$strings["Last Tweets"] = "Ĵusaj Pepaĵoj";
-App::$strings["Set twitter search term"] = "Agordi Twitter serĉtekston";
-App::$strings["don't show"] = "kaŝi";
-App::$strings["show"] = "montri";
-App::$strings["Show/hide boxes at right-hand column:"] = "Kaŝi/montri kestojn ĉe dekstra kolumno:";
-App::$strings["Set line-height for posts and comments"] = "Agordi la linigrandon por afiŝoj kaj komentoj";
-App::$strings["Set resolution for middle column"] = "Agordi la distingivon por la meza kolumno";
-App::$strings["Set color scheme"] = "Agordi Kolorskemon";
-App::$strings["Set zoomfactor for Earth Layer"] = "Agordi zoman faktoron de Tertavolo";
-App::$strings["Last tweets"] = "Ĵusaj pepaĵoj";
-App::$strings["Alignment"] = "Ĝisrandigo";
-App::$strings["Left"] = "Maldekstren";
-App::$strings["Center"] = "Centren";
-App::$strings["Set colour scheme"] = "Agordi Kolorskemon";
-App::$strings["Gender:"] = "Sekso:";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Naskiĝtago:";
-App::$strings["Age:"] = "Aĝo:";
-App::$strings["Status:"] = "Stato:";
-App::$strings["for %1\$d %2\$s"] = "por %1\$d %2\$s";
-App::$strings["Homepage:"] = "Hejmpaĝo:";
-App::$strings["Tags:"] = "Markoj:";
-App::$strings["Religion:"] = "Religio:";
-App::$strings["About:"] = "Pri:";
-App::$strings["Hobbies/Interests:"] = "Ŝatokupoj/Interesoj:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktinformoj kaj Interkonaj Retejoj:";
-App::$strings["Musical interests:"] = "Muzaikaj interesoj:";
-App::$strings["Books, literature:"] = "Libroj, literaturo:";
-App::$strings["Television:"] = "Televido:";
-App::$strings["Film/dance/culture/entertainment:"] = "Filmoj/dancoj/arto/amuzaĵoj:";
-App::$strings["Love/Romance:"] = "Amo/romanco:";
-App::$strings["Work/employment:"] = "Laboro:";
-App::$strings["School/education:"] = "Lernejo/eduko:";
-App::$strings["Unknown | Not categorised"] = "Nekonata | Nekatorigita";
-App::$strings["Block immediately"] = "Bloki tuj";
-App::$strings["Shady, spammer, self-marketer"] = "Suspekta, spamisto, memmerkatisto";
-App::$strings["Known to me, but no opinion"] = "Konata al mi, sed mi ne havas opinion";
-App::$strings["OK, probably harmless"] = "OK, verŝajne sendanĝera";
-App::$strings["Reputable, has my trust"] = "Fidinda laŭ mi";
-App::$strings["Frequently"] = "Ofte";
-App::$strings["Hourly"] = "Ĉiuhore";
-App::$strings["Twice daily"] = "Duope ĉiutage";
-App::$strings["Daily"] = "Ĉiutage";
-App::$strings["Weekly"] = "Ĉiusemajne";
-App::$strings["Monthly"] = "Ĉiumonate";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Zot!"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/Tujmesaĝilo";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Male"] = "Vira";
-App::$strings["Female"] = "Ina";
-App::$strings["Currently Male"] = "Nuntempe Vira";
-App::$strings["Currently Female"] = "Nuntempe Ina";
-App::$strings["Mostly Male"] = "Ĉefe Vira";
-App::$strings["Mostly Female"] = "Ĉefe Ina";
-App::$strings["Transgender"] = "Transgenra";
-App::$strings["Intersex"] = "Interseksa";
-App::$strings["Transsexual"] = "Transseksa";
-App::$strings["Hermaphrodite"] = "Hermafrodita";
-App::$strings["Neuter"] = "Neŭtra";
-App::$strings["Non-specific"] = "Nespecifa";
-App::$strings["Other"] = "Alia";
-App::$strings["Undecided"] = "Nedecida";
-App::$strings["Males"] = "Viroj";
-App::$strings["Females"] = "Inoj";
-App::$strings["Gay"] = "Geja";
-App::$strings["Lesbian"] = "Lesba";
-App::$strings["No Preference"] = "Neniu Prefero";
-App::$strings["Bisexual"] = "Ambaŭseksema";
-App::$strings["Autosexual"] = "Memseksema";
-App::$strings["Abstinent"] = "Abstinema";
-App::$strings["Virgin"] = "Virgulino";
-App::$strings["Deviant"] = "Devia";
-App::$strings["Fetish"] = "Fetiĉo";
-App::$strings["Oodles"] = "Amasa";
-App::$strings["Nonsexual"] = "Neseksa";
-App::$strings["Single"] = "Sola";
-App::$strings["Lonely"] = "Soleca";
-App::$strings["Available"] = "Havebla";
-App::$strings["Unavailable"] = "Nehavebla";
-App::$strings["Has crush"] = "Sekrete enamiĝinta";
-App::$strings["Infatuated"] = "Blinda amo";
-App::$strings["Dating"] = "Rendevuanta";
-App::$strings["Unfaithful"] = "Malfidela";
-App::$strings["Sex Addict"] = "Seksmaniulo";
-App::$strings["Friends"] = "Amikoj";
-App::$strings["Friends/Benefits"] = "Amikoj/Avantaĝoj";
-App::$strings["Casual"] = "Neformala";
-App::$strings["Engaged"] = "Fianĉiginta";
-App::$strings["Married"] = "Edziĝinta";
-App::$strings["Imaginarily married"] = "Image edziĝinta";
-App::$strings["Partners"] = "Geparuloj";
-App::$strings["Cohabiting"] = "Kunloĝanta";
-App::$strings["Common law"] = "Registrita partnereco ";
-App::$strings["Happy"] = "Feliĉa";
-App::$strings["Not looking"] = "Ne interesiĝis";
-App::$strings["Swinger"] = "Swinger";
-App::$strings["Betrayed"] = "Trompita";
-App::$strings["Separated"] = "Disiĝinta";
-App::$strings["Unstable"] = "Malfirma";
-App::$strings["Divorced"] = "Eksedziĝinta";
-App::$strings["Imaginarily divorced"] = "Image eksedziĝinta";
-App::$strings["Widowed"] = "Vidva";
-App::$strings["Uncertain"] = "Ne certa";
-App::$strings["It's complicated"] = "Estas komplika";
-App::$strings["Don't care"] = "Egala";
-App::$strings["Ask me"] = "Demandu min";
-App::$strings["Starts:"] = "Ekas:";
-App::$strings["Finishes:"] = "Finas:";
-App::$strings["(no subject)"] = "(neniu temo)";
-App::$strings["noreply"] = "nerespondi";
-App::$strings[" on Last.fm"] = " ĉe Last.fm";
-App::$strings["prev"] = "antaŭa";
-App::$strings["first"] = "unua";
-App::$strings["last"] = "lasta";
-App::$strings["next"] = "sekvanta";
-App::$strings["No contacts"] = "Neniu kontaktoj";
-App::$strings["%d Contact"] = array(
- 0 => "%d Kontakto",
- 1 => "%d Kontaktoj",
-);
-App::$strings["Monday"] = "Lundo";
-App::$strings["Tuesday"] = "Mardo";
-App::$strings["Wednesday"] = "Merkredo";
-App::$strings["Thursday"] = "Ĵaŭdo";
-App::$strings["Friday"] = "Vendredo";
-App::$strings["Saturday"] = "Sabato";
-App::$strings["Sunday"] = "Dimanĉo";
-App::$strings["January"] = "Januaro";
-App::$strings["February"] = "Februaro";
-App::$strings["March"] = "Marto";
-App::$strings["April"] = "Aprilo";
-App::$strings["May"] = "Majo";
-App::$strings["June"] = "Junio";
-App::$strings["July"] = "Julio";
-App::$strings["August"] = "Aŭgusto";
-App::$strings["September"] = "Septembro";
-App::$strings["October"] = "Oktobro";
-App::$strings["November"] = "Novembro";
-App::$strings["December"] = "Decembro";
-App::$strings["bytes"] = "bajtoj";
-App::$strings["remove"] = "forviŝi";
-App::$strings["[remove]"] = "[forviŝi]";
-App::$strings["Categories:"] = "Kategorioj:";
-App::$strings["Filed under:"] = "Enarkivigita kiel:";
-App::$strings["Click to open/close"] = "Klaku por malfermi/fermi";
-App::$strings["default"] = "defaŭlta";
-App::$strings["Select an alternate language"] = "Elekti alian lingvon";
-App::$strings["activity"] = "aktiveco";
-App::$strings["comment"] = "komento";
-App::$strings["post"] = "afiŝo";
-App::$strings["Item filed"] = "Enarkivigis elementon ";
-App::$strings["Sharing notification from Diaspora network"] = "Antentigo pri kunhavigado de la Diaspora reto";
-App::$strings["Attachments:"] = "Kunsendaĵoj:";
-App::$strings["view full size"] = "vidi plengrande";
-App::$strings["Embedded content"] = "Enigita enhavo";
-App::$strings["Embedding disabled"] = "Malŝaltita enigitado";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Revivigis malnovan grupon kun la sama nomo. Permesoj por estantaj elementoj <strong>eble</strong> estas validaj por la grupo kaj estontaj membroj. Se tiu ne estas kiun vi atendis, bonvolu krei alian grupon kun alia nomo.";
-App::$strings["Default privacy group for new contacts"] = "Defaŭlta privateca grupo por novaj kontaktoj";
-App::$strings["Everybody"] = "Ĉiuj";
-App::$strings["edit"] = "redakti";
-App::$strings["Groups"] = "Grupoj";
-App::$strings["Edit group"] = "Redakti grupon";
-App::$strings["Create a new group"] = "Krei novan grupon";
-App::$strings["Contacts not in any group"] = "Kontaktoj en neniu grupo";
-App::$strings["Logout"] = "Elsaluti";
-App::$strings["End this session"] = "Fini ĉi-tiun seancon";
-App::$strings["Status"] = "Stato";
-App::$strings["Sign in"] = "Ensaluti";
-App::$strings["Home Page"] = "Hejmpaĝo";
-App::$strings["Create an account"] = "Krei konton";
-App::$strings["Help and documentation"] = "Helpo kaj dokumentado";
-App::$strings["Apps"] = "Programoj";
-App::$strings["Addon applications, utilities, games"] = "Kromprogramoj, utilaĵoj, ludiloj";
-App::$strings["Search site content"] = "Serĉu la retejon";
-App::$strings["Conversations on this site"] = "Konversacioj je ĉi-tiu retejo";
-App::$strings["Directory"] = "Katalogo";
-App::$strings["People directory"] = "Katalogo de homoj";
-App::$strings["Conversations from your friends"] = "Konversacioj de viaj amikoj";
-App::$strings["Friend Requests"] = "Kontaktpetoj";
-App::$strings["See all notifications"] = "Vidu ĉiujn atentigojn";
-App::$strings["Mark all system notifications seen"] = "Marki ĉiujn atentigojn legita";
-App::$strings["Private mail"] = "Privata poŝto";
-App::$strings["Inbox"] = "Enirkesto";
-App::$strings["Outbox"] = "Elirkesto";
-App::$strings["Manage"] = "Administri";
-App::$strings["Manage other pages"] = "Administri aliajn paĝojn";
-App::$strings["Profiles"] = "Profiloj";
-App::$strings["Manage/edit profiles"] = "Administri/redakti profilojn";
-App::$strings["Manage/edit friends and contacts"] = "Administri/redakti amikojn kaj kontaktojn";
-App::$strings["Site setup and configuration"] = "Agordoj pri la retejo";
-App::$strings["Nothing new here"] = "Estas neniu nova ĉi tie";
-App::$strings["Add New Contact"] = "Aldonu Novan Kontakton";
-App::$strings["Enter address or web location"] = "Entajpu adreson aŭ retlokon";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Ekzemple: bob@example.com, http://example.com/barbara";
-App::$strings["%d invitation available"] = array(
- 0 => "Disponeblas %d invito",
- 1 => "Disponeblas %d invitoj",
-);
-App::$strings["Find People"] = "Trovi Homojn";
-App::$strings["Enter name or interest"] = "Entajpu nomon aŭ intereson";
-App::$strings["Connect/Follow"] = "Konekti/Aboni";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Ekzemple: Robert Morgenstein, Fishing";
-App::$strings["Random Profile"] = "Hazarda Profilo";
-App::$strings["Networks"] = "Retoj";
-App::$strings["All Networks"] = "Ĉiuj Retoj";
-App::$strings["Saved Folders"] = "Konservitaj Dosierujoj";
-App::$strings["Everything"] = "Ĉio";
-App::$strings["Categories"] = "Kategorioj";
-App::$strings["Logged out."] = "Elsalutita.";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Okazis problemo ensalutinta kun via OpenID. Bonvolu kontroli la ID.";
-App::$strings["The error message was:"] = "La erarmesaĝo estis:";
-App::$strings["Miscellaneous"] = "Diversaj";
-App::$strings["year"] = "jaro";
-App::$strings["month"] = "monato";
-App::$strings["day"] = "tago";
-App::$strings["never"] = "neniam";
-App::$strings["less than a second ago"] = "antaŭ malpli ol unu sekundo";
-App::$strings["years"] = "jaroj";
-App::$strings["months"] = "monatoj";
-App::$strings["week"] = "semajno";
-App::$strings["weeks"] = "semajnoj";
-App::$strings["days"] = "tagoj";
-App::$strings["hour"] = "horo";
-App::$strings["hours"] = "horoj";
-App::$strings["minute"] = "minuto";
-App::$strings["minutes"] = "minutoj";
-App::$strings["second"] = "sekundo";
-App::$strings["seconds"] = "sekundoj";
-App::$strings["%1\$d %2\$s ago"] = "antaŭ %1\$d %2\$s";
-App::$strings["%s's birthday"] = "Naskiĝtago de %s";
-App::$strings["Happy Birthday %s"] = "Feliĉan Naskiĝtagon al %s";
-App::$strings["From: "] = "De: ";
-App::$strings["$1 wrote:"] = "$1 skribis:";
-App::$strings["Image/photo"] = "Bildo";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Ne trovis DNS informojn por datumbaza servilo '%s'.";
-App::$strings["[no subject]"] = "[neniu temo]";
-App::$strings["Visible to everybody"] = "Videbla al ĉiuj";
-App::$strings["Friendica Notification"] = "Friendica Atentigo";
-App::$strings["Thank You,"] = "Dankon,";
-App::$strings["%s Administrator"] = "%s Administranto";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Friendica:Notify] New mail received at %s"] = "[Friendica:Atentigo] Ricevis novan retpoŝton ĉe %s";
-App::$strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s sendis al vi novan privatan mesaĝon ĉe %2\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s sendis al vi %2\$s.";
-App::$strings["a private message"] = "privatan mesaĝon";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bonvolu viziti %s por vidi aŭ respondi viajn privatajn mesaĝojn.";
-App::$strings["%1\$s commented on [url=%2\$s]a %3\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]%3\$s[/url]";
-App::$strings["%1\$s commented on [url=%2\$s]%3\$s's %4\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]%4\$s de %3\$s[/url]";
-App::$strings["%1\$s commented on [url=%2\$s]your %3\$s[/url]"] = "%1\$s komentis pri [url=%2\$s]via %3\$s[/url]";
-App::$strings["[Friendica:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Friendica:Atentigo] Komento pri konversacio #%1\$d de %2\$s";
-App::$strings["%s commented on an item/conversation you have been following."] = "%s komentis pri elemento/konversacio kiun vi sekvas.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bonvolu viziti %s por vidi aŭ respondi la konversacion.";
-App::$strings["[Friendica:Notify] %s posted to your profile wall"] = "[Friendica:Atentigo] %s afiŝis al via profilmuro";
-App::$strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s skribis al via profilmuro ĉe %2\$s";
-App::$strings["%1\$s posted to [url=%2s]your wall[/url]"] = "%1\$s afiŝis al [url=%2s]via muro[/url]";
-App::$strings["[Friendica:Notify] %s tagged you"] = "[Friendica:Atentigo] %s markis vin";
-App::$strings["%1\$s tagged you at %2\$s"] = "%1\$s markis vin ĉe %2\$s";
-App::$strings["%1\$s [url=%2\$s]tagged you[/url]."] = "%1\$s [url=%2\$s]markis vin[/url].";
-App::$strings["[Friendica:Notify] %s tagged your post"] = "[Friendica:Atentigo] %s markis vian afiŝon";
-App::$strings["%1\$s tagged your post at %2\$s"] = "%1\$s markis vian afiŝon ĉe %2\$s";
-App::$strings["%1\$s tagged [url=%2\$s]your post[/url]"] = "%1\$s markis [url=%2\$s]vian afiŝon[/url]";
-App::$strings["[Friendica:Notify] Introduction received"] = "[Friendica:Atentigo] Ricevis prezenton";
-App::$strings["You've received an introduction from '%1\$s' at %2\$s"] = "Vi ricevis prezenton de '%1\$s' ĉe %2\$s";
-App::$strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = "Vi ricevis [url=%1\$s]prezenton[/url] de %2\$s.";
-App::$strings["You may visit their profile at %s"] = "Vi povas vidi la profilon de li aŭ ŝi ĉe %s";
-App::$strings["Please visit %s to approve or reject the introduction."] = "Bonvolu viziti %s por aprobi aŭ malaprobi la prezenton.";
-App::$strings["[Friendica:Notify] Friend suggestion received"] = "[Friendica:Atentigo] Ricevis amikosugeston";
-App::$strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Vi ricevis amikosugeston de '%1\$s' ĉe %2\$s";
-App::$strings["You've received [url=%1\$s]a friend suggestion[/url] for %2\$s from %3\$s."] = "Vi ricevis [url=%1\$s]amikosugeston[/url] pri %2\$s de %3\$s.";
-App::$strings["Name:"] = "Nomo:";
-App::$strings["Photo:"] = "Bildo:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Bonvolu viziti %s por aprobi aŭ malaprobi la sugeston.";
-App::$strings["Connect URL missing."] = "Ne ekzistas URL adreso por konekti.";
-App::$strings["This site is not configured to allow communications with other networks."] = "Tiu retpaĝo ne permesas komunikadon kun aliaj retoj.";
-App::$strings["No compatible communication protocols or feeds were discovered."] = "Ne malkovris kongruajn protokolojn por komunikado aŭ fluojn.";
-App::$strings["The profile address specified does not provide adequate information."] = "La specifita profiladreso ne enhavas sufiĉe da informoj.";
-App::$strings["An author or name was not found."] = "Ne trovis aŭtoron aŭ nomon.";
-App::$strings["No browser URL could be matched to this address."] = "Neniu retuma URL adreso kongruas al la adreso.";
-App::$strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "Ne eblas kongrui @-stilan identecon adreson al iu konata protokolo au retpoŝtadreso.";
-App::$strings["Use mailto: in front of address to force email check."] = "Uzu mailto: antaŭ la adreso por devigi la testadon per retpoŝto.";
-App::$strings["The profile address specified belongs to a network which has been disabled on this site."] = "Tiu profila adreso apartenas al retejo kiu estas maŝaltita je ĉi tiu retejo.";
-App::$strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Profilo limigata. Ĉi persono ne eblos ricevi rektajn/personajn atentigojn de vi. ";
-App::$strings["Unable to retrieve contact information."] = "Ne eblas ricevi kontaktinformojn.";
-App::$strings["following"] = "sekvanta";
-App::$strings["A new person is sharing with you at "] = "Nova persono kunhavigas kun vi ĉe ";
-App::$strings["You have a new follower at "] = "Vi havas novan sekvanton ĉe ";
-App::$strings["Archives"] = "Arkivoj";
-App::$strings["An invitation is required."] = "Invio bezonata.";
-App::$strings["Invitation could not be verified."] = "Ne povis kontroli la inviton.";
-App::$strings["Invalid OpenID url"] = "Nevalida OpenID adreso";
-App::$strings["Please enter the required information."] = "Bonvolu entajpi la bezonatajn informojn.";
-App::$strings["Please use a shorter name."] = "Bonvolu uzi pli mallongan nomon.";
-App::$strings["Name too short."] = "Nomo estas tro mallonga.";
-App::$strings["That doesn't appear to be your full (First Last) name."] = "Tio ŝajne ne estas via plena (persona, familia) nomo.";
-App::$strings["Your email domain is not among those allowed on this site."] = "Via retpoŝtodomajno ne estas permesita ĉi tie.";
-App::$strings["Not a valid email address."] = "Nevalida retpoŝtadreso.";
-App::$strings["Cannot use that email."] = "Neuzebla retpoŝtadreso.";
-App::$strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Via kaŝnomo nur povas enhavi \"a-z\", \"0-9\", \"-\", kaj \"_\". Ĝi ankaŭ devas komenci kun litero.";
-App::$strings["Nickname is already registered. Please choose another."] = "Tio kaŝnomo jam estas registrita. Bonvolu elekti alian.";
-App::$strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Tiu kaŝnomo iam estis registrita ĉi tie kaj ne ree uzeblas. Bonvolu elekti alian.";
-App::$strings["SERIOUS ERROR: Generation of security keys failed."] = "GRAVA ERARO: La generacio de sekurecaj ĉifroŝlosiloj malsukcesis.";
-App::$strings["An error occurred during registration. Please try again."] = "Eraro okazis dum registrado. Bonvolu provi denove.";
-App::$strings["An error occurred creating your default profile. Please try again."] = "Eraro okazi dum kreado de via defaŭlta profilo. Bonvolu provi denove.";
-App::$strings["Welcome "] = "Bonvenon ";
-App::$strings["Please upload a profile photo."] = "Bonvolu alŝuti profilbildon.";
-App::$strings["Welcome back "] = "Bonvenon ";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "La sekuriga ĵetono de la formo estis malĝusta. Tio verŝajne okazis ĉar la formo estis malfermita dum tro longa tempo (>3 horoj) antaŭ la sendado.";
-App::$strings["stopped following"] = "ne plu sekvas";
-App::$strings["View Status"] = "Vidi Staton";
-App::$strings["View Profile"] = "Vidi Profilon";
-App::$strings["View Photos"] = "Vidi Bildojn";
-App::$strings["Network Posts"] = "Enretaj Afiŝoj";
-App::$strings["Edit Contact"] = "Redakti Kontakton";
-App::$strings["Send PM"] = "Sendi PM";
-App::$strings["post/item"] = "afiŝo/elemento";
-App::$strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s markis la %3\$s de %2\$s kiel preferita.";
-App::$strings["Select"] = "Elekti";
-App::$strings["View %s's profile @ %s"] = "Vidi la profilon de %s ĉe %s";
-App::$strings["%s from %s"] = "%s de %s";
-App::$strings["View in context"] = "Vidi kun kunteksto";
-App::$strings["%d comment"] = array(
- 0 => "%d komento",
- 1 => "%d komentoj",
-);
-App::$strings["like"] = "ŝati";
-App::$strings["dislike"] = "malŝati";
-App::$strings["Share this"] = "Kunhavigi ĉi tiun";
-App::$strings["share"] = "kunhavigi";
-App::$strings["Bold"] = "Grasa";
-App::$strings["Italic"] = "Kursiva";
-App::$strings["Underline"] = "Substreki";
-App::$strings["Quote"] = "Citaĵo";
-App::$strings["Code"] = "Kodo";
-App::$strings["Image"] = "Bildo";
-App::$strings["Link"] = "Ligilo";
-App::$strings["Video"] = "Video";
-App::$strings["add star"] = "aldoni stelon";
-App::$strings["remove star"] = "forpreni stelon";
-App::$strings["toggle star status"] = "ŝalti/malŝalti steloŝtato";
-App::$strings["starred"] = "steligita";
-App::$strings["add tag"] = "aldoni markon";
-App::$strings["save to folder"] = "konservi en dosierujo";
-App::$strings["to"] = "al";
-App::$strings["Wall-to-Wall"] = "Muro-al-Muro";
-App::$strings["via Wall-To-Wall:"] = "per Muro-al-Muro:";
-App::$strings["Delete Selected Items"] = "Forviŝi Elektitajn Elementojn";
-App::$strings["%s likes this."] = "%s ŝatas tiun.";
-App::$strings["%s doesn't like this."] = "%s malŝatas tiun.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = "<span %1\$s>%2\$d homoj</span> ŝatas tiun.";
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = "<span %1\$s>%2\$d homoj</span>malŝatas tiun.";
-App::$strings["and"] = "kaj";
-App::$strings[", and %d other people"] = ", kaj %d aliaj homoj.";
-App::$strings["%s like this."] = "%s ŝatas tiun.";
-App::$strings["%s don't like this."] = "%s malŝatas tiun.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Videbla al <strong>ĉiuj</strong>";
-App::$strings["Please enter a video link/URL:"] = "Bonvolu entajpi ligilon/adreson de video:";
-App::$strings["Please enter an audio link/URL:"] = "Bonvolu entajpi ligilon/adreson de sono:";
-App::$strings["Tag term:"] = "Markfrazo:";
-App::$strings["Where are you right now?"] = "Kie vi estas nun?";
-App::$strings["upload photo"] = "alŝuti bildon";
-App::$strings["attach file"] = "kunsendi dosieron";
-App::$strings["web link"] = "TTT ligilo";
-App::$strings["Insert video link"] = "Alglui ligilon de video";
-App::$strings["video link"] = "video ligilo";
-App::$strings["Insert audio link"] = "Alglui ligilon de sono";
-App::$strings["audio link"] = "sono ligilo";
-App::$strings["set location"] = "agordi lokon";
-App::$strings["clear location"] = "forviŝi lokon";
-App::$strings["permissions"] = "permesoj";
-App::$strings["Click here to upgrade."] = "Klaku ĉi tie por ĝisdatigi.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Tia ago preterpasas la limojn de via abono.";
-App::$strings["This action is not available under your subscription plan."] = "Tia ago ne estas permesita laŭ via abono.";
-App::$strings["Delete this item?"] = "Forviŝi ĉi tiun elementon?";
-App::$strings["show fewer"] = "montri malpli";
-App::$strings["Update %s failed. See error logs."] = "Malsukcesis ĝisdatigi %s. Vidu la protokolojn.";
-App::$strings["Update Error at %s"] = "Eraro dum ĝisdatigo ĉe %s";
-App::$strings["Create a New Account"] = "Krei Novan Konton";
-App::$strings["Nickname or Email address: "] = "Kaŝnomo aŭ retpoŝtadreso:";
-App::$strings["Password: "] = "Pasvorto:";
-App::$strings["Or login using OpenID: "] = "Aŭ ensaluti per OpenID:";
-App::$strings["Forgot your password?"] = "Ĉu vi vorgesis vian pasvorton?";
-App::$strings["Edit profile"] = "Redakti profilon";
-App::$strings["Message"] = "Mesaĝo";
-App::$strings["g A l F d"] = "\\j\\e \\l\\a G\\a \\h\\o\\r\\o, l F d";
-App::$strings["F d"] = "F d";
-App::$strings["[today]"] = "[hodiaŭ]";
-App::$strings["Birthday Reminders"] = "Memorigilo pri naskiĝtagoj";
-App::$strings["Birthdays this week:"] = "Naskiĝtagoj ĉi-semajne:";
-App::$strings["[No description]"] = "[Neniu priskribo]";
-App::$strings["Event Reminders"] = "Memorigilo pri Okazoj";
-App::$strings["Events this week:"] = "Okazoj ĉi-semajne:";
-App::$strings["Status Messages and Posts"] = "Ŝtatmesaĝoj kaj Afiŝoj";
-App::$strings["Profile Details"] = "Profildetaloj";
-App::$strings["Events and Calendar"] = "Okazoj kaj Kalendaro";
-App::$strings["Only You Can See This"] = "Nur Vi Povas Vidi Tiun";
diff --git a/view/eo/update_fail_eml.tpl b/view/eo/update_fail_eml.tpl
deleted file mode 100644
index 61f44b1e6..000000000
--- a/view/eo/update_fail_eml.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-Hey,
-I'm the web server at {{$sitename}};
-
-The Hubzilla developers released update {{$update}} recently,
-but when I tried to install it, something went terribly wrong.
-This needs to be fixed soon and it requires human intervention.
-Please contact a Red developer if you can not figure out how to
-fix it on your own. My database might be invalid.
-
-The error message is '{{$error}}'.
-
-Apologies for the inconvenience,
- your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/es-es/hmessages.po b/view/es-es/hmessages.po
index 65ed7c30f..d7a918c55 100644
--- a/view/es-es/hmessages.po
+++ b/view/es-es/hmessages.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-06-03 00:02-0700\n"
-"PO-Revision-Date: 2016-06-04 10:28+0000\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 18:33+0000\n"
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/Friendica/red-matrix/language/es_ES/)\n"
"MIME-Version: 1.0\n"
@@ -27,7 +27,7 @@ msgstr ""
msgid "parent"
msgstr "padre"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2605
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Colección"
@@ -53,14 +53,14 @@ msgstr "Programar bandeja de salida"
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
-#: ../../Zotlabs/Lib/Apps.php:561 ../../include/conversation.php:1032
-#: ../../include/widgets.php:1503
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Desconocido"
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/conversation.php:1639
-#: ../../include/nav.php:93
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Ficheros"
@@ -81,13 +81,13 @@ msgstr "Crear"
#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1368
-#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1516
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Subir"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Admin.php:1204
-#: ../../Zotlabs/Module/Chat.php:247 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
#: ../../Zotlabs/Module/Settings.php:618
#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
@@ -98,7 +98,7 @@ msgid "Type"
msgstr "Tipo"
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1329
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Tamaño"
@@ -107,35 +107,34 @@ msgstr "Tamaño"
msgid "Last Modified"
msgstr "Última modificación"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Admin.php:2093
-#: ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editwebpage.php:146
#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:187 ../../Zotlabs/Lib/Apps.php:337
-#: ../../Zotlabs/Lib/ThreadItem.php:96 ../../include/channel.php:937
-#: ../../include/channel.php:941 ../../include/menu.php:108
-#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
+#: ../../include/menu.php:108 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Editar"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Admin.php:1041
-#: ../../Zotlabs/Module/Admin.php:1198 ../../Zotlabs/Module/Admin.php:2094
-#: ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
#: ../../Zotlabs/Module/Connedit.php:572
#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
#: ../../Zotlabs/Module/Editlayout.php:136
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Settings.php:653
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Webpages.php:189
-#: ../../Zotlabs/Lib/Apps.php:338 ../../Zotlabs/Lib/ThreadItem.php:116
-#: ../../include/conversation.php:657
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Eliminar"
@@ -161,50 +160,57 @@ msgstr "Crear nueva carpeta"
msgid "Upload file"
msgstr "Subir fichero"
-#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:121
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Api.php:13
-#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Channel.php:105 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Common.php:39
-#: ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Connedit.php:366
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:69
#: ../../Zotlabs/Module/Editwebpage.php:90
#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127
-#: ../../Zotlabs/Module/Events.php:265 ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
#: ../../Zotlabs/Module/Filestorage.php:79
#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Id.php:76 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:129
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mitem.php:115
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
#: ../../Zotlabs/Module/Profile_photo.php:256
#: ../../Zotlabs/Module/Profile_photo.php:269
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Service_limits.php:11
#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
#: ../../Zotlabs/Module/Sharedwithme.php:11
@@ -214,14 +220,14 @@ msgstr "Subir fichero"
#: ../../Zotlabs/Module/Viewconnections.php:25
#: ../../Zotlabs/Module/Viewconnections.php:30
#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
#: ../../include/attach.php:141 ../../include/attach.php:189
#: ../../include/attach.php:252 ../../include/attach.php:266
#: ../../include/attach.php:273 ../../include/attach.php:338
#: ../../include/attach.php:352 ../../include/attach.php:359
#: ../../include/attach.php:437 ../../include/attach.php:895
#: ../../include/attach.php:966 ../../include/attach.php:1118
-#: ../../include/items.php:3440
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Acceso denegado."
@@ -235,14 +241,6 @@ msgstr "No encontrado"
msgid "Page not found."
msgstr "Página no encontrada."
-#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Import_items.php:112 ../../Zotlabs/Module/Like.php:284
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:385
-msgid "Permission denied"
-msgstr "Permiso denegado"
-
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
@@ -269,1252 +267,12 @@ msgstr "El perfil solicitado no está disponible."
msgid "Some blurb about what to do when you're new here"
msgstr "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí"
-#: ../../Zotlabs/Module/Acl.php:225
-msgid "network"
-msgstr "red"
-
-#: ../../Zotlabs/Module/Acl.php:235
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Ajustes del tema actualizados."
-
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1235
-#: ../../Zotlabs/Module/Admin.php:1541 ../../Zotlabs/Module/Display.php:40
-#: ../../Zotlabs/Module/Filestorage.php:33 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3361
-msgid "Item not found."
-msgstr "Elemento no encontrado."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# Cuentas"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# cuentas bloqueadas"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# cuentas caducadas"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# cuentas que caducan"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# Canales"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primario"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# clones"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Mensajes en cola"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Debe actualizar su software"
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1194
-#: ../../Zotlabs/Module/Admin.php:1309 ../../Zotlabs/Module/Admin.php:1399
-#: ../../Zotlabs/Module/Admin.php:1592 ../../Zotlabs/Module/Admin.php:1626
-#: ../../Zotlabs/Module/Admin.php:1711
-msgid "Administration"
-msgstr "Administración"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Sumario"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Cuentas registradas"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Registros pendientes"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Canales registrados"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Extensiones (plugins) activas"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versión"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versión del repositorio (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versión del repositorio (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Ajustes del sitio actualizados."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2826
-msgid "Default"
-msgstr "Predeterminado"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
-msgid "mobile"
-msgstr "móvil"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimental"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "no soportado"
-
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:89
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "No"
-msgstr "No"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Sí - con aprobación"
-
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:88
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "Yes"
-msgstr "Sí"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mi sitio no es un servidor público"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Mi sitio es un servicio de pago"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Mi sitio es un servicio gratuito"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1380
-msgid "Site"
-msgstr "Sitio"
-
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1034
-#: ../../Zotlabs/Module/Admin.php:1196 ../../Zotlabs/Module/Admin.php:1401
-#: ../../Zotlabs/Module/Admin.php:1628 ../../Zotlabs/Module/Admin.php:1713
-#: ../../Zotlabs/Module/Admin.php:2096 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
-#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Events.php:672
-#: ../../Zotlabs/Module/Filestorage.php:162 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Import.php:550
-#: ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mitem.php:235
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
-#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
-#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
-#: ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:699 ../../include/widgets.php:757
-#: ../../include/widgets.php:769 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Enviar"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
-msgstr "Registro"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Subir fichero"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Políticas"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Avanzado"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Nombre del sitio"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Información del Administrador"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode"
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "Idioma del sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Tema gráfico del sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Tema del sistema para móviles"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Tema para dispositivos móviles"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Permitir contenidos RSS como conexiones"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(Uso intenso de los recursos del sistema)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Tamaño máximo de la imagen"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Solo con una invitación"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\"."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "¿Cómo describiría el tipo de servicio ofrecido por este servidor?"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Texto del registro"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Se mostrará de forma destacada en la página de registro."
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)"
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Preservar la dirección de la página personal"
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla."
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Cuentas abandonadas después de x días"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo."
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Dominios amigos permitidos"
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio."
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Se aceptan dominios de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. "
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "No se permiten dominios de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado."
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "Verificar las direcciones de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Forzar la publicación"
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio."
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Importar contenido público"
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Importar y permitir acceso al contenido público sacado de otros sitios. Advertencia: este contenido no está moderado, por lo que podría encontrar cosas inapropiadas u ofensivas."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Iniciar sesión en la página personal"
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido."
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Habilitar la ayuda contextual"
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda."
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "URL del servidor de directorio"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Servidor de directorio predeterminado"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Usuario del proxy"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Dirección del proxy"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Tiempo de espera de la red"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)"
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Intervalo de entrega"
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados."
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Intentos de envío por proceso"
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5."
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Intervalo máximo de tiempo entre dos mensajes sucesivos"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Retrasar el intervalo de envío en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de entrega."
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Carga media máxima"
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Caducidad del contenido importado de otros sitios (en días)"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 para que no caduque el contenido importado"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "Off"
-msgstr "Desactivado"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "On"
-msgstr "Activado"
-
-#: ../../Zotlabs/Module/Admin.php:678
-#, php-format
-msgid "Lock feature %s"
-msgstr "Bloquear la funcionalidad %s"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Gestionar las funcionalidades"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Servidor no encontrado"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "por canal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "en el servidor"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Connections.php:270
-msgid "Status"
-msgstr "Estado"
-
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Servidor"
-
-#: ../../Zotlabs/Module/Admin.php:746
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro."
-
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: "
-
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita."
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1383
-msgid "Security"
-msgstr "Seguridad"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Bloquear páginas públicas"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado."
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP"
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Permitir la comunicación solo desde estos sitios"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
-
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Bloquear la comunicación desde estos sitios"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Permitir la comunicación solo desde estos canales"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Bloquear la comunicación desde estos canales"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL)."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Permitir contenido HTML sin filtrar sólo desde estos dominios "
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Bloquear contenido con HTML incorporado desde estos dominios"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "La actualización ha sido marcada como exitosa"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "La ejecución de %s ha fallado. Mirar en los informes del sistema."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "La actualización de %s se ha realizado exitosamente."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "No se encuentra la función de actualización de %s."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "No ha fallado ninguna actualización."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Han fallado las actualizaciones"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Marcar como exitosa (si la actualización se ha hecho manualmente)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Intentar ejecutar este paso de actualización automáticamente"
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Estadísticas de la cola"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Total de entradas"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Prioridad"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Dirección de destino"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Marcar el servidor como permanentemente fuera de línea"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Vaciar la cola para este servidor"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Último contacto conocido"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "%s cuenta bloqueada/desbloqueada"
-msgstr[1] "%s cuenta bloqueada/desbloqueada"
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s cuentas eliminadas"
-msgstr[1] "%s cuentas eliminadas"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Cuenta no encontrada"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "La cuenta '%s' ha sido eliminada"
-
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "La cuenta '%s' ha sido bloqueada"
-
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "La cuenta '%s' ha sido desbloqueada"
-
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1045
-msgid "Users"
-msgstr "Usuarios"
-
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1197
-msgid "select all"
-msgstr "seleccionar todo"
-
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "User registrations waiting for confirm"
-msgstr "Registros de usuario en espera de aprobación"
-
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Request date"
-msgstr "Fecha de solicitud"
-
-#: ../../Zotlabs/Module/Admin.php:1037 ../../Zotlabs/Module/Admin.php:1046
-#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../include/network.php:2151 ../../boot.php:1697
-msgid "Email"
-msgstr "Correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "No registrations."
-msgstr "Sin registros."
-
-#: ../../Zotlabs/Module/Admin.php:1039
-#: ../../Zotlabs/Module/Connections.php:275
-msgid "Approve"
-msgstr "Aprobar"
-
-#: ../../Zotlabs/Module/Admin.php:1040
-msgid "Deny"
-msgstr "Rechazar"
-
-#: ../../Zotlabs/Module/Admin.php:1042 ../../Zotlabs/Module/Connedit.php:540
-msgid "Block"
-msgstr "Bloquear"
-
-#: ../../Zotlabs/Module/Admin.php:1043 ../../Zotlabs/Module/Connedit.php:540
-msgid "Unblock"
-msgstr "Desbloquear"
-
-#: ../../Zotlabs/Module/Admin.php:1046 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Todos los canales"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Register date"
-msgstr "Fecha de registro"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Last login"
-msgstr "Último acceso"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Expires"
-msgstr "Caduca"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Service Class"
-msgstr "Clase de servicio"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-
-#: ../../Zotlabs/Module/Admin.php:1085
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s canales censurados/no censurados"
-msgstr[1] "%s canales censurados/no censurados"
-
-#: ../../Zotlabs/Module/Admin.php:1094
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s código permitido/no permitido al canal"
-msgstr[1] "%s código permitido/no permitido al canal"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canales eliminados"
-msgstr[1] "%s canales eliminados"
-
-#: ../../Zotlabs/Module/Admin.php:1120
-msgid "Channel not found"
-msgstr "Canal no encontrado"
-
-#: ../../Zotlabs/Module/Admin.php:1130
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Canal '%s' eliminado"
-
-#: ../../Zotlabs/Module/Admin.php:1142
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censurado"
-
-#: ../../Zotlabs/Module/Admin.php:1142
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Canal '%s' no censurado"
-
-#: ../../Zotlabs/Module/Admin.php:1153
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Código permitido al canal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1153
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Código no permitido al canal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1195 ../../include/widgets.php:1382
-msgid "Channels"
-msgstr "Canales"
-
-#: ../../Zotlabs/Module/Admin.php:1199
-msgid "Censor"
-msgstr "Censurar"
-
-#: ../../Zotlabs/Module/Admin.php:1200
-msgid "Uncensor"
-msgstr "No censurar"
-
-#: ../../Zotlabs/Module/Admin.php:1201
-msgid "Allow Code"
-msgstr "Permitir código"
-
-#: ../../Zotlabs/Module/Admin.php:1202
-msgid "Disallow Code"
-msgstr "No permitir código"
-
-#: ../../Zotlabs/Module/Admin.php:1203 ../../include/conversation.php:1611
-msgid "Channel"
-msgstr "Canal"
-
-#: ../../Zotlabs/Module/Admin.php:1204
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1204 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Profiles.php:470
-msgid "Address"
-msgstr "Dirección"
-
-#: ../../Zotlabs/Module/Admin.php:1206
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-
-#: ../../Zotlabs/Module/Admin.php:1207
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-
-#: ../../Zotlabs/Module/Admin.php:1264
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Extensión %s desactivada."
-
-#: ../../Zotlabs/Module/Admin.php:1268
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Extensión %s activada."
-
-#: ../../Zotlabs/Module/Admin.php:1278 ../../Zotlabs/Module/Admin.php:1565
-msgid "Disable"
-msgstr "Desactivar"
-
-#: ../../Zotlabs/Module/Admin.php:1281 ../../Zotlabs/Module/Admin.php:1567
-msgid "Enable"
-msgstr "Activar"
-
-#: ../../Zotlabs/Module/Admin.php:1310 ../../Zotlabs/Module/Admin.php:1400
-#: ../../include/widgets.php:1385
-msgid "Plugins"
-msgstr "Extensiones (plugins)"
-
-#: ../../Zotlabs/Module/Admin.php:1311 ../../Zotlabs/Module/Admin.php:1594
-msgid "Toggle"
-msgstr "Cambiar"
-
-#: ../../Zotlabs/Module/Admin.php:1312 ../../Zotlabs/Module/Admin.php:1595
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:208
-#: ../../include/widgets.php:638
-msgid "Settings"
-msgstr "Ajustes"
-
-#: ../../Zotlabs/Module/Admin.php:1319 ../../Zotlabs/Module/Admin.php:1604
-msgid "Author: "
-msgstr "Autor:"
-
-#: ../../Zotlabs/Module/Admin.php:1320 ../../Zotlabs/Module/Admin.php:1605
-msgid "Maintainer: "
-msgstr "Mantenedor:"
-
-#: ../../Zotlabs/Module/Admin.php:1321
-msgid "Minimum project version: "
-msgstr "Versión mínima del proyecto:"
-
-#: ../../Zotlabs/Module/Admin.php:1322
-msgid "Maximum project version: "
-msgstr "Versión máxima del proyecto:"
-
-#: ../../Zotlabs/Module/Admin.php:1323
-msgid "Minimum PHP version: "
-msgstr "Versión mínima de PHP:"
-
-#: ../../Zotlabs/Module/Admin.php:1324
-msgid "Requires: "
-msgstr "Se requiere:"
-
-#: ../../Zotlabs/Module/Admin.php:1325 ../../Zotlabs/Module/Admin.php:1405
-msgid "Disabled - version incompatibility"
-msgstr "Deshabilitado - versiones incompatibles"
-
-#: ../../Zotlabs/Module/Admin.php:1374
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Escriba la URL pública del repositorio git del plugin."
-
-#: ../../Zotlabs/Module/Admin.php:1375
-msgid "Plugin repo git URL"
-msgstr "URL del repositorio git del plugin"
-
-#: ../../Zotlabs/Module/Admin.php:1376
-msgid "Custom repo name"
-msgstr "Nombre personalizado del repositorio"
-
-#: ../../Zotlabs/Module/Admin.php:1376
-msgid "(optional)"
-msgstr "(opcional)"
-
-#: ../../Zotlabs/Module/Admin.php:1377
-msgid "Download Plugin Repo"
-msgstr "Descargar el repositorio"
-
-#: ../../Zotlabs/Module/Admin.php:1384
-msgid "Install new repo"
-msgstr "Instalar un nuevo repositorio"
-
-#: ../../Zotlabs/Module/Admin.php:1385 ../../Zotlabs/Lib/Apps.php:330
-msgid "Install"
-msgstr "Instalar"
-
-#: ../../Zotlabs/Module/Admin.php:1386 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: ../../Zotlabs/Module/Admin.php:1407
-msgid "Manage Repos"
-msgstr "Gestionar los repositorios"
-
-#: ../../Zotlabs/Module/Admin.php:1408
-msgid "Installed Plugin Repositories"
-msgstr "Repositorios de los plugins instalados"
-
-#: ../../Zotlabs/Module/Admin.php:1409
-msgid "Install a New Plugin Repository"
-msgstr "Instalar un nuevo repositorio de plugins"
-
-#: ../../Zotlabs/Module/Admin.php:1415 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
-msgid "Update"
-msgstr "Actualizar"
-
-#: ../../Zotlabs/Module/Admin.php:1416
-msgid "Switch branch"
-msgstr "Cambiar la rama"
-
-#: ../../Zotlabs/Module/Admin.php:1417 ../../Zotlabs/Module/Photos.php:998
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Eliminar"
-
-#: ../../Zotlabs/Module/Admin.php:1530
-msgid "No themes found."
-msgstr "No se han encontrado temas."
-
-#: ../../Zotlabs/Module/Admin.php:1586
-msgid "Screenshot"
-msgstr "Instantánea de pantalla"
-
-#: ../../Zotlabs/Module/Admin.php:1593 ../../Zotlabs/Module/Admin.php:1627
-#: ../../include/widgets.php:1386
-msgid "Themes"
-msgstr "Temas"
-
-#: ../../Zotlabs/Module/Admin.php:1632
-msgid "[Experimental]"
-msgstr "[Experimental]"
-
-#: ../../Zotlabs/Module/Admin.php:1633
-msgid "[Unsupported]"
-msgstr "[No soportado]"
-
-#: ../../Zotlabs/Module/Admin.php:1657
-msgid "Log settings updated."
-msgstr "Actualizado el informe de configuraciones."
-
-#: ../../Zotlabs/Module/Admin.php:1712 ../../include/widgets.php:1407
-#: ../../include/widgets.php:1417
-msgid "Logs"
-msgstr "Informes"
-
-#: ../../Zotlabs/Module/Admin.php:1714
-msgid "Clear"
-msgstr "Vaciar"
-
-#: ../../Zotlabs/Module/Admin.php:1720
-msgid "Debugging"
-msgstr "Depuración"
-
-#: ../../Zotlabs/Module/Admin.php:1721
-msgid "Log file"
-msgstr "Fichero de informe"
-
-#: ../../Zotlabs/Module/Admin.php:1721
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio de instalación de Hubzilla."
-
-#: ../../Zotlabs/Module/Admin.php:1722
-msgid "Log level"
-msgstr "Nivel de depuración"
-
-#: ../../Zotlabs/Module/Admin.php:2008
-msgid "New Profile Field"
-msgstr "Nuevo campo en el perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
-msgid "Field nickname"
-msgstr "Alias del campo"
-
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
-msgid "System name of field"
-msgstr "Nombre del campo en el sistema"
-
-#: ../../Zotlabs/Module/Admin.php:2010 ../../Zotlabs/Module/Admin.php:2030
-msgid "Input type"
-msgstr "Tipo de entrada"
-
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
-msgid "Field Name"
-msgstr "Nombre del campo"
-
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
-msgid "Label on profile pages"
-msgstr "Etiqueta a mostrar en la página del perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
-msgid "Help text"
-msgstr "Texto de ayuda"
-
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
-msgid "Additional info (optional)"
-msgstr "Información adicional (opcional)"
-
-#: ../../Zotlabs/Module/Admin.php:2013 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:946 ../../include/text.php:958
-msgid "Save"
-msgstr "Guardar"
-
-#: ../../Zotlabs/Module/Admin.php:2022
-msgid "Field definition not found"
-msgstr "Definición del campo no encontrada"
-
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "Edit Profile Field"
-msgstr "Modificar el campo del perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2086 ../../include/widgets.php:1388
-msgid "Profile Fields"
-msgstr "Campos del perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2087
-msgid "Basic Profile Fields"
-msgstr "Campos básicos del perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2088
-msgid "Advanced Profile Fields"
-msgstr "Campos avanzados del perfil"
-
-#: ../../Zotlabs/Module/Admin.php:2088
-msgid "(In addition to basic fields)"
-msgstr "(Además de los campos básicos)"
-
-#: ../../Zotlabs/Module/Admin.php:2090
-msgid "All available fields"
-msgstr "Todos los campos disponibles"
-
-#: ../../Zotlabs/Module/Admin.php:2091
-msgid "Custom Fields"
-msgstr "Campos personalizados"
-
-#: ../../Zotlabs/Module/Admin.php:2095
-msgid "Create Custom Field"
-msgstr "Crear un campo personalizado"
-
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr "Autorizar una conexión de aplicación"
-
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Volver a su aplicación e introducir este código de seguridad:"
-
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr "Por favor inicie sesión para continuar."
-
-#: ../../Zotlabs/Module/Api.php:87
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"
-
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
-msgstr "Aplicación instalada."
-
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
-msgstr "Aplicación con errores"
-
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
-msgstr "Código incorporado"
-
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr "Modificar la aplicación"
-
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
-msgstr "Crear una aplicación"
-
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
-msgstr "Nombre de la aplicación"
-
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr "Obligatorio"
-
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
-msgstr "Dirección (URL) de la aplicación"
-
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr "Descripción"
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
-msgstr "Dirección del icono"
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - opcional"
-
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
-msgstr "Categorías (opcional, lista separada por comas)"
-
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
-msgstr "Versión"
-
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
-msgstr "Precio de la aplicación"
-
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
-msgstr "Dirección (URL) donde adquirir la aplicación"
-
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:163
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr "Aplicaciones (apps)"
-
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Elemento no disponible"
-
-#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
-msgid "Invalid item."
-msgstr "Elemento no válido."
-
-#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Cal.php:62
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Canal no encontrado."
-
#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
#: ../../Zotlabs/Module/Editblock.php:108
msgid "Block Name"
msgstr "Nombre del bloque"
-#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2250
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
msgid "Blocks"
msgstr "Bloques"
@@ -1546,17 +304,10 @@ msgstr "Compartir"
msgid "View"
msgstr "Ver"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Marcador añadido"
-
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Mis marcadores"
-
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Marcadores de mis conexiones"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Canal no encontrado."
#: ../../Zotlabs/Module/Cal.php:69
msgid "Permissions denied."
@@ -1567,7 +318,7 @@ msgid "l, F j"
msgstr "l j F"
#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
-#: ../../include/text.php:1717
+#: ../../include/text.php:1732
msgid "Link to Source"
msgstr "Enlazar con la entrada en su ubicación original"
@@ -1601,6 +352,38 @@ msgstr "Exportar"
msgid "Import"
msgstr "Importar"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Enviar"
+
#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
msgid "Today"
msgstr "Hoy"
@@ -1651,7 +434,7 @@ msgid "Please enter a link URL:"
msgstr "Por favor, introduzca la dirección del enlace:"
#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
-#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:711
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
#: ../../include/conversation.php:1256
msgid "Encrypt text"
msgstr "Cifrar texto"
@@ -1715,17 +498,21 @@ msgstr "Ausente"
msgid "Online"
msgstr "Conectado/a"
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "Ningún canal."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Elemento no válido."
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Conexiones comunes"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Marcador añadido"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "Ninguna conexión en común."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Mis marcadores"
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Marcadores de mis conexiones"
#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
@@ -1770,148 +557,6 @@ msgstr "(No ha sido proporcionada ninguna instrucción específica por el propie
msgid "Restricted or Premium Channel"
msgstr "Canal premium o restringido"
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
-msgstr "Bloqueadas"
-
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
-msgstr "Ignoradas"
-
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
-msgstr "Ocultas"
-
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr "Archivadas"
-
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1535
-msgid "New"
-msgstr "Nuevas"
-
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:594 ../../include/widgets.php:497
-msgid "All"
-msgstr "Todos/as"
-
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
-msgstr "Nuevas conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
-msgstr "Mostrar conexiones (nuevas) pendientes"
-
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr "Todas las conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
-msgstr "Mostrar todas las conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
-msgstr "Mostrar solo las conexiones bloqueadas"
-
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
-msgstr "Mostrar solo conexiones ignoradas"
-
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr "Mostrar solo las conexiones archivadas"
-
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
-msgstr "Mostrar solo las conexiones ocultas"
-
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
-msgstr "Pendiente de aprobación"
-
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
-msgstr "Editar conexión"
-
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
-msgstr "Eliminar conexión"
-
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
-msgstr "Dirección del canal"
-
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
-msgstr "Red"
-
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
-msgstr "Conectado/a"
-
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
-msgstr "Aprobar esta conexión"
-
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
-msgstr "Ignorar esta conexión"
-
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:548
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Ignorar"
-
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
-msgstr "Actividad reciente"
-
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
-#: ../../include/nav.php:186 ../../include/text.php:875
-msgid "Connections"
-msgstr "Conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:165
-#: ../../include/acl_selectors.php:276 ../../include/text.php:945
-#: ../../include/text.php:957
-msgid "Search"
-msgstr "Buscar"
-
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
-msgstr "Buscar sus conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
-msgstr "Buscar conexiones"
-
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Encontrar"
-
#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "No se ha podido acceder al registro de contacto."
@@ -1932,6 +577,37 @@ msgstr "Error al actualizar el registro de la conexión."
msgid "is now connected to"
msgstr "ahora está conectado/a"
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "No"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Sí"
+
#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "No se pudo acceder al registro en su libreta de direcciones."
@@ -1951,7 +627,7 @@ msgid "Connection has been removed."
msgstr "La conexión ha sido eliminada."
#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:954 ../../include/nav.php:86
+#: ../../include/nav.php:86 ../../include/conversation.php:954
msgid "View Profile"
msgstr "Ver el perfil"
@@ -1976,6 +652,14 @@ msgstr "Actividad reciente"
msgid "View recent posts and comments"
msgstr "Ver publicaciones y comentarios recientes"
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
+msgid "Unblock"
+msgstr "Desbloquear"
+
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
+msgid "Block"
+msgstr "Bloquear"
+
#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Bloquear (o desbloquear) todas las comunicaciones con esta conexión"
@@ -1988,6 +672,12 @@ msgstr "¡Esta conexión está bloqueada!"
msgid "Unignore"
msgstr "Dejar de ignorar"
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignorar"
+
#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión"
@@ -2044,9 +734,9 @@ msgstr "Familia"
#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/selectors.php:123 ../../include/channel.php:389
-#: ../../include/channel.php:390 ../../include/channel.php:397
-#: ../../include/widgets.php:495
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
msgid "Friends"
msgstr "Amigos/as"
@@ -2054,6 +744,12 @@ msgstr "Amigos/as"
msgid "Acquaintances"
msgstr "Conocidos/as"
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Todos/as"
+
#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Aprobar esta conexión"
@@ -2082,7 +778,7 @@ msgstr "-"
msgid "Connection Default Permissions"
msgstr "Permisos predeterminados de conexión"
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3928
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
#, php-format
msgid "Connection: %s"
msgstr "Conexión: %s"
@@ -2199,115 +895,6 @@ msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><stron
msgid "Last update:"
msgstr "Última actualización:"
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:79
-msgid "Image uploaded but image cropping failed."
-msgstr "Imagen actualizada, pero el recorte de la imagen ha fallado. "
-
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr "Imágenes de portada del perfil"
-
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:133
-msgid "Image resize failed."
-msgstr "El ajuste del tamaño de la imagen ha fallado."
-
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
-msgid "Unable to process image"
-msgstr "No ha sido posible procesar la imagen"
-
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:217
-msgid "Image upload failed."
-msgstr "La carga de la imagen ha fallado."
-
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:236
-msgid "Unable to process image."
-msgstr "No ha sido posible procesar la imagen."
-
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4272
-msgid "female"
-msgstr "mujer"
-
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4273
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s ha actualizado su %2$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4274
-msgid "male"
-msgstr "hombre"
-
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4275
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s ha actualizado su %2$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4277
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "%1$s ha actualizado su %2$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
-msgid "cover photo"
-msgstr "Imagen de portada del perfil"
-
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:283
-#: ../../Zotlabs/Module/Profile_photo.php:324
-msgid "Photo not available."
-msgstr "Foto no disponible."
-
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:365
-msgid "Upload File:"
-msgstr "Subir fichero:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:366
-msgid "Select a profile:"
-msgstr "Seleccionar un perfil:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr "Subir imagen de portada del perfil"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-#: ../../Zotlabs/Module/Settings.php:985
-msgid "or"
-msgstr "o"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "skip this step"
-msgstr "Omitir este paso"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "select a photo from your photo albums"
-msgstr "Seleccione una foto de sus álbumes de fotos"
-
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:390
-msgid "Crop Image"
-msgstr "Recortar imagen"
-
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:391
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Por favor ajuste el recorte de la imagen para una visión óptima."
-
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:393
-msgid "Done Editing"
-msgstr "Edición completada"
-
#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
#: ../../Zotlabs/Module/Search.php:17
@@ -2357,9 +944,9 @@ msgid "About:"
msgstr "Sobre mí:"
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
#: ../../include/conversation.php:956 ../../include/channel.php:1012
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
msgid "Connect"
msgstr "Conectar"
@@ -2387,6 +974,13 @@ msgstr "Directorio global:"
msgid "Local Directory"
msgstr "Directorio local:"
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Encontrar"
+
#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Encontrar:"
@@ -2428,98 +1022,280 @@ msgstr "De más antiguo a más nuevo"
msgid "No entries (some entries may be hidden)."
msgstr "Sin entradas (algunas entradas pueden estar ocultas)."
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Este sitio no es un servidor de directorio"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Elemento no encontrado."
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "El servidor de este directorio necesita un \"token\" de acceso"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Elemento no encontrado"
-#: ../../Zotlabs/Module/Dreport.php:27
-msgid "Invalid message"
-msgstr "Mensaje no válido"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Título (opcional)"
-#: ../../Zotlabs/Module/Dreport.php:59
-msgid "no results"
-msgstr "sin resultados"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Modificar este bloque"
-#: ../../Zotlabs/Module/Dreport.php:64
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Ningún canal."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Conexiones comunes"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Ninguna conexión en común."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Bloqueadas"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignoradas"
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Ocultas"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Archivadas"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Nuevas"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Nuevas conexiones"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Mostrar conexiones (nuevas) pendientes"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Todas las conexiones"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Mostrar todas las conexiones"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Mostrar solo las conexiones bloqueadas"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Mostrar solo conexiones ignoradas"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Mostrar solo las conexiones archivadas"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Mostrar solo las conexiones ocultas"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "Pendiente de aprobación"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Informe de entrega para %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Dreport.php:78
-msgid "channel sync processed"
-msgstr "se ha realizado la sincronización del canal"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Editar conexión"
-#: ../../Zotlabs/Module/Dreport.php:82
-msgid "queued"
-msgstr "encolado"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Eliminar conexión"
-#: ../../Zotlabs/Module/Dreport.php:86
-msgid "posted"
-msgstr "enviado"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Dirección del canal"
-#: ../../Zotlabs/Module/Dreport.php:90
-msgid "accepted for delivery"
-msgstr "aceptado para el envío"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Red"
-#: ../../Zotlabs/Module/Dreport.php:94
-msgid "updated"
-msgstr "actualizado"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Estado"
-#: ../../Zotlabs/Module/Dreport.php:97
-msgid "update ignored"
-msgstr "actualización ignorada"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Conectado/a"
-#: ../../Zotlabs/Module/Dreport.php:100
-msgid "permission denied"
-msgstr "permiso denegado"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Aprobar esta conexión"
-#: ../../Zotlabs/Module/Dreport.php:104
-msgid "recipient not found"
-msgstr "destinatario no encontrado"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Aprobar"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "mail recalled"
-msgstr "mensaje de correo revocado"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Ignorar esta conexión"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "duplicate mail received"
-msgstr "se ha recibido mensaje duplicado"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Actividad reciente"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "mail delivered"
-msgstr "correo enviado"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Conexiones"
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editpost.php:24
-#: ../../Zotlabs/Module/Editwebpage.php:81
-msgid "Item not found"
-msgstr "Elemento no encontrado"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Buscar"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
-msgid "Title (optional)"
-msgstr "Título (opcional)"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Buscar sus conexiones"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Modificar este bloque"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Buscar conexiones"
-#: ../../Zotlabs/Module/Editlayout.php:126
-#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
-msgid "Layout Name"
-msgstr "Nombre de la plantilla"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "Imagen actualizada, pero el recorte de la imagen ha fallado. "
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:130
-msgid "Layout Description (Optional)"
-msgstr "Descripción de la plantilla (opcional)"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Imágenes de portada del perfil"
-#: ../../Zotlabs/Module/Editlayout.php:135
-msgid "Edit Layout"
-msgstr "Modificar la plantilla"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "El ajuste del tamaño de la imagen ha fallado."
+
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "No ha sido posible procesar la imagen"
+
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "La carga de la imagen ha fallado."
+
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "No ha sido posible procesar la imagen."
+
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "mujer"
+
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s ha actualizado su %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "hombre"
+
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s ha actualizado su %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s ha actualizado su %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "Imagen de portada del perfil"
+
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Foto no disponible."
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Subir fichero:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Seleccionar un perfil:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Subir imagen de portada del perfil"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "o"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "Omitir este paso"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "Seleccione una foto de sus álbumes de fotos"
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Recortar imagen"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Por favor ajuste el recorte de la imagen para una visión óptima."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Edición completada"
#: ../../Zotlabs/Module/Editpost.php:35
msgid "Item is not editable"
@@ -2529,14 +1305,6 @@ msgstr "El elemento no es editable"
msgid "Edit post"
msgstr "Editar la entrada"
-#: ../../Zotlabs/Module/Editwebpage.php:143
-msgid "Page link"
-msgstr "Enlace de la página"
-
-#: ../../Zotlabs/Module/Editwebpage.php:169
-msgid "Edit Webpage"
-msgstr "Editar la página web"
-
#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Entradas de calendario importadas."
@@ -2563,8 +1331,8 @@ msgid "Event not found."
msgstr "Evento no encontrado."
#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/event.php:949 ../../include/text.php:1928
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
msgid "event"
msgstr "evento"
@@ -2576,6 +1344,13 @@ msgstr "Editar el título del evento"
msgid "Event title"
msgstr "Título del evento"
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Obligatorio"
+
#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Categorías (lista separada por comas)"
@@ -2622,6 +1397,11 @@ msgstr "Importante para los eventos que suceden en un lugar determinado. No es p
msgid "Edit Description"
msgstr "Editar la descripción"
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Descripción"
+
#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Modificar la dirección"
@@ -2637,7 +1417,7 @@ msgid "Share this event"
msgstr "Compartir este evento"
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:708
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
msgid "Preview"
msgstr "Previsualizar"
@@ -2671,17 +1451,24 @@ msgid "Failed to remove event"
msgstr "Error al eliminar el evento"
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
-#: ../../include/conversation.php:1632 ../../include/nav.php:92
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
msgid "Photos"
msgstr "Fotos"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Compartir contenido desde Firefox a $Projectname"
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Cancelar"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname "
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Este sitio no es un servidor de directorio"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "El servidor de este directorio necesita un \"token\" de acceso"
#: ../../Zotlabs/Module/Filer.php:52
msgid "Save to Folder:"
@@ -2691,54 +1478,104 @@ msgstr "Guardar en carpeta:"
msgid "- select -"
msgstr "- seleccionar -"
-#: ../../Zotlabs/Module/Filestorage.php:88
-msgid "Permission Denied."
-msgstr "Permiso denegado"
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Guardar"
-#: ../../Zotlabs/Module/Filestorage.php:104
-msgid "File not found."
-msgstr "Fichero no encontrado."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Mensaje no válido"
-#: ../../Zotlabs/Module/Filestorage.php:147
-msgid "Edit file permissions"
-msgstr "Modificar los permisos del fichero"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "sin resultados"
-#: ../../Zotlabs/Module/Filestorage.php:156
-msgid "Set/edit permissions"
-msgstr "Establecer/editar los permisos"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Informe de entrega para %1$s"
-#: ../../Zotlabs/Module/Filestorage.php:157
-msgid "Include all files and sub folders"
-msgstr "Incluir todos los ficheros y subcarpetas"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "se ha realizado la sincronización del canal"
-#: ../../Zotlabs/Module/Filestorage.php:158
-msgid "Return to file list"
-msgstr "Volver a la lista de ficheros"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "encolado"
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copiar/pegar este código para adjuntar el fichero al envío"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "enviado"
-#: ../../Zotlabs/Module/Filestorage.php:161
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copiar/pegar esta dirección para enlazar el fichero desde una página web"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "aceptado para el envío"
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Share this file"
-msgstr "Compartir este fichero"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "actualizado"
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Show URL to this file"
-msgstr "Mostrar la dirección de este fichero"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "actualización ignorada"
-#: ../../Zotlabs/Module/Filestorage.php:165
-msgid "Notify your contacts about this file"
-msgstr "Avisar a sus contactos sobre este fichero"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "permiso denegado"
+
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "destinatario no encontrado"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "mensaje de correo revocado"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "se ha recibido mensaje duplicado"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "correo enviado"
+
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Nombre de la plantilla"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Descripción de la plantilla (opcional)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Modificar la plantilla"
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "Enlace de la página"
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Editar la página web"
#: ../../Zotlabs/Module/Follow.php:34
msgid "Channel added."
msgstr "Canal añadido."
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "red"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
+
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "El grupo de canales ha sido creado."
@@ -2748,7 +1585,7 @@ msgid "Could not create privacy group."
msgstr "No se puede crear el grupo de canales"
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3895
+#: ../../include/items.php:3893
msgid "Privacy group not found."
msgstr "Grupo de canales no encontrado."
@@ -2792,6 +1629,32 @@ msgstr "Todos los canales conectados"
msgid "Click on a channel to add or remove."
msgstr "Haga clic en un canal para agregarlo o quitarlo."
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Compartir contenido desde Firefox a $Projectname"
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname "
+
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Autorizar una conexión de aplicación"
+
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Volver a su aplicación e introducir este código de seguridad:"
+
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Por favor inicie sesión para continuar."
+
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"
+
#: ../../Zotlabs/Module/Help.php:26
msgid "Documentation Search"
msgstr "Búsqueda de Documentación"
@@ -2811,128 +1674,58 @@ msgstr "Ayuda"
msgid "$Projectname Documentation"
msgstr "Documentación de $Projectname"
-#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
-#: ../../Zotlabs/Module/Siteinfo.php:65
-msgid "$Projectname"
-msgstr "$Projectname"
-
-#: ../../Zotlabs/Module/Home.php:79
-#, php-format
-msgid "Welcome to %s"
-msgstr "Bienvenido a %s"
-
-#: ../../Zotlabs/Module/Id.php:13
-msgid "First Name"
-msgstr "Nombre"
-
-#: ../../Zotlabs/Module/Id.php:14
-msgid "Last Name"
-msgstr "Apellido"
-
-#: ../../Zotlabs/Module/Id.php:15
-msgid "Nickname"
-msgstr "Sobrenombre o Alias"
-
-#: ../../Zotlabs/Module/Id.php:16
-msgid "Full Name"
-msgstr "Nombre completo"
-
-#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
-msgid "Profile Photo"
-msgstr "Foto del perfil"
-
-#: ../../Zotlabs/Module/Id.php:22
-msgid "Profile Photo 16px"
-msgstr "Foto del perfil 16px"
-
-#: ../../Zotlabs/Module/Id.php:23
-msgid "Profile Photo 32px"
-msgstr "Foto del perfil 32px"
-
-#: ../../Zotlabs/Module/Id.php:24
-msgid "Profile Photo 48px"
-msgstr "Foto del perfil 48px"
-
-#: ../../Zotlabs/Module/Id.php:25
-msgid "Profile Photo 64px"
-msgstr "Foto del perfil 64px"
-
-#: ../../Zotlabs/Module/Id.php:26
-msgid "Profile Photo 80px"
-msgstr "Foto del perfil 80px"
-
-#: ../../Zotlabs/Module/Id.php:27
-msgid "Profile Photo 128px"
-msgstr "Foto del perfil 128px"
-
-#: ../../Zotlabs/Module/Id.php:28
-msgid "Timezone"
-msgstr "Huso horario"
-
-#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "Dirección de la página personal"
-
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
-msgid "Language"
-msgstr "Idioma"
-
-#: ../../Zotlabs/Module/Id.php:31
-msgid "Birth Year"
-msgstr "Año de nacimiento"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Permiso denegado"
-#: ../../Zotlabs/Module/Id.php:32
-msgid "Birth Month"
-msgstr "Mes de nacimiento"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Fichero no encontrado."
-#: ../../Zotlabs/Module/Id.php:33
-msgid "Birth Day"
-msgstr "Día de nacimiento"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Modificar los permisos del fichero"
-#: ../../Zotlabs/Module/Id.php:34
-msgid "Birthdate"
-msgstr "Fecha de nacimiento"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Establecer/editar los permisos"
-#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Género"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Incluir todos los ficheros y subcarpetas"
-#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Male"
-msgstr "Hombre"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Volver a la lista de ficheros"
-#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Female"
-msgstr "Mujer"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copiar/pegar este código para adjuntar el fichero al envío"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "página web"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copiar/pegar esta dirección para enlazar el fichero desde una página web"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "bloque"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Compartir este fichero"
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "plantilla"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Mostrar la dirección de este fichero"
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menú"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Avisar a sus contactos sobre este fichero"
-#: ../../Zotlabs/Module/Impel.php:196
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento instalado"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Aplicaciones (apps)"
-#: ../../Zotlabs/Module/Impel.php:199
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elemento con instalación fallida: %s"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Elemento no disponible"
#: ../../Zotlabs/Module/Import.php:32
#, php-format
@@ -3031,89 +1824,6 @@ msgid ""
"only once and leave this page open until finished."
msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."
-#: ../../Zotlabs/Module/Import_items.php:102
-msgid "Import completed"
-msgstr "Importación completada"
-
-#: ../../Zotlabs/Module/Import_items.php:117
-msgid "Import Items"
-msgstr "Importar elementos"
-
-#: ../../Zotlabs/Module/Import_items.php:118
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Se ha superado el límite máximo de invitaciones."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : No es una dirección de correo electrónico válida. "
-
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Únase a nosotros en $Projectname"
-
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio."
-
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Falló el envío del mensaje."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d mensajes enviados."
-msgstr[1] "%d mensajes enviados."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "No tiene más invitaciones disponibles"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Enviar invitaciones"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
-
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
-msgid "Your message:"
-msgstr "Su mensaje:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Por favor, únase a mi comunidad en $Projectname."
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Tendrá que suministrar este código de invitación:"
-
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Regístrese en cualquier sitio de $Projectname (están todos interconectados)"
-
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Introduzca mi dirección $Projectname en la caja de búsqueda del sitio."
-
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "o visitar"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Pulse [conectar]"
-
#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "No ha sido posible encontrar la entrada original."
@@ -3148,7 +1858,7 @@ msgstr "Ha alcanzado su límite de %1$.0f entradas en la página principal."
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Ha alcanzado su límite de %1$.0f páginas web."
-#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2252
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
msgid "Layouts"
msgstr "Plantillas"
@@ -3164,6 +1874,135 @@ msgstr "Descripción de la plantilla"
msgid "Download PDL file"
msgstr "Descargar el fichero PDL"
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "Bienvenido a %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Nombre"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Apellido"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Sobrenombre o Alias"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Nombre completo"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "Correo electrónico"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Foto del perfil"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Foto del perfil 16px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Foto del perfil 32px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Foto del perfil 48px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Foto del perfil 64px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Foto del perfil 80px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Foto del perfil 128px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Huso horario"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Dirección de la página personal"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Idioma"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Año de nacimiento"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Mes de nacimiento"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Día de nacimiento"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Fecha de nacimiento"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Género"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Hombre"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Mujer"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "página web"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "bloque"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "plantilla"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menú"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento instalado"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elemento con instalación fallida: %s"
+
#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Me gusta/No me gusta"
@@ -3200,13 +2039,13 @@ msgid "Previous action reversed."
msgstr "Acción anterior revocada."
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1925
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
msgid "photo"
msgstr "foto"
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1931
+#: ../../include/text.php:1946 ../../include/conversation.php:148
msgid "status"
msgstr "el mensaje de estado"
@@ -3258,6 +2097,89 @@ msgstr "Acción completada."
msgid "Thank you."
msgstr "Gracias."
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "Importación completada"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importar elementos"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Se ha superado el límite máximo de invitaciones."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : No es una dirección de correo electrónico válida. "
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Únase a nosotros en $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Falló el envío del mensaje."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d mensajes enviados."
+msgstr[1] "%d mensajes enviados."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "No tiene más invitaciones disponibles"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Enviar invitaciones"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Su mensaje:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Por favor, únase a mi comunidad en $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Tendrá que suministrar este código de invitación:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Regístrese en cualquier sitio de $Projectname (están todos interconectados)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Introduzca mi dirección $Projectname en la caja de búsqueda del sitio."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "o visitar"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Pulse [conectar]"
+
#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "La información privada remota no está disponible."
@@ -3292,6 +2214,11 @@ msgstr "No encontrada ninguna dirección."
msgid "Manage Channel Locations"
msgstr "Gestionar las direcciones del canal"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Dirección"
+
#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr "Primario"
@@ -3318,79 +2245,6 @@ msgstr "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "No se ha encontrado una cuenta válida."
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Usuario del sitio (%s)"
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Se ha solicitado restablecer la contraseña en %s"
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."
-
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1703
-msgid "Password Reset"
-msgstr "Restablecer la contraseña"
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "Su contraseña ha sido restablecida según lo solicitó."
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "Su nueva contraseña es"
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Guarde o copie su nueva contraseña - y después"
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "pulse aquí para conectarse"
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Su contraseña en %s ha sido cambiada"
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "¿Ha olvidado su contraseña?"
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "Dirección de correo electrónico"
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Reiniciar"
-
#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Servidor no encontrado"
@@ -3537,21 +2391,78 @@ msgstr "%d nuevas isolicitudes de conexión"
msgid "Delegated Channel"
msgstr "Canal delegado"
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Perfil compatible"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "No se ha encontrado una cuenta válida."
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "está interesado en:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Usuario del sitio (%s)"
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "No se han encontrado perfiles compatibles"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Se ha solicitado restablecer la contraseña en %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Restablecer la contraseña"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Su contraseña ha sido restablecida según lo solicitó."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Su nueva contraseña es"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Guarde o copie su nueva contraseña - y después"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "pulse aquí para conectarse"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Su contraseña en %s ha sido cambiada"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "¿Ha olvidado su contraseña?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "Dirección de correo electrónico"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Reiniciar"
#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
@@ -3589,7 +2500,7 @@ msgstr "El menú se puede usar para guardar marcadores"
msgid "Submit and proceed"
msgstr "Enviar y proceder"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2251
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
msgid "Menus"
msgstr "Menús"
@@ -3650,6 +2561,74 @@ msgstr "Permitir marcadores"
msgid "Not found."
msgstr "No encontrado."
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s está %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Estado de ánimo"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Perfil compatible"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "está interesado en:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "No se han encontrado perfiles compatibles"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "No se encuentra el grupo"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "No se encuentra el canal"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "foro"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Buscar resultados para:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "El grupo de canales está vacío"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Grupo de canales: "
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Conexión no válida."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "No hay más notificaciones del sistema"
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Notificaciones del sistema"
+
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Imposible crear el elemento."
@@ -3767,48 +2746,6 @@ msgstr "Editar elemento del menú"
msgid "Link text"
msgstr "Texto del enlace"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s está %2$s"
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
-msgid "Mood"
-msgstr "Estado de ánimo"
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
-
-#: ../../Zotlabs/Module/Network.php:96
-msgid "No such group"
-msgstr "No se encuentra el grupo"
-
-#: ../../Zotlabs/Module/Network.php:136
-msgid "No such channel"
-msgstr "No se encuentra el canal"
-
-#: ../../Zotlabs/Module/Network.php:141
-msgid "forum"
-msgstr "foro"
-
-#: ../../Zotlabs/Module/Network.php:153
-msgid "Search Results For:"
-msgstr "Buscar resultados para:"
-
-#: ../../Zotlabs/Module/Network.php:217
-msgid "Privacy group is empty"
-msgstr "El grupo de canales está vacío"
-
-#: ../../Zotlabs/Module/Network.php:226
-msgid "Privacy group: "
-msgstr "Grupo de canales: "
-
-#: ../../Zotlabs/Module/Network.php:252
-msgid "Invalid connection."
-msgstr "Conexión no válida."
-
#: ../../Zotlabs/Module/New_channel.php:128
#: ../../Zotlabs/Module/Register.php:231
msgid "Name or caption"
@@ -3871,81 +2808,10 @@ msgstr "Petición inválida del identificador."
msgid "Discard"
msgstr "Descartar"
-#: ../../Zotlabs/Module/Notifications.php:98
-#: ../../Zotlabs/Module/Notify.php:57
-msgid "No more system notifications."
-msgstr "No hay más notificaciones del sistema"
-
-#: ../../Zotlabs/Module/Notifications.php:102
-#: ../../Zotlabs/Module/Notify.php:61
-msgid "System Notifications"
-msgstr "Notificaciones del sistema"
-
#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
msgid "Mark all system notifications seen"
msgstr "Marcar todas las notificaciones de sistema como leídas"
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
-msgstr "No se puede encontrar su servidor."
-
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
-msgstr "Enviado con éxito."
-
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
-msgstr "Error del protocolo OpenID. Ningún ID recibido como respuesta."
-
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
-msgid "Login failed."
-msgstr "El acceso ha fallado."
-
-#: ../../Zotlabs/Module/Page.php:133
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada."
-
-#: ../../Zotlabs/Module/Pconfig.php:48
-msgid "Configuration Editor"
-msgstr "Editor de configuración"
-
-#: ../../Zotlabs/Module/Pconfig.php:49
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica."
-
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
-msgstr "Plantilla actualizada."
-
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
-msgstr "Editor del Sistema de Descripción de Páginas"
-
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
-msgstr "Plantilla no encontrada"
-
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
-msgstr "Nombre del módulo:"
-
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
-msgstr "Ayuda para el diseño de plantillas de página"
-
#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "La información del propietario de la página no pudo ser recuperada."
@@ -4023,8 +2889,7 @@ msgstr "Descripción (opcional):"
msgid "Album name could not be decoded"
msgstr "El nombre del álbum no ha podido ser descifrado"
-#: ../../Zotlabs/Module/Photos.php:743 ../../Zotlabs/Module/Photos.php:1284
-#: ../../Zotlabs/Module/Photos.php:1302
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Fotos de contacto"
@@ -4036,12 +2901,12 @@ msgstr "Mostrar lo más reciente primero"
msgid "Show Oldest First"
msgstr "Mostrar lo más antiguo primero"
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1335
-#: ../../include/widgets.php:1497
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
msgid "View Photo"
msgstr "Ver foto"
-#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1514
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
msgid "Edit Album"
msgstr "Editar álbum"
@@ -4069,6 +2934,11 @@ msgstr "Foto privada"
msgid "View Full Size"
msgstr "Ver tamaño completo"
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Eliminar"
+
#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Editar foto"
@@ -4105,26 +2975,26 @@ msgstr "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com"
msgid "Flag as adult in album view"
msgstr "Marcar como \"solo para adultos\" en el álbum"
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:251
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
msgid "I like this (toggle)"
msgstr "Me gusta (cambiar)"
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:252
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
msgid "I don't like this (toggle)"
msgstr "No me gusta esto (cambiar)"
-#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:386
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
#: ../../include/conversation.php:740
msgid "Please wait"
msgstr "Espere por favor"
#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:696
+#: ../../Zotlabs/Lib/ThreadItem.php:707
msgid "This is you"
msgstr "Este es usted"
#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
-#: ../../Zotlabs/Lib/ThreadItem.php:698 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Comentar"
@@ -4169,21 +3039,21 @@ msgid "Might attend"
msgstr "Quizá participe"
#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
-#: ../../Zotlabs/Lib/ThreadItem.php:171 ../../Zotlabs/Lib/ThreadItem.php:183
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
#: ../../include/conversation.php:1717
msgid "View all"
msgstr "Ver todo"
-#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:175
-#: ../../include/conversation.php:1741 ../../include/channel.php:1158
-#: ../../include/taxonomy.php:403
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "Me gusta"
msgstr[1] "Me gusta"
-#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:180
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
#: ../../include/conversation.php:1744
msgctxt "noun"
msgid "Dislike"
@@ -4203,27 +3073,27 @@ msgstr "En esta foto:"
msgid "Map"
msgstr "Mapa"
-#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:375
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
msgctxt "noun"
msgid "Likes"
msgstr "Me gusta"
-#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:376
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
msgctxt "noun"
msgid "Dislikes"
msgstr "No me gusta"
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
#: ../../include/acl_selectors.php:285
msgid "Close"
msgstr "Cerrar"
-#: ../../Zotlabs/Module/Photos.php:1341
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Ver álbum"
-#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365
-#: ../../Zotlabs/Module/Photos.php:1366
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Fotos recientes"
@@ -4247,6 +3117,67 @@ msgstr "[hoy]"
msgid "posted an event"
msgstr "publicó un evento"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "No se puede encontrar su servidor."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Enviado con éxito."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Error del protocolo OpenID. Ningún ID recibido como respuesta."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "El acceso ha fallado."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada."
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Editor de configuración"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica."
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Plantilla actualizada."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Editor del Sistema de Descripción de Páginas"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Plantilla no encontrada"
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Nombre del módulo:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Ayuda para el diseño de plantillas de página"
+
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
#: ../../include/conversation.php:960
msgid "Poke"
@@ -4281,16 +3212,6 @@ msgstr "Convertir en privado este envío"
msgid "Fetching URL returns error: %1$s"
msgstr "Al intentar obtener la dirección, retorna el error: %1$s"
-#: ../../Zotlabs/Module/Profile_photo.php:179
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente."
-
-#: ../../Zotlabs/Module/Profile_photo.php:367
-msgid "Upload Profile Photo"
-msgstr "Subir foto de perfil"
-
#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
@@ -4409,8 +3330,8 @@ msgstr "Eliminar este perfil"
msgid "Add profile things"
msgstr "Añadir cosas al perfil"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1526
-#: ../../include/widgets.php:105
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
msgid "Personal"
msgstr "Personales"
@@ -4554,11 +3475,21 @@ msgstr "Mis otros canales"
msgid "Profile Image"
msgstr "Imagen del perfil"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:937
-#: ../../include/nav.php:88
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
msgid "Edit Profiles"
msgstr "Editar perfiles"
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Subir foto de perfil"
+
#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
msgid "Invalid profile identifier."
msgstr "Identificador del perfil no válido"
@@ -4579,7 +3510,7 @@ msgstr "Pulsar en un contacto para añadirlo o eliminarlo."
msgid "Visible To"
msgstr "Visible para"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1268
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
msgid "Public Hubs"
msgstr "Servidores públicos"
@@ -4654,6 +3585,1073 @@ msgstr "Sitio web:"
msgid "Description: "
msgstr "Descripción:"
+#: ../../Zotlabs/Module/Admin.php:77
+msgid "Theme settings updated."
+msgstr "Ajustes del tema actualizados."
+
+#: ../../Zotlabs/Module/Admin.php:197
+msgid "# Accounts"
+msgstr "# Cuentas"
+
+#: ../../Zotlabs/Module/Admin.php:198
+msgid "# blocked accounts"
+msgstr "# cuentas bloqueadas"
+
+#: ../../Zotlabs/Module/Admin.php:199
+msgid "# expired accounts"
+msgstr "# cuentas caducadas"
+
+#: ../../Zotlabs/Module/Admin.php:200
+msgid "# expiring accounts"
+msgstr "# cuentas que caducan"
+
+#: ../../Zotlabs/Module/Admin.php:211
+msgid "# Channels"
+msgstr "# Canales"
+
+#: ../../Zotlabs/Module/Admin.php:212
+msgid "# primary"
+msgstr "# primario"
+
+#: ../../Zotlabs/Module/Admin.php:213
+msgid "# clones"
+msgstr "# clones"
+
+#: ../../Zotlabs/Module/Admin.php:219
+msgid "Message queues"
+msgstr "Mensajes en cola"
+
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "Debe actualizar su software"
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
+msgid "Administration"
+msgstr "Administración"
+
+#: ../../Zotlabs/Module/Admin.php:242
+msgid "Summary"
+msgstr "Sumario"
+
+#: ../../Zotlabs/Module/Admin.php:245
+msgid "Registered accounts"
+msgstr "Cuentas registradas"
+
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
+msgid "Pending registrations"
+msgstr "Registros pendientes"
+
+#: ../../Zotlabs/Module/Admin.php:247
+msgid "Registered channels"
+msgstr "Canales registrados"
+
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
+msgid "Active plugins"
+msgstr "Extensiones (plugins) activas"
+
+#: ../../Zotlabs/Module/Admin.php:249
+msgid "Version"
+msgstr "Versión"
+
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr "Versión del repositorio (master)"
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr "Versión del repositorio (dev)"
+
+#: ../../Zotlabs/Module/Admin.php:373
+msgid "Site settings updated."
+msgstr "Ajustes del sitio actualizados."
+
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Predeterminado"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
+msgid "mobile"
+msgstr "móvil"
+
+#: ../../Zotlabs/Module/Admin.php:412
+msgid "experimental"
+msgstr "experimental"
+
+#: ../../Zotlabs/Module/Admin.php:414
+msgid "unsupported"
+msgstr "no soportado"
+
+#: ../../Zotlabs/Module/Admin.php:460
+msgid "Yes - with approval"
+msgstr "Sí - con aprobación"
+
+#: ../../Zotlabs/Module/Admin.php:466
+msgid "My site is not a public server"
+msgstr "Mi sitio no es un servidor público"
+
+#: ../../Zotlabs/Module/Admin.php:467
+msgid "My site has paid access only"
+msgstr "Mi sitio es un servicio de pago"
+
+#: ../../Zotlabs/Module/Admin.php:468
+msgid "My site has free access only"
+msgstr "Mi sitio es un servicio gratuito"
+
+#: ../../Zotlabs/Module/Admin.php:469
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
+
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Sitio"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
+msgid "Registration"
+msgstr "Registro"
+
+#: ../../Zotlabs/Module/Admin.php:494
+msgid "File upload"
+msgstr "Subir fichero"
+
+#: ../../Zotlabs/Module/Admin.php:495
+msgid "Policies"
+msgstr "Políticas"
+
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: ../../Zotlabs/Module/Admin.php:500
+msgid "Site name"
+msgstr "Nombre del sitio"
+
+#: ../../Zotlabs/Module/Admin.php:501
+msgid "Banner/Logo"
+msgstr "Banner/Logo"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid "Administrator Information"
+msgstr "Información del Administrador"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode"
+
+#: ../../Zotlabs/Module/Admin.php:503
+msgid "System language"
+msgstr "Idioma del sistema"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid "System theme"
+msgstr "Tema gráfico del sistema"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Mobile system theme"
+msgstr "Tema del sistema para móviles"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Theme for mobile devices"
+msgstr "Tema para dispositivos móviles"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "Allow Feeds as Connections"
+msgstr "Permitir contenidos RSS como conexiones"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "(Heavy system resource usage)"
+msgstr "(Uso intenso de los recursos del sistema)"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid "Maximum image size"
+msgstr "Tamaño máximo de la imagen"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites."
+
+#: ../../Zotlabs/Module/Admin.php:509
+msgid "Does this site allow new member registration?"
+msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid "Invitation only"
+msgstr "Solo con una invitación"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\"."
+
+#: ../../Zotlabs/Module/Admin.php:511
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "¿Cómo describiría el tipo de servicio ofrecido por este servidor?"
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Register text"
+msgstr "Texto del registro"
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Will be displayed prominently on the registration page."
+msgstr "Se mostrará de forma destacada en la página de registro."
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)"
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero."
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid "Preserve site homepage URL"
+msgstr "Preservar la dirección de la página personal"
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla."
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid "Accounts abandoned after x days"
+msgstr "Cuentas abandonadas después de x días"
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo."
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid "Allowed friend domains"
+msgstr "Dominios amigos permitidos"
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio."
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid "Allowed email domains"
+msgstr "Se aceptan dominios de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. "
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid "Not allowed email domains"
+msgstr "No se permiten dominios de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado."
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid "Verify Email Addresses"
+msgstr "Verificar las direcciones de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado)."
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid "Force publish"
+msgstr "Forzar la publicación"
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio."
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid "Import Public Streams"
+msgstr "Importar contenido público"
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Importar y permitir acceso al contenido público sacado de otros sitios. Advertencia: este contenido no está moderado, por lo que podría encontrar cosas inapropiadas u ofensivas."
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr "Iniciar sesión en la página personal"
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido."
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr "Habilitar la ayuda contextual"
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda."
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Directory Server URL"
+msgstr "URL del servidor de directorio"
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Default directory server"
+msgstr "Servidor de directorio predeterminado"
+
+#: ../../Zotlabs/Module/Admin.php:527
+msgid "Proxy user"
+msgstr "Usuario del proxy"
+
+#: ../../Zotlabs/Module/Admin.php:528
+msgid "Proxy URL"
+msgstr "Dirección del proxy"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Network timeout"
+msgstr "Tiempo de espera de la red"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid "Delivery interval"
+msgstr "Intervalo de entrega"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados."
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid "Deliveries per process"
+msgstr "Intentos de envío por proceso"
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5."
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid "Poll interval"
+msgstr "Intervalo máximo de tiempo entre dos mensajes sucesivos"
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Retrasar el intervalo de envío en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de entrega."
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid "Maximum Load Average"
+msgstr "Carga media máxima"
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50."
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Caducidad del contenido importado de otros sitios (en días)"
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "0 for no expiration of imported content"
+msgstr "0 para que no caduque el contenido importado"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "Off"
+msgstr "Desactivado"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "On"
+msgstr "Activado"
+
+#: ../../Zotlabs/Module/Admin.php:678
+#, php-format
+msgid "Lock feature %s"
+msgstr "Bloquear la funcionalidad %s"
+
+#: ../../Zotlabs/Module/Admin.php:686
+msgid "Manage Additional Features"
+msgstr "Gestionar las funcionalidades"
+
+#: ../../Zotlabs/Module/Admin.php:703
+msgid "No server found"
+msgstr "Servidor no encontrado"
+
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "for channel"
+msgstr "por canal"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "on server"
+msgstr "en el servidor"
+
+#: ../../Zotlabs/Module/Admin.php:712
+msgid "Server"
+msgstr "Servidor"
+
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro."
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: "
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita."
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Seguridad"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid "Block public"
+msgstr "Bloquear páginas públicas"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado."
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP"
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr "Permitir la comunicación solo desde estos sitios"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
+
+#: ../../Zotlabs/Module/Admin.php:762
+msgid "Block communications from these sites"
+msgstr "Bloquear la comunicación desde estos sitios"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid "Allow communications only from these channels"
+msgstr "Permitir la comunicación solo desde estos canales"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
+
+#: ../../Zotlabs/Module/Admin.php:764
+msgid "Block communications from these channels"
+msgstr "Bloquear la comunicación desde estos canales"
+
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL)."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Permitir contenido HTML sin filtrar sólo desde estos dominios "
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada."
+
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr "Bloquear contenido con HTML incorporado desde estos dominios"
+
+#: ../../Zotlabs/Module/Admin.php:785
+msgid "Update has been marked successful"
+msgstr "La actualización ha sido marcada como exitosa"
+
+#: ../../Zotlabs/Module/Admin.php:795
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "La ejecución de %s ha fallado. Mirar en los informes del sistema."
+
+#: ../../Zotlabs/Module/Admin.php:798
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "La actualización de %s se ha realizado exitosamente."
+
+#: ../../Zotlabs/Module/Admin.php:802
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito."
+
+#: ../../Zotlabs/Module/Admin.php:805
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "No se encuentra la función de actualización de %s."
+
+#: ../../Zotlabs/Module/Admin.php:821
+msgid "No failed updates."
+msgstr "No ha fallado ninguna actualización."
+
+#: ../../Zotlabs/Module/Admin.php:825
+msgid "Failed Updates"
+msgstr "Han fallado las actualizaciones"
+
+#: ../../Zotlabs/Module/Admin.php:827
+msgid "Mark success (if update was manually applied)"
+msgstr "Marcar como exitosa (si la actualización se ha hecho manualmente)"
+
+#: ../../Zotlabs/Module/Admin.php:828
+msgid "Attempt to execute this update step automatically"
+msgstr "Intentar ejecutar este paso de actualización automáticamente"
+
+#: ../../Zotlabs/Module/Admin.php:859
+msgid "Queue Statistics"
+msgstr "Estadísticas de la cola"
+
+#: ../../Zotlabs/Module/Admin.php:860
+msgid "Total Entries"
+msgstr "Total de entradas"
+
+#: ../../Zotlabs/Module/Admin.php:861
+msgid "Priority"
+msgstr "Prioridad"
+
+#: ../../Zotlabs/Module/Admin.php:862
+msgid "Destination URL"
+msgstr "Dirección de destino"
+
+#: ../../Zotlabs/Module/Admin.php:863
+msgid "Mark hub permanently offline"
+msgstr "Marcar el servidor como permanentemente fuera de línea"
+
+#: ../../Zotlabs/Module/Admin.php:864
+msgid "Empty queue for this hub"
+msgstr "Vaciar la cola para este servidor"
+
+#: ../../Zotlabs/Module/Admin.php:865
+msgid "Last known contact"
+msgstr "Último contacto conocido"
+
+#: ../../Zotlabs/Module/Admin.php:901
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s cuenta bloqueada/desbloqueada"
+msgstr[1] "%s cuenta bloqueada/desbloqueada"
+
+#: ../../Zotlabs/Module/Admin.php:908
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s cuentas eliminadas"
+msgstr[1] "%s cuentas eliminadas"
+
+#: ../../Zotlabs/Module/Admin.php:944
+msgid "Account not found"
+msgstr "Cuenta no encontrada"
+
+#: ../../Zotlabs/Module/Admin.php:955
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "La cuenta '%s' ha sido eliminada"
+
+#: ../../Zotlabs/Module/Admin.php:963
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "La cuenta '%s' ha sido bloqueada"
+
+#: ../../Zotlabs/Module/Admin.php:971
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "La cuenta '%s' ha sido desbloqueada"
+
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Cuentas"
+
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
+msgid "select all"
+msgstr "seleccionar todo"
+
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr "Inscripciones en espera de confirmación"
+
+#: ../../Zotlabs/Module/Admin.php:1035
+msgid "Request date"
+msgstr "Fecha de solicitud"
+
+#: ../../Zotlabs/Module/Admin.php:1036
+msgid "No registrations."
+msgstr "Sin registros."
+
+#: ../../Zotlabs/Module/Admin.php:1038
+msgid "Deny"
+msgstr "Rechazar"
+
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Todos los canales"
+
+#: ../../Zotlabs/Module/Admin.php:1049
+msgid "Register date"
+msgstr "Fecha de registro"
+
+#: ../../Zotlabs/Module/Admin.php:1050
+msgid "Last login"
+msgstr "Último acceso"
+
+#: ../../Zotlabs/Module/Admin.php:1051
+msgid "Expires"
+msgstr "Caduca"
+
+#: ../../Zotlabs/Module/Admin.php:1052
+msgid "Service Class"
+msgstr "Clase de servicio"
+
+#: ../../Zotlabs/Module/Admin.php:1054
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
+
+#: ../../Zotlabs/Module/Admin.php:1055
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
+
+#: ../../Zotlabs/Module/Admin.php:1091
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s canales censurados/no censurados"
+msgstr[1] "%s canales censurados/no censurados"
+
+#: ../../Zotlabs/Module/Admin.php:1100
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s código permitido/no permitido al canal"
+msgstr[1] "%s código permitido/no permitido al canal"
+
+#: ../../Zotlabs/Module/Admin.php:1106
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canales eliminados"
+msgstr[1] "%s canales eliminados"
+
+#: ../../Zotlabs/Module/Admin.php:1126
+msgid "Channel not found"
+msgstr "Canal no encontrado"
+
+#: ../../Zotlabs/Module/Admin.php:1136
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Canal '%s' eliminado"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Canal '%s' censurado"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Canal '%s' no censurado"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Código permitido al canal '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Código no permitido al canal '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Canales"
+
+#: ../../Zotlabs/Module/Admin.php:1214
+msgid "Censor"
+msgstr "Censurar"
+
+#: ../../Zotlabs/Module/Admin.php:1215
+msgid "Uncensor"
+msgstr "No censurar"
+
+#: ../../Zotlabs/Module/Admin.php:1216
+msgid "Allow Code"
+msgstr "Permitir código"
+
+#: ../../Zotlabs/Module/Admin.php:1217
+msgid "Disallow Code"
+msgstr "No permitir código"
+
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Canal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin.php:1226
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
+
+#: ../../Zotlabs/Module/Admin.php:1227
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
+
+#: ../../Zotlabs/Module/Admin.php:1284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Extensión %s desactivada."
+
+#: ../../Zotlabs/Module/Admin.php:1288
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Extensión %s activada."
+
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
+msgid "Disable"
+msgstr "Desactivar"
+
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
+msgid "Enable"
+msgstr "Activar"
+
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Extensiones (plugins)"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
+msgid "Toggle"
+msgstr "Cambiar"
+
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Ajustes"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
+msgid "Author: "
+msgstr "Autor:"
+
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
+msgid "Maintainer: "
+msgstr "Mantenedor:"
+
+#: ../../Zotlabs/Module/Admin.php:1341
+msgid "Minimum project version: "
+msgstr "Versión mínima del proyecto:"
+
+#: ../../Zotlabs/Module/Admin.php:1342
+msgid "Maximum project version: "
+msgstr "Versión máxima del proyecto:"
+
+#: ../../Zotlabs/Module/Admin.php:1343
+msgid "Minimum PHP version: "
+msgstr "Versión mínima de PHP:"
+
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "Se requiere:"
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
+msgid "Disabled - version incompatibility"
+msgstr "Deshabilitado - versiones incompatibles"
+
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Escriba la URL pública del repositorio git del plugin."
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr "URL del repositorio git del plugin"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Nombre personalizado del repositorio"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(opcional)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "Descargar el repositorio"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "Instalar un nuevo repositorio"
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Instalar"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "Gestionar los repositorios"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "Repositorios de los plugins instalados"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "Instalar un nuevo repositorio de plugins"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Actualizar"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "Cambiar la rama"
+
+#: ../../Zotlabs/Module/Admin.php:1550
+msgid "No themes found."
+msgstr "No se han encontrado temas."
+
+#: ../../Zotlabs/Module/Admin.php:1606
+msgid "Screenshot"
+msgstr "Instantánea de pantalla"
+
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Temas"
+
+#: ../../Zotlabs/Module/Admin.php:1652
+msgid "[Experimental]"
+msgstr "[Experimental]"
+
+#: ../../Zotlabs/Module/Admin.php:1653
+msgid "[Unsupported]"
+msgstr "[No soportado]"
+
+#: ../../Zotlabs/Module/Admin.php:1677
+msgid "Log settings updated."
+msgstr "Actualizado el informe de configuraciones."
+
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Informes"
+
+#: ../../Zotlabs/Module/Admin.php:1734
+msgid "Clear"
+msgstr "Vaciar"
+
+#: ../../Zotlabs/Module/Admin.php:1740
+msgid "Debugging"
+msgstr "Depuración"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid "Log file"
+msgstr "Fichero de informe"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal."
+
+#: ../../Zotlabs/Module/Admin.php:1742
+msgid "Log level"
+msgstr "Nivel de depuración"
+
+#: ../../Zotlabs/Module/Admin.php:2028
+msgid "New Profile Field"
+msgstr "Nuevo campo en el perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "Field nickname"
+msgstr "Alias del campo"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "System name of field"
+msgstr "Nombre del campo en el sistema"
+
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
+msgid "Input type"
+msgstr "Tipo de entrada"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Field Name"
+msgstr "Nombre del campo"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Label on profile pages"
+msgstr "Etiqueta a mostrar en la página del perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Help text"
+msgstr "Texto de ayuda"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Additional info (optional)"
+msgstr "Información adicional (opcional)"
+
+#: ../../Zotlabs/Module/Admin.php:2042
+msgid "Field definition not found"
+msgstr "Definición del campo no encontrada"
+
+#: ../../Zotlabs/Module/Admin.php:2048
+msgid "Edit Profile Field"
+msgstr "Modificar el campo del perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Campos del perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "Campos básicos del perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "Campos avanzados del perfil"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "(Además de los campos básicos)"
+
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "Todos los campos disponibles"
+
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "Campos personalizados"
+
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "Crear un campo personalizado"
+
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "Aplicación instalada."
+
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Aplicación con errores"
+
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Código incorporado"
+
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "Modificar la aplicación"
+
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "Crear una aplicación"
+
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Nombre de la aplicación"
+
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Dirección (URL) de la aplicación"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "Dirección del icono"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels - opcional"
+
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "Categorías (opcional, lista separada por comas)"
+
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Versión"
+
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Precio de la aplicación"
+
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Dirección (URL) donde adquirir la aplicación"
+
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Seleccionar una carpeta de marcadores"
@@ -4758,7 +4756,7 @@ msgid "Membership on this site is by invitation only."
msgstr "Para registrarse en este sitio es necesaria una invitación."
#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
-#: ../../boot.php:1677
+#: ../../boot.php:1685
msgid "Register"
msgstr "Registrarse"
@@ -6091,8 +6089,8 @@ msgstr "Ignorar/Ocultar"
msgid "post"
msgstr "la entrada"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1933
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
msgid "comment"
msgstr "el comentario"
@@ -6246,7 +6244,7 @@ msgid "Source of Item"
msgstr "Origen del elemento"
#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
-#: ../../include/conversation.php:1685 ../../include/nav.php:106
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
msgid "Webpages"
msgstr "Páginas web"
@@ -6299,7 +6297,7 @@ msgid "Suggest Channels"
msgstr "Sugerir canales"
#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
-#: ../../boot.php:1695
+#: ../../boot.php:1703
msgid "Login"
msgstr "Iniciar sesión"
@@ -6311,8 +6309,8 @@ msgstr "Red"
msgid "Channel Home"
msgstr "Mi canal"
-#: ../../Zotlabs/Lib/Apps.php:221 ../../include/conversation.php:1649
-#: ../../include/conversation.php:1652 ../../include/nav.php:201
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
msgid "Events"
msgstr "Eventos"
@@ -6344,7 +6342,7 @@ msgstr "Canal aleatorio"
msgid "Invite"
msgstr "Invitar"
-#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1384
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
msgid "Features"
msgstr "Funcionalidades"
@@ -6376,181 +6374,6 @@ msgstr "Sala no encontrada."
msgid "Room is full"
msgstr "La sala está llena."
-#: ../../Zotlabs/Lib/ThreadItem.php:85 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Mensaje Privado"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:122 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Seleccionar"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:126
-msgid "Save to Folder"
-msgstr "Guardar en carpeta"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I will attend"
-msgstr "Participaré"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I will not attend"
-msgstr "No participaré"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I might attend"
-msgstr "Quizá participe"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I agree"
-msgstr "Estoy de acuerdo"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I disagree"
-msgstr "No estoy de acuerdo"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I abstain"
-msgstr "Me abstengo"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:208
-msgid "Add Star"
-msgstr "Destacar añadiendo una estrella"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:209
-msgid "Remove Star"
-msgstr "Eliminar estrella"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:210
-msgid "Toggle Star Status"
-msgstr "Activar o desactivar el estado de entrada preferida"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:214
-msgid "starred"
-msgstr "preferidas"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:224 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Firma de mensaje validada"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:225 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Firma de mensaje incorrecta"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:233
-msgid "Add Tag"
-msgstr "Añadir etiqueta"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:251 ../../include/taxonomy.php:316
-msgid "like"
-msgstr "me gusta"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:252 ../../include/taxonomy.php:317
-msgid "dislike"
-msgstr "no me gusta"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:256
-msgid "Share This"
-msgstr "Compartir esto"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:256
-msgid "share"
-msgstr "compartir"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:265
-msgid "Delivery Report"
-msgstr "Informe de transmisión"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:283
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d comentario"
-msgstr[1] "%d comentarios"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:312 ../../Zotlabs/Lib/ThreadItem.php:313
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Ver el perfil de %s - %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:316
-msgid "to"
-msgstr "a"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:317
-msgid "via"
-msgstr "mediante"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:318
-msgid "Wall-to-Wall"
-msgstr "De página del perfil a página del perfil (de \"muro\" a \"muro\")"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:319
-msgid "via Wall-To-Wall:"
-msgstr "Mediante el procedimiento página del perfil a página del perfil (de \"muro\" a \"muro\")"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:331 ../../include/conversation.php:719
-#, php-format
-msgid "from %s"
-msgstr "desde %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:334 ../../include/conversation.php:722
-#, php-format
-msgid "last edited: %s"
-msgstr "último cambio: %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:335 ../../include/conversation.php:723
-#, php-format
-msgid "Expires: %s"
-msgstr "Caduca: %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:359
-msgid "Save Bookmarks"
-msgstr "Guardar en Marcadores"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:360
-msgid "Add to Calendar"
-msgstr "Añadir al calendario"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:369
-msgid "Mark all seen"
-msgstr "Marcar todo como visto"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:410 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] mostrar todo:"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:700 ../../include/conversation.php:1215
-msgid "Bold"
-msgstr "Negrita"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:701 ../../include/conversation.php:1216
-msgid "Italic"
-msgstr "Itálico "
-
-#: ../../Zotlabs/Lib/ThreadItem.php:702 ../../include/conversation.php:1217
-msgid "Underline"
-msgstr "Subrayar"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:703 ../../include/conversation.php:1218
-msgid "Quote"
-msgstr "Citar"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:704 ../../include/conversation.php:1219
-msgid "Code"
-msgstr "Código"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:705
-msgid "Image"
-msgstr "Imagen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:706
-msgid "Insert Link"
-msgstr "Insertar enlace"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:707
-msgid "Video"
-msgstr "Vídeo"
-
#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
msgid "$Projectname Notification"
msgstr "Notificación de $Projectname"
@@ -6756,6 +6579,181 @@ msgstr "ha creado una nueva entrada"
msgid "commented on %s's post"
msgstr "ha comentado la entrada de %s"
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Mensaje Privado"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Seleccionar"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "Guardar en carpeta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Participaré"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "No participaré"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Quizá participe"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Estoy de acuerdo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "No estoy de acuerdo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Me abstengo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Destacar añadiendo una estrella"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Eliminar estrella"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Activar o desactivar el estado de entrada preferida"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "preferidas"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Firma de mensaje validada"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Firma de mensaje incorrecta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Añadir etiqueta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "me gusta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "no me gusta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Compartir esto"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "compartir"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Informe de transmisión"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d comentario"
+msgstr[1] "%d comentarios"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Ver el perfil de %s - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "a"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "mediante"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "De página del perfil a página del perfil (de \"muro\" a \"muro\")"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "Mediante el procedimiento página del perfil a página del perfil (de \"muro\" a \"muro\")"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "desde %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "último cambio: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Caduca: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Guardar en Marcadores"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Añadir al calendario"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Marcar todo como visto"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostrar todo:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Negrita"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Itálico "
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Subrayar"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Citar"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Código"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Imagen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Insertar enlace"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Vídeo"
+
#: ../../include/Import/import_diaspora.php:16
msgid "No username found in import file."
msgstr "No se ha encontrado el nombre de usuario en el fichero importado."
@@ -6769,89 +6767,990 @@ msgstr "No se ha podido crear una dirección de canal única. Ha fallado la impo
msgid "Cannot locate DNS info for database server '%s'"
msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%s”"
-#: ../../include/network.php:657
-msgid "view full size"
-msgstr "Ver en el tamaño original"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Categorías"
-#: ../../include/network.php:1871 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Etiquetas"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Palabras clave"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "tener"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "tiene"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "quiero"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "quiere"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "gusta de"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "no gusta de"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d de F, Y \\@ G:i"
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Comienza:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Finaliza:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Este evento ha sido añadido a su calendario."
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Sin especificar"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Necesita de una intervención"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Completado/a"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "En proceso"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Cancelado/a"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Desconocido)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Visible para cualquiera en internet."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Visible sólo para usted."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Visible para cualquiera en esta red."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Visible para cualquiera que esté autenticado."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible para cualquiera en %s."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Visible para todas las conexiones."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Visible para las conexiones permitidas."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Visible para conexiones específicas."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "El grupo de canales está vacío."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Grupo de canales: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Conexión no encontrada"
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "foto del perfil"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "No se ha especificado ningún destinatario."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[sin asunto]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "No ha sido posible determinar el remitente. "
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "No se han podido verificar las publicaciones guardadas."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "anterior"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "primera"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "última"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "próxima"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "más antiguas"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "más recientes"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Sin conexiones"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Ver todas las %s conexiones"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "un toque"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha dado un toque a"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "un \"ping\""
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "ha enviado un \"ping\" a"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "una incitación "
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "ha incitado a "
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "una bofetada "
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "ha abofeteado a "
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "un \"finger\" "
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "envió un \"finger\" a"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "un reproche"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "ha hecho un reproche a "
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "feliz "
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "triste "
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "tranquilo/a"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "cansado/a "
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "vivaz"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "enfadado/a"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "asombrado/a"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "perplejo/a"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "interesado/a"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "amargado/a"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "alegre"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "animado/a"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "molesto/a"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "ansioso/a"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "de mal humor"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "perturbado/a"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustrado/a"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "deprimido/a"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motivado/a"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "relajado/a"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "sorprendido/a"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "lunes"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "martes"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "miércoles"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "jueves"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "viernes"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "sábado"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "domingo"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "enero"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "febrero"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "marzo"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "abril"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "mayo"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "junio"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "julio"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "agosto"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "septiembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "octubre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "noviembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "diciembre"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Adjunto no reconocido"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "desconocido"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "eliminar categoría"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "eliminar del fichero"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "por defecto"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Plantilla de la página"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Puede crear su propia disposición gráfica con la herramienta de plantillas"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Tipo de contenido de la página"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Seleccionar un idioma alternativo"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "la actividad"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Herramientas de diseño web"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Páginas"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Sistema"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nueva aplicación (app)"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Sugerencias"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Ver más..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Añadir nueva conexión"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Dirección del canal"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Notas"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Eliminar término"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Búsquedas guardadas"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "añadir"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Carpetas guardadas"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Todo"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Hemeroteca"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Recargar"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Configuración de la cuenta"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Configuración del canal"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Funcionalidades"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Complementos"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Ajustes de visualización"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr "Gestión de ubicaciones (clones) del canal"
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Exportar canal"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "Aplicaciones (apps) conectadas"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Configuración del canal premium"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Menú de correo privado"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Vista combinada"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "Bandeja de entrada"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Bandeja de salida"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Nuevo mensaje"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Conversaciones"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Mensajes recibidos"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Enviar mensajes"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Sin mensajes."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Eliminar conversación"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Menú de eventos"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Eventos del día"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Eventos de la semana"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Eventos del mes"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Gestión de eventos"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Exportar el calendario"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importar un calendario"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Salas de chat"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr "Resumen"
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr "Miembros del chat"
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Salas de chat preferidas"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Salas de chat sugeridas"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "foto/imagen"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr "Hacer clic para ver más"
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Valoraciones"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "Valorar este canal"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Mostrar las valoraciones"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Foros"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Tareas"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Documentación"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Información sobre el proyecto o sitio"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "Para los miembros"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "Para los administradores"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "Para los desarrolladores"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr "Inscripciones de nuevos miembros pendientes de aprobación"
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Examinar la cola"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Actualizaciones de la base de datos"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
msgstr "Administrador"
-#: ../../include/network.php:1885
-msgid "No Subject"
-msgstr "Sin asunto"
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Extensiones"
-#: ../../include/network.php:2146 ../../include/network.php:2147
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "El canal está bloqueado en este sitio."
-#: ../../include/network.php:2148
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Falta la dirección del canal."
-#: ../../include/network.php:2149
-msgid "GNU-Social"
-msgstr "GNU Social"
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "Respuesta incompleta del canal."
-#: ../../include/network.php:2150
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "El canal ha sido eliminado y ya no existe."
-#: ../../include/network.php:2152
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protocolo deshabilitado."
-#: ../../include/network.php:2153
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "El intento de acceder al canal ha fallado."
-#: ../../include/network.php:2154
-msgid "Zot"
-msgstr "Zot"
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "No puede conectarse consigo mismo."
-#: ../../include/network.php:2155
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "Marcadores de %1$s"
-#: ../../include/network.php:2156
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Cronología pública"
-#: ../../include/network.php:2157
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Imagen/foto"
-#: ../../include/photos.php:110
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Contenido cifrado"
+
+#: ../../include/bbcode.php:178
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "La imagen excede el límite de %lu bytes del sitio"
+msgid "Install %s element: "
+msgstr "Instalar el elemento %s:"
-#: ../../include/photos.php:117
-msgid "Image file is empty."
-msgstr "El fichero de imagen está vacío. "
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio."
-#: ../../include/photos.php:255
-msgid "Photo storage failed."
-msgstr "La foto no ha podido ser guardada."
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s escribió %2$s siguiente %3$s"
-#: ../../include/photos.php:295
-msgid "a new photo"
-msgstr "una nueva foto"
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Pulsar para abrir/cerrar"
-#: ../../include/photos.php:299
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr "spoiler"
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Visitantes diferentes verán este texto de forma distinta"
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 escribió:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opciones del directorio"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Modo seguro"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Solo foros públicos"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Solo este sitio web"
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Finalizar sesión"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Finalizar esta sesión"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Inicio"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "Sus publicaciones y conversaciones"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "Su página del perfil"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Administrar/editar perfiles"
+
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Editar el perfil"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Editar su perfil"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Sus fotos"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "Sus ficheros"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Sus salas de chat"
+
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Marcadores"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "Sus marcadores"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Sus páginas web"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Acceder"
+
+#: ../../include/nav.php:127
#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s ha publicado %2$s en %3$s"
+msgid "%s - click to logout"
+msgstr "%s - pulsar para finalizar sesión"
-#: ../../include/photos.php:504 ../../include/conversation.php:1635
-msgid "Photo Albums"
-msgstr "Álbumes de fotos"
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Acceder desde su servidor"
-#: ../../include/photos.php:508
-msgid "Upload New Photos"
-msgstr "Subir nuevas fotos"
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "Pulsar para identificarse en su servidor de inicio"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Página de inicio"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Crear una cuenta"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Ayuda y documentación"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Aplicaciones, utilidades, enlaces, juegos"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Directorio de canales"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "Mi red"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Marcar todas las notificaciones de la red como vistas"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Mi canal"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Marcar todas las notificaciones del canal como leídas"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Avisos"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Notificaciones"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Ver todas las notificaciones"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Correo privado"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Ver todas los mensajes privados"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Marcar todos los mensajes privados como leídos"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Calendario de eventos"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Ver todos los eventos"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Marcar todos los eventos como leidos"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gestionar sus canales"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Ajustes de cuenta/canales"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Ajustes y configuración del sitio"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Cargando..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@nombre, #etiqueta, ?ayuda, contenido"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Espere por favor…"
#: ../../include/connections.php:95
msgid "New window"
@@ -6866,14 +7765,6 @@ msgstr "Abrir la dirección seleccionada en una ventana o pestaña aparte"
msgid "User '%s' deleted"
msgstr "El usuario '%s' ha sido eliminado"
-#: ../../include/oembed.php:324
-msgid "Embedded content"
-msgstr "Contenido incorporado"
-
-#: ../../include/oembed.php:333
-msgid "Embedding disabled"
-msgstr "Incrustación deshabilitada"
-
#: ../../include/contact_widgets.php:11
#, php-format
msgid "%d invitation available"
@@ -6909,22 +7800,6 @@ msgstr "Invitar a amigos"
msgid "Advanced example: name=fred and country=iceland"
msgstr "Ejemplo avanzado: nombre=juan y país=españa"
-#: ../../include/contact_widgets.php:53 ../../include/widgets.php:310
-#: ../../include/features.php:97
-msgid "Saved Folders"
-msgstr "Carpetas guardadas"
-
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-msgid "Everything"
-msgstr "Todo"
-
-#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
-#: ../../include/widgets.php:429 ../../include/taxonomy.php:188
-#: ../../include/taxonomy.php:270
-msgid "Categories"
-msgstr "Categorías"
-
#: ../../include/contact_widgets.php:122
#, php-format
msgid "%d connection in common"
@@ -6946,11 +7821,6 @@ msgstr "%1$s ahora está conectado/a con %2$s"
msgid "%1$s poked %2$s"
msgstr "%1$s ha dado un toque a %2$s"
-#: ../../include/conversation.php:243 ../../include/text.php:1033
-#: ../../include/text.php:1038
-msgid "poked"
-msgstr "ha dado un toque a"
-
#: ../../include/conversation.php:691
#, php-format
msgid "View %s's profile @ %s"
@@ -6972,10 +7842,6 @@ msgstr "Mostrar en su contexto"
msgid "remove"
msgstr "eliminar"
-#: ../../include/conversation.php:851 ../../include/nav.php:247
-msgid "Loading..."
-msgstr "Cargando..."
-
#: ../../include/conversation.php:852
msgid "Delete Selected Items"
msgstr "Eliminar elementos seleccionados"
@@ -7149,19 +8015,14 @@ msgstr "Mi perfil"
msgid "Profile Details"
msgstr "Detalles del perfil"
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Álbumes de fotos"
+
#: ../../include/conversation.php:1642
msgid "Files and Storage"
msgstr "Ficheros y repositorio"
-#: ../../include/conversation.php:1662 ../../include/conversation.php:1665
-#: ../../include/widgets.php:840
-msgid "Chatrooms"
-msgstr "Salas de chat"
-
-#: ../../include/conversation.php:1675 ../../include/nav.php:102
-msgid "Bookmarks"
-msgstr "Marcadores"
-
#: ../../include/conversation.php:1678
msgid "Saved Bookmarks"
msgstr "Marcadores guardados"
@@ -7212,61 +8073,6 @@ msgid_plural "Abstains"
msgstr[0] "se abstiene"
msgstr[1] "Se abstienen"
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d de F, Y \\@ G:i"
-
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
-msgstr "Comienza:"
-
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
-msgstr "Finaliza:"
-
-#: ../../include/event.php:812
-msgid "This event has been added to your calendar."
-msgstr "Este evento ha sido añadido a su calendario."
-
-#: ../../include/event.php:1012
-msgid "Not specified"
-msgstr "Sin especificar"
-
-#: ../../include/event.php:1013
-msgid "Needs Action"
-msgstr "Necesita de una intervención"
-
-#: ../../include/event.php:1014
-msgid "Completed"
-msgstr "Completado/a"
-
-#: ../../include/event.php:1015
-msgid "In Process"
-msgstr "En proceso"
-
-#: ../../include/event.php:1016
-msgid "Cancelled"
-msgstr "Cancelado/a"
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "No se ha especificado ningún destinatario."
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[sin asunto]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "No ha sido posible determinar el remitente. "
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "No se han podido verificar las publicaciones guardadas."
-
#: ../../include/selectors.php:30
msgid "Frequently"
msgstr "Frecuentemente"
@@ -7513,57 +8319,145 @@ msgstr "No me importa"
msgid "Ask me"
msgstr "Pregúnteme"
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
-#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
-#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
-#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
-#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
-#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
-#: ../../include/bbcode.php:883
-msgid "Image/photo"
-msgstr "Imagen/foto"
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Visible para su público predeterminado."
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
-msgid "Encrypted content"
-msgstr "Contenido cifrado"
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "Sólo yo"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instalar el elemento %s:"
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Público"
-#: ../../include/bbcode.php:182
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr "Cualquiera en la red $Projectname"
+
+#: ../../include/PermissionDescription.php:118
#, php-format
+msgid "Any account on %s"
+msgstr "Cualquier cuenta en %s"
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "Cualquiera de mis conexiones"
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "Sólo las conexiones que yo permita de forma explícita"
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)"
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas"
+
+#: ../../include/PermissionDescription.php:161
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio."
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones."
-#: ../../include/bbcode.php:254
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado"
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones"
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos"
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web"
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Dirección de correo no válida"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio."
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "Su dirección de correo está ya registrada en este sitio."
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "Es obligatorio que le inviten."
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "No se ha podido verificar su invitación."
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Por favor introduzca la información requerida."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "La información de la cuenta no se ha podido guardar."
+
+#: ../../include/account.php:249
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s escribió %2$s siguiente %3$s"
+msgid "Registration confirmation for %s"
+msgstr "Confirmación de registro para %s"
-#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
-msgid "Click to open/close"
-msgstr "Pulsar para abrir/cerrar"
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Solicitud de registro en %s"
-#: ../../include/bbcode.php:339
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Administrador"
-#: ../../include/bbcode.php:585
-msgid "Different viewers will see this text differently"
-msgstr "Visitantes diferentes verán este texto de forma distinta"
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "su contraseña de registro"
-#: ../../include/bbcode.php:832
-msgid "$1 wrote:"
-msgstr "$1 escribió:"
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Detalles del registro de %s"
-#: ../../include/bookmarks.php:35
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Cuenta aprobada."
+
+#: ../../include/account.php:454
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "Marcadores de %1$s"
+msgid "Registration revoked for %s"
+msgstr "Registro revocado para %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Cuenta verificada. Por favor, inicie sesión."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Pulse aquí para actualizar"
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Esta acción supera los límites establecidos por su plan de suscripción "
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Esta acción no está disponible en su plan de suscripción."
#: ../../include/attach.php:247 ../../include/attach.php:333
msgid "Item was not found."
@@ -7672,10 +8566,6 @@ msgstr "El canal solicitado no está disponible."
msgid "Create New Profile"
msgstr "Crear un nuevo perfil"
-#: ../../include/channel.php:941 ../../include/nav.php:90
-msgid "Edit Profile"
-msgstr "Editar el perfil"
-
#: ../../include/channel.php:958
msgid "Visible to everybody"
msgstr "Visible para todos"
@@ -7785,725 +8675,6 @@ msgstr "Estudios:"
msgid "Like this thing"
msgstr "Me gusta esto"
-#: ../../include/security.php:383
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"
-
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1694
-msgid "Logout"
-msgstr "Finalizar sesión"
-
-#: ../../include/nav.php:82 ../../include/nav.php:113
-msgid "End this session"
-msgstr "Finalizar esta sesión"
-
-#: ../../include/nav.php:85 ../../include/nav.php:144
-msgid "Home"
-msgstr "Inicio"
-
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "Sus publicaciones y conversaciones"
-
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Su página del perfil"
-
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Administrar/editar perfiles"
-
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Editar su perfil"
-
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Sus fotos"
-
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "Sus ficheros"
-
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
-msgstr "Sus salas de chat"
-
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
-msgstr "Sus marcadores"
-
-#: ../../include/nav.php:106
-msgid "Your webpages"
-msgstr "Sus páginas web"
-
-#: ../../include/nav.php:110
-msgid "Sign in"
-msgstr "Acceder"
-
-#: ../../include/nav.php:127
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - pulsar para finalizar sesión"
-
-#: ../../include/nav.php:130
-msgid "Remote authentication"
-msgstr "Acceder desde su servidor"
-
-#: ../../include/nav.php:130
-msgid "Click to authenticate to your home hub"
-msgstr "Pulsar para identificarse en su servidor de inicio"
-
-#: ../../include/nav.php:144
-msgid "Home Page"
-msgstr "Página de inicio"
-
-#: ../../include/nav.php:147
-msgid "Create an account"
-msgstr "Crear una cuenta"
-
-#: ../../include/nav.php:159
-msgid "Help and documentation"
-msgstr "Ayuda y documentación"
-
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Aplicaciones, utilidades, enlaces, juegos"
-
-#: ../../include/nav.php:165
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"
-
-#: ../../include/nav.php:167
-msgid "Channel Directory"
-msgstr "Directorio de canales"
-
-#: ../../include/nav.php:179
-msgid "Your grid"
-msgstr "Mi red"
-
-#: ../../include/nav.php:180
-msgid "Mark all grid notifications seen"
-msgstr "Marcar todas las notificaciones de la red como vistas"
-
-#: ../../include/nav.php:182
-msgid "Channel home"
-msgstr "Mi canal"
-
-#: ../../include/nav.php:183
-msgid "Mark all channel notifications seen"
-msgstr "Marcar todas las notificaciones del canal como leídas"
-
-#: ../../include/nav.php:189
-msgid "Notices"
-msgstr "Avisos"
-
-#: ../../include/nav.php:189
-msgid "Notifications"
-msgstr "Notificaciones"
-
-#: ../../include/nav.php:190
-msgid "See all notifications"
-msgstr "Ver todas las notificaciones"
-
-#: ../../include/nav.php:193
-msgid "Private mail"
-msgstr "Correo privado"
-
-#: ../../include/nav.php:194
-msgid "See all private messages"
-msgstr "Ver todas los mensajes privados"
-
-#: ../../include/nav.php:195
-msgid "Mark all private messages seen"
-msgstr "Marcar todos los mensajes privados como leídos"
-
-#: ../../include/nav.php:196 ../../include/widgets.php:658
-msgid "Inbox"
-msgstr "Bandeja de entrada"
-
-#: ../../include/nav.php:197 ../../include/widgets.php:663
-msgid "Outbox"
-msgstr "Bandeja de salida"
-
-#: ../../include/nav.php:198 ../../include/widgets.php:668
-msgid "New Message"
-msgstr "Nuevo mensaje"
-
-#: ../../include/nav.php:201
-msgid "Event Calendar"
-msgstr "Calendario de eventos"
-
-#: ../../include/nav.php:202
-msgid "See all events"
-msgstr "Ver todos los eventos"
-
-#: ../../include/nav.php:203
-msgid "Mark all events seen"
-msgstr "Marcar todos los eventos como leidos"
-
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gestionar sus canales"
-
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Ajustes de cuenta/canales"
-
-#: ../../include/nav.php:216 ../../include/widgets.php:1414
-msgid "Admin"
-msgstr "Administrador"
-
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Ajustes y configuración del sitio"
-
-#: ../../include/nav.php:252
-msgid "@name, #tag, ?doc, content"
-msgstr "@nombre, #etiqueta, ?ayuda, contenido"
-
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Espere por favor…"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nueva aplicación (app)"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Sugerencias"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Ver más..."
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Añadir nueva conexión"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Dirección del canal"
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen"
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Notas"
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Eliminar término"
-
-#: ../../include/widgets.php:281 ../../include/features.php:84
-msgid "Saved Searches"
-msgstr "Búsquedas guardadas"
-
-#: ../../include/widgets.php:282 ../../include/group.php:316
-msgid "add"
-msgstr "añadir"
-
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Hemeroteca"
-
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Recargar"
-
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Configuración de la cuenta"
-
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Configuración del canal"
-
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Funcionalidades"
-
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Complementos"
-
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Ajustes de visualización"
-
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Gestión de ubicaciones (clones) del canal"
-
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Exportar canal"
-
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "Aplicaciones (apps) conectadas"
-
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
-msgstr "Configuración del canal premium"
-
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
-msgstr "Menú de correo privado"
-
-#: ../../include/widgets.php:653
-msgid "Combined View"
-msgstr "Vista combinada"
-
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
-msgstr "Conversaciones"
-
-#: ../../include/widgets.php:689
-msgid "Received Messages"
-msgstr "Mensajes recibidos"
-
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
-msgstr "Enviar mensajes"
-
-#: ../../include/widgets.php:707
-msgid "No messages."
-msgstr "Sin mensajes."
-
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
-msgstr "Eliminar conversación"
-
-#: ../../include/widgets.php:751
-msgid "Events Menu"
-msgstr "Menú de eventos"
-
-#: ../../include/widgets.php:752
-msgid "Day View"
-msgstr "Eventos del día"
-
-#: ../../include/widgets.php:753
-msgid "Week View"
-msgstr "Eventos de la semana"
-
-#: ../../include/widgets.php:754
-msgid "Month View"
-msgstr "Eventos del mes"
-
-#: ../../include/widgets.php:766
-msgid "Events Tools"
-msgstr "Gestión de eventos"
-
-#: ../../include/widgets.php:767
-msgid "Export Calendar"
-msgstr "Exportar el calendario"
-
-#: ../../include/widgets.php:768
-msgid "Import Calendar"
-msgstr "Importar un calendario"
-
-#: ../../include/widgets.php:844
-msgid "Overview"
-msgstr "Resumen"
-
-#: ../../include/widgets.php:851
-msgid "Chat Members"
-msgstr "Miembros del chat"
-
-#: ../../include/widgets.php:874
-msgid "Bookmarked Chatrooms"
-msgstr "Salas de chat preferidas"
-
-#: ../../include/widgets.php:897
-msgid "Suggested Chatrooms"
-msgstr "Salas de chat sugeridas"
-
-#: ../../include/widgets.php:1042 ../../include/widgets.php:1154
-msgid "photo/image"
-msgstr "foto/imagen"
-
-#: ../../include/widgets.php:1097
-msgid "Click to show more"
-msgstr "Hacer clic para ver más"
-
-#: ../../include/widgets.php:1248
-msgid "Rating Tools"
-msgstr "Valoraciones"
-
-#: ../../include/widgets.php:1252 ../../include/widgets.php:1254
-msgid "Rate Me"
-msgstr "Valorar este canal"
-
-#: ../../include/widgets.php:1257
-msgid "View Ratings"
-msgstr "Mostrar las valoraciones"
-
-#: ../../include/widgets.php:1314
-msgid "Forums"
-msgstr "Foros"
-
-#: ../../include/widgets.php:1343
-msgid "Tasks"
-msgstr "Tareas"
-
-#: ../../include/widgets.php:1352
-msgid "Documentation"
-msgstr "Documentación"
-
-#: ../../include/widgets.php:1354
-msgid "Project/Site Information"
-msgstr "Información sobre el proyecto o sitio"
-
-#: ../../include/widgets.php:1355
-msgid "For Members"
-msgstr "Para los miembros"
-
-#: ../../include/widgets.php:1356
-msgid "For Administrators"
-msgstr "Para los administradores"
-
-#: ../../include/widgets.php:1357
-msgid "For Developers"
-msgstr "Para los desarrolladores"
-
-#: ../../include/widgets.php:1381
-msgid "Accounts"
-msgstr "Cuentas"
-
-#: ../../include/widgets.php:1381 ../../include/widgets.php:1419
-msgid "Member registrations waiting for confirmation"
-msgstr "Inscripciones de nuevos miembros pendientes de aprobación"
-
-#: ../../include/widgets.php:1387
-msgid "Inspect queue"
-msgstr "Examinar la cola"
-
-#: ../../include/widgets.php:1389
-msgid "DB updates"
-msgstr "Actualizaciones de la base de datos"
-
-#: ../../include/widgets.php:1415
-msgid "Plugin Features"
-msgstr "Extensiones"
-
-#: ../../include/acl_selectors.php:232
-#: ../../include/PermissionDescription.php:31
-msgid "Visible to your default audience"
-msgstr "Visible para su público predeterminado."
-
-#: ../../include/acl_selectors.php:268
-#: ../../include/PermissionDescription.php:115
-msgid "Only me"
-msgstr "Sólo yo"
-
-#: ../../include/acl_selectors.php:271
-msgid "Who can see this?"
-msgstr "¿Quién puede ver esto?"
-
-#: ../../include/acl_selectors.php:272
-msgid "Custom selection"
-msgstr "Selección personalizada"
-
-#: ../../include/acl_selectors.php:273
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\"."
-
-#: ../../include/acl_selectors.php:274
-msgid "Show"
-msgstr "Mostrar"
-
-#: ../../include/acl_selectors.php:275
-msgid "Don't show"
-msgstr "No mostrar"
-
-#: ../../include/acl_selectors.php:281
-msgid "Other networks and post services"
-msgstr "Otras redes y servicios de publicación"
-
-#: ../../include/acl_selectors.php:311
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje."
-
-#: ../../include/datetime.php:135
-msgid "Birthday"
-msgstr "Cumpleaños"
-
-#: ../../include/datetime.php:137
-msgid "Age: "
-msgstr "Edad:"
-
-#: ../../include/datetime.php:139
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-DD o MM-DD"
-
-#: ../../include/datetime.php:272 ../../boot.php:2462
-msgid "never"
-msgstr "nunca"
-
-#: ../../include/datetime.php:278
-msgid "less than a second ago"
-msgstr "hace un instante"
-
-#: ../../include/datetime.php:296
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "hace %1$d %2$s"
-
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "año"
-msgstr[1] "años"
-
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "mes"
-msgstr[1] "meses"
-
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "semana"
-msgstr[1] "semanas"
-
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "día"
-msgstr[1] "días"
-
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "hora"
-msgstr[1] "horas"
-
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuto"
-msgstr[1] "minutos"
-
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "segundo"
-msgstr[1] "segundos"
-
-#: ../../include/datetime.php:562
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Cumpleaños de %1$s"
-
-#: ../../include/datetime.php:563
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Feliz cumpleaños %1$s"
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Dirección de correo no válida"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio."
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Su dirección de correo está ya registrada en este sitio."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Es obligatorio que le inviten."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "No se ha podido verificar su invitación."
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Por favor introduzca la información requerida."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "La información de la cuenta no se ha podido guardar."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Confirmación de registro para %s"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Solicitud de registro en %s"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "su contraseña de registro"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detalles del registro de %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Cuenta aprobada."
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registro revocado para %s"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Cuenta verificada. Por favor, inicie sesión."
-
-#: ../../include/account.php:723 ../../include/account.php:725
-msgid "Click here to upgrade."
-msgstr "Pulse aquí para actualizar"
-
-#: ../../include/account.php:731
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Esta acción supera los límites establecidos por su plan de suscripción "
-
-#: ../../include/account.php:736
-msgid "This action is not available under your subscription plan."
-msgstr "Esta acción no está disponible en su plan de suscripción."
-
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Cronología pública"
-
-#: ../../include/auth.php:105
-msgid "Logged out."
-msgstr "Desconectado/a."
-
-#: ../../include/auth.php:212
-msgid "Failed authentication"
-msgstr "Autenticación fallida."
-
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "El canal está bloqueado en este sitio."
-
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Falta la dirección del canal."
-
-#: ../../include/follow.php:81
-msgid "Response from remote channel was incomplete."
-msgstr "Respuesta incompleta del canal."
-
-#: ../../include/follow.php:98
-msgid "Channel was deleted and no longer exists."
-msgstr "El canal ha sido eliminado y ya no existe."
-
-#: ../../include/follow.php:154 ../../include/follow.php:190
-msgid "Protocol disabled."
-msgstr "Protocolo deshabilitado."
-
-#: ../../include/follow.php:178
-msgid "Channel discovery failed."
-msgstr "El intento de acceder al canal ha fallado."
-
-#: ../../include/follow.php:216
-msgid "Cannot connect to yourself."
-msgstr "No puede conectarse consigo mismo."
-
-#: ../../include/import.php:29
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
-
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
-msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
-
-#: ../../include/items.php:892 ../../include/items.php:937
-msgid "(Unknown)"
-msgstr "(Desconocido)"
-
-#: ../../include/items.php:1136
-msgid "Visible to anybody on the internet."
-msgstr "Visible para cualquiera en internet."
-
-#: ../../include/items.php:1138
-msgid "Visible to you only."
-msgstr "Visible sólo para usted."
-
-#: ../../include/items.php:1140
-msgid "Visible to anybody in this network."
-msgstr "Visible para cualquiera en esta red."
-
-#: ../../include/items.php:1142
-msgid "Visible to anybody authenticated."
-msgstr "Visible para cualquiera que esté autenticado."
-
-#: ../../include/items.php:1144
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible para cualquiera en %s."
-
-#: ../../include/items.php:1146
-msgid "Visible to all connections."
-msgstr "Visible para todas las conexiones."
-
-#: ../../include/items.php:1148
-msgid "Visible to approved connections."
-msgstr "Visible para las conexiones permitidas."
-
-#: ../../include/items.php:1150
-msgid "Visible to specific connections."
-msgstr "Visible para conexiones específicas."
-
-#: ../../include/items.php:3911
-msgid "Privacy group is empty."
-msgstr "El grupo de canales está vacío."
-
-#: ../../include/items.php:3918
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Grupo de canales: %s"
-
-#: ../../include/items.php:3930
-msgid "Connection not found."
-msgstr "Conexión no encontrada"
-
-#: ../../include/items.php:4279
-msgid "profile photo"
-msgstr "foto del perfil"
-
#: ../../include/features.php:48
msgid "General Features"
msgstr "Funcionalidades básicas"
@@ -8752,393 +8923,201 @@ msgid "Add categories to your posts"
msgstr "Añadir categorías a sus publicaciones"
#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr "Emoticonos \"emoji\""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr "Activar la capacidad de añadir un emoticono \"emoji\" a las entradas"
+
+#: ../../include/features.php:98
msgid "Ability to file posts under folders"
msgstr "Capacidad de archivar entradas en carpetas"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Dislike Posts"
msgstr "Desagrado de publicaciones"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Ability to dislike posts/comments"
msgstr "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Star Posts"
msgstr "Entradas destacadas"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Ability to mark special posts with a star indicator"
msgstr "Capacidad de marcar entradas destacadas con un indicador de estrella"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Tag Cloud"
msgstr "Nube de etiquetas"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Provide a personal tag cloud on your channel page"
msgstr "Proveer nube de etiquetas personal en su página de canal"
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."
-
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Añadir conexiones nuevas a este grupo de canales"
-
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "editar"
-
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Editar grupo"
-
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Añadir un grupo de canales"
-
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Sin canales en ningún grupo"
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Contenido incorporado"
-#: ../../include/text.php:428
-msgid "prev"
-msgstr "anterior"
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Incrustación deshabilitada"
-#: ../../include/text.php:430
-msgid "first"
-msgstr "primera"
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "¿Quién puede ver esto?"
-#: ../../include/text.php:459
-msgid "last"
-msgstr "última"
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "Selección personalizada"
-#: ../../include/text.php:462
-msgid "next"
-msgstr "próxima"
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\"."
-#: ../../include/text.php:472
-msgid "older"
-msgstr "más antiguas"
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Mostrar"
-#: ../../include/text.php:474
-msgid "newer"
-msgstr "más recientes"
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "No mostrar"
-#: ../../include/text.php:863
-msgid "No connections"
-msgstr "Sin conexiones"
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Otras redes y servicios de publicación"
-#: ../../include/text.php:888
+#: ../../include/acl_selectors.php:311
#, php-format
-msgid "View all %s connections"
-msgstr "Ver todas las %s conexiones"
-
-#: ../../include/text.php:1033 ../../include/text.php:1038
-msgid "poke"
-msgstr "un toque"
-
-#: ../../include/text.php:1039
-msgid "ping"
-msgstr "un \"ping\""
-
-#: ../../include/text.php:1039
-msgid "pinged"
-msgstr "ha enviado un \"ping\" a"
-
-#: ../../include/text.php:1040
-msgid "prod"
-msgstr "una incitación "
-
-#: ../../include/text.php:1040
-msgid "prodded"
-msgstr "ha incitado a "
-
-#: ../../include/text.php:1041
-msgid "slap"
-msgstr "una bofetada "
-
-#: ../../include/text.php:1041
-msgid "slapped"
-msgstr "ha abofeteado a "
-
-#: ../../include/text.php:1042
-msgid "finger"
-msgstr "un \"finger\" "
-
-#: ../../include/text.php:1042
-msgid "fingered"
-msgstr "envió un \"finger\" a"
-
-#: ../../include/text.php:1043
-msgid "rebuff"
-msgstr "un reproche"
-
-#: ../../include/text.php:1043
-msgid "rebuffed"
-msgstr "ha hecho un reproche a "
-
-#: ../../include/text.php:1055
-msgid "happy"
-msgstr "feliz "
-
-#: ../../include/text.php:1056
-msgid "sad"
-msgstr "triste "
-
-#: ../../include/text.php:1057
-msgid "mellow"
-msgstr "tranquilo/a"
-
-#: ../../include/text.php:1058
-msgid "tired"
-msgstr "cansado/a "
-
-#: ../../include/text.php:1059
-msgid "perky"
-msgstr "vivaz"
-
-#: ../../include/text.php:1060
-msgid "angry"
-msgstr "enfadado/a"
-
-#: ../../include/text.php:1061
-msgid "stupefied"
-msgstr "asombrado/a"
-
-#: ../../include/text.php:1062
-msgid "puzzled"
-msgstr "perplejo/a"
-
-#: ../../include/text.php:1063
-msgid "interested"
-msgstr "interesado/a"
-
-#: ../../include/text.php:1064
-msgid "bitter"
-msgstr "amargado/a"
-
-#: ../../include/text.php:1065
-msgid "cheerful"
-msgstr "alegre"
-
-#: ../../include/text.php:1066
-msgid "alive"
-msgstr "animado/a"
-
-#: ../../include/text.php:1067
-msgid "annoyed"
-msgstr "molesto/a"
-
-#: ../../include/text.php:1068
-msgid "anxious"
-msgstr "ansioso/a"
-
-#: ../../include/text.php:1069
-msgid "cranky"
-msgstr "de mal humor"
-
-#: ../../include/text.php:1070
-msgid "disturbed"
-msgstr "perturbado/a"
-
-#: ../../include/text.php:1071
-msgid "frustrated"
-msgstr "frustrado/a"
-
-#: ../../include/text.php:1072
-msgid "depressed"
-msgstr "deprimido/a"
-
-#: ../../include/text.php:1073
-msgid "motivated"
-msgstr "motivado/a"
-
-#: ../../include/text.php:1074
-msgid "relaxed"
-msgstr "relajado/a"
-
-#: ../../include/text.php:1075
-msgid "surprised"
-msgstr "sorprendido/a"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "lunes"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "martes"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "miércoles"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "jueves"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "viernes"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "sábado"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "domingo"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:45
-msgid "January"
-msgstr "enero"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:46
-msgid "February"
-msgstr "febrero"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:47
-msgid "March"
-msgstr "marzo"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:48
-msgid "April"
-msgstr "abril"
-
-#: ../../include/text.php:1246
-msgid "May"
-msgstr "mayo"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:50
-msgid "June"
-msgstr "junio"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:51
-msgid "July"
-msgstr "julio"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:52
-msgid "August"
-msgstr "agosto"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:53
-msgid "September"
-msgstr "septiembre"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:54
-msgid "October"
-msgstr "octubre"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:55
-msgid "November"
-msgstr "noviembre"
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje."
-#: ../../include/text.php:1246 ../../include/js_strings.php:56
-msgid "December"
-msgstr "diciembre"
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Desconectado/a."
-#: ../../include/text.php:1323 ../../include/text.php:1327
-msgid "Unknown Attachment"
-msgstr "Adjunto no reconocido"
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Autenticación fallida."
-#: ../../include/text.php:1329
-msgid "unknown"
-msgstr "desconocido"
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Cumpleaños"
-#: ../../include/text.php:1365
-msgid "remove category"
-msgstr "eliminar categoría"
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Edad:"
-#: ../../include/text.php:1442
-msgid "remove from file"
-msgstr "eliminar del fichero"
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-DD o MM-DD"
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
-msgstr "por defecto"
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "nunca"
-#: ../../include/text.php:1746
-msgid "Page layout"
-msgstr "Plantilla de la página"
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "hace un instante"
-#: ../../include/text.php:1746
-msgid "You can create your own with the layouts tool"
-msgstr "Puede crear su propia disposición gráfica con la herramienta de plantillas"
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "hace %1$d %2$s"
-#: ../../include/text.php:1788
-msgid "Page content type"
-msgstr "Tipo de contenido de la página"
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "año"
+msgstr[1] "años"
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
-msgstr "Seleccionar un idioma alternativo"
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mes"
+msgstr[1] "meses"
-#: ../../include/text.php:1938
-msgid "activity"
-msgstr "la actividad"
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "semana"
+msgstr[1] "semanas"
-#: ../../include/text.php:2247
-msgid "Design Tools"
-msgstr "Herramientas de diseño web"
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "día"
+msgstr[1] "días"
-#: ../../include/text.php:2253
-msgid "Pages"
-msgstr "Páginas"
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hora"
+msgstr[1] "horas"
-#: ../../include/zot.php:699
-msgid "Invalid data packet"
-msgstr "Paquete de datos no válido"
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuto"
+msgstr[1] "minutos"
-#: ../../include/zot.php:715
-msgid "Unable to verify channel signature"
-msgstr "No ha sido posible de verificar la firma del canal"
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "segundo"
+msgstr[1] "segundos"
-#: ../../include/zot.php:2363
+#: ../../include/datetime.php:562
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "No ha sido posible de verificar la firma del sitio para %s"
-
-#: ../../include/zot.php:3712
-msgid "invalid target signature"
-msgstr "La firma recibida no es válida"
-
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Etiquetas"
+msgid "%1$s's birthday"
+msgstr "Cumpleaños de %1$s"
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Palabras clave"
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Feliz cumpleaños %1$s"
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "tener"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "tiene"
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Añadir conexiones nuevas a este grupo de canales"
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "quiero"
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "editar"
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "quiere"
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Editar grupo"
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "gusta de"
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Añadir un grupo de canales"
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "no gusta de"
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Sin canales en ningún grupo"
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -9384,97 +9363,97 @@ msgctxt "calendar"
msgid "All day"
msgstr "Todos los días"
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
-msgstr "Público"
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "Ver en el tamaño original"
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
-msgstr "Cualquiera en la red $Projectname"
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Sin asunto"
-#: ../../include/PermissionDescription.php:118
-#, php-format
-msgid "Any account on %s"
-msgstr "Cualquier cuenta en %s"
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
-msgstr "Cualquiera de mis conexiones"
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
-msgstr "Sólo las conexiones que yo permita de forma explícita"
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr "GNU Social"
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)"
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas"
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/PermissionDescription.php:161
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones."
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado"
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
-msgstr "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones"
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/PermissionDescription.php:164
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos"
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web"
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/activities.php:41
-msgid " and "
-msgstr " y "
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "La imagen excede el límite de %lu bytes del sitio"
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "el perfil público"
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "El fichero de imagen está vacío. "
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ha cambiado %2$s a &ldquo;%3$s&rdquo;"
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "La foto no ha podido ser guardada."
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visitar %2$s de %1$s"
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "una nueva foto"
-#: ../../include/activities.php:62
+#: ../../include/photos.php:299
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha actualizado %2$s, cambiando %3$s."
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s ha publicado %2$s en %3$s"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Opciones del directorio"
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Subir nuevas fotos"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Modo seguro"
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Paquete de datos no válido"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Solo foros públicos"
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "No ha sido posible de verificar la firma del canal"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Solo este sitio web"
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "No ha sido posible de verificar la firma del sitio para %s"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "La firma recibida no es válida"
#: ../../include/page_widgets.php:6
msgid "New Page"
@@ -9625,6 +9604,29 @@ msgstr "Especial - Repositorio de grupo"
msgid "Custom/Expert Mode"
msgstr "Modo personalizado/experto"
+#: ../../include/activities.php:41
+msgid " and "
+msgstr " y "
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "el perfil público"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiado %2$s a &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Visitar %2$s de %1$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha actualizado %2$s, cambiando %3$s."
+
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
msgstr "Ficheros adjuntos:"
@@ -9769,62 +9771,62 @@ msgstr "Ajustar el tamaño de la foto del autor de la conversación"
msgid "Set size of followup author photos"
msgstr "Ajustar el tamaño de foto de los seguidores del autor"
-#: ../../boot.php:1161
+#: ../../boot.php:1162
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Buscar %1$s (%2$s)"
-#: ../../boot.php:1161
+#: ../../boot.php:1162
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1473
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "La actualización %s ha fallado. Mire el informe de errores."
-#: ../../boot.php:1476
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Error de actualización en %s"
-#: ../../boot.php:1676
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Crear una cuenta para acceder a los servicios y aplicaciones dentro de Hubzilla"
-#: ../../boot.php:1698
+#: ../../boot.php:1706
msgid "Password"
msgstr "Contraseña"
-#: ../../boot.php:1699
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Recordarme"
-#: ../../boot.php:1702
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "¿Olvidó su contraseña?"
-#: ../../boot.php:2268
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "cambiar a modo móvil"
-#: ../../boot.php:2417
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "El certificado SSL del sitio web no es válido. Por favor, solucione el problema."
-#: ../../boot.php:2420
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Error SSL del sitio web en %s"
-#: ../../boot.php:2461
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Las tareas del Planificador/Cron no están funcionando."
-#: ../../boot.php:2465
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Las tareas de Cron no están funcionando en %s"
diff --git a/view/es-es/hstrings.php b/view/es-es/hstrings.php
index feb53f07c..22c81e350 100644
--- a/view/es-es/hstrings.php
+++ b/view/es-es/hstrings.php
@@ -29,294 +29,14 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "ATENCIÓN:";
App::$strings["Create new folder"] = "Crear nueva carpeta";
App::$strings["Upload file"] = "Subir fichero";
+App::$strings["Permission denied"] = "Permiso denegado";
App::$strings["Permission denied."] = "Acceso denegado.";
App::$strings["Not Found"] = "No encontrado";
App::$strings["Page not found."] = "Página no encontrada.";
-App::$strings["Permission denied"] = "Permiso denegado";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo.";
App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente.";
App::$strings["Requested profile is not available."] = "El perfil solicitado no está disponible.";
App::$strings["Some blurb about what to do when you're new here"] = "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí";
-App::$strings["network"] = "red";
-App::$strings["RSS"] = "RSS";
-App::$strings["Theme settings updated."] = "Ajustes del tema actualizados.";
-App::$strings["Item not found."] = "Elemento no encontrado.";
-App::$strings["# Accounts"] = "# Cuentas";
-App::$strings["# blocked accounts"] = "# cuentas bloqueadas";
-App::$strings["# expired accounts"] = "# cuentas caducadas";
-App::$strings["# expiring accounts"] = "# cuentas que caducan";
-App::$strings["# Channels"] = "# Canales";
-App::$strings["# primary"] = "# primario";
-App::$strings["# clones"] = "# clones";
-App::$strings["Message queues"] = "Mensajes en cola";
-App::$strings["Your software should be updated"] = "Debe actualizar su software";
-App::$strings["Administration"] = "Administración";
-App::$strings["Summary"] = "Sumario";
-App::$strings["Registered accounts"] = "Cuentas registradas";
-App::$strings["Pending registrations"] = "Registros pendientes";
-App::$strings["Registered channels"] = "Canales registrados";
-App::$strings["Active plugins"] = "Extensiones (plugins) activas";
-App::$strings["Version"] = "Versión";
-App::$strings["Repository version (master)"] = "Versión del repositorio (master)";
-App::$strings["Repository version (dev)"] = "Versión del repositorio (dev)";
-App::$strings["Site settings updated."] = "Ajustes del sitio actualizados.";
-App::$strings["Default"] = "Predeterminado";
-App::$strings["mobile"] = "móvil";
-App::$strings["experimental"] = "experimental";
-App::$strings["unsupported"] = "no soportado";
-App::$strings["No"] = "No";
-App::$strings["Yes - with approval"] = "Sí - con aprobación";
-App::$strings["Yes"] = "Sí";
-App::$strings["My site is not a public server"] = "Mi sitio no es un servidor público";
-App::$strings["My site has paid access only"] = "Mi sitio es un servicio de pago";
-App::$strings["My site has free access only"] = "Mi sitio es un servicio gratuito";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago";
-App::$strings["Site"] = "Sitio";
-App::$strings["Submit"] = "Enviar";
-App::$strings["Registration"] = "Registro";
-App::$strings["File upload"] = "Subir fichero";
-App::$strings["Policies"] = "Políticas";
-App::$strings["Advanced"] = "Avanzado";
-App::$strings["Site name"] = "Nombre del sitio";
-App::$strings["Banner/Logo"] = "Banner/Logo";
-App::$strings["Administrator Information"] = "Información del Administrador";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode";
-App::$strings["System language"] = "Idioma del sistema";
-App::$strings["System theme"] = "Tema gráfico del sistema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>";
-App::$strings["Mobile system theme"] = "Tema del sistema para móviles";
-App::$strings["Theme for mobile devices"] = "Tema para dispositivos móviles";
-App::$strings["Allow Feeds as Connections"] = "Permitir contenidos RSS como conexiones";
-App::$strings["(Heavy system resource usage)"] = "(Uso intenso de los recursos del sistema)";
-App::$strings["Maximum image size"] = "Tamaño máximo de la imagen";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites.";
-App::$strings["Does this site allow new member registration?"] = "¿Debe este sitio permitir el registro de nuevos miembros?";
-App::$strings["Invitation only"] = "Solo con una invitación";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\".";
-App::$strings["Which best describes the types of account offered by this hub?"] = "¿Cómo describiría el tipo de servicio ofrecido por este servidor?";
-App::$strings["Register text"] = "Texto del registro";
-App::$strings["Will be displayed prominently on the registration page."] = "Se mostrará de forma destacada en la página de registro.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero.";
-App::$strings["Preserve site homepage URL"] = "Preservar la dirección de la página personal";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla.";
-App::$strings["Accounts abandoned after x days"] = "Cuentas abandonadas después de x días";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo.";
-App::$strings["Allowed friend domains"] = "Dominios amigos permitidos";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio.";
-App::$strings["Allowed email domains"] = "Se aceptan dominios de correo electrónico";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. ";
-App::$strings["Not allowed email domains"] = "No se permiten dominios de correo electrónico";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado.";
-App::$strings["Verify Email Addresses"] = "Verificar las direcciones de correo electrónico";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado).";
-App::$strings["Force publish"] = "Forzar la publicación";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio.";
-App::$strings["Import Public Streams"] = "Importar contenido público";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importar y permitir acceso al contenido público sacado de otros sitios. Advertencia: este contenido no está moderado, por lo que podría encontrar cosas inapropiadas u ofensivas.";
-App::$strings["Login on Homepage"] = "Iniciar sesión en la página personal";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido.";
-App::$strings["Enable context help"] = "Habilitar la ayuda contextual";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda.";
-App::$strings["Directory Server URL"] = "URL del servidor de directorio";
-App::$strings["Default directory server"] = "Servidor de directorio predeterminado";
-App::$strings["Proxy user"] = "Usuario del proxy";
-App::$strings["Proxy URL"] = "Dirección del proxy";
-App::$strings["Network timeout"] = "Tiempo de espera de la red";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)";
-App::$strings["Delivery interval"] = "Intervalo de entrega";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados.";
-App::$strings["Deliveries per process"] = "Intentos de envío por proceso";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5.";
-App::$strings["Poll interval"] = "Intervalo máximo de tiempo entre dos mensajes sucesivos";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Retrasar el intervalo de envío en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de entrega.";
-App::$strings["Maximum Load Average"] = "Carga media máxima";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50.";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Caducidad del contenido importado de otros sitios (en días)";
-App::$strings["0 for no expiration of imported content"] = "0 para que no caduque el contenido importado";
-App::$strings["Off"] = "Desactivado";
-App::$strings["On"] = "Activado";
-App::$strings["Lock feature %s"] = "Bloquear la funcionalidad %s";
-App::$strings["Manage Additional Features"] = "Gestionar las funcionalidades";
-App::$strings["No server found"] = "Servidor no encontrado";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "por canal";
-App::$strings["on server"] = "en el servidor";
-App::$strings["Status"] = "Estado";
-App::$strings["Server"] = "Servidor";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: ";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita.";
-App::$strings["Security"] = "Seguridad";
-App::$strings["Block public"] = "Bloquear páginas públicas";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP";
-App::$strings["Allow communications only from these sites"] = "Permitir la comunicación solo desde estos sitios";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
-App::$strings["Block communications from these sites"] = "Bloquear la comunicación desde estos sitios";
-App::$strings["Allow communications only from these channels"] = "Permitir la comunicación solo desde estos canales";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
-App::$strings["Block communications from these channels"] = "Bloquear la comunicación desde estos canales";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL).";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Permitir contenido HTML sin filtrar sólo desde estos dominios ";
-App::$strings["One site per line. By default embedded content is filtered."] = "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada.";
-App::$strings["Block embedded HTML from these domains"] = "Bloquear contenido con HTML incorporado desde estos dominios";
-App::$strings["Update has been marked successful"] = "La actualización ha sido marcada como exitosa";
-App::$strings["Executing %s failed. Check system logs."] = "La ejecución de %s ha fallado. Mirar en los informes del sistema.";
-App::$strings["Update %s was successfully applied."] = "La actualización de %s se ha realizado exitosamente.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito.";
-App::$strings["Update function %s could not be found."] = "No se encuentra la función de actualización de %s.";
-App::$strings["No failed updates."] = "No ha fallado ninguna actualización.";
-App::$strings["Failed Updates"] = "Han fallado las actualizaciones";
-App::$strings["Mark success (if update was manually applied)"] = "Marcar como exitosa (si la actualización se ha hecho manualmente)";
-App::$strings["Attempt to execute this update step automatically"] = "Intentar ejecutar este paso de actualización automáticamente";
-App::$strings["Queue Statistics"] = "Estadísticas de la cola";
-App::$strings["Total Entries"] = "Total de entradas";
-App::$strings["Priority"] = "Prioridad";
-App::$strings["Destination URL"] = "Dirección de destino";
-App::$strings["Mark hub permanently offline"] = "Marcar el servidor como permanentemente fuera de línea";
-App::$strings["Empty queue for this hub"] = "Vaciar la cola para este servidor";
-App::$strings["Last known contact"] = "Último contacto conocido";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s cuenta bloqueada/desbloqueada",
- 1 => "%s cuenta bloqueada/desbloqueada",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s cuentas eliminadas",
- 1 => "%s cuentas eliminadas",
-);
-App::$strings["Account not found"] = "Cuenta no encontrada";
-App::$strings["Account '%s' deleted"] = "La cuenta '%s' ha sido eliminada";
-App::$strings["Account '%s' blocked"] = "La cuenta '%s' ha sido bloqueada";
-App::$strings["Account '%s' unblocked"] = "La cuenta '%s' ha sido desbloqueada";
-App::$strings["Users"] = "Usuarios";
-App::$strings["select all"] = "seleccionar todo";
-App::$strings["User registrations waiting for confirm"] = "Registros de usuario en espera de aprobación";
-App::$strings["Request date"] = "Fecha de solicitud";
-App::$strings["Email"] = "Correo electrónico";
-App::$strings["No registrations."] = "Sin registros.";
-App::$strings["Approve"] = "Aprobar";
-App::$strings["Deny"] = "Rechazar";
-App::$strings["Block"] = "Bloquear";
-App::$strings["Unblock"] = "Desbloquear";
-App::$strings["All Channels"] = "Todos los canales";
-App::$strings["Register date"] = "Fecha de registro";
-App::$strings["Last login"] = "Último acceso";
-App::$strings["Expires"] = "Caduca";
-App::$strings["Service Class"] = "Clase de servicio";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s canales censurados/no censurados",
- 1 => "%s canales censurados/no censurados",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "%s código permitido/no permitido al canal",
- 1 => "%s código permitido/no permitido al canal",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s canales eliminados",
- 1 => "%s canales eliminados",
-);
-App::$strings["Channel not found"] = "Canal no encontrado";
-App::$strings["Channel '%s' deleted"] = "Canal '%s' eliminado";
-App::$strings["Channel '%s' censored"] = "Canal '%s' censurado";
-App::$strings["Channel '%s' uncensored"] = "Canal '%s' no censurado";
-App::$strings["Channel '%s' code allowed"] = "Código permitido al canal '%s'";
-App::$strings["Channel '%s' code disallowed"] = "Código no permitido al canal '%s'";
-App::$strings["Channels"] = "Canales";
-App::$strings["Censor"] = "Censurar";
-App::$strings["Uncensor"] = "No censurar";
-App::$strings["Allow Code"] = "Permitir código";
-App::$strings["Disallow Code"] = "No permitir código";
-App::$strings["Channel"] = "Canal";
-App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Dirección";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["Plugin %s disabled."] = "Extensión %s desactivada.";
-App::$strings["Plugin %s enabled."] = "Extensión %s activada.";
-App::$strings["Disable"] = "Desactivar";
-App::$strings["Enable"] = "Activar";
-App::$strings["Plugins"] = "Extensiones (plugins)";
-App::$strings["Toggle"] = "Cambiar";
-App::$strings["Settings"] = "Ajustes";
-App::$strings["Author: "] = "Autor:";
-App::$strings["Maintainer: "] = "Mantenedor:";
-App::$strings["Minimum project version: "] = "Versión mínima del proyecto:";
-App::$strings["Maximum project version: "] = "Versión máxima del proyecto:";
-App::$strings["Minimum PHP version: "] = "Versión mínima de PHP:";
-App::$strings["Requires: "] = "Se requiere:";
-App::$strings["Disabled - version incompatibility"] = "Deshabilitado - versiones incompatibles";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Escriba la URL pública del repositorio git del plugin.";
-App::$strings["Plugin repo git URL"] = "URL del repositorio git del plugin";
-App::$strings["Custom repo name"] = "Nombre personalizado del repositorio";
-App::$strings["(optional)"] = "(opcional)";
-App::$strings["Download Plugin Repo"] = "Descargar el repositorio";
-App::$strings["Install new repo"] = "Instalar un nuevo repositorio";
-App::$strings["Install"] = "Instalar";
-App::$strings["Cancel"] = "Cancelar";
-App::$strings["Manage Repos"] = "Gestionar los repositorios";
-App::$strings["Installed Plugin Repositories"] = "Repositorios de los plugins instalados";
-App::$strings["Install a New Plugin Repository"] = "Instalar un nuevo repositorio de plugins";
-App::$strings["Update"] = "Actualizar";
-App::$strings["Switch branch"] = "Cambiar la rama";
-App::$strings["Remove"] = "Eliminar";
-App::$strings["No themes found."] = "No se han encontrado temas.";
-App::$strings["Screenshot"] = "Instantánea de pantalla";
-App::$strings["Themes"] = "Temas";
-App::$strings["[Experimental]"] = "[Experimental]";
-App::$strings["[Unsupported]"] = "[No soportado]";
-App::$strings["Log settings updated."] = "Actualizado el informe de configuraciones.";
-App::$strings["Logs"] = "Informes";
-App::$strings["Clear"] = "Vaciar";
-App::$strings["Debugging"] = "Depuración";
-App::$strings["Log file"] = "Fichero de informe";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio de instalación de Hubzilla.";
-App::$strings["Log level"] = "Nivel de depuración";
-App::$strings["New Profile Field"] = "Nuevo campo en el perfil";
-App::$strings["Field nickname"] = "Alias del campo";
-App::$strings["System name of field"] = "Nombre del campo en el sistema";
-App::$strings["Input type"] = "Tipo de entrada";
-App::$strings["Field Name"] = "Nombre del campo";
-App::$strings["Label on profile pages"] = "Etiqueta a mostrar en la página del perfil";
-App::$strings["Help text"] = "Texto de ayuda";
-App::$strings["Additional info (optional)"] = "Información adicional (opcional)";
-App::$strings["Save"] = "Guardar";
-App::$strings["Field definition not found"] = "Definición del campo no encontrada";
-App::$strings["Edit Profile Field"] = "Modificar el campo del perfil";
-App::$strings["Profile Fields"] = "Campos del perfil";
-App::$strings["Basic Profile Fields"] = "Campos básicos del perfil";
-App::$strings["Advanced Profile Fields"] = "Campos avanzados del perfil";
-App::$strings["(In addition to basic fields)"] = "(Además de los campos básicos)";
-App::$strings["All available fields"] = "Todos los campos disponibles";
-App::$strings["Custom Fields"] = "Campos personalizados";
-App::$strings["Create Custom Field"] = "Crear un campo personalizado";
-App::$strings["Authorize application connection"] = "Autorizar una conexión de aplicación";
-App::$strings["Return to your app and insert this Securty Code:"] = "Volver a su aplicación e introducir este código de seguridad:";
-App::$strings["Please login to continue."] = "Por favor inicie sesión para continuar.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?";
-App::$strings["App installed."] = "Aplicación instalada.";
-App::$strings["Malformed app."] = "Aplicación con errores";
-App::$strings["Embed code"] = "Código incorporado";
-App::$strings["Edit App"] = "Modificar la aplicación";
-App::$strings["Create App"] = "Crear una aplicación";
-App::$strings["Name of app"] = "Nombre de la aplicación";
-App::$strings["Required"] = "Obligatorio";
-App::$strings["Location (URL) of app"] = "Dirección (URL) de la aplicación";
-App::$strings["Description"] = "Descripción";
-App::$strings["Photo icon URL"] = "Dirección del icono";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
-App::$strings["Categories (optional, comma separated list)"] = "Categorías (opcional, lista separada por comas)";
-App::$strings["Version ID"] = "Versión";
-App::$strings["Price of app"] = "Precio de la aplicación";
-App::$strings["Location (URL) to purchase app"] = "Dirección (URL) donde adquirir la aplicación";
-App::$strings["Apps"] = "Aplicaciones (apps)";
-App::$strings["Item not available."] = "Elemento no disponible";
-App::$strings["Invalid item."] = "Elemento no válido.";
-App::$strings["Channel not found."] = "Canal no encontrado.";
App::$strings["Block Name"] = "Nombre del bloque";
App::$strings["Blocks"] = "Bloques";
App::$strings["Block Title"] = "Título del bloque";
@@ -324,9 +44,7 @@ App::$strings["Created"] = "Creado";
App::$strings["Edited"] = "Editado";
App::$strings["Share"] = "Compartir";
App::$strings["View"] = "Ver";
-App::$strings["Bookmark added"] = "Marcador añadido";
-App::$strings["My Bookmarks"] = "Mis marcadores";
-App::$strings["My Connections Bookmarks"] = "Marcadores de mis conexiones";
+App::$strings["Channel not found."] = "Canal no encontrado.";
App::$strings["Permissions denied."] = "Permisos denegados.";
App::$strings["l, F j"] = "l j F";
App::$strings["Link to Source"] = "Enlazar con la entrada en su ubicación original";
@@ -336,6 +54,7 @@ App::$strings["Previous"] = "Anterior";
App::$strings["Next"] = "Siguiente";
App::$strings["Export"] = "Exportar";
App::$strings["Import"] = "Importar";
+App::$strings["Submit"] = "Enviar";
App::$strings["Today"] = "Hoy";
App::$strings["You must be logged in to see this page."] = "Debe haber iniciado sesión para poder ver esta página.";
App::$strings["Posts and comments"] = "Publicaciones y comentarios";
@@ -362,9 +81,10 @@ App::$strings["Expiration"] = "Caducidad";
App::$strings["min"] = "min";
App::$strings["Away"] = "Ausente";
App::$strings["Online"] = "Conectado/a";
-App::$strings["No channel."] = "Ningún canal.";
-App::$strings["Common connections"] = "Conexiones comunes";
-App::$strings["No connections in common."] = "Ninguna conexión en común.";
+App::$strings["Invalid item."] = "Elemento no válido.";
+App::$strings["Bookmark added"] = "Marcador añadido";
+App::$strings["My Bookmarks"] = "Mis marcadores";
+App::$strings["My Connections Bookmarks"] = "Marcadores de mis conexiones";
App::$strings["Continue"] = "Continuar";
App::$strings["Premium Channel Setup"] = "Configuración del canal premium";
App::$strings["Enable premium channel connection restrictions"] = "Habilitar restricciones de conexión del canal premium";
@@ -374,41 +94,13 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)";
App::$strings["Restricted or Premium Channel"] = "Canal premium o restringido";
-App::$strings["Blocked"] = "Bloqueadas";
-App::$strings["Ignored"] = "Ignoradas";
-App::$strings["Hidden"] = "Ocultas";
-App::$strings["Archived"] = "Archivadas";
-App::$strings["New"] = "Nuevas";
-App::$strings["All"] = "Todos/as";
-App::$strings["New Connections"] = "Nuevas conexiones";
-App::$strings["Show pending (new) connections"] = "Mostrar conexiones (nuevas) pendientes";
-App::$strings["All Connections"] = "Todas las conexiones";
-App::$strings["Show all connections"] = "Mostrar todas las conexiones";
-App::$strings["Only show blocked connections"] = "Mostrar solo las conexiones bloqueadas";
-App::$strings["Only show ignored connections"] = "Mostrar solo conexiones ignoradas";
-App::$strings["Only show archived connections"] = "Mostrar solo las conexiones archivadas";
-App::$strings["Only show hidden connections"] = "Mostrar solo las conexiones ocultas";
-App::$strings["Pending approval"] = "Pendiente de aprobación";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Editar conexión";
-App::$strings["Delete connection"] = "Eliminar conexión";
-App::$strings["Channel address"] = "Dirección del canal";
-App::$strings["Network"] = "Red";
-App::$strings["Connected"] = "Conectado/a";
-App::$strings["Approve connection"] = "Aprobar esta conexión";
-App::$strings["Ignore connection"] = "Ignorar esta conexión";
-App::$strings["Ignore"] = "Ignorar";
-App::$strings["Recent activity"] = "Actividad reciente";
-App::$strings["Connections"] = "Conexiones";
-App::$strings["Search"] = "Buscar";
-App::$strings["Search your connections"] = "Buscar sus conexiones";
-App::$strings["Connections search"] = "Buscar conexiones";
-App::$strings["Find"] = "Encontrar";
App::$strings["Could not access contact record."] = "No se ha podido acceder al registro de contacto.";
App::$strings["Could not locate selected profile."] = "No se ha podido localizar el perfil seleccionado.";
App::$strings["Connection updated."] = "Conexión actualizada.";
App::$strings["Failed to update connection record."] = "Error al actualizar el registro de la conexión.";
App::$strings["is now connected to"] = "ahora está conectado/a";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Sí";
App::$strings["Could not access address book record."] = "No se pudo acceder al registro en su libreta de direcciones.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Recarga fallida - no se puede encontrar el canal en este momento.";
App::$strings["Unable to set address book parameters."] = "No ha sido posible establecer los parámetros de la libreta de direcciones.";
@@ -419,9 +111,12 @@ App::$strings["Refresh Permissions"] = "Recargar los permisos";
App::$strings["Fetch updated permissions"] = "Obtener los permisos actualizados";
App::$strings["Recent Activity"] = "Actividad reciente";
App::$strings["View recent posts and comments"] = "Ver publicaciones y comentarios recientes";
+App::$strings["Unblock"] = "Desbloquear";
+App::$strings["Block"] = "Bloquear";
App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquear (o desbloquear) todas las comunicaciones con esta conexión";
App::$strings["This connection is blocked!"] = "¡Esta conexión está bloqueada!";
App::$strings["Unignore"] = "Dejar de ignorar";
+App::$strings["Ignore"] = "Ignorar";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión";
App::$strings["This connection is ignored!"] = "¡Esta conexión es ignorada!";
App::$strings["Unarchive"] = "Desarchivar";
@@ -437,6 +132,7 @@ App::$strings["Me"] = "Yo";
App::$strings["Family"] = "Familia";
App::$strings["Friends"] = "Amigos/as";
App::$strings["Acquaintances"] = "Conocidos/as";
+App::$strings["All"] = "Todos/as";
App::$strings["Approve this connection"] = "Aprobar esta conexión";
App::$strings["Accept connection to allow communication"] = "Aceptar la conexión para permitir la comunicación";
App::$strings["Set Affinity"] = "Ajustar la afinidad";
@@ -469,28 +165,6 @@ App::$strings["Individual Permissions"] = "Permisos individuales";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados.";
App::$strings["Last update:"] = "Última actualización:";
-App::$strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. ";
-App::$strings["Cover Photos"] = "Imágenes de portada del perfil";
-App::$strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado.";
-App::$strings["Unable to process image"] = "No ha sido posible procesar la imagen";
-App::$strings["Image upload failed."] = "La carga de la imagen ha fallado.";
-App::$strings["Unable to process image."] = "No ha sido posible procesar la imagen.";
-App::$strings["female"] = "mujer";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["male"] = "hombre";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["cover photo"] = "Imagen de portada del perfil";
-App::$strings["Photo not available."] = "Foto no disponible.";
-App::$strings["Upload File:"] = "Subir fichero:";
-App::$strings["Select a profile:"] = "Seleccionar un perfil:";
-App::$strings["Upload Cover Photo"] = "Subir imagen de portada del perfil";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "Omitir este paso";
-App::$strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos";
-App::$strings["Crop Image"] = "Recortar imagen";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
-App::$strings["Done Editing"] = "Edición completada";
App::$strings["Public access denied."] = "Acceso público denegado.";
App::$strings["%d rating"] = array(
0 => "%d valoración",
@@ -511,6 +185,7 @@ App::$strings["Don't suggest"] = "No sugerir:";
App::$strings["Common connections:"] = "Conexiones comunes:";
App::$strings["Global Directory"] = "Directorio global:";
App::$strings["Local Directory"] = "Directorio local:";
+App::$strings["Find"] = "Encontrar";
App::$strings["Finding:"] = "Encontrar:";
App::$strings["Channel Suggestions"] = "Sugerencias de canales";
App::$strings["next page"] = "siguiente página";
@@ -521,32 +196,66 @@ App::$strings["Reverse Alphabetic"] = "Alfabético inverso";
App::$strings["Newest to Oldest"] = "De más nuevo a más antiguo";
App::$strings["Oldest to Newest"] = "De más antiguo a más nuevo";
App::$strings["No entries (some entries may be hidden)."] = "Sin entradas (algunas entradas pueden estar ocultas).";
-App::$strings["This site is not a directory server"] = "Este sitio no es un servidor de directorio";
-App::$strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso";
-App::$strings["Invalid message"] = "Mensaje no válido";
-App::$strings["no results"] = "sin resultados";
-App::$strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
-App::$strings["channel sync processed"] = "se ha realizado la sincronización del canal";
-App::$strings["queued"] = "encolado";
-App::$strings["posted"] = "enviado";
-App::$strings["accepted for delivery"] = "aceptado para el envío";
-App::$strings["updated"] = "actualizado";
-App::$strings["update ignored"] = "actualización ignorada";
-App::$strings["permission denied"] = "permiso denegado";
-App::$strings["recipient not found"] = "destinatario no encontrado";
-App::$strings["mail recalled"] = "mensaje de correo revocado";
-App::$strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
-App::$strings["mail delivered"] = "correo enviado";
+App::$strings["Item not found."] = "Elemento no encontrado.";
App::$strings["Item not found"] = "Elemento no encontrado";
App::$strings["Title (optional)"] = "Título (opcional)";
App::$strings["Edit Block"] = "Modificar este bloque";
-App::$strings["Layout Name"] = "Nombre de la plantilla";
-App::$strings["Layout Description (Optional)"] = "Descripción de la plantilla (opcional)";
-App::$strings["Edit Layout"] = "Modificar la plantilla";
+App::$strings["No channel."] = "Ningún canal.";
+App::$strings["Common connections"] = "Conexiones comunes";
+App::$strings["No connections in common."] = "Ninguna conexión en común.";
+App::$strings["Blocked"] = "Bloqueadas";
+App::$strings["Ignored"] = "Ignoradas";
+App::$strings["Hidden"] = "Ocultas";
+App::$strings["Archived"] = "Archivadas";
+App::$strings["New"] = "Nuevas";
+App::$strings["New Connections"] = "Nuevas conexiones";
+App::$strings["Show pending (new) connections"] = "Mostrar conexiones (nuevas) pendientes";
+App::$strings["All Connections"] = "Todas las conexiones";
+App::$strings["Show all connections"] = "Mostrar todas las conexiones";
+App::$strings["Only show blocked connections"] = "Mostrar solo las conexiones bloqueadas";
+App::$strings["Only show ignored connections"] = "Mostrar solo conexiones ignoradas";
+App::$strings["Only show archived connections"] = "Mostrar solo las conexiones archivadas";
+App::$strings["Only show hidden connections"] = "Mostrar solo las conexiones ocultas";
+App::$strings["Pending approval"] = "Pendiente de aprobación";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Editar conexión";
+App::$strings["Delete connection"] = "Eliminar conexión";
+App::$strings["Channel address"] = "Dirección del canal";
+App::$strings["Network"] = "Red";
+App::$strings["Status"] = "Estado";
+App::$strings["Connected"] = "Conectado/a";
+App::$strings["Approve connection"] = "Aprobar esta conexión";
+App::$strings["Approve"] = "Aprobar";
+App::$strings["Ignore connection"] = "Ignorar esta conexión";
+App::$strings["Recent activity"] = "Actividad reciente";
+App::$strings["Connections"] = "Conexiones";
+App::$strings["Search"] = "Buscar";
+App::$strings["Search your connections"] = "Buscar sus conexiones";
+App::$strings["Connections search"] = "Buscar conexiones";
+App::$strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. ";
+App::$strings["Cover Photos"] = "Imágenes de portada del perfil";
+App::$strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado.";
+App::$strings["Unable to process image"] = "No ha sido posible procesar la imagen";
+App::$strings["Image upload failed."] = "La carga de la imagen ha fallado.";
+App::$strings["Unable to process image."] = "No ha sido posible procesar la imagen.";
+App::$strings["female"] = "mujer";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["male"] = "hombre";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["cover photo"] = "Imagen de portada del perfil";
+App::$strings["Photo not available."] = "Foto no disponible.";
+App::$strings["Upload File:"] = "Subir fichero:";
+App::$strings["Select a profile:"] = "Seleccionar un perfil:";
+App::$strings["Upload Cover Photo"] = "Subir imagen de portada del perfil";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "Omitir este paso";
+App::$strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos";
+App::$strings["Crop Image"] = "Recortar imagen";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
+App::$strings["Done Editing"] = "Edición completada";
App::$strings["Item is not editable"] = "El elemento no es editable";
App::$strings["Edit post"] = "Editar la entrada";
-App::$strings["Page link"] = "Enlace de la página";
-App::$strings["Edit Webpage"] = "Editar la página web";
App::$strings["Calendar entries imported."] = "Entradas de calendario importadas.";
App::$strings["No calendar entries found."] = "No se han encontrado entradas de calendario.";
App::$strings["Event can not end before it has started."] = "Un evento no puede terminar antes de que haya comenzado.";
@@ -556,6 +265,7 @@ App::$strings["Event not found."] = "Evento no encontrado.";
App::$strings["event"] = "evento";
App::$strings["Edit event title"] = "Editar el título del evento";
App::$strings["Event title"] = "Título del evento";
+App::$strings["Required"] = "Obligatorio";
App::$strings["Categories (comma-separated list)"] = "Categorías (lista separada por comas)";
App::$strings["Edit Category"] = "Editar la categoría";
App::$strings["Category"] = "Categoría";
@@ -567,6 +277,7 @@ App::$strings["Finish date and time"] = "Fecha y hora de terminación";
App::$strings["Adjust for viewer timezone"] = "Ajustar para obtener el visor de los husos horarios";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales.";
App::$strings["Edit Description"] = "Editar la descripción";
+App::$strings["Description"] = "Descripción";
App::$strings["Edit Location"] = "Modificar la dirección";
App::$strings["Location"] = "Ubicación";
App::$strings["Share this event"] = "Compartir este evento";
@@ -579,22 +290,34 @@ App::$strings["calendar"] = "calendario";
App::$strings["Event removed"] = "Evento borrado";
App::$strings["Failed to remove event"] = "Error al eliminar el evento";
App::$strings["Photos"] = "Fotos";
-App::$strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname ";
+App::$strings["Cancel"] = "Cancelar";
+App::$strings["This site is not a directory server"] = "Este sitio no es un servidor de directorio";
+App::$strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso";
App::$strings["Save to Folder:"] = "Guardar en carpeta:";
App::$strings["- select -"] = "- seleccionar -";
-App::$strings["Permission Denied."] = "Permiso denegado";
-App::$strings["File not found."] = "Fichero no encontrado.";
-App::$strings["Edit file permissions"] = "Modificar los permisos del fichero";
-App::$strings["Set/edit permissions"] = "Establecer/editar los permisos";
-App::$strings["Include all files and sub folders"] = "Incluir todos los ficheros y subcarpetas";
-App::$strings["Return to file list"] = "Volver a la lista de ficheros";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copiar/pegar este código para adjuntar el fichero al envío";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copiar/pegar esta dirección para enlazar el fichero desde una página web";
-App::$strings["Share this file"] = "Compartir este fichero";
-App::$strings["Show URL to this file"] = "Mostrar la dirección de este fichero";
-App::$strings["Notify your contacts about this file"] = "Avisar a sus contactos sobre este fichero";
+App::$strings["Save"] = "Guardar";
+App::$strings["Invalid message"] = "Mensaje no válido";
+App::$strings["no results"] = "sin resultados";
+App::$strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
+App::$strings["channel sync processed"] = "se ha realizado la sincronización del canal";
+App::$strings["queued"] = "encolado";
+App::$strings["posted"] = "enviado";
+App::$strings["accepted for delivery"] = "aceptado para el envío";
+App::$strings["updated"] = "actualizado";
+App::$strings["update ignored"] = "actualización ignorada";
+App::$strings["permission denied"] = "permiso denegado";
+App::$strings["recipient not found"] = "destinatario no encontrado";
+App::$strings["mail recalled"] = "mensaje de correo revocado";
+App::$strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
+App::$strings["mail delivered"] = "correo enviado";
+App::$strings["Layout Name"] = "Nombre de la plantilla";
+App::$strings["Layout Description (Optional)"] = "Descripción de la plantilla (opcional)";
+App::$strings["Edit Layout"] = "Modificar la plantilla";
+App::$strings["Page link"] = "Enlace de la página";
+App::$strings["Edit Webpage"] = "Editar la página web";
App::$strings["Channel added."] = "Canal añadido.";
+App::$strings["network"] = "red";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "El grupo de canales ha sido creado.";
App::$strings["Could not create privacy group."] = "No se puede crear el grupo de canales";
App::$strings["Privacy group not found."] = "Grupo de canales no encontrado.";
@@ -608,39 +331,29 @@ App::$strings["Privacy group editor"] = "Editor de grupos de canales";
App::$strings["Members"] = "Miembros";
App::$strings["All Connected Channels"] = "Todos los canales conectados";
App::$strings["Click on a channel to add or remove."] = "Haga clic en un canal para agregarlo o quitarlo.";
+App::$strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname ";
+App::$strings["Authorize application connection"] = "Autorizar una conexión de aplicación";
+App::$strings["Return to your app and insert this Securty Code:"] = "Volver a su aplicación e introducir este código de seguridad:";
+App::$strings["Please login to continue."] = "Por favor inicie sesión para continuar.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?";
App::$strings["Documentation Search"] = "Búsqueda de Documentación";
App::$strings["Help:"] = "Ayuda:";
App::$strings["Help"] = "Ayuda";
App::$strings["\$Projectname Documentation"] = "Documentación de \$Projectname";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "Bienvenido a %s";
-App::$strings["First Name"] = "Nombre";
-App::$strings["Last Name"] = "Apellido";
-App::$strings["Nickname"] = "Sobrenombre o Alias";
-App::$strings["Full Name"] = "Nombre completo";
-App::$strings["Profile Photo"] = "Foto del perfil";
-App::$strings["Profile Photo 16px"] = "Foto del perfil 16px";
-App::$strings["Profile Photo 32px"] = "Foto del perfil 32px";
-App::$strings["Profile Photo 48px"] = "Foto del perfil 48px";
-App::$strings["Profile Photo 64px"] = "Foto del perfil 64px";
-App::$strings["Profile Photo 80px"] = "Foto del perfil 80px";
-App::$strings["Profile Photo 128px"] = "Foto del perfil 128px";
-App::$strings["Timezone"] = "Huso horario";
-App::$strings["Homepage URL"] = "Dirección de la página personal";
-App::$strings["Language"] = "Idioma";
-App::$strings["Birth Year"] = "Año de nacimiento";
-App::$strings["Birth Month"] = "Mes de nacimiento";
-App::$strings["Birth Day"] = "Día de nacimiento";
-App::$strings["Birthdate"] = "Fecha de nacimiento";
-App::$strings["Gender"] = "Género";
-App::$strings["Male"] = "Hombre";
-App::$strings["Female"] = "Mujer";
-App::$strings["webpage"] = "página web";
-App::$strings["block"] = "bloque";
-App::$strings["layout"] = "plantilla";
-App::$strings["menu"] = "menú";
-App::$strings["%s element installed"] = "%s elemento instalado";
-App::$strings["%s element installation failed"] = "Elemento con instalación fallida: %s";
+App::$strings["Permission Denied."] = "Permiso denegado";
+App::$strings["File not found."] = "Fichero no encontrado.";
+App::$strings["Edit file permissions"] = "Modificar los permisos del fichero";
+App::$strings["Set/edit permissions"] = "Establecer/editar los permisos";
+App::$strings["Include all files and sub folders"] = "Incluir todos los ficheros y subcarpetas";
+App::$strings["Return to file list"] = "Volver a la lista de ficheros";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copiar/pegar este código para adjuntar el fichero al envío";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copiar/pegar esta dirección para enlazar el fichero desde una página web";
+App::$strings["Share this file"] = "Compartir este fichero";
+App::$strings["Show URL to this file"] = "Mostrar la dirección de este fichero";
+App::$strings["Notify your contacts about this file"] = "Avisar a sus contactos sobre este fichero";
+App::$strings["Apps"] = "Aplicaciones (apps)";
+App::$strings["Item not available."] = "Elemento no disponible";
App::$strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales.";
App::$strings["Nothing to import."] = "No hay nada para importar.";
App::$strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor";
@@ -661,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine.";
-App::$strings["Import completed"] = "Importación completada";
-App::$strings["Import Items"] = "Importar elementos";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación.";
-App::$strings["Total invitation limit exceeded."] = "Se ha superado el límite máximo de invitaciones.";
-App::$strings["%s : Not a valid email address."] = "%s : No es una dirección de correo electrónico válida. ";
-App::$strings["Please join us on \$Projectname"] = "Únase a nosotros en \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio.";
-App::$strings["%s : Message delivery failed."] = "%s : Falló el envío del mensaje.";
-App::$strings["%d message sent."] = array(
- 0 => "%d mensajes enviados.",
- 1 => "%d mensajes enviados.",
-);
-App::$strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
-App::$strings["Send invitations"] = "Enviar invitaciones";
-App::$strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónico, una por línea:";
-App::$strings["Your message:"] = "Su mensaje:";
-App::$strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Tendrá que suministrar este código de invitación:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio.";
-App::$strings["or visit"] = "o visitar";
-App::$strings["3. Click [Connect]"] = "3. Pulse [conectar]";
App::$strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original.";
App::$strings["Empty post discarded."] = "La entrada vacía ha sido desechada.";
App::$strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal.";
@@ -695,6 +386,36 @@ App::$strings["Layouts"] = "Plantillas";
App::$strings["Comanche page description language help"] = "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche";
App::$strings["Layout Description"] = "Descripción de la plantilla";
App::$strings["Download PDL file"] = "Descargar el fichero PDL";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Bienvenido a %s";
+App::$strings["First Name"] = "Nombre";
+App::$strings["Last Name"] = "Apellido";
+App::$strings["Nickname"] = "Sobrenombre o Alias";
+App::$strings["Full Name"] = "Nombre completo";
+App::$strings["Email"] = "Correo electrónico";
+App::$strings["Profile Photo"] = "Foto del perfil";
+App::$strings["Profile Photo 16px"] = "Foto del perfil 16px";
+App::$strings["Profile Photo 32px"] = "Foto del perfil 32px";
+App::$strings["Profile Photo 48px"] = "Foto del perfil 48px";
+App::$strings["Profile Photo 64px"] = "Foto del perfil 64px";
+App::$strings["Profile Photo 80px"] = "Foto del perfil 80px";
+App::$strings["Profile Photo 128px"] = "Foto del perfil 128px";
+App::$strings["Timezone"] = "Huso horario";
+App::$strings["Homepage URL"] = "Dirección de la página personal";
+App::$strings["Language"] = "Idioma";
+App::$strings["Birth Year"] = "Año de nacimiento";
+App::$strings["Birth Month"] = "Mes de nacimiento";
+App::$strings["Birth Day"] = "Día de nacimiento";
+App::$strings["Birthdate"] = "Fecha de nacimiento";
+App::$strings["Gender"] = "Género";
+App::$strings["Male"] = "Hombre";
+App::$strings["Female"] = "Mujer";
+App::$strings["webpage"] = "página web";
+App::$strings["block"] = "bloque";
+App::$strings["layout"] = "plantilla";
+App::$strings["menu"] = "menú";
+App::$strings["%s element installed"] = "%s elemento instalado";
+App::$strings["%s element installation failed"] = "Elemento con instalación fallida: %s";
App::$strings["Like/Dislike"] = "Me gusta/No me gusta";
App::$strings["This action is restricted to members."] = "Esta acción está restringida solo para miembros.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Por favor, <a href=\"rmagic\">identifíquese con su \$Projectname ID</a> o <a href=\"register\">rregístrese como un nuevo \$Projectname member</a> para continuar.";
@@ -715,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s n
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s quizá participe";
App::$strings["Action completed."] = "Acción completada.";
App::$strings["Thank you."] = "Gracias.";
+App::$strings["Import completed"] = "Importación completada";
+App::$strings["Import Items"] = "Importar elementos";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación.";
+App::$strings["Total invitation limit exceeded."] = "Se ha superado el límite máximo de invitaciones.";
+App::$strings["%s : Not a valid email address."] = "%s : No es una dirección de correo electrónico válida. ";
+App::$strings["Please join us on \$Projectname"] = "Únase a nosotros en \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio.";
+App::$strings["%s : Message delivery failed."] = "%s : Falló el envío del mensaje.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d mensajes enviados.",
+ 1 => "%d mensajes enviados.",
+);
+App::$strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
+App::$strings["Send invitations"] = "Enviar invitaciones";
+App::$strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónico, una por línea:";
+App::$strings["Your message:"] = "Su mensaje:";
+App::$strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Tendrá que suministrar este código de invitación:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio.";
+App::$strings["or visit"] = "o visitar";
+App::$strings["3. Click [Connect]"] = "3. Pulse [conectar]";
App::$strings["Remote privacy information not available."] = "La información privada remota no está disponible.";
App::$strings["Visible to:"] = "Visible para:";
App::$strings["Location not found."] = "Dirección no encontrada.";
@@ -723,28 +466,13 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Sincronización de ubicaciones";
App::$strings["No locations found."] = "No encontrada ninguna dirección.";
App::$strings["Manage Channel Locations"] = "Gestionar las direcciones del canal";
+App::$strings["Address"] = "Dirección";
App::$strings["Primary"] = "Primario";
App::$strings["Drop"] = "Eliminar";
App::$strings["Sync Now"] = "Sincronizar ahora";
App::$strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo.";
-App::$strings["No valid account found."] = "No se ha encontrado una cuenta válida.";
-App::$strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico.";
-App::$strings["Site Member (%s)"] = "Usuario del sitio (%s)";
-App::$strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado.";
-App::$strings["Password Reset"] = "Restablecer la contraseña";
-App::$strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó.";
-App::$strings["Your new password is"] = "Su nueva contraseña es";
-App::$strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después";
-App::$strings["click here to login"] = "pulse aquí para conectarse";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión.";
-App::$strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada";
-App::$strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones.";
-App::$strings["Email Address"] = "Dirección de correo electrónico";
-App::$strings["Reset"] = "Reiniciar";
App::$strings["Hub not found."] = "Servidor no encontrado";
App::$strings["Unable to lookup recipient."] = "Imposible asociar a un destinatario.";
App::$strings["Unable to communicate with requested channel."] = "Imposible comunicar con el canal solicitado.";
@@ -779,10 +507,22 @@ App::$strings["Make Default"] = "Convertir en predeterminado";
App::$strings["%d new messages"] = "%d mensajes nuevos";
App::$strings["%d new introductions"] = "%d nuevas isolicitudes de conexión";
App::$strings["Delegated Channel"] = "Canal delegado";
-App::$strings["Profile Match"] = "Perfil compatible";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal.";
-App::$strings["is interested in:"] = "está interesado en:";
-App::$strings["No matches"] = "No se han encontrado perfiles compatibles";
+App::$strings["No valid account found."] = "No se ha encontrado una cuenta válida.";
+App::$strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico.";
+App::$strings["Site Member (%s)"] = "Usuario del sitio (%s)";
+App::$strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado.";
+App::$strings["Password Reset"] = "Restablecer la contraseña";
+App::$strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó.";
+App::$strings["Your new password is"] = "Su nueva contraseña es";
+App::$strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después";
+App::$strings["click here to login"] = "pulse aquí para conectarse";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión.";
+App::$strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada";
+App::$strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones.";
+App::$strings["Email Address"] = "Dirección de correo electrónico";
+App::$strings["Reset"] = "Reiniciar";
App::$strings["Unable to update menu."] = "No se puede actualizar el menú.";
App::$strings["Unable to create menu."] = "No se puede crear el menú.";
App::$strings["Menu Name"] = "Nombre del menú";
@@ -807,6 +547,22 @@ App::$strings["Menu title"] = "Título del menú";
App::$strings["Menu title as seen by others"] = "El título del menú tal como será visto por los demás";
App::$strings["Allow bookmarks"] = "Permitir marcadores";
App::$strings["Not found."] = "No encontrado.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
+App::$strings["Mood"] = "Estado de ánimo";
+App::$strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
+App::$strings["Profile Match"] = "Perfil compatible";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal.";
+App::$strings["is interested in:"] = "está interesado en:";
+App::$strings["No matches"] = "No se han encontrado perfiles compatibles";
+App::$strings["No such group"] = "No se encuentra el grupo";
+App::$strings["No such channel"] = "No se encuentra el canal";
+App::$strings["forum"] = "foro";
+App::$strings["Search Results For:"] = "Buscar resultados para:";
+App::$strings["Privacy group is empty"] = "El grupo de canales está vacío";
+App::$strings["Privacy group: "] = "Grupo de canales: ";
+App::$strings["Invalid connection."] = "Conexión no válida.";
+App::$strings["No more system notifications."] = "No hay más notificaciones del sistema";
+App::$strings["System Notifications"] = "Notificaciones del sistema";
App::$strings["Unable to create element."] = "Imposible crear el elemento.";
App::$strings["Unable to update menu element."] = "No es posible actualizar el elemento del menú.";
App::$strings["Unable to add menu element."] = "No es posible añadir el elemento al menú";
@@ -836,16 +592,6 @@ App::$strings["Menu item deleted."] = "Este elemento del menú ha sido borrado";
App::$strings["Menu item could not be deleted."] = "Este elemento del menú no puede ser borrado.";
App::$strings["Edit Menu Element"] = "Editar elemento del menú";
App::$strings["Link text"] = "Texto del enlace";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
-App::$strings["Mood"] = "Estado de ánimo";
-App::$strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
-App::$strings["No such group"] = "No se encuentra el grupo";
-App::$strings["No such channel"] = "No se encuentra el canal";
-App::$strings["forum"] = "foro";
-App::$strings["Search Results For:"] = "Buscar resultados para:";
-App::$strings["Privacy group is empty"] = "El grupo de canales está vacío";
-App::$strings["Privacy group: "] = "Grupo de canales: ";
-App::$strings["Invalid connection."] = "Conexión no válida.";
App::$strings["Name or caption"] = "Nombre o descripción";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Ejemplos: \"Juan García\", \"Luisa y sus caballos\", \"Fútbol\", \"Grupo de aviación\"";
App::$strings["Choose a short nickname"] = "Elija un alias corto";
@@ -858,22 +604,7 @@ App::$strings["A channel is your identity on this network. It can represent a pe
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "O <a href=\"import\">importar un canal existente</a> desde otro lugar.";
App::$strings["Invalid request identifier."] = "Petición inválida del identificador.";
App::$strings["Discard"] = "Descartar";
-App::$strings["No more system notifications."] = "No hay más notificaciones del sistema";
-App::$strings["System Notifications"] = "Notificaciones del sistema";
App::$strings["Mark all system notifications seen"] = "Marcar todas las notificaciones de sistema como leídas";
-App::$strings["Unable to find your hub."] = "No se puede encontrar su servidor.";
-App::$strings["Post successful."] = "Enviado con éxito.";
-App::$strings["OpenID protocol error. No ID returned."] = "Error del protocolo OpenID. Ningún ID recibido como respuesta.";
-App::$strings["Login failed."] = "El acceso ha fallado.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada.";
-App::$strings["Configuration Editor"] = "Editor de configuración";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica.";
-App::$strings["Layout updated."] = "Plantilla actualizada.";
-App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripción de Páginas";
-App::$strings["Layout not found."] = "Plantilla no encontrada";
-App::$strings["Module Name:"] = "Nombre del módulo:";
-App::$strings["Layout Help"] = "Ayuda para el diseño de plantillas de página";
App::$strings["Page owner information could not be retrieved."] = "La información del propietario de la página no pudo ser recuperada.";
App::$strings["Profile Photos"] = "Fotos del perfil";
App::$strings["Album not found."] = "Álbum no encontrado.";
@@ -902,6 +633,7 @@ App::$strings["Use as profile photo"] = "Usar como foto del perfil";
App::$strings["Use as cover photo"] = "Usar como imagen de portada del perfil";
App::$strings["Private Photo"] = "Foto privada";
App::$strings["View Full Size"] = "Ver tamaño completo";
+App::$strings["Remove"] = "Eliminar";
App::$strings["Edit photo"] = "Editar foto";
App::$strings["Rotate CW (right)"] = "Girar CW (a la derecha)";
App::$strings["Rotate CCW (left)"] = "Girar CCW (a la izquierda)";
@@ -946,6 +678,19 @@ App::$strings["added your channel"] = "añadió este canal a sus conexiones";
App::$strings["g A l F d"] = "g A l d F";
App::$strings["[today]"] = "[hoy]";
App::$strings["posted an event"] = "publicó un evento";
+App::$strings["Unable to find your hub."] = "No se puede encontrar su servidor.";
+App::$strings["Post successful."] = "Enviado con éxito.";
+App::$strings["OpenID protocol error. No ID returned."] = "Error del protocolo OpenID. Ningún ID recibido como respuesta.";
+App::$strings["Login failed."] = "El acceso ha fallado.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada.";
+App::$strings["Configuration Editor"] = "Editor de configuración";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica.";
+App::$strings["Layout updated."] = "Plantilla actualizada.";
+App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripción de Páginas";
+App::$strings["Layout not found."] = "Plantilla no encontrada";
+App::$strings["Module Name:"] = "Nombre del módulo:";
+App::$strings["Layout Help"] = "Ayuda para el diseño de plantillas de página";
App::$strings["Poke"] = "Toques y otras cosas";
App::$strings["Poke somebody"] = "Dar un toque a alguien";
App::$strings["Poke/Prod"] = "Toque/Incitación";
@@ -954,8 +699,6 @@ App::$strings["Recipient"] = "Destinatario";
App::$strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario";
App::$strings["Make this post private"] = "Convertir en privado este envío";
App::$strings["Fetching URL returns error: %1\$s"] = "Al intentar obtener la dirección, retorna el error: %1\$s";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente.";
-App::$strings["Upload Profile Photo"] = "Subir foto de perfil";
App::$strings["Profile not found."] = "Perfil no encontrado.";
App::$strings["Profile deleted."] = "Perfil eliminado.";
App::$strings["Profile-"] = "Perfil-";
@@ -1022,6 +765,8 @@ App::$strings["Contact information and social networks"] = "Información de cont
App::$strings["My other channels"] = "Mis otros canales";
App::$strings["Profile Image"] = "Imagen del perfil";
App::$strings["Edit Profiles"] = "Editar perfiles";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente.";
+App::$strings["Upload Profile Photo"] = "Subir foto de perfil";
App::$strings["Invalid profile identifier."] = "Identificador del perfil no válido";
App::$strings["Profile Visibility Editor"] = "Editor de visibilidad del perfil";
App::$strings["Profile"] = "Perfil";
@@ -1044,6 +789,261 @@ App::$strings["No ratings"] = "Ninguna valoración";
App::$strings["Rating: "] = "Valoración:";
App::$strings["Website: "] = "Sitio web:";
App::$strings["Description: "] = "Descripción:";
+App::$strings["Theme settings updated."] = "Ajustes del tema actualizados.";
+App::$strings["# Accounts"] = "# Cuentas";
+App::$strings["# blocked accounts"] = "# cuentas bloqueadas";
+App::$strings["# expired accounts"] = "# cuentas caducadas";
+App::$strings["# expiring accounts"] = "# cuentas que caducan";
+App::$strings["# Channels"] = "# Canales";
+App::$strings["# primary"] = "# primario";
+App::$strings["# clones"] = "# clones";
+App::$strings["Message queues"] = "Mensajes en cola";
+App::$strings["Your software should be updated"] = "Debe actualizar su software";
+App::$strings["Administration"] = "Administración";
+App::$strings["Summary"] = "Sumario";
+App::$strings["Registered accounts"] = "Cuentas registradas";
+App::$strings["Pending registrations"] = "Registros pendientes";
+App::$strings["Registered channels"] = "Canales registrados";
+App::$strings["Active plugins"] = "Extensiones (plugins) activas";
+App::$strings["Version"] = "Versión";
+App::$strings["Repository version (master)"] = "Versión del repositorio (master)";
+App::$strings["Repository version (dev)"] = "Versión del repositorio (dev)";
+App::$strings["Site settings updated."] = "Ajustes del sitio actualizados.";
+App::$strings["Default"] = "Predeterminado";
+App::$strings["mobile"] = "móvil";
+App::$strings["experimental"] = "experimental";
+App::$strings["unsupported"] = "no soportado";
+App::$strings["Yes - with approval"] = "Sí - con aprobación";
+App::$strings["My site is not a public server"] = "Mi sitio no es un servidor público";
+App::$strings["My site has paid access only"] = "Mi sitio es un servicio de pago";
+App::$strings["My site has free access only"] = "Mi sitio es un servicio gratuito";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago";
+App::$strings["Site"] = "Sitio";
+App::$strings["Registration"] = "Registro";
+App::$strings["File upload"] = "Subir fichero";
+App::$strings["Policies"] = "Políticas";
+App::$strings["Advanced"] = "Avanzado";
+App::$strings["Site name"] = "Nombre del sitio";
+App::$strings["Banner/Logo"] = "Banner/Logo";
+App::$strings["Administrator Information"] = "Información del Administrador";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode";
+App::$strings["System language"] = "Idioma del sistema";
+App::$strings["System theme"] = "Tema gráfico del sistema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>";
+App::$strings["Mobile system theme"] = "Tema del sistema para móviles";
+App::$strings["Theme for mobile devices"] = "Tema para dispositivos móviles";
+App::$strings["Allow Feeds as Connections"] = "Permitir contenidos RSS como conexiones";
+App::$strings["(Heavy system resource usage)"] = "(Uso intenso de los recursos del sistema)";
+App::$strings["Maximum image size"] = "Tamaño máximo de la imagen";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites.";
+App::$strings["Does this site allow new member registration?"] = "¿Debe este sitio permitir el registro de nuevos miembros?";
+App::$strings["Invitation only"] = "Solo con una invitación";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\".";
+App::$strings["Which best describes the types of account offered by this hub?"] = "¿Cómo describiría el tipo de servicio ofrecido por este servidor?";
+App::$strings["Register text"] = "Texto del registro";
+App::$strings["Will be displayed prominently on the registration page."] = "Se mostrará de forma destacada en la página de registro.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero.";
+App::$strings["Preserve site homepage URL"] = "Preservar la dirección de la página personal";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla.";
+App::$strings["Accounts abandoned after x days"] = "Cuentas abandonadas después de x días";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo.";
+App::$strings["Allowed friend domains"] = "Dominios amigos permitidos";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio.";
+App::$strings["Allowed email domains"] = "Se aceptan dominios de correo electrónico";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. ";
+App::$strings["Not allowed email domains"] = "No se permiten dominios de correo electrónico";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado.";
+App::$strings["Verify Email Addresses"] = "Verificar las direcciones de correo electrónico";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado).";
+App::$strings["Force publish"] = "Forzar la publicación";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio.";
+App::$strings["Import Public Streams"] = "Importar contenido público";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importar y permitir acceso al contenido público sacado de otros sitios. Advertencia: este contenido no está moderado, por lo que podría encontrar cosas inapropiadas u ofensivas.";
+App::$strings["Login on Homepage"] = "Iniciar sesión en la página personal";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido.";
+App::$strings["Enable context help"] = "Habilitar la ayuda contextual";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda.";
+App::$strings["Directory Server URL"] = "URL del servidor de directorio";
+App::$strings["Default directory server"] = "Servidor de directorio predeterminado";
+App::$strings["Proxy user"] = "Usuario del proxy";
+App::$strings["Proxy URL"] = "Dirección del proxy";
+App::$strings["Network timeout"] = "Tiempo de espera de la red";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)";
+App::$strings["Delivery interval"] = "Intervalo de entrega";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados.";
+App::$strings["Deliveries per process"] = "Intentos de envío por proceso";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5.";
+App::$strings["Poll interval"] = "Intervalo máximo de tiempo entre dos mensajes sucesivos";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Retrasar el intervalo de envío en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de entrega.";
+App::$strings["Maximum Load Average"] = "Carga media máxima";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Caducidad del contenido importado de otros sitios (en días)";
+App::$strings["0 for no expiration of imported content"] = "0 para que no caduque el contenido importado";
+App::$strings["Off"] = "Desactivado";
+App::$strings["On"] = "Activado";
+App::$strings["Lock feature %s"] = "Bloquear la funcionalidad %s";
+App::$strings["Manage Additional Features"] = "Gestionar las funcionalidades";
+App::$strings["No server found"] = "Servidor no encontrado";
+App::$strings["ID"] = "ID";
+App::$strings["for channel"] = "por canal";
+App::$strings["on server"] = "en el servidor";
+App::$strings["Server"] = "Servidor";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: ";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita.";
+App::$strings["Security"] = "Seguridad";
+App::$strings["Block public"] = "Bloquear páginas públicas";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP";
+App::$strings["Allow communications only from these sites"] = "Permitir la comunicación solo desde estos sitios";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
+App::$strings["Block communications from these sites"] = "Bloquear la comunicación desde estos sitios";
+App::$strings["Allow communications only from these channels"] = "Permitir la comunicación solo desde estos canales";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
+App::$strings["Block communications from these channels"] = "Bloquear la comunicación desde estos canales";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL).";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Permitir contenido HTML sin filtrar sólo desde estos dominios ";
+App::$strings["One site per line. By default embedded content is filtered."] = "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada.";
+App::$strings["Block embedded HTML from these domains"] = "Bloquear contenido con HTML incorporado desde estos dominios";
+App::$strings["Update has been marked successful"] = "La actualización ha sido marcada como exitosa";
+App::$strings["Executing %s failed. Check system logs."] = "La ejecución de %s ha fallado. Mirar en los informes del sistema.";
+App::$strings["Update %s was successfully applied."] = "La actualización de %s se ha realizado exitosamente.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito.";
+App::$strings["Update function %s could not be found."] = "No se encuentra la función de actualización de %s.";
+App::$strings["No failed updates."] = "No ha fallado ninguna actualización.";
+App::$strings["Failed Updates"] = "Han fallado las actualizaciones";
+App::$strings["Mark success (if update was manually applied)"] = "Marcar como exitosa (si la actualización se ha hecho manualmente)";
+App::$strings["Attempt to execute this update step automatically"] = "Intentar ejecutar este paso de actualización automáticamente";
+App::$strings["Queue Statistics"] = "Estadísticas de la cola";
+App::$strings["Total Entries"] = "Total de entradas";
+App::$strings["Priority"] = "Prioridad";
+App::$strings["Destination URL"] = "Dirección de destino";
+App::$strings["Mark hub permanently offline"] = "Marcar el servidor como permanentemente fuera de línea";
+App::$strings["Empty queue for this hub"] = "Vaciar la cola para este servidor";
+App::$strings["Last known contact"] = "Último contacto conocido";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s cuenta bloqueada/desbloqueada",
+ 1 => "%s cuenta bloqueada/desbloqueada",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s cuentas eliminadas",
+ 1 => "%s cuentas eliminadas",
+);
+App::$strings["Account not found"] = "Cuenta no encontrada";
+App::$strings["Account '%s' deleted"] = "La cuenta '%s' ha sido eliminada";
+App::$strings["Account '%s' blocked"] = "La cuenta '%s' ha sido bloqueada";
+App::$strings["Account '%s' unblocked"] = "La cuenta '%s' ha sido desbloqueada";
+App::$strings["Accounts"] = "Cuentas";
+App::$strings["select all"] = "seleccionar todo";
+App::$strings["Registrations waiting for confirm"] = "Inscripciones en espera de confirmación";
+App::$strings["Request date"] = "Fecha de solicitud";
+App::$strings["No registrations."] = "Sin registros.";
+App::$strings["Deny"] = "Rechazar";
+App::$strings["All Channels"] = "Todos los canales";
+App::$strings["Register date"] = "Fecha de registro";
+App::$strings["Last login"] = "Último acceso";
+App::$strings["Expires"] = "Caduca";
+App::$strings["Service Class"] = "Clase de servicio";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s canales censurados/no censurados",
+ 1 => "%s canales censurados/no censurados",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "%s código permitido/no permitido al canal",
+ 1 => "%s código permitido/no permitido al canal",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s canales eliminados",
+ 1 => "%s canales eliminados",
+);
+App::$strings["Channel not found"] = "Canal no encontrado";
+App::$strings["Channel '%s' deleted"] = "Canal '%s' eliminado";
+App::$strings["Channel '%s' censored"] = "Canal '%s' censurado";
+App::$strings["Channel '%s' uncensored"] = "Canal '%s' no censurado";
+App::$strings["Channel '%s' code allowed"] = "Código permitido al canal '%s'";
+App::$strings["Channel '%s' code disallowed"] = "Código no permitido al canal '%s'";
+App::$strings["Channels"] = "Canales";
+App::$strings["Censor"] = "Censurar";
+App::$strings["Uncensor"] = "No censurar";
+App::$strings["Allow Code"] = "Permitir código";
+App::$strings["Disallow Code"] = "No permitir código";
+App::$strings["Channel"] = "Canal";
+App::$strings["UID"] = "UID";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["Plugin %s disabled."] = "Extensión %s desactivada.";
+App::$strings["Plugin %s enabled."] = "Extensión %s activada.";
+App::$strings["Disable"] = "Desactivar";
+App::$strings["Enable"] = "Activar";
+App::$strings["Plugins"] = "Extensiones (plugins)";
+App::$strings["Toggle"] = "Cambiar";
+App::$strings["Settings"] = "Ajustes";
+App::$strings["Author: "] = "Autor:";
+App::$strings["Maintainer: "] = "Mantenedor:";
+App::$strings["Minimum project version: "] = "Versión mínima del proyecto:";
+App::$strings["Maximum project version: "] = "Versión máxima del proyecto:";
+App::$strings["Minimum PHP version: "] = "Versión mínima de PHP:";
+App::$strings["Requires: "] = "Se requiere:";
+App::$strings["Disabled - version incompatibility"] = "Deshabilitado - versiones incompatibles";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Escriba la URL pública del repositorio git del plugin.";
+App::$strings["Plugin repo git URL"] = "URL del repositorio git del plugin";
+App::$strings["Custom repo name"] = "Nombre personalizado del repositorio";
+App::$strings["(optional)"] = "(opcional)";
+App::$strings["Download Plugin Repo"] = "Descargar el repositorio";
+App::$strings["Install new repo"] = "Instalar un nuevo repositorio";
+App::$strings["Install"] = "Instalar";
+App::$strings["Manage Repos"] = "Gestionar los repositorios";
+App::$strings["Installed Plugin Repositories"] = "Repositorios de los plugins instalados";
+App::$strings["Install a New Plugin Repository"] = "Instalar un nuevo repositorio de plugins";
+App::$strings["Update"] = "Actualizar";
+App::$strings["Switch branch"] = "Cambiar la rama";
+App::$strings["No themes found."] = "No se han encontrado temas.";
+App::$strings["Screenshot"] = "Instantánea de pantalla";
+App::$strings["Themes"] = "Temas";
+App::$strings["[Experimental]"] = "[Experimental]";
+App::$strings["[Unsupported]"] = "[No soportado]";
+App::$strings["Log settings updated."] = "Actualizado el informe de configuraciones.";
+App::$strings["Logs"] = "Informes";
+App::$strings["Clear"] = "Vaciar";
+App::$strings["Debugging"] = "Depuración";
+App::$strings["Log file"] = "Fichero de informe";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal.";
+App::$strings["Log level"] = "Nivel de depuración";
+App::$strings["New Profile Field"] = "Nuevo campo en el perfil";
+App::$strings["Field nickname"] = "Alias del campo";
+App::$strings["System name of field"] = "Nombre del campo en el sistema";
+App::$strings["Input type"] = "Tipo de entrada";
+App::$strings["Field Name"] = "Nombre del campo";
+App::$strings["Label on profile pages"] = "Etiqueta a mostrar en la página del perfil";
+App::$strings["Help text"] = "Texto de ayuda";
+App::$strings["Additional info (optional)"] = "Información adicional (opcional)";
+App::$strings["Field definition not found"] = "Definición del campo no encontrada";
+App::$strings["Edit Profile Field"] = "Modificar el campo del perfil";
+App::$strings["Profile Fields"] = "Campos del perfil";
+App::$strings["Basic Profile Fields"] = "Campos básicos del perfil";
+App::$strings["Advanced Profile Fields"] = "Campos avanzados del perfil";
+App::$strings["(In addition to basic fields)"] = "(Además de los campos básicos)";
+App::$strings["All available fields"] = "Todos los campos disponibles";
+App::$strings["Custom Fields"] = "Campos personalizados";
+App::$strings["Create Custom Field"] = "Crear un campo personalizado";
+App::$strings["App installed."] = "Aplicación instalada.";
+App::$strings["Malformed app."] = "Aplicación con errores";
+App::$strings["Embed code"] = "Código incorporado";
+App::$strings["Edit App"] = "Modificar la aplicación";
+App::$strings["Create App"] = "Crear una aplicación";
+App::$strings["Name of app"] = "Nombre de la aplicación";
+App::$strings["Location (URL) of app"] = "Dirección (URL) de la aplicación";
+App::$strings["Photo icon URL"] = "Dirección del icono";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
+App::$strings["Categories (optional, comma separated list)"] = "Categorías (opcional, lista separada por comas)";
+App::$strings["Version ID"] = "Versión";
+App::$strings["Price of app"] = "Precio de la aplicación";
+App::$strings["Location (URL) to purchase app"] = "Dirección (URL) donde adquirir la aplicación";
App::$strings["Select a bookmark folder"] = "Seleccionar una carpeta de marcadores";
App::$strings["Save Bookmark"] = "Guardar marcador";
App::$strings["URL of bookmark"] = "Dirección del marcador";
@@ -1432,6 +1432,48 @@ App::$strings["Duplicate room name"] = "Nombre de sala duplicado.";
App::$strings["Invalid room specifier."] = "Especificador de sala no válido.";
App::$strings["Room not found."] = "Sala no encontrada.";
App::$strings["Room is full"] = "La sala está llena.";
+App::$strings["\$Projectname Notification"] = "Notificación de \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Gracias,";
+App::$strings["%s Administrator"] = "%s Administrador";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Aviso] Nuevo mensaje en %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s le ha enviado un nuevo mensaje privado en %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s le ha enviado %2\$s.";
+App::$strings["a private message"] = "un mensaje privado";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Por favor visite %s para ver y/o responder a su mensaje privado.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%5\$s de %4\$s[/zrl] ";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s creado por usted[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Aviso] Nuevo comentario de %2\$s a la conversación #%1\$d";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha comentado un elemento/conversación que ha estado siguiendo.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Para ver o comentar la conversación, visite %s";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha publicado en su página del perfil en %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha publicado en [zrl=%3\$s]su página del perfil[/zrl]";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Aviso] %s le ha etiquetado";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le ha etiquetado en %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Aviso] %1\$s le ha dado un toque";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le ha dado un toque en %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le ha dado un toque[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Aviso] %s ha etiquetado su publicación";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación en %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Aviso] Ha recibido una solicitud de conexión";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una nueva solicitud de conexión[/zrl] de %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Puede visitar su perfil en %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Por favor, visite %s para permitir o rechazar la solicitad de conexión.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Aviso] Ha recibido una sugerencia de amistad";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una sugerencia de conexión de '%2\$s' en %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una sugerencia de conexión[/zrl] para %3\$s de %4\$s.";
+App::$strings["Name:"] = "Nombre:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprobar o rechazar la sugerencia.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Aviso]";
+App::$strings["created a new post"] = "ha creado una nueva entrada";
+App::$strings["commented on %s's post"] = "ha comentado la entrada de %s";
App::$strings["Private Message"] = "Mensaje Privado";
App::$strings["Select"] = "Seleccionar";
App::$strings["Save to Folder"] = "Guardar en carpeta";
@@ -1477,76 +1519,251 @@ App::$strings["Code"] = "Código";
App::$strings["Image"] = "Imagen";
App::$strings["Insert Link"] = "Insertar enlace";
App::$strings["Video"] = "Vídeo";
-App::$strings["\$Projectname Notification"] = "Notificación de \$Projectname";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Gracias,";
-App::$strings["%s Administrator"] = "%s Administrador";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Aviso] Nuevo mensaje en %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s le ha enviado un nuevo mensaje privado en %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s le ha enviado %2\$s.";
-App::$strings["a private message"] = "un mensaje privado";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Por favor visite %s para ver y/o responder a su mensaje privado.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%5\$s de %4\$s[/zrl] ";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s creado por usted[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Aviso] Nuevo comentario de %2\$s a la conversación #%1\$d";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha comentado un elemento/conversación que ha estado siguiendo.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Para ver o comentar la conversación, visite %s";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha publicado en su página del perfil en %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha publicado en [zrl=%3\$s]su página del perfil[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Aviso] %s le ha etiquetado";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le ha etiquetado en %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Aviso] %1\$s le ha dado un toque";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le ha dado un toque en %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le ha dado un toque[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Aviso] %s ha etiquetado su publicación";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación en %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Aviso] Ha recibido una solicitud de conexión";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una nueva solicitud de conexión[/zrl] de %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Puede visitar su perfil en %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Por favor, visite %s para permitir o rechazar la solicitad de conexión.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Aviso] Ha recibido una sugerencia de amistad";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una sugerencia de conexión de '%2\$s' en %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una sugerencia de conexión[/zrl] para %3\$s de %4\$s.";
-App::$strings["Name:"] = "Nombre:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprobar o rechazar la sugerencia.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Aviso]";
-App::$strings["created a new post"] = "ha creado una nueva entrada";
-App::$strings["commented on %s's post"] = "ha comentado la entrada de %s";
App::$strings["No username found in import file."] = "No se ha encontrado el nombre de usuario en el fichero importado.";
App::$strings["Unable to create a unique channel address. Import failed."] = "No se ha podido crear una dirección de canal única. Ha fallado la importación.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "No se ha podido localizar información de DNS para el servidor de base de datos “%s”";
-App::$strings["view full size"] = "Ver en el tamaño original";
-App::$strings["Administrator"] = "Administrador";
-App::$strings["No Subject"] = "Sin asunto";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio";
-App::$strings["Image file is empty."] = "El fichero de imagen está vacío. ";
-App::$strings["Photo storage failed."] = "La foto no ha podido ser guardada.";
-App::$strings["a new photo"] = "una nueva foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha publicado %2\$s en %3\$s";
-App::$strings["Photo Albums"] = "Álbumes de fotos";
-App::$strings["Upload New Photos"] = "Subir nuevas fotos";
+App::$strings["Categories"] = "Categorías";
+App::$strings["Tags"] = "Etiquetas";
+App::$strings["Keywords"] = "Palabras clave";
+App::$strings["have"] = "tener";
+App::$strings["has"] = "tiene";
+App::$strings["want"] = "quiero";
+App::$strings["wants"] = "quiere";
+App::$strings["likes"] = "gusta de";
+App::$strings["dislikes"] = "no gusta de";
+App::$strings["l F d, Y \\@ g:i A"] = "l d de F, Y \\@ G:i";
+App::$strings["Starts:"] = "Comienza:";
+App::$strings["Finishes:"] = "Finaliza:";
+App::$strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario.";
+App::$strings["Not specified"] = "Sin especificar";
+App::$strings["Needs Action"] = "Necesita de una intervención";
+App::$strings["Completed"] = "Completado/a";
+App::$strings["In Process"] = "En proceso";
+App::$strings["Cancelled"] = "Cancelado/a";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
+App::$strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
+App::$strings["(Unknown)"] = "(Desconocido)";
+App::$strings["Visible to anybody on the internet."] = "Visible para cualquiera en internet.";
+App::$strings["Visible to you only."] = "Visible sólo para usted.";
+App::$strings["Visible to anybody in this network."] = "Visible para cualquiera en esta red.";
+App::$strings["Visible to anybody authenticated."] = "Visible para cualquiera que esté autenticado.";
+App::$strings["Visible to anybody on %s."] = "Visible para cualquiera en %s.";
+App::$strings["Visible to all connections."] = "Visible para todas las conexiones.";
+App::$strings["Visible to approved connections."] = "Visible para las conexiones permitidas.";
+App::$strings["Visible to specific connections."] = "Visible para conexiones específicas.";
+App::$strings["Privacy group is empty."] = "El grupo de canales está vacío.";
+App::$strings["Privacy group: %s"] = "Grupo de canales: %s";
+App::$strings["Connection not found."] = "Conexión no encontrada";
+App::$strings["profile photo"] = "foto del perfil";
+App::$strings["No recipient provided."] = "No se ha especificado ningún destinatario.";
+App::$strings["[no subject]"] = "[sin asunto]";
+App::$strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. ";
+App::$strings["Stored post could not be verified."] = "No se han podido verificar las publicaciones guardadas.";
+App::$strings["prev"] = "anterior";
+App::$strings["first"] = "primera";
+App::$strings["last"] = "última";
+App::$strings["next"] = "próxima";
+App::$strings["older"] = "más antiguas";
+App::$strings["newer"] = "más recientes";
+App::$strings["No connections"] = "Sin conexiones";
+App::$strings["View all %s connections"] = "Ver todas las %s conexiones";
+App::$strings["poke"] = "un toque";
+App::$strings["poked"] = "ha dado un toque a";
+App::$strings["ping"] = "un \"ping\"";
+App::$strings["pinged"] = "ha enviado un \"ping\" a";
+App::$strings["prod"] = "una incitación ";
+App::$strings["prodded"] = "ha incitado a ";
+App::$strings["slap"] = "una bofetada ";
+App::$strings["slapped"] = "ha abofeteado a ";
+App::$strings["finger"] = "un \"finger\" ";
+App::$strings["fingered"] = "envió un \"finger\" a";
+App::$strings["rebuff"] = "un reproche";
+App::$strings["rebuffed"] = "ha hecho un reproche a ";
+App::$strings["happy"] = "feliz ";
+App::$strings["sad"] = "triste ";
+App::$strings["mellow"] = "tranquilo/a";
+App::$strings["tired"] = "cansado/a ";
+App::$strings["perky"] = "vivaz";
+App::$strings["angry"] = "enfadado/a";
+App::$strings["stupefied"] = "asombrado/a";
+App::$strings["puzzled"] = "perplejo/a";
+App::$strings["interested"] = "interesado/a";
+App::$strings["bitter"] = "amargado/a";
+App::$strings["cheerful"] = "alegre";
+App::$strings["alive"] = "animado/a";
+App::$strings["annoyed"] = "molesto/a";
+App::$strings["anxious"] = "ansioso/a";
+App::$strings["cranky"] = "de mal humor";
+App::$strings["disturbed"] = "perturbado/a";
+App::$strings["frustrated"] = "frustrado/a";
+App::$strings["depressed"] = "deprimido/a";
+App::$strings["motivated"] = "motivado/a";
+App::$strings["relaxed"] = "relajado/a";
+App::$strings["surprised"] = "sorprendido/a";
+App::$strings["Monday"] = "lunes";
+App::$strings["Tuesday"] = "martes";
+App::$strings["Wednesday"] = "miércoles";
+App::$strings["Thursday"] = "jueves";
+App::$strings["Friday"] = "viernes";
+App::$strings["Saturday"] = "sábado";
+App::$strings["Sunday"] = "domingo";
+App::$strings["January"] = "enero";
+App::$strings["February"] = "febrero";
+App::$strings["March"] = "marzo";
+App::$strings["April"] = "abril";
+App::$strings["May"] = "mayo";
+App::$strings["June"] = "junio";
+App::$strings["July"] = "julio";
+App::$strings["August"] = "agosto";
+App::$strings["September"] = "septiembre";
+App::$strings["October"] = "octubre";
+App::$strings["November"] = "noviembre";
+App::$strings["December"] = "diciembre";
+App::$strings["Unknown Attachment"] = "Adjunto no reconocido";
+App::$strings["unknown"] = "desconocido";
+App::$strings["remove category"] = "eliminar categoría";
+App::$strings["remove from file"] = "eliminar del fichero";
+App::$strings["default"] = "por defecto";
+App::$strings["Page layout"] = "Plantilla de la página";
+App::$strings["You can create your own with the layouts tool"] = "Puede crear su propia disposición gráfica con la herramienta de plantillas";
+App::$strings["Page content type"] = "Tipo de contenido de la página";
+App::$strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
+App::$strings["activity"] = "la actividad";
+App::$strings["Design Tools"] = "Herramientas de diseño web";
+App::$strings["Pages"] = "Páginas";
+App::$strings["System"] = "Sistema";
+App::$strings["New App"] = "Nueva aplicación (app)";
+App::$strings["Suggestions"] = "Sugerencias";
+App::$strings["See more..."] = "Ver más...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
+App::$strings["Add New Connection"] = "Añadir nueva conexión";
+App::$strings["Enter channel address"] = "Dirección del canal";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen";
+App::$strings["Notes"] = "Notas";
+App::$strings["Remove term"] = "Eliminar término";
+App::$strings["Saved Searches"] = "Búsquedas guardadas";
+App::$strings["add"] = "añadir";
+App::$strings["Saved Folders"] = "Carpetas guardadas";
+App::$strings["Everything"] = "Todo";
+App::$strings["Archives"] = "Hemeroteca";
+App::$strings["Refresh"] = "Recargar";
+App::$strings["Account settings"] = "Configuración de la cuenta";
+App::$strings["Channel settings"] = "Configuración del canal";
+App::$strings["Additional features"] = "Funcionalidades";
+App::$strings["Feature/Addon settings"] = "Complementos";
+App::$strings["Display settings"] = "Ajustes de visualización";
+App::$strings["Manage locations"] = "Gestión de ubicaciones (clones) del canal";
+App::$strings["Export channel"] = "Exportar canal";
+App::$strings["Connected apps"] = "Aplicaciones (apps) conectadas";
+App::$strings["Premium Channel Settings"] = "Configuración del canal premium";
+App::$strings["Private Mail Menu"] = "Menú de correo privado";
+App::$strings["Combined View"] = "Vista combinada";
+App::$strings["Inbox"] = "Bandeja de entrada";
+App::$strings["Outbox"] = "Bandeja de salida";
+App::$strings["New Message"] = "Nuevo mensaje";
+App::$strings["Conversations"] = "Conversaciones";
+App::$strings["Received Messages"] = "Mensajes recibidos";
+App::$strings["Sent Messages"] = "Enviar mensajes";
+App::$strings["No messages."] = "Sin mensajes.";
+App::$strings["Delete conversation"] = "Eliminar conversación";
+App::$strings["Events Menu"] = "Menú de eventos";
+App::$strings["Day View"] = "Eventos del día";
+App::$strings["Week View"] = "Eventos de la semana";
+App::$strings["Month View"] = "Eventos del mes";
+App::$strings["Events Tools"] = "Gestión de eventos";
+App::$strings["Export Calendar"] = "Exportar el calendario";
+App::$strings["Import Calendar"] = "Importar un calendario";
+App::$strings["Chatrooms"] = "Salas de chat";
+App::$strings["Overview"] = "Resumen";
+App::$strings["Chat Members"] = "Miembros del chat";
+App::$strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
+App::$strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
+App::$strings["photo/image"] = "foto/imagen";
+App::$strings["Click to show more"] = "Hacer clic para ver más";
+App::$strings["Rating Tools"] = "Valoraciones";
+App::$strings["Rate Me"] = "Valorar este canal";
+App::$strings["View Ratings"] = "Mostrar las valoraciones";
+App::$strings["Forums"] = "Foros";
+App::$strings["Tasks"] = "Tareas";
+App::$strings["Documentation"] = "Documentación";
+App::$strings["Project/Site Information"] = "Información sobre el proyecto o sitio";
+App::$strings["For Members"] = "Para los miembros";
+App::$strings["For Administrators"] = "Para los administradores";
+App::$strings["For Developers"] = "Para los desarrolladores";
+App::$strings["Member registrations waiting for confirmation"] = "Inscripciones de nuevos miembros pendientes de aprobación";
+App::$strings["Inspect queue"] = "Examinar la cola";
+App::$strings["DB updates"] = "Actualizaciones de la base de datos";
+App::$strings["Admin"] = "Administrador";
+App::$strings["Plugin Features"] = "Extensiones";
+App::$strings["Channel is blocked on this site."] = "El canal está bloqueado en este sitio.";
+App::$strings["Channel location missing."] = "Falta la dirección del canal.";
+App::$strings["Response from remote channel was incomplete."] = "Respuesta incompleta del canal.";
+App::$strings["Channel was deleted and no longer exists."] = "El canal ha sido eliminado y ya no existe.";
+App::$strings["Protocol disabled."] = "Protocolo deshabilitado.";
+App::$strings["Channel discovery failed."] = "El intento de acceder al canal ha fallado.";
+App::$strings["Cannot connect to yourself."] = "No puede conectarse consigo mismo.";
+App::$strings["%1\$s's bookmarks"] = "Marcadores de %1\$s";
+App::$strings["Public Timeline"] = "Cronología pública";
+App::$strings["Image/photo"] = "Imagen/foto";
+App::$strings["Encrypted content"] = "Contenido cifrado";
+App::$strings["Install %s element: "] = "Instalar el elemento %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió %2\$s siguiente %3\$s";
+App::$strings["Click to open/close"] = "Pulsar para abrir/cerrar";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta";
+App::$strings["$1 wrote:"] = "$1 escribió:";
+App::$strings["Directory Options"] = "Opciones del directorio";
+App::$strings["Safe Mode"] = "Modo seguro";
+App::$strings["Public Forums Only"] = "Solo foros públicos";
+App::$strings["This Website Only"] = "Solo este sitio web";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado";
+App::$strings["Logout"] = "Finalizar sesión";
+App::$strings["End this session"] = "Finalizar esta sesión";
+App::$strings["Home"] = "Inicio";
+App::$strings["Your posts and conversations"] = "Sus publicaciones y conversaciones";
+App::$strings["Your profile page"] = "Su página del perfil";
+App::$strings["Manage/Edit profiles"] = "Administrar/editar perfiles";
+App::$strings["Edit Profile"] = "Editar el perfil";
+App::$strings["Edit your profile"] = "Editar su perfil";
+App::$strings["Your photos"] = "Sus fotos";
+App::$strings["Your files"] = "Sus ficheros";
+App::$strings["Your chatrooms"] = "Sus salas de chat";
+App::$strings["Bookmarks"] = "Marcadores";
+App::$strings["Your bookmarks"] = "Sus marcadores";
+App::$strings["Your webpages"] = "Sus páginas web";
+App::$strings["Sign in"] = "Acceder";
+App::$strings["%s - click to logout"] = "%s - pulsar para finalizar sesión";
+App::$strings["Remote authentication"] = "Acceder desde su servidor";
+App::$strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio";
+App::$strings["Home Page"] = "Página de inicio";
+App::$strings["Create an account"] = "Crear una cuenta";
+App::$strings["Help and documentation"] = "Ayuda y documentación";
+App::$strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido";
+App::$strings["Channel Directory"] = "Directorio de canales";
+App::$strings["Your grid"] = "Mi red";
+App::$strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas";
+App::$strings["Channel home"] = "Mi canal";
+App::$strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas";
+App::$strings["Notices"] = "Avisos";
+App::$strings["Notifications"] = "Notificaciones";
+App::$strings["See all notifications"] = "Ver todas las notificaciones";
+App::$strings["Private mail"] = "Correo privado";
+App::$strings["See all private messages"] = "Ver todas los mensajes privados";
+App::$strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos";
+App::$strings["Event Calendar"] = "Calendario de eventos";
+App::$strings["See all events"] = "Ver todos los eventos";
+App::$strings["Mark all events seen"] = "Marcar todos los eventos como leidos";
+App::$strings["Manage Your Channels"] = "Gestionar sus canales";
+App::$strings["Account/Channel Settings"] = "Ajustes de cuenta/canales";
+App::$strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio";
+App::$strings["Loading..."] = "Cargando...";
+App::$strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido";
+App::$strings["Please wait..."] = "Espere por favor…";
App::$strings["New window"] = "Nueva ventana";
App::$strings["Open the selected location in a different window or browser tab"] = "Abrir la dirección seleccionada en una ventana o pestaña aparte";
App::$strings["User '%s' deleted"] = "El usuario '%s' ha sido eliminado";
-App::$strings["Embedded content"] = "Contenido incorporado";
-App::$strings["Embedding disabled"] = "Incrustación deshabilitada";
App::$strings["%d invitation available"] = array(
0 => "%d invitación pendiente",
1 => "%d invitaciones disponibles",
@@ -1558,9 +1775,6 @@ App::$strings["Examples: Robert Morgenstein, Fishing"] = "Ejemplos: José Ferná
App::$strings["Random Profile"] = "Perfil aleatorio";
App::$strings["Invite Friends"] = "Invitar a amigos";
App::$strings["Advanced example: name=fred and country=iceland"] = "Ejemplo avanzado: nombre=juan y país=españa";
-App::$strings["Saved Folders"] = "Carpetas guardadas";
-App::$strings["Everything"] = "Todo";
-App::$strings["Categories"] = "Categorías";
App::$strings["%d connection in common"] = array(
0 => "%d conexión en común",
1 => "%d conexiones en común",
@@ -1568,13 +1782,11 @@ App::$strings["%d connection in common"] = array(
App::$strings["show more"] = "mostrar más";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
App::$strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
-App::$strings["poked"] = "ha dado un toque a";
App::$strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
App::$strings["Categories:"] = "Categorías:";
App::$strings["Filed under:"] = "Archivado bajo:";
App::$strings["View in context"] = "Mostrar en su contexto";
App::$strings["remove"] = "eliminar";
-App::$strings["Loading..."] = "Cargando...";
App::$strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
App::$strings["View Source"] = "Ver el código fuente de la entrada";
App::$strings["Follow Thread"] = "Seguir este hilo";
@@ -1624,9 +1836,8 @@ App::$strings["Posts flagged as SPAM"] = "Publicaciones marcadas como basura";
App::$strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
App::$strings["About"] = "Mi perfil";
App::$strings["Profile Details"] = "Detalles del perfil";
+App::$strings["Photo Albums"] = "Álbumes de fotos";
App::$strings["Files and Storage"] = "Ficheros y repositorio";
-App::$strings["Chatrooms"] = "Salas de chat";
-App::$strings["Bookmarks"] = "Marcadores";
App::$strings["Saved Bookmarks"] = "Marcadores guardados";
App::$strings["Manage Webpages"] = "Administrar páginas web";
App::$strings["__ctx:noun__ Attending"] = array(
@@ -1653,19 +1864,6 @@ App::$strings["__ctx:noun__ Abstain"] = array(
0 => "se abstiene",
1 => "Se abstienen",
);
-App::$strings["l F d, Y \\@ g:i A"] = "l d de F, Y \\@ G:i";
-App::$strings["Starts:"] = "Comienza:";
-App::$strings["Finishes:"] = "Finaliza:";
-App::$strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario.";
-App::$strings["Not specified"] = "Sin especificar";
-App::$strings["Needs Action"] = "Necesita de una intervención";
-App::$strings["Completed"] = "Completado/a";
-App::$strings["In Process"] = "En proceso";
-App::$strings["Cancelled"] = "Cancelado/a";
-App::$strings["No recipient provided."] = "No se ha especificado ningún destinatario.";
-App::$strings["[no subject]"] = "[sin asunto]";
-App::$strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. ";
-App::$strings["Stored post could not be verified."] = "No se han podido verificar las publicaciones guardadas.";
App::$strings["Frequently"] = "Frecuentemente";
App::$strings["Hourly"] = "Cada hora";
App::$strings["Twice daily"] = "Dos veces al día";
@@ -1727,16 +1925,38 @@ App::$strings["Uncertain"] = "Indeterminado";
App::$strings["It's complicated"] = "Es complicado";
App::$strings["Don't care"] = "No me importa";
App::$strings["Ask me"] = "Pregúnteme";
-App::$strings["Image/photo"] = "Imagen/foto";
-App::$strings["Encrypted content"] = "Contenido cifrado";
-App::$strings["Install %s element: "] = "Instalar el elemento %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió %2\$s siguiente %3\$s";
-App::$strings["Click to open/close"] = "Pulsar para abrir/cerrar";
-App::$strings["spoiler"] = "spoiler";
-App::$strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta";
-App::$strings["$1 wrote:"] = "$1 escribió:";
-App::$strings["%1\$s's bookmarks"] = "Marcadores de %1\$s";
+App::$strings["Visible to your default audience"] = "Visible para su público predeterminado.";
+App::$strings["Only me"] = "Sólo yo";
+App::$strings["Public"] = "Público";
+App::$strings["Anybody in the \$Projectname network"] = "Cualquiera en la red \$Projectname";
+App::$strings["Any account on %s"] = "Cualquier cuenta en %s";
+App::$strings["Any of my connections"] = "Cualquiera de mis conexiones";
+App::$strings["Only connections I specifically allow"] = "Sólo las conexiones que yo permita de forma explícita";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones.";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado";
+App::$strings["This is your default setting for who can view your connections"] = "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos";
+App::$strings["This is your default setting for the audience of your webpages"] = "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web";
+App::$strings["Not a valid email address"] = "Dirección de correo no válida";
+App::$strings["Your email domain is not among those allowed on this site"] = "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio.";
+App::$strings["Your email address is already registered at this site."] = "Su dirección de correo está ya registrada en este sitio.";
+App::$strings["An invitation is required."] = "Es obligatorio que le inviten.";
+App::$strings["Invitation could not be verified."] = "No se ha podido verificar su invitación.";
+App::$strings["Please enter the required information."] = "Por favor introduzca la información requerida.";
+App::$strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar.";
+App::$strings["Registration confirmation for %s"] = "Confirmación de registro para %s";
+App::$strings["Registration request at %s"] = "Solicitud de registro en %s";
+App::$strings["Administrator"] = "Administrador";
+App::$strings["your registration password"] = "su contraseña de registro";
+App::$strings["Registration details for %s"] = "Detalles del registro de %s";
+App::$strings["Account approved."] = "Cuenta aprobada.";
+App::$strings["Registration revoked for %s"] = "Registro revocado para %s";
+App::$strings["Account verified. Please login."] = "Cuenta verificada. Por favor, inicie sesión.";
+App::$strings["Click here to upgrade."] = "Pulse aquí para actualizar";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Esta acción supera los límites establecidos por su plan de suscripción ";
+App::$strings["This action is not available under your subscription plan."] = "Esta acción no está disponible en su plan de suscripción.";
App::$strings["Item was not found."] = "Elemento no encontrado.";
App::$strings["No source file."] = "Ningún fichero de origen";
App::$strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido.";
@@ -1763,7 +1983,6 @@ App::$strings["Unable to retrieve created identity"] = "No ha sido posible recup
App::$strings["Default Profile"] = "Perfil principal";
App::$strings["Requested channel is not available."] = "El canal solicitado no está disponible.";
App::$strings["Create New Profile"] = "Crear un nuevo perfil";
-App::$strings["Edit Profile"] = "Editar el perfil";
App::$strings["Visible to everybody"] = "Visible para todos";
App::$strings["Gender:"] = "Género:";
App::$strings["Status:"] = "Estado:";
@@ -1791,196 +2010,6 @@ App::$strings["Love/Romance:"] = "Vida sentimental o amorosa:";
App::$strings["Work/employment:"] = "Trabajo:";
App::$strings["School/education:"] = "Estudios:";
App::$strings["Like this thing"] = "Me gusta esto";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado";
-App::$strings["Logout"] = "Finalizar sesión";
-App::$strings["End this session"] = "Finalizar esta sesión";
-App::$strings["Home"] = "Inicio";
-App::$strings["Your posts and conversations"] = "Sus publicaciones y conversaciones";
-App::$strings["Your profile page"] = "Su página del perfil";
-App::$strings["Manage/Edit profiles"] = "Administrar/editar perfiles";
-App::$strings["Edit your profile"] = "Editar su perfil";
-App::$strings["Your photos"] = "Sus fotos";
-App::$strings["Your files"] = "Sus ficheros";
-App::$strings["Your chatrooms"] = "Sus salas de chat";
-App::$strings["Your bookmarks"] = "Sus marcadores";
-App::$strings["Your webpages"] = "Sus páginas web";
-App::$strings["Sign in"] = "Acceder";
-App::$strings["%s - click to logout"] = "%s - pulsar para finalizar sesión";
-App::$strings["Remote authentication"] = "Acceder desde su servidor";
-App::$strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio";
-App::$strings["Home Page"] = "Página de inicio";
-App::$strings["Create an account"] = "Crear una cuenta";
-App::$strings["Help and documentation"] = "Ayuda y documentación";
-App::$strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido";
-App::$strings["Channel Directory"] = "Directorio de canales";
-App::$strings["Your grid"] = "Mi red";
-App::$strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas";
-App::$strings["Channel home"] = "Mi canal";
-App::$strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas";
-App::$strings["Notices"] = "Avisos";
-App::$strings["Notifications"] = "Notificaciones";
-App::$strings["See all notifications"] = "Ver todas las notificaciones";
-App::$strings["Private mail"] = "Correo privado";
-App::$strings["See all private messages"] = "Ver todas los mensajes privados";
-App::$strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos";
-App::$strings["Inbox"] = "Bandeja de entrada";
-App::$strings["Outbox"] = "Bandeja de salida";
-App::$strings["New Message"] = "Nuevo mensaje";
-App::$strings["Event Calendar"] = "Calendario de eventos";
-App::$strings["See all events"] = "Ver todos los eventos";
-App::$strings["Mark all events seen"] = "Marcar todos los eventos como leidos";
-App::$strings["Manage Your Channels"] = "Gestionar sus canales";
-App::$strings["Account/Channel Settings"] = "Ajustes de cuenta/canales";
-App::$strings["Admin"] = "Administrador";
-App::$strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio";
-App::$strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido";
-App::$strings["Please wait..."] = "Espere por favor…";
-App::$strings["System"] = "Sistema";
-App::$strings["New App"] = "Nueva aplicación (app)";
-App::$strings["Suggestions"] = "Sugerencias";
-App::$strings["See more..."] = "Ver más...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
-App::$strings["Add New Connection"] = "Añadir nueva conexión";
-App::$strings["Enter channel address"] = "Dirección del canal";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen";
-App::$strings["Notes"] = "Notas";
-App::$strings["Remove term"] = "Eliminar término";
-App::$strings["Saved Searches"] = "Búsquedas guardadas";
-App::$strings["add"] = "añadir";
-App::$strings["Archives"] = "Hemeroteca";
-App::$strings["Refresh"] = "Recargar";
-App::$strings["Account settings"] = "Configuración de la cuenta";
-App::$strings["Channel settings"] = "Configuración del canal";
-App::$strings["Additional features"] = "Funcionalidades";
-App::$strings["Feature/Addon settings"] = "Complementos";
-App::$strings["Display settings"] = "Ajustes de visualización";
-App::$strings["Manage locations"] = "Gestión de ubicaciones (clones) del canal";
-App::$strings["Export channel"] = "Exportar canal";
-App::$strings["Connected apps"] = "Aplicaciones (apps) conectadas";
-App::$strings["Premium Channel Settings"] = "Configuración del canal premium";
-App::$strings["Private Mail Menu"] = "Menú de correo privado";
-App::$strings["Combined View"] = "Vista combinada";
-App::$strings["Conversations"] = "Conversaciones";
-App::$strings["Received Messages"] = "Mensajes recibidos";
-App::$strings["Sent Messages"] = "Enviar mensajes";
-App::$strings["No messages."] = "Sin mensajes.";
-App::$strings["Delete conversation"] = "Eliminar conversación";
-App::$strings["Events Menu"] = "Menú de eventos";
-App::$strings["Day View"] = "Eventos del día";
-App::$strings["Week View"] = "Eventos de la semana";
-App::$strings["Month View"] = "Eventos del mes";
-App::$strings["Events Tools"] = "Gestión de eventos";
-App::$strings["Export Calendar"] = "Exportar el calendario";
-App::$strings["Import Calendar"] = "Importar un calendario";
-App::$strings["Overview"] = "Resumen";
-App::$strings["Chat Members"] = "Miembros del chat";
-App::$strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
-App::$strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
-App::$strings["photo/image"] = "foto/imagen";
-App::$strings["Click to show more"] = "Hacer clic para ver más";
-App::$strings["Rating Tools"] = "Valoraciones";
-App::$strings["Rate Me"] = "Valorar este canal";
-App::$strings["View Ratings"] = "Mostrar las valoraciones";
-App::$strings["Forums"] = "Foros";
-App::$strings["Tasks"] = "Tareas";
-App::$strings["Documentation"] = "Documentación";
-App::$strings["Project/Site Information"] = "Información sobre el proyecto o sitio";
-App::$strings["For Members"] = "Para los miembros";
-App::$strings["For Administrators"] = "Para los administradores";
-App::$strings["For Developers"] = "Para los desarrolladores";
-App::$strings["Accounts"] = "Cuentas";
-App::$strings["Member registrations waiting for confirmation"] = "Inscripciones de nuevos miembros pendientes de aprobación";
-App::$strings["Inspect queue"] = "Examinar la cola";
-App::$strings["DB updates"] = "Actualizaciones de la base de datos";
-App::$strings["Plugin Features"] = "Extensiones";
-App::$strings["Visible to your default audience"] = "Visible para su público predeterminado.";
-App::$strings["Only me"] = "Sólo yo";
-App::$strings["Who can see this?"] = "¿Quién puede ver esto?";
-App::$strings["Custom selection"] = "Selección personalizada";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\".";
-App::$strings["Show"] = "Mostrar";
-App::$strings["Don't show"] = "No mostrar";
-App::$strings["Other networks and post services"] = "Otras redes y servicios de publicación";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje.";
-App::$strings["Birthday"] = "Cumpleaños";
-App::$strings["Age: "] = "Edad:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD";
-App::$strings["never"] = "nunca";
-App::$strings["less than a second ago"] = "hace un instante";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "año",
- 1 => "años",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "mes",
- 1 => "meses",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "semana",
- 1 => "semanas",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "día",
- 1 => "días",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "hora",
- 1 => "horas",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minuto",
- 1 => "minutos",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "segundo",
- 1 => "segundos",
-);
-App::$strings["%1\$s's birthday"] = "Cumpleaños de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s";
-App::$strings["Not a valid email address"] = "Dirección de correo no válida";
-App::$strings["Your email domain is not among those allowed on this site"] = "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio.";
-App::$strings["Your email address is already registered at this site."] = "Su dirección de correo está ya registrada en este sitio.";
-App::$strings["An invitation is required."] = "Es obligatorio que le inviten.";
-App::$strings["Invitation could not be verified."] = "No se ha podido verificar su invitación.";
-App::$strings["Please enter the required information."] = "Por favor introduzca la información requerida.";
-App::$strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar.";
-App::$strings["Registration confirmation for %s"] = "Confirmación de registro para %s";
-App::$strings["Registration request at %s"] = "Solicitud de registro en %s";
-App::$strings["your registration password"] = "su contraseña de registro";
-App::$strings["Registration details for %s"] = "Detalles del registro de %s";
-App::$strings["Account approved."] = "Cuenta aprobada.";
-App::$strings["Registration revoked for %s"] = "Registro revocado para %s";
-App::$strings["Account verified. Please login."] = "Cuenta verificada. Por favor, inicie sesión.";
-App::$strings["Click here to upgrade."] = "Pulse aquí para actualizar";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Esta acción supera los límites establecidos por su plan de suscripción ";
-App::$strings["This action is not available under your subscription plan."] = "Esta acción no está disponible en su plan de suscripción.";
-App::$strings["Public Timeline"] = "Cronología pública";
-App::$strings["Logged out."] = "Desconectado/a.";
-App::$strings["Failed authentication"] = "Autenticación fallida.";
-App::$strings["Channel is blocked on this site."] = "El canal está bloqueado en este sitio.";
-App::$strings["Channel location missing."] = "Falta la dirección del canal.";
-App::$strings["Response from remote channel was incomplete."] = "Respuesta incompleta del canal.";
-App::$strings["Channel was deleted and no longer exists."] = "El canal ha sido eliminado y ya no existe.";
-App::$strings["Protocol disabled."] = "Protocolo deshabilitado.";
-App::$strings["Channel discovery failed."] = "El intento de acceder al canal ha fallado.";
-App::$strings["Cannot connect to yourself."] = "No puede conectarse consigo mismo.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
-App::$strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
-App::$strings["(Unknown)"] = "(Desconocido)";
-App::$strings["Visible to anybody on the internet."] = "Visible para cualquiera en internet.";
-App::$strings["Visible to you only."] = "Visible sólo para usted.";
-App::$strings["Visible to anybody in this network."] = "Visible para cualquiera en esta red.";
-App::$strings["Visible to anybody authenticated."] = "Visible para cualquiera que esté autenticado.";
-App::$strings["Visible to anybody on %s."] = "Visible para cualquiera en %s.";
-App::$strings["Visible to all connections."] = "Visible para todas las conexiones.";
-App::$strings["Visible to approved connections."] = "Visible para las conexiones permitidas.";
-App::$strings["Visible to specific connections."] = "Visible para conexiones específicas.";
-App::$strings["Privacy group is empty."] = "El grupo de canales está vacío.";
-App::$strings["Privacy group: %s"] = "Grupo de canales: %s";
-App::$strings["Connection not found."] = "Conexión no encontrada";
-App::$strings["profile photo"] = "foto del perfil";
App::$strings["General Features"] = "Funcionalidades básicas";
App::$strings["Content Expiration"] = "Caducidad del contenido";
App::$strings["Remove posts/comments and/or private messages at a future time"] = "Eliminar publicaciones/comentarios y/o mensajes privados más adelante";
@@ -2040,6 +2069,8 @@ App::$strings["Community Tagging"] = "Etiquetas de la comunidad";
App::$strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes";
App::$strings["Post Categories"] = "Categorías de entradas";
App::$strings["Add categories to your posts"] = "Añadir categorías a sus publicaciones";
+App::$strings["Emoji Reactions"] = "Emoticonos \"emoji\"";
+App::$strings["Add emoji reaction ability to posts"] = "Activar la capacidad de añadir un emoticono \"emoji\" a las entradas";
App::$strings["Ability to file posts under folders"] = "Capacidad de archivar entradas en carpetas";
App::$strings["Dislike Posts"] = "Desagrado de publicaciones";
App::$strings["Ability to dislike posts/comments"] = "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios";
@@ -2047,95 +2078,59 @@ App::$strings["Star Posts"] = "Entradas destacadas";
App::$strings["Ability to mark special posts with a star indicator"] = "Capacidad de marcar entradas destacadas con un indicador de estrella";
App::$strings["Tag Cloud"] = "Nube de etiquetas";
App::$strings["Provide a personal tag cloud on your channel page"] = "Proveer nube de etiquetas personal en su página de canal";
+App::$strings["Embedded content"] = "Contenido incorporado";
+App::$strings["Embedding disabled"] = "Incrustación deshabilitada";
+App::$strings["Who can see this?"] = "¿Quién puede ver esto?";
+App::$strings["Custom selection"] = "Selección personalizada";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\".";
+App::$strings["Show"] = "Mostrar";
+App::$strings["Don't show"] = "No mostrar";
+App::$strings["Other networks and post services"] = "Otras redes y servicios de publicación";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje.";
+App::$strings["Logged out."] = "Desconectado/a.";
+App::$strings["Failed authentication"] = "Autenticación fallida.";
+App::$strings["Birthday"] = "Cumpleaños";
+App::$strings["Age: "] = "Edad:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD";
+App::$strings["never"] = "nunca";
+App::$strings["less than a second ago"] = "hace un instante";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "año",
+ 1 => "años",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "mes",
+ 1 => "meses",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "semana",
+ 1 => "semanas",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "día",
+ 1 => "días",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "hora",
+ 1 => "horas",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuto",
+ 1 => "minutos",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "segundo",
+ 1 => "segundos",
+);
+App::$strings["%1\$s's birthday"] = "Cumpleaños de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s";
App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente.";
App::$strings["Add new connections to this privacy group"] = "Añadir conexiones nuevas a este grupo de canales";
App::$strings["edit"] = "editar";
App::$strings["Edit group"] = "Editar grupo";
App::$strings["Add privacy group"] = "Añadir un grupo de canales";
App::$strings["Channels not in any privacy group"] = "Sin canales en ningún grupo";
-App::$strings["prev"] = "anterior";
-App::$strings["first"] = "primera";
-App::$strings["last"] = "última";
-App::$strings["next"] = "próxima";
-App::$strings["older"] = "más antiguas";
-App::$strings["newer"] = "más recientes";
-App::$strings["No connections"] = "Sin conexiones";
-App::$strings["View all %s connections"] = "Ver todas las %s conexiones";
-App::$strings["poke"] = "un toque";
-App::$strings["ping"] = "un \"ping\"";
-App::$strings["pinged"] = "ha enviado un \"ping\" a";
-App::$strings["prod"] = "una incitación ";
-App::$strings["prodded"] = "ha incitado a ";
-App::$strings["slap"] = "una bofetada ";
-App::$strings["slapped"] = "ha abofeteado a ";
-App::$strings["finger"] = "un \"finger\" ";
-App::$strings["fingered"] = "envió un \"finger\" a";
-App::$strings["rebuff"] = "un reproche";
-App::$strings["rebuffed"] = "ha hecho un reproche a ";
-App::$strings["happy"] = "feliz ";
-App::$strings["sad"] = "triste ";
-App::$strings["mellow"] = "tranquilo/a";
-App::$strings["tired"] = "cansado/a ";
-App::$strings["perky"] = "vivaz";
-App::$strings["angry"] = "enfadado/a";
-App::$strings["stupefied"] = "asombrado/a";
-App::$strings["puzzled"] = "perplejo/a";
-App::$strings["interested"] = "interesado/a";
-App::$strings["bitter"] = "amargado/a";
-App::$strings["cheerful"] = "alegre";
-App::$strings["alive"] = "animado/a";
-App::$strings["annoyed"] = "molesto/a";
-App::$strings["anxious"] = "ansioso/a";
-App::$strings["cranky"] = "de mal humor";
-App::$strings["disturbed"] = "perturbado/a";
-App::$strings["frustrated"] = "frustrado/a";
-App::$strings["depressed"] = "deprimido/a";
-App::$strings["motivated"] = "motivado/a";
-App::$strings["relaxed"] = "relajado/a";
-App::$strings["surprised"] = "sorprendido/a";
-App::$strings["Monday"] = "lunes";
-App::$strings["Tuesday"] = "martes";
-App::$strings["Wednesday"] = "miércoles";
-App::$strings["Thursday"] = "jueves";
-App::$strings["Friday"] = "viernes";
-App::$strings["Saturday"] = "sábado";
-App::$strings["Sunday"] = "domingo";
-App::$strings["January"] = "enero";
-App::$strings["February"] = "febrero";
-App::$strings["March"] = "marzo";
-App::$strings["April"] = "abril";
-App::$strings["May"] = "mayo";
-App::$strings["June"] = "junio";
-App::$strings["July"] = "julio";
-App::$strings["August"] = "agosto";
-App::$strings["September"] = "septiembre";
-App::$strings["October"] = "octubre";
-App::$strings["November"] = "noviembre";
-App::$strings["December"] = "diciembre";
-App::$strings["Unknown Attachment"] = "Adjunto no reconocido";
-App::$strings["unknown"] = "desconocido";
-App::$strings["remove category"] = "eliminar categoría";
-App::$strings["remove from file"] = "eliminar del fichero";
-App::$strings["default"] = "por defecto";
-App::$strings["Page layout"] = "Plantilla de la página";
-App::$strings["You can create your own with the layouts tool"] = "Puede crear su propia disposición gráfica con la herramienta de plantillas";
-App::$strings["Page content type"] = "Tipo de contenido de la página";
-App::$strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
-App::$strings["activity"] = "la actividad";
-App::$strings["Design Tools"] = "Herramientas de diseño web";
-App::$strings["Pages"] = "Páginas";
-App::$strings["Invalid data packet"] = "Paquete de datos no válido";
-App::$strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
-App::$strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
-App::$strings["invalid target signature"] = "La firma recibida no es válida";
-App::$strings["Tags"] = "Etiquetas";
-App::$strings["Keywords"] = "Palabras clave";
-App::$strings["have"] = "tener";
-App::$strings["has"] = "tiene";
-App::$strings["want"] = "quiero";
-App::$strings["wants"] = "quiere";
-App::$strings["likes"] = "gusta de";
-App::$strings["dislikes"] = "no gusta de";
App::$strings["Delete this item?"] = "¿Borrar este elemento?";
App::$strings["[-] show less"] = "[-] mostrar menos";
App::$strings["[+] expand"] = "[+] expandir";
@@ -2194,27 +2189,28 @@ App::$strings["__ctx:calendar__ month"] = "mes";
App::$strings["__ctx:calendar__ week"] = "semana";
App::$strings["__ctx:calendar__ day"] = "día";
App::$strings["__ctx:calendar__ All day"] = "Todos los días";
-App::$strings["Public"] = "Público";
-App::$strings["Anybody in the \$Projectname network"] = "Cualquiera en la red \$Projectname";
-App::$strings["Any account on %s"] = "Cualquier cuenta en %s";
-App::$strings["Any of my connections"] = "Cualquiera de mis conexiones";
-App::$strings["Only connections I specifically allow"] = "Sólo las conexiones que yo permita de forma explícita";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones.";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado";
-App::$strings["This is your default setting for who can view your connections"] = "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos";
-App::$strings["This is your default setting for the audience of your webpages"] = "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web";
-App::$strings[" and "] = " y ";
-App::$strings["public profile"] = "el perfil público";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiado %2\$s a &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s, cambiando %3\$s.";
-App::$strings["Directory Options"] = "Opciones del directorio";
-App::$strings["Safe Mode"] = "Modo seguro";
-App::$strings["Public Forums Only"] = "Solo foros públicos";
-App::$strings["This Website Only"] = "Solo este sitio web";
+App::$strings["view full size"] = "Ver en el tamaño original";
+App::$strings["No Subject"] = "Sin asunto";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio";
+App::$strings["Image file is empty."] = "El fichero de imagen está vacío. ";
+App::$strings["Photo storage failed."] = "La foto no ha podido ser guardada.";
+App::$strings["a new photo"] = "una nueva foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha publicado %2\$s en %3\$s";
+App::$strings["Upload New Photos"] = "Subir nuevas fotos";
+App::$strings["Invalid data packet"] = "Paquete de datos no válido";
+App::$strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
+App::$strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
+App::$strings["invalid target signature"] = "La firma recibida no es válida";
App::$strings["New Page"] = "Nueva página";
App::$strings["Title"] = "Título";
App::$strings["Can view my normal stream and posts"] = "Pueden verse mi actividad y publicaciones normales";
@@ -2252,6 +2248,11 @@ App::$strings["Special Purpose"] = "Propósito especial";
App::$strings["Special - Celebrity/Soapbox"] = "Especial - Celebridad / Tribuna improvisada";
App::$strings["Special - Group Repository"] = "Especial - Repositorio de grupo";
App::$strings["Custom/Expert Mode"] = "Modo personalizado/experto";
+App::$strings[" and "] = " y ";
+App::$strings["public profile"] = "el perfil público";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiado %2\$s a &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s, cambiando %3\$s.";
App::$strings["Attachments:"] = "Ficheros adjuntos:";
App::$strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:";
App::$strings["Focus (Hubzilla default)"] = "Focus (predefinido)";
diff --git a/view/fr/hmessages.po b/view/fr/hmessages.po
index 217d413e3..73d711700 100644
--- a/view/fr/hmessages.po
+++ b/view/fr/hmessages.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-02-12 00:03-0800\n"
-"PO-Revision-Date: 2016-02-13 10:26+0000\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 09:14+0000\n"
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/Friendica/red-matrix/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -19,4827 +19,859 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ../../Zotlabs/Zot/Auth.php:140
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer."
-
-#: ../../Zotlabs/Zot/Auth.php:248 ../../mod/openid.php:72
-#: ../../mod/openid.php:179
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Bienvenue %s. L'authentification distante a fonctionné."
-
-#: ../../include/Contact.php:101 ../../include/conversation.php:961
-#: ../../include/identity.php:954 ../../include/widgets.php:147
-#: ../../include/widgets.php:185 ../../mod/directory.php:321
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
-msgid "Connect"
-msgstr "Ajouter/Suivre"
-
-#: ../../include/Contact.php:118
-msgid "New window"
-msgstr "Nouvelle fenêtre"
-
-#: ../../include/Contact.php:119
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Ouvrir l'emplacement dans une fenêtre ou un onglet différent"
-
-#: ../../include/Contact.php:237
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utilisateur '%s' supprimé"
-
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Aucun nom d'utilisateur dans le fichier d'import."
-
-#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Impossible de créer une adresse de canal unique. Echec de l'import."
-
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:496
-msgid "Import completed."
-msgstr "L'import est terminé."
-
-#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:239
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
msgid "parent"
msgstr "retour"
-#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2614
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Groupe de contacts"
-#: ../../include/RedDAV/RedBrowser.php:134
+#: ../../Zotlabs/Storage/Browser.php:134
msgid "Principal"
msgstr "Principal"
-#: ../../include/RedDAV/RedBrowser.php:137
+#: ../../Zotlabs/Storage/Browser.php:137
msgid "Addressbook"
msgstr "Carnet d'adresse"
-#: ../../include/RedDAV/RedBrowser.php:140
+#: ../../Zotlabs/Storage/Browser.php:140
msgid "Calendar"
msgstr "Calendrier"
-#: ../../include/RedDAV/RedBrowser.php:143
+#: ../../Zotlabs/Storage/Browser.php:143
msgid "Schedule Inbox"
-msgstr "Calendrier - Message entrants"
+msgstr "Calendrier - Messages entrants"
-#: ../../include/RedDAV/RedBrowser.php:146
+#: ../../Zotlabs/Storage/Browser.php:146
msgid "Schedule Outbox"
-msgstr "Calendrier - Message sortants"
+msgstr "Calendrier - Messages sortants"
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:360
-#: ../../include/apps.php:415 ../../include/conversation.php:1037
-#: ../../include/widgets.php:1407 ../../mod/photos.php:766
-#: ../../mod/photos.php:1209
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
+#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Inconnu"
-#: ../../include/RedDAV/RedBrowser.php:226 ../../include/apps.php:135
-#: ../../include/conversation.php:1639 ../../include/nav.php:93
-#: ../../mod/fbrowser.php:109
+#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Fichiers"
-#: ../../include/RedDAV/RedBrowser.php:227
+#: ../../Zotlabs/Storage/Browser.php:227
msgid "Total"
msgstr "Total"
-#: ../../include/RedDAV/RedBrowser.php:229
+#: ../../Zotlabs/Storage/Browser.php:229
msgid "Shared"
msgstr "Partagé"
-#: ../../include/RedDAV/RedBrowser.php:230
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152
-#: ../../mod/layouts.php:175 ../../mod/menu.php:114
-#: ../../mod/new_channel.php:144 ../../mod/register.php:255
-#: ../../mod/webpages.php:180
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Webpages.php:186
msgid "Create"
msgstr "Créer"
-#: ../../include/RedDAV/RedBrowser.php:231
-#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1420
-#: ../../mod/photos.php:793 ../../mod/photos.php:1333
-#: ../../mod/profile_photo.php:453 ../../mod/cover_photo.php:353
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Envoyer"
-#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:1158
-#: ../../mod/settings.php:588 ../../mod/settings.php:614
-#: ../../mod/sharedwithme.php:95
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
msgstr "Nom"
-#: ../../include/RedDAV/RedBrowser.php:236
+#: ../../Zotlabs/Storage/Browser.php:236
msgid "Type"
msgstr "Type"
-#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1274
-#: ../../mod/sharedwithme.php:97
+#: ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Taille"
-#: ../../include/RedDAV/RedBrowser.php:238 ../../mod/sharedwithme.php:98
+#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Modifié le"
-#: ../../include/RedDAV/RedBrowser.php:240 ../../include/apps.php:259
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
+#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:310
+#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
+#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
#: ../../include/menu.php:108 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/ItemObject.php:100
-#: ../../mod/blocks.php:153 ../../mod/connections.php:286
-#: ../../mod/connections.php:306 ../../mod/editblock.php:135
-#: ../../mod/editlayout.php:134 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:176 ../../mod/layouts.php:183
-#: ../../mod/menu.php:108 ../../mod/settings.php:648 ../../mod/thing.php:256
-#: ../../mod/webpages.php:181
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Modifier"
-#: ../../include/RedDAV/RedBrowser.php:241 ../../include/apps.php:260
-#: ../../include/conversation.php:657 ../../include/ItemObject.php:120
-#: ../../mod/blocks.php:155 ../../mod/connections.php:259
-#: ../../mod/connedit.php:560 ../../mod/editblock.php:181
-#: ../../mod/editlayout.php:179 ../../mod/editwebpage.php:223
-#: ../../mod/group.php:173 ../../mod/photos.php:1140 ../../mod/admin.php:993
-#: ../../mod/admin.php:1152 ../../mod/settings.php:649 ../../mod/thing.php:257
-#: ../../mod/webpages.php:183
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:572
+#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Editlayout.php:136
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Supprimer"
-#: ../../include/RedDAV/RedBrowser.php:282
+#: ../../Zotlabs/Storage/Browser.php:285
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Vous utilisez %1$s de votre espace de stockage."
-#: ../../include/RedDAV/RedBrowser.php:287
+#: ../../Zotlabs/Storage/Browser.php:290
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Vous utilisez %1$s sur %2$s d'espace disponible. (%3$s&#37;)"
-#: ../../include/RedDAV/RedBrowser.php:299
+#: ../../Zotlabs/Storage/Browser.php:302
msgid "WARNING:"
msgstr "AVERTISSEMENT&nbsp;:"
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../Zotlabs/Storage/Browser.php:305
msgid "Create new folder"
msgstr "Nouveau dossier"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../Zotlabs/Storage/Browser.php:307
msgid "Upload file"
msgstr "Téléverser un fichier"
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Ce n'est pas une adresse de courriel valide"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Votre adresse de courriel est déjà inscrite sur ce site."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Une invitation est requise."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Votre invitation n'a pas pu être vérifiée."
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Merci d'entrer les informations requises."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Impossible de stocker les informations liées au compte."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Confirmation de l'inscription pour %s"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Demande d'inscription sur %s"
-
-#: ../../include/account.php:317 ../../include/account.php:344
-#: ../../include/account.php:404 ../../include/network.php:1660
-msgid "Administrator"
-msgstr "Administrateur"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "votre mot de passe d'inscription"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Détails de l'inscription pour %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Compte approuvé."
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Inscription révoquée pour %s"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Compte vérifié. Veuillez vous connecter."
-
-#: ../../include/account.php:719 ../../include/account.php:721
-msgid "Click here to upgrade."
-msgstr "Cliquez ici pour mettre à jour."
-
-#: ../../include/account.php:727
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Cette action outrepasserait les limites prévues par votre forfait."
-
-#: ../../include/account.php:732
-msgid "This action is not available under your subscription plan."
-msgstr "Cette action n'est pas disponible avec votre forfait."
-
-#: ../../include/acl_selectors.php:218
-msgid "Visible to your default audience"
-msgstr "Visible pour vos contacts seulement"
-
-#: ../../include/acl_selectors.php:243
-msgid "Show"
-msgstr "Montrer"
-
-#: ../../include/acl_selectors.php:244
-msgid "Don't show"
-msgstr "Cacher"
-
-#: ../../include/acl_selectors.php:249
-msgid "Other networks and post services"
-msgstr "Autres réseaux et services de messagerie"
-
-#: ../../include/acl_selectors.php:251 ../../mod/chat.php:211
-#: ../../mod/filestorage.php:147 ../../mod/photos.php:639
-#: ../../mod/photos.php:1012 ../../mod/thing.php:309 ../../mod/thing.php:355
-msgid "Permissions"
-msgstr "Autorisations"
-
-#: ../../include/acl_selectors.php:252 ../../include/ItemObject.php:384
-#: ../../mod/photos.php:1229
-msgid "Close"
-msgstr "Fermer"
-
-#: ../../include/activities.php:42
-msgid " and "
-msgstr "et"
-
-#: ../../include/activities.php:50
-msgid "public profile"
-msgstr "profil public"
-
-#: ../../include/activities.php:59
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s a changé %2$s en &ldquo;%3$s&rdquo;"
-
-#: ../../include/activities.php:60
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visiter %2$s de %1$s"
-
-#: ../../include/activities.php:63
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s a mis à jour %2$s, modifiant %3$s."
-
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Fil public"
-
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Administrateur"
-
-#: ../../include/apps.php:129 ../../include/conversation.php:1665
-#: ../../include/nav.php:104
-msgid "Bookmarks"
-msgstr "Favoris"
-
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Carnet d'adresses"
-
-#: ../../include/apps.php:131 ../../include/nav.php:112 ../../boot.php:1518
-msgid "Login"
-msgstr "Connexion"
-
-#: ../../include/apps.php:132 ../../include/nav.php:203
-#: ../../mod/manage.php:162
-msgid "Channel Manager"
-msgstr "Gérer les canaux"
-
-#: ../../include/apps.php:133 ../../include/nav.php:176
-msgid "Grid"
-msgstr "Réseau"
-
-#: ../../include/apps.php:134 ../../include/nav.php:205
-#: ../../include/widgets.php:577 ../../mod/admin.php:1266
-#: ../../mod/admin.php:1488
-msgid "Settings"
-msgstr "Paramètres"
-
-#: ../../include/apps.php:136 ../../include/conversation.php:1675
-#: ../../include/nav.php:108 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Pages web"
-
-#: ../../include/apps.php:137 ../../include/nav.php:179
-msgid "Channel Home"
-msgstr "Mon canal"
-
-#: ../../include/apps.php:138 ../../include/identity.php:1242
-#: ../../include/identity.php:1359 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profil"
-
-#: ../../include/apps.php:139 ../../include/conversation.php:1632
-#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Photos"
-
-#: ../../include/apps.php:140 ../../include/nav.php:198
-msgid "Events"
-msgstr "Événements"
-
-#: ../../include/apps.php:141 ../../include/nav.php:164
-msgid "Directory"
-msgstr "Annuaire"
-
-#: ../../include/apps.php:142 ../../include/nav.php:155 ../../mod/help.php:208
-#: ../../mod/help.php:213 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Aide"
-
-#: ../../include/apps.php:143 ../../include/nav.php:190
-msgid "Mail"
-msgstr "Messages"
-
-#: ../../include/apps.php:144 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Humeur"
-
-#: ../../include/apps.php:145 ../../include/conversation.php:965
-#: ../../mod/poke.php:164
-msgid "Poke"
-msgstr "Tapoter"
-
-#: ../../include/apps.php:146 ../../include/nav.php:98
-msgid "Chat"
-msgstr "Clavardage"
-
-#: ../../include/apps.php:147 ../../include/nav.php:161
-#: ../../include/text.php:885 ../../include/text.php:897
-#: ../../mod/connections.php:302 ../../mod/search.php:40
-msgid "Search"
-msgstr "Recherche"
-
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Sonder"
-
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Suggérer"
-
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Un canal au hasard"
-
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Invitation"
-
-#: ../../include/apps.php:152 ../../include/widgets.php:1293
-msgid "Features"
-msgstr "Fonctionalités"
-
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Langue"
-
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Envoyer"
-
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Photo du Profil"
-
-#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:612
-msgid "Update"
-msgstr "Mise à jour"
-
-#: ../../include/apps.php:252
-msgid "Install"
-msgstr "Installer"
-
-#: ../../include/apps.php:257
-msgid "Purchase"
-msgstr "Acheter"
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Accès refusé"
-#: ../../include/attach.php:140 ../../include/attach.php:188
-#: ../../include/attach.php:251 ../../include/attach.php:265
-#: ../../include/attach.php:272 ../../include/attach.php:337
-#: ../../include/attach.php:351 ../../include/attach.php:358
-#: ../../include/attach.php:436 ../../include/attach.php:888
-#: ../../include/attach.php:959 ../../include/attach.php:1111
-#: ../../include/chat.php:133 ../../include/photos.php:29
-#: ../../include/items.php:4437 ../../index.php:189 ../../index.php:377
-#: ../../mod/achievements.php:30 ../../mod/api.php:26 ../../mod/api.php:31
-#: ../../mod/appman.php:66 ../../mod/authtest.php:13 ../../mod/block.php:22
-#: ../../mod/block.php:72 ../../mod/blocks.php:69 ../../mod/blocks.php:76
-#: ../../mod/bookmarks.php:48 ../../mod/channel.php:100
-#: ../../mod/channel.php:217 ../../mod/channel.php:257 ../../mod/chat.php:94
-#: ../../mod/chat.php:99 ../../mod/common.php:35 ../../mod/connections.php:29
-#: ../../mod/connedit.php:355 ../../mod/editblock.php:65
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
-#: ../../mod/editwebpage.php:125 ../../mod/events.php:260
-#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
-#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
-#: ../../mod/fsuggest.php:78 ../../mod/group.php:9 ../../mod/id.php:71
-#: ../../mod/invite.php:13 ../../mod/invite.php:87 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:1050 ../../mod/layouts.php:69
-#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/like.php:177
-#: ../../mod/locs.php:83 ../../mod/mail.php:126 ../../mod/manage.php:6
-#: ../../mod/menu.php:74 ../../mod/message.php:16 ../../mod/mitem.php:111
-#: ../../mod/mood.php:112 ../../mod/network.php:12
-#: ../../mod/new_channel.php:75 ../../mod/new_channel.php:109
-#: ../../mod/notifications.php:66 ../../mod/page.php:31 ../../mod/page.php:86
-#: ../../mod/pdledit.php:22 ../../mod/photos.php:70 ../../mod/poke.php:133
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354
-#: ../../mod/profiles.php:198 ../../mod/profiles.php:584
-#: ../../mod/rate.php:111 ../../mod/register.php:73 ../../mod/regmod.php:17
-#: ../../mod/service_limits.php:7 ../../mod/settings.php:568
-#: ../../mod/setup.php:230 ../../mod/sharedwithme.php:7
-#: ../../mod/sources.php:66 ../../mod/suggest.php:26 ../../mod/thing.php:270
-#: ../../mod/thing.php:290 ../../mod/thing.php:327
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69
-#: ../../mod/cover_photo.php:273 ../../mod/cover_photo.php:286
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Cover_photo.php:277
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:69
+#: ../../Zotlabs/Module/Editwebpage.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:105
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Filestorage.php:79
+#: ../../Zotlabs/Module/Filestorage.php:94
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Profile_photo.php:256
+#: ../../Zotlabs/Module/Profile_photo.php:269
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:437 ../../include/attach.php:895
+#: ../../include/attach.php:966 ../../include/attach.php:1118
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Permission refusée."
-#: ../../include/attach.php:246 ../../include/attach.php:332
-msgid "Item was not found."
-msgstr "Élément introuvable."
-
-#: ../../include/attach.php:496
-msgid "No source file."
-msgstr "Pas de fichier source."
-
-#: ../../include/attach.php:518
-msgid "Cannot locate file to replace"
-msgstr "Impossible de trouver le fichier à remplacer."
-
-#: ../../include/attach.php:536
-msgid "Cannot locate file to revise/update"
-msgstr "Impossible de trouver le fichier à corriger/mettre à jour"
-
-#: ../../include/attach.php:671
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Le fichier dépasse la taille limite de %d"
-
-#: ../../include/attach.php:685
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes."
-
-#: ../../include/attach.php:841
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Envoi du fichier impossible. Limite système ou action avortée."
-
-#: ../../include/attach.php:854
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Le fichier stocké n'a pu être vérifié. Echec de l'envoi."
-
-#: ../../include/attach.php:902 ../../include/attach.php:918
-msgid "Path not available."
-msgstr "Chemin non disponible."
-
-#: ../../include/attach.php:964 ../../include/attach.php:1116
-msgid "Empty pathname"
-msgstr "Chemin vide"
-
-#: ../../include/attach.php:990
-msgid "duplicate filename or path"
-msgstr "doublon de chemin ou de fichier"
-
-#: ../../include/attach.php:1012
-msgid "Path not found."
-msgstr "Chemin introuvable."
-
-#: ../../include/attach.php:1070
-msgid "mkdir failed."
-msgstr "mkdir a échoué."
-
-#: ../../include/attach.php:1074
-msgid "database storage failed."
-msgstr "l'écriture dans la base de données a échoué."
-
-#: ../../include/attach.php:1122
-msgid "Empty path"
-msgstr "Chemin vide"
-
-#: ../../include/auth.php:132
-msgid "Logged out."
-msgstr "Deconnecté."
-
-#: ../../include/auth.php:273
-msgid "Failed authentication"
-msgstr "Échec de l'authentification"
-
-#: ../../include/auth.php:287 ../../mod/openid.php:189
-msgid "Login failed."
-msgstr "Échec de la connexion."
-
-#: ../../include/bb2diaspora.php:376
-msgid "Attachments:"
-msgstr "Pièces jointes&nbsp;:"
-
-#: ../../include/bb2diaspora.php:465 ../../include/event.php:22
-#: ../../include/text.php:1418
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\à G\\hi"
-
-#: ../../include/bb2diaspora.php:467
-msgid "$Projectname event notification:"
-msgstr "Notification d'événement de $Projectname&nbsp;:"
-
-#: ../../include/bb2diaspora.php:471 ../../include/event.php:30
-#: ../../include/text.php:1422
-msgid "Starts:"
-msgstr "Début&nbsp;:"
-
-#: ../../include/bb2diaspora.php:479 ../../include/event.php:40
-#: ../../include/text.php:1426
-msgid "Finishes:"
-msgstr "Fin&nbsp;:"
-
-#: ../../include/bb2diaspora.php:487 ../../include/event.php:52
-#: ../../include/text.php:1433 ../../include/identity.php:1005
-#: ../../mod/directory.php:307
-msgid "Location:"
-msgstr "Emplacement&nbsp;:"
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:794
-#: ../../include/bbcode.php:797 ../../include/bbcode.php:802
-#: ../../include/bbcode.php:805 ../../include/bbcode.php:808
-#: ../../include/bbcode.php:811 ../../include/bbcode.php:816
-#: ../../include/bbcode.php:819 ../../include/bbcode.php:824
-#: ../../include/bbcode.php:827 ../../include/bbcode.php:830
-#: ../../include/bbcode.php:833
-msgid "Image/photo"
-msgstr "Image/photo"
-
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:844
-msgid "Encrypted content"
-msgstr "Contenu chiffré"
-
-#: ../../include/bbcode.php:179
-#, php-format
-msgid "Install %s element: "
-msgstr "Installer %s élément"
-
-#: ../../include/bbcode.php:183
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."
-
-#: ../../include/bbcode.php:193 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "pages web"
-
-#: ../../include/bbcode.php:196 ../../mod/impel.php:47
-msgid "layout"
-msgstr "mise en page"
-
-#: ../../include/bbcode.php:199 ../../mod/impel.php:42
-msgid "block"
-msgstr "bloquer"
-
-#: ../../include/bbcode.php:202 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
-
-#: ../../include/bbcode.php:257
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s a écrit %2$s qui suit %3$s"
-
-#: ../../include/bbcode.php:259 ../../mod/tagger.php:51
-msgid "post"
-msgstr "publication"
-
-#: ../../include/bbcode.php:547
-msgid "Different viewers will see this text differently"
-msgstr "Ce texte aura un rendu différent en fonction des utilisateurs"
-
-#: ../../include/bbcode.php:755
-msgid "$1 spoiler"
-msgstr "dévoile&nbsp;: $1"
-
-#: ../../include/bbcode.php:782
-msgid "$1 wrote:"
-msgstr "$1 a écrit&nbsp;:"
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "Favoris de %1$s"
-
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Il manque le nom du salon"
-
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Un salon avec ce nom existe déjà"
-
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Identifiant de salon invalide."
-
-#: ../../include/chat.php:122
-msgid "Room not found."
-msgstr "Salon introuvable."
-
-#: ../../include/chat.php:143
-msgid "Room is full"
-msgstr "Le salon est plein"
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:366
-msgid "Default"
-msgstr "Défaut"
-
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitation disponible"
-msgstr[1] "%d invitations disponibles"
-
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:461
-msgid "Advanced"
-msgstr "Avancé"
-
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Trouver des canaux"
-
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Saisir nom ou centre d'intérêt"
-
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Ajouter/Suivre"
-
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Exemples: Guillaume Martin, Course à pieds"
-
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:305
-#: ../../mod/directory.php:384 ../../mod/directory.php:389
-msgid "Find"
-msgstr "Trouver"
-
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:388
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Canaux suggérés"
-
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Un profil au hasard"
-
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Inviter des amis"
-
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Exemple avancé&nbsp;: name=fred and country=iceland"
-
-#: ../../include/contact_widgets.php:57 ../../include/features.php:96
-#: ../../include/widgets.php:314
-msgid "Saved Folders"
-msgstr "Dossiers sauvegardés"
-
-#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98
-#: ../../include/widgets.php:317
-msgid "Everything"
-msgstr "Tout"
-
-#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:282
-#: ../../include/widgets.php:46
-msgid "Categories"
-msgstr "Catégories"
-
-#: ../../include/contact_widgets.php:128
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contact en commun"
-msgstr[1] "%d contacts en commun"
-
-#: ../../include/contact_widgets.php:133
-msgid "show more"
-msgstr "montrer plus"
-
-#: ../../include/conversation.php:120 ../../include/text.php:1948
-#: ../../mod/like.php:361 ../../mod/subthread.php:83 ../../mod/tagger.php:43
-msgid "photo"
-msgstr "photo"
-
-#: ../../include/conversation.php:123 ../../include/event.php:904
-#: ../../include/text.php:1951 ../../mod/events.php:249 ../../mod/like.php:363
-#: ../../mod/tagger.php:47
-msgid "event"
-msgstr "événement"
-
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "canal"
-
-#: ../../include/conversation.php:148 ../../include/text.php:1954
-#: ../../mod/like.php:361 ../../mod/subthread.php:83
-msgid "status"
-msgstr "état"
-
-#: ../../include/conversation.php:150 ../../include/text.php:1956
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "commentaire"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:410
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s aime %3$s de %2$s"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:412
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s n'aime pas %3$s de %2$s"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ajoute %2$s à ses contacts"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s a tapoté %2$s"
-
-#: ../../include/conversation.php:243 ../../include/text.php:973
-#: ../../include/text.php:978
-msgid "poked"
-msgstr "a tapoté"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s est %2$s"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1074
-msgctxt "title"
-msgid "Likes"
-msgstr "Aime"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1074
-msgctxt "title"
-msgid "Dislikes"
-msgstr "N'aime pas"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Agree"
-msgstr "D'accord"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Disagree"
-msgstr "Pas d'accord"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Abstain"
-msgstr "Abstention"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Attending"
-msgstr "Participations"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Not attending"
-msgstr "Non-participations"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Might attend"
-msgstr "Participation possible"
-
-#: ../../include/conversation.php:656 ../../include/ItemObject.php:126
-msgid "Select"
-msgstr "Sélectionner"
-
-#: ../../include/conversation.php:664 ../../include/ItemObject.php:89
-msgid "Private Message"
-msgstr "Message Privé"
-
-#: ../../include/conversation.php:671 ../../include/ItemObject.php:227
-msgid "Message signature validated"
-msgstr "Signature du message validée"
-
-#: ../../include/conversation.php:672 ../../include/ItemObject.php:228
-msgid "Message signature incorrect"
-msgstr "Signature du message incorrecte"
-
-#: ../../include/conversation.php:691
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Voir le profil de %s @ %s"
-
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr "Catégories&nbsp;:"
-
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr "Classé sous&nbsp;:"
-
-#: ../../include/conversation.php:719 ../../include/ItemObject.php:334
-#, php-format
-msgid "from %s"
-msgstr "de %s"
-
-#: ../../include/conversation.php:722 ../../include/ItemObject.php:337
-#, php-format
-msgid "last edited: %s"
-msgstr "dernière modification&nbsp;: %s"
-
-#: ../../include/conversation.php:723 ../../include/ItemObject.php:338
-#, php-format
-msgid "Expires: %s"
-msgstr "Expire&nbsp;: %s"
-
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr "Voir en contexte"
-
-#: ../../include/conversation.php:740 ../../include/conversation.php:1237
-#: ../../include/ItemObject.php:389 ../../mod/editblock.php:150
-#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:190 ../../mod/photos.php:1040
-msgid "Please wait"
-msgstr "Merci de patienter"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "supprimer"
-
-#: ../../include/conversation.php:854 ../../include/nav.php:244
-msgid "Loading..."
-msgstr "Chargement..."
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Supprimer les éléments selectionnés"
-
-#: ../../include/conversation.php:953
-msgid "View Source"
-msgstr "Voir source"
-
-#: ../../include/conversation.php:954
-msgid "Follow Thread"
-msgstr "Suivre la discussion"
-
-#: ../../include/conversation.php:955
-msgid "Unfollow Thread"
-msgstr "Ne plus suivre la discussion"
-
-#: ../../include/conversation.php:959 ../../include/nav.php:86
-#: ../../mod/connedit.php:507
-msgid "View Profile"
-msgstr "Voir le profil"
-
-#: ../../include/conversation.php:960
-msgid "Activity/Posts"
-msgstr "Activité/Publications"
-
-#: ../../include/conversation.php:962
-msgid "Edit Connection"
-msgstr "Modifier le contact"
-
-#: ../../include/conversation.php:963
-msgid "Message"
-msgstr "Message"
-
-#: ../../include/conversation.php:964 ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Evaluations"
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s likes this."
-msgstr "%s aime ça."
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s n'aime pas ça."
-
-#: ../../include/conversation.php:1084
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d personne</span> aime ceci."
-msgstr[1] "<span %1$s>%2$d personnes</span> aiment ceci."
-
-#: ../../include/conversation.php:1086
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d personne</span> n'aime pas ça."
-msgstr[1] "<span %1$s>%2$d personnes</span> n'aiment pas ça."
-
-#: ../../include/conversation.php:1092
-msgid "and"
-msgstr "et"
-
-#: ../../include/conversation.php:1095
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", et %d autre personne"
-msgstr[1] ", et %d autres personnes"
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s like this."
-msgstr "%s aime ça."
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s don't like this."
-msgstr "%s n'aime pas ça."
-
-#: ../../include/conversation.php:1164
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visible par <strong>tout le monde</strong>"
-
-#: ../../include/conversation.php:1165 ../../mod/mail.php:202
-#: ../../mod/mail.php:316
-msgid "Please enter a link URL:"
-msgstr "Merci d'entrer l'URL d'un lien&nbsp;:"
-
-#: ../../include/conversation.php:1166
-msgid "Please enter a video link/URL:"
-msgstr "Merci d'entrer l'URL d'une video&nbsp;:"
-
-#: ../../include/conversation.php:1167
-msgid "Please enter an audio link/URL:"
-msgstr "Merci d'entrer l'URL d'un contenu audio&nsbp;:"
-
-#: ../../include/conversation.php:1168
-msgid "Tag term:"
-msgstr "Étiquette&nbsp;:"
-
-#: ../../include/conversation.php:1169 ../../mod/filer.php:48
-msgid "Save to Folder:"
-msgstr "Classer dans le dossier&nbsp;:"
-
-#: ../../include/conversation.php:1170
-msgid "Where are you right now?"
-msgstr "Où êtes-vous en ce moment&nbsp;?"
-
-#: ../../include/conversation.php:1171 ../../mod/editpost.php:56
-#: ../../mod/mail.php:203 ../../mod/mail.php:317
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Expire le YYYY-MM-DD à HH:MM"
-
-#: ../../include/conversation.php:1179 ../../include/page_widgets.php:40
-#: ../../include/ItemObject.php:712 ../../mod/editblock.php:171
-#: ../../mod/editpost.php:149 ../../mod/editwebpage.php:212
-#: ../../mod/events.php:458 ../../mod/photos.php:1060
-#: ../../mod/webpages.php:188
-msgid "Preview"
-msgstr "Aperçu"
-
-#: ../../include/conversation.php:1202 ../../mod/blocks.php:154
-#: ../../mod/layouts.php:184 ../../mod/photos.php:1039
-#: ../../mod/webpages.php:182
-msgid "Share"
-msgstr "Partager"
-
-#: ../../include/conversation.php:1204
-msgid "Page link name"
-msgstr "Nom du lien vers la page"
-
-#: ../../include/conversation.php:1207
-msgid "Post as"
-msgstr "Publier en tant que"
-
-#: ../../include/conversation.php:1209 ../../include/ItemObject.php:704
-#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
-#: ../../mod/editpost.php:113 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr "Gras"
-
-#: ../../include/conversation.php:1210 ../../include/ItemObject.php:705
-#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
-#: ../../mod/editpost.php:114 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr "Italique"
-
-#: ../../include/conversation.php:1211 ../../include/ItemObject.php:706
-#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
-#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr "Souligné"
-
-#: ../../include/conversation.php:1212 ../../include/ItemObject.php:707
-#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr "Citation"
-
-#: ../../include/conversation.php:1213 ../../include/ItemObject.php:708
-#: ../../mod/editblock.php:140 ../../mod/editlayout.php:139
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr "Code"
-
-#: ../../include/conversation.php:1214 ../../mod/editblock.php:142
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:118
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
-msgstr "Téléverser une photo"
-
-#: ../../include/conversation.php:1215
-msgid "upload photo"
-msgstr "téléverser une photo"
-
-#: ../../include/conversation.php:1216 ../../mod/editblock.php:143
-#: ../../mod/editlayout.php:141 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:183 ../../mod/mail.php:248 ../../mod/mail.php:378
-msgid "Attach file"
-msgstr "Joindre un fichier"
-
-#: ../../include/conversation.php:1217
-msgid "attach file"
-msgstr "joindre un fichier"
-
-#: ../../include/conversation.php:1218 ../../mod/editblock.php:144
-#: ../../mod/editlayout.php:142 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:184 ../../mod/mail.php:249 ../../mod/mail.php:379
-msgid "Insert web link"
-msgstr "Insérer lien web"
-
-#: ../../include/conversation.php:1219
-msgid "web link"
-msgstr "lien web"
-
-#: ../../include/conversation.php:1220
-msgid "Insert video link"
-msgstr "Insérer lien vidéo"
-
-#: ../../include/conversation.php:1221
-msgid "video link"
-msgstr "lien vidéo"
-
-#: ../../include/conversation.php:1222
-msgid "Insert audio link"
-msgstr "Insérer un lien audio"
-
-#: ../../include/conversation.php:1223
-msgid "audio link"
-msgstr "lien audio"
-
-#: ../../include/conversation.php:1224 ../../mod/editblock.php:148
-#: ../../mod/editlayout.php:146 ../../mod/editpost.php:124
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
-msgstr "Spécifier votre emplacement géographique"
-
-#: ../../include/conversation.php:1225
-msgid "set location"
-msgstr "spécifier l'emplacement géographique"
-
-#: ../../include/conversation.php:1226 ../../mod/editpost.php:126
-msgid "Toggle voting"
-msgstr "(Dés)activer le vote"
-
-#: ../../include/conversation.php:1229 ../../mod/editblock.php:149
-#: ../../mod/editlayout.php:147 ../../mod/editpost.php:125
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
-msgstr "Supprimer l'emplacement géographique du navigateur"
-
-#: ../../include/conversation.php:1230
-msgid "clear location"
-msgstr "supprimer l'emplacement géographique"
-
-#: ../../include/conversation.php:1232 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
-msgstr "Titre (facultatif)"
-
-#: ../../include/conversation.php:1236 ../../mod/editblock.php:165
-#: ../../mod/editlayout.php:163 ../../mod/editpost.php:143
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
-msgstr "Catégories (facultatives, séparées par des virgules)"
-
-#: ../../include/conversation.php:1238 ../../mod/editblock.php:151
-#: ../../mod/editlayout.php:149 ../../mod/editpost.php:130
-#: ../../mod/editwebpage.php:191 ../../mod/events.php:459
-msgid "Permission settings"
-msgstr "Gérer les autorisations"
-
-#: ../../include/conversation.php:1239
-msgid "permissions"
-msgstr "autorisations"
-
-#: ../../include/conversation.php:1247 ../../mod/editblock.php:159
-#: ../../mod/editlayout.php:156 ../../mod/editpost.php:138
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
-msgstr "Contenu public"
-
-#: ../../include/conversation.php:1249 ../../mod/editblock.php:166
-#: ../../mod/editlayout.php:164 ../../mod/editpost.php:144
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Exemple: julien@exemple.com, marie@exemple.com"
-
-#: ../../include/conversation.php:1262 ../../mod/editblock.php:176
-#: ../../mod/editlayout.php:173 ../../mod/editpost.php:155
-#: ../../mod/editwebpage.php:217 ../../mod/mail.php:253 ../../mod/mail.php:383
-msgid "Set expiration date"
-msgstr "Définir la date d'expiration"
-
-#: ../../include/conversation.php:1265
-msgid "Set publish date"
-msgstr "Définir la date de publication"
-
-#: ../../include/conversation.php:1267 ../../include/ItemObject.php:715
-#: ../../mod/editpost.php:157 ../../mod/mail.php:255 ../../mod/mail.php:385
-msgid "Encrypt text"
-msgstr "Chiffrer le texte"
-
-#: ../../include/conversation.php:1269 ../../mod/editpost.php:159
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1270 ../../mod/editpost.php:160
-#: ../../mod/fbrowser.php:77 ../../mod/fbrowser.php:112
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-msgid "Cancel"
-msgstr "Annuler"
-
-#: ../../include/conversation.php:1513
-msgid "Discover"
-msgstr "À découvrir"
-
-#: ../../include/conversation.php:1516
-msgid "Imported public streams"
-msgstr "Flux publics importés"
-
-#: ../../include/conversation.php:1521
-msgid "Commented Order"
-msgstr "Par date de commentaire"
-
-#: ../../include/conversation.php:1524
-msgid "Sort by Comment Date"
-msgstr "Trier par date de dernier commentaire"
-
-#: ../../include/conversation.php:1528
-msgid "Posted Order"
-msgstr "Par date de publication"
-
-#: ../../include/conversation.php:1531
-msgid "Sort by Post Date"
-msgstr "Trier par date de publication"
-
-#: ../../include/conversation.php:1536 ../../include/widgets.php:105
-msgid "Personal"
-msgstr "Me concernant"
-
-#: ../../include/conversation.php:1539
-msgid "Posts that mention or involve you"
-msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre"
-
-#: ../../include/conversation.php:1545 ../../mod/connections.php:72
-#: ../../mod/connections.php:82 ../../mod/menu.php:112
-msgid "New"
-msgstr "Nouveautés"
-
-#: ../../include/conversation.php:1548
-msgid "Activity Stream - by date"
-msgstr "Flux d'activité - par date"
-
-#: ../../include/conversation.php:1554
-msgid "Starred"
-msgstr "Mis en avant (étoiles)"
-
-#: ../../include/conversation.php:1557
-msgid "Favourite Posts"
-msgstr "Publications préférées"
-
-#: ../../include/conversation.php:1564
-msgid "Spam"
-msgstr "Indésirable"
-
-#: ../../include/conversation.php:1567
-msgid "Posts flagged as SPAM"
-msgstr "Publications marquées comme indésirables"
-
-#: ../../include/conversation.php:1611 ../../mod/admin.php:1157
-msgid "Channel"
-msgstr "Canal"
-
-#: ../../include/conversation.php:1614
-msgid "Status Messages and Posts"
-msgstr "Messages d'état et contributions"
-
-#: ../../include/conversation.php:1623
-msgid "About"
-msgstr "À propos"
-
-#: ../../include/conversation.php:1626
-msgid "Profile Details"
-msgstr "Détails du profil"
-
-#: ../../include/conversation.php:1635 ../../include/photos.php:506
-msgid "Photo Albums"
-msgstr "Albums photo"
-
-#: ../../include/conversation.php:1642
-msgid "Files and Storage"
-msgstr "Fichiers et Stockage"
-
-#: ../../include/conversation.php:1652 ../../include/conversation.php:1655
-msgid "Chatrooms"
-msgstr "Salons de clavardage"
-
-#: ../../include/conversation.php:1668
-msgid "Saved Bookmarks"
-msgstr "Favoris sauvegardés"
-
-#: ../../include/conversation.php:1678
-msgid "Manage Webpages"
-msgstr "Gérer les pages web"
-
-#: ../../include/conversation.php:1707 ../../include/ItemObject.php:175
-#: ../../include/ItemObject.php:187 ../../mod/photos.php:1093
-#: ../../mod/photos.php:1105
-msgid "View all"
-msgstr "Voir tout"
-
-#: ../../include/conversation.php:1731 ../../include/taxonomy.php:415
-#: ../../include/identity.php:1268 ../../include/ItemObject.php:179
-#: ../../mod/photos.php:1097
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Aime"
-msgstr[1] "Aime"
-
-#: ../../include/conversation.php:1734 ../../include/ItemObject.php:184
-#: ../../mod/photos.php:1102
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "N'aime pas"
-msgstr[1] "N'aime pas"
-
-#: ../../include/conversation.php:1737
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Participe"
-msgstr[1] "Participent"
-
-#: ../../include/conversation.php:1740
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Ne participe pas"
-msgstr[1] "Ne participent pas"
-
-#: ../../include/conversation.php:1743
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indécis(e)"
-msgstr[1] "Indécis(es)"
-
-#: ../../include/conversation.php:1746
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "D'accord"
-msgstr[1] "D'accord"
-
-#: ../../include/conversation.php:1749
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Pas d'accord"
-msgstr[1] "Pas d'accord"
-
-#: ../../include/conversation.php:1752
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "S'abstient"
-msgstr[1] "S'abstiennent"
-
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Divers"
-
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-JJ ou MM-JJ"
-
-#: ../../include/datetime.php:236 ../../mod/appman.php:91
-#: ../../mod/appman.php:92 ../../mod/events.php:437 ../../mod/events.php:442
-msgid "Required"
-msgstr "Requis"
-
-#: ../../include/datetime.php:263 ../../boot.php:2349
-msgid "never"
-msgstr "jamais"
-
-#: ../../include/datetime.php:269
-msgid "less than a second ago"
-msgstr "à l'instant"
-
-#: ../../include/datetime.php:272
-msgid "year"
-msgstr "année"
-
-#: ../../include/datetime.php:272
-msgid "years"
-msgstr "années"
-
-#: ../../include/datetime.php:273
-msgid "month"
-msgstr "mois"
-
-#: ../../include/datetime.php:273
-msgid "months"
-msgstr "mois"
-
-#: ../../include/datetime.php:274
-msgid "week"
-msgstr "semaine"
-
-#: ../../include/datetime.php:274
-msgid "weeks"
-msgstr "semaines"
-
-#: ../../include/datetime.php:275
-msgid "day"
-msgstr "jour"
-
-#: ../../include/datetime.php:275
-msgid "days"
-msgstr "jours"
-
-#: ../../include/datetime.php:276
-msgid "hour"
-msgstr "heure"
-
-#: ../../include/datetime.php:276
-msgid "hours"
-msgstr "heures"
-
-#: ../../include/datetime.php:277
-msgid "minute"
-msgstr "minute"
-
-#: ../../include/datetime.php:277
-msgid "minutes"
-msgstr "minutes"
-
-#: ../../include/datetime.php:278
-msgid "second"
-msgstr "seconde"
-
-#: ../../include/datetime.php:278
-msgid "seconds"
-msgstr "secondes"
-
-#: ../../include/datetime.php:286
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "il y a %1$d %2$s"
-
-#: ../../include/datetime.php:520
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Anniversaire de %1$s"
-
-#: ../../include/datetime.php:521
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Joyeux Anniversaire %1$s"
-
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Impossible de trouver les infos DNS du serveur de BDD '%s'"
-
-#: ../../include/dir_fns.php:139
-msgid "Directory Options"
-msgstr "Options d'annuaire"
-
-#: ../../include/dir_fns.php:141
-msgid "Safe Mode"
-msgstr "Mode sûr"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:102
-#: ../../mod/connedit.php:644 ../../mod/connedit.php:693
-#: ../../mod/events.php:447 ../../mod/events.php:448 ../../mod/events.php:457
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:634 ../../mod/admin.php:425 ../../mod/removeme.php:60
-#: ../../mod/settings.php:577 ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1522
-msgid "No"
-msgstr "Non"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:101
-#: ../../mod/events.php:447 ../../mod/events.php:448 ../../mod/events.php:457
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:634 ../../mod/admin.php:427 ../../mod/removeme.php:60
-#: ../../mod/settings.php:577 ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1522
-msgid "Yes"
-msgstr "Oui"
-
-#: ../../include/dir_fns.php:142
-msgid "Public Forums Only"
-msgstr "Les forums publics uniquement"
-
-#: ../../include/dir_fns.php:143
-msgid "This Website Only"
-msgstr "Ce site uniquement"
-
-#: ../../include/event.php:768
-msgid "This event has been added to your calendar."
-msgstr "Cet évènement a été ajouté dans votre calendrier."
-
-#: ../../include/event.php:967
-msgid "Not specified"
-msgstr "Non spécifié"
-
-#: ../../include/event.php:968
-msgid "Needs Action"
-msgstr "Besoin d'une action"
-
-#: ../../include/event.php:969
-msgid "Completed"
-msgstr "Terminé"
-
-#: ../../include/event.php:970
-msgid "In Process"
-msgstr "En cours"
-
-#: ../../include/event.php:971
-msgid "Cancelled"
-msgstr "Annulé"
-
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "Ce canal est bloqué sur ce site."
-
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Emplacement du canal introuvable."
-
-#: ../../include/follow.php:82
-msgid "Response from remote channel was incomplete."
-msgstr "La réponse du canal distant était incomplète."
-
-#: ../../include/follow.php:99
-msgid "Channel was deleted and no longer exists."
-msgstr "Le canal a été supprimé et n'existe plus."
-
-#: ../../include/follow.php:153 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protocole désactivé."
-
-#: ../../include/follow.php:173
-msgid "Channel discovery failed."
-msgstr "La tentative d'accéder au canal a échoué."
-
-#: ../../include/follow.php:199
-msgid "local account not found."
-msgstr "compte local introuvable."
-
-#: ../../include/follow.php:224
-msgid "Cannot connect to yourself."
-msgstr "Ne peut pas se connecter à vous."
-
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."
-
-#: ../../include/group.php:232
-msgid "Add new connections to this privacy group"
-msgstr "Ajouter de nouveaux contacts à ce groupe d'accès"
-
-#: ../../include/group.php:251 ../../mod/admin.php:998
-msgid "All Channels"
-msgstr "Tous les canaux"
-
-#: ../../include/group.php:273
-msgid "edit"
-msgstr "modifier"
-
-#: ../../include/group.php:295 ../../include/features.php:82
-msgid "Privacy Groups"
-msgstr "Groupes d'accès"
-
-#: ../../include/group.php:296
-msgid "Edit group"
-msgstr "Modifier le groupe"
-
-#: ../../include/group.php:297
-msgid "Add privacy group"
-msgstr "Ajouter un groupe d'accès"
-
-#: ../../include/group.php:298
-msgid "Channels not in any privacy group"
-msgstr "Canaux n'étant dans aucun groupe d'accès"
+#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+msgid "Not Found"
+msgstr "Introuvable"
-#: ../../include/group.php:300 ../../include/widgets.php:285
-msgid "add"
-msgstr "ajouter"
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Page.php:93
+msgid "Page not found."
+msgstr "Page introuvable."
-#: ../../include/import.php:23
+#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "L'import a échoué. Un canal existe déjà avec ce nom"
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr "Echec du clonage du canal. Echec de l'impot."
-
-#: ../../include/import.php:80 ../../mod/import.php:148
-msgid "Cloned channel not found. Import failed."
-msgstr "Canal cloné non trouvé. Echec de l'import."
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Supprimer cet élément?"
-
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:702
-#: ../../mod/photos.php:1058 ../../mod/photos.php:1176
-msgid "Comment"
-msgstr "Commenter"
-
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413
-msgid "[+] show all"
-msgstr "[+] voir tous"
-
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] montrer moins"
-
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] déplier"
-
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] replier"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Mot de passe trop court"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Les mots de passe ne correspondent pas"
-
-#: ../../include/js_strings.php:13 ../../mod/photos.php:41
-msgid "everybody"
-msgstr "tout le monde"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Phrase de passe secrète"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Indice pour la phrase de passe"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées."
-
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "fermer tout"
-
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Aucun nouveau contenu trouvé"
-
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Evaluer ce canal (publiquement)"
-
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:703
-#: ../../mod/rate.php:157
-msgid "Rating"
-msgstr "Evaluation"
-
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Description (facultative)"
-
-#: ../../include/js_strings.php:22 ../../include/widgets.php:699
-#: ../../include/widgets.php:711 ../../include/ItemObject.php:703
-#: ../../mod/appman.php:99 ../../mod/chat.php:184 ../../mod/chat.php:213
-#: ../../mod/connect.php:93 ../../mod/connedit.php:720
-#: ../../mod/events.php:461 ../../mod/events.php:658
-#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
-#: ../../mod/group.php:81 ../../mod/import.php:536
-#: ../../mod/import_items.php:116 ../../mod/invite.php:142
-#: ../../mod/locs.php:116 ../../mod/mail.php:380 ../../mod/mitem.php:231
-#: ../../mod/mood.php:135 ../../mod/pconfig.php:108 ../../mod/pdledit.php:59
-#: ../../mod/photos.php:645 ../../mod/photos.php:1019
-#: ../../mod/photos.php:1059 ../../mod/photos.php:1177 ../../mod/admin.php:457
-#: ../../mod/admin.php:646 ../../mod/admin.php:721 ../../mod/admin.php:986
-#: ../../mod/admin.php:1150 ../../mod/admin.php:1326 ../../mod/admin.php:1521
-#: ../../mod/admin.php:1606 ../../mod/poke.php:182 ../../mod/profiles.php:675
-#: ../../mod/rate.php:168 ../../mod/settings.php:586
-#: ../../mod/settings.php:698 ../../mod/settings.php:726
-#: ../../mod/settings.php:749 ../../mod/settings.php:834
-#: ../../mod/settings.php:1025 ../../mod/setup.php:333 ../../mod/setup.php:374
-#: ../../mod/sources.php:104 ../../mod/sources.php:138 ../../mod/thing.php:312
-#: ../../mod/thing.php:358 ../../mod/xchan.php:11
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Envoyer"
-
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Merci d'insérer une URL"
-
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Changements en attente. Voulez-vous vraiment quitter cette page?"
-
-#: ../../include/js_strings.php:25 ../../mod/events.php:452
-#: ../../mod/profiles.php:464 ../../mod/pubsites.php:28
-msgid "Location"
-msgstr "Emplacement"
-
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
-
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
-
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "auparavant"
-
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "de maintenant"
-
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
-msgstr "moins d'une minute"
-
-#: ../../include/js_strings.php:32
-msgid "about a minute"
-msgstr "environ une minute"
-
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
-msgstr "%d minutes"
-
-#: ../../include/js_strings.php:34
-msgid "about an hour"
-msgstr "environ une heure"
-
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
-msgstr "environ %d heures"
-
-#: ../../include/js_strings.php:36
-msgid "a day"
-msgstr "un jour"
-
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
-msgstr "%d jours"
-
-#: ../../include/js_strings.php:38
-msgid "about a month"
-msgstr "environ un mois"
-
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
-msgstr "%d mois"
-
-#: ../../include/js_strings.php:40
-msgid "about a year"
-msgstr "environ un an"
-
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
-msgstr "%d années"
-
-#: ../../include/js_strings.php:42
-msgid " "
-msgstr ""
-
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/js_strings.php:45 ../../include/text.php:1191
-msgid "January"
-msgstr "Janvier"
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1191
-msgid "February"
-msgstr "Février"
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1191
-msgid "March"
-msgstr "Mars"
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1191
-msgid "April"
-msgstr "Avril"
-
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
-msgstr "Mai"
-
-#: ../../include/js_strings.php:50 ../../include/text.php:1191
-msgid "June"
-msgstr "Juin"
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1191
-msgid "July"
-msgstr "Juillet"
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1191
-msgid "August"
-msgstr "Août"
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1191
-msgid "September"
-msgstr "Septembre"
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1191
-msgid "October"
-msgstr "Octobre"
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1191
-msgid "November"
-msgstr "Novembre"
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1191
-msgid "December"
-msgstr "Décembre"
-
-#: ../../include/js_strings.php:57
-msgid "Jan"
-msgstr "Jan"
-
-#: ../../include/js_strings.php:58
-msgid "Feb"
-msgstr "Fev"
-
-#: ../../include/js_strings.php:59
-msgid "Mar"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:60
-msgid "Apr"
-msgstr "Avr"
-
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
-msgstr "Mai"
-
-#: ../../include/js_strings.php:62
-msgid "Jun"
-msgstr "Jun"
-
-#: ../../include/js_strings.php:63
-msgid "Jul"
-msgstr "Jul"
-
-#: ../../include/js_strings.php:64
-msgid "Aug"
-msgstr "Aou"
-
-#: ../../include/js_strings.php:65
-msgid "Sep"
-msgstr "Sep"
-
-#: ../../include/js_strings.php:66
-msgid "Oct"
-msgstr "Oct"
-
-#: ../../include/js_strings.php:67
-msgid "Nov"
-msgstr "Nov"
-
-#: ../../include/js_strings.php:68
-msgid "Dec"
-msgstr "Dec"
-
-#: ../../include/js_strings.php:69 ../../include/text.php:1187
-msgid "Sunday"
-msgstr "Dimanche"
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1187
-msgid "Monday"
-msgstr "Lundi"
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1187
-msgid "Tuesday"
-msgstr "Mardi"
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1187
-msgid "Wednesday"
-msgstr "Mercredi"
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1187
-msgid "Thursday"
-msgstr "Jeudi"
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1187
-msgid "Friday"
-msgstr "Vendredi"
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1187
-msgid "Saturday"
-msgstr "Samedi"
-
-#: ../../include/js_strings.php:76
-msgid "Sun"
-msgstr "Dim"
-
-#: ../../include/js_strings.php:77
-msgid "Mon"
-msgstr "Lun"
-
-#: ../../include/js_strings.php:78
-msgid "Tue"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:79
-msgid "Wed"
-msgstr "Mer"
-
-#: ../../include/js_strings.php:80
-msgid "Thu"
-msgstr "Jeu"
-
-#: ../../include/js_strings.php:81
-msgid "Fri"
-msgstr "Ven"
-
-#: ../../include/js_strings.php:82
-msgid "Sat"
-msgstr "Sam"
-
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
-msgstr "aujourd'hui"
-
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
-msgstr "mois"
-
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
-msgstr "semaine"
-
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
-msgstr "jour"
-
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
-msgstr "Toute la journée"
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Pas de destinataire."
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[sans objet]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Impossible de déterminer l'émetteur."
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Le message stocké n'a pas pu être vérifié."
-
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1517
-msgid "Logout"
-msgstr "Déconnexion"
-
-#: ../../include/nav.php:82 ../../include/nav.php:115
-msgid "End this session"
-msgstr "Mettre fin à la session"
-
-#: ../../include/nav.php:85 ../../include/nav.php:146
-msgid "Home"
-msgstr "Mon canal"
-
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "Vos publications et conversations"
-
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Votre profil"
-
-#: ../../include/nav.php:88
-msgid "Edit Profiles"
-msgstr "Modifier les profils"
-
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Gérer/modifier les profils"
-
-#: ../../include/nav.php:90 ../../include/identity.php:977
-msgid "Edit Profile"
-msgstr "Éditeur de profil"
-
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Modifier votre profil"
-
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Vos photos"
-
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "Vos fichiers"
-
-#: ../../include/nav.php:98
-msgid "Your chatrooms"
-msgstr "Vos salons"
-
-#: ../../include/nav.php:104
-msgid "Your bookmarks"
-msgstr "Vos favoris"
-
-#: ../../include/nav.php:108
-msgid "Your webpages"
-msgstr "Vos pages web"
-
-#: ../../include/nav.php:112
-msgid "Sign in"
-msgstr "Connexion"
-
-#: ../../include/nav.php:129
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - cliquer ici pour déconnecter"
-
-#: ../../include/nav.php:132
-msgid "Remote authentication"
-msgstr "Authentification distante"
-
-#: ../../include/nav.php:132
-msgid "Click to authenticate to your home hub"
-msgstr "S'authentifier auprès de votre hub principal"
-
-#: ../../include/nav.php:146
-msgid "Home Page"
-msgstr "Page d'accueil"
-
-#: ../../include/nav.php:150 ../../mod/register.php:264 ../../boot.php:1500
-msgid "Register"
-msgstr "S'inscrire"
-
-#: ../../include/nav.php:150
-msgid "Create an account"
-msgstr "Créer un compte"
-
-#: ../../include/nav.php:155
-msgid "Help and documentation"
-msgstr "Aide et documentation"
-
-#: ../../include/nav.php:159 ../../include/widgets.php:102
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Applications"
-
-#: ../../include/nav.php:159
-msgid "Applications, utilities, links, games"
-msgstr "Applications, utilitaires, liens, jeux"
-
-#: ../../include/nav.php:161
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Recherche @nom, #tag, contenu"
-
-#: ../../include/nav.php:164
-msgid "Channel Directory"
-msgstr "Annuaire des canaux"
-
-#: ../../include/nav.php:176
-msgid "Your grid"
-msgstr "Votre réseau"
-
-#: ../../include/nav.php:177
-msgid "Mark all grid notifications seen"
-msgstr "Marquer toutes les notifications du réseau comme vues"
-
-#: ../../include/nav.php:179
-msgid "Channel home"
-msgstr "Mon canal"
-
-#: ../../include/nav.php:180
-msgid "Mark all channel notifications seen"
-msgstr "Marquer toutes les notifications du canal comme vues"
-
-#: ../../include/nav.php:183 ../../include/text.php:815
-#: ../../mod/connections.php:298
-msgid "Connections"
-msgstr "Contacts"
-
-#: ../../include/nav.php:186
-msgid "Notices"
-msgstr "Notifications"
-
-#: ../../include/nav.php:186
-msgid "Notifications"
-msgstr "Notifications"
-
-#: ../../include/nav.php:187
-msgid "See all notifications"
-msgstr "Voir toutes les notifications"
-
-#: ../../include/nav.php:188 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Marquer toutes les notifications système comme vues"
-
-#: ../../include/nav.php:190
-msgid "Private mail"
-msgstr "Messages privés"
-
-#: ../../include/nav.php:191
-msgid "See all private messages"
-msgstr "Voir tous les messages privés"
-
-#: ../../include/nav.php:192
-msgid "Mark all private messages seen"
-msgstr "Marquer tous les messages privés comme vus"
-
-#: ../../include/nav.php:193 ../../include/widgets.php:598
-msgid "Inbox"
-msgstr "Boîte de réception"
-
-#: ../../include/nav.php:194 ../../include/widgets.php:603
-msgid "Outbox"
-msgstr "Boîte d'envoi"
-
-#: ../../include/nav.php:195 ../../include/widgets.php:608
-msgid "New Message"
-msgstr "Nouveau message"
-
-#: ../../include/nav.php:198
-msgid "Event Calendar"
-msgstr "Calendrier des événements"
-
-#: ../../include/nav.php:199
-msgid "See all events"
-msgstr "Voir tous les événements"
-
-#: ../../include/nav.php:200
-msgid "Mark all events seen"
-msgstr "Marquer tous les événements comme vus"
-
-#: ../../include/nav.php:203
-msgid "Manage Your Channels"
-msgstr "Gérer vos canaux"
-
-#: ../../include/nav.php:205
-msgid "Account/Channel Settings"
-msgstr "Paramètres du Compte/Canal"
-
-#: ../../include/nav.php:213 ../../include/widgets.php:1320
-msgid "Admin"
-msgstr "Administrateur"
-
-#: ../../include/nav.php:213
-msgid "Site Setup and Configuration"
-msgstr "Configuration du site"
-
-#: ../../include/nav.php:249
-msgid "@name, #tag, ?doc, content"
-msgstr "@nom, #étiquette, ?doc, contenu"
-
-#: ../../include/nav.php:250
-msgid "Please wait..."
-msgstr "Merci de patienter..."
-
-#: ../../include/network.php:630
-msgid "view full size"
-msgstr "voir en taille réelle"
-
-#: ../../include/network.php:1612 ../../include/enotify.php:57
-msgid "$Projectname Notification"
-msgstr "Notification $Projectname"
-
-#: ../../include/network.php:1613 ../../include/enotify.php:58
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1615 ../../include/enotify.php:60
-msgid "Thank You,"
-msgstr "Merci,"
-
-#: ../../include/network.php:1617 ../../include/enotify.php:62
-#, php-format
-msgid "%s Administrator"
-msgstr "l'administrateur de %s"
-
-#: ../../include/network.php:1674
-msgid "No Subject"
-msgstr "Pas d'objet"
-
-#: ../../include/notify.php:20
-msgid "created a new post"
-msgstr "a publié un nouveau message"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer."
-#: ../../include/notify.php:21
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Module/Openid.php:183
#, php-format
-msgid "commented on %s's post"
-msgstr "a commenté la publication de %s"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Bienvenue %s. L'authentification distante a fonctionné."
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Nouvelle page"
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+msgid "Requested profile is not available."
+msgstr "Profil demandé non disponible."
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
-#: ../../mod/layouts.php:188 ../../mod/webpages.php:187
-msgid "View"
-msgstr "Voir"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Quelques mots sur quoi faire quand on est nouveau ici"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
-msgid "Actions"
-msgstr "Actions"
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
+#: ../../Zotlabs/Module/Editblock.php:108
+msgid "Block Name"
+msgstr "Nom du Bloc"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
-msgid "Page Link"
-msgstr "Lien vers la page"
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
+msgid "Blocks"
+msgstr "Blocs"
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Titre"
+#: ../../Zotlabs/Module/Blocks.php:153
+msgid "Block Title"
+msgstr "Titre du bloc"
-#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
-#: ../../mod/layouts.php:181 ../../mod/menu.php:110 ../../mod/webpages.php:192
+#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
+#: ../../include/page_widgets.php:44
msgid "Created"
msgstr "Créé(e)"
-#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
-#: ../../mod/layouts.php:182 ../../mod/menu.php:111 ../../mod/webpages.php:193
+#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
+#: ../../include/page_widgets.php:45
msgid "Edited"
msgstr "Modifié(e)"
-#: ../../include/photo/photo_driver.php:722 ../../mod/photos.php:94
-#: ../../mod/photos.php:711 ../../mod/profile_photo.php:147
-#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379
-msgid "Profile Photos"
-msgstr "Photos du profil"
-
-#: ../../include/photos.php:112
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'image dépasse la taille limite de %lu octets"
-
-#: ../../include/photos.php:119
-msgid "Image file is empty."
-msgstr "L'image est vide."
-
-#: ../../include/photos.php:146 ../../mod/profile_photo.php:225
-#: ../../mod/cover_photo.php:164
-msgid "Unable to process image"
-msgstr "Impossible de traiter l'image"
-
-#: ../../include/photos.php:257
-msgid "Photo storage failed."
-msgstr "Le stockage de l'image a échoué."
-
-#: ../../include/photos.php:297
-msgid "a new photo"
-msgstr "une nouvelle photo"
-
-#: ../../include/photos.php:301
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s a publié %2$s pour %3$s"
-
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Ajouter des photos"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
-msgid "Male"
-msgstr "Homme"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
-msgid "Female"
-msgstr "Femme"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Actuellement homme"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Actuellement femme"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Surtout homme"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Surtout femme"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgenre"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersexuel"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transsexuel"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermaphrodite"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutre"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Non spécifique"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871
-msgid "Other"
-msgstr "Autre"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Indécis"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
-msgstr "Hommes"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
-msgstr "Femmes"
-
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
-msgstr "Lesbienne"
-
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
-msgstr "Sans préférence"
-
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
-msgstr "Bisexuel"
-
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
-msgstr "Autosexuel"
-
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
-msgstr "Abstinent"
-
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
-msgstr "Vierge"
-
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
-msgstr "Déviant"
-
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
-msgstr "Fétichiste"
-
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
-msgstr "Une floppée"
-
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
-msgstr "Non-sexuel"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
-msgstr "Célibataire"
-
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
-msgstr "Solitaire"
-
-#: ../../include/profile_selectors.php:80
-msgid "Available"
-msgstr "Disponible"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
-msgstr "Indisponible"
-
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
-msgstr "A un béguin"
-
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
-msgstr "Amoureux transi"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
-msgstr "Sort avec quelqu'un"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
-msgstr "Infidèle"
-
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
-msgstr "Accro au sexe"
-
-#: ../../include/profile_selectors.php:80 ../../include/identity.php:390
-#: ../../include/identity.php:391 ../../include/identity.php:398
-#: ../../include/widgets.php:451 ../../mod/connedit.php:582
-#: ../../mod/settings.php:338 ../../mod/settings.php:342
-#: ../../mod/settings.php:343 ../../mod/settings.php:346
-#: ../../mod/settings.php:357
-msgid "Friends"
-msgstr "Amis"
-
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
-msgstr "Amis avec bénéfices"
-
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
-msgstr "Sans engagement"
-
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
-msgstr "Fiancé(e)"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
-msgstr "Marié(e)"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
-msgstr "Marié(e) dans ses rêves"
-
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
-msgstr "Partenaires"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
-msgstr "En cohabitation"
-
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
-msgstr "Conjoints de fait"
-
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
-msgstr "Heureux"
-
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
-msgstr "Pas en recherche"
-
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
-msgstr "Echangiste"
-
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
-msgstr "Trahi(e)"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
-msgstr "Séparé(e)"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
-msgstr "Instable"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
-msgstr "Divorcé(e)"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
-msgstr "Divorcé(e) dans ses rêves"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
-msgstr "Veuf/veuve"
-
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
-msgstr "Incertain"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
-msgstr "C'est compliqué"
-
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
-msgstr "S'en fiche"
-
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
-msgstr "Me demander"
-
-#: ../../include/security.php:384
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."
-
-#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261
-msgid "Tags"
-msgstr "Étiquettes"
-
-#: ../../include/taxonomy.php:305
-msgid "Keywords"
-msgstr "Mots-clefs"
-
-#: ../../include/taxonomy.php:326
-msgid "have"
-msgstr "ont"
-
-#: ../../include/taxonomy.php:326
-msgid "has"
-msgstr "a"
-
-#: ../../include/taxonomy.php:327
-msgid "want"
-msgstr "veulent"
-
-#: ../../include/taxonomy.php:327
-msgid "wants"
-msgstr "veut"
-
-#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254
-msgid "like"
-msgstr "aiment"
-
-#: ../../include/taxonomy.php:328
-msgid "likes"
-msgstr "aime"
-
-#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255
-msgid "dislike"
-msgstr "n'aiment pas"
-
-#: ../../include/taxonomy.php:329
-msgid "dislikes"
-msgstr "n'aime pas"
-
-#: ../../include/zot.php:676
-msgid "Invalid data packet"
-msgstr "Paquet de données invalide"
-
-#: ../../include/zot.php:692
-msgid "Unable to verify channel signature"
-msgstr "Impossible de vérifier la signature du canal"
-
-#: ../../include/zot.php:2268
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossible de vérifier la signature de site pour %s"
-
-#: ../../include/zot.php:3591
-msgid "invalid target signature"
-msgstr "signature de la cible invalide"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Fréquemment"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Toutes les heures"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Deux fois par jour"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Chaque jour"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Chaque semaine"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Chaque mois"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:989 ../../mod/admin.php:998
-#: ../../boot.php:1520
-msgid "Email"
-msgstr "Courriel"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot"
-msgstr "Zot"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "Linkedin"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/text.php:394
-msgid "prev"
-msgstr "préc."
-
-#: ../../include/text.php:396
-msgid "first"
-msgstr "premier"
-
-#: ../../include/text.php:425
-msgid "last"
-msgstr "dernier"
-
-#: ../../include/text.php:428
-msgid "next"
-msgstr "Suivant"
-
-#: ../../include/text.php:438
-msgid "older"
-msgstr "plus ancien"
-
-#: ../../include/text.php:440
-msgid "newer"
-msgstr "plus récent"
-
-#: ../../include/text.php:803
-msgid "No connections"
-msgstr "Pas de relations."
-
-#: ../../include/text.php:828
-#, php-format
-msgid "View all %s connections"
-msgstr "Voir les %s contacts"
-
-#: ../../include/text.php:886 ../../include/text.php:898
-#: ../../include/widgets.php:202 ../../mod/filer.php:49
-#: ../../mod/admin.php:1666 ../../mod/admin.php:1686 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:100
-msgid "Save"
-msgstr "Enregistrer"
-
-#: ../../include/text.php:973 ../../include/text.php:978
-msgid "poke"
-msgstr "tapoter"
-
-#: ../../include/text.php:979
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:979
-msgid "pinged"
-msgstr "pingé"
-
-#: ../../include/text.php:980
-msgid "prod"
-msgstr "encourager"
-
-#: ../../include/text.php:980
-msgid "prodded"
-msgstr "encouragé"
-
-#: ../../include/text.php:981
-msgid "slap"
-msgstr "giffler"
-
-#: ../../include/text.php:981
-msgid "slapped"
-msgstr "gifflé(e)"
-
-#: ../../include/text.php:982
-msgid "finger"
-msgstr "pointer"
-
-#: ../../include/text.php:982
-msgid "fingered"
-msgstr "pointé"
-
-#: ../../include/text.php:983
-msgid "rebuff"
-msgstr "rejetter"
-
-#: ../../include/text.php:983
-msgid "rebuffed"
-msgstr "rejeté"
-
-#: ../../include/text.php:995
-msgid "happy"
-msgstr "heureux"
-
-#: ../../include/text.php:996
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:997
-msgid "mellow"
-msgstr "mélancolique"
-
-#: ../../include/text.php:998
-msgid "tired"
-msgstr "fatigué"
-
-#: ../../include/text.php:999
-msgid "perky"
-msgstr "impertinent"
-
-#: ../../include/text.php:1000
-msgid "angry"
-msgstr "en colère"
-
-#: ../../include/text.php:1001
-msgid "stupefied"
-msgstr "stupéfait"
-
-#: ../../include/text.php:1002
-msgid "puzzled"
-msgstr "perplexe"
-
-#: ../../include/text.php:1003
-msgid "interested"
-msgstr "intéressé"
-
-#: ../../include/text.php:1004
-msgid "bitter"
-msgstr "amer"
-
-#: ../../include/text.php:1005
-msgid "cheerful"
-msgstr "plein d'entrain"
-
-#: ../../include/text.php:1006
-msgid "alive"
-msgstr "vivant"
-
-#: ../../include/text.php:1007
-msgid "annoyed"
-msgstr "agaçé"
-
-#: ../../include/text.php:1008
-msgid "anxious"
-msgstr "anxieux"
-
-#: ../../include/text.php:1009
-msgid "cranky"
-msgstr "énervé"
-
-#: ../../include/text.php:1010
-msgid "disturbed"
-msgstr "perturbé"
-
-#: ../../include/text.php:1011
-msgid "frustrated"
-msgstr "frustré"
-
-#: ../../include/text.php:1012
-msgid "depressed"
-msgstr "déprimé"
-
-#: ../../include/text.php:1013
-msgid "motivated"
-msgstr "motivé"
-
-#: ../../include/text.php:1014
-msgid "relaxed"
-msgstr "détendu"
-
-#: ../../include/text.php:1015
-msgid "surprised"
-msgstr "surpris"
-
-#: ../../include/text.php:1191
-msgid "May"
-msgstr "Mai"
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
+#: ../../include/conversation.php:1208
+msgid "Share"
+msgstr "Partager"
-#: ../../include/text.php:1268 ../../include/text.php:1272
-msgid "Unknown Attachment"
-msgstr "Pièce jointe inconnue"
+#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
+#: ../../include/page_widgets.php:39
+msgid "View"
+msgstr "Voir"
-#: ../../include/text.php:1274
-msgid "unknown"
-msgstr "Inconnu"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Canal introuvable."
-#: ../../include/text.php:1310
-msgid "remove category"
-msgstr "supprimer la catégorie"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permissions refusées."
-#: ../../include/text.php:1387
-msgid "remove from file"
-msgstr "retirer du fichier"
-
-#: ../../include/text.php:1529 ../../include/text.php:1540
-msgid "Click to open/close"
-msgstr "Cliquer pour ouvrir/fermer"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
+msgid "l, F j"
+msgstr "l, F j"
-#: ../../include/text.php:1724 ../../mod/events.php:623
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
msgid "Link to Source"
msgstr "Lien vers la Source"
-#: ../../include/text.php:1745 ../../include/text.php:1817
-msgid "default"
-msgstr "défaut"
-
-#: ../../include/text.php:1753
-msgid "Page layout"
-msgstr "Mise en page"
-
-#: ../../include/text.php:1753
-msgid "You can create your own with the layouts tool"
-msgstr "Créez les vôtres avec les outils de mise en page"
-
-#: ../../include/text.php:1795
-msgid "Page content type"
-msgstr "Type de contenu de la page"
-
-#: ../../include/text.php:1829
-msgid "Select an alternate language"
-msgstr "Choisir une langue alternative"
-
-#: ../../include/text.php:1961
-msgid "activity"
-msgstr "activité"
-
-#: ../../include/text.php:2256
-msgid "Design Tools"
-msgstr "Outils de conception"
-
-#: ../../include/text.php:2259 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Blocs"
-
-#: ../../include/text.php:2260 ../../mod/menu.php:103
-msgid "Menus"
-msgstr "Menus"
-
-#: ../../include/text.php:2261 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Mises-en-page"
-
-#: ../../include/text.php:2262
-msgid "Pages"
-msgstr "Pages"
-
-#: ../../include/items.php:423 ../../index.php:376 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/group.php:68
-#: ../../mod/import_items.php:108 ../../mod/like.php:280
-#: ../../mod/profperm.php:23 ../../mod/subthread.php:58
-msgid "Permission denied"
-msgstr "Accès refusé"
-
-#: ../../include/items.php:1137 ../../include/items.php:1183
-msgid "(Unknown)"
-msgstr "(Inconnu)"
-
-#: ../../include/items.php:1380
-msgid "Visible to anybody on the internet."
-msgstr "Visible pour tout le monde sur internet."
-
-#: ../../include/items.php:1382
-msgid "Visible to you only."
-msgstr "Visible pour vous seulement."
-
-#: ../../include/items.php:1384
-msgid "Visible to anybody in this network."
-msgstr "Visible pour tout le monde sur ce réseau."
-
-#: ../../include/items.php:1386
-msgid "Visible to anybody authenticated."
-msgstr "Visible aux utilisateurs authentifiés."
-
-#: ../../include/items.php:1388
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible pour tous sur %s."
-
-#: ../../include/items.php:1390
-msgid "Visible to all connections."
-msgstr "Visible pour tous les contacts."
-
-#: ../../include/items.php:1392
-msgid "Visible to approved connections."
-msgstr "Visible aux contacts approuvés."
-
-#: ../../include/items.php:1394
-msgid "Visible to specific connections."
-msgstr "Visible pour certains contacts."
-
-#: ../../include/items.php:4358 ../../mod/display.php:36
-#: ../../mod/filestorage.php:27 ../../mod/admin.php:141
-#: ../../mod/admin.php:1189 ../../mod/admin.php:1434 ../../mod/thing.php:85
-#: ../../mod/viewsrc.php:20
-msgid "Item not found."
-msgstr "Élément introuvable"
-
-#: ../../include/items.php:4870 ../../mod/group.php:38 ../../mod/group.php:137
-msgid "Privacy group not found."
-msgstr "Groupe d'accès introuvable."
-
-#: ../../include/items.php:4886
-msgid "Privacy group is empty."
-msgstr "Groupe d'accès vide."
-
-#: ../../include/items.php:4893
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Groupe d'accès&nbsp;: %s"
-
-#: ../../include/items.php:4903 ../../mod/connedit.php:692
-#, php-format
-msgid "Connection: %s"
-msgstr "Contact&nbsp;: %s"
-
-#: ../../include/items.php:4905
-msgid "Connection not found."
-msgstr "Contact non trouvé."
-
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Notify] Nouveau courriel reçu à %s"
-
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s."
-
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s vous a envoyé %2$s."
-
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "un message privé"
-
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés."
-
-#: ../../include/enotify.php:160
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]"
-
-#: ../../include/enotify.php:168
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]"
-
-#: ../../include/enotify.php:177
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]"
-
-#: ../../include/enotify.php:188
-#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Notify] Commentaire de %2$s sur conversation #%1$d"
-
-#: ../../include/enotify.php:189
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez."
-
-#: ../../include/enotify.php:192 ../../include/enotify.php:207
-#: ../../include/enotify.php:233 ../../include/enotify.php:251
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
-
-#: ../../include/enotify.php:198
-#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Notify] %s a publié sur votre profil"
-
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s a publié sur votre profil à %3$s"
-
-#: ../../include/enotify.php:202
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Notify] %s vous a étiqueté"
-
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s"
-
-#: ../../include/enotify.php:228
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]."
-
-#: ../../include/enotify.php:240
-#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Notify] %1$s vous a tapoté"
-
-#: ../../include/enotify.php:241
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s vous a tapoté sur %3$s"
-
-#: ../../include/enotify.php:242
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]vous a tapoté[/zrl]."
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Notify] %s a étiqueté votre publication"
-
-#: ../../include/enotify.php:259
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s"
-
-#: ../../include/enotify.php:260
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]"
-
-#: ../../include/enotify.php:272
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Notify] Nouvelle présentation"
-
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une demande de contact de '%2$s' sur %3$s"
-
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de contact[/zrl] de %3$s."
-
-#: ../../include/enotify.php:278 ../../include/enotify.php:297
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Vous pouvez visiter leur profil sur %s"
-
-#: ../../include/enotify.php:280
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de contact."
-
-#: ../../include/enotify.php:287
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)"
-
-#: ../../include/enotify.php:288
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une suggestion d'ami(e) de '%2$s' à %3$s"
-
-#: ../../include/enotify.php:289
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion d'ami(e)[/zrl] de %4$s."
-
-#: ../../include/enotify.php:295
-msgid "Name:"
-msgstr "Nom&nbsp;:"
-
-#: ../../include/enotify.php:296
-msgid "Photo:"
-msgstr "Photo&nbsp;:"
-
-#: ../../include/enotify.php:299
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion."
-
-#: ../../include/enotify.php:514
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Notify]"
-
-#: ../../include/features.php:48
-msgid "General Features"
-msgstr "Fonctionnalités générales"
-
-#: ../../include/features.php:50
-msgid "Content Expiration"
-msgstr "Expiration du contenu"
-
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard"
-
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
-msgstr "Profils multiples"
-
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
-msgstr "Possibilité de créer plusieurs profils"
-
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
-msgstr "Profils Avancés"
-
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
-msgstr "Sections et sélections supplémentaires du profil"
-
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
-msgstr "Importer/Exporter le profil"
-
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
-msgstr "Sauvegarder et charger les détails d'un profil entre sites/canaux"
-
-#: ../../include/features.php:54
-msgid "Web Pages"
-msgstr "Pages web"
-
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
-msgstr "Fournir des pages web, sous votre contrôle, sur votre canal"
-
-#: ../../include/features.php:55
-msgid "Hide Rating"
-msgstr "Masquer l'évaluation"
-
-#: ../../include/features.php:55
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs."
-
-#: ../../include/features.php:56
-msgid "Private Notes"
-msgstr "Notes privées"
-
-#: ../../include/features.php:56
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)"
-
-#: ../../include/features.php:57
-msgid "Navigation Channel Select"
-msgstr "Sélection du canal par la navigation"
-
-#: ../../include/features.php:57
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Changez de canal directement depuis le menu de navigation déroulant"
-
-#: ../../include/features.php:58
-msgid "Photo Location"
-msgstr "Site de prise de vue"
-
-#: ../../include/features.php:58
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte."
-
-#: ../../include/features.php:60
-msgid "Expert Mode"
-msgstr "Mode expert"
-
-#: ../../include/features.php:60
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Activer le mode expert pour accéder aux options avancées"
-
-#: ../../include/features.php:61
-msgid "Premium Channel"
-msgstr "Canal VIP"
-
-#: ../../include/features.php:61
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"
-
-#: ../../include/features.php:66
-msgid "Post Composition Features"
-msgstr "Fonctionnalités de composition"
-
-#: ../../include/features.php:68
-msgid "Use Markdown"
-msgstr "Utiliser Markdown"
-
-#: ../../include/features.php:68
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Autoriser l'utilisation de \"Markdown\" pour mettre en forme les messages"
-
-#: ../../include/features.php:69
-msgid "Large Photos"
-msgstr "Grandes photos"
-
-#: ../../include/features.php:69
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)."
-
-#: ../../include/features.php:70 ../../include/widgets.php:569
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Sources du canal"
-
-#: ../../include/features.php:70
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif"
-
-#: ../../include/features.php:71
-msgid "Even More Encryption"
-msgstr "Encore plus de chiffrement"
-
-#: ../../include/features.php:71
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé"
-
-#: ../../include/features.php:72
-msgid "Enable Voting Tools"
-msgstr "Activer les outils de vote"
-
-#: ../../include/features.php:72
-msgid "Provide a class of post which others can vote on"
-msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent voter"
-
-#: ../../include/features.php:73
-msgid "Delayed Posting"
-msgstr "Publication plus tard"
-
-#: ../../include/features.php:73
-msgid "Allow posts to be published at a later date"
-msgstr "Permettre de publier des messages à une date programmée"
-
-#: ../../include/features.php:74
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Supprimer les publications/commentaires en doublon"
-
-#: ../../include/features.php:74
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle"
-
-#: ../../include/features.php:80
-msgid "Network and Stream Filtering"
-msgstr "Filtrage du réseau et des flux"
-
-#: ../../include/features.php:81
-msgid "Search by Date"
-msgstr "Chercher par date"
-
-#: ../../include/features.php:81
-msgid "Ability to select posts by date ranges"
-msgstr "Pouvoir choisir des publications par date"
-
-#: ../../include/features.php:82
-msgid "Enable management and selection of privacy groups"
-msgstr "Active la gestion et la sélection des groupes d'accès"
-
-#: ../../include/features.php:83 ../../include/widgets.php:284
-msgid "Saved Searches"
-msgstr "Recherches sauvegardées"
-
-#: ../../include/features.php:83
-msgid "Save search terms for re-use"
-msgstr "Sauvegarder des termes de recherche pour utilisation ultérieure"
-
-#: ../../include/features.php:84
-msgid "Network Personal Tab"
-msgstr "Onglet \"Me concernant\""
-
-#: ../../include/features.php:84
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"
-
-#: ../../include/features.php:85
-msgid "Network New Tab"
-msgstr "Onglet \"nouveautés réseau\""
-
-#: ../../include/features.php:85
-msgid "Enable tab to display all new Network activity"
-msgstr "Activer un onglet présentant toute l'activité récente sur le réseau"
-
-#: ../../include/features.php:86
-msgid "Affinity Tool"
-msgstr "Gérer l'affinité"
-
-#: ../../include/features.php:86
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations"
-
-#: ../../include/features.php:87
-msgid "Connection Filtering"
-msgstr "Filtrage des contacts"
-
-#: ../../include/features.php:87
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs"
-
-#: ../../include/features.php:88
-msgid "Suggest Channels"
-msgstr "Suggérer des canaux"
-
-#: ../../include/features.php:88
-msgid "Show channel suggestions"
-msgstr "Montrer les suggestions de canaux"
-
-#: ../../include/features.php:93
-msgid "Post/Comment Tools"
-msgstr "Gérer les publications/commentaires"
-
-#: ../../include/features.php:94
-msgid "Community Tagging"
-msgstr "Etiquetage communautaire"
-
-#: ../../include/features.php:94
-msgid "Ability to tag existing posts"
-msgstr "Permettre de marquer les publications existantes"
-
-#: ../../include/features.php:95
-msgid "Post Categories"
-msgstr "Catégoriser les publications"
-
-#: ../../include/features.php:95
-msgid "Add categories to your posts"
-msgstr "Ajouter des catégories à vos publications"
-
-#: ../../include/features.php:96
-msgid "Ability to file posts under folders"
-msgstr "Permettre de classer les publications dans des dossiers"
-
-#: ../../include/features.php:97
-msgid "Dislike Posts"
-msgstr "\"Ne pas aimer\" les publications"
-
-#: ../../include/features.php:97
-msgid "Ability to dislike posts/comments"
-msgstr "Possibilité de \"ne pas aimer\" les publications/commentaires"
-
-#: ../../include/features.php:98
-msgid "Star Posts"
-msgstr "Pouvoir mettre en avant les publications"
-
-#: ../../include/features.php:98
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Pouvoir marquer certaines publications d'une étoile"
-
-#: ../../include/features.php:99
-msgid "Tag Cloud"
-msgstr "Nuage de tags"
-
-#: ../../include/features.php:99
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Afficher un nuage de vos tags sur votre canal"
-
-#: ../../include/identity.php:32
-msgid "Unable to obtain identity information from database"
-msgstr "Impossible d'obtenir les données d'identité depuis la base de données"
-
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr "Nom vide"
-
-#: ../../include/identity.php:69
-msgid "Name too long"
-msgstr "Nom trop long"
-
-#: ../../include/identity.php:181
-msgid "No account identifier"
-msgstr "Pas d'identifiant de compte"
-
-#: ../../include/identity.php:193
-msgid "Nickname is required."
-msgstr "Un surnom est requis."
-
-#: ../../include/identity.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Surnom réservé. Merci d'en choisir un autre."
-
-#: ../../include/identity.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site."
-
-#: ../../include/identity.php:288
-msgid "Unable to retrieve created identity"
-msgstr "Impossible de récupérer l'identité créée"
-
-#: ../../include/identity.php:346
-msgid "Default Profile"
-msgstr "Profil par défaut"
-
-#: ../../include/identity.php:772
-msgid "Requested channel is not available."
-msgstr "Canal demandé non disponible."
-
-#: ../../include/identity.php:818 ../../mod/achievements.php:11
-#: ../../mod/blocks.php:29 ../../mod/connect.php:13 ../../mod/editblock.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29
-#: ../../mod/profile.php:16 ../../mod/webpages.php:29
-msgid "Requested profile is not available."
-msgstr "Profil demandé non disponible."
-
-#: ../../include/identity.php:967 ../../mod/profiles.php:782
-msgid "Change profile photo"
-msgstr "Changer la photo du profil"
-
-#: ../../include/identity.php:973
-msgid "Profiles"
-msgstr "Profils"
-
-#: ../../include/identity.php:973
-msgid "Manage/edit profiles"
-msgstr "Gérer/modifier les profils"
-
-#: ../../include/identity.php:974 ../../mod/profiles.php:783
-msgid "Create New Profile"
-msgstr "Créer un nouveau profil"
-
-#: ../../include/identity.php:989 ../../mod/profiles.php:794
-msgid "Profile Image"
-msgstr "Image du profil"
-
-#: ../../include/identity.php:992
-msgid "visible to everybody"
-msgstr "visible pour tous"
-
-#: ../../include/identity.php:993 ../../mod/profiles.php:677
-#: ../../mod/profiles.php:798
-msgid "Edit visibility"
-msgstr "Changer la visibilité"
-
-#: ../../include/identity.php:1009 ../../include/identity.php:1252
-msgid "Gender:"
-msgstr "Sexe&nbsp;:"
-
-#: ../../include/identity.php:1010 ../../include/identity.php:1296
-msgid "Status:"
-msgstr "État&nbsp;:"
-
-#: ../../include/identity.php:1011 ../../include/identity.php:1307
-msgid "Homepage:"
-msgstr "Site Internet&nbsp;:"
-
-#: ../../include/identity.php:1012
-msgid "Online Now"
-msgstr "Connecté"
-
-#: ../../include/identity.php:1099 ../../include/identity.php:1177
-#: ../../mod/ping.php:318
-msgid "g A l F d"
-msgstr "g A l F d"
-
-#: ../../include/identity.php:1100 ../../include/identity.php:1178
-msgid "F d"
-msgstr "d F"
-
-#: ../../include/identity.php:1145 ../../include/identity.php:1217
-#: ../../mod/ping.php:341
-msgid "[today]"
-msgstr "[aujourd'hui]"
-
-#: ../../include/identity.php:1156
-msgid "Birthday Reminders"
-msgstr "Rappels d'anniversaires"
-
-#: ../../include/identity.php:1157
-msgid "Birthdays this week:"
-msgstr "Anniversaires cette semaine&nbsp;:"
-
-#: ../../include/identity.php:1210
-msgid "[No description]"
-msgstr "[Pas de description]"
-
-#: ../../include/identity.php:1228
-msgid "Event Reminders"
-msgstr "Rappels d'événements"
-
-#: ../../include/identity.php:1229
-msgid "Events this week:"
-msgstr "Événements cette semaine&nbsp;:"
-
-#: ../../include/identity.php:1250 ../../mod/settings.php:1031
-msgid "Full Name:"
-msgstr "Nom complet&nbsp;:"
-
-#: ../../include/identity.php:1257
-msgid "Like this channel"
-msgstr "J'aime ce canal"
-
-#: ../../include/identity.php:1281
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/identity.php:1282
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/identity.php:1289
-msgid "Birthday:"
-msgstr "Date de naissance&nbsp;:"
-
-#: ../../include/identity.php:1293 ../../mod/directory.php:302
-msgid "Age:"
-msgstr "Age&nbsp;:"
-
-#: ../../include/identity.php:1302
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "depuis %1$d %2$s"
-
-#: ../../include/identity.php:1305 ../../mod/profiles.php:699
-msgid "Sexual Preference:"
-msgstr "Orientation sexuelle&nbsp;:"
-
-#: ../../include/identity.php:1309 ../../mod/directory.php:318
-#: ../../mod/profiles.php:701
-msgid "Hometown:"
-msgstr "Ville natale&nbsp;:"
-
-#: ../../include/identity.php:1311
-msgid "Tags:"
-msgstr "Étiquettes&nbsp;:"
-
-#: ../../include/identity.php:1313 ../../mod/profiles.php:702
-msgid "Political Views:"
-msgstr "Opinions politiques&nbsp;:"
-
-#: ../../include/identity.php:1315
-msgid "Religion:"
-msgstr "Religion&nbsp;:"
-
-#: ../../include/identity.php:1317 ../../mod/directory.php:320
-msgid "About:"
-msgstr "À propos&nbsp;:"
-
-#: ../../include/identity.php:1319
-msgid "Hobbies/Interests:"
-msgstr "Occupations/Centres d'intérêt&nbsp;:"
-
-#: ../../include/identity.php:1321 ../../mod/profiles.php:705
-msgid "Likes:"
-msgstr "Aime&nbsp;:"
-
-#: ../../include/identity.php:1323 ../../mod/profiles.php:706
-msgid "Dislikes:"
-msgstr "N'aime pas&nbsp;:"
-
-#: ../../include/identity.php:1325
-msgid "Contact information and Social Networks:"
-msgstr "Coordonnées et réseaux sociaux&nbsp;:"
-
-#: ../../include/identity.php:1327
-msgid "My other channels:"
-msgstr "Mes autres canaux&nbsp;:"
-
-#: ../../include/identity.php:1329
-msgid "Musical interests:"
-msgstr "Goûts musicaux&nbsp;:"
-
-#: ../../include/identity.php:1331
-msgid "Books, literature:"
-msgstr "Lectures, goûts littéraires&nbsp;:"
-
-#: ../../include/identity.php:1333
-msgid "Television:"
-msgstr "Télévision&nbsp;:"
-
-#: ../../include/identity.php:1335
-msgid "Film/dance/culture/entertainment:"
-msgstr "Cinéma/danse/culture/divertissement&nsbp;:"
-
-#: ../../include/identity.php:1337
-msgid "Love/Romance:"
-msgstr "Vie sentimentale/amoureuse&nbsp;:"
-
-#: ../../include/identity.php:1339
-msgid "Work/employment:"
-msgstr "Travail/Occupation&nbsp;"
-
-#: ../../include/identity.php:1341
-msgid "School/education:"
-msgstr "Études&nbsp;"
-
-#: ../../include/identity.php:1361
-msgid "Like this thing"
-msgstr "J'aime ceci"
-
-#: ../../include/identity.php:1769 ../../mod/cover_photo.php:236
-msgid "cover photo"
-msgstr "Photo principale"
-
-#: ../../include/oembed.php:267
-msgid "Embedded content"
-msgstr "Contenu imbriqué"
-
-#: ../../include/oembed.php:276
-msgid "Embedding disabled"
-msgstr "Imbrication désactivée"
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Peut voir les publications ordinaires sur mon canal."
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Peut voir le profil du canal par défaut."
-
-#: ../../include/permissions.php:28
-msgid "Can view my connections"
-msgstr "Peut voir mes contacts"
-
-#: ../../include/permissions.php:29
-msgid "Can view my file storage and photos"
-msgstr "Peut voir mes fichiers et photos"
-
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
-msgstr "Peut voir mes pages web"
-
-#: ../../include/permissions.php:33
-msgid "Can send me their channel stream and posts"
-msgstr "Peuvent m'envoyer leur flux et les publications de leur canal"
-
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Peuvent poster sur la page de mon canal (\"mur\")"
-
-#: ../../include/permissions.php:35
-msgid "Can comment on or like my posts"
-msgstr "Peuvent commenter et/ou aimer mes publications"
-
-#: ../../include/permissions.php:36
-msgid "Can send me private mail messages"
-msgstr "Peuvent m'envoyer des messages privés"
-
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
-msgstr "Peuvent aimer/ne pas aimer"
-
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
-msgstr "Profils et autres excluant les publications/commentaires."
-
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Peut faire suivre à tous les contacts de mon canal via \"@mention\""
-
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avancé - utile pour les canaux de type \"forum/groupe\""
-
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
-msgstr "Peut discuter avec moi (quand disponibie)"
-
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
-msgstr "Peut charger des fichiers et des photos dans mon canal"
-
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
-msgstr "Peut modifier mes pages web"
-
-#: ../../include/permissions.php:44
-msgid "Can source my public posts in derived channels"
-msgstr "Peut rediriger mes publications publiques vers des canaux dérivés"
-
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Plutôt avancé - très utile dans les communautés ouvertes"
-
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
-msgstr "Peut administrer les ressources de mon canal"
-
-#: ../../include/permissions.php:46
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes"
-
-#: ../../include/permissions.php:867
-msgid "Social Networking"
-msgstr "Réseau social"
-
-#: ../../include/permissions.php:867 ../../include/permissions.php:868
-#: ../../include/permissions.php:869
-msgid "Mostly Public"
-msgstr "Pincipalement public"
-
-#: ../../include/permissions.php:867 ../../include/permissions.php:868
-#: ../../include/permissions.php:869
-msgid "Restricted"
-msgstr "Accès restreint"
-
-#: ../../include/permissions.php:867 ../../include/permissions.php:868
-msgid "Private"
-msgstr "Privé"
-
-#: ../../include/permissions.php:868
-msgid "Community Forum"
-msgstr "Forum communautaire"
-
-#: ../../include/permissions.php:869
-msgid "Feed Republish"
-msgstr "Republication de flux"
-
-#: ../../include/permissions.php:870
-msgid "Special Purpose"
-msgstr "Utilisation spécifique"
-
-#: ../../include/permissions.php:870
-msgid "Celebrity/Soapbox"
-msgstr "Page de célébrité/tribune"
-
-#: ../../include/permissions.php:870
-msgid "Group Repository"
-msgstr "Espace de groupe"
-
-#: ../../include/permissions.php:871
-msgid "Custom/Expert Mode"
-msgstr "Mode expert/spécifique"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Système"
-
-#: ../../include/widgets.php:106
-msgid "Create Personal App"
-msgstr "Créer votre application"
-
-#: ../../include/widgets.php:107
-msgid "Edit Personal App"
-msgstr "Modifier votre application"
-
-#: ../../include/widgets.php:149 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignorer/Cacher"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Suggestions"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Voir plus..."
-
-#: ../../include/widgets.php:176
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Vous avez %1$.0f sur %2$.0f contacts autorisés."
-
-#: ../../include/widgets.php:182
-msgid "Add New Connection"
-msgstr "Ajouter un nouveau contact"
-
-#: ../../include/widgets.php:183
-msgid "Enter channel address"
-msgstr "Saisissez l'adresse du canal"
-
-#: ../../include/widgets.php:184
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie"
-
-#: ../../include/widgets.php:200
-msgid "Notes"
-msgstr "Notes"
-
-#: ../../include/widgets.php:276
-msgid "Remove term"
-msgstr "Retirer le terme"
-
-#: ../../include/widgets.php:359
-msgid "Archives"
-msgstr "Archives"
-
-#: ../../include/widgets.php:449 ../../mod/connedit.php:580
-msgid "Me"
-msgstr "Moi"
-
-#: ../../include/widgets.php:450 ../../mod/connedit.php:581
-msgid "Family"
-msgstr "Famille"
-
-#: ../../include/widgets.php:452 ../../mod/connedit.php:583
-msgid "Acquaintances"
-msgstr "Connaissances"
-
-#: ../../include/widgets.php:453 ../../mod/connections.php:88
-#: ../../mod/connections.php:103 ../../mod/connedit.php:584
-msgid "All"
-msgstr "Tous"
-
-#: ../../include/widgets.php:472
-msgid "Refresh"
-msgstr "Actualiser"
-
-#: ../../include/widgets.php:506
-msgid "Account settings"
-msgstr "Paramètres du compte"
-
-#: ../../include/widgets.php:512
-msgid "Channel settings"
-msgstr "Paramètres du canal"
-
-#: ../../include/widgets.php:521
-msgid "Additional features"
-msgstr "Fonctionnalités supplémentaires"
-
-#: ../../include/widgets.php:528
-msgid "Feature/Addon settings"
-msgstr "Paramètres des extensions/greffons"
-
-#: ../../include/widgets.php:534
-msgid "Display settings"
-msgstr "Paramètres d'affichage"
-
-#: ../../include/widgets.php:540
-msgid "Connected apps"
-msgstr "Applications connectées"
-
-#: ../../include/widgets.php:546
-msgid "Export channel"
-msgstr "Exporter le canal"
-
-#: ../../include/widgets.php:553 ../../mod/connedit.php:692
-msgid "Connection Default Permissions"
-msgstr "Autorisations par défaut des contacts"
-
-#: ../../include/widgets.php:561
-msgid "Premium Channel Settings"
-msgstr "Paramètres de canal VIP"
-
-#: ../../include/widgets.php:591
-msgid "Private Mail Menu"
-msgstr "Menu des messages privés"
-
-#: ../../include/widgets.php:593
-msgid "Combined View"
-msgstr "Vue combinée"
-
-#: ../../include/widgets.php:627 ../../include/widgets.php:639
-msgid "Conversations"
-msgstr "Conversations"
-
-#: ../../include/widgets.php:631
-msgid "Received Messages"
-msgstr "Messages reçus"
-
-#: ../../include/widgets.php:635
-msgid "Sent Messages"
-msgstr "Messages envoyés"
-
-#: ../../include/widgets.php:649
-msgid "No messages."
-msgstr "Pas de message."
-
-#: ../../include/widgets.php:667
-msgid "Delete conversation"
-msgstr "Supprimer la conversation"
-
-#: ../../include/widgets.php:693
-msgid "Events Menu"
-msgstr "Menu Evènements"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Edit Event"
+msgstr "Modifier l'événement"
-#: ../../include/widgets.php:694
-msgid "Day View"
-msgstr "Vue Jour"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Create Event"
+msgstr "Créer un événement"
-#: ../../include/widgets.php:695
-msgid "Week View"
-msgstr "Vue Semaine"
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949
+msgid "Previous"
+msgstr "Précédent"
-#: ../../include/widgets.php:696
-msgid "Month View"
-msgstr "Vue Mois"
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr "Suivant"
-#: ../../include/widgets.php:697 ../../mod/events.php:654
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
+#: ../../include/widgets.php:755
msgid "Export"
msgstr "Export"
-#: ../../include/widgets.php:698 ../../mod/events.php:657
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
+#: ../../include/widgets.php:756
msgid "Import"
msgstr "Import"
-#: ../../include/widgets.php:708
-msgid "Events Tools"
-msgstr "Outils Evènements"
-
-#: ../../include/widgets.php:709
-msgid "Export Calendar"
-msgstr "Exporter le calendrier"
-
-#: ../../include/widgets.php:710
-msgid "Import Calendar"
-msgstr "Importer un calendrier"
-
-#: ../../include/widgets.php:784
-msgid "Chat Rooms"
-msgstr "Salons de clavardage"
-
-#: ../../include/widgets.php:804
-msgid "Bookmarked Chatrooms"
-msgstr "Salons favoris"
-
-#: ../../include/widgets.php:824
-msgid "Suggested Chatrooms"
-msgstr "Salons suggérés"
-
-#: ../../include/widgets.php:969 ../../include/widgets.php:1059
-msgid "photo/image"
-msgstr "photo/image"
-
-#: ../../include/widgets.php:1153
-msgid "Rating Tools"
-msgstr "Outils d'évaluation"
-
-#: ../../include/widgets.php:1157 ../../include/widgets.php:1159
-msgid "Rate Me"
-msgstr "M'évaluer"
-
-#: ../../include/widgets.php:1162
-msgid "View Ratings"
-msgstr "Voir mes évaluations"
-
-#: ../../include/widgets.php:1173
-msgid "Public Hubs"
-msgstr "Instances publiques"
-
-#: ../../include/widgets.php:1221
-msgid "Forums"
-msgstr "Membres du forum"
-
-#: ../../include/widgets.php:1250
-msgid "Tasks"
-msgstr "Tâches"
-
-#: ../../include/widgets.php:1259
-msgid "Documentation"
-msgstr "Documentation"
-
-#: ../../include/widgets.php:1261
-msgid "Project/Site Information"
-msgstr "Information sur le site/projet"
-
-#: ../../include/widgets.php:1262
-msgid "For Members"
-msgstr "Pour les membres"
-
-#: ../../include/widgets.php:1263
-msgid "For Administrators"
-msgstr "Pour les administrateurs"
-
-#: ../../include/widgets.php:1264
-msgid "For Developers"
-msgstr "Pour les développeurs"
-
-#: ../../include/widgets.php:1289 ../../mod/admin.php:456
-msgid "Site"
-msgstr "Site"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Envoyer"
-#: ../../include/widgets.php:1290
-msgid "Accounts"
-msgstr "Comptes"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+msgid "Today"
+msgstr "Aujourd'hui"
-#: ../../include/widgets.php:1291 ../../mod/admin.php:1149
-msgid "Channels"
-msgstr "Canaux"
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Vous devez vous connecter pour voir cette page."
-#: ../../include/widgets.php:1292 ../../mod/admin.php:710
-msgid "Security"
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Posts and comments"
msgstr ""
-#: ../../include/widgets.php:1294 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1325
-msgid "Plugins"
-msgstr "Greffons"
-
-#: ../../include/widgets.php:1295 ../../mod/admin.php:1486
-#: ../../mod/admin.php:1520
-msgid "Themes"
-msgstr "Thèmes"
-
-#: ../../include/widgets.php:1296
-msgid "Inspect queue"
-msgstr "Analyser la file d'attente"
-
-#: ../../include/widgets.php:1297
-msgid "Profile Config"
-msgstr "Configuration du profil"
-
-#: ../../include/widgets.php:1298
-msgid "DB updates"
-msgstr "Mises à jour BDD"
-
-#: ../../include/widgets.php:1316 ../../include/widgets.php:1322
-#: ../../mod/admin.php:1605
-msgid "Logs"
-msgstr "Journaux"
-
-#: ../../include/widgets.php:1321
-msgid "Plugin Features"
-msgstr "Fonctionnalités des greffons"
-
-#: ../../include/widgets.php:1323
-msgid "User registrations waiting for confirmation"
-msgstr "Enregistrements d'utilisateurs en attente d'approbation"
-
-#: ../../include/widgets.php:1401 ../../mod/photos.php:760
-#: ../../mod/photos.php:1300
-msgid "View Photo"
-msgstr "Voir la photo"
-
-#: ../../include/widgets.php:1418 ../../mod/photos.php:791
-msgid "Edit Album"
-msgstr "Modifier l'album"
-
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "Enregistrer dans le dossier"
-
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Je participerai"
-
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "Je ne participerai pas"
-
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Je participerai peut-être"
-
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "Je suis d'accord"
-
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "Je ne suis pas d'accord"
-
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "Je m'abstiens"
-
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Mettre en avant (étoile)"
-
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Ne plus mettre en avant"
-
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "(Dés)activer l'étoile"
-
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "mis en avant"
-
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Ajouter une étiquette"
-
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:1037
-msgid "I like this (toggle)"
-msgstr "J'aime (oui/non)"
-
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:1038
-msgid "I don't like this (toggle)"
-msgstr "Je n'aime pas (oui/non)"
-
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Partager"
-
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "partager"
-
-#: ../../include/ItemObject.php:268
-msgid "Delivery Report"
-msgstr "Rapport de distribution"
-
-#: ../../include/ItemObject.php:286
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commentaire"
-msgstr[1] "%d commentaires"
-
-#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Voir le profil de %s - %s"
-
-#: ../../include/ItemObject.php:319
-msgid "to"
-msgstr "à"
-
-#: ../../include/ItemObject.php:320
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:321
-msgid "Wall-to-Wall"
-msgstr "Mur-à-mur"
-
-#: ../../include/ItemObject.php:322
-msgid "via Wall-To-Wall:"
-msgstr "par Mur-à-mur&nbsp;:"
-
-#: ../../include/ItemObject.php:362
-msgid "Save Bookmarks"
-msgstr "Enregistrer les favoris"
-
-#: ../../include/ItemObject.php:363
-msgid "Add to Calendar"
-msgstr "Ajouter au Calendrier"
-
-#: ../../include/ItemObject.php:372
-msgid "Mark all seen"
-msgstr "Tout marquer comme vu"
-
-#: ../../include/ItemObject.php:378 ../../mod/photos.php:1223
-msgctxt "noun"
-msgid "Likes"
-msgstr "Aime"
-
-#: ../../include/ItemObject.php:379 ../../mod/photos.php:1224
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "N'aime pas"
-
-#: ../../include/ItemObject.php:700 ../../mod/photos.php:1056
-#: ../../mod/photos.php:1174
-msgid "This is you"
-msgstr "C'est vous"
-
-#: ../../include/ItemObject.php:709
-msgid "Image"
-msgstr "Image"
-
-#: ../../include/ItemObject.php:710
-msgid "Insert Link"
-msgstr "Insérer un lien"
-
-#: ../../include/ItemObject.php:711
-msgid "Video"
-msgstr "Vidéo"
-
-#: ../../index.php:245 ../../mod/help.php:217
-msgid "Not Found"
-msgstr "Introuvable"
-
-#: ../../index.php:248 ../../mod/block.php:75 ../../mod/display.php:110
-#: ../../mod/help.php:220 ../../mod/page.php:89
-msgid "Page not found."
-msgstr "Page introuvable."
-
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Quelques mots sur quoi faire quand on est nouveau ici"
-
-#: ../../mod/acl.php:222
-msgid "network"
-msgstr "réseau"
-
-#: ../../mod/acl.php:232
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../mod/api.php:74 ../../mod/api.php:98
-msgid "Authorize application connection"
-msgstr "Autoriser l'application à se connecter"
-
-#: ../../mod/api.php:75
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:"
-
-#: ../../mod/api.php:85
-msgid "Please login to continue."
-msgstr "Merci de vous identifier pour continuer."
-
-#: ../../mod/api.php:100
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"
-
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "Application installée."
-
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Erreur de l'application - Malformée."
-
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Imbriquer le code"
-
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Modifier l'application"
-
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Créer une application"
-
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nom de l'application"
-
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Emplacement (URL) de l'application"
-
-#: ../../mod/appman.php:93 ../../mod/events.php:450 ../../mod/rbmark.php:97
-msgid "Description"
-msgstr "Description"
-
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "URL de l'icône à utiliser pour cette photo"
-
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - facultatif"
-
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Identifiant de version"
-
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Prix de l'application"
-
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Emplacement (URL) pour l'achat de l'application"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Élément indisponible."
-
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Élément invalide."
-
-#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29
-msgid "Channel not found."
-msgstr "Canal introuvable."
-
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nom du Bloc"
-
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Titre du bloc"
-
-#: ../../mod/bookmarks.php:40
-msgid "Bookmark added"
-msgstr "Favori ajouté"
-
-#: ../../mod/bookmarks.php:62
-msgid "My Bookmarks"
-msgstr "Mes Favoris"
-
-#: ../../mod/bookmarks.php:73
-msgid "My Connections Bookmarks"
-msgstr "Favoris de mes contacts"
-
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
-msgid "You must be logged in to see this page."
-msgstr "Vous devez vous connecter pour voir cette page."
+#: ../../Zotlabs/Module/Channel.php:42
+msgid "Only posts"
+msgstr ""
-#: ../../mod/channel.php:97
+#: ../../Zotlabs/Module/Channel.php:102
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permissions insuffisantes. Demande redirigée vers la page du profil."
-#: ../../mod/channel.php:131 ../../mod/network.php:169 ../../mod/rpost.php:114
-msgid "Public"
-msgstr "Public"
-
-#: ../../mod/chat.php:174
+#: ../../Zotlabs/Module/Chat.php:181
msgid "Room not found"
msgstr "Salon introuvable"
-#: ../../mod/chat.php:185
+#: ../../Zotlabs/Module/Chat.php:197
msgid "Leave Room"
msgstr "Quitter le salon"
-#: ../../mod/chat.php:186
-msgid "Delete This Room"
-msgstr "Supprimer le salon"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr ""
-#: ../../mod/chat.php:187
+#: ../../Zotlabs/Module/Chat.php:199
msgid "I am away right now"
msgstr "Je suis absent en ce moment"
-#: ../../mod/chat.php:188
+#: ../../Zotlabs/Module/Chat.php:200
msgid "I am online"
msgstr "Je suis en ligne"
-#: ../../mod/chat.php:190
+#: ../../Zotlabs/Module/Chat.php:202
msgid "Bookmark this room"
msgstr "Marquer ce salon comme favori"
-#: ../../mod/chat.php:208 ../../mod/chat.php:231
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
+msgid "Please enter a link URL:"
+msgstr "Merci d'entrer l'URL d'un lien&nbsp;:"
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1256
+msgid "Encrypt text"
+msgstr "Chiffrer le texte"
+
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
+msgid "Insert web link"
+msgstr "Insérer lien web"
+
+#: ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:232
msgid "New Chatroom"
msgstr "Nouveau salon de discussion"
-#: ../../mod/chat.php:209
-msgid "Chatroom Name"
-msgstr "Nom du salon de discussion"
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr ""
-#: ../../mod/chat.php:210
+#: ../../Zotlabs/Module/Chat.php:234
msgid "Expiration of chats (minutes)"
msgstr "Expiration des discussions (en minutes)"
-#: ../../mod/chat.php:227
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr "Autorisations"
+
+#: ../../Zotlabs/Module/Chat.php:246
#, php-format
msgid "%1$s's Chatrooms"
msgstr "Salons de %1$s"
-#: ../../mod/chatsvc.php:111
+#: ../../Zotlabs/Module/Chat.php:251
+msgid "No chatrooms available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Create New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Expiration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:256
+msgid "min"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chatsvc.php:117
msgid "Away"
msgstr "Absent"
-#: ../../mod/chatsvc.php:115
+#: ../../Zotlabs/Module/Chatsvc.php:122
msgid "Online"
msgstr "En ligne"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Pas de canal."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Élément invalide."
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Contacts en commun"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Favori ajouté"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Pas de contacts en commun."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Mes Favoris"
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Favoris de mes contacts"
+
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
msgstr "Continuer"
-#: ../../mod/connect.php:85
+#: ../../Zotlabs/Module/Connect.php:90
msgid "Premium Channel Setup"
msgstr "Configuration du canal VIP"
-#: ../../mod/connect.php:87
+#: ../../Zotlabs/Module/Connect.php:92
msgid "Enable premium channel connection restrictions"
msgstr "Activer les restrictions liées au canal VIP"
-#: ../../mod/connect.php:88
+#: ../../Zotlabs/Module/Connect.php:93
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
msgstr "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ..."
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
"This channel may require additional steps or acknowledgement of the "
"following conditions prior to connecting:"
msgstr "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes&nbsp;:"
-#: ../../mod/connect.php:91
+#: ../../Zotlabs/Module/Connect.php:96
msgid ""
"Potential connections will then see the following text before proceeding:"
msgstr "Les contacts potentiels verront ce qui suit avant de pouvoir continuer&nbsp;:"
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
msgid ""
"By continuing, I certify that I have complied with any instructions provided"
" on this page."
msgstr "En continuant, je certifie que je me suis conformé à toutes les instructions indiquées sur cette page."
-#: ../../mod/connect.php:101
+#: ../../Zotlabs/Module/Connect.php:106
msgid "(No specific instructions have been provided by the channel owner.)"
msgstr "(Aucune instruction spécifique n'a été fournie par le propriétaire du canal.)"
-#: ../../mod/connect.php:109
+#: ../../Zotlabs/Module/Connect.php:114
msgid "Restricted or Premium Channel"
msgstr "Canal VIP ou restreint"
-#: ../../mod/connections.php:52 ../../mod/connections.php:157
-#: ../../mod/connections.php:238
-msgid "Blocked"
-msgstr "Bloqué(e)"
-
-#: ../../mod/connections.php:57 ../../mod/connections.php:164
-#: ../../mod/connections.php:237
-msgid "Ignored"
-msgstr "Ignoré(e)"
-
-#: ../../mod/connections.php:62 ../../mod/connections.php:178
-#: ../../mod/connections.php:236
-msgid "Hidden"
-msgstr "Caché"
-
-#: ../../mod/connections.php:67 ../../mod/connections.php:171
-#: ../../mod/connections.php:235
-msgid "Archived"
-msgstr "Archivé"
-
-#: ../../mod/connections.php:134
-msgid "New Connections"
-msgstr "Nouveaux contacts"
-
-#: ../../mod/connections.php:137
-msgid "Show pending (new) connections"
-msgstr "Voir les (nouveaux) contacts en attente"
-
-#: ../../mod/connections.php:141 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Tous les contacts"
-
-#: ../../mod/connections.php:144
-msgid "Show all connections"
-msgstr "Voir tous les contacts"
-
-#: ../../mod/connections.php:160
-msgid "Only show blocked connections"
-msgstr "Ne montrer que les contacts bloqués"
-
-#: ../../mod/connections.php:167
-msgid "Only show ignored connections"
-msgstr "Ne montrer que les contacts ignorés"
-
-#: ../../mod/connections.php:174
-msgid "Only show archived connections"
-msgstr "Ne montrer que les contacts archivés"
-
-#: ../../mod/connections.php:181
-msgid "Only show hidden connections"
-msgstr "Ne montrer que les contacts cachés"
-
-#: ../../mod/connections.php:234
-msgid "Pending approval"
-msgstr "En attente de validation"
-
-#: ../../mod/connections.php:250
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:251
-msgid "Edit connection"
-msgstr "Modifier le contact"
-
-#: ../../mod/connections.php:252
-msgid "Delete connection"
-msgstr "Supprimer le contact"
-
-#: ../../mod/connections.php:261
-msgid "Channel address"
-msgstr "Adresse du canal"
-
-#: ../../mod/connections.php:263
-msgid "Network"
-msgstr "Réseau"
-
-#: ../../mod/connections.php:266 ../../mod/admin.php:668
-msgid "Status"
-msgstr "État"
-
-#: ../../mod/connections.php:268
-msgid "Connected"
-msgstr "Connecté"
-
-#: ../../mod/connections.php:270
-msgid "Approve connection"
-msgstr "Valider le contact"
-
-#: ../../mod/connections.php:271 ../../mod/admin.php:991
-msgid "Approve"
-msgstr "Approuver"
-
-#: ../../mod/connections.php:272
-msgid "Ignore connection"
-msgstr "Ignorer le contact"
-
-#: ../../mod/connections.php:273 ../../mod/connedit.php:536
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorer"
-
-#: ../../mod/connections.php:274
-msgid "Recent activity"
-msgstr "Activité récente"
-
-#: ../../mod/connections.php:303
-msgid "Search your connections"
-msgstr "Chercher parmi vos contacts"
-
-#: ../../mod/connections.php:304
-msgid "Connections search"
-msgstr "Chercher des contacts"
-
-#: ../../mod/connedit.php:75
+#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "Impossible d'accéder aux détails du contact."
-#: ../../mod/connedit.php:99
+#: ../../Zotlabs/Module/Connedit.php:104
msgid "Could not locate selected profile."
msgstr "Impossible de localiser le profil sélectionné."
-#: ../../mod/connedit.php:223
+#: ../../Zotlabs/Module/Connedit.php:227
msgid "Connection updated."
msgstr "Contact mis à jour."
-#: ../../mod/connedit.php:225
+#: ../../Zotlabs/Module/Connedit.php:229
msgid "Failed to update connection record."
msgstr "Impossible de mettre à jour les détails du contact."
-#: ../../mod/connedit.php:272
+#: ../../Zotlabs/Module/Connedit.php:276
msgid "is now connected to"
msgstr "est maintenant connecté avec"
-#: ../../mod/connedit.php:398
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "Non"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Oui"
+
+#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "Impossible d'accéder aux détails du carnet d'adresses."
-#: ../../mod/connedit.php:412
+#: ../../Zotlabs/Module/Connedit.php:425
msgid "Refresh failed - channel is currently unavailable."
msgstr "Actualisation impossible - le canal est indisponible."
-#: ../../mod/connedit.php:427 ../../mod/connedit.php:436
-#: ../../mod/connedit.php:445 ../../mod/connedit.php:454
-#: ../../mod/connedit.php:467
+#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
+#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Unable to set address book parameters."
msgstr "Impossible de régler les paramètres du carnet d'adresses."
-#: ../../mod/connedit.php:491
+#: ../../Zotlabs/Module/Connedit.php:503
msgid "Connection has been removed."
msgstr "Le contact a été supprimé."
-#: ../../mod/connedit.php:510
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:86 ../../include/conversation.php:954
+msgid "View Profile"
+msgstr "Voir le profil"
+
+#: ../../Zotlabs/Module/Connedit.php:522
#, php-format
msgid "View %s's profile"
msgstr "Voir le profil de %s"
-#: ../../mod/connedit.php:514
+#: ../../Zotlabs/Module/Connedit.php:526
msgid "Refresh Permissions"
msgstr "Actualiser les autorisations"
-#: ../../mod/connedit.php:517
+#: ../../Zotlabs/Module/Connedit.php:529
msgid "Fetch updated permissions"
msgstr "Récupérer les autorisations les plus récentes"
-#: ../../mod/connedit.php:521
+#: ../../Zotlabs/Module/Connedit.php:533
msgid "Recent Activity"
msgstr "Activité récente"
-#: ../../mod/connedit.php:524
+#: ../../Zotlabs/Module/Connedit.php:536
msgid "View recent posts and comments"
msgstr "Voir les publications et commentaires récents"
-#: ../../mod/connedit.php:528 ../../mod/admin.php:995
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
msgid "Unblock"
msgstr "Débloquer"
-#: ../../mod/connedit.php:528 ../../mod/admin.php:994
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
msgid "Block"
msgstr "Bloquer"
-#: ../../mod/connedit.php:531
+#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Bloquer ou débloquer toute communication avec ce contact"
-#: ../../mod/connedit.php:532
+#: ../../Zotlabs/Module/Connedit.php:544
msgid "This connection is blocked!"
msgstr "Ce contact est bloqué&nbsp;!"
-#: ../../mod/connedit.php:536
+#: ../../Zotlabs/Module/Connedit.php:548
msgid "Unignore"
msgstr "Ne plus ignorer"
-#: ../../mod/connedit.php:539
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignorer ou ne plus ignorer toute communication venant de ce contact"
-#: ../../mod/connedit.php:540
+#: ../../Zotlabs/Module/Connedit.php:552
msgid "This connection is ignored!"
msgstr "Ce contact est ignoré&nbsp;!"
-#: ../../mod/connedit.php:544
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Unarchive"
msgstr "Désarchiver"
-#: ../../mod/connedit.php:544
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Archive"
msgstr "Archiver"
-#: ../../mod/connedit.php:547
+#: ../../Zotlabs/Module/Connedit.php:559
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu"
-#: ../../mod/connedit.php:548
+#: ../../Zotlabs/Module/Connedit.php:560
msgid "This connection is archived!"
msgstr "Ce contact est archivé&nbsp;!"
-#: ../../mod/connedit.php:552
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Unhide"
msgstr "Ne plus cacher"
-#: ../../mod/connedit.php:552
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Hide"
msgstr "Cacher"
-#: ../../mod/connedit.php:555
+#: ../../Zotlabs/Module/Connedit.php:567
msgid "Hide or Unhide this connection from your other connections"
msgstr "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts"
-#: ../../mod/connedit.php:556
+#: ../../Zotlabs/Module/Connedit.php:568
msgid "This connection is hidden!"
msgstr "Ce contact est caché&nbsp;!"
-#: ../../mod/connedit.php:563
+#: ../../Zotlabs/Module/Connedit.php:575
msgid "Delete this connection"
msgstr "Supprimer ce contact"
-#: ../../mod/connedit.php:644
+#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
+msgid "Me"
+msgstr "Moi"
+
+#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
+msgid "Family"
+msgstr "Famille"
+
+#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
+msgid "Friends"
+msgstr "Amis"
+
+#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr "Connaissances"
+
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Tous"
+
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Autoriser ce contact"
-#: ../../mod/connedit.php:644
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Accept connection to allow communication"
msgstr "Accepter le contact pour permettre la communication"
-#: ../../mod/connedit.php:649
+#: ../../Zotlabs/Module/Connedit.php:659
msgid "Set Affinity"
msgstr "Définir le degré d'affinité"
-#: ../../mod/connedit.php:652
+#: ../../Zotlabs/Module/Connedit.php:662
msgid "Set Profile"
msgstr "Définir le profil"
-#: ../../mod/connedit.php:655
+#: ../../Zotlabs/Module/Connedit.php:665
msgid "Set Affinity & Profile"
msgstr "Définir le degré d'affinité et le profil"
-#: ../../mod/connedit.php:688
+#: ../../Zotlabs/Module/Connedit.php:698
msgid "none"
msgstr "Aucun"
-#: ../../mod/connedit.php:693
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr "Autorisations par défaut des contacts"
+
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
+#, php-format
+msgid "Connection: %s"
+msgstr "Contact&nbsp;: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Apply these permissions automatically"
msgstr "Appliquer ces permissions automatiquement"
-#: ../../mod/connedit.php:695
+#: ../../Zotlabs/Module/Connedit.php:703
+msgid "Connection requests will be approved without your interaction"
+msgstr "Les demandes de contact seront approuvées automatiquement"
+
+#: ../../Zotlabs/Module/Connedit.php:705
msgid "This connection's primary address is"
msgstr "L'adresse principale de ce contact est"
-#: ../../mod/connedit.php:696
+#: ../../Zotlabs/Module/Connedit.php:706
msgid "Available locations:"
msgstr "Emplacements disponibles&nbsp;:"
-#: ../../mod/connedit.php:700
+#: ../../Zotlabs/Module/Connedit.php:710
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts."
-#: ../../mod/connedit.php:702
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Connection Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:713
msgid "Slide to adjust your degree of friendship"
msgstr "Faites glisser pour ajuster votre proximité avec le contact"
-#: ../../mod/connedit.php:704
+#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Evaluation"
+
+#: ../../Zotlabs/Module/Connedit.php:715
msgid "Slide to adjust your rating"
msgstr "Faîtes glisser pour ajuster votre note"
-#: ../../mod/connedit.php:705 ../../mod/connedit.php:710
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
msgid "Optionally explain your rating"
msgstr "Explication facultative de votre évaluation"
-#: ../../mod/connedit.php:707
+#: ../../Zotlabs/Module/Connedit.php:718
msgid "Custom Filter"
msgstr "Filtre personnalisé"
-#: ../../mod/connedit.php:708
+#: ../../Zotlabs/Module/Connedit.php:719
msgid "Only import posts with this text"
msgstr "N'importer que les publications comprenant ce texte"
-#: ../../mod/connedit.php:708 ../../mod/connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications"
-#: ../../mod/connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:720
msgid "Do not import posts with this text"
msgstr "Ne pas importer les publications comprenant ce texte"
-#: ../../mod/connedit.php:711
+#: ../../Zotlabs/Module/Connedit.php:722
msgid "This information is public!"
msgstr "Cette information est publique&nbsp;!"
-#: ../../mod/connedit.php:716
+#: ../../Zotlabs/Module/Connedit.php:727
msgid "Connection Pending Approval"
msgstr "Contact en attente d'approbation"
-#: ../../mod/connedit.php:719
+#: ../../Zotlabs/Module/Connedit.php:730
msgid "inherited"
msgstr "héritée"
-#: ../../mod/connedit.php:721
+#: ../../Zotlabs/Module/Connedit.php:732
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."
-#: ../../mod/connedit.php:723
+#: ../../Zotlabs/Module/Connedit.php:734
msgid "Their Settings"
msgstr "Leurs paramètres"
-#: ../../mod/connedit.php:724
+#: ../../Zotlabs/Module/Connedit.php:735
msgid "My Settings"
msgstr "Mes paramètres"
-#: ../../mod/connedit.php:726
+#: ../../Zotlabs/Module/Connedit.php:737
msgid "Individual Permissions"
msgstr "Permissions individuelles"
-#: ../../mod/connedit.php:727
+#: ../../Zotlabs/Module/Connedit.php:738
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4847,7 +879,7 @@ msgid ""
" settings here."
msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
-#: ../../mod/connedit.php:728
+#: ../../Zotlabs/Module/Connedit.php:739
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4855,663 +887,916 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
-#: ../../mod/connedit.php:729
+#: ../../Zotlabs/Module/Connedit.php:740
msgid "Last update:"
msgstr "Dernière mise à jour&nbsp;:"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canal $Projectname"
-
-#: ../../mod/directory.php:59 ../../mod/display.php:13
-#: ../../mod/photos.php:490 ../../mod/ratings.php:82 ../../mod/search.php:13
-#: ../../mod/viewconnections.php:17
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
msgid "Public access denied."
msgstr "Accès public refusé."
-#: ../../mod/directory.php:239
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d évaluation"
msgstr[1] "%d évaluations"
-#: ../../mod/directory.php:250
+#: ../../Zotlabs/Module/Directory.php:254
msgid "Gender: "
msgstr "Sexe/genre&nbsp;:"
-#: ../../mod/directory.php:252
+#: ../../Zotlabs/Module/Directory.php:256
msgid "Status: "
msgstr "État&nbsp;:"
-#: ../../mod/directory.php:254
+#: ../../Zotlabs/Module/Directory.php:258
msgid "Homepage: "
msgstr "Site web&nbsp;:"
-#: ../../mod/directory.php:313
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
+msgid "Age:"
+msgstr "Age&nbsp;:"
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/channel.php:1027
+#: ../../include/bb2diaspora.php:507
+msgid "Location:"
+msgstr "Emplacement&nbsp;:"
+
+#: ../../Zotlabs/Module/Directory.php:317
msgid "Description:"
msgstr "Description&nbsp;:"
-#: ../../mod/directory.php:322
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
+msgid "Hometown:"
+msgstr "Ville natale&nbsp;:"
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
+msgid "About:"
+msgstr "À propos&nbsp;:"
+
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/conversation.php:956 ../../include/channel.php:1012
+msgid "Connect"
+msgstr "Ajouter/Suivre"
+
+#: ../../Zotlabs/Module/Directory.php:326
msgid "Public Forum:"
msgstr "Forum public&nbsp;:"
-#: ../../mod/directory.php:325
+#: ../../Zotlabs/Module/Directory.php:329
msgid "Keywords: "
msgstr "Mots-clefs&nbsp;:"
-#: ../../mod/directory.php:328
+#: ../../Zotlabs/Module/Directory.php:332
msgid "Don't suggest"
msgstr "Ne pas suggérer"
-#: ../../mod/directory.php:330
+#: ../../Zotlabs/Module/Directory.php:334
msgid "Common connections:"
msgstr "Contacts en commun&nbsp;:"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Global Directory"
msgstr "Annuaire global"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Local Directory"
msgstr "Annuaire local"
-#: ../../mod/directory.php:385
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Trouver"
+
+#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Recherche&nbsp;:"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canaux suggérés"
+
+#: ../../Zotlabs/Module/Directory.php:394
msgid "next page"
msgstr "page suivante"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:394
msgid "previous page"
msgstr "page précédente"
-#: ../../mod/directory.php:391
+#: ../../Zotlabs/Module/Directory.php:395
msgid "Sort options"
msgstr "Options de tri"
-#: ../../mod/directory.php:392
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Alphabetic"
msgstr "Alphabétique"
-#: ../../mod/directory.php:393
+#: ../../Zotlabs/Module/Directory.php:397
msgid "Reverse Alphabetic"
msgstr "Alphabétique inversé"
-#: ../../mod/directory.php:394
+#: ../../Zotlabs/Module/Directory.php:398
msgid "Newest to Oldest"
msgstr "Du plus récent au moins récent"
-#: ../../mod/directory.php:395
+#: ../../Zotlabs/Module/Directory.php:399
msgid "Oldest to Newest"
msgstr "Du moins récent du plus récent"
-#: ../../mod/directory.php:412
+#: ../../Zotlabs/Module/Directory.php:416
msgid "No entries (some entries may be hidden)."
msgstr "Pas d'entrées (certaines peuvent être cachées)."
-#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
-msgid "This site is not a directory server"
-msgstr "Ce site n'est pas un serveur d'annuaire"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Élément introuvable"
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Ce serveur d'annuaire requiert un jeton d'accès"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Élément introuvable"
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr "Message non valide"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Titre (facultatif)"
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr "aucun résultat"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Modifier le bloc"
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Pas de canal."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Contacts en commun"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Pas de contacts en commun."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Bloqué(e)"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignoré(e)"
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Caché"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Archivé"
-#: ../../mod/dreport.php:60
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Nouveautés"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Nouveaux contacts"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Voir les (nouveaux) contacts en attente"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Tous les contacts"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Voir tous les contacts"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Ne montrer que les contacts bloqués"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Ne montrer que les contacts ignorés"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Ne montrer que les contacts archivés"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Ne montrer que les contacts cachés"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "En attente de validation"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Rapport de distribution pour %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr "Synchro de canal effectuée"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Modifier le contact"
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr "mis dans la file d'attente"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Supprimer le contact"
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr "publié"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Adresse du canal"
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr "accepté pour la distribution"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Réseau"
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr "mis à jour"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "État"
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr "mise à jour ignorée"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Connecté"
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr "permission refusée"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Valider le contact"
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr "destinataire introuvable"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Approuver"
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr "courriel rappelé"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Ignorer le contact"
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr "courriel reçu en double"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Activité récente"
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr "courriel distribué"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Contacts"
-#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
-#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
-#: ../../mod/editwebpage.php:77
-msgid "Item not found"
-msgstr "Élément introuvable"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Recherche"
-#: ../../mod/editblock.php:118
-msgid "Delete block?"
-msgstr "Supprimer le bloc&nbsp;?"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Chercher parmi vos contacts"
-#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:185
-msgid "Insert YouTube video"
-msgstr "Insérer une vidéo YouTube"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Chercher des contacts"
-#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
-#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:186
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Insérer une vidéo Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "L'image a été téléversée, mais le recadrage a échoué."
-#: ../../mod/editblock.php:147 ../../mod/editlayout.php:145
-#: ../../mod/editpost.php:123 ../../mod/editwebpage.php:187
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Insérer un son Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Photos de couverture"
-#: ../../mod/editblock.php:180
-msgid "Edit Block"
-msgstr "Modifier le bloc"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "Le redimensionnement de l'image a échoué."
-#: ../../mod/editlayout.php:112
-msgid "Delete layout?"
-msgstr "Supprimer la mise en page&nbsp;?"
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "Impossible de traiter l'image"
-#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Description de la mise en page (facultatif)"
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "Le téléversement de l'image a échoué."
-#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nom de la mise en page"
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Impossible de traîter l'image."
-#: ../../mod/editlayout.php:178
-msgid "Edit Layout"
-msgstr "Modifier la mise en page"
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "femme"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Elément non modifiable"
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s a mis à jour son %2$s"
-#: ../../mod/editpost.php:57
-msgid "Delete item?"
-msgstr "Supprimer l'élément&nbsp;?"
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "homme"
-#: ../../mod/editpost.php:164 ../../mod/rpost.php:128
-msgid "Edit post"
-msgstr "Modifier la publication"
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s a mis à jour son %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s a mis a jour sa %2$s"
-#: ../../mod/editwebpage.php:153
-msgid "Delete webpage?"
-msgstr "Supprimer la page web&nbsp;?"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "Photo principale"
-#: ../../mod/editwebpage.php:172
-msgid "Page link title"
-msgstr "Titre du lien vers la page"
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Photo inaccessible."
-#: ../../mod/editwebpage.php:222
-msgid "Edit Webpage"
-msgstr "Modifier la page web"
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Téléverser fichier&nbsp;:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Choisir un profil&nbsp;:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Téléverser une photo de couverture"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "ou"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "passer cette étape"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "choisir une photo dans vos albums"
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Recadrer l'image"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Merci d'ajuster le cadre pour une visualisation optimale."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "J'ai terminé"
+
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "Elément non modifiable"
-#: ../../mod/events.php:21
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr "Modifier la publication"
+
+#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Entrées du calendrier importées."
-#: ../../mod/events.php:23
+#: ../../Zotlabs/Module/Events.php:28
msgid "No calendar entries found."
msgstr "Aucune entrée du calendrier trouvée."
-#: ../../mod/events.php:100
+#: ../../Zotlabs/Module/Events.php:105
msgid "Event can not end before it has started."
msgstr "La fin de l'événement ne peut être antérieure à son début."
-#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
msgid "Unable to generate preview."
msgstr "Impossible de générer l'aperçu."
-#: ../../mod/events.php:109
+#: ../../Zotlabs/Module/Events.php:114
msgid "Event title and start time are required."
msgstr "Un titre et une date de début sont requises pour l'événement."
-#: ../../mod/events.php:129 ../../mod/events.php:254
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
msgid "Event not found."
msgstr "Événement introuvable."
-#: ../../mod/events.php:437
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
+msgid "event"
+msgstr "événement"
+
+#: ../../Zotlabs/Module/Events.php:449
msgid "Edit event title"
msgstr "Modifier le titre de l'événement"
-#: ../../mod/events.php:437
+#: ../../Zotlabs/Module/Events.php:449
msgid "Event title"
msgstr "Titre de l'événement"
-#: ../../mod/events.php:439
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Requis"
+
+#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Catégories (séparées par des virgules)"
-#: ../../mod/events.php:440
+#: ../../Zotlabs/Module/Events.php:452
msgid "Edit Category"
msgstr "Modifier la catégorie"
-#: ../../mod/events.php:440
+#: ../../Zotlabs/Module/Events.php:452
msgid "Category"
msgstr "Catégorie"
-#: ../../mod/events.php:443
+#: ../../Zotlabs/Module/Events.php:455
msgid "Edit start date and time"
msgstr "Modifier la date et l'heure de début"
-#: ../../mod/events.php:443
+#: ../../Zotlabs/Module/Events.php:455
msgid "Start date and time"
msgstr "Date et heure de début"
-#: ../../mod/events.php:444 ../../mod/events.php:447
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
msgid "Finish date and time are not known or not relevant"
msgstr "Date et heure de fin inconnues ou sans objet"
-#: ../../mod/events.php:446
+#: ../../Zotlabs/Module/Events.php:458
msgid "Edit finish date and time"
msgstr "Modifier la date et l'heure de fin"
-#: ../../mod/events.php:446
+#: ../../Zotlabs/Module/Events.php:458
msgid "Finish date and time"
msgstr "Date et heure de fin"
-#: ../../mod/events.php:448 ../../mod/events.php:449
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
msgid "Adjust for viewer timezone"
msgstr "Ajuster au fuseau horaire du visiteur"
-#: ../../mod/events.php:448
+#: ../../Zotlabs/Module/Events.php:460
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde."
-#: ../../mod/events.php:450
+#: ../../Zotlabs/Module/Events.php:462
msgid "Edit Description"
msgstr "Modifier la description"
-#: ../../mod/events.php:452
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Description"
+
+#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Modifier l'emplacement"
-#: ../../mod/events.php:455 ../../mod/events.php:457
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Emplacement"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
msgid "Share this event"
msgstr "Partager cet événement"
-#: ../../mod/events.php:462
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
+msgid "Preview"
+msgstr "Aperçu"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
+msgid "Permission settings"
+msgstr "Gérer les autorisations"
+
+#: ../../Zotlabs/Module/Events.php:476
msgid "Advanced Options"
msgstr "Options avancées"
-#: ../../mod/events.php:574
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:596
+#: ../../Zotlabs/Module/Events.php:610
msgid "Edit event"
msgstr "Modifier l'événement"
-#: ../../mod/events.php:598
+#: ../../Zotlabs/Module/Events.php:612
msgid "Delete event"
msgstr "Supprimer l'événement"
-#: ../../mod/events.php:632
+#: ../../Zotlabs/Module/Events.php:646
msgid "calendar"
msgstr "calendrier"
-#: ../../mod/events.php:651
-msgid "Edit Event"
-msgstr "Modifier l'événement"
-
-#: ../../mod/events.php:651
-msgid "Create Event"
-msgstr "Créer un événement"
-
-#: ../../mod/events.php:652 ../../mod/events.php:659 ../../mod/photos.php:916
-msgid "Previous"
-msgstr "Précédent"
-
-#: ../../mod/events.php:653 ../../mod/events.php:660 ../../mod/photos.php:925
-#: ../../mod/setup.php:288
-msgid "Next"
-msgstr "Suivant"
-
-#: ../../mod/events.php:661
-msgid "Today"
-msgstr "Aujourd'hui"
-
-#: ../../mod/events.php:692
+#: ../../Zotlabs/Module/Events.php:706
msgid "Event removed"
msgstr "Événement supprimé"
-#: ../../mod/events.php:695
+#: ../../Zotlabs/Module/Events.php:709
msgid "Failed to remove event"
msgstr "Impossible de supprimer l'événement"
-#: ../../mod/ffsapi.php:8
-msgid "Share content from Firefox to $Projectname"
-msgstr "Partager du contenu depuis Firefox avec $Projectname"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
+msgid "Photos"
+msgstr "Photos"
-#: ../../mod/ffsapi.php:11
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Activer le connecteur $Projectname pour Firefox"
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Annuler"
-#: ../../mod/filer.php:48
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Ce site n'est pas un serveur d'annuaire"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Ce serveur d'annuaire requiert un jeton d'accès"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Classer dans le dossier&nbsp;:"
+
+#: ../../Zotlabs/Module/Filer.php:52
msgid "- select -"
msgstr "- choisir -"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permission refusée."
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Enregistrer"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "Fichier introuvable."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Message non valide"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Modifier les autorisations d'accès au fichier"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "aucun résultat"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Définir/modifier les autorisations"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Rapport de distribution pour %1$s"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Inclure tous fichiers et sous-répertoires"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "Synchro de canal effectuée"
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Retourner à la liste des fichiers"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "mis dans la file d'attente"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copiez/collez ce code pour joindre le fichier à une publication"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "publié"
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "accepté pour la distribution"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Partager ce fichier"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "mis à jour"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Montrer l'URL de ce fichier"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "mise à jour ignorée"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifier vos contacts à propos de ce fichier"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "permission refusée"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Canal ajouté."
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "destinataire introuvable"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contact introuvable."
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "courriel rappelé"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggestion d'amitié envoyée."
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "courriel reçu en double"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggérer des amis"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "courriel distribué"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggérer un amis à %s"
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Nom de la mise en page"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Description de la mise en page (facultatif)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Modifier la mise en page"
-#: ../../mod/group.php:20
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Modifier la page web"
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Canal ajouté."
+
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "réseau"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
+
+#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "Groupe d'accès créé."
-#: ../../mod/group.php:26
+#: ../../Zotlabs/Module/Group.php:30
msgid "Could not create privacy group."
msgstr "Impossible de créer le groupe d'accès."
-#: ../../mod/group.php:54
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3893
+msgid "Privacy group not found."
+msgstr "Groupe d'accès introuvable."
+
+#: ../../Zotlabs/Module/Group.php:58
msgid "Privacy group updated."
msgstr "Groupe d'accès mis à jour."
-#: ../../mod/group.php:86
+#: ../../Zotlabs/Module/Group.php:90
msgid "Create a group of channels."
msgstr "Créer un groupe de canaux."
-#: ../../mod/group.php:87 ../../mod/group.php:180
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
msgid "Privacy group name: "
msgstr "Nom du groupe d'accès&nbsp;:"
-#: ../../mod/group.php:89 ../../mod/group.php:183
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
msgid "Members are visible to other channels"
msgstr "Les membres sont visibles par les autres canaux"
-#: ../../mod/group.php:107
+#: ../../Zotlabs/Module/Group.php:111
msgid "Privacy group removed."
msgstr "Groupe d'accès supprimé."
-#: ../../mod/group.php:109
+#: ../../Zotlabs/Module/Group.php:113
msgid "Unable to remove privacy group."
msgstr "Impossible de supprimer le groupe d'accès."
-#: ../../mod/group.php:179
+#: ../../Zotlabs/Module/Group.php:183
msgid "Privacy group editor"
msgstr "Editeur de groupe d'accès."
-#: ../../mod/group.php:193
+#: ../../Zotlabs/Module/Group.php:197
msgid "Members"
msgstr "Membres"
-#: ../../mod/group.php:195
+#: ../../Zotlabs/Module/Group.php:199
msgid "All Connected Channels"
msgstr "Tous les canaux connectés"
-#: ../../mod/group.php:227
+#: ../../Zotlabs/Module/Group.php:231
msgid "Click on a channel to add or remove."
msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer"
-#: ../../mod/help.php:149
-msgid "Documentation Search"
-msgstr "Chercher dans la documentation"
-
-#: ../../mod/help.php:190 ../../mod/help.php:196 ../../mod/help.php:202
-msgid "Help:"
-msgstr "Aide&nbsp;:"
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Partager du contenu depuis Firefox avec $Projectname"
-#: ../../mod/help.php:243
-msgid "$Projectname Documentation"
-msgstr "Documentation $Projectname"
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Activer le connecteur $Projectname pour Firefox"
-#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Autoriser l'application à se connecter"
-#: ../../mod/home.php:75
-#, php-format
-msgid "Welcome to %s"
-msgstr "Bienvenue sur %s"
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:"
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Prénom"
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Merci de vous identifier pour continuer."
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Nom de famille"
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Surnom"
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
+msgstr "Chercher dans la documentation"
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Nom complet"
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
+msgstr "Aide&nbsp;:"
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Photo de profil 16px"
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
+#: ../../include/nav.php:159
+msgid "Help"
+msgstr "Aide"
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Photo de profil 32px"
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
+msgstr "Documentation $Projectname"
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Photo de profil 48px"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Permission refusée."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Photo de profil 64px"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Fichier introuvable."
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Photo de profil 80px"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Modifier les autorisations d'accès au fichier"
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Photo de profil 128px"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Définir/modifier les autorisations"
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Fuseau horaire"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Inclure tous fichiers et sous-répertoires"
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "URL de mon site Internet&nbsp;:"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Retourner à la liste des fichiers"
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Année de naissance"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copiez/collez ce code pour joindre le fichier à une publication"
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Mois de naissance"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web"
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Jour de naissance"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Partager ce fichier"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Date de naissance"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Montrer l'URL de ce fichier"
-#: ../../mod/id.php:33 ../../mod/profiles.php:441
-msgid "Gender"
-msgstr "Sexe"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Notifier vos contacts à propos de ce fichier"
-#: ../../mod/impel.php:192
-#, php-format
-msgid "%s element installed"
-msgstr "Elément %s installé"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Applications"
-#: ../../mod/impel.php:195
-#, php-format
-msgid "%s element installation failed"
-msgstr "L'installation de l'élément %s a échoué"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Élément indisponible."
-#: ../../mod/import.php:28
+#: ../../Zotlabs/Module/Import.php:32
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Votre forfait n'autorise que %d canaux."
-#: ../../mod/import.php:66 ../../mod/import_items.php:38
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
msgid "Nothing to import."
msgstr "Rien à importer."
-#: ../../mod/import.php:90 ../../mod/import_items.php:62
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
msgid "Unable to download data from old server"
msgstr "Impossible de récupérer les données de l'ancien serveur"
-#: ../../mod/import.php:96 ../../mod/import_items.php:68
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
msgid "Imported file is empty."
msgstr "Le fichier importé est vide."
-#: ../../mod/import.php:119 ../../mod/import_items.php:82
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Attention&nbsp;: les versions de bases de données diffèrent de %1$d mises à jour."
-#: ../../mod/import.php:124
-msgid "Server platform is not compatible. Operation not permitted."
-msgstr ""
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr "Canal cloné non trouvé. Echec de l'import."
-#: ../../mod/import.php:158
+#: ../../Zotlabs/Module/Import.php:160
msgid "No channel. Import failed."
msgstr "Pas de canal. Echec de l'import."
-#: ../../mod/import.php:518
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "L'import est terminé."
+
+#: ../../Zotlabs/Module/Import.php:532
msgid "You must be logged in to use this feature."
msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité."
-#: ../../mod/import.php:523
+#: ../../Zotlabs/Module/Import.php:537
msgid "Import Channel"
msgstr "Importation de canal"
-#: ../../mod/import.php:524
+#: ../../Zotlabs/Module/Import.php:538
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import."
-#: ../../mod/import.php:525 ../../mod/import_items.php:115
+#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import_items.php:119
msgid "File to Upload"
msgstr "Fichier à envoyer"
-#: ../../mod/import.php:526
+#: ../../Zotlabs/Module/Import.php:540
msgid "Or provide the old server/hub details"
msgstr "Ou fournissez les détails de l'ancien serveur/hub"
-#: ../../mod/import.php:527
+#: ../../Zotlabs/Module/Import.php:541
msgid "Your old identity address (xyz@example.com)"
msgstr "Votre ancienne identité (zyx@exemple.com)"
-#: ../../mod/import.php:528
+#: ../../Zotlabs/Module/Import.php:542
msgid "Your old login email address"
msgstr "Votre ancienne adresse de courriel"
-#: ../../mod/import.php:529
+#: ../../Zotlabs/Module/Import.php:543
msgid "Your old login password"
msgstr "Votre ancien mot de passe"
-#: ../../mod/import.php:530
+#: ../../Zotlabs/Module/Import.php:544
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be"
@@ -5519,3760 +1804,4382 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."
-#: ../../mod/import.php:531
+#: ../../Zotlabs/Module/Import.php:545
msgid "Make this hub my primary location"
msgstr "Faire de ce hub mon emplacement primaire"
-#: ../../mod/import.php:532
+#: ../../Zotlabs/Module/Import.php:546
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)"
-#: ../../mod/import.php:533
+#: ../../Zotlabs/Module/Import.php:547
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin."
-#: ../../mod/import_items.php:98
-msgid "Import completed"
-msgstr "L'import est terminé."
-
-#: ../../mod/import_items.php:113
-msgid "Import Items"
-msgstr "Importer"
-
-#: ../../mod/import_items.php:114
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export."
-
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Limite du nombre total d'invitation dépassée."
-
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s&nbsp;: adresse courriel invalide."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on $Projectname"
-msgstr "Rejoignez-nous sur $Projectname"
-
-#: ../../mod/invite.php:70
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."
-
-#: ../../mod/invite.php:75
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s&nbsp;: Échec de distribution du message."
-
-#: ../../mod/invite.php:79
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d message envoyé."
-msgstr[1] "%d messages envoyés."
-
-#: ../../mod/invite.php:98
-msgid "You have no more invitations available"
-msgstr "Vous ne disposez plus d'aucune invitation"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Envoyer des invitations"
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Entrez les adresses de courriel, une par ligne&nbsp;:"
-
-#: ../../mod/invite.php:131 ../../mod/mail.php:246
-msgid "Your message:"
-msgstr "Votre message&nbsp;:"
-
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Rejoignez ma communauté sur $Projectname."
-
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code:"
-msgstr ""
-
-#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site."
-
-#: ../../mod/invite.php:138
-msgid "or visit"
-msgstr ""
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Cliquez sur [Ajouter]"
-
-#: ../../mod/item.php:174
+#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "Impossible de localiser la publication initiale."
-#: ../../mod/item.php:418
+#: ../../Zotlabs/Module/Item.php:427
msgid "Empty post discarded."
msgstr "Publication vide annulée."
-#: ../../mod/item.php:458
+#: ../../Zotlabs/Module/Item.php:467
msgid "Executable content type not permitted to this channel."
msgstr "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal."
-#: ../../mod/item.php:824
+#: ../../Zotlabs/Module/Item.php:847
msgid "Duplicate post suppressed."
msgstr "Publication en doublon supprimée."
-#: ../../mod/item.php:954
+#: ../../Zotlabs/Module/Item.php:977
msgid "System error. Post not saved."
msgstr "Erreur système. Publication non sauvegardée."
-#: ../../mod/item.php:1221
+#: ../../Zotlabs/Module/Item.php:1241
msgid "Unable to obtain post information from database."
msgstr "Impossible d'obtenir les informations de publication depuis la base de données."
-#: ../../mod/item.php:1228
+#: ../../Zotlabs/Module/Item.php:1248
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racines\"."
-#: ../../mod/item.php:1235
+#: ../../Zotlabs/Module/Item.php:1255
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Vous avez atteint votre limite de %1$.0f pages web."
-#: ../../mod/layouts.php:176
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
+msgid "Layouts"
+msgstr "Mises-en-page"
+
+#: ../../Zotlabs/Module/Layouts.php:183
msgid "Comanche page description language help"
msgstr "Aide sur le langage de description de page Comanche"
-#: ../../mod/layouts.php:180
+#: ../../Zotlabs/Module/Layouts.php:187
msgid "Layout Description"
msgstr "Description de la mise en page"
-#: ../../mod/layouts.php:185
+#: ../../Zotlabs/Module/Layouts.php:192
msgid "Download PDL file"
msgstr "Télécharger le fichier PDL"
-#: ../../mod/like.php:15
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "Bienvenue sur %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Prénom"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Nom de famille"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Surnom"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Nom complet"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "Courriel"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Photo du Profil"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Photo de profil 16px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Photo de profil 32px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Photo de profil 48px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Photo de profil 64px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Photo de profil 80px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Photo de profil 128px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Fuseau horaire"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "URL de mon site Internet&nbsp;:"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Langue"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Année de naissance"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Mois de naissance"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Jour de naissance"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Date de naissance"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Sexe"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Homme"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Femme"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "pages web"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "bloquer"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "mise en page"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "Elément %s installé"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "L'installation de l'élément %s a échoué"
+
+#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Aime/n'aime pas"
-#: ../../mod/like.php:20
+#: ../../Zotlabs/Module/Like.php:24
msgid "This action is restricted to members."
msgstr "Cette action est réservée aux membres."
-#: ../../mod/like.php:21
+#: ../../Zotlabs/Module/Like.php:25
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de $Projectname </a> ou <a href=\"register\">inscrivez vous comme nouveau membre de $Projectname </a> pour continuer."
-#: ../../mod/like.php:101 ../../mod/like.php:127 ../../mod/like.php:165
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
msgid "Invalid request."
msgstr "Requête invalide."
-#: ../../mod/like.php:142
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "canal"
+
+#: ../../Zotlabs/Module/Like.php:146
msgid "thing"
msgstr "chose"
-#: ../../mod/like.php:188
+#: ../../Zotlabs/Module/Like.php:192
msgid "Channel unavailable."
msgstr "Canal indisponible."
-#: ../../mod/like.php:236
+#: ../../Zotlabs/Module/Like.php:240
msgid "Previous action reversed."
msgstr "Action précédente annulée."
-#: ../../mod/like.php:414
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "photo"
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1946 ../../include/conversation.php:148
+msgid "status"
+msgstr "état"
+
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s aime %3$s de %2$s"
+
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s n'aime pas %3$s de %2$s"
+
+#: ../../Zotlabs/Module/Like.php:424
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s approuve %3$s de %2$s"
-#: ../../mod/like.php:416
+#: ../../Zotlabs/Module/Like.php:426
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s n'est pas d'accord avec %3$s de %2$s"
-#: ../../mod/like.php:418
+#: ../../Zotlabs/Module/Like.php:428
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s s'abstient de toute décision sur le %3$s de %2$s"
-#: ../../mod/like.php:420
+#: ../../Zotlabs/Module/Like.php:430
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s participe à %3$s de %2$s"
-#: ../../mod/like.php:422
+#: ../../Zotlabs/Module/Like.php:432
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s ne participe pas à %3$s de %2$s"
-#: ../../mod/like.php:424
+#: ../../Zotlabs/Module/Like.php:434
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s participe peut-être à %3$s de %2$s"
-#: ../../mod/like.php:520
+#: ../../Zotlabs/Module/Like.php:537
msgid "Action completed."
msgstr "Action terminée."
-#: ../../mod/like.php:521
+#: ../../Zotlabs/Module/Like.php:538
msgid "Thank you."
msgstr "Merci."
-#: ../../mod/lockview.php:37
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "L'import est terminé."
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importer"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Limite du nombre total d'invitation dépassée."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s&nbsp;: adresse courriel invalide."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Rejoignez-nous sur $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s&nbsp;: Échec de distribution du message."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d message envoyé."
+msgstr[1] "%d messages envoyés."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Vous ne disposez plus d'aucune invitation"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Envoyer des invitations"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Entrez les adresses de courriel, une par ligne&nbsp;:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Votre message&nbsp;:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Rejoignez ma communauté sur $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Vous devrez fournir le code suivant&nbsp;:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "ou rendez-vous sur"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Cliquez sur [Ajouter]"
+
+#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "Les informations distantes de confidentialité ne sont pas disponibles."
-#: ../../mod/lockview.php:58
+#: ../../Zotlabs/Module/Lockview.php:82
msgid "Visible to:"
msgstr "Visible par&nbsp;:"
-#: ../../mod/locs.php:21 ../../mod/locs.php:50
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
msgid "Location not found."
msgstr "Emplacement introuvable."
-#: ../../mod/locs.php:58
+#: ../../Zotlabs/Module/Locs.php:62
msgid "Location lookup failed."
msgstr "Echec de la recherche de l'emplacement."
-#: ../../mod/locs.php:62
+#: ../../Zotlabs/Module/Locs.php:66
msgid ""
"Please select another location to become primary before removing the primary"
" location."
msgstr "Merci de sélectionner un autre emplacement comme nouvel emplacement primaire avant de supprimer l'emplacement primaire actuel."
-#: ../../mod/locs.php:91
+#: ../../Zotlabs/Module/Locs.php:95
msgid "Syncing locations"
msgstr "Synchronisation des emplacements"
-#: ../../mod/locs.php:101
+#: ../../Zotlabs/Module/Locs.php:105
msgid "No locations found."
msgstr "Emplacement(s) introuvable."
-#: ../../mod/locs.php:112
+#: ../../Zotlabs/Module/Locs.php:116
msgid "Manage Channel Locations"
msgstr "Gérer les emplacements des canaux"
-#: ../../mod/locs.php:113
-msgid "Location (address)"
-msgstr "Emplacement (adresse)"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Adresse"
-#: ../../mod/locs.php:114
-msgid "Primary Location"
-msgstr "Emplacement primaire"
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr ""
-#: ../../mod/locs.php:115
-msgid "Drop location"
-msgstr "Abandonner l'emplacement"
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr "Supprimer"
-#: ../../mod/locs.php:117
-msgid "Sync now"
-msgstr "Synchroniser maintenant"
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr ""
-#: ../../mod/locs.php:118
+#: ../../Zotlabs/Module/Locs.php:123
msgid "Please wait several minutes between consecutive operations."
msgstr "Merci d'attendre plusieurs minutes entre opérations successives."
-#: ../../mod/locs.php:119
+#: ../../Zotlabs/Module/Locs.php:124
msgid ""
"When possible, drop a location by logging into that website/hub and removing"
" your channel."
msgstr "Quand c'est possible, abandonnez un emplacement en vous connectant sur le site/hub et en supprimant votre canal."
-#: ../../mod/locs.php:120
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif."
-#: ../../mod/ping.php:260
-msgid "sent you a private message"
-msgstr "vous a envoyé un message privé"
-
-#: ../../mod/ping.php:308
-msgid "added your channel"
-msgstr "a ajouté votre canal"
-
-#: ../../mod/ping.php:350
-msgid "posted an event"
-msgstr "a publié un événement"
-
-#: ../../mod/magic.php:69
+#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Hub introuvable."
-#: ../../mod/mail.php:34
+#: ../../Zotlabs/Module/Mail.php:38
msgid "Unable to lookup recipient."
msgstr "Impossible de localiser le destinataire."
-#: ../../mod/mail.php:42
+#: ../../Zotlabs/Module/Mail.php:45
msgid "Unable to communicate with requested channel."
msgstr "Impossible de communiquer avec le canal demandé."
-#: ../../mod/mail.php:49
+#: ../../Zotlabs/Module/Mail.php:52
msgid "Cannot verify requested channel."
msgstr "Impossible de vérifier le canal demandé."
-#: ../../mod/mail.php:75
+#: ../../Zotlabs/Module/Mail.php:78
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."
-#: ../../mod/mail.php:140
+#: ../../Zotlabs/Module/Mail.php:143
msgid "Messages"
msgstr "Messages"
-#: ../../mod/mail.php:175
+#: ../../Zotlabs/Module/Mail.php:178
msgid "Message recalled."
msgstr "Message rappelé."
-#: ../../mod/mail.php:188
+#: ../../Zotlabs/Module/Mail.php:191
msgid "Conversation removed."
msgstr "Conversation supprimée."
-#: ../../mod/mail.php:231
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Expire le YYYY-MM-DD à HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:234
msgid "Requested channel is not in this network"
msgstr "Le canal demandé n'est pas sur ce réseau"
-#: ../../mod/mail.php:239
+#: ../../Zotlabs/Module/Mail.php:242
msgid "Send Private Message"
msgstr "Envoyer un message privé"
-#: ../../mod/mail.php:240 ../../mod/mail.php:370
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
msgid "To:"
msgstr "À&nbsp;:"
-#: ../../mod/mail.php:243 ../../mod/mail.php:372
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
msgid "Subject:"
msgstr "Objet&nbsp;:"
-#: ../../mod/mail.php:250
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1220
+msgid "Attach file"
+msgstr "Joindre un fichier"
+
+#: ../../Zotlabs/Module/Mail.php:253
msgid "Send"
msgstr "Envoyer"
-#: ../../mod/mail.php:342
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1251
+msgid "Set expiration date"
+msgstr "Définir la date d'expiration"
+
+#: ../../Zotlabs/Module/Mail.php:340
msgid "Delete message"
msgstr "Supprimer le message"
-#: ../../mod/mail.php:343
+#: ../../Zotlabs/Module/Mail.php:341
msgid "Delivery report"
msgstr "Rapport de distribution"
-#: ../../mod/mail.php:344
+#: ../../Zotlabs/Module/Mail.php:342
msgid "Recall message"
msgstr "Rappeler le message"
-#: ../../mod/mail.php:346
+#: ../../Zotlabs/Module/Mail.php:344
msgid "Message has been recalled."
msgstr "Le message a été rappelé."
-#: ../../mod/mail.php:363
+#: ../../Zotlabs/Module/Mail.php:361
msgid "Delete Conversation"
msgstr "Supprimer la conversation"
-#: ../../mod/mail.php:365
+#: ../../Zotlabs/Module/Mail.php:363
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."
-#: ../../mod/mail.php:369
+#: ../../Zotlabs/Module/Mail.php:367
msgid "Send Reply"
msgstr "Envoyer la réponse"
-#: ../../mod/mail.php:374
+#: ../../Zotlabs/Module/Mail.php:372
#, php-format
msgid "Your message for %s (%s):"
msgstr "Votre message pour %s (%s)&nbsp;:"
-#: ../../mod/manage.php:130
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Vous avez créé %1$.0f des %2$.0f canaux autorisés."
-#: ../../mod/manage.php:138
+#: ../../Zotlabs/Module/Manage.php:143
msgid "Create a new channel"
msgstr "Créer un nouveau canal"
-#: ../../mod/manage.php:163
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
+msgid "Channel Manager"
+msgstr "Gérer les canaux"
+
+#: ../../Zotlabs/Module/Manage.php:165
msgid "Current Channel"
msgstr "Canal actif"
-#: ../../mod/manage.php:165
+#: ../../Zotlabs/Module/Manage.php:167
msgid "Switch to one of your channels by selecting it."
msgstr "Pour changer de canal, sélectionnez-en un"
-#: ../../mod/manage.php:166
+#: ../../Zotlabs/Module/Manage.php:168
msgid "Default Channel"
msgstr "Canal par défaut"
-#: ../../mod/manage.php:167
+#: ../../Zotlabs/Module/Manage.php:169
msgid "Make Default"
msgstr "Définir comme défaut"
-#: ../../mod/manage.php:170
+#: ../../Zotlabs/Module/Manage.php:172
#, php-format
msgid "%d new messages"
msgstr "%d nouveaux messages"
-#: ../../mod/manage.php:171
+#: ../../Zotlabs/Module/Manage.php:173
#, php-format
msgid "%d new introductions"
msgstr "%d nouvelles présentations"
-#: ../../mod/manage.php:173
-msgid "Delegated Channels"
-msgstr "Canaux délégués"
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr ""
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Profils similaires"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Aucun compte valide trouvé."
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels."
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "s'intéresse à&nbsp;:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Membre du site (%s)"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Pas de correspondance"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Demande de réinitialisation du mot de passe sur %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Réinitialiser le mot de passe"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Votre mot de passe a bien été réinitialisé."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Votre nouveau mot de passe est"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Enregistrez ou copiez votre nouveau mot de passe, puis"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "cliquez ici pour vous connecter"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Votre mot de passe de %s a été changé"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Mot de passe oublié&nbsp;?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions."
-#: ../../mod/menu.php:45
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "Adresse de courriel"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
msgstr "Impossible de mettre le menu à jour."
-#: ../../mod/menu.php:56
+#: ../../Zotlabs/Module/Menu.php:60
msgid "Unable to create menu."
msgstr "Impossible de créer le menu."
-#: ../../mod/menu.php:94 ../../mod/menu.php:106
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
msgid "Menu Name"
msgstr "Nom du menu"
-#: ../../mod/menu.php:94
+#: ../../Zotlabs/Module/Menu.php:98
msgid "Unique name (not visible on webpage) - required"
msgstr "Nom unique (non visible sur la page web) - requis"
-#: ../../mod/menu.php:95 ../../mod/menu.php:107
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
msgid "Menu Title"
msgstr "Titre du menu"
-#: ../../mod/menu.php:95
+#: ../../Zotlabs/Module/Menu.php:99
msgid "Visible on webpage - leave empty for no title"
msgstr "Visible pour la page web - laisser vide pour qu'il n'y ait pas de titre"
-#: ../../mod/menu.php:96
+#: ../../Zotlabs/Module/Menu.php:100
msgid "Allow Bookmarks"
msgstr "Autoriser l'usage de favoris"
-#: ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
msgid "Menu may be used to store saved bookmarks"
msgstr "Le menu pourra être utilisé pour stocker des favoris"
-#: ../../mod/menu.php:97 ../../mod/menu.php:155
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
msgid "Submit and proceed"
msgstr "Valider et continuer"
-#: ../../mod/menu.php:109
-msgid "Drop"
-msgstr "Supprimer"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
+msgid "Menus"
+msgstr "Menus"
-#: ../../mod/menu.php:113
+#: ../../Zotlabs/Module/Menu.php:117
msgid "Bookmarks allowed"
msgstr "Favoris autorisés"
-#: ../../mod/menu.php:115
+#: ../../Zotlabs/Module/Menu.php:119
msgid "Delete this menu"
msgstr "Supprimer ce menu"
-#: ../../mod/menu.php:116 ../../mod/menu.php:150
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
msgid "Edit menu contents"
msgstr "Modifier le contenu du menu"
-#: ../../mod/menu.php:117
+#: ../../Zotlabs/Module/Menu.php:121
msgid "Edit this menu"
msgstr "Modifier ce menu"
-#: ../../mod/menu.php:132
+#: ../../Zotlabs/Module/Menu.php:136
msgid "Menu could not be deleted."
msgstr "Impossible de supprimer le menu."
-#: ../../mod/menu.php:140 ../../mod/mitem.php:24
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
msgid "Menu not found."
msgstr "Menu introuvable."
-#: ../../mod/menu.php:145
+#: ../../Zotlabs/Module/Menu.php:149
msgid "Edit Menu"
msgstr "Modifier le menu"
-#: ../../mod/menu.php:149
+#: ../../Zotlabs/Module/Menu.php:153
msgid "Add or remove entries to this menu"
msgstr "Ajouter/supprimer des entrées à ce menu"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Menu name"
msgstr "Nom du menu"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Must be unique, only seen by you"
msgstr "Doit être unique, ne sera vu que par vous"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title"
msgstr "Titre du menu"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title as seen by others"
msgstr "Titre du menu tel que vu par les visiteurs"
-#: ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:157
msgid "Allow bookmarks"
msgstr "Autoriser l'usage de favoris"
-#: ../../mod/menu.php:162 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
msgid "Not found."
msgstr "Introuvable."
-#: ../../mod/mitem.php:48
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s est %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Humeur"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Indiquez votre humeur du moment à vos amis"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profils similaires"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "s'intéresse à&nbsp;:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Pas de correspondance"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "Groupe introuvable"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "Canal introuvable"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "forum"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Résultats de recherche pour&nbsp;:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "Groupe d'accès vide"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Groupe d'accès&nbsp;:"
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Contact non valide."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Pas d'autre notification du système."
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Notifications du système"
+
+#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Impossible de créer l'entrée."
-#: ../../mod/mitem.php:72
+#: ../../Zotlabs/Module/Mitem.php:76
msgid "Unable to update menu element."
msgstr "Impossible de mettre à jour l'entrée de menu."
-#: ../../mod/mitem.php:88
+#: ../../Zotlabs/Module/Mitem.php:92
msgid "Unable to add menu element."
msgstr "Impossible d'ajouter l'entrée de menu."
-#: ../../mod/mitem.php:149 ../../mod/mitem.php:222
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
msgid "Menu Item Permissions"
msgstr "Permissions de l'entrée de menu"
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1059
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
+#: ../../Zotlabs/Module/Settings.php:1068
msgid "(click to open/close)"
msgstr "(cliquer pour ouvrir/fermer)"
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:168
+#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
msgid "Link Name"
msgstr "Nom du lien"
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:227
+#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
msgid "Link or Submenu Target"
msgstr "Lien ou sous-menu cible"
-#: ../../mod/mitem.php:153
+#: ../../Zotlabs/Module/Mitem.php:157
msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr "Entrez l'URL du lien ou sélectionnez un nom de menu pour créer un sous-menu"
-#: ../../mod/mitem.php:154 ../../mod/mitem.php:228
+#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
msgid "Use magic-auth if available"
msgstr "Utiliser l'authentification distante, quand disponible"
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:229
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
msgid "Open link in new window"
msgstr "Ouvrir le lien dans une nouvelle fenêtre"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Order in list"
msgstr "Ordre dans la liste"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Higher numbers will sink to bottom of listing"
msgstr "Les nombres les plus élevés seront au bas de la liste"
-#: ../../mod/mitem.php:157
+#: ../../Zotlabs/Module/Mitem.php:161
msgid "Submit and finish"
msgstr "Vadiler et terminer"
-#: ../../mod/mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:162
msgid "Submit and continue"
msgstr "Valider et continuer"
-#: ../../mod/mitem.php:166
+#: ../../Zotlabs/Module/Mitem.php:170
msgid "Menu:"
msgstr "Menu&nbsp;:"
-#: ../../mod/mitem.php:169
+#: ../../Zotlabs/Module/Mitem.php:173
msgid "Link Target"
msgstr "Cible du lien"
-#: ../../mod/mitem.php:172
+#: ../../Zotlabs/Module/Mitem.php:176
msgid "Edit menu"
msgstr "Modifier le menu"
-#: ../../mod/mitem.php:175
+#: ../../Zotlabs/Module/Mitem.php:179
msgid "Edit element"
msgstr "Modifier l'entrée"
-#: ../../mod/mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:180
msgid "Drop element"
msgstr "Supprimer l'entrée"
-#: ../../mod/mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:181
msgid "New element"
msgstr "Nouvelle entrée"
-#: ../../mod/mitem.php:178
+#: ../../Zotlabs/Module/Mitem.php:182
msgid "Edit this menu container"
msgstr "Éditer ce bloc de menu"
-#: ../../mod/mitem.php:179
+#: ../../Zotlabs/Module/Mitem.php:183
msgid "Add menu element"
msgstr "Ajouter une entrée au menu"
-#: ../../mod/mitem.php:180
+#: ../../Zotlabs/Module/Mitem.php:184
msgid "Delete this menu item"
msgstr "Supprimer cette entrée du menu"
-#: ../../mod/mitem.php:181
+#: ../../Zotlabs/Module/Mitem.php:185
msgid "Edit this menu item"
msgstr "Modifier cette entrée du menu"
-#: ../../mod/mitem.php:198
+#: ../../Zotlabs/Module/Mitem.php:202
msgid "Menu item not found."
msgstr "Entrée de menu introuvable."
-#: ../../mod/mitem.php:211
+#: ../../Zotlabs/Module/Mitem.php:215
msgid "Menu item deleted."
msgstr "Entrée de menu supprimée."
-#: ../../mod/mitem.php:213
+#: ../../Zotlabs/Module/Mitem.php:217
msgid "Menu item could not be deleted."
msgstr "Impossible de supprimer l'entrée de menu."
-#: ../../mod/mitem.php:220
+#: ../../Zotlabs/Module/Mitem.php:224
msgid "Edit Menu Element"
msgstr "Modifier l'entrée de menu"
-#: ../../mod/mitem.php:226
+#: ../../Zotlabs/Module/Mitem.php:230
msgid "Link text"
msgstr "Texte du lien"
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
-msgstr "Indiquez votre humeur du moment à vos amis"
-
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Groupe introuvable"
-
-#: ../../mod/network.php:131
-msgid "No such channel"
-msgstr "Canal introuvable"
-
-#: ../../mod/network.php:136
-msgid "forum"
-msgstr "forum"
-
-#: ../../mod/network.php:148
-msgid "Search Results For:"
-msgstr "Résultats de recherche pour&nbsp;:"
-
-#: ../../mod/network.php:207
-msgid "Privacy group is empty"
-msgstr "Groupe d'accès vide"
-
-#: ../../mod/network.php:216
-msgid "Privacy group: "
-msgstr "Groupe d'accès&nbsp;:"
-
-#: ../../mod/network.php:242
-msgid "Invalid connection."
-msgstr "Contact non valide."
-
-#: ../../mod/new_channel.php:130
-msgid "Add a Channel"
-msgstr "Ajouter un canal"
-
-#: ../../mod/new_channel.php:131
-msgid ""
-"A channel is your own collection of related web pages. A channel can be used"
-" to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
-msgstr "Un canal est un ensemble de pages web reliées entre elles, sous votre contrôle. Il peut contenir des profils de réseau social, des blogs, des groupes de conversation, des forums, des pages de célébrités, et bien plus encore. Vous pouvez créer autant de canaux que votre administrateur vous y autorise."
-
-#: ../../mod/new_channel.php:133 ../../mod/register.php:246
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-msgid "Channel Name"
-msgstr "Nom du canal"
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Name or caption"
+msgstr "Nom ou libellé"
-#: ../../mod/new_channel.php:134
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
-msgstr "Exemples&nbsp;: \"Bernard Martin\", \"Lisa et ses chevaux\", \"Football\", \"Groupe des amateurs de tir à l'arc\""
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "Exemples&nbsp;: \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\""
-#: ../../mod/new_channel.php:135 ../../mod/register.php:248
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
msgid "Choose a short nickname"
msgstr "Choisissez un alias"
-#: ../../mod/new_channel.php:137 ../../mod/register.php:249
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
+#, php-format
msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
-msgstr "Cet alias sera utilisé pour créer une adresse de canal, facile à retenir - un peu comme une adresse de courriel - que vous pourrez partager avec d'autres."
-
-#: ../../mod/new_channel.php:138
-msgid "Or <a href=\"import\">import an existing channel</a> from another location"
-msgstr "Ou <a href=\"import\">importez un canal existant</a> d'un autre endroit"
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s"
-#: ../../mod/new_channel.php:140 ../../mod/register.php:251
-msgid ""
-"Please choose a channel type (such as social networking or community forum) "
-"and privacy requirements so we can select the best permissions for you"
-msgstr "Veuillez choisir un type de canal (par exemple \"réseau social\" ou \"forum communautaire\") et un niveau de confidentialité afin que nous puissions choisir les meilleures autorisations pour vous"
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Channel role and privacy"
+msgstr "Rôle et confidentialité du canal"
-#: ../../mod/new_channel.php:141 ../../mod/register.php:252
-msgid "Channel Type"
-msgstr "Type de canal"
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Select a channel role with your privacy requirements."
+msgstr "Sélectionner un rôle de canal adapté à vos besoins de confidentialité."
-#: ../../mod/new_channel.php:141 ../../mod/register.php:252
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Read more about roles"
msgstr "En savoir plus sur les rôles"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Identifiant de requête invalide."
-
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Annuler"
-
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Pas d'autre notification du système."
-
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Notifications du système"
-
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Impossible de trouver votre hub."
-
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Publication réussie."
-
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Erreur du protocole OpenID. Pas d'ID retourné."
+#: ../../Zotlabs/Module/New_channel.php:135
+msgid "Create Channel"
+msgstr "Créer le canal"
-#: ../../mod/page.php:126
+#: ../../Zotlabs/Module/New_channel.php:136
msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées."
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines."
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editeur de configuration"
-
-#: ../../mod/pconfig.php:50
+#: ../../Zotlabs/Module/New_channel.php:137
msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."
-
-#: ../../mod/pdledit.php:14
-msgid "Layout updated."
-msgstr "Mise en page mise à jour."
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur."
-#: ../../mod/pdledit.php:29 ../../mod/pdledit.php:54
-msgid "Edit System Page Description"
-msgstr "Modifier la description de la page du système"
-
-#: ../../mod/pdledit.php:49
-msgid "Layout not found."
-msgstr "Mise en page introuvable."
+#: ../../Zotlabs/Module/Notifications.php:30
+msgid "Invalid request identifier."
+msgstr "Identifiant de requête invalide."
-#: ../../mod/pdledit.php:55
-msgid "Module Name:"
-msgstr "Nom du module&nbsp;:"
+#: ../../Zotlabs/Module/Notifications.php:39
+msgid "Discard"
+msgstr "Annuler"
-#: ../../mod/pdledit.php:56
-msgid "Layout Help"
-msgstr "Aide à la mise en page"
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
+msgstr "Marquer toutes les notifications système comme vues"
-#: ../../mod/photos.php:79
+#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "Impossible d'obtenir des informations sur le propriétaire de la page."
-#: ../../mod/photos.php:100
+#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Profile_photo.php:114
+#: ../../Zotlabs/Module/Profile_photo.php:206
+#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "Photos du profil"
+
+#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
msgid "Album not found."
msgstr "Album introuvable."
-#: ../../mod/photos.php:127
+#: ../../Zotlabs/Module/Photos.php:132
msgid "Delete Album"
msgstr "Supprimer l'album"
-#: ../../mod/photos.php:171 ../../mod/photos.php:1020
+#: ../../Zotlabs/Module/Photos.php:153
+msgid ""
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
msgid "Delete Photo"
msgstr "Supprimer la photo"
-#: ../../mod/photos.php:501
+#: ../../Zotlabs/Module/Photos.php:533
msgid "No photos selected"
msgstr "Aucune photo selectionnée"
-#: ../../mod/photos.php:550
+#: ../../Zotlabs/Module/Photos.php:582
msgid "Access to this item is restricted."
msgstr "L'accès à l'élément est restreint."
-#: ../../mod/photos.php:589
+#: ../../Zotlabs/Module/Photos.php:621
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."
-#: ../../mod/photos.php:592
+#: ../../Zotlabs/Module/Photos.php:624
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "%1$.2f méga-octets utilisés pour le stockage des photos."
-#: ../../mod/photos.php:628
+#: ../../Zotlabs/Module/Photos.php:660
msgid "Upload Photos"
msgstr "Téléverser des photos"
-#: ../../mod/photos.php:632
+#: ../../Zotlabs/Module/Photos.php:664
msgid "Enter an album name"
msgstr "Entrer un nom d'album"
-#: ../../mod/photos.php:633
+#: ../../Zotlabs/Module/Photos.php:665
msgid "or select an existing album (doubleclick)"
msgstr "ou sélectionner un album existant (double-clic)"
-#: ../../mod/photos.php:634
+#: ../../Zotlabs/Module/Photos.php:666
msgid "Create a status post for this upload"
msgstr "Créer une publication de statut pour cet envoi"
-#: ../../mod/photos.php:635
+#: ../../Zotlabs/Module/Photos.php:667
msgid "Caption (optional):"
msgstr "Légende (facultative)"
-#: ../../mod/photos.php:636
+#: ../../Zotlabs/Module/Photos.php:668
msgid "Description (optional):"
msgstr "Description (facultative)"
-#: ../../mod/photos.php:663
+#: ../../Zotlabs/Module/Photos.php:695
msgid "Album name could not be decoded"
msgstr "Le nom de l'Album n'a pu être décodé"
-#: ../../mod/photos.php:711 ../../mod/photos.php:1250
-#: ../../mod/photos.php:1267
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Photos de contact"
-#: ../../mod/photos.php:734
+#: ../../Zotlabs/Module/Photos.php:766
msgid "Show Newest First"
msgstr "Les plus récent(e)s en premier"
-#: ../../mod/photos.php:736
+#: ../../Zotlabs/Module/Photos.php:768
msgid "Show Oldest First"
msgstr "Les moins récent(e)s en premier"
-#: ../../mod/photos.php:838
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
+msgid "View Photo"
+msgstr "Voir la photo"
+
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
+msgid "Edit Album"
+msgstr "Modifier l'album"
+
+#: ../../Zotlabs/Module/Photos.php:870
msgid "Permission denied. Access to this item may be restricted."
msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint."
-#: ../../mod/photos.php:840
+#: ../../Zotlabs/Module/Photos.php:872
msgid "Photo not available"
msgstr "Photo non disponible"
-#: ../../mod/photos.php:898
+#: ../../Zotlabs/Module/Photos.php:930
msgid "Use as profile photo"
msgstr "Utiliser comme photo du profil"
-#: ../../mod/photos.php:905
+#: ../../Zotlabs/Module/Photos.php:931
+msgid "Use as cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:938
msgid "Private Photo"
msgstr "Photo privée"
-#: ../../mod/photos.php:920
+#: ../../Zotlabs/Module/Photos.php:953
msgid "View Full Size"
msgstr "Voir en taille réelle"
-#: ../../mod/photos.php:965 ../../mod/tagrm.php:133
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
msgid "Remove"
msgstr "Retirer"
-#: ../../mod/photos.php:999
+#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Modifier la photo"
-#: ../../mod/photos.php:1001
+#: ../../Zotlabs/Module/Photos.php:1034
msgid "Rotate CW (right)"
msgstr "Rotation horaire (droite)"
-#: ../../mod/photos.php:1002
+#: ../../Zotlabs/Module/Photos.php:1035
msgid "Rotate CCW (left)"
msgstr "Rotation anti-horaire (gauche)"
-#: ../../mod/photos.php:1005
+#: ../../Zotlabs/Module/Photos.php:1038
msgid "Enter a new album name"
msgstr "Entrer un nouveau nom d'album"
-#: ../../mod/photos.php:1006
+#: ../../Zotlabs/Module/Photos.php:1039
msgid "or select an existing one (doubleclick)"
msgstr "ou en sélectionner un existant (double-clic)"
-#: ../../mod/photos.php:1009
+#: ../../Zotlabs/Module/Photos.php:1042
msgid "Caption"
msgstr "Titre/légende"
-#: ../../mod/photos.php:1011
+#: ../../Zotlabs/Module/Photos.php:1044
msgid "Add a Tag"
msgstr "Ajouter une étiquette"
-#: ../../mod/photos.php:1015
+#: ../../Zotlabs/Module/Photos.php:1048
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon"
-#: ../../mod/photos.php:1018
+#: ../../Zotlabs/Module/Photos.php:1051
msgid "Flag as adult in album view"
msgstr "Marquer comme \"adulte\" dans l'affichage de l'album"
-#: ../../mod/photos.php:1210
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+msgid "I like this (toggle)"
+msgstr "J'aime (oui/non)"
+
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+msgid "I don't like this (toggle)"
+msgstr "Je n'aime pas (oui/non)"
+
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:740
+msgid "Please wait"
+msgstr "Merci de patienter"
+
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Lib/ThreadItem.php:707
+msgid "This is you"
+msgstr "C'est vous"
+
+#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Commenter"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Likes"
+msgstr "Aime"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Dislikes"
+msgstr "N'aime pas"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Agree"
+msgstr "D'accord"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Disagree"
+msgstr "Pas d'accord"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Abstain"
+msgstr "Abstention"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Attending"
+msgstr "Participations"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Not attending"
+msgstr "Non-participations"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Might attend"
+msgstr "Participation possible"
+
+#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1717
+msgid "View all"
+msgstr "Voir tout"
+
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Aime"
+msgstr[1] "Aime"
+
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1744
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "N'aime pas"
+msgstr[1] "N'aime pas"
+
+#: ../../Zotlabs/Module/Photos.php:1235
+msgid "Photo Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1244
msgid "In This Photo:"
msgstr "Dans cette photo&nbsp;:"
-#: ../../mod/photos.php:1215
+#: ../../Zotlabs/Module/Photos.php:1249
msgid "Map"
msgstr "Carte"
-#: ../../mod/photos.php:1306
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+msgctxt "noun"
+msgid "Likes"
+msgstr "Aime"
+
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "N'aime pas"
+
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
+msgid "Close"
+msgstr "Fermer"
+
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Voir l'album"
-#: ../../mod/photos.php:1317 ../../mod/photos.php:1330
-#: ../../mod/photos.php:1331
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Photos récentes"
-#: ../../mod/admin.php:54
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "vous a envoyé un message privé"
+
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "a ajouté votre canal"
+
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[aujourd'hui]"
+
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "a publié un événement"
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Impossible de trouver votre hub."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Publication réussie."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Erreur du protocole OpenID. Pas d'ID retourné."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Échec de la connexion."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées."
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Editeur de configuration"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Mise en page mise à jour."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Modifier la description de la page du système"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Mise en page introuvable."
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Nom du module&nbsp;:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Aide à la mise en page"
+
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
+#: ../../include/conversation.php:960
+msgid "Poke"
+msgstr "Tapoter"
+
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr "Taquiner quelqu'un"
+
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
+msgstr "Tapoter/Encourager"
+
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
+msgstr "Taquiner, pousser ou faire autre chose à quelqu'un"
+
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
+msgstr "Destinataire"
+
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
+msgstr "Choisir ce que vous voulez faire au destinataire"
+
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
+msgstr "Rendre cette publication privée"
+
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "Récupération d'URL échouée&nbsp;: %1$s"
+
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+msgid "Profile not found."
+msgstr "Profil introuvable."
+
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
+msgstr "Profil supprimé."
+
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+msgid "Profile-"
+msgstr "Profil-"
+
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+msgid "New profile created."
+msgstr "Nouveau profil créé."
+
+#: ../../Zotlabs/Module/Profiles.php:110
+msgid "Profile unavailable to clone."
+msgstr "Profil impossible à cloner."
+
+#: ../../Zotlabs/Module/Profiles.php:151
+msgid "Profile unavailable to export."
+msgstr "Impossible d'exporter le profil."
+
+#: ../../Zotlabs/Module/Profiles.php:256
+msgid "Profile Name is required."
+msgstr "Le nom du profil est obligatoire."
+
+#: ../../Zotlabs/Module/Profiles.php:427
+msgid "Marital Status"
+msgstr "Statut marital"
+
+#: ../../Zotlabs/Module/Profiles.php:431
+msgid "Romantic Partner"
+msgstr "Partenaire amoureux"
+
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+msgid "Likes"
+msgstr "Aime"
+
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+msgid "Dislikes"
+msgstr "N'aime pas"
+
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+msgid "Work/Employment"
+msgstr "Travail/Occupation"
+
+#: ../../Zotlabs/Module/Profiles.php:446
+msgid "Religion"
+msgstr "Religion/Croyance"
+
+#: ../../Zotlabs/Module/Profiles.php:450
+msgid "Political Views"
+msgstr "Opinions politiques"
+
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
+msgstr "Préférences sexuelle"
+
+#: ../../Zotlabs/Module/Profiles.php:462
+msgid "Homepage"
+msgstr "Site Internet"
+
+#: ../../Zotlabs/Module/Profiles.php:466
+msgid "Interests"
+msgstr "Centres d'intérêt"
+
+#: ../../Zotlabs/Module/Profiles.php:560
+msgid "Profile updated."
+msgstr "Profil mis à jour."
+
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:686
+msgid "Edit Profile Details"
+msgstr "Modifier les détails du profil"
+
+#: ../../Zotlabs/Module/Profiles.php:688
+msgid "View this profile"
+msgstr "Voir ce profil"
+
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:959
+msgid "Edit visibility"
+msgstr "Changer la visibilité"
+
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+msgid "Change profile photo"
+msgstr "Changer la photo du profil"
+
+#: ../../Zotlabs/Module/Profiles.php:693
+msgid "Create a new profile using these settings"
+msgstr "Créer un nouveau profil avec ces paramètres"
+
+#: ../../Zotlabs/Module/Profiles.php:694
+msgid "Clone this profile"
+msgstr "Cloner ce profil"
+
+#: ../../Zotlabs/Module/Profiles.php:695
+msgid "Delete this profile"
+msgstr "Supprimer ce profil"
+
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
+msgstr "Ajouter des éléments de profil"
+
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
+msgid "Personal"
+msgstr "Me concernant"
+
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Divers"
+
+#: ../../Zotlabs/Module/Profiles.php:702
+msgid "Import profile from file"
+msgstr "Importer le profil à partir d'un fichier"
+
+#: ../../Zotlabs/Module/Profiles.php:703
+msgid "Export profile to file"
+msgstr "Exporter le profil vers un fichier."
+
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
+msgstr "Ceci est votre profil par défaut."
+
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
+msgstr "Titre/description"
+
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
+msgstr "Ville"
+
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
+msgstr "Région"
+
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
+msgstr "Pays"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
+msgstr "Qui (si applicable)"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Exemples&nbsp;: marie123, Marie Deschamps, marie@exemple.com"
+
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr "Ville de naissance"
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
+msgstr "Exemple&nbsp;: escrime photographie modélisme"
+
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Musical interests"
+msgstr "Goûts musicaux"
+
+#: ../../Zotlabs/Module/Profiles.php:739
+msgid "Books, literature"
+msgstr "Livres, littérature"
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Television"
+msgstr "Télévision"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
+msgstr "Loisirs/Centres d'intêret"
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
+msgstr "Mes autres canaux"
+
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+msgid "Profile Image"
+msgstr "Image du profil"
+
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
+msgid "Edit Profiles"
+msgstr "Modifier les profils"
+
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Téléverser une photo de profil"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Identifiant de profil invalide."
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Profile Visibility Editor"
+msgstr "Éditeur de visibilité de profil"
+
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../Zotlabs/Module/Profperm.php:119
+msgid "Click on a contact to add or remove."
+msgstr "Cliquer sur un contact pour l'ajouter ou le retirer."
+
+#: ../../Zotlabs/Module/Profperm.php:128
+msgid "Visible To"
+msgstr "Visible par"
+
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
+msgid "Public Hubs"
+msgstr "Instances publiques"
+
+#: ../../Zotlabs/Module/Pubsites.php:25
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "Les sites listés permettent l'enregistrement public de comptes pour le réseau $Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires."
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Hub URL"
+msgstr "URL du site"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Access Type"
+msgstr "Type d'accès"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Registration Policy"
+msgstr "Politique d'inscription"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Software"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
+#: ../../include/conversation.php:959
+msgid "Ratings"
+msgstr "Evaluations"
+
+#: ../../Zotlabs/Module/Pubsites.php:38
+msgid "Rate"
+msgstr "Evaluer"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Website:"
+msgstr "Site web&nbsp;:"
+
+#: ../../Zotlabs/Module/Rate.php:163
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal distant [%s] (encore inconnu sur ce site)"
+
+#: ../../Zotlabs/Module/Rate.php:164
+msgid "Rating (this information is public)"
+msgstr "Evaluation (cette information est publique)"
+
+#: ../../Zotlabs/Module/Rate.php:165
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Explication facultative de votre évaluation (cette information est publique)"
+
+#: ../../Zotlabs/Module/Ratings.php:73
+msgid "No ratings"
+msgstr "Pas de note"
+
+#: ../../Zotlabs/Module/Ratings.php:104
+msgid "Rating: "
+msgstr "Evaluation&nbsp:"
+
+#: ../../Zotlabs/Module/Ratings.php:105
+msgid "Website: "
+msgstr "Site web&nbsp;:"
+
+#: ../../Zotlabs/Module/Ratings.php:107
+msgid "Description: "
+msgstr "Description&nbsp;:"
+
+#: ../../Zotlabs/Module/Admin.php:77
msgid "Theme settings updated."
msgstr "Paramètres du thème mis à jour."
-#: ../../mod/admin.php:174
+#: ../../Zotlabs/Module/Admin.php:197
msgid "# Accounts"
msgstr "# Comptes"
-#: ../../mod/admin.php:175
+#: ../../Zotlabs/Module/Admin.php:198
msgid "# blocked accounts"
msgstr "# comptes bloqués"
-#: ../../mod/admin.php:176
+#: ../../Zotlabs/Module/Admin.php:199
msgid "# expired accounts"
msgstr "# comptes expirés"
-#: ../../mod/admin.php:177
+#: ../../Zotlabs/Module/Admin.php:200
msgid "# expiring accounts"
msgstr "# comptes expirant"
-#: ../../mod/admin.php:188
+#: ../../Zotlabs/Module/Admin.php:211
msgid "# Channels"
msgstr "# Canaux"
-#: ../../mod/admin.php:189
+#: ../../Zotlabs/Module/Admin.php:212
msgid "# primary"
msgstr "# primaire"
-#: ../../mod/admin.php:190
+#: ../../Zotlabs/Module/Admin.php:213
msgid "# clones"
msgstr "# clones"
-#: ../../mod/admin.php:196
+#: ../../Zotlabs/Module/Admin.php:219
msgid "Message queues"
msgstr "File des messages"
-#: ../../mod/admin.php:212 ../../mod/admin.php:455 ../../mod/admin.php:669
-#: ../../mod/admin.php:709 ../../mod/admin.php:984 ../../mod/admin.php:1148
-#: ../../mod/admin.php:1263 ../../mod/admin.php:1324 ../../mod/admin.php:1485
-#: ../../mod/admin.php:1519 ../../mod/admin.php:1604
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
msgid "Administration"
msgstr "Administration"
-#: ../../mod/admin.php:213
+#: ../../Zotlabs/Module/Admin.php:242
msgid "Summary"
msgstr "Résumé"
-#: ../../mod/admin.php:216
+#: ../../Zotlabs/Module/Admin.php:245
msgid "Registered accounts"
msgstr "Comptes enregistrés"
-#: ../../mod/admin.php:217 ../../mod/admin.php:673
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
msgid "Pending registrations"
msgstr "Inscriptions en attente"
-#: ../../mod/admin.php:218
+#: ../../Zotlabs/Module/Admin.php:247
msgid "Registered channels"
msgstr "Canaux enregistrés"
-#: ../../mod/admin.php:219 ../../mod/admin.php:674
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
msgid "Active plugins"
msgstr "Greffons actifs"
-#: ../../mod/admin.php:220
+#: ../../Zotlabs/Module/Admin.php:249
msgid "Version"
msgstr "Version"
-#: ../../mod/admin.php:339
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:373
msgid "Site settings updated."
msgstr "Paramètres du site sauvegardés."
-#: ../../mod/admin.php:376 ../../mod/settings.php:793
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Défaut"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
msgid "mobile"
msgstr "mobile"
-#: ../../mod/admin.php:378
+#: ../../Zotlabs/Module/Admin.php:412
msgid "experimental"
msgstr "expérimental"
-#: ../../mod/admin.php:380
+#: ../../Zotlabs/Module/Admin.php:414
msgid "unsupported"
msgstr "non maintenu"
-#: ../../mod/admin.php:426
+#: ../../Zotlabs/Module/Admin.php:460
msgid "Yes - with approval"
msgstr "Oui - avec approbation"
-#: ../../mod/admin.php:432
+#: ../../Zotlabs/Module/Admin.php:466
msgid "My site is not a public server"
msgstr "Mon site n'est pas un serveur public"
-#: ../../mod/admin.php:433
+#: ../../Zotlabs/Module/Admin.php:467
msgid "My site has paid access only"
msgstr "Mon site est à accès payant uniquement"
-#: ../../mod/admin.php:434
+#: ../../Zotlabs/Module/Admin.php:468
msgid "My site has free access only"
msgstr "Mon site est gratuit uniquement"
-#: ../../mod/admin.php:435
+#: ../../Zotlabs/Module/Admin.php:469
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mon site offre des comptes gratuits avec des améliorations payantes facultatives"
-#: ../../mod/admin.php:458 ../../mod/register.php:237
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Site"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
msgid "Registration"
msgstr "Inscription"
-#: ../../mod/admin.php:459
+#: ../../Zotlabs/Module/Admin.php:494
msgid "File upload"
msgstr "Envoi de fichier"
-#: ../../mod/admin.php:460
+#: ../../Zotlabs/Module/Admin.php:495
msgid "Policies"
msgstr "Stratégies"
-#: ../../mod/admin.php:465
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avancé"
+
+#: ../../Zotlabs/Module/Admin.php:500
msgid "Site name"
msgstr "Nom du site"
-#: ../../mod/admin.php:466
+#: ../../Zotlabs/Module/Admin.php:501
msgid "Banner/Logo"
msgstr "Bannière/logo"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid "Administrator Information"
msgstr "Informations de l'administrateur"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"
-#: ../../mod/admin.php:468
+#: ../../Zotlabs/Module/Admin.php:503
msgid "System language"
msgstr "Langue du système"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid "System theme"
msgstr "Thème du système"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Mobile system theme"
msgstr "Thème par défaut pour les mobiles"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Theme for mobile devices"
msgstr "Thème pour les mobiles"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "Allow Feeds as Connections"
msgstr "Autoriser les Flux (RSS) comme contacts"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "(Heavy system resource usage)"
msgstr "(Impact important sur les ressources)"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid "Maximum image size"
msgstr "Taille maximale des images"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."
-#: ../../mod/admin.php:474
+#: ../../Zotlabs/Module/Admin.php:509
msgid "Does this site allow new member registration?"
msgstr "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site&nbsp;?"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid "Invitation only"
msgstr "Sur invitation seulement"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"."
-#: ../../mod/admin.php:476
+#: ../../Zotlabs/Module/Admin.php:511
msgid "Which best describes the types of account offered by this hub?"
msgstr "Quelle est la meilleure description des types de comptes proposés sur ce hub&nbsp;?"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Register text"
msgstr "Texte d'inscription"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Will be displayed prominently on the registration page."
msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription."
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid "Site homepage to show visitors (default: login box)"
msgstr "Page d'accueil du site à montrer aux visiteurs (par défaut&nbsp;:boîte de dialogue de connexion)"
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "exemple&nbsp;:'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier."
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid "Preserve site homepage URL"
msgstr "Préserver l'adresse d'accueil du site"
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger"
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid "Accounts abandoned after x days"
msgstr "Les comptes sont abandonnés après x jours"
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Eviter de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps."
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid "Allowed friend domains"
msgstr "Domaines amicaux autorisés"
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid "Allowed email domains"
msgstr "Domaines de courriels autorisés"
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Liste de noms de domaines séparés par des virgules dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid "Not allowed email domains"
msgstr "Domaines de courriel non autorisés"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis."
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid "Verify Email Addresses"
msgstr "Demander vérification des adresses de courriel"
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)."
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid "Force publish"
msgstr "Publicité forcée"
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid "Import Public Streams"
msgstr "Flux publics importés"
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention&nbsp;: ce contenu n'est pas modéré."
-#: ../../mod/admin.php:487
-msgid "login on Homepage"
-msgstr "Connexion à partir de la page d'accueil"
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr ""
-#: ../../mod/admin.php:487
+#: ../../Zotlabs/Module/Admin.php:522
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré."
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Directory Server URL"
msgstr "URL du serveur d'annuaire"
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Default directory server"
msgstr "Serveur d'annuaire par défaut"
-#: ../../mod/admin.php:491
+#: ../../Zotlabs/Module/Admin.php:527
msgid "Proxy user"
msgstr "Utilisateur du proxy"
-#: ../../mod/admin.php:492
+#: ../../Zotlabs/Module/Admin.php:528
msgid "Proxy URL"
msgstr "URL du proxy"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Network timeout"
msgstr "Délai maximal du réseau"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)."
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid "Delivery interval"
msgstr "Intervalle de distribution"
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid "Deliveries per process"
msgstr "Distributions par processus"
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé&nbsp;:1-5."
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid "Poll interval"
msgstr "Intervalle de scrutation"
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid "Maximum Load Average"
msgstr "Charge maximale moyenne"
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50."
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Délai d'expiration pour le contenu importé (réseau)"
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "0 for no expiration of imported content"
msgstr "0 pour ne pas expirer le contenu importé"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:717
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "Off"
msgstr "Inactif"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:717
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "On"
msgstr "Actif"
-#: ../../mod/admin.php:636
+#: ../../Zotlabs/Module/Admin.php:678
#, php-format
msgid "Lock feature %s"
msgstr "Verrouiller fonctionnalité %s"
-#: ../../mod/admin.php:644
+#: ../../Zotlabs/Module/Admin.php:686
msgid "Manage Additional Features"
msgstr "Gérer les fonctionnalités additionnelles"
-#: ../../mod/admin.php:661
+#: ../../Zotlabs/Module/Admin.php:703
msgid "No server found"
msgstr "Serveur introuvable"
-#: ../../mod/admin.php:668 ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
msgid "ID"
msgstr "Identifiant"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "for channel"
msgstr "pour le canal"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "on server"
msgstr "sur le serveur"
-#: ../../mod/admin.php:670
+#: ../../Zotlabs/Module/Admin.php:712
msgid "Server"
msgstr "Serveur"
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Sécurité"
+
+#: ../../Zotlabs/Module/Admin.php:758
msgid "Block public"
msgstr "Bloquer \"public\""
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:758
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently authenticated."
+msgstr "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web."
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
msgstr ""
-#: ../../mod/admin.php:713
-msgid "Allow communications only from these sites"
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
msgstr ""
-#: ../../mod/admin.php:713
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr "N'autorisez que les communications venant de ces sites"
+
+#: ../../Zotlabs/Module/Admin.php:761
msgid ""
"One site per line. Leave empty to allow communication from anywhere by "
"default"
-msgstr ""
+msgstr "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut."
-#: ../../mod/admin.php:714
+#: ../../Zotlabs/Module/Admin.php:762
msgid "Block communications from these sites"
-msgstr ""
+msgstr "Bloquer les communications de ces sites"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid "Allow communications only from these channels"
-msgstr ""
+msgstr "N'autoriser que les communications de ces canaux"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid ""
"One channel (hash) per line. Leave empty to allow from any channel by "
"default"
-msgstr ""
+msgstr "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut"
-#: ../../mod/admin.php:716
+#: ../../Zotlabs/Module/Admin.php:764
msgid "Block communications from these channels"
-msgstr ""
-
-#: ../../mod/admin.php:717
-msgid "Allow embedded HTML content only from these domains"
-msgstr ""
+msgstr "Bloquer les communications de ces canaux"
-#: ../../mod/admin.php:717
-msgid "One site per line. Leave empty to allow from any site by default"
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
msgstr ""
-#: ../../mod/admin.php:718
-msgid "Block embedded HTML from these domains"
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
msgstr ""
-#: ../../mod/admin.php:720
-msgid "Cooperative embed security"
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
msgstr ""
-#: ../../mod/admin.php:720
-msgid "Enable to share embed security with other compatible sites/hubs"
-msgstr ""
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr "Bloquer le HTML embarqué à partir de ces domaines"
-#: ../../mod/admin.php:735
+#: ../../Zotlabs/Module/Admin.php:785
msgid "Update has been marked successful"
msgstr "La mise à jour a été marquée comme réussie"
-#: ../../mod/admin.php:745
+#: ../../Zotlabs/Module/Admin.php:795
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."
-#: ../../mod/admin.php:748
+#: ../../Zotlabs/Module/Admin.php:798
#, php-format
msgid "Update %s was successfully applied."
msgstr "La mise à jour %s a été appliquée avec succès."
-#: ../../mod/admin.php:752
+#: ../../Zotlabs/Module/Admin.php:802
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."
-#: ../../mod/admin.php:755
+#: ../../Zotlabs/Module/Admin.php:805
#, php-format
msgid "Update function %s could not be found."
msgstr "La fonction de mise à jour %s est introuvable."
-#: ../../mod/admin.php:771
+#: ../../Zotlabs/Module/Admin.php:821
msgid "No failed updates."
msgstr "Aucune mise à jour défaillante."
-#: ../../mod/admin.php:775
+#: ../../Zotlabs/Module/Admin.php:825
msgid "Failed Updates"
msgstr "Mises à jour défaillantes"
-#: ../../mod/admin.php:777
+#: ../../Zotlabs/Module/Admin.php:827
msgid "Mark success (if update was manually applied)"
msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuellement)"
-#: ../../mod/admin.php:778
+#: ../../Zotlabs/Module/Admin.php:828
msgid "Attempt to execute this update step automatically"
msgstr "Tenter de réaliser cette étape de mise à jour automatiquement"
-#: ../../mod/admin.php:809
+#: ../../Zotlabs/Module/Admin.php:859
msgid "Queue Statistics"
msgstr "Statistiques de file d'attente"
-#: ../../mod/admin.php:810
+#: ../../Zotlabs/Module/Admin.php:860
msgid "Total Entries"
msgstr "Nombre d'entrées total"
-#: ../../mod/admin.php:811
+#: ../../Zotlabs/Module/Admin.php:861
msgid "Priority"
msgstr "Priorité"
-#: ../../mod/admin.php:812
+#: ../../Zotlabs/Module/Admin.php:862
msgid "Destination URL"
msgstr "URL de destination"
-#: ../../mod/admin.php:813
+#: ../../Zotlabs/Module/Admin.php:863
msgid "Mark hub permanently offline"
msgstr "Marquer le hub comme étant hors ligne de manière permanente"
-#: ../../mod/admin.php:814
+#: ../../Zotlabs/Module/Admin.php:864
msgid "Empty queue for this hub"
msgstr "Vider la file d'attente pour ce hub"
-#: ../../mod/admin.php:815
+#: ../../Zotlabs/Module/Admin.php:865
msgid "Last known contact"
msgstr "Dernier contact connu"
-#: ../../mod/admin.php:851
+#: ../../Zotlabs/Module/Admin.php:901
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s compte bloqué/débloqué"
msgstr[1] "%s comptes bloqués/débloqués"
-#: ../../mod/admin.php:859
+#: ../../Zotlabs/Module/Admin.php:908
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s compte supprimé"
msgstr[1] "%s comptes supprimés"
-#: ../../mod/admin.php:895
+#: ../../Zotlabs/Module/Admin.php:944
msgid "Account not found"
msgstr "Compte introuvable"
-#: ../../mod/admin.php:907
+#: ../../Zotlabs/Module/Admin.php:955
#, php-format
msgid "Account '%s' deleted"
msgstr "Compte '%s' supprimé"
-#: ../../mod/admin.php:915
+#: ../../Zotlabs/Module/Admin.php:963
#, php-format
msgid "Account '%s' blocked"
msgstr "Compte '%s' bloqué"
-#: ../../mod/admin.php:923
+#: ../../Zotlabs/Module/Admin.php:971
#, php-format
msgid "Account '%s' unblocked"
msgstr "Compte '%s' débloqué"
-#: ../../mod/admin.php:985 ../../mod/admin.php:997
-msgid "Users"
-msgstr "Utilisateurs"
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Comptes"
-#: ../../mod/admin.php:987 ../../mod/admin.php:1151
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
msgid "select all"
msgstr "tout sélectionner"
-#: ../../mod/admin.php:988
-msgid "User registrations waiting for confirm"
-msgstr "Inscriptions en attente d'approbation"
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr ""
-#: ../../mod/admin.php:989
+#: ../../Zotlabs/Module/Admin.php:1035
msgid "Request date"
msgstr "Date de la demande"
-#: ../../mod/admin.php:990
+#: ../../Zotlabs/Module/Admin.php:1036
msgid "No registrations."
msgstr "Pas d'inscriptions."
-#: ../../mod/admin.php:992
+#: ../../Zotlabs/Module/Admin.php:1038
msgid "Deny"
msgstr "Refuser"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Tous les canaux"
+
+#: ../../Zotlabs/Module/Admin.php:1049
msgid "Register date"
msgstr "Date d'inscription"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1050
msgid "Last login"
msgstr "Dernière connexion"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1051
msgid "Expires"
msgstr "Expire le"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1052
msgid "Service Class"
msgstr "Classe de service"
-#: ../../mod/admin.php:1000
+#: ../../Zotlabs/Module/Admin.php:1054
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Les comptes sélectionnés seront supprimés&nbsp;!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../mod/admin.php:1001
+#: ../../Zotlabs/Module/Admin.php:1055
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Le compte {0} sera supprimé&nbsp;!\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../mod/admin.php:1037
+#: ../../Zotlabs/Module/Admin.php:1091
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s canal censuré/dé-censuré"
msgstr[1] "%s canaux censurés/dé-censurés"
-#: ../../mod/admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1100
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "code autorisé/interdit pour %s canal"
msgstr[1] "code autorisé/interdit pour %s canaux"
-#: ../../mod/admin.php:1053
+#: ../../Zotlabs/Module/Admin.php:1106
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canal supprimé"
msgstr[1] "%s canaux supprimés"
-#: ../../mod/admin.php:1073
+#: ../../Zotlabs/Module/Admin.php:1126
msgid "Channel not found"
msgstr "Canal introuvable"
-#: ../../mod/admin.php:1084
+#: ../../Zotlabs/Module/Admin.php:1136
#, php-format
msgid "Channel '%s' deleted"
msgstr "Canal '%s' supprimé"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' censored"
msgstr "Canal '%s' censuré"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Canal '%s' non censuré"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Code autorisé pour le canal '%s'"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Code interdit pour le canal '%s'"
-#: ../../mod/admin.php:1153
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Canaux"
+
+#: ../../Zotlabs/Module/Admin.php:1214
msgid "Censor"
msgstr "Censurer"
-#: ../../mod/admin.php:1154
+#: ../../Zotlabs/Module/Admin.php:1215
msgid "Uncensor"
msgstr "Ne plus censurer"
-#: ../../mod/admin.php:1155
+#: ../../Zotlabs/Module/Admin.php:1216
msgid "Allow Code"
msgstr "Autoriser le code"
-#: ../../mod/admin.php:1156
+#: ../../Zotlabs/Module/Admin.php:1217
msgid "Disallow Code"
msgstr "Interdire le code"
-#: ../../mod/admin.php:1158
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Canal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:1158 ../../mod/profiles.php:457
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../mod/admin.php:1160
+#: ../../Zotlabs/Module/Admin.php:1226
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Les canaux sélectionnés seront supprimés&nbsp;!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../mod/admin.php:1161
+#: ../../Zotlabs/Module/Admin.php:1227
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Le canal {0} sera supprimé&nbsp;!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé&nbsp;!\\n\\nÊtes-vous sûr(e)&nbsp;?"
-#: ../../mod/admin.php:1218
+#: ../../Zotlabs/Module/Admin.php:1284
#, php-format
msgid "Plugin %s disabled."
msgstr "Greffon %s désactivé."
-#: ../../mod/admin.php:1222
+#: ../../Zotlabs/Module/Admin.php:1288
#, php-format
msgid "Plugin %s enabled."
msgstr "Greffon %s activé."
-#: ../../mod/admin.php:1232 ../../mod/admin.php:1458
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
msgid "Disable"
msgstr "Désactiver"
-#: ../../mod/admin.php:1235 ../../mod/admin.php:1460
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
msgid "Enable"
msgstr "Activer"
-#: ../../mod/admin.php:1265 ../../mod/admin.php:1487
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Greffons"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
msgid "Toggle"
msgstr "(Dés)activer"
-#: ../../mod/admin.php:1273 ../../mod/admin.php:1497
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Paramètres"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
msgid "Author: "
msgstr "Auteur&nbsp;:"
-#: ../../mod/admin.php:1274 ../../mod/admin.php:1498
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
msgid "Maintainer: "
msgstr "Maintenu par&nbsp;:"
-#: ../../mod/admin.php:1275
+#: ../../Zotlabs/Module/Admin.php:1341
msgid "Minimum project version: "
msgstr "Version minimum du projet&nbsp;:"
-#: ../../mod/admin.php:1276
+#: ../../Zotlabs/Module/Admin.php:1342
msgid "Maximum project version: "
msgstr "Version maximum du projet&nbsp;:"
-#: ../../mod/admin.php:1277
+#: ../../Zotlabs/Module/Admin.php:1343
msgid "Minimum PHP version: "
msgstr "Version minimum de PHP&nbsp;:"
-#: ../../mod/admin.php:1279 ../../mod/admin.php:1330
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "Requiert&nbsp;:"
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
msgid "Disabled - version incompatibility"
msgstr "Désactivé - version incompatible"
-#: ../../mod/admin.php:1423
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Installer"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Mise à jour"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1550
msgid "No themes found."
msgstr "Aucun thème trouvé."
-#: ../../mod/admin.php:1479
+#: ../../Zotlabs/Module/Admin.php:1606
msgid "Screenshot"
msgstr "Capture d'écran"
-#: ../../mod/admin.php:1525
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Thèmes"
+
+#: ../../Zotlabs/Module/Admin.php:1652
msgid "[Experimental]"
msgstr "[Expérimental]"
-#: ../../mod/admin.php:1526
+#: ../../Zotlabs/Module/Admin.php:1653
msgid "[Unsupported]"
msgstr "[Non maintenu]"
-#: ../../mod/admin.php:1550
+#: ../../Zotlabs/Module/Admin.php:1677
msgid "Log settings updated."
msgstr "Paramètres du journal mis à jour."
-#: ../../mod/admin.php:1607
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Journaux"
+
+#: ../../Zotlabs/Module/Admin.php:1734
msgid "Clear"
msgstr "Vider"
-#: ../../mod/admin.php:1613
+#: ../../Zotlabs/Module/Admin.php:1740
msgid "Debugging"
msgstr "Débogage"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid "Log file"
msgstr "Fichier du journal"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de Hubzilla."
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
-#: ../../mod/admin.php:1615
+#: ../../Zotlabs/Module/Admin.php:1742
msgid "Log level"
msgstr "Niveau de journalisation"
-#: ../../mod/admin.php:1661
+#: ../../Zotlabs/Module/Admin.php:2028
msgid "New Profile Field"
msgstr "Nouveau champ de profil"
-#: ../../mod/admin.php:1662 ../../mod/admin.php:1682
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "Field nickname"
msgstr "Nom court du champ"
-#: ../../mod/admin.php:1662 ../../mod/admin.php:1682
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "System name of field"
msgstr "Nom système du champ"
-#: ../../mod/admin.php:1663 ../../mod/admin.php:1683
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
msgid "Input type"
msgstr "Type de champ"
-#: ../../mod/admin.php:1664 ../../mod/admin.php:1684
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Field Name"
msgstr "Nom du champ"
-#: ../../mod/admin.php:1664 ../../mod/admin.php:1684
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Label on profile pages"
msgstr "Étiquette sur les pages de profil"
-#: ../../mod/admin.php:1665 ../../mod/admin.php:1685
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Help text"
msgstr "Aide à la saisie"
-#: ../../mod/admin.php:1665 ../../mod/admin.php:1685
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Additional info (optional)"
msgstr "Informations additionnelles (facultatif)"
-#: ../../mod/admin.php:1675
+#: ../../Zotlabs/Module/Admin.php:2042
msgid "Field definition not found"
msgstr "Définition du champ introuvable"
-#: ../../mod/admin.php:1681
+#: ../../Zotlabs/Module/Admin.php:2048
msgid "Edit Profile Field"
msgstr "Modifier le champ de profil"
-#: ../../mod/poke.php:165
-msgid "Poke somebody"
-msgstr ""
-
-#: ../../mod/poke.php:168
-msgid "Poke/Prod"
-msgstr "Tapoter/Encourager"
-
-#: ../../mod/poke.php:169
-msgid "Poke, prod or do other things to somebody"
-msgstr ""
-
-#: ../../mod/poke.php:176
-msgid "Recipient"
-msgstr "Destinataire"
-
-#: ../../mod/poke.php:177
-msgid "Choose what you wish to do to recipient"
-msgstr "Choisir ce que vous voulez faire au destinataire"
-
-#: ../../mod/poke.php:180 ../../mod/poke.php:181
-msgid "Make this post private"
-msgstr "Rendre cette publication privée"
-
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Récupération d'URL échouée&nbsp;: %1$s"
-
-#: ../../mod/profile_photo.php:112 ../../mod/cover_photo.php:54
-msgid "Image uploaded but image cropping failed."
-msgstr "L'image a été téléversée, mais le recadrage a échoué."
-
-#: ../../mod/profile_photo.php:166 ../../mod/cover_photo.php:150
-msgid "Image resize failed."
-msgstr "Le redimensionnement de l'image a échoué."
-
-#: ../../mod/profile_photo.php:212
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement."
-
-#: ../../mod/profile_photo.php:250 ../../mod/cover_photo.php:188
-msgid "Image upload failed."
-msgstr "Le téléversement de l'image a échoué."
-
-#: ../../mod/profile_photo.php:269 ../../mod/cover_photo.php:206
-msgid "Unable to process image."
-msgstr "Impossible de traîter l'image."
-
-#: ../../mod/profile_photo.php:297 ../../mod/cover_photo.php:229
-msgid "female"
-msgstr "femme"
-
-#: ../../mod/profile_photo.php:298 ../../mod/cover_photo.php:230
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s a mis à jour son %2$s"
-
-#: ../../mod/profile_photo.php:299 ../../mod/cover_photo.php:231
-msgid "male"
-msgstr "homme"
-
-#: ../../mod/profile_photo.php:300 ../../mod/cover_photo.php:232
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s a mis à jour son %2$s"
-
-#: ../../mod/profile_photo.php:302 ../../mod/cover_photo.php:234
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "%1$s a mis a jour sa %2$s"
-
-#: ../../mod/profile_photo.php:304
-msgid "profile photo"
-msgstr "photo de profil"
-
-#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409
-#: ../../mod/cover_photo.php:299 ../../mod/cover_photo.php:314
-msgid "Photo not available."
-msgstr "Photo inaccessible."
-
-#: ../../mod/profile_photo.php:450 ../../mod/cover_photo.php:350
-msgid "Upload File:"
-msgstr "Téléverser fichier&nbsp;:"
-
-#: ../../mod/profile_photo.php:451 ../../mod/cover_photo.php:351
-msgid "Select a profile:"
-msgstr "Choisir un profil&nbsp;:"
-
-#: ../../mod/profile_photo.php:452
-msgid "Upload Profile Photo"
-msgstr "Téléverser une photo de profil"
-
-#: ../../mod/profile_photo.php:457 ../../mod/settings.php:976
-#: ../../mod/cover_photo.php:357
-msgid "or"
-msgstr "ou"
-
-#: ../../mod/profile_photo.php:457 ../../mod/cover_photo.php:357
-msgid "skip this step"
-msgstr "passer cette étape"
-
-#: ../../mod/profile_photo.php:457 ../../mod/cover_photo.php:357
-msgid "select a photo from your photo albums"
-msgstr "choisir une photo dans vos albums"
-
-#: ../../mod/profile_photo.php:473 ../../mod/cover_photo.php:373
-msgid "Crop Image"
-msgstr "Recadrer l'image"
-
-#: ../../mod/profile_photo.php:474 ../../mod/cover_photo.php:374
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Merci d'ajuster le cadre pour une visualisation optimale."
-
-#: ../../mod/profile_photo.php:476 ../../mod/cover_photo.php:376
-msgid "Done Editing"
-msgstr "J'ai terminé"
-
-#: ../../mod/profiles.php:19 ../../mod/profiles.php:184
-#: ../../mod/profiles.php:241 ../../mod/profiles.php:608
-msgid "Profile not found."
-msgstr "Profil introuvable."
-
-#: ../../mod/profiles.php:39
-msgid "Profile deleted."
-msgstr "Profil supprimé."
-
-#: ../../mod/profiles.php:63 ../../mod/profiles.php:99
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../mod/profiles.php:84 ../../mod/profiles.php:127
-msgid "New profile created."
-msgstr "Nouveau profil créé."
-
-#: ../../mod/profiles.php:105
-msgid "Profile unavailable to clone."
-msgstr "Profil impossible à cloner."
-
-#: ../../mod/profiles.php:146
-msgid "Profile unavailable to export."
-msgstr "Impossible d'exporter le profil."
-
-#: ../../mod/profiles.php:251
-msgid "Profile Name is required."
-msgstr "Le nom du profil est obligatoire."
-
-#: ../../mod/profiles.php:414
-msgid "Marital Status"
-msgstr "Statut marital"
-
-#: ../../mod/profiles.php:418
-msgid "Romantic Partner"
-msgstr "Partenaire amoureux"
-
-#: ../../mod/profiles.php:422
-msgid "Likes"
-msgstr "Aime"
-
-#: ../../mod/profiles.php:426
-msgid "Dislikes"
-msgstr "N'aime pas"
-
-#: ../../mod/profiles.php:430
-msgid "Work/Employment"
-msgstr "Travail/Occupation"
-
-#: ../../mod/profiles.php:433
-msgid "Religion"
-msgstr "Religion/Croyance"
-
-#: ../../mod/profiles.php:437
-msgid "Political Views"
-msgstr "Opinions politiques"
-
-#: ../../mod/profiles.php:445
-msgid "Sexual Preference"
-msgstr "Préférences sexuelle"
-
-#: ../../mod/profiles.php:449
-msgid "Homepage"
-msgstr "Site Internet"
-
-#: ../../mod/profiles.php:453
-msgid "Interests"
-msgstr "Centres d'intérêt"
-
-#: ../../mod/profiles.php:547
-msgid "Profile updated."
-msgstr "Profil mis à jour."
-
-#: ../../mod/profiles.php:634
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Cacher vos contacts/amis aux visiteurs de ce profil&nbsp;?"
-
-#: ../../mod/profiles.php:674
-msgid "Edit Profile Details"
-msgstr "Modifier les détails du profil"
-
-#: ../../mod/profiles.php:676
-msgid "View this profile"
-msgstr "Voir ce profil"
-
-#: ../../mod/profiles.php:678
-msgid "Change Profile Photo"
-msgstr "Changer la photo du profil"
-
-#: ../../mod/profiles.php:679
-msgid "Create a new profile using these settings"
-msgstr "Créer un nouveau profil avec ces paramètres"
-
-#: ../../mod/profiles.php:680
-msgid "Clone this profile"
-msgstr "Cloner ce profil"
-
-#: ../../mod/profiles.php:681
-msgid "Delete this profile"
-msgstr "Supprimer ce profil"
-
-#: ../../mod/profiles.php:683
-msgid "Import profile from file"
-msgstr "Importer le profil à partir d'un fichier"
-
-#: ../../mod/profiles.php:684
-msgid "Export profile to file"
-msgstr "Exporter le profil vers un fichier."
-
-#: ../../mod/profiles.php:685
-msgid "Profile Name:"
-msgstr "Nom du profil&nbsp;:"
-
-#: ../../mod/profiles.php:686
-msgid "Your Full Name:"
-msgstr "Votre nom complet&nbsp;:"
-
-#: ../../mod/profiles.php:687
-msgid "Title/Description:"
-msgstr "Titre/description&nbsp;:"
-
-#: ../../mod/profiles.php:688
-msgid "Your Gender:"
-msgstr "Sexe/Genre&nbsp;:"
-
-#: ../../mod/profiles.php:689
-msgid "Birthday :"
-msgstr "Date de naissance&nbsp;:"
-
-#: ../../mod/profiles.php:690
-msgid "Street Address:"
-msgstr "Numéro et voie&nbsp;:"
-
-#: ../../mod/profiles.php:691
-msgid "Locality/City:"
-msgstr "Ville&nbsp;:"
-
-#: ../../mod/profiles.php:692
-msgid "Postal/Zip Code:"
-msgstr "Code postal&nbsp;:"
-
-#: ../../mod/profiles.php:693
-msgid "Country:"
-msgstr "Pays&nbsp;:"
-
-#: ../../mod/profiles.php:694
-msgid "Region/State:"
-msgstr "Région/Province/État&nbsp;:"
-
-#: ../../mod/profiles.php:695
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span>Statut marital&nbsp;:"
-
-#: ../../mod/profiles.php:696
-msgid "Who: (if applicable)"
-msgstr "Avec&nbsp;: (si pertinent)"
-
-#: ../../mod/profiles.php:697
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Exemples&nbsp;: marie123, Marie Deschamps, marie@exemple.com"
-
-#: ../../mod/profiles.php:698
-msgid "Since [date]:"
-msgstr "Depuis [date]&nbsp;:"
-
-#: ../../mod/profiles.php:700
-msgid "Homepage URL:"
-msgstr "URL de mon site Internet&nbsp;:"
-
-#: ../../mod/profiles.php:703
-msgid "Religious Views:"
-msgstr "Opinions religieuses&nbsp;:"
-
-#: ../../mod/profiles.php:704
-msgid "Keywords:"
-msgstr "Mots-clefs&nbsp;:"
-
-#: ../../mod/profiles.php:707
-msgid "Example: fishing photography software"
-msgstr "Exemple&nbsp;: escrime photographie modélisme"
-
-#: ../../mod/profiles.php:708
-msgid "Used in directory listings"
-msgstr "Utilisé pour le référencement dans l'annuaire"
-
-#: ../../mod/profiles.php:709
-msgid "Tell us about yourself..."
-msgstr "Parlez nous de vous..."
-
-#: ../../mod/profiles.php:710
-msgid "Hobbies/Interests"
-msgstr "Loisirs/Centres d'intêret"
-
-#: ../../mod/profiles.php:711
-msgid "Contact information and Social Networks"
-msgstr "Coordonnées et réseaux sociaux"
-
-#: ../../mod/profiles.php:712
-msgid "My other channels"
-msgstr "Mes autres canaux"
-
-#: ../../mod/profiles.php:713
-msgid "Musical interests"
-msgstr "Goûts musicaux"
-
-#: ../../mod/profiles.php:714
-msgid "Books, literature"
-msgstr "Livres, littérature"
-
-#: ../../mod/profiles.php:715
-msgid "Television"
-msgstr "Télévision"
-
-#: ../../mod/profiles.php:716
-msgid "Film/dance/culture/entertainment"
-msgstr "Cinéma/Danse/Culture/Divertissement"
-
-#: ../../mod/profiles.php:717
-msgid "Love/romance"
-msgstr "Amour/Relation amoureuse"
-
-#: ../../mod/profiles.php:718
-msgid "Work/employment"
-msgstr "Travail/Occupation&nbsp;"
-
-#: ../../mod/profiles.php:719
-msgid "School/education"
-msgstr "Études"
-
-#: ../../mod/profiles.php:725
-msgid "This is your default profile."
-msgstr "Ceci est votre profil par défaut."
-
-#: ../../mod/profiles.php:736
-msgid "Age: "
-msgstr "Age&nbsp;:"
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Champs de profil"
-#: ../../mod/profiles.php:779
-msgid "Edit/Manage Profiles"
-msgstr "Modifier/gérer les profils"
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "Champs de profil de base"
-#: ../../mod/profiles.php:780
-msgid "Add profile things"
-msgstr "Ajouter des éléments de profil"
-
-#: ../../mod/profiles.php:781
-msgid "Include desirable objects in your profile"
-msgstr "Incluez des objets souhaitables dans votre profil"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Identifiant de profil invalide."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Éditeur de visibilité de profil"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Cliquer sur un contact pour l'ajouter ou le retirer."
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "Champs de profil avancés"
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visible par"
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "(en plus des champs de base)"
-#: ../../mod/pubsites.php:18
-msgid "Public Sites"
-msgstr "Sites publics"
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "Tous les champs disponibles"
-#: ../../mod/pubsites.php:21
-msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "Les sites listés autorisent l'inscription publique au réseau $Projectname. Tous les sites du réseau sont interconnectés, l'inscription sur l'un quelconque d'entre eux signifie donc l'inscription sur le réseau dans son ensemble. Certains sites peuvent nécessiter une souscription ou fournir des niveaux de service différenciés. Le lien du fournisseur <strong>peut</strong> fournir plus de détails."
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "Champs personnalisés"
-#: ../../mod/pubsites.php:27
-msgid "Rate this hub"
-msgstr "Noter ce hub"
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "Créer un champ personnalisé"
-#: ../../mod/pubsites.php:28
-msgid "Site URL"
-msgstr "URL du site"
-
-#: ../../mod/pubsites.php:28
-msgid "Access Type"
-msgstr "Type d'accès"
-
-#: ../../mod/pubsites.php:28
-msgid "Registration Policy"
-msgstr "Politique d'inscription"
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "Application installée."
-#: ../../mod/pubsites.php:28
-msgid "Project"
-msgstr "Projet"
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Erreur de l'application - Malformée."
-#: ../../mod/pubsites.php:28
-msgid "View hub ratings"
-msgstr "Voir les notes de cette instance"
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Imbriquer le code"
-#: ../../mod/pubsites.php:32
-msgid "Rate"
-msgstr "Evaluer"
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "Modifier l'application"
-#: ../../mod/pubsites.php:33
-msgid "View ratings"
-msgstr "Voir les notes"
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "Créer une application"
-#: ../../mod/rate.php:158
-msgid "Website:"
-msgstr "Site web&nbsp;:"
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Nom de l'application"
-#: ../../mod/rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal distant [%s] (encore inconnu sur ce site)"
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Emplacement (URL) de l'application"
-#: ../../mod/rate.php:162
-msgid "Rating (this information is public)"
-msgstr "Evaluation (cette information est publique)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "URL de l'icône à utiliser pour cette photo"
-#: ../../mod/rate.php:163
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Explication facultative de votre évaluation (cette information est publique)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels - facultatif"
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "Pas de note"
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr ""
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Evaluation&nbsp:"
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Identifiant de version"
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Site web&nbsp;:"
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Prix de l'application"
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Description&nbsp;:"
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Emplacement (URL) pour l'achat de l'application"
-#: ../../mod/rbmark.php:90
+#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Choisir un dossier de favoris"
-#: ../../mod/rbmark.php:95
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "Save Bookmark"
msgstr "Enregistrer le favori"
-#: ../../mod/rbmark.php:96
+#: ../../Zotlabs/Module/Rbmark.php:100
msgid "URL of bookmark"
msgstr "URL du favori"
-#: ../../mod/rbmark.php:101
+#: ../../Zotlabs/Module/Rbmark.php:105
msgid "Or enter new bookmark folder name"
msgstr "Ou entrez un nouveau nom de dossier de favoris"
-#: ../../mod/register.php:45
+#: ../../Zotlabs/Module/Register.php:49
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain."
-#: ../../mod/register.php:51
+#: ../../Zotlabs/Module/Register.php:55
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué."
-#: ../../mod/register.php:85
+#: ../../Zotlabs/Module/Register.php:89
msgid "Passwords do not match."
msgstr "Les mots de passe ne concordent pas."
-#: ../../mod/register.php:127
+#: ../../Zotlabs/Module/Register.php:131
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte."
-#: ../../mod/register.php:133
+#: ../../Zotlabs/Module/Register.php:137
msgid "Your registration is pending approval by the site owner."
msgstr "Votre inscription est en attente d'approbation par l'administrateur."
-#: ../../mod/register.php:136
+#: ../../Zotlabs/Module/Register.php:140
msgid "Your registration can not be processed."
msgstr "Votre inscription ne peut être traîtée."
-#: ../../mod/register.php:179
-msgid "Registration on this site is disabled."
-msgstr "L'enregistrement est désactivé sur ce site."
+#: ../../Zotlabs/Module/Register.php:184
+msgid "Registration on this hub is disabled."
+msgstr "La création de nouveaux comptes est désactivée pour ce site."
-#: ../../mod/register.php:188
-msgid "Registration on this site/hub is by approval only."
-msgstr "L'inscription sur ce site/hub est soumise à approbation."
+#: ../../Zotlabs/Module/Register.php:193
+msgid "Registration on this hub is by approval only."
+msgstr "La création de compte sur ce site est soumise à approbation."
-#: ../../mod/register.php:189
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">S'inscrire sur un autre site/hub affilié</a>"
+#: ../../Zotlabs/Module/Register.php:194
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>"
-#: ../../mod/register.php:199
+#: ../../Zotlabs/Module/Register.php:204
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain."
-#: ../../mod/register.php:210
+#: ../../Zotlabs/Module/Register.php:215
msgid "Terms of Service"
msgstr "Conditions de service"
-#: ../../mod/register.php:216
+#: ../../Zotlabs/Module/Register.php:221
#, php-format
msgid "I accept the %s for this website"
msgstr "J'accepte les %s de ce site"
-#: ../../mod/register.php:218
+#: ../../Zotlabs/Module/Register.php:223
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "J'ai plus de 13 ans et j'accepte les %s de ce site"
-#: ../../mod/register.php:242
-msgid "Membership on this site is by invitation only."
-msgstr "L'inscription à ce site se fait uniquement sur invitation."
-
-#: ../../mod/register.php:243
-msgid "Please enter your invitation code"
-msgstr "Merci de saisir votre code d'invitation"
-
-#: ../../mod/register.php:247
-msgid "Enter your name"
-msgstr "Saisissez votre nom"
-
-#: ../../mod/register.php:256
+#: ../../Zotlabs/Module/Register.php:227
msgid "Your email address"
msgstr "Votre adresse de courriel"
-#: ../../mod/register.php:257
+#: ../../Zotlabs/Module/Register.php:228
msgid "Choose a password"
msgstr "Choisissez un mot de passe"
-#: ../../mod/register.php:258
+#: ../../Zotlabs/Module/Register.php:229
msgid "Please re-enter your password"
msgstr "Merci de saisir à nouveau votre mot de passe"
-#: ../../mod/regmod.php:11
+#: ../../Zotlabs/Module/Register.php:230
+msgid "Please enter your invitation code"
+msgstr "Merci de saisir votre code d'invitation"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "no"
+msgstr "non"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "yes"
+msgstr "oui"
+
+#: ../../Zotlabs/Module/Register.php:250
+msgid "Membership on this site is by invitation only."
+msgstr "L'inscription à ce site se fait uniquement sur invitation."
+
+#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
+#: ../../boot.php:1685
+msgid "Register"
+msgstr "S'inscrire"
+
+#: ../../Zotlabs/Module/Register.php:262
+msgid "Proceed to create your first channel"
+msgstr "Continuer pour créer votre premier canal"
+
+#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
msgstr "Merci de vous connecter."
-#: ../../mod/removeaccount.php:30
+#: ../../Zotlabs/Module/Removeaccount.php:34
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Il est impossible de supprimer un compte dans les 48 heures après avoir changé le mot de passe du compte."
-#: ../../mod/removeaccount.php:57
+#: ../../Zotlabs/Module/Removeaccount.php:56
msgid "Remove This Account"
msgstr "Supprimer ce compte"
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "WARNING: "
msgstr "AVERTISSEMENT&nbsp;:"
-#: ../../mod/removeaccount.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Ce compte et tous ses canaux seront entièrement supprimés du réseau."
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This action is permanent and can not be undone!"
msgstr "Cette action est permanente et irréversible&nbsp;!"
-#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
msgid "Please enter your password for verification:"
msgstr "Merci de saisir votre mot de passe pour vérification&nbsp;:"
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"Remove this account, all its channels and all its channel clones from the "
"network"
msgstr "Supprimer du réseau ce compte, tous ses canaux et tous les clones de ses canaux."
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"By default only the instances of the channels located on this hub will be "
"removed from the network"
msgstr "Par défaut, seules les instances des canaux situés sur ce hub seront supprimées du réseau"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700
+#: ../../Zotlabs/Module/Removeaccount.php:60
+#: ../../Zotlabs/Module/Settings.php:705
msgid "Remove Account"
msgstr "Supprimer le compte"
-#: ../../mod/removeme.php:29
+#: ../../Zotlabs/Module/Removeme.php:33
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Il est impossible de supprimer un canal moins de 48 heures après avoir changé le mot de passe d'un compte."
-#: ../../mod/removeme.php:57
+#: ../../Zotlabs/Module/Removeme.php:58
msgid "Remove This Channel"
msgstr "Supprimer ce canal"
-#: ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This channel will be completely removed from the network. "
msgstr "Ce canal sera complètement supprimé du réseau."
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid "Remove this channel and all its clones from the network"
msgstr "Supprimer ce canal ainsi que tous ses clones sur le réseau"
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid ""
"By default only the instance of the channel located on this hub will be "
"removed from the network"
msgstr "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau"
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
msgid "Remove Channel"
msgstr "Supprimer le canal"
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est correctement saisi."
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid "The error message was:"
msgstr "Le message d'erreur était&nbsp;:"
-#: ../../mod/rmagic.php:44
+#: ../../Zotlabs/Module/Rmagic.php:48
msgid "Authentication failed."
msgstr "Échec de l'authentification."
-#: ../../mod/rmagic.php:84
+#: ../../Zotlabs/Module/Rmagic.php:88
msgid "Remote Authentication"
msgstr "Authentification distante"
-#: ../../mod/rmagic.php:85
+#: ../../Zotlabs/Module/Rmagic.php:89
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)"
-#: ../../mod/rmagic.php:86
+#: ../../Zotlabs/Module/Rmagic.php:90
msgid "Authenticate"
msgstr "Authentifier"
-#: ../../mod/search.php:212
+#: ../../Zotlabs/Module/Search.php:216
#, php-format
msgid "Items tagged with: %s"
msgstr "Eléments étiquetés avec&nbsp;: %s"
-#: ../../mod/search.php:214
+#: ../../Zotlabs/Module/Search.php:218
#, php-format
msgid "Search results for: %s"
msgstr "Résultats de recherche pour&nbsp;: %s"
-#: ../../mod/service_limits.php:19
+#: ../../Zotlabs/Module/Service_limits.php:23
msgid "No service class restrictions found."
msgstr "Aucune restriction de classe de service trouvée."
-#: ../../mod/settings.php:76
+#: ../../Zotlabs/Module/Settings.php:69
msgid "Name is required"
msgstr "Le nom est requis"
-#: ../../mod/settings.php:80
+#: ../../Zotlabs/Module/Settings.php:73
msgid "Key and Secret are required"
msgstr "Clef et secret sont requis"
-#: ../../mod/settings.php:232
+#: ../../Zotlabs/Module/Settings.php:225
+msgid "Not valid email."
+msgstr "Adresse de courriel non valide."
+
+#: ../../Zotlabs/Module/Settings.php:228
+msgid "Protected email address. Cannot change to that email."
+msgstr "Adresse de courriel protégée. Impossible de l'utiliser."
+
+#: ../../Zotlabs/Module/Settings.php:237
+msgid "System failure storing new email. Please try again."
+msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau."
+
+#: ../../Zotlabs/Module/Settings.php:254
+msgid "Password verification failed."
+msgstr "La vérification du mot de passe a échoué."
+
+#: ../../Zotlabs/Module/Settings.php:261
msgid "Passwords do not match. Password unchanged."
msgstr "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé."
-#: ../../mod/settings.php:236
+#: ../../Zotlabs/Module/Settings.php:265
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé."
-#: ../../mod/settings.php:250
+#: ../../Zotlabs/Module/Settings.php:279
msgid "Password changed."
msgstr "Le mot de passe a été changé."
-#: ../../mod/settings.php:252
+#: ../../Zotlabs/Module/Settings.php:281
msgid "Password update failed. Please try again."
msgstr "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau."
-#: ../../mod/settings.php:266
-msgid "Not valid email."
-msgstr "Adresse de courriel non valide."
-
-#: ../../mod/settings.php:269
-msgid "Protected email address. Cannot change to that email."
-msgstr "Adresse de courriel protégée. Impossible de l'utiliser."
-
-#: ../../mod/settings.php:278
-msgid "System failure storing new email. Please try again."
-msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau."
-
-#: ../../mod/settings.php:521
+#: ../../Zotlabs/Module/Settings.php:525
msgid "Settings updated."
msgstr "Paramètres mis à jour."
-#: ../../mod/settings.php:585 ../../mod/settings.php:611
-#: ../../mod/settings.php:647
+#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
+#: ../../Zotlabs/Module/Settings.php:651
msgid "Add application"
msgstr "Ajouter une application"
-#: ../../mod/settings.php:588
+#: ../../Zotlabs/Module/Settings.php:592
msgid "Name of application"
msgstr "Nom de l'application"
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
msgid "Consumer Key"
msgstr "Clef client"
-#: ../../mod/settings.php:589 ../../mod/settings.php:590
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères."
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
msgid "Consumer Secret"
msgstr "Secret client"
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
+#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
msgid "Redirect"
msgstr "Redirection"
-#: ../../mod/settings.php:591
+#: ../../Zotlabs/Module/Settings.php:595
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement"
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
msgid "Icon url"
msgstr "URL de l'icône"
-#: ../../mod/settings.php:592
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr "Facultatif"
-#: ../../mod/settings.php:603
+#: ../../Zotlabs/Module/Settings.php:607
msgid "Application not found."
-msgstr ""
+msgstr "Application introuvable."
-#: ../../mod/settings.php:646
+#: ../../Zotlabs/Module/Settings.php:650
msgid "Connected Apps"
msgstr "Applications connectées"
-#: ../../mod/settings.php:650
+#: ../../Zotlabs/Module/Settings.php:654
msgid "Client key starts with"
msgstr "La clef partagée commence par"
-#: ../../mod/settings.php:651
+#: ../../Zotlabs/Module/Settings.php:655
msgid "No name"
msgstr "Sans nom"
-#: ../../mod/settings.php:652
+#: ../../Zotlabs/Module/Settings.php:656
msgid "Remove authorization"
msgstr "Révoquer l'autorisation"
-#: ../../mod/settings.php:665
+#: ../../Zotlabs/Module/Settings.php:669
msgid "No feature settings configured"
msgstr "Aucun paramètre de fonctionnalité configuré"
-#: ../../mod/settings.php:672
+#: ../../Zotlabs/Module/Settings.php:676
msgid "Feature/Addon Settings"
msgstr "Paramètres des extensions/greffons"
-#: ../../mod/settings.php:695
+#: ../../Zotlabs/Module/Settings.php:699
msgid "Account Settings"
msgstr "Paramètres du compte"
-#: ../../mod/settings.php:696
-msgid "Enter New Password:"
-msgstr "Nouveau mot de passe&nbsp;:"
+#: ../../Zotlabs/Module/Settings.php:700
+msgid "Current Password"
+msgstr "Mot de passe actuel"
-#: ../../mod/settings.php:697
-msgid "Confirm New Password:"
-msgstr "Confirmer le nouveau mot de passe&nbsp;:"
+#: ../../Zotlabs/Module/Settings.php:701
+msgid "Enter New Password"
+msgstr "Entrez votre nouveau mot de passe"
-#: ../../mod/settings.php:697
+#: ../../Zotlabs/Module/Settings.php:702
+msgid "Confirm New Password"
+msgstr "Confirmez le nouveau mot de passe"
+
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Leave password fields blank unless changing"
msgstr "Laissez les mots de passe vides si vous ne voulez pas les modifier"
-#: ../../mod/settings.php:699 ../../mod/settings.php:1032
+#: ../../Zotlabs/Module/Settings.php:704
+#: ../../Zotlabs/Module/Settings.php:1041
msgid "Email Address:"
msgstr "Adresse de courriel&nbsp;:"
-#: ../../mod/settings.php:701
+#: ../../Zotlabs/Module/Settings.php:706
msgid "Remove this account including all its channels"
msgstr "Supprimer ce compte et tous ses canaux"
-#: ../../mod/settings.php:724
+#: ../../Zotlabs/Module/Settings.php:729
msgid "Additional Features"
msgstr "Fonctionnalités additionnelles"
-#: ../../mod/settings.php:748
+#: ../../Zotlabs/Module/Settings.php:753
msgid "Connector Settings"
msgstr "Paramètres du connecteur"
-#: ../../mod/settings.php:787
+#: ../../Zotlabs/Module/Settings.php:792
msgid "No special theme for mobile devices"
msgstr "Pas de thème spécifique aux mobiles"
-#: ../../mod/settings.php:790
+#: ../../Zotlabs/Module/Settings.php:795
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Expérimental)"
-#: ../../mod/settings.php:829
+#: ../../Zotlabs/Module/Settings.php:837
msgid "Display Settings"
msgstr "Afficher les paramètres"
-#: ../../mod/settings.php:830
+#: ../../Zotlabs/Module/Settings.php:838
msgid "Theme Settings"
msgstr "Paramètres du thème"
-#: ../../mod/settings.php:831
+#: ../../Zotlabs/Module/Settings.php:839
msgid "Custom Theme Settings"
msgstr "Paramètres personnels du thème"
-#: ../../mod/settings.php:832
+#: ../../Zotlabs/Module/Settings.php:840
msgid "Content Settings"
msgstr "Paramètres liés au contenu"
-#: ../../mod/settings.php:838
+#: ../../Zotlabs/Module/Settings.php:846
msgid "Display Theme:"
msgstr "Afficher le thème&nbsp;:"
-#: ../../mod/settings.php:839
+#: ../../Zotlabs/Module/Settings.php:847
msgid "Mobile Theme:"
msgstr "Thème mobile&nbsp;:"
-#: ../../mod/settings.php:840
+#: ../../Zotlabs/Module/Settings.php:848
+msgid "Preload images before rendering the page"
+msgstr "Pré-charger les images avant d'afficher la page"
+
+#: ../../Zotlabs/Module/Settings.php:848
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera"
+
+#: ../../Zotlabs/Module/Settings.php:849
msgid "Enable user zoom on mobile devices"
msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"
-#: ../../mod/settings.php:841
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Update browser every xx seconds"
msgstr "Mettre à jour le navigateur toutes les xx secondes"
-#: ../../mod/settings.php:841
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimum 10 secondes, pas de maximum"
-#: ../../mod/settings.php:842
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum number of conversations to load at any time:"
msgstr "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:"
-#: ../../mod/settings.php:842
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum of 100 items"
msgstr "100 éléments au maximum"
-#: ../../mod/settings.php:843
+#: ../../Zotlabs/Module/Settings.php:852
msgid "Show emoticons (smilies) as images"
msgstr "Remplacer les émoticônes (smileys) par des images"
-#: ../../mod/settings.php:844
+#: ../../Zotlabs/Module/Settings.php:853
msgid "Link post titles to source"
msgstr "Lier les titres des publications à leur source"
-#: ../../mod/settings.php:845
+#: ../../Zotlabs/Module/Settings.php:854
msgid "System Page Layout Editor - (advanced)"
msgstr "Editeur de mise en page des pages systèmes - (avancé)"
-#: ../../mod/settings.php:848
+#: ../../Zotlabs/Module/Settings.php:857
msgid "Use blog/list mode on channel page"
msgstr "Utiliser le mode blog/liste sur la page du canal"
-#: ../../mod/settings.php:848 ../../mod/settings.php:849
+#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
msgid "(comments displayed separately)"
msgstr "(commentaires affichés séparément)"
-#: ../../mod/settings.php:849
+#: ../../Zotlabs/Module/Settings.php:858
msgid "Use blog/list mode on grid page"
msgstr "Utiliser le mode blog/liste sur la page du réseau"
-#: ../../mod/settings.php:850
+#: ../../Zotlabs/Module/Settings.php:859
msgid "Channel page max height of content (in pixels)"
msgstr "Hauteur maximale du contenu pour la page du canal (en pixels)"
-#: ../../mod/settings.php:850 ../../mod/settings.php:851
+#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
msgid "click to expand content exceeding this height"
msgstr "cliquer pour dérouler le contenu dépassant cette limite"
-#: ../../mod/settings.php:851
+#: ../../Zotlabs/Module/Settings.php:860
msgid "Grid page max height of content (in pixels)"
msgstr "Hauteur maximale du contenu sur la page du réseau (en pixels)"
-#: ../../mod/settings.php:885
+#: ../../Zotlabs/Module/Settings.php:894
msgid "Nobody except yourself"
msgstr "Personne sauf vous"
-#: ../../mod/settings.php:886
+#: ../../Zotlabs/Module/Settings.php:895
msgid "Only those you specifically allow"
msgstr "Seulement ceux que vous autorisez spécifiquement"
-#: ../../mod/settings.php:887
+#: ../../Zotlabs/Module/Settings.php:896
msgid "Approved connections"
msgstr "Contacts approuvés"
-#: ../../mod/settings.php:888
+#: ../../Zotlabs/Module/Settings.php:897
msgid "Any connections"
msgstr "Tous les contacts"
-#: ../../mod/settings.php:889
+#: ../../Zotlabs/Module/Settings.php:898
msgid "Anybody on this website"
msgstr "Tous les utilisateurs du hub"
-#: ../../mod/settings.php:890
+#: ../../Zotlabs/Module/Settings.php:899
msgid "Anybody in this network"
msgstr "Tous les utilisateurs sur ce réseau"
-#: ../../mod/settings.php:891
+#: ../../Zotlabs/Module/Settings.php:900
msgid "Anybody authenticated"
msgstr "Tous les utilisateurs authentifiés"
-#: ../../mod/settings.php:892
+#: ../../Zotlabs/Module/Settings.php:901
msgid "Anybody on the internet"
msgstr "Tous les utilisateurs d'Internet"
-#: ../../mod/settings.php:967
+#: ../../Zotlabs/Module/Settings.php:976
msgid "Publish your default profile in the network directory"
msgstr "Publier votre profil par défaut dans l'annuaire du réseau"
-#: ../../mod/settings.php:972
+#: ../../Zotlabs/Module/Settings.php:981
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Nous autoriser à vous suggérer comme ami(e) potentiel(le) aux nouveaux membres?"
-#: ../../mod/settings.php:981
+#: ../../Zotlabs/Module/Settings.php:990
msgid "Your channel address is"
msgstr "L'adresse de votre canal est"
-#: ../../mod/settings.php:1023
+#: ../../Zotlabs/Module/Settings.php:1032
msgid "Channel Settings"
msgstr "Paramètres du canal"
-#: ../../mod/settings.php:1030
+#: ../../Zotlabs/Module/Settings.php:1039
msgid "Basic Settings"
msgstr "Paramètres standard"
-#: ../../mod/settings.php:1033
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
+msgid "Full Name:"
+msgstr "Nom complet&nbsp;:"
+
+#: ../../Zotlabs/Module/Settings.php:1042
msgid "Your Timezone:"
msgstr "Votre fureau horaire&nbsp;:"
-#: ../../mod/settings.php:1034
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Default Post Location:"
msgstr "Emplacement de publication par défaut&nbsp;:"
-#: ../../mod/settings.php:1034
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Geographical location to display on your posts"
msgstr "Emplacement géographique à afficher sur vos publications"
-#: ../../mod/settings.php:1035
+#: ../../Zotlabs/Module/Settings.php:1044
msgid "Use Browser Location:"
msgstr "Utiliser la géolocalisation du navigateur&nbsp;:"
-#: ../../mod/settings.php:1037
+#: ../../Zotlabs/Module/Settings.php:1046
msgid "Adult Content"
msgstr "Contenu \"adulte\""
-#: ../../mod/settings.php:1037
+#: ../../Zotlabs/Module/Settings.php:1046
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)"
-#: ../../mod/settings.php:1039
+#: ../../Zotlabs/Module/Settings.php:1048
msgid "Security and Privacy Settings"
msgstr "Paramètres de sécurité et de confidentialité"
-#: ../../mod/settings.php:1042
+#: ../../Zotlabs/Module/Settings.php:1051
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster"
-#: ../../mod/settings.php:1044
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Hide my online presence"
msgstr "Cacher ma présence en ligne"
-#: ../../mod/settings.php:1044
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Prevents displaying in your profile that you are online"
msgstr "Cacher votre statut (en ligne/hors ligne) sur votre profil"
-#: ../../mod/settings.php:1046
+#: ../../Zotlabs/Module/Settings.php:1055
msgid "Simple Privacy Settings:"
msgstr "Paramètres de confidentialité simplifiés&nbsp;:"
-#: ../../mod/settings.php:1047
+#: ../../Zotlabs/Module/Settings.php:1056
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>"
-#: ../../mod/settings.php:1048
+#: ../../Zotlabs/Module/Settings.php:1057
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable aux permissions type réseau social, avec une confidentialité améliorée)</em>"
-#: ../../mod/settings.php:1049
+#: ../../Zotlabs/Module/Settings.php:1058
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privé - <em>privé par défaut, jamais ouvert ni public</em>"
-#: ../../mod/settings.php:1050
+#: ../../Zotlabs/Module/Settings.php:1059
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>"
-#: ../../mod/settings.php:1052
+#: ../../Zotlabs/Module/Settings.php:1061
msgid "Allow others to tag your posts"
msgstr "Autoriser les autres à \"étiqueter\" vos publications"
-#: ../../mod/settings.php:1052
+#: ../../Zotlabs/Module/Settings.php:1061
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori "
-#: ../../mod/settings.php:1054
+#: ../../Zotlabs/Module/Settings.php:1063
msgid "Advanced Privacy Settings"
msgstr "Paramètres de confidentialité avancés"
-#: ../../mod/settings.php:1056
+#: ../../Zotlabs/Module/Settings.php:1065
msgid "Expire other channel content after this many days"
msgstr "Faire expirer le contenu des autres canaux après n jours"
-#: ../../mod/settings.php:1056
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "0 or blank to use the website limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
#, php-format
-msgid ""
-"0 or blank to use the website limit. The website expires after %d days."
-msgstr "0 ou vide pour utiliser la limite du site. Le délai du site est de %d jours."
+msgid "This website expires after %d days."
+msgstr ""
-#: ../../mod/settings.php:1057
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "This website does not expire imported content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "The website limit takes precedence if lower than your limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "Maximum Friend Requests/Day:"
msgstr "Nombre maximum de demandes de contact par jour&nbsp;:"
-#: ../../mod/settings.php:1057
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "May reduce spam activity"
msgstr "Contribue à réduire l'impact des indésirables"
-#: ../../mod/settings.php:1058
-msgid "Default Post Permissions"
-msgstr "Permissions par défaut des publications"
+#: ../../Zotlabs/Module/Settings.php:1067
+msgid "Default Post and Publish Permissions"
+msgstr ""
-#: ../../mod/settings.php:1063
+#: ../../Zotlabs/Module/Settings.php:1069
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1072
msgid "Channel permissions category:"
msgstr "Catégorie de permissions du canal&nbsp;:"
-#: ../../mod/settings.php:1069
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Maximum private messages per day from unknown people:"
msgstr "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:"
-#: ../../mod/settings.php:1069
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Useful to reduce spamming"
msgstr "Utile pour réduire les indésirables"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1081
msgid "Notification Settings"
msgstr "Paramètres de notification"
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1082
msgid "By default post a status message when:"
msgstr "Par défaut, publier un statut quand&nbsp;:"
-#: ../../mod/settings.php:1074
+#: ../../Zotlabs/Module/Settings.php:1083
msgid "accepting a friend request"
msgstr "vous acceptez une demande de contact"
-#: ../../mod/settings.php:1075
+#: ../../Zotlabs/Module/Settings.php:1084
msgid "joining a forum/community"
msgstr "vous rejoignez un forum ou une communauté"
-#: ../../mod/settings.php:1076
+#: ../../Zotlabs/Module/Settings.php:1085
msgid "making an <em>interesting</em> profile change"
msgstr "vous faîtes une modification <em>intéressante</em> de votre profil"
-#: ../../mod/settings.php:1077
+#: ../../Zotlabs/Module/Settings.php:1086
msgid "Send a notification email when:"
msgstr "Envoyer un courriel de notification quand&nbsp;:"
-#: ../../mod/settings.php:1078
+#: ../../Zotlabs/Module/Settings.php:1087
msgid "You receive a connection request"
msgstr "Vous recevez une demande de contact"
-#: ../../mod/settings.php:1079
+#: ../../Zotlabs/Module/Settings.php:1088
msgid "Your connections are confirmed"
msgstr "Vos contacts sont confirmés"
-#: ../../mod/settings.php:1080
+#: ../../Zotlabs/Module/Settings.php:1089
msgid "Someone writes on your profile wall"
msgstr "Quelqu'un a écrit sur votre mur"
-#: ../../mod/settings.php:1081
+#: ../../Zotlabs/Module/Settings.php:1090
msgid "Someone writes a followup comment"
msgstr "Quelqu'un a commenté vos publications"
-#: ../../mod/settings.php:1082
+#: ../../Zotlabs/Module/Settings.php:1091
msgid "You receive a private message"
msgstr "Vous recevez un message privé"
-#: ../../mod/settings.php:1083
+#: ../../Zotlabs/Module/Settings.php:1092
msgid "You receive a friend suggestion"
msgstr "Vous recevez une suggestion d'amitié/contact"
-#: ../../mod/settings.php:1084
+#: ../../Zotlabs/Module/Settings.php:1093
msgid "You are tagged in a post"
msgstr "Vous êtes étiqueté dans une publication"
-#: ../../mod/settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1094
msgid "You are poked/prodded/etc. in a post"
msgstr "Vous êtes tapoté/encouragé/etc. dans une publication"
-#: ../../mod/settings.php:1088
+#: ../../Zotlabs/Module/Settings.php:1097
msgid "Show visual notifications including:"
msgstr "Afficher des notifications visuelles y compris&nbsp;:"
-#: ../../mod/settings.php:1090
+#: ../../Zotlabs/Module/Settings.php:1099
msgid "Unseen grid activity"
msgstr "Activité du réseau pas encore consultée"
-#: ../../mod/settings.php:1091
+#: ../../Zotlabs/Module/Settings.php:1100
msgid "Unseen channel activity"
msgstr "Activité non vue sur le canal"
-#: ../../mod/settings.php:1092
+#: ../../Zotlabs/Module/Settings.php:1101
msgid "Unseen private messages"
msgstr "Messages privés non lus"
-#: ../../mod/settings.php:1092 ../../mod/settings.php:1097
-#: ../../mod/settings.php:1098 ../../mod/settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "Recommended"
msgstr "Recommandé"
-#: ../../mod/settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1102
msgid "Upcoming events"
msgstr "Événements à venir"
-#: ../../mod/settings.php:1094
+#: ../../Zotlabs/Module/Settings.php:1103
msgid "Events today"
msgstr "Événements aujourd'hui"
-#: ../../mod/settings.php:1095
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Upcoming birthdays"
msgstr "Anniversaires à venir"
-#: ../../mod/settings.php:1095
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Not available in all themes"
msgstr "Pas disponible dans tous les thèmes"
-#: ../../mod/settings.php:1096
+#: ../../Zotlabs/Module/Settings.php:1105
msgid "System (personal) notifications"
msgstr "Notifications système (personnelles)"
-#: ../../mod/settings.php:1097
+#: ../../Zotlabs/Module/Settings.php:1106
msgid "System info messages"
msgstr "Messages d'info système"
-#: ../../mod/settings.php:1098
+#: ../../Zotlabs/Module/Settings.php:1107
msgid "System critical alerts"
msgstr "Alertes critiques système"
-#: ../../mod/settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "New connections"
msgstr "Nouveaux contacts"
-#: ../../mod/settings.php:1100
+#: ../../Zotlabs/Module/Settings.php:1109
msgid "System Registrations"
msgstr "Inscriptions système"
-#: ../../mod/settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1110
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Afficher également les nouvelles publications sur le mur, les messages privés et les contacts dans Notifications"
-#: ../../mod/settings.php:1103
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Notify me of events this many days in advance"
msgstr "Me prévenir d’événements à venir tant de jours en avance"
-#: ../../mod/settings.php:1103
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Must be greater than 0"
msgstr "Doit être supérieur à 0"
-#: ../../mod/settings.php:1105
+#: ../../Zotlabs/Module/Settings.php:1114
msgid "Advanced Account/Page Type Settings"
msgstr "Paramètres avancés de compte/type de page"
-#: ../../mod/settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1115
msgid "Change the behaviour of this account for special situations"
msgstr "Modifie le comportement de ce compte pour des situations particulières"
-#: ../../mod/settings.php:1109
+#: ../../Zotlabs/Module/Settings.php:1118
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Mode expert requis (<a href=\"settings/features\">Paramètres > Fonctions supplémentaires</a>) pour ajuster&nbsp;!"
-#: ../../mod/settings.php:1110
+#: ../../Zotlabs/Module/Settings.php:1119
msgid "Miscellaneous Settings"
msgstr "Paramètres divers"
-#: ../../mod/settings.php:1111
+#: ../../Zotlabs/Module/Settings.php:1120
msgid "Default photo upload folder"
msgstr "Répertoire par défaut pour les photos téléversées"
-#: ../../mod/settings.php:1111 ../../mod/settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "%Y - current year, %m - current month"
msgstr "%Y - année en cours, %m - mois en cours"
-#: ../../mod/settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "Default file upload folder"
msgstr "Répertoire par défaut pour les fichiers téléversés"
-#: ../../mod/settings.php:1114
+#: ../../Zotlabs/Module/Settings.php:1123
msgid "Personal menu to display in your channel pages"
msgstr "Menu personnel à afficher sur les pages de votre canal"
-#: ../../mod/settings.php:1116
+#: ../../Zotlabs/Module/Settings.php:1125
msgid "Remove this channel."
msgstr "Supprimer ce canal"
-#: ../../mod/settings.php:1117
+#: ../../Zotlabs/Module/Settings.php:1126
msgid "Firefox Share $Projectname provider"
msgstr "Connecteur $Projectname pour Firefox Share"
-#: ../../mod/settings.php:1118
+#: ../../Zotlabs/Module/Settings.php:1127
msgid "Start calendar week on monday"
msgstr "Commencer la semaine du calendrier le lundi"
-#: ../../mod/setup.php:194
+#: ../../Zotlabs/Module/Setup.php:179
msgid "$Projectname Server - Setup"
msgstr "Serveur $Projectname - configuration"
-#: ../../mod/setup.php:198
+#: ../../Zotlabs/Module/Setup.php:183
msgid "Could not connect to database."
msgstr "Impossible de se connecter à la base de données."
-#: ../../mod/setup.php:202
+#: ../../Zotlabs/Module/Setup.php:187
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS."
-#: ../../mod/setup.php:209
+#: ../../Zotlabs/Module/Setup.php:194
msgid "Could not create table."
msgstr "Impossible de créer la table."
-#: ../../mod/setup.php:214
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Your site database has been installed."
msgstr "La base de données de votre site a été installée."
-#: ../../mod/setup.php:218
+#: ../../Zotlabs/Module/Setup.php:203
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)."
-#: ../../mod/setup.php:219 ../../mod/setup.php:287 ../../mod/setup.php:737
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Merci de consulter le fichier \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:284
+#: ../../Zotlabs/Module/Setup.php:263
msgid "System check"
msgstr "Vérification du système"
-#: ../../mod/setup.php:289
+#: ../../Zotlabs/Module/Setup.php:268
msgid "Check again"
msgstr "Re-vérifier"
-#: ../../mod/setup.php:311
+#: ../../Zotlabs/Module/Setup.php:290
msgid "Database connection"
msgstr "Connexion à la base de données"
-#: ../../mod/setup.php:312
+#: ../../Zotlabs/Module/Setup.php:291
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "Pour installer $Projectname, nous avons besoin de savoir comment se connecter à votre base de données."
-#: ../../mod/setup.php:313
+#: ../../Zotlabs/Module/Setup.php:292
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres."
-#: ../../mod/setup.php:314
+#: ../../Zotlabs/Module/Setup.php:293
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer."
-#: ../../mod/setup.php:318
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Database Server Name"
msgstr "Nom du serveur de base de données"
-#: ../../mod/setup.php:318
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Default is 127.0.0.1"
msgstr "Par défaut 127.0.0.1"
-#: ../../mod/setup.php:319
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Database Port"
msgstr "Port de la base de données"
-#: ../../mod/setup.php:319
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Communication port number - use 0 for default"
msgstr "Numéro TCP du port - utilisez 0 pour la valeur par défaut"
-#: ../../mod/setup.php:320
+#: ../../Zotlabs/Module/Setup.php:299
msgid "Database Login Name"
msgstr "Identifiant de connexion à la Base de Données"
-#: ../../mod/setup.php:321
+#: ../../Zotlabs/Module/Setup.php:300
msgid "Database Login Password"
msgstr "Mot de passe de connexion à la Base de Données"
-#: ../../mod/setup.php:322
+#: ../../Zotlabs/Module/Setup.php:301
msgid "Database Name"
msgstr "Nom de la Base de Données"
-#: ../../mod/setup.php:323
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Type"
msgstr "Type de base de données"
-#: ../../mod/setup.php:325 ../../mod/setup.php:365
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid "Site administrator email address"
msgstr "Adresse de courriel de l'administrateur du site"
-#: ../../mod/setup.php:325 ../../mod/setup.php:365
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web."
-#: ../../mod/setup.php:326 ../../mod/setup.php:367
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Website URL"
msgstr "URL du site web"
-#: ../../mod/setup.php:326 ../../mod/setup.php:367
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Please use SSL (https) URL if available."
msgstr "Veuillez utiliser SSL/TLS (https) si disponible."
-#: ../../mod/setup.php:327 ../../mod/setup.php:370
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
msgid "Please select a default timezone for your website"
msgstr "Veuillez choisir un fuseau horaire par défaut pour votre site"
-#: ../../mod/setup.php:354
+#: ../../Zotlabs/Module/Setup.php:333
msgid "Site settings"
msgstr "Paramètres du site"
-#: ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:347
msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr ""
+msgstr "Activer les fonctionnalités <strong>avancées</strong> de $Projectname&nbsp;?"
-#: ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:347
msgid ""
"Some advanced features, while useful - may be best suited for technically "
"proficient audiences"
+msgstr "Certaines fonctionnalités avancées, bien qu'utiles, sont plus adaptées aux utilisateurs chevronnés."
+
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:389
+msgid "PHP version"
msgstr ""
-#: ../../mod/setup.php:420
+#: ../../Zotlabs/Module/Setup.php:404
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur web."
-#: ../../mod/setup.php:421
+#: ../../Zotlabs/Module/Setup.php:405
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron."
-#: ../../mod/setup.php:425
+#: ../../Zotlabs/Module/Setup.php:409
msgid "PHP executable path"
msgstr "Chemin vers l'éxecutable PHP"
-#: ../../mod/setup.php:425
+#: ../../Zotlabs/Module/Setup.php:409
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans."
-#: ../../mod/setup.php:430
+#: ../../Zotlabs/Module/Setup.php:414
msgid "Command line PHP"
msgstr "PHP en ligne de commande (CLI)"
-#: ../../mod/setup.php:439
+#: ../../Zotlabs/Module/Setup.php:423
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée."
-#: ../../mod/setup.php:440
+#: ../../Zotlabs/Module/Setup.php:424
msgid "This is required for message delivery to work."
msgstr "Elle est nécessaire pour la distribution des messages."
-#: ../../mod/setup.php:443
+#: ../../Zotlabs/Module/Setup.php:427
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:461
+#: ../../Zotlabs/Module/Setup.php:445
#, php-format
msgid ""
"Your max allowed total upload size is set to %s. Maximum size of one file to"
" upload is set to %s. You are allowed to upload up to %d files at once."
msgstr "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois."
-#: ../../mod/setup.php:466
+#: ../../Zotlabs/Module/Setup.php:450
msgid "You can adjust these settings in the servers php.ini."
msgstr "Vous pouvez ajuster ces paramètres dans le php.ini du serveur."
-#: ../../mod/setup.php:468
+#: ../../Zotlabs/Module/Setup.php:452
msgid "PHP upload limits"
msgstr "Limites de téléversement de PHP"
-#: ../../mod/setup.php:491
+#: ../../Zotlabs/Module/Setup.php:475
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Erreur&nbsp;: la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement"
-#: ../../mod/setup.php:492
+#: ../../Zotlabs/Module/Setup.php:476
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"."
-#: ../../mod/setup.php:495
+#: ../../Zotlabs/Module/Setup.php:479
msgid "Generate encryption keys"
msgstr "Générer les clefs de chiffrement"
-#: ../../mod/setup.php:507
+#: ../../Zotlabs/Module/Setup.php:491
msgid "libCurl PHP module"
msgstr "module PHP libCurl"
-#: ../../mod/setup.php:508
+#: ../../Zotlabs/Module/Setup.php:492
msgid "GD graphics PHP module"
msgstr "module PHP GD graphics"
-#: ../../mod/setup.php:509
+#: ../../Zotlabs/Module/Setup.php:493
msgid "OpenSSL PHP module"
msgstr "module PHP OpenSSL"
-#: ../../mod/setup.php:510
+#: ../../Zotlabs/Module/Setup.php:494
msgid "mysqli or postgres PHP module"
msgstr "module PHP postgres ou mysqli"
-#: ../../mod/setup.php:511
+#: ../../Zotlabs/Module/Setup.php:495
msgid "mb_string PHP module"
msgstr "module PHP mb_string"
-#: ../../mod/setup.php:512
+#: ../../Zotlabs/Module/Setup.php:496
msgid "mcrypt PHP module"
msgstr "module PHP mcrypt"
-#: ../../mod/setup.php:513
+#: ../../Zotlabs/Module/Setup.php:497
msgid "xml PHP module"
msgstr "module PHP xml"
-#: ../../mod/setup.php:517 ../../mod/setup.php:519
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
msgid "Apache mod_rewrite module"
msgstr "module Apache mod_rewrite"
-#: ../../mod/setup.php:517
+#: ../../Zotlabs/Module/Setup.php:501
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Erreur&nbsp;: le module mod-rewrite du serveur web Apache est requis, mais pas installé."
-#: ../../mod/setup.php:523 ../../mod/setup.php:526
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:523
+#: ../../Zotlabs/Module/Setup.php:507
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Erreur&nbsp;: proc_open est requis, mais soit n'est pas installé, soit est désactivé dans le php.ini"
-#: ../../mod/setup.php:531
+#: ../../Zotlabs/Module/Setup.php:515
msgid "Error: libCURL PHP module required but not installed."
msgstr "Erreur&nbsp;: le module libCURL de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:535
+#: ../../Zotlabs/Module/Setup.php:519
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Erreur&nbsp;: le module GD de PHP avec support JPEG est requis, mais pas installé."
-#: ../../mod/setup.php:539
+#: ../../Zotlabs/Module/Setup.php:523
msgid "Error: openssl PHP module required but not installed."
msgstr "Erreur&nbsp;: le module openssl de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:543
+#: ../../Zotlabs/Module/Setup.php:527
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Erreur&nbsp;: un module PHP mysqli ou postgres est requis, mais aucun des deux n'est installé."
-#: ../../mod/setup.php:547
+#: ../../Zotlabs/Module/Setup.php:531
msgid "Error: mb_string PHP module required but not installed."
msgstr "Erreur&nbsp;: le module mb_string de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:551
+#: ../../Zotlabs/Module/Setup.php:535
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Erreur&nbsp;: le module mcrypt de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:555
+#: ../../Zotlabs/Module/Setup.php:539
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Erreur&nbsp;: le module xml de PHP est requis pour le DAV, mais pas installé."
-#: ../../mod/setup.php:573
+#: ../../Zotlabs/Module/Setup.php:557
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable."
-#: ../../mod/setup.php:574
+#: ../../Zotlabs/Module/Setup.php:558
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."
-#: ../../mod/setup.php:575
+#: ../../Zotlabs/Module/Setup.php:559
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de $Projectname."
-#: ../../mod/setup.php:576
+#: ../../Zotlabs/Module/Setup.php:560
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées."
-#: ../../mod/setup.php:579
+#: ../../Zotlabs/Module/Setup.php:563
msgid ".htconfig.php is writable"
msgstr "Le fichier .htconfig.php est accessible en écriture"
-#: ../../mod/setup.php:593
+#: ../../Zotlabs/Module/Setup.php:577
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "$Projectname utilise le moteur de gabarits Smarty3 pour mettre son contenu en forme. Smarty3 compile ses modèles vers du PHP natif pour accélérer le rendu."
-#: ../../mod/setup.php:594
+#: ../../Zotlabs/Module/Setup.php:578
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Pour utiliser ces modèles, le serveur doit avoir le droits d'écrire dans le dossier %s à la racine du site $Projectname."
+"write access to the directory %s under the top level web folder."
+msgstr ""
-#: ../../mod/setup.php:595 ../../mod/setup.php:616
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire."
-#: ../../mod/setup.php:596
+#: ../../Zotlabs/Module/Setup.php:580
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient."
-#: ../../mod/setup.php:599
+#: ../../Zotlabs/Module/Setup.php:583
#, php-format
msgid "%s is writable"
msgstr "Permission d'écriture sur %s activée"
-#: ../../mod/setup.php:615
+#: ../../Zotlabs/Module/Setup.php:599
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "$Projectname utilise le répertoire 'store' - situé à la racine de votre installation de $Projectname - pour sauvegarder les fichiers envoyés. Le serveur web aura donc besoin de pouvoir y écrire."
-#: ../../mod/setup.php:619
+#: ../../Zotlabs/Module/Setup.php:603
msgid "store is writable"
msgstr "'store' est accessible en écriture"
-#: ../../mod/setup.php:652
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)."
-#: ../../mod/setup.php:653
+#: ../../Zotlabs/Module/Setup.php:637
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Si votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé&nbsp;!"
-#: ../../mod/setup.php:654
+#: ../../Zotlabs/Module/Setup.php:638
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub."
-#: ../../mod/setup.php:655
+#: ../../Zotlabs/Module/Setup.php:639
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Si votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité."
-#: ../../mod/setup.php:656
+#: ../../Zotlabs/Module/Setup.php:640
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis."
-#: ../../mod/setup.php:657
+#: ../../Zotlabs/Module/Setup.php:641
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide."
-#: ../../mod/setup.php:659
+#: ../../Zotlabs/Module/Setup.php:643
msgid "SSL certificate validation"
msgstr "Validation du certificat SSL/TLS"
-#: ../../mod/setup.php:665
+#: ../../Zotlabs/Module/Setup.php:649
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test&nbsp;:"
-#: ../../mod/setup.php:668
+#: ../../Zotlabs/Module/Setup.php:652
msgid "Url rewrite is working"
msgstr "La réécriture d'URL fonctionne"
-#: ../../mod/setup.php:677
+#: ../../Zotlabs/Module/Setup.php:661
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web."
-#: ../../mod/setup.php:701
+#: ../../Zotlabs/Module/Setup.php:685
msgid "Errors encountered creating database tables."
msgstr "Erreurs rencontrées pendant la création de tables de BDD."
-#: ../../mod/setup.php:735
+#: ../../Zotlabs/Module/Setup.php:719
msgid "<h1>What next</h1>"
msgstr "<h1>Et maintenant</h1>"
-#: ../../mod/setup.php:736
+#: ../../Zotlabs/Module/Setup.php:720
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau."
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Aucun compte valide trouvé."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Membre du site (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Demande de réinitialisation du mot de passe sur %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."
-
-#: ../../mod/lostpass.php:86 ../../boot.php:1526
-msgid "Password Reset"
-msgstr "Réinitialiser le mot de passe"
-
-#: ../../mod/lostpass.php:87
-msgid "Your password has been reset as requested."
-msgstr "Votre mot de passe a bien été réinitialisé."
-
-#: ../../mod/lostpass.php:88
-msgid "Your new password is"
-msgstr "Votre nouveau mot de passe est"
-
-#: ../../mod/lostpass.php:89
-msgid "Save or copy your new password - and then"
-msgstr "Enregistrez ou copiez votre nouveau mot de passe, puis"
-
-#: ../../mod/lostpass.php:90
-msgid "click here to login"
-msgstr "cliquez ici pour vous connecter"
-
-#: ../../mod/lostpass.php:91
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté."
-
-#: ../../mod/lostpass.php:108
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Votre mot de passe de %s a été changé"
-
-#: ../../mod/lostpass.php:123
-msgid "Forgot your Password?"
-msgstr "Mot de passe oublié&nbsp;?"
-
-#: ../../mod/lostpass.php:124
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions."
-
-#: ../../mod/lostpass.php:125
-msgid "Email Address"
-msgstr "Adresse de courriel"
-
-#: ../../mod/lostpass.php:126
-msgid "Reset"
-msgstr "Réinitialiser"
-
-#: ../../mod/sharedwithme.php:94
+#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
msgstr "Fichiers&nbsp;: partagés avec moi"
-#: ../../mod/sharedwithme.php:96
+#: ../../Zotlabs/Module/Sharedwithme.php:100
msgid "NEW"
msgstr "NOUVEAU"
-#: ../../mod/sharedwithme.php:99
+#: ../../Zotlabs/Module/Sharedwithme.php:103
msgid "Remove all files"
msgstr "Supprimer tous les fichiers"
-#: ../../mod/sharedwithme.php:100
+#: ../../Zotlabs/Module/Sharedwithme.php:104
msgid "Remove this file"
msgstr "Supprimer ce fichier"
-#: ../../mod/siteinfo.php:15
+#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../mod/siteinfo.php:36
+#: ../../Zotlabs/Module/Siteinfo.php:40
msgid "Installed plugins/addons/apps:"
msgstr "Greffons/extensions/applications installés&nbsp;:"
-#: ../../mod/siteinfo.php:49
+#: ../../Zotlabs/Module/Siteinfo.php:53
msgid "No installed plugins/addons/apps"
msgstr "Aucun greffon/extension/application installé"
-#: ../../mod/siteinfo.php:62
+#: ../../Zotlabs/Module/Siteinfo.php:66
msgid ""
"This is a hub of $Projectname - a global cooperative network of "
"decentralized privacy enhanced websites."
msgstr "Ceci est un serveur $Projectname - un réseau collaboratif mondial de serveurs décentralisés à la confidentialité améliorée."
-#: ../../mod/siteinfo.php:64
+#: ../../Zotlabs/Module/Siteinfo.php:68
msgid "Tag: "
msgstr "Étiquette&nbsp;:"
-#: ../../mod/siteinfo.php:66
+#: ../../Zotlabs/Module/Siteinfo.php:70
msgid "Last background fetch: "
msgstr "Dernière récupération en tâche de fond&nbsp;:"
-#: ../../mod/siteinfo.php:68
+#: ../../Zotlabs/Module/Siteinfo.php:72
msgid "Current load average: "
msgstr "Charge moyenne actuelle&nbsp;:"
-#: ../../mod/siteinfo.php:71
+#: ../../Zotlabs/Module/Siteinfo.php:75
msgid "Running at web location"
msgstr "Tourne à l'adresse internet"
-#: ../../mod/siteinfo.php:72
+#: ../../Zotlabs/Module/Siteinfo.php:76
msgid ""
"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
"about $Projectname."
msgstr "Merci de visiter <a href=\"http://hubzilla.org\">hubzilla.org</a> pour en apprendre davantage sur $Projectname."
-#: ../../mod/siteinfo.php:73
+#: ../../Zotlabs/Module/Siteinfo.php:77
msgid "Bug reports and issues: please visit"
msgstr "Pour remonter bogues et problèmes, merci de visiter"
-#: ../../mod/siteinfo.php:75
+#: ../../Zotlabs/Module/Siteinfo.php:79
msgid "$projectname issues"
msgstr "Problèmes $projectname"
-#: ../../mod/siteinfo.php:76
+#: ../../Zotlabs/Module/Siteinfo.php:80
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com"
-#: ../../mod/siteinfo.php:78
+#: ../../Zotlabs/Module/Siteinfo.php:82
msgid "Site Administrators"
msgstr "Administrateurs du site"
-#: ../../mod/sources.php:32
+#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
msgstr "Impossible de créer la source. Aucun canal selectionné."
-#: ../../mod/sources.php:45
+#: ../../Zotlabs/Module/Sources.php:51
msgid "Source created."
msgstr "Source créée."
-#: ../../mod/sources.php:57
+#: ../../Zotlabs/Module/Sources.php:64
msgid "Source updated."
msgstr "Source mise à jour."
-#: ../../mod/sources.php:82
+#: ../../Zotlabs/Module/Sources.php:90
msgid "*"
msgstr "*"
-#: ../../mod/sources.php:89
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../include/features.php:71
+msgid "Channel Sources"
+msgstr "Sources du canal"
+
+#: ../../Zotlabs/Module/Sources.php:97
msgid "Manage remote sources of content for your channel."
msgstr "Gérer les sources distantes de contenu pour votre canal."
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
msgid "New Source"
msgstr "Nouvelle source"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
msgstr "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal."
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Only import content with these words (one per line)"
msgstr "N'importer le contenu que s'il contient ces mots (un par ligne)"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Leave blank to import all public content"
msgstr "Laissez vide pour importer tout le contenu public"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "Nom du canal"
+
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
msgid "Source not found."
msgstr "Source introuvable."
-#: ../../mod/sources.php:130
+#: ../../Zotlabs/Module/Sources.php:140
msgid "Edit Source"
msgstr "Modifier la source"
-#: ../../mod/sources.php:131
+#: ../../Zotlabs/Module/Sources.php:141
msgid "Delete Source"
msgstr "Supprimer la source"
-#: ../../mod/sources.php:158
+#: ../../Zotlabs/Module/Sources.php:169
msgid "Source removed"
msgstr "Source supprimée"
-#: ../../mod/sources.php:160
+#: ../../Zotlabs/Module/Sources.php:171
msgid "Unable to remove source."
msgstr "Impossible de supprimer la source."
-#: ../../mod/subthread.php:114
+#: ../../Zotlabs/Module/Subthread.php:118
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s suit %3$s de %2$s"
-#: ../../mod/subthread.php:116
+#: ../../Zotlabs/Module/Subthread.php:120
#, php-format
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s ne suit plus %3$s de %2$s"
-#: ../../mod/suggest.php:35
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures."
-#: ../../mod/tagger.php:96
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "Ignorer/Cacher"
+
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
+msgid "post"
+msgstr "publication"
+
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "commentaire"
+
+#: ../../Zotlabs/Module/Tagger.php:100
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s a étiqueté le %3$s de %2$s avec %4$s"
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
msgid "Tag removed"
msgstr "Étiquette retirée"
-#: ../../mod/tagrm.php:119
+#: ../../Zotlabs/Module/Tagrm.php:123
msgid "Remove Item Tag"
msgstr "Retirer une étiquette à l'élément"
-#: ../../mod/tagrm.php:121
+#: ../../Zotlabs/Module/Tagrm.php:125
msgid "Select a tag to remove: "
msgstr "Étiquette à retirer&nbsp;:"
-#: ../../mod/thing.php:110
+#: ../../Zotlabs/Module/Thing.php:114
msgid "Thing updated"
msgstr "Elément mis à jour"
-#: ../../mod/thing.php:162
+#: ../../Zotlabs/Module/Thing.php:166
msgid "Object store: failed"
msgstr "Stockage de l'objet&nbsp;: échec"
-#: ../../mod/thing.php:166
+#: ../../Zotlabs/Module/Thing.php:170
msgid "Thing added"
msgstr "Elément ajouté"
-#: ../../mod/thing.php:192
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/thing.php:255
+#: ../../Zotlabs/Module/Thing.php:259
msgid "Show Thing"
msgstr "Montrer élément"
-#: ../../mod/thing.php:262
+#: ../../Zotlabs/Module/Thing.php:266
msgid "item not found."
msgstr "élément introuvable."
-#: ../../mod/thing.php:295
+#: ../../Zotlabs/Module/Thing.php:299
msgid "Edit Thing"
msgstr "Modifier élément"
-#: ../../mod/thing.php:297 ../../mod/thing.php:347
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
msgid "Select a profile"
msgstr "Choisissez un profil"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Post an activity"
msgstr "Publier une activité"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Only sends to viewers of the applicable profile"
msgstr "Envoie exclusivement aux visiteurs du profil concerné"
-#: ../../mod/thing.php:303 ../../mod/thing.php:352
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
msgid "Name of thing e.g. something"
msgstr "Nom de l'élément, p.ex. quelque-chose"
-#: ../../mod/thing.php:305 ../../mod/thing.php:353
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
msgid "URL of thing (optional)"
msgstr "URL de l'élément (facultatif)"
-#: ../../mod/thing.php:307 ../../mod/thing.php:354
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
msgid "URL for photo of thing (optional)"
msgstr "URL d'une photo de l'élément (facultatif)"
-#: ../../mod/thing.php:345
+#: ../../Zotlabs/Module/Thing.php:349
msgid "Add Thing to your Profile"
msgstr "Ajouter l'élément à votre profil"
-#: ../../mod/uexport.php:51 ../../mod/uexport.php:52
+#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
msgstr "Exporter le canal"
-#: ../../mod/uexport.php:53
+#: ../../Zotlabs/Module/Uexport.php:57
msgid ""
"Export your basic channel information to a file. This acts as a backup of "
"your connections, permissions, profile and basic data, which can be used to "
"import your data to a new server hub, but does not contain your content."
msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."
-#: ../../mod/uexport.php:54
+#: ../../Zotlabs/Module/Uexport.php:58
msgid "Export Content"
msgstr "Exporter le contenu"
-#: ../../mod/uexport.php:55
+#: ../../Zotlabs/Module/Uexport.php:59
msgid ""
"Export your channel information and recent content to a JSON backup that can"
" be restored or imported to another server hub. This backs up all of your "
@@ -9281,11 +6188,11 @@ msgid ""
" this download to begin."
msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."
-#: ../../mod/uexport.php:56
+#: ../../Zotlabs/Module/Uexport.php:60
msgid "Export your posts from a given year."
msgstr "Exporter vos publications d'une année en particulier"
-#: ../../mod/uexport.php:58
+#: ../../Zotlabs/Module/Uexport.php:62
msgid ""
"You may also export your posts and conversations for a particular year or "
"month. Adjust the date in your browser location bar to select other dates. "
@@ -9293,21 +6200,21 @@ msgid ""
"please try again selecting a more limited date range."
msgstr "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit."
-#: ../../mod/uexport.php:59
+#: ../../Zotlabs/Module/Uexport.php:63
#, php-format
msgid ""
"To select all posts for a given year, such as this year, visit <a "
"href=\"%1$s\">%2$s</a>"
msgstr "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/uexport.php:60
+#: ../../Zotlabs/Module/Uexport.php:64
#, php-format
msgid ""
"To select all posts for a given month, such as January of this year, visit "
"<a href=\"%1$s\">%2$s</a>"
msgstr "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/uexport.php:61
+#: ../../Zotlabs/Module/Uexport.php:65
#, php-format
msgid ""
"These content files may be imported or restored by visiting <a "
@@ -9315,224 +6222,3607 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1$s\">%2$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)."
-#: ../../mod/viewconnections.php:59
+#: ../../Zotlabs/Module/Viewconnections.php:62
msgid "No connections."
msgstr "Aucun contact."
-#: ../../mod/viewconnections.php:72
+#: ../../Zotlabs/Module/Viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Visiter le profil de %s [%s]"
-#: ../../mod/viewconnections.php:101
+#: ../../Zotlabs/Module/Viewconnections.php:104
msgid "View Connections"
msgstr "Voir les contacts"
-#: ../../mod/viewsrc.php:40
+#: ../../Zotlabs/Module/Viewsrc.php:44
msgid "Source of Item"
msgstr "Source de l'élément"
-#: ../../mod/webpages.php:191
+#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
+msgid "Webpages"
+msgstr "Pages web"
+
+#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
+msgid "Actions"
+msgstr "Actions"
+
+#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
+msgid "Page Link"
+msgstr "Lien vers la page"
+
+#: ../../Zotlabs/Module/Webpages.php:197
msgid "Page Title"
msgstr "Titre de la page"
-#: ../../mod/xchan.php:6
+#: ../../Zotlabs/Module/Xchan.php:10
msgid "Xchan Lookup"
msgstr "Recherche xchan"
-#: ../../mod/xchan.php:9
+#: ../../Zotlabs/Module/Xchan.php:13
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Recherche xchan commençant par (ou adresse \"webbie\")&nbsp;:"
-#: ../../mod/cover_photo.php:130 ../../mod/cover_photo.php:177
-msgid "Cover Photos"
-msgstr "Photos de couverture"
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "Administrateur"
-#: ../../mod/cover_photo.php:352
-msgid "Upload Cover Photo"
-msgstr "Téléverser une photo de couverture"
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "Suggérer des canaux"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1703
+msgid "Login"
+msgstr "Connexion"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr "Réseau"
+
+#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "Mon canal"
+
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
+msgid "Events"
+msgstr "Événements"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+msgid "Directory"
+msgstr "Annuaire"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+msgid "Mail"
+msgstr "Messages"
+
+#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+msgid "Chat"
+msgstr "Clavardage"
+
+#: ../../Zotlabs/Lib/Apps.php:229
+msgid "Probe"
+msgstr "Sonder"
+
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Suggest"
+msgstr "Suggérer"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Random Channel"
+msgstr "Un canal au hasard"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Invite"
+msgstr "Invitation"
+
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
+msgid "Features"
+msgstr "Fonctionalités"
+
+#: ../../Zotlabs/Lib/Apps.php:235
+msgid "Post"
+msgstr "Envoyer"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Purchase"
+msgstr "Acheter"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr "Il manque le nom du salon"
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr "Un salon avec ce nom existe déjà"
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "Identifiant de salon invalide."
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "Salon introuvable."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "Le salon est plein"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+msgid "$Projectname Notification"
+msgstr "Notification $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+msgid "Thank You,"
+msgstr "Merci,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
+#, php-format
+msgid "%s Administrator"
+msgstr "l'administrateur de %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla:Notify] Nouveau courriel reçu à %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s vous a envoyé %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "un message privé"
+
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés."
+
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla:Notify] Commentaire de %2$s sur conversation #%1$d"
+
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez."
+
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
+
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla:Notify] %s a publié sur votre profil"
+
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s a publié sur votre profil à %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla:Notify] %s vous a étiqueté"
+
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr "[Hubzilla:Notify] %1$s vous a tapoté"
+
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s vous a tapoté sur %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]vous a tapoté[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla:Notify] %s a étiqueté votre publication"
+
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla:Notify] Nouvelle présentation"
+
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, vous avez reçu une demande de contact de '%2$s' sur %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de contact[/zrl] de %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Vous pouvez visiter leur profil sur %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de contact."
+
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)"
+
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, vous avez reçu une suggestion d'ami(e) de '%2$s' à %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion d'ami(e)[/zrl] de %4$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "Nom&nbsp;:"
+
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "Photo&nbsp;:"
+
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion."
+
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla:Notify]"
+
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "a publié un nouveau message"
+
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "a commenté la publication de %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Message Privé"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Sélectionner"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "Enregistrer dans le dossier"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Je participerai"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "Je ne participerai pas"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Je participerai peut-être"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Je suis d'accord"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "Je ne suis pas d'accord"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Je m'abstiens"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Mettre en avant (étoile)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Ne plus mettre en avant"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "(Dés)activer l'étoile"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "mis en avant"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Signature du message validée"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Signature du message incorrecte"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Ajouter une étiquette"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "aiment"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "n'aiment pas"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Partager"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "partager"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Rapport de distribution"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commentaire"
+msgstr[1] "%d commentaires"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Voir le profil de %s - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "à"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "Mur-à-mur"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "par Mur-à-mur&nbsp;:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "de %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "dernière modification&nbsp;: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Expire&nbsp;: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Enregistrer les favoris"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Ajouter au Calendrier"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Tout marquer comme vu"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] voir tous"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Gras"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Italique"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Souligné"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Citation"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Code"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Image"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Insérer un lien"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Vidéo"
+
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "Aucun nom d'utilisateur dans le fichier d'import."
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossible de créer une adresse de canal unique. Echec de l'import."
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Impossible de trouver les infos DNS du serveur de BDD '%s'"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Catégories"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Étiquettes"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Mots-clefs"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "ont"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "a"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "veulent"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "veut"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "aime"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "n'aime pas"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\à G\\hi"
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Début&nbsp;:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Fin&nbsp;:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Cet évènement a été ajouté dans votre calendrier."
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Non spécifié"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Besoin d'une action"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Terminé"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "En cours"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Annulé"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "L'import a échoué. Un canal existe déjà avec ce nom"
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "Echec du clonage du canal. Echec de l'impot."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Inconnu)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Visible pour tout le monde sur internet."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Visible pour vous seulement."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Visible pour tout le monde sur ce réseau."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Visible aux utilisateurs authentifiés."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible pour tous sur %s."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Visible pour tous les contacts."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Visible aux contacts approuvés."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Visible pour certains contacts."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "Groupe d'accès vide."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Groupe d'accès&nbsp;: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Contact non trouvé."
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "photo de profil"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Pas de destinataire."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[sans objet]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Impossible de déterminer l'émetteur."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Le message stocké n'a pas pu être vérifié."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "préc."
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "premier"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "dernier"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "Suivant"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "plus ancien"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "plus récent"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Pas de relations."
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Voir les %s contacts"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "tapoter"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "a tapoté"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "pingé"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "encourager"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "encouragé"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "giffler"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "gifflé(e)"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "pointer"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "pointé"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "rejetter"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "rejeté"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "heureux"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "triste"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "mélancolique"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "fatigué"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "impertinent"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "en colère"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "stupéfait"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "perplexe"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "intéressé"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "amer"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "plein d'entrain"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "vivant"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "agaçé"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "anxieux"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "énervé"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "perturbé"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustré"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "déprimé"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motivé"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "détendu"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "surpris"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "Lundi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "Mardi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "Mercredi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "Jeudi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "Vendredi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "Samedi"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "Dimanche"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "Janvier"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "Février"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "Mars"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "Avril"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "Juin"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "Juillet"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "Août"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "Septembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "Octobre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "Novembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "Décembre"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Pièce jointe inconnue"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "Inconnu"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "supprimer la catégorie"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "retirer du fichier"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "défaut"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Mise en page"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Créez les vôtres avec les outils de mise en page"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Type de contenu de la page"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Choisir une langue alternative"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "activité"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Outils de conception"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Pages"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Système"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr ""
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Suggestions"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Voir plus..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Vous avez %1$.0f sur %2$.0f contacts autorisés."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Ajouter un nouveau contact"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Saisissez l'adresse du canal"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Notes"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Retirer le terme"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Recherches sauvegardées"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "ajouter"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Dossiers sauvegardés"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Tout"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Archives"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Actualiser"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Paramètres du compte"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Paramètres du canal"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Fonctionnalités supplémentaires"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Paramètres des extensions/greffons"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Paramètres d'affichage"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr ""
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Exporter le canal"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "Applications connectées"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Paramètres de canal VIP"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Menu des messages privés"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Vue combinée"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "Boîte de réception"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Boîte d'envoi"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Nouveau message"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Conversations"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Messages reçus"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Messages envoyés"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Pas de message."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Supprimer la conversation"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Menu Evènements"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Vue Jour"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Vue Semaine"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Vue Mois"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Outils Evènements"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Exporter le calendrier"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importer un calendrier"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Salons de clavardage"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr ""
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr ""
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Salons favoris"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Salons suggérés"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "photo/image"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr "Cliquer pour voir plus"
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Outils d'évaluation"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "M'évaluer"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Voir mes évaluations"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Membres du forum"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Tâches"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Documentation"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Information sur le site/projet"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "Pour les membres"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "Pour les administrateurs"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "Pour les développeurs"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr ""
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Analyser la file d'attente"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Mises à jour BDD"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
+msgstr "Administrateur"
+
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Fonctionnalités des greffons"
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Ce canal est bloqué sur ce site."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Emplacement du canal introuvable."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "La réponse du canal distant était incomplète."
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "Le canal a été supprimé et n'existe plus."
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protocole désactivé."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "La tentative d'accéder au canal a échoué."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "Ne peut pas se connecter à vous."
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "Favoris de %1$s"
+
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Fil public"
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Image/photo"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Contenu chiffré"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Installer %s élément"
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."
+
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s a écrit %2$s qui suit %3$s"
+
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Cliquer pour ouvrir/fermer"
+
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Ce texte aura un rendu différent en fonction des utilisateurs"
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 a écrit&nbsp;:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Options d'annuaire"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Mode sûr"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Les forums publics uniquement"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Ce site uniquement"
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Déconnexion"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Mettre fin à la session"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Mon canal"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "Vos publications et conversations"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "Votre profil"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Gérer/modifier les profils"
+
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Éditeur de profil"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Modifier votre profil"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Vos photos"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "Vos fichiers"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Vos salons"
+
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Favoris"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "Vos favoris"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Vos pages web"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Connexion"
+
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - cliquer ici pour déconnecter"
+
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Authentification distante"
+
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "S'authentifier auprès de votre hub principal"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Page d'accueil"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Créer un compte"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Aide et documentation"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Applications, utilitaires, liens, jeux"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Recherche @nom, #tag, contenu"
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Annuaire des canaux"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "Votre réseau"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Marquer toutes les notifications du réseau comme vues"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Mon canal"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Marquer toutes les notifications du canal comme vues"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Notifications"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Notifications"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Voir toutes les notifications"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Messages privés"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Voir tous les messages privés"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Marquer tous les messages privés comme vus"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Calendrier des événements"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Voir tous les événements"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Marquer tous les événements comme vus"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gérer vos canaux"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Paramètres du Compte/Canal"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Configuration du site"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Chargement..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@nom, #étiquette, ?doc, contenu"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Merci de patienter..."
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nouvelle fenêtre"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Ouvrir l'emplacement dans une fenêtre ou un onglet différent"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Utilisateur '%s' supprimé"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitation disponible"
+msgstr[1] "%d invitations disponibles"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Trouver des canaux"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Saisir nom ou centre d'intérêt"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Ajouter/Suivre"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Exemples: Guillaume Martin, Course à pieds"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Un profil au hasard"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Inviter des amis"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Exemple avancé&nbsp;: name=fred and country=iceland"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d contact en commun"
+msgstr[1] "%d contacts en commun"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "montrer plus"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ajoute %2$s à ses contacts"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s a tapoté %2$s"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Voir le profil de %s @ %s"
+
+#: ../../include/conversation.php:710
+msgid "Categories:"
+msgstr "Catégories&nbsp;:"
+
+#: ../../include/conversation.php:711
+msgid "Filed under:"
+msgstr "Classé sous&nbsp;:"
+
+#: ../../include/conversation.php:738
+msgid "View in context"
+msgstr "Voir en contexte"
+
+#: ../../include/conversation.php:847
+msgid "remove"
+msgstr "supprimer"
+
+#: ../../include/conversation.php:852
+msgid "Delete Selected Items"
+msgstr "Supprimer les éléments selectionnés"
+
+#: ../../include/conversation.php:948
+msgid "View Source"
+msgstr "Voir source"
+
+#: ../../include/conversation.php:949
+msgid "Follow Thread"
+msgstr "Suivre la discussion"
+
+#: ../../include/conversation.php:950
+msgid "Unfollow Thread"
+msgstr "Ne plus suivre la discussion"
+
+#: ../../include/conversation.php:955
+msgid "Activity/Posts"
+msgstr "Activité/Publications"
+
+#: ../../include/conversation.php:957
+msgid "Edit Connection"
+msgstr "Modifier le contact"
+
+#: ../../include/conversation.php:958
+msgid "Message"
+msgstr "Message"
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s likes this."
+msgstr "%s aime ça."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s n'aime pas ça."
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d personne</span> aime ceci."
+msgstr[1] "<span %1$s>%2$d personnes</span> aiment ceci."
+
+#: ../../include/conversation.php:1081
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d personne</span> n'aime pas ça."
+msgstr[1] "<span %1$s>%2$d personnes</span> n'aiment pas ça."
+
+#: ../../include/conversation.php:1087
+msgid "and"
+msgstr "et"
+
+#: ../../include/conversation.php:1090
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", et %d autre personne"
+msgstr[1] ", et %d autres personnes"
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s like this."
+msgstr "%s aime ça."
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s don't like this."
+msgstr "%s n'aime pas ça."
+
+#: ../../include/conversation.php:1130
+msgid "Set your location"
+msgstr "Spécifier votre emplacement géographique"
+
+#: ../../include/conversation.php:1131
+msgid "Clear browser location"
+msgstr "Supprimer l'emplacement géographique du navigateur"
+
+#: ../../include/conversation.php:1177
+msgid "Tag term:"
+msgstr "Étiquette&nbsp;:"
+
+#: ../../include/conversation.php:1178
+msgid "Where are you right now?"
+msgstr "Où êtes-vous en ce moment&nbsp;?"
+
+#: ../../include/conversation.php:1210
+msgid "Page link name"
+msgstr "Nom du lien vers la page"
+
+#: ../../include/conversation.php:1213
+msgid "Post as"
+msgstr "Publier en tant que"
+
+#: ../../include/conversation.php:1223
+msgid "Toggle voting"
+msgstr "(Dés)activer le vote"
+
+#: ../../include/conversation.php:1231
+msgid "Categories (optional, comma-separated list)"
+msgstr "Catégories (facultatives, séparées par des virgules)"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Définir la date de publication"
+
+#: ../../include/conversation.php:1258
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1503
+msgid "Discover"
+msgstr "À découvrir"
+
+#: ../../include/conversation.php:1506
+msgid "Imported public streams"
+msgstr "Flux publics importés"
+
+#: ../../include/conversation.php:1511
+msgid "Commented Order"
+msgstr "Par date de commentaire"
+
+#: ../../include/conversation.php:1514
+msgid "Sort by Comment Date"
+msgstr "Trier par date de dernier commentaire"
+
+#: ../../include/conversation.php:1518
+msgid "Posted Order"
+msgstr "Par date de publication"
+
+#: ../../include/conversation.php:1521
+msgid "Sort by Post Date"
+msgstr "Trier par date de publication"
+
+#: ../../include/conversation.php:1529
+msgid "Posts that mention or involve you"
+msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre"
+
+#: ../../include/conversation.php:1538
+msgid "Activity Stream - by date"
+msgstr "Flux d'activité - par date"
+
+#: ../../include/conversation.php:1544
+msgid "Starred"
+msgstr "Mis en avant (étoiles)"
+
+#: ../../include/conversation.php:1547
+msgid "Favourite Posts"
+msgstr "Publications préférées"
+
+#: ../../include/conversation.php:1554
+msgid "Spam"
+msgstr "Indésirable"
+
+#: ../../include/conversation.php:1557
+msgid "Posts flagged as SPAM"
+msgstr "Publications marquées comme indésirables"
+
+#: ../../include/conversation.php:1614
+msgid "Status Messages and Posts"
+msgstr "Messages d'état et contributions"
+
+#: ../../include/conversation.php:1623
+msgid "About"
+msgstr "À propos"
+
+#: ../../include/conversation.php:1626
+msgid "Profile Details"
+msgstr "Détails du profil"
+
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Albums photo"
+
+#: ../../include/conversation.php:1642
+msgid "Files and Storage"
+msgstr "Fichiers et Stockage"
+
+#: ../../include/conversation.php:1678
+msgid "Saved Bookmarks"
+msgstr "Favoris sauvegardés"
+
+#: ../../include/conversation.php:1688
+msgid "Manage Webpages"
+msgstr "Gérer les pages web"
+
+#: ../../include/conversation.php:1747
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Participe"
+msgstr[1] "Participent"
+
+#: ../../include/conversation.php:1750
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Ne participe pas"
+msgstr[1] "Ne participent pas"
+
+#: ../../include/conversation.php:1753
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indécis(e)"
+msgstr[1] "Indécis(es)"
+
+#: ../../include/conversation.php:1756
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "D'accord"
+msgstr[1] "D'accord"
+
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Pas d'accord"
+msgstr[1] "Pas d'accord"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "S'abstient"
+msgstr[1] "S'abstiennent"
+
+#: ../../include/selectors.php:30
+msgid "Frequently"
+msgstr "Fréquemment"
+
+#: ../../include/selectors.php:31
+msgid "Hourly"
+msgstr "Toutes les heures"
+
+#: ../../include/selectors.php:32
+msgid "Twice daily"
+msgstr "Deux fois par jour"
+
+#: ../../include/selectors.php:33
+msgid "Daily"
+msgstr "Chaque jour"
+
+#: ../../include/selectors.php:34
+msgid "Weekly"
+msgstr "Chaque semaine"
+
+#: ../../include/selectors.php:35
+msgid "Monthly"
+msgstr "Chaque mois"
+
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "Actuellement homme"
+
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "Actuellement femme"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "Surtout homme"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "Surtout femme"
+
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "Transgenre"
+
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "Intersexuel"
+
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "Transsexuel"
+
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "Hermaphrodite"
+
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "Neutre"
+
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr "Non spécifique"
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "Autre"
+
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "Indécis"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "Hommes"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "Femmes"
+
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "Gay"
+
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "Lesbienne"
+
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "Sans préférence"
+
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "Bisexuel"
+
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "Autosexuel"
+
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "Abstinent"
+
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "Vierge"
+
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "Déviant"
+
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "Fétichiste"
+
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "Une floppée"
+
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "Non-sexuel"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "Célibataire"
+
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "Solitaire"
+
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "Disponible"
+
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "Indisponible"
+
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr "A un béguin"
+
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "Amoureux transi"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr "Sort avec quelqu'un"
+
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "Infidèle"
+
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "Accro au sexe"
+
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr "Amis avec bénéfices"
+
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "Sans engagement"
+
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "Fiancé(e)"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "Marié(e)"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "Marié(e) dans ses rêves"
+
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr "Partenaires"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "En cohabitation"
+
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr "Conjoints de fait"
+
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "Heureux"
+
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "Pas en recherche"
+
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "Echangiste"
+
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "Trahi(e)"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "Séparé(e)"
+
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "Instable"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "Divorcé(e)"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "Divorcé(e) dans ses rêves"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "Veuf/veuve"
+
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr "Incertain"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "C'est compliqué"
+
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "S'en fiche"
+
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "Me demander"
+
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Visible pour vos contacts seulement"
+
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Public"
+
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Ce n'est pas une adresse de courriel valide"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "Votre adresse de courriel est déjà inscrite sur ce site."
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "Une invitation est requise."
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "Votre invitation n'a pas pu être vérifiée."
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Merci d'entrer les informations requises."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Impossible de stocker les informations liées au compte."
+
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Confirmation de l'inscription pour %s"
+
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Demande d'inscription sur %s"
+
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Administrateur"
+
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "votre mot de passe d'inscription"
+
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Détails de l'inscription pour %s"
+
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Compte approuvé."
+
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Inscription révoquée pour %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Compte vérifié. Veuillez vous connecter."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Cliquez ici pour mettre à jour."
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Cette action outrepasserait les limites prévues par votre forfait."
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Cette action n'est pas disponible avec votre forfait."
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "Élément introuvable."
+
+#: ../../include/attach.php:497
+msgid "No source file."
+msgstr "Pas de fichier source."
+
+#: ../../include/attach.php:519
+msgid "Cannot locate file to replace"
+msgstr "Impossible de trouver le fichier à remplacer."
+
+#: ../../include/attach.php:537
+msgid "Cannot locate file to revise/update"
+msgstr "Impossible de trouver le fichier à corriger/mettre à jour"
+
+#: ../../include/attach.php:672
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Le fichier dépasse la taille limite de %d"
+
+#: ../../include/attach.php:686
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes."
+
+#: ../../include/attach.php:842
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Envoi du fichier impossible. Limite système ou action avortée."
+
+#: ../../include/attach.php:855
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Le fichier stocké n'a pu être vérifié. Echec de l'envoi."
+
+#: ../../include/attach.php:909 ../../include/attach.php:925
+msgid "Path not available."
+msgstr "Chemin non disponible."
+
+#: ../../include/attach.php:971 ../../include/attach.php:1123
+msgid "Empty pathname"
+msgstr "Chemin vide"
+
+#: ../../include/attach.php:997
+msgid "duplicate filename or path"
+msgstr "doublon de chemin ou de fichier"
+
+#: ../../include/attach.php:1019
+msgid "Path not found."
+msgstr "Chemin introuvable."
+
+#: ../../include/attach.php:1077
+msgid "mkdir failed."
+msgstr "mkdir a échoué."
+
+#: ../../include/attach.php:1081
+msgid "database storage failed."
+msgstr "l'écriture dans la base de données a échoué."
+
+#: ../../include/attach.php:1129
+msgid "Empty path"
+msgstr "Chemin vide"
+
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr "Impossible d'obtenir les données d'identité depuis la base de données"
+
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "Nom vide"
+
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "Nom trop long"
+
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "Pas d'identifiant de compte"
+
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "Un surnom est requis."
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr "Surnom réservé. Merci d'en choisir un autre."
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site."
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr "Impossible de récupérer l'identité créée"
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "Profil par défaut"
+
+#: ../../include/channel.php:791
+msgid "Requested channel is not available."
+msgstr "Canal demandé non disponible."
+
+#: ../../include/channel.php:938
+msgid "Create New Profile"
+msgstr "Créer un nouveau profil"
+
+#: ../../include/channel.php:958
+msgid "Visible to everybody"
+msgstr "Visible de tous"
+
+#: ../../include/channel.php:1031 ../../include/channel.php:1142
+msgid "Gender:"
+msgstr "Sexe&nbsp;:"
+
+#: ../../include/channel.php:1032 ../../include/channel.php:1186
+msgid "Status:"
+msgstr "État&nbsp;:"
+
+#: ../../include/channel.php:1033 ../../include/channel.php:1197
+msgid "Homepage:"
+msgstr "Site Internet&nbsp;:"
+
+#: ../../include/channel.php:1034
+msgid "Online Now"
+msgstr "Connecté"
+
+#: ../../include/channel.php:1147
+msgid "Like this channel"
+msgstr "J'aime ce canal"
+
+#: ../../include/channel.php:1171
+msgid "j F, Y"
+msgstr "j F, Y"
+
+#: ../../include/channel.php:1172
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1179
+msgid "Birthday:"
+msgstr "Date de naissance&nbsp;:"
+
+#: ../../include/channel.php:1192
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "depuis %1$d %2$s"
+
+#: ../../include/channel.php:1195
+msgid "Sexual Preference:"
+msgstr "Orientation sexuelle&nbsp;:"
+
+#: ../../include/channel.php:1201
+msgid "Tags:"
+msgstr "Étiquettes&nbsp;:"
+
+#: ../../include/channel.php:1203
+msgid "Political Views:"
+msgstr "Opinions politiques&nbsp;:"
+
+#: ../../include/channel.php:1205
+msgid "Religion:"
+msgstr "Religion&nbsp;:"
+
+#: ../../include/channel.php:1209
+msgid "Hobbies/Interests:"
+msgstr "Occupations/Centres d'intérêt&nbsp;:"
+
+#: ../../include/channel.php:1211
+msgid "Likes:"
+msgstr "Aime&nbsp;:"
+
+#: ../../include/channel.php:1213
+msgid "Dislikes:"
+msgstr "N'aime pas&nbsp;:"
+
+#: ../../include/channel.php:1215
+msgid "Contact information and Social Networks:"
+msgstr "Coordonnées et réseaux sociaux&nbsp;:"
+
+#: ../../include/channel.php:1217
+msgid "My other channels:"
+msgstr "Mes autres canaux&nbsp;:"
+
+#: ../../include/channel.php:1219
+msgid "Musical interests:"
+msgstr "Goûts musicaux&nbsp;:"
+
+#: ../../include/channel.php:1221
+msgid "Books, literature:"
+msgstr "Lectures, goûts littéraires&nbsp;:"
+
+#: ../../include/channel.php:1223
+msgid "Television:"
+msgstr "Télévision&nbsp;:"
+
+#: ../../include/channel.php:1225
+msgid "Film/dance/culture/entertainment:"
+msgstr "Cinéma/danse/culture/divertissement&nsbp;:"
+
+#: ../../include/channel.php:1227
+msgid "Love/Romance:"
+msgstr "Vie sentimentale/amoureuse&nbsp;:"
+
+#: ../../include/channel.php:1229
+msgid "Work/employment:"
+msgstr "Travail/Occupation&nbsp;"
+
+#: ../../include/channel.php:1231
+msgid "School/education:"
+msgstr "Études&nbsp;"
+
+#: ../../include/channel.php:1251
+msgid "Like this thing"
+msgstr "J'aime ceci"
+
+#: ../../include/features.php:48
+msgid "General Features"
+msgstr "Fonctionnalités générales"
+
+#: ../../include/features.php:50
+msgid "Content Expiration"
+msgstr "Expiration du contenu"
+
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard"
+
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
+msgstr "Profils multiples"
+
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
+msgstr "Possibilité de créer plusieurs profils"
+
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
+msgstr "Profils Avancés"
+
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
+msgstr "Sections et sélections supplémentaires du profil"
+
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
+msgstr "Importer/Exporter le profil"
+
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
+msgstr "Sauvegarder et charger les détails d'un profil entre sites/canaux"
+
+#: ../../include/features.php:54
+msgid "Web Pages"
+msgstr "Pages web"
+
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
+msgstr "Fournir des pages web, sous votre contrôle, sur votre canal"
+
+#: ../../include/features.php:55
+msgid "Hide Rating"
+msgstr "Masquer l'évaluation"
+
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
+msgstr "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs."
+
+#: ../../include/features.php:56
+msgid "Private Notes"
+msgstr "Notes privées"
+
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)"
+
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
+msgstr "Sélection du canal par la navigation"
+
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Changez de canal directement depuis le menu de navigation déroulant"
+
+#: ../../include/features.php:58
+msgid "Photo Location"
+msgstr "Site de prise de vue"
+
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte."
+
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr ""
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr "Anniversaires intelligents"
+
+#: ../../include/features.php:60
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents."
+
+#: ../../include/features.php:61
+msgid "Expert Mode"
+msgstr "Mode expert"
+
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Activer le mode expert pour accéder aux options avancées"
+
+#: ../../include/features.php:62
+msgid "Premium Channel"
+msgstr "Canal VIP"
+
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"
+
+#: ../../include/features.php:67
+msgid "Post Composition Features"
+msgstr "Fonctionnalités de composition"
+
+#: ../../include/features.php:70
+msgid "Large Photos"
+msgstr "Grandes photos"
+
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)."
+
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif"
+
+#: ../../include/features.php:72
+msgid "Even More Encryption"
+msgstr "Encore plus de chiffrement"
+
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé"
+
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
+msgstr "Activer les outils de vote"
+
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
+msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent voter"
+
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr "Publication plus tard"
+
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr "Permettre de publier des messages à une date programmée"
+
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Supprimer les publications/commentaires en doublon"
+
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle"
+
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "Filtrage du réseau et des flux"
+
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "Chercher par date"
+
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "Pouvoir choisir des publications par date"
+
+#: ../../include/features.php:83 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "Groupes d'accès"
+
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr "Active la gestion et la sélection des groupes d'accès"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr "Sauvegarder des termes de recherche pour utilisation ultérieure"
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr "Onglet \"Me concernant\""
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr "Onglet \"nouveautés réseau\""
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr "Activer un onglet présentant toute l'activité récente sur le réseau"
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "Gérer l'affinité"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations"
+
+#: ../../include/features.php:88
+msgid "Connection Filtering"
+msgstr "Filtrage des contacts"
+
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs"
+
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
+msgstr "Montrer les suggestions de canaux"
+
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr "Gérer les publications/commentaires"
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr "Etiquetage communautaire"
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr "Permettre de marquer les publications existantes"
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr "Catégoriser les publications"
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr "Ajouter des catégories à vos publications"
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr "Permettre de classer les publications dans des dossiers"
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr "\"Ne pas aimer\" les publications"
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr "Possibilité de \"ne pas aimer\" les publications/commentaires"
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr "Pouvoir mettre en avant les publications"
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Pouvoir marquer certaines publications d'une étoile"
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr "Nuage de tags"
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Afficher un nuage de vos tags sur votre canal"
+
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Contenu imbriqué"
+
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Imbrication désactivée"
+
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr ""
+
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr ""
+
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr ""
+
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Montrer"
+
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "Cacher"
+
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Autres réseaux et services de messagerie"
+
+#: ../../include/acl_selectors.php:311
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr ""
+
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Deconnecté."
+
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Échec de l'authentification"
+
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Anniversaire"
+
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Age&nbsp;:"
+
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-JJ ou MM-JJ"
+
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "jamais"
+
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "à l'instant"
+
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "il y a %1$d %2$s"
+
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "an"
+msgstr[1] "ans"
+
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mois"
+msgstr[1] "mois"
+
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "semaine"
+msgstr[1] "semaines"
+
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "jour"
+msgstr[1] "jours"
+
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "heure"
+msgstr[1] "heures"
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minute"
+msgstr[1] "minutes"
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "seconde"
+msgstr[1] "secondes"
+
+#: ../../include/datetime.php:562
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Anniversaire de %1$s"
+
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Joyeux Anniversaire %1$s"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."
+
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Ajouter de nouveaux contacts à ce groupe d'accès"
+
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "modifier"
+
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Modifier le groupe"
+
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Ajouter un groupe d'accès"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Canaux n'étant dans aucun groupe d'accès"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Supprimer cet élément?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] montrer moins"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] déplier"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] replier"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Mot de passe trop court"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Les mots de passe ne correspondent pas"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "tout le monde"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Phrase de passe secrète"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Indice pour la phrase de passe"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "fermer tout"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Aucun nouveau contenu trouvé"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Evaluer ce canal (publiquement)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Description (facultative)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Merci d'insérer une URL"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Changements en attente. Voulez-vous vraiment quitter cette page?"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr "auparavant"
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr "de maintenant"
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr "moins d'une minute"
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr "environ une minute"
+
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutes"
+
+#: ../../include/js_strings.php:34
+msgid "about an hour"
+msgstr "environ une heure"
+
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
+msgstr "environ %d heures"
+
+#: ../../include/js_strings.php:36
+msgid "a day"
+msgstr "un jour"
+
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
+msgstr "%d jours"
+
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr "environ un mois"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
+msgstr "%d mois"
+
+#: ../../include/js_strings.php:40
+msgid "about a year"
+msgstr "environ un an"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr "%d années"
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr ""
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr "Jan"
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr "Fev"
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr "Avr"
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr "Jun"
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr "Jul"
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr "Aou"
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr "Sep"
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr "Oct"
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr "Nov"
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr "Dec"
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr "Dim"
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr "Lun"
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr "Mer"
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr "Jeu"
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr "Ven"
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr "Sam"
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr "aujourd'hui"
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr "mois"
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr "semaine"
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr "jour"
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr "Toute la journée"
+
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "voir en taille réelle"
+
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Pas d'objet"
+
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr ""
+
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "Linkedin"
+
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'image dépasse la taille limite de %lu octets"
+
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "L'image est vide."
+
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Le stockage de l'image a échoué."
+
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "une nouvelle photo"
+
+#: ../../include/photos.php:299
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s a publié %2$s pour %3$s"
+
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Ajouter des photos"
+
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Paquet de données invalide"
+
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "Impossible de vérifier la signature du canal"
+
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossible de vérifier la signature de site pour %s"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "signature de la cible invalide"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nouvelle page"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Titre"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Peut voir les publications ordinaires sur mon canal."
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Peut voir le profil du canal par défaut."
+
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
+msgstr "Peut voir mes contacts"
+
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
+msgstr "Peut voir mes fichiers et photos"
+
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
+msgstr "Peut voir mes pages web"
+
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
+msgstr "Peuvent m'envoyer leur flux et les publications de leur canal"
+
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Peuvent poster sur la page de mon canal (\"mur\")"
+
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
+msgstr "Peuvent commenter et/ou aimer mes publications"
+
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
+msgstr "Peuvent m'envoyer des messages privés"
+
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
+msgstr "Peuvent aimer/ne pas aimer"
+
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
+msgstr "Profils et autres excluant les publications/commentaires."
+
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Peut faire suivre à tous les contacts de mon canal via \"@mention\""
+
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avancé - utile pour les canaux de type \"forum/groupe\""
+
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
+msgstr "Peut discuter avec moi (quand disponibie)"
+
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
+msgstr "Peut charger des fichiers et des photos dans mon canal"
+
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
+msgstr "Peut modifier mes pages web"
+
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
+msgstr "Peut rediriger mes publications publiques vers des canaux dérivés"
+
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Plutôt avancé - très utile dans les communautés ouvertes"
+
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
+msgstr "Peut administrer les ressources de mon canal"
+
+#: ../../include/permissions.php:46
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes"
+
+#: ../../include/permissions.php:877
+msgid "Social Networking"
+msgstr "Réseau social"
+
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
+msgstr "Social - surtout public"
+
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
+msgstr "Social - restreint"
+
+#: ../../include/permissions.php:877
+msgid "Social - Private"
+msgstr "Social - privé"
+
+#: ../../include/permissions.php:878
+msgid "Community Forum"
+msgstr "Forum communautaire"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
+msgstr "Forum - surtout public"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
+msgstr "Forum - restreint"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
+msgstr "Forum - privé"
+
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
+msgstr "Republication de flux"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
+msgstr "Flux - surtout public"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
+msgstr "Flux - restreint"
+
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
+msgstr "Utilisation spécifique"
+
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
+msgstr "Spécial - célébrité/promotion"
+
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
+msgstr "Spécial - dépôt partagé"
+
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
+msgstr "Mode expert/spécifique"
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "et"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "profil public"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s a changé %2$s en &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Visiter %2$s de %1$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s a mis à jour %2$s, modifiant %3$s."
+
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
+msgstr "Pièces jointes&nbsp;:"
+
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
+msgstr "Notification d'événement de $Projectname&nbsp;:"
#: ../../view/theme/redbasic/php/config.php:82
msgid "Focus (Hubzilla default)"
msgstr "Focus (par défaut pour Hubzilla)"
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Theme settings"
msgstr "Paramètres du thème"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Select scheme"
msgstr "Définir la palette de couleurs"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Narrow navbar"
msgstr "Barre de navigation fine"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation bar background color"
msgstr "Couleur de fond de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation bar gradient top color"
msgstr "Dégradé de la barre de navigation - couleur du haut"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar gradient bottom color"
msgstr "Dégradé de la barre de navigation - couleur du bas"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation active button gradient top color"
msgstr "Dégradé du bouton de navigation actif - couleur du haut"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation active button gradient bottom color"
msgstr "Dégradé du bouton de navigation actif - couleur du bas"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Navigation bar border color "
msgstr "Couleur de la bordure de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar icon color "
msgstr "Couleur des icônes de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar active icon color "
msgstr "Couleur de l'icône active de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:114
msgid "link color"
msgstr "couleur des liens"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set font-color for banner"
msgstr "Définir la couleur du texte de la bannière"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color"
msgstr "Définir la couleur d'arrière-plan"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the background image"
msgstr "Définir l'image d'arrière-plan"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the background color of items"
msgstr "Définir la couleur de fond des contributions"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the background color of comments"
msgstr "Couleur de fond des commentaires"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the border color of comments"
msgstr "Couleur de la bordure des commentaires"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set the indent for comments"
msgstr "Indentation des commentaires"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the basic color for item icons"
msgstr "Définir la couleur de base pour les icônes des éléments"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the hover color for item icons"
msgstr "Définir la couleur de survol des icônes des éléments"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set font-size for the entire application"
msgstr "Définir la taille de police pour l'application entière"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Example: 14px"
msgstr "Exemple : 14px"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-size for posts and comments"
msgstr "Définir la taille de police pour les contributions et commentaires"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set font-color for posts and comments"
msgstr "Définir la couleur de police pour les contributions et commentaires"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set radius of corners"
msgstr "Définir le rayon des arrondis"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set shadow depth of photos"
msgstr "Définir la profondeur de l'ombre des photos"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set maximum width of content region in pixel"
msgstr "Définir la largeur maximale de la zone des contenus"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Leave empty for default width"
msgstr "Laissez vide pour avoir la largeur par défaut"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Left align page content"
msgstr "Aligner à gauche le contenu de la page"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Définir l'opacité minimum du bandeau de navigation - pour le cacher"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set size of conversation author photo"
msgstr "Définir la taille de la photo de l'auteur d'une conversation"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set size of followup author photos"
msgstr "Définir la taille de la photo de l'auteur d'une réponse"
-#: ../../boot.php:1329
+#: ../../boot.php:1162
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr ""
+
+#: ../../boot.php:1162
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr ""
+
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur."
-#: ../../boot.php:1332
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Erreur de mise à jour sur %s"
-#: ../../boot.php:1499
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Créez un compte pour pouvoir accéder aux services et applications de Hubzilla"
-#: ../../boot.php:1521
+#: ../../boot.php:1706
msgid "Password"
msgstr "Mot de passe"
-#: ../../boot.php:1522
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Se souvenir de moi"
-#: ../../boot.php:1525
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Mot de passe oublié&nbsp;?"
-#: ../../boot.php:2155
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "(dés)activer mobile"
-#: ../../boot.php:2308
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Le certificat SSL n'est pas valide. Corrigez le."
-#: ../../boot.php:2311
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Erreur SSL pour %s"
-#: ../../boot.php:2348
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Les taches planifiées ne tournent pas."
-#: ../../boot.php:2352
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Les tâches planifiées ne tournent pas sur %s"
diff --git a/view/fr/hstrings.php b/view/fr/hstrings.php
index c4e4e47ba..a1ff9f868 100644
--- a/view/fr/hstrings.php
+++ b/view/fr/hstrings.php
@@ -5,22 +5,13 @@ function string_plural_select_fr($n){
return ($n > 1);;
}}
;
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer.";
-App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenue %s. L'authentification distante a fonctionné.";
-App::$strings["Connect"] = "Ajouter/Suivre";
-App::$strings["New window"] = "Nouvelle fenêtre";
-App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre ou un onglet différent";
-App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé";
-App::$strings["No username found in import file."] = "Aucun nom d'utilisateur dans le fichier d'import.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Impossible de créer une adresse de canal unique. Echec de l'import.";
-App::$strings["Import completed."] = "L'import est terminé.";
App::$strings["parent"] = "retour";
App::$strings["Collection"] = "Groupe de contacts";
App::$strings["Principal"] = "Principal";
App::$strings["Addressbook"] = "Carnet d'adresse";
App::$strings["Calendar"] = "Calendrier";
-App::$strings["Schedule Inbox"] = "Calendrier - Message entrants";
-App::$strings["Schedule Outbox"] = "Calendrier - Message sortants";
+App::$strings["Schedule Inbox"] = "Calendrier - Messages entrants";
+App::$strings["Schedule Outbox"] = "Calendrier - Messages sortants";
App::$strings["Unknown"] = "Inconnu";
App::$strings["Files"] = "Fichiers";
App::$strings["Total"] = "Total";
@@ -38,1014 +29,62 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "AVERTISSEMENT&nbsp;:";
App::$strings["Create new folder"] = "Nouveau dossier";
App::$strings["Upload file"] = "Téléverser un fichier";
-App::$strings["Not a valid email address"] = "Ce n'est pas une adresse de courriel valide";
-App::$strings["Your email domain is not among those allowed on this site"] = "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site";
-App::$strings["Your email address is already registered at this site."] = "Votre adresse de courriel est déjà inscrite sur ce site.";
-App::$strings["An invitation is required."] = "Une invitation est requise.";
-App::$strings["Invitation could not be verified."] = "Votre invitation n'a pas pu être vérifiée.";
-App::$strings["Please enter the required information."] = "Merci d'entrer les informations requises.";
-App::$strings["Failed to store account information."] = "Impossible de stocker les informations liées au compte.";
-App::$strings["Registration confirmation for %s"] = "Confirmation de l'inscription pour %s";
-App::$strings["Registration request at %s"] = "Demande d'inscription sur %s";
-App::$strings["Administrator"] = "Administrateur";
-App::$strings["your registration password"] = "votre mot de passe d'inscription";
-App::$strings["Registration details for %s"] = "Détails de l'inscription pour %s";
-App::$strings["Account approved."] = "Compte approuvé.";
-App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s";
-App::$strings["Account verified. Please login."] = "Compte vérifié. Veuillez vous connecter.";
-App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait.";
-App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas disponible avec votre forfait.";
-App::$strings["Visible to your default audience"] = "Visible pour vos contacts seulement";
-App::$strings["Show"] = "Montrer";
-App::$strings["Don't show"] = "Cacher";
-App::$strings["Other networks and post services"] = "Autres réseaux et services de messagerie";
-App::$strings["Permissions"] = "Autorisations";
-App::$strings["Close"] = "Fermer";
-App::$strings[" and "] = "et";
-App::$strings["public profile"] = "profil public";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s a changé %2\$s en &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Visiter %2\$s de %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s.";
-App::$strings["Public Timeline"] = "Fil public";
-App::$strings["Site Admin"] = "Administrateur";
-App::$strings["Bookmarks"] = "Favoris";
-App::$strings["Address Book"] = "Carnet d'adresses";
-App::$strings["Login"] = "Connexion";
-App::$strings["Channel Manager"] = "Gérer les canaux";
-App::$strings["Grid"] = "Réseau";
-App::$strings["Settings"] = "Paramètres";
-App::$strings["Webpages"] = "Pages web";
-App::$strings["Channel Home"] = "Mon canal";
-App::$strings["Profile"] = "Profil";
-App::$strings["Photos"] = "Photos";
-App::$strings["Events"] = "Événements";
-App::$strings["Directory"] = "Annuaire";
-App::$strings["Help"] = "Aide";
-App::$strings["Mail"] = "Messages";
-App::$strings["Mood"] = "Humeur";
-App::$strings["Poke"] = "Tapoter";
-App::$strings["Chat"] = "Clavardage";
-App::$strings["Search"] = "Recherche";
-App::$strings["Probe"] = "Sonder";
-App::$strings["Suggest"] = "Suggérer";
-App::$strings["Random Channel"] = "Un canal au hasard";
-App::$strings["Invite"] = "Invitation";
-App::$strings["Features"] = "Fonctionalités";
-App::$strings["Language"] = "Langue";
-App::$strings["Post"] = "Envoyer";
-App::$strings["Profile Photo"] = "Photo du Profil";
-App::$strings["Update"] = "Mise à jour";
-App::$strings["Install"] = "Installer";
-App::$strings["Purchase"] = "Acheter";
-App::$strings["Permission denied."] = "Permission refusée.";
-App::$strings["Item was not found."] = "Élément introuvable.";
-App::$strings["No source file."] = "Pas de fichier source.";
-App::$strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer.";
-App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour";
-App::$strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Le fichier stocké n'a pu être vérifié. Echec de l'envoi.";
-App::$strings["Path not available."] = "Chemin non disponible.";
-App::$strings["Empty pathname"] = "Chemin vide";
-App::$strings["duplicate filename or path"] = "doublon de chemin ou de fichier";
-App::$strings["Path not found."] = "Chemin introuvable.";
-App::$strings["mkdir failed."] = "mkdir a échoué.";
-App::$strings["database storage failed."] = "l'écriture dans la base de données a échoué.";
-App::$strings["Empty path"] = "Chemin vide";
-App::$strings["Logged out."] = "Deconnecté.";
-App::$strings["Failed authentication"] = "Échec de l'authentification";
-App::$strings["Login failed."] = "Échec de la connexion.";
-App::$strings["Attachments:"] = "Pièces jointes&nbsp;:";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi";
-App::$strings["\$Projectname event notification:"] = "Notification d'événement de \$Projectname&nbsp;:";
-App::$strings["Starts:"] = "Début&nbsp;:";
-App::$strings["Finishes:"] = "Fin&nbsp;:";
-App::$strings["Location:"] = "Emplacement&nbsp;:";
-App::$strings["Image/photo"] = "Image/photo";
-App::$strings["Encrypted content"] = "Contenu chiffré";
-App::$strings["Install %s element: "] = "Installer %s élément";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site.";
-App::$strings["webpage"] = "pages web";
-App::$strings["layout"] = "mise en page";
-App::$strings["block"] = "bloquer";
-App::$strings["menu"] = "menu";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
-App::$strings["post"] = "publication";
-App::$strings["Different viewers will see this text differently"] = "Ce texte aura un rendu différent en fonction des utilisateurs";
-App::$strings["$1 spoiler"] = "dévoile&nbsp;: $1";
-App::$strings["$1 wrote:"] = "$1 a écrit&nbsp;:";
-App::$strings["%1\$s's bookmarks"] = "Favoris de %1\$s";
-App::$strings["Missing room name"] = "Il manque le nom du salon";
-App::$strings["Duplicate room name"] = "Un salon avec ce nom existe déjà";
-App::$strings["Invalid room specifier."] = "Identifiant de salon invalide.";
-App::$strings["Room not found."] = "Salon introuvable.";
-App::$strings["Room is full"] = "Le salon est plein";
-App::$strings["Default"] = "Défaut";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invitation disponible",
- 1 => "%d invitations disponibles",
-);
-App::$strings["Advanced"] = "Avancé";
-App::$strings["Find Channels"] = "Trouver des canaux";
-App::$strings["Enter name or interest"] = "Saisir nom ou centre d'intérêt";
-App::$strings["Connect/Follow"] = "Ajouter/Suivre";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Guillaume Martin, Course à pieds";
-App::$strings["Find"] = "Trouver";
-App::$strings["Channel Suggestions"] = "Canaux suggérés";
-App::$strings["Random Profile"] = "Un profil au hasard";
-App::$strings["Invite Friends"] = "Inviter des amis";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé&nbsp;: name=fred and country=iceland";
-App::$strings["Saved Folders"] = "Dossiers sauvegardés";
-App::$strings["Everything"] = "Tout";
-App::$strings["Categories"] = "Catégories";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contact en commun",
- 1 => "%d contacts en commun",
-);
-App::$strings["show more"] = "montrer plus";
-App::$strings["photo"] = "photo";
-App::$strings["event"] = "événement";
-App::$strings["channel"] = "canal";
-App::$strings["status"] = "état";
-App::$strings["comment"] = "commentaire";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s n'aime pas %3\$s de %2\$s";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ajoute %2\$s à ses contacts";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s a tapoté %2\$s";
-App::$strings["poked"] = "a tapoté";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s";
-App::$strings["__ctx:title__ Likes"] = "Aime";
-App::$strings["__ctx:title__ Dislikes"] = "N'aime pas";
-App::$strings["__ctx:title__ Agree"] = "D'accord";
-App::$strings["__ctx:title__ Disagree"] = "Pas d'accord";
-App::$strings["__ctx:title__ Abstain"] = "Abstention";
-App::$strings["__ctx:title__ Attending"] = "Participations";
-App::$strings["__ctx:title__ Not attending"] = "Non-participations";
-App::$strings["__ctx:title__ Might attend"] = "Participation possible";
-App::$strings["Select"] = "Sélectionner";
-App::$strings["Private Message"] = "Message Privé";
-App::$strings["Message signature validated"] = "Signature du message validée";
-App::$strings["Message signature incorrect"] = "Signature du message incorrecte";
-App::$strings["View %s's profile @ %s"] = "Voir le profil de %s @ %s";
-App::$strings["Categories:"] = "Catégories&nbsp;:";
-App::$strings["Filed under:"] = "Classé sous&nbsp;:";
-App::$strings["from %s"] = "de %s";
-App::$strings["last edited: %s"] = "dernière modification&nbsp;: %s";
-App::$strings["Expires: %s"] = "Expire&nbsp;: %s";
-App::$strings["View in context"] = "Voir en contexte";
-App::$strings["Please wait"] = "Merci de patienter";
-App::$strings["remove"] = "supprimer";
-App::$strings["Loading..."] = "Chargement...";
-App::$strings["Delete Selected Items"] = "Supprimer les éléments selectionnés";
-App::$strings["View Source"] = "Voir source";
-App::$strings["Follow Thread"] = "Suivre la discussion";
-App::$strings["Unfollow Thread"] = "Ne plus suivre la discussion";
-App::$strings["View Profile"] = "Voir le profil";
-App::$strings["Activity/Posts"] = "Activité/Publications";
-App::$strings["Edit Connection"] = "Modifier le contact";
-App::$strings["Message"] = "Message";
-App::$strings["Ratings"] = "Evaluations";
-App::$strings["%s likes this."] = "%s aime ça.";
-App::$strings["%s doesn't like this."] = "%s n'aime pas ça.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d personne</span> aime ceci.",
- 1 => "<span %1\$s>%2\$d personnes</span> aiment ceci.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d personne</span> n'aime pas ça.",
- 1 => "<span %1\$s>%2\$d personnes</span> n'aiment pas ça.",
-);
-App::$strings["and"] = "et";
-App::$strings[", and %d other people"] = array(
- 0 => ", et %d autre personne",
- 1 => ", et %d autres personnes",
-);
-App::$strings["%s like this."] = "%s aime ça.";
-App::$strings["%s don't like this."] = "%s n'aime pas ça.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Visible par <strong>tout le monde</strong>";
-App::$strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien&nbsp;:";
-App::$strings["Please enter a video link/URL:"] = "Merci d'entrer l'URL d'une video&nbsp;:";
-App::$strings["Please enter an audio link/URL:"] = "Merci d'entrer l'URL d'un contenu audio&nsbp;:";
-App::$strings["Tag term:"] = "Étiquette&nbsp;:";
-App::$strings["Save to Folder:"] = "Classer dans le dossier&nbsp;:";
-App::$strings["Where are you right now?"] = "Où êtes-vous en ce moment&nbsp;?";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire le YYYY-MM-DD à HH:MM";
-App::$strings["Preview"] = "Aperçu";
-App::$strings["Share"] = "Partager";
-App::$strings["Page link name"] = "Nom du lien vers la page";
-App::$strings["Post as"] = "Publier en tant que";
-App::$strings["Bold"] = "Gras";
-App::$strings["Italic"] = "Italique";
-App::$strings["Underline"] = "Souligné";
-App::$strings["Quote"] = "Citation";
-App::$strings["Code"] = "Code";
-App::$strings["Upload photo"] = "Téléverser une photo";
-App::$strings["upload photo"] = "téléverser une photo";
-App::$strings["Attach file"] = "Joindre un fichier";
-App::$strings["attach file"] = "joindre un fichier";
-App::$strings["Insert web link"] = "Insérer lien web";
-App::$strings["web link"] = "lien web";
-App::$strings["Insert video link"] = "Insérer lien vidéo";
-App::$strings["video link"] = "lien vidéo";
-App::$strings["Insert audio link"] = "Insérer un lien audio";
-App::$strings["audio link"] = "lien audio";
-App::$strings["Set your location"] = "Spécifier votre emplacement géographique";
-App::$strings["set location"] = "spécifier l'emplacement géographique";
-App::$strings["Toggle voting"] = "(Dés)activer le vote";
-App::$strings["Clear browser location"] = "Supprimer l'emplacement géographique du navigateur";
-App::$strings["clear location"] = "supprimer l'emplacement géographique";
-App::$strings["Title (optional)"] = "Titre (facultatif)";
-App::$strings["Categories (optional, comma-separated list)"] = "Catégories (facultatives, séparées par des virgules)";
-App::$strings["Permission settings"] = "Gérer les autorisations";
-App::$strings["permissions"] = "autorisations";
-App::$strings["Public post"] = "Contenu public";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Exemple: julien@exemple.com, marie@exemple.com";
-App::$strings["Set expiration date"] = "Définir la date d'expiration";
-App::$strings["Set publish date"] = "Définir la date de publication";
-App::$strings["Encrypt text"] = "Chiffrer le texte";
-App::$strings["OK"] = "OK";
-App::$strings["Cancel"] = "Annuler";
-App::$strings["Discover"] = "À découvrir";
-App::$strings["Imported public streams"] = "Flux publics importés";
-App::$strings["Commented Order"] = "Par date de commentaire";
-App::$strings["Sort by Comment Date"] = "Trier par date de dernier commentaire";
-App::$strings["Posted Order"] = "Par date de publication";
-App::$strings["Sort by Post Date"] = "Trier par date de publication";
-App::$strings["Personal"] = "Me concernant";
-App::$strings["Posts that mention or involve you"] = "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre";
-App::$strings["New"] = "Nouveautés";
-App::$strings["Activity Stream - by date"] = "Flux d'activité - par date";
-App::$strings["Starred"] = "Mis en avant (étoiles)";
-App::$strings["Favourite Posts"] = "Publications préférées";
-App::$strings["Spam"] = "Indésirable";
-App::$strings["Posts flagged as SPAM"] = "Publications marquées comme indésirables";
-App::$strings["Channel"] = "Canal";
-App::$strings["Status Messages and Posts"] = "Messages d'état et contributions";
-App::$strings["About"] = "À propos";
-App::$strings["Profile Details"] = "Détails du profil";
-App::$strings["Photo Albums"] = "Albums photo";
-App::$strings["Files and Storage"] = "Fichiers et Stockage";
-App::$strings["Chatrooms"] = "Salons de clavardage";
-App::$strings["Saved Bookmarks"] = "Favoris sauvegardés";
-App::$strings["Manage Webpages"] = "Gérer les pages web";
-App::$strings["View all"] = "Voir tout";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Aime",
- 1 => "Aime",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "N'aime pas",
- 1 => "N'aime pas",
-);
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Participe",
- 1 => "Participent",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Ne participe pas",
- 1 => "Ne participent pas",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indécis(e)",
- 1 => "Indécis(es)",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "D'accord",
- 1 => "D'accord",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Pas d'accord",
- 1 => "Pas d'accord",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "S'abstient",
- 1 => "S'abstiennent",
-);
-App::$strings["Miscellaneous"] = "Divers";
-App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-JJ ou MM-JJ";
-App::$strings["Required"] = "Requis";
-App::$strings["never"] = "jamais";
-App::$strings["less than a second ago"] = "à l'instant";
-App::$strings["year"] = "année";
-App::$strings["years"] = "années";
-App::$strings["month"] = "mois";
-App::$strings["months"] = "mois";
-App::$strings["week"] = "semaine";
-App::$strings["weeks"] = "semaines";
-App::$strings["day"] = "jour";
-App::$strings["days"] = "jours";
-App::$strings["hour"] = "heure";
-App::$strings["hours"] = "heures";
-App::$strings["minute"] = "minute";
-App::$strings["minutes"] = "minutes";
-App::$strings["second"] = "seconde";
-App::$strings["seconds"] = "secondes";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "il y a %1\$d %2\$s";
-App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BDD '%s'";
-App::$strings["Directory Options"] = "Options d'annuaire";
-App::$strings["Safe Mode"] = "Mode sûr";
-App::$strings["No"] = "Non";
-App::$strings["Yes"] = "Oui";
-App::$strings["Public Forums Only"] = "Les forums publics uniquement";
-App::$strings["This Website Only"] = "Ce site uniquement";
-App::$strings["This event has been added to your calendar."] = "Cet évènement a été ajouté dans votre calendrier.";
-App::$strings["Not specified"] = "Non spécifié";
-App::$strings["Needs Action"] = "Besoin d'une action";
-App::$strings["Completed"] = "Terminé";
-App::$strings["In Process"] = "En cours";
-App::$strings["Cancelled"] = "Annulé";
-App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce site.";
-App::$strings["Channel location missing."] = "Emplacement du canal introuvable.";
-App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète.";
-App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus.";
-App::$strings["Protocol disabled."] = "Protocole désactivé.";
-App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échoué.";
-App::$strings["local account not found."] = "compte local introuvable.";
-App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous.";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent.";
-App::$strings["Add new connections to this privacy group"] = "Ajouter de nouveaux contacts à ce groupe d'accès";
-App::$strings["All Channels"] = "Tous les canaux";
-App::$strings["edit"] = "modifier";
-App::$strings["Privacy Groups"] = "Groupes d'accès";
-App::$strings["Edit group"] = "Modifier le groupe";
-App::$strings["Add privacy group"] = "Ajouter un groupe d'accès";
-App::$strings["Channels not in any privacy group"] = "Canaux n'étant dans aucun groupe d'accès";
-App::$strings["add"] = "ajouter";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "L'import a échoué. Un canal existe déjà avec ce nom";
-App::$strings["Channel clone failed. Import failed."] = "Echec du clonage du canal. Echec de l'impot.";
-App::$strings["Cloned channel not found. Import failed."] = "Canal cloné non trouvé. Echec de l'import.";
-App::$strings["Delete this item?"] = "Supprimer cet élément?";
-App::$strings["Comment"] = "Commenter";
-App::$strings["[+] show all"] = "[+] voir tous";
-App::$strings["[-] show less"] = "[-] montrer moins";
-App::$strings["[+] expand"] = "[+] déplier";
-App::$strings["[-] collapse"] = "[-] replier";
-App::$strings["Password too short"] = "Mot de passe trop court";
-App::$strings["Passwords do not match"] = "Les mots de passe ne correspondent pas";
-App::$strings["everybody"] = "tout le monde";
-App::$strings["Secret Passphrase"] = "Phrase de passe secrète";
-App::$strings["Passphrase hint"] = "Indice pour la phrase de passe";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées.";
-App::$strings["close all"] = "fermer tout";
-App::$strings["Nothing new here"] = "Aucun nouveau contenu trouvé";
-App::$strings["Rate This Channel (this is public)"] = "Evaluer ce canal (publiquement)";
-App::$strings["Rating"] = "Evaluation";
-App::$strings["Describe (optional)"] = "Description (facultative)";
-App::$strings["Submit"] = "Envoyer";
-App::$strings["Please enter a link URL"] = "Merci d'insérer une URL";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Changements en attente. Voulez-vous vraiment quitter cette page?";
-App::$strings["Location"] = "Emplacement";
-App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "auparavant";
-App::$strings["from now"] = "de maintenant";
-App::$strings["less than a minute"] = "moins d'une minute";
-App::$strings["about a minute"] = "environ une minute";
-App::$strings["%d minutes"] = "%d minutes";
-App::$strings["about an hour"] = "environ une heure";
-App::$strings["about %d hours"] = "environ %d heures";
-App::$strings["a day"] = "un jour";
-App::$strings["%d days"] = "%d jours";
-App::$strings["about a month"] = "environ un mois";
-App::$strings["%d months"] = "%d mois";
-App::$strings["about a year"] = "environ un an";
-App::$strings["%d years"] = "%d années";
-App::$strings[" "] = "";
-App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["January"] = "Janvier";
-App::$strings["February"] = "Février";
-App::$strings["March"] = "Mars";
-App::$strings["April"] = "Avril";
-App::$strings["__ctx:long__ May"] = "Mai";
-App::$strings["June"] = "Juin";
-App::$strings["July"] = "Juillet";
-App::$strings["August"] = "Août";
-App::$strings["September"] = "Septembre";
-App::$strings["October"] = "Octobre";
-App::$strings["November"] = "Novembre";
-App::$strings["December"] = "Décembre";
-App::$strings["Jan"] = "Jan";
-App::$strings["Feb"] = "Fev";
-App::$strings["Mar"] = "Mar";
-App::$strings["Apr"] = "Avr";
-App::$strings["__ctx:short__ May"] = "Mai";
-App::$strings["Jun"] = "Jun";
-App::$strings["Jul"] = "Jul";
-App::$strings["Aug"] = "Aou";
-App::$strings["Sep"] = "Sep";
-App::$strings["Oct"] = "Oct";
-App::$strings["Nov"] = "Nov";
-App::$strings["Dec"] = "Dec";
-App::$strings["Sunday"] = "Dimanche";
-App::$strings["Monday"] = "Lundi";
-App::$strings["Tuesday"] = "Mardi";
-App::$strings["Wednesday"] = "Mercredi";
-App::$strings["Thursday"] = "Jeudi";
-App::$strings["Friday"] = "Vendredi";
-App::$strings["Saturday"] = "Samedi";
-App::$strings["Sun"] = "Dim";
-App::$strings["Mon"] = "Lun";
-App::$strings["Tue"] = "Mar";
-App::$strings["Wed"] = "Mer";
-App::$strings["Thu"] = "Jeu";
-App::$strings["Fri"] = "Ven";
-App::$strings["Sat"] = "Sam";
-App::$strings["__ctx:calendar__ today"] = "aujourd'hui";
-App::$strings["__ctx:calendar__ month"] = "mois";
-App::$strings["__ctx:calendar__ week"] = "semaine";
-App::$strings["__ctx:calendar__ day"] = "jour";
-App::$strings["__ctx:calendar__ All day"] = "Toute la journée";
-App::$strings["No recipient provided."] = "Pas de destinataire.";
-App::$strings["[no subject]"] = "[sans objet]";
-App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur.";
-App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié.";
-App::$strings["Logout"] = "Déconnexion";
-App::$strings["End this session"] = "Mettre fin à la session";
-App::$strings["Home"] = "Mon canal";
-App::$strings["Your posts and conversations"] = "Vos publications et conversations";
-App::$strings["Your profile page"] = "Votre profil";
-App::$strings["Edit Profiles"] = "Modifier les profils";
-App::$strings["Manage/Edit profiles"] = "Gérer/modifier les profils";
-App::$strings["Edit Profile"] = "Éditeur de profil";
-App::$strings["Edit your profile"] = "Modifier votre profil";
-App::$strings["Your photos"] = "Vos photos";
-App::$strings["Your files"] = "Vos fichiers";
-App::$strings["Your chatrooms"] = "Vos salons";
-App::$strings["Your bookmarks"] = "Vos favoris";
-App::$strings["Your webpages"] = "Vos pages web";
-App::$strings["Sign in"] = "Connexion";
-App::$strings["%s - click to logout"] = "%s - cliquer ici pour déconnecter";
-App::$strings["Remote authentication"] = "Authentification distante";
-App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub principal";
-App::$strings["Home Page"] = "Page d'accueil";
-App::$strings["Register"] = "S'inscrire";
-App::$strings["Create an account"] = "Créer un compte";
-App::$strings["Help and documentation"] = "Aide et documentation";
-App::$strings["Apps"] = "Applications";
-App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Recherche @nom, #tag, contenu";
-App::$strings["Channel Directory"] = "Annuaire des canaux";
-App::$strings["Your grid"] = "Votre réseau";
-App::$strings["Mark all grid notifications seen"] = "Marquer toutes les notifications du réseau comme vues";
-App::$strings["Channel home"] = "Mon canal";
-App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues";
-App::$strings["Connections"] = "Contacts";
-App::$strings["Notices"] = "Notifications";
-App::$strings["Notifications"] = "Notifications";
-App::$strings["See all notifications"] = "Voir toutes les notifications";
-App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues";
-App::$strings["Private mail"] = "Messages privés";
-App::$strings["See all private messages"] = "Voir tous les messages privés";
-App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus";
-App::$strings["Inbox"] = "Boîte de réception";
-App::$strings["Outbox"] = "Boîte d'envoi";
-App::$strings["New Message"] = "Nouveau message";
-App::$strings["Event Calendar"] = "Calendrier des événements";
-App::$strings["See all events"] = "Voir tous les événements";
-App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
-App::$strings["Manage Your Channels"] = "Gérer vos canaux";
-App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal";
-App::$strings["Admin"] = "Administrateur";
-App::$strings["Site Setup and Configuration"] = "Configuration du site";
-App::$strings["@name, #tag, ?doc, content"] = "@nom, #étiquette, ?doc, contenu";
-App::$strings["Please wait..."] = "Merci de patienter...";
-App::$strings["view full size"] = "voir en taille réelle";
-App::$strings["\$Projectname Notification"] = "Notification \$Projectname";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Merci,";
-App::$strings["%s Administrator"] = "l'administrateur de %s";
-App::$strings["No Subject"] = "Pas d'objet";
-App::$strings["created a new post"] = "a publié un nouveau message";
-App::$strings["commented on %s's post"] = "a commenté la publication de %s";
-App::$strings["New Page"] = "Nouvelle page";
-App::$strings["View"] = "Voir";
-App::$strings["Actions"] = "Actions";
-App::$strings["Page Link"] = "Lien vers la page";
-App::$strings["Title"] = "Titre";
-App::$strings["Created"] = "Créé(e)";
-App::$strings["Edited"] = "Modifié(e)";
-App::$strings["Profile Photos"] = "Photos du profil";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets";
-App::$strings["Image file is empty."] = "L'image est vide.";
-App::$strings["Unable to process image"] = "Impossible de traiter l'image";
-App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué.";
-App::$strings["a new photo"] = "une nouvelle photo";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s a publié %2\$s pour %3\$s";
-App::$strings["Upload New Photos"] = "Ajouter des photos";
-App::$strings["Male"] = "Homme";
-App::$strings["Female"] = "Femme";
-App::$strings["Currently Male"] = "Actuellement homme";
-App::$strings["Currently Female"] = "Actuellement femme";
-App::$strings["Mostly Male"] = "Surtout homme";
-App::$strings["Mostly Female"] = "Surtout femme";
-App::$strings["Transgender"] = "Transgenre";
-App::$strings["Intersex"] = "Intersexuel";
-App::$strings["Transsexual"] = "Transsexuel";
-App::$strings["Hermaphrodite"] = "Hermaphrodite";
-App::$strings["Neuter"] = "Neutre";
-App::$strings["Non-specific"] = "Non spécifique";
-App::$strings["Other"] = "Autre";
-App::$strings["Undecided"] = "Indécis";
-App::$strings["Males"] = "Hommes";
-App::$strings["Females"] = "Femmes";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbienne";
-App::$strings["No Preference"] = "Sans préférence";
-App::$strings["Bisexual"] = "Bisexuel";
-App::$strings["Autosexual"] = "Autosexuel";
-App::$strings["Abstinent"] = "Abstinent";
-App::$strings["Virgin"] = "Vierge";
-App::$strings["Deviant"] = "Déviant";
-App::$strings["Fetish"] = "Fétichiste";
-App::$strings["Oodles"] = "Une floppée";
-App::$strings["Nonsexual"] = "Non-sexuel";
-App::$strings["Single"] = "Célibataire";
-App::$strings["Lonely"] = "Solitaire";
-App::$strings["Available"] = "Disponible";
-App::$strings["Unavailable"] = "Indisponible";
-App::$strings["Has crush"] = "A un béguin";
-App::$strings["Infatuated"] = "Amoureux transi";
-App::$strings["Dating"] = "Sort avec quelqu'un";
-App::$strings["Unfaithful"] = "Infidèle";
-App::$strings["Sex Addict"] = "Accro au sexe";
-App::$strings["Friends"] = "Amis";
-App::$strings["Friends/Benefits"] = "Amis avec bénéfices";
-App::$strings["Casual"] = "Sans engagement";
-App::$strings["Engaged"] = "Fiancé(e)";
-App::$strings["Married"] = "Marié(e)";
-App::$strings["Imaginarily married"] = "Marié(e) dans ses rêves";
-App::$strings["Partners"] = "Partenaires";
-App::$strings["Cohabiting"] = "En cohabitation";
-App::$strings["Common law"] = "Conjoints de fait";
-App::$strings["Happy"] = "Heureux";
-App::$strings["Not looking"] = "Pas en recherche";
-App::$strings["Swinger"] = "Echangiste";
-App::$strings["Betrayed"] = "Trahi(e)";
-App::$strings["Separated"] = "Séparé(e)";
-App::$strings["Unstable"] = "Instable";
-App::$strings["Divorced"] = "Divorcé(e)";
-App::$strings["Imaginarily divorced"] = "Divorcé(e) dans ses rêves";
-App::$strings["Widowed"] = "Veuf/veuve";
-App::$strings["Uncertain"] = "Incertain";
-App::$strings["It's complicated"] = "C'est compliqué";
-App::$strings["Don't care"] = "S'en fiche";
-App::$strings["Ask me"] = "Me demander";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures).";
-App::$strings["Tags"] = "Étiquettes";
-App::$strings["Keywords"] = "Mots-clefs";
-App::$strings["have"] = "ont";
-App::$strings["has"] = "a";
-App::$strings["want"] = "veulent";
-App::$strings["wants"] = "veut";
-App::$strings["like"] = "aiment";
-App::$strings["likes"] = "aime";
-App::$strings["dislike"] = "n'aiment pas";
-App::$strings["dislikes"] = "n'aime pas";
-App::$strings["Invalid data packet"] = "Paquet de données invalide";
-App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal";
-App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s";
-App::$strings["invalid target signature"] = "signature de la cible invalide";
-App::$strings["Frequently"] = "Fréquemment";
-App::$strings["Hourly"] = "Toutes les heures";
-App::$strings["Twice daily"] = "Deux fois par jour";
-App::$strings["Daily"] = "Chaque jour";
-App::$strings["Weekly"] = "Chaque semaine";
-App::$strings["Monthly"] = "Chaque mois";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "Courriel";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "Linkedin";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["prev"] = "préc.";
-App::$strings["first"] = "premier";
-App::$strings["last"] = "dernier";
-App::$strings["next"] = "Suivant";
-App::$strings["older"] = "plus ancien";
-App::$strings["newer"] = "plus récent";
-App::$strings["No connections"] = "Pas de relations.";
-App::$strings["View all %s connections"] = "Voir les %s contacts";
-App::$strings["Save"] = "Enregistrer";
-App::$strings["poke"] = "tapoter";
-App::$strings["ping"] = "ping";
-App::$strings["pinged"] = "pingé";
-App::$strings["prod"] = "encourager";
-App::$strings["prodded"] = "encouragé";
-App::$strings["slap"] = "giffler";
-App::$strings["slapped"] = "gifflé(e)";
-App::$strings["finger"] = "pointer";
-App::$strings["fingered"] = "pointé";
-App::$strings["rebuff"] = "rejetter";
-App::$strings["rebuffed"] = "rejeté";
-App::$strings["happy"] = "heureux";
-App::$strings["sad"] = "triste";
-App::$strings["mellow"] = "mélancolique";
-App::$strings["tired"] = "fatigué";
-App::$strings["perky"] = "impertinent";
-App::$strings["angry"] = "en colère";
-App::$strings["stupefied"] = "stupéfait";
-App::$strings["puzzled"] = "perplexe";
-App::$strings["interested"] = "intéressé";
-App::$strings["bitter"] = "amer";
-App::$strings["cheerful"] = "plein d'entrain";
-App::$strings["alive"] = "vivant";
-App::$strings["annoyed"] = "agaçé";
-App::$strings["anxious"] = "anxieux";
-App::$strings["cranky"] = "énervé";
-App::$strings["disturbed"] = "perturbé";
-App::$strings["frustrated"] = "frustré";
-App::$strings["depressed"] = "déprimé";
-App::$strings["motivated"] = "motivé";
-App::$strings["relaxed"] = "détendu";
-App::$strings["surprised"] = "surpris";
-App::$strings["May"] = "Mai";
-App::$strings["Unknown Attachment"] = "Pièce jointe inconnue";
-App::$strings["unknown"] = "Inconnu";
-App::$strings["remove category"] = "supprimer la catégorie";
-App::$strings["remove from file"] = "retirer du fichier";
-App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer";
-App::$strings["Link to Source"] = "Lien vers la Source";
-App::$strings["default"] = "défaut";
-App::$strings["Page layout"] = "Mise en page";
-App::$strings["You can create your own with the layouts tool"] = "Créez les vôtres avec les outils de mise en page";
-App::$strings["Page content type"] = "Type de contenu de la page";
-App::$strings["Select an alternate language"] = "Choisir une langue alternative";
-App::$strings["activity"] = "activité";
-App::$strings["Design Tools"] = "Outils de conception";
-App::$strings["Blocks"] = "Blocs";
-App::$strings["Menus"] = "Menus";
-App::$strings["Layouts"] = "Mises-en-page";
-App::$strings["Pages"] = "Pages";
App::$strings["Permission denied"] = "Accès refusé";
-App::$strings["(Unknown)"] = "(Inconnu)";
-App::$strings["Visible to anybody on the internet."] = "Visible pour tout le monde sur internet.";
-App::$strings["Visible to you only."] = "Visible pour vous seulement.";
-App::$strings["Visible to anybody in this network."] = "Visible pour tout le monde sur ce réseau.";
-App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés.";
-App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
-App::$strings["Visible to all connections."] = "Visible pour tous les contacts.";
-App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
-App::$strings["Visible to specific connections."] = "Visible pour certains contacts.";
-App::$strings["Item not found."] = "Élément introuvable";
-App::$strings["Privacy group not found."] = "Groupe d'accès introuvable.";
-App::$strings["Privacy group is empty."] = "Groupe d'accès vide.";
-App::$strings["Privacy group: %s"] = "Groupe d'accès&nbsp;: %s";
-App::$strings["Connection: %s"] = "Contact&nbsp;: %s";
-App::$strings["Connection not found."] = "Contact non trouvé.";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Nouveau courriel reçu à %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s.";
-App::$strings["a private message"] = "un message privé";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Merci de visiter %s pour voir et/ou répondre à vos messages privés.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté [zrl=%3\$s]votre %4\$s[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Commentaire de %2\$s sur conversation #%1\$d";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s a publié sur votre profil";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s vous a étiqueté";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s vous a tapoté";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a tapoté sur %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a tapoté[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s a étiqueté votre publication";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Nouvelle présentation";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de contact de '%2\$s' sur %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de contact[/zrl] de %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de contact.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion d'ami(e) de '%2\$s' à %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion d'ami(e)[/zrl] de %4\$s.";
-App::$strings["Name:"] = "Nom&nbsp;:";
-App::$strings["Photo:"] = "Photo&nbsp;:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]";
-App::$strings["General Features"] = "Fonctionnalités générales";
-App::$strings["Content Expiration"] = "Expiration du contenu";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard";
-App::$strings["Multiple Profiles"] = "Profils multiples";
-App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils";
-App::$strings["Advanced Profiles"] = "Profils Avancés";
-App::$strings["Additional profile sections and selections"] = "Sections et sélections supplémentaires du profil";
-App::$strings["Profile Import/Export"] = "Importer/Exporter le profil";
-App::$strings["Save and load profile details across sites/channels"] = "Sauvegarder et charger les détails d'un profil entre sites/canaux";
-App::$strings["Web Pages"] = "Pages web";
-App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal";
-App::$strings["Hide Rating"] = "Masquer l'évaluation";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs.";
-App::$strings["Private Notes"] = "Notes privées";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)";
-App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation déroulant";
-App::$strings["Photo Location"] = "Site de prise de vue";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte.";
-App::$strings["Expert Mode"] = "Mode expert";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activer le mode expert pour accéder aux options avancées";
-App::$strings["Premium Channel"] = "Canal VIP";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal";
-App::$strings["Post Composition Features"] = "Fonctionnalités de composition";
-App::$strings["Use Markdown"] = "Utiliser Markdown";
-App::$strings["Allow use of \"Markdown\" to format posts"] = "Autoriser l'utilisation de \"Markdown\" pour mettre en forme les messages";
-App::$strings["Large Photos"] = "Grandes photos";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px).";
-App::$strings["Channel Sources"] = "Sources du canal";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif";
-App::$strings["Even More Encryption"] = "Encore plus de chiffrement";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé";
-App::$strings["Enable Voting Tools"] = "Activer les outils de vote";
-App::$strings["Provide a class of post which others can vote on"] = "Fournit un type de publication sur lequel les utilisateurs peuvent voter";
-App::$strings["Delayed Posting"] = "Publication plus tard";
-App::$strings["Allow posts to be published at a later date"] = "Permettre de publier des messages à une date programmée";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Supprimer les publications/commentaires en doublon";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle";
-App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux";
-App::$strings["Search by Date"] = "Chercher par date";
-App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date";
-App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes d'accès";
-App::$strings["Saved Searches"] = "Recherches sauvegardées";
-App::$strings["Save search terms for re-use"] = "Sauvegarder des termes de recherche pour utilisation ultérieure";
-App::$strings["Network Personal Tab"] = "Onglet \"Me concernant\"";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu";
-App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\"";
-App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet présentant toute l'activité récente sur le réseau";
-App::$strings["Affinity Tool"] = "Gérer l'affinité";
-App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations";
-App::$strings["Connection Filtering"] = "Filtrage des contacts";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs";
-App::$strings["Suggest Channels"] = "Suggérer des canaux";
-App::$strings["Show channel suggestions"] = "Montrer les suggestions de canaux";
-App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires";
-App::$strings["Community Tagging"] = "Etiquetage communautaire";
-App::$strings["Ability to tag existing posts"] = "Permettre de marquer les publications existantes";
-App::$strings["Post Categories"] = "Catégoriser les publications";
-App::$strings["Add categories to your posts"] = "Ajouter des catégories à vos publications";
-App::$strings["Ability to file posts under folders"] = "Permettre de classer les publications dans des dossiers";
-App::$strings["Dislike Posts"] = "\"Ne pas aimer\" les publications";
-App::$strings["Ability to dislike posts/comments"] = "Possibilité de \"ne pas aimer\" les publications/commentaires";
-App::$strings["Star Posts"] = "Pouvoir mettre en avant les publications";
-App::$strings["Ability to mark special posts with a star indicator"] = "Pouvoir marquer certaines publications d'une étoile";
-App::$strings["Tag Cloud"] = "Nuage de tags";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Afficher un nuage de vos tags sur votre canal";
-App::$strings["Unable to obtain identity information from database"] = "Impossible d'obtenir les données d'identité depuis la base de données";
-App::$strings["Empty name"] = "Nom vide";
-App::$strings["Name too long"] = "Nom trop long";
-App::$strings["No account identifier"] = "Pas d'identifiant de compte";
-App::$strings["Nickname is required."] = "Un surnom est requis.";
-App::$strings["Reserved nickname. Please choose another."] = "Surnom réservé. Merci d'en choisir un autre.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits ou est déjà pris sur ce site.";
-App::$strings["Unable to retrieve created identity"] = "Impossible de récupérer l'identité créée";
-App::$strings["Default Profile"] = "Profil par défaut";
-App::$strings["Requested channel is not available."] = "Canal demandé non disponible.";
-App::$strings["Requested profile is not available."] = "Profil demandé non disponible.";
-App::$strings["Change profile photo"] = "Changer la photo du profil";
-App::$strings["Profiles"] = "Profils";
-App::$strings["Manage/edit profiles"] = "Gérer/modifier les profils";
-App::$strings["Create New Profile"] = "Créer un nouveau profil";
-App::$strings["Profile Image"] = "Image du profil";
-App::$strings["visible to everybody"] = "visible pour tous";
-App::$strings["Edit visibility"] = "Changer la visibilité";
-App::$strings["Gender:"] = "Sexe&nbsp;:";
-App::$strings["Status:"] = "État&nbsp;:";
-App::$strings["Homepage:"] = "Site Internet&nbsp;:";
-App::$strings["Online Now"] = "Connecté";
-App::$strings["g A l F d"] = "g A l F d";
-App::$strings["F d"] = "d F";
-App::$strings["[today]"] = "[aujourd'hui]";
-App::$strings["Birthday Reminders"] = "Rappels d'anniversaires";
-App::$strings["Birthdays this week:"] = "Anniversaires cette semaine&nbsp;:";
-App::$strings["[No description]"] = "[Pas de description]";
-App::$strings["Event Reminders"] = "Rappels d'événements";
-App::$strings["Events this week:"] = "Événements cette semaine&nbsp;:";
-App::$strings["Full Name:"] = "Nom complet&nbsp;:";
-App::$strings["Like this channel"] = "J'aime ce canal";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Date de naissance&nbsp;:";
-App::$strings["Age:"] = "Age&nbsp;:";
-App::$strings["for %1\$d %2\$s"] = "depuis %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
-App::$strings["Hometown:"] = "Ville natale&nbsp;:";
-App::$strings["Tags:"] = "Étiquettes&nbsp;:";
-App::$strings["Political Views:"] = "Opinions politiques&nbsp;:";
-App::$strings["Religion:"] = "Religion&nbsp;:";
-App::$strings["About:"] = "À propos&nbsp;:";
-App::$strings["Hobbies/Interests:"] = "Occupations/Centres d'intérêt&nbsp;:";
-App::$strings["Likes:"] = "Aime&nbsp;:";
-App::$strings["Dislikes:"] = "N'aime pas&nbsp;:";
-App::$strings["Contact information and Social Networks:"] = "Coordonnées et réseaux sociaux&nbsp;:";
-App::$strings["My other channels:"] = "Mes autres canaux&nbsp;:";
-App::$strings["Musical interests:"] = "Goûts musicaux&nbsp;:";
-App::$strings["Books, literature:"] = "Lectures, goûts littéraires&nbsp;:";
-App::$strings["Television:"] = "Télévision&nbsp;:";
-App::$strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nsbp;:";
-App::$strings["Love/Romance:"] = "Vie sentimentale/amoureuse&nbsp;:";
-App::$strings["Work/employment:"] = "Travail/Occupation&nbsp;";
-App::$strings["School/education:"] = "Études&nbsp;";
-App::$strings["Like this thing"] = "J'aime ceci";
-App::$strings["cover photo"] = "Photo principale";
-App::$strings["Embedded content"] = "Contenu imbriqué";
-App::$strings["Embedding disabled"] = "Imbrication désactivée";
-App::$strings["Can view my normal stream and posts"] = "Peut voir les publications ordinaires sur mon canal.";
-App::$strings["Can view my default channel profile"] = "Peut voir le profil du canal par défaut.";
-App::$strings["Can view my connections"] = "Peut voir mes contacts";
-App::$strings["Can view my file storage and photos"] = "Peut voir mes fichiers et photos";
-App::$strings["Can view my webpages"] = "Peut voir mes pages web";
-App::$strings["Can send me their channel stream and posts"] = "Peuvent m'envoyer leur flux et les publications de leur canal";
-App::$strings["Can post on my channel page (\"wall\")"] = "Peuvent poster sur la page de mon canal (\"mur\")";
-App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications";
-App::$strings["Can send me private mail messages"] = "Peuvent m'envoyer des messages privés";
-App::$strings["Can like/dislike stuff"] = "Peuvent aimer/ne pas aimer";
-App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires.";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts de mon canal via \"@mention\"";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avancé - utile pour les canaux de type \"forum/groupe\"";
-App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (quand disponibie)";
-App::$strings["Can write to my file storage and photos"] = "Peut charger des fichiers et des photos dans mon canal";
-App::$strings["Can edit my webpages"] = "Peut modifier mes pages web";
-App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques vers des canaux dérivés";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes";
-App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes";
-App::$strings["Social Networking"] = "Réseau social";
-App::$strings["Mostly Public"] = "Pincipalement public";
-App::$strings["Restricted"] = "Accès restreint";
-App::$strings["Private"] = "Privé";
-App::$strings["Community Forum"] = "Forum communautaire";
-App::$strings["Feed Republish"] = "Republication de flux";
-App::$strings["Special Purpose"] = "Utilisation spécifique";
-App::$strings["Celebrity/Soapbox"] = "Page de célébrité/tribune";
-App::$strings["Group Repository"] = "Espace de groupe";
-App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique";
-App::$strings["System"] = "Système";
-App::$strings["Create Personal App"] = "Créer votre application";
-App::$strings["Edit Personal App"] = "Modifier votre application";
-App::$strings["Ignore/Hide"] = "Ignorer/Cacher";
-App::$strings["Suggestions"] = "Suggestions";
-App::$strings["See more..."] = "Voir plus...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f sur %2$.0f contacts autorisés.";
-App::$strings["Add New Connection"] = "Ajouter un nouveau contact";
-App::$strings["Enter channel address"] = "Saisissez l'adresse du canal";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie";
-App::$strings["Notes"] = "Notes";
-App::$strings["Remove term"] = "Retirer le terme";
-App::$strings["Archives"] = "Archives";
-App::$strings["Me"] = "Moi";
-App::$strings["Family"] = "Famille";
-App::$strings["Acquaintances"] = "Connaissances";
-App::$strings["All"] = "Tous";
-App::$strings["Refresh"] = "Actualiser";
-App::$strings["Account settings"] = "Paramètres du compte";
-App::$strings["Channel settings"] = "Paramètres du canal";
-App::$strings["Additional features"] = "Fonctionnalités supplémentaires";
-App::$strings["Feature/Addon settings"] = "Paramètres des extensions/greffons";
-App::$strings["Display settings"] = "Paramètres d'affichage";
-App::$strings["Connected apps"] = "Applications connectées";
-App::$strings["Export channel"] = "Exporter le canal";
-App::$strings["Connection Default Permissions"] = "Autorisations par défaut des contacts";
-App::$strings["Premium Channel Settings"] = "Paramètres de canal VIP";
-App::$strings["Private Mail Menu"] = "Menu des messages privés";
-App::$strings["Combined View"] = "Vue combinée";
-App::$strings["Conversations"] = "Conversations";
-App::$strings["Received Messages"] = "Messages reçus";
-App::$strings["Sent Messages"] = "Messages envoyés";
-App::$strings["No messages."] = "Pas de message.";
-App::$strings["Delete conversation"] = "Supprimer la conversation";
-App::$strings["Events Menu"] = "Menu Evènements";
-App::$strings["Day View"] = "Vue Jour";
-App::$strings["Week View"] = "Vue Semaine";
-App::$strings["Month View"] = "Vue Mois";
-App::$strings["Export"] = "Export";
-App::$strings["Import"] = "Import";
-App::$strings["Events Tools"] = "Outils Evènements";
-App::$strings["Export Calendar"] = "Exporter le calendrier";
-App::$strings["Import Calendar"] = "Importer un calendrier";
-App::$strings["Chat Rooms"] = "Salons de clavardage";
-App::$strings["Bookmarked Chatrooms"] = "Salons favoris";
-App::$strings["Suggested Chatrooms"] = "Salons suggérés";
-App::$strings["photo/image"] = "photo/image";
-App::$strings["Rating Tools"] = "Outils d'évaluation";
-App::$strings["Rate Me"] = "M'évaluer";
-App::$strings["View Ratings"] = "Voir mes évaluations";
-App::$strings["Public Hubs"] = "Instances publiques";
-App::$strings["Forums"] = "Membres du forum";
-App::$strings["Tasks"] = "Tâches";
-App::$strings["Documentation"] = "Documentation";
-App::$strings["Project/Site Information"] = "Information sur le site/projet";
-App::$strings["For Members"] = "Pour les membres";
-App::$strings["For Administrators"] = "Pour les administrateurs";
-App::$strings["For Developers"] = "Pour les développeurs";
-App::$strings["Site"] = "Site";
-App::$strings["Accounts"] = "Comptes";
-App::$strings["Channels"] = "Canaux";
-App::$strings["Security"] = "";
-App::$strings["Plugins"] = "Greffons";
-App::$strings["Themes"] = "Thèmes";
-App::$strings["Inspect queue"] = "Analyser la file d'attente";
-App::$strings["Profile Config"] = "Configuration du profil";
-App::$strings["DB updates"] = "Mises à jour BDD";
-App::$strings["Logs"] = "Journaux";
-App::$strings["Plugin Features"] = "Fonctionnalités des greffons";
-App::$strings["User registrations waiting for confirmation"] = "Enregistrements d'utilisateurs en attente d'approbation";
-App::$strings["View Photo"] = "Voir la photo";
-App::$strings["Edit Album"] = "Modifier l'album";
-App::$strings["Save to Folder"] = "Enregistrer dans le dossier";
-App::$strings["I will attend"] = "Je participerai";
-App::$strings["I will not attend"] = "Je ne participerai pas";
-App::$strings["I might attend"] = "Je participerai peut-être";
-App::$strings["I agree"] = "Je suis d'accord";
-App::$strings["I disagree"] = "Je ne suis pas d'accord";
-App::$strings["I abstain"] = "Je m'abstiens";
-App::$strings["Add Star"] = "Mettre en avant (étoile)";
-App::$strings["Remove Star"] = "Ne plus mettre en avant";
-App::$strings["Toggle Star Status"] = "(Dés)activer l'étoile";
-App::$strings["starred"] = "mis en avant";
-App::$strings["Add Tag"] = "Ajouter une étiquette";
-App::$strings["I like this (toggle)"] = "J'aime (oui/non)";
-App::$strings["I don't like this (toggle)"] = "Je n'aime pas (oui/non)";
-App::$strings["Share This"] = "Partager";
-App::$strings["share"] = "partager";
-App::$strings["Delivery Report"] = "Rapport de distribution";
-App::$strings["%d comment"] = array(
- 0 => "%d commentaire",
- 1 => "%d commentaires",
-);
-App::$strings["View %s's profile - %s"] = "Voir le profil de %s - %s";
-App::$strings["to"] = "à";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "Mur-à-mur";
-App::$strings["via Wall-To-Wall:"] = "par Mur-à-mur&nbsp;:";
-App::$strings["Save Bookmarks"] = "Enregistrer les favoris";
-App::$strings["Add to Calendar"] = "Ajouter au Calendrier";
-App::$strings["Mark all seen"] = "Tout marquer comme vu";
-App::$strings["__ctx:noun__ Likes"] = "Aime";
-App::$strings["__ctx:noun__ Dislikes"] = "N'aime pas";
-App::$strings["This is you"] = "C'est vous";
-App::$strings["Image"] = "Image";
-App::$strings["Insert Link"] = "Insérer un lien";
-App::$strings["Video"] = "Vidéo";
+App::$strings["Permission denied."] = "Permission refusée.";
App::$strings["Not Found"] = "Introuvable";
App::$strings["Page not found."] = "Page introuvable.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenue %s. L'authentification distante a fonctionné.";
+App::$strings["Requested profile is not available."] = "Profil demandé non disponible.";
App::$strings["Some blurb about what to do when you're new here"] = "Quelques mots sur quoi faire quand on est nouveau ici";
-App::$strings["network"] = "réseau";
-App::$strings["RSS"] = "RSS";
-App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter";
-App::$strings["Return to your app and insert this Securty Code:"] = "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:";
-App::$strings["Please login to continue."] = "Merci de vous identifier pour continuer.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?";
-App::$strings["App installed."] = "Application installée.";
-App::$strings["Malformed app."] = "Erreur de l'application - Malformée.";
-App::$strings["Embed code"] = "Imbriquer le code";
-App::$strings["Edit App"] = "Modifier l'application";
-App::$strings["Create App"] = "Créer une application";
-App::$strings["Name of app"] = "Nom de l'application";
-App::$strings["Location (URL) of app"] = "Emplacement (URL) de l'application";
-App::$strings["Description"] = "Description";
-App::$strings["Photo icon URL"] = "URL de l'icône à utiliser pour cette photo";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - facultatif";
-App::$strings["Version ID"] = "Identifiant de version";
-App::$strings["Price of app"] = "Prix de l'application";
-App::$strings["Location (URL) to purchase app"] = "Emplacement (URL) pour l'achat de l'application";
-App::$strings["Item not available."] = "Élément indisponible.";
-App::$strings["Invalid item."] = "Élément invalide.";
-App::$strings["Channel not found."] = "Canal introuvable.";
App::$strings["Block Name"] = "Nom du Bloc";
+App::$strings["Blocks"] = "Blocs";
App::$strings["Block Title"] = "Titre du bloc";
-App::$strings["Bookmark added"] = "Favori ajouté";
-App::$strings["My Bookmarks"] = "Mes Favoris";
-App::$strings["My Connections Bookmarks"] = "Favoris de mes contacts";
+App::$strings["Created"] = "Créé(e)";
+App::$strings["Edited"] = "Modifié(e)";
+App::$strings["Share"] = "Partager";
+App::$strings["View"] = "Voir";
+App::$strings["Channel not found."] = "Canal introuvable.";
+App::$strings["Permissions denied."] = "Permissions refusées.";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Link to Source"] = "Lien vers la Source";
+App::$strings["Edit Event"] = "Modifier l'événement";
+App::$strings["Create Event"] = "Créer un événement";
+App::$strings["Previous"] = "Précédent";
+App::$strings["Next"] = "Suivant";
+App::$strings["Export"] = "Export";
+App::$strings["Import"] = "Import";
+App::$strings["Submit"] = "Envoyer";
+App::$strings["Today"] = "Aujourd'hui";
App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page.";
+App::$strings["Posts and comments"] = "";
+App::$strings["Only posts"] = "";
App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée vers la page du profil.";
-App::$strings["Public"] = "Public";
App::$strings["Room not found"] = "Salon introuvable";
App::$strings["Leave Room"] = "Quitter le salon";
-App::$strings["Delete This Room"] = "Supprimer le salon";
+App::$strings["Delete Room"] = "";
App::$strings["I am away right now"] = "Je suis absent en ce moment";
App::$strings["I am online"] = "Je suis en ligne";
App::$strings["Bookmark this room"] = "Marquer ce salon comme favori";
+App::$strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien&nbsp;:";
+App::$strings["Encrypt text"] = "Chiffrer le texte";
+App::$strings["Insert web link"] = "Insérer lien web";
+App::$strings["Feature disabled."] = "";
App::$strings["New Chatroom"] = "Nouveau salon de discussion";
-App::$strings["Chatroom Name"] = "Nom du salon de discussion";
+App::$strings["Chatroom name"] = "";
App::$strings["Expiration of chats (minutes)"] = "Expiration des discussions (en minutes)";
+App::$strings["Permissions"] = "Autorisations";
App::$strings["%1\$s's Chatrooms"] = "Salons de %1\$s";
+App::$strings["No chatrooms available"] = "";
+App::$strings["Create New"] = "";
+App::$strings["Expiration"] = "";
+App::$strings["min"] = "";
App::$strings["Away"] = "Absent";
App::$strings["Online"] = "En ligne";
-App::$strings["No channel."] = "Pas de canal.";
-App::$strings["Common connections"] = "Contacts en commun";
-App::$strings["No connections in common."] = "Pas de contacts en commun.";
+App::$strings["Invalid item."] = "Élément invalide.";
+App::$strings["Bookmark added"] = "Favori ajouté";
+App::$strings["My Bookmarks"] = "Mes Favoris";
+App::$strings["My Connections Bookmarks"] = "Favoris de mes contacts";
App::$strings["Continue"] = "Continuer";
App::$strings["Premium Channel Setup"] = "Configuration du canal VIP";
App::$strings["Enable premium channel connection restrictions"] = "Activer les restrictions liées au canal VIP";
@@ -1055,42 +94,18 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuant, je certifie que je me suis conformé à toutes les instructions indiquées sur cette page.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Aucune instruction spécifique n'a été fournie par le propriétaire du canal.)";
App::$strings["Restricted or Premium Channel"] = "Canal VIP ou restreint";
-App::$strings["Blocked"] = "Bloqué(e)";
-App::$strings["Ignored"] = "Ignoré(e)";
-App::$strings["Hidden"] = "Caché";
-App::$strings["Archived"] = "Archivé";
-App::$strings["New Connections"] = "Nouveaux contacts";
-App::$strings["Show pending (new) connections"] = "Voir les (nouveaux) contacts en attente";
-App::$strings["All Connections"] = "Tous les contacts";
-App::$strings["Show all connections"] = "Voir tous les contacts";
-App::$strings["Only show blocked connections"] = "Ne montrer que les contacts bloqués";
-App::$strings["Only show ignored connections"] = "Ne montrer que les contacts ignorés";
-App::$strings["Only show archived connections"] = "Ne montrer que les contacts archivés";
-App::$strings["Only show hidden connections"] = "Ne montrer que les contacts cachés";
-App::$strings["Pending approval"] = "En attente de validation";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifier le contact";
-App::$strings["Delete connection"] = "Supprimer le contact";
-App::$strings["Channel address"] = "Adresse du canal";
-App::$strings["Network"] = "Réseau";
-App::$strings["Status"] = "État";
-App::$strings["Connected"] = "Connecté";
-App::$strings["Approve connection"] = "Valider le contact";
-App::$strings["Approve"] = "Approuver";
-App::$strings["Ignore connection"] = "Ignorer le contact";
-App::$strings["Ignore"] = "Ignorer";
-App::$strings["Recent activity"] = "Activité récente";
-App::$strings["Search your connections"] = "Chercher parmi vos contacts";
-App::$strings["Connections search"] = "Chercher des contacts";
App::$strings["Could not access contact record."] = "Impossible d'accéder aux détails du contact.";
App::$strings["Could not locate selected profile."] = "Impossible de localiser le profil sélectionné.";
App::$strings["Connection updated."] = "Contact mis à jour.";
App::$strings["Failed to update connection record."] = "Impossible de mettre à jour les détails du contact.";
App::$strings["is now connected to"] = "est maintenant connecté avec";
+App::$strings["No"] = "Non";
+App::$strings["Yes"] = "Oui";
App::$strings["Could not access address book record."] = "Impossible d'accéder aux détails du carnet d'adresses.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Actualisation impossible - le canal est indisponible.";
App::$strings["Unable to set address book parameters."] = "Impossible de régler les paramètres du carnet d'adresses.";
App::$strings["Connection has been removed."] = "Le contact a été supprimé.";
+App::$strings["View Profile"] = "Voir le profil";
App::$strings["View %s's profile"] = "Voir le profil de %s";
App::$strings["Refresh Permissions"] = "Actualiser les autorisations";
App::$strings["Fetch updated permissions"] = "Récupérer les autorisations les plus récentes";
@@ -1101,6 +116,7 @@ App::$strings["Block"] = "Bloquer";
App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquer ou débloquer toute communication avec ce contact";
App::$strings["This connection is blocked!"] = "Ce contact est bloqué&nbsp;!";
App::$strings["Unignore"] = "Ne plus ignorer";
+App::$strings["Ignore"] = "Ignorer";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorer ou ne plus ignorer toute communication venant de ce contact";
App::$strings["This connection is ignored!"] = "Ce contact est ignoré&nbsp;!";
App::$strings["Unarchive"] = "Désarchiver";
@@ -1112,17 +128,27 @@ App::$strings["Hide"] = "Cacher";
App::$strings["Hide or Unhide this connection from your other connections"] = "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts";
App::$strings["This connection is hidden!"] = "Ce contact est caché&nbsp;!";
App::$strings["Delete this connection"] = "Supprimer ce contact";
+App::$strings["Me"] = "Moi";
+App::$strings["Family"] = "Famille";
+App::$strings["Friends"] = "Amis";
+App::$strings["Acquaintances"] = "Connaissances";
+App::$strings["All"] = "Tous";
App::$strings["Approve this connection"] = "Autoriser ce contact";
App::$strings["Accept connection to allow communication"] = "Accepter le contact pour permettre la communication";
App::$strings["Set Affinity"] = "Définir le degré d'affinité";
App::$strings["Set Profile"] = "Définir le profil";
App::$strings["Set Affinity & Profile"] = "Définir le degré d'affinité et le profil";
App::$strings["none"] = "Aucun";
+App::$strings["Connection Default Permissions"] = "Autorisations par défaut des contacts";
+App::$strings["Connection: %s"] = "Contact&nbsp;: %s";
App::$strings["Apply these permissions automatically"] = "Appliquer ces permissions automatiquement";
+App::$strings["Connection requests will be approved without your interaction"] = "Les demandes de contact seront approuvées automatiquement";
App::$strings["This connection's primary address is"] = "L'adresse principale de ce contact est";
App::$strings["Available locations:"] = "Emplacements disponibles&nbsp;:";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts.";
+App::$strings["Connection Tools"] = "";
App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster votre proximité avec le contact";
+App::$strings["Rating"] = "Evaluation";
App::$strings["Slide to adjust your rating"] = "Faîtes glisser pour ajuster votre note";
App::$strings["Optionally explain your rating"] = "Explication facultative de votre évaluation";
App::$strings["Custom Filter"] = "Filtre personnalisé";
@@ -1139,7 +165,6 @@ App::$strings["Individual Permissions"] = "Permissions individuelles";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
App::$strings["Last update:"] = "Dernière mise à jour&nbsp;:";
-App::$strings["\$Projectname channel"] = "Canal \$Projectname";
App::$strings["Public access denied."] = "Accès public refusé.";
App::$strings["%d rating"] = array(
0 => "%d évaluation",
@@ -1148,14 +173,21 @@ App::$strings["%d rating"] = array(
App::$strings["Gender: "] = "Sexe/genre&nbsp;:";
App::$strings["Status: "] = "État&nbsp;:";
App::$strings["Homepage: "] = "Site web&nbsp;:";
+App::$strings["Age:"] = "Age&nbsp;:";
+App::$strings["Location:"] = "Emplacement&nbsp;:";
App::$strings["Description:"] = "Description&nbsp;:";
+App::$strings["Hometown:"] = "Ville natale&nbsp;:";
+App::$strings["About:"] = "À propos&nbsp;:";
+App::$strings["Connect"] = "Ajouter/Suivre";
App::$strings["Public Forum:"] = "Forum public&nbsp;:";
App::$strings["Keywords: "] = "Mots-clefs&nbsp;:";
App::$strings["Don't suggest"] = "Ne pas suggérer";
App::$strings["Common connections:"] = "Contacts en commun&nbsp;:";
App::$strings["Global Directory"] = "Annuaire global";
App::$strings["Local Directory"] = "Annuaire local";
+App::$strings["Find"] = "Trouver";
App::$strings["Finding:"] = "Recherche&nbsp;:";
+App::$strings["Channel Suggestions"] = "Canaux suggérés";
App::$strings["next page"] = "page suivante";
App::$strings["previous page"] = "page précédente";
App::$strings["Sort options"] = "Options de tri";
@@ -1164,46 +196,76 @@ App::$strings["Reverse Alphabetic"] = "Alphabétique inversé";
App::$strings["Newest to Oldest"] = "Du plus récent au moins récent";
App::$strings["Oldest to Newest"] = "Du moins récent du plus récent";
App::$strings["No entries (some entries may be hidden)."] = "Pas d'entrées (certaines peuvent être cachées).";
-App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
-App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès";
-App::$strings["Invalid message"] = "Message non valide";
-App::$strings["no results"] = "aucun résultat";
-App::$strings["Delivery report for %1\$s"] = "Rapport de distribution pour %1\$s";
-App::$strings["channel sync processed"] = "Synchro de canal effectuée";
-App::$strings["queued"] = "mis dans la file d'attente";
-App::$strings["posted"] = "publié";
-App::$strings["accepted for delivery"] = "accepté pour la distribution";
-App::$strings["updated"] = "mis à jour";
-App::$strings["update ignored"] = "mise à jour ignorée";
-App::$strings["permission denied"] = "permission refusée";
-App::$strings["recipient not found"] = "destinataire introuvable";
-App::$strings["mail recalled"] = "courriel rappelé";
-App::$strings["duplicate mail received"] = "courriel reçu en double";
-App::$strings["mail delivered"] = "courriel distribué";
+App::$strings["Item not found."] = "Élément introuvable";
App::$strings["Item not found"] = "Élément introuvable";
-App::$strings["Delete block?"] = "Supprimer le bloc&nbsp;?";
-App::$strings["Insert YouTube video"] = "Insérer une vidéo YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Insérer une vidéo Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Insérer un son Vorbis [.ogg]";
+App::$strings["Title (optional)"] = "Titre (facultatif)";
App::$strings["Edit Block"] = "Modifier le bloc";
-App::$strings["Delete layout?"] = "Supprimer la mise en page&nbsp;?";
-App::$strings["Layout Description (Optional)"] = "Description de la mise en page (facultatif)";
-App::$strings["Layout Name"] = "Nom de la mise en page";
-App::$strings["Edit Layout"] = "Modifier la mise en page";
+App::$strings["No channel."] = "Pas de canal.";
+App::$strings["Common connections"] = "Contacts en commun";
+App::$strings["No connections in common."] = "Pas de contacts en commun.";
+App::$strings["Blocked"] = "Bloqué(e)";
+App::$strings["Ignored"] = "Ignoré(e)";
+App::$strings["Hidden"] = "Caché";
+App::$strings["Archived"] = "Archivé";
+App::$strings["New"] = "Nouveautés";
+App::$strings["New Connections"] = "Nouveaux contacts";
+App::$strings["Show pending (new) connections"] = "Voir les (nouveaux) contacts en attente";
+App::$strings["All Connections"] = "Tous les contacts";
+App::$strings["Show all connections"] = "Voir tous les contacts";
+App::$strings["Only show blocked connections"] = "Ne montrer que les contacts bloqués";
+App::$strings["Only show ignored connections"] = "Ne montrer que les contacts ignorés";
+App::$strings["Only show archived connections"] = "Ne montrer que les contacts archivés";
+App::$strings["Only show hidden connections"] = "Ne montrer que les contacts cachés";
+App::$strings["Pending approval"] = "En attente de validation";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifier le contact";
+App::$strings["Delete connection"] = "Supprimer le contact";
+App::$strings["Channel address"] = "Adresse du canal";
+App::$strings["Network"] = "Réseau";
+App::$strings["Status"] = "État";
+App::$strings["Connected"] = "Connecté";
+App::$strings["Approve connection"] = "Valider le contact";
+App::$strings["Approve"] = "Approuver";
+App::$strings["Ignore connection"] = "Ignorer le contact";
+App::$strings["Recent activity"] = "Activité récente";
+App::$strings["Connections"] = "Contacts";
+App::$strings["Search"] = "Recherche";
+App::$strings["Search your connections"] = "Chercher parmi vos contacts";
+App::$strings["Connections search"] = "Chercher des contacts";
+App::$strings["Image uploaded but image cropping failed."] = "L'image a été téléversée, mais le recadrage a échoué.";
+App::$strings["Cover Photos"] = "Photos de couverture";
+App::$strings["Image resize failed."] = "Le redimensionnement de l'image a échoué.";
+App::$strings["Unable to process image"] = "Impossible de traiter l'image";
+App::$strings["Image upload failed."] = "Le téléversement de l'image a échoué.";
+App::$strings["Unable to process image."] = "Impossible de traîter l'image.";
+App::$strings["female"] = "femme";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s a mis à jour son %2\$s";
+App::$strings["male"] = "homme";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s a mis à jour son %2\$s";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s a mis a jour sa %2\$s";
+App::$strings["cover photo"] = "Photo principale";
+App::$strings["Photo not available."] = "Photo inaccessible.";
+App::$strings["Upload File:"] = "Téléverser fichier&nbsp;:";
+App::$strings["Select a profile:"] = "Choisir un profil&nbsp;:";
+App::$strings["Upload Cover Photo"] = "Téléverser une photo de couverture";
+App::$strings["or"] = "ou";
+App::$strings["skip this step"] = "passer cette étape";
+App::$strings["select a photo from your photo albums"] = "choisir une photo dans vos albums";
+App::$strings["Crop Image"] = "Recadrer l'image";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Merci d'ajuster le cadre pour une visualisation optimale.";
+App::$strings["Done Editing"] = "J'ai terminé";
App::$strings["Item is not editable"] = "Elément non modifiable";
-App::$strings["Delete item?"] = "Supprimer l'élément&nbsp;?";
App::$strings["Edit post"] = "Modifier la publication";
-App::$strings["Delete webpage?"] = "Supprimer la page web&nbsp;?";
-App::$strings["Page link title"] = "Titre du lien vers la page";
-App::$strings["Edit Webpage"] = "Modifier la page web";
App::$strings["Calendar entries imported."] = "Entrées du calendrier importées.";
App::$strings["No calendar entries found."] = "Aucune entrée du calendrier trouvée.";
App::$strings["Event can not end before it has started."] = "La fin de l'événement ne peut être antérieure à son début.";
App::$strings["Unable to generate preview."] = "Impossible de générer l'aperçu.";
App::$strings["Event title and start time are required."] = "Un titre et une date de début sont requises pour l'événement.";
App::$strings["Event not found."] = "Événement introuvable.";
+App::$strings["event"] = "événement";
App::$strings["Edit event title"] = "Modifier le titre de l'événement";
App::$strings["Event title"] = "Titre de l'événement";
+App::$strings["Required"] = "Requis";
App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)";
App::$strings["Edit Category"] = "Modifier la catégorie";
App::$strings["Category"] = "Catégorie";
@@ -1215,41 +277,50 @@ App::$strings["Finish date and time"] = "Date et heure de fin";
App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde.";
App::$strings["Edit Description"] = "Modifier la description";
+App::$strings["Description"] = "Description";
App::$strings["Edit Location"] = "Modifier l'emplacement";
+App::$strings["Location"] = "Emplacement";
App::$strings["Share this event"] = "Partager cet événement";
+App::$strings["Preview"] = "Aperçu";
+App::$strings["Permission settings"] = "Gérer les autorisations";
App::$strings["Advanced Options"] = "Options avancées";
-App::$strings["l, F j"] = "l, F j";
App::$strings["Edit event"] = "Modifier l'événement";
App::$strings["Delete event"] = "Supprimer l'événement";
App::$strings["calendar"] = "calendrier";
-App::$strings["Edit Event"] = "Modifier l'événement";
-App::$strings["Create Event"] = "Créer un événement";
-App::$strings["Previous"] = "Précédent";
-App::$strings["Next"] = "Suivant";
-App::$strings["Today"] = "Aujourd'hui";
App::$strings["Event removed"] = "Événement supprimé";
App::$strings["Failed to remove event"] = "Impossible de supprimer l'événement";
-App::$strings["Share content from Firefox to \$Projectname"] = "Partager du contenu depuis Firefox avec \$Projectname";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Activer le connecteur \$Projectname pour Firefox";
+App::$strings["Photos"] = "Photos";
+App::$strings["Cancel"] = "Annuler";
+App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
+App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès";
+App::$strings["Save to Folder:"] = "Classer dans le dossier&nbsp;:";
App::$strings["- select -"] = "- choisir -";
-App::$strings["Permission Denied."] = "Permission refusée.";
-App::$strings["File not found."] = "Fichier introuvable.";
-App::$strings["Edit file permissions"] = "Modifier les autorisations d'accès au fichier";
-App::$strings["Set/edit permissions"] = "Définir/modifier les autorisations";
-App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires";
-App::$strings["Return to file list"] = "Retourner à la liste des fichiers";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web";
-App::$strings["Share this file"] = "Partager ce fichier";
-App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier";
-App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier";
+App::$strings["Save"] = "Enregistrer";
+App::$strings["Invalid message"] = "Message non valide";
+App::$strings["no results"] = "aucun résultat";
+App::$strings["Delivery report for %1\$s"] = "Rapport de distribution pour %1\$s";
+App::$strings["channel sync processed"] = "Synchro de canal effectuée";
+App::$strings["queued"] = "mis dans la file d'attente";
+App::$strings["posted"] = "publié";
+App::$strings["accepted for delivery"] = "accepté pour la distribution";
+App::$strings["updated"] = "mis à jour";
+App::$strings["update ignored"] = "mise à jour ignorée";
+App::$strings["permission denied"] = "permission refusée";
+App::$strings["recipient not found"] = "destinataire introuvable";
+App::$strings["mail recalled"] = "courriel rappelé";
+App::$strings["duplicate mail received"] = "courriel reçu en double";
+App::$strings["mail delivered"] = "courriel distribué";
+App::$strings["Layout Name"] = "Nom de la mise en page";
+App::$strings["Layout Description (Optional)"] = "Description de la mise en page (facultatif)";
+App::$strings["Edit Layout"] = "Modifier la mise en page";
+App::$strings["Page link"] = "";
+App::$strings["Edit Webpage"] = "Modifier la page web";
App::$strings["Channel added."] = "Canal ajouté.";
-App::$strings["Contact not found."] = "Contact introuvable.";
-App::$strings["Friend suggestion sent."] = "Suggestion d'amitié envoyée.";
-App::$strings["Suggest Friends"] = "Suggérer des amis";
-App::$strings["Suggest a friend for %s"] = "Suggérer un amis à %s";
+App::$strings["network"] = "réseau";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "Groupe d'accès créé.";
App::$strings["Could not create privacy group."] = "Impossible de créer le groupe d'accès.";
+App::$strings["Privacy group not found."] = "Groupe d'accès introuvable.";
App::$strings["Privacy group updated."] = "Groupe d'accès mis à jour.";
App::$strings["Create a group of channels."] = "Créer un groupe de canaux.";
App::$strings["Privacy group name: "] = "Nom du groupe d'accès&nbsp;:";
@@ -1260,37 +331,37 @@ App::$strings["Privacy group editor"] = "Editeur de groupe d'accès.";
App::$strings["Members"] = "Membres";
App::$strings["All Connected Channels"] = "Tous les canaux connectés";
App::$strings["Click on a channel to add or remove."] = "Cliquer sur un canal pour l'ajouter ou le supprimer";
+App::$strings["Share content from Firefox to \$Projectname"] = "Partager du contenu depuis Firefox avec \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Activer le connecteur \$Projectname pour Firefox";
+App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter";
+App::$strings["Return to your app and insert this Securty Code:"] = "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:";
+App::$strings["Please login to continue."] = "Merci de vous identifier pour continuer.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?";
App::$strings["Documentation Search"] = "Chercher dans la documentation";
App::$strings["Help:"] = "Aide&nbsp;:";
+App::$strings["Help"] = "Aide";
App::$strings["\$Projectname Documentation"] = "Documentation \$Projectname";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "Bienvenue sur %s";
-App::$strings["First Name"] = "Prénom";
-App::$strings["Last Name"] = "Nom de famille";
-App::$strings["Nickname"] = "Surnom";
-App::$strings["Full Name"] = "Nom complet";
-App::$strings["Profile Photo 16px"] = "Photo de profil 16px";
-App::$strings["Profile Photo 32px"] = "Photo de profil 32px";
-App::$strings["Profile Photo 48px"] = "Photo de profil 48px";
-App::$strings["Profile Photo 64px"] = "Photo de profil 64px";
-App::$strings["Profile Photo 80px"] = "Photo de profil 80px";
-App::$strings["Profile Photo 128px"] = "Photo de profil 128px";
-App::$strings["Timezone"] = "Fuseau horaire";
-App::$strings["Homepage URL"] = "URL de mon site Internet&nbsp;:";
-App::$strings["Birth Year"] = "Année de naissance";
-App::$strings["Birth Month"] = "Mois de naissance";
-App::$strings["Birth Day"] = "Jour de naissance";
-App::$strings["Birthdate"] = "Date de naissance";
-App::$strings["Gender"] = "Sexe";
-App::$strings["%s element installed"] = "Elément %s installé";
-App::$strings["%s element installation failed"] = "L'installation de l'élément %s a échoué";
+App::$strings["Permission Denied."] = "Permission refusée.";
+App::$strings["File not found."] = "Fichier introuvable.";
+App::$strings["Edit file permissions"] = "Modifier les autorisations d'accès au fichier";
+App::$strings["Set/edit permissions"] = "Définir/modifier les autorisations";
+App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires";
+App::$strings["Return to file list"] = "Retourner à la liste des fichiers";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web";
+App::$strings["Share this file"] = "Partager ce fichier";
+App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier";
+App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier";
+App::$strings["Apps"] = "Applications";
+App::$strings["Item not available."] = "Élément indisponible.";
App::$strings["Your service plan only allows %d channels."] = "Votre forfait n'autorise que %d canaux.";
App::$strings["Nothing to import."] = "Rien à importer.";
App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur";
App::$strings["Imported file is empty."] = "Le fichier importé est vide.";
App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attention&nbsp;: les versions de bases de données diffèrent de %1\$d mises à jour.";
-App::$strings["Server platform is not compatible. Operation not permitted."] = "";
+App::$strings["Cloned channel not found. Import failed."] = "Canal cloné non trouvé. Echec de l'import.";
App::$strings["No channel. Import failed."] = "Pas de canal. Echec de l'import.";
+App::$strings["Import completed."] = "L'import est terminé.";
App::$strings["You must be logged in to use this feature."] = "Vous devez vous connecter pour utiliser cette fonctionnalité.";
App::$strings["Import Channel"] = "Importation de canal";
App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import.";
@@ -1303,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Faire de ce hub mon emplacement primaire";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin.";
-App::$strings["Import completed"] = "L'import est terminé.";
-App::$strings["Import Items"] = "Importer";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export.";
-App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée.";
-App::$strings["%s : Not a valid email address."] = "%s&nbsp;: adresse courriel invalide.";
-App::$strings["Please join us on \$Projectname"] = "Rejoignez-nous sur \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site.";
-App::$strings["%s : Message delivery failed."] = "%s&nbsp;: Échec de distribution du message.";
-App::$strings["%d message sent."] = array(
- 0 => "%d message envoyé.",
- 1 => "%d messages envoyés.",
-);
-App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation";
-App::$strings["Send invitations"] = "Envoyer des invitations";
-App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne&nbsp;:";
-App::$strings["Your message:"] = "Votre message&nbsp;:";
-App::$strings["Please join my community on \$Projectname."] = "Rejoignez ma communauté sur \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveur \$Projectname (ils sont tous inter-connectés)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal \$Projectname dans la barre de recherche du site.";
-App::$strings["or visit"] = "";
-App::$strings["3. Click [Connect]"] = "3. Cliquez sur [Ajouter]";
App::$strings["Unable to locate original post."] = "Impossible de localiser la publication initiale.";
App::$strings["Empty post discarded."] = "Publication vide annulée.";
App::$strings["Executable content type not permitted to this channel."] = "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal.";
@@ -1333,16 +382,52 @@ App::$strings["System error. Post not saved."] = "Erreur système. Publication n
App::$strings["Unable to obtain post information from database."] = "Impossible d'obtenir les informations de publication depuis la base de données.";
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racines\".";
App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web.";
+App::$strings["Layouts"] = "Mises-en-page";
App::$strings["Comanche page description language help"] = "Aide sur le langage de description de page Comanche";
App::$strings["Layout Description"] = "Description de la mise en page";
App::$strings["Download PDL file"] = "Télécharger le fichier PDL";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Bienvenue sur %s";
+App::$strings["First Name"] = "Prénom";
+App::$strings["Last Name"] = "Nom de famille";
+App::$strings["Nickname"] = "Surnom";
+App::$strings["Full Name"] = "Nom complet";
+App::$strings["Email"] = "Courriel";
+App::$strings["Profile Photo"] = "Photo du Profil";
+App::$strings["Profile Photo 16px"] = "Photo de profil 16px";
+App::$strings["Profile Photo 32px"] = "Photo de profil 32px";
+App::$strings["Profile Photo 48px"] = "Photo de profil 48px";
+App::$strings["Profile Photo 64px"] = "Photo de profil 64px";
+App::$strings["Profile Photo 80px"] = "Photo de profil 80px";
+App::$strings["Profile Photo 128px"] = "Photo de profil 128px";
+App::$strings["Timezone"] = "Fuseau horaire";
+App::$strings["Homepage URL"] = "URL de mon site Internet&nbsp;:";
+App::$strings["Language"] = "Langue";
+App::$strings["Birth Year"] = "Année de naissance";
+App::$strings["Birth Month"] = "Mois de naissance";
+App::$strings["Birth Day"] = "Jour de naissance";
+App::$strings["Birthdate"] = "Date de naissance";
+App::$strings["Gender"] = "Sexe";
+App::$strings["Male"] = "Homme";
+App::$strings["Female"] = "Femme";
+App::$strings["webpage"] = "pages web";
+App::$strings["block"] = "bloquer";
+App::$strings["layout"] = "mise en page";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "Elément %s installé";
+App::$strings["%s element installation failed"] = "L'installation de l'élément %s a échoué";
App::$strings["Like/Dislike"] = "Aime/n'aime pas";
App::$strings["This action is restricted to members."] = "Cette action est réservée aux membres.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de \$Projectname </a> ou <a href=\"register\">inscrivez vous comme nouveau membre de \$Projectname </a> pour continuer.";
App::$strings["Invalid request."] = "Requête invalide.";
+App::$strings["channel"] = "canal";
App::$strings["thing"] = "chose";
App::$strings["Channel unavailable."] = "Canal indisponible.";
App::$strings["Previous action reversed."] = "Action précédente annulée.";
+App::$strings["photo"] = "photo";
+App::$strings["status"] = "état";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s n'aime pas %3\$s de %2\$s";
App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s approuve %3\$s de %2\$s";
App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s n'est pas d'accord avec %3\$s de %2\$s";
App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s s'abstient de toute décision sur le %3\$s de %2\$s";
@@ -1351,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s ne participe pas
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s participe peut-être à %3\$s de %2\$s";
App::$strings["Action completed."] = "Action terminée.";
App::$strings["Thank you."] = "Merci.";
+App::$strings["Import completed"] = "L'import est terminé.";
+App::$strings["Import Items"] = "Importer";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export.";
+App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée.";
+App::$strings["%s : Not a valid email address."] = "%s&nbsp;: adresse courriel invalide.";
+App::$strings["Please join us on \$Projectname"] = "Rejoignez-nous sur \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site.";
+App::$strings["%s : Message delivery failed."] = "%s&nbsp;: Échec de distribution du message.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d message envoyé.",
+ 1 => "%d messages envoyés.",
+);
+App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation";
+App::$strings["Send invitations"] = "Envoyer des invitations";
+App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne&nbsp;:";
+App::$strings["Your message:"] = "Votre message&nbsp;:";
+App::$strings["Please join my community on \$Projectname."] = "Rejoignez ma communauté sur \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Vous devrez fournir le code suivant&nbsp;:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveur \$Projectname (ils sont tous inter-connectés)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal \$Projectname dans la barre de recherche du site.";
+App::$strings["or visit"] = "ou rendez-vous sur";
+App::$strings["3. Click [Connect]"] = "3. Cliquez sur [Ajouter]";
App::$strings["Remote privacy information not available."] = "Les informations distantes de confidentialité ne sont pas disponibles.";
App::$strings["Visible to:"] = "Visible par&nbsp;:";
App::$strings["Location not found."] = "Emplacement introuvable.";
@@ -1359,16 +466,13 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Synchronisation des emplacements";
App::$strings["No locations found."] = "Emplacement(s) introuvable.";
App::$strings["Manage Channel Locations"] = "Gérer les emplacements des canaux";
-App::$strings["Location (address)"] = "Emplacement (adresse)";
-App::$strings["Primary Location"] = "Emplacement primaire";
-App::$strings["Drop location"] = "Abandonner l'emplacement";
-App::$strings["Sync now"] = "Synchroniser maintenant";
+App::$strings["Address"] = "Adresse";
+App::$strings["Primary"] = "";
+App::$strings["Drop"] = "Supprimer";
+App::$strings["Sync Now"] = "";
App::$strings["Please wait several minutes between consecutive operations."] = "Merci d'attendre plusieurs minutes entre opérations successives.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quand c'est possible, abandonnez un emplacement en vous connectant sur le site/hub et en supprimant votre canal.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif.";
-App::$strings["sent you a private message"] = "vous a envoyé un message privé";
-App::$strings["added your channel"] = "a ajouté votre canal";
-App::$strings["posted an event"] = "a publié un événement";
App::$strings["Hub not found."] = "Hub introuvable.";
App::$strings["Unable to lookup recipient."] = "Impossible de localiser le destinataire.";
App::$strings["Unable to communicate with requested channel."] = "Impossible de communiquer avec le canal demandé.";
@@ -1377,11 +481,14 @@ App::$strings["Selected channel has private message restrictions. Send failed."]
App::$strings["Messages"] = "Messages";
App::$strings["Message recalled."] = "Message rappelé.";
App::$strings["Conversation removed."] = "Conversation supprimée.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire le YYYY-MM-DD à HH:MM";
App::$strings["Requested channel is not in this network"] = "Le canal demandé n'est pas sur ce réseau";
App::$strings["Send Private Message"] = "Envoyer un message privé";
App::$strings["To:"] = "À&nbsp;:";
App::$strings["Subject:"] = "Objet&nbsp;:";
+App::$strings["Attach file"] = "Joindre un fichier";
App::$strings["Send"] = "Envoyer";
+App::$strings["Set expiration date"] = "Définir la date d'expiration";
App::$strings["Delete message"] = "Supprimer le message";
App::$strings["Delivery report"] = "Rapport de distribution";
App::$strings["Recall message"] = "Rappeler le message";
@@ -1392,17 +499,30 @@ App::$strings["Send Reply"] = "Envoyer la réponse";
App::$strings["Your message for %s (%s):"] = "Votre message pour %s (%s)&nbsp;:";
App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Vous avez créé %1$.0f des %2$.0f canaux autorisés.";
App::$strings["Create a new channel"] = "Créer un nouveau canal";
+App::$strings["Channel Manager"] = "Gérer les canaux";
App::$strings["Current Channel"] = "Canal actif";
App::$strings["Switch to one of your channels by selecting it."] = "Pour changer de canal, sélectionnez-en un";
App::$strings["Default Channel"] = "Canal par défaut";
App::$strings["Make Default"] = "Définir comme défaut";
App::$strings["%d new messages"] = "%d nouveaux messages";
App::$strings["%d new introductions"] = "%d nouvelles présentations";
-App::$strings["Delegated Channels"] = "Canaux délégués";
-App::$strings["Profile Match"] = "Profils similaires";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut.";
-App::$strings["is interested in:"] = "s'intéresse à&nbsp;:";
-App::$strings["No matches"] = "Pas de correspondance";
+App::$strings["Delegated Channel"] = "";
+App::$strings["No valid account found."] = "Aucun compte valide trouvé.";
+App::$strings["Password reset request issued. Check your email."] = "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels.";
+App::$strings["Site Member (%s)"] = "Membre du site (%s)";
+App::$strings["Password reset requested at %s"] = "Demande de réinitialisation du mot de passe sur %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué.";
+App::$strings["Password Reset"] = "Réinitialiser le mot de passe";
+App::$strings["Your password has been reset as requested."] = "Votre mot de passe a bien été réinitialisé.";
+App::$strings["Your new password is"] = "Votre nouveau mot de passe est";
+App::$strings["Save or copy your new password - and then"] = "Enregistrez ou copiez votre nouveau mot de passe, puis";
+App::$strings["click here to login"] = "cliquez ici pour vous connecter";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté.";
+App::$strings["Your password has changed at %s"] = "Votre mot de passe de %s a été changé";
+App::$strings["Forgot your Password?"] = "Mot de passe oublié&nbsp;?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions.";
+App::$strings["Email Address"] = "Adresse de courriel";
+App::$strings["Reset"] = "Réinitialiser";
App::$strings["Unable to update menu."] = "Impossible de mettre le menu à jour.";
App::$strings["Unable to create menu."] = "Impossible de créer le menu.";
App::$strings["Menu Name"] = "Nom du menu";
@@ -1412,7 +532,7 @@ App::$strings["Visible on webpage - leave empty for no title"] = "Visible pour l
App::$strings["Allow Bookmarks"] = "Autoriser l'usage de favoris";
App::$strings["Menu may be used to store saved bookmarks"] = "Le menu pourra être utilisé pour stocker des favoris";
App::$strings["Submit and proceed"] = "Valider et continuer";
-App::$strings["Drop"] = "Supprimer";
+App::$strings["Menus"] = "Menus";
App::$strings["Bookmarks allowed"] = "Favoris autorisés";
App::$strings["Delete this menu"] = "Supprimer ce menu";
App::$strings["Edit menu contents"] = "Modifier le contenu du menu";
@@ -1427,6 +547,22 @@ App::$strings["Menu title"] = "Titre du menu";
App::$strings["Menu title as seen by others"] = "Titre du menu tel que vu par les visiteurs";
App::$strings["Allow bookmarks"] = "Autoriser l'usage de favoris";
App::$strings["Not found."] = "Introuvable.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s";
+App::$strings["Mood"] = "Humeur";
+App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
+App::$strings["Profile Match"] = "Profils similaires";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut.";
+App::$strings["is interested in:"] = "s'intéresse à&nbsp;:";
+App::$strings["No matches"] = "Pas de correspondance";
+App::$strings["No such group"] = "Groupe introuvable";
+App::$strings["No such channel"] = "Canal introuvable";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Résultats de recherche pour&nbsp;:";
+App::$strings["Privacy group is empty"] = "Groupe d'accès vide";
+App::$strings["Privacy group: "] = "Groupe d'accès&nbsp;:";
+App::$strings["Invalid connection."] = "Contact non valide.";
+App::$strings["No more system notifications."] = "Pas d'autre notification du système.";
+App::$strings["System Notifications"] = "Notifications du système";
App::$strings["Unable to create element."] = "Impossible de créer l'entrée.";
App::$strings["Unable to update menu element."] = "Impossible de mettre à jour l'entrée de menu.";
App::$strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu.";
@@ -1456,43 +592,24 @@ App::$strings["Menu item deleted."] = "Entrée de menu supprimée.";
App::$strings["Menu item could not be deleted."] = "Impossible de supprimer l'entrée de menu.";
App::$strings["Edit Menu Element"] = "Modifier l'entrée de menu";
App::$strings["Link text"] = "Texte du lien";
-App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
-App::$strings["No such group"] = "Groupe introuvable";
-App::$strings["No such channel"] = "Canal introuvable";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Résultats de recherche pour&nbsp;:";
-App::$strings["Privacy group is empty"] = "Groupe d'accès vide";
-App::$strings["Privacy group: "] = "Groupe d'accès&nbsp;:";
-App::$strings["Invalid connection."] = "Contact non valide.";
-App::$strings["Add a Channel"] = "Ajouter un canal";
-App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal est un ensemble de pages web reliées entre elles, sous votre contrôle. Il peut contenir des profils de réseau social, des blogs, des groupes de conversation, des forums, des pages de célébrités, et bien plus encore. Vous pouvez créer autant de canaux que votre administrateur vous y autorise.";
-App::$strings["Channel Name"] = "Nom du canal";
-App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exemples&nbsp;: \"Bernard Martin\", \"Lisa et ses chevaux\", \"Football\", \"Groupe des amateurs de tir à l'arc\"";
+App::$strings["Name or caption"] = "Nom ou libellé";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Exemples&nbsp;: \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\"";
App::$strings["Choose a short nickname"] = "Choisissez un alias";
-App::$strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Cet alias sera utilisé pour créer une adresse de canal, facile à retenir - un peu comme une adresse de courriel - que vous pourrez partager avec d'autres.";
-App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Ou <a href=\"import\">importez un canal existant</a> d'un autre endroit";
-App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Veuillez choisir un type de canal (par exemple \"réseau social\" ou \"forum communautaire\") et un niveau de confidentialité afin que nous puissions choisir les meilleures autorisations pour vous";
-App::$strings["Channel Type"] = "Type de canal";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s";
+App::$strings["Channel role and privacy"] = "Rôle et confidentialité du canal";
+App::$strings["Select a channel role with your privacy requirements."] = "Sélectionner un rôle de canal adapté à vos besoins de confidentialité.";
App::$strings["Read more about roles"] = "En savoir plus sur les rôles";
+App::$strings["Create Channel"] = "Créer le canal";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur.";
App::$strings["Invalid request identifier."] = "Identifiant de requête invalide.";
App::$strings["Discard"] = "Annuler";
-App::$strings["No more system notifications."] = "Pas d'autre notification du système.";
-App::$strings["System Notifications"] = "Notifications du système";
-App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub.";
-App::$strings["Post successful."] = "Publication réussie.";
-App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Pas d'ID retourné.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées.";
-App::$strings["Configuration Editor"] = "Editeur de configuration";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité.";
-App::$strings["Layout updated."] = "Mise en page mise à jour.";
-App::$strings["Edit System Page Description"] = "Modifier la description de la page du système";
-App::$strings["Layout not found."] = "Mise en page introuvable.";
-App::$strings["Module Name:"] = "Nom du module&nbsp;:";
-App::$strings["Layout Help"] = "Aide à la mise en page";
+App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues";
App::$strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page.";
+App::$strings["Profile Photos"] = "Photos du profil";
App::$strings["Album not found."] = "Album introuvable.";
App::$strings["Delete Album"] = "Supprimer l'album";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "";
App::$strings["Delete Photo"] = "Supprimer la photo";
App::$strings["No photos selected"] = "Aucune photo selectionnée";
App::$strings["Access to this item is restricted."] = "L'accès à l'élément est restreint.";
@@ -1508,9 +625,12 @@ App::$strings["Album name could not be decoded"] = "Le nom de l'Album n'a pu êt
App::$strings["Contact Photos"] = "Photos de contact";
App::$strings["Show Newest First"] = "Les plus récent(e)s en premier";
App::$strings["Show Oldest First"] = "Les moins récent(e)s en premier";
+App::$strings["View Photo"] = "Voir la photo";
+App::$strings["Edit Album"] = "Modifier l'album";
App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint.";
App::$strings["Photo not available"] = "Photo non disponible";
App::$strings["Use as profile photo"] = "Utiliser comme photo du profil";
+App::$strings["Use as cover photo"] = "";
App::$strings["Private Photo"] = "Photo privée";
App::$strings["View Full Size"] = "Voir en taille réelle";
App::$strings["Remove"] = "Retirer";
@@ -1523,10 +643,152 @@ App::$strings["Caption"] = "Titre/légende";
App::$strings["Add a Tag"] = "Ajouter une étiquette";
App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon";
App::$strings["Flag as adult in album view"] = "Marquer comme \"adulte\" dans l'affichage de l'album";
+App::$strings["I like this (toggle)"] = "J'aime (oui/non)";
+App::$strings["I don't like this (toggle)"] = "Je n'aime pas (oui/non)";
+App::$strings["Please wait"] = "Merci de patienter";
+App::$strings["This is you"] = "C'est vous";
+App::$strings["Comment"] = "Commenter";
+App::$strings["__ctx:title__ Likes"] = "Aime";
+App::$strings["__ctx:title__ Dislikes"] = "N'aime pas";
+App::$strings["__ctx:title__ Agree"] = "D'accord";
+App::$strings["__ctx:title__ Disagree"] = "Pas d'accord";
+App::$strings["__ctx:title__ Abstain"] = "Abstention";
+App::$strings["__ctx:title__ Attending"] = "Participations";
+App::$strings["__ctx:title__ Not attending"] = "Non-participations";
+App::$strings["__ctx:title__ Might attend"] = "Participation possible";
+App::$strings["View all"] = "Voir tout";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Aime",
+ 1 => "Aime",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "N'aime pas",
+ 1 => "N'aime pas",
+);
+App::$strings["Photo Tools"] = "";
App::$strings["In This Photo:"] = "Dans cette photo&nbsp;:";
App::$strings["Map"] = "Carte";
+App::$strings["__ctx:noun__ Likes"] = "Aime";
+App::$strings["__ctx:noun__ Dislikes"] = "N'aime pas";
+App::$strings["Close"] = "Fermer";
App::$strings["View Album"] = "Voir l'album";
App::$strings["Recent Photos"] = "Photos récentes";
+App::$strings["sent you a private message"] = "vous a envoyé un message privé";
+App::$strings["added your channel"] = "a ajouté votre canal";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[aujourd'hui]";
+App::$strings["posted an event"] = "a publié un événement";
+App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub.";
+App::$strings["Post successful."] = "Publication réussie.";
+App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Pas d'ID retourné.";
+App::$strings["Login failed."] = "Échec de la connexion.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées.";
+App::$strings["Configuration Editor"] = "Editeur de configuration";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité.";
+App::$strings["Layout updated."] = "Mise en page mise à jour.";
+App::$strings["Edit System Page Description"] = "Modifier la description de la page du système";
+App::$strings["Layout not found."] = "Mise en page introuvable.";
+App::$strings["Module Name:"] = "Nom du module&nbsp;:";
+App::$strings["Layout Help"] = "Aide à la mise en page";
+App::$strings["Poke"] = "Tapoter";
+App::$strings["Poke somebody"] = "Taquiner quelqu'un";
+App::$strings["Poke/Prod"] = "Tapoter/Encourager";
+App::$strings["Poke, prod or do other things to somebody"] = "Taquiner, pousser ou faire autre chose à quelqu'un";
+App::$strings["Recipient"] = "Destinataire";
+App::$strings["Choose what you wish to do to recipient"] = "Choisir ce que vous voulez faire au destinataire";
+App::$strings["Make this post private"] = "Rendre cette publication privée";
+App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée&nbsp;: %1\$s";
+App::$strings["Profile not found."] = "Profil introuvable.";
+App::$strings["Profile deleted."] = "Profil supprimé.";
+App::$strings["Profile-"] = "Profil-";
+App::$strings["New profile created."] = "Nouveau profil créé.";
+App::$strings["Profile unavailable to clone."] = "Profil impossible à cloner.";
+App::$strings["Profile unavailable to export."] = "Impossible d'exporter le profil.";
+App::$strings["Profile Name is required."] = "Le nom du profil est obligatoire.";
+App::$strings["Marital Status"] = "Statut marital";
+App::$strings["Romantic Partner"] = "Partenaire amoureux";
+App::$strings["Likes"] = "Aime";
+App::$strings["Dislikes"] = "N'aime pas";
+App::$strings["Work/Employment"] = "Travail/Occupation";
+App::$strings["Religion"] = "Religion/Croyance";
+App::$strings["Political Views"] = "Opinions politiques";
+App::$strings["Sexual Preference"] = "Préférences sexuelle";
+App::$strings["Homepage"] = "Site Internet";
+App::$strings["Interests"] = "Centres d'intérêt";
+App::$strings["Profile updated."] = "Profil mis à jour.";
+App::$strings["Hide your connections list from viewers of this profile"] = "";
+App::$strings["Edit Profile Details"] = "Modifier les détails du profil";
+App::$strings["View this profile"] = "Voir ce profil";
+App::$strings["Edit visibility"] = "Changer la visibilité";
+App::$strings["Profile Tools"] = "";
+App::$strings["Change cover photo"] = "";
+App::$strings["Change profile photo"] = "Changer la photo du profil";
+App::$strings["Create a new profile using these settings"] = "Créer un nouveau profil avec ces paramètres";
+App::$strings["Clone this profile"] = "Cloner ce profil";
+App::$strings["Delete this profile"] = "Supprimer ce profil";
+App::$strings["Add profile things"] = "Ajouter des éléments de profil";
+App::$strings["Personal"] = "Me concernant";
+App::$strings["Relation"] = "";
+App::$strings["Miscellaneous"] = "Divers";
+App::$strings["Import profile from file"] = "Importer le profil à partir d'un fichier";
+App::$strings["Export profile to file"] = "Exporter le profil vers un fichier.";
+App::$strings["Your gender"] = "";
+App::$strings["Marital status"] = "";
+App::$strings["Sexual preference"] = "";
+App::$strings["Profile name"] = "";
+App::$strings["This is your default profile."] = "Ceci est votre profil par défaut.";
+App::$strings["Your full name"] = "";
+App::$strings["Title/Description"] = "Titre/description";
+App::$strings["Street address"] = "";
+App::$strings["Locality/City"] = "Ville";
+App::$strings["Region/State"] = "Région";
+App::$strings["Postal/Zip code"] = "";
+App::$strings["Country"] = "Pays";
+App::$strings["Who (if applicable)"] = "Qui (si applicable)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Exemples&nbsp;: marie123, Marie Deschamps, marie@exemple.com";
+App::$strings["Since (date)"] = "";
+App::$strings["Tell us about yourself"] = "";
+App::$strings["Hometown"] = "Ville de naissance";
+App::$strings["Political views"] = "";
+App::$strings["Religious views"] = "";
+App::$strings["Keywords used in directory listings"] = "";
+App::$strings["Example: fishing photography software"] = "Exemple&nbsp;: escrime photographie modélisme";
+App::$strings["Musical interests"] = "Goûts musicaux";
+App::$strings["Books, literature"] = "Livres, littérature";
+App::$strings["Television"] = "Télévision";
+App::$strings["Film/Dance/Culture/Entertainment"] = "";
+App::$strings["Hobbies/Interests"] = "Loisirs/Centres d'intêret";
+App::$strings["Love/Romance"] = "";
+App::$strings["School/Education"] = "";
+App::$strings["Contact information and social networks"] = "";
+App::$strings["My other channels"] = "Mes autres canaux";
+App::$strings["Profile Image"] = "Image du profil";
+App::$strings["Edit Profiles"] = "Modifier les profils";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement.";
+App::$strings["Upload Profile Photo"] = "Téléverser une photo de profil";
+App::$strings["Invalid profile identifier."] = "Identifiant de profil invalide.";
+App::$strings["Profile Visibility Editor"] = "Éditeur de visibilité de profil";
+App::$strings["Profile"] = "Profil";
+App::$strings["Click on a contact to add or remove."] = "Cliquer sur un contact pour l'ajouter ou le retirer.";
+App::$strings["Visible To"] = "Visible par";
+App::$strings["Public Hubs"] = "Instances publiques";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Les sites listés permettent l'enregistrement public de comptes pour le réseau \$Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires.";
+App::$strings["Hub URL"] = "URL du site";
+App::$strings["Access Type"] = "Type d'accès";
+App::$strings["Registration Policy"] = "Politique d'inscription";
+App::$strings["Stats"] = "";
+App::$strings["Software"] = "";
+App::$strings["Ratings"] = "Evaluations";
+App::$strings["Rate"] = "Evaluer";
+App::$strings["Website:"] = "Site web&nbsp;:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)";
+App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)";
+App::$strings["No ratings"] = "Pas de note";
+App::$strings["Rating: "] = "Evaluation&nbsp:";
+App::$strings["Website: "] = "Site web&nbsp;:";
+App::$strings["Description: "] = "Description&nbsp;:";
App::$strings["Theme settings updated."] = "Paramètres du thème mis à jour.";
App::$strings["# Accounts"] = "# Comptes";
App::$strings["# blocked accounts"] = "# comptes bloqués";
@@ -1536,6 +798,7 @@ App::$strings["# Channels"] = "# Canaux";
App::$strings["# primary"] = "# primaire";
App::$strings["# clones"] = "# clones";
App::$strings["Message queues"] = "File des messages";
+App::$strings["Your software should be updated"] = "";
App::$strings["Administration"] = "Administration";
App::$strings["Summary"] = "Résumé";
App::$strings["Registered accounts"] = "Comptes enregistrés";
@@ -1543,7 +806,10 @@ App::$strings["Pending registrations"] = "Inscriptions en attente";
App::$strings["Registered channels"] = "Canaux enregistrés";
App::$strings["Active plugins"] = "Greffons actifs";
App::$strings["Version"] = "Version";
+App::$strings["Repository version (master)"] = "";
+App::$strings["Repository version (dev)"] = "";
App::$strings["Site settings updated."] = "Paramètres du site sauvegardés.";
+App::$strings["Default"] = "Défaut";
App::$strings["mobile"] = "mobile";
App::$strings["experimental"] = "expérimental";
App::$strings["unsupported"] = "non maintenu";
@@ -1552,9 +818,11 @@ App::$strings["My site is not a public server"] = "Mon site n'est pas un serveur
App::$strings["My site has paid access only"] = "Mon site est à accès payant uniquement";
App::$strings["My site has free access only"] = "Mon site est gratuit uniquement";
App::$strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des améliorations payantes facultatives";
+App::$strings["Site"] = "Site";
App::$strings["Registration"] = "Inscription";
App::$strings["File upload"] = "Envoi de fichier";
App::$strings["Policies"] = "Stratégies";
+App::$strings["Advanced"] = "Avancé";
App::$strings["Site name"] = "Nom du site";
App::$strings["Banner/Logo"] = "Bannière/logo";
App::$strings["Administrator Information"] = "Informations de l'administrateur";
@@ -1592,8 +860,10 @@ App::$strings["Force publish"] = "Publicité forcée";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire.";
App::$strings["Import Public Streams"] = "Flux publics importés";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention&nbsp;: ce contenu n'est pas modéré.";
-App::$strings["login on Homepage"] = "Connexion à partir de la page d'accueil";
+App::$strings["Login on Homepage"] = "";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré.";
+App::$strings["Enable context help"] = "";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "";
App::$strings["Directory Server URL"] = "URL du serveur d'annuaire";
App::$strings["Default directory server"] = "Serveur d'annuaire par défaut";
App::$strings["Proxy user"] = "Utilisateur du proxy";
@@ -1619,19 +889,25 @@ App::$strings["ID"] = "Identifiant";
App::$strings["for channel"] = "pour le canal";
App::$strings["on server"] = "sur le serveur";
App::$strings["Server"] = "Serveur";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "";
+App::$strings["Security"] = "Sécurité";
App::$strings["Block public"] = "Bloquer \"public\"";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "";
-App::$strings["Allow communications only from these sites"] = "";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "";
-App::$strings["Block communications from these sites"] = "";
-App::$strings["Allow communications only from these channels"] = "";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "";
-App::$strings["Block communications from these channels"] = "";
-App::$strings["Allow embedded HTML content only from these domains"] = "";
-App::$strings["One site per line. Leave empty to allow from any site by default"] = "";
-App::$strings["Block embedded HTML from these domains"] = "";
-App::$strings["Cooperative embed security"] = "";
-App::$strings["Enable to share embed security with other compatible sites/hubs"] = "";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "";
+App::$strings["Allow communications only from these sites"] = "N'autorisez que les communications venant de ces sites";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut.";
+App::$strings["Block communications from these sites"] = "Bloquer les communications de ces sites";
+App::$strings["Allow communications only from these channels"] = "N'autoriser que les communications de ces canaux";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut";
+App::$strings["Block communications from these channels"] = "Bloquer les communications de ces canaux";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "";
+App::$strings["One site per line. By default embedded content is filtered."] = "";
+App::$strings["Block embedded HTML from these domains"] = "Bloquer le HTML embarqué à partir de ces domaines";
App::$strings["Update has been marked successful"] = "La mise à jour a été marquée comme réussie";
App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a échoué. Merci de vérifier les journaux du système.";
App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès.";
@@ -1660,12 +936,13 @@ App::$strings["Account not found"] = "Compte introuvable";
App::$strings["Account '%s' deleted"] = "Compte '%s' supprimé";
App::$strings["Account '%s' blocked"] = "Compte '%s' bloqué";
App::$strings["Account '%s' unblocked"] = "Compte '%s' débloqué";
-App::$strings["Users"] = "Utilisateurs";
+App::$strings["Accounts"] = "Comptes";
App::$strings["select all"] = "tout sélectionner";
-App::$strings["User registrations waiting for confirm"] = "Inscriptions en attente d'approbation";
+App::$strings["Registrations waiting for confirm"] = "";
App::$strings["Request date"] = "Date de la demande";
App::$strings["No registrations."] = "Pas d'inscriptions.";
App::$strings["Deny"] = "Refuser";
+App::$strings["All Channels"] = "Tous les canaux";
App::$strings["Register date"] = "Date d'inscription";
App::$strings["Last login"] = "Dernière connexion";
App::$strings["Expires"] = "Expire le";
@@ -1690,34 +967,52 @@ App::$strings["Channel '%s' censored"] = "Canal '%s' censuré";
App::$strings["Channel '%s' uncensored"] = "Canal '%s' non censuré";
App::$strings["Channel '%s' code allowed"] = "Code autorisé pour le canal '%s'";
App::$strings["Channel '%s' code disallowed"] = "Code interdit pour le canal '%s'";
+App::$strings["Channels"] = "Canaux";
App::$strings["Censor"] = "Censurer";
App::$strings["Uncensor"] = "Ne plus censurer";
App::$strings["Allow Code"] = "Autoriser le code";
App::$strings["Disallow Code"] = "Interdire le code";
+App::$strings["Channel"] = "Canal";
App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Adresse";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les canaux sélectionnés seront supprimés&nbsp;!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Le canal {0} sera supprimé&nbsp;!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé&nbsp;!\\n\\nÊtes-vous sûr(e)&nbsp;?";
App::$strings["Plugin %s disabled."] = "Greffon %s désactivé.";
App::$strings["Plugin %s enabled."] = "Greffon %s activé.";
App::$strings["Disable"] = "Désactiver";
App::$strings["Enable"] = "Activer";
+App::$strings["Plugins"] = "Greffons";
App::$strings["Toggle"] = "(Dés)activer";
+App::$strings["Settings"] = "Paramètres";
App::$strings["Author: "] = "Auteur&nbsp;:";
App::$strings["Maintainer: "] = "Maintenu par&nbsp;:";
App::$strings["Minimum project version: "] = "Version minimum du projet&nbsp;:";
App::$strings["Maximum project version: "] = "Version maximum du projet&nbsp;:";
App::$strings["Minimum PHP version: "] = "Version minimum de PHP&nbsp;:";
+App::$strings["Requires: "] = "Requiert&nbsp;:";
App::$strings["Disabled - version incompatibility"] = "Désactivé - version incompatible";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "";
+App::$strings["Plugin repo git URL"] = "";
+App::$strings["Custom repo name"] = "";
+App::$strings["(optional)"] = "";
+App::$strings["Download Plugin Repo"] = "";
+App::$strings["Install new repo"] = "";
+App::$strings["Install"] = "Installer";
+App::$strings["Manage Repos"] = "";
+App::$strings["Installed Plugin Repositories"] = "";
+App::$strings["Install a New Plugin Repository"] = "";
+App::$strings["Update"] = "Mise à jour";
+App::$strings["Switch branch"] = "";
App::$strings["No themes found."] = "Aucun thème trouvé.";
App::$strings["Screenshot"] = "Capture d'écran";
+App::$strings["Themes"] = "Thèmes";
App::$strings["[Experimental]"] = "[Expérimental]";
App::$strings["[Unsupported]"] = "[Non maintenu]";
App::$strings["Log settings updated."] = "Paramètres du journal mis à jour.";
+App::$strings["Logs"] = "Journaux";
App::$strings["Clear"] = "Vider";
App::$strings["Debugging"] = "Débogage";
App::$strings["Log file"] = "Fichier du journal";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de Hubzilla.";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "";
App::$strings["Log level"] = "Niveau de journalisation";
App::$strings["New Profile Field"] = "Nouveau champ de profil";
App::$strings["Field nickname"] = "Nom court du champ";
@@ -1729,118 +1024,26 @@ App::$strings["Help text"] = "Aide à la saisie";
App::$strings["Additional info (optional)"] = "Informations additionnelles (facultatif)";
App::$strings["Field definition not found"] = "Définition du champ introuvable";
App::$strings["Edit Profile Field"] = "Modifier le champ de profil";
-App::$strings["Poke somebody"] = "";
-App::$strings["Poke/Prod"] = "Tapoter/Encourager";
-App::$strings["Poke, prod or do other things to somebody"] = "";
-App::$strings["Recipient"] = "Destinataire";
-App::$strings["Choose what you wish to do to recipient"] = "Choisir ce que vous voulez faire au destinataire";
-App::$strings["Make this post private"] = "Rendre cette publication privée";
-App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée&nbsp;: %1\$s";
-App::$strings["Image uploaded but image cropping failed."] = "L'image a été téléversée, mais le recadrage a échoué.";
-App::$strings["Image resize failed."] = "Le redimensionnement de l'image a échoué.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement.";
-App::$strings["Image upload failed."] = "Le téléversement de l'image a échoué.";
-App::$strings["Unable to process image."] = "Impossible de traîter l'image.";
-App::$strings["female"] = "femme";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s a mis à jour son %2\$s";
-App::$strings["male"] = "homme";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s a mis à jour son %2\$s";
-App::$strings["%1\$s updated their %2\$s"] = "%1\$s a mis a jour sa %2\$s";
-App::$strings["profile photo"] = "photo de profil";
-App::$strings["Photo not available."] = "Photo inaccessible.";
-App::$strings["Upload File:"] = "Téléverser fichier&nbsp;:";
-App::$strings["Select a profile:"] = "Choisir un profil&nbsp;:";
-App::$strings["Upload Profile Photo"] = "Téléverser une photo de profil";
-App::$strings["or"] = "ou";
-App::$strings["skip this step"] = "passer cette étape";
-App::$strings["select a photo from your photo albums"] = "choisir une photo dans vos albums";
-App::$strings["Crop Image"] = "Recadrer l'image";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Merci d'ajuster le cadre pour une visualisation optimale.";
-App::$strings["Done Editing"] = "J'ai terminé";
-App::$strings["Profile not found."] = "Profil introuvable.";
-App::$strings["Profile deleted."] = "Profil supprimé.";
-App::$strings["Profile-"] = "Profil-";
-App::$strings["New profile created."] = "Nouveau profil créé.";
-App::$strings["Profile unavailable to clone."] = "Profil impossible à cloner.";
-App::$strings["Profile unavailable to export."] = "Impossible d'exporter le profil.";
-App::$strings["Profile Name is required."] = "Le nom du profil est obligatoire.";
-App::$strings["Marital Status"] = "Statut marital";
-App::$strings["Romantic Partner"] = "Partenaire amoureux";
-App::$strings["Likes"] = "Aime";
-App::$strings["Dislikes"] = "N'aime pas";
-App::$strings["Work/Employment"] = "Travail/Occupation";
-App::$strings["Religion"] = "Religion/Croyance";
-App::$strings["Political Views"] = "Opinions politiques";
-App::$strings["Sexual Preference"] = "Préférences sexuelle";
-App::$strings["Homepage"] = "Site Internet";
-App::$strings["Interests"] = "Centres d'intérêt";
-App::$strings["Profile updated."] = "Profil mis à jour.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Cacher vos contacts/amis aux visiteurs de ce profil&nbsp;?";
-App::$strings["Edit Profile Details"] = "Modifier les détails du profil";
-App::$strings["View this profile"] = "Voir ce profil";
-App::$strings["Change Profile Photo"] = "Changer la photo du profil";
-App::$strings["Create a new profile using these settings"] = "Créer un nouveau profil avec ces paramètres";
-App::$strings["Clone this profile"] = "Cloner ce profil";
-App::$strings["Delete this profile"] = "Supprimer ce profil";
-App::$strings["Import profile from file"] = "Importer le profil à partir d'un fichier";
-App::$strings["Export profile to file"] = "Exporter le profil vers un fichier.";
-App::$strings["Profile Name:"] = "Nom du profil&nbsp;:";
-App::$strings["Your Full Name:"] = "Votre nom complet&nbsp;:";
-App::$strings["Title/Description:"] = "Titre/description&nbsp;:";
-App::$strings["Your Gender:"] = "Sexe/Genre&nbsp;:";
-App::$strings["Birthday :"] = "Date de naissance&nbsp;:";
-App::$strings["Street Address:"] = "Numéro et voie&nbsp;:";
-App::$strings["Locality/City:"] = "Ville&nbsp;:";
-App::$strings["Postal/Zip Code:"] = "Code postal&nbsp;:";
-App::$strings["Country:"] = "Pays&nbsp;:";
-App::$strings["Region/State:"] = "Région/Province/État&nbsp;:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span>Statut marital&nbsp;:";
-App::$strings["Who: (if applicable)"] = "Avec&nbsp;: (si pertinent)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Exemples&nbsp;: marie123, Marie Deschamps, marie@exemple.com";
-App::$strings["Since [date]:"] = "Depuis [date]&nbsp;:";
-App::$strings["Homepage URL:"] = "URL de mon site Internet&nbsp;:";
-App::$strings["Religious Views:"] = "Opinions religieuses&nbsp;:";
-App::$strings["Keywords:"] = "Mots-clefs&nbsp;:";
-App::$strings["Example: fishing photography software"] = "Exemple&nbsp;: escrime photographie modélisme";
-App::$strings["Used in directory listings"] = "Utilisé pour le référencement dans l'annuaire";
-App::$strings["Tell us about yourself..."] = "Parlez nous de vous...";
-App::$strings["Hobbies/Interests"] = "Loisirs/Centres d'intêret";
-App::$strings["Contact information and Social Networks"] = "Coordonnées et réseaux sociaux";
-App::$strings["My other channels"] = "Mes autres canaux";
-App::$strings["Musical interests"] = "Goûts musicaux";
-App::$strings["Books, literature"] = "Livres, littérature";
-App::$strings["Television"] = "Télévision";
-App::$strings["Film/dance/culture/entertainment"] = "Cinéma/Danse/Culture/Divertissement";
-App::$strings["Love/romance"] = "Amour/Relation amoureuse";
-App::$strings["Work/employment"] = "Travail/Occupation&nbsp;";
-App::$strings["School/education"] = "Études";
-App::$strings["This is your default profile."] = "Ceci est votre profil par défaut.";
-App::$strings["Age: "] = "Age&nbsp;:";
-App::$strings["Edit/Manage Profiles"] = "Modifier/gérer les profils";
-App::$strings["Add profile things"] = "Ajouter des éléments de profil";
-App::$strings["Include desirable objects in your profile"] = "Incluez des objets souhaitables dans votre profil";
-App::$strings["Invalid profile identifier."] = "Identifiant de profil invalide.";
-App::$strings["Profile Visibility Editor"] = "Éditeur de visibilité de profil";
-App::$strings["Click on a contact to add or remove."] = "Cliquer sur un contact pour l'ajouter ou le retirer.";
-App::$strings["Visible To"] = "Visible par";
-App::$strings["Public Sites"] = "Sites publics";
-App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Les sites listés autorisent l'inscription publique au réseau \$Projectname. Tous les sites du réseau sont interconnectés, l'inscription sur l'un quelconque d'entre eux signifie donc l'inscription sur le réseau dans son ensemble. Certains sites peuvent nécessiter une souscription ou fournir des niveaux de service différenciés. Le lien du fournisseur <strong>peut</strong> fournir plus de détails.";
-App::$strings["Rate this hub"] = "Noter ce hub";
-App::$strings["Site URL"] = "URL du site";
-App::$strings["Access Type"] = "Type d'accès";
-App::$strings["Registration Policy"] = "Politique d'inscription";
-App::$strings["Project"] = "Projet";
-App::$strings["View hub ratings"] = "Voir les notes de cette instance";
-App::$strings["Rate"] = "Evaluer";
-App::$strings["View ratings"] = "Voir les notes";
-App::$strings["Website:"] = "Site web&nbsp;:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)";
-App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)";
-App::$strings["No ratings"] = "Pas de note";
-App::$strings["Rating: "] = "Evaluation&nbsp:";
-App::$strings["Website: "] = "Site web&nbsp;:";
-App::$strings["Description: "] = "Description&nbsp;:";
+App::$strings["Profile Fields"] = "Champs de profil";
+App::$strings["Basic Profile Fields"] = "Champs de profil de base";
+App::$strings["Advanced Profile Fields"] = "Champs de profil avancés";
+App::$strings["(In addition to basic fields)"] = "(en plus des champs de base)";
+App::$strings["All available fields"] = "Tous les champs disponibles";
+App::$strings["Custom Fields"] = "Champs personnalisés";
+App::$strings["Create Custom Field"] = "Créer un champ personnalisé";
+App::$strings["App installed."] = "Application installée.";
+App::$strings["Malformed app."] = "Erreur de l'application - Malformée.";
+App::$strings["Embed code"] = "Imbriquer le code";
+App::$strings["Edit App"] = "Modifier l'application";
+App::$strings["Create App"] = "Créer une application";
+App::$strings["Name of app"] = "Nom de l'application";
+App::$strings["Location (URL) of app"] = "Emplacement (URL) de l'application";
+App::$strings["Photo icon URL"] = "URL de l'icône à utiliser pour cette photo";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - facultatif";
+App::$strings["Categories (optional, comma separated list)"] = "";
+App::$strings["Version ID"] = "Identifiant de version";
+App::$strings["Price of app"] = "Prix de l'application";
+App::$strings["Location (URL) to purchase app"] = "Emplacement (URL) pour l'achat de l'application";
App::$strings["Select a bookmark folder"] = "Choisir un dossier de favoris";
App::$strings["Save Bookmark"] = "Enregistrer le favori";
App::$strings["URL of bookmark"] = "URL du favori";
@@ -1851,19 +1054,22 @@ App::$strings["Passwords do not match."] = "Les mots de passe ne concordent pas.
App::$strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte.";
App::$strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente d'approbation par l'administrateur.";
App::$strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée.";
-App::$strings["Registration on this site is disabled."] = "L'enregistrement est désactivé sur ce site.";
-App::$strings["Registration on this site/hub is by approval only."] = "L'inscription sur ce site/hub est soumise à approbation.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">S'inscrire sur un autre site/hub affilié</a>";
+App::$strings["Registration on this hub is disabled."] = "La création de nouveaux comptes est désactivée pour ce site.";
+App::$strings["Registration on this hub is by approval only."] = "La création de compte sur ce site est soumise à approbation.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>";
App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain.";
App::$strings["Terms of Service"] = "Conditions de service";
App::$strings["I accept the %s for this website"] = "J'accepte les %s de ce site";
App::$strings["I am over 13 years of age and accept the %s for this website"] = "J'ai plus de 13 ans et j'accepte les %s de ce site";
-App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation.";
-App::$strings["Please enter your invitation code"] = "Merci de saisir votre code d'invitation";
-App::$strings["Enter your name"] = "Saisissez votre nom";
App::$strings["Your email address"] = "Votre adresse de courriel";
App::$strings["Choose a password"] = "Choisissez un mot de passe";
App::$strings["Please re-enter your password"] = "Merci de saisir à nouveau votre mot de passe";
+App::$strings["Please enter your invitation code"] = "Merci de saisir votre code d'invitation";
+App::$strings["no"] = "non";
+App::$strings["yes"] = "oui";
+App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation.";
+App::$strings["Register"] = "S'inscrire";
+App::$strings["Proceed to create your first channel"] = "Continuer pour créer votre premier canal";
App::$strings["Please login."] = "Merci de vous connecter.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un compte dans les 48 heures après avoir changé le mot de passe du compte.";
App::$strings["Remove This Account"] = "Supprimer ce compte";
@@ -1891,13 +1097,14 @@ App::$strings["Search results for: %s"] = "Résultats de recherche pour&nbsp;: %
App::$strings["No service class restrictions found."] = "Aucune restriction de classe de service trouvée.";
App::$strings["Name is required"] = "Le nom est requis";
App::$strings["Key and Secret are required"] = "Clef et secret sont requis";
+App::$strings["Not valid email."] = "Adresse de courriel non valide.";
+App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
+App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau.";
+App::$strings["Password verification failed."] = "La vérification du mot de passe a échoué.";
App::$strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé.";
App::$strings["Password changed."] = "Le mot de passe a été changé.";
App::$strings["Password update failed. Please try again."] = "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau.";
-App::$strings["Not valid email."] = "Adresse de courriel non valide.";
-App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
-App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau.";
App::$strings["Settings updated."] = "Paramètres mis à jour.";
App::$strings["Add application"] = "Ajouter une application";
App::$strings["Name of application"] = "Nom de l'application";
@@ -1908,7 +1115,7 @@ App::$strings["Redirect"] = "Redirection";
App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement";
App::$strings["Icon url"] = "URL de l'icône";
App::$strings["Optional"] = "Facultatif";
-App::$strings["Application not found."] = "";
+App::$strings["Application not found."] = "Application introuvable.";
App::$strings["Connected Apps"] = "Applications connectées";
App::$strings["Client key starts with"] = "La clef partagée commence par";
App::$strings["No name"] = "Sans nom";
@@ -1916,8 +1123,9 @@ App::$strings["Remove authorization"] = "Révoquer l'autorisation";
App::$strings["No feature settings configured"] = "Aucun paramètre de fonctionnalité configuré";
App::$strings["Feature/Addon Settings"] = "Paramètres des extensions/greffons";
App::$strings["Account Settings"] = "Paramètres du compte";
-App::$strings["Enter New Password:"] = "Nouveau mot de passe&nbsp;:";
-App::$strings["Confirm New Password:"] = "Confirmer le nouveau mot de passe&nbsp;:";
+App::$strings["Current Password"] = "Mot de passe actuel";
+App::$strings["Enter New Password"] = "Entrez votre nouveau mot de passe";
+App::$strings["Confirm New Password"] = "Confirmez le nouveau mot de passe";
App::$strings["Leave password fields blank unless changing"] = "Laissez les mots de passe vides si vous ne voulez pas les modifier";
App::$strings["Email Address:"] = "Adresse de courriel&nbsp;:";
App::$strings["Remove this account including all its channels"] = "Supprimer ce compte et tous ses canaux";
@@ -1931,6 +1139,8 @@ App::$strings["Custom Theme Settings"] = "Paramètres personnels du thème";
App::$strings["Content Settings"] = "Paramètres liés au contenu";
App::$strings["Display Theme:"] = "Afficher le thème&nbsp;:";
App::$strings["Mobile Theme:"] = "Thème mobile&nbsp;:";
+App::$strings["Preload images before rendering the page"] = "Pré-charger les images avant d'afficher la page";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera";
App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu";
App::$strings["Update browser every xx seconds"] = "Mettre à jour le navigateur toutes les xx secondes";
App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum";
@@ -1958,6 +1168,7 @@ App::$strings["Allow us to suggest you as a potential friend to new members?"] =
App::$strings["Your channel address is"] = "L'adresse de votre canal est";
App::$strings["Channel Settings"] = "Paramètres du canal";
App::$strings["Basic Settings"] = "Paramètres standard";
+App::$strings["Full Name:"] = "Nom complet&nbsp;:";
App::$strings["Your Timezone:"] = "Votre fureau horaire&nbsp;:";
App::$strings["Default Post Location:"] = "Emplacement de publication par défaut&nbsp;:";
App::$strings["Geographical location to display on your posts"] = "Emplacement géographique à afficher sur vos publications";
@@ -1977,10 +1188,14 @@ App::$strings["Allow others to tag your posts"] = "Autoriser les autres à \"ét
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori ";
App::$strings["Advanced Privacy Settings"] = "Paramètres de confidentialité avancés";
App::$strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours";
-App::$strings["0 or blank to use the website limit. The website expires after %d days."] = "0 ou vide pour utiliser la limite du site. Le délai du site est de %d jours.";
+App::$strings["0 or blank to use the website limit."] = "";
+App::$strings["This website expires after %d days."] = "";
+App::$strings["This website does not expire imported content."] = "";
+App::$strings["The website limit takes precedence if lower than your limit."] = "";
App::$strings["Maximum Friend Requests/Day:"] = "Nombre maximum de demandes de contact par jour&nbsp;:";
App::$strings["May reduce spam activity"] = "Contribue à réduire l'impact des indésirables";
-App::$strings["Default Post Permissions"] = "Permissions par défaut des publications";
+App::$strings["Default Post and Publish Permissions"] = "";
+App::$strings["Use my default audience setting for the type of object published"] = "";
App::$strings["Channel permissions category:"] = "Catégorie de permissions du canal&nbsp;:";
App::$strings["Maximum private messages per day from unknown people:"] = "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:";
App::$strings["Useful to reduce spamming"] = "Utile pour réduire les indésirables";
@@ -2053,8 +1268,10 @@ App::$strings["Website URL"] = "URL du site web";
App::$strings["Please use SSL (https) URL if available."] = "Veuillez utiliser SSL/TLS (https) si disponible.";
App::$strings["Please select a default timezone for your website"] = "Veuillez choisir un fuseau horaire par défaut pour votre site";
App::$strings["Site settings"] = "Paramètres du site";
-App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "";
-App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "";
+App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Activer les fonctionnalités <strong>avancées</strong> de \$Projectname&nbsp;?";
+App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Certaines fonctionnalités avancées, bien qu'utiles, sont plus adaptées aux utilisateurs chevronnés.";
+App::$strings["PHP version 5.5 or greater is required."] = "";
+App::$strings["PHP version"] = "";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur web.";
App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron.";
App::$strings["PHP executable path"] = "Chemin vers l'éxecutable PHP";
@@ -2093,7 +1310,7 @@ App::$strings["At the end of this procedure, we will give you a text to save in
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées.";
App::$strings[".htconfig.php is writable"] = "Le fichier .htconfig.php est accessible en écriture";
App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "\$Projectname utilise le moteur de gabarits Smarty3 pour mettre son contenu en forme. Smarty3 compile ses modèles vers du PHP natif pour accélérer le rendu.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Pour utiliser ces modèles, le serveur doit avoir le droits d'écrire dans le dossier %s à la racine du site \$Projectname.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire.";
App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient.";
App::$strings["%s is writable"] = "Permission d'écriture sur %s activée";
@@ -2112,22 +1329,6 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BDD.";
App::$strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau.";
-App::$strings["No valid account found."] = "Aucun compte valide trouvé.";
-App::$strings["Password reset request issued. Check your email."] = "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels.";
-App::$strings["Site Member (%s)"] = "Membre du site (%s)";
-App::$strings["Password reset requested at %s"] = "Demande de réinitialisation du mot de passe sur %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué.";
-App::$strings["Password Reset"] = "Réinitialiser le mot de passe";
-App::$strings["Your password has been reset as requested."] = "Votre mot de passe a bien été réinitialisé.";
-App::$strings["Your new password is"] = "Votre nouveau mot de passe est";
-App::$strings["Save or copy your new password - and then"] = "Enregistrez ou copiez votre nouveau mot de passe, puis";
-App::$strings["click here to login"] = "cliquez ici pour vous connecter";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté.";
-App::$strings["Your password has changed at %s"] = "Votre mot de passe de %s a été changé";
-App::$strings["Forgot your Password?"] = "Mot de passe oublié&nbsp;?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions.";
-App::$strings["Email Address"] = "Adresse de courriel";
-App::$strings["Reset"] = "Réinitialiser";
App::$strings["Files: shared with me"] = "Fichiers&nbsp;: partagés avec moi";
App::$strings["NEW"] = "NOUVEAU";
App::$strings["Remove all files"] = "Supprimer tous les fichiers";
@@ -2149,11 +1350,14 @@ App::$strings["Failed to create source. No channel selected."] = "Impossible de
App::$strings["Source created."] = "Source créée.";
App::$strings["Source updated."] = "Source mise à jour.";
App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Sources du canal";
App::$strings["Manage remote sources of content for your channel."] = "Gérer les sources distantes de contenu pour votre canal.";
App::$strings["New Source"] = "Nouvelle source";
App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal.";
App::$strings["Only import content with these words (one per line)"] = "N'importer le contenu que s'il contient ces mots (un par ligne)";
App::$strings["Leave blank to import all public content"] = "Laissez vide pour importer tout le contenu public";
+App::$strings["Channel Name"] = "Nom du canal";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "";
App::$strings["Source not found."] = "Source introuvable.";
App::$strings["Edit Source"] = "Modifier la source";
App::$strings["Delete Source"] = "Supprimer la source";
@@ -2162,6 +1366,9 @@ App::$strings["Unable to remove source."] = "Impossible de supprimer la source."
App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s";
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ne suit plus %3\$s de %2\$s";
App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures.";
+App::$strings["Ignore/Hide"] = "Ignorer/Cacher";
+App::$strings["post"] = "publication";
+App::$strings["comment"] = "commentaire";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s avec %4\$s";
App::$strings["Tag removed"] = "Étiquette retirée";
App::$strings["Remove Item Tag"] = "Retirer une étiquette à l'élément";
@@ -2193,11 +1400,861 @@ App::$strings["No connections."] = "Aucun contact.";
App::$strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]";
App::$strings["View Connections"] = "Voir les contacts";
App::$strings["Source of Item"] = "Source de l'élément";
+App::$strings["Webpages"] = "Pages web";
+App::$strings["Actions"] = "Actions";
+App::$strings["Page Link"] = "Lien vers la page";
App::$strings["Page Title"] = "Titre de la page";
App::$strings["Xchan Lookup"] = "Recherche xchan";
App::$strings["Lookup xchan beginning with (or webbie): "] = "Recherche xchan commençant par (ou adresse \"webbie\")&nbsp;:";
-App::$strings["Cover Photos"] = "Photos de couverture";
-App::$strings["Upload Cover Photo"] = "Téléverser une photo de couverture";
+App::$strings["Site Admin"] = "Administrateur";
+App::$strings["Bug Report"] = "";
+App::$strings["View Bookmarks"] = "";
+App::$strings["My Chatrooms"] = "";
+App::$strings["Firefox Share"] = "";
+App::$strings["Remote Diagnostics"] = "";
+App::$strings["Suggest Channels"] = "Suggérer des canaux";
+App::$strings["Login"] = "Connexion";
+App::$strings["Grid"] = "Réseau";
+App::$strings["Channel Home"] = "Mon canal";
+App::$strings["Events"] = "Événements";
+App::$strings["Directory"] = "Annuaire";
+App::$strings["Mail"] = "Messages";
+App::$strings["Chat"] = "Clavardage";
+App::$strings["Probe"] = "Sonder";
+App::$strings["Suggest"] = "Suggérer";
+App::$strings["Random Channel"] = "Un canal au hasard";
+App::$strings["Invite"] = "Invitation";
+App::$strings["Features"] = "Fonctionalités";
+App::$strings["Post"] = "Envoyer";
+App::$strings["Purchase"] = "Acheter";
+App::$strings["Missing room name"] = "Il manque le nom du salon";
+App::$strings["Duplicate room name"] = "Un salon avec ce nom existe déjà";
+App::$strings["Invalid room specifier."] = "Identifiant de salon invalide.";
+App::$strings["Room not found."] = "Salon introuvable.";
+App::$strings["Room is full"] = "Le salon est plein";
+App::$strings["\$Projectname Notification"] = "Notification \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Merci,";
+App::$strings["%s Administrator"] = "l'administrateur de %s";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Nouveau courriel reçu à %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s.";
+App::$strings["a private message"] = "un message privé";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Merci de visiter %s pour voir et/ou répondre à vos messages privés.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté [zrl=%3\$s]votre %4\$s[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Commentaire de %2\$s sur conversation #%1\$d";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s a publié sur votre profil";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s vous a étiqueté";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s vous a tapoté";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a tapoté sur %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a tapoté[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s a étiqueté votre publication";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Nouvelle présentation";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de contact de '%2\$s' sur %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de contact[/zrl] de %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de contact.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion d'ami(e) de '%2\$s' à %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion d'ami(e)[/zrl] de %4\$s.";
+App::$strings["Name:"] = "Nom&nbsp;:";
+App::$strings["Photo:"] = "Photo&nbsp;:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]";
+App::$strings["created a new post"] = "a publié un nouveau message";
+App::$strings["commented on %s's post"] = "a commenté la publication de %s";
+App::$strings["Private Message"] = "Message Privé";
+App::$strings["Select"] = "Sélectionner";
+App::$strings["Save to Folder"] = "Enregistrer dans le dossier";
+App::$strings["I will attend"] = "Je participerai";
+App::$strings["I will not attend"] = "Je ne participerai pas";
+App::$strings["I might attend"] = "Je participerai peut-être";
+App::$strings["I agree"] = "Je suis d'accord";
+App::$strings["I disagree"] = "Je ne suis pas d'accord";
+App::$strings["I abstain"] = "Je m'abstiens";
+App::$strings["Add Star"] = "Mettre en avant (étoile)";
+App::$strings["Remove Star"] = "Ne plus mettre en avant";
+App::$strings["Toggle Star Status"] = "(Dés)activer l'étoile";
+App::$strings["starred"] = "mis en avant";
+App::$strings["Message signature validated"] = "Signature du message validée";
+App::$strings["Message signature incorrect"] = "Signature du message incorrecte";
+App::$strings["Add Tag"] = "Ajouter une étiquette";
+App::$strings["like"] = "aiment";
+App::$strings["dislike"] = "n'aiment pas";
+App::$strings["Share This"] = "Partager";
+App::$strings["share"] = "partager";
+App::$strings["Delivery Report"] = "Rapport de distribution";
+App::$strings["%d comment"] = array(
+ 0 => "%d commentaire",
+ 1 => "%d commentaires",
+);
+App::$strings["View %s's profile - %s"] = "Voir le profil de %s - %s";
+App::$strings["to"] = "à";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "Mur-à-mur";
+App::$strings["via Wall-To-Wall:"] = "par Mur-à-mur&nbsp;:";
+App::$strings["from %s"] = "de %s";
+App::$strings["last edited: %s"] = "dernière modification&nbsp;: %s";
+App::$strings["Expires: %s"] = "Expire&nbsp;: %s";
+App::$strings["Save Bookmarks"] = "Enregistrer les favoris";
+App::$strings["Add to Calendar"] = "Ajouter au Calendrier";
+App::$strings["Mark all seen"] = "Tout marquer comme vu";
+App::$strings["[+] show all"] = "[+] voir tous";
+App::$strings["Bold"] = "Gras";
+App::$strings["Italic"] = "Italique";
+App::$strings["Underline"] = "Souligné";
+App::$strings["Quote"] = "Citation";
+App::$strings["Code"] = "Code";
+App::$strings["Image"] = "Image";
+App::$strings["Insert Link"] = "Insérer un lien";
+App::$strings["Video"] = "Vidéo";
+App::$strings["No username found in import file."] = "Aucun nom d'utilisateur dans le fichier d'import.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Impossible de créer une adresse de canal unique. Echec de l'import.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BDD '%s'";
+App::$strings["Categories"] = "Catégories";
+App::$strings["Tags"] = "Étiquettes";
+App::$strings["Keywords"] = "Mots-clefs";
+App::$strings["have"] = "ont";
+App::$strings["has"] = "a";
+App::$strings["want"] = "veulent";
+App::$strings["wants"] = "veut";
+App::$strings["likes"] = "aime";
+App::$strings["dislikes"] = "n'aime pas";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi";
+App::$strings["Starts:"] = "Début&nbsp;:";
+App::$strings["Finishes:"] = "Fin&nbsp;:";
+App::$strings["This event has been added to your calendar."] = "Cet évènement a été ajouté dans votre calendrier.";
+App::$strings["Not specified"] = "Non spécifié";
+App::$strings["Needs Action"] = "Besoin d'une action";
+App::$strings["Completed"] = "Terminé";
+App::$strings["In Process"] = "En cours";
+App::$strings["Cancelled"] = "Annulé";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "L'import a échoué. Un canal existe déjà avec ce nom";
+App::$strings["Channel clone failed. Import failed."] = "Echec du clonage du canal. Echec de l'impot.";
+App::$strings["(Unknown)"] = "(Inconnu)";
+App::$strings["Visible to anybody on the internet."] = "Visible pour tout le monde sur internet.";
+App::$strings["Visible to you only."] = "Visible pour vous seulement.";
+App::$strings["Visible to anybody in this network."] = "Visible pour tout le monde sur ce réseau.";
+App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés.";
+App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
+App::$strings["Visible to all connections."] = "Visible pour tous les contacts.";
+App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
+App::$strings["Visible to specific connections."] = "Visible pour certains contacts.";
+App::$strings["Privacy group is empty."] = "Groupe d'accès vide.";
+App::$strings["Privacy group: %s"] = "Groupe d'accès&nbsp;: %s";
+App::$strings["Connection not found."] = "Contact non trouvé.";
+App::$strings["profile photo"] = "photo de profil";
+App::$strings["No recipient provided."] = "Pas de destinataire.";
+App::$strings["[no subject]"] = "[sans objet]";
+App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur.";
+App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié.";
+App::$strings["prev"] = "préc.";
+App::$strings["first"] = "premier";
+App::$strings["last"] = "dernier";
+App::$strings["next"] = "Suivant";
+App::$strings["older"] = "plus ancien";
+App::$strings["newer"] = "plus récent";
+App::$strings["No connections"] = "Pas de relations.";
+App::$strings["View all %s connections"] = "Voir les %s contacts";
+App::$strings["poke"] = "tapoter";
+App::$strings["poked"] = "a tapoté";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "pingé";
+App::$strings["prod"] = "encourager";
+App::$strings["prodded"] = "encouragé";
+App::$strings["slap"] = "giffler";
+App::$strings["slapped"] = "gifflé(e)";
+App::$strings["finger"] = "pointer";
+App::$strings["fingered"] = "pointé";
+App::$strings["rebuff"] = "rejetter";
+App::$strings["rebuffed"] = "rejeté";
+App::$strings["happy"] = "heureux";
+App::$strings["sad"] = "triste";
+App::$strings["mellow"] = "mélancolique";
+App::$strings["tired"] = "fatigué";
+App::$strings["perky"] = "impertinent";
+App::$strings["angry"] = "en colère";
+App::$strings["stupefied"] = "stupéfait";
+App::$strings["puzzled"] = "perplexe";
+App::$strings["interested"] = "intéressé";
+App::$strings["bitter"] = "amer";
+App::$strings["cheerful"] = "plein d'entrain";
+App::$strings["alive"] = "vivant";
+App::$strings["annoyed"] = "agaçé";
+App::$strings["anxious"] = "anxieux";
+App::$strings["cranky"] = "énervé";
+App::$strings["disturbed"] = "perturbé";
+App::$strings["frustrated"] = "frustré";
+App::$strings["depressed"] = "déprimé";
+App::$strings["motivated"] = "motivé";
+App::$strings["relaxed"] = "détendu";
+App::$strings["surprised"] = "surpris";
+App::$strings["Monday"] = "Lundi";
+App::$strings["Tuesday"] = "Mardi";
+App::$strings["Wednesday"] = "Mercredi";
+App::$strings["Thursday"] = "Jeudi";
+App::$strings["Friday"] = "Vendredi";
+App::$strings["Saturday"] = "Samedi";
+App::$strings["Sunday"] = "Dimanche";
+App::$strings["January"] = "Janvier";
+App::$strings["February"] = "Février";
+App::$strings["March"] = "Mars";
+App::$strings["April"] = "Avril";
+App::$strings["May"] = "Mai";
+App::$strings["June"] = "Juin";
+App::$strings["July"] = "Juillet";
+App::$strings["August"] = "Août";
+App::$strings["September"] = "Septembre";
+App::$strings["October"] = "Octobre";
+App::$strings["November"] = "Novembre";
+App::$strings["December"] = "Décembre";
+App::$strings["Unknown Attachment"] = "Pièce jointe inconnue";
+App::$strings["unknown"] = "Inconnu";
+App::$strings["remove category"] = "supprimer la catégorie";
+App::$strings["remove from file"] = "retirer du fichier";
+App::$strings["default"] = "défaut";
+App::$strings["Page layout"] = "Mise en page";
+App::$strings["You can create your own with the layouts tool"] = "Créez les vôtres avec les outils de mise en page";
+App::$strings["Page content type"] = "Type de contenu de la page";
+App::$strings["Select an alternate language"] = "Choisir une langue alternative";
+App::$strings["activity"] = "activité";
+App::$strings["Design Tools"] = "Outils de conception";
+App::$strings["Pages"] = "Pages";
+App::$strings["System"] = "Système";
+App::$strings["New App"] = "";
+App::$strings["Suggestions"] = "Suggestions";
+App::$strings["See more..."] = "Voir plus...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f sur %2$.0f contacts autorisés.";
+App::$strings["Add New Connection"] = "Ajouter un nouveau contact";
+App::$strings["Enter channel address"] = "Saisissez l'adresse du canal";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie";
+App::$strings["Notes"] = "Notes";
+App::$strings["Remove term"] = "Retirer le terme";
+App::$strings["Saved Searches"] = "Recherches sauvegardées";
+App::$strings["add"] = "ajouter";
+App::$strings["Saved Folders"] = "Dossiers sauvegardés";
+App::$strings["Everything"] = "Tout";
+App::$strings["Archives"] = "Archives";
+App::$strings["Refresh"] = "Actualiser";
+App::$strings["Account settings"] = "Paramètres du compte";
+App::$strings["Channel settings"] = "Paramètres du canal";
+App::$strings["Additional features"] = "Fonctionnalités supplémentaires";
+App::$strings["Feature/Addon settings"] = "Paramètres des extensions/greffons";
+App::$strings["Display settings"] = "Paramètres d'affichage";
+App::$strings["Manage locations"] = "";
+App::$strings["Export channel"] = "Exporter le canal";
+App::$strings["Connected apps"] = "Applications connectées";
+App::$strings["Premium Channel Settings"] = "Paramètres de canal VIP";
+App::$strings["Private Mail Menu"] = "Menu des messages privés";
+App::$strings["Combined View"] = "Vue combinée";
+App::$strings["Inbox"] = "Boîte de réception";
+App::$strings["Outbox"] = "Boîte d'envoi";
+App::$strings["New Message"] = "Nouveau message";
+App::$strings["Conversations"] = "Conversations";
+App::$strings["Received Messages"] = "Messages reçus";
+App::$strings["Sent Messages"] = "Messages envoyés";
+App::$strings["No messages."] = "Pas de message.";
+App::$strings["Delete conversation"] = "Supprimer la conversation";
+App::$strings["Events Menu"] = "Menu Evènements";
+App::$strings["Day View"] = "Vue Jour";
+App::$strings["Week View"] = "Vue Semaine";
+App::$strings["Month View"] = "Vue Mois";
+App::$strings["Events Tools"] = "Outils Evènements";
+App::$strings["Export Calendar"] = "Exporter le calendrier";
+App::$strings["Import Calendar"] = "Importer un calendrier";
+App::$strings["Chatrooms"] = "Salons de clavardage";
+App::$strings["Overview"] = "";
+App::$strings["Chat Members"] = "";
+App::$strings["Bookmarked Chatrooms"] = "Salons favoris";
+App::$strings["Suggested Chatrooms"] = "Salons suggérés";
+App::$strings["photo/image"] = "photo/image";
+App::$strings["Click to show more"] = "Cliquer pour voir plus";
+App::$strings["Rating Tools"] = "Outils d'évaluation";
+App::$strings["Rate Me"] = "M'évaluer";
+App::$strings["View Ratings"] = "Voir mes évaluations";
+App::$strings["Forums"] = "Membres du forum";
+App::$strings["Tasks"] = "Tâches";
+App::$strings["Documentation"] = "Documentation";
+App::$strings["Project/Site Information"] = "Information sur le site/projet";
+App::$strings["For Members"] = "Pour les membres";
+App::$strings["For Administrators"] = "Pour les administrateurs";
+App::$strings["For Developers"] = "Pour les développeurs";
+App::$strings["Member registrations waiting for confirmation"] = "";
+App::$strings["Inspect queue"] = "Analyser la file d'attente";
+App::$strings["DB updates"] = "Mises à jour BDD";
+App::$strings["Admin"] = "Administrateur";
+App::$strings["Plugin Features"] = "Fonctionnalités des greffons";
+App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce site.";
+App::$strings["Channel location missing."] = "Emplacement du canal introuvable.";
+App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète.";
+App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus.";
+App::$strings["Protocol disabled."] = "Protocole désactivé.";
+App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échoué.";
+App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous.";
+App::$strings["%1\$s's bookmarks"] = "Favoris de %1\$s";
+App::$strings["Public Timeline"] = "Fil public";
+App::$strings["Image/photo"] = "Image/photo";
+App::$strings["Encrypted content"] = "Contenu chiffré";
+App::$strings["Install %s element: "] = "Installer %s élément";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
+App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer";
+App::$strings["spoiler"] = "";
+App::$strings["Different viewers will see this text differently"] = "Ce texte aura un rendu différent en fonction des utilisateurs";
+App::$strings["$1 wrote:"] = "$1 a écrit&nbsp;:";
+App::$strings["Directory Options"] = "Options d'annuaire";
+App::$strings["Safe Mode"] = "Mode sûr";
+App::$strings["Public Forums Only"] = "Les forums publics uniquement";
+App::$strings["This Website Only"] = "Ce site uniquement";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures).";
+App::$strings["Logout"] = "Déconnexion";
+App::$strings["End this session"] = "Mettre fin à la session";
+App::$strings["Home"] = "Mon canal";
+App::$strings["Your posts and conversations"] = "Vos publications et conversations";
+App::$strings["Your profile page"] = "Votre profil";
+App::$strings["Manage/Edit profiles"] = "Gérer/modifier les profils";
+App::$strings["Edit Profile"] = "Éditeur de profil";
+App::$strings["Edit your profile"] = "Modifier votre profil";
+App::$strings["Your photos"] = "Vos photos";
+App::$strings["Your files"] = "Vos fichiers";
+App::$strings["Your chatrooms"] = "Vos salons";
+App::$strings["Bookmarks"] = "Favoris";
+App::$strings["Your bookmarks"] = "Vos favoris";
+App::$strings["Your webpages"] = "Vos pages web";
+App::$strings["Sign in"] = "Connexion";
+App::$strings["%s - click to logout"] = "%s - cliquer ici pour déconnecter";
+App::$strings["Remote authentication"] = "Authentification distante";
+App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub principal";
+App::$strings["Home Page"] = "Page d'accueil";
+App::$strings["Create an account"] = "Créer un compte";
+App::$strings["Help and documentation"] = "Aide et documentation";
+App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Recherche @nom, #tag, contenu";
+App::$strings["Channel Directory"] = "Annuaire des canaux";
+App::$strings["Your grid"] = "Votre réseau";
+App::$strings["Mark all grid notifications seen"] = "Marquer toutes les notifications du réseau comme vues";
+App::$strings["Channel home"] = "Mon canal";
+App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues";
+App::$strings["Notices"] = "Notifications";
+App::$strings["Notifications"] = "Notifications";
+App::$strings["See all notifications"] = "Voir toutes les notifications";
+App::$strings["Private mail"] = "Messages privés";
+App::$strings["See all private messages"] = "Voir tous les messages privés";
+App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus";
+App::$strings["Event Calendar"] = "Calendrier des événements";
+App::$strings["See all events"] = "Voir tous les événements";
+App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
+App::$strings["Manage Your Channels"] = "Gérer vos canaux";
+App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal";
+App::$strings["Site Setup and Configuration"] = "Configuration du site";
+App::$strings["Loading..."] = "Chargement...";
+App::$strings["@name, #tag, ?doc, content"] = "@nom, #étiquette, ?doc, contenu";
+App::$strings["Please wait..."] = "Merci de patienter...";
+App::$strings["New window"] = "Nouvelle fenêtre";
+App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre ou un onglet différent";
+App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invitation disponible",
+ 1 => "%d invitations disponibles",
+);
+App::$strings["Find Channels"] = "Trouver des canaux";
+App::$strings["Enter name or interest"] = "Saisir nom ou centre d'intérêt";
+App::$strings["Connect/Follow"] = "Ajouter/Suivre";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Guillaume Martin, Course à pieds";
+App::$strings["Random Profile"] = "Un profil au hasard";
+App::$strings["Invite Friends"] = "Inviter des amis";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé&nbsp;: name=fred and country=iceland";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d contact en commun",
+ 1 => "%d contacts en commun",
+);
+App::$strings["show more"] = "montrer plus";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ajoute %2\$s à ses contacts";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s a tapoté %2\$s";
+App::$strings["View %s's profile @ %s"] = "Voir le profil de %s @ %s";
+App::$strings["Categories:"] = "Catégories&nbsp;:";
+App::$strings["Filed under:"] = "Classé sous&nbsp;:";
+App::$strings["View in context"] = "Voir en contexte";
+App::$strings["remove"] = "supprimer";
+App::$strings["Delete Selected Items"] = "Supprimer les éléments selectionnés";
+App::$strings["View Source"] = "Voir source";
+App::$strings["Follow Thread"] = "Suivre la discussion";
+App::$strings["Unfollow Thread"] = "Ne plus suivre la discussion";
+App::$strings["Activity/Posts"] = "Activité/Publications";
+App::$strings["Edit Connection"] = "Modifier le contact";
+App::$strings["Message"] = "Message";
+App::$strings["%s likes this."] = "%s aime ça.";
+App::$strings["%s doesn't like this."] = "%s n'aime pas ça.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d personne</span> aime ceci.",
+ 1 => "<span %1\$s>%2\$d personnes</span> aiment ceci.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d personne</span> n'aime pas ça.",
+ 1 => "<span %1\$s>%2\$d personnes</span> n'aiment pas ça.",
+);
+App::$strings["and"] = "et";
+App::$strings[", and %d other people"] = array(
+ 0 => ", et %d autre personne",
+ 1 => ", et %d autres personnes",
+);
+App::$strings["%s like this."] = "%s aime ça.";
+App::$strings["%s don't like this."] = "%s n'aime pas ça.";
+App::$strings["Set your location"] = "Spécifier votre emplacement géographique";
+App::$strings["Clear browser location"] = "Supprimer l'emplacement géographique du navigateur";
+App::$strings["Tag term:"] = "Étiquette&nbsp;:";
+App::$strings["Where are you right now?"] = "Où êtes-vous en ce moment&nbsp;?";
+App::$strings["Page link name"] = "Nom du lien vers la page";
+App::$strings["Post as"] = "Publier en tant que";
+App::$strings["Toggle voting"] = "(Dés)activer le vote";
+App::$strings["Categories (optional, comma-separated list)"] = "Catégories (facultatives, séparées par des virgules)";
+App::$strings["Set publish date"] = "Définir la date de publication";
+App::$strings["OK"] = "OK";
+App::$strings["Discover"] = "À découvrir";
+App::$strings["Imported public streams"] = "Flux publics importés";
+App::$strings["Commented Order"] = "Par date de commentaire";
+App::$strings["Sort by Comment Date"] = "Trier par date de dernier commentaire";
+App::$strings["Posted Order"] = "Par date de publication";
+App::$strings["Sort by Post Date"] = "Trier par date de publication";
+App::$strings["Posts that mention or involve you"] = "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre";
+App::$strings["Activity Stream - by date"] = "Flux d'activité - par date";
+App::$strings["Starred"] = "Mis en avant (étoiles)";
+App::$strings["Favourite Posts"] = "Publications préférées";
+App::$strings["Spam"] = "Indésirable";
+App::$strings["Posts flagged as SPAM"] = "Publications marquées comme indésirables";
+App::$strings["Status Messages and Posts"] = "Messages d'état et contributions";
+App::$strings["About"] = "À propos";
+App::$strings["Profile Details"] = "Détails du profil";
+App::$strings["Photo Albums"] = "Albums photo";
+App::$strings["Files and Storage"] = "Fichiers et Stockage";
+App::$strings["Saved Bookmarks"] = "Favoris sauvegardés";
+App::$strings["Manage Webpages"] = "Gérer les pages web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Participe",
+ 1 => "Participent",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Ne participe pas",
+ 1 => "Ne participent pas",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indécis(e)",
+ 1 => "Indécis(es)",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "D'accord",
+ 1 => "D'accord",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Pas d'accord",
+ 1 => "Pas d'accord",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "S'abstient",
+ 1 => "S'abstiennent",
+);
+App::$strings["Frequently"] = "Fréquemment";
+App::$strings["Hourly"] = "Toutes les heures";
+App::$strings["Twice daily"] = "Deux fois par jour";
+App::$strings["Daily"] = "Chaque jour";
+App::$strings["Weekly"] = "Chaque semaine";
+App::$strings["Monthly"] = "Chaque mois";
+App::$strings["Currently Male"] = "Actuellement homme";
+App::$strings["Currently Female"] = "Actuellement femme";
+App::$strings["Mostly Male"] = "Surtout homme";
+App::$strings["Mostly Female"] = "Surtout femme";
+App::$strings["Transgender"] = "Transgenre";
+App::$strings["Intersex"] = "Intersexuel";
+App::$strings["Transsexual"] = "Transsexuel";
+App::$strings["Hermaphrodite"] = "Hermaphrodite";
+App::$strings["Neuter"] = "Neutre";
+App::$strings["Non-specific"] = "Non spécifique";
+App::$strings["Other"] = "Autre";
+App::$strings["Undecided"] = "Indécis";
+App::$strings["Males"] = "Hommes";
+App::$strings["Females"] = "Femmes";
+App::$strings["Gay"] = "Gay";
+App::$strings["Lesbian"] = "Lesbienne";
+App::$strings["No Preference"] = "Sans préférence";
+App::$strings["Bisexual"] = "Bisexuel";
+App::$strings["Autosexual"] = "Autosexuel";
+App::$strings["Abstinent"] = "Abstinent";
+App::$strings["Virgin"] = "Vierge";
+App::$strings["Deviant"] = "Déviant";
+App::$strings["Fetish"] = "Fétichiste";
+App::$strings["Oodles"] = "Une floppée";
+App::$strings["Nonsexual"] = "Non-sexuel";
+App::$strings["Single"] = "Célibataire";
+App::$strings["Lonely"] = "Solitaire";
+App::$strings["Available"] = "Disponible";
+App::$strings["Unavailable"] = "Indisponible";
+App::$strings["Has crush"] = "A un béguin";
+App::$strings["Infatuated"] = "Amoureux transi";
+App::$strings["Dating"] = "Sort avec quelqu'un";
+App::$strings["Unfaithful"] = "Infidèle";
+App::$strings["Sex Addict"] = "Accro au sexe";
+App::$strings["Friends/Benefits"] = "Amis avec bénéfices";
+App::$strings["Casual"] = "Sans engagement";
+App::$strings["Engaged"] = "Fiancé(e)";
+App::$strings["Married"] = "Marié(e)";
+App::$strings["Imaginarily married"] = "Marié(e) dans ses rêves";
+App::$strings["Partners"] = "Partenaires";
+App::$strings["Cohabiting"] = "En cohabitation";
+App::$strings["Common law"] = "Conjoints de fait";
+App::$strings["Happy"] = "Heureux";
+App::$strings["Not looking"] = "Pas en recherche";
+App::$strings["Swinger"] = "Echangiste";
+App::$strings["Betrayed"] = "Trahi(e)";
+App::$strings["Separated"] = "Séparé(e)";
+App::$strings["Unstable"] = "Instable";
+App::$strings["Divorced"] = "Divorcé(e)";
+App::$strings["Imaginarily divorced"] = "Divorcé(e) dans ses rêves";
+App::$strings["Widowed"] = "Veuf/veuve";
+App::$strings["Uncertain"] = "Incertain";
+App::$strings["It's complicated"] = "C'est compliqué";
+App::$strings["Don't care"] = "S'en fiche";
+App::$strings["Ask me"] = "Me demander";
+App::$strings["Visible to your default audience"] = "Visible pour vos contacts seulement";
+App::$strings["Only me"] = "";
+App::$strings["Public"] = "Public";
+App::$strings["Anybody in the \$Projectname network"] = "";
+App::$strings["Any account on %s"] = "";
+App::$strings["Any of my connections"] = "";
+App::$strings["Only connections I specifically allow"] = "";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "";
+App::$strings["Any connections including those who haven't yet been approved"] = "";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "";
+App::$strings["This is your default setting for who can view your default channel profile"] = "";
+App::$strings["This is your default setting for who can view your connections"] = "";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "";
+App::$strings["This is your default setting for the audience of your webpages"] = "";
+App::$strings["Not a valid email address"] = "Ce n'est pas une adresse de courriel valide";
+App::$strings["Your email domain is not among those allowed on this site"] = "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site";
+App::$strings["Your email address is already registered at this site."] = "Votre adresse de courriel est déjà inscrite sur ce site.";
+App::$strings["An invitation is required."] = "Une invitation est requise.";
+App::$strings["Invitation could not be verified."] = "Votre invitation n'a pas pu être vérifiée.";
+App::$strings["Please enter the required information."] = "Merci d'entrer les informations requises.";
+App::$strings["Failed to store account information."] = "Impossible de stocker les informations liées au compte.";
+App::$strings["Registration confirmation for %s"] = "Confirmation de l'inscription pour %s";
+App::$strings["Registration request at %s"] = "Demande d'inscription sur %s";
+App::$strings["Administrator"] = "Administrateur";
+App::$strings["your registration password"] = "votre mot de passe d'inscription";
+App::$strings["Registration details for %s"] = "Détails de l'inscription pour %s";
+App::$strings["Account approved."] = "Compte approuvé.";
+App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s";
+App::$strings["Account verified. Please login."] = "Compte vérifié. Veuillez vous connecter.";
+App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait.";
+App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas disponible avec votre forfait.";
+App::$strings["Item was not found."] = "Élément introuvable.";
+App::$strings["No source file."] = "Pas de fichier source.";
+App::$strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer.";
+App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour";
+App::$strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Le fichier stocké n'a pu être vérifié. Echec de l'envoi.";
+App::$strings["Path not available."] = "Chemin non disponible.";
+App::$strings["Empty pathname"] = "Chemin vide";
+App::$strings["duplicate filename or path"] = "doublon de chemin ou de fichier";
+App::$strings["Path not found."] = "Chemin introuvable.";
+App::$strings["mkdir failed."] = "mkdir a échoué.";
+App::$strings["database storage failed."] = "l'écriture dans la base de données a échoué.";
+App::$strings["Empty path"] = "Chemin vide";
+App::$strings["Unable to obtain identity information from database"] = "Impossible d'obtenir les données d'identité depuis la base de données";
+App::$strings["Empty name"] = "Nom vide";
+App::$strings["Name too long"] = "Nom trop long";
+App::$strings["No account identifier"] = "Pas d'identifiant de compte";
+App::$strings["Nickname is required."] = "Un surnom est requis.";
+App::$strings["Reserved nickname. Please choose another."] = "Surnom réservé. Merci d'en choisir un autre.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits ou est déjà pris sur ce site.";
+App::$strings["Unable to retrieve created identity"] = "Impossible de récupérer l'identité créée";
+App::$strings["Default Profile"] = "Profil par défaut";
+App::$strings["Requested channel is not available."] = "Canal demandé non disponible.";
+App::$strings["Create New Profile"] = "Créer un nouveau profil";
+App::$strings["Visible to everybody"] = "Visible de tous";
+App::$strings["Gender:"] = "Sexe&nbsp;:";
+App::$strings["Status:"] = "État&nbsp;:";
+App::$strings["Homepage:"] = "Site Internet&nbsp;:";
+App::$strings["Online Now"] = "Connecté";
+App::$strings["Like this channel"] = "J'aime ce canal";
+App::$strings["j F, Y"] = "j F, Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Date de naissance&nbsp;:";
+App::$strings["for %1\$d %2\$s"] = "depuis %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
+App::$strings["Tags:"] = "Étiquettes&nbsp;:";
+App::$strings["Political Views:"] = "Opinions politiques&nbsp;:";
+App::$strings["Religion:"] = "Religion&nbsp;:";
+App::$strings["Hobbies/Interests:"] = "Occupations/Centres d'intérêt&nbsp;:";
+App::$strings["Likes:"] = "Aime&nbsp;:";
+App::$strings["Dislikes:"] = "N'aime pas&nbsp;:";
+App::$strings["Contact information and Social Networks:"] = "Coordonnées et réseaux sociaux&nbsp;:";
+App::$strings["My other channels:"] = "Mes autres canaux&nbsp;:";
+App::$strings["Musical interests:"] = "Goûts musicaux&nbsp;:";
+App::$strings["Books, literature:"] = "Lectures, goûts littéraires&nbsp;:";
+App::$strings["Television:"] = "Télévision&nbsp;:";
+App::$strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nsbp;:";
+App::$strings["Love/Romance:"] = "Vie sentimentale/amoureuse&nbsp;:";
+App::$strings["Work/employment:"] = "Travail/Occupation&nbsp;";
+App::$strings["School/education:"] = "Études&nbsp;";
+App::$strings["Like this thing"] = "J'aime ceci";
+App::$strings["General Features"] = "Fonctionnalités générales";
+App::$strings["Content Expiration"] = "Expiration du contenu";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard";
+App::$strings["Multiple Profiles"] = "Profils multiples";
+App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils";
+App::$strings["Advanced Profiles"] = "Profils Avancés";
+App::$strings["Additional profile sections and selections"] = "Sections et sélections supplémentaires du profil";
+App::$strings["Profile Import/Export"] = "Importer/Exporter le profil";
+App::$strings["Save and load profile details across sites/channels"] = "Sauvegarder et charger les détails d'un profil entre sites/canaux";
+App::$strings["Web Pages"] = "Pages web";
+App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal";
+App::$strings["Hide Rating"] = "Masquer l'évaluation";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs.";
+App::$strings["Private Notes"] = "Notes privées";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)";
+App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation déroulant";
+App::$strings["Photo Location"] = "Site de prise de vue";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte.";
+App::$strings["Access Controlled Chatrooms"] = "";
+App::$strings["Provide chatrooms and chat services with access control."] = "";
+App::$strings["Smart Birthdays"] = "Anniversaires intelligents";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents.";
+App::$strings["Expert Mode"] = "Mode expert";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activer le mode expert pour accéder aux options avancées";
+App::$strings["Premium Channel"] = "Canal VIP";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal";
+App::$strings["Post Composition Features"] = "Fonctionnalités de composition";
+App::$strings["Large Photos"] = "Grandes photos";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px).";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif";
+App::$strings["Even More Encryption"] = "Encore plus de chiffrement";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé";
+App::$strings["Enable Voting Tools"] = "Activer les outils de vote";
+App::$strings["Provide a class of post which others can vote on"] = "Fournit un type de publication sur lequel les utilisateurs peuvent voter";
+App::$strings["Delayed Posting"] = "Publication plus tard";
+App::$strings["Allow posts to be published at a later date"] = "Permettre de publier des messages à une date programmée";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Supprimer les publications/commentaires en doublon";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle";
+App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux";
+App::$strings["Search by Date"] = "Chercher par date";
+App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date";
+App::$strings["Privacy Groups"] = "Groupes d'accès";
+App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes d'accès";
+App::$strings["Save search terms for re-use"] = "Sauvegarder des termes de recherche pour utilisation ultérieure";
+App::$strings["Network Personal Tab"] = "Onglet \"Me concernant\"";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu";
+App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\"";
+App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet présentant toute l'activité récente sur le réseau";
+App::$strings["Affinity Tool"] = "Gérer l'affinité";
+App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations";
+App::$strings["Connection Filtering"] = "Filtrage des contacts";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs";
+App::$strings["Show channel suggestions"] = "Montrer les suggestions de canaux";
+App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires";
+App::$strings["Community Tagging"] = "Etiquetage communautaire";
+App::$strings["Ability to tag existing posts"] = "Permettre de marquer les publications existantes";
+App::$strings["Post Categories"] = "Catégoriser les publications";
+App::$strings["Add categories to your posts"] = "Ajouter des catégories à vos publications";
+App::$strings["Emoji Reactions"] = "";
+App::$strings["Add emoji reaction ability to posts"] = "";
+App::$strings["Ability to file posts under folders"] = "Permettre de classer les publications dans des dossiers";
+App::$strings["Dislike Posts"] = "\"Ne pas aimer\" les publications";
+App::$strings["Ability to dislike posts/comments"] = "Possibilité de \"ne pas aimer\" les publications/commentaires";
+App::$strings["Star Posts"] = "Pouvoir mettre en avant les publications";
+App::$strings["Ability to mark special posts with a star indicator"] = "Pouvoir marquer certaines publications d'une étoile";
+App::$strings["Tag Cloud"] = "Nuage de tags";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Afficher un nuage de vos tags sur votre canal";
+App::$strings["Embedded content"] = "Contenu imbriqué";
+App::$strings["Embedding disabled"] = "Imbrication désactivée";
+App::$strings["Who can see this?"] = "";
+App::$strings["Custom selection"] = "";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "";
+App::$strings["Show"] = "Montrer";
+App::$strings["Don't show"] = "Cacher";
+App::$strings["Other networks and post services"] = "Autres réseaux et services de messagerie";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "";
+App::$strings["Logged out."] = "Deconnecté.";
+App::$strings["Failed authentication"] = "Échec de l'authentification";
+App::$strings["Birthday"] = "Anniversaire";
+App::$strings["Age: "] = "Age&nbsp;:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-JJ ou MM-JJ";
+App::$strings["never"] = "jamais";
+App::$strings["less than a second ago"] = "à l'instant";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "il y a %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "an",
+ 1 => "ans",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "mois",
+ 1 => "mois",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "semaine",
+ 1 => "semaines",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "jour",
+ 1 => "jours",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "heure",
+ 1 => "heures",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minute",
+ 1 => "minutes",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "seconde",
+ 1 => "secondes",
+);
+App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent.";
+App::$strings["Add new connections to this privacy group"] = "Ajouter de nouveaux contacts à ce groupe d'accès";
+App::$strings["edit"] = "modifier";
+App::$strings["Edit group"] = "Modifier le groupe";
+App::$strings["Add privacy group"] = "Ajouter un groupe d'accès";
+App::$strings["Channels not in any privacy group"] = "Canaux n'étant dans aucun groupe d'accès";
+App::$strings["Delete this item?"] = "Supprimer cet élément?";
+App::$strings["[-] show less"] = "[-] montrer moins";
+App::$strings["[+] expand"] = "[+] déplier";
+App::$strings["[-] collapse"] = "[-] replier";
+App::$strings["Password too short"] = "Mot de passe trop court";
+App::$strings["Passwords do not match"] = "Les mots de passe ne correspondent pas";
+App::$strings["everybody"] = "tout le monde";
+App::$strings["Secret Passphrase"] = "Phrase de passe secrète";
+App::$strings["Passphrase hint"] = "Indice pour la phrase de passe";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées.";
+App::$strings["close all"] = "fermer tout";
+App::$strings["Nothing new here"] = "Aucun nouveau contenu trouvé";
+App::$strings["Rate This Channel (this is public)"] = "Evaluer ce canal (publiquement)";
+App::$strings["Describe (optional)"] = "Description (facultative)";
+App::$strings["Please enter a link URL"] = "Merci d'insérer une URL";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Changements en attente. Voulez-vous vraiment quitter cette page?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "auparavant";
+App::$strings["from now"] = "de maintenant";
+App::$strings["less than a minute"] = "moins d'une minute";
+App::$strings["about a minute"] = "environ une minute";
+App::$strings["%d minutes"] = "%d minutes";
+App::$strings["about an hour"] = "environ une heure";
+App::$strings["about %d hours"] = "environ %d heures";
+App::$strings["a day"] = "un jour";
+App::$strings["%d days"] = "%d jours";
+App::$strings["about a month"] = "environ un mois";
+App::$strings["%d months"] = "%d mois";
+App::$strings["about a year"] = "environ un an";
+App::$strings["%d years"] = "%d années";
+App::$strings[" "] = "";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "Mai";
+App::$strings["Jan"] = "Jan";
+App::$strings["Feb"] = "Fev";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Avr";
+App::$strings["__ctx:short__ May"] = "Mai";
+App::$strings["Jun"] = "Jun";
+App::$strings["Jul"] = "Jul";
+App::$strings["Aug"] = "Aou";
+App::$strings["Sep"] = "Sep";
+App::$strings["Oct"] = "Oct";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Dec";
+App::$strings["Sun"] = "Dim";
+App::$strings["Mon"] = "Lun";
+App::$strings["Tue"] = "Mar";
+App::$strings["Wed"] = "Mer";
+App::$strings["Thu"] = "Jeu";
+App::$strings["Fri"] = "Ven";
+App::$strings["Sat"] = "Sam";
+App::$strings["__ctx:calendar__ today"] = "aujourd'hui";
+App::$strings["__ctx:calendar__ month"] = "mois";
+App::$strings["__ctx:calendar__ week"] = "semaine";
+App::$strings["__ctx:calendar__ day"] = "jour";
+App::$strings["__ctx:calendar__ All day"] = "Toute la journée";
+App::$strings["view full size"] = "voir en taille réelle";
+App::$strings["No Subject"] = "Pas d'objet";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "Linkedin";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets";
+App::$strings["Image file is empty."] = "L'image est vide.";
+App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué.";
+App::$strings["a new photo"] = "une nouvelle photo";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s a publié %2\$s pour %3\$s";
+App::$strings["Upload New Photos"] = "Ajouter des photos";
+App::$strings["Invalid data packet"] = "Paquet de données invalide";
+App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal";
+App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s";
+App::$strings["invalid target signature"] = "signature de la cible invalide";
+App::$strings["New Page"] = "Nouvelle page";
+App::$strings["Title"] = "Titre";
+App::$strings["Can view my normal stream and posts"] = "Peut voir les publications ordinaires sur mon canal.";
+App::$strings["Can view my default channel profile"] = "Peut voir le profil du canal par défaut.";
+App::$strings["Can view my connections"] = "Peut voir mes contacts";
+App::$strings["Can view my file storage and photos"] = "Peut voir mes fichiers et photos";
+App::$strings["Can view my webpages"] = "Peut voir mes pages web";
+App::$strings["Can send me their channel stream and posts"] = "Peuvent m'envoyer leur flux et les publications de leur canal";
+App::$strings["Can post on my channel page (\"wall\")"] = "Peuvent poster sur la page de mon canal (\"mur\")";
+App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications";
+App::$strings["Can send me private mail messages"] = "Peuvent m'envoyer des messages privés";
+App::$strings["Can like/dislike stuff"] = "Peuvent aimer/ne pas aimer";
+App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires.";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts de mon canal via \"@mention\"";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avancé - utile pour les canaux de type \"forum/groupe\"";
+App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (quand disponibie)";
+App::$strings["Can write to my file storage and photos"] = "Peut charger des fichiers et des photos dans mon canal";
+App::$strings["Can edit my webpages"] = "Peut modifier mes pages web";
+App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques vers des canaux dérivés";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes";
+App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes";
+App::$strings["Social Networking"] = "Réseau social";
+App::$strings["Social - Mostly Public"] = "Social - surtout public";
+App::$strings["Social - Restricted"] = "Social - restreint";
+App::$strings["Social - Private"] = "Social - privé";
+App::$strings["Community Forum"] = "Forum communautaire";
+App::$strings["Forum - Mostly Public"] = "Forum - surtout public";
+App::$strings["Forum - Restricted"] = "Forum - restreint";
+App::$strings["Forum - Private"] = "Forum - privé";
+App::$strings["Feed Republish"] = "Republication de flux";
+App::$strings["Feed - Mostly Public"] = "Flux - surtout public";
+App::$strings["Feed - Restricted"] = "Flux - restreint";
+App::$strings["Special Purpose"] = "Utilisation spécifique";
+App::$strings["Special - Celebrity/Soapbox"] = "Spécial - célébrité/promotion";
+App::$strings["Special - Group Repository"] = "Spécial - dépôt partagé";
+App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique";
+App::$strings[" and "] = "et";
+App::$strings["public profile"] = "profil public";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s a changé %2\$s en &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Visiter %2\$s de %1\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s.";
+App::$strings["Attachments:"] = "Pièces jointes&nbsp;:";
+App::$strings["\$Projectname event notification:"] = "Notification d'événement de \$Projectname&nbsp;:";
App::$strings["Focus (Hubzilla default)"] = "Focus (par défaut pour Hubzilla)";
App::$strings["Theme settings"] = "Paramètres du thème";
App::$strings["Select scheme"] = "Définir la palette de couleurs";
@@ -2232,6 +2289,8 @@ App::$strings["Left align page content"] = "Aligner à gauche le contenu de la p
App::$strings["Set minimum opacity of nav bar - to hide it"] = "Définir l'opacité minimum du bandeau de navigation - pour le cacher";
App::$strings["Set size of conversation author photo"] = "Définir la taille de la photo de l'auteur d'une conversation";
App::$strings["Set size of followup author photos"] = "Définir la taille de la photo de l'auteur d'une réponse";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "";
App::$strings["Update %s failed. See error logs."] = "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur.";
App::$strings["Update Error at %s"] = "Erreur de mise à jour sur %s";
App::$strings["Create an account to access services and applications within the Hubzilla"] = "Créez un compte pour pouvoir accéder aux services et applications de Hubzilla";
diff --git a/view/fr/messages.po b/view/fr/messages.po
index c54cd5f2c..62c6a80d4 100644
--- a/view/fr/messages.po
+++ b/view/fr/messages.po
@@ -1,746 +1,1434 @@
-# Hubzilla Project
-# Copyright (C) 2012-2014 the Hubzilla Project
+# Red Matrix Project
+# Copyright (C) 2012-2014 the Red Matrix Project
# This file is distributed under the same license as the Red package.
#
# Translators:
-# Olivier <olivier+transifex@migeot.org>, 2013-2014
-# Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>, 2014
-# Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>, 2014
+# kris1373 <aktosc@gmail.com>, 2015
+# Chez Zot <chezzot@chezzot.red>, 2015
+# Laurent Pelecq <lpelecq+github@circoise.eu>, 2016
+# Olivier <olivier+transifex@migeot.org>, 2013-2016
+# Webmaster_Redmatrix.ca <webmaster@redmatrix.ca>, 2014
+# Webmaster_Redmatrix.ca <webmaster@redmatrix.ca>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Hubzilla\n"
+"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-08-15 00:03-0700\n"
-"PO-Revision-Date: 2014-08-17 00:08+0000\n"
-"Last-Translator: Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/red-matrix/language/fr/)\n"
+"POT-Creation-Date: 2016-05-20 00:01-0700\n"
+"PO-Revision-Date: 2016-04-22 19:16+0000\n"
+"Last-Translator: Laurent Pelecq <lpelecq+github@circoise.eu>\n"
+"Language-Team: French (http://www.transifex.com/Friendica/red-matrix/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ../../include/dba/dba_driver.php:50
+#: ../../include/Import/import_diaspora.php:17
+msgid "No username found in import file."
+msgstr "Aucun nom d'utilisateur dans le fichier d'import."
+
+#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossible de créer une adresse de canal unique. Échec de l'import."
+
+#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:562
+msgid "Import completed."
+msgstr "L'import est terminé."
+
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:265
+msgid "parent"
+msgstr "retour"
+
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2561
+msgid "Collection"
+msgstr "Collection"
+
+#: ../../include/RedDAV/RedBrowser.php:134
+msgid "Principal"
+msgstr "Principal"
+
+#: ../../include/RedDAV/RedBrowser.php:137
+msgid "Addressbook"
+msgstr "Carnet d'adresse"
+
+#: ../../include/RedDAV/RedBrowser.php:140
+msgid "Calendar"
+msgstr "Calendrier"
+
+#: ../../include/RedDAV/RedBrowser.php:143
+msgid "Schedule Inbox"
+msgstr "Calendrier - Message entrants"
+
+#: ../../include/RedDAV/RedBrowser.php:146
+msgid "Schedule Outbox"
+msgstr "Calendrier - Message sortants"
+
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:336
+#: ../../include/apps.php:387 ../../include/conversation.php:1030
+#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: ../../include/RedDAV/RedBrowser.php:227
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s utilisé"
+
+#: ../../include/RedDAV/RedBrowser.php:232
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s utilisé de %2$s (%3$s&#37;)"
+
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/apps.php:135 ../../include/conversation.php:1620
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Fichiers"
+
+#: ../../include/RedDAV/RedBrowser.php:253
+msgid "Total"
+msgstr "Total"
+
+#: ../../include/RedDAV/RedBrowser.php:255
+msgid "Shared"
+msgstr "Partagé"
+
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152
+#: ../../mod/layouts.php:175 ../../mod/menu.php:112
+#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180
+msgid "Create"
+msgstr "Créer"
+
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:718
+#: ../../mod/photos.php:1248 ../../mod/profile_photo.php:362
+msgid "Upload"
+msgstr "Envoyer"
+
+#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../mod/sharedwithme.php:95
+msgid "Name"
+msgstr "Nom"
+
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "Type"
+msgstr "Type"
+
+#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+msgid "Size"
+msgstr "Taille"
+
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+msgid "Last Modified"
+msgstr "Modifié le"
+
+#: ../../include/RedDAV/RedBrowser.php:266 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:108
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../mod/blocks.php:153 ../../mod/connections.php:242
+#: ../../mod/connections.php:255 ../../mod/connections.php:274
+#: ../../mod/editblock.php:134 ../../mod/editlayout.php:133
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:178
+#: ../../mod/settings.php:650 ../../mod/layouts.php:183 ../../mod/menu.php:106
+#: ../../mod/thing.php:255 ../../mod/webpages.php:181
+msgid "Edit"
+msgstr "Éditer"
+
+#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/apps.php:255 ../../include/conversation.php:671
+#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/photos.php:1062
+#: ../../mod/blocks.php:155 ../../mod/connedit.php:563
+#: ../../mod/editblock.php:180 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:225 ../../mod/group.php:176
+#: ../../mod/settings.php:651 ../../mod/thing.php:256
+#: ../../mod/webpages.php:183
+msgid "Delete"
+msgstr "Supprimer"
+
+#: ../../include/RedDAV/RedBrowser.php:302
+msgid "Create new folder"
+msgstr "Nouveau dossier"
+
+#: ../../include/RedDAV/RedBrowser.php:304
+msgid "Upload file"
+msgstr "Téléverser un fichier"
+
+#: ../../include/dba/dba_driver.php:141
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Impossible de trouver les infos DNS du serveur de base de données '%s'"
+msgstr "Impossible de trouver les infos DNS du serveur de BD '%s'"
-#: ../../include/photo/photo_driver.php:653 ../../include/photos.php:51
-#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:421 ../../mod/photos.php:91
-#: ../../mod/photos.php:659 ../../mod/photos.php:681
+#: ../../include/photo/photo_driver.php:703 ../../mod/photos.php:92
+#: ../../mod/photos.php:637 ../../mod/profile_photo.php:143
+#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
msgid "Profile Photos"
msgstr "Photos du profil"
-#: ../../include/diaspora.php:610
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s et %2$s sont maintenant amis."
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+msgid "Logout"
+msgstr "Déconnexion"
-#: ../../include/diaspora.php:693
-msgid "Sharing notification from Diaspora network"
-msgstr "Partage de vos notifications du réseau Diaspora"
+#: ../../include/nav.php:87 ../../include/nav.php:120
+msgid "End this session"
+msgstr "Mettre fin à la session"
-#: ../../include/diaspora.php:1910 ../../include/text.php:1732
-#: ../../include/conversation.php:120 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:294
-msgid "photo"
-msgstr "photo"
+#: ../../include/nav.php:90 ../../include/nav.php:151
+msgid "Home"
+msgstr "Canal"
-#: ../../include/diaspora.php:1910 ../../include/text.php:1738
-#: ../../include/conversation.php:148 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:294
-msgid "status"
-msgstr "le statut"
+#: ../../include/nav.php:90
+msgid "Your posts and conversations"
+msgstr "Vos publications et conversations"
-#: ../../include/diaspora.php:1926 ../../include/conversation.php:164
-#: ../../mod/like.php:331
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s aime %3$s de %2$s"
+#: ../../include/nav.php:91 ../../include/conversation.php:953
+#: ../../mod/connedit.php:510
+msgid "View Profile"
+msgstr "Profil"
-#: ../../include/diaspora.php:2303
-msgid "Attachments:"
-msgstr "Pièces jointes:"
+#: ../../include/nav.php:91
+msgid "Your profile page"
+msgstr "Votre profil"
-#: ../../include/oembed.php:163
-msgid "Embedded content"
-msgstr "Contenu imbriqué"
+#: ../../include/nav.php:93
+msgid "Edit Profiles"
+msgstr "Éditer les profils"
-#: ../../include/oembed.php:172
-msgid "Embedding disabled"
-msgstr "Imbrication désactivée"
+#: ../../include/nav.php:93
+msgid "Manage/Edit profiles"
+msgstr "Gérer/éditer les profils"
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "a publié"
+#: ../../include/nav.php:95 ../../include/identity.php:979
+msgid "Edit Profile"
+msgstr "Éditeur de profil"
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "a commenté la publication de %s"
+#: ../../include/nav.php:95
+msgid "Edit your profile"
+msgstr "Éditer votre profil"
-#: ../../include/apps.php:123
-msgid "Site Admin"
-msgstr "Administrateur"
+#: ../../include/nav.php:97 ../../include/apps.php:139
+#: ../../include/conversation.php:1611 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Photos"
-#: ../../include/apps.php:124 ../../include/nav.php:100
-#: ../../include/conversation.php:1543
+#: ../../include/nav.php:97
+msgid "Your photos"
+msgstr "Vos photos"
+
+#: ../../include/nav.php:98
+msgid "Your files"
+msgstr "Vos fichiers"
+
+#: ../../include/nav.php:103 ../../include/apps.php:146
+msgid "Chat"
+msgstr "Clavardage"
+
+#: ../../include/nav.php:103
+msgid "Your chatrooms"
+msgstr "Vos salons"
+
+#: ../../include/nav.php:109 ../../include/apps.php:129
+#: ../../include/conversation.php:1646
msgid "Bookmarks"
msgstr "Favoris"
-#: ../../include/apps.php:125
-msgid "Address Book"
-msgstr "Carnet d'adresses"
+#: ../../include/nav.php:109
+msgid "Your bookmarks"
+msgstr "Vos favoris"
+
+#: ../../include/nav.php:113 ../../include/apps.php:136
+#: ../../include/conversation.php:1656 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "Pages web"
+
+#: ../../include/nav.php:113
+msgid "Your webpages"
+msgstr "Vos pages web"
-#: ../../include/apps.php:126 ../../include/nav.php:106 ../../boot.php:1498
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
msgid "Login"
msgstr "Connexion"
-#: ../../include/apps.php:127 ../../include/nav.php:196
-msgid "Channel Select"
-msgstr "Changer de canal"
+#: ../../include/nav.php:117
+msgid "Sign in"
+msgstr "Connexion"
+
+#: ../../include/nav.php:134
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - cliquer ici pour déconnecter"
+
+#: ../../include/nav.php:137
+msgid "Remote authentication"
+msgstr "Authentification distante"
+
+#: ../../include/nav.php:137
+msgid "Click to authenticate to your home hub"
+msgstr "S'authentifier auprès de votre hub"
+
+#: ../../include/nav.php:151
+msgid "Home Page"
+msgstr "Page d'accueil"
+
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+msgid "Register"
+msgstr "S'inscrire"
+
+#: ../../include/nav.php:155
+msgid "Create an account"
+msgstr "Créer un compte"
-#: ../../include/apps.php:128 ../../include/nav.php:170
+#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
+#: ../../mod/help.php:72 ../../mod/layouts.php:176
+msgid "Help"
+msgstr "Aide"
+
+#: ../../include/nav.php:160
+msgid "Help and documentation"
+msgstr "Aide et documentation"
+
+#: ../../include/nav.php:163 ../../include/widgets.php:91
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "Applications"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Applications, utilitaires, liens, jeux"
+
+#: ../../include/nav.php:165 ../../include/text.php:914
+#: ../../include/text.php:926 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Recherche"
+
+#: ../../include/nav.php:165
+msgid "Search site content"
+msgstr "Rechercher parmi le contenu du site"
+
+#: ../../include/nav.php:168 ../../include/apps.php:141
+msgid "Directory"
+msgstr "Annuaire"
+
+#: ../../include/nav.php:168
+msgid "Channel Directory"
+msgstr "Annuaire des canaux"
+
+#: ../../include/nav.php:180 ../../include/apps.php:133
msgid "Matrix"
msgstr "Matrice"
-#: ../../include/apps.php:129 ../../include/nav.php:198
-#: ../../include/widgets.php:514 ../../mod/admin.php:987
-#: ../../mod/admin.php:1192
-msgid "Settings"
-msgstr "Réglages"
-
-#: ../../include/apps.php:130 ../../include/nav.php:92
-#: ../../include/reddav.php:1280 ../../include/conversation.php:1521
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Fichiers"
+#: ../../include/nav.php:180
+msgid "Your matrix"
+msgstr "Votre matrice"
-#: ../../include/apps.php:131 ../../include/nav.php:102
-#: ../../include/conversation.php:1554 ../../mod/webpages.php:79
-msgid "Webpages"
-msgstr "Pages web"
+#: ../../include/nav.php:181
+msgid "Mark all matrix notifications seen"
+msgstr "Marquer toutes les notifications de la matrice comme vues"
-#: ../../include/apps.php:132 ../../include/nav.php:173
+#: ../../include/nav.php:183 ../../include/apps.php:137
msgid "Channel Home"
msgstr "Mon canal"
-#: ../../include/apps.php:133 ../../include/identity.php:973
-#: ../../include/identity.php:1091 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profil"
+#: ../../include/nav.php:183
+msgid "Channel home"
+msgstr "Mon canal"
-#: ../../include/apps.php:134 ../../include/nav.php:91
-#: ../../include/conversation.php:1512 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Photos"
+#: ../../include/nav.php:184
+msgid "Mark all channel notifications seen"
+msgstr "Marquer toutes les notifications du canal comme vues"
-#: ../../include/apps.php:135 ../../include/nav.php:192
-#: ../../mod/events.php:396
-msgid "Events"
-msgstr "Événements"
+#: ../../include/nav.php:187 ../../mod/connections.php:267
+msgid "Connections"
+msgstr "Relations"
-#: ../../include/apps.php:136 ../../include/nav.php:159
-#: ../../mod/directory.php:226
-msgid "Directory"
-msgstr "Annuaire"
+#: ../../include/nav.php:190
+msgid "Notices"
+msgstr "Notifications"
-#: ../../include/apps.php:137 ../../include/nav.php:151 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
-msgstr "Aide"
+#: ../../include/nav.php:190
+msgid "Notifications"
+msgstr "Notifications"
+
+#: ../../include/nav.php:191
+msgid "See all notifications"
+msgstr "Voir toutes les notifications"
-#: ../../include/apps.php:138 ../../include/nav.php:184
+#: ../../include/nav.php:192 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Marquer toutes les notifications système comme vues"
+
+#: ../../include/nav.php:194 ../../include/apps.php:143
msgid "Mail"
msgstr "Messages"
-#: ../../include/apps.php:139 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Humeur"
+#: ../../include/nav.php:194
+msgid "Private mail"
+msgstr "Messages privés"
-#: ../../include/apps.php:140 ../../include/conversation.php:945
-msgid "Poke"
-msgstr "Cogner"
+#: ../../include/nav.php:195
+msgid "See all private messages"
+msgstr "Voir tous les messages privés"
-#: ../../include/apps.php:141 ../../include/nav.php:97
-msgid "Chat"
-msgstr "Clavardage"
+#: ../../include/nav.php:196
+msgid "Mark all private messages seen"
+msgstr "Marquer tous les messages privés comme vus"
-#: ../../include/apps.php:142 ../../include/text.php:815
-#: ../../include/text.php:829 ../../include/nav.php:156
-#: ../../mod/search.php:30
-msgid "Search"
-msgstr "Recherche"
+#: ../../include/nav.php:197
+msgid "Inbox"
+msgstr "Boîte de réception"
-#: ../../include/apps.php:143
-msgid "Probe"
-msgstr "Sonder"
+#: ../../include/nav.php:198
+msgid "Outbox"
+msgstr "Boîte d'envoi"
-#: ../../include/apps.php:144
-msgid "Suggest"
-msgstr "Suggérer"
+#: ../../include/nav.php:199 ../../include/widgets.php:577
+msgid "New Message"
+msgstr "Nouveau message"
-#: ../../include/apps.php:145
-msgid "Random Channel"
-msgstr "Un canal au hasard"
+#: ../../include/nav.php:202 ../../include/apps.php:140
+#: ../../mod/events.php:503
+msgid "Events"
+msgstr "Événements"
-#: ../../include/apps.php:146
-msgid "Invite"
-msgstr "Invitation"
+#: ../../include/nav.php:202
+msgid "Event Calendar"
+msgstr "Calendrier des événements"
-#: ../../include/apps.php:147
-msgid "Features"
-msgstr "Fonctionalités"
+#: ../../include/nav.php:203
+msgid "See all events"
+msgstr "Voir tous les événements"
-#: ../../include/apps.php:148
-msgid "Language"
-msgstr "Langue"
+#: ../../include/nav.php:204
+msgid "Mark all events seen"
+msgstr "Marquer tous les événements comme vus"
-#: ../../include/apps.php:149
-msgid "Post"
-msgstr "Envoyer"
+#: ../../include/nav.php:206 ../../include/apps.php:132
+#: ../../mod/manage.php:166
+msgid "Channel Manager"
+msgstr "Gérer les canaux"
-#: ../../include/apps.php:150
-msgid "Profile Photo"
-msgstr "Photo du profil"
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gérer vos canaux"
-#: ../../include/apps.php:239 ../../mod/settings.php:79
-#: ../../mod/settings.php:543
-msgid "Update"
-msgstr "Mise à jour"
+#: ../../include/nav.php:208 ../../include/widgets.php:556
+#: ../../include/apps.php:134 ../../mod/admin.php:1079
+#: ../../mod/admin.php:1279
+msgid "Settings"
+msgstr "Réglages"
-#: ../../include/apps.php:239
-msgid "Install"
-msgstr "Installer"
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Réglages du Compte/Canal"
-#: ../../include/apps.php:244
-msgid "Purchase"
-msgstr "Acheter"
+#: ../../include/nav.php:216 ../../mod/admin.php:120
+msgid "Admin"
+msgstr "Administrateur"
-#: ../../include/apps.php:246 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/reddav.php:1289
-#: ../../include/menu.php:42 ../../include/ItemObject.php:96
-#: ../../mod/settings.php:579 ../../mod/blocks.php:94
-#: ../../mod/connections.php:393 ../../mod/editblock.php:111
-#: ../../mod/editlayout.php:106 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:143 ../../mod/thing.php:235
-#: ../../mod/layouts.php:112 ../../mod/menu.php:59 ../../mod/webpages.php:120
-msgid "Edit"
-msgstr "Éditer"
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Configuration du site"
-#: ../../include/apps.php:247 ../../include/reddav.php:1290
-#: ../../include/conversation.php:635 ../../include/ItemObject.php:108
-#: ../../mod/settings.php:580 ../../mod/connedit.php:440
-#: ../../mod/photos.php:1052 ../../mod/group.php:176 ../../mod/admin.php:767
-#: ../../mod/admin.php:897 ../../mod/thing.php:236
-msgid "Delete"
-msgstr "Supprimer"
+#: ../../include/nav.php:247 ../../include/conversation.php:861
+msgid "Loading..."
+msgstr "Chargement..."
-#: ../../include/apps.php:328 ../../include/apps.php:379
-#: ../../include/reddav.php:1202 ../../mod/connedit.php:476
-msgid "Unknown"
-msgstr "Inconnu"
+#: ../../include/nav.php:252
+msgid "@name, #tag, content"
+msgstr "@nom, #tag, contenu"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Merci de patienter..."
+
+#: ../../include/network.php:650
+msgid "view full size"
+msgstr "pleine taille"
-#: ../../include/text.php:321
+#: ../../include/network.php:1600 ../../include/enotify.php:58
+msgid "$Projectname Notification"
+msgstr "Notification de $Projectname"
+
+#: ../../include/network.php:1601 ../../include/diaspora.php:2526
+#: ../../include/diaspora.php:2537 ../../include/enotify.php:59
+#: ../../mod/p.php:46
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../include/network.php:1603 ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Merci,"
+
+#: ../../include/network.php:1605 ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "l'administrateur de %s"
+
+#: ../../include/network.php:1647 ../../include/account.php:314
+#: ../../include/account.php:341 ../../include/account.php:401
+msgid "Administrator"
+msgstr "Administrateur"
+
+#: ../../include/network.php:1661
+msgid "No Subject"
+msgstr "Pas de sujet"
+
+#: ../../include/text.php:391
msgid "prev"
msgstr "préc."
-#: ../../include/text.php:323
+#: ../../include/text.php:393
msgid "first"
msgstr "premier"
-#: ../../include/text.php:352
+#: ../../include/text.php:422
msgid "last"
msgstr "dernier"
-#: ../../include/text.php:355
+#: ../../include/text.php:425
msgid "next"
msgstr "suiv."
-#: ../../include/text.php:367
+#: ../../include/text.php:435
msgid "older"
msgstr "plus ancien"
-#: ../../include/text.php:369
+#: ../../include/text.php:437
msgid "newer"
msgstr "plus récent"
-#: ../../include/text.php:730
+#: ../../include/text.php:830
msgid "No connections"
msgstr "Sans relations"
-#: ../../include/text.php:743
+#: ../../include/text.php:844
#, php-format
msgid "%d Connection"
msgid_plural "%d Connections"
msgstr[0] "%d relation"
msgstr[1] "%d relations"
-#: ../../include/text.php:756
+#: ../../include/text.php:857 ../../mod/viewconnections.php:104
msgid "View Connections"
msgstr "Voir les relations"
-#: ../../include/text.php:817 ../../include/text.php:831
-#: ../../include/widgets.php:186 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50
+#: ../../include/text.php:915 ../../include/text.php:927
+#: ../../include/widgets.php:192 ../../mod/admin.php:1457
+#: ../../mod/admin.php:1477 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50
msgid "Save"
msgstr "Sauver"
-#: ../../include/text.php:897
+#: ../../include/text.php:990
msgid "poke"
-msgstr "cogner"
+msgstr "cogne"
-#: ../../include/text.php:897 ../../include/conversation.php:243
+#: ../../include/text.php:990 ../../include/conversation.php:243
msgid "poked"
-msgstr "a cogné"
+msgstr "C'est fait cogner"
-#: ../../include/text.php:898
+#: ../../include/text.php:991
msgid "ping"
msgstr "solliciter"
-#: ../../include/text.php:898
+#: ../../include/text.php:991
msgid "pinged"
-msgstr "a sollicité"
+msgstr "sollicité"
-#: ../../include/text.php:899
+#: ../../include/text.php:992
msgid "prod"
-msgstr "encourager"
+msgstr "aiguillonner"
-#: ../../include/text.php:899
+#: ../../include/text.php:992
msgid "prodded"
-msgstr "a encouragé"
+msgstr "aiguillonné"
-#: ../../include/text.php:900
+#: ../../include/text.php:993
msgid "slap"
-msgstr "gifler"
+msgstr "giffle"
-#: ../../include/text.php:900
+#: ../../include/text.php:993
msgid "slapped"
-msgstr "a giflé"
+msgstr "gifflé"
-#: ../../include/text.php:901
+#: ../../include/text.php:994
msgid "finger"
msgstr "pointer"
-#: ../../include/text.php:901
+#: ../../include/text.php:994
msgid "fingered"
-msgstr "a pointé"
+msgstr "pointé"
-#: ../../include/text.php:902
+#: ../../include/text.php:995
msgid "rebuff"
-msgstr "rejeter"
+msgstr "rejetter"
-#: ../../include/text.php:902
+#: ../../include/text.php:995
msgid "rebuffed"
-msgstr "a rejeté"
+msgstr "rejetté"
-#: ../../include/text.php:911
+#: ../../include/text.php:1005
msgid "happy"
msgstr "heureux"
-#: ../../include/text.php:912
+#: ../../include/text.php:1006
msgid "sad"
msgstr "triste"
-#: ../../include/text.php:913
+#: ../../include/text.php:1007
msgid "mellow"
msgstr "mélancolique"
-#: ../../include/text.php:914
+#: ../../include/text.php:1008
msgid "tired"
msgstr "fatigué"
-#: ../../include/text.php:915
+#: ../../include/text.php:1009
msgid "perky"
msgstr "impertinent"
-#: ../../include/text.php:916
+#: ../../include/text.php:1010
msgid "angry"
-msgstr "colérique"
+msgstr "colèrique"
-#: ../../include/text.php:917
+#: ../../include/text.php:1011
msgid "stupified"
msgstr "stupéfié"
-#: ../../include/text.php:918
+#: ../../include/text.php:1012
msgid "puzzled"
msgstr "perplexe"
-#: ../../include/text.php:919
+#: ../../include/text.php:1013
msgid "interested"
msgstr "intéressé"
-#: ../../include/text.php:920
+#: ../../include/text.php:1014
msgid "bitter"
msgstr "amer"
-#: ../../include/text.php:921
+#: ../../include/text.php:1015
msgid "cheerful"
-msgstr "joyeux"
+msgstr "entrain"
-#: ../../include/text.php:922
+#: ../../include/text.php:1016
msgid "alive"
msgstr "énergique"
-#: ../../include/text.php:923
+#: ../../include/text.php:1017
msgid "annoyed"
-msgstr "agacé"
+msgstr "agaçé"
-#: ../../include/text.php:924
+#: ../../include/text.php:1018
msgid "anxious"
msgstr "anxieux"
-#: ../../include/text.php:925
+#: ../../include/text.php:1019
msgid "cranky"
msgstr "énervé"
-#: ../../include/text.php:926
+#: ../../include/text.php:1020
msgid "disturbed"
msgstr "perturbé"
-#: ../../include/text.php:927
+#: ../../include/text.php:1021
msgid "frustrated"
msgstr "frustré"
-#: ../../include/text.php:928
+#: ../../include/text.php:1022
msgid "depressed"
msgstr "déprimé"
-#: ../../include/text.php:929
+#: ../../include/text.php:1023
msgid "motivated"
msgstr "motivé"
-#: ../../include/text.php:930
+#: ../../include/text.php:1024
msgid "relaxed"
msgstr "détendu"
-#: ../../include/text.php:931
+#: ../../include/text.php:1025
msgid "surprised"
msgstr "surpris"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Monday"
msgstr "Lundi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Tuesday"
msgstr "Mardi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Wednesday"
msgstr "Mercredi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Thursday"
msgstr "Jeudi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Friday"
msgstr "Vendredi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Saturday"
msgstr "Samedi"
-#: ../../include/text.php:1092
+#: ../../include/text.php:1197
msgid "Sunday"
msgstr "Dimanche"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "January"
msgstr "Janvier"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "February"
msgstr "Février"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "March"
msgstr "Mars"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "April"
msgstr "Avril"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201 ../../mod/uexport.php:58
+#: ../../mod/uexport.php:59
msgid "May"
msgstr "Mai"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "June"
msgstr "Juin"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "July"
msgstr "Juillet"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "August"
msgstr "Août"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "September"
msgstr "Septembre"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "October"
msgstr "Octobre"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "November"
msgstr "Novembre"
-#: ../../include/text.php:1096
+#: ../../include/text.php:1201
msgid "December"
msgstr "Décembre"
-#: ../../include/text.php:1174
+#: ../../include/text.php:1306
msgid "unknown.???"
msgstr "inconnu.???"
-#: ../../include/text.php:1175
+#: ../../include/text.php:1307
msgid "bytes"
msgstr "octets"
-#: ../../include/text.php:1210
+#: ../../include/text.php:1343
msgid "remove category"
msgstr "supprimer la catégorie"
-#: ../../include/text.php:1280
+#: ../../include/text.php:1418
msgid "remove from file"
msgstr "retirer du fichier"
-#: ../../include/text.php:1345 ../../include/text.php:1357
+#: ../../include/text.php:1506 ../../include/text.php:1517
msgid "Click to open/close"
msgstr "Cliquer pour ouvrir/fermer"
-#: ../../include/text.php:1512 ../../mod/events.php:374
+#: ../../include/text.php:1673 ../../mod/events.php:474
msgid "Link to Source"
-msgstr "Lien vers la source"
-
-#: ../../include/text.php:1531
-msgid "Select a page layout: "
-msgstr "Choisir une mise en page&nbsp;:"
+msgstr "Lien vers la Source"
-#: ../../include/text.php:1534 ../../include/text.php:1599
+#: ../../include/text.php:1694 ../../include/text.php:1765
msgid "default"
msgstr "défaut"
-#: ../../include/text.php:1570
-msgid "Page content type: "
-msgstr "Type de contenu&nbsp;:"
+#: ../../include/text.php:1702
+msgid "Page layout"
+msgstr "Mises en page"
+
+#: ../../include/text.php:1702
+msgid "You can create your own with the layouts tool"
+msgstr "Créez les votres avec les outils de mise en page"
+
+#: ../../include/text.php:1743
+msgid "Page content type"
+msgstr "Type de contenu"
-#: ../../include/text.php:1611
+#: ../../include/text.php:1777
msgid "Select an alternate language"
msgstr "Choisir une langue alternative"
-#: ../../include/text.php:1735 ../../include/conversation.php:123
-#: ../../mod/tagger.php:49
+#: ../../include/text.php:1896 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr "photo"
+
+#: ../../include/text.php:1899 ../../include/conversation.php:123
+#: ../../mod/like.php:351 ../../mod/tagger.php:47
msgid "event"
msgstr "événement"
-#: ../../include/text.php:1740 ../../include/conversation.php:150
-#: ../../mod/tagger.php:55
+#: ../../include/text.php:1902 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+msgid "status"
+msgstr "le statut"
+
+#: ../../include/text.php:1904 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
msgid "comment"
msgstr "commentaire"
-#: ../../include/text.php:1745
+#: ../../include/text.php:1909
msgid "activity"
msgstr "activité"
-#: ../../include/text.php:2004
-msgid "Design"
-msgstr "Conception"
+#: ../../include/text.php:2204
+msgid "Design Tools"
+msgstr "Outils de conception"
-#: ../../include/text.php:2006
+#: ../../include/text.php:2207 ../../mod/blocks.php:147
msgid "Blocks"
msgstr "Blocs"
-#: ../../include/text.php:2007
+#: ../../include/text.php:2208 ../../mod/menu.php:101
msgid "Menus"
msgstr "Menus"
-#: ../../include/text.php:2008
+#: ../../include/text.php:2209 ../../mod/layouts.php:174
msgid "Layouts"
-msgstr "Mises en page"
+msgstr "Mises-en-page"
-#: ../../include/text.php:2009
+#: ../../include/text.php:2210
msgid "Pages"
msgstr "Pages"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Nouvelle page"
+#: ../../include/widgets.php:35 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:264
+msgid "Categories"
+msgstr "Catégories"
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:97
-#: ../../mod/layouts.php:116 ../../mod/webpages.php:123
-msgid "View"
-msgstr "Voir"
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "Système"
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1091
-#: ../../include/ItemObject.php:592 ../../mod/editblock.php:141
-#: ../../mod/editlayout.php:135 ../../mod/editpost.php:140
-#: ../../mod/editwebpage.php:174 ../../mod/photos.php:1003
-#: ../../mod/webpages.php:124
-msgid "Preview"
-msgstr "Aperçu"
+#: ../../include/widgets.php:94 ../../include/conversation.php:1515
+msgid "Personal"
+msgstr "Personnel"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:125
-msgid "Actions"
-msgstr "Actions"
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "Créer Votre Application"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:126
-msgid "Page Link"
-msgstr "Lien vers la page"
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "Éditer Votre Application"
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:127
-msgid "Title"
-msgstr "Titre"
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../include/conversation.php:956
+#: ../../include/identity.php:956 ../../mod/match.php:64
+#: ../../mod/directory.php:316 ../../mod/suggest.php:52
+msgid "Connect"
+msgstr "Ajouter"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:128
-msgid "Created"
-msgstr "Créé"
+#: ../../include/widgets.php:138 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
+msgstr "Ignorer/Cacher"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:129
-msgid "Edited"
-msgstr "Édité"
+#: ../../include/widgets.php:143 ../../mod/connections.php:128
+msgid "Suggestions"
+msgstr "Suggestion"
-#: ../../include/security.php:301
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Voir plus..."
+
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Vous avez %1$.0f des %2$.0f relations autorisées."
+
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Ajouter une nouvelle relation"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Adresse du canal"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Exemple&nbsp;: bob@exemple.com, http://exemple.com/barbara"
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Notes"
+
+#: ../../include/widgets.php:266
+msgid "Remove term"
+msgstr "Retirer le terme"
+
+#: ../../include/widgets.php:274 ../../include/features.php:70
+msgid "Saved Searches"
+msgstr "Recherches sauvées"
+
+#: ../../include/widgets.php:275 ../../include/group.php:303
+msgid "add"
+msgstr "ajouter"
+
+#: ../../include/widgets.php:304 ../../include/contact_widgets.php:57
+#: ../../include/features.php:83
+msgid "Saved Folders"
+msgstr "Dossiers sauvegardés"
+
+#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "Tout"
+
+#: ../../include/widgets.php:349
+msgid "Archives"
+msgstr "Archives"
+
+#: ../../include/widgets.php:429 ../../mod/connedit.php:583
+msgid "Me"
+msgstr "Moi"
+
+#: ../../include/widgets.php:430 ../../mod/connedit.php:584
+msgid "Family"
+msgstr "Famille"
+
+#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/identity.php:395 ../../include/identity.php:402
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:585
+#: ../../mod/settings.php:345 ../../mod/settings.php:349
+#: ../../mod/settings.php:350 ../../mod/settings.php:353
+#: ../../mod/settings.php:364
+msgid "Friends"
+msgstr "Amis"
+
+#: ../../include/widgets.php:432 ../../mod/connedit.php:586
+msgid "Acquaintances"
+msgstr "Mes connaissances"
+
+#: ../../include/widgets.php:433 ../../mod/connections.php:91
+#: ../../mod/connections.php:106 ../../mod/connedit.php:587
+msgid "All"
+msgstr "Tout"
+
+#: ../../include/widgets.php:452
+msgid "Refresh"
+msgstr "Actualiser"
+
+#: ../../include/widgets.php:487
+msgid "Account settings"
+msgstr "Réglages du Compte"
+
+#: ../../include/widgets.php:493
+msgid "Channel settings"
+msgstr "Réglages du Canal"
+
+#: ../../include/widgets.php:499
+msgid "Additional features"
+msgstr "Fonctions supplémentaires"
+
+#: ../../include/widgets.php:505
+msgid "Feature/Addon settings"
+msgstr "Extensions"
+
+#: ../../include/widgets.php:511
+msgid "Display settings"
+msgstr "Réglages d'affichage"
+
+#: ../../include/widgets.php:517
+msgid "Connected apps"
+msgstr "Applications connectées"
+
+#: ../../include/widgets.php:523
+msgid "Export channel"
+msgstr "Exporter le canal"
+
+#: ../../include/widgets.php:532 ../../mod/connedit.php:674
+msgid "Connection Default Permissions"
+msgstr "Permissions par défaut des connexions"
+
+#: ../../include/widgets.php:540
+msgid "Premium Channel Settings"
+msgstr "Canal VIP"
+
+#: ../../include/widgets.php:548 ../../include/features.php:59
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Canaux sources"
+
+#: ../../include/widgets.php:569 ../../mod/mail.php:128
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Messages"
+
+#: ../../include/widgets.php:572
+msgid "Check Mail"
+msgstr "Vérifier le courrier"
+
+#: ../../include/widgets.php:652
+msgid "Chat Rooms"
+msgstr "Salons de clavardage"
+
+#: ../../include/widgets.php:672
+msgid "Bookmarked Chatrooms"
+msgstr "Salons favoris"
+
+#: ../../include/widgets.php:692
+msgid "Suggested Chatrooms"
+msgstr "Salons suggérés"
+
+#: ../../include/widgets.php:819 ../../include/widgets.php:877
+msgid "photo/image"
+msgstr "photo/image"
+
+#: ../../include/widgets.php:972 ../../include/widgets.php:974
+msgid "Rate Me"
+msgstr "Me noter"
+
+#: ../../include/widgets.php:978
+msgid "View Ratings"
+msgstr "Voir mes notes"
+
+#: ../../include/widgets.php:989
+msgid "Public Hubs"
+msgstr "Instances publiques"
+
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "Nouvelle fenêtre"
+
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Ouvrir l'emplacement dans une fenêtre (ou un onglet) différent"
+
+#: ../../include/Contact.php:212
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Utilisateur '%s' supprimé"
+
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr "Pas de destinataire."
+
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[sans objet]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Impossible de déterminer l'émetteur."
+
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr "Le message stocké n'a pas pu être vérifié."
+
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr "Paquet de données invalide"
+
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr "Impossible de vérifier la signature du canal"
+
+#: ../../include/zot.php:2209
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossible de vérifier la signature de site pour %s"
+
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "a publié"
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "a commenté la publication de %s"
+
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:678
+msgid "Private Message"
+msgstr "Message Privé"
+
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:670
+msgid "Select"
+msgstr "Sélectionner"
+
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "Sauvegarder dans le dossier"
+
+#: ../../include/ItemObject.php:151
+msgid "I will attend"
+msgstr "J'y serais"
+
+#: ../../include/ItemObject.php:151
+msgid "I will not attend"
+msgstr "Je n'y serais pas"
+
+#: ../../include/ItemObject.php:151
+msgid "I might attend"
+msgstr "J'y serais peut-être"
+
+#: ../../include/ItemObject.php:161
+msgid "I agree"
+msgstr "J'approuve"
+
+#: ../../include/ItemObject.php:161
+msgid "I disagree"
+msgstr "Je désapprouve"
+
+#: ../../include/ItemObject.php:161
+msgid "I abstain"
+msgstr "Je m'abstiens"
+
+#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
+#: ../../include/conversation.php:1688 ../../mod/photos.php:1015
+#: ../../mod/photos.php:1027
+msgid "View all"
+msgstr "Voir tout"
+
+#: ../../include/ItemObject.php:179 ../../include/conversation.php:1712
+#: ../../include/identity.php:1266 ../../include/taxonomy.php:396
+#: ../../mod/photos.php:1019
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "J'aime"
+msgstr[1] "J'aime"
+
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
+#: ../../mod/photos.php:1024
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Je déteste"
+msgstr[1] "Je déteste"
+
+#: ../../include/ItemObject.php:212
+msgid "Add Star"
+msgstr "Ajouter Étoile"
+
+#: ../../include/ItemObject.php:213
+msgid "Remove Star"
+msgstr "Supprimer Étoile"
+
+#: ../../include/ItemObject.php:214
+msgid "Toggle Star Status"
+msgstr "Changer le Statut des Étoiles"
+
+#: ../../include/ItemObject.php:218
+msgid "starred"
+msgstr "mis en avant"
+
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:685
+msgid "Message signature validated"
+msgstr "Signature du message validée"
+
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:686
+msgid "Message signature incorrect"
+msgstr "Signature du message incorrecte"
+
+#: ../../include/ItemObject.php:236
+msgid "Add Tag"
+msgstr "Ajouter une balise"
+
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+msgid "I like this (toggle)"
+msgstr "J'aime (oui/non)"
+
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
+msgid "like"
+msgstr "aime"
-#: ../../include/account.php:23
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+msgid "I don't like this (toggle)"
+msgstr "Je déteste (oui/non)"
+
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
+msgid "dislike"
+msgstr "déteste"
+
+#: ../../include/ItemObject.php:259
+msgid "Share This"
+msgstr "Partager"
+
+#: ../../include/ItemObject.php:259
+msgid "share"
+msgstr "partager"
+
+#: ../../include/ItemObject.php:277
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commentaire"
+msgstr[1] "%d commentaires"
+
+#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Voir le profil de %s - %s"
+
+#: ../../include/ItemObject.php:299
+msgid "to"
+msgstr "à"
+
+#: ../../include/ItemObject.php:300
+msgid "via"
+msgstr "via"
+
+#: ../../include/ItemObject.php:301
+msgid "Wall-to-Wall"
+msgstr "Mur-mur"
+
+#: ../../include/ItemObject.php:302
+msgid "via Wall-To-Wall:"
+msgstr "par Mur-mur&nbsp;:"
+
+#: ../../include/ItemObject.php:313 ../../include/conversation.php:727
+#, php-format
+msgid "from %s"
+msgstr "de %s"
+
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:730
+#, php-format
+msgid "last edited: %s"
+msgstr "dernière édition&nbsp;: %s"
+
+#: ../../include/ItemObject.php:317 ../../include/conversation.php:731
+#, php-format
+msgid "Expires: %s"
+msgstr "Expire&nbsp;: %s"
+
+#: ../../include/ItemObject.php:338
+msgid "Save Bookmarks"
+msgstr "Enregistrer un favori"
+
+#: ../../include/ItemObject.php:339
+msgid "Add to Calendar"
+msgstr "Ajouter au Calendrier"
+
+#: ../../include/ItemObject.php:348
+msgid "Mark all seen"
+msgstr "Tout marquer comme vu"
+
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1145
+msgctxt "noun"
+msgid "Likes"
+msgstr "Aimes"
+
+#: ../../include/ItemObject.php:355 ../../mod/photos.php:1146
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Détestes"
+
+#: ../../include/ItemObject.php:360 ../../include/acl_selectors.php:249
+#: ../../mod/photos.php:1151
+msgid "Close"
+msgstr "Fermer"
+
+#: ../../include/ItemObject.php:365 ../../include/conversation.php:748
+#: ../../include/conversation.php:1220 ../../mod/mail.php:241
+#: ../../mod/mail.php:356 ../../mod/photos.php:962 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:123
+#: ../../mod/editwebpage.php:192
+msgid "Please wait"
+msgstr "Merci de patienter"
+
+#: ../../include/ItemObject.php:385 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] voir plus"
+
+#: ../../include/ItemObject.php:666 ../../mod/photos.php:978
+#: ../../mod/photos.php:1096
+msgid "This is you"
+msgstr "C'est vous"
+
+#: ../../include/ItemObject.php:668 ../../include/js_strings.php:6
+#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+msgid "Comment"
+msgstr "Commenter"
+
+#: ../../include/ItemObject.php:669 ../../include/js_strings.php:22
+#: ../../mod/mail.php:355 ../../mod/admin.php:453 ../../mod/admin.php:819
+#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
+#: ../../mod/admin.php:1397 ../../mod/pconfig.php:108 ../../mod/pdledit.php:58
+#: ../../mod/appman.php:99 ../../mod/photos.php:577 ../../mod/photos.php:654
+#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
+#: ../../mod/poke.php:166 ../../mod/bulksetclose.php:24 ../../mod/poll.php:68
+#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:93
+#: ../../mod/profiles.php:667 ../../mod/connedit.php:704
+#: ../../mod/rate.php:167 ../../mod/events.php:511 ../../mod/events.php:693
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/group.php:81 ../../mod/import.php:592 ../../mod/invite.php:142
+#: ../../mod/settings.php:588 ../../mod/settings.php:692
+#: ../../mod/settings.php:718 ../../mod/settings.php:746
+#: ../../mod/settings.php:769 ../../mod/settings.php:854
+#: ../../mod/settings.php:1050 ../../mod/setup.php:327 ../../mod/setup.php:367
+#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/mitem.php:235 ../../mod/mood.php:134 ../../mod/thing.php:303
+#: ../../mod/thing.php:346 ../../mod/xchan.php:11
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Envoyer"
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1192
+#: ../../mod/editblock.php:135 ../../mod/editlayout.php:134
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:179
+msgid "Bold"
+msgstr "Gras"
+
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1193
+#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:180
+msgid "Italic"
+msgstr "Italique"
+
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1194
+#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
+#: ../../mod/editpost.php:109 ../../mod/editwebpage.php:181
+msgid "Underline"
+msgstr "Souligné"
+
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1195
+#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
+#: ../../mod/editpost.php:110 ../../mod/editwebpage.php:182
+msgid "Quote"
+msgstr "Citation"
+
+#: ../../include/ItemObject.php:674 ../../include/conversation.php:1196
+#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
+#: ../../mod/editpost.php:111 ../../mod/editwebpage.php:183
+msgid "Code"
+msgstr "Code"
+
+#: ../../include/ItemObject.php:675
+msgid "Image"
+msgstr "Image"
+
+#: ../../include/ItemObject.php:676
+msgid "Insert Link"
+msgstr "Insérer un lien"
+
+#: ../../include/ItemObject.php:677
+msgid "Video"
+msgstr "Vidéo"
+
+#: ../../include/ItemObject.php:678 ../../include/conversation.php:1166
+#: ../../include/page_widgets.php:40 ../../mod/photos.php:982
+#: ../../mod/editblock.php:170 ../../mod/editpost.php:143
+#: ../../mod/editwebpage.php:214 ../../mod/events.php:690
+#: ../../mod/webpages.php:188
+msgid "Preview"
+msgstr "Aperçu"
+
+#: ../../include/ItemObject.php:681 ../../include/conversation.php:1247
+#: ../../mod/mail.php:247 ../../mod/mail.php:361 ../../mod/editpost.php:151
+msgid "Encrypt text"
+msgstr "Chiffrer le texte"
+
+#: ../../include/account.php:27
msgid "Not a valid email address"
msgstr "Ce n'est pas une adresse de courriel valide"
-#: ../../include/account.php:25
+#: ../../include/account.php:29
msgid "Your email domain is not among those allowed on this site"
msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"
-#: ../../include/account.php:31
+#: ../../include/account.php:35
msgid "Your email address is already registered at this site."
msgstr "Votre adresse de courriel est déjà inscrite sur ce site."
-#: ../../include/account.php:64
+#: ../../include/account.php:67
msgid "An invitation is required."
msgstr "Une invitation est requise."
-#: ../../include/account.php:68
+#: ../../include/account.php:71
msgid "Invitation could not be verified."
msgstr "Votre invitation n'a pas pu être vérifiée."
-#: ../../include/account.php:119
+#: ../../include/account.php:121
msgid "Please enter the required information."
msgstr "Merci d'entrer les informations requises."
-#: ../../include/account.php:187
+#: ../../include/account.php:188
msgid "Failed to store account information."
msgstr "Impossible de stocker les informations liées au compte."
-#: ../../include/account.php:245
+#: ../../include/account.php:246
#, php-format
msgid "Registration confirmation for %s"
msgstr "Confirmation de l'enregistrement pour %s"
-#: ../../include/account.php:313
+#: ../../include/account.php:312
#, php-format
msgid "Registration request at %s"
msgstr "Demande d'inscription sur %s"
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
-msgstr "Administrateur"
-
-#: ../../include/account.php:337
+#: ../../include/account.php:336
msgid "your registration password"
msgstr "votre mot de passe d'inscription"
-#: ../../include/account.php:340 ../../include/account.php:397
+#: ../../include/account.php:339 ../../include/account.php:399
#, php-format
msgid "Registration details for %s"
msgstr "Détails de l'inscription à %s"
-#: ../../include/account.php:406
+#: ../../include/account.php:408
msgid "Account approved."
msgstr "Compte approuvé."
-#: ../../include/account.php:440
+#: ../../include/account.php:447
#, php-format
msgid "Registration revoked for %s"
msgstr "Inscription révoquée pour %s"
-#: ../../include/account.php:486
+#: ../../include/account.php:492
msgid "Account verified. Please login."
msgstr "Compte vérifié. Veuillez vous connecter."
-#: ../../include/photos.php:15 ../../include/attach.php:119
-#: ../../include/attach.php:166 ../../include/attach.php:229
-#: ../../include/attach.php:243 ../../include/attach.php:283
-#: ../../include/attach.php:297 ../../include/attach.php:322
-#: ../../include/attach.php:513 ../../include/attach.php:585
-#: ../../include/chat.php:116 ../../include/items.php:3711
-#: ../../mod/mood.php:112 ../../mod/mitem.php:73 ../../mod/achievements.php:27
-#: ../../mod/settings.php:494 ../../mod/poke.php:128 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/authtest.php:13 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/profiles.php:179
-#: ../../mod/profiles.php:524 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:89 ../../mod/channel.php:193
-#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/register.php:71 ../../mod/regmod.php:18 ../../mod/common.php:35
-#: ../../mod/network.php:12 ../../mod/connections.php:169
-#: ../../mod/connedit.php:254 ../../mod/delegate.php:6 ../../mod/page.php:30
-#: ../../mod/page.php:80 ../../mod/setup.php:203 ../../mod/editblock.php:34
-#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:48
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/photos.php:68
-#: ../../mod/photos.php:526 ../../mod/sources.php:66 ../../mod/events.php:160
-#: ../../mod/filestorage.php:10 ../../mod/filestorage.php:59
-#: ../../mod/filestorage.php:75 ../../mod/filestorage.php:98
-#: ../../mod/fsuggest.php:78 ../../mod/suggest.php:26 ../../mod/group.php:9
-#: ../../mod/thing.php:249 ../../mod/thing.php:266 ../../mod/thing.php:301
-#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/item.php:178
-#: ../../mod/item.php:186 ../../mod/item.php:916 ../../mod/layouts.php:27
-#: ../../mod/layouts.php:39 ../../mod/like.php:154
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:12 ../../mod/mail.php:108 ../../mod/manage.php:6
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/message.php:16
-#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
-#: ../../mod/notifications.php:66 ../../mod/appman.php:66 ../../index.php:186
-#: ../../index.php:361
-msgid "Permission denied."
-msgstr "Permission refusée."
-
-#: ../../include/photos.php:104
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'image dépasse la taille limite de %lu octets"
-
-#: ../../include/photos.php:111
-msgid "Image file is empty."
-msgstr "L'image est vide."
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
+msgstr "Cliquez ici pour mettre à jour."
-#: ../../include/photos.php:140 ../../mod/profile_photo.php:216
-msgid "Unable to process image"
-msgstr "Impossible de traiter l'image"
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Cette action outrepasserait les limites prévues par votre forfait."
-#: ../../include/photos.php:212
-msgid "Photo storage failed."
-msgstr "Le stockage de l'image a échoué."
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
+msgstr "Cette action n'est pas possible avec la formule choisie."
-#: ../../include/photos.php:339 ../../include/conversation.php:1515
-msgid "Photo Albums"
-msgstr "Albums photo"
+#: ../../include/oembed.php:183
+msgid "Embedded content"
+msgstr "Contenu imbriqué"
-#: ../../include/photos.php:343 ../../mod/photos.php:697
-#: ../../mod/photos.php:1199
-msgid "Upload New Photos"
-msgstr "Ajouter des photos"
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
+msgstr "Imbrication désactivée"
#: ../../include/acl_selectors.php:240
msgid "Visible to your default audience"
@@ -748,397 +1436,353 @@ msgstr "Visible pour vos contacts seulement."
#: ../../include/acl_selectors.php:241
msgid "Show"
-msgstr "Voir plus"
+msgstr "Montrer"
#: ../../include/acl_selectors.php:242
msgid "Don't show"
msgstr "Cacher"
-#: ../../include/acl_selectors.php:248 ../../mod/chat.php:209
-#: ../../mod/photos.php:604 ../../mod/photos.php:958
-#: ../../mod/filestorage.php:128
+#: ../../include/acl_selectors.php:248 ../../mod/photos.php:571
+#: ../../mod/photos.php:934 ../../mod/chat.php:209 ../../mod/events.php:691
+#: ../../mod/filestorage.php:147
msgid "Permissions"
msgstr "Permissions"
-#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:289
-msgid "Close"
-msgstr "Fermer"
-
#: ../../include/activities.php:39
msgid " and "
-msgstr " et "
+msgstr "et"
#: ../../include/activities.php:47
msgid "public profile"
msgstr "profil public"
-#: ../../include/activities.php:52
+#: ../../include/activities.php:56
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr "%1$s a changé %2$s en &ldquo;%3$s&rdquo;"
-#: ../../include/activities.php:53
+#: ../../include/activities.php:57
#, php-format
msgid "Visit %1$s's %2$s"
-msgstr "Visiter %1$s sur %2$s"
+msgstr "Visiter %1$s de %2$s"
-#: ../../include/activities.php:56
+#: ../../include/activities.php:60
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s a mis à jour %2$s, modifiant %3$s."
+msgstr "%1$s a mis-à-jour %2$s, modifiant %3$s."
-#: ../../include/api.php:1036
+#: ../../include/api.php:1178
msgid "Public Timeline"
msgstr "Fil public"
-#: ../../include/attach.php:224 ../../include/attach.php:278
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Administrateur"
+
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Carnet d'adresse"
+
+#: ../../include/apps.php:138 ../../include/identity.php:1240
+#: ../../include/identity.php:1357 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../include/apps.php:144 ../../mod/mood.php:130
+msgid "Mood"
+msgstr "Humeur"
+
+#: ../../include/apps.php:145 ../../include/conversation.php:959
+msgid "Poke"
+msgstr "Cogner"
+
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Sonder"
+
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Suggérer"
+
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Un Canal au Hasard"
+
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Invitation"
+
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Fonctionalités"
+
+#: ../../include/apps.php:153 ../../mod/id.php:28
+msgid "Language"
+msgstr "Langue"
+
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Envoyer"
+
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
+msgid "Profile Photo"
+msgstr "Photo du Profil"
+
+#: ../../include/apps.php:247 ../../mod/settings.php:84
+#: ../../mod/settings.php:614
+msgid "Update"
+msgstr "Mise-à-jour"
+
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Installer"
+
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Acheter"
+
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+#: ../../include/items.php:4383 ../../include/photos.php:26
+#: ../../mod/mail.php:114 ../../mod/achievements.php:30 ../../mod/page.php:31
+#: ../../mod/page.php:86 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/pdledit.php:21 ../../mod/appman.php:66 ../../mod/photos.php:69
+#: ../../mod/authtest.php:13 ../../mod/block.php:22 ../../mod/block.php:72
+#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/poke.php:128
+#: ../../mod/bookmarks.php:46 ../../mod/manage.php:6 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262 ../../mod/chat.php:90
+#: ../../mod/chat.php:95 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/common.php:35 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/notifications.php:66
+#: ../../mod/connections.php:29 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/connedit.php:348
+#: ../../mod/editblock.php:65 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/editpost.php:13
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/events.php:249
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/register.php:72 ../../mod/fsuggest.php:78 ../../mod/regmod.php:17
+#: ../../mod/group.php:9 ../../mod/id.php:71 ../../mod/service_limits.php:7
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/settings.php:570
+#: ../../mod/item.php:206 ../../mod/item.php:214 ../../mod/item.php:1005
+#: ../../mod/setup.php:223 ../../mod/layouts.php:69 ../../mod/layouts.php:76
+#: ../../mod/layouts.php:87 ../../mod/sharedwithme.php:7
+#: ../../mod/like.php:178 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:72 ../../mod/message.php:16 ../../mod/mitem.php:111
+#: ../../mod/mood.php:111 ../../mod/suggest.php:26 ../../mod/network.php:12
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/thing.php:269 ../../mod/thing.php:284 ../../mod/thing.php:318
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69 ../../index.php:186
+#: ../../index.php:397
+msgid "Permission denied."
+msgstr "Permission refusée."
+
+#: ../../include/attach.php:242 ../../include/attach.php:300
msgid "Item was not found."
msgstr "Élément introuvable."
-#: ../../include/attach.php:335
+#: ../../include/attach.php:363
msgid "No source file."
msgstr "Pas de fichier source."
-#: ../../include/attach.php:352
+#: ../../include/attach.php:381
msgid "Cannot locate file to replace"
msgstr "Impossible de trouver le fichier à remplacer."
-#: ../../include/attach.php:370
+#: ../../include/attach.php:399
msgid "Cannot locate file to revise/update"
-msgstr "Impossible de trouver le fichier à corriger/mettre à jour"
+msgstr "Impossible de trouver le fichier à corriger/mettre-à-jour"
-#: ../../include/attach.php:381
+#: ../../include/attach.php:410
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Le fichier dépasse la taille limite de %d"
-#: ../../include/attach.php:393
+#: ../../include/attach.php:422
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes"
-#: ../../include/attach.php:475
+#: ../../include/attach.php:505
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Envoi du fichier impossible. Limite système ou action avortée."
-#: ../../include/attach.php:487
+#: ../../include/attach.php:517
msgid "Stored file could not be verified. Upload failed."
msgstr "Le fichier stocké n'a pu être vérifié. Envoi impossible."
-#: ../../include/attach.php:528 ../../include/attach.php:545
+#: ../../include/attach.php:561 ../../include/attach.php:578
msgid "Path not available."
msgstr "Chemin non disponible."
-#: ../../include/attach.php:590
+#: ../../include/attach.php:623
msgid "Empty pathname"
msgstr "Chemin vide"
-#: ../../include/attach.php:606
+#: ../../include/attach.php:639
msgid "duplicate filename or path"
msgstr "doublon de chemin ou de fichier"
-#: ../../include/attach.php:630
+#: ../../include/attach.php:663
msgid "Path not found."
msgstr "Chemin introuvable."
-#: ../../include/attach.php:681
+#: ../../include/attach.php:714
msgid "mkdir failed."
msgstr "mkdir a échoué."
-#: ../../include/attach.php:685
+#: ../../include/attach.php:718
msgid "database storage failed."
msgstr "l'écriture dans la BD a échoué"
-#: ../../include/plugin.php:504 ../../include/plugin.php:506
-msgid "Click here to upgrade."
-msgstr "Cliquez ici pour mettre à jour."
+#: ../../include/auth.php:131
+msgid "Logged out."
+msgstr "Deconnecté."
-#: ../../include/plugin.php:512
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Cette action outrepasserait les limites prévues par votre forfait."
+#: ../../include/auth.php:272
+msgid "Failed authentication"
+msgstr "Échec de l'authentification"
-#: ../../include/plugin.php:517
-msgid "This action is not available under your subscription plan."
-msgstr "Cette action n'est pas possible avec la formule choisie."
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Échec de la connexion."
+
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
+msgstr "Pièces jointes:"
-#: ../../include/bb2diaspora.php:463 ../../include/event.php:11
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:22
msgid "l F d, Y \\@ g:i A"
msgstr "l d F Y \\à G\\hi"
-#: ../../include/bb2diaspora.php:469 ../../include/event.php:20
+#: ../../include/bb2diaspora.php:461
+msgid "$Projectname event notification:"
+msgstr "Notification d'événement de $Projectname"
+
+#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
msgid "Starts:"
msgstr "Début&nbsp;:"
-#: ../../include/bb2diaspora.php:477 ../../include/event.php:30
+#: ../../include/bb2diaspora.php:473 ../../include/event.php:40
msgid "Finishes:"
msgstr "Fin&nbsp;:"
-#: ../../include/bb2diaspora.php:485 ../../include/event.php:40
-#: ../../include/identity.php:757 ../../mod/directory.php:156
-#: ../../mod/dirprofile.php:105 ../../mod/events.php:504
+#: ../../include/bb2diaspora.php:481 ../../include/event.php:50
+#: ../../include/identity.php:1007 ../../mod/directory.php:302
+#: ../../mod/events.php:684
msgid "Location:"
msgstr "Emplacement&nbsp;:"
-#: ../../include/nav.php:81 ../../include/nav.php:108 ../../boot.php:1497
-msgid "Logout"
-msgstr "Déconnexion"
-
-#: ../../include/nav.php:81 ../../include/nav.php:108
-msgid "End this session"
-msgstr "Mettre fin à la session"
-
-#: ../../include/nav.php:84 ../../include/nav.php:142
-msgid "Home"
-msgstr "Canal"
-
-#: ../../include/nav.php:84
-msgid "Your posts and conversations"
-msgstr "Vos publications et conversations"
-
-#: ../../include/nav.php:85 ../../include/conversation.php:940
-#: ../../mod/connedit.php:393 ../../mod/connedit.php:507
-msgid "View Profile"
-msgstr "Voir profil"
-
-#: ../../include/nav.php:85
-msgid "Your profile page"
-msgstr "Votre profil"
-
-#: ../../include/nav.php:87
-msgid "Edit Profiles"
-msgstr "Éditer les profils"
-
-#: ../../include/nav.php:87
-msgid "Manage/Edit profiles"
-msgstr "Gérer/éditer les profils"
-
-#: ../../include/nav.php:89 ../../include/identity.php:730
-msgid "Edit Profile"
-msgstr "Éditer le profil"
-
-#: ../../include/nav.php:89
-msgid "Edit your profile"
-msgstr "Éditer votre profil"
-
-#: ../../include/nav.php:91
-msgid "Your photos"
-msgstr "Vos photos"
-
-#: ../../include/nav.php:92
-msgid "Your files"
-msgstr "Vos fichiers"
-
-#: ../../include/nav.php:97
-msgid "Your chatrooms"
-msgstr "Vos salons"
-
-#: ../../include/nav.php:100
-msgid "Your bookmarks"
-msgstr "Vos favoris"
-
-#: ../../include/nav.php:102
-msgid "Your webpages"
-msgstr "Vos pages web"
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
+#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
+#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
+#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
+#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
+#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
+#: ../../include/bbcode.php:807
+msgid "Image/photo"
+msgstr "Image/photo"
-#: ../../include/nav.php:106
-msgid "Sign in"
-msgstr "Connexion"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
+msgid "Encrypted content"
+msgstr "Contenu chiffré"
-#: ../../include/nav.php:123
+#: ../../include/bbcode.php:178
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - cliquer ici pour déconnecter"
-
-#: ../../include/nav.php:128
-msgid "Click to authenticate to your home hub"
-msgstr "S'authentifier auprès de votre hub"
-
-#: ../../include/nav.php:142
-msgid "Home Page"
-msgstr "Page d'accueil"
-
-#: ../../include/nav.php:146 ../../mod/register.php:221 ../../boot.php:1474
-msgid "Register"
-msgstr "S'inscrire"
-
-#: ../../include/nav.php:146
-msgid "Create an account"
-msgstr "Créer un compte"
-
-#: ../../include/nav.php:151
-msgid "Help and documentation"
-msgstr "Aide et documentation"
-
-#: ../../include/nav.php:154 ../../include/widgets.php:79
-#: ../../mod/apps.php:33
-msgid "Apps"
-msgstr "Applications"
-
-#: ../../include/nav.php:154
-msgid "Applications, utilities, links, games"
-msgstr "Applications, utilitaires, liens, jeux"
-
-#: ../../include/nav.php:156
-msgid "Search site content"
-msgstr "Rechercher parmi le contenu du site"
-
-#: ../../include/nav.php:159
-msgid "Channel Locator"
-msgstr "Localisation de canaux"
-
-#: ../../include/nav.php:170
-msgid "Your matrix"
-msgstr "Votre matrice"
-
-#: ../../include/nav.php:171
-msgid "Mark all matrix notifications seen"
-msgstr "Marquer toutes les notifications de la matrice comme vues"
-
-#: ../../include/nav.php:173
-msgid "Channel home"
-msgstr "Mon canal"
-
-#: ../../include/nav.php:174
-msgid "Mark all channel notifications seen"
-msgstr "Marquer toutes les notifications du canal comme vues"
-
-#: ../../include/nav.php:177 ../../mod/connections.php:386
-msgid "Connections"
-msgstr "Relations"
-
-#: ../../include/nav.php:180
-msgid "Notices"
-msgstr "Notifications"
-
-#: ../../include/nav.php:180
-msgid "Notifications"
-msgstr "Notifications"
-
-#: ../../include/nav.php:181
-msgid "See all notifications"
-msgstr "Voir toutes les notifications"
-
-#: ../../include/nav.php:182 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Marquer toutes les notifications système comme vues"
-
-#: ../../include/nav.php:184
-msgid "Private mail"
-msgstr "Messages privés"
-
-#: ../../include/nav.php:185
-msgid "See all private messages"
-msgstr "Voir tous les messages privés"
-
-#: ../../include/nav.php:186
-msgid "Mark all private messages seen"
-msgstr "Marquer tous les messages privés comme vus"
-
-#: ../../include/nav.php:187
-msgid "Inbox"
-msgstr "Boîte de réception"
+msgid "Install %s element: "
+msgstr "Installer %s élément"
-#: ../../include/nav.php:188
-msgid "Outbox"
-msgstr "Boîte d'envoi"
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."
-#: ../../include/nav.php:189 ../../include/widgets.php:536
-msgid "New Message"
-msgstr "Nouveau message"
+#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+msgid "webpage"
+msgstr "Pages web"
-#: ../../include/nav.php:192
-msgid "Event Calendar"
-msgstr "Calendrier des événements"
+#: ../../include/bbcode.php:195 ../../mod/impel.php:47
+msgid "layout"
+msgstr "Mises en page"
-#: ../../include/nav.php:193
-msgid "See all events"
-msgstr "Voir tous les événements"
+#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+msgid "block"
+msgstr "Bloquer"
-#: ../../include/nav.php:194
-msgid "Mark all events seen"
-msgstr "Marquer tous les événements comme vus"
+#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+msgid "menu"
+msgstr "Menu"
-#: ../../include/nav.php:196
-msgid "Manage Your Channels"
-msgstr "Gérer vos canaux"
+#: ../../include/bbcode.php:215
+msgid "QR code"
+msgstr "code QR"
-#: ../../include/nav.php:198
-msgid "Account/Channel Settings"
-msgstr "Réglages du Compte/Canal"
+#: ../../include/bbcode.php:266
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s a écrit %2$s qui suit %3$s"
-#: ../../include/nav.php:206 ../../mod/admin.php:123
-msgid "Admin"
-msgstr "Administrateur"
+#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
+msgid "post"
+msgstr "l'article"
-#: ../../include/nav.php:206
-msgid "Site Setup and Configuration"
-msgstr "Configuration du site"
+#: ../../include/bbcode.php:518
+msgid "Different viewers will see this text differently"
+msgstr "Ce texte aura un rendu différent en fonction des navigateurs"
-#: ../../include/nav.php:231
-msgid "Nothing new here"
-msgstr "Aucun nouveau contenu trouvé"
+#: ../../include/bbcode.php:729
+msgid "$1 spoiler"
+msgstr "Dévoile&nbsp;: $1"
-#: ../../include/nav.php:235
-msgid "Please wait..."
-msgstr "Merci de patienter..."
+#: ../../include/bbcode.php:756
+msgid "$1 wrote:"
+msgstr "$1 a écrit&nbsp;:"
#: ../../include/bookmarks.php:35
#, php-format
msgid "%1$s's bookmarks"
msgstr "Favoris de %1$s"
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Étiquettes"
-
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Mots-clefs"
-
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "ont"
-
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "a"
-
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "veulent"
-
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "veut"
-
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:208
-msgid "like"
-msgstr "aime"
+#: ../../include/chat.php:23
+msgid "Missing room name"
+msgstr "Il manque le nom du salon"
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "aiment"
+#: ../../include/chat.php:32
+msgid "Duplicate room name"
+msgstr "Un salon de ce nom existe déjà"
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:209
-msgid "dislike"
-msgstr "déteste"
+#: ../../include/chat.php:82 ../../include/chat.php:90
+msgid "Invalid room specifier."
+msgstr "Identifiant de salon invalide."
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "détestent"
+#: ../../include/chat.php:120
+msgid "Room not found."
+msgstr "Salon introuvable."
-#: ../../include/taxonomy.php:338 ../../include/identity.php:999
-#: ../../include/ItemObject.php:134
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "J'aime"
-msgstr[1] "J'aime"
+#: ../../include/chat.php:141
+msgid "Room is full"
+msgstr "Le salon est plein"
-#: ../../include/comanche.php:35 ../../view/theme/apw/php/config.php:185
+#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr "Défaut"
+#: ../../include/security.php:349
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."
+
#: ../../include/contact_selectors.php:56
msgid "Frequently"
msgstr "Constamment"
@@ -1175,8 +1819,9 @@ msgstr "OStatus"
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:763
-#: ../../mod/admin.php:772 ../../boot.php:1500
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
+#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1553
msgid "Email"
msgstr "Courriel"
@@ -1211,7 +1856,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invitation disponible"
msgstr[1] "%d invitations disponibles"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:455
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
msgid "Advanced"
msgstr "Avancé"
@@ -1231,12 +1876,13 @@ msgstr "Ajouter/Suivre"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Exemples: Robert Morgenstein, Course à pieds"
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:392
-#: ../../mod/directory.php:222 ../../mod/directory.php:227
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:273
+#: ../../mod/directory.php:379 ../../mod/directory.php:384
msgid "Find"
msgstr "Trouver"
-#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Canaux suggérés"
@@ -1249,443 +1895,31 @@ msgid "Invite Friends"
msgstr "Inviter des amis"
#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
-msgstr "Exemple: name=fred and country=iceland"
-
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Recherche avancée"
-
-#: ../../include/contact_widgets.php:58 ../../include/features.php:69
-#: ../../include/widgets.php:296
-msgid "Saved Folders"
-msgstr "Dossiers sauvegardés"
-
-#: ../../include/contact_widgets.php:61 ../../include/contact_widgets.php:96
-#: ../../include/widgets.php:299
-msgid "Everything"
-msgstr "Tout"
-
-#: ../../include/contact_widgets.php:93 ../../include/widgets.php:29
-msgid "Categories"
-msgstr "Catégories"
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Exemple avancé&nbsp;: name=fred and country=iceland"
-#: ../../include/contact_widgets.php:126
+#: ../../include/contact_widgets.php:125
#, php-format
msgid "%d connection in common"
msgid_plural "%d connections in common"
msgstr[0] "%d relation en commun"
msgstr[1] "%d relations en commun"
-#: ../../include/contact_widgets.php:131
+#: ../../include/contact_widgets.php:130
msgid "show more"
msgstr "montrer plus"
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
-msgstr "Cet événement a été ajouté à votre calendrier."
-
-#: ../../include/zot.php:624
-msgid "Invalid data packet"
-msgstr "Paquet de données invalide"
-
-#: ../../include/zot.php:638
-msgid "Unable to verify channel signature"
-msgstr "Impossible de vérifier la signature du canal"
-
-#: ../../include/zot.php:835
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossible de vérifier la signature de site pour %s"
-
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Divers"
-
-#: ../../include/datetime.php:152 ../../include/datetime.php:284
-msgid "year"
-msgstr "année"
-
-#: ../../include/datetime.php:157 ../../include/datetime.php:285
-msgid "month"
-msgstr "mois"
-
-#: ../../include/datetime.php:162 ../../include/datetime.php:287
-msgid "day"
-msgstr "jour"
-
-#: ../../include/datetime.php:275
-msgid "never"
-msgstr "jamais"
-
-#: ../../include/datetime.php:281
-msgid "less than a second ago"
-msgstr "à l'instant"
-
-#: ../../include/datetime.php:284
-msgid "years"
-msgstr "années"
-
-#: ../../include/datetime.php:285
-msgid "months"
-msgstr "mois"
-
-#: ../../include/datetime.php:286
-msgid "week"
-msgstr "semaine"
-
-#: ../../include/datetime.php:286
-msgid "weeks"
-msgstr "semaines"
-
-#: ../../include/datetime.php:287
-msgid "days"
-msgstr "jours"
-
-#: ../../include/datetime.php:288
-msgid "hour"
-msgstr "heure"
-
-#: ../../include/datetime.php:288
-msgid "hours"
-msgstr "heures"
-
-#: ../../include/datetime.php:289
-msgid "minute"
-msgstr "minute"
-
-#: ../../include/datetime.php:289
-msgid "minutes"
-msgstr "minutes"
-
-#: ../../include/datetime.php:290
-msgid "second"
-msgstr "seconde"
-
-#: ../../include/datetime.php:290
-msgid "seconds"
-msgstr "secondes"
-
-#: ../../include/datetime.php:299
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "il y a %1$d %2$s"
-
-#: ../../include/datetime.php:504
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Anniversaire de %1$s"
-
-#: ../../include/datetime.php:505
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Joyeux Anniversaire %1$s"
-
-#: ../../include/dir_fns.php:36
-msgid "Sort Options"
-msgstr "Options de tri"
-
-#: ../../include/dir_fns.php:37
-msgid "Alphabetic"
-msgstr "Alphabétique"
-
-#: ../../include/dir_fns.php:38
-msgid "Reverse Alphabetic"
-msgstr "Alphabétique inversé"
-
-#: ../../include/dir_fns.php:39
-msgid "Newest to Oldest"
-msgstr "Anté-chronologique"
-
-#: ../../include/dir_fns.php:51
-msgid "Enable Safe Search"
-msgstr "Activer la recherche sûre"
-
-#: ../../include/dir_fns.php:53
-msgid "Disable Safe Search"
-msgstr "Désactiver la recherche sûre"
-
-#: ../../include/dir_fns.php:55
-msgid "Safe Mode"
-msgstr "Mode sûr"
-
-#: ../../include/enotify.php:41
-msgid "Hubzilla Notification"
-msgstr "Notification Matrice Rouge"
-
-#: ../../include/enotify.php:42
-msgid "hubzilla"
-msgstr "Matrice Rouge"
-
-#: ../../include/enotify.php:44
-msgid "Thank You,"
-msgstr "Merci,"
-
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
-msgstr "l'administrateur de %s"
-
-#: ../../include/enotify.php:81
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:85
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Notification] Nouveau message reçu sur %s"
-
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s."
-
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s vous a envoyé %2$s."
-
-#: ../../include/enotify.php:88
-msgid "a private message"
-msgstr "un message privé"
-
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés."
-
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]"
-
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]"
-
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]"
-
-#: ../../include/enotify.php:172
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Notification] Commentaire de %2$s sur conversation #%1$d"
-
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez."
-
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
-
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Notification] %s a publié sur votre profil"
-
-#: ../../include/enotify.php:184
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s a publié sur votre profil à %3$s"
-
-#: ../../include/enotify.php:186
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]"
-
-#: ../../include/enotify.php:210
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Notification] %s vous a étiqueté"
-
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s"
-
-#: ../../include/enotify.php:212
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]."
-
-#: ../../include/enotify.php:225
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Notification] %1$s vous a cogné"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s vous a cogné sur %3$s
-
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]vous a cogné[/zrl]."
-
-#: ../../include/enotify.php:243
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Notification] %s a étiqueté votre publication"
-
-#: ../../include/enotify.php:244
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s"
-
-#: ../../include/enotify.php:245
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]"
-
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Notification] Nouvelle introduction"
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une demande de mise en relation de '%2$s' sur %3$s"
-
-#: ../../include/enotify.php:259
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de mise en relation[/zrl] de %3$s."
-
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Vous pouvez visiter leur profil sur %s"
-
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de relation."
-
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Notification] Nouvelle suggestion d'amitié"
-
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une suggestion de relation de '%2$s' à %3$s"
-
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion de relation[/zrl] de %4$s."
-
-#: ../../include/enotify.php:280
-msgid "Name:"
-msgstr "Nom&nbsp;:"
-
-#: ../../include/enotify.php:281
-msgid "Photo:"
-msgstr "Photo&nbsp;:"
-
-#: ../../include/enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion."
-
-#: ../../include/enotify.php:474
-msgid "[Red:Notify]"
-msgstr "[Red:Notification]"
-
-#: ../../include/reddav.php:1145 ../../include/reddav.php:1288
-msgid "parent"
-msgstr "retour"
-
-#: ../../include/reddav.php:1169
-msgid "Collection"
-msgstr "Collection"
-
-#: ../../include/reddav.php:1172
-msgid "Principal"
-msgstr "Principal"
-
-#: ../../include/reddav.php:1175
-msgid "Addressbook"
-msgstr "Carnet d'adresse"
-
-#: ../../include/reddav.php:1178
-msgid "Calendar"
-msgstr "Calendrier"
-
-#: ../../include/reddav.php:1181
-msgid "Schedule Inbox"
-msgstr "Calendrier - Message entrants"
-
-#: ../../include/reddav.php:1184
-msgid "Schedule Outbox"
-msgstr "Calendrier - Message sortants"
-
-#: ../../include/reddav.php:1262
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s utilisé"
-
-#: ../../include/reddav.php:1267
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s utilisé de %2$s (%3$s&#37;)"
-
-#: ../../include/reddav.php:1284 ../../mod/settings.php:519
-#: ../../mod/settings.php:545 ../../mod/admin.php:902
-msgid "Name"
-msgstr "Nom"
-
-#: ../../include/reddav.php:1285
-msgid "Type"
-msgstr "Type"
-
-#: ../../include/reddav.php:1286
-msgid "Size"
-msgstr "Taille"
-
-#: ../../include/reddav.php:1287
-msgid "Last Modified"
-msgstr "Modifié le"
-
-#: ../../include/reddav.php:1291
-msgid "Total"
-msgstr "Total"
-
-#: ../../include/reddav.php:1344
-msgid "Create new folder"
-msgstr "Nouveau dossier"
-
-#: ../../include/reddav.php:1345 ../../mod/mitem.php:142 ../../mod/menu.php:84
-#: ../../mod/new_channel.php:117
-msgid "Create"
-msgstr "Créer"
-
-#: ../../include/reddav.php:1346
-msgid "Upload file"
-msgstr "Téléverser un fichier"
-
-#: ../../include/reddav.php:1347 ../../mod/profile_photo.php:361
-msgid "Upload"
-msgstr "Envoyer"
-
-#: ../../include/conversation.php:126 ../../mod/like.php:89
+#: ../../include/conversation.php:126 ../../mod/like.php:113
msgid "channel"
msgstr "canal"
-#: ../../include/conversation.php:167 ../../mod/like.php:333
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2152
+#: ../../mod/like.php:397
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s aime %3$s de %2$s"
+
+#: ../../include/conversation.php:167 ../../mod/like.php:399
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s déteste %3$s de %2$s"
@@ -1700,1393 +1934,1403 @@ msgstr "%1$s ajoute %2$s à ses relations"
msgid "%1$s poked %2$s"
msgstr "%1$s a cogné %2$s"
-#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s est %2$s"
-#: ../../include/conversation.php:634 ../../include/ItemObject.php:114
-msgid "Select"
-msgstr "Sélectionner"
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
+msgctxt "title"
+msgid "Likes"
+msgstr "J'aime"
-#: ../../include/conversation.php:642 ../../include/ItemObject.php:89
-#: ../../mod/photos.php:850
-msgid "Private Message"
-msgstr "Message Privé"
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Je n'aime pas"
-#: ../../include/conversation.php:649 ../../include/ItemObject.php:182
-msgid "Message is verified"
-msgstr "Message vérifié"
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Agree"
+msgstr "Accord"
-#: ../../include/conversation.php:669
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Disagree"
+msgstr "Désaccord"
+
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Abstain"
+msgstr "Abstention"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Attending"
+msgstr "Participations"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Not attending"
+msgstr "Non-participations"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Might attend"
+msgstr "Participation possible"
+
+#: ../../include/conversation.php:703
#, php-format
msgid "View %s's profile @ %s"
msgstr "Voir le profil de %s @ %s"
-#: ../../include/conversation.php:683
+#: ../../include/conversation.php:718
msgid "Categories:"
msgstr "Catégories&nbsp;:"
-#: ../../include/conversation.php:684
+#: ../../include/conversation.php:719
msgid "Filed under:"
msgstr "Classé sous&nbsp;:"
-#: ../../include/conversation.php:693 ../../include/ItemObject.php:250
-#, php-format
-msgid " from %s"
-msgstr "de %s"
-
-#: ../../include/conversation.php:696 ../../include/ItemObject.php:253
-#, php-format
-msgid "last edited: %s"
-msgstr "dernière édition&nbsp;: %s"
-
-#: ../../include/conversation.php:697 ../../include/ItemObject.php:254
-#, php-format
-msgid "Expires: %s"
-msgstr "Expire&nbsp;: %s"
-
-#: ../../include/conversation.php:712
+#: ../../include/conversation.php:746
msgid "View in context"
msgstr "Voir en contexte"
-#: ../../include/conversation.php:714 ../../include/conversation.php:1130
-#: ../../include/ItemObject.php:294 ../../mod/editblock.php:120
-#: ../../mod/editlayout.php:115 ../../mod/editpost.php:121
-#: ../../mod/editwebpage.php:152 ../../mod/photos.php:983
-#: ../../mod/mail.php:231 ../../mod/mail.php:346
-msgid "Please wait"
-msgstr "Merci de patienter"
-
-#: ../../include/conversation.php:841
+#: ../../include/conversation.php:857
msgid "remove"
msgstr "supprimer"
-#: ../../include/conversation.php:845
-msgid "Loading..."
-msgstr "Chargement..."
-
-#: ../../include/conversation.php:846
+#: ../../include/conversation.php:862
msgid "Delete Selected Items"
msgstr "Supprimer les éléments selectionnés"
-#: ../../include/conversation.php:937
+#: ../../include/conversation.php:950
msgid "View Source"
msgstr "Voir source"
-#: ../../include/conversation.php:938
+#: ../../include/conversation.php:951
msgid "Follow Thread"
msgstr "Suivre discussion"
-#: ../../include/conversation.php:939
+#: ../../include/conversation.php:952
msgid "View Status"
msgstr "Voir état"
-#: ../../include/conversation.php:941
+#: ../../include/conversation.php:954
msgid "View Photos"
msgstr "Voir photos"
-#: ../../include/conversation.php:942
+#: ../../include/conversation.php:955
msgid "Matrix Activity"
msgstr "Activité sur la matrice"
-#: ../../include/conversation.php:943
+#: ../../include/conversation.php:957
msgid "Edit Contact"
msgstr "Éditer contact"
-#: ../../include/conversation.php:944
+#: ../../include/conversation.php:958
msgid "Send PM"
msgstr "Envoyer un Message Privé"
-#: ../../include/conversation.php:1001
+#: ../../include/conversation.php:1073
#, php-format
msgid "%s likes this."
msgstr "%s aime ça."
-#: ../../include/conversation.php:1001
+#: ../../include/conversation.php:1073
#, php-format
msgid "%s doesn't like this."
msgstr "%s déteste ça."
-#: ../../include/conversation.php:1005
+#: ../../include/conversation.php:1077
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] ""
msgstr[1] "<span %1$s>%2$d personne(s)</span> aime(nt) ça."
-#: ../../include/conversation.php:1007
+#: ../../include/conversation.php:1079
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] ""
msgstr[1] "<span %1$s>%2$d personne(s)</span> déteste(nt) ça."
-#: ../../include/conversation.php:1013
+#: ../../include/conversation.php:1085
msgid "and"
msgstr "et"
-#: ../../include/conversation.php:1016
+#: ../../include/conversation.php:1088
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ", et %d autre(s) personne(s)"
-#: ../../include/conversation.php:1017
+#: ../../include/conversation.php:1089
#, php-format
msgid "%s like this."
msgstr "%s aime ça."
-#: ../../include/conversation.php:1017
+#: ../../include/conversation.php:1089
#, php-format
msgid "%s don't like this."
msgstr "%s déteste ça."
-#: ../../include/conversation.php:1074
+#: ../../include/conversation.php:1151
msgid "Visible to <strong>everybody</strong>"
msgstr "Visible par <strong>tout le monde</strong>"
-#: ../../include/conversation.php:1075 ../../mod/mail.php:167
-#: ../../mod/mail.php:279
+#: ../../include/conversation.php:1152 ../../mod/mail.php:174
+#: ../../mod/mail.php:289
msgid "Please enter a link URL:"
msgstr "Merci d'entrer l'URL d'un lien&nbsp;:"
-#: ../../include/conversation.php:1076
+#: ../../include/conversation.php:1153
msgid "Please enter a video link/URL:"
msgstr "Merci d'entrer l'URL d'une video&nbsp;:"
-#: ../../include/conversation.php:1077
+#: ../../include/conversation.php:1154
msgid "Please enter an audio link/URL:"
-msgstr "Merci d'entrer l'URL d'un contenu audio&nbsp;:"
+msgstr "Merci d'entrer l'URL d'un contenu audio&nsbp;:"
-#: ../../include/conversation.php:1078
+#: ../../include/conversation.php:1155
msgid "Tag term:"
msgstr "Étiquette&nbsp;:"
-#: ../../include/conversation.php:1079 ../../mod/filer.php:49
+#: ../../include/conversation.php:1156 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Classer dans le dossier&nbsp;:"
-#: ../../include/conversation.php:1080
+#: ../../include/conversation.php:1157
msgid "Where are you right now?"
msgstr "Où êtes-vous présentement?"
-#: ../../include/conversation.php:1081 ../../mod/editpost.php:52
-#: ../../mod/mail.php:168 ../../mod/mail.php:280
+#: ../../include/conversation.php:1158 ../../mod/mail.php:175
+#: ../../mod/mail.php:290 ../../mod/editpost.php:47
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Expire YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1105 ../../mod/photos.php:982
-#: ../../mod/layouts.php:113
+#: ../../include/conversation.php:1185 ../../mod/photos.php:961
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:184
+#: ../../mod/webpages.php:182
msgid "Share"
msgstr "Partager"
-#: ../../include/conversation.php:1107 ../../mod/editwebpage.php:139
-msgid "Page link title"
-msgstr "Titre du lien vers la page"
+#: ../../include/conversation.php:1187
+msgid "Page link name"
+msgstr "Nom du lien vers la page"
-#: ../../include/conversation.php:1110
+#: ../../include/conversation.php:1190
msgid "Post as"
msgstr "Publier en tant que"
-#: ../../include/conversation.php:1111 ../../mod/editblock.php:112
-#: ../../mod/editlayout.php:107 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:228 ../../mod/mail.php:342
+#: ../../include/conversation.php:1197 ../../mod/mail.php:238
+#: ../../mod/mail.php:352 ../../mod/editblock.php:141
+#: ../../mod/editlayout.php:139 ../../mod/editpost.php:112
+#: ../../mod/editwebpage.php:184
msgid "Upload photo"
msgstr "Téléverser une photo"
-#: ../../include/conversation.php:1112
+#: ../../include/conversation.php:1198
msgid "upload photo"
msgstr "téléverser une photo"
-#: ../../include/conversation.php:1113 ../../mod/editblock.php:113
-#: ../../mod/editlayout.php:108 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:229 ../../mod/mail.php:343
+#: ../../include/conversation.php:1199 ../../mod/mail.php:239
+#: ../../mod/mail.php:353 ../../mod/editblock.php:142
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:185
msgid "Attach file"
msgstr "Attacher un fichier"
-#: ../../include/conversation.php:1114
+#: ../../include/conversation.php:1200
msgid "attach file"
msgstr "attacher un fichier"
-#: ../../include/conversation.php:1115 ../../mod/editblock.php:114
-#: ../../mod/editlayout.php:109 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:230 ../../mod/mail.php:344
+#: ../../include/conversation.php:1201 ../../mod/mail.php:240
+#: ../../mod/mail.php:354 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:186
msgid "Insert web link"
msgstr "Insérer lien web"
-#: ../../include/conversation.php:1116
+#: ../../include/conversation.php:1202
msgid "web link"
msgstr "lien web"
-#: ../../include/conversation.php:1117
+#: ../../include/conversation.php:1203
msgid "Insert video link"
msgstr "Insérer lien vidéo"
-#: ../../include/conversation.php:1118
+#: ../../include/conversation.php:1204
msgid "video link"
msgstr "lien vidéo"
-#: ../../include/conversation.php:1119
+#: ../../include/conversation.php:1205
msgid "Insert audio link"
msgstr "Insérer un lien audio"
-#: ../../include/conversation.php:1120
+#: ../../include/conversation.php:1206
msgid "audio link"
msgstr "lien audio"
-#: ../../include/conversation.php:1121 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:145 ../../mod/editpost.php:118
+#: ../../mod/editwebpage.php:190
msgid "Set your location"
msgstr "Spécifier votre emplacement géographique"
-#: ../../include/conversation.php:1122
+#: ../../include/conversation.php:1208
msgid "set location"
msgstr "spécifier l'emplacement géographique"
-#: ../../include/conversation.php:1123 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151
+#: ../../include/conversation.php:1209 ../../mod/editpost.php:120
+msgid "Toggle voting"
+msgstr "(Dés)activer le vote"
+
+#: ../../include/conversation.php:1212 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:191
msgid "Clear browser location"
msgstr "Nettoyer l'emplacement géographique du navigateur"
-#: ../../include/conversation.php:1124
+#: ../../include/conversation.php:1213
msgid "clear location"
msgstr "nettoyer l'emplacement géographique"
-#: ../../include/conversation.php:1126 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167
-msgid "Set title"
-msgstr "Spécifier le titre"
+#: ../../include/conversation.php:1215 ../../mod/editblock.php:161
+#: ../../mod/editpost.php:135 ../../mod/editwebpage.php:207
+msgid "Title (optional)"
+msgstr "Titre (facultatif)"
-#: ../../include/conversation.php:1129 ../../mod/editblock.php:135
-#: ../../mod/editlayout.php:129 ../../mod/editpost.php:134
-#: ../../mod/editwebpage.php:169
-msgid "Categories (comma-separated list)"
-msgstr "Catégories (séparées par des virgules)"
+#: ../../include/conversation.php:1219 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:162 ../../mod/editpost.php:137
+#: ../../mod/editwebpage.php:209
+msgid "Categories (optional, comma-separated list)"
+msgstr "Catégories (facultatives, séparées par des virgules)"
-#: ../../include/conversation.php:1131 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:148 ../../mod/editpost.php:124
+#: ../../mod/editwebpage.php:193
msgid "Permission settings"
msgstr "Permissions"
-#: ../../include/conversation.php:1132
+#: ../../include/conversation.php:1222
msgid "permissions"
msgstr "permissions"
-#: ../../include/conversation.php:1139 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162
+#: ../../include/conversation.php:1230 ../../mod/editblock.php:158
+#: ../../mod/editlayout.php:155 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:202
msgid "Public post"
msgstr "Contenu public"
-#: ../../include/conversation.php:1141 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170
+#: ../../include/conversation.php:1232 ../../mod/editblock.php:165
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:138
+#: ../../mod/editwebpage.php:210
msgid "Example: bob@example.com, mary@example.com"
msgstr "Exemple: robert@exemple.com, marie@exemple.com"
-#: ../../include/conversation.php:1154 ../../mod/editblock.php:146
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:235 ../../mod/mail.php:349
+#: ../../include/conversation.php:1245 ../../mod/mail.php:245
+#: ../../mod/mail.php:359 ../../mod/editblock.php:175
+#: ../../mod/editlayout.php:172 ../../mod/editpost.php:149
+#: ../../mod/editwebpage.php:219
msgid "Set expiration date"
msgstr "Définir la date d'expiration"
-#: ../../include/conversation.php:1156 ../../include/ItemObject.php:595
-#: ../../mod/editpost.php:148 ../../mod/mail.php:237 ../../mod/mail.php:351
-msgid "Encrypt text"
-msgstr "Chiffrer le texte"
-
-#: ../../include/conversation.php:1158 ../../mod/editpost.php:150
+#: ../../include/conversation.php:1249 ../../mod/editpost.php:153
+#: ../../mod/events.php:674
msgid "OK"
msgstr "Ok"
-#: ../../include/conversation.php:1159 ../../mod/settings.php:518
-#: ../../mod/settings.php:544 ../../mod/editpost.php:151
-#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:94
+#: ../../include/conversation.php:1250 ../../mod/editpost.php:154
+#: ../../mod/events.php:673 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Annuler"
-#: ../../include/conversation.php:1401
+#: ../../include/conversation.php:1492
msgid "Discover"
msgstr "À découvrir"
-#: ../../include/conversation.php:1404
+#: ../../include/conversation.php:1495
msgid "Imported public streams"
msgstr "Flux publics importés"
-#: ../../include/conversation.php:1409
+#: ../../include/conversation.php:1500
msgid "Commented Order"
msgstr "Commentaires Récents"
-#: ../../include/conversation.php:1412
+#: ../../include/conversation.php:1503
msgid "Sort by Comment Date"
msgstr "Trier par date de dernier commentaire"
-#: ../../include/conversation.php:1416
+#: ../../include/conversation.php:1507
msgid "Posted Order"
msgstr "Publications Récentes"
-#: ../../include/conversation.php:1419
+#: ../../include/conversation.php:1510
msgid "Sort by Post Date"
msgstr "Trier par date de publication"
-#: ../../include/conversation.php:1424 ../../include/widgets.php:82
-msgid "Personal"
-msgstr "Personnel"
-
-#: ../../include/conversation.php:1427
+#: ../../include/conversation.php:1518
msgid "Posts that mention or involve you"
msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre"
-#: ../../include/conversation.php:1433 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
+#: ../../include/conversation.php:1524 ../../mod/connections.php:72
+#: ../../mod/connections.php:85 ../../mod/menu.php:110
msgid "New"
msgstr "Nouveautés"
-#: ../../include/conversation.php:1436
+#: ../../include/conversation.php:1527
msgid "Activity Stream - by date"
msgstr "Flux d'activité - par date"
-#: ../../include/conversation.php:1442
+#: ../../include/conversation.php:1533
msgid "Starred"
msgstr "Mis en avant"
-#: ../../include/conversation.php:1445
+#: ../../include/conversation.php:1536
msgid "Favourite Posts"
msgstr "Publications préférées"
-#: ../../include/conversation.php:1452
+#: ../../include/conversation.php:1543
msgid "Spam"
msgstr "Indésirable"
-#: ../../include/conversation.php:1455
+#: ../../include/conversation.php:1546
msgid "Posts flagged as SPAM"
msgstr "Publications marquées comme indésirables"
-#: ../../include/conversation.php:1491 ../../mod/admin.php:901
+#: ../../include/conversation.php:1590 ../../mod/admin.php:993
msgid "Channel"
msgstr "Canal"
-#: ../../include/conversation.php:1494
+#: ../../include/conversation.php:1593
msgid "Status Messages and Posts"
msgstr "Messages d'état et contributions"
-#: ../../include/conversation.php:1503
+#: ../../include/conversation.php:1602
msgid "About"
msgstr "À propos"
-#: ../../include/conversation.php:1506
+#: ../../include/conversation.php:1605
msgid "Profile Details"
msgstr "Détails du profil"
-#: ../../include/conversation.php:1524
+#: ../../include/conversation.php:1614 ../../include/photos.php:359
+msgid "Photo Albums"
+msgstr "Albums photo"
+
+#: ../../include/conversation.php:1623
msgid "Files and Storage"
msgstr "Fichiers et Stockage"
-#: ../../include/conversation.php:1533 ../../include/conversation.php:1536
+#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
msgid "Chatrooms"
msgstr "Salons de clavardage"
-#: ../../include/conversation.php:1546
+#: ../../include/conversation.php:1649
msgid "Saved Bookmarks"
msgstr "Favoris sauvegardés"
-#: ../../include/conversation.php:1557
+#: ../../include/conversation.php:1659
msgid "Manage Webpages"
msgstr "Gérer les pages web"
-#: ../../include/features.php:23
+#: ../../include/conversation.php:1718
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Participation"
+msgstr[1] "Participations"
+
+#: ../../include/conversation.php:1721
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Non-participation"
+msgstr[1] "Non-participations"
+
+#: ../../include/conversation.php:1724
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indécis"
+msgstr[1] ""
+
+#: ../../include/conversation.php:1727
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "D'accord"
+msgstr[1] "D'accord"
+
+#: ../../include/conversation.php:1730
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Pas d'accord"
+msgstr[1] "Pas d'accord"
+
+#: ../../include/conversation.php:1733
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Sans opinion"
+msgstr[1] "Sans opinion"
+
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Divers"
+
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-JJ ou MM-JJ"
+
+#: ../../include/datetime.php:235 ../../mod/appman.php:91
+#: ../../mod/appman.php:92 ../../mod/events.php:672
+msgid "Required"
+msgstr "Requis"
+
+#: ../../include/datetime.php:262 ../../boot.php:2358
+msgid "never"
+msgstr "jamais"
+
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
+msgstr "à l'instant"
+
+#: ../../include/datetime.php:271
+msgid "year"
+msgstr "année"
+
+#: ../../include/datetime.php:271
+msgid "years"
+msgstr "années"
+
+#: ../../include/datetime.php:272
+msgid "month"
+msgstr "mois"
+
+#: ../../include/datetime.php:272
+msgid "months"
+msgstr "mois"
+
+#: ../../include/datetime.php:273
+msgid "week"
+msgstr "semaine"
+
+#: ../../include/datetime.php:273
+msgid "weeks"
+msgstr "semaines"
+
+#: ../../include/datetime.php:274
+msgid "day"
+msgstr "jour"
+
+#: ../../include/datetime.php:274
+msgid "days"
+msgstr "jours"
+
+#: ../../include/datetime.php:275
+msgid "hour"
+msgstr "heure"
+
+#: ../../include/datetime.php:275
+msgid "hours"
+msgstr "heures"
+
+#: ../../include/datetime.php:276
+msgid "minute"
+msgstr "minute"
+
+#: ../../include/datetime.php:276
+msgid "minutes"
+msgstr "minutes"
+
+#: ../../include/datetime.php:277
+msgid "second"
+msgstr "seconde"
+
+#: ../../include/datetime.php:277
+msgid "seconds"
+msgstr "secondes"
+
+#: ../../include/datetime.php:285
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "il y a %1$d %2$s"
+
+#: ../../include/datetime.php:519
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Anniversaire de %1$s"
+
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Joyeux Anniversaire %1$s"
+
+#: ../../include/diaspora.php:2498
+msgid "Please choose"
+msgstr "Merci de choisir"
+
+#: ../../include/diaspora.php:2500
+msgid "Agree"
+msgstr "D'accord"
+
+#: ../../include/diaspora.php:2502
+msgid "Disagree"
+msgstr "Pas d'accord"
+
+#: ../../include/diaspora.php:2504
+msgid "Abstain"
+msgstr "Abstention"
+
+#: ../../include/dimport.php:34 ../../include/identity.php:217
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Le surnom contient des caractères interdits, ou est déjà pris sur ce site."
+
+#: ../../include/dir_fns.php:126
+msgid "Directory Options"
+msgstr "Options d'annuaire"
+
+#: ../../include/dir_fns.php:128
+msgid "Safe Mode"
+msgstr "Mode sûr"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:428 ../../mod/api.php:106
+#: ../../mod/photos.php:568 ../../mod/connedit.php:647
+#: ../../mod/connedit.php:675 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "No"
+msgstr "Non"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:430 ../../mod/api.php:105
+#: ../../mod/photos.php:568 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "Yes"
+msgstr "Oui"
+
+#: ../../include/dir_fns.php:129
+msgid "Public Forums Only"
+msgstr "Seulement les forums publics"
+
+#: ../../include/dir_fns.php:130
+msgid "This Website Only"
+msgstr "Juste ce site"
+
+#: ../../include/enotify.php:96
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../include/enotify.php:100
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Notification] Nouveau message reçu sur %s"
+
+#: ../../include/enotify.php:102
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s."
+
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s vous a envoyé %2$s."
+
+#: ../../include/enotify.php:103
+msgid "a private message"
+msgstr "un message privé"
+
+#: ../../include/enotify.php:104
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés."
+
+#: ../../include/enotify.php:158
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]"
+
+#: ../../include/enotify.php:166
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]"
+
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]"
+
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Notification] Commentaire de %2$s sur conversation #%1$d"
+
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez."
+
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
+
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Matrice Rouge:Notification] %s a publié sur votre profil"
+
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s a publié sur votre profil à %3$s"
+
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]"
+
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Notification] %s vous a étiqueté"
+
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s"
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]."
+
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Notification] %1$s vous a cogné"
+
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, vous avez été cogné/pointé/sollicité par %2$s sur %3$s"
+
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]vous a cogné[/zrl]."
+
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Matrice Rouge:Notification] %s a étiqueté votre publication"
+
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s"
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]"
+
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Notification] Nouvelle introduction"
+
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, vous avez reçu une demande de mise en relation de '%2$s' sur %3$s"
+
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de mise en relation[/zrl] de %3$s."
+
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Vous pouvez visiter leur profil sur %s"
+
+#: ../../include/enotify.php:278
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de relation."
+
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Matrice Rouge:Notification] Nouvelle suggestion d'amitié"
+
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, vous avez reçu une suggestion de relation de '%2$s' à %3$s"
+
+#: ../../include/enotify.php:287
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion de relation[/zrl] de %4$s."
+
+#: ../../include/enotify.php:293
+msgid "Name:"
+msgstr "Nom&nbsp;:"
+
+#: ../../include/enotify.php:294
+msgid "Photo:"
+msgstr "Photo&nbsp;:"
+
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion."
+
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
+msgstr "[Red:Notification]"
+
+#: ../../include/event.php:549
+msgid "This event has been added to your calendar."
+msgstr "Cet événement a été ajouté à votre calendrier."
+
+#: ../../include/features.php:38
msgid "General Features"
msgstr "Fonctionnalités générales"
-#: ../../include/features.php:25
+#: ../../include/features.php:40
msgid "Content Expiration"
msgstr "Expiration de contenu"
-#: ../../include/features.php:25
+#: ../../include/features.php:40
msgid "Remove posts/comments and/or private messages at a future time"
msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard"
-#: ../../include/features.php:26
+#: ../../include/features.php:41
msgid "Multiple Profiles"
msgstr "Profils multiples"
-#: ../../include/features.php:26
+#: ../../include/features.php:41
msgid "Ability to create multiple profiles"
msgstr "Possibilité de créer plusieurs profils"
-#: ../../include/features.php:27
+#: ../../include/features.php:42
msgid "Advanced Profiles"
msgstr "Profils Avancés"
-#: ../../include/features.php:27
+#: ../../include/features.php:42
msgid "Additional profile sections and selections"
msgstr "Sections additionnelles du profil"
-#: ../../include/features.php:28
+#: ../../include/features.php:43
msgid "Profile Import/Export"
msgstr "Importer/Exporter le profil"
-#: ../../include/features.php:28
+#: ../../include/features.php:43
msgid "Save and load profile details across sites/channels"
msgstr "Distribuer les détails du profil sur la matrice."
-#: ../../include/features.php:29
+#: ../../include/features.php:44
msgid "Web Pages"
msgstr "Pages web"
-#: ../../include/features.php:29
+#: ../../include/features.php:44
msgid "Provide managed web pages on your channel"
msgstr "Fournir des pages web, sous votre contrôle, sur votre canal"
-#: ../../include/features.php:30
+#: ../../include/features.php:45
msgid "Private Notes"
msgstr "Notes privées"
-#: ../../include/features.php:30
+#: ../../include/features.php:45
msgid "Enables a tool to store notes and reminders"
msgstr "Active un outil pour stocker notes et mémos"
-#: ../../include/features.php:35
-msgid "Extended Identity Sharing"
-msgstr "Partage d'identité étendue"
+#: ../../include/features.php:46
+msgid "Navigation Channel Select"
+msgstr "Sélection du canal par la navigation"
-#: ../../include/features.php:35
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Partage votre identité avec tous les sites web du Monde. Si décoché, l'identité sera seulement partagée avec les sites de la matrice."
+#: ../../include/features.php:46
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Changez de canal directement depuis le menu de navigation"
+
+#: ../../include/features.php:47
+msgid "Photo Location"
+msgstr "Localisation des photos"
+
+#: ../../include/features.php:47
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Si des informations géographiques sont présentes dans les images téléversées, les afficher sur une carte."
-#: ../../include/features.php:36
+#: ../../include/features.php:49
msgid "Expert Mode"
msgstr "Mode expert"
-#: ../../include/features.php:36
+#: ../../include/features.php:49
msgid "Enable Expert Mode to provide advanced configuration options"
msgstr "Activer le mode expert pour accéder aux options avancées"
-#: ../../include/features.php:37
+#: ../../include/features.php:50
msgid "Premium Channel"
msgstr "Canal VIP"
-#: ../../include/features.php:37
+#: ../../include/features.php:50
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Vous permet d'appliquer des règles et restrictions aux relations de votre canal"
-#: ../../include/features.php:42
+#: ../../include/features.php:55
msgid "Post Composition Features"
msgstr "Fonctionnalités de composition"
-#: ../../include/features.php:44
+#: ../../include/features.php:57
msgid "Use Markdown"
msgstr "Utiliser Markdown"
-#: ../../include/features.php:44
+#: ../../include/features.php:57
msgid "Allow use of \"Markdown\" to format posts"
msgstr "Authoriser l'usage de \"Markdown\" pour le format des partages"
-#: ../../include/features.php:45
-msgid "Post Preview"
-msgstr "Aperçu avant publication"
-
-#: ../../include/features.php:45
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Permettre de prévisualiser les publications/commentaires"
+#: ../../include/features.php:58
+msgid "Large Photos"
+msgstr "Grandes photos"
-#: ../../include/features.php:46 ../../include/widgets.php:503
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Canaux sources"
+#: ../../include/features.php:58
+msgid ""
+"Include large (640px) photo thumbnails in posts. If not enabled, use small "
+"(320px) photo thumbnails"
+msgstr "Inclure une version large (640px) des aperçus dans les publications. Si désactivé, seulement inclure des aperçus de 320px."
-#: ../../include/features.php:46
+#: ../../include/features.php:59
msgid "Automatically import channel content from other channels or feeds"
msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal en cours"
-#: ../../include/features.php:47
+#: ../../include/features.php:60
msgid "Even More Encryption"
msgstr "Encore plus de chiffrement"
-#: ../../include/features.php:47
+#: ../../include/features.php:60
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Permettre le chiffrement - optionnel - du contenu de bout-en-bout au moyen d'un secret partagé"
-#: ../../include/features.php:52
+#: ../../include/features.php:61
+msgid "Enable voting tools"
+msgstr "Activer les outils de vote"
+
+#: ../../include/features.php:61
+msgid "Provide a class of post which others can vote on"
+msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent se prononcer"
+
+#: ../../include/features.php:67
msgid "Network and Stream Filtering"
msgstr "Filtrage du réseau et des flux"
-#: ../../include/features.php:53
+#: ../../include/features.php:68
msgid "Search by Date"
msgstr "Chercher par date"
-#: ../../include/features.php:53
+#: ../../include/features.php:68
msgid "Ability to select posts by date ranges"
msgstr "Pouvoir choisir des publications par date"
-#: ../../include/features.php:54
+#: ../../include/features.php:69
msgid "Collections Filter"
msgstr "Filtre des collections"
-#: ../../include/features.php:54
+#: ../../include/features.php:69
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Activer une boîte qui permet de filtrer les publications du réseau parmi les collections selectionnées"
-#: ../../include/features.php:55 ../../include/widgets.php:265
-msgid "Saved Searches"
-msgstr "Recherches sauvées"
-
-#: ../../include/features.php:55
+#: ../../include/features.php:70
msgid "Save search terms for re-use"
msgstr "Sauver des termes de recherche pour utilisation ultérieure"
-#: ../../include/features.php:56
+#: ../../include/features.php:71
msgid "Network Personal Tab"
msgstr "Onglet \"réseau personnel\""
-#: ../../include/features.php:56
+#: ../../include/features.php:71
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"
-#: ../../include/features.php:57
+#: ../../include/features.php:72
msgid "Network New Tab"
msgstr "Onglet \"nouveautés réseau\""
-#: ../../include/features.php:57
+#: ../../include/features.php:72
msgid "Enable tab to display all new Network activity"
msgstr "Activer un onglet avec toute activité récente sur le réseau"
-#: ../../include/features.php:58
+#: ../../include/features.php:73
msgid "Affinity Tool"
msgstr "Gérer l'affinité"
-#: ../../include/features.php:58
+#: ../../include/features.php:73
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations"
-#: ../../include/features.php:59
+#: ../../include/features.php:74
+msgid "Connection Filtering"
+msgstr "Filtrage de connexions"
+
+#: ../../include/features.php:74
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtrez les publications par leurs connexions, d'après des mots clés"
+
+#: ../../include/features.php:75
msgid "Suggest Channels"
msgstr "Suggérer des canaux"
-#: ../../include/features.php:59
+#: ../../include/features.php:75
msgid "Show channel suggestions"
msgstr "Montrer les suggestions de canaux"
-#: ../../include/features.php:64
+#: ../../include/features.php:80
msgid "Post/Comment Tools"
msgstr "Gérer les publications/commentaires"
-#: ../../include/features.php:66
-msgid "Edit Sent Posts"
-msgstr "Éditer les publications envoyées"
-
-#: ../../include/features.php:66
-msgid "Edit and correct posts and comments after sending"
-msgstr "Permettre d'éditer/corriger les publications/commentaires après envoi"
-
-#: ../../include/features.php:67
+#: ../../include/features.php:81
msgid "Tagging"
msgstr "Étiquettes"
-#: ../../include/features.php:67
+#: ../../include/features.php:81
msgid "Ability to tag existing posts"
msgstr "Permettre de marquer les publications existantes"
-#: ../../include/features.php:68
+#: ../../include/features.php:82
msgid "Post Categories"
msgstr "Catégoriser les publications"
-#: ../../include/features.php:68
+#: ../../include/features.php:82
msgid "Add categories to your posts"
msgstr "Ajouter des catégories à vos publications"
-#: ../../include/features.php:69
+#: ../../include/features.php:83
msgid "Ability to file posts under folders"
msgstr "Permettre de classer les publications dans des dossiers"
-#: ../../include/features.php:70
+#: ../../include/features.php:84
msgid "Dislike Posts"
msgstr "Détester les publications"
-#: ../../include/features.php:70
+#: ../../include/features.php:84
msgid "Ability to dislike posts/comments"
msgstr "Pouvoir détester les publications/commentaires"
-#: ../../include/features.php:71
+#: ../../include/features.php:85
msgid "Star Posts"
msgstr "Mettre en avant les publications"
-#: ../../include/features.php:71
+#: ../../include/features.php:85
msgid "Ability to mark special posts with a star indicator"
msgstr "Pouvoir marquer certaines publications d'une étoile"
-#: ../../include/features.php:72
+#: ../../include/features.php:86
msgid "Tag Cloud"
msgstr "Nuage de tags"
-#: ../../include/features.php:72
+#: ../../include/features.php:86
msgid "Provide a personal tag cloud on your channel page"
msgstr "Afficher un nuage de vos tags sur votre canal"
-#: ../../include/follow.php:23
+#: ../../include/follow.php:28
msgid "Channel is blocked on this site."
msgstr "Ce canal est bloqué sur ce site."
-#: ../../include/follow.php:28
+#: ../../include/follow.php:33
msgid "Channel location missing."
msgstr "Emplacement du canal introuvable."
-#: ../../include/follow.php:54
+#: ../../include/follow.php:83
msgid "Response from remote channel was incomplete."
msgstr "La réponse du canal distant était incomplète."
-#: ../../include/follow.php:85
+#: ../../include/follow.php:100
msgid "Channel was deleted and no longer exists."
msgstr "Le canal a été supprimé et n'existe plus."
-#: ../../include/follow.php:132
+#: ../../include/follow.php:135 ../../include/follow.php:206
+msgid "Protocol disabled."
+msgstr "Protocole désactivé."
+
+#: ../../include/follow.php:144
+msgid "Protocol blocked for this channel."
+msgstr "Protocole bloqué pour ce canal."
+
+#: ../../include/follow.php:179
msgid "Channel discovery failed."
msgstr "La tentative d'accéder au canal a échouée."
-#: ../../include/follow.php:149
+#: ../../include/follow.php:195
msgid "local account not found."
msgstr "compte local introuvable."
-#: ../../include/follow.php:158
+#: ../../include/follow.php:224
msgid "Cannot connect to yourself."
msgstr "Ne peut pas se connecter à vous."
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Il manque le nom du salon"
-
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Un salon de ce nom existe déjà"
-
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Identifiant de salon invalide."
-
-#: ../../include/chat.php:105
-msgid "Room not found."
-msgstr "Salon introuvable."
-
-#: ../../include/chat.php:126
-msgid "Room is full"
-msgstr "Le salon est plein"
-
-#: ../../include/items.php:295 ../../mod/profperm.php:23
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:242
-#: ../../mod/frphotos.php:69 ../../index.php:360
-msgid "Permission denied"
-msgstr "Accès refusé"
-
-#: ../../include/items.php:830
-msgid "(Unknown)"
-msgstr "(Inconnu)"
-
-#: ../../include/items.php:959
-msgid "Visible to anybody on the internet."
-msgstr "Visible à tout le monde sur internet."
-
-#: ../../include/items.php:961
-msgid "Visible to you only."
-msgstr "Visible pour vous seulement."
-
-#: ../../include/items.php:963
-msgid "Visible to anybody in this network."
-msgstr "Visible sur toute la Matrice."
-
-#: ../../include/items.php:965
-msgid "Visible to anybody authenticated."
-msgstr "Visible aux utilisateurs authentifiés."
-
-#: ../../include/items.php:967
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible pour tous sur %s."
-
-#: ../../include/items.php:969
-msgid "Visible to all connections."
-msgstr "Visible pour tous les contacts."
-
-#: ../../include/items.php:971
-msgid "Visible to approved connections."
-msgstr "Visible aux contacts approuvés."
-
-#: ../../include/items.php:3649 ../../mod/home.php:67 ../../mod/display.php:32
-#: ../../mod/filestorage.php:18 ../../mod/admin.php:168
-#: ../../mod/admin.php:932 ../../mod/admin.php:1135 ../../mod/thing.php:78
-#: ../../mod/viewsrc.php:18
-msgid "Item not found."
-msgstr "Élément introuvable."
-
-#: ../../include/items.php:4082 ../../mod/group.php:38 ../../mod/group.php:140
-msgid "Collection not found."
-msgstr "Collection introuvable."
-
-#: ../../include/items.php:4097
-msgid "Collection is empty."
-msgstr "Collection vide."
-
-#: ../../include/items.php:4104
-#, php-format
-msgid "Collection: %s"
-msgstr "Collection&nbsp;: %s"
-
-#: ../../include/items.php:4115
-#, php-format
-msgid "Connection: %s"
-msgstr "Relation&nbsp;: %s"
-
-#: ../../include/items.php:4118
-msgid "Connection not found."
-msgstr "Relation introuvable."
-
-#: ../../include/group.php:25
+#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
"<strong>may</strong> apply to this group and any future members. If this is "
"not what you intended, please create another group with a different name."
msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de recréer un nouveau groupe avec un nom différent."
-#: ../../include/group.php:234
+#: ../../include/group.php:235
msgid "Default privacy group for new contacts"
msgstr "Groupe de confidentialité par défaut pour les nouveaux contacts"
-#: ../../include/group.php:253 ../../mod/admin.php:772
+#: ../../include/group.php:254 ../../mod/admin.php:831
msgid "All Channels"
msgstr "Tous canaux"
-#: ../../include/group.php:275
+#: ../../include/group.php:276
msgid "edit"
msgstr "éditer"
-#: ../../include/group.php:296
+#: ../../include/group.php:298
msgid "Collections"
msgstr "Collections"
-#: ../../include/group.php:297
+#: ../../include/group.php:299
msgid "Edit collection"
msgstr "Éditer collection"
-#: ../../include/group.php:298
-msgid "Create a new collection"
-msgstr "Créer une nouvelle collection"
+#: ../../include/group.php:300
+msgid "Add new collection"
+msgstr "Ajouter une nouvelle collection"
-#: ../../include/group.php:299
+#: ../../include/group.php:301
msgid "Channels not in any collection"
msgstr "Ces canaux ne sont dans aucune collection"
-#: ../../include/group.php:301 ../../include/widgets.php:266
-msgid "add"
-msgstr "ajouter"
-
-#: ../../include/identity.php:30 ../../mod/item.php:1297
+#: ../../include/identity.php:33
msgid "Unable to obtain identity information from database"
msgstr "Impossible d'obtenir les données d'identité depuis la base de données"
-#: ../../include/identity.php:63
+#: ../../include/identity.php:67
msgid "Empty name"
msgstr "Nom vide"
-#: ../../include/identity.php:65
+#: ../../include/identity.php:70
msgid "Name too long"
msgstr "Nom trop long"
-#: ../../include/identity.php:166
+#: ../../include/identity.php:186
msgid "No account identifier"
msgstr "Pas d'identifiant de compte"
-#: ../../include/identity.php:176
+#: ../../include/identity.php:198
msgid "Nickname is required."
msgstr "Un surnom est requis."
-#: ../../include/identity.php:190
+#: ../../include/identity.php:212
msgid "Reserved nickname. Please choose another."
msgstr "Pseudonyme réservé. Merci d'en choisir un autre."
-#: ../../include/identity.php:195
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Le surnom contient des caractères interdits, ou est déjà pris sur ce site."
-
-#: ../../include/identity.php:258
+#: ../../include/identity.php:292
msgid "Unable to retrieve created identity"
msgstr "Impossible de récupérer l'identité créée"
-#: ../../include/identity.php:317
+#: ../../include/identity.php:350
msgid "Default Profile"
msgstr "Profil par défaut"
-#: ../../include/identity.php:342 ../../include/widgets.php:400
-#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:473
-msgid "Friends"
-msgstr "Amis"
-
-#: ../../include/identity.php:509
+#: ../../include/identity.php:759
msgid "Requested channel is not available."
msgstr "Canal demandé non-disponible."
-#: ../../include/identity.php:557 ../../mod/achievements.php:8
-#: ../../mod/profile.php:16 ../../mod/blocks.php:10 ../../mod/connect.php:13
-#: ../../mod/filestorage.php:40 ../../mod/layouts.php:8
-#: ../../mod/webpages.php:8 ../../mod/hcard.php:8
+#: ../../include/identity.php:806 ../../mod/achievements.php:11
+#: ../../mod/blocks.php:29 ../../mod/profile.php:16 ../../mod/connect.php:13
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:27
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/hcard.php:8 ../../mod/layouts.php:29 ../../mod/webpages.php:29
msgid "Requested profile is not available."
msgstr "Profil demandé inaccessible."
-#: ../../include/identity.php:706 ../../include/widgets.php:128
-#: ../../include/widgets.php:168 ../../include/Contact.php:107
-#: ../../mod/directory.php:183 ../../mod/dirprofile.php:164
-#: ../../mod/suggest.php:51 ../../mod/match.php:62
-msgid "Connect"
-msgstr "Ajouter"
-
-#: ../../include/identity.php:720 ../../mod/profiles.php:695
+#: ../../include/identity.php:969 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Changer la photo du profil"
-#: ../../include/identity.php:726
+#: ../../include/identity.php:975
msgid "Profiles"
msgstr "Profils"
-#: ../../include/identity.php:726
+#: ../../include/identity.php:975
msgid "Manage/edit profiles"
msgstr "Gérer/éditer les profils"
-#: ../../include/identity.php:727 ../../mod/profiles.php:696
+#: ../../include/identity.php:976 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Créer un nouveau profil"
-#: ../../include/identity.php:741 ../../mod/profiles.php:707
+#: ../../include/identity.php:991 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Image du profil"
-#: ../../include/identity.php:744
+#: ../../include/identity.php:994
msgid "visible to everybody"
msgstr "visible pour tous"
-#: ../../include/identity.php:745 ../../mod/profiles.php:591
-#: ../../mod/profiles.php:711
+#: ../../include/identity.php:995 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Éditer la visibilité"
-#: ../../include/identity.php:759 ../../include/identity.php:983
-#: ../../mod/directory.php:158
+#: ../../include/identity.php:1011 ../../include/identity.php:1250
msgid "Gender:"
msgstr "Sexe&nbsp;:"
-#: ../../include/identity.php:760 ../../include/identity.php:1027
-#: ../../mod/directory.php:160
+#: ../../include/identity.php:1012 ../../include/identity.php:1294
msgid "Status:"
msgstr "État&nbsp;:"
-#: ../../include/identity.php:761 ../../include/identity.php:1038
-#: ../../mod/directory.php:162
+#: ../../include/identity.php:1013 ../../include/identity.php:1305
msgid "Homepage:"
msgstr "Site web&nbsp;:"
-#: ../../include/identity.php:762 ../../mod/dirprofile.php:151
+#: ../../include/identity.php:1014
msgid "Online Now"
msgstr "Connecté"
-#: ../../include/identity.php:827 ../../include/identity.php:907
-#: ../../mod/ping.php:298
+#: ../../include/identity.php:1097 ../../include/identity.php:1175
+#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr "H:i l d F"
-#: ../../include/identity.php:828 ../../include/identity.php:908
+#: ../../include/identity.php:1098 ../../include/identity.php:1176
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:873 ../../include/identity.php:948
-#: ../../mod/ping.php:320
+#: ../../include/identity.php:1143 ../../include/identity.php:1215
+#: ../../mod/ping.php:346
msgid "[today]"
msgstr "[aujourd'hui]"
-#: ../../include/identity.php:885
+#: ../../include/identity.php:1154
msgid "Birthday Reminders"
msgstr "Rappels d'anniversaires"
-#: ../../include/identity.php:886
+#: ../../include/identity.php:1155
msgid "Birthdays this week:"
msgstr "Anniversaires cette semaine&nbsp;:"
-#: ../../include/identity.php:941
+#: ../../include/identity.php:1208
msgid "[No description]"
msgstr "[Pas de description]"
-#: ../../include/identity.php:959
+#: ../../include/identity.php:1226
msgid "Event Reminders"
msgstr "Rappels d'événements"
-#: ../../include/identity.php:960
+#: ../../include/identity.php:1227
msgid "Events this week:"
msgstr "Événements cette semaine&nbsp;:"
-#: ../../include/identity.php:981 ../../mod/settings.php:942
+#: ../../include/identity.php:1248 ../../mod/settings.php:1056
msgid "Full Name:"
msgstr "Nom complet&nbsp;:"
-#: ../../include/identity.php:988
+#: ../../include/identity.php:1255
msgid "Like this channel"
msgstr "J'aime ce canal"
-#: ../../include/identity.php:1012
+#: ../../include/identity.php:1279
msgid "j F, Y"
msgstr "j F Y"
-#: ../../include/identity.php:1013
+#: ../../include/identity.php:1280
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1020
+#: ../../include/identity.php:1287
msgid "Birthday:"
msgstr "Date de naissance&nbsp;:"
-#: ../../include/identity.php:1024
+#: ../../include/identity.php:1291 ../../mod/directory.php:297
msgid "Age:"
msgstr "Age&nbsp;:"
-#: ../../include/identity.php:1033
+#: ../../include/identity.php:1300
#, php-format
msgid "for %1$d %2$s"
msgstr "depuis %1$d %2$s"
-#: ../../include/identity.php:1036 ../../mod/profiles.php:613
+#: ../../include/identity.php:1303 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Orientation sexuelle&nbsp;:"
-#: ../../include/identity.php:1040 ../../mod/profiles.php:615
+#: ../../include/identity.php:1307 ../../mod/profiles.php:693
+#: ../../mod/directory.php:313
msgid "Hometown:"
msgstr "Ville natale&nbsp;:"
-#: ../../include/identity.php:1042
+#: ../../include/identity.php:1309
msgid "Tags:"
-msgstr "Étiquettes&nbsp;:"
+msgstr "Étiquettes:"
-#: ../../include/identity.php:1044 ../../mod/profiles.php:616
+#: ../../include/identity.php:1311 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Opinions politiques&nbsp;:"
-#: ../../include/identity.php:1046
+#: ../../include/identity.php:1313
msgid "Religion:"
msgstr "Religion&nbsp;:"
-#: ../../include/identity.php:1048 ../../mod/directory.php:164
+#: ../../include/identity.php:1315 ../../mod/directory.php:315
msgid "About:"
msgstr "À propos&nbsp;:"
-#: ../../include/identity.php:1050
+#: ../../include/identity.php:1317
msgid "Hobbies/Interests:"
msgstr "Occupations/Centres d'intérêt&nbsp;:"
-#: ../../include/identity.php:1052 ../../mod/profiles.php:619
+#: ../../include/identity.php:1319 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "Aime&nbsp;:"
-#: ../../include/identity.php:1054 ../../mod/profiles.php:620
+#: ../../include/identity.php:1321 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "N'aime pas&nbsp;:"
-#: ../../include/identity.php:1057
+#: ../../include/identity.php:1323
msgid "Contact information and Social Networks:"
msgstr "Coordonnées et réseaux sociaux&nbsp;:"
-#: ../../include/identity.php:1059
+#: ../../include/identity.php:1325
msgid "My other channels:"
msgstr "Mes autres canaux&nbsp;:"
-#: ../../include/identity.php:1061
+#: ../../include/identity.php:1327
msgid "Musical interests:"
msgstr "Goûts musicaux&nbsp;:"
-#: ../../include/identity.php:1063
+#: ../../include/identity.php:1329
msgid "Books, literature:"
msgstr "Lectures, goûts littéraires&nbsp;:"
-#: ../../include/identity.php:1065
+#: ../../include/identity.php:1331
msgid "Television:"
msgstr "Télévision&nbsp;:"
-#: ../../include/identity.php:1067
+#: ../../include/identity.php:1333
msgid "Film/dance/culture/entertainment:"
-msgstr "Cinéma/danse/culture/divertissement&nbsp;:"
+msgstr "Cinéma/danse/culture/divertissement&nsbp;:"
-#: ../../include/identity.php:1069
+#: ../../include/identity.php:1335
msgid "Love/Romance:"
msgstr "Vie sentimentale/amoureuse&nbsp;:"
-#: ../../include/identity.php:1071
+#: ../../include/identity.php:1337
msgid "Work/employment:"
msgstr "Travail&nbsp;:"
-#: ../../include/identity.php:1073
+#: ../../include/identity.php:1339
msgid "School/education:"
msgstr "Cursus&nbsp;:"
-#: ../../include/identity.php:1093
+#: ../../include/identity.php:1359
msgid "Like this thing"
msgstr "J'aime ceci"
-#: ../../include/network.php:652
-msgid "view full size"
-msgstr "pleine taille"
-
-#: ../../include/bbcode.php:112 ../../include/bbcode.php:645
-#: ../../include/bbcode.php:648 ../../include/bbcode.php:653
-#: ../../include/bbcode.php:656 ../../include/bbcode.php:659
-#: ../../include/bbcode.php:662 ../../include/bbcode.php:667
-#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
-#: ../../include/bbcode.php:678 ../../include/bbcode.php:681
-#: ../../include/bbcode.php:684
-msgid "Image/photo"
-msgstr "Image/photo"
-
-#: ../../include/bbcode.php:147 ../../include/bbcode.php:695
-msgid "Encrypted content"
-msgstr "Contenu chiffré"
-
-#: ../../include/bbcode.php:163
-msgid "QR code"
-msgstr "code QR"
-
-#: ../../include/bbcode.php:212
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s a écrit %2$s qui suit %3$s"
-
-#: ../../include/bbcode.php:214
-msgid "post"
-msgstr "l'article"
-
-#: ../../include/bbcode.php:613 ../../include/bbcode.php:633
-msgid "$1 wrote:"
-msgstr "$1 a écrit&nbsp;:"
-
-#: ../../include/message.php:18
-msgid "No recipient provided."
-msgstr "Pas de destinataire."
-
-#: ../../include/message.php:23
-msgid "[no subject]"
-msgstr "[sans objet]"
-
-#: ../../include/message.php:42
-msgid "Unable to determine sender."
-msgstr "Impossible de déterminer l'émetteur."
-
-#: ../../include/message.php:143
-msgid "Stored post could not be verified."
-msgstr "Le message stocké n'a pas pu être vérifié."
-
-#: ../../include/widgets.php:80
-msgid "System"
-msgstr "Système"
+#: ../../include/items.php:413 ../../mod/bulksetclose.php:11
+#: ../../mod/profperm.php:23 ../../mod/group.php:68 ../../mod/like.php:273
+#: ../../mod/subthread.php:49 ../../index.php:396
+msgid "Permission denied"
+msgstr "Accès refusé"
-#: ../../include/widgets.php:83
-msgid "Create Personal App"
-msgstr "Créer Votre Application"
+#: ../../include/items.php:1101 ../../include/items.php:1147
+msgid "(Unknown)"
+msgstr "(Inconnu)"
-#: ../../include/widgets.php:84
-msgid "Edit Personal App"
-msgstr "Éditer Votre Application"
+#: ../../include/items.php:1373
+msgid "Visible to anybody on the internet."
+msgstr "Visible à tout le monde sur internet."
-#: ../../include/widgets.php:130 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Ignorer/Cacher"
+#: ../../include/items.php:1375
+msgid "Visible to you only."
+msgstr "Visible pour vous seulement."
-#: ../../include/widgets.php:136 ../../mod/connections.php:267
-msgid "Suggestions"
-msgstr "Suggestion"
+#: ../../include/items.php:1377
+msgid "Visible to anybody in this network."
+msgstr "Visible sur toute la Matrice."
-#: ../../include/widgets.php:137
-msgid "See more..."
-msgstr "Voir plus..."
+#: ../../include/items.php:1379
+msgid "Visible to anybody authenticated."
+msgstr "Visible aux usagers authentifiés."
-#: ../../include/widgets.php:159
+#: ../../include/items.php:1381
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Vous avez %1$.0f des %2$.0f relations autorisées."
-
-#: ../../include/widgets.php:165
-msgid "Add New Connection"
-msgstr "Ajouter une nouvelle relation"
-
-#: ../../include/widgets.php:166
-msgid "Enter the channel address"
-msgstr "Adresse du canal"
-
-#: ../../include/widgets.php:167
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Exemple&nbsp;: bob@exemple.com, http://exemple.com/barbara"
-
-#: ../../include/widgets.php:184
-msgid "Notes"
-msgstr "Notes"
-
-#: ../../include/widgets.php:256
-msgid "Remove term"
-msgstr "Retirer le terme"
-
-#: ../../include/widgets.php:335
-msgid "Archives"
-msgstr "Archives"
-
-#: ../../include/widgets.php:397
-msgid "Refresh"
-msgstr "Actualiser"
-
-#: ../../include/widgets.php:398 ../../mod/connedit.php:470
-msgid "Me"
-msgstr "Moi"
-
-#: ../../include/widgets.php:399 ../../mod/connedit.php:472
-msgid "Best Friends"
-msgstr "Mes meilleurs amis"
-
-#: ../../include/widgets.php:401
-msgid "Co-workers"
-msgstr "Mes collègues"
-
-#: ../../include/widgets.php:402 ../../mod/connedit.php:474
-msgid "Former Friends"
-msgstr "Mes anciens amis"
-
-#: ../../include/widgets.php:403 ../../mod/connedit.php:475
-msgid "Acquaintances"
-msgstr "Mes connaissances"
-
-#: ../../include/widgets.php:404
-msgid "Everybody"
-msgstr "Tout le monde"
-
-#: ../../include/widgets.php:436
-msgid "Account settings"
-msgstr "Réglages du Compte"
-
-#: ../../include/widgets.php:442
-msgid "Channel settings"
-msgstr "Réglages du Canal"
-
-#: ../../include/widgets.php:448
-msgid "Additional features"
-msgstr "Fonctions supplémentaires"
-
-#: ../../include/widgets.php:454
-msgid "Feature settings"
-msgstr "Extensions"
-
-#: ../../include/widgets.php:460
-msgid "Display settings"
-msgstr "Réglages d'affichage"
-
-#: ../../include/widgets.php:466
-msgid "Connected apps"
-msgstr "Applications connectées"
-
-#: ../../include/widgets.php:472
-msgid "Export channel"
-msgstr "Exporter le canal"
-
-#: ../../include/widgets.php:484
-msgid "Automatic Permissions (Advanced)"
-msgstr "Permissions automatiques (avancé)"
-
-#: ../../include/widgets.php:494
-msgid "Premium Channel Settings"
-msgstr "Canal VIP"
-
-#: ../../include/widgets.php:531
-msgid "Check Mail"
-msgstr "Vérifier le courrier"
-
-#: ../../include/widgets.php:612
-msgid "Chat Rooms"
-msgstr "Salons de clavardage"
-
-#: ../../include/widgets.php:630
-msgid "Bookmarked Chatrooms"
-msgstr "Salons favoris"
-
-#: ../../include/widgets.php:648
-msgid "Suggested Chatrooms"
-msgstr "Salons suggérés"
-
-#: ../../include/ItemObject.php:118
-msgid "Save to Folder"
-msgstr "Sauvegarder dans le dossier"
-
-#: ../../include/ItemObject.php:130 ../../include/ItemObject.php:142
-msgid "View all"
-msgstr "Voir tout"
-
-#: ../../include/ItemObject.php:139
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Je déteste"
-msgstr[1] "Je déteste"
-
-#: ../../include/ItemObject.php:167
-msgid "Add Star"
-msgstr "Ajouter Étoile"
-
-#: ../../include/ItemObject.php:168
-msgid "Remove Star"
-msgstr "Supprimer Étoile"
-
-#: ../../include/ItemObject.php:169
-msgid "Toggle Star Status"
-msgstr "Changer le Statut des Étoiles"
+msgid "Visible to anybody on %s."
+msgstr "Visible pour tous sur %s."
-#: ../../include/ItemObject.php:173
-msgid "starred"
-msgstr "mis en avant"
+#: ../../include/items.php:1383
+msgid "Visible to all connections."
+msgstr "Visible pour tous les contacts."
-#: ../../include/ItemObject.php:190
-msgid "Add Tag"
-msgstr "Ajouter une balise"
+#: ../../include/items.php:1385
+msgid "Visible to approved connections."
+msgstr "Visible aux contacts approuvés."
-#: ../../include/ItemObject.php:208 ../../mod/photos.php:980
-msgid "I like this (toggle)"
-msgstr "J'aime (oui/non)"
+#: ../../include/items.php:1387
+msgid "Visible to specific connections."
+msgstr "Visible à certaines connexions."
-#: ../../include/ItemObject.php:209 ../../mod/photos.php:981
-msgid "I don't like this (toggle)"
-msgstr "Je déteste (oui/non)"
+#: ../../include/items.php:4310 ../../mod/admin.php:167
+#: ../../mod/admin.php:1025 ../../mod/admin.php:1225 ../../mod/display.php:36
+#: ../../mod/filestorage.php:27 ../../mod/thing.php:74
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Élément introuvable."
-#: ../../include/ItemObject.php:211
-msgid "Share This"
-msgstr "Partager"
+#: ../../include/items.php:4787 ../../mod/bulksetclose.php:51
+#: ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Collection introuvable."
-#: ../../include/ItemObject.php:211
-msgid "share"
-msgstr "partager"
+#: ../../include/items.php:4803
+msgid "Collection is empty."
+msgstr "Collection vide."
-#: ../../include/ItemObject.php:235 ../../include/ItemObject.php:236
+#: ../../include/items.php:4810
#, php-format
-msgid "View %s's profile - %s"
-msgstr "Voir le profil de %s - %s"
-
-#: ../../include/ItemObject.php:237
-msgid "to"
-msgstr "à"
-
-#: ../../include/ItemObject.php:238
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:239
-msgid "Wall-to-Wall"
-msgstr "Mur-mur"
-
-#: ../../include/ItemObject.php:240
-msgid "via Wall-To-Wall:"
-msgstr "par Mur-mur&nbsp;:"
-
-#: ../../include/ItemObject.php:274
-msgid "Save Bookmarks"
-msgstr "Enregistrer les favoris"
-
-#: ../../include/ItemObject.php:275
-msgid "Add to Calendar"
-msgstr "Ajouter au Calendrier"
-
-#: ../../include/ItemObject.php:283
-msgctxt "noun"
-msgid "Likes"
-msgstr "Aimes"
-
-#: ../../include/ItemObject.php:284
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Détestes"
+msgid "Collection: %s"
+msgstr "Collection&nbsp;: %s"
-#: ../../include/ItemObject.php:315
+#: ../../include/items.php:4820 ../../mod/connedit.php:674
#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commentaire"
-msgstr[1] "%d commentaires"
-
-#: ../../include/ItemObject.php:316 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] voir plus"
-
-#: ../../include/ItemObject.php:580 ../../mod/photos.php:999
-#: ../../mod/photos.php:1086
-msgid "This is you"
-msgstr "C'est vous"
-
-#: ../../include/ItemObject.php:582 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1001 ../../mod/photos.php:1088
-msgid "Comment"
-msgstr "Commenter"
-
-#: ../../include/ItemObject.php:583 ../../mod/mood.php:135
-#: ../../mod/settings.php:517 ../../mod/settings.php:629
-#: ../../mod/settings.php:657 ../../mod/settings.php:681
-#: ../../mod/settings.php:754 ../../mod/settings.php:934
-#: ../../mod/poke.php:166 ../../mod/profiles.php:589 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/connect.php:92 ../../mod/connedit.php:518
-#: ../../mod/setup.php:307 ../../mod/setup.php:350 ../../mod/pdledit.php:58
-#: ../../mod/photos.php:563 ../../mod/photos.php:674 ../../mod/photos.php:962
-#: ../../mod/photos.php:1002 ../../mod/photos.php:1089
-#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/events.php:511 ../../mod/filestorage.php:137
-#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:451
-#: ../../mod/admin.php:760 ../../mod/admin.php:895 ../../mod/admin.php:1028
-#: ../../mod/admin.php:1227 ../../mod/admin.php:1314 ../../mod/thing.php:286
-#: ../../mod/thing.php:329 ../../mod/import.php:393 ../../mod/invite.php:142
-#: ../../mod/mail.php:345 ../../mod/appman.php:99 ../../mod/poll.php:68
-#: ../../mod/frphotos.php:84 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/php/config.php:67
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Envoyer"
-
-#: ../../include/ItemObject.php:584
-msgid "Bold"
-msgstr "Gras"
-
-#: ../../include/ItemObject.php:585
-msgid "Italic"
-msgstr "Italique"
-
-#: ../../include/ItemObject.php:586
-msgid "Underline"
-msgstr "Souligné"
-
-#: ../../include/ItemObject.php:587
-msgid "Quote"
-msgstr "Citation"
-
-#: ../../include/ItemObject.php:588
-msgid "Code"
-msgstr "Code"
-
-#: ../../include/ItemObject.php:589
-msgid "Image"
-msgstr "Image"
-
-#: ../../include/ItemObject.php:590
-msgid "Link"
-msgstr "Lien/URL"
+msgid "Connection: %s"
+msgstr "Relation&nbsp;: %s"
-#: ../../include/ItemObject.php:591
-msgid "Video"
-msgstr "Vidéo"
+#: ../../include/items.php:4822
+msgid "Connection not found."
+msgstr "Relation introuvable."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -3112,7 +3356,7 @@ msgstr "Mot de passe trop court"
msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:39
+#: ../../include/js_strings.php:13 ../../mod/photos.php:40
msgid "everybody"
msgstr "tout le monde"
@@ -3126,100 +3370,339 @@ msgstr "Indice pour la phrase de passe"
#: ../../include/js_strings.php:16
msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Note&nbsp;: Les permissions ont changé, mais n'ont pas encore été soumises."
+msgstr "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées."
#: ../../include/js_strings.php:17
msgid "close all"
msgstr "fermer tout"
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Aucun nouveau contenu trouvé"
+
#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Noter ce canal (publiquement)"
+
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:683
+#: ../../mod/rate.php:156
+msgid "Rating"
+msgstr "Note"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Description (facultative)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Merci d'insérer une URL"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Changements en attente. Voulez-vous vraiment quitter cette page?"
+
+#: ../../include/js_strings.php:26
msgid "timeago.prefixAgo"
-msgstr "Il y a"
+msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:20
+#: ../../include/js_strings.php:27
msgid "timeago.prefixFromNow"
msgstr "timeago.prefixFromNow"
-#: ../../include/js_strings.php:21
+#: ../../include/js_strings.php:28
msgid "ago"
-msgstr " "
+msgstr "auparavant"
-#: ../../include/js_strings.php:22
+#: ../../include/js_strings.php:29
msgid "from now"
msgstr "de maintenant"
-#: ../../include/js_strings.php:23
+#: ../../include/js_strings.php:30
msgid "less than a minute"
msgstr "moins d'une minute"
-#: ../../include/js_strings.php:24
+#: ../../include/js_strings.php:31
msgid "about a minute"
msgstr "environ une minute"
-#: ../../include/js_strings.php:25
+#: ../../include/js_strings.php:32
#, php-format
msgid "%d minutes"
msgstr "%d minutes"
-#: ../../include/js_strings.php:26
+#: ../../include/js_strings.php:33
msgid "about an hour"
msgstr "environ une heure"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:34
#, php-format
msgid "about %d hours"
msgstr "environ %d heures"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:35
msgid "a day"
msgstr "un jour"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:36
#, php-format
msgid "%d days"
msgstr "%d jours"
-#: ../../include/js_strings.php:30
+#: ../../include/js_strings.php:37
msgid "about a month"
msgstr "environ un mois"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:38
#, php-format
msgid "%d months"
msgstr "%d mois"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:39
msgid "about a year"
msgstr "environ un an"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:40
#, php-format
msgid "%d years"
msgstr "%d années"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:41
msgid " "
msgstr " "
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:42
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr "Nouvelle fenêtre"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nouvelle page"
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Ouvrir l'emplacement dans une fenêtre (ou un onglet) différent"
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
+#: ../../mod/layouts.php:188 ../../mod/webpages.php:187
+msgid "View"
+msgstr "Voir"
-#: ../../include/profile_selectors.php:6
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+msgid "Actions"
+msgstr "Actions"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+msgid "Page Link"
+msgstr "Lien vers la page"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Titre"
+
+#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
+#: ../../mod/layouts.php:181 ../../mod/menu.php:108 ../../mod/webpages.php:192
+msgid "Created"
+msgstr "Créé"
+
+#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
+#: ../../mod/layouts.php:182 ../../mod/menu.php:109 ../../mod/webpages.php:193
+msgid "Edited"
+msgstr "Édité"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Peut voir les publications sur mon canal et ses partages."
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Peut voir le profil du canal par défaut."
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Peut voir mon album photos"
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Peut voir mes connections"
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Peut voir mes fichiers en partage"
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Peut voir mes sites-web"
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Peut m'envoyer le flux et les publications de leur canal"
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Peut poster sur la page de mon canal (\"mur\")"
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Peuvent commenter et/ou aimer mes publications"
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Peut m'envoyer des messages privés"
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Peut ajouter des photos à mes albums"
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Peuvent aimer/détester"
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profils et autres excluant les publications/commentaires."
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Peut faire suivre à tous les contacts du mon canal via @truc"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avancé - utile seulement pour les canaux de type \"forum/groupe\""
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Peut discuter avec moi (sous réserve de disponibilité)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Peut écrire dans mon partage de fichiers"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Peut modifier mes sites-web"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Peut rediriger mes publications publiques dans des canaux dérivés"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Plutôt avancé - très utile dans les communautés ouvertes"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Peut administrer les ressources de mon canal"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Très avancé. Ne pas toucher, sauf si vous savez VRAIMENT ce que vous faites"
+
+#: ../../include/permissions.php:893
+msgid "Social Networking"
+msgstr "Réseau social"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Mostly Public"
+msgstr "Surtout public"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Restricted"
+msgstr "Accès restreint"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+msgid "Private"
+msgstr "Privé"
+
+#: ../../include/permissions.php:894
+msgid "Community Forum"
+msgstr "Forum communautaire"
+
+#: ../../include/permissions.php:895
+msgid "Feed Republish"
+msgstr "Republication de flux"
+
+#: ../../include/permissions.php:896
+msgid "Special Purpose"
+msgstr "Utilisation spécifique"
+
+#: ../../include/permissions.php:896
+msgid "Celebrity/Soapbox"
+msgstr "Page de célébrité/tribune"
+
+#: ../../include/permissions.php:896
+msgid "Group Repository"
+msgstr "Espace de groupe"
+
+#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Autre"
+
+#: ../../include/permissions.php:897
+msgid "Custom/Expert Mode"
+msgstr "Mode expert/spécifique"
+
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'image dépasse la taille limite de %lu octets"
+
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "L'image est vide."
+
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Impossible de traiter l'image"
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Le stockage de l'image a échoué."
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Ajouter des photos"
+
+#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
+msgid "Tags"
+msgstr "Étiquettes"
+
+#: ../../include/taxonomy.php:287
+msgid "Keywords"
+msgstr "Mots-clefs"
+
+#: ../../include/taxonomy.php:308
+msgid "have"
+msgstr "ont"
+
+#: ../../include/taxonomy.php:308
+msgid "has"
+msgstr "a"
+
+#: ../../include/taxonomy.php:309
+msgid "want"
+msgstr "veulent"
+
+#: ../../include/taxonomy.php:309
+msgid "wants"
+msgstr "veut"
+
+#: ../../include/taxonomy.php:310
+msgid "likes"
+msgstr "aiment"
+
+#: ../../include/taxonomy.php:311
+msgid "dislikes"
+msgstr "détestent"
+
+#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
msgid "Male"
msgstr "Masculin"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
msgid "Female"
msgstr "Féminin"
@@ -3264,13 +3747,6 @@ msgid "Non-specific"
msgstr "Rien de spécifique"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Autre"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Indécis"
@@ -3456,707 +3932,1202 @@ msgstr "S'en fiche"
msgid "Ask me"
msgstr "Me demander"
-#: ../../include/auth.php:90
-msgid "Logged out."
-msgstr "Deconnecté."
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Impossible de localiser le destinataire."
-#: ../../include/auth.php:236
-msgid "Failed authentication"
-msgstr "Échec de l'authentification"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Impossible de communiquer avec le canal demandé."
-#: ../../include/auth.php:251 ../../mod/openid.php:188
-msgid "Login failed."
-msgstr "Échec de la connexion."
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Impossible de vérifier le canal demandé."
-#: ../../include/permissions.php:13
-msgid "Can view my normal stream and posts"
-msgstr "Peut voir les publications sur mon canal et ses partages."
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."
-#: ../../include/permissions.php:14
-msgid "Can view my default channel profile"
-msgstr "Peut voir le profil du canal par défaut."
+#: ../../mod/mail.php:139
+msgid "Message deleted."
+msgstr "Message supprimé."
-#: ../../include/permissions.php:15
-msgid "Can view my photo albums"
-msgstr "Peut voir mon album photos"
+#: ../../mod/mail.php:156
+msgid "Message recalled."
+msgstr "Message annulé/rappelé."
-#: ../../include/permissions.php:16
-msgid "Can view my connections"
-msgstr "Peut voir mes connections"
+#: ../../mod/mail.php:225
+msgid "Send Private Message"
+msgstr "Envoyer un Message Privé"
-#: ../../include/permissions.php:17
-msgid "Can view my file storage"
-msgstr "Peut voir mes fichiers en partage"
+#: ../../mod/mail.php:226 ../../mod/mail.php:343
+msgid "To:"
+msgstr "À&nbsp;:"
-#: ../../include/permissions.php:18
-msgid "Can view my webpages"
-msgstr "Peut voir mes sites-web"
+#: ../../mod/mail.php:231 ../../mod/mail.php:345
+msgid "Subject:"
+msgstr "Sujet&nbsp;:"
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "Peut m'envoyer le flux et les publications de leur canal"
+#: ../../mod/mail.php:235 ../../mod/mail.php:348 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "Votre message&nbsp;:"
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Peut poster sur la page de mon canal (\"mur\")"
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "Envoyer"
-#: ../../include/permissions.php:23
-msgid "Can comment on or like my posts"
-msgstr "Peuvent commenter et/ou aimer mes publications"
+#: ../../mod/mail.php:269
+msgid "Message not found."
+msgstr "Message introuvable."
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Peut m'envoyer des messages privés"
+#: ../../mod/mail.php:312
+msgid "Delete message"
+msgstr "Supprimer message"
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Peut ajouter des photos à mes albums"
+#: ../../mod/mail.php:313
+msgid "Recall message"
+msgstr "Rappeler/annuler le message"
-#: ../../include/permissions.php:26
-msgid "Can like/dislike stuff"
-msgstr "Peuvent aimer/détester"
+#: ../../mod/mail.php:315
+msgid "Message has been recalled."
+msgstr "Le message a été rappelé."
-#: ../../include/permissions.php:26
-msgid "Profiles and things other than posts/comments"
-msgstr "Profils et autres excluant les publications/commentaires."
+#: ../../mod/mail.php:332
+msgid "Private Conversation"
+msgstr "Conversation privée"
-#: ../../include/permissions.php:28
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Peut faire suivre à tous les contacts du mon canal via @truc"
+#: ../../mod/mail.php:336 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Supprimer conversation"
-#: ../../include/permissions.php:28
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avancé - utile seulement pour les canaux de type \"forum/groupe\""
+#: ../../mod/mail.php:338
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."
-#: ../../include/permissions.php:29
-msgid "Can chat with me (when available)"
-msgstr "Peut discuter avec moi (sous réserve de disponibilité)"
+#: ../../mod/mail.php:342
+msgid "Send Reply"
+msgstr "Envoyer une réponse"
-#: ../../include/permissions.php:30
-msgid "Can write to my file storage"
-msgstr "Peut écrire dans mon partage de fichiers"
+#: ../../mod/magic.php:69
+msgid "Hub not found."
+msgstr "Hub introuvable."
-#: ../../include/permissions.php:31
-msgid "Can edit my webpages"
-msgstr "Peut modifier mes sites-web"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "Quelques mots sur quoi faire quand on est nouveau ici"
-#: ../../include/permissions.php:33
-msgid "Can source my public posts in derived channels"
-msgstr "Peut rediriger mes publications publiques dans des canaux dérivés"
+#: ../../mod/page.php:36 ../../mod/block.php:27
+msgid "Invalid item."
+msgstr "Élément invalide."
-#: ../../include/permissions.php:33
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Plutôt avancé - très utile dans les communautés ouvertes"
+#: ../../mod/page.php:52 ../../mod/block.php:39 ../../mod/wall_upload.php:29
+msgid "Channel not found."
+msgstr "Canal introuvable."
-#: ../../include/permissions.php:35
-msgid "Can administer my channel resources"
-msgstr "Peut administrer les ressources de mon canal"
+#: ../../mod/page.php:89 ../../mod/block.php:75 ../../mod/display.php:110
+#: ../../mod/help.php:79 ../../index.php:245
+msgid "Page not found."
+msgstr "Page introuvable."
-#: ../../include/permissions.php:35
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Très avancé. Ne pas toucher, sauf si vous savez VRAIMENT ce que vous faites"
+#: ../../mod/page.php:126
+msgid "Lorem Ipsum"
+msgstr ""
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
-msgstr "Indiquez votre humeur du moment à vos amis"
+#: ../../mod/acl.php:231
+msgid "network"
+msgstr "réseau"
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
-msgid "Menu not found."
-msgstr "Menu introuvable."
+#: ../../mod/acl.php:241
+msgid "RSS"
+msgstr "RSS"
-#: ../../mod/mitem.php:47
-msgid "Menu element updated."
-msgstr "Entrée de menu mis à jour."
+#: ../../mod/admin.php:52
+msgid "Theme settings updated."
+msgstr "Réglages du thème sauvegardés."
-#: ../../mod/mitem.php:51
-msgid "Unable to update menu element."
-msgstr "Impossible de mettre l'entrée de menu à jour."
+#: ../../mod/admin.php:93 ../../mod/admin.php:452
+msgid "Site"
+msgstr "Site"
-#: ../../mod/mitem.php:57
-msgid "Menu element added."
-msgstr "Entrée de menu ajouté."
+#: ../../mod/admin.php:94
+msgid "Accounts"
+msgstr "Comptes"
-#: ../../mod/mitem.php:61
-msgid "Unable to add menu element."
-msgstr "Impossible d'ajouter l'entrée de menu."
+#: ../../mod/admin.php:95 ../../mod/admin.php:985
+msgid "Channels"
+msgstr "Canaux"
-#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
-#: ../../mod/xchan.php:27
-msgid "Not found."
-msgstr "Introuvable."
+#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+msgid "Plugins"
+msgstr "Extensions"
-#: ../../mod/mitem.php:96
-msgid "Manage Menu Elements"
-msgstr "Gérer les entrées de menu"
+#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+msgid "Themes"
+msgstr "Thèmes"
-#: ../../mod/mitem.php:99
-msgid "Edit menu"
-msgstr "Éditer le menu"
+#: ../../mod/admin.php:98
+msgid "Inspect queue"
+msgstr "Analyser la file d'attente"
-#: ../../mod/mitem.php:102
-msgid "Edit element"
-msgstr "Éditer l'entrée"
+#: ../../mod/admin.php:100
+msgid "Profile Config"
+msgstr "Configurations du profil"
-#: ../../mod/mitem.php:103
-msgid "Drop element"
-msgstr "Supprimer l'entrée"
+#: ../../mod/admin.php:101
+msgid "DB updates"
+msgstr "MàJ BD"
-#: ../../mod/mitem.php:104
-msgid "New element"
-msgstr "Nouvelle entrée"
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+msgid "Logs"
+msgstr "Journaux"
-#: ../../mod/mitem.php:105
-msgid "Edit this menu container"
-msgstr "Éditer ce bloc de menu"
+#: ../../mod/admin.php:121
+msgid "Plugin Features"
+msgstr "Fonctionnalités liées aux extensions"
-#: ../../mod/mitem.php:106
-msgid "Add menu element"
-msgstr "Ajouter une entrée au menu"
+#: ../../mod/admin.php:123
+msgid "User registrations waiting for confirmation"
+msgstr "Inscriptions en attente"
-#: ../../mod/mitem.php:107
-msgid "Delete this menu item"
-msgstr "Supprimer cet entrée du menu"
+#: ../../mod/admin.php:200
+msgid "# Accounts"
+msgstr "# Comptes"
-#: ../../mod/mitem.php:108
-msgid "Edit this menu item"
-msgstr "Éditer cette entrée du menu"
+#: ../../mod/admin.php:201
+msgid "# blocked accounts"
+msgstr "# comptes bloqués"
-#: ../../mod/mitem.php:131
-msgid "New Menu Element"
-msgstr "Nouvelle entrée de menu"
+#: ../../mod/admin.php:202
+msgid "# expired accounts"
+msgstr "# comptes expirés"
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
-msgid "Menu Item Permissions"
-msgstr "Permissions de l'entrée de menu"
+#: ../../mod/admin.php:203
+msgid "# expiring accounts"
+msgstr "# comptes expirant"
-#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:967
-msgid "(click to open/close)"
-msgstr "(cliquer pour ouvrir/fermer)"
+#: ../../mod/admin.php:216
+msgid "# Channels"
+msgstr "# Canaux"
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
-msgid "Link text"
-msgstr "Texte du lien"
+#: ../../mod/admin.php:217
+msgid "# primary"
+msgstr "# primaire"
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
-msgid "URL of link"
-msgstr "URL du lien"
+#: ../../mod/admin.php:218
+msgid "# clones"
+msgstr "# clones"
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
-msgstr "Utiliser l'authentification magique, lorsque disponible"
+#: ../../mod/admin.php:224
+msgid "Message queues"
+msgstr "File des messages"
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
-msgid "Open link in new window"
-msgstr "Ouvrir le lien dans une nouvelle fenêtre"
+#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
+#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
+#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
+#: ../../mod/admin.php:1395
+msgid "Administration"
+msgstr "Administration"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Order in list"
-msgstr "Ordre dans la liste"
+#: ../../mod/admin.php:241
+msgid "Summary"
+msgstr "Résumé"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Les nombres les plus élevés seront descendus au bas de la liste"
+#: ../../mod/admin.php:244
+msgid "Registered accounts"
+msgstr "Comptes enregistrés"
-#: ../../mod/mitem.php:154
-msgid "Menu item not found."
-msgstr "Entrée de menu introuvable."
+#: ../../mod/admin.php:245 ../../mod/admin.php:552
+msgid "Pending registrations"
+msgstr "Inscriptions en attente"
-#: ../../mod/mitem.php:163
-msgid "Menu item deleted."
-msgstr "Entrée de menu supprimée."
+#: ../../mod/admin.php:246
+msgid "Registered channels"
+msgstr "Canaux enregistrés"
-#: ../../mod/mitem.php:165
-msgid "Menu item could not be deleted."
-msgstr "Impossible de supprimer l'entrée de menu."
+#: ../../mod/admin.php:247 ../../mod/admin.php:553
+msgid "Active plugins"
+msgstr "Extensions actives"
-#: ../../mod/mitem.php:174
-msgid "Edit Menu Element"
-msgstr "Éditer l'entrée de menu"
+#: ../../mod/admin.php:248
+msgid "Version"
+msgstr "Version"
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
-msgid "Modify"
-msgstr "Modifier"
+#: ../../mod/admin.php:363
+msgid "Site settings updated."
+msgstr "Réglages du site sauvegardés."
-#: ../../mod/ping.php:237
-msgid "sent you a private message"
-msgstr "vous a envoyé un message privé"
+#: ../../mod/admin.php:400 ../../mod/settings.php:813
+msgid "mobile"
+msgstr "mobile"
-#: ../../mod/ping.php:288
-msgid "added your channel"
-msgstr "a ajouté votre canal"
+#: ../../mod/admin.php:402
+msgid "experimental"
+msgstr "expérimental"
-#: ../../mod/ping.php:329
-msgid "posted an event"
-msgstr "a publié un événement"
+#: ../../mod/admin.php:404
+msgid "unsupported"
+msgstr "non maintenu"
-#: ../../mod/acl.php:239
-msgid "network"
-msgstr "réseau"
+#: ../../mod/admin.php:429
+msgid "Yes - with approval"
+msgstr "Oui - avec approbation"
-#: ../../mod/settings.php:71
-msgid "Name is required"
-msgstr "Le nom est requis"
+#: ../../mod/admin.php:435
+msgid "My site is not a public server"
+msgstr "Mon site n'est pas un serveur publique"
-#: ../../mod/settings.php:75
-msgid "Key and Secret are required"
-msgstr "Clef et secret sont requis"
+#: ../../mod/admin.php:436
+msgid "My site has paid access only"
+msgstr "Mon site est payant"
-#: ../../mod/settings.php:196
-msgid "Passwords do not match. Password unchanged."
-msgstr "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé."
+#: ../../mod/admin.php:437
+msgid "My site has free access only"
+msgstr "Mon site est gratuit"
-#: ../../mod/settings.php:200
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé."
+#: ../../mod/admin.php:438
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mon site offre des comptes gratuits avec des ajouts payants"
-#: ../../mod/settings.php:214
-msgid "Password changed."
-msgstr "Le mot de passe a été changé."
+#: ../../mod/admin.php:454 ../../mod/register.php:207
+msgid "Registration"
+msgstr "Inscription"
-#: ../../mod/settings.php:216
-msgid "Password update failed. Please try again."
-msgstr "La mise à jour du mot de passe a échoué. Merci de recommencer."
+#: ../../mod/admin.php:455
+msgid "File upload"
+msgstr "Envoi de fichier"
-#: ../../mod/settings.php:230
-msgid "Not valid email."
-msgstr "Adresse de courriel non-valide."
+#: ../../mod/admin.php:456
+msgid "Policies"
+msgstr "Stratégies"
-#: ../../mod/settings.php:233
-msgid "Protected email address. Cannot change to that email."
-msgstr "Adresse de courriel protégée. Impossible de l'utiliser."
+#: ../../mod/admin.php:461
+msgid "Site name"
+msgstr "Nom du site"
-#: ../../mod/settings.php:242
-msgid "System failure storing new email. Please try again."
-msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci de ré-essayer."
+#: ../../mod/admin.php:462
+msgid "Banner/Logo"
+msgstr "Bannière/logo"
-#: ../../mod/settings.php:445
-msgid "Settings updated."
-msgstr "Réglages sauvegardés."
+#: ../../mod/admin.php:463
+msgid "Administrator Information"
+msgstr "Informations sur l'administrateur"
-#: ../../mod/settings.php:516 ../../mod/settings.php:542
-#: ../../mod/settings.php:578
-msgid "Add application"
-msgstr "Ajouter une application"
+#: ../../mod/admin.php:463
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Coordonnées de l'administrateur du site. Affichée sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"
-#: ../../mod/settings.php:519
-msgid "Name of application"
-msgstr "Nom de l'application"
+#: ../../mod/admin.php:464
+msgid "System language"
+msgstr "Langue du système"
-#: ../../mod/settings.php:520 ../../mod/settings.php:546
-msgid "Consumer Key"
-msgstr "Clef de consommateur"
+#: ../../mod/admin.php:465
+msgid "System theme"
+msgstr "Thème du système"
-#: ../../mod/settings.php:520 ../../mod/settings.php:521
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères."
+#: ../../mod/admin.php:465
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"
-#: ../../mod/settings.php:521 ../../mod/settings.php:547
-msgid "Consumer Secret"
-msgstr "Secret de consommateur"
+#: ../../mod/admin.php:466
+msgid "Mobile system theme"
+msgstr "Thème système pour mobile"
-#: ../../mod/settings.php:522 ../../mod/settings.php:548
-msgid "Redirect"
-msgstr "Redirection"
+#: ../../mod/admin.php:466
+msgid "Theme for mobile devices"
+msgstr "Thème dédié aux périphériques mobiles"
+
+#: ../../mod/admin.php:468
+msgid "Enable Diaspora Protocol"
+msgstr "Activer la compatibilité Diaspora*"
+
+#: ../../mod/admin.php:468
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr "Permet de communiquer avec Diaspora et Friendica - expérimental"
+
+#: ../../mod/admin.php:469
+msgid "Allow Feeds as Connections"
+msgstr "Autoriser les Flux (RSS) comme Relations"
+
+#: ../../mod/admin.php:469
+msgid "(Heavy system resource usage)"
+msgstr "(Impact considérable sur les ressources)"
+
+#: ../../mod/admin.php:470
+msgid "Maximum image size"
+msgstr "Taille maximale des images"
-#: ../../mod/settings.php:522
+#: ../../mod/admin.php:470
msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI de redirection - laissez blanc, sauf si l'application a demandé autrement"
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."
-#: ../../mod/settings.php:523 ../../mod/settings.php:549
-msgid "Icon url"
-msgstr "URL de l'icône"
+#: ../../mod/admin.php:471
+msgid "Does this site allow new member registration?"
+msgstr "Est-ce que l'enregistrement de nouveau membres sur ce site est autorisé?"
-#: ../../mod/settings.php:523
-msgid "Optional"
-msgstr "Facultatif"
+#: ../../mod/admin.php:472
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Choisissez le type de comptes offert sur ce hub?"
-#: ../../mod/settings.php:534
-msgid "You can't edit this application."
-msgstr "Vous ne pouvez pas éditer cette application."
+#: ../../mod/admin.php:473
+msgid "Register text"
+msgstr "Texte d'inscription"
-#: ../../mod/settings.php:577
-msgid "Connected Apps"
-msgstr "Applications connectées"
+#: ../../mod/admin.php:473
+msgid "Will be displayed prominently on the registration page."
+msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription."
-#: ../../mod/settings.php:581
-msgid "Client key starts with"
-msgstr "La clef partagée commence par"
+#: ../../mod/admin.php:474
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Page d'accueil du site à montrer aux visiteurs (par défaut&nbsp;:boîte de dialogue de connexion)"
-#: ../../mod/settings.php:582
-msgid "No name"
-msgstr "Sans nom"
+#: ../../mod/admin.php:474
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "exemple&nbsp;:'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier."
-#: ../../mod/settings.php:583
-msgid "Remove authorization"
-msgstr "Révoquer l'autorisation"
+#: ../../mod/admin.php:475
+msgid "Preserve site homepage URL"
+msgstr "Garder l'adresse du site."
-#: ../../mod/settings.php:594
-msgid "No feature settings configured"
-msgstr "Pas de fonctionnalité à configurer"
+#: ../../mod/admin.php:475
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger"
-#: ../../mod/settings.php:602
-msgid "Feature Settings"
-msgstr "Extensions"
+#: ../../mod/admin.php:476
+msgid "Accounts abandoned after x days"
+msgstr "Les comptes sont abandonnés après x jours"
-#: ../../mod/settings.php:625
-msgid "Account Settings"
-msgstr "Compte"
+#: ../../mod/admin.php:476
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Pour éviter de gaspiller les ressources du système en essayer de mettre à jour des comptes abandonnés. Mettez 0 pour ne pas avoir de limite de temps."
-#: ../../mod/settings.php:626
-msgid "Password Settings"
-msgstr "Mot de passe"
+#: ../../mod/admin.php:477
+msgid "Allowed friend domains"
+msgstr "Domaines amicaux"
-#: ../../mod/settings.php:627
-msgid "New Password:"
-msgstr "Nouveau mot de passe&nbsp;:"
+#: ../../mod/admin.php:477
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Liste de noms de domaines - séparés par des virgules - pour lesquels ce site acceptera les demandes d'amitié ou de mise en relation. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
-#: ../../mod/settings.php:628
-msgid "Confirm:"
-msgstr "Confirmation&nbsp;:"
+#: ../../mod/admin.php:478
+msgid "Allowed email domains"
+msgstr "Domaines de courriels amicaux"
-#: ../../mod/settings.php:628
-msgid "Leave password fields blank unless changing"
-msgstr "Laissez les mots de passe vides si vous ne voulez pas les modifier"
+#: ../../mod/admin.php:478
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
-#: ../../mod/settings.php:630 ../../mod/settings.php:943
-msgid "Email Address:"
-msgstr "Adresse de courriel&nbsp;:"
+#: ../../mod/admin.php:479
+msgid "Not allowed email domains"
+msgstr "Domaines de courriel non autorisés"
-#: ../../mod/settings.php:631 ../../mod/removeaccount.php:61
-msgid "Remove Account"
-msgstr "Supprimer le compte"
+#: ../../mod/admin.php:479
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis."
-#: ../../mod/settings.php:632 ../../mod/settings.php:1006
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr "Attention&nbsp;: cette action est permanente et irréversible."
+#: ../../mod/admin.php:480
+msgid "Block public"
+msgstr "Bloquer public"
-#: ../../mod/settings.php:648
-msgid "Off"
-msgstr "Inactif"
+#: ../../mod/admin.php:480
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Cocher pour interdire tout accès public, y compris aux pages marquées comme publiques, aux visiteurs anonymes."
-#: ../../mod/settings.php:648
-msgid "On"
-msgstr "Actif"
+#: ../../mod/admin.php:481
+msgid "Verify Email Addresses"
+msgstr "Demander vérification des adresses de courriel"
-#: ../../mod/settings.php:655
-msgid "Additional Features"
-msgstr "Fonctionnalités additionnelles"
+#: ../../mod/admin.php:481
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)."
-#: ../../mod/settings.php:680
-msgid "Connector Settings"
-msgstr "Connecteurs"
+#: ../../mod/admin.php:482
+msgid "Force publish"
+msgstr "Forcer publication"
-#: ../../mod/settings.php:710 ../../mod/admin.php:399
-msgid "No special theme for mobile devices"
-msgstr "Pas de thème spécifique aux périphériques mobiles"
+#: ../../mod/admin.php:482
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."
+
+#: ../../mod/admin.php:483
+msgid "Disable discovery tab"
+msgstr "Désactiver l'onglet \"À découvrir\""
+
+#: ../../mod/admin.php:483
+msgid ""
+"Remove the tab in the network view with public content pulled from sources "
+"chosen for this site."
+msgstr "Ne pas afficher d'onglet avec des contenus publics automatiquement rassemblées depuis des sources choisies pour ce site."
-#: ../../mod/settings.php:719
+#: ../../mod/admin.php:484
+msgid "login on Homepage"
+msgstr "Connexion à partir de la page d'accueil"
+
+#: ../../mod/admin.php:484
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré."
+
+#: ../../mod/admin.php:486
+msgid "Proxy user"
+msgstr "Utilisateurs du proxy"
+
+#: ../../mod/admin.php:487
+msgid "Proxy URL"
+msgstr "URL du proxy (visiter @proxy-list)"
+
+#: ../../mod/admin.php:488
+msgid "Network timeout"
+msgstr "Délai maximal du réseau"
+
+#: ../../mod/admin.php:488
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (pas recommandé)."
+
+#: ../../mod/admin.php:489
+msgid "Delivery interval"
+msgstr "Intervalle de distribution"
+
+#: ../../mod/admin.php:489
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."
+
+#: ../../mod/admin.php:490
+msgid "Poll interval"
+msgstr "Intervalle de scrutation"
+
+#: ../../mod/admin.php:490
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."
+
+#: ../../mod/admin.php:491
+msgid "Maximum Load Average"
+msgstr "Charge moyenne maximale"
+
+#: ../../mod/admin.php:491
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont mis en pause - par défaut 50."
+
+#: ../../mod/admin.php:492
+msgid "Expiration period in days for imported (matrix/network) content"
+msgstr "Délai d'expiration du contenu importé du réseau, en jours"
+
+#: ../../mod/admin.php:492
+msgid "0 for no expiration of imported content"
+msgstr "0 pour ne pas expirer le contenu importé"
+
+#: ../../mod/admin.php:540
+msgid "No server found"
+msgstr "Serveur introuvable"
+
+#: ../../mod/admin.php:547 ../../mod/admin.php:831
+msgid "ID"
+msgstr "ID"
+
+#: ../../mod/admin.php:547
+msgid "for channel"
+msgstr "pour le canal"
+
+#: ../../mod/admin.php:547
+msgid "on server"
+msgstr "sur le serveur"
+
+#: ../../mod/admin.php:547
+msgid "Status"
+msgstr "État"
+
+#: ../../mod/admin.php:549
+msgid "Server"
+msgstr "Serveur"
+
+#: ../../mod/admin.php:566
+msgid "Update has been marked successful"
+msgstr "La mise à jour a été marquée comme réussie"
+
+#: ../../mod/admin.php:576
#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Expérimental)"
+msgid "Executing %s failed. Check system logs."
+msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."
-#: ../../mod/settings.php:752
-msgid "Display Settings"
-msgstr "Affichage"
+#: ../../mod/admin.php:579
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "La mise à jour %s a été appliquée avec succès."
-#: ../../mod/settings.php:758
-msgid "Display Theme:"
-msgstr "Thème&nbsp;:"
+#: ../../mod/admin.php:583
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."
-#: ../../mod/settings.php:759
-msgid "Mobile Theme:"
-msgstr "Thème mobile&nbsp;:"
+#: ../../mod/admin.php:586
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "La fonction de mise à jour %s est introuvable."
-#: ../../mod/settings.php:760
-msgid "Enable user zoom on mobile devices"
-msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"
+#: ../../mod/admin.php:602
+msgid "No failed updates."
+msgstr "Aucune mise à jour défaillante."
-#: ../../mod/settings.php:761
-msgid "Update browser every xx seconds"
-msgstr "Rafraîchir le navigateur toutes les xx secondes"
+#: ../../mod/admin.php:606
+msgid "Failed Updates"
+msgstr "Mises à jour défaillantes"
-#: ../../mod/settings.php:761
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 secondes, pas de maximum"
+#: ../../mod/admin.php:608
+msgid "Mark success (if update was manually applied)"
+msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuellement)"
-#: ../../mod/settings.php:762
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:"
+#: ../../mod/admin.php:609
+msgid "Attempt to execute this update step automatically"
+msgstr "Tenter de réaliser cette étape de mise à jour automatiquement"
-#: ../../mod/settings.php:762
-msgid "Maximum of 100 items"
-msgstr "100 éléments au maximum"
+#: ../../mod/admin.php:641
+msgid "Queue Statistics"
+msgstr "Statistiques de file d'attente"
-#: ../../mod/settings.php:763
-msgid "Don't show emoticons"
-msgstr "Ne pas montrer les frimousses/émoticones"
+#: ../../mod/admin.php:642
+msgid "Total Entries"
+msgstr "Nombre d'entrées total"
-#: ../../mod/settings.php:764
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Agencements des pages système - (avancé)"
+#: ../../mod/admin.php:643
+msgid "Priority"
+msgstr "Priorité"
-#: ../../mod/settings.php:800
-msgid "Nobody except yourself"
-msgstr "Personne sauf vous"
+#: ../../mod/admin.php:644
+msgid "Destination URL"
+msgstr "URL de destination"
-#: ../../mod/settings.php:801
-msgid "Only those you specifically allow"
-msgstr "Seulement ceux que vous autorisez spécifiquement"
+#: ../../mod/admin.php:645
+msgid "Mark hub permanently offline"
+msgstr "Marquer le hub comme étant hors ligne de manière permanente"
-#: ../../mod/settings.php:802
-msgid "Approved connections"
-msgstr "Contacts Approuvés"
+#: ../../mod/admin.php:646
+msgid "Empty queue for this hub"
+msgstr "Vider la file d'attente pour ce hub"
-#: ../../mod/settings.php:803
-msgid "Any connections"
-msgstr "Tous les contacts"
+#: ../../mod/admin.php:647
+msgid "Last known contact"
+msgstr "Dernier contact connu"
-#: ../../mod/settings.php:804
-msgid "Anybody on this website"
-msgstr "Tous les utilisateurs du hub"
+#: ../../mod/admin.php:683
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/settings.php:805
-msgid "Anybody in this network"
-msgstr "Tous les utilisateurs sur ce réseau"
+#: ../../mod/admin.php:691
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/settings.php:806
-msgid "Anybody authenticated"
-msgstr "Tous les utilisateurs authentifiés"
+#: ../../mod/admin.php:727
+msgid "Account not found"
+msgstr "Compte introuvable"
-#: ../../mod/settings.php:807
-msgid "Anybody on the internet"
-msgstr "Tous les utilisateurs d'Internet"
+#: ../../mod/admin.php:739
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Compte '%s' supprimé"
-#: ../../mod/settings.php:884
-msgid "Publish your default profile in the network directory"
-msgstr "Publier votre profil par défaut dans l'annuaire du réseau"
+#: ../../mod/admin.php:747
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Compte '%s' bloqué"
-#: ../../mod/settings.php:884 ../../mod/settings.php:889
-#: ../../mod/settings.php:960 ../../mod/api.php:106 ../../mod/profiles.php:566
-#: ../../mod/admin.php:429
-msgid "No"
-msgstr "Non"
+#: ../../mod/admin.php:755
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Compte '%s' débloqué"
-#: ../../mod/settings.php:884 ../../mod/settings.php:889
-#: ../../mod/settings.php:960 ../../mod/api.php:105 ../../mod/profiles.php:565
-#: ../../mod/admin.php:431
-msgid "Yes"
-msgstr "Oui"
+#: ../../mod/admin.php:818 ../../mod/admin.php:830
+msgid "Users"
+msgstr "Utilisateurs"
-#: ../../mod/settings.php:889
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Nous autoriser à vous suggérer comme relation potentielle aux nouveaux membres?"
+#: ../../mod/admin.php:820 ../../mod/admin.php:987
+msgid "select all"
+msgstr "tout sélectionner"
-#: ../../mod/settings.php:893 ../../mod/profile_photo.php:365
-msgid "or"
-msgstr "ou"
+#: ../../mod/admin.php:821
+msgid "User registrations waiting for confirm"
+msgstr "Inscriptions en attente d'approbation"
-#: ../../mod/settings.php:898
-msgid "Your channel address is"
-msgstr "Voici l'adresse de votre canal"
+#: ../../mod/admin.php:822
+msgid "Request date"
+msgstr "Date de la demande"
-#: ../../mod/settings.php:932
-msgid "Channel Settings"
-msgstr "Canal"
+#: ../../mod/admin.php:823
+msgid "No registrations."
+msgstr "Pas d'inscriptions."
-#: ../../mod/settings.php:941
-msgid "Basic Settings"
-msgstr "Basique"
+#: ../../mod/admin.php:824 ../../mod/connedit.php:699
+msgid "Approve"
+msgstr "Approuver"
-#: ../../mod/settings.php:944
-msgid "Your Timezone:"
-msgstr "Fureau Horaire&nbsp;:"
+#: ../../mod/admin.php:825
+msgid "Deny"
+msgstr "Refuser"
-#: ../../mod/settings.php:945
-msgid "Default Post Location:"
-msgstr "Emplacement géographique par défaut&nbsp;:"
+#: ../../mod/admin.php:827 ../../mod/connedit.php:531
+msgid "Block"
+msgstr "Bloquer"
-#: ../../mod/settings.php:945
-msgid "Geographical location to display on your posts"
-msgstr "Emplacement géographique à afficher sur vos publications"
+#: ../../mod/admin.php:828 ../../mod/connedit.php:531
+msgid "Unblock"
+msgstr "Débloquer"
-#: ../../mod/settings.php:946
-msgid "Use Browser Location:"
-msgstr "Utiliser la géolocalisation fournie par le navigateur&nbsp;:"
+#: ../../mod/admin.php:831
+msgid "Register date"
+msgstr "Date d'inscription"
-#: ../../mod/settings.php:948
-msgid "Adult Content"
-msgstr "Contenu \"adulte\""
+#: ../../mod/admin.php:831
+msgid "Last login"
+msgstr "Dernière connexion"
+
+#: ../../mod/admin.php:831
+msgid "Expires"
+msgstr "Expire"
+
+#: ../../mod/admin.php:831
+msgid "Service Class"
+msgstr "Classe de service"
-#: ../../mod/settings.php:948
+#: ../../mod/admin.php:833
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)"
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Les comptes sélectionnés seront supprimés&nbsp;!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../mod/settings.php:950
-msgid "Security and Privacy Settings"
-msgstr "Réglages de Sécurité et vie privée"
+#: ../../mod/admin.php:834
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Le compte {0} sera supprimé&nbsp;!\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../mod/settings.php:952
-msgid "Hide my online presence"
-msgstr "Cacher ma présence en ligne"
+#: ../../mod/admin.php:870
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "censure modifiée sur %s canal"
+msgstr[1] "censure modifiée sur %s canaux"
-#: ../../mod/settings.php:952
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Cacher votre statut (en ligne/hors ligne) sur votre profil"
+#: ../../mod/admin.php:879
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/settings.php:954
-msgid "Simple Privacy Settings:"
-msgstr "Réglages simples&nbsp;:"
+#: ../../mod/admin.php:886
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canal supprimé"
+msgstr[1] "%s canaux supprimés"
+
+#: ../../mod/admin.php:906
+msgid "Channel not found"
+msgstr "Canal introuvable"
+
+#: ../../mod/admin.php:917
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Canal '%s' supprimé"
-#: ../../mod/settings.php:955
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Canal '%s' censuré"
+
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Canal '%s' non-censuré"
+
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Code autorisé pour le canal '%s'"
+
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Code interdit pour le canal '%s'"
+
+#: ../../mod/admin.php:989
+msgid "Censor"
+msgstr "Censurer"
+
+#: ../../mod/admin.php:990
+msgid "Uncensor"
+msgstr "Ne plus censurer"
+
+#: ../../mod/admin.php:991
+msgid "Allow Code"
+msgstr "Autoriser le code"
+
+#: ../../mod/admin.php:992
+msgid "Disallow Code"
+msgstr "Interdire le code"
+
+#: ../../mod/admin.php:994
+msgid "UID"
+msgstr "UID"
+
+#: ../../mod/admin.php:994 ../../mod/profiles.php:447
+msgid "Address"
+msgstr "Adresse"
+
+#: ../../mod/admin.php:996
msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>"
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Les canaux sélectionnés seront supprimés!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé!\\n\\nÊtes-vous certain?"
-#: ../../mod/settings.php:956
+#: ../../mod/admin.php:997
msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable dans le principe aux réseaux sociaux centralisés, avec un mode privé plus efficace)</em>"
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Le canal {0} sera supprimé!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé!\\n\\nÊtes-vous certain?"
-#: ../../mod/settings.php:957
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privé - <em>privé par défaut, jamais ouvert ni public</em>"
+#: ../../mod/admin.php:1037
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Extension %s désactivée."
-#: ../../mod/settings.php:958
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>"
+#: ../../mod/admin.php:1041
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Extension %s activée."
-#: ../../mod/settings.php:960
-msgid "Allow others to tag your posts"
-msgstr "Autoriser les autres à \"étiqueté\" vos publications"
+#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+msgid "Disable"
+msgstr "Désactiver"
-#: ../../mod/settings.php:960
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Souvent utilisé par la communauté pour distinguer le contenu innaproprié"
+#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+msgid "Enable"
+msgstr "Activer"
-#: ../../mod/settings.php:962
-msgid "Advanced Privacy Settings"
-msgstr "Réglages avancés"
+#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+msgid "Toggle"
+msgstr "(Dés)activer"
-#: ../../mod/settings.php:964
-msgid "Expire other channel content after this many days"
-msgstr "Faire expirer le contenu des autres canaux après n jours"
+#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+msgid "Author: "
+msgstr "Auteur&nbsp;:"
-#: ../../mod/settings.php:964
-msgid "0 or blank prevents expiration"
-msgstr "0, ou vide, pour ne pas faire expirer"
+#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+msgid "Maintainer: "
+msgstr "Maintenu par&nbsp;:"
-#: ../../mod/settings.php:965
-msgid "Maximum Friend Requests/Day:"
-msgstr "Nombre maximum de mises en relation par jour&nbsp;:"
+#: ../../mod/admin.php:1214
+msgid "No themes found."
+msgstr "Aucun thème trouvé."
-#: ../../mod/settings.php:965
-msgid "May reduce spam activity"
-msgstr "Contribue à réduire l'impact des indésirables"
+#: ../../mod/admin.php:1270
+msgid "Screenshot"
+msgstr "Aperçu"
-#: ../../mod/settings.php:966
-msgid "Default Post Permissions"
-msgstr "Permissions par défaut des publications"
+#: ../../mod/admin.php:1316
+msgid "[Experimental]"
+msgstr "[Expérimental]"
-#: ../../mod/settings.php:978
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:"
+#: ../../mod/admin.php:1317
+msgid "[Unsupported]"
+msgstr "[Non-supporté]"
-#: ../../mod/settings.php:978
-msgid "Useful to reduce spamming"
-msgstr "Utile pour réduire les indésirables"
+#: ../../mod/admin.php:1341
+msgid "Log settings updated."
+msgstr "Réglages du journal sauvegardés."
-#: ../../mod/settings.php:981
-msgid "Notification Settings"
-msgstr "Notifications"
+#: ../../mod/admin.php:1398
+msgid "Clear"
+msgstr "Vider"
-#: ../../mod/settings.php:982
-msgid "By default post a status message when:"
-msgstr "Par défaut, publier un statut quand:"
+#: ../../mod/admin.php:1404
+msgid "Debugging"
+msgstr "Débogage"
-#: ../../mod/settings.php:983
-msgid "accepting a friend request"
-msgstr "vous acceptez une mise en relation"
+#: ../../mod/admin.php:1405
+msgid "Log file"
+msgstr "Fichier du journal"
-#: ../../mod/settings.php:984
-msgid "joining a forum/community"
-msgstr "vous joignez un forum ou à une communauté"
+#: ../../mod/admin.php:1405
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de la Matrice Rouge."
-#: ../../mod/settings.php:985
-msgid "making an <em>interesting</em> profile change"
-msgstr "vous faites une modification <em>intéressante</em> de votre profil"
+#: ../../mod/admin.php:1406
+msgid "Log level"
+msgstr "Niveau de journalisation"
-#: ../../mod/settings.php:986
-msgid "Send a notification email when:"
-msgstr "Envoyer un courriel de notification quand&nbsp;:"
+#: ../../mod/admin.php:1452
+msgid "New Profile Field"
+msgstr "Nouveau champ de profil"
-#: ../../mod/settings.php:987
-msgid "You receive a connection request"
-msgstr "Vous recevez une demande de mise en relation"
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "Field nickname"
+msgstr "Nom court du champ"
-#: ../../mod/settings.php:988
-msgid "Your connections are confirmed"
-msgstr "Vous relations sont confirmées"
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "System name of field"
+msgstr "Nom système du champ"
-#: ../../mod/settings.php:989
-msgid "Someone writes on your profile wall"
-msgstr "Quelqu'un a écrit sur votre mur"
+#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+msgid "Input type"
+msgstr "Type de champ"
-#: ../../mod/settings.php:990
-msgid "Someone writes a followup comment"
-msgstr "Quelqu'un a commenté sur vos publications"
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Field Name"
+msgstr "Nom du champ"
-#: ../../mod/settings.php:991
-msgid "You receive a private message"
-msgstr "Vous recevez un message privé"
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Label on profile pages"
+msgstr "Étiquette sur le profil"
-#: ../../mod/settings.php:992
-msgid "You receive a friend suggestion"
-msgstr "Vous recevez une suggestion d'amitié/relation"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Help text"
+msgstr "Aide à la saisie"
-#: ../../mod/settings.php:993
-msgid "You are tagged in a post"
-msgstr "Vous êtes étiqueté dans une publication"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Additional info (optional)"
+msgstr "Informations additionnelles (facultatif)"
-#: ../../mod/settings.php:994
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Vous êtes cogné/encouragé/etc. dans une publication"
+#: ../../mod/admin.php:1466
+msgid "Field definition not found"
+msgstr "Définition du champ non-trouvée"
-#: ../../mod/settings.php:997
-msgid "Advanced Account/Page Type Settings"
-msgstr "Type de page/Compte (avancé)"
+#: ../../mod/admin.php:1472
+msgid "Edit Profile Field"
+msgstr "Éditer le champ de profil"
-#: ../../mod/settings.php:998
-msgid "Change the behaviour of this account for special situations"
-msgstr "Modifie le comportement de ce compte pour certains cas particuliers"
+#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées."
-#: ../../mod/settings.php:1001
+#: ../../mod/pconfig.php:49
+msgid "Configuration Editor"
+msgstr "Editeur de configuration"
+
+#: ../../mod/pconfig.php:50
msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Mode expert requis (<a href=\"settings/features\">Réglages > Fonctions supplémentaires</a>) svp ajuster!"
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."
-#: ../../mod/settings.php:1002
-msgid "Miscellaneous Settings"
-msgstr "Divers"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Autoriser l'application à se connecter"
-#: ../../mod/settings.php:1004
-msgid "Personal menu to display in your channel pages"
-msgstr "Menu personnel tel qu'il apparaîtra sur les pages de votre canal"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:"
-#: ../../mod/settings.php:1005
-msgid "Remove this channel"
-msgstr "Supprimer ce canal"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Merci de vous connecter pour continuer."
+
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"
+
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Agencement pris-en-compte."
+
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Éditer la description"
+
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Agencement introuvable."
+
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Nom du module&nbsp;:"
+
+#: ../../mod/pdledit.php:55
+msgid "Layout Help"
+msgstr "Aide à la mise en page"
+
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "Application installée."
+
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "Erreur de l'application - Malformée."
+
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Code intégré"
+
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "Edition de l'Application"
+
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "Création d'une Application"
+
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Nom de l'application"
+
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Emplacement (Lien) vers l'application"
+
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+msgid "Description"
+msgstr "Description"
+
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "Lien (URL) de l'icône à utiliser pour cette photo"
+
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels - optionel"
+
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "Version"
+
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Prix de l'application"
+
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Emplacement (LIEN) pour l'achat de l'application"
+
+#: ../../mod/photos.php:78
+msgid "Page owner information could not be retrieved."
+msgstr "Impossible d'obtenir des informations sur le propriétaire de la page."
+
+#: ../../mod/photos.php:98
+msgid "Album not found."
+msgstr "Album introuvable."
+
+#: ../../mod/photos.php:120 ../../mod/photos.php:655
+msgid "Delete Album"
+msgstr "Supprimer album"
+
+#: ../../mod/photos.php:160 ../../mod/photos.php:942
+msgid "Delete Photo"
+msgstr "Supprimer photo"
+
+#: ../../mod/photos.php:441 ../../mod/directory.php:59
+#: ../../mod/display.php:13 ../../mod/ratings.php:82 ../../mod/search.php:13
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Accès public refusé."
+
+#: ../../mod/photos.php:452
+msgid "No photos selected"
+msgstr "Aucune photo selectionnée"
+
+#: ../../mod/photos.php:496
+msgid "Access to this item is restricted."
+msgstr "L'accès à l'élément est restreint."
+
+#: ../../mod/photos.php:535
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."
+
+#: ../../mod/photos.php:538
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f méga-octets utilisés pour le stockage des photos."
+
+#: ../../mod/photos.php:562
+msgid "Upload Photos"
+msgstr "Téléverser des photos"
+
+#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+msgid "Enter a new album name"
+msgstr "Entrer un nouveau nom d'album"
+
+#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+msgid "or select an existing one (doubleclick)"
+msgstr "ou en sélectionner un existant (double-clic)"
+
+#: ../../mod/photos.php:568
+msgid "Create a status post for this upload"
+msgstr "Créer une publication de statut pour cet envoi"
+
+#: ../../mod/photos.php:596
+msgid "Album name could not be decoded"
+msgstr "Le nom de l'Album n'a pu être décodé"
+
+#: ../../mod/photos.php:637 ../../mod/photos.php:1169
+#: ../../mod/photos.php:1185
+msgid "Contact Photos"
+msgstr "Photos de contact"
+
+#: ../../mod/photos.php:661
+msgid "Show Newest First"
+msgstr "Ordre anté-chronologique"
+
+#: ../../mod/photos.php:663
+msgid "Show Oldest First"
+msgstr "Ordre chronologique"
+
+#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+msgid "View Photo"
+msgstr "Voir la photo"
+
+#: ../../mod/photos.php:716
+msgid "Edit Album"
+msgstr "Éditer l'album"
+
+#: ../../mod/photos.php:761
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint."
+
+#: ../../mod/photos.php:763
+msgid "Photo not available"
+msgstr "Photo indisponible"
+
+#: ../../mod/photos.php:821
+msgid "Use as profile photo"
+msgstr "Utiliser comme photo du profil"
+
+#: ../../mod/photos.php:828
+msgid "Private Photo"
+msgstr "Photo privée"
+
+#: ../../mod/photos.php:839 ../../mod/events.php:505
+msgid "Previous"
+msgstr "Précédent"
+
+#: ../../mod/photos.php:843
+msgid "View Full Size"
+msgstr "Voir en taille réelle"
+
+#: ../../mod/photos.php:848 ../../mod/events.php:506 ../../mod/setup.php:281
+msgid "Next"
+msgstr "Suivant"
+
+#: ../../mod/photos.php:887 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Retirer"
+
+#: ../../mod/photos.php:921
+msgid "Edit photo"
+msgstr "Éditer la photo"
+
+#: ../../mod/photos.php:923
+msgid "Rotate CW (right)"
+msgstr "Rotation horaire (droite)"
+
+#: ../../mod/photos.php:924
+msgid "Rotate CCW (left)"
+msgstr "Rotation anti-horaire (gauche)"
+
+#: ../../mod/photos.php:931
+msgid "Caption"
+msgstr "Titre/légende"
+
+#: ../../mod/photos.php:933
+msgid "Add a Tag"
+msgstr "Ajouter une étiquette"
+
+#: ../../mod/photos.php:937
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon"
+
+#: ../../mod/photos.php:940
+msgid "Flag as adult in album view"
+msgstr "Marquer comme \"adulte\" dans l'affichage de l'album"
+
+#: ../../mod/photos.php:1132
+msgid "In This Photo:"
+msgstr "Dans cette photo&nbsp;:"
+
+#: ../../mod/photos.php:1137
+msgid "Map"
+msgstr "Carte"
+
+#: ../../mod/photos.php:1223
+msgid "View Album"
+msgstr "Voir l'album"
+
+#: ../../mod/photos.php:1246
+msgid "Recent Photos"
+msgstr "Photos récentes"
+
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Élément indisponible."
+
+#: ../../mod/ping.php:263
+msgid "sent you a private message"
+msgstr "vous a envoyé un message privé"
+
+#: ../../mod/ping.php:314
+msgid "added your channel"
+msgstr "a ajouté votre canal"
+
+#: ../../mod/ping.php:355
+msgid "posted an event"
+msgstr "a publié un événement"
+
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
+msgid "Block Name"
+msgstr "Nom du Bloc"
+
+#: ../../mod/blocks.php:149
+msgid "Block Title"
+msgstr "Titre du bloc"
#: ../../mod/poke.php:159
msgid "Poke/Prod"
-msgstr "Cogner/Encourager"
+msgstr "Cogner/Solliciter"
#: ../../mod/poke.php:160
msgid "poke, prod or do other things to somebody"
-msgstr "Cogner, encourager, et autres choses à faire à quelqu'un"
+msgstr "Cogner, pointer, et autres choses à faire à quelqu'un"
#: ../../mod/poke.php:161
msgid "Recipient"
@@ -4170,136 +5141,396 @@ msgstr "Choisir quoi lui faire"
msgid "Make this post private"
msgstr "Rendre cette contribution privée"
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Autoriser l'application à se connecter"
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Favoris ajouté"
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:"
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Mes Favoris"
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Merci de vous connecter pour continuer."
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Favoris de mes relations"
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Vous avez créé %1$.0f des %2$.0f canaux autorisés."
+
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Créer un nouveau canal"
+
+#: ../../mod/manage.php:167
+msgid "Current Channel"
+msgstr "Canal actif"
+
+#: ../../mod/manage.php:169
+msgid "Switch to one of your channels by selecting it."
+msgstr "Pour changer de canal, sélectionner en un"
+
+#: ../../mod/manage.php:170
+msgid "Default Channel"
+msgstr "Canal par défaut"
+
+#: ../../mod/manage.php:171
+msgid "Make Default"
+msgstr "Définir comme défaut"
+
+#: ../../mod/manage.php:174
+#, php-format
+msgid "%d new messages"
+msgstr "%d nouveaux messages"
+
+#: ../../mod/manage.php:175
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nouvelles introductions"
+
+#: ../../mod/manage.php:177
+msgid "Delegated Channels"
+msgstr "Canaux délégués"
+
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr "Profils similaires"
+
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut."
+
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr "s'intéresse à&nbsp;:"
+
+#: ../../mod/match.php:70
+msgid "No matches"
+msgstr "Pas de correspondance"
+
+#: ../../mod/bulksetclose.php:89 ../../mod/group.php:196
+msgid "Members"
+msgstr "Membres"
+
+#: ../../mod/bulksetclose.php:91 ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Tous canaux connectés"
+
+#: ../../mod/bulksetclose.php:126 ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer"
+
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr ""
+
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Voir les résultats"
-#: ../../mod/post.php:229
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Vous devez vous connecter pour voir cette page."
+
+#: ../../mod/channel.php:97
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permissions insuffisantes. Demande redirigée à la page du profil."
+
+#: ../../mod/post.php:236
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "Authentification magique bloquée. Vous êtes connecté sur ce site localement. Merci de vous en déconnecter et réessayer."
-#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:178
+#: ../../mod/post.php:287 ../../mod/openid.php:72 ../../mod/openid.php:180
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr "Bienvenue %s. L'authentification magique a fonctionné."
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Élément indisponible."
+#: ../../mod/chat.php:167
+msgid "Room not found"
+msgstr "Salon introuvable"
+
+#: ../../mod/chat.php:178
+msgid "Leave Room"
+msgstr "Quitter le salon"
+
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
+msgstr "Supprimer le salon"
+
+#: ../../mod/chat.php:180
+msgid "I am away right now"
+msgstr "Je suis momentanément absent"
+
+#: ../../mod/chat.php:181
+msgid "I am online"
+msgstr "Je suis en ligne"
+
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr "Marquer ce salon"
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr "Nouveau salon"
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr "Nom du salon"
+
+#: ../../mod/chat.php:225
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "Salons de %1$s"
+
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Absent"
+
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "En ligne"
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#: ../../mod/probe.php:24 ../../mod/probe.php:30
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "Récupération d'URL échouée&nbsp;: %1$s"
-#: ../../mod/block.php:27 ../../mod/page.php:35
-msgid "Invalid item."
-msgstr "Élément invalide."
+#: ../../mod/cloud.php:120
+msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
+msgstr ""
-#: ../../mod/block.php:39 ../../mod/chanview.php:77 ../../mod/page.php:47
-#: ../../mod/home.php:54 ../../mod/wall_upload.php:28
-msgid "Channel not found."
-msgstr "Canal introuvable."
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "Pas de canal."
-#: ../../mod/block.php:75 ../../mod/page.php:83 ../../mod/display.php:100
-#: ../../mod/help.php:72 ../../index.php:236
-msgid "Page not found."
-msgstr "Page introuvable."
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "Relations communes"
+
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr "Pas de relations en commun."
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr "L'image a été téléversée, mais le recadrage a échoué."
-#: ../../mod/profile_photo.php:161
+#: ../../mod/profile_photo.php:162
msgid "Image resize failed."
msgstr "Le redimensionnement de l'image a échoué."
-#: ../../mod/profile_photo.php:205
+#: ../../mod/profile_photo.php:206
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr "Shirt-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement."
-#: ../../mod/profile_photo.php:232
+#: ../../mod/profile_photo.php:233
#, php-format
msgid "Image exceeds size limit of %d"
msgstr "L'image dépasse la taille limite de %d"
-#: ../../mod/profile_photo.php:241
+#: ../../mod/profile_photo.php:242
msgid "Unable to process image."
msgstr "Impossible de traîter l'image."
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
msgid "Photo not available."
msgstr "Photo inaccessible."
-#: ../../mod/profile_photo.php:358
+#: ../../mod/profile_photo.php:359
msgid "Upload File:"
msgstr "Fichier&nbsp;:"
-#: ../../mod/profile_photo.php:359
+#: ../../mod/profile_photo.php:360
msgid "Select a profile:"
msgstr "Choisir un profil&nbsp;:"
-#: ../../mod/profile_photo.php:360
+#: ../../mod/profile_photo.php:361
msgid "Upload Profile Photo"
msgstr "Téléverser une photo de profil"
-#: ../../mod/profile_photo.php:365
+#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
+msgid "or"
+msgstr "ou"
+
+#: ../../mod/profile_photo.php:366
msgid "skip this step"
msgstr "passer cette étape"
-#: ../../mod/profile_photo.php:365
+#: ../../mod/profile_photo.php:366
msgid "select a photo from your photo albums"
msgstr "choisir une photo dans vos albums"
-#: ../../mod/profile_photo.php:379
+#: ../../mod/profile_photo.php:382
msgid "Crop Image"
msgstr "Recadrer l'image"
-#: ../../mod/profile_photo.php:380
+#: ../../mod/profile_photo.php:383
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Merci d'ajuster le cadre pour une visualisation optimale."
-#: ../../mod/profile_photo.php:382
+#: ../../mod/profile_photo.php:385
msgid "Done Editing"
msgstr "J'ai terminé"
-#: ../../mod/profile_photo.php:425
+#: ../../mod/profile_photo.php:428
msgid "Image uploaded successfully."
msgstr "Image téléversée avec succès."
-#: ../../mod/profile_photo.php:427
+#: ../../mod/profile_photo.php:430
msgid "Image upload failed."
msgstr "Le téléversement a échoué."
-#: ../../mod/profile_photo.php:436
+#: ../../mod/profile_photo.php:439
#, php-format
msgid "Image size reduction [%s] failed."
msgstr "La réduction de taille [%s] a échoué."
-#: ../../mod/blocks.php:66
-msgid "Block Name"
-msgstr "Nom du Bloc"
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Continuer"
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Configuration du canal VIP"
+
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Activer les restrictions liées au canal VIP"
+
+#: ../../mod/connect.php:88
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ..."
+
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes&nbsp;:"
+
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Les relations potentielles verront ce qui suit avant de pouvoir continuer&nbsp;:"
+
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "En continuant, je certifie que je me suis acquitté de toutes les instructions indiquées"
+
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Aucune instruction spécifique n'a été établie par le propriétaire du canal.)"
+
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Canal VIP ou restreint"
+
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Identifiant de requête invalide."
+
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Annuler"
+
+#: ../../mod/notifications.php:51 ../../mod/connedit.php:539
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Pas d'autre notification du système."
+
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Notifications du système"
+
+#: ../../mod/connections.php:52 ../../mod/connections.php:153
+msgid "Blocked"
+msgstr "Bloqué"
+
+#: ../../mod/connections.php:57 ../../mod/connections.php:160
+msgid "Ignored"
+msgstr "Ignoré"
+
+#: ../../mod/connections.php:62 ../../mod/connections.php:174
+msgid "Hidden"
+msgstr "Caché"
+
+#: ../../mod/connections.php:67 ../../mod/connections.php:167
+msgid "Archived"
+msgstr "Archivé"
+
+#: ../../mod/connections.php:131
+msgid "Suggest new connections"
+msgstr "Suggérer de nouvelles relations"
+
+#: ../../mod/connections.php:134
+msgid "New Connections"
+msgstr "Nouvelles relations"
+
+#: ../../mod/connections.php:137
+msgid "Show pending (new) connections"
+msgstr "Voir les (nouvelles) relations en attente"
+
+#: ../../mod/connections.php:140 ../../mod/profperm.php:139
+msgid "All Connections"
+msgstr "Toutes les relations"
+
+#: ../../mod/connections.php:143
+msgid "Show all connections"
+msgstr "Voir toutes les relations"
+
+#: ../../mod/connections.php:146
+msgid "Unblocked"
+msgstr "Non bloquées"
+
+#: ../../mod/connections.php:149
+msgid "Only show unblocked connections"
+msgstr "Ne montrer que les relations non-bloquées"
+
+#: ../../mod/connections.php:156
+msgid "Only show blocked connections"
+msgstr "Ne montrer que les relations bloquées"
+
+#: ../../mod/connections.php:163
+msgid "Only show ignored connections"
+msgstr "Ne montrer que les relations ignorées"
+
+#: ../../mod/connections.php:170
+msgid "Only show archived connections"
+msgstr "Ne montrer que les relations archivées"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
-#: ../../mod/profiles.php:222 ../../mod/profiles.php:539
+#: ../../mod/connections.php:177
+msgid "Only show hidden connections"
+msgstr "Ne montrer que les relations cachées"
+
+#: ../../mod/connections.php:232
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
+
+#: ../../mod/connections.php:233
+msgid "Edit connection"
+msgstr "Modifier le contact"
+
+#: ../../mod/connections.php:271
+msgid "Search your connections"
+msgstr "Chercher parmi vos relations"
+
+#: ../../mod/connections.php:272
+msgid "Finding: "
+msgstr "Recherche&nbsp;:"
+
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
+#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
msgid "Profile not found."
msgstr "Profil introuvable."
@@ -4323,255 +5554,482 @@ msgstr "Profil impossible à cloner."
msgid "Profile unavailable to export."
msgstr "Impossible d'exporter le profil."
-#: ../../mod/profiles.php:232
+#: ../../mod/profiles.php:241
msgid "Profile Name is required."
msgstr "Le nom du profil est requis."
-#: ../../mod/profiles.php:354
+#: ../../mod/profiles.php:404
msgid "Marital Status"
msgstr "Statut marital"
-#: ../../mod/profiles.php:358
+#: ../../mod/profiles.php:408
msgid "Romantic Partner"
msgstr "Partenaire"
-#: ../../mod/profiles.php:362
+#: ../../mod/profiles.php:412
msgid "Likes"
msgstr "Aime"
-#: ../../mod/profiles.php:366
+#: ../../mod/profiles.php:416
msgid "Dislikes"
msgstr "Déteste"
-#: ../../mod/profiles.php:370
+#: ../../mod/profiles.php:420
msgid "Work/Employment"
msgstr "Travail/Occupation"
-#: ../../mod/profiles.php:373
+#: ../../mod/profiles.php:423
msgid "Religion"
msgstr "Religion/Croyance"
-#: ../../mod/profiles.php:377
+#: ../../mod/profiles.php:427
msgid "Political Views"
msgstr "Opinions politiques"
-#: ../../mod/profiles.php:381
+#: ../../mod/profiles.php:431 ../../mod/id.php:33
msgid "Gender"
msgstr "Sexe/Genre"
-#: ../../mod/profiles.php:385
+#: ../../mod/profiles.php:435
msgid "Sexual Preference"
msgstr "Préférence sexuelle"
-#: ../../mod/profiles.php:389
+#: ../../mod/profiles.php:439
msgid "Homepage"
msgstr "Site Internet"
-#: ../../mod/profiles.php:393
+#: ../../mod/profiles.php:443
msgid "Interests"
msgstr "Centres d'intérêt"
-#: ../../mod/profiles.php:397 ../../mod/admin.php:902
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../mod/profiles.php:404 ../../mod/pubsites.php:25
+#: ../../mod/profiles.php:454 ../../mod/pubsites.php:26
msgid "Location"
msgstr "Emplacement"
-#: ../../mod/profiles.php:487
+#: ../../mod/profiles.php:537
msgid "Profile updated."
msgstr "Profil mis à jour."
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:626
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "Cacher vos contacts/relations aux visiteurs de ce profil?"
-#: ../../mod/profiles.php:588
+#: ../../mod/profiles.php:666
msgid "Edit Profile Details"
msgstr "Éditer les détails du profil"
-#: ../../mod/profiles.php:590
+#: ../../mod/profiles.php:668
msgid "View this profile"
msgstr "Voir le profil"
-#: ../../mod/profiles.php:592
+#: ../../mod/profiles.php:670
msgid "Change Profile Photo"
msgstr "Changer la photo du profil"
-#: ../../mod/profiles.php:593
+#: ../../mod/profiles.php:671
msgid "Create a new profile using these settings"
msgstr "Créer un nouveau profil avec ces réglages"
-#: ../../mod/profiles.php:594
+#: ../../mod/profiles.php:672
msgid "Clone this profile"
msgstr "Cloner le profil"
-#: ../../mod/profiles.php:595
+#: ../../mod/profiles.php:673
msgid "Delete this profile"
msgstr "Supprimer le profil"
-#: ../../mod/profiles.php:597
+#: ../../mod/profiles.php:675
msgid "Import profile from file"
msgstr "Importer le profil à partir d'un fichier"
-#: ../../mod/profiles.php:598
+#: ../../mod/profiles.php:676
msgid "Export profile to file"
msgstr "Exporter le profil vers un fichier."
-#: ../../mod/profiles.php:599
+#: ../../mod/profiles.php:677
msgid "Profile Name:"
msgstr "Nom du profil&nbsp;:"
-#: ../../mod/profiles.php:600
+#: ../../mod/profiles.php:678
msgid "Your Full Name:"
msgstr "Votre nom complet&nbsp;:"
-#: ../../mod/profiles.php:601
+#: ../../mod/profiles.php:679
msgid "Title/Description:"
msgstr "Titre/description&nbsp;:"
-#: ../../mod/profiles.php:602
+#: ../../mod/profiles.php:680
msgid "Your Gender:"
msgstr "Sexe/Genre&nbsp;:"
-#: ../../mod/profiles.php:603
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Date de naissance (%s)&nbsp;:"
+#: ../../mod/profiles.php:681
+msgid "Birthday :"
+msgstr "Date de naissance&nbsp;:"
-#: ../../mod/profiles.php:604
+#: ../../mod/profiles.php:682
msgid "Street Address:"
msgstr "Adresse postale&nbsp;:"
-#: ../../mod/profiles.php:605
+#: ../../mod/profiles.php:683
msgid "Locality/City:"
msgstr "Ville/Localité&nbsp;:"
-#: ../../mod/profiles.php:606
+#: ../../mod/profiles.php:684
msgid "Postal/Zip Code:"
msgstr "Code postal&nbsp;:"
-#: ../../mod/profiles.php:607
+#: ../../mod/profiles.php:685
msgid "Country:"
msgstr "Pays&nbsp;:"
-#: ../../mod/profiles.php:608
+#: ../../mod/profiles.php:686
msgid "Region/State:"
msgstr "Région/Province/État&nbsp;:"
-#: ../../mod/profiles.php:609
+#: ../../mod/profiles.php:687
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "<span class=\"heart\">&hearts;</span>Statut marital&nbsp;:"
-#: ../../mod/profiles.php:610
+#: ../../mod/profiles.php:688
msgid "Who: (if applicable)"
msgstr "Avec&nbsp;: (si pertinent)"
-#: ../../mod/profiles.php:611
+#: ../../mod/profiles.php:689
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Exemples&nbsp;: cathy123, Cathy Williams, cathy@exemple.com"
-#: ../../mod/profiles.php:612
+#: ../../mod/profiles.php:690
msgid "Since [date]:"
msgstr "Depuis [date]&nbsp;:"
-#: ../../mod/profiles.php:614
+#: ../../mod/profiles.php:692
msgid "Homepage URL:"
msgstr "URL de mon site Internet&nbsp;:"
-#: ../../mod/profiles.php:617
+#: ../../mod/profiles.php:695
msgid "Religious Views:"
msgstr "Opinions religieuses&nbsp;:"
-#: ../../mod/profiles.php:618
+#: ../../mod/profiles.php:696
msgid "Keywords:"
msgstr "Mots-clefs&nbsp;:"
-#: ../../mod/profiles.php:621
+#: ../../mod/profiles.php:699
msgid "Example: fishing photography software"
msgstr "Exemple&nbsp;: escrime photographie modélisme"
-#: ../../mod/profiles.php:622
+#: ../../mod/profiles.php:700
msgid "Used in directory listings"
msgstr "Utilisé pour le référencement dans l'annuaire"
-#: ../../mod/profiles.php:623
+#: ../../mod/profiles.php:701
msgid "Tell us about yourself..."
msgstr "Parlez nous de vous..."
-#: ../../mod/profiles.php:624
+#: ../../mod/profiles.php:702
msgid "Hobbies/Interests"
msgstr "Loisirs/Centres d'intêret"
-#: ../../mod/profiles.php:625
+#: ../../mod/profiles.php:703
msgid "Contact information and Social Networks"
msgstr "Coordonnées et réseaux sociaux"
-#: ../../mod/profiles.php:626
+#: ../../mod/profiles.php:704
msgid "My other channels"
msgstr "Mes autres canaux"
-#: ../../mod/profiles.php:627
+#: ../../mod/profiles.php:705
msgid "Musical interests"
msgstr "Goûts musicaux"
-#: ../../mod/profiles.php:628
+#: ../../mod/profiles.php:706
msgid "Books, literature"
msgstr "Littérature"
-#: ../../mod/profiles.php:629
+#: ../../mod/profiles.php:707
msgid "Television"
msgstr "Télévision"
-#: ../../mod/profiles.php:630
+#: ../../mod/profiles.php:708
msgid "Film/dance/culture/entertainment"
msgstr "Cinéma/Danse/Culture/Divertissement"
-#: ../../mod/profiles.php:631
+#: ../../mod/profiles.php:709
msgid "Love/romance"
msgstr "Amour/Romance"
-#: ../../mod/profiles.php:632
+#: ../../mod/profiles.php:710
msgid "Work/employment"
msgstr "Travail/Occupation"
-#: ../../mod/profiles.php:633
+#: ../../mod/profiles.php:711
msgid "School/education"
msgstr "Études"
-#: ../../mod/profiles.php:639
+#: ../../mod/profiles.php:717
msgid "This is your default profile."
msgstr "Voilà votre profil par défault."
-#: ../../mod/profiles.php:650 ../../mod/directory.php:143
-#: ../../mod/dirprofile.php:92
+#: ../../mod/profiles.php:728
msgid "Age: "
msgstr "Age&nbsp;:"
-#: ../../mod/profiles.php:692
+#: ../../mod/profiles.php:771
msgid "Edit/Manage Profiles"
msgstr "Éditer/gérer les profils"
-#: ../../mod/profiles.php:693
+#: ../../mod/profiles.php:772
msgid "Add profile things"
msgstr "Ajouter des choses de profil"
-#: ../../mod/profiles.php:694
+#: ../../mod/profiles.php:773
msgid "Include desirable objects in your profile"
msgstr "Incluez des objets souhaitables dans votre profil"
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Favoris ajouté"
+#: ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr "Impossible d'accéder aux détails du contact."
-#: ../../mod/bookmarks.php:58
-msgid "My Bookmarks"
-msgstr "Mes Favoris"
+#: ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr "Impossible de localiser le profil sélectionné."
-#: ../../mod/bookmarks.php:69
-msgid "My Connections Bookmarks"
-msgstr "Favoris de mes relations"
+#: ../../mod/connedit.php:219
+msgid "Connection updated."
+msgstr "Connexion mise à jour."
+
+#: ../../mod/connedit.php:221
+msgid "Failed to update connection record."
+msgstr "Impossible de mettre à jour les détails de la relation."
+
+#: ../../mod/connedit.php:267
+msgid "is now connected to"
+msgstr "est maintenant connecté avec"
+
+#: ../../mod/connedit.php:392
+msgid "Could not access address book record."
+msgstr "Impossible d'accéder aux détails du carnet d'adresses."
+
+#: ../../mod/connedit.php:406
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Actualisation impossible - le canal est momentanément indisponible."
+
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
+#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
+#: ../../mod/connedit.php:470
+msgid "Unable to set address book parameters."
+msgstr "Impossible de régler les paramètres du carnet d'adresses."
+
+#: ../../mod/connedit.php:494
+msgid "Connection has been removed."
+msgstr "La relation a été supprimée"
+
+#: ../../mod/connedit.php:513
+#, php-format
+msgid "View %s's profile"
+msgstr "Voir le profil de %s"
+
+#: ../../mod/connedit.php:517
+msgid "Refresh Permissions"
+msgstr "Actualiser les permissions"
+
+#: ../../mod/connedit.php:520
+msgid "Fetch updated permissions"
+msgstr "Récupérer les permissions les plus récentes"
+
+#: ../../mod/connedit.php:524
+msgid "Recent Activity"
+msgstr "Activité récente"
+
+#: ../../mod/connedit.php:527
+msgid "View recent posts and comments"
+msgstr "Voir les contributions et commentaires récentes"
+
+#: ../../mod/connedit.php:534
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Bloquer ou débloquer toute communication avec ce contact"
+
+#: ../../mod/connedit.php:535
+msgid "This connection is blocked!"
+msgstr "Ce contact est bloqué&nbsp;!"
+
+#: ../../mod/connedit.php:539
+msgid "Unignore"
+msgstr "Ne plus ignorer"
+
+#: ../../mod/connedit.php:542
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignorer ou ne plus ignorer toute communication venant de ce contact"
+
+#: ../../mod/connedit.php:543
+msgid "This connection is ignored!"
+msgstr "Ce contact est ignoré&nbsp;!"
+
+#: ../../mod/connedit.php:547
+msgid "Unarchive"
+msgstr "Ne plus archiver"
+
+#: ../../mod/connedit.php:547
+msgid "Archive"
+msgstr "Archiver"
+
+#: ../../mod/connedit.php:550
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu"
+
+#: ../../mod/connedit.php:551
+msgid "This connection is archived!"
+msgstr "Ce contact est archivé&nbsp;!"
+
+#: ../../mod/connedit.php:555
+msgid "Unhide"
+msgstr "Ne plus cacher"
+
+#: ../../mod/connedit.php:555
+msgid "Hide"
+msgstr "Cacher"
+
+#: ../../mod/connedit.php:558
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts"
+
+#: ../../mod/connedit.php:559
+msgid "This connection is hidden!"
+msgstr "Ce contact est caché&nbsp;!"
+
+#: ../../mod/connedit.php:566
+msgid "Delete this connection"
+msgstr "Supprimer cette relation"
+
+#: ../../mod/connedit.php:647
+msgid "Approve this connection"
+msgstr "Approuver cette relation"
+
+#: ../../mod/connedit.php:647
+msgid "Accept connection to allow communication"
+msgstr "Accepter la relation pour permettre la communication"
+
+#: ../../mod/connedit.php:652
+msgid "Set Affinity"
+msgstr "Définir le degré d'affinité"
+
+#: ../../mod/connedit.php:655
+msgid "Set Profile"
+msgstr "Définir le profil"
+
+#: ../../mod/connedit.php:658
+msgid "Set Affinity & Profile"
+msgstr "Définir le degré d'affinité et le profil"
+
+#: ../../mod/connedit.php:675
+msgid "Apply these permissions automatically"
+msgstr "Appliquer ces permissions automatiquement"
+
+#: ../../mod/connedit.php:677
+msgid "This connection's address is"
+msgstr ""
+
+#: ../../mod/connedit.php:680
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts."
+
+#: ../../mod/connedit.php:682
+msgid "Slide to adjust your degree of friendship"
+msgstr "Faites glisser pour ajuster le niveau de la relation"
+
+#: ../../mod/connedit.php:684
+msgid "Slide to adjust your rating"
+msgstr "Faîtes glisser pour ajuster votre note"
+
+#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
+msgid "Optionally explain your rating"
+msgstr "Explication facultative de votre évaluation"
+
+#: ../../mod/connedit.php:687
+msgid "Custom Filter"
+msgstr "Filtre personnalisé"
+
+#: ../../mod/connedit.php:688
+msgid "Only import posts with this text"
+msgstr "N'importer que les publications comprenant ce texte"
+
+#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
+msgid ""
+"words one per line or #tags or /patterns/, leave blank to import all posts"
+msgstr ""
+
+#: ../../mod/connedit.php:689
+msgid "Do not import posts with this text"
+msgstr "Ne pas importer les publications comprenant ce texte"
+
+#: ../../mod/connedit.php:691
+msgid "This information is public!"
+msgstr "Cette information est publique&nbsp;!"
+
+#: ../../mod/connedit.php:696
+msgid "Connection Pending Approval"
+msgstr "Contact en attente d'approbation"
+
+#: ../../mod/connedit.php:697
+msgid "Connection Request"
+msgstr "Demande de contact"
+
+#: ../../mod/connedit.php:698
+#, php-format
+msgid ""
+"(%s) would like to connect with you. Please approve this connection to allow"
+" communication."
+msgstr "(%s) veut devenir votre contact. Merci d'approuver cette demande pour permettre la communication."
+
+#: ../../mod/connedit.php:700
+msgid "Approve Later"
+msgstr "Approuver plus tard"
+
+#: ../../mod/connedit.php:703
+msgid "inherited"
+msgstr "héritée"
+
+#: ../../mod/connedit.php:705
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."
+
+#: ../../mod/connedit.php:707
+msgid "Their Settings"
+msgstr "Ses réglages"
+
+#: ../../mod/connedit.php:708
+msgid "My Settings"
+msgstr "Mes réglages"
+
+#: ../../mod/connedit.php:710
+msgid "Individual Permissions"
+msgstr "Permissions spécifiques"
+
+#: ../../mod/connedit.php:711
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
+
+#: ../../mod/connedit.php:712
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
+
+#: ../../mod/connedit.php:713
+msgid "Last update:"
+msgstr "Dernière mise-à-jour&nbsp;:"
#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
msgid "Invalid profile identifier."
@@ -4589,9 +6047,92 @@ msgstr "Cliquez sur un contact pour l'ajouter ou le retirer."
msgid "Visible To"
msgstr "Visible par"
-#: ../../mod/profperm.php:139 ../../mod/connections.php:279
-msgid "All Connections"
-msgstr "Toutes les relations"
+#: ../../mod/dav.php:121
+msgid "$Projectname channel"
+msgstr "Canal $Projectname"
+
+#: ../../mod/directory.php:234
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d évaluations"
+msgstr[1] "%d évaluations"
+
+#: ../../mod/directory.php:245
+msgid "Gender: "
+msgstr "Sexe/genre&nbsp;:"
+
+#: ../../mod/directory.php:247
+msgid "Status: "
+msgstr "État&nbsp;:"
+
+#: ../../mod/directory.php:249
+msgid "Homepage: "
+msgstr "Site web&nbsp;:"
+
+#: ../../mod/directory.php:308 ../../mod/events.php:682
+msgid "Description:"
+msgstr "Description:"
+
+#: ../../mod/directory.php:317
+msgid "Public Forum:"
+msgstr "Forum public :"
+
+#: ../../mod/directory.php:320
+msgid "Keywords: "
+msgstr "Mots-clefs&nbsp;:"
+
+#: ../../mod/directory.php:323
+msgid "Don't suggest"
+msgstr "Ne pas suggérer"
+
+#: ../../mod/directory.php:325
+msgid "Common connections:"
+msgstr "Relations générales"
+
+#: ../../mod/directory.php:374
+msgid "Global Directory"
+msgstr "Annuaire global"
+
+#: ../../mod/directory.php:374
+msgid "Local Directory"
+msgstr "Annuaire local"
+
+#: ../../mod/directory.php:380
+msgid "Finding:"
+msgstr "Recherche&nbsp;:"
+
+#: ../../mod/directory.php:385
+msgid "next page"
+msgstr "page suivante"
+
+#: ../../mod/directory.php:385
+msgid "previous page"
+msgstr "page précédente"
+
+#: ../../mod/directory.php:386
+msgid "Sort options"
+msgstr "Options de tri"
+
+#: ../../mod/directory.php:387
+msgid "Alphabetic"
+msgstr "Alphabétique"
+
+#: ../../mod/directory.php:388
+msgid "Reverse Alphabetic"
+msgstr "Alphabétique inversé"
+
+#: ../../mod/directory.php:389
+msgid "Newest to Oldest"
+msgstr "Ordre anté-chronologique"
+
+#: ../../mod/directory.php:390
+msgid "Oldest to Newest"
+msgstr "Ordre chronologique"
+
+#: ../../mod/directory.php:407
+msgid "No entries (some entries may be hidden)."
+msgstr "Pas d'entrées (certaines peuvent être cachées)."
#: ../../mod/pubsites.php:16
msgid "Public Sites"
@@ -4599,32 +6140,269 @@ msgstr "Sites publics"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration into the Hubzilla. All sites in"
-" the matrix are interlinked so membership on any of them conveys membership "
-"in the matrix as a whole. Some sites may require subscription or provide "
-"tiered service plans. The provider links <strong>may</strong> provide "
-"additional details."
-msgstr "Les sites listés autorisent l'inscription pour tous. Tous sont liés entre eux, de manière à ce qu'un compte sur un seul d'entre eux soit valable sur l'ensemble de la matrice. Certains sites peuvent demander des frais de souscriptions, ou fournir des forfaits ajustés. Le lien \"fournisseur\" <strong>peut</strong> vous donner des détails supplémentaires."
+"The listed sites allow public registration for the $Projectname network. All"
+" sites in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some sites may require subscription or"
+" provide tiered service plans. The provider links <strong>may</strong> "
+"provide additional details."
+msgstr "Les sites listés autorisent l'inscription publique au réseau $Projectname. Tous les sites du réseau sont interconnectés, l'inscription sur l'un quelconque d'entre eux signifie donc l'inscription sur le réseau dans son ensemble. Certains sites peuvent nécessiter une souscription ou fournir des niveaux de service différenciés. Le lien du fournisseur <strong>peut</strong> fournir plus de détails."
#: ../../mod/pubsites.php:25
+msgid "Rate this hub"
+msgstr "Noter cette instance"
+
+#: ../../mod/pubsites.php:26
msgid "Site URL"
msgstr "URL du site"
-#: ../../mod/pubsites.php:25
+#: ../../mod/pubsites.php:26
msgid "Access Type"
msgstr "Type d'accès"
-#: ../../mod/pubsites.php:25
+#: ../../mod/pubsites.php:26
msgid "Registration Policy"
msgstr "Politique d'inscription"
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
-msgid "You must be logged in to see this page."
-msgstr "Vous devez vous connecter pour voir cette page."
+#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "Projet"
-#: ../../mod/channel.php:86
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permissions insuffisantes. Demande redirigée à la page du profil."
+#: ../../mod/pubsites.php:26
+msgid "View hub ratings"
+msgstr "Voir les notes de cette instance"
+
+#: ../../mod/pubsites.php:30
+msgid "Rate"
+msgstr "Noter"
+
+#: ../../mod/pubsites.php:31
+msgid "View ratings"
+msgstr "Voir les notes"
+
+#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
+msgid "This site is not a directory server"
+msgstr "Ce site n'est pas un serveur d'annuaire"
+
+#: ../../mod/dirsearch.php:29
+msgid "This directory server requires an access token"
+msgstr "Ce serveur d'annuaire requiert un jeton d'accès"
+
+#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
+#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Élément introuvable"
+
+#: ../../mod/editblock.php:117
+msgid "Delete block?"
+msgstr "Supprimer le bloc?"
+
+#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142
+#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:187
+msgid "Insert YouTube video"
+msgstr "Insérer une vidéo YouTube"
+
+#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:188
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Insérer une vidéo Vorbis [.ogg]"
+
+#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:189
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Insérer un son Vorbis [.ogg]"
+
+#: ../../mod/editblock.php:179
+msgid "Edit Block"
+msgstr "Éditer bloc"
+
+#: ../../mod/editlayout.php:111
+msgid "Delete layout?"
+msgstr "Supprimer la mise-en-page?"
+
+#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+msgid "Layout Description (Optional)"
+msgstr "Description de la mise en page (facultatif)"
+
+#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:179
+msgid "Layout Name"
+msgstr "Nom de la mise-en-page"
+
+#: ../../mod/editlayout.php:177
+msgid "Edit Layout"
+msgstr "Éditer mise-en-page"
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Élément non-éditable"
+
+#: ../../mod/editpost.php:48
+msgid "Delete item?"
+msgstr "Supprimer l'élément?"
+
+#: ../../mod/editpost.php:158 ../../mod/rpost.php:131
+msgid "Edit post"
+msgstr "Éditer la contribution"
+
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "Impossible de trouver votre hub."
+
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Contribution effectuée."
+
+#: ../../mod/editwebpage.php:152
+msgid "Delete webpage?"
+msgstr "Supprimer la page web?"
+
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
+msgstr "Titre du lien vers la page"
+
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
+msgstr "Éditer page web"
+
+#: ../../mod/rate.php:157
+msgid "Website:"
+msgstr "Site web&nbsp;:"
+
+#: ../../mod/rate.php:160
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal distant [%s] (encore inconnu sur ce site)"
+
+#: ../../mod/rate.php:161
+msgid "Rating (this information is public)"
+msgstr "Evaluation (cette information est publique)"
+
+#: ../../mod/rate.php:162
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Explication facultative de votre évaluation (cette information est publique)"
+
+#: ../../mod/events.php:21
+msgid "Calendar entries imported."
+msgstr "Entrées du calendrier importées."
+
+#: ../../mod/events.php:23
+msgid "No calendar entries found."
+msgstr "Aucune entrée du calendrier trouvée."
+
+#: ../../mod/events.php:101
+msgid "Event can not end before it has started."
+msgstr "La fin de l'événement ne peut être antérieure à son début."
+
+#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+msgid "Unable to generate preview."
+msgstr "Impossible de générer l'aperçu."
+
+#: ../../mod/events.php:110
+msgid "Event title and start time are required."
+msgstr "Un titre et une date de début sont requises pour l'événement."
+
+#: ../../mod/events.php:128
+msgid "Event not found."
+msgstr "Événement introuvable."
+
+#: ../../mod/events.php:426
+msgid "l, F j"
+msgstr "l j F"
+
+#: ../../mod/events.php:448
+msgid "Edit event"
+msgstr "Éditer l'événement"
+
+#: ../../mod/events.php:449
+msgid "Delete event"
+msgstr "Supprimer l'évènement"
+
+#: ../../mod/events.php:483
+msgid "calendar"
+msgstr "calendrier"
+
+#: ../../mod/events.php:504
+msgid "Create New Event"
+msgstr "Créer événement"
+
+#: ../../mod/events.php:507
+msgid "Export"
+msgstr "Exports"
+
+#: ../../mod/events.php:510
+msgid "Import"
+msgstr "Importer"
+
+#: ../../mod/events.php:541
+msgid "Event removed"
+msgstr "Événement supprimé"
+
+#: ../../mod/events.php:544
+msgid "Failed to remove event"
+msgstr "Impossible de supprimer l'événement"
+
+#: ../../mod/events.php:664
+msgid "Event details"
+msgstr "Détails de l'événement"
+
+#: ../../mod/events.php:665
+msgid "Starting date and Title are required."
+msgstr "Une date de début et un Titre sont requis."
+
+#: ../../mod/events.php:667
+msgid "Categories (comma-separated list)"
+msgstr "Catégories (séparées par des virgules)"
+
+#: ../../mod/events.php:669
+msgid "Event Starts:"
+msgstr "L'événement débute&nbsp;:"
+
+#: ../../mod/events.php:676
+msgid "Finish date/time is not known or not relevant"
+msgstr "Date/heure de fin inconnue ou sans objet"
+
+#: ../../mod/events.php:678
+msgid "Event Finishes:"
+msgstr "L'événement termine&nbsp;:"
+
+#: ../../mod/events.php:680 ../../mod/events.php:681
+msgid "Adjust for viewer timezone"
+msgstr "Ajuster au fuseau horaire du visiteur"
+
+#: ../../mod/events.php:680
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde."
+
+#: ../../mod/events.php:686
+msgid "Title:"
+msgstr "Titre:"
+
+#: ../../mod/events.php:688
+msgid "Share this event"
+msgstr "Partager cet événement"
+
+#: ../../mod/ratings.php:69
+msgid "No ratings"
+msgstr "Pas de note"
+
+#: ../../mod/ratings.php:99
+msgid "Ratings"
+msgstr "Evaluations"
+
+#: ../../mod/ratings.php:100
+msgid "Rating: "
+msgstr "Evaluation&nbsp:"
+
+#: ../../mod/ratings.php:101
+msgid "Website: "
+msgstr "Site web&nbsp;:"
+
+#: ../../mod/ratings.php:103
+msgid "Description: "
+msgstr "Description&nbsp;:"
#: ../../mod/rbmark.php:88
msgid "Select a bookmark folder"
@@ -4638,145 +6416,249 @@ msgstr "Sauver le favoris"
msgid "URL of bookmark"
msgstr "URL du favoris"
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Description"
-
#: ../../mod/rbmark.php:99
msgid "Or enter new bookmark folder name"
msgstr "Ou entrez le nom d'un nouveau dossier"
-#: ../../mod/chat.php:167
-msgid "Room not found"
-msgstr "Salon introuvable"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- choisir -"
-#: ../../mod/chat.php:178
-msgid "Leave Room"
-msgstr "Quitter le salon"
+#: ../../mod/filestorage.php:82
+msgid "Permission Denied."
+msgstr "Permission refusée."
-#: ../../mod/chat.php:179
-msgid "Delete This Room"
-msgstr "Supprimer le salon"
+#: ../../mod/filestorage.php:98
+msgid "File not found."
+msgstr "Fichier introuvable."
-#: ../../mod/chat.php:180
-msgid "I am away right now"
-msgstr "Je suis momentanément absent"
+#: ../../mod/filestorage.php:141
+msgid "Edit file permissions"
+msgstr "Éditer les permissions du fichier"
-#: ../../mod/chat.php:181
-msgid "I am online"
-msgstr "Je suis en ligne"
+#: ../../mod/filestorage.php:150
+msgid "Set/edit permissions"
+msgstr "Définir/Édition des authorisations"
-#: ../../mod/chat.php:183
-msgid "Bookmark this room"
-msgstr "Marquer ce salon"
+#: ../../mod/filestorage.php:151
+msgid "Include all files and sub folders"
+msgstr "Inclure tous fichiers et sous-répertoires"
-#: ../../mod/chat.php:207 ../../mod/chat.php:229
-msgid "New Chatroom"
-msgstr "Nouveau salon"
+#: ../../mod/filestorage.php:152
+msgid "Return to file list"
+msgstr "Retourner à la liste des fichiers"
-#: ../../mod/chat.php:208
-msgid "Chatroom Name"
-msgstr "Nom du salon"
+#: ../../mod/filestorage.php:154
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copiez/collez ce code pour joindre le fichier à une publication"
-#: ../../mod/chat.php:225
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Salons de %1$s"
+#: ../../mod/filestorage.php:155
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copiez/collez cette URL pour lier le fichier depuis une page web"
+
+#: ../../mod/filestorage.php:157
+msgid "Share this file"
+msgstr "Partager ce fichier"
+
+#: ../../mod/filestorage.php:158
+msgid "Show URL to this file"
+msgstr "Montrer l'URL de ce fichier"
-#: ../../mod/register.php:43
+#: ../../mod/filestorage.php:159
+msgid "Notify your contacts about this file"
+msgstr "Notifier vos contacts à propos de ce fichier"
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Canal ajouté."
+
+#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Nombre d'inscriptions quotidiennes dépassé. Merci de recommencer demain."
-#: ../../mod/register.php:49
+#: ../../mod/register.php:50
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr "Merci d'indiquer votre adhésion aux Règles du Service. L'inscription a échoué."
-#: ../../mod/register.php:83
+#: ../../mod/register.php:84
msgid "Passwords do not match."
msgstr "Les mots de passe ne concordent pas."
-#: ../../mod/register.php:116
+#: ../../mod/register.php:117
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte."
-#: ../../mod/register.php:122
+#: ../../mod/register.php:123
msgid "Your registration is pending approval by the site owner."
msgstr "Votre inscription est en attente de l'approbation d'un administrateur."
-#: ../../mod/register.php:125
+#: ../../mod/register.php:126
msgid "Your registration can not be processed."
msgstr "Votre inscription ne peut être traîtée."
-#: ../../mod/register.php:162
+#: ../../mod/register.php:163
msgid "Registration on this site/hub is by approval only."
msgstr "L'inscription sur cette instance/ce site est soumis à une modération."
-#: ../../mod/register.php:163
+#: ../../mod/register.php:164
msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
msgstr "<a href=\"pubsites\">S'inscrire sur un site/hub affilié</a>"
-#: ../../mod/register.php:171
+#: ../../mod/register.php:174
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Ce site a dépassé le nombre de création de compte autorisé par jour. Merci de recommencer demain."
-#: ../../mod/register.php:182
+#: ../../mod/register.php:185
msgid "Terms of Service"
msgstr "Règles du Service"
-#: ../../mod/register.php:188
+#: ../../mod/register.php:191
#, php-format
msgid "I accept the %s for this website"
msgstr "J'accepte %s de ce site"
-#: ../../mod/register.php:190
+#: ../../mod/register.php:193
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "J'ai plus de 13 ans et j'accepte les %s de ce site"
-#: ../../mod/register.php:204 ../../mod/admin.php:452
-msgid "Registration"
-msgstr "Inscription"
-
-#: ../../mod/register.php:209
+#: ../../mod/register.php:212
msgid "Membership on this site is by invitation only."
msgstr "L'inscription à ce site se fait uniquement sur invitation."
-#: ../../mod/register.php:210
+#: ../../mod/register.php:213
msgid "Please enter your invitation code"
msgstr "Merci de saisir votre code d'invitation"
-#: ../../mod/register.php:213
+#: ../../mod/register.php:216
msgid "Your email address"
msgstr "Votre adresse de courriel"
-#: ../../mod/register.php:214
+#: ../../mod/register.php:217
msgid "Choose a password"
msgstr "Choisissez un mot de passe"
-#: ../../mod/register.php:215
+#: ../../mod/register.php:218
msgid "Please re-enter your password"
msgstr "Confirmez-le"
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Absent"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contact introuvable."
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "En ligne"
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Suggestion d'amitié/relation envoyée."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Suggérer une relation"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Suggérer une relation à %s"
-#: ../../mod/regmod.php:12
+#: ../../mod/regmod.php:11
msgid "Please login."
msgstr "Merci de vous connecter."
-#: ../../mod/cloud.php:126
-msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
-msgstr "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++"
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "Collection créée."
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Impossible de créer la collection."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Collection mise-à-jour."
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Créez une collection de canaux."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Nom de la collection&nbsp;:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "Les membres sont visibles par les autres canaux"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Collection supprimée."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Impossible de supprimer la collection."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Éditeur de collection"
+
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Il est impossible de supprimer un compte à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte."
+
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Supprimer ce Compte"
+
+#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+msgid "WARNING: "
+msgstr "ATTENTION&nbsp;:"
+
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr "Ce compte et tous ses canaux seront entièrement supprimés du réseau."
+
+#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Cette action est permanente et irréversible&nbsp;!"
+
+#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+msgid "Please enter your password for verification:"
+msgstr "Merci de re-saisir votre mot de passe pour vérification&nbsp;:"
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Supprimer ce compte, tous ses canaux et tous les clones sur la matrice."
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Par défault, seuls les instances de canaux situés sur ce hub seront supprimer de la matrice."
+
+#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
+msgid "Remove Account"
+msgstr "Supprimer le compte"
+
+#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
+msgid "Help:"
+msgstr "Aide&nbsp;:"
+
+#: ../../mod/help.php:76 ../../index.php:242
+msgid "Not Found"
+msgstr "Introuvable"
+
+#: ../../mod/help.php:100
+msgid "$Projectname Documentation"
+msgstr "Documentation $Projectname"
#: ../../mod/removeme.php:29
msgid ""
@@ -4789,14 +6671,8 @@ msgid "Remove This Channel"
msgstr "Supprimer ce Canal"
#: ../../mod/removeme.php:58
-msgid ""
-"This will completely remove this channel from the network. Once this has "
-"been done it is not recoverable."
-msgstr "Ceci effacera complètement le canal du réseau. Une fois effacé, un canal ne PEUT PAS être récupéré."
-
-#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
-msgid "Please enter your password for verification:"
-msgstr "Merci de re-saisir votre mot de passe pour vérification&nbsp;:"
+msgid "This channel will be completely removed from the network. "
+msgstr "Ce canal sera complètement supprimé du réseau."
#: ../../mod/removeme.php:60
msgid "Remove this channel and all its clones from the network"
@@ -4808,1265 +6684,1499 @@ msgid ""
"removed from the network"
msgstr "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau"
-#: ../../mod/removeme.php:61
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1137
msgid "Remove Channel"
msgstr "Enlever le canal"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Pas de canal."
-
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Relations communes"
+#: ../../mod/home.php:58 ../../mod/home.php:66 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Pas de relation en commun."
+#: ../../mod/home.php:75
+#, php-format
+msgid "Welcome to %s"
+msgstr "Bienvenue sur %s"
-#: ../../mod/rmagic.php:38
+#: ../../mod/rmagic.php:40
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est bien saisi."
-#: ../../mod/rmagic.php:38
+#: ../../mod/rmagic.php:40
msgid "The error message was:"
msgstr "Le message d'erreur était&nbsp;:"
-#: ../../mod/rmagic.php:42
+#: ../../mod/rmagic.php:44
msgid "Authentication failed."
msgstr "Échec de l'authentification."
-#: ../../mod/rmagic.php:82
+#: ../../mod/rmagic.php:84
msgid "Remote Authentication"
msgstr "Authentification distante"
-#: ../../mod/rmagic.php:83
+#: ../../mod/rmagic.php:85
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Entrez l'adresse de votre canal (p.ex. moncanal@monsite.com)"
-#: ../../mod/rmagic.php:84
+#: ../../mod/rmagic.php:86
msgid "Authenticate"
msgstr "Authentifier"
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Continuer"
+#: ../../mod/id.php:11
+msgid "First Name"
+msgstr "Prénom"
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Configuration du canal VIP"
+#: ../../mod/id.php:12
+msgid "Last Name"
+msgstr "Nom de famille"
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Activer les restrictions liées au canal VIP"
+#: ../../mod/id.php:13
+msgid "Nickname"
+msgstr "Surnom"
-#: ../../mod/connect.php:87
+#: ../../mod/id.php:14
+msgid "Full Name"
+msgstr "Nom complet"
+
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
+msgstr "Photo de profil 16px"
+
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
+msgstr "Photo de profil 32px"
+
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
+msgstr "Photo de profil 48px"
+
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
+msgstr "Photo de profil 64px"
+
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
+msgstr "Photo de profil 80px"
+
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
+msgstr "Photo de profil 128px"
+
+#: ../../mod/id.php:26
+msgid "Timezone"
+msgstr "Fuseau horaire"
+
+#: ../../mod/id.php:27
+msgid "Homepage URL"
+msgstr "URL de mon site Internet&nbsp;:"
+
+#: ../../mod/id.php:29
+msgid "Birth Year"
+msgstr "Année de naissance"
+
+#: ../../mod/id.php:30
+msgid "Birth Month"
+msgstr "Mois de naissance"
+
+#: ../../mod/id.php:31
+msgid "Birth Day"
+msgstr "Jour de naissance"
+
+#: ../../mod/id.php:32
+msgid "Birthdate"
+msgstr "Date de naissance"
+
+#: ../../mod/impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "Elément %s installé"
+
+#: ../../mod/impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "L'installation de l'élément %s a échoué"
+
+#: ../../mod/search.php:206
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Eléments étiquetés avec&nbsp;: %s"
+
+#: ../../mod/search.php:208
+#, php-format
+msgid "Search results for: %s"
+msgstr "Résultats de recherche pour&nbsp;: %s"
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Votre forfait n'autorise que %d canaux."
+
+#: ../../mod/import.php:60
+msgid "Nothing to import."
+msgstr "Rien à importer."
+
+#: ../../mod/import.php:84
+msgid "Unable to download data from old server"
+msgstr "Impossible de récupérer les données de l'ancien serveur"
+
+#: ../../mod/import.php:90
+msgid "Imported file is empty."
+msgstr "Le fichier importé est vide."
+
+#: ../../mod/import.php:110
+msgid "The data provided is not compatible with this project."
+msgstr ""
+
+#: ../../mod/import.php:115
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Attention&nbsp;: les versions de bases de données diffèrent de %1$d mises à jour."
+
+#: ../../mod/import.php:135
msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ..."
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Impossible de créer un doublon d'un identifiant de canal. L'import a échoué."
+
+#: ../../mod/import.php:176
+msgid "Channel clone failed. Import failed."
+msgstr "Le clonage du canal a échoué. L'import a échoué."
+
+#: ../../mod/import.php:186
+msgid "Cloned channel not found. Import failed."
+msgstr "Le canal cloné n'a pas été trouvé. L'import a échoué."
+
+#: ../../mod/import.php:574
+msgid "You must be logged in to use this feature."
+msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité."
+
+#: ../../mod/import.php:579
+msgid "Import Channel"
+msgstr "Importation de canal"
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
+#: ../../mod/import.php:580
msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes&nbsp;:"
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import."
+
+#: ../../mod/import.php:581
+msgid "File to Upload"
+msgstr "Fichier à envoyer"
-#: ../../mod/connect.php:90
+#: ../../mod/import.php:582
+msgid "Or provide the old server/hub details"
+msgstr "Ou fournissez les détails de l'ancien serveur"
+
+#: ../../mod/import.php:583
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Votre ancienne identité (zyx@exemple.com)"
+
+#: ../../mod/import.php:584
+msgid "Your old login email address"
+msgstr "Votre ancienne adresse de courriel"
+
+#: ../../mod/import.php:585
+msgid "Your old login password"
+msgstr "Votre ancien mot de passe"
+
+#: ../../mod/import.php:586
msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Les relations potentielles verront ce qui suit avant de pouvoir continuer&nbsp;:"
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Quelle que soit l'option choisie, merci de décider si cette nouvelle adresse sera la primaire, ou si votre ancienne adresse continuera à jouer ce rôle. Vous pourrez publier depuis l'adresse de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
+#: ../../mod/import.php:587
+msgid "Make this hub my primary location"
+msgstr "Faire de ce hub l'adresse principale de ce canal"
+
+#: ../../mod/import.php:588
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "En continuant, je certifie que je me suis acquitté de toutes les instructions indiquées"
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)"
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Aucune instruction spécifique n'a été établie par le propriétaire du canal.)"
+#: ../../mod/import.php:589
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin."
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Canal VIP ou restreint"
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Aucune restriction de classe de service trouvée."
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Groupe introuvable"
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "Limite du nombre total d'invitation dépassée."
-#: ../../mod/network.php:118
-msgid "Search Results For:"
-msgstr "Résultats de recherche pour&nbsp;:"
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s&nbsp: adresse courriel invalide."
-#: ../../mod/network.php:172
-msgid "Collection is empty"
-msgstr "Collection vide"
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr "Rejoignez-nous sur la Matrice Rouge"
-#: ../../mod/network.php:180
-msgid "Collection: "
-msgstr "Collection&nbsp;:"
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."
-#: ../../mod/network.php:193
-msgid "Connection: "
-msgstr "Relation&nbsp;:"
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s&nbsp;: Échec dans la livraison du message."
-#: ../../mod/network.php:196
-msgid "Invalid connection."
-msgstr "Relation invalide."
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d message envoyé."
+msgstr[1] "%d messages envoyés."
-#: ../../mod/connections.php:37 ../../mod/connedit.php:64
-msgid "Could not access contact record."
-msgstr "Impossible d'accéder aux détails du contact."
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr "Vous ne disposez plus d'aucune invitation"
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
-msgid "Could not locate selected profile."
-msgstr "Impossible de localiser le profil sélectionné."
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "Envoyer des invitations"
-#: ../../mod/connections.php:94 ../../mod/connedit.php:132
-msgid "Connection updated."
-msgstr "Connexion mise à jour."
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "Entrez les adresses de courriel, une par ligne&nbsp;:"
-#: ../../mod/connections.php:96 ../../mod/connedit.php:134
-msgid "Failed to update connection record."
-msgstr "Impossible de mettre à jour les détails de la relation."
+#: ../../mod/invite.php:132
+msgid "Please join my community on $Projectname."
+msgstr "Rejoignez ma communauté sur $Projectname."
-#: ../../mod/connections.php:191 ../../mod/connections.php:292
-msgid "Blocked"
-msgstr "Bloqué"
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Vous aurez besoin de fournir le code suivant:"
-#: ../../mod/connections.php:196 ../../mod/connections.php:299
-msgid "Ignored"
-msgstr "Ignoré"
+#: ../../mod/invite.php:135
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)"
-#: ../../mod/connections.php:201 ../../mod/connections.php:313
-msgid "Hidden"
-msgstr "Caché"
+#: ../../mod/invite.php:137
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site."
-#: ../../mod/connections.php:206 ../../mod/connections.php:306
-msgid "Archived"
-msgstr "Archivé"
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "ou visitez"
-#: ../../mod/connections.php:230 ../../mod/connections.php:245
-msgid "All"
-msgstr "Tout"
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Click sur [Ajouter]"
-#: ../../mod/connections.php:270
-msgid "Suggest new connections"
-msgstr "Suggérer de nouvelles relations"
+#: ../../mod/settings.php:76
+msgid "Name is required"
+msgstr "Le nom est requis"
-#: ../../mod/connections.php:273
-msgid "New Connections"
-msgstr "Nouvelles relations"
+#: ../../mod/settings.php:80
+msgid "Key and Secret are required"
+msgstr "Clef et secret sont requis"
-#: ../../mod/connections.php:276
-msgid "Show pending (new) connections"
-msgstr "Voir les (nouvelles) relations en attente"
+#: ../../mod/settings.php:130
+msgid "Diaspora Policy Settings updated."
+msgstr ""
-#: ../../mod/connections.php:282
-msgid "Show all connections"
-msgstr "Voir toutes les relations"
+#: ../../mod/settings.php:238
+msgid "Passwords do not match. Password unchanged."
+msgstr "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé."
-#: ../../mod/connections.php:285
-msgid "Unblocked"
-msgstr "Non bloquées"
+#: ../../mod/settings.php:242
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé."
-#: ../../mod/connections.php:288
-msgid "Only show unblocked connections"
-msgstr "Ne montrer que les relations non-bloquées"
+#: ../../mod/settings.php:256
+msgid "Password changed."
+msgstr "Le mot de passe a été changé."
-#: ../../mod/connections.php:295
-msgid "Only show blocked connections"
-msgstr "Ne montrer que les relations bloquées"
+#: ../../mod/settings.php:258
+msgid "Password update failed. Please try again."
+msgstr "La mise-à-jour du mot de passe a échoué. Merci de recommencer."
-#: ../../mod/connections.php:302
-msgid "Only show ignored connections"
-msgstr "Ne montrer que les relations ignorées"
+#: ../../mod/settings.php:272
+msgid "Not valid email."
+msgstr "Adresse de courriel non-valide."
-#: ../../mod/connections.php:309
-msgid "Only show archived connections"
-msgstr "Ne montrer que les relations archivées"
+#: ../../mod/settings.php:275
+msgid "Protected email address. Cannot change to that email."
+msgstr "Adresse de courriel protégée. Impossible de l'utiliser."
-#: ../../mod/connections.php:316
-msgid "Only show hidden connections"
-msgstr "Ne montrer que les relations cachées"
+#: ../../mod/settings.php:284
+msgid "System failure storing new email. Please try again."
+msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci de ré-essayer."
-#: ../../mod/connections.php:368
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
+#: ../../mod/settings.php:523
+msgid "Settings updated."
+msgstr "Réglages sauvegardés."
-#: ../../mod/connections.php:369
-msgid "Edit contact"
-msgstr "Éditer contact"
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
+#: ../../mod/settings.php:649
+msgid "Add application"
+msgstr "Ajouter une application"
-#: ../../mod/connections.php:390
-msgid "Search your connections"
-msgstr "Chercher parmi vos relations"
+#: ../../mod/settings.php:590
+msgid "Name of application"
+msgstr "Nom de l'application"
-#: ../../mod/connections.php:391
-msgid "Finding: "
-msgstr "Recherche&nbsp;:"
+#: ../../mod/settings.php:591 ../../mod/settings.php:617
+msgid "Consumer Key"
+msgstr "Clef de consommateur"
-#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
-msgid "Edit post"
-msgstr "Éditer la contribution"
+#: ../../mod/settings.php:591 ../../mod/settings.php:592
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères."
-#: ../../mod/connedit.php:181
-msgid "is now connected to"
-msgstr "est maintenant connecté avec"
+#: ../../mod/settings.php:592 ../../mod/settings.php:618
+msgid "Consumer Secret"
+msgstr "Secret de consommateur"
-#: ../../mod/connedit.php:274
-msgid "Could not access address book record."
-msgstr "Impossible d'accéder aux détails du carnet d'adresses."
+#: ../../mod/settings.php:593 ../../mod/settings.php:619
+msgid "Redirect"
+msgstr "Redirection"
-#: ../../mod/connedit.php:288
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Actualisation impossible - le canal est momentanément indisponible."
+#: ../../mod/settings.php:593
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI de redirection - laissez blanc, sauf si l'application a demandé autrement"
-#: ../../mod/connedit.php:295
-msgid "Channel has been unblocked"
-msgstr "Le canal n'est plus bloqué"
+#: ../../mod/settings.php:594 ../../mod/settings.php:620
+msgid "Icon url"
+msgstr "URL de l'icône"
-#: ../../mod/connedit.php:296
-msgid "Channel has been blocked"
-msgstr "Le canal est bloqué"
+#: ../../mod/settings.php:594
+msgid "Optional"
+msgstr "Facultatif"
-#: ../../mod/connedit.php:300 ../../mod/connedit.php:312
-#: ../../mod/connedit.php:324 ../../mod/connedit.php:336
-#: ../../mod/connedit.php:352
-msgid "Unable to set address book parameters."
-msgstr "Impossible de régler les paramètres du carnet d'adresses."
+#: ../../mod/settings.php:605
+msgid "You can't edit this application."
+msgstr "Vous ne pouvez pas éditer cette application."
-#: ../../mod/connedit.php:307
-msgid "Channel has been unignored"
-msgstr "Le canal n'est plus ignoré"
+#: ../../mod/settings.php:648
+msgid "Connected Apps"
+msgstr "Applications connectées"
-#: ../../mod/connedit.php:308
-msgid "Channel has been ignored"
-msgstr "Le canal est ignoré"
+#: ../../mod/settings.php:652
+msgid "Client key starts with"
+msgstr "La clef partagée commence par"
-#: ../../mod/connedit.php:319
-msgid "Channel has been unarchived"
-msgstr "Le canal n'est plus archivé"
+#: ../../mod/settings.php:653
+msgid "No name"
+msgstr "Sans nom"
-#: ../../mod/connedit.php:320
-msgid "Channel has been archived"
-msgstr "Le canal est archivé"
+#: ../../mod/settings.php:654
+msgid "Remove authorization"
+msgstr "Révoquer l'autorisation"
-#: ../../mod/connedit.php:331
-msgid "Channel has been unhidden"
-msgstr "Le canal n'est plus caché"
+#: ../../mod/settings.php:668
+msgid "No feature settings configured"
+msgstr "Pas de fonctionnalité à configurer"
-#: ../../mod/connedit.php:332
-msgid "Channel has been hidden"
-msgstr "Le canal est caché"
+#: ../../mod/settings.php:685
+msgid "Feature/Addon Settings"
+msgstr "Paramètres des extensions/greffons"
-#: ../../mod/connedit.php:347
-msgid "Channel has been approved"
-msgstr "Le canal est approuvé"
+#: ../../mod/settings.php:687
+msgid "Settings for the built-in Diaspora emulator"
+msgstr ""
-#: ../../mod/connedit.php:348
-msgid "Channel has been unapproved"
-msgstr "Le canal n'est plus approuvé"
+#: ../../mod/settings.php:688
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr ""
-#: ../../mod/connedit.php:376
-msgid "Connection has been removed."
-msgstr "La relation a été supprimée"
+#: ../../mod/settings.php:689
+msgid "Enable the Diaspora protocol for this channel"
+msgstr ""
+
+#: ../../mod/settings.php:690
+msgid "Diaspora Policy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:691
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr ""
+
+#: ../../mod/settings.php:715
+msgid "Account Settings"
+msgstr "Compte"
-#: ../../mod/connedit.php:396
+#: ../../mod/settings.php:716
+msgid "Enter New Password:"
+msgstr "Nouveau mot de passe&nbsp;:"
+
+#: ../../mod/settings.php:717
+msgid "Confirm New Password:"
+msgstr "Confirmer le nouveau mot de passe&nbsp;:"
+
+#: ../../mod/settings.php:717
+msgid "Leave password fields blank unless changing"
+msgstr "Laissez les mots de passe vides si vous ne voulez pas les modifier"
+
+#: ../../mod/settings.php:719 ../../mod/settings.php:1057
+msgid "Email Address:"
+msgstr "Adresse de courriel&nbsp;:"
+
+#: ../../mod/settings.php:721
+msgid "Remove this account including all its channels"
+msgstr "Supprimer ce compte et tous ses canaux"
+
+#: ../../mod/settings.php:737
+msgid "Off"
+msgstr "Inactif"
+
+#: ../../mod/settings.php:737
+msgid "On"
+msgstr "Actif"
+
+#: ../../mod/settings.php:744
+msgid "Additional Features"
+msgstr "Fonctionnalités additionnelles"
+
+#: ../../mod/settings.php:768
+msgid "Connector Settings"
+msgstr "Connecteurs"
+
+#: ../../mod/settings.php:807
+msgid "No special theme for mobile devices"
+msgstr "Pas de thème spécifique aux périphériques mobiles"
+
+#: ../../mod/settings.php:810
#, php-format
-msgid "View %s's profile"
-msgstr "Voir le profil de %s"
+msgid "%s - (Experimental)"
+msgstr "%s - (Expérimental)"
-#: ../../mod/connedit.php:400
-msgid "Refresh Permissions"
-msgstr "Actualiser les permissions"
+#: ../../mod/settings.php:849
+msgid "Display Settings"
+msgstr "Affichage"
-#: ../../mod/connedit.php:403
-msgid "Fetch updated permissions"
-msgstr "Récupérer les permissions les plus récentes"
+#: ../../mod/settings.php:850
+msgid "Theme Settings"
+msgstr "Paramètres du thème"
-#: ../../mod/connedit.php:407
-msgid "Recent Activity"
-msgstr "Activité récente"
+#: ../../mod/settings.php:851
+msgid "Custom Theme Settings"
+msgstr "Paramètres personnels du thème"
-#: ../../mod/connedit.php:410
-msgid "View recent posts and comments"
-msgstr "Voir les contributions et commentaires récentes"
+#: ../../mod/settings.php:852
+msgid "Content Settings"
+msgstr "Paramètres liés au contenu"
-#: ../../mod/connedit.php:414 ../../mod/connedit.php:557
-#: ../../mod/admin.php:769
-msgid "Unblock"
-msgstr "Débloquer"
+#: ../../mod/settings.php:858
+msgid "Display Theme:"
+msgstr "Thème&nbsp;:"
-#: ../../mod/connedit.php:414 ../../mod/connedit.php:557
-#: ../../mod/admin.php:768
-msgid "Block"
-msgstr "Bloquer"
+#: ../../mod/settings.php:859
+msgid "Mobile Theme:"
+msgstr "Thème mobile&nbsp;:"
-#: ../../mod/connedit.php:417
-msgid "Block or Unblock this connection"
-msgstr "Bloquer ou Débloquer cette relation"
+#: ../../mod/settings.php:860
+msgid "Enable user zoom on mobile devices"
+msgstr "Permettre à l'usager d'un mobile d'agrandir le contenu"
-#: ../../mod/connedit.php:421 ../../mod/connedit.php:558
-msgid "Unignore"
-msgstr "Ne plus ignorer"
+#: ../../mod/settings.php:861
+msgid "Update browser every xx seconds"
+msgstr "Rafraîchir le navigateur toutes les xx secondes"
-#: ../../mod/connedit.php:421 ../../mod/connedit.php:558
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorer"
+#: ../../mod/settings.php:861
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum 10 secondes, pas de maximum"
-#: ../../mod/connedit.php:424
-msgid "Ignore or Unignore this connection"
-msgstr "Ignorer ou ne plus ignorer cette relation"
+#: ../../mod/settings.php:862
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:"
-#: ../../mod/connedit.php:427
-msgid "Unarchive"
-msgstr "Ne plus archiver"
+#: ../../mod/settings.php:862
+msgid "Maximum of 100 items"
+msgstr "100 éléments au maximum"
-#: ../../mod/connedit.php:427
-msgid "Archive"
-msgstr "Archiver"
+#: ../../mod/settings.php:863
+msgid "Show emoticons (smilies) as images"
+msgstr "Remplacer les émoticônes (smileys) par des images"
-#: ../../mod/connedit.php:430
-msgid "Archive or Unarchive this connection"
-msgstr "Archiver ou ne plus archiver cette relation"
+#: ../../mod/settings.php:864
+msgid "Link post titles to source"
+msgstr "Lier les titres des publications à leur source"
-#: ../../mod/connedit.php:433
-msgid "Unhide"
-msgstr "Ne plus cacher"
+#: ../../mod/settings.php:865
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Agencements des pages système - (avancé)"
-#: ../../mod/connedit.php:433
-msgid "Hide"
-msgstr "Cacher"
+#: ../../mod/settings.php:868
+msgid "Use blog/list mode on channel page"
+msgstr "Utiliser le mode blog/liste sur la page du canal"
-#: ../../mod/connedit.php:436
-msgid "Hide or Unhide this connection"
-msgstr "Cacher ou ne plus cacher cette relation"
+#: ../../mod/settings.php:868 ../../mod/settings.php:869
+msgid "(comments displayed separately)"
+msgstr "(commentaires affichés séparément)"
-#: ../../mod/connedit.php:443
-msgid "Delete this connection"
-msgstr "Supprimer cette relation"
+#: ../../mod/settings.php:869
+msgid "Use blog/list mode on matrix page"
+msgstr "Utiliser le mode blog/liste sur la page de la matrice"
-#: ../../mod/connedit.php:486 ../../mod/connedit.php:515
-msgid "Approve this connection"
-msgstr "Approuver cette relation"
+#: ../../mod/settings.php:870
+msgid "Channel page max height of content (in pixels)"
+msgstr "Hauteur maximale du contenu pour la page du canal (en pixels)"
-#: ../../mod/connedit.php:486
-msgid "Accept connection to allow communication"
-msgstr "Accepter la relation pour permettre la communication"
+#: ../../mod/settings.php:870 ../../mod/settings.php:871
+msgid "click to expand content exceeding this height"
+msgstr "cliquer pour dérouler le contenu dépassant cette limite"
-#: ../../mod/connedit.php:502
-msgid "Automatic Permissions Settings"
-msgstr "Permissions automatiques"
+#: ../../mod/settings.php:871
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Hauteur maximale du contenu pour la page du réseau (en pixels)"
-#: ../../mod/connedit.php:502
-#, php-format
-msgid "Connections: settings for %s"
-msgstr "Relations&nbsp;: réglages pour %s"
+#: ../../mod/settings.php:905
+msgid "Nobody except yourself"
+msgstr "Personne sauf vous"
+
+#: ../../mod/settings.php:906
+msgid "Only those you specifically allow"
+msgstr "Seulement ceux que vous autorisez spécifiquement"
+
+#: ../../mod/settings.php:907
+msgid "Approved connections"
+msgstr "Contacts Approuvés"
+
+#: ../../mod/settings.php:908
+msgid "Any connections"
+msgstr "Tous les contacts"
+
+#: ../../mod/settings.php:909
+msgid "Anybody on this website"
+msgstr "Tous les utilisateurs du hub"
+
+#: ../../mod/settings.php:910
+msgid "Anybody in this network"
+msgstr "Tous les utilisateurs sur ce réseau"
+
+#: ../../mod/settings.php:911
+msgid "Anybody authenticated"
+msgstr "Tous les utilisateurs authentifiés"
+
+#: ../../mod/settings.php:912
+msgid "Anybody on the internet"
+msgstr "Tous les utilisateurs d'Internet"
+
+#: ../../mod/settings.php:986
+msgid "Publish your default profile in the network directory"
+msgstr "Publier votre profil par défaut dans l'annuaire du réseau"
+
+#: ../../mod/settings.php:991
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Nous autoriser à vous suggérer comme relation potentielle aux nouveaux membres?"
+
+#: ../../mod/settings.php:1000
+msgid "Your channel address is"
+msgstr "Voici l'adresse de votre canal"
+
+#: ../../mod/settings.php:1048
+msgid "Channel Settings"
+msgstr "Canal"
+
+#: ../../mod/settings.php:1055
+msgid "Basic Settings"
+msgstr "Basique"
-#: ../../mod/connedit.php:506
+#: ../../mod/settings.php:1058
+msgid "Your Timezone:"
+msgstr "Fureau Horaire&nbsp;:"
+
+#: ../../mod/settings.php:1059
+msgid "Default Post Location:"
+msgstr "Emplacement géographique par défaut&nbsp;:"
+
+#: ../../mod/settings.php:1059
+msgid "Geographical location to display on your posts"
+msgstr "Emplacement géographique à afficher sur vos publications"
+
+#: ../../mod/settings.php:1060
+msgid "Use Browser Location:"
+msgstr "Utiliser la géolocalisation fournie par le navigateur&nbsp;:"
+
+#: ../../mod/settings.php:1062
+msgid "Adult Content"
+msgstr "Contenu \"adulte\""
+
+#: ../../mod/settings.php:1062
msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "Pour chaque introduction reçue, toutes les permissions définies ici seront appliquées aux nouvelles relations automatiquement, et l'introduction sera approuvée. Laissez cette page telle quelle si vous ne souhaitez pas utiliser ce mécanisme."
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)"
-#: ../../mod/connedit.php:508
-msgid "Slide to adjust your degree of friendship"
-msgstr "Faites glisser pour ajuster le niveau de la relation"
+#: ../../mod/settings.php:1064
+msgid "Security and Privacy Settings"
+msgstr "Réglages de Sécurité et vie privée"
-#: ../../mod/connedit.php:514
-msgid "inherited"
-msgstr "héritée"
+#: ../../mod/settings.php:1066
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster"
-#: ../../mod/connedit.php:516
-msgid "Connection has no individual permissions!"
-msgstr "Cette relation n'a aucune permission spécifique!"
+#: ../../mod/settings.php:1068
+msgid "Hide my online presence"
+msgstr "Cacher ma présence en ligne"
-#: ../../mod/connedit.php:517
+#: ../../mod/settings.php:1068
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Cacher votre statut (en ligne/hors ligne) sur votre profil"
+
+#: ../../mod/settings.php:1070
+msgid "Simple Privacy Settings:"
+msgstr "Réglages simples&nbsp;:"
+
+#: ../../mod/settings.php:1071
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>"
+
+#: ../../mod/settings.php:1072
msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy "
-"settings</a>, though you may wish to review the \"Advanced Permissions\"."
-msgstr "Ceci devrait correspondre à vos <a href=\"settings\">réglages de vie privée</a>, mais vous pouvez toujours contrôler les \"Permissions avancées\"."
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable dans le principe aux réseaux sociaux centralisés, avec un mode privé plus efficace)</em>"
+
+#: ../../mod/settings.php:1073
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privé - <em>privé par défaut, jamais ouvert ni public</em>"
-#: ../../mod/connedit.php:519
-msgid "Profile Visibility"
-msgstr "Visibilité du profil"
+#: ../../mod/settings.php:1074
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>"
-#: ../../mod/connedit.php:520
-#, php-format
+#: ../../mod/settings.php:1076
+msgid "Allow others to tag your posts"
+msgstr "Autoriser les autres à \"étiqueté\" vos publications"
+
+#: ../../mod/settings.php:1076
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Souvent utilisé par la communauté pour distinguer le contenu innaproprié"
-#: ../../mod/connedit.php:521
-msgid "Contact Information / Notes"
-msgstr "Notes / Information de contact"
+#: ../../mod/settings.php:1078
+msgid "Advanced Privacy Settings"
+msgstr "Réglages avancés"
-#: ../../mod/connedit.php:522
-msgid "Edit contact notes"
-msgstr "Éditer les notes du contact"
+#: ../../mod/settings.php:1080
+msgid "Expire other channel content after this many days"
+msgstr "Faire expirer le contenu des autres canaux après n jours"
-#: ../../mod/connedit.php:524
-msgid "Their Settings"
-msgstr "Ses réglages"
+#: ../../mod/settings.php:1080
+msgid "0 or blank prevents expiration"
+msgstr "0, ou vide, pour ne pas faire expirer"
-#: ../../mod/connedit.php:525
-msgid "My Settings"
-msgstr "Mes réglages"
+#: ../../mod/settings.php:1081
+msgid "Maximum Friend Requests/Day:"
+msgstr "Nombre maximum de mises en relation par jour&nbsp;:"
-#: ../../mod/connedit.php:527
-msgid "Clear/Disable Automatic Permissions"
-msgstr "Effacer/Désactiver les Permissions Automatiques"
+#: ../../mod/settings.php:1081
+msgid "May reduce spam activity"
+msgstr "Contribue à réduire l'impact des indésirables"
-#: ../../mod/connedit.php:528
-msgid "Forum Members"
-msgstr "Membres du forum"
+#: ../../mod/settings.php:1082
+msgid "Default Post Permissions"
+msgstr "Permissions par défaut des publications"
-#: ../../mod/connedit.php:529
-msgid "Soapbox"
-msgstr "Blogue"
+#: ../../mod/settings.php:1083 ../../mod/mitem.php:155 ../../mod/mitem.php:227
+msgid "(click to open/close)"
+msgstr "(cliquer pour ouvrir/fermer)"
-#: ../../mod/connedit.php:530
-msgid "Full Sharing (typical social network permissions)"
-msgstr "Partage Complet (fonctionnement habituel des réseaux sociaux)"
+#: ../../mod/settings.php:1087
+msgid "Channel permissions category:"
+msgstr "Catégorie de permissions du canal&nbsp;:"
-#: ../../mod/connedit.php:531
-msgid "Cautious Sharing "
-msgstr "Partage modéré"
+#: ../../mod/settings.php:1093
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:"
-#: ../../mod/connedit.php:532
-msgid "Follow Only"
-msgstr "Suivre uniquement"
+#: ../../mod/settings.php:1093
+msgid "Useful to reduce spamming"
+msgstr "Utile pour réduire les indésirables"
-#: ../../mod/connedit.php:533
-msgid "Individual Permissions"
-msgstr "Permissions spécifiques"
+#: ../../mod/settings.php:1096
+msgid "Notification Settings"
+msgstr "Notifications"
-#: ../../mod/connedit.php:534
-msgid ""
-"Some permissions may be inherited from your channel <a "
-"href=\"settings\">privacy settings</a>, which have higher priority than "
-"individual settings. Changing those inherited settings on this page will "
-"have no effect."
-msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">réglages de vie privée</a>, lesquels sont prioritaires sur les réglages spécifiques. Changer ces permissions héritées sur la présente page n'aura aucun effet."
+#: ../../mod/settings.php:1097
+msgid "By default post a status message when:"
+msgstr "Par défaut, publier un statut quand:"
-#: ../../mod/connedit.php:535
-msgid "Advanced Permissions"
-msgstr "Permissions avancées"
+#: ../../mod/settings.php:1098
+msgid "accepting a friend request"
+msgstr "vous acceptez une mise en relation"
-#: ../../mod/connedit.php:536
-msgid "Simple Permissions (select one and submit)"
-msgstr "Permissions simples (en choisir une, puis valider)"
+#: ../../mod/settings.php:1099
+msgid "joining a forum/community"
+msgstr "vous joignez un forum ou à une communauté"
-#: ../../mod/connedit.php:540
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "Visiter le profil de %s - %s"
+#: ../../mod/settings.php:1100
+msgid "making an <em>interesting</em> profile change"
+msgstr "vous faites une modification <em>intéressante</em> de votre profil"
-#: ../../mod/connedit.php:541
-msgid "Block/Unblock contact"
-msgstr "Bloquer/Débloquer le contact"
+#: ../../mod/settings.php:1101
+msgid "Send a notification email when:"
+msgstr "Envoyer un courriel de notification quand&nbsp;:"
-#: ../../mod/connedit.php:542
-msgid "Ignore contact"
-msgstr "Ignorer le contact"
+#: ../../mod/settings.php:1102
+msgid "You receive a connection request"
+msgstr "Vous recevez une demande de mise en relation"
-#: ../../mod/connedit.php:543
-msgid "Repair URL settings"
-msgstr "Réparer les réglages d'URL"
+#: ../../mod/settings.php:1103
+msgid "Your connections are confirmed"
+msgstr "Vous relations sont confirmées"
-#: ../../mod/connedit.php:544
-msgid "View conversations"
-msgstr "Voir les conversations"
+#: ../../mod/settings.php:1104
+msgid "Someone writes on your profile wall"
+msgstr "Quelqu'un a écrit sur votre mur"
-#: ../../mod/connedit.php:546
-msgid "Delete contact"
-msgstr "Supprimer le contact"
+#: ../../mod/settings.php:1105
+msgid "Someone writes a followup comment"
+msgstr "Quelqu'un a commenté sur vos publications"
-#: ../../mod/connedit.php:549
-msgid "Last update:"
-msgstr "Dernière mise à jour&nbsp;:"
+#: ../../mod/settings.php:1106
+msgid "You receive a private message"
+msgstr "Vous recevez un message privé"
-#: ../../mod/connedit.php:551
-msgid "Update public posts"
-msgstr "Mettre à jour les publications"
+#: ../../mod/settings.php:1107
+msgid "You receive a friend suggestion"
+msgstr "Vous recevez une suggestion d'amitié/relation"
-#: ../../mod/connedit.php:553
-msgid "Update now"
-msgstr "Mettre à jour maintenant"
+#: ../../mod/settings.php:1108
+msgid "You are tagged in a post"
+msgstr "Vous êtes étiqueté dans une publication"
-#: ../../mod/connedit.php:559
-msgid "Currently blocked"
-msgstr "Actuellement bloqué"
+#: ../../mod/settings.php:1109
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Vous êtes cogné/pointé/etc. dans une publication"
-#: ../../mod/connedit.php:560
-msgid "Currently ignored"
-msgstr "Actuellement ignoré"
+#: ../../mod/settings.php:1112
+msgid "Show visual notifications including:"
+msgstr "Afficher des notifications visuelles y compris&nbsp;:"
-#: ../../mod/connedit.php:561
-msgid "Currently archived"
-msgstr "Actuellement archivé"
+#: ../../mod/settings.php:1114
+msgid "Unseen matrix activity"
+msgstr "Activité non-vue sur la matrice"
-#: ../../mod/connedit.php:562
-msgid "Currently pending"
-msgstr "Actuellement en attente"
+#: ../../mod/settings.php:1115
+msgid "Unseen channel activity"
+msgstr "Activité non-vue sur le canal"
-#: ../../mod/connedit.php:563
-msgid "Hide this contact from others"
-msgstr "Dissimuler ce contact aux autres"
+#: ../../mod/settings.php:1116
+msgid "Unseen private messages"
+msgstr "Messages privés non-vus"
-#: ../../mod/connedit.php:563
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Les réponses et autres réactions à vos contributions publiques <strong>pourraient</strong> être toujours visibles"
+#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
+#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
+msgid "Recommended"
+msgstr "Recommandé"
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Aucun délégué potentiel n'a été trouvé pour cette page."
+#: ../../mod/settings.php:1117
+msgid "Upcoming events"
+msgstr "Événements à venir"
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Gestion des délégués de la page"
+#: ../../mod/settings.php:1118
+msgid "Events today"
+msgstr "Événements aujourd'hui"
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Les délégués sont capables de gérer tous les aspects de ce compte ou de cette page, à l'exception des réglages basiques du compte. Merci de ne déléguer votre compte personnel qu'à quelqu'un en qui vous avez une confiance aveugle."
+#: ../../mod/settings.php:1119
+msgid "Upcoming birthdays"
+msgstr "Anniversaires à venir"
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Actuels gestionnaires de pages"
+#: ../../mod/settings.php:1119
+msgid "Not available in all themes"
+msgstr "Pas disponible dans tous les thèmes"
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Actuels délégués"
+#: ../../mod/settings.php:1120
+msgid "System (personal) notifications"
+msgstr "Notifications système (personnelles)"
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Délégués potentiels"
+#: ../../mod/settings.php:1121
+msgid "System info messages"
+msgstr "Messages d'info système"
-#: ../../mod/delegate.php:130 ../../mod/photos.php:912 ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Retirer"
+#: ../../mod/settings.php:1122
+msgid "System critical alerts"
+msgstr "Alertes critiques systèmes"
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Ajouter"
+#: ../../mod/settings.php:1123
+msgid "New connections"
+msgstr "Nouvelles relations"
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Aucune entrée."
+#: ../../mod/settings.php:1124
+msgid "System Registrations"
+msgstr "Inscriptions systèmes"
-#: ../../mod/search.php:13 ../../mod/directory.php:15
-#: ../../mod/dirprofile.php:9 ../../mod/display.php:9 ../../mod/photos.php:443
-#: ../../mod/viewconnections.php:17
-msgid "Public access denied."
-msgstr "Accès public refusé."
+#: ../../mod/settings.php:1125
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Montrer également les nouvelles publications sur mur, messages privés et relations dans Notices"
-#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
-msgid "Gender: "
-msgstr "Sexe/genre&nbsp;:"
+#: ../../mod/settings.php:1127
+msgid "Notify me of events this many days in advance"
+msgstr "Me prévenir d’événements à venir tant de jours en avance"
-#: ../../mod/directory.php:223
-msgid "Finding:"
-msgstr "Recherche&nbsp;:"
+#: ../../mod/settings.php:1127
+msgid "Must be greater than 0"
+msgstr "Doit être supérieur à 0"
-#: ../../mod/directory.php:239
-msgid "No entries (some entries may be hidden)."
-msgstr "Pas d'entrées (certaines peuvent être cachées)."
+#: ../../mod/settings.php:1129
+msgid "Advanced Account/Page Type Settings"
+msgstr "Type de page/Compte (avancé)"
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
-msgstr "État&nbsp;:"
+#: ../../mod/settings.php:1130
+msgid "Change the behaviour of this account for special situations"
+msgstr "Modifie le comportement de ce compte pour certains cas particuliers"
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
-msgstr "Orientation sexuelle&nbsp;:"
+#: ../../mod/settings.php:1133
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Mode expert requis (<a href=\"settings/features\">Réglages > Fonctions supplémentaires</a>) svp ajuster!"
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
-msgstr "Site web&nbsp;:"
+#: ../../mod/settings.php:1134
+msgid "Miscellaneous Settings"
+msgstr "Divers"
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
-msgstr "Ville natale&nbsp;:"
+#: ../../mod/settings.php:1136
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu personnel tel qu'il apparaîtra sur les pages de votre canal"
-#: ../../mod/dirprofile.php:114
-msgid "About: "
-msgstr "À propos&nbsp;:"
+#: ../../mod/settings.php:1138
+msgid "Remove this channel."
+msgstr "Supprimer ce canal"
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
-msgstr "Mots-clefs&nbsp;:"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Impossible de localiser la publication initiale."
-#: ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Ce site n'est pas un serveur d'annuaire"
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
+msgstr "Publication vide annulée."
-#: ../../mod/home.php:81
-msgid "Hubzilla - &quot;The Network&quot;"
-msgstr "La Matrice Rouge - &quot;LE Réseau&quot;"
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
+msgstr "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal."
-#: ../../mod/home.php:94
+#: ../../mod/item.php:914
+msgid "System error. Post not saved."
+msgstr "Erreur système. Publication non sauvegardée."
+
+#: ../../mod/item.php:1146
+msgid "Unable to obtain post information from database."
+msgstr "Impossible d'obtenir les informations de publication depuis la base de données."
+
+#: ../../mod/item.php:1153
#, php-format
-msgid "Welcome to %s"
-msgstr "Bienvenue sur %s"
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racine\"."
+
+#: ../../mod/item.php:1160
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Vous avez atteint votre limite de %1$.0f pages web."
-#: ../../mod/setup.php:162
-msgid "Hubzilla Server - Setup"
-msgstr "Serveur de la Matrice Rouge - Configuration"
+#: ../../mod/setup.php:187
+msgid "$Projectname Server - Setup"
+msgstr "Serveur $Projectname - configuration"
-#: ../../mod/setup.php:168
+#: ../../mod/setup.php:191
msgid "Could not connect to database."
msgstr "Impossible de se connecter à la base de données."
-#: ../../mod/setup.php:172
+#: ../../mod/setup.php:195
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Impossible de se connecter au site par l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS."
-#: ../../mod/setup.php:179
+#: ../../mod/setup.php:202
msgid "Could not create table."
msgstr "Impossible de créer la table."
-#: ../../mod/setup.php:185
+#: ../../mod/setup.php:207
msgid "Your site database has been installed."
msgstr "La base de données de votre site a été installée."
-#: ../../mod/setup.php:190
+#: ../../mod/setup.php:211
msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/database.sql\" manuellement via phpmyadmin ou mysql."
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)."
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
+#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Merci de consulter le fichier \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:257
+#: ../../mod/setup.php:277
msgid "System check"
msgstr "Vérification du système"
-#: ../../mod/setup.php:261 ../../mod/events.php:399
-msgid "Next"
-msgstr "Suivant"
-
-#: ../../mod/setup.php:262
+#: ../../mod/setup.php:282
msgid "Check again"
msgstr "Re-vérifier"
-#: ../../mod/setup.php:284
+#: ../../mod/setup.php:304
msgid "Database connection"
msgstr "Connexion à la base de données"
-#: ../../mod/setup.php:285
+#: ../../mod/setup.php:305
msgid ""
-"In order to install Hubzilla we need to know how to connect to your "
+"In order to install $Projectname we need to know how to connect to your "
"database."
-msgstr "Pour installer la Matrice Rouge, nous avons besoin de savoir comment contacter votre base de données."
+msgstr "Pour installer $Projectname, nous avons besoin de savoir comment se connecter à votre base de données."
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:306
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Merci de contacter votre prestataire d'hébergement ou votre administrateur système si vous avez des doutes à propos de ces paramètres."
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:307
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer."
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:311
msgid "Database Server Name"
msgstr "Nom du serveur de la base de données"
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:311
msgid "Default is localhost"
msgstr "Par défaut, localhost"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:312
msgid "Database Port"
msgstr "Port du serveur"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:312
msgid "Communication port number - use 0 for default"
msgstr "Numéro TCP du port - utilisez 0 pour la valeur par défaut"
-#: ../../mod/setup.php:293
+#: ../../mod/setup.php:313
msgid "Database Login Name"
msgstr "Identifiant de connexion à la Base de Données"
-#: ../../mod/setup.php:294
+#: ../../mod/setup.php:314
msgid "Database Login Password"
msgstr "Mot de passe de connexion à la Base de Données"
-#: ../../mod/setup.php:295
+#: ../../mod/setup.php:315
msgid "Database Name"
msgstr "Nom de la Base de Données"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:316
+msgid "Database Type"
+msgstr "Type de base de données"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
msgid "Site administrator email address"
msgstr "Adresse de courriel de l'administrateur du site"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web."
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
msgid "Website URL"
msgstr "URL du site"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
msgid "Please use SSL (https) URL if available."
msgstr "Merci d'utiliser SSL/TLS (https) autant que possible."
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
+#: ../../mod/setup.php:321 ../../mod/setup.php:363
msgid "Please select a default timezone for your website"
msgstr "Merci de choisir une zone de temps (fuseau horaire) pour votre site"
-#: ../../mod/setup.php:328
+#: ../../mod/setup.php:348
msgid "Site settings"
msgstr "Réglages du site"
-#: ../../mod/setup.php:387
+#: ../../mod/setup.php:413
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur web."
-#: ../../mod/setup.php:388
+#: ../../mod/setup.php:414
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
-msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise à jour en arrière-plan via cron."
+msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise-à-jour en arrière-plan via cron."
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:418
msgid "PHP executable path"
msgstr "Chemin vers l'éxecutable PHP"
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:418
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans."
-#: ../../mod/setup.php:397
+#: ../../mod/setup.php:423
msgid "Command line PHP"
msgstr "PHP en ligne de commande (CLI)"
-#: ../../mod/setup.php:406
+#: ../../mod/setup.php:432
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée."
-#: ../../mod/setup.php:407
+#: ../../mod/setup.php:433
msgid "This is required for message delivery to work."
msgstr "Elle est nécessaire pour la livraison de messages."
-#: ../../mod/setup.php:409
+#: ../../mod/setup.php:436
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:430
+#: ../../mod/setup.php:454
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois."
+
+#: ../../mod/setup.php:459
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Vous pouvez ajuster ces paramètres dans le php.ini du serveur."
+
+#: ../../mod/setup.php:461
+msgid "PHP upload limits"
+msgstr "Limites de téléversement de PHP"
+
+#: ../../mod/setup.php:484
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Erreur&nbsp;: la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement"
-#: ../../mod/setup.php:431
+#: ../../mod/setup.php:485
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"."
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:488
msgid "Generate encryption keys"
msgstr "Générer les clefs de chiffrement"
-#: ../../mod/setup.php:440
+#: ../../mod/setup.php:500
msgid "libCurl PHP module"
msgstr "module PHP libCurl"
-#: ../../mod/setup.php:441
+#: ../../mod/setup.php:501
msgid "GD graphics PHP module"
msgstr "module PHP GD graphics"
-#: ../../mod/setup.php:442
+#: ../../mod/setup.php:502
msgid "OpenSSL PHP module"
msgstr "module PHP OpenSSL"
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "module PHP mysqli"
+#: ../../mod/setup.php:503
+msgid "mysqli or postgres PHP module"
+msgstr "module PHP postgres ou mysqli"
-#: ../../mod/setup.php:444
+#: ../../mod/setup.php:504
msgid "mb_string PHP module"
msgstr "module PHP mb_string"
-#: ../../mod/setup.php:445
+#: ../../mod/setup.php:505
msgid "mcrypt PHP module"
msgstr "module PHP mcrypt"
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
+#: ../../mod/setup.php:506
+msgid "xml PHP module"
+msgstr "module PHP xml"
+
+#: ../../mod/setup.php:510 ../../mod/setup.php:512
msgid "Apache mod_rewrite module"
msgstr "module Apache mod_rewrite"
-#: ../../mod/setup.php:450
+#: ../../mod/setup.php:510
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Erreur&nbsp;: le module mod-rewrite du serveur web Apache est requis, mais pas installé."
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
+#: ../../mod/setup.php:516 ../../mod/setup.php:519
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:456
+#: ../../mod/setup.php:516
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Erreur&nbsp;: proc_open est requis, mais soit n'est pas installé, soit est désactivé dans le php.ini"
-#: ../../mod/setup.php:464
+#: ../../mod/setup.php:524
msgid "Error: libCURL PHP module required but not installed."
msgstr "Erreur&nbsp;: le module libCURL de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:468
+#: ../../mod/setup.php:528
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Erreur&nbsp;: le module GD de PHP (avec support JPEG) est requis, mais pas installé."
-#: ../../mod/setup.php:472
+#: ../../mod/setup.php:532
msgid "Error: openssl PHP module required but not installed."
msgstr "Erreur&nbsp;: le module openssl de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Erreur&nbsp;: le module mysqli de PHP est requis, mais pas installé."
+#: ../../mod/setup.php:536
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Erreur&nbsp;: un module PHP mysqli ou postgres est requis, mais aucun des deux n'est installé."
-#: ../../mod/setup.php:480
+#: ../../mod/setup.php:540
msgid "Error: mb_string PHP module required but not installed."
msgstr "Erreur&nbsp;: le module mb_string de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:484
+#: ../../mod/setup.php:544
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Erreur&nbsp;: le module mcrypt de PHP est requis, mais pas installé."
-#: ../../mod/setup.php:500
+#: ../../mod/setup.php:548
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Erreur&nbsp;: le module xml de PHP est requis pour le DAV, mais pas installé."
+
+#: ../../mod/setup.php:566
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable."
-#: ../../mod/setup.php:501
+#: ../../mod/setup.php:567
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."
-#: ../../mod/setup.php:502
+#: ../../mod/setup.php:568
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de La Matrice Rouge."
-#: ../../mod/setup.php:503
+#: ../../mod/setup.php:569
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées."
-#: ../../mod/setup.php:506
+#: ../../mod/setup.php:572
msgid ".htconfig.php is writable"
msgstr "Le fichier .htconfig.php est accessible en écriture"
-#: ../../mod/setup.php:516
+#: ../../mod/setup.php:586
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "La Matrice Rouge utilise le moteur de template Smarty3 pour mettre son contenu en forme. Smarty3 compile ses modèles vers du PHP natif pour accélérer le rendu."
-#: ../../mod/setup.php:517
+#: ../../mod/setup.php:587
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the Red top level folder."
msgstr "Pour utiliser ces modèles, le serveur doit avoir le droits d'écrire dans le dossier %s."
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
+#: ../../mod/setup.php:588 ../../mod/setup.php:609
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire."
-#: ../../mod/setup.php:519
+#: ../../mod/setup.php:589
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture sur %s au serveur web uniquement. Éviter de définir les permissions sur les fichiers individuels (.tpl)."
-#: ../../mod/setup.php:522
+#: ../../mod/setup.php:592
#, php-format
msgid "%s is writable"
msgstr "Permission d'écriture sur %s activée"
-#: ../../mod/setup.php:535
+#: ../../mod/setup.php:608
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "Red utilise le répertoire 'store' - situé à la racine de votre installation de la Matrice Rouge - pour sauvegarder les fichiers envoyés. Le serveur web aura donc besoin de pouvoir y écrire."
-#: ../../mod/setup.php:539
+#: ../../mod/setup.php:612
msgid "store is writable"
msgstr "'store' est accessible en écriture"
-#: ../../mod/setup.php:569
+#: ../../mod/setup.php:645
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site."
-#: ../../mod/setup.php:570
+#: ../../mod/setup.php:646
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Si votre serveur supporte les connections encryptées SSL ou s'il permet les connections sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé!"
-#: ../../mod/setup.php:571
+#: ../../mod/setup.php:647
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence à des images sur votre propre hub."
-#: ../../mod/setup.php:572
+#: ../../mod/setup.php:648
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Si votre certificat n'est pas reconnu, les membres des autres sites (avec certificats valides) recevront des messages d'avertissement sur leur propre sites."
-#: ../../mod/setup.php:573
+#: ../../mod/setup.php:649
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Pour des raisons de compatibilité (sur l'ensemble de la matrice) nous nous devons d'insister sur ce prérequis."
-#: ../../mod/setup.php:574
+#: ../../mod/setup.php:650
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Il existe une plusieurs autorités de certification qui vous fourniront gratuitement un certificat valide."
-#: ../../mod/setup.php:576
+#: ../../mod/setup.php:652
msgid "SSL certificate validation"
msgstr "Validation du certificat SSL/TLS"
-#: ../../mod/setup.php:582
+#: ../../mod/setup.php:658
msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Merci de vérifier la configuration de votre serveur web."
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pase. Vérifiez votre configuration serveur. Test&nbsp;:"
-#: ../../mod/setup.php:584
+#: ../../mod/setup.php:661
msgid "Url rewrite is working"
msgstr "La réécriture d'URL fonctionne"
-#: ../../mod/setup.php:594
+#: ../../mod/setup.php:670
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web."
-#: ../../mod/setup.php:618
+#: ../../mod/setup.php:694
msgid "Errors encountered creating database tables."
msgstr "Erreurs rencontrées pendant la création de tables de BD."
-#: ../../mod/setup.php:653
+#: ../../mod/setup.php:728
msgid "<h1>What next</h1>"
msgstr "<h1>Et maintenant</h1>"
-#: ../../mod/setup.php:654
+#: ../../mod/setup.php:729
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
-msgstr "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour."
+msgstr "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises-à-jour."
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-msgid "Item not found"
-msgstr "Élément introuvable"
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
+msgstr "Aide sur le langage de description de page Comanche"
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Éditer bloc"
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
+msgstr "Description de la mise en page"
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Supprimer le bloc?"
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
+msgstr "Télécharger le fichier PDL"
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
-msgstr "Insérer une vidéo YouTube"
+#: ../../mod/sharedwithme.php:94
+msgid "Files: shared with me"
+msgstr "Fichiers&nbsp;: partagés avec moi"
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Insérer une vidéo Vorbis [.ogg]"
+#: ../../mod/sharedwithme.php:96
+msgid "NEW"
+msgstr "NOUVEAU"
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Insérer un son Vorbis [.ogg]"
+#: ../../mod/sharedwithme.php:99
+msgid "Remove all files"
+msgstr "Supprimer tous les fichiers"
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Supprimer le bloc"
+#: ../../mod/sharedwithme.php:100
+msgid "Remove this file"
+msgstr "Supprimer ce fichier"
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Agencement pris-en-compte."
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "J'aime/Je Déteste"
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Éditer la description"
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Cette action est réservée aux membres."
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Agencement introuvable."
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de $Projectname </a> ou <a href=\"register\">inscrivez vous pour un nouveau $Projectname </a> pour continuer."
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nom du module&nbsp;:"
+#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+msgid "Invalid request."
+msgstr "Requête invalide."
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Aide à la mise en page"
+#: ../../mod/like.php:143
+msgid "thing"
+msgstr "chose"
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Éditer mise-en-page"
+#: ../../mod/like.php:189
+msgid "Channel unavailable."
+msgstr "Canal indisponible."
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Supprimer la mise-en-page?"
+#: ../../mod/like.php:231
+msgid "Previous action reversed."
+msgstr "Action précédente annulée."
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Supprimer mise-en-page"
+#: ../../mod/like.php:401
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s approuve %3$s de %2$s"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Élément non-éditable"
+#: ../../mod/like.php:403
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s n'est pas d'accord avec %2$s's %3$s"
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Supprimer l'élément?"
+#: ../../mod/like.php:405
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s s'abstient de toute décision sur le %3$s de %2$s"
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Éditer page web"
+#: ../../mod/like.php:407
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s participe en ce moment à %3$s de %2$s"
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Supprimer la page web?"
+#: ../../mod/like.php:409
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s ne participe pas à %3$s de %2$s"
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
-msgstr "Supprimer page web"
+#: ../../mod/like.php:411
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s participe peut-être à %3$s de %2$s"
+
+#: ../../mod/like.php:507
+msgid "Action completed."
+msgstr "Action complétée."
+
+#: ../../mod/like.php:508
+msgid "Thank you."
+msgstr "Merci."
-#: ../../mod/siteinfo.php:57
+#: ../../mod/siteinfo.php:112
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../mod/siteinfo.php:76
+#: ../../mod/siteinfo.php:133
msgid "Installed plugins/addons/apps:"
msgstr "Extensions/applications installées&nbsp;:"
-#: ../../mod/siteinfo.php:89
+#: ../../mod/siteinfo.php:146
msgid "No installed plugins/addons/apps"
msgstr "Aucune extension/application installée"
-#: ../../mod/siteinfo.php:97
-msgid "Red"
-msgstr "Rouge"
-
-#: ../../mod/siteinfo.php:98
+#: ../../mod/siteinfo.php:156
msgid ""
-"This is a hub of the Hubzilla - a global cooperative network of "
+"This is a hub of $Projectname - a global cooperative network of "
"decentralized privacy enhanced websites."
-msgstr "Ceci est un serveur de la Matrice Rouge - un réseau collaboratif de plusieurs serveurs qui assurent la protection de votre vie privée notamment par la décentralisation de votre identité."
+msgstr "Ceci est un serveur $Projectname - un réseau collaboratif mondial de serveurs décentralisés à la confidentialité améliorée."
-#: ../../mod/siteinfo.php:101
+#: ../../mod/siteinfo.php:158
+msgid "Tag: "
+msgstr "Tag:"
+
+#: ../../mod/siteinfo.php:160
+msgid "Last background fetch: "
+msgstr "Dernière récupération en tâche de fond&nbsp;:"
+
+#: ../../mod/siteinfo.php:163
msgid "Running at web location"
msgstr "Installée sur"
-#: ../../mod/siteinfo.php:102
+#: ../../mod/siteinfo.php:164
msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Hubzilla."
-msgstr "Merci de visiter <a href=\"http://getzot.com\">GetZot.com</a> pour en apprendre davantage sur la Matrice Rouge."
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Merci de visiter <a href=\"http://hubzilla.org\">hubzilla.org</a> pour en apprendre davantage sur $Projectname."
-#: ../../mod/siteinfo.php:103
+#: ../../mod/siteinfo.php:165
msgid "Bug reports and issues: please visit"
msgstr "Pour remonter bogues et problèmes, merci de visiter"
-#: ../../mod/siteinfo.php:106
+#: ../../mod/siteinfo.php:167
+msgid "$projectname issues"
+msgstr "Problèmes $projectname"
+
+#: ../../mod/siteinfo.php:168
msgid ""
-"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
-msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"hubzilla\" à librelist - point com"
+msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com"
-#: ../../mod/siteinfo.php:108
+#: ../../mod/siteinfo.php:170
msgid "Site Administrators"
msgstr "Administrateurs du site"
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Impossible d'obtenir des informations sur le propriétaire de la page."
-
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Album introuvable."
-
-#: ../../mod/photos.php:119 ../../mod/photos.php:675
-msgid "Delete Album"
-msgstr "Supprimer album"
-
-#: ../../mod/photos.php:159 ../../mod/photos.php:963
-msgid "Delete Photo"
-msgstr "Supprimer photo"
-
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Aucune photo selectionnée"
-
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "L'accès à l'élément est restreint."
-
-#: ../../mod/photos.php:574
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."
-
-#: ../../mod/photos.php:577
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Vous avez utilisé %1$.2f mégaoctets pour le stockage des photos."
-
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
-msgstr "Téléverser des photos"
-
-#: ../../mod/photos.php:600 ../../mod/photos.php:670
-msgid "New album name: "
-msgstr "Créer un album&nbsp;:"
-
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
-msgstr "ou choisir un album existant&nbsp;:"
-
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
-msgstr "Ne pas publier de statut pour cet envoi"
-
-#: ../../mod/photos.php:622
-msgid "Album name could not be decoded"
-msgstr "Le nom de l'Album n'a pu être décodé"
-
-#: ../../mod/photos.php:659 ../../mod/photos.php:681 ../../mod/photos.php:1135
-#: ../../mod/photos.php:1150
-msgid "Contact Photos"
-msgstr "Photos de contact"
-
-#: ../../mod/photos.php:685
-msgid "Edit Album"
-msgstr "Éditer l'album"
-
-#: ../../mod/photos.php:691
-msgid "Show Newest First"
-msgstr "Ordre anté-chronologique"
-
-#: ../../mod/photos.php:693
-msgid "Show Oldest First"
-msgstr "Ordre chronologique"
-
-#: ../../mod/photos.php:736 ../../mod/photos.php:1182
-msgid "View Photo"
-msgstr "Voir la photo"
-
-#: ../../mod/photos.php:782
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint."
-
-#: ../../mod/photos.php:784
-msgid "Photo not available"
-msgstr "Photo indisponible"
-
-#: ../../mod/photos.php:844
-msgid "Use as profile photo"
-msgstr "Utiliser comme photo du profil"
-
-#: ../../mod/photos.php:868
-msgid "View Full Size"
-msgstr "Voir en taille réelle"
-
-#: ../../mod/photos.php:946
-msgid "Edit photo"
-msgstr "Éditer la photo"
-
-#: ../../mod/photos.php:948
-msgid "Rotate CW (right)"
-msgstr "Rotation horaire (droite)"
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
+msgstr "Les informations de vie privée à distance ne sont pas disponibles."
-#: ../../mod/photos.php:949
-msgid "Rotate CCW (left)"
-msgstr "Rotation anti-horaire (gauche)"
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
+msgstr "Visible par&nbsp;:"
-#: ../../mod/photos.php:952
-msgid "New album name"
-msgstr "Nouveau nom d'album&nbsp;:"
+#: ../../mod/locs.php:21 ../../mod/locs.php:52
+msgid "Location not found."
+msgstr "Emplacement introuvable."
-#: ../../mod/photos.php:955
-msgid "Caption"
-msgstr "Titre/légende"
+#: ../../mod/locs.php:56
+msgid "Primary location cannot be removed."
+msgstr ""
-#: ../../mod/photos.php:957
-msgid "Add a Tag"
-msgstr "Ajouter une étiquette"
+#: ../../mod/locs.php:88
+msgid "No locations found."
+msgstr "Emplacement(s) introuvable."
-#: ../../mod/photos.php:960
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Exemple&nbsp;: @bob, @Barbara_Jensen, @jim@exemple.com, #Ile_de_France, #marathon"
+#: ../../mod/locs.php:101
+msgid "Manage Channel Locations"
+msgstr "Gérer les emplacements des canaux"
-#: ../../mod/photos.php:1113
-msgid "In This Photo:"
-msgstr "Dans cette photo&nbsp;:"
+#: ../../mod/locs.php:102
+msgid "Location (address)"
+msgstr "Emplacement (adresse)"
-#: ../../mod/photos.php:1188
-msgid "View Album"
-msgstr "Voir l'album"
+#: ../../mod/locs.php:103
+msgid "Primary Location"
+msgstr "Emplacement primaire"
-#: ../../mod/photos.php:1197
-msgid "Recent Photos"
-msgstr "Photos récentes"
+#: ../../mod/locs.php:104
+msgid "Drop location"
+msgstr "Abandonner l'emplacement"
#: ../../mod/sources.php:32
msgid "Failed to create source. No channel selected."
@@ -6107,7 +8217,7 @@ msgid "Leave blank to import all public content"
msgstr "Laissez en blanc pour importer tout le contenu public"
#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:110
+#: ../../mod/new_channel.php:112
msgid "Channel Name"
msgstr "Nom du Canal"
@@ -6131,1606 +8241,634 @@ msgstr "Source supprimée"
msgid "Unable to remove source."
msgstr "Impossible de supprimer la source."
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- choisir -"
-
-#: ../../mod/events.php:72
-msgid "Event title and start time are required."
-msgstr "Un titre et une date de début sont requises pour l'événement."
-
-#: ../../mod/events.php:86
-msgid "Event not found."
-msgstr "Événement introuvable."
-
-#: ../../mod/events.php:329
-msgid "l, F j"
-msgstr "l j F"
-
-#: ../../mod/events.php:351
-msgid "Edit event"
-msgstr "Éditer l'événement"
-
-#: ../../mod/events.php:397
-msgid "Create New Event"
-msgstr "Créer événement"
-
-#: ../../mod/events.php:398
-msgid "Previous"
-msgstr "Précédent"
-
-#: ../../mod/events.php:469
-msgid "hour:minute"
-msgstr "heure:minute"
-
-#: ../../mod/events.php:489
-msgid "Event details"
-msgstr "Détails de l'événement"
-
-#: ../../mod/events.php:490
-#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr "Le format est %s %s. Date de début et titre obligatoires."
-
-#: ../../mod/events.php:492
-msgid "Event Starts:"
-msgstr "L'événement débute&nbsp;:"
-
-#: ../../mod/events.php:492 ../../mod/events.php:506 ../../mod/appman.php:91
-#: ../../mod/appman.php:92
-msgid "Required"
-msgstr "Requis"
-
-#: ../../mod/events.php:495
-msgid "Finish date/time is not known or not relevant"
-msgstr "Date/heure de fin inconnue ou sans objet"
-
-#: ../../mod/events.php:497
-msgid "Event Finishes:"
-msgstr "L'événement termine&nbsp;:"
-
-#: ../../mod/events.php:500
-msgid "Adjust for viewer timezone"
-msgstr "Ajuster au fuseau horaire du visiteur"
-
-#: ../../mod/events.php:502
-msgid "Description:"
-msgstr "Description:"
-
-#: ../../mod/events.php:506
-msgid "Title:"
-msgstr "Titre:"
-
-#: ../../mod/events.php:508
-msgid "Share this event"
-msgstr "Partager cet événement"
-
-#: ../../mod/filestorage.php:68
-msgid "Permission Denied."
-msgstr "Permission refusée."
-
-#: ../../mod/filestorage.php:85
-msgid "File not found."
-msgstr "Fichier introuvable."
-
-#: ../../mod/filestorage.php:122
-msgid "Edit file permissions"
-msgstr "Éditer les permissions du fichier"
-
-#: ../../mod/filestorage.php:131
-msgid "Set/edit permissions"
-msgstr "Définir/Édition des authorisations"
-
-#: ../../mod/filestorage.php:132
-msgid "Include all files and sub folders"
-msgstr "Inclure tous fichiers et sous-répertoires"
-
-#: ../../mod/filestorage.php:133
-msgid "Return to file list"
-msgstr "Retourner à la liste des fichiers"
-
-#: ../../mod/filestorage.php:135
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copiez/collez ce code pour joindre le fichier à une publication"
-
-#: ../../mod/filestorage.php:136
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copiez/collez cette URL pour lier le fichier depuis une page web"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Aucun compte valide trouvé."
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Canal ajouté."
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Réinitialisation du mot de passe demandée. Vérifiez vos courriels."
-#: ../../mod/subthread.php:103
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s suit %3$s de %2$s"
-
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contact introuvable."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggestion d'amitié/relation envoyée."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggérer une relation"
+msgid "Site Member (%s)"
+msgstr "Membre du site (%s)"
-#: ../../mod/fsuggest.php:99
+#: ../../mod/lostpass.php:40
#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggérer une relation à %s"
+msgid "Password reset requested at %s"
+msgstr "Demande de réinitialisation du mot de passe sur %s"
-#: ../../mod/suggest.php:35
+#: ../../mod/lostpass.php:63
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Pas de suggestions pour l'instant. Si le site est récent, merci de re-tenter dans 24 heures."
-
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "Collection créée."
-
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Impossible de créer la collection."
-
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Collection mise à jour."
-
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Créez une collection de canaux."
-
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nom de la collection&nbsp;:"
-
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Les membres sont visibles par les autres canaux"
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Collection supprimée."
+#: ../../mod/lostpass.php:86 ../../boot.php:1559
+msgid "Password Reset"
+msgstr "Réinitialiser le mot de passe"
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Impossible de supprimer la collection."
+#: ../../mod/lostpass.php:87
+msgid "Your password has been reset as requested."
+msgstr "Votre mot de passe a bien été réinitialisé."
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Éditeur de collection"
+#: ../../mod/lostpass.php:88
+msgid "Your new password is"
+msgstr "Votre nouveau mot de passe est"
-#: ../../mod/group.php:196
-msgid "Members"
-msgstr "Membres"
+#: ../../mod/lostpass.php:89
+msgid "Save or copy your new password - and then"
+msgstr "Sauvez-le ou copiez-le, puis"
-#: ../../mod/group.php:198
-msgid "All Connected Channels"
-msgstr "Tous canaux connectés"
+#: ../../mod/lostpass.php:90
+msgid "click here to login"
+msgstr "cliquez ici pour vous connecter"
-#: ../../mod/group.php:233
-msgid "Click on a channel to add or remove."
-msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer"
+#: ../../mod/lostpass.php:91
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Votre mot de passe peut être changé depuis la page des <em>Réglages</em> une fois connecté."
-#: ../../mod/tagger.php:98
+#: ../../mod/lostpass.php:108
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s a étiqueté le %3$s de %2$s par %4$s"
-
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
-msgstr "Aide&nbsp;:"
-
-#: ../../mod/help.php:69 ../../index.php:233
-msgid "Not Found"
-msgstr "Introuvable"
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Étiquette retirée"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Retirer une étiquette à l'élément"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Étiquette à retirer&nbsp;:"
-
-#: ../../mod/admin.php:52
-msgid "Theme settings updated."
-msgstr "Réglages du thème sauvegardés."
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:450
-msgid "Site"
-msgstr "Site"
-
-#: ../../mod/admin.php:98
-msgid "Accounts"
-msgstr "Comptes"
-
-#: ../../mod/admin.php:99 ../../mod/admin.php:894
-msgid "Channels"
-msgstr "Canaux"
-
-#: ../../mod/admin.php:100 ../../mod/admin.php:985 ../../mod/admin.php:1027
-msgid "Plugins"
-msgstr "Extensions"
-
-#: ../../mod/admin.php:101 ../../mod/admin.php:1190 ../../mod/admin.php:1226
-msgid "Themes"
-msgstr "Thèmes"
-
-#: ../../mod/admin.php:102 ../../mod/admin.php:550
-msgid "Server"
-msgstr "Serveur"
-
-#: ../../mod/admin.php:103
-msgid "Profile Config"
-msgstr "Configurations du profil"
-
-#: ../../mod/admin.php:104
-msgid "DB updates"
-msgstr "MàJ BD"
-
-#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1313
-msgid "Logs"
-msgstr "Journaux"
-
-#: ../../mod/admin.php:124
-msgid "Plugin Features"
-msgstr "Fonctionnalités liées aux extensions"
-
-#: ../../mod/admin.php:126
-msgid "User registrations waiting for confirmation"
-msgstr "Inscriptions en attente"
-
-#: ../../mod/admin.php:206
-msgid "Message queues"
-msgstr "File des messages"
-
-#: ../../mod/admin.php:211 ../../mod/admin.php:449 ../../mod/admin.php:549
-#: ../../mod/admin.php:758 ../../mod/admin.php:893 ../../mod/admin.php:984
-#: ../../mod/admin.php:1026 ../../mod/admin.php:1189 ../../mod/admin.php:1225
-#: ../../mod/admin.php:1312
-msgid "Administration"
-msgstr "Administration"
-
-#: ../../mod/admin.php:212
-msgid "Summary"
-msgstr "Résumé"
-
-#: ../../mod/admin.php:214
-msgid "Registered users"
-msgstr "Utilisateurs inscrits"
-
-#: ../../mod/admin.php:216 ../../mod/admin.php:553
-msgid "Pending registrations"
-msgstr "Inscriptions en attente"
-
-#: ../../mod/admin.php:217
-msgid "Version"
-msgstr "Version"
-
-#: ../../mod/admin.php:219 ../../mod/admin.php:554
-msgid "Active plugins"
-msgstr "Extensions actives"
-
-#: ../../mod/admin.php:370
-msgid "Site settings updated."
-msgstr "Réglages du site sauvegardés."
-
-#: ../../mod/admin.php:401
-msgid "No special theme for accessibility"
-msgstr "Pas de thème spécifique pour l'accessibilité"
-
-#: ../../mod/admin.php:430
-msgid "Yes - with approval"
-msgstr "Oui - avec approbation"
-
-#: ../../mod/admin.php:436
-msgid "My site is not a public server"
-msgstr "Mon site n'est pas un serveur publique"
-
-#: ../../mod/admin.php:437
-msgid "My site has paid access only"
-msgstr "Mon site est payant"
-
-#: ../../mod/admin.php:438
-msgid "My site has free access only"
-msgstr "Mon site est gratuit"
-
-#: ../../mod/admin.php:439
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mon site offre des comptes gratuits avec des ajouts payants"
-
-#: ../../mod/admin.php:453
-msgid "File upload"
-msgstr "Envoi de fichier"
-
-#: ../../mod/admin.php:454
-msgid "Policies"
-msgstr "Stratégies"
-
-#: ../../mod/admin.php:459
-msgid "Site name"
-msgstr "Nom du site"
-
-#: ../../mod/admin.php:460
-msgid "Banner/Logo"
-msgstr "Bannière/logo"
+msgid "Your password has changed at %s"
+msgstr "Votre mot de passe de %s a été changé"
-#: ../../mod/admin.php:461
-msgid "Administrator Information"
-msgstr "Informations sur l'administrateur"
+#: ../../mod/lostpass.php:123
+msgid "Forgot your Password?"
+msgstr "Mot de passe oublié?"
-#: ../../mod/admin.php:461
+#: ../../mod/lostpass.php:124
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Coordonnées de l'administrateur du site. Affichée sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"
-
-#: ../../mod/admin.php:462
-msgid "System language"
-msgstr "Langue du système"
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte à lettres pour la suite des instructions."
-#: ../../mod/admin.php:463
-msgid "System theme"
-msgstr "Thème du système"
+#: ../../mod/lostpass.php:125
+msgid "Email Address"
+msgstr "Adresse de courriel"
-#: ../../mod/admin.php:463
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"
+#: ../../mod/lostpass.php:126
+msgid "Reset"
+msgstr "Réinitialiser"
-#: ../../mod/admin.php:464
-msgid "Mobile system theme"
-msgstr "Thème système pour mobile"
+#: ../../mod/menu.php:45
+msgid "Unable to update menu."
+msgstr "Impossible de mettre le menu à jour."
-#: ../../mod/admin.php:464
-msgid "Theme for mobile devices"
-msgstr "Thème dédié aux périphériques mobiles"
+#: ../../mod/menu.php:56
+msgid "Unable to create menu."
+msgstr "Impossible de créer le menu."
-#: ../../mod/admin.php:465
-msgid "Accessibility system theme"
-msgstr "Thème système pour l'accessibilité"
+#: ../../mod/menu.php:92 ../../mod/menu.php:104
+msgid "Menu Name"
+msgstr "Nom du menu"
-#: ../../mod/admin.php:465
-msgid "Accessibility theme"
-msgstr "Thème pour l'accessibilité"
+#: ../../mod/menu.php:92
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nom unique (non visible sur la page web) - requis"
-#: ../../mod/admin.php:466
-msgid "Channel to use for this website's static pages"
-msgstr "Canal à utiliser pour les pages statiques de ce site"
+#: ../../mod/menu.php:93 ../../mod/menu.php:105
+msgid "Menu Title"
+msgstr "Titre du menu"
-#: ../../mod/admin.php:466
-msgid "Site Channel"
-msgstr "Canal de ce HUB"
+#: ../../mod/menu.php:93
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visible pour la page web - laisser vide pour qu'il n'y ait pas de titre"
-#: ../../mod/admin.php:468
-msgid "Maximum image size"
-msgstr "Taille maximale des images"
+#: ../../mod/menu.php:94
+msgid "Allow Bookmarks"
+msgstr "Autoriser l'usage de favoris"
-#: ../../mod/admin.php:468
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."
+#: ../../mod/menu.php:94 ../../mod/menu.php:151
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Le menu pourra être utilisé pour stocker des favoris"
-#: ../../mod/admin.php:469
-msgid "Does this site allow new member registration?"
-msgstr "Est-ce que l'enregistrement de nouveau membres sur ce site est autorisé?"
+#: ../../mod/menu.php:95 ../../mod/menu.php:153
+msgid "Submit and proceed"
+msgstr "Valider et continuer"
-#: ../../mod/admin.php:470
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Choisissez le type de comptes offert sur ce hub?"
+#: ../../mod/menu.php:107
+msgid "Drop"
+msgstr "Supprimer"
-#: ../../mod/admin.php:471
-msgid "Register text"
-msgstr "Texte d'inscription"
+#: ../../mod/menu.php:111
+msgid "Bookmarks allowed"
+msgstr "Favoris autorisés"
-#: ../../mod/admin.php:471
-msgid "Will be displayed prominently on the registration page."
-msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription."
+#: ../../mod/menu.php:113
+msgid "Delete this menu"
+msgstr "Supprimer ce menu"
-#: ../../mod/admin.php:472
-msgid "Accounts abandoned after x days"
-msgstr "Les comptes sont abandonnés après x jours"
+#: ../../mod/menu.php:114 ../../mod/menu.php:148
+msgid "Edit menu contents"
+msgstr "Éditer le contenu du menu"
-#: ../../mod/admin.php:472
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Pour éviter de gaspiller les ressources du système en essayer de mettre à jour des comptes abandonnés. Mettez 0 pour ne pas avoir de limite de temps."
+#: ../../mod/menu.php:115
+msgid "Edit this menu"
+msgstr "Éditer le menu"
-#: ../../mod/admin.php:473
-msgid "Allowed friend domains"
-msgstr "Domaines amicaux"
+#: ../../mod/menu.php:130
+msgid "Menu could not be deleted."
+msgstr "Impossible de supprimer le menu."
-#: ../../mod/admin.php:473
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Liste de noms de domaines - séparés par des virgules - pour lesquels ce site acceptera les demandes d'amitié ou de mise en relation. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
+#: ../../mod/menu.php:138 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menu introuvable."
-#: ../../mod/admin.php:474
-msgid "Allowed email domains"
-msgstr "Domaines de courriels amicaux"
+#: ../../mod/menu.php:143
+msgid "Edit Menu"
+msgstr "Éditer le menu"
-#: ../../mod/admin.php:474
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
+#: ../../mod/menu.php:147
+msgid "Add or remove entries to this menu"
+msgstr "Ajouter/supprimer des entrées à ce menu"
-#: ../../mod/admin.php:475
-msgid "Block public"
-msgstr "Bloquer public"
+#: ../../mod/menu.php:149
+msgid "Menu name"
+msgstr "Nom du menu"
-#: ../../mod/admin.php:475
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Cocher pour interdire tout accès public, y compris aux pages marquées comme publiques, aux visiteurs anonymes."
+#: ../../mod/menu.php:149
+msgid "Must be unique, only seen by you"
+msgstr "Doit être unique, ne sera vu que par vous"
-#: ../../mod/admin.php:476
-msgid "Force publish"
-msgstr "Forcer publication"
+#: ../../mod/menu.php:150
+msgid "Menu title"
+msgstr "Titre du menu"
-#: ../../mod/admin.php:476
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."
+#: ../../mod/menu.php:150
+msgid "Menu title as seen by others"
+msgstr "Titre du menu tel que vu par les visiteurs"
-#: ../../mod/admin.php:477
-msgid "Disable discovery tab"
-msgstr "Désactiver l'onglet \"À découvrir\""
+#: ../../mod/menu.php:151
+msgid "Allow bookmarks"
+msgstr "Autoriser l'usage de favoris"
-#: ../../mod/admin.php:477
-msgid ""
-"Remove the tab in the network view with public content pulled from sources "
-"chosen for this site."
-msgstr "Ne pas afficher d'onglet avec des contenus publics automatiquement rassemblées depuis des sources choisies pour ce site."
+#: ../../mod/menu.php:160 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "Introuvable."
-#: ../../mod/admin.php:478
-msgid "No login on Homepage"
-msgstr "Pas de connexion depuis la page d'accueil"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Conversation supprimée."
-#: ../../mod/admin.php:478
-msgid ""
-"Check to hide the login form from your sites homepage when visitors arrive "
-"who are not logged in (e.g. when you put the content of the homepage in via "
-"the site channel)."
-msgstr "Cocher pour ne pas montrer le formulaire de connexion sur la page d'accueil (typiquement, pour quand vous utilisez la page d'accueil pour afficher du contenu via le canal du site)."
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Pas de message."
-#: ../../mod/admin.php:480
-msgid "Proxy user"
-msgstr "Utilisateurs du proxy"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D d Y - H:i"
-#: ../../mod/admin.php:481
-msgid "Proxy URL"
-msgstr "URL du proxy (visiter @proxy-list)"
+#: ../../mod/mitem.php:48
+msgid "Unable to create element."
+msgstr "Impossible de créer l'entrée."
-#: ../../mod/admin.php:482
-msgid "Network timeout"
-msgstr "Délai maximal du réseau"
+#: ../../mod/mitem.php:72
+msgid "Unable to update menu element."
+msgstr "Impossible de mettre l'entrée de menu à jour."
-#: ../../mod/admin.php:482
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (pas recommandé)."
+#: ../../mod/mitem.php:88
+msgid "Unable to add menu element."
+msgstr "Impossible d'ajouter l'entrée de menu."
-#: ../../mod/admin.php:483
-msgid "Delivery interval"
-msgstr "Intervalle de distribution"
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:226
+msgid "Menu Item Permissions"
+msgstr "Permissions de l'entrée de menu"
-#: ../../mod/admin.php:483
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:173
+msgid "Link Name"
+msgstr "Nom du lien"
-#: ../../mod/admin.php:484
-msgid "Poll interval"
-msgstr "Intervalle de scrutation"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:231
+msgid "Link or Submenu Target"
+msgstr "Lien ou sous-menu cible"
-#: ../../mod/admin.php:484
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."
+#: ../../mod/mitem.php:158
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Entrez l'URL du lien ou sélectionnez un nom de menu pour créer un sous-menu"
-#: ../../mod/admin.php:485
-msgid "Maximum Load Average"
-msgstr "Charge moyenne maximale"
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:232
+msgid "Use magic-auth if available"
+msgstr "Utiliser l'authentification distante, quand disponible"
-#: ../../mod/admin.php:485
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont mis en pause - par défaut 50."
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:233
+msgid "Open link in new window"
+msgstr "Ouvrir le lien dans une nouvelle fenêtre"
-#: ../../mod/admin.php:541
-msgid "No server found"
-msgstr "Serveur introuvable"
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Order in list"
+msgstr "Ordre dans la liste"
-#: ../../mod/admin.php:548 ../../mod/admin.php:772
-msgid "ID"
-msgstr "ID"
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Les nombres les plus élevés seront descendus au bas de la liste"
-#: ../../mod/admin.php:548
-msgid "for channel"
-msgstr "pour le canal"
+#: ../../mod/mitem.php:162
+msgid "Submit and finish"
+msgstr "Vadiler et terminer"
-#: ../../mod/admin.php:548
-msgid "on server"
-msgstr "sur le serveur"
+#: ../../mod/mitem.php:163
+msgid "Submit and continue"
+msgstr "Valider et continuer"
-#: ../../mod/admin.php:548
-msgid "Status"
-msgstr "État"
+#: ../../mod/mitem.php:171
+msgid "Menu:"
+msgstr "Menu&nbsp;:"
-#: ../../mod/admin.php:569
-msgid "Update has been marked successful"
-msgstr "La mise à jour a été marquée comme réussie"
+#: ../../mod/mitem.php:174
+msgid "Link Target"
+msgstr "Cible du lien"
-#: ../../mod/admin.php:579
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."
+#: ../../mod/mitem.php:177
+msgid "Edit menu"
+msgstr "Éditer le menu"
-#: ../../mod/admin.php:582
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "La mise à jour %s a été appliquée avec succès."
+#: ../../mod/mitem.php:180
+msgid "Edit element"
+msgstr "Éditer l'entrée"
-#: ../../mod/admin.php:586
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."
+#: ../../mod/mitem.php:181
+msgid "Drop element"
+msgstr "Supprimer l'entrée"
-#: ../../mod/admin.php:589
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "La fonction de mise à jour %s est introuvable."
+#: ../../mod/mitem.php:182
+msgid "New element"
+msgstr "Nouvelle entrée"
-#: ../../mod/admin.php:604
-msgid "No failed updates."
-msgstr "Aucune mise à jour défaillante."
+#: ../../mod/mitem.php:183
+msgid "Edit this menu container"
+msgstr "Éditer ce bloc de menu"
-#: ../../mod/admin.php:608
-msgid "Failed Updates"
-msgstr "Mises à jour défaillantes"
+#: ../../mod/mitem.php:184
+msgid "Add menu element"
+msgstr "Ajouter une entrée au menu"
-#: ../../mod/admin.php:610
-msgid "Mark success (if update was manually applied)"
-msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuellement)"
+#: ../../mod/mitem.php:185
+msgid "Delete this menu item"
+msgstr "Supprimer cet entrée du menu"
-#: ../../mod/admin.php:611
-msgid "Attempt to execute this update step automatically"
-msgstr "Tenter de réaliser cette étape de mise à jour automatiquement"
+#: ../../mod/mitem.php:186
+msgid "Edit this menu item"
+msgstr "Éditer cette entrée du menu"
-#: ../../mod/admin.php:637
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s utilisateur bloqué/débloqué"
-msgstr[1] "%s utilisateurs bloqués/débloqués"
+#: ../../mod/mitem.php:203
+msgid "Menu item not found."
+msgstr "Entrée de menu introuvable."
-#: ../../mod/admin.php:644
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s utilisateur supprimé"
-msgstr[1] "%s utilisateurs supprimés"
+#: ../../mod/mitem.php:215
+msgid "Menu item deleted."
+msgstr "Entrée de menu supprimée."
-#: ../../mod/admin.php:675
-msgid "Account not found"
-msgstr "Compte introuvable"
+#: ../../mod/mitem.php:217
+msgid "Menu item could not be deleted."
+msgstr "Impossible de supprimer l'entrée de menu."
-#: ../../mod/admin.php:686
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utilisateur '%s' supprimé"
+#: ../../mod/mitem.php:224
+msgid "Edit Menu Element"
+msgstr "Éditer l'entrée de menu"
-#: ../../mod/admin.php:695
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Utilisateur '%s' débloqué"
+#: ../../mod/mitem.php:230
+msgid "Link text"
+msgstr "Texte du lien"
-#: ../../mod/admin.php:695
+#: ../../mod/subthread.php:103
#, php-format
-msgid "User '%s' blocked"
-msgstr "Utilisateur '%s' bloqué"
-
-#: ../../mod/admin.php:759 ../../mod/admin.php:771
-msgid "Users"
-msgstr "Utilisateurs"
-
-#: ../../mod/admin.php:761 ../../mod/admin.php:896
-msgid "select all"
-msgstr "tout sélectionner"
-
-#: ../../mod/admin.php:762
-msgid "User registrations waiting for confirm"
-msgstr "Inscriptions en attente d'approbation"
-
-#: ../../mod/admin.php:763
-msgid "Request date"
-msgstr "Date de la demande"
-
-#: ../../mod/admin.php:764
-msgid "No registrations."
-msgstr "Pas d'inscriptions."
-
-#: ../../mod/admin.php:765
-msgid "Approve"
-msgstr "Approuver"
-
-#: ../../mod/admin.php:766
-msgid "Deny"
-msgstr "Refuser"
-
-#: ../../mod/admin.php:772
-msgid "Register date"
-msgstr "Date d'inscription"
-
-#: ../../mod/admin.php:772
-msgid "Last login"
-msgstr "Dernière connexion"
-
-#: ../../mod/admin.php:772
-msgid "Expires"
-msgstr "Expire"
-
-#: ../../mod/admin.php:772
-msgid "Service Class"
-msgstr "Classe de service"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s suit %3$s de %2$s"
-#: ../../mod/admin.php:774
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Les utilisateurs sélectionnés seront supprimés!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive!\\n\\nÊtes-vous certain?"
+#: ../../mod/mood.php:131
+msgid "Set your current mood and tell your friends"
+msgstr "Indiquez votre humeur du moment à vos amis"
-#: ../../mod/admin.php:775
+#: ../../mod/suggest.php:35
msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'utilisateur {0} sera supprimé!\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive!\\n\\nÊtes-vous certain?"
-
-#: ../../mod/admin.php:808
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channelss censored/uncensored"
-msgstr[0] "%s canal censuré/non-censuré"
-msgstr[1] "%s canaux censurés/non-censurés"
-
-#: ../../mod/admin.php:815
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canal supprimé"
-msgstr[1] "%s canaux supprimés"
-
-#: ../../mod/admin.php:834
-msgid "Channel not found"
-msgstr "Canal introuvable"
-
-#: ../../mod/admin.php:845
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Canal '%s' supprimé"
-
-#: ../../mod/admin.php:855
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Canal '%s' non-censuré"
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Pas de suggestions pour l'instant. Si le site est récent, merci de re-tenter dans 24 heures."
-#: ../../mod/admin.php:855
+#: ../../mod/tagger.php:96
#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censuré"
-
-#: ../../mod/admin.php:898
-msgid "Censor"
-msgstr "Censurer"
-
-#: ../../mod/admin.php:899
-msgid "Uncensor"
-msgstr "Ne plus censurer"
-
-#: ../../mod/admin.php:902
-msgid "UID"
-msgstr "UID"
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s a étiqueté le %3$s de %2$s par %4$s"
-#: ../../mod/admin.php:904
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Les canaux sélectionnés seront supprimés!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé!\\n\\nÊtes-vous certain?"
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "Étiquette retirée"
-#: ../../mod/admin.php:905
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Le canal {0} sera supprimé!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé!\\n\\nÊtes-vous certain?"
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Retirer une étiquette à l'élément"
-#: ../../mod/admin.php:944
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Extension %s désactivée."
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Étiquette à retirer&nbsp;:"
-#: ../../mod/admin.php:948
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Extension %s activée."
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "Groupe introuvable"
-#: ../../mod/admin.php:958 ../../mod/admin.php:1160
-msgid "Disable"
-msgstr "Désactiver"
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "Canal introuvable"
-#: ../../mod/admin.php:960 ../../mod/admin.php:1162
-msgid "Enable"
-msgstr "Activer"
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Résultats de recherche pour&nbsp;:"
-#: ../../mod/admin.php:986 ../../mod/admin.php:1191
-msgid "Toggle"
-msgstr "(Dés)activer"
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "Collection vide"
-#: ../../mod/admin.php:994 ../../mod/admin.php:1201
-msgid "Author: "
-msgstr "Auteur&nbsp;:"
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Collection&nbsp;:"
-#: ../../mod/admin.php:995 ../../mod/admin.php:1202
-msgid "Maintainer: "
-msgstr "Maintenu par&nbsp;:"
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Relation&nbsp;:"
-#: ../../mod/admin.php:1124
-msgid "No themes found."
-msgstr "Aucun thème trouvé."
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "Relation invalide."
-#: ../../mod/admin.php:1183
-msgid "Screenshot"
-msgstr "Aperçu"
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Erreur du protocole OpenID. Pas d'ID retourné."
-#: ../../mod/admin.php:1231
-msgid "[Experimental]"
-msgstr "[Expérimental]"
+#: ../../mod/new_channel.php:109
+msgid "Add a Channel"
+msgstr "Ajouter un canal"
-#: ../../mod/admin.php:1232
-msgid "[Unsupported]"
-msgstr "[Non-supporté]"
+#: ../../mod/new_channel.php:110
+msgid ""
+"A channel is your own collection of related web pages. A channel can be used"
+" to hold social network profiles, blogs, conversation groups and forums, "
+"celebrity pages, and much more. You may create as many channels as your "
+"service provider allows."
+msgstr "Un canal est une collection de pages web reliées entre elles, sous votre contrôle. Il peut contenir des profils de réseau social, des blogs, des groupes de conversation, des forums, des pages de célébrités, et bien plus encore. Vous pouvez créer autant de canaux que votre administrateur de hub vous y autorise."
-#: ../../mod/admin.php:1259
-msgid "Log settings updated."
-msgstr "Réglages du journal sauvegardés."
+#: ../../mod/new_channel.php:113
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
+msgstr "Exemples&nbsp;: \"Bob Jameson\", \"Lisa et ses chevaux sauvages\", \"Football\", \"Groupe des amateurs de tir à l'arc\""
-#: ../../mod/admin.php:1315
-msgid "Clear"
-msgstr "Vider"
+#: ../../mod/new_channel.php:114
+msgid "Choose a short nickname"
+msgstr "Choisissez un alias"
-#: ../../mod/admin.php:1321
-msgid "Debugging"
-msgstr "Débogage"
+#: ../../mod/new_channel.php:115
+msgid ""
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
+msgstr "Cet alias sera utilisé pour créer une adresse de canal, facile à retenir - un peu comme une adresse de courriel - que vous pourrez partager avec d'autres."
-#: ../../mod/admin.php:1322
-msgid "Log file"
-msgstr "Fichier du journal"
+#: ../../mod/new_channel.php:116
+msgid "Or <a href=\"import\">import an existing channel</a> from another location"
+msgstr "Ou <a href=\"import\">importez un canal existant</a> à un autre endroit"
-#: ../../mod/admin.php:1322
+#: ../../mod/new_channel.php:118
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de la Matrice Rouge."
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
+msgstr "Veuillez choisir un type de canal (par exemple \"réseau social\" ou \"forum communautaire\") et un niveau de confidentialité afin que nous puissions choisir les meilleures autorisations pour vous"
-#: ../../mod/admin.php:1323
-msgid "Log level"
-msgstr "Niveau de journalisation"
+#: ../../mod/new_channel.php:119
+msgid "Channel Type"
+msgstr "Type de canal"
+
+#: ../../mod/new_channel.php:119
+msgid "Read more about roles"
+msgstr "En savoir plus sur les rôles"
-#: ../../mod/thing.php:98
+#: ../../mod/thing.php:94
msgid "Thing updated"
-msgstr "Chose mise à jour"
+msgstr "Chose mise-à-jour"
-#: ../../mod/thing.php:158
+#: ../../mod/thing.php:167
msgid "Object store: failed"
msgstr "Stockage de l'objet&nbsp;: échec"
-#: ../../mod/thing.php:162
+#: ../../mod/thing.php:171
msgid "Thing added"
msgstr "Chose ajoutée"
-#: ../../mod/thing.php:182
+#: ../../mod/thing.php:203
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/thing.php:234
+#: ../../mod/thing.php:254
msgid "Show Thing"
msgstr "Montrer chose"
-#: ../../mod/thing.php:241
+#: ../../mod/thing.php:261
msgid "item not found."
msgstr "élément introuvable."
-#: ../../mod/thing.php:272
+#: ../../mod/thing.php:289
msgid "Edit Thing"
msgstr "Éditer chose"
-#: ../../mod/thing.php:274 ../../mod/thing.php:321
+#: ../../mod/thing.php:291 ../../mod/thing.php:338
msgid "Select a profile"
msgstr "Choisissez un profil"
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
msgid "Post an activity"
msgstr "Publier une activité"
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
msgid "Only sends to viewers of the applicable profile"
msgstr "Envoi exclusivement au membres autorisé de ce profil"
-#: ../../mod/thing.php:280 ../../mod/thing.php:326
+#: ../../mod/thing.php:297 ../../mod/thing.php:343
msgid "Name of thing e.g. something"
msgstr "Nom de la chose, p.ex. quelque-chose"
-#: ../../mod/thing.php:282 ../../mod/thing.php:327
+#: ../../mod/thing.php:299 ../../mod/thing.php:344
msgid "URL of thing (optional)"
msgstr "URL de la chose (optionnel)"
-#: ../../mod/thing.php:284 ../../mod/thing.php:328
+#: ../../mod/thing.php:301 ../../mod/thing.php:345
msgid "URL for photo of thing (optional)"
msgstr "URL de l'image de la chose (optionnel)"
-#: ../../mod/thing.php:319
+#: ../../mod/thing.php:336
msgid "Add Thing to your Profile"
msgstr "Ajouter la chose à votre profil"
-#: ../../mod/import.php:36
-msgid "Nothing to import."
-msgstr "Rien à importer."
-
-#: ../../mod/import.php:58
-msgid "Unable to download data from old server"
-msgstr "Impossible de récupérer les données de l'ancien serveur"
-
-#: ../../mod/import.php:64
-msgid "Imported file is empty."
-msgstr "Le fichier importé est vide."
+#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
+msgid "Export Channel"
+msgstr "Exporter le canal"
-#: ../../mod/import.php:88
+#: ../../mod/uexport.php:52
msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Impossible de créer un doublon d'un identifiant de canal. L'import a échoué."
-
-#: ../../mod/import.php:106
-msgid "Channel clone failed. Import failed."
-msgstr "Le clonage du canal a échoué. L'import a échoué."
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."
-#: ../../mod/import.php:116
-msgid "Cloned channel not found. Import failed."
-msgstr "Le canal cloné n'a pas été trouvé. L'import a échoué."
-
-#: ../../mod/import.php:364
-msgid "Import completed."
-msgstr "L'import est terminé."
-
-#: ../../mod/import.php:377
-msgid "You must be logged in to use this feature."
-msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité."
-
-#: ../../mod/import.php:382
-msgid "Import Channel"
-msgstr "Importation de canal"
+#: ../../mod/uexport.php:53
+msgid "Export Content"
+msgstr "Exporter le contenu"
-#: ../../mod/import.php:383
+#: ../../mod/uexport.php:54
msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Utilisez ce formulaire pour importer un canal existant sur un serveur différent. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export. Seules les données d'identité et de relations seront importées. L'importation du contenu est toujours en développement."
-
-#: ../../mod/import.php:384
-msgid "File to Upload"
-msgstr "Fichier à envoyer"
-
-#: ../../mod/import.php:385
-msgid "Or provide the old server/hub details"
-msgstr "Ou fournissez les détails de l'ancien serveur"
-
-#: ../../mod/import.php:386
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Votre ancienne identité (zyx@exemple.com)"
-
-#: ../../mod/import.php:387
-msgid "Your old login email address"
-msgstr "Votre ancienne adresse de courriel"
-
-#: ../../mod/import.php:388
-msgid "Your old login password"
-msgstr "Votre ancien mot de passe"
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."
+
+#: ../../mod/uexport.php:55
+msgid "Export your posts from a given year or month:"
+msgstr ""
-#: ../../mod/import.php:389
+#: ../../mod/uexport.php:57
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Quelle que soit l'option choisie, merci de décider si cette nouvelle adresse sera la primaire, ou si votre ancienne adresse continuera à jouer ce rôle. Vous pourrez publier depuis l'adresse de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."
-
-#: ../../mod/import.php:390
-msgid "Make this hub my primary location"
-msgstr "Faire de ce hub l'adresse principale de ce canal"
-
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Limite du nombre total d'invitation dépassée."
-
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s&nbsp: adresse courriel invalide."
-
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "Rejoignez-nous sur la Matrice Rouge"
+"You may also export your posts and conversations for a particular year or "
+"month. Click on one of the recent years or months below."
+msgstr ""
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jan"
+msgstr "Jan"
-#: ../../mod/invite.php:92
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s&nbsp;: Échec dans la livraison du message."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Feb"
+msgstr "Fev"
-#: ../../mod/invite.php:96
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d message envoyé."
-msgstr[1] "%d messages envoyés."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Mar"
+msgstr "Mar"
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "Vous ne disposez plus d'aucune invitation"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Apr"
+msgstr "Avr"
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Envoyer des invitations"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jun"
+msgstr "Jun"
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Entrez les adresses de courriel, une par ligne&nbsp;:"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jul"
+msgstr "Jul"
-#: ../../mod/invite.php:131 ../../mod/mail.php:225 ../../mod/mail.php:338
-msgid "Your message:"
-msgstr "Votre message&nbsp;:"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Aug"
+msgstr "Aou"
-#: ../../mod/invite.php:132
-msgid "Please join my community on Hubzilla."
-msgstr "Veuillez me rejoindre sur la Matrice Rouge."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Sep"
+msgstr "Sep"
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code: "
-msgstr "Vous aurez besoin de fournir le code suivant:"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Oct"
+msgstr "Oct"
-#: ../../mod/invite.php:135
-msgid "1. Register at any Hubzilla location (they are all inter-connected)"
-msgstr "1. Enregistrez-vous sur n'importe quel serveurs ( ils sont tous inter-connectés )"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Nov"
+msgstr "Nov"
-#: ../../mod/invite.php:137
-msgid "2. Enter my Hubzilla network address into the site searchbar."
-msgstr "2. Saisissez l'adresse de mon canal dans la barre de recherche du site."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Dec"
+msgstr "Dec"
-#: ../../mod/invite.php:138
-msgid "or visit "
-msgstr "ou visitez"
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Click sur [Ajouter]"
-
-#: ../../mod/item.php:146
-msgid "Unable to locate original post."
-msgstr "Impossible de localiser la publication initiale."
-
-#: ../../mod/item.php:379
-msgid "Empty post discarded."
-msgstr "Publication vide annulée."
+#: ../../mod/uexport.php:60
+msgid ""
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr ""
-#: ../../mod/item.php:421
-msgid "Executable content type not permitted to this channel."
-msgstr "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal."
+#: ../../mod/uexport.php:61
+#, php-format
+msgid ""
+"Or adjust the date in your browser location bar to select other dates. For "
+"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
+"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
+msgstr ""
-#: ../../mod/item.php:850
-msgid "System error. Post not saved."
-msgstr "Erreur système. Publication non sauvegardée."
+#: ../../mod/uexport.php:62
+msgid "Please visit"
+msgstr ""
-#: ../../mod/item.php:1302
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racine\"."
+#: ../../mod/uexport.php:62
+msgid "on another hub to import the backup files(s)."
+msgstr ""
-#: ../../mod/item.php:1308
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Vous avez atteint votre limite de %1$.0f pages web."
+#: ../../mod/uexport.php:63
+msgid ""
+"We advise you to clone the channel on the new hub first and than to import "
+"the backup file(s) (from the same channel) in chronological order. Importing"
+" the backup files into another channel will certainly give permission "
+"issues."
+msgstr ""
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
+#: ../../mod/update_public.php:21 ../../mod/update_search.php:46
msgid "[Embedded content - reload page to view]"
msgstr "[Contenu embarqué - rechargez la page pour le voir]"
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
-msgstr "Aide avec cette fonctionnalité"
-
-#: ../../mod/layouts.php:84
-msgid "Layout Name"
-msgstr "Nom de la mise-en-page"
-
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "J'aime/Je Déteste"
-
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Cette action est réservée aux membres."
-
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
-"href=\"register\">register as a new Redmatrix.member</a> to continue."
-msgstr "SVP <a href=\"rmagic\">connectez-vous</a> ou <a href=\"register\">enregistrez-vous</a> pour continuer."
-
-#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
-msgid "Invalid request."
-msgstr "Requête invalide."
-
-#: ../../mod/like.php:119
-msgid "thing"
-msgstr "chose"
-
-#: ../../mod/like.php:165
-msgid "Channel unavailable."
-msgstr "Canal indisponible."
-
-#: ../../mod/like.php:204
-msgid "Previous action reversed."
-msgstr "Action précédente annulée."
-
-#: ../../mod/like.php:417
-msgid "Action completed."
-msgstr "Action complétée."
-
-#: ../../mod/like.php:418
-msgid "Thank you."
-msgstr "Merci."
-
-#: ../../mod/lockview.php:35 ../../mod/lockview.php:41
-msgid "Remote privacy information not available."
-msgstr "Les informations de vie privée à distance ne sont pas disponibles."
-
-#: ../../mod/lockview.php:50
-msgid "Visible to:"
-msgstr "Visible par&nbsp;:"
-
-#: ../../mod/viewconnections.php:58
+#: ../../mod/viewconnections.php:62
msgid "No connections."
-msgstr "Pas de relation."
+msgstr "Pas de relations."
-#: ../../mod/viewconnections.php:71
+#: ../../mod/viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Visiter le profil de %s [%s]"
-#: ../../mod/viewconnections.php:86
-msgid "View Connnections"
-msgstr "Voir les relations"
-
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Aucun compte valide trouvé."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Réinitialisation du mot de passe demandée. Vérifiez vos courriels."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Membre du site (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Demande de réinitialisation du mot de passe sur %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1508
-msgid "Password Reset"
-msgstr "Réinitialiser le mot de passe"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Votre mot de passe a bien été réinitialisé."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Votre nouveau mot de passe est"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Sauvez-le ou copiez-le, puis"
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "cliquez ici pour vous connecter"
-
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Votre mot de passe peut être changé depuis la page des <em>Réglages</em> une fois connecté."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Votre mot de passe de %s a été changé"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Mot de passe oublié?"
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte à lettres pour la suite des instructions."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "Adresse de courriel"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Réinitialiser"
-
-#: ../../mod/magic.php:70
-msgid "Hub not found."
-msgstr "Hub introuvable."
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr "Source de l'élément"
#: ../../mod/vote.php:97
msgid "Total votes"
-msgstr "Total des votes"
+msgstr ""
#: ../../mod/vote.php:98
msgid "Average Rating"
-msgstr "Évaluation moyenne"
-
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Impossible de localiser le destinataire."
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Impossible de communiquer avec le canal demandé."
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Impossible de vérifier le canal demandé."
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."
-
-#: ../../mod/mail.php:121 ../../mod/message.php:31
-msgid "Messages"
-msgstr "Messages"
-
-#: ../../mod/mail.php:132
-msgid "Message deleted."
-msgstr "Message supprimé."
-
-#: ../../mod/mail.php:149
-msgid "Message recalled."
-msgstr "Message annulé/rappelé."
-
-#: ../../mod/mail.php:215
-msgid "Send Private Message"
-msgstr "Envoyer un Message Privé"
-
-#: ../../mod/mail.php:216 ../../mod/mail.php:333
-msgid "To:"
-msgstr "À&nbsp;:"
-
-#: ../../mod/mail.php:221 ../../mod/mail.php:335
-msgid "Subject:"
-msgstr "Sujet&nbsp;:"
-
-#: ../../mod/mail.php:232
-msgid "Send"
-msgstr "Envoyer"
-
-#: ../../mod/mail.php:259
-msgid "Message not found."
-msgstr "Message introuvable."
-
-#: ../../mod/mail.php:302 ../../mod/message.php:72
-msgid "Delete message"
-msgstr "Supprimer message"
-
-#: ../../mod/mail.php:303
-msgid "Recall message"
-msgstr "Rappeler/annuler le message"
-
-#: ../../mod/mail.php:305
-msgid "Message has been recalled."
-msgstr "Le message a été rappelé."
-
-#: ../../mod/mail.php:322
-msgid "Private Conversation"
-msgstr "Conversation privée"
-
-#: ../../mod/mail.php:326
-msgid "Delete conversation"
-msgstr "Supprimer conversation"
-
-#: ../../mod/mail.php:328
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."
-
-#: ../../mod/mail.php:332
-msgid "Send Reply"
-msgstr "Envoyer une réponse"
-
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Vous avez créé %1$.0f des %2$.0f canaux autorisés."
-
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Créer un nouveau canal"
-
-#: ../../mod/manage.php:148
-msgid "Channel Manager"
-msgstr "Gestionnaire du canal"
-
-#: ../../mod/manage.php:149
-msgid "Current Channel"
-msgstr "Canal actif"
-
-#: ../../mod/manage.php:151
-msgid "Attach to one of your channels by selecting it."
-msgstr "Branchez-vous à l'un de vos canaux en le selectionnant."
-
-#: ../../mod/manage.php:152
-msgid "Default Channel"
-msgstr "Canal par défaut"
-
-#: ../../mod/manage.php:153
-msgid "Make Default"
-msgstr "Définir comme défaut"
-
-#: ../../mod/wall_upload.php:34
-msgid "Wall Photos"
-msgstr "Photos du mur"
-
-#: ../../mod/match.php:16
-msgid "Profile Match"
-msgstr "Profils similaires"
-
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut."
-
-#: ../../mod/match.php:61
-msgid "is interested in:"
-msgstr "s'intéresse à&nbsp;:"
-
-#: ../../mod/match.php:69
-msgid "No matches"
-msgstr "Pas de correspondance"
-
-#: ../../mod/menu.php:21
-msgid "Menu updated."
-msgstr "Menu mis à jour."
-
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
-msgstr "Impossible de mettre le menu à jour."
-
-#: ../../mod/menu.php:30
-msgid "Menu created."
-msgstr "Menu créé."
-
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
-msgstr "Impossible de créer le menu."
-
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
-msgstr "Gérer les menus"
-
-#: ../../mod/menu.php:60
-msgid "Drop"
-msgstr "Supprimer"
-
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
-msgstr "Créer un nouveau menu"
-
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
-msgstr "Supprimer ce menu"
-
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
-msgstr "Éditer le contenu du menu"
-
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
-msgstr "Éditer le menu"
-
-#: ../../mod/menu.php:80
-msgid "New Menu"
-msgstr "Nouveau menu"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
-msgstr "Nom du menu"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
-msgstr "Doit être unique, ne sera vu que par vous"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
-msgstr "Titre du menu"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
-msgstr "Titre du menu tel que vu par les visiteurs"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
-msgstr "Autoriser l'usage de favoris"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Le menu pourra être utilisé pour stocker des favoris"
-
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
-msgstr "Menu supprimé."
-
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
-msgstr "Impossible de supprimer le menu."
-
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
-msgstr "Éditer le menu"
-
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
-msgstr "Ajouter/supprimer des entrées à ce menu"
-
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Conversation supprimée."
-
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Pas de message."
-
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D d Y - H:i"
-
-#: ../../mod/new_channel.php:107
-msgid "Add a Channel"
-msgstr "Ajouter un canal"
-
-#: ../../mod/new_channel.php:108
-msgid ""
-"A channel is your own collection of related web pages. A channel can be used"
-" to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
-msgstr "Un canal est une collection de pages web reliées entre elles, sous votre contrôle. Il peut contenir des profils de réseau social, des blogs, des groupes de conversation, des forums, des pages de célébrités, et bien plus encore. Vous pouvez créer autant de canaux que votre administrateur de hub vous y autorise."
-
-#: ../../mod/new_channel.php:111
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
-msgstr "Exemples&nbsp;: \"Bob Jameson\", \"Lisa et ses chevaux sauvages\", \"Football\", \"Groupe des amateurs de tir à l'arc\""
-
-#: ../../mod/new_channel.php:112
-msgid "Choose a short nickname"
-msgstr "Choisissez un alias"
-
-#: ../../mod/new_channel.php:113
-msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
-msgstr "Cet alias sera utilisé pour créer une adresse de canal, facile à retenir - un peu comme une adresse de courriel - que vous pourrez partager avec d'autres."
-
-#: ../../mod/new_channel.php:114
-msgid "Or <a href=\"import\">import an existing channel</a> from another location"
-msgstr "Ou <a href=\"import\">importez un canal existant</a> à un autre endroit"
-
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Identifiant de requête invalide."
-
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Annuler"
-
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Pas d'autre notification du système."
+msgstr ""
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Notifications du système"
+#: ../../mod/webpages.php:191
+msgid "Page Title"
+msgstr "Titre de la page"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Impossible de trouver votre hub."
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Recherche xchan"
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Contribution effectuée."
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Recherche xchan commençant par (ou adresse \"webbie\")&nbsp;:"
#: ../../mod/zfinger.php:23
msgid "invalid target signature"
msgstr "signature de la cible invalide"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Erreur du protocole OpenID. Pas d'ID retourné."
-
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "Application installée."
-
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Erreur de l'application - Malformée."
-
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Code intégré"
-
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Edition de l'Application"
-
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Création d'une Application"
-
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nom de l'application"
-
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Emplacement (Lien) vers l'application"
-
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "Lien (URL) de l'icône à utiliser pour cette photo"
-
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - optionel"
-
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Version"
-
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Prix de l'application"
-
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Emplacement (LIEN) pour l'achat de l'application"
-
-#: ../../mod/poll.php:64
-msgid "Poll"
-msgstr "Sondage"
-
-#: ../../mod/poll.php:69
-msgid "View Results"
-msgstr "Voir les Résultats"
-
-#: ../../mod/frphotos.php:79
-msgid "Friendica Photo Album Import"
-msgstr "Importer votre Album Photo Friendica"
-
-#: ../../mod/frphotos.php:80
-msgid "This will import all your Friendica photo albums to this Red channel."
-msgstr "Cette fonction va importer tous vos albums photos Friendica dans ce canal de la Matrice Rouge."
-
-#: ../../mod/frphotos.php:81
-msgid "Friendica Server base URL"
-msgstr "URL vers le serveur Friendica"
-
-#: ../../mod/frphotos.php:82
-msgid "Friendica Login Username"
-msgstr "Nom d'utilisateur Friendica"
-
-#: ../../mod/frphotos.php:83
-msgid "Friendica Login Password"
-msgstr "Mot de passe Friendica"
-
-#: ../../mod/removeaccount.php:30
-msgid ""
-"Account removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Il est impossible de supprimer un compte à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte."
-
-#: ../../mod/removeaccount.php:57
-msgid "Remove This Account"
-msgstr "Supprimer ce Compte"
-
-#: ../../mod/removeaccount.php:58
-msgid ""
-"This will completely remove this account including all its channels from the"
-" network. Once this has been done it is not recoverable."
-msgstr "Cette fonction va complètement supprimer le compte incluant tous ses canaux sur la matrice. Attention, cette action est irréversible."
-
-#: ../../mod/removeaccount.php:60
-msgid ""
-"Remove this account, all its channels and all its channel clones from the "
-"network"
-msgstr "Supprimer ce compte, tous ses canaux et tous les clones sur la matrice."
-
-#: ../../mod/removeaccount.php:60
-msgid ""
-"By default only the instances of the channels located on this hub will be "
-"removed from the network"
-msgstr "Par défault, seuls les instances de canaux situés sur ce hub seront supprimer de la matrice."
-
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
-msgstr "Par défault"
+msgstr ""
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
-msgstr "Sans-Serif"
+msgstr "Sans empâtements"
#: ../../view/theme/apw/php/config.php:204
msgid "Monospace"
-msgstr "Monospace"
+msgstr "Chasse fixe"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/blogga/php/config.php:69
-#: ../../view/theme/blogga/view/theme/blog/config.php:69
#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr "Réglages du thème"
#: ../../view/theme/apw/php/config.php:260
-#: ../../view/theme/redbasic/php/config.php:103
msgid "Set scheme"
msgstr "Définir la palette de couleurs"
@@ -7749,71 +8887,71 @@ msgstr "Définir le jeu d'icônes"
#: ../../view/theme/apw/php/config.php:264
msgid "Set big shadow size, default 15px 15px 15px"
-msgstr "Définir la taille des grandes ombres, par défaut 15px 15px 15px"
+msgstr ""
#: ../../view/theme/apw/php/config.php:265
msgid "Set small shadow size, default 5px 5px 5px"
-msgstr "Définir la taille des petites ombres, par défaut 5px 5px 5px"
+msgstr ""
#: ../../view/theme/apw/php/config.php:266
msgid "Set shadow color, default #000"
-msgstr "Définir la couleur des ombres, par défaut #000"
+msgstr ""
#: ../../view/theme/apw/php/config.php:267
msgid "Set radius size, default 5px"
-msgstr "Définir le rayon des arrondis, par défaut 5px"
+msgstr ""
#: ../../view/theme/apw/php/config.php:268
msgid "Set line-height for posts and comments"
-msgstr "Définir line-height pour contributions et commentaires"
+msgstr ""
#: ../../view/theme/apw/php/config.php:269
msgid "Set background image"
-msgstr "Définir l'image d'arrière-plan"
+msgstr ""
#: ../../view/theme/apw/php/config.php:270
msgid "Set background attachment"
-msgstr "Image de fond - fichier"
+msgstr ""
#: ../../view/theme/apw/php/config.php:271
msgid "Set background color"
-msgstr "Définir la couleur d'arrière-plan"
+msgstr ""
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
-msgstr "Définir l'image d'arrière-plan des sections"
+msgstr ""
#: ../../view/theme/apw/php/config.php:273
msgid "Set section background color"
-msgstr "Définir la couleur d'arrière-plan des sections"
+msgstr ""
#: ../../view/theme/apw/php/config.php:274
msgid "Set color of items - use hex"
-msgstr "Définir la couleur des éléments - en héxadécimal"
+msgstr ""
#: ../../view/theme/apw/php/config.php:275
msgid "Set color of links - use hex"
-msgstr "Définir la couleur des liens - en héxadécimal"
+msgstr ""
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Définir la largeur maximal des éléments. Par défaut, 400px"
+msgstr ""
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Définir la largeur minimale des éléments. Par défaut, 240px"
+msgstr ""
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Définir la largeur du contenu. Par défaut, 48%"
+msgstr ""
#: ../../view/theme/apw/php/config.php:279
msgid "Set color of fonts - use hex"
-msgstr "Définir la couleur des fontes - en héxadécimal"
+msgstr ""
#: ../../view/theme/apw/php/config.php:280
msgid "Set background-size element"
-msgstr "Définir background-size pour les éléments"
+msgstr "Taille du fond"
#: ../../view/theme/apw/php/config.php:281
msgid "Item opacity"
@@ -7855,25 +8993,14 @@ msgstr "Décalage gauche du panneau latéral"
msgid "Right offset of the aside element"
msgstr "Décalage droit du panneau latéral"
-#: ../../view/theme/blogga/php/config.php:47
-#: ../../view/theme/blogga/view/theme/blog/config.php:47
-msgid "None"
-msgstr "Aucun"
-
-#: ../../view/theme/blogga/php/config.php:70
-#: ../../view/theme/blogga/view/theme/blog/config.php:70
-msgid "Header image"
-msgstr "Image de l'entête"
-
-#: ../../view/theme/blogga/php/config.php:71
-#: ../../view/theme/blogga/view/theme/blog/config.php:71
-msgid "Header image only on profile pages"
-msgstr "Image de l'entête tel qu'elle est affichée sur la page du profil"
-
-#: ../../view/theme/redbasic/php/config.php:84
-msgid "Light (Hubzilla default)"
+#: ../../view/theme/redbasic/php/config.php:82
+msgid "Light (Red Matrix default)"
msgstr "Blanc (valeur par défaut)"
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Select scheme"
+msgstr "Définir la palette de couleurs"
+
#: ../../view/theme/redbasic/php/config.php:104
msgid "Narrow navbar"
msgstr "Barre de navigation fine"
@@ -7954,6 +9081,10 @@ msgstr "Définir la couleur de survol des icônes des éléments"
msgid "Set font-size for the entire application"
msgstr "Définir la taille de police pour l'application entière"
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Example: 14px"
+msgstr "Exemple : 14px"
+
#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-color for posts and comments"
msgstr "Définir font-colour pour les contributions et commentaires"
@@ -7967,12 +9098,16 @@ msgid "Set shadow depth of photos"
msgstr "Définir la profondeur de l'ombre des photos"
#: ../../view/theme/redbasic/php/config.php:128
-msgid "Set maximum width of conversation regions"
-msgstr "Définir la largeur maximale des conversations"
+msgid "Set maximum width of content region in pixel"
+msgstr "Définir la largeur maximale de la zone des contenus"
+
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Leave empty for default width"
+msgstr "Laissez vide pour avoir la largeur par défaut"
#: ../../view/theme/redbasic/php/config.php:129
-msgid "Center conversation regions"
-msgstr "Emplacement de la conversation - Centrer"
+msgid "Center page content"
+msgstr "Contenue de la page centrale"
#: ../../view/theme/redbasic/php/config.php:130
msgid "Set minimum opacity of nav bar - to hide it"
@@ -7986,49 +9121,51 @@ msgstr "Définir la taille de la photo de l'auteur d'une conversation"
msgid "Set size of followup author photos"
msgstr "Définir la taille de la photo de l'auteur d'une réponse"
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Sloppy photo albums"
-msgstr "Albums photo \"en biais\""
-
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Are you a clean desk or a messy desk person?"
-msgstr "Vous êtes plutôt \"bureau bien rangé\" ou \"gros foutoir\"?"
-
-#: ../../boot.php:1296
+#: ../../boot.php:1356
#, php-format
msgid "Update %s failed. See error logs."
-msgstr "La mise à jour %s a échoué. Merci de consulter les journaux d'erreur."
+msgstr "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur."
-#: ../../boot.php:1299
+#: ../../boot.php:1359
#, php-format
msgid "Update Error at %s"
-msgstr "Erreur de mise à jour sur %s"
+msgstr "Erreur de mise-à-jour sur %s"
-#: ../../boot.php:1473
+#: ../../boot.php:1526
msgid ""
-"Create an account to access services and applications within the Hubzilla"
+"Create an account to access services and applications within the Red Matrix"
msgstr "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red"
-#: ../../boot.php:1501
+#: ../../boot.php:1554
msgid "Password"
msgstr "Mot de passe"
-#: ../../boot.php:1502
+#: ../../boot.php:1555
msgid "Remember me"
msgstr "Se souvenir de moi"
-#: ../../boot.php:1507
+#: ../../boot.php:1558
msgid "Forgot your password?"
msgstr "Mot de passe oublié?"
-#: ../../boot.php:1572
-msgid "permission denied"
-msgstr "permission refusée"
-
-#: ../../boot.php:1573
-msgid "Got Zot?"
-msgstr "Authentification magique a échouée. Êtes-vous toujours connecté à votre HUB?"
-
-#: ../../boot.php:2003
+#: ../../boot.php:2182
msgid "toggle mobile"
msgstr "(dés)activer mobile"
+
+#: ../../boot.php:2317
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr "Le certificat SSL n'est pas valide. Corrigez le."
+
+#: ../../boot.php:2320
+#, php-format
+msgid "[red] Website SSL error for %s"
+msgstr "[red] Erreur SSL pour %s"
+
+#: ../../boot.php:2357
+msgid "Cron/Scheduled tasks not running."
+msgstr "Les taches planifiées ne tournent pas."
+
+#: ../../boot.php:2361
+#, php-format
+msgid "[red] Cron tasks not running on %s"
+msgstr "[red] tache planifiée n'est pas en fonction sur %s"
diff --git a/view/fr/strings.php b/view/fr/strings.php
index 4802ead50..5e17d7946 100644
--- a/view/fr/strings.php
+++ b/view/fr/strings.php
@@ -5,52 +5,107 @@ function string_plural_select_fr($n){
return ($n > 1);;
}}
;
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de base de données '%s'";
+App::$strings["No username found in import file."] = "Aucun nom d'utilisateur dans le fichier d'import.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Impossible de créer une adresse de canal unique. Échec de l'import.";
+App::$strings["Import completed."] = "L'import est terminé.";
+App::$strings["parent"] = "retour";
+App::$strings["Collection"] = "Collection";
+App::$strings["Principal"] = "Principal";
+App::$strings["Addressbook"] = "Carnet d'adresse";
+App::$strings["Calendar"] = "Calendrier";
+App::$strings["Schedule Inbox"] = "Calendrier - Message entrants";
+App::$strings["Schedule Outbox"] = "Calendrier - Message sortants";
+App::$strings["Unknown"] = "Inconnu";
+App::$strings["%1\$s used"] = "%1\$s utilisé";
+App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s utilisé de %2\$s (%3\$s&#37;)";
+App::$strings["Files"] = "Fichiers";
+App::$strings["Total"] = "Total";
+App::$strings["Shared"] = "Partagé";
+App::$strings["Create"] = "Créer";
+App::$strings["Upload"] = "Envoyer";
+App::$strings["Name"] = "Nom";
+App::$strings["Type"] = "Type";
+App::$strings["Size"] = "Taille";
+App::$strings["Last Modified"] = "Modifié le";
+App::$strings["Edit"] = "Éditer";
+App::$strings["Delete"] = "Supprimer";
+App::$strings["Create new folder"] = "Nouveau dossier";
+App::$strings["Upload file"] = "Téléverser un fichier";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BD '%s'";
App::$strings["Profile Photos"] = "Photos du profil";
-App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s et %2\$s sont maintenant amis.";
-App::$strings["Sharing notification from Diaspora network"] = "Partage de vos notifications du réseau Diaspora";
-App::$strings["photo"] = "photo";
-App::$strings["status"] = "le statut";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s";
-App::$strings["Attachments:"] = "Pièces jointes:";
-App::$strings["Embedded content"] = "Contenu imbriqué";
-App::$strings["Embedding disabled"] = "Imbrication désactivée";
-App::$strings["created a new post"] = "a publié";
-App::$strings["commented on %s's post"] = "a commenté la publication de %s";
-App::$strings["Site Admin"] = "Administrateur";
+App::$strings["Logout"] = "Déconnexion";
+App::$strings["End this session"] = "Mettre fin à la session";
+App::$strings["Home"] = "Canal";
+App::$strings["Your posts and conversations"] = "Vos publications et conversations";
+App::$strings["View Profile"] = "Profil";
+App::$strings["Your profile page"] = "Votre profil";
+App::$strings["Edit Profiles"] = "Éditer les profils";
+App::$strings["Manage/Edit profiles"] = "Gérer/éditer les profils";
+App::$strings["Edit Profile"] = "Éditeur de profil";
+App::$strings["Edit your profile"] = "Éditer votre profil";
+App::$strings["Photos"] = "Photos";
+App::$strings["Your photos"] = "Vos photos";
+App::$strings["Your files"] = "Vos fichiers";
+App::$strings["Chat"] = "Clavardage";
+App::$strings["Your chatrooms"] = "Vos salons";
App::$strings["Bookmarks"] = "Favoris";
-App::$strings["Address Book"] = "Carnet d'adresses";
+App::$strings["Your bookmarks"] = "Vos favoris";
+App::$strings["Webpages"] = "Pages web";
+App::$strings["Your webpages"] = "Vos pages web";
App::$strings["Login"] = "Connexion";
-App::$strings["Channel Select"] = "Changer de canal";
+App::$strings["Sign in"] = "Connexion";
+App::$strings["%s - click to logout"] = "%s - cliquer ici pour déconnecter";
+App::$strings["Remote authentication"] = "Authentification distante";
+App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub";
+App::$strings["Home Page"] = "Page d'accueil";
+App::$strings["Register"] = "S'inscrire";
+App::$strings["Create an account"] = "Créer un compte";
+App::$strings["Help"] = "Aide";
+App::$strings["Help and documentation"] = "Aide et documentation";
+App::$strings["Apps"] = "Applications";
+App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux";
+App::$strings["Search"] = "Recherche";
+App::$strings["Search site content"] = "Rechercher parmi le contenu du site";
+App::$strings["Directory"] = "Annuaire";
+App::$strings["Channel Directory"] = "Annuaire des canaux";
App::$strings["Matrix"] = "Matrice";
-App::$strings["Settings"] = "Réglages";
-App::$strings["Files"] = "Fichiers";
-App::$strings["Webpages"] = "Pages web";
+App::$strings["Your matrix"] = "Votre matrice";
+App::$strings["Mark all matrix notifications seen"] = "Marquer toutes les notifications de la matrice comme vues";
App::$strings["Channel Home"] = "Mon canal";
-App::$strings["Profile"] = "Profil";
-App::$strings["Photos"] = "Photos";
-App::$strings["Events"] = "Événements";
-App::$strings["Directory"] = "Annuaire";
-App::$strings["Help"] = "Aide";
+App::$strings["Channel home"] = "Mon canal";
+App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues";
+App::$strings["Connections"] = "Relations";
+App::$strings["Notices"] = "Notifications";
+App::$strings["Notifications"] = "Notifications";
+App::$strings["See all notifications"] = "Voir toutes les notifications";
+App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues";
App::$strings["Mail"] = "Messages";
-App::$strings["Mood"] = "Humeur";
-App::$strings["Poke"] = "Cogner";
-App::$strings["Chat"] = "Clavardage";
-App::$strings["Search"] = "Recherche";
-App::$strings["Probe"] = "Sonder";
-App::$strings["Suggest"] = "Suggérer";
-App::$strings["Random Channel"] = "Un canal au hasard";
-App::$strings["Invite"] = "Invitation";
-App::$strings["Features"] = "Fonctionalités";
-App::$strings["Language"] = "Langue";
-App::$strings["Post"] = "Envoyer";
-App::$strings["Profile Photo"] = "Photo du profil";
-App::$strings["Update"] = "Mise à jour";
-App::$strings["Install"] = "Installer";
-App::$strings["Purchase"] = "Acheter";
-App::$strings["Edit"] = "Éditer";
-App::$strings["Delete"] = "Supprimer";
-App::$strings["Unknown"] = "Inconnu";
+App::$strings["Private mail"] = "Messages privés";
+App::$strings["See all private messages"] = "Voir tous les messages privés";
+App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus";
+App::$strings["Inbox"] = "Boîte de réception";
+App::$strings["Outbox"] = "Boîte d'envoi";
+App::$strings["New Message"] = "Nouveau message";
+App::$strings["Events"] = "Événements";
+App::$strings["Event Calendar"] = "Calendrier des événements";
+App::$strings["See all events"] = "Voir tous les événements";
+App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
+App::$strings["Channel Manager"] = "Gérer les canaux";
+App::$strings["Manage Your Channels"] = "Gérer vos canaux";
+App::$strings["Settings"] = "Réglages";
+App::$strings["Account/Channel Settings"] = "Réglages du Compte/Canal";
+App::$strings["Admin"] = "Administrateur";
+App::$strings["Site Setup and Configuration"] = "Configuration du site";
+App::$strings["Loading..."] = "Chargement...";
+App::$strings["@name, #tag, content"] = "@nom, #tag, contenu";
+App::$strings["Please wait..."] = "Merci de patienter...";
+App::$strings["view full size"] = "pleine taille";
+App::$strings["\$Projectname Notification"] = "Notification de \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Merci,";
+App::$strings["%s Administrator"] = "l'administrateur de %s";
+App::$strings["Administrator"] = "Administrateur";
+App::$strings["No Subject"] = "Pas de sujet";
App::$strings["prev"] = "préc.";
App::$strings["first"] = "premier";
App::$strings["last"] = "dernier";
@@ -64,31 +119,31 @@ App::$strings["%d Connection"] = array(
);
App::$strings["View Connections"] = "Voir les relations";
App::$strings["Save"] = "Sauver";
-App::$strings["poke"] = "cogner";
-App::$strings["poked"] = "a cogné";
+App::$strings["poke"] = "cogne";
+App::$strings["poked"] = "C'est fait cogner";
App::$strings["ping"] = "solliciter";
-App::$strings["pinged"] = "a sollicité";
-App::$strings["prod"] = "encourager";
-App::$strings["prodded"] = "a encouragé";
-App::$strings["slap"] = "gifler";
-App::$strings["slapped"] = "a giflé";
+App::$strings["pinged"] = "sollicité";
+App::$strings["prod"] = "aiguillonner";
+App::$strings["prodded"] = "aiguillonné";
+App::$strings["slap"] = "giffle";
+App::$strings["slapped"] = "gifflé";
App::$strings["finger"] = "pointer";
-App::$strings["fingered"] = "a pointé";
-App::$strings["rebuff"] = "rejeter";
-App::$strings["rebuffed"] = "a rejeté";
+App::$strings["fingered"] = "pointé";
+App::$strings["rebuff"] = "rejetter";
+App::$strings["rebuffed"] = "rejetté";
App::$strings["happy"] = "heureux";
App::$strings["sad"] = "triste";
App::$strings["mellow"] = "mélancolique";
App::$strings["tired"] = "fatigué";
App::$strings["perky"] = "impertinent";
-App::$strings["angry"] = "colérique";
+App::$strings["angry"] = "colèrique";
App::$strings["stupified"] = "stupéfié";
App::$strings["puzzled"] = "perplexe";
App::$strings["interested"] = "intéressé";
App::$strings["bitter"] = "amer";
-App::$strings["cheerful"] = "joyeux";
+App::$strings["cheerful"] = "entrain";
App::$strings["alive"] = "énergique";
-App::$strings["annoyed"] = "agacé";
+App::$strings["annoyed"] = "agaçé";
App::$strings["anxious"] = "anxieux";
App::$strings["cranky"] = "énervé";
App::$strings["disturbed"] = "perturbé";
@@ -121,28 +176,143 @@ App::$strings["bytes"] = "octets";
App::$strings["remove category"] = "supprimer la catégorie";
App::$strings["remove from file"] = "retirer du fichier";
App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer";
-App::$strings["Link to Source"] = "Lien vers la source";
-App::$strings["Select a page layout: "] = "Choisir une mise en page&nbsp;:";
+App::$strings["Link to Source"] = "Lien vers la Source";
App::$strings["default"] = "défaut";
-App::$strings["Page content type: "] = "Type de contenu&nbsp;:";
+App::$strings["Page layout"] = "Mises en page";
+App::$strings["You can create your own with the layouts tool"] = "Créez les votres avec les outils de mise en page";
+App::$strings["Page content type"] = "Type de contenu";
App::$strings["Select an alternate language"] = "Choisir une langue alternative";
+App::$strings["photo"] = "photo";
App::$strings["event"] = "événement";
+App::$strings["status"] = "le statut";
App::$strings["comment"] = "commentaire";
App::$strings["activity"] = "activité";
-App::$strings["Design"] = "Conception";
+App::$strings["Design Tools"] = "Outils de conception";
App::$strings["Blocks"] = "Blocs";
App::$strings["Menus"] = "Menus";
App::$strings["Layouts"] = "Mises-en-page";
App::$strings["Pages"] = "Pages";
-App::$strings["New Page"] = "Nouvelle page";
-App::$strings["View"] = "Voir";
+App::$strings["Categories"] = "Catégories";
+App::$strings["System"] = "Système";
+App::$strings["Personal"] = "Personnel";
+App::$strings["Create Personal App"] = "Créer Votre Application";
+App::$strings["Edit Personal App"] = "Éditer Votre Application";
+App::$strings["Connect"] = "Ajouter";
+App::$strings["Ignore/Hide"] = "Ignorer/Cacher";
+App::$strings["Suggestions"] = "Suggestion";
+App::$strings["See more..."] = "Voir plus...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f des %2$.0f relations autorisées.";
+App::$strings["Add New Connection"] = "Ajouter une nouvelle relation";
+App::$strings["Enter the channel address"] = "Adresse du canal";
+App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Exemple&nbsp;: bob@exemple.com, http://exemple.com/barbara";
+App::$strings["Notes"] = "Notes";
+App::$strings["Remove term"] = "Retirer le terme";
+App::$strings["Saved Searches"] = "Recherches sauvées";
+App::$strings["add"] = "ajouter";
+App::$strings["Saved Folders"] = "Dossiers sauvegardés";
+App::$strings["Everything"] = "Tout";
+App::$strings["Archives"] = "Archives";
+App::$strings["Me"] = "Moi";
+App::$strings["Family"] = "Famille";
+App::$strings["Friends"] = "Amis";
+App::$strings["Acquaintances"] = "Mes connaissances";
+App::$strings["All"] = "Tout";
+App::$strings["Refresh"] = "Actualiser";
+App::$strings["Account settings"] = "Réglages du Compte";
+App::$strings["Channel settings"] = "Réglages du Canal";
+App::$strings["Additional features"] = "Fonctions supplémentaires";
+App::$strings["Feature/Addon settings"] = "Extensions";
+App::$strings["Display settings"] = "Réglages d'affichage";
+App::$strings["Connected apps"] = "Applications connectées";
+App::$strings["Export channel"] = "Exporter le canal";
+App::$strings["Connection Default Permissions"] = "Permissions par défaut des connexions";
+App::$strings["Premium Channel Settings"] = "Canal VIP";
+App::$strings["Channel Sources"] = "Canaux sources";
+App::$strings["Messages"] = "Messages";
+App::$strings["Check Mail"] = "Vérifier le courrier";
+App::$strings["Chat Rooms"] = "Salons de clavardage";
+App::$strings["Bookmarked Chatrooms"] = "Salons favoris";
+App::$strings["Suggested Chatrooms"] = "Salons suggérés";
+App::$strings["photo/image"] = "photo/image";
+App::$strings["Rate Me"] = "Me noter";
+App::$strings["View Ratings"] = "Voir mes notes";
+App::$strings["Public Hubs"] = "Instances publiques";
+App::$strings["New window"] = "Nouvelle fenêtre";
+App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre (ou un onglet) différent";
+App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé";
+App::$strings["No recipient provided."] = "Pas de destinataire.";
+App::$strings["[no subject]"] = "[sans objet]";
+App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur.";
+App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié.";
+App::$strings["Invalid data packet"] = "Paquet de données invalide";
+App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal";
+App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s";
+App::$strings["created a new post"] = "a publié";
+App::$strings["commented on %s's post"] = "a commenté la publication de %s";
+App::$strings["Private Message"] = "Message Privé";
+App::$strings["Select"] = "Sélectionner";
+App::$strings["Save to Folder"] = "Sauvegarder dans le dossier";
+App::$strings["I will attend"] = "J'y serais";
+App::$strings["I will not attend"] = "Je n'y serais pas";
+App::$strings["I might attend"] = "J'y serais peut-être";
+App::$strings["I agree"] = "J'approuve";
+App::$strings["I disagree"] = "Je désapprouve";
+App::$strings["I abstain"] = "Je m'abstiens";
+App::$strings["View all"] = "Voir tout";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "J'aime",
+ 1 => "J'aime",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Je déteste",
+ 1 => "Je déteste",
+);
+App::$strings["Add Star"] = "Ajouter Étoile";
+App::$strings["Remove Star"] = "Supprimer Étoile";
+App::$strings["Toggle Star Status"] = "Changer le Statut des Étoiles";
+App::$strings["starred"] = "mis en avant";
+App::$strings["Message signature validated"] = "Signature du message validée";
+App::$strings["Message signature incorrect"] = "Signature du message incorrecte";
+App::$strings["Add Tag"] = "Ajouter une balise";
+App::$strings["I like this (toggle)"] = "J'aime (oui/non)";
+App::$strings["like"] = "aime";
+App::$strings["I don't like this (toggle)"] = "Je déteste (oui/non)";
+App::$strings["dislike"] = "déteste";
+App::$strings["Share This"] = "Partager";
+App::$strings["share"] = "partager";
+App::$strings["%d comment"] = array(
+ 0 => "%d commentaire",
+ 1 => "%d commentaires",
+);
+App::$strings["View %s's profile - %s"] = "Voir le profil de %s - %s";
+App::$strings["to"] = "à";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "Mur-mur";
+App::$strings["via Wall-To-Wall:"] = "par Mur-mur&nbsp;:";
+App::$strings["from %s"] = "de %s";
+App::$strings["last edited: %s"] = "dernière édition&nbsp;: %s";
+App::$strings["Expires: %s"] = "Expire&nbsp;: %s";
+App::$strings["Save Bookmarks"] = "Enregistrer un favori";
+App::$strings["Add to Calendar"] = "Ajouter au Calendrier";
+App::$strings["Mark all seen"] = "Tout marquer comme vu";
+App::$strings["__ctx:noun__ Likes"] = "Aimes";
+App::$strings["__ctx:noun__ Dislikes"] = "Détestes";
+App::$strings["Close"] = "Fermer";
+App::$strings["Please wait"] = "Merci de patienter";
+App::$strings["[+] show all"] = "[+] voir plus";
+App::$strings["This is you"] = "C'est vous";
+App::$strings["Comment"] = "Commenter";
+App::$strings["Submit"] = "Envoyer";
+App::$strings["Bold"] = "Gras";
+App::$strings["Italic"] = "Italique";
+App::$strings["Underline"] = "Souligné";
+App::$strings["Quote"] = "Citation";
+App::$strings["Code"] = "Code";
+App::$strings["Image"] = "Image";
+App::$strings["Insert Link"] = "Insérer un lien";
+App::$strings["Video"] = "Vidéo";
App::$strings["Preview"] = "Aperçu";
-App::$strings["Actions"] = "Actions";
-App::$strings["Page Link"] = "Lien vers la page";
-App::$strings["Title"] = "Titre";
-App::$strings["Created"] = "Créé";
-App::$strings["Edited"] = "Édité";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures).";
+App::$strings["Encrypt text"] = "Chiffrer le texte";
App::$strings["Not a valid email address"] = "Ce n'est pas une adresse de courriel valide";
App::$strings["Your email domain is not among those allowed on this site"] = "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site";
App::$strings["Your email address is already registered at this site."] = "Votre adresse de courriel est déjà inscrite sur ce site.";
@@ -152,34 +322,47 @@ App::$strings["Please enter the required information."] = "Merci d'entrer les in
App::$strings["Failed to store account information."] = "Impossible de stocker les informations liées au compte.";
App::$strings["Registration confirmation for %s"] = "Confirmation de l'enregistrement pour %s";
App::$strings["Registration request at %s"] = "Demande d'inscription sur %s";
-App::$strings["Administrator"] = "Administrateur";
App::$strings["your registration password"] = "votre mot de passe d'inscription";
App::$strings["Registration details for %s"] = "Détails de l'inscription à %s";
App::$strings["Account approved."] = "Compte approuvé.";
App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s";
App::$strings["Account verified. Please login."] = "Compte vérifié. Veuillez vous connecter.";
-App::$strings["Permission denied."] = "Permission refusée.";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets";
-App::$strings["Image file is empty."] = "L'image est vide.";
-App::$strings["Unable to process image"] = "Impossible de traiter l'image";
-App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué.";
-App::$strings["Photo Albums"] = "Albums photo";
-App::$strings["Upload New Photos"] = "Ajouter des photos";
+App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait.";
+App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas possible avec la formule choisie.";
+App::$strings["Embedded content"] = "Contenu imbriqué";
+App::$strings["Embedding disabled"] = "Imbrication désactivée";
App::$strings["Visible to your default audience"] = "Visible pour vos contacts seulement.";
-App::$strings["Show"] = "Voir plus";
+App::$strings["Show"] = "Montrer";
App::$strings["Don't show"] = "Cacher";
App::$strings["Permissions"] = "Permissions";
-App::$strings["Close"] = "Fermer";
-App::$strings[" and "] = " et ";
+App::$strings[" and "] = "et";
App::$strings["public profile"] = "profil public";
App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s a changé %2\$s en &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Visiter %1\$s sur %2\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s.";
+App::$strings["Visit %1\$s's %2\$s"] = "Visiter %1\$s de %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis-à-jour %2\$s, modifiant %3\$s.";
App::$strings["Public Timeline"] = "Fil public";
+App::$strings["Site Admin"] = "Administrateur";
+App::$strings["Address Book"] = "Carnet d'adresse";
+App::$strings["Profile"] = "Profil";
+App::$strings["Mood"] = "Humeur";
+App::$strings["Poke"] = "Cogner";
+App::$strings["Probe"] = "Sonder";
+App::$strings["Suggest"] = "Suggérer";
+App::$strings["Random Channel"] = "Un Canal au Hasard";
+App::$strings["Invite"] = "Invitation";
+App::$strings["Features"] = "Fonctionalités";
+App::$strings["Language"] = "Langue";
+App::$strings["Post"] = "Envoyer";
+App::$strings["Profile Photo"] = "Photo du Profil";
+App::$strings["Update"] = "Mise-à-jour";
+App::$strings["Install"] = "Installer";
+App::$strings["Purchase"] = "Acheter";
+App::$strings["Permission denied."] = "Permission refusée.";
App::$strings["Item was not found."] = "Élément introuvable.";
App::$strings["No source file."] = "Pas de fichier source.";
App::$strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer.";
-App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour";
+App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre-à-jour";
App::$strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d";
App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes";
App::$strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée.";
@@ -190,79 +373,37 @@ App::$strings["duplicate filename or path"] = "doublon de chemin ou de fichier";
App::$strings["Path not found."] = "Chemin introuvable.";
App::$strings["mkdir failed."] = "mkdir a échoué.";
App::$strings["database storage failed."] = "l'écriture dans la BD a échoué";
-App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait.";
-App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas possible avec la formule choisie.";
+App::$strings["Logged out."] = "Deconnecté.";
+App::$strings["Failed authentication"] = "Échec de l'authentification";
+App::$strings["Login failed."] = "Échec de la connexion.";
+App::$strings["Attachments:"] = "Pièces jointes:";
App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi";
+App::$strings["\$Projectname event notification:"] = "Notification d'événement de \$Projectname";
App::$strings["Starts:"] = "Début&nbsp;:";
App::$strings["Finishes:"] = "Fin&nbsp;:";
App::$strings["Location:"] = "Emplacement&nbsp;:";
-App::$strings["Logout"] = "Déconnexion";
-App::$strings["End this session"] = "Mettre fin à la session";
-App::$strings["Home"] = "Canal";
-App::$strings["Your posts and conversations"] = "Vos publications et conversations";
-App::$strings["View Profile"] = "Voir profil";
-App::$strings["Your profile page"] = "Votre profil";
-App::$strings["Edit Profiles"] = "Éditer les profils";
-App::$strings["Manage/Edit profiles"] = "Gérer/éditer les profils";
-App::$strings["Edit Profile"] = "Éditer le profil";
-App::$strings["Edit your profile"] = "Éditer votre profil";
-App::$strings["Your photos"] = "Vos photos";
-App::$strings["Your files"] = "Vos fichiers";
-App::$strings["Your chatrooms"] = "Vos salons";
-App::$strings["Your bookmarks"] = "Vos favoris";
-App::$strings["Your webpages"] = "Vos pages web";
-App::$strings["Sign in"] = "Connexion";
-App::$strings["%s - click to logout"] = "%s - cliquer ici pour déconnecter";
-App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub";
-App::$strings["Home Page"] = "Page d'accueil";
-App::$strings["Register"] = "S'inscrire";
-App::$strings["Create an account"] = "Créer un compte";
-App::$strings["Help and documentation"] = "Aide et documentation";
-App::$strings["Apps"] = "Applications";
-App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux";
-App::$strings["Search site content"] = "Rechercher parmi le contenu du site";
-App::$strings["Channel Locator"] = "Localisation de canaux";
-App::$strings["Your matrix"] = "Votre matrice";
-App::$strings["Mark all matrix notifications seen"] = "Marquer toutes les notifications de la matrice comme vues";
-App::$strings["Channel home"] = "Mon canal";
-App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues";
-App::$strings["Connections"] = "Relations";
-App::$strings["Notices"] = "Notifications";
-App::$strings["Notifications"] = "Notifications";
-App::$strings["See all notifications"] = "Voir toutes les notifications";
-App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues";
-App::$strings["Private mail"] = "Messages privés";
-App::$strings["See all private messages"] = "Voir tous les messages privés";
-App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus";
-App::$strings["Inbox"] = "Boîte de réception";
-App::$strings["Outbox"] = "Boîte d'envoi";
-App::$strings["New Message"] = "Nouveau message";
-App::$strings["Event Calendar"] = "Calendrier des événements";
-App::$strings["See all events"] = "Voir tous les événements";
-App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
-App::$strings["Manage Your Channels"] = "Gérer vos canaux";
-App::$strings["Account/Channel Settings"] = "Réglages du Compte/Canal";
-App::$strings["Admin"] = "Administrateur";
-App::$strings["Site Setup and Configuration"] = "Configuration du site";
-App::$strings["Nothing new here"] = "Aucun nouveau contenu trouvé";
-App::$strings["Please wait..."] = "Merci de patienter...";
+App::$strings["Image/photo"] = "Image/photo";
+App::$strings["Encrypted content"] = "Contenu chiffré";
+App::$strings["Install %s element: "] = "Installer %s élément";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site.";
+App::$strings["webpage"] = "Pages web";
+App::$strings["layout"] = "Mises en page";
+App::$strings["block"] = "Bloquer";
+App::$strings["menu"] = "Menu";
+App::$strings["QR code"] = "code QR";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
+App::$strings["post"] = "l'article";
+App::$strings["Different viewers will see this text differently"] = "Ce texte aura un rendu différent en fonction des navigateurs";
+App::$strings["$1 spoiler"] = "Dévoile&nbsp;: $1";
+App::$strings["$1 wrote:"] = "$1 a écrit&nbsp;:";
App::$strings["%1\$s's bookmarks"] = "Favoris de %1\$s";
-App::$strings["Tags"] = "Étiquettes";
-App::$strings["Keywords"] = "Mots-clefs";
-App::$strings["have"] = "ont";
-App::$strings["has"] = "a";
-App::$strings["want"] = "veulent";
-App::$strings["wants"] = "veut";
-App::$strings["like"] = "aime";
-App::$strings["likes"] = "aiment";
-App::$strings["dislike"] = "déteste";
-App::$strings["dislikes"] = "détestent";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "J'aime",
- 1 => "J'aime",
-);
+App::$strings["Missing room name"] = "Il manque le nom du salon";
+App::$strings["Duplicate room name"] = "Un salon de ce nom existe déjà";
+App::$strings["Invalid room specifier."] = "Identifiant de salon invalide.";
+App::$strings["Room not found."] = "Salon introuvable.";
+App::$strings["Room is full"] = "Le salon est plein";
App::$strings["Default"] = "Défaut";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures).";
App::$strings["Frequently"] = "Constamment";
App::$strings["Hourly"] = "Chaque heure";
App::$strings["Twice daily"] = "Deux fois par jour";
@@ -292,123 +433,31 @@ App::$strings["Find"] = "Trouver";
App::$strings["Channel Suggestions"] = "Canaux suggérés";
App::$strings["Random Profile"] = "Un profil au hasard";
App::$strings["Invite Friends"] = "Inviter des amis";
-App::$strings["Exammple: name=fred and country=iceland"] = "Exemple: name=fred and country=iceland";
-App::$strings["Advanced Find"] = "Recherche avancée";
-App::$strings["Saved Folders"] = "Dossiers sauvegardés";
-App::$strings["Everything"] = "Tout";
-App::$strings["Categories"] = "Catégories";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé&nbsp;: name=fred and country=iceland";
App::$strings["%d connection in common"] = array(
0 => "%d relation en commun",
1 => "%d relations en commun",
);
App::$strings["show more"] = "montrer plus";
-App::$strings["This event has been added to your calendar."] = "Cet événement a été ajouté à votre calendrier.";
-App::$strings["Invalid data packet"] = "Paquet de données invalide";
-App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal";
-App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s";
-App::$strings["Miscellaneous"] = "Divers";
-App::$strings["year"] = "année";
-App::$strings["month"] = "mois";
-App::$strings["day"] = "jour";
-App::$strings["never"] = "jamais";
-App::$strings["less than a second ago"] = "à l'instant";
-App::$strings["years"] = "années";
-App::$strings["months"] = "mois";
-App::$strings["week"] = "semaine";
-App::$strings["weeks"] = "semaines";
-App::$strings["days"] = "jours";
-App::$strings["hour"] = "heure";
-App::$strings["hours"] = "heures";
-App::$strings["minute"] = "minute";
-App::$strings["minutes"] = "minutes";
-App::$strings["second"] = "seconde";
-App::$strings["seconds"] = "secondes";
-App::$strings["%1\$d %2\$s ago"] = "il y a %1\$d %2\$s";
-App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s";
-App::$strings["Sort Options"] = "Options de tri";
-App::$strings["Alphabetic"] = "Alphabétique";
-App::$strings["Reverse Alphabetic"] = "Alphabétique inversé";
-App::$strings["Newest to Oldest"] = "Anté-chronologique";
-App::$strings["Enable Safe Search"] = "Activer la recherche sûre";
-App::$strings["Disable Safe Search"] = "Désactiver la recherche sûre";
-App::$strings["Safe Mode"] = "Mode sûr";
-App::$strings["Hubzilla Notification"] = "Notification Matrice Rouge";
-App::$strings["hubzilla"] = "Matrice Rouge";
-App::$strings["Thank You,"] = "Merci,";
-App::$strings["%s Administrator"] = "l'administrateur de %s";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Red:Notify] New mail received at %s"] = "[Red:Notification] Nouveau message reçu sur %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s.";
-App::$strings["a private message"] = "un message privé";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Merci de visiter %s pour voir et/ou répondre à vos messages privés.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté [zrl=%3\$s]votre %4\$s[/zrl]";
-App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notification] Commentaire de %2\$s sur conversation #%1\$d";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
-App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notification] %s a publié sur votre profil";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
-App::$strings["[Red:Notify] %s tagged you"] = "[Red:Notification] %s vous a étiqueté";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
-App::$strings["[Red:Notify] %1\$s poked you"] = "[Red:Notification] %1\$s vous a cogné";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a cogné sur %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a cogné[/zrl].";
-App::$strings["[Red:Notify] %s tagged your post"] = "[Red:Notification] %s a étiqueté votre publication";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
-App::$strings["[Red:Notify] Introduction received"] = "[Red:Notification] Nouvelle introduction";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de mise en relation de '%2\$s' sur %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de mise en relation[/zrl] de %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de relation.";
-App::$strings["[Red:Notify] Friend suggestion received"] = "[Red:Notification] Nouvelle suggestion d'amitié";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion de relation de '%2\$s' à %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion de relation[/zrl] de %4\$s.";
-App::$strings["Name:"] = "Nom&nbsp;:";
-App::$strings["Photo:"] = "Photo&nbsp;:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion.";
-App::$strings["[Red:Notify]"] = "[Red:Notification]";
-App::$strings["parent"] = "retour";
-App::$strings["Collection"] = "Collection";
-App::$strings["Principal"] = "Principal";
-App::$strings["Addressbook"] = "Carnet d'adresse";
-App::$strings["Calendar"] = "Calendrier";
-App::$strings["Schedule Inbox"] = "Calendrier - Message entrants";
-App::$strings["Schedule Outbox"] = "Calendrier - Message sortants";
-App::$strings["%1\$s used"] = "%1\$s utilisé";
-App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s utilisé de %2\$s (%3\$s&#37;)";
-App::$strings["Name"] = "Nom";
-App::$strings["Type"] = "Type";
-App::$strings["Size"] = "Taille";
-App::$strings["Last Modified"] = "Modifié le";
-App::$strings["Total"] = "Total";
-App::$strings["Create new folder"] = "Nouveau dossier";
-App::$strings["Create"] = "Créer";
-App::$strings["Upload file"] = "Téléverser un fichier";
-App::$strings["Upload"] = "Envoyer";
App::$strings["channel"] = "canal";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s";
App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s déteste %3\$s de %2\$s";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ajoute %2\$s à ses relations";
App::$strings["%1\$s poked %2\$s"] = "%1\$s a cogné %2\$s";
App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s";
-App::$strings["Select"] = "Sélectionner";
-App::$strings["Private Message"] = "Message Privé";
-App::$strings["Message is verified"] = "Message vérifié";
+App::$strings["__ctx:title__ Likes"] = "J'aime";
+App::$strings["__ctx:title__ Dislikes"] = "Je n'aime pas";
+App::$strings["__ctx:title__ Agree"] = "Accord";
+App::$strings["__ctx:title__ Disagree"] = "Désaccord";
+App::$strings["__ctx:title__ Abstain"] = "Abstention";
+App::$strings["__ctx:title__ Attending"] = "Participations";
+App::$strings["__ctx:title__ Not attending"] = "Non-participations";
+App::$strings["__ctx:title__ Might attend"] = "Participation possible";
App::$strings["View %s's profile @ %s"] = "Voir le profil de %s @ %s";
App::$strings["Categories:"] = "Catégories&nbsp;:";
App::$strings["Filed under:"] = "Classé sous&nbsp;:";
-App::$strings[" from %s"] = "de %s";
-App::$strings["last edited: %s"] = "dernière édition&nbsp;: %s";
-App::$strings["Expires: %s"] = "Expire&nbsp;: %s";
App::$strings["View in context"] = "Voir en contexte";
-App::$strings["Please wait"] = "Merci de patienter";
App::$strings["remove"] = "supprimer";
-App::$strings["Loading..."] = "Chargement...";
App::$strings["Delete Selected Items"] = "Supprimer les éléments selectionnés";
App::$strings["View Source"] = "Voir source";
App::$strings["Follow Thread"] = "Suivre discussion";
@@ -437,13 +486,13 @@ App::$strings["%s don't like this."] = "%s déteste ça.";
App::$strings["Visible to <strong>everybody</strong>"] = "Visible par <strong>tout le monde</strong>";
App::$strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien&nbsp;:";
App::$strings["Please enter a video link/URL:"] = "Merci d'entrer l'URL d'une video&nbsp;:";
-App::$strings["Please enter an audio link/URL:"] = "Merci d'entrer l'URL d'un contenu audio&nbsp;:";
+App::$strings["Please enter an audio link/URL:"] = "Merci d'entrer l'URL d'un contenu audio&nsbp;:";
App::$strings["Tag term:"] = "Étiquette&nbsp;:";
App::$strings["Save to Folder:"] = "Classer dans le dossier&nbsp;:";
App::$strings["Where are you right now?"] = "Où êtes-vous présentement?";
App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire YYYY-MM-DD HH:MM";
App::$strings["Share"] = "Partager";
-App::$strings["Page link title"] = "Titre du lien vers la page";
+App::$strings["Page link name"] = "Nom du lien vers la page";
App::$strings["Post as"] = "Publier en tant que";
App::$strings["Upload photo"] = "Téléverser une photo";
App::$strings["upload photo"] = "téléverser une photo";
@@ -457,16 +506,16 @@ App::$strings["Insert audio link"] = "Insérer un lien audio";
App::$strings["audio link"] = "lien audio";
App::$strings["Set your location"] = "Spécifier votre emplacement géographique";
App::$strings["set location"] = "spécifier l'emplacement géographique";
+App::$strings["Toggle voting"] = "(Dés)activer le vote";
App::$strings["Clear browser location"] = "Nettoyer l'emplacement géographique du navigateur";
App::$strings["clear location"] = "nettoyer l'emplacement géographique";
-App::$strings["Set title"] = "Spécifier le titre";
-App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)";
+App::$strings["Title (optional)"] = "Titre (facultatif)";
+App::$strings["Categories (optional, comma-separated list)"] = "Catégories (facultatives, séparées par des virgules)";
App::$strings["Permission settings"] = "Permissions";
App::$strings["permissions"] = "permissions";
App::$strings["Public post"] = "Contenu public";
App::$strings["Example: bob@example.com, mary@example.com"] = "Exemple: robert@exemple.com, marie@exemple.com";
App::$strings["Set expiration date"] = "Définir la date d'expiration";
-App::$strings["Encrypt text"] = "Chiffrer le texte";
App::$strings["OK"] = "Ok";
App::$strings["Cancel"] = "Annuler";
App::$strings["Discover"] = "À découvrir";
@@ -475,7 +524,6 @@ App::$strings["Commented Order"] = "Commentaires Récents";
App::$strings["Sort by Comment Date"] = "Trier par date de dernier commentaire";
App::$strings["Posted Order"] = "Publications Récentes";
App::$strings["Sort by Post Date"] = "Trier par date de publication";
-App::$strings["Personal"] = "Personnel";
App::$strings["Posts that mention or involve you"] = "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre";
App::$strings["New"] = "Nouveautés";
App::$strings["Activity Stream - by date"] = "Flux d'activité - par date";
@@ -487,10 +535,105 @@ App::$strings["Channel"] = "Canal";
App::$strings["Status Messages and Posts"] = "Messages d'état et contributions";
App::$strings["About"] = "À propos";
App::$strings["Profile Details"] = "Détails du profil";
+App::$strings["Photo Albums"] = "Albums photo";
App::$strings["Files and Storage"] = "Fichiers et Stockage";
App::$strings["Chatrooms"] = "Salons de clavardage";
App::$strings["Saved Bookmarks"] = "Favoris sauvegardés";
App::$strings["Manage Webpages"] = "Gérer les pages web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Participation",
+ 1 => "Participations",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Non-participation",
+ 1 => "Non-participations",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indécis",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "D'accord",
+ 1 => "D'accord",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Pas d'accord",
+ 1 => "Pas d'accord",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Sans opinion",
+ 1 => "Sans opinion",
+);
+App::$strings["Miscellaneous"] = "Divers";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-JJ ou MM-JJ";
+App::$strings["Required"] = "Requis";
+App::$strings["never"] = "jamais";
+App::$strings["less than a second ago"] = "à l'instant";
+App::$strings["year"] = "année";
+App::$strings["years"] = "années";
+App::$strings["month"] = "mois";
+App::$strings["months"] = "mois";
+App::$strings["week"] = "semaine";
+App::$strings["weeks"] = "semaines";
+App::$strings["day"] = "jour";
+App::$strings["days"] = "jours";
+App::$strings["hour"] = "heure";
+App::$strings["hours"] = "heures";
+App::$strings["minute"] = "minute";
+App::$strings["minutes"] = "minutes";
+App::$strings["second"] = "seconde";
+App::$strings["seconds"] = "secondes";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "il y a %1\$d %2\$s";
+App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s";
+App::$strings["Please choose"] = "Merci de choisir";
+App::$strings["Agree"] = "D'accord";
+App::$strings["Disagree"] = "Pas d'accord";
+App::$strings["Abstain"] = "Abstention";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits, ou est déjà pris sur ce site.";
+App::$strings["Directory Options"] = "Options d'annuaire";
+App::$strings["Safe Mode"] = "Mode sûr";
+App::$strings["No"] = "Non";
+App::$strings["Yes"] = "Oui";
+App::$strings["Public Forums Only"] = "Seulement les forums publics";
+App::$strings["This Website Only"] = "Juste ce site";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Red:Notify] New mail received at %s"] = "[Red:Notification] Nouveau message reçu sur %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s.";
+App::$strings["a private message"] = "un message privé";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Merci de visiter %s pour voir et/ou répondre à vos messages privés.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté [zrl=%3\$s]votre %4\$s[/zrl]";
+App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notification] Commentaire de %2\$s sur conversation #%1\$d";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
+App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Matrice Rouge:Notification] %s a publié sur votre profil";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
+App::$strings["[Red:Notify] %s tagged you"] = "[Red:Notification] %s vous a étiqueté";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
+App::$strings["[Red:Notify] %1\$s poked you"] = "[Red:Notification] %1\$s vous a cogné";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, vous avez été cogné/pointé/sollicité par %2\$s sur %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a cogné[/zrl].";
+App::$strings["[Red:Notify] %s tagged your post"] = "[Matrice Rouge:Notification] %s a étiqueté votre publication";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
+App::$strings["[Red:Notify] Introduction received"] = "[Red:Notification] Nouvelle introduction";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de mise en relation de '%2\$s' sur %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de mise en relation[/zrl] de %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de relation.";
+App::$strings["[Red:Notify] Friend suggestion received"] = "[Matrice Rouge:Notification] Nouvelle suggestion d'amitié";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion de relation de '%2\$s' à %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion de relation[/zrl] de %4\$s.";
+App::$strings["Name:"] = "Nom&nbsp;:";
+App::$strings["Photo:"] = "Photo&nbsp;:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion.";
+App::$strings["[Red:Notify]"] = "[Red:Notification]";
+App::$strings["This event has been added to your calendar."] = "Cet événement a été ajouté à votre calendrier.";
App::$strings["General Features"] = "Fonctionnalités générales";
App::$strings["Content Expiration"] = "Expiration de contenu";
App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard";
@@ -504,8 +647,10 @@ App::$strings["Web Pages"] = "Pages web";
App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal";
App::$strings["Private Notes"] = "Notes privées";
App::$strings["Enables a tool to store notes and reminders"] = "Active un outil pour stocker notes et mémos";
-App::$strings["Extended Identity Sharing"] = "Partage d'identité étendue";
-App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Partage votre identité avec tous les sites web du Monde. Si décoché, l'identité sera seulement partagée avec les sites de la matrice.";
+App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation";
+App::$strings["Photo Location"] = "Localisation des photos";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les afficher sur une carte.";
App::$strings["Expert Mode"] = "Mode expert";
App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activer le mode expert pour accéder aux options avancées";
App::$strings["Premium Channel"] = "Canal VIP";
@@ -513,18 +658,18 @@ App::$strings["Allows you to set restrictions and terms on those that connect wi
App::$strings["Post Composition Features"] = "Fonctionnalités de composition";
App::$strings["Use Markdown"] = "Utiliser Markdown";
App::$strings["Allow use of \"Markdown\" to format posts"] = "Authoriser l'usage de \"Markdown\" pour le format des partages";
-App::$strings["Post Preview"] = "Aperçu avant publication";
-App::$strings["Allow previewing posts and comments before publishing them"] = "Permettre de prévisualiser les publications/commentaires";
-App::$strings["Channel Sources"] = "Canaux sources";
+App::$strings["Large Photos"] = "Grandes photos";
+App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Inclure une version large (640px) des aperçus dans les publications. Si désactivé, seulement inclure des aperçus de 320px.";
App::$strings["Automatically import channel content from other channels or feeds"] = "Importe automatiquement le contenus d'autres canaux ou flux dans le canal en cours";
App::$strings["Even More Encryption"] = "Encore plus de chiffrement";
App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permettre le chiffrement - optionnel - du contenu de bout-en-bout au moyen d'un secret partagé";
+App::$strings["Enable voting tools"] = "Activer les outils de vote";
+App::$strings["Provide a class of post which others can vote on"] = "Fournit un type de publication sur lequel les utilisateurs peuvent se prononcer";
App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux";
App::$strings["Search by Date"] = "Chercher par date";
App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date";
App::$strings["Collections Filter"] = "Filtre des collections";
App::$strings["Enable widget to display Network posts only from selected collections"] = "Activer une boîte qui permet de filtrer les publications du réseau parmi les collections selectionnées";
-App::$strings["Saved Searches"] = "Recherches sauvées";
App::$strings["Save search terms for re-use"] = "Sauver des termes de recherche pour utilisation ultérieure";
App::$strings["Network Personal Tab"] = "Onglet \"réseau personnel\"";
App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu";
@@ -532,11 +677,11 @@ App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\"";
App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet avec toute activité récente sur le réseau";
App::$strings["Affinity Tool"] = "Gérer l'affinité";
App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations";
+App::$strings["Connection Filtering"] = "Filtrage de connexions";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrez les publications par leurs connexions, d'après des mots clés";
App::$strings["Suggest Channels"] = "Suggérer des canaux";
App::$strings["Show channel suggestions"] = "Montrer les suggestions de canaux";
App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires";
-App::$strings["Edit Sent Posts"] = "Éditer les publications envoyées";
-App::$strings["Edit and correct posts and comments after sending"] = "Permettre d'éditer/corriger les publications/commentaires après envoi";
App::$strings["Tagging"] = "Étiquettes";
App::$strings["Ability to tag existing posts"] = "Permettre de marquer les publications existantes";
App::$strings["Post Categories"] = "Catégoriser les publications";
@@ -552,51 +697,29 @@ App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce
App::$strings["Channel location missing."] = "Emplacement du canal introuvable.";
App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète.";
App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus.";
+App::$strings["Protocol disabled."] = "Protocole désactivé.";
+App::$strings["Protocol blocked for this channel."] = "Protocole bloqué pour ce canal.";
App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échouée.";
App::$strings["local account not found."] = "compte local introuvable.";
App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous.";
-App::$strings["Missing room name"] = "Il manque le nom du salon";
-App::$strings["Duplicate room name"] = "Un salon de ce nom existe déjà";
-App::$strings["Invalid room specifier."] = "Identifiant de salon invalide.";
-App::$strings["Room not found."] = "Salon introuvable.";
-App::$strings["Room is full"] = "Le salon est plein";
-App::$strings["Permission denied"] = "Accès refusé";
-App::$strings["(Unknown)"] = "(Inconnu)";
-App::$strings["Visible to anybody on the internet."] = "Visible à tout le monde sur internet.";
-App::$strings["Visible to you only."] = "Visible pour vous seulement.";
-App::$strings["Visible to anybody in this network."] = "Visible sur toute la Matrice.";
-App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés.";
-App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
-App::$strings["Visible to all connections."] = "Visible pour tous les contacts.";
-App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
-App::$strings["Item not found."] = "Élément introuvable.";
-App::$strings["Collection not found."] = "Collection introuvable.";
-App::$strings["Collection is empty."] = "Collection vide.";
-App::$strings["Collection: %s"] = "Collection&nbsp;: %s";
-App::$strings["Connection: %s"] = "Relation&nbsp;: %s";
-App::$strings["Connection not found."] = "Relation introuvable.";
App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de recréer un nouveau groupe avec un nom différent.";
App::$strings["Default privacy group for new contacts"] = "Groupe de confidentialité par défaut pour les nouveaux contacts";
App::$strings["All Channels"] = "Tous canaux";
App::$strings["edit"] = "éditer";
App::$strings["Collections"] = "Collections";
App::$strings["Edit collection"] = "Éditer collection";
-App::$strings["Create a new collection"] = "Créer une nouvelle collection";
+App::$strings["Add new collection"] = "Ajouter une nouvelle collection";
App::$strings["Channels not in any collection"] = "Ces canaux ne sont dans aucune collection";
-App::$strings["add"] = "ajouter";
App::$strings["Unable to obtain identity information from database"] = "Impossible d'obtenir les données d'identité depuis la base de données";
App::$strings["Empty name"] = "Nom vide";
App::$strings["Name too long"] = "Nom trop long";
App::$strings["No account identifier"] = "Pas d'identifiant de compte";
App::$strings["Nickname is required."] = "Un surnom est requis.";
App::$strings["Reserved nickname. Please choose another."] = "Pseudonyme réservé. Merci d'en choisir un autre.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits, ou est déjà pris sur ce site.";
App::$strings["Unable to retrieve created identity"] = "Impossible de récupérer l'identité créée";
App::$strings["Default Profile"] = "Profil par défaut";
-App::$strings["Friends"] = "Amis";
App::$strings["Requested channel is not available."] = "Canal demandé non-disponible.";
App::$strings["Requested profile is not available."] = "Profil demandé inaccessible.";
-App::$strings["Connect"] = "Ajouter";
App::$strings["Change profile photo"] = "Changer la photo du profil";
App::$strings["Profiles"] = "Profils";
App::$strings["Manage/edit profiles"] = "Gérer/éditer les profils";
@@ -625,7 +748,7 @@ App::$strings["Age:"] = "Age&nbsp;:";
App::$strings["for %1\$d %2\$s"] = "depuis %1\$d %2\$s";
App::$strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
App::$strings["Hometown:"] = "Ville natale&nbsp;:";
-App::$strings["Tags:"] = "Étiquettes&nbsp;:";
+App::$strings["Tags:"] = "Étiquettes:";
App::$strings["Political Views:"] = "Opinions politiques&nbsp;:";
App::$strings["Religion:"] = "Religion&nbsp;:";
App::$strings["About:"] = "À propos&nbsp;:";
@@ -637,95 +760,27 @@ App::$strings["My other channels:"] = "Mes autres canaux&nbsp;:";
App::$strings["Musical interests:"] = "Goûts musicaux&nbsp;:";
App::$strings["Books, literature:"] = "Lectures, goûts littéraires&nbsp;:";
App::$strings["Television:"] = "Télévision&nbsp;:";
-App::$strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nbsp;:";
+App::$strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nsbp;:";
App::$strings["Love/Romance:"] = "Vie sentimentale/amoureuse&nbsp;:";
App::$strings["Work/employment:"] = "Travail&nbsp;:";
App::$strings["School/education:"] = "Cursus&nbsp;:";
App::$strings["Like this thing"] = "J'aime ceci";
-App::$strings["view full size"] = "pleine taille";
-App::$strings["Image/photo"] = "Image/photo";
-App::$strings["Encrypted content"] = "Contenu chiffré";
-App::$strings["QR code"] = "code QR";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
-App::$strings["post"] = "l'article";
-App::$strings["$1 wrote:"] = "$1 a écrit&nbsp;:";
-App::$strings["No recipient provided."] = "Pas de destinataire.";
-App::$strings["[no subject]"] = "[sans objet]";
-App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur.";
-App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié.";
-App::$strings["System"] = "Système";
-App::$strings["Create Personal App"] = "Créer Votre Application";
-App::$strings["Edit Personal App"] = "Éditer Votre Application";
-App::$strings["Ignore/Hide"] = "Ignorer/Cacher";
-App::$strings["Suggestions"] = "Suggestion";
-App::$strings["See more..."] = "Voir plus...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f des %2$.0f relations autorisées.";
-App::$strings["Add New Connection"] = "Ajouter une nouvelle relation";
-App::$strings["Enter the channel address"] = "Adresse du canal";
-App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Exemple&nbsp;: bob@exemple.com, http://exemple.com/barbara";
-App::$strings["Notes"] = "Notes";
-App::$strings["Remove term"] = "Retirer le terme";
-App::$strings["Archives"] = "Archives";
-App::$strings["Refresh"] = "Actualiser";
-App::$strings["Me"] = "Moi";
-App::$strings["Best Friends"] = "Mes meilleurs amis";
-App::$strings["Co-workers"] = "Mes collègues";
-App::$strings["Former Friends"] = "Mes anciens amis";
-App::$strings["Acquaintances"] = "Mes connaissances";
-App::$strings["Everybody"] = "Tout le monde";
-App::$strings["Account settings"] = "Réglages du Compte";
-App::$strings["Channel settings"] = "Réglages du Canal";
-App::$strings["Additional features"] = "Fonctions supplémentaires";
-App::$strings["Feature settings"] = "Extensions";
-App::$strings["Display settings"] = "Réglages d'affichage";
-App::$strings["Connected apps"] = "Applications connectées";
-App::$strings["Export channel"] = "Exporter le canal";
-App::$strings["Automatic Permissions (Advanced)"] = "Permissions automatiques (avancé)";
-App::$strings["Premium Channel Settings"] = "Canal VIP";
-App::$strings["Check Mail"] = "Vérifier le courrier";
-App::$strings["Chat Rooms"] = "Salons de clavardage";
-App::$strings["Bookmarked Chatrooms"] = "Salons favoris";
-App::$strings["Suggested Chatrooms"] = "Salons suggérés";
-App::$strings["Save to Folder"] = "Sauvegarder dans le dossier";
-App::$strings["View all"] = "Voir tout";
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Je déteste",
- 1 => "Je déteste",
-);
-App::$strings["Add Star"] = "Ajouter Étoile";
-App::$strings["Remove Star"] = "Supprimer Étoile";
-App::$strings["Toggle Star Status"] = "Changer le Statut des Étoiles";
-App::$strings["starred"] = "mis en avant";
-App::$strings["Add Tag"] = "Ajouter une balise";
-App::$strings["I like this (toggle)"] = "J'aime (oui/non)";
-App::$strings["I don't like this (toggle)"] = "Je déteste (oui/non)";
-App::$strings["Share This"] = "Partager";
-App::$strings["share"] = "partager";
-App::$strings["View %s's profile - %s"] = "Voir le profil de %s - %s";
-App::$strings["to"] = "à";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "Mur-mur";
-App::$strings["via Wall-To-Wall:"] = "par Mur-mur&nbsp;:";
-App::$strings["Save Bookmarks"] = "Enregistrer les favoris";
-App::$strings["Add to Calendar"] = "Ajouter au Calendrier";
-App::$strings["__ctx:noun__ Likes"] = "Aimes";
-App::$strings["__ctx:noun__ Dislikes"] = "Détestes";
-App::$strings["%d comment"] = array(
- 0 => "%d commentaire",
- 1 => "%d commentaires",
-);
-App::$strings["[+] show all"] = "[+] voir plus";
-App::$strings["This is you"] = "C'est vous";
-App::$strings["Comment"] = "Commenter";
-App::$strings["Submit"] = "Envoyer";
-App::$strings["Bold"] = "Gras";
-App::$strings["Italic"] = "Italique";
-App::$strings["Underline"] = "Souligné";
-App::$strings["Quote"] = "Citation";
-App::$strings["Code"] = "Code";
-App::$strings["Image"] = "Image";
-App::$strings["Link"] = "Lien/URL";
-App::$strings["Video"] = "Vidéo";
+App::$strings["Permission denied"] = "Accès refusé";
+App::$strings["(Unknown)"] = "(Inconnu)";
+App::$strings["Visible to anybody on the internet."] = "Visible à tout le monde sur internet.";
+App::$strings["Visible to you only."] = "Visible pour vous seulement.";
+App::$strings["Visible to anybody in this network."] = "Visible sur toute la Matrice.";
+App::$strings["Visible to anybody authenticated."] = "Visible aux usagers authentifiés.";
+App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
+App::$strings["Visible to all connections."] = "Visible pour tous les contacts.";
+App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
+App::$strings["Visible to specific connections."] = "Visible à certaines connexions.";
+App::$strings["Item not found."] = "Élément introuvable.";
+App::$strings["Collection not found."] = "Collection introuvable.";
+App::$strings["Collection is empty."] = "Collection vide.";
+App::$strings["Collection: %s"] = "Collection&nbsp;: %s";
+App::$strings["Connection: %s"] = "Relation&nbsp;: %s";
+App::$strings["Connection not found."] = "Relation introuvable.";
App::$strings["Delete this item?"] = "Supprimer cet élément?";
App::$strings["[-] show less"] = "[-] montrer moins";
App::$strings["[+] expand"] = "[+] déplier";
@@ -735,11 +790,17 @@ App::$strings["Passwords do not match"] = "Les mots de passe ne correspondent pa
App::$strings["everybody"] = "tout le monde";
App::$strings["Secret Passphrase"] = "Phrase de passe secrète";
App::$strings["Passphrase hint"] = "Indice pour la phrase de passe";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changé, mais n'ont pas encore été soumises.";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées.";
App::$strings["close all"] = "fermer tout";
-App::$strings["timeago.prefixAgo"] = "Il y a";
+App::$strings["Nothing new here"] = "Aucun nouveau contenu trouvé";
+App::$strings["Rate This Channel (this is public)"] = "Noter ce canal (publiquement)";
+App::$strings["Rating"] = "Note";
+App::$strings["Describe (optional)"] = "Description (facultative)";
+App::$strings["Please enter a link URL"] = "Merci d'insérer une URL";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Changements en attente. Voulez-vous vraiment quitter cette page?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = " ";
+App::$strings["ago"] = "auparavant";
App::$strings["from now"] = "de maintenant";
App::$strings["less than a minute"] = "moins d'une minute";
App::$strings["about a minute"] = "environ une minute";
@@ -754,8 +815,59 @@ App::$strings["about a year"] = "environ un an";
App::$strings["%d years"] = "%d années";
App::$strings[" "] = " ";
App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["New window"] = "Nouvelle fenêtre";
-App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre (ou un onglet) différent";
+App::$strings["New Page"] = "Nouvelle page";
+App::$strings["View"] = "Voir";
+App::$strings["Actions"] = "Actions";
+App::$strings["Page Link"] = "Lien vers la page";
+App::$strings["Title"] = "Titre";
+App::$strings["Created"] = "Créé";
+App::$strings["Edited"] = "Édité";
+App::$strings["Can view my normal stream and posts"] = "Peut voir les publications sur mon canal et ses partages.";
+App::$strings["Can view my default channel profile"] = "Peut voir le profil du canal par défaut.";
+App::$strings["Can view my photo albums"] = "Peut voir mon album photos";
+App::$strings["Can view my connections"] = "Peut voir mes connections";
+App::$strings["Can view my file storage"] = "Peut voir mes fichiers en partage";
+App::$strings["Can view my webpages"] = "Peut voir mes sites-web";
+App::$strings["Can send me their channel stream and posts"] = "Peut m'envoyer le flux et les publications de leur canal";
+App::$strings["Can post on my channel page (\"wall\")"] = "Peut poster sur la page de mon canal (\"mur\")";
+App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications";
+App::$strings["Can send me private mail messages"] = "Peut m'envoyer des messages privés";
+App::$strings["Can post photos to my photo albums"] = "Peut ajouter des photos à mes albums";
+App::$strings["Can like/dislike stuff"] = "Peuvent aimer/détester";
+App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires.";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts du mon canal via @truc";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avancé - utile seulement pour les canaux de type \"forum/groupe\"";
+App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (sous réserve de disponibilité)";
+App::$strings["Can write to my file storage"] = "Peut écrire dans mon partage de fichiers";
+App::$strings["Can edit my webpages"] = "Peut modifier mes sites-web";
+App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques dans des canaux dérivés";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes";
+App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez VRAIMENT ce que vous faites";
+App::$strings["Social Networking"] = "Réseau social";
+App::$strings["Mostly Public"] = "Surtout public";
+App::$strings["Restricted"] = "Accès restreint";
+App::$strings["Private"] = "Privé";
+App::$strings["Community Forum"] = "Forum communautaire";
+App::$strings["Feed Republish"] = "Republication de flux";
+App::$strings["Special Purpose"] = "Utilisation spécifique";
+App::$strings["Celebrity/Soapbox"] = "Page de célébrité/tribune";
+App::$strings["Group Repository"] = "Espace de groupe";
+App::$strings["Other"] = "Autre";
+App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets";
+App::$strings["Image file is empty."] = "L'image est vide.";
+App::$strings["Unable to process image"] = "Impossible de traiter l'image";
+App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué.";
+App::$strings["Upload New Photos"] = "Ajouter des photos";
+App::$strings["Tags"] = "Étiquettes";
+App::$strings["Keywords"] = "Mots-clefs";
+App::$strings["have"] = "ont";
+App::$strings["has"] = "a";
+App::$strings["want"] = "veulent";
+App::$strings["wants"] = "veut";
+App::$strings["likes"] = "aiment";
+App::$strings["dislikes"] = "détestent";
App::$strings["Male"] = "Masculin";
App::$strings["Female"] = "Féminin";
App::$strings["Currently Male"] = "Actuellement masculin";
@@ -768,7 +880,6 @@ App::$strings["Transsexual"] = "Transsexuel";
App::$strings["Hermaphrodite"] = "Hermaphrodite";
App::$strings["Neuter"] = "Neutre";
App::$strings["Non-specific"] = "Rien de spécifique";
-App::$strings["Other"] = "Autre";
App::$strings["Undecided"] = "Indécis";
App::$strings["Males"] = "Hommes";
App::$strings["Females"] = "Femmes";
@@ -813,191 +924,342 @@ App::$strings["Uncertain"] = "Incertain";
App::$strings["It's complicated"] = "C'est compliqué";
App::$strings["Don't care"] = "S'en fiche";
App::$strings["Ask me"] = "Me demander";
-App::$strings["Logged out."] = "Deconnecté.";
-App::$strings["Failed authentication"] = "Échec de l'authentification";
-App::$strings["Login failed."] = "Échec de la connexion.";
-App::$strings["Can view my normal stream and posts"] = "Peut voir les publications sur mon canal et ses partages.";
-App::$strings["Can view my default channel profile"] = "Peut voir le profil du canal par défaut.";
-App::$strings["Can view my photo albums"] = "Peut voir mon album photos";
-App::$strings["Can view my connections"] = "Peut voir mes connections";
-App::$strings["Can view my file storage"] = "Peut voir mes fichiers en partage";
-App::$strings["Can view my webpages"] = "Peut voir mes sites-web";
-App::$strings["Can send me their channel stream and posts"] = "Peut m'envoyer le flux et les publications de leur canal";
-App::$strings["Can post on my channel page (\"wall\")"] = "Peut poster sur la page de mon canal (\"mur\")";
-App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications";
-App::$strings["Can send me private mail messages"] = "Peut m'envoyer des messages privés";
-App::$strings["Can post photos to my photo albums"] = "Peut ajouter des photos à mes albums";
-App::$strings["Can like/dislike stuff"] = "Peuvent aimer/détester";
-App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires.";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts du mon canal via @truc";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avancé - utile seulement pour les canaux de type \"forum/groupe\"";
-App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (sous réserve de disponibilité)";
-App::$strings["Can write to my file storage"] = "Peut écrire dans mon partage de fichiers";
-App::$strings["Can edit my webpages"] = "Peut modifier mes sites-web";
-App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques dans des canaux dérivés";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes";
-App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez VRAIMENT ce que vous faites";
-App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
-App::$strings["Menu not found."] = "Menu introuvable.";
-App::$strings["Menu element updated."] = "Entrée de menu mis à jour.";
-App::$strings["Unable to update menu element."] = "Impossible de mettre l'entrée de menu à jour.";
-App::$strings["Menu element added."] = "Entrée de menu ajouté.";
-App::$strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu.";
-App::$strings["Not found."] = "Introuvable.";
-App::$strings["Manage Menu Elements"] = "Gérer les entrées de menu";
-App::$strings["Edit menu"] = "Éditer le menu";
-App::$strings["Edit element"] = "Éditer l'entrée";
-App::$strings["Drop element"] = "Supprimer l'entrée";
-App::$strings["New element"] = "Nouvelle entrée";
-App::$strings["Edit this menu container"] = "Éditer ce bloc de menu";
-App::$strings["Add menu element"] = "Ajouter une entrée au menu";
-App::$strings["Delete this menu item"] = "Supprimer cet entrée du menu";
-App::$strings["Edit this menu item"] = "Éditer cette entrée du menu";
-App::$strings["New Menu Element"] = "Nouvelle entrée de menu";
-App::$strings["Menu Item Permissions"] = "Permissions de l'entrée de menu";
-App::$strings["(click to open/close)"] = "(cliquer pour ouvrir/fermer)";
-App::$strings["Link text"] = "Texte du lien";
-App::$strings["URL of link"] = "URL du lien";
-App::$strings["Use Red magic-auth if available"] = "Utiliser l'authentification magique, lorsque disponible";
-App::$strings["Open link in new window"] = "Ouvrir le lien dans une nouvelle fenêtre";
-App::$strings["Order in list"] = "Ordre dans la liste";
-App::$strings["Higher numbers will sink to bottom of listing"] = "Les nombres les plus élevés seront descendus au bas de la liste";
-App::$strings["Menu item not found."] = "Entrée de menu introuvable.";
-App::$strings["Menu item deleted."] = "Entrée de menu supprimée.";
-App::$strings["Menu item could not be deleted."] = "Impossible de supprimer l'entrée de menu.";
-App::$strings["Edit Menu Element"] = "Éditer l'entrée de menu";
-App::$strings["Modify"] = "Modifier";
+App::$strings["Unable to lookup recipient."] = "Impossible de localiser le destinataire.";
+App::$strings["Unable to communicate with requested channel."] = "Impossible de communiquer avec le canal demandé.";
+App::$strings["Cannot verify requested channel."] = "Impossible de vérifier le canal demandé.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué.";
+App::$strings["Message deleted."] = "Message supprimé.";
+App::$strings["Message recalled."] = "Message annulé/rappelé.";
+App::$strings["Send Private Message"] = "Envoyer un Message Privé";
+App::$strings["To:"] = "À&nbsp;:";
+App::$strings["Subject:"] = "Sujet&nbsp;:";
+App::$strings["Your message:"] = "Votre message&nbsp;:";
+App::$strings["Send"] = "Envoyer";
+App::$strings["Message not found."] = "Message introuvable.";
+App::$strings["Delete message"] = "Supprimer message";
+App::$strings["Recall message"] = "Rappeler/annuler le message";
+App::$strings["Message has been recalled."] = "Le message a été rappelé.";
+App::$strings["Private Conversation"] = "Conversation privée";
+App::$strings["Delete conversation"] = "Supprimer conversation";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur.";
+App::$strings["Send Reply"] = "Envoyer une réponse";
+App::$strings["Hub not found."] = "Hub introuvable.";
+App::$strings["Some blurb about what to do when you're new here"] = "Quelques mots sur quoi faire quand on est nouveau ici";
+App::$strings["Invalid item."] = "Élément invalide.";
+App::$strings["Channel not found."] = "Canal introuvable.";
+App::$strings["Page not found."] = "Page introuvable.";
+App::$strings["Lorem Ipsum"] = "";
+App::$strings["network"] = "réseau";
+App::$strings["RSS"] = "RSS";
+App::$strings["Theme settings updated."] = "Réglages du thème sauvegardés.";
+App::$strings["Site"] = "Site";
+App::$strings["Accounts"] = "Comptes";
+App::$strings["Channels"] = "Canaux";
+App::$strings["Plugins"] = "Extensions";
+App::$strings["Themes"] = "Thèmes";
+App::$strings["Inspect queue"] = "Analyser la file d'attente";
+App::$strings["Profile Config"] = "Configurations du profil";
+App::$strings["DB updates"] = "MàJ BD";
+App::$strings["Logs"] = "Journaux";
+App::$strings["Plugin Features"] = "Fonctionnalités liées aux extensions";
+App::$strings["User registrations waiting for confirmation"] = "Inscriptions en attente";
+App::$strings["# Accounts"] = "# Comptes";
+App::$strings["# blocked accounts"] = "# comptes bloqués";
+App::$strings["# expired accounts"] = "# comptes expirés";
+App::$strings["# expiring accounts"] = "# comptes expirant";
+App::$strings["# Channels"] = "# Canaux";
+App::$strings["# primary"] = "# primaire";
+App::$strings["# clones"] = "# clones";
+App::$strings["Message queues"] = "File des messages";
+App::$strings["Administration"] = "Administration";
+App::$strings["Summary"] = "Résumé";
+App::$strings["Registered accounts"] = "Comptes enregistrés";
+App::$strings["Pending registrations"] = "Inscriptions en attente";
+App::$strings["Registered channels"] = "Canaux enregistrés";
+App::$strings["Active plugins"] = "Extensions actives";
+App::$strings["Version"] = "Version";
+App::$strings["Site settings updated."] = "Réglages du site sauvegardés.";
+App::$strings["mobile"] = "mobile";
+App::$strings["experimental"] = "expérimental";
+App::$strings["unsupported"] = "non maintenu";
+App::$strings["Yes - with approval"] = "Oui - avec approbation";
+App::$strings["My site is not a public server"] = "Mon site n'est pas un serveur publique";
+App::$strings["My site has paid access only"] = "Mon site est payant";
+App::$strings["My site has free access only"] = "Mon site est gratuit";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des ajouts payants";
+App::$strings["Registration"] = "Inscription";
+App::$strings["File upload"] = "Envoi de fichier";
+App::$strings["Policies"] = "Stratégies";
+App::$strings["Site name"] = "Nom du site";
+App::$strings["Banner/Logo"] = "Bannière/logo";
+App::$strings["Administrator Information"] = "Informations sur l'administrateur";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Coordonnées de l'administrateur du site. Affichée sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici";
+App::$strings["System language"] = "Langue du système";
+App::$strings["System theme"] = "Thème du système";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>";
+App::$strings["Mobile system theme"] = "Thème système pour mobile";
+App::$strings["Theme for mobile devices"] = "Thème dédié aux périphériques mobiles";
+App::$strings["Enable Diaspora Protocol"] = "Activer la compatibilité Diaspora*";
+App::$strings["Communicate with Diaspora and Friendica - experimental"] = "Permet de communiquer avec Diaspora et Friendica - expérimental";
+App::$strings["Allow Feeds as Connections"] = "Autoriser les Flux (RSS) comme Relations";
+App::$strings["(Heavy system resource usage)"] = "(Impact considérable sur les ressources)";
+App::$strings["Maximum image size"] = "Taille maximale des images";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite.";
+App::$strings["Does this site allow new member registration?"] = "Est-ce que l'enregistrement de nouveau membres sur ce site est autorisé?";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Choisissez le type de comptes offert sur ce hub?";
+App::$strings["Register text"] = "Texte d'inscription";
+App::$strings["Will be displayed prominently on the registration page."] = "Sera affiché de manière bien visible sur le formulaire d'inscription.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Page d'accueil du site à montrer aux visiteurs (par défaut&nbsp;:boîte de dialogue de connexion)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "exemple&nbsp;:'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier.";
+App::$strings["Preserve site homepage URL"] = "Garder l'adresse du site.";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger";
+App::$strings["Accounts abandoned after x days"] = "Les comptes sont abandonnés après x jours";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Pour éviter de gaspiller les ressources du système en essayer de mettre à jour des comptes abandonnés. Mettez 0 pour ne pas avoir de limite de temps.";
+App::$strings["Allowed friend domains"] = "Domaines amicaux";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste de noms de domaines - séparés par des virgules - pour lesquels ce site acceptera les demandes d'amitié ou de mise en relation. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines.";
+App::$strings["Allowed email domains"] = "Domaines de courriels amicaux";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines.";
+App::$strings["Not allowed email domains"] = "Domaines de courriel non autorisés";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis.";
+App::$strings["Block public"] = "Bloquer public";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Cocher pour interdire tout accès public, y compris aux pages marquées comme publiques, aux visiteurs anonymes.";
+App::$strings["Verify Email Addresses"] = "Demander vérification des adresses de courriel";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé).";
+App::$strings["Force publish"] = "Forcer publication";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire.";
+App::$strings["Disable discovery tab"] = "Désactiver l'onglet \"À découvrir\"";
+App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Ne pas afficher d'onglet avec des contenus publics automatiquement rassemblées depuis des sources choisies pour ce site.";
+App::$strings["login on Homepage"] = "Connexion à partir de la page d'accueil";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré.";
+App::$strings["Proxy user"] = "Utilisateurs du proxy";
+App::$strings["Proxy URL"] = "URL du proxy (visiter @proxy-list)";
+App::$strings["Network timeout"] = "Délai maximal du réseau";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (pas recommandé).";
+App::$strings["Delivery interval"] = "Intervalle de distribution";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés.";
+App::$strings["Poll interval"] = "Intervalle de scrutation";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution.";
+App::$strings["Maximum Load Average"] = "Charge moyenne maximale";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Charge système maximale au-delà de laquelle distribution et scrutation sont mis en pause - par défaut 50.";
+App::$strings["Expiration period in days for imported (matrix/network) content"] = "Délai d'expiration du contenu importé du réseau, en jours";
+App::$strings["0 for no expiration of imported content"] = "0 pour ne pas expirer le contenu importé";
+App::$strings["No server found"] = "Serveur introuvable";
+App::$strings["ID"] = "ID";
+App::$strings["for channel"] = "pour le canal";
+App::$strings["on server"] = "sur le serveur";
+App::$strings["Status"] = "État";
+App::$strings["Server"] = "Serveur";
+App::$strings["Update has been marked successful"] = "La mise à jour a été marquée comme réussie";
+App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a échoué. Merci de vérifier les journaux du système.";
+App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non.";
+App::$strings["Update function %s could not be found."] = "La fonction de mise à jour %s est introuvable.";
+App::$strings["No failed updates."] = "Aucune mise à jour défaillante.";
+App::$strings["Failed Updates"] = "Mises à jour défaillantes";
+App::$strings["Mark success (if update was manually applied)"] = "Marquer comme réussie (si la mise à jour a été réalisée manuellement)";
+App::$strings["Attempt to execute this update step automatically"] = "Tenter de réaliser cette étape de mise à jour automatiquement";
+App::$strings["Queue Statistics"] = "Statistiques de file d'attente";
+App::$strings["Total Entries"] = "Nombre d'entrées total";
+App::$strings["Priority"] = "Priorité";
+App::$strings["Destination URL"] = "URL de destination";
+App::$strings["Mark hub permanently offline"] = "Marquer le hub comme étant hors ligne de manière permanente";
+App::$strings["Empty queue for this hub"] = "Vider la file d'attente pour ce hub";
+App::$strings["Last known contact"] = "Dernier contact connu";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Account not found"] = "Compte introuvable";
+App::$strings["Account '%s' deleted"] = "Compte '%s' supprimé";
+App::$strings["Account '%s' blocked"] = "Compte '%s' bloqué";
+App::$strings["Account '%s' unblocked"] = "Compte '%s' débloqué";
+App::$strings["Users"] = "Utilisateurs";
+App::$strings["select all"] = "tout sélectionner";
+App::$strings["User registrations waiting for confirm"] = "Inscriptions en attente d'approbation";
+App::$strings["Request date"] = "Date de la demande";
+App::$strings["No registrations."] = "Pas d'inscriptions.";
+App::$strings["Approve"] = "Approuver";
+App::$strings["Deny"] = "Refuser";
+App::$strings["Block"] = "Bloquer";
+App::$strings["Unblock"] = "Débloquer";
+App::$strings["Register date"] = "Date d'inscription";
+App::$strings["Last login"] = "Dernière connexion";
+App::$strings["Expires"] = "Expire";
+App::$strings["Service Class"] = "Classe de service";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les comptes sélectionnés seront supprimés&nbsp;!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Le compte {0} sera supprimé&nbsp;!\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "censure modifiée sur %s canal",
+ 1 => "censure modifiée sur %s canaux",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s canal supprimé",
+ 1 => "%s canaux supprimés",
+);
+App::$strings["Channel not found"] = "Canal introuvable";
+App::$strings["Channel '%s' deleted"] = "Canal '%s' supprimé";
+App::$strings["Channel '%s' censored"] = "Canal '%s' censuré";
+App::$strings["Channel '%s' uncensored"] = "Canal '%s' non-censuré";
+App::$strings["Channel '%s' code allowed"] = "Code autorisé pour le canal '%s'";
+App::$strings["Channel '%s' code disallowed"] = "Code interdit pour le canal '%s'";
+App::$strings["Censor"] = "Censurer";
+App::$strings["Uncensor"] = "Ne plus censurer";
+App::$strings["Allow Code"] = "Autoriser le code";
+App::$strings["Disallow Code"] = "Interdire le code";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Adresse";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les canaux sélectionnés seront supprimés!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé!\\n\\nÊtes-vous certain?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Le canal {0} sera supprimé!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé!\\n\\nÊtes-vous certain?";
+App::$strings["Plugin %s disabled."] = "Extension %s désactivée.";
+App::$strings["Plugin %s enabled."] = "Extension %s activée.";
+App::$strings["Disable"] = "Désactiver";
+App::$strings["Enable"] = "Activer";
+App::$strings["Toggle"] = "(Dés)activer";
+App::$strings["Author: "] = "Auteur&nbsp;:";
+App::$strings["Maintainer: "] = "Maintenu par&nbsp;:";
+App::$strings["No themes found."] = "Aucun thème trouvé.";
+App::$strings["Screenshot"] = "Aperçu";
+App::$strings["[Experimental]"] = "[Expérimental]";
+App::$strings["[Unsupported]"] = "[Non-supporté]";
+App::$strings["Log settings updated."] = "Réglages du journal sauvegardés.";
+App::$strings["Clear"] = "Vider";
+App::$strings["Debugging"] = "Débogage";
+App::$strings["Log file"] = "Fichier du journal";
+App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de la Matrice Rouge.";
+App::$strings["Log level"] = "Niveau de journalisation";
+App::$strings["New Profile Field"] = "Nouveau champ de profil";
+App::$strings["Field nickname"] = "Nom court du champ";
+App::$strings["System name of field"] = "Nom système du champ";
+App::$strings["Input type"] = "Type de champ";
+App::$strings["Field Name"] = "Nom du champ";
+App::$strings["Label on profile pages"] = "Étiquette sur le profil";
+App::$strings["Help text"] = "Aide à la saisie";
+App::$strings["Additional info (optional)"] = "Informations additionnelles (facultatif)";
+App::$strings["Field definition not found"] = "Définition du champ non-trouvée";
+App::$strings["Edit Profile Field"] = "Éditer le champ de profil";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées.";
+App::$strings["Configuration Editor"] = "Editeur de configuration";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité.";
+App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter";
+App::$strings["Return to your app and insert this Securty Code:"] = "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:";
+App::$strings["Please login to continue."] = "Merci de vous connecter pour continuer.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?";
+App::$strings["Layout updated."] = "Agencement pris-en-compte.";
+App::$strings["Edit System Page Description"] = "Éditer la description";
+App::$strings["Layout not found."] = "Agencement introuvable.";
+App::$strings["Module Name:"] = "Nom du module&nbsp;:";
+App::$strings["Layout Help"] = "Aide à la mise en page";
+App::$strings["App installed."] = "Application installée.";
+App::$strings["Malformed app."] = "Erreur de l'application - Malformée.";
+App::$strings["Embed code"] = "Code intégré";
+App::$strings["Edit App"] = "Edition de l'Application";
+App::$strings["Create App"] = "Création d'une Application";
+App::$strings["Name of app"] = "Nom de l'application";
+App::$strings["Location (URL) of app"] = "Emplacement (Lien) vers l'application";
+App::$strings["Description"] = "Description";
+App::$strings["Photo icon URL"] = "Lien (URL) de l'icône à utiliser pour cette photo";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - optionel";
+App::$strings["Version ID"] = "Version";
+App::$strings["Price of app"] = "Prix de l'application";
+App::$strings["Location (URL) to purchase app"] = "Emplacement (LIEN) pour l'achat de l'application";
+App::$strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page.";
+App::$strings["Album not found."] = "Album introuvable.";
+App::$strings["Delete Album"] = "Supprimer album";
+App::$strings["Delete Photo"] = "Supprimer photo";
+App::$strings["Public access denied."] = "Accès public refusé.";
+App::$strings["No photos selected"] = "Aucune photo selectionnée";
+App::$strings["Access to this item is restricted."] = "L'accès à l'élément est restreint.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos.";
+App::$strings["%1$.2f MB photo storage used."] = "%1$.2f méga-octets utilisés pour le stockage des photos.";
+App::$strings["Upload Photos"] = "Téléverser des photos";
+App::$strings["Enter a new album name"] = "Entrer un nouveau nom d'album";
+App::$strings["or select an existing one (doubleclick)"] = "ou en sélectionner un existant (double-clic)";
+App::$strings["Create a status post for this upload"] = "Créer une publication de statut pour cet envoi";
+App::$strings["Album name could not be decoded"] = "Le nom de l'Album n'a pu être décodé";
+App::$strings["Contact Photos"] = "Photos de contact";
+App::$strings["Show Newest First"] = "Ordre anté-chronologique";
+App::$strings["Show Oldest First"] = "Ordre chronologique";
+App::$strings["View Photo"] = "Voir la photo";
+App::$strings["Edit Album"] = "Éditer l'album";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint.";
+App::$strings["Photo not available"] = "Photo indisponible";
+App::$strings["Use as profile photo"] = "Utiliser comme photo du profil";
+App::$strings["Private Photo"] = "Photo privée";
+App::$strings["Previous"] = "Précédent";
+App::$strings["View Full Size"] = "Voir en taille réelle";
+App::$strings["Next"] = "Suivant";
+App::$strings["Remove"] = "Retirer";
+App::$strings["Edit photo"] = "Éditer la photo";
+App::$strings["Rotate CW (right)"] = "Rotation horaire (droite)";
+App::$strings["Rotate CCW (left)"] = "Rotation anti-horaire (gauche)";
+App::$strings["Caption"] = "Titre/légende";
+App::$strings["Add a Tag"] = "Ajouter une étiquette";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon";
+App::$strings["Flag as adult in album view"] = "Marquer comme \"adulte\" dans l'affichage de l'album";
+App::$strings["In This Photo:"] = "Dans cette photo&nbsp;:";
+App::$strings["Map"] = "Carte";
+App::$strings["View Album"] = "Voir l'album";
+App::$strings["Recent Photos"] = "Photos récentes";
+App::$strings["Item not available."] = "Élément indisponible.";
App::$strings["sent you a private message"] = "vous a envoyé un message privé";
App::$strings["added your channel"] = "a ajouté votre canal";
App::$strings["posted an event"] = "a publié un événement";
-App::$strings["network"] = "réseau";
-App::$strings["Name is required"] = "Le nom est requis";
-App::$strings["Key and Secret are required"] = "Clef et secret sont requis";
-App::$strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé.";
-App::$strings["Password changed."] = "Le mot de passe a été changé.";
-App::$strings["Password update failed. Please try again."] = "La mise à jour du mot de passe a échoué. Merci de recommencer.";
-App::$strings["Not valid email."] = "Adresse de courriel non-valide.";
-App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
-App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci de ré-essayer.";
-App::$strings["Settings updated."] = "Réglages sauvegardés.";
-App::$strings["Add application"] = "Ajouter une application";
-App::$strings["Name of application"] = "Nom de l'application";
-App::$strings["Consumer Key"] = "Clef de consommateur";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères.";
-App::$strings["Consumer Secret"] = "Secret de consommateur";
-App::$strings["Redirect"] = "Redirection";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez blanc, sauf si l'application a demandé autrement";
-App::$strings["Icon url"] = "URL de l'icône";
-App::$strings["Optional"] = "Facultatif";
-App::$strings["You can't edit this application."] = "Vous ne pouvez pas éditer cette application.";
-App::$strings["Connected Apps"] = "Applications connectées";
-App::$strings["Client key starts with"] = "La clef partagée commence par";
-App::$strings["No name"] = "Sans nom";
-App::$strings["Remove authorization"] = "Révoquer l'autorisation";
-App::$strings["No feature settings configured"] = "Pas de fonctionnalité à configurer";
-App::$strings["Feature Settings"] = "Extensions";
-App::$strings["Account Settings"] = "Compte";
-App::$strings["Password Settings"] = "Mot de passe";
-App::$strings["New Password:"] = "Nouveau mot de passe&nbsp;:";
-App::$strings["Confirm:"] = "Confirmation&nbsp;:";
-App::$strings["Leave password fields blank unless changing"] = "Laissez les mots de passe vides si vous ne voulez pas les modifier";
-App::$strings["Email Address:"] = "Adresse de courriel&nbsp;:";
-App::$strings["Remove Account"] = "Supprimer le compte";
-App::$strings["Warning: This action is permanent and cannot be reversed."] = "Attention&nbsp;: cette action est permanente et irréversible.";
-App::$strings["Off"] = "Inactif";
-App::$strings["On"] = "Actif";
-App::$strings["Additional Features"] = "Fonctionnalités additionnelles";
-App::$strings["Connector Settings"] = "Connecteurs";
-App::$strings["No special theme for mobile devices"] = "Pas de thème spécifique aux périphériques mobiles";
-App::$strings["%s - (Experimental)"] = "%s - (Expérimental)";
-App::$strings["Display Settings"] = "Affichage";
-App::$strings["Display Theme:"] = "Thème&nbsp;:";
-App::$strings["Mobile Theme:"] = "Thème mobile&nbsp;:";
-App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu";
-App::$strings["Update browser every xx seconds"] = "Rafraîchir le navigateur toutes les xx secondes";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum";
-App::$strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:";
-App::$strings["Maximum of 100 items"] = "100 éléments au maximum";
-App::$strings["Don't show emoticons"] = "Ne pas montrer les frimousses/émoticones";
-App::$strings["System Page Layout Editor - (advanced)"] = "Agencements des pages système - (avancé)";
-App::$strings["Nobody except yourself"] = "Personne sauf vous";
-App::$strings["Only those you specifically allow"] = "Seulement ceux que vous autorisez spécifiquement";
-App::$strings["Approved connections"] = "Contacts Approuvés";
-App::$strings["Any connections"] = "Tous les contacts";
-App::$strings["Anybody on this website"] = "Tous les utilisateurs du hub";
-App::$strings["Anybody in this network"] = "Tous les utilisateurs sur ce réseau";
-App::$strings["Anybody authenticated"] = "Tous les utilisateurs authentifiés";
-App::$strings["Anybody on the internet"] = "Tous les utilisateurs d'Internet";
-App::$strings["Publish your default profile in the network directory"] = "Publier votre profil par défaut dans l'annuaire du réseau";
-App::$strings["No"] = "Non";
-App::$strings["Yes"] = "Oui";
-App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Nous autoriser à vous suggérer comme relation potentielle aux nouveaux membres?";
-App::$strings["or"] = "ou";
-App::$strings["Your channel address is"] = "Voici l'adresse de votre canal";
-App::$strings["Channel Settings"] = "Canal";
-App::$strings["Basic Settings"] = "Basique";
-App::$strings["Your Timezone:"] = "Fuseau horaire&nbsp;:";
-App::$strings["Default Post Location:"] = "Emplacement géographique par défaut&nbsp;:";
-App::$strings["Geographical location to display on your posts"] = "Emplacement géographique à afficher sur vos publications";
-App::$strings["Use Browser Location:"] = "Utiliser la géolocalisation fournie par le navigateur&nbsp;:";
-App::$strings["Adult Content"] = "Contenu \"adulte\"";
-App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)";
-App::$strings["Security and Privacy Settings"] = "Réglages de sécurité et vie privée";
-App::$strings["Hide my online presence"] = "Cacher ma présence en ligne";
-App::$strings["Prevents displaying in your profile that you are online"] = "Cacher votre statut (en ligne/hors ligne) sur votre profil";
-App::$strings["Simple Privacy Settings:"] = "Réglages simples&nbsp;:";
-App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>";
-App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Classique - <em>public par défaut, privé en cas de besoin (comparable dans le principe aux réseaux sociaux centralisés, avec un mode privé plus efficace)</em>";
-App::$strings["Private - <em>default private, never open or public</em>"] = "Privé - <em>privé par défaut, jamais ouvert ni public</em>";
-App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>";
-App::$strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueter\" vos publications";
-App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour distinguer le contenu innaproprié";
-App::$strings["Advanced Privacy Settings"] = "Réglages avancés";
-App::$strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours";
-App::$strings["0 or blank prevents expiration"] = "0, ou vide, pour ne pas faire expirer";
-App::$strings["Maximum Friend Requests/Day:"] = "Nombre maximum de mises en relation par jour&nbsp;:";
-App::$strings["May reduce spam activity"] = "Contribue à réduire l'impact des indésirables";
-App::$strings["Default Post Permissions"] = "Permissions par défaut des publications";
-App::$strings["Maximum private messages per day from unknown people:"] = "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:";
-App::$strings["Useful to reduce spamming"] = "Utile pour réduire les indésirables";
-App::$strings["Notification Settings"] = "Notifications";
-App::$strings["By default post a status message when:"] = "Par défaut, publier un statut quand:";
-App::$strings["accepting a friend request"] = "vous acceptez une mise en relation";
-App::$strings["joining a forum/community"] = "vous joignez un forum ou à une communauté";
-App::$strings["making an <em>interesting</em> profile change"] = "vous faites une modification <em>intéressante</em> de votre profil";
-App::$strings["Send a notification email when:"] = "Envoyer un courriel de notification quand&nbsp;:";
-App::$strings["You receive a connection request"] = "Vous recevez une demande de mise en relation";
-App::$strings["Your connections are confirmed"] = "Vous relations sont confirmées";
-App::$strings["Someone writes on your profile wall"] = "Quelqu'un a écrit sur votre mur";
-App::$strings["Someone writes a followup comment"] = "Quelqu'un a commenté sur vos publications";
-App::$strings["You receive a private message"] = "Vous recevez un message privé";
-App::$strings["You receive a friend suggestion"] = "Vous recevez une suggestion d'amitié/relation";
-App::$strings["You are tagged in a post"] = "Vous êtes étiqueté dans une publication";
-App::$strings["You are poked/prodded/etc. in a post"] = "Vous êtes cogné/encouragé/etc. dans une publication";
-App::$strings["Advanced Account/Page Type Settings"] = "Type de page/Compte (avancé)";
-App::$strings["Change the behaviour of this account for special situations"] = "Modifie le comportement de ce compte pour certains cas particuliers";
-App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Mode expert requis (<a href=\"settings/features\">Réglages > Fonctions supplémentaires</a>) svp ajuster!";
-App::$strings["Miscellaneous Settings"] = "Divers";
-App::$strings["Personal menu to display in your channel pages"] = "Menu personnel tel qu'il apparaîtra sur les pages de votre canal";
-App::$strings["Remove this channel"] = "Supprimer ce canal";
-App::$strings["Poke/Prod"] = "Cogner/Encourager";
-App::$strings["poke, prod or do other things to somebody"] = "Cogner, encourager, et autres choses à faire à quelqu'un";
+App::$strings["Block Name"] = "Nom du Bloc";
+App::$strings["Block Title"] = "Titre du bloc";
+App::$strings["Poke/Prod"] = "Cogner/Solliciter";
+App::$strings["poke, prod or do other things to somebody"] = "Cogner, pointer, et autres choses à faire à quelqu'un";
App::$strings["Recipient"] = "Destinataire";
App::$strings["Choose what you wish to do to recipient"] = "Choisir quoi lui faire";
App::$strings["Make this post private"] = "Rendre cette contribution privée";
-App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter";
-App::$strings["Return to your app and insert this Securty Code:"] = "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité&nbsp;:";
-App::$strings["Please login to continue."] = "Merci de vous connecter pour continuer.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?";
+App::$strings["Bookmark added"] = "Favoris ajouté";
+App::$strings["My Bookmarks"] = "Mes Favoris";
+App::$strings["My Connections Bookmarks"] = "Favoris de mes relations";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Vous avez créé %1$.0f des %2$.0f canaux autorisés.";
+App::$strings["Create a new channel"] = "Créer un nouveau canal";
+App::$strings["Current Channel"] = "Canal actif";
+App::$strings["Switch to one of your channels by selecting it."] = "Pour changer de canal, sélectionner en un";
+App::$strings["Default Channel"] = "Canal par défaut";
+App::$strings["Make Default"] = "Définir comme défaut";
+App::$strings["%d new messages"] = "%d nouveaux messages";
+App::$strings["%d new introductions"] = "%d nouvelles introductions";
+App::$strings["Delegated Channels"] = "Canaux délégués";
+App::$strings["Profile Match"] = "Profils similaires";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut.";
+App::$strings["is interested in:"] = "s'intéresse à&nbsp;:";
+App::$strings["No matches"] = "Pas de correspondance";
+App::$strings["Members"] = "Membres";
+App::$strings["All Connected Channels"] = "Tous canaux connectés";
+App::$strings["Click on a channel to add or remove."] = "Cliquer sur un canal pour l'ajouter ou le supprimer";
+App::$strings["Poll"] = "";
+App::$strings["View Results"] = "Voir les résultats";
+App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page.";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée à la page du profil.";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authentification magique bloquée. Vous êtes connecté sur ce site localement. Merci de vous en déconnecter et réessayer.";
App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenue %s. L'authentification magique a fonctionné.";
-App::$strings["Item not available."] = "Élément indisponible.";
+App::$strings["Room not found"] = "Salon introuvable";
+App::$strings["Leave Room"] = "Quitter le salon";
+App::$strings["Delete This Room"] = "Supprimer le salon";
+App::$strings["I am away right now"] = "Je suis momentanément absent";
+App::$strings["I am online"] = "Je suis en ligne";
+App::$strings["Bookmark this room"] = "Marquer ce salon";
+App::$strings["New Chatroom"] = "Nouveau salon";
+App::$strings["Chatroom Name"] = "Nom du salon";
+App::$strings["%1\$s's Chatrooms"] = "Salons de %1\$s";
+App::$strings["Away"] = "Absent";
+App::$strings["Online"] = "En ligne";
App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée&nbsp;: %1\$s";
-App::$strings["Invalid item."] = "Élément invalide.";
-App::$strings["Channel not found."] = "Canal introuvable.";
-App::$strings["Page not found."] = "Page introuvable.";
+App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "";
+App::$strings["No channel."] = "Pas de canal.";
+App::$strings["Common connections"] = "Relations communes";
+App::$strings["No connections in common."] = "Pas de relations en commun.";
App::$strings["Image uploaded but image cropping failed."] = "L'image a été téléversée, mais le recadrage a échoué.";
App::$strings["Image resize failed."] = "Le redimensionnement de l'image a échoué.";
App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shirt-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement.";
@@ -1007,6 +1269,7 @@ App::$strings["Photo not available."] = "Photo inaccessible.";
App::$strings["Upload File:"] = "Fichier&nbsp;:";
App::$strings["Select a profile:"] = "Choisir un profil&nbsp;:";
App::$strings["Upload Profile Photo"] = "Téléverser une photo de profil";
+App::$strings["or"] = "ou";
App::$strings["skip this step"] = "passer cette étape";
App::$strings["select a photo from your photo albums"] = "choisir une photo dans vos albums";
App::$strings["Crop Image"] = "Recadrer l'image";
@@ -1015,7 +1278,39 @@ App::$strings["Done Editing"] = "J'ai terminé";
App::$strings["Image uploaded successfully."] = "Image téléversée avec succès.";
App::$strings["Image upload failed."] = "Le téléversement a échoué.";
App::$strings["Image size reduction [%s] failed."] = "La réduction de taille [%s] a échoué.";
-App::$strings["Block Name"] = "Nom du Bloc";
+App::$strings["Continue"] = "Continuer";
+App::$strings["Premium Channel Setup"] = "Configuration du canal VIP";
+App::$strings["Enable premium channel connection restrictions"] = "Activer les restrictions liées au canal VIP";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ...";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes&nbsp;:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Les relations potentielles verront ce qui suit avant de pouvoir continuer&nbsp;:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuant, je certifie que je me suis acquitté de toutes les instructions indiquées";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Aucune instruction spécifique n'a été établie par le propriétaire du canal.)";
+App::$strings["Restricted or Premium Channel"] = "Canal VIP ou restreint";
+App::$strings["Invalid request identifier."] = "Identifiant de requête invalide.";
+App::$strings["Discard"] = "Annuler";
+App::$strings["Ignore"] = "Ignorer";
+App::$strings["No more system notifications."] = "Pas d'autre notification du système.";
+App::$strings["System Notifications"] = "Notifications du système";
+App::$strings["Blocked"] = "Bloqué";
+App::$strings["Ignored"] = "Ignoré";
+App::$strings["Hidden"] = "Caché";
+App::$strings["Archived"] = "Archivé";
+App::$strings["Suggest new connections"] = "Suggérer de nouvelles relations";
+App::$strings["New Connections"] = "Nouvelles relations";
+App::$strings["Show pending (new) connections"] = "Voir les (nouvelles) relations en attente";
+App::$strings["All Connections"] = "Toutes les relations";
+App::$strings["Show all connections"] = "Voir toutes les relations";
+App::$strings["Unblocked"] = "Non bloquées";
+App::$strings["Only show unblocked connections"] = "Ne montrer que les relations non-bloquées";
+App::$strings["Only show blocked connections"] = "Ne montrer que les relations bloquées";
+App::$strings["Only show ignored connections"] = "Ne montrer que les relations ignorées";
+App::$strings["Only show archived connections"] = "Ne montrer que les relations archivées";
+App::$strings["Only show hidden connections"] = "Ne montrer que les relations cachées";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifier le contact";
+App::$strings["Search your connections"] = "Chercher parmi vos relations";
+App::$strings["Finding: "] = "Recherche&nbsp;:";
App::$strings["Profile not found."] = "Profil introuvable.";
App::$strings["Profile deleted."] = "Profil supprimé.";
App::$strings["Profile-"] = "Profil-";
@@ -1034,7 +1329,6 @@ App::$strings["Gender"] = "Sexe/Genre";
App::$strings["Sexual Preference"] = "Préférence sexuelle";
App::$strings["Homepage"] = "Site Internet";
App::$strings["Interests"] = "Centres d'intérêt";
-App::$strings["Address"] = "Adresse";
App::$strings["Location"] = "Emplacement";
App::$strings["Profile updated."] = "Profil mis à jour.";
App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Cacher vos contacts/relations aux visiteurs de ce profil?";
@@ -1050,7 +1344,7 @@ App::$strings["Profile Name:"] = "Nom du profil&nbsp;:";
App::$strings["Your Full Name:"] = "Votre nom complet&nbsp;:";
App::$strings["Title/Description:"] = "Titre/description&nbsp;:";
App::$strings["Your Gender:"] = "Sexe/Genre&nbsp;:";
-App::$strings["Birthday (%s):"] = "Date de naissance (%s)&nbsp;:";
+App::$strings["Birthday :"] = "Date de naissance&nbsp;:";
App::$strings["Street Address:"] = "Adresse postale&nbsp;:";
App::$strings["Locality/City:"] = "Ville/Localité&nbsp;:";
App::$strings["Postal/Zip Code:"] = "Code postal&nbsp;:";
@@ -1081,219 +1375,447 @@ App::$strings["Age: "] = "Age&nbsp;:";
App::$strings["Edit/Manage Profiles"] = "Éditer/gérer les profils";
App::$strings["Add profile things"] = "Ajouter des choses de profil";
App::$strings["Include desirable objects in your profile"] = "Incluez des objets souhaitables dans votre profil";
-App::$strings["Bookmark added"] = "Favoris ajouté";
-App::$strings["My Bookmarks"] = "Mes Favoris";
-App::$strings["My Connections Bookmarks"] = "Favoris de mes relations";
+App::$strings["Could not access contact record."] = "Impossible d'accéder aux détails du contact.";
+App::$strings["Could not locate selected profile."] = "Impossible de localiser le profil sélectionné.";
+App::$strings["Connection updated."] = "Connexion mise à jour.";
+App::$strings["Failed to update connection record."] = "Impossible de mettre à jour les détails de la relation.";
+App::$strings["is now connected to"] = "est maintenant connecté avec";
+App::$strings["Could not access address book record."] = "Impossible d'accéder aux détails du carnet d'adresses.";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Actualisation impossible - le canal est momentanément indisponible.";
+App::$strings["Unable to set address book parameters."] = "Impossible de régler les paramètres du carnet d'adresses.";
+App::$strings["Connection has been removed."] = "La relation a été supprimée";
+App::$strings["View %s's profile"] = "Voir le profil de %s";
+App::$strings["Refresh Permissions"] = "Actualiser les permissions";
+App::$strings["Fetch updated permissions"] = "Récupérer les permissions les plus récentes";
+App::$strings["Recent Activity"] = "Activité récente";
+App::$strings["View recent posts and comments"] = "Voir les contributions et commentaires récentes";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquer ou débloquer toute communication avec ce contact";
+App::$strings["This connection is blocked!"] = "Ce contact est bloqué&nbsp;!";
+App::$strings["Unignore"] = "Ne plus ignorer";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorer ou ne plus ignorer toute communication venant de ce contact";
+App::$strings["This connection is ignored!"] = "Ce contact est ignoré&nbsp;!";
+App::$strings["Unarchive"] = "Ne plus archiver";
+App::$strings["Archive"] = "Archiver";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu";
+App::$strings["This connection is archived!"] = "Ce contact est archivé&nbsp;!";
+App::$strings["Unhide"] = "Ne plus cacher";
+App::$strings["Hide"] = "Cacher";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts";
+App::$strings["This connection is hidden!"] = "Ce contact est caché&nbsp;!";
+App::$strings["Delete this connection"] = "Supprimer cette relation";
+App::$strings["Approve this connection"] = "Approuver cette relation";
+App::$strings["Accept connection to allow communication"] = "Accepter la relation pour permettre la communication";
+App::$strings["Set Affinity"] = "Définir le degré d'affinité";
+App::$strings["Set Profile"] = "Définir le profil";
+App::$strings["Set Affinity & Profile"] = "Définir le degré d'affinité et le profil";
+App::$strings["Apply these permissions automatically"] = "Appliquer ces permissions automatiquement";
+App::$strings["This connection's address is"] = "";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts.";
+App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster le niveau de la relation";
+App::$strings["Slide to adjust your rating"] = "Faîtes glisser pour ajuster votre note";
+App::$strings["Optionally explain your rating"] = "Explication facultative de votre évaluation";
+App::$strings["Custom Filter"] = "Filtre personnalisé";
+App::$strings["Only import posts with this text"] = "N'importer que les publications comprenant ce texte";
+App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "";
+App::$strings["Do not import posts with this text"] = "Ne pas importer les publications comprenant ce texte";
+App::$strings["This information is public!"] = "Cette information est publique&nbsp;!";
+App::$strings["Connection Pending Approval"] = "Contact en attente d'approbation";
+App::$strings["Connection Request"] = "Demande de contact";
+App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) veut devenir votre contact. Merci d'approuver cette demande pour permettre la communication.";
+App::$strings["Approve Later"] = "Approuver plus tard";
+App::$strings["inherited"] = "héritée";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée.";
+App::$strings["Their Settings"] = "Ses réglages";
+App::$strings["My Settings"] = "Mes réglages";
+App::$strings["Individual Permissions"] = "Permissions spécifiques";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
+App::$strings["Last update:"] = "Dernière mise-à-jour&nbsp;:";
App::$strings["Invalid profile identifier."] = "Identifiant de profil invalide.";
App::$strings["Profile Visibility Editor"] = "Éditeur de visibilité de profil";
App::$strings["Click on a contact to add or remove."] = "Cliquez sur un contact pour l'ajouter ou le retirer.";
App::$strings["Visible To"] = "Visible par";
-App::$strings["All Connections"] = "Toutes les relations";
+App::$strings["\$Projectname channel"] = "Canal \$Projectname";
+App::$strings["%d rating"] = array(
+ 0 => "%d évaluations",
+ 1 => "%d évaluations",
+);
+App::$strings["Gender: "] = "Sexe/genre&nbsp;:";
+App::$strings["Status: "] = "État&nbsp;:";
+App::$strings["Homepage: "] = "Site web&nbsp;:";
+App::$strings["Description:"] = "Description:";
+App::$strings["Public Forum:"] = "Forum public :";
+App::$strings["Keywords: "] = "Mots-clefs&nbsp;:";
+App::$strings["Don't suggest"] = "Ne pas suggérer";
+App::$strings["Common connections:"] = "Relations générales";
+App::$strings["Global Directory"] = "Annuaire global";
+App::$strings["Local Directory"] = "Annuaire local";
+App::$strings["Finding:"] = "Recherche&nbsp;:";
+App::$strings["next page"] = "page suivante";
+App::$strings["previous page"] = "page précédente";
+App::$strings["Sort options"] = "Options de tri";
+App::$strings["Alphabetic"] = "Alphabétique";
+App::$strings["Reverse Alphabetic"] = "Alphabétique inversé";
+App::$strings["Newest to Oldest"] = "Ordre anté-chronologique";
+App::$strings["Oldest to Newest"] = "Ordre chronologique";
+App::$strings["No entries (some entries may be hidden)."] = "Pas d'entrées (certaines peuvent être cachées).";
App::$strings["Public Sites"] = "Sites publics";
-App::$strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Les sites listés autorisent l'inscription pour tous. Tous sont liés entre eux, de manière à ce qu'un compte sur un seul d'entre eux soit valable sur l'ensemble de la matrice. Certains sites peuvent demander des frais de souscriptions, ou fournir des forfaits ajustés. Le lien \"fournisseur\" <strong>peut</strong> vous donner des détails supplémentaires.";
+App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Les sites listés autorisent l'inscription publique au réseau \$Projectname. Tous les sites du réseau sont interconnectés, l'inscription sur l'un quelconque d'entre eux signifie donc l'inscription sur le réseau dans son ensemble. Certains sites peuvent nécessiter une souscription ou fournir des niveaux de service différenciés. Le lien du fournisseur <strong>peut</strong> fournir plus de détails.";
+App::$strings["Rate this hub"] = "Noter cette instance";
App::$strings["Site URL"] = "URL du site";
App::$strings["Access Type"] = "Type d'accès";
App::$strings["Registration Policy"] = "Politique d'inscription";
-App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page.";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée à la page du profil.";
+App::$strings["Project"] = "Projet";
+App::$strings["View hub ratings"] = "Voir les notes de cette instance";
+App::$strings["Rate"] = "Noter";
+App::$strings["View ratings"] = "Voir les notes";
+App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
+App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès";
+App::$strings["Item not found"] = "Élément introuvable";
+App::$strings["Delete block?"] = "Supprimer le bloc?";
+App::$strings["Insert YouTube video"] = "Insérer une vidéo YouTube";
+App::$strings["Insert Vorbis [.ogg] video"] = "Insérer une vidéo Vorbis [.ogg]";
+App::$strings["Insert Vorbis [.ogg] audio"] = "Insérer un son Vorbis [.ogg]";
+App::$strings["Edit Block"] = "Éditer bloc";
+App::$strings["Delete layout?"] = "Supprimer la mise-en-page?";
+App::$strings["Layout Description (Optional)"] = "Description de la mise en page (facultatif)";
+App::$strings["Layout Name"] = "Nom de la mise-en-page";
+App::$strings["Edit Layout"] = "Éditer mise-en-page";
+App::$strings["Item is not editable"] = "Élément non-éditable";
+App::$strings["Delete item?"] = "Supprimer l'élément?";
+App::$strings["Edit post"] = "Éditer la contribution";
+App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub.";
+App::$strings["Post successful."] = "Contribution effectuée.";
+App::$strings["Delete webpage?"] = "Supprimer la page web?";
+App::$strings["Page link title"] = "Titre du lien vers la page";
+App::$strings["Edit Webpage"] = "Éditer page web";
+App::$strings["Website:"] = "Site web&nbsp;:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)";
+App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)";
+App::$strings["Calendar entries imported."] = "Entrées du calendrier importées.";
+App::$strings["No calendar entries found."] = "Aucune entrée du calendrier trouvée.";
+App::$strings["Event can not end before it has started."] = "La fin de l'événement ne peut être antérieure à son début.";
+App::$strings["Unable to generate preview."] = "Impossible de générer l'aperçu.";
+App::$strings["Event title and start time are required."] = "Un titre et une date de début sont requises pour l'événement.";
+App::$strings["Event not found."] = "Événement introuvable.";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Edit event"] = "Éditer l'événement";
+App::$strings["Delete event"] = "Supprimer l'évènement";
+App::$strings["calendar"] = "calendrier";
+App::$strings["Create New Event"] = "Créer événement";
+App::$strings["Export"] = "Exports";
+App::$strings["Import"] = "Importer";
+App::$strings["Event removed"] = "Événement supprimé";
+App::$strings["Failed to remove event"] = "Impossible de supprimer l'événement";
+App::$strings["Event details"] = "Détails de l'événement";
+App::$strings["Starting date and Title are required."] = "Une date de début et un Titre sont requis.";
+App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)";
+App::$strings["Event Starts:"] = "L'événement débute&nbsp;:";
+App::$strings["Finish date/time is not known or not relevant"] = "Date/heure de fin inconnue ou sans objet";
+App::$strings["Event Finishes:"] = "L'événement termine&nbsp;:";
+App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde.";
+App::$strings["Title:"] = "Titre:";
+App::$strings["Share this event"] = "Partager cet événement";
+App::$strings["No ratings"] = "Pas de note";
+App::$strings["Ratings"] = "Evaluations";
+App::$strings["Rating: "] = "Evaluation&nbsp:";
+App::$strings["Website: "] = "Site web&nbsp;:";
+App::$strings["Description: "] = "Description&nbsp;:";
App::$strings["Select a bookmark folder"] = "Choisir un dossier de favoris";
App::$strings["Save Bookmark"] = "Sauver le favoris";
App::$strings["URL of bookmark"] = "URL du favoris";
-App::$strings["Description"] = "Description";
App::$strings["Or enter new bookmark folder name"] = "Ou entrez le nom d'un nouveau dossier";
-App::$strings["Room not found"] = "Salon introuvable";
-App::$strings["Leave Room"] = "Quitter le salon";
-App::$strings["Delete This Room"] = "Supprimer le salon";
-App::$strings["I am away right now"] = "Je suis momentanément absent";
-App::$strings["I am online"] = "Je suis en ligne";
-App::$strings["Bookmark this room"] = "Marquer ce salon";
-App::$strings["New Chatroom"] = "Nouveau salon";
-App::$strings["Chatroom Name"] = "Nom du salon";
-App::$strings["%1\$s's Chatrooms"] = "Salons de %1\$s";
+App::$strings["- select -"] = "- choisir -";
+App::$strings["Permission Denied."] = "Permission refusée.";
+App::$strings["File not found."] = "Fichier introuvable.";
+App::$strings["Edit file permissions"] = "Éditer les permissions du fichier";
+App::$strings["Set/edit permissions"] = "Définir/Édition des authorisations";
+App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires";
+App::$strings["Return to file list"] = "Retourner à la liste des fichiers";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour lier le fichier depuis une page web";
+App::$strings["Share this file"] = "Partager ce fichier";
+App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier";
+App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier";
+App::$strings["Channel added."] = "Canal ajouté.";
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre d'inscriptions quotidiennes dépassé. Merci de recommencer demain.";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Merci d'indiquer votre adhésion aux Règles du Service. L'inscription a échoué.";
App::$strings["Passwords do not match."] = "Les mots de passe ne concordent pas.";
App::$strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte.";
App::$strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente de l'approbation d'un administrateur.";
App::$strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée.";
-App::$strings["Registration on this site/hub is by approval only."] = "L'inscription sur cette instance/ce site est soumise à une modération.";
+App::$strings["Registration on this site/hub is by approval only."] = "L'inscription sur cette instance/ce site est soumis à une modération.";
App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">S'inscrire sur un site/hub affilié</a>";
App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de compte autorisé par jour. Merci de recommencer demain.";
App::$strings["Terms of Service"] = "Règles du Service";
App::$strings["I accept the %s for this website"] = "J'accepte %s de ce site";
App::$strings["I am over 13 years of age and accept the %s for this website"] = "J'ai plus de 13 ans et j'accepte les %s de ce site";
-App::$strings["Registration"] = "Inscription";
App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation.";
App::$strings["Please enter your invitation code"] = "Merci de saisir votre code d'invitation";
App::$strings["Your email address"] = "Votre adresse de courriel";
App::$strings["Choose a password"] = "Choisissez un mot de passe";
App::$strings["Please re-enter your password"] = "Confirmez-le";
-App::$strings["Away"] = "Absent";
-App::$strings["Online"] = "En ligne";
+App::$strings["Contact not found."] = "Contact introuvable.";
+App::$strings["Friend suggestion sent."] = "Suggestion d'amitié/relation envoyée.";
+App::$strings["Suggest Friends"] = "Suggérer une relation";
+App::$strings["Suggest a friend for %s"] = "Suggérer une relation à %s";
App::$strings["Please login."] = "Merci de vous connecter.";
-App::$strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++";
+App::$strings["Collection created."] = "Collection créée.";
+App::$strings["Could not create collection."] = "Impossible de créer la collection.";
+App::$strings["Collection updated."] = "Collection mise-à-jour.";
+App::$strings["Create a collection of channels."] = "Créez une collection de canaux.";
+App::$strings["Collection Name: "] = "Nom de la collection&nbsp;:";
+App::$strings["Members are visible to other channels"] = "Les membres sont visibles par les autres canaux";
+App::$strings["Collection removed."] = "Collection supprimée.";
+App::$strings["Unable to remove collection."] = "Impossible de supprimer la collection.";
+App::$strings["Collection Editor"] = "Éditeur de collection";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un compte à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
+App::$strings["Remove This Account"] = "Supprimer ce Compte";
+App::$strings["WARNING: "] = "ATTENTION&nbsp;:";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "Ce compte et tous ses canaux seront entièrement supprimés du réseau.";
+App::$strings["This action is permanent and can not be undone!"] = "Cette action est permanente et irréversible&nbsp;!";
+App::$strings["Please enter your password for verification:"] = "Merci de re-saisir votre mot de passe pour vérification&nbsp;:";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Supprimer ce compte, tous ses canaux et tous les clones sur la matrice.";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Par défault, seuls les instances de canaux situés sur ce hub seront supprimer de la matrice.";
+App::$strings["Remove Account"] = "Supprimer le compte";
+App::$strings["Help:"] = "Aide&nbsp;:";
+App::$strings["Not Found"] = "Introuvable";
+App::$strings["\$Projectname Documentation"] = "Documentation \$Projectname";
App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un canal à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
App::$strings["Remove This Channel"] = "Supprimer ce Canal";
-App::$strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Ceci effacera complètement le canal du réseau. Une fois effacé, un canal ne PEUT PAS être récupéré.";
-App::$strings["Please enter your password for verification:"] = "Merci de re-saisir votre mot de passe pour vérification&nbsp;:";
+App::$strings["This channel will be completely removed from the network. "] = "Ce canal sera complètement supprimé du réseau.";
App::$strings["Remove this channel and all its clones from the network"] = "Supprimer ce canal ainsi que tous ses clones sur la matrice";
App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau";
App::$strings["Remove Channel"] = "Enlever le canal";
-App::$strings["No channel."] = "Pas de canal.";
-App::$strings["Common connections"] = "Relations communes";
-App::$strings["No connections in common."] = "Pas de relation en commun.";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Bienvenue sur %s";
App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est bien saisi.";
App::$strings["The error message was:"] = "Le message d'erreur était&nbsp;:";
App::$strings["Authentication failed."] = "Échec de l'authentification.";
App::$strings["Remote Authentication"] = "Authentification distante";
App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Entrez l'adresse de votre canal (p.ex. moncanal@monsite.com)";
App::$strings["Authenticate"] = "Authentifier";
-App::$strings["Continue"] = "Continuer";
-App::$strings["Premium Channel Setup"] = "Configuration du canal VIP";
-App::$strings["Enable premium channel connection restrictions"] = "Activer les restrictions liées au canal VIP";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ...";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes&nbsp;:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Les relations potentielles verront ce qui suit avant de pouvoir continuer&nbsp;:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuant, je certifie que je me suis acquitté de toutes les instructions indiquées";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Aucune instruction spécifique n'a été établie par le propriétaire du canal.)";
-App::$strings["Restricted or Premium Channel"] = "Canal VIP ou restreint";
-App::$strings["No such group"] = "Groupe introuvable";
-App::$strings["Search Results For:"] = "Résultats de recherche pour&nbsp;:";
-App::$strings["Collection is empty"] = "Collection vide";
-App::$strings["Collection: "] = "Collection&nbsp;:";
-App::$strings["Connection: "] = "Relation&nbsp;:";
-App::$strings["Invalid connection."] = "Relation invalide.";
-App::$strings["Could not access contact record."] = "Impossible d'accéder aux détails du contact.";
-App::$strings["Could not locate selected profile."] = "Impossible de localiser le profil sélectionné.";
-App::$strings["Connection updated."] = "Connexion mise à jour.";
-App::$strings["Failed to update connection record."] = "Impossible de mettre à jour les détails de la relation.";
-App::$strings["Blocked"] = "Bloqué";
-App::$strings["Ignored"] = "Ignoré";
-App::$strings["Hidden"] = "Caché";
-App::$strings["Archived"] = "Archivé";
-App::$strings["All"] = "Tout";
-App::$strings["Suggest new connections"] = "Suggérer de nouvelles relations";
-App::$strings["New Connections"] = "Nouvelles relations";
-App::$strings["Show pending (new) connections"] = "Voir les (nouvelles) relations en attente";
-App::$strings["Show all connections"] = "Voir toutes les relations";
-App::$strings["Unblocked"] = "Non bloquées";
-App::$strings["Only show unblocked connections"] = "Ne montrer que les relations non-bloquées";
-App::$strings["Only show blocked connections"] = "Ne montrer que les relations bloquées";
-App::$strings["Only show ignored connections"] = "Ne montrer que les relations ignorées";
-App::$strings["Only show archived connections"] = "Ne montrer que les relations archivées";
-App::$strings["Only show hidden connections"] = "Ne montrer que les relations cachées";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit contact"] = "Éditer contact";
-App::$strings["Search your connections"] = "Chercher parmi vos relations";
-App::$strings["Finding: "] = "Recherche&nbsp;:";
-App::$strings["Edit post"] = "Éditer la contribution";
-App::$strings["is now connected to"] = "est maintenant connecté avec";
-App::$strings["Could not access address book record."] = "Impossible d'accéder aux détails du carnet d'adresses.";
-App::$strings["Refresh failed - channel is currently unavailable."] = "Actualisation impossible - le canal est momentanément indisponible.";
-App::$strings["Channel has been unblocked"] = "Le canal n'est plus bloqué";
-App::$strings["Channel has been blocked"] = "Le canal est bloqué";
-App::$strings["Unable to set address book parameters."] = "Impossible de régler les paramètres du carnet d'adresses.";
-App::$strings["Channel has been unignored"] = "Le canal n'est plus ignoré";
-App::$strings["Channel has been ignored"] = "Le canal est ignoré";
-App::$strings["Channel has been unarchived"] = "Le canal n'est plus archivé";
-App::$strings["Channel has been archived"] = "Le canal est archivé";
-App::$strings["Channel has been unhidden"] = "Le canal n'est plus caché";
-App::$strings["Channel has been hidden"] = "Le canal est caché";
-App::$strings["Channel has been approved"] = "Le canal est approuvé";
-App::$strings["Channel has been unapproved"] = "Le canal n'est plus approuvé";
-App::$strings["Connection has been removed."] = "La relation a été supprimée";
-App::$strings["View %s's profile"] = "Voir le profil de %s";
-App::$strings["Refresh Permissions"] = "Actualiser les permissions";
-App::$strings["Fetch updated permissions"] = "Récupérer les permissions les plus récentes";
-App::$strings["Recent Activity"] = "Activité récente";
-App::$strings["View recent posts and comments"] = "Voir les contributions et commentaires récentes";
-App::$strings["Unblock"] = "Débloquer";
-App::$strings["Block"] = "Bloquer";
-App::$strings["Block or Unblock this connection"] = "Bloquer ou Débloquer cette relation";
-App::$strings["Unignore"] = "Ne plus ignorer";
-App::$strings["Ignore"] = "Ignorer";
-App::$strings["Ignore or Unignore this connection"] = "Ignorer ou ne plus ignorer cette relation";
-App::$strings["Unarchive"] = "Ne plus archiver";
-App::$strings["Archive"] = "Archiver";
-App::$strings["Archive or Unarchive this connection"] = "Archiver ou ne plus archiver cette relation";
-App::$strings["Unhide"] = "Ne plus cacher";
-App::$strings["Hide"] = "Cacher";
-App::$strings["Hide or Unhide this connection"] = "Cacher ou ne plus cacher cette relation";
-App::$strings["Delete this connection"] = "Supprimer cette relation";
-App::$strings["Approve this connection"] = "Approuver cette relation";
-App::$strings["Accept connection to allow communication"] = "Accepter la relation pour permettre la communication";
-App::$strings["Automatic Permissions Settings"] = "Permissions automatiques";
-App::$strings["Connections: settings for %s"] = "Relations&nbsp;: réglages pour %s";
-App::$strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "Pour chaque introduction reçue, toutes les permissions définies ici seront appliquées aux nouvelles relations automatiquement, et l'introduction sera approuvée. Laissez cette page telle quelle si vous ne souhaitez pas utiliser ce mécanisme.";
-App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster le niveau de la relation";
-App::$strings["inherited"] = "héritée";
-App::$strings["Connection has no individual permissions!"] = "Cette relation n'a aucune permission spécifique!";
-App::$strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Ceci devrait correspondre à vos <a href=\"settings\">réglages de vie privée</a>, mais vous pouvez toujours contrôler les \"Permissions avancées\".";
-App::$strings["Profile Visibility"] = "Visibilité du profil";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée.";
-App::$strings["Contact Information / Notes"] = "Notes / Information de contact";
-App::$strings["Edit contact notes"] = "Éditer les notes du contact";
-App::$strings["Their Settings"] = "Ses réglages";
-App::$strings["My Settings"] = "Mes réglages";
-App::$strings["Clear/Disable Automatic Permissions"] = "Effacer/Désactiver les Permissions Automatiques";
-App::$strings["Forum Members"] = "Membres du forum";
-App::$strings["Soapbox"] = "Blogue";
-App::$strings["Full Sharing (typical social network permissions)"] = "Partage Complet (fonctionnement habituel des réseaux sociaux)";
-App::$strings["Cautious Sharing "] = "Partage modéré";
-App::$strings["Follow Only"] = "Suivre uniquement";
-App::$strings["Individual Permissions"] = "Permissions spécifiques";
-App::$strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">réglages de vie privée</a>, lesquels sont prioritaires sur les réglages spécifiques. Changer ces permissions héritées sur la présente page n'aura aucun effet.";
-App::$strings["Advanced Permissions"] = "Permissions avancées";
-App::$strings["Simple Permissions (select one and submit)"] = "Permissions simples (en choisir une, puis valider)";
-App::$strings["Visit %s's profile - %s"] = "Visiter le profil de %s - %s";
-App::$strings["Block/Unblock contact"] = "Bloquer/Débloquer le contact";
-App::$strings["Ignore contact"] = "Ignorer le contact";
-App::$strings["Repair URL settings"] = "Réparer les réglages d'URL";
-App::$strings["View conversations"] = "Voir les conversations";
-App::$strings["Delete contact"] = "Supprimer le contact";
-App::$strings["Last update:"] = "Dernière mise à jour&nbsp;:";
-App::$strings["Update public posts"] = "Mettre à jour les publications";
-App::$strings["Update now"] = "Mettre à jour maintenant";
-App::$strings["Currently blocked"] = "Actuellement bloqué";
-App::$strings["Currently ignored"] = "Actuellement ignoré";
-App::$strings["Currently archived"] = "Actuellement archivé";
-App::$strings["Currently pending"] = "Actuellement en attente";
-App::$strings["Hide this contact from others"] = "Dissimuler ce contact aux autres";
-App::$strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Les réponses et autres réactions à vos contributions publiques <strong>pourraient</strong> être toujours visibles";
-App::$strings["No potential page delegates located."] = "Aucun délégué potentiel n'a été trouvé pour cette page.";
-App::$strings["Delegate Page Management"] = "Gestion des délégués de la page";
-App::$strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Les délégués sont capables de gérer tous les aspects de ce compte ou de cette page, à l'exception des réglages basiques du compte. Merci de ne déléguer votre compte personnel qu'à quelqu'un en qui vous avez une confiance aveugle.";
-App::$strings["Existing Page Managers"] = "Actuels gestionnaires de pages";
-App::$strings["Existing Page Delegates"] = "Actuels délégués";
-App::$strings["Potential Delegates"] = "Délégués potentiels";
-App::$strings["Remove"] = "Retirer";
-App::$strings["Add"] = "Ajouter";
-App::$strings["No entries."] = "Aucune entrée.";
-App::$strings["Public access denied."] = "Accès public refusé.";
-App::$strings["Gender: "] = "Sexe/genre&nbsp;:";
-App::$strings["Finding:"] = "Recherche&nbsp;:";
-App::$strings["No entries (some entries may be hidden)."] = "Pas d'entrées (certaines peuvent être cachées).";
-App::$strings["Status: "] = "État&nbsp;:";
-App::$strings["Sexual Preference: "] = "Orientation sexuelle&nbsp;:";
-App::$strings["Homepage: "] = "Site web&nbsp;:";
-App::$strings["Hometown: "] = "Ville natale&nbsp;:";
-App::$strings["About: "] = "À propos&nbsp;:";
-App::$strings["Keywords: "] = "Mots-clefs&nbsp;:";
-App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
-App::$strings["Hubzilla - &quot;The Network&quot;"] = "La Matrice Rouge - &quot;LE Réseau&quot;";
-App::$strings["Welcome to %s"] = "Bienvenue sur %s";
-App::$strings["Hubzilla Server - Setup"] = "Serveur de la Matrice Rouge - Configuration";
+App::$strings["First Name"] = "Prénom";
+App::$strings["Last Name"] = "Nom de famille";
+App::$strings["Nickname"] = "Surnom";
+App::$strings["Full Name"] = "Nom complet";
+App::$strings["Profile Photo 16px"] = "Photo de profil 16px";
+App::$strings["Profile Photo 32px"] = "Photo de profil 32px";
+App::$strings["Profile Photo 48px"] = "Photo de profil 48px";
+App::$strings["Profile Photo 64px"] = "Photo de profil 64px";
+App::$strings["Profile Photo 80px"] = "Photo de profil 80px";
+App::$strings["Profile Photo 128px"] = "Photo de profil 128px";
+App::$strings["Timezone"] = "Fuseau horaire";
+App::$strings["Homepage URL"] = "URL de mon site Internet&nbsp;:";
+App::$strings["Birth Year"] = "Année de naissance";
+App::$strings["Birth Month"] = "Mois de naissance";
+App::$strings["Birth Day"] = "Jour de naissance";
+App::$strings["Birthdate"] = "Date de naissance";
+App::$strings["%s element installed"] = "Elément %s installé";
+App::$strings["%s element installation failed"] = "L'installation de l'élément %s a échoué";
+App::$strings["Items tagged with: %s"] = "Eléments étiquetés avec&nbsp;: %s";
+App::$strings["Search results for: %s"] = "Résultats de recherche pour&nbsp;: %s";
+App::$strings["Your service plan only allows %d channels."] = "Votre forfait n'autorise que %d canaux.";
+App::$strings["Nothing to import."] = "Rien à importer.";
+App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur";
+App::$strings["Imported file is empty."] = "Le fichier importé est vide.";
+App::$strings["The data provided is not compatible with this project."] = "";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attention&nbsp;: les versions de bases de données diffèrent de %1\$d mises à jour.";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Impossible de créer un doublon d'un identifiant de canal. L'import a échoué.";
+App::$strings["Channel clone failed. Import failed."] = "Le clonage du canal a échoué. L'import a échoué.";
+App::$strings["Cloned channel not found. Import failed."] = "Le canal cloné n'a pas été trouvé. L'import a échoué.";
+App::$strings["You must be logged in to use this feature."] = "Vous devez vous connecter pour utiliser cette fonctionnalité.";
+App::$strings["Import Channel"] = "Importation de canal";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import.";
+App::$strings["File to Upload"] = "Fichier à envoyer";
+App::$strings["Or provide the old server/hub details"] = "Ou fournissez les détails de l'ancien serveur";
+App::$strings["Your old identity address (xyz@example.com)"] = "Votre ancienne identité (zyx@exemple.com)";
+App::$strings["Your old login email address"] = "Votre ancienne adresse de courriel";
+App::$strings["Your old login password"] = "Votre ancien mot de passe";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Quelle que soit l'option choisie, merci de décider si cette nouvelle adresse sera la primaire, ou si votre ancienne adresse continuera à jouer ce rôle. Vous pourrez publier depuis l'adresse de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media.";
+App::$strings["Make this hub my primary location"] = "Faire de ce hub l'adresse principale de ce canal";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin.";
+App::$strings["No service class restrictions found."] = "Aucune restriction de classe de service trouvée.";
+App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée.";
+App::$strings["%s : Not a valid email address."] = "%s&nbsp: adresse courriel invalide.";
+App::$strings["Please join us on Red"] = "Rejoignez-nous sur la Matrice Rouge";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site.";
+App::$strings["%s : Message delivery failed."] = "%s&nbsp;: Échec dans la livraison du message.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d message envoyé.",
+ 1 => "%d messages envoyés.",
+);
+App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation";
+App::$strings["Send invitations"] = "Envoyer des invitations";
+App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne&nbsp;:";
+App::$strings["Please join my community on \$Projectname."] = "Rejoignez ma communauté sur \$Projectname.";
+App::$strings["You will need to supply this invitation code: "] = "Vous aurez besoin de fournir le code suivant:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveur \$Projectname (ils sont tous inter-connectés)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal \$Projectname dans la barre de recherche du site.";
+App::$strings["or visit "] = "ou visitez";
+App::$strings["3. Click [Connect]"] = "3. Click sur [Ajouter]";
+App::$strings["Name is required"] = "Le nom est requis";
+App::$strings["Key and Secret are required"] = "Clef et secret sont requis";
+App::$strings["Diaspora Policy Settings updated."] = "";
+App::$strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé.";
+App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé.";
+App::$strings["Password changed."] = "Le mot de passe a été changé.";
+App::$strings["Password update failed. Please try again."] = "La mise-à-jour du mot de passe a échoué. Merci de recommencer.";
+App::$strings["Not valid email."] = "Adresse de courriel non-valide.";
+App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
+App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci de ré-essayer.";
+App::$strings["Settings updated."] = "Réglages sauvegardés.";
+App::$strings["Add application"] = "Ajouter une application";
+App::$strings["Name of application"] = "Nom de l'application";
+App::$strings["Consumer Key"] = "Clef de consommateur";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères.";
+App::$strings["Consumer Secret"] = "Secret de consommateur";
+App::$strings["Redirect"] = "Redirection";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez blanc, sauf si l'application a demandé autrement";
+App::$strings["Icon url"] = "URL de l'icône";
+App::$strings["Optional"] = "Facultatif";
+App::$strings["You can't edit this application."] = "Vous ne pouvez pas éditer cette application.";
+App::$strings["Connected Apps"] = "Applications connectées";
+App::$strings["Client key starts with"] = "La clef partagée commence par";
+App::$strings["No name"] = "Sans nom";
+App::$strings["Remove authorization"] = "Révoquer l'autorisation";
+App::$strings["No feature settings configured"] = "Pas de fonctionnalité à configurer";
+App::$strings["Feature/Addon Settings"] = "Paramètres des extensions/greffons";
+App::$strings["Settings for the built-in Diaspora emulator"] = "";
+App::$strings["Allow any Diaspora member to comment on your public posts"] = "";
+App::$strings["Enable the Diaspora protocol for this channel"] = "";
+App::$strings["Diaspora Policy Settings"] = "";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "";
+App::$strings["Account Settings"] = "Compte";
+App::$strings["Enter New Password:"] = "Nouveau mot de passe&nbsp;:";
+App::$strings["Confirm New Password:"] = "Confirmer le nouveau mot de passe&nbsp;:";
+App::$strings["Leave password fields blank unless changing"] = "Laissez les mots de passe vides si vous ne voulez pas les modifier";
+App::$strings["Email Address:"] = "Adresse de courriel&nbsp;:";
+App::$strings["Remove this account including all its channels"] = "Supprimer ce compte et tous ses canaux";
+App::$strings["Off"] = "Inactif";
+App::$strings["On"] = "Actif";
+App::$strings["Additional Features"] = "Fonctionnalités additionnelles";
+App::$strings["Connector Settings"] = "Connecteurs";
+App::$strings["No special theme for mobile devices"] = "Pas de thème spécifique aux périphériques mobiles";
+App::$strings["%s - (Experimental)"] = "%s - (Expérimental)";
+App::$strings["Display Settings"] = "Affichage";
+App::$strings["Theme Settings"] = "Paramètres du thème";
+App::$strings["Custom Theme Settings"] = "Paramètres personnels du thème";
+App::$strings["Content Settings"] = "Paramètres liés au contenu";
+App::$strings["Display Theme:"] = "Thème&nbsp;:";
+App::$strings["Mobile Theme:"] = "Thème mobile&nbsp;:";
+App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'usager d'un mobile d'agrandir le contenu";
+App::$strings["Update browser every xx seconds"] = "Rafraîchir le navigateur toutes les xx secondes";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum";
+App::$strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:";
+App::$strings["Maximum of 100 items"] = "100 éléments au maximum";
+App::$strings["Show emoticons (smilies) as images"] = "Remplacer les émoticônes (smileys) par des images";
+App::$strings["Link post titles to source"] = "Lier les titres des publications à leur source";
+App::$strings["System Page Layout Editor - (advanced)"] = "Agencements des pages système - (avancé)";
+App::$strings["Use blog/list mode on channel page"] = "Utiliser le mode blog/liste sur la page du canal";
+App::$strings["(comments displayed separately)"] = "(commentaires affichés séparément)";
+App::$strings["Use blog/list mode on matrix page"] = "Utiliser le mode blog/liste sur la page de la matrice";
+App::$strings["Channel page max height of content (in pixels)"] = "Hauteur maximale du contenu pour la page du canal (en pixels)";
+App::$strings["click to expand content exceeding this height"] = "cliquer pour dérouler le contenu dépassant cette limite";
+App::$strings["Matrix page max height of content (in pixels)"] = "Hauteur maximale du contenu pour la page du réseau (en pixels)";
+App::$strings["Nobody except yourself"] = "Personne sauf vous";
+App::$strings["Only those you specifically allow"] = "Seulement ceux que vous autorisez spécifiquement";
+App::$strings["Approved connections"] = "Contacts Approuvés";
+App::$strings["Any connections"] = "Tous les contacts";
+App::$strings["Anybody on this website"] = "Tous les utilisateurs du hub";
+App::$strings["Anybody in this network"] = "Tous les utilisateurs sur ce réseau";
+App::$strings["Anybody authenticated"] = "Tous les utilisateurs authentifiés";
+App::$strings["Anybody on the internet"] = "Tous les utilisateurs d'Internet";
+App::$strings["Publish your default profile in the network directory"] = "Publier votre profil par défaut dans l'annuaire du réseau";
+App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Nous autoriser à vous suggérer comme relation potentielle aux nouveaux membres?";
+App::$strings["Your channel address is"] = "Voici l'adresse de votre canal";
+App::$strings["Channel Settings"] = "Canal";
+App::$strings["Basic Settings"] = "Basique";
+App::$strings["Your Timezone:"] = "Fureau Horaire&nbsp;:";
+App::$strings["Default Post Location:"] = "Emplacement géographique par défaut&nbsp;:";
+App::$strings["Geographical location to display on your posts"] = "Emplacement géographique à afficher sur vos publications";
+App::$strings["Use Browser Location:"] = "Utiliser la géolocalisation fournie par le navigateur&nbsp;:";
+App::$strings["Adult Content"] = "Contenu \"adulte\"";
+App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)";
+App::$strings["Security and Privacy Settings"] = "Réglages de Sécurité et vie privée";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster";
+App::$strings["Hide my online presence"] = "Cacher ma présence en ligne";
+App::$strings["Prevents displaying in your profile that you are online"] = "Cacher votre statut (en ligne/hors ligne) sur votre profil";
+App::$strings["Simple Privacy Settings:"] = "Réglages simples&nbsp;:";
+App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Classique - <em>public par défaut, privé en cas de besoin (comparable dans le principe aux réseaux sociaux centralisés, avec un mode privé plus efficace)</em>";
+App::$strings["Private - <em>default private, never open or public</em>"] = "Privé - <em>privé par défaut, jamais ouvert ni public</em>";
+App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>";
+App::$strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueté\" vos publications";
+App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour distinguer le contenu innaproprié";
+App::$strings["Advanced Privacy Settings"] = "Réglages avancés";
+App::$strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours";
+App::$strings["0 or blank prevents expiration"] = "0, ou vide, pour ne pas faire expirer";
+App::$strings["Maximum Friend Requests/Day:"] = "Nombre maximum de mises en relation par jour&nbsp;:";
+App::$strings["May reduce spam activity"] = "Contribue à réduire l'impact des indésirables";
+App::$strings["Default Post Permissions"] = "Permissions par défaut des publications";
+App::$strings["(click to open/close)"] = "(cliquer pour ouvrir/fermer)";
+App::$strings["Channel permissions category:"] = "Catégorie de permissions du canal&nbsp;:";
+App::$strings["Maximum private messages per day from unknown people:"] = "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:";
+App::$strings["Useful to reduce spamming"] = "Utile pour réduire les indésirables";
+App::$strings["Notification Settings"] = "Notifications";
+App::$strings["By default post a status message when:"] = "Par défaut, publier un statut quand:";
+App::$strings["accepting a friend request"] = "vous acceptez une mise en relation";
+App::$strings["joining a forum/community"] = "vous joignez un forum ou à une communauté";
+App::$strings["making an <em>interesting</em> profile change"] = "vous faites une modification <em>intéressante</em> de votre profil";
+App::$strings["Send a notification email when:"] = "Envoyer un courriel de notification quand&nbsp;:";
+App::$strings["You receive a connection request"] = "Vous recevez une demande de mise en relation";
+App::$strings["Your connections are confirmed"] = "Vous relations sont confirmées";
+App::$strings["Someone writes on your profile wall"] = "Quelqu'un a écrit sur votre mur";
+App::$strings["Someone writes a followup comment"] = "Quelqu'un a commenté sur vos publications";
+App::$strings["You receive a private message"] = "Vous recevez un message privé";
+App::$strings["You receive a friend suggestion"] = "Vous recevez une suggestion d'amitié/relation";
+App::$strings["You are tagged in a post"] = "Vous êtes étiqueté dans une publication";
+App::$strings["You are poked/prodded/etc. in a post"] = "Vous êtes cogné/pointé/etc. dans une publication";
+App::$strings["Show visual notifications including:"] = "Afficher des notifications visuelles y compris&nbsp;:";
+App::$strings["Unseen matrix activity"] = "Activité non-vue sur la matrice";
+App::$strings["Unseen channel activity"] = "Activité non-vue sur le canal";
+App::$strings["Unseen private messages"] = "Messages privés non-vus";
+App::$strings["Recommended"] = "Recommandé";
+App::$strings["Upcoming events"] = "Événements à venir";
+App::$strings["Events today"] = "Événements aujourd'hui";
+App::$strings["Upcoming birthdays"] = "Anniversaires à venir";
+App::$strings["Not available in all themes"] = "Pas disponible dans tous les thèmes";
+App::$strings["System (personal) notifications"] = "Notifications système (personnelles)";
+App::$strings["System info messages"] = "Messages d'info système";
+App::$strings["System critical alerts"] = "Alertes critiques systèmes";
+App::$strings["New connections"] = "Nouvelles relations";
+App::$strings["System Registrations"] = "Inscriptions systèmes";
+App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Montrer également les nouvelles publications sur mur, messages privés et relations dans Notices";
+App::$strings["Notify me of events this many days in advance"] = "Me prévenir d’événements à venir tant de jours en avance";
+App::$strings["Must be greater than 0"] = "Doit être supérieur à 0";
+App::$strings["Advanced Account/Page Type Settings"] = "Type de page/Compte (avancé)";
+App::$strings["Change the behaviour of this account for special situations"] = "Modifie le comportement de ce compte pour certains cas particuliers";
+App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Mode expert requis (<a href=\"settings/features\">Réglages > Fonctions supplémentaires</a>) svp ajuster!";
+App::$strings["Miscellaneous Settings"] = "Divers";
+App::$strings["Personal menu to display in your channel pages"] = "Menu personnel tel qu'il apparaîtra sur les pages de votre canal";
+App::$strings["Remove this channel."] = "Supprimer ce canal";
+App::$strings["Unable to locate original post."] = "Impossible de localiser la publication initiale.";
+App::$strings["Empty post discarded."] = "Publication vide annulée.";
+App::$strings["Executable content type not permitted to this channel."] = "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal.";
+App::$strings["System error. Post not saved."] = "Erreur système. Publication non sauvegardée.";
+App::$strings["Unable to obtain post information from database."] = "Impossible d'obtenir les informations de publication depuis la base de données.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racine\".";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web.";
+App::$strings["\$Projectname Server - Setup"] = "Serveur \$Projectname - configuration";
App::$strings["Could not connect to database."] = "Impossible de se connecter à la base de données.";
App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Impossible de se connecter au site par l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS.";
App::$strings["Could not create table."] = "Impossible de créer la table.";
App::$strings["Your site database has been installed."] = "La base de données de votre site a été installée.";
-App::$strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Vous pourriez avoir besoin d'importer le fichier \"install/database.sql\" manuellement via phpmyadmin ou mysql.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin).";
App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Merci de consulter le fichier \"install/INSTALL.txt\".";
App::$strings["System check"] = "Vérification du système";
-App::$strings["Next"] = "Suivant";
App::$strings["Check again"] = "Re-vérifier";
App::$strings["Database connection"] = "Connexion à la base de données";
-App::$strings["In order to install Hubzilla we need to know how to connect to your database."] = "Pour installer la Matrice Rouge, nous avons besoin de savoir comment contacter votre base de données.";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Pour installer \$Projectname, nous avons besoin de savoir comment se connecter à votre base de données.";
App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Merci de contacter votre prestataire d'hébergement ou votre administrateur système si vous avez des doutes à propos de ces paramètres.";
App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer.";
App::$strings["Database Server Name"] = "Nom du serveur de la base de données";
@@ -1303,6 +1825,7 @@ App::$strings["Communication port number - use 0 for default"] = "Numéro TCP du
App::$strings["Database Login Name"] = "Identifiant de connexion à la Base de Données";
App::$strings["Database Login Password"] = "Mot de passe de connexion à la Base de Données";
App::$strings["Database Name"] = "Nom de la Base de Données";
+App::$strings["Database Type"] = "Type de base de données";
App::$strings["Site administrator email address"] = "Adresse de courriel de l'administrateur du site";
App::$strings["Your account email address must match this in order to use the web admin panel."] = "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web.";
App::$strings["Website URL"] = "URL du site";
@@ -1310,22 +1833,26 @@ App::$strings["Please use SSL (https) URL if available."] = "Merci d'utiliser SS
App::$strings["Please select a default timezone for your website"] = "Merci de choisir une zone de temps (fuseau horaire) pour votre site";
App::$strings["Site settings"] = "Réglages du site";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur web.";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise à jour en arrière-plan via cron.";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise-à-jour en arrière-plan via cron.";
App::$strings["PHP executable path"] = "Chemin vers l'éxecutable PHP";
App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans.";
App::$strings["Command line PHP"] = "PHP en ligne de commande (CLI)";
App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée.";
App::$strings["This is required for message delivery to work."] = "Elle est nécessaire pour la livraison de messages.";
App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Vous pouvez ajuster ces paramètres dans le php.ini du serveur.";
+App::$strings["PHP upload limits"] = "Limites de téléversement de PHP";
App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Erreur&nbsp;: la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement";
App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\".";
App::$strings["Generate encryption keys"] = "Générer les clefs de chiffrement";
App::$strings["libCurl PHP module"] = "module PHP libCurl";
App::$strings["GD graphics PHP module"] = "module PHP GD graphics";
App::$strings["OpenSSL PHP module"] = "module PHP OpenSSL";
-App::$strings["mysqli PHP module"] = "module PHP mysqli";
+App::$strings["mysqli or postgres PHP module"] = "module PHP postgres ou mysqli";
App::$strings["mb_string PHP module"] = "module PHP mb_string";
App::$strings["mcrypt PHP module"] = "module PHP mcrypt";
+App::$strings["xml PHP module"] = "module PHP xml";
App::$strings["Apache mod_rewrite module"] = "module Apache mod_rewrite";
App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur&nbsp;: le module mod-rewrite du serveur web Apache est requis, mais pas installé.";
App::$strings["proc_open"] = "proc_open";
@@ -1333,10 +1860,11 @@ App::$strings["Error: proc_open is required but is either not installed or has b
App::$strings["Error: libCURL PHP module required but not installed."] = "Erreur&nbsp;: le module libCURL de PHP est requis, mais pas installé.";
App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erreur&nbsp;: le module GD de PHP (avec support JPEG) est requis, mais pas installé.";
App::$strings["Error: openssl PHP module required but not installed."] = "Erreur&nbsp;: le module openssl de PHP est requis, mais pas installé.";
-App::$strings["Error: mysqli PHP module required but not installed."] = "Erreur&nbsp;: le module mysqli de PHP est requis, mais pas installé.";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Erreur&nbsp;: un module PHP mysqli ou postgres est requis, mais aucun des deux n'est installé.";
App::$strings["Error: mb_string PHP module required but not installed."] = "Erreur&nbsp;: le module mb_string de PHP est requis, mais pas installé.";
App::$strings["Error: mcrypt PHP module required but not installed."] = "Erreur&nbsp;: le module mcrypt de PHP est requis, mais pas installé.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Erreur&nbsp;: le module xml de PHP est requis pour le DAV, mais pas installé.";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable.";
App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit.";
App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de La Matrice Rouge.";
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées.";
@@ -1355,74 +1883,55 @@ App::$strings["If your certificate is not recognized, members of other sites (wh
App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Pour des raisons de compatibilité (sur l'ensemble de la matrice) nous nous devons d'insister sur ce prérequis.";
App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Il existe une plusieurs autorités de certification qui vous fourniront gratuitement un certificat valide.";
App::$strings["SSL certificate validation"] = "Validation du certificat SSL/TLS";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Merci de vérifier la configuration de votre serveur web.";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "La réécriture d'URL définie dans le .htaccess ne fonctionne pase. Vérifiez votre configuration serveur. Test&nbsp;:";
App::$strings["Url rewrite is working"] = "La réécriture d'URL fonctionne";
App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web.";
App::$strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BD.";
App::$strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour.";
-App::$strings["Item not found"] = "Élément introuvable";
-App::$strings["Edit Block"] = "Éditer bloc";
-App::$strings["Delete block?"] = "Supprimer le bloc?";
-App::$strings["Insert YouTube video"] = "Insérer une vidéo YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Insérer une vidéo Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Insérer un son Vorbis [.ogg]";
-App::$strings["Delete Block"] = "Supprimer le bloc";
-App::$strings["Layout updated."] = "Agencement pris-en-compte.";
-App::$strings["Edit System Page Description"] = "Éditer la description";
-App::$strings["Layout not found."] = "Agencement introuvable.";
-App::$strings["Module Name:"] = "Nom du module&nbsp;:";
-App::$strings["Layout Help"] = "Aide à la mise en page";
-App::$strings["Edit Layout"] = "Éditer mise-en-page";
-App::$strings["Delete layout?"] = "Supprimer la mise-en-page?";
-App::$strings["Delete Layout"] = "Supprimer mise-en-page";
-App::$strings["Item is not editable"] = "Élément non-éditable";
-App::$strings["Delete item?"] = "Supprimer l'élément?";
-App::$strings["Edit Webpage"] = "Éditer page web";
-App::$strings["Delete webpage?"] = "Supprimer la page web?";
-App::$strings["Delete Webpage"] = "Supprimer page web";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises-à-jour.";
+App::$strings["Comanche page description language help"] = "Aide sur le langage de description de page Comanche";
+App::$strings["Layout Description"] = "Description de la mise en page";
+App::$strings["Download PDL file"] = "Télécharger le fichier PDL";
+App::$strings["Files: shared with me"] = "Fichiers&nbsp;: partagés avec moi";
+App::$strings["NEW"] = "NOUVEAU";
+App::$strings["Remove all files"] = "Supprimer tous les fichiers";
+App::$strings["Remove this file"] = "Supprimer ce fichier";
+App::$strings["Like/Dislike"] = "J'aime/Je Déteste";
+App::$strings["This action is restricted to members."] = "Cette action est réservée aux membres.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de \$Projectname </a> ou <a href=\"register\">inscrivez vous pour un nouveau \$Projectname </a> pour continuer.";
+App::$strings["Invalid request."] = "Requête invalide.";
+App::$strings["thing"] = "chose";
+App::$strings["Channel unavailable."] = "Canal indisponible.";
+App::$strings["Previous action reversed."] = "Action précédente annulée.";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s approuve %3\$s de %2\$s";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s n'est pas d'accord avec %2\$s's %3\$s";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s s'abstient de toute décision sur le %3\$s de %2\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s participe en ce moment à %3\$s de %2\$s";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s ne participe pas à %3\$s de %2\$s";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s participe peut-être à %3\$s de %2\$s";
+App::$strings["Action completed."] = "Action complétée.";
+App::$strings["Thank you."] = "Merci.";
App::$strings["Version %s"] = "Version %s";
App::$strings["Installed plugins/addons/apps:"] = "Extensions/applications installées&nbsp;:";
App::$strings["No installed plugins/addons/apps"] = "Aucune extension/application installée";
-App::$strings["Red"] = "Rouge";
-App::$strings["This is a hub of the Hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Ceci est un serveur de la Matrice Rouge - un réseau collaboratif de plusieurs serveurs qui assurent la protection de votre vie privée notamment par la décentralisation de votre identité.";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Ceci est un serveur \$Projectname - un réseau collaboratif mondial de serveurs décentralisés à la confidentialité améliorée.";
+App::$strings["Tag: "] = "Tag:";
+App::$strings["Last background fetch: "] = "Dernière récupération en tâche de fond&nbsp;:";
App::$strings["Running at web location"] = "Installée sur";
-App::$strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Hubzilla."] = "Merci de visiter <a href=\"http://getzot.com\">GetZot.com</a> pour en apprendre davantage sur la Matrice Rouge.";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Merci de visiter <a href=\"http://hubzilla.org\">hubzilla.org</a> pour en apprendre davantage sur \$Projectname.";
App::$strings["Bug reports and issues: please visit"] = "Pour remonter bogues et problèmes, merci de visiter";
-App::$strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Suggestions, demandes, etc. - merci de vous adresser à \"hubzilla\" à librelist - point com";
+App::$strings["\$projectname issues"] = "Problèmes \$projectname";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com";
App::$strings["Site Administrators"] = "Administrateurs du site";
-App::$strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page.";
-App::$strings["Album not found."] = "Album introuvable.";
-App::$strings["Delete Album"] = "Supprimer album";
-App::$strings["Delete Photo"] = "Supprimer photo";
-App::$strings["No photos selected"] = "Aucune photo selectionnée";
-App::$strings["Access to this item is restricted."] = "L'accès à l'élément est restreint.";
-App::$strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos.";
-App::$strings["You have used %1$.2f Mbytes of photo storage."] = "Vous avez utilisé %1$.2f mégaoctets pour le stockage des photos.";
-App::$strings["Upload Photos"] = "Téléverser des photos";
-App::$strings["New album name: "] = "Créer un album&nbsp;:";
-App::$strings["or existing album name: "] = "ou choisir un album existant&nbsp;:";
-App::$strings["Do not show a status post for this upload"] = "Ne pas publier de statut pour cet envoi";
-App::$strings["Album name could not be decoded"] = "Le nom de l'Album n'a pu être décodé";
-App::$strings["Contact Photos"] = "Photos de contact";
-App::$strings["Edit Album"] = "Éditer l'album";
-App::$strings["Show Newest First"] = "Ordre anté-chronologique";
-App::$strings["Show Oldest First"] = "Ordre chronologique";
-App::$strings["View Photo"] = "Voir la photo";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint.";
-App::$strings["Photo not available"] = "Photo indisponible";
-App::$strings["Use as profile photo"] = "Utiliser comme photo du profil";
-App::$strings["View Full Size"] = "Voir en taille réelle";
-App::$strings["Edit photo"] = "Éditer la photo";
-App::$strings["Rotate CW (right)"] = "Rotation horaire (droite)";
-App::$strings["Rotate CCW (left)"] = "Rotation anti-horaire (gauche)";
-App::$strings["New album name"] = "Nouveau nom d'album&nbsp;:";
-App::$strings["Caption"] = "Titre/légende";
-App::$strings["Add a Tag"] = "Ajouter une étiquette";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Exemple&nbsp;: @bob, @Barbara_Jensen, @jim@exemple.com, #Ile_de_France, #marathon";
-App::$strings["In This Photo:"] = "Dans cette photo&nbsp;:";
-App::$strings["View Album"] = "Voir l'album";
-App::$strings["Recent Photos"] = "Photos récentes";
+App::$strings["Remote privacy information not available."] = "Les informations de vie privée à distance ne sont pas disponibles.";
+App::$strings["Visible to:"] = "Visible par&nbsp;:";
+App::$strings["Location not found."] = "Emplacement introuvable.";
+App::$strings["Primary location cannot be removed."] = "";
+App::$strings["No locations found."] = "Emplacement(s) introuvable.";
+App::$strings["Manage Channel Locations"] = "Gérer les emplacements des canaux";
+App::$strings["Location (address)"] = "Emplacement (adresse)";
+App::$strings["Primary Location"] = "Emplacement primaire";
+App::$strings["Drop location"] = "Abandonner l'emplacement";
App::$strings["Failed to create source. No channel selected."] = "Impossible de créer la source. Aucun canal selectionné.";
App::$strings["Source created."] = "Source créée.";
App::$strings["Source updated."] = "Source mise à jour.";
@@ -1438,274 +1947,6 @@ App::$strings["Edit Source"] = "Éditer la source";
App::$strings["Delete Source"] = "Supprimer la source";
App::$strings["Source removed"] = "Source supprimée";
App::$strings["Unable to remove source."] = "Impossible de supprimer la source.";
-App::$strings["- select -"] = "- choisir -";
-App::$strings["Event title and start time are required."] = "Un titre et une date de début sont requises pour l'événement.";
-App::$strings["Event not found."] = "Événement introuvable.";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Edit event"] = "Éditer l'événement";
-App::$strings["Create New Event"] = "Créer événement";
-App::$strings["Previous"] = "Précédent";
-App::$strings["hour:minute"] = "heure:minute";
-App::$strings["Event details"] = "Détails de l'événement";
-App::$strings["Format is %s %s. Starting date and Title are required."] = "Le format est %s %s. Date de début et titre obligatoires.";
-App::$strings["Event Starts:"] = "L'événement débute&nbsp;:";
-App::$strings["Required"] = "Requis";
-App::$strings["Finish date/time is not known or not relevant"] = "Date/heure de fin inconnue ou sans objet";
-App::$strings["Event Finishes:"] = "L'événement termine&nbsp;:";
-App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur";
-App::$strings["Description:"] = "Description:";
-App::$strings["Title:"] = "Titre:";
-App::$strings["Share this event"] = "Partager cet événement";
-App::$strings["Permission Denied."] = "Permission refusée.";
-App::$strings["File not found."] = "Fichier introuvable.";
-App::$strings["Edit file permissions"] = "Éditer les permissions du fichier";
-App::$strings["Set/edit permissions"] = "Définir/Édition des authorisations";
-App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires";
-App::$strings["Return to file list"] = "Retourner à la liste des fichiers";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour lier le fichier depuis une page web";
-App::$strings["Channel added."] = "Canal ajouté.";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s";
-App::$strings["Contact not found."] = "Contact introuvable.";
-App::$strings["Friend suggestion sent."] = "Suggestion d'amitié/relation envoyée.";
-App::$strings["Suggest Friends"] = "Suggérer une relation";
-App::$strings["Suggest a friend for %s"] = "Suggérer une relation à %s";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Pas de suggestions pour l'instant. Si le site est récent, merci de re-tenter dans 24 heures.";
-App::$strings["Collection created."] = "Collection créée.";
-App::$strings["Could not create collection."] = "Impossible de créer la collection.";
-App::$strings["Collection updated."] = "Collection mise à jour.";
-App::$strings["Create a collection of channels."] = "Créez une collection de canaux.";
-App::$strings["Collection Name: "] = "Nom de la collection&nbsp;:";
-App::$strings["Members are visible to other channels"] = "Les membres sont visibles par les autres canaux";
-App::$strings["Collection removed."] = "Collection supprimée.";
-App::$strings["Unable to remove collection."] = "Impossible de supprimer la collection.";
-App::$strings["Collection Editor"] = "Éditeur de collection";
-App::$strings["Members"] = "Membres";
-App::$strings["All Connected Channels"] = "Tous canaux connectés";
-App::$strings["Click on a channel to add or remove."] = "Cliquer sur un canal pour l'ajouter ou le supprimer";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s par %4\$s";
-App::$strings["Help:"] = "Aide&nbsp;:";
-App::$strings["Not Found"] = "Introuvable";
-App::$strings["Tag removed"] = "Étiquette retirée";
-App::$strings["Remove Item Tag"] = "Retirer une étiquette à l'élément";
-App::$strings["Select a tag to remove: "] = "Étiquette à retirer&nbsp;:";
-App::$strings["Theme settings updated."] = "Réglages du thème sauvegardés.";
-App::$strings["Site"] = "Site";
-App::$strings["Accounts"] = "Comptes";
-App::$strings["Channels"] = "Canaux";
-App::$strings["Plugins"] = "Extensions";
-App::$strings["Themes"] = "Thèmes";
-App::$strings["Server"] = "Serveur";
-App::$strings["Profile Config"] = "Configurations du profil";
-App::$strings["DB updates"] = "MàJ BD";
-App::$strings["Logs"] = "Journaux";
-App::$strings["Plugin Features"] = "Fonctionnalités liées aux extensions";
-App::$strings["User registrations waiting for confirmation"] = "Inscriptions en attente";
-App::$strings["Message queues"] = "File des messages";
-App::$strings["Administration"] = "Administration";
-App::$strings["Summary"] = "Résumé";
-App::$strings["Registered users"] = "Utilisateurs inscrits";
-App::$strings["Pending registrations"] = "Inscriptions en attente";
-App::$strings["Version"] = "Version";
-App::$strings["Active plugins"] = "Extensions actives";
-App::$strings["Site settings updated."] = "Réglages du site sauvegardés.";
-App::$strings["No special theme for accessibility"] = "Pas de thème spécifique pour l'accessibilité";
-App::$strings["Yes - with approval"] = "Oui - avec approbation";
-App::$strings["My site is not a public server"] = "Mon site n'est pas un serveur public";
-App::$strings["My site has paid access only"] = "Mon site est payant";
-App::$strings["My site has free access only"] = "Mon site est gratuit";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des ajouts payants";
-App::$strings["File upload"] = "Envoi de fichier";
-App::$strings["Policies"] = "Stratégies";
-App::$strings["Site name"] = "Nom du site";
-App::$strings["Banner/Logo"] = "Bannière/logo";
-App::$strings["Administrator Information"] = "Informations sur l'administrateur";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Coordonnées de l'administrateur du site. Affichée sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici";
-App::$strings["System language"] = "Langue du système";
-App::$strings["System theme"] = "Thème du système";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>";
-App::$strings["Mobile system theme"] = "Thème système pour mobile";
-App::$strings["Theme for mobile devices"] = "Thème dédié aux périphériques mobiles";
-App::$strings["Accessibility system theme"] = "Thème système pour l'accessibilité";
-App::$strings["Accessibility theme"] = "Thème pour l'accessibilité";
-App::$strings["Channel to use for this website's static pages"] = "Canal à utiliser pour les pages statiques de ce site";
-App::$strings["Site Channel"] = "Canal de ce HUB";
-App::$strings["Maximum image size"] = "Taille maximale des images";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite.";
-App::$strings["Does this site allow new member registration?"] = "Est-ce que l'enregistrement de nouveau membres sur ce site est autorisé?";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Choisissez le type de comptes offert sur ce hub?";
-App::$strings["Register text"] = "Texte d'inscription";
-App::$strings["Will be displayed prominently on the registration page."] = "Sera affiché de manière bien visible sur le formulaire d'inscription.";
-App::$strings["Accounts abandoned after x days"] = "Les comptes sont abandonnés après x jours";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Pour éviter de gaspiller les ressources du système en essayer de mettre à jour des comptes abandonnés. Mettez 0 pour ne pas avoir de limite de temps.";
-App::$strings["Allowed friend domains"] = "Domaines amicaux";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste de noms de domaines - séparés par des virgules - pour lesquels ce site acceptera les demandes d'amitié ou de mise en relation. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines.";
-App::$strings["Allowed email domains"] = "Domaines de courriels amicaux";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines.";
-App::$strings["Block public"] = "Bloquer public";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Cocher pour interdire tout accès public, y compris aux pages marquées comme publiques, aux visiteurs anonymes.";
-App::$strings["Force publish"] = "Forcer publication";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire.";
-App::$strings["Disable discovery tab"] = "Désactiver l'onglet \"À découvrir\"";
-App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Ne pas afficher d'onglet avec des contenus publics automatiquement rassemblées depuis des sources choisies pour ce site.";
-App::$strings["No login on Homepage"] = "Pas de connexion depuis la page d'accueil";
-App::$strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Cocher pour ne pas montrer le formulaire de connexion sur la page d'accueil (typiquement, pour quand vous utilisez la page d'accueil pour afficher du contenu via le canal du site).";
-App::$strings["Proxy user"] = "Utilisateurs du proxy";
-App::$strings["Proxy URL"] = "URL du proxy (visiter @proxy-list)";
-App::$strings["Network timeout"] = "Délai maximal du réseau";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (pas recommandé).";
-App::$strings["Delivery interval"] = "Intervalle de distribution";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés.";
-App::$strings["Poll interval"] = "Intervalle de scrutation";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution.";
-App::$strings["Maximum Load Average"] = "Charge moyenne maximale";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Charge système maximale au-delà de laquelle distribution et scrutation sont mis en pause - par défaut 50.";
-App::$strings["No server found"] = "Serveur introuvable";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "pour le canal";
-App::$strings["on server"] = "sur le serveur";
-App::$strings["Status"] = "État";
-App::$strings["Update has been marked successful"] = "La mise à jour a été marquée comme réussie";
-App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a échoué. Merci de vérifier les journaux du système.";
-App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non.";
-App::$strings["Update function %s could not be found."] = "La fonction de mise à jour %s est introuvable.";
-App::$strings["No failed updates."] = "Aucune mise à jour défaillante.";
-App::$strings["Failed Updates"] = "Mises à jour défaillantes";
-App::$strings["Mark success (if update was manually applied)"] = "Marquer comme réussie (si la mise à jour a été réalisée manuellement)";
-App::$strings["Attempt to execute this update step automatically"] = "Tenter de réaliser cette étape de mise à jour automatiquement";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "%s utilisateur bloqué/débloqué",
- 1 => "%s utilisateurs bloqués/débloqués",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s utilisateur supprimé",
- 1 => "%s utilisateurs supprimés",
-);
-App::$strings["Account not found"] = "Compte introuvable";
-App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé";
-App::$strings["User '%s' unblocked"] = "Utilisateur '%s' débloqué";
-App::$strings["User '%s' blocked"] = "Utilisateur '%s' bloqué";
-App::$strings["Users"] = "Utilisateurs";
-App::$strings["select all"] = "tout sélectionner";
-App::$strings["User registrations waiting for confirm"] = "Inscriptions en attente d'approbation";
-App::$strings["Request date"] = "Date de la demande";
-App::$strings["No registrations."] = "Pas d'inscriptions.";
-App::$strings["Approve"] = "Approuver";
-App::$strings["Deny"] = "Refuser";
-App::$strings["Register date"] = "Date d'inscription";
-App::$strings["Last login"] = "Dernière connexion";
-App::$strings["Expires"] = "Expire";
-App::$strings["Service Class"] = "Classe de service";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les utilisateurs sélectionnés seront supprimés!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive!\\n\\nÊtes-vous certain?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'utilisateur {0} sera supprimé!\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive!\\n\\nÊtes-vous certain?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s canal censuré/non-censuré",
- 1 => "%s canaux censurés/non-censurés",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s canal supprimé",
- 1 => "%s canaux supprimés",
-);
-App::$strings["Channel not found"] = "Canal introuvable";
-App::$strings["Channel '%s' deleted"] = "Canal '%s' supprimé";
-App::$strings["Channel '%s' uncensored"] = "Canal '%s' non-censuré";
-App::$strings["Channel '%s' censored"] = "Canal '%s' censuré";
-App::$strings["Censor"] = "Censurer";
-App::$strings["Uncensor"] = "Ne plus censurer";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les canaux sélectionnés seront supprimés!\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé!\\n\\nÊtes-vous certain?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Le canal {0} sera supprimé!\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé!\\n\\nÊtes-vous certain?";
-App::$strings["Plugin %s disabled."] = "Extension %s désactivée.";
-App::$strings["Plugin %s enabled."] = "Extension %s activée.";
-App::$strings["Disable"] = "Désactiver";
-App::$strings["Enable"] = "Activer";
-App::$strings["Toggle"] = "(Dés)activer";
-App::$strings["Author: "] = "Auteur&nbsp;:";
-App::$strings["Maintainer: "] = "Maintenu par&nbsp;:";
-App::$strings["No themes found."] = "Aucun thème trouvé.";
-App::$strings["Screenshot"] = "Aperçu";
-App::$strings["[Experimental]"] = "[Expérimental]";
-App::$strings["[Unsupported]"] = "[Non-supporté]";
-App::$strings["Log settings updated."] = "Réglages du journal sauvegardés.";
-App::$strings["Clear"] = "Vider";
-App::$strings["Debugging"] = "Débogage";
-App::$strings["Log file"] = "Fichier du journal";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de la Matrice Rouge.";
-App::$strings["Log level"] = "Niveau de journalisation";
-App::$strings["Thing updated"] = "Chose mise à jour";
-App::$strings["Object store: failed"] = "Stockage de l'objet&nbsp;: échec";
-App::$strings["Thing added"] = "Chose ajoutée";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Montrer chose";
-App::$strings["item not found."] = "élément introuvable.";
-App::$strings["Edit Thing"] = "Éditer chose";
-App::$strings["Select a profile"] = "Choisissez un profil";
-App::$strings["Post an activity"] = "Publier une activité";
-App::$strings["Only sends to viewers of the applicable profile"] = "Envoi exclusivement au membres autorisé de ce profil";
-App::$strings["Name of thing e.g. something"] = "Nom de la chose, p.ex. quelque-chose";
-App::$strings["URL of thing (optional)"] = "URL de la chose (optionnel)";
-App::$strings["URL for photo of thing (optional)"] = "URL de l'image de la chose (optionnel)";
-App::$strings["Add Thing to your Profile"] = "Ajouter la chose à votre profil";
-App::$strings["Nothing to import."] = "Rien à importer.";
-App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur";
-App::$strings["Imported file is empty."] = "Le fichier importé est vide.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Impossible de créer un doublon d'un identifiant de canal. L'import a échoué.";
-App::$strings["Channel clone failed. Import failed."] = "Le clonage du canal a échoué. L'import a échoué.";
-App::$strings["Cloned channel not found. Import failed."] = "Le canal cloné n'a pas été trouvé. L'import a échoué.";
-App::$strings["Import completed."] = "L'import est terminé.";
-App::$strings["You must be logged in to use this feature."] = "Vous devez vous connecter pour utiliser cette fonctionnalité.";
-App::$strings["Import Channel"] = "Importation de canal";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Utilisez ce formulaire pour importer un canal existant sur un serveur différent. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export. Seules les données d'identité et de relations seront importées. L'importation du contenu est toujours en développement.";
-App::$strings["File to Upload"] = "Fichier à envoyer";
-App::$strings["Or provide the old server/hub details"] = "Ou fournissez les détails de l'ancien serveur";
-App::$strings["Your old identity address (xyz@example.com)"] = "Votre ancienne identité (zyx@exemple.com)";
-App::$strings["Your old login email address"] = "Votre ancienne adresse de courriel";
-App::$strings["Your old login password"] = "Votre ancien mot de passe";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Quelle que soit l'option choisie, merci de décider si cette nouvelle adresse sera la primaire, ou si votre ancienne adresse continuera à jouer ce rôle. Vous pourrez publier depuis l'adresse de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media.";
-App::$strings["Make this hub my primary location"] = "Faire de ce hub l'adresse principale de ce canal";
-App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée.";
-App::$strings["%s : Not a valid email address."] = "%s&nbsp: adresse courriel invalide.";
-App::$strings["Please join us on Red"] = "Rejoignez-nous sur la Matrice Rouge";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site.";
-App::$strings["%s : Message delivery failed."] = "%s&nbsp;: Échec dans la livraison du message.";
-App::$strings["%d message sent."] = array(
- 0 => "%d message envoyé.",
- 1 => "%d messages envoyés.",
-);
-App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation";
-App::$strings["Send invitations"] = "Envoyer des invitations";
-App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne&nbsp;:";
-App::$strings["Your message:"] = "Votre message&nbsp;:";
-App::$strings["Please join my community on Hubzilla."] = "Veuillez me rejoindre sur la Matrice Rouge.";
-App::$strings["You will need to supply this invitation code: "] = "Vous aurez besoin de fournir le code suivant:";
-App::$strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveurs ( ils sont tous inter-connectés )";
-App::$strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal dans la barre de recherche du site.";
-App::$strings["or visit "] = "ou visitez";
-App::$strings["3. Click [Connect]"] = "3. Click sur [Ajouter]";
-App::$strings["Unable to locate original post."] = "Impossible de localiser la publication initiale.";
-App::$strings["Empty post discarded."] = "Publication vide annulée.";
-App::$strings["Executable content type not permitted to this channel."] = "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal.";
-App::$strings["System error. Post not saved."] = "Erreur système. Publication non sauvegardée.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racine\".";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web.";
-App::$strings["[Embedded content - reload page to view]"] = "[Contenu embarqué - rechargez la page pour le voir]";
-App::$strings["Help with this feature"] = "Aide avec cette fonctionnalité";
-App::$strings["Layout Name"] = "Nom de la mise-en-page";
-App::$strings["Like/Dislike"] = "J'aime/Je Déteste";
-App::$strings["This action is restricted to members."] = "Cette action est réservée aux membres.";
-App::$strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "SVP <a href=\"rmagic\">connectez-vous</a> ou <a href=\"register\">enregistrez-vous</a> pour continuer.";
-App::$strings["Invalid request."] = "Requête invalide.";
-App::$strings["thing"] = "chose";
-App::$strings["Channel unavailable."] = "Canal indisponible.";
-App::$strings["Previous action reversed."] = "Action précédente annulée.";
-App::$strings["Action completed."] = "Action complétée.";
-App::$strings["Thank you."] = "Merci.";
-App::$strings["Remote privacy information not available."] = "Les informations de vie privée à distance ne sont pas disponibles.";
-App::$strings["Visible to:"] = "Visible par&nbsp;:";
-App::$strings["No connections."] = "Pas de relation.";
-App::$strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]";
-App::$strings["View Connnections"] = "Voir les relations";
App::$strings["No valid account found."] = "Aucun compte valide trouvé.";
App::$strings["Password reset request issued. Check your email."] = "Réinitialisation du mot de passe demandée. Vérifiez vos courriels.";
App::$strings["Site Member (%s)"] = "Membre du site (%s)";
@@ -1722,127 +1963,156 @@ App::$strings["Forgot your Password?"] = "Mot de passe oublié?";
App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte à lettres pour la suite des instructions.";
App::$strings["Email Address"] = "Adresse de courriel";
App::$strings["Reset"] = "Réinitialiser";
-App::$strings["Hub not found."] = "Hub introuvable.";
-App::$strings["Total votes"] = "Total des votes";
-App::$strings["Average Rating"] = "Évaluation moyenne";
-App::$strings["Unable to lookup recipient."] = "Impossible de localiser le destinataire.";
-App::$strings["Unable to communicate with requested channel."] = "Impossible de communiquer avec le canal demandé.";
-App::$strings["Cannot verify requested channel."] = "Impossible de vérifier le canal demandé.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué.";
-App::$strings["Messages"] = "Messages";
-App::$strings["Message deleted."] = "Message supprimé.";
-App::$strings["Message recalled."] = "Message annulé/rappelé.";
-App::$strings["Send Private Message"] = "Envoyer un Message Privé";
-App::$strings["To:"] = "À&nbsp;:";
-App::$strings["Subject:"] = "Sujet&nbsp;:";
-App::$strings["Send"] = "Envoyer";
-App::$strings["Message not found."] = "Message introuvable.";
-App::$strings["Delete message"] = "Supprimer message";
-App::$strings["Recall message"] = "Rappeler/annuler le message";
-App::$strings["Message has been recalled."] = "Le message a été rappelé.";
-App::$strings["Private Conversation"] = "Conversation privée";
-App::$strings["Delete conversation"] = "Supprimer conversation";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur.";
-App::$strings["Send Reply"] = "Envoyer une réponse";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Vous avez créé %1$.0f des %2$.0f canaux autorisés.";
-App::$strings["Create a new channel"] = "Créer un nouveau canal";
-App::$strings["Channel Manager"] = "Gestionnaire du canal";
-App::$strings["Current Channel"] = "Canal actif";
-App::$strings["Attach to one of your channels by selecting it."] = "Branchez-vous à l'un de vos canaux en le selectionnant.";
-App::$strings["Default Channel"] = "Canal par défaut";
-App::$strings["Make Default"] = "Définir comme défaut";
-App::$strings["Wall Photos"] = "Photos du mur";
-App::$strings["Profile Match"] = "Profils similaires";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut.";
-App::$strings["is interested in:"] = "s'intéresse à&nbsp;:";
-App::$strings["No matches"] = "Pas de correspondance";
-App::$strings["Menu updated."] = "Menu mis à jour.";
App::$strings["Unable to update menu."] = "Impossible de mettre le menu à jour.";
-App::$strings["Menu created."] = "Menu créé.";
App::$strings["Unable to create menu."] = "Impossible de créer le menu.";
-App::$strings["Manage Menus"] = "Gérer les menus";
+App::$strings["Menu Name"] = "Nom du menu";
+App::$strings["Unique name (not visible on webpage) - required"] = "Nom unique (non visible sur la page web) - requis";
+App::$strings["Menu Title"] = "Titre du menu";
+App::$strings["Visible on webpage - leave empty for no title"] = "Visible pour la page web - laisser vide pour qu'il n'y ait pas de titre";
+App::$strings["Allow Bookmarks"] = "Autoriser l'usage de favoris";
+App::$strings["Menu may be used to store saved bookmarks"] = "Le menu pourra être utilisé pour stocker des favoris";
+App::$strings["Submit and proceed"] = "Valider et continuer";
App::$strings["Drop"] = "Supprimer";
-App::$strings["Create a new menu"] = "Créer un nouveau menu";
+App::$strings["Bookmarks allowed"] = "Favoris autorisés";
App::$strings["Delete this menu"] = "Supprimer ce menu";
App::$strings["Edit menu contents"] = "Éditer le contenu du menu";
App::$strings["Edit this menu"] = "Éditer le menu";
-App::$strings["New Menu"] = "Nouveau menu";
+App::$strings["Menu could not be deleted."] = "Impossible de supprimer le menu.";
+App::$strings["Menu not found."] = "Menu introuvable.";
+App::$strings["Edit Menu"] = "Éditer le menu";
+App::$strings["Add or remove entries to this menu"] = "Ajouter/supprimer des entrées à ce menu";
App::$strings["Menu name"] = "Nom du menu";
App::$strings["Must be unique, only seen by you"] = "Doit être unique, ne sera vu que par vous";
App::$strings["Menu title"] = "Titre du menu";
App::$strings["Menu title as seen by others"] = "Titre du menu tel que vu par les visiteurs";
App::$strings["Allow bookmarks"] = "Autoriser l'usage de favoris";
-App::$strings["Menu may be used to store saved bookmarks"] = "Le menu pourra être utilisé pour stocker des favoris";
-App::$strings["Menu deleted."] = "Menu supprimé.";
-App::$strings["Menu could not be deleted."] = "Impossible de supprimer le menu.";
-App::$strings["Edit Menu"] = "Éditer le menu";
-App::$strings["Add or remove entries to this menu"] = "Ajouter/supprimer des entrées à ce menu";
+App::$strings["Not found."] = "Introuvable.";
App::$strings["Conversation removed."] = "Conversation supprimée.";
App::$strings["No messages."] = "Pas de message.";
App::$strings["D, d M Y - g:i A"] = "D d Y - H:i";
+App::$strings["Unable to create element."] = "Impossible de créer l'entrée.";
+App::$strings["Unable to update menu element."] = "Impossible de mettre l'entrée de menu à jour.";
+App::$strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu.";
+App::$strings["Menu Item Permissions"] = "Permissions de l'entrée de menu";
+App::$strings["Link Name"] = "Nom du lien";
+App::$strings["Link or Submenu Target"] = "Lien ou sous-menu cible";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Entrez l'URL du lien ou sélectionnez un nom de menu pour créer un sous-menu";
+App::$strings["Use magic-auth if available"] = "Utiliser l'authentification distante, quand disponible";
+App::$strings["Open link in new window"] = "Ouvrir le lien dans une nouvelle fenêtre";
+App::$strings["Order in list"] = "Ordre dans la liste";
+App::$strings["Higher numbers will sink to bottom of listing"] = "Les nombres les plus élevés seront descendus au bas de la liste";
+App::$strings["Submit and finish"] = "Vadiler et terminer";
+App::$strings["Submit and continue"] = "Valider et continuer";
+App::$strings["Menu:"] = "Menu&nbsp;:";
+App::$strings["Link Target"] = "Cible du lien";
+App::$strings["Edit menu"] = "Éditer le menu";
+App::$strings["Edit element"] = "Éditer l'entrée";
+App::$strings["Drop element"] = "Supprimer l'entrée";
+App::$strings["New element"] = "Nouvelle entrée";
+App::$strings["Edit this menu container"] = "Éditer ce bloc de menu";
+App::$strings["Add menu element"] = "Ajouter une entrée au menu";
+App::$strings["Delete this menu item"] = "Supprimer cet entrée du menu";
+App::$strings["Edit this menu item"] = "Éditer cette entrée du menu";
+App::$strings["Menu item not found."] = "Entrée de menu introuvable.";
+App::$strings["Menu item deleted."] = "Entrée de menu supprimée.";
+App::$strings["Menu item could not be deleted."] = "Impossible de supprimer l'entrée de menu.";
+App::$strings["Edit Menu Element"] = "Éditer l'entrée de menu";
+App::$strings["Link text"] = "Texte du lien";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s";
+App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Pas de suggestions pour l'instant. Si le site est récent, merci de re-tenter dans 24 heures.";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s par %4\$s";
+App::$strings["Tag removed"] = "Étiquette retirée";
+App::$strings["Remove Item Tag"] = "Retirer une étiquette à l'élément";
+App::$strings["Select a tag to remove: "] = "Étiquette à retirer&nbsp;:";
+App::$strings["No such group"] = "Groupe introuvable";
+App::$strings["No such channel"] = "Canal introuvable";
+App::$strings["Search Results For:"] = "Résultats de recherche pour&nbsp;:";
+App::$strings["Collection is empty"] = "Collection vide";
+App::$strings["Collection: "] = "Collection&nbsp;:";
+App::$strings["Connection: "] = "Relation&nbsp;:";
+App::$strings["Invalid connection."] = "Relation invalide.";
+App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Pas d'ID retourné.";
App::$strings["Add a Channel"] = "Ajouter un canal";
App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal est une collection de pages web reliées entre elles, sous votre contrôle. Il peut contenir des profils de réseau social, des blogs, des groupes de conversation, des forums, des pages de célébrités, et bien plus encore. Vous pouvez créer autant de canaux que votre administrateur de hub vous y autorise.";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exemples&nbsp;: \"Bob Jameson\", \"Lisa et ses chevaux sauvages\", \"Football\", \"Groupe des amateurs de tir à l'arc\"";
App::$strings["Choose a short nickname"] = "Choisissez un alias";
App::$strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Cet alias sera utilisé pour créer une adresse de canal, facile à retenir - un peu comme une adresse de courriel - que vous pourrez partager avec d'autres.";
App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Ou <a href=\"import\">importez un canal existant</a> à un autre endroit";
-App::$strings["Invalid request identifier."] = "Identifiant de requête invalide.";
-App::$strings["Discard"] = "Annuler";
-App::$strings["No more system notifications."] = "Pas d'autre notification du système.";
-App::$strings["System Notifications"] = "Notifications du système";
-App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub.";
-App::$strings["Post successful."] = "Contribution effectuée.";
+App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Veuillez choisir un type de canal (par exemple \"réseau social\" ou \"forum communautaire\") et un niveau de confidentialité afin que nous puissions choisir les meilleures autorisations pour vous";
+App::$strings["Channel Type"] = "Type de canal";
+App::$strings["Read more about roles"] = "En savoir plus sur les rôles";
+App::$strings["Thing updated"] = "Chose mise-à-jour";
+App::$strings["Object store: failed"] = "Stockage de l'objet&nbsp;: échec";
+App::$strings["Thing added"] = "Chose ajoutée";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Montrer chose";
+App::$strings["item not found."] = "élément introuvable.";
+App::$strings["Edit Thing"] = "Éditer chose";
+App::$strings["Select a profile"] = "Choisissez un profil";
+App::$strings["Post an activity"] = "Publier une activité";
+App::$strings["Only sends to viewers of the applicable profile"] = "Envoi exclusivement au membres autorisé de ce profil";
+App::$strings["Name of thing e.g. something"] = "Nom de la chose, p.ex. quelque-chose";
+App::$strings["URL of thing (optional)"] = "URL de la chose (optionnel)";
+App::$strings["URL for photo of thing (optional)"] = "URL de l'image de la chose (optionnel)";
+App::$strings["Add Thing to your Profile"] = "Ajouter la chose à votre profil";
+App::$strings["Export Channel"] = "Exporter le canal";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus.";
+App::$strings["Export Content"] = "Exporter le contenu";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence.";
+App::$strings["Export your posts from a given year or month:"] = "";
+App::$strings["You may also export your posts and conversations for a particular year or month. Click on one of the recent years or months below."] = "";
+App::$strings["Jan"] = "Jan";
+App::$strings["Feb"] = "Fev";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Avr";
+App::$strings["Jun"] = "Jun";
+App::$strings["Jul"] = "Jul";
+App::$strings["Aug"] = "Aou";
+App::$strings["Sep"] = "Sep";
+App::$strings["Oct"] = "Oct";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Dec";
+App::$strings["If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "";
+App::$strings["Or adjust the date in your browser location bar to select other dates. For example the year 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> or the month September 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>"] = "";
+App::$strings["Please visit"] = "";
+App::$strings["on another hub to import the backup files(s)."] = "";
+App::$strings["We advise you to clone the channel on the new hub first and than to import the backup file(s) (from the same channel) in chronological order. Importing the backup files into another channel will certainly give permission issues."] = "";
+App::$strings["[Embedded content - reload page to view]"] = "[Contenu embarqué - rechargez la page pour le voir]";
+App::$strings["No connections."] = "Pas de relations.";
+App::$strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]";
+App::$strings["Source of Item"] = "Source de l'élément";
+App::$strings["Total votes"] = "";
+App::$strings["Average Rating"] = "";
+App::$strings["Page Title"] = "Titre de la page";
+App::$strings["Xchan Lookup"] = "Recherche xchan";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Recherche xchan commençant par (ou adresse \"webbie\")&nbsp;:";
App::$strings["invalid target signature"] = "signature de la cible invalide";
-App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Pas d'ID retourné.";
-App::$strings["App installed."] = "Application installée.";
-App::$strings["Malformed app."] = "Erreur de l'application - Malformée.";
-App::$strings["Embed code"] = "Code intégré";
-App::$strings["Edit App"] = "Edition de l'Application";
-App::$strings["Create App"] = "Création d'une Application";
-App::$strings["Name of app"] = "Nom de l'application";
-App::$strings["Location (URL) of app"] = "Emplacement (Lien) vers l'application";
-App::$strings["Photo icon URL"] = "Lien (URL) de l'icône à utiliser pour cette photo";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - optionel";
-App::$strings["Version ID"] = "Version";
-App::$strings["Price of app"] = "Prix de l'application";
-App::$strings["Location (URL) to purchase app"] = "Emplacement (LIEN) pour l'achat de l'application";
-App::$strings["Poll"] = "Sondage";
-App::$strings["View Results"] = "Voir les Résultats";
-App::$strings["Friendica Photo Album Import"] = "Importer votre Album Photo Friendica";
-App::$strings["This will import all your Friendica photo albums to this Red channel."] = "Cette fonction va importer tous vos albums photos Friendica dans ce canal de la Matrice Rouge.";
-App::$strings["Friendica Server base URL"] = "URL vers le serveur Friendica";
-App::$strings["Friendica Login Username"] = "Nom d'utilisateur Friendica";
-App::$strings["Friendica Login Password"] = "Mot de passe Friendica";
-App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un compte à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
-App::$strings["Remove This Account"] = "Supprimer ce Compte";
-App::$strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Cette fonction va complètement supprimer le compte incluant tous ses canaux sur la matrice. Attention, cette action est irréversible.";
-App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Supprimer ce compte, tous ses canaux et tous les clones sur la matrice.";
-App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Par défault, seuls les instances de canaux situés sur ce hub seront supprimer de la matrice.";
-App::$strings["Schema Default"] = "Par défault";
-App::$strings["Sans-Serif"] = "Sans-Serif";
-App::$strings["Monospace"] = "Monospace";
+App::$strings["Schema Default"] = "";
+App::$strings["Sans-Serif"] = "Sans empâtements";
+App::$strings["Monospace"] = "Chasse fixe";
App::$strings["Theme settings"] = "Réglages du thème";
App::$strings["Set scheme"] = "Définir la palette de couleurs";
App::$strings["Set font-size for posts and comments"] = "Définir font-size pour contribution et commentaires";
App::$strings["Set font face"] = "Définir la fonte";
App::$strings["Set iconset"] = "Définir le jeu d'icônes";
-App::$strings["Set big shadow size, default 15px 15px 15px"] = "Définir la taille des grandes ombres, par défaut 15px 15px 15px";
-App::$strings["Set small shadow size, default 5px 5px 5px"] = "Définir la taille des petites ombres, par défaut 5px 5px 5px";
-App::$strings["Set shadow color, default #000"] = "Définir la couleur des ombres, par défaut #000";
-App::$strings["Set radius size, default 5px"] = "Définir le rayon des arrondis, par défaut 5px";
-App::$strings["Set line-height for posts and comments"] = "Définir line-height pour contributions et commentaires";
-App::$strings["Set background image"] = "Définir l'image d'arrière-plan";
-App::$strings["Set background attachment"] = "Image de fond - fichier";
-App::$strings["Set background color"] = "Définir la couleur d'arrière-plan";
-App::$strings["Set section background image"] = "Définir l'image d'arrière-plan des sections";
-App::$strings["Set section background color"] = "Définir la couleur d'arrière-plan des sections";
-App::$strings["Set color of items - use hex"] = "Définir la couleur des éléments - en héxadécimal";
-App::$strings["Set color of links - use hex"] = "Définir la couleur des liens - en héxadécimal";
-App::$strings["Set max-width for items. Default 400px"] = "Définir la largeur maximal des éléments. Par défaut, 400px";
-App::$strings["Set min-width for items. Default 240px"] = "Définir la largeur minimale des éléments. Par défaut, 240px";
-App::$strings["Set the generic content wrapper width. Default 48%"] = "Définir la largeur du contenu. Par défaut, 48%";
-App::$strings["Set color of fonts - use hex"] = "Définir la couleur des fontes - en héxadécimal";
-App::$strings["Set background-size element"] = "Définir background-size pour les éléments";
+App::$strings["Set big shadow size, default 15px 15px 15px"] = "";
+App::$strings["Set small shadow size, default 5px 5px 5px"] = "";
+App::$strings["Set shadow color, default #000"] = "";
+App::$strings["Set radius size, default 5px"] = "";
+App::$strings["Set line-height for posts and comments"] = "";
+App::$strings["Set background image"] = "";
+App::$strings["Set background attachment"] = "";
+App::$strings["Set background color"] = "";
+App::$strings["Set section background image"] = "";
+App::$strings["Set section background color"] = "";
+App::$strings["Set color of items - use hex"] = "";
+App::$strings["Set color of links - use hex"] = "";
+App::$strings["Set max-width for items. Default 400px"] = "";
+App::$strings["Set min-width for items. Default 240px"] = "";
+App::$strings["Set the generic content wrapper width. Default 48%"] = "";
+App::$strings["Set color of fonts - use hex"] = "";
+App::$strings["Set background-size element"] = "Taille du fond";
App::$strings["Item opacity"] = "Opacité des éléments";
App::$strings["Display post previews only"] = "Afficher seulement l'aperçu des contributions";
App::$strings["Display side bar on channel page"] = "Afficher le panneau latéral sur la page du canal";
@@ -1853,10 +2123,8 @@ App::$strings["Right offset of the section element"] = "Décalage droit de l'él
App::$strings["Section width"] = "Largeur de la section";
App::$strings["Left offset of the aside"] = "Décalage gauche du panneau latéral";
App::$strings["Right offset of the aside element"] = "Décalage droit du panneau latéral";
-App::$strings["None"] = "Aucun";
-App::$strings["Header image"] = "Image de l'entête";
-App::$strings["Header image only on profile pages"] = "Image de l'entête tel qu'elle est affichée sur la page du profil";
-App::$strings["Light (Hubzilla default)"] = "Blanc (valeur par défaut)";
+App::$strings["Light (Red Matrix default)"] = "Blanc (valeur par défaut)";
+App::$strings["Select scheme"] = "Définir la palette de couleurs";
App::$strings["Narrow navbar"] = "Barre de navigation fine";
App::$strings["Navigation bar background color"] = "Couleur de fond de la barre de navigation";
App::$strings["Navigation bar gradient top color"] = "Gradient de la barre de navigation HAUT";
@@ -1877,22 +2145,24 @@ App::$strings["Set the indent for comments"] = "Indentation des commentaires";
App::$strings["Set the basic color for item icons"] = "Définir la couleur de base pour les icônes des éléments";
App::$strings["Set the hover color for item icons"] = "Définir la couleur de survol des icônes des éléments";
App::$strings["Set font-size for the entire application"] = "Définir la taille de police pour l'application entière";
+App::$strings["Example: 14px"] = "Exemple : 14px";
App::$strings["Set font-color for posts and comments"] = "Définir font-colour pour les contributions et commentaires";
App::$strings["Set radius of corners"] = "Définir le rayon des arrondis";
App::$strings["Set shadow depth of photos"] = "Définir la profondeur de l'ombre des photos";
-App::$strings["Set maximum width of conversation regions"] = "Définir la largeur maximale des conversations";
-App::$strings["Center conversation regions"] = "Emplacement de la conversation - Centrer";
+App::$strings["Set maximum width of content region in pixel"] = "Définir la largeur maximale de la zone des contenus";
+App::$strings["Leave empty for default width"] = "Laissez vide pour avoir la largeur par défaut";
+App::$strings["Center page content"] = "Contenue de la page centrale";
App::$strings["Set minimum opacity of nav bar - to hide it"] = "Définir l'opacité minimum du bandeau de navigation - pour le cacher";
App::$strings["Set size of conversation author photo"] = "Définir la taille de la photo de l'auteur d'une conversation";
App::$strings["Set size of followup author photos"] = "Définir la taille de la photo de l'auteur d'une réponse";
-App::$strings["Sloppy photo albums"] = "Albums photo \"en biais\"";
-App::$strings["Are you a clean desk or a messy desk person?"] = "Vous êtes plutôt \"bureau bien rangé\" ou \"gros foutoir\"?";
-App::$strings["Update %s failed. See error logs."] = "La mise à jour %s a échoué. Merci de consulter les journaux d'erreur.";
-App::$strings["Update Error at %s"] = "Erreur de mise à jour sur %s";
-App::$strings["Create an account to access services and applications within the Hubzilla"] = "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red";
+App::$strings["Update %s failed. See error logs."] = "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur.";
+App::$strings["Update Error at %s"] = "Erreur de mise-à-jour sur %s";
+App::$strings["Create an account to access services and applications within the Red Matrix"] = "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red";
App::$strings["Password"] = "Mot de passe";
App::$strings["Remember me"] = "Se souvenir de moi";
App::$strings["Forgot your password?"] = "Mot de passe oublié?";
-App::$strings["permission denied"] = "permission refusée";
-App::$strings["Got Zot?"] = "Authentification magique a échouée. Êtes-vous toujours connecté à votre HUB?";
App::$strings["toggle mobile"] = "(dés)activer mobile";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "Le certificat SSL n'est pas valide. Corrigez le.";
+App::$strings["[red] Website SSL error for %s"] = "[red] Erreur SSL pour %s";
+App::$strings["Cron/Scheduled tasks not running."] = "Les taches planifiées ne tournent pas.";
+App::$strings["[red] Cron tasks not running on %s"] = "[red] tache planifiée n'est pas en fonction sur %s";
diff --git a/view/he/hmessages.po b/view/he/hmessages.po
new file mode 100644
index 000000000..991b7f64f
--- /dev/null
+++ b/view/he/hmessages.po
@@ -0,0 +1,9893 @@
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
+# This file is distributed under the same license as the Red package.
+#
+# Translators:
+# GenghisKhan <genghiskhan@gmx.ca>, 2015
+# GenghisKhan <genghiskhan@gmx.ca>, 2015-2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Redmatrix\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-06-17 00:02-0700\n"
+"PO-Revision-Date: 2016-06-18 11:18+0000\n"
+"Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\n"
+"Language-Team: Hebrew (http://www.transifex.com/Friendica/red-matrix/language/he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: he\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+msgid "parent"
+msgstr "הורה"
+
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2621
+msgid "Collection"
+msgstr "אוסף"
+
+#: ../../Zotlabs/Storage/Browser.php:134
+msgid "Principal"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:137
+msgid "Addressbook"
+msgstr "פנקס כתובות"
+
+#: ../../Zotlabs/Storage/Browser.php:140
+msgid "Calendar"
+msgstr "לוח שנה"
+
+#: ../../Zotlabs/Storage/Browser.php:143
+msgid "Schedule Inbox"
+msgstr "תיבת דואר נכנס מתוזמנת"
+
+#: ../../Zotlabs/Storage/Browser.php:146
+msgid "Schedule Outbox"
+msgstr "תיבת דואר יוצא מתוזמנת"
+
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
+#: ../../Zotlabs/Module/Photos.php:1243
+#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:489
+#: ../../Zotlabs/Lib/Apps.php:564 ../../include/conversation.php:1035
+#: ../../include/widgets.php:1578
+msgid "Unknown"
+msgstr "לא ידוע"
+
+#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/conversation.php:1654
+#: ../../include/nav.php:93
+msgid "Files"
+msgstr "קבצים"
+
+#: ../../Zotlabs/Storage/Browser.php:227
+msgid "Total"
+msgstr "סה״כ"
+
+#: ../../Zotlabs/Storage/Browser.php:229
+msgid "Shared"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Webpages.php:194
+msgid "Create"
+msgstr "צור"
+
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1591
+msgid "Upload"
+msgstr "העלאה"
+
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Sharedwithme.php:99
+msgid "Name"
+msgstr "שם"
+
+#: ../../Zotlabs/Storage/Browser.php:236
+msgid "Type"
+msgstr "טיפוס"
+
+#: ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
+msgid "Size"
+msgstr "גודל"
+
+#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Module/Sharedwithme.php:102
+msgid "Last Modified"
+msgstr "שונה לאחרונה"
+
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:160
+#: ../../Zotlabs/Module/Editblock.php:109
+#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:310
+#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:195
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:340
+#: ../../include/channel.php:918 ../../include/channel.php:922
+#: ../../include/menu.php:108 ../../include/page_widgets.php:9
+#: ../../include/page_widgets.php:39
+msgid "Edit"
+msgstr "ערוך"
+
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Connedit.php:578
+#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Editlayout.php:137
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:197 ../../Zotlabs/Lib/ThreadItem.php:126
+#: ../../Zotlabs/Lib/Apps.php:341 ../../include/conversation.php:660
+msgid "Delete"
+msgstr "מחק"
+
+#: ../../Zotlabs/Storage/Browser.php:285
+#, php-format
+msgid "You are using %1$s of your available file storage."
+msgstr "הינך משתמש ב- %1$s מתוך שטח אחסון קבצים זמין."
+
+#: ../../Zotlabs/Storage/Browser.php:290
+#, php-format
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr "הינך משתמש ב- %1$s מתוך %2$s שטח אחסון קבצים זמין. (%3$s&#37;)"
+
+#: ../../Zotlabs/Storage/Browser.php:302
+msgid "WARNING:"
+msgstr "אזהרה:"
+
+#: ../../Zotlabs/Storage/Browser.php:305
+msgid "Create new folder"
+msgstr "צור תיקייה חדשה"
+
+#: ../../Zotlabs/Storage/Browser.php:307
+msgid "Upload file"
+msgstr "העלה קובץ"
+
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "הרשאה נדחתה"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Cover_photo.php:277
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:69
+#: ../../Zotlabs/Module/Editwebpage.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:105
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Filestorage.php:79
+#: ../../Zotlabs/Module/Filestorage.php:94
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:211
+#: ../../Zotlabs/Module/Item.php:219 ../../Zotlabs/Module/Item.php:1070
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Pdledit.php:26
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Profile_photo.php:256
+#: ../../Zotlabs/Module/Profile_photo.php:269
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:439 ../../include/attach.php:901
+#: ../../include/attach.php:972 ../../include/attach.php:1124
+#: ../../include/items.php:3450
+msgid "Permission denied."
+msgstr "הרשאה נדחתה."
+
+#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+msgid "Not Found"
+msgstr "לא נמצא"
+
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Display.php:118 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Page.php:94
+msgid "Page not found."
+msgstr "עמוד לא נמצא."
+
+#: ../../Zotlabs/Zot/Auth.php:138
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr ""
+
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Module/Openid.php:183
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "ברוך בואך %s. אימות מרוחק הצליח."
+
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:818
+msgid "Requested profile is not available."
+msgstr "פרופיל מבוקש לא זמין."
+
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:108
+msgid "Block Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2266
+msgid "Blocks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Layouts.php:190
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:206
+#: ../../include/page_widgets.php:47
+msgid "Created"
+msgstr "נוצר"
+
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:207
+#: ../../include/page_widgets.php:48
+msgid "Edited"
+msgstr "נערך"
+
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:196
+#: ../../include/conversation.php:1219
+msgid "Share"
+msgstr "שתף"
+
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Layouts.php:197
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:201
+#: ../../include/page_widgets.php:42
+msgid "View"
+msgstr "תצוגה"
+
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "ערוץ לא נמצא."
+
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "הרשאה נדחתה."
+
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
+msgid "l, F j"
+msgstr "l, F j"
+
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
+msgid "Link to Source"
+msgstr "קישור למקור"
+
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Edit Event"
+msgstr "ערוך אירוע"
+
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Create Event"
+msgstr "צור אירוע"
+
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949
+msgid "Previous"
+msgstr "קודם"
+
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr "הבא"
+
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
+#: ../../include/widgets.php:755
+msgid "Export"
+msgstr "יצא"
+
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
+#: ../../include/widgets.php:756
+msgid "Import"
+msgstr "יבא"
+
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:737 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:22
+#: ../../include/widgets.php:757 ../../include/widgets.php:769
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "שלח"
+
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+msgid "Today"
+msgstr "היום"
+
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
+#: ../../Zotlabs/Module/Wiki.php:20
+msgid "You must be logged in to see this page."
+msgstr "עליך להתחבר כדי לראות את עמוד זה."
+
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Posts and comments"
+msgstr "פוסטים ותגובות"
+
+#: ../../Zotlabs/Module/Channel.php:42
+msgid "Only posts"
+msgstr "רק פוסטים"
+
+#: ../../Zotlabs/Module/Channel.php:102
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "חדר לא נמצא"
+
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "עזוב חדר"
+
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "מחק חדר"
+
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "אני נעדר/ת ברגע זה"
+
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "אני במצב מקוון"
+
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "סמן את חדר זה"
+
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1181
+msgid "Please enter a link URL:"
+msgstr "אנא הזן URL קישור:"
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1271
+msgid "Encrypt text"
+msgstr "הצפן טקסט"
+
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1146
+msgid "Insert web link"
+msgstr "הכנס קישור רשת"
+
+#: ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "תכונה מנוטרלת."
+
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "New Chatroom"
+msgstr "חדר שיחה חדש"
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr "שם חדר שיחה"
+
+#: ../../Zotlabs/Module/Chat.php:234
+msgid "Expiration of chats (minutes)"
+msgstr "תפוגה של שיחות (דקות)"
+
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr "הרשאות"
+
+#: ../../Zotlabs/Module/Chat.php:246
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "חדרי שיחה של %1$s"
+
+#: ../../Zotlabs/Module/Chat.php:251
+msgid "No chatrooms available"
+msgstr "אין חדרי שיחה זמינים"
+
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Create New"
+msgstr "צור חדש"
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Expiration"
+msgstr "תפוגה"
+
+#: ../../Zotlabs/Module/Chat.php:256
+msgid "min"
+msgstr "דקות"
+
+#: ../../Zotlabs/Module/Chatsvc.php:117
+msgid "Away"
+msgstr "נעדר"
+
+#: ../../Zotlabs/Module/Chatsvc.php:122
+msgid "Online"
+msgstr "מקוון"
+
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "פריט שגוי."
+
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "סימנייה התווספה"
+
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "הסימניות שלי"
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "סימניות החיבורים שלי"
+
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "המשך"
+
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "הבניית ערוץ פרמיה"
+
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "אפשר הגבלות חיבור ערוץ פרמיה"
+
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "ערוץ מוגבל או פרמיה"
+
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:227
+msgid "Connection updated."
+msgstr "חיבור התעדכן."
+
+#: ../../Zotlabs/Module/Connedit.php:229
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:276
+msgid "is now connected to"
+msgstr "כעת מחובר אל"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:660
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
+msgid "No"
+msgstr "לא"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
+msgid "Yes"
+msgstr "כן"
+
+#: ../../Zotlabs/Module/Connedit.php:411
+msgid "Could not access address book record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:431
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "רענון נכשל - ערוץ אינו זמין כעת."
+
+#: ../../Zotlabs/Module/Connedit.php:446 ../../Zotlabs/Module/Connedit.php:455
+#: ../../Zotlabs/Module/Connedit.php:464 ../../Zotlabs/Module/Connedit.php:473
+#: ../../Zotlabs/Module/Connedit.php:486
+msgid "Unable to set address book parameters."
+msgstr "לא מסוגל לקבוע פרמטרים של פנקס כתובות"
+
+#: ../../Zotlabs/Module/Connedit.php:509
+msgid "Connection has been removed."
+msgstr "חיבור הוסר."
+
+#: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/conversation.php:957 ../../include/nav.php:86
+msgid "View Profile"
+msgstr "הצג פרופיל"
+
+#: ../../Zotlabs/Module/Connedit.php:528
+#, php-format
+msgid "View %s's profile"
+msgstr "צפה בפרופיל של %s"
+
+#: ../../Zotlabs/Module/Connedit.php:532
+msgid "Refresh Permissions"
+msgstr "רענן הרשאות"
+
+#: ../../Zotlabs/Module/Connedit.php:535
+msgid "Fetch updated permissions"
+msgstr "תפוס הרשאות מעודכנות"
+
+#: ../../Zotlabs/Module/Connedit.php:539
+msgid "Recent Activity"
+msgstr "פעילות אחרונה"
+
+#: ../../Zotlabs/Module/Connedit.php:542
+msgid "View recent posts and comments"
+msgstr "צפה בפוסטים ותגובות אחרונות"
+
+#: ../../Zotlabs/Module/Connedit.php:546 ../../Zotlabs/Module/Admin.php:1041
+msgid "Unblock"
+msgstr "בטל חסימה"
+
+#: ../../Zotlabs/Module/Connedit.php:546 ../../Zotlabs/Module/Admin.php:1040
+msgid "Block"
+msgstr "חסום"
+
+#: ../../Zotlabs/Module/Connedit.php:549
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "חסום (או בטל חסימה) את כל ההתקשרויות עם חיבור זה"
+
+#: ../../Zotlabs/Module/Connedit.php:550
+msgid "This connection is blocked!"
+msgstr "חיבור זה הינו חסום!"
+
+#: ../../Zotlabs/Module/Connedit.php:554
+msgid "Unignore"
+msgstr "בטל התעלמות"
+
+#: ../../Zotlabs/Module/Connedit.php:554
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "התעלמות"
+
+#: ../../Zotlabs/Module/Connedit.php:557
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "התעלם (או בטל התעלמות) מכל ההתקשרויות שפונות כלפי פנים (inbound) מתוך חיבור זה"
+
+#: ../../Zotlabs/Module/Connedit.php:558
+msgid "This connection is ignored!"
+msgstr "חיבור זה הינו מנוכר!"
+
+#: ../../Zotlabs/Module/Connedit.php:562
+msgid "Unarchive"
+msgstr "בטל גניזה"
+
+#: ../../Zotlabs/Module/Connedit.php:562
+msgid "Archive"
+msgstr "גנוז"
+
+#: ../../Zotlabs/Module/Connedit.php:565
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "גנוז את (או בטל את גניזת) חיבור זה - סמן את עמוד זה כמת אך השאר תוכן"
+
+#: ../../Zotlabs/Module/Connedit.php:566
+msgid "This connection is archived!"
+msgstr "חיבור זה הינו גנוז!"
+
+#: ../../Zotlabs/Module/Connedit.php:570
+msgid "Unhide"
+msgstr "חשוף"
+
+#: ../../Zotlabs/Module/Connedit.php:570
+msgid "Hide"
+msgstr "הסתר"
+
+#: ../../Zotlabs/Module/Connedit.php:573
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "הסתר או חשוף את חיבור זה מן החיבורים האחרים שלך"
+
+#: ../../Zotlabs/Module/Connedit.php:574
+msgid "This connection is hidden!"
+msgstr "חיבור זה הינו מוסתר!"
+
+#: ../../Zotlabs/Module/Connedit.php:581
+msgid "Delete this connection"
+msgstr "מחק את חיבור זה"
+
+#: ../../Zotlabs/Module/Connedit.php:596 ../../include/widgets.php:493
+msgid "Me"
+msgstr "אני"
+
+#: ../../Zotlabs/Module/Connedit.php:597 ../../include/widgets.php:494
+msgid "Family"
+msgstr "משפחה"
+
+#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/selectors.php:123 ../../include/channel.php:389
+#: ../../include/channel.php:390 ../../include/channel.php:397
+#: ../../include/widgets.php:495
+msgid "Friends"
+msgstr "חברים"
+
+#: ../../Zotlabs/Module/Connedit.php:599 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr "מכרים"
+
+#: ../../Zotlabs/Module/Connedit.php:600
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "הכל"
+
+#: ../../Zotlabs/Module/Connedit.php:660
+msgid "Approve this connection"
+msgstr "אשר את חיבור זה"
+
+#: ../../Zotlabs/Module/Connedit.php:660
+msgid "Accept connection to allow communication"
+msgstr "אשר חיבור כדי להתיר תקשורת"
+
+#: ../../Zotlabs/Module/Connedit.php:665
+msgid "Set Affinity"
+msgstr "הגדר קירבה"
+
+#: ../../Zotlabs/Module/Connedit.php:668
+msgid "Set Profile"
+msgstr "הגדר פרופיל"
+
+#: ../../Zotlabs/Module/Connedit.php:671
+msgid "Set Affinity & Profile"
+msgstr "הגדר קירבה וגם פרופיל"
+
+#: ../../Zotlabs/Module/Connedit.php:704
+msgid "none"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr "הרשאות שגרתיות של חיבור"
+
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/items.php:3937
+#, php-format
+msgid "Connection: %s"
+msgstr "חיבור: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:709
+msgid "Apply these permissions automatically"
+msgstr "החל את הרשאות אלה אוטומטית"
+
+#: ../../Zotlabs/Module/Connedit.php:709
+msgid "Connection requests will be approved without your interaction"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "This connection's primary address is"
+msgstr "הכתובת העיקרית של חיבור זה היא"
+
+#: ../../Zotlabs/Module/Connedit.php:712
+msgid "Available locations:"
+msgstr "מיקומים זמינים:"
+
+#: ../../Zotlabs/Module/Connedit.php:716
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:717
+msgid "Connection Tools"
+msgstr "כלי חיבור"
+
+#: ../../Zotlabs/Module/Connedit.php:719
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:720 ../../Zotlabs/Module/Rate.php:159
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "דירוג"
+
+#: ../../Zotlabs/Module/Connedit.php:721
+msgid "Slide to adjust your rating"
+msgstr "החלק כדי להתאים את הדירוג שלך"
+
+#: ../../Zotlabs/Module/Connedit.php:722 ../../Zotlabs/Module/Connedit.php:727
+msgid "Optionally explain your rating"
+msgstr "הסבר לפי הצורך את הדירוג שלך"
+
+#: ../../Zotlabs/Module/Connedit.php:724
+msgid "Custom Filter"
+msgstr "מסנן מותאם"
+
+#: ../../Zotlabs/Module/Connedit.php:725
+msgid "Only import posts with this text"
+msgstr "יבא רק פוסטים עם טקסט זה"
+
+#: ../../Zotlabs/Module/Connedit.php:725 ../../Zotlabs/Module/Connedit.php:726
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:726
+msgid "Do not import posts with this text"
+msgstr "אל תייבא פוסטים עם טקסט זה"
+
+#: ../../Zotlabs/Module/Connedit.php:728
+msgid "This information is public!"
+msgstr "מידע זה הינו ציבורי!"
+
+#: ../../Zotlabs/Module/Connedit.php:733
+msgid "Connection Pending Approval"
+msgstr "חיבור ממתין לאישור"
+
+#: ../../Zotlabs/Module/Connedit.php:736
+msgid "inherited"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:738
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:740
+msgid "Their Settings"
+msgstr "ההגדרות שלהם"
+
+#: ../../Zotlabs/Module/Connedit.php:741
+msgid "My Settings"
+msgstr "ההגדרות שלי"
+
+#: ../../Zotlabs/Module/Connedit.php:743
+msgid "Individual Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:744
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:745
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "Last update:"
+msgstr "עדכון אחרון:"
+
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
+msgid "Public access denied."
+msgstr "גישה ציבורית נדחתה."
+
+#: ../../Zotlabs/Module/Directory.php:243
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "דירוג %d"
+msgstr[1] "%d דירוגים"
+
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr "מין: "
+
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr "מצב: "
+
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr "עמוד בית: "
+
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1164
+msgid "Age:"
+msgstr "גיל:"
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/channel.php:1008
+#: ../../include/bb2diaspora.php:507
+msgid "Location:"
+msgstr "מיקום:"
+
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr "תיאור:"
+
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1180
+msgid "Hometown:"
+msgstr "עיר מגורים:"
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1188
+msgid "About:"
+msgstr "אודות:"
+
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:959
+#: ../../include/channel.php:993 ../../include/connections.php:78
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
+msgstr "התחבר"
+
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr "פורום ציבורי:"
+
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
+msgstr "מילות מפתח: "
+
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr "אל תציע"
+
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr "חיבורים שכיחים:"
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr "ספרייה גלובלית"
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr "ספרייה מקומית"
+
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "מצא"
+
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "הצעות ערוץ"
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr "עמוד הבא"
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr "עמוד קודם"
+
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr "אפשרויות מיון"
+
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr "אלפבתי"
+
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr "אלפבתי הפוך"
+
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr "מהחדשים יותר לישנים יותר"
+
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr "מהישנים יותר לחדשים יותר"
+
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3371
+msgid "Item not found."
+msgstr "פריט לא נמצא."
+
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "פריט לא נמצא"
+
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1243
+msgid "Title (optional)"
+msgstr "כותרת (רשות):"
+
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "אין ערוץ."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "חיבורים מצויים"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "מוסתר"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "גנוזים"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1550
+msgid "New"
+msgstr "חדש"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "חיבורים חדשים"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "כל החיבורים"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "הצג את כל החיבורים"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "הצג רק חיבורים חסומים"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "הצג רק חיבורים מנוכרים"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "הצג רק חיבורים גנוזים"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "הצג רק חיבורים מוסתרים"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "ממתין לאישור"
+
+#: ../../Zotlabs/Module/Connections.php:254
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "ערוך חיבור"
+
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "מחק חיבור"
+
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "כתובת ערוץ"
+
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "רשת"
+
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "מצב"
+
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "מחובר"
+
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "אשר חיבור"
+
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "אשר"
+
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "התעלם מחיבור"
+
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "פעילות אחרונה"
+
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "חיבורים"
+
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "חיפוש"
+
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "חפש את החיבורים שלך"
+
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "חיפוש חיבורים"
+
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "תצלומי שער"
+
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "שינוי גודל תמונה נכשל."
+
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:148
+msgid "Unable to process image"
+msgstr "לא מסוגל לעבד תמונה"
+
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "העלאת תמונה נכשלה."
+
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "לא מסוגל לעבד תמונה."
+
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4298
+msgid "female"
+msgstr "נקבה"
+
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4299
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s עדכנה את ה%2$s שלה"
+
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4300
+msgid "male"
+msgstr "זכר"
+
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4301
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s עדכן את ה%2$s שלו"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4303
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s עדכנו את ה%2$s שלהם"
+
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1642
+msgid "cover photo"
+msgstr "תצלום שער"
+
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "תצלום לא זמין."
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "העלה קובץ:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "בחר פרופיל:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "העלה תצלום שער"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "או"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "דלג על צעד זה"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "גזור תמונה"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "סיים לערוך"
+
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "פריט אינו עריך."
+
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr "ערוך פוסט"
+
+#: ../../Zotlabs/Module/Events.php:26
+msgid "Calendar entries imported."
+msgstr "רשומות לוח שנה הובאו."
+
+#: ../../Zotlabs/Module/Events.php:28
+msgid "No calendar entries found."
+msgstr "לא נמצאו רשומות לוח שנה."
+
+#: ../../Zotlabs/Module/Events.php:105
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
+msgid "Unable to generate preview."
+msgstr "לא מסוגל להפיק תצוגה מקדימה."
+
+#: ../../Zotlabs/Module/Events.php:114
+msgid "Event title and start time are required."
+msgstr "כותרת וזמן תחילת אירוע נדרשים"
+
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
+msgid "Event not found."
+msgstr "אירוע לא נמצא."
+
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1944
+#: ../../include/event.php:949 ../../include/conversation.php:123
+msgid "event"
+msgstr "אירוע"
+
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Edit event title"
+msgstr "ערוך כותרת אירוע"
+
+#: ../../Zotlabs/Module/Events.php:449
+msgid "Event title"
+msgstr "כותרת אירוע"
+
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "נדרש"
+
+#: ../../Zotlabs/Module/Events.php:451
+msgid "Categories (comma-separated list)"
+msgstr "קטגוריות (רשימה מופרדת פסיקים)"
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit Category"
+msgstr "ערוך קטגוריה"
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Category"
+msgstr "קטגוריה"
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit start date and time"
+msgstr "ערוך זמן ותאריך התחלה"
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Start date and time"
+msgstr "זמן ותאריך התחלה"
+
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
+msgid "Finish date and time are not known or not relevant"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit finish date and time"
+msgstr "ערוך זמן ותאריך סיום"
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Finish date and time"
+msgstr "זמן ותאריך סיום"
+
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
+msgid "Adjust for viewer timezone"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:460
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:462
+msgid "Edit Description"
+msgstr "ערוך תיאור"
+
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "תיאור"
+
+#: ../../Zotlabs/Module/Events.php:464
+msgid "Edit Location"
+msgstr "ערוך מיקום"
+
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "מיקום"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
+msgid "Share this event"
+msgstr "שתף את אירוע זה"
+
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
+#: ../../Zotlabs/Module/Webpages.php:202 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1198 ../../include/page_widgets.php:43
+msgid "Preview"
+msgstr "תצוגה מקדימה"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1247
+msgid "Permission settings"
+msgstr "הגדרות הרשאה"
+
+#: ../../Zotlabs/Module/Events.php:476
+msgid "Advanced Options"
+msgstr "אפשרויות מתקדמות"
+
+#: ../../Zotlabs/Module/Events.php:610
+msgid "Edit event"
+msgstr "ערוך אירוע"
+
+#: ../../Zotlabs/Module/Events.php:612
+msgid "Delete event"
+msgstr "מחק אירוע"
+
+#: ../../Zotlabs/Module/Events.php:646
+msgid "calendar"
+msgstr "לוח שנה"
+
+#: ../../Zotlabs/Module/Events.php:706
+msgid "Event removed"
+msgstr "אירוע הוסר"
+
+#: ../../Zotlabs/Module/Events.php:709
+msgid "Failed to remove event"
+msgstr "נכשל להסיר אירוע"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/conversation.php:1647 ../../include/nav.php:92
+msgid "Photos"
+msgstr "תצלומים"
+
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1235
+#: ../../include/conversation.php:1274
+msgid "Cancel"
+msgstr "ביטול"
+
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "אתר זה אינו שרת ספרייה"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr "שמור לתיקייה:"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
+msgstr "- בחר -"
+
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "שמור"
+
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "הודעה שגויה"
+
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "אין תוצאות"
+
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "דיווח מסירה עבור %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "בתור"
+
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "פורסם"
+
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "נתקבל לצורך מסירה"
+
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "עודכן"
+
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "עדכון נוכר"
+
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "הרשאה נדחתה"
+
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "נמען לא נמצא"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "דואר הוחזר"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "דואר כפול נתקבל"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "דואר נמסר"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
+msgid "Layout Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editlayout.php:128
+#: ../../Zotlabs/Module/Layouts.php:131
+msgid "Layout Description (Optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editlayout.php:136
+msgid "Edit Layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "קישור עמוד"
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "ערוך עמוד רשת"
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "ערוץ נתווסף."
+
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "רשת"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
+
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "קבוצת פרטיות נוצרה."
+
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "לא היתה אפשרות ליצור קבוצת פרטיות."
+
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3904
+msgid "Privacy group not found."
+msgstr "קבוצת פרטיות לא נמצאה."
+
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "קבוצת פרטיות עודכנה."
+
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
+msgstr "צור אשכול של ערוצים."
+
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
+msgstr "שם קבוצת פרטיות:"
+
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
+msgstr "חברים הינם נראים לערוצים אחרים"
+
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
+msgstr "קבוצת פרטיות הוסרה."
+
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
+msgstr "לא מסוגל להסיר קבוצת פרטיות."
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
+msgstr "עורך קבוצת פרטיות"
+
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
+msgstr "חברים"
+
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
+msgstr "כל הערוצים המחוברים"
+
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
+msgstr "לחץ על ערוץ כדי להוסיף או להסיר"
+
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "שתף תוכן מתוך Firefox אל $Projectname"
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "הפעל את ספק $Projectname של Firefox"
+
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "אנא התחבר כדי להמשיך."
+
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
+msgstr "חיפוש תיעוד"
+
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
+msgstr "עזרה:"
+
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:224
+#: ../../include/nav.php:159
+msgid "Help"
+msgstr "עזרה"
+
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
+msgstr "תיעוד $Projectname"
+
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "הרשאה נדחתה."
+
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "קובץ לא נמצא."
+
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "ערוך הרשאות קובץ"
+
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "קבע/ערוך הרשאות"
+
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "כלול כל קובץ ותיקיית משנה"
+
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "שתף את קובץ זה"
+
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "הצג URL לקובץ זה"
+
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:163
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr "אפליקציות"
+
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "פריט לא נמצא."
+
+#: ../../Zotlabs/Module/Import.php:32
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "אין דבר ליבא."
+
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "קובץ מיובא הינו ריק"
+
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:160
+msgid "No channel. Import failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "יבוא הושלם."
+
+#: ../../Zotlabs/Module/Import.php:532
+msgid "You must be logged in to use this feature."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:537
+msgid "Import Channel"
+msgstr "יבא ערוץ"
+
+#: ../../Zotlabs/Module/Import.php:538
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "השתמש בטופס זה כדי ליבא ערוץ קיים מתוך שרת/מוקד אחר. באפשרותך לאחזר את זהות הערוץ מתוך שרת/מוקד ישן דרך הרשת או לספק קובץ יצוא."
+
+#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "File to Upload"
+msgstr "קובץ להעלאה"
+
+#: ../../Zotlabs/Module/Import.php:540
+msgid "Or provide the old server/hub details"
+msgstr "או ספק פרטי שרת/מוקד ישנים"
+
+#: ../../Zotlabs/Module/Import.php:541
+msgid "Your old identity address (xyz@example.com)"
+msgstr "כתובת זיהוי ישנה (xyz@example.com)"
+
+#: ../../Zotlabs/Module/Import.php:542
+msgid "Your old login email address"
+msgstr "כתובת דוא״ל כניסה ישנה"
+
+#: ../../Zotlabs/Module/Import.php:543
+msgid "Your old login password"
+msgstr "סיסמת כניסה ישנה"
+
+#: ../../Zotlabs/Module/Import.php:544
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:545
+msgid "Make this hub my primary location"
+msgstr "הפוך את מוקד זה למיקום העיקרי שלי"
+
+#: ../../Zotlabs/Module/Import.php:546
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:547
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:179
+msgid "Unable to locate original post."
+msgstr "לא מסוגל לאתר פוסט מקורי."
+
+#: ../../Zotlabs/Module/Item.php:428
+msgid "Empty post discarded."
+msgstr "פוסט ריק סולק."
+
+#: ../../Zotlabs/Module/Item.php:468
+msgid "Executable content type not permitted to this channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:848
+msgid "Duplicate post suppressed."
+msgstr "פוסט כפול הודחק."
+
+#: ../../Zotlabs/Module/Item.php:983
+msgid "System error. Post not saved."
+msgstr "שגיאת מערכת. פוסט לא נשמר."
+
+#: ../../Zotlabs/Module/Item.php:1241
+msgid "Unable to obtain post information from database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1248
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1255
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2268
+msgid "Layouts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:185
+msgid "Comanche page description language help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:189
+msgid "Layout Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:194
+msgid "Download PDL file"
+msgstr "הורד קובץ PDL"
+
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "ברוכים הבאים אל %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "שם פרטי"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "שם משפחה"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "שם כינוי"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "שם מלא"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2176 ../../boot.php:1706
+msgid "Email"
+msgstr "דוא״ל"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:237
+msgid "Profile Photo"
+msgstr "תצלום פרופיל"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "תצלום פרופיל 16 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "תצלום פרופיל 32 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "תצלום פרופיל 48 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "תצלום פרופיל 64 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "תצלום פרופיל 80 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "תצלום פרופיל 128 פיקסל"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "אזור זמן"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:235
+msgid "Language"
+msgstr "שפה"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "שנת הולדת"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "חודש הולדת"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "יום הולדת"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "יום הולדת"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "מין"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "זכר"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "נקבה"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "עמוד רשת"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "תפריט"
+
+#: ../../Zotlabs/Module/Impel.php:187
+#, php-format
+msgid "%s element installed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:190
+#, php-format
+msgid "%s element installation failed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
+msgstr "בקשה שגויה."
+
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "ערוץ"
+
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
+msgstr "דבר"
+
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
+msgstr "עמוד לא זמין."
+
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1941
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "תצלום"
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1947 ../../include/conversation.php:148
+msgid "status"
+msgstr "סטטוס"
+
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:424
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:426
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:428
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:430
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:432
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:434
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:537
+msgid "Action completed."
+msgstr "פעולה הושלמה."
+
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Thank you."
+msgstr "תודה."
+
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "יבוא הושלם"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "יבוא פריטים"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "סך מגבלת הזמנות נגמרה."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : כתובת דוא״ל לא תקינה."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "נשמח אם תצטרף אלינו ברשת $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "מגבלת הזמנות נגמרה. אנא צור קשר עם מנהל האתר שלך."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : מסירת הודעה נכשלה."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "הודעה %d נשלחה."
+msgstr[1] "%d הודעות נשלחו."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "לא נותרו לך עוד הזמנות זמינות"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "שלח הזמנות"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "הזן כתובות דוא״ל, אחת בכל שורה:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "הודעתך:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "אשמח אם תצטרף לקהילה שלי ברשת $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "יהיה עליך לספק את קוד הזמנה זה:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. הירשם בכל מיקום $Projectname (כולם מחוברים ב אופן הדדי)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. הזן את כתובת רשת $Projectname שלי לתוך שורת החיפוש של האתר."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "או בקר בכתובת"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. לחץ [התחבר]"
+
+#: ../../Zotlabs/Module/Lockview.php:61
+msgid "Remote privacy information not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lockview.php:82
+msgid "Visible to:"
+msgstr "נראה לאלו:"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "מיקום לא נמצא."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "לא נמצאו מיקומים."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "נהל מיקומי ערוץ"
+
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "כתובת"
+
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "סנכרן עכשיו"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "כאשר ניתן, השמט מיקום על ידי כניסה לתוך אתר רשת/מוקד והסרת הערוץ שלך."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "השתמש בטופס זה כדי לנטוש את המיקום אם המוקד אינו פועל עוד."
+
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "מוקד לא נמצא."
+
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
+msgstr "לא מסוגל לתקשר עם ערוץ מבוקש"
+
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
+msgstr "לא יכול לאמת ערוץ מבוקש."
+
+#: ../../Zotlabs/Module/Mail.php:78
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "על הערוץ הנבחר מוטלות הגבלות הודעה פרטית. שליחה נכשלה."
+
+#: ../../Zotlabs/Module/Mail.php:143
+msgid "Messages"
+msgstr "הודעות"
+
+#: ../../Zotlabs/Module/Mail.php:178
+msgid "Message recalled."
+msgstr "הודעה הוחזרה."
+
+#: ../../Zotlabs/Module/Mail.php:191
+msgid "Conversation removed."
+msgstr "דיון הוסר."
+
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "פג YYYY-MM-DD HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Requested channel is not in this network"
+msgstr "הערוץ המבוקש אינו נמצא ברשת זו"
+
+#: ../../Zotlabs/Module/Mail.php:242
+msgid "Send Private Message"
+msgstr "שלח הודעה פרטית"
+
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+msgid "To:"
+msgstr "לכבוד:"
+
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
+msgid "Subject:"
+msgstr "נושא:"
+
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1231
+msgid "Attach file"
+msgstr "צרף קובץ"
+
+#: ../../Zotlabs/Module/Mail.php:253
+msgid "Send"
+msgstr "שלח"
+
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1266
+msgid "Set expiration date"
+msgstr "קבע תאריך תפוגה"
+
+#: ../../Zotlabs/Module/Mail.php:340
+msgid "Delete message"
+msgstr "מחק הודעה"
+
+#: ../../Zotlabs/Module/Mail.php:341
+msgid "Delivery report"
+msgstr "דיווח מסירה"
+
+#: ../../Zotlabs/Module/Mail.php:342
+msgid "Recall message"
+msgstr "בטל הודעה"
+
+#: ../../Zotlabs/Module/Mail.php:344
+msgid "Message has been recalled."
+msgstr "הודעה הוחזרה."
+
+#: ../../Zotlabs/Module/Mail.php:361
+msgid "Delete Conversation"
+msgstr "מחק דיון"
+
+#: ../../Zotlabs/Module/Mail.php:363
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "אין חיבורים מאובטחים זמינים. <strong>אפשרי</strong> כי תהא באפשרותך להשיב מתוך עמוד הפרופיל של השולח."
+
+#: ../../Zotlabs/Module/Mail.php:367
+msgid "Send Reply"
+msgstr "שלח משוב"
+
+#: ../../Zotlabs/Module/Mail.php:372
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "הודעתך עבור %s &rlm;(%s):"
+
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "צור ערוץ חדש"
+
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
+msgid "Channel Manager"
+msgstr "מנהל ערוץ"
+
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "ערוץ נוכחי"
+
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "ערוץ שגרתי"
+
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "הפוך לשגרתי"
+
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
+msgstr "%d הודעות חדשות"
+
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "לא נמצא חשבון תקין."
+
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "חבר אתר (%s)"
+
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "בקשת איפוס סיסמה נתבקשה אצל %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1712
+msgid "Password Reset"
+msgstr "איפוס סיסמה"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "הסיסמה שלך אותחלה כנדרש."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "הסיסמה החדשה שלך היא"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "לחץ כאן כדי להיכנס"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "הסיסמה שלך נשתנתה אצל %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "שכחת את הסיסמה שלך?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "כתובת דוא״ל"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "אפס"
+
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "לא מסוגל לעדכן תפריט."
+
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "לא מסוגל ליצור תפריט."
+
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "שם תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "שם ייחודי (לא נראה בבלוג רשת) - נדרש"
+
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "כותרת תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "התר סימניות"
+
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "שלח והמשך"
+
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2267
+msgid "Menus"
+msgstr "תפריטים"
+
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "סימניות מותרות"
+
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "מחק את תפריט זה"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "ערוך תכני תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "ערוך את תפריט זה"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "תפריט לא יכול היה להימחק."
+
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
+msgstr "תפריט לא נמצא."
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "ערוך תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "הוסף או הסר רשומות מתפריט זה"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "שם תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "כותרת תפריט"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "התר סימניות"
+
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "לא נמצא."
+
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:226
+msgid "Mood"
+msgstr "מצב רוח"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "אין התאמות"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "אין קבוצה כזו"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "אין ערוץ כזה"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "פורום"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "תוצאות חיפוש עבור:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "קבוצת פרטיות הינה ריקה"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "קבוצת פרטיות: "
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "חיבור שגוי."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "אין עוד התראות מערכת"
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "התראות מערכת"
+
+#: ../../Zotlabs/Module/Mitem.php:52
+msgid "Unable to create element."
+msgstr "לא מסוגל ליצור אלמנט"
+
+#: ../../Zotlabs/Module/Mitem.php:76
+msgid "Unable to update menu element."
+msgstr "לא מסוגל לעדכן אלמנט תפריט."
+
+#: ../../Zotlabs/Module/Mitem.php:92
+msgid "Unable to add menu element."
+msgstr "לא מסוגל להוסיף אלמנט תפריט."
+
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
+msgid "Menu Item Permissions"
+msgstr "הרשאות פריט תפריט"
+
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
+#: ../../Zotlabs/Module/Settings.php:1068
+msgid "(click to open/close)"
+msgstr "(לחץ כדי לפתוח/לסגור)"
+
+#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
+msgid "Link Name"
+msgstr "שם קישור"
+
+#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
+msgid "Link or Submenu Target"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:157
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
+msgid "Use magic-auth if available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
+msgid "Open link in new window"
+msgstr "פתח בתוך חלון חדש"
+
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
+msgid "Order in list"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
+msgid "Higher numbers will sink to bottom of listing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:161
+msgid "Submit and finish"
+msgstr "שלח וסיים"
+
+#: ../../Zotlabs/Module/Mitem.php:162
+msgid "Submit and continue"
+msgstr "שלח והמשך"
+
+#: ../../Zotlabs/Module/Mitem.php:170
+msgid "Menu:"
+msgstr "תפריט:"
+
+#: ../../Zotlabs/Module/Mitem.php:173
+msgid "Link Target"
+msgstr "יעד קישור"
+
+#: ../../Zotlabs/Module/Mitem.php:176
+msgid "Edit menu"
+msgstr "ערוך תפריט"
+
+#: ../../Zotlabs/Module/Mitem.php:179
+msgid "Edit element"
+msgstr "ערוך אלמנט"
+
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Drop element"
+msgstr "הטל אלמנט"
+
+#: ../../Zotlabs/Module/Mitem.php:181
+msgid "New element"
+msgstr "אלמנט חדש"
+
+#: ../../Zotlabs/Module/Mitem.php:182
+msgid "Edit this menu container"
+msgstr "ערוך את מכיל תפריט זה"
+
+#: ../../Zotlabs/Module/Mitem.php:183
+msgid "Add menu element"
+msgstr "הוסף אלמנט תפריט"
+
+#: ../../Zotlabs/Module/Mitem.php:184
+msgid "Delete this menu item"
+msgstr "מחק את פריט תפריט זה"
+
+#: ../../Zotlabs/Module/Mitem.php:185
+msgid "Edit this menu item"
+msgstr "ערוך את פריט תפריט זה"
+
+#: ../../Zotlabs/Module/Mitem.php:202
+msgid "Menu item not found."
+msgstr "פריט תפריט לא נמצא."
+
+#: ../../Zotlabs/Module/Mitem.php:215
+msgid "Menu item deleted."
+msgstr "פריט תפריט נמחק."
+
+#: ../../Zotlabs/Module/Mitem.php:217
+msgid "Menu item could not be deleted."
+msgstr "פריט תפריט לא יכול היה להימחק."
+
+#: ../../Zotlabs/Module/Mitem.php:224
+msgid "Edit Menu Element"
+msgstr "ערוך אלמנט תפריט"
+
+#: ../../Zotlabs/Module/Mitem.php:230
+msgid "Link text"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Name or caption"
+msgstr "שם או דברי הסבר"
+
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "דוגמאות: \"בוב ג׳יימסון\", \"ליסה והסוסים שלה\", \"טניס\", \"קבוצת תעופה\""
+
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
+msgid "Choose a short nickname"
+msgstr "בחר שם כינוי קצר"
+
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
+#, php-format
+msgid ""
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "שם כינוי ישמש אותך כדי ליצור כתובת ערוץ קלה לזכירה למשל nickname%s"
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Channel role and privacy"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Select a channel role with your privacy requirements."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Read more about roles"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:135
+msgid "Create Channel"
+msgstr "צור ערוץ"
+
+#: ../../Zotlabs/Module/New_channel.php:136
+msgid ""
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "ערוץ הוא הזהות שלך ברשת זו. זה יכול לייצג אדם, בלוג, או פורום (נמנו רק אחדים). ערוצים יכולים ליצור חיבורים עם ערוצים אחרים כדי לשתף מידע בעזרת הרשאות מפורטות מאוד."
+
+#: ../../Zotlabs/Module/New_channel.php:137
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr ""
+
+#: ../../Zotlabs/Module/Notifications.php:30
+msgid "Invalid request identifier."
+msgstr "מזהה מבקש לא תקין."
+
+#: ../../Zotlabs/Module/Notifications.php:39
+msgid "Discard"
+msgstr "סלק"
+
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
+msgstr "סמן את כל התראות המערכת כנקראו"
+
+#: ../../Zotlabs/Module/Photos.php:84
+msgid "Page owner information could not be retrieved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Profile_photo.php:114
+#: ../../Zotlabs/Module/Profile_photo.php:206
+#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "תצלומי פרופיל"
+
+#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
+msgid "Album not found."
+msgstr "אלבום לא נמצא."
+
+#: ../../Zotlabs/Module/Photos.php:132
+msgid "Delete Album"
+msgstr "מחק אלבום"
+
+#: ../../Zotlabs/Module/Photos.php:153
+msgid ""
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
+msgid "Delete Photo"
+msgstr "מחק תצלום"
+
+#: ../../Zotlabs/Module/Photos.php:533
+msgid "No photos selected"
+msgstr "לא נבחרו תצלומים"
+
+#: ../../Zotlabs/Module/Photos.php:582
+msgid "Access to this item is restricted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:621
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:624
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:660
+msgid "Upload Photos"
+msgstr "העלה תצלומים"
+
+#: ../../Zotlabs/Module/Photos.php:664
+msgid "Enter an album name"
+msgstr "הזן שם אלבום"
+
+#: ../../Zotlabs/Module/Photos.php:665
+msgid "or select an existing album (doubleclick)"
+msgstr "או בחר אלבום קיים (לחיצה כפולה)"
+
+#: ../../Zotlabs/Module/Photos.php:666
+msgid "Create a status post for this upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:667
+msgid "Caption (optional):"
+msgstr "דברי הסבר (רשות):"
+
+#: ../../Zotlabs/Module/Photos.php:668
+msgid "Description (optional):"
+msgstr "תיאור (רשות):"
+
+#: ../../Zotlabs/Module/Photos.php:695
+msgid "Album name could not be decoded"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:743
+msgid "Contact Photos"
+msgstr "תצלומי איש קשר"
+
+#: ../../Zotlabs/Module/Photos.php:766
+msgid "Show Newest First"
+msgstr "הצג את החדשים יותר בתחילה"
+
+#: ../../Zotlabs/Module/Photos.php:768
+msgid "Show Oldest First"
+msgstr "הצג את הישנים יותר בתחילה"
+
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1572
+msgid "View Photo"
+msgstr "צפה בתצלום"
+
+#: ../../Zotlabs/Module/Photos.php:823
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1589
+msgid "Edit Album"
+msgstr "ערוך אלבום"
+
+#: ../../Zotlabs/Module/Photos.php:870
+msgid "Permission denied. Access to this item may be restricted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:872
+msgid "Photo not available"
+msgstr "תצלום לא זמין"
+
+#: ../../Zotlabs/Module/Photos.php:930
+msgid "Use as profile photo"
+msgstr "השתמש בתור תצלום פרופיל"
+
+#: ../../Zotlabs/Module/Photos.php:931
+msgid "Use as cover photo"
+msgstr "השתמש בתור תצלום שער"
+
+#: ../../Zotlabs/Module/Photos.php:938
+msgid "Private Photo"
+msgstr "תצלום פרטי"
+
+#: ../../Zotlabs/Module/Photos.php:953
+msgid "View Full Size"
+msgstr "צפה בגודל מלא"
+
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "הסר"
+
+#: ../../Zotlabs/Module/Photos.php:1032
+msgid "Edit photo"
+msgstr "ערוך תצלום"
+
+#: ../../Zotlabs/Module/Photos.php:1034
+msgid "Rotate CW (right)"
+msgstr "סובב כיוון-שעון (ימין)"
+
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CCW (left)"
+msgstr "סובב נגד כיוון-שעון (שמאל)"
+
+#: ../../Zotlabs/Module/Photos.php:1038
+msgid "Enter a new album name"
+msgstr "הזן שם אלבום חדש"
+
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "or select an existing one (doubleclick)"
+msgstr "או בחר באחד קיים (לחיצה כפולה)"
+
+#: ../../Zotlabs/Module/Photos.php:1042
+msgid "Caption"
+msgstr "דברי הסבר"
+
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Add a Tag"
+msgstr "הוסף תגית"
+
+#: ../../Zotlabs/Module/Photos.php:1048
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "דוגמא: @bob, @Barbara_Jensen, @jim@example.com"
+
+#: ../../Zotlabs/Module/Photos.php:1051
+msgid "Flag as adult in album view"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+msgid "I like this (toggle)"
+msgstr "אהבתי את זה (החלף)"
+
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+msgid "I don't like this (toggle)"
+msgstr "לא אהבתי את זה (החלף)"
+
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:743
+msgid "Please wait"
+msgstr "אנא המתן"
+
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Lib/ThreadItem.php:707
+msgid "This is you"
+msgstr "זה את/ה"
+
+#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "תגובה"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
+msgstr "אוהב"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
+msgstr "לא אוהב"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
+msgstr "מסכים"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
+msgstr "לא מסכים"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
+msgstr "נמנע"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
+msgstr "נוכח"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
+msgstr "לא נוכח"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
+msgstr "עשוי להיווכח"
+
+#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1732
+msgid "View all"
+msgstr "צפה בכולם"
+
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1756
+#: ../../include/channel.php:1139
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "אוהב"
+msgstr[1] "אוהבים"
+
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "לא אוהב"
+msgstr[1] "לא אוהבים"
+
+#: ../../Zotlabs/Module/Photos.php:1235
+msgid "Photo Tools"
+msgstr "כלי תצלום"
+
+#: ../../Zotlabs/Module/Photos.php:1244
+msgid "In This Photo:"
+msgstr "בתצלום זה:"
+
+#: ../../Zotlabs/Module/Photos.php:1249
+msgid "Map"
+msgstr "מפה"
+
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+msgctxt "noun"
+msgid "Likes"
+msgstr "אוהב"
+
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "לא אוהב"
+
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
+msgid "Close"
+msgstr "סגור"
+
+#: ../../Zotlabs/Module/Photos.php:1337
+msgid "View Album"
+msgstr "צפה באלבום"
+
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
+msgid "Recent Photos"
+msgstr "תצלומים אחרונים"
+
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "שלח לך הודעה פרטית"
+
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "הוסיף את הערוץ שלך"
+
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[היום]"
+
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "פרסם אירוע"
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "לא מסוגל למצוא את המוקד שלך."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "פרסום הצליח."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "שגיאת פרוטוקול OpenID. לא הוחזר ID."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "התחברות נכשלה."
+
+#: ../../Zotlabs/Module/Page.php:131
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "עורך תצורה"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "שם מודול:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:227
+#: ../../include/conversation.php:963
+msgid "Poke"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
+msgstr "דחוף/עורר"
+
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
+msgstr "נמען"
+
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
+msgstr "בחר מה ברצונך לעשות לנמען"
+
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
+msgstr "הפוך את פוסט זה לפרטי"
+
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+msgid "Profile not found."
+msgstr "פרופיל לא נמצא."
+
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
+msgstr "פרופיל נמחק."
+
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+msgid "Profile-"
+msgstr "פרופיל-"
+
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+msgid "New profile created."
+msgstr "פרופיל חדש נוצר."
+
+#: ../../Zotlabs/Module/Profiles.php:110
+msgid "Profile unavailable to clone."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:151
+msgid "Profile unavailable to export."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:256
+msgid "Profile Name is required."
+msgstr "נדרש שם פרופיל."
+
+#: ../../Zotlabs/Module/Profiles.php:427
+msgid "Marital Status"
+msgstr "מצב משפחתי"
+
+#: ../../Zotlabs/Module/Profiles.php:431
+msgid "Romantic Partner"
+msgstr "שותף רומנטי"
+
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+msgid "Likes"
+msgstr "אוהב"
+
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+msgid "Dislikes"
+msgstr "לא אוהב"
+
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+msgid "Work/Employment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:446
+msgid "Religion"
+msgstr "דת"
+
+#: ../../Zotlabs/Module/Profiles.php:450
+msgid "Political Views"
+msgstr "השקפות פוליטיות"
+
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
+msgstr "העדפה מינית"
+
+#: ../../Zotlabs/Module/Profiles.php:462
+msgid "Homepage"
+msgstr "עמוד בית"
+
+#: ../../Zotlabs/Module/Profiles.php:466
+msgid "Interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:560
+msgid "Profile updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:686
+msgid "Edit Profile Details"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:688
+msgid "View this profile"
+msgstr "צפה בפרופיל זה"
+
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:940
+msgid "Edit visibility"
+msgstr "ערוך נראות"
+
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
+msgstr "כלי פרופיל"
+
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
+msgstr "שנה תצלום שער"
+
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:911
+msgid "Change profile photo"
+msgstr "שנה תצלום פרופיל"
+
+#: ../../Zotlabs/Module/Profiles.php:693
+msgid "Create a new profile using these settings"
+msgstr "צור פרופיל חדש באמצעות הגדרות אלו"
+
+#: ../../Zotlabs/Module/Profiles.php:694
+msgid "Clone this profile"
+msgstr "שבט את פרופיל זה"
+
+#: ../../Zotlabs/Module/Profiles.php:695
+msgid "Delete this profile"
+msgstr "מחק את פרופיל זה"
+
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
+msgstr "הוסף דברי פרופיל"
+
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541
+#: ../../include/widgets.php:105
+msgid "Personal"
+msgstr "אישי"
+
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
+msgstr "יחס"
+
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "שונות"
+
+#: ../../Zotlabs/Module/Profiles.php:702
+msgid "Import profile from file"
+msgstr "יבא פרופיל מתוך קובץ"
+
+#: ../../Zotlabs/Module/Profiles.php:703
+msgid "Export profile to file"
+msgstr "יצא פרופיל לתוך קובץ"
+
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
+msgstr "המין שלך"
+
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
+msgstr "מצב משפחתי"
+
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
+msgstr "העדפה מינית"
+
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
+msgstr "שם פרופיל"
+
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
+msgstr "זהו הפרופיל השגרתי שלך."
+
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
+msgstr "שמך המלא"
+
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
+msgstr "כותרת/תיאור"
+
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
+msgstr "כתובת רחוב"
+
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
+msgstr "מקומיות/עיר"
+
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
+msgstr "אזור/מחוז"
+
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
+msgstr "דואר/מיקוד"
+
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
+msgstr "ארץ"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
+msgstr "מאז (תאריך)"
+
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
+msgstr "ספר לנו אודותיך"
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr "עיר מגורים"
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
+msgstr "השקפות פוליטיות"
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
+msgstr "השקפות דתיות"
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Musical interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:739
+msgid "Books, literature"
+msgstr "ספרים, ספרות"
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Television"
+msgstr "טלוויזיה"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
+msgstr "אהבה/רומנטיקה"
+
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
+msgstr "בית ספר/חינוך"
+
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
+msgstr "הערוצים האחרים שלי"
+
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:936
+msgid "Profile Image"
+msgstr "תמונת פרופיל"
+
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:918
+msgid "Edit Profiles"
+msgstr "ערוך פרופילים"
+
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "העלה תצלום פרופיל"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "מזהה פרופיל לא תקין."
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Profile Visibility Editor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1230
+msgid "Profile"
+msgstr "פרופיל"
+
+#: ../../Zotlabs/Module/Profperm.php:119
+msgid "Click on a contact to add or remove."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:128
+msgid "Visible To"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1343
+msgid "Public Hubs"
+msgstr "מוקדים ציבוריים"
+
+#: ../../Zotlabs/Module/Pubsites.php:25
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Hub URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Access Type"
+msgstr "טיפוס גישה"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Registration Policy"
+msgstr "מדיניות רישום"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Software"
+msgstr "תוכנה"
+
+#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
+#: ../../include/conversation.php:962
+msgid "Ratings"
+msgstr "דירוג"
+
+#: ../../Zotlabs/Module/Pubsites.php:38
+msgid "Rate"
+msgstr "דרג"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Website:"
+msgstr "אתר רשת:"
+
+#: ../../Zotlabs/Module/Rate.php:163
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "ערוץ מרוחק [%s] (לא מוכר עדיין באתר זה)"
+
+#: ../../Zotlabs/Module/Rate.php:164
+msgid "Rating (this information is public)"
+msgstr "דירוג (מידע זה הינו ציבורי)"
+
+#: ../../Zotlabs/Module/Rate.php:165
+msgid "Optionally explain your rating (this information is public)"
+msgstr "הסבר לפי הצורך את הדירוג שלך (מידע זה הינו ציבורי)"
+
+#: ../../Zotlabs/Module/Ratings.php:73
+msgid "No ratings"
+msgstr "אין דירוג"
+
+#: ../../Zotlabs/Module/Ratings.php:104
+msgid "Rating: "
+msgstr "דירוג: "
+
+#: ../../Zotlabs/Module/Ratings.php:105
+msgid "Website: "
+msgstr "אתר רשת:"
+
+#: ../../Zotlabs/Module/Ratings.php:107
+msgid "Description: "
+msgstr "תיאור: "
+
+#: ../../Zotlabs/Module/Admin.php:77
+msgid "Theme settings updated."
+msgstr "הגדרות ערכת נושא עודכנו."
+
+#: ../../Zotlabs/Module/Admin.php:197
+msgid "# Accounts"
+msgstr "# חשבונות"
+
+#: ../../Zotlabs/Module/Admin.php:198
+msgid "# blocked accounts"
+msgstr "# חשבונות חסומים"
+
+#: ../../Zotlabs/Module/Admin.php:199
+msgid "# expired accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:200
+msgid "# expiring accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:211
+msgid "# Channels"
+msgstr "# ערוצים"
+
+#: ../../Zotlabs/Module/Admin.php:212
+msgid "# primary"
+msgstr "# עיקרי"
+
+#: ../../Zotlabs/Module/Admin.php:213
+msgid "# clones"
+msgstr "# שיבוטים"
+
+#: ../../Zotlabs/Module/Admin.php:219
+msgid "Message queues"
+msgstr "תור הודעות"
+
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "התוכנה שלך אמורה להיות מעודכנת"
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
+msgid "Administration"
+msgstr "הנהלה"
+
+#: ../../Zotlabs/Module/Admin.php:242
+msgid "Summary"
+msgstr "סיכום"
+
+#: ../../Zotlabs/Module/Admin.php:245
+msgid "Registered accounts"
+msgstr "חשבונות רשומים"
+
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
+msgid "Pending registrations"
+msgstr "הרשמות תלויות ועומדות"
+
+#: ../../Zotlabs/Module/Admin.php:247
+msgid "Registered channels"
+msgstr "ערוצים רשומים"
+
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
+msgid "Active plugins"
+msgstr "תוספים פעילים"
+
+#: ../../Zotlabs/Module/Admin.php:249
+msgid "Version"
+msgstr "גרסא"
+
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:373
+msgid "Site settings updated."
+msgstr "הגדרות אתר עודכנו."
+
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2845
+msgid "Default"
+msgstr "ברירת מחדל"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
+msgid "mobile"
+msgstr "נייד"
+
+#: ../../Zotlabs/Module/Admin.php:412
+msgid "experimental"
+msgstr "ניסיוני"
+
+#: ../../Zotlabs/Module/Admin.php:414
+msgid "unsupported"
+msgstr "לא נתמך"
+
+#: ../../Zotlabs/Module/Admin.php:460
+msgid "Yes - with approval"
+msgstr "כן - עם אימות"
+
+#: ../../Zotlabs/Module/Admin.php:466
+msgid "My site is not a public server"
+msgstr "האתר שלי אינו שרת פומבי"
+
+#: ../../Zotlabs/Module/Admin.php:467
+msgid "My site has paid access only"
+msgstr "לאתר שלי ישנה גישה בתשלום בלבד"
+
+#: ../../Zotlabs/Module/Admin.php:468
+msgid "My site has free access only"
+msgstr "לאתר שלי ישנה גישה חופשית בלבד"
+
+#: ../../Zotlabs/Module/Admin.php:469
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "האתר שלי מציע חשבונות בחינם לצד אפשרות לשדרוגים בתשלום"
+
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1455
+msgid "Site"
+msgstr "אתר"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
+msgid "Registration"
+msgstr "רישום"
+
+#: ../../Zotlabs/Module/Admin.php:494
+msgid "File upload"
+msgstr "העלאת קובץ"
+
+#: ../../Zotlabs/Module/Admin.php:495
+msgid "Policies"
+msgstr "מדינויות"
+
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "מתקדם"
+
+#: ../../Zotlabs/Module/Admin.php:500
+msgid "Site name"
+msgstr "שם אתר"
+
+#: ../../Zotlabs/Module/Admin.php:501
+msgid "Banner/Logo"
+msgstr "באנר/לוגו"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid "Administrator Information"
+msgstr "מידע מנהל"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:503
+msgid "System language"
+msgstr "שפת מערכת"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid "System theme"
+msgstr "מוטיב מערכת"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Mobile system theme"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Theme for mobile devices"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "Allow Feeds as Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "(Heavy system resource usage)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid "Maximum image size"
+msgstr "גודל תמונה מרבי"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:509
+msgid "Does this site allow new member registration?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid "Invitation only"
+msgstr "הזמנה בלבד"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:511
+msgid "Which best describes the types of account offered by this hub?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Register text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Will be displayed prominently on the registration page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid "Site homepage to show visitors (default: login box)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid "Preserve site homepage URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid "Accounts abandoned after x days"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid "Allowed friend domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid "Allowed email domains"
+msgstr "מתחמי דוא״ל מורשים"
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid "Not allowed email domains"
+msgstr "מתחמי דוא״ל לא מורשים"
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid "Verify Email Addresses"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid "Force publish"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid "Import Public Streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr "התחבר בעמוד בית"
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Directory Server URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Default directory server"
+msgstr "שרת ספרייה שגרתי"
+
+#: ../../Zotlabs/Module/Admin.php:527
+msgid "Proxy user"
+msgstr "משתמש פרוקסי"
+
+#: ../../Zotlabs/Module/Admin.php:528
+msgid "Proxy URL"
+msgstr "URL פרוקסי"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Network timeout"
+msgstr "פקיעת זמן רשת"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid "Delivery interval"
+msgstr "תדירות שגרתית"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid "Deliveries per process"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid "Poll interval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid "Maximum Load Average"
+msgstr "עומס ממוצע מרבי"
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "0 for no expiration of imported content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "Off"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "On"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:678
+#, php-format
+msgid "Lock feature %s"
+msgstr "נעל תכונת %s"
+
+#: ../../Zotlabs/Module/Admin.php:686
+msgid "Manage Additional Features"
+msgstr "נהל תכונות נוספות"
+
+#: ../../Zotlabs/Module/Admin.php:703
+msgid "No server found"
+msgstr "לא נמצא שרת"
+
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
+msgid "ID"
+msgstr "מזהה"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "for channel"
+msgstr "לערוץ"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "on server"
+msgstr "בשרת"
+
+#: ../../Zotlabs/Module/Admin.php:712
+msgid "Server"
+msgstr "שרת"
+
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1458
+msgid "Security"
+msgstr "אבטחה"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid "Block public"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:762
+msgid "Block communications from these sites"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid "Allow communications only from these channels"
+msgstr "התר התקשרויות רק מתוך ערוצים אלה"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:764
+msgid "Block communications from these channels"
+msgstr "חסום התקשרויות מתוך ערוצים אלה"
+
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "התר שיבוצים מתוך אתרים וקישורים נאובטחים (SSL) בלבד."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:785
+msgid "Update has been marked successful"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:795
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:798
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:802
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:805
+#, php-format
+msgid "Update function %s could not be found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:821
+msgid "No failed updates."
+msgstr "אין עדכונים כושלים."
+
+#: ../../Zotlabs/Module/Admin.php:825
+msgid "Failed Updates"
+msgstr "עדכונים כושלים"
+
+#: ../../Zotlabs/Module/Admin.php:827
+msgid "Mark success (if update was manually applied)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:828
+msgid "Attempt to execute this update step automatically"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:859
+msgid "Queue Statistics"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:860
+msgid "Total Entries"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:861
+msgid "Priority"
+msgstr "עדיפות"
+
+#: ../../Zotlabs/Module/Admin.php:862
+msgid "Destination URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:863
+msgid "Mark hub permanently offline"
+msgstr "סמן מוקד בלתי מקוון לצמיתות"
+
+#: ../../Zotlabs/Module/Admin.php:864
+msgid "Empty queue for this hub"
+msgstr "רוקן תור עבור מוקד זה"
+
+#: ../../Zotlabs/Module/Admin.php:865
+msgid "Last known contact"
+msgstr "איש קשר מוכר אחרון"
+
+#: ../../Zotlabs/Module/Admin.php:901
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin.php:908
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "חשבון %s נמחק"
+msgstr[1] "%s חשבונות נמחקו"
+
+#: ../../Zotlabs/Module/Admin.php:944
+msgid "Account not found"
+msgstr "חשבון לא נמצא"
+
+#: ../../Zotlabs/Module/Admin.php:955
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "חשבון '%s' נמחק"
+
+#: ../../Zotlabs/Module/Admin.php:963
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "חשבון '%s' נחסם"
+
+#: ../../Zotlabs/Module/Admin.php:971
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "חשבון '%s' נפתח"
+
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1456
+msgid "Accounts"
+msgstr "חשבונות"
+
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
+msgid "select all"
+msgstr "בחר הכל"
+
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr "הרשמות ממתינות לצורך אישור"
+
+#: ../../Zotlabs/Module/Admin.php:1035
+msgid "Request date"
+msgstr "תאריך בקשה"
+
+#: ../../Zotlabs/Module/Admin.php:1036
+msgid "No registrations."
+msgstr "אין הרשמות."
+
+#: ../../Zotlabs/Module/Admin.php:1038
+msgid "Deny"
+msgstr "אסור"
+
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "כל הערוצים"
+
+#: ../../Zotlabs/Module/Admin.php:1049
+msgid "Register date"
+msgstr "תאריך רישום"
+
+#: ../../Zotlabs/Module/Admin.php:1050
+msgid "Last login"
+msgstr "כניסה אחרונה"
+
+#: ../../Zotlabs/Module/Admin.php:1051
+msgid "Expires"
+msgstr "פג"
+
+#: ../../Zotlabs/Module/Admin.php:1052
+msgid "Service Class"
+msgstr "מחלקת שירות"
+
+#: ../../Zotlabs/Module/Admin.php:1054
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1055
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1091
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin.php:1100
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin.php:1106
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "ערוץ %s נמחק"
+msgstr[1] "%s ערוצים נמחקו"
+
+#: ../../Zotlabs/Module/Admin.php:1126
+msgid "Channel not found"
+msgstr "ערוץ לא נמצא"
+
+#: ../../Zotlabs/Module/Admin.php:1136
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "ערוץ '%s' נמחק"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "ערוץ '%s' צונזר"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "ערוץ '%s' יצא מכלל צנזורה"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1457
+msgid "Channels"
+msgstr "ערוצים"
+
+#: ../../Zotlabs/Module/Admin.php:1214
+msgid "Censor"
+msgstr "צנזר"
+
+#: ../../Zotlabs/Module/Admin.php:1215
+msgid "Uncensor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1216
+msgid "Allow Code"
+msgstr "התר קוד"
+
+#: ../../Zotlabs/Module/Admin.php:1217
+msgid "Disallow Code"
+msgstr "אסור קוד"
+
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1626
+msgid "Channel"
+msgstr "ערוץ"
+
+#: ../../Zotlabs/Module/Admin.php:1222
+msgid "UID"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1226
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1227
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "תוסף %s מנוטרל."
+
+#: ../../Zotlabs/Module/Admin.php:1288
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "תוסף %s מאופשר."
+
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
+msgid "Disable"
+msgstr "נטרל"
+
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
+msgid "Enable"
+msgstr "אפשר"
+
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1460
+msgid "Plugins"
+msgstr "תוספות"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
+msgid "Toggle"
+msgstr "החלף"
+
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:208
+#: ../../include/widgets.php:638
+msgid "Settings"
+msgstr "הגדרות"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
+msgid "Author: "
+msgstr "מחבר: "
+
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
+msgid "Maintainer: "
+msgstr "מתחזק: "
+
+#: ../../Zotlabs/Module/Admin.php:1341
+msgid "Minimum project version: "
+msgstr "גרסת פרויקט נומינלית: "
+
+#: ../../Zotlabs/Module/Admin.php:1342
+msgid "Maximum project version: "
+msgstr "גרסת פרויקט מרבית: "
+
+#: ../../Zotlabs/Module/Admin.php:1343
+msgid "Minimum PHP version: "
+msgstr "גרסת PHP נומינלית: "
+
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "מצריך: "
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
+msgid "Disabled - version incompatibility"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(רשות)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "הורד מאגר תוספים"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "התקן מאגר חדש"
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:333
+msgid "Install"
+msgstr "התקן"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "נהל מאגרים"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "מאגרי תוסף מותקנים"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "התקן מאגר תוסף חדש"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:333
+msgid "Update"
+msgstr "עדכן"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "החלף ענף"
+
+#: ../../Zotlabs/Module/Admin.php:1550
+msgid "No themes found."
+msgstr "לא נמצאו מוטיבים."
+
+#: ../../Zotlabs/Module/Admin.php:1606
+msgid "Screenshot"
+msgstr "צילום מסך"
+
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1461
+msgid "Themes"
+msgstr "ערכות נושא"
+
+#: ../../Zotlabs/Module/Admin.php:1652
+msgid "[Experimental]"
+msgstr "[ניסיוני]"
+
+#: ../../Zotlabs/Module/Admin.php:1653
+msgid "[Unsupported]"
+msgstr "[לא נתמך]"
+
+#: ../../Zotlabs/Module/Admin.php:1677
+msgid "Log settings updated."
+msgstr "הגדרות יומן עדכנו."
+
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1482
+#: ../../include/widgets.php:1492
+msgid "Logs"
+msgstr "יומנים"
+
+#: ../../Zotlabs/Module/Admin.php:1734
+msgid "Clear"
+msgstr "טהר"
+
+#: ../../Zotlabs/Module/Admin.php:1740
+msgid "Debugging"
+msgstr "דיבאג"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid "Log file"
+msgstr "קובץ יומן"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1742
+msgid "Log level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:2028
+msgid "New Profile Field"
+msgstr "שדה פרופיל חדש"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "Field nickname"
+msgstr "שם כינוי שדה"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "System name of field"
+msgstr "שם מערכת של שדה"
+
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
+msgid "Input type"
+msgstr "טיפוס קלט"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Field Name"
+msgstr "שם שדה"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Label on profile pages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Help text"
+msgstr "טקסט עזרה"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Additional info (optional)"
+msgstr "מידע נוסף (רשות)"
+
+#: ../../Zotlabs/Module/Admin.php:2042
+msgid "Field definition not found"
+msgstr "הגדרת שדה לא נמצאה"
+
+#: ../../Zotlabs/Module/Admin.php:2048
+msgid "Edit Profile Field"
+msgstr "ערוך שדה פרופיל"
+
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1463
+msgid "Profile Fields"
+msgstr "שדות פרופיל"
+
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "שדות פרופיל בסיסיים"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "שדות פרופיל מתקדמים"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "(בנוסף על שדות בסיסיים)"
+
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "כל השדות הזמינים"
+
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "שדות מותאמים"
+
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "צור שדה מותאם"
+
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "אפליקציה מותקנת."
+
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "אפליקציה פגומה."
+
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "הטמע קוד"
+
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "ערוך אפליקציה"
+
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "צור אפליקציה"
+
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "שם של אפליקציה"
+
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "מיקום (URL) של אפליקציה"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 פיקסלים - רשות"
+
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "קטגוריות (רשות, רשימה מופרדת פסיקים)"
+
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "מזהה גרסא"
+
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "מחיר אפליקציה"
+
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "מיקום (URL) כדי לרכוש אפליקציה"
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "בחר תיקיית סימניות"
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "שמור סימנייה"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL של סימנייה"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "או הזן שם תיקיית סימניות חדש"
+
+#: ../../Zotlabs/Module/Register.php:49
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:55
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:89
+msgid "Passwords do not match."
+msgstr "סיסמאות לא תואמות."
+
+#: ../../Zotlabs/Module/Register.php:131
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:137
+msgid "Your registration is pending approval by the site owner."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:140
+msgid "Your registration can not be processed."
+msgstr "הרשמתך לא ניתנת לעיבוד"
+
+#: ../../Zotlabs/Module/Register.php:184
+msgid "Registration on this hub is disabled."
+msgstr "רישום על מוקד זה הינו מנוטרל."
+
+#: ../../Zotlabs/Module/Register.php:193
+msgid "Registration on this hub is by approval only."
+msgstr "רישום על מוקד זה הינו מותנה באישור."
+
+#: ../../Zotlabs/Module/Register.php:194
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">הירשם במוקד מקושר אחר.</a>"
+
+#: ../../Zotlabs/Module/Register.php:204
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:215
+msgid "Terms of Service"
+msgstr "תנאי שימוש"
+
+#: ../../Zotlabs/Module/Register.php:221
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "אני מקבל את ה%s לאתר רשת זה"
+
+#: ../../Zotlabs/Module/Register.php:223
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "גילי מעל 13 שנה ואני מקבל את ה%s לאתר רשת זה"
+
+#: ../../Zotlabs/Module/Register.php:227
+msgid "Your email address"
+msgstr "כתובת דוא״ל שלך"
+
+#: ../../Zotlabs/Module/Register.php:228
+msgid "Choose a password"
+msgstr "בחר סיסמה"
+
+#: ../../Zotlabs/Module/Register.php:229
+msgid "Please re-enter your password"
+msgstr "בבקשה הזן שוב את סיסמתך"
+
+#: ../../Zotlabs/Module/Register.php:230
+msgid "Please enter your invitation code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "no"
+msgstr "לא"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "yes"
+msgstr "כן"
+
+#: ../../Zotlabs/Module/Register.php:250
+msgid "Membership on this site is by invitation only."
+msgstr "חברות באתר זה היא באמצעות הזמנה בלבד."
+
+#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
+#: ../../boot.php:1686
+msgid "Register"
+msgstr "הרשמה"
+
+#: ../../Zotlabs/Module/Register.php:262
+msgid "Proceed to create your first channel"
+msgstr "המשך כדי ליצור את הערוץ הראשון שלך"
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr "אנא התחבר."
+
+#: ../../Zotlabs/Module/Removeaccount.php:34
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:56
+msgid "Remove This Account"
+msgstr "הסר את חשבון זה"
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
+msgid "WARNING: "
+msgstr "אזהרה: "
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
+msgid "This action is permanent and can not be undone!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Please enter your password for verification:"
+msgstr "אנא הזן את הסיסמה שלך לצורך אימות:"
+
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:60
+#: ../../Zotlabs/Module/Settings.php:705
+msgid "Remove Account"
+msgstr "הסר חשבון"
+
+#: ../../Zotlabs/Module/Removeme.php:33
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:58
+msgid "Remove This Channel"
+msgstr "הסר את ערוץ זה"
+
+#: ../../Zotlabs/Module/Removeme.php:59
+msgid "This channel will be completely removed from the network. "
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "Remove this channel and all its clones from the network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
+msgid "Remove Channel"
+msgstr "הסר ערוץ"
+
+#: ../../Zotlabs/Module/Rmagic.php:44
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:44
+msgid "The error message was:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:48
+msgid "Authentication failed."
+msgstr "אימות נכשל."
+
+#: ../../Zotlabs/Module/Rmagic.php:88
+msgid "Remote Authentication"
+msgstr "אימות מרוחק"
+
+#: ../../Zotlabs/Module/Rmagic.php:89
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:90
+msgid "Authenticate"
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:216
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "פריטים מתוייגים עם: %s"
+
+#: ../../Zotlabs/Module/Search.php:218
+#, php-format
+msgid "Search results for: %s"
+msgstr "תוצאות חיפוש עבור: %s"
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "לא נמצאו הגבלות מחלקת ערוץ."
+
+#: ../../Zotlabs/Module/Settings.php:69
+msgid "Name is required"
+msgstr "נדרש שם"
+
+#: ../../Zotlabs/Module/Settings.php:73
+msgid "Key and Secret are required"
+msgstr "מפתח וגם סוד הינם בגדר חובה."
+
+#: ../../Zotlabs/Module/Settings.php:225
+msgid "Not valid email."
+msgstr "לא דוא״ל תקף."
+
+#: ../../Zotlabs/Module/Settings.php:228
+msgid "Protected email address. Cannot change to that email."
+msgstr "כתובת דוא״ל מוגנת. לא מסוגל לשנות לדוא״ל זה."
+
+#: ../../Zotlabs/Module/Settings.php:237
+msgid "System failure storing new email. Please try again."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:254
+msgid "Password verification failed."
+msgstr "אימות סיסמה נכשל."
+
+#: ../../Zotlabs/Module/Settings.php:261
+msgid "Passwords do not match. Password unchanged."
+msgstr "סיסמאות לא תואמות. סיסמה לא שונתה."
+
+#: ../../Zotlabs/Module/Settings.php:265
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "סיסמאות ריקות לא מותרות. סיסמה לא שונתה."
+
+#: ../../Zotlabs/Module/Settings.php:279
+msgid "Password changed."
+msgstr "סיסמה שונתה."
+
+#: ../../Zotlabs/Module/Settings.php:281
+msgid "Password update failed. Please try again."
+msgstr "עדכון סיסמה נכשל. אנא נסה שוב."
+
+#: ../../Zotlabs/Module/Settings.php:525
+msgid "Settings updated."
+msgstr "הגדרות עודכנו."
+
+#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
+#: ../../Zotlabs/Module/Settings.php:651
+msgid "Add application"
+msgstr "הוסף אפליקציה"
+
+#: ../../Zotlabs/Module/Settings.php:592
+msgid "Name of application"
+msgstr "שם של אפליקציה"
+
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
+msgid "Consumer Key"
+msgstr "מפתח צרכן"
+
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
+msgid "Consumer Secret"
+msgstr "סוד צרכן"
+
+#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
+msgid "Redirect"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:595
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
+msgid "Icon url"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Sources.php:147
+msgid "Optional"
+msgstr "רשות"
+
+#: ../../Zotlabs/Module/Settings.php:607
+msgid "Application not found."
+msgstr "יישום לא נמצא."
+
+#: ../../Zotlabs/Module/Settings.php:650
+msgid "Connected Apps"
+msgstr "אפליקציות מחוברות"
+
+#: ../../Zotlabs/Module/Settings.php:654
+msgid "Client key starts with"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:655
+msgid "No name"
+msgstr "אין שם"
+
+#: ../../Zotlabs/Module/Settings.php:656
+msgid "Remove authorization"
+msgstr "הסר אישור"
+
+#: ../../Zotlabs/Module/Settings.php:669
+msgid "No feature settings configured"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:676
+msgid "Feature/Addon Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:699
+msgid "Account Settings"
+msgstr "הגדרות חשבון"
+
+#: ../../Zotlabs/Module/Settings.php:700
+msgid "Current Password"
+msgstr "סיסמה נוכחית"
+
+#: ../../Zotlabs/Module/Settings.php:701
+msgid "Enter New Password"
+msgstr "הזן סיסמה חדשה"
+
+#: ../../Zotlabs/Module/Settings.php:702
+msgid "Confirm New Password"
+msgstr "אמת סיסמה חדשה"
+
+#: ../../Zotlabs/Module/Settings.php:702
+msgid "Leave password fields blank unless changing"
+msgstr "השאר דשות סיסמה ריקים אלא אם כן ברצונך לשנות"
+
+#: ../../Zotlabs/Module/Settings.php:704
+#: ../../Zotlabs/Module/Settings.php:1041
+msgid "Email Address:"
+msgstr "כתובת דוא״ל:"
+
+#: ../../Zotlabs/Module/Settings.php:706
+msgid "Remove this account including all its channels"
+msgstr "הסר את חשבון זה לרבות כל הערוצים שלו"
+
+#: ../../Zotlabs/Module/Settings.php:729
+msgid "Additional Features"
+msgstr "תכונות נוספות"
+
+#: ../../Zotlabs/Module/Settings.php:753
+msgid "Connector Settings"
+msgstr "הגדרות מקשר"
+
+#: ../../Zotlabs/Module/Settings.php:792
+msgid "No special theme for mobile devices"
+msgstr "אין ערכת נושא מיוחדת להתקנים ניידים"
+
+#: ../../Zotlabs/Module/Settings.php:795
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (ניסיוני)"
+
+#: ../../Zotlabs/Module/Settings.php:837
+msgid "Display Settings"
+msgstr "הגדרות תצוגה"
+
+#: ../../Zotlabs/Module/Settings.php:838
+msgid "Theme Settings"
+msgstr "הגדרות ערכת נושא"
+
+#: ../../Zotlabs/Module/Settings.php:839
+msgid "Custom Theme Settings"
+msgstr "הגדרות ערכת נושא מותאמת"
+
+#: ../../Zotlabs/Module/Settings.php:840
+msgid "Content Settings"
+msgstr "הגדרות תוכן"
+
+#: ../../Zotlabs/Module/Settings.php:846
+msgid "Display Theme:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:847
+msgid "Mobile Theme:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:848
+msgid "Preload images before rendering the page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:848
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:849
+msgid "Enable user zoom on mobile devices"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:850
+msgid "Update browser every xx seconds"
+msgstr "עדכן דפדפן כל xx שניות"
+
+#: ../../Zotlabs/Module/Settings.php:850
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "מינימום של 10 שניות, אין מקסימום"
+
+#: ../../Zotlabs/Module/Settings.php:851
+msgid "Maximum number of conversations to load at any time:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:851
+msgid "Maximum of 100 items"
+msgstr "מקסימום של 100 פריטים"
+
+#: ../../Zotlabs/Module/Settings.php:852
+msgid "Show emoticons (smilies) as images"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:853
+msgid "Link post titles to source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:854
+msgid "System Page Layout Editor - (advanced)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:857
+msgid "Use blog/list mode on channel page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
+msgid "(comments displayed separately)"
+msgstr "(תגובות מוצגות בנפרד)"
+
+#: ../../Zotlabs/Module/Settings.php:858
+msgid "Use blog/list mode on grid page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:859
+msgid "Channel page max height of content (in pixels)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
+msgid "click to expand content exceeding this height"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:860
+msgid "Grid page max height of content (in pixels)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:894
+msgid "Nobody except yourself"
+msgstr "אף אחד חוץ ממך"
+
+#: ../../Zotlabs/Module/Settings.php:895
+msgid "Only those you specifically allow"
+msgstr "רק אלו שהתרת להם במפורש"
+
+#: ../../Zotlabs/Module/Settings.php:896
+msgid "Approved connections"
+msgstr "חיבורים מאושרים"
+
+#: ../../Zotlabs/Module/Settings.php:897
+msgid "Any connections"
+msgstr "כל חיבור"
+
+#: ../../Zotlabs/Module/Settings.php:898
+msgid "Anybody on this website"
+msgstr "כל אחד באתר רשת זה"
+
+#: ../../Zotlabs/Module/Settings.php:899
+msgid "Anybody in this network"
+msgstr "כל אחד ברשת זו"
+
+#: ../../Zotlabs/Module/Settings.php:900
+msgid "Anybody authenticated"
+msgstr "כל אחד שאושר"
+
+#: ../../Zotlabs/Module/Settings.php:901
+msgid "Anybody on the internet"
+msgstr "כל אחד באינטרנט"
+
+#: ../../Zotlabs/Module/Settings.php:976
+msgid "Publish your default profile in the network directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:981
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:990
+msgid "Your channel address is"
+msgstr "כתובת הערוץ שלך היא"
+
+#: ../../Zotlabs/Module/Settings.php:1032
+msgid "Channel Settings"
+msgstr "הגדרות ערוץ"
+
+#: ../../Zotlabs/Module/Settings.php:1039
+msgid "Basic Settings"
+msgstr "הגדרות בסיסיות"
+
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1121
+msgid "Full Name:"
+msgstr "שם מלא:"
+
+#: ../../Zotlabs/Module/Settings.php:1042
+msgid "Your Timezone:"
+msgstr "אזור זמן שלך:"
+
+#: ../../Zotlabs/Module/Settings.php:1043
+msgid "Default Post Location:"
+msgstr "מיקום פוסט שגרתי:"
+
+#: ../../Zotlabs/Module/Settings.php:1043
+msgid "Geographical location to display on your posts"
+msgstr "מיקום גיאוגרפי להצגה בפוסטים שלך"
+
+#: ../../Zotlabs/Module/Settings.php:1044
+msgid "Use Browser Location:"
+msgstr "השתמש במיקום דפדפן:"
+
+#: ../../Zotlabs/Module/Settings.php:1046
+msgid "Adult Content"
+msgstr "תוכן מבוגרים"
+
+#: ../../Zotlabs/Module/Settings.php:1046
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "ערוץ זה מפרסם תוכן למבוגרים באופן תדיר או שגרתי. (אנא תייג כל חומר למבוגרים ו/או עירום עם NSFW#)"
+
+#: ../../Zotlabs/Module/Settings.php:1048
+msgid "Security and Privacy Settings"
+msgstr "הגדרות אבטחה ופרטיות"
+
+#: ../../Zotlabs/Module/Settings.php:1051
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1053
+msgid "Hide my online presence"
+msgstr "הסתר את הנוכחות המקוונת שלי"
+
+#: ../../Zotlabs/Module/Settings.php:1053
+msgid "Prevents displaying in your profile that you are online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1055
+msgid "Simple Privacy Settings:"
+msgstr "הגדרות פרטיות פשוטות:"
+
+#: ../../Zotlabs/Module/Settings.php:1056
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "ציבורי מאוד - <em>מתירני ביותר (יש להשתמש בזהירות)</em>"
+
+#: ../../Zotlabs/Module/Settings.php:1057
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "טיפוסי - <em>ציבורי שגרתי, פרטיות לפי דרישה (דומה להרשאות רשת חברתית אולם לצד פרטיות משופרת)</em>"
+
+#: ../../Zotlabs/Module/Settings.php:1058
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "פרטי - <em>פרטי שגרתי, אף פעם לא פתוח או ציבורי</em>"
+
+#: ../../Zotlabs/Module/Settings.php:1059
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "חסום - <em>חסום שגרתי אל/מן כל אחד</em>"
+
+#: ../../Zotlabs/Module/Settings.php:1061
+msgid "Allow others to tag your posts"
+msgstr "התר לאחרים לתייג את הפוסטים שלך"
+
+#: ../../Zotlabs/Module/Settings.php:1061
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1063
+msgid "Advanced Privacy Settings"
+msgstr "הגדרות פרטיות מתקדמות"
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "Expire other channel content after this many days"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "0 or blank to use the website limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+#, php-format
+msgid "This website expires after %d days."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "This website does not expire imported content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "The website limit takes precedence if lower than your limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1066
+msgid "Maximum Friend Requests/Day:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1066
+msgid "May reduce spam activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1067
+msgid "Default Post and Publish Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1069
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1072
+msgid "Channel permissions category:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1078
+msgid "Maximum private messages per day from unknown people:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1078
+msgid "Useful to reduce spamming"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1081
+msgid "Notification Settings"
+msgstr "הגדרות התראה"
+
+#: ../../Zotlabs/Module/Settings.php:1082
+msgid "By default post a status message when:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1083
+msgid "accepting a friend request"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1084
+msgid "joining a forum/community"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1085
+msgid "making an <em>interesting</em> profile change"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1086
+msgid "Send a notification email when:"
+msgstr "שלח דוא״ל התראה כאשר:"
+
+#: ../../Zotlabs/Module/Settings.php:1087
+msgid "You receive a connection request"
+msgstr "קיבלת בקשת חיבור"
+
+#: ../../Zotlabs/Module/Settings.php:1088
+msgid "Your connections are confirmed"
+msgstr "החיבורים שלך הינם מאומתים"
+
+#: ../../Zotlabs/Module/Settings.php:1089
+msgid "Someone writes on your profile wall"
+msgstr "מישהו כותב על קיר הפרופיל שלך"
+
+#: ../../Zotlabs/Module/Settings.php:1090
+msgid "Someone writes a followup comment"
+msgstr "מישהו רושם תגובת המשך"
+
+#: ../../Zotlabs/Module/Settings.php:1091
+msgid "You receive a private message"
+msgstr "קיבלת הודעה פרטית"
+
+#: ../../Zotlabs/Module/Settings.php:1092
+msgid "You receive a friend suggestion"
+msgstr "קיבלת הצעת ידידים"
+
+#: ../../Zotlabs/Module/Settings.php:1093
+msgid "You are tagged in a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1094
+msgid "You are poked/prodded/etc. in a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1097
+msgid "Show visual notifications including:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1099
+msgid "Unseen grid activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1100
+msgid "Unseen channel activity"
+msgstr "פעילות ערוץ לא נראית"
+
+#: ../../Zotlabs/Module/Settings.php:1101
+msgid "Unseen private messages"
+msgstr "הודעות ערוץ לא נראות"
+
+#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1108
+msgid "Recommended"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1102
+msgid "Upcoming events"
+msgstr "אירועים קרובים"
+
+#: ../../Zotlabs/Module/Settings.php:1103
+msgid "Events today"
+msgstr "אירועים היום"
+
+#: ../../Zotlabs/Module/Settings.php:1104
+msgid "Upcoming birthdays"
+msgstr "ימי הולדת קרובים"
+
+#: ../../Zotlabs/Module/Settings.php:1104
+msgid "Not available in all themes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1105
+msgid "System (personal) notifications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1106
+msgid "System info messages"
+msgstr "הודעות מידע מערכת"
+
+#: ../../Zotlabs/Module/Settings.php:1107
+msgid "System critical alerts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1108
+msgid "New connections"
+msgstr "חיבורים חדשים"
+
+#: ../../Zotlabs/Module/Settings.php:1109
+msgid "System Registrations"
+msgstr "הרשמות מערכת"
+
+#: ../../Zotlabs/Module/Settings.php:1110
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1112
+msgid "Notify me of events this many days in advance"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1112
+msgid "Must be greater than 0"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1114
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1115
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1118
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1119
+msgid "Miscellaneous Settings"
+msgstr "הגדרות שונות"
+
+#: ../../Zotlabs/Module/Settings.php:1120
+msgid "Default photo upload folder"
+msgstr "תיקיית העלאת תצלום שגרתית"
+
+#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1121
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - שנה נוכחית, %m - חודש נוכחי"
+
+#: ../../Zotlabs/Module/Settings.php:1121
+msgid "Default file upload folder"
+msgstr "תיקיית העלאת קובץ שגרתית"
+
+#: ../../Zotlabs/Module/Settings.php:1123
+msgid "Personal menu to display in your channel pages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1125
+msgid "Remove this channel."
+msgstr "הסר את ערוץ זה."
+
+#: ../../Zotlabs/Module/Settings.php:1126
+msgid "Firefox Share $Projectname provider"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1127
+msgid "Start calendar week on monday"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:179
+msgid "$Projectname Server - Setup"
+msgstr "שרת $Projectname - הבנייה"
+
+#: ../../Zotlabs/Module/Setup.php:183
+msgid "Could not connect to database."
+msgstr "לא היתה אפשרות להתחבר למסד נתונים."
+
+#: ../../Zotlabs/Module/Setup.php:187
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:194
+msgid "Could not create table."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:199
+msgid "Your site database has been installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:203
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:263
+msgid "System check"
+msgstr "בדיקת מערכת"
+
+#: ../../Zotlabs/Module/Setup.php:268
+msgid "Check again"
+msgstr "בדוק שוב"
+
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Database connection"
+msgstr "חיבור מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:291
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:292
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Database Server Name"
+msgstr "שם שרת מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Default is 127.0.0.1"
+msgstr "ברירת מחדל 127.0.0.1"
+
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Database Port"
+msgstr "פורט מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Communication port number - use 0 for default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:299
+msgid "Database Login Name"
+msgstr "שם כניסה מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:300
+msgid "Database Login Password"
+msgstr "סיסמה מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:301
+msgid "Database Name"
+msgstr "שם מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Database Type"
+msgstr "טיפוס מסד נתונים"
+
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+msgid "Site administrator email address"
+msgstr "כתובת דוא״ל מנהל אתר"
+
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+msgid "Website URL"
+msgstr "כתובת אתר אינטרנט"
+
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+msgid "Please use SSL (https) URL if available."
+msgstr "אנא השתמש בכתובת SSL (כלומר, https) אם זמינה."
+
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
+msgid "Please select a default timezone for your website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:333
+msgid "Site settings"
+msgstr "הגדרות אתר"
+
+#: ../../Zotlabs/Module/Setup.php:347
+msgid "Enable $Projectname <strong>advanced</strong> features?"
+msgstr "אפשר תכונות <strong>מתקדמות</strong> בפרויקט $Projectname?"
+
+#: ../../Zotlabs/Module/Setup.php:347
+msgid ""
+"Some advanced features, while useful - may be best suited for technically "
+"proficient audiences"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:389
+msgid "PHP version"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:404
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:405
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:409
+msgid "PHP executable path"
+msgstr "נתיב PHP נתון ליישום"
+
+#: ../../Zotlabs/Module/Setup.php:409
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:414
+msgid "Command line PHP"
+msgstr "שורת פקודה PHP"
+
+#: ../../Zotlabs/Module/Setup.php:423
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid "This is required for message delivery to work."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:427
+msgid "PHP register_argc_argv"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:445
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:450
+msgid "You can adjust these settings in the servers php.ini."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:452
+msgid "PHP upload limits"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:475
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:476
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:479
+msgid "Generate encryption keys"
+msgstr "הפק מפתחות הצפנה"
+
+#: ../../Zotlabs/Module/Setup.php:491
+msgid "libCurl PHP module"
+msgstr "מודול libCurl PHP"
+
+#: ../../Zotlabs/Module/Setup.php:492
+msgid "GD graphics PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:493
+msgid "OpenSSL PHP module"
+msgstr "מודול OpenSSL PHP"
+
+#: ../../Zotlabs/Module/Setup.php:494
+msgid "mysqli or postgres PHP module"
+msgstr "מודול mysqli PHP או postgres"
+
+#: ../../Zotlabs/Module/Setup.php:495
+msgid "mb_string PHP module"
+msgstr "מודול mb_string PHP"
+
+#: ../../Zotlabs/Module/Setup.php:496
+msgid "mcrypt PHP module"
+msgstr "מודול mcrypt PHP"
+
+#: ../../Zotlabs/Module/Setup.php:497
+msgid "xml PHP module"
+msgstr "מודול xml PHP"
+
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
+msgid "Apache mod_rewrite module"
+msgstr "מודול Apache mod_rewrite"
+
+#: ../../Zotlabs/Module/Setup.php:501
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../Zotlabs/Module/Setup.php:507
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:515
+msgid "Error: libCURL PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:519
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:523
+msgid "Error: openssl PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:527
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:531
+msgid "Error: mb_string PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:535
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:539
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:557
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:558
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:559
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:560
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:563
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php הינו כתיב"
+
+#: ../../Zotlabs/Module/Setup.php:577
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:578
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:580
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:583
+#, php-format
+msgid "%s is writable"
+msgstr "%s הינו כתיב"
+
+#: ../../Zotlabs/Module/Setup.php:599
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:603
+msgid "store is writable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:636
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:637
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:638
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:639
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:640
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:641
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:643
+msgid "SSL certificate validation"
+msgstr "הוכחת תקפות של תעודת SSL"
+
+#: ../../Zotlabs/Module/Setup.php:649
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:652
+msgid "Url rewrite is working"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:661
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:685
+msgid "Errors encountered creating database tables."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:719
+msgid "<h1>What next</h1>"
+msgstr "<h1>מה הלאה</h1>"
+
+#: ../../Zotlabs/Module/Setup.php:720
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:98
+msgid "Files: shared with me"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:100
+msgid "NEW"
+msgstr "חדש"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:103
+msgid "Remove all files"
+msgstr "הסר את כל הקבצים"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Remove this file"
+msgstr "הסר את קובץ זה"
+
+#: ../../Zotlabs/Module/Siteinfo.php:19
+#, php-format
+msgid "Version %s"
+msgstr "גרסא %s"
+
+#: ../../Zotlabs/Module/Siteinfo.php:40
+msgid "Installed plugins/addons/apps:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:53
+msgid "No installed plugins/addons/apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:66
+msgid ""
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "זהו מוקד של $Projectname - רשת קואופרטיבית מבוזרת של אתרי רשת בעלי פרטיות משוכללת."
+
+#: ../../Zotlabs/Module/Siteinfo.php:68
+msgid "Tag: "
+msgstr "תגית: "
+
+#: ../../Zotlabs/Module/Siteinfo.php:70
+msgid "Last background fetch: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:72
+msgid "Current load average: "
+msgstr "עומס ממוצע נוכחי: "
+
+#: ../../Zotlabs/Module/Siteinfo.php:75
+msgid "Running at web location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:76
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "אנא בקר באתר <a href=\"http://hubzilla.org\">hubzilla.org</a> כדי ללמוד עוד אודות $Projectname."
+
+#: ../../Zotlabs/Module/Siteinfo.php:77
+msgid "Bug reports and issues: please visit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:79
+msgid "$projectname issues"
+msgstr "סוגיות $projectname"
+
+#: ../../Zotlabs/Module/Siteinfo.php:80
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:82
+msgid "Site Administrators"
+msgstr "מנהלי אתר"
+
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
+msgstr "מקור נוצר."
+
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
+msgstr "מקור עודכן."
+
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
+msgstr "*"
+
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:71
+#: ../../include/widgets.php:630
+msgid "Channel Sources"
+msgstr "מקורות ערוץ"
+
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
+msgstr "מקור חדש"
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "שם ערוץ"
+
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
+msgstr "מקור לא נמצא."
+
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
+msgstr "ערוך מקור"
+
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
+msgstr "מחק מקור"
+
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
+msgstr "מקור הוסר"
+
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
+msgstr ""
+
+#: ../../Zotlabs/Module/Subthread.php:118
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Subthread.php:120
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:39
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "התעלם/הסתר"
+
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
+msgid "post"
+msgstr "פוסט"
+
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1949
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "תגובה"
+
+#: ../../Zotlabs/Module/Tagger.php:100
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:196
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
+msgstr "הצג דבר"
+
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
+msgstr "פריט לא נמצא"
+
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
+msgstr "ערוך דבר"
+
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
+msgid "Select a profile"
+msgstr "בחר פרופיל"
+
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
+msgid "Post an activity"
+msgstr "פרסם פעילות"
+
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
+msgid "Only sends to viewers of the applicable profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
+msgid "Name of thing e.g. something"
+msgstr "שם של דבר, לדוגמא: משהו"
+
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
+msgid "URL of thing (optional)"
+msgstr "URL של דבר (רשות)"
+
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
+msgid "URL for photo of thing (optional)"
+msgstr "URL עבור תצלום של משהו (רשות)"
+
+#: ../../Zotlabs/Module/Thing.php:349
+msgid "Add Thing to your Profile"
+msgstr "הוסף דבר לפרופיל שלך"
+
+#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
+msgid "Export Channel"
+msgstr "יצא ערוץ"
+
+#: ../../Zotlabs/Module/Uexport.php:57
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:58
+msgid "Export Content"
+msgstr "יצא תוכן"
+
+#: ../../Zotlabs/Module/Uexport.php:59
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:60
+msgid "Export your posts from a given year."
+msgstr "יצא פוסטים מתוך שנה נתונה."
+
+#: ../../Zotlabs/Module/Uexport.php:62
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:63
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a "
+"href=\"%1$s\">%2$s</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:64
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:65
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a "
+"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
+" please import or restore these in date order (oldest first)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:62
+msgid "No connections."
+msgstr "אין חיבורים."
+
+#: ../../Zotlabs/Module/Viewconnections.php:75
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:104
+msgid "View Connections"
+msgstr "צפה בחיבורים"
+
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
+msgstr "מקור פריט"
+
+#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/conversation.php:1700 ../../include/nav.php:106
+msgid "Webpages"
+msgstr "עמודי רשת"
+
+#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr "פעולות"
+
+#: ../../Zotlabs/Module/Webpages.php:204 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr "קישור עמוד"
+
+#: ../../Zotlabs/Module/Webpages.php:205
+msgid "Page Title"
+msgstr "כותרת עמוד"
+
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "חיפוש Xchan"
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:75 ../../Zotlabs/Lib/Apps.php:218
+msgid "Wiki"
+msgstr "ויקי"
+
+#: ../../Zotlabs/Module/Wiki.php:76
+msgid "Sandbox"
+msgstr "ארגז חול"
+
+#: ../../Zotlabs/Module/Wiki.php:156
+msgid "Enter the name of your new wiki:"
+msgstr "הזן את השם של הויקי החדש שלך:"
+
+#: ../../Zotlabs/Module/Wiki.php:157
+msgid "Enter the name of the new page:"
+msgstr "הזן את השם של העמוד החדש:"
+
+#: ../../Zotlabs/Module/Wiki.php:158
+msgid "Enter the new name:"
+msgstr "הזן את השם החדש:"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "מציין חדר שגוי"
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "חדר לא נמצא."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "חדר מלא"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1848
+msgid "$Projectname Notification"
+msgstr "התראות $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1849
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1851
+msgid "Thank You,"
+msgstr "תודה,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1853
+#, php-format
+msgid "%s Administrator"
+msgstr "הנהלת %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla:התראה] דואר חדש נתקבל %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s של לך הודעה פרטית חדשה באתר %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s שלח לך %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "הודעה פרטית"
+
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "אנא בקר בכתובת %s כדי לצפות ו/או להשיב להודעות הפרטיות שלך."
+
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla:התראה] תגובה לדיון #%1$d מאת %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla:התראה] %s פרסם לקיר הפרופיל שלך"
+
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla:התראה] %s תייג אותך"
+
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla:התראה] %s תייג פוסט שלך"
+
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla:התראה] היכרות פורמלית נתקבלה"
+
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "אתה יכול לבקר את הפרופיל שלהם בקישור %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla:התראה] הצעת חבר נתקבלה"
+
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "שם:"
+
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "תצלום:"
+
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla:התראה]"
+
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "צור פוסט חדש"
+
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "הגיב/ה על פוסט של %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
+msgid "Private Message"
+msgstr "הודעה פרטית"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:659
+msgid "Select"
+msgstr "בחר"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "שמור לתיקייה"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "אני אופיע"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "אני לא אופיע"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "אני עשוי/ה להופיע"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "אני מסכים/ה"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "אני לא מסכים/ה"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "אני נמנע/ת"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "הוסף כוכב"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "הסר כוכב"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
+msgid "Message signature validated"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
+msgid "Message signature incorrect"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "הוסף תגית"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "שתף זאת"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "שתף"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "תגובה %d"
+msgstr[1] "%d תגובות"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "אל"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "מתוך"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "קיר-אל-קיר"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "מתוך קיר-אל-קיר:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:722
+#, php-format
+msgid "from %s"
+msgstr "מאת %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:725
+#, php-format
+msgid "last edited: %s"
+msgstr "נערך לאחרונה: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:726
+#, php-format
+msgid "Expires: %s"
+msgstr "פג: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "שמור סימניות"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "הוסף ללוח שנה"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "סמן את הכל כנקראו"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] הצג הכל"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1226
+msgid "Bold"
+msgstr "מובלט"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1227
+msgid "Italic"
+msgstr "נטוי"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1228
+msgid "Underline"
+msgstr "קו תחתון"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1229
+msgid "Quote"
+msgstr "ציטוט"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1230
+msgid "Code"
+msgstr "קוד"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "תמונה"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "הכנס קישור"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "וידאו"
+
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "מנהל אתר"
+
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr "דיווח באג"
+
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr "הצג סימניות"
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr "חדרי השיחה שלי"
+
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "הצע ערוצים"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1704
+msgid "Login"
+msgstr "כניסה"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:219 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "ערוץ בית"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/conversation.php:1664
+#: ../../include/conversation.php:1667 ../../include/nav.php:201
+msgid "Events"
+msgstr "אירועים"
+
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:167
+msgid "Directory"
+msgstr "ספרייה"
+
+#: ../../Zotlabs/Lib/Apps.php:225 ../../include/nav.php:193
+msgid "Mail"
+msgstr "דואר"
+
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:96
+msgid "Chat"
+msgstr "שיחה"
+
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Probe"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Suggest"
+msgstr "הצע"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Random Channel"
+msgstr "ערוץ אקראי"
+
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "Invite"
+msgstr "הזמן"
+
+#: ../../Zotlabs/Lib/Apps.php:234 ../../include/widgets.php:1459
+msgid "Features"
+msgstr "תכונות"
+
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Post"
+msgstr "פוסט"
+
+#: ../../Zotlabs/Lib/Apps.php:338
+msgid "Purchase"
+msgstr "רכוש"
+
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr ""
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr ""
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr ""
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:429
+msgid "Categories"
+msgstr "קטגוריות"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "תגיות"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "מילות מפתח"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr ""
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr ""
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "רוצים"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "רוצה"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "אוהב"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "לא אוהב"
+
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr ""
+
+#: ../../include/photos.php:121
+msgid "Image file is empty."
+msgstr "קובץ תמונה הינו ריק."
+
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
+msgstr "אחסון תצלום נכשל"
+
+#: ../../include/photos.php:299
+msgid "a new photo"
+msgstr "תצלום חדש"
+
+#: ../../include/photos.php:303
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr ""
+
+#: ../../include/photos.php:506 ../../include/conversation.php:1650
+msgid "Photo Albums"
+msgstr "אלבומי תמונה"
+
+#: ../../include/photos.php:510
+msgid "Upload New Photos"
+msgstr "העלה תצלומים חדשים"
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "קודם"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "ראשון"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "אחרון"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "הבא"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "ישן יותר"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "חדש יותר"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "אין חיבורים"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr ""
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr ""
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr ""
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr ""
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr ""
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr ""
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr ""
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr ""
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr ""
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "שמח"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "עצוב"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "מתון"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "עייף"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "חצוף"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "כועס"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr ""
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "נבוך"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "מגלה עניין"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "מר"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "עליז"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "חי"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "נרגז"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "נרגז"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "נרגז"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "מופרע"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "מתוסכל"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "מדוכא"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "מונע"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "רגוע"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "מופתע"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "יום שני"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "יום שלישי"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "יום רביעי"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "יום חמישי"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "יום שישי"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "יום שבת"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "יום ראשון"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "ינואר"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "פברואר"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "מרץ"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "אפריל"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "מאי"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "יוני"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "יולי"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "אוגוסט"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "ספטמבר"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "אוקטובר"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "נובמבר"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "דצמבר"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "תצריף לא מוכר"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "לא מוכר"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "הסר קטגוריה"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "הסר מתוך קובץ"
+
+#: ../../include/text.php:1754 ../../include/text.php:1825
+msgid "default"
+msgstr "ברירת מחדל"
+
+#: ../../include/text.php:1762
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1762
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1804
+msgid "Page content type"
+msgstr "טיפוס תוכן עמוד"
+
+#: ../../include/text.php:1837
+msgid "Select an alternate language"
+msgstr "בחר שפה חלופית"
+
+#: ../../include/text.php:1954
+msgid "activity"
+msgstr "פעילות"
+
+#: ../../include/text.php:2263
+msgid "Design Tools"
+msgstr "כלי עיצוב"
+
+#: ../../include/text.php:2269
+msgid "Pages"
+msgstr "עמודים"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "מתחיל:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "נגמר:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "אירוע זה התווסף ללוח שנה שלך."
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "לא צוין"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "מצריך פעולה"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "הושלם"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "בתהליך"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "בוטל"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr ""
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[אין נושא]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr ""
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s כעת מחובר עם %2$s"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:694
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr ""
+
+#: ../../include/conversation.php:713
+msgid "Categories:"
+msgstr "קטגוריות:"
+
+#: ../../include/conversation.php:714
+msgid "Filed under:"
+msgstr "תויק תחת:"
+
+#: ../../include/conversation.php:741
+msgid "View in context"
+msgstr "צפה בתוך הקשר"
+
+#: ../../include/conversation.php:850
+msgid "remove"
+msgstr "להסיר"
+
+#: ../../include/conversation.php:854 ../../include/nav.php:247
+msgid "Loading..."
+msgstr "כעת טוען..."
+
+#: ../../include/conversation.php:855
+msgid "Delete Selected Items"
+msgstr "מחק פריטים נבחרים"
+
+#: ../../include/conversation.php:951
+msgid "View Source"
+msgstr "צפה במקור"
+
+#: ../../include/conversation.php:952
+msgid "Follow Thread"
+msgstr "עקוב שרשור"
+
+#: ../../include/conversation.php:953
+msgid "Unfollow Thread"
+msgstr "נקר שרשור"
+
+#: ../../include/conversation.php:958
+msgid "Activity/Posts"
+msgstr "פעילות/פוסטים"
+
+#: ../../include/conversation.php:960
+msgid "Edit Connection"
+msgstr "ערוך חיבור"
+
+#: ../../include/conversation.php:961
+msgid "Message"
+msgstr "הודעה"
+
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s likes this."
+msgstr "%s אהב זאת."
+
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s לא אוהב זאת."
+
+#: ../../include/conversation.php:1082
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>איש %2$d</span> אוהב זאת."
+msgstr[1] "<span %1$s>%2$d אנשים</span> אוהבים זאת."
+
+#: ../../include/conversation.php:1084
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>איש %2$d</span> לא אוהב זאת."
+msgstr[1] "<span %1$s>%2$d אנשים</span> לא אוהבים זאת."
+
+#: ../../include/conversation.php:1090
+msgid "and"
+msgstr "ועוד"
+
+#: ../../include/conversation.php:1093
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", ועוד איש %d אחר"
+msgstr[1] ", ועוד %d אנשים אחרים"
+
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s like this."
+msgstr "%s אוהבים זאת."
+
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s don't like this."
+msgstr "%s לא אוהבים זאת."
+
+#: ../../include/conversation.php:1133
+msgid "Set your location"
+msgstr "קבע את המיקום שלך"
+
+#: ../../include/conversation.php:1134
+msgid "Clear browser location"
+msgstr "טהר מיקום דפדפן"
+
+#: ../../include/conversation.php:1150
+msgid "Embed image from photo albums"
+msgstr ""
+
+#: ../../include/conversation.php:1182
+msgid "Tag term:"
+msgstr ""
+
+#: ../../include/conversation.php:1183
+msgid "Where are you right now?"
+msgstr "היכן אתה כעת?"
+
+#: ../../include/conversation.php:1186
+msgid "Choose images to embed"
+msgstr ""
+
+#: ../../include/conversation.php:1187
+msgid "Choose an album"
+msgstr ""
+
+#: ../../include/conversation.php:1188
+msgid "Choose a different album..."
+msgstr ""
+
+#: ../../include/conversation.php:1189
+msgid "Error getting album list"
+msgstr ""
+
+#: ../../include/conversation.php:1190
+msgid "Error getting photo link"
+msgstr ""
+
+#: ../../include/conversation.php:1191
+msgid "Error getting album"
+msgstr ""
+
+#: ../../include/conversation.php:1221
+msgid "Page link name"
+msgstr "שם קישור עמוד"
+
+#: ../../include/conversation.php:1224
+msgid "Post as"
+msgstr "פרסם בתור"
+
+#: ../../include/conversation.php:1234
+msgid "Embed an image from your albums"
+msgstr ""
+
+#: ../../include/conversation.php:1236 ../../include/conversation.php:1273
+msgid "OK"
+msgstr "אישור"
+
+#: ../../include/conversation.php:1238
+msgid "Toggle voting"
+msgstr ""
+
+#: ../../include/conversation.php:1246
+msgid "Categories (optional, comma-separated list)"
+msgstr "קטגוריות (רשות, רשימה מופרדת פסיקים)"
+
+#: ../../include/conversation.php:1269
+msgid "Set publish date"
+msgstr ""
+
+#: ../../include/conversation.php:1518
+msgid "Discover"
+msgstr "גלה"
+
+#: ../../include/conversation.php:1521
+msgid "Imported public streams"
+msgstr "זרמים ציבוריים מיובאים"
+
+#: ../../include/conversation.php:1526
+msgid "Commented Order"
+msgstr ""
+
+#: ../../include/conversation.php:1529
+msgid "Sort by Comment Date"
+msgstr ""
+
+#: ../../include/conversation.php:1533
+msgid "Posted Order"
+msgstr ""
+
+#: ../../include/conversation.php:1536
+msgid "Sort by Post Date"
+msgstr "מיין לפי תאריך פוסט"
+
+#: ../../include/conversation.php:1544
+msgid "Posts that mention or involve you"
+msgstr "פוסטים אשר מציינים או מערבים אותך"
+
+#: ../../include/conversation.php:1553
+msgid "Activity Stream - by date"
+msgstr "זרם פעילות - לפי תאריך"
+
+#: ../../include/conversation.php:1559
+msgid "Starred"
+msgstr ""
+
+#: ../../include/conversation.php:1562
+msgid "Favourite Posts"
+msgstr "פוסטים מועדפים"
+
+#: ../../include/conversation.php:1569
+msgid "Spam"
+msgstr "ספאם"
+
+#: ../../include/conversation.php:1572
+msgid "Posts flagged as SPAM"
+msgstr "פוסטים מסומנים בתור ספאם"
+
+#: ../../include/conversation.php:1629
+msgid "Status Messages and Posts"
+msgstr "הודעות ופרסומי סטטוס"
+
+#: ../../include/conversation.php:1638
+msgid "About"
+msgstr "אודות"
+
+#: ../../include/conversation.php:1641
+msgid "Profile Details"
+msgstr "פרטי פרופיל"
+
+#: ../../include/conversation.php:1657
+msgid "Files and Storage"
+msgstr "קבצים ואחסון"
+
+#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
+#: ../../include/widgets.php:842
+msgid "Chatrooms"
+msgstr "חדרי שיחה"
+
+#: ../../include/conversation.php:1690 ../../include/nav.php:102
+msgid "Bookmarks"
+msgstr "סימניות"
+
+#: ../../include/conversation.php:1693
+msgid "Saved Bookmarks"
+msgstr "סימניות שמורות"
+
+#: ../../include/conversation.php:1703
+msgid "Manage Webpages"
+msgstr "נהל עמודי רשת"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1765
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1768
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1771
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "מסכים"
+msgstr[1] "מסכימים"
+
+#: ../../include/conversation.php:1774
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "לא מסכים"
+msgstr[1] "לא מסכימים"
+
+#: ../../include/conversation.php:1777
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "ערוץ חסום באתר זה."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "מיקום ערוץ חסר."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr ""
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr ""
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "פרוטוקול הינו מנוטרל."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "גילוי ערוץ נכשל."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "לא ניתן להתחבר לעצמך."
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883 ../../include/bbcode.php:888
+#: ../../include/bbcode.php:891 ../../include/bbcode.php:896
+#: ../../include/bbcode.php:899 ../../include/bbcode.php:902
+#: ../../include/bbcode.php:905
+msgid "Image/photo"
+msgstr "תמונה/תצלום"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:916
+msgid "Encrypted content"
+msgstr "תוכן מוצפן"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "התקן אלמנט %s: "
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr ""
+
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr ""
+
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
+msgstr "לחץ כדי לפתוח/לסגור"
+
+#: ../../include/bbcode.php:346
+msgid "spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:607
+msgid "Different viewers will see this text differently"
+msgstr "צופים שונים ייראו את טקסט זה בצורה שונה"
+
+#: ../../include/bbcode.php:854
+msgid "$1 wrote:"
+msgstr "$1 כתב(ה):"
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr ""
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "אפשרויות ספרייה"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "מצב בטוח"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "פורומים ציבוריים בלבד"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "אתר רשת זה בלבד"
+
+#: ../../include/zot.php:709
+msgid "Invalid data packet"
+msgstr ""
+
+#: ../../include/zot.php:725
+msgid "Unable to verify channel signature"
+msgstr ""
+
+#: ../../include/zot.php:2373
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr ""
+
+#: ../../include/zot.php:3722
+msgid "invalid target signature"
+msgstr ""
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr ""
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1703
+msgid "Logout"
+msgstr "יציאה"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "סיים את סשן זה"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "בית"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "הפרסומים והדיונים שלך"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "עמוד הפרופיל שלך"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "נהל/ערוך פרופילים"
+
+#: ../../include/nav.php:90 ../../include/channel.php:922
+msgid "Edit Profile"
+msgstr "ערוך פרופיל"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "ערוך את הפרופיל שלך"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "התצלומים שלך"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "הקבצים שלך"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "החדרי שיחה שלך"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "הסימניות שלך"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "העמודי רשת שלך"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "התחברות"
+
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - לחץ כדי להתנתק"
+
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "אימות מרוחק"
+
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "לחץ כדי לאמת את מוקד הבית שלך"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "עמוד בית"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "צור חשבון"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "עזרה ותיעוד"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "אפליקציות, עזרים, קישורים, משחקים"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr ""
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "ערוץ ספרייה"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr ""
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr ""
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "ערוץ בית"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "סמן את כל התראות הערוץ כנקראו"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "הודעות"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "התראות"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "צפה בכל ההתראות"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "דואר פרטי"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "צפה בכל ההודעות הפרטיות"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "סמן את כל ההודעות הפרטיות כנקראו"
+
+#: ../../include/nav.php:196 ../../include/widgets.php:658
+msgid "Inbox"
+msgstr "תיבה נכנסת"
+
+#: ../../include/nav.php:197 ../../include/widgets.php:663
+msgid "Outbox"
+msgstr "תיבה יוצאת"
+
+#: ../../include/nav.php:198 ../../include/widgets.php:668
+msgid "New Message"
+msgstr "הודעה חדשה"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "לוח שנה אירועים"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "ראה את כל האירועים"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "סמן את כל האירועים כנקראו"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "נהל את הערוצים שלך"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "הגדרות חשבון/ערוץ"
+
+#: ../../include/nav.php:216 ../../include/widgets.php:1489
+msgid "Admin"
+msgstr "מנהל"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "הבניית והגדרת אתר"
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@name, #tag, ?doc, content"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "אנא המתן..."
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "הזמנה %d זמינה"
+msgstr[1] "%d הזמנות זמינות"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "מצא ערוצים"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "הזן שם או עניין"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "התחבר/עקוב"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr ""
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "פרופיל אקראי"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "הזמן חברים"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "דוגמא מתקדמת: name=פרד וגם country=איסלנד"
+
+#: ../../include/contact_widgets.php:53 ../../include/features.php:98
+#: ../../include/widgets.php:310
+msgid "Saved Folders"
+msgstr "תיקיות שמורות"
+
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+msgid "Everything"
+msgstr "כל דבר"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "הצג עוד"
+
+#: ../../include/selectors.php:30
+msgid "Frequently"
+msgstr "באופן תדיר"
+
+#: ../../include/selectors.php:31
+msgid "Hourly"
+msgstr "כל שעה"
+
+#: ../../include/selectors.php:32
+msgid "Twice daily"
+msgstr "פעמיים ביום"
+
+#: ../../include/selectors.php:33
+msgid "Daily"
+msgstr "יומי"
+
+#: ../../include/selectors.php:34
+msgid "Weekly"
+msgstr "שבועי"
+
+#: ../../include/selectors.php:35
+msgid "Monthly"
+msgstr "חודשי"
+
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "כעת זכר"
+
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "כעת נקבה"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "בעיקר זכר"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "בעיקר נקבה"
+
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "טרנסג׳נדר"
+
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "בין מיני"
+
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "טרנסקסואל"
+
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "אנדרוגיני"
+
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "ניטראלי"
+
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr ""
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "אחר"
+
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "לא מוכרע"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "זכרים"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "נקבות"
+
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "הומו"
+
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "לסבית"
+
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "אין העדפה"
+
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "דו מיני"
+
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "אוטוסקסואלי"
+
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "מתנזר"
+
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "בתול/ה"
+
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "סוטה"
+
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "פטיש"
+
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "המון"
+
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "לא מיני"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "רווק/ה"
+
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "בודד"
+
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "זמין"
+
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "לא פנוי/ה"
+
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr ""
+
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "מוקסם/ת"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr ""
+
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "לא נאמן/ה"
+
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "מכור/ה למין"
+
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr ""
+
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "ארעי/ת"
+
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "מאורס/ת"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "נישואין"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "נישואין דמיוניים"
+
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr ""
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "חיים יחדיו"
+
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr ""
+
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "שמח"
+
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "לא מחפש/ת"
+
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "בליין/ית"
+
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "נבגד/ת"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "פרוד/ה"
+
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "בלתי יציב"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "גירושין"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "גירושין דמיוניים"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "אלמן/ה"
+
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr ""
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "זה מורכב"
+
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "לא משנה"
+
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "תשאלו אותי"
+
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr ""
+
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "שם ריק"
+
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "שם ארוך מדי"
+
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "אין מזהה חשבון"
+
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "נדרש שם כינוי."
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr ""
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr ""
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "פרופיל שגרתי"
+
+#: ../../include/channel.php:772
+msgid "Requested channel is not available."
+msgstr "ערוץ מבוקש אינו זמין."
+
+#: ../../include/channel.php:919
+msgid "Create New Profile"
+msgstr "צור פרופיל חדש"
+
+#: ../../include/channel.php:939
+msgid "Visible to everybody"
+msgstr "נראה לכל אחד"
+
+#: ../../include/channel.php:1012 ../../include/channel.php:1123
+msgid "Gender:"
+msgstr "מין:"
+
+#: ../../include/channel.php:1013 ../../include/channel.php:1167
+msgid "Status:"
+msgstr "מצב:"
+
+#: ../../include/channel.php:1014 ../../include/channel.php:1178
+msgid "Homepage:"
+msgstr "עמוד בית:"
+
+#: ../../include/channel.php:1015
+msgid "Online Now"
+msgstr "מקוון כעת"
+
+#: ../../include/channel.php:1128
+msgid "Like this channel"
+msgstr ""
+
+#: ../../include/channel.php:1152
+msgid "j F, Y"
+msgstr "j F, Y"
+
+#: ../../include/channel.php:1153
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1160
+msgid "Birthday:"
+msgstr "יום הולדת:"
+
+#: ../../include/channel.php:1173
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/channel.php:1176
+msgid "Sexual Preference:"
+msgstr "העדפה מינית:"
+
+#: ../../include/channel.php:1182
+msgid "Tags:"
+msgstr "תגיות:"
+
+#: ../../include/channel.php:1184
+msgid "Political Views:"
+msgstr "השקפות פוליטיות:"
+
+#: ../../include/channel.php:1186
+msgid "Religion:"
+msgstr "דת:"
+
+#: ../../include/channel.php:1190
+msgid "Hobbies/Interests:"
+msgstr "תחביבים/עניין:"
+
+#: ../../include/channel.php:1192
+msgid "Likes:"
+msgstr "אוהב:"
+
+#: ../../include/channel.php:1194
+msgid "Dislikes:"
+msgstr "שונא:"
+
+#: ../../include/channel.php:1196
+msgid "Contact information and Social Networks:"
+msgstr ""
+
+#: ../../include/channel.php:1198
+msgid "My other channels:"
+msgstr "הערוצים האחרים שלי:"
+
+#: ../../include/channel.php:1200
+msgid "Musical interests:"
+msgstr ""
+
+#: ../../include/channel.php:1202
+msgid "Books, literature:"
+msgstr "ספרים, ספרות:"
+
+#: ../../include/channel.php:1204
+msgid "Television:"
+msgstr "טלוויזיה:"
+
+#: ../../include/channel.php:1206
+msgid "Film/dance/culture/entertainment:"
+msgstr ""
+
+#: ../../include/channel.php:1208
+msgid "Love/Romance:"
+msgstr "אהבה/רומנטיקה:"
+
+#: ../../include/channel.php:1210
+msgid "Work/employment:"
+msgstr "עבודה/תעסוקה:"
+
+#: ../../include/channel.php:1212
+msgid "School/education:"
+msgstr "בי״ס/חינוך:"
+
+#: ../../include/channel.php:1232
+msgid "Like this thing"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "נראה לקהל השגרתי שלך"
+
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "רק אני"
+
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "ציבורי"
+
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
+msgstr "כל חחשבון אצל %s"
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "כל חיבור מהחיבורים שלי"
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "רק חיבורים אשר אני מתיר באופן מפורש"
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "כתובת דוא״ל לא תקינה"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr ""
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr ""
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "נדרשת הזמנה."
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "אימות הזמנה לא התאפשר."
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "אנא הזן את המידע הנחוץ."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "נכשל לאחסן מידע חשבון."
+
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "אימות רישום עבור %s"
+
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "בקשת רישום אצל %s"
+
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1896
+msgid "Administrator"
+msgstr "מנהל"
+
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "סיסמת רישום שלך"
+
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "פרטי רישום עבור %s"
+
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "חשבון אושר."
+
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "רישום בוטל עבור %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "חשבון אומת. אנא התחבר."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "לחץ כאן כדי לשדרג."
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "פריט לא נמצא."
+
+#: ../../include/attach.php:499
+msgid "No source file."
+msgstr "אין קובץ מקור."
+
+#: ../../include/attach.php:521
+msgid "Cannot locate file to replace"
+msgstr ""
+
+#: ../../include/attach.php:539
+msgid "Cannot locate file to revise/update"
+msgstr ""
+
+#: ../../include/attach.php:674
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr ""
+
+#: ../../include/attach.php:688
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr ""
+
+#: ../../include/attach.php:846
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr ""
+
+#: ../../include/attach.php:859
+msgid "Stored file could not be verified. Upload failed."
+msgstr ""
+
+#: ../../include/attach.php:915 ../../include/attach.php:931
+msgid "Path not available."
+msgstr "נתיב לא זמין."
+
+#: ../../include/attach.php:977 ../../include/attach.php:1129
+msgid "Empty pathname"
+msgstr "שם נתיב ריק"
+
+#: ../../include/attach.php:1003
+msgid "duplicate filename or path"
+msgstr "שם קובץ או נתיב כפול"
+
+#: ../../include/attach.php:1025
+msgid "Path not found."
+msgstr "נתיב לא נמצא."
+
+#: ../../include/attach.php:1083
+msgid "mkdir failed."
+msgstr "mkdir נכשל."
+
+#: ../../include/attach.php:1087
+msgid "database storage failed."
+msgstr "אחסון מסד נתונים נכשל."
+
+#: ../../include/attach.php:1135
+msgid "Empty path"
+msgstr "נתיב ריק"
+
+#: ../../include/features.php:48
+msgid "General Features"
+msgstr "תכונות כלליות"
+
+#: ../../include/features.php:50
+msgid "Content Expiration"
+msgstr "פקיעת תוכן"
+
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
+
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
+msgstr "פרופילים מרובים"
+
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
+msgstr ""
+
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
+msgstr "פרופיל מתקדמים"
+
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
+msgstr ""
+
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
+msgstr "יבוא/יצוא פרופיל"
+
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
+msgstr ""
+
+#: ../../include/features.php:54
+msgid "Web Pages"
+msgstr "עמודי רשת"
+
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
+msgstr ""
+
+#: ../../include/features.php:55
+msgid "Hide Rating"
+msgstr "הסתר דירוג"
+
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
+msgstr ""
+
+#: ../../include/features.php:56
+msgid "Private Notes"
+msgstr "פתקים פרטיים"
+
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "מאפשר כלי לאחסון פתקים ותזכורות (הערה: לא מוצפן)"
+
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
+msgstr ""
+
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr ""
+
+#: ../../include/features.php:58
+msgid "Photo Location"
+msgstr "מיקום תצלום"
+
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr ""
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr "ימי הולדת חכמים"
+
+#: ../../include/features.php:60
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Expert Mode"
+msgstr "מצב מומחה"
+
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr ""
+
+#: ../../include/features.php:62
+msgid "Premium Channel"
+msgstr "ערוץ פרמיה"
+
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
+
+#: ../../include/features.php:67
+msgid "Post Composition Features"
+msgstr ""
+
+#: ../../include/features.php:70
+msgid "Large Photos"
+msgstr "תצלומים גדולים"
+
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr ""
+
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
+msgstr ""
+
+#: ../../include/features.php:72
+msgid "Even More Encryption"
+msgstr "אפילו עוד הצפנה"
+
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
+
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
+msgstr "אפשר כלי הצבעה"
+
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
+msgstr ""
+
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr ""
+
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr ""
+
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr ""
+
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr ""
+
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "סינון רשת וזרם"
+
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "חפש לפי תאריך"
+
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "מסנן אוספים"
+
+#: ../../include/features.php:83 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "קבוצת פרטיות"
+
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr ""
+
+#: ../../include/features.php:84 ../../include/widgets.php:281
+msgid "Saved Searches"
+msgstr "חיפושים שמורים"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr ""
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr ""
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr ""
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr ""
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "כלי קירבה"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr ""
+
+#: ../../include/features.php:88
+msgid "Connection Filtering"
+msgstr "סינון חיבור"
+
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr ""
+
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
+msgstr "הצג הצעות ערוץ"
+
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr ""
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr ""
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr "ענן תגיות"
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "תוכן מוטמע"
+
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "הטמעה הינה מנוטרלת"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr ""
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr ""
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "חלון חדש"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "פתח את המיקום הנבחר בתוך חלון או סימניית דפדפן אחרים"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "משתמש '%s' נמחק"
+
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "מי מסוגל לראות זאת?"
+
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "מבחר מותאם"
+
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr ""
+
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "הצג"
+
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "אל תציג"
+
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "שירותי רשת ופרסום אחרים"
+
+#: ../../include/acl_selectors.php:311
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr ""
+
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "מנותק."
+
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "אימות נכשל"
+
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "יום הולדת"
+
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "גיל: "
+
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD או MM-DD"
+
+#: ../../include/datetime.php:272 ../../boot.php:2471
+msgid "never"
+msgstr ""
+
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "לפניי פחות משניה"
+
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "לפני %1$d %2$s"
+
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "שנה"
+msgstr[1] "שנים"
+
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "חודש"
+msgstr[1] "חודשים"
+
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "שבוע"
+msgstr[1] "שבועות"
+
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "יום"
+msgstr[1] "ימים"
+
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "שעה"
+msgstr[1] "שעות"
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "דקה"
+msgstr[1] "דקות"
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "שניה"
+msgstr[1] "שניות"
+
+#: ../../include/datetime.php:562
+#, php-format
+msgid "%1$s's birthday"
+msgstr ""
+
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "יום הולדת שמח %1$s"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr ""
+
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "הוסף חיבורים חדשים לקבוצת פרטיות זו"
+
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "ערוך"
+
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "ערוך קבוצה"
+
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "הוסף קבוצת פרטיות"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr ""
+
+#: ../../include/group.php:316 ../../include/widgets.php:282
+msgid "add"
+msgstr "להוסיף"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "למחוק את פריט זה?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] הצג פחות"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] הרחב"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] צמצם"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "סיסמה קצרה מדי"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "סיסמאות לא תואמות"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "כולם"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "מימרת סיסמה סודית"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr ""
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr ""
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "סגור הכל"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "אין דבר חדש כאן"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr ""
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "תאר (רשות)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr ""
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr ""
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr "לפני"
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr "מעכשיו"
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr "פחות מדקה"
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr "דקה לערך"
+
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
+msgstr "%d דקות"
+
+#: ../../include/js_strings.php:34
+msgid "about an hour"
+msgstr "שעה לערך"
+
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
+msgstr " %d שעות לערך"
+
+#: ../../include/js_strings.php:36
+msgid "a day"
+msgstr "יום"
+
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
+msgstr "%d ימים"
+
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr "חודש לערך"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
+msgstr "%d חודשים"
+
+#: ../../include/js_strings.php:40
+msgid "about a year"
+msgstr "שנה לערך"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr "%d שנים"
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr "מאי"
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr "ינו׳"
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr "פבר׳"
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr "מרץ"
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr "אפר׳"
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr "מאי"
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr "יונ׳"
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr "יול׳"
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr "אוג׳"
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr "ספט׳"
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr "אוק׳"
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr "נוב׳"
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr "דצמ׳"
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr "א׳"
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr "ב׳"
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr "ג׳"
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr "ד׳"
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr "ה׳"
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr "ו׳"
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr "ש׳"
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr "היום"
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr "חודש"
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr "שבוע"
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr "יום"
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr "כל היום"
+
+#: ../../include/network.php:682
+msgid "view full size"
+msgstr "צפה בגודל מלא"
+
+#: ../../include/network.php:1910
+msgid "No Subject"
+msgstr "אין נושא"
+
+#: ../../include/network.php:2171 ../../include/network.php:2172
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2173
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2174
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:2175
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2177
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2178
+msgid "Facebook"
+msgstr "פייסבוק"
+
+#: ../../include/network.php:2179
+msgid "Zot"
+msgstr ""
+
+#: ../../include/network.php:2180
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:2181
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2182
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/items.php:902 ../../include/items.php:947
+msgid "(Unknown)"
+msgstr "(לא ידוע)"
+
+#: ../../include/items.php:1146
+msgid "Visible to anybody on the internet."
+msgstr "נראה לכל אחד באינטרנט."
+
+#: ../../include/items.php:1148
+msgid "Visible to you only."
+msgstr "נראה לך בלבד."
+
+#: ../../include/items.php:1150
+msgid "Visible to anybody in this network."
+msgstr "נראה לכל אחד ברשת זו."
+
+#: ../../include/items.php:1152
+msgid "Visible to anybody authenticated."
+msgstr "נראה לכל מי שהוא מאומת."
+
+#: ../../include/items.php:1154
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "נראה לכל אחד אצל %s."
+
+#: ../../include/items.php:1156
+msgid "Visible to all connections."
+msgstr "נראה לכל החיבורים."
+
+#: ../../include/items.php:1158
+msgid "Visible to approved connections."
+msgstr "נראה לחיבורים מאושרים."
+
+#: ../../include/items.php:1160
+msgid "Visible to specific connections."
+msgstr "נראה לחיבורים מסוימים."
+
+#: ../../include/items.php:3920
+msgid "Privacy group is empty."
+msgstr "קבוצת פרטיות הינה ריקה"
+
+#: ../../include/items.php:3927
+#, php-format
+msgid "Privacy group: %s"
+msgstr "קבוצת פרטיות: %s"
+
+#: ../../include/items.php:3939
+msgid "Connection not found."
+msgstr "חיבור לא נמצא."
+
+#: ../../include/items.php:4305
+msgid "profile photo"
+msgstr "תצלום פרופיל"
+
+#: ../../include/page_widgets.php:7
+msgid "New Page"
+msgstr "עמוד חדש"
+
+#: ../../include/page_widgets.php:46
+msgid "Title"
+msgstr "כותרת"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "מערכת"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "אפליקציה חדשה"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "הצעות"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "צפה בעוד..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "הוסף חיבור חדש"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "הזן כתובת ערוץ"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "דוגמאות: bob@example.com, https://example.com/barbara"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "תזכירים"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "הסר פריט"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "ארכיונים"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "רענן"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "הגדרות חשבון"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "הגדרות ערוץ"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "תכונות נוספות"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr ""
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "הגדרות תצוגה"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr "נהל מיקומים"
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "יצא ערוץ"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "אפליקציות מחוברות"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "הגדרות ערוץ פרמיה"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "תפריט דואר פרטי"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "תצוגה משולבת"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "דיונים"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "הודעות שנתקבלו"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "הודעות שנשלחו"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "אין הודעות."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "מחק דיון"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "תפריט אירועים"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "תצוגת יום"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "תצוגת שבוע"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "תצוגת חודש"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "כלי אירוע"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "יצא לוח שנה"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "יבא לוח שנה"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr "סקירה"
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr "חברי שיחה"
+
+#: ../../include/widgets.php:875
+msgid "Wiki List"
+msgstr "רשימת ויקי"
+
+#: ../../include/widgets.php:913
+msgid "Wiki Pages"
+msgstr "עמודי ויקי"
+
+#: ../../include/widgets.php:948
+msgid "Bookmarked Chatrooms"
+msgstr "חדרי שיחה מסומנים"
+
+#: ../../include/widgets.php:971
+msgid "Suggested Chatrooms"
+msgstr "חדרי שיחה מוצעים"
+
+#: ../../include/widgets.php:1117 ../../include/widgets.php:1229
+msgid "photo/image"
+msgstr "תצלום/תמונה"
+
+#: ../../include/widgets.php:1172
+msgid "Click to show more"
+msgstr "לחץ כדי להציג עוד"
+
+#: ../../include/widgets.php:1323
+msgid "Rating Tools"
+msgstr "כלי דירוג"
+
+#: ../../include/widgets.php:1327 ../../include/widgets.php:1329
+msgid "Rate Me"
+msgstr "דרג אותי"
+
+#: ../../include/widgets.php:1332
+msgid "View Ratings"
+msgstr "צפה בדירוגים"
+
+#: ../../include/widgets.php:1389
+msgid "Forums"
+msgstr "פורומים"
+
+#: ../../include/widgets.php:1418
+msgid "Tasks"
+msgstr "משימות"
+
+#: ../../include/widgets.php:1427
+msgid "Documentation"
+msgstr "תיעוד"
+
+#: ../../include/widgets.php:1429
+msgid "Project/Site Information"
+msgstr "מידע פרויקט/אתר"
+
+#: ../../include/widgets.php:1430
+msgid "For Members"
+msgstr "לחברים"
+
+#: ../../include/widgets.php:1431
+msgid "For Administrators"
+msgstr "למנהלים"
+
+#: ../../include/widgets.php:1432
+msgid "For Developers"
+msgstr "למפתחים"
+
+#: ../../include/widgets.php:1456 ../../include/widgets.php:1494
+msgid "Member registrations waiting for confirmation"
+msgstr "רישומי חברות אשר ממתינים לאישור"
+
+#: ../../include/widgets.php:1462
+msgid "Inspect queue"
+msgstr ""
+
+#: ../../include/widgets.php:1464
+msgid "DB updates"
+msgstr "עדכוני מסד נתונים"
+
+#: ../../include/widgets.php:1490
+msgid "Plugin Features"
+msgstr "תכונות תוסף"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr ""
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr ""
+
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
+msgstr ""
+
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
+msgstr ""
+
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
+msgstr ""
+
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
+msgstr ""
+
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
+msgstr ""
+
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
+msgstr ""
+
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
+msgstr ""
+
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
+msgstr ""
+
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
+msgstr ""
+
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr ""
+
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
+msgstr ""
+
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
+msgstr "מסוגל לשוחח עמי (כאשר זמין)"
+
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
+msgstr "מסוגל לכתוב אל האחסון והתצלומים שלי"
+
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
+msgstr "מסוגל לערוך עמודי רשת"
+
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
+msgstr ""
+
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr ""
+
+#: ../../include/permissions.php:877
+msgid "Social Networking"
+msgstr "רשת חברתית"
+
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
+msgstr "חברתי - ציבורי בעיקר"
+
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
+msgstr "חברתי - מוגבל"
+
+#: ../../include/permissions.php:877
+msgid "Social - Private"
+msgstr "חברתי - פרטי"
+
+#: ../../include/permissions.php:878
+msgid "Community Forum"
+msgstr "פורום קהילה"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
+msgstr "פורום - ציבורי בעיקר"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
+msgstr "פורום - מוגבל"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
+msgstr "פורום - פרטי"
+
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
+msgstr ""
+
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
+msgstr "ערוץ - ציבורי בעיקר"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
+msgstr "ערוץ - מוגבל"
+
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
+msgstr "מטרה מיוחדת"
+
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
+msgstr ""
+
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
+msgstr ""
+
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
+msgstr ""
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr " וגם "
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "פרופיל ציבורי"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr ""
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr ""
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr ""
+
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
+msgstr "תצריפים:"
+
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
+msgstr ""
+
+#: ../../include/api.php:1326
+msgid "Public Timeline"
+msgstr "ציר זמן ציבורי"
+
+#: ../../view/theme/redbasic/php/config.php:82
+msgid "Focus (Hubzilla default)"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Theme settings"
+msgstr "הגדרות ערכת נושא"
+
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Select scheme"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Narrow navbar"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Navigation bar background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Navigation bar gradient top color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Navigation bar gradient bottom color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Navigation active button gradient top color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Navigation active button gradient bottom color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Navigation bar border color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Navigation bar icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Navigation bar active icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "link color"
+msgstr "צבע קישור"
+
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set font-color for banner"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Set the background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:117
+msgid "Set the background image"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:118
+msgid "Set the background color of items"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:119
+msgid "Set the background color of comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:120
+msgid "Set the border color of comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:121
+msgid "Set the indent for comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:122
+msgid "Set the basic color for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Set the hover color for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:124
+msgid "Set font-size for the entire application"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:124
+msgid "Example: 14px"
+msgstr "דוגמא: 14px"
+
+#: ../../view/theme/redbasic/php/config.php:125
+msgid "Set font-size for posts and comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:126
+msgid "Set font-color for posts and comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:127
+msgid "Set radius of corners"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Set shadow depth of photos"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Set maximum width of content region in pixel"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Leave empty for default width"
+msgstr "השאר ריק לצורך רוחב שגרתי"
+
+#: ../../view/theme/redbasic/php/config.php:130
+msgid "Left align page content"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:131
+msgid "Set minimum opacity of nav bar - to hide it"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:132
+msgid "Set size of conversation author photo"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Set size of followup author photos"
+msgstr ""
+
+#: ../../boot.php:1163
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr ""
+
+#: ../../boot.php:1163
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../boot.php:1481
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr ""
+
+#: ../../boot.php:1484
+#, php-format
+msgid "Update Error at %s"
+msgstr ""
+
+#: ../../boot.php:1685
+msgid ""
+"Create an account to access services and applications within the Hubzilla"
+msgstr ""
+
+#: ../../boot.php:1707
+msgid "Password"
+msgstr "סיסמה"
+
+#: ../../boot.php:1708
+msgid "Remember me"
+msgstr "זכור אותי"
+
+#: ../../boot.php:1711
+msgid "Forgot your password?"
+msgstr "שכחת את הסיסמה שלך?"
+
+#: ../../boot.php:2277
+msgid "toggle mobile"
+msgstr ""
+
+#: ../../boot.php:2426
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr "תעודת SSL אתר רשת אינה תקינה. אנא תקן."
+
+#: ../../boot.php:2429
+#, php-format
+msgid "[hubzilla] Website SSL error for %s"
+msgstr "[hubzilla] שגיאת SSL אתר רשת עבור %s"
+
+#: ../../boot.php:2470
+msgid "Cron/Scheduled tasks not running."
+msgstr "משימות Cron/מתוזמנות לא רצות."
+
+#: ../../boot.php:2474
+#, php-format
+msgid "[hubzilla] Cron tasks not running on %s"
+msgstr "[hubzilla] משימות Cron לא רצות על %s"
diff --git a/view/he/hstrings.php b/view/he/hstrings.php
new file mode 100644
index 000000000..d20cb9a6e
--- /dev/null
+++ b/view/he/hstrings.php
@@ -0,0 +1,2319 @@
+<?php
+
+if(! function_exists("string_plural_select_he")) {
+function string_plural_select_he($n){
+ return ($n != 1);;
+}}
+;
+App::$strings["parent"] = "הורה";
+App::$strings["Collection"] = "אוסף";
+App::$strings["Principal"] = "";
+App::$strings["Addressbook"] = "פנקס כתובות";
+App::$strings["Calendar"] = "לוח שנה";
+App::$strings["Schedule Inbox"] = "תיבת דואר נכנס מתוזמנת";
+App::$strings["Schedule Outbox"] = "תיבת דואר יוצא מתוזמנת";
+App::$strings["Unknown"] = "לא ידוע";
+App::$strings["Files"] = "קבצים";
+App::$strings["Total"] = "סה״כ";
+App::$strings["Shared"] = "";
+App::$strings["Create"] = "צור";
+App::$strings["Upload"] = "העלאה";
+App::$strings["Name"] = "שם";
+App::$strings["Type"] = "טיפוס";
+App::$strings["Size"] = "גודל";
+App::$strings["Last Modified"] = "שונה לאחרונה";
+App::$strings["Edit"] = "ערוך";
+App::$strings["Delete"] = "מחק";
+App::$strings["You are using %1\$s of your available file storage."] = "הינך משתמש ב- %1\$s מתוך שטח אחסון קבצים זמין.";
+App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "הינך משתמש ב- %1\$s מתוך %2\$s שטח אחסון קבצים זמין. (%3\$s&#37;)";
+App::$strings["WARNING:"] = "אזהרה:";
+App::$strings["Create new folder"] = "צור תיקייה חדשה";
+App::$strings["Upload file"] = "העלה קובץ";
+App::$strings["Permission denied"] = "הרשאה נדחתה";
+App::$strings["Permission denied."] = "הרשאה נדחתה.";
+App::$strings["Not Found"] = "לא נמצא";
+App::$strings["Page not found."] = "עמוד לא נמצא.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "";
+App::$strings["Welcome %s. Remote authentication successful."] = "ברוך בואך %s. אימות מרוחק הצליח.";
+App::$strings["Requested profile is not available."] = "פרופיל מבוקש לא זמין.";
+App::$strings["Some blurb about what to do when you're new here"] = "";
+App::$strings["Block Name"] = "";
+App::$strings["Blocks"] = "";
+App::$strings["Block Title"] = "";
+App::$strings["Created"] = "נוצר";
+App::$strings["Edited"] = "נערך";
+App::$strings["Share"] = "שתף";
+App::$strings["View"] = "תצוגה";
+App::$strings["Channel not found."] = "ערוץ לא נמצא.";
+App::$strings["Permissions denied."] = "הרשאה נדחתה.";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Link to Source"] = "קישור למקור";
+App::$strings["Edit Event"] = "ערוך אירוע";
+App::$strings["Create Event"] = "צור אירוע";
+App::$strings["Previous"] = "קודם";
+App::$strings["Next"] = "הבא";
+App::$strings["Export"] = "יצא";
+App::$strings["Import"] = "יבא";
+App::$strings["Submit"] = "שלח";
+App::$strings["Today"] = "היום";
+App::$strings["You must be logged in to see this page."] = "עליך להתחבר כדי לראות את עמוד זה.";
+App::$strings["Posts and comments"] = "פוסטים ותגובות";
+App::$strings["Only posts"] = "רק פוסטים";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "";
+App::$strings["Room not found"] = "חדר לא נמצא";
+App::$strings["Leave Room"] = "עזוב חדר";
+App::$strings["Delete Room"] = "מחק חדר";
+App::$strings["I am away right now"] = "אני נעדר/ת ברגע זה";
+App::$strings["I am online"] = "אני במצב מקוון";
+App::$strings["Bookmark this room"] = "סמן את חדר זה";
+App::$strings["Please enter a link URL:"] = "אנא הזן URL קישור:";
+App::$strings["Encrypt text"] = "הצפן טקסט";
+App::$strings["Insert web link"] = "הכנס קישור רשת";
+App::$strings["Feature disabled."] = "תכונה מנוטרלת.";
+App::$strings["New Chatroom"] = "חדר שיחה חדש";
+App::$strings["Chatroom name"] = "שם חדר שיחה";
+App::$strings["Expiration of chats (minutes)"] = "תפוגה של שיחות (דקות)";
+App::$strings["Permissions"] = "הרשאות";
+App::$strings["%1\$s's Chatrooms"] = "חדרי שיחה של %1\$s";
+App::$strings["No chatrooms available"] = "אין חדרי שיחה זמינים";
+App::$strings["Create New"] = "צור חדש";
+App::$strings["Expiration"] = "תפוגה";
+App::$strings["min"] = "דקות";
+App::$strings["Away"] = "נעדר";
+App::$strings["Online"] = "מקוון";
+App::$strings["Invalid item."] = "פריט שגוי.";
+App::$strings["Bookmark added"] = "סימנייה התווספה";
+App::$strings["My Bookmarks"] = "הסימניות שלי";
+App::$strings["My Connections Bookmarks"] = "סימניות החיבורים שלי";
+App::$strings["Continue"] = "המשך";
+App::$strings["Premium Channel Setup"] = "הבניית ערוץ פרמיה";
+App::$strings["Enable premium channel connection restrictions"] = "אפשר הגבלות חיבור ערוץ פרמיה";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "";
+App::$strings["Restricted or Premium Channel"] = "ערוץ מוגבל או פרמיה";
+App::$strings["Could not access contact record."] = "";
+App::$strings["Could not locate selected profile."] = "";
+App::$strings["Connection updated."] = "חיבור התעדכן.";
+App::$strings["Failed to update connection record."] = "";
+App::$strings["is now connected to"] = "כעת מחובר אל";
+App::$strings["No"] = "לא";
+App::$strings["Yes"] = "כן";
+App::$strings["Could not access address book record."] = "";
+App::$strings["Refresh failed - channel is currently unavailable."] = "רענון נכשל - ערוץ אינו זמין כעת.";
+App::$strings["Unable to set address book parameters."] = "לא מסוגל לקבוע פרמטרים של פנקס כתובות";
+App::$strings["Connection has been removed."] = "חיבור הוסר.";
+App::$strings["View Profile"] = "הצג פרופיל";
+App::$strings["View %s's profile"] = "צפה בפרופיל של %s";
+App::$strings["Refresh Permissions"] = "רענן הרשאות";
+App::$strings["Fetch updated permissions"] = "תפוס הרשאות מעודכנות";
+App::$strings["Recent Activity"] = "פעילות אחרונה";
+App::$strings["View recent posts and comments"] = "צפה בפוסטים ותגובות אחרונות";
+App::$strings["Unblock"] = "בטל חסימה";
+App::$strings["Block"] = "חסום";
+App::$strings["Block (or Unblock) all communications with this connection"] = "חסום (או בטל חסימה) את כל ההתקשרויות עם חיבור זה";
+App::$strings["This connection is blocked!"] = "חיבור זה הינו חסום!";
+App::$strings["Unignore"] = "בטל התעלמות";
+App::$strings["Ignore"] = "התעלמות";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "התעלם (או בטל התעלמות) מכל ההתקשרויות שפונות כלפי פנים (inbound) מתוך חיבור זה";
+App::$strings["This connection is ignored!"] = "חיבור זה הינו מנוכר!";
+App::$strings["Unarchive"] = "בטל גניזה";
+App::$strings["Archive"] = "גנוז";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "גנוז את (או בטל את גניזת) חיבור זה - סמן את עמוד זה כמת אך השאר תוכן";
+App::$strings["This connection is archived!"] = "חיבור זה הינו גנוז!";
+App::$strings["Unhide"] = "חשוף";
+App::$strings["Hide"] = "הסתר";
+App::$strings["Hide or Unhide this connection from your other connections"] = "הסתר או חשוף את חיבור זה מן החיבורים האחרים שלך";
+App::$strings["This connection is hidden!"] = "חיבור זה הינו מוסתר!";
+App::$strings["Delete this connection"] = "מחק את חיבור זה";
+App::$strings["Me"] = "אני";
+App::$strings["Family"] = "משפחה";
+App::$strings["Friends"] = "חברים";
+App::$strings["Acquaintances"] = "מכרים";
+App::$strings["All"] = "הכל";
+App::$strings["Approve this connection"] = "אשר את חיבור זה";
+App::$strings["Accept connection to allow communication"] = "אשר חיבור כדי להתיר תקשורת";
+App::$strings["Set Affinity"] = "הגדר קירבה";
+App::$strings["Set Profile"] = "הגדר פרופיל";
+App::$strings["Set Affinity & Profile"] = "הגדר קירבה וגם פרופיל";
+App::$strings["none"] = "";
+App::$strings["Connection Default Permissions"] = "הרשאות שגרתיות של חיבור";
+App::$strings["Connection: %s"] = "חיבור: %s";
+App::$strings["Apply these permissions automatically"] = "החל את הרשאות אלה אוטומטית";
+App::$strings["Connection requests will be approved without your interaction"] = "";
+App::$strings["This connection's primary address is"] = "הכתובת העיקרית של חיבור זה היא";
+App::$strings["Available locations:"] = "מיקומים זמינים:";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "";
+App::$strings["Connection Tools"] = "כלי חיבור";
+App::$strings["Slide to adjust your degree of friendship"] = "";
+App::$strings["Rating"] = "דירוג";
+App::$strings["Slide to adjust your rating"] = "החלק כדי להתאים את הדירוג שלך";
+App::$strings["Optionally explain your rating"] = "הסבר לפי הצורך את הדירוג שלך";
+App::$strings["Custom Filter"] = "מסנן מותאם";
+App::$strings["Only import posts with this text"] = "יבא רק פוסטים עם טקסט זה";
+App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "";
+App::$strings["Do not import posts with this text"] = "אל תייבא פוסטים עם טקסט זה";
+App::$strings["This information is public!"] = "מידע זה הינו ציבורי!";
+App::$strings["Connection Pending Approval"] = "חיבור ממתין לאישור";
+App::$strings["inherited"] = "";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "";
+App::$strings["Their Settings"] = "ההגדרות שלהם";
+App::$strings["My Settings"] = "ההגדרות שלי";
+App::$strings["Individual Permissions"] = "";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "";
+App::$strings["Last update:"] = "עדכון אחרון:";
+App::$strings["Public access denied."] = "גישה ציבורית נדחתה.";
+App::$strings["%d rating"] = array(
+ 0 => "דירוג %d",
+ 1 => "%d דירוגים",
+);
+App::$strings["Gender: "] = "מין: ";
+App::$strings["Status: "] = "מצב: ";
+App::$strings["Homepage: "] = "עמוד בית: ";
+App::$strings["Age:"] = "גיל:";
+App::$strings["Location:"] = "מיקום:";
+App::$strings["Description:"] = "תיאור:";
+App::$strings["Hometown:"] = "עיר מגורים:";
+App::$strings["About:"] = "אודות:";
+App::$strings["Connect"] = "התחבר";
+App::$strings["Public Forum:"] = "פורום ציבורי:";
+App::$strings["Keywords: "] = "מילות מפתח: ";
+App::$strings["Don't suggest"] = "אל תציע";
+App::$strings["Common connections:"] = "חיבורים שכיחים:";
+App::$strings["Global Directory"] = "ספרייה גלובלית";
+App::$strings["Local Directory"] = "ספרייה מקומית";
+App::$strings["Find"] = "מצא";
+App::$strings["Finding:"] = "";
+App::$strings["Channel Suggestions"] = "הצעות ערוץ";
+App::$strings["next page"] = "עמוד הבא";
+App::$strings["previous page"] = "עמוד קודם";
+App::$strings["Sort options"] = "אפשרויות מיון";
+App::$strings["Alphabetic"] = "אלפבתי";
+App::$strings["Reverse Alphabetic"] = "אלפבתי הפוך";
+App::$strings["Newest to Oldest"] = "מהחדשים יותר לישנים יותר";
+App::$strings["Oldest to Newest"] = "מהישנים יותר לחדשים יותר";
+App::$strings["No entries (some entries may be hidden)."] = "";
+App::$strings["Item not found."] = "פריט לא נמצא.";
+App::$strings["Item not found"] = "פריט לא נמצא";
+App::$strings["Title (optional)"] = "כותרת (רשות):";
+App::$strings["Edit Block"] = "";
+App::$strings["No channel."] = "אין ערוץ.";
+App::$strings["Common connections"] = "חיבורים מצויים";
+App::$strings["No connections in common."] = "";
+App::$strings["Blocked"] = "";
+App::$strings["Ignored"] = "";
+App::$strings["Hidden"] = "מוסתר";
+App::$strings["Archived"] = "גנוזים";
+App::$strings["New"] = "חדש";
+App::$strings["New Connections"] = "חיבורים חדשים";
+App::$strings["Show pending (new) connections"] = "";
+App::$strings["All Connections"] = "כל החיבורים";
+App::$strings["Show all connections"] = "הצג את כל החיבורים";
+App::$strings["Only show blocked connections"] = "הצג רק חיבורים חסומים";
+App::$strings["Only show ignored connections"] = "הצג רק חיבורים מנוכרים";
+App::$strings["Only show archived connections"] = "הצג רק חיבורים גנוזים";
+App::$strings["Only show hidden connections"] = "הצג רק חיבורים מוסתרים";
+App::$strings["Pending approval"] = "ממתין לאישור";
+App::$strings["%1\$s [%2\$s]"] = "";
+App::$strings["Edit connection"] = "ערוך חיבור";
+App::$strings["Delete connection"] = "מחק חיבור";
+App::$strings["Channel address"] = "כתובת ערוץ";
+App::$strings["Network"] = "רשת";
+App::$strings["Status"] = "מצב";
+App::$strings["Connected"] = "מחובר";
+App::$strings["Approve connection"] = "אשר חיבור";
+App::$strings["Approve"] = "אשר";
+App::$strings["Ignore connection"] = "התעלם מחיבור";
+App::$strings["Recent activity"] = "פעילות אחרונה";
+App::$strings["Connections"] = "חיבורים";
+App::$strings["Search"] = "חיפוש";
+App::$strings["Search your connections"] = "חפש את החיבורים שלך";
+App::$strings["Connections search"] = "חיפוש חיבורים";
+App::$strings["Image uploaded but image cropping failed."] = "";
+App::$strings["Cover Photos"] = "תצלומי שער";
+App::$strings["Image resize failed."] = "שינוי גודל תמונה נכשל.";
+App::$strings["Unable to process image"] = "לא מסוגל לעבד תמונה";
+App::$strings["Image upload failed."] = "העלאת תמונה נכשלה.";
+App::$strings["Unable to process image."] = "לא מסוגל לעבד תמונה.";
+App::$strings["female"] = "נקבה";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s עדכנה את ה%2\$s שלה";
+App::$strings["male"] = "זכר";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s עדכן את ה%2\$s שלו";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s עדכנו את ה%2\$s שלהם";
+App::$strings["cover photo"] = "תצלום שער";
+App::$strings["Photo not available."] = "תצלום לא זמין.";
+App::$strings["Upload File:"] = "העלה קובץ:";
+App::$strings["Select a profile:"] = "בחר פרופיל:";
+App::$strings["Upload Cover Photo"] = "העלה תצלום שער";
+App::$strings["or"] = "או";
+App::$strings["skip this step"] = "דלג על צעד זה";
+App::$strings["select a photo from your photo albums"] = "";
+App::$strings["Crop Image"] = "גזור תמונה";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "";
+App::$strings["Done Editing"] = "סיים לערוך";
+App::$strings["Item is not editable"] = "פריט אינו עריך.";
+App::$strings["Edit post"] = "ערוך פוסט";
+App::$strings["Calendar entries imported."] = "רשומות לוח שנה הובאו.";
+App::$strings["No calendar entries found."] = "לא נמצאו רשומות לוח שנה.";
+App::$strings["Event can not end before it has started."] = "";
+App::$strings["Unable to generate preview."] = "לא מסוגל להפיק תצוגה מקדימה.";
+App::$strings["Event title and start time are required."] = "כותרת וזמן תחילת אירוע נדרשים";
+App::$strings["Event not found."] = "אירוע לא נמצא.";
+App::$strings["event"] = "אירוע";
+App::$strings["Edit event title"] = "ערוך כותרת אירוע";
+App::$strings["Event title"] = "כותרת אירוע";
+App::$strings["Required"] = "נדרש";
+App::$strings["Categories (comma-separated list)"] = "קטגוריות (רשימה מופרדת פסיקים)";
+App::$strings["Edit Category"] = "ערוך קטגוריה";
+App::$strings["Category"] = "קטגוריה";
+App::$strings["Edit start date and time"] = "ערוך זמן ותאריך התחלה";
+App::$strings["Start date and time"] = "זמן ותאריך התחלה";
+App::$strings["Finish date and time are not known or not relevant"] = "";
+App::$strings["Edit finish date and time"] = "ערוך זמן ותאריך סיום";
+App::$strings["Finish date and time"] = "זמן ותאריך סיום";
+App::$strings["Adjust for viewer timezone"] = "";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "";
+App::$strings["Edit Description"] = "ערוך תיאור";
+App::$strings["Description"] = "תיאור";
+App::$strings["Edit Location"] = "ערוך מיקום";
+App::$strings["Location"] = "מיקום";
+App::$strings["Share this event"] = "שתף את אירוע זה";
+App::$strings["Preview"] = "תצוגה מקדימה";
+App::$strings["Permission settings"] = "הגדרות הרשאה";
+App::$strings["Advanced Options"] = "אפשרויות מתקדמות";
+App::$strings["Edit event"] = "ערוך אירוע";
+App::$strings["Delete event"] = "מחק אירוע";
+App::$strings["calendar"] = "לוח שנה";
+App::$strings["Event removed"] = "אירוע הוסר";
+App::$strings["Failed to remove event"] = "נכשל להסיר אירוע";
+App::$strings["Photos"] = "תצלומים";
+App::$strings["Cancel"] = "ביטול";
+App::$strings["This site is not a directory server"] = "אתר זה אינו שרת ספרייה";
+App::$strings["This directory server requires an access token"] = "";
+App::$strings["Save to Folder:"] = "שמור לתיקייה:";
+App::$strings["- select -"] = "- בחר -";
+App::$strings["Save"] = "שמור";
+App::$strings["Invalid message"] = "הודעה שגויה";
+App::$strings["no results"] = "אין תוצאות";
+App::$strings["Delivery report for %1\$s"] = "דיווח מסירה עבור %1\$s";
+App::$strings["channel sync processed"] = "";
+App::$strings["queued"] = "בתור";
+App::$strings["posted"] = "פורסם";
+App::$strings["accepted for delivery"] = "נתקבל לצורך מסירה";
+App::$strings["updated"] = "עודכן";
+App::$strings["update ignored"] = "עדכון נוכר";
+App::$strings["permission denied"] = "הרשאה נדחתה";
+App::$strings["recipient not found"] = "נמען לא נמצא";
+App::$strings["mail recalled"] = "דואר הוחזר";
+App::$strings["duplicate mail received"] = "דואר כפול נתקבל";
+App::$strings["mail delivered"] = "דואר נמסר";
+App::$strings["Layout Name"] = "";
+App::$strings["Layout Description (Optional)"] = "";
+App::$strings["Edit Layout"] = "";
+App::$strings["Page link"] = "קישור עמוד";
+App::$strings["Edit Webpage"] = "ערוך עמוד רשת";
+App::$strings["Channel added."] = "ערוץ נתווסף.";
+App::$strings["network"] = "רשת";
+App::$strings["RSS"] = "RSS";
+App::$strings["Privacy group created."] = "קבוצת פרטיות נוצרה.";
+App::$strings["Could not create privacy group."] = "לא היתה אפשרות ליצור קבוצת פרטיות.";
+App::$strings["Privacy group not found."] = "קבוצת פרטיות לא נמצאה.";
+App::$strings["Privacy group updated."] = "קבוצת פרטיות עודכנה.";
+App::$strings["Create a group of channels."] = "צור אשכול של ערוצים.";
+App::$strings["Privacy group name: "] = "שם קבוצת פרטיות:";
+App::$strings["Members are visible to other channels"] = "חברים הינם נראים לערוצים אחרים";
+App::$strings["Privacy group removed."] = "קבוצת פרטיות הוסרה.";
+App::$strings["Unable to remove privacy group."] = "לא מסוגל להסיר קבוצת פרטיות.";
+App::$strings["Privacy group editor"] = "עורך קבוצת פרטיות";
+App::$strings["Members"] = "חברים";
+App::$strings["All Connected Channels"] = "כל הערוצים המחוברים";
+App::$strings["Click on a channel to add or remove."] = "לחץ על ערוץ כדי להוסיף או להסיר";
+App::$strings["Share content from Firefox to \$Projectname"] = "שתף תוכן מתוך Firefox אל \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "הפעל את ספק \$Projectname של Firefox";
+App::$strings["Authorize application connection"] = "";
+App::$strings["Return to your app and insert this Securty Code:"] = "";
+App::$strings["Please login to continue."] = "אנא התחבר כדי להמשיך.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
+App::$strings["Documentation Search"] = "חיפוש תיעוד";
+App::$strings["Help:"] = "עזרה:";
+App::$strings["Help"] = "עזרה";
+App::$strings["\$Projectname Documentation"] = "תיעוד \$Projectname";
+App::$strings["Permission Denied."] = "הרשאה נדחתה.";
+App::$strings["File not found."] = "קובץ לא נמצא.";
+App::$strings["Edit file permissions"] = "ערוך הרשאות קובץ";
+App::$strings["Set/edit permissions"] = "קבע/ערוך הרשאות";
+App::$strings["Include all files and sub folders"] = "כלול כל קובץ ותיקיית משנה";
+App::$strings["Return to file list"] = "";
+App::$strings["Copy/paste this code to attach file to a post"] = "";
+App::$strings["Copy/paste this URL to link file from a web page"] = "";
+App::$strings["Share this file"] = "שתף את קובץ זה";
+App::$strings["Show URL to this file"] = "הצג URL לקובץ זה";
+App::$strings["Notify your contacts about this file"] = "";
+App::$strings["Apps"] = "אפליקציות";
+App::$strings["Item not available."] = "פריט לא נמצא.";
+App::$strings["Your service plan only allows %d channels."] = "";
+App::$strings["Nothing to import."] = "אין דבר ליבא.";
+App::$strings["Unable to download data from old server"] = "";
+App::$strings["Imported file is empty."] = "קובץ מיובא הינו ריק";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "";
+App::$strings["Cloned channel not found. Import failed."] = "";
+App::$strings["No channel. Import failed."] = "";
+App::$strings["Import completed."] = "יבוא הושלם.";
+App::$strings["You must be logged in to use this feature."] = "";
+App::$strings["Import Channel"] = "יבא ערוץ";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "השתמש בטופס זה כדי ליבא ערוץ קיים מתוך שרת/מוקד אחר. באפשרותך לאחזר את זהות הערוץ מתוך שרת/מוקד ישן דרך הרשת או לספק קובץ יצוא.";
+App::$strings["File to Upload"] = "קובץ להעלאה";
+App::$strings["Or provide the old server/hub details"] = "או ספק פרטי שרת/מוקד ישנים";
+App::$strings["Your old identity address (xyz@example.com)"] = "כתובת זיהוי ישנה (xyz@example.com)";
+App::$strings["Your old login email address"] = "כתובת דוא״ל כניסה ישנה";
+App::$strings["Your old login password"] = "סיסמת כניסה ישנה";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
+App::$strings["Make this hub my primary location"] = "הפוך את מוקד זה למיקום העיקרי שלי";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "";
+App::$strings["Unable to locate original post."] = "לא מסוגל לאתר פוסט מקורי.";
+App::$strings["Empty post discarded."] = "פוסט ריק סולק.";
+App::$strings["Executable content type not permitted to this channel."] = "";
+App::$strings["Duplicate post suppressed."] = "פוסט כפול הודחק.";
+App::$strings["System error. Post not saved."] = "שגיאת מערכת. פוסט לא נשמר.";
+App::$strings["Unable to obtain post information from database."] = "";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "";
+App::$strings["Layouts"] = "";
+App::$strings["Comanche page description language help"] = "";
+App::$strings["Layout Description"] = "";
+App::$strings["Download PDL file"] = "הורד קובץ PDL";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "ברוכים הבאים אל %s";
+App::$strings["First Name"] = "שם פרטי";
+App::$strings["Last Name"] = "שם משפחה";
+App::$strings["Nickname"] = "שם כינוי";
+App::$strings["Full Name"] = "שם מלא";
+App::$strings["Email"] = "דוא״ל";
+App::$strings["Profile Photo"] = "תצלום פרופיל";
+App::$strings["Profile Photo 16px"] = "תצלום פרופיל 16 פיקסל";
+App::$strings["Profile Photo 32px"] = "תצלום פרופיל 32 פיקסל";
+App::$strings["Profile Photo 48px"] = "תצלום פרופיל 48 פיקסל";
+App::$strings["Profile Photo 64px"] = "תצלום פרופיל 64 פיקסל";
+App::$strings["Profile Photo 80px"] = "תצלום פרופיל 80 פיקסל";
+App::$strings["Profile Photo 128px"] = "תצלום פרופיל 128 פיקסל";
+App::$strings["Timezone"] = "אזור זמן";
+App::$strings["Homepage URL"] = "";
+App::$strings["Language"] = "שפה";
+App::$strings["Birth Year"] = "שנת הולדת";
+App::$strings["Birth Month"] = "חודש הולדת";
+App::$strings["Birth Day"] = "יום הולדת";
+App::$strings["Birthdate"] = "יום הולדת";
+App::$strings["Gender"] = "מין";
+App::$strings["Male"] = "זכר";
+App::$strings["Female"] = "נקבה";
+App::$strings["webpage"] = "עמוד רשת";
+App::$strings["block"] = "";
+App::$strings["layout"] = "";
+App::$strings["menu"] = "תפריט";
+App::$strings["%s element installed"] = "";
+App::$strings["%s element installation failed"] = "";
+App::$strings["Like/Dislike"] = "";
+App::$strings["This action is restricted to members."] = "";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "";
+App::$strings["Invalid request."] = "בקשה שגויה.";
+App::$strings["channel"] = "ערוץ";
+App::$strings["thing"] = "דבר";
+App::$strings["Channel unavailable."] = "עמוד לא זמין.";
+App::$strings["Previous action reversed."] = "";
+App::$strings["photo"] = "תצלום";
+App::$strings["status"] = "סטטוס";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "";
+App::$strings["Action completed."] = "פעולה הושלמה.";
+App::$strings["Thank you."] = "תודה.";
+App::$strings["Import completed"] = "יבוא הושלם";
+App::$strings["Import Items"] = "יבוא פריטים";
+App::$strings["Use this form to import existing posts and content from an export file."] = "";
+App::$strings["Total invitation limit exceeded."] = "סך מגבלת הזמנות נגמרה.";
+App::$strings["%s : Not a valid email address."] = "%s : כתובת דוא״ל לא תקינה.";
+App::$strings["Please join us on \$Projectname"] = "נשמח אם תצטרף אלינו ברשת \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "מגבלת הזמנות נגמרה. אנא צור קשר עם מנהל האתר שלך.";
+App::$strings["%s : Message delivery failed."] = "%s : מסירת הודעה נכשלה.";
+App::$strings["%d message sent."] = array(
+ 0 => "הודעה %d נשלחה.",
+ 1 => "%d הודעות נשלחו.",
+);
+App::$strings["You have no more invitations available"] = "לא נותרו לך עוד הזמנות זמינות";
+App::$strings["Send invitations"] = "שלח הזמנות";
+App::$strings["Enter email addresses, one per line:"] = "הזן כתובות דוא״ל, אחת בכל שורה:";
+App::$strings["Your message:"] = "הודעתך:";
+App::$strings["Please join my community on \$Projectname."] = "אשמח אם תצטרף לקהילה שלי ברשת \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "יהיה עליך לספק את קוד הזמנה זה:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. הירשם בכל מיקום \$Projectname (כולם מחוברים ב אופן הדדי)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. הזן את כתובת רשת \$Projectname שלי לתוך שורת החיפוש של האתר.";
+App::$strings["or visit"] = "או בקר בכתובת";
+App::$strings["3. Click [Connect]"] = "3. לחץ [התחבר]";
+App::$strings["Remote privacy information not available."] = "";
+App::$strings["Visible to:"] = "נראה לאלו:";
+App::$strings["Location not found."] = "מיקום לא נמצא.";
+App::$strings["Location lookup failed."] = "";
+App::$strings["Please select another location to become primary before removing the primary location."] = "";
+App::$strings["Syncing locations"] = "";
+App::$strings["No locations found."] = "לא נמצאו מיקומים.";
+App::$strings["Manage Channel Locations"] = "נהל מיקומי ערוץ";
+App::$strings["Address"] = "כתובת";
+App::$strings["Primary"] = "";
+App::$strings["Drop"] = "";
+App::$strings["Sync Now"] = "סנכרן עכשיו";
+App::$strings["Please wait several minutes between consecutive operations."] = "";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "כאשר ניתן, השמט מיקום על ידי כניסה לתוך אתר רשת/מוקד והסרת הערוץ שלך.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "השתמש בטופס זה כדי לנטוש את המיקום אם המוקד אינו פועל עוד.";
+App::$strings["Hub not found."] = "מוקד לא נמצא.";
+App::$strings["Unable to lookup recipient."] = "";
+App::$strings["Unable to communicate with requested channel."] = "לא מסוגל לתקשר עם ערוץ מבוקש";
+App::$strings["Cannot verify requested channel."] = "לא יכול לאמת ערוץ מבוקש.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "על הערוץ הנבחר מוטלות הגבלות הודעה פרטית. שליחה נכשלה.";
+App::$strings["Messages"] = "הודעות";
+App::$strings["Message recalled."] = "הודעה הוחזרה.";
+App::$strings["Conversation removed."] = "דיון הוסר.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "פג YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "הערוץ המבוקש אינו נמצא ברשת זו";
+App::$strings["Send Private Message"] = "שלח הודעה פרטית";
+App::$strings["To:"] = "לכבוד:";
+App::$strings["Subject:"] = "נושא:";
+App::$strings["Attach file"] = "צרף קובץ";
+App::$strings["Send"] = "שלח";
+App::$strings["Set expiration date"] = "קבע תאריך תפוגה";
+App::$strings["Delete message"] = "מחק הודעה";
+App::$strings["Delivery report"] = "דיווח מסירה";
+App::$strings["Recall message"] = "בטל הודעה";
+App::$strings["Message has been recalled."] = "הודעה הוחזרה.";
+App::$strings["Delete Conversation"] = "מחק דיון";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "אין חיבורים מאובטחים זמינים. <strong>אפשרי</strong> כי תהא באפשרותך להשיב מתוך עמוד הפרופיל של השולח.";
+App::$strings["Send Reply"] = "שלח משוב";
+App::$strings["Your message for %s (%s):"] = "הודעתך עבור %s &rlm;(%s):";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "";
+App::$strings["Create a new channel"] = "צור ערוץ חדש";
+App::$strings["Channel Manager"] = "מנהל ערוץ";
+App::$strings["Current Channel"] = "ערוץ נוכחי";
+App::$strings["Switch to one of your channels by selecting it."] = "";
+App::$strings["Default Channel"] = "ערוץ שגרתי";
+App::$strings["Make Default"] = "הפוך לשגרתי";
+App::$strings["%d new messages"] = "%d הודעות חדשות";
+App::$strings["%d new introductions"] = "";
+App::$strings["Delegated Channel"] = "";
+App::$strings["No valid account found."] = "לא נמצא חשבון תקין.";
+App::$strings["Password reset request issued. Check your email."] = "";
+App::$strings["Site Member (%s)"] = "חבר אתר (%s)";
+App::$strings["Password reset requested at %s"] = "בקשת איפוס סיסמה נתבקשה אצל %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
+App::$strings["Password Reset"] = "איפוס סיסמה";
+App::$strings["Your password has been reset as requested."] = "הסיסמה שלך אותחלה כנדרש.";
+App::$strings["Your new password is"] = "הסיסמה החדשה שלך היא";
+App::$strings["Save or copy your new password - and then"] = "";
+App::$strings["click here to login"] = "לחץ כאן כדי להיכנס";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
+App::$strings["Your password has changed at %s"] = "הסיסמה שלך נשתנתה אצל %s";
+App::$strings["Forgot your Password?"] = "שכחת את הסיסמה שלך?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
+App::$strings["Email Address"] = "כתובת דוא״ל";
+App::$strings["Reset"] = "אפס";
+App::$strings["Unable to update menu."] = "לא מסוגל לעדכן תפריט.";
+App::$strings["Unable to create menu."] = "לא מסוגל ליצור תפריט.";
+App::$strings["Menu Name"] = "שם תפריט";
+App::$strings["Unique name (not visible on webpage) - required"] = "שם ייחודי (לא נראה בבלוג רשת) - נדרש";
+App::$strings["Menu Title"] = "כותרת תפריט";
+App::$strings["Visible on webpage - leave empty for no title"] = "";
+App::$strings["Allow Bookmarks"] = "התר סימניות";
+App::$strings["Menu may be used to store saved bookmarks"] = "";
+App::$strings["Submit and proceed"] = "שלח והמשך";
+App::$strings["Menus"] = "תפריטים";
+App::$strings["Bookmarks allowed"] = "סימניות מותרות";
+App::$strings["Delete this menu"] = "מחק את תפריט זה";
+App::$strings["Edit menu contents"] = "ערוך תכני תפריט";
+App::$strings["Edit this menu"] = "ערוך את תפריט זה";
+App::$strings["Menu could not be deleted."] = "תפריט לא יכול היה להימחק.";
+App::$strings["Menu not found."] = "תפריט לא נמצא.";
+App::$strings["Edit Menu"] = "ערוך תפריט";
+App::$strings["Add or remove entries to this menu"] = "הוסף או הסר רשומות מתפריט זה";
+App::$strings["Menu name"] = "שם תפריט";
+App::$strings["Must be unique, only seen by you"] = "";
+App::$strings["Menu title"] = "כותרת תפריט";
+App::$strings["Menu title as seen by others"] = "";
+App::$strings["Allow bookmarks"] = "התר סימניות";
+App::$strings["Not found."] = "לא נמצא.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "";
+App::$strings["Mood"] = "מצב רוח";
+App::$strings["Set your current mood and tell your friends"] = "";
+App::$strings["Profile Match"] = "";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "";
+App::$strings["is interested in:"] = "";
+App::$strings["No matches"] = "אין התאמות";
+App::$strings["No such group"] = "אין קבוצה כזו";
+App::$strings["No such channel"] = "אין ערוץ כזה";
+App::$strings["forum"] = "פורום";
+App::$strings["Search Results For:"] = "תוצאות חיפוש עבור:";
+App::$strings["Privacy group is empty"] = "קבוצת פרטיות הינה ריקה";
+App::$strings["Privacy group: "] = "קבוצת פרטיות: ";
+App::$strings["Invalid connection."] = "חיבור שגוי.";
+App::$strings["No more system notifications."] = "אין עוד התראות מערכת";
+App::$strings["System Notifications"] = "התראות מערכת";
+App::$strings["Unable to create element."] = "לא מסוגל ליצור אלמנט";
+App::$strings["Unable to update menu element."] = "לא מסוגל לעדכן אלמנט תפריט.";
+App::$strings["Unable to add menu element."] = "לא מסוגל להוסיף אלמנט תפריט.";
+App::$strings["Menu Item Permissions"] = "הרשאות פריט תפריט";
+App::$strings["(click to open/close)"] = "(לחץ כדי לפתוח/לסגור)";
+App::$strings["Link Name"] = "שם קישור";
+App::$strings["Link or Submenu Target"] = "";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "";
+App::$strings["Use magic-auth if available"] = "";
+App::$strings["Open link in new window"] = "פתח בתוך חלון חדש";
+App::$strings["Order in list"] = "";
+App::$strings["Higher numbers will sink to bottom of listing"] = "";
+App::$strings["Submit and finish"] = "שלח וסיים";
+App::$strings["Submit and continue"] = "שלח והמשך";
+App::$strings["Menu:"] = "תפריט:";
+App::$strings["Link Target"] = "יעד קישור";
+App::$strings["Edit menu"] = "ערוך תפריט";
+App::$strings["Edit element"] = "ערוך אלמנט";
+App::$strings["Drop element"] = "הטל אלמנט";
+App::$strings["New element"] = "אלמנט חדש";
+App::$strings["Edit this menu container"] = "ערוך את מכיל תפריט זה";
+App::$strings["Add menu element"] = "הוסף אלמנט תפריט";
+App::$strings["Delete this menu item"] = "מחק את פריט תפריט זה";
+App::$strings["Edit this menu item"] = "ערוך את פריט תפריט זה";
+App::$strings["Menu item not found."] = "פריט תפריט לא נמצא.";
+App::$strings["Menu item deleted."] = "פריט תפריט נמחק.";
+App::$strings["Menu item could not be deleted."] = "פריט תפריט לא יכול היה להימחק.";
+App::$strings["Edit Menu Element"] = "ערוך אלמנט תפריט";
+App::$strings["Link text"] = "";
+App::$strings["Name or caption"] = "שם או דברי הסבר";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "דוגמאות: \"בוב ג׳יימסון\", \"ליסה והסוסים שלה\", \"טניס\", \"קבוצת תעופה\"";
+App::$strings["Choose a short nickname"] = "בחר שם כינוי קצר";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "שם כינוי ישמש אותך כדי ליצור כתובת ערוץ קלה לזכירה למשל nickname%s";
+App::$strings["Channel role and privacy"] = "";
+App::$strings["Select a channel role with your privacy requirements."] = "";
+App::$strings["Read more about roles"] = "";
+App::$strings["Create Channel"] = "צור ערוץ";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "ערוץ הוא הזהות שלך ברשת זו. זה יכול לייצג אדם, בלוג, או פורום (נמנו רק אחדים). ערוצים יכולים ליצור חיבורים עם ערוצים אחרים כדי לשתף מידע בעזרת הרשאות מפורטות מאוד.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "";
+App::$strings["Invalid request identifier."] = "מזהה מבקש לא תקין.";
+App::$strings["Discard"] = "סלק";
+App::$strings["Mark all system notifications seen"] = "סמן את כל התראות המערכת כנקראו";
+App::$strings["Page owner information could not be retrieved."] = "";
+App::$strings["Profile Photos"] = "תצלומי פרופיל";
+App::$strings["Album not found."] = "אלבום לא נמצא.";
+App::$strings["Delete Album"] = "מחק אלבום";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "";
+App::$strings["Delete Photo"] = "מחק תצלום";
+App::$strings["No photos selected"] = "לא נבחרו תצלומים";
+App::$strings["Access to this item is restricted."] = "";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "";
+App::$strings["%1$.2f MB photo storage used."] = "";
+App::$strings["Upload Photos"] = "העלה תצלומים";
+App::$strings["Enter an album name"] = "הזן שם אלבום";
+App::$strings["or select an existing album (doubleclick)"] = "או בחר אלבום קיים (לחיצה כפולה)";
+App::$strings["Create a status post for this upload"] = "";
+App::$strings["Caption (optional):"] = "דברי הסבר (רשות):";
+App::$strings["Description (optional):"] = "תיאור (רשות):";
+App::$strings["Album name could not be decoded"] = "";
+App::$strings["Contact Photos"] = "תצלומי איש קשר";
+App::$strings["Show Newest First"] = "הצג את החדשים יותר בתחילה";
+App::$strings["Show Oldest First"] = "הצג את הישנים יותר בתחילה";
+App::$strings["View Photo"] = "צפה בתצלום";
+App::$strings["Edit Album"] = "ערוך אלבום";
+App::$strings["Permission denied. Access to this item may be restricted."] = "";
+App::$strings["Photo not available"] = "תצלום לא זמין";
+App::$strings["Use as profile photo"] = "השתמש בתור תצלום פרופיל";
+App::$strings["Use as cover photo"] = "השתמש בתור תצלום שער";
+App::$strings["Private Photo"] = "תצלום פרטי";
+App::$strings["View Full Size"] = "צפה בגודל מלא";
+App::$strings["Remove"] = "הסר";
+App::$strings["Edit photo"] = "ערוך תצלום";
+App::$strings["Rotate CW (right)"] = "סובב כיוון-שעון (ימין)";
+App::$strings["Rotate CCW (left)"] = "סובב נגד כיוון-שעון (שמאל)";
+App::$strings["Enter a new album name"] = "הזן שם אלבום חדש";
+App::$strings["or select an existing one (doubleclick)"] = "או בחר באחד קיים (לחיצה כפולה)";
+App::$strings["Caption"] = "דברי הסבר";
+App::$strings["Add a Tag"] = "הוסף תגית";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "דוגמא: @bob, @Barbara_Jensen, @jim@example.com";
+App::$strings["Flag as adult in album view"] = "";
+App::$strings["I like this (toggle)"] = "אהבתי את זה (החלף)";
+App::$strings["I don't like this (toggle)"] = "לא אהבתי את זה (החלף)";
+App::$strings["Please wait"] = "אנא המתן";
+App::$strings["This is you"] = "זה את/ה";
+App::$strings["Comment"] = "תגובה";
+App::$strings["__ctx:title__ Likes"] = "אוהב";
+App::$strings["__ctx:title__ Dislikes"] = "לא אוהב";
+App::$strings["__ctx:title__ Agree"] = "מסכים";
+App::$strings["__ctx:title__ Disagree"] = "לא מסכים";
+App::$strings["__ctx:title__ Abstain"] = "נמנע";
+App::$strings["__ctx:title__ Attending"] = "נוכח";
+App::$strings["__ctx:title__ Not attending"] = "לא נוכח";
+App::$strings["__ctx:title__ Might attend"] = "עשוי להיווכח";
+App::$strings["View all"] = "צפה בכולם";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "אוהב",
+ 1 => "אוהבים",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "לא אוהב",
+ 1 => "לא אוהבים",
+);
+App::$strings["Photo Tools"] = "כלי תצלום";
+App::$strings["In This Photo:"] = "בתצלום זה:";
+App::$strings["Map"] = "מפה";
+App::$strings["__ctx:noun__ Likes"] = "אוהב";
+App::$strings["__ctx:noun__ Dislikes"] = "לא אוהב";
+App::$strings["Close"] = "סגור";
+App::$strings["View Album"] = "צפה באלבום";
+App::$strings["Recent Photos"] = "תצלומים אחרונים";
+App::$strings["sent you a private message"] = "שלח לך הודעה פרטית";
+App::$strings["added your channel"] = "הוסיף את הערוץ שלך";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[היום]";
+App::$strings["posted an event"] = "פרסם אירוע";
+App::$strings["Unable to find your hub."] = "לא מסוגל למצוא את המוקד שלך.";
+App::$strings["Post successful."] = "פרסום הצליח.";
+App::$strings["OpenID protocol error. No ID returned."] = "שגיאת פרוטוקול OpenID. לא הוחזר ID.";
+App::$strings["Login failed."] = "התחברות נכשלה.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "";
+App::$strings["This setting requires special processing and editing has been blocked."] = "";
+App::$strings["Configuration Editor"] = "עורך תצורה";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "";
+App::$strings["Layout updated."] = "";
+App::$strings["Edit System Page Description"] = "";
+App::$strings["Layout not found."] = "";
+App::$strings["Module Name:"] = "שם מודול:";
+App::$strings["Layout Help"] = "";
+App::$strings["Poke"] = "";
+App::$strings["Poke somebody"] = "";
+App::$strings["Poke/Prod"] = "דחוף/עורר";
+App::$strings["Poke, prod or do other things to somebody"] = "";
+App::$strings["Recipient"] = "נמען";
+App::$strings["Choose what you wish to do to recipient"] = "בחר מה ברצונך לעשות לנמען";
+App::$strings["Make this post private"] = "הפוך את פוסט זה לפרטי";
+App::$strings["Fetching URL returns error: %1\$s"] = "";
+App::$strings["Profile not found."] = "פרופיל לא נמצא.";
+App::$strings["Profile deleted."] = "פרופיל נמחק.";
+App::$strings["Profile-"] = "פרופיל-";
+App::$strings["New profile created."] = "פרופיל חדש נוצר.";
+App::$strings["Profile unavailable to clone."] = "";
+App::$strings["Profile unavailable to export."] = "";
+App::$strings["Profile Name is required."] = "נדרש שם פרופיל.";
+App::$strings["Marital Status"] = "מצב משפחתי";
+App::$strings["Romantic Partner"] = "שותף רומנטי";
+App::$strings["Likes"] = "אוהב";
+App::$strings["Dislikes"] = "לא אוהב";
+App::$strings["Work/Employment"] = "";
+App::$strings["Religion"] = "דת";
+App::$strings["Political Views"] = "השקפות פוליטיות";
+App::$strings["Sexual Preference"] = "העדפה מינית";
+App::$strings["Homepage"] = "עמוד בית";
+App::$strings["Interests"] = "";
+App::$strings["Profile updated."] = "";
+App::$strings["Hide your connections list from viewers of this profile"] = "";
+App::$strings["Edit Profile Details"] = "";
+App::$strings["View this profile"] = "צפה בפרופיל זה";
+App::$strings["Edit visibility"] = "ערוך נראות";
+App::$strings["Profile Tools"] = "כלי פרופיל";
+App::$strings["Change cover photo"] = "שנה תצלום שער";
+App::$strings["Change profile photo"] = "שנה תצלום פרופיל";
+App::$strings["Create a new profile using these settings"] = "צור פרופיל חדש באמצעות הגדרות אלו";
+App::$strings["Clone this profile"] = "שבט את פרופיל זה";
+App::$strings["Delete this profile"] = "מחק את פרופיל זה";
+App::$strings["Add profile things"] = "הוסף דברי פרופיל";
+App::$strings["Personal"] = "אישי";
+App::$strings["Relation"] = "יחס";
+App::$strings["Miscellaneous"] = "שונות";
+App::$strings["Import profile from file"] = "יבא פרופיל מתוך קובץ";
+App::$strings["Export profile to file"] = "יצא פרופיל לתוך קובץ";
+App::$strings["Your gender"] = "המין שלך";
+App::$strings["Marital status"] = "מצב משפחתי";
+App::$strings["Sexual preference"] = "העדפה מינית";
+App::$strings["Profile name"] = "שם פרופיל";
+App::$strings["This is your default profile."] = "זהו הפרופיל השגרתי שלך.";
+App::$strings["Your full name"] = "שמך המלא";
+App::$strings["Title/Description"] = "כותרת/תיאור";
+App::$strings["Street address"] = "כתובת רחוב";
+App::$strings["Locality/City"] = "מקומיות/עיר";
+App::$strings["Region/State"] = "אזור/מחוז";
+App::$strings["Postal/Zip code"] = "דואר/מיקוד";
+App::$strings["Country"] = "ארץ";
+App::$strings["Who (if applicable)"] = "";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
+App::$strings["Since (date)"] = "מאז (תאריך)";
+App::$strings["Tell us about yourself"] = "ספר לנו אודותיך";
+App::$strings["Hometown"] = "עיר מגורים";
+App::$strings["Political views"] = "השקפות פוליטיות";
+App::$strings["Religious views"] = "השקפות דתיות";
+App::$strings["Keywords used in directory listings"] = "";
+App::$strings["Example: fishing photography software"] = "";
+App::$strings["Musical interests"] = "";
+App::$strings["Books, literature"] = "ספרים, ספרות";
+App::$strings["Television"] = "טלוויזיה";
+App::$strings["Film/Dance/Culture/Entertainment"] = "";
+App::$strings["Hobbies/Interests"] = "";
+App::$strings["Love/Romance"] = "אהבה/רומנטיקה";
+App::$strings["School/Education"] = "בית ספר/חינוך";
+App::$strings["Contact information and social networks"] = "";
+App::$strings["My other channels"] = "הערוצים האחרים שלי";
+App::$strings["Profile Image"] = "תמונת פרופיל";
+App::$strings["Edit Profiles"] = "ערוך פרופילים";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "";
+App::$strings["Upload Profile Photo"] = "העלה תצלום פרופיל";
+App::$strings["Invalid profile identifier."] = "מזהה פרופיל לא תקין.";
+App::$strings["Profile Visibility Editor"] = "";
+App::$strings["Profile"] = "פרופיל";
+App::$strings["Click on a contact to add or remove."] = "";
+App::$strings["Visible To"] = "";
+App::$strings["Public Hubs"] = "מוקדים ציבוריים";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "";
+App::$strings["Hub URL"] = "";
+App::$strings["Access Type"] = "טיפוס גישה";
+App::$strings["Registration Policy"] = "מדיניות רישום";
+App::$strings["Stats"] = "";
+App::$strings["Software"] = "תוכנה";
+App::$strings["Ratings"] = "דירוג";
+App::$strings["Rate"] = "דרג";
+App::$strings["Website:"] = "אתר רשת:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "ערוץ מרוחק [%s] (לא מוכר עדיין באתר זה)";
+App::$strings["Rating (this information is public)"] = "דירוג (מידע זה הינו ציבורי)";
+App::$strings["Optionally explain your rating (this information is public)"] = "הסבר לפי הצורך את הדירוג שלך (מידע זה הינו ציבורי)";
+App::$strings["No ratings"] = "אין דירוג";
+App::$strings["Rating: "] = "דירוג: ";
+App::$strings["Website: "] = "אתר רשת:";
+App::$strings["Description: "] = "תיאור: ";
+App::$strings["Theme settings updated."] = "הגדרות ערכת נושא עודכנו.";
+App::$strings["# Accounts"] = "# חשבונות";
+App::$strings["# blocked accounts"] = "# חשבונות חסומים";
+App::$strings["# expired accounts"] = "";
+App::$strings["# expiring accounts"] = "";
+App::$strings["# Channels"] = "# ערוצים";
+App::$strings["# primary"] = "# עיקרי";
+App::$strings["# clones"] = "# שיבוטים";
+App::$strings["Message queues"] = "תור הודעות";
+App::$strings["Your software should be updated"] = "התוכנה שלך אמורה להיות מעודכנת";
+App::$strings["Administration"] = "הנהלה";
+App::$strings["Summary"] = "סיכום";
+App::$strings["Registered accounts"] = "חשבונות רשומים";
+App::$strings["Pending registrations"] = "הרשמות תלויות ועומדות";
+App::$strings["Registered channels"] = "ערוצים רשומים";
+App::$strings["Active plugins"] = "תוספים פעילים";
+App::$strings["Version"] = "גרסא";
+App::$strings["Repository version (master)"] = "";
+App::$strings["Repository version (dev)"] = "";
+App::$strings["Site settings updated."] = "הגדרות אתר עודכנו.";
+App::$strings["Default"] = "ברירת מחדל";
+App::$strings["mobile"] = "נייד";
+App::$strings["experimental"] = "ניסיוני";
+App::$strings["unsupported"] = "לא נתמך";
+App::$strings["Yes - with approval"] = "כן - עם אימות";
+App::$strings["My site is not a public server"] = "האתר שלי אינו שרת פומבי";
+App::$strings["My site has paid access only"] = "לאתר שלי ישנה גישה בתשלום בלבד";
+App::$strings["My site has free access only"] = "לאתר שלי ישנה גישה חופשית בלבד";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "האתר שלי מציע חשבונות בחינם לצד אפשרות לשדרוגים בתשלום";
+App::$strings["Site"] = "אתר";
+App::$strings["Registration"] = "רישום";
+App::$strings["File upload"] = "העלאת קובץ";
+App::$strings["Policies"] = "מדינויות";
+App::$strings["Advanced"] = "מתקדם";
+App::$strings["Site name"] = "שם אתר";
+App::$strings["Banner/Logo"] = "באנר/לוגו";
+App::$strings["Administrator Information"] = "מידע מנהל";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "";
+App::$strings["System language"] = "שפת מערכת";
+App::$strings["System theme"] = "מוטיב מערכת";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "";
+App::$strings["Mobile system theme"] = "";
+App::$strings["Theme for mobile devices"] = "";
+App::$strings["Allow Feeds as Connections"] = "";
+App::$strings["(Heavy system resource usage)"] = "";
+App::$strings["Maximum image size"] = "גודל תמונה מרבי";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
+App::$strings["Does this site allow new member registration?"] = "";
+App::$strings["Invitation only"] = "הזמנה בלבד";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "";
+App::$strings["Which best describes the types of account offered by this hub?"] = "";
+App::$strings["Register text"] = "";
+App::$strings["Will be displayed prominently on the registration page."] = "";
+App::$strings["Site homepage to show visitors (default: login box)"] = "";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "";
+App::$strings["Preserve site homepage URL"] = "";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "";
+App::$strings["Accounts abandoned after x days"] = "";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "";
+App::$strings["Allowed friend domains"] = "";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "";
+App::$strings["Allowed email domains"] = "מתחמי דוא״ל מורשים";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "";
+App::$strings["Not allowed email domains"] = "מתחמי דוא״ל לא מורשים";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "";
+App::$strings["Verify Email Addresses"] = "";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "";
+App::$strings["Force publish"] = "";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "";
+App::$strings["Import Public Streams"] = "";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "";
+App::$strings["Login on Homepage"] = "התחבר בעמוד בית";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "";
+App::$strings["Enable context help"] = "";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "";
+App::$strings["Directory Server URL"] = "";
+App::$strings["Default directory server"] = "שרת ספרייה שגרתי";
+App::$strings["Proxy user"] = "משתמש פרוקסי";
+App::$strings["Proxy URL"] = "URL פרוקסי";
+App::$strings["Network timeout"] = "פקיעת זמן רשת";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "";
+App::$strings["Delivery interval"] = "תדירות שגרתית";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "";
+App::$strings["Deliveries per process"] = "";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "";
+App::$strings["Poll interval"] = "";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "";
+App::$strings["Maximum Load Average"] = "עומס ממוצע מרבי";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "";
+App::$strings["0 for no expiration of imported content"] = "";
+App::$strings["Off"] = "";
+App::$strings["On"] = "";
+App::$strings["Lock feature %s"] = "נעל תכונת %s";
+App::$strings["Manage Additional Features"] = "נהל תכונות נוספות";
+App::$strings["No server found"] = "לא נמצא שרת";
+App::$strings["ID"] = "מזהה";
+App::$strings["for channel"] = "לערוץ";
+App::$strings["on server"] = "בשרת";
+App::$strings["Server"] = "שרת";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "";
+App::$strings["Security"] = "אבטחה";
+App::$strings["Block public"] = "";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "";
+App::$strings["Set \"Transport Security\" HTTP header"] = "";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "";
+App::$strings["Allow communications only from these sites"] = "";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "";
+App::$strings["Block communications from these sites"] = "";
+App::$strings["Allow communications only from these channels"] = "התר התקשרויות רק מתוך ערוצים אלה";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "";
+App::$strings["Block communications from these channels"] = "חסום התקשרויות מתוך ערוצים אלה";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "התר שיבוצים מתוך אתרים וקישורים נאובטחים (SSL) בלבד.";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "";
+App::$strings["One site per line. By default embedded content is filtered."] = "";
+App::$strings["Block embedded HTML from these domains"] = "";
+App::$strings["Update has been marked successful"] = "";
+App::$strings["Executing %s failed. Check system logs."] = "";
+App::$strings["Update %s was successfully applied."] = "";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "";
+App::$strings["Update function %s could not be found."] = "";
+App::$strings["No failed updates."] = "אין עדכונים כושלים.";
+App::$strings["Failed Updates"] = "עדכונים כושלים";
+App::$strings["Mark success (if update was manually applied)"] = "";
+App::$strings["Attempt to execute this update step automatically"] = "";
+App::$strings["Queue Statistics"] = "";
+App::$strings["Total Entries"] = "";
+App::$strings["Priority"] = "עדיפות";
+App::$strings["Destination URL"] = "";
+App::$strings["Mark hub permanently offline"] = "סמן מוקד בלתי מקוון לצמיתות";
+App::$strings["Empty queue for this hub"] = "רוקן תור עבור מוקד זה";
+App::$strings["Last known contact"] = "איש קשר מוכר אחרון";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "חשבון %s נמחק",
+ 1 => "%s חשבונות נמחקו",
+);
+App::$strings["Account not found"] = "חשבון לא נמצא";
+App::$strings["Account '%s' deleted"] = "חשבון '%s' נמחק";
+App::$strings["Account '%s' blocked"] = "חשבון '%s' נחסם";
+App::$strings["Account '%s' unblocked"] = "חשבון '%s' נפתח";
+App::$strings["Accounts"] = "חשבונות";
+App::$strings["select all"] = "בחר הכל";
+App::$strings["Registrations waiting for confirm"] = "הרשמות ממתינות לצורך אישור";
+App::$strings["Request date"] = "תאריך בקשה";
+App::$strings["No registrations."] = "אין הרשמות.";
+App::$strings["Deny"] = "אסור";
+App::$strings["All Channels"] = "כל הערוצים";
+App::$strings["Register date"] = "תאריך רישום";
+App::$strings["Last login"] = "כניסה אחרונה";
+App::$strings["Expires"] = "פג";
+App::$strings["Service Class"] = "מחלקת שירות";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "ערוץ %s נמחק",
+ 1 => "%s ערוצים נמחקו",
+);
+App::$strings["Channel not found"] = "ערוץ לא נמצא";
+App::$strings["Channel '%s' deleted"] = "ערוץ '%s' נמחק";
+App::$strings["Channel '%s' censored"] = "ערוץ '%s' צונזר";
+App::$strings["Channel '%s' uncensored"] = "ערוץ '%s' יצא מכלל צנזורה";
+App::$strings["Channel '%s' code allowed"] = "";
+App::$strings["Channel '%s' code disallowed"] = "";
+App::$strings["Channels"] = "ערוצים";
+App::$strings["Censor"] = "צנזר";
+App::$strings["Uncensor"] = "";
+App::$strings["Allow Code"] = "התר קוד";
+App::$strings["Disallow Code"] = "אסור קוד";
+App::$strings["Channel"] = "ערוץ";
+App::$strings["UID"] = "";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["Plugin %s disabled."] = "תוסף %s מנוטרל.";
+App::$strings["Plugin %s enabled."] = "תוסף %s מאופשר.";
+App::$strings["Disable"] = "נטרל";
+App::$strings["Enable"] = "אפשר";
+App::$strings["Plugins"] = "תוספות";
+App::$strings["Toggle"] = "החלף";
+App::$strings["Settings"] = "הגדרות";
+App::$strings["Author: "] = "מחבר: ";
+App::$strings["Maintainer: "] = "מתחזק: ";
+App::$strings["Minimum project version: "] = "גרסת פרויקט נומינלית: ";
+App::$strings["Maximum project version: "] = "גרסת פרויקט מרבית: ";
+App::$strings["Minimum PHP version: "] = "גרסת PHP נומינלית: ";
+App::$strings["Requires: "] = "מצריך: ";
+App::$strings["Disabled - version incompatibility"] = "";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "";
+App::$strings["Plugin repo git URL"] = "";
+App::$strings["Custom repo name"] = "";
+App::$strings["(optional)"] = "(רשות)";
+App::$strings["Download Plugin Repo"] = "הורד מאגר תוספים";
+App::$strings["Install new repo"] = "התקן מאגר חדש";
+App::$strings["Install"] = "התקן";
+App::$strings["Manage Repos"] = "נהל מאגרים";
+App::$strings["Installed Plugin Repositories"] = "מאגרי תוסף מותקנים";
+App::$strings["Install a New Plugin Repository"] = "התקן מאגר תוסף חדש";
+App::$strings["Update"] = "עדכן";
+App::$strings["Switch branch"] = "החלף ענף";
+App::$strings["No themes found."] = "לא נמצאו מוטיבים.";
+App::$strings["Screenshot"] = "צילום מסך";
+App::$strings["Themes"] = "ערכות נושא";
+App::$strings["[Experimental]"] = "[ניסיוני]";
+App::$strings["[Unsupported]"] = "[לא נתמך]";
+App::$strings["Log settings updated."] = "הגדרות יומן עדכנו.";
+App::$strings["Logs"] = "יומנים";
+App::$strings["Clear"] = "טהר";
+App::$strings["Debugging"] = "דיבאג";
+App::$strings["Log file"] = "קובץ יומן";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "";
+App::$strings["Log level"] = "";
+App::$strings["New Profile Field"] = "שדה פרופיל חדש";
+App::$strings["Field nickname"] = "שם כינוי שדה";
+App::$strings["System name of field"] = "שם מערכת של שדה";
+App::$strings["Input type"] = "טיפוס קלט";
+App::$strings["Field Name"] = "שם שדה";
+App::$strings["Label on profile pages"] = "";
+App::$strings["Help text"] = "טקסט עזרה";
+App::$strings["Additional info (optional)"] = "מידע נוסף (רשות)";
+App::$strings["Field definition not found"] = "הגדרת שדה לא נמצאה";
+App::$strings["Edit Profile Field"] = "ערוך שדה פרופיל";
+App::$strings["Profile Fields"] = "שדות פרופיל";
+App::$strings["Basic Profile Fields"] = "שדות פרופיל בסיסיים";
+App::$strings["Advanced Profile Fields"] = "שדות פרופיל מתקדמים";
+App::$strings["(In addition to basic fields)"] = "(בנוסף על שדות בסיסיים)";
+App::$strings["All available fields"] = "כל השדות הזמינים";
+App::$strings["Custom Fields"] = "שדות מותאמים";
+App::$strings["Create Custom Field"] = "צור שדה מותאם";
+App::$strings["App installed."] = "אפליקציה מותקנת.";
+App::$strings["Malformed app."] = "אפליקציה פגומה.";
+App::$strings["Embed code"] = "הטמע קוד";
+App::$strings["Edit App"] = "ערוך אפליקציה";
+App::$strings["Create App"] = "צור אפליקציה";
+App::$strings["Name of app"] = "שם של אפליקציה";
+App::$strings["Location (URL) of app"] = "מיקום (URL) של אפליקציה";
+App::$strings["Photo icon URL"] = "";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 פיקסלים - רשות";
+App::$strings["Categories (optional, comma separated list)"] = "קטגוריות (רשות, רשימה מופרדת פסיקים)";
+App::$strings["Version ID"] = "מזהה גרסא";
+App::$strings["Price of app"] = "מחיר אפליקציה";
+App::$strings["Location (URL) to purchase app"] = "מיקום (URL) כדי לרכוש אפליקציה";
+App::$strings["Select a bookmark folder"] = "בחר תיקיית סימניות";
+App::$strings["Save Bookmark"] = "שמור סימנייה";
+App::$strings["URL of bookmark"] = "URL של סימנייה";
+App::$strings["Or enter new bookmark folder name"] = "או הזן שם תיקיית סימניות חדש";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "";
+App::$strings["Passwords do not match."] = "סיסמאות לא תואמות.";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "";
+App::$strings["Your registration is pending approval by the site owner."] = "";
+App::$strings["Your registration can not be processed."] = "הרשמתך לא ניתנת לעיבוד";
+App::$strings["Registration on this hub is disabled."] = "רישום על מוקד זה הינו מנוטרל.";
+App::$strings["Registration on this hub is by approval only."] = "רישום על מוקד זה הינו מותנה באישור.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">הירשם במוקד מקושר אחר.</a>";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
+App::$strings["Terms of Service"] = "תנאי שימוש";
+App::$strings["I accept the %s for this website"] = "אני מקבל את ה%s לאתר רשת זה";
+App::$strings["I am over 13 years of age and accept the %s for this website"] = "גילי מעל 13 שנה ואני מקבל את ה%s לאתר רשת זה";
+App::$strings["Your email address"] = "כתובת דוא״ל שלך";
+App::$strings["Choose a password"] = "בחר סיסמה";
+App::$strings["Please re-enter your password"] = "בבקשה הזן שוב את סיסמתך";
+App::$strings["Please enter your invitation code"] = "";
+App::$strings["no"] = "לא";
+App::$strings["yes"] = "כן";
+App::$strings["Membership on this site is by invitation only."] = "חברות באתר זה היא באמצעות הזמנה בלבד.";
+App::$strings["Register"] = "הרשמה";
+App::$strings["Proceed to create your first channel"] = "המשך כדי ליצור את הערוץ הראשון שלך";
+App::$strings["Please login."] = "אנא התחבר.";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "";
+App::$strings["Remove This Account"] = "הסר את חשבון זה";
+App::$strings["WARNING: "] = "אזהרה: ";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "";
+App::$strings["This action is permanent and can not be undone!"] = "";
+App::$strings["Please enter your password for verification:"] = "אנא הזן את הסיסמה שלך לצורך אימות:";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "";
+App::$strings["Remove Account"] = "הסר חשבון";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "";
+App::$strings["Remove This Channel"] = "הסר את ערוץ זה";
+App::$strings["This channel will be completely removed from the network. "] = "";
+App::$strings["Remove this channel and all its clones from the network"] = "";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "";
+App::$strings["Remove Channel"] = "הסר ערוץ";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
+App::$strings["The error message was:"] = "";
+App::$strings["Authentication failed."] = "אימות נכשל.";
+App::$strings["Remote Authentication"] = "אימות מרוחק";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "";
+App::$strings["Authenticate"] = "";
+App::$strings["Items tagged with: %s"] = "פריטים מתוייגים עם: %s";
+App::$strings["Search results for: %s"] = "תוצאות חיפוש עבור: %s";
+App::$strings["No service class restrictions found."] = "לא נמצאו הגבלות מחלקת ערוץ.";
+App::$strings["Name is required"] = "נדרש שם";
+App::$strings["Key and Secret are required"] = "מפתח וגם סוד הינם בגדר חובה.";
+App::$strings["Not valid email."] = "לא דוא״ל תקף.";
+App::$strings["Protected email address. Cannot change to that email."] = "כתובת דוא״ל מוגנת. לא מסוגל לשנות לדוא״ל זה.";
+App::$strings["System failure storing new email. Please try again."] = "";
+App::$strings["Password verification failed."] = "אימות סיסמה נכשל.";
+App::$strings["Passwords do not match. Password unchanged."] = "סיסמאות לא תואמות. סיסמה לא שונתה.";
+App::$strings["Empty passwords are not allowed. Password unchanged."] = "סיסמאות ריקות לא מותרות. סיסמה לא שונתה.";
+App::$strings["Password changed."] = "סיסמה שונתה.";
+App::$strings["Password update failed. Please try again."] = "עדכון סיסמה נכשל. אנא נסה שוב.";
+App::$strings["Settings updated."] = "הגדרות עודכנו.";
+App::$strings["Add application"] = "הוסף אפליקציה";
+App::$strings["Name of application"] = "שם של אפליקציה";
+App::$strings["Consumer Key"] = "מפתח צרכן";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "";
+App::$strings["Consumer Secret"] = "סוד צרכן";
+App::$strings["Redirect"] = "";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "";
+App::$strings["Icon url"] = "";
+App::$strings["Optional"] = "רשות";
+App::$strings["Application not found."] = "יישום לא נמצא.";
+App::$strings["Connected Apps"] = "אפליקציות מחוברות";
+App::$strings["Client key starts with"] = "";
+App::$strings["No name"] = "אין שם";
+App::$strings["Remove authorization"] = "הסר אישור";
+App::$strings["No feature settings configured"] = "";
+App::$strings["Feature/Addon Settings"] = "";
+App::$strings["Account Settings"] = "הגדרות חשבון";
+App::$strings["Current Password"] = "סיסמה נוכחית";
+App::$strings["Enter New Password"] = "הזן סיסמה חדשה";
+App::$strings["Confirm New Password"] = "אמת סיסמה חדשה";
+App::$strings["Leave password fields blank unless changing"] = "השאר דשות סיסמה ריקים אלא אם כן ברצונך לשנות";
+App::$strings["Email Address:"] = "כתובת דוא״ל:";
+App::$strings["Remove this account including all its channels"] = "הסר את חשבון זה לרבות כל הערוצים שלו";
+App::$strings["Additional Features"] = "תכונות נוספות";
+App::$strings["Connector Settings"] = "הגדרות מקשר";
+App::$strings["No special theme for mobile devices"] = "אין ערכת נושא מיוחדת להתקנים ניידים";
+App::$strings["%s - (Experimental)"] = "%s - (ניסיוני)";
+App::$strings["Display Settings"] = "הגדרות תצוגה";
+App::$strings["Theme Settings"] = "הגדרות ערכת נושא";
+App::$strings["Custom Theme Settings"] = "הגדרות ערכת נושא מותאמת";
+App::$strings["Content Settings"] = "הגדרות תוכן";
+App::$strings["Display Theme:"] = "";
+App::$strings["Mobile Theme:"] = "";
+App::$strings["Preload images before rendering the page"] = "";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "";
+App::$strings["Enable user zoom on mobile devices"] = "";
+App::$strings["Update browser every xx seconds"] = "עדכן דפדפן כל xx שניות";
+App::$strings["Minimum of 10 seconds, no maximum"] = "מינימום של 10 שניות, אין מקסימום";
+App::$strings["Maximum number of conversations to load at any time:"] = "";
+App::$strings["Maximum of 100 items"] = "מקסימום של 100 פריטים";
+App::$strings["Show emoticons (smilies) as images"] = "";
+App::$strings["Link post titles to source"] = "";
+App::$strings["System Page Layout Editor - (advanced)"] = "";
+App::$strings["Use blog/list mode on channel page"] = "";
+App::$strings["(comments displayed separately)"] = "(תגובות מוצגות בנפרד)";
+App::$strings["Use blog/list mode on grid page"] = "";
+App::$strings["Channel page max height of content (in pixels)"] = "";
+App::$strings["click to expand content exceeding this height"] = "";
+App::$strings["Grid page max height of content (in pixels)"] = "";
+App::$strings["Nobody except yourself"] = "אף אחד חוץ ממך";
+App::$strings["Only those you specifically allow"] = "רק אלו שהתרת להם במפורש";
+App::$strings["Approved connections"] = "חיבורים מאושרים";
+App::$strings["Any connections"] = "כל חיבור";
+App::$strings["Anybody on this website"] = "כל אחד באתר רשת זה";
+App::$strings["Anybody in this network"] = "כל אחד ברשת זו";
+App::$strings["Anybody authenticated"] = "כל אחד שאושר";
+App::$strings["Anybody on the internet"] = "כל אחד באינטרנט";
+App::$strings["Publish your default profile in the network directory"] = "";
+App::$strings["Allow us to suggest you as a potential friend to new members?"] = "";
+App::$strings["Your channel address is"] = "כתובת הערוץ שלך היא";
+App::$strings["Channel Settings"] = "הגדרות ערוץ";
+App::$strings["Basic Settings"] = "הגדרות בסיסיות";
+App::$strings["Full Name:"] = "שם מלא:";
+App::$strings["Your Timezone:"] = "אזור זמן שלך:";
+App::$strings["Default Post Location:"] = "מיקום פוסט שגרתי:";
+App::$strings["Geographical location to display on your posts"] = "מיקום גיאוגרפי להצגה בפוסטים שלך";
+App::$strings["Use Browser Location:"] = "השתמש במיקום דפדפן:";
+App::$strings["Adult Content"] = "תוכן מבוגרים";
+App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "ערוץ זה מפרסם תוכן למבוגרים באופן תדיר או שגרתי. (אנא תייג כל חומר למבוגרים ו/או עירום עם NSFW#)";
+App::$strings["Security and Privacy Settings"] = "הגדרות אבטחה ופרטיות";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "";
+App::$strings["Hide my online presence"] = "הסתר את הנוכחות המקוונת שלי";
+App::$strings["Prevents displaying in your profile that you are online"] = "";
+App::$strings["Simple Privacy Settings:"] = "הגדרות פרטיות פשוטות:";
+App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "ציבורי מאוד - <em>מתירני ביותר (יש להשתמש בזהירות)</em>";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "טיפוסי - <em>ציבורי שגרתי, פרטיות לפי דרישה (דומה להרשאות רשת חברתית אולם לצד פרטיות משופרת)</em>";
+App::$strings["Private - <em>default private, never open or public</em>"] = "פרטי - <em>פרטי שגרתי, אף פעם לא פתוח או ציבורי</em>";
+App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "חסום - <em>חסום שגרתי אל/מן כל אחד</em>";
+App::$strings["Allow others to tag your posts"] = "התר לאחרים לתייג את הפוסטים שלך";
+App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "";
+App::$strings["Advanced Privacy Settings"] = "הגדרות פרטיות מתקדמות";
+App::$strings["Expire other channel content after this many days"] = "";
+App::$strings["0 or blank to use the website limit."] = "";
+App::$strings["This website expires after %d days."] = "";
+App::$strings["This website does not expire imported content."] = "";
+App::$strings["The website limit takes precedence if lower than your limit."] = "";
+App::$strings["Maximum Friend Requests/Day:"] = "";
+App::$strings["May reduce spam activity"] = "";
+App::$strings["Default Post and Publish Permissions"] = "";
+App::$strings["Use my default audience setting for the type of object published"] = "";
+App::$strings["Channel permissions category:"] = "";
+App::$strings["Maximum private messages per day from unknown people:"] = "";
+App::$strings["Useful to reduce spamming"] = "";
+App::$strings["Notification Settings"] = "הגדרות התראה";
+App::$strings["By default post a status message when:"] = "";
+App::$strings["accepting a friend request"] = "";
+App::$strings["joining a forum/community"] = "";
+App::$strings["making an <em>interesting</em> profile change"] = "";
+App::$strings["Send a notification email when:"] = "שלח דוא״ל התראה כאשר:";
+App::$strings["You receive a connection request"] = "קיבלת בקשת חיבור";
+App::$strings["Your connections are confirmed"] = "החיבורים שלך הינם מאומתים";
+App::$strings["Someone writes on your profile wall"] = "מישהו כותב על קיר הפרופיל שלך";
+App::$strings["Someone writes a followup comment"] = "מישהו רושם תגובת המשך";
+App::$strings["You receive a private message"] = "קיבלת הודעה פרטית";
+App::$strings["You receive a friend suggestion"] = "קיבלת הצעת ידידים";
+App::$strings["You are tagged in a post"] = "";
+App::$strings["You are poked/prodded/etc. in a post"] = "";
+App::$strings["Show visual notifications including:"] = "";
+App::$strings["Unseen grid activity"] = "";
+App::$strings["Unseen channel activity"] = "פעילות ערוץ לא נראית";
+App::$strings["Unseen private messages"] = "הודעות ערוץ לא נראות";
+App::$strings["Recommended"] = "";
+App::$strings["Upcoming events"] = "אירועים קרובים";
+App::$strings["Events today"] = "אירועים היום";
+App::$strings["Upcoming birthdays"] = "ימי הולדת קרובים";
+App::$strings["Not available in all themes"] = "";
+App::$strings["System (personal) notifications"] = "";
+App::$strings["System info messages"] = "הודעות מידע מערכת";
+App::$strings["System critical alerts"] = "";
+App::$strings["New connections"] = "חיבורים חדשים";
+App::$strings["System Registrations"] = "הרשמות מערכת";
+App::$strings["Also show new wall posts, private messages and connections under Notices"] = "";
+App::$strings["Notify me of events this many days in advance"] = "";
+App::$strings["Must be greater than 0"] = "";
+App::$strings["Advanced Account/Page Type Settings"] = "";
+App::$strings["Change the behaviour of this account for special situations"] = "";
+App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "";
+App::$strings["Miscellaneous Settings"] = "הגדרות שונות";
+App::$strings["Default photo upload folder"] = "תיקיית העלאת תצלום שגרתית";
+App::$strings["%Y - current year, %m - current month"] = "%Y - שנה נוכחית, %m - חודש נוכחי";
+App::$strings["Default file upload folder"] = "תיקיית העלאת קובץ שגרתית";
+App::$strings["Personal menu to display in your channel pages"] = "";
+App::$strings["Remove this channel."] = "הסר את ערוץ זה.";
+App::$strings["Firefox Share \$Projectname provider"] = "";
+App::$strings["Start calendar week on monday"] = "";
+App::$strings["\$Projectname Server - Setup"] = "שרת \$Projectname - הבנייה";
+App::$strings["Could not connect to database."] = "לא היתה אפשרות להתחבר למסד נתונים.";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
+App::$strings["Could not create table."] = "";
+App::$strings["Your site database has been installed."] = "";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "";
+App::$strings["System check"] = "בדיקת מערכת";
+App::$strings["Check again"] = "בדוק שוב";
+App::$strings["Database connection"] = "חיבור מסד נתונים";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
+App::$strings["Database Server Name"] = "שם שרת מסד נתונים";
+App::$strings["Default is 127.0.0.1"] = "ברירת מחדל 127.0.0.1";
+App::$strings["Database Port"] = "פורט מסד נתונים";
+App::$strings["Communication port number - use 0 for default"] = "";
+App::$strings["Database Login Name"] = "שם כניסה מסד נתונים";
+App::$strings["Database Login Password"] = "סיסמה מסד נתונים";
+App::$strings["Database Name"] = "שם מסד נתונים";
+App::$strings["Database Type"] = "טיפוס מסד נתונים";
+App::$strings["Site administrator email address"] = "כתובת דוא״ל מנהל אתר";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "";
+App::$strings["Website URL"] = "כתובת אתר אינטרנט";
+App::$strings["Please use SSL (https) URL if available."] = "אנא השתמש בכתובת SSL (כלומר, https) אם זמינה.";
+App::$strings["Please select a default timezone for your website"] = "";
+App::$strings["Site settings"] = "הגדרות אתר";
+App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "אפשר תכונות <strong>מתקדמות</strong> בפרויקט \$Projectname?";
+App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "";
+App::$strings["PHP version 5.5 or greater is required."] = "";
+App::$strings["PHP version"] = "";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "";
+App::$strings["PHP executable path"] = "נתיב PHP נתון ליישום";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "";
+App::$strings["Command line PHP"] = "שורת פקודה PHP";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "";
+App::$strings["This is required for message delivery to work."] = "";
+App::$strings["PHP register_argc_argv"] = "";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "";
+App::$strings["You can adjust these settings in the servers php.ini."] = "";
+App::$strings["PHP upload limits"] = "";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "";
+App::$strings["Generate encryption keys"] = "הפק מפתחות הצפנה";
+App::$strings["libCurl PHP module"] = "מודול libCurl PHP";
+App::$strings["GD graphics PHP module"] = "";
+App::$strings["OpenSSL PHP module"] = "מודול OpenSSL PHP";
+App::$strings["mysqli or postgres PHP module"] = "מודול mysqli PHP או postgres";
+App::$strings["mb_string PHP module"] = "מודול mb_string PHP";
+App::$strings["mcrypt PHP module"] = "מודול mcrypt PHP";
+App::$strings["xml PHP module"] = "מודול xml PHP";
+App::$strings["Apache mod_rewrite module"] = "מודול Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "";
+App::$strings["proc_open"] = "proc_open";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "";
+App::$strings["Error: libCURL PHP module required but not installed."] = "";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
+App::$strings["Error: openssl PHP module required but not installed."] = "";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "";
+App::$strings["Error: mb_string PHP module required but not installed."] = "";
+App::$strings["Error: mcrypt PHP module required but not installed."] = "";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php הינו כתיב";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "";
+App::$strings["%s is writable"] = "%s הינו כתיב";
+App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "";
+App::$strings["store is writable"] = "";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "";
+App::$strings["SSL certificate validation"] = "הוכחת תקפות של תעודת SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "";
+App::$strings["Url rewrite is working"] = "";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "";
+App::$strings["Errors encountered creating database tables."] = "";
+App::$strings["<h1>What next</h1>"] = "<h1>מה הלאה</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
+App::$strings["Files: shared with me"] = "";
+App::$strings["NEW"] = "חדש";
+App::$strings["Remove all files"] = "הסר את כל הקבצים";
+App::$strings["Remove this file"] = "הסר את קובץ זה";
+App::$strings["Version %s"] = "גרסא %s";
+App::$strings["Installed plugins/addons/apps:"] = "";
+App::$strings["No installed plugins/addons/apps"] = "";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "זהו מוקד של \$Projectname - רשת קואופרטיבית מבוזרת של אתרי רשת בעלי פרטיות משוכללת.";
+App::$strings["Tag: "] = "תגית: ";
+App::$strings["Last background fetch: "] = "";
+App::$strings["Current load average: "] = "עומס ממוצע נוכחי: ";
+App::$strings["Running at web location"] = "";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "אנא בקר באתר <a href=\"http://hubzilla.org\">hubzilla.org</a> כדי ללמוד עוד אודות \$Projectname.";
+App::$strings["Bug reports and issues: please visit"] = "";
+App::$strings["\$projectname issues"] = "סוגיות \$projectname";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "";
+App::$strings["Site Administrators"] = "מנהלי אתר";
+App::$strings["Failed to create source. No channel selected."] = "";
+App::$strings["Source created."] = "מקור נוצר.";
+App::$strings["Source updated."] = "מקור עודכן.";
+App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "מקורות ערוץ";
+App::$strings["Manage remote sources of content for your channel."] = "";
+App::$strings["New Source"] = "מקור חדש";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "";
+App::$strings["Only import content with these words (one per line)"] = "";
+App::$strings["Leave blank to import all public content"] = "";
+App::$strings["Channel Name"] = "שם ערוץ";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "";
+App::$strings["Source not found."] = "מקור לא נמצא.";
+App::$strings["Edit Source"] = "ערוך מקור";
+App::$strings["Delete Source"] = "מחק מקור";
+App::$strings["Source removed"] = "מקור הוסר";
+App::$strings["Unable to remove source."] = "";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
+App::$strings["Ignore/Hide"] = "התעלם/הסתר";
+App::$strings["post"] = "פוסט";
+App::$strings["comment"] = "תגובה";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
+App::$strings["Tag removed"] = "";
+App::$strings["Remove Item Tag"] = "";
+App::$strings["Select a tag to remove: "] = "";
+App::$strings["Thing updated"] = "";
+App::$strings["Object store: failed"] = "";
+App::$strings["Thing added"] = "";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "";
+App::$strings["Show Thing"] = "הצג דבר";
+App::$strings["item not found."] = "פריט לא נמצא";
+App::$strings["Edit Thing"] = "ערוך דבר";
+App::$strings["Select a profile"] = "בחר פרופיל";
+App::$strings["Post an activity"] = "פרסם פעילות";
+App::$strings["Only sends to viewers of the applicable profile"] = "";
+App::$strings["Name of thing e.g. something"] = "שם של דבר, לדוגמא: משהו";
+App::$strings["URL of thing (optional)"] = "URL של דבר (רשות)";
+App::$strings["URL for photo of thing (optional)"] = "URL עבור תצלום של משהו (רשות)";
+App::$strings["Add Thing to your Profile"] = "הוסף דבר לפרופיל שלך";
+App::$strings["Export Channel"] = "יצא ערוץ";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "";
+App::$strings["Export Content"] = "יצא תוכן";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "";
+App::$strings["Export your posts from a given year."] = "יצא פוסטים מתוך שנה נתונה.";
+App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "";
+App::$strings["No connections."] = "אין חיבורים.";
+App::$strings["Visit %s's profile [%s]"] = "";
+App::$strings["View Connections"] = "צפה בחיבורים";
+App::$strings["Source of Item"] = "מקור פריט";
+App::$strings["Webpages"] = "עמודי רשת";
+App::$strings["Actions"] = "פעולות";
+App::$strings["Page Link"] = "קישור עמוד";
+App::$strings["Page Title"] = "כותרת עמוד";
+App::$strings["Xchan Lookup"] = "חיפוש Xchan";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "";
+App::$strings["Wiki"] = "ויקי";
+App::$strings["Sandbox"] = "ארגז חול";
+App::$strings["Enter the name of your new wiki:"] = "הזן את השם של הויקי החדש שלך:";
+App::$strings["Enter the name of the new page:"] = "הזן את השם של העמוד החדש:";
+App::$strings["Enter the new name:"] = "הזן את השם החדש:";
+App::$strings["Missing room name"] = "";
+App::$strings["Duplicate room name"] = "";
+App::$strings["Invalid room specifier."] = "מציין חדר שגוי";
+App::$strings["Room not found."] = "חדר לא נמצא.";
+App::$strings["Room is full"] = "חדר מלא";
+App::$strings["\$Projectname Notification"] = "התראות \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "תודה,";
+App::$strings["%s Administrator"] = "הנהלת %s";
+App::$strings["%s <!item_type!>"] = "";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:התראה] דואר חדש נתקבל %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s של לך הודעה פרטית חדשה באתר %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s שלח לך %2\$s.";
+App::$strings["a private message"] = "הודעה פרטית";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "אנא בקר בכתובת %s כדי לצפות ו/או להשיב להודעות הפרטיות שלך.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:התראה] תגובה לדיון #%1\$d מאת %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:התראה] %s פרסם לקיר הפרופיל שלך";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:התראה] %s תייג אותך";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:התראה] %s תייג פוסט שלך";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:התראה] היכרות פורמלית נתקבלה";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "";
+App::$strings["You may visit their profile at %s"] = "אתה יכול לבקר את הפרופיל שלהם בקישור %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:התראה] הצעת חבר נתקבלה";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "";
+App::$strings["Name:"] = "שם:";
+App::$strings["Photo:"] = "תצלום:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:התראה]";
+App::$strings["created a new post"] = "צור פוסט חדש";
+App::$strings["commented on %s's post"] = "הגיב/ה על פוסט של %s";
+App::$strings["Private Message"] = "הודעה פרטית";
+App::$strings["Select"] = "בחר";
+App::$strings["Save to Folder"] = "שמור לתיקייה";
+App::$strings["I will attend"] = "אני אופיע";
+App::$strings["I will not attend"] = "אני לא אופיע";
+App::$strings["I might attend"] = "אני עשוי/ה להופיע";
+App::$strings["I agree"] = "אני מסכים/ה";
+App::$strings["I disagree"] = "אני לא מסכים/ה";
+App::$strings["I abstain"] = "אני נמנע/ת";
+App::$strings["Add Star"] = "הוסף כוכב";
+App::$strings["Remove Star"] = "הסר כוכב";
+App::$strings["Toggle Star Status"] = "";
+App::$strings["starred"] = "";
+App::$strings["Message signature validated"] = "";
+App::$strings["Message signature incorrect"] = "";
+App::$strings["Add Tag"] = "הוסף תגית";
+App::$strings["like"] = "";
+App::$strings["dislike"] = "";
+App::$strings["Share This"] = "שתף זאת";
+App::$strings["share"] = "שתף";
+App::$strings["Delivery Report"] = "";
+App::$strings["%d comment"] = array(
+ 0 => "תגובה %d",
+ 1 => "%d תגובות",
+);
+App::$strings["View %s's profile - %s"] = "";
+App::$strings["to"] = "אל";
+App::$strings["via"] = "מתוך";
+App::$strings["Wall-to-Wall"] = "קיר-אל-קיר";
+App::$strings["via Wall-To-Wall:"] = "מתוך קיר-אל-קיר:";
+App::$strings["from %s"] = "מאת %s";
+App::$strings["last edited: %s"] = "נערך לאחרונה: %s";
+App::$strings["Expires: %s"] = "פג: %s";
+App::$strings["Save Bookmarks"] = "שמור סימניות";
+App::$strings["Add to Calendar"] = "הוסף ללוח שנה";
+App::$strings["Mark all seen"] = "סמן את הכל כנקראו";
+App::$strings["[+] show all"] = "[+] הצג הכל";
+App::$strings["Bold"] = "מובלט";
+App::$strings["Italic"] = "נטוי";
+App::$strings["Underline"] = "קו תחתון";
+App::$strings["Quote"] = "ציטוט";
+App::$strings["Code"] = "קוד";
+App::$strings["Image"] = "תמונה";
+App::$strings["Insert Link"] = "הכנס קישור";
+App::$strings["Video"] = "וידאו";
+App::$strings["Site Admin"] = "מנהל אתר";
+App::$strings["Bug Report"] = "דיווח באג";
+App::$strings["View Bookmarks"] = "הצג סימניות";
+App::$strings["My Chatrooms"] = "חדרי השיחה שלי";
+App::$strings["Firefox Share"] = "";
+App::$strings["Remote Diagnostics"] = "";
+App::$strings["Suggest Channels"] = "הצע ערוצים";
+App::$strings["Login"] = "כניסה";
+App::$strings["Grid"] = "";
+App::$strings["Channel Home"] = "ערוץ בית";
+App::$strings["Events"] = "אירועים";
+App::$strings["Directory"] = "ספרייה";
+App::$strings["Mail"] = "דואר";
+App::$strings["Chat"] = "שיחה";
+App::$strings["Probe"] = "";
+App::$strings["Suggest"] = "הצע";
+App::$strings["Random Channel"] = "ערוץ אקראי";
+App::$strings["Invite"] = "הזמן";
+App::$strings["Features"] = "תכונות";
+App::$strings["Post"] = "פוסט";
+App::$strings["Purchase"] = "רכוש";
+App::$strings["No username found in import file."] = "";
+App::$strings["Unable to create a unique channel address. Import failed."] = "";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "";
+App::$strings["Categories"] = "קטגוריות";
+App::$strings["Tags"] = "תגיות";
+App::$strings["Keywords"] = "מילות מפתח";
+App::$strings["have"] = "";
+App::$strings["has"] = "";
+App::$strings["want"] = "רוצים";
+App::$strings["wants"] = "רוצה";
+App::$strings["likes"] = "אוהב";
+App::$strings["dislikes"] = "לא אוהב";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "";
+App::$strings["Image file is empty."] = "קובץ תמונה הינו ריק.";
+App::$strings["Photo storage failed."] = "אחסון תצלום נכשל";
+App::$strings["a new photo"] = "תצלום חדש";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "";
+App::$strings["Photo Albums"] = "אלבומי תמונה";
+App::$strings["Upload New Photos"] = "העלה תצלומים חדשים";
+App::$strings["prev"] = "קודם";
+App::$strings["first"] = "ראשון";
+App::$strings["last"] = "אחרון";
+App::$strings["next"] = "הבא";
+App::$strings["older"] = "ישן יותר";
+App::$strings["newer"] = "חדש יותר";
+App::$strings["No connections"] = "אין חיבורים";
+App::$strings["View all %s connections"] = "";
+App::$strings["poke"] = "";
+App::$strings["poked"] = "";
+App::$strings["ping"] = "";
+App::$strings["pinged"] = "";
+App::$strings["prod"] = "";
+App::$strings["prodded"] = "";
+App::$strings["slap"] = "";
+App::$strings["slapped"] = "";
+App::$strings["finger"] = "";
+App::$strings["fingered"] = "";
+App::$strings["rebuff"] = "";
+App::$strings["rebuffed"] = "";
+App::$strings["happy"] = "שמח";
+App::$strings["sad"] = "עצוב";
+App::$strings["mellow"] = "מתון";
+App::$strings["tired"] = "עייף";
+App::$strings["perky"] = "חצוף";
+App::$strings["angry"] = "כועס";
+App::$strings["stupefied"] = "";
+App::$strings["puzzled"] = "נבוך";
+App::$strings["interested"] = "מגלה עניין";
+App::$strings["bitter"] = "מר";
+App::$strings["cheerful"] = "עליז";
+App::$strings["alive"] = "חי";
+App::$strings["annoyed"] = "נרגז";
+App::$strings["anxious"] = "נרגז";
+App::$strings["cranky"] = "נרגז";
+App::$strings["disturbed"] = "מופרע";
+App::$strings["frustrated"] = "מתוסכל";
+App::$strings["depressed"] = "מדוכא";
+App::$strings["motivated"] = "מונע";
+App::$strings["relaxed"] = "רגוע";
+App::$strings["surprised"] = "מופתע";
+App::$strings["Monday"] = "יום שני";
+App::$strings["Tuesday"] = "יום שלישי";
+App::$strings["Wednesday"] = "יום רביעי";
+App::$strings["Thursday"] = "יום חמישי";
+App::$strings["Friday"] = "יום שישי";
+App::$strings["Saturday"] = "יום שבת";
+App::$strings["Sunday"] = "יום ראשון";
+App::$strings["January"] = "ינואר";
+App::$strings["February"] = "פברואר";
+App::$strings["March"] = "מרץ";
+App::$strings["April"] = "אפריל";
+App::$strings["May"] = "מאי";
+App::$strings["June"] = "יוני";
+App::$strings["July"] = "יולי";
+App::$strings["August"] = "אוגוסט";
+App::$strings["September"] = "ספטמבר";
+App::$strings["October"] = "אוקטובר";
+App::$strings["November"] = "נובמבר";
+App::$strings["December"] = "דצמבר";
+App::$strings["Unknown Attachment"] = "תצריף לא מוכר";
+App::$strings["unknown"] = "לא מוכר";
+App::$strings["remove category"] = "הסר קטגוריה";
+App::$strings["remove from file"] = "הסר מתוך קובץ";
+App::$strings["default"] = "ברירת מחדל";
+App::$strings["Page layout"] = "";
+App::$strings["You can create your own with the layouts tool"] = "";
+App::$strings["Page content type"] = "טיפוס תוכן עמוד";
+App::$strings["Select an alternate language"] = "בחר שפה חלופית";
+App::$strings["activity"] = "פעילות";
+App::$strings["Design Tools"] = "כלי עיצוב";
+App::$strings["Pages"] = "עמודים";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["Starts:"] = "מתחיל:";
+App::$strings["Finishes:"] = "נגמר:";
+App::$strings["This event has been added to your calendar."] = "אירוע זה התווסף ללוח שנה שלך.";
+App::$strings["Not specified"] = "לא צוין";
+App::$strings["Needs Action"] = "מצריך פעולה";
+App::$strings["Completed"] = "הושלם";
+App::$strings["In Process"] = "בתהליך";
+App::$strings["Cancelled"] = "בוטל";
+App::$strings["No recipient provided."] = "";
+App::$strings["[no subject]"] = "[אין נושא]";
+App::$strings["Unable to determine sender."] = "";
+App::$strings["Stored post could not be verified."] = "";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s כעת מחובר עם %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "";
+App::$strings["View %s's profile @ %s"] = "";
+App::$strings["Categories:"] = "קטגוריות:";
+App::$strings["Filed under:"] = "תויק תחת:";
+App::$strings["View in context"] = "צפה בתוך הקשר";
+App::$strings["remove"] = "להסיר";
+App::$strings["Loading..."] = "כעת טוען...";
+App::$strings["Delete Selected Items"] = "מחק פריטים נבחרים";
+App::$strings["View Source"] = "צפה במקור";
+App::$strings["Follow Thread"] = "עקוב שרשור";
+App::$strings["Unfollow Thread"] = "נקר שרשור";
+App::$strings["Activity/Posts"] = "פעילות/פוסטים";
+App::$strings["Edit Connection"] = "ערוך חיבור";
+App::$strings["Message"] = "הודעה";
+App::$strings["%s likes this."] = "%s אהב זאת.";
+App::$strings["%s doesn't like this."] = "%s לא אוהב זאת.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>איש %2\$d</span> אוהב זאת.",
+ 1 => "<span %1\$s>%2\$d אנשים</span> אוהבים זאת.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>איש %2\$d</span> לא אוהב זאת.",
+ 1 => "<span %1\$s>%2\$d אנשים</span> לא אוהבים זאת.",
+);
+App::$strings["and"] = "ועוד";
+App::$strings[", and %d other people"] = array(
+ 0 => ", ועוד איש %d אחר",
+ 1 => ", ועוד %d אנשים אחרים",
+);
+App::$strings["%s like this."] = "%s אוהבים זאת.";
+App::$strings["%s don't like this."] = "%s לא אוהבים זאת.";
+App::$strings["Set your location"] = "קבע את המיקום שלך";
+App::$strings["Clear browser location"] = "טהר מיקום דפדפן";
+App::$strings["Embed image from photo albums"] = "";
+App::$strings["Tag term:"] = "";
+App::$strings["Where are you right now?"] = "היכן אתה כעת?";
+App::$strings["Choose images to embed"] = "";
+App::$strings["Choose an album"] = "";
+App::$strings["Choose a different album..."] = "";
+App::$strings["Error getting album list"] = "";
+App::$strings["Error getting photo link"] = "";
+App::$strings["Error getting album"] = "";
+App::$strings["Page link name"] = "שם קישור עמוד";
+App::$strings["Post as"] = "פרסם בתור";
+App::$strings["Embed an image from your albums"] = "";
+App::$strings["OK"] = "אישור";
+App::$strings["Toggle voting"] = "";
+App::$strings["Categories (optional, comma-separated list)"] = "קטגוריות (רשות, רשימה מופרדת פסיקים)";
+App::$strings["Set publish date"] = "";
+App::$strings["Discover"] = "גלה";
+App::$strings["Imported public streams"] = "זרמים ציבוריים מיובאים";
+App::$strings["Commented Order"] = "";
+App::$strings["Sort by Comment Date"] = "";
+App::$strings["Posted Order"] = "";
+App::$strings["Sort by Post Date"] = "מיין לפי תאריך פוסט";
+App::$strings["Posts that mention or involve you"] = "פוסטים אשר מציינים או מערבים אותך";
+App::$strings["Activity Stream - by date"] = "זרם פעילות - לפי תאריך";
+App::$strings["Starred"] = "";
+App::$strings["Favourite Posts"] = "פוסטים מועדפים";
+App::$strings["Spam"] = "ספאם";
+App::$strings["Posts flagged as SPAM"] = "פוסטים מסומנים בתור ספאם";
+App::$strings["Status Messages and Posts"] = "הודעות ופרסומי סטטוס";
+App::$strings["About"] = "אודות";
+App::$strings["Profile Details"] = "פרטי פרופיל";
+App::$strings["Files and Storage"] = "קבצים ואחסון";
+App::$strings["Chatrooms"] = "חדרי שיחה";
+App::$strings["Bookmarks"] = "סימניות";
+App::$strings["Saved Bookmarks"] = "סימניות שמורות";
+App::$strings["Manage Webpages"] = "נהל עמודי רשת";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "מסכים",
+ 1 => "מסכימים",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "לא מסכים",
+ 1 => "לא מסכימים",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Channel is blocked on this site."] = "ערוץ חסום באתר זה.";
+App::$strings["Channel location missing."] = "מיקום ערוץ חסר.";
+App::$strings["Response from remote channel was incomplete."] = "";
+App::$strings["Channel was deleted and no longer exists."] = "";
+App::$strings["Protocol disabled."] = "פרוטוקול הינו מנוטרל.";
+App::$strings["Channel discovery failed."] = "גילוי ערוץ נכשל.";
+App::$strings["Cannot connect to yourself."] = "לא ניתן להתחבר לעצמך.";
+App::$strings["Image/photo"] = "תמונה/תצלום";
+App::$strings["Encrypted content"] = "תוכן מוצפן";
+App::$strings["Install %s element: "] = "התקן אלמנט %s: ";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "";
+App::$strings["Click to open/close"] = "לחץ כדי לפתוח/לסגור";
+App::$strings["spoiler"] = "";
+App::$strings["Different viewers will see this text differently"] = "צופים שונים ייראו את טקסט זה בצורה שונה";
+App::$strings["$1 wrote:"] = "$1 כתב(ה):";
+App::$strings["%1\$s's bookmarks"] = "";
+App::$strings["Directory Options"] = "אפשרויות ספרייה";
+App::$strings["Safe Mode"] = "מצב בטוח";
+App::$strings["Public Forums Only"] = "פורומים ציבוריים בלבד";
+App::$strings["This Website Only"] = "אתר רשת זה בלבד";
+App::$strings["Invalid data packet"] = "";
+App::$strings["Unable to verify channel signature"] = "";
+App::$strings["Unable to verify site signature for %s"] = "";
+App::$strings["invalid target signature"] = "";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
+App::$strings["Logout"] = "יציאה";
+App::$strings["End this session"] = "סיים את סשן זה";
+App::$strings["Home"] = "בית";
+App::$strings["Your posts and conversations"] = "הפרסומים והדיונים שלך";
+App::$strings["Your profile page"] = "עמוד הפרופיל שלך";
+App::$strings["Manage/Edit profiles"] = "נהל/ערוך פרופילים";
+App::$strings["Edit Profile"] = "ערוך פרופיל";
+App::$strings["Edit your profile"] = "ערוך את הפרופיל שלך";
+App::$strings["Your photos"] = "התצלומים שלך";
+App::$strings["Your files"] = "הקבצים שלך";
+App::$strings["Your chatrooms"] = "החדרי שיחה שלך";
+App::$strings["Your bookmarks"] = "הסימניות שלך";
+App::$strings["Your webpages"] = "העמודי רשת שלך";
+App::$strings["Sign in"] = "התחברות";
+App::$strings["%s - click to logout"] = "%s - לחץ כדי להתנתק";
+App::$strings["Remote authentication"] = "אימות מרוחק";
+App::$strings["Click to authenticate to your home hub"] = "לחץ כדי לאמת את מוקד הבית שלך";
+App::$strings["Home Page"] = "עמוד בית";
+App::$strings["Create an account"] = "צור חשבון";
+App::$strings["Help and documentation"] = "עזרה ותיעוד";
+App::$strings["Applications, utilities, links, games"] = "אפליקציות, עזרים, קישורים, משחקים";
+App::$strings["Search site @name, #tag, ?docs, content"] = "";
+App::$strings["Channel Directory"] = "ערוץ ספרייה";
+App::$strings["Your grid"] = "";
+App::$strings["Mark all grid notifications seen"] = "";
+App::$strings["Channel home"] = "ערוץ בית";
+App::$strings["Mark all channel notifications seen"] = "סמן את כל התראות הערוץ כנקראו";
+App::$strings["Notices"] = "הודעות";
+App::$strings["Notifications"] = "התראות";
+App::$strings["See all notifications"] = "צפה בכל ההתראות";
+App::$strings["Private mail"] = "דואר פרטי";
+App::$strings["See all private messages"] = "צפה בכל ההודעות הפרטיות";
+App::$strings["Mark all private messages seen"] = "סמן את כל ההודעות הפרטיות כנקראו";
+App::$strings["Inbox"] = "תיבה נכנסת";
+App::$strings["Outbox"] = "תיבה יוצאת";
+App::$strings["New Message"] = "הודעה חדשה";
+App::$strings["Event Calendar"] = "לוח שנה אירועים";
+App::$strings["See all events"] = "ראה את כל האירועים";
+App::$strings["Mark all events seen"] = "סמן את כל האירועים כנקראו";
+App::$strings["Manage Your Channels"] = "נהל את הערוצים שלך";
+App::$strings["Account/Channel Settings"] = "הגדרות חשבון/ערוץ";
+App::$strings["Admin"] = "מנהל";
+App::$strings["Site Setup and Configuration"] = "הבניית והגדרת אתר";
+App::$strings["@name, #tag, ?doc, content"] = "@name, #tag, ?doc, content";
+App::$strings["Please wait..."] = "אנא המתן...";
+App::$strings["%d invitation available"] = array(
+ 0 => "הזמנה %d זמינה",
+ 1 => "%d הזמנות זמינות",
+);
+App::$strings["Find Channels"] = "מצא ערוצים";
+App::$strings["Enter name or interest"] = "הזן שם או עניין";
+App::$strings["Connect/Follow"] = "התחבר/עקוב";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "";
+App::$strings["Random Profile"] = "פרופיל אקראי";
+App::$strings["Invite Friends"] = "הזמן חברים";
+App::$strings["Advanced example: name=fred and country=iceland"] = "דוגמא מתקדמת: name=פרד וגם country=איסלנד";
+App::$strings["Saved Folders"] = "תיקיות שמורות";
+App::$strings["Everything"] = "כל דבר";
+App::$strings["%d connection in common"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["show more"] = "הצג עוד";
+App::$strings["Frequently"] = "באופן תדיר";
+App::$strings["Hourly"] = "כל שעה";
+App::$strings["Twice daily"] = "פעמיים ביום";
+App::$strings["Daily"] = "יומי";
+App::$strings["Weekly"] = "שבועי";
+App::$strings["Monthly"] = "חודשי";
+App::$strings["Currently Male"] = "כעת זכר";
+App::$strings["Currently Female"] = "כעת נקבה";
+App::$strings["Mostly Male"] = "בעיקר זכר";
+App::$strings["Mostly Female"] = "בעיקר נקבה";
+App::$strings["Transgender"] = "טרנסג׳נדר";
+App::$strings["Intersex"] = "בין מיני";
+App::$strings["Transsexual"] = "טרנסקסואל";
+App::$strings["Hermaphrodite"] = "אנדרוגיני";
+App::$strings["Neuter"] = "ניטראלי";
+App::$strings["Non-specific"] = "";
+App::$strings["Other"] = "אחר";
+App::$strings["Undecided"] = "לא מוכרע";
+App::$strings["Males"] = "זכרים";
+App::$strings["Females"] = "נקבות";
+App::$strings["Gay"] = "הומו";
+App::$strings["Lesbian"] = "לסבית";
+App::$strings["No Preference"] = "אין העדפה";
+App::$strings["Bisexual"] = "דו מיני";
+App::$strings["Autosexual"] = "אוטוסקסואלי";
+App::$strings["Abstinent"] = "מתנזר";
+App::$strings["Virgin"] = "בתול/ה";
+App::$strings["Deviant"] = "סוטה";
+App::$strings["Fetish"] = "פטיש";
+App::$strings["Oodles"] = "המון";
+App::$strings["Nonsexual"] = "לא מיני";
+App::$strings["Single"] = "רווק/ה";
+App::$strings["Lonely"] = "בודד";
+App::$strings["Available"] = "זמין";
+App::$strings["Unavailable"] = "לא פנוי/ה";
+App::$strings["Has crush"] = "";
+App::$strings["Infatuated"] = "מוקסם/ת";
+App::$strings["Dating"] = "";
+App::$strings["Unfaithful"] = "לא נאמן/ה";
+App::$strings["Sex Addict"] = "מכור/ה למין";
+App::$strings["Friends/Benefits"] = "";
+App::$strings["Casual"] = "ארעי/ת";
+App::$strings["Engaged"] = "מאורס/ת";
+App::$strings["Married"] = "נישואין";
+App::$strings["Imaginarily married"] = "נישואין דמיוניים";
+App::$strings["Partners"] = "";
+App::$strings["Cohabiting"] = "חיים יחדיו";
+App::$strings["Common law"] = "";
+App::$strings["Happy"] = "שמח";
+App::$strings["Not looking"] = "לא מחפש/ת";
+App::$strings["Swinger"] = "בליין/ית";
+App::$strings["Betrayed"] = "נבגד/ת";
+App::$strings["Separated"] = "פרוד/ה";
+App::$strings["Unstable"] = "בלתי יציב";
+App::$strings["Divorced"] = "גירושין";
+App::$strings["Imaginarily divorced"] = "גירושין דמיוניים";
+App::$strings["Widowed"] = "אלמן/ה";
+App::$strings["Uncertain"] = "";
+App::$strings["It's complicated"] = "זה מורכב";
+App::$strings["Don't care"] = "לא משנה";
+App::$strings["Ask me"] = "תשאלו אותי";
+App::$strings["Unable to obtain identity information from database"] = "";
+App::$strings["Empty name"] = "שם ריק";
+App::$strings["Name too long"] = "שם ארוך מדי";
+App::$strings["No account identifier"] = "אין מזהה חשבון";
+App::$strings["Nickname is required."] = "נדרש שם כינוי.";
+App::$strings["Reserved nickname. Please choose another."] = "";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "";
+App::$strings["Unable to retrieve created identity"] = "";
+App::$strings["Default Profile"] = "פרופיל שגרתי";
+App::$strings["Requested channel is not available."] = "ערוץ מבוקש אינו זמין.";
+App::$strings["Create New Profile"] = "צור פרופיל חדש";
+App::$strings["Visible to everybody"] = "נראה לכל אחד";
+App::$strings["Gender:"] = "מין:";
+App::$strings["Status:"] = "מצב:";
+App::$strings["Homepage:"] = "עמוד בית:";
+App::$strings["Online Now"] = "מקוון כעת";
+App::$strings["Like this channel"] = "";
+App::$strings["j F, Y"] = "j F, Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "יום הולדת:";
+App::$strings["for %1\$d %2\$s"] = "";
+App::$strings["Sexual Preference:"] = "העדפה מינית:";
+App::$strings["Tags:"] = "תגיות:";
+App::$strings["Political Views:"] = "השקפות פוליטיות:";
+App::$strings["Religion:"] = "דת:";
+App::$strings["Hobbies/Interests:"] = "תחביבים/עניין:";
+App::$strings["Likes:"] = "אוהב:";
+App::$strings["Dislikes:"] = "שונא:";
+App::$strings["Contact information and Social Networks:"] = "";
+App::$strings["My other channels:"] = "הערוצים האחרים שלי:";
+App::$strings["Musical interests:"] = "";
+App::$strings["Books, literature:"] = "ספרים, ספרות:";
+App::$strings["Television:"] = "טלוויזיה:";
+App::$strings["Film/dance/culture/entertainment:"] = "";
+App::$strings["Love/Romance:"] = "אהבה/רומנטיקה:";
+App::$strings["Work/employment:"] = "עבודה/תעסוקה:";
+App::$strings["School/education:"] = "בי״ס/חינוך:";
+App::$strings["Like this thing"] = "";
+App::$strings["Visible to your default audience"] = "נראה לקהל השגרתי שלך";
+App::$strings["Only me"] = "רק אני";
+App::$strings["Public"] = "ציבורי";
+App::$strings["Anybody in the \$Projectname network"] = "";
+App::$strings["Any account on %s"] = "כל חחשבון אצל %s";
+App::$strings["Any of my connections"] = "כל חיבור מהחיבורים שלי";
+App::$strings["Only connections I specifically allow"] = "רק חיבורים אשר אני מתיר באופן מפורש";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "";
+App::$strings["Any connections including those who haven't yet been approved"] = "";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "";
+App::$strings["This is your default setting for who can view your default channel profile"] = "";
+App::$strings["This is your default setting for who can view your connections"] = "";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "";
+App::$strings["This is your default setting for the audience of your webpages"] = "";
+App::$strings["Not a valid email address"] = "כתובת דוא״ל לא תקינה";
+App::$strings["Your email domain is not among those allowed on this site"] = "";
+App::$strings["Your email address is already registered at this site."] = "";
+App::$strings["An invitation is required."] = "נדרשת הזמנה.";
+App::$strings["Invitation could not be verified."] = "אימות הזמנה לא התאפשר.";
+App::$strings["Please enter the required information."] = "אנא הזן את המידע הנחוץ.";
+App::$strings["Failed to store account information."] = "נכשל לאחסן מידע חשבון.";
+App::$strings["Registration confirmation for %s"] = "אימות רישום עבור %s";
+App::$strings["Registration request at %s"] = "בקשת רישום אצל %s";
+App::$strings["Administrator"] = "מנהל";
+App::$strings["your registration password"] = "סיסמת רישום שלך";
+App::$strings["Registration details for %s"] = "פרטי רישום עבור %s";
+App::$strings["Account approved."] = "חשבון אושר.";
+App::$strings["Registration revoked for %s"] = "רישום בוטל עבור %s";
+App::$strings["Account verified. Please login."] = "חשבון אומת. אנא התחבר.";
+App::$strings["Click here to upgrade."] = "לחץ כאן כדי לשדרג.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "";
+App::$strings["This action is not available under your subscription plan."] = "";
+App::$strings["Item was not found."] = "פריט לא נמצא.";
+App::$strings["No source file."] = "אין קובץ מקור.";
+App::$strings["Cannot locate file to replace"] = "";
+App::$strings["Cannot locate file to revise/update"] = "";
+App::$strings["File exceeds size limit of %d"] = "";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "";
+App::$strings["Stored file could not be verified. Upload failed."] = "";
+App::$strings["Path not available."] = "נתיב לא זמין.";
+App::$strings["Empty pathname"] = "שם נתיב ריק";
+App::$strings["duplicate filename or path"] = "שם קובץ או נתיב כפול";
+App::$strings["Path not found."] = "נתיב לא נמצא.";
+App::$strings["mkdir failed."] = "mkdir נכשל.";
+App::$strings["database storage failed."] = "אחסון מסד נתונים נכשל.";
+App::$strings["Empty path"] = "נתיב ריק";
+App::$strings["General Features"] = "תכונות כלליות";
+App::$strings["Content Expiration"] = "פקיעת תוכן";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "";
+App::$strings["Multiple Profiles"] = "פרופילים מרובים";
+App::$strings["Ability to create multiple profiles"] = "";
+App::$strings["Advanced Profiles"] = "פרופיל מתקדמים";
+App::$strings["Additional profile sections and selections"] = "";
+App::$strings["Profile Import/Export"] = "יבוא/יצוא פרופיל";
+App::$strings["Save and load profile details across sites/channels"] = "";
+App::$strings["Web Pages"] = "עמודי רשת";
+App::$strings["Provide managed web pages on your channel"] = "";
+App::$strings["Hide Rating"] = "הסתר דירוג";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "";
+App::$strings["Private Notes"] = "פתקים פרטיים";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "מאפשר כלי לאחסון פתקים ותזכורות (הערה: לא מוצפן)";
+App::$strings["Navigation Channel Select"] = "";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "";
+App::$strings["Photo Location"] = "מיקום תצלום";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "";
+App::$strings["Access Controlled Chatrooms"] = "";
+App::$strings["Provide chatrooms and chat services with access control."] = "";
+App::$strings["Smart Birthdays"] = "ימי הולדת חכמים";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "";
+App::$strings["Expert Mode"] = "מצב מומחה";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "";
+App::$strings["Premium Channel"] = "ערוץ פרמיה";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "";
+App::$strings["Post Composition Features"] = "";
+App::$strings["Large Photos"] = "תצלומים גדולים";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "";
+App::$strings["Automatically import channel content from other channels or feeds"] = "";
+App::$strings["Even More Encryption"] = "אפילו עוד הצפנה";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "";
+App::$strings["Enable Voting Tools"] = "אפשר כלי הצבעה";
+App::$strings["Provide a class of post which others can vote on"] = "";
+App::$strings["Delayed Posting"] = "";
+App::$strings["Allow posts to be published at a later date"] = "";
+App::$strings["Suppress Duplicate Posts/Comments"] = "";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "";
+App::$strings["Network and Stream Filtering"] = "סינון רשת וזרם";
+App::$strings["Search by Date"] = "חפש לפי תאריך";
+App::$strings["Ability to select posts by date ranges"] = "מסנן אוספים";
+App::$strings["Privacy Groups"] = "קבוצת פרטיות";
+App::$strings["Enable management and selection of privacy groups"] = "";
+App::$strings["Saved Searches"] = "חיפושים שמורים";
+App::$strings["Save search terms for re-use"] = "";
+App::$strings["Network Personal Tab"] = "";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "";
+App::$strings["Network New Tab"] = "";
+App::$strings["Enable tab to display all new Network activity"] = "";
+App::$strings["Affinity Tool"] = "כלי קירבה";
+App::$strings["Filter stream activity by depth of relationships"] = "";
+App::$strings["Connection Filtering"] = "סינון חיבור";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "";
+App::$strings["Show channel suggestions"] = "הצג הצעות ערוץ";
+App::$strings["Post/Comment Tools"] = "";
+App::$strings["Community Tagging"] = "";
+App::$strings["Ability to tag existing posts"] = "";
+App::$strings["Post Categories"] = "";
+App::$strings["Add categories to your posts"] = "";
+App::$strings["Emoji Reactions"] = "";
+App::$strings["Add emoji reaction ability to posts"] = "";
+App::$strings["Ability to file posts under folders"] = "";
+App::$strings["Dislike Posts"] = "";
+App::$strings["Ability to dislike posts/comments"] = "";
+App::$strings["Star Posts"] = "";
+App::$strings["Ability to mark special posts with a star indicator"] = "";
+App::$strings["Tag Cloud"] = "ענן תגיות";
+App::$strings["Provide a personal tag cloud on your channel page"] = "";
+App::$strings["Embedded content"] = "תוכן מוטמע";
+App::$strings["Embedding disabled"] = "הטמעה הינה מנוטרלת";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
+App::$strings["Channel clone failed. Import failed."] = "";
+App::$strings["New window"] = "חלון חדש";
+App::$strings["Open the selected location in a different window or browser tab"] = "פתח את המיקום הנבחר בתוך חלון או סימניית דפדפן אחרים";
+App::$strings["User '%s' deleted"] = "משתמש '%s' נמחק";
+App::$strings["Who can see this?"] = "מי מסוגל לראות זאת?";
+App::$strings["Custom selection"] = "מבחר מותאם";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "";
+App::$strings["Show"] = "הצג";
+App::$strings["Don't show"] = "אל תציג";
+App::$strings["Other networks and post services"] = "שירותי רשת ופרסום אחרים";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "";
+App::$strings["Logged out."] = "מנותק.";
+App::$strings["Failed authentication"] = "אימות נכשל";
+App::$strings["Birthday"] = "יום הולדת";
+App::$strings["Age: "] = "גיל: ";
+App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD או MM-DD";
+App::$strings["never"] = "";
+App::$strings["less than a second ago"] = "לפניי פחות משניה";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "לפני %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "שנה",
+ 1 => "שנים",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "חודש",
+ 1 => "חודשים",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "שבוע",
+ 1 => "שבועות",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "יום",
+ 1 => "ימים",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "שעה",
+ 1 => "שעות",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "דקה",
+ 1 => "דקות",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "שניה",
+ 1 => "שניות",
+);
+App::$strings["%1\$s's birthday"] = "";
+App::$strings["Happy Birthday %1\$s"] = "יום הולדת שמח %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "";
+App::$strings["Add new connections to this privacy group"] = "הוסף חיבורים חדשים לקבוצת פרטיות זו";
+App::$strings["edit"] = "ערוך";
+App::$strings["Edit group"] = "ערוך קבוצה";
+App::$strings["Add privacy group"] = "הוסף קבוצת פרטיות";
+App::$strings["Channels not in any privacy group"] = "";
+App::$strings["add"] = "להוסיף";
+App::$strings["Delete this item?"] = "למחוק את פריט זה?";
+App::$strings["[-] show less"] = "[-] הצג פחות";
+App::$strings["[+] expand"] = "[+] הרחב";
+App::$strings["[-] collapse"] = "[-] צמצם";
+App::$strings["Password too short"] = "סיסמה קצרה מדי";
+App::$strings["Passwords do not match"] = "סיסמאות לא תואמות";
+App::$strings["everybody"] = "כולם";
+App::$strings["Secret Passphrase"] = "מימרת סיסמה סודית";
+App::$strings["Passphrase hint"] = "";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "";
+App::$strings["close all"] = "סגור הכל";
+App::$strings["Nothing new here"] = "אין דבר חדש כאן";
+App::$strings["Rate This Channel (this is public)"] = "";
+App::$strings["Describe (optional)"] = "תאר (רשות)";
+App::$strings["Please enter a link URL"] = "";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "לפני";
+App::$strings["from now"] = "מעכשיו";
+App::$strings["less than a minute"] = "פחות מדקה";
+App::$strings["about a minute"] = "דקה לערך";
+App::$strings["%d minutes"] = "%d דקות";
+App::$strings["about an hour"] = "שעה לערך";
+App::$strings["about %d hours"] = " %d שעות לערך";
+App::$strings["a day"] = "יום";
+App::$strings["%d days"] = "%d ימים";
+App::$strings["about a month"] = "חודש לערך";
+App::$strings["%d months"] = "%d חודשים";
+App::$strings["about a year"] = "שנה לערך";
+App::$strings["%d years"] = "%d שנים";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "מאי";
+App::$strings["Jan"] = "ינו׳";
+App::$strings["Feb"] = "פבר׳";
+App::$strings["Mar"] = "מרץ";
+App::$strings["Apr"] = "אפר׳";
+App::$strings["__ctx:short__ May"] = "מאי";
+App::$strings["Jun"] = "יונ׳";
+App::$strings["Jul"] = "יול׳";
+App::$strings["Aug"] = "אוג׳";
+App::$strings["Sep"] = "ספט׳";
+App::$strings["Oct"] = "אוק׳";
+App::$strings["Nov"] = "נוב׳";
+App::$strings["Dec"] = "דצמ׳";
+App::$strings["Sun"] = "א׳";
+App::$strings["Mon"] = "ב׳";
+App::$strings["Tue"] = "ג׳";
+App::$strings["Wed"] = "ד׳";
+App::$strings["Thu"] = "ה׳";
+App::$strings["Fri"] = "ו׳";
+App::$strings["Sat"] = "ש׳";
+App::$strings["__ctx:calendar__ today"] = "היום";
+App::$strings["__ctx:calendar__ month"] = "חודש";
+App::$strings["__ctx:calendar__ week"] = "שבוע";
+App::$strings["__ctx:calendar__ day"] = "יום";
+App::$strings["__ctx:calendar__ All day"] = "כל היום";
+App::$strings["view full size"] = "צפה בגודל מלא";
+App::$strings["No Subject"] = "אין נושא";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "פייסבוק";
+App::$strings["Zot"] = "";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["(Unknown)"] = "(לא ידוע)";
+App::$strings["Visible to anybody on the internet."] = "נראה לכל אחד באינטרנט.";
+App::$strings["Visible to you only."] = "נראה לך בלבד.";
+App::$strings["Visible to anybody in this network."] = "נראה לכל אחד ברשת זו.";
+App::$strings["Visible to anybody authenticated."] = "נראה לכל מי שהוא מאומת.";
+App::$strings["Visible to anybody on %s."] = "נראה לכל אחד אצל %s.";
+App::$strings["Visible to all connections."] = "נראה לכל החיבורים.";
+App::$strings["Visible to approved connections."] = "נראה לחיבורים מאושרים.";
+App::$strings["Visible to specific connections."] = "נראה לחיבורים מסוימים.";
+App::$strings["Privacy group is empty."] = "קבוצת פרטיות הינה ריקה";
+App::$strings["Privacy group: %s"] = "קבוצת פרטיות: %s";
+App::$strings["Connection not found."] = "חיבור לא נמצא.";
+App::$strings["profile photo"] = "תצלום פרופיל";
+App::$strings["New Page"] = "עמוד חדש";
+App::$strings["Title"] = "כותרת";
+App::$strings["System"] = "מערכת";
+App::$strings["New App"] = "אפליקציה חדשה";
+App::$strings["Suggestions"] = "הצעות";
+App::$strings["See more..."] = "צפה בעוד...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "";
+App::$strings["Add New Connection"] = "הוסף חיבור חדש";
+App::$strings["Enter channel address"] = "הזן כתובת ערוץ";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "דוגמאות: bob@example.com, https://example.com/barbara";
+App::$strings["Notes"] = "תזכירים";
+App::$strings["Remove term"] = "הסר פריט";
+App::$strings["Archives"] = "ארכיונים";
+App::$strings["Refresh"] = "רענן";
+App::$strings["Account settings"] = "הגדרות חשבון";
+App::$strings["Channel settings"] = "הגדרות ערוץ";
+App::$strings["Additional features"] = "תכונות נוספות";
+App::$strings["Feature/Addon settings"] = "";
+App::$strings["Display settings"] = "הגדרות תצוגה";
+App::$strings["Manage locations"] = "נהל מיקומים";
+App::$strings["Export channel"] = "יצא ערוץ";
+App::$strings["Connected apps"] = "אפליקציות מחוברות";
+App::$strings["Premium Channel Settings"] = "הגדרות ערוץ פרמיה";
+App::$strings["Private Mail Menu"] = "תפריט דואר פרטי";
+App::$strings["Combined View"] = "תצוגה משולבת";
+App::$strings["Conversations"] = "דיונים";
+App::$strings["Received Messages"] = "הודעות שנתקבלו";
+App::$strings["Sent Messages"] = "הודעות שנשלחו";
+App::$strings["No messages."] = "אין הודעות.";
+App::$strings["Delete conversation"] = "מחק דיון";
+App::$strings["Events Menu"] = "תפריט אירועים";
+App::$strings["Day View"] = "תצוגת יום";
+App::$strings["Week View"] = "תצוגת שבוע";
+App::$strings["Month View"] = "תצוגת חודש";
+App::$strings["Events Tools"] = "כלי אירוע";
+App::$strings["Export Calendar"] = "יצא לוח שנה";
+App::$strings["Import Calendar"] = "יבא לוח שנה";
+App::$strings["Overview"] = "סקירה";
+App::$strings["Chat Members"] = "חברי שיחה";
+App::$strings["Wiki List"] = "רשימת ויקי";
+App::$strings["Wiki Pages"] = "עמודי ויקי";
+App::$strings["Bookmarked Chatrooms"] = "חדרי שיחה מסומנים";
+App::$strings["Suggested Chatrooms"] = "חדרי שיחה מוצעים";
+App::$strings["photo/image"] = "תצלום/תמונה";
+App::$strings["Click to show more"] = "לחץ כדי להציג עוד";
+App::$strings["Rating Tools"] = "כלי דירוג";
+App::$strings["Rate Me"] = "דרג אותי";
+App::$strings["View Ratings"] = "צפה בדירוגים";
+App::$strings["Forums"] = "פורומים";
+App::$strings["Tasks"] = "משימות";
+App::$strings["Documentation"] = "תיעוד";
+App::$strings["Project/Site Information"] = "מידע פרויקט/אתר";
+App::$strings["For Members"] = "לחברים";
+App::$strings["For Administrators"] = "למנהלים";
+App::$strings["For Developers"] = "למפתחים";
+App::$strings["Member registrations waiting for confirmation"] = "רישומי חברות אשר ממתינים לאישור";
+App::$strings["Inspect queue"] = "";
+App::$strings["DB updates"] = "עדכוני מסד נתונים";
+App::$strings["Plugin Features"] = "תכונות תוסף";
+App::$strings["Can view my normal stream and posts"] = "";
+App::$strings["Can view my default channel profile"] = "";
+App::$strings["Can view my connections"] = "";
+App::$strings["Can view my file storage and photos"] = "";
+App::$strings["Can view my webpages"] = "";
+App::$strings["Can send me their channel stream and posts"] = "";
+App::$strings["Can post on my channel page (\"wall\")"] = "";
+App::$strings["Can comment on or like my posts"] = "";
+App::$strings["Can send me private mail messages"] = "";
+App::$strings["Can like/dislike stuff"] = "";
+App::$strings["Profiles and things other than posts/comments"] = "";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "";
+App::$strings["Advanced - useful for creating group forum channels"] = "";
+App::$strings["Can chat with me (when available)"] = "מסוגל לשוחח עמי (כאשר זמין)";
+App::$strings["Can write to my file storage and photos"] = "מסוגל לכתוב אל האחסון והתצלומים שלי";
+App::$strings["Can edit my webpages"] = "מסוגל לערוך עמודי רשת";
+App::$strings["Can source my public posts in derived channels"] = "";
+App::$strings["Somewhat advanced - very useful in open communities"] = "";
+App::$strings["Can administer my channel resources"] = "";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "";
+App::$strings["Social Networking"] = "רשת חברתית";
+App::$strings["Social - Mostly Public"] = "חברתי - ציבורי בעיקר";
+App::$strings["Social - Restricted"] = "חברתי - מוגבל";
+App::$strings["Social - Private"] = "חברתי - פרטי";
+App::$strings["Community Forum"] = "פורום קהילה";
+App::$strings["Forum - Mostly Public"] = "פורום - ציבורי בעיקר";
+App::$strings["Forum - Restricted"] = "פורום - מוגבל";
+App::$strings["Forum - Private"] = "פורום - פרטי";
+App::$strings["Feed Republish"] = "";
+App::$strings["Feed - Mostly Public"] = "ערוץ - ציבורי בעיקר";
+App::$strings["Feed - Restricted"] = "ערוץ - מוגבל";
+App::$strings["Special Purpose"] = "מטרה מיוחדת";
+App::$strings["Special - Celebrity/Soapbox"] = "";
+App::$strings["Special - Group Repository"] = "";
+App::$strings["Custom/Expert Mode"] = "";
+App::$strings[" and "] = " וגם ";
+App::$strings["public profile"] = "פרופיל ציבורי";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
+App::$strings["Visit %1\$s's %2\$s"] = "";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
+App::$strings["Attachments:"] = "תצריפים:";
+App::$strings["\$Projectname event notification:"] = "";
+App::$strings["Public Timeline"] = "ציר זמן ציבורי";
+App::$strings["Focus (Hubzilla default)"] = "";
+App::$strings["Theme settings"] = "הגדרות ערכת נושא";
+App::$strings["Select scheme"] = "";
+App::$strings["Narrow navbar"] = "";
+App::$strings["Navigation bar background color"] = "";
+App::$strings["Navigation bar gradient top color"] = "";
+App::$strings["Navigation bar gradient bottom color"] = "";
+App::$strings["Navigation active button gradient top color"] = "";
+App::$strings["Navigation active button gradient bottom color"] = "";
+App::$strings["Navigation bar border color "] = "";
+App::$strings["Navigation bar icon color "] = "";
+App::$strings["Navigation bar active icon color "] = "";
+App::$strings["link color"] = "צבע קישור";
+App::$strings["Set font-color for banner"] = "";
+App::$strings["Set the background color"] = "";
+App::$strings["Set the background image"] = "";
+App::$strings["Set the background color of items"] = "";
+App::$strings["Set the background color of comments"] = "";
+App::$strings["Set the border color of comments"] = "";
+App::$strings["Set the indent for comments"] = "";
+App::$strings["Set the basic color for item icons"] = "";
+App::$strings["Set the hover color for item icons"] = "";
+App::$strings["Set font-size for the entire application"] = "";
+App::$strings["Example: 14px"] = "דוגמא: 14px";
+App::$strings["Set font-size for posts and comments"] = "";
+App::$strings["Set font-color for posts and comments"] = "";
+App::$strings["Set radius of corners"] = "";
+App::$strings["Set shadow depth of photos"] = "";
+App::$strings["Set maximum width of content region in pixel"] = "";
+App::$strings["Leave empty for default width"] = "השאר ריק לצורך רוחב שגרתי";
+App::$strings["Left align page content"] = "";
+App::$strings["Set minimum opacity of nav bar - to hide it"] = "";
+App::$strings["Set size of conversation author photo"] = "";
+App::$strings["Set size of followup author photos"] = "";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
+App::$strings["Update %s failed. See error logs."] = "";
+App::$strings["Update Error at %s"] = "";
+App::$strings["Create an account to access services and applications within the Hubzilla"] = "";
+App::$strings["Password"] = "סיסמה";
+App::$strings["Remember me"] = "זכור אותי";
+App::$strings["Forgot your password?"] = "שכחת את הסיסמה שלך?";
+App::$strings["toggle mobile"] = "";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "תעודת SSL אתר רשת אינה תקינה. אנא תקן.";
+App::$strings["[hubzilla] Website SSL error for %s"] = "[hubzilla] שגיאת SSL אתר רשת עבור %s";
+App::$strings["Cron/Scheduled tasks not running."] = "משימות Cron/מתוזמנות לא רצות.";
+App::$strings["[hubzilla] Cron tasks not running on %s"] = "[hubzilla] משימות Cron לא רצות על %s";
diff --git a/view/he/lostpass_eml.tpl b/view/he/lostpass_eml.tpl
new file mode 100644
index 000000000..112c8927c
--- /dev/null
+++ b/view/he/lostpass_eml.tpl
@@ -0,0 +1,32 @@
+
+לכבוד {{$username}},
+ התקבלה לאחרונה בקשה באתר {{$sitename}} לאפס את סיסמת
+חשבונך. על מנת לאמת את בקשה זו, עליך לבחור קישור אימות להלן
+או להדביק אותו לתוך שורת הכתובת של דפדפן הרשת שלך.
+
+אם לא ביקשת את שינוי זה, אבקשך שלא לעקוב אחר הקישור
+המסופק ואבקש גם את התעלמותך ו/או מחיקת דוא״ל זה.
+
+הסיסמה שלך לא תשתנה אלא אם כן אנחנו יכולים
+לוודא כי הינך המקור אשר הנפיק את בקשה זו.
+
+עקוב אחר קישור זה כדי לאמת את זהותך:
+
+‏ {{$reset_link}}
+
+תישלח אליך הודעת מעקב (follow-up) המכילה את הסיסמה החדשה.
+
+באפשרותך לשנות את סיסמה זו מתוך עמוד הגדרות חשבון לאחר התחברותך.
+
+פרטי ההתחברות שלך הם כדלקמן:
+
+מיקום אתר: {{$siteurl}}
+שם התחברות: {{$email}}
+
+
+
+
+בכבוד רב,
+ מנהל {{$sitename}}
+
+ \ No newline at end of file
diff --git a/view/he/messages.po b/view/he/messages.po
new file mode 100644
index 000000000..5dd1098fa
--- /dev/null
+++ b/view/he/messages.po
@@ -0,0 +1,9168 @@
+# Red Matrix Project
+# Copyright (C) 2012-2014 the Red Matrix Project
+# This file is distributed under the same license as the Red package.
+#
+# Translators:
+# Jacob M <axetransit@gmail.com>, 2016
+# GenghisKhan <genghiskhan@gmx.ca>, 2015
+# GenghisKhan <genghiskhan@gmx.ca>, 2015-2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Redmatrix\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-20 00:01-0700\n"
+"PO-Revision-Date: 2016-05-21 09:52+0000\n"
+"Last-Translator: Jacob M <axetransit@gmail.com>\n"
+"Language-Team: Hebrew (http://www.transifex.com/Friendica/red-matrix/language/he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: he\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../include/Import/import_diaspora.php:17
+msgid "No username found in import file."
+msgstr ""
+
+#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
+msgid "Unable to create a unique channel address. Import failed."
+msgstr ""
+
+#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:562
+msgid "Import completed."
+msgstr "יבוא הושלם."
+
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:265
+msgid "parent"
+msgstr "הורה"
+
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2561
+msgid "Collection"
+msgstr "אוסף"
+
+#: ../../include/RedDAV/RedBrowser.php:134
+msgid "Principal"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:137
+msgid "Addressbook"
+msgstr "פנקס כתובות"
+
+#: ../../include/RedDAV/RedBrowser.php:140
+msgid "Calendar"
+msgstr "לוח שנה"
+
+#: ../../include/RedDAV/RedBrowser.php:143
+msgid "Schedule Inbox"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:146
+msgid "Schedule Outbox"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:336
+#: ../../include/apps.php:387 ../../include/conversation.php:1030
+#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+msgid "Unknown"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:227
+#, php-format
+msgid "%1$s used"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:232
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/apps.php:135 ../../include/conversation.php:1620
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "קבצים"
+
+#: ../../include/RedDAV/RedBrowser.php:253
+msgid "Total"
+msgstr "סה״כ"
+
+#: ../../include/RedDAV/RedBrowser.php:255
+msgid "Shared"
+msgstr ""
+
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152
+#: ../../mod/layouts.php:175 ../../mod/menu.php:112
+#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180
+msgid "Create"
+msgstr "צור"
+
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:718
+#: ../../mod/photos.php:1248 ../../mod/profile_photo.php:362
+msgid "Upload"
+msgstr "העלאה"
+
+#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../mod/sharedwithme.php:95
+msgid "Name"
+msgstr "שם"
+
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "Type"
+msgstr "טיפוס"
+
+#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+msgid "Size"
+msgstr "גודל"
+
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+msgid "Last Modified"
+msgstr "שונה לאחרונה"
+
+#: ../../include/RedDAV/RedBrowser.php:266 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:108
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../mod/blocks.php:153 ../../mod/connections.php:242
+#: ../../mod/connections.php:255 ../../mod/connections.php:274
+#: ../../mod/editblock.php:134 ../../mod/editlayout.php:133
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:178
+#: ../../mod/settings.php:650 ../../mod/layouts.php:183 ../../mod/menu.php:106
+#: ../../mod/thing.php:255 ../../mod/webpages.php:181
+msgid "Edit"
+msgstr "ערוך"
+
+#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/apps.php:255 ../../include/conversation.php:671
+#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/photos.php:1062
+#: ../../mod/blocks.php:155 ../../mod/connedit.php:563
+#: ../../mod/editblock.php:180 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:225 ../../mod/group.php:176
+#: ../../mod/settings.php:651 ../../mod/thing.php:256
+#: ../../mod/webpages.php:183
+msgid "Delete"
+msgstr "מחק"
+
+#: ../../include/RedDAV/RedBrowser.php:302
+msgid "Create new folder"
+msgstr "צור תיקייה חדשה"
+
+#: ../../include/RedDAV/RedBrowser.php:304
+msgid "Upload file"
+msgstr "העלה קובץ"
+
+#: ../../include/dba/dba_driver.php:141
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "לא ניתן לאתר מידע DNS עבור שרת מסד נתונים '%s'"
+
+#: ../../include/photo/photo_driver.php:703 ../../mod/photos.php:92
+#: ../../mod/photos.php:637 ../../mod/profile_photo.php:143
+#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
+msgid "Profile Photos"
+msgstr "תצלומי פרופיל"
+
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+msgid "Logout"
+msgstr "יציאה"
+
+#: ../../include/nav.php:87 ../../include/nav.php:120
+msgid "End this session"
+msgstr "סיים את סשן זה"
+
+#: ../../include/nav.php:90 ../../include/nav.php:151
+msgid "Home"
+msgstr "בית"
+
+#: ../../include/nav.php:90
+msgid "Your posts and conversations"
+msgstr ""
+
+#: ../../include/nav.php:91 ../../include/conversation.php:953
+#: ../../mod/connedit.php:510
+msgid "View Profile"
+msgstr ""
+
+#: ../../include/nav.php:91
+msgid "Your profile page"
+msgstr ""
+
+#: ../../include/nav.php:93
+msgid "Edit Profiles"
+msgstr ""
+
+#: ../../include/nav.php:93
+msgid "Manage/Edit profiles"
+msgstr ""
+
+#: ../../include/nav.php:95 ../../include/identity.php:979
+msgid "Edit Profile"
+msgstr "ערוך פרופיל"
+
+#: ../../include/nav.php:95
+msgid "Edit your profile"
+msgstr "ערוך את הפרופיל שלך"
+
+#: ../../include/nav.php:97 ../../include/apps.php:139
+#: ../../include/conversation.php:1611 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "תצלומים"
+
+#: ../../include/nav.php:97
+msgid "Your photos"
+msgstr "התצלומים שלך"
+
+#: ../../include/nav.php:98
+msgid "Your files"
+msgstr "הקבצים שלך"
+
+#: ../../include/nav.php:103 ../../include/apps.php:146
+msgid "Chat"
+msgstr "שיחה"
+
+#: ../../include/nav.php:103
+msgid "Your chatrooms"
+msgstr "החדרי שיחה שלך"
+
+#: ../../include/nav.php:109 ../../include/apps.php:129
+#: ../../include/conversation.php:1646
+msgid "Bookmarks"
+msgstr "סימניות"
+
+#: ../../include/nav.php:109
+msgid "Your bookmarks"
+msgstr "הסימניות שלך"
+
+#: ../../include/nav.php:113 ../../include/apps.php:136
+#: ../../include/conversation.php:1656 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "עמודי רשת"
+
+#: ../../include/nav.php:113
+msgid "Your webpages"
+msgstr "העמודי רשת שלך"
+
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+msgid "Login"
+msgstr "כניסה"
+
+#: ../../include/nav.php:117
+msgid "Sign in"
+msgstr "התחברות"
+
+#: ../../include/nav.php:134
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - לחץ כדי להתנתק"
+
+#: ../../include/nav.php:137
+msgid "Remote authentication"
+msgstr "אימות מרוחק"
+
+#: ../../include/nav.php:137
+msgid "Click to authenticate to your home hub"
+msgstr ""
+
+#: ../../include/nav.php:151
+msgid "Home Page"
+msgstr "עמוד בית"
+
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+msgid "Register"
+msgstr "הרשמה"
+
+#: ../../include/nav.php:155
+msgid "Create an account"
+msgstr "צור חשבון"
+
+#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
+#: ../../mod/help.php:72 ../../mod/layouts.php:176
+msgid "Help"
+msgstr "עזרה"
+
+#: ../../include/nav.php:160
+msgid "Help and documentation"
+msgstr "עזרה ותיעוד"
+
+#: ../../include/nav.php:163 ../../include/widgets.php:91
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "אפליקציות"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr ""
+
+#: ../../include/nav.php:165 ../../include/text.php:914
+#: ../../include/text.php:926 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "חיפוש"
+
+#: ../../include/nav.php:165
+msgid "Search site content"
+msgstr ""
+
+#: ../../include/nav.php:168 ../../include/apps.php:141
+msgid "Directory"
+msgstr "ספרייה"
+
+#: ../../include/nav.php:168
+msgid "Channel Directory"
+msgstr "ערוץ ספרייה"
+
+#: ../../include/nav.php:180 ../../include/apps.php:133
+msgid "Matrix"
+msgstr "מטריצה"
+
+#: ../../include/nav.php:180
+msgid "Your matrix"
+msgstr "המטריצה שלך"
+
+#: ../../include/nav.php:181
+msgid "Mark all matrix notifications seen"
+msgstr "סמן את כל התראות המטריצה כנקראו"
+
+#: ../../include/nav.php:183 ../../include/apps.php:137
+msgid "Channel Home"
+msgstr "ערוץ בית"
+
+#: ../../include/nav.php:183
+msgid "Channel home"
+msgstr "ערוץ בית"
+
+#: ../../include/nav.php:184
+msgid "Mark all channel notifications seen"
+msgstr "סמן את כל התראות הערוץ כנקראו"
+
+#: ../../include/nav.php:187 ../../mod/connections.php:267
+msgid "Connections"
+msgstr "חיבורים"
+
+#: ../../include/nav.php:190
+msgid "Notices"
+msgstr "הודעות"
+
+#: ../../include/nav.php:190
+msgid "Notifications"
+msgstr "התראות"
+
+#: ../../include/nav.php:191
+msgid "See all notifications"
+msgstr "צפה בכל ההתראות"
+
+#: ../../include/nav.php:192 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "סמן את כל התראות המערכת כנקראו"
+
+#: ../../include/nav.php:194 ../../include/apps.php:143
+msgid "Mail"
+msgstr "דואר"
+
+#: ../../include/nav.php:194
+msgid "Private mail"
+msgstr "דואר פרטי"
+
+#: ../../include/nav.php:195
+msgid "See all private messages"
+msgstr "צפה בכל ההודעות הפרטיות"
+
+#: ../../include/nav.php:196
+msgid "Mark all private messages seen"
+msgstr "סמן את כל ההודעות הפרטיות כנקראו"
+
+#: ../../include/nav.php:197
+msgid "Inbox"
+msgstr "תיבה נכנסת"
+
+#: ../../include/nav.php:198
+msgid "Outbox"
+msgstr "תיבה יוצאת"
+
+#: ../../include/nav.php:199 ../../include/widgets.php:577
+msgid "New Message"
+msgstr "הודעה חדשה"
+
+#: ../../include/nav.php:202 ../../include/apps.php:140
+#: ../../mod/events.php:503
+msgid "Events"
+msgstr "אירועים"
+
+#: ../../include/nav.php:202
+msgid "Event Calendar"
+msgstr "לוח שנה אירועים"
+
+#: ../../include/nav.php:203
+msgid "See all events"
+msgstr "ראה את כל האירועים"
+
+#: ../../include/nav.php:204
+msgid "Mark all events seen"
+msgstr "סמן את כל האירועים כנקראו"
+
+#: ../../include/nav.php:206 ../../include/apps.php:132
+#: ../../mod/manage.php:166
+msgid "Channel Manager"
+msgstr "מנהל ערוץ"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "נהל את הערוצים שלך"
+
+#: ../../include/nav.php:208 ../../include/widgets.php:556
+#: ../../include/apps.php:134 ../../mod/admin.php:1079
+#: ../../mod/admin.php:1279
+msgid "Settings"
+msgstr "הגדרות"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "הגדרות חשבון/ערוץ"
+
+#: ../../include/nav.php:216 ../../mod/admin.php:120
+msgid "Admin"
+msgstr "מנהל"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "הבניית והגדרת אתר"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:861
+msgid "Loading..."
+msgstr "כעת טוען..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, content"
+msgstr "@שם, #תגית, תוכן"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "אנא המתן..."
+
+#: ../../include/network.php:650
+msgid "view full size"
+msgstr ""
+
+#: ../../include/network.php:1600 ../../include/enotify.php:58
+msgid "$Projectname Notification"
+msgstr ""
+
+#: ../../include/network.php:1601 ../../include/diaspora.php:2526
+#: ../../include/diaspora.php:2537 ../../include/enotify.php:59
+#: ../../mod/p.php:46
+msgid "$projectname"
+msgstr ""
+
+#: ../../include/network.php:1603 ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "תודה,"
+
+#: ../../include/network.php:1605 ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "הנהלת %s"
+
+#: ../../include/network.php:1647 ../../include/account.php:314
+#: ../../include/account.php:341 ../../include/account.php:401
+msgid "Administrator"
+msgstr "מנהל"
+
+#: ../../include/network.php:1661
+msgid "No Subject"
+msgstr "אין נושא"
+
+#: ../../include/text.php:391
+msgid "prev"
+msgstr "קודם"
+
+#: ../../include/text.php:393
+msgid "first"
+msgstr "ראשון"
+
+#: ../../include/text.php:422
+msgid "last"
+msgstr "אחרון"
+
+#: ../../include/text.php:425
+msgid "next"
+msgstr "הבא"
+
+#: ../../include/text.php:435
+msgid "older"
+msgstr "ישן יותר"
+
+#: ../../include/text.php:437
+msgid "newer"
+msgstr "חדש יותר"
+
+#: ../../include/text.php:830
+msgid "No connections"
+msgstr "אין חיבורים"
+
+#: ../../include/text.php:844
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "חיבור %d"
+msgstr[1] "%d חיבורים"
+
+#: ../../include/text.php:857 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr "צפה בחיבורים"
+
+#: ../../include/text.php:915 ../../include/text.php:927
+#: ../../include/widgets.php:192 ../../mod/admin.php:1457
+#: ../../mod/admin.php:1477 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50
+msgid "Save"
+msgstr "שמור"
+
+#: ../../include/text.php:990
+msgid "poke"
+msgstr ""
+
+#: ../../include/text.php:990 ../../include/conversation.php:243
+msgid "poked"
+msgstr ""
+
+#: ../../include/text.php:991
+msgid "ping"
+msgstr ""
+
+#: ../../include/text.php:991
+msgid "pinged"
+msgstr ""
+
+#: ../../include/text.php:992
+msgid "prod"
+msgstr ""
+
+#: ../../include/text.php:992
+msgid "prodded"
+msgstr ""
+
+#: ../../include/text.php:993
+msgid "slap"
+msgstr ""
+
+#: ../../include/text.php:993
+msgid "slapped"
+msgstr ""
+
+#: ../../include/text.php:994
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:994
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:995
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:995
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1005
+msgid "happy"
+msgstr "שמח"
+
+#: ../../include/text.php:1006
+msgid "sad"
+msgstr "עצוב"
+
+#: ../../include/text.php:1007
+msgid "mellow"
+msgstr "מתון"
+
+#: ../../include/text.php:1008
+msgid "tired"
+msgstr "עייף"
+
+#: ../../include/text.php:1009
+msgid "perky"
+msgstr "חצוף"
+
+#: ../../include/text.php:1010
+msgid "angry"
+msgstr "כועס"
+
+#: ../../include/text.php:1011
+msgid "stupified"
+msgstr ""
+
+#: ../../include/text.php:1012
+msgid "puzzled"
+msgstr "נבוך"
+
+#: ../../include/text.php:1013
+msgid "interested"
+msgstr "מגלה עניין"
+
+#: ../../include/text.php:1014
+msgid "bitter"
+msgstr "מר"
+
+#: ../../include/text.php:1015
+msgid "cheerful"
+msgstr "עליז"
+
+#: ../../include/text.php:1016
+msgid "alive"
+msgstr "חי"
+
+#: ../../include/text.php:1017
+msgid "annoyed"
+msgstr "נרגז"
+
+#: ../../include/text.php:1018
+msgid "anxious"
+msgstr "נרגז"
+
+#: ../../include/text.php:1019
+msgid "cranky"
+msgstr "נרגז"
+
+#: ../../include/text.php:1020
+msgid "disturbed"
+msgstr "מופרע"
+
+#: ../../include/text.php:1021
+msgid "frustrated"
+msgstr "מתוסכל"
+
+#: ../../include/text.php:1022
+msgid "depressed"
+msgstr "מדוכא"
+
+#: ../../include/text.php:1023
+msgid "motivated"
+msgstr "מונע"
+
+#: ../../include/text.php:1024
+msgid "relaxed"
+msgstr "רגוע"
+
+#: ../../include/text.php:1025
+msgid "surprised"
+msgstr "מופתע"
+
+#: ../../include/text.php:1197
+msgid "Monday"
+msgstr "יום שני"
+
+#: ../../include/text.php:1197
+msgid "Tuesday"
+msgstr "יום שלישי"
+
+#: ../../include/text.php:1197
+msgid "Wednesday"
+msgstr "יום רביעי"
+
+#: ../../include/text.php:1197
+msgid "Thursday"
+msgstr "יום חמישי"
+
+#: ../../include/text.php:1197
+msgid "Friday"
+msgstr "יום שישי"
+
+#: ../../include/text.php:1197
+msgid "Saturday"
+msgstr "יום שבת"
+
+#: ../../include/text.php:1197
+msgid "Sunday"
+msgstr "יום ראשון"
+
+#: ../../include/text.php:1201
+msgid "January"
+msgstr "ינואר"
+
+#: ../../include/text.php:1201
+msgid "February"
+msgstr "פברואר"
+
+#: ../../include/text.php:1201
+msgid "March"
+msgstr "מרץ"
+
+#: ../../include/text.php:1201
+msgid "April"
+msgstr "אפריל"
+
+#: ../../include/text.php:1201 ../../mod/uexport.php:58
+#: ../../mod/uexport.php:59
+msgid "May"
+msgstr "מאי"
+
+#: ../../include/text.php:1201
+msgid "June"
+msgstr "יוני"
+
+#: ../../include/text.php:1201
+msgid "July"
+msgstr "יולי"
+
+#: ../../include/text.php:1201
+msgid "August"
+msgstr "אוגוסט"
+
+#: ../../include/text.php:1201
+msgid "September"
+msgstr "ספטמבר"
+
+#: ../../include/text.php:1201
+msgid "October"
+msgstr "אוקטובר"
+
+#: ../../include/text.php:1201
+msgid "November"
+msgstr "נובמבר"
+
+#: ../../include/text.php:1201
+msgid "December"
+msgstr "דצמבר"
+
+#: ../../include/text.php:1306
+msgid "unknown.???"
+msgstr ""
+
+#: ../../include/text.php:1307
+msgid "bytes"
+msgstr "בייטים"
+
+#: ../../include/text.php:1343
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1418
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1506 ../../include/text.php:1517
+msgid "Click to open/close"
+msgstr "לחץ כדי לפתוח/לסגור"
+
+#: ../../include/text.php:1673 ../../mod/events.php:474
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:1694 ../../include/text.php:1765
+msgid "default"
+msgstr "ברירת מחדל"
+
+#: ../../include/text.php:1702
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1702
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1743
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:1777
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/text.php:1896 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr "תצלום"
+
+#: ../../include/text.php:1899 ../../include/conversation.php:123
+#: ../../mod/like.php:351 ../../mod/tagger.php:47
+msgid "event"
+msgstr "אירוע"
+
+#: ../../include/text.php:1902 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+msgid "status"
+msgstr "סטטוס"
+
+#: ../../include/text.php:1904 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "תגובה"
+
+#: ../../include/text.php:1909
+msgid "activity"
+msgstr "פעילות"
+
+#: ../../include/text.php:2204
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2207 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr ""
+
+#: ../../include/text.php:2208 ../../mod/menu.php:101
+msgid "Menus"
+msgstr "תפריטים"
+
+#: ../../include/text.php:2209 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr ""
+
+#: ../../include/text.php:2210
+msgid "Pages"
+msgstr "עמודים"
+
+#: ../../include/widgets.php:35 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:264
+msgid "Categories"
+msgstr "קטגוריות"
+
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "מערכת"
+
+#: ../../include/widgets.php:94 ../../include/conversation.php:1515
+msgid "Personal"
+msgstr "אישי"
+
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "צור אפליקציה אישית"
+
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "ערוך אפליקציה אישית"
+
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../include/conversation.php:956
+#: ../../include/identity.php:956 ../../mod/match.php:64
+#: ../../mod/directory.php:316 ../../mod/suggest.php:52
+msgid "Connect"
+msgstr "התחבר"
+
+#: ../../include/widgets.php:138 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
+msgstr "התעלם/הסתר"
+
+#: ../../include/widgets.php:143 ../../mod/connections.php:128
+msgid "Suggestions"
+msgstr "הצעות"
+
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "צפה בעוד..."
+
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
+
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr ""
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr ""
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr ""
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "תזכירים"
+
+#: ../../include/widgets.php:266
+msgid "Remove term"
+msgstr ""
+
+#: ../../include/widgets.php:274 ../../include/features.php:70
+msgid "Saved Searches"
+msgstr ""
+
+#: ../../include/widgets.php:275 ../../include/group.php:303
+msgid "add"
+msgstr "להוסיף"
+
+#: ../../include/widgets.php:304 ../../include/contact_widgets.php:57
+#: ../../include/features.php:83
+msgid "Saved Folders"
+msgstr ""
+
+#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "כל דבר"
+
+#: ../../include/widgets.php:349
+msgid "Archives"
+msgstr "ארכיונים"
+
+#: ../../include/widgets.php:429 ../../mod/connedit.php:583
+msgid "Me"
+msgstr "אני"
+
+#: ../../include/widgets.php:430 ../../mod/connedit.php:584
+msgid "Family"
+msgstr "משפחה"
+
+#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/identity.php:395 ../../include/identity.php:402
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:585
+#: ../../mod/settings.php:345 ../../mod/settings.php:349
+#: ../../mod/settings.php:350 ../../mod/settings.php:353
+#: ../../mod/settings.php:364
+msgid "Friends"
+msgstr "חברים"
+
+#: ../../include/widgets.php:432 ../../mod/connedit.php:586
+msgid "Acquaintances"
+msgstr "מכרים"
+
+#: ../../include/widgets.php:433 ../../mod/connections.php:91
+#: ../../mod/connections.php:106 ../../mod/connedit.php:587
+msgid "All"
+msgstr "הכל"
+
+#: ../../include/widgets.php:452
+msgid "Refresh"
+msgstr "רענן"
+
+#: ../../include/widgets.php:487
+msgid "Account settings"
+msgstr "הגדרות חשבון"
+
+#: ../../include/widgets.php:493
+msgid "Channel settings"
+msgstr "הגדרות ערוץ"
+
+#: ../../include/widgets.php:499
+msgid "Additional features"
+msgstr "תכונות נוספות"
+
+#: ../../include/widgets.php:505
+msgid "Feature/Addon settings"
+msgstr ""
+
+#: ../../include/widgets.php:511
+msgid "Display settings"
+msgstr "הגדרות תצוגה"
+
+#: ../../include/widgets.php:517
+msgid "Connected apps"
+msgstr "אפליקציות מחוברות"
+
+#: ../../include/widgets.php:523
+msgid "Export channel"
+msgstr "יצא ערוץ"
+
+#: ../../include/widgets.php:532 ../../mod/connedit.php:674
+msgid "Connection Default Permissions"
+msgstr ""
+
+#: ../../include/widgets.php:540
+msgid "Premium Channel Settings"
+msgstr ""
+
+#: ../../include/widgets.php:548 ../../include/features.php:59
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "מקורות ערוץ"
+
+#: ../../include/widgets.php:569 ../../mod/mail.php:128
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "הודעות"
+
+#: ../../include/widgets.php:572
+msgid "Check Mail"
+msgstr "בדוק דואר"
+
+#: ../../include/widgets.php:652
+msgid "Chat Rooms"
+msgstr "חדרי שיחה"
+
+#: ../../include/widgets.php:672
+msgid "Bookmarked Chatrooms"
+msgstr "חדרי שיחה מסומנים"
+
+#: ../../include/widgets.php:692
+msgid "Suggested Chatrooms"
+msgstr "חדרי שיחה מוצעים"
+
+#: ../../include/widgets.php:819 ../../include/widgets.php:877
+msgid "photo/image"
+msgstr "תצלום/תמונה"
+
+#: ../../include/widgets.php:972 ../../include/widgets.php:974
+msgid "Rate Me"
+msgstr "דרג אותי"
+
+#: ../../include/widgets.php:978
+msgid "View Ratings"
+msgstr "צפה בדירוגים"
+
+#: ../../include/widgets.php:989
+msgid "Public Hubs"
+msgstr "מוקדים פומביים"
+
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "חלון חדש"
+
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "פתח את המיקום הנבחר בתוך חלון או סימניית דפדפן אחרים"
+
+#: ../../include/Contact.php:212
+#, php-format
+msgid "User '%s' deleted"
+msgstr "משתמש '%s' נמחק"
+
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr ""
+
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[אין נושא]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr ""
+
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr ""
+
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr ""
+
+#: ../../include/zot.php:2209
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr ""
+
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "צור פוסט חדש"
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "הגיב/ה על פוסט של %s"
+
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:678
+msgid "Private Message"
+msgstr "הודעה פרטית"
+
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:670
+msgid "Select"
+msgstr "בחר"
+
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "שמור לתיקייה"
+
+#: ../../include/ItemObject.php:151
+msgid "I will attend"
+msgstr "אני אופיע"
+
+#: ../../include/ItemObject.php:151
+msgid "I will not attend"
+msgstr "אני לא אופיע"
+
+#: ../../include/ItemObject.php:151
+msgid "I might attend"
+msgstr "אני עשוי/ה להופיע"
+
+#: ../../include/ItemObject.php:161
+msgid "I agree"
+msgstr "אני מסכים/ה"
+
+#: ../../include/ItemObject.php:161
+msgid "I disagree"
+msgstr "אני לא מסכים/ה"
+
+#: ../../include/ItemObject.php:161
+msgid "I abstain"
+msgstr "אני נמנע/ת"
+
+#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
+#: ../../include/conversation.php:1688 ../../mod/photos.php:1015
+#: ../../mod/photos.php:1027
+msgid "View all"
+msgstr "צפה בכולם"
+
+#: ../../include/ItemObject.php:179 ../../include/conversation.php:1712
+#: ../../include/identity.php:1266 ../../include/taxonomy.php:396
+#: ../../mod/photos.php:1019
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
+#: ../../mod/photos.php:1024
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:212
+msgid "Add Star"
+msgstr "הוסף כוכב"
+
+#: ../../include/ItemObject.php:213
+msgid "Remove Star"
+msgstr "הסר כוכב"
+
+#: ../../include/ItemObject.php:214
+msgid "Toggle Star Status"
+msgstr ""
+
+#: ../../include/ItemObject.php:218
+msgid "starred"
+msgstr ""
+
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:685
+msgid "Message signature validated"
+msgstr ""
+
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:686
+msgid "Message signature incorrect"
+msgstr ""
+
+#: ../../include/ItemObject.php:236
+msgid "Add Tag"
+msgstr "הוסף תגית"
+
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+msgid "I like this (toggle)"
+msgstr "אהבתי את זה (החלף)"
+
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
+msgid "like"
+msgstr ""
+
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+msgid "I don't like this (toggle)"
+msgstr "לא אהבתי את זה (החלף)"
+
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
+msgid "dislike"
+msgstr ""
+
+#: ../../include/ItemObject.php:259
+msgid "Share This"
+msgstr "שתף זאת"
+
+#: ../../include/ItemObject.php:259
+msgid "share"
+msgstr "שתף"
+
+#: ../../include/ItemObject.php:277
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296
+#, php-format
+msgid "View %s's profile - %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:299
+msgid "to"
+msgstr "אל"
+
+#: ../../include/ItemObject.php:300
+msgid "via"
+msgstr ""
+
+#: ../../include/ItemObject.php:301
+msgid "Wall-to-Wall"
+msgstr ""
+
+#: ../../include/ItemObject.php:302
+msgid "via Wall-To-Wall:"
+msgstr ""
+
+#: ../../include/ItemObject.php:313 ../../include/conversation.php:727
+#, php-format
+msgid "from %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:730
+#, php-format
+msgid "last edited: %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:317 ../../include/conversation.php:731
+#, php-format
+msgid "Expires: %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:338
+msgid "Save Bookmarks"
+msgstr ""
+
+#: ../../include/ItemObject.php:339
+msgid "Add to Calendar"
+msgstr ""
+
+#: ../../include/ItemObject.php:348
+msgid "Mark all seen"
+msgstr "סמן את הכל כנקראו"
+
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1145
+msgctxt "noun"
+msgid "Likes"
+msgstr ""
+
+#: ../../include/ItemObject.php:355 ../../mod/photos.php:1146
+msgctxt "noun"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../include/ItemObject.php:360 ../../include/acl_selectors.php:249
+#: ../../mod/photos.php:1151
+msgid "Close"
+msgstr "סגור"
+
+#: ../../include/ItemObject.php:365 ../../include/conversation.php:748
+#: ../../include/conversation.php:1220 ../../mod/mail.php:241
+#: ../../mod/mail.php:356 ../../mod/photos.php:962 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:123
+#: ../../mod/editwebpage.php:192
+msgid "Please wait"
+msgstr "אנא המתן"
+
+#: ../../include/ItemObject.php:385 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] הצג הכל"
+
+#: ../../include/ItemObject.php:666 ../../mod/photos.php:978
+#: ../../mod/photos.php:1096
+msgid "This is you"
+msgstr "זה את/ה"
+
+#: ../../include/ItemObject.php:668 ../../include/js_strings.php:6
+#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+msgid "Comment"
+msgstr "תגובה"
+
+#: ../../include/ItemObject.php:669 ../../include/js_strings.php:22
+#: ../../mod/mail.php:355 ../../mod/admin.php:453 ../../mod/admin.php:819
+#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
+#: ../../mod/admin.php:1397 ../../mod/pconfig.php:108 ../../mod/pdledit.php:58
+#: ../../mod/appman.php:99 ../../mod/photos.php:577 ../../mod/photos.php:654
+#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
+#: ../../mod/poke.php:166 ../../mod/bulksetclose.php:24 ../../mod/poll.php:68
+#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:93
+#: ../../mod/profiles.php:667 ../../mod/connedit.php:704
+#: ../../mod/rate.php:167 ../../mod/events.php:511 ../../mod/events.php:693
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/group.php:81 ../../mod/import.php:592 ../../mod/invite.php:142
+#: ../../mod/settings.php:588 ../../mod/settings.php:692
+#: ../../mod/settings.php:718 ../../mod/settings.php:746
+#: ../../mod/settings.php:769 ../../mod/settings.php:854
+#: ../../mod/settings.php:1050 ../../mod/setup.php:327 ../../mod/setup.php:367
+#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/mitem.php:235 ../../mod/mood.php:134 ../../mod/thing.php:303
+#: ../../mod/thing.php:346 ../../mod/xchan.php:11
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "שלח"
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1192
+#: ../../mod/editblock.php:135 ../../mod/editlayout.php:134
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:179
+msgid "Bold"
+msgstr "מובלט"
+
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1193
+#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:180
+msgid "Italic"
+msgstr "נטוי"
+
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1194
+#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
+#: ../../mod/editpost.php:109 ../../mod/editwebpage.php:181
+msgid "Underline"
+msgstr "קו תחתון"
+
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1195
+#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
+#: ../../mod/editpost.php:110 ../../mod/editwebpage.php:182
+msgid "Quote"
+msgstr "ציטוט"
+
+#: ../../include/ItemObject.php:674 ../../include/conversation.php:1196
+#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
+#: ../../mod/editpost.php:111 ../../mod/editwebpage.php:183
+msgid "Code"
+msgstr "קוד"
+
+#: ../../include/ItemObject.php:675
+msgid "Image"
+msgstr "תמונה"
+
+#: ../../include/ItemObject.php:676
+msgid "Insert Link"
+msgstr "הכנס קישור"
+
+#: ../../include/ItemObject.php:677
+msgid "Video"
+msgstr "וידאו"
+
+#: ../../include/ItemObject.php:678 ../../include/conversation.php:1166
+#: ../../include/page_widgets.php:40 ../../mod/photos.php:982
+#: ../../mod/editblock.php:170 ../../mod/editpost.php:143
+#: ../../mod/editwebpage.php:214 ../../mod/events.php:690
+#: ../../mod/webpages.php:188
+msgid "Preview"
+msgstr "תצוגה מקדימה"
+
+#: ../../include/ItemObject.php:681 ../../include/conversation.php:1247
+#: ../../mod/mail.php:247 ../../mod/mail.php:361 ../../mod/editpost.php:151
+msgid "Encrypt text"
+msgstr "הצפן טקסט"
+
+#: ../../include/account.php:27
+msgid "Not a valid email address"
+msgstr "כתובת דוא״ל לא תקינה"
+
+#: ../../include/account.php:29
+msgid "Your email domain is not among those allowed on this site"
+msgstr ""
+
+#: ../../include/account.php:35
+msgid "Your email address is already registered at this site."
+msgstr ""
+
+#: ../../include/account.php:67
+msgid "An invitation is required."
+msgstr "נדרשת הזמנה."
+
+#: ../../include/account.php:71
+msgid "Invitation could not be verified."
+msgstr "אימות הזמנה לא התאפשר."
+
+#: ../../include/account.php:121
+msgid "Please enter the required information."
+msgstr "אנא הזן את המידע הנחוץ."
+
+#: ../../include/account.php:188
+msgid "Failed to store account information."
+msgstr "נכשל לאחסן מידע חשבון."
+
+#: ../../include/account.php:246
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "אימות רישום עבור %s"
+
+#: ../../include/account.php:312
+#, php-format
+msgid "Registration request at %s"
+msgstr "בקשת רישום אצל %s"
+
+#: ../../include/account.php:336
+msgid "your registration password"
+msgstr "סיסמת רישום שלך"
+
+#: ../../include/account.php:339 ../../include/account.php:399
+#, php-format
+msgid "Registration details for %s"
+msgstr "פרטי רישום עבור %s"
+
+#: ../../include/account.php:408
+msgid "Account approved."
+msgstr "חשבון אושר."
+
+#: ../../include/account.php:447
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "רישום בוטל עבור %s"
+
+#: ../../include/account.php:492
+msgid "Account verified. Please login."
+msgstr "חשבון אומת. אנא התחבר."
+
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
+msgstr "לחץ כאן כדי לשדרג."
+
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
+#: ../../include/oembed.php:183
+msgid "Embedded content"
+msgstr ""
+
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
+msgstr ""
+
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr ""
+
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "הצג"
+
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "אל תציג"
+
+#: ../../include/acl_selectors.php:248 ../../mod/photos.php:571
+#: ../../mod/photos.php:934 ../../mod/chat.php:209 ../../mod/events.php:691
+#: ../../mod/filestorage.php:147
+msgid "Permissions"
+msgstr "הרשאות"
+
+#: ../../include/activities.php:39
+msgid " and "
+msgstr " וגם "
+
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "פרופיל פומבי"
+
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr ""
+
+#: ../../include/activities.php:57
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr ""
+
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr ""
+
+#: ../../include/api.php:1178
+msgid "Public Timeline"
+msgstr "ציר זמן פומבי"
+
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "מנהל אתר"
+
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "פנקס כתובות"
+
+#: ../../include/apps.php:138 ../../include/identity.php:1240
+#: ../../include/identity.php:1357 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "פרופיל"
+
+#: ../../include/apps.php:144 ../../mod/mood.php:130
+msgid "Mood"
+msgstr "מצב רוח"
+
+#: ../../include/apps.php:145 ../../include/conversation.php:959
+msgid "Poke"
+msgstr ""
+
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr ""
+
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "הצע"
+
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr ""
+
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "הזמן"
+
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "תכונות"
+
+#: ../../include/apps.php:153 ../../mod/id.php:28
+msgid "Language"
+msgstr "שפה"
+
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "פוסט"
+
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
+msgid "Profile Photo"
+msgstr "תצלום פרופיל"
+
+#: ../../include/apps.php:247 ../../mod/settings.php:84
+#: ../../mod/settings.php:614
+msgid "Update"
+msgstr "עדכן"
+
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "התקן"
+
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "רכוש"
+
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+#: ../../include/items.php:4383 ../../include/photos.php:26
+#: ../../mod/mail.php:114 ../../mod/achievements.php:30 ../../mod/page.php:31
+#: ../../mod/page.php:86 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/pdledit.php:21 ../../mod/appman.php:66 ../../mod/photos.php:69
+#: ../../mod/authtest.php:13 ../../mod/block.php:22 ../../mod/block.php:72
+#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/poke.php:128
+#: ../../mod/bookmarks.php:46 ../../mod/manage.php:6 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262 ../../mod/chat.php:90
+#: ../../mod/chat.php:95 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/common.php:35 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/notifications.php:66
+#: ../../mod/connections.php:29 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/connedit.php:348
+#: ../../mod/editblock.php:65 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/editpost.php:13
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/events.php:249
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/register.php:72 ../../mod/fsuggest.php:78 ../../mod/regmod.php:17
+#: ../../mod/group.php:9 ../../mod/id.php:71 ../../mod/service_limits.php:7
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/settings.php:570
+#: ../../mod/item.php:206 ../../mod/item.php:214 ../../mod/item.php:1005
+#: ../../mod/setup.php:223 ../../mod/layouts.php:69 ../../mod/layouts.php:76
+#: ../../mod/layouts.php:87 ../../mod/sharedwithme.php:7
+#: ../../mod/like.php:178 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:72 ../../mod/message.php:16 ../../mod/mitem.php:111
+#: ../../mod/mood.php:111 ../../mod/suggest.php:26 ../../mod/network.php:12
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/thing.php:269 ../../mod/thing.php:284 ../../mod/thing.php:318
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69 ../../index.php:186
+#: ../../index.php:397
+msgid "Permission denied."
+msgstr "הרשאה נדחתה."
+
+#: ../../include/attach.php:242 ../../include/attach.php:300
+msgid "Item was not found."
+msgstr "פריט לא נמצא."
+
+#: ../../include/attach.php:363
+msgid "No source file."
+msgstr "אין קובץ מקור."
+
+#: ../../include/attach.php:381
+msgid "Cannot locate file to replace"
+msgstr ""
+
+#: ../../include/attach.php:399
+msgid "Cannot locate file to revise/update"
+msgstr ""
+
+#: ../../include/attach.php:410
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr ""
+
+#: ../../include/attach.php:422
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr ""
+
+#: ../../include/attach.php:505
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr ""
+
+#: ../../include/attach.php:517
+msgid "Stored file could not be verified. Upload failed."
+msgstr ""
+
+#: ../../include/attach.php:561 ../../include/attach.php:578
+msgid "Path not available."
+msgstr "נתיב לא זמין."
+
+#: ../../include/attach.php:623
+msgid "Empty pathname"
+msgstr ""
+
+#: ../../include/attach.php:639
+msgid "duplicate filename or path"
+msgstr ""
+
+#: ../../include/attach.php:663
+msgid "Path not found."
+msgstr "נתיב לא נמצא."
+
+#: ../../include/attach.php:714
+msgid "mkdir failed."
+msgstr "mkdir נכשל."
+
+#: ../../include/attach.php:718
+msgid "database storage failed."
+msgstr ""
+
+#: ../../include/auth.php:131
+msgid "Logged out."
+msgstr "מנותק."
+
+#: ../../include/auth.php:272
+msgid "Failed authentication"
+msgstr "אימות נכשל"
+
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "התחברות נכשלה."
+
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
+msgstr "תצריפים:"
+
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:22
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
+
+#: ../../include/bb2diaspora.php:461
+msgid "$Projectname event notification:"
+msgstr ""
+
+#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
+msgid "Starts:"
+msgstr "מתחיל:"
+
+#: ../../include/bb2diaspora.php:473 ../../include/event.php:40
+msgid "Finishes:"
+msgstr "נגמר:"
+
+#: ../../include/bb2diaspora.php:481 ../../include/event.php:50
+#: ../../include/identity.php:1007 ../../mod/directory.php:302
+#: ../../mod/events.php:684
+msgid "Location:"
+msgstr "מיקום:"
+
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
+#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
+#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
+#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
+#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
+#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
+#: ../../include/bbcode.php:807
+msgid "Image/photo"
+msgstr "תמונה/תצלום"
+
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
+msgid "Encrypted content"
+msgstr "תוכן מוצפן"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr ""
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr ""
+
+#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+msgid "webpage"
+msgstr "עמוד רשת"
+
+#: ../../include/bbcode.php:195 ../../mod/impel.php:47
+msgid "layout"
+msgstr ""
+
+#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+msgid "block"
+msgstr ""
+
+#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+msgid "menu"
+msgstr "תפריט"
+
+#: ../../include/bbcode.php:215
+msgid "QR code"
+msgstr "קוד QR"
+
+#: ../../include/bbcode.php:266
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr ""
+
+#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
+msgid "post"
+msgstr "פוסט"
+
+#: ../../include/bbcode.php:518
+msgid "Different viewers will see this text differently"
+msgstr ""
+
+#: ../../include/bbcode.php:729
+msgid "$1 spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:756
+msgid "$1 wrote:"
+msgstr "$1 כתב(ה):"
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr ""
+
+#: ../../include/chat.php:23
+msgid "Missing room name"
+msgstr ""
+
+#: ../../include/chat.php:32
+msgid "Duplicate room name"
+msgstr ""
+
+#: ../../include/chat.php:82 ../../include/chat.php:90
+msgid "Invalid room specifier."
+msgstr ""
+
+#: ../../include/chat.php:120
+msgid "Room not found."
+msgstr "חדר לא נמצא."
+
+#: ../../include/chat.php:141
+msgid "Room is full"
+msgstr "חדר מלא"
+
+#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "ברירת מחדל"
+
+#: ../../include/security.php:349
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr ""
+
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "באופן תדיר"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "כל שעה"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "פעמיים ביום"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "יומי"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "שבועי"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "חודשי"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
+#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1553
+msgid "Email"
+msgstr "דוא״ל"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "פייסבוק"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "הזמנה %d זמינה"
+msgstr[1] "%d הזמנות זמינות"
+
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+msgid "Advanced"
+msgstr "מתקדם"
+
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
+msgstr "מצא ערוצים"
+
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
+msgstr "הזן שם או עניין"
+
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
+msgstr "התחבר/עקוב"
+
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr ""
+
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:273
+#: ../../mod/directory.php:379 ../../mod/directory.php:384
+msgid "Find"
+msgstr "מצא"
+
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../mod/suggest.php:60
+msgid "Channel Suggestions"
+msgstr "הצעות ערוץ"
+
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
+msgstr "פרופיל אקראי"
+
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
+msgstr "הזמן חברים"
+
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "דוגמא מתקדמת: name=פרד וגם country=איסלנד"
+
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:130
+msgid "show more"
+msgstr "הצג עוד"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr "ערוץ"
+
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2152
+#: ../../mod/like.php:397
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr ""
+
+#: ../../include/conversation.php:167 ../../mod/like.php:399
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr ""
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
+msgctxt "title"
+msgid "Likes"
+msgstr ""
+
+#: ../../include/conversation.php:583 ../../mod/photos.php:996
+msgctxt "title"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Agree"
+msgstr "מסכים"
+
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Disagree"
+msgstr "לא מסכים"
+
+#: ../../include/conversation.php:584 ../../mod/photos.php:997
+msgctxt "title"
+msgid "Abstain"
+msgstr "נמנע"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Attending"
+msgstr "נוכח"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Not attending"
+msgstr "לא נוכח"
+
+#: ../../include/conversation.php:585 ../../mod/photos.php:998
+msgctxt "title"
+msgid "Might attend"
+msgstr "עשוי להיווכח"
+
+#: ../../include/conversation.php:703
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr ""
+
+#: ../../include/conversation.php:718
+msgid "Categories:"
+msgstr "קטגוריות:"
+
+#: ../../include/conversation.php:719
+msgid "Filed under:"
+msgstr "תויק תחת:"
+
+#: ../../include/conversation.php:746
+msgid "View in context"
+msgstr ""
+
+#: ../../include/conversation.php:857
+msgid "remove"
+msgstr "להסיר"
+
+#: ../../include/conversation.php:862
+msgid "Delete Selected Items"
+msgstr ""
+
+#: ../../include/conversation.php:950
+msgid "View Source"
+msgstr "צפה במקור"
+
+#: ../../include/conversation.php:951
+msgid "Follow Thread"
+msgstr "עקוב שרשור"
+
+#: ../../include/conversation.php:952
+msgid "View Status"
+msgstr "צפה בסטטוס"
+
+#: ../../include/conversation.php:954
+msgid "View Photos"
+msgstr "צפה בתצלומים"
+
+#: ../../include/conversation.php:955
+msgid "Matrix Activity"
+msgstr "פעילות מטריצה"
+
+#: ../../include/conversation.php:957
+msgid "Edit Contact"
+msgstr "ערוך איש קשר"
+
+#: ../../include/conversation.php:958
+msgid "Send PM"
+msgstr "שלח הודעה פרטית"
+
+#: ../../include/conversation.php:1073
+#, php-format
+msgid "%s likes this."
+msgstr ""
+
+#: ../../include/conversation.php:1073
+#, php-format
+msgid "%s doesn't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1085
+msgid "and"
+msgstr ""
+
+#: ../../include/conversation.php:1088
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1089
+#, php-format
+msgid "%s like this."
+msgstr ""
+
+#: ../../include/conversation.php:1089
+#, php-format
+msgid "%s don't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1151
+msgid "Visible to <strong>everybody</strong>"
+msgstr ""
+
+#: ../../include/conversation.php:1152 ../../mod/mail.php:174
+#: ../../mod/mail.php:289
+msgid "Please enter a link URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1153
+msgid "Please enter a video link/URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1154
+msgid "Please enter an audio link/URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1155
+msgid "Tag term:"
+msgstr ""
+
+#: ../../include/conversation.php:1156 ../../mod/filer.php:49
+msgid "Save to Folder:"
+msgstr "שמור לתיקייה:"
+
+#: ../../include/conversation.php:1157
+msgid "Where are you right now?"
+msgstr ""
+
+#: ../../include/conversation.php:1158 ../../mod/mail.php:175
+#: ../../mod/mail.php:290 ../../mod/editpost.php:47
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr ""
+
+#: ../../include/conversation.php:1185 ../../mod/photos.php:961
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:184
+#: ../../mod/webpages.php:182
+msgid "Share"
+msgstr "שתף"
+
+#: ../../include/conversation.php:1187
+msgid "Page link name"
+msgstr ""
+
+#: ../../include/conversation.php:1190
+msgid "Post as"
+msgstr ""
+
+#: ../../include/conversation.php:1197 ../../mod/mail.php:238
+#: ../../mod/mail.php:352 ../../mod/editblock.php:141
+#: ../../mod/editlayout.php:139 ../../mod/editpost.php:112
+#: ../../mod/editwebpage.php:184
+msgid "Upload photo"
+msgstr "העלה תצלום"
+
+#: ../../include/conversation.php:1198
+msgid "upload photo"
+msgstr "העלה תצלום"
+
+#: ../../include/conversation.php:1199 ../../mod/mail.php:239
+#: ../../mod/mail.php:353 ../../mod/editblock.php:142
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:185
+msgid "Attach file"
+msgstr "צרף קובץ"
+
+#: ../../include/conversation.php:1200
+msgid "attach file"
+msgstr "צרף קובץ"
+
+#: ../../include/conversation.php:1201 ../../mod/mail.php:240
+#: ../../mod/mail.php:354 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:186
+msgid "Insert web link"
+msgstr "הכנס קישור רשת"
+
+#: ../../include/conversation.php:1202
+msgid "web link"
+msgstr "קישור רשת"
+
+#: ../../include/conversation.php:1203
+msgid "Insert video link"
+msgstr "הכנס קישור וידאו"
+
+#: ../../include/conversation.php:1204
+msgid "video link"
+msgstr "קישור וידאו"
+
+#: ../../include/conversation.php:1205
+msgid "Insert audio link"
+msgstr "הכנס קישור אודיו"
+
+#: ../../include/conversation.php:1206
+msgid "audio link"
+msgstr "קישור אודיו"
+
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:145 ../../mod/editpost.php:118
+#: ../../mod/editwebpage.php:190
+msgid "Set your location"
+msgstr ""
+
+#: ../../include/conversation.php:1208
+msgid "set location"
+msgstr ""
+
+#: ../../include/conversation.php:1209 ../../mod/editpost.php:120
+msgid "Toggle voting"
+msgstr ""
+
+#: ../../include/conversation.php:1212 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:191
+msgid "Clear browser location"
+msgstr ""
+
+#: ../../include/conversation.php:1213
+msgid "clear location"
+msgstr ""
+
+#: ../../include/conversation.php:1215 ../../mod/editblock.php:161
+#: ../../mod/editpost.php:135 ../../mod/editwebpage.php:207
+msgid "Title (optional)"
+msgstr ""
+
+#: ../../include/conversation.php:1219 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:162 ../../mod/editpost.php:137
+#: ../../mod/editwebpage.php:209
+msgid "Categories (optional, comma-separated list)"
+msgstr ""
+
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:148 ../../mod/editpost.php:124
+#: ../../mod/editwebpage.php:193
+msgid "Permission settings"
+msgstr ""
+
+#: ../../include/conversation.php:1222
+msgid "permissions"
+msgstr "הרשאות"
+
+#: ../../include/conversation.php:1230 ../../mod/editblock.php:158
+#: ../../mod/editlayout.php:155 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:202
+msgid "Public post"
+msgstr ""
+
+#: ../../include/conversation.php:1232 ../../mod/editblock.php:165
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:138
+#: ../../mod/editwebpage.php:210
+msgid "Example: bob@example.com, mary@example.com"
+msgstr ""
+
+#: ../../include/conversation.php:1245 ../../mod/mail.php:245
+#: ../../mod/mail.php:359 ../../mod/editblock.php:175
+#: ../../mod/editlayout.php:172 ../../mod/editpost.php:149
+#: ../../mod/editwebpage.php:219
+msgid "Set expiration date"
+msgstr ""
+
+#: ../../include/conversation.php:1249 ../../mod/editpost.php:153
+#: ../../mod/events.php:674
+msgid "OK"
+msgstr "אישור"
+
+#: ../../include/conversation.php:1250 ../../mod/editpost.php:154
+#: ../../mod/events.php:673 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+msgid "Cancel"
+msgstr "ביטול"
+
+#: ../../include/conversation.php:1492
+msgid "Discover"
+msgstr ""
+
+#: ../../include/conversation.php:1495
+msgid "Imported public streams"
+msgstr ""
+
+#: ../../include/conversation.php:1500
+msgid "Commented Order"
+msgstr ""
+
+#: ../../include/conversation.php:1503
+msgid "Sort by Comment Date"
+msgstr ""
+
+#: ../../include/conversation.php:1507
+msgid "Posted Order"
+msgstr ""
+
+#: ../../include/conversation.php:1510
+msgid "Sort by Post Date"
+msgstr ""
+
+#: ../../include/conversation.php:1518
+msgid "Posts that mention or involve you"
+msgstr ""
+
+#: ../../include/conversation.php:1524 ../../mod/connections.php:72
+#: ../../mod/connections.php:85 ../../mod/menu.php:110
+msgid "New"
+msgstr "חדש"
+
+#: ../../include/conversation.php:1527
+msgid "Activity Stream - by date"
+msgstr ""
+
+#: ../../include/conversation.php:1533
+msgid "Starred"
+msgstr ""
+
+#: ../../include/conversation.php:1536
+msgid "Favourite Posts"
+msgstr ""
+
+#: ../../include/conversation.php:1543
+msgid "Spam"
+msgstr "ספאם"
+
+#: ../../include/conversation.php:1546
+msgid "Posts flagged as SPAM"
+msgstr "פוסטים מסומנים בתור ספאם"
+
+#: ../../include/conversation.php:1590 ../../mod/admin.php:993
+msgid "Channel"
+msgstr "ערוץ"
+
+#: ../../include/conversation.php:1593
+msgid "Status Messages and Posts"
+msgstr "הודעות ופרסומי סטטוס"
+
+#: ../../include/conversation.php:1602
+msgid "About"
+msgstr "אודות"
+
+#: ../../include/conversation.php:1605
+msgid "Profile Details"
+msgstr "פרטי פרופיל"
+
+#: ../../include/conversation.php:1614 ../../include/photos.php:359
+msgid "Photo Albums"
+msgstr "אלבומי תמונה"
+
+#: ../../include/conversation.php:1623
+msgid "Files and Storage"
+msgstr "קבצים ואחסון"
+
+#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
+msgid "Chatrooms"
+msgstr "חדרי שיחה"
+
+#: ../../include/conversation.php:1649
+msgid "Saved Bookmarks"
+msgstr "סימניות שמורות"
+
+#: ../../include/conversation.php:1659
+msgid "Manage Webpages"
+msgstr "נהל עמודי רשת"
+
+#: ../../include/conversation.php:1718
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1721
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1724
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1727
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1730
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1733
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "שונות"
+
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD או MM-DD"
+
+#: ../../include/datetime.php:235 ../../mod/appman.php:91
+#: ../../mod/appman.php:92 ../../mod/events.php:672
+msgid "Required"
+msgstr "דָרוּשׁ"
+
+#: ../../include/datetime.php:262 ../../boot.php:2358
+msgid "never"
+msgstr "לעולם לא"
+
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
+msgstr "לפני פחות משניה"
+
+#: ../../include/datetime.php:271
+msgid "year"
+msgstr "שנה"
+
+#: ../../include/datetime.php:271
+msgid "years"
+msgstr "שנים"
+
+#: ../../include/datetime.php:272
+msgid "month"
+msgstr "חודש"
+
+#: ../../include/datetime.php:272
+msgid "months"
+msgstr "חודשים"
+
+#: ../../include/datetime.php:273
+msgid "week"
+msgstr "שבוע"
+
+#: ../../include/datetime.php:273
+msgid "weeks"
+msgstr "שבועות"
+
+#: ../../include/datetime.php:274
+msgid "day"
+msgstr "יום"
+
+#: ../../include/datetime.php:274
+msgid "days"
+msgstr "ימים"
+
+#: ../../include/datetime.php:275
+msgid "hour"
+msgstr "שעה"
+
+#: ../../include/datetime.php:275
+msgid "hours"
+msgstr "שעות"
+
+#: ../../include/datetime.php:276
+msgid "minute"
+msgstr "דקה"
+
+#: ../../include/datetime.php:276
+msgid "minutes"
+msgstr "דקות"
+
+#: ../../include/datetime.php:277
+msgid "second"
+msgstr "שניה"
+
+#: ../../include/datetime.php:277
+msgid "seconds"
+msgstr "שניות"
+
+#: ../../include/datetime.php:285
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "לפני %1$d %2$s"
+
+#: ../../include/datetime.php:519
+#, php-format
+msgid "%1$s's birthday"
+msgstr ""
+
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr ""
+
+#: ../../include/diaspora.php:2498
+msgid "Please choose"
+msgstr "לבחירתך"
+
+#: ../../include/diaspora.php:2500
+msgid "Agree"
+msgstr "מסכים/ה"
+
+#: ../../include/diaspora.php:2502
+msgid "Disagree"
+msgstr "לא מסכים/ה"
+
+#: ../../include/diaspora.php:2504
+msgid "Abstain"
+msgstr "נמנע/ת"
+
+#: ../../include/dimport.php:34 ../../include/identity.php:217
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+
+#: ../../include/dir_fns.php:126
+msgid "Directory Options"
+msgstr ""
+
+#: ../../include/dir_fns.php:128
+msgid "Safe Mode"
+msgstr "מצב בטוח"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:428 ../../mod/api.php:106
+#: ../../mod/photos.php:568 ../../mod/connedit.php:647
+#: ../../mod/connedit.php:675 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "No"
+msgstr "לא"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:430 ../../mod/api.php:105
+#: ../../mod/photos.php:568 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "Yes"
+msgstr "כן"
+
+#: ../../include/dir_fns.php:129
+msgid "Public Forums Only"
+msgstr ""
+
+#: ../../include/dir_fns.php:130
+msgid "This Website Only"
+msgstr ""
+
+#: ../../include/enotify.php:96
+#, php-format
+msgid "%s <!item_type!>"
+msgstr ""
+
+#: ../../include/enotify.php:100
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr ""
+
+#: ../../include/enotify.php:102
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr ""
+
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr ""
+
+#: ../../include/enotify.php:103
+msgid "a private message"
+msgstr "הודעה פרטית"
+
+#: ../../include/enotify.php:104
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr ""
+
+#: ../../include/enotify.php:158
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr ""
+
+#: ../../include/enotify.php:166
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr ""
+
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr ""
+
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr ""
+
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr ""
+
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr ""
+
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr ""
+
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr ""
+
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr ""
+
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr ""
+
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr ""
+
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr ""
+
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr ""
+
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr ""
+
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
+msgstr ""
+
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr ""
+
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr ""
+
+#: ../../include/enotify.php:278
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr ""
+
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
+msgstr ""
+
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr ""
+
+#: ../../include/enotify.php:287
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr ""
+
+#: ../../include/enotify.php:293
+msgid "Name:"
+msgstr "שם:"
+
+#: ../../include/enotify.php:294
+msgid "Photo:"
+msgstr "תצלום:"
+
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr ""
+
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
+msgstr ""
+
+#: ../../include/event.php:549
+msgid "This event has been added to your calendar."
+msgstr "אירוע זה התווסף ללוח שנה שלך."
+
+#: ../../include/features.php:38
+msgid "General Features"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid "Content Expiration"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
+
+#: ../../include/features.php:41
+msgid "Multiple Profiles"
+msgstr ""
+
+#: ../../include/features.php:41
+msgid "Ability to create multiple profiles"
+msgstr ""
+
+#: ../../include/features.php:42
+msgid "Advanced Profiles"
+msgstr ""
+
+#: ../../include/features.php:42
+msgid "Additional profile sections and selections"
+msgstr ""
+
+#: ../../include/features.php:43
+msgid "Profile Import/Export"
+msgstr ""
+
+#: ../../include/features.php:43
+msgid "Save and load profile details across sites/channels"
+msgstr ""
+
+#: ../../include/features.php:44
+msgid "Web Pages"
+msgstr "עמודי רשת"
+
+#: ../../include/features.php:44
+msgid "Provide managed web pages on your channel"
+msgstr ""
+
+#: ../../include/features.php:45
+msgid "Private Notes"
+msgstr ""
+
+#: ../../include/features.php:45
+msgid "Enables a tool to store notes and reminders"
+msgstr ""
+
+#: ../../include/features.php:46
+msgid "Navigation Channel Select"
+msgstr ""
+
+#: ../../include/features.php:46
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr ""
+
+#: ../../include/features.php:47
+msgid "Photo Location"
+msgstr "מיקום תצלום"
+
+#: ../../include/features.php:47
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr ""
+
+#: ../../include/features.php:49
+msgid "Expert Mode"
+msgstr "מצב מומחה"
+
+#: ../../include/features.php:49
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr ""
+
+#: ../../include/features.php:50
+msgid "Premium Channel"
+msgstr ""
+
+#: ../../include/features.php:50
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
+
+#: ../../include/features.php:55
+msgid "Post Composition Features"
+msgstr ""
+
+#: ../../include/features.php:57
+msgid "Use Markdown"
+msgstr ""
+
+#: ../../include/features.php:57
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr ""
+
+#: ../../include/features.php:58
+msgid "Large Photos"
+msgstr ""
+
+#: ../../include/features.php:58
+msgid ""
+"Include large (640px) photo thumbnails in posts. If not enabled, use small "
+"(320px) photo thumbnails"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Automatically import channel content from other channels or feeds"
+msgstr ""
+
+#: ../../include/features.php:60
+msgid "Even More Encryption"
+msgstr ""
+
+#: ../../include/features.php:60
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Enable voting tools"
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Provide a class of post which others can vote on"
+msgstr ""
+
+#: ../../include/features.php:67
+msgid "Network and Stream Filtering"
+msgstr ""
+
+#: ../../include/features.php:68
+msgid "Search by Date"
+msgstr "חפש לפי תאריך"
+
+#: ../../include/features.php:68
+msgid "Ability to select posts by date ranges"
+msgstr "מסנן אוספים"
+
+#: ../../include/features.php:69
+msgid "Collections Filter"
+msgstr "מסנן אוספים"
+
+#: ../../include/features.php:69
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr ""
+
+#: ../../include/features.php:70
+msgid "Save search terms for re-use"
+msgstr ""
+
+#: ../../include/features.php:71
+msgid "Network Personal Tab"
+msgstr ""
+
+#: ../../include/features.php:71
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:72
+msgid "Network New Tab"
+msgstr ""
+
+#: ../../include/features.php:72
+msgid "Enable tab to display all new Network activity"
+msgstr ""
+
+#: ../../include/features.php:73
+msgid "Affinity Tool"
+msgstr ""
+
+#: ../../include/features.php:73
+msgid "Filter stream activity by depth of relationships"
+msgstr ""
+
+#: ../../include/features.php:74
+msgid "Connection Filtering"
+msgstr ""
+
+#: ../../include/features.php:74
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr ""
+
+#: ../../include/features.php:75
+msgid "Suggest Channels"
+msgstr ""
+
+#: ../../include/features.php:75
+msgid "Show channel suggestions"
+msgstr ""
+
+#: ../../include/features.php:80
+msgid "Post/Comment Tools"
+msgstr ""
+
+#: ../../include/features.php:81
+msgid "Tagging"
+msgstr ""
+
+#: ../../include/features.php:81
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:82
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:82
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:83
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:84
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:84
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:85
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:85
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:86
+msgid "Tag Cloud"
+msgstr ""
+
+#: ../../include/features.php:86
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr ""
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr ""
+
+#: ../../include/follow.php:83
+msgid "Response from remote channel was incomplete."
+msgstr ""
+
+#: ../../include/follow.php:100
+msgid "Channel was deleted and no longer exists."
+msgstr ""
+
+#: ../../include/follow.php:135 ../../include/follow.php:206
+msgid "Protocol disabled."
+msgstr ""
+
+#: ../../include/follow.php:144
+msgid "Protocol blocked for this channel."
+msgstr ""
+
+#: ../../include/follow.php:179
+msgid "Channel discovery failed."
+msgstr ""
+
+#: ../../include/follow.php:195
+msgid "local account not found."
+msgstr ""
+
+#: ../../include/follow.php:224
+msgid "Cannot connect to yourself."
+msgstr ""
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr ""
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr ""
+
+#: ../../include/group.php:254 ../../mod/admin.php:831
+msgid "All Channels"
+msgstr "כל הערוצים"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "ערוך"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "אוספים"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "ערוך אוסף"
+
+#: ../../include/group.php:300
+msgid "Add new collection"
+msgstr "הוסף אוסף חדש"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr ""
+
+#: ../../include/identity.php:33
+msgid "Unable to obtain identity information from database"
+msgstr ""
+
+#: ../../include/identity.php:67
+msgid "Empty name"
+msgstr "שם ריק"
+
+#: ../../include/identity.php:70
+msgid "Name too long"
+msgstr "שם ארוך מדי"
+
+#: ../../include/identity.php:186
+msgid "No account identifier"
+msgstr "אין מזהה חשבון"
+
+#: ../../include/identity.php:198
+msgid "Nickname is required."
+msgstr "נדרש שם כינוי."
+
+#: ../../include/identity.php:212
+msgid "Reserved nickname. Please choose another."
+msgstr ""
+
+#: ../../include/identity.php:292
+msgid "Unable to retrieve created identity"
+msgstr ""
+
+#: ../../include/identity.php:350
+msgid "Default Profile"
+msgstr "פרופיל שגרתי"
+
+#: ../../include/identity.php:759
+msgid "Requested channel is not available."
+msgstr ""
+
+#: ../../include/identity.php:806 ../../mod/achievements.php:11
+#: ../../mod/blocks.php:29 ../../mod/profile.php:16 ../../mod/connect.php:13
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:27
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/hcard.php:8 ../../mod/layouts.php:29 ../../mod/webpages.php:29
+msgid "Requested profile is not available."
+msgstr ""
+
+#: ../../include/identity.php:969 ../../mod/profiles.php:774
+msgid "Change profile photo"
+msgstr ""
+
+#: ../../include/identity.php:975
+msgid "Profiles"
+msgstr "פרופילים"
+
+#: ../../include/identity.php:975
+msgid "Manage/edit profiles"
+msgstr ""
+
+#: ../../include/identity.php:976 ../../mod/profiles.php:775
+msgid "Create New Profile"
+msgstr "צור פרופיל חדש"
+
+#: ../../include/identity.php:991 ../../mod/profiles.php:786
+msgid "Profile Image"
+msgstr "תמונת פרופיל"
+
+#: ../../include/identity.php:994
+msgid "visible to everybody"
+msgstr ""
+
+#: ../../include/identity.php:995 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
+msgid "Edit visibility"
+msgstr ""
+
+#: ../../include/identity.php:1011 ../../include/identity.php:1250
+msgid "Gender:"
+msgstr "מין:"
+
+#: ../../include/identity.php:1012 ../../include/identity.php:1294
+msgid "Status:"
+msgstr "מצב:"
+
+#: ../../include/identity.php:1013 ../../include/identity.php:1305
+msgid "Homepage:"
+msgstr "עמוד בית:"
+
+#: ../../include/identity.php:1014
+msgid "Online Now"
+msgstr "מקוון כעת"
+
+#: ../../include/identity.php:1097 ../../include/identity.php:1175
+#: ../../mod/ping.php:324
+msgid "g A l F d"
+msgstr ""
+
+#: ../../include/identity.php:1098 ../../include/identity.php:1176
+msgid "F d"
+msgstr ""
+
+#: ../../include/identity.php:1143 ../../include/identity.php:1215
+#: ../../mod/ping.php:346
+msgid "[today]"
+msgstr "[היום]"
+
+#: ../../include/identity.php:1154
+msgid "Birthday Reminders"
+msgstr ""
+
+#: ../../include/identity.php:1155
+msgid "Birthdays this week:"
+msgstr ""
+
+#: ../../include/identity.php:1208
+msgid "[No description]"
+msgstr "[אין תיאור]"
+
+#: ../../include/identity.php:1226
+msgid "Event Reminders"
+msgstr ""
+
+#: ../../include/identity.php:1227
+msgid "Events this week:"
+msgstr ""
+
+#: ../../include/identity.php:1248 ../../mod/settings.php:1056
+msgid "Full Name:"
+msgstr "שם מלא:"
+
+#: ../../include/identity.php:1255
+msgid "Like this channel"
+msgstr ""
+
+#: ../../include/identity.php:1279
+msgid "j F, Y"
+msgstr ""
+
+#: ../../include/identity.php:1280
+msgid "j F"
+msgstr ""
+
+#: ../../include/identity.php:1287
+msgid "Birthday:"
+msgstr "יום הולדת:"
+
+#: ../../include/identity.php:1291 ../../mod/directory.php:297
+msgid "Age:"
+msgstr "גיל:"
+
+#: ../../include/identity.php:1300
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/identity.php:1303 ../../mod/profiles.php:691
+msgid "Sexual Preference:"
+msgstr "העדפה מינית:"
+
+#: ../../include/identity.php:1307 ../../mod/profiles.php:693
+#: ../../mod/directory.php:313
+msgid "Hometown:"
+msgstr "עיר מגורים:"
+
+#: ../../include/identity.php:1309
+msgid "Tags:"
+msgstr "תגיות:"
+
+#: ../../include/identity.php:1311 ../../mod/profiles.php:694
+msgid "Political Views:"
+msgstr "השקפות פוליטיות:"
+
+#: ../../include/identity.php:1313
+msgid "Religion:"
+msgstr "דת:"
+
+#: ../../include/identity.php:1315 ../../mod/directory.php:315
+msgid "About:"
+msgstr "אודות:"
+
+#: ../../include/identity.php:1317
+msgid "Hobbies/Interests:"
+msgstr "תחביבים/עניין:"
+
+#: ../../include/identity.php:1319 ../../mod/profiles.php:697
+msgid "Likes:"
+msgstr "אוהב:"
+
+#: ../../include/identity.php:1321 ../../mod/profiles.php:698
+msgid "Dislikes:"
+msgstr "שונא:"
+
+#: ../../include/identity.php:1323
+msgid "Contact information and Social Networks:"
+msgstr ""
+
+#: ../../include/identity.php:1325
+msgid "My other channels:"
+msgstr ""
+
+#: ../../include/identity.php:1327
+msgid "Musical interests:"
+msgstr ""
+
+#: ../../include/identity.php:1329
+msgid "Books, literature:"
+msgstr ""
+
+#: ../../include/identity.php:1331
+msgid "Television:"
+msgstr "טלוויזיה:"
+
+#: ../../include/identity.php:1333
+msgid "Film/dance/culture/entertainment:"
+msgstr ""
+
+#: ../../include/identity.php:1335
+msgid "Love/Romance:"
+msgstr ""
+
+#: ../../include/identity.php:1337
+msgid "Work/employment:"
+msgstr ""
+
+#: ../../include/identity.php:1339
+msgid "School/education:"
+msgstr ""
+
+#: ../../include/identity.php:1359
+msgid "Like this thing"
+msgstr ""
+
+#: ../../include/items.php:413 ../../mod/bulksetclose.php:11
+#: ../../mod/profperm.php:23 ../../mod/group.php:68 ../../mod/like.php:273
+#: ../../mod/subthread.php:49 ../../index.php:396
+msgid "Permission denied"
+msgstr ""
+
+#: ../../include/items.php:1101 ../../include/items.php:1147
+msgid "(Unknown)"
+msgstr "(לא ידוע)"
+
+#: ../../include/items.php:1373
+msgid "Visible to anybody on the internet."
+msgstr "נראה לכל אחד באינטרנט."
+
+#: ../../include/items.php:1375
+msgid "Visible to you only."
+msgstr "נראה לך בלבד."
+
+#: ../../include/items.php:1377
+msgid "Visible to anybody in this network."
+msgstr "נראה לכל אחד ברשת זו."
+
+#: ../../include/items.php:1379
+msgid "Visible to anybody authenticated."
+msgstr "נראה לכל מי שהוא מאומת."
+
+#: ../../include/items.php:1381
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "נראה לכל אחד אצל %s."
+
+#: ../../include/items.php:1383
+msgid "Visible to all connections."
+msgstr "נראה לכל החיבורים."
+
+#: ../../include/items.php:1385
+msgid "Visible to approved connections."
+msgstr "נראה לחיבורים מאושרים."
+
+#: ../../include/items.php:1387
+msgid "Visible to specific connections."
+msgstr "נראה לחיבורים מסוימים."
+
+#: ../../include/items.php:4310 ../../mod/admin.php:167
+#: ../../mod/admin.php:1025 ../../mod/admin.php:1225 ../../mod/display.php:36
+#: ../../mod/filestorage.php:27 ../../mod/thing.php:74
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "פריט לא נמצא."
+
+#: ../../include/items.php:4787 ../../mod/bulksetclose.php:51
+#: ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "אוסף לא נמצא."
+
+#: ../../include/items.php:4803
+msgid "Collection is empty."
+msgstr "אוסף הינו ריק."
+
+#: ../../include/items.php:4810
+#, php-format
+msgid "Collection: %s"
+msgstr "אוסף: %s"
+
+#: ../../include/items.php:4820 ../../mod/connedit.php:674
+#, php-format
+msgid "Connection: %s"
+msgstr "חיבור: %s"
+
+#: ../../include/items.php:4822
+msgid "Connection not found."
+msgstr "חיבור לא נמצא."
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "למחוק את פריט זה?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] הצג פחות"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] הרחב"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] צמצם"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "סיסמה קצרה מדי"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "סיסמאות לא תואמות"
+
+#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+msgid "everybody"
+msgstr "כולם"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "מימרת סיסמה סודית"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr ""
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr ""
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "סגור הכל"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "אין דבר חדש כאן"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr ""
+
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:683
+#: ../../mod/rate.php:156
+msgid "Rating"
+msgstr ""
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "תאר (רשות)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr ""
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr ""
+
+#: ../../include/js_strings.php:26
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:28
+msgid "ago"
+msgstr "לפני"
+
+#: ../../include/js_strings.php:29
+msgid "from now"
+msgstr "מעכשיו"
+
+#: ../../include/js_strings.php:30
+msgid "less than a minute"
+msgstr "פחות מדקה"
+
+#: ../../include/js_strings.php:31
+msgid "about a minute"
+msgstr "דקה לערך"
+
+#: ../../include/js_strings.php:32
+#, php-format
+msgid "%d minutes"
+msgstr "%d דקות"
+
+#: ../../include/js_strings.php:33
+msgid "about an hour"
+msgstr "שעה לערך"
+
+#: ../../include/js_strings.php:34
+#, php-format
+msgid "about %d hours"
+msgstr " %d שעות לערך"
+
+#: ../../include/js_strings.php:35
+msgid "a day"
+msgstr "יום"
+
+#: ../../include/js_strings.php:36
+#, php-format
+msgid "%d days"
+msgstr "%d ימים"
+
+#: ../../include/js_strings.php:37
+msgid "about a month"
+msgstr "חודש לערך"
+
+#: ../../include/js_strings.php:38
+#, php-format
+msgid "%d months"
+msgstr "%d חודשים"
+
+#: ../../include/js_strings.php:39
+msgid "about a year"
+msgstr "שנה לערך"
+
+#: ../../include/js_strings.php:40
+#, php-format
+msgid "%d years"
+msgstr "%d שנים"
+
+#: ../../include/js_strings.php:41
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:42
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "עמוד חדש"
+
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
+#: ../../mod/layouts.php:188 ../../mod/webpages.php:187
+msgid "View"
+msgstr "תצוגה"
+
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+msgid "Actions"
+msgstr "פעולות"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+msgid "Page Link"
+msgstr "קישור עמוד"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "כותרת"
+
+#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
+#: ../../mod/layouts.php:181 ../../mod/menu.php:108 ../../mod/webpages.php:192
+msgid "Created"
+msgstr "נוצר"
+
+#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
+#: ../../mod/layouts.php:182 ../../mod/menu.php:109 ../../mod/webpages.php:193
+msgid "Edited"
+msgstr "נערך"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr ""
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr ""
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr ""
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr ""
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr ""
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr ""
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr ""
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr ""
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr ""
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr ""
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr ""
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr ""
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr ""
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr ""
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr ""
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr ""
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr ""
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr ""
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr ""
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr ""
+
+#: ../../include/permissions.php:893
+msgid "Social Networking"
+msgstr "רשת חברתית"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Mostly Public"
+msgstr ""
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Restricted"
+msgstr ""
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+msgid "Private"
+msgstr "פרטי"
+
+#: ../../include/permissions.php:894
+msgid "Community Forum"
+msgstr ""
+
+#: ../../include/permissions.php:895
+msgid "Feed Republish"
+msgstr ""
+
+#: ../../include/permissions.php:896
+msgid "Special Purpose"
+msgstr ""
+
+#: ../../include/permissions.php:896
+msgid "Celebrity/Soapbox"
+msgstr ""
+
+#: ../../include/permissions.php:896
+msgid "Group Repository"
+msgstr ""
+
+#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "אחר"
+
+#: ../../include/permissions.php:897
+msgid "Custom/Expert Mode"
+msgstr ""
+
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr ""
+
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr ""
+
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr ""
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr ""
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "העלה תצלומים חדשים"
+
+#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
+msgid "Tags"
+msgstr "תגיות"
+
+#: ../../include/taxonomy.php:287
+msgid "Keywords"
+msgstr "מילות מפתח"
+
+#: ../../include/taxonomy.php:308
+msgid "have"
+msgstr ""
+
+#: ../../include/taxonomy.php:308
+msgid "has"
+msgstr ""
+
+#: ../../include/taxonomy.php:309
+msgid "want"
+msgstr ""
+
+#: ../../include/taxonomy.php:309
+msgid "wants"
+msgstr ""
+
+#: ../../include/taxonomy.php:310
+msgid "likes"
+msgstr ""
+
+#: ../../include/taxonomy.php:311
+msgid "dislikes"
+msgstr ""
+
+#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
+msgid "Male"
+msgstr "זכר"
+
+#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
+msgid "Female"
+msgstr "נקבה"
+
+#: ../../include/profile_selectors.php:6
+msgid "Currently Male"
+msgstr "כעת זכר"
+
+#: ../../include/profile_selectors.php:6
+msgid "Currently Female"
+msgstr "כעת נקבה"
+
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Male"
+msgstr "בעיקר זכר"
+
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Female"
+msgstr "בעיקר נקבה"
+
+#: ../../include/profile_selectors.php:6
+msgid "Transgender"
+msgstr "טרנסג׳נדר"
+
+#: ../../include/profile_selectors.php:6
+msgid "Intersex"
+msgstr "בין מיני"
+
+#: ../../include/profile_selectors.php:6
+msgid "Transsexual"
+msgstr "טרנסקסואל"
+
+#: ../../include/profile_selectors.php:6
+msgid "Hermaphrodite"
+msgstr "אנדרוגיני"
+
+#: ../../include/profile_selectors.php:6
+msgid "Neuter"
+msgstr "ניטראלי"
+
+#: ../../include/profile_selectors.php:6
+msgid "Non-specific"
+msgstr ""
+
+#: ../../include/profile_selectors.php:6
+msgid "Undecided"
+msgstr ""
+
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
+msgid "Males"
+msgstr "זכרים"
+
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
+msgid "Females"
+msgstr "נקבות"
+
+#: ../../include/profile_selectors.php:42
+msgid "Gay"
+msgstr "הומו"
+
+#: ../../include/profile_selectors.php:42
+msgid "Lesbian"
+msgstr "לסבית"
+
+#: ../../include/profile_selectors.php:42
+msgid "No Preference"
+msgstr "אין העדפה"
+
+#: ../../include/profile_selectors.php:42
+msgid "Bisexual"
+msgstr "דו מיני"
+
+#: ../../include/profile_selectors.php:42
+msgid "Autosexual"
+msgstr ""
+
+#: ../../include/profile_selectors.php:42
+msgid "Abstinent"
+msgstr ""
+
+#: ../../include/profile_selectors.php:42
+msgid "Virgin"
+msgstr "בתול/ה"
+
+#: ../../include/profile_selectors.php:42
+msgid "Deviant"
+msgstr "סוטה"
+
+#: ../../include/profile_selectors.php:42
+msgid "Fetish"
+msgstr "פטיש"
+
+#: ../../include/profile_selectors.php:42
+msgid "Oodles"
+msgstr "המון"
+
+#: ../../include/profile_selectors.php:42
+msgid "Nonsexual"
+msgstr "לא מיני"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Single"
+msgstr "רווק/ה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Lonely"
+msgstr "בודד"
+
+#: ../../include/profile_selectors.php:80
+msgid "Available"
+msgstr "זמין"
+
+#: ../../include/profile_selectors.php:80
+msgid "Unavailable"
+msgstr "לא פנוי/ה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Has crush"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+msgid "Infatuated"
+msgstr "מוקסם/ת"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Dating"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+msgid "Unfaithful"
+msgstr "לא נאמן/ה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Sex Addict"
+msgstr "מכור/ה למין"
+
+#: ../../include/profile_selectors.php:80
+msgid "Friends/Benefits"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+msgid "Casual"
+msgstr "ארעי/ת"
+
+#: ../../include/profile_selectors.php:80
+msgid "Engaged"
+msgstr "מאורס/ת"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Married"
+msgstr "נישואין"
+
+#: ../../include/profile_selectors.php:80
+msgid "Imaginarily married"
+msgstr "נישואין דמיוניים"
+
+#: ../../include/profile_selectors.php:80
+msgid "Partners"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Cohabiting"
+msgstr "חיים יחדיו"
+
+#: ../../include/profile_selectors.php:80
+msgid "Common law"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+msgid "Happy"
+msgstr "שמח"
+
+#: ../../include/profile_selectors.php:80
+msgid "Not looking"
+msgstr "לא מחפש/ת"
+
+#: ../../include/profile_selectors.php:80
+msgid "Swinger"
+msgstr "בליין/ית"
+
+#: ../../include/profile_selectors.php:80
+msgid "Betrayed"
+msgstr "נבגד/ת"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Separated"
+msgstr "פרוד/ה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Unstable"
+msgstr "בלתי יציב"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Divorced"
+msgstr "גירושין"
+
+#: ../../include/profile_selectors.php:80
+msgid "Imaginarily divorced"
+msgstr "גירושין דמיוניים"
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Widowed"
+msgstr "אלמן/ה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Uncertain"
+msgstr ""
+
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "It's complicated"
+msgstr "זה מורכב"
+
+#: ../../include/profile_selectors.php:80
+msgid "Don't care"
+msgstr "לא משנה"
+
+#: ../../include/profile_selectors.php:80
+msgid "Ask me"
+msgstr "תשאלו אותי"
+
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr ""
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr ""
+
+#: ../../mod/mail.php:139
+msgid "Message deleted."
+msgstr "הודעה נמחקה."
+
+#: ../../mod/mail.php:156
+msgid "Message recalled."
+msgstr "הודעה הוחזרה."
+
+#: ../../mod/mail.php:225
+msgid "Send Private Message"
+msgstr "שלח הודעה פרטית"
+
+#: ../../mod/mail.php:226 ../../mod/mail.php:343
+msgid "To:"
+msgstr "לכבוד:"
+
+#: ../../mod/mail.php:231 ../../mod/mail.php:345
+msgid "Subject:"
+msgstr "נושא:"
+
+#: ../../mod/mail.php:235 ../../mod/mail.php:348 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "הודעתך:"
+
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "שלח"
+
+#: ../../mod/mail.php:269
+msgid "Message not found."
+msgstr "הודעה לא נמצאה."
+
+#: ../../mod/mail.php:312
+msgid "Delete message"
+msgstr "מחק הודעה"
+
+#: ../../mod/mail.php:313
+msgid "Recall message"
+msgstr "בטל הודעה"
+
+#: ../../mod/mail.php:315
+msgid "Message has been recalled."
+msgstr ""
+
+#: ../../mod/mail.php:332
+msgid "Private Conversation"
+msgstr ""
+
+#: ../../mod/mail.php:336 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "מחק דיון"
+
+#: ../../mod/mail.php:338
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: ../../mod/mail.php:342
+msgid "Send Reply"
+msgstr "שלח משוב"
+
+#: ../../mod/magic.php:69
+msgid "Hub not found."
+msgstr ""
+
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr ""
+
+#: ../../mod/page.php:36 ../../mod/block.php:27
+msgid "Invalid item."
+msgstr "פריט שגוי."
+
+#: ../../mod/page.php:52 ../../mod/block.php:39 ../../mod/wall_upload.php:29
+msgid "Channel not found."
+msgstr ""
+
+#: ../../mod/page.php:89 ../../mod/block.php:75 ../../mod/display.php:110
+#: ../../mod/help.php:79 ../../index.php:245
+msgid "Page not found."
+msgstr "עמוד לא נמצא."
+
+#: ../../mod/page.php:126
+msgid "Lorem Ipsum"
+msgstr ""
+
+#: ../../mod/acl.php:231
+msgid "network"
+msgstr "רשת"
+
+#: ../../mod/acl.php:241
+msgid "RSS"
+msgstr "RSS"
+
+#: ../../mod/admin.php:52
+msgid "Theme settings updated."
+msgstr ""
+
+#: ../../mod/admin.php:93 ../../mod/admin.php:452
+msgid "Site"
+msgstr "אתר"
+
+#: ../../mod/admin.php:94
+msgid "Accounts"
+msgstr "חשבונות"
+
+#: ../../mod/admin.php:95 ../../mod/admin.php:985
+msgid "Channels"
+msgstr "ערוצים"
+
+#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+msgid "Plugins"
+msgstr "תוספות"
+
+#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+msgid "Themes"
+msgstr "ערכות נושא"
+
+#: ../../mod/admin.php:98
+msgid "Inspect queue"
+msgstr ""
+
+#: ../../mod/admin.php:100
+msgid "Profile Config"
+msgstr ""
+
+#: ../../mod/admin.php:101
+msgid "DB updates"
+msgstr ""
+
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+msgid "Logs"
+msgstr "יומנים"
+
+#: ../../mod/admin.php:121
+msgid "Plugin Features"
+msgstr ""
+
+#: ../../mod/admin.php:123
+msgid "User registrations waiting for confirmation"
+msgstr ""
+
+#: ../../mod/admin.php:200
+msgid "# Accounts"
+msgstr "# חשבונות"
+
+#: ../../mod/admin.php:201
+msgid "# blocked accounts"
+msgstr "# חשבונות חסומים"
+
+#: ../../mod/admin.php:202
+msgid "# expired accounts"
+msgstr ""
+
+#: ../../mod/admin.php:203
+msgid "# expiring accounts"
+msgstr ""
+
+#: ../../mod/admin.php:216
+msgid "# Channels"
+msgstr "# ערוצים"
+
+#: ../../mod/admin.php:217
+msgid "# primary"
+msgstr ""
+
+#: ../../mod/admin.php:218
+msgid "# clones"
+msgstr "# שיבוטים"
+
+#: ../../mod/admin.php:224
+msgid "Message queues"
+msgstr ""
+
+#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
+#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
+#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
+#: ../../mod/admin.php:1395
+msgid "Administration"
+msgstr "הנהלה"
+
+#: ../../mod/admin.php:241
+msgid "Summary"
+msgstr "סיכום"
+
+#: ../../mod/admin.php:244
+msgid "Registered accounts"
+msgstr "חשבונות רשומים"
+
+#: ../../mod/admin.php:245 ../../mod/admin.php:552
+msgid "Pending registrations"
+msgstr ""
+
+#: ../../mod/admin.php:246
+msgid "Registered channels"
+msgstr "ערוצים רשומים"
+
+#: ../../mod/admin.php:247 ../../mod/admin.php:553
+msgid "Active plugins"
+msgstr "תוספים פעילים"
+
+#: ../../mod/admin.php:248
+msgid "Version"
+msgstr "גרסא"
+
+#: ../../mod/admin.php:363
+msgid "Site settings updated."
+msgstr ""
+
+#: ../../mod/admin.php:400 ../../mod/settings.php:813
+msgid "mobile"
+msgstr ""
+
+#: ../../mod/admin.php:402
+msgid "experimental"
+msgstr ""
+
+#: ../../mod/admin.php:404
+msgid "unsupported"
+msgstr ""
+
+#: ../../mod/admin.php:429
+msgid "Yes - with approval"
+msgstr ""
+
+#: ../../mod/admin.php:435
+msgid "My site is not a public server"
+msgstr ""
+
+#: ../../mod/admin.php:436
+msgid "My site has paid access only"
+msgstr ""
+
+#: ../../mod/admin.php:437
+msgid "My site has free access only"
+msgstr ""
+
+#: ../../mod/admin.php:438
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr ""
+
+#: ../../mod/admin.php:454 ../../mod/register.php:207
+msgid "Registration"
+msgstr "רישום"
+
+#: ../../mod/admin.php:455
+msgid "File upload"
+msgstr ""
+
+#: ../../mod/admin.php:456
+msgid "Policies"
+msgstr "מדינויות"
+
+#: ../../mod/admin.php:461
+msgid "Site name"
+msgstr "שם אתר"
+
+#: ../../mod/admin.php:462
+msgid "Banner/Logo"
+msgstr ""
+
+#: ../../mod/admin.php:463
+msgid "Administrator Information"
+msgstr "מידע מנהל"
+
+#: ../../mod/admin.php:463
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+
+#: ../../mod/admin.php:464
+msgid "System language"
+msgstr "שפת מערכת"
+
+#: ../../mod/admin.php:465
+msgid "System theme"
+msgstr "מוטיב מערכת"
+
+#: ../../mod/admin.php:465
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr ""
+
+#: ../../mod/admin.php:466
+msgid "Mobile system theme"
+msgstr ""
+
+#: ../../mod/admin.php:466
+msgid "Theme for mobile devices"
+msgstr ""
+
+#: ../../mod/admin.php:468
+msgid "Enable Diaspora Protocol"
+msgstr "אפשר פרוטוקול Diaspora"
+
+#: ../../mod/admin.php:468
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr ""
+
+#: ../../mod/admin.php:469
+msgid "Allow Feeds as Connections"
+msgstr ""
+
+#: ../../mod/admin.php:469
+msgid "(Heavy system resource usage)"
+msgstr ""
+
+#: ../../mod/admin.php:470
+msgid "Maximum image size"
+msgstr ""
+
+#: ../../mod/admin.php:470
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr ""
+
+#: ../../mod/admin.php:471
+msgid "Does this site allow new member registration?"
+msgstr ""
+
+#: ../../mod/admin.php:472
+msgid "Which best describes the types of account offered by this hub?"
+msgstr ""
+
+#: ../../mod/admin.php:473
+msgid "Register text"
+msgstr ""
+
+#: ../../mod/admin.php:473
+msgid "Will be displayed prominently on the registration page."
+msgstr ""
+
+#: ../../mod/admin.php:474
+msgid "Site homepage to show visitors (default: login box)"
+msgstr ""
+
+#: ../../mod/admin.php:474
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr ""
+
+#: ../../mod/admin.php:475
+msgid "Preserve site homepage URL"
+msgstr ""
+
+#: ../../mod/admin.php:475
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr ""
+
+#: ../../mod/admin.php:476
+msgid "Accounts abandoned after x days"
+msgstr ""
+
+#: ../../mod/admin.php:476
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr ""
+
+#: ../../mod/admin.php:477
+msgid "Allowed friend domains"
+msgstr ""
+
+#: ../../mod/admin.php:477
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr ""
+
+#: ../../mod/admin.php:478
+msgid "Allowed email domains"
+msgstr ""
+
+#: ../../mod/admin.php:478
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr ""
+
+#: ../../mod/admin.php:479
+msgid "Not allowed email domains"
+msgstr ""
+
+#: ../../mod/admin.php:479
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr ""
+
+#: ../../mod/admin.php:480
+msgid "Block public"
+msgstr ""
+
+#: ../../mod/admin.php:480
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr ""
+
+#: ../../mod/admin.php:481
+msgid "Verify Email Addresses"
+msgstr ""
+
+#: ../../mod/admin.php:481
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr ""
+
+#: ../../mod/admin.php:482
+msgid "Force publish"
+msgstr ""
+
+#: ../../mod/admin.php:482
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr ""
+
+#: ../../mod/admin.php:483
+msgid "Disable discovery tab"
+msgstr ""
+
+#: ../../mod/admin.php:483
+msgid ""
+"Remove the tab in the network view with public content pulled from sources "
+"chosen for this site."
+msgstr ""
+
+#: ../../mod/admin.php:484
+msgid "login on Homepage"
+msgstr ""
+
+#: ../../mod/admin.php:484
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr ""
+
+#: ../../mod/admin.php:486
+msgid "Proxy user"
+msgstr ""
+
+#: ../../mod/admin.php:487
+msgid "Proxy URL"
+msgstr ""
+
+#: ../../mod/admin.php:488
+msgid "Network timeout"
+msgstr ""
+
+#: ../../mod/admin.php:488
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr ""
+
+#: ../../mod/admin.php:489
+msgid "Delivery interval"
+msgstr ""
+
+#: ../../mod/admin.php:489
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr ""
+
+#: ../../mod/admin.php:490
+msgid "Poll interval"
+msgstr ""
+
+#: ../../mod/admin.php:490
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr ""
+
+#: ../../mod/admin.php:491
+msgid "Maximum Load Average"
+msgstr ""
+
+#: ../../mod/admin.php:491
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr ""
+
+#: ../../mod/admin.php:492
+msgid "Expiration period in days for imported (matrix/network) content"
+msgstr ""
+
+#: ../../mod/admin.php:492
+msgid "0 for no expiration of imported content"
+msgstr ""
+
+#: ../../mod/admin.php:540
+msgid "No server found"
+msgstr "לא נמצא שרת"
+
+#: ../../mod/admin.php:547 ../../mod/admin.php:831
+msgid "ID"
+msgstr "מזהה"
+
+#: ../../mod/admin.php:547
+msgid "for channel"
+msgstr "לערוץ"
+
+#: ../../mod/admin.php:547
+msgid "on server"
+msgstr "בשרת"
+
+#: ../../mod/admin.php:547
+msgid "Status"
+msgstr "מצב"
+
+#: ../../mod/admin.php:549
+msgid "Server"
+msgstr "שרת"
+
+#: ../../mod/admin.php:566
+msgid "Update has been marked successful"
+msgstr ""
+
+#: ../../mod/admin.php:576
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr ""
+
+#: ../../mod/admin.php:579
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr ""
+
+#: ../../mod/admin.php:583
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr ""
+
+#: ../../mod/admin.php:586
+#, php-format
+msgid "Update function %s could not be found."
+msgstr ""
+
+#: ../../mod/admin.php:602
+msgid "No failed updates."
+msgstr ""
+
+#: ../../mod/admin.php:606
+msgid "Failed Updates"
+msgstr ""
+
+#: ../../mod/admin.php:608
+msgid "Mark success (if update was manually applied)"
+msgstr ""
+
+#: ../../mod/admin.php:609
+msgid "Attempt to execute this update step automatically"
+msgstr ""
+
+#: ../../mod/admin.php:641
+msgid "Queue Statistics"
+msgstr ""
+
+#: ../../mod/admin.php:642
+msgid "Total Entries"
+msgstr ""
+
+#: ../../mod/admin.php:643
+msgid "Priority"
+msgstr "עדיפות"
+
+#: ../../mod/admin.php:644
+msgid "Destination URL"
+msgstr ""
+
+#: ../../mod/admin.php:645
+msgid "Mark hub permanently offline"
+msgstr ""
+
+#: ../../mod/admin.php:646
+msgid "Empty queue for this hub"
+msgstr ""
+
+#: ../../mod/admin.php:647
+msgid "Last known contact"
+msgstr ""
+
+#: ../../mod/admin.php:683
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/admin.php:691
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/admin.php:727
+msgid "Account not found"
+msgstr "חשבון לא נמצא"
+
+#: ../../mod/admin.php:739
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "חשבון '%s' נמחק"
+
+#: ../../mod/admin.php:747
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "חשבון '%s' נחסם"
+
+#: ../../mod/admin.php:755
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "חשבון '%s' נפתח"
+
+#: ../../mod/admin.php:818 ../../mod/admin.php:830
+msgid "Users"
+msgstr "משתמשים"
+
+#: ../../mod/admin.php:820 ../../mod/admin.php:987
+msgid "select all"
+msgstr "בחר הכל"
+
+#: ../../mod/admin.php:821
+msgid "User registrations waiting for confirm"
+msgstr "הרשמות משתמש אשר ממתינות לאישור"
+
+#: ../../mod/admin.php:822
+msgid "Request date"
+msgstr ""
+
+#: ../../mod/admin.php:823
+msgid "No registrations."
+msgstr "אין הרשמות."
+
+#: ../../mod/admin.php:824 ../../mod/connedit.php:699
+msgid "Approve"
+msgstr ""
+
+#: ../../mod/admin.php:825
+msgid "Deny"
+msgstr "לאסור"
+
+#: ../../mod/admin.php:827 ../../mod/connedit.php:531
+msgid "Block"
+msgstr "חסום"
+
+#: ../../mod/admin.php:828 ../../mod/connedit.php:531
+msgid "Unblock"
+msgstr "בטל חסימה"
+
+#: ../../mod/admin.php:831
+msgid "Register date"
+msgstr ""
+
+#: ../../mod/admin.php:831
+msgid "Last login"
+msgstr ""
+
+#: ../../mod/admin.php:831
+msgid "Expires"
+msgstr ""
+
+#: ../../mod/admin.php:831
+msgid "Service Class"
+msgstr ""
+
+#: ../../mod/admin.php:833
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../mod/admin.php:834
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../mod/admin.php:870
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/admin.php:879
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/admin.php:886
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/admin.php:906
+msgid "Channel not found"
+msgstr "ערוץ לא נמצא"
+
+#: ../../mod/admin.php:917
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr ""
+
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' censored"
+msgstr ""
+
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr ""
+
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr ""
+
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr ""
+
+#: ../../mod/admin.php:989
+msgid "Censor"
+msgstr ""
+
+#: ../../mod/admin.php:990
+msgid "Uncensor"
+msgstr ""
+
+#: ../../mod/admin.php:991
+msgid "Allow Code"
+msgstr ""
+
+#: ../../mod/admin.php:992
+msgid "Disallow Code"
+msgstr ""
+
+#: ../../mod/admin.php:994
+msgid "UID"
+msgstr ""
+
+#: ../../mod/admin.php:994 ../../mod/profiles.php:447
+msgid "Address"
+msgstr "כתובת"
+
+#: ../../mod/admin.php:996
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../mod/admin.php:997
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../mod/admin.php:1037
+#, php-format
+msgid "Plugin %s disabled."
+msgstr ""
+
+#: ../../mod/admin.php:1041
+#, php-format
+msgid "Plugin %s enabled."
+msgstr ""
+
+#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+msgid "Disable"
+msgstr ""
+
+#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+msgid "Enable"
+msgstr ""
+
+#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+msgid "Toggle"
+msgstr ""
+
+#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+msgid "Author: "
+msgstr "מחבר: "
+
+#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+msgid "Maintainer: "
+msgstr "מתחזק: "
+
+#: ../../mod/admin.php:1214
+msgid "No themes found."
+msgstr "לא נמצאו מוטיבים."
+
+#: ../../mod/admin.php:1270
+msgid "Screenshot"
+msgstr "צילום מסך"
+
+#: ../../mod/admin.php:1316
+msgid "[Experimental]"
+msgstr "[ניסיוני]"
+
+#: ../../mod/admin.php:1317
+msgid "[Unsupported]"
+msgstr "[לא נתמך]"
+
+#: ../../mod/admin.php:1341
+msgid "Log settings updated."
+msgstr ""
+
+#: ../../mod/admin.php:1398
+msgid "Clear"
+msgstr "טהר"
+
+#: ../../mod/admin.php:1404
+msgid "Debugging"
+msgstr "דיבאג"
+
+#: ../../mod/admin.php:1405
+msgid "Log file"
+msgstr "קובץ יומן"
+
+#: ../../mod/admin.php:1405
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr ""
+
+#: ../../mod/admin.php:1406
+msgid "Log level"
+msgstr ""
+
+#: ../../mod/admin.php:1452
+msgid "New Profile Field"
+msgstr ""
+
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "Field nickname"
+msgstr ""
+
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "System name of field"
+msgstr ""
+
+#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+msgid "Input type"
+msgstr "טיפוס קלט"
+
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Field Name"
+msgstr "שם שדה"
+
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Label on profile pages"
+msgstr ""
+
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Help text"
+msgstr "טקסט עזרה"
+
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Additional info (optional)"
+msgstr "מידע נוסף (רשות)"
+
+#: ../../mod/admin.php:1466
+msgid "Field definition not found"
+msgstr ""
+
+#: ../../mod/admin.php:1472
+msgid "Edit Profile Field"
+msgstr ""
+
+#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
+msgid "This setting requires special processing and editing has been blocked."
+msgstr ""
+
+#: ../../mod/pconfig.php:49
+msgid "Configuration Editor"
+msgstr "עורך תצורה"
+
+#: ../../mod/pconfig.php:50
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr ""
+
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr ""
+
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr ""
+
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "אנא התחבר כדי להמשיך."
+
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr ""
+
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr ""
+
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr ""
+
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr ""
+
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr ""
+
+#: ../../mod/pdledit.php:55
+msgid "Layout Help"
+msgstr ""
+
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "אפליקציה מותקנת."
+
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "אפליקציה פגומה."
+
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr ""
+
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "ערוך אפליקציה"
+
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "צור אפליקציה"
+
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "שם של אפליקציה"
+
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr ""
+
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+msgid "Description"
+msgstr "תיאור"
+
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr ""
+
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr ""
+
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr ""
+
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr ""
+
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr ""
+
+#: ../../mod/photos.php:78
+msgid "Page owner information could not be retrieved."
+msgstr ""
+
+#: ../../mod/photos.php:98
+msgid "Album not found."
+msgstr "אלבום לא נמצא."
+
+#: ../../mod/photos.php:120 ../../mod/photos.php:655
+msgid "Delete Album"
+msgstr "מחק אלבום"
+
+#: ../../mod/photos.php:160 ../../mod/photos.php:942
+msgid "Delete Photo"
+msgstr "מחק תצלום"
+
+#: ../../mod/photos.php:441 ../../mod/directory.php:59
+#: ../../mod/display.php:13 ../../mod/ratings.php:82 ../../mod/search.php:13
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr ""
+
+#: ../../mod/photos.php:452
+msgid "No photos selected"
+msgstr "לא נבחרו תצלומים"
+
+#: ../../mod/photos.php:496
+msgid "Access to this item is restricted."
+msgstr ""
+
+#: ../../mod/photos.php:535
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr ""
+
+#: ../../mod/photos.php:538
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr ""
+
+#: ../../mod/photos.php:562
+msgid "Upload Photos"
+msgstr "העלה תצלומים"
+
+#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+msgid "Enter a new album name"
+msgstr "הזן שם אלבום חדש"
+
+#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+msgid "or select an existing one (doubleclick)"
+msgstr "או בחר באחד קיים (לחיצה כפולה)"
+
+#: ../../mod/photos.php:568
+msgid "Create a status post for this upload"
+msgstr ""
+
+#: ../../mod/photos.php:596
+msgid "Album name could not be decoded"
+msgstr ""
+
+#: ../../mod/photos.php:637 ../../mod/photos.php:1169
+#: ../../mod/photos.php:1185
+msgid "Contact Photos"
+msgstr "תצלומי איש קשר"
+
+#: ../../mod/photos.php:661
+msgid "Show Newest First"
+msgstr ""
+
+#: ../../mod/photos.php:663
+msgid "Show Oldest First"
+msgstr ""
+
+#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+msgid "View Photo"
+msgstr "צפה בתצלום"
+
+#: ../../mod/photos.php:716
+msgid "Edit Album"
+msgstr "ערוך אלבום"
+
+#: ../../mod/photos.php:761
+msgid "Permission denied. Access to this item may be restricted."
+msgstr ""
+
+#: ../../mod/photos.php:763
+msgid "Photo not available"
+msgstr "תצלום לא זמין"
+
+#: ../../mod/photos.php:821
+msgid "Use as profile photo"
+msgstr ""
+
+#: ../../mod/photos.php:828
+msgid "Private Photo"
+msgstr "תצלום פרטי"
+
+#: ../../mod/photos.php:839 ../../mod/events.php:505
+msgid "Previous"
+msgstr "קודם"
+
+#: ../../mod/photos.php:843
+msgid "View Full Size"
+msgstr ""
+
+#: ../../mod/photos.php:848 ../../mod/events.php:506 ../../mod/setup.php:281
+msgid "Next"
+msgstr "הבא"
+
+#: ../../mod/photos.php:887 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "הסר"
+
+#: ../../mod/photos.php:921
+msgid "Edit photo"
+msgstr "ערוך תצלום"
+
+#: ../../mod/photos.php:923
+msgid "Rotate CW (right)"
+msgstr ""
+
+#: ../../mod/photos.php:924
+msgid "Rotate CCW (left)"
+msgstr ""
+
+#: ../../mod/photos.php:931
+msgid "Caption"
+msgstr "דברי הסבר"
+
+#: ../../mod/photos.php:933
+msgid "Add a Tag"
+msgstr "הוסף תגית"
+
+#: ../../mod/photos.php:937
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr ""
+
+#: ../../mod/photos.php:940
+msgid "Flag as adult in album view"
+msgstr ""
+
+#: ../../mod/photos.php:1132
+msgid "In This Photo:"
+msgstr ""
+
+#: ../../mod/photos.php:1137
+msgid "Map"
+msgstr "מפה"
+
+#: ../../mod/photos.php:1223
+msgid "View Album"
+msgstr ""
+
+#: ../../mod/photos.php:1246
+msgid "Recent Photos"
+msgstr ""
+
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "פריט לא נמצא."
+
+#: ../../mod/ping.php:263
+msgid "sent you a private message"
+msgstr ""
+
+#: ../../mod/ping.php:314
+msgid "added your channel"
+msgstr ""
+
+#: ../../mod/ping.php:355
+msgid "posted an event"
+msgstr ""
+
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
+msgid "Block Name"
+msgstr ""
+
+#: ../../mod/blocks.php:149
+msgid "Block Title"
+msgstr ""
+
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "דחוף/עורר"
+
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "דחוף, עורר או עשה דברים אחרים למישהו"
+
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr ""
+
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr ""
+
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr ""
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "סימנייה התווספה"
+
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "הסימניות שלי"
+
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "סימניות החיבורים שלי"
+
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr ""
+
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "צור ערוץ חדש"
+
+#: ../../mod/manage.php:167
+msgid "Current Channel"
+msgstr "ערוץ נוכחי"
+
+#: ../../mod/manage.php:169
+msgid "Switch to one of your channels by selecting it."
+msgstr ""
+
+#: ../../mod/manage.php:170
+msgid "Default Channel"
+msgstr "ערוץ שגרתי"
+
+#: ../../mod/manage.php:171
+msgid "Make Default"
+msgstr "הפוך לשגרתי"
+
+#: ../../mod/manage.php:174
+#, php-format
+msgid "%d new messages"
+msgstr "%d הודעות חדשות"
+
+#: ../../mod/manage.php:175
+#, php-format
+msgid "%d new introductions"
+msgstr ""
+
+#: ../../mod/manage.php:177
+msgid "Delegated Channels"
+msgstr ""
+
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr ""
+
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr ""
+
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr ""
+
+#: ../../mod/match.php:70
+msgid "No matches"
+msgstr ""
+
+#: ../../mod/bulksetclose.php:89 ../../mod/group.php:196
+msgid "Members"
+msgstr "חברים"
+
+#: ../../mod/bulksetclose.php:91 ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr ""
+
+#: ../../mod/bulksetclose.php:126 ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr ""
+
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "הצבעה"
+
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "צפה בתוצאות"
+
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr ""
+
+#: ../../mod/channel.php:97
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+
+#: ../../mod/post.php:236
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr ""
+
+#: ../../mod/post.php:287 ../../mod/openid.php:72 ../../mod/openid.php:180
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr ""
+
+#: ../../mod/chat.php:167
+msgid "Room not found"
+msgstr ""
+
+#: ../../mod/chat.php:178
+msgid "Leave Room"
+msgstr "עזוב חדר"
+
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
+msgstr "מחק את חדר זה"
+
+#: ../../mod/chat.php:180
+msgid "I am away right now"
+msgstr "אני נעדר/ת ברגע זה"
+
+#: ../../mod/chat.php:181
+msgid "I am online"
+msgstr "אני במצב מקוון"
+
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr "סמן את חדר זה"
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr "חדר שיחה חדש"
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr "שם חדר שיחה"
+
+#: ../../mod/chat.php:225
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "חדרי שיחה של %1$s"
+
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "נעדר"
+
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "מקוון"
+
+#: ../../mod/probe.php:24 ../../mod/probe.php:30
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr ""
+
+#: ../../mod/cloud.php:120
+msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
+msgstr ""
+
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "אין ערוץ."
+
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "חיבורים מצויים"
+
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr ""
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:162
+msgid "Image resize failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:206
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr ""
+
+#: ../../mod/profile_photo.php:233
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr ""
+
+#: ../../mod/profile_photo.php:242
+msgid "Unable to process image."
+msgstr ""
+
+#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
+msgid "Photo not available."
+msgstr "תצלום לא זמין."
+
+#: ../../mod/profile_photo.php:359
+msgid "Upload File:"
+msgstr "העלה קובץ:"
+
+#: ../../mod/profile_photo.php:360
+msgid "Select a profile:"
+msgstr "בחר פרופיל:"
+
+#: ../../mod/profile_photo.php:361
+msgid "Upload Profile Photo"
+msgstr ""
+
+#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
+msgid "or"
+msgstr "או"
+
+#: ../../mod/profile_photo.php:366
+msgid "skip this step"
+msgstr "דלג על צעד זה"
+
+#: ../../mod/profile_photo.php:366
+msgid "select a photo from your photo albums"
+msgstr ""
+
+#: ../../mod/profile_photo.php:382
+msgid "Crop Image"
+msgstr ""
+
+#: ../../mod/profile_photo.php:383
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr ""
+
+#: ../../mod/profile_photo.php:385
+msgid "Done Editing"
+msgstr ""
+
+#: ../../mod/profile_photo.php:428
+msgid "Image uploaded successfully."
+msgstr ""
+
+#: ../../mod/profile_photo.php:430
+msgid "Image upload failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:439
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr ""
+
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "המשך"
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr ""
+
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr ""
+
+#: ../../mod/connect.php:88
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
+
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr ""
+
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr ""
+
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr ""
+
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr ""
+
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr ""
+
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr ""
+
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr ""
+
+#: ../../mod/notifications.php:51 ../../mod/connedit.php:539
+msgid "Ignore"
+msgstr "התעלמות"
+
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr ""
+
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr ""
+
+#: ../../mod/connections.php:52 ../../mod/connections.php:153
+msgid "Blocked"
+msgstr ""
+
+#: ../../mod/connections.php:57 ../../mod/connections.php:160
+msgid "Ignored"
+msgstr ""
+
+#: ../../mod/connections.php:62 ../../mod/connections.php:174
+msgid "Hidden"
+msgstr "מוסתר"
+
+#: ../../mod/connections.php:67 ../../mod/connections.php:167
+msgid "Archived"
+msgstr ""
+
+#: ../../mod/connections.php:131
+msgid "Suggest new connections"
+msgstr ""
+
+#: ../../mod/connections.php:134
+msgid "New Connections"
+msgstr "חיבורים חדשים"
+
+#: ../../mod/connections.php:137
+msgid "Show pending (new) connections"
+msgstr ""
+
+#: ../../mod/connections.php:140 ../../mod/profperm.php:139
+msgid "All Connections"
+msgstr "כל החיבורים"
+
+#: ../../mod/connections.php:143
+msgid "Show all connections"
+msgstr ""
+
+#: ../../mod/connections.php:146
+msgid "Unblocked"
+msgstr ""
+
+#: ../../mod/connections.php:149
+msgid "Only show unblocked connections"
+msgstr ""
+
+#: ../../mod/connections.php:156
+msgid "Only show blocked connections"
+msgstr ""
+
+#: ../../mod/connections.php:163
+msgid "Only show ignored connections"
+msgstr ""
+
+#: ../../mod/connections.php:170
+msgid "Only show archived connections"
+msgstr ""
+
+#: ../../mod/connections.php:177
+msgid "Only show hidden connections"
+msgstr ""
+
+#: ../../mod/connections.php:232
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr ""
+
+#: ../../mod/connections.php:233
+msgid "Edit connection"
+msgstr ""
+
+#: ../../mod/connections.php:271
+msgid "Search your connections"
+msgstr ""
+
+#: ../../mod/connections.php:272
+msgid "Finding: "
+msgstr ""
+
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
+#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
+msgid "Profile not found."
+msgstr "פרופיל לא נמצא."
+
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
+msgstr "פרופיל נמחק."
+
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "פרופיל-"
+
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "פרופיל חדש נוצר."
+
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
+msgstr ""
+
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr ""
+
+#: ../../mod/profiles.php:241
+msgid "Profile Name is required."
+msgstr ""
+
+#: ../../mod/profiles.php:404
+msgid "Marital Status"
+msgstr ""
+
+#: ../../mod/profiles.php:408
+msgid "Romantic Partner"
+msgstr ""
+
+#: ../../mod/profiles.php:412
+msgid "Likes"
+msgstr ""
+
+#: ../../mod/profiles.php:416
+msgid "Dislikes"
+msgstr ""
+
+#: ../../mod/profiles.php:420
+msgid "Work/Employment"
+msgstr ""
+
+#: ../../mod/profiles.php:423
+msgid "Religion"
+msgstr "דת"
+
+#: ../../mod/profiles.php:427
+msgid "Political Views"
+msgstr "השקפות פוליטיות"
+
+#: ../../mod/profiles.php:431 ../../mod/id.php:33
+msgid "Gender"
+msgstr "מין"
+
+#: ../../mod/profiles.php:435
+msgid "Sexual Preference"
+msgstr "העדפה מינית"
+
+#: ../../mod/profiles.php:439
+msgid "Homepage"
+msgstr "עמוד בית"
+
+#: ../../mod/profiles.php:443
+msgid "Interests"
+msgstr ""
+
+#: ../../mod/profiles.php:454 ../../mod/pubsites.php:26
+msgid "Location"
+msgstr "מיקום"
+
+#: ../../mod/profiles.php:537
+msgid "Profile updated."
+msgstr ""
+
+#: ../../mod/profiles.php:626
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr ""
+
+#: ../../mod/profiles.php:666
+msgid "Edit Profile Details"
+msgstr ""
+
+#: ../../mod/profiles.php:668
+msgid "View this profile"
+msgstr ""
+
+#: ../../mod/profiles.php:670
+msgid "Change Profile Photo"
+msgstr ""
+
+#: ../../mod/profiles.php:671
+msgid "Create a new profile using these settings"
+msgstr ""
+
+#: ../../mod/profiles.php:672
+msgid "Clone this profile"
+msgstr "שבט את פרופיל זה"
+
+#: ../../mod/profiles.php:673
+msgid "Delete this profile"
+msgstr "מחק את פרופיל זה"
+
+#: ../../mod/profiles.php:675
+msgid "Import profile from file"
+msgstr ""
+
+#: ../../mod/profiles.php:676
+msgid "Export profile to file"
+msgstr ""
+
+#: ../../mod/profiles.php:677
+msgid "Profile Name:"
+msgstr "שם פרופיל:"
+
+#: ../../mod/profiles.php:678
+msgid "Your Full Name:"
+msgstr "שמך המלא:"
+
+#: ../../mod/profiles.php:679
+msgid "Title/Description:"
+msgstr "כותרת/תיאור:"
+
+#: ../../mod/profiles.php:680
+msgid "Your Gender:"
+msgstr "המין שלך:"
+
+#: ../../mod/profiles.php:681
+msgid "Birthday :"
+msgstr "יום הולדת:"
+
+#: ../../mod/profiles.php:682
+msgid "Street Address:"
+msgstr "כתובת רחוב:"
+
+#: ../../mod/profiles.php:683
+msgid "Locality/City:"
+msgstr ""
+
+#: ../../mod/profiles.php:684
+msgid "Postal/Zip Code:"
+msgstr ""
+
+#: ../../mod/profiles.php:685
+msgid "Country:"
+msgstr "ארץ:"
+
+#: ../../mod/profiles.php:686
+msgid "Region/State:"
+msgstr ""
+
+#: ../../mod/profiles.php:687
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr ""
+
+#: ../../mod/profiles.php:688
+msgid "Who: (if applicable)"
+msgstr ""
+
+#: ../../mod/profiles.php:689
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr ""
+
+#: ../../mod/profiles.php:690
+msgid "Since [date]:"
+msgstr ""
+
+#: ../../mod/profiles.php:692
+msgid "Homepage URL:"
+msgstr ""
+
+#: ../../mod/profiles.php:695
+msgid "Religious Views:"
+msgstr ""
+
+#: ../../mod/profiles.php:696
+msgid "Keywords:"
+msgstr "מילות מפתח:"
+
+#: ../../mod/profiles.php:699
+msgid "Example: fishing photography software"
+msgstr ""
+
+#: ../../mod/profiles.php:700
+msgid "Used in directory listings"
+msgstr ""
+
+#: ../../mod/profiles.php:701
+msgid "Tell us about yourself..."
+msgstr ""
+
+#: ../../mod/profiles.php:702
+msgid "Hobbies/Interests"
+msgstr ""
+
+#: ../../mod/profiles.php:703
+msgid "Contact information and Social Networks"
+msgstr ""
+
+#: ../../mod/profiles.php:704
+msgid "My other channels"
+msgstr ""
+
+#: ../../mod/profiles.php:705
+msgid "Musical interests"
+msgstr ""
+
+#: ../../mod/profiles.php:706
+msgid "Books, literature"
+msgstr ""
+
+#: ../../mod/profiles.php:707
+msgid "Television"
+msgstr "טלוויזיה"
+
+#: ../../mod/profiles.php:708
+msgid "Film/dance/culture/entertainment"
+msgstr ""
+
+#: ../../mod/profiles.php:709
+msgid "Love/romance"
+msgstr ""
+
+#: ../../mod/profiles.php:710
+msgid "Work/employment"
+msgstr ""
+
+#: ../../mod/profiles.php:711
+msgid "School/education"
+msgstr ""
+
+#: ../../mod/profiles.php:717
+msgid "This is your default profile."
+msgstr ""
+
+#: ../../mod/profiles.php:728
+msgid "Age: "
+msgstr "גיל: "
+
+#: ../../mod/profiles.php:771
+msgid "Edit/Manage Profiles"
+msgstr ""
+
+#: ../../mod/profiles.php:772
+msgid "Add profile things"
+msgstr ""
+
+#: ../../mod/profiles.php:773
+msgid "Include desirable objects in your profile"
+msgstr ""
+
+#: ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../mod/connedit.php:219
+msgid "Connection updated."
+msgstr ""
+
+#: ../../mod/connedit.php:221
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../mod/connedit.php:267
+msgid "is now connected to"
+msgstr ""
+
+#: ../../mod/connedit.php:392
+msgid "Could not access address book record."
+msgstr ""
+
+#: ../../mod/connedit.php:406
+msgid "Refresh failed - channel is currently unavailable."
+msgstr ""
+
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
+#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
+#: ../../mod/connedit.php:470
+msgid "Unable to set address book parameters."
+msgstr ""
+
+#: ../../mod/connedit.php:494
+msgid "Connection has been removed."
+msgstr ""
+
+#: ../../mod/connedit.php:513
+#, php-format
+msgid "View %s's profile"
+msgstr ""
+
+#: ../../mod/connedit.php:517
+msgid "Refresh Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:520
+msgid "Fetch updated permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:524
+msgid "Recent Activity"
+msgstr ""
+
+#: ../../mod/connedit.php:527
+msgid "View recent posts and comments"
+msgstr ""
+
+#: ../../mod/connedit.php:534
+msgid "Block (or Unblock) all communications with this connection"
+msgstr ""
+
+#: ../../mod/connedit.php:535
+msgid "This connection is blocked!"
+msgstr ""
+
+#: ../../mod/connedit.php:539
+msgid "Unignore"
+msgstr ""
+
+#: ../../mod/connedit.php:542
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr ""
+
+#: ../../mod/connedit.php:543
+msgid "This connection is ignored!"
+msgstr ""
+
+#: ../../mod/connedit.php:547
+msgid "Unarchive"
+msgstr ""
+
+#: ../../mod/connedit.php:547
+msgid "Archive"
+msgstr ""
+
+#: ../../mod/connedit.php:550
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr ""
+
+#: ../../mod/connedit.php:551
+msgid "This connection is archived!"
+msgstr ""
+
+#: ../../mod/connedit.php:555
+msgid "Unhide"
+msgstr ""
+
+#: ../../mod/connedit.php:555
+msgid "Hide"
+msgstr "הסתר"
+
+#: ../../mod/connedit.php:558
+msgid "Hide or Unhide this connection from your other connections"
+msgstr ""
+
+#: ../../mod/connedit.php:559
+msgid "This connection is hidden!"
+msgstr "חיבור זה הינו מוסתר!"
+
+#: ../../mod/connedit.php:566
+msgid "Delete this connection"
+msgstr "מחק את חיבור זה"
+
+#: ../../mod/connedit.php:647
+msgid "Approve this connection"
+msgstr "אשר את חיבור זה"
+
+#: ../../mod/connedit.php:647
+msgid "Accept connection to allow communication"
+msgstr "אשר חיבור כדי להתיר תקשורת"
+
+#: ../../mod/connedit.php:652
+msgid "Set Affinity"
+msgstr ""
+
+#: ../../mod/connedit.php:655
+msgid "Set Profile"
+msgstr ""
+
+#: ../../mod/connedit.php:658
+msgid "Set Affinity & Profile"
+msgstr ""
+
+#: ../../mod/connedit.php:675
+msgid "Apply these permissions automatically"
+msgstr ""
+
+#: ../../mod/connedit.php:677
+msgid "This connection's address is"
+msgstr ""
+
+#: ../../mod/connedit.php:680
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr ""
+
+#: ../../mod/connedit.php:682
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../mod/connedit.php:684
+msgid "Slide to adjust your rating"
+msgstr ""
+
+#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
+msgid "Optionally explain your rating"
+msgstr ""
+
+#: ../../mod/connedit.php:687
+msgid "Custom Filter"
+msgstr ""
+
+#: ../../mod/connedit.php:688
+msgid "Only import posts with this text"
+msgstr ""
+
+#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
+msgid ""
+"words one per line or #tags or /patterns/, leave blank to import all posts"
+msgstr ""
+
+#: ../../mod/connedit.php:689
+msgid "Do not import posts with this text"
+msgstr ""
+
+#: ../../mod/connedit.php:691
+msgid "This information is public!"
+msgstr ""
+
+#: ../../mod/connedit.php:696
+msgid "Connection Pending Approval"
+msgstr ""
+
+#: ../../mod/connedit.php:697
+msgid "Connection Request"
+msgstr ""
+
+#: ../../mod/connedit.php:698
+#, php-format
+msgid ""
+"(%s) would like to connect with you. Please approve this connection to allow"
+" communication."
+msgstr ""
+
+#: ../../mod/connedit.php:700
+msgid "Approve Later"
+msgstr ""
+
+#: ../../mod/connedit.php:703
+msgid "inherited"
+msgstr ""
+
+#: ../../mod/connedit.php:705
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+
+#: ../../mod/connedit.php:707
+msgid "Their Settings"
+msgstr "ההגדרות שלהם"
+
+#: ../../mod/connedit.php:708
+msgid "My Settings"
+msgstr "ההגדרות שלי"
+
+#: ../../mod/connedit.php:710
+msgid "Individual Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:711
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr ""
+
+#: ../../mod/connedit.php:712
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr ""
+
+#: ../../mod/connedit.php:713
+msgid "Last update:"
+msgstr ""
+
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr ""
+
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr ""
+
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr ""
+
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr ""
+
+#: ../../mod/dav.php:121
+msgid "$Projectname channel"
+msgstr "ערוץ $Projectname"
+
+#: ../../mod/directory.php:234
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/directory.php:245
+msgid "Gender: "
+msgstr "מין: "
+
+#: ../../mod/directory.php:247
+msgid "Status: "
+msgstr "מצב: "
+
+#: ../../mod/directory.php:249
+msgid "Homepage: "
+msgstr "עמוד בית: "
+
+#: ../../mod/directory.php:308 ../../mod/events.php:682
+msgid "Description:"
+msgstr "תיאור:"
+
+#: ../../mod/directory.php:317
+msgid "Public Forum:"
+msgstr "פורום פומבי:"
+
+#: ../../mod/directory.php:320
+msgid "Keywords: "
+msgstr "מילות מפתח: "
+
+#: ../../mod/directory.php:323
+msgid "Don't suggest"
+msgstr "אל תציע"
+
+#: ../../mod/directory.php:325
+msgid "Common connections:"
+msgstr "חיבורים שכיחים:"
+
+#: ../../mod/directory.php:374
+msgid "Global Directory"
+msgstr "ספרייה גלובלית"
+
+#: ../../mod/directory.php:374
+msgid "Local Directory"
+msgstr "ספרייה מקומית"
+
+#: ../../mod/directory.php:380
+msgid "Finding:"
+msgstr ""
+
+#: ../../mod/directory.php:385
+msgid "next page"
+msgstr "עמוד הבא"
+
+#: ../../mod/directory.php:385
+msgid "previous page"
+msgstr "עמוד קודם"
+
+#: ../../mod/directory.php:386
+msgid "Sort options"
+msgstr "אפשרויות מיון"
+
+#: ../../mod/directory.php:387
+msgid "Alphabetic"
+msgstr "אלפבתי"
+
+#: ../../mod/directory.php:388
+msgid "Reverse Alphabetic"
+msgstr ""
+
+#: ../../mod/directory.php:389
+msgid "Newest to Oldest"
+msgstr ""
+
+#: ../../mod/directory.php:390
+msgid "Oldest to Newest"
+msgstr ""
+
+#: ../../mod/directory.php:407
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr ""
+
+#: ../../mod/pubsites.php:19
+msgid ""
+"The listed sites allow public registration for the $Projectname network. All"
+" sites in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some sites may require subscription or"
+" provide tiered service plans. The provider links <strong>may</strong> "
+"provide additional details."
+msgstr ""
+
+#: ../../mod/pubsites.php:25
+msgid "Rate this hub"
+msgstr ""
+
+#: ../../mod/pubsites.php:26
+msgid "Site URL"
+msgstr "URL אתר"
+
+#: ../../mod/pubsites.php:26
+msgid "Access Type"
+msgstr "טיפוס גישה"
+
+#: ../../mod/pubsites.php:26
+msgid "Registration Policy"
+msgstr "מדיניות רישום"
+
+#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "פרויקט"
+
+#: ../../mod/pubsites.php:26
+msgid "View hub ratings"
+msgstr ""
+
+#: ../../mod/pubsites.php:30
+msgid "Rate"
+msgstr ""
+
+#: ../../mod/pubsites.php:31
+msgid "View ratings"
+msgstr ""
+
+#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
+msgid "This site is not a directory server"
+msgstr ""
+
+#: ../../mod/dirsearch.php:29
+msgid "This directory server requires an access token"
+msgstr ""
+
+#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
+#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "פריט לא נמצא"
+
+#: ../../mod/editblock.php:117
+msgid "Delete block?"
+msgstr ""
+
+#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142
+#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:187
+msgid "Insert YouTube video"
+msgstr "הכנס וידאו YouTube"
+
+#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:188
+msgid "Insert Vorbis [.ogg] video"
+msgstr "הכנס וידאו Vorbis [.ogg]&lrm;"
+
+#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:189
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "הכנס אודיו Vorbis [.ogg]&lrm;"
+
+#: ../../mod/editblock.php:179
+msgid "Edit Block"
+msgstr ""
+
+#: ../../mod/editlayout.php:111
+msgid "Delete layout?"
+msgstr ""
+
+#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+msgid "Layout Description (Optional)"
+msgstr ""
+
+#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:179
+msgid "Layout Name"
+msgstr ""
+
+#: ../../mod/editlayout.php:177
+msgid "Edit Layout"
+msgstr ""
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "פריט אינו עריך."
+
+#: ../../mod/editpost.php:48
+msgid "Delete item?"
+msgstr "למחוק פריט?"
+
+#: ../../mod/editpost.php:158 ../../mod/rpost.php:131
+msgid "Edit post"
+msgstr "ערוך פוסט"
+
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr ""
+
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr ""
+
+#: ../../mod/editwebpage.php:152
+msgid "Delete webpage?"
+msgstr "למחוק עמוד רשת?"
+
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
+msgstr ""
+
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
+msgstr "ערוך עמוד רשת"
+
+#: ../../mod/rate.php:157
+msgid "Website:"
+msgstr "אתר רשת:"
+
+#: ../../mod/rate.php:160
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr ""
+
+#: ../../mod/rate.php:161
+msgid "Rating (this information is public)"
+msgstr ""
+
+#: ../../mod/rate.php:162
+msgid "Optionally explain your rating (this information is public)"
+msgstr ""
+
+#: ../../mod/events.php:21
+msgid "Calendar entries imported."
+msgstr ""
+
+#: ../../mod/events.php:23
+msgid "No calendar entries found."
+msgstr ""
+
+#: ../../mod/events.php:101
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+msgid "Unable to generate preview."
+msgstr ""
+
+#: ../../mod/events.php:110
+msgid "Event title and start time are required."
+msgstr ""
+
+#: ../../mod/events.php:128
+msgid "Event not found."
+msgstr "אירוע לא נמצא."
+
+#: ../../mod/events.php:426
+msgid "l, F j"
+msgstr "l, F j"
+
+#: ../../mod/events.php:448
+msgid "Edit event"
+msgstr "ערוך אירוע"
+
+#: ../../mod/events.php:449
+msgid "Delete event"
+msgstr "מחק אירוע"
+
+#: ../../mod/events.php:483
+msgid "calendar"
+msgstr "לוח שנה"
+
+#: ../../mod/events.php:504
+msgid "Create New Event"
+msgstr "צור אירוע חדש"
+
+#: ../../mod/events.php:507
+msgid "Export"
+msgstr "יצא"
+
+#: ../../mod/events.php:510
+msgid "Import"
+msgstr "יבא"
+
+#: ../../mod/events.php:541
+msgid "Event removed"
+msgstr "אירוע הוסר"
+
+#: ../../mod/events.php:544
+msgid "Failed to remove event"
+msgstr "נכשל להסיר אירוע"
+
+#: ../../mod/events.php:664
+msgid "Event details"
+msgstr "פרטי אירוע"
+
+#: ../../mod/events.php:665
+msgid "Starting date and Title are required."
+msgstr ""
+
+#: ../../mod/events.php:667
+msgid "Categories (comma-separated list)"
+msgstr ""
+
+#: ../../mod/events.php:669
+msgid "Event Starts:"
+msgstr "אירוע מתחיל:"
+
+#: ../../mod/events.php:676
+msgid "Finish date/time is not known or not relevant"
+msgstr ""
+
+#: ../../mod/events.php:678
+msgid "Event Finishes:"
+msgstr "אירוע מסתיים:"
+
+#: ../../mod/events.php:680 ../../mod/events.php:681
+msgid "Adjust for viewer timezone"
+msgstr ""
+
+#: ../../mod/events.php:680
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr ""
+
+#: ../../mod/events.php:686
+msgid "Title:"
+msgstr "כותרת:"
+
+#: ../../mod/events.php:688
+msgid "Share this event"
+msgstr "שתף את אירוע זה"
+
+#: ../../mod/ratings.php:69
+msgid "No ratings"
+msgstr ""
+
+#: ../../mod/ratings.php:99
+msgid "Ratings"
+msgstr ""
+
+#: ../../mod/ratings.php:100
+msgid "Rating: "
+msgstr ""
+
+#: ../../mod/ratings.php:101
+msgid "Website: "
+msgstr "אתר רשת:"
+
+#: ../../mod/ratings.php:103
+msgid "Description: "
+msgstr "תיאור: "
+
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr ""
+
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr ""
+
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr ""
+
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr ""
+
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- בחר -"
+
+#: ../../mod/filestorage.php:82
+msgid "Permission Denied."
+msgstr ""
+
+#: ../../mod/filestorage.php:98
+msgid "File not found."
+msgstr "קובץ לא נמצא."
+
+#: ../../mod/filestorage.php:141
+msgid "Edit file permissions"
+msgstr ""
+
+#: ../../mod/filestorage.php:150
+msgid "Set/edit permissions"
+msgstr ""
+
+#: ../../mod/filestorage.php:151
+msgid "Include all files and sub folders"
+msgstr ""
+
+#: ../../mod/filestorage.php:152
+msgid "Return to file list"
+msgstr ""
+
+#: ../../mod/filestorage.php:154
+msgid "Copy/paste this code to attach file to a post"
+msgstr ""
+
+#: ../../mod/filestorage.php:155
+msgid "Copy/paste this URL to link file from a web page"
+msgstr ""
+
+#: ../../mod/filestorage.php:157
+msgid "Share this file"
+msgstr "שתף את קובץ זה"
+
+#: ../../mod/filestorage.php:158
+msgid "Show URL to this file"
+msgstr "הצג URL לקובץ זה"
+
+#: ../../mod/filestorage.php:159
+msgid "Notify your contacts about this file"
+msgstr ""
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr ""
+
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr ""
+
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr ""
+
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr ""
+
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr ""
+
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr ""
+
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr ""
+
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr ""
+
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr ""
+
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr ""
+
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "תנאי שימוש"
+
+#: ../../mod/register.php:191
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "אני מקבל את ה%s לאתר רשת זה"
+
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "גילי מעל 13 שנה ואני מקבל את ה%s לאתר רשת זה"
+
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr ""
+
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr ""
+
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "כתובת דוא״ל שלך"
+
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "בחר סיסמה"
+
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "בבקשה הזן שוב את סיסמתך"
+
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "איש קשר לא נמצא."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr ""
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr ""
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr ""
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "אנא התחבר."
+
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr ""
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr ""
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr ""
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr ""
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "שם אוסף: "
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr ""
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "אוסף הוסר."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "לא מסוגל להסיר אוסף."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr ""
+
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "הסר את חשבון זה"
+
+#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+msgid "WARNING: "
+msgstr "אזהרה: "
+
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr ""
+
+#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr ""
+
+#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+msgid "Please enter your password for verification:"
+msgstr ""
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr ""
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr ""
+
+#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
+msgid "Remove Account"
+msgstr "הסר חשבון"
+
+#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
+msgid "Help:"
+msgstr "עזרה:"
+
+#: ../../mod/help.php:76 ../../index.php:242
+msgid "Not Found"
+msgstr "לא נמצא"
+
+#: ../../mod/help.php:100
+msgid "$Projectname Documentation"
+msgstr "תיעוד $Projectname"
+
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr ""
+
+#: ../../mod/removeme.php:58
+msgid "This channel will be completely removed from the network. "
+msgstr ""
+
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr ""
+
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr ""
+
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1137
+msgid "Remove Channel"
+msgstr "הסר ערוץ"
+
+#: ../../mod/home.php:58 ../../mod/home.php:66 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../mod/home.php:75
+#, php-format
+msgid "Welcome to %s"
+msgstr "ברוכים הבאים אל %s"
+
+#: ../../mod/rmagic.php:40
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr ""
+
+#: ../../mod/rmagic.php:40
+msgid "The error message was:"
+msgstr ""
+
+#: ../../mod/rmagic.php:44
+msgid "Authentication failed."
+msgstr ""
+
+#: ../../mod/rmagic.php:84
+msgid "Remote Authentication"
+msgstr ""
+
+#: ../../mod/rmagic.php:85
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr ""
+
+#: ../../mod/rmagic.php:86
+msgid "Authenticate"
+msgstr ""
+
+#: ../../mod/id.php:11
+msgid "First Name"
+msgstr "שם פרטי"
+
+#: ../../mod/id.php:12
+msgid "Last Name"
+msgstr "שם משפחה"
+
+#: ../../mod/id.php:13
+msgid "Nickname"
+msgstr "שם כינוי"
+
+#: ../../mod/id.php:14
+msgid "Full Name"
+msgstr "שם מלא"
+
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
+msgstr ""
+
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
+msgstr ""
+
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
+msgstr ""
+
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
+msgstr ""
+
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
+msgstr ""
+
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
+msgstr ""
+
+#: ../../mod/id.php:26
+msgid "Timezone"
+msgstr ""
+
+#: ../../mod/id.php:27
+msgid "Homepage URL"
+msgstr ""
+
+#: ../../mod/id.php:29
+msgid "Birth Year"
+msgstr "שנת הולדת"
+
+#: ../../mod/id.php:30
+msgid "Birth Month"
+msgstr "חודש הולדת"
+
+#: ../../mod/id.php:31
+msgid "Birth Day"
+msgstr "יום הולדת"
+
+#: ../../mod/id.php:32
+msgid "Birthdate"
+msgstr "יום הולדת"
+
+#: ../../mod/impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr ""
+
+#: ../../mod/impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr ""
+
+#: ../../mod/search.php:206
+#, php-format
+msgid "Items tagged with: %s"
+msgstr ""
+
+#: ../../mod/search.php:208
+#, php-format
+msgid "Search results for: %s"
+msgstr ""
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr ""
+
+#: ../../mod/import.php:60
+msgid "Nothing to import."
+msgstr "אין דבר ליבא."
+
+#: ../../mod/import.php:84
+msgid "Unable to download data from old server"
+msgstr ""
+
+#: ../../mod/import.php:90
+msgid "Imported file is empty."
+msgstr ""
+
+#: ../../mod/import.php:110
+msgid "The data provided is not compatible with this project."
+msgstr ""
+
+#: ../../mod/import.php:115
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr ""
+
+#: ../../mod/import.php:135
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:176
+msgid "Channel clone failed. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:186
+msgid "Cloned channel not found. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:574
+msgid "You must be logged in to use this feature."
+msgstr ""
+
+#: ../../mod/import.php:579
+msgid "Import Channel"
+msgstr ""
+
+#: ../../mod/import.php:580
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr ""
+
+#: ../../mod/import.php:581
+msgid "File to Upload"
+msgstr ""
+
+#: ../../mod/import.php:582
+msgid "Or provide the old server/hub details"
+msgstr ""
+
+#: ../../mod/import.php:583
+msgid "Your old identity address (xyz@example.com)"
+msgstr ""
+
+#: ../../mod/import.php:584
+msgid "Your old login email address"
+msgstr ""
+
+#: ../../mod/import.php:585
+msgid "Your old login password"
+msgstr ""
+
+#: ../../mod/import.php:586
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr ""
+
+#: ../../mod/import.php:587
+msgid "Make this hub my primary location"
+msgstr ""
+
+#: ../../mod/import.php:588
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr ""
+
+#: ../../mod/import.php:589
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr ""
+
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr ""
+
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr ""
+
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr ""
+
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr ""
+
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr ""
+
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr ""
+
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr ""
+
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "שלח הזמנות"
+
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "הזן כתובות דוא״ל, אחת בכל שורה:"
+
+#: ../../mod/invite.php:132
+msgid "Please join my community on $Projectname."
+msgstr ""
+
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr ""
+
+#: ../../mod/invite.php:135
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr ""
+
+#: ../../mod/invite.php:137
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr ""
+
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "או בקר "
+
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. לחץ [התחבר]"
+
+#: ../../mod/settings.php:76
+msgid "Name is required"
+msgstr "נדרש שם"
+
+#: ../../mod/settings.php:80
+msgid "Key and Secret are required"
+msgstr ""
+
+#: ../../mod/settings.php:130
+msgid "Diaspora Policy Settings updated."
+msgstr "הגדרות פוליסת Diaspora עודכנו."
+
+#: ../../mod/settings.php:238
+msgid "Passwords do not match. Password unchanged."
+msgstr ""
+
+#: ../../mod/settings.php:242
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr ""
+
+#: ../../mod/settings.php:256
+msgid "Password changed."
+msgstr "סיסמה שונתה."
+
+#: ../../mod/settings.php:258
+msgid "Password update failed. Please try again."
+msgstr "עדכון סיסמה נכשל. אנא נסה שוב."
+
+#: ../../mod/settings.php:272
+msgid "Not valid email."
+msgstr "לא דוא״ל תקף."
+
+#: ../../mod/settings.php:275
+msgid "Protected email address. Cannot change to that email."
+msgstr "כתובת דוא״ל מוגנת. לא מסוגל לשנות לדוא״ל זה."
+
+#: ../../mod/settings.php:284
+msgid "System failure storing new email. Please try again."
+msgstr ""
+
+#: ../../mod/settings.php:523
+msgid "Settings updated."
+msgstr "הגדרות עודכנו."
+
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
+#: ../../mod/settings.php:649
+msgid "Add application"
+msgstr "הוסף אפליקציה"
+
+#: ../../mod/settings.php:590
+msgid "Name of application"
+msgstr "שם של אפליקציה"
+
+#: ../../mod/settings.php:591 ../../mod/settings.php:617
+msgid "Consumer Key"
+msgstr "מפתח צרכן"
+
+#: ../../mod/settings.php:591 ../../mod/settings.php:592
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../mod/settings.php:592 ../../mod/settings.php:618
+msgid "Consumer Secret"
+msgstr "סוד צרכן"
+
+#: ../../mod/settings.php:593 ../../mod/settings.php:619
+msgid "Redirect"
+msgstr ""
+
+#: ../../mod/settings.php:593
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr ""
+
+#: ../../mod/settings.php:594 ../../mod/settings.php:620
+msgid "Icon url"
+msgstr ""
+
+#: ../../mod/settings.php:594
+msgid "Optional"
+msgstr ""
+
+#: ../../mod/settings.php:605
+msgid "You can't edit this application."
+msgstr ""
+
+#: ../../mod/settings.php:648
+msgid "Connected Apps"
+msgstr "אפליקציות מחוברות"
+
+#: ../../mod/settings.php:652
+msgid "Client key starts with"
+msgstr ""
+
+#: ../../mod/settings.php:653
+msgid "No name"
+msgstr "אין שם"
+
+#: ../../mod/settings.php:654
+msgid "Remove authorization"
+msgstr ""
+
+#: ../../mod/settings.php:668
+msgid "No feature settings configured"
+msgstr ""
+
+#: ../../mod/settings.php:685
+msgid "Feature/Addon Settings"
+msgstr ""
+
+#: ../../mod/settings.php:687
+msgid "Settings for the built-in Diaspora emulator"
+msgstr ""
+
+#: ../../mod/settings.php:688
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr ""
+
+#: ../../mod/settings.php:689
+msgid "Enable the Diaspora protocol for this channel"
+msgstr ""
+
+#: ../../mod/settings.php:690
+msgid "Diaspora Policy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:691
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr ""
+
+#: ../../mod/settings.php:715
+msgid "Account Settings"
+msgstr "הגדרות חשבון"
+
+#: ../../mod/settings.php:716
+msgid "Enter New Password:"
+msgstr "הזן סיסמה חדשה:"
+
+#: ../../mod/settings.php:717
+msgid "Confirm New Password:"
+msgstr "אמת סיסמה חדשה:"
+
+#: ../../mod/settings.php:717
+msgid "Leave password fields blank unless changing"
+msgstr ""
+
+#: ../../mod/settings.php:719 ../../mod/settings.php:1057
+msgid "Email Address:"
+msgstr "כתובת דוא״ל:"
+
+#: ../../mod/settings.php:721
+msgid "Remove this account including all its channels"
+msgstr ""
+
+#: ../../mod/settings.php:737
+msgid "Off"
+msgstr ""
+
+#: ../../mod/settings.php:737
+msgid "On"
+msgstr ""
+
+#: ../../mod/settings.php:744
+msgid "Additional Features"
+msgstr ""
+
+#: ../../mod/settings.php:768
+msgid "Connector Settings"
+msgstr ""
+
+#: ../../mod/settings.php:807
+msgid "No special theme for mobile devices"
+msgstr ""
+
+#: ../../mod/settings.php:810
+#, php-format
+msgid "%s - (Experimental)"
+msgstr ""
+
+#: ../../mod/settings.php:849
+msgid "Display Settings"
+msgstr ""
+
+#: ../../mod/settings.php:850
+msgid "Theme Settings"
+msgstr ""
+
+#: ../../mod/settings.php:851
+msgid "Custom Theme Settings"
+msgstr ""
+
+#: ../../mod/settings.php:852
+msgid "Content Settings"
+msgstr ""
+
+#: ../../mod/settings.php:858
+msgid "Display Theme:"
+msgstr ""
+
+#: ../../mod/settings.php:859
+msgid "Mobile Theme:"
+msgstr ""
+
+#: ../../mod/settings.php:860
+msgid "Enable user zoom on mobile devices"
+msgstr ""
+
+#: ../../mod/settings.php:861
+msgid "Update browser every xx seconds"
+msgstr ""
+
+#: ../../mod/settings.php:861
+msgid "Minimum of 10 seconds, no maximum"
+msgstr ""
+
+#: ../../mod/settings.php:862
+msgid "Maximum number of conversations to load at any time:"
+msgstr ""
+
+#: ../../mod/settings.php:862
+msgid "Maximum of 100 items"
+msgstr ""
+
+#: ../../mod/settings.php:863
+msgid "Show emoticons (smilies) as images"
+msgstr ""
+
+#: ../../mod/settings.php:864
+msgid "Link post titles to source"
+msgstr ""
+
+#: ../../mod/settings.php:865
+msgid "System Page Layout Editor - (advanced)"
+msgstr ""
+
+#: ../../mod/settings.php:868
+msgid "Use blog/list mode on channel page"
+msgstr ""
+
+#: ../../mod/settings.php:868 ../../mod/settings.php:869
+msgid "(comments displayed separately)"
+msgstr ""
+
+#: ../../mod/settings.php:869
+msgid "Use blog/list mode on matrix page"
+msgstr ""
+
+#: ../../mod/settings.php:870
+msgid "Channel page max height of content (in pixels)"
+msgstr ""
+
+#: ../../mod/settings.php:870 ../../mod/settings.php:871
+msgid "click to expand content exceeding this height"
+msgstr ""
+
+#: ../../mod/settings.php:871
+msgid "Matrix page max height of content (in pixels)"
+msgstr ""
+
+#: ../../mod/settings.php:905
+msgid "Nobody except yourself"
+msgstr ""
+
+#: ../../mod/settings.php:906
+msgid "Only those you specifically allow"
+msgstr ""
+
+#: ../../mod/settings.php:907
+msgid "Approved connections"
+msgstr ""
+
+#: ../../mod/settings.php:908
+msgid "Any connections"
+msgstr ""
+
+#: ../../mod/settings.php:909
+msgid "Anybody on this website"
+msgstr ""
+
+#: ../../mod/settings.php:910
+msgid "Anybody in this network"
+msgstr ""
+
+#: ../../mod/settings.php:911
+msgid "Anybody authenticated"
+msgstr ""
+
+#: ../../mod/settings.php:912
+msgid "Anybody on the internet"
+msgstr ""
+
+#: ../../mod/settings.php:986
+msgid "Publish your default profile in the network directory"
+msgstr ""
+
+#: ../../mod/settings.php:991
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+
+#: ../../mod/settings.php:1000
+msgid "Your channel address is"
+msgstr ""
+
+#: ../../mod/settings.php:1048
+msgid "Channel Settings"
+msgstr "הגדרות ערוץ"
+
+#: ../../mod/settings.php:1055
+msgid "Basic Settings"
+msgstr "הגדרות בסיסיות"
+
+#: ../../mod/settings.php:1058
+msgid "Your Timezone:"
+msgstr ""
+
+#: ../../mod/settings.php:1059
+msgid "Default Post Location:"
+msgstr ""
+
+#: ../../mod/settings.php:1059
+msgid "Geographical location to display on your posts"
+msgstr ""
+
+#: ../../mod/settings.php:1060
+msgid "Use Browser Location:"
+msgstr ""
+
+#: ../../mod/settings.php:1062
+msgid "Adult Content"
+msgstr "תוכן מבוגרים"
+
+#: ../../mod/settings.php:1062
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr ""
+
+#: ../../mod/settings.php:1064
+msgid "Security and Privacy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1066
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr ""
+
+#: ../../mod/settings.php:1068
+msgid "Hide my online presence"
+msgstr ""
+
+#: ../../mod/settings.php:1068
+msgid "Prevents displaying in your profile that you are online"
+msgstr ""
+
+#: ../../mod/settings.php:1070
+msgid "Simple Privacy Settings:"
+msgstr ""
+
+#: ../../mod/settings.php:1071
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1072
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1073
+msgid "Private - <em>default private, never open or public</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1074
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1076
+msgid "Allow others to tag your posts"
+msgstr ""
+
+#: ../../mod/settings.php:1076
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr ""
+
+#: ../../mod/settings.php:1078
+msgid "Advanced Privacy Settings"
+msgstr "הגדרות פרטיות מתקדמות"
+
+#: ../../mod/settings.php:1080
+msgid "Expire other channel content after this many days"
+msgstr ""
+
+#: ../../mod/settings.php:1080
+msgid "0 or blank prevents expiration"
+msgstr ""
+
+#: ../../mod/settings.php:1081
+msgid "Maximum Friend Requests/Day:"
+msgstr ""
+
+#: ../../mod/settings.php:1081
+msgid "May reduce spam activity"
+msgstr ""
+
+#: ../../mod/settings.php:1082
+msgid "Default Post Permissions"
+msgstr ""
+
+#: ../../mod/settings.php:1083 ../../mod/mitem.php:155 ../../mod/mitem.php:227
+msgid "(click to open/close)"
+msgstr "(לחץ כדי לפתוח/לסגור)"
+
+#: ../../mod/settings.php:1087
+msgid "Channel permissions category:"
+msgstr ""
+
+#: ../../mod/settings.php:1093
+msgid "Maximum private messages per day from unknown people:"
+msgstr ""
+
+#: ../../mod/settings.php:1093
+msgid "Useful to reduce spamming"
+msgstr ""
+
+#: ../../mod/settings.php:1096
+msgid "Notification Settings"
+msgstr "הגדרות התראה"
+
+#: ../../mod/settings.php:1097
+msgid "By default post a status message when:"
+msgstr ""
+
+#: ../../mod/settings.php:1098
+msgid "accepting a friend request"
+msgstr ""
+
+#: ../../mod/settings.php:1099
+msgid "joining a forum/community"
+msgstr ""
+
+#: ../../mod/settings.php:1100
+msgid "making an <em>interesting</em> profile change"
+msgstr ""
+
+#: ../../mod/settings.php:1101
+msgid "Send a notification email when:"
+msgstr ""
+
+#: ../../mod/settings.php:1102
+msgid "You receive a connection request"
+msgstr ""
+
+#: ../../mod/settings.php:1103
+msgid "Your connections are confirmed"
+msgstr ""
+
+#: ../../mod/settings.php:1104
+msgid "Someone writes on your profile wall"
+msgstr ""
+
+#: ../../mod/settings.php:1105
+msgid "Someone writes a followup comment"
+msgstr ""
+
+#: ../../mod/settings.php:1106
+msgid "You receive a private message"
+msgstr ""
+
+#: ../../mod/settings.php:1107
+msgid "You receive a friend suggestion"
+msgstr ""
+
+#: ../../mod/settings.php:1108
+msgid "You are tagged in a post"
+msgstr ""
+
+#: ../../mod/settings.php:1109
+msgid "You are poked/prodded/etc. in a post"
+msgstr ""
+
+#: ../../mod/settings.php:1112
+msgid "Show visual notifications including:"
+msgstr ""
+
+#: ../../mod/settings.php:1114
+msgid "Unseen matrix activity"
+msgstr "פעילות מטריצה לא נראית"
+
+#: ../../mod/settings.php:1115
+msgid "Unseen channel activity"
+msgstr "פעילות ערוץ לא נראית"
+
+#: ../../mod/settings.php:1116
+msgid "Unseen private messages"
+msgstr "הודעות ערוץ לא נראות"
+
+#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
+#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
+msgid "Recommended"
+msgstr ""
+
+#: ../../mod/settings.php:1117
+msgid "Upcoming events"
+msgstr ""
+
+#: ../../mod/settings.php:1118
+msgid "Events today"
+msgstr ""
+
+#: ../../mod/settings.php:1119
+msgid "Upcoming birthdays"
+msgstr ""
+
+#: ../../mod/settings.php:1119
+msgid "Not available in all themes"
+msgstr ""
+
+#: ../../mod/settings.php:1120
+msgid "System (personal) notifications"
+msgstr ""
+
+#: ../../mod/settings.php:1121
+msgid "System info messages"
+msgstr ""
+
+#: ../../mod/settings.php:1122
+msgid "System critical alerts"
+msgstr ""
+
+#: ../../mod/settings.php:1123
+msgid "New connections"
+msgstr "חיבורים חדשים"
+
+#: ../../mod/settings.php:1124
+msgid "System Registrations"
+msgstr "הרשמות מערכת"
+
+#: ../../mod/settings.php:1125
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr ""
+
+#: ../../mod/settings.php:1127
+msgid "Notify me of events this many days in advance"
+msgstr ""
+
+#: ../../mod/settings.php:1127
+msgid "Must be greater than 0"
+msgstr ""
+
+#: ../../mod/settings.php:1129
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1130
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
+
+#: ../../mod/settings.php:1133
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr ""
+
+#: ../../mod/settings.php:1134
+msgid "Miscellaneous Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1136
+msgid "Personal menu to display in your channel pages"
+msgstr ""
+
+#: ../../mod/settings.php:1138
+msgid "Remove this channel."
+msgstr "הסר את ערוץ זה."
+
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "לא מסוגל לאתר פוסט מקורי."
+
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
+msgstr ""
+
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
+msgstr ""
+
+#: ../../mod/item.php:914
+msgid "System error. Post not saved."
+msgstr ""
+
+#: ../../mod/item.php:1146
+msgid "Unable to obtain post information from database."
+msgstr ""
+
+#: ../../mod/item.php:1153
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr ""
+
+#: ../../mod/item.php:1160
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
+#: ../../mod/setup.php:187
+msgid "$Projectname Server - Setup"
+msgstr ""
+
+#: ../../mod/setup.php:191
+msgid "Could not connect to database."
+msgstr ""
+
+#: ../../mod/setup.php:195
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr ""
+
+#: ../../mod/setup.php:202
+msgid "Could not create table."
+msgstr ""
+
+#: ../../mod/setup.php:207
+msgid "Your site database has been installed."
+msgstr ""
+
+#: ../../mod/setup.php:211
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr ""
+
+#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr ""
+
+#: ../../mod/setup.php:277
+msgid "System check"
+msgstr ""
+
+#: ../../mod/setup.php:282
+msgid "Check again"
+msgstr "בדוק שוב"
+
+#: ../../mod/setup.php:304
+msgid "Database connection"
+msgstr "חיבור מסד נתונים"
+
+#: ../../mod/setup.php:305
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr ""
+
+#: ../../mod/setup.php:306
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr ""
+
+#: ../../mod/setup.php:307
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr ""
+
+#: ../../mod/setup.php:311
+msgid "Database Server Name"
+msgstr ""
+
+#: ../../mod/setup.php:311
+msgid "Default is localhost"
+msgstr ""
+
+#: ../../mod/setup.php:312
+msgid "Database Port"
+msgstr "פורט מסד נתונים"
+
+#: ../../mod/setup.php:312
+msgid "Communication port number - use 0 for default"
+msgstr ""
+
+#: ../../mod/setup.php:313
+msgid "Database Login Name"
+msgstr ""
+
+#: ../../mod/setup.php:314
+msgid "Database Login Password"
+msgstr ""
+
+#: ../../mod/setup.php:315
+msgid "Database Name"
+msgstr "שם מסד נתונים"
+
+#: ../../mod/setup.php:316
+msgid "Database Type"
+msgstr "טיפוס מסד נתונים"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
+msgid "Site administrator email address"
+msgstr ""
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr ""
+
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Website URL"
+msgstr ""
+
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Please use SSL (https) URL if available."
+msgstr ""
+
+#: ../../mod/setup.php:321 ../../mod/setup.php:363
+msgid "Please select a default timezone for your website"
+msgstr ""
+
+#: ../../mod/setup.php:348
+msgid "Site settings"
+msgstr "הגדרות אתר"
+
+#: ../../mod/setup.php:413
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr ""
+
+#: ../../mod/setup.php:414
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr ""
+
+#: ../../mod/setup.php:418
+msgid "PHP executable path"
+msgstr ""
+
+#: ../../mod/setup.php:418
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr ""
+
+#: ../../mod/setup.php:423
+msgid "Command line PHP"
+msgstr ""
+
+#: ../../mod/setup.php:432
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr ""
+
+#: ../../mod/setup.php:433
+msgid "This is required for message delivery to work."
+msgstr ""
+
+#: ../../mod/setup.php:436
+msgid "PHP register_argc_argv"
+msgstr ""
+
+#: ../../mod/setup.php:454
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr ""
+
+#: ../../mod/setup.php:459
+msgid "You can adjust these settings in the servers php.ini."
+msgstr ""
+
+#: ../../mod/setup.php:461
+msgid "PHP upload limits"
+msgstr ""
+
+#: ../../mod/setup.php:484
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr ""
+
+#: ../../mod/setup.php:485
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr ""
+
+#: ../../mod/setup.php:488
+msgid "Generate encryption keys"
+msgstr ""
+
+#: ../../mod/setup.php:500
+msgid "libCurl PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:501
+msgid "GD graphics PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:502
+msgid "OpenSSL PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:503
+msgid "mysqli or postgres PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:504
+msgid "mb_string PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:505
+msgid "mcrypt PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:506
+msgid "xml PHP module"
+msgstr ""
+
+#: ../../mod/setup.php:510 ../../mod/setup.php:512
+msgid "Apache mod_rewrite module"
+msgstr ""
+
+#: ../../mod/setup.php:510
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:516 ../../mod/setup.php:519
+msgid "proc_open"
+msgstr ""
+
+#: ../../mod/setup.php:516
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr ""
+
+#: ../../mod/setup.php:524
+msgid "Error: libCURL PHP module required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:528
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:532
+msgid "Error: openssl PHP module required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:536
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr ""
+
+#: ../../mod/setup.php:540
+msgid "Error: mb_string PHP module required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:544
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:548
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr ""
+
+#: ../../mod/setup.php:566
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr ""
+
+#: ../../mod/setup.php:567
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr ""
+
+#: ../../mod/setup.php:568
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr ""
+
+#: ../../mod/setup.php:569
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr ""
+
+#: ../../mod/setup.php:572
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php הינו כתיב"
+
+#: ../../mod/setup.php:586
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr ""
+
+#: ../../mod/setup.php:587
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr ""
+
+#: ../../mod/setup.php:588 ../../mod/setup.php:609
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr ""
+
+#: ../../mod/setup.php:589
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr ""
+
+#: ../../mod/setup.php:592
+#, php-format
+msgid "%s is writable"
+msgstr "%s הינו כתיב"
+
+#: ../../mod/setup.php:608
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr ""
+
+#: ../../mod/setup.php:612
+msgid "store is writable"
+msgstr ""
+
+#: ../../mod/setup.php:645
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr ""
+
+#: ../../mod/setup.php:646
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr ""
+
+#: ../../mod/setup.php:647
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr ""
+
+#: ../../mod/setup.php:648
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr ""
+
+#: ../../mod/setup.php:649
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr ""
+
+#: ../../mod/setup.php:650
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr ""
+
+#: ../../mod/setup.php:652
+msgid "SSL certificate validation"
+msgstr "הוכחת תקפות של תעודת SSL"
+
+#: ../../mod/setup.php:658
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr ""
+
+#: ../../mod/setup.php:661
+msgid "Url rewrite is working"
+msgstr ""
+
+#: ../../mod/setup.php:670
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr ""
+
+#: ../../mod/setup.php:694
+msgid "Errors encountered creating database tables."
+msgstr ""
+
+#: ../../mod/setup.php:728
+msgid "<h1>What next</h1>"
+msgstr "<h1>מה הלאה</h1>"
+
+#: ../../mod/setup.php:729
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr ""
+
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
+msgstr ""
+
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
+msgstr ""
+
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
+msgstr "הורד קובץ PDL"
+
+#: ../../mod/sharedwithme.php:94
+msgid "Files: shared with me"
+msgstr ""
+
+#: ../../mod/sharedwithme.php:96
+msgid "NEW"
+msgstr "חדש"
+
+#: ../../mod/sharedwithme.php:99
+msgid "Remove all files"
+msgstr "הסר את כל הקבצים"
+
+#: ../../mod/sharedwithme.php:100
+msgid "Remove this file"
+msgstr "הסר את קובץ זה"
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr ""
+
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr ""
+
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr ""
+
+#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+msgid "Invalid request."
+msgstr "בקשה שגויה."
+
+#: ../../mod/like.php:143
+msgid "thing"
+msgstr "דבר"
+
+#: ../../mod/like.php:189
+msgid "Channel unavailable."
+msgstr "עמוד לא זמין."
+
+#: ../../mod/like.php:231
+msgid "Previous action reversed."
+msgstr ""
+
+#: ../../mod/like.php:401
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:403
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:405
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:407
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:409
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:411
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/like.php:507
+msgid "Action completed."
+msgstr "פעולה הושלמה."
+
+#: ../../mod/like.php:508
+msgid "Thank you."
+msgstr "תודה."
+
+#: ../../mod/siteinfo.php:112
+#, php-format
+msgid "Version %s"
+msgstr ""
+
+#: ../../mod/siteinfo.php:133
+msgid "Installed plugins/addons/apps:"
+msgstr ""
+
+#: ../../mod/siteinfo.php:146
+msgid "No installed plugins/addons/apps"
+msgstr ""
+
+#: ../../mod/siteinfo.php:156
+msgid ""
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr ""
+
+#: ../../mod/siteinfo.php:158
+msgid "Tag: "
+msgstr "תגית: "
+
+#: ../../mod/siteinfo.php:160
+msgid "Last background fetch: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:163
+msgid "Running at web location"
+msgstr ""
+
+#: ../../mod/siteinfo.php:164
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr ""
+
+#: ../../mod/siteinfo.php:165
+msgid "Bug reports and issues: please visit"
+msgstr ""
+
+#: ../../mod/siteinfo.php:167
+msgid "$projectname issues"
+msgstr "סוגיות $projectname"
+
+#: ../../mod/siteinfo.php:168
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr ""
+
+#: ../../mod/siteinfo.php:170
+msgid "Site Administrators"
+msgstr "מנהלי אתר"
+
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
+msgstr ""
+
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
+msgstr ""
+
+#: ../../mod/locs.php:21 ../../mod/locs.php:52
+msgid "Location not found."
+msgstr "מיקום לא נמצא."
+
+#: ../../mod/locs.php:56
+msgid "Primary location cannot be removed."
+msgstr ""
+
+#: ../../mod/locs.php:88
+msgid "No locations found."
+msgstr "לא נמצאו מיקומים."
+
+#: ../../mod/locs.php:101
+msgid "Manage Channel Locations"
+msgstr ""
+
+#: ../../mod/locs.php:102
+msgid "Location (address)"
+msgstr "מיקום (כתובת)"
+
+#: ../../mod/locs.php:103
+msgid "Primary Location"
+msgstr ""
+
+#: ../../mod/locs.php:104
+msgid "Drop location"
+msgstr ""
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr ""
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr ""
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr ""
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr ""
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "מקור חדש"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr ""
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr ""
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr ""
+
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "שם ערוץ"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "מקור לא נמצא."
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "ערוך מקור"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "מחק מקור"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "מקור הוסר"
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr ""
+
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr ""
+
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr ""
+
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
+#, php-format
+msgid "Site Member (%s)"
+msgstr "חבר אתר (%s)"
+
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr ""
+
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr ""
+
+#: ../../mod/lostpass.php:86 ../../boot.php:1559
+msgid "Password Reset"
+msgstr "איפוס סיסמה"
+
+#: ../../mod/lostpass.php:87
+msgid "Your password has been reset as requested."
+msgstr ""
+
+#: ../../mod/lostpass.php:88
+msgid "Your new password is"
+msgstr "הסיסמה החדשה שלך היא"
+
+#: ../../mod/lostpass.php:89
+msgid "Save or copy your new password - and then"
+msgstr ""
+
+#: ../../mod/lostpass.php:90
+msgid "click here to login"
+msgstr "לחץ כאן כדי להיכנס"
+
+#: ../../mod/lostpass.php:91
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr ""
+
+#: ../../mod/lostpass.php:108
+#, php-format
+msgid "Your password has changed at %s"
+msgstr ""
+
+#: ../../mod/lostpass.php:123
+msgid "Forgot your Password?"
+msgstr "שכחת את הסיסמה שלך?"
+
+#: ../../mod/lostpass.php:124
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr ""
+
+#: ../../mod/lostpass.php:125
+msgid "Email Address"
+msgstr "כתובת דוא״ל"
+
+#: ../../mod/lostpass.php:126
+msgid "Reset"
+msgstr "אפס"
+
+#: ../../mod/menu.php:45
+msgid "Unable to update menu."
+msgstr ""
+
+#: ../../mod/menu.php:56
+msgid "Unable to create menu."
+msgstr ""
+
+#: ../../mod/menu.php:92 ../../mod/menu.php:104
+msgid "Menu Name"
+msgstr "שם תפריט"
+
+#: ../../mod/menu.php:92
+msgid "Unique name (not visible on webpage) - required"
+msgstr ""
+
+#: ../../mod/menu.php:93 ../../mod/menu.php:105
+msgid "Menu Title"
+msgstr "כותרת תפריט"
+
+#: ../../mod/menu.php:93
+msgid "Visible on webpage - leave empty for no title"
+msgstr ""
+
+#: ../../mod/menu.php:94
+msgid "Allow Bookmarks"
+msgstr ""
+
+#: ../../mod/menu.php:94 ../../mod/menu.php:151
+msgid "Menu may be used to store saved bookmarks"
+msgstr ""
+
+#: ../../mod/menu.php:95 ../../mod/menu.php:153
+msgid "Submit and proceed"
+msgstr ""
+
+#: ../../mod/menu.php:107
+msgid "Drop"
+msgstr ""
+
+#: ../../mod/menu.php:111
+msgid "Bookmarks allowed"
+msgstr ""
+
+#: ../../mod/menu.php:113
+msgid "Delete this menu"
+msgstr ""
+
+#: ../../mod/menu.php:114 ../../mod/menu.php:148
+msgid "Edit menu contents"
+msgstr "ערוך תכני תפריט"
+
+#: ../../mod/menu.php:115
+msgid "Edit this menu"
+msgstr "ערוך את תפריט זה"
+
+#: ../../mod/menu.php:130
+msgid "Menu could not be deleted."
+msgstr "תפריט לא יכול היה להימחק."
+
+#: ../../mod/menu.php:138 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "תפריט לא נמצא."
+
+#: ../../mod/menu.php:143
+msgid "Edit Menu"
+msgstr "ערוך תפריט"
+
+#: ../../mod/menu.php:147
+msgid "Add or remove entries to this menu"
+msgstr ""
+
+#: ../../mod/menu.php:149
+msgid "Menu name"
+msgstr "שם תפריט"
+
+#: ../../mod/menu.php:149
+msgid "Must be unique, only seen by you"
+msgstr ""
+
+#: ../../mod/menu.php:150
+msgid "Menu title"
+msgstr "כותרת תפריט"
+
+#: ../../mod/menu.php:150
+msgid "Menu title as seen by others"
+msgstr ""
+
+#: ../../mod/menu.php:151
+msgid "Allow bookmarks"
+msgstr ""
+
+#: ../../mod/menu.php:160 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "לא נמצא."
+
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr ""
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "אין הודעות."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr ""
+
+#: ../../mod/mitem.php:48
+msgid "Unable to create element."
+msgstr ""
+
+#: ../../mod/mitem.php:72
+msgid "Unable to update menu element."
+msgstr ""
+
+#: ../../mod/mitem.php:88
+msgid "Unable to add menu element."
+msgstr ""
+
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:226
+msgid "Menu Item Permissions"
+msgstr ""
+
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:173
+msgid "Link Name"
+msgstr "שם קישור"
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:231
+msgid "Link or Submenu Target"
+msgstr ""
+
+#: ../../mod/mitem.php:158
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr ""
+
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:232
+msgid "Use magic-auth if available"
+msgstr ""
+
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:233
+msgid "Open link in new window"
+msgstr "פתח בתוך חלון חדש"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Order in list"
+msgstr ""
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Higher numbers will sink to bottom of listing"
+msgstr ""
+
+#: ../../mod/mitem.php:162
+msgid "Submit and finish"
+msgstr ""
+
+#: ../../mod/mitem.php:163
+msgid "Submit and continue"
+msgstr ""
+
+#: ../../mod/mitem.php:171
+msgid "Menu:"
+msgstr "תפריט:"
+
+#: ../../mod/mitem.php:174
+msgid "Link Target"
+msgstr ""
+
+#: ../../mod/mitem.php:177
+msgid "Edit menu"
+msgstr "ערוך תפריט"
+
+#: ../../mod/mitem.php:180
+msgid "Edit element"
+msgstr "ערוך אלמנט"
+
+#: ../../mod/mitem.php:181
+msgid "Drop element"
+msgstr ""
+
+#: ../../mod/mitem.php:182
+msgid "New element"
+msgstr "אלמנט חדש"
+
+#: ../../mod/mitem.php:183
+msgid "Edit this menu container"
+msgstr ""
+
+#: ../../mod/mitem.php:184
+msgid "Add menu element"
+msgstr ""
+
+#: ../../mod/mitem.php:185
+msgid "Delete this menu item"
+msgstr ""
+
+#: ../../mod/mitem.php:186
+msgid "Edit this menu item"
+msgstr ""
+
+#: ../../mod/mitem.php:203
+msgid "Menu item not found."
+msgstr ""
+
+#: ../../mod/mitem.php:215
+msgid "Menu item deleted."
+msgstr ""
+
+#: ../../mod/mitem.php:217
+msgid "Menu item could not be deleted."
+msgstr ""
+
+#: ../../mod/mitem.php:224
+msgid "Edit Menu Element"
+msgstr ""
+
+#: ../../mod/mitem.php:230
+msgid "Link text"
+msgstr ""
+
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr ""
+
+#: ../../mod/mood.php:131
+msgid "Set your current mood and tell your friends"
+msgstr ""
+
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr ""
+
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr ""
+
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr ""
+
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr ""
+
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr ""
+
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr ""
+
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr ""
+
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr ""
+
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr ""
+
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "אוסף: "
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "חיבור: "
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "חיבור שגוי."
+
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr ""
+
+#: ../../mod/new_channel.php:109
+msgid "Add a Channel"
+msgstr "הוסף ערוץ"
+
+#: ../../mod/new_channel.php:110
+msgid ""
+"A channel is your own collection of related web pages. A channel can be used"
+" to hold social network profiles, blogs, conversation groups and forums, "
+"celebrity pages, and much more. You may create as many channels as your "
+"service provider allows."
+msgstr ""
+
+#: ../../mod/new_channel.php:113
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
+msgstr ""
+
+#: ../../mod/new_channel.php:114
+msgid "Choose a short nickname"
+msgstr ""
+
+#: ../../mod/new_channel.php:115
+msgid ""
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
+msgstr ""
+
+#: ../../mod/new_channel.php:116
+msgid "Or <a href=\"import\">import an existing channel</a> from another location"
+msgstr ""
+
+#: ../../mod/new_channel.php:118
+msgid ""
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
+msgstr ""
+
+#: ../../mod/new_channel.php:119
+msgid "Channel Type"
+msgstr "טיפוס ערוץ"
+
+#: ../../mod/new_channel.php:119
+msgid "Read more about roles"
+msgstr ""
+
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr ""
+
+#: ../../mod/thing.php:167
+msgid "Object store: failed"
+msgstr ""
+
+#: ../../mod/thing.php:171
+msgid "Thing added"
+msgstr ""
+
+#: ../../mod/thing.php:203
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr ""
+
+#: ../../mod/thing.php:254
+msgid "Show Thing"
+msgstr ""
+
+#: ../../mod/thing.php:261
+msgid "item not found."
+msgstr "פריט לא נמצא"
+
+#: ../../mod/thing.php:289
+msgid "Edit Thing"
+msgstr ""
+
+#: ../../mod/thing.php:291 ../../mod/thing.php:338
+msgid "Select a profile"
+msgstr "בחר פרופיל"
+
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Post an activity"
+msgstr "פרסם פעילות"
+
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Only sends to viewers of the applicable profile"
+msgstr ""
+
+#: ../../mod/thing.php:297 ../../mod/thing.php:343
+msgid "Name of thing e.g. something"
+msgstr ""
+
+#: ../../mod/thing.php:299 ../../mod/thing.php:344
+msgid "URL of thing (optional)"
+msgstr ""
+
+#: ../../mod/thing.php:301 ../../mod/thing.php:345
+msgid "URL for photo of thing (optional)"
+msgstr ""
+
+#: ../../mod/thing.php:336
+msgid "Add Thing to your Profile"
+msgstr ""
+
+#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
+msgid "Export Channel"
+msgstr ""
+
+#: ../../mod/uexport.php:52
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr ""
+
+#: ../../mod/uexport.php:53
+msgid "Export Content"
+msgstr ""
+
+#: ../../mod/uexport.php:54
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr ""
+
+#: ../../mod/uexport.php:55
+msgid "Export your posts from a given year or month:"
+msgstr ""
+
+#: ../../mod/uexport.php:57
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Click on one of the recent years or months below."
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jan"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Feb"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Mar"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Apr"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jun"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jul"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Aug"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Sep"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Oct"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Nov"
+msgstr ""
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Dec"
+msgstr ""
+
+#: ../../mod/uexport.php:60
+msgid ""
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr ""
+
+#: ../../mod/uexport.php:61
+#, php-format
+msgid ""
+"Or adjust the date in your browser location bar to select other dates. For "
+"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
+"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
+msgstr ""
+
+#: ../../mod/uexport.php:62
+msgid "Please visit"
+msgstr "אנא בקר"
+
+#: ../../mod/uexport.php:62
+msgid "on another hub to import the backup files(s)."
+msgstr ""
+
+#: ../../mod/uexport.php:63
+msgid ""
+"We advise you to clone the channel on the new hub first and than to import "
+"the backup file(s) (from the same channel) in chronological order. Importing"
+" the backup files into another channel will certainly give permission "
+"issues."
+msgstr ""
+
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
+#: ../../mod/update_public.php:21 ../../mod/update_search.php:46
+msgid "[Embedded content - reload page to view]"
+msgstr ""
+
+#: ../../mod/viewconnections.php:62
+msgid "No connections."
+msgstr "אין חיבורים."
+
+#: ../../mod/viewconnections.php:75
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr ""
+
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr ""
+
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr ""
+
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr ""
+
+#: ../../mod/webpages.php:191
+msgid "Page Title"
+msgstr "כותרת עמוד"
+
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr ""
+
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr ""
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:202
+#: ../../view/theme/apw/php/config.php:236
+msgid "Schema Default"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:203
+msgid "Sans-Serif"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:204
+msgid "Monospace"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:259
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Theme settings"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:260
+msgid "Set scheme"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:261
+#: ../../view/theme/redbasic/php/config.php:124
+msgid "Set font-size for posts and comments"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:262
+msgid "Set font face"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:263
+msgid "Set iconset"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:264
+msgid "Set big shadow size, default 15px 15px 15px"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:265
+msgid "Set small shadow size, default 5px 5px 5px"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:266
+msgid "Set shadow color, default #000"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:267
+msgid "Set radius size, default 5px"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:268
+msgid "Set line-height for posts and comments"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:269
+msgid "Set background image"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:270
+msgid "Set background attachment"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:271
+msgid "Set background color"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:272
+msgid "Set section background image"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:273
+msgid "Set section background color"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:274
+msgid "Set color of items - use hex"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:275
+msgid "Set color of links - use hex"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:276
+msgid "Set max-width for items. Default 400px"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:277
+msgid "Set min-width for items. Default 240px"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:278
+msgid "Set the generic content wrapper width. Default 48%"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:279
+msgid "Set color of fonts - use hex"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:280
+msgid "Set background-size element"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:281
+msgid "Item opacity"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:282
+msgid "Display post previews only"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:283
+msgid "Display side bar on channel page"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:284
+msgid "Colour of the navigation bar"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:285
+msgid "Item float"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:286
+msgid "Left offset of the section element"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:287
+msgid "Right offset of the section element"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:288
+msgid "Section width"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:289
+msgid "Left offset of the aside"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:290
+msgid "Right offset of the aside element"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:82
+msgid "Light (Red Matrix default)"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Select scheme"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Narrow navbar"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Navigation bar background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Navigation bar gradient top color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Navigation bar gradient bottom color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Navigation active button gradient top color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Navigation active button gradient bottom color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Navigation bar border color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Navigation bar icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Navigation bar active icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "link color"
+msgstr "צבע קישור"
+
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set font-color for banner"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set the background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Set the background image"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:117
+msgid "Set the background color of items"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:118
+msgid "Set the background color of comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:119
+msgid "Set the border color of comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:120
+msgid "Set the indent for comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:121
+msgid "Set the basic color for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:122
+msgid "Set the hover color for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Set font-size for the entire application"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Example: 14px"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:125
+msgid "Set font-color for posts and comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:126
+msgid "Set radius of corners"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:127
+msgid "Set shadow depth of photos"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Set maximum width of content region in pixel"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Leave empty for default width"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Center page content"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:130
+msgid "Set minimum opacity of nav bar - to hide it"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:131
+msgid "Set size of conversation author photo"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:132
+msgid "Set size of followup author photos"
+msgstr ""
+
+#: ../../boot.php:1356
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr ""
+
+#: ../../boot.php:1359
+#, php-format
+msgid "Update Error at %s"
+msgstr ""
+
+#: ../../boot.php:1526
+msgid ""
+"Create an account to access services and applications within the Red Matrix"
+msgstr ""
+
+#: ../../boot.php:1554
+msgid "Password"
+msgstr "סיסמה"
+
+#: ../../boot.php:1555
+msgid "Remember me"
+msgstr "זכור אותי"
+
+#: ../../boot.php:1558
+msgid "Forgot your password?"
+msgstr "שכחת את הסיסמה שלך?"
+
+#: ../../boot.php:2182
+msgid "toggle mobile"
+msgstr ""
+
+#: ../../boot.php:2317
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr ""
+
+#: ../../boot.php:2320
+#, php-format
+msgid "[red] Website SSL error for %s"
+msgstr ""
+
+#: ../../boot.php:2357
+msgid "Cron/Scheduled tasks not running."
+msgstr ""
+
+#: ../../boot.php:2361
+#, php-format
+msgid "[red] Cron tasks not running on %s"
+msgstr ""
diff --git a/view/he/passchanged_eml.tpl b/view/he/passchanged_eml.tpl
new file mode 100644
index 000000000..c3f4be430
--- /dev/null
+++ b/view/he/passchanged_eml.tpl
@@ -0,0 +1,20 @@
+
+לכבוד {{$username}},
+ הסיסמה שלך שונתה כמבוקש. עליך לשמור את מידע זה
+לצורכי היסטוריה (או לשנות את הסיסמה שלך מיידית
+למשהו אשר יהיה ביכולתך לזכור.
+
+
+פרטי ההתחברות שלך הם כדלקמן:
+
+מיקום אתר: {{$siteurl}}
+שם התחברות: {{$email}}
+הסיסמה שלך: {{$new_password}}
+
+באפשרותך לשנות את סיסמה זו מתוך עמוד הגדרות חשבון לאחר התחברותך.
+
+
+בכבוד רב,
+ מנהל {{$sitename}}
+
+ \ No newline at end of file
diff --git a/view/he/register_open_eml.tpl b/view/he/register_open_eml.tpl
new file mode 100644
index 000000000..485f97db4
--- /dev/null
+++ b/view/he/register_open_eml.tpl
@@ -0,0 +1,19 @@
+
+חשבון נוצר באתר {{$sitename}} לכתובת דוא״ל זו.
+פרטי ההתחברות שלך הם כדלקמן:
+
+מיקום אתר: {{$siteurl}}
+שם התחברות: {{$email}}
+סיסמה: (הסיסמה אשר סופקה במהלך רישום)
+
+אם חשבון זה נוצר ללא ידיעתך ואיננו רצוי, באפשרותך
+לבקר באתר זה ולאפס את הסיסמה. פעולה זו תתיר לך
+להסיר את החשבון מתוך הקישורים בעמוד הגדרות, ואנחנו
+מתנצלים על כל אי נעימות כלשהי.
+
+תודה לך וברוך בואך אל {{$sitename}}.
+
+בכבוד רב,
+ מנהל {{$sitename}}
+
+ \ No newline at end of file
diff --git a/view/he/register_verify_eml.tpl b/view/he/register_verify_eml.tpl
new file mode 100644
index 000000000..a95366796
--- /dev/null
+++ b/view/he/register_verify_eml.tpl
@@ -0,0 +1,24 @@
+
+בקשת רישום משתמש חדשה התקבלה באתר {{$sitename}} אשר מצריכה
+את אישורך.
+
+
+פרטי ההתחברות שלך הם כדלקמן:
+
+מיקום אתר: {{$siteurl}}
+שם התחברות: {{$email}}
+כתובת IP‏: {{$details}}
+
+כדי לאשר את בקשה זו אנא פנה לקישור הבא:
+
+
+{{$siteurl}}/regmod/allow/{{$hash}}
+
+
+כדי לדחות את הבקשה ולהסיר את החשבון, פנה:
+
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+תודה.
diff --git a/view/he/register_verify_member.tpl b/view/he/register_verify_member.tpl
new file mode 100644
index 000000000..5fed781df
--- /dev/null
+++ b/view/he/register_verify_member.tpl
@@ -0,0 +1,24 @@
+
+תודה לך על שנרשמת לאתר {{$sitename}}.
+
+פרטי ההתחברות שלך הם כדלקמן:
+
+מיקום אתר: {{$siteurl}}
+שם התחברות: {{$email}}
+
+התחברת בעזרת הסיסמה שבחרת בזמן רישום.
+
+עלינו לאמת את כתובת הדוא״ל שלך על מנת להעניק לך גישה מלאה.
+
+אם רשמת את חשבון זה, אנא פנה לקישור הבא:
+
+{{$siteurl}}/regver/allow/{{$hash}}
+
+
+כדי לדחות את הבקשה ולהסיר את החשבון, פנה:
+
+
+{{$siteurl}}/regver/deny/{{$hash}}
+
+
+תודה.
diff --git a/view/he/strings.php b/view/he/strings.php
new file mode 100644
index 000000000..cd071e377
--- /dev/null
+++ b/view/he/strings.php
@@ -0,0 +1,2168 @@
+<?php
+
+if(! function_exists("string_plural_select_he")) {
+function string_plural_select_he($n){
+ return ($n != 1);;
+}}
+;
+App::$strings["No username found in import file."] = "";
+App::$strings["Unable to create a unique channel address. Import failed."] = "";
+App::$strings["Import completed."] = "יבוא הושלם.";
+App::$strings["parent"] = "הורה";
+App::$strings["Collection"] = "אוסף";
+App::$strings["Principal"] = "";
+App::$strings["Addressbook"] = "פנקס כתובות";
+App::$strings["Calendar"] = "לוח שנה";
+App::$strings["Schedule Inbox"] = "";
+App::$strings["Schedule Outbox"] = "";
+App::$strings["Unknown"] = "";
+App::$strings["%1\$s used"] = "";
+App::$strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "";
+App::$strings["Files"] = "קבצים";
+App::$strings["Total"] = "סה״כ";
+App::$strings["Shared"] = "";
+App::$strings["Create"] = "צור";
+App::$strings["Upload"] = "העלאה";
+App::$strings["Name"] = "שם";
+App::$strings["Type"] = "טיפוס";
+App::$strings["Size"] = "גודל";
+App::$strings["Last Modified"] = "שונה לאחרונה";
+App::$strings["Edit"] = "ערוך";
+App::$strings["Delete"] = "מחק";
+App::$strings["Create new folder"] = "צור תיקייה חדשה";
+App::$strings["Upload file"] = "העלה קובץ";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "לא ניתן לאתר מידע DNS עבור שרת מסד נתונים '%s'";
+App::$strings["Profile Photos"] = "תצלומי פרופיל";
+App::$strings["Logout"] = "יציאה";
+App::$strings["End this session"] = "סיים את סשן זה";
+App::$strings["Home"] = "בית";
+App::$strings["Your posts and conversations"] = "";
+App::$strings["View Profile"] = "";
+App::$strings["Your profile page"] = "";
+App::$strings["Edit Profiles"] = "";
+App::$strings["Manage/Edit profiles"] = "";
+App::$strings["Edit Profile"] = "ערוך פרופיל";
+App::$strings["Edit your profile"] = "ערוך את הפרופיל שלך";
+App::$strings["Photos"] = "תצלומים";
+App::$strings["Your photos"] = "התצלומים שלך";
+App::$strings["Your files"] = "הקבצים שלך";
+App::$strings["Chat"] = "שיחה";
+App::$strings["Your chatrooms"] = "החדרי שיחה שלך";
+App::$strings["Bookmarks"] = "סימניות";
+App::$strings["Your bookmarks"] = "הסימניות שלך";
+App::$strings["Webpages"] = "עמודי רשת";
+App::$strings["Your webpages"] = "העמודי רשת שלך";
+App::$strings["Login"] = "כניסה";
+App::$strings["Sign in"] = "התחברות";
+App::$strings["%s - click to logout"] = "%s - לחץ כדי להתנתק";
+App::$strings["Remote authentication"] = "אימות מרוחק";
+App::$strings["Click to authenticate to your home hub"] = "";
+App::$strings["Home Page"] = "עמוד בית";
+App::$strings["Register"] = "הרשמה";
+App::$strings["Create an account"] = "צור חשבון";
+App::$strings["Help"] = "עזרה";
+App::$strings["Help and documentation"] = "עזרה ותיעוד";
+App::$strings["Apps"] = "אפליקציות";
+App::$strings["Applications, utilities, links, games"] = "";
+App::$strings["Search"] = "חיפוש";
+App::$strings["Search site content"] = "";
+App::$strings["Directory"] = "ספרייה";
+App::$strings["Channel Directory"] = "ערוץ ספרייה";
+App::$strings["Matrix"] = "מטריצה";
+App::$strings["Your matrix"] = "המטריצה שלך";
+App::$strings["Mark all matrix notifications seen"] = "סמן את כל התראות המטריצה כנקראו";
+App::$strings["Channel Home"] = "ערוץ בית";
+App::$strings["Channel home"] = "ערוץ בית";
+App::$strings["Mark all channel notifications seen"] = "סמן את כל התראות הערוץ כנקראו";
+App::$strings["Connections"] = "חיבורים";
+App::$strings["Notices"] = "הודעות";
+App::$strings["Notifications"] = "התראות";
+App::$strings["See all notifications"] = "צפה בכל ההתראות";
+App::$strings["Mark all system notifications seen"] = "סמן את כל התראות המערכת כנקראו";
+App::$strings["Mail"] = "דואר";
+App::$strings["Private mail"] = "דואר פרטי";
+App::$strings["See all private messages"] = "צפה בכל ההודעות הפרטיות";
+App::$strings["Mark all private messages seen"] = "סמן את כל ההודעות הפרטיות כנקראו";
+App::$strings["Inbox"] = "תיבה נכנסת";
+App::$strings["Outbox"] = "תיבה יוצאת";
+App::$strings["New Message"] = "הודעה חדשה";
+App::$strings["Events"] = "אירועים";
+App::$strings["Event Calendar"] = "לוח שנה אירועים";
+App::$strings["See all events"] = "ראה את כל האירועים";
+App::$strings["Mark all events seen"] = "סמן את כל האירועים כנקראו";
+App::$strings["Channel Manager"] = "מנהל ערוץ";
+App::$strings["Manage Your Channels"] = "נהל את הערוצים שלך";
+App::$strings["Settings"] = "הגדרות";
+App::$strings["Account/Channel Settings"] = "הגדרות חשבון/ערוץ";
+App::$strings["Admin"] = "מנהל";
+App::$strings["Site Setup and Configuration"] = "הבניית והגדרת אתר";
+App::$strings["Loading..."] = "כעת טוען...";
+App::$strings["@name, #tag, content"] = "@שם, #תגית, תוכן";
+App::$strings["Please wait..."] = "אנא המתן...";
+App::$strings["view full size"] = "";
+App::$strings["\$Projectname Notification"] = "";
+App::$strings["\$projectname"] = "";
+App::$strings["Thank You,"] = "תודה,";
+App::$strings["%s Administrator"] = "הנהלת %s";
+App::$strings["Administrator"] = "מנהל";
+App::$strings["No Subject"] = "אין נושא";
+App::$strings["prev"] = "קודם";
+App::$strings["first"] = "ראשון";
+App::$strings["last"] = "אחרון";
+App::$strings["next"] = "הבא";
+App::$strings["older"] = "ישן יותר";
+App::$strings["newer"] = "חדש יותר";
+App::$strings["No connections"] = "אין חיבורים";
+App::$strings["%d Connection"] = array(
+ 0 => "חיבור %d",
+ 1 => "%d חיבורים",
+);
+App::$strings["View Connections"] = "צפה בחיבורים";
+App::$strings["Save"] = "שמור";
+App::$strings["poke"] = "";
+App::$strings["poked"] = "";
+App::$strings["ping"] = "";
+App::$strings["pinged"] = "";
+App::$strings["prod"] = "";
+App::$strings["prodded"] = "";
+App::$strings["slap"] = "";
+App::$strings["slapped"] = "";
+App::$strings["finger"] = "";
+App::$strings["fingered"] = "";
+App::$strings["rebuff"] = "";
+App::$strings["rebuffed"] = "";
+App::$strings["happy"] = "שמח";
+App::$strings["sad"] = "עצוב";
+App::$strings["mellow"] = "מתון";
+App::$strings["tired"] = "עייף";
+App::$strings["perky"] = "חצוף";
+App::$strings["angry"] = "כועס";
+App::$strings["stupified"] = "";
+App::$strings["puzzled"] = "נבוך";
+App::$strings["interested"] = "מגלה עניין";
+App::$strings["bitter"] = "מר";
+App::$strings["cheerful"] = "עליז";
+App::$strings["alive"] = "חי";
+App::$strings["annoyed"] = "נרגז";
+App::$strings["anxious"] = "נרגז";
+App::$strings["cranky"] = "נרגז";
+App::$strings["disturbed"] = "מופרע";
+App::$strings["frustrated"] = "מתוסכל";
+App::$strings["depressed"] = "מדוכא";
+App::$strings["motivated"] = "מונע";
+App::$strings["relaxed"] = "רגוע";
+App::$strings["surprised"] = "מופתע";
+App::$strings["Monday"] = "יום שני";
+App::$strings["Tuesday"] = "יום שלישי";
+App::$strings["Wednesday"] = "יום רביעי";
+App::$strings["Thursday"] = "יום חמישי";
+App::$strings["Friday"] = "יום שישי";
+App::$strings["Saturday"] = "יום שבת";
+App::$strings["Sunday"] = "יום ראשון";
+App::$strings["January"] = "ינואר";
+App::$strings["February"] = "פברואר";
+App::$strings["March"] = "מרץ";
+App::$strings["April"] = "אפריל";
+App::$strings["May"] = "מאי";
+App::$strings["June"] = "יוני";
+App::$strings["July"] = "יולי";
+App::$strings["August"] = "אוגוסט";
+App::$strings["September"] = "ספטמבר";
+App::$strings["October"] = "אוקטובר";
+App::$strings["November"] = "נובמבר";
+App::$strings["December"] = "דצמבר";
+App::$strings["unknown.???"] = "";
+App::$strings["bytes"] = "בייטים";
+App::$strings["remove category"] = "";
+App::$strings["remove from file"] = "";
+App::$strings["Click to open/close"] = "לחץ כדי לפתוח/לסגור";
+App::$strings["Link to Source"] = "";
+App::$strings["default"] = "ברירת מחדל";
+App::$strings["Page layout"] = "";
+App::$strings["You can create your own with the layouts tool"] = "";
+App::$strings["Page content type"] = "";
+App::$strings["Select an alternate language"] = "";
+App::$strings["photo"] = "תצלום";
+App::$strings["event"] = "אירוע";
+App::$strings["status"] = "סטטוס";
+App::$strings["comment"] = "תגובה";
+App::$strings["activity"] = "פעילות";
+App::$strings["Design Tools"] = "";
+App::$strings["Blocks"] = "";
+App::$strings["Menus"] = "תפריטים";
+App::$strings["Layouts"] = "";
+App::$strings["Pages"] = "עמודים";
+App::$strings["Categories"] = "קטגוריות";
+App::$strings["System"] = "מערכת";
+App::$strings["Personal"] = "אישי";
+App::$strings["Create Personal App"] = "צור אפליקציה אישית";
+App::$strings["Edit Personal App"] = "ערוך אפליקציה אישית";
+App::$strings["Connect"] = "התחבר";
+App::$strings["Ignore/Hide"] = "התעלם/הסתר";
+App::$strings["Suggestions"] = "הצעות";
+App::$strings["See more..."] = "צפה בעוד...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "";
+App::$strings["Add New Connection"] = "";
+App::$strings["Enter the channel address"] = "";
+App::$strings["Example: bob@example.com, http://example.com/barbara"] = "";
+App::$strings["Notes"] = "תזכירים";
+App::$strings["Remove term"] = "";
+App::$strings["Saved Searches"] = "";
+App::$strings["add"] = "להוסיף";
+App::$strings["Saved Folders"] = "";
+App::$strings["Everything"] = "כל דבר";
+App::$strings["Archives"] = "ארכיונים";
+App::$strings["Me"] = "אני";
+App::$strings["Family"] = "משפחה";
+App::$strings["Friends"] = "חברים";
+App::$strings["Acquaintances"] = "מכרים";
+App::$strings["All"] = "הכל";
+App::$strings["Refresh"] = "רענן";
+App::$strings["Account settings"] = "הגדרות חשבון";
+App::$strings["Channel settings"] = "הגדרות ערוץ";
+App::$strings["Additional features"] = "תכונות נוספות";
+App::$strings["Feature/Addon settings"] = "";
+App::$strings["Display settings"] = "הגדרות תצוגה";
+App::$strings["Connected apps"] = "אפליקציות מחוברות";
+App::$strings["Export channel"] = "יצא ערוץ";
+App::$strings["Connection Default Permissions"] = "";
+App::$strings["Premium Channel Settings"] = "";
+App::$strings["Channel Sources"] = "מקורות ערוץ";
+App::$strings["Messages"] = "הודעות";
+App::$strings["Check Mail"] = "בדוק דואר";
+App::$strings["Chat Rooms"] = "חדרי שיחה";
+App::$strings["Bookmarked Chatrooms"] = "חדרי שיחה מסומנים";
+App::$strings["Suggested Chatrooms"] = "חדרי שיחה מוצעים";
+App::$strings["photo/image"] = "תצלום/תמונה";
+App::$strings["Rate Me"] = "דרג אותי";
+App::$strings["View Ratings"] = "צפה בדירוגים";
+App::$strings["Public Hubs"] = "מוקדים פומביים";
+App::$strings["New window"] = "חלון חדש";
+App::$strings["Open the selected location in a different window or browser tab"] = "פתח את המיקום הנבחר בתוך חלון או סימניית דפדפן אחרים";
+App::$strings["User '%s' deleted"] = "משתמש '%s' נמחק";
+App::$strings["No recipient provided."] = "";
+App::$strings["[no subject]"] = "[אין נושא]";
+App::$strings["Unable to determine sender."] = "";
+App::$strings["Stored post could not be verified."] = "";
+App::$strings["Invalid data packet"] = "";
+App::$strings["Unable to verify channel signature"] = "";
+App::$strings["Unable to verify site signature for %s"] = "";
+App::$strings["created a new post"] = "צור פוסט חדש";
+App::$strings["commented on %s's post"] = "הגיב/ה על פוסט של %s";
+App::$strings["Private Message"] = "הודעה פרטית";
+App::$strings["Select"] = "בחר";
+App::$strings["Save to Folder"] = "שמור לתיקייה";
+App::$strings["I will attend"] = "אני אופיע";
+App::$strings["I will not attend"] = "אני לא אופיע";
+App::$strings["I might attend"] = "אני עשוי/ה להופיע";
+App::$strings["I agree"] = "אני מסכים/ה";
+App::$strings["I disagree"] = "אני לא מסכים/ה";
+App::$strings["I abstain"] = "אני נמנע/ת";
+App::$strings["View all"] = "צפה בכולם";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Add Star"] = "הוסף כוכב";
+App::$strings["Remove Star"] = "הסר כוכב";
+App::$strings["Toggle Star Status"] = "";
+App::$strings["starred"] = "";
+App::$strings["Message signature validated"] = "";
+App::$strings["Message signature incorrect"] = "";
+App::$strings["Add Tag"] = "הוסף תגית";
+App::$strings["I like this (toggle)"] = "אהבתי את זה (החלף)";
+App::$strings["like"] = "";
+App::$strings["I don't like this (toggle)"] = "לא אהבתי את זה (החלף)";
+App::$strings["dislike"] = "";
+App::$strings["Share This"] = "שתף זאת";
+App::$strings["share"] = "שתף";
+App::$strings["%d comment"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["View %s's profile - %s"] = "";
+App::$strings["to"] = "אל";
+App::$strings["via"] = "";
+App::$strings["Wall-to-Wall"] = "";
+App::$strings["via Wall-To-Wall:"] = "";
+App::$strings["from %s"] = "";
+App::$strings["last edited: %s"] = "";
+App::$strings["Expires: %s"] = "";
+App::$strings["Save Bookmarks"] = "";
+App::$strings["Add to Calendar"] = "";
+App::$strings["Mark all seen"] = "סמן את הכל כנקראו";
+App::$strings["__ctx:noun__ Likes"] = "";
+App::$strings["__ctx:noun__ Dislikes"] = "";
+App::$strings["Close"] = "סגור";
+App::$strings["Please wait"] = "אנא המתן";
+App::$strings["[+] show all"] = "[+] הצג הכל";
+App::$strings["This is you"] = "זה את/ה";
+App::$strings["Comment"] = "תגובה";
+App::$strings["Submit"] = "שלח";
+App::$strings["Bold"] = "מובלט";
+App::$strings["Italic"] = "נטוי";
+App::$strings["Underline"] = "קו תחתון";
+App::$strings["Quote"] = "ציטוט";
+App::$strings["Code"] = "קוד";
+App::$strings["Image"] = "תמונה";
+App::$strings["Insert Link"] = "הכנס קישור";
+App::$strings["Video"] = "וידאו";
+App::$strings["Preview"] = "תצוגה מקדימה";
+App::$strings["Encrypt text"] = "הצפן טקסט";
+App::$strings["Not a valid email address"] = "כתובת דוא״ל לא תקינה";
+App::$strings["Your email domain is not among those allowed on this site"] = "";
+App::$strings["Your email address is already registered at this site."] = "";
+App::$strings["An invitation is required."] = "נדרשת הזמנה.";
+App::$strings["Invitation could not be verified."] = "אימות הזמנה לא התאפשר.";
+App::$strings["Please enter the required information."] = "אנא הזן את המידע הנחוץ.";
+App::$strings["Failed to store account information."] = "נכשל לאחסן מידע חשבון.";
+App::$strings["Registration confirmation for %s"] = "אימות רישום עבור %s";
+App::$strings["Registration request at %s"] = "בקשת רישום אצל %s";
+App::$strings["your registration password"] = "סיסמת רישום שלך";
+App::$strings["Registration details for %s"] = "פרטי רישום עבור %s";
+App::$strings["Account approved."] = "חשבון אושר.";
+App::$strings["Registration revoked for %s"] = "רישום בוטל עבור %s";
+App::$strings["Account verified. Please login."] = "חשבון אומת. אנא התחבר.";
+App::$strings["Click here to upgrade."] = "לחץ כאן כדי לשדרג.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "";
+App::$strings["This action is not available under your subscription plan."] = "";
+App::$strings["Embedded content"] = "";
+App::$strings["Embedding disabled"] = "";
+App::$strings["Visible to your default audience"] = "";
+App::$strings["Show"] = "הצג";
+App::$strings["Don't show"] = "אל תציג";
+App::$strings["Permissions"] = "הרשאות";
+App::$strings[" and "] = " וגם ";
+App::$strings["public profile"] = "פרופיל פומבי";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
+App::$strings["Visit %1\$s's %2\$s"] = "";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
+App::$strings["Public Timeline"] = "ציר זמן פומבי";
+App::$strings["Site Admin"] = "מנהל אתר";
+App::$strings["Address Book"] = "פנקס כתובות";
+App::$strings["Profile"] = "פרופיל";
+App::$strings["Mood"] = "מצב רוח";
+App::$strings["Poke"] = "";
+App::$strings["Probe"] = "";
+App::$strings["Suggest"] = "הצע";
+App::$strings["Random Channel"] = "";
+App::$strings["Invite"] = "הזמן";
+App::$strings["Features"] = "תכונות";
+App::$strings["Language"] = "שפה";
+App::$strings["Post"] = "פוסט";
+App::$strings["Profile Photo"] = "תצלום פרופיל";
+App::$strings["Update"] = "עדכן";
+App::$strings["Install"] = "התקן";
+App::$strings["Purchase"] = "רכוש";
+App::$strings["Permission denied."] = "הרשאה נדחתה.";
+App::$strings["Item was not found."] = "פריט לא נמצא.";
+App::$strings["No source file."] = "אין קובץ מקור.";
+App::$strings["Cannot locate file to replace"] = "";
+App::$strings["Cannot locate file to revise/update"] = "";
+App::$strings["File exceeds size limit of %d"] = "";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "";
+App::$strings["Stored file could not be verified. Upload failed."] = "";
+App::$strings["Path not available."] = "נתיב לא זמין.";
+App::$strings["Empty pathname"] = "";
+App::$strings["duplicate filename or path"] = "";
+App::$strings["Path not found."] = "נתיב לא נמצא.";
+App::$strings["mkdir failed."] = "mkdir נכשל.";
+App::$strings["database storage failed."] = "";
+App::$strings["Logged out."] = "מנותק.";
+App::$strings["Failed authentication"] = "אימות נכשל";
+App::$strings["Login failed."] = "התחברות נכשלה.";
+App::$strings["Attachments:"] = "תצריפים:";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["\$Projectname event notification:"] = "";
+App::$strings["Starts:"] = "מתחיל:";
+App::$strings["Finishes:"] = "נגמר:";
+App::$strings["Location:"] = "מיקום:";
+App::$strings["Image/photo"] = "תמונה/תצלום";
+App::$strings["Encrypted content"] = "תוכן מוצפן";
+App::$strings["Install %s element: "] = "";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "";
+App::$strings["webpage"] = "עמוד רשת";
+App::$strings["layout"] = "";
+App::$strings["block"] = "";
+App::$strings["menu"] = "תפריט";
+App::$strings["QR code"] = "קוד QR";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "";
+App::$strings["post"] = "פוסט";
+App::$strings["Different viewers will see this text differently"] = "";
+App::$strings["$1 spoiler"] = "";
+App::$strings["$1 wrote:"] = "$1 כתב(ה):";
+App::$strings["%1\$s's bookmarks"] = "";
+App::$strings["Missing room name"] = "";
+App::$strings["Duplicate room name"] = "";
+App::$strings["Invalid room specifier."] = "";
+App::$strings["Room not found."] = "חדר לא נמצא.";
+App::$strings["Room is full"] = "חדר מלא";
+App::$strings["Default"] = "ברירת מחדל";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
+App::$strings["Frequently"] = "באופן תדיר";
+App::$strings["Hourly"] = "כל שעה";
+App::$strings["Twice daily"] = "פעמיים ביום";
+App::$strings["Daily"] = "יומי";
+App::$strings["Weekly"] = "שבועי";
+App::$strings["Monthly"] = "חודשי";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Email"] = "דוא״ל";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "פייסבוק";
+App::$strings["Zot!"] = "Zot!";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["%d invitation available"] = array(
+ 0 => "הזמנה %d זמינה",
+ 1 => "%d הזמנות זמינות",
+);
+App::$strings["Advanced"] = "מתקדם";
+App::$strings["Find Channels"] = "מצא ערוצים";
+App::$strings["Enter name or interest"] = "הזן שם או עניין";
+App::$strings["Connect/Follow"] = "התחבר/עקוב";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "";
+App::$strings["Find"] = "מצא";
+App::$strings["Channel Suggestions"] = "הצעות ערוץ";
+App::$strings["Random Profile"] = "פרופיל אקראי";
+App::$strings["Invite Friends"] = "הזמן חברים";
+App::$strings["Advanced example: name=fred and country=iceland"] = "דוגמא מתקדמת: name=פרד וגם country=איסלנד";
+App::$strings["%d connection in common"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["show more"] = "הצג עוד";
+App::$strings["channel"] = "ערוץ";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "";
+App::$strings["%1\$s is now connected with %2\$s"] = "";
+App::$strings["%1\$s poked %2\$s"] = "";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "";
+App::$strings["__ctx:title__ Likes"] = "";
+App::$strings["__ctx:title__ Dislikes"] = "";
+App::$strings["__ctx:title__ Agree"] = "מסכים";
+App::$strings["__ctx:title__ Disagree"] = "לא מסכים";
+App::$strings["__ctx:title__ Abstain"] = "נמנע";
+App::$strings["__ctx:title__ Attending"] = "נוכח";
+App::$strings["__ctx:title__ Not attending"] = "לא נוכח";
+App::$strings["__ctx:title__ Might attend"] = "עשוי להיווכח";
+App::$strings["View %s's profile @ %s"] = "";
+App::$strings["Categories:"] = "קטגוריות:";
+App::$strings["Filed under:"] = "תויק תחת:";
+App::$strings["View in context"] = "";
+App::$strings["remove"] = "להסיר";
+App::$strings["Delete Selected Items"] = "";
+App::$strings["View Source"] = "צפה במקור";
+App::$strings["Follow Thread"] = "עקוב שרשור";
+App::$strings["View Status"] = "צפה בסטטוס";
+App::$strings["View Photos"] = "צפה בתצלומים";
+App::$strings["Matrix Activity"] = "פעילות מטריצה";
+App::$strings["Edit Contact"] = "ערוך איש קשר";
+App::$strings["Send PM"] = "שלח הודעה פרטית";
+App::$strings["%s likes this."] = "";
+App::$strings["%s doesn't like this."] = "";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["and"] = "";
+App::$strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s like this."] = "";
+App::$strings["%s don't like this."] = "";
+App::$strings["Visible to <strong>everybody</strong>"] = "";
+App::$strings["Please enter a link URL:"] = "";
+App::$strings["Please enter a video link/URL:"] = "";
+App::$strings["Please enter an audio link/URL:"] = "";
+App::$strings["Tag term:"] = "";
+App::$strings["Save to Folder:"] = "שמור לתיקייה:";
+App::$strings["Where are you right now?"] = "";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "";
+App::$strings["Share"] = "שתף";
+App::$strings["Page link name"] = "";
+App::$strings["Post as"] = "";
+App::$strings["Upload photo"] = "העלה תצלום";
+App::$strings["upload photo"] = "העלה תצלום";
+App::$strings["Attach file"] = "צרף קובץ";
+App::$strings["attach file"] = "צרף קובץ";
+App::$strings["Insert web link"] = "הכנס קישור רשת";
+App::$strings["web link"] = "קישור רשת";
+App::$strings["Insert video link"] = "הכנס קישור וידאו";
+App::$strings["video link"] = "קישור וידאו";
+App::$strings["Insert audio link"] = "הכנס קישור אודיו";
+App::$strings["audio link"] = "קישור אודיו";
+App::$strings["Set your location"] = "";
+App::$strings["set location"] = "";
+App::$strings["Toggle voting"] = "";
+App::$strings["Clear browser location"] = "";
+App::$strings["clear location"] = "";
+App::$strings["Title (optional)"] = "";
+App::$strings["Categories (optional, comma-separated list)"] = "";
+App::$strings["Permission settings"] = "";
+App::$strings["permissions"] = "הרשאות";
+App::$strings["Public post"] = "";
+App::$strings["Example: bob@example.com, mary@example.com"] = "";
+App::$strings["Set expiration date"] = "";
+App::$strings["OK"] = "אישור";
+App::$strings["Cancel"] = "ביטול";
+App::$strings["Discover"] = "";
+App::$strings["Imported public streams"] = "";
+App::$strings["Commented Order"] = "";
+App::$strings["Sort by Comment Date"] = "";
+App::$strings["Posted Order"] = "";
+App::$strings["Sort by Post Date"] = "";
+App::$strings["Posts that mention or involve you"] = "";
+App::$strings["New"] = "חדש";
+App::$strings["Activity Stream - by date"] = "";
+App::$strings["Starred"] = "";
+App::$strings["Favourite Posts"] = "";
+App::$strings["Spam"] = "ספאם";
+App::$strings["Posts flagged as SPAM"] = "פוסטים מסומנים בתור ספאם";
+App::$strings["Channel"] = "ערוץ";
+App::$strings["Status Messages and Posts"] = "הודעות ופרסומי סטטוס";
+App::$strings["About"] = "אודות";
+App::$strings["Profile Details"] = "פרטי פרופיל";
+App::$strings["Photo Albums"] = "אלבומי תמונה";
+App::$strings["Files and Storage"] = "קבצים ואחסון";
+App::$strings["Chatrooms"] = "חדרי שיחה";
+App::$strings["Saved Bookmarks"] = "סימניות שמורות";
+App::$strings["Manage Webpages"] = "נהל עמודי רשת";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Miscellaneous"] = "שונות";
+App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD או MM-DD";
+App::$strings["Required"] = "דָרוּשׁ";
+App::$strings["never"] = "לעולם לא";
+App::$strings["less than a second ago"] = "לפני פחות משניה";
+App::$strings["year"] = "שנה";
+App::$strings["years"] = "שנים";
+App::$strings["month"] = "חודש";
+App::$strings["months"] = "חודשים";
+App::$strings["week"] = "שבוע";
+App::$strings["weeks"] = "שבועות";
+App::$strings["day"] = "יום";
+App::$strings["days"] = "ימים";
+App::$strings["hour"] = "שעה";
+App::$strings["hours"] = "שעות";
+App::$strings["minute"] = "דקה";
+App::$strings["minutes"] = "דקות";
+App::$strings["second"] = "שניה";
+App::$strings["seconds"] = "שניות";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "לפני %1\$d %2\$s";
+App::$strings["%1\$s's birthday"] = "";
+App::$strings["Happy Birthday %1\$s"] = "";
+App::$strings["Please choose"] = "לבחירתך";
+App::$strings["Agree"] = "מסכים/ה";
+App::$strings["Disagree"] = "לא מסכים/ה";
+App::$strings["Abstain"] = "נמנע/ת";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "";
+App::$strings["Directory Options"] = "";
+App::$strings["Safe Mode"] = "מצב בטוח";
+App::$strings["No"] = "לא";
+App::$strings["Yes"] = "כן";
+App::$strings["Public Forums Only"] = "";
+App::$strings["This Website Only"] = "";
+App::$strings["%s <!item_type!>"] = "";
+App::$strings["[Red:Notify] New mail received at %s"] = "";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "";
+App::$strings["%1\$s sent you %2\$s."] = "";
+App::$strings["a private message"] = "הודעה פרטית";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "";
+App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "";
+App::$strings["[Red:Notify] %s posted to your profile wall"] = "";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "";
+App::$strings["[Red:Notify] %s tagged you"] = "";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "";
+App::$strings["[Red:Notify] %1\$s poked you"] = "";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "";
+App::$strings["[Red:Notify] %s tagged your post"] = "";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "";
+App::$strings["[Red:Notify] Introduction received"] = "";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "";
+App::$strings["You may visit their profile at %s"] = "";
+App::$strings["Please visit %s to approve or reject the connection request."] = "";
+App::$strings["[Red:Notify] Friend suggestion received"] = "";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "";
+App::$strings["Name:"] = "שם:";
+App::$strings["Photo:"] = "תצלום:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "";
+App::$strings["[Red:Notify]"] = "";
+App::$strings["This event has been added to your calendar."] = "אירוע זה התווסף ללוח שנה שלך.";
+App::$strings["General Features"] = "";
+App::$strings["Content Expiration"] = "";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "";
+App::$strings["Multiple Profiles"] = "";
+App::$strings["Ability to create multiple profiles"] = "";
+App::$strings["Advanced Profiles"] = "";
+App::$strings["Additional profile sections and selections"] = "";
+App::$strings["Profile Import/Export"] = "";
+App::$strings["Save and load profile details across sites/channels"] = "";
+App::$strings["Web Pages"] = "עמודי רשת";
+App::$strings["Provide managed web pages on your channel"] = "";
+App::$strings["Private Notes"] = "";
+App::$strings["Enables a tool to store notes and reminders"] = "";
+App::$strings["Navigation Channel Select"] = "";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "";
+App::$strings["Photo Location"] = "מיקום תצלום";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "";
+App::$strings["Expert Mode"] = "מצב מומחה";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "";
+App::$strings["Premium Channel"] = "";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "";
+App::$strings["Post Composition Features"] = "";
+App::$strings["Use Markdown"] = "";
+App::$strings["Allow use of \"Markdown\" to format posts"] = "";
+App::$strings["Large Photos"] = "";
+App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "";
+App::$strings["Automatically import channel content from other channels or feeds"] = "";
+App::$strings["Even More Encryption"] = "";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "";
+App::$strings["Enable voting tools"] = "";
+App::$strings["Provide a class of post which others can vote on"] = "";
+App::$strings["Network and Stream Filtering"] = "";
+App::$strings["Search by Date"] = "חפש לפי תאריך";
+App::$strings["Ability to select posts by date ranges"] = "מסנן אוספים";
+App::$strings["Collections Filter"] = "מסנן אוספים";
+App::$strings["Enable widget to display Network posts only from selected collections"] = "";
+App::$strings["Save search terms for re-use"] = "";
+App::$strings["Network Personal Tab"] = "";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "";
+App::$strings["Network New Tab"] = "";
+App::$strings["Enable tab to display all new Network activity"] = "";
+App::$strings["Affinity Tool"] = "";
+App::$strings["Filter stream activity by depth of relationships"] = "";
+App::$strings["Connection Filtering"] = "";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "";
+App::$strings["Suggest Channels"] = "";
+App::$strings["Show channel suggestions"] = "";
+App::$strings["Post/Comment Tools"] = "";
+App::$strings["Tagging"] = "";
+App::$strings["Ability to tag existing posts"] = "";
+App::$strings["Post Categories"] = "";
+App::$strings["Add categories to your posts"] = "";
+App::$strings["Ability to file posts under folders"] = "";
+App::$strings["Dislike Posts"] = "";
+App::$strings["Ability to dislike posts/comments"] = "";
+App::$strings["Star Posts"] = "";
+App::$strings["Ability to mark special posts with a star indicator"] = "";
+App::$strings["Tag Cloud"] = "";
+App::$strings["Provide a personal tag cloud on your channel page"] = "";
+App::$strings["Channel is blocked on this site."] = "";
+App::$strings["Channel location missing."] = "";
+App::$strings["Response from remote channel was incomplete."] = "";
+App::$strings["Channel was deleted and no longer exists."] = "";
+App::$strings["Protocol disabled."] = "";
+App::$strings["Protocol blocked for this channel."] = "";
+App::$strings["Channel discovery failed."] = "";
+App::$strings["local account not found."] = "";
+App::$strings["Cannot connect to yourself."] = "";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "";
+App::$strings["Default privacy group for new contacts"] = "";
+App::$strings["All Channels"] = "כל הערוצים";
+App::$strings["edit"] = "ערוך";
+App::$strings["Collections"] = "אוספים";
+App::$strings["Edit collection"] = "ערוך אוסף";
+App::$strings["Add new collection"] = "הוסף אוסף חדש";
+App::$strings["Channels not in any collection"] = "";
+App::$strings["Unable to obtain identity information from database"] = "";
+App::$strings["Empty name"] = "שם ריק";
+App::$strings["Name too long"] = "שם ארוך מדי";
+App::$strings["No account identifier"] = "אין מזהה חשבון";
+App::$strings["Nickname is required."] = "נדרש שם כינוי.";
+App::$strings["Reserved nickname. Please choose another."] = "";
+App::$strings["Unable to retrieve created identity"] = "";
+App::$strings["Default Profile"] = "פרופיל שגרתי";
+App::$strings["Requested channel is not available."] = "";
+App::$strings["Requested profile is not available."] = "";
+App::$strings["Change profile photo"] = "";
+App::$strings["Profiles"] = "פרופילים";
+App::$strings["Manage/edit profiles"] = "";
+App::$strings["Create New Profile"] = "צור פרופיל חדש";
+App::$strings["Profile Image"] = "תמונת פרופיל";
+App::$strings["visible to everybody"] = "";
+App::$strings["Edit visibility"] = "";
+App::$strings["Gender:"] = "מין:";
+App::$strings["Status:"] = "מצב:";
+App::$strings["Homepage:"] = "עמוד בית:";
+App::$strings["Online Now"] = "מקוון כעת";
+App::$strings["g A l F d"] = "";
+App::$strings["F d"] = "";
+App::$strings["[today]"] = "[היום]";
+App::$strings["Birthday Reminders"] = "";
+App::$strings["Birthdays this week:"] = "";
+App::$strings["[No description]"] = "[אין תיאור]";
+App::$strings["Event Reminders"] = "";
+App::$strings["Events this week:"] = "";
+App::$strings["Full Name:"] = "שם מלא:";
+App::$strings["Like this channel"] = "";
+App::$strings["j F, Y"] = "";
+App::$strings["j F"] = "";
+App::$strings["Birthday:"] = "יום הולדת:";
+App::$strings["Age:"] = "גיל:";
+App::$strings["for %1\$d %2\$s"] = "";
+App::$strings["Sexual Preference:"] = "העדפה מינית:";
+App::$strings["Hometown:"] = "עיר מגורים:";
+App::$strings["Tags:"] = "תגיות:";
+App::$strings["Political Views:"] = "השקפות פוליטיות:";
+App::$strings["Religion:"] = "דת:";
+App::$strings["About:"] = "אודות:";
+App::$strings["Hobbies/Interests:"] = "תחביבים/עניין:";
+App::$strings["Likes:"] = "אוהב:";
+App::$strings["Dislikes:"] = "שונא:";
+App::$strings["Contact information and Social Networks:"] = "";
+App::$strings["My other channels:"] = "";
+App::$strings["Musical interests:"] = "";
+App::$strings["Books, literature:"] = "";
+App::$strings["Television:"] = "טלוויזיה:";
+App::$strings["Film/dance/culture/entertainment:"] = "";
+App::$strings["Love/Romance:"] = "";
+App::$strings["Work/employment:"] = "";
+App::$strings["School/education:"] = "";
+App::$strings["Like this thing"] = "";
+App::$strings["Permission denied"] = "";
+App::$strings["(Unknown)"] = "(לא ידוע)";
+App::$strings["Visible to anybody on the internet."] = "נראה לכל אחד באינטרנט.";
+App::$strings["Visible to you only."] = "נראה לך בלבד.";
+App::$strings["Visible to anybody in this network."] = "נראה לכל אחד ברשת זו.";
+App::$strings["Visible to anybody authenticated."] = "נראה לכל מי שהוא מאומת.";
+App::$strings["Visible to anybody on %s."] = "נראה לכל אחד אצל %s.";
+App::$strings["Visible to all connections."] = "נראה לכל החיבורים.";
+App::$strings["Visible to approved connections."] = "נראה לחיבורים מאושרים.";
+App::$strings["Visible to specific connections."] = "נראה לחיבורים מסוימים.";
+App::$strings["Item not found."] = "פריט לא נמצא.";
+App::$strings["Collection not found."] = "אוסף לא נמצא.";
+App::$strings["Collection is empty."] = "אוסף הינו ריק.";
+App::$strings["Collection: %s"] = "אוסף: %s";
+App::$strings["Connection: %s"] = "חיבור: %s";
+App::$strings["Connection not found."] = "חיבור לא נמצא.";
+App::$strings["Delete this item?"] = "למחוק את פריט זה?";
+App::$strings["[-] show less"] = "[-] הצג פחות";
+App::$strings["[+] expand"] = "[+] הרחב";
+App::$strings["[-] collapse"] = "[-] צמצם";
+App::$strings["Password too short"] = "סיסמה קצרה מדי";
+App::$strings["Passwords do not match"] = "סיסמאות לא תואמות";
+App::$strings["everybody"] = "כולם";
+App::$strings["Secret Passphrase"] = "מימרת סיסמה סודית";
+App::$strings["Passphrase hint"] = "";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "";
+App::$strings["close all"] = "סגור הכל";
+App::$strings["Nothing new here"] = "אין דבר חדש כאן";
+App::$strings["Rate This Channel (this is public)"] = "";
+App::$strings["Rating"] = "";
+App::$strings["Describe (optional)"] = "תאר (רשות)";
+App::$strings["Please enter a link URL"] = "";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "לפני";
+App::$strings["from now"] = "מעכשיו";
+App::$strings["less than a minute"] = "פחות מדקה";
+App::$strings["about a minute"] = "דקה לערך";
+App::$strings["%d minutes"] = "%d דקות";
+App::$strings["about an hour"] = "שעה לערך";
+App::$strings["about %d hours"] = " %d שעות לערך";
+App::$strings["a day"] = "יום";
+App::$strings["%d days"] = "%d ימים";
+App::$strings["about a month"] = "חודש לערך";
+App::$strings["%d months"] = "%d חודשים";
+App::$strings["about a year"] = "שנה לערך";
+App::$strings["%d years"] = "%d שנים";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["New Page"] = "עמוד חדש";
+App::$strings["View"] = "תצוגה";
+App::$strings["Actions"] = "פעולות";
+App::$strings["Page Link"] = "קישור עמוד";
+App::$strings["Title"] = "כותרת";
+App::$strings["Created"] = "נוצר";
+App::$strings["Edited"] = "נערך";
+App::$strings["Can view my normal stream and posts"] = "";
+App::$strings["Can view my default channel profile"] = "";
+App::$strings["Can view my photo albums"] = "";
+App::$strings["Can view my connections"] = "";
+App::$strings["Can view my file storage"] = "";
+App::$strings["Can view my webpages"] = "";
+App::$strings["Can send me their channel stream and posts"] = "";
+App::$strings["Can post on my channel page (\"wall\")"] = "";
+App::$strings["Can comment on or like my posts"] = "";
+App::$strings["Can send me private mail messages"] = "";
+App::$strings["Can post photos to my photo albums"] = "";
+App::$strings["Can like/dislike stuff"] = "";
+App::$strings["Profiles and things other than posts/comments"] = "";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "";
+App::$strings["Advanced - useful for creating group forum channels"] = "";
+App::$strings["Can chat with me (when available)"] = "";
+App::$strings["Can write to my file storage"] = "";
+App::$strings["Can edit my webpages"] = "";
+App::$strings["Can source my public posts in derived channels"] = "";
+App::$strings["Somewhat advanced - very useful in open communities"] = "";
+App::$strings["Can administer my channel resources"] = "";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "";
+App::$strings["Social Networking"] = "רשת חברתית";
+App::$strings["Mostly Public"] = "";
+App::$strings["Restricted"] = "";
+App::$strings["Private"] = "פרטי";
+App::$strings["Community Forum"] = "";
+App::$strings["Feed Republish"] = "";
+App::$strings["Special Purpose"] = "";
+App::$strings["Celebrity/Soapbox"] = "";
+App::$strings["Group Repository"] = "";
+App::$strings["Other"] = "אחר";
+App::$strings["Custom/Expert Mode"] = "";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "";
+App::$strings["Image file is empty."] = "";
+App::$strings["Unable to process image"] = "";
+App::$strings["Photo storage failed."] = "";
+App::$strings["Upload New Photos"] = "העלה תצלומים חדשים";
+App::$strings["Tags"] = "תגיות";
+App::$strings["Keywords"] = "מילות מפתח";
+App::$strings["have"] = "";
+App::$strings["has"] = "";
+App::$strings["want"] = "";
+App::$strings["wants"] = "";
+App::$strings["likes"] = "";
+App::$strings["dislikes"] = "";
+App::$strings["Male"] = "זכר";
+App::$strings["Female"] = "נקבה";
+App::$strings["Currently Male"] = "כעת זכר";
+App::$strings["Currently Female"] = "כעת נקבה";
+App::$strings["Mostly Male"] = "בעיקר זכר";
+App::$strings["Mostly Female"] = "בעיקר נקבה";
+App::$strings["Transgender"] = "טרנסג׳נדר";
+App::$strings["Intersex"] = "בין מיני";
+App::$strings["Transsexual"] = "טרנסקסואל";
+App::$strings["Hermaphrodite"] = "אנדרוגיני";
+App::$strings["Neuter"] = "ניטראלי";
+App::$strings["Non-specific"] = "";
+App::$strings["Undecided"] = "";
+App::$strings["Males"] = "זכרים";
+App::$strings["Females"] = "נקבות";
+App::$strings["Gay"] = "הומו";
+App::$strings["Lesbian"] = "לסבית";
+App::$strings["No Preference"] = "אין העדפה";
+App::$strings["Bisexual"] = "דו מיני";
+App::$strings["Autosexual"] = "";
+App::$strings["Abstinent"] = "";
+App::$strings["Virgin"] = "בתול/ה";
+App::$strings["Deviant"] = "סוטה";
+App::$strings["Fetish"] = "פטיש";
+App::$strings["Oodles"] = "המון";
+App::$strings["Nonsexual"] = "לא מיני";
+App::$strings["Single"] = "רווק/ה";
+App::$strings["Lonely"] = "בודד";
+App::$strings["Available"] = "זמין";
+App::$strings["Unavailable"] = "לא פנוי/ה";
+App::$strings["Has crush"] = "";
+App::$strings["Infatuated"] = "מוקסם/ת";
+App::$strings["Dating"] = "";
+App::$strings["Unfaithful"] = "לא נאמן/ה";
+App::$strings["Sex Addict"] = "מכור/ה למין";
+App::$strings["Friends/Benefits"] = "";
+App::$strings["Casual"] = "ארעי/ת";
+App::$strings["Engaged"] = "מאורס/ת";
+App::$strings["Married"] = "נישואין";
+App::$strings["Imaginarily married"] = "נישואין דמיוניים";
+App::$strings["Partners"] = "";
+App::$strings["Cohabiting"] = "חיים יחדיו";
+App::$strings["Common law"] = "";
+App::$strings["Happy"] = "שמח";
+App::$strings["Not looking"] = "לא מחפש/ת";
+App::$strings["Swinger"] = "בליין/ית";
+App::$strings["Betrayed"] = "נבגד/ת";
+App::$strings["Separated"] = "פרוד/ה";
+App::$strings["Unstable"] = "בלתי יציב";
+App::$strings["Divorced"] = "גירושין";
+App::$strings["Imaginarily divorced"] = "גירושין דמיוניים";
+App::$strings["Widowed"] = "אלמן/ה";
+App::$strings["Uncertain"] = "";
+App::$strings["It's complicated"] = "זה מורכב";
+App::$strings["Don't care"] = "לא משנה";
+App::$strings["Ask me"] = "תשאלו אותי";
+App::$strings["Unable to lookup recipient."] = "";
+App::$strings["Unable to communicate with requested channel."] = "";
+App::$strings["Cannot verify requested channel."] = "";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "";
+App::$strings["Message deleted."] = "הודעה נמחקה.";
+App::$strings["Message recalled."] = "הודעה הוחזרה.";
+App::$strings["Send Private Message"] = "שלח הודעה פרטית";
+App::$strings["To:"] = "לכבוד:";
+App::$strings["Subject:"] = "נושא:";
+App::$strings["Your message:"] = "הודעתך:";
+App::$strings["Send"] = "שלח";
+App::$strings["Message not found."] = "הודעה לא נמצאה.";
+App::$strings["Delete message"] = "מחק הודעה";
+App::$strings["Recall message"] = "בטל הודעה";
+App::$strings["Message has been recalled."] = "";
+App::$strings["Private Conversation"] = "";
+App::$strings["Delete conversation"] = "מחק דיון";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "";
+App::$strings["Send Reply"] = "שלח משוב";
+App::$strings["Hub not found."] = "";
+App::$strings["Some blurb about what to do when you're new here"] = "";
+App::$strings["Invalid item."] = "פריט שגוי.";
+App::$strings["Channel not found."] = "";
+App::$strings["Page not found."] = "עמוד לא נמצא.";
+App::$strings["Lorem Ipsum"] = "";
+App::$strings["network"] = "רשת";
+App::$strings["RSS"] = "RSS";
+App::$strings["Theme settings updated."] = "";
+App::$strings["Site"] = "אתר";
+App::$strings["Accounts"] = "חשבונות";
+App::$strings["Channels"] = "ערוצים";
+App::$strings["Plugins"] = "תוספות";
+App::$strings["Themes"] = "ערכות נושא";
+App::$strings["Inspect queue"] = "";
+App::$strings["Profile Config"] = "";
+App::$strings["DB updates"] = "";
+App::$strings["Logs"] = "יומנים";
+App::$strings["Plugin Features"] = "";
+App::$strings["User registrations waiting for confirmation"] = "";
+App::$strings["# Accounts"] = "# חשבונות";
+App::$strings["# blocked accounts"] = "# חשבונות חסומים";
+App::$strings["# expired accounts"] = "";
+App::$strings["# expiring accounts"] = "";
+App::$strings["# Channels"] = "# ערוצים";
+App::$strings["# primary"] = "";
+App::$strings["# clones"] = "# שיבוטים";
+App::$strings["Message queues"] = "";
+App::$strings["Administration"] = "הנהלה";
+App::$strings["Summary"] = "סיכום";
+App::$strings["Registered accounts"] = "חשבונות רשומים";
+App::$strings["Pending registrations"] = "";
+App::$strings["Registered channels"] = "ערוצים רשומים";
+App::$strings["Active plugins"] = "תוספים פעילים";
+App::$strings["Version"] = "גרסא";
+App::$strings["Site settings updated."] = "";
+App::$strings["mobile"] = "";
+App::$strings["experimental"] = "";
+App::$strings["unsupported"] = "";
+App::$strings["Yes - with approval"] = "";
+App::$strings["My site is not a public server"] = "";
+App::$strings["My site has paid access only"] = "";
+App::$strings["My site has free access only"] = "";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "";
+App::$strings["Registration"] = "רישום";
+App::$strings["File upload"] = "";
+App::$strings["Policies"] = "מדינויות";
+App::$strings["Site name"] = "שם אתר";
+App::$strings["Banner/Logo"] = "";
+App::$strings["Administrator Information"] = "מידע מנהל";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "";
+App::$strings["System language"] = "שפת מערכת";
+App::$strings["System theme"] = "מוטיב מערכת";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "";
+App::$strings["Mobile system theme"] = "";
+App::$strings["Theme for mobile devices"] = "";
+App::$strings["Enable Diaspora Protocol"] = "אפשר פרוטוקול Diaspora";
+App::$strings["Communicate with Diaspora and Friendica - experimental"] = "";
+App::$strings["Allow Feeds as Connections"] = "";
+App::$strings["(Heavy system resource usage)"] = "";
+App::$strings["Maximum image size"] = "";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
+App::$strings["Does this site allow new member registration?"] = "";
+App::$strings["Which best describes the types of account offered by this hub?"] = "";
+App::$strings["Register text"] = "";
+App::$strings["Will be displayed prominently on the registration page."] = "";
+App::$strings["Site homepage to show visitors (default: login box)"] = "";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "";
+App::$strings["Preserve site homepage URL"] = "";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "";
+App::$strings["Accounts abandoned after x days"] = "";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "";
+App::$strings["Allowed friend domains"] = "";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "";
+App::$strings["Allowed email domains"] = "";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "";
+App::$strings["Not allowed email domains"] = "";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "";
+App::$strings["Block public"] = "";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "";
+App::$strings["Verify Email Addresses"] = "";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "";
+App::$strings["Force publish"] = "";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "";
+App::$strings["Disable discovery tab"] = "";
+App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "";
+App::$strings["login on Homepage"] = "";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "";
+App::$strings["Proxy user"] = "";
+App::$strings["Proxy URL"] = "";
+App::$strings["Network timeout"] = "";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "";
+App::$strings["Delivery interval"] = "";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "";
+App::$strings["Poll interval"] = "";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "";
+App::$strings["Maximum Load Average"] = "";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "";
+App::$strings["Expiration period in days for imported (matrix/network) content"] = "";
+App::$strings["0 for no expiration of imported content"] = "";
+App::$strings["No server found"] = "לא נמצא שרת";
+App::$strings["ID"] = "מזהה";
+App::$strings["for channel"] = "לערוץ";
+App::$strings["on server"] = "בשרת";
+App::$strings["Status"] = "מצב";
+App::$strings["Server"] = "שרת";
+App::$strings["Update has been marked successful"] = "";
+App::$strings["Executing %s failed. Check system logs."] = "";
+App::$strings["Update %s was successfully applied."] = "";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "";
+App::$strings["Update function %s could not be found."] = "";
+App::$strings["No failed updates."] = "";
+App::$strings["Failed Updates"] = "";
+App::$strings["Mark success (if update was manually applied)"] = "";
+App::$strings["Attempt to execute this update step automatically"] = "";
+App::$strings["Queue Statistics"] = "";
+App::$strings["Total Entries"] = "";
+App::$strings["Priority"] = "עדיפות";
+App::$strings["Destination URL"] = "";
+App::$strings["Mark hub permanently offline"] = "";
+App::$strings["Empty queue for this hub"] = "";
+App::$strings["Last known contact"] = "";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Account not found"] = "חשבון לא נמצא";
+App::$strings["Account '%s' deleted"] = "חשבון '%s' נמחק";
+App::$strings["Account '%s' blocked"] = "חשבון '%s' נחסם";
+App::$strings["Account '%s' unblocked"] = "חשבון '%s' נפתח";
+App::$strings["Users"] = "משתמשים";
+App::$strings["select all"] = "בחר הכל";
+App::$strings["User registrations waiting for confirm"] = "הרשמות משתמש אשר ממתינות לאישור";
+App::$strings["Request date"] = "";
+App::$strings["No registrations."] = "אין הרשמות.";
+App::$strings["Approve"] = "";
+App::$strings["Deny"] = "לאסור";
+App::$strings["Block"] = "חסום";
+App::$strings["Unblock"] = "בטל חסימה";
+App::$strings["Register date"] = "";
+App::$strings["Last login"] = "";
+App::$strings["Expires"] = "";
+App::$strings["Service Class"] = "";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Channel not found"] = "ערוץ לא נמצא";
+App::$strings["Channel '%s' deleted"] = "";
+App::$strings["Channel '%s' censored"] = "";
+App::$strings["Channel '%s' uncensored"] = "";
+App::$strings["Channel '%s' code allowed"] = "";
+App::$strings["Channel '%s' code disallowed"] = "";
+App::$strings["Censor"] = "";
+App::$strings["Uncensor"] = "";
+App::$strings["Allow Code"] = "";
+App::$strings["Disallow Code"] = "";
+App::$strings["UID"] = "";
+App::$strings["Address"] = "כתובת";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+App::$strings["Plugin %s disabled."] = "";
+App::$strings["Plugin %s enabled."] = "";
+App::$strings["Disable"] = "";
+App::$strings["Enable"] = "";
+App::$strings["Toggle"] = "";
+App::$strings["Author: "] = "מחבר: ";
+App::$strings["Maintainer: "] = "מתחזק: ";
+App::$strings["No themes found."] = "לא נמצאו מוטיבים.";
+App::$strings["Screenshot"] = "צילום מסך";
+App::$strings["[Experimental]"] = "[ניסיוני]";
+App::$strings["[Unsupported]"] = "[לא נתמך]";
+App::$strings["Log settings updated."] = "";
+App::$strings["Clear"] = "טהר";
+App::$strings["Debugging"] = "דיבאג";
+App::$strings["Log file"] = "קובץ יומן";
+App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "";
+App::$strings["Log level"] = "";
+App::$strings["New Profile Field"] = "";
+App::$strings["Field nickname"] = "";
+App::$strings["System name of field"] = "";
+App::$strings["Input type"] = "טיפוס קלט";
+App::$strings["Field Name"] = "שם שדה";
+App::$strings["Label on profile pages"] = "";
+App::$strings["Help text"] = "טקסט עזרה";
+App::$strings["Additional info (optional)"] = "מידע נוסף (רשות)";
+App::$strings["Field definition not found"] = "";
+App::$strings["Edit Profile Field"] = "";
+App::$strings["This setting requires special processing and editing has been blocked."] = "";
+App::$strings["Configuration Editor"] = "עורך תצורה";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "";
+App::$strings["Authorize application connection"] = "";
+App::$strings["Return to your app and insert this Securty Code:"] = "";
+App::$strings["Please login to continue."] = "אנא התחבר כדי להמשיך.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
+App::$strings["Layout updated."] = "";
+App::$strings["Edit System Page Description"] = "";
+App::$strings["Layout not found."] = "";
+App::$strings["Module Name:"] = "";
+App::$strings["Layout Help"] = "";
+App::$strings["App installed."] = "אפליקציה מותקנת.";
+App::$strings["Malformed app."] = "אפליקציה פגומה.";
+App::$strings["Embed code"] = "";
+App::$strings["Edit App"] = "ערוך אפליקציה";
+App::$strings["Create App"] = "צור אפליקציה";
+App::$strings["Name of app"] = "שם של אפליקציה";
+App::$strings["Location (URL) of app"] = "";
+App::$strings["Description"] = "תיאור";
+App::$strings["Photo icon URL"] = "";
+App::$strings["80 x 80 pixels - optional"] = "";
+App::$strings["Version ID"] = "";
+App::$strings["Price of app"] = "";
+App::$strings["Location (URL) to purchase app"] = "";
+App::$strings["Page owner information could not be retrieved."] = "";
+App::$strings["Album not found."] = "אלבום לא נמצא.";
+App::$strings["Delete Album"] = "מחק אלבום";
+App::$strings["Delete Photo"] = "מחק תצלום";
+App::$strings["Public access denied."] = "";
+App::$strings["No photos selected"] = "לא נבחרו תצלומים";
+App::$strings["Access to this item is restricted."] = "";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "";
+App::$strings["%1$.2f MB photo storage used."] = "";
+App::$strings["Upload Photos"] = "העלה תצלומים";
+App::$strings["Enter a new album name"] = "הזן שם אלבום חדש";
+App::$strings["or select an existing one (doubleclick)"] = "או בחר באחד קיים (לחיצה כפולה)";
+App::$strings["Create a status post for this upload"] = "";
+App::$strings["Album name could not be decoded"] = "";
+App::$strings["Contact Photos"] = "תצלומי איש קשר";
+App::$strings["Show Newest First"] = "";
+App::$strings["Show Oldest First"] = "";
+App::$strings["View Photo"] = "צפה בתצלום";
+App::$strings["Edit Album"] = "ערוך אלבום";
+App::$strings["Permission denied. Access to this item may be restricted."] = "";
+App::$strings["Photo not available"] = "תצלום לא זמין";
+App::$strings["Use as profile photo"] = "";
+App::$strings["Private Photo"] = "תצלום פרטי";
+App::$strings["Previous"] = "קודם";
+App::$strings["View Full Size"] = "";
+App::$strings["Next"] = "הבא";
+App::$strings["Remove"] = "הסר";
+App::$strings["Edit photo"] = "ערוך תצלום";
+App::$strings["Rotate CW (right)"] = "";
+App::$strings["Rotate CCW (left)"] = "";
+App::$strings["Caption"] = "דברי הסבר";
+App::$strings["Add a Tag"] = "הוסף תגית";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "";
+App::$strings["Flag as adult in album view"] = "";
+App::$strings["In This Photo:"] = "";
+App::$strings["Map"] = "מפה";
+App::$strings["View Album"] = "";
+App::$strings["Recent Photos"] = "";
+App::$strings["Item not available."] = "פריט לא נמצא.";
+App::$strings["sent you a private message"] = "";
+App::$strings["added your channel"] = "";
+App::$strings["posted an event"] = "";
+App::$strings["Block Name"] = "";
+App::$strings["Block Title"] = "";
+App::$strings["Poke/Prod"] = "דחוף/עורר";
+App::$strings["poke, prod or do other things to somebody"] = "דחוף, עורר או עשה דברים אחרים למישהו";
+App::$strings["Recipient"] = "";
+App::$strings["Choose what you wish to do to recipient"] = "";
+App::$strings["Make this post private"] = "";
+App::$strings["Bookmark added"] = "סימנייה התווספה";
+App::$strings["My Bookmarks"] = "הסימניות שלי";
+App::$strings["My Connections Bookmarks"] = "סימניות החיבורים שלי";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "";
+App::$strings["Create a new channel"] = "צור ערוץ חדש";
+App::$strings["Current Channel"] = "ערוץ נוכחי";
+App::$strings["Switch to one of your channels by selecting it."] = "";
+App::$strings["Default Channel"] = "ערוץ שגרתי";
+App::$strings["Make Default"] = "הפוך לשגרתי";
+App::$strings["%d new messages"] = "%d הודעות חדשות";
+App::$strings["%d new introductions"] = "";
+App::$strings["Delegated Channels"] = "";
+App::$strings["Profile Match"] = "";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "";
+App::$strings["is interested in:"] = "";
+App::$strings["No matches"] = "";
+App::$strings["Members"] = "חברים";
+App::$strings["All Connected Channels"] = "";
+App::$strings["Click on a channel to add or remove."] = "";
+App::$strings["Poll"] = "הצבעה";
+App::$strings["View Results"] = "צפה בתוצאות";
+App::$strings["You must be logged in to see this page."] = "";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "";
+App::$strings["Welcome %s. Remote authentication successful."] = "";
+App::$strings["Room not found"] = "";
+App::$strings["Leave Room"] = "עזוב חדר";
+App::$strings["Delete This Room"] = "מחק את חדר זה";
+App::$strings["I am away right now"] = "אני נעדר/ת ברגע זה";
+App::$strings["I am online"] = "אני במצב מקוון";
+App::$strings["Bookmark this room"] = "סמן את חדר זה";
+App::$strings["New Chatroom"] = "חדר שיחה חדש";
+App::$strings["Chatroom Name"] = "שם חדר שיחה";
+App::$strings["%1\$s's Chatrooms"] = "חדרי שיחה של %1\$s";
+App::$strings["Away"] = "נעדר";
+App::$strings["Online"] = "מקוון";
+App::$strings["Fetching URL returns error: %1\$s"] = "";
+App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "";
+App::$strings["No channel."] = "אין ערוץ.";
+App::$strings["Common connections"] = "חיבורים מצויים";
+App::$strings["No connections in common."] = "";
+App::$strings["Image uploaded but image cropping failed."] = "";
+App::$strings["Image resize failed."] = "";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "";
+App::$strings["Image exceeds size limit of %d"] = "";
+App::$strings["Unable to process image."] = "";
+App::$strings["Photo not available."] = "תצלום לא זמין.";
+App::$strings["Upload File:"] = "העלה קובץ:";
+App::$strings["Select a profile:"] = "בחר פרופיל:";
+App::$strings["Upload Profile Photo"] = "";
+App::$strings["or"] = "או";
+App::$strings["skip this step"] = "דלג על צעד זה";
+App::$strings["select a photo from your photo albums"] = "";
+App::$strings["Crop Image"] = "";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "";
+App::$strings["Done Editing"] = "";
+App::$strings["Image uploaded successfully."] = "";
+App::$strings["Image upload failed."] = "";
+App::$strings["Image size reduction [%s] failed."] = "";
+App::$strings["Continue"] = "המשך";
+App::$strings["Premium Channel Setup"] = "";
+App::$strings["Enable premium channel connection restrictions"] = "";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "";
+App::$strings["Restricted or Premium Channel"] = "";
+App::$strings["Invalid request identifier."] = "";
+App::$strings["Discard"] = "";
+App::$strings["Ignore"] = "התעלמות";
+App::$strings["No more system notifications."] = "";
+App::$strings["System Notifications"] = "";
+App::$strings["Blocked"] = "";
+App::$strings["Ignored"] = "";
+App::$strings["Hidden"] = "מוסתר";
+App::$strings["Archived"] = "";
+App::$strings["Suggest new connections"] = "";
+App::$strings["New Connections"] = "חיבורים חדשים";
+App::$strings["Show pending (new) connections"] = "";
+App::$strings["All Connections"] = "כל החיבורים";
+App::$strings["Show all connections"] = "";
+App::$strings["Unblocked"] = "";
+App::$strings["Only show unblocked connections"] = "";
+App::$strings["Only show blocked connections"] = "";
+App::$strings["Only show ignored connections"] = "";
+App::$strings["Only show archived connections"] = "";
+App::$strings["Only show hidden connections"] = "";
+App::$strings["%1\$s [%2\$s]"] = "";
+App::$strings["Edit connection"] = "";
+App::$strings["Search your connections"] = "";
+App::$strings["Finding: "] = "";
+App::$strings["Profile not found."] = "פרופיל לא נמצא.";
+App::$strings["Profile deleted."] = "פרופיל נמחק.";
+App::$strings["Profile-"] = "פרופיל-";
+App::$strings["New profile created."] = "פרופיל חדש נוצר.";
+App::$strings["Profile unavailable to clone."] = "";
+App::$strings["Profile unavailable to export."] = "";
+App::$strings["Profile Name is required."] = "";
+App::$strings["Marital Status"] = "";
+App::$strings["Romantic Partner"] = "";
+App::$strings["Likes"] = "";
+App::$strings["Dislikes"] = "";
+App::$strings["Work/Employment"] = "";
+App::$strings["Religion"] = "דת";
+App::$strings["Political Views"] = "השקפות פוליטיות";
+App::$strings["Gender"] = "מין";
+App::$strings["Sexual Preference"] = "העדפה מינית";
+App::$strings["Homepage"] = "עמוד בית";
+App::$strings["Interests"] = "";
+App::$strings["Location"] = "מיקום";
+App::$strings["Profile updated."] = "";
+App::$strings["Hide your contact/friend list from viewers of this profile?"] = "";
+App::$strings["Edit Profile Details"] = "";
+App::$strings["View this profile"] = "";
+App::$strings["Change Profile Photo"] = "";
+App::$strings["Create a new profile using these settings"] = "";
+App::$strings["Clone this profile"] = "שבט את פרופיל זה";
+App::$strings["Delete this profile"] = "מחק את פרופיל זה";
+App::$strings["Import profile from file"] = "";
+App::$strings["Export profile to file"] = "";
+App::$strings["Profile Name:"] = "שם פרופיל:";
+App::$strings["Your Full Name:"] = "שמך המלא:";
+App::$strings["Title/Description:"] = "כותרת/תיאור:";
+App::$strings["Your Gender:"] = "המין שלך:";
+App::$strings["Birthday :"] = "יום הולדת:";
+App::$strings["Street Address:"] = "כתובת רחוב:";
+App::$strings["Locality/City:"] = "";
+App::$strings["Postal/Zip Code:"] = "";
+App::$strings["Country:"] = "ארץ:";
+App::$strings["Region/State:"] = "";
+App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "";
+App::$strings["Who: (if applicable)"] = "";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
+App::$strings["Since [date]:"] = "";
+App::$strings["Homepage URL:"] = "";
+App::$strings["Religious Views:"] = "";
+App::$strings["Keywords:"] = "מילות מפתח:";
+App::$strings["Example: fishing photography software"] = "";
+App::$strings["Used in directory listings"] = "";
+App::$strings["Tell us about yourself..."] = "";
+App::$strings["Hobbies/Interests"] = "";
+App::$strings["Contact information and Social Networks"] = "";
+App::$strings["My other channels"] = "";
+App::$strings["Musical interests"] = "";
+App::$strings["Books, literature"] = "";
+App::$strings["Television"] = "טלוויזיה";
+App::$strings["Film/dance/culture/entertainment"] = "";
+App::$strings["Love/romance"] = "";
+App::$strings["Work/employment"] = "";
+App::$strings["School/education"] = "";
+App::$strings["This is your default profile."] = "";
+App::$strings["Age: "] = "גיל: ";
+App::$strings["Edit/Manage Profiles"] = "";
+App::$strings["Add profile things"] = "";
+App::$strings["Include desirable objects in your profile"] = "";
+App::$strings["Could not access contact record."] = "";
+App::$strings["Could not locate selected profile."] = "";
+App::$strings["Connection updated."] = "";
+App::$strings["Failed to update connection record."] = "";
+App::$strings["is now connected to"] = "";
+App::$strings["Could not access address book record."] = "";
+App::$strings["Refresh failed - channel is currently unavailable."] = "";
+App::$strings["Unable to set address book parameters."] = "";
+App::$strings["Connection has been removed."] = "";
+App::$strings["View %s's profile"] = "";
+App::$strings["Refresh Permissions"] = "";
+App::$strings["Fetch updated permissions"] = "";
+App::$strings["Recent Activity"] = "";
+App::$strings["View recent posts and comments"] = "";
+App::$strings["Block (or Unblock) all communications with this connection"] = "";
+App::$strings["This connection is blocked!"] = "";
+App::$strings["Unignore"] = "";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "";
+App::$strings["This connection is ignored!"] = "";
+App::$strings["Unarchive"] = "";
+App::$strings["Archive"] = "";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "";
+App::$strings["This connection is archived!"] = "";
+App::$strings["Unhide"] = "";
+App::$strings["Hide"] = "הסתר";
+App::$strings["Hide or Unhide this connection from your other connections"] = "";
+App::$strings["This connection is hidden!"] = "חיבור זה הינו מוסתר!";
+App::$strings["Delete this connection"] = "מחק את חיבור זה";
+App::$strings["Approve this connection"] = "אשר את חיבור זה";
+App::$strings["Accept connection to allow communication"] = "אשר חיבור כדי להתיר תקשורת";
+App::$strings["Set Affinity"] = "";
+App::$strings["Set Profile"] = "";
+App::$strings["Set Affinity & Profile"] = "";
+App::$strings["Apply these permissions automatically"] = "";
+App::$strings["This connection's address is"] = "";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "";
+App::$strings["Slide to adjust your degree of friendship"] = "";
+App::$strings["Slide to adjust your rating"] = "";
+App::$strings["Optionally explain your rating"] = "";
+App::$strings["Custom Filter"] = "";
+App::$strings["Only import posts with this text"] = "";
+App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "";
+App::$strings["Do not import posts with this text"] = "";
+App::$strings["This information is public!"] = "";
+App::$strings["Connection Pending Approval"] = "";
+App::$strings["Connection Request"] = "";
+App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "";
+App::$strings["Approve Later"] = "";
+App::$strings["inherited"] = "";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "";
+App::$strings["Their Settings"] = "ההגדרות שלהם";
+App::$strings["My Settings"] = "ההגדרות שלי";
+App::$strings["Individual Permissions"] = "";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "";
+App::$strings["Last update:"] = "";
+App::$strings["Invalid profile identifier."] = "";
+App::$strings["Profile Visibility Editor"] = "";
+App::$strings["Click on a contact to add or remove."] = "";
+App::$strings["Visible To"] = "";
+App::$strings["\$Projectname channel"] = "ערוץ \$Projectname";
+App::$strings["%d rating"] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["Gender: "] = "מין: ";
+App::$strings["Status: "] = "מצב: ";
+App::$strings["Homepage: "] = "עמוד בית: ";
+App::$strings["Description:"] = "תיאור:";
+App::$strings["Public Forum:"] = "פורום פומבי:";
+App::$strings["Keywords: "] = "מילות מפתח: ";
+App::$strings["Don't suggest"] = "אל תציע";
+App::$strings["Common connections:"] = "חיבורים שכיחים:";
+App::$strings["Global Directory"] = "ספרייה גלובלית";
+App::$strings["Local Directory"] = "ספרייה מקומית";
+App::$strings["Finding:"] = "";
+App::$strings["next page"] = "עמוד הבא";
+App::$strings["previous page"] = "עמוד קודם";
+App::$strings["Sort options"] = "אפשרויות מיון";
+App::$strings["Alphabetic"] = "אלפבתי";
+App::$strings["Reverse Alphabetic"] = "";
+App::$strings["Newest to Oldest"] = "";
+App::$strings["Oldest to Newest"] = "";
+App::$strings["No entries (some entries may be hidden)."] = "";
+App::$strings["Public Sites"] = "";
+App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "";
+App::$strings["Rate this hub"] = "";
+App::$strings["Site URL"] = "URL אתר";
+App::$strings["Access Type"] = "טיפוס גישה";
+App::$strings["Registration Policy"] = "מדיניות רישום";
+App::$strings["Project"] = "פרויקט";
+App::$strings["View hub ratings"] = "";
+App::$strings["Rate"] = "";
+App::$strings["View ratings"] = "";
+App::$strings["This site is not a directory server"] = "";
+App::$strings["This directory server requires an access token"] = "";
+App::$strings["Item not found"] = "פריט לא נמצא";
+App::$strings["Delete block?"] = "";
+App::$strings["Insert YouTube video"] = "הכנס וידאו YouTube";
+App::$strings["Insert Vorbis [.ogg] video"] = "הכנס וידאו Vorbis [.ogg]&lrm;";
+App::$strings["Insert Vorbis [.ogg] audio"] = "הכנס אודיו Vorbis [.ogg]&lrm;";
+App::$strings["Edit Block"] = "";
+App::$strings["Delete layout?"] = "";
+App::$strings["Layout Description (Optional)"] = "";
+App::$strings["Layout Name"] = "";
+App::$strings["Edit Layout"] = "";
+App::$strings["Item is not editable"] = "פריט אינו עריך.";
+App::$strings["Delete item?"] = "למחוק פריט?";
+App::$strings["Edit post"] = "ערוך פוסט";
+App::$strings["Unable to find your hub."] = "";
+App::$strings["Post successful."] = "";
+App::$strings["Delete webpage?"] = "למחוק עמוד רשת?";
+App::$strings["Page link title"] = "";
+App::$strings["Edit Webpage"] = "ערוך עמוד רשת";
+App::$strings["Website:"] = "אתר רשת:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "";
+App::$strings["Rating (this information is public)"] = "";
+App::$strings["Optionally explain your rating (this information is public)"] = "";
+App::$strings["Calendar entries imported."] = "";
+App::$strings["No calendar entries found."] = "";
+App::$strings["Event can not end before it has started."] = "";
+App::$strings["Unable to generate preview."] = "";
+App::$strings["Event title and start time are required."] = "";
+App::$strings["Event not found."] = "אירוע לא נמצא.";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Edit event"] = "ערוך אירוע";
+App::$strings["Delete event"] = "מחק אירוע";
+App::$strings["calendar"] = "לוח שנה";
+App::$strings["Create New Event"] = "צור אירוע חדש";
+App::$strings["Export"] = "יצא";
+App::$strings["Import"] = "יבא";
+App::$strings["Event removed"] = "אירוע הוסר";
+App::$strings["Failed to remove event"] = "נכשל להסיר אירוע";
+App::$strings["Event details"] = "פרטי אירוע";
+App::$strings["Starting date and Title are required."] = "";
+App::$strings["Categories (comma-separated list)"] = "";
+App::$strings["Event Starts:"] = "אירוע מתחיל:";
+App::$strings["Finish date/time is not known or not relevant"] = "";
+App::$strings["Event Finishes:"] = "אירוע מסתיים:";
+App::$strings["Adjust for viewer timezone"] = "";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "";
+App::$strings["Title:"] = "כותרת:";
+App::$strings["Share this event"] = "שתף את אירוע זה";
+App::$strings["No ratings"] = "";
+App::$strings["Ratings"] = "";
+App::$strings["Rating: "] = "";
+App::$strings["Website: "] = "אתר רשת:";
+App::$strings["Description: "] = "תיאור: ";
+App::$strings["Select a bookmark folder"] = "";
+App::$strings["Save Bookmark"] = "";
+App::$strings["URL of bookmark"] = "";
+App::$strings["Or enter new bookmark folder name"] = "";
+App::$strings["- select -"] = "- בחר -";
+App::$strings["Permission Denied."] = "";
+App::$strings["File not found."] = "קובץ לא נמצא.";
+App::$strings["Edit file permissions"] = "";
+App::$strings["Set/edit permissions"] = "";
+App::$strings["Include all files and sub folders"] = "";
+App::$strings["Return to file list"] = "";
+App::$strings["Copy/paste this code to attach file to a post"] = "";
+App::$strings["Copy/paste this URL to link file from a web page"] = "";
+App::$strings["Share this file"] = "שתף את קובץ זה";
+App::$strings["Show URL to this file"] = "הצג URL לקובץ זה";
+App::$strings["Notify your contacts about this file"] = "";
+App::$strings["Channel added."] = "";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "";
+App::$strings["Passwords do not match."] = "";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "";
+App::$strings["Your registration is pending approval by the site owner."] = "";
+App::$strings["Your registration can not be processed."] = "";
+App::$strings["Registration on this site/hub is by approval only."] = "";
+App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
+App::$strings["Terms of Service"] = "תנאי שימוש";
+App::$strings["I accept the %s for this website"] = "אני מקבל את ה%s לאתר רשת זה";
+App::$strings["I am over 13 years of age and accept the %s for this website"] = "גילי מעל 13 שנה ואני מקבל את ה%s לאתר רשת זה";
+App::$strings["Membership on this site is by invitation only."] = "";
+App::$strings["Please enter your invitation code"] = "";
+App::$strings["Your email address"] = "כתובת דוא״ל שלך";
+App::$strings["Choose a password"] = "בחר סיסמה";
+App::$strings["Please re-enter your password"] = "בבקשה הזן שוב את סיסמתך";
+App::$strings["Contact not found."] = "איש קשר לא נמצא.";
+App::$strings["Friend suggestion sent."] = "";
+App::$strings["Suggest Friends"] = "";
+App::$strings["Suggest a friend for %s"] = "";
+App::$strings["Please login."] = "אנא התחבר.";
+App::$strings["Collection created."] = "";
+App::$strings["Could not create collection."] = "";
+App::$strings["Collection updated."] = "";
+App::$strings["Create a collection of channels."] = "";
+App::$strings["Collection Name: "] = "שם אוסף: ";
+App::$strings["Members are visible to other channels"] = "";
+App::$strings["Collection removed."] = "אוסף הוסר.";
+App::$strings["Unable to remove collection."] = "לא מסוגל להסיר אוסף.";
+App::$strings["Collection Editor"] = "";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "";
+App::$strings["Remove This Account"] = "הסר את חשבון זה";
+App::$strings["WARNING: "] = "אזהרה: ";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "";
+App::$strings["This action is permanent and can not be undone!"] = "";
+App::$strings["Please enter your password for verification:"] = "";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "";
+App::$strings["Remove Account"] = "הסר חשבון";
+App::$strings["Help:"] = "עזרה:";
+App::$strings["Not Found"] = "לא נמצא";
+App::$strings["\$Projectname Documentation"] = "תיעוד \$Projectname";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "";
+App::$strings["Remove This Channel"] = "";
+App::$strings["This channel will be completely removed from the network. "] = "";
+App::$strings["Remove this channel and all its clones from the network"] = "";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "";
+App::$strings["Remove Channel"] = "הסר ערוץ";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "ברוכים הבאים אל %s";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
+App::$strings["The error message was:"] = "";
+App::$strings["Authentication failed."] = "";
+App::$strings["Remote Authentication"] = "";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "";
+App::$strings["Authenticate"] = "";
+App::$strings["First Name"] = "שם פרטי";
+App::$strings["Last Name"] = "שם משפחה";
+App::$strings["Nickname"] = "שם כינוי";
+App::$strings["Full Name"] = "שם מלא";
+App::$strings["Profile Photo 16px"] = "";
+App::$strings["Profile Photo 32px"] = "";
+App::$strings["Profile Photo 48px"] = "";
+App::$strings["Profile Photo 64px"] = "";
+App::$strings["Profile Photo 80px"] = "";
+App::$strings["Profile Photo 128px"] = "";
+App::$strings["Timezone"] = "";
+App::$strings["Homepage URL"] = "";
+App::$strings["Birth Year"] = "שנת הולדת";
+App::$strings["Birth Month"] = "חודש הולדת";
+App::$strings["Birth Day"] = "יום הולדת";
+App::$strings["Birthdate"] = "יום הולדת";
+App::$strings["%s element installed"] = "";
+App::$strings["%s element installation failed"] = "";
+App::$strings["Items tagged with: %s"] = "";
+App::$strings["Search results for: %s"] = "";
+App::$strings["Your service plan only allows %d channels."] = "";
+App::$strings["Nothing to import."] = "אין דבר ליבא.";
+App::$strings["Unable to download data from old server"] = "";
+App::$strings["Imported file is empty."] = "";
+App::$strings["The data provided is not compatible with this project."] = "";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
+App::$strings["Channel clone failed. Import failed."] = "";
+App::$strings["Cloned channel not found. Import failed."] = "";
+App::$strings["You must be logged in to use this feature."] = "";
+App::$strings["Import Channel"] = "";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "";
+App::$strings["File to Upload"] = "";
+App::$strings["Or provide the old server/hub details"] = "";
+App::$strings["Your old identity address (xyz@example.com)"] = "";
+App::$strings["Your old login email address"] = "";
+App::$strings["Your old login password"] = "";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
+App::$strings["Make this hub my primary location"] = "";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "";
+App::$strings["No service class restrictions found."] = "";
+App::$strings["Total invitation limit exceeded."] = "";
+App::$strings["%s : Not a valid email address."] = "";
+App::$strings["Please join us on Red"] = "";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "";
+App::$strings["%s : Message delivery failed."] = "";
+App::$strings["%d message sent."] = array(
+ 0 => "",
+ 1 => "",
+);
+App::$strings["You have no more invitations available"] = "";
+App::$strings["Send invitations"] = "שלח הזמנות";
+App::$strings["Enter email addresses, one per line:"] = "הזן כתובות דוא״ל, אחת בכל שורה:";
+App::$strings["Please join my community on \$Projectname."] = "";
+App::$strings["You will need to supply this invitation code: "] = "";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "";
+App::$strings["or visit "] = "או בקר ";
+App::$strings["3. Click [Connect]"] = "3. לחץ [התחבר]";
+App::$strings["Name is required"] = "נדרש שם";
+App::$strings["Key and Secret are required"] = "";
+App::$strings["Diaspora Policy Settings updated."] = "הגדרות פוליסת Diaspora עודכנו.";
+App::$strings["Passwords do not match. Password unchanged."] = "";
+App::$strings["Empty passwords are not allowed. Password unchanged."] = "";
+App::$strings["Password changed."] = "סיסמה שונתה.";
+App::$strings["Password update failed. Please try again."] = "עדכון סיסמה נכשל. אנא נסה שוב.";
+App::$strings["Not valid email."] = "לא דוא״ל תקף.";
+App::$strings["Protected email address. Cannot change to that email."] = "כתובת דוא״ל מוגנת. לא מסוגל לשנות לדוא״ל זה.";
+App::$strings["System failure storing new email. Please try again."] = "";
+App::$strings["Settings updated."] = "הגדרות עודכנו.";
+App::$strings["Add application"] = "הוסף אפליקציה";
+App::$strings["Name of application"] = "שם של אפליקציה";
+App::$strings["Consumer Key"] = "מפתח צרכן";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "";
+App::$strings["Consumer Secret"] = "סוד צרכן";
+App::$strings["Redirect"] = "";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "";
+App::$strings["Icon url"] = "";
+App::$strings["Optional"] = "";
+App::$strings["You can't edit this application."] = "";
+App::$strings["Connected Apps"] = "אפליקציות מחוברות";
+App::$strings["Client key starts with"] = "";
+App::$strings["No name"] = "אין שם";
+App::$strings["Remove authorization"] = "";
+App::$strings["No feature settings configured"] = "";
+App::$strings["Feature/Addon Settings"] = "";
+App::$strings["Settings for the built-in Diaspora emulator"] = "";
+App::$strings["Allow any Diaspora member to comment on your public posts"] = "";
+App::$strings["Enable the Diaspora protocol for this channel"] = "";
+App::$strings["Diaspora Policy Settings"] = "";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "";
+App::$strings["Account Settings"] = "הגדרות חשבון";
+App::$strings["Enter New Password:"] = "הזן סיסמה חדשה:";
+App::$strings["Confirm New Password:"] = "אמת סיסמה חדשה:";
+App::$strings["Leave password fields blank unless changing"] = "";
+App::$strings["Email Address:"] = "כתובת דוא״ל:";
+App::$strings["Remove this account including all its channels"] = "";
+App::$strings["Off"] = "";
+App::$strings["On"] = "";
+App::$strings["Additional Features"] = "";
+App::$strings["Connector Settings"] = "";
+App::$strings["No special theme for mobile devices"] = "";
+App::$strings["%s - (Experimental)"] = "";
+App::$strings["Display Settings"] = "";
+App::$strings["Theme Settings"] = "";
+App::$strings["Custom Theme Settings"] = "";
+App::$strings["Content Settings"] = "";
+App::$strings["Display Theme:"] = "";
+App::$strings["Mobile Theme:"] = "";
+App::$strings["Enable user zoom on mobile devices"] = "";
+App::$strings["Update browser every xx seconds"] = "";
+App::$strings["Minimum of 10 seconds, no maximum"] = "";
+App::$strings["Maximum number of conversations to load at any time:"] = "";
+App::$strings["Maximum of 100 items"] = "";
+App::$strings["Show emoticons (smilies) as images"] = "";
+App::$strings["Link post titles to source"] = "";
+App::$strings["System Page Layout Editor - (advanced)"] = "";
+App::$strings["Use blog/list mode on channel page"] = "";
+App::$strings["(comments displayed separately)"] = "";
+App::$strings["Use blog/list mode on matrix page"] = "";
+App::$strings["Channel page max height of content (in pixels)"] = "";
+App::$strings["click to expand content exceeding this height"] = "";
+App::$strings["Matrix page max height of content (in pixels)"] = "";
+App::$strings["Nobody except yourself"] = "";
+App::$strings["Only those you specifically allow"] = "";
+App::$strings["Approved connections"] = "";
+App::$strings["Any connections"] = "";
+App::$strings["Anybody on this website"] = "";
+App::$strings["Anybody in this network"] = "";
+App::$strings["Anybody authenticated"] = "";
+App::$strings["Anybody on the internet"] = "";
+App::$strings["Publish your default profile in the network directory"] = "";
+App::$strings["Allow us to suggest you as a potential friend to new members?"] = "";
+App::$strings["Your channel address is"] = "";
+App::$strings["Channel Settings"] = "הגדרות ערוץ";
+App::$strings["Basic Settings"] = "הגדרות בסיסיות";
+App::$strings["Your Timezone:"] = "";
+App::$strings["Default Post Location:"] = "";
+App::$strings["Geographical location to display on your posts"] = "";
+App::$strings["Use Browser Location:"] = "";
+App::$strings["Adult Content"] = "תוכן מבוגרים";
+App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "";
+App::$strings["Security and Privacy Settings"] = "";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "";
+App::$strings["Hide my online presence"] = "";
+App::$strings["Prevents displaying in your profile that you are online"] = "";
+App::$strings["Simple Privacy Settings:"] = "";
+App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "";
+App::$strings["Private - <em>default private, never open or public</em>"] = "";
+App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "";
+App::$strings["Allow others to tag your posts"] = "";
+App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "";
+App::$strings["Advanced Privacy Settings"] = "הגדרות פרטיות מתקדמות";
+App::$strings["Expire other channel content after this many days"] = "";
+App::$strings["0 or blank prevents expiration"] = "";
+App::$strings["Maximum Friend Requests/Day:"] = "";
+App::$strings["May reduce spam activity"] = "";
+App::$strings["Default Post Permissions"] = "";
+App::$strings["(click to open/close)"] = "(לחץ כדי לפתוח/לסגור)";
+App::$strings["Channel permissions category:"] = "";
+App::$strings["Maximum private messages per day from unknown people:"] = "";
+App::$strings["Useful to reduce spamming"] = "";
+App::$strings["Notification Settings"] = "הגדרות התראה";
+App::$strings["By default post a status message when:"] = "";
+App::$strings["accepting a friend request"] = "";
+App::$strings["joining a forum/community"] = "";
+App::$strings["making an <em>interesting</em> profile change"] = "";
+App::$strings["Send a notification email when:"] = "";
+App::$strings["You receive a connection request"] = "";
+App::$strings["Your connections are confirmed"] = "";
+App::$strings["Someone writes on your profile wall"] = "";
+App::$strings["Someone writes a followup comment"] = "";
+App::$strings["You receive a private message"] = "";
+App::$strings["You receive a friend suggestion"] = "";
+App::$strings["You are tagged in a post"] = "";
+App::$strings["You are poked/prodded/etc. in a post"] = "";
+App::$strings["Show visual notifications including:"] = "";
+App::$strings["Unseen matrix activity"] = "פעילות מטריצה לא נראית";
+App::$strings["Unseen channel activity"] = "פעילות ערוץ לא נראית";
+App::$strings["Unseen private messages"] = "הודעות ערוץ לא נראות";
+App::$strings["Recommended"] = "";
+App::$strings["Upcoming events"] = "";
+App::$strings["Events today"] = "";
+App::$strings["Upcoming birthdays"] = "";
+App::$strings["Not available in all themes"] = "";
+App::$strings["System (personal) notifications"] = "";
+App::$strings["System info messages"] = "";
+App::$strings["System critical alerts"] = "";
+App::$strings["New connections"] = "חיבורים חדשים";
+App::$strings["System Registrations"] = "הרשמות מערכת";
+App::$strings["Also show new wall posts, private messages and connections under Notices"] = "";
+App::$strings["Notify me of events this many days in advance"] = "";
+App::$strings["Must be greater than 0"] = "";
+App::$strings["Advanced Account/Page Type Settings"] = "";
+App::$strings["Change the behaviour of this account for special situations"] = "";
+App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "";
+App::$strings["Miscellaneous Settings"] = "";
+App::$strings["Personal menu to display in your channel pages"] = "";
+App::$strings["Remove this channel."] = "הסר את ערוץ זה.";
+App::$strings["Unable to locate original post."] = "לא מסוגל לאתר פוסט מקורי.";
+App::$strings["Empty post discarded."] = "";
+App::$strings["Executable content type not permitted to this channel."] = "";
+App::$strings["System error. Post not saved."] = "";
+App::$strings["Unable to obtain post information from database."] = "";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "";
+App::$strings["\$Projectname Server - Setup"] = "";
+App::$strings["Could not connect to database."] = "";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
+App::$strings["Could not create table."] = "";
+App::$strings["Your site database has been installed."] = "";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "";
+App::$strings["System check"] = "";
+App::$strings["Check again"] = "בדוק שוב";
+App::$strings["Database connection"] = "חיבור מסד נתונים";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
+App::$strings["Database Server Name"] = "";
+App::$strings["Default is localhost"] = "";
+App::$strings["Database Port"] = "פורט מסד נתונים";
+App::$strings["Communication port number - use 0 for default"] = "";
+App::$strings["Database Login Name"] = "";
+App::$strings["Database Login Password"] = "";
+App::$strings["Database Name"] = "שם מסד נתונים";
+App::$strings["Database Type"] = "טיפוס מסד נתונים";
+App::$strings["Site administrator email address"] = "";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "";
+App::$strings["Website URL"] = "";
+App::$strings["Please use SSL (https) URL if available."] = "";
+App::$strings["Please select a default timezone for your website"] = "";
+App::$strings["Site settings"] = "הגדרות אתר";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "";
+App::$strings["PHP executable path"] = "";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "";
+App::$strings["Command line PHP"] = "";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "";
+App::$strings["This is required for message delivery to work."] = "";
+App::$strings["PHP register_argc_argv"] = "";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "";
+App::$strings["You can adjust these settings in the servers php.ini."] = "";
+App::$strings["PHP upload limits"] = "";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "";
+App::$strings["Generate encryption keys"] = "";
+App::$strings["libCurl PHP module"] = "";
+App::$strings["GD graphics PHP module"] = "";
+App::$strings["OpenSSL PHP module"] = "";
+App::$strings["mysqli or postgres PHP module"] = "";
+App::$strings["mb_string PHP module"] = "";
+App::$strings["mcrypt PHP module"] = "";
+App::$strings["xml PHP module"] = "";
+App::$strings["Apache mod_rewrite module"] = "";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "";
+App::$strings["proc_open"] = "";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "";
+App::$strings["Error: libCURL PHP module required but not installed."] = "";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
+App::$strings["Error: openssl PHP module required but not installed."] = "";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "";
+App::$strings["Error: mb_string PHP module required but not installed."] = "";
+App::$strings["Error: mcrypt PHP module required but not installed."] = "";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php הינו כתיב";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "";
+App::$strings["%s is writable"] = "%s הינו כתיב";
+App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "";
+App::$strings["store is writable"] = "";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "";
+App::$strings["SSL certificate validation"] = "הוכחת תקפות של תעודת SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "";
+App::$strings["Url rewrite is working"] = "";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "";
+App::$strings["Errors encountered creating database tables."] = "";
+App::$strings["<h1>What next</h1>"] = "<h1>מה הלאה</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
+App::$strings["Comanche page description language help"] = "";
+App::$strings["Layout Description"] = "";
+App::$strings["Download PDL file"] = "הורד קובץ PDL";
+App::$strings["Files: shared with me"] = "";
+App::$strings["NEW"] = "חדש";
+App::$strings["Remove all files"] = "הסר את כל הקבצים";
+App::$strings["Remove this file"] = "הסר את קובץ זה";
+App::$strings["Like/Dislike"] = "";
+App::$strings["This action is restricted to members."] = "";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "";
+App::$strings["Invalid request."] = "בקשה שגויה.";
+App::$strings["thing"] = "דבר";
+App::$strings["Channel unavailable."] = "עמוד לא זמין.";
+App::$strings["Previous action reversed."] = "";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "";
+App::$strings["Action completed."] = "פעולה הושלמה.";
+App::$strings["Thank you."] = "תודה.";
+App::$strings["Version %s"] = "";
+App::$strings["Installed plugins/addons/apps:"] = "";
+App::$strings["No installed plugins/addons/apps"] = "";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "";
+App::$strings["Tag: "] = "תגית: ";
+App::$strings["Last background fetch: "] = "";
+App::$strings["Running at web location"] = "";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "";
+App::$strings["Bug reports and issues: please visit"] = "";
+App::$strings["\$projectname issues"] = "סוגיות \$projectname";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "";
+App::$strings["Site Administrators"] = "מנהלי אתר";
+App::$strings["Remote privacy information not available."] = "";
+App::$strings["Visible to:"] = "";
+App::$strings["Location not found."] = "מיקום לא נמצא.";
+App::$strings["Primary location cannot be removed."] = "";
+App::$strings["No locations found."] = "לא נמצאו מיקומים.";
+App::$strings["Manage Channel Locations"] = "";
+App::$strings["Location (address)"] = "מיקום (כתובת)";
+App::$strings["Primary Location"] = "";
+App::$strings["Drop location"] = "";
+App::$strings["Failed to create source. No channel selected."] = "";
+App::$strings["Source created."] = "";
+App::$strings["Source updated."] = "";
+App::$strings["*"] = "*";
+App::$strings["Manage remote sources of content for your channel."] = "";
+App::$strings["New Source"] = "מקור חדש";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "";
+App::$strings["Only import content with these words (one per line)"] = "";
+App::$strings["Leave blank to import all public content"] = "";
+App::$strings["Channel Name"] = "שם ערוץ";
+App::$strings["Source not found."] = "מקור לא נמצא.";
+App::$strings["Edit Source"] = "ערוך מקור";
+App::$strings["Delete Source"] = "מחק מקור";
+App::$strings["Source removed"] = "מקור הוסר";
+App::$strings["Unable to remove source."] = "";
+App::$strings["No valid account found."] = "";
+App::$strings["Password reset request issued. Check your email."] = "";
+App::$strings["Site Member (%s)"] = "חבר אתר (%s)";
+App::$strings["Password reset requested at %s"] = "";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
+App::$strings["Password Reset"] = "איפוס סיסמה";
+App::$strings["Your password has been reset as requested."] = "";
+App::$strings["Your new password is"] = "הסיסמה החדשה שלך היא";
+App::$strings["Save or copy your new password - and then"] = "";
+App::$strings["click here to login"] = "לחץ כאן כדי להיכנס";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
+App::$strings["Your password has changed at %s"] = "";
+App::$strings["Forgot your Password?"] = "שכחת את הסיסמה שלך?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
+App::$strings["Email Address"] = "כתובת דוא״ל";
+App::$strings["Reset"] = "אפס";
+App::$strings["Unable to update menu."] = "";
+App::$strings["Unable to create menu."] = "";
+App::$strings["Menu Name"] = "שם תפריט";
+App::$strings["Unique name (not visible on webpage) - required"] = "";
+App::$strings["Menu Title"] = "כותרת תפריט";
+App::$strings["Visible on webpage - leave empty for no title"] = "";
+App::$strings["Allow Bookmarks"] = "";
+App::$strings["Menu may be used to store saved bookmarks"] = "";
+App::$strings["Submit and proceed"] = "";
+App::$strings["Drop"] = "";
+App::$strings["Bookmarks allowed"] = "";
+App::$strings["Delete this menu"] = "";
+App::$strings["Edit menu contents"] = "ערוך תכני תפריט";
+App::$strings["Edit this menu"] = "ערוך את תפריט זה";
+App::$strings["Menu could not be deleted."] = "תפריט לא יכול היה להימחק.";
+App::$strings["Menu not found."] = "תפריט לא נמצא.";
+App::$strings["Edit Menu"] = "ערוך תפריט";
+App::$strings["Add or remove entries to this menu"] = "";
+App::$strings["Menu name"] = "שם תפריט";
+App::$strings["Must be unique, only seen by you"] = "";
+App::$strings["Menu title"] = "כותרת תפריט";
+App::$strings["Menu title as seen by others"] = "";
+App::$strings["Allow bookmarks"] = "";
+App::$strings["Not found."] = "לא נמצא.";
+App::$strings["Conversation removed."] = "";
+App::$strings["No messages."] = "אין הודעות.";
+App::$strings["D, d M Y - g:i A"] = "";
+App::$strings["Unable to create element."] = "";
+App::$strings["Unable to update menu element."] = "";
+App::$strings["Unable to add menu element."] = "";
+App::$strings["Menu Item Permissions"] = "";
+App::$strings["Link Name"] = "שם קישור";
+App::$strings["Link or Submenu Target"] = "";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "";
+App::$strings["Use magic-auth if available"] = "";
+App::$strings["Open link in new window"] = "פתח בתוך חלון חדש";
+App::$strings["Order in list"] = "";
+App::$strings["Higher numbers will sink to bottom of listing"] = "";
+App::$strings["Submit and finish"] = "";
+App::$strings["Submit and continue"] = "";
+App::$strings["Menu:"] = "תפריט:";
+App::$strings["Link Target"] = "";
+App::$strings["Edit menu"] = "ערוך תפריט";
+App::$strings["Edit element"] = "ערוך אלמנט";
+App::$strings["Drop element"] = "";
+App::$strings["New element"] = "אלמנט חדש";
+App::$strings["Edit this menu container"] = "";
+App::$strings["Add menu element"] = "";
+App::$strings["Delete this menu item"] = "";
+App::$strings["Edit this menu item"] = "";
+App::$strings["Menu item not found."] = "";
+App::$strings["Menu item deleted."] = "";
+App::$strings["Menu item could not be deleted."] = "";
+App::$strings["Edit Menu Element"] = "";
+App::$strings["Link text"] = "";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "";
+App::$strings["Set your current mood and tell your friends"] = "";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
+App::$strings["Tag removed"] = "";
+App::$strings["Remove Item Tag"] = "";
+App::$strings["Select a tag to remove: "] = "";
+App::$strings["No such group"] = "";
+App::$strings["No such channel"] = "";
+App::$strings["Search Results For:"] = "";
+App::$strings["Collection is empty"] = "";
+App::$strings["Collection: "] = "אוסף: ";
+App::$strings["Connection: "] = "חיבור: ";
+App::$strings["Invalid connection."] = "חיבור שגוי.";
+App::$strings["OpenID protocol error. No ID returned."] = "";
+App::$strings["Add a Channel"] = "הוסף ערוץ";
+App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "";
+App::$strings["Choose a short nickname"] = "";
+App::$strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "";
+App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "";
+App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "";
+App::$strings["Channel Type"] = "טיפוס ערוץ";
+App::$strings["Read more about roles"] = "";
+App::$strings["Thing updated"] = "";
+App::$strings["Object store: failed"] = "";
+App::$strings["Thing added"] = "";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "";
+App::$strings["Show Thing"] = "";
+App::$strings["item not found."] = "פריט לא נמצא";
+App::$strings["Edit Thing"] = "";
+App::$strings["Select a profile"] = "בחר פרופיל";
+App::$strings["Post an activity"] = "פרסם פעילות";
+App::$strings["Only sends to viewers of the applicable profile"] = "";
+App::$strings["Name of thing e.g. something"] = "";
+App::$strings["URL of thing (optional)"] = "";
+App::$strings["URL for photo of thing (optional)"] = "";
+App::$strings["Add Thing to your Profile"] = "";
+App::$strings["Export Channel"] = "";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "";
+App::$strings["Export Content"] = "";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "";
+App::$strings["Export your posts from a given year or month:"] = "";
+App::$strings["You may also export your posts and conversations for a particular year or month. Click on one of the recent years or months below."] = "";
+App::$strings["Jan"] = "";
+App::$strings["Feb"] = "";
+App::$strings["Mar"] = "";
+App::$strings["Apr"] = "";
+App::$strings["Jun"] = "";
+App::$strings["Jul"] = "";
+App::$strings["Aug"] = "";
+App::$strings["Sep"] = "";
+App::$strings["Oct"] = "";
+App::$strings["Nov"] = "";
+App::$strings["Dec"] = "";
+App::$strings["If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "";
+App::$strings["Or adjust the date in your browser location bar to select other dates. For example the year 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> or the month September 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>"] = "";
+App::$strings["Please visit"] = "אנא בקר";
+App::$strings["on another hub to import the backup files(s)."] = "";
+App::$strings["We advise you to clone the channel on the new hub first and than to import the backup file(s) (from the same channel) in chronological order. Importing the backup files into another channel will certainly give permission issues."] = "";
+App::$strings["[Embedded content - reload page to view]"] = "";
+App::$strings["No connections."] = "אין חיבורים.";
+App::$strings["Visit %s's profile [%s]"] = "";
+App::$strings["Source of Item"] = "";
+App::$strings["Total votes"] = "";
+App::$strings["Average Rating"] = "";
+App::$strings["Page Title"] = "כותרת עמוד";
+App::$strings["Xchan Lookup"] = "";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "";
+App::$strings["invalid target signature"] = "";
+App::$strings["Schema Default"] = "";
+App::$strings["Sans-Serif"] = "";
+App::$strings["Monospace"] = "";
+App::$strings["Theme settings"] = "";
+App::$strings["Set scheme"] = "";
+App::$strings["Set font-size for posts and comments"] = "";
+App::$strings["Set font face"] = "";
+App::$strings["Set iconset"] = "";
+App::$strings["Set big shadow size, default 15px 15px 15px"] = "";
+App::$strings["Set small shadow size, default 5px 5px 5px"] = "";
+App::$strings["Set shadow color, default #000"] = "";
+App::$strings["Set radius size, default 5px"] = "";
+App::$strings["Set line-height for posts and comments"] = "";
+App::$strings["Set background image"] = "";
+App::$strings["Set background attachment"] = "";
+App::$strings["Set background color"] = "";
+App::$strings["Set section background image"] = "";
+App::$strings["Set section background color"] = "";
+App::$strings["Set color of items - use hex"] = "";
+App::$strings["Set color of links - use hex"] = "";
+App::$strings["Set max-width for items. Default 400px"] = "";
+App::$strings["Set min-width for items. Default 240px"] = "";
+App::$strings["Set the generic content wrapper width. Default 48%"] = "";
+App::$strings["Set color of fonts - use hex"] = "";
+App::$strings["Set background-size element"] = "";
+App::$strings["Item opacity"] = "";
+App::$strings["Display post previews only"] = "";
+App::$strings["Display side bar on channel page"] = "";
+App::$strings["Colour of the navigation bar"] = "";
+App::$strings["Item float"] = "";
+App::$strings["Left offset of the section element"] = "";
+App::$strings["Right offset of the section element"] = "";
+App::$strings["Section width"] = "";
+App::$strings["Left offset of the aside"] = "";
+App::$strings["Right offset of the aside element"] = "";
+App::$strings["Light (Red Matrix default)"] = "";
+App::$strings["Select scheme"] = "";
+App::$strings["Narrow navbar"] = "";
+App::$strings["Navigation bar background color"] = "";
+App::$strings["Navigation bar gradient top color"] = "";
+App::$strings["Navigation bar gradient bottom color"] = "";
+App::$strings["Navigation active button gradient top color"] = "";
+App::$strings["Navigation active button gradient bottom color"] = "";
+App::$strings["Navigation bar border color "] = "";
+App::$strings["Navigation bar icon color "] = "";
+App::$strings["Navigation bar active icon color "] = "";
+App::$strings["link color"] = "צבע קישור";
+App::$strings["Set font-color for banner"] = "";
+App::$strings["Set the background color"] = "";
+App::$strings["Set the background image"] = "";
+App::$strings["Set the background color of items"] = "";
+App::$strings["Set the background color of comments"] = "";
+App::$strings["Set the border color of comments"] = "";
+App::$strings["Set the indent for comments"] = "";
+App::$strings["Set the basic color for item icons"] = "";
+App::$strings["Set the hover color for item icons"] = "";
+App::$strings["Set font-size for the entire application"] = "";
+App::$strings["Example: 14px"] = "";
+App::$strings["Set font-color for posts and comments"] = "";
+App::$strings["Set radius of corners"] = "";
+App::$strings["Set shadow depth of photos"] = "";
+App::$strings["Set maximum width of content region in pixel"] = "";
+App::$strings["Leave empty for default width"] = "";
+App::$strings["Center page content"] = "";
+App::$strings["Set minimum opacity of nav bar - to hide it"] = "";
+App::$strings["Set size of conversation author photo"] = "";
+App::$strings["Set size of followup author photos"] = "";
+App::$strings["Update %s failed. See error logs."] = "";
+App::$strings["Update Error at %s"] = "";
+App::$strings["Create an account to access services and applications within the Red Matrix"] = "";
+App::$strings["Password"] = "סיסמה";
+App::$strings["Remember me"] = "זכור אותי";
+App::$strings["Forgot your password?"] = "שכחת את הסיסמה שלך?";
+App::$strings["toggle mobile"] = "";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "";
+App::$strings["[red] Website SSL error for %s"] = "";
+App::$strings["Cron/Scheduled tasks not running."] = "";
+App::$strings["[red] Cron tasks not running on %s"] = "";
diff --git a/view/he/update_fail_eml.tpl b/view/he/update_fail_eml.tpl
new file mode 100644
index 000000000..f0f8cbafe
--- /dev/null
+++ b/view/he/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+שלום,
+אני שרת הרשת באתר {{$sitename}};
+
+מפתחי Red Matrix שחררו עדכון {{$update}} לאחרונה,
+אולם כאשר ניסיתי להתקין אותו, משהו השתבש נורא.
+זה צריך להסתדר בקרוב וגם מצריך התערבות אנושית.
+אנא צור קשר עם מפתחי Red developer אם ביכולתך להבין כיצד
+לתקן זאת בעצמך. המסד נתונים שלי עלול להיות פגום.
+
+הודעת השגיאה היא '{{$error}}'.
+
+סליחה על האי נוחות.
+ שרת הרשת שלך באתר at {{$siteurl}} \ No newline at end of file
diff --git a/view/it/hmessages.po b/view/it/hmessages.po
index 975f99e1c..447fb3c2f 100644
--- a/view/it/hmessages.po
+++ b/view/it/hmessages.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-04-08 00:03-0700\n"
-"PO-Revision-Date: 2016-04-15 07:06+0000\n"
-"Last-Translator: Paolo Wave <pynolo@tarine.net>\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 09:14+0000\n"
+"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/Friendica/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,23 +20,11 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../Zotlabs/Zot/Auth.php:140
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
-
-#: ../../Zotlabs/Zot/Auth.php:248 ../../mod/openid.php:72
-#: ../../mod/openid.php:179
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
-
#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
msgid "parent"
msgstr "cartella superiore"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2633
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Cartella"
@@ -60,16 +48,16 @@ msgstr "Appuntamenti ricevuti"
msgid "Schedule Outbox"
msgstr "Appuntamenti inviati"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../include/widgets.php:1457
-#: ../../include/apps.php:360 ../../include/apps.php:415
-#: ../../include/conversation.php:1037 ../../mod/photos.php:793
-#: ../../mod/photos.php:1237
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
+#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Sconosciuto"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../include/apps.php:135
-#: ../../include/conversation.php:1654 ../../include/nav.php:93
-#: ../../mod/fbrowser.php:109
+#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Archivio file"
@@ -81,22 +69,24 @@ msgstr "Totale"
msgid "Shared"
msgstr "Condiviso"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:303
-#: ../../mod/blocks.php:152 ../../mod/layouts.php:175 ../../mod/menu.php:114
-#: ../../mod/new_channel.php:138 ../../mod/webpages.php:182
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Webpages.php:186
msgid "Create"
msgstr "Crea"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:305
-#: ../../include/widgets.php:1470 ../../mod/photos.php:820
-#: ../../mod/photos.php:1361 ../../mod/profile_photo.php:401
-#: ../../mod/cover_photo.php:353
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Carica"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../mod/chat.php:241
-#: ../../mod/admin.php:1158 ../../mod/settings.php:599
-#: ../../mod/settings.php:625 ../../mod/sharedwithme.php:95
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
msgstr "Nome"
@@ -104,4851 +94,785 @@ msgstr "Nome"
msgid "Type"
msgstr "Tipo"
-#: ../../Zotlabs/Storage/Browser.php:237 ../../include/text.php:1293
-#: ../../mod/sharedwithme.php:97
+#: ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Dimensione"
-#: ../../Zotlabs/Storage/Browser.php:238 ../../mod/sharedwithme.php:98
+#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Ultima modifica"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../include/ItemObject.php:100
-#: ../../include/apps.php:259 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/identity.php:931
-#: ../../include/identity.php:935 ../../include/menu.php:108
-#: ../../mod/blocks.php:153 ../../mod/connections.php:286
-#: ../../mod/connections.php:306 ../../mod/editblock.php:135
-#: ../../mod/editlayout.php:134 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:176 ../../mod/layouts.php:183
-#: ../../mod/menu.php:108 ../../mod/admin.php:1767 ../../mod/settings.php:659
-#: ../../mod/thing.php:256 ../../mod/webpages.php:183
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
+#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:310
+#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
+#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
+#: ../../include/menu.php:108 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Modifica"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../include/ItemObject.php:120
-#: ../../include/apps.php:260 ../../include/conversation.php:657
-#: ../../mod/blocks.php:155 ../../mod/connections.php:259
-#: ../../mod/connedit.php:569 ../../mod/editblock.php:181
-#: ../../mod/editlayout.php:179 ../../mod/editwebpage.php:223
-#: ../../mod/group.php:173 ../../mod/photos.php:1168 ../../mod/admin.php:993
-#: ../../mod/admin.php:1152 ../../mod/admin.php:1768
-#: ../../mod/settings.php:660 ../../mod/thing.php:257
-#: ../../mod/webpages.php:185
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:572
+#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Editlayout.php:136
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Elimina"
-#: ../../Zotlabs/Storage/Browser.php:282
+#: ../../Zotlabs/Storage/Browser.php:285
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Stai usando %1$s dello spazio disponibile per i tuoi file."
-#: ../../Zotlabs/Storage/Browser.php:287
+#: ../../Zotlabs/Storage/Browser.php:290
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Stai usando %1$s di %2$s che hai a disposizione per i file. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:299
+#: ../../Zotlabs/Storage/Browser.php:302
msgid "WARNING:"
msgstr "ATTENZIONE:"
-#: ../../Zotlabs/Storage/Browser.php:302
+#: ../../Zotlabs/Storage/Browser.php:305
msgid "Create new folder"
msgstr "Nuova cartella"
-#: ../../Zotlabs/Storage/Browser.php:304
+#: ../../Zotlabs/Storage/Browser.php:307
msgid "Upload file"
msgstr "Carica un file"
-#: ../../Zotlabs/Web/Router.php:47 ../../include/attach.php:141
-#: ../../include/attach.php:189 ../../include/attach.php:252
-#: ../../include/attach.php:266 ../../include/attach.php:273
-#: ../../include/attach.php:338 ../../include/attach.php:352
-#: ../../include/attach.php:359 ../../include/attach.php:437
-#: ../../include/attach.php:895 ../../include/attach.php:966
-#: ../../include/attach.php:1118 ../../include/items.php:4671
-#: ../../include/photos.php:29 ../../include/chat.php:133
-#: ../../mod/achievements.php:30 ../../mod/api.php:26 ../../mod/api.php:31
-#: ../../mod/appman.php:66 ../../mod/authtest.php:13 ../../mod/block.php:22
-#: ../../mod/block.php:72 ../../mod/blocks.php:69 ../../mod/blocks.php:76
-#: ../../mod/bookmarks.php:48 ../../mod/channel.php:100
-#: ../../mod/channel.php:217 ../../mod/channel.php:257 ../../mod/chat.php:94
-#: ../../mod/chat.php:99 ../../mod/common.php:35 ../../mod/connections.php:29
-#: ../../mod/connedit.php:362 ../../mod/editblock.php:65
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
-#: ../../mod/editwebpage.php:125 ../../mod/events.php:260
-#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
-#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
-#: ../../mod/fsuggest.php:78 ../../mod/group.php:9 ../../mod/id.php:71
-#: ../../mod/invite.php:13 ../../mod/invite.php:87 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:1069 ../../mod/layouts.php:69
-#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/like.php:177
-#: ../../mod/locs.php:83 ../../mod/mail.php:126 ../../mod/manage.php:6
-#: ../../mod/menu.php:74 ../../mod/message.php:16 ../../mod/mitem.php:111
-#: ../../mod/mood.php:112 ../../mod/network.php:12
-#: ../../mod/new_channel.php:73 ../../mod/new_channel.php:100
-#: ../../mod/notifications.php:66 ../../mod/page.php:31 ../../mod/page.php:86
-#: ../../mod/pdledit.php:22 ../../mod/photos.php:70 ../../mod/poke.php:133
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/profile_photo.php:289 ../../mod/profile_photo.php:302
-#: ../../mod/profiles.php:198 ../../mod/profiles.php:596
-#: ../../mod/rate.php:111 ../../mod/register.php:73 ../../mod/regmod.php:17
-#: ../../mod/service_limits.php:7 ../../mod/settings.php:579
-#: ../../mod/setup.php:233 ../../mod/sharedwithme.php:7
-#: ../../mod/sources.php:66 ../../mod/suggest.php:26 ../../mod/thing.php:270
-#: ../../mod/thing.php:290 ../../mod/thing.php:327
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69
-#: ../../mod/cover_photo.php:273 ../../mod/cover_photo.php:286
-#: ../../index.php:185
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Cover_photo.php:277
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:69
+#: ../../Zotlabs/Module/Editwebpage.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:105
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Filestorage.php:79
+#: ../../Zotlabs/Module/Filestorage.php:94
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Profile_photo.php:256
+#: ../../Zotlabs/Module/Profile_photo.php:269
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:437 ../../include/attach.php:895
+#: ../../include/attach.php:966 ../../include/attach.php:1118
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Permesso negato."
-#: ../../Zotlabs/Web/Router.php:105 ../../mod/help.php:231
+#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
msgid "Not Found"
msgstr "Non disponibile"
-#: ../../Zotlabs/Web/Router.php:108 ../../mod/block.php:75
-#: ../../mod/display.php:110 ../../mod/help.php:234 ../../mod/page.php:89
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Page.php:93
msgid "Page not found."
msgstr "Pagina non trovata."
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Messaggio privato"
-
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Scegli"
-
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "Salva nella cartella"
-
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Parteciperò"
-
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "Non parteciperò"
-
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Forse parteciperò"
-
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "Sono d'accordo"
-
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "Non sono d'accordo"
-
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "Mi astengo"
-
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1733 ../../mod/photos.php:1121
-#: ../../mod/photos.php:1133
-msgid "View all"
-msgstr "Vedi tutto"
-
-#: ../../include/ItemObject.php:179 ../../include/conversation.php:1757
-#: ../../include/taxonomy.php:415 ../../include/identity.php:1298
-#: ../../mod/photos.php:1125
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Mi piace"
-msgstr[1] "Mi piace"
-
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1760
-#: ../../mod/photos.php:1130
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Non mi piace"
-msgstr[1] "Non mi piace"
-
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Aggiungi ai preferiti"
-
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Rimuovi dai preferiti"
-
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "Attiva/disattiva preferito"
-
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "preferito"
-
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Messaggio con firma verificata"
-
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Massaggio con firma non corretta"
-
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Aggiungi un tag"
-
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:1065
-msgid "I like this (toggle)"
-msgstr "Attiva/disattiva Mi piace"
-
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:328
-msgid "like"
-msgstr "mi piace"
-
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:1066
-msgid "I don't like this (toggle)"
-msgstr "Attiva/disattiva Non mi piace"
-
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:329
-msgid "dislike"
-msgstr "non mi piace"
-
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Condividi"
-
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "condividi"
-
-#: ../../include/ItemObject.php:268
-msgid "Delivery Report"
-msgstr "Rapporto di trasmissione"
-
-#: ../../include/ItemObject.php:286
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commento"
-msgstr[1] "%d commenti"
-
-#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Guarda il profilo di %s - %s"
-
-#: ../../include/ItemObject.php:319
-msgid "to"
-msgstr "a"
-
-#: ../../include/ItemObject.php:320
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:321
-msgid "Wall-to-Wall"
-msgstr "Da bacheca a bacheca"
-
-#: ../../include/ItemObject.php:322
-msgid "via Wall-To-Wall:"
-msgstr "da bacheca a bacheca:"
-
-#: ../../include/ItemObject.php:334 ../../include/conversation.php:719
-#, php-format
-msgid "from %s"
-msgstr "da %s"
-
-#: ../../include/ItemObject.php:337 ../../include/conversation.php:722
-#, php-format
-msgid "last edited: %s"
-msgstr "ultima modifica: %s"
-
-#: ../../include/ItemObject.php:338 ../../include/conversation.php:723
-#, php-format
-msgid "Expires: %s"
-msgstr "Scadenza: %s"
-
-#: ../../include/ItemObject.php:362
-msgid "Save Bookmarks"
-msgstr "Salva segnalibro"
-
-#: ../../include/ItemObject.php:363
-msgid "Add to Calendar"
-msgstr "Aggiungi al calendario"
-
-#: ../../include/ItemObject.php:372
-msgid "Mark all seen"
-msgstr "Marca tutto come letto"
-
-#: ../../include/ItemObject.php:378 ../../mod/photos.php:1251
-msgctxt "noun"
-msgid "Likes"
-msgstr "Mi piace"
-
-#: ../../include/ItemObject.php:379 ../../mod/photos.php:1252
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Non mi piace"
-
-#: ../../include/ItemObject.php:384 ../../include/acl_selectors.php:252
-#: ../../mod/photos.php:1257
-msgid "Close"
-msgstr "Chiudi"
-
-#: ../../include/ItemObject.php:389 ../../include/conversation.php:740
-#: ../../include/conversation.php:1242 ../../mod/editblock.php:150
-#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:190 ../../mod/photos.php:1068
-msgid "Please wait"
-msgstr "Attendere"
-
-#: ../../include/ItemObject.php:413 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] mostra tutto"
-
-#: ../../include/ItemObject.php:700 ../../mod/photos.php:1084
-#: ../../mod/photos.php:1202
-msgid "This is you"
-msgstr "Questo sei tu"
-
-#: ../../include/ItemObject.php:702 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1086 ../../mod/photos.php:1204
-msgid "Comment"
-msgstr "Commento"
-
-#: ../../include/ItemObject.php:703 ../../include/widgets.php:708
-#: ../../include/widgets.php:720 ../../include/js_strings.php:22
-#: ../../mod/appman.php:99 ../../mod/chat.php:190 ../../mod/chat.php:232
-#: ../../mod/connect.php:93 ../../mod/connedit.php:729
-#: ../../mod/events.php:468 ../../mod/events.php:665
-#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
-#: ../../mod/group.php:81 ../../mod/import.php:549
-#: ../../mod/import_items.php:116 ../../mod/invite.php:142
-#: ../../mod/locs.php:117 ../../mod/mail.php:380 ../../mod/mitem.php:231
-#: ../../mod/mood.php:135 ../../mod/pconfig.php:108 ../../mod/pdledit.php:62
-#: ../../mod/photos.php:672 ../../mod/photos.php:1047
-#: ../../mod/photos.php:1087 ../../mod/photos.php:1205 ../../mod/admin.php:457
-#: ../../mod/admin.php:646 ../../mod/admin.php:721 ../../mod/admin.php:986
-#: ../../mod/admin.php:1150 ../../mod/admin.php:1326 ../../mod/admin.php:1521
-#: ../../mod/admin.php:1606 ../../mod/admin.php:1770 ../../mod/poke.php:182
-#: ../../mod/profiles.php:687 ../../mod/rate.php:168
-#: ../../mod/settings.php:597 ../../mod/settings.php:710
-#: ../../mod/settings.php:738 ../../mod/settings.php:761
-#: ../../mod/settings.php:849 ../../mod/settings.php:1041
-#: ../../mod/setup.php:336 ../../mod/setup.php:377 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/thing.php:312 ../../mod/thing.php:358
-#: ../../mod/xchan.php:11 ../../mod/cal.php:332
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Salva"
-
-#: ../../include/ItemObject.php:704 ../../include/conversation.php:1214
-#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
-#: ../../mod/editpost.php:113 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr "Grassetto"
-
-#: ../../include/ItemObject.php:705 ../../include/conversation.php:1215
-#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
-#: ../../mod/editpost.php:114 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr "Corsivo"
-
-#: ../../include/ItemObject.php:706 ../../include/conversation.php:1216
-#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
-#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr "Sottolineato"
-
-#: ../../include/ItemObject.php:707 ../../include/conversation.php:1217
-#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr "Citazione"
-
-#: ../../include/ItemObject.php:708 ../../include/conversation.php:1218
-#: ../../mod/editblock.php:140 ../../mod/editlayout.php:139
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr "Codice"
-
-#: ../../include/ItemObject.php:709
-msgid "Image"
-msgstr "Immagine"
-
-#: ../../include/ItemObject.php:710
-msgid "Insert Link"
-msgstr "Collegamento"
-
-#: ../../include/ItemObject.php:711
-msgid "Video"
-msgstr "Video"
-
-#: ../../include/ItemObject.php:712 ../../include/conversation.php:1184
-#: ../../include/page_widgets.php:40 ../../mod/editblock.php:171
-#: ../../mod/editpost.php:149 ../../mod/editwebpage.php:212
-#: ../../mod/events.php:465 ../../mod/photos.php:1088
-#: ../../mod/webpages.php:190
-msgid "Preview"
-msgstr "Anteprima"
-
-#: ../../include/ItemObject.php:715 ../../include/conversation.php:1272
-#: ../../mod/chat.php:200 ../../mod/editpost.php:157 ../../mod/mail.php:255
-#: ../../mod/mail.php:385
-msgid "Encrypt text"
-msgstr "Cifratura del messaggio"
-
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Impossibile trovare il nome utente nel file da importare."
-
-#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
-
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:509
-msgid "Import completed."
-msgstr "L'importazione è terminata con successo."
-
-#: ../../include/widgets.php:46 ../../include/contact_widgets.php:95
-#: ../../include/taxonomy.php:282
-msgid "Categories"
-msgstr "Categorie"
-
-#: ../../include/widgets.php:102 ../../include/nav.php:159
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "App"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
-
-#: ../../include/widgets.php:105 ../../include/conversation.php:1541
-#: ../../mod/profiles.php:696
-msgid "Personal"
-msgstr "Personali"
-
-#: ../../include/widgets.php:106
-msgid "Create Personal App"
-msgstr "Crea app personale"
-
-#: ../../include/widgets.php:107
-msgid "Edit Personal App"
-msgstr "Modifica app personale"
-
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-#: ../../include/conversation.php:961 ../../include/identity.php:1008
-#: ../../include/Contact.php:101 ../../mod/directory.php:321
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
-msgid "Connect"
-msgstr "Aggiungi"
-
-#: ../../include/widgets.php:149 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignora/nascondi"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Suggerimenti"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Altro..."
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Aggiungi un contatto"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Indirizzo del canale"
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Per esempio: bob@example.com, https://example.com/barbara"
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Note"
-
-#: ../../include/widgets.php:201 ../../include/text.php:905
-#: ../../include/text.php:917 ../../mod/filer.php:49 ../../mod/admin.php:1687
-#: ../../mod/admin.php:1707 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100
-msgid "Save"
-msgstr "Salva"
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Rimuovi termine"
-
-#: ../../include/widgets.php:281 ../../include/features.php:84
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
-
-#: ../../include/widgets.php:282 ../../include/group.php:316
-msgid "add"
-msgstr "aggiungi"
-
-#: ../../include/widgets.php:310 ../../include/contact_widgets.php:57
-#: ../../include/features.php:97
-msgid "Saved Folders"
-msgstr "Cartelle salvate"
-
-#: ../../include/widgets.php:313 ../../include/contact_widgets.php:60
-#: ../../include/contact_widgets.php:98
-msgid "Everything"
-msgstr "Tutto"
-
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Archivi"
-
-#: ../../include/widgets.php:444 ../../mod/connedit.php:589
-msgid "Me"
-msgstr "Me"
-
-#: ../../include/widgets.php:445 ../../mod/connedit.php:590
-msgid "Family"
-msgstr "Famiglia"
-
-#: ../../include/widgets.php:446 ../../include/profile_selectors.php:80
-#: ../../include/identity.php:389 ../../include/identity.php:390
-#: ../../include/identity.php:397 ../../mod/connedit.php:591
-#: ../../mod/settings.php:349 ../../mod/settings.php:353
-#: ../../mod/settings.php:354 ../../mod/settings.php:357
-#: ../../mod/settings.php:368
-msgid "Friends"
-msgstr "Amici"
-
-#: ../../include/widgets.php:447 ../../mod/connedit.php:592
-msgid "Acquaintances"
-msgstr "Conoscenti"
-
-#: ../../include/widgets.php:448 ../../mod/connections.php:88
-#: ../../mod/connections.php:103 ../../mod/connedit.php:593
-msgid "All"
-msgstr "Tutti"
-
-#: ../../include/widgets.php:467
-msgid "Refresh"
-msgstr "Aggiorna"
-
-#: ../../include/widgets.php:507
-msgid "Account settings"
-msgstr "Il tuo account"
-
-#: ../../include/widgets.php:513
-msgid "Channel settings"
-msgstr "Impostazioni del canale"
-
-#: ../../include/widgets.php:522
-msgid "Additional features"
-msgstr "Funzionalità opzionali"
-
-#: ../../include/widgets.php:529
-msgid "Feature/Addon settings"
-msgstr "Componenti aggiuntivi"
-
-#: ../../include/widgets.php:535
-msgid "Display settings"
-msgstr "Aspetto"
-
-#: ../../include/widgets.php:542
-msgid "Manage locations"
-msgstr "Gestione repliche"
-
-#: ../../include/widgets.php:551
-msgid "Export channel"
-msgstr "Esporta il canale"
-
-#: ../../include/widgets.php:558
-msgid "Connected apps"
-msgstr "App connesse"
-
-#: ../../include/widgets.php:565 ../../mod/connedit.php:701
-msgid "Connection Default Permissions"
-msgstr "Permessi predefiniti dei nuovi contatti"
-
-#: ../../include/widgets.php:573
-msgid "Premium Channel Settings"
-msgstr "Canale premium - impostazioni"
-
-#: ../../include/widgets.php:581 ../../include/features.php:71
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Sorgenti del canale"
-
-#: ../../include/widgets.php:589 ../../include/apps.php:134
-#: ../../include/nav.php:205 ../../mod/admin.php:1266 ../../mod/admin.php:1488
-msgid "Settings"
-msgstr "Impostazioni"
-
-#: ../../include/widgets.php:602
-msgid "Private Mail Menu"
-msgstr "Menu messaggi privati"
-
-#: ../../include/widgets.php:604
-msgid "Combined View"
-msgstr "Vista combinata"
-
-#: ../../include/widgets.php:609 ../../include/nav.php:193
-msgid "Inbox"
-msgstr "In arrivo"
-
-#: ../../include/widgets.php:614 ../../include/nav.php:194
-msgid "Outbox"
-msgstr "Inviati"
-
-#: ../../include/widgets.php:619 ../../include/nav.php:195
-msgid "New Message"
-msgstr "Nuovo messaggio"
-
-#: ../../include/widgets.php:636 ../../include/widgets.php:648
-msgid "Conversations"
-msgstr "Conversazioni"
-
-#: ../../include/widgets.php:640
-msgid "Received Messages"
-msgstr "Ricevuti"
-
-#: ../../include/widgets.php:644
-msgid "Sent Messages"
-msgstr "Inviati"
-
-#: ../../include/widgets.php:658
-msgid "No messages."
-msgstr "Nessun messaggio."
-
-#: ../../include/widgets.php:676
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
-
-#: ../../include/widgets.php:702
-msgid "Events Menu"
-msgstr "Menu eventi"
-
-#: ../../include/widgets.php:703
-msgid "Day View"
-msgstr "Eventi del giorno"
-
-#: ../../include/widgets.php:704
-msgid "Week View"
-msgstr "Eventi della settimana"
-
-#: ../../include/widgets.php:705
-msgid "Month View"
-msgstr "Eventi del mese"
-
-#: ../../include/widgets.php:706 ../../mod/events.php:661
-#: ../../mod/cal.php:328
-msgid "Export"
-msgstr "Esporta"
-
-#: ../../include/widgets.php:707 ../../mod/events.php:664
-#: ../../mod/cal.php:331
-msgid "Import"
-msgstr "Importa"
-
-#: ../../include/widgets.php:717
-msgid "Events Tools"
-msgstr "Gestione eventi"
-
-#: ../../include/widgets.php:718
-msgid "Export Calendar"
-msgstr "Esporta calendario"
-
-#: ../../include/widgets.php:719
-msgid "Import Calendar"
-msgstr "Importa calendario"
-
-#: ../../include/widgets.php:794 ../../include/conversation.php:1678
-#: ../../include/conversation.php:1681
-msgid "Chatrooms"
-msgstr "Chat"
-
-#: ../../include/widgets.php:798
-msgid "Overview"
-msgstr "Riepilogo"
-
-#: ../../include/widgets.php:805
-msgid "Chat Members"
-msgstr "Partecipanti"
-
-#: ../../include/widgets.php:828
-msgid "Bookmarked Chatrooms"
-msgstr "Chat nei segnalibri"
-
-#: ../../include/widgets.php:851
-msgid "Suggested Chatrooms"
-msgstr "Chat suggerite"
-
-#: ../../include/widgets.php:996 ../../include/widgets.php:1108
-msgid "photo/image"
-msgstr "foto/immagine"
-
-#: ../../include/widgets.php:1051
-msgid "Click to show more"
-msgstr "Clicca per mostrare tutto"
-
-#: ../../include/widgets.php:1202
-msgid "Rating Tools"
-msgstr "Valutazione"
-
-#: ../../include/widgets.php:1206 ../../include/widgets.php:1208
-msgid "Rate Me"
-msgstr "Valutami"
-
-#: ../../include/widgets.php:1211
-msgid "View Ratings"
-msgstr "Vedi le valutazioni ricevute"
-
-#: ../../include/widgets.php:1222 ../../mod/pubsites.php:18
-msgid "Public Hubs"
-msgstr "Hub pubblici"
-
-#: ../../include/widgets.php:1268
-msgid "Forums"
-msgstr "Forum"
-
-#: ../../include/widgets.php:1297
-msgid "Tasks"
-msgstr "Attività"
-
-#: ../../include/widgets.php:1306
-msgid "Documentation"
-msgstr "Guida"
-
-#: ../../include/widgets.php:1308
-msgid "Project/Site Information"
-msgstr "Informazioni sul sito/progetto"
-
-#: ../../include/widgets.php:1309
-msgid "For Members"
-msgstr "Per gli utenti"
-
-#: ../../include/widgets.php:1310
-msgid "For Administrators"
-msgstr "Per gli amministratori"
-
-#: ../../include/widgets.php:1311
-msgid "For Developers"
-msgstr "Per sviluppatori"
-
-#: ../../include/widgets.php:1334 ../../mod/admin.php:456
-msgid "Site"
-msgstr "Sito"
-
-#: ../../include/widgets.php:1335
-msgid "Accounts"
-msgstr "Account"
-
-#: ../../include/widgets.php:1335 ../../include/widgets.php:1373
-msgid "Member registrations waiting for confirmation"
-msgstr "Richieste in attesa di conferma"
-
-#: ../../include/widgets.php:1336 ../../mod/admin.php:1149
-msgid "Channels"
-msgstr "Canali"
-
-#: ../../include/widgets.php:1337 ../../mod/admin.php:710
-msgid "Security"
-msgstr "Sicurezza"
-
-#: ../../include/widgets.php:1338 ../../include/apps.php:152
-msgid "Features"
-msgstr "Funzionalità"
-
-#: ../../include/widgets.php:1339 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1325
-msgid "Plugins"
-msgstr "Plugin"
-
-#: ../../include/widgets.php:1340 ../../mod/admin.php:1486
-#: ../../mod/admin.php:1520
-msgid "Themes"
-msgstr "Temi"
-
-#: ../../include/widgets.php:1341
-msgid "Inspect queue"
-msgstr "Coda di attesa"
-
-#: ../../include/widgets.php:1342 ../../mod/admin.php:1760
-msgid "Profile Fields"
-msgstr "Campi del profilo"
-
-#: ../../include/widgets.php:1343
-msgid "DB updates"
-msgstr "Aggiornamenti al DB"
-
-#: ../../include/widgets.php:1361 ../../include/widgets.php:1371
-#: ../../mod/admin.php:1605
-msgid "Logs"
-msgstr "Log"
-
-#: ../../include/widgets.php:1368 ../../include/nav.php:213
-msgid "Admin"
-msgstr "Amministrazione"
-
-#: ../../include/widgets.php:1369
-msgid "Plugin Features"
-msgstr "Plugin"
-
-#: ../../include/widgets.php:1451 ../../mod/photos.php:787
-#: ../../mod/photos.php:1328
-msgid "View Photo"
-msgstr "Guarda la foto"
-
-#: ../../include/widgets.php:1468 ../../mod/photos.php:818
-msgid "Edit Album"
-msgstr "Modifica album"
-
-#: ../../include/activities.php:42
-msgid " and "
-msgstr "e"
-
-#: ../../include/activities.php:50
-msgid "public profile"
-msgstr "profilo pubblico"
-
-#: ../../include/activities.php:59
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
-
-#: ../../include/activities.php:60
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Guarda %2$s di %1$s "
-
-#: ../../include/activities.php:63
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Diario pubblico"
-
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Amministrazione sito"
-
-#: ../../include/apps.php:129 ../../include/conversation.php:1691
-#: ../../include/nav.php:102
-msgid "Bookmarks"
-msgstr "Segnalibri"
-
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Rubrica"
-
-#: ../../include/apps.php:131 ../../include/nav.php:110 ../../boot.php:1580
-msgid "Login"
-msgstr "Accedi"
-
-#: ../../include/apps.php:132 ../../include/nav.php:203
-#: ../../mod/manage.php:158
-msgid "Channel Manager"
-msgstr "Gestione canali"
-
-#: ../../include/apps.php:133 ../../include/nav.php:176
-msgid "Grid"
-msgstr "Rete"
-
-#: ../../include/apps.php:136 ../../include/conversation.php:1701
-#: ../../include/nav.php:106 ../../mod/webpages.php:180
-msgid "Webpages"
-msgstr "Pagine web"
-
-#: ../../include/apps.php:137 ../../include/nav.php:179
-msgid "Channel Home"
-msgstr "Bacheca del canale"
-
-#: ../../include/apps.php:138 ../../include/identity.php:1389
-#: ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profilo"
-
-#: ../../include/apps.php:139 ../../include/conversation.php:1647
-#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto"
-
-#: ../../include/apps.php:140 ../../include/conversation.php:1664
-#: ../../include/conversation.php:1667 ../../include/nav.php:198
-msgid "Events"
-msgstr "Eventi"
-
-#: ../../include/apps.php:141 ../../include/nav.php:164
-msgid "Directory"
-msgstr "Elenchi pubblici dei canali"
-
-#: ../../include/apps.php:142 ../../include/nav.php:155 ../../mod/help.php:222
-#: ../../mod/help.php:227 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Guida"
-
-#: ../../include/apps.php:143 ../../include/nav.php:190
-msgid "Mail"
-msgstr "Messaggi"
-
-#: ../../include/apps.php:144 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Umore"
-
-#: ../../include/apps.php:145 ../../include/conversation.php:965
-#: ../../mod/poke.php:164
-msgid "Poke"
-msgstr "Poke"
-
-#: ../../include/apps.php:146 ../../include/nav.php:96
-msgid "Chat"
-msgstr "Chat"
-
-#: ../../include/apps.php:147 ../../include/nav.php:161
-#: ../../include/text.php:904 ../../include/text.php:916
-#: ../../mod/connections.php:302 ../../mod/search.php:40
-msgid "Search"
-msgstr "Cerca"
-
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Diagnostica"
-
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Suggerisci"
-
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Canale casuale"
-
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Invita"
-
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Lingua"
-
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Post"
-
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Foto del profilo"
-
-#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:623
-msgid "Update"
-msgstr "Aggiorna"
-
-#: ../../include/apps.php:252
-msgid "Install"
-msgstr "Installa"
-
-#: ../../include/apps.php:257
-msgid "Purchase"
-msgstr "Acquista"
-
-#: ../../include/auth.php:105
-msgid "Logged out."
-msgstr "Uscita effettuata."
-
-#: ../../include/auth.php:246
-msgid "Failed authentication"
-msgstr "Autenticazione fallita"
-
-#: ../../include/auth.php:260 ../../mod/openid.php:189
-msgid "Login failed."
-msgstr "Accesso fallito."
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:803
-#: ../../include/bbcode.php:806 ../../include/bbcode.php:811
-#: ../../include/bbcode.php:814 ../../include/bbcode.php:817
-#: ../../include/bbcode.php:820 ../../include/bbcode.php:825
-#: ../../include/bbcode.php:828 ../../include/bbcode.php:833
-#: ../../include/bbcode.php:836 ../../include/bbcode.php:839
-#: ../../include/bbcode.php:842
-msgid "Image/photo"
-msgstr "Immagine"
-
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:853
-msgid "Encrypted content"
-msgstr "Contenuto cifrato"
-
-#: ../../include/bbcode.php:179
-#, php-format
-msgid "Install %s element: "
-msgstr "Installa l'elemento %s:"
-
-#: ../../include/bbcode.php:183
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
-
-#: ../../include/bbcode.php:193 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "pagina web"
-
-#: ../../include/bbcode.php:196 ../../mod/impel.php:47
-msgid "layout"
-msgstr "layout"
-
-#: ../../include/bbcode.php:199 ../../mod/impel.php:42
-msgid "block"
-msgstr "block"
-
-#: ../../include/bbcode.php:202 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
-
-#: ../../include/bbcode.php:257
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s ha scritto %2$s %3$s"
-
-#: ../../include/bbcode.php:259 ../../mod/tagger.php:51
-msgid "post"
-msgstr "il post"
-
-#: ../../include/bbcode.php:547
-msgid "Different viewers will see this text differently"
-msgstr "Ad altri questo testo potrebbe apparire in modo differente"
-
-#: ../../include/bbcode.php:764
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:791
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
-
-#: ../../include/bb2diaspora.php:376
-msgid "Attachments:"
-msgstr "Allegati:"
-
-#: ../../include/bb2diaspora.php:465 ../../include/event.php:22
-#: ../../include/text.php:1437
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
-
-#: ../../include/bb2diaspora.php:467
-msgid "$Projectname event notification:"
-msgstr "Notifica evento $Projectname:"
-
-#: ../../include/bb2diaspora.php:471 ../../include/event.php:30
-#: ../../include/text.php:1441
-msgid "Starts:"
-msgstr "Inizio:"
-
-#: ../../include/bb2diaspora.php:479 ../../include/event.php:40
-#: ../../include/text.php:1445
-msgid "Finishes:"
-msgstr "Fine:"
-
-#: ../../include/bb2diaspora.php:487 ../../include/event.php:52
-#: ../../include/identity.php:1023 ../../include/text.php:1452
-#: ../../mod/directory.php:307
-msgid "Location:"
-msgstr "Luogo:"
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "I segnalibri di %1$s"
-
-#: ../../include/zot.php:680
-msgid "Invalid data packet"
-msgstr "Dati ricevuti non validi"
-
-#: ../../include/zot.php:696
-msgid "Unable to verify channel signature"
-msgstr "Impossibile verificare la firma elettronica del canale"
-
-#: ../../include/zot.php:2332
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossibile verificare la firma elettronica del sito %s"
-
-#: ../../include/zot.php:3670
-msgid "invalid target signature"
-msgstr "la firma ricevuta non è valida"
-
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invito disponibile"
-msgstr[1] "%d inviti disponibili"
-
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:461
-msgid "Advanced"
-msgstr "Avanzate"
-
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Ricerca canali"
-
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Scrivi un nome o un interesse"
-
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Aggiungi"
-
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Per esempio: Mario Rossi, Pesca"
-
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:305
-#: ../../mod/directory.php:384 ../../mod/directory.php:389
-msgid "Find"
-msgstr "Cerca"
-
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:388
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Canali suggeriti"
-
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Profilo casuale"
-
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Invita amici"
-
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Per esempio: name=mario e country=italy"
-
-#: ../../include/contact_widgets.php:128
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contatto in comune"
-msgstr[1] "%d contatti in comune"
-
-#: ../../include/contact_widgets.php:133
-msgid "show more"
-msgstr "mostra tutto"
-
-#: ../../include/dir_fns.php:139
-msgid "Directory Options"
-msgstr "Visibilità negli elenchi pubblici"
-
-#: ../../include/dir_fns.php:141
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:102
-#: ../../mod/connedit.php:375 ../../mod/connedit.php:653
-#: ../../mod/events.php:454 ../../mod/events.php:455 ../../mod/events.php:464
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:661 ../../mod/admin.php:425 ../../mod/profiles.php:647
-#: ../../mod/removeme.php:60 ../../mod/settings.php:588
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1584
-msgid "No"
-msgstr "No"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:101
-#: ../../mod/connedit.php:375 ../../mod/events.php:454
-#: ../../mod/events.php:455 ../../mod/events.php:464
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:661 ../../mod/admin.php:427 ../../mod/profiles.php:647
-#: ../../mod/removeme.php:60 ../../mod/settings.php:588
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1584
-msgid "Yes"
-msgstr "Sì"
-
-#: ../../include/dir_fns.php:142
-msgid "Public Forums Only"
-msgstr "Solo forum pubblici"
-
-#: ../../include/dir_fns.php:143
-msgid "This Website Only"
-msgstr "Solo in questo sito"
-
-#: ../../include/enotify.php:57 ../../include/network.php:1827
-msgid "$Projectname Notification"
-msgstr "Notifica $Projectname"
-
-#: ../../include/enotify.php:58 ../../include/network.php:1828
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/enotify.php:60 ../../include/network.php:1830
-msgid "Thank You,"
-msgstr "Grazie,"
-
-#: ../../include/enotify.php:62 ../../include/network.php:1832
-#, php-format
-msgid "%s Administrator"
-msgstr "L'amministratore di %s"
-
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla] Nuovo messaggio su %s"
-
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
-
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s ti ha mandato %2$s."
-
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "un messaggio privato"
-
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-
-#: ../../include/enotify.php:160
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
-
-#: ../../include/enotify.php:168
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
-
-#: ../../include/enotify.php:177
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
-
-#: ../../include/enotify.php:188
-#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla] Nuovo commento di %2$s alla conversazione #%1$d"
-
-#: ../../include/enotify.php:189
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
-
-#: ../../include/enotify.php:192 ../../include/enotify.php:207
-#: ../../include/enotify.php:233 ../../include/enotify.php:251
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Visita %s per leggere o commentare la conversazione."
-
-#: ../../include/enotify.php:198
-#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla] %s ha scritto sulla tua bacheca"
-
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
-
-#: ../../include/enotify.php:202
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla] %s ti ha taggato"
-
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s ti ha taggato su %3$s"
-
-#: ../../include/enotify.php:228
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
-
-#: ../../include/enotify.php:240
-#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla] %1$s ti ha mandato un poke"
-
-#: ../../include/enotify.php:241
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
-
-#: ../../include/enotify.php:242
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla] %s ha taggato il tuo post"
-
-#: ../../include/enotify.php:259
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
-
-#: ../../include/enotify.php:260
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
-
-#: ../../include/enotify.php:272
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla] Hai una richiesta di amicizia"
-
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
-
-#: ../../include/enotify.php:274
-#, php-format
+#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
-
-#: ../../include/enotify.php:278 ../../include/enotify.php:297
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Puoi visitare il suo profilo su %s"
-
-#: ../../include/enotify.php:280
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
-
-#: ../../include/enotify.php:287
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla] Ti è stato suggerito un amico"
-
-#: ../../include/enotify.php:288
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
-
-#: ../../include/enotify.php:289
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
-
-#: ../../include/enotify.php:295
-msgid "Name:"
-msgstr "Nome:"
-
-#: ../../include/enotify.php:296
-msgid "Photo:"
-msgstr "Foto:"
-
-#: ../../include/enotify.php:299
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Visita %s per approvare o rifiutare il suggerimento."
-
-#: ../../include/enotify.php:514
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla]"
-
-#: ../../include/conversation.php:120 ../../include/text.php:1967
-#: ../../mod/like.php:367 ../../mod/subthread.php:83 ../../mod/tagger.php:43
-msgid "photo"
-msgstr "la foto"
-
-#: ../../include/conversation.php:123 ../../include/event.php:915
-#: ../../include/text.php:1970 ../../mod/events.php:249 ../../mod/like.php:369
-#: ../../mod/tagger.php:47
-msgid "event"
-msgstr "l'evento"
-
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "il canale"
-
-#: ../../include/conversation.php:148 ../../include/text.php:1973
-#: ../../mod/like.php:367 ../../mod/subthread.php:83
-msgid "status"
-msgstr "il messaggio di stato"
-
-#: ../../include/conversation.php:150 ../../include/text.php:1975
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "il commento"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:416
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s piace %3$s di %2$s"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:418
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "A %1$s non piace %3$s di %2$s"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s adesso è connesso con %2$s"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha mandato un poke a %2$s"
-
-#: ../../include/conversation.php:243 ../../include/text.php:992
-#: ../../include/text.php:997
-msgid "poked"
-msgstr "ha mandato un poke"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s è %2$s"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1102
-msgctxt "title"
-msgid "Likes"
-msgstr "Mi piace"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1102
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Non mi piace"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1103
-msgctxt "title"
-msgid "Agree"
-msgstr "D'accordo"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1103
-msgctxt "title"
-msgid "Disagree"
-msgstr "Non d'accordo"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1103
-msgctxt "title"
-msgid "Abstain"
-msgstr "Astenuti"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1104
-msgctxt "title"
-msgid "Attending"
-msgstr "Partecipano"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1104
-msgctxt "title"
-msgid "Not attending"
-msgstr "Non partecipano"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1104
-msgctxt "title"
-msgid "Might attend"
-msgstr "Forse partecipano"
-
-#: ../../include/conversation.php:691
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vedi il profilo di %s @ %s"
-
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr "Categorie:"
-
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr "Classificato come:"
-
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr "Vedi nel contesto"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "rimuovi"
-
-#: ../../include/conversation.php:854 ../../include/nav.php:244
-msgid "Loading..."
-msgstr "Caricamento in corso..."
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Elimina gli oggetti selezionati"
-
-#: ../../include/conversation.php:953
-msgid "View Source"
-msgstr "Vedi il sorgente"
-
-#: ../../include/conversation.php:954
-msgid "Follow Thread"
-msgstr "Segui la discussione"
-
-#: ../../include/conversation.php:955
-msgid "Unfollow Thread"
-msgstr "Non seguire la discussione"
-
-#: ../../include/conversation.php:959 ../../include/nav.php:86
-#: ../../mod/connedit.php:516
-msgid "View Profile"
-msgstr "Profilo"
-
-#: ../../include/conversation.php:960
-msgid "Activity/Posts"
-msgstr "Attività e Post"
-
-#: ../../include/conversation.php:962
-msgid "Edit Connection"
-msgstr "Modifica il contatto"
-
-#: ../../include/conversation.php:963
-msgid "Message"
-msgstr "Messaggio"
-
-#: ../../include/conversation.php:964 ../../mod/pubsites.php:27
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Valutazioni"
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s likes this."
-msgstr "Piace a %s."
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s doesn't like this."
-msgstr "Non piace a %s."
-
-#: ../../include/conversation.php:1084
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
-
-#: ../../include/conversation.php:1086
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
-
-#: ../../include/conversation.php:1092
-msgid "and"
-msgstr "e"
-
-#: ../../include/conversation.php:1095
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] "e altre %d persone"
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s like this."
-msgstr "Piace a %s."
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s don't like this."
-msgstr "Non piace a %s."
-
-#: ../../include/conversation.php:1169
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visibile a <strong>tutti</strong>"
-
-#: ../../include/conversation.php:1170 ../../mod/chat.php:199
-#: ../../mod/mail.php:202 ../../mod/mail.php:316
-msgid "Please enter a link URL:"
-msgstr "Inserisci l'indirizzo del link:"
-
-#: ../../include/conversation.php:1171
-msgid "Please enter a video link/URL:"
-msgstr "Inserisci l'indirizzo del video:"
-
-#: ../../include/conversation.php:1172
-msgid "Please enter an audio link/URL:"
-msgstr "Inserisci l'indirizzo dell'audio:"
-
-#: ../../include/conversation.php:1173
-msgid "Tag term:"
-msgstr "Tag:"
-
-#: ../../include/conversation.php:1174 ../../mod/filer.php:48
-msgid "Save to Folder:"
-msgstr "Salva nella cartella:"
-
-#: ../../include/conversation.php:1175
-msgid "Where are you right now?"
-msgstr "Dove sei ora?"
-
-#: ../../include/conversation.php:1176 ../../mod/editpost.php:56
-#: ../../mod/mail.php:203 ../../mod/mail.php:317
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Scade il YYYY-MM-DD HH:MM"
-
-#: ../../include/conversation.php:1207 ../../mod/blocks.php:154
-#: ../../mod/layouts.php:184 ../../mod/photos.php:1067
-#: ../../mod/webpages.php:184
-msgid "Share"
-msgstr "Condividi"
-
-#: ../../include/conversation.php:1209
-msgid "Page link name"
-msgstr "Nome del link alla pagina"
-
-#: ../../include/conversation.php:1212
-msgid "Post as"
-msgstr "Pubblica come "
-
-#: ../../include/conversation.php:1219 ../../mod/editblock.php:142
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:118
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
-msgstr "Carica foto"
-
-#: ../../include/conversation.php:1220
-msgid "upload photo"
-msgstr "carica foto"
-
-#: ../../include/conversation.php:1221 ../../mod/editblock.php:143
-#: ../../mod/editlayout.php:141 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:183 ../../mod/mail.php:248 ../../mod/mail.php:378
-msgid "Attach file"
-msgstr "Allega file"
-
-#: ../../include/conversation.php:1222
-msgid "attach file"
-msgstr "allega file"
-
-#: ../../include/conversation.php:1223 ../../mod/chat.php:201
-#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142
-#: ../../mod/editpost.php:120 ../../mod/editwebpage.php:184
-#: ../../mod/mail.php:249 ../../mod/mail.php:379
-msgid "Insert web link"
-msgstr "Inserisci un indirizzo web"
-
-#: ../../include/conversation.php:1224
-msgid "web link"
-msgstr "link web"
-
-#: ../../include/conversation.php:1225
-msgid "Insert video link"
-msgstr "Inserisci l'indirizzo del video"
-
-#: ../../include/conversation.php:1226
-msgid "video link"
-msgstr "link video"
-
-#: ../../include/conversation.php:1227
-msgid "Insert audio link"
-msgstr "Inserisci l'indirizzo dell'audio"
-
-#: ../../include/conversation.php:1228
-msgid "audio link"
-msgstr "link audio"
-
-#: ../../include/conversation.php:1229 ../../mod/editblock.php:148
-#: ../../mod/editlayout.php:146 ../../mod/editpost.php:124
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
-msgstr "La tua località"
-
-#: ../../include/conversation.php:1230
-msgid "set location"
-msgstr "la tua località"
-
-#: ../../include/conversation.php:1231 ../../mod/editpost.php:126
-msgid "Toggle voting"
-msgstr "Abilita/disabilita il voto"
-
-#: ../../include/conversation.php:1234 ../../mod/editblock.php:149
-#: ../../mod/editlayout.php:147 ../../mod/editpost.php:125
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
-msgstr "Rimuovi la località data dal browser"
-
-#: ../../include/conversation.php:1235
-msgid "clear location"
-msgstr "rimuovi la località"
-
-#: ../../include/conversation.php:1237 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
-msgstr "Titolo (facoltativo)"
-
-#: ../../include/conversation.php:1241 ../../mod/editblock.php:165
-#: ../../mod/editlayout.php:163 ../../mod/editpost.php:143
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorie (facoltative, lista separata da virgole)"
-
-#: ../../include/conversation.php:1243 ../../mod/editblock.php:151
-#: ../../mod/editlayout.php:149 ../../mod/editpost.php:130
-#: ../../mod/editwebpage.php:191 ../../mod/events.php:466
-msgid "Permission settings"
-msgstr "Permessi dei tuoi contatti"
-
-#: ../../include/conversation.php:1244
-msgid "permissions"
-msgstr "permessi"
-
-#: ../../include/conversation.php:1252 ../../mod/editblock.php:159
-#: ../../mod/editlayout.php:156 ../../mod/editpost.php:138
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
-msgstr "Post pubblico"
-
-#: ../../include/conversation.php:1254 ../../mod/editblock.php:166
-#: ../../mod/editlayout.php:164 ../../mod/editpost.php:144
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
-
-#: ../../include/conversation.php:1267 ../../mod/editblock.php:176
-#: ../../mod/editlayout.php:173 ../../mod/editpost.php:155
-#: ../../mod/editwebpage.php:217 ../../mod/mail.php:253 ../../mod/mail.php:383
-msgid "Set expiration date"
-msgstr "Data di scadenza"
-
-#: ../../include/conversation.php:1270
-msgid "Set publish date"
-msgstr "Data di uscita programmata"
-
-#: ../../include/conversation.php:1274 ../../mod/editpost.php:159
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1275 ../../mod/editpost.php:160
-#: ../../mod/fbrowser.php:77 ../../mod/fbrowser.php:112
-#: ../../mod/settings.php:598 ../../mod/settings.php:624
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-msgid "Cancel"
-msgstr "Annulla"
-
-#: ../../include/conversation.php:1518
-msgid "Discover"
-msgstr "Scopri"
-
-#: ../../include/conversation.php:1521
-msgid "Imported public streams"
-msgstr "Contenuti pubblici importati"
-
-#: ../../include/conversation.php:1526
-msgid "Commented Order"
-msgstr "Commenti recenti"
-
-#: ../../include/conversation.php:1529
-msgid "Sort by Comment Date"
-msgstr "Per data del commento"
-
-#: ../../include/conversation.php:1533
-msgid "Posted Order"
-msgstr "Post recenti"
-
-#: ../../include/conversation.php:1536
-msgid "Sort by Post Date"
-msgstr "Per data di creazione"
-
-#: ../../include/conversation.php:1544
-msgid "Posts that mention or involve you"
-msgstr "Post che ti riguardano"
-
-#: ../../include/conversation.php:1550 ../../mod/connections.php:72
-#: ../../mod/connections.php:82 ../../mod/menu.php:112
-msgid "New"
-msgstr "Novità"
-
-#: ../../include/conversation.php:1553
-msgid "Activity Stream - by date"
-msgstr "Elenco attività - per data"
-
-#: ../../include/conversation.php:1559
-msgid "Starred"
-msgstr "Preferiti"
-
-#: ../../include/conversation.php:1562
-msgid "Favourite Posts"
-msgstr "Post preferiti"
-
-#: ../../include/conversation.php:1569
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../include/conversation.php:1572
-msgid "Posts flagged as SPAM"
-msgstr "Post marcati come spam"
-
-#: ../../include/conversation.php:1626 ../../mod/admin.php:1157
-msgid "Channel"
-msgstr "Canale"
-
-#: ../../include/conversation.php:1629
-msgid "Status Messages and Posts"
-msgstr "Post e messaggi di stato"
-
-#: ../../include/conversation.php:1638
-msgid "About"
-msgstr "Informazioni"
-
-#: ../../include/conversation.php:1641
-msgid "Profile Details"
-msgstr "Dettagli del profilo"
-
-#: ../../include/conversation.php:1650 ../../include/photos.php:506
-msgid "Photo Albums"
-msgstr "Album foto"
-
-#: ../../include/conversation.php:1657
-msgid "Files and Storage"
-msgstr "Archivio file"
-
-#: ../../include/conversation.php:1694
-msgid "Saved Bookmarks"
-msgstr "Segnalibri salvati"
-
-#: ../../include/conversation.php:1704
-msgid "Manage Webpages"
-msgstr "Gestisci le pagine web"
-
-#: ../../include/conversation.php:1763
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Partecipa"
-msgstr[1] "Partecipano"
-
-#: ../../include/conversation.php:1766
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Non partecipa"
-msgstr[1] "Non partecipano"
-
-#: ../../include/conversation.php:1769
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso"
-msgstr[1] "Indecisi"
-
-#: ../../include/conversation.php:1772
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "D'accordo"
-msgstr[1] "D'accordo"
-
-#: ../../include/conversation.php:1775
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Non d'accordo"
-msgstr[1] "Non d'accordo"
-
-#: ../../include/conversation.php:1778
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Astenuto"
-msgstr[1] "Astenuti"
-
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Non trovo le informazioni DNS per il database server '%s'"
-
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "Il canale è bloccato per questo sito."
-
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Manca l'indirizzo del canale."
-
-#: ../../include/follow.php:82
-msgid "Response from remote channel was incomplete."
-msgstr "La risposta dal canale non è completa."
-
-#: ../../include/follow.php:99
-msgid "Channel was deleted and no longer exists."
-msgstr "Il canale è stato rimosso e non esiste più."
-
-#: ../../include/follow.php:155 ../../include/follow.php:191
-msgid "Protocol disabled."
-msgstr "Protocollo disabilitato."
-
-#: ../../include/follow.php:179
-msgid "Channel discovery failed."
-msgstr "La ricerca del canale non ha avuto successo."
-
-#: ../../include/follow.php:217
-msgid "Cannot connect to yourself."
-msgstr "Non puoi connetterti a te stesso."
-
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1579
-msgid "Logout"
-msgstr "Esci"
-
-#: ../../include/nav.php:82 ../../include/nav.php:113
-msgid "End this session"
-msgstr "Chiudi questa sessione"
-
-#: ../../include/nav.php:85 ../../include/nav.php:144
-msgid "Home"
-msgstr "Bacheca"
-
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "I tuoi post e conversazioni"
-
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Il tuo profilo"
-
-#: ../../include/nav.php:88 ../../include/identity.php:931
-#: ../../mod/profiles.php:776
-msgid "Edit Profiles"
-msgstr "Modifica i tuoi profili"
-
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Gestisci i tuoi profili"
-
-#: ../../include/nav.php:90 ../../include/identity.php:935
-msgid "Edit Profile"
-msgstr "Modifica il profilo"
-
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Modifica il tuo profilo"
-
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Le tue foto"
-
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "I tuoi file"
-
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
-msgstr "Le tue chat"
-
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
-msgstr "I tuoi segnalibri"
-
-#: ../../include/nav.php:106
-msgid "Your webpages"
-msgstr "Le tue pagine web"
-
-#: ../../include/nav.php:110
-msgid "Sign in"
-msgstr "Accedi"
-
-#: ../../include/nav.php:127
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clicca per uscire"
-
-#: ../../include/nav.php:130
-msgid "Remote authentication"
-msgstr "Accedi dal tuo hub"
-
-#: ../../include/nav.php:130
-msgid "Click to authenticate to your home hub"
-msgstr "Clicca per farti riconoscere dal tuo hub principale"
-
-#: ../../include/nav.php:144
-msgid "Home Page"
-msgstr "Bacheca"
-
-#: ../../include/nav.php:148 ../../mod/register.php:258 ../../boot.php:1562
-msgid "Register"
-msgstr "Registrati"
-
-#: ../../include/nav.php:148
-msgid "Create an account"
-msgstr "Crea un account"
-
-#: ../../include/nav.php:155
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
-
-#: ../../include/nav.php:159
-msgid "Applications, utilities, links, games"
-msgstr "Applicazioni, utilità, link, giochi"
-
-#: ../../include/nav.php:161
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
-
-#: ../../include/nav.php:164
-msgid "Channel Directory"
-msgstr "Elenchi pubblici dei canali"
-
-#: ../../include/nav.php:176
-msgid "Your grid"
-msgstr "La tua rete"
-
-#: ../../include/nav.php:177
-msgid "Mark all grid notifications seen"
-msgstr "Segna come lette le notifiche della tua rete"
-
-#: ../../include/nav.php:179
-msgid "Channel home"
-msgstr "Bacheca del canale"
-
-#: ../../include/nav.php:180
-msgid "Mark all channel notifications seen"
-msgstr "Segna come lette le notifiche del canale"
-
-#: ../../include/nav.php:183 ../../include/text.php:834
-#: ../../mod/connections.php:298
-msgid "Connections"
-msgstr "Contatti"
-
-#: ../../include/nav.php:186
-msgid "Notices"
-msgstr "Avvisi"
-
-#: ../../include/nav.php:186
-msgid "Notifications"
-msgstr "Notifiche"
-
-#: ../../include/nav.php:187
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
-
-#: ../../include/nav.php:188 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Segna come lette le notifiche di sistema"
-
-#: ../../include/nav.php:190
-msgid "Private mail"
-msgstr "Messaggi privati"
-
-#: ../../include/nav.php:191
-msgid "See all private messages"
-msgstr "Guarda tutti i messaggi privati"
-
-#: ../../include/nav.php:192
-msgid "Mark all private messages seen"
-msgstr "Segna come letti tutti i messaggi privati"
-
-#: ../../include/nav.php:198
-msgid "Event Calendar"
-msgstr "Calendario"
-
-#: ../../include/nav.php:199
-msgid "See all events"
-msgstr "Guarda tutti gli eventi"
-
-#: ../../include/nav.php:200
-msgid "Mark all events seen"
-msgstr "Marca come letti tutti gli eventi"
-
-#: ../../include/nav.php:203
-msgid "Manage Your Channels"
-msgstr "Gestisci i tuoi canali"
-
-#: ../../include/nav.php:205
-msgid "Account/Channel Settings"
-msgstr "Impostazioni dell'account e del canale"
-
-#: ../../include/nav.php:213
-msgid "Site Setup and Configuration"
-msgstr "Installazione e configurazione del sito"
-
-#: ../../include/nav.php:249
-msgid "@name, #tag, ?doc, content"
-msgstr "@nome, #tag, ?guida, contenuto"
-
-#: ../../include/nav.php:250
-msgid "Please wait..."
-msgstr "Attendere..."
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Eliminare questo elemento?"
-
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] riduci"
-
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] mostra tutto"
-
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] riduci"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Password troppo corta"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Le password non corrispondono"
-
-#: ../../include/js_strings.php:13 ../../mod/photos.php:41
-#: ../../mod/cal.php:37
-msgid "everybody"
-msgstr "tutti"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Parola chiave per decifrare"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Suggerimento per la parola chiave"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Nota: i permessi sono stati modificati ma non ancora salvati."
-
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "chiudi tutto"
-
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Niente di nuovo qui"
-
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Valuta questo canale (visibile a tutti)"
-
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:712
-#: ../../mod/rate.php:157
-msgid "Rating"
-msgstr "Valutazioni"
-
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Descrizione (facoltativa)"
-
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Inserisci l'URL di un link"
-
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"
-
-#: ../../include/js_strings.php:25 ../../mod/events.php:459
-#: ../../mod/locs.php:113 ../../mod/profiles.php:472
-#: ../../mod/profiles.php:697 ../../mod/pubsites.php:36
-msgid "Location"
-msgstr "Posizione geografica"
-
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
-
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
-
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "fa"
-
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "da adesso"
-
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
-msgstr "meno di un minuto"
-
-#: ../../include/js_strings.php:32
-msgid "about a minute"
-msgstr "circa un minuto"
-
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuti"
-
-#: ../../include/js_strings.php:34
-msgid "about an hour"
-msgstr "circa un’ora"
-
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
-msgstr "circa %d ore"
-
-#: ../../include/js_strings.php:36
-msgid "a day"
-msgstr "un giorno"
-
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
-msgstr "%d giorni"
-
-#: ../../include/js_strings.php:38
-msgid "about a month"
-msgstr "circa un mese"
-
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
-msgstr "%d mesi"
-
-#: ../../include/js_strings.php:40
-msgid "about a year"
-msgstr "circa un anno"
-
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
-msgstr "%d anni"
-
-#: ../../include/js_strings.php:42
-msgid " "
-msgstr " "
-
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/js_strings.php:45 ../../include/text.php:1210
-msgid "January"
-msgstr "gennaio"
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1210
-msgid "February"
-msgstr "febbraio"
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1210
-msgid "March"
-msgstr "marzo"
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1210
-msgid "April"
-msgstr "aprile"
-
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
-msgstr "maggio"
-
-#: ../../include/js_strings.php:50 ../../include/text.php:1210
-msgid "June"
-msgstr "giugno"
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1210
-msgid "July"
-msgstr "luglio"
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1210
-msgid "August"
-msgstr "agosto"
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1210
-msgid "September"
-msgstr "settembre"
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1210
-msgid "October"
-msgstr "ottobre"
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1210
-msgid "November"
-msgstr "novembre"
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1210
-msgid "December"
-msgstr "dicembre"
-
-#: ../../include/js_strings.php:57
-msgid "Jan"
-msgstr "Gen"
-
-#: ../../include/js_strings.php:58
-msgid "Feb"
-msgstr "Feb"
-
-#: ../../include/js_strings.php:59
-msgid "Mar"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:60
-msgid "Apr"
-msgstr "Apr"
-
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
-msgstr "maggio"
-
-#: ../../include/js_strings.php:62
-msgid "Jun"
-msgstr "Mag"
-
-#: ../../include/js_strings.php:63
-msgid "Jul"
-msgstr "Giu"
-
-#: ../../include/js_strings.php:64
-msgid "Aug"
-msgstr "Ago"
-
-#: ../../include/js_strings.php:65
-msgid "Sep"
-msgstr "Set"
-
-#: ../../include/js_strings.php:66
-msgid "Oct"
-msgstr "Ott"
-
-#: ../../include/js_strings.php:67
-msgid "Nov"
-msgstr "Nov"
-
-#: ../../include/js_strings.php:68
-msgid "Dec"
-msgstr "Dic"
-
-#: ../../include/js_strings.php:69 ../../include/text.php:1206
-msgid "Sunday"
-msgstr "domenica"
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1206
-msgid "Monday"
-msgstr "lunedì"
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1206
-msgid "Tuesday"
-msgstr "martedì"
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1206
-msgid "Wednesday"
-msgstr "mercoledì"
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1206
-msgid "Thursday"
-msgstr "giovedì"
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1206
-msgid "Friday"
-msgstr "venerdì"
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1206
-msgid "Saturday"
-msgstr "sabato"
-
-#: ../../include/js_strings.php:76
-msgid "Sun"
-msgstr "Dom"
-
-#: ../../include/js_strings.php:77
-msgid "Mon"
-msgstr "Lun"
-
-#: ../../include/js_strings.php:78
-msgid "Tue"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:79
-msgid "Wed"
-msgstr "Mer"
-
-#: ../../include/js_strings.php:80
-msgid "Thu"
-msgstr "Gio"
-
-#: ../../include/js_strings.php:81
-msgid "Fri"
-msgstr "Ven"
-
-#: ../../include/js_strings.php:82
-msgid "Sat"
-msgstr "Sab"
-
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
-msgstr "oggi"
-
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
-msgstr "mese"
-
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
-msgstr "settimana"
-
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
-msgstr "giorno"
-
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
-msgstr "Tutto il giorno"
-
-#: ../../include/network.php:659
-msgid "view full size"
-msgstr "guarda nelle dimensioni reali"
-
-#: ../../include/network.php:1875 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Amministratore"
-
-#: ../../include/network.php:1889
-msgid "No Subject"
-msgstr "Nessun titolo"
-
-#: ../../include/oembed.php:267
-msgid "Embedded content"
-msgstr "Contenuti incorporati"
-
-#: ../../include/oembed.php:276
-msgid "Embedding disabled"
-msgstr "Disabilita la creazione di contenuti incorporati"
-
-#: ../../include/notify.php:20
-msgid "created a new post"
-msgstr "Ha creato un nuovo post"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
-#: ../../include/notify.php:21
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Module/Openid.php:183
#, php-format
-msgid "commented on %s's post"
-msgstr "ha commentato il post di %s"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Nuova pagina web"
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+msgid "Requested profile is not available."
+msgstr "Il profilo richiesto non è disponibile."
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
-#: ../../mod/layouts.php:188 ../../mod/pubsites.php:42
-#: ../../mod/webpages.php:189
-msgid "View"
-msgstr "Guarda"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:191
-msgid "Actions"
-msgstr "Azioni"
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
+#: ../../Zotlabs/Module/Editblock.php:108
+msgid "Block Name"
+msgstr "Nome del block"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:192
-msgid "Page Link"
-msgstr "Link alla pagina"
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
+msgid "Blocks"
+msgstr "Block"
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Titolo"
+#: ../../Zotlabs/Module/Blocks.php:153
+msgid "Block Title"
+msgstr "Titolo del block"
-#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
-#: ../../mod/layouts.php:181 ../../mod/menu.php:110 ../../mod/webpages.php:194
+#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
+#: ../../include/page_widgets.php:44
msgid "Created"
msgstr "Creato"
-#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
-#: ../../mod/layouts.php:182 ../../mod/menu.php:111 ../../mod/webpages.php:195
+#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
+#: ../../include/page_widgets.php:45
msgid "Edited"
msgstr "Modificato"
-#: ../../include/photo/photo_driver.php:722 ../../mod/photos.php:94
-#: ../../mod/photos.php:738 ../../mod/profile_photo.php:147
-#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:327
-msgid "Profile Photos"
-msgstr "Foto del profilo"
-
-#: ../../include/datetime.php:48 ../../mod/profiles.php:699
-msgid "Miscellaneous"
-msgstr "Altro"
-
-#: ../../include/datetime.php:136
-msgid "Birthday"
-msgstr "Compleanno"
-
-#: ../../include/datetime.php:138
-msgid "Age: "
-msgstr "Età:"
-
-#: ../../include/datetime.php:140
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-GG oppure MM-GG"
-
-#: ../../include/datetime.php:246 ../../mod/appman.php:91
-#: ../../mod/appman.php:92 ../../mod/events.php:444 ../../mod/events.php:449
-#: ../../mod/profiles.php:708 ../../mod/profiles.php:712
-msgid "Required"
-msgstr "Obbligatorio"
-
-#: ../../include/datetime.php:273 ../../boot.php:2411
-msgid "never"
-msgstr "mai"
-
-#: ../../include/datetime.php:279
-msgid "less than a second ago"
-msgstr "meno di un secondo fa"
-
-#: ../../include/datetime.php:297
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s fa"
-
-#: ../../include/datetime.php:308
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "anno"
-msgstr[1] "anni"
-
-#: ../../include/datetime.php:311
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "mese"
-msgstr[1] "mesi"
-
-#: ../../include/datetime.php:314
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "settimana"
-msgstr[1] "settimane"
-
-#: ../../include/datetime.php:317
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "giorno"
-msgstr[1] "giorni"
-
-#: ../../include/datetime.php:320
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "ora"
-msgstr[1] "ore"
-
-#: ../../include/datetime.php:323
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuto"
-msgstr[1] "minuti"
-
-#: ../../include/datetime.php:326
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "secondo"
-msgstr[1] "secondi"
-
-#: ../../include/datetime.php:563
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Compleanno di %1$s"
-
-#: ../../include/datetime.php:564
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Buon compleanno %1$s"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
-msgid "Male"
-msgstr "Maschio"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
-msgid "Female"
-msgstr "Femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Al momento maschio"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Al momento femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Prevalentemente maschio"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Prevalentemente femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersex"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transessuale"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Ermafrodito"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutro"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Non specificato"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:881
-msgid "Other"
-msgstr "Altro"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Indeciso"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
-msgstr "Maschi"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
-msgstr "Femmine"
-
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
-msgstr "Lesbica"
-
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
-msgstr "Senza preferenza"
-
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
-msgstr "Bisessuale"
-
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
-msgstr "Autosessuale"
-
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
-msgstr "Astinente"
-
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
-msgstr "Vergine"
-
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
-msgstr "Deviato"
-
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
-msgstr "Feticista"
-
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
-msgstr "Un sacco"
-
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
-msgstr "Asessuato"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
-msgstr "Single"
-
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
-msgstr "Da solo"
-
-#: ../../include/profile_selectors.php:80
-msgid "Available"
-msgstr "Disponibile"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
-msgstr "Non disponibile"
-
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
-msgstr "Ha una cotta"
-
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
-msgstr "Infatuato/a"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
-msgstr "Disponibile a un incontro"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
-msgstr "Infedele"
-
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
-msgstr "Sesso-dipendente"
-
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
-msgstr "Amici con qualcosa in più"
-
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
-msgstr "Casual"
-
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
-msgstr "Impegnato"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
-msgstr "Sposato/a"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
-msgstr "Con matrimonio immaginario"
-
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
-msgstr "Partner"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
-msgstr "Convivente"
-
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
-msgstr "Matrimonio regolare"
-
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
-msgstr "Felice"
-
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
-msgstr "Non in cerca"
-
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
-msgstr "Scambista"
-
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
-msgstr "Tradito/a"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
-msgstr "Separato/a"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
-msgstr "Instabile"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
-msgstr "Divorziato/a"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
-msgstr "Sogna il divorzio"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
-msgstr "Vedovo/a"
-
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
-msgstr "Incerto/a"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
-msgstr "Relazione complicata"
-
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
-msgstr "Chi se ne frega"
-
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
-msgstr "Chiedimelo"
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:366
-msgid "Default"
-msgstr "Predefinito"
-
-#: ../../include/event.php:779
-msgid "This event has been added to your calendar."
-msgstr "Questo evento è stato aggiunto al tuo calendario"
-
-#: ../../include/event.php:978
-msgid "Not specified"
-msgstr "Non specificato"
-
-#: ../../include/event.php:979
-msgid "Needs Action"
-msgstr "Necessita di un intervento"
-
-#: ../../include/event.php:980
-msgid "Completed"
-msgstr "Completato"
-
-#: ../../include/event.php:981
-msgid "In Process"
-msgstr "In corso"
-
-#: ../../include/event.php:982
-msgid "Cancelled"
-msgstr "Annullato"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ogni ora"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Due volte al giorno"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ogni giorno"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ogni settimana"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ogni mese"
-
-#: ../../include/contact_selectors.php:76
-#: ../../include/contact_selectors.php:77
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:78
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:79
-msgid "GNU-Social"
-msgstr "GNU-Social"
-
-#: ../../include/contact_selectors.php:80
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:81 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:989 ../../mod/admin.php:998
-#: ../../boot.php:1582
-msgid "Email"
-msgstr "Email"
-
-#: ../../include/contact_selectors.php:82
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:83
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:84
-msgid "Zot"
-msgstr "Zot"
-
-#: ../../include/contact_selectors.php:85
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:86
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:87
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261
-msgid "Tags"
-msgstr "Tag"
-
-#: ../../include/taxonomy.php:305
-msgid "Keywords"
-msgstr "Parole chiave"
-
-#: ../../include/taxonomy.php:326
-msgid "have"
-msgstr "ho"
-
-#: ../../include/taxonomy.php:326
-msgid "has"
-msgstr "ha"
-
-#: ../../include/taxonomy.php:327
-msgid "want"
-msgstr "voglio"
-
-#: ../../include/taxonomy.php:327
-msgid "wants"
-msgstr "vuole"
-
-#: ../../include/taxonomy.php:328
-msgid "likes"
-msgstr "gli piace"
-
-#: ../../include/taxonomy.php:329
-msgid "dislikes"
-msgstr "non gli piace"
-
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
-msgstr "Elemento non trovato."
-
-#: ../../include/attach.php:497
-msgid "No source file."
-msgstr "Nessun file di origine."
-
-#: ../../include/attach.php:519
-msgid "Cannot locate file to replace"
-msgstr "Il file da sostituire non è stato trovato"
-
-#: ../../include/attach.php:537
-msgid "Cannot locate file to revise/update"
-msgstr "Il file da aggiornare non è stato trovato"
-
-#: ../../include/attach.php:672
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
-
-#: ../../include/attach.php:686
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
-
-#: ../../include/attach.php:842
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
-
-#: ../../include/attach.php:855
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Il file non può essere verificato. Caricamento fallito."
-
-#: ../../include/attach.php:909 ../../include/attach.php:925
-msgid "Path not available."
-msgstr "Percorso non disponibile."
-
-#: ../../include/attach.php:971 ../../include/attach.php:1123
-msgid "Empty pathname"
-msgstr "Il percorso del file è vuoto"
-
-#: ../../include/attach.php:997
-msgid "duplicate filename or path"
-msgstr "il file o il percorso del file è duplicato"
-
-#: ../../include/attach.php:1019
-msgid "Path not found."
-msgstr "Percorso del file non trovato."
-
-#: ../../include/attach.php:1077
-msgid "mkdir failed."
-msgstr "mkdir fallito."
-
-#: ../../include/attach.php:1081
-msgid "database storage failed."
-msgstr "scrittura su database fallita."
-
-#: ../../include/attach.php:1129
-msgid "Empty path"
-msgstr "La posizione è vuota"
-
-#: ../../include/features.php:48
-msgid "General Features"
-msgstr "Funzionalità di base"
-
-#: ../../include/features.php:50
-msgid "Content Expiration"
-msgstr "Scadenza"
-
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
-
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
-msgstr "Profili multipli"
-
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
-msgstr "Abilitazione a creare profili multipli"
-
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
-msgstr "Profili avanzati"
-
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
-msgstr "Informazioni aggiuntive del profilo"
-
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
-msgstr "Importa/esporta il profilo"
-
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
-msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
-
-#: ../../include/features.php:54
-msgid "Web Pages"
-msgstr "Pagine web"
-
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
-msgstr "Attiva la creazione di pagine web sul tuo canale"
-
-#: ../../include/features.php:55
-msgid "Hide Rating"
-msgstr "Nascondi le valutazioni"
-
-#: ../../include/features.php:55
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove."
-
-#: ../../include/features.php:56
-msgid "Private Notes"
-msgstr "Note private"
-
-#: ../../include/features.php:56
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
-
-#: ../../include/features.php:57
-msgid "Navigation Channel Select"
-msgstr "Scegli il canale attivo dal menu"
-
-#: ../../include/features.php:57
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-
-#: ../../include/features.php:58
-msgid "Photo Location"
-msgstr "Posizione geografica"
-
-#: ../../include/features.php:58
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
-
-#: ../../include/features.php:59
-msgid "Access Controlled Chatrooms"
-msgstr "Chat ad accesso riservato"
-
-#: ../../include/features.php:59
-msgid "Provide chatrooms and chat services with access control."
-msgstr "Il servizio di chat con accesso riservato"
-
-#: ../../include/features.php:60
-msgid "Smart Birthdays"
-msgstr "Compleanni intelligenti"
-
-#: ../../include/features.php:60
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
-msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
-
-#: ../../include/features.php:61
-msgid "Expert Mode"
-msgstr "Modalità esperto"
-
-#: ../../include/features.php:61
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
-
-#: ../../include/features.php:62
-msgid "Premium Channel"
-msgstr "Canale premium"
-
-#: ../../include/features.php:62
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
-
-#: ../../include/features.php:67
-msgid "Post Composition Features"
-msgstr "Modalità di scrittura post"
-
-#: ../../include/features.php:70
-msgid "Large Photos"
-msgstr "Foto grandi"
-
-#: ../../include/features.php:70
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
-
-#: ../../include/features.php:71
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-
-#: ../../include/features.php:72
-msgid "Even More Encryption"
-msgstr "Cifratura addizionale"
-
-#: ../../include/features.php:72
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
-
-#: ../../include/features.php:73
-msgid "Enable Voting Tools"
-msgstr "Permetti i post con votazione"
-
-#: ../../include/features.php:73
-msgid "Provide a class of post which others can vote on"
-msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
-
-#: ../../include/features.php:74
-msgid "Delayed Posting"
-msgstr "Pubblicazione ritardata"
-
-#: ../../include/features.php:74
-msgid "Allow posts to be published at a later date"
-msgstr "Per scegliere una data e un'ora a cui far uscire i post"
-
-#: ../../include/features.php:75
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Impedisci post e commenti duplicati"
-
-#: ../../include/features.php:75
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
-
-#: ../../include/features.php:81
-msgid "Network and Stream Filtering"
-msgstr "Filtraggio dei contenuti"
-
-#: ../../include/features.php:82
-msgid "Search by Date"
-msgstr "Ricerca per data"
-
-#: ../../include/features.php:82
-msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare i post in un intervallo tra date"
-
-#: ../../include/features.php:83 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr "Gruppi di canali"
-
-#: ../../include/features.php:83
-msgid "Enable management and selection of privacy groups"
-msgstr "Abilita i gruppi di canali"
-
-#: ../../include/features.php:84
-msgid "Save search terms for re-use"
-msgstr "Salva i termini delle ricerche per poterle ripetere"
-
-#: ../../include/features.php:85
-msgid "Network Personal Tab"
-msgstr "Attività personale"
-
-#: ../../include/features.php:85
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-
-#: ../../include/features.php:86
-msgid "Network New Tab"
-msgstr "Contenuti nuovi"
-
-#: ../../include/features.php:86
-msgid "Enable tab to display all new Network activity"
-msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-
-#: ../../include/features.php:87
-msgid "Affinity Tool"
-msgstr "Filtro per affinità"
-
-#: ../../include/features.php:87
-msgid "Filter stream activity by depth of relationships"
-msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-
-#: ../../include/features.php:88
-msgid "Connection Filtering"
-msgstr "Filtro sui contatti"
-
-#: ../../include/features.php:88
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtra i post che ricevi con parole chiave"
-
-#: ../../include/features.php:89
-msgid "Suggest Channels"
-msgstr "Suggerisci canali"
-
-#: ../../include/features.php:89
-msgid "Show channel suggestions"
-msgstr "Mostra alcuni canali che potrebbero interessarti"
-
-#: ../../include/features.php:94
-msgid "Post/Comment Tools"
-msgstr "Gestione post e commenti"
-
-#: ../../include/features.php:95
-msgid "Community Tagging"
-msgstr "Tag della comunità"
-
-#: ../../include/features.php:95
-msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su post già esistenti"
-
-#: ../../include/features.php:96
-msgid "Post Categories"
-msgstr "Categorie dei post"
-
-#: ../../include/features.php:96
-msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi post"
-
-#: ../../include/features.php:97
-msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-
-#: ../../include/features.php:98
-msgid "Dislike Posts"
-msgstr "Non mi piace"
-
-#: ../../include/features.php:98
-msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
-
-#: ../../include/features.php:99
-msgid "Star Posts"
-msgstr "Post con stella"
-
-#: ../../include/features.php:99
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per segnare i post preferiti"
-
-#: ../../include/features.php:100
-msgid "Tag Cloud"
-msgstr "Nuvola di tag"
-
-#: ../../include/features.php:100
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-
-#: ../../include/identity.php:32
-msgid "Unable to obtain identity information from database"
-msgstr "Impossibile ottenere le informazioni di identificazione dal database"
-
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr "Nome vuoto"
-
-#: ../../include/identity.php:69
-msgid "Name too long"
-msgstr "Nome troppo lungo"
-
-#: ../../include/identity.php:180
-msgid "No account identifier"
-msgstr "Account senza identificativo"
-
-#: ../../include/identity.php:192
-msgid "Nickname is required."
-msgstr "Il nome dell'account è obbligatorio."
-
-#: ../../include/identity.php:206
-msgid "Reserved nickname. Please choose another."
-msgstr "Nome utente riservato. Per favore scegline un altro."
-
-#: ../../include/identity.php:211
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
-
-#: ../../include/identity.php:287
-msgid "Unable to retrieve created identity"
-msgstr "Impossibile caricare l'identità creata"
-
-#: ../../include/identity.php:345
-msgid "Default Profile"
-msgstr "Profilo predefinito"
-
-#: ../../include/identity.php:784
-msgid "Requested channel is not available."
-msgstr "Il canale che cerchi non è disponibile."
-
-#: ../../include/identity.php:830 ../../mod/achievements.php:11
-#: ../../mod/blocks.php:29 ../../mod/connect.php:13 ../../mod/editblock.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29
-#: ../../mod/profile.php:16 ../../mod/webpages.php:29
-msgid "Requested profile is not available."
-msgstr "Il profilo richiesto non è disponibile."
-
-#: ../../include/identity.php:924 ../../mod/profiles.php:691
-msgid "Change profile photo"
-msgstr "Cambia la foto del profilo"
-
-#: ../../include/identity.php:932
-msgid "Create New Profile"
-msgstr "Crea un nuovo profilo"
-
-#: ../../include/identity.php:949 ../../mod/profiles.php:766
-msgid "Profile Image"
-msgstr "Immagine del profilo"
-
-#: ../../include/identity.php:952
-msgid "Visible to everybody"
-msgstr "Visibile a tutti"
-
-#: ../../include/identity.php:953 ../../mod/profiles.php:689
-#: ../../mod/profiles.php:770
-msgid "Edit visibility"
-msgstr "Cambia la visibilità"
-
-#: ../../include/identity.php:1027 ../../include/identity.php:1282
-msgid "Gender:"
-msgstr "Sesso:"
-
-#: ../../include/identity.php:1028 ../../include/identity.php:1326
-msgid "Status:"
-msgstr "Stato:"
-
-#: ../../include/identity.php:1029 ../../include/identity.php:1337
-msgid "Homepage:"
-msgstr "Home page:"
-
-#: ../../include/identity.php:1030
-msgid "Online Now"
-msgstr "Online adesso"
-
-#: ../../include/identity.php:1117 ../../include/identity.php:1193
-#: ../../mod/ping.php:318
-msgid "g A l F d"
-msgstr "g A l d F"
-
-#: ../../include/identity.php:1118 ../../include/identity.php:1194
-msgid "F d"
-msgstr "d F"
-
-#: ../../include/identity.php:1163 ../../include/identity.php:1233
-#: ../../mod/ping.php:341
-msgid "[today]"
-msgstr "[oggi]"
-
-#: ../../include/identity.php:1174
-msgid "Birthday Reminders"
-msgstr "Promemoria compleanni"
-
-#: ../../include/identity.php:1175
-msgid "Birthdays this week:"
-msgstr "Compleanni questa settimana:"
-
-#: ../../include/identity.php:1226
-msgid "[No description]"
-msgstr "[Nessuna descrizione]"
-
-#: ../../include/identity.php:1244
-msgid "Event Reminders"
-msgstr "Promemoria"
-
-#: ../../include/identity.php:1245
-msgid "Events this week:"
-msgstr "Eventi della settimana:"
-
-#: ../../include/identity.php:1280 ../../mod/settings.php:1047
-msgid "Full Name:"
-msgstr "Nome completo:"
-
-#: ../../include/identity.php:1287
-msgid "Like this channel"
-msgstr "Mi piace questo canale"
-
-#: ../../include/identity.php:1311
-msgid "j F, Y"
-msgstr "j F Y"
-
-#: ../../include/identity.php:1312
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/identity.php:1319
-msgid "Birthday:"
-msgstr "Compleanno:"
-
-#: ../../include/identity.php:1323 ../../mod/directory.php:302
-msgid "Age:"
-msgstr "Età:"
-
-#: ../../include/identity.php:1332
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "per %1$d %2$s"
-
-#: ../../include/identity.php:1335
-msgid "Sexual Preference:"
-msgstr "Preferenze sessuali:"
-
-#: ../../include/identity.php:1339 ../../mod/directory.php:318
-msgid "Hometown:"
-msgstr "Città dove vivo:"
-
-#: ../../include/identity.php:1341
-msgid "Tags:"
-msgstr "Tag:"
-
-#: ../../include/identity.php:1343
-msgid "Political Views:"
-msgstr "Orientamento politico:"
-
-#: ../../include/identity.php:1345
-msgid "Religion:"
-msgstr "Religione:"
-
-#: ../../include/identity.php:1347 ../../mod/directory.php:320
-msgid "About:"
-msgstr "Informazioni:"
-
-#: ../../include/identity.php:1349
-msgid "Hobbies/Interests:"
-msgstr "Interessi e hobby:"
-
-#: ../../include/identity.php:1351
-msgid "Likes:"
-msgstr "Mi piace:"
-
-#: ../../include/identity.php:1353
-msgid "Dislikes:"
-msgstr "Non mi piace:"
-
-#: ../../include/identity.php:1355
-msgid "Contact information and Social Networks:"
-msgstr "Contatti e social network:"
-
-#: ../../include/identity.php:1357
-msgid "My other channels:"
-msgstr "I miei altri canali:"
-
-#: ../../include/identity.php:1359
-msgid "Musical interests:"
-msgstr "Gusti musicali:"
-
-#: ../../include/identity.php:1361
-msgid "Books, literature:"
-msgstr "Libri, letteratura:"
-
-#: ../../include/identity.php:1363
-msgid "Television:"
-msgstr "Televisione:"
-
-#: ../../include/identity.php:1365
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film, danza, cultura, intrattenimento:"
-
-#: ../../include/identity.php:1367
-msgid "Love/Romance:"
-msgstr "Amore:"
-
-#: ../../include/identity.php:1369
-msgid "Work/employment:"
-msgstr "Lavoro:"
-
-#: ../../include/identity.php:1371
-msgid "School/education:"
-msgstr "Scuola:"
-
-#: ../../include/identity.php:1391
-msgid "Like this thing"
-msgstr "Mi piace"
-
-#: ../../include/identity.php:1801 ../../mod/cover_photo.php:236
-msgid "cover photo"
-msgstr "Copertina del canale"
-
-#: ../../include/import.php:23
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr "Impossibile clonare il canale. L'importazione è fallita."
-
-#: ../../include/import.php:80 ../../mod/import.php:146
-msgid "Cloned channel not found. Import failed."
-msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-
-#: ../../include/items.php:423 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/group.php:68
-#: ../../mod/import_items.php:108 ../../mod/like.php:280
-#: ../../mod/profperm.php:23 ../../mod/subthread.php:58 ../../index.php:184
-msgid "Permission denied"
-msgstr "Permesso negato"
-
-#: ../../include/items.php:1138 ../../include/items.php:1183
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
-
-#: ../../include/items.php:1382
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet."
-
-#: ../../include/items.php:1384
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
-
-#: ../../include/items.php:1386
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
-
-#: ../../include/items.php:1388
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
-
-#: ../../include/items.php:1390
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti su %s."
-
-#: ../../include/items.php:1392
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
-
-#: ../../include/items.php:1394
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
-
-#: ../../include/items.php:1396
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
-
-#: ../../include/items.php:4592 ../../mod/display.php:36
-#: ../../mod/filestorage.php:27 ../../mod/admin.php:141
-#: ../../mod/admin.php:1189 ../../mod/admin.php:1434 ../../mod/thing.php:85
-#: ../../mod/viewsrc.php:20
-msgid "Item not found."
-msgstr "Elemento non trovato."
-
-#: ../../include/items.php:5126 ../../mod/group.php:38 ../../mod/group.php:137
-msgid "Privacy group not found."
-msgstr "Gruppo di canali non trovato."
-
-#: ../../include/items.php:5142
-msgid "Privacy group is empty."
-msgstr "Gruppo di canali vuoto."
-
-#: ../../include/items.php:5149
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Gruppo di canali: %s"
-
-#: ../../include/items.php:5159 ../../mod/connedit.php:701
-#, php-format
-msgid "Connection: %s"
-msgstr "Contatto: %s"
-
-#: ../../include/items.php:5161
-msgid "Connection not found."
-msgstr "Contatto non trovato."
-
-#: ../../include/items.php:5587 ../../mod/cover_photo.php:229
-msgid "female"
-msgstr "femmina"
-
-#: ../../include/items.php:5588 ../../mod/cover_photo.php:230
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../include/items.php:5589 ../../mod/cover_photo.php:231
-msgid "male"
-msgstr "maschio"
-
-#: ../../include/items.php:5590 ../../mod/cover_photo.php:232
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../include/items.php:5592 ../../mod/cover_photo.php:234
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../include/items.php:5594
-msgid "profile photo"
-msgstr "foto del profilo"
-
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso."
-
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Aggiungi nuovi contatti a questo gruppo di canali"
-
-#: ../../include/group.php:267 ../../mod/admin.php:998
-msgid "All Channels"
-msgstr "Tutti i canali"
-
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "modifica"
-
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Modifica il gruppo"
-
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Crea un gruppo di canali"
-
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Canali che non sono in nessun gruppo"
-
-#: ../../include/photos.php:112
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'immagine supera il limite massimo di %lu bytes"
-
-#: ../../include/photos.php:119
-msgid "Image file is empty."
-msgstr "Il file dell'immagine è vuoto."
-
-#: ../../include/photos.php:146 ../../mod/profile_photo.php:225
-#: ../../mod/cover_photo.php:164
-msgid "Unable to process image"
-msgstr "Impossibile elaborare l'immagine"
-
-#: ../../include/photos.php:257
-msgid "Photo storage failed."
-msgstr "Impossibile salvare la foto."
-
-#: ../../include/photos.php:297
-msgid "a new photo"
-msgstr "una nuova foto"
-
-#: ../../include/photos.php:301
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s ha pubblicato %2$s su %3$s"
-
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Carica nuove foto"
-
-#: ../../include/text.php:394
-msgid "prev"
-msgstr "prec"
-
-#: ../../include/text.php:396
-msgid "first"
-msgstr "inizio"
-
-#: ../../include/text.php:425
-msgid "last"
-msgstr "fine"
-
-#: ../../include/text.php:428
-msgid "next"
-msgstr "succ"
-
-#: ../../include/text.php:438
-msgid "older"
-msgstr "più recenti"
-
-#: ../../include/text.php:440
-msgid "newer"
-msgstr "più nuovi"
-
-#: ../../include/text.php:822
-msgid "No connections"
-msgstr "Nessun contatto"
-
-#: ../../include/text.php:847
-#, php-format
-msgid "View all %s connections"
-msgstr "Mostra tutti i %s contatti"
-
-#: ../../include/text.php:992 ../../include/text.php:997
-msgid "poke"
-msgstr "poke"
-
-#: ../../include/text.php:998
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:998
-msgid "pinged"
-msgstr "ha effettuato un ping"
-
-#: ../../include/text.php:999
-msgid "prod"
-msgstr "spintone"
-
-#: ../../include/text.php:999
-msgid "prodded"
-msgstr "ha ricevuto uno spintone"
-
-#: ../../include/text.php:1000
-msgid "slap"
-msgstr "schiaffo"
-
-#: ../../include/text.php:1000
-msgid "slapped"
-msgstr "ha ricevuto uno schiaffo"
-
-#: ../../include/text.php:1001
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:1001
-msgid "fingered"
-msgstr "ha ricevuto un finger"
-
-#: ../../include/text.php:1002
-msgid "rebuff"
-msgstr "rifiuto"
-
-#: ../../include/text.php:1002
-msgid "rebuffed"
-msgstr "ha ricevuto un rifiuto"
-
-#: ../../include/text.php:1014
-msgid "happy"
-msgstr "felice"
-
-#: ../../include/text.php:1015
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:1016
-msgid "mellow"
-msgstr "calmo"
-
-#: ../../include/text.php:1017
-msgid "tired"
-msgstr "stanco"
-
-#: ../../include/text.php:1018
-msgid "perky"
-msgstr "vivace"
-
-#: ../../include/text.php:1019
-msgid "angry"
-msgstr "arrabbiato"
-
-#: ../../include/text.php:1020
-msgid "stupefied"
-msgstr "stupito"
-
-#: ../../include/text.php:1021
-msgid "puzzled"
-msgstr "confuso"
-
-#: ../../include/text.php:1022
-msgid "interested"
-msgstr "attento"
-
-#: ../../include/text.php:1023
-msgid "bitter"
-msgstr "amaro"
-
-#: ../../include/text.php:1024
-msgid "cheerful"
-msgstr "allegro"
-
-#: ../../include/text.php:1025
-msgid "alive"
-msgstr "vivace"
-
-#: ../../include/text.php:1026
-msgid "annoyed"
-msgstr "seccato"
-
-#: ../../include/text.php:1027
-msgid "anxious"
-msgstr "ansioso"
-
-#: ../../include/text.php:1028
-msgid "cranky"
-msgstr "irritabile"
-
-#: ../../include/text.php:1029
-msgid "disturbed"
-msgstr "turbato"
-
-#: ../../include/text.php:1030
-msgid "frustrated"
-msgstr "frustrato"
-
-#: ../../include/text.php:1031
-msgid "depressed"
-msgstr "in depressione"
-
-#: ../../include/text.php:1032
-msgid "motivated"
-msgstr "motivato"
-
-#: ../../include/text.php:1033
-msgid "relaxed"
-msgstr "rilassato"
-
-#: ../../include/text.php:1034
-msgid "surprised"
-msgstr "sorpreso"
-
-#: ../../include/text.php:1210
-msgid "May"
-msgstr "Mag"
-
-#: ../../include/text.php:1287 ../../include/text.php:1291
-msgid "Unknown Attachment"
-msgstr "Allegato non riconoscuto"
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
+#: ../../include/conversation.php:1208
+msgid "Share"
+msgstr "Condividi"
-#: ../../include/text.php:1293
-msgid "unknown"
-msgstr "sconosciuta"
+#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
+#: ../../include/page_widgets.php:39
+msgid "View"
+msgstr "Guarda"
-#: ../../include/text.php:1329
-msgid "remove category"
-msgstr "rimuovi la categoria"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Canale non trovato."
-#: ../../include/text.php:1406
-msgid "remove from file"
-msgstr "rimuovi dal file"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permesso negato."
-#: ../../include/text.php:1548 ../../include/text.php:1559
-msgid "Click to open/close"
-msgstr "Clicca per aprire/chiudere"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
+msgid "l, F j"
+msgstr "l j F"
-#: ../../include/text.php:1743 ../../mod/events.php:630 ../../mod/cal.php:302
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
msgid "Link to Source"
msgstr "Link al sito d'origine"
-#: ../../include/text.php:1764 ../../include/text.php:1836
-msgid "default"
-msgstr "predefinito"
-
-#: ../../include/text.php:1772
-msgid "Page layout"
-msgstr "Layout della pagina"
-
-#: ../../include/text.php:1772
-msgid "You can create your own with the layouts tool"
-msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
-
-#: ../../include/text.php:1814
-msgid "Page content type"
-msgstr "Tipo di contenuto della pagina"
-
-#: ../../include/text.php:1848
-msgid "Select an alternate language"
-msgstr "Seleziona una lingua diversa"
-
-#: ../../include/text.php:1980
-msgid "activity"
-msgstr "l'attività"
-
-#: ../../include/text.php:2275
-msgid "Design Tools"
-msgstr "Strumenti di design"
-
-#: ../../include/text.php:2278 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Block"
-
-#: ../../include/text.php:2279 ../../mod/menu.php:103
-msgid "Menus"
-msgstr "Menù"
-
-#: ../../include/text.php:2280 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Layout"
-
-#: ../../include/text.php:2281
-msgid "Pages"
-msgstr "Pagine"
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Devi scegliere un destinatario."
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[nessun titolo]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Impossibile determinare il mittente."
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Non è stato possibile verificare il post."
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e i post normali"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Può vedere il profilo predefinito del canale"
-
-#: ../../include/permissions.php:28
-msgid "Can view my connections"
-msgstr "Può vedere i miei contatti"
-
-#: ../../include/permissions.php:29
-msgid "Can view my file storage and photos"
-msgstr "Può vedere il mio archivio file e foto"
-
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
-msgstr "Può vedere le mie pagine web"
-
-#: ../../include/permissions.php:33
-msgid "Can send me their channel stream and posts"
-msgstr "È tra i canali che seguo"
-
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Può scrivere sulla bacheca del mio canale"
-
-#: ../../include/permissions.php:35
-msgid "Can comment on or like my posts"
-msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
-
-#: ../../include/permissions.php:36
-msgid "Can send me private mail messages"
-msgstr "Può inviarmi messaggi privati"
-
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
-msgstr "Può aggiungere \"mi piace\" a tutto il resto"
-
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
-msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"
-
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
-
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
-
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
-msgstr "Può aprire una chat con me (se disponibile)"
-
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
-msgstr "Può modificare il mio archivio file e foto"
-
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
-msgstr "Può modificare le mie pagine web"
-
-#: ../../include/permissions.php:44
-msgid "Can source my public posts in derived channels"
-msgstr "Può usare i miei post pubblici per creare canali derivati"
-
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
-
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
-msgstr "Può amministrare i contenuti del mio canale"
-
-#: ../../include/permissions.php:46
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
-
-#: ../../include/permissions.php:877
-msgid "Social Networking"
-msgstr "Social network"
-
-#: ../../include/permissions.php:877
-msgid "Social - Mostly Public"
-msgstr "Social - Prevalentemente pubblico"
-
-#: ../../include/permissions.php:877
-msgid "Social - Restricted"
-msgstr "Social - Con restrizioni"
-
-#: ../../include/permissions.php:877
-msgid "Social - Private"
-msgstr "Social - Privato"
-
-#: ../../include/permissions.php:878
-msgid "Community Forum"
-msgstr "Forum di discussione"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Mostly Public"
-msgstr "Social - Prevalentemente pubblico"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Restricted"
-msgstr "Forum - Con restrizioni"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Private"
-msgstr "Forum - Privato"
-
-#: ../../include/permissions.php:879
-msgid "Feed Republish"
-msgstr "Aggregatore di feed esterni"
-
-#: ../../include/permissions.php:879
-msgid "Feed - Mostly Public"
-msgstr "Feed - Prevalentemente pubblico"
-
-#: ../../include/permissions.php:879
-msgid "Feed - Restricted"
-msgstr "Feed - Con restrizioni"
-
-#: ../../include/permissions.php:880
-msgid "Special Purpose"
-msgstr "Per finalità speciali"
-
-#: ../../include/permissions.php:880
-msgid "Special - Celebrity/Soapbox"
-msgstr "Speciale - Pagina per fan"
-
-#: ../../include/permissions.php:880
-msgid "Special - Group Repository"
-msgstr "Speciale - Repository di gruppo"
-
-#: ../../include/permissions.php:881
-msgid "Custom/Expert Mode"
-msgstr "Personalizzazione per esperti"
-
-#: ../../include/security.php:383
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Email non valida"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "La tua email è già registrata su questo sito."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "È necessario un invito."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "L'invito non può essere verificato."
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Non è stato possibile salvare le informazioni del tuo account."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrazione di %s confermata"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "la password di registrazione"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Account approvato."
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Registrazione verificata. Adesso puoi effettuare login."
-
-#: ../../include/account.php:719 ../../include/account.php:721
-msgid "Click here to upgrade."
-msgstr "Clicca qui per aggiornare."
-
-#: ../../include/account.php:727
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Questa operazione supera i limiti del tuo abbonamento."
-
-#: ../../include/account.php:732
-msgid "This action is not available under your subscription plan."
-msgstr "Questa operazione non è prevista dal tuo abbonamento."
-
-#: ../../include/acl_selectors.php:218
-msgid "Visible to your default audience"
-msgstr "Visibile secondo le impostazioni predefinite"
-
-#: ../../include/acl_selectors.php:243
-msgid "Show"
-msgstr "Mostra"
-
-#: ../../include/acl_selectors.php:244
-msgid "Don't show"
-msgstr "Non mostrare"
-
-#: ../../include/acl_selectors.php:249
-msgid "Other networks and post services"
-msgstr "Invio ad altre reti o a siti esterni"
-
-#: ../../include/acl_selectors.php:251 ../../mod/chat.php:229
-#: ../../mod/filestorage.php:147 ../../mod/photos.php:666
-#: ../../mod/photos.php:1040 ../../mod/thing.php:309 ../../mod/thing.php:355
-msgid "Permissions"
-msgstr "Permessi"
-
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Chat senza nome"
-
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Il nome della chat è duplicato"
-
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Il nome della chat non è valido."
-
-#: ../../include/chat.php:122
-msgid "Room not found."
-msgstr "Chat non trovata."
-
-#: ../../include/chat.php:143
-msgid "Room is full"
-msgstr "La chat è al completo"
-
-#: ../../include/Contact.php:118
-msgid "New window"
-msgstr "Nuova finestra"
-
-#: ../../include/Contact.php:119
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-
-#: ../../include/Contact.php:237
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' eliminato"
-
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
-
-#: ../../mod/acl.php:221
-msgid "network"
-msgstr "rete"
-
-#: ../../mod/acl.php:231
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../mod/api.php:74 ../../mod/api.php:98
-msgid "Authorize application connection"
-msgstr "Autorizza la app"
-
-#: ../../mod/api.php:75
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna alla app e inserisci questo codice di sicurezza:"
-
-#: ../../mod/api.php:85
-msgid "Please login to continue."
-msgstr "Accedi al sito per continuare."
-
-#: ../../mod/api.php:100
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "App installata"
-
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "L'app contiene errori"
-
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Inserisci il codice"
-
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Modifica app"
-
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Crea una app"
-
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nome app"
-
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Indirizzo (URL) della app"
-
-#: ../../mod/appman.php:93 ../../mod/events.php:457 ../../mod/rbmark.php:97
-msgid "Description"
-msgstr "Descrizione"
-
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "URL icona"
-
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixel - facoltativa"
-
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "ID versione"
-
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Prezzo app"
-
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Indirizzo (URL) per acquistare la app"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Elemento non disponibile."
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Edit Event"
+msgstr "Modifica l'evento"
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Elemento non valido."
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Create Event"
+msgstr "Crea un evento"
-#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29
-#: ../../mod/cal.php:56
-msgid "Channel not found."
-msgstr "Canale non trovato."
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949
+msgid "Previous"
+msgstr "Precendente"
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nome del block"
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr "Successivo"
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Titolo del block"
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
+#: ../../include/widgets.php:755
+msgid "Export"
+msgstr "Esporta"
-#: ../../mod/bookmarks.php:40
-msgid "Bookmark added"
-msgstr "Segnalibro aggiunto"
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
+#: ../../include/widgets.php:756
+msgid "Import"
+msgstr "Importa"
-#: ../../mod/bookmarks.php:62
-msgid "My Bookmarks"
-msgstr "I miei segnalibri"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Salva"
-#: ../../mod/bookmarks.php:73
-msgid "My Connections Bookmarks"
-msgstr "I segnalibri dei miei contatti"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+msgid "Today"
+msgstr "Oggi"
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
msgid "You must be logged in to see this page."
msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../mod/channel.php:37
+#: ../../Zotlabs/Module/Channel.php:41
msgid "Posts and comments"
msgstr "Post e commenti"
-#: ../../mod/channel.php:38
+#: ../../Zotlabs/Module/Channel.php:42
msgid "Only posts"
msgstr "Solo post"
-#: ../../mod/channel.php:97
+#: ../../Zotlabs/Module/Channel.php:102
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
-#: ../../mod/channel.php:131 ../../mod/network.php:169 ../../mod/rpost.php:114
-msgid "Public"
-msgstr "Pubblico"
-
-#: ../../mod/chat.php:175
+#: ../../Zotlabs/Module/Chat.php:181
msgid "Room not found"
msgstr "Chat non trovata"
-#: ../../mod/chat.php:191
+#: ../../Zotlabs/Module/Chat.php:197
msgid "Leave Room"
msgstr "Lascia la chat"
-#: ../../mod/chat.php:192
+#: ../../Zotlabs/Module/Chat.php:198
msgid "Delete Room"
msgstr "Elimina questa chat"
-#: ../../mod/chat.php:193
+#: ../../Zotlabs/Module/Chat.php:199
msgid "I am away right now"
msgstr "Non sono presente"
-#: ../../mod/chat.php:194
+#: ../../Zotlabs/Module/Chat.php:200
msgid "I am online"
msgstr "Sono online"
-#: ../../mod/chat.php:196
+#: ../../Zotlabs/Module/Chat.php:202
msgid "Bookmark this room"
msgstr "Aggiungi questa chat ai segnalibri"
-#: ../../mod/chat.php:212
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
+msgid "Please enter a link URL:"
+msgstr "Inserisci l'indirizzo del link:"
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1256
+msgid "Encrypt text"
+msgstr "Cifratura del messaggio"
+
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
+msgid "Insert web link"
+msgstr "Inserisci un indirizzo web"
+
+#: ../../Zotlabs/Module/Chat.php:218
msgid "Feature disabled."
msgstr "Funzionalità disattivata."
-#: ../../mod/chat.php:226
+#: ../../Zotlabs/Module/Chat.php:232
msgid "New Chatroom"
msgstr "Nuova chat"
-#: ../../mod/chat.php:227
+#: ../../Zotlabs/Module/Chat.php:233
msgid "Chatroom name"
msgstr "Nome chat"
-#: ../../mod/chat.php:228
+#: ../../Zotlabs/Module/Chat.php:234
msgid "Expiration of chats (minutes)"
msgstr "Scadenza dei messaggi della chat (minuti)"
-#: ../../mod/chat.php:240
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr "Permessi"
+
+#: ../../Zotlabs/Module/Chat.php:246
#, php-format
msgid "%1$s's Chatrooms"
msgstr "Le chat di %1$s"
-#: ../../mod/chat.php:245
+#: ../../Zotlabs/Module/Chat.php:251
msgid "No chatrooms available"
msgstr "Nessuna chat disponibile"
-#: ../../mod/chat.php:246 ../../mod/manage.php:137 ../../mod/profiles.php:777
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Create New"
msgstr "Crea nuova"
-#: ../../mod/chat.php:249
+#: ../../Zotlabs/Module/Chat.php:255
msgid "Expiration"
msgstr "Scadenza"
-#: ../../mod/chat.php:250
+#: ../../Zotlabs/Module/Chat.php:256
msgid "min"
msgstr "min"
-#: ../../mod/chatsvc.php:111
+#: ../../Zotlabs/Module/Chatsvc.php:117
msgid "Away"
msgstr "Assente"
-#: ../../mod/chatsvc.php:116
+#: ../../Zotlabs/Module/Chatsvc.php:122
msgid "Online"
msgstr "Online"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Nessun canale."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Elemento non valido."
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Contatti in comune"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Segnalibro aggiunto"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Nessun contatto in comune."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "I miei segnalibri"
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "I segnalibri dei miei contatti"
+
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
msgstr "Continua"
-#: ../../mod/connect.php:85
+#: ../../Zotlabs/Module/Connect.php:90
msgid "Premium Channel Setup"
msgstr "Canale premium - configurazione"
-#: ../../mod/connect.php:87
+#: ../../Zotlabs/Module/Connect.php:92
msgid "Enable premium channel connection restrictions"
msgstr "Abilita le restrizioni del canale premium"
-#: ../../mod/connect.php:88
+#: ../../Zotlabs/Module/Connect.php:93
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
"This channel may require additional steps or acknowledgement of the "
"following conditions prior to connecting:"
msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
-#: ../../mod/connect.php:91
+#: ../../Zotlabs/Module/Connect.php:96
msgid ""
"Potential connections will then see the following text before proceeding:"
msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
msgid ""
"By continuing, I certify that I have complied with any instructions provided"
" on this page."
msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
-#: ../../mod/connect.php:101
+#: ../../Zotlabs/Module/Connect.php:106
msgid "(No specific instructions have been provided by the channel owner.)"
msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
-#: ../../mod/connect.php:109
+#: ../../Zotlabs/Module/Connect.php:114
msgid "Restricted or Premium Channel"
msgstr "Canale premium - con restrizioni"
-#: ../../mod/connections.php:52 ../../mod/connections.php:157
-#: ../../mod/connections.php:238
-msgid "Blocked"
-msgstr "Bloccati"
-
-#: ../../mod/connections.php:57 ../../mod/connections.php:164
-#: ../../mod/connections.php:237
-msgid "Ignored"
-msgstr "Ignorati"
-
-#: ../../mod/connections.php:62 ../../mod/connections.php:178
-#: ../../mod/connections.php:236
-msgid "Hidden"
-msgstr "Nascosti"
-
-#: ../../mod/connections.php:67 ../../mod/connections.php:171
-#: ../../mod/connections.php:235
-msgid "Archived"
-msgstr "Archiviati"
-
-#: ../../mod/connections.php:134
-msgid "New Connections"
-msgstr "Nuovi contatti"
-
-#: ../../mod/connections.php:137
-msgid "Show pending (new) connections"
-msgstr "Richieste di contatto in attesa"
-
-#: ../../mod/connections.php:141 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Tutti i contatti"
-
-#: ../../mod/connections.php:144
-msgid "Show all connections"
-msgstr "Mostra tutti i contatti"
-
-#: ../../mod/connections.php:160
-msgid "Only show blocked connections"
-msgstr "Mostra solo i contatti bloccati"
-
-#: ../../mod/connections.php:167
-msgid "Only show ignored connections"
-msgstr "Mostra solo i contatti ignorati"
-
-#: ../../mod/connections.php:174
-msgid "Only show archived connections"
-msgstr "Mostra solo i contatti archiviati"
-
-#: ../../mod/connections.php:181
-msgid "Only show hidden connections"
-msgstr "Mostra solo i contatti nascosti"
-
-#: ../../mod/connections.php:234
-msgid "Pending approval"
-msgstr "In attesa di conferma"
-
-#: ../../mod/connections.php:250
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:251
-msgid "Edit connection"
-msgstr "Modifica il contatto"
-
-#: ../../mod/connections.php:252
-msgid "Delete connection"
-msgstr "Elimina il contatto"
-
-#: ../../mod/connections.php:261
-msgid "Channel address"
-msgstr "Indirizzo del canale"
-
-#: ../../mod/connections.php:263
-msgid "Network"
-msgstr "Network"
-
-#: ../../mod/connections.php:266 ../../mod/admin.php:668
-msgid "Status"
-msgstr "Stato"
-
-#: ../../mod/connections.php:268
-msgid "Connected"
-msgstr "In contatto"
-
-#: ../../mod/connections.php:270
-msgid "Approve connection"
-msgstr "Approva questo contatto"
-
-#: ../../mod/connections.php:271 ../../mod/admin.php:991
-msgid "Approve"
-msgstr "Approva"
-
-#: ../../mod/connections.php:272
-msgid "Ignore connection"
-msgstr "Ignora il contatto"
-
-#: ../../mod/connections.php:273 ../../mod/connedit.php:545
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignora"
-
-#: ../../mod/connections.php:274
-msgid "Recent activity"
-msgstr "Attività recenti"
-
-#: ../../mod/connections.php:303
-msgid "Search your connections"
-msgstr "Cerca tra i contatti"
-
-#: ../../mod/connections.php:304
-msgid "Connections search"
-msgstr "Ricerca tra i contatti"
-
-#: ../../mod/connedit.php:75
+#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../mod/connedit.php:99
+#: ../../Zotlabs/Module/Connedit.php:104
msgid "Could not locate selected profile."
msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../mod/connedit.php:223
+#: ../../Zotlabs/Module/Connedit.php:227
msgid "Connection updated."
msgstr "Contatto aggiornato."
-#: ../../mod/connedit.php:225
+#: ../../Zotlabs/Module/Connedit.php:229
msgid "Failed to update connection record."
msgstr "Impossibile aggiornare le informazioni del contatto."
-#: ../../mod/connedit.php:272
+#: ../../Zotlabs/Module/Connedit.php:276
msgid "is now connected to"
msgstr "ha come nuovo contatto"
-#: ../../mod/connedit.php:407
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "No"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Sì"
+
+#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../mod/connedit.php:421
+#: ../../Zotlabs/Module/Connedit.php:425
msgid "Refresh failed - channel is currently unavailable."
msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:445
-#: ../../mod/connedit.php:454 ../../mod/connedit.php:463
-#: ../../mod/connedit.php:476
+#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
+#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Unable to set address book parameters."
msgstr "Impossibile impostare i parametri della rubrica."
-#: ../../mod/connedit.php:500
+#: ../../Zotlabs/Module/Connedit.php:503
msgid "Connection has been removed."
msgstr "Il contatto è stato rimosso."
-#: ../../mod/connedit.php:519
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:86 ../../include/conversation.php:954
+msgid "View Profile"
+msgstr "Profilo"
+
+#: ../../Zotlabs/Module/Connedit.php:522
#, php-format
msgid "View %s's profile"
msgstr "Guarda il profilo di %s"
-#: ../../mod/connedit.php:523
+#: ../../Zotlabs/Module/Connedit.php:526
msgid "Refresh Permissions"
msgstr "Modifica i permessi"
-#: ../../mod/connedit.php:526
+#: ../../Zotlabs/Module/Connedit.php:529
msgid "Fetch updated permissions"
msgstr "Guarda e modifica i permessi assegnati"
-#: ../../mod/connedit.php:530
+#: ../../Zotlabs/Module/Connedit.php:533
msgid "Recent Activity"
msgstr "Attività recenti"
-#: ../../mod/connedit.php:533
+#: ../../Zotlabs/Module/Connedit.php:536
msgid "View recent posts and comments"
msgstr "Leggi i post recenti e i commenti"
-#: ../../mod/connedit.php:537 ../../mod/admin.php:995
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
msgid "Unblock"
msgstr "Sblocca"
-#: ../../mod/connedit.php:537 ../../mod/admin.php:994
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
msgid "Block"
msgstr "Blocca"
-#: ../../mod/connedit.php:540
+#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
-#: ../../mod/connedit.php:541
+#: ../../Zotlabs/Module/Connedit.php:544
msgid "This connection is blocked!"
msgstr "Questa connessione è tra quelle bloccate!"
-#: ../../mod/connedit.php:545
+#: ../../Zotlabs/Module/Connedit.php:548
msgid "Unignore"
msgstr "Non ignorare"
-#: ../../mod/connedit.php:548
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignora"
+
+#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
-#: ../../mod/connedit.php:549
+#: ../../Zotlabs/Module/Connedit.php:552
msgid "This connection is ignored!"
msgstr "Questa connessione è tra quelle ignorate!"
-#: ../../mod/connedit.php:553
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Unarchive"
msgstr "Non archiviare"
-#: ../../mod/connedit.php:553
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Archive"
msgstr "Archivia"
-#: ../../mod/connedit.php:556
+#: ../../Zotlabs/Module/Connedit.php:559
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
-#: ../../mod/connedit.php:557
+#: ../../Zotlabs/Module/Connedit.php:560
msgid "This connection is archived!"
msgstr "Questa connessione è tra quelle archiviate!"
-#: ../../mod/connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Unhide"
msgstr "Non nascondere"
-#: ../../mod/connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Hide"
msgstr "Nascondi"
-#: ../../mod/connedit.php:564
+#: ../../Zotlabs/Module/Connedit.php:567
msgid "Hide or Unhide this connection from your other connections"
msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
-#: ../../mod/connedit.php:565
+#: ../../Zotlabs/Module/Connedit.php:568
msgid "This connection is hidden!"
msgstr "Questa connessione è tra quelle nascoste!"
-#: ../../mod/connedit.php:572
+#: ../../Zotlabs/Module/Connedit.php:575
msgid "Delete this connection"
msgstr "Elimina questo contatto"
-#: ../../mod/connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
+msgid "Me"
+msgstr "Me"
+
+#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
+msgid "Family"
+msgstr "Famiglia"
+
+#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
+msgid "Friends"
+msgstr "Amici"
+
+#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr "Conoscenti"
+
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Tutti"
+
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Approva questo contatto"
-#: ../../mod/connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Accept connection to allow communication"
msgstr "Entra in contatto per poter comunicare"
-#: ../../mod/connedit.php:658
+#: ../../Zotlabs/Module/Connedit.php:659
msgid "Set Affinity"
msgstr "Scegli l'affinità"
-#: ../../mod/connedit.php:661
+#: ../../Zotlabs/Module/Connedit.php:662
msgid "Set Profile"
msgstr "Scegli il profilo da mostrare"
-#: ../../mod/connedit.php:664
+#: ../../Zotlabs/Module/Connedit.php:665
msgid "Set Affinity & Profile"
msgstr "Affinità e profilo"
-#: ../../mod/connedit.php:697
+#: ../../Zotlabs/Module/Connedit.php:698
msgid "none"
msgstr "--"
-#: ../../mod/connedit.php:702
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr "Permessi predefiniti dei nuovi contatti"
+
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
+#, php-format
+msgid "Connection: %s"
+msgstr "Contatto: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Apply these permissions automatically"
msgstr "Applica automaticamente questi permessi"
-#: ../../mod/connedit.php:702
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Connection requests will be approved without your interaction"
msgstr "Le richieste di entrare in contatto saranno approvate in automatico"
-#: ../../mod/connedit.php:704
+#: ../../Zotlabs/Module/Connedit.php:705
msgid "This connection's primary address is"
msgstr "Indirizzo primario di questo canale"
-#: ../../mod/connedit.php:705
+#: ../../Zotlabs/Module/Connedit.php:706
msgid "Available locations:"
msgstr "Indirizzi disponibili"
-#: ../../mod/connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:710
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
-#: ../../mod/connedit.php:711
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Connection Tools"
+msgstr "Gestione dei contatti"
+
+#: ../../Zotlabs/Module/Connedit.php:713
msgid "Slide to adjust your degree of friendship"
msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../mod/connedit.php:713
+#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Valutazioni"
+
+#: ../../Zotlabs/Module/Connedit.php:715
msgid "Slide to adjust your rating"
msgstr "Trascina per cambiare la tua valutazione"
-#: ../../mod/connedit.php:714 ../../mod/connedit.php:719
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
msgid "Optionally explain your rating"
msgstr "Commento facoltativo"
-#: ../../mod/connedit.php:716
+#: ../../Zotlabs/Module/Connedit.php:718
msgid "Custom Filter"
msgstr "Filtro personalizzato"
-#: ../../mod/connedit.php:717
+#: ../../Zotlabs/Module/Connedit.php:719
msgid "Only import posts with this text"
msgstr "Importa solo i post che contengono queste parole chiave"
-#: ../../mod/connedit.php:717 ../../mod/connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "per ogni riga: parole, #tag, /pattern/ o lang=xx , lascia vuoto per importare tutto"
-#: ../../mod/connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:720
msgid "Do not import posts with this text"
msgstr "Non importare i post con queste parole chiave"
-#: ../../mod/connedit.php:720
+#: ../../Zotlabs/Module/Connedit.php:722
msgid "This information is public!"
msgstr "Questa informazione è pubblica!"
-#: ../../mod/connedit.php:725
+#: ../../Zotlabs/Module/Connedit.php:727
msgid "Connection Pending Approval"
msgstr "Contatti in attesa di approvazione"
-#: ../../mod/connedit.php:728
+#: ../../Zotlabs/Module/Connedit.php:730
msgid "inherited"
msgstr "derivato"
-#: ../../mod/connedit.php:730
+#: ../../Zotlabs/Module/Connedit.php:732
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso."
-#: ../../mod/connedit.php:732
+#: ../../Zotlabs/Module/Connedit.php:734
msgid "Their Settings"
msgstr "Permessi concessi a te"
-#: ../../mod/connedit.php:733
+#: ../../Zotlabs/Module/Connedit.php:735
msgid "My Settings"
msgstr "Permessi che concedo"
-#: ../../mod/connedit.php:735
+#: ../../Zotlabs/Module/Connedit.php:737
msgid "Individual Permissions"
msgstr "Permessi individuali"
-#: ../../mod/connedit.php:736
+#: ../../Zotlabs/Module/Connedit.php:738
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4956,7 +880,7 @@ msgid ""
" settings here."
msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
-#: ../../mod/connedit.php:737
+#: ../../Zotlabs/Module/Connedit.php:739
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4964,660 +888,916 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali."
-#: ../../mod/connedit.php:738
+#: ../../Zotlabs/Module/Connedit.php:740
msgid "Last update:"
msgstr "Ultimo aggiornamento:"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canale $Projectname"
-
-#: ../../mod/directory.php:59 ../../mod/display.php:13
-#: ../../mod/photos.php:517 ../../mod/ratings.php:82 ../../mod/search.php:13
-#: ../../mod/viewconnections.php:17
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
msgid "Public access denied."
msgstr "Accesso pubblico negato."
-#: ../../mod/directory.php:239
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d valutazione"
msgstr[1] "%d valutazioni"
-#: ../../mod/directory.php:250
+#: ../../Zotlabs/Module/Directory.php:254
msgid "Gender: "
msgstr "Sesso:"
-#: ../../mod/directory.php:252
+#: ../../Zotlabs/Module/Directory.php:256
msgid "Status: "
msgstr "Stato:"
-#: ../../mod/directory.php:254
+#: ../../Zotlabs/Module/Directory.php:258
msgid "Homepage: "
msgstr "Homepage:"
-#: ../../mod/directory.php:313
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
+msgid "Age:"
+msgstr "Età:"
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/channel.php:1027
+#: ../../include/bb2diaspora.php:507
+msgid "Location:"
+msgstr "Luogo:"
+
+#: ../../Zotlabs/Module/Directory.php:317
msgid "Description:"
msgstr "Descrizione:"
-#: ../../mod/directory.php:322
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
+msgid "Hometown:"
+msgstr "Città dove vivo:"
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
+msgid "About:"
+msgstr "Informazioni:"
+
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/conversation.php:956 ../../include/channel.php:1012
+msgid "Connect"
+msgstr "Aggiungi"
+
+#: ../../Zotlabs/Module/Directory.php:326
msgid "Public Forum:"
msgstr "Forum pubblico:"
-#: ../../mod/directory.php:325
+#: ../../Zotlabs/Module/Directory.php:329
msgid "Keywords: "
msgstr "Parole chiave:"
-#: ../../mod/directory.php:328
+#: ../../Zotlabs/Module/Directory.php:332
msgid "Don't suggest"
msgstr "Non fornire suggerimenti"
-#: ../../mod/directory.php:330
+#: ../../Zotlabs/Module/Directory.php:334
msgid "Common connections:"
msgstr "Contatti in comune:"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Global Directory"
msgstr "Elenchi pubblici globali"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Local Directory"
msgstr "Elenco canali su questo hub"
-#: ../../mod/directory.php:385
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Cerca"
+
+#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Ricerca:"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canali suggeriti"
+
+#: ../../Zotlabs/Module/Directory.php:394
msgid "next page"
msgstr "pagina successiva"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:394
msgid "previous page"
msgstr "pagina precedente"
-#: ../../mod/directory.php:391
+#: ../../Zotlabs/Module/Directory.php:395
msgid "Sort options"
msgstr "Opzioni di ordinamento"
-#: ../../mod/directory.php:392
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Alphabetic"
msgstr "Alfabetico"
-#: ../../mod/directory.php:393
+#: ../../Zotlabs/Module/Directory.php:397
msgid "Reverse Alphabetic"
msgstr "Alfabetico inverso"
-#: ../../mod/directory.php:394
+#: ../../Zotlabs/Module/Directory.php:398
msgid "Newest to Oldest"
msgstr "Prima i più recenti"
-#: ../../mod/directory.php:395
+#: ../../Zotlabs/Module/Directory.php:399
msgid "Oldest to Newest"
msgstr "Prima i più vecchi"
-#: ../../mod/directory.php:412
+#: ../../Zotlabs/Module/Directory.php:416
msgid "No entries (some entries may be hidden)."
msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
-#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
-msgid "This site is not a directory server"
-msgstr "Questo non è un directory server"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Elemento non trovato."
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Questo directory server necessita di un token di autenticazione"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Elemento non trovato"
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr "Messaggio non valido"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Titolo (facoltativo)"
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr "nessun risultato"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Modifica il block"
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Nessun canale."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Contatti in comune"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Nessun contatto in comune."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Bloccati"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignorati"
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Nascosti"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Archiviati"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Novità"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Nuovi contatti"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Richieste di contatto in attesa"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Tutti i contatti"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Mostra tutti i contatti"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Mostra solo i contatti bloccati"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Mostra solo i contatti ignorati"
-#: ../../mod/dreport.php:60
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Mostra solo i contatti archiviati"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Mostra solo i contatti nascosti"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "In attesa di conferma"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Rapporto di consegna - %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr "sincronizzazione del canale effettuata"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Modifica il contatto"
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr "in coda"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Elimina il contatto"
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr "inviato"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Indirizzo del canale"
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr "accettato per la spedizione"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Network"
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr "aggiornato"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Stato"
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr "aggiornamento ignorato"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "In contatto"
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr "permessi non sufficienti"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Approva questo contatto"
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr "Destinatario non trovato"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Approva"
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr "messaggio richiamato dal mittente"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Ignora il contatto"
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr "ricevuto messaggio duplicato"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Attività recenti"
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr "messaggio recapitato"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Contatti"
-#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
-#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
-#: ../../mod/editwebpage.php:77
-msgid "Item not found"
-msgstr "Elemento non trovato"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Cerca"
-#: ../../mod/editblock.php:118
-msgid "Delete block?"
-msgstr "Vuoi eliminare questo block?"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Cerca tra i contatti"
-#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:185
-msgid "Insert YouTube video"
-msgstr "Inserisci video da YouTube"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Ricerca tra i contatti"
-#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
-#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:186
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserisci video Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-#: ../../mod/editblock.php:147 ../../mod/editlayout.php:145
-#: ../../mod/editpost.php:123 ../../mod/editwebpage.php:187
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserisci audio Vorbis [.ogg]"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Copertine del canale"
-#: ../../mod/editblock.php:180
-msgid "Edit Block"
-msgstr "Modifica il block"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "Il ridimensionamento dell'immagine è fallito."
-#: ../../mod/editlayout.php:112
-msgid "Delete layout?"
-msgstr "Vuoi eliminare questo layout?"
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "Impossibile elaborare l'immagine"
-#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descrizione del layout (facoltativa)"
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "Il caricamento dell'immagine è fallito."
-#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nome layout"
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Impossibile elaborare l'immagine."
-#: ../../mod/editlayout.php:178
-msgid "Edit Layout"
-msgstr "Modifica il layout"
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "femmina"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../mod/editpost.php:57
-msgid "Delete item?"
-msgstr "Eliminare questo elemento?"
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "maschio"
-#: ../../mod/editpost.php:164 ../../mod/rpost.php:128
-msgid "Edit post"
-msgstr "Modifica post"
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../mod/editwebpage.php:153
-msgid "Delete webpage?"
-msgstr "Vuoi eliminare questa pagina web?"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "Copertina del canale"
-#: ../../mod/editwebpage.php:172
-msgid "Page link title"
-msgstr "Link del titolo"
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Foto non disponibile."
-#: ../../mod/editwebpage.php:222
-msgid "Edit Webpage"
-msgstr "Modifica la pagina web"
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Carica un file:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Seleziona un profilo:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Carica una copertina"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "o"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "salta questo passaggio"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "seleziona una foto dai tuoi album"
-#: ../../mod/events.php:21
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Ritaglia immagine"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Modifica terminata"
+
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
+
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr "Modifica post"
+
+#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Le voci del calendario sono state importate."
-#: ../../mod/events.php:23
+#: ../../Zotlabs/Module/Events.php:28
msgid "No calendar entries found."
msgstr "Non sono state trovate voci del calendario."
-#: ../../mod/events.php:100
+#: ../../Zotlabs/Module/Events.php:105
msgid "Event can not end before it has started."
msgstr "Un evento non può terminare prima del suo inizio."
-#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
msgid "Unable to generate preview."
msgstr "Impossibile creare un'anteprima."
-#: ../../mod/events.php:109
+#: ../../Zotlabs/Module/Events.php:114
msgid "Event title and start time are required."
msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
-#: ../../mod/events.php:129 ../../mod/events.php:254
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
msgid "Event not found."
msgstr "Evento non trovato."
-#: ../../mod/events.php:444
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
+msgid "event"
+msgstr "l'evento"
+
+#: ../../Zotlabs/Module/Events.php:449
msgid "Edit event title"
msgstr "Modifica il titolo dell'evento"
-#: ../../mod/events.php:444
+#: ../../Zotlabs/Module/Events.php:449
msgid "Event title"
msgstr "Titolo dell'evento"
-#: ../../mod/events.php:446
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Obbligatorio"
+
+#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Categorie (separate da virgola)"
-#: ../../mod/events.php:447
+#: ../../Zotlabs/Module/Events.php:452
msgid "Edit Category"
msgstr "Modifica la categoria"
-#: ../../mod/events.php:447
+#: ../../Zotlabs/Module/Events.php:452
msgid "Category"
msgstr "Categoria"
-#: ../../mod/events.php:450
+#: ../../Zotlabs/Module/Events.php:455
msgid "Edit start date and time"
msgstr "Modifica data/ora di inizio"
-#: ../../mod/events.php:450
+#: ../../Zotlabs/Module/Events.php:455
msgid "Start date and time"
msgstr "Data e ora di inizio"
-#: ../../mod/events.php:451 ../../mod/events.php:454
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
msgid "Finish date and time are not known or not relevant"
msgstr "La data e l'ora di fine non sono necessarie"
-#: ../../mod/events.php:453
+#: ../../Zotlabs/Module/Events.php:458
msgid "Edit finish date and time"
msgstr "Modifica data/ora di fine"
-#: ../../mod/events.php:453
+#: ../../Zotlabs/Module/Events.php:458
msgid "Finish date and time"
msgstr "Data e ora di fine"
-#: ../../mod/events.php:455 ../../mod/events.php:456
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
msgid "Adjust for viewer timezone"
msgstr "Adatta al fuso orario di chi legge"
-#: ../../mod/events.php:455
+#: ../../Zotlabs/Module/Events.php:460
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Importante per eventi che avvengono online ma con un certo fuso orario."
-#: ../../mod/events.php:457
+#: ../../Zotlabs/Module/Events.php:462
msgid "Edit Description"
msgstr "Modifica la descrizione"
-#: ../../mod/events.php:459
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Descrizione"
+
+#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Modifica il luogo"
-#: ../../mod/events.php:462 ../../mod/events.php:464
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Posizione geografica"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
msgid "Share this event"
msgstr "Condividi questo evento"
-#: ../../mod/events.php:469
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
+msgid "Preview"
+msgstr "Anteprima"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
+msgid "Permission settings"
+msgstr "Permessi dei tuoi contatti"
+
+#: ../../Zotlabs/Module/Events.php:476
msgid "Advanced Options"
msgstr "Opzioni avanzate"
-#: ../../mod/events.php:581 ../../mod/cal.php:253
-msgid "l, F j"
-msgstr "l j F"
-
-#: ../../mod/events.php:603
+#: ../../Zotlabs/Module/Events.php:610
msgid "Edit event"
msgstr "Modifica l'evento"
-#: ../../mod/events.php:605
+#: ../../Zotlabs/Module/Events.php:612
msgid "Delete event"
msgstr "Elimina l'evento"
-#: ../../mod/events.php:639
+#: ../../Zotlabs/Module/Events.php:646
msgid "calendar"
msgstr "calendario"
-#: ../../mod/events.php:658 ../../mod/cal.php:325
-msgid "Edit Event"
-msgstr "Modifica l'evento"
-
-#: ../../mod/events.php:658 ../../mod/cal.php:325
-msgid "Create Event"
-msgstr "Crea un evento"
-
-#: ../../mod/events.php:659 ../../mod/events.php:666 ../../mod/photos.php:944
-#: ../../mod/cal.php:326 ../../mod/cal.php:333
-msgid "Previous"
-msgstr "Precendente"
-
-#: ../../mod/events.php:660 ../../mod/events.php:667 ../../mod/photos.php:953
-#: ../../mod/setup.php:291 ../../mod/cal.php:327 ../../mod/cal.php:334
-msgid "Next"
-msgstr "Successivo"
-
-#: ../../mod/events.php:668 ../../mod/cal.php:335
-msgid "Today"
-msgstr "Oggi"
-
-#: ../../mod/events.php:699
+#: ../../Zotlabs/Module/Events.php:706
msgid "Event removed"
msgstr "Evento eliminato"
-#: ../../mod/events.php:702
+#: ../../Zotlabs/Module/Events.php:709
msgid "Failed to remove event"
msgstr "Impossibile eliminare l'evento"
-#: ../../mod/ffsapi.php:8
-msgid "Share content from Firefox to $Projectname"
-msgstr "Condividi i contenuti su $Projectname da Firefox"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
+msgid "Photos"
+msgstr "Foto"
-#: ../../mod/ffsapi.php:11
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Attiva Firefox Share per $Projectname"
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Annulla"
+
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Questo non è un directory server"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Questo directory server necessita di un token di autenticazione"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Salva nella cartella:"
-#: ../../mod/filer.php:48
+#: ../../Zotlabs/Module/Filer.php:52
msgid "- select -"
msgstr "- scegli -"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Salva"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "File non trovato."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Messaggio non valido"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Modifica i permessi del file"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "nessun risultato"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Modifica i permessi"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Rapporto di consegna - %1$s"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Includi tutti i file e le sottocartelle"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "sincronizzazione del canale effettuata"
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Torna all'elenco dei file"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "in coda"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/incolla questo codice per far comparire il file in un post"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "inviato"
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "accettato per la spedizione"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Condividi questo file"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "aggiornato"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Mostra l'URL del file"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "aggiornamento ignorato"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifica ai contatti che hai caricato questo file"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "permessi non sufficienti"
-#: ../../mod/follow.php:27
-msgid "Channel added."
-msgstr "Canale aggiunto."
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "Destinatario non trovato"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contatto non trovato."
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "messaggio richiamato dal mittente"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggerimento di amicizia inviato."
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "ricevuto messaggio duplicato"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggerisci amici"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "messaggio recapitato"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggerisci un amico a %s"
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Nome layout"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Descrizione del layout (facoltativa)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Modifica il layout"
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "Link alla pagina"
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Modifica la pagina web"
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Canale aggiunto."
+
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "rete"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
-#: ../../mod/group.php:20
+#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "Gruppo di canali creato."
-#: ../../mod/group.php:26
+#: ../../Zotlabs/Module/Group.php:30
msgid "Could not create privacy group."
msgstr "Impossibile creare il gruppo di canali."
-#: ../../mod/group.php:54
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3893
+msgid "Privacy group not found."
+msgstr "Gruppo di canali non trovato."
+
+#: ../../Zotlabs/Module/Group.php:58
msgid "Privacy group updated."
msgstr "Gruppo di canali aggiornato."
-#: ../../mod/group.php:86
+#: ../../Zotlabs/Module/Group.php:90
msgid "Create a group of channels."
msgstr "Crea un gruppo di canali."
-#: ../../mod/group.php:87 ../../mod/group.php:180
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
msgid "Privacy group name: "
msgstr "Nome del gruppo di canali:"
-#: ../../mod/group.php:89 ../../mod/group.php:183
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
msgid "Members are visible to other channels"
msgstr "I membri potranno vedere gli altri canali del gruppo"
-#: ../../mod/group.php:107
+#: ../../Zotlabs/Module/Group.php:111
msgid "Privacy group removed."
msgstr "Gruppo di canali rimosso."
-#: ../../mod/group.php:109
+#: ../../Zotlabs/Module/Group.php:113
msgid "Unable to remove privacy group."
msgstr "Impossibile rimuovere il gruppo di canali."
-#: ../../mod/group.php:179
+#: ../../Zotlabs/Module/Group.php:183
msgid "Privacy group editor"
msgstr "Editor dei gruppi di canali"
-#: ../../mod/group.php:193
+#: ../../Zotlabs/Module/Group.php:197
msgid "Members"
msgstr "Membri"
-#: ../../mod/group.php:195
+#: ../../Zotlabs/Module/Group.php:199
msgid "All Connected Channels"
msgstr "Tutti i canali connessi"
-#: ../../mod/group.php:227
+#: ../../Zotlabs/Module/Group.php:231
msgid "Click on a channel to add or remove."
msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
-#: ../../mod/help.php:163
-msgid "Documentation Search"
-msgstr "Ricerca nella guida"
-
-#: ../../mod/help.php:204 ../../mod/help.php:210 ../../mod/help.php:216
-msgid "Help:"
-msgstr "Guida:"
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Condividi i contenuti su $Projectname da Firefox"
-#: ../../mod/help.php:257
-msgid "$Projectname Documentation"
-msgstr "Guida di $Projectname"
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Attiva Firefox Share per $Projectname"
-#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Autorizza la app"
-#: ../../mod/home.php:75
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Torna alla app e inserisci questo codice di sicurezza:"
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Nome"
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Accedi al sito per continuare."
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Cognome"
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Nick"
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
+msgstr "Ricerca nella guida"
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Nome e cognome"
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
+msgstr "Guida:"
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Foto del profilo 16px"
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
+#: ../../include/nav.php:159
+msgid "Help"
+msgstr "Guida"
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Foto del profilo 32px"
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
+msgstr "Guida di $Projectname"
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Foto del profilo 48px"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Permesso negato."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Foto del profilo 64px"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "File non trovato."
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Foto del profilo 80px"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Modifica i permessi del file"
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Foto del profilo 128px"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Modifica i permessi"
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Fuso orario"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Includi tutti i file e le sottocartelle"
-#: ../../mod/id.php:27 ../../mod/profiles.php:730
-msgid "Homepage URL"
-msgstr "Indirizzo home page"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Torna all'elenco dei file"
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Anno di nascita"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/incolla questo codice per far comparire il file in un post"
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Mese di nascita"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Giorno di nascita"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Condividi questo file"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Data di nascita"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Mostra l'URL del file"
-#: ../../mod/id.php:33 ../../mod/profiles.php:449
-msgid "Gender"
-msgstr "Sesso"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Notifica ai contatti che hai caricato questo file"
-#: ../../mod/impel.php:192
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento installato"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "App"
-#: ../../mod/impel.php:195
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elementi con installazione fallita: %s"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Elemento non disponibile."
-#: ../../mod/import.php:28
+#: ../../Zotlabs/Module/Import.php:32
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Il tuo account permette di creare al massimo %d canali."
-#: ../../mod/import.php:66 ../../mod/import_items.php:38
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
msgid "Nothing to import."
msgstr "Non c'è niente da importare."
-#: ../../mod/import.php:90 ../../mod/import_items.php:62
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
msgid "Unable to download data from old server"
msgstr "Impossibile importare i dati dal vecchio hub"
-#: ../../mod/import.php:96 ../../mod/import_items.php:68
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
msgid "Imported file is empty."
msgstr "Il file da importare è vuoto."
-#: ../../mod/import.php:118 ../../mod/import_items.php:82
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
-#: ../../mod/import.php:156
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+
+#: ../../Zotlabs/Module/Import.php:160
msgid "No channel. Import failed."
msgstr "Nessun canale. Import fallito."
-#: ../../mod/import.php:531
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo."
+
+#: ../../Zotlabs/Module/Import.php:532
msgid "You must be logged in to use this feature."
msgstr "Per questa funzionalità devi aver effettuato l'accesso."
-#: ../../mod/import.php:536
+#: ../../Zotlabs/Module/Import.php:537
msgid "Import Channel"
msgstr "Importa un canale"
-#: ../../mod/import.php:537
+#: ../../Zotlabs/Module/Import.php:538
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."
-#: ../../mod/import.php:538 ../../mod/import_items.php:115
+#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import_items.php:119
msgid "File to Upload"
msgstr "File da caricare"
-#: ../../mod/import.php:539
+#: ../../Zotlabs/Module/Import.php:540
msgid "Or provide the old server/hub details"
msgstr "Oppure fornisci i dettagli del vecchio hub"
-#: ../../mod/import.php:540
+#: ../../Zotlabs/Module/Import.php:541
msgid "Your old identity address (xyz@example.com)"
msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
-#: ../../mod/import.php:541
+#: ../../Zotlabs/Module/Import.php:542
msgid "Your old login email address"
msgstr "L'email che usavi per accedere sul vecchio hub"
-#: ../../mod/import.php:542
+#: ../../Zotlabs/Module/Import.php:543
msgid "Your old login password"
msgstr "La password per il vecchio hub"
-#: ../../mod/import.php:543
+#: ../../Zotlabs/Module/Import.php:544
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be"
@@ -5625,3760 +1805,4382 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."
-#: ../../mod/import.php:544
+#: ../../Zotlabs/Module/Import.php:545
msgid "Make this hub my primary location"
msgstr "Rendi questo hub il mio indirizzo primario"
-#: ../../mod/import.php:545
+#: ../../Zotlabs/Module/Import.php:546
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
-#: ../../mod/import.php:546
+#: ../../Zotlabs/Module/Import.php:547
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
-#: ../../mod/import_items.php:98
-msgid "Import completed"
-msgstr "Importazione completata"
-
-#: ../../mod/import_items.php:113
-msgid "Import Items"
-msgstr "Importa i contenuti"
-
-#: ../../mod/import_items.php:114
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
-
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Hai superato il numero massimo di inviti."
-
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: non è un indirizzo email valido."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on $Projectname"
-msgstr "Unisciti a noi su $Projectname"
-
-#: ../../mod/invite.php:70
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
-
-#: ../../mod/invite.php:75
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: la consegna del messaggio è fallita."
-
-#: ../../mod/invite.php:79
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d messaggio inviato."
-msgstr[1] "%d messaggi inviati."
-
-#: ../../mod/invite.php:98
-msgid "You have no more invitations available"
-msgstr "Non hai altri inviti disponibili"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Spedisci inviti"
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Inserisci gli indirizzi email, uno per riga:"
-
-#: ../../mod/invite.php:131 ../../mod/mail.php:246
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
-
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Entra nella mia comunità su $Projectname."
-
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code:"
-msgstr "Dovrai fornire questo codice invito:"
-
-#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
-
-#: ../../mod/invite.php:138
-msgid "or visit"
-msgstr "oppure visita"
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Clicca su [Aggiungi]"
-
-#: ../../mod/item.php:174
+#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "Impossibile trovare il messaggio originale."
-#: ../../mod/item.php:423
+#: ../../Zotlabs/Module/Item.php:427
msgid "Empty post discarded."
msgstr "Il post vuoto è stato ignorato."
-#: ../../mod/item.php:463
+#: ../../Zotlabs/Module/Item.php:467
msgid "Executable content type not permitted to this channel."
msgstr "I contenuti eseguibili non sono permessi su questo canale."
-#: ../../mod/item.php:843
+#: ../../Zotlabs/Module/Item.php:847
msgid "Duplicate post suppressed."
msgstr "I post duplicati sono scartati."
-#: ../../mod/item.php:973
+#: ../../Zotlabs/Module/Item.php:977
msgid "System error. Post not saved."
msgstr "Errore di sistema. Post non salvato."
-#: ../../mod/item.php:1240
+#: ../../Zotlabs/Module/Item.php:1241
msgid "Unable to obtain post information from database."
msgstr "Impossibile caricare il post dal database."
-#: ../../mod/item.php:1247
+#: ../../Zotlabs/Module/Item.php:1248
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
-#: ../../mod/item.php:1254
+#: ../../Zotlabs/Module/Item.php:1255
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
-#: ../../mod/layouts.php:176
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
+msgid "Layouts"
+msgstr "Layout"
+
+#: ../../Zotlabs/Module/Layouts.php:183
msgid "Comanche page description language help"
msgstr "Guida di Comanche Page Description Language"
-#: ../../mod/layouts.php:180
+#: ../../Zotlabs/Module/Layouts.php:187
msgid "Layout Description"
msgstr "Descrizione del layout"
-#: ../../mod/layouts.php:185
+#: ../../Zotlabs/Module/Layouts.php:192
msgid "Download PDL file"
msgstr "Scarica il file PDL"
-#: ../../mod/like.php:15
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Nome"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Cognome"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Nick"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Nome e cognome"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "Email"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Foto del profilo"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Foto del profilo 16px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Foto del profilo 32px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Foto del profilo 48px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Foto del profilo 64px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Foto del profilo 80px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Foto del profilo 128px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Fuso orario"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Indirizzo home page"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Lingua"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Anno di nascita"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Mese di nascita"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Giorno di nascita"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Data di nascita"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Sesso"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Maschio"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Femmina"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "pagina web"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "block"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "layout"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elementi con installazione fallita: %s"
+
+#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Mi piace/Non mi piace"
-#: ../../mod/like.php:20
+#: ../../Zotlabs/Module/Like.php:24
msgid "This action is restricted to members."
msgstr "Questa funzionalità è riservata agli iscritti."
-#: ../../mod/like.php:21
+#: ../../Zotlabs/Module/Like.php:25
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo $Projectname</a> o <a href=\"register\">registrarti come nuovo utente $Projectname</a>."
-#: ../../mod/like.php:101 ../../mod/like.php:127 ../../mod/like.php:165
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
msgid "Invalid request."
msgstr "Richiesta non valida."
-#: ../../mod/like.php:142
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "il canale"
+
+#: ../../Zotlabs/Module/Like.php:146
msgid "thing"
msgstr "Oggetto"
-#: ../../mod/like.php:188
+#: ../../Zotlabs/Module/Like.php:192
msgid "Channel unavailable."
msgstr "Canale non trovato."
-#: ../../mod/like.php:236
+#: ../../Zotlabs/Module/Like.php:240
msgid "Previous action reversed."
msgstr "Il comando precedente è stato annullato."
-#: ../../mod/like.php:420
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "la foto"
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1946 ../../include/conversation.php:148
+msgid "status"
+msgstr "il messaggio di stato"
+
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s piace %3$s di %2$s"
+
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "A %1$s non piace %3$s di %2$s"
+
+#: ../../Zotlabs/Module/Like.php:424
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s è d'accordo"
-#: ../../mod/like.php:422
+#: ../../Zotlabs/Module/Like.php:426
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non è d'accordo"
-#: ../../mod/like.php:424
+#: ../../Zotlabs/Module/Like.php:428
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non si esprime"
-#: ../../mod/like.php:426
+#: ../../Zotlabs/Module/Like.php:430
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s partecipa"
-#: ../../mod/like.php:428
+#: ../../Zotlabs/Module/Like.php:432
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non partecipa"
-#: ../../mod/like.php:430
+#: ../../Zotlabs/Module/Like.php:434
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s forse partecipa"
-#: ../../mod/like.php:533
+#: ../../Zotlabs/Module/Like.php:537
msgid "Action completed."
msgstr "Comando completato."
-#: ../../mod/like.php:534
+#: ../../Zotlabs/Module/Like.php:538
msgid "Thank you."
msgstr "Grazie."
-#: ../../mod/lockview.php:57
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "Importazione completata"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importa i contenuti"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Hai superato il numero massimo di inviti."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: non è un indirizzo email valido."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Unisciti a noi su $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: la consegna del messaggio è fallita."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d messaggio inviato."
+msgstr[1] "%d messaggi inviati."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Non hai altri inviti disponibili"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Spedisci inviti"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Inserisci gli indirizzi email, uno per riga:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Entra nella mia comunità su $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Dovrai fornire questo codice invito:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "oppure visita"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Clicca su [Aggiungi]"
+
+#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "Le informazioni remote sulla privacy non sono disponibili."
-#: ../../mod/lockview.php:78
+#: ../../Zotlabs/Module/Lockview.php:82
msgid "Visible to:"
msgstr "Visibile a:"
-#: ../../mod/locs.php:21 ../../mod/locs.php:50
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
msgid "Location not found."
msgstr "Indirizzo non trovato."
-#: ../../mod/locs.php:58
+#: ../../Zotlabs/Module/Locs.php:62
msgid "Location lookup failed."
msgstr "La ricerca dell'indirizzo è fallita."
-#: ../../mod/locs.php:62
+#: ../../Zotlabs/Module/Locs.php:66
msgid ""
"Please select another location to become primary before removing the primary"
" location."
msgstr "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."
-#: ../../mod/locs.php:91
+#: ../../Zotlabs/Module/Locs.php:95
msgid "Syncing locations"
msgstr "Sincronizzazione tra hub"
-#: ../../mod/locs.php:101
+#: ../../Zotlabs/Module/Locs.php:105
msgid "No locations found."
msgstr "Nessun indirizzo trovato."
-#: ../../mod/locs.php:112
+#: ../../Zotlabs/Module/Locs.php:116
msgid "Manage Channel Locations"
msgstr "Modifica gli indirizzi del canale"
-#: ../../mod/locs.php:114 ../../mod/admin.php:1158 ../../mod/profiles.php:465
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
msgid "Address"
msgstr "Indirizzo"
-#: ../../mod/locs.php:115
+#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr "Primario"
-#: ../../mod/locs.php:116 ../../mod/menu.php:109
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
msgid "Drop"
msgstr "Elimina"
-#: ../../mod/locs.php:118
+#: ../../Zotlabs/Module/Locs.php:122
msgid "Sync Now"
msgstr "Sincronizza ora"
-#: ../../mod/locs.php:119
+#: ../../Zotlabs/Module/Locs.php:123
msgid "Please wait several minutes between consecutive operations."
msgstr "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."
-#: ../../mod/locs.php:120
+#: ../../Zotlabs/Module/Locs.php:124
msgid ""
"When possible, drop a location by logging into that website/hub and removing"
" your channel."
msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."
-#: ../../mod/locs.php:121
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."
-#: ../../mod/ping.php:260
-msgid "sent you a private message"
-msgstr "ti ha inviato un messaggio privato"
-
-#: ../../mod/ping.php:308
-msgid "added your channel"
-msgstr "ha aggiunto il tuo canale"
-
-#: ../../mod/ping.php:350
-msgid "posted an event"
-msgstr "ha creato un evento"
-
-#: ../../mod/magic.php:69
+#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Hub non trovato."
-#: ../../mod/mail.php:34
+#: ../../Zotlabs/Module/Mail.php:38
msgid "Unable to lookup recipient."
msgstr "Impossibile associare un destinatario."
-#: ../../mod/mail.php:42
+#: ../../Zotlabs/Module/Mail.php:45
msgid "Unable to communicate with requested channel."
msgstr "Impossibile comunicare con il canale richiesto."
-#: ../../mod/mail.php:49
+#: ../../Zotlabs/Module/Mail.php:52
msgid "Cannot verify requested channel."
msgstr "Impossibile verificare il canale richiesto."
-#: ../../mod/mail.php:75
+#: ../../Zotlabs/Module/Mail.php:78
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-#: ../../mod/mail.php:140
+#: ../../Zotlabs/Module/Mail.php:143
msgid "Messages"
msgstr "Messaggi"
-#: ../../mod/mail.php:175
+#: ../../Zotlabs/Module/Mail.php:178
msgid "Message recalled."
msgstr "Messaggio revocato."
-#: ../../mod/mail.php:188
+#: ../../Zotlabs/Module/Mail.php:191
msgid "Conversation removed."
msgstr "Conversazione rimossa."
-#: ../../mod/mail.php:231
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Scade il YYYY-MM-DD HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:234
msgid "Requested channel is not in this network"
msgstr "Il canale cercato non è in questa rete"
-#: ../../mod/mail.php:239
+#: ../../Zotlabs/Module/Mail.php:242
msgid "Send Private Message"
msgstr "Invia un messaggio privato"
-#: ../../mod/mail.php:240 ../../mod/mail.php:370
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
msgid "To:"
msgstr "A:"
-#: ../../mod/mail.php:243 ../../mod/mail.php:372
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
msgid "Subject:"
msgstr "Oggetto:"
-#: ../../mod/mail.php:250
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1220
+msgid "Attach file"
+msgstr "Allega file"
+
+#: ../../Zotlabs/Module/Mail.php:253
msgid "Send"
msgstr "Invia"
-#: ../../mod/mail.php:342
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1251
+msgid "Set expiration date"
+msgstr "Data di scadenza"
+
+#: ../../Zotlabs/Module/Mail.php:340
msgid "Delete message"
msgstr "Elimina il messaggio"
-#: ../../mod/mail.php:343
+#: ../../Zotlabs/Module/Mail.php:341
msgid "Delivery report"
msgstr "Rapporto di trasmissione"
-#: ../../mod/mail.php:344
+#: ../../Zotlabs/Module/Mail.php:342
msgid "Recall message"
msgstr "Revoca il messaggio"
-#: ../../mod/mail.php:346
+#: ../../Zotlabs/Module/Mail.php:344
msgid "Message has been recalled."
msgstr "Il messaggio è stato revocato."
-#: ../../mod/mail.php:363
+#: ../../Zotlabs/Module/Mail.php:361
msgid "Delete Conversation"
msgstr "Elimina la conversazione"
-#: ../../mod/mail.php:365
+#: ../../Zotlabs/Module/Mail.php:363
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
-#: ../../mod/mail.php:369
+#: ../../Zotlabs/Module/Mail.php:367
msgid "Send Reply"
msgstr "Invia la risposta"
-#: ../../mod/mail.php:374
+#: ../../Zotlabs/Module/Mail.php:372
#, php-format
msgid "Your message for %s (%s):"
msgstr "Il tuo messaggio per %s (%s):"
-#: ../../mod/manage.php:130 ../../mod/new_channel.php:117
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
-#: ../../mod/manage.php:137
+#: ../../Zotlabs/Module/Manage.php:143
msgid "Create a new channel"
msgstr "Crea un nuovo canale"
-#: ../../mod/manage.php:159
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
+msgid "Channel Manager"
+msgstr "Gestione canali"
+
+#: ../../Zotlabs/Module/Manage.php:165
msgid "Current Channel"
msgstr "Canale attuale"
-#: ../../mod/manage.php:161
+#: ../../Zotlabs/Module/Manage.php:167
msgid "Switch to one of your channels by selecting it."
msgstr "Seleziona l'altro canale a cui vuoi passare."
-#: ../../mod/manage.php:162
+#: ../../Zotlabs/Module/Manage.php:168
msgid "Default Channel"
msgstr "Canale predefinito"
-#: ../../mod/manage.php:163
+#: ../../Zotlabs/Module/Manage.php:169
msgid "Make Default"
msgstr "Rendi predefinito"
-#: ../../mod/manage.php:166
+#: ../../Zotlabs/Module/Manage.php:172
#, php-format
msgid "%d new messages"
msgstr "%d nuovi messaggi"
-#: ../../mod/manage.php:167
+#: ../../Zotlabs/Module/Manage.php:173
#, php-format
msgid "%d new introductions"
msgstr "%d nuove richieste di entrare in contatto"
-#: ../../mod/manage.php:169
+#: ../../Zotlabs/Module/Manage.php:175
msgid "Delegated Channel"
msgstr "Canale delegato"
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Profili corrispondenti"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Nessun account valido trovato."
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "interessi personali:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Utente del sito (%s)"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Nessun risultato"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "È stato richiesto di reimpostare password su %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Reimposta la password"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "La password è stata reimpostata come richiesto."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "La tua nuova password è"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Salva o copia la tua nuova password, quindi"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "clicca qui per accedere"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La tua password su %s è cambiata"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Hai dimenticato la password?"
-#: ../../mod/menu.php:45
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "Indirizzo email"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Reimposta"
+
+#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
msgstr "Impossibile aggiornare il menù."
-#: ../../mod/menu.php:56
+#: ../../Zotlabs/Module/Menu.php:60
msgid "Unable to create menu."
msgstr "Impossibile creare il menù."
-#: ../../mod/menu.php:94 ../../mod/menu.php:106
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
msgid "Menu Name"
msgstr "Nome del menu"
-#: ../../mod/menu.php:94
+#: ../../Zotlabs/Module/Menu.php:98
msgid "Unique name (not visible on webpage) - required"
msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
-#: ../../mod/menu.php:95 ../../mod/menu.php:107
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
msgid "Menu Title"
msgstr "Titolo del menu"
-#: ../../mod/menu.php:95
+#: ../../Zotlabs/Module/Menu.php:99
msgid "Visible on webpage - leave empty for no title"
msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-#: ../../mod/menu.php:96
+#: ../../Zotlabs/Module/Menu.php:100
msgid "Allow Bookmarks"
msgstr "Permetti i segnalibri"
-#: ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
msgid "Menu may be used to store saved bookmarks"
msgstr "Puoi salvare i segnalibri nei menù"
-#: ../../mod/menu.php:97 ../../mod/menu.php:155
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
msgid "Submit and proceed"
msgstr "Salva e procedi"
-#: ../../mod/menu.php:113
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
+msgid "Menus"
+msgstr "Menù"
+
+#: ../../Zotlabs/Module/Menu.php:117
msgid "Bookmarks allowed"
msgstr "Permetti segnalibri"
-#: ../../mod/menu.php:115
+#: ../../Zotlabs/Module/Menu.php:119
msgid "Delete this menu"
msgstr "Elimina questo menù"
-#: ../../mod/menu.php:116 ../../mod/menu.php:150
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
msgid "Edit menu contents"
msgstr "Modifica i contenuti del menù"
-#: ../../mod/menu.php:117
+#: ../../Zotlabs/Module/Menu.php:121
msgid "Edit this menu"
msgstr "Modifica questo menù"
-#: ../../mod/menu.php:132
+#: ../../Zotlabs/Module/Menu.php:136
msgid "Menu could not be deleted."
msgstr "Il menù non può essere eliminato."
-#: ../../mod/menu.php:140 ../../mod/mitem.php:24
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
msgid "Menu not found."
msgstr "Menù non trovato."
-#: ../../mod/menu.php:145
+#: ../../Zotlabs/Module/Menu.php:149
msgid "Edit Menu"
msgstr "Modifica menù"
-#: ../../mod/menu.php:149
+#: ../../Zotlabs/Module/Menu.php:153
msgid "Add or remove entries to this menu"
msgstr "Aggiungi o rimuovi elementi di questo menù"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Menu name"
msgstr "Nome del menù"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Must be unique, only seen by you"
msgstr "Deve essere unico, lo vedrai solo tu"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title"
msgstr "Titolo del menù"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title as seen by others"
msgstr "Titolo del menù come comparirà a tutti"
-#: ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:157
msgid "Allow bookmarks"
msgstr "Permetti l'invio di segnalibri"
-#: ../../mod/menu.php:162 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
msgid "Not found."
msgstr "Non trovato."
-#: ../../mod/mitem.php:48
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s è %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Umore"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profili corrispondenti"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "interessi personali:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Nessun risultato"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "Impossibile trovare il gruppo di canali"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "Canale sconosciuto"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "forum"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "Il gruppo di canali è vuoto"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Gruppo di canali:"
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Contatto non valido."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Non ci sono nuove notifiche di sistema."
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Notifiche di sistema"
+
+#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Impossibile creare l'elemento."
-#: ../../mod/mitem.php:72
+#: ../../Zotlabs/Module/Mitem.php:76
msgid "Unable to update menu element."
msgstr "Non è possibile aggiornare l'elemento del menù."
-#: ../../mod/mitem.php:88
+#: ../../Zotlabs/Module/Mitem.php:92
msgid "Unable to add menu element."
msgstr "Impossibile aggiungere l'elemento al menù."
-#: ../../mod/mitem.php:149 ../../mod/mitem.php:222
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
msgid "Menu Item Permissions"
msgstr "Permessi del menu"
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1075
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
+#: ../../Zotlabs/Module/Settings.php:1068
msgid "(click to open/close)"
msgstr "(clicca per aprire/chiudere)"
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:168
+#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
msgid "Link Name"
msgstr "Nome link"
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:227
+#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
msgid "Link or Submenu Target"
msgstr "Azione del link o del sottomenu"
-#: ../../mod/mitem.php:153
+#: ../../Zotlabs/Module/Mitem.php:157
msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
-#: ../../mod/mitem.php:154 ../../mod/mitem.php:228
+#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
msgid "Use magic-auth if available"
msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile"
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:229
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
msgid "Open link in new window"
msgstr "Apri il link in una nuova finestra"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Order in list"
msgstr "Ordine dell'elenco"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Higher numbers will sink to bottom of listing"
msgstr "I numeri più alti andranno in fondo all'elenco"
-#: ../../mod/mitem.php:157
+#: ../../Zotlabs/Module/Mitem.php:161
msgid "Submit and finish"
msgstr "Salva e termina"
-#: ../../mod/mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:162
msgid "Submit and continue"
msgstr "Salva e continua"
-#: ../../mod/mitem.php:166
+#: ../../Zotlabs/Module/Mitem.php:170
msgid "Menu:"
msgstr "Menu:"
-#: ../../mod/mitem.php:169
+#: ../../Zotlabs/Module/Mitem.php:173
msgid "Link Target"
msgstr "Destinazione link"
-#: ../../mod/mitem.php:172
+#: ../../Zotlabs/Module/Mitem.php:176
msgid "Edit menu"
msgstr "Modifica il menù"
-#: ../../mod/mitem.php:175
+#: ../../Zotlabs/Module/Mitem.php:179
msgid "Edit element"
msgstr "Modifica l'elemento"
-#: ../../mod/mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:180
msgid "Drop element"
msgstr "Elimina l'elemento"
-#: ../../mod/mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:181
msgid "New element"
msgstr "Nuovo elemento"
-#: ../../mod/mitem.php:178
+#: ../../Zotlabs/Module/Mitem.php:182
msgid "Edit this menu container"
msgstr "Modifica il contenitore del menù"
-#: ../../mod/mitem.php:179
+#: ../../Zotlabs/Module/Mitem.php:183
msgid "Add menu element"
msgstr "Aggiungi un elemento al menù"
-#: ../../mod/mitem.php:180
+#: ../../Zotlabs/Module/Mitem.php:184
msgid "Delete this menu item"
msgstr "Elimina questo elemento del menù"
-#: ../../mod/mitem.php:181
+#: ../../Zotlabs/Module/Mitem.php:185
msgid "Edit this menu item"
msgstr "Modifica questo elemento del menù"
-#: ../../mod/mitem.php:198
+#: ../../Zotlabs/Module/Mitem.php:202
msgid "Menu item not found."
msgstr "L'elemento del menù non è stato trovato."
-#: ../../mod/mitem.php:211
+#: ../../Zotlabs/Module/Mitem.php:215
msgid "Menu item deleted."
msgstr "L'elemento del menù è stato eliminato."
-#: ../../mod/mitem.php:213
+#: ../../Zotlabs/Module/Mitem.php:217
msgid "Menu item could not be deleted."
msgstr "L'elemento del menù non può essere eliminato."
-#: ../../mod/mitem.php:220
+#: ../../Zotlabs/Module/Mitem.php:224
msgid "Edit Menu Element"
msgstr "Modifica l'elemento del menù"
-#: ../../mod/mitem.php:226
+#: ../../Zotlabs/Module/Mitem.php:230
msgid "Link text"
msgstr "Testo del link"
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
-msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
-
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Impossibile trovare il gruppo di canali"
-
-#: ../../mod/network.php:131
-msgid "No such channel"
-msgstr "Canale sconosciuto"
-
-#: ../../mod/network.php:136
-msgid "forum"
-msgstr "forum"
-
-#: ../../mod/network.php:148
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
-
-#: ../../mod/network.php:209
-msgid "Privacy group is empty"
-msgstr "Il gruppo di canali è vuoto"
-
-#: ../../mod/network.php:218
-msgid "Privacy group: "
-msgstr "Gruppo di canali:"
-
-#: ../../mod/network.php:244
-msgid "Invalid connection."
-msgstr "Contatto non valido."
-
-#: ../../mod/new_channel.php:124 ../../mod/register.php:227
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
msgid "Name or caption"
msgstr "Nome o titolo"
-#: ../../mod/new_channel.php:124 ../../mod/register.php:227
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""
-#: ../../mod/new_channel.php:126 ../../mod/register.php:229
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
msgid "Choose a short nickname"
msgstr "Scegli un nome breve"
-#: ../../mod/new_channel.php:126 ../../mod/register.php:229
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s"
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Channel role and privacy"
msgstr "Tipo di canale e privacy"
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Select a channel role with your privacy requirements."
msgstr "Scegli il tipo di canale che vuoi e la privacy da applicare."
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Read more about roles"
msgstr "Maggiori informazioni sui ruoli"
-#: ../../mod/new_channel.php:131
+#: ../../Zotlabs/Module/New_channel.php:135
msgid "Create Channel"
msgstr "Crea un canale"
-#: ../../mod/new_channel.php:132
+#: ../../Zotlabs/Module/New_channel.php:136
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati."
-#: ../../mod/new_channel.php:133
+#: ../../Zotlabs/Module/New_channel.php:137
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub."
-#: ../../mod/notifications.php:26
+#: ../../Zotlabs/Module/Notifications.php:30
msgid "Invalid request identifier."
msgstr "L'identificativo della richiesta non è valido."
-#: ../../mod/notifications.php:35
+#: ../../Zotlabs/Module/Notifications.php:39
msgid "Discard"
msgstr "Rifiuta"
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Non ci sono nuove notifiche di sistema."
-
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Notifiche di sistema"
-
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Impossibile raggiungere il tuo hub."
-
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Inviato!"
-
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
-
-#: ../../mod/page.php:129
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
-
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor di configurazione"
-
-#: ../../mod/pconfig.php:50
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
-
-#: ../../mod/pdledit.php:14
-msgid "Layout updated."
-msgstr "Layout aggiornato."
-
-#: ../../mod/pdledit.php:30 ../../mod/pdledit.php:57
-msgid "Edit System Page Description"
-msgstr "Modifica i layout di sistema"
-
-#: ../../mod/pdledit.php:52
-msgid "Layout not found."
-msgstr "Layout non trovato."
-
-#: ../../mod/pdledit.php:58
-msgid "Module Name:"
-msgstr "Nome del modulo:"
-
-#: ../../mod/pdledit.php:59
-msgid "Layout Help"
-msgstr "Guida al layout"
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
+msgstr "Segna come lette le notifiche di sistema"
-#: ../../mod/photos.php:79
+#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
-#: ../../mod/photos.php:100 ../../mod/photos.php:144
+#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Profile_photo.php:114
+#: ../../Zotlabs/Module/Profile_photo.php:206
+#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "Foto del profilo"
+
+#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
msgid "Album not found."
msgstr "Album non trovato."
-#: ../../mod/photos.php:127
+#: ../../Zotlabs/Module/Photos.php:132
msgid "Delete Album"
msgstr "Elimina album"
-#: ../../mod/photos.php:148
+#: ../../Zotlabs/Module/Photos.php:153
msgid ""
"Multiple storage folders exist with this album name, but within different "
"directories. Please remove the desired folder or folders using the Files "
"manager"
msgstr "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore rimuovili dall'Archivio file "
-#: ../../mod/photos.php:205 ../../mod/photos.php:1048
+#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
msgid "Delete Photo"
msgstr "Elimina foto"
-#: ../../mod/photos.php:528
+#: ../../Zotlabs/Module/Photos.php:533
msgid "No photos selected"
msgstr "Nessuna foto selezionata"
-#: ../../mod/photos.php:577
+#: ../../Zotlabs/Module/Photos.php:582
msgid "Access to this item is restricted."
msgstr "Questo elemento non è visibile a tutti."
-#: ../../mod/photos.php:616
+#: ../../Zotlabs/Module/Photos.php:621
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
-#: ../../mod/photos.php:619
+#: ../../Zotlabs/Module/Photos.php:624
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
-#: ../../mod/photos.php:655
+#: ../../Zotlabs/Module/Photos.php:660
msgid "Upload Photos"
msgstr "Carica foto"
-#: ../../mod/photos.php:659
+#: ../../Zotlabs/Module/Photos.php:664
msgid "Enter an album name"
msgstr "Scegli il nome dell'album"
-#: ../../mod/photos.php:660
+#: ../../Zotlabs/Module/Photos.php:665
msgid "or select an existing album (doubleclick)"
msgstr "o seleziona un album esistente (doppio click)"
-#: ../../mod/photos.php:661
+#: ../../Zotlabs/Module/Photos.php:666
msgid "Create a status post for this upload"
msgstr "Pubblica sulla bacheca"
-#: ../../mod/photos.php:662
+#: ../../Zotlabs/Module/Photos.php:667
msgid "Caption (optional):"
msgstr "Titolo (facoltativo):"
-#: ../../mod/photos.php:663
+#: ../../Zotlabs/Module/Photos.php:668
msgid "Description (optional):"
msgstr "Descrizione (facoltativa):"
-#: ../../mod/photos.php:690
+#: ../../Zotlabs/Module/Photos.php:695
msgid "Album name could not be decoded"
msgstr "Non è stato possibile leggere il nome dell'album"
-#: ../../mod/photos.php:738 ../../mod/photos.php:1278
-#: ../../mod/photos.php:1295
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Foto dei contatti"
-#: ../../mod/photos.php:761
+#: ../../Zotlabs/Module/Photos.php:766
msgid "Show Newest First"
msgstr "Prima i più recenti"
-#: ../../mod/photos.php:763
+#: ../../Zotlabs/Module/Photos.php:768
msgid "Show Oldest First"
msgstr "Prima i più vecchi"
-#: ../../mod/photos.php:865
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
+msgid "View Photo"
+msgstr "Guarda la foto"
+
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
+msgid "Edit Album"
+msgstr "Modifica album"
+
+#: ../../Zotlabs/Module/Photos.php:870
msgid "Permission denied. Access to this item may be restricted."
msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-#: ../../mod/photos.php:867
+#: ../../Zotlabs/Module/Photos.php:872
msgid "Photo not available"
msgstr "Foto non disponibile"
-#: ../../mod/photos.php:925
+#: ../../Zotlabs/Module/Photos.php:930
msgid "Use as profile photo"
msgstr "Usa come foto del profilo"
-#: ../../mod/photos.php:926
+#: ../../Zotlabs/Module/Photos.php:931
msgid "Use as cover photo"
msgstr "Usa come copertina del canale"
-#: ../../mod/photos.php:933
+#: ../../Zotlabs/Module/Photos.php:938
msgid "Private Photo"
msgstr "Foto privata"
-#: ../../mod/photos.php:948
+#: ../../Zotlabs/Module/Photos.php:953
msgid "View Full Size"
msgstr "Vedi nelle dimensioni originali"
-#: ../../mod/photos.php:993 ../../mod/tagrm.php:133
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
msgid "Remove"
msgstr "Rimuovi"
-#: ../../mod/photos.php:1027
+#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Modifica la foto"
-#: ../../mod/photos.php:1029
+#: ../../Zotlabs/Module/Photos.php:1034
msgid "Rotate CW (right)"
msgstr "Ruota (senso orario)"
-#: ../../mod/photos.php:1030
+#: ../../Zotlabs/Module/Photos.php:1035
msgid "Rotate CCW (left)"
msgstr "Ruota (senso antiorario)"
-#: ../../mod/photos.php:1033
+#: ../../Zotlabs/Module/Photos.php:1038
msgid "Enter a new album name"
msgstr "Inserisci il nome del nuovo album"
-#: ../../mod/photos.php:1034
+#: ../../Zotlabs/Module/Photos.php:1039
msgid "or select an existing one (doubleclick)"
msgstr "o seleziona uno esistente (doppio click)"
-#: ../../mod/photos.php:1037
+#: ../../Zotlabs/Module/Photos.php:1042
msgid "Caption"
msgstr "Didascalia"
-#: ../../mod/photos.php:1039
+#: ../../Zotlabs/Module/Photos.php:1044
msgid "Add a Tag"
msgstr "Aggiungi tag"
-#: ../../mod/photos.php:1043
+#: ../../Zotlabs/Module/Photos.php:1048
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../mod/photos.php:1046
+#: ../../Zotlabs/Module/Photos.php:1051
msgid "Flag as adult in album view"
msgstr "Marca come 'per adulti'"
-#: ../../mod/photos.php:1238
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+msgid "I like this (toggle)"
+msgstr "Attiva/disattiva Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+msgid "I don't like this (toggle)"
+msgstr "Attiva/disattiva Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:740
+msgid "Please wait"
+msgstr "Attendere"
+
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Lib/ThreadItem.php:707
+msgid "This is you"
+msgstr "Questo sei tu"
+
+#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Commento"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Likes"
+msgstr "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Agree"
+msgstr "D'accordo"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Disagree"
+msgstr "Non d'accordo"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Abstain"
+msgstr "Astenuti"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Attending"
+msgstr "Partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Not attending"
+msgstr "Non partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Might attend"
+msgstr "Forse partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1717
+msgid "View all"
+msgstr "Vedi tutto"
+
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Mi piace"
+msgstr[1] "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1744
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Non mi piace"
+msgstr[1] "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1235
+msgid "Photo Tools"
+msgstr "Gestione delle foto"
+
+#: ../../Zotlabs/Module/Photos.php:1244
msgid "In This Photo:"
msgstr "In questa foto:"
-#: ../../mod/photos.php:1243
+#: ../../Zotlabs/Module/Photos.php:1249
msgid "Map"
msgstr "Mappa"
-#: ../../mod/photos.php:1334
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+msgctxt "noun"
+msgid "Likes"
+msgstr "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
+msgid "Close"
+msgstr "Chiudi"
+
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Guarda l'album"
-#: ../../mod/photos.php:1345 ../../mod/photos.php:1358
-#: ../../mod/photos.php:1359
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Foto recenti"
-#: ../../mod/admin.php:54
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "ti ha inviato un messaggio privato"
+
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "ha aggiunto il tuo canale"
+
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "g A l d F"
+
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[oggi]"
+
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "ha creato un evento"
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Impossibile raggiungere il tuo hub."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Inviato!"
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Accesso fallito."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Editor di configurazione"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Layout aggiornato."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Modifica i layout di sistema"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Layout non trovato."
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Nome del modulo:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Guida al layout"
+
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
+#: ../../include/conversation.php:960
+msgid "Poke"
+msgstr "Poke"
+
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr "Manda un poke"
+
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
+msgstr "Poke/Prod"
+
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
+msgstr "Manda un poke o altro a qualcuno"
+
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
+msgstr "Destinatario"
+
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
+msgstr "Scegli cosa vuoi inviare al destinatario"
+
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
+msgstr "Rendi privato questo post"
+
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "La chiamata all'URL restituisce questo errore: %1$s"
+
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+msgid "Profile not found."
+msgstr "Profilo non trovato."
+
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
+msgstr "Profilo eliminato."
+
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+msgid "Profile-"
+msgstr "Profilo-"
+
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+msgid "New profile created."
+msgstr "Il nuovo profilo è stato creato."
+
+#: ../../Zotlabs/Module/Profiles.php:110
+msgid "Profile unavailable to clone."
+msgstr "Impossibile duplicare il profilo."
+
+#: ../../Zotlabs/Module/Profiles.php:151
+msgid "Profile unavailable to export."
+msgstr "Il profilo non è disponibile per l'export."
+
+#: ../../Zotlabs/Module/Profiles.php:256
+msgid "Profile Name is required."
+msgstr "Il nome del profilo è obbligatorio."
+
+#: ../../Zotlabs/Module/Profiles.php:427
+msgid "Marital Status"
+msgstr "Stato sentimentale"
+
+#: ../../Zotlabs/Module/Profiles.php:431
+msgid "Romantic Partner"
+msgstr "Partner affettivo"
+
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+msgid "Likes"
+msgstr "Mi piace"
+
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+msgid "Dislikes"
+msgstr "Non mi piace"
+
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+msgid "Work/Employment"
+msgstr "Lavoro/impiego"
+
+#: ../../Zotlabs/Module/Profiles.php:446
+msgid "Religion"
+msgstr "Religione"
+
+#: ../../Zotlabs/Module/Profiles.php:450
+msgid "Political Views"
+msgstr "Orientamento politico"
+
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
+msgstr "Preferenze sessuali"
+
+#: ../../Zotlabs/Module/Profiles.php:462
+msgid "Homepage"
+msgstr "Home page"
+
+#: ../../Zotlabs/Module/Profiles.php:466
+msgid "Interests"
+msgstr "Interessi"
+
+#: ../../Zotlabs/Module/Profiles.php:560
+msgid "Profile updated."
+msgstr "Profilo aggiornato."
+
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
+msgstr "Nascondi la tua lista di contatti ai visitatori di questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:686
+msgid "Edit Profile Details"
+msgstr "Modifica i dettagli del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:688
+msgid "View this profile"
+msgstr "Guarda questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:959
+msgid "Edit visibility"
+msgstr "Cambia la visibilità"
+
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
+msgstr "Gestione del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
+msgstr "Cambia la copertina del canale"
+
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+msgid "Change profile photo"
+msgstr "Cambia la foto del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:693
+msgid "Create a new profile using these settings"
+msgstr "Crea un nuovo profilo usando queste impostazioni"
+
+#: ../../Zotlabs/Module/Profiles.php:694
+msgid "Clone this profile"
+msgstr "Clona questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:695
+msgid "Delete this profile"
+msgstr "Elimina questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
+msgstr "Aggiungi oggetti al profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
+msgid "Personal"
+msgstr "Personali"
+
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
+msgstr "Relazione"
+
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Altro"
+
+#: ../../Zotlabs/Module/Profiles.php:702
+msgid "Import profile from file"
+msgstr "Importa il profilo da un file"
+
+#: ../../Zotlabs/Module/Profiles.php:703
+msgid "Export profile to file"
+msgstr "Esporta il profilo in un file"
+
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
+msgstr "Sesso"
+
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
+msgstr "Stato civile"
+
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
+msgstr "Preferenze sessuali"
+
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
+msgstr "Nome del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
+msgstr "Questo è il tuo profilo predefinito."
+
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
+msgstr "Il tuo nome completo"
+
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
+msgstr "Titolo/descrizione"
+
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
+msgstr "Indirizzo (via/piazza)"
+
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
+msgstr "Località"
+
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
+msgstr "Regione/stato"
+
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
+msgstr "CAP"
+
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
+msgstr "Nazione"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
+msgstr "Con chi (se possibile)"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
+
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
+msgstr "dal (data)"
+
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
+msgstr "Raccontaci di te..."
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr "Città dove vivo"
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
+msgstr "Orientamento politico"
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
+msgstr "Orientamento religioso"
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
+msgstr "Parole chiavi mostrate nell'elenco dei canali"
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
+msgstr "Per esempio: pesca fotografia programmazione"
+
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Musical interests"
+msgstr "Interessi musicali"
+
+#: ../../Zotlabs/Module/Profiles.php:739
+msgid "Books, literature"
+msgstr "Libri, letteratura"
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Television"
+msgstr "Televisione"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
+msgstr "Film, danza, cultura, intrattenimento"
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
+msgstr "Hobby/interessi"
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
+msgstr "Amore"
+
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
+msgstr "Scuola/educazione"
+
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
+msgstr "Contatti e social network"
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
+msgstr "I miei altri canali"
+
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+msgid "Profile Image"
+msgstr "Immagine del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
+msgid "Edit Profiles"
+msgstr "Modifica i tuoi profili"
+
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Carica la foto del profilo"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Indentificativo del profilo non valido."
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Profile Visibility Editor"
+msgstr "Modifica la visibilità del profilo"
+
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
+msgid "Profile"
+msgstr "Profilo"
+
+#: ../../Zotlabs/Module/Profperm.php:119
+msgid "Click on a contact to add or remove."
+msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
+
+#: ../../Zotlabs/Module/Profperm.php:128
+msgid "Visible To"
+msgstr "Visibile a"
+
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
+msgid "Public Hubs"
+msgstr "Hub pubblici"
+
+#: ../../Zotlabs/Module/Pubsites.php:25
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Hub URL"
+msgstr "URL del hub"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Access Type"
+msgstr "Tipo di accesso"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Registration Policy"
+msgstr "Politica di registrazione"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Software"
+msgstr "Software"
+
+#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
+#: ../../include/conversation.php:959
+msgid "Ratings"
+msgstr "Valutazioni"
+
+#: ../../Zotlabs/Module/Pubsites.php:38
+msgid "Rate"
+msgstr "Valuta"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Website:"
+msgstr "Sito web:"
+
+#: ../../Zotlabs/Module/Rate.php:163
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
+
+#: ../../Zotlabs/Module/Rate.php:164
+msgid "Rating (this information is public)"
+msgstr "Valutazione (visibile a tutti)"
+
+#: ../../Zotlabs/Module/Rate.php:165
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
+
+#: ../../Zotlabs/Module/Ratings.php:73
+msgid "No ratings"
+msgstr "Nessuna valutazione"
+
+#: ../../Zotlabs/Module/Ratings.php:104
+msgid "Rating: "
+msgstr "Valutazione:"
+
+#: ../../Zotlabs/Module/Ratings.php:105
+msgid "Website: "
+msgstr "Sito web:"
+
+#: ../../Zotlabs/Module/Ratings.php:107
+msgid "Description: "
+msgstr "Descrizione:"
+
+#: ../../Zotlabs/Module/Admin.php:77
msgid "Theme settings updated."
msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../mod/admin.php:174
+#: ../../Zotlabs/Module/Admin.php:197
msgid "# Accounts"
msgstr "# account"
-#: ../../mod/admin.php:175
+#: ../../Zotlabs/Module/Admin.php:198
msgid "# blocked accounts"
msgstr "# account bloccati"
-#: ../../mod/admin.php:176
+#: ../../Zotlabs/Module/Admin.php:199
msgid "# expired accounts"
msgstr "# account scaduti"
-#: ../../mod/admin.php:177
+#: ../../Zotlabs/Module/Admin.php:200
msgid "# expiring accounts"
msgstr "# account in scadenza"
-#: ../../mod/admin.php:188
+#: ../../Zotlabs/Module/Admin.php:211
msgid "# Channels"
msgstr "# canali"
-#: ../../mod/admin.php:189
+#: ../../Zotlabs/Module/Admin.php:212
msgid "# primary"
msgstr "# primari"
-#: ../../mod/admin.php:190
+#: ../../Zotlabs/Module/Admin.php:213
msgid "# clones"
msgstr "# cloni"
-#: ../../mod/admin.php:196
+#: ../../Zotlabs/Module/Admin.php:219
msgid "Message queues"
msgstr "Coda messaggi in uscita"
-#: ../../mod/admin.php:212 ../../mod/admin.php:455 ../../mod/admin.php:669
-#: ../../mod/admin.php:709 ../../mod/admin.php:984 ../../mod/admin.php:1148
-#: ../../mod/admin.php:1263 ../../mod/admin.php:1324 ../../mod/admin.php:1485
-#: ../../mod/admin.php:1519 ../../mod/admin.php:1604
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "Il tuo software ha bisogno di essere aggiornato"
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
msgid "Administration"
msgstr "Amministrazione"
-#: ../../mod/admin.php:213
+#: ../../Zotlabs/Module/Admin.php:242
msgid "Summary"
msgstr "Riepilogo"
-#: ../../mod/admin.php:216
+#: ../../Zotlabs/Module/Admin.php:245
msgid "Registered accounts"
msgstr "Account creati"
-#: ../../mod/admin.php:217 ../../mod/admin.php:673
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
msgid "Pending registrations"
msgstr "Registrazioni da approvare"
-#: ../../mod/admin.php:218
+#: ../../Zotlabs/Module/Admin.php:247
msgid "Registered channels"
msgstr "Canali creati"
-#: ../../mod/admin.php:219 ../../mod/admin.php:674
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
msgid "Active plugins"
msgstr "Plugin attivi"
-#: ../../mod/admin.php:220
+#: ../../Zotlabs/Module/Admin.php:249
msgid "Version"
msgstr "Versione"
-#: ../../mod/admin.php:339
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr "Versione del repository (master)"
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr "Versione del repository (dev)"
+
+#: ../../Zotlabs/Module/Admin.php:373
msgid "Site settings updated."
msgstr "Impostazioni del sito salvate correttamente."
-#: ../../mod/admin.php:376 ../../mod/settings.php:805
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Predefinito"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
msgid "mobile"
msgstr "mobile"
-#: ../../mod/admin.php:378
+#: ../../Zotlabs/Module/Admin.php:412
msgid "experimental"
msgstr "sperimentale"
-#: ../../mod/admin.php:380
+#: ../../Zotlabs/Module/Admin.php:414
msgid "unsupported"
msgstr "non supportato"
-#: ../../mod/admin.php:426
+#: ../../Zotlabs/Module/Admin.php:460
msgid "Yes - with approval"
msgstr "Sì - con approvazione"
-#: ../../mod/admin.php:432
+#: ../../Zotlabs/Module/Admin.php:466
msgid "My site is not a public server"
msgstr "Non è un server pubblico"
-#: ../../mod/admin.php:433
+#: ../../Zotlabs/Module/Admin.php:467
msgid "My site has paid access only"
msgstr "È un servizio a pagamento"
-#: ../../mod/admin.php:434
+#: ../../Zotlabs/Module/Admin.php:468
msgid "My site has free access only"
msgstr "È un servizio gratuito"
-#: ../../mod/admin.php:435
+#: ../../Zotlabs/Module/Admin.php:469
msgid "My site offers free accounts with optional paid upgrades"
msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-#: ../../mod/admin.php:458 ../../mod/register.php:241
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Sito"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
msgid "Registration"
msgstr "Registrazione"
-#: ../../mod/admin.php:459
+#: ../../Zotlabs/Module/Admin.php:494
msgid "File upload"
msgstr "Caricamento file"
-#: ../../mod/admin.php:460
+#: ../../Zotlabs/Module/Admin.php:495
msgid "Policies"
msgstr "Politiche"
-#: ../../mod/admin.php:465
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avanzate"
+
+#: ../../Zotlabs/Module/Admin.php:500
msgid "Site name"
msgstr "Nome del sito"
-#: ../../mod/admin.php:466
+#: ../../Zotlabs/Module/Admin.php:501
msgid "Banner/Logo"
msgstr "Banner o logo"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid "Administrator Information"
msgstr "Informazioni sull'amministratore"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../mod/admin.php:468
+#: ../../Zotlabs/Module/Admin.php:503
msgid "System language"
msgstr "Lingua di sistema"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid "System theme"
msgstr "Tema di sistema"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Mobile system theme"
msgstr "Tema di sistema per dispositivi mobili"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Theme for mobile devices"
msgstr "Tema per i dispositivi mobili"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "Allow Feeds as Connections"
msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "(Heavy system resource usage)"
msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid "Maximum image size"
msgstr "Dimensione massima immagini"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../mod/admin.php:474
+#: ../../Zotlabs/Module/Admin.php:509
msgid "Does this site allow new member registration?"
msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid "Invitation only"
msgstr "Solo con invito"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'."
-#: ../../mod/admin.php:476
+#: ../../Zotlabs/Module/Admin.php:511
msgid "Which best describes the types of account offered by this hub?"
msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Register text"
msgstr "Testo di registrazione"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Will be displayed prominently on the registration page."
msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid "Site homepage to show visitors (default: login box)"
msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid "Preserve site homepage URL"
msgstr "Conserva l'URL della homepage"
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid "Accounts abandoned after x days"
msgstr "Account abbandonati dopo X giorni"
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid "Allowed friend domains"
msgstr "Domini fidati e consentiti"
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid "Allowed email domains"
msgstr "Domini email consentiti"
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid "Not allowed email domains"
msgstr "Domini email non consentiti"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid "Verify Email Addresses"
msgstr "Verifica l'indirizzo email"
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid "Force publish"
msgstr "Forza la publicazione del profilo"
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito."
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid "Import Public Streams"
msgstr "Suggerisci contenuti pubblici della rete Hubzilla"
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione."
-#: ../../mod/admin.php:487
-msgid "login on Homepage"
-msgstr "Mostra il login sulla homepage"
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr "Login sulla homepage"
-#: ../../mod/admin.php:487
+#: ../../Zotlabs/Module/Admin.php:522
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr "Abilita la guida contestuale"
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Quando è premuto il bottone della guida mostra quella della pagina corrente"
+
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Directory Server URL"
msgstr "URL del directory server"
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Default directory server"
msgstr "Directory server predefinito"
-#: ../../mod/admin.php:491
+#: ../../Zotlabs/Module/Admin.php:527
msgid "Proxy user"
msgstr "Utente proxy"
-#: ../../mod/admin.php:492
+#: ../../Zotlabs/Module/Admin.php:528
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Network timeout"
msgstr "Timeout rete"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid "Delivery interval"
msgstr "Recapito ritardato"
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid "Deliveries per process"
msgstr "Tentativi di recapito per processo"
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5"
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid "Poll interval"
msgstr "Intervallo di polling"
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid "Maximum Load Average"
msgstr "Carico massimo medio"
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "0 for no expiration of imported content"
msgstr "0 per non avere scadenza"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:729
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "Off"
msgstr "Off"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:729
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "On"
msgstr "On"
-#: ../../mod/admin.php:636
+#: ../../Zotlabs/Module/Admin.php:678
#, php-format
msgid "Lock feature %s"
msgstr "Rendi non modificabile %s"
-#: ../../mod/admin.php:644
+#: ../../Zotlabs/Module/Admin.php:686
msgid "Manage Additional Features"
msgstr "Funzionalità opzionali"
-#: ../../mod/admin.php:661
+#: ../../Zotlabs/Module/Admin.php:703
msgid "No server found"
msgstr "Server non trovato"
-#: ../../mod/admin.php:668 ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "for channel"
msgstr "per il canale"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "on server"
msgstr "sul server"
-#: ../../mod/admin.php:670
+#: ../../Zotlabs/Module/Admin.php:712
msgid "Server"
msgstr "Server"
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "L'impostazione consigliata è di permettere HTML non filtrato solo dai siti seguenti:"
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non venga esplicitamente bloccato."
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Sicurezza"
+
+#: ../../Zotlabs/Module/Admin.php:758
msgid "Block public"
msgstr "Blocca pagine pubbliche"
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:758
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently authenticated."
msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../mod/admin.php:713
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:761
msgid "Allow communications only from these sites"
msgstr "Permetti la comunicazione solo da questi siti"
-#: ../../mod/admin.php:713
+#: ../../Zotlabs/Module/Admin.php:761
msgid ""
"One site per line. Leave empty to allow communication from anywhere by "
"default"
msgstr "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti"
-#: ../../mod/admin.php:714
+#: ../../Zotlabs/Module/Admin.php:762
msgid "Block communications from these sites"
msgstr "Blocca la comunicazione da questi siti"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid "Allow communications only from these channels"
msgstr "Permetti la comunicazione solo da questi canali"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid ""
"One channel (hash) per line. Leave empty to allow from any channel by "
"default"
msgstr "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali"
-#: ../../mod/admin.php:716
+#: ../../Zotlabs/Module/Admin.php:764
msgid "Block communications from these channels"
msgstr "Blocca la comunicazione da questi canali"
-#: ../../mod/admin.php:717
-msgid "Allow embedded HTML content only from these domains"
-msgstr "Permetti i contenuti incorporati HTML solo da questi domini"
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr ""
-#: ../../mod/admin.php:717
-msgid "One site per line. Leave empty to allow from any site by default"
-msgstr "Un sito per riga. Lascia vuoto per permettere sempre i contenuti incorporati"
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr ""
-#: ../../mod/admin.php:718
+#: ../../Zotlabs/Module/Admin.php:767
msgid "Block embedded HTML from these domains"
msgstr "Blocca i contenuti incorporati HTML da questi domini"
-#: ../../mod/admin.php:720
-msgid "Cooperative embed security"
-msgstr "Sicurezza cooperativa sui contenuti incorporati"
-
-#: ../../mod/admin.php:720
-msgid "Enable to share embed security with other compatible sites/hubs"
-msgstr "Abilita la condivisione con altri siti/hub delle informazioni di sicurezza sui contenuti incorporati"
-
-#: ../../mod/admin.php:735
+#: ../../Zotlabs/Module/Admin.php:785
msgid "Update has been marked successful"
msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../mod/admin.php:745
+#: ../../Zotlabs/Module/Admin.php:795
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-#: ../../mod/admin.php:748
+#: ../../Zotlabs/Module/Admin.php:798
#, php-format
msgid "Update %s was successfully applied."
msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../mod/admin.php:752
+#: ../../Zotlabs/Module/Admin.php:802
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-#: ../../mod/admin.php:755
+#: ../../Zotlabs/Module/Admin.php:805
#, php-format
msgid "Update function %s could not be found."
msgstr "Impossibile trovare la funzione di aggiornamento %s"
-#: ../../mod/admin.php:771
+#: ../../Zotlabs/Module/Admin.php:821
msgid "No failed updates."
msgstr "Nessun aggiornamento fallito."
-#: ../../mod/admin.php:775
+#: ../../Zotlabs/Module/Admin.php:825
msgid "Failed Updates"
msgstr "Aggiornamenti falliti."
-#: ../../mod/admin.php:777
+#: ../../Zotlabs/Module/Admin.php:827
msgid "Mark success (if update was manually applied)"
msgstr "Marca come eseguito (se applicato manualmente)."
-#: ../../mod/admin.php:778
+#: ../../Zotlabs/Module/Admin.php:828
msgid "Attempt to execute this update step automatically"
msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-#: ../../mod/admin.php:809
+#: ../../Zotlabs/Module/Admin.php:859
msgid "Queue Statistics"
msgstr "Statistiche della coda"
-#: ../../mod/admin.php:810
+#: ../../Zotlabs/Module/Admin.php:860
msgid "Total Entries"
msgstr "Totale"
-#: ../../mod/admin.php:811
+#: ../../Zotlabs/Module/Admin.php:861
msgid "Priority"
msgstr "Priorità"
-#: ../../mod/admin.php:812
+#: ../../Zotlabs/Module/Admin.php:862
msgid "Destination URL"
msgstr "URL di destinazione"
-#: ../../mod/admin.php:813
+#: ../../Zotlabs/Module/Admin.php:863
msgid "Mark hub permanently offline"
msgstr "Questo hub è definitivamente offline"
-#: ../../mod/admin.php:814
+#: ../../Zotlabs/Module/Admin.php:864
msgid "Empty queue for this hub"
msgstr "Svuota la coda per questo hub"
-#: ../../mod/admin.php:815
+#: ../../Zotlabs/Module/Admin.php:865
msgid "Last known contact"
msgstr "Ultimo scambio dati"
-#: ../../mod/admin.php:851
+#: ../../Zotlabs/Module/Admin.php:901
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "Modificato il blocco su %s account"
msgstr[1] "Modificato il blocco verso %s"
-#: ../../mod/admin.php:859
+#: ../../Zotlabs/Module/Admin.php:908
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s account eliminato"
msgstr[1] "%s account eliminati"
-#: ../../mod/admin.php:895
+#: ../../Zotlabs/Module/Admin.php:944
msgid "Account not found"
msgstr "Account non trovato"
-#: ../../mod/admin.php:907
+#: ../../Zotlabs/Module/Admin.php:955
#, php-format
msgid "Account '%s' deleted"
msgstr "Account '%s' eliminato"
-#: ../../mod/admin.php:915
+#: ../../Zotlabs/Module/Admin.php:963
#, php-format
msgid "Account '%s' blocked"
msgstr "Aggiunto un blocco verso '%s'"
-#: ../../mod/admin.php:923
+#: ../../Zotlabs/Module/Admin.php:971
#, php-format
msgid "Account '%s' unblocked"
msgstr "Rimosso il blocco verso '%s'"
-#: ../../mod/admin.php:985 ../../mod/admin.php:997
-msgid "Users"
-msgstr "Utenti"
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Account"
-#: ../../mod/admin.php:987 ../../mod/admin.php:1151
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
msgid "select all"
msgstr "seleziona tutti"
-#: ../../mod/admin.php:988
-msgid "User registrations waiting for confirm"
-msgstr "Richieste di registrazione in attesa di conferma"
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr ""
-#: ../../mod/admin.php:989
+#: ../../Zotlabs/Module/Admin.php:1035
msgid "Request date"
msgstr "Data richiesta"
-#: ../../mod/admin.php:990
+#: ../../Zotlabs/Module/Admin.php:1036
msgid "No registrations."
msgstr "Nessuna registrazione."
-#: ../../mod/admin.php:992
+#: ../../Zotlabs/Module/Admin.php:1038
msgid "Deny"
msgstr "Nega"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Tutti i canali"
+
+#: ../../Zotlabs/Module/Admin.php:1049
msgid "Register date"
msgstr "Data registrazione"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1050
msgid "Last login"
msgstr "Ultimo accesso"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1051
msgid "Expires"
msgstr "Con scadenza"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1052
msgid "Service Class"
msgstr "Classe dell'account"
-#: ../../mod/admin.php:1000
+#: ../../Zotlabs/Module/Admin.php:1054
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:1001
+#: ../../Zotlabs/Module/Admin.php:1055
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:1037
+#: ../../Zotlabs/Module/Admin.php:1091
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "Censura modificata per %s canale"
msgstr[1] "Censura modificata per %s canali"
-#: ../../mod/admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1100
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "%s canale permette/non permette codice nei contenuti"
msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-#: ../../mod/admin.php:1053
+#: ../../Zotlabs/Module/Admin.php:1106
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canale è stato rimosso"
msgstr[1] "%s canali sono stati rimossi"
-#: ../../mod/admin.php:1073
+#: ../../Zotlabs/Module/Admin.php:1126
msgid "Channel not found"
msgstr "Canale non trovato"
-#: ../../mod/admin.php:1084
+#: ../../Zotlabs/Module/Admin.php:1136
#, php-format
msgid "Channel '%s' deleted"
msgstr "Il canale '%s' è stato rimosso"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' censored"
msgstr "Applicata una censura al canale '%s'"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Rimossa la censura dal canale '%s'"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Il canale '%s' permette codice nei contenuti"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Il canale '%s' non permette codice nei contenuti"
-#: ../../mod/admin.php:1153
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Canali"
+
+#: ../../Zotlabs/Module/Admin.php:1214
msgid "Censor"
msgstr "Applica censura"
-#: ../../mod/admin.php:1154
+#: ../../Zotlabs/Module/Admin.php:1215
msgid "Uncensor"
msgstr "Rimuovi censura"
-#: ../../mod/admin.php:1155
+#: ../../Zotlabs/Module/Admin.php:1216
msgid "Allow Code"
msgstr "Permetti codice"
-#: ../../mod/admin.php:1156
+#: ../../Zotlabs/Module/Admin.php:1217
msgid "Disallow Code"
msgstr "Non permettere codice"
-#: ../../mod/admin.php:1158
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Canale"
+
+#: ../../Zotlabs/Module/Admin.php:1222
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:1160
+#: ../../Zotlabs/Module/Admin.php:1226
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:1161
+#: ../../Zotlabs/Module/Admin.php:1227
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:1218
+#: ../../Zotlabs/Module/Admin.php:1284
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s non attivo."
-#: ../../mod/admin.php:1222
+#: ../../Zotlabs/Module/Admin.php:1288
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s attivo."
-#: ../../mod/admin.php:1232 ../../mod/admin.php:1458
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
msgid "Disable"
msgstr "Disattiva"
-#: ../../mod/admin.php:1235 ../../mod/admin.php:1460
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
msgid "Enable"
msgstr "Attiva"
-#: ../../mod/admin.php:1265 ../../mod/admin.php:1487
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Plugin"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
msgid "Toggle"
msgstr "Attiva/disattiva"
-#: ../../mod/admin.php:1273 ../../mod/admin.php:1497
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Impostazioni"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
msgid "Author: "
msgstr "Autore:"
-#: ../../mod/admin.php:1274 ../../mod/admin.php:1498
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
msgid "Maintainer: "
msgstr "Gestore:"
-#: ../../mod/admin.php:1275
+#: ../../Zotlabs/Module/Admin.php:1341
msgid "Minimum project version: "
msgstr "Minima versione hubzilla"
-#: ../../mod/admin.php:1276
+#: ../../Zotlabs/Module/Admin.php:1342
msgid "Maximum project version: "
msgstr "Massima versione hubzilla"
-#: ../../mod/admin.php:1277
+#: ../../Zotlabs/Module/Admin.php:1343
msgid "Minimum PHP version: "
msgstr "Minima versione PHP:"
-#: ../../mod/admin.php:1278
+#: ../../Zotlabs/Module/Admin.php:1344
msgid "Requires: "
msgstr "Necessita di:"
-#: ../../mod/admin.php:1279 ../../mod/admin.php:1330
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
msgid "Disabled - version incompatibility"
msgstr "Disabilitato - incompatibilità di versione"
-#: ../../mod/admin.php:1423
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr "URL git del repository del plugin"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Nome repository personalizzato"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(facoltativo)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "Scarica il repository del plugin"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "Installa un nuovo repository"
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Installa"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "Gestisci i repsitory"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "Repository per i plugin installati"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "Installa un nuovo repository per i plugin"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Aggiorna"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "Cambia branch"
+
+#: ../../Zotlabs/Module/Admin.php:1550
msgid "No themes found."
msgstr "Nessun tema trovato."
-#: ../../mod/admin.php:1479
+#: ../../Zotlabs/Module/Admin.php:1606
msgid "Screenshot"
msgstr "Istantanea dello schermo"
-#: ../../mod/admin.php:1525
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Temi"
+
+#: ../../Zotlabs/Module/Admin.php:1652
msgid "[Experimental]"
msgstr "[Sperimentale]"
-#: ../../mod/admin.php:1526
+#: ../../Zotlabs/Module/Admin.php:1653
msgid "[Unsupported]"
msgstr "[Non supportato]"
-#: ../../mod/admin.php:1550
+#: ../../Zotlabs/Module/Admin.php:1677
msgid "Log settings updated."
msgstr "Impostazioni di log aggiornate."
-#: ../../mod/admin.php:1607
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Log"
+
+#: ../../Zotlabs/Module/Admin.php:1734
msgid "Clear"
msgstr "Pulisci"
-#: ../../mod/admin.php:1613
+#: ../../Zotlabs/Module/Admin.php:1740
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid "Log file"
msgstr "File di log"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato Hubzilla."
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
-#: ../../mod/admin.php:1615
+#: ../../Zotlabs/Module/Admin.php:1742
msgid "Log level"
msgstr "Livello di log"
-#: ../../mod/admin.php:1682
+#: ../../Zotlabs/Module/Admin.php:2028
msgid "New Profile Field"
msgstr "Nuovo campo del profilo"
-#: ../../mod/admin.php:1683 ../../mod/admin.php:1703
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "Field nickname"
msgstr "Nome breve del campo"
-#: ../../mod/admin.php:1683 ../../mod/admin.php:1703
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "System name of field"
msgstr "Nome di sistema del campo"
-#: ../../mod/admin.php:1684 ../../mod/admin.php:1704
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
msgid "Input type"
msgstr "Tipo di dati"
-#: ../../mod/admin.php:1685 ../../mod/admin.php:1705
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Field Name"
msgstr "Nome del campo"
-#: ../../mod/admin.php:1685 ../../mod/admin.php:1705
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Label on profile pages"
msgstr "Etichetta da mostrare sulla pagina del profilo"
-#: ../../mod/admin.php:1686 ../../mod/admin.php:1706
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Help text"
msgstr "Testo di aiuto"
-#: ../../mod/admin.php:1686 ../../mod/admin.php:1706
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Additional info (optional)"
msgstr "Informazioni aggiuntive (facoltative)"
-#: ../../mod/admin.php:1696
+#: ../../Zotlabs/Module/Admin.php:2042
msgid "Field definition not found"
msgstr "Impossibile trovare la definizione del campo"
-#: ../../mod/admin.php:1702
+#: ../../Zotlabs/Module/Admin.php:2048
msgid "Edit Profile Field"
msgstr "Modifica campo del profilo"
-#: ../../mod/admin.php:1761
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Campi del profilo"
+
+#: ../../Zotlabs/Module/Admin.php:2107
msgid "Basic Profile Fields"
msgstr "Campi base del profilo"
-#: ../../mod/admin.php:1762
+#: ../../Zotlabs/Module/Admin.php:2108
msgid "Advanced Profile Fields"
msgstr "Campi avanzati del profilo"
-#: ../../mod/admin.php:1762
+#: ../../Zotlabs/Module/Admin.php:2108
msgid "(In addition to basic fields)"
msgstr "(In aggiunta ai campi di base)"
-#: ../../mod/admin.php:1764
+#: ../../Zotlabs/Module/Admin.php:2110
msgid "All available fields"
msgstr "Tutti i campi disponibili"
-#: ../../mod/admin.php:1765
+#: ../../Zotlabs/Module/Admin.php:2111
msgid "Custom Fields"
msgstr "Campi personalizzati"
-#: ../../mod/admin.php:1769
+#: ../../Zotlabs/Module/Admin.php:2115
msgid "Create Custom Field"
msgstr "Aggiungi campo personalizzato"
-#: ../../mod/poke.php:165
-msgid "Poke somebody"
-msgstr "Manda un poke"
-
-#: ../../mod/poke.php:168
-msgid "Poke/Prod"
-msgstr "Poke/Prod"
-
-#: ../../mod/poke.php:169
-msgid "Poke, prod or do other things to somebody"
-msgstr "Manda un poke o altro a qualcuno"
-
-#: ../../mod/poke.php:176
-msgid "Recipient"
-msgstr "Destinatario"
-
-#: ../../mod/poke.php:177
-msgid "Choose what you wish to do to recipient"
-msgstr "Scegli cosa vuoi inviare al destinatario"
-
-#: ../../mod/poke.php:180 ../../mod/poke.php:181
-msgid "Make this post private"
-msgstr "Rendi privato questo post"
-
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-
-#: ../../mod/profile_photo.php:112 ../../mod/cover_photo.php:54
-msgid "Image uploaded but image cropping failed."
-msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-
-#: ../../mod/profile_photo.php:166 ../../mod/cover_photo.php:150
-msgid "Image resize failed."
-msgstr "Il ridimensionamento dell'immagine è fallito."
-
-#: ../../mod/profile_photo.php:212
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente."
-
-#: ../../mod/profile_photo.php:250 ../../mod/cover_photo.php:188
-msgid "Image upload failed."
-msgstr "Il caricamento dell'immagine è fallito."
-
-#: ../../mod/profile_photo.php:269 ../../mod/cover_photo.php:206
-msgid "Unable to process image."
-msgstr "Impossibile elaborare l'immagine."
-
-#: ../../mod/profile_photo.php:316 ../../mod/profile_photo.php:357
-#: ../../mod/cover_photo.php:299 ../../mod/cover_photo.php:314
-msgid "Photo not available."
-msgstr "Foto non disponibile."
-
-#: ../../mod/profile_photo.php:398 ../../mod/cover_photo.php:350
-msgid "Upload File:"
-msgstr "Carica un file:"
-
-#: ../../mod/profile_photo.php:399 ../../mod/cover_photo.php:351
-msgid "Select a profile:"
-msgstr "Seleziona un profilo:"
-
-#: ../../mod/profile_photo.php:400
-msgid "Upload Profile Photo"
-msgstr "Carica la foto del profilo"
-
-#: ../../mod/profile_photo.php:407 ../../mod/settings.php:992
-#: ../../mod/cover_photo.php:357
-msgid "or"
-msgstr "o"
-
-#: ../../mod/profile_photo.php:407 ../../mod/cover_photo.php:357
-msgid "skip this step"
-msgstr "salta questo passaggio"
-
-#: ../../mod/profile_photo.php:407 ../../mod/cover_photo.php:357
-msgid "select a photo from your photo albums"
-msgstr "seleziona una foto dai tuoi album"
-
-#: ../../mod/profile_photo.php:423 ../../mod/cover_photo.php:373
-msgid "Crop Image"
-msgstr "Ritaglia immagine"
-
-#: ../../mod/profile_photo.php:424 ../../mod/cover_photo.php:374
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
-
-#: ../../mod/profile_photo.php:426 ../../mod/cover_photo.php:376
-msgid "Done Editing"
-msgstr "Modifica terminata"
-
-#: ../../mod/profiles.php:19 ../../mod/profiles.php:184
-#: ../../mod/profiles.php:241 ../../mod/profiles.php:620
-msgid "Profile not found."
-msgstr "Profilo non trovato."
-
-#: ../../mod/profiles.php:39
-msgid "Profile deleted."
-msgstr "Profilo eliminato."
-
-#: ../../mod/profiles.php:63 ../../mod/profiles.php:99
-msgid "Profile-"
-msgstr "Profilo-"
-
-#: ../../mod/profiles.php:84 ../../mod/profiles.php:127
-msgid "New profile created."
-msgstr "Il nuovo profilo è stato creato."
-
-#: ../../mod/profiles.php:105
-msgid "Profile unavailable to clone."
-msgstr "Impossibile duplicare il profilo."
-
-#: ../../mod/profiles.php:146
-msgid "Profile unavailable to export."
-msgstr "Il profilo non è disponibile per l'export."
-
-#: ../../mod/profiles.php:251
-msgid "Profile Name is required."
-msgstr "Il nome del profilo è obbligatorio."
-
-#: ../../mod/profiles.php:422
-msgid "Marital Status"
-msgstr "Stato sentimentale"
-
-#: ../../mod/profiles.php:426
-msgid "Romantic Partner"
-msgstr "Partner affettivo"
-
-#: ../../mod/profiles.php:430 ../../mod/profiles.php:735
-msgid "Likes"
-msgstr "Mi piace"
-
-#: ../../mod/profiles.php:434 ../../mod/profiles.php:736
-msgid "Dislikes"
-msgstr "Non mi piace"
-
-#: ../../mod/profiles.php:438 ../../mod/profiles.php:743
-msgid "Work/Employment"
-msgstr "Lavoro/impiego"
-
-#: ../../mod/profiles.php:441
-msgid "Religion"
-msgstr "Religione"
-
-#: ../../mod/profiles.php:445
-msgid "Political Views"
-msgstr "Orientamento politico"
-
-#: ../../mod/profiles.php:453
-msgid "Sexual Preference"
-msgstr "Preferenze sessuali"
-
-#: ../../mod/profiles.php:457
-msgid "Homepage"
-msgstr "Home page"
-
-#: ../../mod/profiles.php:461
-msgid "Interests"
-msgstr "Interessi"
-
-#: ../../mod/profiles.php:555
-msgid "Profile updated."
-msgstr "Profilo aggiornato."
-
-#: ../../mod/profiles.php:644
-msgid "Hide your connections list from viewers of this profile"
-msgstr "Nascondi la tua lista di contatti ai visitatori di questo profilo"
-
-#: ../../mod/profiles.php:686
-msgid "Edit Profile Details"
-msgstr "Modifica i dettagli del profilo"
-
-#: ../../mod/profiles.php:688
-msgid "View this profile"
-msgstr "Guarda questo profilo"
-
-#: ../../mod/profiles.php:690
-msgid "Change cover photo"
-msgstr "Cambia la copertina del canale"
-
-#: ../../mod/profiles.php:692
-msgid "Create a new profile using these settings"
-msgstr "Crea un nuovo profilo usando queste impostazioni"
-
-#: ../../mod/profiles.php:693
-msgid "Clone this profile"
-msgstr "Clona questo profilo"
-
-#: ../../mod/profiles.php:694
-msgid "Delete this profile"
-msgstr "Elimina questo profilo"
-
-#: ../../mod/profiles.php:695
-msgid "Add profile things"
-msgstr "Aggiungi oggetti al profilo"
-
-#: ../../mod/profiles.php:698
-msgid "Relation"
-msgstr "Relazione"
-
-#: ../../mod/profiles.php:701
-msgid "Import profile from file"
-msgstr "Importa il profilo da un file"
-
-#: ../../mod/profiles.php:702
-msgid "Export profile to file"
-msgstr "Esporta il profilo in un file"
-
-#: ../../mod/profiles.php:703
-msgid "Your gender"
-msgstr "Sesso"
-
-#: ../../mod/profiles.php:704
-msgid "Marital status"
-msgstr "Stato civile"
-
-#: ../../mod/profiles.php:705
-msgid "Sexual preference"
-msgstr "Preferenze sessuali"
-
-#: ../../mod/profiles.php:708
-msgid "Profile name"
-msgstr "Nome del profilo"
-
-#: ../../mod/profiles.php:710
-msgid "This is your default profile."
-msgstr "Questo è il tuo profilo predefinito."
-
-#: ../../mod/profiles.php:712
-msgid "Your full name"
-msgstr "Il tuo nome completo"
-
-#: ../../mod/profiles.php:713
-msgid "Title/Description"
-msgstr "Titolo/descrizione"
-
-#: ../../mod/profiles.php:716
-msgid "Street address"
-msgstr "Indirizzo (via/piazza)"
-
-#: ../../mod/profiles.php:717
-msgid "Locality/City"
-msgstr "Località"
-
-#: ../../mod/profiles.php:718
-msgid "Region/State"
-msgstr "Regione/stato"
-
-#: ../../mod/profiles.php:719
-msgid "Postal/Zip code"
-msgstr "CAP"
-
-#: ../../mod/profiles.php:720
-msgid "Country"
-msgstr "Nazione"
-
-#: ../../mod/profiles.php:725
-msgid "Who (if applicable)"
-msgstr "Con chi (se possibile)"
-
-#: ../../mod/profiles.php:725
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
-
-#: ../../mod/profiles.php:726
-msgid "Since (date)"
-msgstr "dal (data)"
-
-#: ../../mod/profiles.php:729
-msgid "Tell us about yourself"
-msgstr "Raccontaci di te..."
-
-#: ../../mod/profiles.php:731
-msgid "Hometown"
-msgstr "Città dove vivo"
-
-#: ../../mod/profiles.php:732
-msgid "Political views"
-msgstr "Orientamento politico"
-
-#: ../../mod/profiles.php:733
-msgid "Religious views"
-msgstr "Orientamento religioso"
-
-#: ../../mod/profiles.php:734
-msgid "Keywords used in directory listings"
-msgstr "Parole chiavi mostrate nell'elenco dei canali"
-
-#: ../../mod/profiles.php:734
-msgid "Example: fishing photography software"
-msgstr "Per esempio: pesca fotografia programmazione"
-
-#: ../../mod/profiles.php:737
-msgid "Musical interests"
-msgstr "Interessi musicali"
-
-#: ../../mod/profiles.php:738
-msgid "Books, literature"
-msgstr "Libri, letteratura"
-
-#: ../../mod/profiles.php:739
-msgid "Television"
-msgstr "Televisione"
-
-#: ../../mod/profiles.php:740
-msgid "Film/Dance/Culture/Entertainment"
-msgstr "Film, danza, cultura, intrattenimento"
-
-#: ../../mod/profiles.php:741
-msgid "Hobbies/Interests"
-msgstr "Hobby/interessi"
-
-#: ../../mod/profiles.php:742
-msgid "Love/Romance"
-msgstr "Amore"
-
-#: ../../mod/profiles.php:744
-msgid "School/Education"
-msgstr "Scuola/educazione"
-
-#: ../../mod/profiles.php:745
-msgid "Contact information and social networks"
-msgstr "Contatti e social network"
-
-#: ../../mod/profiles.php:746
-msgid "My other channels"
-msgstr "I miei altri canali"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Indentificativo del profilo non valido."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Modifica la visibilità del profilo"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
-
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visibile a"
-
-#: ../../mod/pubsites.php:21
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "App installata"
-#: ../../mod/pubsites.php:27
-msgid "Hub URL"
-msgstr "URL del hub"
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "L'app contiene errori"
-#: ../../mod/pubsites.php:27
-msgid "Access Type"
-msgstr "Tipo di accesso"
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Inserisci il codice"
-#: ../../mod/pubsites.php:27
-msgid "Registration Policy"
-msgstr "Politica di registrazione"
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "Modifica app"
-#: ../../mod/pubsites.php:33
-msgid "Rate"
-msgstr "Valuta"
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "Crea una app"
-#: ../../mod/rate.php:158
-msgid "Website:"
-msgstr "Sito web:"
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Nome app"
-#: ../../mod/rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Indirizzo (URL) della app"
-#: ../../mod/rate.php:162
-msgid "Rating (this information is public)"
-msgstr "Valutazione (visibile a tutti)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "URL icona"
-#: ../../mod/rate.php:163
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixel - facoltativa"
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "Nessuna valutazione"
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "Categorie (facoltative, lista separata da virgole)"
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Valutazione:"
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "ID versione"
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Sito web:"
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Prezzo app"
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Descrizione:"
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Indirizzo (URL) per acquistare la app"
-#: ../../mod/rbmark.php:90
+#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Scegli una cartella di segnalibri"
-#: ../../mod/rbmark.php:95
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "Save Bookmark"
msgstr "Salva segnalibro"
-#: ../../mod/rbmark.php:96
+#: ../../Zotlabs/Module/Rbmark.php:100
msgid "URL of bookmark"
msgstr "URL del segnalibro"
-#: ../../mod/rbmark.php:101
+#: ../../Zotlabs/Module/Rbmark.php:105
msgid "Or enter new bookmark folder name"
msgstr "O inserisci il nome di una nuova cartella di segnalibri"
-#: ../../mod/register.php:45
+#: ../../Zotlabs/Module/Register.php:49
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
-#: ../../mod/register.php:51
+#: ../../Zotlabs/Module/Register.php:55
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
-#: ../../mod/register.php:85
+#: ../../Zotlabs/Module/Register.php:89
msgid "Passwords do not match."
msgstr "Le password non corrispondono."
-#: ../../mod/register.php:127
+#: ../../Zotlabs/Module/Register.php:131
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
-#: ../../mod/register.php:133
+#: ../../Zotlabs/Module/Register.php:137
msgid "Your registration is pending approval by the site owner."
msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub."
-#: ../../mod/register.php:136
+#: ../../Zotlabs/Module/Register.php:140
msgid "Your registration can not be processed."
msgstr "La tua registrazione non puo' essere processata."
-#: ../../mod/register.php:180
+#: ../../Zotlabs/Module/Register.php:184
msgid "Registration on this hub is disabled."
msgstr "Su questo hub la registrazione non è permessa."
-#: ../../mod/register.php:189
+#: ../../Zotlabs/Module/Register.php:193
msgid "Registration on this hub is by approval only."
msgstr "La registrazione su questo hub è soggetta ad approvazione."
-#: ../../mod/register.php:190
+#: ../../Zotlabs/Module/Register.php:194
msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
msgstr "<a href=\"pubsites\">Registrati su un altro server hubzilla.</a>"
-#: ../../mod/register.php:200
+#: ../../Zotlabs/Module/Register.php:204
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
-#: ../../mod/register.php:211
+#: ../../Zotlabs/Module/Register.php:215
msgid "Terms of Service"
msgstr "Condizioni d'Uso"
-#: ../../mod/register.php:217
+#: ../../Zotlabs/Module/Register.php:221
#, php-format
msgid "I accept the %s for this website"
msgstr "Accetto le %s di questo sito"
-#: ../../mod/register.php:219
+#: ../../Zotlabs/Module/Register.php:223
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "Ho più di 13 anni e accetto le %s di questo sito"
-#: ../../mod/register.php:223
+#: ../../Zotlabs/Module/Register.php:227
msgid "Your email address"
msgstr "Il tuo indirizzo email"
-#: ../../mod/register.php:224
+#: ../../Zotlabs/Module/Register.php:228
msgid "Choose a password"
msgstr "Scegli una password"
-#: ../../mod/register.php:225
+#: ../../Zotlabs/Module/Register.php:229
msgid "Please re-enter your password"
msgstr "Ripeti la password per verifica"
-#: ../../mod/register.php:226
+#: ../../Zotlabs/Module/Register.php:230
msgid "Please enter your invitation code"
msgstr "Inserisci il codice dell'invito"
-#: ../../mod/register.php:232
+#: ../../Zotlabs/Module/Register.php:236
msgid "no"
msgstr "no"
-#: ../../mod/register.php:232
+#: ../../Zotlabs/Module/Register.php:236
msgid "yes"
msgstr "sì"
-#: ../../mod/register.php:246
+#: ../../Zotlabs/Module/Register.php:250
msgid "Membership on this site is by invitation only."
msgstr "Per registrarsi su questo hub è necessario un invito."
-#: ../../mod/register.php:258
+#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
+#: ../../boot.php:1685
+msgid "Register"
+msgstr "Registrati"
+
+#: ../../Zotlabs/Module/Register.php:262
msgid "Proceed to create your first channel"
msgstr "Continua e crea il tuo primo canale"
-#: ../../mod/regmod.php:11
+#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
msgstr "Effettua l'accesso."
-#: ../../mod/removeaccount.php:30
+#: ../../Zotlabs/Module/Removeaccount.php:34
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password."
-#: ../../mod/removeaccount.php:57
+#: ../../Zotlabs/Module/Removeaccount.php:56
msgid "Remove This Account"
msgstr "Elimina questo account"
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "WARNING: "
msgstr "ATTENZIONE:"
-#: ../../mod/removeaccount.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This action is permanent and can not be undone!"
msgstr "Questo comando è definitivo e non può essere annullato!"
-#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
msgid "Please enter your password for verification:"
msgstr "Inserisci la tua password per verifica:"
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"Remove this account, all its channels and all its channel clones from the "
"network"
msgstr "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati."
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"By default only the instances of the channels located on this hub will be "
"removed from the network"
msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:712
+#: ../../Zotlabs/Module/Removeaccount.php:60
+#: ../../Zotlabs/Module/Settings.php:705
msgid "Remove Account"
msgstr "Elimina l'account"
-#: ../../mod/removeme.php:29
+#: ../../Zotlabs/Module/Removeme.php:33
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
-#: ../../mod/removeme.php:57
+#: ../../Zotlabs/Module/Removeme.php:58
msgid "Remove This Channel"
msgstr "Elimina questo canale"
-#: ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This channel will be completely removed from the network. "
msgstr "Questo canale sarà completamente eliminato dalla rete."
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid "Remove this channel and all its clones from the network"
msgstr "Elimina questo canale e tutti i suoi cloni dalla rete"
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid ""
"By default only the instance of the channel located on this hub will be "
"removed from the network"
msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1131
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
msgid "Remove Channel"
msgstr "Elimina questo canale"
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid "The error message was:"
msgstr "Messaggio di errore ricevuto:"
-#: ../../mod/rmagic.php:44
+#: ../../Zotlabs/Module/Rmagic.php:48
msgid "Authentication failed."
msgstr "Autenticazione fallita."
-#: ../../mod/rmagic.php:84
+#: ../../Zotlabs/Module/Rmagic.php:88
msgid "Remote Authentication"
msgstr "Accedi tramite il tuo hub"
-#: ../../mod/rmagic.php:85
+#: ../../Zotlabs/Module/Rmagic.php:89
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
-#: ../../mod/rmagic.php:86
+#: ../../Zotlabs/Module/Rmagic.php:90
msgid "Authenticate"
msgstr "Accedi"
-#: ../../mod/search.php:212
+#: ../../Zotlabs/Module/Search.php:216
#, php-format
msgid "Items tagged with: %s"
msgstr "Elementi taggati con: %s"
-#: ../../mod/search.php:214
+#: ../../Zotlabs/Module/Search.php:218
#, php-format
msgid "Search results for: %s"
msgstr "Risultati ricerca: %s"
-#: ../../mod/service_limits.php:19
+#: ../../Zotlabs/Module/Service_limits.php:23
msgid "No service class restrictions found."
msgstr "Non esistono restrizioni su questa classe di account."
-#: ../../mod/settings.php:76
+#: ../../Zotlabs/Module/Settings.php:69
msgid "Name is required"
msgstr "Il nome è obbligatorio"
-#: ../../mod/settings.php:80
+#: ../../Zotlabs/Module/Settings.php:73
msgid "Key and Secret are required"
msgstr "Key e Secret sono richiesti"
-#: ../../mod/settings.php:232
+#: ../../Zotlabs/Module/Settings.php:225
msgid "Not valid email."
msgstr "Email non valida."
-#: ../../mod/settings.php:235
+#: ../../Zotlabs/Module/Settings.php:228
msgid "Protected email address. Cannot change to that email."
msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
-#: ../../mod/settings.php:244
+#: ../../Zotlabs/Module/Settings.php:237
msgid "System failure storing new email. Please try again."
msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
-#: ../../mod/settings.php:261
+#: ../../Zotlabs/Module/Settings.php:254
msgid "Password verification failed."
msgstr "Verifica della password fallita."
-#: ../../mod/settings.php:268
+#: ../../Zotlabs/Module/Settings.php:261
msgid "Passwords do not match. Password unchanged."
msgstr "Le password non corrispondono. Password non cambiata."
-#: ../../mod/settings.php:272
+#: ../../Zotlabs/Module/Settings.php:265
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Le password non possono essere vuote. Password non cambiata."
-#: ../../mod/settings.php:286
+#: ../../Zotlabs/Module/Settings.php:279
msgid "Password changed."
msgstr "Password cambiata."
-#: ../../mod/settings.php:288
+#: ../../Zotlabs/Module/Settings.php:281
msgid "Password update failed. Please try again."
msgstr "Modifica password fallita. Prova ancora."
-#: ../../mod/settings.php:532
+#: ../../Zotlabs/Module/Settings.php:525
msgid "Settings updated."
msgstr "Impostazioni aggiornate."
-#: ../../mod/settings.php:596 ../../mod/settings.php:622
-#: ../../mod/settings.php:658
+#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
+#: ../../Zotlabs/Module/Settings.php:651
msgid "Add application"
msgstr "Aggiungi una app"
-#: ../../mod/settings.php:599
+#: ../../Zotlabs/Module/Settings.php:592
msgid "Name of application"
msgstr "Nome dell'applicazione"
-#: ../../mod/settings.php:600 ../../mod/settings.php:626
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:600 ../../mod/settings.php:601
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
-#: ../../mod/settings.php:601 ../../mod/settings.php:627
+#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:602 ../../mod/settings.php:628
+#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
msgid "Redirect"
msgstr "Redirect"
-#: ../../mod/settings.php:602
+#: ../../Zotlabs/Module/Settings.php:595
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione"
-#: ../../mod/settings.php:603 ../../mod/settings.php:629
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
msgid "Icon url"
msgstr "Url icona"
-#: ../../mod/settings.php:603
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr "Facoltativo"
-#: ../../mod/settings.php:614
+#: ../../Zotlabs/Module/Settings.php:607
msgid "Application not found."
msgstr "Applicazione non trovata."
-#: ../../mod/settings.php:657
+#: ../../Zotlabs/Module/Settings.php:650
msgid "Connected Apps"
msgstr "App connesse"
-#: ../../mod/settings.php:661
+#: ../../Zotlabs/Module/Settings.php:654
msgid "Client key starts with"
msgstr "La client key inizia con"
-#: ../../mod/settings.php:662
+#: ../../Zotlabs/Module/Settings.php:655
msgid "No name"
msgstr "Nessun nome"
-#: ../../mod/settings.php:663
+#: ../../Zotlabs/Module/Settings.php:656
msgid "Remove authorization"
msgstr "Revoca l'autorizzazione"
-#: ../../mod/settings.php:676
+#: ../../Zotlabs/Module/Settings.php:669
msgid "No feature settings configured"
msgstr "Non hai componenti aggiuntivi da personalizzare"
-#: ../../mod/settings.php:683
+#: ../../Zotlabs/Module/Settings.php:676
msgid "Feature/Addon Settings"
msgstr "Impostazioni dei componenti aggiuntivi"
-#: ../../mod/settings.php:706
+#: ../../Zotlabs/Module/Settings.php:699
msgid "Account Settings"
msgstr "Il tuo account"
-#: ../../mod/settings.php:707
+#: ../../Zotlabs/Module/Settings.php:700
msgid "Current Password"
msgstr "Password attuale"
-#: ../../mod/settings.php:708
+#: ../../Zotlabs/Module/Settings.php:701
msgid "Enter New Password"
msgstr "Nuova password"
-#: ../../mod/settings.php:709
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Confirm New Password"
msgstr "Conferma la nuova password"
-#: ../../mod/settings.php:709
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Leave password fields blank unless changing"
msgstr "Lascia vuoti questi campi per non cambiare la password"
-#: ../../mod/settings.php:711 ../../mod/settings.php:1048
+#: ../../Zotlabs/Module/Settings.php:704
+#: ../../Zotlabs/Module/Settings.php:1041
msgid "Email Address:"
msgstr "Indirizzo email:"
-#: ../../mod/settings.php:713
+#: ../../Zotlabs/Module/Settings.php:706
msgid "Remove this account including all its channels"
msgstr "Elimina questo account e tutti i suoi canali"
-#: ../../mod/settings.php:736
+#: ../../Zotlabs/Module/Settings.php:729
msgid "Additional Features"
msgstr "Funzionalità opzionali"
-#: ../../mod/settings.php:760
+#: ../../Zotlabs/Module/Settings.php:753
msgid "Connector Settings"
msgstr "Impostazioni del connettore"
-#: ../../mod/settings.php:799
+#: ../../Zotlabs/Module/Settings.php:792
msgid "No special theme for mobile devices"
msgstr "Nessun tema per dispositivi mobili"
-#: ../../mod/settings.php:802
+#: ../../Zotlabs/Module/Settings.php:795
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Sperimentale)"
-#: ../../mod/settings.php:844
+#: ../../Zotlabs/Module/Settings.php:837
msgid "Display Settings"
msgstr "Aspetto"
-#: ../../mod/settings.php:845
+#: ../../Zotlabs/Module/Settings.php:838
msgid "Theme Settings"
msgstr "Impostazioni del tema"
-#: ../../mod/settings.php:846
+#: ../../Zotlabs/Module/Settings.php:839
msgid "Custom Theme Settings"
msgstr "Personalizzazione del tema"
-#: ../../mod/settings.php:847
+#: ../../Zotlabs/Module/Settings.php:840
msgid "Content Settings"
msgstr "Impostazioni dei contenuti"
-#: ../../mod/settings.php:853
+#: ../../Zotlabs/Module/Settings.php:846
msgid "Display Theme:"
msgstr "Tema per schermi medio grandi:"
-#: ../../mod/settings.php:854
+#: ../../Zotlabs/Module/Settings.php:847
msgid "Mobile Theme:"
msgstr "Tema per dispositivi mobili:"
-#: ../../mod/settings.php:855
+#: ../../Zotlabs/Module/Settings.php:848
msgid "Preload images before rendering the page"
msgstr "Anticipa il caricamento delle immagini prima del rendering della pagina"
-#: ../../mod/settings.php:855
+#: ../../Zotlabs/Module/Settings.php:848
msgid ""
"The subjective page load time will be longer but the page will be ready when"
" displayed"
msgstr "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo"
-#: ../../mod/settings.php:856
+#: ../../Zotlabs/Module/Settings.php:849
msgid "Enable user zoom on mobile devices"
msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-#: ../../mod/settings.php:857
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Update browser every xx seconds"
msgstr "Aggiorna il browser ogni x secondi"
-#: ../../mod/settings.php:857
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../mod/settings.php:858
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum number of conversations to load at any time:"
msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../mod/settings.php:858
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum of 100 items"
msgstr "Massimo 100"
-#: ../../mod/settings.php:859
+#: ../../Zotlabs/Module/Settings.php:852
msgid "Show emoticons (smilies) as images"
msgstr "Mostra le faccine (smilies) come immagini"
-#: ../../mod/settings.php:860
+#: ../../Zotlabs/Module/Settings.php:853
msgid "Link post titles to source"
msgstr "Il link del titolo di un post porta al sito originale"
-#: ../../mod/settings.php:861
+#: ../../Zotlabs/Module/Settings.php:854
msgid "System Page Layout Editor - (advanced)"
msgstr "Modifica i layout di sistema (avanzato)"
-#: ../../mod/settings.php:864
+#: ../../Zotlabs/Module/Settings.php:857
msgid "Use blog/list mode on channel page"
msgstr "Mostra il canale nella modalità blog"
-#: ../../mod/settings.php:864 ../../mod/settings.php:865
+#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
msgid "(comments displayed separately)"
msgstr "(i commenti sono mostrati separatamente)"
-#: ../../mod/settings.php:865
+#: ../../Zotlabs/Module/Settings.php:858
msgid "Use blog/list mode on grid page"
msgstr "Mostra la tua rete in modalità blog"
-#: ../../mod/settings.php:866
+#: ../../Zotlabs/Module/Settings.php:859
msgid "Channel page max height of content (in pixels)"
msgstr "Altezza massima dei contenuti del canale (in pixel)"
-#: ../../mod/settings.php:866 ../../mod/settings.php:867
+#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
msgid "click to expand content exceeding this height"
msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori"
-#: ../../mod/settings.php:867
+#: ../../Zotlabs/Module/Settings.php:860
msgid "Grid page max height of content (in pixels)"
msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
-#: ../../mod/settings.php:901
+#: ../../Zotlabs/Module/Settings.php:894
msgid "Nobody except yourself"
msgstr "Nessuno tranne te"
-#: ../../mod/settings.php:902
+#: ../../Zotlabs/Module/Settings.php:895
msgid "Only those you specifically allow"
msgstr "Solo chi riceve il mio permesso"
-#: ../../mod/settings.php:903
+#: ../../Zotlabs/Module/Settings.php:896
msgid "Approved connections"
msgstr "Contatti approvati"
-#: ../../mod/settings.php:904
+#: ../../Zotlabs/Module/Settings.php:897
msgid "Any connections"
msgstr "Tutti i contatti"
-#: ../../mod/settings.php:905
+#: ../../Zotlabs/Module/Settings.php:898
msgid "Anybody on this website"
msgstr "Chiunque su questo hub"
-#: ../../mod/settings.php:906
+#: ../../Zotlabs/Module/Settings.php:899
msgid "Anybody in this network"
msgstr "Chiunque su questa rete"
-#: ../../mod/settings.php:907
+#: ../../Zotlabs/Module/Settings.php:900
msgid "Anybody authenticated"
msgstr "Chiunque abbia effettuato l'accesso"
-#: ../../mod/settings.php:908
+#: ../../Zotlabs/Module/Settings.php:901
msgid "Anybody on the internet"
msgstr "Chiunque su internet"
-#: ../../mod/settings.php:983
+#: ../../Zotlabs/Module/Settings.php:976
msgid "Publish your default profile in the network directory"
msgstr "Mostra il mio profilo predefinito negli elenchi pubblici dei canali"
-#: ../../mod/settings.php:988
+#: ../../Zotlabs/Module/Settings.php:981
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
-#: ../../mod/settings.php:997
+#: ../../Zotlabs/Module/Settings.php:990
msgid "Your channel address is"
msgstr "L'indirizzo del tuo canale è"
-#: ../../mod/settings.php:1039
+#: ../../Zotlabs/Module/Settings.php:1032
msgid "Channel Settings"
msgstr "Impostazioni del canale"
-#: ../../mod/settings.php:1046
+#: ../../Zotlabs/Module/Settings.php:1039
msgid "Basic Settings"
msgstr "Impostazioni di base"
-#: ../../mod/settings.php:1049
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
+msgid "Full Name:"
+msgstr "Nome completo:"
+
+#: ../../Zotlabs/Module/Settings.php:1042
msgid "Your Timezone:"
msgstr "Il tuo fuso orario:"
-#: ../../mod/settings.php:1050
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Default Post Location:"
msgstr "Località predefinita:"
-#: ../../mod/settings.php:1050
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Geographical location to display on your posts"
msgstr "La posizione geografica da mostrare sui tuoi post"
-#: ../../mod/settings.php:1051
+#: ../../Zotlabs/Module/Settings.php:1044
msgid "Use Browser Location:"
msgstr "Usa la località rilevata dal browser:"
-#: ../../mod/settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1046
msgid "Adult Content"
msgstr "Contenuto per adulti"
-#: ../../mod/settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1046
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
-#: ../../mod/settings.php:1055
+#: ../../Zotlabs/Module/Settings.php:1048
msgid "Security and Privacy Settings"
msgstr "Impostazioni di sicurezza e privacy"
-#: ../../mod/settings.php:1058
+#: ../../Zotlabs/Module/Settings.php:1051
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
-#: ../../mod/settings.php:1060
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Hide my online presence"
msgstr "Nascondi la mia presenza online"
-#: ../../mod/settings.php:1060
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Prevents displaying in your profile that you are online"
msgstr "Non mostrare sul tuo profilo quando sei online"
-#: ../../mod/settings.php:1062
+#: ../../Zotlabs/Module/Settings.php:1055
msgid "Simple Privacy Settings:"
msgstr "Impostazioni di privacy semplificate"
-#: ../../mod/settings.php:1063
+#: ../../Zotlabs/Module/Settings.php:1056
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
-#: ../../mod/settings.php:1064
+#: ../../Zotlabs/Module/Settings.php:1057
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
-#: ../../mod/settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1058
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
-#: ../../mod/settings.php:1066
+#: ../../Zotlabs/Module/Settings.php:1059
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1061
msgid "Allow others to tag your posts"
msgstr "Permetti ad altri di taggare i tuoi post"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1061
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
-#: ../../mod/settings.php:1070
+#: ../../Zotlabs/Module/Settings.php:1063
msgid "Advanced Privacy Settings"
msgstr "Impostazioni di privacy avanzate"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1065
msgid "Expire other channel content after this many days"
msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "0 or blank to use the website limit."
+msgstr "0 o vuoto per usare i valori predefiniti."
+
+#: ../../Zotlabs/Module/Settings.php:1065
#, php-format
-msgid ""
-"0 or blank to use the website limit. The website expires after %d days."
-msgstr "0 o vuoto per usare i valori predefiniti. Per questo sito la scadenza è %d giorni. "
+msgid "This website expires after %d days."
+msgstr "Per questo sito la scadenza è %d giorni. "
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "This website does not expire imported content."
+msgstr "I contenuti di questo sito non hanno scadenza."
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "The website limit takes precedence if lower than your limit."
+msgstr ""
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "Maximum Friend Requests/Day:"
msgstr "Numero massimo giornaliero di richieste di amicizia:"
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "May reduce spam activity"
msgstr "Serve a ridurre lo spam"
-#: ../../mod/settings.php:1074
-msgid "Default Post Permissions"
-msgstr "Permessi predefiniti per i post"
+#: ../../Zotlabs/Module/Settings.php:1067
+msgid "Default Post and Publish Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1069
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
-#: ../../mod/settings.php:1079
+#: ../../Zotlabs/Module/Settings.php:1072
msgid "Channel permissions category:"
msgstr "Categorie di permessi dei canali:"
-#: ../../mod/settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Maximum private messages per day from unknown people:"
msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-#: ../../mod/settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Useful to reduce spamming"
msgstr "Serve e ridurre lo spam"
-#: ../../mod/settings.php:1088
+#: ../../Zotlabs/Module/Settings.php:1081
msgid "Notification Settings"
msgstr "Impostazioni di notifica"
-#: ../../mod/settings.php:1089
+#: ../../Zotlabs/Module/Settings.php:1082
msgid "By default post a status message when:"
msgstr "Pubblica un messaggio di stato quando:"
-#: ../../mod/settings.php:1090
+#: ../../Zotlabs/Module/Settings.php:1083
msgid "accepting a friend request"
msgstr "accetto una nuova amicizia"
-#: ../../mod/settings.php:1091
+#: ../../Zotlabs/Module/Settings.php:1084
msgid "joining a forum/community"
msgstr "entro a far parte di un forum"
-#: ../../mod/settings.php:1092
+#: ../../Zotlabs/Module/Settings.php:1085
msgid "making an <em>interesting</em> profile change"
msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-#: ../../mod/settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1086
msgid "Send a notification email when:"
msgstr "Invia una email di notifica quando:"
-#: ../../mod/settings.php:1094
+#: ../../Zotlabs/Module/Settings.php:1087
msgid "You receive a connection request"
msgstr "Ricevi una richiesta di entrare in contatto"
-#: ../../mod/settings.php:1095
+#: ../../Zotlabs/Module/Settings.php:1088
msgid "Your connections are confirmed"
msgstr "I tuoi contatti sono confermati"
-#: ../../mod/settings.php:1096
+#: ../../Zotlabs/Module/Settings.php:1089
msgid "Someone writes on your profile wall"
msgstr "Qualcuno scrive sulla tua bacheca"
-#: ../../mod/settings.php:1097
+#: ../../Zotlabs/Module/Settings.php:1090
msgid "Someone writes a followup comment"
msgstr "Qualcuno scrive un commento dopo di te"
-#: ../../mod/settings.php:1098
+#: ../../Zotlabs/Module/Settings.php:1091
msgid "You receive a private message"
msgstr "Ricevi un messaggio privato"
-#: ../../mod/settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1092
msgid "You receive a friend suggestion"
msgstr "Ti viene suggerito un amico"
-#: ../../mod/settings.php:1100
+#: ../../Zotlabs/Module/Settings.php:1093
msgid "You are tagged in a post"
msgstr "Sei taggato in un post"
-#: ../../mod/settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1094
msgid "You are poked/prodded/etc. in a post"
msgstr "Ricevi un poke in un post"
-#: ../../mod/settings.php:1104
+#: ../../Zotlabs/Module/Settings.php:1097
msgid "Show visual notifications including:"
msgstr "Mostra queste notifiche a schermo:"
-#: ../../mod/settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1099
msgid "Unseen grid activity"
msgstr "Nuove attività nella rete"
-#: ../../mod/settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1100
msgid "Unseen channel activity"
msgstr "Novità nei canali"
-#: ../../mod/settings.php:1108
+#: ../../Zotlabs/Module/Settings.php:1101
msgid "Unseen private messages"
msgstr "Nuovi messaggi privati"
-#: ../../mod/settings.php:1108 ../../mod/settings.php:1113
-#: ../../mod/settings.php:1114 ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "Recommended"
msgstr "Consigliato"
-#: ../../mod/settings.php:1109
+#: ../../Zotlabs/Module/Settings.php:1102
msgid "Upcoming events"
msgstr "Prossimi eventi"
-#: ../../mod/settings.php:1110
+#: ../../Zotlabs/Module/Settings.php:1103
msgid "Events today"
msgstr "Eventi di oggi"
-#: ../../mod/settings.php:1111
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Upcoming birthdays"
msgstr "Prossimi compleanni"
-#: ../../mod/settings.php:1111
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Not available in all themes"
msgstr "Non disponibile in tutti i temi"
-#: ../../mod/settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1105
msgid "System (personal) notifications"
msgstr "Notifiche personali dal sistema"
-#: ../../mod/settings.php:1113
+#: ../../Zotlabs/Module/Settings.php:1106
msgid "System info messages"
msgstr "Notifiche di sistema"
-#: ../../mod/settings.php:1114
+#: ../../Zotlabs/Module/Settings.php:1107
msgid "System critical alerts"
msgstr "Avvisi critici di sistema"
-#: ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "New connections"
msgstr "Nuovi contatti"
-#: ../../mod/settings.php:1116
+#: ../../Zotlabs/Module/Settings.php:1109
msgid "System Registrations"
msgstr "Registrazioni"
-#: ../../mod/settings.php:1117
+#: ../../Zotlabs/Module/Settings.php:1110
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Notify me of events this many days in advance"
msgstr "Giorni di anticipo per notificare gli eventi"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Must be greater than 0"
msgstr "Maggiore di 0"
-#: ../../mod/settings.php:1121
+#: ../../Zotlabs/Module/Settings.php:1114
msgid "Advanced Account/Page Type Settings"
msgstr "Impostazioni avanzate"
-#: ../../mod/settings.php:1122
+#: ../../Zotlabs/Module/Settings.php:1115
msgid "Change the behaviour of this account for special situations"
msgstr "Cambia il funzionamento di questo account per necessità particolari"
-#: ../../mod/settings.php:1125
+#: ../../Zotlabs/Module/Settings.php:1118
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)"
-#: ../../mod/settings.php:1126
+#: ../../Zotlabs/Module/Settings.php:1119
msgid "Miscellaneous Settings"
msgstr "Impostazioni varie"
-#: ../../mod/settings.php:1127
+#: ../../Zotlabs/Module/Settings.php:1120
msgid "Default photo upload folder"
msgstr "Cartella predefinita per le foto caricate"
-#: ../../mod/settings.php:1127 ../../mod/settings.php:1128
+#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "%Y - current year, %m - current month"
msgstr "%Y - anno corrente, %m - mese corrente"
-#: ../../mod/settings.php:1128
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "Default file upload folder"
msgstr "Cartella predefinita per i file caricati"
-#: ../../mod/settings.php:1130
+#: ../../Zotlabs/Module/Settings.php:1123
msgid "Personal menu to display in your channel pages"
msgstr "Menu personale da mostrare sulle pagine del tuo canale"
-#: ../../mod/settings.php:1132
+#: ../../Zotlabs/Module/Settings.php:1125
msgid "Remove this channel."
msgstr "Elimina questo canale."
-#: ../../mod/settings.php:1133
+#: ../../Zotlabs/Module/Settings.php:1126
msgid "Firefox Share $Projectname provider"
msgstr "Attiva Firefox Share per $Projectname"
-#: ../../mod/settings.php:1134
+#: ../../Zotlabs/Module/Settings.php:1127
msgid "Start calendar week on monday"
msgstr "La settimana inizia il lunedì"
-#: ../../mod/setup.php:197
+#: ../../Zotlabs/Module/Setup.php:179
msgid "$Projectname Server - Setup"
msgstr "Server $Projectname - Installazione"
-#: ../../mod/setup.php:201
+#: ../../Zotlabs/Module/Setup.php:183
msgid "Could not connect to database."
msgstr " Impossibile connettersi al database."
-#: ../../mod/setup.php:205
+#: ../../Zotlabs/Module/Setup.php:187
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-#: ../../mod/setup.php:212
+#: ../../Zotlabs/Module/Setup.php:194
msgid "Could not create table."
msgstr "Impossibile creare le tabelle."
-#: ../../mod/setup.php:217
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Your site database has been installed."
msgstr "Il database del sito è stato installato."
-#: ../../mod/setup.php:221
+#: ../../Zotlabs/Module/Setup.php:203
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-#: ../../mod/setup.php:222 ../../mod/setup.php:290 ../../mod/setup.php:740
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Leggi il file 'install/INSTALL.txt'."
-#: ../../mod/setup.php:287
+#: ../../Zotlabs/Module/Setup.php:263
msgid "System check"
msgstr "Verifica del sistema"
-#: ../../mod/setup.php:292
+#: ../../Zotlabs/Module/Setup.php:268
msgid "Check again"
msgstr "Verifica di nuovo"
-#: ../../mod/setup.php:314
+#: ../../Zotlabs/Module/Setup.php:290
msgid "Database connection"
msgstr "Connessione al database"
-#: ../../mod/setup.php:315
+#: ../../Zotlabs/Module/Setup.php:291
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-#: ../../mod/setup.php:316
+#: ../../Zotlabs/Module/Setup.php:292
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-#: ../../mod/setup.php:317
+#: ../../Zotlabs/Module/Setup.php:293
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-#: ../../mod/setup.php:321
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Database Server Name"
msgstr "Server del database"
-#: ../../mod/setup.php:321
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Default is 127.0.0.1"
msgstr "Il valore predefinito è 127.0.0.1"
-#: ../../mod/setup.php:322
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Database Port"
msgstr "Port del database"
-#: ../../mod/setup.php:322
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Communication port number - use 0 for default"
msgstr "Scrivi 0 per usare il valore standard"
-#: ../../mod/setup.php:323
+#: ../../Zotlabs/Module/Setup.php:299
msgid "Database Login Name"
msgstr "Utente database"
-#: ../../mod/setup.php:324
+#: ../../Zotlabs/Module/Setup.php:300
msgid "Database Login Password"
msgstr "Password database"
-#: ../../mod/setup.php:325
+#: ../../Zotlabs/Module/Setup.php:301
msgid "Database Name"
msgstr "Nome database"
-#: ../../mod/setup.php:326
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Type"
msgstr "Tipo database"
-#: ../../mod/setup.php:328 ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid "Site administrator email address"
msgstr "Indirizzo email dell'amministratore del hub"
-#: ../../mod/setup.php:328 ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."
-#: ../../mod/setup.php:329 ../../mod/setup.php:370
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Website URL"
msgstr "URL completo del sito"
-#: ../../mod/setup.php:329 ../../mod/setup.php:370
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Please use SSL (https) URL if available."
msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-#: ../../mod/setup.php:330 ../../mod/setup.php:373
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
msgid "Please select a default timezone for your website"
msgstr "Seleziona il fuso orario predefinito per il tuo hub"
-#: ../../mod/setup.php:357
+#: ../../Zotlabs/Module/Setup.php:333
msgid "Site settings"
msgstr "Impostazioni del hub"
-#: ../../mod/setup.php:371
+#: ../../Zotlabs/Module/Setup.php:347
msgid "Enable $Projectname <strong>advanced</strong> features?"
msgstr "Vuoi attivare le funzionalità <strong>avanzate</strong> di $Projectname?"
-#: ../../mod/setup.php:371
+#: ../../Zotlabs/Module/Setup.php:347
msgid ""
"Some advanced features, while useful - may be best suited for technically "
"proficient audiences"
msgstr "Alcune funzionalità avanzate, per quanto utili, potrebbero essere adatte solo a un pubblico tecnicamente preparato."
-#: ../../mod/setup.php:423
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:389
+msgid "PHP version"
+msgstr "Versione PHP"
+
+#: ../../Zotlabs/Module/Setup.php:404
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-#: ../../mod/setup.php:424
+#: ../../Zotlabs/Module/Setup.php:405
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-#: ../../mod/setup.php:428
+#: ../../Zotlabs/Module/Setup.php:409
msgid "PHP executable path"
msgstr "Path del comando PHP"
-#: ../../mod/setup.php:428
+#: ../../Zotlabs/Module/Setup.php:409
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-#: ../../mod/setup.php:433
+#: ../../Zotlabs/Module/Setup.php:414
msgid "Command line PHP"
msgstr "PHP da riga di comando"
-#: ../../mod/setup.php:442
+#: ../../Zotlabs/Module/Setup.php:423
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-#: ../../mod/setup.php:443
+#: ../../Zotlabs/Module/Setup.php:424
msgid "This is required for message delivery to work."
msgstr "E' necessario perché funzioni la consegna dei messaggi."
-#: ../../mod/setup.php:446
+#: ../../Zotlabs/Module/Setup.php:427
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:464
+#: ../../Zotlabs/Module/Setup.php:445
#, php-format
msgid ""
"Your max allowed total upload size is set to %s. Maximum size of one file to"
" upload is set to %s. You are allowed to upload up to %d files at once."
msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
-#: ../../mod/setup.php:469
+#: ../../Zotlabs/Module/Setup.php:450
msgid "You can adjust these settings in the servers php.ini."
msgstr "Puoi regolare queste impostazioni sul server in php.ini"
-#: ../../mod/setup.php:471
+#: ../../Zotlabs/Module/Setup.php:452
msgid "PHP upload limits"
msgstr "Limiti PHP in upload"
-#: ../../mod/setup.php:494
+#: ../../Zotlabs/Module/Setup.php:475
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"
-#: ../../mod/setup.php:495
+#: ../../Zotlabs/Module/Setup.php:476
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/setup.php:498
+#: ../../Zotlabs/Module/Setup.php:479
msgid "Generate encryption keys"
msgstr "Genera chiavi di cifratura"
-#: ../../mod/setup.php:510
+#: ../../Zotlabs/Module/Setup.php:491
msgid "libCurl PHP module"
msgstr "modulo PHP libCurl"
-#: ../../mod/setup.php:511
+#: ../../Zotlabs/Module/Setup.php:492
msgid "GD graphics PHP module"
msgstr "modulo PHP GD graphics"
-#: ../../mod/setup.php:512
+#: ../../Zotlabs/Module/Setup.php:493
msgid "OpenSSL PHP module"
msgstr "modulo PHP OpenSSL"
-#: ../../mod/setup.php:513
+#: ../../Zotlabs/Module/Setup.php:494
msgid "mysqli or postgres PHP module"
msgstr "modulo PHP per mysqli oppure prostgres"
-#: ../../mod/setup.php:514
+#: ../../Zotlabs/Module/Setup.php:495
msgid "mb_string PHP module"
msgstr "modulo PHP mb_string"
-#: ../../mod/setup.php:515
+#: ../../Zotlabs/Module/Setup.php:496
msgid "mcrypt PHP module"
msgstr "modulo PHP mcrypt"
-#: ../../mod/setup.php:516
+#: ../../Zotlabs/Module/Setup.php:497
msgid "xml PHP module"
msgstr "modulo xml PHP"
-#: ../../mod/setup.php:520 ../../mod/setup.php:522
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
msgid "Apache mod_rewrite module"
msgstr "modulo Apache mod_rewrite"
-#: ../../mod/setup.php:520
+#: ../../Zotlabs/Module/Setup.php:501
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
-#: ../../mod/setup.php:526 ../../mod/setup.php:529
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:526
+#: ../../Zotlabs/Module/Setup.php:507
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
-#: ../../mod/setup.php:534
+#: ../../Zotlabs/Module/Setup.php:515
msgid "Error: libCURL PHP module required but not installed."
msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
-#: ../../mod/setup.php:538
+#: ../../Zotlabs/Module/Setup.php:519
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-#: ../../mod/setup.php:542
+#: ../../Zotlabs/Module/Setup.php:523
msgid "Error: openssl PHP module required but not installed."
msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
-#: ../../mod/setup.php:546
+#: ../../Zotlabs/Module/Setup.php:527
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
-#: ../../mod/setup.php:550
+#: ../../Zotlabs/Module/Setup.php:531
msgid "Error: mb_string PHP module required but not installed."
msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-#: ../../mod/setup.php:554
+#: ../../Zotlabs/Module/Setup.php:535
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
-#: ../../mod/setup.php:558
+#: ../../Zotlabs/Module/Setup.php:539
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
-#: ../../mod/setup.php:576
+#: ../../Zotlabs/Module/Setup.php:557
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
-#: ../../mod/setup.php:577
+#: ../../Zotlabs/Module/Setup.php:558
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
-#: ../../mod/setup.php:578
+#: ../../Zotlabs/Module/Setup.php:559
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
-#: ../../mod/setup.php:579
+#: ../../Zotlabs/Module/Setup.php:560
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
-#: ../../mod/setup.php:582
+#: ../../Zotlabs/Module/Setup.php:563
msgid ".htconfig.php is writable"
msgstr ".htconfig.php è scrivibile"
-#: ../../mod/setup.php:596
+#: ../../Zotlabs/Module/Setup.php:577
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
-#: ../../mod/setup.php:597
+#: ../../Zotlabs/Module/Setup.php:578
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla."
+"write access to the directory %s under the top level web folder."
+msgstr ""
-#: ../../mod/setup.php:598 ../../mod/setup.php:619
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
-#: ../../mod/setup.php:599
+#: ../../Zotlabs/Module/Setup.php:580
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
-#: ../../mod/setup.php:602
+#: ../../Zotlabs/Module/Setup.php:583
#, php-format
msgid "%s is writable"
msgstr "%s è scrivibile"
-#: ../../mod/setup.php:618
+#: ../../Zotlabs/Module/Setup.php:599
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"
-#: ../../mod/setup.php:622
+#: ../../Zotlabs/Module/Setup.php:603
msgid "store is writable"
msgstr "l'archivio è scrivibile"
-#: ../../mod/setup.php:655
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../mod/setup.php:656
+#: ../../Zotlabs/Module/Setup.php:637
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"
-#: ../../mod/setup.php:657
+#: ../../Zotlabs/Module/Setup.php:638
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-#: ../../mod/setup.php:658
+#: ../../Zotlabs/Module/Setup.php:639
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
-#: ../../mod/setup.php:659
+#: ../../Zotlabs/Module/Setup.php:640
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
-#: ../../mod/setup.php:660
+#: ../../Zotlabs/Module/Setup.php:641
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
-#: ../../mod/setup.php:662
+#: ../../Zotlabs/Module/Setup.php:643
msgid "SSL certificate validation"
msgstr "Validazione del certificato SSL"
-#: ../../mod/setup.php:668
+#: ../../Zotlabs/Module/Setup.php:649
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
-#: ../../mod/setup.php:671
+#: ../../Zotlabs/Module/Setup.php:652
msgid "Url rewrite is working"
msgstr "Url rewrite funziona correttamente"
-#: ../../mod/setup.php:680
+#: ../../Zotlabs/Module/Setup.php:661
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-#: ../../mod/setup.php:704
+#: ../../Zotlabs/Module/Setup.php:685
msgid "Errors encountered creating database tables."
msgstr "La creazione delle tabelle del database ha generato errori."
-#: ../../mod/setup.php:738
+#: ../../Zotlabs/Module/Setup.php:719
msgid "<h1>What next</h1>"
msgstr "<h1>I prossimi passi</h1>"
-#: ../../mod/setup.php:739
+#: ../../Zotlabs/Module/Setup.php:720
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Nessun account valido trovato."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Utente del sito (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "È stato richiesto di reimpostare password su %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-
-#: ../../mod/lostpass.php:86 ../../boot.php:1588
-msgid "Password Reset"
-msgstr "Reimposta la password"
-
-#: ../../mod/lostpass.php:87
-msgid "Your password has been reset as requested."
-msgstr "La password è stata reimpostata come richiesto."
-
-#: ../../mod/lostpass.php:88
-msgid "Your new password is"
-msgstr "La tua nuova password è"
-
-#: ../../mod/lostpass.php:89
-msgid "Save or copy your new password - and then"
-msgstr "Salva o copia la tua nuova password, quindi"
-
-#: ../../mod/lostpass.php:90
-msgid "click here to login"
-msgstr "clicca qui per accedere"
-
-#: ../../mod/lostpass.php:91
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-
-#: ../../mod/lostpass.php:108
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "La tua password su %s è cambiata"
-
-#: ../../mod/lostpass.php:123
-msgid "Forgot your Password?"
-msgstr "Hai dimenticato la password?"
-
-#: ../../mod/lostpass.php:124
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-
-#: ../../mod/lostpass.php:125
-msgid "Email Address"
-msgstr "Indirizzo email"
-
-#: ../../mod/lostpass.php:126
-msgid "Reset"
-msgstr "Reimposta"
-
-#: ../../mod/sharedwithme.php:94
+#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
msgstr "File: condivisi con me"
-#: ../../mod/sharedwithme.php:96
+#: ../../Zotlabs/Module/Sharedwithme.php:100
msgid "NEW"
msgstr "NOVITÀ"
-#: ../../mod/sharedwithme.php:99
+#: ../../Zotlabs/Module/Sharedwithme.php:103
msgid "Remove all files"
msgstr "Elimina tutti i file"
-#: ../../mod/sharedwithme.php:100
+#: ../../Zotlabs/Module/Sharedwithme.php:104
msgid "Remove this file"
msgstr "Elimina questo file"
-#: ../../mod/siteinfo.php:15
+#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
msgid "Version %s"
msgstr "Versione %s"
-#: ../../mod/siteinfo.php:36
+#: ../../Zotlabs/Module/Siteinfo.php:40
msgid "Installed plugins/addons/apps:"
msgstr "App e componenti installati:"
-#: ../../mod/siteinfo.php:49
+#: ../../Zotlabs/Module/Siteinfo.php:53
msgid "No installed plugins/addons/apps"
msgstr "Nessuna app o componente installato"
-#: ../../mod/siteinfo.php:62
+#: ../../Zotlabs/Module/Siteinfo.php:66
msgid ""
"This is a hub of $Projectname - a global cooperative network of "
"decentralized privacy enhanced websites."
msgstr "Questo è un hub di $Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
-#: ../../mod/siteinfo.php:64
+#: ../../Zotlabs/Module/Siteinfo.php:68
msgid "Tag: "
msgstr "Tag: "
-#: ../../mod/siteinfo.php:66
+#: ../../Zotlabs/Module/Siteinfo.php:70
msgid "Last background fetch: "
msgstr "Ultima acquisizione:"
-#: ../../mod/siteinfo.php:68
+#: ../../Zotlabs/Module/Siteinfo.php:72
msgid "Current load average: "
msgstr "Carico medio attuale:"
-#: ../../mod/siteinfo.php:71
+#: ../../Zotlabs/Module/Siteinfo.php:75
msgid "Running at web location"
msgstr "In esecuzione sull'indirizzo web"
-#: ../../mod/siteinfo.php:72
+#: ../../Zotlabs/Module/Siteinfo.php:76
msgid ""
"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
"about $Projectname."
msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per maggiori informazioni su $Projectname."
-#: ../../mod/siteinfo.php:73
+#: ../../Zotlabs/Module/Siteinfo.php:77
msgid "Bug reports and issues: please visit"
msgstr "Per segnalare bug e problemi: visita"
-#: ../../mod/siteinfo.php:75
+#: ../../Zotlabs/Module/Siteinfo.php:79
msgid "$projectname issues"
msgstr "Problematiche note su $projectname"
-#: ../../mod/siteinfo.php:76
+#: ../../Zotlabs/Module/Siteinfo.php:80
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
-#: ../../mod/siteinfo.php:78
+#: ../../Zotlabs/Module/Siteinfo.php:82
msgid "Site Administrators"
msgstr "Amministratori del sito"
-#: ../../mod/sources.php:32
+#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
-#: ../../mod/sources.php:45
+#: ../../Zotlabs/Module/Sources.php:51
msgid "Source created."
msgstr "Sorgente creata."
-#: ../../mod/sources.php:57
+#: ../../Zotlabs/Module/Sources.php:64
msgid "Source updated."
msgstr "Sorgente aggiornata."
-#: ../../mod/sources.php:82
+#: ../../Zotlabs/Module/Sources.php:90
msgid "*"
msgstr "*"
-#: ../../mod/sources.php:89
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../include/features.php:71
+msgid "Channel Sources"
+msgstr "Sorgenti del canale"
+
+#: ../../Zotlabs/Module/Sources.php:97
msgid "Manage remote sources of content for your channel."
msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
msgid "New Source"
msgstr "Nuova sorgente"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Only import content with these words (one per line)"
msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Leave blank to import all public content"
msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
msgid "Channel Name"
msgstr "Nome del canale"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
msgid "Source not found."
msgstr "Sorgente non trovata."
-#: ../../mod/sources.php:130
+#: ../../Zotlabs/Module/Sources.php:140
msgid "Edit Source"
msgstr "Modifica la sorgente"
-#: ../../mod/sources.php:131
+#: ../../Zotlabs/Module/Sources.php:141
msgid "Delete Source"
msgstr "Elimina la sorgente"
-#: ../../mod/sources.php:158
+#: ../../Zotlabs/Module/Sources.php:169
msgid "Source removed"
msgstr "Sorgente eliminata"
-#: ../../mod/sources.php:160
+#: ../../Zotlabs/Module/Sources.php:171
msgid "Unable to remove source."
msgstr "Impossibile rimuovere la sorgente."
-#: ../../mod/subthread.php:114
+#: ../../Zotlabs/Module/Subthread.php:118
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s sta seguendo %3$s di %2$s"
-#: ../../mod/subthread.php:116
+#: ../../Zotlabs/Module/Subthread.php:120
#, php-format
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s non segue più %3$s di %2$s"
-#: ../../mod/suggest.php:35
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
-#: ../../mod/tagger.php:96
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "Ignora/nascondi"
+
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
+msgid "post"
+msgstr "il post"
+
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "il commento"
+
+#: ../../Zotlabs/Module/Tagger.php:100
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
msgid "Tag removed"
msgstr "Tag rimosso"
-#: ../../mod/tagrm.php:119
+#: ../../Zotlabs/Module/Tagrm.php:123
msgid "Remove Item Tag"
msgstr "Rimuovi il tag"
-#: ../../mod/tagrm.php:121
+#: ../../Zotlabs/Module/Tagrm.php:125
msgid "Select a tag to remove: "
msgstr "Seleziona un tag da rimuovere: "
-#: ../../mod/thing.php:110
+#: ../../Zotlabs/Module/Thing.php:114
msgid "Thing updated"
msgstr "L'oggetto è stato aggiornato"
-#: ../../mod/thing.php:162
+#: ../../Zotlabs/Module/Thing.php:166
msgid "Object store: failed"
msgstr "Impossibile memorizzare l'oggetto."
-#: ../../mod/thing.php:166
+#: ../../Zotlabs/Module/Thing.php:170
msgid "Thing added"
msgstr "L'Oggetto è stato aggiunto"
-#: ../../mod/thing.php:192
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/thing.php:255
+#: ../../Zotlabs/Module/Thing.php:259
msgid "Show Thing"
msgstr "Mostra l'oggetto"
-#: ../../mod/thing.php:262
+#: ../../Zotlabs/Module/Thing.php:266
msgid "item not found."
msgstr "non trovato."
-#: ../../mod/thing.php:295
+#: ../../Zotlabs/Module/Thing.php:299
msgid "Edit Thing"
msgstr "Modifica l'oggetto"
-#: ../../mod/thing.php:297 ../../mod/thing.php:347
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
msgid "Select a profile"
msgstr "Scegli un profilo"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Post an activity"
msgstr "Pubblica un'attività"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Only sends to viewers of the applicable profile"
msgstr "Invia solo a chi può vedere il profilo scelto"
-#: ../../mod/thing.php:303 ../../mod/thing.php:352
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
msgid "Name of thing e.g. something"
msgstr "Nome dell'oggetto"
-#: ../../mod/thing.php:305 ../../mod/thing.php:353
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
msgid "URL of thing (optional)"
msgstr "Indirizzo web dell'oggetto (facoltativo)"
-#: ../../mod/thing.php:307 ../../mod/thing.php:354
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
msgid "URL for photo of thing (optional)"
msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
-#: ../../mod/thing.php:345
+#: ../../Zotlabs/Module/Thing.php:349
msgid "Add Thing to your Profile"
msgstr "Aggiungi l'oggetto al tuo profilo"
-#: ../../mod/uexport.php:51 ../../mod/uexport.php:52
+#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
msgstr "Esporta il canale"
-#: ../../mod/uexport.php:53
+#: ../../Zotlabs/Module/Uexport.php:57
msgid ""
"Export your basic channel information to a file. This acts as a backup of "
"your connections, permissions, profile and basic data, which can be used to "
"import your data to a new server hub, but does not contain your content."
msgstr "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."
-#: ../../mod/uexport.php:54
+#: ../../Zotlabs/Module/Uexport.php:58
msgid "Export Content"
msgstr "Esporta i contenuti"
-#: ../../mod/uexport.php:55
+#: ../../Zotlabs/Module/Uexport.php:59
msgid ""
"Export your channel information and recent content to a JSON backup that can"
" be restored or imported to another server hub. This backs up all of your "
@@ -9387,11 +6189,11 @@ msgid ""
" this download to begin."
msgstr "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."
-#: ../../mod/uexport.php:56
+#: ../../Zotlabs/Module/Uexport.php:60
msgid "Export your posts from a given year."
msgstr "Esporta i tuoi post a partire dall'anno scelto."
-#: ../../mod/uexport.php:58
+#: ../../Zotlabs/Module/Uexport.php:62
msgid ""
"You may also export your posts and conversations for a particular year or "
"month. Adjust the date in your browser location bar to select other dates. "
@@ -9399,21 +6201,21 @@ msgid ""
"please try again selecting a more limited date range."
msgstr "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date."
-#: ../../mod/uexport.php:59
+#: ../../Zotlabs/Module/Uexport.php:63
#, php-format
msgid ""
"To select all posts for a given year, such as this year, visit <a "
"href=\"%1$s\">%2$s</a>"
msgstr "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1$s\">%2$s</a> "
-#: ../../mod/uexport.php:60
+#: ../../Zotlabs/Module/Uexport.php:64
#, php-format
msgid ""
"To select all posts for a given month, such as January of this year, visit "
"<a href=\"%1$s\">%2$s</a>"
msgstr "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/uexport.php:61
+#: ../../Zotlabs/Module/Uexport.php:65
#, php-format
msgid ""
"These content files may be imported or restored by visiting <a "
@@ -9421,46 +6223,3414 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"
-#: ../../mod/viewconnections.php:59
+#: ../../Zotlabs/Module/Viewconnections.php:62
msgid "No connections."
msgstr "Nessun contatto."
-#: ../../mod/viewconnections.php:72
+#: ../../Zotlabs/Module/Viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Visita il profilo di %s [%s]"
-#: ../../mod/viewconnections.php:101
+#: ../../Zotlabs/Module/Viewconnections.php:104
msgid "View Connections"
msgstr "Elenco contatti"
-#: ../../mod/viewsrc.php:40
+#: ../../Zotlabs/Module/Viewsrc.php:44
msgid "Source of Item"
msgstr "Sorgente"
-#: ../../mod/webpages.php:193
+#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
+msgid "Webpages"
+msgstr "Pagine web"
+
+#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
+msgid "Actions"
+msgstr "Azioni"
+
+#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
+msgid "Page Link"
+msgstr "Link alla pagina"
+
+#: ../../Zotlabs/Module/Webpages.php:197
msgid "Page Title"
msgstr "Titolo della pagina"
-#: ../../mod/xchan.php:6
+#: ../../Zotlabs/Module/Xchan.php:10
msgid "Xchan Lookup"
msgstr "Ricerca canale"
-#: ../../mod/xchan.php:9
+#: ../../Zotlabs/Module/Xchan.php:13
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Cerca un canale (o un webbie) che inizia per:"
-#: ../../mod/cover_photo.php:130 ../../mod/cover_photo.php:177
-msgid "Cover Photos"
-msgstr "Copertine del canale"
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "Amministrazione sito"
-#: ../../mod/cover_photo.php:352
-msgid "Upload Cover Photo"
-msgstr "Carica una copertina"
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr "Bug Report"
-#: ../../mod/cal.php:63
-msgid "Permissions denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr "Vedi i segnalibri"
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr "Le mie aree chat"
+
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "Suggerisci canali"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1703
+msgid "Login"
+msgstr "Accedi"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr "Rete"
+
+#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "Bacheca del canale"
+
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
+msgid "Events"
+msgstr "Eventi"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+msgid "Directory"
+msgstr "Elenchi pubblici dei canali"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+msgid "Mail"
+msgstr "Messaggi"
+
+#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../Zotlabs/Lib/Apps.php:229
+msgid "Probe"
+msgstr "Diagnostica"
+
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Suggest"
+msgstr "Suggerisci"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Random Channel"
+msgstr "Canale casuale"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Invite"
+msgstr "Invita"
+
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
+msgid "Features"
+msgstr "Funzionalità"
+
+#: ../../Zotlabs/Lib/Apps.php:235
+msgid "Post"
+msgstr "Post"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Purchase"
+msgstr "Acquista"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr "Chat senza nome"
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr "Il nome della chat è duplicato"
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "Il nome della chat non è valido."
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "Chat non trovata."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "La chat è al completo"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+msgid "$Projectname Notification"
+msgstr "Notifica $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+msgid "Thank You,"
+msgstr "Grazie,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
+#, php-format
+msgid "%s Administrator"
+msgstr "L'amministratore di %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla] Nuovo messaggio su %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s ti ha mandato %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "un messaggio privato"
+
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
+
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla] Nuovo commento di %2$s alla conversazione #%1$d"
+
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
+
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Visita %s per leggere o commentare la conversazione."
+
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla] %s ha scritto sulla tua bacheca"
+
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla] %s ti ha taggato"
+
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s ti ha taggato su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr "[Hubzilla] %1$s ti ha mandato un poke"
+
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla] %s ha taggato il tuo post"
+
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla] Hai una richiesta di amicizia"
+
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Puoi visitare il suo profilo su %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
+
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla] Ti è stato suggerito un amico"
+
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
+
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "Nome:"
+
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Visita %s per approvare o rifiutare il suggerimento."
+
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla]"
+
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "Ha creato un nuovo post"
+
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "ha commentato il post di %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Messaggio privato"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Scegli"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "Salva nella cartella"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Parteciperò"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "Non parteciperò"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Forse parteciperò"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Sono d'accordo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "Non sono d'accordo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Mi astengo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Aggiungi ai preferiti"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Rimuovi dai preferiti"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Attiva/disattiva preferito"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "preferito"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Messaggio con firma verificata"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Massaggio con firma non corretta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Aggiungi un tag"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "mi piace"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "non mi piace"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Condividi"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "condividi"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Rapporto di trasmissione"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commento"
+msgstr[1] "%d commenti"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Guarda il profilo di %s - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "a"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "Da bacheca a bacheca"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "da bacheca a bacheca:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "da %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "ultima modifica: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Scadenza: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Salva segnalibro"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Aggiungi al calendario"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Marca tutto come letto"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostra tutto"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Grassetto"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Corsivo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Sottolineato"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Citazione"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Codice"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Immagine"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Collegamento"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Video"
+
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "Impossibile trovare il nome utente nel file da importare."
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Non trovo le informazioni DNS per il database server '%s'"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Categorie"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Tag"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Parole chiave"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "ho"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "ha"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "voglio"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "vuole"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "gli piace"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "non gli piace"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Inizio:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Fine:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Questo evento è stato aggiunto al tuo calendario"
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Non specificato"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Necessita di un intervento"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Completato"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "In corso"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Annullato"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "Impossibile clonare il canale. L'importazione è fallita."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti su %s."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "Gruppo di canali vuoto."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Gruppo di canali: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Contatto non trovato."
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "foto del profilo"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Devi scegliere un destinatario."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[nessun titolo]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Impossibile determinare il mittente."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Non è stato possibile verificare il post."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "prec"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "inizio"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "fine"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "succ"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "più recenti"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "più nuovi"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Nessun contatto"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Mostra tutti i %s contatti"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "poke"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha mandato un poke"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "ha effettuato un ping"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "spintone"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "ha ricevuto uno spintone"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "schiaffo"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "ha ricevuto uno schiaffo"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "ha ricevuto un finger"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "rifiuto"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "ha ricevuto un rifiuto"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "felice"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "triste"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "calmo"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "stanco"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "vivace"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "arrabbiato"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "stupito"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "confuso"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "attento"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "amaro"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "allegro"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "vivace"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "seccato"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "ansioso"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "irritabile"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "turbato"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustrato"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "in depressione"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motivato"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "rilassato"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "sorpreso"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "lunedì"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "martedì"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "mercoledì"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "giovedì"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "venerdì"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "sabato"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "domenica"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "gennaio"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "febbraio"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "marzo"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "aprile"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "Mag"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "giugno"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "luglio"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "agosto"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "settembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "ottobre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "novembre"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "dicembre"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Allegato non riconoscuto"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "sconosciuta"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "rimuovi la categoria"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "rimuovi dal file"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "predefinito"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Layout della pagina"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Tipo di contenuto della pagina"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Seleziona una lingua diversa"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "l'attività"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Strumenti di design"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Pagine"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Sistema"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nuova app"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Suggerimenti"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Altro..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Aggiungi un contatto"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Indirizzo del canale"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Per esempio: bob@example.com, https://example.com/barbara"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Note"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Rimuovi termine"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "aggiungi"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Tutto"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Archivi"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Aggiorna"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Il tuo account"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Impostazioni del canale"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Funzionalità opzionali"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Componenti aggiuntivi"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Aspetto"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr "Gestione repliche"
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Esporta il canale"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "App connesse"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Canale premium - impostazioni"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Menu messaggi privati"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Vista combinata"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "In arrivo"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Inviati"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Nuovo messaggio"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Conversazioni"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Ricevuti"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Inviati"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Nessun messaggio."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Menu eventi"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Eventi del giorno"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Eventi della settimana"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Eventi del mese"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Gestione eventi"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Esporta calendario"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importa calendario"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Chat"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr "Riepilogo"
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr "Partecipanti"
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Chat nei segnalibri"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Chat suggerite"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "foto/immagine"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr "Clicca per mostrare tutto"
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Valutazione"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "Valutami"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Vedi le valutazioni ricevute"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Forum"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Attività"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Guida"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Informazioni sul sito/progetto"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "Per gli utenti"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "Per gli amministratori"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "Per sviluppatori"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr "Richieste in attesa di conferma"
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Coda di attesa"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Aggiornamenti al DB"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
+msgstr "Amministrazione"
+
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Plugin"
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "Il canale è stato rimosso e non esiste più."
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protocollo disabilitato."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "La ricerca del canale non ha avuto successo."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "I segnalibri di %1$s"
+
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Diario pubblico"
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Immagine"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Contenuto cifrato"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Installa l'elemento %s:"
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
+
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s %3$s"
+
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Clicca per aprire/chiudere"
+
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr "spoiler"
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Ad altri questo testo potrebbe apparire in modo differente"
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Visibilità negli elenchi pubblici"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Solo in questo sito"
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Esci"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Chiudi questa sessione"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Bacheca"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "I tuoi post e conversazioni"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "Il tuo profilo"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Gestisci i tuoi profili"
+
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Modifica il profilo"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Modifica il tuo profilo"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Le tue foto"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "I tuoi file"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Le tue chat"
+
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Segnalibri"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "I tuoi segnalibri"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Le tue pagine web"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Accedi"
+
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - clicca per uscire"
+
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Accedi dal tuo hub"
+
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "Clicca per farti riconoscere dal tuo hub principale"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Bacheca"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Crea un account"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Applicazioni, utilità, link, giochi"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Elenchi pubblici dei canali"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "La tua rete"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Segna come lette le notifiche della tua rete"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Bacheca del canale"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Segna come lette le notifiche del canale"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Avvisi"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Notifiche"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Vedi tutte le notifiche"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Messaggi privati"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Guarda tutti i messaggi privati"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Segna come letti tutti i messaggi privati"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Calendario"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Guarda tutti gli eventi"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gestisci i tuoi canali"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Impostazioni dell'account e del canale"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Installazione e configurazione del sito"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Caricamento in corso..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@nome, #tag, ?guida, contenuto"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Attendere..."
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nuova finestra"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Utente '%s' eliminato"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invito disponibile"
+msgstr[1] "%d inviti disponibili"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Ricerca canali"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Scrivi un nome o un interesse"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Aggiungi"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Per esempio: Mario Rossi, Pesca"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Profilo casuale"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Invita amici"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Per esempio: name=mario e country=italy"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d contatto in comune"
+msgstr[1] "%d contatti in comune"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mostra tutto"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s adesso è connesso con %2$s"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha mandato un poke a %2$s"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vedi il profilo di %s @ %s"
+
+#: ../../include/conversation.php:710
+msgid "Categories:"
+msgstr "Categorie:"
+
+#: ../../include/conversation.php:711
+msgid "Filed under:"
+msgstr "Classificato come:"
+
+#: ../../include/conversation.php:738
+msgid "View in context"
+msgstr "Vedi nel contesto"
+
+#: ../../include/conversation.php:847
+msgid "remove"
+msgstr "rimuovi"
+
+#: ../../include/conversation.php:852
+msgid "Delete Selected Items"
+msgstr "Elimina gli oggetti selezionati"
+
+#: ../../include/conversation.php:948
+msgid "View Source"
+msgstr "Vedi il sorgente"
+
+#: ../../include/conversation.php:949
+msgid "Follow Thread"
+msgstr "Segui la discussione"
+
+#: ../../include/conversation.php:950
+msgid "Unfollow Thread"
+msgstr "Non seguire la discussione"
+
+#: ../../include/conversation.php:955
+msgid "Activity/Posts"
+msgstr "Attività e Post"
+
+#: ../../include/conversation.php:957
+msgid "Edit Connection"
+msgstr "Modifica il contatto"
+
+#: ../../include/conversation.php:958
+msgid "Message"
+msgstr "Messaggio"
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s likes this."
+msgstr "Piace a %s."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s doesn't like this."
+msgstr "Non piace a %s."
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
+
+#: ../../include/conversation.php:1081
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
+
+#: ../../include/conversation.php:1087
+msgid "and"
+msgstr "e"
+
+#: ../../include/conversation.php:1090
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] "e altre %d persone"
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s like this."
+msgstr "Piace a %s."
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s don't like this."
+msgstr "Non piace a %s."
+
+#: ../../include/conversation.php:1130
+msgid "Set your location"
+msgstr "La tua località"
+
+#: ../../include/conversation.php:1131
+msgid "Clear browser location"
+msgstr "Rimuovi la località data dal browser"
+
+#: ../../include/conversation.php:1177
+msgid "Tag term:"
+msgstr "Tag:"
+
+#: ../../include/conversation.php:1178
+msgid "Where are you right now?"
+msgstr "Dove sei ora?"
+
+#: ../../include/conversation.php:1210
+msgid "Page link name"
+msgstr "Nome del link alla pagina"
+
+#: ../../include/conversation.php:1213
+msgid "Post as"
+msgstr "Pubblica come "
+
+#: ../../include/conversation.php:1223
+msgid "Toggle voting"
+msgstr "Abilita/disabilita il voto"
+
+#: ../../include/conversation.php:1231
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorie (facoltative, lista separata da virgole)"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Data di uscita programmata"
+
+#: ../../include/conversation.php:1258
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1503
+msgid "Discover"
+msgstr "Scopri"
+
+#: ../../include/conversation.php:1506
+msgid "Imported public streams"
+msgstr "Contenuti pubblici importati"
+
+#: ../../include/conversation.php:1511
+msgid "Commented Order"
+msgstr "Commenti recenti"
+
+#: ../../include/conversation.php:1514
+msgid "Sort by Comment Date"
+msgstr "Per data del commento"
+
+#: ../../include/conversation.php:1518
+msgid "Posted Order"
+msgstr "Post recenti"
+
+#: ../../include/conversation.php:1521
+msgid "Sort by Post Date"
+msgstr "Per data di creazione"
+
+#: ../../include/conversation.php:1529
+msgid "Posts that mention or involve you"
+msgstr "Post che ti riguardano"
+
+#: ../../include/conversation.php:1538
+msgid "Activity Stream - by date"
+msgstr "Elenco attività - per data"
+
+#: ../../include/conversation.php:1544
+msgid "Starred"
+msgstr "Preferiti"
+
+#: ../../include/conversation.php:1547
+msgid "Favourite Posts"
+msgstr "Post preferiti"
+
+#: ../../include/conversation.php:1554
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1557
+msgid "Posts flagged as SPAM"
+msgstr "Post marcati come spam"
+
+#: ../../include/conversation.php:1614
+msgid "Status Messages and Posts"
+msgstr "Post e messaggi di stato"
+
+#: ../../include/conversation.php:1623
+msgid "About"
+msgstr "Informazioni"
+
+#: ../../include/conversation.php:1626
+msgid "Profile Details"
+msgstr "Dettagli del profilo"
+
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Album foto"
+
+#: ../../include/conversation.php:1642
+msgid "Files and Storage"
+msgstr "Archivio file"
+
+#: ../../include/conversation.php:1678
+msgid "Saved Bookmarks"
+msgstr "Segnalibri salvati"
+
+#: ../../include/conversation.php:1688
+msgid "Manage Webpages"
+msgstr "Gestisci le pagine web"
+
+#: ../../include/conversation.php:1747
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Partecipa"
+msgstr[1] "Partecipano"
+
+#: ../../include/conversation.php:1750
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Non partecipa"
+msgstr[1] "Non partecipano"
+
+#: ../../include/conversation.php:1753
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indeciso"
+msgstr[1] "Indecisi"
+
+#: ../../include/conversation.php:1756
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "D'accordo"
+msgstr[1] "D'accordo"
+
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Non d'accordo"
+msgstr[1] "Non d'accordo"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Astenuto"
+msgstr[1] "Astenuti"
+
+#: ../../include/selectors.php:30
+msgid "Frequently"
+msgstr "Frequentemente"
+
+#: ../../include/selectors.php:31
+msgid "Hourly"
+msgstr "Ogni ora"
+
+#: ../../include/selectors.php:32
+msgid "Twice daily"
+msgstr "Due volte al giorno"
+
+#: ../../include/selectors.php:33
+msgid "Daily"
+msgstr "Ogni giorno"
+
+#: ../../include/selectors.php:34
+msgid "Weekly"
+msgstr "Ogni settimana"
+
+#: ../../include/selectors.php:35
+msgid "Monthly"
+msgstr "Ogni mese"
+
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "Al momento maschio"
+
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "Al momento femmina"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "Prevalentemente maschio"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "Prevalentemente femmina"
+
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "Transgender"
+
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "Intersex"
+
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "Transessuale"
+
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "Ermafrodito"
+
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "Neutro"
+
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr "Non specificato"
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "Altro"
+
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "Indeciso"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "Maschi"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "Femmine"
+
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "Gay"
+
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "Lesbica"
+
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "Senza preferenza"
+
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "Bisessuale"
+
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "Autosessuale"
+
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "Astinente"
+
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "Vergine"
+
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "Deviato"
+
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "Feticista"
+
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "Un sacco"
+
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "Asessuato"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "Single"
+
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "Da solo"
+
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "Disponibile"
+
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "Non disponibile"
+
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr "Ha una cotta"
+
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "Infatuato/a"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr "Disponibile a un incontro"
+
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "Infedele"
+
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "Sesso-dipendente"
+
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr "Amici con qualcosa in più"
+
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "Casual"
+
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "Impegnato"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "Sposato/a"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "Con matrimonio immaginario"
+
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr "Partner"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "Convivente"
+
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr "Matrimonio regolare"
+
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "Felice"
+
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "Non in cerca"
+
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "Scambista"
+
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "Tradito/a"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "Separato/a"
+
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "Instabile"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "Divorziato/a"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "Sogna il divorzio"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "Vedovo/a"
+
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr "Incerto/a"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "Relazione complicata"
+
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "Chi se ne frega"
+
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "Chiedimelo"
+
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Visibile secondo le impostazioni predefinite"
+
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "Solo io"
+
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Pubblico"
+
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr "Tutti sulla rete $Projectname"
+
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
+msgstr "Tutti gli account su %s"
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "Chiunque tra i miei contatti"
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "Solo chi riceve il mio permesso"
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Chiunque sia autenticato (inclusi visitatori di altre reti)"
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Tutti i contatti inclusi quelli non ancora approvati"
+
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Email non valida"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "È necessario un invito."
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
+
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registrazione di %s confermata"
+
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
+
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Amministratore"
+
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "la password di registrazione"
+
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
+
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Account approvato."
+
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Registrazione verificata. Adesso puoi effettuare login."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione supera i limiti del tuo abbonamento."
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/attach.php:497
+msgid "No source file."
+msgstr "Nessun file di origine."
+
+#: ../../include/attach.php:519
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
+
+#: ../../include/attach.php:537
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
+
+#: ../../include/attach.php:672
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
+
+#: ../../include/attach.php:686
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+
+#: ../../include/attach.php:842
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
+
+#: ../../include/attach.php:855
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
+
+#: ../../include/attach.php:909 ../../include/attach.php:925
+msgid "Path not available."
+msgstr "Percorso non disponibile."
+
+#: ../../include/attach.php:971 ../../include/attach.php:1123
+msgid "Empty pathname"
+msgstr "Il percorso del file è vuoto"
+
+#: ../../include/attach.php:997
+msgid "duplicate filename or path"
+msgstr "il file o il percorso del file è duplicato"
+
+#: ../../include/attach.php:1019
+msgid "Path not found."
+msgstr "Percorso del file non trovato."
+
+#: ../../include/attach.php:1077
+msgid "mkdir failed."
+msgstr "mkdir fallito."
+
+#: ../../include/attach.php:1081
+msgid "database storage failed."
+msgstr "scrittura su database fallita."
+
+#: ../../include/attach.php:1129
+msgid "Empty path"
+msgstr "La posizione è vuota"
+
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr "Impossibile ottenere le informazioni di identificazione dal database"
+
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "Nome vuoto"
+
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "Nome troppo lungo"
+
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "Account senza identificativo"
+
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "Il nome dell'account è obbligatorio."
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr "Nome utente riservato. Per favore scegline un altro."
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr "Impossibile caricare l'identità creata"
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "Profilo predefinito"
+
+#: ../../include/channel.php:791
+msgid "Requested channel is not available."
+msgstr "Il canale che cerchi non è disponibile."
+
+#: ../../include/channel.php:938
+msgid "Create New Profile"
+msgstr "Crea un nuovo profilo"
+
+#: ../../include/channel.php:958
+msgid "Visible to everybody"
+msgstr "Visibile a tutti"
+
+#: ../../include/channel.php:1031 ../../include/channel.php:1142
+msgid "Gender:"
+msgstr "Sesso:"
+
+#: ../../include/channel.php:1032 ../../include/channel.php:1186
+msgid "Status:"
+msgstr "Stato:"
+
+#: ../../include/channel.php:1033 ../../include/channel.php:1197
+msgid "Homepage:"
+msgstr "Home page:"
+
+#: ../../include/channel.php:1034
+msgid "Online Now"
+msgstr "Online adesso"
+
+#: ../../include/channel.php:1147
+msgid "Like this channel"
+msgstr "Mi piace questo canale"
+
+#: ../../include/channel.php:1171
+msgid "j F, Y"
+msgstr "j F Y"
+
+#: ../../include/channel.php:1172
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1179
+msgid "Birthday:"
+msgstr "Compleanno:"
+
+#: ../../include/channel.php:1192
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "per %1$d %2$s"
+
+#: ../../include/channel.php:1195
+msgid "Sexual Preference:"
+msgstr "Preferenze sessuali:"
+
+#: ../../include/channel.php:1201
+msgid "Tags:"
+msgstr "Tag:"
+
+#: ../../include/channel.php:1203
+msgid "Political Views:"
+msgstr "Orientamento politico:"
+
+#: ../../include/channel.php:1205
+msgid "Religion:"
+msgstr "Religione:"
+
+#: ../../include/channel.php:1209
+msgid "Hobbies/Interests:"
+msgstr "Interessi e hobby:"
+
+#: ../../include/channel.php:1211
+msgid "Likes:"
+msgstr "Mi piace:"
+
+#: ../../include/channel.php:1213
+msgid "Dislikes:"
+msgstr "Non mi piace:"
+
+#: ../../include/channel.php:1215
+msgid "Contact information and Social Networks:"
+msgstr "Contatti e social network:"
+
+#: ../../include/channel.php:1217
+msgid "My other channels:"
+msgstr "I miei altri canali:"
+
+#: ../../include/channel.php:1219
+msgid "Musical interests:"
+msgstr "Gusti musicali:"
+
+#: ../../include/channel.php:1221
+msgid "Books, literature:"
+msgstr "Libri, letteratura:"
+
+#: ../../include/channel.php:1223
+msgid "Television:"
+msgstr "Televisione:"
+
+#: ../../include/channel.php:1225
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film, danza, cultura, intrattenimento:"
+
+#: ../../include/channel.php:1227
+msgid "Love/Romance:"
+msgstr "Amore:"
+
+#: ../../include/channel.php:1229
+msgid "Work/employment:"
+msgstr "Lavoro:"
+
+#: ../../include/channel.php:1231
+msgid "School/education:"
+msgstr "Scuola:"
+
+#: ../../include/channel.php:1251
+msgid "Like this thing"
+msgstr "Mi piace"
+
+#: ../../include/features.php:48
+msgid "General Features"
+msgstr "Funzionalità di base"
+
+#: ../../include/features.php:50
+msgid "Content Expiration"
+msgstr "Scadenza"
+
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
+
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
+
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
+
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
+msgstr "Profili avanzati"
+
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
+msgstr "Informazioni aggiuntive del profilo"
+
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
+msgstr "Importa/esporta il profilo"
+
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
+msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
+
+#: ../../include/features.php:54
+msgid "Web Pages"
+msgstr "Pagine web"
+
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
+
+#: ../../include/features.php:55
+msgid "Hide Rating"
+msgstr "Nascondi le valutazioni"
+
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
+msgstr "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove."
+
+#: ../../include/features.php:56
+msgid "Private Notes"
+msgstr "Note private"
+
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
+
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
+msgstr "Scegli il canale attivo dal menu"
+
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
+
+#: ../../include/features.php:58
+msgid "Photo Location"
+msgstr "Posizione geografica"
+
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
+
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr "Chat ad accesso riservato"
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr "Il servizio di chat con accesso riservato"
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr "Compleanni intelligenti"
+
+#: ../../include/features.php:60
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
+
+#: ../../include/features.php:61
+msgid "Expert Mode"
+msgstr "Modalità esperto"
+
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
+
+#: ../../include/features.php:62
+msgid "Premium Channel"
+msgstr "Canale premium"
+
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
+
+#: ../../include/features.php:67
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura post"
+
+#: ../../include/features.php:70
+msgid "Large Photos"
+msgstr "Foto grandi"
+
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
+
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
+
+#: ../../include/features.php:72
+msgid "Even More Encryption"
+msgstr "Cifratura addizionale"
+
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
+
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
+msgstr "Permetti i post con votazione"
+
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
+msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
+
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr "Pubblicazione ritardata"
+
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr "Per scegliere una data e un'ora a cui far uscire i post"
+
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Impedisci post e commenti duplicati"
+
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
+
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
+
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "Ricerca per data"
+
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare i post in un intervallo tra date"
+
+#: ../../include/features.php:83 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "Gruppi di canali"
+
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr "Abilita i gruppi di canali"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr "Attività personale"
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
+
+#: ../../include/features.php:88
+msgid "Connection Filtering"
+msgstr "Filtro sui contatti"
+
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtra i post che ricevi con parole chiave"
+
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
+msgstr "Mostra alcuni canali che potrebbero interessarti"
+
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr "Gestione post e commenti"
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr "Tag della comunità"
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su post già esistenti"
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr "Categorie dei post"
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi post"
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr "Non mi piace"
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr "Post con stella"
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per segnare i post preferiti"
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
+
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
+
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Disabilita la creazione di contenuti incorporati"
+
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "Chi può vederlo?"
+
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "Selezione personalizzata"
+
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr ""
+
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Mostra"
+
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "Non mostrare"
+
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Invio ad altre reti o a siti esterni"
+
+#: ../../include/acl_selectors.php:311
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr ""
+
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Uscita effettuata."
+
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
+
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Compleanno"
+
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Età:"
+
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-GG oppure MM-GG"
+
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "mai"
+
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "meno di un secondo fa"
+
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s fa"
+
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "anno"
+msgstr[1] "anni"
+
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mese"
+msgstr[1] "mesi"
+
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "settimana"
+msgstr[1] "settimane"
+
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "giorno"
+msgstr[1] "giorni"
+
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "ora"
+msgstr[1] "ore"
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuto"
+msgstr[1] "minuti"
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "secondo"
+msgstr[1] "secondi"
+
+#: ../../include/datetime.php:562
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Compleanno di %1$s"
+
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Buon compleanno %1$s"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso."
+
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Aggiungi nuovi contatti a questo gruppo di canali"
+
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "modifica"
+
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Modifica il gruppo"
+
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Crea un gruppo di canali"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Canali che non sono in nessun gruppo"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Eliminare questo elemento?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] riduci"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] mostra tutto"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] riduci"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Password troppo corta"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Le password non corrispondono"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "tutti"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Parola chiave per decifrare"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Suggerimento per la parola chiave"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Nota: i permessi sono stati modificati ma non ancora salvati."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "chiudi tutto"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Niente di nuovo qui"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Valuta questo canale (visibile a tutti)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Descrizione (facoltativa)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Inserisci l'URL di un link"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr "fa"
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr "da adesso"
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr "meno di un minuto"
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr "circa un minuto"
+
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuti"
+
+#: ../../include/js_strings.php:34
+msgid "about an hour"
+msgstr "circa un’ora"
+
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
+msgstr "circa %d ore"
+
+#: ../../include/js_strings.php:36
+msgid "a day"
+msgstr "un giorno"
+
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
+msgstr "%d giorni"
+
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr "circa un mese"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
+msgstr "%d mesi"
+
+#: ../../include/js_strings.php:40
+msgid "about a year"
+msgstr "circa un anno"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr "%d anni"
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr "maggio"
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr "Gen"
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr "Feb"
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr "Apr"
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr "maggio"
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr "Mag"
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr "Giu"
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr "Ago"
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr "Set"
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr "Ott"
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr "Nov"
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr "Dic"
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr "Dom"
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr "Lun"
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr "Mer"
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr "Gio"
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr "Ven"
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr "Sab"
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr "oggi"
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr "mese"
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr "settimana"
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr "giorno"
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr "Tutto il giorno"
+
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "guarda nelle dimensioni reali"
+
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Nessun titolo"
+
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'immagine supera il limite massimo di %lu bytes"
+
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "Il file dell'immagine è vuoto."
+
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Impossibile salvare la foto."
+
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "una nuova foto"
+
+#: ../../include/photos.php:299
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s ha pubblicato %2$s su %3$s"
+
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Carica nuove foto"
+
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Dati ricevuti non validi"
+
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
+
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "la firma ricevuta non è valida"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nuova pagina web"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Titolo"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Può vedere i miei contenuti e i post normali"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Può vedere il profilo predefinito del canale"
+
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
+msgstr "Può vedere i miei contatti"
+
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
+msgstr "Può vedere il mio archivio file e foto"
+
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
+msgstr "Può vedere le mie pagine web"
+
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
+msgstr "È tra i canali che seguo"
+
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Può scrivere sulla bacheca del mio canale"
+
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
+msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
+msgstr "Può inviarmi messaggi privati"
+
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
+msgstr "Può aggiungere \"mi piace\" a tutto il resto"
+
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
+msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"
+
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
+msgstr "Può aprire una chat con me (se disponibile)"
+
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
+msgstr "Può modificare il mio archivio file e foto"
+
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
+msgstr "Può modificare le mie pagine web"
+
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
+msgstr "Può usare i miei post pubblici per creare canali derivati"
+
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
+msgstr "Può amministrare i contenuti del mio canale"
+
+#: ../../include/permissions.php:46
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+
+#: ../../include/permissions.php:877
+msgid "Social Networking"
+msgstr "Social network"
+
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
+msgstr "Social - Prevalentemente pubblico"
+
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
+msgstr "Social - Con restrizioni"
+
+#: ../../include/permissions.php:877
+msgid "Social - Private"
+msgstr "Social - Privato"
+
+#: ../../include/permissions.php:878
+msgid "Community Forum"
+msgstr "Forum di discussione"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
+msgstr "Social - Prevalentemente pubblico"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
+msgstr "Forum - Con restrizioni"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
+msgstr "Forum - Privato"
+
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
+msgstr "Aggregatore di feed esterni"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
+msgstr "Feed - Prevalentemente pubblico"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
+msgstr "Feed - Con restrizioni"
+
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
+msgstr "Per finalità speciali"
+
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
+msgstr "Speciale - Pagina per fan"
+
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
+msgstr "Speciale - Repository di gruppo"
+
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
+msgstr "Personalizzazione per esperti"
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "e"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "profilo pubblico"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Guarda %2$s di %1$s "
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
+
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
+msgstr "Allegati:"
+
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
+msgstr "Notifica evento $Projectname:"
#: ../../view/theme/redbasic/php/config.php:82
msgid "Focus (Hubzilla default)"
@@ -9598,51 +9768,62 @@ msgstr "Dimensione foto dell'autore della conversazione"
msgid "Set size of followup author photos"
msgstr "Dimensione foto dei partecipanti alla conversazione"
-#: ../../boot.php:1388
+#: ../../boot.php:1162
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Cerca %1$s (%2$s)"
+
+#: ../../boot.php:1162
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:1391
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:1561
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Registrati per accedere ai servizi e alle applicazioni di Hubzilla"
-#: ../../boot.php:1583
+#: ../../boot.php:1706
msgid "Password"
msgstr "Password"
-#: ../../boot.php:1584
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Resta connesso"
-#: ../../boot.php:1587
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:2217
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "attiva/disattiva versione mobile"
-#: ../../boot.php:2370
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
-#: ../../boot.php:2373
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Errore SSL su %s"
-#: ../../boot.php:2410
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Processi cron non avviati."
-#: ../../boot.php:2414
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron non è stato eseguito %s"
diff --git a/view/it/hstrings.php b/view/it/hstrings.php
index 116c44ee8..1abdad30e 100644
--- a/view/it/hstrings.php
+++ b/view/it/hstrings.php
@@ -5,8 +5,6 @@ function string_plural_select_it($n){
return ($n != 1);;
}}
;
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
-App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
App::$strings["parent"] = "cartella superiore";
App::$strings["Collection"] = "Cartella";
App::$strings["Principal"] = "Principale";
@@ -31,1048 +29,51 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "ATTENZIONE:";
App::$strings["Create new folder"] = "Nuova cartella";
App::$strings["Upload file"] = "Carica un file";
+App::$strings["Permission denied"] = "Permesso negato";
App::$strings["Permission denied."] = "Permesso negato.";
App::$strings["Not Found"] = "Non disponibile";
App::$strings["Page not found."] = "Pagina non trovata.";
-App::$strings["Private Message"] = "Messaggio privato";
-App::$strings["Select"] = "Scegli";
-App::$strings["Save to Folder"] = "Salva nella cartella";
-App::$strings["I will attend"] = "Parteciperò";
-App::$strings["I will not attend"] = "Non parteciperò";
-App::$strings["I might attend"] = "Forse parteciperò";
-App::$strings["I agree"] = "Sono d'accordo";
-App::$strings["I disagree"] = "Non sono d'accordo";
-App::$strings["I abstain"] = "Mi astengo";
-App::$strings["View all"] = "Vedi tutto";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Mi piace",
- 1 => "Mi piace",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Non mi piace",
- 1 => "Non mi piace",
-);
-App::$strings["Add Star"] = "Aggiungi ai preferiti";
-App::$strings["Remove Star"] = "Rimuovi dai preferiti";
-App::$strings["Toggle Star Status"] = "Attiva/disattiva preferito";
-App::$strings["starred"] = "preferito";
-App::$strings["Message signature validated"] = "Messaggio con firma verificata";
-App::$strings["Message signature incorrect"] = "Massaggio con firma non corretta";
-App::$strings["Add Tag"] = "Aggiungi un tag";
-App::$strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
-App::$strings["like"] = "mi piace";
-App::$strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
-App::$strings["dislike"] = "non mi piace";
-App::$strings["Share This"] = "Condividi";
-App::$strings["share"] = "condividi";
-App::$strings["Delivery Report"] = "Rapporto di trasmissione";
-App::$strings["%d comment"] = array(
- 0 => "%d commento",
- 1 => "%d commenti",
-);
-App::$strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s";
-App::$strings["to"] = "a";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "Da bacheca a bacheca";
-App::$strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
-App::$strings["from %s"] = "da %s";
-App::$strings["last edited: %s"] = "ultima modifica: %s";
-App::$strings["Expires: %s"] = "Scadenza: %s";
-App::$strings["Save Bookmarks"] = "Salva segnalibro";
-App::$strings["Add to Calendar"] = "Aggiungi al calendario";
-App::$strings["Mark all seen"] = "Marca tutto come letto";
-App::$strings["__ctx:noun__ Likes"] = "Mi piace";
-App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
-App::$strings["Close"] = "Chiudi";
-App::$strings["Please wait"] = "Attendere";
-App::$strings["[+] show all"] = "[+] mostra tutto";
-App::$strings["This is you"] = "Questo sei tu";
-App::$strings["Comment"] = "Commento";
-App::$strings["Submit"] = "Salva";
-App::$strings["Bold"] = "Grassetto";
-App::$strings["Italic"] = "Corsivo";
-App::$strings["Underline"] = "Sottolineato";
-App::$strings["Quote"] = "Citazione";
-App::$strings["Code"] = "Codice";
-App::$strings["Image"] = "Immagine";
-App::$strings["Insert Link"] = "Collegamento";
-App::$strings["Video"] = "Video";
-App::$strings["Preview"] = "Anteprima";
-App::$strings["Encrypt text"] = "Cifratura del messaggio";
-App::$strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
-App::$strings["Import completed."] = "L'importazione è terminata con successo.";
-App::$strings["Categories"] = "Categorie";
-App::$strings["Apps"] = "App";
-App::$strings["System"] = "Sistema";
-App::$strings["Personal"] = "Personali";
-App::$strings["Create Personal App"] = "Crea app personale";
-App::$strings["Edit Personal App"] = "Modifica app personale";
-App::$strings["Connect"] = "Aggiungi";
-App::$strings["Ignore/Hide"] = "Ignora/nascondi";
-App::$strings["Suggestions"] = "Suggerimenti";
-App::$strings["See more..."] = "Altro...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
-App::$strings["Add New Connection"] = "Aggiungi un contatto";
-App::$strings["Enter channel address"] = "Indirizzo del canale";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
-App::$strings["Notes"] = "Note";
-App::$strings["Save"] = "Salva";
-App::$strings["Remove term"] = "Rimuovi termine";
-App::$strings["Saved Searches"] = "Ricerche salvate";
-App::$strings["add"] = "aggiungi";
-App::$strings["Saved Folders"] = "Cartelle salvate";
-App::$strings["Everything"] = "Tutto";
-App::$strings["Archives"] = "Archivi";
-App::$strings["Me"] = "Me";
-App::$strings["Family"] = "Famiglia";
-App::$strings["Friends"] = "Amici";
-App::$strings["Acquaintances"] = "Conoscenti";
-App::$strings["All"] = "Tutti";
-App::$strings["Refresh"] = "Aggiorna";
-App::$strings["Account settings"] = "Il tuo account";
-App::$strings["Channel settings"] = "Impostazioni del canale";
-App::$strings["Additional features"] = "Funzionalità opzionali";
-App::$strings["Feature/Addon settings"] = "Componenti aggiuntivi";
-App::$strings["Display settings"] = "Aspetto";
-App::$strings["Manage locations"] = "Gestione repliche";
-App::$strings["Export channel"] = "Esporta il canale";
-App::$strings["Connected apps"] = "App connesse";
-App::$strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti";
-App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
-App::$strings["Channel Sources"] = "Sorgenti del canale";
-App::$strings["Settings"] = "Impostazioni";
-App::$strings["Private Mail Menu"] = "Menu messaggi privati";
-App::$strings["Combined View"] = "Vista combinata";
-App::$strings["Inbox"] = "In arrivo";
-App::$strings["Outbox"] = "Inviati";
-App::$strings["New Message"] = "Nuovo messaggio";
-App::$strings["Conversations"] = "Conversazioni";
-App::$strings["Received Messages"] = "Ricevuti";
-App::$strings["Sent Messages"] = "Inviati";
-App::$strings["No messages."] = "Nessun messaggio.";
-App::$strings["Delete conversation"] = "Elimina la conversazione";
-App::$strings["Events Menu"] = "Menu eventi";
-App::$strings["Day View"] = "Eventi del giorno";
-App::$strings["Week View"] = "Eventi della settimana";
-App::$strings["Month View"] = "Eventi del mese";
-App::$strings["Export"] = "Esporta";
-App::$strings["Import"] = "Importa";
-App::$strings["Events Tools"] = "Gestione eventi";
-App::$strings["Export Calendar"] = "Esporta calendario";
-App::$strings["Import Calendar"] = "Importa calendario";
-App::$strings["Chatrooms"] = "Chat";
-App::$strings["Overview"] = "Riepilogo";
-App::$strings["Chat Members"] = "Partecipanti";
-App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
-App::$strings["Suggested Chatrooms"] = "Chat suggerite";
-App::$strings["photo/image"] = "foto/immagine";
-App::$strings["Click to show more"] = "Clicca per mostrare tutto";
-App::$strings["Rating Tools"] = "Valutazione";
-App::$strings["Rate Me"] = "Valutami";
-App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
-App::$strings["Public Hubs"] = "Hub pubblici";
-App::$strings["Forums"] = "Forum";
-App::$strings["Tasks"] = "Attività";
-App::$strings["Documentation"] = "Guida";
-App::$strings["Project/Site Information"] = "Informazioni sul sito/progetto";
-App::$strings["For Members"] = "Per gli utenti";
-App::$strings["For Administrators"] = "Per gli amministratori";
-App::$strings["For Developers"] = "Per sviluppatori";
-App::$strings["Site"] = "Sito";
-App::$strings["Accounts"] = "Account";
-App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
-App::$strings["Channels"] = "Canali";
-App::$strings["Security"] = "Sicurezza";
-App::$strings["Features"] = "Funzionalità";
-App::$strings["Plugins"] = "Plugin";
-App::$strings["Themes"] = "Temi";
-App::$strings["Inspect queue"] = "Coda di attesa";
-App::$strings["Profile Fields"] = "Campi del profilo";
-App::$strings["DB updates"] = "Aggiornamenti al DB";
-App::$strings["Logs"] = "Log";
-App::$strings["Admin"] = "Amministrazione";
-App::$strings["Plugin Features"] = "Plugin";
-App::$strings["View Photo"] = "Guarda la foto";
-App::$strings["Edit Album"] = "Modifica album";
-App::$strings[" and "] = "e";
-App::$strings["public profile"] = "profilo pubblico";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
-App::$strings["Public Timeline"] = "Diario pubblico";
-App::$strings["Site Admin"] = "Amministrazione sito";
-App::$strings["Bookmarks"] = "Segnalibri";
-App::$strings["Address Book"] = "Rubrica";
-App::$strings["Login"] = "Accedi";
-App::$strings["Channel Manager"] = "Gestione canali";
-App::$strings["Grid"] = "Rete";
-App::$strings["Webpages"] = "Pagine web";
-App::$strings["Channel Home"] = "Bacheca del canale";
-App::$strings["Profile"] = "Profilo";
-App::$strings["Photos"] = "Foto";
-App::$strings["Events"] = "Eventi";
-App::$strings["Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Help"] = "Guida";
-App::$strings["Mail"] = "Messaggi";
-App::$strings["Mood"] = "Umore";
-App::$strings["Poke"] = "Poke";
-App::$strings["Chat"] = "Chat";
-App::$strings["Search"] = "Cerca";
-App::$strings["Probe"] = "Diagnostica";
-App::$strings["Suggest"] = "Suggerisci";
-App::$strings["Random Channel"] = "Canale casuale";
-App::$strings["Invite"] = "Invita";
-App::$strings["Language"] = "Lingua";
-App::$strings["Post"] = "Post";
-App::$strings["Profile Photo"] = "Foto del profilo";
-App::$strings["Update"] = "Aggiorna";
-App::$strings["Install"] = "Installa";
-App::$strings["Purchase"] = "Acquista";
-App::$strings["Logged out."] = "Uscita effettuata.";
-App::$strings["Failed authentication"] = "Autenticazione fallita";
-App::$strings["Login failed."] = "Accesso fallito.";
-App::$strings["Image/photo"] = "Immagine";
-App::$strings["Encrypted content"] = "Contenuto cifrato";
-App::$strings["Install %s element: "] = "Installa l'elemento %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
-App::$strings["webpage"] = "pagina web";
-App::$strings["layout"] = "layout";
-App::$strings["block"] = "block";
-App::$strings["menu"] = "menu";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
-App::$strings["post"] = "il post";
-App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
-App::$strings["$1 spoiler"] = "$1 spoiler";
-App::$strings["$1 wrote:"] = "$1 ha scritto:";
-App::$strings["Attachments:"] = "Allegati:";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-App::$strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
-App::$strings["Starts:"] = "Inizio:";
-App::$strings["Finishes:"] = "Fine:";
-App::$strings["Location:"] = "Luogo:";
-App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
-App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
-App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
-App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
-App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invito disponibile",
- 1 => "%d inviti disponibili",
-);
-App::$strings["Advanced"] = "Avanzate";
-App::$strings["Find Channels"] = "Ricerca canali";
-App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
-App::$strings["Connect/Follow"] = "Aggiungi";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
-App::$strings["Find"] = "Cerca";
-App::$strings["Channel Suggestions"] = "Canali suggeriti";
-App::$strings["Random Profile"] = "Profilo casuale";
-App::$strings["Invite Friends"] = "Invita amici";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contatto in comune",
- 1 => "%d contatti in comune",
-);
-App::$strings["show more"] = "mostra tutto";
-App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
-App::$strings["Safe Mode"] = "Modalità SafeSearch";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Sì";
-App::$strings["Public Forums Only"] = "Solo forum pubblici";
-App::$strings["This Website Only"] = "Solo in questo sito";
-App::$strings["\$Projectname Notification"] = "Notifica \$Projectname";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Grazie,";
-App::$strings["%s Administrator"] = "L'amministratore di %s";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
-App::$strings["a private message"] = "un messaggio privato";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla] Nuovo commento di %2\$s alla conversazione #%1\$d";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla] %s ha scritto sulla tua bacheca";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla] %s ti ha taggato";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla] %1\$s ti ha mandato un poke";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla] %s ha taggato il tuo post";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo post su %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo post[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla] Hai una richiesta di amicizia";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla] Ti è stato suggerito un amico";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
-App::$strings["Name:"] = "Nome:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla]";
-App::$strings["photo"] = "la foto";
-App::$strings["event"] = "l'evento";
-App::$strings["channel"] = "il canale";
-App::$strings["status"] = "il messaggio di stato";
-App::$strings["comment"] = "il commento";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
-App::$strings["poked"] = "ha mandato un poke";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
-App::$strings["__ctx:title__ Likes"] = "Mi piace";
-App::$strings["__ctx:title__ Dislikes"] = "Non mi piace";
-App::$strings["__ctx:title__ Agree"] = "D'accordo";
-App::$strings["__ctx:title__ Disagree"] = "Non d'accordo";
-App::$strings["__ctx:title__ Abstain"] = "Astenuti";
-App::$strings["__ctx:title__ Attending"] = "Partecipano";
-App::$strings["__ctx:title__ Not attending"] = "Non partecipano";
-App::$strings["__ctx:title__ Might attend"] = "Forse partecipano";
-App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
-App::$strings["Categories:"] = "Categorie:";
-App::$strings["Filed under:"] = "Classificato come:";
-App::$strings["View in context"] = "Vedi nel contesto";
-App::$strings["remove"] = "rimuovi";
-App::$strings["Loading..."] = "Caricamento in corso...";
-App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
-App::$strings["View Source"] = "Vedi il sorgente";
-App::$strings["Follow Thread"] = "Segui la discussione";
-App::$strings["Unfollow Thread"] = "Non seguire la discussione";
-App::$strings["View Profile"] = "Profilo";
-App::$strings["Activity/Posts"] = "Attività e Post";
-App::$strings["Edit Connection"] = "Modifica il contatto";
-App::$strings["Message"] = "Messaggio";
-App::$strings["Ratings"] = "Valutazioni";
-App::$strings["%s likes this."] = "Piace a %s.";
-App::$strings["%s doesn't like this."] = "Non piace a %s.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "",
- 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "",
- 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["and"] = "e";
-App::$strings[", and %d other people"] = array(
- 0 => "",
- 1 => "e altre %d persone",
-);
-App::$strings["%s like this."] = "Piace a %s.";
-App::$strings["%s don't like this."] = "Non piace a %s.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Visibile a <strong>tutti</strong>";
-App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
-App::$strings["Please enter a video link/URL:"] = "Inserisci l'indirizzo del video:";
-App::$strings["Please enter an audio link/URL:"] = "Inserisci l'indirizzo dell'audio:";
-App::$strings["Tag term:"] = "Tag:";
-App::$strings["Save to Folder:"] = "Salva nella cartella:";
-App::$strings["Where are you right now?"] = "Dove sei ora?";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
-App::$strings["Share"] = "Condividi";
-App::$strings["Page link name"] = "Nome del link alla pagina";
-App::$strings["Post as"] = "Pubblica come ";
-App::$strings["Upload photo"] = "Carica foto";
-App::$strings["upload photo"] = "carica foto";
-App::$strings["Attach file"] = "Allega file";
-App::$strings["attach file"] = "allega file";
-App::$strings["Insert web link"] = "Inserisci un indirizzo web";
-App::$strings["web link"] = "link web";
-App::$strings["Insert video link"] = "Inserisci l'indirizzo del video";
-App::$strings["video link"] = "link video";
-App::$strings["Insert audio link"] = "Inserisci l'indirizzo dell'audio";
-App::$strings["audio link"] = "link audio";
-App::$strings["Set your location"] = "La tua località";
-App::$strings["set location"] = "la tua località";
-App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
-App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
-App::$strings["clear location"] = "rimuovi la località";
-App::$strings["Title (optional)"] = "Titolo (facoltativo)";
-App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
-App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
-App::$strings["permissions"] = "permessi";
-App::$strings["Public post"] = "Post pubblico";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
-App::$strings["Set expiration date"] = "Data di scadenza";
-App::$strings["Set publish date"] = "Data di uscita programmata";
-App::$strings["OK"] = "OK";
-App::$strings["Cancel"] = "Annulla";
-App::$strings["Discover"] = "Scopri";
-App::$strings["Imported public streams"] = "Contenuti pubblici importati";
-App::$strings["Commented Order"] = "Commenti recenti";
-App::$strings["Sort by Comment Date"] = "Per data del commento";
-App::$strings["Posted Order"] = "Post recenti";
-App::$strings["Sort by Post Date"] = "Per data di creazione";
-App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
-App::$strings["New"] = "Novità";
-App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
-App::$strings["Starred"] = "Preferiti";
-App::$strings["Favourite Posts"] = "Post preferiti";
-App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
-App::$strings["Channel"] = "Canale";
-App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
-App::$strings["About"] = "Informazioni";
-App::$strings["Profile Details"] = "Dettagli del profilo";
-App::$strings["Photo Albums"] = "Album foto";
-App::$strings["Files and Storage"] = "Archivio file";
-App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
-App::$strings["Manage Webpages"] = "Gestisci le pagine web";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Partecipa",
- 1 => "Partecipano",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Non partecipa",
- 1 => "Non partecipano",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indeciso",
- 1 => "Indecisi",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "D'accordo",
- 1 => "D'accordo",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Non d'accordo",
- 1 => "Non d'accordo",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Astenuto",
- 1 => "Astenuti",
-);
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
-App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
-App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
-App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
-App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
-App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
-App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
-App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
-App::$strings["Logout"] = "Esci";
-App::$strings["End this session"] = "Chiudi questa sessione";
-App::$strings["Home"] = "Bacheca";
-App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
-App::$strings["Your profile page"] = "Il tuo profilo";
-App::$strings["Edit Profiles"] = "Modifica i tuoi profili";
-App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
-App::$strings["Edit Profile"] = "Modifica il profilo";
-App::$strings["Edit your profile"] = "Modifica il tuo profilo";
-App::$strings["Your photos"] = "Le tue foto";
-App::$strings["Your files"] = "I tuoi file";
-App::$strings["Your chatrooms"] = "Le tue chat";
-App::$strings["Your bookmarks"] = "I tuoi segnalibri";
-App::$strings["Your webpages"] = "Le tue pagine web";
-App::$strings["Sign in"] = "Accedi";
-App::$strings["%s - click to logout"] = "%s - clicca per uscire";
-App::$strings["Remote authentication"] = "Accedi dal tuo hub";
-App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
-App::$strings["Home Page"] = "Bacheca";
-App::$strings["Register"] = "Registrati";
-App::$strings["Create an account"] = "Crea un account";
-App::$strings["Help and documentation"] = "Guida e documentazione";
-App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
-App::$strings["Channel Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Your grid"] = "La tua rete";
-App::$strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete";
-App::$strings["Channel home"] = "Bacheca del canale";
-App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
-App::$strings["Connections"] = "Contatti";
-App::$strings["Notices"] = "Avvisi";
-App::$strings["Notifications"] = "Notifiche";
-App::$strings["See all notifications"] = "Vedi tutte le notifiche";
-App::$strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
-App::$strings["Private mail"] = "Messaggi privati";
-App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
-App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
-App::$strings["Event Calendar"] = "Calendario";
-App::$strings["See all events"] = "Guarda tutti gli eventi";
-App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
-App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
-App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
-App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
-App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
-App::$strings["Please wait..."] = "Attendere...";
-App::$strings["Delete this item?"] = "Eliminare questo elemento?";
-App::$strings["[-] show less"] = "[-] riduci";
-App::$strings["[+] expand"] = "[+] mostra tutto";
-App::$strings["[-] collapse"] = "[-] riduci";
-App::$strings["Password too short"] = "Password troppo corta";
-App::$strings["Passwords do not match"] = "Le password non corrispondono";
-App::$strings["everybody"] = "tutti";
-App::$strings["Secret Passphrase"] = "Parola chiave per decifrare";
-App::$strings["Passphrase hint"] = "Suggerimento per la parola chiave";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Nota: i permessi sono stati modificati ma non ancora salvati.";
-App::$strings["close all"] = "chiudi tutto";
-App::$strings["Nothing new here"] = "Niente di nuovo qui";
-App::$strings["Rate This Channel (this is public)"] = "Valuta questo canale (visibile a tutti)";
-App::$strings["Rating"] = "Valutazioni";
-App::$strings["Describe (optional)"] = "Descrizione (facoltativa)";
-App::$strings["Please enter a link URL"] = "Inserisci l'URL di un link";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?";
-App::$strings["Location"] = "Posizione geografica";
-App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "fa";
-App::$strings["from now"] = "da adesso";
-App::$strings["less than a minute"] = "meno di un minuto";
-App::$strings["about a minute"] = "circa un minuto";
-App::$strings["%d minutes"] = "%d minuti";
-App::$strings["about an hour"] = "circa un’ora";
-App::$strings["about %d hours"] = "circa %d ore";
-App::$strings["a day"] = "un giorno";
-App::$strings["%d days"] = "%d giorni";
-App::$strings["about a month"] = "circa un mese";
-App::$strings["%d months"] = "%d mesi";
-App::$strings["about a year"] = "circa un anno";
-App::$strings["%d years"] = "%d anni";
-App::$strings[" "] = " ";
-App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["January"] = "gennaio";
-App::$strings["February"] = "febbraio";
-App::$strings["March"] = "marzo";
-App::$strings["April"] = "aprile";
-App::$strings["__ctx:long__ May"] = "maggio";
-App::$strings["June"] = "giugno";
-App::$strings["July"] = "luglio";
-App::$strings["August"] = "agosto";
-App::$strings["September"] = "settembre";
-App::$strings["October"] = "ottobre";
-App::$strings["November"] = "novembre";
-App::$strings["December"] = "dicembre";
-App::$strings["Jan"] = "Gen";
-App::$strings["Feb"] = "Feb";
-App::$strings["Mar"] = "Mar";
-App::$strings["Apr"] = "Apr";
-App::$strings["__ctx:short__ May"] = "maggio";
-App::$strings["Jun"] = "Mag";
-App::$strings["Jul"] = "Giu";
-App::$strings["Aug"] = "Ago";
-App::$strings["Sep"] = "Set";
-App::$strings["Oct"] = "Ott";
-App::$strings["Nov"] = "Nov";
-App::$strings["Dec"] = "Dic";
-App::$strings["Sunday"] = "domenica";
-App::$strings["Monday"] = "lunedì";
-App::$strings["Tuesday"] = "martedì";
-App::$strings["Wednesday"] = "mercoledì";
-App::$strings["Thursday"] = "giovedì";
-App::$strings["Friday"] = "venerdì";
-App::$strings["Saturday"] = "sabato";
-App::$strings["Sun"] = "Dom";
-App::$strings["Mon"] = "Lun";
-App::$strings["Tue"] = "Mar";
-App::$strings["Wed"] = "Mer";
-App::$strings["Thu"] = "Gio";
-App::$strings["Fri"] = "Ven";
-App::$strings["Sat"] = "Sab";
-App::$strings["__ctx:calendar__ today"] = "oggi";
-App::$strings["__ctx:calendar__ month"] = "mese";
-App::$strings["__ctx:calendar__ week"] = "settimana";
-App::$strings["__ctx:calendar__ day"] = "giorno";
-App::$strings["__ctx:calendar__ All day"] = "Tutto il giorno";
-App::$strings["view full size"] = "guarda nelle dimensioni reali";
-App::$strings["Administrator"] = "Amministratore";
-App::$strings["No Subject"] = "Nessun titolo";
-App::$strings["Embedded content"] = "Contenuti incorporati";
-App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
-App::$strings["created a new post"] = "Ha creato un nuovo post";
-App::$strings["commented on %s's post"] = "ha commentato il post di %s";
-App::$strings["New Page"] = "Nuova pagina web";
-App::$strings["View"] = "Guarda";
-App::$strings["Actions"] = "Azioni";
-App::$strings["Page Link"] = "Link alla pagina";
-App::$strings["Title"] = "Titolo";
-App::$strings["Created"] = "Creato";
-App::$strings["Edited"] = "Modificato";
-App::$strings["Profile Photos"] = "Foto del profilo";
-App::$strings["Miscellaneous"] = "Altro";
-App::$strings["Birthday"] = "Compleanno";
-App::$strings["Age: "] = "Età:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
-App::$strings["Required"] = "Obbligatorio";
-App::$strings["never"] = "mai";
-App::$strings["less than a second ago"] = "meno di un secondo fa";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "anno",
- 1 => "anni",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "mese",
- 1 => "mesi",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "settimana",
- 1 => "settimane",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "giorno",
- 1 => "giorni",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "ora",
- 1 => "ore",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minuto",
- 1 => "minuti",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "secondo",
- 1 => "secondi",
-);
-App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
-App::$strings["Male"] = "Maschio";
-App::$strings["Female"] = "Femmina";
-App::$strings["Currently Male"] = "Al momento maschio";
-App::$strings["Currently Female"] = "Al momento femmina";
-App::$strings["Mostly Male"] = "Prevalentemente maschio";
-App::$strings["Mostly Female"] = "Prevalentemente femmina";
-App::$strings["Transgender"] = "Transgender";
-App::$strings["Intersex"] = "Intersex";
-App::$strings["Transsexual"] = "Transessuale";
-App::$strings["Hermaphrodite"] = "Ermafrodito";
-App::$strings["Neuter"] = "Neutro";
-App::$strings["Non-specific"] = "Non specificato";
-App::$strings["Other"] = "Altro";
-App::$strings["Undecided"] = "Indeciso";
-App::$strings["Males"] = "Maschi";
-App::$strings["Females"] = "Femmine";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbica";
-App::$strings["No Preference"] = "Senza preferenza";
-App::$strings["Bisexual"] = "Bisessuale";
-App::$strings["Autosexual"] = "Autosessuale";
-App::$strings["Abstinent"] = "Astinente";
-App::$strings["Virgin"] = "Vergine";
-App::$strings["Deviant"] = "Deviato";
-App::$strings["Fetish"] = "Feticista";
-App::$strings["Oodles"] = "Un sacco";
-App::$strings["Nonsexual"] = "Asessuato";
-App::$strings["Single"] = "Single";
-App::$strings["Lonely"] = "Da solo";
-App::$strings["Available"] = "Disponibile";
-App::$strings["Unavailable"] = "Non disponibile";
-App::$strings["Has crush"] = "Ha una cotta";
-App::$strings["Infatuated"] = "Infatuato/a";
-App::$strings["Dating"] = "Disponibile a un incontro";
-App::$strings["Unfaithful"] = "Infedele";
-App::$strings["Sex Addict"] = "Sesso-dipendente";
-App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
-App::$strings["Casual"] = "Casual";
-App::$strings["Engaged"] = "Impegnato";
-App::$strings["Married"] = "Sposato/a";
-App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
-App::$strings["Partners"] = "Partner";
-App::$strings["Cohabiting"] = "Convivente";
-App::$strings["Common law"] = "Matrimonio regolare";
-App::$strings["Happy"] = "Felice";
-App::$strings["Not looking"] = "Non in cerca";
-App::$strings["Swinger"] = "Scambista";
-App::$strings["Betrayed"] = "Tradito/a";
-App::$strings["Separated"] = "Separato/a";
-App::$strings["Unstable"] = "Instabile";
-App::$strings["Divorced"] = "Divorziato/a";
-App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
-App::$strings["Widowed"] = "Vedovo/a";
-App::$strings["Uncertain"] = "Incerto/a";
-App::$strings["It's complicated"] = "Relazione complicata";
-App::$strings["Don't care"] = "Chi se ne frega";
-App::$strings["Ask me"] = "Chiedimelo";
-App::$strings["Default"] = "Predefinito";
-App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
-App::$strings["Not specified"] = "Non specificato";
-App::$strings["Needs Action"] = "Necessita di un intervento";
-App::$strings["Completed"] = "Completato";
-App::$strings["In Process"] = "In corso";
-App::$strings["Cancelled"] = "Annullato";
-App::$strings["Frequently"] = "Frequentemente";
-App::$strings["Hourly"] = "Ogni ora";
-App::$strings["Twice daily"] = "Due volte al giorno";
-App::$strings["Daily"] = "Ogni giorno";
-App::$strings["Weekly"] = "Ogni settimana";
-App::$strings["Monthly"] = "Ogni mese";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU-Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "Email";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Tags"] = "Tag";
-App::$strings["Keywords"] = "Parole chiave";
-App::$strings["have"] = "ho";
-App::$strings["has"] = "ha";
-App::$strings["want"] = "voglio";
-App::$strings["wants"] = "vuole";
-App::$strings["likes"] = "gli piace";
-App::$strings["dislikes"] = "non gli piace";
-App::$strings["Item was not found."] = "Elemento non trovato.";
-App::$strings["No source file."] = "Nessun file di origine.";
-App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
-App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
-App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
-App::$strings["Path not available."] = "Percorso non disponibile.";
-App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
-App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
-App::$strings["Path not found."] = "Percorso del file non trovato.";
-App::$strings["mkdir failed."] = "mkdir fallito.";
-App::$strings["database storage failed."] = "scrittura su database fallita.";
-App::$strings["Empty path"] = "La posizione è vuota";
-App::$strings["General Features"] = "Funzionalità di base";
-App::$strings["Content Expiration"] = "Scadenza";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
-App::$strings["Multiple Profiles"] = "Profili multipli";
-App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
-App::$strings["Advanced Profiles"] = "Profili avanzati";
-App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
-App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
-App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
-App::$strings["Web Pages"] = "Pagine web";
-App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
-App::$strings["Hide Rating"] = "Nascondi le valutazioni";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove.";
-App::$strings["Private Notes"] = "Note private";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
-App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
-App::$strings["Photo Location"] = "Posizione geografica";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
-App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
-App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato";
-App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
-App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
-App::$strings["Expert Mode"] = "Modalità esperto";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
-App::$strings["Premium Channel"] = "Canale premium";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
-App::$strings["Post Composition Features"] = "Modalità di scrittura post";
-App::$strings["Large Photos"] = "Foto grandi";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
-App::$strings["Even More Encryption"] = "Cifratura addizionale";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
-App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
-App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
-App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
-App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
-App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
-App::$strings["Search by Date"] = "Ricerca per data";
-App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
-App::$strings["Privacy Groups"] = "Gruppi di canali";
-App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
-App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
-App::$strings["Network Personal Tab"] = "Attività personale";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
-App::$strings["Network New Tab"] = "Contenuti nuovi";
-App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
-App::$strings["Affinity Tool"] = "Filtro per affinità";
-App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-App::$strings["Connection Filtering"] = "Filtro sui contatti";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
-App::$strings["Suggest Channels"] = "Suggerisci canali";
-App::$strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
-App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
-App::$strings["Community Tagging"] = "Tag della comunità";
-App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
-App::$strings["Post Categories"] = "Categorie dei post";
-App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
-App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
-App::$strings["Dislike Posts"] = "Non mi piace";
-App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
-App::$strings["Star Posts"] = "Post con stella";
-App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
-App::$strings["Tag Cloud"] = "Nuvola di tag";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
-App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
-App::$strings["Empty name"] = "Nome vuoto";
-App::$strings["Name too long"] = "Nome troppo lungo";
-App::$strings["No account identifier"] = "Account senza identificativo";
-App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
-App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
-App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
-App::$strings["Default Profile"] = "Profilo predefinito";
-App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
App::$strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
-App::$strings["Change profile photo"] = "Cambia la foto del profilo";
-App::$strings["Create New Profile"] = "Crea un nuovo profilo";
-App::$strings["Profile Image"] = "Immagine del profilo";
-App::$strings["Visible to everybody"] = "Visibile a tutti";
-App::$strings["Edit visibility"] = "Cambia la visibilità";
-App::$strings["Gender:"] = "Sesso:";
-App::$strings["Status:"] = "Stato:";
-App::$strings["Homepage:"] = "Home page:";
-App::$strings["Online Now"] = "Online adesso";
-App::$strings["g A l F d"] = "g A l d F";
-App::$strings["F d"] = "d F";
-App::$strings["[today]"] = "[oggi]";
-App::$strings["Birthday Reminders"] = "Promemoria compleanni";
-App::$strings["Birthdays this week:"] = "Compleanni questa settimana:";
-App::$strings["[No description]"] = "[Nessuna descrizione]";
-App::$strings["Event Reminders"] = "Promemoria";
-App::$strings["Events this week:"] = "Eventi della settimana:";
-App::$strings["Full Name:"] = "Nome completo:";
-App::$strings["Like this channel"] = "Mi piace questo canale";
-App::$strings["j F, Y"] = "j F Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Compleanno:";
-App::$strings["Age:"] = "Età:";
-App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
-App::$strings["Hometown:"] = "Città dove vivo:";
-App::$strings["Tags:"] = "Tag:";
-App::$strings["Political Views:"] = "Orientamento politico:";
-App::$strings["Religion:"] = "Religione:";
-App::$strings["About:"] = "Informazioni:";
-App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
-App::$strings["Likes:"] = "Mi piace:";
-App::$strings["Dislikes:"] = "Non mi piace:";
-App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
-App::$strings["My other channels:"] = "I miei altri canali:";
-App::$strings["Musical interests:"] = "Gusti musicali:";
-App::$strings["Books, literature:"] = "Libri, letteratura:";
-App::$strings["Television:"] = "Televisione:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
-App::$strings["Love/Romance:"] = "Amore:";
-App::$strings["Work/employment:"] = "Lavoro:";
-App::$strings["School/education:"] = "Scuola:";
-App::$strings["Like this thing"] = "Mi piace";
-App::$strings["cover photo"] = "Copertina del canale";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
-App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
-App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
-App::$strings["Permission denied"] = "Permesso negato";
-App::$strings["(Unknown)"] = "(Sconosciuto)";
-App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
-App::$strings["Visible to you only."] = "Visibile solo a te.";
-App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
-App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-App::$strings["Item not found."] = "Elemento non trovato.";
-App::$strings["Privacy group not found."] = "Gruppo di canali non trovato.";
-App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
-App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
-App::$strings["Connection: %s"] = "Contatto: %s";
-App::$strings["Connection not found."] = "Contatto non trovato.";
-App::$strings["female"] = "femmina";
-App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["male"] = "maschio";
-App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["profile photo"] = "foto del profilo";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
-App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
-App::$strings["All Channels"] = "Tutti i canali";
-App::$strings["edit"] = "modifica";
-App::$strings["Edit group"] = "Modifica il gruppo";
-App::$strings["Add privacy group"] = "Crea un gruppo di canali";
-App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
-App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
-App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
-App::$strings["Photo storage failed."] = "Impossibile salvare la foto.";
-App::$strings["a new photo"] = "una nuova foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha pubblicato %2\$s su %3\$s";
-App::$strings["Upload New Photos"] = "Carica nuove foto";
-App::$strings["prev"] = "prec";
-App::$strings["first"] = "inizio";
-App::$strings["last"] = "fine";
-App::$strings["next"] = "succ";
-App::$strings["older"] = "più recenti";
-App::$strings["newer"] = "più nuovi";
-App::$strings["No connections"] = "Nessun contatto";
-App::$strings["View all %s connections"] = "Mostra tutti i %s contatti";
-App::$strings["poke"] = "poke";
-App::$strings["ping"] = "ping";
-App::$strings["pinged"] = "ha effettuato un ping";
-App::$strings["prod"] = "spintone";
-App::$strings["prodded"] = "ha ricevuto uno spintone";
-App::$strings["slap"] = "schiaffo";
-App::$strings["slapped"] = "ha ricevuto uno schiaffo";
-App::$strings["finger"] = "finger";
-App::$strings["fingered"] = "ha ricevuto un finger";
-App::$strings["rebuff"] = "rifiuto";
-App::$strings["rebuffed"] = "ha ricevuto un rifiuto";
-App::$strings["happy"] = "felice";
-App::$strings["sad"] = "triste";
-App::$strings["mellow"] = "calmo";
-App::$strings["tired"] = "stanco";
-App::$strings["perky"] = "vivace";
-App::$strings["angry"] = "arrabbiato";
-App::$strings["stupefied"] = "stupito";
-App::$strings["puzzled"] = "confuso";
-App::$strings["interested"] = "attento";
-App::$strings["bitter"] = "amaro";
-App::$strings["cheerful"] = "allegro";
-App::$strings["alive"] = "vivace";
-App::$strings["annoyed"] = "seccato";
-App::$strings["anxious"] = "ansioso";
-App::$strings["cranky"] = "irritabile";
-App::$strings["disturbed"] = "turbato";
-App::$strings["frustrated"] = "frustrato";
-App::$strings["depressed"] = "in depressione";
-App::$strings["motivated"] = "motivato";
-App::$strings["relaxed"] = "rilassato";
-App::$strings["surprised"] = "sorpreso";
-App::$strings["May"] = "Mag";
-App::$strings["Unknown Attachment"] = "Allegato non riconoscuto";
-App::$strings["unknown"] = "sconosciuta";
-App::$strings["remove category"] = "rimuovi la categoria";
-App::$strings["remove from file"] = "rimuovi dal file";
-App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
-App::$strings["Link to Source"] = "Link al sito d'origine";
-App::$strings["default"] = "predefinito";
-App::$strings["Page layout"] = "Layout della pagina";
-App::$strings["You can create your own with the layouts tool"] = "Puoi creare un tuo layout dalla configurazione delle pagine web";
-App::$strings["Page content type"] = "Tipo di contenuto della pagina";
-App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
-App::$strings["activity"] = "l'attività";
-App::$strings["Design Tools"] = "Strumenti di design";
-App::$strings["Blocks"] = "Block";
-App::$strings["Menus"] = "Menù";
-App::$strings["Layouts"] = "Layout";
-App::$strings["Pages"] = "Pagine";
-App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
-App::$strings["[no subject]"] = "[nessun titolo]";
-App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
-App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
-App::$strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
-App::$strings["Can view my connections"] = "Può vedere i miei contatti";
-App::$strings["Can view my file storage and photos"] = "Può vedere il mio archivio file e foto";
-App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
-App::$strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
-App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-App::$strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post";
-App::$strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
-App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto";
-App::$strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
-App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
-App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
-App::$strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto";
-App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-App::$strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
-App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
-App::$strings["Social Networking"] = "Social network";
-App::$strings["Social - Mostly Public"] = "Social - Prevalentemente pubblico";
-App::$strings["Social - Restricted"] = "Social - Con restrizioni";
-App::$strings["Social - Private"] = "Social - Privato";
-App::$strings["Community Forum"] = "Forum di discussione";
-App::$strings["Forum - Mostly Public"] = "Social - Prevalentemente pubblico";
-App::$strings["Forum - Restricted"] = "Forum - Con restrizioni";
-App::$strings["Forum - Private"] = "Forum - Privato";
-App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
-App::$strings["Feed - Mostly Public"] = "Feed - Prevalentemente pubblico";
-App::$strings["Feed - Restricted"] = "Feed - Con restrizioni";
-App::$strings["Special Purpose"] = "Per finalità speciali";
-App::$strings["Special - Celebrity/Soapbox"] = "Speciale - Pagina per fan";
-App::$strings["Special - Group Repository"] = "Speciale - Repository di gruppo";
-App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
-App::$strings["Not a valid email address"] = "Email non valida";
-App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
-App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
-App::$strings["An invitation is required."] = "È necessario un invito.";
-App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
-App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
-App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
-App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
-App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
-App::$strings["your registration password"] = "la password di registrazione";
-App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
-App::$strings["Account approved."] = "Account approvato.";
-App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
-App::$strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
-App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
-App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
-App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "Non mostrare";
-App::$strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni";
-App::$strings["Permissions"] = "Permessi";
-App::$strings["Missing room name"] = "Chat senza nome";
-App::$strings["Duplicate room name"] = "Il nome della chat è duplicato";
-App::$strings["Invalid room specifier."] = "Il nome della chat non è valido.";
-App::$strings["Room not found."] = "Chat non trovata.";
-App::$strings["Room is full"] = "La chat è al completo";
-App::$strings["New window"] = "Nuova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
-App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
App::$strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
-App::$strings["network"] = "rete";
-App::$strings["RSS"] = "RSS";
-App::$strings["Authorize application connection"] = "Autorizza la app";
-App::$strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
-App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-App::$strings["App installed."] = "App installata";
-App::$strings["Malformed app."] = "L'app contiene errori";
-App::$strings["Embed code"] = "Inserisci il codice";
-App::$strings["Edit App"] = "Modifica app";
-App::$strings["Create App"] = "Crea una app";
-App::$strings["Name of app"] = "Nome app";
-App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
-App::$strings["Description"] = "Descrizione";
-App::$strings["Photo icon URL"] = "URL icona";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
-App::$strings["Version ID"] = "ID versione";
-App::$strings["Price of app"] = "Prezzo app";
-App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
-App::$strings["Item not available."] = "Elemento non disponibile.";
-App::$strings["Invalid item."] = "Elemento non valido.";
-App::$strings["Channel not found."] = "Canale non trovato.";
App::$strings["Block Name"] = "Nome del block";
+App::$strings["Blocks"] = "Block";
App::$strings["Block Title"] = "Titolo del block";
-App::$strings["Bookmark added"] = "Segnalibro aggiunto";
-App::$strings["My Bookmarks"] = "I miei segnalibri";
-App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+App::$strings["Created"] = "Creato";
+App::$strings["Edited"] = "Modificato";
+App::$strings["Share"] = "Condividi";
+App::$strings["View"] = "Guarda";
+App::$strings["Channel not found."] = "Canale non trovato.";
+App::$strings["Permissions denied."] = "Permesso negato.";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Link to Source"] = "Link al sito d'origine";
+App::$strings["Edit Event"] = "Modifica l'evento";
+App::$strings["Create Event"] = "Crea un evento";
+App::$strings["Previous"] = "Precendente";
+App::$strings["Next"] = "Successivo";
+App::$strings["Export"] = "Esporta";
+App::$strings["Import"] = "Importa";
+App::$strings["Submit"] = "Salva";
+App::$strings["Today"] = "Oggi";
App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
App::$strings["Posts and comments"] = "Post e commenti";
App::$strings["Only posts"] = "Solo post";
App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
-App::$strings["Public"] = "Pubblico";
App::$strings["Room not found"] = "Chat non trovata";
App::$strings["Leave Room"] = "Lascia la chat";
App::$strings["Delete Room"] = "Elimina questa chat";
App::$strings["I am away right now"] = "Non sono presente";
App::$strings["I am online"] = "Sono online";
App::$strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri";
+App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
+App::$strings["Encrypt text"] = "Cifratura del messaggio";
+App::$strings["Insert web link"] = "Inserisci un indirizzo web";
App::$strings["Feature disabled."] = "Funzionalità disattivata.";
App::$strings["New Chatroom"] = "Nuova chat";
App::$strings["Chatroom name"] = "Nome chat";
App::$strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)";
+App::$strings["Permissions"] = "Permessi";
App::$strings["%1\$s's Chatrooms"] = "Le chat di %1\$s";
App::$strings["No chatrooms available"] = "Nessuna chat disponibile";
App::$strings["Create New"] = "Crea nuova";
@@ -1080,9 +81,10 @@ App::$strings["Expiration"] = "Scadenza";
App::$strings["min"] = "min";
App::$strings["Away"] = "Assente";
App::$strings["Online"] = "Online";
-App::$strings["No channel."] = "Nessun canale.";
-App::$strings["Common connections"] = "Contatti in comune";
-App::$strings["No connections in common."] = "Nessun contatto in comune.";
+App::$strings["Invalid item."] = "Elemento non valido.";
+App::$strings["Bookmark added"] = "Segnalibro aggiunto";
+App::$strings["My Bookmarks"] = "I miei segnalibri";
+App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
App::$strings["Continue"] = "Continua";
App::$strings["Premium Channel Setup"] = "Canale premium - configurazione";
App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
@@ -1092,42 +94,18 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
-App::$strings["Blocked"] = "Bloccati";
-App::$strings["Ignored"] = "Ignorati";
-App::$strings["Hidden"] = "Nascosti";
-App::$strings["Archived"] = "Archiviati";
-App::$strings["New Connections"] = "Nuovi contatti";
-App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
-App::$strings["All Connections"] = "Tutti i contatti";
-App::$strings["Show all connections"] = "Mostra tutti i contatti";
-App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
-App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
-App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
-App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
-App::$strings["Pending approval"] = "In attesa di conferma";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifica il contatto";
-App::$strings["Delete connection"] = "Elimina il contatto";
-App::$strings["Channel address"] = "Indirizzo del canale";
-App::$strings["Network"] = "Network";
-App::$strings["Status"] = "Stato";
-App::$strings["Connected"] = "In contatto";
-App::$strings["Approve connection"] = "Approva questo contatto";
-App::$strings["Approve"] = "Approva";
-App::$strings["Ignore connection"] = "Ignora il contatto";
-App::$strings["Ignore"] = "Ignora";
-App::$strings["Recent activity"] = "Attività recenti";
-App::$strings["Search your connections"] = "Cerca tra i contatti";
-App::$strings["Connections search"] = "Ricerca tra i contatti";
App::$strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
App::$strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
App::$strings["Connection updated."] = "Contatto aggiornato.";
App::$strings["Failed to update connection record."] = "Impossibile aggiornare le informazioni del contatto.";
App::$strings["is now connected to"] = "ha come nuovo contatto";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Sì";
App::$strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
App::$strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
App::$strings["Connection has been removed."] = "Il contatto è stato rimosso.";
+App::$strings["View Profile"] = "Profilo";
App::$strings["View %s's profile"] = "Guarda il profilo di %s";
App::$strings["Refresh Permissions"] = "Modifica i permessi";
App::$strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegnati";
@@ -1138,6 +116,7 @@ App::$strings["Block"] = "Blocca";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
App::$strings["This connection is blocked!"] = "Questa connessione è tra quelle bloccate!";
App::$strings["Unignore"] = "Non ignorare";
+App::$strings["Ignore"] = "Ignora";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)";
App::$strings["This connection is ignored!"] = "Questa connessione è tra quelle ignorate!";
App::$strings["Unarchive"] = "Non archiviare";
@@ -1149,18 +128,27 @@ App::$strings["Hide"] = "Nascondi";
App::$strings["Hide or Unhide this connection from your other connections"] = "Nascondi questo contatto a tutti gli altri (abilita/disabilita)";
App::$strings["This connection is hidden!"] = "Questa connessione è tra quelle nascoste!";
App::$strings["Delete this connection"] = "Elimina questo contatto";
+App::$strings["Me"] = "Me";
+App::$strings["Family"] = "Famiglia";
+App::$strings["Friends"] = "Amici";
+App::$strings["Acquaintances"] = "Conoscenti";
+App::$strings["All"] = "Tutti";
App::$strings["Approve this connection"] = "Approva questo contatto";
App::$strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
App::$strings["Set Affinity"] = "Scegli l'affinità";
App::$strings["Set Profile"] = "Scegli il profilo da mostrare";
App::$strings["Set Affinity & Profile"] = "Affinità e profilo";
App::$strings["none"] = "--";
+App::$strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti";
+App::$strings["Connection: %s"] = "Contatto: %s";
App::$strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
App::$strings["Connection requests will be approved without your interaction"] = "Le richieste di entrare in contatto saranno approvate in automatico";
App::$strings["This connection's primary address is"] = "Indirizzo primario di questo canale";
App::$strings["Available locations:"] = "Indirizzi disponibili";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi.";
+App::$strings["Connection Tools"] = "Gestione dei contatti";
App::$strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
+App::$strings["Rating"] = "Valutazioni";
App::$strings["Slide to adjust your rating"] = "Trascina per cambiare la tua valutazione";
App::$strings["Optionally explain your rating"] = "Commento facoltativo";
App::$strings["Custom Filter"] = "Filtro personalizzato";
@@ -1177,7 +165,6 @@ App::$strings["Individual Permissions"] = "Permessi individuali";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali.";
App::$strings["Last update:"] = "Ultimo aggiornamento:";
-App::$strings["\$Projectname channel"] = "Canale \$Projectname";
App::$strings["Public access denied."] = "Accesso pubblico negato.";
App::$strings["%d rating"] = array(
0 => "%d valutazione",
@@ -1186,14 +173,21 @@ App::$strings["%d rating"] = array(
App::$strings["Gender: "] = "Sesso:";
App::$strings["Status: "] = "Stato:";
App::$strings["Homepage: "] = "Homepage:";
+App::$strings["Age:"] = "Età:";
+App::$strings["Location:"] = "Luogo:";
App::$strings["Description:"] = "Descrizione:";
+App::$strings["Hometown:"] = "Città dove vivo:";
+App::$strings["About:"] = "Informazioni:";
+App::$strings["Connect"] = "Aggiungi";
App::$strings["Public Forum:"] = "Forum pubblico:";
App::$strings["Keywords: "] = "Parole chiave:";
App::$strings["Don't suggest"] = "Non fornire suggerimenti";
App::$strings["Common connections:"] = "Contatti in comune:";
App::$strings["Global Directory"] = "Elenchi pubblici globali";
App::$strings["Local Directory"] = "Elenco canali su questo hub";
+App::$strings["Find"] = "Cerca";
App::$strings["Finding:"] = "Ricerca:";
+App::$strings["Channel Suggestions"] = "Canali suggeriti";
App::$strings["next page"] = "pagina successiva";
App::$strings["previous page"] = "pagina precedente";
App::$strings["Sort options"] = "Opzioni di ordinamento";
@@ -1202,46 +196,76 @@ App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
App::$strings["Newest to Oldest"] = "Prima i più recenti";
App::$strings["Oldest to Newest"] = "Prima i più vecchi";
App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
-App::$strings["This site is not a directory server"] = "Questo non è un directory server";
-App::$strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione";
-App::$strings["Invalid message"] = "Messaggio non valido";
-App::$strings["no results"] = "nessun risultato";
-App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
-App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
-App::$strings["queued"] = "in coda";
-App::$strings["posted"] = "inviato";
-App::$strings["accepted for delivery"] = "accettato per la spedizione";
-App::$strings["updated"] = "aggiornato";
-App::$strings["update ignored"] = "aggiornamento ignorato";
-App::$strings["permission denied"] = "permessi non sufficienti";
-App::$strings["recipient not found"] = "Destinatario non trovato";
-App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
-App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
-App::$strings["mail delivered"] = "messaggio recapitato";
+App::$strings["Item not found."] = "Elemento non trovato.";
App::$strings["Item not found"] = "Elemento non trovato";
-App::$strings["Delete block?"] = "Vuoi eliminare questo block?";
-App::$strings["Insert YouTube video"] = "Inserisci video da YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
+App::$strings["Title (optional)"] = "Titolo (facoltativo)";
App::$strings["Edit Block"] = "Modifica il block";
-App::$strings["Delete layout?"] = "Vuoi eliminare questo layout?";
-App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
-App::$strings["Layout Name"] = "Nome layout";
-App::$strings["Edit Layout"] = "Modifica il layout";
+App::$strings["No channel."] = "Nessun canale.";
+App::$strings["Common connections"] = "Contatti in comune";
+App::$strings["No connections in common."] = "Nessun contatto in comune.";
+App::$strings["Blocked"] = "Bloccati";
+App::$strings["Ignored"] = "Ignorati";
+App::$strings["Hidden"] = "Nascosti";
+App::$strings["Archived"] = "Archiviati";
+App::$strings["New"] = "Novità";
+App::$strings["New Connections"] = "Nuovi contatti";
+App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
+App::$strings["All Connections"] = "Tutti i contatti";
+App::$strings["Show all connections"] = "Mostra tutti i contatti";
+App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
+App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
+App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
+App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
+App::$strings["Pending approval"] = "In attesa di conferma";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifica il contatto";
+App::$strings["Delete connection"] = "Elimina il contatto";
+App::$strings["Channel address"] = "Indirizzo del canale";
+App::$strings["Network"] = "Network";
+App::$strings["Status"] = "Stato";
+App::$strings["Connected"] = "In contatto";
+App::$strings["Approve connection"] = "Approva questo contatto";
+App::$strings["Approve"] = "Approva";
+App::$strings["Ignore connection"] = "Ignora il contatto";
+App::$strings["Recent activity"] = "Attività recenti";
+App::$strings["Connections"] = "Contatti";
+App::$strings["Search"] = "Cerca";
+App::$strings["Search your connections"] = "Cerca tra i contatti";
+App::$strings["Connections search"] = "Ricerca tra i contatti";
+App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
+App::$strings["Cover Photos"] = "Copertine del canale";
+App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
+App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
+App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
+App::$strings["female"] = "femmina";
+App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["male"] = "maschio";
+App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["cover photo"] = "Copertina del canale";
+App::$strings["Photo not available."] = "Foto non disponibile.";
+App::$strings["Upload File:"] = "Carica un file:";
+App::$strings["Select a profile:"] = "Seleziona un profilo:";
+App::$strings["Upload Cover Photo"] = "Carica una copertina";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "salta questo passaggio";
+App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+App::$strings["Crop Image"] = "Ritaglia immagine";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
+App::$strings["Done Editing"] = "Modifica terminata";
App::$strings["Item is not editable"] = "L'elemento non è modificabile";
-App::$strings["Delete item?"] = "Eliminare questo elemento?";
App::$strings["Edit post"] = "Modifica post";
-App::$strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
-App::$strings["Page link title"] = "Link del titolo";
-App::$strings["Edit Webpage"] = "Modifica la pagina web";
App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
App::$strings["Event not found."] = "Evento non trovato.";
+App::$strings["event"] = "l'evento";
App::$strings["Edit event title"] = "Modifica il titolo dell'evento";
App::$strings["Event title"] = "Titolo dell'evento";
+App::$strings["Required"] = "Obbligatorio";
App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
App::$strings["Edit Category"] = "Modifica la categoria";
App::$strings["Category"] = "Categoria";
@@ -1253,41 +277,50 @@ App::$strings["Finish date and time"] = "Data e ora di fine";
App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario.";
App::$strings["Edit Description"] = "Modifica la descrizione";
+App::$strings["Description"] = "Descrizione";
App::$strings["Edit Location"] = "Modifica il luogo";
+App::$strings["Location"] = "Posizione geografica";
App::$strings["Share this event"] = "Condividi questo evento";
+App::$strings["Preview"] = "Anteprima";
+App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
App::$strings["Advanced Options"] = "Opzioni avanzate";
-App::$strings["l, F j"] = "l j F";
App::$strings["Edit event"] = "Modifica l'evento";
App::$strings["Delete event"] = "Elimina l'evento";
App::$strings["calendar"] = "calendario";
-App::$strings["Edit Event"] = "Modifica l'evento";
-App::$strings["Create Event"] = "Crea un evento";
-App::$strings["Previous"] = "Precendente";
-App::$strings["Next"] = "Successivo";
-App::$strings["Today"] = "Oggi";
App::$strings["Event removed"] = "Evento eliminato";
App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
-App::$strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
+App::$strings["Photos"] = "Foto";
+App::$strings["Cancel"] = "Annulla";
+App::$strings["This site is not a directory server"] = "Questo non è un directory server";
+App::$strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione";
+App::$strings["Save to Folder:"] = "Salva nella cartella:";
App::$strings["- select -"] = "- scegli -";
-App::$strings["Permission Denied."] = "Permesso negato.";
-App::$strings["File not found."] = "File non trovato.";
-App::$strings["Edit file permissions"] = "Modifica i permessi del file";
-App::$strings["Set/edit permissions"] = "Modifica i permessi";
-App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
-App::$strings["Return to file list"] = "Torna all'elenco dei file";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
-App::$strings["Share this file"] = "Condividi questo file";
-App::$strings["Show URL to this file"] = "Mostra l'URL del file";
-App::$strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
+App::$strings["Save"] = "Salva";
+App::$strings["Invalid message"] = "Messaggio non valido";
+App::$strings["no results"] = "nessun risultato";
+App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
+App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
+App::$strings["queued"] = "in coda";
+App::$strings["posted"] = "inviato";
+App::$strings["accepted for delivery"] = "accettato per la spedizione";
+App::$strings["updated"] = "aggiornato";
+App::$strings["update ignored"] = "aggiornamento ignorato";
+App::$strings["permission denied"] = "permessi non sufficienti";
+App::$strings["recipient not found"] = "Destinatario non trovato";
+App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
+App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
+App::$strings["mail delivered"] = "messaggio recapitato";
+App::$strings["Layout Name"] = "Nome layout";
+App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
+App::$strings["Edit Layout"] = "Modifica il layout";
+App::$strings["Page link"] = "Link alla pagina";
+App::$strings["Edit Webpage"] = "Modifica la pagina web";
App::$strings["Channel added."] = "Canale aggiunto.";
-App::$strings["Contact not found."] = "Contatto non trovato.";
-App::$strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
-App::$strings["Suggest Friends"] = "Suggerisci amici";
-App::$strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
+App::$strings["network"] = "rete";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "Gruppo di canali creato.";
App::$strings["Could not create privacy group."] = "Impossibile creare il gruppo di canali.";
+App::$strings["Privacy group not found."] = "Gruppo di canali non trovato.";
App::$strings["Privacy group updated."] = "Gruppo di canali aggiornato.";
App::$strings["Create a group of channels."] = "Crea un gruppo di canali.";
App::$strings["Privacy group name: "] = "Nome del gruppo di canali:";
@@ -1298,36 +331,37 @@ App::$strings["Privacy group editor"] = "Editor dei gruppi di canali";
App::$strings["Members"] = "Membri";
App::$strings["All Connected Channels"] = "Tutti i canali connessi";
App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+App::$strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
+App::$strings["Authorize application connection"] = "Autorizza la app";
+App::$strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
+App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
App::$strings["Documentation Search"] = "Ricerca nella guida";
App::$strings["Help:"] = "Guida:";
+App::$strings["Help"] = "Guida";
App::$strings["\$Projectname Documentation"] = "Guida di \$Projectname";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
-App::$strings["First Name"] = "Nome";
-App::$strings["Last Name"] = "Cognome";
-App::$strings["Nickname"] = "Nick";
-App::$strings["Full Name"] = "Nome e cognome";
-App::$strings["Profile Photo 16px"] = "Foto del profilo 16px";
-App::$strings["Profile Photo 32px"] = "Foto del profilo 32px";
-App::$strings["Profile Photo 48px"] = "Foto del profilo 48px";
-App::$strings["Profile Photo 64px"] = "Foto del profilo 64px";
-App::$strings["Profile Photo 80px"] = "Foto del profilo 80px";
-App::$strings["Profile Photo 128px"] = "Foto del profilo 128px";
-App::$strings["Timezone"] = "Fuso orario";
-App::$strings["Homepage URL"] = "Indirizzo home page";
-App::$strings["Birth Year"] = "Anno di nascita";
-App::$strings["Birth Month"] = "Mese di nascita";
-App::$strings["Birth Day"] = "Giorno di nascita";
-App::$strings["Birthdate"] = "Data di nascita";
-App::$strings["Gender"] = "Sesso";
-App::$strings["%s element installed"] = "%s elemento installato";
-App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
+App::$strings["Permission Denied."] = "Permesso negato.";
+App::$strings["File not found."] = "File non trovato.";
+App::$strings["Edit file permissions"] = "Modifica i permessi del file";
+App::$strings["Set/edit permissions"] = "Modifica i permessi";
+App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
+App::$strings["Return to file list"] = "Torna all'elenco dei file";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
+App::$strings["Share this file"] = "Condividi questo file";
+App::$strings["Show URL to this file"] = "Mostra l'URL del file";
+App::$strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
+App::$strings["Apps"] = "App";
+App::$strings["Item not available."] = "Elemento non disponibile.";
App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
App::$strings["Nothing to import."] = "Non c'è niente da importare.";
App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub";
App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
+App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
App::$strings["No channel. Import failed."] = "Nessun canale. Import fallito.";
+App::$strings["Import completed."] = "L'importazione è terminata con successo.";
App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
App::$strings["Import Channel"] = "Importa un canale";
App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza.";
@@ -1340,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
-App::$strings["Import completed"] = "Importazione completata";
-App::$strings["Import Items"] = "Importa i contenuti";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
-App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
-App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
-App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
-App::$strings["%d message sent."] = array(
- 0 => "%d messaggio inviato.",
- 1 => "%d messaggi inviati.",
-);
-App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
-App::$strings["Send invitations"] = "Spedisci inviti";
-App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-App::$strings["Your message:"] = "Il tuo messaggio:";
-App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
-App::$strings["or visit"] = "oppure visita";
-App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
@@ -1370,16 +382,52 @@ App::$strings["System error. Post not saved."] = "Errore di sistema. Post non sa
App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+App::$strings["Layouts"] = "Layout";
App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
App::$strings["Layout Description"] = "Descrizione del layout";
App::$strings["Download PDL file"] = "Scarica il file PDL";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
+App::$strings["First Name"] = "Nome";
+App::$strings["Last Name"] = "Cognome";
+App::$strings["Nickname"] = "Nick";
+App::$strings["Full Name"] = "Nome e cognome";
+App::$strings["Email"] = "Email";
+App::$strings["Profile Photo"] = "Foto del profilo";
+App::$strings["Profile Photo 16px"] = "Foto del profilo 16px";
+App::$strings["Profile Photo 32px"] = "Foto del profilo 32px";
+App::$strings["Profile Photo 48px"] = "Foto del profilo 48px";
+App::$strings["Profile Photo 64px"] = "Foto del profilo 64px";
+App::$strings["Profile Photo 80px"] = "Foto del profilo 80px";
+App::$strings["Profile Photo 128px"] = "Foto del profilo 128px";
+App::$strings["Timezone"] = "Fuso orario";
+App::$strings["Homepage URL"] = "Indirizzo home page";
+App::$strings["Language"] = "Lingua";
+App::$strings["Birth Year"] = "Anno di nascita";
+App::$strings["Birth Month"] = "Mese di nascita";
+App::$strings["Birth Day"] = "Giorno di nascita";
+App::$strings["Birthdate"] = "Data di nascita";
+App::$strings["Gender"] = "Sesso";
+App::$strings["Male"] = "Maschio";
+App::$strings["Female"] = "Femmina";
+App::$strings["webpage"] = "pagina web";
+App::$strings["block"] = "block";
+App::$strings["layout"] = "layout";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "%s elemento installato";
+App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
App::$strings["Invalid request."] = "Richiesta non valida.";
+App::$strings["channel"] = "il canale";
App::$strings["thing"] = "Oggetto";
App::$strings["Channel unavailable."] = "Canale non trovato.";
App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
+App::$strings["photo"] = "la foto";
+App::$strings["status"] = "il messaggio di stato";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non è d'accordo";
App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non si esprime";
@@ -1388,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s n
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
App::$strings["Action completed."] = "Comando completato.";
App::$strings["Thank you."] = "Grazie.";
+App::$strings["Import completed"] = "Importazione completata";
+App::$strings["Import Items"] = "Importa i contenuti";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
+App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
+App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
+App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
+App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d messaggio inviato.",
+ 1 => "%d messaggi inviati.",
+);
+App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
+App::$strings["Send invitations"] = "Spedisci inviti";
+App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
+App::$strings["Your message:"] = "Il tuo messaggio:";
+App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
+App::$strings["or visit"] = "oppure visita";
+App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
App::$strings["Visible to:"] = "Visibile a:";
App::$strings["Location not found."] = "Indirizzo non trovato.";
@@ -1403,9 +473,6 @@ App::$strings["Sync Now"] = "Sincronizza ora";
App::$strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante.";
-App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
-App::$strings["added your channel"] = "ha aggiunto il tuo canale";
-App::$strings["posted an event"] = "ha creato un evento";
App::$strings["Hub not found."] = "Hub non trovato.";
App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
@@ -1414,11 +481,14 @@ App::$strings["Selected channel has private message restrictions. Send failed."]
App::$strings["Messages"] = "Messaggi";
App::$strings["Message recalled."] = "Messaggio revocato.";
App::$strings["Conversation removed."] = "Conversazione rimossa.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
App::$strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete";
App::$strings["Send Private Message"] = "Invia un messaggio privato";
App::$strings["To:"] = "A:";
App::$strings["Subject:"] = "Oggetto:";
+App::$strings["Attach file"] = "Allega file";
App::$strings["Send"] = "Invia";
+App::$strings["Set expiration date"] = "Data di scadenza";
App::$strings["Delete message"] = "Elimina il messaggio";
App::$strings["Delivery report"] = "Rapporto di trasmissione";
App::$strings["Recall message"] = "Revoca il messaggio";
@@ -1429,6 +499,7 @@ App::$strings["Send Reply"] = "Invia la risposta";
App::$strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):";
App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
App::$strings["Create a new channel"] = "Crea un nuovo canale";
+App::$strings["Channel Manager"] = "Gestione canali";
App::$strings["Current Channel"] = "Canale attuale";
App::$strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare.";
App::$strings["Default Channel"] = "Canale predefinito";
@@ -1436,10 +507,22 @@ App::$strings["Make Default"] = "Rendi predefinito";
App::$strings["%d new messages"] = "%d nuovi messaggi";
App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
App::$strings["Delegated Channel"] = "Canale delegato";
-App::$strings["Profile Match"] = "Profili corrispondenti";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
-App::$strings["is interested in:"] = "interessi personali:";
-App::$strings["No matches"] = "Nessun risultato";
+App::$strings["No valid account found."] = "Nessun account valido trovato.";
+App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
+App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
+App::$strings["Password Reset"] = "Reimposta la password";
+App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+App::$strings["Your new password is"] = "La tua nuova password è";
+App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+App::$strings["click here to login"] = "clicca qui per accedere";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+App::$strings["Email Address"] = "Indirizzo email";
+App::$strings["Reset"] = "Reimposta";
App::$strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
App::$strings["Unable to create menu."] = "Impossibile creare il menù.";
App::$strings["Menu Name"] = "Nome del menu";
@@ -1449,6 +532,7 @@ App::$strings["Visible on webpage - leave empty for no title"] = "Visibile sulla
App::$strings["Allow Bookmarks"] = "Permetti i segnalibri";
App::$strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
App::$strings["Submit and proceed"] = "Salva e procedi";
+App::$strings["Menus"] = "Menù";
App::$strings["Bookmarks allowed"] = "Permetti segnalibri";
App::$strings["Delete this menu"] = "Elimina questo menù";
App::$strings["Edit menu contents"] = "Modifica i contenuti del menù";
@@ -1463,6 +547,22 @@ App::$strings["Menu title"] = "Titolo del menù";
App::$strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
App::$strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
App::$strings["Not found."] = "Non trovato.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
+App::$strings["Mood"] = "Umore";
+App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
+App::$strings["Profile Match"] = "Profili corrispondenti";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
+App::$strings["is interested in:"] = "interessi personali:";
+App::$strings["No matches"] = "Nessun risultato";
+App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
+App::$strings["No such channel"] = "Canale sconosciuto";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Cerca risultati con:";
+App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
+App::$strings["Privacy group: "] = "Gruppo di canali:";
+App::$strings["Invalid connection."] = "Contatto non valido.";
+App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+App::$strings["System Notifications"] = "Notifiche di sistema";
App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
@@ -1492,14 +592,6 @@ App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato."
App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
App::$strings["Link text"] = "Testo del link";
-App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
-App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
-App::$strings["No such channel"] = "Canale sconosciuto";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Cerca risultati con:";
-App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
-App::$strings["Privacy group: "] = "Gruppo di canali:";
-App::$strings["Invalid connection."] = "Contatto non valido.";
App::$strings["Name or caption"] = "Nome o titolo";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
App::$strings["Choose a short nickname"] = "Scegli un nome breve";
@@ -1512,21 +604,9 @@ App::$strings["A channel is your identity on this network. It can represent a pe
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub.";
App::$strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
App::$strings["Discard"] = "Rifiuta";
-App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
-App::$strings["System Notifications"] = "Notifiche di sistema";
-App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
-App::$strings["Post successful."] = "Inviato!";
-App::$strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
-App::$strings["Configuration Editor"] = "Editor di configurazione";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
-App::$strings["Layout updated."] = "Layout aggiornato.";
-App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
-App::$strings["Layout not found."] = "Layout non trovato.";
-App::$strings["Module Name:"] = "Nome del modulo:";
-App::$strings["Layout Help"] = "Guida al layout";
+App::$strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
+App::$strings["Profile Photos"] = "Foto del profilo";
App::$strings["Album not found."] = "Album non trovato.";
App::$strings["Delete Album"] = "Elimina album";
App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore rimuovili dall'Archivio file ";
@@ -1545,6 +625,8 @@ App::$strings["Album name could not be decoded"] = "Non è stato possibile legge
App::$strings["Contact Photos"] = "Foto dei contatti";
App::$strings["Show Newest First"] = "Prima i più recenti";
App::$strings["Show Oldest First"] = "Prima i più vecchi";
+App::$strings["View Photo"] = "Guarda la foto";
+App::$strings["Edit Album"] = "Modifica album";
App::$strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
App::$strings["Photo not available"] = "Foto non disponibile";
App::$strings["Use as profile photo"] = "Usa come foto del profilo";
@@ -1561,10 +643,152 @@ App::$strings["Caption"] = "Didascalia";
App::$strings["Add a Tag"] = "Aggiungi tag";
App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
+App::$strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
+App::$strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
+App::$strings["Please wait"] = "Attendere";
+App::$strings["This is you"] = "Questo sei tu";
+App::$strings["Comment"] = "Commento";
+App::$strings["__ctx:title__ Likes"] = "Mi piace";
+App::$strings["__ctx:title__ Dislikes"] = "Non mi piace";
+App::$strings["__ctx:title__ Agree"] = "D'accordo";
+App::$strings["__ctx:title__ Disagree"] = "Non d'accordo";
+App::$strings["__ctx:title__ Abstain"] = "Astenuti";
+App::$strings["__ctx:title__ Attending"] = "Partecipano";
+App::$strings["__ctx:title__ Not attending"] = "Non partecipano";
+App::$strings["__ctx:title__ Might attend"] = "Forse partecipano";
+App::$strings["View all"] = "Vedi tutto";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Mi piace",
+ 1 => "Mi piace",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Non mi piace",
+ 1 => "Non mi piace",
+);
+App::$strings["Photo Tools"] = "Gestione delle foto";
App::$strings["In This Photo:"] = "In questa foto:";
App::$strings["Map"] = "Mappa";
+App::$strings["__ctx:noun__ Likes"] = "Mi piace";
+App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
+App::$strings["Close"] = "Chiudi";
App::$strings["View Album"] = "Guarda l'album";
App::$strings["Recent Photos"] = "Foto recenti";
+App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
+App::$strings["added your channel"] = "ha aggiunto il tuo canale";
+App::$strings["g A l F d"] = "g A l d F";
+App::$strings["[today]"] = "[oggi]";
+App::$strings["posted an event"] = "ha creato un evento";
+App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
+App::$strings["Post successful."] = "Inviato!";
+App::$strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
+App::$strings["Login failed."] = "Accesso fallito.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
+App::$strings["Configuration Editor"] = "Editor di configurazione";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
+App::$strings["Layout updated."] = "Layout aggiornato.";
+App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
+App::$strings["Layout not found."] = "Layout non trovato.";
+App::$strings["Module Name:"] = "Nome del modulo:";
+App::$strings["Layout Help"] = "Guida al layout";
+App::$strings["Poke"] = "Poke";
+App::$strings["Poke somebody"] = "Manda un poke";
+App::$strings["Poke/Prod"] = "Poke/Prod";
+App::$strings["Poke, prod or do other things to somebody"] = "Manda un poke o altro a qualcuno";
+App::$strings["Recipient"] = "Destinatario";
+App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
+App::$strings["Make this post private"] = "Rendi privato questo post";
+App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
+App::$strings["Profile not found."] = "Profilo non trovato.";
+App::$strings["Profile deleted."] = "Profilo eliminato.";
+App::$strings["Profile-"] = "Profilo-";
+App::$strings["New profile created."] = "Il nuovo profilo è stato creato.";
+App::$strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
+App::$strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
+App::$strings["Profile Name is required."] = "Il nome del profilo è obbligatorio.";
+App::$strings["Marital Status"] = "Stato sentimentale";
+App::$strings["Romantic Partner"] = "Partner affettivo";
+App::$strings["Likes"] = "Mi piace";
+App::$strings["Dislikes"] = "Non mi piace";
+App::$strings["Work/Employment"] = "Lavoro/impiego";
+App::$strings["Religion"] = "Religione";
+App::$strings["Political Views"] = "Orientamento politico";
+App::$strings["Sexual Preference"] = "Preferenze sessuali";
+App::$strings["Homepage"] = "Home page";
+App::$strings["Interests"] = "Interessi";
+App::$strings["Profile updated."] = "Profilo aggiornato.";
+App::$strings["Hide your connections list from viewers of this profile"] = "Nascondi la tua lista di contatti ai visitatori di questo profilo";
+App::$strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
+App::$strings["View this profile"] = "Guarda questo profilo";
+App::$strings["Edit visibility"] = "Cambia la visibilità";
+App::$strings["Profile Tools"] = "Gestione del profilo";
+App::$strings["Change cover photo"] = "Cambia la copertina del canale";
+App::$strings["Change profile photo"] = "Cambia la foto del profilo";
+App::$strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
+App::$strings["Clone this profile"] = "Clona questo profilo";
+App::$strings["Delete this profile"] = "Elimina questo profilo";
+App::$strings["Add profile things"] = "Aggiungi oggetti al profilo";
+App::$strings["Personal"] = "Personali";
+App::$strings["Relation"] = "Relazione";
+App::$strings["Miscellaneous"] = "Altro";
+App::$strings["Import profile from file"] = "Importa il profilo da un file";
+App::$strings["Export profile to file"] = "Esporta il profilo in un file";
+App::$strings["Your gender"] = "Sesso";
+App::$strings["Marital status"] = "Stato civile";
+App::$strings["Sexual preference"] = "Preferenze sessuali";
+App::$strings["Profile name"] = "Nome del profilo";
+App::$strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
+App::$strings["Your full name"] = "Il tuo nome completo";
+App::$strings["Title/Description"] = "Titolo/descrizione";
+App::$strings["Street address"] = "Indirizzo (via/piazza)";
+App::$strings["Locality/City"] = "Località";
+App::$strings["Region/State"] = "Regione/stato";
+App::$strings["Postal/Zip code"] = "CAP";
+App::$strings["Country"] = "Nazione";
+App::$strings["Who (if applicable)"] = "Con chi (se possibile)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
+App::$strings["Since (date)"] = "dal (data)";
+App::$strings["Tell us about yourself"] = "Raccontaci di te...";
+App::$strings["Hometown"] = "Città dove vivo";
+App::$strings["Political views"] = "Orientamento politico";
+App::$strings["Religious views"] = "Orientamento religioso";
+App::$strings["Keywords used in directory listings"] = "Parole chiavi mostrate nell'elenco dei canali";
+App::$strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
+App::$strings["Musical interests"] = "Interessi musicali";
+App::$strings["Books, literature"] = "Libri, letteratura";
+App::$strings["Television"] = "Televisione";
+App::$strings["Film/Dance/Culture/Entertainment"] = "Film, danza, cultura, intrattenimento";
+App::$strings["Hobbies/Interests"] = "Hobby/interessi";
+App::$strings["Love/Romance"] = "Amore";
+App::$strings["School/Education"] = "Scuola/educazione";
+App::$strings["Contact information and social networks"] = "Contatti e social network";
+App::$strings["My other channels"] = "I miei altri canali";
+App::$strings["Profile Image"] = "Immagine del profilo";
+App::$strings["Edit Profiles"] = "Modifica i tuoi profili";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
+App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
+App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
+App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
+App::$strings["Profile"] = "Profilo";
+App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
+App::$strings["Visible To"] = "Visibile a";
+App::$strings["Public Hubs"] = "Hub pubblici";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
+App::$strings["Hub URL"] = "URL del hub";
+App::$strings["Access Type"] = "Tipo di accesso";
+App::$strings["Registration Policy"] = "Politica di registrazione";
+App::$strings["Stats"] = "";
+App::$strings["Software"] = "Software";
+App::$strings["Ratings"] = "Valutazioni";
+App::$strings["Rate"] = "Valuta";
+App::$strings["Website:"] = "Sito web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
+App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
+App::$strings["No ratings"] = "Nessuna valutazione";
+App::$strings["Rating: "] = "Valutazione:";
+App::$strings["Website: "] = "Sito web:";
+App::$strings["Description: "] = "Descrizione:";
App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
App::$strings["# Accounts"] = "# account";
App::$strings["# blocked accounts"] = "# account bloccati";
@@ -1574,6 +798,7 @@ App::$strings["# Channels"] = "# canali";
App::$strings["# primary"] = "# primari";
App::$strings["# clones"] = "# cloni";
App::$strings["Message queues"] = "Coda messaggi in uscita";
+App::$strings["Your software should be updated"] = "Il tuo software ha bisogno di essere aggiornato";
App::$strings["Administration"] = "Amministrazione";
App::$strings["Summary"] = "Riepilogo";
App::$strings["Registered accounts"] = "Account creati";
@@ -1581,7 +806,10 @@ App::$strings["Pending registrations"] = "Registrazioni da approvare";
App::$strings["Registered channels"] = "Canali creati";
App::$strings["Active plugins"] = "Plugin attivi";
App::$strings["Version"] = "Versione";
+App::$strings["Repository version (master)"] = "Versione del repository (master)";
+App::$strings["Repository version (dev)"] = "Versione del repository (dev)";
App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
+App::$strings["Default"] = "Predefinito";
App::$strings["mobile"] = "mobile";
App::$strings["experimental"] = "sperimentale";
App::$strings["unsupported"] = "non supportato";
@@ -1590,9 +818,11 @@ App::$strings["My site is not a public server"] = "Non è un server pubblico";
App::$strings["My site has paid access only"] = "È un servizio a pagamento";
App::$strings["My site has free access only"] = "È un servizio gratuito";
App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
+App::$strings["Site"] = "Sito";
App::$strings["Registration"] = "Registrazione";
App::$strings["File upload"] = "Caricamento file";
App::$strings["Policies"] = "Politiche";
+App::$strings["Advanced"] = "Avanzate";
App::$strings["Site name"] = "Nome del sito";
App::$strings["Banner/Logo"] = "Banner o logo";
App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
@@ -1630,8 +860,10 @@ App::$strings["Force publish"] = "Forza la publicazione del profilo";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito.";
App::$strings["Import Public Streams"] = "Suggerisci contenuti pubblici della rete Hubzilla";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione.";
-App::$strings["login on Homepage"] = "Mostra il login sulla homepage";
+App::$strings["Login on Homepage"] = "Login sulla homepage";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
+App::$strings["Enable context help"] = "Abilita la guida contestuale";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Quando è premuto il bottone della guida mostra quella della pagina corrente";
App::$strings["Directory Server URL"] = "URL del directory server";
App::$strings["Default directory server"] = "Directory server predefinito";
App::$strings["Proxy user"] = "Utente proxy";
@@ -1657,19 +889,25 @@ App::$strings["ID"] = "ID";
App::$strings["for channel"] = "per il canale";
App::$strings["on server"] = "sul server";
App::$strings["Server"] = "Server";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'impostazione consigliata è di permettere HTML non filtrato solo dai siti seguenti:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non venga esplicitamente bloccato.";
+App::$strings["Security"] = "Sicurezza";
App::$strings["Block public"] = "Blocca pagine pubbliche";
App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "";
App::$strings["Allow communications only from these sites"] = "Permetti la comunicazione solo da questi siti";
App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti";
App::$strings["Block communications from these sites"] = "Blocca la comunicazione da questi siti";
App::$strings["Allow communications only from these channels"] = "Permetti la comunicazione solo da questi canali";
App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali";
App::$strings["Block communications from these channels"] = "Blocca la comunicazione da questi canali";
-App::$strings["Allow embedded HTML content only from these domains"] = "Permetti i contenuti incorporati HTML solo da questi domini";
-App::$strings["One site per line. Leave empty to allow from any site by default"] = "Un sito per riga. Lascia vuoto per permettere sempre i contenuti incorporati";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "";
+App::$strings["One site per line. By default embedded content is filtered."] = "";
App::$strings["Block embedded HTML from these domains"] = "Blocca i contenuti incorporati HTML da questi domini";
-App::$strings["Cooperative embed security"] = "Sicurezza cooperativa sui contenuti incorporati";
-App::$strings["Enable to share embed security with other compatible sites/hubs"] = "Abilita la condivisione con altri siti/hub delle informazioni di sicurezza sui contenuti incorporati";
App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
@@ -1698,12 +936,13 @@ App::$strings["Account not found"] = "Account non trovato";
App::$strings["Account '%s' deleted"] = "Account '%s' eliminato";
App::$strings["Account '%s' blocked"] = "Aggiunto un blocco verso '%s'";
App::$strings["Account '%s' unblocked"] = "Rimosso il blocco verso '%s'";
-App::$strings["Users"] = "Utenti";
+App::$strings["Accounts"] = "Account";
App::$strings["select all"] = "seleziona tutti";
-App::$strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma";
+App::$strings["Registrations waiting for confirm"] = "";
App::$strings["Request date"] = "Data richiesta";
App::$strings["No registrations."] = "Nessuna registrazione.";
App::$strings["Deny"] = "Nega";
+App::$strings["All Channels"] = "Tutti i canali";
App::$strings["Register date"] = "Data registrazione";
App::$strings["Last login"] = "Ultimo accesso";
App::$strings["Expires"] = "Con scadenza";
@@ -1728,10 +967,12 @@ App::$strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
App::$strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
App::$strings["Channel '%s' code allowed"] = "Il canale '%s' permette codice nei contenuti";
App::$strings["Channel '%s' code disallowed"] = "Il canale '%s' non permette codice nei contenuti";
+App::$strings["Channels"] = "Canali";
App::$strings["Censor"] = "Applica censura";
App::$strings["Uncensor"] = "Rimuovi censura";
App::$strings["Allow Code"] = "Permetti codice";
App::$strings["Disallow Code"] = "Non permettere codice";
+App::$strings["Channel"] = "Canale";
App::$strings["UID"] = "UID";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
@@ -1739,7 +980,9 @@ App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
App::$strings["Disable"] = "Disattiva";
App::$strings["Enable"] = "Attiva";
+App::$strings["Plugins"] = "Plugin";
App::$strings["Toggle"] = "Attiva/disattiva";
+App::$strings["Settings"] = "Impostazioni";
App::$strings["Author: "] = "Autore:";
App::$strings["Maintainer: "] = "Gestore:";
App::$strings["Minimum project version: "] = "Minima versione hubzilla";
@@ -1747,15 +990,29 @@ App::$strings["Maximum project version: "] = "Massima versione hubzilla";
App::$strings["Minimum PHP version: "] = "Minima versione PHP:";
App::$strings["Requires: "] = "Necessita di:";
App::$strings["Disabled - version incompatibility"] = "Disabilitato - incompatibilità di versione";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "";
+App::$strings["Plugin repo git URL"] = "URL git del repository del plugin";
+App::$strings["Custom repo name"] = "Nome repository personalizzato";
+App::$strings["(optional)"] = "(facoltativo)";
+App::$strings["Download Plugin Repo"] = "Scarica il repository del plugin";
+App::$strings["Install new repo"] = "Installa un nuovo repository";
+App::$strings["Install"] = "Installa";
+App::$strings["Manage Repos"] = "Gestisci i repsitory";
+App::$strings["Installed Plugin Repositories"] = "Repository per i plugin installati";
+App::$strings["Install a New Plugin Repository"] = "Installa un nuovo repository per i plugin";
+App::$strings["Update"] = "Aggiorna";
+App::$strings["Switch branch"] = "Cambia branch";
App::$strings["No themes found."] = "Nessun tema trovato.";
App::$strings["Screenshot"] = "Istantanea dello schermo";
+App::$strings["Themes"] = "Temi";
App::$strings["[Experimental]"] = "[Sperimentale]";
App::$strings["[Unsupported]"] = "[Non supportato]";
App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
+App::$strings["Logs"] = "Log";
App::$strings["Clear"] = "Pulisci";
App::$strings["Debugging"] = "Debugging";
App::$strings["Log file"] = "File di log";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato Hubzilla.";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "";
App::$strings["Log level"] = "Livello di log";
App::$strings["New Profile Field"] = "Nuovo campo del profilo";
App::$strings["Field nickname"] = "Nome breve del campo";
@@ -1767,110 +1024,26 @@ App::$strings["Help text"] = "Testo di aiuto";
App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)";
App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
+App::$strings["Profile Fields"] = "Campi del profilo";
App::$strings["Basic Profile Fields"] = "Campi base del profilo";
App::$strings["Advanced Profile Fields"] = "Campi avanzati del profilo";
App::$strings["(In addition to basic fields)"] = "(In aggiunta ai campi di base)";
App::$strings["All available fields"] = "Tutti i campi disponibili";
App::$strings["Custom Fields"] = "Campi personalizzati";
App::$strings["Create Custom Field"] = "Aggiungi campo personalizzato";
-App::$strings["Poke somebody"] = "Manda un poke";
-App::$strings["Poke/Prod"] = "Poke/Prod";
-App::$strings["Poke, prod or do other things to somebody"] = "Manda un poke o altro a qualcuno";
-App::$strings["Recipient"] = "Destinatario";
-App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
-App::$strings["Make this post private"] = "Rendi privato questo post";
-App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
-App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
-App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
-App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
-App::$strings["Photo not available."] = "Foto non disponibile.";
-App::$strings["Upload File:"] = "Carica un file:";
-App::$strings["Select a profile:"] = "Seleziona un profilo:";
-App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "salta questo passaggio";
-App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
-App::$strings["Crop Image"] = "Ritaglia immagine";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
-App::$strings["Done Editing"] = "Modifica terminata";
-App::$strings["Profile not found."] = "Profilo non trovato.";
-App::$strings["Profile deleted."] = "Profilo eliminato.";
-App::$strings["Profile-"] = "Profilo-";
-App::$strings["New profile created."] = "Il nuovo profilo è stato creato.";
-App::$strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
-App::$strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
-App::$strings["Profile Name is required."] = "Il nome del profilo è obbligatorio.";
-App::$strings["Marital Status"] = "Stato sentimentale";
-App::$strings["Romantic Partner"] = "Partner affettivo";
-App::$strings["Likes"] = "Mi piace";
-App::$strings["Dislikes"] = "Non mi piace";
-App::$strings["Work/Employment"] = "Lavoro/impiego";
-App::$strings["Religion"] = "Religione";
-App::$strings["Political Views"] = "Orientamento politico";
-App::$strings["Sexual Preference"] = "Preferenze sessuali";
-App::$strings["Homepage"] = "Home page";
-App::$strings["Interests"] = "Interessi";
-App::$strings["Profile updated."] = "Profilo aggiornato.";
-App::$strings["Hide your connections list from viewers of this profile"] = "Nascondi la tua lista di contatti ai visitatori di questo profilo";
-App::$strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
-App::$strings["View this profile"] = "Guarda questo profilo";
-App::$strings["Change cover photo"] = "Cambia la copertina del canale";
-App::$strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
-App::$strings["Clone this profile"] = "Clona questo profilo";
-App::$strings["Delete this profile"] = "Elimina questo profilo";
-App::$strings["Add profile things"] = "Aggiungi oggetti al profilo";
-App::$strings["Relation"] = "Relazione";
-App::$strings["Import profile from file"] = "Importa il profilo da un file";
-App::$strings["Export profile to file"] = "Esporta il profilo in un file";
-App::$strings["Your gender"] = "Sesso";
-App::$strings["Marital status"] = "Stato civile";
-App::$strings["Sexual preference"] = "Preferenze sessuali";
-App::$strings["Profile name"] = "Nome del profilo";
-App::$strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
-App::$strings["Your full name"] = "Il tuo nome completo";
-App::$strings["Title/Description"] = "Titolo/descrizione";
-App::$strings["Street address"] = "Indirizzo (via/piazza)";
-App::$strings["Locality/City"] = "Località";
-App::$strings["Region/State"] = "Regione/stato";
-App::$strings["Postal/Zip code"] = "CAP";
-App::$strings["Country"] = "Nazione";
-App::$strings["Who (if applicable)"] = "Con chi (se possibile)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since (date)"] = "dal (data)";
-App::$strings["Tell us about yourself"] = "Raccontaci di te...";
-App::$strings["Hometown"] = "Città dove vivo";
-App::$strings["Political views"] = "Orientamento politico";
-App::$strings["Religious views"] = "Orientamento religioso";
-App::$strings["Keywords used in directory listings"] = "Parole chiavi mostrate nell'elenco dei canali";
-App::$strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
-App::$strings["Musical interests"] = "Interessi musicali";
-App::$strings["Books, literature"] = "Libri, letteratura";
-App::$strings["Television"] = "Televisione";
-App::$strings["Film/Dance/Culture/Entertainment"] = "Film, danza, cultura, intrattenimento";
-App::$strings["Hobbies/Interests"] = "Hobby/interessi";
-App::$strings["Love/Romance"] = "Amore";
-App::$strings["School/Education"] = "Scuola/educazione";
-App::$strings["Contact information and social networks"] = "Contatti e social network";
-App::$strings["My other channels"] = "I miei altri canali";
-App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
-App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
-App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
-App::$strings["Visible To"] = "Visibile a";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
-App::$strings["Hub URL"] = "URL del hub";
-App::$strings["Access Type"] = "Tipo di accesso";
-App::$strings["Registration Policy"] = "Politica di registrazione";
-App::$strings["Rate"] = "Valuta";
-App::$strings["Website:"] = "Sito web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
-App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
-App::$strings["No ratings"] = "Nessuna valutazione";
-App::$strings["Rating: "] = "Valutazione:";
-App::$strings["Website: "] = "Sito web:";
-App::$strings["Description: "] = "Descrizione:";
+App::$strings["App installed."] = "App installata";
+App::$strings["Malformed app."] = "L'app contiene errori";
+App::$strings["Embed code"] = "Inserisci il codice";
+App::$strings["Edit App"] = "Modifica app";
+App::$strings["Create App"] = "Crea una app";
+App::$strings["Name of app"] = "Nome app";
+App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
+App::$strings["Photo icon URL"] = "URL icona";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
+App::$strings["Categories (optional, comma separated list)"] = "Categorie (facoltative, lista separata da virgole)";
+App::$strings["Version ID"] = "ID versione";
+App::$strings["Price of app"] = "Prezzo app";
+App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
App::$strings["Save Bookmark"] = "Salva segnalibro";
App::$strings["URL of bookmark"] = "URL del segnalibro";
@@ -1895,6 +1068,7 @@ App::$strings["Please enter your invitation code"] = "Inserisci il codice dell'i
App::$strings["no"] = "no";
App::$strings["yes"] = "sì";
App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito.";
+App::$strings["Register"] = "Registrati";
App::$strings["Proceed to create your first channel"] = "Continua e crea il tuo primo canale";
App::$strings["Please login."] = "Effettua l'accesso.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
@@ -1994,6 +1168,7 @@ App::$strings["Allow us to suggest you as a potential friend to new members?"] =
App::$strings["Your channel address is"] = "L'indirizzo del tuo canale è";
App::$strings["Channel Settings"] = "Impostazioni del canale";
App::$strings["Basic Settings"] = "Impostazioni di base";
+App::$strings["Full Name:"] = "Nome completo:";
App::$strings["Your Timezone:"] = "Il tuo fuso orario:";
App::$strings["Default Post Location:"] = "Località predefinita:";
App::$strings["Geographical location to display on your posts"] = "La posizione geografica da mostrare sui tuoi post";
@@ -2013,10 +1188,14 @@ App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
App::$strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
App::$strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
-App::$strings["0 or blank to use the website limit. The website expires after %d days."] = "0 o vuoto per usare i valori predefiniti. Per questo sito la scadenza è %d giorni. ";
+App::$strings["0 or blank to use the website limit."] = "0 o vuoto per usare i valori predefiniti.";
+App::$strings["This website expires after %d days."] = "Per questo sito la scadenza è %d giorni. ";
+App::$strings["This website does not expire imported content."] = "I contenuti di questo sito non hanno scadenza.";
+App::$strings["The website limit takes precedence if lower than your limit."] = "";
App::$strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
App::$strings["May reduce spam activity"] = "Serve a ridurre lo spam";
-App::$strings["Default Post Permissions"] = "Permessi predefiniti per i post";
+App::$strings["Default Post and Publish Permissions"] = "";
+App::$strings["Use my default audience setting for the type of object published"] = "";
App::$strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
App::$strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
App::$strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
@@ -2091,6 +1270,8 @@ App::$strings["Please select a default timezone for your website"] = "Seleziona
App::$strings["Site settings"] = "Impostazioni del hub";
App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Vuoi attivare le funzionalità <strong>avanzate</strong> di \$Projectname?";
App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Alcune funzionalità avanzate, per quanto utili, potrebbero essere adatte solo a un pubblico tecnicamente preparato.";
+App::$strings["PHP version 5.5 or greater is required."] = "";
+App::$strings["PHP version"] = "Versione PHP";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
App::$strings["PHP executable path"] = "Path del comando PHP";
@@ -2129,7 +1310,7 @@ App::$strings["At the end of this procedure, we will give you a text to save in
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
App::$strings["%s is writable"] = "%s è scrivibile";
@@ -2148,22 +1329,6 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
App::$strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
-App::$strings["No valid account found."] = "Nessun account valido trovato.";
-App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
-App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
-App::$strings["Password Reset"] = "Reimposta la password";
-App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
-App::$strings["Your new password is"] = "La tua nuova password è";
-App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-App::$strings["click here to login"] = "clicca qui per accedere";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
-App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
-App::$strings["Email Address"] = "Indirizzo email";
-App::$strings["Reset"] = "Reimposta";
App::$strings["Files: shared with me"] = "File: condivisi con me";
App::$strings["NEW"] = "NOVITÀ";
App::$strings["Remove all files"] = "Elimina tutti i file";
@@ -2185,12 +1350,14 @@ App::$strings["Failed to create source. No channel selected."] = "Impossibile cr
App::$strings["Source created."] = "Sorgente creata.";
App::$strings["Source updated."] = "Sorgente aggiornata.";
App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Sorgenti del canale";
App::$strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale.";
App::$strings["New Source"] = "Nuova sorgente";
App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente.";
App::$strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)";
App::$strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
App::$strings["Channel Name"] = "Nome del canale";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "";
App::$strings["Source not found."] = "Sorgente non trovata.";
App::$strings["Edit Source"] = "Modifica la sorgente";
App::$strings["Delete Source"] = "Elimina la sorgente";
@@ -2199,6 +1366,9 @@ App::$strings["Unable to remove source."] = "Impossibile rimuovere la sorgente."
App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s";
App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
+App::$strings["Ignore/Hide"] = "Ignora/nascondi";
+App::$strings["post"] = "il post";
+App::$strings["comment"] = "il commento";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
App::$strings["Tag removed"] = "Tag rimosso";
App::$strings["Remove Item Tag"] = "Rimuovi il tag";
@@ -2230,12 +1400,861 @@ App::$strings["No connections."] = "Nessun contatto.";
App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
App::$strings["View Connections"] = "Elenco contatti";
App::$strings["Source of Item"] = "Sorgente";
+App::$strings["Webpages"] = "Pagine web";
+App::$strings["Actions"] = "Azioni";
+App::$strings["Page Link"] = "Link alla pagina";
App::$strings["Page Title"] = "Titolo della pagina";
App::$strings["Xchan Lookup"] = "Ricerca canale";
App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
-App::$strings["Cover Photos"] = "Copertine del canale";
-App::$strings["Upload Cover Photo"] = "Carica una copertina";
-App::$strings["Permissions denied."] = "Permesso negato.";
+App::$strings["Site Admin"] = "Amministrazione sito";
+App::$strings["Bug Report"] = "Bug Report";
+App::$strings["View Bookmarks"] = "Vedi i segnalibri";
+App::$strings["My Chatrooms"] = "Le mie aree chat";
+App::$strings["Firefox Share"] = "";
+App::$strings["Remote Diagnostics"] = "";
+App::$strings["Suggest Channels"] = "Suggerisci canali";
+App::$strings["Login"] = "Accedi";
+App::$strings["Grid"] = "Rete";
+App::$strings["Channel Home"] = "Bacheca del canale";
+App::$strings["Events"] = "Eventi";
+App::$strings["Directory"] = "Elenchi pubblici dei canali";
+App::$strings["Mail"] = "Messaggi";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Diagnostica";
+App::$strings["Suggest"] = "Suggerisci";
+App::$strings["Random Channel"] = "Canale casuale";
+App::$strings["Invite"] = "Invita";
+App::$strings["Features"] = "Funzionalità";
+App::$strings["Post"] = "Post";
+App::$strings["Purchase"] = "Acquista";
+App::$strings["Missing room name"] = "Chat senza nome";
+App::$strings["Duplicate room name"] = "Il nome della chat è duplicato";
+App::$strings["Invalid room specifier."] = "Il nome della chat non è valido.";
+App::$strings["Room not found."] = "Chat non trovata.";
+App::$strings["Room is full"] = "La chat è al completo";
+App::$strings["\$Projectname Notification"] = "Notifica \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Grazie,";
+App::$strings["%s Administrator"] = "L'amministratore di %s";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
+App::$strings["a private message"] = "un messaggio privato";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla] Nuovo commento di %2\$s alla conversazione #%1\$d";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla] %s ha scritto sulla tua bacheca";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla] %s ti ha taggato";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla] %1\$s ti ha mandato un poke";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla] %s ha taggato il tuo post";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo post su %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo post[/zrl]";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla] Hai una richiesta di amicizia";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla] Ti è stato suggerito un amico";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
+App::$strings["Name:"] = "Nome:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla]";
+App::$strings["created a new post"] = "Ha creato un nuovo post";
+App::$strings["commented on %s's post"] = "ha commentato il post di %s";
+App::$strings["Private Message"] = "Messaggio privato";
+App::$strings["Select"] = "Scegli";
+App::$strings["Save to Folder"] = "Salva nella cartella";
+App::$strings["I will attend"] = "Parteciperò";
+App::$strings["I will not attend"] = "Non parteciperò";
+App::$strings["I might attend"] = "Forse parteciperò";
+App::$strings["I agree"] = "Sono d'accordo";
+App::$strings["I disagree"] = "Non sono d'accordo";
+App::$strings["I abstain"] = "Mi astengo";
+App::$strings["Add Star"] = "Aggiungi ai preferiti";
+App::$strings["Remove Star"] = "Rimuovi dai preferiti";
+App::$strings["Toggle Star Status"] = "Attiva/disattiva preferito";
+App::$strings["starred"] = "preferito";
+App::$strings["Message signature validated"] = "Messaggio con firma verificata";
+App::$strings["Message signature incorrect"] = "Massaggio con firma non corretta";
+App::$strings["Add Tag"] = "Aggiungi un tag";
+App::$strings["like"] = "mi piace";
+App::$strings["dislike"] = "non mi piace";
+App::$strings["Share This"] = "Condividi";
+App::$strings["share"] = "condividi";
+App::$strings["Delivery Report"] = "Rapporto di trasmissione";
+App::$strings["%d comment"] = array(
+ 0 => "%d commento",
+ 1 => "%d commenti",
+);
+App::$strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s";
+App::$strings["to"] = "a";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "Da bacheca a bacheca";
+App::$strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
+App::$strings["from %s"] = "da %s";
+App::$strings["last edited: %s"] = "ultima modifica: %s";
+App::$strings["Expires: %s"] = "Scadenza: %s";
+App::$strings["Save Bookmarks"] = "Salva segnalibro";
+App::$strings["Add to Calendar"] = "Aggiungi al calendario";
+App::$strings["Mark all seen"] = "Marca tutto come letto";
+App::$strings["[+] show all"] = "[+] mostra tutto";
+App::$strings["Bold"] = "Grassetto";
+App::$strings["Italic"] = "Corsivo";
+App::$strings["Underline"] = "Sottolineato";
+App::$strings["Quote"] = "Citazione";
+App::$strings["Code"] = "Codice";
+App::$strings["Image"] = "Immagine";
+App::$strings["Insert Link"] = "Collegamento";
+App::$strings["Video"] = "Video";
+App::$strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
+App::$strings["Categories"] = "Categorie";
+App::$strings["Tags"] = "Tag";
+App::$strings["Keywords"] = "Parole chiave";
+App::$strings["have"] = "ho";
+App::$strings["has"] = "ha";
+App::$strings["want"] = "voglio";
+App::$strings["wants"] = "vuole";
+App::$strings["likes"] = "gli piace";
+App::$strings["dislikes"] = "non gli piace";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+App::$strings["Starts:"] = "Inizio:";
+App::$strings["Finishes:"] = "Fine:";
+App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
+App::$strings["Not specified"] = "Non specificato";
+App::$strings["Needs Action"] = "Necessita di un intervento";
+App::$strings["Completed"] = "Completato";
+App::$strings["In Process"] = "In corso";
+App::$strings["Cancelled"] = "Annullato";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
+App::$strings["(Unknown)"] = "(Sconosciuto)";
+App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+App::$strings["Visible to you only."] = "Visibile solo a te.";
+App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
+App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
+App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
+App::$strings["Connection not found."] = "Contatto non trovato.";
+App::$strings["profile photo"] = "foto del profilo";
+App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
+App::$strings["[no subject]"] = "[nessun titolo]";
+App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
+App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
+App::$strings["prev"] = "prec";
+App::$strings["first"] = "inizio";
+App::$strings["last"] = "fine";
+App::$strings["next"] = "succ";
+App::$strings["older"] = "più recenti";
+App::$strings["newer"] = "più nuovi";
+App::$strings["No connections"] = "Nessun contatto";
+App::$strings["View all %s connections"] = "Mostra tutti i %s contatti";
+App::$strings["poke"] = "poke";
+App::$strings["poked"] = "ha mandato un poke";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "ha effettuato un ping";
+App::$strings["prod"] = "spintone";
+App::$strings["prodded"] = "ha ricevuto uno spintone";
+App::$strings["slap"] = "schiaffo";
+App::$strings["slapped"] = "ha ricevuto uno schiaffo";
+App::$strings["finger"] = "finger";
+App::$strings["fingered"] = "ha ricevuto un finger";
+App::$strings["rebuff"] = "rifiuto";
+App::$strings["rebuffed"] = "ha ricevuto un rifiuto";
+App::$strings["happy"] = "felice";
+App::$strings["sad"] = "triste";
+App::$strings["mellow"] = "calmo";
+App::$strings["tired"] = "stanco";
+App::$strings["perky"] = "vivace";
+App::$strings["angry"] = "arrabbiato";
+App::$strings["stupefied"] = "stupito";
+App::$strings["puzzled"] = "confuso";
+App::$strings["interested"] = "attento";
+App::$strings["bitter"] = "amaro";
+App::$strings["cheerful"] = "allegro";
+App::$strings["alive"] = "vivace";
+App::$strings["annoyed"] = "seccato";
+App::$strings["anxious"] = "ansioso";
+App::$strings["cranky"] = "irritabile";
+App::$strings["disturbed"] = "turbato";
+App::$strings["frustrated"] = "frustrato";
+App::$strings["depressed"] = "in depressione";
+App::$strings["motivated"] = "motivato";
+App::$strings["relaxed"] = "rilassato";
+App::$strings["surprised"] = "sorpreso";
+App::$strings["Monday"] = "lunedì";
+App::$strings["Tuesday"] = "martedì";
+App::$strings["Wednesday"] = "mercoledì";
+App::$strings["Thursday"] = "giovedì";
+App::$strings["Friday"] = "venerdì";
+App::$strings["Saturday"] = "sabato";
+App::$strings["Sunday"] = "domenica";
+App::$strings["January"] = "gennaio";
+App::$strings["February"] = "febbraio";
+App::$strings["March"] = "marzo";
+App::$strings["April"] = "aprile";
+App::$strings["May"] = "Mag";
+App::$strings["June"] = "giugno";
+App::$strings["July"] = "luglio";
+App::$strings["August"] = "agosto";
+App::$strings["September"] = "settembre";
+App::$strings["October"] = "ottobre";
+App::$strings["November"] = "novembre";
+App::$strings["December"] = "dicembre";
+App::$strings["Unknown Attachment"] = "Allegato non riconoscuto";
+App::$strings["unknown"] = "sconosciuta";
+App::$strings["remove category"] = "rimuovi la categoria";
+App::$strings["remove from file"] = "rimuovi dal file";
+App::$strings["default"] = "predefinito";
+App::$strings["Page layout"] = "Layout della pagina";
+App::$strings["You can create your own with the layouts tool"] = "Puoi creare un tuo layout dalla configurazione delle pagine web";
+App::$strings["Page content type"] = "Tipo di contenuto della pagina";
+App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
+App::$strings["activity"] = "l'attività";
+App::$strings["Design Tools"] = "Strumenti di design";
+App::$strings["Pages"] = "Pagine";
+App::$strings["System"] = "Sistema";
+App::$strings["New App"] = "Nuova app";
+App::$strings["Suggestions"] = "Suggerimenti";
+App::$strings["See more..."] = "Altro...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
+App::$strings["Add New Connection"] = "Aggiungi un contatto";
+App::$strings["Enter channel address"] = "Indirizzo del canale";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
+App::$strings["Notes"] = "Note";
+App::$strings["Remove term"] = "Rimuovi termine";
+App::$strings["Saved Searches"] = "Ricerche salvate";
+App::$strings["add"] = "aggiungi";
+App::$strings["Saved Folders"] = "Cartelle salvate";
+App::$strings["Everything"] = "Tutto";
+App::$strings["Archives"] = "Archivi";
+App::$strings["Refresh"] = "Aggiorna";
+App::$strings["Account settings"] = "Il tuo account";
+App::$strings["Channel settings"] = "Impostazioni del canale";
+App::$strings["Additional features"] = "Funzionalità opzionali";
+App::$strings["Feature/Addon settings"] = "Componenti aggiuntivi";
+App::$strings["Display settings"] = "Aspetto";
+App::$strings["Manage locations"] = "Gestione repliche";
+App::$strings["Export channel"] = "Esporta il canale";
+App::$strings["Connected apps"] = "App connesse";
+App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
+App::$strings["Private Mail Menu"] = "Menu messaggi privati";
+App::$strings["Combined View"] = "Vista combinata";
+App::$strings["Inbox"] = "In arrivo";
+App::$strings["Outbox"] = "Inviati";
+App::$strings["New Message"] = "Nuovo messaggio";
+App::$strings["Conversations"] = "Conversazioni";
+App::$strings["Received Messages"] = "Ricevuti";
+App::$strings["Sent Messages"] = "Inviati";
+App::$strings["No messages."] = "Nessun messaggio.";
+App::$strings["Delete conversation"] = "Elimina la conversazione";
+App::$strings["Events Menu"] = "Menu eventi";
+App::$strings["Day View"] = "Eventi del giorno";
+App::$strings["Week View"] = "Eventi della settimana";
+App::$strings["Month View"] = "Eventi del mese";
+App::$strings["Events Tools"] = "Gestione eventi";
+App::$strings["Export Calendar"] = "Esporta calendario";
+App::$strings["Import Calendar"] = "Importa calendario";
+App::$strings["Chatrooms"] = "Chat";
+App::$strings["Overview"] = "Riepilogo";
+App::$strings["Chat Members"] = "Partecipanti";
+App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
+App::$strings["Suggested Chatrooms"] = "Chat suggerite";
+App::$strings["photo/image"] = "foto/immagine";
+App::$strings["Click to show more"] = "Clicca per mostrare tutto";
+App::$strings["Rating Tools"] = "Valutazione";
+App::$strings["Rate Me"] = "Valutami";
+App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
+App::$strings["Forums"] = "Forum";
+App::$strings["Tasks"] = "Attività";
+App::$strings["Documentation"] = "Guida";
+App::$strings["Project/Site Information"] = "Informazioni sul sito/progetto";
+App::$strings["For Members"] = "Per gli utenti";
+App::$strings["For Administrators"] = "Per gli amministratori";
+App::$strings["For Developers"] = "Per sviluppatori";
+App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
+App::$strings["Inspect queue"] = "Coda di attesa";
+App::$strings["DB updates"] = "Aggiornamenti al DB";
+App::$strings["Admin"] = "Amministrazione";
+App::$strings["Plugin Features"] = "Plugin";
+App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
+App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
+App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
+App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["Public Timeline"] = "Diario pubblico";
+App::$strings["Image/photo"] = "Immagine";
+App::$strings["Encrypted content"] = "Contenuto cifrato";
+App::$strings["Install %s element: "] = "Installa l'elemento %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
+App::$strings["$1 wrote:"] = "$1 ha scritto:";
+App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
+App::$strings["Safe Mode"] = "Modalità SafeSearch";
+App::$strings["Public Forums Only"] = "Solo forum pubblici";
+App::$strings["This Website Only"] = "Solo in questo sito";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+App::$strings["Logout"] = "Esci";
+App::$strings["End this session"] = "Chiudi questa sessione";
+App::$strings["Home"] = "Bacheca";
+App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
+App::$strings["Your profile page"] = "Il tuo profilo";
+App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
+App::$strings["Edit Profile"] = "Modifica il profilo";
+App::$strings["Edit your profile"] = "Modifica il tuo profilo";
+App::$strings["Your photos"] = "Le tue foto";
+App::$strings["Your files"] = "I tuoi file";
+App::$strings["Your chatrooms"] = "Le tue chat";
+App::$strings["Bookmarks"] = "Segnalibri";
+App::$strings["Your bookmarks"] = "I tuoi segnalibri";
+App::$strings["Your webpages"] = "Le tue pagine web";
+App::$strings["Sign in"] = "Accedi";
+App::$strings["%s - click to logout"] = "%s - clicca per uscire";
+App::$strings["Remote authentication"] = "Accedi dal tuo hub";
+App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
+App::$strings["Home Page"] = "Bacheca";
+App::$strings["Create an account"] = "Crea un account";
+App::$strings["Help and documentation"] = "Guida e documentazione";
+App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
+App::$strings["Channel Directory"] = "Elenchi pubblici dei canali";
+App::$strings["Your grid"] = "La tua rete";
+App::$strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete";
+App::$strings["Channel home"] = "Bacheca del canale";
+App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
+App::$strings["Notices"] = "Avvisi";
+App::$strings["Notifications"] = "Notifiche";
+App::$strings["See all notifications"] = "Vedi tutte le notifiche";
+App::$strings["Private mail"] = "Messaggi privati";
+App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
+App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
+App::$strings["Event Calendar"] = "Calendario";
+App::$strings["See all events"] = "Guarda tutti gli eventi";
+App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
+App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
+App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
+App::$strings["Loading..."] = "Caricamento in corso...";
+App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
+App::$strings["Please wait..."] = "Attendere...";
+App::$strings["New window"] = "Nuova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
+App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invito disponibile",
+ 1 => "%d inviti disponibili",
+);
+App::$strings["Find Channels"] = "Ricerca canali";
+App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
+App::$strings["Connect/Follow"] = "Aggiungi";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
+App::$strings["Random Profile"] = "Profilo casuale";
+App::$strings["Invite Friends"] = "Invita amici";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d contatto in comune",
+ 1 => "%d contatti in comune",
+);
+App::$strings["show more"] = "mostra tutto";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
+App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
+App::$strings["Categories:"] = "Categorie:";
+App::$strings["Filed under:"] = "Classificato come:";
+App::$strings["View in context"] = "Vedi nel contesto";
+App::$strings["remove"] = "rimuovi";
+App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
+App::$strings["View Source"] = "Vedi il sorgente";
+App::$strings["Follow Thread"] = "Segui la discussione";
+App::$strings["Unfollow Thread"] = "Non seguire la discussione";
+App::$strings["Activity/Posts"] = "Attività e Post";
+App::$strings["Edit Connection"] = "Modifica il contatto";
+App::$strings["Message"] = "Messaggio";
+App::$strings["%s likes this."] = "Piace a %s.";
+App::$strings["%s doesn't like this."] = "Non piace a %s.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
+);
+App::$strings["and"] = "e";
+App::$strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "e altre %d persone",
+);
+App::$strings["%s like this."] = "Piace a %s.";
+App::$strings["%s don't like this."] = "Non piace a %s.";
+App::$strings["Set your location"] = "La tua località";
+App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
+App::$strings["Tag term:"] = "Tag:";
+App::$strings["Where are you right now?"] = "Dove sei ora?";
+App::$strings["Page link name"] = "Nome del link alla pagina";
+App::$strings["Post as"] = "Pubblica come ";
+App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
+App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
+App::$strings["Set publish date"] = "Data di uscita programmata";
+App::$strings["OK"] = "OK";
+App::$strings["Discover"] = "Scopri";
+App::$strings["Imported public streams"] = "Contenuti pubblici importati";
+App::$strings["Commented Order"] = "Commenti recenti";
+App::$strings["Sort by Comment Date"] = "Per data del commento";
+App::$strings["Posted Order"] = "Post recenti";
+App::$strings["Sort by Post Date"] = "Per data di creazione";
+App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
+App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
+App::$strings["Starred"] = "Preferiti";
+App::$strings["Favourite Posts"] = "Post preferiti";
+App::$strings["Spam"] = "Spam";
+App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
+App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
+App::$strings["About"] = "Informazioni";
+App::$strings["Profile Details"] = "Dettagli del profilo";
+App::$strings["Photo Albums"] = "Album foto";
+App::$strings["Files and Storage"] = "Archivio file";
+App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
+App::$strings["Manage Webpages"] = "Gestisci le pagine web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Partecipa",
+ 1 => "Partecipano",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Non partecipa",
+ 1 => "Non partecipano",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indeciso",
+ 1 => "Indecisi",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "D'accordo",
+ 1 => "D'accordo",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Non d'accordo",
+ 1 => "Non d'accordo",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Astenuto",
+ 1 => "Astenuti",
+);
+App::$strings["Frequently"] = "Frequentemente";
+App::$strings["Hourly"] = "Ogni ora";
+App::$strings["Twice daily"] = "Due volte al giorno";
+App::$strings["Daily"] = "Ogni giorno";
+App::$strings["Weekly"] = "Ogni settimana";
+App::$strings["Monthly"] = "Ogni mese";
+App::$strings["Currently Male"] = "Al momento maschio";
+App::$strings["Currently Female"] = "Al momento femmina";
+App::$strings["Mostly Male"] = "Prevalentemente maschio";
+App::$strings["Mostly Female"] = "Prevalentemente femmina";
+App::$strings["Transgender"] = "Transgender";
+App::$strings["Intersex"] = "Intersex";
+App::$strings["Transsexual"] = "Transessuale";
+App::$strings["Hermaphrodite"] = "Ermafrodito";
+App::$strings["Neuter"] = "Neutro";
+App::$strings["Non-specific"] = "Non specificato";
+App::$strings["Other"] = "Altro";
+App::$strings["Undecided"] = "Indeciso";
+App::$strings["Males"] = "Maschi";
+App::$strings["Females"] = "Femmine";
+App::$strings["Gay"] = "Gay";
+App::$strings["Lesbian"] = "Lesbica";
+App::$strings["No Preference"] = "Senza preferenza";
+App::$strings["Bisexual"] = "Bisessuale";
+App::$strings["Autosexual"] = "Autosessuale";
+App::$strings["Abstinent"] = "Astinente";
+App::$strings["Virgin"] = "Vergine";
+App::$strings["Deviant"] = "Deviato";
+App::$strings["Fetish"] = "Feticista";
+App::$strings["Oodles"] = "Un sacco";
+App::$strings["Nonsexual"] = "Asessuato";
+App::$strings["Single"] = "Single";
+App::$strings["Lonely"] = "Da solo";
+App::$strings["Available"] = "Disponibile";
+App::$strings["Unavailable"] = "Non disponibile";
+App::$strings["Has crush"] = "Ha una cotta";
+App::$strings["Infatuated"] = "Infatuato/a";
+App::$strings["Dating"] = "Disponibile a un incontro";
+App::$strings["Unfaithful"] = "Infedele";
+App::$strings["Sex Addict"] = "Sesso-dipendente";
+App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
+App::$strings["Casual"] = "Casual";
+App::$strings["Engaged"] = "Impegnato";
+App::$strings["Married"] = "Sposato/a";
+App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
+App::$strings["Partners"] = "Partner";
+App::$strings["Cohabiting"] = "Convivente";
+App::$strings["Common law"] = "Matrimonio regolare";
+App::$strings["Happy"] = "Felice";
+App::$strings["Not looking"] = "Non in cerca";
+App::$strings["Swinger"] = "Scambista";
+App::$strings["Betrayed"] = "Tradito/a";
+App::$strings["Separated"] = "Separato/a";
+App::$strings["Unstable"] = "Instabile";
+App::$strings["Divorced"] = "Divorziato/a";
+App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
+App::$strings["Widowed"] = "Vedovo/a";
+App::$strings["Uncertain"] = "Incerto/a";
+App::$strings["It's complicated"] = "Relazione complicata";
+App::$strings["Don't care"] = "Chi se ne frega";
+App::$strings["Ask me"] = "Chiedimelo";
+App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
+App::$strings["Only me"] = "Solo io";
+App::$strings["Public"] = "Pubblico";
+App::$strings["Anybody in the \$Projectname network"] = "Tutti sulla rete \$Projectname";
+App::$strings["Any account on %s"] = "Tutti gli account su %s";
+App::$strings["Any of my connections"] = "Chiunque tra i miei contatti";
+App::$strings["Only connections I specifically allow"] = "Solo chi riceve il mio permesso";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Chiunque sia autenticato (inclusi visitatori di altre reti)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Tutti i contatti inclusi quelli non ancora approvati";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "";
+App::$strings["This is your default setting for who can view your default channel profile"] = "";
+App::$strings["This is your default setting for who can view your connections"] = "";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "";
+App::$strings["This is your default setting for the audience of your webpages"] = "";
+App::$strings["Not a valid email address"] = "Email non valida";
+App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
+App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
+App::$strings["An invitation is required."] = "È necessario un invito.";
+App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
+App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
+App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
+App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
+App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+App::$strings["Administrator"] = "Amministratore";
+App::$strings["your registration password"] = "la password di registrazione";
+App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
+App::$strings["Account approved."] = "Account approvato.";
+App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
+App::$strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
+App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
+App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
+App::$strings["Item was not found."] = "Elemento non trovato.";
+App::$strings["No source file."] = "Nessun file di origine.";
+App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+App::$strings["Path not available."] = "Percorso non disponibile.";
+App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
+App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
+App::$strings["Path not found."] = "Percorso del file non trovato.";
+App::$strings["mkdir failed."] = "mkdir fallito.";
+App::$strings["database storage failed."] = "scrittura su database fallita.";
+App::$strings["Empty path"] = "La posizione è vuota";
+App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
+App::$strings["Empty name"] = "Nome vuoto";
+App::$strings["Name too long"] = "Nome troppo lungo";
+App::$strings["No account identifier"] = "Account senza identificativo";
+App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
+App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
+App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
+App::$strings["Default Profile"] = "Profilo predefinito";
+App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
+App::$strings["Create New Profile"] = "Crea un nuovo profilo";
+App::$strings["Visible to everybody"] = "Visibile a tutti";
+App::$strings["Gender:"] = "Sesso:";
+App::$strings["Status:"] = "Stato:";
+App::$strings["Homepage:"] = "Home page:";
+App::$strings["Online Now"] = "Online adesso";
+App::$strings["Like this channel"] = "Mi piace questo canale";
+App::$strings["j F, Y"] = "j F Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Compleanno:";
+App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
+App::$strings["Tags:"] = "Tag:";
+App::$strings["Political Views:"] = "Orientamento politico:";
+App::$strings["Religion:"] = "Religione:";
+App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
+App::$strings["Likes:"] = "Mi piace:";
+App::$strings["Dislikes:"] = "Non mi piace:";
+App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
+App::$strings["My other channels:"] = "I miei altri canali:";
+App::$strings["Musical interests:"] = "Gusti musicali:";
+App::$strings["Books, literature:"] = "Libri, letteratura:";
+App::$strings["Television:"] = "Televisione:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
+App::$strings["Love/Romance:"] = "Amore:";
+App::$strings["Work/employment:"] = "Lavoro:";
+App::$strings["School/education:"] = "Scuola:";
+App::$strings["Like this thing"] = "Mi piace";
+App::$strings["General Features"] = "Funzionalità di base";
+App::$strings["Content Expiration"] = "Scadenza";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
+App::$strings["Multiple Profiles"] = "Profili multipli";
+App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+App::$strings["Advanced Profiles"] = "Profili avanzati";
+App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
+App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
+App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
+App::$strings["Web Pages"] = "Pagine web";
+App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+App::$strings["Hide Rating"] = "Nascondi le valutazioni";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove.";
+App::$strings["Private Notes"] = "Note private";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
+App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
+App::$strings["Photo Location"] = "Posizione geografica";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
+App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
+App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato";
+App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
+App::$strings["Expert Mode"] = "Modalità esperto";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
+App::$strings["Premium Channel"] = "Canale premium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
+App::$strings["Post Composition Features"] = "Modalità di scrittura post";
+App::$strings["Large Photos"] = "Foto grandi";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
+App::$strings["Even More Encryption"] = "Cifratura addizionale";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
+App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
+App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
+App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
+App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
+App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+App::$strings["Search by Date"] = "Ricerca per data";
+App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
+App::$strings["Privacy Groups"] = "Gruppi di canali";
+App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
+App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+App::$strings["Network Personal Tab"] = "Attività personale";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+App::$strings["Network New Tab"] = "Contenuti nuovi";
+App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+App::$strings["Affinity Tool"] = "Filtro per affinità";
+App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+App::$strings["Connection Filtering"] = "Filtro sui contatti";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
+App::$strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
+App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
+App::$strings["Community Tagging"] = "Tag della comunità";
+App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
+App::$strings["Post Categories"] = "Categorie dei post";
+App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
+App::$strings["Emoji Reactions"] = "";
+App::$strings["Add emoji reaction ability to posts"] = "";
+App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
+App::$strings["Dislike Posts"] = "Non mi piace";
+App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
+App::$strings["Star Posts"] = "Post con stella";
+App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
+App::$strings["Tag Cloud"] = "Nuvola di tag";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+App::$strings["Embedded content"] = "Contenuti incorporati";
+App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
+App::$strings["Who can see this?"] = "Chi può vederlo?";
+App::$strings["Custom selection"] = "Selezione personalizzata";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "Non mostrare";
+App::$strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "";
+App::$strings["Logged out."] = "Uscita effettuata.";
+App::$strings["Failed authentication"] = "Autenticazione fallita";
+App::$strings["Birthday"] = "Compleanno";
+App::$strings["Age: "] = "Età:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
+App::$strings["never"] = "mai";
+App::$strings["less than a second ago"] = "meno di un secondo fa";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "anno",
+ 1 => "anni",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "mese",
+ 1 => "mesi",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "settimana",
+ 1 => "settimane",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "giorno",
+ 1 => "giorni",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "ora",
+ 1 => "ore",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuto",
+ 1 => "minuti",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "secondo",
+ 1 => "secondi",
+);
+App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
+App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
+App::$strings["edit"] = "modifica";
+App::$strings["Edit group"] = "Modifica il gruppo";
+App::$strings["Add privacy group"] = "Crea un gruppo di canali";
+App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
+App::$strings["Delete this item?"] = "Eliminare questo elemento?";
+App::$strings["[-] show less"] = "[-] riduci";
+App::$strings["[+] expand"] = "[+] mostra tutto";
+App::$strings["[-] collapse"] = "[-] riduci";
+App::$strings["Password too short"] = "Password troppo corta";
+App::$strings["Passwords do not match"] = "Le password non corrispondono";
+App::$strings["everybody"] = "tutti";
+App::$strings["Secret Passphrase"] = "Parola chiave per decifrare";
+App::$strings["Passphrase hint"] = "Suggerimento per la parola chiave";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Nota: i permessi sono stati modificati ma non ancora salvati.";
+App::$strings["close all"] = "chiudi tutto";
+App::$strings["Nothing new here"] = "Niente di nuovo qui";
+App::$strings["Rate This Channel (this is public)"] = "Valuta questo canale (visibile a tutti)";
+App::$strings["Describe (optional)"] = "Descrizione (facoltativa)";
+App::$strings["Please enter a link URL"] = "Inserisci l'URL di un link";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "fa";
+App::$strings["from now"] = "da adesso";
+App::$strings["less than a minute"] = "meno di un minuto";
+App::$strings["about a minute"] = "circa un minuto";
+App::$strings["%d minutes"] = "%d minuti";
+App::$strings["about an hour"] = "circa un’ora";
+App::$strings["about %d hours"] = "circa %d ore";
+App::$strings["a day"] = "un giorno";
+App::$strings["%d days"] = "%d giorni";
+App::$strings["about a month"] = "circa un mese";
+App::$strings["%d months"] = "%d mesi";
+App::$strings["about a year"] = "circa un anno";
+App::$strings["%d years"] = "%d anni";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "maggio";
+App::$strings["Jan"] = "Gen";
+App::$strings["Feb"] = "Feb";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Apr";
+App::$strings["__ctx:short__ May"] = "maggio";
+App::$strings["Jun"] = "Mag";
+App::$strings["Jul"] = "Giu";
+App::$strings["Aug"] = "Ago";
+App::$strings["Sep"] = "Set";
+App::$strings["Oct"] = "Ott";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Dic";
+App::$strings["Sun"] = "Dom";
+App::$strings["Mon"] = "Lun";
+App::$strings["Tue"] = "Mar";
+App::$strings["Wed"] = "Mer";
+App::$strings["Thu"] = "Gio";
+App::$strings["Fri"] = "Ven";
+App::$strings["Sat"] = "Sab";
+App::$strings["__ctx:calendar__ today"] = "oggi";
+App::$strings["__ctx:calendar__ month"] = "mese";
+App::$strings["__ctx:calendar__ week"] = "settimana";
+App::$strings["__ctx:calendar__ day"] = "giorno";
+App::$strings["__ctx:calendar__ All day"] = "Tutto il giorno";
+App::$strings["view full size"] = "guarda nelle dimensioni reali";
+App::$strings["No Subject"] = "Nessun titolo";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
+App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
+App::$strings["Photo storage failed."] = "Impossibile salvare la foto.";
+App::$strings["a new photo"] = "una nuova foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha pubblicato %2\$s su %3\$s";
+App::$strings["Upload New Photos"] = "Carica nuove foto";
+App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
+App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
+App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
+App::$strings["New Page"] = "Nuova pagina web";
+App::$strings["Title"] = "Titolo";
+App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
+App::$strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
+App::$strings["Can view my connections"] = "Può vedere i miei contatti";
+App::$strings["Can view my file storage and photos"] = "Può vedere il mio archivio file e foto";
+App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
+App::$strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
+App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
+App::$strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post";
+App::$strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
+App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto";
+App::$strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
+App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
+App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
+App::$strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto";
+App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
+App::$strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
+App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
+App::$strings["Social Networking"] = "Social network";
+App::$strings["Social - Mostly Public"] = "Social - Prevalentemente pubblico";
+App::$strings["Social - Restricted"] = "Social - Con restrizioni";
+App::$strings["Social - Private"] = "Social - Privato";
+App::$strings["Community Forum"] = "Forum di discussione";
+App::$strings["Forum - Mostly Public"] = "Social - Prevalentemente pubblico";
+App::$strings["Forum - Restricted"] = "Forum - Con restrizioni";
+App::$strings["Forum - Private"] = "Forum - Privato";
+App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
+App::$strings["Feed - Mostly Public"] = "Feed - Prevalentemente pubblico";
+App::$strings["Feed - Restricted"] = "Feed - Con restrizioni";
+App::$strings["Special Purpose"] = "Per finalità speciali";
+App::$strings["Special - Celebrity/Soapbox"] = "Speciale - Pagina per fan";
+App::$strings["Special - Group Repository"] = "Speciale - Repository di gruppo";
+App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
+App::$strings[" and "] = "e";
+App::$strings["public profile"] = "profilo pubblico";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+App::$strings["Attachments:"] = "Allegati:";
+App::$strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
App::$strings["Focus (Hubzilla default)"] = "Focus (predefinito)";
App::$strings["Theme settings"] = "Impostazioni del tema";
App::$strings["Select scheme"] = "Scegli uno schema";
@@ -2270,6 +2289,8 @@ App::$strings["Left align page content"] = "Allinea a sinistra il contenuto dell
App::$strings["Set minimum opacity of nav bar - to hide it"] = "Opacità minima della barra di navigazione - per nasconderla";
App::$strings["Set size of conversation author photo"] = "Dimensione foto dell'autore della conversazione";
App::$strings["Set size of followup author photos"] = "Dimensione foto dei partecipanti alla conversazione";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Cerca %1\$s (%2\$s)";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
App::$strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
App::$strings["Update Error at %s"] = "Errore di aggiornamento su %s";
App::$strings["Create an account to access services and applications within the Hubzilla"] = "Registrati per accedere ai servizi e alle applicazioni di Hubzilla";
diff --git a/view/it/messages.po b/view/it/messages.po
index 5efed0fd8..8f9008998 100644
--- a/view/it/messages.po
+++ b/view/it/messages.po
@@ -3,19 +3,20 @@
# This file is distributed under the same license as the Red package.
#
# Translators:
+# Davide Pesenti <mrjive@mrjive.it>, 2016
# fabrixxm <fabrix.xm@gmail.com>, 2011
# fabrixxm <fabrix.xm@gmail.com>, 2011-2012
# Francesco Apruzzese <cescoap@gmail.com>, 2012-2013
# ufic <marco@carnazzo.it>, 2012
-# tuscanhobbit <pynolo@tarine.net>, 2012
-# tuscanhobbit <pynolo@tarine.net>, 2013-2015
+# Paolo Wave <pynolo@tarine.net>, 2012
+# Paolo Wave <pynolo@tarine.net>, 2013-2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-17 16:47-0700\n"
-"PO-Revision-Date: 2015-10-24 10:03+0000\n"
-"Last-Translator: tuscanhobbit <pynolo@tarine.net>\n"
+"POT-Creation-Date: 2016-05-20 00:01-0700\n"
+"PO-Revision-Date: 2016-03-09 09:28+0000\n"
+"Last-Translator: Davide Pesenti <mrjive@mrjive.it>\n"
"Language-Team: Italian (http://www.transifex.com/Friendica/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,104 +24,6 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Non trovo le informazioni DNS per il database server '%s'"
-
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
-#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
-msgid "Profile Photos"
-msgstr "Foto del profilo"
-
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:255
-#: ../../mod/connections.php:242 ../../mod/connections.php:255
-#: ../../mod/connections.php:274 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:106 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Modifica"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ogni ora"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Due volte al giorno"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ogni giorno"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ogni settimana"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ogni mese"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1552
-msgid "Email"
-msgstr "Email"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Ha creato un nuovo post"
-
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "ha commentato il post di %s"
-
#: ../../include/Import/import_diaspora.php:17
msgid "No username found in import file."
msgstr "Impossibile trovare il nome utente nel file da importare."
@@ -133,478 +36,446 @@ msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è falli
msgid "Import completed."
msgstr "L'importazione è terminata con successo!"
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."
-
-#: ../../include/group.php:235
-msgid "Default privacy group for new contacts"
-msgstr "Insieme predefinito per i canali che inizi a seguire"
-
-#: ../../include/group.php:254 ../../mod/admin.php:831
-msgid "All Channels"
-msgstr "Tutti i canali"
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:265
+msgid "parent"
+msgstr "cartella superiore"
-#: ../../include/group.php:276
-msgid "edit"
-msgstr "modifica"
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2561
+msgid "Collection"
+msgstr "Cartella"
-#: ../../include/group.php:298
-msgid "Collections"
-msgstr "Insiemi di canali"
+#: ../../include/RedDAV/RedBrowser.php:134
+msgid "Principal"
+msgstr "Principale"
-#: ../../include/group.php:299
-msgid "Edit collection"
-msgstr "Modifica l'insieme di canali"
+#: ../../include/RedDAV/RedBrowser.php:137
+msgid "Addressbook"
+msgstr "Rubrica"
-#: ../../include/group.php:300
-msgid "Add new collection"
-msgstr "Nuovo insieme"
+#: ../../include/RedDAV/RedBrowser.php:140
+msgid "Calendar"
+msgstr "Calendario"
-#: ../../include/group.php:301
-msgid "Channels not in any collection"
-msgstr "Canali che non sono in un insieme"
+#: ../../include/RedDAV/RedBrowser.php:143
+msgid "Schedule Inbox"
+msgstr "Appuntamenti ricevuti"
-#: ../../include/group.php:303 ../../include/widgets.php:275
-msgid "add"
-msgstr "aggiungi"
+#: ../../include/RedDAV/RedBrowser.php:146
+msgid "Schedule Outbox"
+msgstr "Appuntamenti inviati"
-#: ../../include/account.php:27
-msgid "Not a valid email address"
-msgstr "Email non valida"
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:336
+#: ../../include/apps.php:387 ../../include/conversation.php:1030
+#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+msgid "Unknown"
+msgstr "Sconosciuto"
-#: ../../include/account.php:29
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
+#: ../../include/RedDAV/RedBrowser.php:227
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s occupati"
-#: ../../include/account.php:35
-msgid "Your email address is already registered at this site."
-msgstr "La tua email è già registrata su questo sito."
+#: ../../include/RedDAV/RedBrowser.php:232
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s occupati di %2$s (%3$s&#37;)"
-#: ../../include/account.php:67
-msgid "An invitation is required."
-msgstr "È necessario un invito."
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/apps.php:135 ../../include/conversation.php:1620
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Archivio file"
-#: ../../include/account.php:71
-msgid "Invitation could not be verified."
-msgstr "L'invito non può essere verificato."
+#: ../../include/RedDAV/RedBrowser.php:253
+msgid "Total"
+msgstr "Totale"
-#: ../../include/account.php:121
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
+#: ../../include/RedDAV/RedBrowser.php:255
+msgid "Shared"
+msgstr "Condiviso"
-#: ../../include/account.php:188
-msgid "Failed to store account information."
-msgstr "Non è stato possibile salvare le informazioni del tuo account."
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152
+#: ../../mod/layouts.php:175 ../../mod/menu.php:112
+#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180
+msgid "Create"
+msgstr "Crea"
-#: ../../include/account.php:246
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrazione di %s confermata"
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:718
+#: ../../mod/photos.php:1248 ../../mod/profile_photo.php:362
+msgid "Upload"
+msgstr "Carica"
-#: ../../include/account.php:312
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
+#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../mod/sharedwithme.php:95
+msgid "Name"
+msgstr "Nome"
-#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
-msgid "Administrator"
-msgstr "Amministratore"
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "Type"
+msgstr "Tipo"
-#: ../../include/account.php:336
-msgid "your registration password"
-msgstr "la password di registrazione"
+#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+msgid "Size"
+msgstr "Dimensione"
-#: ../../include/account.php:339 ../../include/account.php:399
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+msgid "Last Modified"
+msgstr "Ultima modifica"
-#: ../../include/account.php:408
-msgid "Account approved."
-msgstr "Account approvato."
+#: ../../include/RedDAV/RedBrowser.php:266 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:108
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../mod/blocks.php:153 ../../mod/connections.php:242
+#: ../../mod/connections.php:255 ../../mod/connections.php:274
+#: ../../mod/editblock.php:134 ../../mod/editlayout.php:133
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:178
+#: ../../mod/settings.php:650 ../../mod/layouts.php:183 ../../mod/menu.php:106
+#: ../../mod/thing.php:255 ../../mod/webpages.php:181
+msgid "Edit"
+msgstr "Modifica"
-#: ../../include/account.php:447
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
+#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/apps.php:255 ../../include/conversation.php:671
+#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/photos.php:1062
+#: ../../mod/blocks.php:155 ../../mod/connedit.php:563
+#: ../../mod/editblock.php:180 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:225 ../../mod/group.php:176
+#: ../../mod/settings.php:651 ../../mod/thing.php:256
+#: ../../mod/webpages.php:183
+msgid "Delete"
+msgstr "Elimina"
-#: ../../include/account.php:492
-msgid "Account verified. Please login."
-msgstr "Registrazione verificata. Adesso puoi effettuare login."
+#: ../../include/RedDAV/RedBrowser.php:302
+msgid "Create new folder"
+msgstr "Crea una nuova cartella"
-#: ../../include/account.php:705 ../../include/account.php:707
-msgid "Click here to upgrade."
-msgstr "Clicca qui per aggiornare."
+#: ../../include/RedDAV/RedBrowser.php:304
+msgid "Upload file"
+msgstr "Carica un file"
-#: ../../include/account.php:713
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Questa operazione supera i limiti del tuo abbonamento."
+#: ../../include/dba/dba_driver.php:141
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Non trovo le informazioni DNS per il database server '%s'"
-#: ../../include/account.php:718
-msgid "This action is not available under your subscription plan."
-msgstr "Questa operazione non è prevista dal tuo abbonamento."
+#: ../../include/photo/photo_driver.php:703 ../../mod/photos.php:92
+#: ../../mod/photos.php:637 ../../mod/profile_photo.php:143
+#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
+msgid "Profile Photos"
+msgstr "Foto del profilo"
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Altro"
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+msgid "Logout"
+msgstr "Esci"
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-GG oppure MM-GG"
+#: ../../include/nav.php:87 ../../include/nav.php:120
+msgid "End this session"
+msgstr "Chiudi questa sessione"
-#: ../../include/datetime.php:235 ../../mod/events.php:672
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
-msgstr "Obbligatorio"
+#: ../../include/nav.php:90 ../../include/nav.php:151
+msgid "Home"
+msgstr "Bacheca"
-#: ../../include/datetime.php:262 ../../boot.php:2353
-msgid "never"
-msgstr "mai"
+#: ../../include/nav.php:90
+msgid "Your posts and conversations"
+msgstr "I tuoi post e conversazioni"
-#: ../../include/datetime.php:268
-msgid "less than a second ago"
-msgstr "meno di un secondo fa"
+#: ../../include/nav.php:91 ../../include/conversation.php:953
+#: ../../mod/connedit.php:510
+msgid "View Profile"
+msgstr "Profilo"
-#: ../../include/datetime.php:271
-msgid "year"
-msgstr "anno"
+#: ../../include/nav.php:91
+msgid "Your profile page"
+msgstr "Il tuo profilo"
-#: ../../include/datetime.php:271
-msgid "years"
-msgstr "anni"
+#: ../../include/nav.php:93
+msgid "Edit Profiles"
+msgstr "Modifica i profili"
-#: ../../include/datetime.php:272
-msgid "month"
-msgstr "mese"
+#: ../../include/nav.php:93
+msgid "Manage/Edit profiles"
+msgstr "Gestisci/modifica i profili"
-#: ../../include/datetime.php:272
-msgid "months"
-msgstr "mesi"
+#: ../../include/nav.php:95 ../../include/identity.php:979
+msgid "Edit Profile"
+msgstr "Modifica il profilo"
-#: ../../include/datetime.php:273
-msgid "week"
-msgstr "settimana"
+#: ../../include/nav.php:95
+msgid "Edit your profile"
+msgstr "Modifica il profilo"
-#: ../../include/datetime.php:273
-msgid "weeks"
-msgstr "settimane"
+#: ../../include/nav.php:97 ../../include/apps.php:139
+#: ../../include/conversation.php:1611 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foto"
-#: ../../include/datetime.php:274
-msgid "day"
-msgstr "giorno"
+#: ../../include/nav.php:97
+msgid "Your photos"
+msgstr "Le tue foto"
-#: ../../include/datetime.php:274
-msgid "days"
-msgstr "giorni"
+#: ../../include/nav.php:98
+msgid "Your files"
+msgstr "I tuoi file"
-#: ../../include/datetime.php:275
-msgid "hour"
-msgstr "ora"
+#: ../../include/nav.php:103 ../../include/apps.php:146
+msgid "Chat"
+msgstr "Area chat"
-#: ../../include/datetime.php:275
-msgid "hours"
-msgstr "ore"
+#: ../../include/nav.php:103
+msgid "Your chatrooms"
+msgstr "Le tue aree chat"
-#: ../../include/datetime.php:276
-msgid "minute"
-msgstr "minuto"
+#: ../../include/nav.php:109 ../../include/apps.php:129
+#: ../../include/conversation.php:1646
+msgid "Bookmarks"
+msgstr "Segnalibri"
-#: ../../include/datetime.php:276
-msgid "minutes"
-msgstr "minuti"
+#: ../../include/nav.php:109
+msgid "Your bookmarks"
+msgstr "I tuoi segnalibri"
-#: ../../include/datetime.php:277
-msgid "second"
-msgstr "secondo"
+#: ../../include/nav.php:113 ../../include/apps.php:136
+#: ../../include/conversation.php:1656 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "Pagine web"
-#: ../../include/datetime.php:277
-msgid "seconds"
-msgstr "secondi"
+#: ../../include/nav.php:113
+msgid "Your webpages"
+msgstr "Le tue pagine web"
-#: ../../include/datetime.php:285
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s fa"
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+msgid "Login"
+msgstr "Accedi"
-#: ../../include/datetime.php:519
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Compleanno di %1$s"
+#: ../../include/nav.php:117
+msgid "Sign in"
+msgstr "Accedi"
-#: ../../include/datetime.php:520
+#: ../../include/nav.php:134
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Buon compleanno %1$s"
-
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opzioni elenco pubblico"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
+msgid "%s - click to logout"
+msgstr "%s - clicca per uscire"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:159 ../../mod/mitem.php:160
-#: ../../mod/mitem.php:232 ../../mod/mitem.php:233 ../../mod/menu.php:94
-#: ../../mod/menu.php:151 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:647 ../../mod/connedit.php:675
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1554
-msgid "No"
-msgstr "No"
+#: ../../include/nav.php:137
+msgid "Remote authentication"
+msgstr "Accedi dal tuo hub"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:159 ../../mod/mitem.php:160
-#: ../../mod/mitem.php:232 ../../mod/mitem.php:233 ../../mod/menu.php:94
-#: ../../mod/menu.php:151 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1554
-msgid "Yes"
-msgstr "Si"
+#: ../../include/nav.php:137
+msgid "Click to authenticate to your home hub"
+msgstr "Accedi tramite il tuo hub principale"
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Solo forum pubblici"
+#: ../../include/nav.php:151
+msgid "Home Page"
+msgstr "Bacheca"
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Solo in questo sito"
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+msgid "Register"
+msgstr "Iscriviti"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Nuova pagina web"
+#: ../../include/nav.php:155
+msgid "Create an account"
+msgstr "Crea un account"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
-msgid "View"
-msgstr "Guarda"
+#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
+#: ../../mod/help.php:72 ../../mod/layouts.php:176
+msgid "Help"
+msgstr "Guida"
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1166 ../../mod/webpages.php:188
-#: ../../mod/events.php:690 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
-msgid "Preview"
-msgstr "Anteprima"
+#: ../../include/nav.php:160
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
-msgid "Actions"
-msgstr "Azioni"
+#: ../../include/nav.php:163 ../../include/widgets.php:91
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "Apps"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
-msgid "Page Link"
-msgstr "Link alla pagina"
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Applicazioni, utilità, link, giochi"
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Titolo"
+#: ../../include/nav.php:165 ../../include/text.php:914
+#: ../../include/text.php:926 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Cerca"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:108 ../../mod/layouts.php:181
-msgid "Created"
-msgstr "Creato"
+#: ../../include/nav.php:165
+msgid "Search site content"
+msgstr "Cerca nel sito"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:109 ../../mod/layouts.php:182
-msgid "Edited"
-msgstr "Modificato"
+#: ../../include/nav.php:168 ../../include/apps.php:141
+msgid "Directory"
+msgstr "Elenco pubblico"
-#: ../../include/api.php:1267
-msgid "Public Timeline"
-msgstr "Diario pubblico"
+#: ../../include/nav.php:168
+msgid "Channel Directory"
+msgstr "Elenco pubblico canali"
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Predefinito"
+#: ../../include/nav.php:180 ../../include/apps.php:133
+msgid "Matrix"
+msgstr "RedMatrix"
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Eliminare questo elemento?"
+#: ../../include/nav.php:180
+msgid "Your matrix"
+msgstr "La tua rete"
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
-msgid "Comment"
-msgstr "Commento"
+#: ../../include/nav.php:181
+msgid "Mark all matrix notifications seen"
+msgstr "Segna come lette le notifiche della tua rete"
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
-msgid "[+] show all"
-msgstr "[+] mostra tutto"
+#: ../../include/nav.php:183 ../../include/apps.php:137
+msgid "Channel Home"
+msgstr "Bacheca del canale"
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] riduci"
+#: ../../include/nav.php:183
+msgid "Channel home"
+msgstr "Bacheca del canale"
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] mostra tutto"
+#: ../../include/nav.php:184
+msgid "Mark all channel notifications seen"
+msgstr "Segna come lette le notifiche del canale"
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] riduci"
+#: ../../include/nav.php:187 ../../mod/connections.php:267
+msgid "Connections"
+msgstr "Contatti"
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Password troppo corta"
+#: ../../include/nav.php:190
+msgid "Notices"
+msgstr "Avvisi"
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Le password non corrispondono"
+#: ../../include/nav.php:190
+msgid "Notifications"
+msgstr "Notifiche"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
-msgid "everybody"
-msgstr "tutti"
+#: ../../include/nav.php:191
+msgid "See all notifications"
+msgstr "Vedi tutte le notifiche"
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Chiave segreta"
+#: ../../include/nav.php:192 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Segna come lette le notifiche di sistema"
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Suggerimento per la chiave segreta"
+#: ../../include/nav.php:194 ../../include/apps.php:143
+msgid "Mail"
+msgstr "Messaggi"
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Nota: i permessi sono stati modificati ma non ancora salvati."
+#: ../../include/nav.php:194
+msgid "Private mail"
+msgstr "Messaggi privati"
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "chiudi tutto"
+#: ../../include/nav.php:195
+msgid "See all private messages"
+msgstr "Guarda tutti i messaggi privati"
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Niente di nuovo qui"
+#: ../../include/nav.php:196
+msgid "Mark all private messages seen"
+msgstr "Segna come letti tutti i messaggi privati"
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Valuta questo canale (visibile a tutti)"
+#: ../../include/nav.php:197
+msgid "Inbox"
+msgstr "In arrivo"
-#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:683
-msgid "Rating"
-msgstr "Valutazioni"
+#: ../../include/nav.php:198
+msgid "Outbox"
+msgstr "Inviati"
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Descrizione (facoltativa)"
+#: ../../include/nav.php:199 ../../include/widgets.php:577
+msgid "New Message"
+msgstr "Nuovo messaggio"
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:303
-#: ../../mod/thing.php:346 ../../mod/events.php:511 ../../mod/events.php:693
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:592 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:235 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:704 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Salva"
+#: ../../include/nav.php:202 ../../include/apps.php:140
+#: ../../mod/events.php:503
+msgid "Events"
+msgstr "Eventi"
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Inserisci l'URL di un link"
+#: ../../include/nav.php:202
+msgid "Event Calendar"
+msgstr "Calendario"
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"
+#: ../../include/nav.php:203
+msgid "See all events"
+msgstr "Guarda tutti gli eventi"
-#: ../../include/js_strings.php:26
-msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
+#: ../../include/nav.php:204
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
+#: ../../include/nav.php:206 ../../include/apps.php:132
+#: ../../mod/manage.php:166
+msgid "Channel Manager"
+msgstr "Gestione canali"
-#: ../../include/js_strings.php:28
-msgid "ago"
-msgstr "fa"
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Gestisci i tuoi canali"
-#: ../../include/js_strings.php:29
-msgid "from now"
-msgstr "da adesso"
+#: ../../include/nav.php:208 ../../include/widgets.php:556
+#: ../../include/apps.php:134 ../../mod/admin.php:1079
+#: ../../mod/admin.php:1279
+msgid "Settings"
+msgstr "Impostazioni"
-#: ../../include/js_strings.php:30
-msgid "less than a minute"
-msgstr "meno di un minuto"
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Impostazioni dell'account e del canale"
-#: ../../include/js_strings.php:31
-msgid "about a minute"
-msgstr "circa un minuto"
+#: ../../include/nav.php:216 ../../mod/admin.php:120
+msgid "Admin"
+msgstr "Amministrazione"
-#: ../../include/js_strings.php:32
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuti"
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Installazione e configurazione del sito"
-#: ../../include/js_strings.php:33
-msgid "about an hour"
-msgstr "circa un’ora"
+#: ../../include/nav.php:247 ../../include/conversation.php:861
+msgid "Loading..."
+msgstr "Caricamento in corso..."
-#: ../../include/js_strings.php:34
-#, php-format
-msgid "about %d hours"
-msgstr "circa %d ore"
+#: ../../include/nav.php:252
+msgid "@name, #tag, content"
+msgstr "@nome, #tag, testo"
-#: ../../include/js_strings.php:35
-msgid "a day"
-msgstr "un giorno"
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Attendere..."
-#: ../../include/js_strings.php:36
-#, php-format
-msgid "%d days"
-msgstr "%d giorni"
+#: ../../include/network.php:650
+msgid "view full size"
+msgstr "guarda nelle dimensioni reali"
-#: ../../include/js_strings.php:37
-msgid "about a month"
-msgstr "circa un mese"
+#: ../../include/network.php:1600 ../../include/enotify.php:58
+msgid "$Projectname Notification"
+msgstr "Notifica $Projectname"
-#: ../../include/js_strings.php:38
-#, php-format
-msgid "%d months"
-msgstr "%d mesi"
+#: ../../include/network.php:1601 ../../include/diaspora.php:2526
+#: ../../include/diaspora.php:2537 ../../include/enotify.php:59
+#: ../../mod/p.php:46
+msgid "$projectname"
+msgstr "$projectname"
-#: ../../include/js_strings.php:39
-msgid "about a year"
-msgstr "circa un anno"
+#: ../../include/network.php:1603 ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Grazie,"
-#: ../../include/js_strings.php:40
+#: ../../include/network.php:1605 ../../include/enotify.php:63
#, php-format
-msgid "%d years"
-msgstr "%d anni"
+msgid "%s Administrator"
+msgstr "L'amministratore di %s"
-#: ../../include/js_strings.php:41
-msgid " "
-msgstr " "
+#: ../../include/network.php:1647 ../../include/account.php:314
+#: ../../include/account.php:341 ../../include/account.php:401
+msgid "Administrator"
+msgstr "Amministratore"
-#: ../../include/js_strings.php:42
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
+#: ../../include/network.php:1661
+msgid "No Subject"
+msgstr "Nessun titolo"
#: ../../include/text.php:391
msgid "prev"
@@ -645,16 +516,10 @@ msgstr[1] "%d contatti"
msgid "View Connections"
msgstr "Elenco contatti"
-#: ../../include/text.php:914 ../../include/text.php:926
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Cerca"
-
#: ../../include/text.php:915 ../../include/text.php:927
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
+#: ../../include/widgets.php:192 ../../mod/admin.php:1457
+#: ../../mod/admin.php:1477 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50
msgid "Save"
msgstr "Salva"
@@ -664,7 +529,7 @@ msgstr "poke"
#: ../../include/text.php:990 ../../include/conversation.php:243
msgid "poked"
-msgstr "ha ricevuto un poke"
+msgstr "ha mandato un poke"
#: ../../include/text.php:991
msgid "ping"
@@ -883,486 +748,86 @@ msgstr "rimuovi la categoria"
msgid "remove from file"
msgstr "rimuovi dal file"
-#: ../../include/text.php:1494 ../../include/text.php:1505
+#: ../../include/text.php:1506 ../../include/text.php:1517
msgid "Click to open/close"
msgstr "Clicca per aprire/chiudere"
-#: ../../include/text.php:1661 ../../mod/events.php:474
+#: ../../include/text.php:1673 ../../mod/events.php:474
msgid "Link to Source"
msgstr "Link al sito d'origine"
-#: ../../include/text.php:1682 ../../include/text.php:1753
+#: ../../include/text.php:1694 ../../include/text.php:1765
msgid "default"
msgstr "predefinito"
-#: ../../include/text.php:1690
+#: ../../include/text.php:1702
msgid "Page layout"
msgstr "Layout della pagina"
-#: ../../include/text.php:1690
+#: ../../include/text.php:1702
msgid "You can create your own with the layouts tool"
msgstr "Con la configurazione del layout puoi crearne uno tuo"
-#: ../../include/text.php:1731
+#: ../../include/text.php:1743
msgid "Page content type"
msgstr "Tipo di contenuto della pagina"
-#: ../../include/text.php:1765
+#: ../../include/text.php:1777
msgid "Select an alternate language"
msgstr "Seleziona una lingua diversa"
-#: ../../include/text.php:1884 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:349
+#: ../../include/text.php:1896 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
#: ../../mod/tagger.php:43
msgid "photo"
msgstr "la foto"
-#: ../../include/text.php:1887 ../../include/conversation.php:123
+#: ../../include/text.php:1899 ../../include/conversation.php:123
#: ../../mod/like.php:351 ../../mod/tagger.php:47
msgid "event"
msgstr "l'evento"
-#: ../../include/text.php:1890 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:349
+#: ../../include/text.php:1902 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2123 ../../mod/like.php:349
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
msgid "status"
msgstr "il messaggio di stato"
-#: ../../include/text.php:1892 ../../include/conversation.php:150
+#: ../../include/text.php:1904 ../../include/conversation.php:150
#: ../../mod/tagger.php:53
msgid "comment"
msgstr "il commento"
-#: ../../include/text.php:1897
+#: ../../include/text.php:1909
msgid "activity"
msgstr "l'attività"
-#: ../../include/text.php:2192
+#: ../../include/text.php:2204
msgid "Design Tools"
msgstr "Strumenti di design"
-#: ../../include/text.php:2195 ../../mod/blocks.php:147
+#: ../../include/text.php:2207 ../../mod/blocks.php:147
msgid "Blocks"
msgstr "Riquadri"
-#: ../../include/text.php:2196 ../../mod/menu.php:101
+#: ../../include/text.php:2208 ../../mod/menu.php:101
msgid "Menus"
msgstr "Menù"
-#: ../../include/text.php:2197 ../../mod/layouts.php:174
+#: ../../include/text.php:2209 ../../mod/layouts.php:174
msgid "Layouts"
msgstr "Layout"
-#: ../../include/text.php:2198
+#: ../../include/text.php:2210
msgid "Pages"
msgstr "Pagine"
-#: ../../include/text.php:2549 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr "Cartella"
-
-#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
-msgid "parent"
-msgstr "cartella superiore"
-
-#: ../../include/RedDAV/RedBrowser.php:134
-msgid "Principal"
-msgstr "Principale"
-
-#: ../../include/RedDAV/RedBrowser.php:137
-msgid "Addressbook"
-msgstr "Rubrica"
-
-#: ../../include/RedDAV/RedBrowser.php:140
-msgid "Calendar"
-msgstr "Calendario"
-
-#: ../../include/RedDAV/RedBrowser.php:143
-msgid "Schedule Inbox"
-msgstr "Appuntamenti ricevuti"
-
-#: ../../include/RedDAV/RedBrowser.php:146
-msgid "Schedule Outbox"
-msgstr "Appuntamenti inviati"
-
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1030
-#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
-msgid "Unknown"
-msgstr "Sconosciuto"
-
-#: ../../include/RedDAV/RedBrowser.php:227
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s occupati"
-
-#: ../../include/RedDAV/RedBrowser.php:232
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s occupati di %2$s (%3$s&#37;)"
-
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1620 ../../include/apps.php:135
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Archivio file"
-
-#: ../../include/RedDAV/RedBrowser.php:253
-msgid "Total"
-msgstr "Totale"
-
-#: ../../include/RedDAV/RedBrowser.php:255
-msgid "Shared"
-msgstr "Condiviso"
-
-#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:112
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
-msgid "Create"
-msgstr "Crea"
-
-#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
-msgid "Upload"
-msgstr "Carica"
-
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
-#: ../../mod/sharedwithme.php:95
-msgid "Name"
-msgstr "Nome"
-
-#: ../../include/RedDAV/RedBrowser.php:262
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
-msgid "Size"
-msgstr "Dimensione"
-
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
-msgid "Last Modified"
-msgstr "Ultima modifica"
-
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
-#: ../../include/conversation.php:671 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:256 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:563
-msgid "Delete"
-msgstr "Elimina"
-
-#: ../../include/RedDAV/RedBrowser.php:302
-msgid "Create new folder"
-msgstr "Crea una nuova cartella"
-
-#: ../../include/RedDAV/RedBrowser.php:304
-msgid "Upload file"
-msgstr "Carica un file"
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "I segnalibri di %1$s"
-
-#: ../../include/network.php:635
-msgid "view full size"
-msgstr "guarda nelle dimensioni reali"
-
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "Notifica $Projectname"
-
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Grazie,"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "L'amministratore di %s"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Nessun titolo"
-
-#: ../../include/features.php:38
-msgid "General Features"
-msgstr "Funzionalità di base"
-
-#: ../../include/features.php:40
-msgid "Content Expiration"
-msgstr "Scadenza"
-
-#: ../../include/features.php:40
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
-
-#: ../../include/features.php:41
-msgid "Multiple Profiles"
-msgstr "Profili multipli"
-
-#: ../../include/features.php:41
-msgid "Ability to create multiple profiles"
-msgstr "Abilitazione a creare profili multipli"
-
-#: ../../include/features.php:42
-msgid "Advanced Profiles"
-msgstr "Profili avanzati"
-
-#: ../../include/features.php:42
-msgid "Additional profile sections and selections"
-msgstr "Informazioni aggiuntive del profilo"
-
-#: ../../include/features.php:43
-msgid "Profile Import/Export"
-msgstr "Importa/esporta il profilo"
-
-#: ../../include/features.php:43
-msgid "Save and load profile details across sites/channels"
-msgstr "Salva o ripristina le informazioni del profilo su canali o siti diversi"
-
-#: ../../include/features.php:44
-msgid "Web Pages"
-msgstr "Pagine web"
-
-#: ../../include/features.php:44
-msgid "Provide managed web pages on your channel"
-msgstr "Attiva la creazione di pagine web sul tuo canale"
-
-#: ../../include/features.php:45
-msgid "Private Notes"
-msgstr "Note private"
-
-#: ../../include/features.php:45
-msgid "Enables a tool to store notes and reminders"
-msgstr "Abilita il riquadro per scrivere annotazioni"
-
-#: ../../include/features.php:46
-msgid "Navigation Channel Select"
-msgstr "Scegli il canale attivo dal menu"
-
-#: ../../include/features.php:46
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-
-#: ../../include/features.php:47
-msgid "Photo Location"
-msgstr "Posizione geografica"
-
-#: ../../include/features.php:47
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
-
-#: ../../include/features.php:49
-msgid "Expert Mode"
-msgstr "Modalità esperto"
-
-#: ../../include/features.php:49
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
-
-#: ../../include/features.php:50
-msgid "Premium Channel"
-msgstr "Canale premium"
-
-#: ../../include/features.php:50
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale"
-
-#: ../../include/features.php:55
-msgid "Post Composition Features"
-msgstr "Modalità di scrittura post"
-
-#: ../../include/features.php:57
-msgid "Use Markdown"
-msgstr "Usa il markdown"
-
-#: ../../include/features.php:57
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Consenti l'uso del markdown per formattare i post"
-
-#: ../../include/features.php:58
-msgid "Large Photos"
-msgstr "Foto grandi"
-
-#: ../../include/features.php:58
-msgid ""
-"Include large (640px) photo thumbnails in posts. If not enabled, use small "
-"(320px) photo thumbnails"
-msgstr "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)"
-
-#: ../../include/features.php:59 ../../include/widgets.php:548
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Sorgenti del canale"
-
-#: ../../include/features.php:59
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-
-#: ../../include/features.php:60
-msgid "Even More Encryption"
-msgstr "Crittografia addizionale"
-
-#: ../../include/features.php:60
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta"
-
-#: ../../include/features.php:61
-msgid "Enable voting tools"
-msgstr "Permetti i post con votazione"
-
-#: ../../include/features.php:61
-msgid "Provide a class of post which others can vote on"
-msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
-
-#: ../../include/features.php:67
-msgid "Network and Stream Filtering"
-msgstr "Filtraggio dei contenuti"
-
-#: ../../include/features.php:68
-msgid "Search by Date"
-msgstr "Ricerca per data"
-
-#: ../../include/features.php:68
-msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare i post in un intervallo tra date"
-
-#: ../../include/features.php:69
-msgid "Collections Filter"
-msgstr "Filtra per insiemi di canali"
-
-#: ../../include/features.php:69
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Mostra il riquadro per filtrare i post di certi insiemi di canali"
-
-#: ../../include/features.php:70 ../../include/widgets.php:274
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
-
-#: ../../include/features.php:70
-msgid "Save search terms for re-use"
-msgstr "Salva i termini delle ricerche per poterle ripetere"
-
-#: ../../include/features.php:71
-msgid "Network Personal Tab"
-msgstr "Attività personale"
-
-#: ../../include/features.php:71
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-
-#: ../../include/features.php:72
-msgid "Network New Tab"
-msgstr "Contenuti nuovi"
-
-#: ../../include/features.php:72
-msgid "Enable tab to display all new Network activity"
-msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-
-#: ../../include/features.php:73
-msgid "Affinity Tool"
-msgstr "Filtro per affinità"
-
-#: ../../include/features.php:73
-msgid "Filter stream activity by depth of relationships"
-msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-
-#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "Filtro sui contatti"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtra con delle parole chiave i post che ricevi"
-
-#: ../../include/features.php:75
-msgid "Suggest Channels"
-msgstr "Suggerisci canali"
-
-#: ../../include/features.php:75
-msgid "Show channel suggestions"
-msgstr "Mostra alcuni canali che potrebbero interessarti"
-
-#: ../../include/features.php:80
-msgid "Post/Comment Tools"
-msgstr "Gestione post e commenti"
-
-#: ../../include/features.php:81
-msgid "Tagging"
-msgstr "Tag"
-
-#: ../../include/features.php:81
-msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su post già esistenti"
-
-#: ../../include/features.php:82
-msgid "Post Categories"
-msgstr "Categorie dei post"
-
-#: ../../include/features.php:82
-msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi post"
-
-#: ../../include/features.php:83 ../../include/widgets.php:304
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
-msgstr "Cartelle salvate"
-
-#: ../../include/features.php:83
-msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in post"
-
-#: ../../include/features.php:84
-msgid "Dislike Posts"
-msgstr "Non mi piace"
-
-#: ../../include/features.php:84
-msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
-
-#: ../../include/features.php:85
-msgid "Star Posts"
-msgstr "Post con stella"
-
-#: ../../include/features.php:85
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per segnare i post preferiti"
-
-#: ../../include/features.php:86
-msgid "Tag Cloud"
-msgstr "Nuvola di tag"
-
-#: ../../include/features.php:86
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:264
msgid "Categories"
msgstr "Categorie"
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Apps"
-
#: ../../include/widgets.php:92
msgid "System"
msgstr "Sistema"
@@ -1381,8 +846,8 @@ msgstr "Modifica una app personale"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
#: ../../include/Contact.php:107 ../../include/conversation.php:956
-#: ../../include/identity.php:956 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
+#: ../../include/identity.php:956 ../../mod/match.php:64
+#: ../../mod/directory.php:316 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Aggiungi"
@@ -1423,6 +888,19 @@ msgstr "Note"
msgid "Remove term"
msgstr "Rimuovi termine"
+#: ../../include/widgets.php:274 ../../include/features.php:70
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
+
+#: ../../include/widgets.php:275 ../../include/group.php:303
+msgid "add"
+msgstr "aggiungi"
+
+#: ../../include/widgets.php:304 ../../include/contact_widgets.php:57
+#: ../../include/features.php:83
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
+
#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
#: ../../include/contact_widgets.php:95
msgid "Everything"
@@ -1442,10 +920,10 @@ msgstr "Famiglia"
#: ../../include/widgets.php:431 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:585
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:585
+#: ../../mod/settings.php:345 ../../mod/settings.php:349
+#: ../../mod/settings.php:350 ../../mod/settings.php:353
+#: ../../mod/settings.php:364
msgid "Friends"
msgstr "Amici"
@@ -1498,14 +976,13 @@ msgstr "Permessi predefiniti dei nuovi contatti"
msgid "Premium Channel Settings"
msgstr "Canale premium - impostazioni"
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
-msgid "Settings"
-msgstr "Impostazioni"
+#: ../../include/widgets.php:548 ../../include/features.php:59
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Sorgenti del canale"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
-#: ../../mod/mail.php:128
+#: ../../include/widgets.php:569 ../../mod/mail.php:128
+#: ../../mod/message.php:31
msgid "Messages"
msgstr "Messaggi"
@@ -1513,10 +990,6 @@ msgstr "Messaggi"
msgid "Check Mail"
msgstr "Controlla i messaggi"
-#: ../../include/widgets.php:577 ../../include/nav.php:199
-msgid "New Message"
-msgstr "Nuovo messaggio"
-
#: ../../include/widgets.php:652
msgid "Chat Rooms"
msgstr "Aree chat attive"
@@ -1545,206 +1018,18 @@ msgstr "Vedi le valutazioni ricevute"
msgid "Public Hubs"
msgstr "Hub pubblici"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Inizio:"
-
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Fine:"
-
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:1007 ../../mod/directory.php:302
-#: ../../mod/events.php:684
-msgid "Location:"
-msgstr "Luogo:"
-
-#: ../../include/event.php:549
-msgid "This event has been added to your calendar."
-msgstr "Questo evento è stato aggiunto al tuo calendario"
-
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[RedMatrix] Nuovo messaggio su %s"
-
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
-
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s ti ha mandato %2$s."
-
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "un messaggio privato"
-
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-
-#: ../../include/enotify.php:158
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
-
-#: ../../include/enotify.php:166
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
-
-#: ../../include/enotify.php:175
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
-
-#: ../../include/enotify.php:186
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[RedMatrix] Nuovo commento di %2$s alla conversazione #%1$d"
-
-#: ../../include/enotify.php:187
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
-
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Visita %s per leggere o commentare la conversazione."
-
-#: ../../include/enotify.php:196
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[RedMatrix] %s ha scritto sulla tua bacheca"
-
-#: ../../include/enotify.php:198
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
-
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
-
-#: ../../include/enotify.php:224
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[RedMatrix] %s ti ha taggato"
-
-#: ../../include/enotify.php:225
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s ti ha taggato su %3$s"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
-
-#: ../../include/enotify.php:238
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[RedMatrix] %1$s ti ha mandato un poke"
-
-#: ../../include/enotify.php:239
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
-
-#: ../../include/enotify.php:240
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-
-#: ../../include/enotify.php:256
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[RedMatrix] %s ha taggato il tuo post"
-
-#: ../../include/enotify.php:257
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
-
-#: ../../include/enotify.php:270
-msgid "[Red:Notify] Introduction received"
-msgstr "[RedMatrix] Hai una richiesta di amicizia"
-
-#: ../../include/enotify.php:271
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
-
-#: ../../include/enotify.php:272
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
-
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Puoi visitare il suo profilo su %s"
-
-#: ../../include/enotify.php:278
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
-
-#: ../../include/enotify.php:285
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[RedMatrix] Ti è stato suggerito un amico"
-
-#: ../../include/enotify.php:286
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
-
-#: ../../include/enotify.php:287
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
-
-#: ../../include/enotify.php:293
-msgid "Name:"
-msgstr "Nome:"
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "Nuova finestra"
-#: ../../include/enotify.php:294
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-#: ../../include/enotify.php:297
+#: ../../include/Contact.php:212
#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Visita %s per approvare o rifiutare il suggerimento."
-
-#: ../../include/enotify.php:508
-msgid "[Red:Notify]"
-msgstr "[RedMatrix]"
+msgid "User '%s' deleted"
+msgstr "Utente '%s' eliminato"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -1762,63 +1047,27 @@ msgstr "Impossibile determinare il mittente."
msgid "Stored post could not be verified."
msgstr "Non è stato possibile verificare il post."
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:397
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s piace %3$s di %2$s"
-
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
-msgstr "La tua scelta"
-
-#: ../../include/diaspora.php:2496
-msgid "Agree"
-msgstr "Sono d'accordo"
-
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
-msgstr "Non sono d'accordo"
-
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
-msgstr "Mi astengo"
-
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "Il canale è bloccato per questo sito."
-
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Manca l'indirizzo del canale."
-
-#: ../../include/follow.php:83
-msgid "Response from remote channel was incomplete."
-msgstr "La risposta dal canale non è completa."
-
-#: ../../include/follow.php:100
-msgid "Channel was deleted and no longer exists."
-msgstr "Il canale è stato rimosso e non esiste più."
-
-#: ../../include/follow.php:135 ../../include/follow.php:206
-msgid "Protocol disabled."
-msgstr "Protocollo disabilitato."
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr "Dati non validi"
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "Protocollo bloccato per questo canale."
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
-#: ../../include/follow.php:179
-msgid "Channel discovery failed."
-msgstr "La ricerca del canale non ha avuto successo."
+#: ../../include/zot.php:2209
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
-#: ../../include/follow.php:195
-msgid "local account not found."
-msgstr "l'account locale non è stato trovato."
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "Ha creato un nuovo post"
-#: ../../include/follow.php:224
-msgid "Cannot connect to yourself."
-msgstr "Non puoi connetterti a te stesso."
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "ha commentato il post di %s"
#: ../../include/ItemObject.php:89 ../../include/conversation.php:678
msgid "Private Message"
@@ -1862,8 +1111,8 @@ msgstr "Mi astengo"
msgid "View all"
msgstr "Vedi tutto"
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1712 ../../include/identity.php:1266
+#: ../../include/ItemObject.php:179 ../../include/conversation.php:1712
+#: ../../include/identity.php:1266 ../../include/taxonomy.php:396
#: ../../mod/photos.php:1019
msgctxt "noun"
msgid "Like"
@@ -1931,467 +1180,603 @@ msgstr "Condividi"
msgid "share"
msgstr "condividi"
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d commento"
msgstr[1] "%d commenti"
-#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
+#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296
#, php-format
msgid "View %s's profile - %s"
msgstr "Guarda il profilo di %s - %s"
-#: ../../include/ItemObject.php:298
+#: ../../include/ItemObject.php:299
msgid "to"
msgstr "a"
-#: ../../include/ItemObject.php:299
+#: ../../include/ItemObject.php:300
msgid "via"
msgstr "via"
-#: ../../include/ItemObject.php:300
+#: ../../include/ItemObject.php:301
msgid "Wall-to-Wall"
msgstr "Da bacheca a bacheca"
-#: ../../include/ItemObject.php:301
+#: ../../include/ItemObject.php:302
msgid "via Wall-To-Wall:"
msgstr "da bacheca a bacheca:"
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:727
+#: ../../include/ItemObject.php:313 ../../include/conversation.php:727
#, php-format
msgid "from %s"
msgstr "da %s"
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:730
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:730
#, php-format
msgid "last edited: %s"
msgstr "ultima modifica: %s"
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:731
+#: ../../include/ItemObject.php:317 ../../include/conversation.php:731
#, php-format
msgid "Expires: %s"
msgstr "Scadenza: %s"
-#: ../../include/ItemObject.php:337
+#: ../../include/ItemObject.php:338
msgid "Save Bookmarks"
msgstr "Salva segnalibro"
-#: ../../include/ItemObject.php:338
+#: ../../include/ItemObject.php:339
msgid "Add to Calendar"
msgstr "Aggiungi al calendario"
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Mark all seen"
msgstr "Marca tutto come letto"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1145
msgctxt "noun"
msgid "Likes"
msgstr "Mi piace"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:355 ../../mod/photos.php:1146
msgctxt "noun"
msgid "Dislikes"
msgstr "Non mi piace"
-#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
+#: ../../include/ItemObject.php:360 ../../include/acl_selectors.php:249
#: ../../mod/photos.php:1151
msgid "Close"
msgstr "Chiudi"
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:748
-#: ../../include/conversation.php:1220 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
-#: ../../mod/mail.php:241 ../../mod/mail.php:356
+#: ../../include/ItemObject.php:365 ../../include/conversation.php:748
+#: ../../include/conversation.php:1220 ../../mod/mail.php:241
+#: ../../mod/mail.php:356 ../../mod/photos.php:962 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:123
+#: ../../mod/editwebpage.php:192
msgid "Please wait"
msgstr "Attendere"
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
+#: ../../include/ItemObject.php:385 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostra tutto"
+
+#: ../../include/ItemObject.php:666 ../../mod/photos.php:978
#: ../../mod/photos.php:1096
msgid "This is you"
msgstr "Questo sei tu"
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1192
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../include/ItemObject.php:668 ../../include/js_strings.php:6
+#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+msgid "Comment"
+msgstr "Commento"
+
+#: ../../include/ItemObject.php:669 ../../include/js_strings.php:22
+#: ../../mod/mail.php:355 ../../mod/admin.php:453 ../../mod/admin.php:819
+#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
+#: ../../mod/admin.php:1397 ../../mod/pconfig.php:108 ../../mod/pdledit.php:58
+#: ../../mod/appman.php:99 ../../mod/photos.php:577 ../../mod/photos.php:654
+#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
+#: ../../mod/poke.php:166 ../../mod/bulksetclose.php:24 ../../mod/poll.php:68
+#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:93
+#: ../../mod/profiles.php:667 ../../mod/connedit.php:704
+#: ../../mod/rate.php:167 ../../mod/events.php:511 ../../mod/events.php:693
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/group.php:81 ../../mod/import.php:592 ../../mod/invite.php:142
+#: ../../mod/settings.php:588 ../../mod/settings.php:692
+#: ../../mod/settings.php:718 ../../mod/settings.php:746
+#: ../../mod/settings.php:769 ../../mod/settings.php:854
+#: ../../mod/settings.php:1050 ../../mod/setup.php:327 ../../mod/setup.php:367
+#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/mitem.php:235 ../../mod/mood.php:134 ../../mod/thing.php:303
+#: ../../mod/thing.php:346 ../../mod/xchan.php:11
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Salva"
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1192
+#: ../../mod/editblock.php:135 ../../mod/editlayout.php:134
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:179
msgid "Bold"
msgstr "Grassetto"
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1193
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1193
+#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:180
msgid "Italic"
msgstr "Corsivo"
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1194
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1194
+#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
+#: ../../mod/editpost.php:109 ../../mod/editwebpage.php:181
msgid "Underline"
msgstr "Sottolineato"
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1195
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1195
+#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
+#: ../../mod/editpost.php:110 ../../mod/editwebpage.php:182
msgid "Quote"
msgstr "Citazione"
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1196
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../include/ItemObject.php:674 ../../include/conversation.php:1196
+#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
+#: ../../mod/editpost.php:111 ../../mod/editwebpage.php:183
msgid "Code"
msgstr "Codice"
-#: ../../include/ItemObject.php:674
+#: ../../include/ItemObject.php:675
msgid "Image"
msgstr "Immagine"
-#: ../../include/ItemObject.php:675
+#: ../../include/ItemObject.php:676
msgid "Insert Link"
msgstr "Collegamento"
-#: ../../include/ItemObject.php:676
+#: ../../include/ItemObject.php:677
msgid "Video"
msgstr "Video"
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1247
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../include/ItemObject.php:678 ../../include/conversation.php:1166
+#: ../../include/page_widgets.php:40 ../../mod/photos.php:982
+#: ../../mod/editblock.php:170 ../../mod/editpost.php:143
+#: ../../mod/editwebpage.php:214 ../../mod/events.php:690
+#: ../../mod/webpages.php:188
+msgid "Preview"
+msgstr "Anteprima"
+
+#: ../../include/ItemObject.php:681 ../../include/conversation.php:1247
+#: ../../mod/mail.php:247 ../../mod/mail.php:361 ../../mod/editpost.php:151
msgid "Encrypt text"
msgstr "Crittografia del testo"
-#: ../../include/Contact.php:124
-msgid "New window"
-msgstr "Nuova finestra"
+#: ../../include/account.php:27
+msgid "Not a valid email address"
+msgstr "Email non valida"
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
+#: ../../include/account.php:29
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-#: ../../include/Contact.php:212
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' eliminato"
+#: ../../include/account.php:35
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
-msgstr "Allegati:"
+#: ../../include/account.php:67
+msgid "An invitation is required."
+msgstr "È necessario un invito."
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "Notifica evento $Projectname:"
+#: ../../include/account.php:71
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1549
-msgid "Logout"
-msgstr "Esci"
+#: ../../include/account.php:121
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
-#: ../../include/nav.php:87 ../../include/nav.php:120
-msgid "End this session"
-msgstr "Chiudi questa sessione"
+#: ../../include/account.php:188
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
-#: ../../include/nav.php:90 ../../include/nav.php:151
-msgid "Home"
-msgstr "Bacheca"
+#: ../../include/account.php:246
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registrazione di %s confermata"
-#: ../../include/nav.php:90
-msgid "Your posts and conversations"
-msgstr "I tuoi post e conversazioni"
+#: ../../include/account.php:312
+#, php-format
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
-#: ../../include/nav.php:91 ../../include/conversation.php:953
-#: ../../mod/connedit.php:510
-msgid "View Profile"
-msgstr "Profilo"
+#: ../../include/account.php:336
+msgid "your registration password"
+msgstr "la password di registrazione"
-#: ../../include/nav.php:91
-msgid "Your profile page"
-msgstr "Il tuo profilo"
+#: ../../include/account.php:339 ../../include/account.php:399
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
-#: ../../include/nav.php:93
-msgid "Edit Profiles"
-msgstr "Modifica i profili"
+#: ../../include/account.php:408
+msgid "Account approved."
+msgstr "Account approvato."
-#: ../../include/nav.php:93
-msgid "Manage/Edit profiles"
-msgstr "Gestisci/modifica i profili"
+#: ../../include/account.php:447
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
-#: ../../include/nav.php:95 ../../include/identity.php:979
-msgid "Edit Profile"
-msgstr "Modifica il profilo"
+#: ../../include/account.php:492
+msgid "Account verified. Please login."
+msgstr "Registrazione verificata. Adesso puoi effettuare login."
-#: ../../include/nav.php:95
-msgid "Edit your profile"
-msgstr "Modifica il profilo"
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
-#: ../../include/nav.php:97 ../../include/conversation.php:1611
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto"
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione supera i limiti del tuo abbonamento."
-#: ../../include/nav.php:97
-msgid "Your photos"
-msgstr "Le tue foto"
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
-#: ../../include/nav.php:98
-msgid "Your files"
-msgstr "I tuoi file"
+#: ../../include/oembed.php:183
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
-#: ../../include/nav.php:103 ../../include/apps.php:146
-msgid "Chat"
-msgstr "Area chat"
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
+msgstr "Disabilita la creazione di contenuti incorporati"
-#: ../../include/nav.php:103
-msgid "Your chatrooms"
-msgstr "Le tue aree chat"
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Visibile secondo le impostazioni predefinite"
-#: ../../include/nav.php:109 ../../include/conversation.php:1646
-#: ../../include/apps.php:129
-msgid "Bookmarks"
-msgstr "Segnalibri"
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Mostra"
-#: ../../include/nav.php:109
-msgid "Your bookmarks"
-msgstr "I tuoi segnalibri"
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "Non mostrare"
-#: ../../include/nav.php:113 ../../include/conversation.php:1656
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Pagine web"
+#: ../../include/acl_selectors.php:248 ../../mod/photos.php:571
+#: ../../mod/photos.php:934 ../../mod/chat.php:209 ../../mod/events.php:691
+#: ../../mod/filestorage.php:147
+msgid "Permissions"
+msgstr "Permessi"
-#: ../../include/nav.php:113
-msgid "Your webpages"
-msgstr "Le tue pagine web"
+#: ../../include/activities.php:39
+msgid " and "
+msgstr "e"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1550
-msgid "Login"
-msgstr "Accedi"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "profilo pubblico"
-#: ../../include/nav.php:117
-msgid "Sign in"
-msgstr "Accedi"
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
-#: ../../include/nav.php:134
+#: ../../include/activities.php:57
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clicca per uscire"
+msgid "Visit %1$s's %2$s"
+msgstr "Guarda %2$s di %1$s "
-#: ../../include/nav.php:137
-msgid "Remote authentication"
-msgstr "Accedi dal tuo hub"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-#: ../../include/nav.php:137
-msgid "Click to authenticate to your home hub"
-msgstr "Accedi tramite il tuo hub principale"
+#: ../../include/api.php:1178
+msgid "Public Timeline"
+msgstr "Diario pubblico"
-#: ../../include/nav.php:151
-msgid "Home Page"
-msgstr "Bacheca"
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Amministrazione sito"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1526
-msgid "Register"
-msgstr "Iscriviti"
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Rubrica"
-#: ../../include/nav.php:155
-msgid "Create an account"
-msgstr "Crea un account"
+#: ../../include/apps.php:138 ../../include/identity.php:1240
+#: ../../include/identity.php:1357 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profilo"
-#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Guida"
+#: ../../include/apps.php:144 ../../mod/mood.php:130
+msgid "Mood"
+msgstr "Umore"
-#: ../../include/nav.php:160
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
+#: ../../include/apps.php:145 ../../include/conversation.php:959
+msgid "Poke"
+msgstr "Poke"
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Applicazioni, utilità, link, giochi"
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Diagnostica"
-#: ../../include/nav.php:165
-msgid "Search site content"
-msgstr "Cerca nel sito"
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Suggerisci"
-#: ../../include/nav.php:168 ../../include/apps.php:141
-msgid "Directory"
-msgstr "Elenco pubblico"
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Canale casuale"
-#: ../../include/nav.php:168
-msgid "Channel Directory"
-msgstr "Elenco pubblico canali"
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Invita"
-#: ../../include/nav.php:180 ../../include/apps.php:133
-msgid "Matrix"
-msgstr "RedMatrix"
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Funzionalità"
-#: ../../include/nav.php:180
-msgid "Your matrix"
-msgstr "La tua rete"
+#: ../../include/apps.php:153 ../../mod/id.php:28
+msgid "Language"
+msgstr "Lingua"
-#: ../../include/nav.php:181
-msgid "Mark all matrix notifications seen"
-msgstr "Segna come lette le notifiche della tua rete"
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Post"
-#: ../../include/nav.php:183 ../../include/apps.php:137
-msgid "Channel Home"
-msgstr "Bacheca del canale"
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
+msgid "Profile Photo"
+msgstr "Foto del profilo"
-#: ../../include/nav.php:183
-msgid "Channel home"
-msgstr "Bacheca del canale"
+#: ../../include/apps.php:247 ../../mod/settings.php:84
+#: ../../mod/settings.php:614
+msgid "Update"
+msgstr "Aggiorna"
-#: ../../include/nav.php:184
-msgid "Mark all channel notifications seen"
-msgstr "Segna come lette le notifiche del canale"
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Installa"
-#: ../../include/nav.php:187 ../../mod/connections.php:267
-msgid "Connections"
-msgstr "Contatti"
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Acquista"
-#: ../../include/nav.php:190
-msgid "Notices"
-msgstr "Avvisi"
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+#: ../../include/items.php:4383 ../../include/photos.php:26
+#: ../../mod/mail.php:114 ../../mod/achievements.php:30 ../../mod/page.php:31
+#: ../../mod/page.php:86 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/pdledit.php:21 ../../mod/appman.php:66 ../../mod/photos.php:69
+#: ../../mod/authtest.php:13 ../../mod/block.php:22 ../../mod/block.php:72
+#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/poke.php:128
+#: ../../mod/bookmarks.php:46 ../../mod/manage.php:6 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262 ../../mod/chat.php:90
+#: ../../mod/chat.php:95 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/common.php:35 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/notifications.php:66
+#: ../../mod/connections.php:29 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/connedit.php:348
+#: ../../mod/editblock.php:65 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/editpost.php:13
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/events.php:249
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/register.php:72 ../../mod/fsuggest.php:78 ../../mod/regmod.php:17
+#: ../../mod/group.php:9 ../../mod/id.php:71 ../../mod/service_limits.php:7
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/settings.php:570
+#: ../../mod/item.php:206 ../../mod/item.php:214 ../../mod/item.php:1005
+#: ../../mod/setup.php:223 ../../mod/layouts.php:69 ../../mod/layouts.php:76
+#: ../../mod/layouts.php:87 ../../mod/sharedwithme.php:7
+#: ../../mod/like.php:178 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:72 ../../mod/message.php:16 ../../mod/mitem.php:111
+#: ../../mod/mood.php:111 ../../mod/suggest.php:26 ../../mod/network.php:12
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/thing.php:269 ../../mod/thing.php:284 ../../mod/thing.php:318
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69 ../../index.php:186
+#: ../../index.php:397
+msgid "Permission denied."
+msgstr "Permesso negato."
-#: ../../include/nav.php:190
-msgid "Notifications"
-msgstr "Notifiche"
+#: ../../include/attach.php:242 ../../include/attach.php:300
+msgid "Item was not found."
+msgstr "Elemento non trovato."
-#: ../../include/nav.php:191
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
+#: ../../include/attach.php:363
+msgid "No source file."
+msgstr "Nessun file di origine."
-#: ../../include/nav.php:192 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Segna come lette le notifiche di sistema"
+#: ../../include/attach.php:381
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
-#: ../../include/nav.php:194 ../../include/apps.php:143
-msgid "Mail"
-msgstr "Messaggi"
+#: ../../include/attach.php:399
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
-#: ../../include/nav.php:194
-msgid "Private mail"
-msgstr "Messaggi privati"
+#: ../../include/attach.php:410
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
-#: ../../include/nav.php:195
-msgid "See all private messages"
-msgstr "Guarda tutti i messaggi privati"
+#: ../../include/attach.php:422
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
-#: ../../include/nav.php:196
-msgid "Mark all private messages seen"
-msgstr "Segna come letti tutti i messaggi privati"
+#: ../../include/attach.php:505
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
-#: ../../include/nav.php:197
-msgid "Inbox"
-msgstr "In arrivo"
+#: ../../include/attach.php:517
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
-#: ../../include/nav.php:198
-msgid "Outbox"
-msgstr "Inviati"
+#: ../../include/attach.php:561 ../../include/attach.php:578
+msgid "Path not available."
+msgstr "Percorso non disponibile."
-#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:503
-msgid "Events"
-msgstr "Eventi"
+#: ../../include/attach.php:623
+msgid "Empty pathname"
+msgstr "Il percorso del file è vuoto"
-#: ../../include/nav.php:202
-msgid "Event Calendar"
-msgstr "Calendario"
+#: ../../include/attach.php:639
+msgid "duplicate filename or path"
+msgstr "il file o il percorso del file è duplicato"
-#: ../../include/nav.php:203
-msgid "See all events"
-msgstr "Guarda tutti gli eventi"
+#: ../../include/attach.php:663
+msgid "Path not found."
+msgstr "Percorso del file non trovato."
-#: ../../include/nav.php:204
-msgid "Mark all events seen"
-msgstr "Marca come letti tutti gli eventi"
+#: ../../include/attach.php:714
+msgid "mkdir failed."
+msgstr "mkdir fallito."
-#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:166
-msgid "Channel Manager"
-msgstr "Gestione canali"
+#: ../../include/attach.php:718
+msgid "database storage failed."
+msgstr "scrittura su database fallita."
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gestisci i tuoi canali"
+#: ../../include/auth.php:131
+msgid "Logged out."
+msgstr "Uscita effettuata."
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Impostazioni dell'account e del canale"
+#: ../../include/auth.php:272
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
-#: ../../include/nav.php:216 ../../mod/admin.php:120
-msgid "Admin"
-msgstr "Amministrazione"
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Accesso fallito."
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Installazione e configurazione del sito"
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
+msgstr "Allegati:"
-#: ../../include/nav.php:247 ../../include/conversation.php:861
-msgid "Loading..."
-msgstr "Caricamento in corso..."
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:22
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../include/nav.php:252
-msgid "@name, #tag, content"
-msgstr "@nome, #tag, testo"
+#: ../../include/bb2diaspora.php:461
+msgid "$Projectname event notification:"
+msgstr "Notifica evento $Projectname:"
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Attendere..."
+#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
+msgid "Starts:"
+msgstr "Inizio:"
-#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
-msgid "Tags"
-msgstr "Tag"
+#: ../../include/bb2diaspora.php:473 ../../include/event.php:40
+msgid "Finishes:"
+msgstr "Fine:"
-#: ../../include/taxonomy.php:287
-msgid "Keywords"
-msgstr "Parole chiave"
+#: ../../include/bb2diaspora.php:481 ../../include/event.php:50
+#: ../../include/identity.php:1007 ../../mod/directory.php:302
+#: ../../mod/events.php:684
+msgid "Location:"
+msgstr "Luogo:"
-#: ../../include/taxonomy.php:308
-msgid "have"
-msgstr "ho"
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
+#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
+#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
+#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
+#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
+#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
+#: ../../include/bbcode.php:807
+msgid "Image/photo"
+msgstr "Immagine"
-#: ../../include/taxonomy.php:308
-msgid "has"
-msgstr "ha"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
+msgid "Encrypted content"
+msgstr "Contenuto crittografato"
-#: ../../include/taxonomy.php:309
-msgid "want"
-msgstr "voglio"
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Installa l'elemento %s:"
-#: ../../include/taxonomy.php:309
-msgid "wants"
-msgstr "vuole"
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
-#: ../../include/taxonomy.php:310
-msgid "likes"
-msgstr "gli piace"
+#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+msgid "webpage"
+msgstr "pagina web"
-#: ../../include/taxonomy.php:311
-msgid "dislikes"
-msgstr "non gli piace"
+#: ../../include/bbcode.php:195 ../../mod/impel.php:47
+msgid "layout"
+msgstr "layout"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "e"
+#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+msgid "block"
+msgstr "riquadro"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "profilo pubblico"
+#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+msgid "menu"
+msgstr "menu"
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
+#: ../../include/bbcode.php:215
+msgid "QR code"
+msgstr "QR code"
-#: ../../include/activities.php:57
+#: ../../include/bbcode.php:266
#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Guarda %2$s di %1$s "
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s %3$s"
-#: ../../include/activities.php:60
+#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
+msgid "post"
+msgstr "il post"
+
+#: ../../include/bbcode.php:518
+msgid "Different viewers will see this text differently"
+msgstr "Ad altri questo testo potrebbe apparire in modo differente"
+
+#: ../../include/bbcode.php:729
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:756
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
+
+#: ../../include/bookmarks.php:35
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
+msgid "%1$s's bookmarks"
+msgstr "I segnalibri di %1$s"
+
+#: ../../include/chat.php:23
+msgid "Missing room name"
+msgstr "Area chat senza nome"
+
+#: ../../include/chat.php:32
+msgid "Duplicate room name"
+msgstr "Il nome dell'area chat è duplicato"
+
+#: ../../include/chat.php:82 ../../include/chat.php:90
+msgid "Invalid room specifier."
+msgstr "Il nome dell'area chat non è valido."
+
+#: ../../include/chat.php:120
+msgid "Room not found."
+msgstr "Area chat non trovata."
+
+#: ../../include/chat.php:141
+msgid "Room is full"
+msgstr "L'area chat è al completo"
+
+#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Predefinito"
#: ../../include/security.php:349
msgid ""
@@ -2399,148 +1784,142 @@ msgid ""
"form has been opened for too long (>3 hours) before submitting it."
msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e i post normali"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Può vedere il profilo predefinito del canale"
-
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
-msgstr "Può vedere i miei album fotografici"
-
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
-msgstr "Può vedere i miei contatti"
-
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
-msgstr "Può vedere i miei file condivisi"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Frequentemente"
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
-msgstr "Può vedere le mie pagine web"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Ogni ora"
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
-msgstr "È tra i canali che seguo"
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Due volte al giorno"
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Può scrivere sulla bacheca del mio canale"
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Ogni giorno"
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
-msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Ogni settimana"
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
-msgstr "Può inviarmi messaggi privati"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Ogni mese"
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
-msgstr "Può aggiungere foto ai miei album"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
-msgstr "Può aggiungere \"mi piace\""
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
-msgstr "Profili e tutto ciò che non è post o commenti"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
+#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1553
+msgid "Email"
+msgstr "Email"
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
-msgstr "Può aprire una chat con me (se disponibile)"
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
-msgstr "Può scrivere sul mio archivio file"
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
-msgstr "Può modificare le mie pagine web"
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Può usare i miei post pubblici per creare canali derivati"
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Può amministrare i contenuti del mio canale"
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invito disponibile"
+msgstr[1] "%d inviti disponibili"
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+msgid "Advanced"
+msgstr "Avanzate"
-#: ../../include/permissions.php:893
-msgid "Social Networking"
-msgstr "Social network"
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
+msgstr "Ricerca canali"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Mostly Public"
-msgstr "Prevalentemente pubblico"
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
+msgstr "Scrivi un nome o un interesse"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Restricted"
-msgstr "Con restrizioni"
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
+msgstr "Aggiungi"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-msgid "Private"
-msgstr "Privato"
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Per esempio: Mario Rossi, Pesca"
-#: ../../include/permissions.php:894
-msgid "Community Forum"
-msgstr "Forum di discussione"
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:273
+#: ../../mod/directory.php:379 ../../mod/directory.php:384
+msgid "Find"
+msgstr "Cerca"
-#: ../../include/permissions.php:895
-msgid "Feed Republish"
-msgstr "Aggregatore di feed esterni"
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../mod/suggest.php:60
+msgid "Channel Suggestions"
+msgstr "Canali suggeriti"
-#: ../../include/permissions.php:896
-msgid "Special Purpose"
-msgstr "Per finalità speciali"
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
+msgstr "Profilo casuale"
-#: ../../include/permissions.php:896
-msgid "Celebrity/Soapbox"
-msgstr "Pagina per fan"
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
+msgstr "Invita amici"
-#: ../../include/permissions.php:896
-msgid "Group Repository"
-msgstr "Repository di gruppo"
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Per esempio: name=mario e country=italy"
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Altro"
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d contatto in comune"
+msgstr[1] "%d contatti in comune"
-#: ../../include/permissions.php:897
-msgid "Custom/Expert Mode"
-msgstr "Personalizzazione per esperti"
+#: ../../include/contact_widgets.php:130
+msgid "show more"
+msgstr "mostra tutto"
#: ../../include/conversation.php:126 ../../mod/like.php:113
msgid "channel"
msgstr "canale"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2152
+#: ../../mod/like.php:397
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s piace %3$s di %2$s"
+
#: ../../include/conversation.php:167 ../../mod/like.php:399
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
@@ -2655,10 +2034,6 @@ msgstr "Modifica il contatto"
msgid "Send PM"
msgstr "Invia messaggio privato"
-#: ../../include/conversation.php:959 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Poke"
-
#: ../../include/conversation.php:1073
#, php-format
msgid "%s likes this."
@@ -2733,13 +2108,14 @@ msgstr "Salva nella cartella:"
msgid "Where are you right now?"
msgstr "Dove sei ora?"
-#: ../../include/conversation.php:1158 ../../mod/editpost.php:47
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
+#: ../../include/conversation.php:1158 ../../mod/mail.php:175
+#: ../../mod/mail.php:290 ../../mod/editpost.php:47
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Scade il YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1185 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1185 ../../mod/photos.php:961
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:184
+#: ../../mod/webpages.php:182
msgid "Share"
msgstr "Condividi"
@@ -2751,9 +2127,10 @@ msgstr "Nome del link alla pagina"
msgid "Post as"
msgstr "Pubblica come "
-#: ../../include/conversation.php:1197 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1197 ../../mod/mail.php:238
+#: ../../mod/mail.php:352 ../../mod/editblock.php:141
+#: ../../mod/editlayout.php:139 ../../mod/editpost.php:112
+#: ../../mod/editwebpage.php:184
msgid "Upload photo"
msgstr "Carica foto"
@@ -2761,9 +2138,10 @@ msgstr "Carica foto"
msgid "upload photo"
msgstr "carica foto"
-#: ../../include/conversation.php:1199 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
+#: ../../include/conversation.php:1199 ../../mod/mail.php:239
+#: ../../mod/mail.php:353 ../../mod/editblock.php:142
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:185
msgid "Attach file"
msgstr "Allega file"
@@ -2771,9 +2149,10 @@ msgstr "Allega file"
msgid "attach file"
msgstr "allega file"
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1201 ../../mod/mail.php:240
+#: ../../mod/mail.php:354 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:186
msgid "Insert web link"
msgstr "Inserisci un indirizzo web"
@@ -2797,9 +2176,9 @@ msgstr "Inserisci l'indirizzo di un audio"
msgid "audio link"
msgstr "link audio"
-#: ../../include/conversation.php:1207 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:145 ../../mod/editpost.php:118
+#: ../../mod/editwebpage.php:190
msgid "Set your location"
msgstr "La tua località"
@@ -2811,9 +2190,9 @@ msgstr "la tua località"
msgid "Toggle voting"
msgstr "Abilita/disabilita il voto"
-#: ../../include/conversation.php:1212 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
+#: ../../include/conversation.php:1212 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:191
msgid "Clear browser location"
msgstr "Rimuovi la località data dal browser"
@@ -2821,20 +2200,20 @@ msgstr "Rimuovi la località data dal browser"
msgid "clear location"
msgstr "rimuovi la località"
-#: ../../include/conversation.php:1215 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/conversation.php:1215 ../../mod/editblock.php:161
+#: ../../mod/editpost.php:135 ../../mod/editwebpage.php:207
msgid "Title (optional)"
msgstr "Titolo (opzionale)"
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1219 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:162 ../../mod/editpost.php:137
+#: ../../mod/editwebpage.php:209
msgid "Categories (optional, comma-separated list)"
msgstr "Categorie (lista separata da virgole)"
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:148 ../../mod/editpost.php:124
+#: ../../mod/editwebpage.php:193
msgid "Permission settings"
msgstr "Impostazioni permessi"
@@ -2842,33 +2221,34 @@ msgstr "Impostazioni permessi"
msgid "permissions"
msgstr "permessi"
-#: ../../include/conversation.php:1230 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1230 ../../mod/editblock.php:158
+#: ../../mod/editlayout.php:155 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:202
msgid "Public post"
msgstr "Post pubblico"
-#: ../../include/conversation.php:1232 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1232 ../../mod/editblock.php:165
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:138
+#: ../../mod/editwebpage.php:210
msgid "Example: bob@example.com, mary@example.com"
msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
-#: ../../include/conversation.php:1245 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1245 ../../mod/mail.php:245
+#: ../../mod/mail.php:359 ../../mod/editblock.php:175
+#: ../../mod/editlayout.php:172 ../../mod/editpost.php:149
+#: ../../mod/editwebpage.php:219
msgid "Set expiration date"
msgstr "Data di scadenza"
-#: ../../include/conversation.php:1249 ../../mod/events.php:674
-#: ../../mod/editpost.php:153
+#: ../../include/conversation.php:1249 ../../mod/editpost.php:153
+#: ../../mod/events.php:674
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1250 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:673 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1250 ../../mod/editpost.php:154
+#: ../../mod/events.php:673 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Annulla"
@@ -3003,290 +2383,653 @@ msgid_plural "Abstains"
msgstr[0] "Astenuto"
msgstr[1] "Astenuti"
-#: ../../include/items.php:413 ../../mod/like.php:273
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Permesso negato"
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Altro"
-#: ../../include/items.php:1101 ../../include/items.php:1147
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-GG oppure MM-GG"
-#: ../../include/items.php:1373
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet."
+#: ../../include/datetime.php:235 ../../mod/appman.php:91
+#: ../../mod/appman.php:92 ../../mod/events.php:672
+msgid "Required"
+msgstr "Obbligatorio"
-#: ../../include/items.php:1375
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
+#: ../../include/datetime.php:262 ../../boot.php:2358
+msgid "never"
+msgstr "mai"
-#: ../../include/items.php:1377
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
+msgstr "meno di un secondo fa"
-#: ../../include/items.php:1379
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
+#: ../../include/datetime.php:271
+msgid "year"
+msgstr "anno"
-#: ../../include/items.php:1381
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti in %s."
+#: ../../include/datetime.php:271
+msgid "years"
+msgstr "anni"
-#: ../../include/items.php:1383
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
+#: ../../include/datetime.php:272
+msgid "month"
+msgstr "mese"
-#: ../../include/items.php:1385
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
+#: ../../include/datetime.php:272
+msgid "months"
+msgstr "mesi"
-#: ../../include/items.php:1387
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
+#: ../../include/datetime.php:273
+msgid "week"
+msgstr "settimana"
-#: ../../include/items.php:4310 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "Elemento non trovato."
+#: ../../include/datetime.php:273
+msgid "weeks"
+msgstr "settimane"
-#: ../../include/items.php:4383 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:269
-#: ../../mod/thing.php:284 ../../mod/thing.php:318
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:249 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:1005 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:29
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:111
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:72 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:348
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Permesso negato."
+#: ../../include/datetime.php:274
+msgid "day"
+msgstr "giorno"
-#: ../../include/items.php:4787 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Insieme di canali non trovato."
+#: ../../include/datetime.php:274
+msgid "days"
+msgstr "giorni"
-#: ../../include/items.php:4803
-msgid "Collection is empty."
-msgstr "L'insieme di canali è vuoto."
+#: ../../include/datetime.php:275
+msgid "hour"
+msgstr "ora"
-#: ../../include/items.php:4810
+#: ../../include/datetime.php:275
+msgid "hours"
+msgstr "ore"
+
+#: ../../include/datetime.php:276
+msgid "minute"
+msgstr "minuto"
+
+#: ../../include/datetime.php:276
+msgid "minutes"
+msgstr "minuti"
+
+#: ../../include/datetime.php:277
+msgid "second"
+msgstr "secondo"
+
+#: ../../include/datetime.php:277
+msgid "seconds"
+msgstr "secondi"
+
+#: ../../include/datetime.php:285
#, php-format
-msgid "Collection: %s"
-msgstr "Insieme: %s"
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s fa"
-#: ../../include/items.php:4820 ../../mod/connedit.php:674
+#: ../../include/datetime.php:519
#, php-format
-msgid "Connection: %s"
-msgstr "Contatto: %s"
+msgid "%1$s's birthday"
+msgstr "Compleanno di %1$s"
-#: ../../include/items.php:4822
-msgid "Connection not found."
-msgstr "Contatto non trovato."
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Buon compleanno %1$s"
-#: ../../include/zot.php:684
-msgid "Invalid data packet"
-msgstr "Dati non validi"
+#: ../../include/diaspora.php:2498
+msgid "Please choose"
+msgstr "La tua scelta"
-#: ../../include/zot.php:700
-msgid "Unable to verify channel signature"
-msgstr "Impossibile verificare la firma elettronica del canale"
+#: ../../include/diaspora.php:2500
+msgid "Agree"
+msgstr "Sono d'accordo"
+
+#: ../../include/diaspora.php:2502
+msgid "Disagree"
+msgstr "Non sono d'accordo"
+
+#: ../../include/diaspora.php:2504
+msgid "Abstain"
+msgstr "Mi astengo"
-#: ../../include/zot.php:2208
+#: ../../include/dimport.php:34 ../../include/identity.php:217
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
+
+#: ../../include/dir_fns.php:126
+msgid "Directory Options"
+msgstr "Opzioni elenco pubblico"
+
+#: ../../include/dir_fns.php:128
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:428 ../../mod/api.php:106
+#: ../../mod/photos.php:568 ../../mod/connedit.php:647
+#: ../../mod/connedit.php:675 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "No"
+msgstr "No"
+
+#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:130 ../../mod/admin.php:430 ../../mod/api.php:105
+#: ../../mod/photos.php:568 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60
+#: ../../mod/settings.php:579 ../../mod/menu.php:94 ../../mod/menu.php:151
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:160 ../../mod/mitem.php:232
+#: ../../mod/mitem.php:233 ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
+msgid "Yes"
+msgstr "Si"
+
+#: ../../include/dir_fns.php:129
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
+
+#: ../../include/dir_fns.php:130
+msgid "This Website Only"
+msgstr "Solo in questo sito"
+
+#: ../../include/enotify.php:96
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossibile verificare la firma elettronica del sito %s"
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Contenuti incorporati"
+#: ../../include/enotify.php:100
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[RedMatrix] Nuovo messaggio su %s"
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "Disabilita la creazione di contenuti incorporati"
+#: ../../include/enotify.php:102
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Uscita effettuata."
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s ti ha mandato %2$s."
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Autenticazione fallita"
+#: ../../include/enotify.php:103
+msgid "a private message"
+msgstr "un messaggio privato"
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Accesso fallito."
+#: ../../include/enotify.php:104
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-#: ../../include/contact_widgets.php:14
+#: ../../include/enotify.php:158
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invito disponibile"
-msgstr[1] "%d inviti disponibili"
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
-msgid "Advanced"
-msgstr "Avanzate"
+#: ../../include/enotify.php:166
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Ricerca canali"
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Scrivi un nome o un interesse"
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[RedMatrix] Nuovo commento di %2$s alla conversazione #%1$d"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Aggiungi"
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Per esempio: Mario Rossi, Pesca"
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Visita %s per leggere o commentare la conversazione."
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:273
-msgid "Find"
-msgstr "Cerca"
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[RedMatrix] %s ha scritto sulla tua bacheca"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Canali suggeriti"
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Profilo casuale"
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Invita amici"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[RedMatrix] %s ti ha taggato"
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Per esempio: name=mario e country=italy"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s ti ha taggato su %3$s"
-#: ../../include/contact_widgets.php:125
+#: ../../include/enotify.php:226
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contatto in comune"
-msgstr[1] "%d contatti in comune"
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
-#: ../../include/contact_widgets.php:130
-msgid "show more"
-msgstr "mostra tutto"
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[RedMatrix] %1$s ti ha mandato un poke"
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Visibile secondo le impostazioni predefinite"
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Mostra"
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "Non mostrare"
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[RedMatrix] %s ha taggato il tuo post"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:691
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:147
-msgid "Permissions"
-msgstr "Permessi"
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
-msgstr "Elemento non trovato."
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
-#: ../../include/attach.php:363
-msgid "No source file."
-msgstr "Nessun file di origine."
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
+msgstr "[RedMatrix] Hai una richiesta di amicizia"
-#: ../../include/attach.php:381
-msgid "Cannot locate file to replace"
-msgstr "Il file da sostituire non è stato trovato"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
-#: ../../include/attach.php:399
-msgid "Cannot locate file to revise/update"
-msgstr "Il file da aggiornare non è stato trovato"
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
-#: ../../include/attach.php:410
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
+msgid "You may visit their profile at %s"
+msgstr "Puoi visitare il suo profilo su %s"
-#: ../../include/attach.php:422
+#: ../../include/enotify.php:278
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
-#: ../../include/attach.php:505
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[RedMatrix] Ti è stato suggerito un amico"
-#: ../../include/attach.php:517
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Il file non può essere verificato. Caricamento fallito."
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
-#: ../../include/attach.php:561 ../../include/attach.php:578
-msgid "Path not available."
-msgstr "Percorso non disponibile."
+#: ../../include/enotify.php:287
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
-#: ../../include/attach.php:623
-msgid "Empty pathname"
-msgstr "Il percorso del file è vuoto"
+#: ../../include/enotify.php:293
+msgid "Name:"
+msgstr "Nome:"
-#: ../../include/attach.php:639
-msgid "duplicate filename or path"
-msgstr "il file o il percorso del file è duplicato"
+#: ../../include/enotify.php:294
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../include/attach.php:663
-msgid "Path not found."
-msgstr "Percorso del file non trovato."
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Visita %s per approvare o rifiutare il suggerimento."
-#: ../../include/attach.php:714
-msgid "mkdir failed."
-msgstr "mkdir fallito."
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
+msgstr "[RedMatrix]"
-#: ../../include/attach.php:718
-msgid "database storage failed."
-msgstr "scrittura su database fallita."
+#: ../../include/event.php:549
+msgid "This event has been added to your calendar."
+msgstr "Questo evento è stato aggiunto al tuo calendario"
+
+#: ../../include/features.php:38
+msgid "General Features"
+msgstr "Funzionalità di base"
+
+#: ../../include/features.php:40
+msgid "Content Expiration"
+msgstr "Scadenza"
+
+#: ../../include/features.php:40
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
+
+#: ../../include/features.php:41
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
+
+#: ../../include/features.php:41
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
+
+#: ../../include/features.php:42
+msgid "Advanced Profiles"
+msgstr "Profili avanzati"
+
+#: ../../include/features.php:42
+msgid "Additional profile sections and selections"
+msgstr "Informazioni aggiuntive del profilo"
+
+#: ../../include/features.php:43
+msgid "Profile Import/Export"
+msgstr "Importa/esporta il profilo"
+
+#: ../../include/features.php:43
+msgid "Save and load profile details across sites/channels"
+msgstr "Salva o ripristina le informazioni del profilo su canali o siti diversi"
+
+#: ../../include/features.php:44
+msgid "Web Pages"
+msgstr "Pagine web"
+
+#: ../../include/features.php:44
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
+
+#: ../../include/features.php:45
+msgid "Private Notes"
+msgstr "Note private"
+
+#: ../../include/features.php:45
+msgid "Enables a tool to store notes and reminders"
+msgstr "Abilita il riquadro per scrivere annotazioni"
+
+#: ../../include/features.php:46
+msgid "Navigation Channel Select"
+msgstr "Scegli il canale attivo dal menu"
+
+#: ../../include/features.php:46
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
+
+#: ../../include/features.php:47
+msgid "Photo Location"
+msgstr "Posizione geografica"
+
+#: ../../include/features.php:47
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
+
+#: ../../include/features.php:49
+msgid "Expert Mode"
+msgstr "Modalità esperto"
+
+#: ../../include/features.php:49
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
+
+#: ../../include/features.php:50
+msgid "Premium Channel"
+msgstr "Canale premium"
+
+#: ../../include/features.php:50
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale"
+
+#: ../../include/features.php:55
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura post"
+
+#: ../../include/features.php:57
+msgid "Use Markdown"
+msgstr "Usa il markdown"
+
+#: ../../include/features.php:57
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Consenti l'uso del markdown per formattare i post"
+
+#: ../../include/features.php:58
+msgid "Large Photos"
+msgstr "Foto grandi"
+
+#: ../../include/features.php:58
+msgid ""
+"Include large (640px) photo thumbnails in posts. If not enabled, use small "
+"(320px) photo thumbnails"
+msgstr "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)"
+
+#: ../../include/features.php:59
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
+
+#: ../../include/features.php:60
+msgid "Even More Encryption"
+msgstr "Crittografia addizionale"
+
+#: ../../include/features.php:60
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta"
+
+#: ../../include/features.php:61
+msgid "Enable voting tools"
+msgstr "Permetti i post con votazione"
+
+#: ../../include/features.php:61
+msgid "Provide a class of post which others can vote on"
+msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
+
+#: ../../include/features.php:67
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
+
+#: ../../include/features.php:68
+msgid "Search by Date"
+msgstr "Ricerca per data"
+
+#: ../../include/features.php:68
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare i post in un intervallo tra date"
+
+#: ../../include/features.php:69
+msgid "Collections Filter"
+msgstr "Filtra per insiemi di canali"
+
+#: ../../include/features.php:69
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Mostra il riquadro per filtrare i post di certi insiemi di canali"
+
+#: ../../include/features.php:70
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
+
+#: ../../include/features.php:71
+msgid "Network Personal Tab"
+msgstr "Attività personale"
+
+#: ../../include/features.php:71
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
+
+#: ../../include/features.php:72
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
+
+#: ../../include/features.php:72
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
+
+#: ../../include/features.php:73
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
+
+#: ../../include/features.php:73
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
+
+#: ../../include/features.php:74
+msgid "Connection Filtering"
+msgstr "Filtro sui contatti"
+
+#: ../../include/features.php:74
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtra con delle parole chiave i post che ricevi"
+
+#: ../../include/features.php:75
+msgid "Suggest Channels"
+msgstr "Suggerisci canali"
+
+#: ../../include/features.php:75
+msgid "Show channel suggestions"
+msgstr "Mostra alcuni canali che potrebbero interessarti"
+
+#: ../../include/features.php:80
+msgid "Post/Comment Tools"
+msgstr "Gestione post e commenti"
+
+#: ../../include/features.php:81
+msgid "Tagging"
+msgstr "Tag"
+
+#: ../../include/features.php:81
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su post già esistenti"
+
+#: ../../include/features.php:82
+msgid "Post Categories"
+msgstr "Categorie dei post"
+
+#: ../../include/features.php:82
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi post"
+
+#: ../../include/features.php:83
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in post"
+
+#: ../../include/features.php:84
+msgid "Dislike Posts"
+msgstr "Non mi piace"
+
+#: ../../include/features.php:84
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+
+#: ../../include/features.php:85
+msgid "Star Posts"
+msgstr "Post con stella"
+
+#: ../../include/features.php:85
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per segnare i post preferiti"
+
+#: ../../include/features.php:86
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
+
+#: ../../include/features.php:86
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
+
+#: ../../include/follow.php:83
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
+
+#: ../../include/follow.php:100
+msgid "Channel was deleted and no longer exists."
+msgstr "Il canale è stato rimosso e non esiste più."
+
+#: ../../include/follow.php:135 ../../include/follow.php:206
+msgid "Protocol disabled."
+msgstr "Protocollo disabilitato."
+
+#: ../../include/follow.php:144
+msgid "Protocol blocked for this channel."
+msgstr "Protocollo bloccato per questo canale."
+
+#: ../../include/follow.php:179
+msgid "Channel discovery failed."
+msgstr "La ricerca del canale non ha avuto successo."
+
+#: ../../include/follow.php:195
+msgid "local account not found."
+msgstr "l'account locale non è stato trovato."
+
+#: ../../include/follow.php:224
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Insieme predefinito per i canali che inizi a seguire"
+
+#: ../../include/group.php:254 ../../mod/admin.php:831
+msgid "All Channels"
+msgstr "Tutti i canali"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "modifica"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Insiemi di canali"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Modifica l'insieme di canali"
+
+#: ../../include/group.php:300
+msgid "Add new collection"
+msgstr "Nuovo insieme"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Canali che non sono in un insieme"
#: ../../include/identity.php:33
msgid "Unable to obtain identity information from database"
@@ -3312,11 +3055,6 @@ msgstr "Il nome dell'account è obbligatorio."
msgid "Reserved nickname. Please choose another."
msgstr "Nome utente riservato. Per favore scegline un altro."
-#: ../../include/identity.php:217 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
-
#: ../../include/identity.php:292
msgid "Unable to retrieve created identity"
msgstr "Impossibile caricare l'identità creata"
@@ -3329,12 +3067,11 @@ msgstr "Profilo predefinito"
msgid "Requested channel is not available."
msgstr "Il canale che cerchi non è disponibile."
-#: ../../include/identity.php:806 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
-#: ../../mod/layouts.php:29
+#: ../../include/identity.php:806 ../../mod/achievements.php:11
+#: ../../mod/blocks.php:29 ../../mod/profile.php:16 ../../mod/connect.php:13
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:27
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/hcard.php:8 ../../mod/layouts.php:29 ../../mod/webpages.php:29
msgid "Requested profile is not available."
msgstr "Il profilo richiesto non è disponibile."
@@ -3417,11 +3154,6 @@ msgstr "Promemoria"
msgid "Events this week:"
msgstr "Eventi di questa settimana:"
-#: ../../include/identity.php:1240 ../../include/identity.php:1357
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profilo"
-
#: ../../include/identity.php:1248 ../../mod/settings.php:1056
msgid "Full Name:"
msgstr "Nome completo:"
@@ -3455,8 +3187,8 @@ msgstr "per %1$d %2$s"
msgid "Sexual Preference:"
msgstr "Preferenze sessuali:"
-#: ../../include/identity.php:1307 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
+#: ../../include/identity.php:1307 ../../mod/profiles.php:693
+#: ../../mod/directory.php:313
msgid "Hometown:"
msgstr "Città dove vivo:"
@@ -3528,6 +3260,443 @@ msgstr "Scuola:"
msgid "Like this thing"
msgstr "Mi piace questo Oggetto"
+#: ../../include/items.php:413 ../../mod/bulksetclose.php:11
+#: ../../mod/profperm.php:23 ../../mod/group.php:68 ../../mod/like.php:273
+#: ../../mod/subthread.php:49 ../../index.php:396
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: ../../include/items.php:1101 ../../include/items.php:1147
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
+
+#: ../../include/items.php:1373
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
+
+#: ../../include/items.php:1375
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
+
+#: ../../include/items.php:1377
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
+
+#: ../../include/items.php:1379
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
+
+#: ../../include/items.php:1381
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti in %s."
+
+#: ../../include/items.php:1383
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
+
+#: ../../include/items.php:1385
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
+
+#: ../../include/items.php:1387
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
+
+#: ../../include/items.php:4310 ../../mod/admin.php:167
+#: ../../mod/admin.php:1025 ../../mod/admin.php:1225 ../../mod/display.php:36
+#: ../../mod/filestorage.php:27 ../../mod/thing.php:74
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/items.php:4787 ../../mod/bulksetclose.php:51
+#: ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Insieme di canali non trovato."
+
+#: ../../include/items.php:4803
+msgid "Collection is empty."
+msgstr "L'insieme di canali è vuoto."
+
+#: ../../include/items.php:4810
+#, php-format
+msgid "Collection: %s"
+msgstr "Insieme: %s"
+
+#: ../../include/items.php:4820 ../../mod/connedit.php:674
+#, php-format
+msgid "Connection: %s"
+msgstr "Contatto: %s"
+
+#: ../../include/items.php:4822
+msgid "Connection not found."
+msgstr "Contatto non trovato."
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Eliminare questo elemento?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] riduci"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] mostra tutto"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] riduci"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Password troppo corta"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Le password non corrispondono"
+
+#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+msgid "everybody"
+msgstr "tutti"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Chiave segreta"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Suggerimento per la chiave segreta"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Nota: i permessi sono stati modificati ma non ancora salvati."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "chiudi tutto"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Niente di nuovo qui"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Valuta questo canale (visibile a tutti)"
+
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:683
+#: ../../mod/rate.php:156
+msgid "Rating"
+msgstr "Valutazioni"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Descrizione (facoltativa)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Inserisci l'URL di un link"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"
+
+#: ../../include/js_strings.php:26
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:28
+msgid "ago"
+msgstr "fa"
+
+#: ../../include/js_strings.php:29
+msgid "from now"
+msgstr "da adesso"
+
+#: ../../include/js_strings.php:30
+msgid "less than a minute"
+msgstr "meno di un minuto"
+
+#: ../../include/js_strings.php:31
+msgid "about a minute"
+msgstr "circa un minuto"
+
+#: ../../include/js_strings.php:32
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuti"
+
+#: ../../include/js_strings.php:33
+msgid "about an hour"
+msgstr "circa un’ora"
+
+#: ../../include/js_strings.php:34
+#, php-format
+msgid "about %d hours"
+msgstr "circa %d ore"
+
+#: ../../include/js_strings.php:35
+msgid "a day"
+msgstr "un giorno"
+
+#: ../../include/js_strings.php:36
+#, php-format
+msgid "%d days"
+msgstr "%d giorni"
+
+#: ../../include/js_strings.php:37
+msgid "about a month"
+msgstr "circa un mese"
+
+#: ../../include/js_strings.php:38
+#, php-format
+msgid "%d months"
+msgstr "%d mesi"
+
+#: ../../include/js_strings.php:39
+msgid "about a year"
+msgstr "circa un anno"
+
+#: ../../include/js_strings.php:40
+#, php-format
+msgid "%d years"
+msgstr "%d anni"
+
+#: ../../include/js_strings.php:41
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:42
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nuova pagina web"
+
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
+#: ../../mod/layouts.php:188 ../../mod/webpages.php:187
+msgid "View"
+msgstr "Guarda"
+
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+msgid "Actions"
+msgstr "Azioni"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+msgid "Page Link"
+msgstr "Link alla pagina"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Titolo"
+
+#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
+#: ../../mod/layouts.php:181 ../../mod/menu.php:108 ../../mod/webpages.php:192
+msgid "Created"
+msgstr "Creato"
+
+#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
+#: ../../mod/layouts.php:182 ../../mod/menu.php:109 ../../mod/webpages.php:193
+msgid "Edited"
+msgstr "Modificato"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Può vedere i miei contenuti e i post normali"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Può vedere il profilo predefinito del canale"
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Può vedere i miei album fotografici"
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Può vedere i miei contatti"
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Può vedere i miei file condivisi"
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Può vedere le mie pagine web"
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "È tra i canali che seguo"
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Può scrivere sulla bacheca del mio canale"
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Può inviarmi messaggi privati"
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Può aggiungere foto ai miei album"
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Può aggiungere \"mi piace\""
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profili e tutto ciò che non è post o commenti"
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Può aprire una chat con me (se disponibile)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Può scrivere sul mio archivio file"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Può modificare le mie pagine web"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Può usare i miei post pubblici per creare canali derivati"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Può amministrare i contenuti del mio canale"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+
+#: ../../include/permissions.php:893
+msgid "Social Networking"
+msgstr "Social network"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Mostly Public"
+msgstr "Prevalentemente pubblico"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:895
+msgid "Restricted"
+msgstr "Con restrizioni"
+
+#: ../../include/permissions.php:893 ../../include/permissions.php:894
+msgid "Private"
+msgstr "Privato"
+
+#: ../../include/permissions.php:894
+msgid "Community Forum"
+msgstr "Forum di discussione"
+
+#: ../../include/permissions.php:895
+msgid "Feed Republish"
+msgstr "Aggregatore di feed esterni"
+
+#: ../../include/permissions.php:896
+msgid "Special Purpose"
+msgstr "Per finalità speciali"
+
+#: ../../include/permissions.php:896
+msgid "Celebrity/Soapbox"
+msgstr "Pagina per fan"
+
+#: ../../include/permissions.php:896
+msgid "Group Repository"
+msgstr "Repository di gruppo"
+
+#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Altro"
+
+#: ../../include/permissions.php:897
+msgid "Custom/Expert Mode"
+msgstr "Personalizzazione per esperti"
+
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'immagine supera il limite massimo di %lu bytes"
+
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "Il file dell'immagine è vuoto."
+
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Impossibile elaborare l'immagine"
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Impossibile caricare la foto."
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Carica nuove foto"
+
+#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
+msgid "Tags"
+msgstr "Tag"
+
+#: ../../include/taxonomy.php:287
+msgid "Keywords"
+msgstr "Parole chiave"
+
+#: ../../include/taxonomy.php:308
+msgid "have"
+msgstr "ho"
+
+#: ../../include/taxonomy.php:308
+msgid "has"
+msgstr "ha"
+
+#: ../../include/taxonomy.php:309
+msgid "want"
+msgstr "voglio"
+
+#: ../../include/taxonomy.php:309
+msgid "wants"
+msgstr "vuole"
+
+#: ../../include/taxonomy.php:310
+msgid "likes"
+msgstr "gli piace"
+
+#: ../../include/taxonomy.php:311
+msgid "dislikes"
+msgstr "non gli piace"
+
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
msgid "Male"
@@ -3764,1090 +3933,1013 @@ msgstr "Chi se ne frega"
msgid "Ask me"
msgstr "Chiedimelo"
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Amministrazione sito"
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Impossibile associare un destinatario."
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Rubrica"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Impossibile comunicare con il canale richiesto."
-#: ../../include/apps.php:144 ../../mod/mood.php:130
-msgid "Mood"
-msgstr "Umore"
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Impossibile verificare il canale richiesto."
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Diagnostica"
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Suggerisci"
+#: ../../mod/mail.php:139
+msgid "Message deleted."
+msgstr "Messaggio eliminato."
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Canale casuale"
+#: ../../mod/mail.php:156
+msgid "Message recalled."
+msgstr "Messaggio revocato."
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Invita"
+#: ../../mod/mail.php:225
+msgid "Send Private Message"
+msgstr "Invia un messaggio privato"
-#: ../../include/apps.php:152
-msgid "Features"
-msgstr "Funzionalità"
+#: ../../mod/mail.php:226 ../../mod/mail.php:343
+msgid "To:"
+msgstr "A:"
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Lingua"
+#: ../../mod/mail.php:231 ../../mod/mail.php:345
+msgid "Subject:"
+msgstr "Oggetto:"
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Post"
+#: ../../mod/mail.php:235 ../../mod/mail.php:348 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Foto del profilo"
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "Invia"
-#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
-msgid "Update"
-msgstr "Aggiorna"
+#: ../../mod/mail.php:269
+msgid "Message not found."
+msgstr "Messaggio non trovato."
-#: ../../include/apps.php:247
-msgid "Install"
-msgstr "Installa"
+#: ../../mod/mail.php:312
+msgid "Delete message"
+msgstr "Elimina il messaggio"
-#: ../../include/apps.php:252
-msgid "Purchase"
-msgstr "Acquista"
+#: ../../mod/mail.php:313
+msgid "Recall message"
+msgstr "Revoca il messaggio"
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Immagine"
+#: ../../mod/mail.php:315
+msgid "Message has been recalled."
+msgstr "Il messaggio è stato revocato."
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Contenuto crittografato"
+#: ../../mod/mail.php:332
+msgid "Private Conversation"
+msgstr "Conversazione privata"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Installa l'elemento %s:"
+#: ../../mod/mail.php:336 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
-#: ../../include/bbcode.php:182
-#, php-format
+#: ../../mod/mail.php:338
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "pagina web"
-
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "layout"
-
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
-msgid "block"
-msgstr "riquadro"
-
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
-
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "QR code"
-
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s ha scritto %2$s %3$s"
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "il post"
+#: ../../mod/mail.php:342
+msgid "Send Reply"
+msgstr "Invia la risposta"
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Ad altri questo testo potrebbe apparire in modo differente"
+#: ../../mod/magic.php:69
+msgid "Hub not found."
+msgstr "Server non trovato."
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
+#: ../../mod/page.php:36 ../../mod/block.php:27
+msgid "Invalid item."
+msgstr "Elemento non valido."
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Area chat senza nome"
+#: ../../mod/page.php:52 ../../mod/block.php:39 ../../mod/wall_upload.php:29
+msgid "Channel not found."
+msgstr "Canale non trovato."
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Il nome dell'area chat è duplicato"
+#: ../../mod/page.php:89 ../../mod/block.php:75 ../../mod/display.php:110
+#: ../../mod/help.php:79 ../../index.php:245
+msgid "Page not found."
+msgstr "Pagina non trovata."
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Il nome dell'area chat non è valido."
+#: ../../mod/page.php:126
+msgid "Lorem Ipsum"
+msgstr "Lorem Ipsum"
-#: ../../include/chat.php:120
-msgid "Room not found."
-msgstr "Area chat non trovata."
+#: ../../mod/acl.php:231
+msgid "network"
+msgstr "rete"
-#: ../../include/chat.php:141
-msgid "Room is full"
-msgstr "L'area chat è al completo"
+#: ../../mod/acl.php:241
+msgid "RSS"
+msgstr "RSS"
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'immagine supera il limite massimo di %lu bytes"
+#: ../../mod/admin.php:52
+msgid "Theme settings updated."
+msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "Il file dell'immagine è vuoto."
+#: ../../mod/admin.php:93 ../../mod/admin.php:452
+msgid "Site"
+msgstr "Sito"
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Impossibile elaborare l'immagine"
+#: ../../mod/admin.php:94
+msgid "Accounts"
+msgstr "Account"
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Impossibile caricare la foto."
+#: ../../mod/admin.php:95 ../../mod/admin.php:985
+msgid "Channels"
+msgstr "Canali"
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Carica nuove foto"
+#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+msgid "Plugins"
+msgstr "Plugin"
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
+#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+msgid "Themes"
+msgstr "Temi"
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
+#: ../../mod/admin.php:98
+msgid "Inspect queue"
+msgstr "Coda di attesa"
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Crea un nuovo canale"
+#: ../../mod/admin.php:100
+msgid "Profile Config"
+msgstr "Configurazione del profilo"
-#: ../../mod/manage.php:167
-msgid "Current Channel"
-msgstr "Canale attuale"
+#: ../../mod/admin.php:101
+msgid "DB updates"
+msgstr "Aggiornamenti al DB"
-#: ../../mod/manage.php:169
-msgid "Switch to one of your channels by selecting it."
-msgstr "Per passare a un altro tuo canale selezionalo."
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+msgid "Logs"
+msgstr "Log"
-#: ../../mod/manage.php:170
-msgid "Default Channel"
-msgstr "Canale predefinito"
+#: ../../mod/admin.php:121
+msgid "Plugin Features"
+msgstr "Plugin"
-#: ../../mod/manage.php:171
-msgid "Make Default"
-msgstr "Rendi predefinito"
+#: ../../mod/admin.php:123
+msgid "User registrations waiting for confirmation"
+msgstr "Registrazioni in attesa"
-#: ../../mod/manage.php:174
-#, php-format
-msgid "%d new messages"
-msgstr "%d nuovi messaggi"
+#: ../../mod/admin.php:200
+msgid "# Accounts"
+msgstr "# account"
-#: ../../mod/manage.php:175
-#, php-format
-msgid "%d new introductions"
-msgstr "%d nuove richieste di entrare in contatto"
+#: ../../mod/admin.php:201
+msgid "# blocked accounts"
+msgstr "# account bloccati"
-#: ../../mod/manage.php:177
-msgid "Delegated Channels"
-msgstr "Canali delegati"
+#: ../../mod/admin.php:202
+msgid "# expired accounts"
+msgstr "# account scaduti"
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Accesso pubblico negato."
+#: ../../mod/admin.php:203
+msgid "# expiring accounts"
+msgstr "# account in scadenza"
-#: ../../mod/directory.php:234
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valutazione"
-msgstr[1] "%d valutazioni"
+#: ../../mod/admin.php:216
+msgid "# Channels"
+msgstr "# canali"
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Sesso:"
+#: ../../mod/admin.php:217
+msgid "# primary"
+msgstr "# primari"
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Stato:"
+#: ../../mod/admin.php:218
+msgid "# clones"
+msgstr "# cloni"
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Homepage:"
+#: ../../mod/admin.php:224
+msgid "Message queues"
+msgstr "Coda messaggi in uscita"
-#: ../../mod/directory.php:308 ../../mod/events.php:682
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
+#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
+#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
+#: ../../mod/admin.php:1395
+msgid "Administration"
+msgstr "Amministrazione"
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Forum pubblico:"
+#: ../../mod/admin.php:241
+msgid "Summary"
+msgstr "Riepilogo"
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Parole chiave:"
+#: ../../mod/admin.php:244
+msgid "Registered accounts"
+msgstr "Account creati"
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "Non fornire suggerimenti"
+#: ../../mod/admin.php:245 ../../mod/admin.php:552
+msgid "Pending registrations"
+msgstr "Registrazioni da approvare"
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Contatti in comune:"
+#: ../../mod/admin.php:246
+msgid "Registered channels"
+msgstr "Canali creati"
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Elenco globale dei canali"
+#: ../../mod/admin.php:247 ../../mod/admin.php:553
+msgid "Active plugins"
+msgstr "Plugin attivi"
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Elenco canali su questo server"
+#: ../../mod/admin.php:248
+msgid "Version"
+msgstr "Versione"
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Ricerca:"
+#: ../../mod/admin.php:363
+msgid "Site settings updated."
+msgstr "Impostazioni del sito salvate correttamente."
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "pagina successiva"
+#: ../../mod/admin.php:400 ../../mod/settings.php:813
+msgid "mobile"
+msgstr "mobile"
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "pagina precedente"
+#: ../../mod/admin.php:402
+msgid "experimental"
+msgstr "sperimentale"
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Opzioni di ordinamento"
+#: ../../mod/admin.php:404
+msgid "unsupported"
+msgstr "non supportato"
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabetico"
+#: ../../mod/admin.php:429
+msgid "Yes - with approval"
+msgstr "Sì - con approvazione"
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Alfabetico inverso"
+#: ../../mod/admin.php:435
+msgid "My site is not a public server"
+msgstr "Non è un server pubblico"
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "Prima i più recenti"
+#: ../../mod/admin.php:436
+msgid "My site has paid access only"
+msgstr "È un servizio a pagamento"
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "Prima i più vecchi"
+#: ../../mod/admin.php:437
+msgid "My site has free access only"
+msgstr "È un servizio gratuito"
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+#: ../../mod/admin.php:438
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-#: ../../mod/xchan.php:6
-msgid "Xchan Lookup"
-msgstr "Ricerca canale"
+#: ../../mod/admin.php:454 ../../mod/register.php:207
+msgid "Registration"
+msgstr "Registrazione"
-#: ../../mod/xchan.php:9
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca un canale (o un webbie) che inizia per:"
+#: ../../mod/admin.php:455
+msgid "File upload"
+msgstr "Caricamento file"
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:116 ../../mod/menu.php:160
-msgid "Not found."
-msgstr "Non trovato."
+#: ../../mod/admin.php:456
+msgid "Policies"
+msgstr "Politiche"
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Autorizza la app"
+#: ../../mod/admin.php:461
+msgid "Site name"
+msgstr "Nome del sito"
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna alla app e inserisci questo codice di sicurezza:"
+#: ../../mod/admin.php:462
+msgid "Banner/Logo"
+msgstr "Banner o logo"
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Accedi al sito per continuare."
+#: ../../mod/admin.php:463
+msgid "Administrator Information"
+msgstr "Informazioni sull'amministratore"
-#: ../../mod/api.php:104
+#: ../../mod/admin.php:463
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-
-#: ../../mod/webpages.php:191
-msgid "Page Title"
-msgstr "Titolo della pagina"
-
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Canale aggiunto."
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
-msgid "Tag removed"
-msgstr "Tag rimosso"
+#: ../../mod/admin.php:464
+msgid "System language"
+msgstr "Lingua di sistema"
-#: ../../mod/tagrm.php:119
-msgid "Remove Item Tag"
-msgstr "Rimuovi il tag"
+#: ../../mod/admin.php:465
+msgid "System theme"
+msgstr "Tema di sistema"
-#: ../../mod/tagrm.php:121
-msgid "Select a tag to remove: "
-msgstr "Seleziona un tag da rimuovere: "
+#: ../../mod/admin.php:465
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
-msgid "Remove"
-msgstr "Rimuovi"
+#: ../../mod/admin.php:466
+msgid "Mobile system theme"
+msgstr "Tema di sistema per dispositivi mobili"
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
-msgid "Continue"
-msgstr "Continua"
+#: ../../mod/admin.php:466
+msgid "Theme for mobile devices"
+msgstr "Tema per i dispositivi mobili"
-#: ../../mod/connect.php:85
-msgid "Premium Channel Setup"
-msgstr "Canale premium - installazione"
+#: ../../mod/admin.php:468
+msgid "Enable Diaspora Protocol"
+msgstr "Abilita la comunicazione con Diaspora"
-#: ../../mod/connect.php:87
-msgid "Enable premium channel connection restrictions"
-msgstr "Abilita le restrizioni del canale premium"
+#: ../../mod/admin.php:468
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr "Sperimentale - per comunicare con Diaspora e Friendica"
-#: ../../mod/connect.php:88
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
+#: ../../mod/admin.php:469
+msgid "Allow Feeds as Connections"
+msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
+#: ../../mod/admin.php:469
+msgid "(Heavy system resource usage)"
+msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../mod/connect.php:91
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
+#: ../../mod/admin.php:470
+msgid "Maximum image size"
+msgstr "Dimensione massima immagini"
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
+#: ../../mod/admin.php:470
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
-
-#: ../../mod/connect.php:101
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
-
-#: ../../mod/connect.php:109
-msgid "Restricted or Premium Channel"
-msgstr "Canale premium - con restrizioni"
-
-#: ../../mod/thing.php:94
-msgid "Thing updated"
-msgstr "L'Oggetto è stato aggiornato"
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../mod/thing.php:167
-msgid "Object store: failed"
-msgstr "Impossibile memorizzare l'oggetto."
+#: ../../mod/admin.php:471
+msgid "Does this site allow new member registration?"
+msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../mod/thing.php:171
-msgid "Thing added"
-msgstr "L'Oggetto è stato aggiunto"
+#: ../../mod/admin.php:472
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../mod/thing.php:203
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+#: ../../mod/admin.php:473
+msgid "Register text"
+msgstr "Testo di registrazione"
-#: ../../mod/thing.php:254
-msgid "Show Thing"
-msgstr "Mostra l'Oggetto"
+#: ../../mod/admin.php:473
+msgid "Will be displayed prominently on the registration page."
+msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../mod/thing.php:261
-msgid "item not found."
-msgstr "non trovato."
+#: ../../mod/admin.php:474
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-#: ../../mod/thing.php:289
-msgid "Edit Thing"
-msgstr "Modifica l'Oggetto"
+#: ../../mod/admin.php:474
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-#: ../../mod/thing.php:291 ../../mod/thing.php:338
-msgid "Select a profile"
-msgstr "Scegli un profilo"
+#: ../../mod/admin.php:475
+msgid "Preserve site homepage URL"
+msgstr "Conserva l'URL della homepage"
-#: ../../mod/thing.php:295 ../../mod/thing.php:341
-msgid "Post an activity"
-msgstr "Pubblica un'attività"
+#: ../../mod/admin.php:475
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-#: ../../mod/thing.php:295 ../../mod/thing.php:341
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Invia solo a chi segue il relativo canale"
+#: ../../mod/admin.php:476
+msgid "Accounts abandoned after x days"
+msgstr "Account abbandonati dopo X giorni"
-#: ../../mod/thing.php:297 ../../mod/thing.php:343
-msgid "Name of thing e.g. something"
-msgstr "Nome dell'Oggetto"
+#: ../../mod/admin.php:476
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../mod/thing.php:299 ../../mod/thing.php:344
-msgid "URL of thing (optional)"
-msgstr "Indirizzo web dell'Oggetto (opzionale)"
+#: ../../mod/admin.php:477
+msgid "Allowed friend domains"
+msgstr "Domini fidati e consentiti"
-#: ../../mod/thing.php:301 ../../mod/thing.php:345
-msgid "URL for photo of thing (optional)"
-msgstr "Indirizzo di un'immagine dell'Oggetto (facoltativo)"
+#: ../../mod/admin.php:477
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../mod/thing.php:336
-msgid "Add Thing to your Profile"
-msgstr "Aggiungi l'Oggetto al tuo profilo"
+#: ../../mod/admin.php:478
+msgid "Allowed email domains"
+msgstr "Domini email consentiti"
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Elemento non disponibile."
+#: ../../mod/admin.php:478
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "La chiamata all'URL restituisce questo errore: %1$s"
+#: ../../mod/admin.php:479
+msgid "Not allowed email domains"
+msgstr "Domini email non consentiti"
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
+#: ../../mod/admin.php:479
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
-#: ../../mod/profile_photo.php:162
-msgid "Image resize failed."
-msgstr "Il ridimensionamento dell'immagine è fallito."
+#: ../../mod/admin.php:480
+msgid "Block public"
+msgstr "Blocca pagine pubbliche"
-#: ../../mod/profile_photo.php:206
+#: ../../mod/admin.php:480
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../mod/profile_photo.php:233
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "La dimensione dell'immagine supera il limite di %d"
+#: ../../mod/admin.php:481
+msgid "Verify Email Addresses"
+msgstr "Verifica l'indirizzo email"
-#: ../../mod/profile_photo.php:242
-msgid "Unable to process image."
-msgstr "Impossibile elaborare l'immagine."
+#: ../../mod/admin.php:481
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
-msgid "Photo not available."
-msgstr "Foto non disponibile."
+#: ../../mod/admin.php:482
+msgid "Force publish"
+msgstr "Forza la publicazione del profilo"
-#: ../../mod/profile_photo.php:359
-msgid "Upload File:"
-msgstr "Carica un file:"
+#: ../../mod/admin.php:482
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito."
-#: ../../mod/profile_photo.php:360
-msgid "Select a profile:"
-msgstr "Seleziona un profilo:"
+#: ../../mod/admin.php:483
+msgid "Disable discovery tab"
+msgstr "Disabilita la funzione 'scopri'"
-#: ../../mod/profile_photo.php:361
-msgid "Upload Profile Photo"
-msgstr "Carica la foto del profilo"
+#: ../../mod/admin.php:483
+msgid ""
+"Remove the tab in the network view with public content pulled from sources "
+"chosen for this site."
+msgstr "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti."
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "o"
+#: ../../mod/admin.php:484
+msgid "login on Homepage"
+msgstr "Mostra il login sulla homepage"
-#: ../../mod/profile_photo.php:366
-msgid "skip this step"
-msgstr "salta questo passaggio"
+#: ../../mod/admin.php:484
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
-#: ../../mod/profile_photo.php:366
-msgid "select a photo from your photo albums"
-msgstr "seleziona una foto dai tuoi album"
+#: ../../mod/admin.php:486
+msgid "Proxy user"
+msgstr "Utente proxy"
-#: ../../mod/profile_photo.php:382
-msgid "Crop Image"
-msgstr "Ritaglia immagine"
+#: ../../mod/admin.php:487
+msgid "Proxy URL"
+msgstr "URL proxy"
-#: ../../mod/profile_photo.php:383
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
+#: ../../mod/admin.php:488
+msgid "Network timeout"
+msgstr "Timeout rete"
-#: ../../mod/profile_photo.php:385
-msgid "Done Editing"
-msgstr "Modifica terminata"
+#: ../../mod/admin.php:488
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-#: ../../mod/profile_photo.php:428
-msgid "Image uploaded successfully."
-msgstr "Immagine caricata con successo."
+#: ../../mod/admin.php:489
+msgid "Delivery interval"
+msgstr "Recapito ritardato"
-#: ../../mod/profile_photo.php:430
-msgid "Image upload failed."
-msgstr "Il caricamento dell'immagine è fallito."
+#: ../../mod/admin.php:489
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-#: ../../mod/profile_photo.php:439
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Il ridimensionamento del'immagine [%s] è fallito."
+#: ../../mod/admin.php:490
+msgid "Poll interval"
+msgstr "Intervallo di polling"
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Elemento non valido."
+#: ../../mod/admin.php:490
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
-msgid "Channel not found."
-msgstr "Canale non trovato."
+#: ../../mod/admin.php:491
+msgid "Maximum Load Average"
+msgstr "Carico massimo medio"
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
-msgid "Page not found."
-msgstr "Pagina non trovata."
+#: ../../mod/admin.php:491
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Mi piace/Non mi piace"
+#: ../../mod/admin.php:492
+msgid "Expiration period in days for imported (matrix/network) content"
+msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Questa funzionalità è riservata agli iscritti."
+#: ../../mod/admin.php:492
+msgid "0 for no expiration of imported content"
+msgstr "0 per non avere scadenza"
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo $Projectname</a> o <a href=\"register\">registrarti come nuovo utente $Projectname</a>."
+#: ../../mod/admin.php:540
+msgid "No server found"
+msgstr "Server non trovato"
-#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
-msgid "Invalid request."
-msgstr "Richiesta non valida."
+#: ../../mod/admin.php:547 ../../mod/admin.php:831
+msgid "ID"
+msgstr "ID"
-#: ../../mod/like.php:143
-msgid "thing"
-msgstr "Oggetto"
+#: ../../mod/admin.php:547
+msgid "for channel"
+msgstr "per canale"
-#: ../../mod/like.php:189
-msgid "Channel unavailable."
-msgstr "Canale non trovato."
+#: ../../mod/admin.php:547
+msgid "on server"
+msgstr "sul server"
-#: ../../mod/like.php:231
-msgid "Previous action reversed."
-msgstr "Il comando precedente è stato annullato."
+#: ../../mod/admin.php:547
+msgid "Status"
+msgstr "Stato"
-#: ../../mod/like.php:401
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s è d'accordo"
+#: ../../mod/admin.php:549
+msgid "Server"
+msgstr "Server"
-#: ../../mod/like.php:403
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s non è d'accordo"
+#: ../../mod/admin.php:566
+msgid "Update has been marked successful"
+msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../mod/like.php:405
+#: ../../mod/admin.php:576
#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s non ha preso una decisione"
+msgid "Executing %s failed. Check system logs."
+msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-#: ../../mod/like.php:407
+#: ../../mod/admin.php:579
#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s partecipa"
+msgid "Update %s was successfully applied."
+msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../mod/like.php:409
+#: ../../mod/admin.php:583
#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s non partecipa"
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-#: ../../mod/like.php:411
+#: ../../mod/admin.php:586
#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%3$s di %2$s: %1$s forse partecipa"
-
-#: ../../mod/like.php:507
-msgid "Action completed."
-msgstr "Comando completato."
+msgid "Update function %s could not be found."
+msgstr "Impossibile trovare la funzione di aggiornamento %s"
-#: ../../mod/like.php:508
-msgid "Thank you."
-msgstr "Grazie."
+#: ../../mod/admin.php:602
+msgid "No failed updates."
+msgstr "Nessun aggiornamento fallito."
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr "Le voci del calendario sono state importate."
+#: ../../mod/admin.php:606
+msgid "Failed Updates"
+msgstr "Aggiornamenti falliti."
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr "Non sono state trovate voci del calendario."
+#: ../../mod/admin.php:608
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca come eseguito (se applicato manualmente)."
-#: ../../mod/events.php:101
-msgid "Event can not end before it has started."
-msgstr "Un evento non può terminare prima del suo inizio."
+#: ../../mod/admin.php:609
+msgid "Attempt to execute this update step automatically"
+msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
-msgid "Unable to generate preview."
-msgstr "Impossibile creare un'anteprima."
+#: ../../mod/admin.php:641
+msgid "Queue Statistics"
+msgstr "Statistiche della coda"
-#: ../../mod/events.php:110
-msgid "Event title and start time are required."
-msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+#: ../../mod/admin.php:642
+msgid "Total Entries"
+msgstr "Totale"
-#: ../../mod/events.php:128
-msgid "Event not found."
-msgstr "Evento non trovato."
+#: ../../mod/admin.php:643
+msgid "Priority"
+msgstr "Priorità"
-#: ../../mod/events.php:426
-msgid "l, F j"
-msgstr "l j F"
+#: ../../mod/admin.php:644
+msgid "Destination URL"
+msgstr "URL di destinazione"
-#: ../../mod/events.php:448
-msgid "Edit event"
-msgstr "Modifica l'evento"
+#: ../../mod/admin.php:645
+msgid "Mark hub permanently offline"
+msgstr "Questo hub è definitivamente offline"
-#: ../../mod/events.php:449
-msgid "Delete event"
-msgstr "Elimina l'evento"
+#: ../../mod/admin.php:646
+msgid "Empty queue for this hub"
+msgstr "Svuota la coda per questo hub"
-#: ../../mod/events.php:483
-msgid "calendar"
-msgstr "calendario"
+#: ../../mod/admin.php:647
+msgid "Last known contact"
+msgstr "Ultimo scambio dati"
-#: ../../mod/events.php:504
-msgid "Create New Event"
-msgstr "Crea un nuovo evento"
+#: ../../mod/admin.php:683
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "Modificato il blocco su %s account"
+msgstr[1] "Modificato il blocco verso %s"
-#: ../../mod/events.php:505 ../../mod/photos.php:839
-msgid "Previous"
-msgstr "Precendente"
+#: ../../mod/admin.php:691
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s account eliminato"
+msgstr[1] "%s account eliminati"
-#: ../../mod/events.php:506 ../../mod/photos.php:848 ../../mod/setup.php:281
-msgid "Next"
-msgstr "Successivo"
+#: ../../mod/admin.php:727
+msgid "Account not found"
+msgstr "Account non trovato"
-#: ../../mod/events.php:507
-msgid "Export"
-msgstr "Esporta"
+#: ../../mod/admin.php:739
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Account '%s' eliminato"
-#: ../../mod/events.php:510
-msgid "Import"
-msgstr "Importa"
+#: ../../mod/admin.php:747
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Aggiunto un blocco verso '%s'"
-#: ../../mod/events.php:541
-msgid "Event removed"
-msgstr "Evento eliminato"
+#: ../../mod/admin.php:755
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Rimosso il blocco verso '%s'"
-#: ../../mod/events.php:544
-msgid "Failed to remove event"
-msgstr "Impossibile eliminare l'evento"
+#: ../../mod/admin.php:818 ../../mod/admin.php:830
+msgid "Users"
+msgstr "Utenti"
-#: ../../mod/events.php:664
-msgid "Event details"
-msgstr "Dettagli evento"
+#: ../../mod/admin.php:820 ../../mod/admin.php:987
+msgid "select all"
+msgstr "seleziona tutti"
-#: ../../mod/events.php:665
-msgid "Starting date and Title are required."
-msgstr "Titolo e data d'inizio sono obbligatori."
+#: ../../mod/admin.php:821
+msgid "User registrations waiting for confirm"
+msgstr "Richieste di registrazione in attesa di conferma"
-#: ../../mod/events.php:667
-msgid "Categories (comma-separated list)"
-msgstr "Categorie (separate da virgola)"
+#: ../../mod/admin.php:822
+msgid "Request date"
+msgstr "Data richiesta"
-#: ../../mod/events.php:669
-msgid "Event Starts:"
-msgstr "Inizio:"
+#: ../../mod/admin.php:823
+msgid "No registrations."
+msgstr "Nessuna registrazione."
-#: ../../mod/events.php:676
-msgid "Finish date/time is not known or not relevant"
-msgstr "La data/ora di fine non è rilevante"
+#: ../../mod/admin.php:824 ../../mod/connedit.php:699
+msgid "Approve"
+msgstr "Approva"
-#: ../../mod/events.php:678
-msgid "Event Finishes:"
-msgstr "Fine:"
+#: ../../mod/admin.php:825
+msgid "Deny"
+msgstr "Nega"
-#: ../../mod/events.php:680 ../../mod/events.php:681
-msgid "Adjust for viewer timezone"
-msgstr "Adatta al fuso orario di chi legge"
+#: ../../mod/admin.php:827 ../../mod/connedit.php:531
+msgid "Block"
+msgstr "Blocca"
-#: ../../mod/events.php:680
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Importante per eventi che avvengono in base all'orario di un luogo particolare."
+#: ../../mod/admin.php:828 ../../mod/connedit.php:531
+msgid "Unblock"
+msgstr "Sblocca"
-#: ../../mod/events.php:686
-msgid "Title:"
-msgstr "Titolo:"
+#: ../../mod/admin.php:831
+msgid "Register date"
+msgstr "Data registrazione"
-#: ../../mod/events.php:688
-msgid "Share this event"
-msgstr "Condividi questo evento"
+#: ../../mod/admin.php:831
+msgid "Last login"
+msgstr "Ultimo accesso"
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s sta seguendo %3$s di %2$s"
+#: ../../mod/admin.php:831
+msgid "Expires"
+msgstr "Con scadenza"
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
-msgstr "Siti pubblici"
+#: ../../mod/admin.php:831
+msgid "Service Class"
+msgstr "Classe dell'account"
-#: ../../mod/pubsites.php:19
+#: ../../mod/admin.php:833
msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
-
-#: ../../mod/pubsites.php:25
-msgid "Rate this hub"
-msgstr "Valuta questo hub"
-
-#: ../../mod/pubsites.php:26
-msgid "Site URL"
-msgstr "URL del sito"
-
-#: ../../mod/pubsites.php:26
-msgid "Access Type"
-msgstr "Tipo di accesso"
-
-#: ../../mod/pubsites.php:26
-msgid "Registration Policy"
-msgstr "Politica di registrazione"
-
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
-msgid "Location"
-msgstr "Posizione geografica"
-
-#: ../../mod/pubsites.php:26
-msgid "View hub ratings"
-msgstr "Vedi le valutazioni del hub"
-
-#: ../../mod/pubsites.php:30
-msgid "Rate"
-msgstr "Valuta"
-
-#: ../../mod/pubsites.php:31
-msgid "View ratings"
-msgstr "Vedi le valutazioni"
-
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
-msgid "Edit post"
-msgstr "Modifica post"
-
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canale $Projectname"
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "L'insieme di canali è stato creato."
+#: ../../mod/admin.php:834
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Impossibile creare l'insieme."
+#: ../../mod/admin.php:870
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "Censura modificata per %s canale"
+msgstr[1] "Censura modificata per %s canali"
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Insieme aggiornato."
+#: ../../mod/admin.php:879
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s canale permette/non permette codice nei contenuti"
+msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Crea un insieme di canali."
+#: ../../mod/admin.php:886
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canale è stato rimosso"
+msgstr[1] "%s canali sono stati rimossi"
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nome dell'insieme:"
+#: ../../mod/admin.php:906
+msgid "Channel not found"
+msgstr "Canale non trovato"
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "I membri potranno vedere gli altri canali dell'insieme"
+#: ../../mod/admin.php:917
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Il canale '%s' è stato rimosso"
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Insieme rimosso."
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Applicata una censura al canale '%s'"
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Impossibile rimuovere l'insieme."
+#: ../../mod/admin.php:929
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Rimossa la censura dal canale '%s'"
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Modifica l'insieme"
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Il canale '%s' permette codice nei contenuti"
-#: ../../mod/group.php:196 ../../mod/bulksetclose.php:89
-msgid "Members"
-msgstr "Membri"
+#: ../../mod/admin.php:940
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Il canale '%s' non permette codice nei contenuti"
-#: ../../mod/group.php:198 ../../mod/bulksetclose.php:91
-msgid "All Connected Channels"
-msgstr "Tutti i canali connessi"
+#: ../../mod/admin.php:989
+msgid "Censor"
+msgstr "Applica una censura"
-#: ../../mod/group.php:233 ../../mod/bulksetclose.php:126
-msgid "Click on a channel to add or remove."
-msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+#: ../../mod/admin.php:990
+msgid "Uncensor"
+msgstr "Rimuovi la censura"
-#: ../../mod/siteinfo.php:112
-#, php-format
-msgid "Version %s"
-msgstr "Versione %s"
+#: ../../mod/admin.php:991
+msgid "Allow Code"
+msgstr "Permetti codice nei contenuti"
-#: ../../mod/siteinfo.php:133
-msgid "Installed plugins/addons/apps:"
-msgstr "App e componenti installati:"
+#: ../../mod/admin.php:992
+msgid "Disallow Code"
+msgstr "Non permettere codice nei contenuti"
-#: ../../mod/siteinfo.php:146
-msgid "No installed plugins/addons/apps"
-msgstr "Nessuna app o componente installato"
+#: ../../mod/admin.php:994
+msgid "UID"
+msgstr "UID"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:66
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/admin.php:994 ../../mod/profiles.php:447
+msgid "Address"
+msgstr "Indirizzo"
-#: ../../mod/siteinfo.php:156
+#: ../../mod/admin.php:996
msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Questo è un hub di $Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
-
-#: ../../mod/siteinfo.php:158
-msgid "Tag: "
-msgstr "Tag: "
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/siteinfo.php:160
-msgid "Last background fetch: "
-msgstr "Ultima acquisizione:"
+#: ../../mod/admin.php:997
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/siteinfo.php:163
-msgid "Running at web location"
-msgstr "In esecuzione sull'indirizzo web"
+#: ../../mod/admin.php:1037
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s non attivo."
-#: ../../mod/siteinfo.php:164
-msgid ""
-"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Visita <a href=\"https://redmatrix.me\">RedMatrix.me</a> per scoprire di più su $Projectname."
+#: ../../mod/admin.php:1041
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s attivo."
-#: ../../mod/siteinfo.php:165
-msgid "Bug reports and issues: please visit"
-msgstr "Per segnalare bug e problemi: visita"
+#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+msgid "Disable"
+msgstr "Disattiva"
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "Problematiche note su $projectname"
+#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+msgid "Enable"
+msgstr "Attiva"
-#: ../../mod/siteinfo.php:168
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
+#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+msgid "Toggle"
+msgstr "Attiva/disattiva"
-#: ../../mod/siteinfo.php:170
-msgid "Site Administrators"
-msgstr "Amministratori del sito"
+#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+msgid "Author: "
+msgstr "Autore:"
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
+#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+msgid "Maintainer: "
+msgstr "Gestore:"
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "Il post vuoto è stato ignorato."
+#: ../../mod/admin.php:1214
+msgid "No themes found."
+msgstr "Nessun tema trovato."
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "I contenuti eseguibili non sono permessi su questo canale."
+#: ../../mod/admin.php:1270
+msgid "Screenshot"
+msgstr "Istantanea dello schermo"
-#: ../../mod/item.php:914
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Post non salvato."
+#: ../../mod/admin.php:1316
+msgid "[Experimental]"
+msgstr "[Sperimentale]"
-#: ../../mod/item.php:1146
-msgid "Unable to obtain post information from database."
-msgstr "Impossibile caricare il post dal database."
+#: ../../mod/admin.php:1317
+msgid "[Unsupported]"
+msgstr "[Non supportato]"
-#: ../../mod/item.php:1153
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+#: ../../mod/admin.php:1341
+msgid "Log settings updated."
+msgstr "Impostazioni di log aggiornate."
-#: ../../mod/item.php:1160
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+#: ../../mod/admin.php:1398
+msgid "Clear"
+msgstr "Pulisci"
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Impossibile trovare l'insieme"
+#: ../../mod/admin.php:1404
+msgid "Debugging"
+msgstr "Debugging"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "Canale sconosciuto"
+#: ../../mod/admin.php:1405
+msgid "Log file"
+msgstr "File di log"
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
+#: ../../mod/admin.php:1405
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix."
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "L'insieme di canali è vuoto"
+#: ../../mod/admin.php:1406
+msgid "Log level"
+msgstr "Livello di log"
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Insieme:"
+#: ../../mod/admin.php:1452
+msgid "New Profile Field"
+msgstr "Nuovo campo del profilo"
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Contatto:"
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "Field nickname"
+msgstr "Nome breve del campo"
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "Contatto non valido."
+#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+msgid "System name of field"
+msgstr "Nome di sistema del campo"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Nessun canale."
+#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+msgid "Input type"
+msgstr "Tipo di dati"
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Contatti in comune"
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Field Name"
+msgstr "Nome del campo"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Nessun contatto in comune."
+#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+msgid "Label on profile pages"
+msgstr "Etichetta da mostrare sulla pagina del profilo"
-#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Questo sito non è un server di elenchi pubblici"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Help text"
+msgstr "Testo di aiuto"
-#: ../../mod/connections.php:52 ../../mod/connections.php:153
-msgid "Blocked"
-msgstr "Bloccati"
+#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+msgid "Additional info (optional)"
+msgstr "Informazioni aggiuntive (opzionali)"
-#: ../../mod/connections.php:57 ../../mod/connections.php:160
-msgid "Ignored"
-msgstr "Ignorati"
+#: ../../mod/admin.php:1466
+msgid "Field definition not found"
+msgstr "Impossibile trovare la definizione del campo"
-#: ../../mod/connections.php:62 ../../mod/connections.php:174
-msgid "Hidden"
-msgstr "Nascosti"
+#: ../../mod/admin.php:1472
+msgid "Edit Profile Field"
+msgstr "Modifica campo del profilo"
-#: ../../mod/connections.php:67 ../../mod/connections.php:167
-msgid "Archived"
-msgstr "Archiviati"
+#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
-#: ../../mod/connections.php:131
-msgid "Suggest new connections"
-msgstr "Suggerisci nuovi contatti"
+#: ../../mod/pconfig.php:49
+msgid "Configuration Editor"
+msgstr "Editor di configurazione"
-#: ../../mod/connections.php:134
-msgid "New Connections"
-msgstr "Nuovi contatti"
+#: ../../mod/pconfig.php:50
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
-#: ../../mod/connections.php:137
-msgid "Show pending (new) connections"
-msgstr "Richieste di contatto in attesa"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Autorizza la app"
-#: ../../mod/connections.php:140 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Tutti i contatti"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Torna alla app e inserisci questo codice di sicurezza:"
-#: ../../mod/connections.php:143
-msgid "Show all connections"
-msgstr "Mostra tutti i contatti"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Accedi al sito per continuare."
-#: ../../mod/connections.php:146
-msgid "Unblocked"
-msgstr "Non bloccati"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-#: ../../mod/connections.php:149
-msgid "Only show unblocked connections"
-msgstr "Mostra solo i contatti non bloccati"
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout aggiornato."
-#: ../../mod/connections.php:156
-msgid "Only show blocked connections"
-msgstr "Mostra solo i contatti bloccati"
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Modifica i layout di sistema"
-#: ../../mod/connections.php:163
-msgid "Only show ignored connections"
-msgstr "Mostra solo i contatti ignorati"
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layout non trovato."
-#: ../../mod/connections.php:170
-msgid "Only show archived connections"
-msgstr "Mostra solo i contatti archiviati"
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Nome del modulo:"
-#: ../../mod/connections.php:177
-msgid "Only show hidden connections"
-msgstr "Mostra solo i contatti nascosti"
+#: ../../mod/pdledit.php:55
+msgid "Layout Help"
+msgstr "Guida al layout"
-#: ../../mod/connections.php:232
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "App installata"
-#: ../../mod/connections.php:233
-msgid "Edit connection"
-msgstr "Modifica il contatto"
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "App non corretta"
-#: ../../mod/connections.php:271
-msgid "Search your connections"
-msgstr "Cerca tra i contatti"
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Inserisci del codice"
-#: ../../mod/connections.php:272
-msgid "Finding: "
-msgstr "Ricerca: "
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "Modifica app"
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nome del riquadro"
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "Crea una app"
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Nome del riquadro"
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Nome app"
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "Elemento non trovato"
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Indirizzo (URL) della app"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+msgid "Description"
+msgstr "Descrizione"
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Eliminare questo elemento?"
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "URL icona"
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "Inserisci video da YouTube"
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixel - facoltativa"
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserisci video Vorbis [.ogg]"
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "ID versione"
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserisci audio Vorbis [.ogg]"
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Prezzo app"
-#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "Login su $Projectname. Username: {la tua email}, Password: {la tua password} "
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Indirizzo (URL) per acquistare la app"
#: ../../mod/photos.php:78
msgid "Page owner information could not be retrieved."
@@ -4865,6 +4957,12 @@ msgstr "Elimina album"
msgid "Delete Photo"
msgstr "Elimina foto"
+#: ../../mod/photos.php:441 ../../mod/directory.php:59
+#: ../../mod/display.php:13 ../../mod/ratings.php:82 ../../mod/search.php:13
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
+
#: ../../mod/photos.php:452
msgid "No photos selected"
msgstr "Nessuna foto selezionata"
@@ -4940,10 +5038,22 @@ msgstr "Usa come foto del profilo"
msgid "Private Photo"
msgstr "Foto privata"
+#: ../../mod/photos.php:839 ../../mod/events.php:505
+msgid "Previous"
+msgstr "Precendente"
+
#: ../../mod/photos.php:843
msgid "View Full Size"
msgstr "Vedi nelle dimensioni originali"
+#: ../../mod/photos.php:848 ../../mod/events.php:506 ../../mod/setup.php:281
+msgid "Next"
+msgstr "Successivo"
+
+#: ../../mod/photos.php:887 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Rimuovi"
+
#: ../../mod/photos.php:921
msgid "Edit photo"
msgstr "Modifica la foto"
@@ -4988,218 +5098,155 @@ msgstr "Guarda l'album"
msgid "Recent Photos"
msgstr "Foto recenti"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elementi taggati con: %s"
-
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Risultati ricerca: %s"
-
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Profili corrispondenti"
-
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Elemento non disponibile."
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "interessi personali:"
+#: ../../mod/ping.php:263
+msgid "sent you a private message"
+msgstr "ti ha inviato un messaggio privato"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Nessun risultato"
+#: ../../mod/ping.php:314
+msgid "added your channel"
+msgstr "ha aggiunto il tuo canale"
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Assente"
+#: ../../mod/ping.php:355
+msgid "posted an event"
+msgstr "ha creato un evento"
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "Online"
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
+msgid "Block Name"
+msgstr "Nome del riquadro"
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Scegli una cartella di segnalibri"
+#: ../../mod/blocks.php:149
+msgid "Block Title"
+msgstr "Nome del riquadro"
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Salva segnalibro"
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "Poke/Prod"
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL del segnalibro"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "Manda un poke, un prod o altro"
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Descrizione"
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Destinatario"
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "O inserisci il nome di una nuova cartella di segnalibri"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Scegli cosa vuoi inviare al destinatario"
-#: ../../mod/notify.php:53 ../../mod/notifications.php:94
-msgid "No more system notifications."
-msgstr "Non ci sono nuove notifiche di sistema."
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Rendi privato questo post"
-#: ../../mod/notify.php:57 ../../mod/notifications.php:98
-msgid "System Notifications"
-msgstr "Notifiche di sistema"
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Segnalibro aggiunto"
-#: ../../mod/acl.php:231
-msgid "network"
-msgstr "rete"
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "I miei segnalibri"
-#: ../../mod/acl.php:241
-msgid "RSS"
-msgstr "RSS"
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "I segnalibri dei miei contatti"
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout aggiornato."
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Modifica i layout di sistema"
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Crea un nuovo canale"
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layout non trovato."
+#: ../../mod/manage.php:167
+msgid "Current Channel"
+msgstr "Canale attuale"
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nome del modulo:"
+#: ../../mod/manage.php:169
+msgid "Switch to one of your channels by selecting it."
+msgstr "Per passare a un altro tuo canale selezionalo."
-#: ../../mod/pdledit.php:55
-msgid "Layout Help"
-msgstr "Guida al layout"
+#: ../../mod/manage.php:170
+msgid "Default Channel"
+msgstr "Canale predefinito"
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- scegli -"
+#: ../../mod/manage.php:171
+msgid "Make Default"
+msgstr "Rendi predefinito"
-#: ../../mod/import.php:25
+#: ../../mod/manage.php:174
#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Il tuo account permette di creare al massimo %d canali."
-
-#: ../../mod/import.php:60
-msgid "Nothing to import."
-msgstr "Non c'è niente da importare."
-
-#: ../../mod/import.php:84
-msgid "Unable to download data from old server"
-msgstr "Impossibile importare i dati dal vecchio server"
-
-#: ../../mod/import.php:90
-msgid "Imported file is empty."
-msgstr "Il file da importare è vuoto."
-
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "I dati forniti non sono compatibili con questo hub."
+msgid "%d new messages"
+msgstr "%d nuovi messaggi"
-#: ../../mod/import.php:115
+#: ../../mod/manage.php:175
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
-
-#: ../../mod/import.php:135
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-
-#: ../../mod/import.php:176
-msgid "Channel clone failed. Import failed."
-msgstr "Impossibile clonare il canale. L'importazione è fallita."
+msgid "%d new introductions"
+msgstr "%d nuove richieste di entrare in contatto"
-#: ../../mod/import.php:186
-msgid "Cloned channel not found. Import failed."
-msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+#: ../../mod/manage.php:177
+msgid "Delegated Channels"
+msgstr "Canali delegati"
-#: ../../mod/import.php:574
-msgid "You must be logged in to use this feature."
-msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr "Profili corrispondenti"
-#: ../../mod/import.php:579
-msgid "Import Channel"
-msgstr "Importa un canale"
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
-#: ../../mod/import.php:580
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file."
-msgstr "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file esportato in precedenza."
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr "interessi personali:"
-#: ../../mod/import.php:581
-msgid "File to Upload"
-msgstr "File da caricare"
+#: ../../mod/match.php:70
+msgid "No matches"
+msgstr "Nessun risultato"
-#: ../../mod/import.php:582
-msgid "Or provide the old server/hub details"
-msgstr "Oppure fornisci i dettagli del vecchio server/hub"
+#: ../../mod/bulksetclose.php:89 ../../mod/group.php:196
+msgid "Members"
+msgstr "Membri"
-#: ../../mod/import.php:583
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+#: ../../mod/bulksetclose.php:91 ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Tutti i canali connessi"
-#: ../../mod/import.php:584
-msgid "Your old login email address"
-msgstr "L'email che usavi per accedere sul vecchio server"
+#: ../../mod/bulksetclose.php:126 ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
-#: ../../mod/import.php:585
-msgid "Your old login password"
-msgstr "La password per il vecchio server"
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "Sondaggio"
-#: ../../mod/import.php:586
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc."
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Guarda i risultati"
-#: ../../mod/import.php:587
-msgid "Make this hub my primary location"
-msgstr "Rendi questo server il mio indirizzo primario"
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../mod/import.php:588
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
+#: ../../mod/channel.php:97
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
-#: ../../mod/import.php:589
+#: ../../mod/post.php:236
msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
-
-#: ../../mod/editlayout.php:111
-msgid "Delete layout?"
-msgstr "Vuoi eliminare questo layout?"
-
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descrizione del layout (facoltativa)"
-
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nome layout"
-
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Modifica il layout"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "L'autenticazione magica dal tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
-#: ../../mod/chat.php:19 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
+#: ../../mod/post.php:287 ../../mod/openid.php:72 ../../mod/openid.php:180
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
#: ../../mod/chat.php:167
msgid "Room not found"
@@ -5238,599 +5285,250 @@ msgstr "Nome dell'area chat"
msgid "%1$s's Chatrooms"
msgstr "Le aree chat di %1$s"
-#: ../../mod/mitem.php:24 ../../mod/menu.php:138
-msgid "Menu not found."
-msgstr "Menù non trovato."
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr "Impossibile creare l'elemento."
-
-#: ../../mod/mitem.php:72
-msgid "Unable to update menu element."
-msgstr "Non è possibile aggiornare l'elemento del menù."
-
-#: ../../mod/mitem.php:88
-msgid "Unable to add menu element."
-msgstr "Impossibile aggiungere l'elemento al menù."
-
-#: ../../mod/mitem.php:154 ../../mod/mitem.php:226
-msgid "Menu Item Permissions"
-msgstr "Permessi del menu"
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:227 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr "(clicca per aprire/chiudere)"
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:173
-msgid "Link Name"
-msgstr "Nome link"
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:231
-msgid "Link or Submenu Target"
-msgstr "Destinazione del link o del sottomenu"
-
-#: ../../mod/mitem.php:158
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:232
-msgid "Use magic-auth if available"
-msgstr "Usa l'autenticazione magica se disponibile"
-
-#: ../../mod/mitem.php:160 ../../mod/mitem.php:233
-msgid "Open link in new window"
-msgstr "Apri il link in una nuova finestra"
-
-#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
-msgid "Order in list"
-msgstr "Ordine dell'elenco"
-
-#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "I numeri più alti andranno in fondo all'elenco"
-
-#: ../../mod/mitem.php:162
-msgid "Submit and finish"
-msgstr "Salva e termina"
-
-#: ../../mod/mitem.php:163
-msgid "Submit and continue"
-msgstr "Salva e continua"
-
-#: ../../mod/mitem.php:171
-msgid "Menu:"
-msgstr "Menu:"
-
-#: ../../mod/mitem.php:174
-msgid "Link Target"
-msgstr "Destinazione link"
-
-#: ../../mod/mitem.php:177
-msgid "Edit menu"
-msgstr "Modifica il menù"
-
-#: ../../mod/mitem.php:180
-msgid "Edit element"
-msgstr "Modifica l'elemento"
-
-#: ../../mod/mitem.php:181
-msgid "Drop element"
-msgstr "Elimina l'elemento"
-
-#: ../../mod/mitem.php:182
-msgid "New element"
-msgstr "Nuovo elemento"
-
-#: ../../mod/mitem.php:183
-msgid "Edit this menu container"
-msgstr "Modifica il contenitore del menù"
-
-#: ../../mod/mitem.php:184
-msgid "Add menu element"
-msgstr "Aggiungi un elemento al menù"
-
-#: ../../mod/mitem.php:185
-msgid "Delete this menu item"
-msgstr "Elimina questo elemento del menù"
-
-#: ../../mod/mitem.php:186
-msgid "Edit this menu item"
-msgstr "Modifica questo elemento del menù"
-
-#: ../../mod/mitem.php:203
-msgid "Menu item not found."
-msgstr "L'elemento del menù non è stato trovato."
-
-#: ../../mod/mitem.php:215
-msgid "Menu item deleted."
-msgstr "L'elemento del menù è stato eliminato."
-
-#: ../../mod/mitem.php:217
-msgid "Menu item could not be deleted."
-msgstr "L'elemento del menù non può essere eliminato."
-
-#: ../../mod/mitem.php:224
-msgid "Edit Menu Element"
-msgstr "Modifica l'elemento del menù"
-
-#: ../../mod/mitem.php:230
-msgid "Link text"
-msgstr "Testo del link"
-
-#: ../../mod/editwebpage.php:152
-msgid "Delete webpage?"
-msgstr "Vuoi eliminare questa pagina web?"
-
-#: ../../mod/editwebpage.php:173
-msgid "Page link title"
-msgstr "Link del titolo"
-
-#: ../../mod/editwebpage.php:224
-msgid "Edit Webpage"
-msgstr "Modifica la pagina web"
-
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Questo server di elenchi pubblici necessita di un token di autenticazione"
-
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Nessun account valido trovato."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Assente"
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Utente del sito (%s)"
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "Online"
-#: ../../mod/lostpass.php:40
+#: ../../mod/probe.php:24 ../../mod/probe.php:30
#, php-format
-msgid "Password reset requested at %s"
-msgstr "È stato richiesto di reimpostare password su %s"
+msgid "Fetching URL returns error: %1$s"
+msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
+#: ../../mod/cloud.php:120
+msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
+msgstr "Login su $Projectname. Username: {la tua email}, Password: {la tua password} "
-#: ../../mod/lostpass.php:86 ../../boot.php:1558
-msgid "Password Reset"
-msgstr "Reimposta la password"
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "Nessun canale."
-#: ../../mod/lostpass.php:87
-msgid "Your password has been reset as requested."
-msgstr "La password è stata reimpostata come richiesto."
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "Contatti in comune"
-#: ../../mod/lostpass.php:88
-msgid "Your new password is"
-msgstr "La tua nuova password è"
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr "Nessun contatto in comune."
-#: ../../mod/lostpass.php:89
-msgid "Save or copy your new password - and then"
-msgstr "Salva o copia la tua nuova password, quindi"
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-#: ../../mod/lostpass.php:90
-msgid "click here to login"
-msgstr "clicca qui per accedere"
+#: ../../mod/profile_photo.php:162
+msgid "Image resize failed."
+msgstr "Il ridimensionamento dell'immagine è fallito."
-#: ../../mod/lostpass.php:91
+#: ../../mod/profile_photo.php:206
msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
-#: ../../mod/lostpass.php:108
+#: ../../mod/profile_photo.php:233
#, php-format
-msgid "Your password has changed at %s"
-msgstr "La tua password su %s è cambiata"
-
-#: ../../mod/lostpass.php:123
-msgid "Forgot your Password?"
-msgstr "Hai dimenticato la password?"
-
-#: ../../mod/lostpass.php:124
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
+msgid "Image exceeds size limit of %d"
+msgstr "La dimensione dell'immagine supera il limite di %d"
-#: ../../mod/lostpass.php:125
-msgid "Email Address"
-msgstr "Indirizzo email"
+#: ../../mod/profile_photo.php:242
+msgid "Unable to process image."
+msgstr "Impossibile elaborare l'immagine."
-#: ../../mod/lostpass.php:126
-msgid "Reset"
-msgstr "Reimposta"
+#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
+msgid "Photo not available."
+msgstr "Foto non disponibile."
-#: ../../mod/rate.php:157
-msgid "Website:"
-msgstr "Sito web:"
+#: ../../mod/profile_photo.php:359
+msgid "Upload File:"
+msgstr "Carica un file:"
-#: ../../mod/rate.php:160
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
+#: ../../mod/profile_photo.php:360
+msgid "Select a profile:"
+msgstr "Seleziona un profilo:"
-#: ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr "Valutazione (visibile a tutti)"
+#: ../../mod/profile_photo.php:361
+msgid "Upload Profile Photo"
+msgstr "Carica la foto del profilo"
-#: ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
+#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
+msgid "or"
+msgstr "o"
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Vuoi eliminare questo riquadro?"
+#: ../../mod/profile_photo.php:366
+msgid "skip this step"
+msgstr "salta questo passaggio"
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Modifica il riquadro"
+#: ../../mod/profile_photo.php:366
+msgid "select a photo from your photo albums"
+msgstr "seleziona una foto dai tuoi album"
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Hai superato il numero massimo di inviti."
+#: ../../mod/profile_photo.php:382
+msgid "Crop Image"
+msgstr "Ritaglia immagine"
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: non è un indirizzo email valido."
+#: ../../mod/profile_photo.php:383
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "Vieni con noi su RedMatrix"
+#: ../../mod/profile_photo.php:385
+msgid "Done Editing"
+msgstr "Modifica terminata"
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
+#: ../../mod/profile_photo.php:428
+msgid "Image uploaded successfully."
+msgstr "Immagine caricata con successo."
-#: ../../mod/invite.php:92
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: la consegna del messaggio è fallita."
+#: ../../mod/profile_photo.php:430
+msgid "Image upload failed."
+msgstr "Il caricamento dell'immagine è fallito."
-#: ../../mod/invite.php:96
+#: ../../mod/profile_photo.php:439
#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d messaggio inviato."
-msgstr[1] "%d messaggi inviati."
-
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "Non hai altri inviti disponibili"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Spedisci inviti"
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Inserisci gli indirizzi email, uno per riga:"
+msgid "Image size reduction [%s] failed."
+msgstr "Il ridimensionamento del'immagine [%s] è fallito."
-#: ../../mod/invite.php:131 ../../mod/mail.php:235 ../../mod/mail.php:348
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Continua"
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Entra nella mia comunità su $Projectname."
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Canale premium - installazione"
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code: "
-msgstr "Dovrai fornire questo codice di invito:"
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Abilita le restrizioni del canale premium"
-#: ../../mod/invite.php:135
+#: ../../mod/connect.php:88
msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
-
-#: ../../mod/invite.php:138
-msgid "or visit "
-msgstr "oppure visita "
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Clicca su [Aggiungi]"
-
-#: ../../mod/locs.php:21 ../../mod/locs.php:52
-msgid "Location not found."
-msgstr "Indirizzo non trovato."
-
-#: ../../mod/locs.php:56
-msgid "Primary location cannot be removed."
-msgstr "L'indirizzo principale non può essere rimosso."
-
-#: ../../mod/locs.php:88
-msgid "No locations found."
-msgstr "Nessun indirizzo trovato."
-
-#: ../../mod/locs.php:101
-msgid "Manage Channel Locations"
-msgstr "Modifica gli indirizzi del canale"
-
-#: ../../mod/locs.php:102
-msgid "Location (address)"
-msgstr "Indirizzo"
-
-#: ../../mod/locs.php:103
-msgid "Primary Location"
-msgstr "Indirizzo primario"
-
-#: ../../mod/locs.php:104
-msgid "Drop location"
-msgstr "Elimina un indirizzo"
-
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
-
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Sorgente creata."
-
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Sorgente aggiornata."
-
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
-
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
-
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nuova sorgente"
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
-
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Nome del canale"
-
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Sorgente non trovata."
-
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Modifica la sorgente"
-
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Elimina la sorgente"
-
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Sorgente eliminata"
-
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Impossibile rimuovere la sorgente."
-
-#: ../../mod/menu.php:45
-msgid "Unable to update menu."
-msgstr "Impossibile aggiornare il menù."
-
-#: ../../mod/menu.php:56
-msgid "Unable to create menu."
-msgstr "Impossibile creare il menù."
-
-#: ../../mod/menu.php:92 ../../mod/menu.php:104
-msgid "Menu Name"
-msgstr "Nome del menu"
-
-#: ../../mod/menu.php:92
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
-
-#: ../../mod/menu.php:93 ../../mod/menu.php:105
-msgid "Menu Title"
-msgstr "Titolo del menu"
-
-#: ../../mod/menu.php:93
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-
-#: ../../mod/menu.php:94
-msgid "Allow Bookmarks"
-msgstr "Permetti i segnalibri"
-
-#: ../../mod/menu.php:94 ../../mod/menu.php:151
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Puoi salvare i segnalibri nei menù"
-
-#: ../../mod/menu.php:95 ../../mod/menu.php:153
-msgid "Submit and proceed"
-msgstr "Salva e procedi"
-
-#: ../../mod/menu.php:107
-msgid "Drop"
-msgstr "Elimina"
-
-#: ../../mod/menu.php:111
-msgid "Bookmarks allowed"
-msgstr "Permetti segnalibri"
-
-#: ../../mod/menu.php:113
-msgid "Delete this menu"
-msgstr "Elimina questo menù"
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
-#: ../../mod/menu.php:114 ../../mod/menu.php:148
-msgid "Edit menu contents"
-msgstr "Modifica i contenuti del menù"
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
-#: ../../mod/menu.php:115
-msgid "Edit this menu"
-msgstr "Modifica questo menù"
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
-#: ../../mod/menu.php:130
-msgid "Menu could not be deleted."
-msgstr "Il menù non può essere eliminato."
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
-#: ../../mod/menu.php:143
-msgid "Edit Menu"
-msgstr "Modifica menù"
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Canale premium - con restrizioni"
-#: ../../mod/menu.php:147
-msgid "Add or remove entries to this menu"
-msgstr "Aggiungi o rimuovi elementi di questo menù"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "L'identificativo della richiesta non è valido."
-#: ../../mod/menu.php:149
-msgid "Menu name"
-msgstr "Nome del menù"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Rifiuta"
-#: ../../mod/menu.php:149
-msgid "Must be unique, only seen by you"
-msgstr "Deve essere unico, lo vedrai solo tu"
+#: ../../mod/notifications.php:51 ../../mod/connedit.php:539
+msgid "Ignore"
+msgstr "Ignora"
-#: ../../mod/menu.php:150
-msgid "Menu title"
-msgstr "Titolo del menù"
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Non ci sono nuove notifiche di sistema."
-#: ../../mod/menu.php:150
-msgid "Menu title as seen by others"
-msgstr "Titolo del menù come comparirà a tutti"
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Notifiche di sistema"
-#: ../../mod/menu.php:151
-msgid "Allow bookmarks"
-msgstr "Permetti l'invio di segnalibri"
+#: ../../mod/connections.php:52 ../../mod/connections.php:153
+msgid "Blocked"
+msgstr "Bloccati"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permesso negato."
+#: ../../mod/connections.php:57 ../../mod/connections.php:160
+msgid "Ignored"
+msgstr "Ignorati"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "File non trovato."
+#: ../../mod/connections.php:62 ../../mod/connections.php:174
+msgid "Hidden"
+msgstr "Nascosti"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Modifica i permessi del file"
+#: ../../mod/connections.php:67 ../../mod/connections.php:167
+msgid "Archived"
+msgstr "Archiviati"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Modifica i permessi"
+#: ../../mod/connections.php:131
+msgid "Suggest new connections"
+msgstr "Suggerisci nuovi contatti"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Includi tutti i file e le sottocartelle"
+#: ../../mod/connections.php:134
+msgid "New Connections"
+msgstr "Nuovi contatti"
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Torna all'elenco dei file"
+#: ../../mod/connections.php:137
+msgid "Show pending (new) connections"
+msgstr "Richieste di contatto in attesa"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/incolla questo codice per far comparire il file in un post"
+#: ../../mod/connections.php:140 ../../mod/profperm.php:139
+msgid "All Connections"
+msgstr "Tutti i contatti"
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
+#: ../../mod/connections.php:143
+msgid "Show all connections"
+msgstr "Mostra tutti i contatti"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Condividi questo file"
+#: ../../mod/connections.php:146
+msgid "Unblocked"
+msgstr "Non bloccati"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Mostra l'URL del file"
+#: ../../mod/connections.php:149
+msgid "Only show unblocked connections"
+msgstr "Mostra solo i contatti non bloccati"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifica ai contatti che hai caricato questo file"
+#: ../../mod/connections.php:156
+msgid "Only show blocked connections"
+msgstr "Mostra solo i contatti bloccati"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contatto non trovato."
+#: ../../mod/connections.php:163
+msgid "Only show ignored connections"
+msgstr "Mostra solo i contatti ignorati"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggerimento di amicizia inviato."
+#: ../../mod/connections.php:170
+msgid "Only show archived connections"
+msgstr "Mostra solo i contatti archiviati"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggerisci amici"
+#: ../../mod/connections.php:177
+msgid "Only show hidden connections"
+msgstr "Mostra solo i contatti nascosti"
-#: ../../mod/fsuggest.php:99
+#: ../../mod/connections.php:232
#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggerisci un amico a %s"
-
-#: ../../mod/magic.php:69
-msgid "Hub not found."
-msgstr "Server non trovato."
-
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
-msgstr "Poke/Prod"
-
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
-msgstr "Manda un poke, un prod o altro"
-
-#: ../../mod/poke.php:161
-msgid "Recipient"
-msgstr "Destinatario"
-
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
-msgstr "Scegli cosa vuoi inviare al destinatario"
-
-#: ../../mod/poke.php:165
-msgid "Make this post private"
-msgstr "Rendi privato questo post"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Indentificativo del profilo non valido."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Modifica la visibilità del profilo"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visibile a"
+#: ../../mod/connections.php:233
+msgid "Edit connection"
+msgstr "Modifica il contatto"
-#: ../../mod/impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento installato"
+#: ../../mod/connections.php:271
+msgid "Search your connections"
+msgstr "Cerca tra i contatti"
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elementi con installazione fallita: %s"
+#: ../../mod/connections.php:272
+msgid "Finding: "
+msgstr "Ricerca: "
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
@@ -5905,9 +5603,9 @@ msgstr "Home page"
msgid "Interests"
msgstr "Interessi"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
-msgid "Address"
-msgstr "Indirizzo"
+#: ../../mod/profiles.php:454 ../../mod/pubsites.php:26
+msgid "Location"
+msgstr "Posizione geografica"
#: ../../mod/profiles.php:537
msgid "Profile updated."
@@ -6089,1260 +5787,691 @@ msgstr "Aggiungi Oggetti al profilo"
msgid "Include desirable objects in your profile"
msgstr "Aggiungi oggetti interessanti al tuo profilo"
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "Nessuna valutazione"
-
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Valutazioni"
-
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Valutazione:"
-
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Sito web:"
-
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Descrizione:"
-
-#: ../../mod/viewsrc.php:38
-msgid "Source of Item"
-msgstr "Sorgente"
-
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "Server $Projectname - Installazione"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr " Impossibile connettersi al database."
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "Il database del sito è stato installato."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Leggi il file 'install/INSTALL.txt'."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "Verifica del sistema"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Verifica di nuovo"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Connessione al database"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-
-#: ../../mod/setup.php:307
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Server del database"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "'localhost' è il predefinito"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Port del database"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Scrivi 0 per usare il valore standard"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Utente database"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Password utente database"
+#: ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Nome database"
+#: ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Tipo database"
+#: ../../mod/connedit.php:219
+msgid "Connection updated."
+msgstr "Contatto aggiornato."
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del sito"
+#: ../../mod/connedit.php:221
+msgid "Failed to update connection record."
+msgstr "Impossibile aggiornare le informazioni del contatto."
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
+#: ../../mod/connedit.php:267
+msgid "is now connected to"
+msgstr "ha come nuovo contatto"
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "URL completo del sito"
+#: ../../mod/connedit.php:392
+msgid "Could not access address book record."
+msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+#: ../../mod/connedit.php:406
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
+#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
+#: ../../mod/connedit.php:470
+msgid "Unable to set address book parameters."
+msgstr "Impossibile impostare i parametri della rubrica."
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Impostazioni del sito"
+#: ../../mod/connedit.php:494
+msgid "Connection has been removed."
+msgstr "Il contatto è stato rimosso."
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+#: ../../mod/connedit.php:513
+#, php-format
+msgid "View %s's profile"
+msgstr "Guarda il profilo di %s"
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
+#: ../../mod/connedit.php:517
+msgid "Refresh Permissions"
+msgstr "Modifica i permessi"
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "Path del comando PHP"
+#: ../../mod/connedit.php:520
+msgid "Fetch updated permissions"
+msgstr "Guarda e modifica i permessi assegnati"
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
+#: ../../mod/connedit.php:524
+msgid "Recent Activity"
+msgstr "Attività recenti"
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
+#: ../../mod/connedit.php:527
+msgid "View recent posts and comments"
+msgstr "Leggi i post recenti e i commenti"
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+#: ../../mod/connedit.php:534
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "E' necessario perché funzioni la consegna dei messaggi."
+#: ../../mod/connedit.php:535
+msgid "This connection is blocked!"
+msgstr "Questa connessione è tra quelle bloccate!"
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../mod/connedit.php:539
+msgid "Unignore"
+msgstr "Non ignorare"
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
+#: ../../mod/connedit.php:542
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Puoi regolare queste impostazioni sul server in php.ini"
+#: ../../mod/connedit.php:543
+msgid "This connection is ignored!"
+msgstr "Questa connessione è tra quelle ignorate!"
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "Limiti PHP in upload"
+#: ../../mod/connedit.php:547
+msgid "Unarchive"
+msgstr "Non archiviare"
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
+#: ../../mod/connedit.php:547
+msgid "Archive"
+msgstr "Archivia"
-#: ../../mod/setup.php:485
+#: ../../mod/connedit.php:550
msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di criptazione"
+#: ../../mod/connedit.php:551
+msgid "This connection is archived!"
+msgstr "Questa connessione è tra quelle archiviate!"
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
+#: ../../mod/connedit.php:555
+msgid "Unhide"
+msgstr "Non nascondere"
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
+#: ../../mod/connedit.php:555
+msgid "Hide"
+msgstr "Nascondi"
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
+#: ../../mod/connedit.php:558
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "modulo PHP per mysqli oppure prostgres"
+#: ../../mod/connedit.php:559
+msgid "This connection is hidden!"
+msgstr "Questa connessione è tra quelle nascoste!"
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+#: ../../mod/connedit.php:566
+msgid "Delete this connection"
+msgstr "Elimina questo contatto"
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "modulo PHP mcrypt"
+#: ../../mod/connedit.php:647
+msgid "Approve this connection"
+msgstr "Approva questo contatto"
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "modulo xml PHP"
+#: ../../mod/connedit.php:647
+msgid "Accept connection to allow communication"
+msgstr "Entra in contatto per poter comunicare"
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "modulo Apache mod_rewrite"
+#: ../../mod/connedit.php:652
+msgid "Set Affinity"
+msgstr "Scegli l'affinità"
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../mod/connedit.php:655
+msgid "Set Profile"
+msgstr "Scegli il profilo da mostrare"
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/connedit.php:658
+msgid "Set Affinity & Profile"
+msgstr "Affinità e profilo"
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+#: ../../mod/connedit.php:675
+msgid "Apply these permissions automatically"
+msgstr "Applica automaticamente questi permessi"
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../mod/connedit.php:677
+msgid "This connection's address is"
+msgstr "Indirizzo di questo contatto"
-#: ../../mod/setup.php:528
+#: ../../mod/connedit.php:680
msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
+#: ../../mod/connedit.php:682
+msgid "Slide to adjust your degree of friendship"
+msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+#: ../../mod/connedit.php:684
+msgid "Slide to adjust your rating"
+msgstr "Trascina per cambiare la tua valutazione"
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
+#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
+msgid "Optionally explain your rating"
+msgstr "Commento opzionale"
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
+#: ../../mod/connedit.php:687
+msgid "Custom Filter"
+msgstr "Filtro personalizzato"
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo."
+#: ../../mod/connedit.php:688
+msgid "Only import posts with this text"
+msgstr "Importa solo i post che contengono questo testo"
-#: ../../mod/setup.php:567
+#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+"words one per line or #tags or /patterns/, leave blank to import all posts"
+msgstr "una parola per riga, oppure #tag o /pattern/ oppure lascia vuoto per importare tutto"
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix."
+#: ../../mod/connedit.php:689
+msgid "Do not import posts with this text"
+msgstr "Non importare i post con questo testo"
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+#: ../../mod/connedit.php:691
+msgid "This information is public!"
+msgstr "Questa informazione è pubblica!"
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../mod/connedit.php:696
+msgid "Connection Pending Approval"
+msgstr "Contatti in attesa di approvazione"
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+#: ../../mod/connedit.php:697
+msgid "Connection Request"
+msgstr "Richiesta di entrare in contatto"
-#: ../../mod/setup.php:587
+#: ../../mod/connedit.php:698
#, php-format
msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix."
+"(%s) would like to connect with you. Please approve this connection to allow"
+" communication."
+msgstr "(%s) vorrebbe entrare in contatto con te. Per permettere la comunicazione è necessario che tu approvi."
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+#: ../../mod/connedit.php:700
+msgid "Approve Later"
+msgstr "Approva più tardi"
-#: ../../mod/setup.php:589
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+#: ../../mod/connedit.php:703
+msgid "inherited"
+msgstr "derivato"
-#: ../../mod/setup.php:592
+#: ../../mod/connedit.php:705
#, php-format
-msgid "%s is writable"
-msgstr "%s è scrivibile"
-
-#: ../../mod/setup.php:608
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"
-
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "l'archivio è scrivibile"
-
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
-
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-
-#: ../../mod/setup.php:648
msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+#: ../../mod/connedit.php:707
+msgid "Their Settings"
+msgstr "Permessi concessi a te"
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+#: ../../mod/connedit.php:708
+msgid "My Settings"
+msgstr "I permessi che concedo"
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "Validazione del certificato SSL"
+#: ../../mod/connedit.php:710
+msgid "Individual Permissions"
+msgstr "Permessi individuali"
-#: ../../mod/setup.php:658
+#: ../../mod/connedit.php:711
msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
-
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Url rewrite funziona correttamente"
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
-#: ../../mod/setup.php:670
+#: ../../mod/connedit.php:712
msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi proprio le impostazioni generali."
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>I prossimi passi</h1>"
+#: ../../mod/connedit.php:713
+msgid "Last update:"
+msgstr "Ultimo aggiornamento:"
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Indentificativo del profilo non valido."
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Modifica la visibilità del profilo"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:287
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
-#: ../../mod/tagger.php:96
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Visibile a"
-#: ../../mod/viewconnections.php:62
-msgid "No connections."
-msgstr "Nessun contatto."
+#: ../../mod/dav.php:121
+msgid "$Projectname channel"
+msgstr "Canale $Projectname"
-#: ../../mod/viewconnections.php:75
+#: ../../mod/directory.php:234
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita il profilo di %s [%s]"
-
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "la firma ricevuta non è valida"
-
-#: ../../mod/admin.php:52
-msgid "Theme settings updated."
-msgstr "Le impostazioni del tema sono state aggiornate."
-
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
-msgid "Site"
-msgstr "Sito"
-
-#: ../../mod/admin.php:94
-msgid "Accounts"
-msgstr "Account"
-
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
-msgid "Channels"
-msgstr "Canali"
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
-msgid "Plugins"
-msgstr "Plugin"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
-msgid "Themes"
-msgstr "Temi"
-
-#: ../../mod/admin.php:98
-msgid "Inspect queue"
-msgstr "Coda di attesa"
-
-#: ../../mod/admin.php:100
-msgid "Profile Config"
-msgstr "Configurazione del profilo"
-
-#: ../../mod/admin.php:101
-msgid "DB updates"
-msgstr "Aggiornamenti al DB"
-
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
-msgid "Logs"
-msgstr "Log"
-
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-msgstr "Plugin"
-
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Registrazioni in attesa"
-
-#: ../../mod/admin.php:200
-msgid "# Accounts"
-msgstr "# account"
-
-#: ../../mod/admin.php:201
-msgid "# blocked accounts"
-msgstr "# account bloccati"
-
-#: ../../mod/admin.php:202
-msgid "# expired accounts"
-msgstr "# account scaduti"
-
-#: ../../mod/admin.php:203
-msgid "# expiring accounts"
-msgstr "# account in scadenza"
-
-#: ../../mod/admin.php:216
-msgid "# Channels"
-msgstr "# canali"
-
-#: ../../mod/admin.php:217
-msgid "# primary"
-msgstr "# primari"
-
-#: ../../mod/admin.php:218
-msgid "# clones"
-msgstr "# cloni"
-
-#: ../../mod/admin.php:224
-msgid "Message queues"
-msgstr "Coda messaggi in uscita"
-
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
-msgid "Administration"
-msgstr "Amministrazione"
-
-#: ../../mod/admin.php:241
-msgid "Summary"
-msgstr "Riepilogo"
-
-#: ../../mod/admin.php:244
-msgid "Registered accounts"
-msgstr "Account creati"
-
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
-msgid "Pending registrations"
-msgstr "Registrazioni da approvare"
-
-#: ../../mod/admin.php:246
-msgid "Registered channels"
-msgstr "Canali creati"
-
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
-msgid "Active plugins"
-msgstr "Plugin attivi"
-
-#: ../../mod/admin.php:248
-msgid "Version"
-msgstr "Versione"
-
-#: ../../mod/admin.php:363
-msgid "Site settings updated."
-msgstr "Impostazioni del sito salvate correttamente."
-
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "mobile"
-
-#: ../../mod/admin.php:402
-msgid "experimental"
-msgstr "sperimentale"
-
-#: ../../mod/admin.php:404
-msgid "unsupported"
-msgstr "non supportato"
-
-#: ../../mod/admin.php:429
-msgid "Yes - with approval"
-msgstr "Sì - con approvazione"
-
-#: ../../mod/admin.php:435
-msgid "My site is not a public server"
-msgstr "Non è un server pubblico"
-
-#: ../../mod/admin.php:436
-msgid "My site has paid access only"
-msgstr "È un servizio a pagamento"
-
-#: ../../mod/admin.php:437
-msgid "My site has free access only"
-msgstr "È un servizio gratuito"
-
-#: ../../mod/admin.php:438
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-
-#: ../../mod/admin.php:454 ../../mod/register.php:207
-msgid "Registration"
-msgstr "Registrazione"
-
-#: ../../mod/admin.php:455
-msgid "File upload"
-msgstr "Caricamento file"
-
-#: ../../mod/admin.php:456
-msgid "Policies"
-msgstr "Politiche"
-
-#: ../../mod/admin.php:461
-msgid "Site name"
-msgstr "Nome del sito"
-
-#: ../../mod/admin.php:462
-msgid "Banner/Logo"
-msgstr "Banner o logo"
-
-#: ../../mod/admin.php:463
-msgid "Administrator Information"
-msgstr "Informazioni sull'amministratore"
-
-#: ../../mod/admin.php:463
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-
-#: ../../mod/admin.php:464
-msgid "System language"
-msgstr "Lingua di sistema"
-
-#: ../../mod/admin.php:465
-msgid "System theme"
-msgstr "Tema di sistema"
-
-#: ../../mod/admin.php:465
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-
-#: ../../mod/admin.php:466
-msgid "Mobile system theme"
-msgstr "Tema di sistema per dispositivi mobili"
-
-#: ../../mod/admin.php:466
-msgid "Theme for mobile devices"
-msgstr "Tema per i dispositivi mobili"
-
-#: ../../mod/admin.php:468
-msgid "Enable Diaspora Protocol"
-msgstr "Abilita la comunicazione con Diaspora"
-
-#: ../../mod/admin.php:468
-msgid "Communicate with Diaspora and Friendica - experimental"
-msgstr "Sperimentale - per comunicare con Diaspora e Friendica"
-
-#: ../../mod/admin.php:469
-msgid "Allow Feeds as Connections"
-msgstr "Permetti di aggiungere i feed come contatti"
-
-#: ../../mod/admin.php:469
-msgid "(Heavy system resource usage)"
-msgstr "(Uso intenso delle risorse di sistema!)"
-
-#: ../../mod/admin.php:470
-msgid "Maximum image size"
-msgstr "Dimensione massima immagini"
-
-#: ../../mod/admin.php:470
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-
-#: ../../mod/admin.php:471
-msgid "Does this site allow new member registration?"
-msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-
-#: ../../mod/admin.php:472
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-
-#: ../../mod/admin.php:473
-msgid "Register text"
-msgstr "Testo di registrazione"
-
-#: ../../mod/admin.php:473
-msgid "Will be displayed prominently on the registration page."
-msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Conserva l'URL della homepage"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-
-#: ../../mod/admin.php:476
-msgid "Accounts abandoned after x days"
-msgstr "Account abbandonati dopo X giorni"
-
-#: ../../mod/admin.php:476
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-
-#: ../../mod/admin.php:477
-msgid "Allowed friend domains"
-msgstr "Domini fidati e consentiti"
-
-#: ../../mod/admin.php:477
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-
-#: ../../mod/admin.php:478
-msgid "Allowed email domains"
-msgstr "Domini email consentiti"
-
-#: ../../mod/admin.php:478
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-
-#: ../../mod/admin.php:479
-msgid "Not allowed email domains"
-msgstr "Domini email non consentiti"
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valutazione"
+msgstr[1] "%d valutazioni"
-#: ../../mod/admin.php:479
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
+#: ../../mod/directory.php:245
+msgid "Gender: "
+msgstr "Sesso:"
-#: ../../mod/admin.php:480
-msgid "Block public"
-msgstr "Blocca pagine pubbliche"
+#: ../../mod/directory.php:247
+msgid "Status: "
+msgstr "Stato:"
-#: ../../mod/admin.php:480
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
+#: ../../mod/directory.php:249
+msgid "Homepage: "
+msgstr "Homepage:"
-#: ../../mod/admin.php:481
-msgid "Verify Email Addresses"
-msgstr "Verifica l'indirizzo email"
+#: ../../mod/directory.php:308 ../../mod/events.php:682
+msgid "Description:"
+msgstr "Descrizione:"
-#: ../../mod/admin.php:481
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
+#: ../../mod/directory.php:317
+msgid "Public Forum:"
+msgstr "Forum pubblico:"
-#: ../../mod/admin.php:482
-msgid "Force publish"
-msgstr "Forza la publicazione del profilo"
+#: ../../mod/directory.php:320
+msgid "Keywords: "
+msgstr "Parole chiave:"
-#: ../../mod/admin.php:482
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito."
+#: ../../mod/directory.php:323
+msgid "Don't suggest"
+msgstr "Non fornire suggerimenti"
-#: ../../mod/admin.php:483
-msgid "Disable discovery tab"
-msgstr "Disabilita la funzione 'scopri'"
+#: ../../mod/directory.php:325
+msgid "Common connections:"
+msgstr "Contatti in comune:"
-#: ../../mod/admin.php:483
-msgid ""
-"Remove the tab in the network view with public content pulled from sources "
-"chosen for this site."
-msgstr "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti."
+#: ../../mod/directory.php:374
+msgid "Global Directory"
+msgstr "Elenco globale dei canali"
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "Mostra il login sulla homepage"
+#: ../../mod/directory.php:374
+msgid "Local Directory"
+msgstr "Elenco canali su questo server"
-#: ../../mod/admin.php:484
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
+#: ../../mod/directory.php:380
+msgid "Finding:"
+msgstr "Ricerca:"
-#: ../../mod/admin.php:486
-msgid "Proxy user"
-msgstr "Utente proxy"
+#: ../../mod/directory.php:385
+msgid "next page"
+msgstr "pagina successiva"
-#: ../../mod/admin.php:487
-msgid "Proxy URL"
-msgstr "URL proxy"
+#: ../../mod/directory.php:385
+msgid "previous page"
+msgstr "pagina precedente"
-#: ../../mod/admin.php:488
-msgid "Network timeout"
-msgstr "Timeout rete"
+#: ../../mod/directory.php:386
+msgid "Sort options"
+msgstr "Opzioni di ordinamento"
-#: ../../mod/admin.php:488
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
+#: ../../mod/directory.php:387
+msgid "Alphabetic"
+msgstr "Alfabetico"
-#: ../../mod/admin.php:489
-msgid "Delivery interval"
-msgstr "Recapito ritardato"
+#: ../../mod/directory.php:388
+msgid "Reverse Alphabetic"
+msgstr "Alfabetico inverso"
-#: ../../mod/admin.php:489
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
+#: ../../mod/directory.php:389
+msgid "Newest to Oldest"
+msgstr "Prima i più recenti"
-#: ../../mod/admin.php:490
-msgid "Poll interval"
-msgstr "Intervallo di polling"
+#: ../../mod/directory.php:390
+msgid "Oldest to Newest"
+msgstr "Prima i più vecchi"
-#: ../../mod/admin.php:490
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
+#: ../../mod/directory.php:407
+msgid "No entries (some entries may be hidden)."
+msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
-#: ../../mod/admin.php:491
-msgid "Maximum Load Average"
-msgstr "Carico massimo medio"
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr "Siti pubblici"
-#: ../../mod/admin.php:491
+#: ../../mod/pubsites.php:19
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
+"The listed sites allow public registration for the $Projectname network. All"
+" sites in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some sites may require subscription or"
+" provide tiered service plans. The provider links <strong>may</strong> "
+"provide additional details."
+msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
-#: ../../mod/admin.php:492
-msgid "Expiration period in days for imported (matrix/network) content"
-msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
+#: ../../mod/pubsites.php:25
+msgid "Rate this hub"
+msgstr "Valuta questo hub"
-#: ../../mod/admin.php:492
-msgid "0 for no expiration of imported content"
-msgstr "0 per non avere scadenza"
+#: ../../mod/pubsites.php:26
+msgid "Site URL"
+msgstr "URL del sito"
-#: ../../mod/admin.php:540
-msgid "No server found"
-msgstr "Server non trovato"
+#: ../../mod/pubsites.php:26
+msgid "Access Type"
+msgstr "Tipo di accesso"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
-msgid "ID"
-msgstr "ID"
+#: ../../mod/pubsites.php:26
+msgid "Registration Policy"
+msgstr "Politica di registrazione"
-#: ../../mod/admin.php:547
-msgid "for channel"
-msgstr "per canale"
+#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "Progetto"
-#: ../../mod/admin.php:547
-msgid "on server"
-msgstr "sul server"
+#: ../../mod/pubsites.php:26
+msgid "View hub ratings"
+msgstr "Vedi le valutazioni del hub"
-#: ../../mod/admin.php:547
-msgid "Status"
-msgstr "Stato"
+#: ../../mod/pubsites.php:30
+msgid "Rate"
+msgstr "Valuta"
-#: ../../mod/admin.php:549
-msgid "Server"
-msgstr "Server"
+#: ../../mod/pubsites.php:31
+msgid "View ratings"
+msgstr "Vedi le valutazioni"
-#: ../../mod/admin.php:566
-msgid "Update has been marked successful"
-msgstr "L'aggiornamento è stato marcato come eseguito."
+#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
+msgid "This site is not a directory server"
+msgstr "Questo sito non è un server di elenchi pubblici"
-#: ../../mod/admin.php:576
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
+#: ../../mod/dirsearch.php:29
+msgid "This directory server requires an access token"
+msgstr "Questo server di elenchi pubblici necessita di un token di autenticazione"
-#: ../../mod/admin.php:579
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "L'aggiornamento %s è terminato correttamente."
+#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
+#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Elemento non trovato"
-#: ../../mod/admin.php:583
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
+#: ../../mod/editblock.php:117
+msgid "Delete block?"
+msgstr "Vuoi eliminare questo riquadro?"
-#: ../../mod/admin.php:586
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Impossibile trovare la funzione di aggiornamento %s"
+#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142
+#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:187
+msgid "Insert YouTube video"
+msgstr "Inserisci video da YouTube"
-#: ../../mod/admin.php:602
-msgid "No failed updates."
-msgstr "Nessun aggiornamento fallito."
+#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:188
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Inserisci video Vorbis [.ogg]"
-#: ../../mod/admin.php:606
-msgid "Failed Updates"
-msgstr "Aggiornamenti falliti."
+#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:189
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Inserisci audio Vorbis [.ogg]"
-#: ../../mod/admin.php:608
-msgid "Mark success (if update was manually applied)"
-msgstr "Marca come eseguito (se applicato manualmente)."
+#: ../../mod/editblock.php:179
+msgid "Edit Block"
+msgstr "Modifica il riquadro"
-#: ../../mod/admin.php:609
-msgid "Attempt to execute this update step automatically"
-msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
+#: ../../mod/editlayout.php:111
+msgid "Delete layout?"
+msgstr "Vuoi eliminare questo layout?"
-#: ../../mod/admin.php:641
-msgid "Queue Statistics"
-msgstr "Statistiche della coda"
+#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+msgid "Layout Description (Optional)"
+msgstr "Descrizione del layout (facoltativa)"
-#: ../../mod/admin.php:642
-msgid "Total Entries"
-msgstr "Totale"
+#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:179
+msgid "Layout Name"
+msgstr "Nome layout"
-#: ../../mod/admin.php:643
-msgid "Priority"
-msgstr "Priorità"
+#: ../../mod/editlayout.php:177
+msgid "Edit Layout"
+msgstr "Modifica il layout"
-#: ../../mod/admin.php:644
-msgid "Destination URL"
-msgstr "URL di destinazione"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
-#: ../../mod/admin.php:645
-msgid "Mark hub permanently offline"
-msgstr "Questo hub è definitivamente offline"
+#: ../../mod/editpost.php:48
+msgid "Delete item?"
+msgstr "Eliminare questo elemento?"
-#: ../../mod/admin.php:646
-msgid "Empty queue for this hub"
-msgstr "Svuota la coda per questo hub"
+#: ../../mod/editpost.php:158 ../../mod/rpost.php:131
+msgid "Edit post"
+msgstr "Modifica post"
-#: ../../mod/admin.php:647
-msgid "Last known contact"
-msgstr "Ultimo scambio dati"
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "Impossibile raggiungere il tuo hub."
-#: ../../mod/admin.php:683
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "Modificato il blocco su %s account"
-msgstr[1] "Modificato il blocco verso %s"
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Inviato!"
-#: ../../mod/admin.php:691
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s account eliminato"
-msgstr[1] "%s account eliminati"
+#: ../../mod/editwebpage.php:152
+msgid "Delete webpage?"
+msgstr "Vuoi eliminare questa pagina web?"
-#: ../../mod/admin.php:727
-msgid "Account not found"
-msgstr "Account non trovato"
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
+msgstr "Link del titolo"
-#: ../../mod/admin.php:739
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Account '%s' eliminato"
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
+msgstr "Modifica la pagina web"
-#: ../../mod/admin.php:747
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Aggiunto un blocco verso '%s'"
+#: ../../mod/rate.php:157
+msgid "Website:"
+msgstr "Sito web:"
-#: ../../mod/admin.php:755
+#: ../../mod/rate.php:160
#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Rimosso il blocco verso '%s'"
-
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
-msgid "Users"
-msgstr "Utenti"
-
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
-msgid "select all"
-msgstr "seleziona tutti"
-
-#: ../../mod/admin.php:821
-msgid "User registrations waiting for confirm"
-msgstr "Richieste di registrazione in attesa di conferma"
-
-#: ../../mod/admin.php:822
-msgid "Request date"
-msgstr "Data richiesta"
-
-#: ../../mod/admin.php:823
-msgid "No registrations."
-msgstr "Nessuna registrazione."
-
-#: ../../mod/admin.php:824 ../../mod/connedit.php:699
-msgid "Approve"
-msgstr "Approva"
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
-#: ../../mod/admin.php:825
-msgid "Deny"
-msgstr "Nega"
+#: ../../mod/rate.php:161
+msgid "Rating (this information is public)"
+msgstr "Valutazione (visibile a tutti)"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:531
-msgid "Block"
-msgstr "Blocca"
+#: ../../mod/rate.php:162
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
-#: ../../mod/admin.php:828 ../../mod/connedit.php:531
-msgid "Unblock"
-msgstr "Sblocca"
+#: ../../mod/events.php:21
+msgid "Calendar entries imported."
+msgstr "Le voci del calendario sono state importate."
-#: ../../mod/admin.php:831
-msgid "Register date"
-msgstr "Data registrazione"
+#: ../../mod/events.php:23
+msgid "No calendar entries found."
+msgstr "Non sono state trovate voci del calendario."
-#: ../../mod/admin.php:831
-msgid "Last login"
-msgstr "Ultimo accesso"
+#: ../../mod/events.php:101
+msgid "Event can not end before it has started."
+msgstr "Un evento non può terminare prima del suo inizio."
-#: ../../mod/admin.php:831
-msgid "Expires"
-msgstr "Con scadenza"
+#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+msgid "Unable to generate preview."
+msgstr "Impossibile creare un'anteprima."
-#: ../../mod/admin.php:831
-msgid "Service Class"
-msgstr "Classe dell'account"
+#: ../../mod/events.php:110
+msgid "Event title and start time are required."
+msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
-#: ../../mod/admin.php:833
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
+#: ../../mod/events.php:128
+msgid "Event not found."
+msgstr "Evento non trovato."
-#: ../../mod/admin.php:834
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
+#: ../../mod/events.php:426
+msgid "l, F j"
+msgstr "l j F"
-#: ../../mod/admin.php:870
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "Censura modificata per %s canale"
-msgstr[1] "Censura modificata per %s canali"
+#: ../../mod/events.php:448
+msgid "Edit event"
+msgstr "Modifica l'evento"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s canale permette/non permette codice nei contenuti"
-msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
+#: ../../mod/events.php:449
+msgid "Delete event"
+msgstr "Elimina l'evento"
-#: ../../mod/admin.php:886
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canale è stato rimosso"
-msgstr[1] "%s canali sono stati rimossi"
+#: ../../mod/events.php:483
+msgid "calendar"
+msgstr "calendario"
-#: ../../mod/admin.php:906
-msgid "Channel not found"
-msgstr "Canale non trovato"
+#: ../../mod/events.php:504
+msgid "Create New Event"
+msgstr "Crea un nuovo evento"
-#: ../../mod/admin.php:917
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Il canale '%s' è stato rimosso"
+#: ../../mod/events.php:507
+msgid "Export"
+msgstr "Esporta"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Applicata una censura al canale '%s'"
+#: ../../mod/events.php:510
+msgid "Import"
+msgstr "Importa"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Rimossa la censura dal canale '%s'"
+#: ../../mod/events.php:541
+msgid "Event removed"
+msgstr "Evento eliminato"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Il canale '%s' permette codice nei contenuti"
+#: ../../mod/events.php:544
+msgid "Failed to remove event"
+msgstr "Impossibile eliminare l'evento"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Il canale '%s' non permette codice nei contenuti"
+#: ../../mod/events.php:664
+msgid "Event details"
+msgstr "Dettagli evento"
-#: ../../mod/admin.php:989
-msgid "Censor"
-msgstr "Applica una censura"
+#: ../../mod/events.php:665
+msgid "Starting date and Title are required."
+msgstr "Titolo e data d'inizio sono obbligatori."
-#: ../../mod/admin.php:990
-msgid "Uncensor"
-msgstr "Rimuovi la censura"
+#: ../../mod/events.php:667
+msgid "Categories (comma-separated list)"
+msgstr "Categorie (separate da virgola)"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Permetti codice nei contenuti"
+#: ../../mod/events.php:669
+msgid "Event Starts:"
+msgstr "Inizio:"
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "Non permettere codice nei contenuti"
+#: ../../mod/events.php:676
+msgid "Finish date/time is not known or not relevant"
+msgstr "La data/ora di fine non è rilevante"
-#: ../../mod/admin.php:994
-msgid "UID"
-msgstr "UID"
+#: ../../mod/events.php:678
+msgid "Event Finishes:"
+msgstr "Fine:"
-#: ../../mod/admin.php:996
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
+#: ../../mod/events.php:680 ../../mod/events.php:681
+msgid "Adjust for viewer timezone"
+msgstr "Adatta al fuso orario di chi legge"
-#: ../../mod/admin.php:997
+#: ../../mod/events.php:680
msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-
-#: ../../mod/admin.php:1037
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s non attivo."
-
-#: ../../mod/admin.php:1041
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s attivo."
-
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
-msgid "Disable"
-msgstr "Disattiva"
-
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
-msgid "Enable"
-msgstr "Attiva"
-
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
-msgid "Toggle"
-msgstr "Attiva/disattiva"
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Importante per eventi che avvengono in base all'orario di un luogo particolare."
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
-msgid "Author: "
-msgstr "Autore:"
+#: ../../mod/events.php:686
+msgid "Title:"
+msgstr "Titolo:"
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
-msgid "Maintainer: "
-msgstr "Gestore:"
+#: ../../mod/events.php:688
+msgid "Share this event"
+msgstr "Condividi questo evento"
-#: ../../mod/admin.php:1214
-msgid "No themes found."
-msgstr "Nessun tema trovato."
+#: ../../mod/ratings.php:69
+msgid "No ratings"
+msgstr "Nessuna valutazione"
-#: ../../mod/admin.php:1270
-msgid "Screenshot"
-msgstr "Istantanea dello schermo"
+#: ../../mod/ratings.php:99
+msgid "Ratings"
+msgstr "Valutazioni"
-#: ../../mod/admin.php:1316
-msgid "[Experimental]"
-msgstr "[Sperimentale]"
+#: ../../mod/ratings.php:100
+msgid "Rating: "
+msgstr "Valutazione:"
-#: ../../mod/admin.php:1317
-msgid "[Unsupported]"
-msgstr "[Non supportato]"
+#: ../../mod/ratings.php:101
+msgid "Website: "
+msgstr "Sito web:"
-#: ../../mod/admin.php:1341
-msgid "Log settings updated."
-msgstr "Impostazioni di log aggiornate."
+#: ../../mod/ratings.php:103
+msgid "Description: "
+msgstr "Descrizione:"
-#: ../../mod/admin.php:1398
-msgid "Clear"
-msgstr "Pulisci"
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Scegli una cartella di segnalibri"
-#: ../../mod/admin.php:1404
-msgid "Debugging"
-msgstr "Debugging"
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Salva segnalibro"
-#: ../../mod/admin.php:1405
-msgid "Log file"
-msgstr "File di log"
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "URL del segnalibro"
-#: ../../mod/admin.php:1405
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix."
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "O inserisci il nome di una nuova cartella di segnalibri"
-#: ../../mod/admin.php:1406
-msgid "Log level"
-msgstr "Livello di log"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- scegli -"
-#: ../../mod/admin.php:1452
-msgid "New Profile Field"
-msgstr "Nuovo campo del profilo"
+#: ../../mod/filestorage.php:82
+msgid "Permission Denied."
+msgstr "Permesso negato."
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
-msgid "Field nickname"
-msgstr "Nome breve del campo"
+#: ../../mod/filestorage.php:98
+msgid "File not found."
+msgstr "File non trovato."
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
-msgid "System name of field"
-msgstr "Nome di sistema del campo"
+#: ../../mod/filestorage.php:141
+msgid "Edit file permissions"
+msgstr "Modifica i permessi del file"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
-msgid "Input type"
-msgstr "Tipo di dati"
+#: ../../mod/filestorage.php:150
+msgid "Set/edit permissions"
+msgstr "Modifica i permessi"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
-msgid "Field Name"
-msgstr "Nome del campo"
+#: ../../mod/filestorage.php:151
+msgid "Include all files and sub folders"
+msgstr "Includi tutti i file e le sottocartelle"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
-msgid "Label on profile pages"
-msgstr "Etichetta da mostrare sulla pagina del profilo"
+#: ../../mod/filestorage.php:152
+msgid "Return to file list"
+msgstr "Torna all'elenco dei file"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
-msgid "Help text"
-msgstr "Testo di aiuto"
+#: ../../mod/filestorage.php:154
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/incolla questo codice per far comparire il file in un post"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
-msgid "Additional info (optional)"
-msgstr "Informazioni aggiuntive (opzionali)"
+#: ../../mod/filestorage.php:155
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
-#: ../../mod/admin.php:1466
-msgid "Field definition not found"
-msgstr "Impossibile trovare la definizione del campo"
+#: ../../mod/filestorage.php:157
+msgid "Share this file"
+msgstr "Condividi questo file"
-#: ../../mod/admin.php:1472
-msgid "Edit Profile Field"
-msgstr "Modifica campo del profilo"
+#: ../../mod/filestorage.php:158
+msgid "Show URL to this file"
+msgstr "Mostra l'URL del file"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Impossibile raggiungere il tuo hub."
+#: ../../mod/filestorage.php:159
+msgid "Notify your contacts about this file"
+msgstr "Notifica ai contatti che hai caricato questo file"
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Inviato!"
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Canale aggiunto."
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
@@ -7419,6 +6548,63 @@ msgstr "Scegli una password"
msgid "Please re-enter your password"
msgstr "Ripeti la password per verifica"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contatto non trovato."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Suggerimento di amicizia inviato."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Suggerisci amici"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Suggerisci un amico a %s"
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Effettua l'accesso."
+
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "L'insieme di canali è stato creato."
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Impossibile creare l'insieme."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Insieme aggiornato."
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Crea un insieme di canali."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Nome dell'insieme:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "I membri potranno vedere gli altri canali dell'insieme"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Insieme rimosso."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Impossibile rimuovere l'insieme."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Modifica l'insieme"
+
#: ../../mod/removeaccount.php:30
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
@@ -7467,7 +6653,7 @@ msgstr "Elimina l'account"
msgid "Help:"
msgstr "Guida:"
-#: ../../mod/help.php:76 ../../index.php:238
+#: ../../mod/help.php:76 ../../index.php:242
msgid "Not Found"
msgstr "Non disponibile"
@@ -7475,19 +6661,320 @@ msgstr "Non disponibile"
msgid "$Projectname Documentation"
msgstr "Documentazione $Projectname"
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
-msgid "[Embedded content - reload page to view]"
-msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
-#: ../../mod/lockview.php:37
-msgid "Remote privacy information not available."
-msgstr "Le informazioni remote sulla privacy non sono disponibili."
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr "Elimina questo canale"
-#: ../../mod/lockview.php:58
-msgid "Visible to:"
-msgstr "Visibile a:"
+#: ../../mod/removeme.php:58
+msgid "This channel will be completely removed from the network. "
+msgstr "Questo canale sarà completamente eliminato dalla rete."
+
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr "Rimuovi questo canale e tutti i suoi cloni dalla rete"
+
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
+
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1137
+msgid "Remove Channel"
+msgstr "Elimina questo canale"
+
+#: ../../mod/home.php:58 ../../mod/home.php:66 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../mod/home.php:75
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
+
+#: ../../mod/rmagic.php:40
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."
+
+#: ../../mod/rmagic.php:40
+msgid "The error message was:"
+msgstr "Messaggio di errore ricevuto:"
+
+#: ../../mod/rmagic.php:44
+msgid "Authentication failed."
+msgstr "Autenticazione fallita."
+
+#: ../../mod/rmagic.php:84
+msgid "Remote Authentication"
+msgstr "Accedi dal tuo hub"
+
+#: ../../mod/rmagic.php:85
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+
+#: ../../mod/rmagic.php:86
+msgid "Authenticate"
+msgstr "Accedi"
+
+#: ../../mod/id.php:11
+msgid "First Name"
+msgstr "Nome"
+
+#: ../../mod/id.php:12
+msgid "Last Name"
+msgstr "Cognome"
+
+#: ../../mod/id.php:13
+msgid "Nickname"
+msgstr "Nick"
+
+#: ../../mod/id.php:14
+msgid "Full Name"
+msgstr "Nome e cognome"
+
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
+msgstr "Foto del profilo 16px"
+
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
+msgstr "Foto del profilo 32px"
+
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
+msgstr "Foto del profilo 48px"
+
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
+msgstr "Foto del profilo 64px"
+
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
+msgstr "Foto del profilo 80px"
+
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
+msgstr "Foto del profilo 128px"
+
+#: ../../mod/id.php:26
+msgid "Timezone"
+msgstr "Fuso orario"
+
+#: ../../mod/id.php:27
+msgid "Homepage URL"
+msgstr "Indirizzo home page"
+
+#: ../../mod/id.php:29
+msgid "Birth Year"
+msgstr "Anno di nascita"
+
+#: ../../mod/id.php:30
+msgid "Birth Month"
+msgstr "Mese di nascita"
+
+#: ../../mod/id.php:31
+msgid "Birth Day"
+msgstr "Giorno di nascita"
+
+#: ../../mod/id.php:32
+msgid "Birthdate"
+msgstr "Data di nascita"
+
+#: ../../mod/impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
+
+#: ../../mod/impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elementi con installazione fallita: %s"
+
+#: ../../mod/search.php:206
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elementi taggati con: %s"
+
+#: ../../mod/search.php:208
+#, php-format
+msgid "Search results for: %s"
+msgstr "Risultati ricerca: %s"
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Il tuo account permette di creare al massimo %d canali."
+
+#: ../../mod/import.php:60
+msgid "Nothing to import."
+msgstr "Non c'è niente da importare."
+
+#: ../../mod/import.php:84
+msgid "Unable to download data from old server"
+msgstr "Impossibile importare i dati dal vecchio server"
+
+#: ../../mod/import.php:90
+msgid "Imported file is empty."
+msgstr "Il file da importare è vuoto."
+
+#: ../../mod/import.php:110
+msgid "The data provided is not compatible with this project."
+msgstr "I dati forniti non sono compatibili con questo hub."
+
+#: ../../mod/import.php:115
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
+
+#: ../../mod/import.php:135
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
+
+#: ../../mod/import.php:176
+msgid "Channel clone failed. Import failed."
+msgstr "Impossibile clonare il canale. L'importazione è fallita."
+
+#: ../../mod/import.php:186
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+
+#: ../../mod/import.php:574
+msgid "You must be logged in to use this feature."
+msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+
+#: ../../mod/import.php:579
+msgid "Import Channel"
+msgstr "Importa un canale"
+
+#: ../../mod/import.php:580
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file esportato in precedenza."
+
+#: ../../mod/import.php:581
+msgid "File to Upload"
+msgstr "File da caricare"
+
+#: ../../mod/import.php:582
+msgid "Or provide the old server/hub details"
+msgstr "Oppure fornisci i dettagli del vecchio server/hub"
+
+#: ../../mod/import.php:583
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+
+#: ../../mod/import.php:584
+msgid "Your old login email address"
+msgstr "L'email che usavi per accedere sul vecchio server"
+
+#: ../../mod/import.php:585
+msgid "Your old login password"
+msgstr "La password per il vecchio server"
+
+#: ../../mod/import.php:586
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc."
+
+#: ../../mod/import.php:587
+msgid "Make this hub my primary location"
+msgstr "Rendi questo server il mio indirizzo primario"
+
+#: ../../mod/import.php:588
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
+
+#: ../../mod/import.php:589
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
+
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Non esistono restrizioni su questa classe di account."
+
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "Hai superato il numero massimo di inviti."
+
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: non è un indirizzo email valido."
+
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr "Vieni con noi su RedMatrix"
+
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
+
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: la consegna del messaggio è fallita."
+
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d messaggio inviato."
+msgstr[1] "%d messaggi inviati."
+
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr "Non hai altri inviti disponibili"
+
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "Spedisci inviti"
+
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "Inserisci gli indirizzi email, uno per riga:"
+
+#: ../../mod/invite.php:132
+msgid "Please join my community on $Projectname."
+msgstr "Entra nella mia comunità su $Projectname."
+
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Dovrai fornire questo codice di invito:"
+
+#: ../../mod/invite.php:135
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
+
+#: ../../mod/invite.php:137
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "oppure visita "
+
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Clicca su [Aggiungi]"
#: ../../mod/settings.php:76
msgid "Name is required"
@@ -7899,6 +7386,10 @@ msgstr "Serve e ridurre lo spam"
msgid "Default Post Permissions"
msgstr "Permessi predefiniti per i post"
+#: ../../mod/settings.php:1083 ../../mod/mitem.php:155 ../../mod/mitem.php:227
+msgid "(click to open/close)"
+msgstr "(clicca per aprire/chiudere)"
+
#: ../../mod/settings.php:1087
msgid "Channel permissions category:"
msgstr "Categorie di permessi dei canali:"
@@ -8059,600 +7550,1054 @@ msgstr "Impostazioni varie"
msgid "Personal menu to display in your channel pages"
msgstr "Menu personale da mostrare sulle pagine del tuo canale"
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Elimina questo canale"
-
#: ../../mod/settings.php:1138
msgid "Remove this channel."
msgstr "Elimina questo canale."
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Nome"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Cognome"
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
+msgstr "Il post vuoto è stato ignorato."
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Nick"
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
+msgstr "I contenuti eseguibili non sono permessi su questo canale."
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Nome e cognome"
+#: ../../mod/item.php:914
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Post non salvato."
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Foto del profilo 16px"
+#: ../../mod/item.php:1146
+msgid "Unable to obtain post information from database."
+msgstr "Impossibile caricare il post dal database."
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Foto del profilo 32px"
+#: ../../mod/item.php:1153
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Foto del profilo 48px"
+#: ../../mod/item.php:1160
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Foto del profilo 64px"
+#: ../../mod/setup.php:187
+msgid "$Projectname Server - Setup"
+msgstr "Server $Projectname - Installazione"
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Foto del profilo 80px"
+#: ../../mod/setup.php:191
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Foto del profilo 128px"
+#: ../../mod/setup.php:195
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Fuso orario"
+#: ../../mod/setup.php:202
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "Indirizzo home page"
+#: ../../mod/setup.php:207
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Anno di nascita"
+#: ../../mod/setup.php:211
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Mese di nascita"
+#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Giorno di nascita"
+#: ../../mod/setup.php:277
+msgid "System check"
+msgstr "Verifica del sistema"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Data di nascita"
+#: ../../mod/setup.php:282
+msgid "Check again"
+msgstr "Verifica di nuovo"
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Conversazione rimossa."
+#: ../../mod/setup.php:304
+msgid "Database connection"
+msgstr "Connessione al database"
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Nessun messaggio."
+#: ../../mod/setup.php:305
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-#: ../../mod/message.php:72 ../../mod/mail.php:336
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
+#: ../../mod/setup.php:306
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D d M Y - G:i"
+#: ../../mod/setup.php:307
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
-msgid "Export Channel"
-msgstr "Esporta il canale"
+#: ../../mod/setup.php:311
+msgid "Database Server Name"
+msgstr "Server del database"
-#: ../../mod/uexport.php:52
+#: ../../mod/setup.php:311
+msgid "Default is localhost"
+msgstr "'localhost' è il predefinito"
+
+#: ../../mod/setup.php:312
+msgid "Database Port"
+msgstr "Port del database"
+
+#: ../../mod/setup.php:312
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
+
+#: ../../mod/setup.php:313
+msgid "Database Login Name"
+msgstr "Utente database"
+
+#: ../../mod/setup.php:314
+msgid "Database Login Password"
+msgstr "Password utente database"
+
+#: ../../mod/setup.php:315
+msgid "Database Name"
+msgstr "Nome database"
+
+#: ../../mod/setup.php:316
+msgid "Database Type"
+msgstr "Tipo database"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del sito"
+
+#: ../../mod/setup.php:318 ../../mod/setup.php:359
msgid ""
-"Export your basic channel information to a file. This acts as a backup of "
-"your connections, permissions, profile and basic data, which can be used to "
-"import your data to a new server hub, but does not contain your content."
-msgstr "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
-#: ../../mod/uexport.php:53
-msgid "Export Content"
-msgstr "Esporta i contenuti"
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Website URL"
+msgstr "URL completo del sito"
-#: ../../mod/uexport.php:54
+#: ../../mod/setup.php:319 ../../mod/setup.php:361
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+
+#: ../../mod/setup.php:321 ../../mod/setup.php:363
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
+
+#: ../../mod/setup.php:348
+msgid "Site settings"
+msgstr "Impostazioni del sito"
+
+#: ../../mod/setup.php:413
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+
+#: ../../mod/setup.php:414
msgid ""
-"Export your channel information and recent content to a JSON backup that can"
-" be restored or imported to another server hub. This backs up all of your "
-"connections, permissions, profile data and several months of posts. This "
-"file may be VERY large. Please be patient - it may take several minutes for"
-" this download to begin."
-msgstr "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-#: ../../mod/uexport.php:55
-msgid "Export your posts from a given year or month:"
-msgstr "Puoi anche esportare i post relativi a un certo mese o anno"
+#: ../../mod/setup.php:418
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
-#: ../../mod/uexport.php:57
+#: ../../mod/setup.php:418
msgid ""
-"You may also export your posts and conversations for a particular year or "
-"month. Click on one of the recent years or months below."
-msgstr "Puoi anche esportare i tuoi post e le conversazioni di un certo mese o anno. Clicca qua sotto su un mese o su un anno recente."
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Jan"
-msgstr "Gen"
+#: ../../mod/setup.php:423
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Feb"
-msgstr "Feb"
+#: ../../mod/setup.php:432
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Mar"
-msgstr "Mar"
+#: ../../mod/setup.php:433
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Apr"
-msgstr "Apr"
+#: ../../mod/setup.php:436
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Jun"
-msgstr "Giu"
+#: ../../mod/setup.php:454
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Jul"
-msgstr "Lug"
+#: ../../mod/setup.php:459
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Puoi regolare queste impostazioni sul server in php.ini"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Aug"
-msgstr "Ago"
+#: ../../mod/setup.php:461
+msgid "PHP upload limits"
+msgstr "Limiti PHP in upload"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Sep"
-msgstr "Set"
+#: ../../mod/setup.php:484
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Oct"
-msgstr "Ott"
+#: ../../mod/setup.php:485
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Nov"
-msgstr "Nov"
+#: ../../mod/setup.php:488
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di criptazione"
-#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
-msgid "Dec"
-msgstr "Dic"
+#: ../../mod/setup.php:500
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
-#: ../../mod/uexport.php:60
+#: ../../mod/setup.php:501
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
+
+#: ../../mod/setup.php:502
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
+
+#: ../../mod/setup.php:503
+msgid "mysqli or postgres PHP module"
+msgstr "modulo PHP per mysqli oppure prostgres"
+
+#: ../../mod/setup.php:504
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
+
+#: ../../mod/setup.php:505
+msgid "mcrypt PHP module"
+msgstr "modulo PHP mcrypt"
+
+#: ../../mod/setup.php:506
+msgid "xml PHP module"
+msgstr "modulo xml PHP"
+
+#: ../../mod/setup.php:510 ../../mod/setup.php:512
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
+
+#: ../../mod/setup.php:510
msgid ""
-"If the export fails (possibly due to memory exhaustion on your server hub), "
-"please try again selecting a more limited date range."
-msgstr "Se l'esportazione fallisce (di solito è per mancanza di memoria sullo hub), puoi provare nuovamente, ma scegliendo un intervallo di date più stretto."
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
-#: ../../mod/uexport.php:61
-#, php-format
+#: ../../mod/setup.php:516 ../../mod/setup.php:519
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../mod/setup.php:516
msgid ""
-"Or adjust the date in your browser location bar to select other dates. For "
-"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
-"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
-msgstr "Oppure cambia le date nella barra degli indirizzi del tuo browser per selezionare altre date. Per esempio, l'anno 2013; <a href=\"%1$s/2013\">%1$s/2013</a> o il mese di settembre 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
-#: ../../mod/uexport.php:62
-msgid "Please visit"
-msgstr "Visita"
+#: ../../mod/setup.php:524
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
-#: ../../mod/uexport.php:62
-msgid "on another hub to import the backup files(s)."
-msgstr "su un altro hub per importare il backup."
+#: ../../mod/setup.php:528
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-#: ../../mod/uexport.php:63
+#: ../../mod/setup.php:532
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+
+#: ../../mod/setup.php:536
msgid ""
-"We advise you to clone the channel on the new hub first and than to import "
-"the backup file(s) (from the same channel) in chronological order. Importing"
-" the backup files into another channel will certainly give permission "
-"issues."
-msgstr "Il consiglio è di clonare per prima cosa il canale sul nuovo hub e poi importare i file di backup creati dal canale originale in ordine cronologico. Importare contenuti di canali differenti darà sicuramente problemi sui diritti."
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
-#: ../../mod/mood.php:131
-msgid "Set your current mood and tell your friends"
-msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
+#: ../../mod/setup.php:540
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-#: ../../mod/vote.php:97
-msgid "Total votes"
-msgstr "Totale voti"
+#: ../../mod/setup.php:544
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
-#: ../../mod/vote.php:98
-msgid "Average Rating"
-msgstr "Valutazione media"
+#: ../../mod/setup.php:548
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
-#: ../../mod/removeme.php:29
+#: ../../mod/setup.php:566
msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo."
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
-msgstr "Elimina questo canale"
+#: ../../mod/setup.php:567
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
-#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
-msgstr "Questo canale sarà completamente eliminato dalla rete."
+#: ../../mod/setup.php:568
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix."
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
-msgstr "Rimuovi questo canale e tutti i suoi cloni dalla rete"
+#: ../../mod/setup.php:569
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
-#: ../../mod/removeme.php:60
+#: ../../mod/setup.php:572
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
+
+#: ../../mod/setup.php:586
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
-#: ../../mod/connedit.php:75
-msgid "Could not access contact record."
-msgstr "Non è possibile accedere alle informazioni sul contatto."
+#: ../../mod/setup.php:587
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix."
-#: ../../mod/connedit.php:99
-msgid "Could not locate selected profile."
-msgstr "Non riesco a trovare il profilo selezionato."
+#: ../../mod/setup.php:588 ../../mod/setup.php:609
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
-#: ../../mod/connedit.php:219
-msgid "Connection updated."
-msgstr "Contatto aggiornato."
+#: ../../mod/setup.php:589
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
-#: ../../mod/connedit.php:221
-msgid "Failed to update connection record."
-msgstr "Impossibile aggiornare le informazioni del contatto."
+#: ../../mod/setup.php:592
+#, php-format
+msgid "%s is writable"
+msgstr "%s è scrivibile"
-#: ../../mod/connedit.php:267
-msgid "is now connected to"
-msgstr "ha come nuovo contatto"
+#: ../../mod/setup.php:608
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"
-#: ../../mod/connedit.php:392
-msgid "Could not access address book record."
-msgstr "Impossibile accedere alle informazioni della rubrica."
+#: ../../mod/setup.php:612
+msgid "store is writable"
+msgstr "l'archivio è scrivibile"
-#: ../../mod/connedit.php:406
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Il canale non è disponibile - impossibile aggiornare."
+#: ../../mod/setup.php:645
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
-#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
-#: ../../mod/connedit.php:470
-msgid "Unable to set address book parameters."
-msgstr "Impossibile impostare i parametri della rubrica."
+#: ../../mod/setup.php:646
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
-#: ../../mod/connedit.php:494
-msgid "Connection has been removed."
-msgstr "Il contatto è stato rimosso."
+#: ../../mod/setup.php:647
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-#: ../../mod/connedit.php:513
-#, php-format
-msgid "View %s's profile"
-msgstr "Guarda il profilo di %s"
+#: ../../mod/setup.php:648
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
-#: ../../mod/connedit.php:517
-msgid "Refresh Permissions"
-msgstr "Modifica i permessi"
+#: ../../mod/setup.php:649
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
-#: ../../mod/connedit.php:520
-msgid "Fetch updated permissions"
-msgstr "Guarda e modifica i permessi assegnati"
+#: ../../mod/setup.php:650
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
-#: ../../mod/connedit.php:524
-msgid "Recent Activity"
-msgstr "Attività recenti"
+#: ../../mod/setup.php:652
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
-#: ../../mod/connedit.php:527
-msgid "View recent posts and comments"
-msgstr "Leggi i post recenti e i commenti"
+#: ../../mod/setup.php:658
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
-#: ../../mod/connedit.php:534
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
+#: ../../mod/setup.php:661
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
-#: ../../mod/connedit.php:535
-msgid "This connection is blocked!"
-msgstr "Questa connessione è tra quelle bloccate!"
+#: ../../mod/setup.php:670
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-#: ../../mod/connedit.php:539
-msgid "Unignore"
-msgstr "Non ignorare"
+#: ../../mod/setup.php:694
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
-#: ../../mod/connedit.php:539 ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../mod/setup.php:728
+msgid "<h1>What next</h1>"
+msgstr "<h1>I prossimi passi</h1>"
-#: ../../mod/connedit.php:542
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
+#: ../../mod/setup.php:729
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
-#: ../../mod/connedit.php:543
-msgid "This connection is ignored!"
-msgstr "Questa connessione è tra quelle ignorate!"
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
+msgstr "Guida di Comanche Page Description Language"
-#: ../../mod/connedit.php:547
-msgid "Unarchive"
-msgstr "Non archiviare"
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
+msgstr "Descrizione del layout"
-#: ../../mod/connedit.php:547
-msgid "Archive"
-msgstr "Archivia"
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
+msgstr "Scarica il file PDL"
-#: ../../mod/connedit.php:550
+#: ../../mod/sharedwithme.php:94
+msgid "Files: shared with me"
+msgstr "File: condivisi con me"
+
+#: ../../mod/sharedwithme.php:96
+msgid "NEW"
+msgstr "NOVITÀ"
+
+#: ../../mod/sharedwithme.php:99
+msgid "Remove all files"
+msgstr "Elimina tutti i file"
+
+#: ../../mod/sharedwithme.php:100
+msgid "Remove this file"
+msgstr "Elimina questo file"
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Mi piace/Non mi piace"
+
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Questa funzionalità è riservata agli iscritti."
+
+#: ../../mod/like.php:21
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo $Projectname</a> o <a href=\"register\">registrarti come nuovo utente $Projectname</a>."
-#: ../../mod/connedit.php:551
-msgid "This connection is archived!"
-msgstr "Questa connessione è tra quelle archiviate!"
+#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+msgid "Invalid request."
+msgstr "Richiesta non valida."
-#: ../../mod/connedit.php:555
-msgid "Unhide"
-msgstr "Non nascondere"
+#: ../../mod/like.php:143
+msgid "thing"
+msgstr "Oggetto"
-#: ../../mod/connedit.php:555
-msgid "Hide"
-msgstr "Nascondi"
+#: ../../mod/like.php:189
+msgid "Channel unavailable."
+msgstr "Canale non trovato."
-#: ../../mod/connedit.php:558
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
+#: ../../mod/like.php:231
+msgid "Previous action reversed."
+msgstr "Il comando precedente è stato annullato."
-#: ../../mod/connedit.php:559
-msgid "This connection is hidden!"
-msgstr "Questa connessione è tra quelle nascoste!"
+#: ../../mod/like.php:401
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s è d'accordo"
-#: ../../mod/connedit.php:566
-msgid "Delete this connection"
-msgstr "Elimina questo contatto"
+#: ../../mod/like.php:403
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s non è d'accordo"
-#: ../../mod/connedit.php:647
-msgid "Approve this connection"
-msgstr "Approva questo contatto"
+#: ../../mod/like.php:405
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s non ha preso una decisione"
-#: ../../mod/connedit.php:647
-msgid "Accept connection to allow communication"
-msgstr "Entra in contatto per poter comunicare"
+#: ../../mod/like.php:407
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s partecipa"
-#: ../../mod/connedit.php:652
-msgid "Set Affinity"
-msgstr "Scegli l'affinità"
+#: ../../mod/like.php:409
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s non partecipa"
-#: ../../mod/connedit.php:655
-msgid "Set Profile"
-msgstr "Scegli il profilo da mostrare"
+#: ../../mod/like.php:411
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%3$s di %2$s: %1$s forse partecipa"
-#: ../../mod/connedit.php:658
-msgid "Set Affinity & Profile"
-msgstr "Affinità e profilo"
+#: ../../mod/like.php:507
+msgid "Action completed."
+msgstr "Comando completato."
-#: ../../mod/connedit.php:675
-msgid "Apply these permissions automatically"
-msgstr "Applica automaticamente questi permessi"
+#: ../../mod/like.php:508
+msgid "Thank you."
+msgstr "Grazie."
-#: ../../mod/connedit.php:677
-msgid "This connection's address is"
-msgstr "Indirizzo di questo contatto"
+#: ../../mod/siteinfo.php:112
+#, php-format
+msgid "Version %s"
+msgstr "Versione %s"
-#: ../../mod/connedit.php:680
+#: ../../mod/siteinfo.php:133
+msgid "Installed plugins/addons/apps:"
+msgstr "App e componenti installati:"
+
+#: ../../mod/siteinfo.php:146
+msgid "No installed plugins/addons/apps"
+msgstr "Nessuna app o componente installato"
+
+#: ../../mod/siteinfo.php:156
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Questo è un hub di $Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
-#: ../../mod/connedit.php:682
-msgid "Slide to adjust your degree of friendship"
-msgstr "Trascina per restringere il grado di amicizia da mostrare"
+#: ../../mod/siteinfo.php:158
+msgid "Tag: "
+msgstr "Tag: "
-#: ../../mod/connedit.php:684
-msgid "Slide to adjust your rating"
-msgstr "Trascina per cambiare la tua valutazione"
+#: ../../mod/siteinfo.php:160
+msgid "Last background fetch: "
+msgstr "Ultima acquisizione:"
-#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
-msgid "Optionally explain your rating"
-msgstr "Commento opzionale"
+#: ../../mod/siteinfo.php:163
+msgid "Running at web location"
+msgstr "In esecuzione sull'indirizzo web"
-#: ../../mod/connedit.php:687
-msgid "Custom Filter"
-msgstr "Filtro personalizzato"
+#: ../../mod/siteinfo.php:164
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per maggiori informazioni su $Projectname."
-#: ../../mod/connedit.php:688
-msgid "Only import posts with this text"
-msgstr "Importa solo i post che contengono questo testo"
+#: ../../mod/siteinfo.php:165
+msgid "Bug reports and issues: please visit"
+msgstr "Per segnalare bug e problemi: visita"
-#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
+#: ../../mod/siteinfo.php:167
+msgid "$projectname issues"
+msgstr "Problematiche note su $projectname"
+
+#: ../../mod/siteinfo.php:168
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "una parola per riga, oppure #tag o /pattern/ oppure lascia vuoto per importare tutto"
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
-#: ../../mod/connedit.php:689
-msgid "Do not import posts with this text"
-msgstr "Non importare i post con questo testo"
+#: ../../mod/siteinfo.php:170
+msgid "Site Administrators"
+msgstr "Amministratori del sito"
-#: ../../mod/connedit.php:691
-msgid "This information is public!"
-msgstr "Questa informazione è pubblica!"
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
+msgstr "Le informazioni remote sulla privacy non sono disponibili."
-#: ../../mod/connedit.php:696
-msgid "Connection Pending Approval"
-msgstr "Contatti in attesa di approvazione"
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
+msgstr "Visibile a:"
-#: ../../mod/connedit.php:697
-msgid "Connection Request"
-msgstr "Richiesta di entrare in contatto"
+#: ../../mod/locs.php:21 ../../mod/locs.php:52
+msgid "Location not found."
+msgstr "Indirizzo non trovato."
-#: ../../mod/connedit.php:698
-#, php-format
+#: ../../mod/locs.php:56
+msgid "Primary location cannot be removed."
+msgstr "L'indirizzo principale non può essere rimosso."
+
+#: ../../mod/locs.php:88
+msgid "No locations found."
+msgstr "Nessun indirizzo trovato."
+
+#: ../../mod/locs.php:101
+msgid "Manage Channel Locations"
+msgstr "Modifica gli indirizzi del canale"
+
+#: ../../mod/locs.php:102
+msgid "Location (address)"
+msgstr "Indirizzo"
+
+#: ../../mod/locs.php:103
+msgid "Primary Location"
+msgstr "Indirizzo primario"
+
+#: ../../mod/locs.php:104
+msgid "Drop location"
+msgstr "Elimina un indirizzo"
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Sorgente creata."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Sorgente aggiornata."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Nuova sorgente"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) vorrebbe entrare in contatto con te. Per permettere la comunicazione è necessario che tu approvi."
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-#: ../../mod/connedit.php:700
-msgid "Approve Later"
-msgstr "Approva più tardi"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
-#: ../../mod/connedit.php:703
-msgid "inherited"
-msgstr "derivato"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
-#: ../../mod/connedit.php:705
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Nome del canale"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Sorgente non trovata."
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Modifica la sorgente"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Elimina la sorgente"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Sorgente eliminata"
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Impossibile rimuovere la sorgente."
+
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Nessun account valido trovato."
+
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
+
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Utente del sito (%s)"
+
+#: ../../mod/lostpass.php:40
#, php-format
+msgid "Password reset requested at %s"
+msgstr "È stato richiesto di reimpostare password su %s"
+
+#: ../../mod/lostpass.php:63
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-#: ../../mod/connedit.php:707
-msgid "Their Settings"
-msgstr "Permessi concessi a te"
+#: ../../mod/lostpass.php:86 ../../boot.php:1559
+msgid "Password Reset"
+msgstr "Reimposta la password"
-#: ../../mod/connedit.php:708
-msgid "My Settings"
-msgstr "I permessi che concedo"
+#: ../../mod/lostpass.php:87
+msgid "Your password has been reset as requested."
+msgstr "La password è stata reimpostata come richiesto."
-#: ../../mod/connedit.php:710
-msgid "Individual Permissions"
-msgstr "Permessi individuali"
+#: ../../mod/lostpass.php:88
+msgid "Your new password is"
+msgstr "La tua nuova password è"
-#: ../../mod/connedit.php:711
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
+#: ../../mod/lostpass.php:89
+msgid "Save or copy your new password - and then"
+msgstr "Salva o copia la tua nuova password, quindi"
-#: ../../mod/connedit.php:712
+#: ../../mod/lostpass.php:90
+msgid "click here to login"
+msgstr "clicca qui per accedere"
+
+#: ../../mod/lostpass.php:91
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi proprio le impostazioni generali."
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-#: ../../mod/connedit.php:713
-msgid "Last update:"
-msgstr "Ultimo aggiornamento:"
+#: ../../mod/lostpass.php:108
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La tua password su %s è cambiata"
-#: ../../mod/rmagic.php:40
+#: ../../mod/lostpass.php:123
+msgid "Forgot your Password?"
+msgstr "Hai dimenticato la password?"
+
+#: ../../mod/lostpass.php:124
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-#: ../../mod/rmagic.php:40
-msgid "The error message was:"
-msgstr "Messaggio di errore ricevuto:"
+#: ../../mod/lostpass.php:125
+msgid "Email Address"
+msgstr "Indirizzo email"
-#: ../../mod/rmagic.php:44
-msgid "Authentication failed."
-msgstr "Autenticazione fallita."
+#: ../../mod/lostpass.php:126
+msgid "Reset"
+msgstr "Reimposta"
-#: ../../mod/rmagic.php:84
-msgid "Remote Authentication"
-msgstr "Accedi dal tuo hub"
+#: ../../mod/menu.php:45
+msgid "Unable to update menu."
+msgstr "Impossibile aggiornare il menù."
-#: ../../mod/rmagic.php:85
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+#: ../../mod/menu.php:56
+msgid "Unable to create menu."
+msgstr "Impossibile creare il menù."
-#: ../../mod/rmagic.php:86
-msgid "Authenticate"
-msgstr "Accedi"
+#: ../../mod/menu.php:92 ../../mod/menu.php:104
+msgid "Menu Name"
+msgstr "Nome del menu"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Impossibile associare un destinatario."
+#: ../../mod/menu.php:92
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Impossibile comunicare con il canale richiesto."
+#: ../../mod/menu.php:93 ../../mod/menu.php:105
+msgid "Menu Title"
+msgstr "Titolo del menu"
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Impossibile verificare il canale richiesto."
+#: ../../mod/menu.php:93
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
+#: ../../mod/menu.php:94
+msgid "Allow Bookmarks"
+msgstr "Permetti i segnalibri"
-#: ../../mod/mail.php:139
-msgid "Message deleted."
-msgstr "Messaggio eliminato."
+#: ../../mod/menu.php:94 ../../mod/menu.php:151
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Puoi salvare i segnalibri nei menù"
-#: ../../mod/mail.php:156
-msgid "Message recalled."
-msgstr "Messaggio revocato."
+#: ../../mod/menu.php:95 ../../mod/menu.php:153
+msgid "Submit and proceed"
+msgstr "Salva e procedi"
-#: ../../mod/mail.php:225
-msgid "Send Private Message"
-msgstr "Invia un messaggio privato"
+#: ../../mod/menu.php:107
+msgid "Drop"
+msgstr "Elimina"
-#: ../../mod/mail.php:226 ../../mod/mail.php:343
-msgid "To:"
-msgstr "A:"
+#: ../../mod/menu.php:111
+msgid "Bookmarks allowed"
+msgstr "Permetti segnalibri"
-#: ../../mod/mail.php:231 ../../mod/mail.php:345
-msgid "Subject:"
-msgstr "Oggetto:"
+#: ../../mod/menu.php:113
+msgid "Delete this menu"
+msgstr "Elimina questo menù"
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr "Invia"
+#: ../../mod/menu.php:114 ../../mod/menu.php:148
+msgid "Edit menu contents"
+msgstr "Modifica i contenuti del menù"
-#: ../../mod/mail.php:269
-msgid "Message not found."
-msgstr "Messaggio non trovato."
+#: ../../mod/menu.php:115
+msgid "Edit this menu"
+msgstr "Modifica questo menù"
-#: ../../mod/mail.php:312
-msgid "Delete message"
-msgstr "Elimina il messaggio"
+#: ../../mod/menu.php:130
+msgid "Menu could not be deleted."
+msgstr "Il menù non può essere eliminato."
-#: ../../mod/mail.php:313
-msgid "Recall message"
-msgstr "Revoca il messaggio"
+#: ../../mod/menu.php:138 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menù non trovato."
-#: ../../mod/mail.php:315
-msgid "Message has been recalled."
-msgstr "Il messaggio è stato revocato."
+#: ../../mod/menu.php:143
+msgid "Edit Menu"
+msgstr "Modifica menù"
-#: ../../mod/mail.php:332
-msgid "Private Conversation"
-msgstr "Conversazione privata"
+#: ../../mod/menu.php:147
+msgid "Add or remove entries to this menu"
+msgstr "Aggiungi o rimuovi elementi di questo menù"
-#: ../../mod/mail.php:338
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
+#: ../../mod/menu.php:149
+msgid "Menu name"
+msgstr "Nome del menù"
-#: ../../mod/mail.php:342
-msgid "Send Reply"
-msgstr "Invia la risposta"
+#: ../../mod/menu.php:149
+msgid "Must be unique, only seen by you"
+msgstr "Deve essere unico, lo vedrai solo tu"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "L'identificativo della richiesta non è valido."
+#: ../../mod/menu.php:150
+msgid "Menu title"
+msgstr "Titolo del menù"
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Rifiuta"
+#: ../../mod/menu.php:150
+msgid "Menu title as seen by others"
+msgstr "Titolo del menù come comparirà a tutti"
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Effettua l'accesso."
+#: ../../mod/menu.php:151
+msgid "Allow bookmarks"
+msgstr "Permetti l'invio di segnalibri"
-#: ../../mod/post.php:236
+#: ../../mod/menu.php:160 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "Non trovato."
+
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Conversazione rimossa."
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Nessun messaggio."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D d M Y - G:i"
+
+#: ../../mod/mitem.php:48
+msgid "Unable to create element."
+msgstr "Impossibile creare l'elemento."
+
+#: ../../mod/mitem.php:72
+msgid "Unable to update menu element."
+msgstr "Non è possibile aggiornare l'elemento del menù."
+
+#: ../../mod/mitem.php:88
+msgid "Unable to add menu element."
+msgstr "Impossibile aggiungere l'elemento al menù."
+
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:226
+msgid "Menu Item Permissions"
+msgstr "Permessi del menu"
+
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:173
+msgid "Link Name"
+msgstr "Nome link"
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:231
+msgid "Link or Submenu Target"
+msgstr "Destinazione del link o del sottomenu"
+
+#: ../../mod/mitem.php:158
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
+
+#: ../../mod/mitem.php:159 ../../mod/mitem.php:232
+msgid "Use magic-auth if available"
+msgstr "Usa l'autenticazione magica se disponibile"
+
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:233
+msgid "Open link in new window"
+msgstr "Apri il link in una nuova finestra"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Order in list"
+msgstr "Ordine dell'elenco"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:234
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "I numeri più alti andranno in fondo all'elenco"
+
+#: ../../mod/mitem.php:162
+msgid "Submit and finish"
+msgstr "Salva e termina"
+
+#: ../../mod/mitem.php:163
+msgid "Submit and continue"
+msgstr "Salva e continua"
+
+#: ../../mod/mitem.php:171
+msgid "Menu:"
+msgstr "Menu:"
+
+#: ../../mod/mitem.php:174
+msgid "Link Target"
+msgstr "Destinazione link"
+
+#: ../../mod/mitem.php:177
+msgid "Edit menu"
+msgstr "Modifica il menù"
+
+#: ../../mod/mitem.php:180
+msgid "Edit element"
+msgstr "Modifica l'elemento"
+
+#: ../../mod/mitem.php:181
+msgid "Drop element"
+msgstr "Elimina l'elemento"
+
+#: ../../mod/mitem.php:182
+msgid "New element"
+msgstr "Nuovo elemento"
+
+#: ../../mod/mitem.php:183
+msgid "Edit this menu container"
+msgstr "Modifica il contenitore del menù"
+
+#: ../../mod/mitem.php:184
+msgid "Add menu element"
+msgstr "Aggiungi un elemento al menù"
+
+#: ../../mod/mitem.php:185
+msgid "Delete this menu item"
+msgstr "Elimina questo elemento del menù"
+
+#: ../../mod/mitem.php:186
+msgid "Edit this menu item"
+msgstr "Modifica questo elemento del menù"
+
+#: ../../mod/mitem.php:203
+msgid "Menu item not found."
+msgstr "L'elemento del menù non è stato trovato."
+
+#: ../../mod/mitem.php:215
+msgid "Menu item deleted."
+msgstr "L'elemento del menù è stato eliminato."
+
+#: ../../mod/mitem.php:217
+msgid "Menu item could not be deleted."
+msgstr "L'elemento del menù non può essere eliminato."
+
+#: ../../mod/mitem.php:224
+msgid "Edit Menu Element"
+msgstr "Modifica l'elemento del menù"
+
+#: ../../mod/mitem.php:230
+msgid "Link text"
+msgstr "Testo del link"
+
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s sta seguendo %3$s di %2$s"
+
+#: ../../mod/mood.php:131
+msgid "Set your current mood and tell your friends"
+msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
+
+#: ../../mod/suggest.php:35
msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "L'autenticazione magica dal tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
+
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "Tag rimosso"
+
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Rimuovi il tag"
+
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Seleziona un tag da rimuovere: "
+
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "Impossibile trovare l'insieme"
+
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "Canale sconosciuto"
+
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
+
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "L'insieme di canali è vuoto"
+
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Insieme:"
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Contatto:"
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "Contatto non valido."
+
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
@@ -8698,151 +8643,213 @@ msgstr "Tipo di canale"
msgid "Read more about roles"
msgstr "Maggiori informazioni sui ruoli"
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "App installata"
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr "L'Oggetto è stato aggiornato"
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "App non corretta"
+#: ../../mod/thing.php:167
+msgid "Object store: failed"
+msgstr "Impossibile memorizzare l'oggetto."
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Inserisci del codice"
+#: ../../mod/thing.php:171
+msgid "Thing added"
+msgstr "L'Oggetto è stato aggiunto"
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Modifica app"
+#: ../../mod/thing.php:203
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Crea una app"
+#: ../../mod/thing.php:254
+msgid "Show Thing"
+msgstr "Mostra l'Oggetto"
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Nome app"
+#: ../../mod/thing.php:261
+msgid "item not found."
+msgstr "non trovato."
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Indirizzo (URL) della app"
+#: ../../mod/thing.php:289
+msgid "Edit Thing"
+msgstr "Modifica l'Oggetto"
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "URL icona"
+#: ../../mod/thing.php:291 ../../mod/thing.php:338
+msgid "Select a profile"
+msgstr "Scegli un profilo"
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixel - facoltativa"
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Post an activity"
+msgstr "Pubblica un'attività"
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "ID versione"
+#: ../../mod/thing.php:295 ../../mod/thing.php:341
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Invia solo a chi segue il relativo canale"
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Prezzo app"
+#: ../../mod/thing.php:297 ../../mod/thing.php:343
+msgid "Name of thing e.g. something"
+msgstr "Nome dell'Oggetto"
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Indirizzo (URL) per acquistare la app"
+#: ../../mod/thing.php:299 ../../mod/thing.php:344
+msgid "URL of thing (optional)"
+msgstr "Indirizzo web dell'Oggetto (opzionale)"
-#: ../../mod/ping.php:263
-msgid "sent you a private message"
-msgstr "ti ha inviato un messaggio privato"
+#: ../../mod/thing.php:301 ../../mod/thing.php:345
+msgid "URL for photo of thing (optional)"
+msgstr "Indirizzo di un'immagine dell'Oggetto (facoltativo)"
-#: ../../mod/ping.php:314
-msgid "added your channel"
-msgstr "ha aggiunto il tuo canale"
+#: ../../mod/thing.php:336
+msgid "Add Thing to your Profile"
+msgstr "Aggiungi l'Oggetto al tuo profilo"
-#: ../../mod/ping.php:355
-msgid "posted an event"
-msgstr "ha creato un evento"
+#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
+msgid "Export Channel"
+msgstr "Esporta il canale"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Guida di Comanche Page Description Language"
+#: ../../mod/uexport.php:52
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Descrizione del layout"
+#: ../../mod/uexport.php:53
+msgid "Export Content"
+msgstr "Esporta i contenuti"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Scarica il file PDL"
+#: ../../mod/uexport.php:54
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."
-#: ../../mod/home.php:75
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../mod/uexport.php:55
+msgid "Export your posts from a given year or month:"
+msgstr "Puoi anche esportare i post relativi a un certo mese o anno"
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
+#: ../../mod/uexport.php:57
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Click on one of the recent years or months below."
+msgstr "Puoi anche esportare i tuoi post e le conversazioni di un certo mese o anno. Clicca qua sotto su un mese o su un anno recente."
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Segnalibro aggiunto"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jan"
+msgstr "Gen"
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
-msgstr "I miei segnalibri"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Feb"
+msgstr "Feb"
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
-msgstr "I segnalibri dei miei contatti"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Mar"
+msgstr "Mar"
-#: ../../mod/channel.php:97
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Apr"
+msgstr "Apr"
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jun"
+msgstr "Giu"
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor di configurazione"
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Jul"
+msgstr "Lug"
-#: ../../mod/pconfig.php:50
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Aug"
+msgstr "Ago"
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Sep"
+msgstr "Set"
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Oct"
+msgstr "Ott"
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Nov"
+msgstr "Nov"
+
+#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
+msgid "Dec"
+msgstr "Dic"
+
+#: ../../mod/uexport.php:60
msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr "Se l'esportazione fallisce (di solito è per mancanza di memoria sullo hub), puoi provare nuovamente, ma scegliendo un intervallo di date più stretto."
-#: ../../mod/suggest.php:35
+#: ../../mod/uexport.php:61
+#, php-format
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
+"Or adjust the date in your browser location bar to select other dates. For "
+"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
+"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
+msgstr "Oppure cambia le date nella barra degli indirizzi del tuo browser per selezionare altre date. Per esempio, l'anno 2013; <a href=\"%1$s/2013\">%1$s/2013</a> o il mese di settembre 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
-#: ../../mod/poll.php:64
-msgid "Poll"
-msgstr "Sondaggio"
+#: ../../mod/uexport.php:62
+msgid "Please visit"
+msgstr "Visita"
-#: ../../mod/poll.php:69
-msgid "View Results"
-msgstr "Guarda i risultati"
+#: ../../mod/uexport.php:62
+msgid "on another hub to import the backup files(s)."
+msgstr "su un altro hub per importare il backup."
-#: ../../mod/service_limits.php:19
-msgid "No service class restrictions found."
-msgstr "Non esistono restrizioni su questa classe di account."
+#: ../../mod/uexport.php:63
+msgid ""
+"We advise you to clone the channel on the new hub first and than to import "
+"the backup file(s) (from the same channel) in chronological order. Importing"
+" the backup files into another channel will certainly give permission "
+"issues."
+msgstr "Il consiglio è di clonare per prima cosa il canale sul nuovo hub e poi importare i file di backup creati dal canale originale in ordine cronologico. Importare contenuti di canali differenti darà sicuramente problemi sui diritti."
-#: ../../mod/sharedwithme.php:94
-msgid "Files: shared with me"
-msgstr "File: condivisi con me"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
+#: ../../mod/update_public.php:21 ../../mod/update_search.php:46
+msgid "[Embedded content - reload page to view]"
+msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
-#: ../../mod/sharedwithme.php:96
-msgid "NEW"
-msgstr "NOVITÀ"
+#: ../../mod/viewconnections.php:62
+msgid "No connections."
+msgstr "Nessun contatto."
-#: ../../mod/sharedwithme.php:99
-msgid "Remove all files"
-msgstr "Elimina tutti i file"
+#: ../../mod/viewconnections.php:75
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita il profilo di %s [%s]"
-#: ../../mod/sharedwithme.php:100
-msgid "Remove this file"
-msgstr "Elimina questo file"
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr "Sorgente"
+
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Totale voti"
+
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Valutazione media"
+
+#: ../../mod/webpages.php:191
+msgid "Page Title"
+msgstr "Titolo della pagina"
+
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Ricerca canale"
+
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca un canale (o un webbie) che inizia per:"
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "la firma ricevuta non è valida"
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
@@ -9115,51 +9122,51 @@ msgstr "Dimensione foto dell'autore della conversazione"
msgid "Set size of followup author photos"
msgstr "Dimensione foto dei partecipanti alla conversazione"
-#: ../../boot.php:1355
+#: ../../boot.php:1356
#, php-format
msgid "Update %s failed. See error logs."
msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:1358
+#: ../../boot.php:1359
#, php-format
msgid "Update Error at %s"
msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:1525
+#: ../../boot.php:1526
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Registrati per accedere ai servizi e alle applicazioni di RedMatrix"
-#: ../../boot.php:1553
+#: ../../boot.php:1554
msgid "Password"
msgstr "Password"
-#: ../../boot.php:1554
+#: ../../boot.php:1555
msgid "Remember me"
msgstr "Resta connesso"
-#: ../../boot.php:1557
+#: ../../boot.php:1558
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:2177
+#: ../../boot.php:2182
msgid "toggle mobile"
msgstr "attiva/disattiva versione mobile"
-#: ../../boot.php:2312
+#: ../../boot.php:2317
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
-#: ../../boot.php:2315
+#: ../../boot.php:2320
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] Errore SSL %s "
-#: ../../boot.php:2352
+#: ../../boot.php:2357
msgid "Cron/Scheduled tasks not running."
msgstr "Processi/cron non avviati."
-#: ../../boot.php:2356
+#: ../../boot.php:2361
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr "[red] Processi cron non avviati su %s"
diff --git a/view/it/strings.php b/view/it/strings.php
index 9723f77ff..da31a9a0c 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -5,122 +5,9 @@ function string_plural_select_it($n){
return ($n != 1);;
}}
;
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
-App::$strings["Profile Photos"] = "Foto del profilo";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
-App::$strings["created a new post"] = "Ha creato un nuovo articolo";
-App::$strings["commented on %s's post"] = "ha commentato l'articolo di %s";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso.";
-App::$strings["Default privacy group for new contacts"] = "Insieme predefinito per i canali che inizi a seguire";
-App::$strings["All Channels"] = "Tutti i canali";
-App::$strings["edit"] = "modifica";
-App::$strings["Collections"] = "Insiemi di canali";
-App::$strings["Edit collection"] = "Modifica l'insieme di canali";
-App::$strings["Add new collection"] = "Nuovo insieme";
-App::$strings["Channels not in any collection"] = "Canali che non sono in un insieme";
-App::$strings["add"] = "aggiungi";
-App::$strings["Not a valid email address"] = "Email non valida";
-App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
-App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
-App::$strings["An invitation is required."] = "È necessario un invito.";
-App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
-App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
-App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
-App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
-App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
-App::$strings["Administrator"] = "Amministratore";
-App::$strings["your registration password"] = "la password di registrazione";
-App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
-App::$strings["Account approved."] = "Account approvato.";
-App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
-App::$strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
-App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
-App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
-App::$strings["Miscellaneous"] = "Altro";
-App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
-App::$strings["Required"] = "Obbligatorio";
-App::$strings["never"] = "mai";
-App::$strings["less than a second ago"] = "meno di un secondo fa";
-App::$strings["year"] = "anno";
-App::$strings["years"] = "anni";
-App::$strings["month"] = "mese";
-App::$strings["months"] = "mesi";
-App::$strings["week"] = "settimana";
-App::$strings["weeks"] = "settimane";
-App::$strings["day"] = "giorno";
-App::$strings["days"] = "giorni";
-App::$strings["hour"] = "ora";
-App::$strings["hours"] = "ore";
-App::$strings["minute"] = "minuto";
-App::$strings["minutes"] = "minuti";
-App::$strings["second"] = "secondo";
-App::$strings["seconds"] = "secondi";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
-App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
-App::$strings["New Page"] = "Nuova pagina web";
-App::$strings["Edit"] = "Modifica";
-App::$strings["View"] = "Guarda";
-App::$strings["Preview"] = "Anteprima";
-App::$strings["Actions"] = "Azioni";
-App::$strings["Page Link"] = "Link alla pagina";
-App::$strings["Title"] = "Titolo";
-App::$strings["Created"] = "Creato";
-App::$strings["Edited"] = "Modificato";
-App::$strings["Public Timeline"] = "Diario pubblico";
-App::$strings["Default"] = "Predefinito";
-App::$strings["Directory Options"] = "Opzioni elenco pubblico";
-App::$strings["Alphabetic"] = "Alfabetico";
-App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
-App::$strings["Newest to Oldest"] = "Prima i più recenti";
-App::$strings["Oldest to Newest"] = "Prima i più vecchi";
-App::$strings["Sort"] = "Ordinamento";
-App::$strings["Safe Mode"] = "Modalità SafeSearch";
-App::$strings["Public Forums Only"] = "Solo forum pubblici";
-App::$strings["This Website Only"] = "Solo in questo sito";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-App::$strings["Starts:"] = "Inizio:";
-App::$strings["Finishes:"] = "Fine:";
-App::$strings["Location:"] = "Luogo:";
-App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
-App::$strings["Delete this item?"] = "Eliminare questo elemento?";
-App::$strings["Comment"] = "Commento";
-App::$strings["[+] show all"] = "[+] mostra tutto";
-App::$strings["[-] show less"] = "[-] riduci";
-App::$strings["[+] expand"] = "[+] mostra tutto";
-App::$strings["[-] collapse"] = "[-] riduci";
-App::$strings["Password too short"] = "Password troppo corta";
-App::$strings["Passwords do not match"] = "Le password non corrispondono";
-App::$strings["everybody"] = "tutti";
-App::$strings["Secret Passphrase"] = "Chiave segreta";
-App::$strings["Passphrase hint"] = "Suggerimento per la chiave segreta";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Nota: i permessi sono stati modificati ma non ancora salvati.";
-App::$strings["close all"] = "chiudi tutto";
-App::$strings["Nothing new here"] = "Niente di nuovo qui";
-App::$strings["Rate This Channel (this is public)"] = "Valuta questo canale (visibile a tutti)";
-App::$strings["Rating"] = "Valutazioni";
-App::$strings["Describe (optional)"] = "Descrizione (facoltativa)";
-App::$strings["Submit"] = "Salva";
-App::$strings["Please enter a link URL"] = "Inserisci l'URL di un link";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?";
-App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "fa";
-App::$strings["from now"] = "da adesso";
-App::$strings["less than a minute"] = "meno di un minuto";
-App::$strings["about a minute"] = "circa un minuto";
-App::$strings["%d minutes"] = "%d minuti";
-App::$strings["about an hour"] = "circa un’ora";
-App::$strings["about %d hours"] = "circa %d ore";
-App::$strings["a day"] = "un giorno";
-App::$strings["%d days"] = "%d giorni";
-App::$strings["about a month"] = "circa un mese";
-App::$strings["%d months"] = "%d mesi";
-App::$strings["about a year"] = "circa un anno";
-App::$strings["%d years"] = "%d anni";
-App::$strings[" "] = " ";
-App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
+App::$strings["Import completed."] = "L'importazione è terminata con successo!";
App::$strings["parent"] = "cartella superiore";
App::$strings["Collection"] = "Cartella";
App::$strings["Principal"] = "Principale";
@@ -140,73 +27,172 @@ App::$strings["Name"] = "Nome";
App::$strings["Type"] = "Tipo";
App::$strings["Size"] = "Dimensione";
App::$strings["Last Modified"] = "Ultima modifica";
+App::$strings["Edit"] = "Modifica";
App::$strings["Delete"] = "Elimina";
App::$strings["Create new folder"] = "Crea una nuova cartella";
App::$strings["Upload file"] = "Carica un file";
-App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
+App::$strings["Profile Photos"] = "Foto del profilo";
+App::$strings["Logout"] = "Esci";
+App::$strings["End this session"] = "Chiudi questa sessione";
+App::$strings["Home"] = "Bacheca";
+App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
+App::$strings["View Profile"] = "Profilo";
+App::$strings["Your profile page"] = "Il tuo profilo";
+App::$strings["Edit Profiles"] = "Modifica i profili";
+App::$strings["Manage/Edit profiles"] = "Gestisci/modifica i profili";
+App::$strings["Edit Profile"] = "Modifica il profilo";
+App::$strings["Edit your profile"] = "Modifica il profilo";
+App::$strings["Photos"] = "Foto";
+App::$strings["Your photos"] = "Le tue foto";
+App::$strings["Your files"] = "I tuoi file";
+App::$strings["Chat"] = "Area chat";
+App::$strings["Your chatrooms"] = "Le tue aree chat";
+App::$strings["Bookmarks"] = "Segnalibri";
+App::$strings["Your bookmarks"] = "I tuoi segnalibri";
+App::$strings["Webpages"] = "Pagine web";
+App::$strings["Your webpages"] = "Le tue pagine web";
+App::$strings["Login"] = "Accedi";
+App::$strings["Sign in"] = "Accedi";
+App::$strings["%s - click to logout"] = "%s - clicca per uscire";
+App::$strings["Remote authentication"] = "Accedi dal tuo hub";
+App::$strings["Click to authenticate to your home hub"] = "Accedi tramite il tuo hub principale";
+App::$strings["Home Page"] = "Bacheca";
+App::$strings["Register"] = "Iscriviti";
+App::$strings["Create an account"] = "Crea un account";
+App::$strings["Help"] = "Guida";
+App::$strings["Help and documentation"] = "Guida e documentazione";
+App::$strings["Apps"] = "Apps";
+App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
+App::$strings["Search"] = "Cerca";
+App::$strings["Search site content"] = "Cerca nel sito";
+App::$strings["Directory"] = "Elenco pubblico";
+App::$strings["Channel Directory"] = "Elenco pubblico canali";
+App::$strings["Matrix"] = "RedMatrix";
+App::$strings["Your matrix"] = "La tua rete";
+App::$strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
+App::$strings["Channel Home"] = "Bacheca del canale";
+App::$strings["Channel home"] = "Bacheca del canale";
+App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
+App::$strings["Connections"] = "Contatti";
+App::$strings["Notices"] = "Avvisi";
+App::$strings["Notifications"] = "Notifiche";
+App::$strings["See all notifications"] = "Vedi tutte le notifiche";
+App::$strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
+App::$strings["Mail"] = "Messaggi";
+App::$strings["Private mail"] = "Messaggi privati";
+App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
+App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
+App::$strings["Inbox"] = "In arrivo";
+App::$strings["Outbox"] = "Inviati";
+App::$strings["New Message"] = "Nuovo messaggio";
+App::$strings["Events"] = "Eventi";
+App::$strings["Event Calendar"] = "Calendario";
+App::$strings["See all events"] = "Guarda tutti gli eventi";
+App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+App::$strings["Channel Manager"] = "Gestione canali";
+App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
+App::$strings["Settings"] = "Impostazioni";
+App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
+App::$strings["Admin"] = "Amministrazione";
+App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
+App::$strings["Loading..."] = "Caricamento in corso...";
+App::$strings["@name, #tag, content"] = "@nome, #tag, testo";
+App::$strings["Please wait..."] = "Attendere...";
App::$strings["view full size"] = "guarda nelle dimensioni reali";
-App::$strings["General Features"] = "Funzionalità di base";
-App::$strings["Content Expiration"] = "Scadenza";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina gli articoli, i commenti o i messaggi privati dopo un lasso di tempo";
-App::$strings["Multiple Profiles"] = "Profili multipli";
-App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
-App::$strings["Advanced Profiles"] = "Profili avanzati";
-App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
-App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
-App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su canali o siti diversi";
-App::$strings["Web Pages"] = "Pagine web";
-App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
-App::$strings["Private Notes"] = "Note private";
-App::$strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere annotazioni";
-App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
-App::$strings["Photo Location"] = "Posizione geografica";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
-App::$strings["Expert Mode"] = "Modalità esperto";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
-App::$strings["Premium Channel"] = "Canale premium";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale";
-App::$strings["Post Composition Features"] = "Modalità di scrittura articoli";
-App::$strings["Use Markdown"] = "Usa il markdown";
-App::$strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare gli articoli";
-App::$strings["Large Photos"] = "Foto grandi";
-App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)";
-App::$strings["Channel Sources"] = "Sorgenti del canale";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
-App::$strings["Even More Encryption"] = "Crittografia addizionale";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta";
-App::$strings["Enable voting tools"] = "Permetti i post con votazione";
-App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di articoli in cui sarà possibile votare";
-App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
-App::$strings["Search by Date"] = "Ricerca per data";
-App::$strings["Ability to select posts by date ranges"] = "Per selezionare gli articoli in un intervallo tra date";
-App::$strings["Collections Filter"] = "Filtra per insiemi di canali";
-App::$strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali";
-App::$strings["Saved Searches"] = "Ricerche salvate";
-App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
-App::$strings["Network Personal Tab"] = "Attività personale";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
-App::$strings["Network New Tab"] = "Contenuti nuovi";
-App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
-App::$strings["Affinity Tool"] = "Filtro per affinità";
-App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-App::$strings["Suggest Channels"] = "Suggerisci canali";
-App::$strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
-App::$strings["Post/Comment Tools"] = "Gestione articoli e commenti";
-App::$strings["Tagging"] = "Tag";
-App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su articoli già esistenti";
-App::$strings["Post Categories"] = "Categorie degli articoli";
-App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi articoli";
-App::$strings["Saved Folders"] = "Cartelle salvate";
-App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
-App::$strings["Dislike Posts"] = "Non mi piace";
-App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi articoli";
-App::$strings["Star Posts"] = "Articoli stella (preferiti)";
-App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per scegliere gli articoli preferiti";
-App::$strings["Tag Cloud"] = "Nuvola di tag";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+App::$strings["\$Projectname Notification"] = "Notifica \$Projectname";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Grazie,";
+App::$strings["%s Administrator"] = "L'amministratore di %s";
+App::$strings["Administrator"] = "Amministratore";
+App::$strings["No Subject"] = "Nessun titolo";
+App::$strings["prev"] = "prec";
+App::$strings["first"] = "inizio";
+App::$strings["last"] = "fine";
+App::$strings["next"] = "succ";
+App::$strings["older"] = "più recenti";
+App::$strings["newer"] = "più nuovi";
+App::$strings["No connections"] = "Nessun contatto";
+App::$strings["%d Connection"] = array(
+ 0 => "%d contatto",
+ 1 => "%d contatti",
+);
+App::$strings["View Connections"] = "Elenco contatti";
+App::$strings["Save"] = "Salva";
+App::$strings["poke"] = "poke";
+App::$strings["poked"] = "ha mandato un poke";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "ha ricevuto un ping";
+App::$strings["prod"] = "spintone";
+App::$strings["prodded"] = "ha ricevuto uno spintone";
+App::$strings["slap"] = "schiaffo";
+App::$strings["slapped"] = "ha ricevuto uno schiaffo";
+App::$strings["finger"] = "finger";
+App::$strings["fingered"] = "ha ricevuto un finger";
+App::$strings["rebuff"] = "rifiuto";
+App::$strings["rebuffed"] = "ha ricevuto un rifiuto";
+App::$strings["happy"] = "felice";
+App::$strings["sad"] = "triste";
+App::$strings["mellow"] = "calmo";
+App::$strings["tired"] = "stanco";
+App::$strings["perky"] = "vivace";
+App::$strings["angry"] = "arrabbiato";
+App::$strings["stupified"] = "stordito";
+App::$strings["puzzled"] = "confuso";
+App::$strings["interested"] = "attento";
+App::$strings["bitter"] = "amaro";
+App::$strings["cheerful"] = "allegro";
+App::$strings["alive"] = "vivace";
+App::$strings["annoyed"] = "seccato";
+App::$strings["anxious"] = "ansioso";
+App::$strings["cranky"] = "irritabile";
+App::$strings["disturbed"] = "turbato";
+App::$strings["frustrated"] = "frustrato";
+App::$strings["depressed"] = "in depressione";
+App::$strings["motivated"] = "motivato";
+App::$strings["relaxed"] = "rilassato";
+App::$strings["surprised"] = "sorpreso";
+App::$strings["Monday"] = "lunedì";
+App::$strings["Tuesday"] = "martedì";
+App::$strings["Wednesday"] = "mercoledì";
+App::$strings["Thursday"] = "giovedì";
+App::$strings["Friday"] = "venerdì";
+App::$strings["Saturday"] = "sabato";
+App::$strings["Sunday"] = "domenica";
+App::$strings["January"] = "gennaio";
+App::$strings["February"] = "febbraio";
+App::$strings["March"] = "marzo";
+App::$strings["April"] = "aprile";
+App::$strings["May"] = "maggio";
+App::$strings["June"] = "giugno";
+App::$strings["July"] = "luglio";
+App::$strings["August"] = "agosto";
+App::$strings["September"] = "settembre";
+App::$strings["October"] = "ottobre";
+App::$strings["November"] = "novembre";
+App::$strings["December"] = "dicembre";
+App::$strings["unknown.???"] = "sconosciuto???";
+App::$strings["bytes"] = "byte";
+App::$strings["remove category"] = "rimuovi la categoria";
+App::$strings["remove from file"] = "rimuovi dal file";
+App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
+App::$strings["Link to Source"] = "Link al sito d'origine";
+App::$strings["default"] = "predefinito";
+App::$strings["Page layout"] = "Layout della pagina";
+App::$strings["You can create your own with the layouts tool"] = "Con la configurazione del layout puoi crearne uno tuo";
+App::$strings["Page content type"] = "Tipo di contenuto della pagina";
+App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
+App::$strings["photo"] = "la foto";
+App::$strings["event"] = "l'evento";
+App::$strings["status"] = "il messaggio di stato";
+App::$strings["comment"] = "il commento";
+App::$strings["activity"] = "l'attività";
+App::$strings["Design Tools"] = "Strumenti di design";
+App::$strings["Blocks"] = "Riquadri";
+App::$strings["Menus"] = "Menù";
+App::$strings["Layouts"] = "Layout";
+App::$strings["Pages"] = "Pagine";
App::$strings["Categories"] = "Categorie";
-App::$strings["Apps"] = "Apps";
App::$strings["System"] = "Sistema";
App::$strings["Personal"] = "Personali";
App::$strings["Create Personal App"] = "Crea una app personale";
@@ -220,8 +206,10 @@ App::$strings["Add New Connection"] = "Aggiungi un contatto";
App::$strings["Enter the channel address"] = "Scrivi l'indirizzo del canale";
App::$strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara";
App::$strings["Notes"] = "Note";
-App::$strings["Save"] = "Salva";
App::$strings["Remove term"] = "Rimuovi termine";
+App::$strings["Saved Searches"] = "Ricerche salvate";
+App::$strings["add"] = "aggiungi";
+App::$strings["Saved Folders"] = "Cartelle salvate";
App::$strings["Everything"] = "Tutto";
App::$strings["Archives"] = "Archivi";
App::$strings["Me"] = "Io";
@@ -239,10 +227,9 @@ App::$strings["Connected apps"] = "App connesse";
App::$strings["Export channel"] = "Esporta il canale";
App::$strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti";
App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
-App::$strings["Settings"] = "Impostazioni";
+App::$strings["Channel Sources"] = "Sorgenti del canale";
App::$strings["Messages"] = "Messaggi";
App::$strings["Check Mail"] = "Controlla i messaggi";
-App::$strings["New Message"] = "Nuovo messaggio";
App::$strings["Chat Rooms"] = "Aree chat attive";
App::$strings["Bookmarked Chatrooms"] = "Aree chat nei segnalibri";
App::$strings["Suggested Chatrooms"] = "Aree chat suggerite";
@@ -250,74 +237,18 @@ App::$strings["photo/image"] = "foto/immagine";
App::$strings["Rate Me"] = "Valutami";
App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
App::$strings["Public Hubs"] = "Hub pubblici";
-App::$strings["Hubzilla Notification"] = "Notifica di Hubzilla";
-App::$strings["hubzilla"] = "Hubzilla";
-App::$strings["Thank You,"] = "Grazie,";
-App::$strings["%s Administrator"] = "L'amministratore di %s";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Red:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
-App::$strings["a private message"] = "un messaggio privato";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
-App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla] Nuovo commento di %2\$s alla conversazione #%1\$d";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
-App::$strings["[Red:Notify] %s posted to your profile wall"] = "[Hubzilla] %s ha scritto sulla tua bacheca";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
-App::$strings["[Red:Notify] %s tagged you"] = "[Hubzilla] %s ti ha taggato";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
-App::$strings["[Red:Notify] %1\$s poked you"] = "[Hubzilla] %1\$s ti ha mandato un poke";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
-App::$strings["[Red:Notify] %s tagged your post"] = "[Hubzilla] %s ha taggato il tuo articolo";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo articolo su %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo articolo[/zrl]";
-App::$strings["[Red:Notify] Introduction received"] = "[Hubzilla] Hai una richiesta di amicizia";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
-App::$strings["[Red:Notify] Friend suggestion received"] = "[Hubzilla] Ti è stato suggerito un amico";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
-App::$strings["Name:"] = "Nome:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
-App::$strings["[Red:Notify]"] = "[Hubzilla]";
-App::$strings["Frequently"] = "Frequentemente";
-App::$strings["Hourly"] = "Ogni ora";
-App::$strings["Twice daily"] = "Due volte al giorno";
-App::$strings["Daily"] = "Ogni giorno";
-App::$strings["Weekly"] = "Ogni settimana";
-App::$strings["Monthly"] = "Ogni mese";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "Email";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot!"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
+App::$strings["New window"] = "Nuova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
+App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
App::$strings["[no subject]"] = "[nessun titolo]";
App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare l'articolo inserito.";
-App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
-App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
-App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
-App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
-App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
-App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
-App::$strings["local account not found."] = "l'account locale non è stato trovato.";
-App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
+App::$strings["Invalid data packet"] = "Dati non validi";
+App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
+App::$strings["created a new post"] = "Ha creato un nuovo post";
+App::$strings["commented on %s's post"] = "ha commentato il post di %s";
App::$strings["Private Message"] = "Messaggio privato";
App::$strings["Select"] = "Seleziona";
App::$strings["Save to Folder"] = "Salva nella cartella";
@@ -368,7 +299,10 @@ App::$strings["__ctx:noun__ Likes"] = "Mi piace";
App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
App::$strings["Close"] = "Chiudi";
App::$strings["Please wait"] = "Attendere";
+App::$strings["[+] show all"] = "[+] mostra tutto";
App::$strings["This is you"] = "Questo sei tu";
+App::$strings["Comment"] = "Commento";
+App::$strings["Submit"] = "Salva";
App::$strings["Bold"] = "Grassetto";
App::$strings["Italic"] = "Corsivo";
App::$strings["Underline"] = "Sottolineato";
@@ -377,232 +311,134 @@ App::$strings["Code"] = "Codice";
App::$strings["Image"] = "Immagine";
App::$strings["Insert Link"] = "Collegamento";
App::$strings["Video"] = "Video";
+App::$strings["Preview"] = "Anteprima";
App::$strings["Encrypt text"] = "Crittografia del testo";
-App::$strings["New window"] = "Nuova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
-App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
-App::$strings["Attachments:"] = "Allegati:";
-App::$strings["Hubzilla event notification:"] = "Notifica eventi Hubzilla:";
-App::$strings["prev"] = "prec";
-App::$strings["first"] = "inizio";
-App::$strings["last"] = "fine";
-App::$strings["next"] = "succ";
-App::$strings["older"] = "più recenti";
-App::$strings["newer"] = "più nuovi";
-App::$strings["No connections"] = "Nessun contatto";
-App::$strings["%d Connection"] = array(
- 0 => "%d contatto",
- 1 => "%d contatti",
-);
-App::$strings["View Connections"] = "Elenco contatti";
-App::$strings["Search"] = "Cerca";
-App::$strings["poke"] = "poke";
-App::$strings["poked"] = "ha ricevuto un poke";
-App::$strings["ping"] = "ping";
-App::$strings["pinged"] = "ha ricevuto un ping";
-App::$strings["prod"] = "spintone";
-App::$strings["prodded"] = "ha ricevuto uno spintone";
-App::$strings["slap"] = "schiaffo";
-App::$strings["slapped"] = "ha ricevuto uno schiaffo";
-App::$strings["finger"] = "finger";
-App::$strings["fingered"] = "ha ricevuto un finger";
-App::$strings["rebuff"] = "rifiuto";
-App::$strings["rebuffed"] = "ha ricevuto un rifiuto";
-App::$strings["happy"] = "felice";
-App::$strings["sad"] = "triste";
-App::$strings["mellow"] = "calmo";
-App::$strings["tired"] = "stanco";
-App::$strings["perky"] = "vivace";
-App::$strings["angry"] = "arrabbiato";
-App::$strings["stupified"] = "stordito";
-App::$strings["puzzled"] = "confuso";
-App::$strings["interested"] = "attento";
-App::$strings["bitter"] = "amaro";
-App::$strings["cheerful"] = "allegro";
-App::$strings["alive"] = "vivace";
-App::$strings["annoyed"] = "seccato";
-App::$strings["anxious"] = "ansioso";
-App::$strings["cranky"] = "irritabile";
-App::$strings["disturbed"] = "turbato";
-App::$strings["frustrated"] = "frustrato";
-App::$strings["depressed"] = "in depressione";
-App::$strings["motivated"] = "motivato";
-App::$strings["relaxed"] = "rilassato";
-App::$strings["surprised"] = "sorpreso";
-App::$strings["Monday"] = "lunedì";
-App::$strings["Tuesday"] = "martedì";
-App::$strings["Wednesday"] = "mercoledì";
-App::$strings["Thursday"] = "giovedì";
-App::$strings["Friday"] = "venerdì";
-App::$strings["Saturday"] = "sabato";
-App::$strings["Sunday"] = "domenica";
-App::$strings["January"] = "gennaio";
-App::$strings["February"] = "febbraio";
-App::$strings["March"] = "marzo";
-App::$strings["April"] = "aprile";
-App::$strings["May"] = "maggio";
-App::$strings["June"] = "giugno";
-App::$strings["July"] = "luglio";
-App::$strings["August"] = "agosto";
-App::$strings["September"] = "settembre";
-App::$strings["October"] = "ottobre";
-App::$strings["November"] = "novembre";
-App::$strings["December"] = "dicembre";
-App::$strings["unknown.???"] = "sconosciuto???";
-App::$strings["bytes"] = "byte";
-App::$strings["remove category"] = "rimuovi la categoria";
-App::$strings["remove from file"] = "rimuovi dal file";
-App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
-App::$strings["Link to Source"] = "Link al sito d'origine";
-App::$strings["default"] = "predefinito";
-App::$strings["Page layout"] = "Layout della pagina";
-App::$strings["You can create your own with the layouts tool"] = "Con gli strumenti di design puoi creare il tuo";
-App::$strings["Page content type"] = "Tipo di contenuto della pagina";
-App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
-App::$strings["photo"] = "la foto";
-App::$strings["event"] = "l'evento";
-App::$strings["status"] = "il messaggio di stato";
-App::$strings["comment"] = "il commento";
-App::$strings["activity"] = "l'attività";
-App::$strings["Design Tools"] = "Strumenti di design";
-App::$strings["Blocks"] = "Riquadri";
-App::$strings["Menus"] = "Menù";
-App::$strings["Layouts"] = "Layout";
-App::$strings["Pages"] = "Pagine";
-App::$strings["Logout"] = "Esci";
-App::$strings["End this session"] = "Chiudi questa sessione";
-App::$strings["Home"] = "Bacheca";
-App::$strings["Your posts and conversations"] = "I tuoi articoli e conversazioni";
-App::$strings["View Profile"] = "Profilo";
-App::$strings["Your profile page"] = "Il tuo profilo";
-App::$strings["Edit Profiles"] = "Modifica i profili";
-App::$strings["Manage/Edit profiles"] = "Gestisci/modifica i profili";
-App::$strings["Edit Profile"] = "Modifica il profilo";
-App::$strings["Edit your profile"] = "Modifica il profilo";
-App::$strings["Photos"] = "Foto";
-App::$strings["Your photos"] = "Le tue foto";
-App::$strings["Your files"] = "I tuoi file";
-App::$strings["Chat"] = "Area chat";
-App::$strings["Your chatrooms"] = "Le tue aree chat";
-App::$strings["Bookmarks"] = "Segnalibri";
-App::$strings["Your bookmarks"] = "I tuoi segnalibri";
-App::$strings["Webpages"] = "Pagine web";
-App::$strings["Your webpages"] = "Le tue pagine web";
-App::$strings["Login"] = "Accedi";
-App::$strings["Sign in"] = "Accedi";
-App::$strings["%s - click to logout"] = "%s - clicca per uscire";
-App::$strings["Remote authentication"] = "Autenticazione magica dal tuo server";
-App::$strings["Click to authenticate to your home hub"] = "Clicca per autenticarti sul tuo server principale";
-App::$strings["Home Page"] = "Bacheca";
-App::$strings["Register"] = "Iscriviti";
-App::$strings["Create an account"] = "Crea un account";
-App::$strings["Help"] = "Guida";
-App::$strings["Help and documentation"] = "Guida e documentazione";
-App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
-App::$strings["Search site content"] = "Cerca nel sito";
-App::$strings["Directory"] = "Elenco pubblico";
-App::$strings["Channel Directory"] = "Elenco pubblico canali";
-App::$strings["Matrix"] = "Hubzilla";
-App::$strings["Your matrix"] = "La tua rete";
-App::$strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
-App::$strings["Channel Home"] = "Bacheca del canale";
-App::$strings["Channel home"] = "Bacheca del canale";
-App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
-App::$strings["Connections"] = "Contatti";
-App::$strings["Notices"] = "Avvisi";
-App::$strings["Notifications"] = "Notifiche";
-App::$strings["See all notifications"] = "Vedi tutte le notifiche";
-App::$strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
-App::$strings["Mail"] = "Messaggi";
-App::$strings["Private mail"] = "Messaggi privati";
-App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
-App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
-App::$strings["Inbox"] = "In arrivo";
-App::$strings["Outbox"] = "Inviati";
-App::$strings["Events"] = "Eventi";
-App::$strings["Event Calendar"] = "Calendario";
-App::$strings["See all events"] = "Guarda tutti gli eventi";
-App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
-App::$strings["Channel Manager"] = "Gestione canali";
-App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
-App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
-App::$strings["Admin"] = "Amministrazione";
-App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
-App::$strings["Loading..."] = "Caricamento in corso...";
-App::$strings["@name, #tag, content"] = "@nome, #tag, testo";
-App::$strings["Please wait..."] = "Attendere...";
-App::$strings["Tags"] = "Tag";
-App::$strings["Keywords"] = "Parole chiave";
-App::$strings["have"] = "ho";
-App::$strings["has"] = "ha";
-App::$strings["want"] = "voglio";
-App::$strings["wants"] = "vuole";
-App::$strings["likes"] = "gli piace";
-App::$strings["dislikes"] = "non gli piace";
+App::$strings["Not a valid email address"] = "Email non valida";
+App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
+App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
+App::$strings["An invitation is required."] = "È necessario un invito.";
+App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
+App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
+App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
+App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
+App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+App::$strings["your registration password"] = "la password di registrazione";
+App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
+App::$strings["Account approved."] = "Account approvato.";
+App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
+App::$strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
+App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
+App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
+App::$strings["Embedded content"] = "Contenuti incorporati";
+App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
+App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "Non mostrare";
+App::$strings["Permissions"] = "Permessi";
App::$strings[" and "] = "e";
App::$strings["public profile"] = "profilo pubblico";
App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+App::$strings["Public Timeline"] = "Diario pubblico";
+App::$strings["Site Admin"] = "Amministrazione sito";
+App::$strings["Address Book"] = "Rubrica";
+App::$strings["Profile"] = "Profilo";
+App::$strings["Mood"] = "Umore";
+App::$strings["Poke"] = "Poke";
+App::$strings["Probe"] = "Diagnostica";
+App::$strings["Suggest"] = "Suggerisci";
+App::$strings["Random Channel"] = "Canale casuale";
+App::$strings["Invite"] = "Invita";
+App::$strings["Features"] = "Funzionalità";
+App::$strings["Language"] = "Lingua";
+App::$strings["Post"] = "Post";
+App::$strings["Profile Photo"] = "Foto del profilo";
+App::$strings["Update"] = "Aggiorna";
+App::$strings["Install"] = "Installa";
+App::$strings["Purchase"] = "Acquista";
+App::$strings["Permission denied."] = "Permesso negato.";
+App::$strings["Item was not found."] = "Elemento non trovato.";
+App::$strings["No source file."] = "Nessun file di origine.";
+App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+App::$strings["Path not available."] = "Percorso non disponibile.";
+App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
+App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
+App::$strings["Path not found."] = "Percorso del file non trovato.";
+App::$strings["mkdir failed."] = "mkdir fallito.";
+App::$strings["database storage failed."] = "scrittura su database fallita.";
+App::$strings["Logged out."] = "Uscita effettuata.";
+App::$strings["Failed authentication"] = "Autenticazione fallita";
+App::$strings["Login failed."] = "Accesso fallito.";
+App::$strings["Attachments:"] = "Allegati:";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+App::$strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
+App::$strings["Starts:"] = "Inizio:";
+App::$strings["Finishes:"] = "Fine:";
+App::$strings["Location:"] = "Luogo:";
App::$strings["Image/photo"] = "Immagine";
App::$strings["Encrypted content"] = "Contenuto crittografato";
-App::$strings["Install design element: "] = "Installa il componente di design:";
+App::$strings["Install %s element: "] = "Installa l'elemento %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
+App::$strings["webpage"] = "pagina web";
+App::$strings["layout"] = "layout";
+App::$strings["block"] = "riquadro";
+App::$strings["menu"] = "menu";
App::$strings["QR code"] = "QR code";
App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
-App::$strings["post"] = "l'articolo";
+App::$strings["post"] = "il post";
App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
App::$strings["$1 spoiler"] = "$1 spoiler";
App::$strings["$1 wrote:"] = "$1 ha scritto:";
-App::$strings["Permission denied"] = "Permesso negato";
-App::$strings["(Unknown)"] = "(Sconosciuto)";
-App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
-App::$strings["Visible to you only."] = "Visibile solo a te.";
-App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-App::$strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
-App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-App::$strings["Item not found."] = "Elemento non trovato.";
-App::$strings["Permission denied."] = "Permesso negato.";
-App::$strings["Collection not found."] = "Insieme di canali non trovato.";
-App::$strings["Collection is empty."] = "L'insieme di canali è vuoto.";
-App::$strings["Collection: %s"] = "Insieme: %s";
-App::$strings["Connection: %s"] = "Contatto: %s";
-App::$strings["Connection not found."] = "Contatto non trovato.";
-App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e articoli normali";
-App::$strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
-App::$strings["Can view my photo albums"] = "Può vedere i miei album fotografici";
-App::$strings["Can view my connections"] = "Può vedere i miei contatti";
-App::$strings["Can view my file storage"] = "Può vedere i miei file condivisi";
-App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
-App::$strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
-App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-App::$strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei articoli";
-App::$strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
-App::$strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
-App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\"";
-App::$strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è articoli e commenti";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione";
-App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
-App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
-App::$strings["Can write to my file storage"] = "Può scrivere sul mio archivio file";
-App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-App::$strings["Can source my public posts in derived channels"] = "Può usare i miei articoli pubblici per creare canali derivati";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
-App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
-App::$strings["Social Networking"] = "Social network";
-App::$strings["Mostly Public"] = "Prevalentemente pubblico";
-App::$strings["Restricted"] = "Con restrizioni";
-App::$strings["Private"] = "Privato";
-App::$strings["Community Forum"] = "Forum di discussione";
-App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
-App::$strings["Special Purpose"] = "Per finalità speciali";
-App::$strings["Celebrity/Soapbox"] = "Pagina per fan";
-App::$strings["Group Repository"] = "Repository di gruppo";
-App::$strings["Other"] = "Altro";
-App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
+App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["Missing room name"] = "Area chat senza nome";
+App::$strings["Duplicate room name"] = "Il nome dell'area chat è duplicato";
+App::$strings["Invalid room specifier."] = "Il nome dell'area chat non è valido.";
+App::$strings["Room not found."] = "Area chat non trovata.";
+App::$strings["Room is full"] = "L'area chat è al completo";
+App::$strings["Default"] = "Predefinito";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+App::$strings["Frequently"] = "Frequentemente";
+App::$strings["Hourly"] = "Ogni ora";
+App::$strings["Twice daily"] = "Due volte al giorno";
+App::$strings["Daily"] = "Ogni giorno";
+App::$strings["Weekly"] = "Ogni settimana";
+App::$strings["Monthly"] = "Ogni mese";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Email"] = "Email";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot!"] = "Zot!";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invito disponibile",
+ 1 => "%d inviti disponibili",
+);
+App::$strings["Advanced"] = "Avanzate";
+App::$strings["Find Channels"] = "Ricerca canali";
+App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
+App::$strings["Connect/Follow"] = "Aggiungi";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
+App::$strings["Find"] = "Cerca";
+App::$strings["Channel Suggestions"] = "Canali suggeriti";
+App::$strings["Random Profile"] = "Profilo casuale";
+App::$strings["Invite Friends"] = "Invita amici";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d contatto in comune",
+ 1 => "%d contatti in comune",
+);
+App::$strings["show more"] = "mostra tutto";
App::$strings["channel"] = "canale";
App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
@@ -630,7 +466,6 @@ App::$strings["View Photos"] = "Guarda le foto";
App::$strings["Matrix Activity"] = "Attività nella tua rete";
App::$strings["Edit Contact"] = "Modifica il contatto";
App::$strings["Send PM"] = "Invia messaggio privato";
-App::$strings["Poke"] = "Poke";
App::$strings["%s likes this."] = "Piace a %s.";
App::$strings["%s doesn't like this."] = "Non piace a %s.";
App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
@@ -678,7 +513,7 @@ App::$strings["Title (optional)"] = "Titolo (opzionale)";
App::$strings["Categories (optional, comma-separated list)"] = "Categorie (lista separata da virgole)";
App::$strings["Permission settings"] = "Impostazioni permessi";
App::$strings["permissions"] = "permessi";
-App::$strings["Public post"] = "Articolo pubblico";
+App::$strings["Public post"] = "Post pubblico";
App::$strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
App::$strings["Set expiration date"] = "Data di scadenza";
App::$strings["OK"] = "OK";
@@ -687,17 +522,17 @@ App::$strings["Discover"] = "Scopri";
App::$strings["Imported public streams"] = "Contenuti pubblici importati";
App::$strings["Commented Order"] = "Ultimi commenti";
App::$strings["Sort by Comment Date"] = "Per data del commento";
-App::$strings["Posted Order"] = "Ultimi articoli";
+App::$strings["Posted Order"] = "Ultimi post";
App::$strings["Sort by Post Date"] = "Per data di creazione";
-App::$strings["Posts that mention or involve you"] = "Articoli che ti riguardano o ti menzionano";
+App::$strings["Posts that mention or involve you"] = "Post che ti riguardano o ti menzionano";
App::$strings["New"] = "Novità";
App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
App::$strings["Starred"] = "Preferiti";
-App::$strings["Favourite Posts"] = "Articoli preferiti";
+App::$strings["Favourite Posts"] = "Post preferiti";
App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Articoli marcati come spam";
+App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
App::$strings["Channel"] = "Canale";
-App::$strings["Status Messages and Posts"] = "Articoli e messaggi di stato";
+App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
App::$strings["About"] = "Informazioni";
App::$strings["Profile Details"] = "Dettagli del profilo";
App::$strings["Photo Albums"] = "Album foto";
@@ -729,63 +564,158 @@ App::$strings["__ctx:noun__ Abstain"] = array(
0 => "Astenuto",
1 => "Astenuti",
);
-App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
-App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
-App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
-App::$strings["Photo storage failed."] = "Impossibile caricare la foto.";
-App::$strings["Upload New Photos"] = "Carica nuove foto";
-App::$strings["Invalid data packet"] = "Dati non validi";
-App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
-App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
-App::$strings["Embedded content"] = "Contenuti incorporati";
-App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
-App::$strings["Logged out."] = "Uscita effettuata.";
-App::$strings["Failed authentication"] = "Autenticazione fallita";
-App::$strings["Login failed."] = "Accesso fallito.";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invito disponibile",
- 1 => "%d inviti disponibili",
-);
-App::$strings["Advanced"] = "Avanzate";
-App::$strings["Find Channels"] = "Ricerca canali";
-App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
-App::$strings["Connect/Follow"] = "Aggiungi";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
-App::$strings["Find"] = "Cerca";
-App::$strings["Channel Suggestions"] = "Canali suggeriti";
-App::$strings["Random Profile"] = "Profilo casuale";
-App::$strings["Invite Friends"] = "Invita amici";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contatto in comune",
- 1 => "%d contatti in comune",
-);
-App::$strings["show more"] = "mostra tutto";
-App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "Non mostrare";
-App::$strings["Permissions"] = "Permessi";
-App::$strings["Item was not found."] = "Elemento non trovato.";
-App::$strings["No source file."] = "Nessun file di origine.";
-App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
-App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
-App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
-App::$strings["Path not available."] = "Percorso non disponibile.";
-App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
-App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
-App::$strings["Path not found."] = "Percorso del file non trovato.";
-App::$strings["mkdir failed."] = "mkdir fallito.";
-App::$strings["database storage failed."] = "scrittura su database fallita.";
+App::$strings["Miscellaneous"] = "Altro";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
+App::$strings["Required"] = "Obbligatorio";
+App::$strings["never"] = "mai";
+App::$strings["less than a second ago"] = "meno di un secondo fa";
+App::$strings["year"] = "anno";
+App::$strings["years"] = "anni";
+App::$strings["month"] = "mese";
+App::$strings["months"] = "mesi";
+App::$strings["week"] = "settimana";
+App::$strings["weeks"] = "settimane";
+App::$strings["day"] = "giorno";
+App::$strings["days"] = "giorni";
+App::$strings["hour"] = "ora";
+App::$strings["hours"] = "ore";
+App::$strings["minute"] = "minuto";
+App::$strings["minutes"] = "minuti";
+App::$strings["second"] = "secondo";
+App::$strings["seconds"] = "secondi";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
+App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
+App::$strings["Please choose"] = "La tua scelta";
+App::$strings["Agree"] = "Sono d'accordo";
+App::$strings["Disagree"] = "Non sono d'accordo";
+App::$strings["Abstain"] = "Mi astengo";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
+App::$strings["Directory Options"] = "Opzioni elenco pubblico";
+App::$strings["Safe Mode"] = "Modalità SafeSearch";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Si";
+App::$strings["Public Forums Only"] = "Solo forum pubblici";
+App::$strings["This Website Only"] = "Solo in questo sito";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Red:Notify] New mail received at %s"] = "[RedMatrix] Nuovo messaggio su %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
+App::$strings["a private message"] = "un messaggio privato";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
+App::$strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[RedMatrix] Nuovo commento di %2\$s alla conversazione #%1\$d";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
+App::$strings["[Red:Notify] %s posted to your profile wall"] = "[RedMatrix] %s ha scritto sulla tua bacheca";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
+App::$strings["[Red:Notify] %s tagged you"] = "[RedMatrix] %s ti ha taggato";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
+App::$strings["[Red:Notify] %1\$s poked you"] = "[RedMatrix] %1\$s ti ha mandato un poke";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
+App::$strings["[Red:Notify] %s tagged your post"] = "[RedMatrix] %s ha taggato il tuo post";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo post su %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo post[/zrl]";
+App::$strings["[Red:Notify] Introduction received"] = "[RedMatrix] Hai una richiesta di amicizia";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
+App::$strings["[Red:Notify] Friend suggestion received"] = "[RedMatrix] Ti è stato suggerito un amico";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
+App::$strings["Name:"] = "Nome:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
+App::$strings["[Red:Notify]"] = "[RedMatrix]";
+App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
+App::$strings["General Features"] = "Funzionalità di base";
+App::$strings["Content Expiration"] = "Scadenza";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
+App::$strings["Multiple Profiles"] = "Profili multipli";
+App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+App::$strings["Advanced Profiles"] = "Profili avanzati";
+App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
+App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
+App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su canali o siti diversi";
+App::$strings["Web Pages"] = "Pagine web";
+App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+App::$strings["Private Notes"] = "Note private";
+App::$strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere annotazioni";
+App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
+App::$strings["Photo Location"] = "Posizione geografica";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
+App::$strings["Expert Mode"] = "Modalità esperto";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
+App::$strings["Premium Channel"] = "Canale premium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale";
+App::$strings["Post Composition Features"] = "Modalità di scrittura post";
+App::$strings["Use Markdown"] = "Usa il markdown";
+App::$strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare i post";
+App::$strings["Large Photos"] = "Foto grandi";
+App::$strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
+App::$strings["Even More Encryption"] = "Crittografia addizionale";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta";
+App::$strings["Enable voting tools"] = "Permetti i post con votazione";
+App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
+App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+App::$strings["Search by Date"] = "Ricerca per data";
+App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
+App::$strings["Collections Filter"] = "Filtra per insiemi di canali";
+App::$strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare i post di certi insiemi di canali";
+App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+App::$strings["Network Personal Tab"] = "Attività personale";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+App::$strings["Network New Tab"] = "Contenuti nuovi";
+App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+App::$strings["Affinity Tool"] = "Filtro per affinità";
+App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+App::$strings["Connection Filtering"] = "Filtro sui contatti";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra con delle parole chiave i post che ricevi";
+App::$strings["Suggest Channels"] = "Suggerisci canali";
+App::$strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
+App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
+App::$strings["Tagging"] = "Tag";
+App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
+App::$strings["Post Categories"] = "Categorie dei post";
+App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
+App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in post";
+App::$strings["Dislike Posts"] = "Non mi piace";
+App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
+App::$strings["Star Posts"] = "Post con stella";
+App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
+App::$strings["Tag Cloud"] = "Nuvola di tag";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
+App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
+App::$strings["Protocol blocked for this channel."] = "Protocollo bloccato per questo canale.";
+App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
+App::$strings["local account not found."] = "l'account locale non è stato trovato.";
+App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso.";
+App::$strings["Default privacy group for new contacts"] = "Insieme predefinito per i canali che inizi a seguire";
+App::$strings["All Channels"] = "Tutti i canali";
+App::$strings["edit"] = "modifica";
+App::$strings["Collections"] = "Insiemi di canali";
+App::$strings["Edit collection"] = "Modifica l'insieme di canali";
+App::$strings["Add new collection"] = "Nuovo insieme";
+App::$strings["Channels not in any collection"] = "Canali che non sono in un insieme";
App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
App::$strings["Empty name"] = "Nome vuoto";
App::$strings["Name too long"] = "Nome troppo lungo";
App::$strings["No account identifier"] = "Account senza identificativo";
App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
App::$strings["Default Profile"] = "Profilo predefinito";
App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
@@ -809,7 +739,6 @@ App::$strings["Birthdays this week:"] = "Compleanni questa settimana:";
App::$strings["[No description]"] = "[Nessuna descrizione]";
App::$strings["Event Reminders"] = "Promemoria";
App::$strings["Events this week:"] = "Eventi di questa settimana:";
-App::$strings["Profile"] = "Profilo";
App::$strings["Full Name:"] = "Nome completo:";
App::$strings["Like this channel"] = "Mi piace questo canale";
App::$strings["j F, Y"] = "j F Y";
@@ -836,6 +765,109 @@ App::$strings["Love/Romance:"] = "Amore:";
App::$strings["Work/employment:"] = "Lavoro:";
App::$strings["School/education:"] = "Scuola:";
App::$strings["Like this thing"] = "Mi piace questo Oggetto";
+App::$strings["Permission denied"] = "Permesso negato";
+App::$strings["(Unknown)"] = "(Sconosciuto)";
+App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+App::$strings["Visible to you only."] = "Visibile solo a te.";
+App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+App::$strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
+App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+App::$strings["Item not found."] = "Elemento non trovato.";
+App::$strings["Collection not found."] = "Insieme di canali non trovato.";
+App::$strings["Collection is empty."] = "L'insieme di canali è vuoto.";
+App::$strings["Collection: %s"] = "Insieme: %s";
+App::$strings["Connection: %s"] = "Contatto: %s";
+App::$strings["Connection not found."] = "Contatto non trovato.";
+App::$strings["Delete this item?"] = "Eliminare questo elemento?";
+App::$strings["[-] show less"] = "[-] riduci";
+App::$strings["[+] expand"] = "[+] mostra tutto";
+App::$strings["[-] collapse"] = "[-] riduci";
+App::$strings["Password too short"] = "Password troppo corta";
+App::$strings["Passwords do not match"] = "Le password non corrispondono";
+App::$strings["everybody"] = "tutti";
+App::$strings["Secret Passphrase"] = "Chiave segreta";
+App::$strings["Passphrase hint"] = "Suggerimento per la chiave segreta";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Nota: i permessi sono stati modificati ma non ancora salvati.";
+App::$strings["close all"] = "chiudi tutto";
+App::$strings["Nothing new here"] = "Niente di nuovo qui";
+App::$strings["Rate This Channel (this is public)"] = "Valuta questo canale (visibile a tutti)";
+App::$strings["Rating"] = "Valutazioni";
+App::$strings["Describe (optional)"] = "Descrizione (facoltativa)";
+App::$strings["Please enter a link URL"] = "Inserisci l'URL di un link";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "fa";
+App::$strings["from now"] = "da adesso";
+App::$strings["less than a minute"] = "meno di un minuto";
+App::$strings["about a minute"] = "circa un minuto";
+App::$strings["%d minutes"] = "%d minuti";
+App::$strings["about an hour"] = "circa un’ora";
+App::$strings["about %d hours"] = "circa %d ore";
+App::$strings["a day"] = "un giorno";
+App::$strings["%d days"] = "%d giorni";
+App::$strings["about a month"] = "circa un mese";
+App::$strings["%d months"] = "%d mesi";
+App::$strings["about a year"] = "circa un anno";
+App::$strings["%d years"] = "%d anni";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["New Page"] = "Nuova pagina web";
+App::$strings["View"] = "Guarda";
+App::$strings["Actions"] = "Azioni";
+App::$strings["Page Link"] = "Link alla pagina";
+App::$strings["Title"] = "Titolo";
+App::$strings["Created"] = "Creato";
+App::$strings["Edited"] = "Modificato";
+App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
+App::$strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
+App::$strings["Can view my photo albums"] = "Può vedere i miei album fotografici";
+App::$strings["Can view my connections"] = "Può vedere i miei contatti";
+App::$strings["Can view my file storage"] = "Può vedere i miei file condivisi";
+App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
+App::$strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
+App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
+App::$strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post";
+App::$strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
+App::$strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
+App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\"";
+App::$strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è post o commenti";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
+App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
+App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
+App::$strings["Can write to my file storage"] = "Può scrivere sul mio archivio file";
+App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
+App::$strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
+App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
+App::$strings["Social Networking"] = "Social network";
+App::$strings["Mostly Public"] = "Prevalentemente pubblico";
+App::$strings["Restricted"] = "Con restrizioni";
+App::$strings["Private"] = "Privato";
+App::$strings["Community Forum"] = "Forum di discussione";
+App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
+App::$strings["Special Purpose"] = "Per finalità speciali";
+App::$strings["Celebrity/Soapbox"] = "Pagina per fan";
+App::$strings["Group Repository"] = "Repository di gruppo";
+App::$strings["Other"] = "Altro";
+App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
+App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
+App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
+App::$strings["Photo storage failed."] = "Impossibile caricare la foto.";
+App::$strings["Upload New Photos"] = "Carica nuove foto";
+App::$strings["Tags"] = "Tag";
+App::$strings["Keywords"] = "Parole chiave";
+App::$strings["have"] = "ho";
+App::$strings["has"] = "ha";
+App::$strings["want"] = "voglio";
+App::$strings["wants"] = "vuole";
+App::$strings["likes"] = "gli piace";
+App::$strings["dislikes"] = "non gli piace";
App::$strings["Male"] = "Maschio";
App::$strings["Female"] = "Femmina";
App::$strings["Currently Male"] = "Al momento maschio";
@@ -892,26 +924,304 @@ App::$strings["Uncertain"] = "Incerto/a";
App::$strings["It's complicated"] = "Relazione complicata";
App::$strings["Don't care"] = "Chi se ne frega";
App::$strings["Ask me"] = "Chiedimelo";
-App::$strings["Site Admin"] = "Amministrazione sito";
-App::$strings["Address Book"] = "Rubrica";
-App::$strings["Mood"] = "Umore";
-App::$strings["Probe"] = "Diagnostica";
-App::$strings["Suggest"] = "Suggerisci";
-App::$strings["Random Channel"] = "Canale casuale";
-App::$strings["Invite"] = "Invita";
-App::$strings["Features"] = "Funzionalità";
-App::$strings["Language"] = "Lingua";
-App::$strings["Post"] = "Articolo";
-App::$strings["Profile Photo"] = "Foto del profilo";
-App::$strings["Update"] = "Aggiorna";
-App::$strings["Install"] = "Installa";
-App::$strings["Purchase"] = "Acquista";
-App::$strings["Missing room name"] = "Area chat senza nome";
-App::$strings["Duplicate room name"] = "Il nome dell'area chat è duplicato";
-App::$strings["Invalid room specifier."] = "Il nome dell'area chat non è valido.";
-App::$strings["Room not found."] = "Area chat non trovata.";
-App::$strings["Room is full"] = "L'area chat è al completo";
+App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
+App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
+App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
+App::$strings["Message deleted."] = "Messaggio eliminato.";
+App::$strings["Message recalled."] = "Messaggio revocato.";
+App::$strings["Send Private Message"] = "Invia un messaggio privato";
+App::$strings["To:"] = "A:";
+App::$strings["Subject:"] = "Oggetto:";
+App::$strings["Your message:"] = "Il tuo messaggio:";
+App::$strings["Send"] = "Invia";
+App::$strings["Message not found."] = "Messaggio non trovato.";
+App::$strings["Delete message"] = "Elimina il messaggio";
+App::$strings["Recall message"] = "Revoca il messaggio";
+App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
+App::$strings["Private Conversation"] = "Conversazione privata";
+App::$strings["Delete conversation"] = "Elimina la conversazione";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
+App::$strings["Send Reply"] = "Invia la risposta";
+App::$strings["Hub not found."] = "Server non trovato.";
App::$strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
+App::$strings["Invalid item."] = "Elemento non valido.";
+App::$strings["Channel not found."] = "Canale non trovato.";
+App::$strings["Page not found."] = "Pagina non trovata.";
+App::$strings["Lorem Ipsum"] = "Lorem Ipsum";
+App::$strings["network"] = "rete";
+App::$strings["RSS"] = "RSS";
+App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
+App::$strings["Site"] = "Sito";
+App::$strings["Accounts"] = "Account";
+App::$strings["Channels"] = "Canali";
+App::$strings["Plugins"] = "Plugin";
+App::$strings["Themes"] = "Temi";
+App::$strings["Inspect queue"] = "Coda di attesa";
+App::$strings["Profile Config"] = "Configurazione del profilo";
+App::$strings["DB updates"] = "Aggiornamenti al DB";
+App::$strings["Logs"] = "Log";
+App::$strings["Plugin Features"] = "Plugin";
+App::$strings["User registrations waiting for confirmation"] = "Registrazioni in attesa";
+App::$strings["# Accounts"] = "# account";
+App::$strings["# blocked accounts"] = "# account bloccati";
+App::$strings["# expired accounts"] = "# account scaduti";
+App::$strings["# expiring accounts"] = "# account in scadenza";
+App::$strings["# Channels"] = "# canali";
+App::$strings["# primary"] = "# primari";
+App::$strings["# clones"] = "# cloni";
+App::$strings["Message queues"] = "Coda messaggi in uscita";
+App::$strings["Administration"] = "Amministrazione";
+App::$strings["Summary"] = "Riepilogo";
+App::$strings["Registered accounts"] = "Account creati";
+App::$strings["Pending registrations"] = "Registrazioni da approvare";
+App::$strings["Registered channels"] = "Canali creati";
+App::$strings["Active plugins"] = "Plugin attivi";
+App::$strings["Version"] = "Versione";
+App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
+App::$strings["mobile"] = "mobile";
+App::$strings["experimental"] = "sperimentale";
+App::$strings["unsupported"] = "non supportato";
+App::$strings["Yes - with approval"] = "Sì - con approvazione";
+App::$strings["My site is not a public server"] = "Non è un server pubblico";
+App::$strings["My site has paid access only"] = "È un servizio a pagamento";
+App::$strings["My site has free access only"] = "È un servizio gratuito";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
+App::$strings["Registration"] = "Registrazione";
+App::$strings["File upload"] = "Caricamento file";
+App::$strings["Policies"] = "Politiche";
+App::$strings["Site name"] = "Nome del sito";
+App::$strings["Banner/Logo"] = "Banner o logo";
+App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
+App::$strings["System language"] = "Lingua di sistema";
+App::$strings["System theme"] = "Tema di sistema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
+App::$strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
+App::$strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
+App::$strings["Enable Diaspora Protocol"] = "Abilita la comunicazione con Diaspora";
+App::$strings["Communicate with Diaspora and Friendica - experimental"] = "Sperimentale - per comunicare con Diaspora e Friendica";
+App::$strings["Allow Feeds as Connections"] = "Permetti di aggiungere i feed come contatti";
+App::$strings["(Heavy system resource usage)"] = "(Uso intenso delle risorse di sistema!)";
+App::$strings["Maximum image size"] = "Dimensione massima immagini";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
+App::$strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
+App::$strings["Register text"] = "Testo di registrazione";
+App::$strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file.";
+App::$strings["Preserve site homepage URL"] = "Conserva l'URL della homepage";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect.";
+App::$strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
+App::$strings["Allowed friend domains"] = "Domini fidati e consentiti";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
+App::$strings["Allowed email domains"] = "Domini email consentiti";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
+App::$strings["Not allowed email domains"] = "Domini email non consentiti";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
+App::$strings["Block public"] = "Blocca pagine pubbliche";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
+App::$strings["Verify Email Addresses"] = "Verifica l'indirizzo email";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato).";
+App::$strings["Force publish"] = "Forza la publicazione del profilo";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito.";
+App::$strings["Disable discovery tab"] = "Disabilita la funzione 'scopri'";
+App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti.";
+App::$strings["login on Homepage"] = "Mostra il login sulla homepage";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
+App::$strings["Proxy user"] = "Utente proxy";
+App::$strings["Proxy URL"] = "URL proxy";
+App::$strings["Network timeout"] = "Timeout rete";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
+App::$strings["Delivery interval"] = "Recapito ritardato";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
+App::$strings["Poll interval"] = "Intervallo di polling";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
+App::$strings["Maximum Load Average"] = "Carico massimo medio";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
+App::$strings["Expiration period in days for imported (matrix/network) content"] = "Scadenza dei contenuti importati da altri siti (in giorni)";
+App::$strings["0 for no expiration of imported content"] = "0 per non avere scadenza";
+App::$strings["No server found"] = "Server non trovato";
+App::$strings["ID"] = "ID";
+App::$strings["for channel"] = "per canale";
+App::$strings["on server"] = "sul server";
+App::$strings["Status"] = "Stato";
+App::$strings["Server"] = "Server";
+App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
+App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
+App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
+App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
+App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
+App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
+App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
+App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
+App::$strings["Queue Statistics"] = "Statistiche della coda";
+App::$strings["Total Entries"] = "Totale";
+App::$strings["Priority"] = "Priorità";
+App::$strings["Destination URL"] = "URL di destinazione";
+App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
+App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
+App::$strings["Last known contact"] = "Ultimo scambio dati";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "Modificato il blocco su %s account",
+ 1 => "Modificato il blocco verso %s",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s account eliminato",
+ 1 => "%s account eliminati",
+);
+App::$strings["Account not found"] = "Account non trovato";
+App::$strings["Account '%s' deleted"] = "Account '%s' eliminato";
+App::$strings["Account '%s' blocked"] = "Aggiunto un blocco verso '%s'";
+App::$strings["Account '%s' unblocked"] = "Rimosso il blocco verso '%s'";
+App::$strings["Users"] = "Utenti";
+App::$strings["select all"] = "seleziona tutti";
+App::$strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma";
+App::$strings["Request date"] = "Data richiesta";
+App::$strings["No registrations."] = "Nessuna registrazione.";
+App::$strings["Approve"] = "Approva";
+App::$strings["Deny"] = "Nega";
+App::$strings["Block"] = "Blocca";
+App::$strings["Unblock"] = "Sblocca";
+App::$strings["Register date"] = "Data registrazione";
+App::$strings["Last login"] = "Ultimo accesso";
+App::$strings["Expires"] = "Con scadenza";
+App::$strings["Service Class"] = "Classe dell'account";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "Censura modificata per %s canale",
+ 1 => "Censura modificata per %s canali",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "%s canale permette/non permette codice nei contenuti",
+ 1 => "%s canali permettono/non permettono codice nei contenuti",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s canale è stato rimosso",
+ 1 => "%s canali sono stati rimossi",
+);
+App::$strings["Channel not found"] = "Canale non trovato";
+App::$strings["Channel '%s' deleted"] = "Il canale '%s' è stato rimosso";
+App::$strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
+App::$strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
+App::$strings["Channel '%s' code allowed"] = "Il canale '%s' permette codice nei contenuti";
+App::$strings["Channel '%s' code disallowed"] = "Il canale '%s' non permette codice nei contenuti";
+App::$strings["Censor"] = "Applica una censura";
+App::$strings["Uncensor"] = "Rimuovi la censura";
+App::$strings["Allow Code"] = "Permetti codice nei contenuti";
+App::$strings["Disallow Code"] = "Non permettere codice nei contenuti";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Indirizzo";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
+App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
+App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
+App::$strings["Disable"] = "Disattiva";
+App::$strings["Enable"] = "Attiva";
+App::$strings["Toggle"] = "Attiva/disattiva";
+App::$strings["Author: "] = "Autore:";
+App::$strings["Maintainer: "] = "Gestore:";
+App::$strings["No themes found."] = "Nessun tema trovato.";
+App::$strings["Screenshot"] = "Istantanea dello schermo";
+App::$strings["[Experimental]"] = "[Sperimentale]";
+App::$strings["[Unsupported]"] = "[Non supportato]";
+App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
+App::$strings["Clear"] = "Pulisci";
+App::$strings["Debugging"] = "Debugging";
+App::$strings["Log file"] = "File di log";
+App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix.";
+App::$strings["Log level"] = "Livello di log";
+App::$strings["New Profile Field"] = "Nuovo campo del profilo";
+App::$strings["Field nickname"] = "Nome breve del campo";
+App::$strings["System name of field"] = "Nome di sistema del campo";
+App::$strings["Input type"] = "Tipo di dati";
+App::$strings["Field Name"] = "Nome del campo";
+App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
+App::$strings["Help text"] = "Testo di aiuto";
+App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (opzionali)";
+App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
+App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
+App::$strings["Configuration Editor"] = "Editor di configurazione";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
+App::$strings["Authorize application connection"] = "Autorizza la app";
+App::$strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
+App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
+App::$strings["Layout updated."] = "Layout aggiornato.";
+App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
+App::$strings["Layout not found."] = "Layout non trovato.";
+App::$strings["Module Name:"] = "Nome del modulo:";
+App::$strings["Layout Help"] = "Guida al layout";
+App::$strings["App installed."] = "App installata";
+App::$strings["Malformed app."] = "App non corretta";
+App::$strings["Embed code"] = "Inserisci del codice";
+App::$strings["Edit App"] = "Modifica app";
+App::$strings["Create App"] = "Crea una app";
+App::$strings["Name of app"] = "Nome app";
+App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
+App::$strings["Description"] = "Descrizione";
+App::$strings["Photo icon URL"] = "URL icona";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
+App::$strings["Version ID"] = "ID versione";
+App::$strings["Price of app"] = "Prezzo app";
+App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
+App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
+App::$strings["Album not found."] = "Album non trovato.";
+App::$strings["Delete Album"] = "Elimina album";
+App::$strings["Delete Photo"] = "Elimina foto";
+App::$strings["Public access denied."] = "Accesso pubblico negato.";
+App::$strings["No photos selected"] = "Nessuna foto selezionata";
+App::$strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
+App::$strings["%1$.2f MB photo storage used."] = "Hai usato %1$.2f Mb del tuo spazio disponibile.";
+App::$strings["Upload Photos"] = "Carica foto";
+App::$strings["Enter a new album name"] = "Inserisci il nome di un nuovo album";
+App::$strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
+App::$strings["Create a status post for this upload"] = "Pubblica l'oggetto caricato sulla bacheca";
+App::$strings["Album name could not be decoded"] = "Non è stato possibile leggere il nome dell'album";
+App::$strings["Contact Photos"] = "Foto dei contatti";
+App::$strings["Show Newest First"] = "Prima i più recenti";
+App::$strings["Show Oldest First"] = "Prima i più vecchi";
+App::$strings["View Photo"] = "Guarda la foto";
+App::$strings["Edit Album"] = "Modifica album";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
+App::$strings["Photo not available"] = "Foto non disponibile";
+App::$strings["Use as profile photo"] = "Usa come foto del profilo";
+App::$strings["Private Photo"] = "Foto privata";
+App::$strings["Previous"] = "Precendente";
+App::$strings["View Full Size"] = "Vedi nelle dimensioni originali";
+App::$strings["Next"] = "Successivo";
+App::$strings["Remove"] = "Rimuovi";
+App::$strings["Edit photo"] = "Modifica la foto";
+App::$strings["Rotate CW (right)"] = "Ruota (senso orario)";
+App::$strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
+App::$strings["Caption"] = "Titolo";
+App::$strings["Add a Tag"] = "Aggiungi tag";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
+App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
+App::$strings["In This Photo:"] = "In questa foto:";
+App::$strings["Map"] = "Mappa";
+App::$strings["View Album"] = "Guarda l'album";
+App::$strings["Recent Photos"] = "Foto recenti";
+App::$strings["Item not available."] = "Elemento non disponibile.";
+App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
+App::$strings["added your channel"] = "ha aggiunto il tuo canale";
+App::$strings["posted an event"] = "ha creato un evento";
+App::$strings["Block Name"] = "Nome del riquadro";
+App::$strings["Block Title"] = "Nome del riquadro";
+App::$strings["Poke/Prod"] = "Poke/Prod";
+App::$strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro";
+App::$strings["Recipient"] = "Destinatario";
+App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
+App::$strings["Make this post private"] = "Rendi privato questo post";
+App::$strings["Bookmark added"] = "Segnalibro aggiunto";
+App::$strings["My Bookmarks"] = "I miei segnalibri";
+App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
App::$strings["Create a new channel"] = "Crea un nuovo canale";
App::$strings["Current Channel"] = "Canale attuale";
@@ -921,6 +1231,432 @@ App::$strings["Make Default"] = "Rendi predefinito";
App::$strings["%d new messages"] = "%d nuovi messaggi";
App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
App::$strings["Delegated Channels"] = "Canali delegati";
+App::$strings["Profile Match"] = "Profili corrispondenti";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
+App::$strings["is interested in:"] = "interessi personali:";
+App::$strings["No matches"] = "Nessun risultato";
+App::$strings["Members"] = "Membri";
+App::$strings["All Connected Channels"] = "Tutti i canali connessi";
+App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+App::$strings["Poll"] = "Sondaggio";
+App::$strings["View Results"] = "Guarda i risultati";
+App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione magica dal tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
+App::$strings["Room not found"] = "Area chat non trovata";
+App::$strings["Leave Room"] = "Lascia l'area chat";
+App::$strings["Delete This Room"] = "Elimina questa chat";
+App::$strings["I am away right now"] = "Non sono presente";
+App::$strings["I am online"] = "Sono online";
+App::$strings["Bookmark this room"] = "Aggiungi l'area chat ai segnalibri";
+App::$strings["New Chatroom"] = "Nuova area chat";
+App::$strings["Chatroom Name"] = "Nome dell'area chat";
+App::$strings["%1\$s's Chatrooms"] = "Le aree chat di %1\$s";
+App::$strings["Away"] = "Assente";
+App::$strings["Online"] = "Online";
+App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
+App::$strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "Login su \$Projectname. Username: {la tua email}, Password: {la tua password} ";
+App::$strings["No channel."] = "Nessun canale.";
+App::$strings["Common connections"] = "Contatti in comune";
+App::$strings["No connections in common."] = "Nessun contatto in comune.";
+App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
+App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
+App::$strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
+App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
+App::$strings["Photo not available."] = "Foto non disponibile.";
+App::$strings["Upload File:"] = "Carica un file:";
+App::$strings["Select a profile:"] = "Seleziona un profilo:";
+App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "salta questo passaggio";
+App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+App::$strings["Crop Image"] = "Ritaglia immagine";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
+App::$strings["Done Editing"] = "Modifica terminata";
+App::$strings["Image uploaded successfully."] = "Immagine caricata con successo.";
+App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
+App::$strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
+App::$strings["Continue"] = "Continua";
+App::$strings["Premium Channel Setup"] = "Canale premium - installazione";
+App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
+App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
+App::$strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
+App::$strings["Discard"] = "Rifiuta";
+App::$strings["Ignore"] = "Ignora";
+App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+App::$strings["System Notifications"] = "Notifiche di sistema";
+App::$strings["Blocked"] = "Bloccati";
+App::$strings["Ignored"] = "Ignorati";
+App::$strings["Hidden"] = "Nascosti";
+App::$strings["Archived"] = "Archiviati";
+App::$strings["Suggest new connections"] = "Suggerisci nuovi contatti";
+App::$strings["New Connections"] = "Nuovi contatti";
+App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
+App::$strings["All Connections"] = "Tutti i contatti";
+App::$strings["Show all connections"] = "Mostra tutti i contatti";
+App::$strings["Unblocked"] = "Non bloccati";
+App::$strings["Only show unblocked connections"] = "Mostra solo i contatti non bloccati";
+App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
+App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
+App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
+App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifica il contatto";
+App::$strings["Search your connections"] = "Cerca tra i contatti";
+App::$strings["Finding: "] = "Ricerca: ";
+App::$strings["Profile not found."] = "Profilo non trovato.";
+App::$strings["Profile deleted."] = "Profilo eliminato.";
+App::$strings["Profile-"] = "Profilo-";
+App::$strings["New profile created."] = "Il nuovo profilo è stato creato.";
+App::$strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
+App::$strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
+App::$strings["Profile Name is required."] = "Il nome del profilo è obbligatorio .";
+App::$strings["Marital Status"] = "Stato sentimentale";
+App::$strings["Romantic Partner"] = "Partner affettivo";
+App::$strings["Likes"] = "Mi piace";
+App::$strings["Dislikes"] = "Non mi piace";
+App::$strings["Work/Employment"] = "Lavoro/impiego";
+App::$strings["Religion"] = "Religione";
+App::$strings["Political Views"] = "Orientamento politico";
+App::$strings["Gender"] = "Sesso";
+App::$strings["Sexual Preference"] = "Preferenze sessuali";
+App::$strings["Homepage"] = "Home page";
+App::$strings["Interests"] = "Interessi";
+App::$strings["Location"] = "Posizione geografica";
+App::$strings["Profile updated."] = "Profilo aggiornato.";
+App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
+App::$strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
+App::$strings["View this profile"] = "Guarda questo profilo";
+App::$strings["Change Profile Photo"] = "Cambia la foto del profilo";
+App::$strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
+App::$strings["Clone this profile"] = "Clona questo profilo";
+App::$strings["Delete this profile"] = "Elimina questo profilo";
+App::$strings["Import profile from file"] = "Importa il profilo da un file";
+App::$strings["Export profile to file"] = "Esporta il profilo in un file";
+App::$strings["Profile Name:"] = "Nome del profilo:";
+App::$strings["Your Full Name:"] = "Il tuo nome completo:";
+App::$strings["Title/Description:"] = "Titolo/descrizione:";
+App::$strings["Your Gender:"] = "Sesso:";
+App::$strings["Birthday :"] = "Compleanno:";
+App::$strings["Street Address:"] = "Indirizzo (via/piazza):";
+App::$strings["Locality/City:"] = "Località:";
+App::$strings["Postal/Zip Code:"] = "CAP:";
+App::$strings["Country:"] = "Nazione:";
+App::$strings["Region/State:"] = "Regione/stato:";
+App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
+App::$strings["Who: (if applicable)"] = "Con chi: (se possibile)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
+App::$strings["Since [date]:"] = "dal [data]:";
+App::$strings["Homepage URL:"] = "Indirizzo home page:";
+App::$strings["Religious Views:"] = "Orientamento religioso:";
+App::$strings["Keywords:"] = "Parole chiave, tag:";
+App::$strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
+App::$strings["Used in directory listings"] = "Visibile nell'elenco pubblico di canali";
+App::$strings["Tell us about yourself..."] = "Raccontaci di te...";
+App::$strings["Hobbies/Interests"] = "Hobby/interessi";
+App::$strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network";
+App::$strings["My other channels"] = "I miei altri canali";
+App::$strings["Musical interests"] = "Interessi musicali";
+App::$strings["Books, literature"] = "Libri, letteratura";
+App::$strings["Television"] = "Televisione";
+App::$strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
+App::$strings["Love/romance"] = "Amore";
+App::$strings["Work/employment"] = "Lavoro/impiego";
+App::$strings["School/education"] = "Scuola/educazione";
+App::$strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
+App::$strings["Age: "] = "Età:";
+App::$strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili";
+App::$strings["Add profile things"] = "Aggiungi Oggetti al profilo";
+App::$strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo";
+App::$strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
+App::$strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
+App::$strings["Connection updated."] = "Contatto aggiornato.";
+App::$strings["Failed to update connection record."] = "Impossibile aggiornare le informazioni del contatto.";
+App::$strings["is now connected to"] = "ha come nuovo contatto";
+App::$strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
+App::$strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
+App::$strings["Connection has been removed."] = "Il contatto è stato rimosso.";
+App::$strings["View %s's profile"] = "Guarda il profilo di %s";
+App::$strings["Refresh Permissions"] = "Modifica i permessi";
+App::$strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegnati";
+App::$strings["Recent Activity"] = "Attività recenti";
+App::$strings["View recent posts and comments"] = "Leggi i post recenti e i commenti";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
+App::$strings["This connection is blocked!"] = "Questa connessione è tra quelle bloccate!";
+App::$strings["Unignore"] = "Non ignorare";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)";
+App::$strings["This connection is ignored!"] = "Questa connessione è tra quelle ignorate!";
+App::$strings["Unarchive"] = "Non archiviare";
+App::$strings["Archive"] = "Archivia";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti";
+App::$strings["This connection is archived!"] = "Questa connessione è tra quelle archiviate!";
+App::$strings["Unhide"] = "Non nascondere";
+App::$strings["Hide"] = "Nascondi";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Nascondi questo contatto a tutti gli altri (abilita/disabilita)";
+App::$strings["This connection is hidden!"] = "Questa connessione è tra quelle nascoste!";
+App::$strings["Delete this connection"] = "Elimina questo contatto";
+App::$strings["Approve this connection"] = "Approva questo contatto";
+App::$strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
+App::$strings["Set Affinity"] = "Scegli l'affinità";
+App::$strings["Set Profile"] = "Scegli il profilo da mostrare";
+App::$strings["Set Affinity & Profile"] = "Affinità e profilo";
+App::$strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
+App::$strings["This connection's address is"] = "Indirizzo di questo contatto";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi.";
+App::$strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
+App::$strings["Slide to adjust your rating"] = "Trascina per cambiare la tua valutazione";
+App::$strings["Optionally explain your rating"] = "Commento opzionale";
+App::$strings["Custom Filter"] = "Filtro personalizzato";
+App::$strings["Only import posts with this text"] = "Importa solo i post che contengono questo testo";
+App::$strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "una parola per riga, oppure #tag o /pattern/ oppure lascia vuoto per importare tutto";
+App::$strings["Do not import posts with this text"] = "Non importare i post con questo testo";
+App::$strings["This information is public!"] = "Questa informazione è pubblica!";
+App::$strings["Connection Pending Approval"] = "Contatti in attesa di approvazione";
+App::$strings["Connection Request"] = "Richiesta di entrare in contatto";
+App::$strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) vorrebbe entrare in contatto con te. Per permettere la comunicazione è necessario che tu approvi.";
+App::$strings["Approve Later"] = "Approva più tardi";
+App::$strings["inherited"] = "derivato";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro.";
+App::$strings["Their Settings"] = "Permessi concessi a te";
+App::$strings["My Settings"] = "I permessi che concedo";
+App::$strings["Individual Permissions"] = "Permessi individuali";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi proprio le impostazioni generali.";
+App::$strings["Last update:"] = "Ultimo aggiornamento:";
+App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
+App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
+App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
+App::$strings["Visible To"] = "Visibile a";
+App::$strings["\$Projectname channel"] = "Canale \$Projectname";
+App::$strings["%d rating"] = array(
+ 0 => "%d valutazione",
+ 1 => "%d valutazioni",
+);
+App::$strings["Gender: "] = "Sesso:";
+App::$strings["Status: "] = "Stato:";
+App::$strings["Homepage: "] = "Homepage:";
+App::$strings["Description:"] = "Descrizione:";
+App::$strings["Public Forum:"] = "Forum pubblico:";
+App::$strings["Keywords: "] = "Parole chiave:";
+App::$strings["Don't suggest"] = "Non fornire suggerimenti";
+App::$strings["Common connections:"] = "Contatti in comune:";
+App::$strings["Global Directory"] = "Elenco globale dei canali";
+App::$strings["Local Directory"] = "Elenco canali su questo server";
+App::$strings["Finding:"] = "Ricerca:";
+App::$strings["next page"] = "pagina successiva";
+App::$strings["previous page"] = "pagina precedente";
+App::$strings["Sort options"] = "Opzioni di ordinamento";
+App::$strings["Alphabetic"] = "Alfabetico";
+App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
+App::$strings["Newest to Oldest"] = "Prima i più recenti";
+App::$strings["Oldest to Newest"] = "Prima i più vecchi";
+App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
+App::$strings["Public Sites"] = "Siti pubblici";
+App::$strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
+App::$strings["Rate this hub"] = "Valuta questo hub";
+App::$strings["Site URL"] = "URL del sito";
+App::$strings["Access Type"] = "Tipo di accesso";
+App::$strings["Registration Policy"] = "Politica di registrazione";
+App::$strings["Project"] = "Progetto";
+App::$strings["View hub ratings"] = "Vedi le valutazioni del hub";
+App::$strings["Rate"] = "Valuta";
+App::$strings["View ratings"] = "Vedi le valutazioni";
+App::$strings["This site is not a directory server"] = "Questo sito non è un server di elenchi pubblici";
+App::$strings["This directory server requires an access token"] = "Questo server di elenchi pubblici necessita di un token di autenticazione";
+App::$strings["Item not found"] = "Elemento non trovato";
+App::$strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
+App::$strings["Insert YouTube video"] = "Inserisci video da YouTube";
+App::$strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
+App::$strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
+App::$strings["Edit Block"] = "Modifica il riquadro";
+App::$strings["Delete layout?"] = "Vuoi eliminare questo layout?";
+App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
+App::$strings["Layout Name"] = "Nome layout";
+App::$strings["Edit Layout"] = "Modifica il layout";
+App::$strings["Item is not editable"] = "L'elemento non è modificabile";
+App::$strings["Delete item?"] = "Eliminare questo elemento?";
+App::$strings["Edit post"] = "Modifica post";
+App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
+App::$strings["Post successful."] = "Inviato!";
+App::$strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
+App::$strings["Page link title"] = "Link del titolo";
+App::$strings["Edit Webpage"] = "Modifica la pagina web";
+App::$strings["Website:"] = "Sito web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
+App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
+App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
+App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
+App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
+App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
+App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
+App::$strings["Event not found."] = "Evento non trovato.";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Edit event"] = "Modifica l'evento";
+App::$strings["Delete event"] = "Elimina l'evento";
+App::$strings["calendar"] = "calendario";
+App::$strings["Create New Event"] = "Crea un nuovo evento";
+App::$strings["Export"] = "Esporta";
+App::$strings["Import"] = "Importa";
+App::$strings["Event removed"] = "Evento eliminato";
+App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
+App::$strings["Event details"] = "Dettagli evento";
+App::$strings["Starting date and Title are required."] = "Titolo e data d'inizio sono obbligatori.";
+App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
+App::$strings["Event Starts:"] = "Inizio:";
+App::$strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante";
+App::$strings["Event Finishes:"] = "Fine:";
+App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono in base all'orario di un luogo particolare.";
+App::$strings["Title:"] = "Titolo:";
+App::$strings["Share this event"] = "Condividi questo evento";
+App::$strings["No ratings"] = "Nessuna valutazione";
+App::$strings["Ratings"] = "Valutazioni";
+App::$strings["Rating: "] = "Valutazione:";
+App::$strings["Website: "] = "Sito web:";
+App::$strings["Description: "] = "Descrizione:";
+App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
+App::$strings["Save Bookmark"] = "Salva segnalibro";
+App::$strings["URL of bookmark"] = "URL del segnalibro";
+App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
+App::$strings["- select -"] = "- scegli -";
+App::$strings["Permission Denied."] = "Permesso negato.";
+App::$strings["File not found."] = "File non trovato.";
+App::$strings["Edit file permissions"] = "Modifica i permessi del file";
+App::$strings["Set/edit permissions"] = "Modifica i permessi";
+App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
+App::$strings["Return to file list"] = "Torna all'elenco dei file";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
+App::$strings["Share this file"] = "Condividi questo file";
+App::$strings["Show URL to this file"] = "Mostra l'URL del file";
+App::$strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
+App::$strings["Channel added."] = "Canale aggiunto.";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
+App::$strings["Passwords do not match."] = "Le password non corrispondono.";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
+App::$strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito.";
+App::$strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata.";
+App::$strings["Registration on this site/hub is by approval only."] = "La registrazione su questo sito è soggetta ad approvazione.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro server affiliato</a>";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
+App::$strings["Terms of Service"] = "Condizioni d'Uso";
+App::$strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
+App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
+App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo sito è necessario un invito.";
+App::$strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
+App::$strings["Your email address"] = "Il tuo indirizzo email";
+App::$strings["Choose a password"] = "Scegli una password";
+App::$strings["Please re-enter your password"] = "Ripeti la password per verifica";
+App::$strings["Contact not found."] = "Contatto non trovato.";
+App::$strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
+App::$strings["Suggest Friends"] = "Suggerisci amici";
+App::$strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
+App::$strings["Please login."] = "Effettua l'accesso.";
+App::$strings["Collection created."] = "L'insieme di canali è stato creato.";
+App::$strings["Could not create collection."] = "Impossibile creare l'insieme.";
+App::$strings["Collection updated."] = "Insieme aggiornato.";
+App::$strings["Create a collection of channels."] = "Crea un insieme di canali.";
+App::$strings["Collection Name: "] = "Nome dell'insieme:";
+App::$strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali dell'insieme";
+App::$strings["Collection removed."] = "Insieme rimosso.";
+App::$strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme.";
+App::$strings["Collection Editor"] = "Modifica l'insieme";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
+App::$strings["Remove This Account"] = "Elimina questo account";
+App::$strings["WARNING: "] = "ATTENZIONE:";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete.";
+App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
+App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo server saranno rimossi dalla rete.";
+App::$strings["Remove Account"] = "Elimina l'account";
+App::$strings["Help:"] = "Guida:";
+App::$strings["Not Found"] = "Non disponibile";
+App::$strings["\$Projectname Documentation"] = "Documentazione \$Projectname";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
+App::$strings["Remove This Channel"] = "Elimina questo canale";
+App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
+App::$strings["Remove this channel and all its clones from the network"] = "Rimuovi questo canale e tutti i suoi cloni dalla rete";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
+App::$strings["Remove Channel"] = "Elimina questo canale";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente.";
+App::$strings["The error message was:"] = "Messaggio di errore ricevuto:";
+App::$strings["Authentication failed."] = "Autenticazione fallita.";
+App::$strings["Remote Authentication"] = "Accedi dal tuo hub";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
+App::$strings["Authenticate"] = "Accedi";
+App::$strings["First Name"] = "Nome";
+App::$strings["Last Name"] = "Cognome";
+App::$strings["Nickname"] = "Nick";
+App::$strings["Full Name"] = "Nome e cognome";
+App::$strings["Profile Photo 16px"] = "Foto del profilo 16px";
+App::$strings["Profile Photo 32px"] = "Foto del profilo 32px";
+App::$strings["Profile Photo 48px"] = "Foto del profilo 48px";
+App::$strings["Profile Photo 64px"] = "Foto del profilo 64px";
+App::$strings["Profile Photo 80px"] = "Foto del profilo 80px";
+App::$strings["Profile Photo 128px"] = "Foto del profilo 128px";
+App::$strings["Timezone"] = "Fuso orario";
+App::$strings["Homepage URL"] = "Indirizzo home page";
+App::$strings["Birth Year"] = "Anno di nascita";
+App::$strings["Birth Month"] = "Mese di nascita";
+App::$strings["Birth Day"] = "Giorno di nascita";
+App::$strings["Birthdate"] = "Data di nascita";
+App::$strings["%s element installed"] = "%s elemento installato";
+App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
+App::$strings["Items tagged with: %s"] = "Elementi taggati con: %s";
+App::$strings["Search results for: %s"] = "Risultati ricerca: %s";
+App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
+App::$strings["Nothing to import."] = "Non c'è niente da importare.";
+App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
+App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
+App::$strings["The data provided is not compatible with this project."] = "I dati forniti non sono compatibili con questo hub.";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
+App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
+App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
+App::$strings["Import Channel"] = "Importa un canale";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file esportato in precedenza.";
+App::$strings["File to Upload"] = "File da caricare";
+App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
+App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
+App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio server";
+App::$strings["Your old login password"] = "La password per il vecchio server";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc.";
+App::$strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
+App::$strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
+App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
+App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
+App::$strings["Please join us on Red"] = "Vieni con noi su RedMatrix";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
+App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d messaggio inviato.",
+ 1 => "%d messaggi inviati.",
+);
+App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
+App::$strings["Send invitations"] = "Spedisci inviti";
+App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
+App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
+App::$strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
+App::$strings["or visit "] = "oppure visita ";
+App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
App::$strings["Name is required"] = "Il nome è obbligatorio";
App::$strings["Key and Secret are required"] = "Key e Secret sono richiesti";
App::$strings["Diaspora Policy Settings updated."] = "Le regole per Diaspora sono state aggiornate.";
@@ -932,8 +1668,6 @@ App::$strings["Not valid email."] = "Email non valida.";
App::$strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
App::$strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
App::$strings["Settings updated."] = "Impostazioni aggiornate.";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Si";
App::$strings["Add application"] = "Aggiungi una app";
App::$strings["Name of application"] = "Nome dell'applicazione";
App::$strings["Consumer Key"] = "Consumer Key";
@@ -952,6 +1686,7 @@ App::$strings["No feature settings configured"] = "Non hai componenti aggiuntivi
App::$strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
App::$strings["Settings for the built-in Diaspora emulator"] = "Interconnessione con Diaspora";
App::$strings["Allow any Diaspora member to comment on your public posts"] = "Permetti a tutti gli utenti di Diaspora di commentare i tuoi post pubblici";
+App::$strings["Enable the Diaspora protocol for this channel"] = "Abilita il protocollo Diaspora per questo canale";
App::$strings["Diaspora Policy Settings"] = "Regole per Diaspora";
App::$strings["Prevent your hashtags from being redirected to other sites"] = "Impedisci che i tuoi #tag puntino su altri siti";
App::$strings["Account Settings"] = "Il tuo account";
@@ -959,7 +1694,6 @@ App::$strings["Enter New Password:"] = "Inserisci la nuova password:";
App::$strings["Confirm New Password:"] = "Conferma la nuova password:";
App::$strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
App::$strings["Email Address:"] = "Indirizzo email:";
-App::$strings["Remove Account"] = "Elimina l'account";
App::$strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
App::$strings["Off"] = "Off";
App::$strings["On"] = "On";
@@ -967,8 +1701,10 @@ App::$strings["Additional Features"] = "Funzionalità opzionali";
App::$strings["Connector Settings"] = "Impostazioni del connettore";
App::$strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
App::$strings["%s - (Experimental)"] = "%s - (Sperimentale)";
-App::$strings["mobile"] = "mobile";
App::$strings["Display Settings"] = "Aspetto";
+App::$strings["Theme Settings"] = "Impostazioni del tema";
+App::$strings["Custom Theme Settings"] = "Personalizzazione del tema";
+App::$strings["Content Settings"] = "Impostazioni dei contenuti";
App::$strings["Display Theme:"] = "Tema per schermi medio grandi:";
App::$strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
App::$strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
@@ -977,7 +1713,7 @@ App::$strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun
App::$strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
App::$strings["Maximum of 100 items"] = "Massimo 100";
App::$strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
-App::$strings["Link post titles to source"] = "Il link del titolo di un articolo porta al sito originale";
+App::$strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
App::$strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
App::$strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
App::$strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
@@ -991,11 +1727,10 @@ App::$strings["Approved connections"] = "Contatti approvati";
App::$strings["Any connections"] = "Tutti i contatti";
App::$strings["Anybody on this website"] = "Chiunque su questo sito";
App::$strings["Anybody in this network"] = "Chiunque su Red";
-App::$strings["Anybody authenticated"] = "Chiunque sia autenticato";
+App::$strings["Anybody authenticated"] = "Chiunque abbia effettuato l'accesso";
App::$strings["Anybody on the internet"] = "Chiunque su internet";
App::$strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito nell'elenco pubblico dei canali";
App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
-App::$strings["or"] = "o";
App::$strings["Your channel address is"] = "L'indirizzo del tuo canale è";
App::$strings["Channel Settings"] = "Impostazioni del canale";
App::$strings["Basic Settings"] = "Impostazioni di base";
@@ -1014,14 +1749,14 @@ App::$strings["Very Public - <em>extremely permissive (should be used with cauti
App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
App::$strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
-App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi articoli";
+App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi post";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
App::$strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
App::$strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
App::$strings["0 or blank prevents expiration"] = "Lascia vuoto oppure 0 per non impostare scadenze";
App::$strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
App::$strings["May reduce spam activity"] = "Serve e ridurre lo spam";
-App::$strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
+App::$strings["Default Post Permissions"] = "Permessi predefiniti per i post";
App::$strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
App::$strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
App::$strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
@@ -1035,11 +1770,11 @@ App::$strings["Send a notification email when:"] = "Invia una email di notifica
App::$strings["You receive a connection request"] = "Ricevi una richiesta di entrare in contatto";
App::$strings["Your connections are confirmed"] = "I tuoi contatti sono confermati";
App::$strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
-App::$strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo articolo";
+App::$strings["Someone writes a followup comment"] = "Qualcuno scrive un commento dopo di te";
App::$strings["You receive a private message"] = "Ricevi un messaggio privato";
App::$strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
-App::$strings["You are tagged in a post"] = "Sei taggato in un articolo";
-App::$strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
+App::$strings["You are tagged in a post"] = "Sei taggato in un post";
+App::$strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un post";
App::$strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
App::$strings["Unseen matrix activity"] = "Nuove attività nella rete";
App::$strings["Unseen channel activity"] = "Novità nei canali";
@@ -1054,7 +1789,7 @@ App::$strings["System info messages"] = "Notifiche di sistema";
App::$strings["System critical alerts"] = "Avvisi critici di sistema";
App::$strings["New connections"] = "Nuovi contatti";
App::$strings["System Registrations"] = "Registrazioni";
-App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi articoli, i messaggi privati e i nuovi contatti";
+App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti";
App::$strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
App::$strings["Must be greater than 0"] = "Maggiore di 0";
App::$strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
@@ -1062,146 +1797,15 @@ App::$strings["Change the behaviour of this account for special situations"] = "
App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)";
App::$strings["Miscellaneous Settings"] = "Impostazioni varie";
App::$strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
-App::$strings["Remove Channel"] = "Elimina questo canale";
App::$strings["Remove this channel."] = "Elimina questo canale.";
-App::$strings["Xchan Lookup"] = "Ricerca canale";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
-App::$strings["Not found."] = "Non trovato.";
-App::$strings["Authorize application connection"] = "Autorizza la app";
-App::$strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
-App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-App::$strings["Channel added."] = "Canale aggiunto.";
-App::$strings["Tag removed"] = "Tag rimosso";
-App::$strings["Remove Item Tag"] = "Rimuovi il tag";
-App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
-App::$strings["Remove"] = "Rimuovi";
-App::$strings["Continue"] = "Continua";
-App::$strings["Premium Channel Setup"] = "Canale premium - installazione";
-App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
-App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
-App::$strings["Thing updated"] = "L'Oggetto è stato aggiornato";
-App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
-App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostra l'Oggetto";
-App::$strings["item not found."] = "non trovato.";
-App::$strings["Edit Thing"] = "Modifica l'Oggetto";
-App::$strings["Select a profile"] = "Scegli un profilo";
-App::$strings["Post an activity"] = "Pubblica un'attività";
-App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi segue il relativo canale";
-App::$strings["Name of thing e.g. something"] = "Nome dell'Oggetto";
-App::$strings["URL of thing (optional)"] = "Indirizzo web dell'Oggetto (opzionale)";
-App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'Oggetto (facoltativo)";
-App::$strings["Add Thing to your Profile"] = "Aggiungi l'Oggetto al tuo profilo";
-App::$strings["Item not available."] = "Elemento non disponibile.";
-App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
-App::$strings["Hubzilla - &quot;The Network&quot;"] = "Hubzilla - &quot;La tua rete&quot;";
-App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
-App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
-App::$strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
-App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
-App::$strings["Photo not available."] = "Foto non disponibile.";
-App::$strings["Upload File:"] = "Carica un file:";
-App::$strings["Select a profile:"] = "Seleziona un profilo:";
-App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
-App::$strings["skip this step"] = "salta questo passaggio";
-App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
-App::$strings["Crop Image"] = "Ritaglia immagine";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
-App::$strings["Done Editing"] = "Modifica terminata";
-App::$strings["Image uploaded successfully."] = "Immagine caricata con successo.";
-App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
-App::$strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
-App::$strings["Invalid item."] = "Elemento non valido.";
-App::$strings["Channel not found."] = "Canale non trovato.";
-App::$strings["Page not found."] = "Pagina non trovata.";
-App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
-App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
-App::$strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "Per favore <a href=\"rmagic\">accedi con il tuo identificativo Hubzilla</a> o <a href=\"register\">registrati su Hubzilla</a> per continuare.";
-App::$strings["Invalid request."] = "Richiesta non valida.";
-App::$strings["thing"] = "Oggetto";
-App::$strings["Channel unavailable."] = "Canale non trovato.";
-App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non è d'accordo";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non ha preso una decisione";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s partecipa";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non partecipa";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
-App::$strings["Action completed."] = "Comando completato.";
-App::$strings["Thank you."] = "Grazie.";
-App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
-App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
-App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
-App::$strings["Event not found."] = "Evento non trovato.";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Edit event"] = "Modifica l'evento";
-App::$strings["Delete event"] = "Elimina l'evento";
-App::$strings["Create New Event"] = "Crea un nuovo evento";
-App::$strings["Previous"] = "Precendente";
-App::$strings["Next"] = "Successivo";
-App::$strings["Export"] = "Esporta";
-App::$strings["Event removed"] = "Evento eliminato";
-App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
-App::$strings["Event details"] = "Dettagli evento";
-App::$strings["Starting date and Title are required."] = "Titolo e data d'inizio sono obbligatori.";
-App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
-App::$strings["Event Starts:"] = "Inizio:";
-App::$strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante";
-App::$strings["Event Finishes:"] = "Fine:";
-App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono in base all'orario di un luogo particolare.";
-App::$strings["Description:"] = "Descrizione:";
-App::$strings["Title:"] = "Titolo:";
-App::$strings["Share this event"] = "Condividi questo evento";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
-App::$strings["Public Sites"] = "Siti pubblici";
-App::$strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Gli indirizzi elencati permettono la registrazione su Hubzilla. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere diverse tipologie di abbonamento. Eventualmente potrai trovare maggiori informazioni visitando ciascun sito.";
-App::$strings["Rate this hub"] = "Valuta questo hub";
-App::$strings["Site URL"] = "URL del sito";
-App::$strings["Access Type"] = "Tipo di accesso";
-App::$strings["Registration Policy"] = "Politica di registrazione";
-App::$strings["Location"] = "Posizione geografica";
-App::$strings["View hub ratings"] = "Vedi le valutazioni del hub";
-App::$strings["Rate"] = "Valuta";
-App::$strings["View ratings"] = "Vedi le valutazioni";
-App::$strings["Edit post"] = "Modifica articolo";
-App::$strings["Hubzilla channel"] = "Canale Hubzilla";
-App::$strings["Collection created."] = "L'insieme di canali è stato creato.";
-App::$strings["Could not create collection."] = "Impossibile creare l'insieme.";
-App::$strings["Collection updated."] = "Insieme aggiornato.";
-App::$strings["Create a collection of channels."] = "Crea un insieme di canali.";
-App::$strings["Collection Name: "] = "Nome dell'insieme:";
-App::$strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali dell'insieme";
-App::$strings["Collection removed."] = "Insieme rimosso.";
-App::$strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme.";
-App::$strings["Collection Editor"] = "Modifica l'insieme";
-App::$strings["Members"] = "Membri";
-App::$strings["All Connected Channels"] = "Tutti i canali connessi";
-App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
-App::$strings["Version %s"] = "Versione %s";
-App::$strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
-App::$strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
-App::$strings["Red"] = "Hubzilla";
-App::$strings["This is a hub of hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di Hubzilla - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
-App::$strings["Tag: "] = "Tag: ";
-App::$strings["Last background fetch: "] = "Ultima acquisizione:";
-App::$strings["Running at web location"] = "In esecuzione sull'indirizzo web";
-App::$strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about the Hubzilla."] = "Visita <a href=\"https://redmatrix.me\">Redmatrix.me</a> per scoprire cosa è Hubzilla.";
-App::$strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
-App::$strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"hubzilla\" at librelist - dot com";
-App::$strings["Site Administrators"] = "Amministratori del sito";
-App::$strings["Help:"] = "Guida:";
-App::$strings["Not Found"] = "Non disponibile";
-App::$strings["Hubzilla Server - Setup"] = "Hubzilla Server - Installazione";
+App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
+App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
+App::$strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
+App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+App::$strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
App::$strings["Could not connect to database."] = " Impossibile connettersi al database.";
App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
App::$strings["Could not create table."] = "Impossibile creare le tabelle.";
@@ -1211,7 +1815,7 @@ App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file '
App::$strings["System check"] = "Verifica del sistema";
App::$strings["Check again"] = "Verifica di nuovo";
App::$strings["Database connection"] = "Connessione al database";
-App::$strings["In order to install Hubzilla we need to know how to connect to your database."] = "Per installare Hubzilla è necessario conoscere i parametri di connessione al database.";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
App::$strings["Database Server Name"] = "Server del database";
@@ -1236,6 +1840,9 @@ App::$strings["Command line PHP"] = "PHP da riga di comando";
App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
App::$strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini";
+App::$strings["PHP upload limits"] = "Limiti PHP in upload";
App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
App::$strings["Generate encryption keys"] = "Genera chiavi di criptazione";
@@ -1245,6 +1852,7 @@ App::$strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
App::$strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
App::$strings["mb_string PHP module"] = "modulo PHP mb_string";
App::$strings["mcrypt PHP module"] = "modulo PHP mcrypt";
+App::$strings["xml PHP module"] = "modulo xml PHP";
App::$strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
App::$strings["proc_open"] = "proc_open";
@@ -1255,17 +1863,18 @@ App::$strings["Error: openssl PHP module required but not installed."] = "Errore
App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
App::$strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
App::$strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo.";
App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix.";
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix.";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
App::$strings["%s is writable"] = "%s è scrivibile";
-App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di Hubzilla";
+App::$strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix";
App::$strings["store is writable"] = "l'archivio è scrivibile";
App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!";
@@ -1280,177 +1889,42 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
App::$strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
-App::$strings["No channel."] = "Nessun canale.";
-App::$strings["Common connections"] = "Contatti in comune";
-App::$strings["No connections in common."] = "Nessun contatto in comune.";
-App::$strings["This site is not a directory server"] = "Questo sito non è un server di elenchi pubblici";
-App::$strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
-App::$strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
-App::$strings["Connection updated."] = "Contatto aggiornato.";
-App::$strings["Failed to update connection record."] = "Impossibile aggiornare le informazioni del contatto.";
-App::$strings["Blocked"] = "Bloccati";
-App::$strings["Ignored"] = "Ignorati";
-App::$strings["Hidden"] = "Nascosti";
-App::$strings["Archived"] = "Archiviati";
-App::$strings["Suggest new connections"] = "Suggerisci nuovi contatti";
-App::$strings["New Connections"] = "Nuovi contatti";
-App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
-App::$strings["All Connections"] = "Tutti i contatti";
-App::$strings["Show all connections"] = "Mostra tutti i contatti";
-App::$strings["Unblocked"] = "Non bloccati";
-App::$strings["Only show unblocked connections"] = "Mostra solo i contatti non bloccati";
-App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
-App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
-App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
-App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifica il contatto";
-App::$strings["Search your connections"] = "Cerca tra i contatti";
-App::$strings["Finding: "] = "Ricerca: ";
-App::$strings["webpage"] = "pagina web";
-App::$strings["block"] = "riquadro";
-App::$strings["layout"] = "layout";
-App::$strings["%s element installed"] = "%s elemento installato";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
-App::$strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Accesso a Hubzilla. {Inserisci l'email con cui sei registrato e la password.}";
-App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
-App::$strings["Album not found."] = "Album non trovato.";
-App::$strings["Delete Album"] = "Elimina album";
-App::$strings["Delete Photo"] = "Elimina foto";
-App::$strings["Public access denied."] = "Accesso pubblico negato.";
-App::$strings["No photos selected"] = "Nessuna foto selezionata";
-App::$strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
-App::$strings["%1$.2f MB photo storage used."] = "Hai usato %1$.2f Mb del tuo spazio disponibile.";
-App::$strings["Upload Photos"] = "Carica foto";
-App::$strings["Enter a new album name"] = "Inserisci il nome di un nuovo album";
-App::$strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
-App::$strings["Create a status post for this upload"] = "Pubblica l'oggetto caricato sulla bacheca";
-App::$strings["Album name could not be decoded"] = "Non è stato possibile leggere il nome dell'album";
-App::$strings["Contact Photos"] = "Foto dei contatti";
-App::$strings["Show Newest First"] = "Prima i più recenti";
-App::$strings["Show Oldest First"] = "Prima i più vecchi";
-App::$strings["View Photo"] = "Guarda la foto";
-App::$strings["Edit Album"] = "Modifica album";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
-App::$strings["Photo not available"] = "Foto non disponibile";
-App::$strings["Use as profile photo"] = "Usa come foto del profilo";
-App::$strings["Private Photo"] = "Foto privata";
-App::$strings["View Full Size"] = "Vedi nelle dimensioni originali";
-App::$strings["Edit photo"] = "Modifica la foto";
-App::$strings["Rotate CW (right)"] = "Ruota (senso orario)";
-App::$strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
-App::$strings["Caption"] = "Titolo";
-App::$strings["Add a Tag"] = "Aggiungi tag";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
-App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
-App::$strings["In This Photo:"] = "In questa foto:";
-App::$strings["Map"] = "Mappa";
-App::$strings["View Album"] = "Guarda l'album";
-App::$strings["Recent Photos"] = "Foto recenti";
-App::$strings["Profile Match"] = "Profili corrispondenti";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
-App::$strings["is interested in:"] = "interessi personali:";
-App::$strings["No matches"] = "Nessun risultato";
-App::$strings["Away"] = "Assente";
-App::$strings["Online"] = "Online";
-App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
-App::$strings["Save Bookmark"] = "Salva segnalibro";
-App::$strings["URL of bookmark"] = "URL del segnalibro";
-App::$strings["Description"] = "Descrizione";
-App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
-App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
-App::$strings["System Notifications"] = "Notifiche di sistema";
-App::$strings["network"] = "rete";
-App::$strings["RSS"] = "RSS";
-App::$strings["Layout updated."] = "Layout aggiornato.";
-App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
-App::$strings["Layout not found."] = "Layout non trovato.";
-App::$strings["Module Name:"] = "Nome del modulo:";
-App::$strings["Layout Help"] = "Guida al layout";
-App::$strings["- select -"] = "- scegli -";
-App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
-App::$strings["Nothing to import."] = "Non c'è niente da importare.";
-App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
-App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
-App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
-App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
-App::$strings["Import completed."] = "L'importazione è terminata con successo!";
-App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
-App::$strings["Import Channel"] = "Importa un canale";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile.";
-App::$strings["File to Upload"] = "File da caricare";
-App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
-App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
-App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio server";
-App::$strings["Your old login password"] = "La password per il vecchio server";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc.";
-App::$strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
-App::$strings["Import existing posts if possible"] = "Importazione dei post esistenti, se possibile";
-App::$strings["Item not found"] = "Elemento non trovato";
-App::$strings["Edit Layout"] = "Modifica il layout";
-App::$strings["Delete layout?"] = "Vuoi eliminare questo layout?";
-App::$strings["Insert YouTube video"] = "Inserisci video da YouTube";
-App::$strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
-App::$strings["Delete Layout"] = "Elimina il layout";
-App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
-App::$strings["Room not found"] = "Area chat non trovata";
-App::$strings["Leave Room"] = "Lascia l'area chat";
-App::$strings["Delete This Room"] = "Elimina questa area chat";
-App::$strings["I am away right now"] = "Non sono presente";
-App::$strings["I am online"] = "Sono online";
-App::$strings["Bookmark this room"] = "Aggiungi l'area chat ai segnalibri";
-App::$strings["New Chatroom"] = "Nuova area chat";
-App::$strings["Chatroom Name"] = "Nome dell'area chat";
-App::$strings["%1\$s's Chatrooms"] = "Le aree chat di %1\$s";
-App::$strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
-App::$strings["Page link title"] = "Link del titolo";
-App::$strings["Edit Webpage"] = "Modifica la pagina web";
-App::$strings["This directory server requires an access token"] = "Questo server di elenchi pubblici necessita di un token di autenticazione";
-App::$strings["No valid account found."] = "Nessun account valido trovato.";
-App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
-App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
-App::$strings["Password Reset"] = "Reimposta la password";
-App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
-App::$strings["Your new password is"] = "La tua nuova password è";
-App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-App::$strings["click here to login"] = "clicca qui per accedere";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
-App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
-App::$strings["Email Address"] = "Indirizzo email";
-App::$strings["Reset"] = "Reimposta";
-App::$strings["Website:"] = "Sito web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
-App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
-App::$strings["Item is not editable"] = "L'elemento non è modificabile";
-App::$strings["Delete item?"] = "Eliminare questo elemento?";
-App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
-App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-App::$strings["Please join us on Red"] = "Vieni con noi su Hubzilla";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
-App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
-App::$strings["%d message sent."] = array(
- 0 => "%d messaggio inviato.",
- 1 => "%d messaggi inviati.",
-);
-App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
-App::$strings["Send invitations"] = "Spedisci inviti";
-App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-App::$strings["Your message:"] = "Il tuo messaggio:";
-App::$strings["Please join my community on Hubzilla."] = "Entra a far parte della mia comunità su Hubzilla.";
-App::$strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:";
-App::$strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Registrati su un qualsiasi sito Hubzilla (sono tutti interconnessi)";
-App::$strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Inserisci il mio indirizzo Hubzilla nella barra di ricerca che compare nella pagina.";
-App::$strings["or visit "] = "oppure visita ";
-App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
+App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
+App::$strings["Layout Description"] = "Descrizione del layout";
+App::$strings["Download PDL file"] = "Scarica il file PDL";
+App::$strings["Files: shared with me"] = "File: condivisi con me";
+App::$strings["NEW"] = "NOVITÀ";
+App::$strings["Remove all files"] = "Elimina tutti i file";
+App::$strings["Remove this file"] = "Elimina questo file";
+App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
+App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
+App::$strings["Invalid request."] = "Richiesta non valida.";
+App::$strings["thing"] = "Oggetto";
+App::$strings["Channel unavailable."] = "Canale non trovato.";
+App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non è d'accordo";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non ha preso una decisione";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s partecipa";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non partecipa";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
+App::$strings["Action completed."] = "Comando completato.";
+App::$strings["Thank you."] = "Grazie.";
+App::$strings["Version %s"] = "Versione %s";
+App::$strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
+App::$strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di \$Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
+App::$strings["Tag: "] = "Tag: ";
+App::$strings["Last background fetch: "] = "Ultima acquisizione:";
+App::$strings["Running at web location"] = "In esecuzione sull'indirizzo web";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per maggiori informazioni su \$Projectname.";
+App::$strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
+App::$strings["\$projectname issues"] = "Problematiche note su \$projectname";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
+App::$strings["Site Administrators"] = "Amministratori del sito";
+App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
+App::$strings["Visible to:"] = "Visibile a:";
App::$strings["Location not found."] = "Indirizzo non trovato.";
App::$strings["Primary location cannot be removed."] = "L'indirizzo principale non può essere rimosso.";
App::$strings["No locations found."] = "Nessun indirizzo trovato.";
@@ -1473,13 +1947,29 @@ App::$strings["Edit Source"] = "Modifica la sorgente";
App::$strings["Delete Source"] = "Elimina la sorgente";
App::$strings["Source removed"] = "Sorgente eliminata";
App::$strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
+App::$strings["No valid account found."] = "Nessun account valido trovato.";
+App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
+App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
+App::$strings["Password Reset"] = "Reimposta la password";
+App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+App::$strings["Your new password is"] = "La tua nuova password è";
+App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+App::$strings["click here to login"] = "clicca qui per accedere";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+App::$strings["Email Address"] = "Indirizzo email";
+App::$strings["Reset"] = "Reimposta";
App::$strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
App::$strings["Unable to create menu."] = "Impossibile creare il menù.";
App::$strings["Menu Name"] = "Nome del menu";
-App::$strings["Unique name (not visible on webpage) - required"] = "Identificativo unico (non visibile sulla pagina) - obbligatorio";
+App::$strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio";
App::$strings["Menu Title"] = "Titolo del menu";
App::$strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo";
-App::$strings["Allow Bookmarks"] = "Permetti l'aggiunta ai segnalibri";
+App::$strings["Allow Bookmarks"] = "Permetti i segnalibri";
App::$strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
App::$strings["Submit and proceed"] = "Salva e procedi";
App::$strings["Drop"] = "Elimina";
@@ -1496,116 +1986,25 @@ App::$strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedra
App::$strings["Menu title"] = "Titolo del menù";
App::$strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
App::$strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
-App::$strings["Modify"] = "Modifica";
-App::$strings["Permission Denied."] = "Permesso negato.";
-App::$strings["File not found."] = "File non trovato.";
-App::$strings["Edit file permissions"] = "Modifica i permessi del file";
-App::$strings["Set/edit permissions"] = "Modifica i permessi";
-App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
-App::$strings["Return to file list"] = "Torna all'elenco dei file";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un articolo";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
-App::$strings["Share this file"] = "Condividi questo file";
-App::$strings["Show URL to this file"] = "Mostra l'URL del file";
-App::$strings["Notify your contacts about this file"] = "Notifica ai tuoi contatti che hai caricato il file";
-App::$strings["Contact not found."] = "Contatto non trovato.";
-App::$strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
-App::$strings["Suggest Friends"] = "Suggerisci amici";
-App::$strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
-App::$strings["Hub not found."] = "Server non trovato.";
-App::$strings["Poke/Prod"] = "Poke/Prod";
-App::$strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro";
-App::$strings["Recipient"] = "Destinatario";
-App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
-App::$strings["Make this post private"] = "Rendi privato questo articolo";
-App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
-App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
-App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
-App::$strings["Visible To"] = "Visibile a";
-App::$strings["Page Title"] = "Titolo della pagina";
-App::$strings["Profile not found."] = "Profilo non trovato.";
-App::$strings["Profile deleted."] = "Profilo eliminato.";
-App::$strings["Profile-"] = "Profilo-";
-App::$strings["New profile created."] = "Il nuovo profilo è stato creato.";
-App::$strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
-App::$strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
-App::$strings["Profile Name is required."] = "Il nome del profilo è obbligatorio .";
-App::$strings["Marital Status"] = "Stato sentimentale";
-App::$strings["Romantic Partner"] = "Partner affettivo";
-App::$strings["Likes"] = "Mi piace";
-App::$strings["Dislikes"] = "Non mi piace";
-App::$strings["Work/Employment"] = "Lavoro/impiego";
-App::$strings["Religion"] = "Religione";
-App::$strings["Political Views"] = "Orientamento politico";
-App::$strings["Gender"] = "Sesso";
-App::$strings["Sexual Preference"] = "Preferenze sessuali";
-App::$strings["Homepage"] = "Home page";
-App::$strings["Interests"] = "Interessi";
-App::$strings["Address"] = "Indirizzo";
-App::$strings["Profile updated."] = "Profilo aggiornato.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
-App::$strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
-App::$strings["View this profile"] = "Guarda questo profilo";
-App::$strings["Change Profile Photo"] = "Cambia la foto del profilo";
-App::$strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
-App::$strings["Clone this profile"] = "Clona questo profilo";
-App::$strings["Delete this profile"] = "Elimina questo profilo";
-App::$strings["Import profile from file"] = "Importa il profilo da un file";
-App::$strings["Export profile to file"] = "Esporta il profilo in un file";
-App::$strings["Profile Name:"] = "Nome del profilo:";
-App::$strings["Your Full Name:"] = "Il tuo nome completo:";
-App::$strings["Title/Description:"] = "Titolo/descrizione:";
-App::$strings["Your Gender:"] = "Sesso:";
-App::$strings["Birthday :"] = "Compleanno:";
-App::$strings["Street Address:"] = "Indirizzo (via/piazza):";
-App::$strings["Locality/City:"] = "Località:";
-App::$strings["Postal/Zip Code:"] = "CAP:";
-App::$strings["Country:"] = "Nazione:";
-App::$strings["Region/State:"] = "Regione/stato:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
-App::$strings["Who: (if applicable)"] = "Con chi: (se possibile)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since [date]:"] = "dal [data]:";
-App::$strings["Homepage URL:"] = "Indirizzo home page:";
-App::$strings["Religious Views:"] = "Orientamento religioso:";
-App::$strings["Keywords:"] = "Parole chiave, tag:";
-App::$strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
-App::$strings["Used in directory listings"] = "Visibile nell'elenco pubblico di canali";
-App::$strings["Tell us about yourself..."] = "Raccontaci di te...";
-App::$strings["Hobbies/Interests"] = "Hobby/interessi";
-App::$strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network";
-App::$strings["My other channels"] = "I miei altri canali";
-App::$strings["Musical interests"] = "Interessi musicali";
-App::$strings["Books, literature"] = "Libri, letteratura";
-App::$strings["Television"] = "Televisione";
-App::$strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
-App::$strings["Love/romance"] = "Amore";
-App::$strings["Work/employment"] = "Lavoro/impiego";
-App::$strings["School/education"] = "Scuola/educazione";
-App::$strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
-App::$strings["Age: "] = "Età:";
-App::$strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili";
-App::$strings["Add profile things"] = "Aggiungi Oggetti al profilo";
-App::$strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo";
-App::$strings["No ratings"] = "Nessuna valutazione";
-App::$strings["Ratings"] = "Valutazioni";
-App::$strings["Rating: "] = "Valutazione:";
-App::$strings["Website: "] = "Sito web:";
-App::$strings["Description: "] = "Descrizione:";
-App::$strings["Source of Item"] = "Sorgente";
+App::$strings["Not found."] = "Non trovato.";
+App::$strings["Conversation removed."] = "Conversazione rimossa.";
+App::$strings["No messages."] = "Nessun messaggio.";
+App::$strings["D, d M Y - g:i A"] = "D d M Y - G:i";
App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
App::$strings["Menu Item Permissions"] = "Permessi del menu";
App::$strings["Link Name"] = "Nome link";
-App::$strings["Link Target"] = "Destinazione link";
-App::$strings["Use Hubzilla magic-auth if available"] = "Usa l'autenticazione magica di Hubzilla, se disponibile";
+App::$strings["Link or Submenu Target"] = "Destinazione del link o del sottomenu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
+App::$strings["Use magic-auth if available"] = "Usa l'autenticazione magica se disponibile";
App::$strings["Open link in new window"] = "Apri il link in una nuova finestra";
App::$strings["Order in list"] = "Ordine dell'elenco";
App::$strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
App::$strings["Submit and finish"] = "Salva e termina";
App::$strings["Submit and continue"] = "Salva e continua";
App::$strings["Menu:"] = "Menu:";
+App::$strings["Link Target"] = "Destinazione link";
App::$strings["Edit menu"] = "Modifica il menù";
App::$strings["Edit element"] = "Modifica l'elemento";
App::$strings["Drop element"] = "Elimina l'elemento";
@@ -1619,460 +2018,112 @@ App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato."
App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
App::$strings["Link text"] = "Testo del link";
-App::$strings["URL of link"] = "Indirizzo del link";
-App::$strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
-App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'autenticazione magica è avvenuta con successo.";
-App::$strings["%d rating"] = array(
- 0 => "%d valutazione",
- 1 => "%d valutazioni",
-);
-App::$strings["Gender: "] = "Sesso:";
-App::$strings["Status: "] = "Stato:";
-App::$strings["Homepage: "] = "Homepage:";
-App::$strings["Hometown: "] = "Città dove vivo:";
-App::$strings["About: "] = "Informazioni:";
-App::$strings["Public Forum:"] = "Forum pubblico:";
-App::$strings["Keywords: "] = "Parole chiave:";
-App::$strings["Common connections: %s"] = "Contatti in comune: %s";
-App::$strings["Finding:"] = "Ricerca:";
-App::$strings["next page"] = "pagina successiva";
-App::$strings["previous page"] = "pagina precedente";
-App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
-App::$strings["Export Channel"] = "Esporta il canale";
-App::$strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altre informazioni fondamentali. Può essere usato per importare il tuo canale su un nuovo server, ma\tnon include i contenuti, per esempio articoli e foto.";
-App::$strings["Export Content"] = "Esporta i contenuti";
-App::$strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta i dati del canale e i contenuti in un file in formato JSON. E' un salvataggio dei tuoi contatti, dei dati del profilo e anche di tutti i contenuti. Questa non è la soluzione opportuna per importare il tuo canale su un nuovo server, visto che il file potrebbe avere dimensioni NOTEVOLI. Devi pazientare - ci vorranno alcuni minuti per raccogliere i dati prima che inizi lo scaricamento.";
-App::$strings["No connections."] = "Nessun contatto.";
-App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
-App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
-App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
-App::$strings["Site"] = "Sito";
-App::$strings["Accounts"] = "Account";
-App::$strings["Channels"] = "Canali";
-App::$strings["Plugins"] = "Plugin";
-App::$strings["Themes"] = "Temi";
-App::$strings["Inspect queue"] = "Coda di attesa";
-App::$strings["Profile Config"] = "Configurazione del profilo";
-App::$strings["DB updates"] = "Aggiornamenti al DB";
-App::$strings["Logs"] = "Log";
-App::$strings["Plugin Features"] = "Plugin";
-App::$strings["User registrations waiting for confirmation"] = "Registrazioni in attesa";
-App::$strings["# Accounts"] = "# account";
-App::$strings["# blocked accounts"] = "# account bloccati";
-App::$strings["# expired accounts"] = "# account scaduti";
-App::$strings["# expiring accounts"] = "# account in scadenza";
-App::$strings["# Channels"] = "# canali";
-App::$strings["# primary"] = "# primari";
-App::$strings["# clones"] = "# cloni";
-App::$strings["Message queues"] = "Coda messaggi in uscita";
-App::$strings["Administration"] = "Amministrazione";
-App::$strings["Summary"] = "Riepilogo";
-App::$strings["Registered accounts"] = "Account creati";
-App::$strings["Pending registrations"] = "Registrazioni da approvare";
-App::$strings["Registered channels"] = "Canali creati";
-App::$strings["Active plugins"] = "Plugin attivi";
-App::$strings["Version"] = "Versione";
-App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
-App::$strings["experimental"] = "sperimentale";
-App::$strings["unsupported"] = "non supportato";
-App::$strings["Yes - with approval"] = "Sì - con approvazione";
-App::$strings["My site is not a public server"] = "Non è un server pubblico";
-App::$strings["My site has paid access only"] = "È un servizio a pagamento";
-App::$strings["My site has free access only"] = "È un servizio gratuito";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
-App::$strings["Registration"] = "Registrazione";
-App::$strings["File upload"] = "Caricamento file";
-App::$strings["Policies"] = "Politiche";
-App::$strings["Site name"] = "Nome del sito";
-App::$strings["Banner/Logo"] = "Banner o logo";
-App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
-App::$strings["System language"] = "Lingua di sistema";
-App::$strings["System theme"] = "Tema di sistema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
-App::$strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
-App::$strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
-App::$strings["Enable Diaspora Protocol"] = "Abilita la comunicazione con Diaspora";
-App::$strings["Communicate with Diaspora and Friendica - experimental"] = "Sperimentale - per comunicare con Diaspora e Friendica";
-App::$strings["Allow Feeds as Connections"] = "Permetti di aggiungere i feed come contatti";
-App::$strings["(Heavy system resource usage)"] = "(Uso intenso delle risorse di sistema!)";
-App::$strings["Maximum image size"] = "Dimensione massima immagini";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
-App::$strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
-App::$strings["Register text"] = "Testo di registrazione";
-App::$strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
-App::$strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
-App::$strings["Allowed friend domains"] = "Domini fidati e consentiti";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
-App::$strings["Allowed email domains"] = "Domini email consentiti";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
-App::$strings["Not allowed email domains"] = "Domini email non consentiti";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
-App::$strings["Block public"] = "Blocca pagine pubbliche";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
-App::$strings["Verify Email Addresses"] = "Verifica l'indirizzo email";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato).";
-App::$strings["Force publish"] = "Forza la publicazione del profilo";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito.";
-App::$strings["Disable discovery tab"] = "Disabilita la funzione 'scopri'";
-App::$strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti.";
-App::$strings["No login on Homepage"] = "Non mostrare il login sulla homepage";
-App::$strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato da un canale).";
-App::$strings["Proxy user"] = "Utente proxy";
-App::$strings["Proxy URL"] = "URL proxy";
-App::$strings["Network timeout"] = "Timeout rete";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
-App::$strings["Delivery interval"] = "Recapito ritardato";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
-App::$strings["Poll interval"] = "Intervallo di polling";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
-App::$strings["Maximum Load Average"] = "Carico massimo medio";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
-App::$strings["Expiration period in days for imported (matrix/network) content"] = "Scadenza dei contenuti importati da altri siti (in giorni)";
-App::$strings["0 for no expiration of imported content"] = "0 per non avere scadenza";
-App::$strings["No server found"] = "Server non trovato";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "per canale";
-App::$strings["on server"] = "sul server";
-App::$strings["Status"] = "Stato";
-App::$strings["Server"] = "Server";
-App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
-App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
-App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
-App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
-App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
-App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
-App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
-App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
-App::$strings["Queue Statistics"] = "Statistiche della coda";
-App::$strings["Total Entries"] = "Totale";
-App::$strings["Priority"] = "Priorità";
-App::$strings["Destination URL"] = "URL di destinazione";
-App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
-App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
-App::$strings["Last known contact"] = "Ultimo scambio dati";
-App::$strings["%s user blocked/unblocked"] = array(
- 0 => "%s utente bloccato/sbloccato",
- 1 => "%s utenti bloccati/sbloccati",
-);
-App::$strings["%s user deleted"] = array(
- 0 => "%s utente cancellato",
- 1 => "%s utenti cancellati",
-);
-App::$strings["Account not found"] = "Account non trovato";
-App::$strings["User '%s' blocked"] = "Utente '%s' bloccato";
-App::$strings["User '%s' unblocked"] = "Utente '%s' sbloccato";
-App::$strings["Users"] = "Utenti";
-App::$strings["select all"] = "seleziona tutti";
-App::$strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma";
-App::$strings["Request date"] = "Data richiesta";
-App::$strings["No registrations."] = "Nessuna registrazione.";
-App::$strings["Approve"] = "Approva";
-App::$strings["Deny"] = "Nega";
-App::$strings["Block"] = "Blocca";
-App::$strings["Unblock"] = "Sblocca";
-App::$strings["Register date"] = "Data registrazione";
-App::$strings["Last login"] = "Ultimo accesso";
-App::$strings["Expires"] = "Con scadenza";
-App::$strings["Service Class"] = "Classe dell'account";
-App::$strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli utenti selezionati saranno eliminati!\\n\\nTutto quello che gli utenti hanno pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?";
-App::$strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'utente {0} sarà eliminato!\\n\\nTutto quello che ha pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "Censura modificata per %s canale",
- 1 => "Censura modificata per %s canali",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s canale è stato rimosso",
- 1 => "%s canali sono stati rimossi",
-);
-App::$strings["Channel not found"] = "Canale non trovato";
-App::$strings["Channel '%s' deleted"] = "Il canale '%s' è stato rimosso";
-App::$strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
-App::$strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
-App::$strings["Censor"] = "Applica una censura";
-App::$strings["Uncensor"] = "Rimuovi la censura";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
-App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
-App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
-App::$strings["Disable"] = "Disattiva";
-App::$strings["Enable"] = "Attiva";
-App::$strings["Toggle"] = "Attiva/disattiva";
-App::$strings["Author: "] = "Autore:";
-App::$strings["Maintainer: "] = "Gestore:";
-App::$strings["No themes found."] = "Nessun tema trovato.";
-App::$strings["Screenshot"] = "Istantanea dello schermo";
-App::$strings["[Experimental]"] = "[Sperimentale]";
-App::$strings["[Unsupported]"] = "[Non supportato]";
-App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
-App::$strings["Clear"] = "Pulisci";
-App::$strings["Debugging"] = "Debugging";
-App::$strings["Log file"] = "File di log";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato Hubzilla.";
-App::$strings["Log level"] = "Livello di log";
-App::$strings["New Profile Field"] = "Nuovo campo del profilo";
-App::$strings["Field nickname"] = "Nome breve del campo";
-App::$strings["System name of field"] = "Nome di sistema del campo";
-App::$strings["Input type"] = "Tipo di dati";
-App::$strings["Field Name"] = "Nome del campo";
-App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
-App::$strings["Help text"] = "Testo di aiuto";
-App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (opzionali)";
-App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
-App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
-App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
-App::$strings["Post successful."] = "Inviato!";
-App::$strings["Edit Block"] = "Modifica il riquadro";
-App::$strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
-App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
-App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
-App::$strings["Passwords do not match."] = "Le password non corrispondono.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
-App::$strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito.";
-App::$strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata.";
-App::$strings["Registration on this site/hub is by approval only."] = "La registrazione su questo sito è soggetta ad approvazione.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro server affiliato</a>";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
-App::$strings["Terms of Service"] = "Condizioni d'Uso";
-App::$strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
-App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
-App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo sito è necessario un invito.";
-App::$strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
-App::$strings["Your email address"] = "Il tuo indirizzo email";
-App::$strings["Choose a password"] = "Scegli una password";
-App::$strings["Please re-enter your password"] = "Ripeti la password per verifica";
-App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
-App::$strings["Remove This Account"] = "Elimina questo account";
-App::$strings["WARNING: "] = "ATTENZIONE:";
-App::$strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete.";
-App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
-App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
-App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
-App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo server saranno rimossi dalla rete.";
-App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-App::$strings["Empty post discarded."] = "L'articolo vuoto è stato ignorato.";
-App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
-App::$strings["System error. Post not saved."] = "Errore di sistema. Articolo non salvato.";
-App::$strings["Unable to obtain post information from database."] = "Impossibile caricare l'articolo dal database.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
-App::$strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
-App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
-App::$strings["Visible to:"] = "Visibile a:";
-App::$strings["Block Name"] = "Nome del riquadro";
-App::$strings["First Name"] = "Nome";
-App::$strings["Last Name"] = "Cognome";
-App::$strings["Nickname"] = "Nick";
-App::$strings["Full Name"] = "Nome e cognome";
-App::$strings["Profile Photo 16px"] = "Foto del profilo 16px";
-App::$strings["Profile Photo 32px"] = "Foto del profilo 32px";
-App::$strings["Profile Photo 48px"] = "Foto del profilo 48px";
-App::$strings["Profile Photo 64px"] = "Foto del profilo 64px";
-App::$strings["Profile Photo 80px"] = "Foto del profilo 80px";
-App::$strings["Profile Photo 128px"] = "Foto del profilo 128px";
-App::$strings["Timezone"] = "Fuso orario";
-App::$strings["Homepage URL"] = "Indirizzo home page";
-App::$strings["Birth Year"] = "Anno di nascita";
-App::$strings["Birth Month"] = "Mese di nascita";
-App::$strings["Birth Day"] = "Giorno di nascita";
-App::$strings["Birthdate"] = "Data di nascita";
-App::$strings["Conversation removed."] = "Conversazione rimossa.";
-App::$strings["No messages."] = "Nessun messaggio.";
-App::$strings["Delete conversation"] = "Elimina la conversazione";
-App::$strings["D, d M Y - g:i A"] = "D d M Y - G:i";
-App::$strings["Help with this feature"] = "La guida per questa funzionalità";
-App::$strings["Layout Name"] = "Nome layout";
-App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
-App::$strings["Total votes"] = "Voti totali";
-App::$strings["Average Rating"] = "Valutazione media";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
-App::$strings["Remove This Channel"] = "Elimina questo canale";
-App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
-App::$strings["Remove this channel and all its clones from the network"] = "Rimuovi questo canale e tutti i suoi cloni dalla rete";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
-App::$strings["is now connected to"] = "ha come nuovo contatto";
-App::$strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
-App::$strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
-App::$strings["Channel has been unblocked"] = "Il canale è stato sbloccato";
-App::$strings["Channel has been blocked"] = "Il canale è stato bloccato";
-App::$strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
-App::$strings["Channel has been unignored"] = "Il canale non sarà più ignorato";
-App::$strings["Channel has been ignored"] = "Il canale sarà ignorato";
-App::$strings["Channel has been unarchived"] = "Il canale non è più archiviato";
-App::$strings["Channel has been archived"] = "Il canale è stato archiviato";
-App::$strings["Channel has been unhidden"] = "Il canale non è più nascosto";
-App::$strings["Channel has been hidden"] = "Il canale è stato nascosto";
-App::$strings["Channel has been approved"] = "Il canale è stato approvato";
-App::$strings["Channel has been unapproved"] = "Il canale non è più approvato";
-App::$strings["Connection has been removed."] = "Il contatto è stato rimosso.";
-App::$strings["View %s's profile"] = "Guarda il profilo di %s";
-App::$strings["Refresh Permissions"] = "Modifica i permessi";
-App::$strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegnati";
-App::$strings["Recent Activity"] = "Attività recenti";
-App::$strings["View recent posts and comments"] = "Leggi i post recenti e i commenti";
-App::$strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
-App::$strings["Unignore"] = "Non ignorare";
-App::$strings["Ignore"] = "Ignora";
-App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)";
-App::$strings["Unarchive"] = "Non archiviare";
-App::$strings["Archive"] = "Archivia";
-App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti";
-App::$strings["Unhide"] = "Non nascondere";
-App::$strings["Hide"] = "Nascondi";
-App::$strings["Hide or Unhide this connection from your other connections"] = "Nascondi questo contatto a tutti gli altri (abilita/disabilita)";
-App::$strings["Delete this connection"] = "Elimina questo contatto";
-App::$strings["Approve this connection"] = "Approva questo contatto";
-App::$strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
-App::$strings["Connections: settings for %s"] = "Contatti: impostazioni per %s";
-App::$strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
-App::$strings["Apply the permissions indicated on this page to all new connections."] = "Applica i permessi indicati su questa pagina a tutti i nuovi contatti.";
-App::$strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
-App::$strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "I tuoi nuovi contatti potrebbero <em>non</em> essere abilitati a comunicare con te finché non salverai questa pagina (perché non hai permessi impostati). Sono stati selezionati i permessi standard per il tipo di canale che hai scelto. Non sono stati ancora salvati però. Puoi verificare le impostazioni e fare i cambiamenti che preferisci prima di salvare. ";
-App::$strings["inherited"] = "derivato";
-App::$strings["Connection has no individual permissions!"] = "Non hai assegnato permessi individuali a questo contatto!";
-App::$strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate.";
-App::$strings["Profile Visibility"] = "Visibilità del profilo";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro.";
-App::$strings["Contact Information / Notes"] = "Informazioni e annotazioni sul contatto";
-App::$strings["Edit contact notes"] = "Modifica le informazioni sul contatto";
-App::$strings["Their Settings"] = "Permessi concessi a te";
-App::$strings["My Settings"] = "I permessi che concedo";
-App::$strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "A questo canale sono stati applicati i permessi predefiniti ma <em>non</em> sono stati salvati. In realtà non esistono ancora dei permessi predefiniti da usare su questo sito. Controlla e verifica le impostazioni, [Salva] per confermare.";
-App::$strings["Clear/Disable Automatic Permissions"] = "Rimuovi/disabilita i permessi automatici";
-App::$strings["Forum Members"] = "Membro di un forum";
-App::$strings["Soapbox"] = "Comunicati e annunci";
-App::$strings["Full Sharing (typical social network permissions)"] = "Condivisione completa (permessi tipici dei social network)";
-App::$strings["Cautious Sharing "] = "Condivisione prudente";
-App::$strings["Follow Only"] = "Follower";
-App::$strings["Individual Permissions"] = "Permessi individuali";
-App::$strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "I permessi nelle <a href=\"settings\">impostazioni di privacy</a> hanno priorità su quelli mostrati in questa pagina. Non avrà alcun effetto cambiarli qui, se sono indicati come derivati.";
-App::$strings["Advanced Permissions"] = "Permessi avanzati";
-App::$strings["Simple Permissions (select one and submit)"] = "Permessi semplificati (seleziona e salva)";
-App::$strings["Visit %s's profile - %s"] = "Guarda il profilo di %s - %s";
-App::$strings["Block/Unblock contact"] = "Blocca/sblocca contatto";
-App::$strings["Ignore contact"] = "Ignora il contatto";
-App::$strings["Repair URL settings"] = "Ripara le impostazioni URL";
-App::$strings["View conversations"] = "Leggi le conversazioni";
-App::$strings["Delete contact"] = "Elimina contatto";
-App::$strings["Last update:"] = "Ultimo aggiornamento:";
-App::$strings["Update public posts"] = "Aggiorna gli articoli pubblici";
-App::$strings["Update now"] = "Aggiorna adesso";
-App::$strings["Currently blocked"] = "Attualmente bloccato";
-App::$strings["Currently ignored"] = "Attualmente ignorato";
-App::$strings["Currently archived"] = "Attualmente archiviato";
-App::$strings["Currently pending"] = "Attualmente da approvare";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente.";
-App::$strings["The error message was:"] = "Messaggio di errore ricevuto:";
-App::$strings["Authentication failed."] = "Autenticazione fallita.";
-App::$strings["Remote Authentication"] = "Autenticazione a distanza";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
-App::$strings["Authenticate"] = "Autenticazione";
-App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
-App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
-App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
-App::$strings["Message deleted."] = "Messaggio eliminato.";
-App::$strings["Message recalled."] = "Messaggio revocato.";
-App::$strings["Send Private Message"] = "Invia un messaggio privato";
-App::$strings["To:"] = "A:";
-App::$strings["Subject:"] = "Oggetto:";
-App::$strings["Send"] = "Invia";
-App::$strings["Message not found."] = "Messaggio non trovato.";
-App::$strings["Delete message"] = "Elimina il messaggio";
-App::$strings["Recall message"] = "Revoca il messaggio";
-App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
-App::$strings["Private Conversation"] = "Conversazione privata";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
-App::$strings["Send Reply"] = "Invia la risposta";
-App::$strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
-App::$strings["Discard"] = "Rifiuta";
-App::$strings["Please login."] = "Effettua l'accesso.";
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione magica dal tuo sito non è disponibile. Hai accesso solamente a questo sito. Puoi provare a disconnetterti per tentare di nuovo.";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+App::$strings["Tag removed"] = "Tag rimosso";
+App::$strings["Remove Item Tag"] = "Rimuovi il tag";
+App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
+App::$strings["No such group"] = "Impossibile trovare l'insieme";
+App::$strings["No such channel"] = "Canale sconosciuto";
+App::$strings["Search Results For:"] = "Cerca risultati con:";
+App::$strings["Collection is empty"] = "L'insieme di canali è vuoto";
+App::$strings["Collection: "] = "Insieme:";
+App::$strings["Connection: "] = "Contatto:";
+App::$strings["Invalid connection."] = "Contatto non valido.";
+App::$strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
App::$strings["Add a Channel"] = "Aggiungi un canale";
App::$strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti ne permette il tuo sito.";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
App::$strings["Choose a short nickname"] = "Scegli un nome breve";
App::$strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti.";
App::$strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro server/hub";
-App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti.";
+App::$strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà per te i permessi più adatti.";
App::$strings["Channel Type"] = "Tipo di canale";
App::$strings["Read more about roles"] = "Maggiori informazioni sui ruoli";
-App::$strings["App installed."] = "App installata";
-App::$strings["Malformed app."] = "App non corretta";
-App::$strings["Embed code"] = "Inserisci del codice";
-App::$strings["Edit App"] = "Modifica app";
-App::$strings["Create App"] = "Crea una app";
-App::$strings["Name of app"] = "Nome app";
-App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
-App::$strings["Photo icon URL"] = "URL icona";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
-App::$strings["Version ID"] = "ID versione";
-App::$strings["Price of app"] = "Prezzo app";
-App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
-App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
-App::$strings["added your channel"] = "ha aggiunto il tuo canale";
-App::$strings["posted an event"] = "ha creato un evento";
-App::$strings["No such group"] = "Impossibile trovare l'insieme";
-App::$strings["No such channel"] = "Canale sconosciuto";
-App::$strings["Search Results For:"] = "Cerca risultati con:";
-App::$strings["Collection is empty"] = "L'insieme di canali è vuoto";
-App::$strings["Collection: "] = "Insieme:";
-App::$strings["Connection: "] = "Contatto:";
-App::$strings["Invalid connection."] = "Contatto non valido.";
-App::$strings["Ipsum Lorem"] = "Ipsum Lorem";
-App::$strings["Bookmark added"] = "Segnalibro aggiunto";
-App::$strings["My Bookmarks"] = "I miei segnalibri";
-App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
-App::$strings["Poll"] = "Sondaggio";
-App::$strings["View Results"] = "Guarda i risultati";
-App::$strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
-App::$strings["Files: shared with me"] = "File: condivisi con me";
-App::$strings["NEW"] = "NOVITÀ";
-App::$strings["Remove all files"] = "Elimina tutti i file";
-App::$strings["Remove this file"] = "Elimina questo file";
+App::$strings["Thing updated"] = "L'Oggetto è stato aggiornato";
+App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
+App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostra l'Oggetto";
+App::$strings["item not found."] = "non trovato.";
+App::$strings["Edit Thing"] = "Modifica l'Oggetto";
+App::$strings["Select a profile"] = "Scegli un profilo";
+App::$strings["Post an activity"] = "Pubblica un'attività";
+App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi segue il relativo canale";
+App::$strings["Name of thing e.g. something"] = "Nome dell'Oggetto";
+App::$strings["URL of thing (optional)"] = "Indirizzo web dell'Oggetto (opzionale)";
+App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'Oggetto (facoltativo)";
+App::$strings["Add Thing to your Profile"] = "Aggiungi l'Oggetto al tuo profilo";
+App::$strings["Export Channel"] = "Esporta il canale";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato.";
+App::$strings["Export Content"] = "Esporta i contenuti";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento.";
+App::$strings["Export your posts from a given year or month:"] = "Puoi anche esportare i post relativi a un certo mese o anno";
+App::$strings["You may also export your posts and conversations for a particular year or month. Click on one of the recent years or months below."] = "Puoi anche esportare i tuoi post e le conversazioni di un certo mese o anno. Clicca qua sotto su un mese o su un anno recente.";
+App::$strings["Jan"] = "Gen";
+App::$strings["Feb"] = "Feb";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Apr";
+App::$strings["Jun"] = "Giu";
+App::$strings["Jul"] = "Lug";
+App::$strings["Aug"] = "Ago";
+App::$strings["Sep"] = "Set";
+App::$strings["Oct"] = "Ott";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Dic";
+App::$strings["If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Se l'esportazione fallisce (di solito è per mancanza di memoria sullo hub), puoi provare nuovamente, ma scegliendo un intervallo di date più stretto.";
+App::$strings["Or adjust the date in your browser location bar to select other dates. For example the year 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> or the month September 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>"] = "Oppure cambia le date nella barra degli indirizzi del tuo browser per selezionare altre date. Per esempio, l'anno 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> o il mese di settembre 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>";
+App::$strings["Please visit"] = "Visita";
+App::$strings["on another hub to import the backup files(s)."] = "su un altro hub per importare il backup.";
+App::$strings["We advise you to clone the channel on the new hub first and than to import the backup file(s) (from the same channel) in chronological order. Importing the backup files into another channel will certainly give permission issues."] = "Il consiglio è di clonare per prima cosa il canale sul nuovo hub e poi importare i file di backup creati dal canale originale in ordine cronologico. Importare contenuti di canali differenti darà sicuramente problemi sui diritti.";
+App::$strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
+App::$strings["No connections."] = "Nessun contatto.";
+App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
+App::$strings["Source of Item"] = "Sorgente";
+App::$strings["Total votes"] = "Totale voti";
+App::$strings["Average Rating"] = "Valutazione media";
+App::$strings["Page Title"] = "Titolo della pagina";
+App::$strings["Xchan Lookup"] = "Ricerca canale";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
App::$strings["Schema Default"] = "Schema predefinito";
-App::$strings["Sans-Serif"] = "Sans-serif";
+App::$strings["Sans-Serif"] = "Sans-Serif";
App::$strings["Monospace"] = "Monospace";
App::$strings["Theme settings"] = "Impostazioni del tema";
App::$strings["Set scheme"] = "Schema";
-App::$strings["Set font-size for posts and comments"] = "Dimensioni del carattere per articoli e commenti";
+App::$strings["Set font-size for posts and comments"] = "Dimensioni del carattere per post e commenti";
App::$strings["Set font face"] = "Tipo di carattere";
-App::$strings["Set iconset"] = "Icone";
+App::$strings["Set iconset"] = "Set di icone";
App::$strings["Set big shadow size, default 15px 15px 15px"] = "Ombra grande, predefinita 15px 15px 15px";
App::$strings["Set small shadow size, default 5px 5px 5px"] = "Ombra piccola, predefinita 5px 5px 5px";
App::$strings["Set shadow color, default #000"] = "Colore dell'ombra, predefinito #000";
App::$strings["Set radius size, default 5px"] = "Raggio degli angoli, predefinito 5px";
-App::$strings["Set line-height for posts and comments"] = "Altezza della riga per articoli e commenti";
+App::$strings["Set line-height for posts and comments"] = "Altezza della riga per post e commenti";
App::$strings["Set background image"] = "Immagine di sfondo";
-App::$strings["Set background attachment"] = "Allega uno sfondo";
+App::$strings["Set background attachment"] = "Imposta un allegato di sfondo";
App::$strings["Set background color"] = "Colore di sfondo";
-App::$strings["Set section background image"] = "Immagine di sfondo della sezione";
-App::$strings["Set section background color"] = "Colore di sfondo dell'area principale";
+App::$strings["Set section background image"] = "Immagine di sfondo dei contenuti";
+App::$strings["Set section background color"] = "Colore di sfondo dei contenuti";
App::$strings["Set color of items - use hex"] = "Colore degli elementi della pagina - esadecimale";
App::$strings["Set color of links - use hex"] = "Colore dei link - esadecimale";
-App::$strings["Set max-width for items. Default 400px"] = "Larghezza massima degli elementi della pagina. Predefinita: 400px";
-App::$strings["Set min-width for items. Default 240px"] = "Larghezza minima degli elementi della pagina. Predefinita: 240px";
-App::$strings["Set the generic content wrapper width. Default 48%"] = "Larghezza di tutta l'area dei contenuti. Predefinita: 48%";
+App::$strings["Set max-width for items. Default 400px"] = "Larghezza massima degli elementi della pagina. Predefinita 400px";
+App::$strings["Set min-width for items. Default 240px"] = "Larghezza minima degli elementi della pagina. Predefinita 240px";
+App::$strings["Set the generic content wrapper width. Default 48%"] = "Larghezza dell'area dei contenuti. Predefinita: 48%";
App::$strings["Set color of fonts - use hex"] = "Colore dei caratteri - esadecimale";
-App::$strings["Set background-size element"] = "Background-size element";
+App::$strings["Set background-size element"] = "Background-size";
App::$strings["Item opacity"] = "Opacità degli elementi della pagina";
-App::$strings["Display post previews only"] = "Mostra le anteprime solo degli articoli";
+App::$strings["Display post previews only"] = "Mostra l'anteprima solo dei post";
App::$strings["Display side bar on channel page"] = "Mostra la colonna laterale sulla pagina del canale";
App::$strings["Colour of the navigation bar"] = "Colore della barra di navigazione";
App::$strings["Item float"] = "Float degli oggetti della pagina";
-App::$strings["Left offset of the section element"] = "Margine sinistro dell'area principale";
-App::$strings["Right offset of the section element"] = "Margine destro dell'area principale";
-App::$strings["Section width"] = "Larghezza dell'area principale";
-App::$strings["Left offset of the aside"] = "Margine sinistro della colonna laterale";
-App::$strings["Right offset of the aside element"] = "Margine destro della colonna laterale";
-App::$strings["Light (Hubzilla default)"] = "Light (predefinito)";
+App::$strings["Left offset of the section element"] = "Margine sinistro dei contenuti";
+App::$strings["Right offset of the section element"] = "Margine destro dei contenuti";
+App::$strings["Section width"] = "Larghezza dei contenuti";
+App::$strings["Left offset of the aside"] = "Margine sinistro nella colonna laterale";
+App::$strings["Right offset of the aside element"] = "Margine destro nella colonna laterale";
+App::$strings["Light (Red Matrix default)"] = "Light (predefinito)";
App::$strings["Select scheme"] = "Scegli uno schema";
App::$strings["Narrow navbar"] = "Barra di navigazione ristretta";
App::$strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
@@ -2095,7 +2146,7 @@ App::$strings["Set the basic color for item icons"] = "Colore di base per le ico
App::$strings["Set the hover color for item icons"] = "Colore per le icone in mouse-over";
App::$strings["Set font-size for the entire application"] = "Dimensione font per tutto il sito";
App::$strings["Example: 14px"] = "Esempio: 14px";
-App::$strings["Set font-color for posts and comments"] = "Imposta il colore del carattere per articoli e commenti";
+App::$strings["Set font-color for posts and comments"] = "Imposta il colore del carattere per post e commenti";
App::$strings["Set radius of corners"] = "Raggio degli angoli stondati";
App::$strings["Set shadow depth of photos"] = "Profondità dell'ombra delle foto";
App::$strings["Set maximum width of content region in pixel"] = "Larghezza massima dell'area dei contenuti in pixel";
@@ -2106,7 +2157,7 @@ App::$strings["Set size of conversation author photo"] = "Dimensione foto dell'a
App::$strings["Set size of followup author photos"] = "Dimensione foto dei partecipanti alla conversazione";
App::$strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
App::$strings["Update Error at %s"] = "Errore di aggiornamento su %s";
-App::$strings["Create an account to access services and applications within the Hubzilla"] = "Registrati per accedere ai servizi e alle applicazioni di Hubzilla";
+App::$strings["Create an account to access services and applications within the Red Matrix"] = "Registrati per accedere ai servizi e alle applicazioni di RedMatrix";
App::$strings["Password"] = "Password";
App::$strings["Remember me"] = "Resta connesso";
App::$strings["Forgot your password?"] = "Hai dimenticato la password?";
@@ -2114,5 +2165,4 @@ App::$strings["toggle mobile"] = "attiva/disattiva versione mobile";
App::$strings["Website SSL certificate is not valid. Please correct."] = "Il certificato SSL del sito non è valido. Si prega di intervenire.";
App::$strings["[red] Website SSL error for %s"] = "[red] Errore SSL %s ";
App::$strings["Cron/Scheduled tasks not running."] = "Processi/cron non avviati.";
-App::$strings["[red] Cron tasks not running on %s"] = "[red] Processi non avviati su %s";
-App::$strings["Source of Item"] = "Sorgente dell'Elemento";
+App::$strings["[red] Cron tasks not running on %s"] = "[red] Processi cron non avviati su %s";
diff --git a/view/js/main.js b/view/js/main.js
index 15a6b4b8d..f279417d9 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -321,22 +321,6 @@ $(function() {
return false;
}
}
- if(event.keyCode == '34') {
- if((pageHasMoreContent) && (! loadingPage)) {
- $('#more').hide();
- $('#no-more').hide();
-
- next_page++;
- scroll_next = true;
- loadingPage = true;
-
- if(($('.directory-end').length == 0) && ($('.photos-end').length == 0))
- liveUpdate();
- else
- pageUpdate();
- return true;
- }
- }
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
event.preventDefault();
diff --git a/view/js/mod_cal.js b/view/js/mod_cal.js
new file mode 100644
index 000000000..5867f676e
--- /dev/null
+++ b/view/js/mod_cal.js
@@ -0,0 +1,22 @@
+/**
+ * JavaScript for mod/cal
+ */
+
+$(document).ready( function() {
+ $(document).on('click','#fullscreen-btn', on_fullscreen);
+ $(document).on('click','#inline-btn', on_inline);
+});
+
+function on_fullscreen() {
+ var view = $('#events-calendar').fullCalendar('getView');
+ if(view.type === 'month') {
+ $('#events-calendar').fullCalendar('option', 'height', $(window).height() - $('.section-title-wrapper').outerHeight(true) - 2); // -2 is for border width (top and bottom) of .generic-content-wrapper
+ }
+}
+
+function on_inline() {
+ var view = $('#events-calendar').fullCalendar('getView');
+ if(view.type === 'month') {
+ $('#events-calendar').fullCalendar('option', 'height', '');
+ }
+}
diff --git a/view/js/mod_events.js b/view/js/mod_events.js
index 74b811dd6..66cf81ddd 100644
--- a/view/js/mod_events.js
+++ b/view/js/mod_events.js
@@ -5,11 +5,29 @@
$(document).ready( function() {
enableDisableFinishDate();
$('#comment-edit-text-desc, #comment-edit-text-loc').bbco_autocomplete('bbcode');
+
+ $(document).on('click','#fullscreen-btn', on_fullscreen);
+ $(document).on('click','#inline-btn', on_inline);
});
+
function enableDisableFinishDate() {
if( $('#id_nofinish').is(':checked'))
$('#id_finish_text').prop("disabled", true);
else
$('#id_finish_text').prop("disabled", false);
}
+
+function on_fullscreen() {
+ var view = $('#events-calendar').fullCalendar('getView');
+ if(view.type === 'month') {
+ $('#events-calendar').fullCalendar('option', 'height', $(window).height() - $('.section-title-wrapper').outerHeight(true) - 2); // -2 is for border width (top and bottom) of .generic-content-wrapper
+ }
+}
+
+function on_inline() {
+ var view = $('#events-calendar').fullCalendar('getView');
+ if(view.type === 'month') {
+ $('#events-calendar').fullCalendar('option', 'height', '');
+ }
+}
diff --git a/view/nb-no/hmessages.po b/view/nb-no/hmessages.po
index e4a6f6127..bcb926d90 100644
--- a/view/nb-no/hmessages.po
+++ b/view/nb-no/hmessages.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-02-26 00:03-0800\n"
-"PO-Revision-Date: 2016-03-05 13:01+0000\n"
-"Last-Translator: Haakon Meland Eriksen <haakon.eriksen@far.no>\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 09:14+0000\n"
+"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/Friendica/red-matrix/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,23 +18,11 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../Zotlabs/Zot/Auth.php:140
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt."
-
-#: ../../Zotlabs/Zot/Auth.php:248 ../../mod/openid.php:72
-#: ../../mod/openid.php:179
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Velkommen %s. Ekstern autentisering er vellykket."
-
#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
msgid "parent"
msgstr "opp et nivå"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2614
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "Samling"
@@ -58,16 +46,16 @@ msgstr "Tidsplan innboks"
msgid "Schedule Outbox"
msgstr "Tidsplan utboks"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../include/apps.php:360
-#: ../../include/apps.php:415 ../../include/widgets.php:1410
-#: ../../include/conversation.php:1037 ../../mod/photos.php:766
-#: ../../mod/photos.php:1209
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
+#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Ukjent"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../include/apps.php:135
-#: ../../include/nav.php:93 ../../include/conversation.php:1648
-#: ../../mod/fbrowser.php:109
+#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Filer"
@@ -79,22 +67,24 @@ msgstr "Totalt"
msgid "Shared"
msgstr "Delt"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:303
-#: ../../mod/blocks.php:152 ../../mod/layouts.php:175 ../../mod/menu.php:114
-#: ../../mod/new_channel.php:138 ../../mod/webpages.php:182
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Webpages.php:186
msgid "Create"
msgstr "Lag"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:305
-#: ../../include/widgets.php:1423 ../../mod/photos.php:793
-#: ../../mod/photos.php:1333 ../../mod/profile_photo.php:401
-#: ../../mod/cover_photo.php:353
+#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Last opp"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../mod/admin.php:1158
-#: ../../mod/settings.php:599 ../../mod/settings.php:625
-#: ../../mod/sharedwithme.php:95
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
msgstr "Navn"
@@ -102,4790 +92,785 @@ msgstr "Navn"
msgid "Type"
msgstr "Type"
-#: ../../Zotlabs/Storage/Browser.php:237 ../../include/text.php:1274
-#: ../../mod/sharedwithme.php:97
+#: ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Størrelse"
-#: ../../Zotlabs/Storage/Browser.php:238 ../../mod/sharedwithme.php:98
+#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Sist endret"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../include/apps.php:259
-#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
-#: ../../include/menu.php:108 ../../include/identity.php:1352
-#: ../../include/ItemObject.php:100 ../../mod/blocks.php:153
-#: ../../mod/connections.php:286 ../../mod/connections.php:306
-#: ../../mod/editblock.php:135 ../../mod/editlayout.php:134
-#: ../../mod/editpost.php:112 ../../mod/editwebpage.php:176
-#: ../../mod/layouts.php:183 ../../mod/menu.php:108 ../../mod/settings.php:659
-#: ../../mod/thing.php:256 ../../mod/webpages.php:183
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
+#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:310
+#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
+#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
+#: ../../include/menu.php:108 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Endre"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../include/apps.php:260
-#: ../../include/conversation.php:657 ../../include/ItemObject.php:120
-#: ../../mod/blocks.php:155 ../../mod/connections.php:259
-#: ../../mod/connedit.php:562 ../../mod/editblock.php:181
-#: ../../mod/editlayout.php:179 ../../mod/editwebpage.php:223
-#: ../../mod/group.php:173 ../../mod/photos.php:1140 ../../mod/admin.php:993
-#: ../../mod/admin.php:1152 ../../mod/settings.php:660 ../../mod/thing.php:257
-#: ../../mod/webpages.php:185
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:572
+#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Editlayout.php:136
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Slett"
-#: ../../Zotlabs/Storage/Browser.php:282
+#: ../../Zotlabs/Storage/Browser.php:285
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Du bruker %1$s av din tilgjengelige lagringsplass."
-#: ../../Zotlabs/Storage/Browser.php:287
+#: ../../Zotlabs/Storage/Browser.php:290
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Du bruker %1$s av %2$s tilgjengelig lagringsplass (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:299
+#: ../../Zotlabs/Storage/Browser.php:302
msgid "WARNING:"
msgstr "ADVARSEL:"
-#: ../../Zotlabs/Storage/Browser.php:302
+#: ../../Zotlabs/Storage/Browser.php:305
msgid "Create new folder"
msgstr "Lag ny mappe"
-#: ../../Zotlabs/Storage/Browser.php:304
+#: ../../Zotlabs/Storage/Browser.php:307
msgid "Upload file"
msgstr "Last opp fil"
-#: ../../Zotlabs/Web/Router.php:45 ../../include/attach.php:140
-#: ../../include/attach.php:188 ../../include/attach.php:251
-#: ../../include/attach.php:265 ../../include/attach.php:272
-#: ../../include/attach.php:337 ../../include/attach.php:351
-#: ../../include/attach.php:358 ../../include/attach.php:436
-#: ../../include/attach.php:888 ../../include/attach.php:959
-#: ../../include/attach.php:1111 ../../include/chat.php:133
-#: ../../include/photos.php:29 ../../include/items.php:4575
-#: ../../index.php:180 ../../mod/achievements.php:30 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/appman.php:66 ../../mod/authtest.php:13
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/blocks.php:69
-#: ../../mod/blocks.php:76 ../../mod/bookmarks.php:48
-#: ../../mod/channel.php:100 ../../mod/channel.php:217
-#: ../../mod/channel.php:257 ../../mod/chat.php:94 ../../mod/chat.php:99
-#: ../../mod/common.php:35 ../../mod/connections.php:29
-#: ../../mod/connedit.php:355 ../../mod/editblock.php:65
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
-#: ../../mod/editwebpage.php:125 ../../mod/events.php:260
-#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
-#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
-#: ../../mod/fsuggest.php:78 ../../mod/group.php:9 ../../mod/id.php:71
-#: ../../mod/invite.php:13 ../../mod/invite.php:87 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:1056 ../../mod/layouts.php:69
-#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/like.php:177
-#: ../../mod/locs.php:83 ../../mod/mail.php:126 ../../mod/manage.php:6
-#: ../../mod/menu.php:74 ../../mod/message.php:16 ../../mod/mitem.php:111
-#: ../../mod/mood.php:112 ../../mod/network.php:12
-#: ../../mod/new_channel.php:73 ../../mod/new_channel.php:100
-#: ../../mod/notifications.php:66 ../../mod/page.php:31 ../../mod/page.php:86
-#: ../../mod/pdledit.php:22 ../../mod/photos.php:70 ../../mod/poke.php:133
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/profile_photo.php:289 ../../mod/profile_photo.php:302
-#: ../../mod/profiles.php:198 ../../mod/profiles.php:584
-#: ../../mod/rate.php:111 ../../mod/register.php:73 ../../mod/regmod.php:17
-#: ../../mod/service_limits.php:7 ../../mod/settings.php:579
-#: ../../mod/setup.php:230 ../../mod/sharedwithme.php:7
-#: ../../mod/sources.php:66 ../../mod/suggest.php:26 ../../mod/thing.php:270
-#: ../../mod/thing.php:290 ../../mod/thing.php:327
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/webpages.php:69
-#: ../../mod/cover_photo.php:273 ../../mod/cover_photo.php:286
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Tillatelse avvist"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Cover_photo.php:277
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:69
+#: ../../Zotlabs/Module/Editwebpage.php:90
+#: ../../Zotlabs/Module/Editwebpage.php:105
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Filestorage.php:79
+#: ../../Zotlabs/Module/Filestorage.php:94
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Profile_photo.php:256
+#: ../../Zotlabs/Module/Profile_photo.php:269
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Viewconnections.php:25
+#: ../../Zotlabs/Module/Viewconnections.php:30
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:437 ../../include/attach.php:895
+#: ../../include/attach.php:966 ../../include/attach.php:1118
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Tillatelse avslått."
-#: ../../Zotlabs/Web/Router.php:101 ../../mod/help.php:217
+#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
msgid "Not Found"
msgstr "Ikke funnet"
-#: ../../Zotlabs/Web/Router.php:104 ../../mod/block.php:75
-#: ../../mod/display.php:110 ../../mod/help.php:220 ../../mod/page.php:89
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
+#: ../../Zotlabs/Module/Page.php:93
msgid "Page not found."
msgstr "Siden ikke funnet."
-#: ../../include/Contact.php:101 ../../include/widgets.php:147
-#: ../../include/widgets.php:185 ../../include/identity.php:954
-#: ../../include/conversation.php:961 ../../mod/directory.php:321
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
-msgid "Connect"
-msgstr "Koble"
-
-#: ../../include/Contact.php:118
-msgid "New window"
-msgstr "Nytt vindu"
-
-#: ../../include/Contact.php:119
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Åpne det valgte stedet i et annet vindu eller nettleser-fane"
-
-#: ../../include/Contact.php:237
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Brukeren '%s' er slettet"
-
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Ingen brukernavn ble funnet i importfilen."
-
-#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Klarte ikke å lage en unik kanaladresse. Import mislyktes."
-
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:496
-msgid "Import completed."
-msgstr "Import ferdig."
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Ikke en gyldig e-postadresse"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Din e-postadresse er allerede registrert på dette nettstedet."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "En invitasjon er påkrevd."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Invitasjon kunne ikke bekreftes."
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Vennligst skriv inn nødvendig informasjon."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Mislyktes med å lagre kontoinformasjon."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registreringsbekreftelse for %s"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registreringsforespørsel hos %s"
-
-#: ../../include/account.php:317 ../../include/account.php:344
-#: ../../include/account.php:404 ../../include/network.php:1660
-msgid "Administrator"
-msgstr "Administrator"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "ditt registreringspassord"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registreringsdetaljer for %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Konto godkjent."
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrering trukket tilbake for %s"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Konto bekreftet. Vennligst logg inn."
-
-#: ../../include/account.php:719 ../../include/account.php:721
-msgid "Click here to upgrade."
-msgstr "Klikk her for å oppgradere."
-
-#: ../../include/account.php:727
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan."
-
-#: ../../include/account.php:732
-msgid "This action is not available under your subscription plan."
-msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan."
-
-#: ../../include/acl_selectors.php:218
-msgid "Visible to your default audience"
-msgstr "Synlig for ditt standard publikum"
-
-#: ../../include/acl_selectors.php:243
-msgid "Show"
-msgstr "Vis"
-
-#: ../../include/acl_selectors.php:244
-msgid "Don't show"
-msgstr "Ikke vis"
-
-#: ../../include/acl_selectors.php:249
-msgid "Other networks and post services"
-msgstr "Andre nettverk og innleggstjenester"
-
-#: ../../include/acl_selectors.php:251 ../../mod/chat.php:211
-#: ../../mod/filestorage.php:147 ../../mod/photos.php:639
-#: ../../mod/photos.php:1012 ../../mod/thing.php:309 ../../mod/thing.php:355
-msgid "Permissions"
-msgstr "Tillatelser"
-
-#: ../../include/acl_selectors.php:252 ../../include/ItemObject.php:384
-#: ../../mod/photos.php:1229
-msgid "Close"
-msgstr "Lukk"
-
-#: ../../include/activities.php:42
-msgid " and "
-msgstr "og"
-
-#: ../../include/activities.php:50
-msgid "public profile"
-msgstr "offentlig profil"
-
-#: ../../include/activities.php:59
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s endret %2$s til &ldquo;%3$s&rdquo;"
-
-#: ../../include/activities.php:60
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besøk %1$s sitt %2$s"
-
-#: ../../include/activities.php:63
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s har oppdatert %2$s, endret %3$s."
-
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Offentlig tidslinje"
-
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Nettstedsadministrator"
-
-#: ../../include/apps.php:129 ../../include/nav.php:104
-#: ../../include/conversation.php:1685
-msgid "Bookmarks"
-msgstr "Bokmerker"
-
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Adressebok"
-
-#: ../../include/apps.php:131 ../../include/nav.php:112 ../../boot.php:1543
-msgid "Login"
-msgstr "Logg inn"
-
-#: ../../include/apps.php:132 ../../include/nav.php:203
-#: ../../mod/manage.php:162
-msgid "Channel Manager"
-msgstr "Kanalstyring"
-
-#: ../../include/apps.php:133 ../../include/nav.php:176
-msgid "Grid"
-msgstr "Nett"
-
-#: ../../include/apps.php:134 ../../include/nav.php:205
-#: ../../include/widgets.php:580 ../../mod/admin.php:1266
-#: ../../mod/admin.php:1488
-msgid "Settings"
-msgstr "Innstillinger"
-
-#: ../../include/apps.php:136 ../../include/nav.php:108
-#: ../../include/conversation.php:1695 ../../mod/webpages.php:180
-msgid "Webpages"
-msgstr "Websider"
-
-#: ../../include/apps.php:137 ../../include/nav.php:179
-msgid "Channel Home"
-msgstr "Kanalhjem"
-
-#: ../../include/apps.php:138 ../../include/identity.php:1359
-#: ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profil"
-
-#: ../../include/apps.php:139 ../../include/nav.php:92
-#: ../../include/conversation.php:1641 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Bilder"
-
-#: ../../include/apps.php:140 ../../include/nav.php:198
-#: ../../include/conversation.php:1658 ../../include/conversation.php:1661
-msgid "Events"
-msgstr "Hendelser"
-
-#: ../../include/apps.php:141 ../../include/nav.php:164
-msgid "Directory"
-msgstr "Katalog"
-
-#: ../../include/apps.php:142 ../../include/nav.php:155 ../../mod/help.php:208
-#: ../../mod/help.php:213 ../../mod/layouts.php:176
-msgid "Help"
-msgstr "Hjelp"
-
-#: ../../include/apps.php:143 ../../include/nav.php:190
-msgid "Mail"
-msgstr "Melding"
-
-#: ../../include/apps.php:144 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Stemning"
-
-#: ../../include/apps.php:145 ../../include/conversation.php:965
-#: ../../mod/poke.php:164
-msgid "Poke"
-msgstr "Prikk"
-
-#: ../../include/apps.php:146 ../../include/nav.php:98
-msgid "Chat"
-msgstr "Chat"
-
-#: ../../include/apps.php:147 ../../include/nav.php:161
-#: ../../include/text.php:885 ../../include/text.php:897
-#: ../../mod/connections.php:302 ../../mod/search.php:40
-msgid "Search"
-msgstr "Søk"
-
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Undersøk"
-
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Forreslå"
-
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Tilfeldig kanal"
-
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Inviter"
-
-#: ../../include/apps.php:152 ../../include/widgets.php:1296
-msgid "Features"
-msgstr "Funksjoner"
-
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Språk"
-
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Innlegg"
-
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Profilbilde"
-
-#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:623
-msgid "Update"
-msgstr "Oppdater"
-
-#: ../../include/apps.php:252
-msgid "Install"
-msgstr "Installer"
-
-#: ../../include/apps.php:257
-msgid "Purchase"
-msgstr "Kjøp"
-
-#: ../../include/attach.php:246 ../../include/attach.php:332
-msgid "Item was not found."
-msgstr "Elementet ble ikke funnet."
-
-#: ../../include/attach.php:496
-msgid "No source file."
-msgstr "Ingen kildefil."
-
-#: ../../include/attach.php:518
-msgid "Cannot locate file to replace"
-msgstr "Kan ikke finne filen som skal byttes ut"
-
-#: ../../include/attach.php:536
-msgid "Cannot locate file to revise/update"
-msgstr "Finner ikke filen som skal revideres/oppdateres"
-
-#: ../../include/attach.php:671
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Filens størrelse overgår grensen på %d"
-
-#: ../../include/attach.php:685
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."
-
-#: ../../include/attach.php:841
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."
-
-#: ../../include/attach.php:854
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."
-
-#: ../../include/attach.php:902 ../../include/attach.php:918
-msgid "Path not available."
-msgstr "Stien er ikke tilgjengelig."
-
-#: ../../include/attach.php:964 ../../include/attach.php:1116
-msgid "Empty pathname"
-msgstr "Tomt sti-navn"
-
-#: ../../include/attach.php:990
-msgid "duplicate filename or path"
-msgstr "duplikat av filnavn eller sti"
-
-#: ../../include/attach.php:1012
-msgid "Path not found."
-msgstr "Stien ble ikke funnet."
-
-#: ../../include/attach.php:1070
-msgid "mkdir failed."
-msgstr "mkdir mislyktes."
-
-#: ../../include/attach.php:1074
-msgid "database storage failed."
-msgstr "databaselagring mislyktes."
-
-#: ../../include/attach.php:1122
-msgid "Empty path"
-msgstr "Tom sti"
-
-#: ../../include/auth.php:132
-msgid "Logged out."
-msgstr "Logget ut."
-
-#: ../../include/auth.php:273
-msgid "Failed authentication"
-msgstr "Mislykket autentisering"
-
-#: ../../include/auth.php:287 ../../mod/openid.php:189
-msgid "Login failed."
-msgstr "Innlogging mislyktes."
-
-#: ../../include/bb2diaspora.php:376
-msgid "Attachments:"
-msgstr "Vedlegg:"
-
-#: ../../include/bb2diaspora.php:465 ../../include/event.php:22
-#: ../../include/text.php:1418
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
-
-#: ../../include/bb2diaspora.php:467
-msgid "$Projectname event notification:"
-msgstr "$Projectname hendelsesvarsling:"
-
-#: ../../include/bb2diaspora.php:471 ../../include/event.php:30
-#: ../../include/text.php:1422
-msgid "Starts:"
-msgstr "Starter:"
-
-#: ../../include/bb2diaspora.php:479 ../../include/event.php:40
-#: ../../include/text.php:1426
-msgid "Finishes:"
-msgstr "Slutter:"
-
-#: ../../include/bb2diaspora.php:487 ../../include/event.php:52
-#: ../../include/text.php:1433 ../../include/identity.php:1005
-#: ../../mod/directory.php:307
-msgid "Location:"
-msgstr "Plassering:"
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:794
-#: ../../include/bbcode.php:797 ../../include/bbcode.php:802
-#: ../../include/bbcode.php:805 ../../include/bbcode.php:808
-#: ../../include/bbcode.php:811 ../../include/bbcode.php:816
-#: ../../include/bbcode.php:819 ../../include/bbcode.php:824
-#: ../../include/bbcode.php:827 ../../include/bbcode.php:830
-#: ../../include/bbcode.php:833
-msgid "Image/photo"
-msgstr "Bilde/fotografi"
-
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:844
-msgid "Encrypted content"
-msgstr "Kryptert innhold"
-
-#: ../../include/bbcode.php:179
-#, php-format
-msgid "Install %s element: "
-msgstr "Installer %s element:"
-
-#: ../../include/bbcode.php:183
-#, php-format
+#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet."
-
-#: ../../include/bbcode.php:193 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "nettside"
-
-#: ../../include/bbcode.php:196 ../../mod/impel.php:47
-msgid "layout"
-msgstr "layout"
-
-#: ../../include/bbcode.php:199 ../../mod/impel.php:42
-msgid "block"
-msgstr "byggekloss"
-
-#: ../../include/bbcode.php:202 ../../mod/impel.php:54
-msgid "menu"
-msgstr "meny"
-
-#: ../../include/bbcode.php:257
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s skrev følgende %2$s %3$s"
-
-#: ../../include/bbcode.php:259 ../../mod/tagger.php:51
-msgid "post"
-msgstr "innlegg"
-
-#: ../../include/bbcode.php:547
-msgid "Different viewers will see this text differently"
-msgstr "Denne teksten vil se forskjellig ut for ulike besøkende"
-
-#: ../../include/bbcode.php:755
-msgid "$1 spoiler"
-msgstr "$1 avsløring"
-
-#: ../../include/bbcode.php:782
-msgid "$1 wrote:"
-msgstr "$1 skrev:"
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$s sine bokmerker"
-
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Mangler romnavn"
-
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Duplikat romnavn"
-
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Ugyldig rom-spesifisering"
-
-#: ../../include/chat.php:122
-msgid "Room not found."
-msgstr "Rommet ble ikke funnet."
-
-#: ../../include/chat.php:143
-msgid "Room is full"
-msgstr "Rommet er fullt"
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:366
-msgid "Default"
-msgstr "Standard"
-
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitasjon tilgjengelig"
-msgstr[1] "%d invitasjoner tilgjengelig"
-
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:461
-msgid "Advanced"
-msgstr "Avansert"
-
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Finn kanaler"
-
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Skriv navn eller interesse"
-
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Forbindelse/Følg"
-
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Eksempler: Ola Nordmann, fisking"
-
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:305
-#: ../../mod/directory.php:384 ../../mod/directory.php:389
-msgid "Find"
-msgstr "Finn"
-
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:388
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Kanalforslag"
-
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Tilfeldig profil"
-
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Inviter venner"
-
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Avansert eksempel: navn=fred og land=island"
-
-#: ../../include/contact_widgets.php:57 ../../include/features.php:96
-#: ../../include/widgets.php:314
-msgid "Saved Folders"
-msgstr "Lagrede mapper"
-
-#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98
-#: ../../include/widgets.php:317
-msgid "Everything"
-msgstr "Alt"
-
-#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:282
-#: ../../include/widgets.php:46
-msgid "Categories"
-msgstr "Kategorier"
-
-#: ../../include/contact_widgets.php:128
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d forbindelse felles"
-msgstr[1] "%d forbindelser felles"
-
-#: ../../include/contact_widgets.php:133
-msgid "show more"
-msgstr "vis mer"
-
-#: ../../include/dba/dba_driver.php:141
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kan ikke finne DNS-informasjon om databasetjener '%s'"
-
-#: ../../include/dir_fns.php:139
-msgid "Directory Options"
-msgstr "Kataloginnstillinger"
-
-#: ../../include/dir_fns.php:141
-msgid "Safe Mode"
-msgstr "Trygt modus"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:102
-#: ../../mod/connedit.php:368 ../../mod/connedit.php:646
-#: ../../mod/events.php:454 ../../mod/events.php:455 ../../mod/events.php:464
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:634 ../../mod/admin.php:425 ../../mod/removeme.php:60
-#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1547
-msgid "No"
-msgstr "Nei"
-
-#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
-#: ../../include/dir_fns.php:143 ../../mod/api.php:101
-#: ../../mod/connedit.php:368 ../../mod/events.php:454
-#: ../../mod/events.php:455 ../../mod/events.php:464
-#: ../../mod/filestorage.php:151 ../../mod/filestorage.php:159
-#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229
-#: ../../mod/photos.php:634 ../../mod/admin.php:427 ../../mod/removeme.php:60
-#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1547
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../include/dir_fns.php:142
-msgid "Public Forums Only"
-msgstr "Bare offentlige forum"
-
-#: ../../include/dir_fns.php:143
-msgid "This Website Only"
-msgstr "Kun dette nettstedet"
-
-#: ../../include/event.php:779
-msgid "This event has been added to your calendar."
-msgstr "Denne hendelsen er lagt til i din kalender."
-
-#: ../../include/event.php:915 ../../include/text.php:1951
-#: ../../include/conversation.php:123 ../../mod/events.php:249
-#: ../../mod/like.php:363 ../../mod/tagger.php:47
-msgid "event"
-msgstr "hendelse"
-
-#: ../../include/event.php:978
-msgid "Not specified"
-msgstr "Ikke spesifisert"
-
-#: ../../include/event.php:979
-msgid "Needs Action"
-msgstr "Trenger handling"
-
-#: ../../include/event.php:980
-msgid "Completed"
-msgstr "Ferdig"
-
-#: ../../include/event.php:981
-msgid "In Process"
-msgstr "Igang"
-
-#: ../../include/event.php:982
-msgid "Cancelled"
-msgstr "Avbrutt"
-
-#: ../../include/follow.php:28
-msgid "Channel is blocked on this site."
-msgstr "Kanalen er blokkert på dette nettstedet."
-
-#: ../../include/follow.php:33
-msgid "Channel location missing."
-msgstr "Kanalplassering mangler."
-
-#: ../../include/follow.php:82
-msgid "Response from remote channel was incomplete."
-msgstr "Svaret fra den andre kanalen var ikke komplett."
-
-#: ../../include/follow.php:99
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanalen er slettet og finnes ikke lenger."
-
-#: ../../include/follow.php:153 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protokollen er avskrudd."
-
-#: ../../include/follow.php:173
-msgid "Channel discovery failed."
-msgstr "Kanaloppdagelse mislyktes."
-
-#: ../../include/follow.php:199
-msgid "local account not found."
-msgstr "lokal konto ble ikke funnet."
-
-#: ../../include/follow.php:224
-msgid "Cannot connect to yourself."
-msgstr "Kan ikke lage forbindelse med deg selv."
-
-#: ../../include/import.php:23
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr "Kanalkloning mislyktes. Import mislyktes."
-
-#: ../../include/import.php:80 ../../mod/import.php:148
-msgid "Cloned channel not found. Import failed."
-msgstr "Klonet kanal ble ikke funnet. Import mislyktes."
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Slett dette elementet?"
-
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:702
-#: ../../mod/photos.php:1058 ../../mod/photos.php:1176
-msgid "Comment"
-msgstr "Kommentar"
-
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413
-msgid "[+] show all"
-msgstr "[+] Vis alle"
-
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] Vis mindre"
-
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] Utvid"
-
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] Lukk"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Passordet er for kort"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Passordene er ikke like"
-
-#: ../../include/js_strings.php:13 ../../mod/photos.php:41
-#: ../../mod/cal.php:37
-msgid "everybody"
-msgstr "alle"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Hemmelig passordsetning"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Hint om passordsetning"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn."
-
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "Lukk alle"
-
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Ikke noe nytt her"
-
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Vurder denne kanalen (dette er offentlig)"
-
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:705
-#: ../../mod/rate.php:157
-msgid "Rating"
-msgstr "Vurdering"
-
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Beskriv (valgfritt)"
-
-#: ../../include/js_strings.php:22 ../../include/widgets.php:702
-#: ../../include/widgets.php:714 ../../include/ItemObject.php:703
-#: ../../mod/appman.php:99 ../../mod/chat.php:184 ../../mod/chat.php:213
-#: ../../mod/connect.php:93 ../../mod/connedit.php:722
-#: ../../mod/events.php:468 ../../mod/events.php:665
-#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
-#: ../../mod/group.php:81 ../../mod/import.php:536
-#: ../../mod/import_items.php:116 ../../mod/invite.php:142
-#: ../../mod/locs.php:116 ../../mod/mail.php:380 ../../mod/mitem.php:231
-#: ../../mod/mood.php:135 ../../mod/pconfig.php:108 ../../mod/pdledit.php:62
-#: ../../mod/photos.php:645 ../../mod/photos.php:1019
-#: ../../mod/photos.php:1059 ../../mod/photos.php:1177 ../../mod/admin.php:457
-#: ../../mod/admin.php:646 ../../mod/admin.php:721 ../../mod/admin.php:986
-#: ../../mod/admin.php:1150 ../../mod/admin.php:1326 ../../mod/admin.php:1521
-#: ../../mod/admin.php:1606 ../../mod/poke.php:182 ../../mod/profiles.php:675
-#: ../../mod/rate.php:168 ../../mod/settings.php:597
-#: ../../mod/settings.php:710 ../../mod/settings.php:738
-#: ../../mod/settings.php:761 ../../mod/settings.php:849
-#: ../../mod/settings.php:1041 ../../mod/setup.php:333 ../../mod/setup.php:374
-#: ../../mod/sources.php:104 ../../mod/sources.php:138 ../../mod/thing.php:312
-#: ../../mod/thing.php:358 ../../mod/xchan.php:11 ../../mod/cal.php:332
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Send"
-
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Vennligst skriv inn en lenke URL:"
-
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?"
-
-#: ../../include/js_strings.php:25 ../../mod/events.php:459
-#: ../../mod/profiles.php:464 ../../mod/pubsites.php:36
-msgid "Location"
-msgstr "Plassering"
-
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
-
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
-
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "siden"
-
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "fra nå"
-
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
-msgstr "mindre enn ett minutt"
-
-#: ../../include/js_strings.php:32
-msgid "about a minute"
-msgstr "omtrent et minutt"
-
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
-msgstr "%d minutter"
-
-#: ../../include/js_strings.php:34
-msgid "about an hour"
-msgstr "omtrent en time"
-
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
-msgstr "omtrent %d timer"
-
-#: ../../include/js_strings.php:36
-msgid "a day"
-msgstr "en dag"
-
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
-msgstr "%d dager"
-
-#: ../../include/js_strings.php:38
-msgid "about a month"
-msgstr "omtrent en måned"
-
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
-msgstr "%d måneder"
-
-#: ../../include/js_strings.php:40
-msgid "about a year"
-msgstr "omtrent et år"
-
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
-msgstr "%d år"
-
-#: ../../include/js_strings.php:42
-msgid " "
-msgstr " "
-
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/js_strings.php:45 ../../include/text.php:1191
-msgid "January"
-msgstr "januar"
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1191
-msgid "February"
-msgstr "februar"
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1191
-msgid "March"
-msgstr "mars"
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1191
-msgid "April"
-msgstr "april"
-
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
-msgstr "mai"
-
-#: ../../include/js_strings.php:50 ../../include/text.php:1191
-msgid "June"
-msgstr "juni"
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1191
-msgid "July"
-msgstr "juli"
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1191
-msgid "August"
-msgstr "august"
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1191
-msgid "September"
-msgstr "september"
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1191
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1191
-msgid "November"
-msgstr "november"
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1191
-msgid "December"
-msgstr "desember"
-
-#: ../../include/js_strings.php:57
-msgid "Jan"
-msgstr "Jan"
-
-#: ../../include/js_strings.php:58
-msgid "Feb"
-msgstr "Feb"
-
-#: ../../include/js_strings.php:59
-msgid "Mar"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:60
-msgid "Apr"
-msgstr "Apr"
-
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
-msgstr "mai"
-
-#: ../../include/js_strings.php:62
-msgid "Jun"
-msgstr "Jun"
-
-#: ../../include/js_strings.php:63
-msgid "Jul"
-msgstr "Jul"
-
-#: ../../include/js_strings.php:64
-msgid "Aug"
-msgstr "Aug"
-
-#: ../../include/js_strings.php:65
-msgid "Sep"
-msgstr "Sep"
-
-#: ../../include/js_strings.php:66
-msgid "Oct"
-msgstr "Okt"
-
-#: ../../include/js_strings.php:67
-msgid "Nov"
-msgstr "Nov"
-
-#: ../../include/js_strings.php:68
-msgid "Dec"
-msgstr "Des"
-
-#: ../../include/js_strings.php:69 ../../include/text.php:1187
-msgid "Sunday"
-msgstr "søndag"
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1187
-msgid "Monday"
-msgstr "mandag"
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1187
-msgid "Tuesday"
-msgstr "tirsdag"
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1187
-msgid "Wednesday"
-msgstr "onsdag"
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1187
-msgid "Thursday"
-msgstr "torsdag"
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1187
-msgid "Friday"
-msgstr "fredag"
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1187
-msgid "Saturday"
-msgstr "lørdag"
-
-#: ../../include/js_strings.php:76
-msgid "Sun"
-msgstr "Søn"
-
-#: ../../include/js_strings.php:77
-msgid "Mon"
-msgstr "Man"
-
-#: ../../include/js_strings.php:78
-msgid "Tue"
-msgstr "Tirs"
-
-#: ../../include/js_strings.php:79
-msgid "Wed"
-msgstr "Ons"
-
-#: ../../include/js_strings.php:80
-msgid "Thu"
-msgstr "Tors"
-
-#: ../../include/js_strings.php:81
-msgid "Fri"
-msgstr "Fre"
-
-#: ../../include/js_strings.php:82
-msgid "Sat"
-msgstr "Lør"
-
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
-msgstr "idag"
-
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
-msgstr "måned"
-
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
-msgstr "uke"
-
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
-msgstr "dag"
-
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
-msgstr "Hele dagen"
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Ingen mottaker angitt."
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[ikke noe emne]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Kan ikke avgjøre avsender."
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Lagret innlegg kunne ikke bekreftes."
-
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1542
-msgid "Logout"
-msgstr "Logg ut"
-
-#: ../../include/nav.php:82 ../../include/nav.php:115
-msgid "End this session"
-msgstr "Avslutt denne økten"
-
-#: ../../include/nav.php:85 ../../include/nav.php:146
-msgid "Home"
-msgstr "Hjem"
-
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "Dine innlegg og samtaler"
-
-#: ../../include/nav.php:86 ../../include/conversation.php:959
-#: ../../mod/connedit.php:509
-msgid "View Profile"
-msgstr "Vis profil"
-
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Din profilside"
-
-#: ../../include/nav.php:88
-msgid "Edit Profiles"
-msgstr "Endre profiler"
-
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Håndter/endre profiler"
-
-#: ../../include/nav.php:90 ../../include/identity.php:977
-msgid "Edit Profile"
-msgstr "Endre profil"
-
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Endre din profil"
-
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Dine bilder"
-
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "Dine filer"
-
-#: ../../include/nav.php:98
-msgid "Your chatrooms"
-msgstr "Dine chatterom"
-
-#: ../../include/nav.php:104
-msgid "Your bookmarks"
-msgstr "Dine bokmerker"
-
-#: ../../include/nav.php:108
-msgid "Your webpages"
-msgstr "Dine websider"
-
-#: ../../include/nav.php:112
-msgid "Sign in"
-msgstr "Logg på"
-
-#: ../../include/nav.php:129
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klikk for å logge ut"
-
-#: ../../include/nav.php:132
-msgid "Remote authentication"
-msgstr "Fjernautentisering"
-
-#: ../../include/nav.php:132
-msgid "Click to authenticate to your home hub"
-msgstr "Klikk for å godkjennes mot din hjemme-hub"
-
-#: ../../include/nav.php:146
-msgid "Home Page"
-msgstr "Hjemmeside"
-
-#: ../../include/nav.php:150 ../../mod/register.php:258 ../../boot.php:1525
-msgid "Register"
-msgstr "Registrer"
-
-#: ../../include/nav.php:150
-msgid "Create an account"
-msgstr "Lag en konto"
-
-#: ../../include/nav.php:155
-msgid "Help and documentation"
-msgstr "Hjelp og dokumentasjon"
-
-#: ../../include/nav.php:159 ../../include/widgets.php:102
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Apper"
-
-#: ../../include/nav.php:159
-msgid "Applications, utilities, links, games"
-msgstr "Programmer, verktøy, lenker, spill"
-
-#: ../../include/nav.php:161
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold"
-
-#: ../../include/nav.php:164
-msgid "Channel Directory"
-msgstr "Kanalkatalog"
-
-#: ../../include/nav.php:176
-msgid "Your grid"
-msgstr "Ditt nett"
-
-#: ../../include/nav.php:177
-msgid "Mark all grid notifications seen"
-msgstr "Marker alle nettvarsler som sett"
-
-#: ../../include/nav.php:179
-msgid "Channel home"
-msgstr "Kanalhjem"
-
-#: ../../include/nav.php:180
-msgid "Mark all channel notifications seen"
-msgstr "Merk alle kanalvarsler som sett"
-
-#: ../../include/nav.php:183 ../../include/text.php:815
-#: ../../mod/connections.php:298
-msgid "Connections"
-msgstr "Forbindelser"
-
-#: ../../include/nav.php:186
-msgid "Notices"
-msgstr "Varsel"
-
-#: ../../include/nav.php:186
-msgid "Notifications"
-msgstr "Varsler"
-
-#: ../../include/nav.php:187
-msgid "See all notifications"
-msgstr "Se alle varsler"
-
-#: ../../include/nav.php:188 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Merk alle systemvarsler som sett"
-
-#: ../../include/nav.php:190
-msgid "Private mail"
-msgstr "Privat post"
-
-#: ../../include/nav.php:191
-msgid "See all private messages"
-msgstr "Se alle private meldinger"
-
-#: ../../include/nav.php:192
-msgid "Mark all private messages seen"
-msgstr "Merk alle private meldinger som sett"
-
-#: ../../include/nav.php:193 ../../include/widgets.php:601
-msgid "Inbox"
-msgstr "Innboks"
-
-#: ../../include/nav.php:194 ../../include/widgets.php:606
-msgid "Outbox"
-msgstr "Utboks"
-
-#: ../../include/nav.php:195 ../../include/widgets.php:611
-msgid "New Message"
-msgstr "Ny melding"
-
-#: ../../include/nav.php:198
-msgid "Event Calendar"
-msgstr "Kalender"
-
-#: ../../include/nav.php:199
-msgid "See all events"
-msgstr "Se alle hendelser"
-
-#: ../../include/nav.php:200
-msgid "Mark all events seen"
-msgstr "Merk alle hendelser som sett"
-
-#: ../../include/nav.php:203
-msgid "Manage Your Channels"
-msgstr "Håndter dine kanaler"
-
-#: ../../include/nav.php:205
-msgid "Account/Channel Settings"
-msgstr "Konto-/kanal-innstillinger"
-
-#: ../../include/nav.php:213 ../../include/widgets.php:1323
-msgid "Admin"
-msgstr "Administrator"
-
-#: ../../include/nav.php:213
-msgid "Site Setup and Configuration"
-msgstr "Nettstedsoppsett og -konfigurasjon"
-
-#: ../../include/nav.php:244 ../../include/conversation.php:854
-msgid "Loading..."
-msgstr "Laster..."
-
-#: ../../include/nav.php:249
-msgid "@name, #tag, ?doc, content"
-msgstr "@navn, #merkelapp, ?dokumentasjon, innhold"
-
-#: ../../include/nav.php:250
-msgid "Please wait..."
-msgstr "Vennligst vent..."
-
-#: ../../include/notify.php:20
-msgid "created a new post"
-msgstr "laget et nytt innlegg"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt."
-#: ../../include/notify.php:21
+#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
+#: ../../Zotlabs/Module/Openid.php:183
#, php-format
-msgid "commented on %s's post"
-msgstr "kommenterte på %s sitt innlegg"
-
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Ny side"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Velkommen %s. Ekstern autentisering er vellykket."
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159
-#: ../../mod/layouts.php:188 ../../mod/pubsites.php:42
-#: ../../mod/webpages.php:189
-msgid "View"
-msgstr "Vis"
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:33
+#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+msgid "Requested profile is not available."
+msgstr "Forespurt profil er ikke tilgjengelig."
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1179
-#: ../../include/ItemObject.php:712 ../../mod/editblock.php:171
-#: ../../mod/editpost.php:149 ../../mod/editwebpage.php:212
-#: ../../mod/events.php:465 ../../mod/photos.php:1060
-#: ../../mod/webpages.php:190
-msgid "Preview"
-msgstr "Forhåndsvisning"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "En standardtekst om hva du bør gjøre som ny her"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:191
-msgid "Actions"
-msgstr "Handlinger"
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
+#: ../../Zotlabs/Module/Editblock.php:108
+msgid "Block Name"
+msgstr "Byggeklossens navn"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:192
-msgid "Page Link"
-msgstr "Sidelenke"
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
+msgid "Blocks"
+msgstr "Byggeklosser"
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Tittel"
+#: ../../Zotlabs/Module/Blocks.php:153
+msgid "Block Title"
+msgstr "Byggeklossens tittel"
-#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150
-#: ../../mod/layouts.php:181 ../../mod/menu.php:110 ../../mod/webpages.php:194
+#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
+#: ../../include/page_widgets.php:44
msgid "Created"
msgstr "Laget"
-#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151
-#: ../../mod/layouts.php:182 ../../mod/menu.php:111 ../../mod/webpages.php:195
+#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
+#: ../../include/page_widgets.php:45
msgid "Edited"
msgstr "Endret"
-#: ../../include/photo/photo_driver.php:722 ../../mod/photos.php:94
-#: ../../mod/photos.php:711 ../../mod/profile_photo.php:147
-#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:327
-msgid "Profile Photos"
-msgstr "Profilbilder"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
-msgid "Male"
-msgstr "Mannlig"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
-msgid "Female"
-msgstr "Kvinnelig"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "For tiden mann"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "For tiden kvinne"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "For det meste mann"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "For det meste kvinne"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transkjønnet"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "interkjønnet"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transseksuell"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafroditt"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Intetkjønn"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Ubestemt"
-
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871
-msgid "Other"
-msgstr "Annen"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Ubestemt"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
-msgstr "Menn"
-
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
-msgstr "Kvinner"
-
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
-msgstr "Homo"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
-msgstr "Lesbisk"
-
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
-msgstr "Ingen preferanse"
-
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
-msgstr "Biseksuell"
-
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
-msgstr "Autoseksuell"
-
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
-msgstr "Avholdende"
-
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
-msgstr "Jomfru"
-
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
-msgstr "Avviker"
-
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
-msgstr "Fetisj"
-
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
-msgstr "Masse"
-
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
-msgstr "Ikke-seksuell"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
-msgstr "Enslig"
-
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
-msgstr "Ensom"
-
-#: ../../include/profile_selectors.php:80
-msgid "Available"
-msgstr "Tilgjengelig"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
-msgstr "Ikke tilgjengelig"
-
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
-msgstr "Er forelsket"
-
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
-msgstr "Betatt"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
-msgstr "Sammen med"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
-msgstr "Utro"
-
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
-msgstr "Sexavhengig"
-
-#: ../../include/profile_selectors.php:80 ../../include/widgets.php:451
-#: ../../include/identity.php:390 ../../include/identity.php:391
-#: ../../include/identity.php:398 ../../mod/connedit.php:584
-#: ../../mod/settings.php:349 ../../mod/settings.php:353
-#: ../../mod/settings.php:354 ../../mod/settings.php:357
-#: ../../mod/settings.php:368
-msgid "Friends"
-msgstr "Venner"
-
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
-msgstr "Venner med frynsegoder"
-
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
-msgstr "Tilfeldig"
-
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
-msgstr "Forlovet"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
-msgstr "Gift"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
-msgstr "Gift i fantasien"
-
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
-msgstr "Partnere"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
-msgstr "Samboer"
-
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
-msgstr "Samboer"
-
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
-msgstr "Lykkelig"
-
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
-msgstr "Ikke på utkikk"
-
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
-msgstr "Partnerbytte"
-
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
-msgstr "Bedratt"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
-msgstr "Separert"
-
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
-msgstr "Ustabilt"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
-msgstr "Skilt"
-
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
-msgstr "Skilt i fantasien"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
-msgstr "Enke"
-
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
-msgstr "Usikkert"
-
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
-msgstr "Det er komplisert"
-
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
-msgstr "Bryr meg ikke"
-
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
-msgstr "Spør meg"
-
-#: ../../include/security.php:388
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."
-
-#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261
-msgid "Tags"
-msgstr "Merkelapper"
-
-#: ../../include/taxonomy.php:305
-msgid "Keywords"
-msgstr "Nøkkelord"
-
-#: ../../include/taxonomy.php:326
-msgid "have"
-msgstr "har"
-
-#: ../../include/taxonomy.php:326
-msgid "has"
-msgstr "har"
-
-#: ../../include/taxonomy.php:327
-msgid "want"
-msgstr "ønsker"
-
-#: ../../include/taxonomy.php:327
-msgid "wants"
-msgstr "ønsker"
-
-#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254
-msgid "like"
-msgstr "liker"
-
-#: ../../include/taxonomy.php:328
-msgid "likes"
-msgstr "liker"
-
-#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255
-msgid "dislike"
-msgstr "misliker"
-
-#: ../../include/taxonomy.php:329
-msgid "dislikes"
-msgstr "misliker"
-
-#: ../../include/taxonomy.php:415 ../../include/identity.php:1264
-#: ../../include/conversation.php:1751 ../../include/ItemObject.php:179
-#: ../../mod/photos.php:1097
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Liker"
-msgstr[1] "Liker"
-
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Forskjellig"
-
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "YYYY-MM-DD eller MM-DD"
-
-#: ../../include/datetime.php:236 ../../mod/appman.php:91
-#: ../../mod/appman.php:92 ../../mod/events.php:444 ../../mod/events.php:449
-msgid "Required"
-msgstr "Påkrevd"
-
-#: ../../include/datetime.php:263 ../../boot.php:2374
-msgid "never"
-msgstr "aldri"
-
-#: ../../include/datetime.php:269
-msgid "less than a second ago"
-msgstr "for mindre enn ett sekund siden"
-
-#: ../../include/datetime.php:287
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s siden"
-
-#: ../../include/datetime.php:298
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "år"
-msgstr[1] "år"
-
-#: ../../include/datetime.php:301
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "måned"
-msgstr[1] "måneder"
-
-#: ../../include/datetime.php:304
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "uke"
-msgstr[1] "uker"
-
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "dag"
-msgstr[1] "dager"
-
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "time"
-msgstr[1] "timer"
-
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minutt"
-msgstr[1] "minutter"
-
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "sekund"
-msgstr[1] "sekunder"
-
-#: ../../include/datetime.php:553
-#, php-format
-msgid "%1$s's birthday"
-msgstr "%1$s sin fødselsdag"
-
-#: ../../include/datetime.php:554
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gratulerer med dagen, %1$s !"
-
-#: ../../include/zot.php:675
-msgid "Invalid data packet"
-msgstr "Ugyldig datapakke"
-
-#: ../../include/zot.php:691
-msgid "Unable to verify channel signature"
-msgstr "Ikke i stand til å sjekke kanalsignaturen"
-
-#: ../../include/zot.php:2267
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Ikke i stand til å bekrefte signaturen til %s"
-
-#: ../../include/zot.php:3588
-msgid "invalid target signature"
-msgstr "Målets signatur er ugyldig"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Ofte"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Hver time"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "To ganger daglig"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Daglig"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ukentlig"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Månedlig"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:989 ../../mod/admin.php:998
-#: ../../boot.php:1545
-msgid "Email"
-msgstr "E-post"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot"
-msgstr "Zot"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/network.php:630
-msgid "view full size"
-msgstr "vis full størrelse"
-
-#: ../../include/network.php:1612 ../../include/enotify.php:57
-msgid "$Projectname Notification"
-msgstr "$Projectname varsling"
-
-#: ../../include/network.php:1613 ../../include/enotify.php:58
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1615 ../../include/enotify.php:60
-msgid "Thank You,"
-msgstr "Tusen takk,"
-
-#: ../../include/network.php:1617 ../../include/enotify.php:62
-#, php-format
-msgid "%s Administrator"
-msgstr "%s administrator"
-
-#: ../../include/network.php:1674
-msgid "No Subject"
-msgstr "Uten emne"
-
-#: ../../include/photos.php:112
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"
-
-#: ../../include/photos.php:119
-msgid "Image file is empty."
-msgstr "Bildefilen er tom."
-
-#: ../../include/photos.php:146 ../../mod/profile_photo.php:225
-#: ../../mod/cover_photo.php:164
-msgid "Unable to process image"
-msgstr "Kan ikke behandle bildet"
-
-#: ../../include/photos.php:257
-msgid "Photo storage failed."
-msgstr "Bildelagring mislyktes."
-
-#: ../../include/photos.php:297
-msgid "a new photo"
-msgstr "et nytt bilde"
-
-#: ../../include/photos.php:301
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s la inn %2$s til %3$s"
-
-#: ../../include/photos.php:506 ../../include/conversation.php:1644
-msgid "Photo Albums"
-msgstr "Fotoalbum"
-
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Last opp nye bilder"
-
-#: ../../include/features.php:48
-msgid "General Features"
-msgstr "Generelle funksjoner"
-
-#: ../../include/features.php:50
-msgid "Content Expiration"
-msgstr "Innholdet utløper"
-
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden"
-
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
-msgstr "Flere profiler"
-
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
-msgstr "Mulig å lage flere profiler"
-
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
-msgstr "Avanserte profiler"
-
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
-msgstr "Ytterlige seksjoner og utvalg til profilen"
-
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
-msgstr "Profil-import/-eksport"
-
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
-msgstr "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler"
-
-#: ../../include/features.php:54
-msgid "Web Pages"
-msgstr "Web-sider"
-
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
-msgstr "Tilby kontrollerte web-sider på din kanal"
-
-#: ../../include/features.php:55
-msgid "Hide Rating"
-msgstr "Skjul vurdering"
-
-#: ../../include/features.php:55
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Skjul vurderingsknappene for din kanal og profilsider. Merknad: folk kan fortsatt vurdere deg et annet sted."
-
-#: ../../include/features.php:56
-msgid "Private Notes"
-msgstr "Private merknader"
-
-#: ../../include/features.php:56
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Skru på et verktøy for å lagre notater og påminnelser (merknad: ikke kryptert)"
-
-#: ../../include/features.php:57
-msgid "Navigation Channel Select"
-msgstr "Navigasjon kanalvalg"
-
-#: ../../include/features.php:57
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Endre kanaler direkte fra navigasjonsmenyen"
-
-#: ../../include/features.php:58
-msgid "Photo Location"
-msgstr "Bildeplassering"
-
-#: ../../include/features.php:58
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart."
-
-#: ../../include/features.php:60
-msgid "Expert Mode"
-msgstr "Ekspertmodus"
-
-#: ../../include/features.php:60
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg"
-
-#: ../../include/features.php:61
-msgid "Premium Channel"
-msgstr "Premiumkanal"
-
-#: ../../include/features.php:61
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal"
-
-#: ../../include/features.php:66
-msgid "Post Composition Features"
-msgstr "Funksjoner for å lage innlegg"
-
-#: ../../include/features.php:68
-msgid "Use Markdown"
-msgstr "Bruk Markdown"
-
-#: ../../include/features.php:68
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Tillat bruk av \"Markdown\" til formatering av innlegg"
-
-#: ../../include/features.php:69
-msgid "Large Photos"
-msgstr "Store bilder"
-
-#: ../../include/features.php:69
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder."
-
-#: ../../include/features.php:70 ../../include/widgets.php:572
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanalkilder"
-
-#: ../../include/features.php:70
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Automatisk import av kanalinnhold fra andre kanaler eller strømmer"
-
-#: ../../include/features.php:71
-msgid "Even More Encryption"
-msgstr "Enda mer kryptering"
-
-#: ../../include/features.php:71
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel"
-
-#: ../../include/features.php:72
-msgid "Enable Voting Tools"
-msgstr "Skru på verktøy for å stemme"
-
-#: ../../include/features.php:72
-msgid "Provide a class of post which others can vote on"
-msgstr "Tilby en type innlegg som andre kan stemme på"
-
-#: ../../include/features.php:73
-msgid "Delayed Posting"
-msgstr "Tidfest publisering"
-
-#: ../../include/features.php:73
-msgid "Allow posts to be published at a later date"
-msgstr "Tillat innlegg å bli publisert på et senere tidspunkt"
-
-#: ../../include/features.php:74
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Forhindre duplikat av innlegg/kommentarer"
-
-#: ../../include/features.php:74
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene."
-
-#: ../../include/features.php:80
-msgid "Network and Stream Filtering"
-msgstr "Nettverk- og strømfiltrering"
-
-#: ../../include/features.php:81
-msgid "Search by Date"
-msgstr "Søk etter dato"
-
-#: ../../include/features.php:81
-msgid "Ability to select posts by date ranges"
-msgstr "Mulighet for å velge innlegg etter datoområde"
-
-#: ../../include/features.php:82 ../../include/group.php:295
-msgid "Privacy Groups"
-msgstr "Personverngrupper"
-
-#: ../../include/features.php:82
-msgid "Enable management and selection of privacy groups"
-msgstr "Skru på håndtering og valg av personverngrupper"
-
-#: ../../include/features.php:83 ../../include/widgets.php:284
-msgid "Saved Searches"
-msgstr "Lagrede søk"
-
-#: ../../include/features.php:83
-msgid "Save search terms for re-use"
-msgstr "Lagre søkeuttrykk for senere bruk"
-
-#: ../../include/features.php:84
-msgid "Network Personal Tab"
-msgstr "Nettverk personlig fane"
-
-#: ../../include/features.php:84
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i"
-
-#: ../../include/features.php:85
-msgid "Network New Tab"
-msgstr "Nettverk Ny fane"
-
-#: ../../include/features.php:85
-msgid "Enable tab to display all new Network activity"
-msgstr "Skru på fane for å vise all ny nettverksaktivitet"
-
-#: ../../include/features.php:86
-msgid "Affinity Tool"
-msgstr "Nærhetsverktøy"
-
-#: ../../include/features.php:86
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filtrer strømaktiviteten etter releasjonsdybde"
-
-#: ../../include/features.php:87
-msgid "Connection Filtering"
-msgstr "Filtrer forbindelser"
-
-#: ../../include/features.php:87
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold"
-
-#: ../../include/features.php:88
-msgid "Suggest Channels"
-msgstr "Foreslå kanaler"
-
-#: ../../include/features.php:88
-msgid "Show channel suggestions"
-msgstr "Vis kanalforslag"
-
-#: ../../include/features.php:93
-msgid "Post/Comment Tools"
-msgstr "Innlegg-/Kommentar-verktøy"
-
-#: ../../include/features.php:94
-msgid "Community Tagging"
-msgstr "Felleskapsmerkelapper"
-
-#: ../../include/features.php:94
-msgid "Ability to tag existing posts"
-msgstr "Mulighet til å merke eksisterende meldinger"
-
-#: ../../include/features.php:95
-msgid "Post Categories"
-msgstr "Innleggskategorier"
-
-#: ../../include/features.php:95
-msgid "Add categories to your posts"
-msgstr "Legg kategorier til dine innlegg"
-
-#: ../../include/features.php:96
-msgid "Ability to file posts under folders"
-msgstr "Mulighet til å sortere innlegg i mapper"
-
-#: ../../include/features.php:97
-msgid "Dislike Posts"
-msgstr "Mislik innlegg"
-
-#: ../../include/features.php:97
-msgid "Ability to dislike posts/comments"
-msgstr "Mulighet til å mislike innlegg/kommentarer"
-
-#: ../../include/features.php:98
-msgid "Star Posts"
-msgstr "Stjerneinnlegg"
-
-#: ../../include/features.php:98
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mulighet til å merke spesielle innlegg med en stjerne"
-
-#: ../../include/features.php:99
-msgid "Tag Cloud"
-msgstr "Merkelappsky"
-
-#: ../../include/features.php:99
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Tilby en personlig merkelappsky på din kanalside"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "System"
-
-#: ../../include/widgets.php:105 ../../include/conversation.php:1536
-msgid "Personal"
-msgstr "Personlig"
-
-#: ../../include/widgets.php:106
-msgid "Create Personal App"
-msgstr "Lag personlig app"
-
-#: ../../include/widgets.php:107
-msgid "Edit Personal App"
-msgstr "Endre personlig app"
-
-#: ../../include/widgets.php:149 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignorer/Skjul"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Forslag"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Se mer..."
-
-#: ../../include/widgets.php:176
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du har %1$.0f av %2$.0f tillate forbindelser."
-
-#: ../../include/widgets.php:182
-msgid "Add New Connection"
-msgstr "Legg til ny forbindelse"
-
-#: ../../include/widgets.php:183
-msgid "Enter channel address"
-msgstr "Skriv kanaladressen"
-
-#: ../../include/widgets.php:184
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Eksempel: ola@eksempel.no, https://eksempel.no/kari"
-
-#: ../../include/widgets.php:200
-msgid "Notes"
-msgstr "Merknader"
-
-#: ../../include/widgets.php:202 ../../include/text.php:886
-#: ../../include/text.php:898 ../../mod/filer.php:49 ../../mod/admin.php:1666
-#: ../../mod/admin.php:1686 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100
-msgid "Save"
-msgstr "Lagre"
-
-#: ../../include/widgets.php:276
-msgid "Remove term"
-msgstr "Fjern begrep"
-
-#: ../../include/widgets.php:285 ../../include/group.php:300
-msgid "add"
-msgstr "legg til"
-
-#: ../../include/widgets.php:359
-msgid "Archives"
-msgstr "Arkiv"
-
-#: ../../include/widgets.php:449 ../../mod/connedit.php:582
-msgid "Me"
-msgstr "Meg"
-
-#: ../../include/widgets.php:450 ../../mod/connedit.php:583
-msgid "Family"
-msgstr "Familie"
-
-#: ../../include/widgets.php:452 ../../mod/connedit.php:585
-msgid "Acquaintances"
-msgstr "Bekjente"
-
-#: ../../include/widgets.php:453 ../../mod/connections.php:88
-#: ../../mod/connections.php:103 ../../mod/connedit.php:586
-msgid "All"
-msgstr "Alle"
-
-#: ../../include/widgets.php:472
-msgid "Refresh"
-msgstr "Forny"
-
-#: ../../include/widgets.php:506
-msgid "Account settings"
-msgstr "Kontoinnstillinger"
-
-#: ../../include/widgets.php:512
-msgid "Channel settings"
-msgstr "Kanalinnstillinger"
-
-#: ../../include/widgets.php:521
-msgid "Additional features"
-msgstr "Tilleggsfunksjoner"
-
-#: ../../include/widgets.php:528
-msgid "Feature/Addon settings"
-msgstr "Funksjons-/Tilleggsinnstillinger"
-
-#: ../../include/widgets.php:534
-msgid "Display settings"
-msgstr "Visningsinnstillinger"
-
-#: ../../include/widgets.php:540
-msgid "Connected apps"
-msgstr "Tilkoblede app-er"
-
-#: ../../include/widgets.php:548
-msgid "Export channel"
-msgstr "Eksporter kanal"
-
-#: ../../include/widgets.php:556 ../../mod/connedit.php:694
-msgid "Connection Default Permissions"
-msgstr "Forbindelsens standard tillatelser"
-
-#: ../../include/widgets.php:564
-msgid "Premium Channel Settings"
-msgstr "Premiumkanal-innstillinger"
-
-#: ../../include/widgets.php:594
-msgid "Private Mail Menu"
-msgstr "Meny for privat post"
-
-#: ../../include/widgets.php:596
-msgid "Combined View"
-msgstr "Kombinert visning"
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
+#: ../../include/conversation.php:1208
+msgid "Share"
+msgstr "Del"
-#: ../../include/widgets.php:630 ../../include/widgets.php:642
-msgid "Conversations"
-msgstr "Samtaler"
+#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
+#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
+#: ../../include/page_widgets.php:39
+msgid "View"
+msgstr "Vis"
-#: ../../include/widgets.php:634
-msgid "Received Messages"
-msgstr "Mottatte meldinger"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Kanalen ble ikke funnet."
-#: ../../include/widgets.php:638
-msgid "Sent Messages"
-msgstr "Sendte meldinger"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Tillatelse avvist."
-#: ../../include/widgets.php:652
-msgid "No messages."
-msgstr "Ingen meldinger."
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
+msgid "l, F j"
+msgstr "l, F j"
-#: ../../include/widgets.php:670
-msgid "Delete conversation"
-msgstr "Slett samtale"
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
+#: ../../include/text.php:1732
+msgid "Link to Source"
+msgstr "Lenke til kilde"
-#: ../../include/widgets.php:696
-msgid "Events Menu"
-msgstr "Meny for hendelser"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Edit Event"
+msgstr "Endre hendelse"
-#: ../../include/widgets.php:697
-msgid "Day View"
-msgstr "Dag"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
+msgid "Create Event"
+msgstr "Lag hendelse"
-#: ../../include/widgets.php:698
-msgid "Week View"
-msgstr "Uke"
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Photos.php:949
+msgid "Previous"
+msgstr "Forrige"
-#: ../../include/widgets.php:699
-msgid "Month View"
-msgstr "Måned"
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+msgid "Next"
+msgstr "Neste"
-#: ../../include/widgets.php:700 ../../mod/events.php:661
-#: ../../mod/cal.php:328
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
+#: ../../include/widgets.php:755
msgid "Export"
msgstr "Eksport"
-#: ../../include/widgets.php:701 ../../mod/events.php:664
-#: ../../mod/cal.php:331
+#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
+#: ../../include/widgets.php:756
msgid "Import"
msgstr "Importer"
-#: ../../include/widgets.php:711
-msgid "Events Tools"
-msgstr "Kalenderverktøy"
-
-#: ../../include/widgets.php:712
-msgid "Export Calendar"
-msgstr "Eksporter kalender"
-
-#: ../../include/widgets.php:713
-msgid "Import Calendar"
-msgstr "Importer kalender"
-
-#: ../../include/widgets.php:787
-msgid "Chat Rooms"
-msgstr "Chatrom"
-
-#: ../../include/widgets.php:807
-msgid "Bookmarked Chatrooms"
-msgstr "Bokmerkede chatrom"
-
-#: ../../include/widgets.php:827
-msgid "Suggested Chatrooms"
-msgstr "Foreslåtte chatrom"
-
-#: ../../include/widgets.php:972 ../../include/widgets.php:1062
-msgid "photo/image"
-msgstr "foto/bilde"
-
-#: ../../include/widgets.php:1156
-msgid "Rating Tools"
-msgstr "Vurderingsverktøy"
-
-#: ../../include/widgets.php:1160 ../../include/widgets.php:1162
-msgid "Rate Me"
-msgstr "Vurder meg"
-
-#: ../../include/widgets.php:1165
-msgid "View Ratings"
-msgstr "Vis vurderinger"
-
-#: ../../include/widgets.php:1176 ../../mod/pubsites.php:18
-msgid "Public Hubs"
-msgstr "Offentlige huber"
-
-#: ../../include/widgets.php:1224
-msgid "Forums"
-msgstr "Forum"
-
-#: ../../include/widgets.php:1253
-msgid "Tasks"
-msgstr "Oppgaver"
-
-#: ../../include/widgets.php:1262
-msgid "Documentation"
-msgstr "Dokumentasjon"
-
-#: ../../include/widgets.php:1264
-msgid "Project/Site Information"
-msgstr "Prosjekt-/Nettstedsinformasjon"
-
-#: ../../include/widgets.php:1265
-msgid "For Members"
-msgstr "For medlemmer"
-
-#: ../../include/widgets.php:1266
-msgid "For Administrators"
-msgstr "For administratorer"
-
-#: ../../include/widgets.php:1267
-msgid "For Developers"
-msgstr "For utviklere"
-
-#: ../../include/widgets.php:1292 ../../mod/admin.php:456
-msgid "Site"
-msgstr "Nettsted"
-
-#: ../../include/widgets.php:1293
-msgid "Accounts"
-msgstr "Kontoer"
-
-#: ../../include/widgets.php:1294 ../../mod/admin.php:1149
-msgid "Channels"
-msgstr "Kanaler"
-
-#: ../../include/widgets.php:1295 ../../mod/admin.php:710
-msgid "Security"
-msgstr "Sikkerhet"
-
-#: ../../include/widgets.php:1297 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1325
-msgid "Plugins"
-msgstr "Tilleggsfunksjoner"
-
-#: ../../include/widgets.php:1298 ../../mod/admin.php:1486
-#: ../../mod/admin.php:1520
-msgid "Themes"
-msgstr "Temaer"
-
-#: ../../include/widgets.php:1299
-msgid "Inspect queue"
-msgstr "Inspiser kø"
-
-#: ../../include/widgets.php:1300
-msgid "Profile Config"
-msgstr "Profilinnstillinger"
-
-#: ../../include/widgets.php:1301
-msgid "DB updates"
-msgstr "Databaseoppdateringer"
-
-#: ../../include/widgets.php:1319 ../../include/widgets.php:1325
-#: ../../mod/admin.php:1605
-msgid "Logs"
-msgstr "Logger"
-
-#: ../../include/widgets.php:1324
-msgid "Plugin Features"
-msgstr "Tilleggsfunksjoner"
-
-#: ../../include/widgets.php:1326
-msgid "User registrations waiting for confirmation"
-msgstr "Brukerregistreringer som venter på bekreftelse"
-
-#: ../../include/widgets.php:1404 ../../mod/photos.php:760
-#: ../../mod/photos.php:1300
-msgid "View Photo"
-msgstr "Vis foto"
-
-#: ../../include/widgets.php:1421 ../../mod/photos.php:791
-msgid "Edit Album"
-msgstr "Endre album"
-
-#: ../../include/text.php:394
-msgid "prev"
-msgstr "forrige"
-
-#: ../../include/text.php:396
-msgid "first"
-msgstr "første"
-
-#: ../../include/text.php:425
-msgid "last"
-msgstr "siste"
-
-#: ../../include/text.php:428
-msgid "next"
-msgstr "neste"
-
-#: ../../include/text.php:438
-msgid "older"
-msgstr "eldre"
-
-#: ../../include/text.php:440
-msgid "newer"
-msgstr "nyere"
-
-#: ../../include/text.php:803
-msgid "No connections"
-msgstr "Ingen forbindelser"
-
-#: ../../include/text.php:828
-#, php-format
-msgid "View all %s connections"
-msgstr "Vis alle %s forbindelser"
-
-#: ../../include/text.php:973 ../../include/text.php:978
-msgid "poke"
-msgstr "prikk"
-
-#: ../../include/text.php:973 ../../include/text.php:978
-#: ../../include/conversation.php:243
-msgid "poked"
-msgstr "prikket"
-
-#: ../../include/text.php:979
-msgid "ping"
-msgstr "varsle"
-
-#: ../../include/text.php:979
-msgid "pinged"
-msgstr "varslet"
-
-#: ../../include/text.php:980
-msgid "prod"
-msgstr "oppildne"
-
-#: ../../include/text.php:980
-msgid "prodded"
-msgstr "oppildnet"
-
-#: ../../include/text.php:981
-msgid "slap"
-msgstr "daske"
-
-#: ../../include/text.php:981
-msgid "slapped"
-msgstr "dasket"
-
-#: ../../include/text.php:982
-msgid "finger"
-msgstr "fingre"
-
-#: ../../include/text.php:982
-msgid "fingered"
-msgstr "fingret"
-
-#: ../../include/text.php:983
-msgid "rebuff"
-msgstr "tilbakevise"
-
-#: ../../include/text.php:983
-msgid "rebuffed"
-msgstr "tilbakeviste"
-
-#: ../../include/text.php:995
-msgid "happy"
-msgstr "glad"
-
-#: ../../include/text.php:996
-msgid "sad"
-msgstr "trist"
-
-#: ../../include/text.php:997
-msgid "mellow"
-msgstr "dempet"
-
-#: ../../include/text.php:998
-msgid "tired"
-msgstr "trøtt"
-
-#: ../../include/text.php:999
-msgid "perky"
-msgstr "oppkvikket"
-
-#: ../../include/text.php:1000
-msgid "angry"
-msgstr "sint"
-
-#: ../../include/text.php:1001
-msgid "stupefied"
-msgstr "lamslått"
-
-#: ../../include/text.php:1002
-msgid "puzzled"
-msgstr "forundret"
-
-#: ../../include/text.php:1003
-msgid "interested"
-msgstr "interessert"
-
-#: ../../include/text.php:1004
-msgid "bitter"
-msgstr "bitter"
-
-#: ../../include/text.php:1005
-msgid "cheerful"
-msgstr "munter"
-
-#: ../../include/text.php:1006
-msgid "alive"
-msgstr "levende"
-
-#: ../../include/text.php:1007
-msgid "annoyed"
-msgstr "irritert"
-
-#: ../../include/text.php:1008
-msgid "anxious"
-msgstr "nervøs"
-
-#: ../../include/text.php:1009
-msgid "cranky"
-msgstr "gretten"
-
-#: ../../include/text.php:1010
-msgid "disturbed"
-msgstr "foruroliget"
-
-#: ../../include/text.php:1011
-msgid "frustrated"
-msgstr "frustrert"
-
-#: ../../include/text.php:1012
-msgid "depressed"
-msgstr "lei seg"
-
-#: ../../include/text.php:1013
-msgid "motivated"
-msgstr "motivert"
-
-#: ../../include/text.php:1014
-msgid "relaxed"
-msgstr "avslappet"
-
-#: ../../include/text.php:1015
-msgid "surprised"
-msgstr "overrasket"
-
-#: ../../include/text.php:1191
-msgid "May"
-msgstr "mai"
-
-#: ../../include/text.php:1268 ../../include/text.php:1272
-msgid "Unknown Attachment"
-msgstr "Ukjent vedlegg"
-
-#: ../../include/text.php:1274
-msgid "unknown"
-msgstr "ukjent"
-
-#: ../../include/text.php:1310
-msgid "remove category"
-msgstr "fjern kategori"
-
-#: ../../include/text.php:1387
-msgid "remove from file"
-msgstr "fjern fra fil"
-
-#: ../../include/text.php:1529 ../../include/text.php:1540
-msgid "Click to open/close"
-msgstr "Klikk for å åpne/lukke"
-
-#: ../../include/text.php:1724 ../../mod/events.php:630 ../../mod/cal.php:302
-msgid "Link to Source"
-msgstr "Lenke til kilde"
-
-#: ../../include/text.php:1745 ../../include/text.php:1817
-msgid "default"
-msgstr "standard"
-
-#: ../../include/text.php:1753
-msgid "Page layout"
-msgstr "Sidens layout"
-
-#: ../../include/text.php:1753
-msgid "You can create your own with the layouts tool"
-msgstr "Du kan lage din egen med layout-verktøyet"
-
-#: ../../include/text.php:1795
-msgid "Page content type"
-msgstr "Sidens innholdstype"
-
-#: ../../include/text.php:1829
-msgid "Select an alternate language"
-msgstr "Velg et annet språk"
-
-#: ../../include/text.php:1948 ../../include/conversation.php:120
-#: ../../mod/like.php:361 ../../mod/subthread.php:83 ../../mod/tagger.php:43
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/text.php:1954 ../../include/conversation.php:148
-#: ../../mod/like.php:361 ../../mod/subthread.php:83
-msgid "status"
-msgstr "status"
-
-#: ../../include/text.php:1956 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "kommentar"
-
-#: ../../include/text.php:1961
-msgid "activity"
-msgstr "aktivitet"
-
-#: ../../include/text.php:2256
-msgid "Design Tools"
-msgstr "Designverktøy"
-
-#: ../../include/text.php:2259 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Byggeklosser"
-
-#: ../../include/text.php:2260 ../../mod/menu.php:103
-msgid "Menus"
-msgstr "Menyer"
-
-#: ../../include/text.php:2261 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Layout"
-
-#: ../../include/text.php:2262
-msgid "Pages"
-msgstr "Sider"
-
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn."
-
-#: ../../include/group.php:232
-msgid "Add new connections to this privacy group"
-msgstr "Legg nye forbindelser i denne personverngruppen"
-
-#: ../../include/group.php:251 ../../mod/admin.php:998
-msgid "All Channels"
-msgstr "Alle kanaler"
-
-#: ../../include/group.php:273
-msgid "edit"
-msgstr "endre"
-
-#: ../../include/group.php:296
-msgid "Edit group"
-msgstr "Endre gruppe"
-
-#: ../../include/group.php:297
-msgid "Add privacy group"
-msgstr "Legg til personverngruppe"
-
-#: ../../include/group.php:298
-msgid "Channels not in any privacy group"
-msgstr "Kanaler uten personverngruppe"
-
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Notify] Ny melding mottatt hos %s"
-
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s sendte deg en ny privat melding på %3$s."
-
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s sendte deg %2$s."
-
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "en privat melding"
-
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Vennligst besøk %s for å se og/eller svare på dine private meldinger."
-
-#: ../../include/enotify.php:160
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]a %4$s[/zrl]"
-
-#: ../../include/enotify.php:168
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]%4$s's %5$s[/zrl]"
-
-#: ../../include/enotify.php:177
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]din %4$s[/zrl]"
-
-#: ../../include/enotify.php:188
-#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Notify] Kommentar til samtale #%1$d av %2$s"
-
-#: ../../include/enotify.php:189
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s kommenterte på et element eller en samtale du følger"
-
-#: ../../include/enotify.php:192 ../../include/enotify.php:207
-#: ../../include/enotify.php:233 ../../include/enotify.php:251
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Vennligst besøk %s for å se og/eller svare i samtalen"
-
-#: ../../include/enotify.php:198
-#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg"
-
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s skrev et innlegg på din profilvegg på %3$s"
-
-#: ../../include/enotify.php:202
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s skrev et innlegg på [zrl=%3$s]din vegg[/zrl]"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Notify] %s merket deg"
-
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s merket deg på %3$s"
-
-#: ../../include/enotify.php:228
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]merket deg[/zrl]."
-
-#: ../../include/enotify.php:240
-#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Notify] %1$s prikket deg"
-
-#: ../../include/enotify.php:241
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s dyttet deg på %3$s"
-
-#: ../../include/enotify.php:242
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]dyttet deg[/zrl]."
-
-#: ../../include/enotify.php:258
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Notify] %s merket ditt innlegg"
-
-#: ../../include/enotify.php:259
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s merket ditt innlegg på %3$s"
-
-#: ../../include/enotify.php:260
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s merket [zrl=%3$s]ditt innlegg[/zrl]"
-
-#: ../../include/enotify.php:272
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Notify] Introduksjon mottatt"
-
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, du har mottatt en ny forespørsel om forbindelse fra '%2$s' hos %3$s"
-
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, du mottok [zrl=%2$s]en ny forespørsel om forbindelse[/zrl] fra %3$s."
-
-#: ../../include/enotify.php:278 ../../include/enotify.php:297
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kan besøke profilen deres på %s"
-
-#: ../../include/enotify.php:280
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse."
-
-#: ../../include/enotify.php:287
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Notify] Venneforslag mottatt"
-
-#: ../../include/enotify.php:288
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, du har mottatt en venneforespørsel fra '%2$s' hos %3$s"
-
-#: ../../include/enotify.php:289
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, du har mottatt [zrl=%2$s]et venneforslaget[/zrl] angående %3$s fra %4$s. "
-
-#: ../../include/enotify.php:295
-msgid "Name:"
-msgstr "Navn:"
-
-#: ../../include/enotify.php:296
-msgid "Photo:"
-msgstr "Bilde:"
-
-#: ../../include/enotify.php:299
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Vennligst besøk %s for å godkjenne eller avslå dette forslaget."
-
-#: ../../include/enotify.php:514
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Notify]"
-
-#: ../../include/identity.php:32
-msgid "Unable to obtain identity information from database"
-msgstr "Klarer ikke å få tak i identitetsinformasjon fra databasen"
-
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr "Mangler navn"
-
-#: ../../include/identity.php:69
-msgid "Name too long"
-msgstr "Navnet er for langt"
-
-#: ../../include/identity.php:181
-msgid "No account identifier"
-msgstr "Ingen kontoidentifikator"
-
-#: ../../include/identity.php:193
-msgid "Nickname is required."
-msgstr "Kallenavn er påkrevd."
-
-#: ../../include/identity.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Reservert kallenavn. Vennligst velg et annet."
-
-#: ../../include/identity.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet."
-
-#: ../../include/identity.php:288
-msgid "Unable to retrieve created identity"
-msgstr "Klarer ikke å hente den lagede identiteten"
-
-#: ../../include/identity.php:346
-msgid "Default Profile"
-msgstr "Standardprofil"
-
-#: ../../include/identity.php:772
-msgid "Requested channel is not available."
-msgstr "Forespurt kanal er ikke tilgjengelig."
-
-#: ../../include/identity.php:818 ../../mod/achievements.php:11
-#: ../../mod/blocks.php:29 ../../mod/connect.php:13 ../../mod/editblock.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29
-#: ../../mod/profile.php:16 ../../mod/webpages.php:29
-msgid "Requested profile is not available."
-msgstr "Forespurt profil er ikke tilgjengelig."
-
-#: ../../include/identity.php:967 ../../mod/profiles.php:782
-msgid "Change profile photo"
-msgstr "Endre profilbilde"
-
-#: ../../include/identity.php:973
-msgid "Profiles"
-msgstr "Profiler"
-
-#: ../../include/identity.php:973
-msgid "Manage/edit profiles"
-msgstr "Håndtere/endre profiler"
-
-#: ../../include/identity.php:974 ../../mod/profiles.php:783
-msgid "Create New Profile"
-msgstr "Lag ny profil"
-
-#: ../../include/identity.php:989 ../../mod/profiles.php:794
-msgid "Profile Image"
-msgstr "Profilbilde"
-
-#: ../../include/identity.php:992
-msgid "visible to everybody"
-msgstr "synlig for alle"
-
-#: ../../include/identity.php:993 ../../mod/profiles.php:677
-#: ../../mod/profiles.php:798
-msgid "Edit visibility"
-msgstr "Endre synlighet"
-
-#: ../../include/identity.php:1009 ../../include/identity.php:1248
-msgid "Gender:"
-msgstr "Kjønn:"
-
-#: ../../include/identity.php:1010 ../../include/identity.php:1292
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../include/identity.php:1011 ../../include/identity.php:1303
-msgid "Homepage:"
-msgstr "Hjemmeside:"
-
-#: ../../include/identity.php:1012
-msgid "Online Now"
-msgstr "Online nå"
-
-#: ../../include/identity.php:1099 ../../include/identity.php:1177
-#: ../../mod/ping.php:318
-msgid "g A l F d"
-msgstr "g A l F d"
-
-#: ../../include/identity.php:1100 ../../include/identity.php:1178
-msgid "F d"
-msgstr "F d"
-
-#: ../../include/identity.php:1145 ../../include/identity.php:1217
-#: ../../mod/ping.php:341
-msgid "[today]"
-msgstr "[idag]"
-
-#: ../../include/identity.php:1156
-msgid "Birthday Reminders"
-msgstr "Fødselsdagspåminnnelser"
-
-#: ../../include/identity.php:1157
-msgid "Birthdays this week:"
-msgstr "Fødselsdager denne uken:"
-
-#: ../../include/identity.php:1210
-msgid "[No description]"
-msgstr "[Ingen beskrivelse]"
-
-#: ../../include/identity.php:1228
-msgid "Event Reminders"
-msgstr "Hendelsespåminnelser"
-
-#: ../../include/identity.php:1229
-msgid "Events this week:"
-msgstr "Hendelser denne uken:"
-
-#: ../../include/identity.php:1246 ../../mod/settings.php:1047
-msgid "Full Name:"
-msgstr "Fullt navn:"
-
-#: ../../include/identity.php:1253
-msgid "Like this channel"
-msgstr "Lik denne kanalen"
-
-#: ../../include/identity.php:1277
-msgid "j F, Y"
-msgstr "j F, Y"
-
-#: ../../include/identity.php:1278
-msgid "j F"
-msgstr "j F"
-
-#: ../../include/identity.php:1285
-msgid "Birthday:"
-msgstr "Fødselsdag:"
-
-#: ../../include/identity.php:1289 ../../mod/directory.php:302
-msgid "Age:"
-msgstr "Alder:"
-
-#: ../../include/identity.php:1298
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "for %1$d %2$s"
-
-#: ../../include/identity.php:1301 ../../mod/profiles.php:699
-msgid "Sexual Preference:"
-msgstr "Seksuell preferanse:"
-
-#: ../../include/identity.php:1305 ../../mod/directory.php:318
-#: ../../mod/profiles.php:701
-msgid "Hometown:"
-msgstr "Hjemby:"
-
-#: ../../include/identity.php:1307
-msgid "Tags:"
-msgstr "Merkelapper:"
-
-#: ../../include/identity.php:1309 ../../mod/profiles.php:702
-msgid "Political Views:"
-msgstr "Politiske synspunkter:"
-
-#: ../../include/identity.php:1311
-msgid "Religion:"
-msgstr "Religion:"
-
-#: ../../include/identity.php:1313 ../../mod/directory.php:320
-msgid "About:"
-msgstr "Om:"
-
-#: ../../include/identity.php:1315
-msgid "Hobbies/Interests:"
-msgstr "Hobbyer/interesser:"
-
-#: ../../include/identity.php:1317 ../../mod/profiles.php:705
-msgid "Likes:"
-msgstr "Liker:"
-
-#: ../../include/identity.php:1319 ../../mod/profiles.php:706
-msgid "Dislikes:"
-msgstr "Misliker:"
-
-#: ../../include/identity.php:1321
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformasjon og sosiale nettverk:"
-
-#: ../../include/identity.php:1323
-msgid "My other channels:"
-msgstr "Mine andre kanaler:"
-
-#: ../../include/identity.php:1325
-msgid "Musical interests:"
-msgstr "Musikkinteresse:"
-
-#: ../../include/identity.php:1327
-msgid "Books, literature:"
-msgstr "Bøker, litteratur:"
-
-#: ../../include/identity.php:1329
-msgid "Television:"
-msgstr "TV:"
-
-#: ../../include/identity.php:1331
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/dans/kultur/underholdning:"
-
-#: ../../include/identity.php:1333
-msgid "Love/Romance:"
-msgstr "Kjærlighet/romantikk:"
-
-#: ../../include/identity.php:1335
-msgid "Work/employment:"
-msgstr "Arbeid/sysselsetting:"
-
-#: ../../include/identity.php:1337
-msgid "School/education:"
-msgstr "Skole/utdannelse:"
-
-#: ../../include/identity.php:1361
-msgid "Like this thing"
-msgstr "Lik denne tingen"
-
-#: ../../include/identity.php:1770 ../../mod/cover_photo.php:236
-msgid "cover photo"
-msgstr "forsidebilde"
-
-#: ../../include/oembed.php:267
-msgid "Embedded content"
-msgstr "Innebygget innhold"
-
-#: ../../include/oembed.php:276
-msgid "Embedding disabled"
-msgstr "Innbygging avskrudd"
-
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "kanal"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:410
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s liker %2$s sin %3$s"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:412
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s liker ikke %2$s sin %3$s"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s er nå forbundet med %2$s"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s prikket %2$s"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s er %2$s"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1074
-msgctxt "title"
-msgid "Likes"
-msgstr "Liker"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1074
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Liker ikke"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Agree"
-msgstr "Enig"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Disagree"
-msgstr "Uenig"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1075
-msgctxt "title"
-msgid "Abstain"
-msgstr "Avstår"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Attending"
-msgstr "Deltar"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Not attending"
-msgstr "Deltar ikke"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1076
-msgctxt "title"
-msgid "Might attend"
-msgstr "Deltar kanskje"
-
-#: ../../include/conversation.php:656 ../../include/ItemObject.php:126
-msgid "Select"
-msgstr "Velg"
-
-#: ../../include/conversation.php:664 ../../include/ItemObject.php:89
-msgid "Private Message"
-msgstr "Privat melding"
-
-#: ../../include/conversation.php:671 ../../include/ItemObject.php:227
-msgid "Message signature validated"
-msgstr "Innleggets signatur er bekreftet"
-
-#: ../../include/conversation.php:672 ../../include/ItemObject.php:228
-msgid "Message signature incorrect"
-msgstr "Innleggets signatur er feil"
-
-#: ../../include/conversation.php:691
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vis %s sin profile @ %s"
-
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr "Kategorier:"
-
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr "Sortert under:"
-
-#: ../../include/conversation.php:719 ../../include/ItemObject.php:334
-#, php-format
-msgid "from %s"
-msgstr "fra %s"
-
-#: ../../include/conversation.php:722 ../../include/ItemObject.php:337
-#, php-format
-msgid "last edited: %s"
-msgstr "sist endret: %s"
-
-#: ../../include/conversation.php:723 ../../include/ItemObject.php:338
-#, php-format
-msgid "Expires: %s"
-msgstr "Utløper: %s"
-
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr "Vis i sammenheng"
-
-#: ../../include/conversation.php:740 ../../include/conversation.php:1237
-#: ../../include/ItemObject.php:389 ../../mod/editblock.php:150
-#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:190 ../../mod/photos.php:1040
-msgid "Please wait"
-msgstr "Vennligst vent"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "fjern"
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Slett valgte elementer"
-
-#: ../../include/conversation.php:953
-msgid "View Source"
-msgstr "Vis kilde"
-
-#: ../../include/conversation.php:954
-msgid "Follow Thread"
-msgstr "Følg tråd"
-
-#: ../../include/conversation.php:955
-msgid "Unfollow Thread"
-msgstr "Ikke følg tråd"
-
-#: ../../include/conversation.php:960
-msgid "Activity/Posts"
-msgstr "Aktivitet/Innlegg"
-
-#: ../../include/conversation.php:962
-msgid "Edit Connection"
-msgstr "Endre forbindelse"
-
-#: ../../include/conversation.php:963
-msgid "Message"
-msgstr "Melding"
-
-#: ../../include/conversation.php:964 ../../mod/pubsites.php:27
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Vurderinger"
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s likes this."
-msgstr "%s liker dette."
-
-#: ../../include/conversation.php:1080
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s liker ikke dette."
-
-#: ../../include/conversation.php:1084
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d person</span> liker dette."
-msgstr[1] "<span %1$s>%2$d personer</span> liker dette."
-
-#: ../../include/conversation.php:1086
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d person</span> liker ikke dette."
-msgstr[1] "<span %1$s>%2$d personer</span> liker ikke dette."
-
-#: ../../include/conversation.php:1092
-msgid "and"
-msgstr "og"
-
-#: ../../include/conversation.php:1095
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", og %d annen person"
-msgstr[1] ", og %d andre personer"
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s like this."
-msgstr "%s liker dette."
-
-#: ../../include/conversation.php:1096
-#, php-format
-msgid "%s don't like this."
-msgstr "%s liker ikke dette."
-
-#: ../../include/conversation.php:1164
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Synlig for <strong>alle</strong>"
-
-#: ../../include/conversation.php:1165 ../../mod/mail.php:202
-#: ../../mod/mail.php:316
-msgid "Please enter a link URL:"
-msgstr "Vennligst skriv inn en lenke URL:"
-
-#: ../../include/conversation.php:1166
-msgid "Please enter a video link/URL:"
-msgstr "Vennligst skriv en videolenke/URL:"
-
-#: ../../include/conversation.php:1167
-msgid "Please enter an audio link/URL:"
-msgstr "Vennligst skriv en lydlenke/URL:"
-
-#: ../../include/conversation.php:1168
-msgid "Tag term:"
-msgstr "Merkelapp:"
-
-#: ../../include/conversation.php:1169 ../../mod/filer.php:48
-msgid "Save to Folder:"
-msgstr "Lagre til mappe:"
-
-#: ../../include/conversation.php:1170
-msgid "Where are you right now?"
-msgstr "Hvor er du akkurat nå?"
-
-#: ../../include/conversation.php:1171 ../../mod/editpost.php:56
-#: ../../mod/mail.php:203 ../../mod/mail.php:317
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Utløper YYYY-MM-DD HH:MM"
-
-#: ../../include/conversation.php:1202 ../../mod/blocks.php:154
-#: ../../mod/layouts.php:184 ../../mod/photos.php:1039
-#: ../../mod/webpages.php:184
-msgid "Share"
-msgstr "Del"
-
-#: ../../include/conversation.php:1204
-msgid "Page link name"
-msgstr "Sidens lenkenavn"
-
-#: ../../include/conversation.php:1207
-msgid "Post as"
-msgstr "Lag innlegg som"
-
-#: ../../include/conversation.php:1209 ../../include/ItemObject.php:704
-#: ../../mod/editblock.php:136 ../../mod/editlayout.php:135
-#: ../../mod/editpost.php:113 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr "Uthevet"
-
-#: ../../include/conversation.php:1210 ../../include/ItemObject.php:705
-#: ../../mod/editblock.php:137 ../../mod/editlayout.php:136
-#: ../../mod/editpost.php:114 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr "Kursiv"
-
-#: ../../include/conversation.php:1211 ../../include/ItemObject.php:706
-#: ../../mod/editblock.php:138 ../../mod/editlayout.php:137
-#: ../../mod/editpost.php:115 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr "Understreket"
-
-#: ../../include/conversation.php:1212 ../../include/ItemObject.php:707
-#: ../../mod/editblock.php:139 ../../mod/editlayout.php:138
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr "Sitat"
-
-#: ../../include/conversation.php:1213 ../../include/ItemObject.php:708
-#: ../../mod/editblock.php:140 ../../mod/editlayout.php:139
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr "Kode"
-
-#: ../../include/conversation.php:1214 ../../mod/editblock.php:142
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:118
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
-msgstr "Last opp bilde"
-
-#: ../../include/conversation.php:1215
-msgid "upload photo"
-msgstr "last opp bilde"
-
-#: ../../include/conversation.php:1216 ../../mod/editblock.php:143
-#: ../../mod/editlayout.php:141 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:183 ../../mod/mail.php:248 ../../mod/mail.php:378
-msgid "Attach file"
-msgstr "Legg ved fil"
-
-#: ../../include/conversation.php:1217
-msgid "attach file"
-msgstr "legg ved fil"
-
-#: ../../include/conversation.php:1218 ../../mod/editblock.php:144
-#: ../../mod/editlayout.php:142 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:184 ../../mod/mail.php:249 ../../mod/mail.php:379
-msgid "Insert web link"
-msgstr "Sett inn web-lenke"
-
-#: ../../include/conversation.php:1219
-msgid "web link"
-msgstr "web-lenke"
-
-#: ../../include/conversation.php:1220
-msgid "Insert video link"
-msgstr "Sett inn videolenke"
-
-#: ../../include/conversation.php:1221
-msgid "video link"
-msgstr "videolenke"
-
-#: ../../include/conversation.php:1222
-msgid "Insert audio link"
-msgstr "Sett inn lenke til lyd"
-
-#: ../../include/conversation.php:1223
-msgid "audio link"
-msgstr "lenke til lyd"
-
-#: ../../include/conversation.php:1224 ../../mod/editblock.php:148
-#: ../../mod/editlayout.php:146 ../../mod/editpost.php:124
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
-msgstr "Angi din plassering"
-
-#: ../../include/conversation.php:1225
-msgid "set location"
-msgstr "angi plassering"
-
-#: ../../include/conversation.php:1226 ../../mod/editpost.php:126
-msgid "Toggle voting"
-msgstr "Skru av eller på stemming"
-
-#: ../../include/conversation.php:1229 ../../mod/editblock.php:149
-#: ../../mod/editlayout.php:147 ../../mod/editpost.php:125
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
-msgstr "Fjern nettleserplassering"
-
-#: ../../include/conversation.php:1230
-msgid "clear location"
-msgstr "fjern plassering"
-
-#: ../../include/conversation.php:1232 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
-msgstr "Tittel (valgfri)"
-
-#: ../../include/conversation.php:1236 ../../mod/editblock.php:165
-#: ../../mod/editlayout.php:163 ../../mod/editpost.php:143
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
-msgstr "Kategorier (valgfri, kommaseparert liste)"
-
-#: ../../include/conversation.php:1238 ../../mod/editblock.php:151
-#: ../../mod/editlayout.php:149 ../../mod/editpost.php:130
-#: ../../mod/editwebpage.php:191 ../../mod/events.php:466
-msgid "Permission settings"
-msgstr "Tillatelser - innstillinger"
-
-#: ../../include/conversation.php:1239
-msgid "permissions"
-msgstr "tillatelser"
-
-#: ../../include/conversation.php:1247 ../../mod/editblock.php:159
-#: ../../mod/editlayout.php:156 ../../mod/editpost.php:138
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
-msgstr "Offentlig innlegg"
-
-#: ../../include/conversation.php:1249 ../../mod/editblock.php:166
-#: ../../mod/editlayout.php:164 ../../mod/editpost.php:144
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Eksempel: ola@eksempel.no, kari@eksempel.no"
-
-#: ../../include/conversation.php:1262 ../../mod/editblock.php:176
-#: ../../mod/editlayout.php:173 ../../mod/editpost.php:155
-#: ../../mod/editwebpage.php:217 ../../mod/mail.php:253 ../../mod/mail.php:383
-msgid "Set expiration date"
-msgstr "Angi utløpsdato"
-
-#: ../../include/conversation.php:1265
-msgid "Set publish date"
-msgstr "Angi publiseringsdato"
-
-#: ../../include/conversation.php:1267 ../../include/ItemObject.php:715
-#: ../../mod/editpost.php:157 ../../mod/mail.php:255 ../../mod/mail.php:385
-msgid "Encrypt text"
-msgstr "Krypter tekst"
-
-#: ../../include/conversation.php:1269 ../../mod/editpost.php:159
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1270 ../../mod/editpost.php:160
-#: ../../mod/fbrowser.php:77 ../../mod/fbrowser.php:112
-#: ../../mod/settings.php:598 ../../mod/settings.php:624
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-msgid "Cancel"
-msgstr "Avbryt"
-
-#: ../../include/conversation.php:1513
-msgid "Discover"
-msgstr "Oppdage"
-
-#: ../../include/conversation.php:1516
-msgid "Imported public streams"
-msgstr "Importerte offentlige strømmer"
-
-#: ../../include/conversation.php:1521
-msgid "Commented Order"
-msgstr "Kommentert"
-
-#: ../../include/conversation.php:1524
-msgid "Sort by Comment Date"
-msgstr "Sorter etter kommentert dato"
-
-#: ../../include/conversation.php:1528
-msgid "Posted Order"
-msgstr "Lagt inn"
-
-#: ../../include/conversation.php:1531
-msgid "Sort by Post Date"
-msgstr "Sorter etter innleggsdato"
-
-#: ../../include/conversation.php:1539
-msgid "Posts that mention or involve you"
-msgstr "Innlegg som nevner eller involverer deg"
-
-#: ../../include/conversation.php:1545 ../../mod/connections.php:72
-#: ../../mod/connections.php:82 ../../mod/menu.php:112
-msgid "New"
-msgstr "Nye"
-
-#: ../../include/conversation.php:1548
-msgid "Activity Stream - by date"
-msgstr "Aktivitetsstrøm - etter dato"
-
-#: ../../include/conversation.php:1554
-msgid "Starred"
-msgstr "Stjerne"
-
-#: ../../include/conversation.php:1557
-msgid "Favourite Posts"
-msgstr "Favorittinnlegg"
-
-#: ../../include/conversation.php:1564
-msgid "Spam"
-msgstr "Søppel"
-
-#: ../../include/conversation.php:1567
-msgid "Posts flagged as SPAM"
-msgstr "Innlegg merket som SØPPEL"
-
-#: ../../include/conversation.php:1620 ../../mod/admin.php:1157
-msgid "Channel"
-msgstr "Kanal"
-
-#: ../../include/conversation.php:1623
-msgid "Status Messages and Posts"
-msgstr "Statusmeldinger og -innlegg"
-
-#: ../../include/conversation.php:1632
-msgid "About"
-msgstr "Om"
-
-#: ../../include/conversation.php:1635
-msgid "Profile Details"
-msgstr "Profildetaljer"
-
-#: ../../include/conversation.php:1651
-msgid "Files and Storage"
-msgstr "Filer og lagring"
-
-#: ../../include/conversation.php:1672 ../../include/conversation.php:1675
-msgid "Chatrooms"
-msgstr "Chatrom"
-
-#: ../../include/conversation.php:1688
-msgid "Saved Bookmarks"
-msgstr "Lagrede bokmerker"
-
-#: ../../include/conversation.php:1698
-msgid "Manage Webpages"
-msgstr "Håndtere websider"
-
-#: ../../include/conversation.php:1727 ../../include/ItemObject.php:175
-#: ../../include/ItemObject.php:187 ../../mod/photos.php:1093
-#: ../../mod/photos.php:1105
-msgid "View all"
-msgstr "Vis alle"
-
-#: ../../include/conversation.php:1754 ../../include/ItemObject.php:184
-#: ../../mod/photos.php:1102
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Liker ikke"
-msgstr[1] "Liker ikke"
-
-#: ../../include/conversation.php:1757
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Deltar"
-msgstr[1] "Deltar"
-
-#: ../../include/conversation.php:1760
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Deltar ikke"
-msgstr[1] "Deltar ikke"
-
-#: ../../include/conversation.php:1763
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Ikke bestemt"
-msgstr[1] "Ikke bestemt"
-
-#: ../../include/conversation.php:1766
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Enig"
-msgstr[1] "Enige"
-
-#: ../../include/conversation.php:1769
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Uenig"
-msgstr[1] "Uenige"
-
-#: ../../include/conversation.php:1772
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Avstår"
-msgstr[1] "Avstår"
-
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "Lagre i mappe"
-
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Jeg vil delta"
-
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "Jeg deltar ikke"
-
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Jeg vil kanskje delta"
-
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "Jeg er enig"
-
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "Jeg er uenig"
-
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "Jeg avstår"
-
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Legg til stjerne"
-
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Fjern stjerne"
-
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "Skru av og på stjernestatus"
-
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "stjernemerket"
-
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Legg til merkelapp"
-
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:1037
-msgid "I like this (toggle)"
-msgstr "Jeg liker dette (skru av og på)"
-
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:1038
-msgid "I don't like this (toggle)"
-msgstr "Jeg liker ikke dette (skru av og på)"
-
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Del dette"
-
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "del"
-
-#: ../../include/ItemObject.php:268
-msgid "Delivery Report"
-msgstr "Leveringsrapport"
-
-#: ../../include/ItemObject.php:286
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d kommentar"
-msgstr[1] "%d kommentarer"
-
-#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Vis %s sin profil - %s"
-
-#: ../../include/ItemObject.php:319
-msgid "to"
-msgstr "til"
-
-#: ../../include/ItemObject.php:320
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:321
-msgid "Wall-to-Wall"
-msgstr "vegg-til-vegg"
-
-#: ../../include/ItemObject.php:322
-msgid "via Wall-To-Wall:"
-msgstr "via vegg-til-vegg:"
-
-#: ../../include/ItemObject.php:362
-msgid "Save Bookmarks"
-msgstr "Lagre bokmerker"
-
-#: ../../include/ItemObject.php:363
-msgid "Add to Calendar"
-msgstr "Legg til i kalender"
-
-#: ../../include/ItemObject.php:372
-msgid "Mark all seen"
-msgstr "Merk alle som sett"
-
-#: ../../include/ItemObject.php:378 ../../mod/photos.php:1223
-msgctxt "noun"
-msgid "Likes"
-msgstr "Liker"
-
-#: ../../include/ItemObject.php:379 ../../mod/photos.php:1224
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Liker ikke"
-
-#: ../../include/ItemObject.php:700 ../../mod/photos.php:1056
-#: ../../mod/photos.php:1174
-msgid "This is you"
-msgstr "Dette er deg"
-
-#: ../../include/ItemObject.php:709
-msgid "Image"
-msgstr "Bilde"
-
-#: ../../include/ItemObject.php:710
-msgid "Insert Link"
-msgstr "Sett inn lenke"
-
-#: ../../include/ItemObject.php:711
-msgid "Video"
-msgstr "Video"
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Kan se min normale strøm og innlegg"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Kan se min standard kanalprofil"
-
-#: ../../include/permissions.php:28
-msgid "Can view my connections"
-msgstr "Kan se mine forbindelser"
-
-#: ../../include/permissions.php:29
-msgid "Can view my file storage and photos"
-msgstr "Kan se mine filer og bilder"
-
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
-msgstr "Kan se mine websider"
-
-#: ../../include/permissions.php:33
-msgid "Can send me their channel stream and posts"
-msgstr "Kan sende meg deres kanalstrøm og innlegg"
-
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan lage innlegg på min kanalside (\"vegg\")"
-
-#: ../../include/permissions.php:35
-msgid "Can comment on or like my posts"
-msgstr "Kan kommentere på eller like mine innlegg"
-
-#: ../../include/permissions.php:36
-msgid "Can send me private mail messages"
-msgstr "Kan sende meg private meldinger"
-
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
-msgstr "Kan like/ikke like forskjellige greier"
-
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
-msgstr "Profiler og andre ting enn innlegg/kommentarer"
-
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg"
-
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avansert - nyttig for å lage forumkanaler for grupper"
-
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
-msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"
-
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
-msgstr "Kan skrive til mitt lager for filer og bilder"
-
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
-msgstr "Kan endre mine websider"
-
-#: ../../include/permissions.php:44
-msgid "Can source my public posts in derived channels"
-msgstr "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler"
-
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Litt avansert - svært nyttig i åpne fellesskap"
-
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
-msgstr "Kan administrere mine kanalressurser"
-
-#: ../../include/permissions.php:46
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør"
-
-#: ../../include/permissions.php:867
-msgid "Social Networking"
-msgstr "Sosialt nettverk"
-
-#: ../../include/permissions.php:867
-msgid "Social - Mostly Public"
-msgstr "Sosial - ganske offentlig"
-
-#: ../../include/permissions.php:867
-msgid "Social - Restricted"
-msgstr "Sosial - begrenset"
-
-#: ../../include/permissions.php:867
-msgid "Social - Private"
-msgstr "Sosial - privat"
-
-#: ../../include/permissions.php:868
-msgid "Community Forum"
-msgstr "Forum for fellesskap"
-
-#: ../../include/permissions.php:868
-msgid "Forum - Mostly Public"
-msgstr "Forum - ganske offentlig"
-
-#: ../../include/permissions.php:868
-msgid "Forum - Restricted"
-msgstr "Forum - begrenset"
-
-#: ../../include/permissions.php:868
-msgid "Forum - Private"
-msgstr "Forum - privat"
-
-#: ../../include/permissions.php:869
-msgid "Feed Republish"
-msgstr "Republisering av strømmet innhold"
-
-#: ../../include/permissions.php:869
-msgid "Feed - Mostly Public"
-msgstr "Strøm - ganske offentlig"
-
-#: ../../include/permissions.php:869
-msgid "Feed - Restricted"
-msgstr "Strøm - begrenset"
-
-#: ../../include/permissions.php:870
-msgid "Special Purpose"
-msgstr "Spesiell bruk"
-
-#: ../../include/permissions.php:870
-msgid "Special - Celebrity/Soapbox"
-msgstr "Spesiell - kjendis/talerstol"
-
-#: ../../include/permissions.php:870
-msgid "Special - Group Repository"
-msgstr "Spesiell - gruppelager"
-
-#: ../../include/permissions.php:871
-msgid "Custom/Expert Mode"
-msgstr "Tilpasset/Ekspertmodus"
-
-#: ../../include/items.php:423 ../../index.php:179 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/group.php:68
-#: ../../mod/import_items.php:108 ../../mod/like.php:280
-#: ../../mod/profperm.php:23 ../../mod/subthread.php:58
-msgid "Permission denied"
-msgstr "Tillatelse avvist"
-
-#: ../../include/items.php:1138 ../../include/items.php:1184
-msgid "(Unknown)"
-msgstr "(Ukjent)"
-
-#: ../../include/items.php:1384
-msgid "Visible to anybody on the internet."
-msgstr "Synlig for enhver på Internett."
-
-#: ../../include/items.php:1386
-msgid "Visible to you only."
-msgstr "Synlig bare for deg."
-
-#: ../../include/items.php:1388
-msgid "Visible to anybody in this network."
-msgstr "Synlig for enhver i dette nettverket."
-
-#: ../../include/items.php:1390
-msgid "Visible to anybody authenticated."
-msgstr "Synlig for enhver som er autentisert."
-
-#: ../../include/items.php:1392
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Synlig for alle på %s."
-
-#: ../../include/items.php:1394
-msgid "Visible to all connections."
-msgstr "Synlig for alle forbindelser."
-
-#: ../../include/items.php:1396
-msgid "Visible to approved connections."
-msgstr "Synlig for godkjente forbindelser."
-
-#: ../../include/items.php:1398
-msgid "Visible to specific connections."
-msgstr "Synlig for spesifikke forbindelser."
-
-#: ../../include/items.php:4496 ../../mod/display.php:36
-#: ../../mod/filestorage.php:27 ../../mod/admin.php:141
-#: ../../mod/admin.php:1189 ../../mod/admin.php:1434 ../../mod/thing.php:85
-#: ../../mod/viewsrc.php:20
-msgid "Item not found."
-msgstr "Elementet ble ikke funnet."
-
-#: ../../include/items.php:5032 ../../mod/group.php:38 ../../mod/group.php:137
-msgid "Privacy group not found."
-msgstr "Personverngruppen ble ikke funnet"
-
-#: ../../include/items.php:5048
-msgid "Privacy group is empty."
-msgstr "Personverngruppen er tom."
-
-#: ../../include/items.php:5055
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Personverngruppe: %s"
-
-#: ../../include/items.php:5065 ../../mod/connedit.php:694
-#, php-format
-msgid "Connection: %s"
-msgstr "Forbindelse: %s"
-
-#: ../../include/items.php:5067
-msgid "Connection not found."
-msgstr "Forbindelsen ble ikke funnet."
-
-#: ../../include/items.php:5493 ../../mod/cover_photo.php:229
-msgid "female"
-msgstr "kvinne"
-
-#: ../../include/items.php:5494 ../../mod/cover_photo.php:230
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s oppdaterte %2$s sitt"
-
-#: ../../include/items.php:5495 ../../mod/cover_photo.php:231
-msgid "male"
-msgstr "mann"
-
-#: ../../include/items.php:5496 ../../mod/cover_photo.php:232
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s oppdaterte %2$s sitt"
-
-#: ../../include/items.php:5498 ../../mod/cover_photo.php:234
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "%1$s oppdaterte %2$s deres"
-
-#: ../../include/items.php:5500
-msgid "profile photo"
-msgstr "profilbilde"
-
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "En standardtekst om hva du bør gjøre som ny her"
-
-#: ../../mod/acl.php:222
-msgid "network"
-msgstr "nettverk"
-
-#: ../../mod/acl.php:232
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../mod/api.php:74 ../../mod/api.php:98
-msgid "Authorize application connection"
-msgstr "Tillat programforbindelse"
-
-#: ../../mod/api.php:75
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Gå tilbake til din app og legg inn denne sikkerhetskoden:"
-
-#: ../../mod/api.php:85
-msgid "Please login to continue."
-msgstr "Vennligst logg inn for å fortsette."
-
-#: ../../mod/api.php:100
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?"
-
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "App installert."
-
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Feil oppsett for app-en."
-
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Innbyggingskode"
-
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "Endre app"
-
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "Lag app"
-
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Navn på app"
-
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Plassering (URL) til app"
-
-#: ../../mod/appman.php:93 ../../mod/events.php:457 ../../mod/rbmark.php:97
-msgid "Description"
-msgstr "Beskrivelse"
-
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "Bildeikon URL"
-
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x80 pixler - valgfritt"
-
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Versjons-ID"
-
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Pris på app"
-
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Plassering (URL) for å kjøpe app"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Elementet er ikke tilgjengelig."
-
-#: ../../mod/block.php:27 ../../mod/page.php:36
-msgid "Invalid item."
-msgstr "Ugyldig element."
-
-#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29
-#: ../../mod/cal.php:56
-msgid "Channel not found."
-msgstr "Kanalen ble ikke funnet."
-
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Byggeklossens navn"
-
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Byggeklossens tittel"
-
-#: ../../mod/bookmarks.php:40
-msgid "Bookmark added"
-msgstr "Bokmerke lagt til"
-
-#: ../../mod/bookmarks.php:62
-msgid "My Bookmarks"
-msgstr "Mine bokmerker"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Send"
-#: ../../mod/bookmarks.php:73
-msgid "My Connections Bookmarks"
-msgstr "Mine forbindelsers bokmerker"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+msgid "Today"
+msgstr "Idag"
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
+#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
msgid "You must be logged in to see this page."
msgstr "Du må være innloegget for å se denne siden."
-#: ../../mod/channel.php:97
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Posts and comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:42
+msgid "Only posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:102
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden."
-#: ../../mod/channel.php:131 ../../mod/network.php:169 ../../mod/rpost.php:114
-msgid "Public"
-msgstr "Offentlig"
-
-#: ../../mod/chat.php:174
+#: ../../Zotlabs/Module/Chat.php:181
msgid "Room not found"
msgstr "Rommet ble ikke funnet"
-#: ../../mod/chat.php:185
+#: ../../Zotlabs/Module/Chat.php:197
msgid "Leave Room"
msgstr "Forlat rom"
-#: ../../mod/chat.php:186
-msgid "Delete This Room"
-msgstr "Slett dette rommet"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr ""
-#: ../../mod/chat.php:187
+#: ../../Zotlabs/Module/Chat.php:199
msgid "I am away right now"
msgstr "Jeg er borte akkurat nå"
-#: ../../mod/chat.php:188
+#: ../../Zotlabs/Module/Chat.php:200
msgid "I am online"
msgstr "Jeg er online"
-#: ../../mod/chat.php:190
+#: ../../Zotlabs/Module/Chat.php:202
msgid "Bookmark this room"
msgstr "Bokmerk dette rommet"
-#: ../../mod/chat.php:208 ../../mod/chat.php:231
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
+#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
+msgid "Please enter a link URL:"
+msgstr "Vennligst skriv inn en lenke URL:"
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
+#: ../../include/conversation.php:1256
+msgid "Encrypt text"
+msgstr "Krypter tekst"
+
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
+#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
+msgid "Insert web link"
+msgstr "Sett inn web-lenke"
+
+#: ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:232
msgid "New Chatroom"
msgstr "Nytt chatrom"
-#: ../../mod/chat.php:209
-msgid "Chatroom Name"
-msgstr "Navn på chatrom"
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr ""
-#: ../../mod/chat.php:210
+#: ../../Zotlabs/Module/Chat.php:234
msgid "Expiration of chats (minutes)"
msgstr "Chat utgår (antall minutter)"
-#: ../../mod/chat.php:227
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
+#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
+#: ../../include/acl_selectors.php:283
+msgid "Permissions"
+msgstr "Tillatelser"
+
+#: ../../Zotlabs/Module/Chat.php:246
#, php-format
msgid "%1$s's Chatrooms"
msgstr "%1$s sine chatrom"
-#: ../../mod/chatsvc.php:111
+#: ../../Zotlabs/Module/Chat.php:251
+msgid "No chatrooms available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Create New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Expiration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:256
+msgid "min"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chatsvc.php:117
msgid "Away"
msgstr "Borte"
-#: ../../mod/chatsvc.php:115
+#: ../../Zotlabs/Module/Chatsvc.php:122
msgid "Online"
msgstr "Online"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Ingen kanal."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Ugyldig element."
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Felles forbindelser"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Bokmerke lagt til"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Ingen forbindelser felles."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Mine bokmerker"
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Mine forbindelsers bokmerker"
-#: ../../mod/connect.php:56 ../../mod/connect.php:104
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
msgstr "Fortsett"
-#: ../../mod/connect.php:85
+#: ../../Zotlabs/Module/Connect.php:90
msgid "Premium Channel Setup"
msgstr "Premiumkanal-oppsett"
-#: ../../mod/connect.php:87
+#: ../../Zotlabs/Module/Connect.php:92
msgid "Enable premium channel connection restrictions"
msgstr "Slå på restriksjoner for forbindelse med premiumkanal"
-#: ../../mod/connect.php:88
+#: ../../Zotlabs/Module/Connect.php:93
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
msgstr "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre."
-#: ../../mod/connect.php:90 ../../mod/connect.php:110
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
"This channel may require additional steps or acknowledgement of the "
"following conditions prior to connecting:"
msgstr "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:"
-#: ../../mod/connect.php:91
+#: ../../Zotlabs/Module/Connect.php:96
msgid ""
"Potential connections will then see the following text before proceeding:"
msgstr "Potensielle forbindelser vil da se følgende tekst før de går videre:"
-#: ../../mod/connect.php:92 ../../mod/connect.php:113
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
msgid ""
"By continuing, I certify that I have complied with any instructions provided"
" on this page."
msgstr "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden."
-#: ../../mod/connect.php:101
+#: ../../Zotlabs/Module/Connect.php:106
msgid "(No specific instructions have been provided by the channel owner.)"
msgstr "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)"
-#: ../../mod/connect.php:109
+#: ../../Zotlabs/Module/Connect.php:114
msgid "Restricted or Premium Channel"
msgstr "Begrenset kanal eller premiumkanal"
-#: ../../mod/connections.php:52 ../../mod/connections.php:157
-#: ../../mod/connections.php:238
-msgid "Blocked"
-msgstr "Blokkert"
-
-#: ../../mod/connections.php:57 ../../mod/connections.php:164
-#: ../../mod/connections.php:237
-msgid "Ignored"
-msgstr "Ignorert"
-
-#: ../../mod/connections.php:62 ../../mod/connections.php:178
-#: ../../mod/connections.php:236
-msgid "Hidden"
-msgstr "Skjult"
-
-#: ../../mod/connections.php:67 ../../mod/connections.php:171
-#: ../../mod/connections.php:235
-msgid "Archived"
-msgstr "Arkivert"
-
-#: ../../mod/connections.php:134
-msgid "New Connections"
-msgstr "Nye forbindelser"
-
-#: ../../mod/connections.php:137
-msgid "Show pending (new) connections"
-msgstr "Vis ventende (nye) forbindelser"
-
-#: ../../mod/connections.php:141 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Alle forbindelser"
-
-#: ../../mod/connections.php:144
-msgid "Show all connections"
-msgstr "Vis alle forbindelser"
-
-#: ../../mod/connections.php:160
-msgid "Only show blocked connections"
-msgstr "Vis bare forbindelser som er blokkert"
-
-#: ../../mod/connections.php:167
-msgid "Only show ignored connections"
-msgstr "Vis bare ignorerte forbindelser"
-
-#: ../../mod/connections.php:174
-msgid "Only show archived connections"
-msgstr "Vis bare arkiverte forbindelser"
-
-#: ../../mod/connections.php:181
-msgid "Only show hidden connections"
-msgstr "Vis bare skjulte forbindelser"
-
-#: ../../mod/connections.php:234
-msgid "Pending approval"
-msgstr "Venter på godkjenning"
-
-#: ../../mod/connections.php:250
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:251
-msgid "Edit connection"
-msgstr "Endre forbindelse"
-
-#: ../../mod/connections.php:252
-msgid "Delete connection"
-msgstr "Slett forbindelse"
-
-#: ../../mod/connections.php:261
-msgid "Channel address"
-msgstr "Kanaladresse"
-
-#: ../../mod/connections.php:263
-msgid "Network"
-msgstr "Nettverk"
-
-#: ../../mod/connections.php:266 ../../mod/admin.php:668
-msgid "Status"
-msgstr "Status"
-
-#: ../../mod/connections.php:268
-msgid "Connected"
-msgstr "Forbundet"
-
-#: ../../mod/connections.php:270
-msgid "Approve connection"
-msgstr "Godkjenn forbindelse"
-
-#: ../../mod/connections.php:271 ../../mod/admin.php:991
-msgid "Approve"
-msgstr "Godkjenn"
-
-#: ../../mod/connections.php:272
-msgid "Ignore connection"
-msgstr "Ignorer forbindelse"
-
-#: ../../mod/connections.php:273 ../../mod/connedit.php:538
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorer"
-
-#: ../../mod/connections.php:274
-msgid "Recent activity"
-msgstr "Nylig aktivitet"
-
-#: ../../mod/connections.php:303
-msgid "Search your connections"
-msgstr "Søk blant dine forbindelser"
-
-#: ../../mod/connections.php:304
-msgid "Connections search"
-msgstr "Søk blant forbindelser"
-
-#: ../../mod/connedit.php:75
+#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "Fikk ikke tilgang til kontaktinformasjonen."
-#: ../../mod/connedit.php:99
+#: ../../Zotlabs/Module/Connedit.php:104
msgid "Could not locate selected profile."
msgstr "Fant ikke valgt profil."
-#: ../../mod/connedit.php:223
+#: ../../Zotlabs/Module/Connedit.php:227
msgid "Connection updated."
msgstr "Forbindelsen er oppdatert."
-#: ../../mod/connedit.php:225
+#: ../../Zotlabs/Module/Connedit.php:229
msgid "Failed to update connection record."
msgstr "Mislyktes med å oppdatere forbindelsesinformasjonen."
-#: ../../mod/connedit.php:272
+#: ../../Zotlabs/Module/Connedit.php:276
msgid "is now connected to"
msgstr "er nå forbundet til"
-#: ../../mod/connedit.php:400
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "Nei"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Ja"
+
+#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "Fikk ikke tilgang til informasjonen i adresseboken."
-#: ../../mod/connedit.php:414
+#: ../../Zotlabs/Module/Connedit.php:425
msgid "Refresh failed - channel is currently unavailable."
msgstr "Oppfrisking mislyktes - kanalen er for øyeblikket utilgjengelig."
-#: ../../mod/connedit.php:429 ../../mod/connedit.php:438
-#: ../../mod/connedit.php:447 ../../mod/connedit.php:456
-#: ../../mod/connedit.php:469
+#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
+#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Unable to set address book parameters."
msgstr "Ikke i stand til å angi parametre for adresseboken."
-#: ../../mod/connedit.php:493
+#: ../../Zotlabs/Module/Connedit.php:503
msgid "Connection has been removed."
msgstr "Forbindelsen har blitt fjernet."
-#: ../../mod/connedit.php:512
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:86 ../../include/conversation.php:954
+msgid "View Profile"
+msgstr "Vis profil"
+
+#: ../../Zotlabs/Module/Connedit.php:522
#, php-format
msgid "View %s's profile"
msgstr "Vis %s sin profil"
-#: ../../mod/connedit.php:516
+#: ../../Zotlabs/Module/Connedit.php:526
msgid "Refresh Permissions"
msgstr "Oppfrisk tillatelser"
-#: ../../mod/connedit.php:519
+#: ../../Zotlabs/Module/Connedit.php:529
msgid "Fetch updated permissions"
msgstr "Hent oppdaterte tillatelser"
-#: ../../mod/connedit.php:523
+#: ../../Zotlabs/Module/Connedit.php:533
msgid "Recent Activity"
msgstr "Nylig aktivitet"
-#: ../../mod/connedit.php:526
+#: ../../Zotlabs/Module/Connedit.php:536
msgid "View recent posts and comments"
msgstr "Vis nylige innlegg og kommentarer"
-#: ../../mod/connedit.php:530 ../../mod/admin.php:995
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
msgid "Unblock"
msgstr "Ikke blokker lenger"
-#: ../../mod/connedit.php:530 ../../mod/admin.php:994
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
msgid "Block"
msgstr "Blokker"
-#: ../../mod/connedit.php:533
+#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blokker eller fjern blokkering av all kommunikasjon med denne forbindelsen"
-#: ../../mod/connedit.php:534
+#: ../../Zotlabs/Module/Connedit.php:544
msgid "This connection is blocked!"
msgstr "Denne forbindelsen er blokkert!"
-#: ../../mod/connedit.php:538
+#: ../../Zotlabs/Module/Connedit.php:548
msgid "Unignore"
msgstr "Ikke ignorer lenger"
-#: ../../mod/connedit.php:541
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignorer eller fjern ignorering av all inngående kommunikasjon fra denne forbindelsen"
-#: ../../mod/connedit.php:542
+#: ../../Zotlabs/Module/Connedit.php:552
msgid "This connection is ignored!"
msgstr "Denne forbindelsen er ignorert!"
-#: ../../mod/connedit.php:546
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Unarchive"
msgstr "Ikke arkiver lenger"
-#: ../../mod/connedit.php:546
+#: ../../Zotlabs/Module/Connedit.php:556
msgid "Archive"
msgstr "Arkiver"
-#: ../../mod/connedit.php:549
+#: ../../Zotlabs/Module/Connedit.php:559
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Arkiver eller fjern arkivering av denne forbindelsen - marker kanal som død, men behold innhold"
-#: ../../mod/connedit.php:550
+#: ../../Zotlabs/Module/Connedit.php:560
msgid "This connection is archived!"
msgstr "Denne forbindelsen er arkivert!"
-#: ../../mod/connedit.php:554
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Unhide"
msgstr "Ikke skjul lenger"
-#: ../../mod/connedit.php:554
+#: ../../Zotlabs/Module/Connedit.php:564
msgid "Hide"
msgstr "Skjul"
-#: ../../mod/connedit.php:557
+#: ../../Zotlabs/Module/Connedit.php:567
msgid "Hide or Unhide this connection from your other connections"
msgstr "Skjul eller fjern skjuling av denne forbindelsen fra dine andre forbindelser"
-#: ../../mod/connedit.php:558
+#: ../../Zotlabs/Module/Connedit.php:568
msgid "This connection is hidden!"
msgstr "Denne forbindelsen er skjult!"
-#: ../../mod/connedit.php:565
+#: ../../Zotlabs/Module/Connedit.php:575
msgid "Delete this connection"
msgstr "Slett denne forbindelsen"
-#: ../../mod/connedit.php:646
+#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
+msgid "Me"
+msgstr "Meg"
+
+#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
+msgid "Family"
+msgstr "Familie"
+
+#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
+#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
+#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
+msgid "Friends"
+msgstr "Venner"
+
+#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
+msgid "Acquaintances"
+msgstr "Bekjente"
+
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Alle"
+
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Godta denne forbindelsen"
-#: ../../mod/connedit.php:646
+#: ../../Zotlabs/Module/Connedit.php:654
msgid "Accept connection to allow communication"
msgstr "Godta denne forbindelsen for å tillate kommunikasjon"
-#: ../../mod/connedit.php:651
+#: ../../Zotlabs/Module/Connedit.php:659
msgid "Set Affinity"
msgstr "Angi nærhet"
-#: ../../mod/connedit.php:654
+#: ../../Zotlabs/Module/Connedit.php:662
msgid "Set Profile"
msgstr "Angi profil"
-#: ../../mod/connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:665
msgid "Set Affinity & Profile"
msgstr "Angi nærhet og profil"
-#: ../../mod/connedit.php:690
+#: ../../Zotlabs/Module/Connedit.php:698
msgid "none"
msgstr "ingen"
-#: ../../mod/connedit.php:695
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
+msgid "Connection Default Permissions"
+msgstr "Forbindelsens standard tillatelser"
+
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
+#, php-format
+msgid "Connection: %s"
+msgstr "Forbindelse: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Apply these permissions automatically"
msgstr "Bruk disse tillatelsene automatisk"
-#: ../../mod/connedit.php:695
+#: ../../Zotlabs/Module/Connedit.php:703
msgid "Connection requests will be approved without your interaction"
msgstr "Forespørsler om forbindelse vil bli godkjent automatisk"
-#: ../../mod/connedit.php:697
+#: ../../Zotlabs/Module/Connedit.php:705
msgid "This connection's primary address is"
msgstr "Denne forbindelsens primære adresse er"
-#: ../../mod/connedit.php:698
+#: ../../Zotlabs/Module/Connedit.php:706
msgid "Available locations:"
msgstr "Tilgjengelige plasseringer:"
-#: ../../mod/connedit.php:702
+#: ../../Zotlabs/Module/Connedit.php:710
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Tillatelsene angitt på denne siden gjøres gjeldende for alle nye forbindelser."
-#: ../../mod/connedit.php:704
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Connection Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:713
msgid "Slide to adjust your degree of friendship"
msgstr "Flytt for å justere din grad av vennskap"
-#: ../../mod/connedit.php:706
+#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Vurdering"
+
+#: ../../Zotlabs/Module/Connedit.php:715
msgid "Slide to adjust your rating"
msgstr "Flytt for å justere din vurdering"
-#: ../../mod/connedit.php:707 ../../mod/connedit.php:712
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
msgid "Optionally explain your rating"
msgstr "Velg om du vil forklare vurderingen"
-#: ../../mod/connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:718
msgid "Custom Filter"
msgstr "Tilpasset filter"
-#: ../../mod/connedit.php:710
+#: ../../Zotlabs/Module/Connedit.php:719
msgid "Only import posts with this text"
msgstr "Bare importer innlegg med disse ordene"
-#: ../../mod/connedit.php:710 ../../mod/connedit.php:711
+#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "ord per linje eller #merkelapper eller /mønster/ eller språk lang=xx, la stå blankt for å importere alle innlegg"
-#: ../../mod/connedit.php:711
+#: ../../Zotlabs/Module/Connedit.php:720
msgid "Do not import posts with this text"
msgstr "Ikke importer innlegg med denne teksten"
-#: ../../mod/connedit.php:713
+#: ../../Zotlabs/Module/Connedit.php:722
msgid "This information is public!"
msgstr "Denne informasjonen er offentlig!"
-#: ../../mod/connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:727
msgid "Connection Pending Approval"
msgstr "Forbindelse venter på godkjenning"
-#: ../../mod/connedit.php:721
+#: ../../Zotlabs/Module/Connedit.php:730
msgid "inherited"
msgstr "arvet"
-#: ../../mod/connedit.php:723
+#: ../../Zotlabs/Module/Connedit.php:732
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Vennligst velg profilen du ønsker å vise %s når profilen din ses på en sikret måte. "
-#: ../../mod/connedit.php:725
+#: ../../Zotlabs/Module/Connedit.php:734
msgid "Their Settings"
msgstr "Deres innstillinger"
-#: ../../mod/connedit.php:726
+#: ../../Zotlabs/Module/Connedit.php:735
msgid "My Settings"
msgstr "Mine innstillinger"
-#: ../../mod/connedit.php:728
+#: ../../Zotlabs/Module/Connedit.php:737
msgid "Individual Permissions"
msgstr "Individuelle tillatelser"
-#: ../../mod/connedit.php:729
+#: ../../Zotlabs/Module/Connedit.php:738
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4893,7 +878,7 @@ msgid ""
" settings here."
msgstr "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan <strong>ikke</strong> endre arvede innstillingene her."
-#: ../../mod/connedit.php:730
+#: ../../Zotlabs/Module/Connedit.php:739
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4901,664 +886,916 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan endre disse innstillingene her, men de vil ikke få noen effekt før de arvede innstillingene endres."
-#: ../../mod/connedit.php:731
+#: ../../Zotlabs/Module/Connedit.php:740
msgid "Last update:"
msgstr "Siste oppdatering:"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "$Projectname-kanal"
-
-#: ../../mod/directory.php:59 ../../mod/display.php:13
-#: ../../mod/photos.php:490 ../../mod/ratings.php:82 ../../mod/search.php:13
-#: ../../mod/viewconnections.php:17
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:20
msgid "Public access denied."
msgstr "Offentlig tilgang avvist."
-#: ../../mod/directory.php:239
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d vurdering"
msgstr[1] "%d vurderinger"
-#: ../../mod/directory.php:250
+#: ../../Zotlabs/Module/Directory.php:254
msgid "Gender: "
msgstr "Kjønn:"
-#: ../../mod/directory.php:252
+#: ../../Zotlabs/Module/Directory.php:256
msgid "Status: "
msgstr "Status:"
-#: ../../mod/directory.php:254
+#: ../../Zotlabs/Module/Directory.php:258
msgid "Homepage: "
msgstr "Hjemmeside:"
-#: ../../mod/directory.php:313
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
+msgid "Age:"
+msgstr "Alder:"
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/channel.php:1027
+#: ../../include/bb2diaspora.php:507
+msgid "Location:"
+msgstr "Plassering:"
+
+#: ../../Zotlabs/Module/Directory.php:317
msgid "Description:"
msgstr "Beskrivelse:"
-#: ../../mod/directory.php:322
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
+msgid "Hometown:"
+msgstr "Hjemby:"
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
+msgid "About:"
+msgstr "Om:"
+
+#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/conversation.php:956 ../../include/channel.php:1012
+msgid "Connect"
+msgstr "Koble"
+
+#: ../../Zotlabs/Module/Directory.php:326
msgid "Public Forum:"
msgstr "Offentlig forum:"
-#: ../../mod/directory.php:325
+#: ../../Zotlabs/Module/Directory.php:329
msgid "Keywords: "
msgstr "Nøkkelord:"
-#: ../../mod/directory.php:328
+#: ../../Zotlabs/Module/Directory.php:332
msgid "Don't suggest"
msgstr "Ikke foreslå"
-#: ../../mod/directory.php:330
+#: ../../Zotlabs/Module/Directory.php:334
msgid "Common connections:"
msgstr "Felles forbindelser:"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Global Directory"
msgstr "Global katalog"
-#: ../../mod/directory.php:379
+#: ../../Zotlabs/Module/Directory.php:383
msgid "Local Directory"
msgstr "Lokal katalog"
-#: ../../mod/directory.php:385
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Finn"
+
+#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Finner:"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Kanalforslag"
+
+#: ../../Zotlabs/Module/Directory.php:394
msgid "next page"
msgstr "Neste side"
-#: ../../mod/directory.php:390
+#: ../../Zotlabs/Module/Directory.php:394
msgid "previous page"
msgstr "Forrige side"
-#: ../../mod/directory.php:391
+#: ../../Zotlabs/Module/Directory.php:395
msgid "Sort options"
msgstr "Sorteringsvalg"
-#: ../../mod/directory.php:392
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Alphabetic"
msgstr "Alfabetisk"
-#: ../../mod/directory.php:393
+#: ../../Zotlabs/Module/Directory.php:397
msgid "Reverse Alphabetic"
msgstr "Omvendt alfabetisk"
-#: ../../mod/directory.php:394
+#: ../../Zotlabs/Module/Directory.php:398
msgid "Newest to Oldest"
msgstr "Nyest til eldst"
-#: ../../mod/directory.php:395
+#: ../../Zotlabs/Module/Directory.php:399
msgid "Oldest to Newest"
msgstr "Eldst til nyest"
-#: ../../mod/directory.php:412
+#: ../../Zotlabs/Module/Directory.php:416
msgid "No entries (some entries may be hidden)."
msgstr "Ingen oppføringer (noen oppføringer kan være skjult)."
-#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:45
-msgid "This site is not a directory server"
-msgstr "Dette nettstedet er ikke en katalogtjener"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Elementet ble ikke funnet."
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Denne katalogtjeneren krever en tilgangsnøkkel (access token)"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Elementet ble ikke funnet."
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr "Ugyldig melding"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Tittel (valgfri)"
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr "ingen resultater"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Endre byggekloss"
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Ingen kanal."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Felles forbindelser"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Ingen forbindelser felles."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Blokkert"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Ignorert"
-#: ../../mod/dreport.php:60
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Skjult"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Arkivert"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Nye"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Nye forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Vis ventende (nye) forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Alle forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Vis alle forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Vis bare forbindelser som er blokkert"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Vis bare ignorerte forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Vis bare arkiverte forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Vis bare skjulte forbindelser"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "Venter på godkjenning"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Leveringsrapport for %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr "Kanalsynkronisering er behandlet"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Endre forbindelse"
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr "lagt i kø"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Slett forbindelse"
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr "lagt inn"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Kanaladresse"
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr "akseptert for levering"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Nettverk"
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr "oppdatert"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Status"
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr "oppdatering ignorert"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Forbundet"
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr "tillatelse avvist"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Godkjenn forbindelse"
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr "mottaker ble ikke funnet"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Godkjenn"
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr "melding tilbakekalt"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Ignorer forbindelse"
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr "duplikat av melding mottatt"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Nylig aktivitet"
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr "melding mottatt"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Forbindelser"
-#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
-#: ../../mod/editlayout.php:76 ../../mod/editpost.php:20
-#: ../../mod/editwebpage.php:77
-msgid "Item not found"
-msgstr "Elementet ble ikke funnet."
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Søk"
-#: ../../mod/editblock.php:118
-msgid "Delete block?"
-msgstr "Slett byggeklossen?"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Søk blant dine forbindelser"
-#: ../../mod/editblock.php:145 ../../mod/editlayout.php:143
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:185
-msgid "Insert YouTube video"
-msgstr "Sett inn YouTube-video"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Søk blant forbindelser"
-#: ../../mod/editblock.php:146 ../../mod/editlayout.php:144
-#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:186
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Sett inn Vorbis [.ogg] video"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes."
-#: ../../mod/editblock.php:147 ../../mod/editlayout.php:145
-#: ../../mod/editpost.php:123 ../../mod/editwebpage.php:187
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Legg i"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Forsidebilder"
-#: ../../mod/editblock.php:180
-msgid "Edit Block"
-msgstr "Endre byggekloss"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "Endring av bildestørrelse mislyktes."
-#: ../../mod/editlayout.php:112
-msgid "Delete layout?"
-msgstr "Slett layout?"
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "Kan ikke behandle bildet"
-#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Layoutens beskrivelse (valgfritt)"
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "Opplasting av bildet mislyktes."
-#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Layout-navn"
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Kan ikke behandle bildet."
-#: ../../mod/editlayout.php:178
-msgid "Edit Layout"
-msgstr "Endre layout"
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "kvinne"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Elementet kan ikke endres"
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s oppdaterte %2$s sitt"
-#: ../../mod/editpost.php:57
-msgid "Delete item?"
-msgstr "Slett element?"
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "mann"
-#: ../../mod/editpost.php:164 ../../mod/rpost.php:128
-msgid "Edit post"
-msgstr "Endre innlegg"
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s oppdaterte %2$s sitt"
-#: ../../mod/editwebpage.php:153
-msgid "Delete webpage?"
-msgstr "Slett webside?"
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s oppdaterte %2$s deres"
-#: ../../mod/editwebpage.php:172
-msgid "Page link title"
-msgstr "Sidens lenketittel"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "forsidebilde"
-#: ../../mod/editwebpage.php:222
-msgid "Edit Webpage"
-msgstr "Endre webside"
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Bildet er ikke tilgjengelig."
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Last opp fil:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Velg en profil:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Last opp forsidebilde"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "eller"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "hopp over dette steget"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "velg et bilde fra dine fotoalbum"
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Beskjær bildet"
-#: ../../mod/events.php:21
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Vennligst juster bildebeskjæringen for optimal visning."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Avslutt redigering"
+
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "Elementet kan ikke endres"
+
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+msgid "Edit post"
+msgstr "Endre innlegg"
+
+#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Kalenderhendelsene er importert."
-#: ../../mod/events.php:23
+#: ../../Zotlabs/Module/Events.php:28
msgid "No calendar entries found."
msgstr "Ingen kalenderhendelser funnet."
-#: ../../mod/events.php:100
+#: ../../Zotlabs/Module/Events.php:105
msgid "Event can not end before it has started."
msgstr "Hendelsen kan ikke slutte før den starter."
-#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131
+#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
+#: ../../Zotlabs/Module/Events.php:136
msgid "Unable to generate preview."
msgstr "Klarer ikke å lage forhåndsvisning."
-#: ../../mod/events.php:109
+#: ../../Zotlabs/Module/Events.php:114
msgid "Event title and start time are required."
msgstr "Hendelsestittel og starttidspunkt er påkrevd."
-#: ../../mod/events.php:129 ../../mod/events.php:254
+#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
msgid "Event not found."
msgstr "Hendelsen ble ikke funnet."
-#: ../../mod/events.php:444
+#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
+msgid "event"
+msgstr "hendelse"
+
+#: ../../Zotlabs/Module/Events.php:449
msgid "Edit event title"
msgstr "Endre tittel på hendelse"
-#: ../../mod/events.php:444
+#: ../../Zotlabs/Module/Events.php:449
msgid "Event title"
msgstr "Tittel på hendelse"
-#: ../../mod/events.php:446
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Påkrevd"
+
+#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Kategorier (kommaseparert liste)"
-#: ../../mod/events.php:447
+#: ../../Zotlabs/Module/Events.php:452
msgid "Edit Category"
msgstr "Endre kategori"
-#: ../../mod/events.php:447
+#: ../../Zotlabs/Module/Events.php:452
msgid "Category"
msgstr "Kategori"
-#: ../../mod/events.php:450
+#: ../../Zotlabs/Module/Events.php:455
msgid "Edit start date and time"
msgstr "Endre startdato og tidspunkt"
-#: ../../mod/events.php:450
+#: ../../Zotlabs/Module/Events.php:455
msgid "Start date and time"
msgstr "Startdato og tidspunkt"
-#: ../../mod/events.php:451 ../../mod/events.php:454
+#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
msgid "Finish date and time are not known or not relevant"
msgstr "Sluttdato og tidspunkt er ikke kjent eller ikke relevant"
-#: ../../mod/events.php:453
+#: ../../Zotlabs/Module/Events.php:458
msgid "Edit finish date and time"
msgstr "Endre sluttdato og tidspunkt"
-#: ../../mod/events.php:453
+#: ../../Zotlabs/Module/Events.php:458
msgid "Finish date and time"
msgstr "Sluttdato og tidspunkt"
-#: ../../mod/events.php:455 ../../mod/events.php:456
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
msgid "Adjust for viewer timezone"
msgstr "Juster i forhold til tilskuerens tidssone"
-#: ../../mod/events.php:455
+#: ../../Zotlabs/Module/Events.php:460
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager."
-#: ../../mod/events.php:457
+#: ../../Zotlabs/Module/Events.php:462
msgid "Edit Description"
msgstr "Endre beskrivelse"
-#: ../../mod/events.php:459
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Beskrivelse"
+
+#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Endre plassering"
-#: ../../mod/events.php:462 ../../mod/events.php:464
+#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Plassering"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
msgid "Share this event"
msgstr "Del denne hendelsen"
-#: ../../mod/events.php:469
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
+msgid "Preview"
+msgstr "Forhåndsvisning"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
+msgid "Permission settings"
+msgstr "Tillatelser - innstillinger"
+
+#: ../../Zotlabs/Module/Events.php:476
msgid "Advanced Options"
msgstr "Avanserte alternativer"
-#: ../../mod/events.php:581 ../../mod/cal.php:253
-msgid "l, F j"
-msgstr "l, F j"
-
-#: ../../mod/events.php:603
+#: ../../Zotlabs/Module/Events.php:610
msgid "Edit event"
msgstr "Endre hendelse"
-#: ../../mod/events.php:605
+#: ../../Zotlabs/Module/Events.php:612
msgid "Delete event"
msgstr "Slett hendelse"
-#: ../../mod/events.php:639
+#: ../../Zotlabs/Module/Events.php:646
msgid "calendar"
msgstr "kalender"
-#: ../../mod/events.php:658 ../../mod/cal.php:325
-msgid "Edit Event"
-msgstr "Endre hendelse"
-
-#: ../../mod/events.php:658 ../../mod/cal.php:325
-msgid "Create Event"
-msgstr "Lag hendelse"
-
-#: ../../mod/events.php:659 ../../mod/events.php:666 ../../mod/photos.php:916
-#: ../../mod/cal.php:326 ../../mod/cal.php:333
-msgid "Previous"
-msgstr "Forrige"
-
-#: ../../mod/events.php:660 ../../mod/events.php:667 ../../mod/photos.php:925
-#: ../../mod/setup.php:288 ../../mod/cal.php:327 ../../mod/cal.php:334
-msgid "Next"
-msgstr "Neste"
-
-#: ../../mod/events.php:668 ../../mod/cal.php:335
-msgid "Today"
-msgstr "Idag"
-
-#: ../../mod/events.php:699
+#: ../../Zotlabs/Module/Events.php:706
msgid "Event removed"
msgstr "Hendelse slettet"
-#: ../../mod/events.php:702
+#: ../../Zotlabs/Module/Events.php:709
msgid "Failed to remove event"
msgstr "Mislyktes med å slette hendelse"
-#: ../../mod/ffsapi.php:8
-msgid "Share content from Firefox to $Projectname"
-msgstr "Del innhold fra Firefox til $Projectname"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
+msgid "Photos"
+msgstr "Bilder"
-#: ../../mod/ffsapi.php:11
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Skru på Firefox $Projectname tilbyderen"
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Dette nettstedet er ikke en katalogtjener"
-#: ../../mod/filer.php:48
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Denne katalogtjeneren krever en tilgangsnøkkel (access token)"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Lagre til mappe:"
+
+#: ../../Zotlabs/Module/Filer.php:52
msgid "- select -"
msgstr "- velg -"
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Tillatelse avvist."
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Lagre"
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "Filen ble ikke funnet."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Ugyldig melding"
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Endre filtillatelser"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "ingen resultater"
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Angi/endre tillatelser"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Leveringsrapport for %1$s"
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Inkluder alle filer og undermapper"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "Kanalsynkronisering er behandlet"
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Gå tilbake til filoversikten"
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "lagt i kø"
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Kopier og lim inn denne koden for å legge til filen i et innlegg"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "lagt inn"
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Kopier og lim inn denne URL-en for å lenke til filen fra en webside"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "akseptert for levering"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Del denne filen"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "oppdatert"
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Vis URLen til denne filen"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "oppdatering ignorert"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Varsle dine kontakter om denne filen"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "tillatelse avvist"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanal lagt til."
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "mottaker ble ikke funnet"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Kontakten ble ikke funnet."
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "melding tilbakekalt"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Venneforespørsel sendt."
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "duplikat av melding mottatt"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Foreslå venner"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "melding mottatt"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Foreslå en venn for %s"
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Layout-navn"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Layoutens beskrivelse (valgfritt)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Endre layout"
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Endre webside"
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Kanal lagt til."
-#: ../../mod/group.php:20
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "nettverk"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
+
+#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "Personverngruppen er opprettet."
-#: ../../mod/group.php:26
+#: ../../Zotlabs/Module/Group.php:30
msgid "Could not create privacy group."
msgstr "Kunne ikke opprette personverngruppen."
-#: ../../mod/group.php:54
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3893
+msgid "Privacy group not found."
+msgstr "Personverngruppen ble ikke funnet"
+
+#: ../../Zotlabs/Module/Group.php:58
msgid "Privacy group updated."
msgstr "Personverngruppen er oppdatert."
-#: ../../mod/group.php:86
+#: ../../Zotlabs/Module/Group.php:90
msgid "Create a group of channels."
msgstr "Lag en gruppe av kanaler."
-#: ../../mod/group.php:87 ../../mod/group.php:180
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
msgid "Privacy group name: "
msgstr "Personverngruppens navn:"
-#: ../../mod/group.php:89 ../../mod/group.php:183
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
msgid "Members are visible to other channels"
msgstr "Medlemmer er synlig for andre kanaler"
-#: ../../mod/group.php:107
+#: ../../Zotlabs/Module/Group.php:111
msgid "Privacy group removed."
msgstr "Personverngruppen er fjernet."
-#: ../../mod/group.php:109
+#: ../../Zotlabs/Module/Group.php:113
msgid "Unable to remove privacy group."
msgstr "Ikke i stand til å fjerne personverngruppen."
-#: ../../mod/group.php:179
+#: ../../Zotlabs/Module/Group.php:183
msgid "Privacy group editor"
msgstr "Personverngruppebehandler"
-#: ../../mod/group.php:193
+#: ../../Zotlabs/Module/Group.php:197
msgid "Members"
msgstr "Medlemmer"
-#: ../../mod/group.php:195
+#: ../../Zotlabs/Module/Group.php:199
msgid "All Connected Channels"
msgstr "Alle tilkoblede kanaler"
-#: ../../mod/group.php:227
+#: ../../Zotlabs/Module/Group.php:231
msgid "Click on a channel to add or remove."
msgstr "Klikk på en kanal for å legge til eller fjerne."
-#: ../../mod/help.php:149
-msgid "Documentation Search"
-msgstr "Søk i dokumentasjon"
-
-#: ../../mod/help.php:190 ../../mod/help.php:196 ../../mod/help.php:202
-msgid "Help:"
-msgstr "Hjelp:"
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Del innhold fra Firefox til $Projectname"
-#: ../../mod/help.php:243
-msgid "$Projectname Documentation"
-msgstr "$Projectname dokumentasjon"
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Skru på Firefox $Projectname tilbyderen"
-#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Tillat programforbindelse"
-#: ../../mod/home.php:75
-#, php-format
-msgid "Welcome to %s"
-msgstr "Velkommen til %s"
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Gå tilbake til din app og legg inn denne sikkerhetskoden:"
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Fornavn"
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Vennligst logg inn for å fortsette."
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Etternavn"
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?"
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Kallenavn"
+#: ../../Zotlabs/Module/Help.php:26
+msgid "Documentation Search"
+msgstr "Søk i dokumentasjon"
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Fullt navn"
+#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
+#: ../../Zotlabs/Module/Help.php:79
+msgid "Help:"
+msgstr "Hjelp:"
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Profilbilde 16px"
+#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
+#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
+#: ../../include/nav.php:159
+msgid "Help"
+msgstr "Hjelp"
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Profilbilde 32px"
+#: ../../Zotlabs/Module/Help.php:120
+msgid "$Projectname Documentation"
+msgstr "$Projectname dokumentasjon"
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Profilbilde 48px"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Tillatelse avvist."
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Profilbilde 64px"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Filen ble ikke funnet."
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Profilbilde 80px"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Endre filtillatelser"
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Profilbilde 128px"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Angi/endre tillatelser"
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Tidssone"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Inkluder alle filer og undermapper"
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "Hjemmeside URL"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Gå tilbake til filoversikten"
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Fødselsår"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Kopier og lim inn denne koden for å legge til filen i et innlegg"
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Fødselsmåne"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Kopier og lim inn denne URL-en for å lenke til filen fra en webside"
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Fødselsdag"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Del denne filen"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Fødselsdato"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Vis URLen til denne filen"
-#: ../../mod/id.php:33 ../../mod/profiles.php:441
-msgid "Gender"
-msgstr "Kjønn"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Varsle dine kontakter om denne filen"
-#: ../../mod/impel.php:192
-#, php-format
-msgid "%s element installed"
-msgstr "%s element installert"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Apper"
-#: ../../mod/impel.php:195
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installasjon av %s-element mislyktes"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Elementet er ikke tilgjengelig."
-#: ../../mod/import.php:28
+#: ../../Zotlabs/Module/Import.php:32
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Din tjenesteplan tillater bare %d kanaler."
-#: ../../mod/import.php:66 ../../mod/import_items.php:38
+#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
msgid "Nothing to import."
msgstr "Ingenting å importere."
-#: ../../mod/import.php:90 ../../mod/import_items.php:62
+#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
msgid "Unable to download data from old server"
msgstr "Ikke i stand til å laste ned data fra gammel tjener"
-#: ../../mod/import.php:96 ../../mod/import_items.php:68
+#: ../../Zotlabs/Module/Import.php:100
+#: ../../Zotlabs/Module/Import_items.php:72
msgid "Imported file is empty."
msgstr "Importert fil er tom."
-#: ../../mod/import.php:119 ../../mod/import_items.php:82
+#: ../../Zotlabs/Module/Import.php:122
+#: ../../Zotlabs/Module/Import_items.php:86
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Advarsel: databaseversjoner avviker med %1$d oppdateringer."
-#: ../../mod/import.php:124
-msgid "Server platform is not compatible. Operation not permitted."
-msgstr "Tjenerplattformen er ikke kompatibel. Handlingen er ikke tillatt."
+#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
+msgid "Cloned channel not found. Import failed."
+msgstr "Klonet kanal ble ikke funnet. Import mislyktes."
-#: ../../mod/import.php:158
+#: ../../Zotlabs/Module/Import.php:160
msgid "No channel. Import failed."
msgstr "Ingen kanal. Import mislyktes."
-#: ../../mod/import.php:518
+#: ../../Zotlabs/Module/Import.php:510
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "Import ferdig."
+
+#: ../../Zotlabs/Module/Import.php:532
msgid "You must be logged in to use this feature."
msgstr "Du må være innlogget for å bruke denne funksjonen."
-#: ../../mod/import.php:523
+#: ../../Zotlabs/Module/Import.php:537
msgid "Import Channel"
msgstr "Importer kanal"
-#: ../../mod/import.php:524
+#: ../../Zotlabs/Module/Import.php:538
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil."
-#: ../../mod/import.php:525 ../../mod/import_items.php:115
+#: ../../Zotlabs/Module/Import.php:539
+#: ../../Zotlabs/Module/Import_items.php:119
msgid "File to Upload"
msgstr "Fil som skal lastes opp"
-#: ../../mod/import.php:526
+#: ../../Zotlabs/Module/Import.php:540
msgid "Or provide the old server/hub details"
msgstr "Eller oppgi detaljene fra den gamle tjeneren/hub-en"
-#: ../../mod/import.php:527
+#: ../../Zotlabs/Module/Import.php:541
msgid "Your old identity address (xyz@example.com)"
msgstr "Din gamle identitetsadresse (xyz@example.com)"
-#: ../../mod/import.php:528
+#: ../../Zotlabs/Module/Import.php:542
msgid "Your old login email address"
msgstr "Din gamle innloggings e-postadresse"
-#: ../../mod/import.php:529
+#: ../../Zotlabs/Module/Import.php:543
msgid "Your old login password"
msgstr "Ditt gamle innloggingspassord"
-#: ../../mod/import.php:530
+#: ../../Zotlabs/Module/Import.php:544
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be"
@@ -5566,3745 +1803,4382 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media."
-#: ../../mod/import.php:531
+#: ../../Zotlabs/Module/Import.php:545
msgid "Make this hub my primary location"
msgstr "Gjør dette nettstedet til min primære plassering"
-#: ../../mod/import.php:532
+#: ../../Zotlabs/Module/Import.php:546
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)"
-#: ../../mod/import.php:533
+#: ../../Zotlabs/Module/Import.php:547
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig."
-#: ../../mod/import_items.php:98
-msgid "Import completed"
-msgstr "Import ferdig"
-
-#: ../../mod/import_items.php:113
-msgid "Import Items"
-msgstr "Importer elementer"
-
-#: ../../mod/import_items.php:114
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil."
-
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Grensen for totalt antall invitasjoner er overskredet."
-
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : ikke en gyldig e-postadresse."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on $Projectname"
-msgstr "Bli med oss på $Projectname"
-
-#: ../../mod/invite.php:70
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted."
-
-#: ../../mod/invite.php:75
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : meldingslevering feilet."
-
-#: ../../mod/invite.php:79
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d melding sendt."
-msgstr[1] "%d meldinger sendt."
-
-#: ../../mod/invite.php:98
-msgid "You have no more invitations available"
-msgstr "Du har ikke flere invitasjoner tilgjengelig"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Send invitasjoner"
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Skriv e-postadresser, en per linje:"
-
-#: ../../mod/invite.php:131 ../../mod/mail.php:246
-msgid "Your message:"
-msgstr "Din melding:"
-
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Du er velkommen til å bli med i mitt fellesskap på $Projectname."
-
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code:"
-msgstr "Du må oppgi denne invitasjonskoden:"
-
-#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrer ved enhver $Projectname-lokasjon (de er alle forbundet med hverandre)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Skriv inn min $Projectname-adresse i nettstedets søkefelt."
-
-#: ../../mod/invite.php:138
-msgid "or visit"
-msgstr "eller besøke"
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Klikk [Forbindelse]"
-
-#: ../../mod/item.php:174
+#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "Ikke i stand til å finne opprinnelig innlegg."
-#: ../../mod/item.php:423
+#: ../../Zotlabs/Module/Item.php:427
msgid "Empty post discarded."
msgstr "Tomt innlegg forkastet."
-#: ../../mod/item.php:463
+#: ../../Zotlabs/Module/Item.php:467
msgid "Executable content type not permitted to this channel."
msgstr "Kjørbar innholdstype er ikke tillat for denne kanalen."
-#: ../../mod/item.php:830
+#: ../../Zotlabs/Module/Item.php:847
msgid "Duplicate post suppressed."
msgstr "Duplikat av innlegg forhindret."
-#: ../../mod/item.php:960
+#: ../../Zotlabs/Module/Item.php:977
msgid "System error. Post not saved."
msgstr "Systemfeil. Innlegg ble ikke lagret."
-#: ../../mod/item.php:1227
+#: ../../Zotlabs/Module/Item.php:1241
msgid "Unable to obtain post information from database."
msgstr "Ikke i stand til å få tak i informasjon om innlegg fra databasen."
-#: ../../mod/item.php:1234
+#: ../../Zotlabs/Module/Item.php:1248
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Du har nådd din grense på %1$.0f startinnlegg."
-#: ../../mod/item.php:1241
+#: ../../Zotlabs/Module/Item.php:1255
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Du har nådd din grense på %1$.0f websider."
-#: ../../mod/layouts.php:176
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
+msgid "Layouts"
+msgstr "Layout"
+
+#: ../../Zotlabs/Module/Layouts.php:183
msgid "Comanche page description language help"
msgstr "Hjelp med Comanche sidebeskrivelsesspråk"
-#: ../../mod/layouts.php:180
+#: ../../Zotlabs/Module/Layouts.php:187
msgid "Layout Description"
msgstr "Layout-beskrivelse"
-#: ../../mod/layouts.php:185
+#: ../../Zotlabs/Module/Layouts.php:192
msgid "Download PDL file"
msgstr "Last ned PDL-fil"
-#: ../../mod/like.php:15
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "Velkommen til %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Fornavn"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Etternavn"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Kallenavn"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Fullt navn"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "E-post"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Profilbilde"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Profilbilde 16px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Profilbilde 32px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Profilbilde 48px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Profilbilde 64px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Profilbilde 80px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Profilbilde 128px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Tidssone"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Hjemmeside URL"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Språk"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Fødselsår"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Fødselsmåne"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Fødselsdag"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Fødselsdato"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Kjønn"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Mannlig"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Kvinnelig"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "nettside"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "byggekloss"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "layout"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "meny"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "%s element installert"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "Installasjon av %s-element mislyktes"
+
+#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Liker/Liker ikke"
-#: ../../mod/like.php:20
+#: ../../Zotlabs/Module/Like.php:24
msgid "This action is restricted to members."
msgstr "Denne handlingen er begrenset til medlemmer."
-#: ../../mod/like.php:21
+#: ../../Zotlabs/Module/Like.php:25
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "Vennligst <a href=\"rmagic\">logg inn med din $Projectname ID</a> eller <a href=\"register\">registrer deg som et nytt $Projectname-medlem</a> for å fortsette"
-#: ../../mod/like.php:101 ../../mod/like.php:127 ../../mod/like.php:165
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
msgid "Invalid request."
msgstr "Ugyldig forespørsel."
-#: ../../mod/like.php:142
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "kanal"
+
+#: ../../Zotlabs/Module/Like.php:146
msgid "thing"
msgstr "ting"
-#: ../../mod/like.php:188
+#: ../../Zotlabs/Module/Like.php:192
msgid "Channel unavailable."
msgstr "Kanalen er utilgjengelig."
-#: ../../mod/like.php:236
+#: ../../Zotlabs/Module/Like.php:240
msgid "Previous action reversed."
msgstr "Forrige handling er omgjort."
-#: ../../mod/like.php:414
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "foto"
+
+#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1946 ../../include/conversation.php:148
+msgid "status"
+msgstr "status"
+
+#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s liker %2$s sin %3$s"
+
+#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s liker ikke %2$s sin %3$s"
+
+#: ../../Zotlabs/Module/Like.php:424
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s er enig med %2$s sin %3$s"
-#: ../../mod/like.php:416
+#: ../../Zotlabs/Module/Like.php:426
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s er ikke enig med %2$s sin %3$s"
-#: ../../mod/like.php:418
+#: ../../Zotlabs/Module/Like.php:428
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s avstår fra å mene noe om %2$s sin %3$s"
-#: ../../mod/like.php:420
+#: ../../Zotlabs/Module/Like.php:430
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s deltar på %2$ss %3$s"
-#: ../../mod/like.php:422
+#: ../../Zotlabs/Module/Like.php:432
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s deltar ikke på %2$ss %3$s"
-#: ../../mod/like.php:424
+#: ../../Zotlabs/Module/Like.php:434
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s deltar kanskje på %2$ss %3$s"
-#: ../../mod/like.php:527
+#: ../../Zotlabs/Module/Like.php:537
msgid "Action completed."
msgstr "Handling ferdig."
-#: ../../mod/like.php:528
+#: ../../Zotlabs/Module/Like.php:538
msgid "Thank you."
msgstr "Tusen takk."
-#: ../../mod/lockview.php:37
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "Import ferdig"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importer elementer"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Grensen for totalt antall invitasjoner er overskredet."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : ikke en gyldig e-postadresse."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Bli med oss på $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : meldingslevering feilet."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d melding sendt."
+msgstr[1] "%d meldinger sendt."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Du har ikke flere invitasjoner tilgjengelig"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Send invitasjoner"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Skriv e-postadresser, en per linje:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Din melding:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Du er velkommen til å bli med i mitt fellesskap på $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Du må oppgi denne invitasjonskoden:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registrer ved enhver $Projectname-lokasjon (de er alle forbundet med hverandre)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Skriv inn min $Projectname-adresse i nettstedets søkefelt."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "eller besøke"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Klikk [Forbindelse]"
+
+#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "Ekstern personverninformasjon er ikke tilgjengelig."
-#: ../../mod/lockview.php:58
+#: ../../Zotlabs/Module/Lockview.php:82
msgid "Visible to:"
msgstr "Synlig for:"
-#: ../../mod/locs.php:21 ../../mod/locs.php:50
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
msgid "Location not found."
msgstr "Plassering er ikke funnet."
-#: ../../mod/locs.php:58
+#: ../../Zotlabs/Module/Locs.php:62
msgid "Location lookup failed."
msgstr "Oppslag på plassering mislyktes."
-#: ../../mod/locs.php:62
+#: ../../Zotlabs/Module/Locs.php:66
msgid ""
"Please select another location to become primary before removing the primary"
" location."
msgstr "Vennligst velg en annen plassering som primær før du sletter gjeldende primære plassering."
-#: ../../mod/locs.php:91
+#: ../../Zotlabs/Module/Locs.php:95
msgid "Syncing locations"
msgstr "Synkroniserer plasseringer"
-#: ../../mod/locs.php:101
+#: ../../Zotlabs/Module/Locs.php:105
msgid "No locations found."
msgstr "Ingen plasseringer ble funnet."
-#: ../../mod/locs.php:112
+#: ../../Zotlabs/Module/Locs.php:116
msgid "Manage Channel Locations"
msgstr "Håndter kanalplasseringer"
-#: ../../mod/locs.php:113
-msgid "Location (address)"
-msgstr "Plassering (adresse)"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Adresse"
-#: ../../mod/locs.php:114
-msgid "Primary Location"
-msgstr "Hovedplassering"
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr ""
-#: ../../mod/locs.php:115
-msgid "Drop location"
-msgstr "Slett plassering"
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr "Slett"
-#: ../../mod/locs.php:117
-msgid "Sync now"
-msgstr "Synkroniser nå"
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr ""
-#: ../../mod/locs.php:118
+#: ../../Zotlabs/Module/Locs.php:123
msgid "Please wait several minutes between consecutive operations."
msgstr "Vennligst vent flere minutter mellom hver etterfølgende operasjon."
-#: ../../mod/locs.php:119
+#: ../../Zotlabs/Module/Locs.php:124
msgid ""
"When possible, drop a location by logging into that website/hub and removing"
" your channel."
msgstr "Når mulig, fjern en plassering ved å logge inn på det nettstedet eller den hub-en og fjern din kanal."
-#: ../../mod/locs.php:120
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Bruk dette skjemaet for å fjerne plasseringen hvis huben ikke er i drift lenger."
-#: ../../mod/ping.php:260
-msgid "sent you a private message"
-msgstr "sendte deg en privat melding"
-
-#: ../../mod/ping.php:308
-msgid "added your channel"
-msgstr "la til din kanal"
-
-#: ../../mod/ping.php:350
-msgid "posted an event"
-msgstr "la ut en hendelse"
-
-#: ../../mod/magic.php:69
+#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Hubben ble ikke funnet."
-#: ../../mod/mail.php:34
+#: ../../Zotlabs/Module/Mail.php:38
msgid "Unable to lookup recipient."
msgstr "Ikke i stand til å slå opp mottaker."
-#: ../../mod/mail.php:42
+#: ../../Zotlabs/Module/Mail.php:45
msgid "Unable to communicate with requested channel."
msgstr "Ikke i stand til å kommunisere med forespurt kanal."
-#: ../../mod/mail.php:49
+#: ../../Zotlabs/Module/Mail.php:52
msgid "Cannot verify requested channel."
msgstr "Kan ikke bekrefte forespurt kanal."
-#: ../../mod/mail.php:75
+#: ../../Zotlabs/Module/Mail.php:78
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Valgt kanal har restriksjoner for private meldinger. Sending feilet."
-#: ../../mod/mail.php:140
+#: ../../Zotlabs/Module/Mail.php:143
msgid "Messages"
msgstr "Meldinger"
-#: ../../mod/mail.php:175
+#: ../../Zotlabs/Module/Mail.php:178
msgid "Message recalled."
msgstr "Innlegg tilbakekalt."
-#: ../../mod/mail.php:188
+#: ../../Zotlabs/Module/Mail.php:191
msgid "Conversation removed."
msgstr "Samtale fjernet."
-#: ../../mod/mail.php:231
+#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Utløper YYYY-MM-DD HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:234
msgid "Requested channel is not in this network"
msgstr "Forespurt kanal er ikke tilgjengelig i dette nettverket."
-#: ../../mod/mail.php:239
+#: ../../Zotlabs/Module/Mail.php:242
msgid "Send Private Message"
msgstr "Send privat melding"
-#: ../../mod/mail.php:240 ../../mod/mail.php:370
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
msgid "To:"
msgstr "Til:"
-#: ../../mod/mail.php:243 ../../mod/mail.php:372
+#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
msgid "Subject:"
msgstr "Emne:"
-#: ../../mod/mail.php:250
+#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
+#: ../../include/conversation.php:1220
+msgid "Attach file"
+msgstr "Legg ved fil"
+
+#: ../../Zotlabs/Module/Mail.php:253
msgid "Send"
msgstr "Send"
-#: ../../mod/mail.php:342
+#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
+#: ../../include/conversation.php:1251
+msgid "Set expiration date"
+msgstr "Angi utløpsdato"
+
+#: ../../Zotlabs/Module/Mail.php:340
msgid "Delete message"
msgstr "Slett melding"
-#: ../../mod/mail.php:343
+#: ../../Zotlabs/Module/Mail.php:341
msgid "Delivery report"
msgstr "Leveringsrapport"
-#: ../../mod/mail.php:344
+#: ../../Zotlabs/Module/Mail.php:342
msgid "Recall message"
msgstr "Tilbakekall innlegg"
-#: ../../mod/mail.php:346
+#: ../../Zotlabs/Module/Mail.php:344
msgid "Message has been recalled."
msgstr "Innlegget har blitt tilbakekalt."
-#: ../../mod/mail.php:363
+#: ../../Zotlabs/Module/Mail.php:361
msgid "Delete Conversation"
msgstr "Slett samtale"
-#: ../../mod/mail.php:365
+#: ../../Zotlabs/Module/Mail.php:363
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside."
-#: ../../mod/mail.php:369
+#: ../../Zotlabs/Module/Mail.php:367
msgid "Send Reply"
msgstr "Send svar"
-#: ../../mod/mail.php:374
+#: ../../Zotlabs/Module/Mail.php:372
#, php-format
msgid "Your message for %s (%s):"
msgstr "Din melding til %s (%s):"
-#: ../../mod/manage.php:130 ../../mod/new_channel.php:117
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Du har laget %1$.0f av %2$.0f tillatte kanaler."
-#: ../../mod/manage.php:138
+#: ../../Zotlabs/Module/Manage.php:143
msgid "Create a new channel"
msgstr "Lag en ny kanal"
-#: ../../mod/manage.php:163
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../include/nav.php:206
+msgid "Channel Manager"
+msgstr "Kanalstyring"
+
+#: ../../Zotlabs/Module/Manage.php:165
msgid "Current Channel"
msgstr "Gjeldende kanal"
-#: ../../mod/manage.php:165
+#: ../../Zotlabs/Module/Manage.php:167
msgid "Switch to one of your channels by selecting it."
msgstr "Bytt til en av dine kanaler ved å velge den."
-#: ../../mod/manage.php:166
+#: ../../Zotlabs/Module/Manage.php:168
msgid "Default Channel"
msgstr "Standardkanal"
-#: ../../mod/manage.php:167
+#: ../../Zotlabs/Module/Manage.php:169
msgid "Make Default"
msgstr "Gjør til standard"
-#: ../../mod/manage.php:170
+#: ../../Zotlabs/Module/Manage.php:172
#, php-format
msgid "%d new messages"
msgstr "%d nye meldinger"
-#: ../../mod/manage.php:171
+#: ../../Zotlabs/Module/Manage.php:173
#, php-format
msgid "%d new introductions"
msgstr "%d nye introduksjoner"
-#: ../../mod/manage.php:173
-msgid "Delegated Channels"
-msgstr "Delegerte kanaler"
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr ""
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Profiltreff"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Ingen gyldig konto funnet."
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "er interessert i:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Nettstedsmedlem (%s)"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Ingen treff"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Forespurt om å tilbakestille passord hos %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Tilbakestill passord"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Ditt passord har blitt tilbakestilt som forespurt."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Ditt nye passord er"
-#: ../../mod/menu.php:45
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Lagre eller kopier ditt nye passord, og deretter kan du"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "klikke her for å logge inn"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Ditt passord er endret hos %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Glemt passord ditt?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "E-postadresse"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Tilbakestill"
+
+#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
msgstr "Ikke i stand til å oppdatere meny."
-#: ../../mod/menu.php:56
+#: ../../Zotlabs/Module/Menu.php:60
msgid "Unable to create menu."
msgstr "Ikke i stand til å lage meny."
-#: ../../mod/menu.php:94 ../../mod/menu.php:106
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
msgid "Menu Name"
msgstr "Menynavn"
-#: ../../mod/menu.php:94
+#: ../../Zotlabs/Module/Menu.php:98
msgid "Unique name (not visible on webpage) - required"
msgstr "Unikt navn (ikke synlig på websiden) - påkrevet"
-#: ../../mod/menu.php:95 ../../mod/menu.php:107
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
msgid "Menu Title"
msgstr "Menytittel"
-#: ../../mod/menu.php:95
+#: ../../Zotlabs/Module/Menu.php:99
msgid "Visible on webpage - leave empty for no title"
msgstr "Synlig på websiden - la stå tomt for ingen tittel"
-#: ../../mod/menu.php:96
+#: ../../Zotlabs/Module/Menu.php:100
msgid "Allow Bookmarks"
msgstr "Tillat bokmerker"
-#: ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
msgid "Menu may be used to store saved bookmarks"
msgstr "Menyen kan brukes til å lagre lagrede bokmerker"
-#: ../../mod/menu.php:97 ../../mod/menu.php:155
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
msgid "Submit and proceed"
msgstr "Send inn og fortsett"
-#: ../../mod/menu.php:109
-msgid "Drop"
-msgstr "Slett"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
+msgid "Menus"
+msgstr "Menyer"
-#: ../../mod/menu.php:113
+#: ../../Zotlabs/Module/Menu.php:117
msgid "Bookmarks allowed"
msgstr "Bokmerker tillatt"
-#: ../../mod/menu.php:115
+#: ../../Zotlabs/Module/Menu.php:119
msgid "Delete this menu"
msgstr "Slett denne menyen"
-#: ../../mod/menu.php:116 ../../mod/menu.php:150
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
msgid "Edit menu contents"
msgstr "Endre menyinnholdet"
-#: ../../mod/menu.php:117
+#: ../../Zotlabs/Module/Menu.php:121
msgid "Edit this menu"
msgstr "Endre denne menyen"
-#: ../../mod/menu.php:132
+#: ../../Zotlabs/Module/Menu.php:136
msgid "Menu could not be deleted."
msgstr "Menyen kunne ikke bli slettet."
-#: ../../mod/menu.php:140 ../../mod/mitem.php:24
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
msgid "Menu not found."
msgstr "Menyen ble ikke funnet."
-#: ../../mod/menu.php:145
+#: ../../Zotlabs/Module/Menu.php:149
msgid "Edit Menu"
msgstr "Endre meny"
-#: ../../mod/menu.php:149
+#: ../../Zotlabs/Module/Menu.php:153
msgid "Add or remove entries to this menu"
msgstr "Legg til eller fjern punkter i denne menyen"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Menu name"
msgstr "Menynavn"
-#: ../../mod/menu.php:151
+#: ../../Zotlabs/Module/Menu.php:155
msgid "Must be unique, only seen by you"
msgstr "Må være unik, ses bare av deg"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title"
msgstr "Menytittel"
-#: ../../mod/menu.php:152
+#: ../../Zotlabs/Module/Menu.php:156
msgid "Menu title as seen by others"
msgstr "Menytittelen andre ser"
-#: ../../mod/menu.php:153
+#: ../../Zotlabs/Module/Menu.php:157
msgid "Allow bookmarks"
msgstr "Tillat bokmerker"
-#: ../../mod/menu.php:162 ../../mod/mitem.php:116 ../../mod/xchan.php:37
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
msgid "Not found."
msgstr "Ikke funnet."
-#: ../../mod/mitem.php:48
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s er %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Stemning"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Angi ditt nåværende humør og fortell dine venner"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profiltreff"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "er interessert i:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Ingen treff"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "Gruppen finnes ikke"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "Ingen slik kanal"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "forum"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Søkeresultat for:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "Personverngruppen er tom"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Personverngruppe:"
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Ugyldig forbindelse."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Ingen flere systemvarsler."
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Systemvarsler"
+
+#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Klarer ikke å lage element."
-#: ../../mod/mitem.php:72
+#: ../../Zotlabs/Module/Mitem.php:76
msgid "Unable to update menu element."
msgstr "Ikke i stand til å oppdatere menyelement."
-#: ../../mod/mitem.php:88
+#: ../../Zotlabs/Module/Mitem.php:92
msgid "Unable to add menu element."
msgstr "Ikke i stand til å legge til menyelement."
-#: ../../mod/mitem.php:149 ../../mod/mitem.php:222
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
msgid "Menu Item Permissions"
msgstr "Menyelement Tillatelser"
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1075
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
+#: ../../Zotlabs/Module/Settings.php:1068
msgid "(click to open/close)"
msgstr "(klikk for å åpne/lukke)"
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:168
+#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
msgid "Link Name"
msgstr "Lenkenavn"
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:227
+#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
msgid "Link or Submenu Target"
msgstr "Lenke- eller undermeny-mål"
-#: ../../mod/mitem.php:153
+#: ../../Zotlabs/Module/Mitem.php:157
msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr "Skriv URL-en til lenken eller velg et menynavn for å lage en undermeny"
-#: ../../mod/mitem.php:154 ../../mod/mitem.php:228
+#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
msgid "Use magic-auth if available"
msgstr "Bruk magic-autent hvis mulig"
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:229
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
msgid "Open link in new window"
msgstr "Åpne lenke i nytt vindu"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Order in list"
msgstr "Ordne i liste"
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
msgid "Higher numbers will sink to bottom of listing"
msgstr "Høyere tall vil synke mot bunnen av listen"
-#: ../../mod/mitem.php:157
+#: ../../Zotlabs/Module/Mitem.php:161
msgid "Submit and finish"
msgstr "Send inn og avslutt"
-#: ../../mod/mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:162
msgid "Submit and continue"
msgstr "Send inn og fortsett"
-#: ../../mod/mitem.php:166
+#: ../../Zotlabs/Module/Mitem.php:170
msgid "Menu:"
msgstr "Meny:"
-#: ../../mod/mitem.php:169
+#: ../../Zotlabs/Module/Mitem.php:173
msgid "Link Target"
msgstr "Lenkemål"
-#: ../../mod/mitem.php:172
+#: ../../Zotlabs/Module/Mitem.php:176
msgid "Edit menu"
msgstr "Endre meny"
-#: ../../mod/mitem.php:175
+#: ../../Zotlabs/Module/Mitem.php:179
msgid "Edit element"
msgstr "Endre element"
-#: ../../mod/mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:180
msgid "Drop element"
msgstr "Slett element"
-#: ../../mod/mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:181
msgid "New element"
msgstr "Nytt element"
-#: ../../mod/mitem.php:178
+#: ../../Zotlabs/Module/Mitem.php:182
msgid "Edit this menu container"
msgstr "Endre denne menybeholderen"
-#: ../../mod/mitem.php:179
+#: ../../Zotlabs/Module/Mitem.php:183
msgid "Add menu element"
msgstr "Legg til menyelement"
-#: ../../mod/mitem.php:180
+#: ../../Zotlabs/Module/Mitem.php:184
msgid "Delete this menu item"
msgstr "Slett dette menyelementet"
-#: ../../mod/mitem.php:181
+#: ../../Zotlabs/Module/Mitem.php:185
msgid "Edit this menu item"
msgstr "Endre dette menyelementet"
-#: ../../mod/mitem.php:198
+#: ../../Zotlabs/Module/Mitem.php:202
msgid "Menu item not found."
msgstr "Menyelement ble ikke funnet."
-#: ../../mod/mitem.php:211
+#: ../../Zotlabs/Module/Mitem.php:215
msgid "Menu item deleted."
msgstr "Menyelement slettet."
-#: ../../mod/mitem.php:213
+#: ../../Zotlabs/Module/Mitem.php:217
msgid "Menu item could not be deleted."
msgstr "Menyelement kunne ikke bli slettet."
-#: ../../mod/mitem.php:220
+#: ../../Zotlabs/Module/Mitem.php:224
msgid "Edit Menu Element"
msgstr "Endre menyelement"
-#: ../../mod/mitem.php:226
+#: ../../Zotlabs/Module/Mitem.php:230
msgid "Link text"
msgstr "Lenketekst"
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
-msgstr "Angi ditt nåværende humør og fortell dine venner"
-
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Gruppen finnes ikke"
-
-#: ../../mod/network.php:131
-msgid "No such channel"
-msgstr "Ingen slik kanal"
-
-#: ../../mod/network.php:136
-msgid "forum"
-msgstr "forum"
-
-#: ../../mod/network.php:148
-msgid "Search Results For:"
-msgstr "Søkeresultat for:"
-
-#: ../../mod/network.php:207
-msgid "Privacy group is empty"
-msgstr "Personverngruppen er tom"
-
-#: ../../mod/network.php:216
-msgid "Privacy group: "
-msgstr "Personverngruppe:"
-
-#: ../../mod/network.php:242
-msgid "Invalid connection."
-msgstr "Ugyldig forbindelse."
-
-#: ../../mod/new_channel.php:124 ../../mod/register.php:227
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
msgid "Name or caption"
msgstr "Navn eller overskrift"
-#: ../../mod/new_channel.php:124 ../../mod/register.php:227
+#: ../../Zotlabs/Module/New_channel.php:128
+#: ../../Zotlabs/Module/Register.php:231
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\""
-#: ../../mod/new_channel.php:126 ../../mod/register.php:229
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
msgid "Choose a short nickname"
msgstr "Velg et kort kallenavn"
-#: ../../mod/new_channel.php:126 ../../mod/register.php:229
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Register.php:233
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske, for eksempel kallenavn%s"
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Channel role and privacy"
msgstr "Kanalrolle og personvern"
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Select a channel role with your privacy requirements."
msgstr "Velg en kanalrolle for ditt personvernbehov."
-#: ../../mod/new_channel.php:128 ../../mod/register.php:231
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:235
msgid "Read more about roles"
msgstr "Les mer om roller"
-#: ../../mod/new_channel.php:131
+#: ../../Zotlabs/Module/New_channel.php:135
msgid "Create Channel"
msgstr "Lag kanal"
-#: ../../mod/new_channel.php:132
+#: ../../Zotlabs/Module/New_channel.php:136
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "En kanal er din identitet i dette nettverket. Den kan representere en person, en blogg eller et forum for å nevne noe. Kanaler kan ha forbindelser til andre kanaler for å dele informasjon, og med svært detaljerte tillatelser."
-#: ../../mod/new_channel.php:133
+#: ../../Zotlabs/Module/New_channel.php:137
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "eller <a href=\"import\">importer en eksisterende kanal</a> fra et annet sted."
-#: ../../mod/notifications.php:26
+#: ../../Zotlabs/Module/Notifications.php:30
msgid "Invalid request identifier."
msgstr "Ugyldig forespørselsidentifikator."
-#: ../../mod/notifications.php:35
+#: ../../Zotlabs/Module/Notifications.php:39
msgid "Discard"
msgstr "Forkast"
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Ingen flere systemvarsler."
-
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Systemvarsler"
-
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Ikke i stand til å finne hubben din."
-
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Innlegg vellykket."
-
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID protokollfeil. Ingen ID ble returnert."
-
-#: ../../mod/page.php:126
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert."
-
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Konfigurasjonsbehandler"
-
-#: ../../mod/pconfig.php:50
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig."
-
-#: ../../mod/pdledit.php:14
-msgid "Layout updated."
-msgstr "Layout er oppdatert."
-
-#: ../../mod/pdledit.php:30 ../../mod/pdledit.php:57
-msgid "Edit System Page Description"
-msgstr "Endre beskrivelsen av systemsiden"
-
-#: ../../mod/pdledit.php:52
-msgid "Layout not found."
-msgstr "Layouten ble ikke funnet."
-
-#: ../../mod/pdledit.php:58
-msgid "Module Name:"
-msgstr "Modulnavn:"
-
-#: ../../mod/pdledit.php:59
-msgid "Layout Help"
-msgstr "Layout-hjelp"
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
+msgid "Mark all system notifications seen"
+msgstr "Merk alle systemvarsler som sett"
-#: ../../mod/photos.php:79
+#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "Informasjon om sideeier kunne ikke hentes."
-#: ../../mod/photos.php:100
+#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Profile_photo.php:114
+#: ../../Zotlabs/Module/Profile_photo.php:206
+#: ../../Zotlabs/Module/Profile_photo.php:294
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "Profilbilder"
+
+#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
msgid "Album not found."
msgstr "Albumet ble ikke funnet."
-#: ../../mod/photos.php:127
+#: ../../Zotlabs/Module/Photos.php:132
msgid "Delete Album"
msgstr "Slett album"
-#: ../../mod/photos.php:171 ../../mod/photos.php:1020
+#: ../../Zotlabs/Module/Photos.php:153
+msgid ""
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
msgid "Delete Photo"
msgstr "Slett bilde"
-#: ../../mod/photos.php:501
+#: ../../Zotlabs/Module/Photos.php:533
msgid "No photos selected"
msgstr "Ingen bilder valgt"
-#: ../../mod/photos.php:550
+#: ../../Zotlabs/Module/Photos.php:582
msgid "Access to this item is restricted."
msgstr "Tilgang til dette elementet er begrenset."
-#: ../../mod/photos.php:589
+#: ../../Zotlabs/Module/Photos.php:621
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt."
-#: ../../mod/photos.php:592
+#: ../../Zotlabs/Module/Photos.php:624
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "%1$.2f MB lagringsplass til bilder er brukt."
-#: ../../mod/photos.php:628
+#: ../../Zotlabs/Module/Photos.php:660
msgid "Upload Photos"
msgstr "Last opp bilder"
-#: ../../mod/photos.php:632
+#: ../../Zotlabs/Module/Photos.php:664
msgid "Enter an album name"
msgstr "Skriv et albumnavn"
-#: ../../mod/photos.php:633
+#: ../../Zotlabs/Module/Photos.php:665
msgid "or select an existing album (doubleclick)"
msgstr "eller velg et eksisterende album (dobbeltklikk)"
-#: ../../mod/photos.php:634
+#: ../../Zotlabs/Module/Photos.php:666
msgid "Create a status post for this upload"
msgstr "Lag et statusinnlegg for denne opplastingen"
-#: ../../mod/photos.php:635
+#: ../../Zotlabs/Module/Photos.php:667
msgid "Caption (optional):"
msgstr "Bildetekst (valgfritt):"
-#: ../../mod/photos.php:636
+#: ../../Zotlabs/Module/Photos.php:668
msgid "Description (optional):"
msgstr "Beskrivelse (valgfritt):"
-#: ../../mod/photos.php:663
+#: ../../Zotlabs/Module/Photos.php:695
msgid "Album name could not be decoded"
msgstr "Albumnavnet kunne ikke dekodes"
-#: ../../mod/photos.php:711 ../../mod/photos.php:1250
-#: ../../mod/photos.php:1267
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Kontaktbilder"
-#: ../../mod/photos.php:734
+#: ../../Zotlabs/Module/Photos.php:766
msgid "Show Newest First"
msgstr "Vis nyeste først"
-#: ../../mod/photos.php:736
+#: ../../Zotlabs/Module/Photos.php:768
msgid "Show Oldest First"
msgstr "Vis eldste først"
-#: ../../mod/photos.php:838
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
+msgid "View Photo"
+msgstr "Vis foto"
+
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
+msgid "Edit Album"
+msgstr "Endre album"
+
+#: ../../Zotlabs/Module/Photos.php:870
msgid "Permission denied. Access to this item may be restricted."
msgstr "Tillatelse avvist. Tilgang til dette elementet kan være begrenset."
-#: ../../mod/photos.php:840
+#: ../../Zotlabs/Module/Photos.php:872
msgid "Photo not available"
msgstr "Bilde er utilgjengelig"
-#: ../../mod/photos.php:898
+#: ../../Zotlabs/Module/Photos.php:930
msgid "Use as profile photo"
msgstr "Bruk som profilbilde"
-#: ../../mod/photos.php:905
+#: ../../Zotlabs/Module/Photos.php:931
+msgid "Use as cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:938
msgid "Private Photo"
msgstr "Privat bilde"
-#: ../../mod/photos.php:920
+#: ../../Zotlabs/Module/Photos.php:953
msgid "View Full Size"
msgstr "Vis i full størrelse"
-#: ../../mod/photos.php:965 ../../mod/tagrm.php:133
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
msgid "Remove"
msgstr "Fjern"
-#: ../../mod/photos.php:999
+#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Endre bilde"
-#: ../../mod/photos.php:1001
+#: ../../Zotlabs/Module/Photos.php:1034
msgid "Rotate CW (right)"
msgstr "Roter med klokka (mot høyre)"
-#: ../../mod/photos.php:1002
+#: ../../Zotlabs/Module/Photos.php:1035
msgid "Rotate CCW (left)"
msgstr "Roter mot klokka (venstre)"
-#: ../../mod/photos.php:1005
+#: ../../Zotlabs/Module/Photos.php:1038
msgid "Enter a new album name"
msgstr "Skriv et nytt albumnavn"
-#: ../../mod/photos.php:1006
+#: ../../Zotlabs/Module/Photos.php:1039
msgid "or select an existing one (doubleclick)"
msgstr "eller velg et eksisterende album (dobbeltklikk)"
-#: ../../mod/photos.php:1009
+#: ../../Zotlabs/Module/Photos.php:1042
msgid "Caption"
msgstr "Overskrift"
-#: ../../mod/photos.php:1011
+#: ../../Zotlabs/Module/Photos.php:1044
msgid "Add a Tag"
msgstr "Legg til merkelapp"
-#: ../../mod/photos.php:1015
+#: ../../Zotlabs/Module/Photos.php:1048
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Eksempel: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../mod/photos.php:1018
+#: ../../Zotlabs/Module/Photos.php:1051
msgid "Flag as adult in album view"
msgstr "Flag som voksent i albumvisning"
-#: ../../mod/photos.php:1210
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+msgid "I like this (toggle)"
+msgstr "Jeg liker dette (skru av og på)"
+
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+msgid "I don't like this (toggle)"
+msgstr "Jeg liker ikke dette (skru av og på)"
+
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../include/conversation.php:740
+msgid "Please wait"
+msgstr "Vennligst vent"
+
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Lib/ThreadItem.php:707
+msgid "This is you"
+msgstr "Dette er deg"
+
+#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Kommentar"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Likes"
+msgstr "Liker"
+
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Liker ikke"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Agree"
+msgstr "Enig"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Disagree"
+msgstr "Uenig"
+
+#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+msgctxt "title"
+msgid "Abstain"
+msgstr "Avstår"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Attending"
+msgstr "Deltar"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Not attending"
+msgstr "Deltar ikke"
+
+#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+msgctxt "title"
+msgid "Might attend"
+msgstr "Deltar kanskje"
+
+#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1717
+msgid "View all"
+msgstr "Vis alle"
+
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Liker"
+msgstr[1] "Liker"
+
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1744
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Liker ikke"
+msgstr[1] "Liker ikke"
+
+#: ../../Zotlabs/Module/Photos.php:1235
+msgid "Photo Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1244
msgid "In This Photo:"
msgstr "I dette bildet:"
-#: ../../mod/photos.php:1215
+#: ../../Zotlabs/Module/Photos.php:1249
msgid "Map"
msgstr "Kart"
-#: ../../mod/photos.php:1306
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+msgctxt "noun"
+msgid "Likes"
+msgstr "Liker"
+
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Liker ikke"
+
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:285
+msgid "Close"
+msgstr "Lukk"
+
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Vis album"
-#: ../../mod/photos.php:1317 ../../mod/photos.php:1330
-#: ../../mod/photos.php:1331
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Nye bilder"
-#: ../../mod/admin.php:54
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "sendte deg en privat melding"
+
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "la til din kanal"
+
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[idag]"
+
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "la ut en hendelse"
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Ikke i stand til å finne hubben din."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Innlegg vellykket."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID protokollfeil. Ingen ID ble returnert."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Innlogging mislyktes."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert."
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Konfigurasjonsbehandler"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig."
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Layout er oppdatert."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Endre beskrivelsen av systemsiden"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Layouten ble ikke funnet."
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Modulnavn:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Layout-hjelp"
+
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
+#: ../../include/conversation.php:960
+msgid "Poke"
+msgstr "Prikk"
+
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr "Dult noen"
+
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
+msgstr "Prikke/oppildne"
+
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
+msgstr "Dult, prikk eller gjør andre ting med noen"
+
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
+msgstr "Mottaker"
+
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
+msgstr "Velg hva du ønsker å gjøre med mottakeren"
+
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
+msgstr "Gjør dette innlegget privat"
+
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "Henting av URL gir følgende feil: %1$s"
+
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+msgid "Profile not found."
+msgstr "Profilen ble ikke funnet."
+
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
+msgstr "Profilen er slettet."
+
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+msgid "Profile-"
+msgstr "Profil-"
+
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+msgid "New profile created."
+msgstr "Ny profil opprettet."
+
+#: ../../Zotlabs/Module/Profiles.php:110
+msgid "Profile unavailable to clone."
+msgstr "Profilen er utilgjengelig for klonen."
+
+#: ../../Zotlabs/Module/Profiles.php:151
+msgid "Profile unavailable to export."
+msgstr "Profilen er utilgjengelig for eksport."
+
+#: ../../Zotlabs/Module/Profiles.php:256
+msgid "Profile Name is required."
+msgstr "Profilnavn er påkrevd."
+
+#: ../../Zotlabs/Module/Profiles.php:427
+msgid "Marital Status"
+msgstr "Sivilstand"
+
+#: ../../Zotlabs/Module/Profiles.php:431
+msgid "Romantic Partner"
+msgstr "Romantisk partner"
+
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+msgid "Likes"
+msgstr "Liker"
+
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+msgid "Dislikes"
+msgstr "Liker ikke"
+
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+msgid "Work/Employment"
+msgstr "Arbeid/sysselsetting"
+
+#: ../../Zotlabs/Module/Profiles.php:446
+msgid "Religion"
+msgstr "Religion"
+
+#: ../../Zotlabs/Module/Profiles.php:450
+msgid "Political Views"
+msgstr "Politiske synspunkter"
+
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
+msgstr "Seksuelle preferanser"
+
+#: ../../Zotlabs/Module/Profiles.php:462
+msgid "Homepage"
+msgstr "Hjemmeside"
+
+#: ../../Zotlabs/Module/Profiles.php:466
+msgid "Interests"
+msgstr "Interesser"
+
+#: ../../Zotlabs/Module/Profiles.php:560
+msgid "Profile updated."
+msgstr "Profilen er oppdatert."
+
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:686
+msgid "Edit Profile Details"
+msgstr "Endre profildetaljer"
+
+#: ../../Zotlabs/Module/Profiles.php:688
+msgid "View this profile"
+msgstr "Vis denne profilen"
+
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:959
+msgid "Edit visibility"
+msgstr "Endre synlighet"
+
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+msgid "Change profile photo"
+msgstr "Endre profilbilde"
+
+#: ../../Zotlabs/Module/Profiles.php:693
+msgid "Create a new profile using these settings"
+msgstr "Lag en ny profil ved å bruke disse innstillingene"
+
+#: ../../Zotlabs/Module/Profiles.php:694
+msgid "Clone this profile"
+msgstr "Klon denne profilen"
+
+#: ../../Zotlabs/Module/Profiles.php:695
+msgid "Delete this profile"
+msgstr "Slett denne profilen"
+
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
+msgstr "Legg til profilting"
+
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
+msgid "Personal"
+msgstr "Personlig"
+
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Forskjellig"
+
+#: ../../Zotlabs/Module/Profiles.php:702
+msgid "Import profile from file"
+msgstr "Importer profil fra fil"
+
+#: ../../Zotlabs/Module/Profiles.php:703
+msgid "Export profile to file"
+msgstr "Eksporter profil til fil"
+
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
+msgstr "Dette er din standardprofil."
+
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com"
+
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
+msgstr "Eksempel: fisking fotografering programvare"
+
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Musical interests"
+msgstr "Musikkinteresser"
+
+#: ../../Zotlabs/Module/Profiles.php:739
+msgid "Books, literature"
+msgstr "Bøker, litteratur"
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Television"
+msgstr "TV/fjernsyn"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
+msgstr "Hobbier/Interesser"
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
+msgstr "Mine andre kanaler"
+
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+msgid "Profile Image"
+msgstr "Profilbilde"
+
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
+msgid "Edit Profiles"
+msgstr "Endre profiler"
+
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Last opp profilbilde:"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Ugyldig profil-identifikator."
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Profile Visibility Editor"
+msgstr "Endre profilsynlighet"
+
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../Zotlabs/Module/Profperm.php:119
+msgid "Click on a contact to add or remove."
+msgstr "Klikk på en kontakt for å legge til eller fjerne."
+
+#: ../../Zotlabs/Module/Profperm.php:128
+msgid "Visible To"
+msgstr "Synlig for"
+
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
+msgid "Public Hubs"
+msgstr "Offentlige huber"
+
+#: ../../Zotlabs/Module/Pubsites.php:25
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "Nettstedene på listen tillater offentlig registrering i $Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i nettverket som helhet. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Nettstedene selv <strong>kan</strong> gi tilleggsopplysninger."
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Hub URL"
+msgstr "Nettstedets URL"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Access Type"
+msgstr "Tilgangstype"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Registration Policy"
+msgstr "Retningslinjer for registrering"
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Stats"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31
+msgid "Software"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
+#: ../../include/conversation.php:959
+msgid "Ratings"
+msgstr "Vurderinger"
+
+#: ../../Zotlabs/Module/Pubsites.php:38
+msgid "Rate"
+msgstr "Vurder"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Website:"
+msgstr "Nettsted:"
+
+#: ../../Zotlabs/Module/Rate.php:163
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)"
+
+#: ../../Zotlabs/Module/Rate.php:164
+msgid "Rating (this information is public)"
+msgstr "Vurdering (denne informasjonen er offentlig)"
+
+#: ../../Zotlabs/Module/Rate.php:165
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)"
+
+#: ../../Zotlabs/Module/Ratings.php:73
+msgid "No ratings"
+msgstr "Ingen vurderinger"
+
+#: ../../Zotlabs/Module/Ratings.php:104
+msgid "Rating: "
+msgstr "Vurdering:"
+
+#: ../../Zotlabs/Module/Ratings.php:105
+msgid "Website: "
+msgstr "Nettsted:"
+
+#: ../../Zotlabs/Module/Ratings.php:107
+msgid "Description: "
+msgstr "Beskrivelse:"
+
+#: ../../Zotlabs/Module/Admin.php:77
msgid "Theme settings updated."
msgstr "Temainnstillinger er oppdatert."
-#: ../../mod/admin.php:174
+#: ../../Zotlabs/Module/Admin.php:197
msgid "# Accounts"
msgstr "# Kontoer"
-#: ../../mod/admin.php:175
+#: ../../Zotlabs/Module/Admin.php:198
msgid "# blocked accounts"
msgstr "# blokkerte kontoer"
-#: ../../mod/admin.php:176
+#: ../../Zotlabs/Module/Admin.php:199
msgid "# expired accounts"
msgstr "# utgåtte kontoer"
-#: ../../mod/admin.php:177
+#: ../../Zotlabs/Module/Admin.php:200
msgid "# expiring accounts"
msgstr "# kontoer som holder på å gå ut"
-#: ../../mod/admin.php:188
+#: ../../Zotlabs/Module/Admin.php:211
msgid "# Channels"
msgstr "# Kanaler"
-#: ../../mod/admin.php:189
+#: ../../Zotlabs/Module/Admin.php:212
msgid "# primary"
msgstr "# hoved"
-#: ../../mod/admin.php:190
+#: ../../Zotlabs/Module/Admin.php:213
msgid "# clones"
msgstr "# kloner"
-#: ../../mod/admin.php:196
+#: ../../Zotlabs/Module/Admin.php:219
msgid "Message queues"
msgstr "Meldingskøer"
-#: ../../mod/admin.php:212 ../../mod/admin.php:455 ../../mod/admin.php:669
-#: ../../mod/admin.php:709 ../../mod/admin.php:984 ../../mod/admin.php:1148
-#: ../../mod/admin.php:1263 ../../mod/admin.php:1324 ../../mod/admin.php:1485
-#: ../../mod/admin.php:1519 ../../mod/admin.php:1604
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
msgid "Administration"
msgstr "Administrasjon"
-#: ../../mod/admin.php:213
+#: ../../Zotlabs/Module/Admin.php:242
msgid "Summary"
msgstr "Sammendrag"
-#: ../../mod/admin.php:216
+#: ../../Zotlabs/Module/Admin.php:245
msgid "Registered accounts"
msgstr "Registrerte kontoer"
-#: ../../mod/admin.php:217 ../../mod/admin.php:673
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
msgid "Pending registrations"
msgstr "Ventende registreringer"
-#: ../../mod/admin.php:218
+#: ../../Zotlabs/Module/Admin.php:247
msgid "Registered channels"
msgstr "Registrerte kanaler"
-#: ../../mod/admin.php:219 ../../mod/admin.php:674
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
msgid "Active plugins"
msgstr "Aktive tilleggsfunksjoner"
-#: ../../mod/admin.php:220
+#: ../../Zotlabs/Module/Admin.php:249
msgid "Version"
msgstr "Versjon"
-#: ../../mod/admin.php:339
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:373
msgid "Site settings updated."
msgstr "Nettstedsinnstillinger er oppdatert."
-#: ../../mod/admin.php:376 ../../mod/settings.php:805
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Standard"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
msgid "mobile"
msgstr "mobil"
-#: ../../mod/admin.php:378
+#: ../../Zotlabs/Module/Admin.php:412
msgid "experimental"
msgstr "eksperimentell"
-#: ../../mod/admin.php:380
+#: ../../Zotlabs/Module/Admin.php:414
msgid "unsupported"
msgstr "ikke støttet"
-#: ../../mod/admin.php:426
+#: ../../Zotlabs/Module/Admin.php:460
msgid "Yes - with approval"
msgstr "Ja - med godkjenning"
-#: ../../mod/admin.php:432
+#: ../../Zotlabs/Module/Admin.php:466
msgid "My site is not a public server"
msgstr "Mitt nettsted er ikke en offentlig tjeneste"
-#: ../../mod/admin.php:433
+#: ../../Zotlabs/Module/Admin.php:467
msgid "My site has paid access only"
msgstr "Mitt nettsted gir kun tilgang mot betaling"
-#: ../../mod/admin.php:434
+#: ../../Zotlabs/Module/Admin.php:468
msgid "My site has free access only"
msgstr "Mitt nettsted har kun gratis tilgang"
-#: ../../mod/admin.php:435
+#: ../../Zotlabs/Module/Admin.php:469
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mitt nettsted tilbyr gratis konto med valgfri oppgradering til betalt tjeneste"
-#: ../../mod/admin.php:458 ../../mod/register.php:241
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Nettsted"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
msgid "Registration"
msgstr "Registrering"
-#: ../../mod/admin.php:459
+#: ../../Zotlabs/Module/Admin.php:494
msgid "File upload"
msgstr "Last opp fil"
-#: ../../mod/admin.php:460
+#: ../../Zotlabs/Module/Admin.php:495
msgid "Policies"
msgstr "Retningslinjer"
-#: ../../mod/admin.php:465
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avansert"
+
+#: ../../Zotlabs/Module/Admin.php:500
msgid "Site name"
msgstr "Nettstedets navn"
-#: ../../mod/admin.php:466
+#: ../../Zotlabs/Module/Admin.php:501
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid "Administrator Information"
msgstr "Administratorinformasjon"
-#: ../../mod/admin.php:467
+#: ../../Zotlabs/Module/Admin.php:502
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Kontaktinformasjon til nettstedsadministratorer. Vises på siteinfo-siden. BBCode kan brukes her"
-#: ../../mod/admin.php:468
+#: ../../Zotlabs/Module/Admin.php:503
msgid "System language"
msgstr "Systemspråk"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid "System theme"
msgstr "Systemtema"
-#: ../../mod/admin.php:469
+#: ../../Zotlabs/Module/Admin.php:504
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standard systemtema - kan overstyres av brukerprofiler - <a href='#' id='cnftheme'>endre temainnstillinger</a>"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Mobile system theme"
msgstr "Mobilt systemtema"
-#: ../../mod/admin.php:470
+#: ../../Zotlabs/Module/Admin.php:505
msgid "Theme for mobile devices"
msgstr "Tema for mobile enheter"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "Allow Feeds as Connections"
msgstr "Tillat strømmer som forbindelser"
-#: ../../mod/admin.php:472
+#: ../../Zotlabs/Module/Admin.php:507
msgid "(Heavy system resource usage)"
msgstr "(Tung bruk av systemressurser)"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid "Maximum image size"
msgstr "Største bildestørrelse"
-#: ../../mod/admin.php:473
+#: ../../Zotlabs/Module/Admin.php:508
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Største størrelse i bytes for opplastede bilder. Standard er 0, som betyr ubegrenset."
-#: ../../mod/admin.php:474
+#: ../../Zotlabs/Module/Admin.php:509
msgid "Does this site allow new member registration?"
msgstr "Tillater dette nettstedet registrering av nye medlemmer?"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid "Invitation only"
msgstr "Kun inviterte"
-#: ../../mod/admin.php:475
+#: ../../Zotlabs/Module/Admin.php:510
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr "Tillat bare nye medlemsregistreringer med en invitasjonskode. Ovenstående retningslinjer for registrering må være satt til Ja."
-#: ../../mod/admin.php:476
+#: ../../Zotlabs/Module/Admin.php:511
msgid "Which best describes the types of account offered by this hub?"
msgstr "Hvilket alternativ beskriver best hva slags kontotype som tilbys av dette nettstedet/denne hubben?"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Register text"
msgstr "Registreringstekst"
-#: ../../mod/admin.php:477
+#: ../../Zotlabs/Module/Admin.php:512
msgid "Will be displayed prominently on the registration page."
msgstr "Vil bli vist på en fremtredende måte på registreringssiden."
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid "Site homepage to show visitors (default: login box)"
msgstr "Nettstedets hjemmeside som vises til besøkende (standard: innloggingsboks)"
-#: ../../mod/admin.php:478
+#: ../../Zotlabs/Module/Admin.php:513
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "eksempel: 'public' for å vise offentlig strøm av innlegg, 'page/sys/home/ for å vise en system-webside called 'home\" eller 'include:home.html' for å inkludere en fil."
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid "Preserve site homepage URL"
msgstr "Bevar URL-en til nettstedets hjemmeside"
-#: ../../mod/admin.php:479
+#: ../../Zotlabs/Module/Admin.php:514
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Presenter hjemmesiden til nettstedet i en ramme fra den opprinnelige plasseringen i stedet for å omdirigere"
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid "Accounts abandoned after x days"
msgstr "Kontoer forlatt etter x dager"
-#: ../../mod/admin.php:480
+#: ../../Zotlabs/Module/Admin.php:515
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Vil ikke kaste bort systemressurser på å spørre eksterne nettsteder etter forlatte kontoer. Skriv 0 for å ikke sette noen tidsgrense."
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid "Allowed friend domains"
msgstr "Tillatte vennedomener"
-#: ../../mod/admin.php:481
+#: ../../Zotlabs/Module/Admin.php:516
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Kommaseparert liste over domener som har lov til å etablere vennskap med dette nettstedet. Jokertegn er akseptert. Tøm for å tillate alle domener."
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid "Allowed email domains"
msgstr "Tillate e-postdomener"
-#: ../../mod/admin.php:482
+#: ../../Zotlabs/Module/Admin.php:517
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Kommaseparert liste med domener som er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid "Not allowed email domains"
msgstr "Ikke tillatte e-postdomener"
-#: ../../mod/admin.php:483
+#: ../../Zotlabs/Module/Admin.php:518
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Kommaseparert liste med domener som ikke er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt, med mindre tillate domener er blitt definert."
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid "Verify Email Addresses"
msgstr "Bekreft e-postadresser"
-#: ../../mod/admin.php:484
+#: ../../Zotlabs/Module/Admin.php:519
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Sett hake for å sjekke e-postadresser brukt ved kontoregistrering (anbefales)."
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid "Force publish"
msgstr "Tving publisering"
-#: ../../mod/admin.php:485
+#: ../../Zotlabs/Module/Admin.php:520
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Kryss av for å tvinge alle profiler på dette nettstedet til å bli oppført i nettstedet sin katalog."
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid "Import Public Streams"
msgstr "Importer offentlige innholdsstrømmer"
-#: ../../mod/admin.php:486
+#: ../../Zotlabs/Module/Admin.php:521
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Importer og gi tilgang til offentlig innhold trukket inn fra andre nettsteder. Advarsel: dette innholdet er ikke moderert."
-#: ../../mod/admin.php:487
-msgid "login on Homepage"
-msgstr "Logg inn på hjemmesiden"
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr ""
-#: ../../mod/admin.php:487
+#: ../../Zotlabs/Module/Admin.php:522
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Presenter en innloggingsboks til besøkende på hjemmesiden hvis ikke noe annet innhold har blitt konfigurert."
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Directory Server URL"
msgstr "Katalogtjener URL"
-#: ../../mod/admin.php:489
+#: ../../Zotlabs/Module/Admin.php:525
msgid "Default directory server"
msgstr "Standard katalogtjener"
-#: ../../mod/admin.php:491
+#: ../../Zotlabs/Module/Admin.php:527
msgid "Proxy user"
msgstr "Brukernavn mellomtjener"
-#: ../../mod/admin.php:492
+#: ../../Zotlabs/Module/Admin.php:528
msgid "Proxy URL"
msgstr "Mellomtjener URL"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Network timeout"
msgstr "Nettverk tidsavbrudd"
-#: ../../mod/admin.php:493
+#: ../../Zotlabs/Module/Admin.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Verdien i sekunder. Skriv 0 for ubegrenset (ikke anbefalt)."
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid "Delivery interval"
msgstr "Leveringsinterval"
-#: ../../mod/admin.php:494
+#: ../../Zotlabs/Module/Admin.php:530
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Forsink leveringsprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Anbefaling: 4-5 for delte tjenere, 2-3 for virtuelle tjenere, 0-1 for større dedikerte tjenere."
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid "Deliveries per process"
msgstr "Leveranser per prosess"
-#: ../../mod/admin.php:495
+#: ../../Zotlabs/Module/Admin.php:531
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Antall leveranser som forsøkes i en enkelt operativsystemprosess. Juster om nødvendig for å fininnstille systemets yteevne. Anbefaling: 1-5."
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid "Poll interval"
msgstr "Spørreintervall"
-#: ../../mod/admin.php:496
+#: ../../Zotlabs/Module/Admin.php:532
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Forsink spørreprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Hvis 0, bruk dette leveringsintervallet."
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid "Maximum Load Average"
msgstr "Største belastningsgjennomsnitt"
-#: ../../mod/admin.php:497
+#: ../../Zotlabs/Module/Admin.php:533
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Største systembelastning før leverings- og spørreprosesser blir utsatt - standard 50."
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Antall dager før importert innhold (nettet/nettverk) utgår"
-#: ../../mod/admin.php:498
+#: ../../Zotlabs/Module/Admin.php:534
msgid "0 for no expiration of imported content"
msgstr "0 dersom importert innhold ikke skal utgå"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:729
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "Off"
msgstr "Av"
-#: ../../mod/admin.php:635 ../../mod/admin.php:636 ../../mod/settings.php:729
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
msgid "On"
msgstr "På"
-#: ../../mod/admin.php:636
+#: ../../Zotlabs/Module/Admin.php:678
#, php-format
msgid "Lock feature %s"
msgstr "Lås funksjon %s"
-#: ../../mod/admin.php:644
+#: ../../Zotlabs/Module/Admin.php:686
msgid "Manage Additional Features"
msgstr "Håndter tilleggsfunksjoner"
-#: ../../mod/admin.php:661
+#: ../../Zotlabs/Module/Admin.php:703
msgid "No server found"
msgstr "Ingen tjener funnet"
-#: ../../mod/admin.php:668 ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "for channel"
msgstr "for kanalen"
-#: ../../mod/admin.php:668
+#: ../../Zotlabs/Module/Admin.php:710
msgid "on server"
msgstr "på tjener"
-#: ../../mod/admin.php:670
+#: ../../Zotlabs/Module/Admin.php:712
msgid "Server"
msgstr "Tjener"
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Sikkerhet"
+
+#: ../../Zotlabs/Module/Admin.php:758
msgid "Block public"
msgstr "Blokker offentlig tilgang"
-#: ../../mod/admin.php:712
+#: ../../Zotlabs/Module/Admin.php:758
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently authenticated."
msgstr "Kryss av for å blokkere tilgang til alle personlige sider som ellers ville vært offentlig tilgjengelige på dette nettstedet med mindre du er logget inn."
-#: ../../mod/admin.php:713
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:761
msgid "Allow communications only from these sites"
msgstr "Tillat kommunikasjon med bare disse nettstedene"
-#: ../../mod/admin.php:713
+#: ../../Zotlabs/Module/Admin.php:761
msgid ""
"One site per line. Leave empty to allow communication from anywhere by "
"default"
msgstr "Et nettsted per linje. La det stå tomt for å tillate kommunikasjon med ethvert nettsted som standard"
-#: ../../mod/admin.php:714
+#: ../../Zotlabs/Module/Admin.php:762
msgid "Block communications from these sites"
msgstr "Blokker kommunikasjon fra disse nettstedene"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid "Allow communications only from these channels"
msgstr "Tillat kommunikasjon med bare disse kanalene"
-#: ../../mod/admin.php:715
+#: ../../Zotlabs/Module/Admin.php:763
msgid ""
"One channel (hash) per line. Leave empty to allow from any channel by "
"default"
msgstr "En kanal (hash) per linje. La det stå tomt for å tillate enhver kanal som standard"
-#: ../../mod/admin.php:716
+#: ../../Zotlabs/Module/Admin.php:764
msgid "Block communications from these channels"
msgstr "Blokker kommunikasjon fra disse kanalene"
-#: ../../mod/admin.php:717
-msgid "Allow embedded HTML content only from these domains"
-msgstr "Tillat innebygget HTML-innhold fra bare disse domenene"
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr ""
-#: ../../mod/admin.php:717
-msgid "One site per line. Leave empty to allow from any site by default"
-msgstr "Et nettsted per linje. La stå tomt for å tillate ethvert nettsted som standard"
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr ""
-#: ../../mod/admin.php:718
+#: ../../Zotlabs/Module/Admin.php:767
msgid "Block embedded HTML from these domains"
msgstr "Blokker innbygget HTML fra disse domenene"
-#: ../../mod/admin.php:720
-msgid "Cooperative embed security"
-msgstr "Kooperativ innebyggingssikkerhet"
-
-#: ../../mod/admin.php:720
-msgid "Enable to share embed security with other compatible sites/hubs"
-msgstr "Skru på deling av innebyggingssikkerhet med andre kompatible nettsteder/hubber"
-
-#: ../../mod/admin.php:735
+#: ../../Zotlabs/Module/Admin.php:785
msgid "Update has been marked successful"
msgstr "Oppdateringen har blitt merket som en suksess"
-#: ../../mod/admin.php:745
+#: ../../Zotlabs/Module/Admin.php:795
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Utføring av %s feilet. Sjekk systemlogger."
-#: ../../mod/admin.php:748
+#: ../../Zotlabs/Module/Admin.php:798
#, php-format
msgid "Update %s was successfully applied."
msgstr "Oppdatering %s ble gjennomført med suksess."
-#: ../../mod/admin.php:752
+#: ../../Zotlabs/Module/Admin.php:802
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Oppdatering %s returnerte ingen status. Det er ukjent om den ble vellykket."
-#: ../../mod/admin.php:755
+#: ../../Zotlabs/Module/Admin.php:805
#, php-format
msgid "Update function %s could not be found."
msgstr "Oppdatering av funksjon %s kunne ikke finnes."
-#: ../../mod/admin.php:771
+#: ../../Zotlabs/Module/Admin.php:821
msgid "No failed updates."
msgstr "Ingen mislykkede oppdateringer."
-#: ../../mod/admin.php:775
+#: ../../Zotlabs/Module/Admin.php:825
msgid "Failed Updates"
msgstr "Mislykkede oppdateringer"
-#: ../../mod/admin.php:777
+#: ../../Zotlabs/Module/Admin.php:827
msgid "Mark success (if update was manually applied)"
msgstr "Marker suksess (hvis oppdateringen ble gjennomført manuelt)"
-#: ../../mod/admin.php:778
+#: ../../Zotlabs/Module/Admin.php:828
msgid "Attempt to execute this update step automatically"
msgstr "Prøv å gjennomføre dette oppdateringstrinnet automatisk"
-#: ../../mod/admin.php:809
+#: ../../Zotlabs/Module/Admin.php:859
msgid "Queue Statistics"
msgstr "Køstatistikk"
-#: ../../mod/admin.php:810
+#: ../../Zotlabs/Module/Admin.php:860
msgid "Total Entries"
msgstr "Totalt antall oppføringer"
-#: ../../mod/admin.php:811
+#: ../../Zotlabs/Module/Admin.php:861
msgid "Priority"
msgstr "Prioritet"
-#: ../../mod/admin.php:812
+#: ../../Zotlabs/Module/Admin.php:862
msgid "Destination URL"
msgstr "Mål-URL"
-#: ../../mod/admin.php:813
+#: ../../Zotlabs/Module/Admin.php:863
msgid "Mark hub permanently offline"
msgstr "Merk hub som permanent offline"
-#: ../../mod/admin.php:814
+#: ../../Zotlabs/Module/Admin.php:864
msgid "Empty queue for this hub"
msgstr "Tøm køen for denne hubben"
-#: ../../mod/admin.php:815
+#: ../../Zotlabs/Module/Admin.php:865
msgid "Last known contact"
msgstr "Siste kjente kontakt"
-#: ../../mod/admin.php:851
+#: ../../Zotlabs/Module/Admin.php:901
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s konto blokkert/ikke blokkert lenger"
msgstr[1] "%s kontoer blokkert/ikke blokkert lenger"
-#: ../../mod/admin.php:859
+#: ../../Zotlabs/Module/Admin.php:908
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s konto slettet"
msgstr[1] "%s kontoer slettet"
-#: ../../mod/admin.php:895
+#: ../../Zotlabs/Module/Admin.php:944
msgid "Account not found"
msgstr "Kontoen ble ikke funnet"
-#: ../../mod/admin.php:907
+#: ../../Zotlabs/Module/Admin.php:955
#, php-format
msgid "Account '%s' deleted"
msgstr "Kontoen '%s' slettet"
-#: ../../mod/admin.php:915
+#: ../../Zotlabs/Module/Admin.php:963
#, php-format
msgid "Account '%s' blocked"
msgstr "Kontoen '%s' blokkert"
-#: ../../mod/admin.php:923
+#: ../../Zotlabs/Module/Admin.php:971
#, php-format
msgid "Account '%s' unblocked"
msgstr "Kontoen '%s' er ikke blokkert lenger"
-#: ../../mod/admin.php:985 ../../mod/admin.php:997
-msgid "Users"
-msgstr "Brukere"
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Kontoer"
-#: ../../mod/admin.php:987 ../../mod/admin.php:1151
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
msgid "select all"
msgstr "velg alle"
-#: ../../mod/admin.php:988
-msgid "User registrations waiting for confirm"
-msgstr "Brukerregistreringer som venter på bekreftelse"
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr ""
-#: ../../mod/admin.php:989
+#: ../../Zotlabs/Module/Admin.php:1035
msgid "Request date"
msgstr "Dato for forespørsel"
-#: ../../mod/admin.php:990
+#: ../../Zotlabs/Module/Admin.php:1036
msgid "No registrations."
msgstr "Ingen registreringer."
-#: ../../mod/admin.php:992
+#: ../../Zotlabs/Module/Admin.php:1038
msgid "Deny"
msgstr "Avslå"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Alle kanaler"
+
+#: ../../Zotlabs/Module/Admin.php:1049
msgid "Register date"
msgstr "Registreringsdato"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1050
msgid "Last login"
msgstr "Siste innlogging"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1051
msgid "Expires"
msgstr "Utløper"
-#: ../../mod/admin.php:998
+#: ../../Zotlabs/Module/Admin.php:1052
msgid "Service Class"
msgstr "Tjenesteklasse"
-#: ../../mod/admin.php:1000
+#: ../../Zotlabs/Module/Admin.php:1054
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Valgte kontoer vil bli slettet!\\n\\nAlt disse kontoene har lagt inn på dette nettstedet vil bli slettet permanent!\\n\\nEr du sikker på at du vil slette disse valgte kontoene?"
-#: ../../mod/admin.php:1001
+#: ../../Zotlabs/Module/Admin.php:1055
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kontoen {0} vl bli slettet!\\n\\nAlt denne kontoen har lagt inn på dette nettstedet vil bli slettet permanent!\\n\\nEr du sikker på at du vil slette denne kontoen?"
-#: ../../mod/admin.php:1037
+#: ../../Zotlabs/Module/Admin.php:1091
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s kanal er sensurert/ikke sensurert lenger"
msgstr[1] "%s kanaler er sensurert/ikke sensurert lenger"
-#: ../../mod/admin.php:1046
+#: ../../Zotlabs/Module/Admin.php:1100
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "%s kanal med kode tillatt/ikke tillatt"
msgstr[1] "%s kanaler med kode tillatt/ikke tillatt"
-#: ../../mod/admin.php:1053
+#: ../../Zotlabs/Module/Admin.php:1106
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s kanal slettet"
msgstr[1] "%s kanaler slettet"
-#: ../../mod/admin.php:1073
+#: ../../Zotlabs/Module/Admin.php:1126
msgid "Channel not found"
msgstr "Kanalen ble ikke funnet"
-#: ../../mod/admin.php:1084
+#: ../../Zotlabs/Module/Admin.php:1136
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanalen '%s' er slettet"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' censored"
msgstr "Kanalen '%s' er sensurert"
-#: ../../mod/admin.php:1096
+#: ../../Zotlabs/Module/Admin.php:1148
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanalen '%s' er ikke sensurert lenger"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Kanal '%s' kode tillatt"
-#: ../../mod/admin.php:1107
+#: ../../Zotlabs/Module/Admin.php:1159
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Kanal '%s' kode ikke tillatt"
-#: ../../mod/admin.php:1153
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Kanaler"
+
+#: ../../Zotlabs/Module/Admin.php:1214
msgid "Censor"
msgstr "Sensurer"
-#: ../../mod/admin.php:1154
+#: ../../Zotlabs/Module/Admin.php:1215
msgid "Uncensor"
msgstr "Ikke sensurer lenger"
-#: ../../mod/admin.php:1155
+#: ../../Zotlabs/Module/Admin.php:1216
msgid "Allow Code"
msgstr "Tillat kode"
-#: ../../mod/admin.php:1156
+#: ../../Zotlabs/Module/Admin.php:1217
msgid "Disallow Code"
msgstr "Ikke tillat kode"
-#: ../../mod/admin.php:1158
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:1158 ../../mod/profiles.php:457
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../mod/admin.php:1160
+#: ../../Zotlabs/Module/Admin.php:1226
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Valgte kanaler vil bli slettet!\\n\\nAlt innhold som er lagt inn i disse kanalene på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette disse kanalene med alt innhold?"
-#: ../../mod/admin.php:1161
+#: ../../Zotlabs/Module/Admin.php:1227
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kanalen {0} vil bli slettet!\\n\\nAlt innhold som er lagt inn i denne kanalen på dettet nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne kanalen med alt innhold?"
-#: ../../mod/admin.php:1218
+#: ../../Zotlabs/Module/Admin.php:1284
#, php-format
msgid "Plugin %s disabled."
msgstr "Tilleggsfunksjonen %s er avskrudd."
-#: ../../mod/admin.php:1222
+#: ../../Zotlabs/Module/Admin.php:1288
#, php-format
msgid "Plugin %s enabled."
msgstr "Tilleggsfunksjonen %s er påskrudd."
-#: ../../mod/admin.php:1232 ../../mod/admin.php:1458
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
msgid "Disable"
msgstr "Skru av"
-#: ../../mod/admin.php:1235 ../../mod/admin.php:1460
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
msgid "Enable"
msgstr "Skru på"
-#: ../../mod/admin.php:1265 ../../mod/admin.php:1487
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Tilleggsfunksjoner"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
msgid "Toggle"
msgstr "Skru av og på"
-#: ../../mod/admin.php:1273 ../../mod/admin.php:1497
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Innstillinger"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
msgid "Author: "
msgstr "Forfatter:"
-#: ../../mod/admin.php:1274 ../../mod/admin.php:1498
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
msgid "Maintainer: "
msgstr "Vedlikeholder:"
-#: ../../mod/admin.php:1275
+#: ../../Zotlabs/Module/Admin.php:1341
msgid "Minimum project version: "
msgstr "Minimum prosjektversjon:"
-#: ../../mod/admin.php:1276
+#: ../../Zotlabs/Module/Admin.php:1342
msgid "Maximum project version: "
msgstr "Maksimum prosjektversjon:"
-#: ../../mod/admin.php:1277
+#: ../../Zotlabs/Module/Admin.php:1343
msgid "Minimum PHP version: "
msgstr "Minimum PHP-versjon:"
-#: ../../mod/admin.php:1278
+#: ../../Zotlabs/Module/Admin.php:1344
msgid "Requires: "
msgstr "Krever:"
-#: ../../mod/admin.php:1279 ../../mod/admin.php:1330
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
msgid "Disabled - version incompatibility"
msgstr "Skrudd av - versjonsinkompatibilitet"
-#: ../../mod/admin.php:1423
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Installer"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Oppdater"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:1550
msgid "No themes found."
msgstr "Ingen temaer er funnet."
-#: ../../mod/admin.php:1479
+#: ../../Zotlabs/Module/Admin.php:1606
msgid "Screenshot"
msgstr "Skjermbilde"
-#: ../../mod/admin.php:1525
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Temaer"
+
+#: ../../Zotlabs/Module/Admin.php:1652
msgid "[Experimental]"
msgstr "[Eksperimentelt]"
-#: ../../mod/admin.php:1526
+#: ../../Zotlabs/Module/Admin.php:1653
msgid "[Unsupported]"
msgstr "[Ingen støtte]"
-#: ../../mod/admin.php:1550
+#: ../../Zotlabs/Module/Admin.php:1677
msgid "Log settings updated."
msgstr "Logginnstillinger er oppdatert."
-#: ../../mod/admin.php:1607
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Logger"
+
+#: ../../Zotlabs/Module/Admin.php:1734
msgid "Clear"
msgstr "Tøm"
-#: ../../mod/admin.php:1613
+#: ../../Zotlabs/Module/Admin.php:1740
msgid "Debugging"
msgstr "Feilsøking"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid "Log file"
msgstr "Loggfil"
-#: ../../mod/admin.php:1614
+#: ../../Zotlabs/Module/Admin.php:1741
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Må kunne skrives til av webtjenesten. Relativ til din Red sin toppnivåkatalog."
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
-#: ../../mod/admin.php:1615
+#: ../../Zotlabs/Module/Admin.php:1742
msgid "Log level"
msgstr "Loggnivå"
-#: ../../mod/admin.php:1661
+#: ../../Zotlabs/Module/Admin.php:2028
msgid "New Profile Field"
msgstr "Nytt profilfelt"
-#: ../../mod/admin.php:1662 ../../mod/admin.php:1682
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "Field nickname"
msgstr "Feltets kallenavn"
-#: ../../mod/admin.php:1662 ../../mod/admin.php:1682
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
msgid "System name of field"
msgstr "Systemnavnet til feltet"
-#: ../../mod/admin.php:1663 ../../mod/admin.php:1683
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
msgid "Input type"
msgstr "Inndata-type"
-#: ../../mod/admin.php:1664 ../../mod/admin.php:1684
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Field Name"
msgstr "Feltnavn"
-#: ../../mod/admin.php:1664 ../../mod/admin.php:1684
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
msgid "Label on profile pages"
msgstr "Merkelapp på profilsider"
-#: ../../mod/admin.php:1665 ../../mod/admin.php:1685
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Help text"
msgstr "Hjelpetekst"
-#: ../../mod/admin.php:1665 ../../mod/admin.php:1685
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
msgid "Additional info (optional)"
msgstr "Tilleggsinformasjon (valgfritt)"
-#: ../../mod/admin.php:1675
+#: ../../Zotlabs/Module/Admin.php:2042
msgid "Field definition not found"
msgstr "Feltdefinisjonen ble ikke funnet"
-#: ../../mod/admin.php:1681
+#: ../../Zotlabs/Module/Admin.php:2048
msgid "Edit Profile Field"
msgstr "Endre profilfelt"
-#: ../../mod/poke.php:165
-msgid "Poke somebody"
-msgstr "Dult noen"
-
-#: ../../mod/poke.php:168
-msgid "Poke/Prod"
-msgstr "Prikke/oppildne"
-
-#: ../../mod/poke.php:169
-msgid "Poke, prod or do other things to somebody"
-msgstr "Dult, prikk eller gjør andre ting med noen"
-
-#: ../../mod/poke.php:176
-msgid "Recipient"
-msgstr "Mottaker"
-
-#: ../../mod/poke.php:177
-msgid "Choose what you wish to do to recipient"
-msgstr "Velg hva du ønsker å gjøre med mottakeren"
-
-#: ../../mod/poke.php:180 ../../mod/poke.php:181
-msgid "Make this post private"
-msgstr "Gjør dette innlegget privat"
-
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Henting av URL gir følgende feil: %1$s"
-
-#: ../../mod/profile_photo.php:112 ../../mod/cover_photo.php:54
-msgid "Image uploaded but image cropping failed."
-msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes."
-
-#: ../../mod/profile_photo.php:166 ../../mod/cover_photo.php:150
-msgid "Image resize failed."
-msgstr "Endring av bildestørrelse mislyktes."
-
-#: ../../mod/profile_photo.php:212
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."
-
-#: ../../mod/profile_photo.php:250 ../../mod/cover_photo.php:188
-msgid "Image upload failed."
-msgstr "Opplasting av bildet mislyktes."
-
-#: ../../mod/profile_photo.php:269 ../../mod/cover_photo.php:206
-msgid "Unable to process image."
-msgstr "Kan ikke behandle bildet."
-
-#: ../../mod/profile_photo.php:316 ../../mod/profile_photo.php:357
-#: ../../mod/cover_photo.php:299 ../../mod/cover_photo.php:314
-msgid "Photo not available."
-msgstr "Bildet er ikke tilgjengelig."
-
-#: ../../mod/profile_photo.php:398 ../../mod/cover_photo.php:350
-msgid "Upload File:"
-msgstr "Last opp fil:"
-
-#: ../../mod/profile_photo.php:399 ../../mod/cover_photo.php:351
-msgid "Select a profile:"
-msgstr "Velg en profil:"
-
-#: ../../mod/profile_photo.php:400
-msgid "Upload Profile Photo"
-msgstr "Last opp profilbilde:"
-
-#: ../../mod/profile_photo.php:407 ../../mod/settings.php:992
-#: ../../mod/cover_photo.php:357
-msgid "or"
-msgstr "eller"
-
-#: ../../mod/profile_photo.php:407 ../../mod/cover_photo.php:357
-msgid "skip this step"
-msgstr "hopp over dette steget"
-
-#: ../../mod/profile_photo.php:407 ../../mod/cover_photo.php:357
-msgid "select a photo from your photo albums"
-msgstr "velg et bilde fra dine fotoalbum"
-
-#: ../../mod/profile_photo.php:423 ../../mod/cover_photo.php:373
-msgid "Crop Image"
-msgstr "Beskjær bildet"
-
-#: ../../mod/profile_photo.php:424 ../../mod/cover_photo.php:374
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Vennligst juster bildebeskjæringen for optimal visning."
-
-#: ../../mod/profile_photo.php:426 ../../mod/cover_photo.php:376
-msgid "Done Editing"
-msgstr "Avslutt redigering"
-
-#: ../../mod/profiles.php:19 ../../mod/profiles.php:184
-#: ../../mod/profiles.php:241 ../../mod/profiles.php:608
-msgid "Profile not found."
-msgstr "Profilen ble ikke funnet."
-
-#: ../../mod/profiles.php:39
-msgid "Profile deleted."
-msgstr "Profilen er slettet."
-
-#: ../../mod/profiles.php:63 ../../mod/profiles.php:99
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../mod/profiles.php:84 ../../mod/profiles.php:127
-msgid "New profile created."
-msgstr "Ny profil opprettet."
-
-#: ../../mod/profiles.php:105
-msgid "Profile unavailable to clone."
-msgstr "Profilen er utilgjengelig for klonen."
-
-#: ../../mod/profiles.php:146
-msgid "Profile unavailable to export."
-msgstr "Profilen er utilgjengelig for eksport."
-
-#: ../../mod/profiles.php:251
-msgid "Profile Name is required."
-msgstr "Profilnavn er påkrevd."
-
-#: ../../mod/profiles.php:414
-msgid "Marital Status"
-msgstr "Sivilstand"
-
-#: ../../mod/profiles.php:418
-msgid "Romantic Partner"
-msgstr "Romantisk partner"
-
-#: ../../mod/profiles.php:422
-msgid "Likes"
-msgstr "Liker"
-
-#: ../../mod/profiles.php:426
-msgid "Dislikes"
-msgstr "Liker ikke"
-
-#: ../../mod/profiles.php:430
-msgid "Work/Employment"
-msgstr "Arbeid/sysselsetting"
-
-#: ../../mod/profiles.php:433
-msgid "Religion"
-msgstr "Religion"
-
-#: ../../mod/profiles.php:437
-msgid "Political Views"
-msgstr "Politiske synspunkter"
-
-#: ../../mod/profiles.php:445
-msgid "Sexual Preference"
-msgstr "Seksuelle preferanser"
-
-#: ../../mod/profiles.php:449
-msgid "Homepage"
-msgstr "Hjemmeside"
-
-#: ../../mod/profiles.php:453
-msgid "Interests"
-msgstr "Interesser"
-
-#: ../../mod/profiles.php:547
-msgid "Profile updated."
-msgstr "Profilen er oppdatert."
-
-#: ../../mod/profiles.php:634
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?"
-
-#: ../../mod/profiles.php:674
-msgid "Edit Profile Details"
-msgstr "Endre profildetaljer"
-
-#: ../../mod/profiles.php:676
-msgid "View this profile"
-msgstr "Vis denne profilen"
-
-#: ../../mod/profiles.php:678
-msgid "Change Profile Photo"
-msgstr "Endre profilbilde"
-
-#: ../../mod/profiles.php:679
-msgid "Create a new profile using these settings"
-msgstr "Lag en ny profil ved å bruke disse innstillingene"
-
-#: ../../mod/profiles.php:680
-msgid "Clone this profile"
-msgstr "Klon denne profilen"
-
-#: ../../mod/profiles.php:681
-msgid "Delete this profile"
-msgstr "Slett denne profilen"
-
-#: ../../mod/profiles.php:683
-msgid "Import profile from file"
-msgstr "Importer profil fra fil"
-
-#: ../../mod/profiles.php:684
-msgid "Export profile to file"
-msgstr "Eksporter profil til fil"
-
-#: ../../mod/profiles.php:685
-msgid "Profile Name:"
-msgstr "Profilnavn:"
-
-#: ../../mod/profiles.php:686
-msgid "Your Full Name:"
-msgstr "Ditt fulle navn:"
-
-#: ../../mod/profiles.php:687
-msgid "Title/Description:"
-msgstr "Tittel/Beskrivelse:"
-
-#: ../../mod/profiles.php:688
-msgid "Your Gender:"
-msgstr "Ditt kjønn:"
-
-#: ../../mod/profiles.php:689
-msgid "Birthday :"
-msgstr "Fødselsdag:"
-
-#: ../../mod/profiles.php:690
-msgid "Street Address:"
-msgstr "Gateadresse:"
-
-#: ../../mod/profiles.php:691
-msgid "Locality/City:"
-msgstr "Sted/By:"
-
-#: ../../mod/profiles.php:692
-msgid "Postal/Zip Code:"
-msgstr "Postnummer/ZIP-kode:"
-
-#: ../../mod/profiles.php:693
-msgid "Country:"
-msgstr "Land:"
-
-#: ../../mod/profiles.php:694
-msgid "Region/State:"
-msgstr "Region/fylke:"
-
-#: ../../mod/profiles.php:695
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Sivilstand:"
-
-#: ../../mod/profiles.php:696
-msgid "Who: (if applicable)"
-msgstr "Hvem: (hvis det er aktuelt) "
-
-#: ../../mod/profiles.php:697
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com"
-
-#: ../../mod/profiles.php:698
-msgid "Since [date]:"
-msgstr "Siden [dato]:"
-
-#: ../../mod/profiles.php:700
-msgid "Homepage URL:"
-msgstr "Hjemmeside URL:"
-
-#: ../../mod/profiles.php:703
-msgid "Religious Views:"
-msgstr "Religiøse synspunkter:"
-
-#: ../../mod/profiles.php:704
-msgid "Keywords:"
-msgstr "Nøkkelord:"
-
-#: ../../mod/profiles.php:707
-msgid "Example: fishing photography software"
-msgstr "Eksempel: fisking fotografering programvare"
-
-#: ../../mod/profiles.php:708
-msgid "Used in directory listings"
-msgstr "Brukt i katalogoppføringer"
-
-#: ../../mod/profiles.php:709
-msgid "Tell us about yourself..."
-msgstr "Fortell oss om deg selv..."
-
-#: ../../mod/profiles.php:710
-msgid "Hobbies/Interests"
-msgstr "Hobbier/Interesser"
-
-#: ../../mod/profiles.php:711
-msgid "Contact information and Social Networks"
-msgstr "Kontaktinformasjon og sosiale nettverk"
-
-#: ../../mod/profiles.php:712
-msgid "My other channels"
-msgstr "Mine andre kanaler"
-
-#: ../../mod/profiles.php:713
-msgid "Musical interests"
-msgstr "Musikkinteresser"
-
-#: ../../mod/profiles.php:714
-msgid "Books, literature"
-msgstr "Bøker, litteratur"
-
-#: ../../mod/profiles.php:715
-msgid "Television"
-msgstr "TV/fjernsyn"
-
-#: ../../mod/profiles.php:716
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/dans/kultur/underholdning"
-
-#: ../../mod/profiles.php:717
-msgid "Love/romance"
-msgstr "Kjærlighet/romantikk"
-
-#: ../../mod/profiles.php:718
-msgid "Work/employment"
-msgstr "Arbeid/sysselsetting"
-
-#: ../../mod/profiles.php:719
-msgid "School/education"
-msgstr "Skole/utdanning"
-
-#: ../../mod/profiles.php:725
-msgid "This is your default profile."
-msgstr "Dette er din standardprofil."
-
-#: ../../mod/profiles.php:736
-msgid "Age: "
-msgstr "Alder:"
-
-#: ../../mod/profiles.php:779
-msgid "Edit/Manage Profiles"
-msgstr "Endre/håndter profiler"
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr ""
-#: ../../mod/profiles.php:780
-msgid "Add profile things"
-msgstr "Legg til profilting"
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr ""
-#: ../../mod/profiles.php:781
-msgid "Include desirable objects in your profile"
-msgstr "Inkluder ønskverdige objekter i din profil"
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr ""
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Ugyldig profil-identifikator."
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr ""
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Endre profilsynlighet"
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr ""
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Klikk på en kontakt for å legge til eller fjerne."
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr ""
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Synlig for"
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr ""
-#: ../../mod/pubsites.php:21
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "Nettstedene på listen tillater offentlig registrering i $Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i nettverket som helhet. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Nettstedene selv <strong>kan</strong> gi tilleggsopplysninger."
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "App installert."
-#: ../../mod/pubsites.php:27
-msgid "Hub URL"
-msgstr "Nettstedets URL"
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Feil oppsett for app-en."
-#: ../../mod/pubsites.php:27
-msgid "Access Type"
-msgstr "Tilgangstype"
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Innbyggingskode"
-#: ../../mod/pubsites.php:27
-msgid "Registration Policy"
-msgstr "Retningslinjer for registrering"
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "Endre app"
-#: ../../mod/pubsites.php:33
-msgid "Rate"
-msgstr "Vurder"
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "Lag app"
-#: ../../mod/rate.php:158
-msgid "Website:"
-msgstr "Nettsted:"
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Navn på app"
-#: ../../mod/rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)"
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Plassering (URL) til app"
-#: ../../mod/rate.php:162
-msgid "Rating (this information is public)"
-msgstr "Vurdering (denne informasjonen er offentlig)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "Bildeikon URL"
-#: ../../mod/rate.php:163
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)"
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x80 pixler - valgfritt"
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "Ingen vurderinger"
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr ""
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Vurdering:"
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Versjons-ID"
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Nettsted:"
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Pris på app"
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Beskrivelse:"
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Plassering (URL) for å kjøpe app"
-#: ../../mod/rbmark.php:90
+#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Velg en bokmerkemappe"
-#: ../../mod/rbmark.php:95
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "Save Bookmark"
msgstr "Lagre bokmerke"
-#: ../../mod/rbmark.php:96
+#: ../../Zotlabs/Module/Rbmark.php:100
msgid "URL of bookmark"
msgstr "URL-en til bokmerket"
-#: ../../mod/rbmark.php:101
+#: ../../Zotlabs/Module/Rbmark.php:105
msgid "Or enter new bookmark folder name"
msgstr "Eller skriv nytt navn på bokmerkemappe"
-#: ../../mod/register.php:45
+#: ../../Zotlabs/Module/Register.php:49
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen."
-#: ../../mod/register.php:51
+#: ../../Zotlabs/Module/Register.php:55
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes."
-#: ../../mod/register.php:85
+#: ../../Zotlabs/Module/Register.php:89
msgid "Passwords do not match."
msgstr "Passordene er ikke like."
-#: ../../mod/register.php:127
+#: ../../Zotlabs/Module/Register.php:131
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen."
-#: ../../mod/register.php:133
+#: ../../Zotlabs/Module/Register.php:137
msgid "Your registration is pending approval by the site owner."
msgstr "Din registrering venter på godkjenning av nettstedets eier."
-#: ../../mod/register.php:136
+#: ../../Zotlabs/Module/Register.php:140
msgid "Your registration can not be processed."
msgstr "Din registrering kan ikke behandles."
-#: ../../mod/register.php:180
+#: ../../Zotlabs/Module/Register.php:184
msgid "Registration on this hub is disabled."
msgstr "Registrering ved dette nettstedet er skrudd av."
-#: ../../mod/register.php:189
+#: ../../Zotlabs/Module/Register.php:193
msgid "Registration on this hub is by approval only."
msgstr "Registrering ved dette nettstedet skjer på godkjenning."
-#: ../../mod/register.php:190
+#: ../../Zotlabs/Module/Register.php:194
msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
msgstr "<a href=\"pubsites\">Registrer ved et annet tilsluttet nettsted.</a>"
-#: ../../mod/register.php:200
+#: ../../Zotlabs/Module/Register.php:204
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen."
-#: ../../mod/register.php:211
+#: ../../Zotlabs/Module/Register.php:215
msgid "Terms of Service"
msgstr "Tjenesteavtale"
-#: ../../mod/register.php:217
+#: ../../Zotlabs/Module/Register.php:221
#, php-format
msgid "I accept the %s for this website"
msgstr "Jeg godtar %s for dette nettstedet"
-#: ../../mod/register.php:219
+#: ../../Zotlabs/Module/Register.php:223
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet."
-#: ../../mod/register.php:223
+#: ../../Zotlabs/Module/Register.php:227
msgid "Your email address"
msgstr "Din e-postadresse"
-#: ../../mod/register.php:224
+#: ../../Zotlabs/Module/Register.php:228
msgid "Choose a password"
msgstr "Velg et passord"
-#: ../../mod/register.php:225
+#: ../../Zotlabs/Module/Register.php:229
msgid "Please re-enter your password"
msgstr "Vennligst skriv ditt passord en gang til"
-#: ../../mod/register.php:226
+#: ../../Zotlabs/Module/Register.php:230
msgid "Please enter your invitation code"
msgstr "Vennligst skriv din invitasjonskode"
-#: ../../mod/register.php:232
+#: ../../Zotlabs/Module/Register.php:236
msgid "no"
msgstr "nei"
-#: ../../mod/register.php:232
+#: ../../Zotlabs/Module/Register.php:236
msgid "yes"
msgstr "ja"
-#: ../../mod/register.php:246
+#: ../../Zotlabs/Module/Register.php:250
msgid "Membership on this site is by invitation only."
msgstr "Medlemskap ved dette nettstedet skjer kun via invitasjon."
-#: ../../mod/register.php:258
+#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
+#: ../../boot.php:1685
+msgid "Register"
+msgstr "Registrer"
+
+#: ../../Zotlabs/Module/Register.php:262
msgid "Proceed to create your first channel"
msgstr "Gå videre for å lage din første kanal"
-#: ../../mod/regmod.php:11
+#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
msgstr "Vennligst logg inn."
-#: ../../mod/removeaccount.php:30
+#: ../../Zotlabs/Module/Removeaccount.php:34
msgid ""
"Account removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet."
-#: ../../mod/removeaccount.php:57
+#: ../../Zotlabs/Module/Removeaccount.php:56
msgid "Remove This Account"
msgstr "Slett denne kontoen"
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "WARNING: "
msgstr "ADVARSEL:"
-#: ../../mod/removeaccount.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Denne kontoen og alle dens kanaler vil bli fullstendig fjernet fra nettverket."
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeaccount.php:57
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This action is permanent and can not be undone!"
msgstr "Denne handlingen er permanent og kan ikke angres!"
-#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Removeme.php:60
msgid "Please enter your password for verification:"
msgstr "Vennligst skriv ditt passord for å få bekreftelse:"
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"Remove this account, all its channels and all its channel clones from the "
"network"
msgstr "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket"
-#: ../../mod/removeaccount.php:60
+#: ../../Zotlabs/Module/Removeaccount.php:59
msgid ""
"By default only the instances of the channels located on this hub will be "
"removed from the network"
msgstr "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:712
+#: ../../Zotlabs/Module/Removeaccount.php:60
+#: ../../Zotlabs/Module/Settings.php:705
msgid "Remove Account"
msgstr "Slett konto"
-#: ../../mod/removeme.php:29
+#: ../../Zotlabs/Module/Removeme.php:33
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
"password."
msgstr "Fjerning av kanaler er ikke tillatt innen 48 timer etter endring av kontopassordet."
-#: ../../mod/removeme.php:57
+#: ../../Zotlabs/Module/Removeme.php:58
msgid "Remove This Channel"
msgstr "Fjern denne kanalen"
-#: ../../mod/removeme.php:58
+#: ../../Zotlabs/Module/Removeme.php:59
msgid "This channel will be completely removed from the network. "
msgstr "Denne kanalen vil bli fullstendig fjernet fra nettverket."
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid "Remove this channel and all its clones from the network"
msgstr "Fjern denne kanalen og alle dens kloner fra nettverket"
-#: ../../mod/removeme.php:60
+#: ../../Zotlabs/Module/Removeme.php:61
msgid ""
"By default only the instance of the channel located on this hub will be "
"removed from the network"
msgstr "Som standard vil bare forekomsten av denne kanalen lokalisert på denne hubben bli fjernet fra nettverket"
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1131
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
msgid "Remove Channel"
msgstr "Fjern kanal"
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr "Vi støtte på et problem under innloggingen med din OpenID. Vennligst sjekk at ID-en er stavet riktig."
-#: ../../mod/rmagic.php:40
+#: ../../Zotlabs/Module/Rmagic.php:44
msgid "The error message was:"
msgstr "Feilmeldingen var:"
-#: ../../mod/rmagic.php:44
+#: ../../Zotlabs/Module/Rmagic.php:48
msgid "Authentication failed."
msgstr "Autentisering mislyktes."
-#: ../../mod/rmagic.php:84
+#: ../../Zotlabs/Module/Rmagic.php:88
msgid "Remote Authentication"
msgstr "Fjernautentisering"
-#: ../../mod/rmagic.php:85
+#: ../../Zotlabs/Module/Rmagic.php:89
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Skriv din kanaladresse (for eksempel channel@exampel.com)"
-#: ../../mod/rmagic.php:86
+#: ../../Zotlabs/Module/Rmagic.php:90
msgid "Authenticate"
msgstr "Autentiser"
-#: ../../mod/search.php:212
+#: ../../Zotlabs/Module/Search.php:216
#, php-format
msgid "Items tagged with: %s"
msgstr "Elementer merket med: %s"
-#: ../../mod/search.php:214
+#: ../../Zotlabs/Module/Search.php:218
#, php-format
msgid "Search results for: %s"
msgstr "Søkeresultater for: %s"
-#: ../../mod/service_limits.php:19
+#: ../../Zotlabs/Module/Service_limits.php:23
msgid "No service class restrictions found."
msgstr "Ingen restriksjoner er funnet i tjenesteklasse."
-#: ../../mod/settings.php:76
+#: ../../Zotlabs/Module/Settings.php:69
msgid "Name is required"
msgstr "Navn er påkrevd"
-#: ../../mod/settings.php:80
+#: ../../Zotlabs/Module/Settings.php:73
msgid "Key and Secret are required"
msgstr "Nøkkel og hemmelighet er påkrevd"
-#: ../../mod/settings.php:232
+#: ../../Zotlabs/Module/Settings.php:225
msgid "Not valid email."
msgstr "Ikke gyldig e-post."
-#: ../../mod/settings.php:235
+#: ../../Zotlabs/Module/Settings.php:228
msgid "Protected email address. Cannot change to that email."
msgstr "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen."
-#: ../../mod/settings.php:244
+#: ../../Zotlabs/Module/Settings.php:237
msgid "System failure storing new email. Please try again."
msgstr "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen."
-#: ../../mod/settings.php:261
+#: ../../Zotlabs/Module/Settings.php:254
msgid "Password verification failed."
msgstr "Passordbekreftelsen mislyktes."
-#: ../../mod/settings.php:268
+#: ../../Zotlabs/Module/Settings.php:261
msgid "Passwords do not match. Password unchanged."
msgstr "Passordene stemmer ikke overens. Passord uforandret."
-#: ../../mod/settings.php:272
+#: ../../Zotlabs/Module/Settings.php:265
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Tomme passord er ikke tillatt. Passord uforandret."
-#: ../../mod/settings.php:286
+#: ../../Zotlabs/Module/Settings.php:279
msgid "Password changed."
msgstr "Passord endret."
-#: ../../mod/settings.php:288
+#: ../../Zotlabs/Module/Settings.php:281
msgid "Password update failed. Please try again."
msgstr "Passord oppdatering mislyktes. Vennligst prøv igjen."
-#: ../../mod/settings.php:532
+#: ../../Zotlabs/Module/Settings.php:525
msgid "Settings updated."
msgstr "Innstillinger oppdatert."
-#: ../../mod/settings.php:596 ../../mod/settings.php:622
-#: ../../mod/settings.php:658
+#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
+#: ../../Zotlabs/Module/Settings.php:651
msgid "Add application"
msgstr "Legg til program"
-#: ../../mod/settings.php:599
+#: ../../Zotlabs/Module/Settings.php:592
msgid "Name of application"
msgstr "Navn på program"
-#: ../../mod/settings.php:600 ../../mod/settings.php:626
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:600 ../../mod/settings.php:601
+#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Automatisk laget - kan endres om du vil. Største lengde 20"
-#: ../../mod/settings.php:601 ../../mod/settings.php:627
+#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:602 ../../mod/settings.php:628
+#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
msgid "Redirect"
msgstr "Omdirigering"
-#: ../../mod/settings.php:602
+#: ../../Zotlabs/Module/Settings.php:595
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette"
-#: ../../mod/settings.php:603 ../../mod/settings.php:629
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
msgid "Icon url"
msgstr "Ikon-URL"
-#: ../../mod/settings.php:603
+#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr "Valgfritt"
-#: ../../mod/settings.php:614
+#: ../../Zotlabs/Module/Settings.php:607
msgid "Application not found."
msgstr "Programmet ble ikke funnet."
-#: ../../mod/settings.php:657
+#: ../../Zotlabs/Module/Settings.php:650
msgid "Connected Apps"
msgstr "Tilkoblede app-er"
-#: ../../mod/settings.php:661
+#: ../../Zotlabs/Module/Settings.php:654
msgid "Client key starts with"
msgstr "Klientnøkkel starter med"
-#: ../../mod/settings.php:662
+#: ../../Zotlabs/Module/Settings.php:655
msgid "No name"
msgstr "Ikke noe navn"
-#: ../../mod/settings.php:663
+#: ../../Zotlabs/Module/Settings.php:656
msgid "Remove authorization"
msgstr "Fjern tillatelse"
-#: ../../mod/settings.php:676
+#: ../../Zotlabs/Module/Settings.php:669
msgid "No feature settings configured"
msgstr "Ingen funksjonsinnstillinger er konfigurert"
-#: ../../mod/settings.php:683
+#: ../../Zotlabs/Module/Settings.php:676
msgid "Feature/Addon Settings"
msgstr "Funksjons-/Tilleggsinnstillinger"
-#: ../../mod/settings.php:706
+#: ../../Zotlabs/Module/Settings.php:699
msgid "Account Settings"
msgstr "Kontoinnstillinger"
-#: ../../mod/settings.php:707
+#: ../../Zotlabs/Module/Settings.php:700
msgid "Current Password"
msgstr "Nåværende passord"
-#: ../../mod/settings.php:708
+#: ../../Zotlabs/Module/Settings.php:701
msgid "Enter New Password"
msgstr "Skriv nytt passord"
-#: ../../mod/settings.php:709
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Confirm New Password"
msgstr "Bekreft nytt passord"
-#: ../../mod/settings.php:709
+#: ../../Zotlabs/Module/Settings.php:702
msgid "Leave password fields blank unless changing"
msgstr "La passordfeltene stå blanke om det ikke skal endres"
-#: ../../mod/settings.php:711 ../../mod/settings.php:1048
+#: ../../Zotlabs/Module/Settings.php:704
+#: ../../Zotlabs/Module/Settings.php:1041
msgid "Email Address:"
msgstr "E-postadresse:"
-#: ../../mod/settings.php:713
+#: ../../Zotlabs/Module/Settings.php:706
msgid "Remove this account including all its channels"
msgstr "Slett denne kontoen inkludert alle dens kanaler"
-#: ../../mod/settings.php:736
+#: ../../Zotlabs/Module/Settings.php:729
msgid "Additional Features"
msgstr "Ekstra funksjoner"
-#: ../../mod/settings.php:760
+#: ../../Zotlabs/Module/Settings.php:753
msgid "Connector Settings"
msgstr "Koblingsinnstillinger"
-#: ../../mod/settings.php:799
+#: ../../Zotlabs/Module/Settings.php:792
msgid "No special theme for mobile devices"
msgstr "Ikke noe spesielt tema for mobile enheter"
-#: ../../mod/settings.php:802
+#: ../../Zotlabs/Module/Settings.php:795
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Eksperimentelt)"
-#: ../../mod/settings.php:844
+#: ../../Zotlabs/Module/Settings.php:837
msgid "Display Settings"
msgstr "Visningsinnstillinger"
-#: ../../mod/settings.php:845
+#: ../../Zotlabs/Module/Settings.php:838
msgid "Theme Settings"
msgstr "Temainnstillinger"
-#: ../../mod/settings.php:846
+#: ../../Zotlabs/Module/Settings.php:839
msgid "Custom Theme Settings"
msgstr "Tilpassede temainnstillinger"
-#: ../../mod/settings.php:847
+#: ../../Zotlabs/Module/Settings.php:840
msgid "Content Settings"
msgstr "Innholdsinnstillinger"
-#: ../../mod/settings.php:853
+#: ../../Zotlabs/Module/Settings.php:846
msgid "Display Theme:"
msgstr "Visningstema:"
-#: ../../mod/settings.php:854
+#: ../../Zotlabs/Module/Settings.php:847
msgid "Mobile Theme:"
msgstr "Mobiltema:"
-#: ../../mod/settings.php:855
+#: ../../Zotlabs/Module/Settings.php:848
msgid "Preload images before rendering the page"
msgstr "Last inn bildene før gjengivelsen av siden"
-#: ../../mod/settings.php:855
+#: ../../Zotlabs/Module/Settings.php:848
msgid ""
"The subjective page load time will be longer but the page will be ready when"
" displayed"
msgstr "Den personlige opplevelsen av lastetiden vil være lenger, men siden vil være klar når den vises"
-#: ../../mod/settings.php:856
+#: ../../Zotlabs/Module/Settings.php:849
msgid "Enable user zoom on mobile devices"
msgstr "Skru på brukerstyrt zoom på mobile enheter"
-#: ../../mod/settings.php:857
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Update browser every xx seconds"
msgstr "Oppdater nettleser hvert xx sekunder"
-#: ../../mod/settings.php:857
+#: ../../Zotlabs/Module/Settings.php:850
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimum 10 sekunder, ikke noe maksimum"
-#: ../../mod/settings.php:858
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum number of conversations to load at any time:"
msgstr "Maksimalt antall samtaler å laste samtidig:"
-#: ../../mod/settings.php:858
+#: ../../Zotlabs/Module/Settings.php:851
msgid "Maximum of 100 items"
msgstr "Maksimum 100 elementer"
-#: ../../mod/settings.php:859
+#: ../../Zotlabs/Module/Settings.php:852
msgid "Show emoticons (smilies) as images"
msgstr "Vis emoticons (smilefjes) som bilder"
-#: ../../mod/settings.php:860
+#: ../../Zotlabs/Module/Settings.php:853
msgid "Link post titles to source"
msgstr "Lenk innleggets tittel til kilden"
-#: ../../mod/settings.php:861
+#: ../../Zotlabs/Module/Settings.php:854
msgid "System Page Layout Editor - (advanced)"
msgstr "Systemsidens layoutbehandler - (avansert)"
-#: ../../mod/settings.php:864
+#: ../../Zotlabs/Module/Settings.php:857
msgid "Use blog/list mode on channel page"
msgstr "Bruk blogg-/listemodus på kanalsiden"
-#: ../../mod/settings.php:864 ../../mod/settings.php:865
+#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
msgid "(comments displayed separately)"
msgstr "(kommentarer vist separat)"
-#: ../../mod/settings.php:865
+#: ../../Zotlabs/Module/Settings.php:858
msgid "Use blog/list mode on grid page"
msgstr "Bruk blogg-/liste-modus på nettverkssiden"
-#: ../../mod/settings.php:866
+#: ../../Zotlabs/Module/Settings.php:859
msgid "Channel page max height of content (in pixels)"
msgstr "Kanalsidens makshøyde for innhold (i pixler)"
-#: ../../mod/settings.php:866 ../../mod/settings.php:867
+#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
msgid "click to expand content exceeding this height"
msgstr "klikk for å utvide innhold som overstiger denne høyden"
-#: ../../mod/settings.php:867
+#: ../../Zotlabs/Module/Settings.php:860
msgid "Grid page max height of content (in pixels)"
msgstr "Nettverkssidens makshøyde for innhold (i piksler)"
-#: ../../mod/settings.php:901
+#: ../../Zotlabs/Module/Settings.php:894
msgid "Nobody except yourself"
msgstr "Ingen unntatt deg selv"
-#: ../../mod/settings.php:902
+#: ../../Zotlabs/Module/Settings.php:895
msgid "Only those you specifically allow"
msgstr "Bare de du spesifikt tillater"
-#: ../../mod/settings.php:903
+#: ../../Zotlabs/Module/Settings.php:896
msgid "Approved connections"
msgstr "Godkjente forbindelser"
-#: ../../mod/settings.php:904
+#: ../../Zotlabs/Module/Settings.php:897
msgid "Any connections"
msgstr "Enhver forbindelse"
-#: ../../mod/settings.php:905
+#: ../../Zotlabs/Module/Settings.php:898
msgid "Anybody on this website"
msgstr "Enhver ved dette nettstedet"
-#: ../../mod/settings.php:906
+#: ../../Zotlabs/Module/Settings.php:899
msgid "Anybody in this network"
msgstr "Enhver i dette nettverket"
-#: ../../mod/settings.php:907
+#: ../../Zotlabs/Module/Settings.php:900
msgid "Anybody authenticated"
msgstr "Enhver som er autentisert"
-#: ../../mod/settings.php:908
+#: ../../Zotlabs/Module/Settings.php:901
msgid "Anybody on the internet"
msgstr "Enhver på Internett"
-#: ../../mod/settings.php:983
+#: ../../Zotlabs/Module/Settings.php:976
msgid "Publish your default profile in the network directory"
msgstr "Publiser din standardprofil i nettverkskatalogen"
-#: ../../mod/settings.php:988
+#: ../../Zotlabs/Module/Settings.php:981
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?"
-#: ../../mod/settings.php:997
+#: ../../Zotlabs/Module/Settings.php:990
msgid "Your channel address is"
msgstr "Din kanaladresse er"
-#: ../../mod/settings.php:1039
+#: ../../Zotlabs/Module/Settings.php:1032
msgid "Channel Settings"
msgstr "Kanalinnstillinger"
-#: ../../mod/settings.php:1046
+#: ../../Zotlabs/Module/Settings.php:1039
msgid "Basic Settings"
msgstr "Grunninnstillinger"
-#: ../../mod/settings.php:1049
+#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
+msgid "Full Name:"
+msgstr "Fullt navn:"
+
+#: ../../Zotlabs/Module/Settings.php:1042
msgid "Your Timezone:"
msgstr "Din tidssone:"
-#: ../../mod/settings.php:1050
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Default Post Location:"
msgstr "Standard plassering ved innlegg:"
-#: ../../mod/settings.php:1050
+#: ../../Zotlabs/Module/Settings.php:1043
msgid "Geographical location to display on your posts"
msgstr "Geografisk plassering som vises på dine innlegg"
-#: ../../mod/settings.php:1051
+#: ../../Zotlabs/Module/Settings.php:1044
msgid "Use Browser Location:"
msgstr "Bruk nettleseren sin plassering:"
-#: ../../mod/settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1046
msgid "Adult Content"
msgstr "Voksent innhold"
-#: ../../mod/settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1046
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)"
-#: ../../mod/settings.php:1055
+#: ../../Zotlabs/Module/Settings.php:1048
msgid "Security and Privacy Settings"
msgstr "Sikkerhets- og personverninnstillinger"
-#: ../../mod/settings.php:1058
+#: ../../Zotlabs/Module/Settings.php:1051
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Dine tillatelser er allerede satt. Klikk for å se/justere."
-#: ../../mod/settings.php:1060
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Hide my online presence"
msgstr "Skjul min tilstedeværelse online"
-#: ../../mod/settings.php:1060
+#: ../../Zotlabs/Module/Settings.php:1053
msgid "Prevents displaying in your profile that you are online"
msgstr "Forhindrer visning på din profil av at du er online "
-#: ../../mod/settings.php:1062
+#: ../../Zotlabs/Module/Settings.php:1055
msgid "Simple Privacy Settings:"
msgstr "Enkle personverninnstillinger:"
-#: ../../mod/settings.php:1063
+#: ../../Zotlabs/Module/Settings.php:1056
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>"
-#: ../../mod/settings.php:1064
+#: ../../Zotlabs/Module/Settings.php:1057
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>"
-#: ../../mod/settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1058
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privat - <em>standard er privat, aldri åpen eller offentlig</em>"
-#: ../../mod/settings.php:1066
+#: ../../Zotlabs/Module/Settings.php:1059
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Blokkert - <em>standard blokkert til/fra alle</em>"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1061
msgid "Allow others to tag your posts"
msgstr "Tillat andre å merke dine innlegg"
-#: ../../mod/settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1061
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant"
-#: ../../mod/settings.php:1070
+#: ../../Zotlabs/Module/Settings.php:1063
msgid "Advanced Privacy Settings"
msgstr "Avanserte personverninnstillinger"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1065
msgid "Expire other channel content after this many days"
msgstr "Annet kanal innhold utløper etter så mange dager"
-#: ../../mod/settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "0 or blank to use the website limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
#, php-format
-msgid ""
-"0 or blank to use the website limit. The website expires after %d days."
-msgstr "0 eller ikke noe for å bruke nettstedets grense. Nettstedet utløper etter %d dager."
+msgid "This website expires after %d days."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "This website does not expire imported content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1065
+msgid "The website limit takes precedence if lower than your limit."
+msgstr ""
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "Maximum Friend Requests/Day:"
msgstr "Maksimalt antall venneforespørsler per dag:"
-#: ../../mod/settings.php:1073
+#: ../../Zotlabs/Module/Settings.php:1066
msgid "May reduce spam activity"
msgstr "Kan redusere søppelpostaktivitet"
-#: ../../mod/settings.php:1074
-msgid "Default Post Permissions"
-msgstr "Standard innleggstillatelser"
+#: ../../Zotlabs/Module/Settings.php:1067
+msgid "Default Post and Publish Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:1069
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
-#: ../../mod/settings.php:1079
+#: ../../Zotlabs/Module/Settings.php:1072
msgid "Channel permissions category:"
msgstr "Kategori med kanaltillatelser:"
-#: ../../mod/settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Maximum private messages per day from unknown people:"
msgstr "Maksimalt antall private meldinger per dag fra ukjente personer:"
-#: ../../mod/settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1078
msgid "Useful to reduce spamming"
msgstr "Nyttig for å redusere søppelpost"
-#: ../../mod/settings.php:1088
+#: ../../Zotlabs/Module/Settings.php:1081
msgid "Notification Settings"
msgstr "Varslingsinnstillinger"
-#: ../../mod/settings.php:1089
+#: ../../Zotlabs/Module/Settings.php:1082
msgid "By default post a status message when:"
msgstr "Legg inn en statusmelding når du:"
-#: ../../mod/settings.php:1090
+#: ../../Zotlabs/Module/Settings.php:1083
msgid "accepting a friend request"
msgstr "aksepterer en venneforespørsel"
-#: ../../mod/settings.php:1091
+#: ../../Zotlabs/Module/Settings.php:1084
msgid "joining a forum/community"
msgstr "blir med i et forum/miljø"
-#: ../../mod/settings.php:1092
+#: ../../Zotlabs/Module/Settings.php:1085
msgid "making an <em>interesting</em> profile change"
msgstr "gjør en <em>interessant</em> profilendring"
-#: ../../mod/settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1086
msgid "Send a notification email when:"
msgstr "Send en varsel-e-post når:"
-#: ../../mod/settings.php:1094
+#: ../../Zotlabs/Module/Settings.php:1087
msgid "You receive a connection request"
msgstr "Du har mottatt en forespørsel om forbindelse"
-#: ../../mod/settings.php:1095
+#: ../../Zotlabs/Module/Settings.php:1088
msgid "Your connections are confirmed"
msgstr "Dine forbindelser er bekreftet"
-#: ../../mod/settings.php:1096
+#: ../../Zotlabs/Module/Settings.php:1089
msgid "Someone writes on your profile wall"
msgstr "Noen skriver på din profilvegg"
-#: ../../mod/settings.php:1097
+#: ../../Zotlabs/Module/Settings.php:1090
msgid "Someone writes a followup comment"
msgstr "Noen skriver en oppfølgende kommentar"
-#: ../../mod/settings.php:1098
+#: ../../Zotlabs/Module/Settings.php:1091
msgid "You receive a private message"
msgstr "Du mottar en privat melding"
-#: ../../mod/settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1092
msgid "You receive a friend suggestion"
msgstr "Du mottok et venneforslag"
-#: ../../mod/settings.php:1100
+#: ../../Zotlabs/Module/Settings.php:1093
msgid "You are tagged in a post"
msgstr "Du merkes i et innlegg"
-#: ../../mod/settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1094
msgid "You are poked/prodded/etc. in a post"
msgstr "Du ble prikket/oppildnet/og så vider i et innlegg"
-#: ../../mod/settings.php:1104
+#: ../../Zotlabs/Module/Settings.php:1097
msgid "Show visual notifications including:"
msgstr "Vis visuelle varslinger om:"
-#: ../../mod/settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1099
msgid "Unseen grid activity"
msgstr "Usett nettverksaktivitet"
-#: ../../mod/settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1100
msgid "Unseen channel activity"
msgstr "Usett kanalaktivitet"
-#: ../../mod/settings.php:1108
+#: ../../Zotlabs/Module/Settings.php:1101
msgid "Unseen private messages"
msgstr "Usette private meldinger"
-#: ../../mod/settings.php:1108 ../../mod/settings.php:1113
-#: ../../mod/settings.php:1114 ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "Recommended"
msgstr "Anbefalt"
-#: ../../mod/settings.php:1109
+#: ../../Zotlabs/Module/Settings.php:1102
msgid "Upcoming events"
msgstr "Kommende hendelser"
-#: ../../mod/settings.php:1110
+#: ../../Zotlabs/Module/Settings.php:1103
msgid "Events today"
msgstr "Hendelser idag"
-#: ../../mod/settings.php:1111
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Upcoming birthdays"
msgstr "Kommende fødselsdager"
-#: ../../mod/settings.php:1111
+#: ../../Zotlabs/Module/Settings.php:1104
msgid "Not available in all themes"
msgstr "Ikke tilgjengelig i alle temaer"
-#: ../../mod/settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1105
msgid "System (personal) notifications"
msgstr "System (personlige) varslinger"
-#: ../../mod/settings.php:1113
+#: ../../Zotlabs/Module/Settings.php:1106
msgid "System info messages"
msgstr "System infomeldinger"
-#: ../../mod/settings.php:1114
+#: ../../Zotlabs/Module/Settings.php:1107
msgid "System critical alerts"
msgstr "System kritiske varsel"
-#: ../../mod/settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1108
msgid "New connections"
msgstr "Nye forbindelser"
-#: ../../mod/settings.php:1116
+#: ../../Zotlabs/Module/Settings.php:1109
msgid "System Registrations"
msgstr "Systemregistreringer"
-#: ../../mod/settings.php:1117
+#: ../../Zotlabs/Module/Settings.php:1110
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Vis også nye vegginnlegg, private meldinger og forbindelser under Varsler"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Notify me of events this many days in advance"
msgstr "Varsle meg om hendelser dette antall dager på forhånd"
-#: ../../mod/settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1112
msgid "Must be greater than 0"
msgstr "Må være større enn 0"
-#: ../../mod/settings.php:1121
+#: ../../Zotlabs/Module/Settings.php:1114
msgid "Advanced Account/Page Type Settings"
msgstr "Avanserte innstillinger for konto/sidetype"
-#: ../../mod/settings.php:1122
+#: ../../Zotlabs/Module/Settings.php:1115
msgid "Change the behaviour of this account for special situations"
msgstr "Endre oppførselen til denne kontoen i spesielle situasjoner"
-#: ../../mod/settings.php:1125
+#: ../../Zotlabs/Module/Settings.php:1118
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!"
-#: ../../mod/settings.php:1126
+#: ../../Zotlabs/Module/Settings.php:1119
msgid "Miscellaneous Settings"
msgstr "Diverse innstillinger"
-#: ../../mod/settings.php:1127
+#: ../../Zotlabs/Module/Settings.php:1120
msgid "Default photo upload folder"
msgstr "Standard mappe for opplasting av bilder"
-#: ../../mod/settings.php:1127 ../../mod/settings.php:1128
+#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "%Y - current year, %m - current month"
msgstr "%Y - nåværende år, %m - nåværende måned"
-#: ../../mod/settings.php:1128
+#: ../../Zotlabs/Module/Settings.php:1121
msgid "Default file upload folder"
msgstr "Standard mappe for opplasting av filer"
-#: ../../mod/settings.php:1130
+#: ../../Zotlabs/Module/Settings.php:1123
msgid "Personal menu to display in your channel pages"
msgstr "Personlig meny som kan vises på dine kanalsider"
-#: ../../mod/settings.php:1132
+#: ../../Zotlabs/Module/Settings.php:1125
msgid "Remove this channel."
msgstr "Fjern denne kanalen."
-#: ../../mod/settings.php:1133
+#: ../../Zotlabs/Module/Settings.php:1126
msgid "Firefox Share $Projectname provider"
msgstr "$Projectname Firefox Share tilbyder"
-#: ../../mod/settings.php:1134
+#: ../../Zotlabs/Module/Settings.php:1127
msgid "Start calendar week on monday"
msgstr "Start uken med mandag i kalenderen"
-#: ../../mod/setup.php:194
+#: ../../Zotlabs/Module/Setup.php:179
msgid "$Projectname Server - Setup"
msgstr "$Projectname-tjener - oppsett"
-#: ../../mod/setup.php:198
+#: ../../Zotlabs/Module/Setup.php:183
msgid "Could not connect to database."
msgstr "Fikk ikke kontakt med databasen."
-#: ../../mod/setup.php:202
+#: ../../Zotlabs/Module/Setup.php:187
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS."
-#: ../../mod/setup.php:209
+#: ../../Zotlabs/Module/Setup.php:194
msgid "Could not create table."
msgstr "Kunne ikke lage tabellen."
-#: ../../mod/setup.php:214
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Your site database has been installed."
msgstr "Databasen til ditt nettsted har blitt installert."
-#: ../../mod/setup.php:218
+#: ../../Zotlabs/Module/Setup.php:203
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient."
-#: ../../mod/setup.php:219 ../../mod/setup.php:287 ../../mod/setup.php:737
+#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
+#: ../../Zotlabs/Module/Setup.php:721
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Vennligst les filen \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:284
+#: ../../Zotlabs/Module/Setup.php:263
msgid "System check"
msgstr "Systemsjekk"
-#: ../../mod/setup.php:289
+#: ../../Zotlabs/Module/Setup.php:268
msgid "Check again"
msgstr "Sjekk igjen"
-#: ../../mod/setup.php:311
+#: ../../Zotlabs/Module/Setup.php:290
msgid "Database connection"
msgstr "Databaseforbindelse"
-#: ../../mod/setup.php:312
+#: ../../Zotlabs/Module/Setup.php:291
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "For å installere $Projectname må du oppgi hvordan din database kan kontaktes."
-#: ../../mod/setup.php:313
+#: ../../Zotlabs/Module/Setup.php:292
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene."
-#: ../../mod/setup.php:314
+#: ../../Zotlabs/Module/Setup.php:293
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter."
-#: ../../mod/setup.php:318
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Database Server Name"
msgstr "Navn på databasetjener"
-#: ../../mod/setup.php:318
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Default is 127.0.0.1"
msgstr "Standard er 127.0.0.1"
-#: ../../mod/setup.php:319
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Database Port"
msgstr "Databaseport"
-#: ../../mod/setup.php:319
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Communication port number - use 0 for default"
msgstr "Kommunikasjonsportnummer - bruk 0 for standard"
-#: ../../mod/setup.php:320
+#: ../../Zotlabs/Module/Setup.php:299
msgid "Database Login Name"
msgstr "Database innloggingsnavn"
-#: ../../mod/setup.php:321
+#: ../../Zotlabs/Module/Setup.php:300
msgid "Database Login Password"
msgstr "Database innloggingspassord"
-#: ../../mod/setup.php:322
+#: ../../Zotlabs/Module/Setup.php:301
msgid "Database Name"
msgstr "Databasenavn"
-#: ../../mod/setup.php:323
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Type"
msgstr "Databasetype"
-#: ../../mod/setup.php:325 ../../mod/setup.php:365
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid "Site administrator email address"
msgstr "E-postadressen til administrator ved nettstedet"
-#: ../../mod/setup.php:325 ../../mod/setup.php:365
+#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet."
-#: ../../mod/setup.php:326 ../../mod/setup.php:367
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Website URL"
msgstr "Nettstedets URL"
-#: ../../mod/setup.php:326 ../../mod/setup.php:367
+#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
msgid "Please use SSL (https) URL if available."
msgstr "Vennligst bruk SSL (https) URL hvis tilgjengelig."
-#: ../../mod/setup.php:327 ../../mod/setup.php:370
+#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
msgid "Please select a default timezone for your website"
msgstr "Vennligst velg en standard tidssone for ditt nettsted"
-#: ../../mod/setup.php:354
+#: ../../Zotlabs/Module/Setup.php:333
msgid "Site settings"
msgstr "Nettstedets innstillinger"
-#: ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:347
msgid "Enable $Projectname <strong>advanced</strong> features?"
msgstr "Skru på <strong>avanserte</strong egenskaper i $Projectname ?"
-#: ../../mod/setup.php:368
+#: ../../Zotlabs/Module/Setup.php:347
msgid ""
"Some advanced features, while useful - may be best suited for technically "
"proficient audiences"
msgstr "Noen avanserte egenskaper, som - selv om de er nyttige - kanskje passer bedre for et teknisk kyndig publikum. "
-#: ../../mod/setup.php:420
+#: ../../Zotlabs/Module/Setup.php:388
+msgid "PHP version 5.5 or greater is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:389
+msgid "PHP version"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:404
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)."
-#: ../../mod/setup.php:421
+#: ../../Zotlabs/Module/Setup.php:405
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron."
-#: ../../mod/setup.php:425
+#: ../../Zotlabs/Module/Setup.php:409
msgid "PHP executable path"
msgstr "PHP-kjørefilens sti"
-#: ../../mod/setup.php:425
+#: ../../Zotlabs/Module/Setup.php:409
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen."
-#: ../../mod/setup.php:430
+#: ../../Zotlabs/Module/Setup.php:414
msgid "Command line PHP"
msgstr "Kommandolinje PHP"
-#: ../../mod/setup.php:439
+#: ../../Zotlabs/Module/Setup.php:423
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd."
-#: ../../mod/setup.php:440
+#: ../../Zotlabs/Module/Setup.php:424
msgid "This is required for message delivery to work."
msgstr "Dette er påkrevd for at meldingslevering skal virke."
-#: ../../mod/setup.php:443
+#: ../../Zotlabs/Module/Setup.php:427
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:461
+#: ../../Zotlabs/Module/Setup.php:445
#, php-format
msgid ""
"Your max allowed total upload size is set to %s. Maximum size of one file to"
" upload is set to %s. You are allowed to upload up to %d files at once."
msgstr "Den største totale opplastingsstørrelsen du er tillatt er satt til %s. Filstørrelsen på en enkelt fil er satt til å maksimalt være %s. Du har lov til å laste opp inntil %d filer samtidig."
-#: ../../mod/setup.php:466
+#: ../../Zotlabs/Module/Setup.php:450
msgid "You can adjust these settings in the servers php.ini."
msgstr "Du kan justere disse innstillingene i tjenerens php.ini."
-#: ../../mod/setup.php:468
+#: ../../Zotlabs/Module/Setup.php:452
msgid "PHP upload limits"
msgstr "PHP opplastingsgrenser"
-#: ../../mod/setup.php:491
+#: ../../Zotlabs/Module/Setup.php:475
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler"
-#: ../../mod/setup.php:492
+#: ../../Zotlabs/Module/Setup.php:476
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/setup.php:495
+#: ../../Zotlabs/Module/Setup.php:479
msgid "Generate encryption keys"
msgstr "Lag krypteringsnøkler"
-#: ../../mod/setup.php:507
+#: ../../Zotlabs/Module/Setup.php:491
msgid "libCurl PHP module"
msgstr "libCurl PHP-modul"
-#: ../../mod/setup.php:508
+#: ../../Zotlabs/Module/Setup.php:492
msgid "GD graphics PHP module"
msgstr "GD graphics PHP-modul"
-#: ../../mod/setup.php:509
+#: ../../Zotlabs/Module/Setup.php:493
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP-modul"
-#: ../../mod/setup.php:510
+#: ../../Zotlabs/Module/Setup.php:494
msgid "mysqli or postgres PHP module"
msgstr "MySQLi eller Postgres PHP modul"
-#: ../../mod/setup.php:511
+#: ../../Zotlabs/Module/Setup.php:495
msgid "mb_string PHP module"
msgstr "mb_string PHP-modul"
-#: ../../mod/setup.php:512
+#: ../../Zotlabs/Module/Setup.php:496
msgid "mcrypt PHP module"
msgstr "mcrypt PHP-modul"
-#: ../../mod/setup.php:513
+#: ../../Zotlabs/Module/Setup.php:497
msgid "xml PHP module"
msgstr "XML PHP modul"
-#: ../../mod/setup.php:517 ../../mod/setup.php:519
+#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite-modul"
-#: ../../mod/setup.php:517
+#: ../../Zotlabs/Module/Setup.php:501
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert."
-#: ../../mod/setup.php:523 ../../mod/setup.php:526
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:523
+#: ../../Zotlabs/Module/Setup.php:507
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini"
-#: ../../mod/setup.php:531
+#: ../../Zotlabs/Module/Setup.php:515
msgid "Error: libCURL PHP module required but not installed."
msgstr "Feil: libCURL PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/setup.php:535
+#: ../../Zotlabs/Module/Setup.php:519
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert."
-#: ../../mod/setup.php:539
+#: ../../Zotlabs/Module/Setup.php:523
msgid "Error: openssl PHP module required but not installed."
msgstr "Feil: openssl PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/setup.php:543
+#: ../../Zotlabs/Module/Setup.php:527
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert."
-#: ../../mod/setup.php:547
+#: ../../Zotlabs/Module/Setup.php:531
msgid "Error: mb_string PHP module required but not installed."
msgstr "Feil: mb_string PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/setup.php:551
+#: ../../Zotlabs/Module/Setup.php:535
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/setup.php:555
+#: ../../Zotlabs/Module/Setup.php:539
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Feil: XML PHP modul er påkrevet for DAV, men den er ikke installert."
-#: ../../mod/setup.php:573
+#: ../../Zotlabs/Module/Setup.php:557
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til."
-#: ../../mod/setup.php:574
+#: ../../Zotlabs/Module/Setup.php:558
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan."
-#: ../../mod/setup.php:575
+#: ../../Zotlabs/Module/Setup.php:559
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red."
-#: ../../mod/setup.php:576
+#: ../../Zotlabs/Module/Setup.php:560
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner."
-#: ../../mod/setup.php:579
+#: ../../Zotlabs/Module/Setup.php:563
msgid ".htconfig.php is writable"
msgstr ".htconfig.php kan skrives til"
-#: ../../mod/setup.php:593
+#: ../../Zotlabs/Module/Setup.php:577
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen."
-#: ../../mod/setup.php:594
+#: ../../Zotlabs/Module/Setup.php:578
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe."
+"write access to the directory %s under the top level web folder."
+msgstr ""
-#: ../../mod/setup.php:595 ../../mod/setup.php:616
+#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen."
-#: ../../mod/setup.php:596
+#: ../../Zotlabs/Module/Setup.php:580
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder."
-#: ../../mod/setup.php:599
+#: ../../Zotlabs/Module/Setup.php:583
#, php-format
msgid "%s is writable"
msgstr "%s kan skrives til"
-#: ../../mod/setup.php:615
+#: ../../Zotlabs/Module/Setup.php:599
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe."
-#: ../../mod/setup.php:619
+#: ../../Zotlabs/Module/Setup.php:603
msgid "store is writable"
msgstr "lageret kan skrives til"
-#: ../../mod/setup.php:652
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet."
-#: ../../mod/setup.php:653
+#: ../../Zotlabs/Module/Setup.php:637
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!"
-#: ../../mod/setup.php:654
+#: ../../Zotlabs/Module/Setup.php:638
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub."
-#: ../../mod/setup.php:655
+#: ../../Zotlabs/Module/Setup.php:639
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer."
-#: ../../mod/setup.php:656
+#: ../../Zotlabs/Module/Setup.php:640
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet."
-#: ../../mod/setup.php:657
+#: ../../Zotlabs/Module/Setup.php:641
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere."
-#: ../../mod/setup.php:659
+#: ../../Zotlabs/Module/Setup.php:643
msgid "SSL certificate validation"
msgstr "SSL sertifikat-kontroll"
-#: ../../mod/setup.php:665
+#: ../../Zotlabs/Module/Setup.php:649
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:"
-#: ../../mod/setup.php:668
+#: ../../Zotlabs/Module/Setup.php:652
msgid "Url rewrite is working"
msgstr "URL rewrite virker"
-#: ../../mod/setup.php:677
+#: ../../Zotlabs/Module/Setup.php:661
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener."
-#: ../../mod/setup.php:701
+#: ../../Zotlabs/Module/Setup.php:685
msgid "Errors encountered creating database tables."
msgstr "Feil oppstod under opprettelsen av databasetabeller."
-#: ../../mod/setup.php:735
+#: ../../Zotlabs/Module/Setup.php:719
msgid "<h1>What next</h1>"
msgstr "<h1>Hva gjenstår</h1>"
-#: ../../mod/setup.php:736
+#: ../../Zotlabs/Module/Setup.php:720
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren."
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Ingen gyldig konto funnet."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Nettstedsmedlem (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Forespurt om å tilbakestille passord hos %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."
-
-#: ../../mod/lostpass.php:86 ../../boot.php:1551
-msgid "Password Reset"
-msgstr "Tilbakestill passord"
-
-#: ../../mod/lostpass.php:87
-msgid "Your password has been reset as requested."
-msgstr "Ditt passord har blitt tilbakestilt som forespurt."
-
-#: ../../mod/lostpass.php:88
-msgid "Your new password is"
-msgstr "Ditt nye passord er"
-
-#: ../../mod/lostpass.php:89
-msgid "Save or copy your new password - and then"
-msgstr "Lagre eller kopier ditt nye passord, og deretter kan du"
-
-#: ../../mod/lostpass.php:90
-msgid "click here to login"
-msgstr "klikke her for å logge inn"
-
-#: ../../mod/lostpass.php:91
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."
-
-#: ../../mod/lostpass.php:108
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Ditt passord er endret hos %s"
-
-#: ../../mod/lostpass.php:123
-msgid "Forgot your Password?"
-msgstr "Glemt passord ditt?"
-
-#: ../../mod/lostpass.php:124
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."
-
-#: ../../mod/lostpass.php:125
-msgid "Email Address"
-msgstr "E-postadresse"
-
-#: ../../mod/lostpass.php:126
-msgid "Reset"
-msgstr "Tilbakestill"
-
-#: ../../mod/sharedwithme.php:94
+#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
msgstr "Filer: delt med meg"
-#: ../../mod/sharedwithme.php:96
+#: ../../Zotlabs/Module/Sharedwithme.php:100
msgid "NEW"
msgstr "NY"
-#: ../../mod/sharedwithme.php:99
+#: ../../Zotlabs/Module/Sharedwithme.php:103
msgid "Remove all files"
msgstr "Fjern alle filer"
-#: ../../mod/sharedwithme.php:100
+#: ../../Zotlabs/Module/Sharedwithme.php:104
msgid "Remove this file"
msgstr "Fjern denne filen"
-#: ../../mod/siteinfo.php:15
+#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
msgid "Version %s"
msgstr "Versjon %s"
-#: ../../mod/siteinfo.php:36
+#: ../../Zotlabs/Module/Siteinfo.php:40
msgid "Installed plugins/addons/apps:"
msgstr "Installerte tilleggsfunksjoner/tillegg/apper:"
-#: ../../mod/siteinfo.php:49
+#: ../../Zotlabs/Module/Siteinfo.php:53
msgid "No installed plugins/addons/apps"
msgstr "Ingen installerte tilleggsfunksjoner/tillegg/apper"
-#: ../../mod/siteinfo.php:62
+#: ../../Zotlabs/Module/Siteinfo.php:66
msgid ""
"This is a hub of $Projectname - a global cooperative network of "
"decentralized privacy enhanced websites."
msgstr "Dette er en $Projectname-hub - et globalt samhandlende nettverk av desentraliserte nettsteder med innbygget personvern."
-#: ../../mod/siteinfo.php:64
+#: ../../Zotlabs/Module/Siteinfo.php:68
msgid "Tag: "
msgstr "Merkelapp:"
-#: ../../mod/siteinfo.php:66
+#: ../../Zotlabs/Module/Siteinfo.php:70
msgid "Last background fetch: "
msgstr "Siste innhenting i bakgrunnen:"
-#: ../../mod/siteinfo.php:68
+#: ../../Zotlabs/Module/Siteinfo.php:72
msgid "Current load average: "
msgstr "Gjeldende belastningsgjennomsnitt:"
-#: ../../mod/siteinfo.php:71
+#: ../../Zotlabs/Module/Siteinfo.php:75
msgid "Running at web location"
msgstr "Kjører på webplasseringen"
-#: ../../mod/siteinfo.php:72
+#: ../../Zotlabs/Module/Siteinfo.php:76
msgid ""
"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
"about $Projectname."
msgstr "Vennligst besøk <a href=\"http://hubzilla.org\">hubzilla.org</a> for å lære mer om $Projectname."
-#: ../../mod/siteinfo.php:73
+#: ../../Zotlabs/Module/Siteinfo.php:77
msgid "Bug reports and issues: please visit"
msgstr "Feilmeldinger og feilretting: vennligst besøk"
-#: ../../mod/siteinfo.php:75
+#: ../../Zotlabs/Module/Siteinfo.php:79
msgid "$projectname issues"
msgstr "$projectname problemer"
-#: ../../mod/siteinfo.php:76
+#: ../../Zotlabs/Module/Siteinfo.php:80
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"
-#: ../../mod/siteinfo.php:78
+#: ../../Zotlabs/Module/Siteinfo.php:82
msgid "Site Administrators"
msgstr "Nettstedsadministratorer"
-#: ../../mod/sources.php:32
+#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
msgstr "Mislyktes med å lage kilde. Ingen kanal er valgt."
-#: ../../mod/sources.php:45
+#: ../../Zotlabs/Module/Sources.php:51
msgid "Source created."
msgstr "Kilden er laget."
-#: ../../mod/sources.php:57
+#: ../../Zotlabs/Module/Sources.php:64
msgid "Source updated."
msgstr "Kilden er oppdatert."
-#: ../../mod/sources.php:82
+#: ../../Zotlabs/Module/Sources.php:90
msgid "*"
msgstr "*"
-#: ../../mod/sources.php:89
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../include/features.php:71
+msgid "Channel Sources"
+msgstr "Kanalkilder"
+
+#: ../../Zotlabs/Module/Sources.php:97
msgid "Manage remote sources of content for your channel."
msgstr "Håndtere eksterne innholdskilder til din kanal."
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
msgid "New Source"
msgstr "Ny kilde"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
msgstr "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger."
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Only import content with these words (one per line)"
msgstr "Bare importer innhold med disse ordene (ett ord per linje)"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
msgid "Leave blank to import all public content"
msgstr "La stå tomt for å importere alt offentlig innhold"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
msgid "Channel Name"
msgstr "Kanalnavn"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
msgid "Source not found."
msgstr "Kilden ble ikke funnet."
-#: ../../mod/sources.php:130
+#: ../../Zotlabs/Module/Sources.php:140
msgid "Edit Source"
msgstr "Endre kilde"
-#: ../../mod/sources.php:131
+#: ../../Zotlabs/Module/Sources.php:141
msgid "Delete Source"
msgstr "Slett kilde"
-#: ../../mod/sources.php:158
+#: ../../Zotlabs/Module/Sources.php:169
msgid "Source removed"
msgstr "Kilden er fjernet"
-#: ../../mod/sources.php:160
+#: ../../Zotlabs/Module/Sources.php:171
msgid "Unable to remove source."
msgstr "Ikke i stand til å fjerne kilde."
-#: ../../mod/subthread.php:114
+#: ../../Zotlabs/Module/Subthread.php:118
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s følger %2$s sin %3$s"
-#: ../../mod/subthread.php:116
+#: ../../Zotlabs/Module/Subthread.php:120
#, php-format
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s stopped å følge %2$s sin %3$s"
-#: ../../mod/suggest.php:35
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer."
-#: ../../mod/tagger.php:96
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "Ignorer/Skjul"
+
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
+msgid "post"
+msgstr "innlegg"
+
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "kommentar"
+
+#: ../../Zotlabs/Module/Tagger.php:100
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s merket %3$s til %2$s med %4$s"
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
msgid "Tag removed"
msgstr "Merkelapp fjernet"
-#: ../../mod/tagrm.php:119
+#: ../../Zotlabs/Module/Tagrm.php:123
msgid "Remove Item Tag"
msgstr "Fjern merkelapp fra element"
-#: ../../mod/tagrm.php:121
+#: ../../Zotlabs/Module/Tagrm.php:125
msgid "Select a tag to remove: "
msgstr "Velg merkelapp å fjerne:"
-#: ../../mod/thing.php:110
+#: ../../Zotlabs/Module/Thing.php:114
msgid "Thing updated"
msgstr "Tingen er oppdatert"
-#: ../../mod/thing.php:162
+#: ../../Zotlabs/Module/Thing.php:166
msgid "Object store: failed"
msgstr "Objektlagring: mislyktes"
-#: ../../mod/thing.php:166
+#: ../../Zotlabs/Module/Thing.php:170
msgid "Thing added"
msgstr "Ting lagt til"
-#: ../../mod/thing.php:192
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/thing.php:255
+#: ../../Zotlabs/Module/Thing.php:259
msgid "Show Thing"
msgstr "Vis ting"
-#: ../../mod/thing.php:262
+#: ../../Zotlabs/Module/Thing.php:266
msgid "item not found."
msgstr "element ble ikke funnet."
-#: ../../mod/thing.php:295
+#: ../../Zotlabs/Module/Thing.php:299
msgid "Edit Thing"
msgstr "Endre ting"
-#: ../../mod/thing.php:297 ../../mod/thing.php:347
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
msgid "Select a profile"
msgstr "Velg en profil"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Post an activity"
msgstr "Legg inn en aktivitet"
-#: ../../mod/thing.php:301 ../../mod/thing.php:350
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
msgid "Only sends to viewers of the applicable profile"
msgstr "Sender bare til seere av den aktuelle profilen"
-#: ../../mod/thing.php:303 ../../mod/thing.php:352
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
msgid "Name of thing e.g. something"
msgstr "Navn på ting for eksempel noe"
-#: ../../mod/thing.php:305 ../../mod/thing.php:353
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
msgid "URL of thing (optional)"
msgstr "URL til ting (valgfritt)"
-#: ../../mod/thing.php:307 ../../mod/thing.php:354
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
msgid "URL for photo of thing (optional)"
msgstr "URL til bilde av ting (valgfritt)"
-#: ../../mod/thing.php:345
+#: ../../Zotlabs/Module/Thing.php:349
msgid "Add Thing to your Profile"
msgstr "Legg til ting i din profil"
-#: ../../mod/uexport.php:51 ../../mod/uexport.php:52
+#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
msgstr "Eksporter kanal"
-#: ../../mod/uexport.php:53
+#: ../../Zotlabs/Module/Uexport.php:57
msgid ""
"Export your basic channel information to a file. This acts as a backup of "
"your connections, permissions, profile and basic data, which can be used to "
"import your data to a new server hub, but does not contain your content."
msgstr "Eksporter grunnleggende informasjon om kanalen din til en fil. Denne er en sikkerhetskopi av dine forbindelser, tillatelser, profil og grunnleggende data, som kan brukes til å importere dine data til en ny hub, men den tar ikke med innholdet."
-#: ../../mod/uexport.php:54
+#: ../../Zotlabs/Module/Uexport.php:58
msgid "Export Content"
msgstr "Eksporter innhold"
-#: ../../mod/uexport.php:55
+#: ../../Zotlabs/Module/Uexport.php:59
msgid ""
"Export your channel information and recent content to a JSON backup that can"
" be restored or imported to another server hub. This backs up all of your "
@@ -9313,11 +6187,11 @@ msgid ""
" this download to begin."
msgstr "Eksporter din kanalinformasjon og det nyeste innholdet til en JSON-sikkerhetskopi, som kan gjenopprettes eller importeres til en annen hub. Denne lager en sikkerhetskopi av alle dine forbindelser, tillatelser, profildata og flere måneder av innholdet ditt. Denne filen kan være SVÆRT stor. Vennligst vær tålmodig - det kan ta flere minutter før denne nedlastningen begynner."
-#: ../../mod/uexport.php:56
+#: ../../Zotlabs/Module/Uexport.php:60
msgid "Export your posts from a given year."
msgstr "Eksporter dine innlegg fra et bestemt år"
-#: ../../mod/uexport.php:58
+#: ../../Zotlabs/Module/Uexport.php:62
msgid ""
"You may also export your posts and conversations for a particular year or "
"month. Adjust the date in your browser location bar to select other dates. "
@@ -9325,21 +6199,21 @@ msgid ""
"please try again selecting a more limited date range."
msgstr "Du kan også eksportere dine innlegg og samtaler for et bestemt år eller måned. Juster datoen i din nettlesers adresselinje for å velge andre datoer. Hvis eksporten feiler (muligens på grunn av utilstrekkelig minne på din hub), vennligst prøv igjen med et mer begrenset datoområde."
-#: ../../mod/uexport.php:59
+#: ../../Zotlabs/Module/Uexport.php:63
#, php-format
msgid ""
"To select all posts for a given year, such as this year, visit <a "
"href=\"%1$s\">%2$s</a>"
msgstr "For å velge alle innlegg for et gitt år, slik som iår, besøk <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/uexport.php:60
+#: ../../Zotlabs/Module/Uexport.php:64
#, php-format
msgid ""
"To select all posts for a given month, such as January of this year, visit "
"<a href=\"%1$s\">%2$s</a>"
msgstr "For å velge alle innlegg fra en gitt måned, slik som januar i år, besøk <a href=\"%1$s\">%2$s</a>"
-#: ../../mod/uexport.php:61
+#: ../../Zotlabs/Module/Uexport.php:65
#, php-format
msgid ""
"These content files may be imported or restored by visiting <a "
@@ -9347,228 +6221,3607 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Disse innholdsfilene kan importeres eller gjenopprettes ved å besøke <a href=\"%1$s\">%2$s</a> på ethvert nettsted som inneholder din kanal. For best resultat, vennligst importer eller gjenopprett disse etter dato (eldste først)."
-#: ../../mod/viewconnections.php:59
+#: ../../Zotlabs/Module/Viewconnections.php:62
msgid "No connections."
msgstr "Ingen forbindelser."
-#: ../../mod/viewconnections.php:72
+#: ../../Zotlabs/Module/Viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Besøk %s sin profil [%s]"
-#: ../../mod/viewconnections.php:101
+#: ../../Zotlabs/Module/Viewconnections.php:104
msgid "View Connections"
msgstr "Vis forbindelser"
-#: ../../mod/viewsrc.php:40
+#: ../../Zotlabs/Module/Viewsrc.php:44
msgid "Source of Item"
msgstr "Kilde til element"
-#: ../../mod/webpages.php:193
+#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
+msgid "Webpages"
+msgstr "Websider"
+
+#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
+msgid "Actions"
+msgstr "Handlinger"
+
+#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
+msgid "Page Link"
+msgstr "Sidelenke"
+
+#: ../../Zotlabs/Module/Webpages.php:197
msgid "Page Title"
msgstr "Sidetittel"
-#: ../../mod/xchan.php:6
+#: ../../Zotlabs/Module/Xchan.php:10
msgid "Xchan Lookup"
msgstr "Xchan oppslag"
-#: ../../mod/xchan.php:9
+#: ../../Zotlabs/Module/Xchan.php:13
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Slå opp xchan som begynner med (eller webbie):"
-#: ../../mod/cover_photo.php:130 ../../mod/cover_photo.php:177
-msgid "Cover Photos"
-msgstr "Forsidebilder"
+#: ../../Zotlabs/Lib/Apps.php:204
+msgid "Site Admin"
+msgstr "Nettstedsadministrator"
-#: ../../mod/cover_photo.php:352
-msgid "Upload Cover Photo"
-msgstr "Last opp forsidebilde"
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Bug Report"
+msgstr ""
-#: ../../mod/cal.php:63
-msgid "Permissions denied."
-msgstr "Tillatelse avvist."
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "View Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "My Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:209
+msgid "Firefox Share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
+msgid "Suggest Channels"
+msgstr "Foreslå kanaler"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
+#: ../../boot.php:1703
+msgid "Login"
+msgstr "Logg inn"
+
+#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
+msgid "Grid"
+msgstr "Nett"
+
+#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
+msgid "Channel Home"
+msgstr "Kanalhjem"
+
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
+msgid "Events"
+msgstr "Hendelser"
+
+#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
+msgid "Directory"
+msgstr "Katalog"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
+msgid "Mail"
+msgstr "Melding"
+
+#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../Zotlabs/Lib/Apps.php:229
+msgid "Probe"
+msgstr "Undersøk"
+
+#: ../../Zotlabs/Lib/Apps.php:230
+msgid "Suggest"
+msgstr "Forreslå"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Random Channel"
+msgstr "Tilfeldig kanal"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Invite"
+msgstr "Inviter"
+
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
+msgid "Features"
+msgstr "Funksjoner"
+
+#: ../../Zotlabs/Lib/Apps.php:235
+msgid "Post"
+msgstr "Innlegg"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Purchase"
+msgstr "Kjøp"
+
+#: ../../Zotlabs/Lib/Chatroom.php:27
+msgid "Missing room name"
+msgstr "Mangler romnavn"
+
+#: ../../Zotlabs/Lib/Chatroom.php:36
+msgid "Duplicate room name"
+msgstr "Duplikat romnavn"
+
+#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+msgid "Invalid room specifier."
+msgstr "Ugyldig rom-spesifisering"
+
+#: ../../Zotlabs/Lib/Chatroom.php:126
+msgid "Room not found."
+msgstr "Rommet ble ikke funnet."
+
+#: ../../Zotlabs/Lib/Chatroom.php:147
+msgid "Room is full"
+msgstr "Rommet er fullt"
+
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
+msgid "$Projectname Notification"
+msgstr "$Projectname varsling"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
+msgid "Thank You,"
+msgstr "Tusen takk,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
+#, php-format
+msgid "%s Administrator"
+msgstr "%s administrator"
+
+#: ../../Zotlabs/Lib/Enotify.php:100
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../Zotlabs/Lib/Enotify.php:104
+#, php-format
+msgid "[Hubzilla:Notify] New mail received at %s"
+msgstr "[Hubzilla:Notify] Ny melding mottatt hos %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:106
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s sendte deg en ny privat melding på %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s sendte deg %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:107
+msgid "a private message"
+msgstr "en privat melding"
+
+#: ../../Zotlabs/Lib/Enotify.php:108
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Vennligst besøk %s for å se og/eller svare på dine private meldinger."
+
+#: ../../Zotlabs/Lib/Enotify.php:164
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]a %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:172
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]%4$s's %5$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:181
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]din %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:192
+#, php-format
+msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Hubzilla:Notify] Kommentar til samtale #%1$d av %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:193
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s kommenterte på et element eller en samtale du følger"
+
+#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
+#: ../../Zotlabs/Lib/Enotify.php:269
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Vennligst besøk %s for å se og/eller svare i samtalen"
+
+#: ../../Zotlabs/Lib/Enotify.php:202
+#, php-format
+msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgstr "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg"
+
+#: ../../Zotlabs/Lib/Enotify.php:204
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s skrev et innlegg på din profilvegg på %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:206
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s skrev et innlegg på [zrl=%3$s]din vegg[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged you"
+msgstr "[Hubzilla:Notify] %s merket deg"
+
+#: ../../Zotlabs/Lib/Enotify.php:231
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s merket deg på %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]merket deg[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:244
+#, php-format
+msgid "[Hubzilla:Notify] %1$s poked you"
+msgstr "[Hubzilla:Notify] %1$s prikket deg"
+
+#: ../../Zotlabs/Lib/Enotify.php:245
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s dyttet deg på %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:246
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]dyttet deg[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:262
+#, php-format
+msgid "[Hubzilla:Notify] %s tagged your post"
+msgstr "[Hubzilla:Notify] %s merket ditt innlegg"
+
+#: ../../Zotlabs/Lib/Enotify.php:263
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s merket ditt innlegg på %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:264
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s merket [zrl=%3$s]ditt innlegg[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:276
+msgid "[Hubzilla:Notify] Introduction received"
+msgstr "[Hubzilla:Notify] Introduksjon mottatt"
+
+#: ../../Zotlabs/Lib/Enotify.php:277
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, du har mottatt en ny forespørsel om forbindelse fra '%2$s' hos %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:278
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, du mottok [zrl=%2$s]en ny forespørsel om forbindelse[/zrl] fra %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kan besøke profilen deres på %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse."
+
+#: ../../Zotlabs/Lib/Enotify.php:291
+msgid "[Hubzilla:Notify] Friend suggestion received"
+msgstr "[Hubzilla:Notify] Venneforslag mottatt"
+
+#: ../../Zotlabs/Lib/Enotify.php:292
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, du har mottatt en venneforespørsel fra '%2$s' hos %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:293
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, du har mottatt [zrl=%2$s]et venneforslaget[/zrl] angående %3$s fra %4$s. "
+
+#: ../../Zotlabs/Lib/Enotify.php:299
+msgid "Name:"
+msgstr "Navn:"
+
+#: ../../Zotlabs/Lib/Enotify.php:300
+msgid "Photo:"
+msgstr "Bilde:"
+
+#: ../../Zotlabs/Lib/Enotify.php:303
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Vennligst besøk %s for å godkjenne eller avslå dette forslaget."
+
+#: ../../Zotlabs/Lib/Enotify.php:518
+msgid "[Hubzilla:Notify]"
+msgstr "[Hubzilla:Notify]"
+
+#: ../../Zotlabs/Lib/Enotify.php:667
+msgid "created a new post"
+msgstr "laget et nytt innlegg"
+
+#: ../../Zotlabs/Lib/Enotify.php:668
+#, php-format
+msgid "commented on %s's post"
+msgstr "kommenterte på %s sitt innlegg"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Privat melding"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Velg"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "Lagre i mappe"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Jeg vil delta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "Jeg deltar ikke"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Jeg vil kanskje delta"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Jeg er enig"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "Jeg er uenig"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Jeg avstår"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Legg til stjerne"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Fjern stjerne"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Skru av og på stjernestatus"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "stjernemerket"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Innleggets signatur er bekreftet"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Innleggets signatur er feil"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Legg til merkelapp"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "liker"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "misliker"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Del dette"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "del"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Leveringsrapport"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d kommentar"
+msgstr[1] "%d kommentarer"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Vis %s sin profil - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "til"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "vegg-til-vegg"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "via vegg-til-vegg:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "fra %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "sist endret: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Utløper: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Lagre bokmerker"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Legg til i kalender"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Merk alle som sett"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] Vis alle"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Uthevet"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Kursiv"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Understreket"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Sitat"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Kode"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Bilde"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Sett inn lenke"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Video"
+
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "Ingen brukernavn ble funnet i importfilen."
+
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Klarte ikke å lage en unik kanaladresse. Import mislyktes."
+
+#: ../../include/dba/dba_driver.php:171
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Kan ikke finne DNS-informasjon om databasetjener '%s'"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Kategorier"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Merkelapper"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Nøkkelord"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "har"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "har"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "ønsker"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "ønsker"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "liker"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "misliker"
+
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Starter:"
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Slutter:"
+
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Denne hendelsen er lagt til i din kalender."
+
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Ikke spesifisert"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Trenger handling"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Ferdig"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "Igang"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Avbrutt"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "Kanalkloning mislyktes. Import mislyktes."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Ukjent)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Synlig for enhver på Internett."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Synlig bare for deg."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Synlig for enhver i dette nettverket."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Synlig for enhver som er autentisert."
+
+#: ../../include/items.php:1144
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Synlig for alle på %s."
+
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Synlig for alle forbindelser."
+
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Synlig for godkjente forbindelser."
+
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Synlig for spesifikke forbindelser."
+
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "Personverngruppen er tom."
+
+#: ../../include/items.php:3916
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Personverngruppe: %s"
+
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Forbindelsen ble ikke funnet."
+
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "profilbilde"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Ingen mottaker angitt."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[ikke noe emne]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Kan ikke avgjøre avsender."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Lagret innlegg kunne ikke bekreftes."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "forrige"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "første"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "siste"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "neste"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "eldre"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "nyere"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Ingen forbindelser"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Vis alle %s forbindelser"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "prikk"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "prikket"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "varsle"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "varslet"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "oppildne"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "oppildnet"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "daske"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "dasket"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "fingre"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "fingret"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "tilbakevise"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "tilbakeviste"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "glad"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "trist"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "dempet"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "trøtt"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "oppkvikket"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "sint"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "lamslått"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "forundret"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "interessert"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "bitter"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "munter"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "levende"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "irritert"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "nervøs"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "gretten"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "foruroliget"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "frustrert"
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "lei seg"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "motivert"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "avslappet"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "overrasket"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "mandag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "tirsdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "onsdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "torsdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "fredag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "lørdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "søndag"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "januar"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "februar"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "mars"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "mai"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "august"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "desember"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Ukjent vedlegg"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "ukjent"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "fjern kategori"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "fjern fra fil"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "standard"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Sidens layout"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Du kan lage din egen med layout-verktøyet"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Sidens innholdstype"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Velg et annet språk"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "aktivitet"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Designverktøy"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Sider"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "System"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr ""
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Forslag"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Se mer..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du har %1$.0f av %2$.0f tillate forbindelser."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Legg til ny forbindelse"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Skriv kanaladressen"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Eksempel: ola@eksempel.no, https://eksempel.no/kari"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Merknader"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Fjern begrep"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Lagrede søk"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "legg til"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Lagrede mapper"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Alt"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Arkiv"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Forny"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Kontoinnstillinger"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Kanalinnstillinger"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Tilleggsfunksjoner"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Funksjons-/Tilleggsinnstillinger"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Visningsinnstillinger"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr ""
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Eksporter kanal"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "Tilkoblede app-er"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Premiumkanal-innstillinger"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Meny for privat post"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Kombinert visning"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "Innboks"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Utboks"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Ny melding"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Samtaler"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Mottatte meldinger"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Sendte meldinger"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Ingen meldinger."
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Slett samtale"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Meny for hendelser"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Dag"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Uke"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Måned"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Kalenderverktøy"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Eksporter kalender"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importer kalender"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Chatrom"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr ""
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr ""
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Bokmerkede chatrom"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Foreslåtte chatrom"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "foto/bilde"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr ""
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Vurderingsverktøy"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "Vurder meg"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Vis vurderinger"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Forum"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Oppgaver"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Dokumentasjon"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Prosjekt-/Nettstedsinformasjon"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "For medlemmer"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "For administratorer"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "For utviklere"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr ""
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Inspiser kø"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Databaseoppdateringer"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
+msgstr "Administrator"
+
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Tilleggsfunksjoner"
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Kanalen er blokkert på dette nettstedet."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Kanalplassering mangler."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "Svaret fra den andre kanalen var ikke komplett."
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanalen er slettet og finnes ikke lenger."
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protokollen er avskrudd."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "Kanaloppdagelse mislyktes."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "Kan ikke lage forbindelse med deg selv."
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$s sine bokmerker"
+
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Offentlig tidslinje"
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Bilde/fotografi"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Kryptert innhold"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Installer %s element:"
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet."
+
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s skrev følgende %2$s %3$s"
+
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Klikk for å åpne/lukke"
+
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Denne teksten vil se forskjellig ut for ulike besøkende"
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 skrev:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Kataloginnstillinger"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Trygt modus"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Bare offentlige forum"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Kun dette nettstedet"
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Logg ut"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Avslutt denne økten"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Hjem"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "Dine innlegg og samtaler"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "Din profilside"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Håndter/endre profiler"
+
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Endre profil"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Endre din profil"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Dine bilder"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "Dine filer"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Dine chatterom"
+
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Bokmerker"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "Dine bokmerker"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Dine websider"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Logg på"
+
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - klikk for å logge ut"
+
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Fjernautentisering"
+
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "Klikk for å godkjennes mot din hjemme-hub"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Hjemmeside"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Lag en konto"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Hjelp og dokumentasjon"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Programmer, verktøy, lenker, spill"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold"
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Kanalkatalog"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "Ditt nett"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Marker alle nettvarsler som sett"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Kanalhjem"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Merk alle kanalvarsler som sett"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Varsel"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Varsler"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Se alle varsler"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Privat post"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Se alle private meldinger"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Merk alle private meldinger som sett"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Kalender"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Se alle hendelser"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Merk alle hendelser som sett"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Håndter dine kanaler"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Konto-/kanal-innstillinger"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Nettstedsoppsett og -konfigurasjon"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Laster..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@navn, #merkelapp, ?dokumentasjon, innhold"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Vennligst vent..."
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nytt vindu"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Åpne det valgte stedet i et annet vindu eller nettleser-fane"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Brukeren '%s' er slettet"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitasjon tilgjengelig"
+msgstr[1] "%d invitasjoner tilgjengelig"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Finn kanaler"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Skriv navn eller interesse"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Forbindelse/Følg"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Eksempler: Ola Nordmann, fisking"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Tilfeldig profil"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Inviter venner"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Avansert eksempel: navn=fred og land=island"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d forbindelse felles"
+msgstr[1] "%d forbindelser felles"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "vis mer"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s er nå forbundet med %2$s"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s prikket %2$s"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vis %s sin profile @ %s"
+
+#: ../../include/conversation.php:710
+msgid "Categories:"
+msgstr "Kategorier:"
+
+#: ../../include/conversation.php:711
+msgid "Filed under:"
+msgstr "Sortert under:"
+
+#: ../../include/conversation.php:738
+msgid "View in context"
+msgstr "Vis i sammenheng"
+
+#: ../../include/conversation.php:847
+msgid "remove"
+msgstr "fjern"
+
+#: ../../include/conversation.php:852
+msgid "Delete Selected Items"
+msgstr "Slett valgte elementer"
+
+#: ../../include/conversation.php:948
+msgid "View Source"
+msgstr "Vis kilde"
+
+#: ../../include/conversation.php:949
+msgid "Follow Thread"
+msgstr "Følg tråd"
+
+#: ../../include/conversation.php:950
+msgid "Unfollow Thread"
+msgstr "Ikke følg tråd"
+
+#: ../../include/conversation.php:955
+msgid "Activity/Posts"
+msgstr "Aktivitet/Innlegg"
+
+#: ../../include/conversation.php:957
+msgid "Edit Connection"
+msgstr "Endre forbindelse"
+
+#: ../../include/conversation.php:958
+msgid "Message"
+msgstr "Melding"
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s likes this."
+msgstr "%s liker dette."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s liker ikke dette."
+
+#: ../../include/conversation.php:1079
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d person</span> liker dette."
+msgstr[1] "<span %1$s>%2$d personer</span> liker dette."
+
+#: ../../include/conversation.php:1081
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d person</span> liker ikke dette."
+msgstr[1] "<span %1$s>%2$d personer</span> liker ikke dette."
+
+#: ../../include/conversation.php:1087
+msgid "and"
+msgstr "og"
+
+#: ../../include/conversation.php:1090
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", og %d annen person"
+msgstr[1] ", og %d andre personer"
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s like this."
+msgstr "%s liker dette."
+
+#: ../../include/conversation.php:1091
+#, php-format
+msgid "%s don't like this."
+msgstr "%s liker ikke dette."
+
+#: ../../include/conversation.php:1130
+msgid "Set your location"
+msgstr "Angi din plassering"
+
+#: ../../include/conversation.php:1131
+msgid "Clear browser location"
+msgstr "Fjern nettleserplassering"
+
+#: ../../include/conversation.php:1177
+msgid "Tag term:"
+msgstr "Merkelapp:"
+
+#: ../../include/conversation.php:1178
+msgid "Where are you right now?"
+msgstr "Hvor er du akkurat nå?"
+
+#: ../../include/conversation.php:1210
+msgid "Page link name"
+msgstr "Sidens lenkenavn"
+
+#: ../../include/conversation.php:1213
+msgid "Post as"
+msgstr "Lag innlegg som"
+
+#: ../../include/conversation.php:1223
+msgid "Toggle voting"
+msgstr "Skru av eller på stemming"
+
+#: ../../include/conversation.php:1231
+msgid "Categories (optional, comma-separated list)"
+msgstr "Kategorier (valgfri, kommaseparert liste)"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Angi publiseringsdato"
+
+#: ../../include/conversation.php:1258
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1503
+msgid "Discover"
+msgstr "Oppdage"
+
+#: ../../include/conversation.php:1506
+msgid "Imported public streams"
+msgstr "Importerte offentlige strømmer"
+
+#: ../../include/conversation.php:1511
+msgid "Commented Order"
+msgstr "Kommentert"
+
+#: ../../include/conversation.php:1514
+msgid "Sort by Comment Date"
+msgstr "Sorter etter kommentert dato"
+
+#: ../../include/conversation.php:1518
+msgid "Posted Order"
+msgstr "Lagt inn"
+
+#: ../../include/conversation.php:1521
+msgid "Sort by Post Date"
+msgstr "Sorter etter innleggsdato"
+
+#: ../../include/conversation.php:1529
+msgid "Posts that mention or involve you"
+msgstr "Innlegg som nevner eller involverer deg"
+
+#: ../../include/conversation.php:1538
+msgid "Activity Stream - by date"
+msgstr "Aktivitetsstrøm - etter dato"
+
+#: ../../include/conversation.php:1544
+msgid "Starred"
+msgstr "Stjerne"
+
+#: ../../include/conversation.php:1547
+msgid "Favourite Posts"
+msgstr "Favorittinnlegg"
+
+#: ../../include/conversation.php:1554
+msgid "Spam"
+msgstr "Søppel"
+
+#: ../../include/conversation.php:1557
+msgid "Posts flagged as SPAM"
+msgstr "Innlegg merket som SØPPEL"
+
+#: ../../include/conversation.php:1614
+msgid "Status Messages and Posts"
+msgstr "Statusmeldinger og -innlegg"
+
+#: ../../include/conversation.php:1623
+msgid "About"
+msgstr "Om"
+
+#: ../../include/conversation.php:1626
+msgid "Profile Details"
+msgstr "Profildetaljer"
+
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Fotoalbum"
+
+#: ../../include/conversation.php:1642
+msgid "Files and Storage"
+msgstr "Filer og lagring"
+
+#: ../../include/conversation.php:1678
+msgid "Saved Bookmarks"
+msgstr "Lagrede bokmerker"
+
+#: ../../include/conversation.php:1688
+msgid "Manage Webpages"
+msgstr "Håndtere websider"
+
+#: ../../include/conversation.php:1747
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Deltar"
+msgstr[1] "Deltar"
+
+#: ../../include/conversation.php:1750
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Deltar ikke"
+msgstr[1] "Deltar ikke"
+
+#: ../../include/conversation.php:1753
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Ikke bestemt"
+msgstr[1] "Ikke bestemt"
+
+#: ../../include/conversation.php:1756
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Enig"
+msgstr[1] "Enige"
+
+#: ../../include/conversation.php:1759
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Uenig"
+msgstr[1] "Uenige"
+
+#: ../../include/conversation.php:1762
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Avstår"
+msgstr[1] "Avstår"
+
+#: ../../include/selectors.php:30
+msgid "Frequently"
+msgstr "Ofte"
+
+#: ../../include/selectors.php:31
+msgid "Hourly"
+msgstr "Hver time"
+
+#: ../../include/selectors.php:32
+msgid "Twice daily"
+msgstr "To ganger daglig"
+
+#: ../../include/selectors.php:33
+msgid "Daily"
+msgstr "Daglig"
+
+#: ../../include/selectors.php:34
+msgid "Weekly"
+msgstr "Ukentlig"
+
+#: ../../include/selectors.php:35
+msgid "Monthly"
+msgstr "Månedlig"
+
+#: ../../include/selectors.php:49
+msgid "Currently Male"
+msgstr "For tiden mann"
+
+#: ../../include/selectors.php:49
+msgid "Currently Female"
+msgstr "For tiden kvinne"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Male"
+msgstr "For det meste mann"
+
+#: ../../include/selectors.php:49
+msgid "Mostly Female"
+msgstr "For det meste kvinne"
+
+#: ../../include/selectors.php:49
+msgid "Transgender"
+msgstr "Transkjønnet"
+
+#: ../../include/selectors.php:49
+msgid "Intersex"
+msgstr "interkjønnet"
+
+#: ../../include/selectors.php:49
+msgid "Transsexual"
+msgstr "Transseksuell"
+
+#: ../../include/selectors.php:49
+msgid "Hermaphrodite"
+msgstr "Hermafroditt"
+
+#: ../../include/selectors.php:49
+msgid "Neuter"
+msgstr "Intetkjønn"
+
+#: ../../include/selectors.php:49
+msgid "Non-specific"
+msgstr "Ubestemt"
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+#: ../../include/selectors.php:104 ../../include/selectors.php:140
+#: ../../include/permissions.php:881
+msgid "Other"
+msgstr "Annen"
+
+#: ../../include/selectors.php:49
+msgid "Undecided"
+msgstr "Ubestemt"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Males"
+msgstr "Menn"
+
+#: ../../include/selectors.php:85 ../../include/selectors.php:104
+msgid "Females"
+msgstr "Kvinner"
+
+#: ../../include/selectors.php:85
+msgid "Gay"
+msgstr "Homo"
+
+#: ../../include/selectors.php:85
+msgid "Lesbian"
+msgstr "Lesbisk"
+
+#: ../../include/selectors.php:85
+msgid "No Preference"
+msgstr "Ingen preferanse"
+
+#: ../../include/selectors.php:85
+msgid "Bisexual"
+msgstr "Biseksuell"
+
+#: ../../include/selectors.php:85
+msgid "Autosexual"
+msgstr "Autoseksuell"
+
+#: ../../include/selectors.php:85
+msgid "Abstinent"
+msgstr "Avholdende"
+
+#: ../../include/selectors.php:85
+msgid "Virgin"
+msgstr "Jomfru"
+
+#: ../../include/selectors.php:85
+msgid "Deviant"
+msgstr "Avviker"
+
+#: ../../include/selectors.php:85
+msgid "Fetish"
+msgstr "Fetisj"
+
+#: ../../include/selectors.php:85
+msgid "Oodles"
+msgstr "Masse"
+
+#: ../../include/selectors.php:85
+msgid "Nonsexual"
+msgstr "Ikke-seksuell"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Single"
+msgstr "Enslig"
+
+#: ../../include/selectors.php:123
+msgid "Lonely"
+msgstr "Ensom"
+
+#: ../../include/selectors.php:123
+msgid "Available"
+msgstr "Tilgjengelig"
+
+#: ../../include/selectors.php:123
+msgid "Unavailable"
+msgstr "Ikke tilgjengelig"
+
+#: ../../include/selectors.php:123
+msgid "Has crush"
+msgstr "Er forelsket"
+
+#: ../../include/selectors.php:123
+msgid "Infatuated"
+msgstr "Betatt"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Dating"
+msgstr "Sammen med"
+
+#: ../../include/selectors.php:123
+msgid "Unfaithful"
+msgstr "Utro"
+
+#: ../../include/selectors.php:123
+msgid "Sex Addict"
+msgstr "Sexavhengig"
+
+#: ../../include/selectors.php:123
+msgid "Friends/Benefits"
+msgstr "Venner med frynsegoder"
+
+#: ../../include/selectors.php:123
+msgid "Casual"
+msgstr "Tilfeldig"
+
+#: ../../include/selectors.php:123
+msgid "Engaged"
+msgstr "Forlovet"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Married"
+msgstr "Gift"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily married"
+msgstr "Gift i fantasien"
+
+#: ../../include/selectors.php:123
+msgid "Partners"
+msgstr "Partnere"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Cohabiting"
+msgstr "Samboer"
+
+#: ../../include/selectors.php:123
+msgid "Common law"
+msgstr "Samboer"
+
+#: ../../include/selectors.php:123
+msgid "Happy"
+msgstr "Lykkelig"
+
+#: ../../include/selectors.php:123
+msgid "Not looking"
+msgstr "Ikke på utkikk"
+
+#: ../../include/selectors.php:123
+msgid "Swinger"
+msgstr "Partnerbytte"
+
+#: ../../include/selectors.php:123
+msgid "Betrayed"
+msgstr "Bedratt"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Separated"
+msgstr "Separert"
+
+#: ../../include/selectors.php:123
+msgid "Unstable"
+msgstr "Ustabilt"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Divorced"
+msgstr "Skilt"
+
+#: ../../include/selectors.php:123
+msgid "Imaginarily divorced"
+msgstr "Skilt i fantasien"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "Widowed"
+msgstr "Enke"
+
+#: ../../include/selectors.php:123
+msgid "Uncertain"
+msgstr "Usikkert"
+
+#: ../../include/selectors.php:123 ../../include/selectors.php:140
+msgid "It's complicated"
+msgstr "Det er komplisert"
+
+#: ../../include/selectors.php:123
+msgid "Don't care"
+msgstr "Bryr meg ikke"
+
+#: ../../include/selectors.php:123
+msgid "Ask me"
+msgstr "Spør meg"
+
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Synlig for ditt standard publikum"
+
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Offentlig"
+
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Ikke en gyldig e-postadresse"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "Din e-postadresse er allerede registrert på dette nettstedet."
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "En invitasjon er påkrevd."
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "Invitasjon kunne ikke bekreftes."
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Vennligst skriv inn nødvendig informasjon."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Mislyktes med å lagre kontoinformasjon."
+
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registreringsbekreftelse for %s"
+
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registreringsforespørsel hos %s"
+
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "ditt registreringspassord"
+
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registreringsdetaljer for %s"
+
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Konto godkjent."
+
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrering trukket tilbake for %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Konto bekreftet. Vennligst logg inn."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Klikk her for å oppgradere."
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan."
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan."
+
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
+msgstr "Elementet ble ikke funnet."
+
+#: ../../include/attach.php:497
+msgid "No source file."
+msgstr "Ingen kildefil."
+
+#: ../../include/attach.php:519
+msgid "Cannot locate file to replace"
+msgstr "Kan ikke finne filen som skal byttes ut"
+
+#: ../../include/attach.php:537
+msgid "Cannot locate file to revise/update"
+msgstr "Finner ikke filen som skal revideres/oppdateres"
+
+#: ../../include/attach.php:672
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Filens størrelse overgår grensen på %d"
+
+#: ../../include/attach.php:686
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."
+
+#: ../../include/attach.php:842
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."
+
+#: ../../include/attach.php:855
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."
+
+#: ../../include/attach.php:909 ../../include/attach.php:925
+msgid "Path not available."
+msgstr "Stien er ikke tilgjengelig."
+
+#: ../../include/attach.php:971 ../../include/attach.php:1123
+msgid "Empty pathname"
+msgstr "Tomt sti-navn"
+
+#: ../../include/attach.php:997
+msgid "duplicate filename or path"
+msgstr "duplikat av filnavn eller sti"
+
+#: ../../include/attach.php:1019
+msgid "Path not found."
+msgstr "Stien ble ikke funnet."
+
+#: ../../include/attach.php:1077
+msgid "mkdir failed."
+msgstr "mkdir mislyktes."
+
+#: ../../include/attach.php:1081
+msgid "database storage failed."
+msgstr "databaselagring mislyktes."
+
+#: ../../include/attach.php:1129
+msgid "Empty path"
+msgstr "Tom sti"
+
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
+msgstr "Klarer ikke å få tak i identitetsinformasjon fra databasen"
+
+#: ../../include/channel.php:66
+msgid "Empty name"
+msgstr "Mangler navn"
+
+#: ../../include/channel.php:69
+msgid "Name too long"
+msgstr "Navnet er for langt"
+
+#: ../../include/channel.php:180
+msgid "No account identifier"
+msgstr "Ingen kontoidentifikator"
+
+#: ../../include/channel.php:192
+msgid "Nickname is required."
+msgstr "Kallenavn er påkrevd."
+
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
+msgstr "Reservert kallenavn. Vennligst velg et annet."
+
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet."
+
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
+msgstr "Klarer ikke å hente den lagede identiteten"
+
+#: ../../include/channel.php:345
+msgid "Default Profile"
+msgstr "Standardprofil"
+
+#: ../../include/channel.php:791
+msgid "Requested channel is not available."
+msgstr "Forespurt kanal er ikke tilgjengelig."
+
+#: ../../include/channel.php:938
+msgid "Create New Profile"
+msgstr "Lag ny profil"
+
+#: ../../include/channel.php:958
+msgid "Visible to everybody"
+msgstr ""
+
+#: ../../include/channel.php:1031 ../../include/channel.php:1142
+msgid "Gender:"
+msgstr "Kjønn:"
+
+#: ../../include/channel.php:1032 ../../include/channel.php:1186
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/channel.php:1033 ../../include/channel.php:1197
+msgid "Homepage:"
+msgstr "Hjemmeside:"
+
+#: ../../include/channel.php:1034
+msgid "Online Now"
+msgstr "Online nå"
+
+#: ../../include/channel.php:1147
+msgid "Like this channel"
+msgstr "Lik denne kanalen"
+
+#: ../../include/channel.php:1171
+msgid "j F, Y"
+msgstr "j F, Y"
+
+#: ../../include/channel.php:1172
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1179
+msgid "Birthday:"
+msgstr "Fødselsdag:"
+
+#: ../../include/channel.php:1192
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "for %1$d %2$s"
+
+#: ../../include/channel.php:1195
+msgid "Sexual Preference:"
+msgstr "Seksuell preferanse:"
+
+#: ../../include/channel.php:1201
+msgid "Tags:"
+msgstr "Merkelapper:"
+
+#: ../../include/channel.php:1203
+msgid "Political Views:"
+msgstr "Politiske synspunkter:"
+
+#: ../../include/channel.php:1205
+msgid "Religion:"
+msgstr "Religion:"
+
+#: ../../include/channel.php:1209
+msgid "Hobbies/Interests:"
+msgstr "Hobbyer/interesser:"
+
+#: ../../include/channel.php:1211
+msgid "Likes:"
+msgstr "Liker:"
+
+#: ../../include/channel.php:1213
+msgid "Dislikes:"
+msgstr "Misliker:"
+
+#: ../../include/channel.php:1215
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformasjon og sosiale nettverk:"
+
+#: ../../include/channel.php:1217
+msgid "My other channels:"
+msgstr "Mine andre kanaler:"
+
+#: ../../include/channel.php:1219
+msgid "Musical interests:"
+msgstr "Musikkinteresse:"
+
+#: ../../include/channel.php:1221
+msgid "Books, literature:"
+msgstr "Bøker, litteratur:"
+
+#: ../../include/channel.php:1223
+msgid "Television:"
+msgstr "TV:"
+
+#: ../../include/channel.php:1225
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/dans/kultur/underholdning:"
+
+#: ../../include/channel.php:1227
+msgid "Love/Romance:"
+msgstr "Kjærlighet/romantikk:"
+
+#: ../../include/channel.php:1229
+msgid "Work/employment:"
+msgstr "Arbeid/sysselsetting:"
+
+#: ../../include/channel.php:1231
+msgid "School/education:"
+msgstr "Skole/utdannelse:"
+
+#: ../../include/channel.php:1251
+msgid "Like this thing"
+msgstr "Lik denne tingen"
+
+#: ../../include/features.php:48
+msgid "General Features"
+msgstr "Generelle funksjoner"
+
+#: ../../include/features.php:50
+msgid "Content Expiration"
+msgstr "Innholdet utløper"
+
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden"
+
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
+msgstr "Flere profiler"
+
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
+msgstr "Mulig å lage flere profiler"
+
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
+msgstr "Avanserte profiler"
+
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
+msgstr "Ytterlige seksjoner og utvalg til profilen"
+
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
+msgstr "Profil-import/-eksport"
+
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
+msgstr "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler"
+
+#: ../../include/features.php:54
+msgid "Web Pages"
+msgstr "Web-sider"
+
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
+msgstr "Tilby kontrollerte web-sider på din kanal"
+
+#: ../../include/features.php:55
+msgid "Hide Rating"
+msgstr "Skjul vurdering"
+
+#: ../../include/features.php:55
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
+msgstr "Skjul vurderingsknappene for din kanal og profilsider. Merknad: folk kan fortsatt vurdere deg et annet sted."
+
+#: ../../include/features.php:56
+msgid "Private Notes"
+msgstr "Private merknader"
+
+#: ../../include/features.php:56
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Skru på et verktøy for å lagre notater og påminnelser (merknad: ikke kryptert)"
+
+#: ../../include/features.php:57
+msgid "Navigation Channel Select"
+msgstr "Navigasjon kanalvalg"
+
+#: ../../include/features.php:57
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Endre kanaler direkte fra navigasjonsmenyen"
+
+#: ../../include/features.php:58
+msgid "Photo Location"
+msgstr "Bildeplassering"
+
+#: ../../include/features.php:58
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart."
+
+#: ../../include/features.php:59
+msgid "Access Controlled Chatrooms"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Provide chatrooms and chat services with access control."
+msgstr ""
+
+#: ../../include/features.php:60
+msgid "Smart Birthdays"
+msgstr ""
+
+#: ../../include/features.php:60
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Expert Mode"
+msgstr "Ekspertmodus"
+
+#: ../../include/features.php:61
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg"
+
+#: ../../include/features.php:62
+msgid "Premium Channel"
+msgstr "Premiumkanal"
+
+#: ../../include/features.php:62
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal"
+
+#: ../../include/features.php:67
+msgid "Post Composition Features"
+msgstr "Funksjoner for å lage innlegg"
+
+#: ../../include/features.php:70
+msgid "Large Photos"
+msgstr "Store bilder"
+
+#: ../../include/features.php:70
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder."
+
+#: ../../include/features.php:71
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Automatisk import av kanalinnhold fra andre kanaler eller strømmer"
+
+#: ../../include/features.php:72
+msgid "Even More Encryption"
+msgstr "Enda mer kryptering"
+
+#: ../../include/features.php:72
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel"
+
+#: ../../include/features.php:73
+msgid "Enable Voting Tools"
+msgstr "Skru på verktøy for å stemme"
+
+#: ../../include/features.php:73
+msgid "Provide a class of post which others can vote on"
+msgstr "Tilby en type innlegg som andre kan stemme på"
+
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr "Tidfest publisering"
+
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr "Tillat innlegg å bli publisert på et senere tidspunkt"
+
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Forhindre duplikat av innlegg/kommentarer"
+
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene."
+
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "Nettverk- og strømfiltrering"
+
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "Søk etter dato"
+
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "Mulighet for å velge innlegg etter datoområde"
+
+#: ../../include/features.php:83 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "Personverngrupper"
+
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr "Skru på håndtering og valg av personverngrupper"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr "Lagre søkeuttrykk for senere bruk"
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr "Nettverk personlig fane"
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i"
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr "Nettverk Ny fane"
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr "Skru på fane for å vise all ny nettverksaktivitet"
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "Nærhetsverktøy"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filtrer strømaktiviteten etter releasjonsdybde"
+
+#: ../../include/features.php:88
+msgid "Connection Filtering"
+msgstr "Filtrer forbindelser"
+
+#: ../../include/features.php:88
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold"
+
+#: ../../include/features.php:89
+msgid "Show channel suggestions"
+msgstr "Vis kanalforslag"
+
+#: ../../include/features.php:94
+msgid "Post/Comment Tools"
+msgstr "Innlegg-/Kommentar-verktøy"
+
+#: ../../include/features.php:95
+msgid "Community Tagging"
+msgstr "Felleskapsmerkelapper"
+
+#: ../../include/features.php:95
+msgid "Ability to tag existing posts"
+msgstr "Mulighet til å merke eksisterende meldinger"
+
+#: ../../include/features.php:96
+msgid "Post Categories"
+msgstr "Innleggskategorier"
+
+#: ../../include/features.php:96
+msgid "Add categories to your posts"
+msgstr "Legg kategorier til dine innlegg"
+
+#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:98
+msgid "Ability to file posts under folders"
+msgstr "Mulighet til å sortere innlegg i mapper"
+
+#: ../../include/features.php:99
+msgid "Dislike Posts"
+msgstr "Mislik innlegg"
+
+#: ../../include/features.php:99
+msgid "Ability to dislike posts/comments"
+msgstr "Mulighet til å mislike innlegg/kommentarer"
+
+#: ../../include/features.php:100
+msgid "Star Posts"
+msgstr "Stjerneinnlegg"
+
+#: ../../include/features.php:100
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mulighet til å merke spesielle innlegg med en stjerne"
+
+#: ../../include/features.php:101
+msgid "Tag Cloud"
+msgstr "Merkelappsky"
+
+#: ../../include/features.php:101
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Tilby en personlig merkelappsky på din kanalside"
+
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Innebygget innhold"
+
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Innbygging avskrudd"
+
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr ""
+
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr ""
+
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr ""
+
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Vis"
+
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "Ikke vis"
+
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Andre nettverk og innleggstjenester"
+
+#: ../../include/acl_selectors.php:311
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr ""
+
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Logget ut."
+
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Mislykket autentisering"
+
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr ""
+
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Alder:"
+
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD eller MM-DD"
+
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "aldri"
+
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "for mindre enn ett sekund siden"
+
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s siden"
+
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "år"
+msgstr[1] "år"
+
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "måned"
+msgstr[1] "måneder"
+
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "uke"
+msgstr[1] "uker"
+
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "dag"
+msgstr[1] "dager"
+
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "time"
+msgstr[1] "timer"
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minutt"
+msgstr[1] "minutter"
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "sekund"
+msgstr[1] "sekunder"
+
+#: ../../include/datetime.php:562
+#, php-format
+msgid "%1$s's birthday"
+msgstr "%1$s sin fødselsdag"
+
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Gratulerer med dagen, %1$s !"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn."
+
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Legg nye forbindelser i denne personverngruppen"
+
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "endre"
+
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Endre gruppe"
+
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Legg til personverngruppe"
+
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Kanaler uten personverngruppe"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Slett dette elementet?"
+
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] Vis mindre"
+
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] Utvid"
+
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] Lukk"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Passordet er for kort"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Passordene er ikke like"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "alle"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Hemmelig passordsetning"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Hint om passordsetning"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "Lukk alle"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Ikke noe nytt her"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Vurder denne kanalen (dette er offentlig)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Beskriv (valgfritt)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Vennligst skriv inn en lenke URL:"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?"
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr "siden"
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr "fra nå"
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr "mindre enn ett minutt"
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr "omtrent et minutt"
+
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutter"
+
+#: ../../include/js_strings.php:34
+msgid "about an hour"
+msgstr "omtrent en time"
+
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
+msgstr "omtrent %d timer"
+
+#: ../../include/js_strings.php:36
+msgid "a day"
+msgstr "en dag"
+
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
+msgstr "%d dager"
+
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr "omtrent en måned"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
+msgstr "%d måneder"
+
+#: ../../include/js_strings.php:40
+msgid "about a year"
+msgstr "omtrent et år"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr "%d år"
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr "mai"
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr "Jan"
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr "Feb"
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr "Apr"
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr "mai"
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr "Jun"
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr "Jul"
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr "Aug"
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr "Sep"
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr "Okt"
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr "Nov"
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr "Des"
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr "Søn"
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr "Man"
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr "Tirs"
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr "Ons"
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr "Tors"
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr "Fre"
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr "Lør"
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr "idag"
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr "måned"
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr "uke"
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr "dag"
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr "Hele dagen"
+
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "vis full størrelse"
+
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Uten emne"
+
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr ""
+
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"
+
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "Bildefilen er tom."
+
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Bildelagring mislyktes."
+
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "et nytt bilde"
+
+#: ../../include/photos.php:299
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s la inn %2$s til %3$s"
+
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Last opp nye bilder"
+
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Ugyldig datapakke"
+
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "Ikke i stand til å sjekke kanalsignaturen"
+
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Ikke i stand til å bekrefte signaturen til %s"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "Målets signatur er ugyldig"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Ny side"
+
+#: ../../include/page_widgets.php:43
+msgid "Title"
+msgstr "Tittel"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Kan se min normale strøm og innlegg"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Kan se min standard kanalprofil"
+
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
+msgstr "Kan se mine forbindelser"
+
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
+msgstr "Kan se mine filer og bilder"
+
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
+msgstr "Kan se mine websider"
+
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
+msgstr "Kan sende meg deres kanalstrøm og innlegg"
+
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan lage innlegg på min kanalside (\"vegg\")"
+
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
+msgstr "Kan kommentere på eller like mine innlegg"
+
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
+msgstr "Kan sende meg private meldinger"
+
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
+msgstr "Kan like/ikke like forskjellige greier"
+
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
+msgstr "Profiler og andre ting enn innlegg/kommentarer"
+
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg"
+
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avansert - nyttig for å lage forumkanaler for grupper"
+
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
+msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"
+
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
+msgstr "Kan skrive til mitt lager for filer og bilder"
+
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
+msgstr "Kan endre mine websider"
+
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
+msgstr "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler"
+
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Litt avansert - svært nyttig i åpne fellesskap"
+
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
+msgstr "Kan administrere mine kanalressurser"
+
+#: ../../include/permissions.php:46
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør"
+
+#: ../../include/permissions.php:877
+msgid "Social Networking"
+msgstr "Sosialt nettverk"
+
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
+msgstr "Sosial - ganske offentlig"
+
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
+msgstr "Sosial - begrenset"
+
+#: ../../include/permissions.php:877
+msgid "Social - Private"
+msgstr "Sosial - privat"
+
+#: ../../include/permissions.php:878
+msgid "Community Forum"
+msgstr "Forum for fellesskap"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
+msgstr "Forum - ganske offentlig"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
+msgstr "Forum - begrenset"
+
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
+msgstr "Forum - privat"
+
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
+msgstr "Republisering av strømmet innhold"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
+msgstr "Strøm - ganske offentlig"
+
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
+msgstr "Strøm - begrenset"
+
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
+msgstr "Spesiell bruk"
+
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
+msgstr "Spesiell - kjendis/talerstol"
+
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
+msgstr "Spesiell - gruppelager"
+
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
+msgstr "Tilpasset/Ekspertmodus"
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "og"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "offentlig profil"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s endret %2$s til &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besøk %1$s sitt %2$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s har oppdatert %2$s, endret %3$s."
+
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
+msgstr "Vedlegg:"
+
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
+msgstr "$Projectname hendelsesvarsling:"
#: ../../view/theme/redbasic/php/config.php:82
msgid "Focus (Hubzilla default)"
msgstr "Focus (Hubzilla standardtema)"
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Theme settings"
msgstr "Temainnstillinger"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Select scheme"
msgstr "Velg skjema"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Narrow navbar"
msgstr "Smal navigasjonslinje"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation bar background color"
msgstr "Navigasjonslinjens bakgrunnsfarge"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation bar gradient top color"
msgstr "Navigasjonslinjens graderte toppfarge"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar gradient bottom color"
msgstr "Navigasjonslinjens graderte bunnfarge"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation active button gradient top color"
msgstr "Aktiv navigasjonsknapp sin graderte toppfarge"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation active button gradient bottom color"
msgstr "Aktiv navigasjonsknapp sin graderte bunnfarge"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Navigation bar border color "
msgstr "Navigasjonslinjens kantfarge"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar icon color "
msgstr "Navigasjonslinjens ikonfarge"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar active icon color "
msgstr "Navigasjonslinjens aktive ikoners farge"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:114
msgid "link color"
msgstr "lenkefarge"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set font-color for banner"
msgstr "Angi skriftfargen for banneret"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color"
msgstr "Angi bakgrunnsfargen"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the background image"
msgstr "Angi bakgrunnsbilde"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the background color of items"
msgstr "Angi bakgrunnsfargen til elementer"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the background color of comments"
msgstr "Angi bakgrunnsfargen til kommentarer"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the border color of comments"
msgstr "Angi kantfargen til kommentarer"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set the indent for comments"
msgstr "Angi innrykket til kommentarer"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the basic color for item icons"
msgstr "Angi grunnfargen for elementikoner"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the hover color for item icons"
msgstr "Angi fargen til elementikoner ved berøring"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set font-size for the entire application"
msgstr "Angi skriftstørrelsen for hele programmet"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Example: 14px"
msgstr "Eksempel: 14px"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-size for posts and comments"
msgstr "Angi skriftstørrelse for innlegg og kommentarer"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set font-color for posts and comments"
msgstr "Angi skriftfargen for innlegg og kommentarer"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set radius of corners"
msgstr "Angi hjørneradius"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set shadow depth of photos"
msgstr "Angi skyggedybden til bilder"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set maximum width of content region in pixel"
msgstr "Angi største bredde for innholdsregionen i pixler"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Leave empty for default width"
msgstr "La feltet stå tomt for å bruke standard bredde"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Left align page content"
msgstr "Venstrejuster sideinnhold"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Angi minste dekkevne for navigasjonslinjen - for å skjule den"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set size of conversation author photo"
msgstr "Angi størrelsen for samtalens forfatterbilde"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set size of followup author photos"
msgstr "Angi størrelsen på forfatterbilder ved oppfølging"
-#: ../../boot.php:1351
+#: ../../boot.php:1162
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr ""
+
+#: ../../boot.php:1162
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr ""
+
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Oppdatering %s mislyktes. Se feilloggen."
-#: ../../boot.php:1354
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Oppdateringsfeil ved %s"
-#: ../../boot.php:1524
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Lag en konto for å få tilgang til tjenester og programmer i Hubzilla"
-#: ../../boot.php:1546
+#: ../../boot.php:1706
msgid "Password"
msgstr "Passord"
-#: ../../boot.php:1547
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Husk meg"
-#: ../../boot.php:1550
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Glemt passordet ditt?"
-#: ../../boot.php:2180
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "Skru på mobil"
-#: ../../boot.php:2333
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Nettstedets SSL-sertifikat er ikke gyldig. Vennligst fiks dette."
-#: ../../boot.php:2336
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] SSL-feil ved nettsted hos %s"
-#: ../../boot.php:2373
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Cron/planlagte oppgaver kjører ikke."
-#: ../../boot.php:2377
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-oppgaver kjører ikke på %s"
diff --git a/view/nb-no/hstrings.php b/view/nb-no/hstrings.php
index 4327c5448..e03ba321d 100644
--- a/view/nb-no/hstrings.php
+++ b/view/nb-no/hstrings.php
@@ -5,8 +5,6 @@ function string_plural_select_nb_no($n){
return ($n != 1);;
}}
;
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt.";
-App::$strings["Welcome %s. Remote authentication successful."] = "Velkommen %s. Ekstern autentisering er vellykket.";
App::$strings["parent"] = "opp et nivå";
App::$strings["Collection"] = "Samling";
App::$strings["Principal"] = "Viktigste";
@@ -31,1046 +29,62 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "ADVARSEL:";
App::$strings["Create new folder"] = "Lag ny mappe";
App::$strings["Upload file"] = "Last opp fil";
+App::$strings["Permission denied"] = "Tillatelse avvist";
App::$strings["Permission denied."] = "Tillatelse avslått.";
App::$strings["Not Found"] = "Ikke funnet";
App::$strings["Page not found."] = "Siden ikke funnet.";
-App::$strings["Connect"] = "Koble";
-App::$strings["New window"] = "Nytt vindu";
-App::$strings["Open the selected location in a different window or browser tab"] = "Åpne det valgte stedet i et annet vindu eller nettleser-fane";
-App::$strings["User '%s' deleted"] = "Brukeren '%s' er slettet";
-App::$strings["No username found in import file."] = "Ingen brukernavn ble funnet i importfilen.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Klarte ikke å lage en unik kanaladresse. Import mislyktes.";
-App::$strings["Import completed."] = "Import ferdig.";
-App::$strings["Not a valid email address"] = "Ikke en gyldig e-postadresse";
-App::$strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet";
-App::$strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet.";
-App::$strings["An invitation is required."] = "En invitasjon er påkrevd.";
-App::$strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes.";
-App::$strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon.";
-App::$strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon.";
-App::$strings["Registration confirmation for %s"] = "Registreringsbekreftelse for %s";
-App::$strings["Registration request at %s"] = "Registreringsforespørsel hos %s";
-App::$strings["Administrator"] = "Administrator";
-App::$strings["your registration password"] = "ditt registreringspassord";
-App::$strings["Registration details for %s"] = "Registreringsdetaljer for %s";
-App::$strings["Account approved."] = "Konto godkjent.";
-App::$strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s";
-App::$strings["Account verified. Please login."] = "Konto bekreftet. Vennligst logg inn.";
-App::$strings["Click here to upgrade."] = "Klikk her for å oppgradere.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan.";
-App::$strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan.";
-App::$strings["Visible to your default audience"] = "Synlig for ditt standard publikum";
-App::$strings["Show"] = "Vis";
-App::$strings["Don't show"] = "Ikke vis";
-App::$strings["Other networks and post services"] = "Andre nettverk og innleggstjenester";
-App::$strings["Permissions"] = "Tillatelser";
-App::$strings["Close"] = "Lukk";
-App::$strings[" and "] = "og";
-App::$strings["public profile"] = "offentlig profil";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s endret %2\$s til &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Besøk %1\$s sitt %2\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s har oppdatert %2\$s, endret %3\$s.";
-App::$strings["Public Timeline"] = "Offentlig tidslinje";
-App::$strings["Site Admin"] = "Nettstedsadministrator";
-App::$strings["Bookmarks"] = "Bokmerker";
-App::$strings["Address Book"] = "Adressebok";
-App::$strings["Login"] = "Logg inn";
-App::$strings["Channel Manager"] = "Kanalstyring";
-App::$strings["Grid"] = "Nett";
-App::$strings["Settings"] = "Innstillinger";
-App::$strings["Webpages"] = "Websider";
-App::$strings["Channel Home"] = "Kanalhjem";
-App::$strings["Profile"] = "Profil";
-App::$strings["Photos"] = "Bilder";
-App::$strings["Events"] = "Hendelser";
-App::$strings["Directory"] = "Katalog";
-App::$strings["Help"] = "Hjelp";
-App::$strings["Mail"] = "Melding";
-App::$strings["Mood"] = "Stemning";
-App::$strings["Poke"] = "Prikk";
-App::$strings["Chat"] = "Chat";
-App::$strings["Search"] = "Søk";
-App::$strings["Probe"] = "Undersøk";
-App::$strings["Suggest"] = "Forreslå";
-App::$strings["Random Channel"] = "Tilfeldig kanal";
-App::$strings["Invite"] = "Inviter";
-App::$strings["Features"] = "Funksjoner";
-App::$strings["Language"] = "Språk";
-App::$strings["Post"] = "Innlegg";
-App::$strings["Profile Photo"] = "Profilbilde";
-App::$strings["Update"] = "Oppdater";
-App::$strings["Install"] = "Installer";
-App::$strings["Purchase"] = "Kjøp";
-App::$strings["Item was not found."] = "Elementet ble ikke funnet.";
-App::$strings["No source file."] = "Ingen kildefil.";
-App::$strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut";
-App::$strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres";
-App::$strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes.";
-App::$strings["Path not available."] = "Stien er ikke tilgjengelig.";
-App::$strings["Empty pathname"] = "Tomt sti-navn";
-App::$strings["duplicate filename or path"] = "duplikat av filnavn eller sti";
-App::$strings["Path not found."] = "Stien ble ikke funnet.";
-App::$strings["mkdir failed."] = "mkdir mislyktes.";
-App::$strings["database storage failed."] = "databaselagring mislyktes.";
-App::$strings["Empty path"] = "Tom sti";
-App::$strings["Logged out."] = "Logget ut.";
-App::$strings["Failed authentication"] = "Mislykket autentisering";
-App::$strings["Login failed."] = "Innlogging mislyktes.";
-App::$strings["Attachments:"] = "Vedlegg:";
-App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-App::$strings["\$Projectname event notification:"] = "\$Projectname hendelsesvarsling:";
-App::$strings["Starts:"] = "Starter:";
-App::$strings["Finishes:"] = "Slutter:";
-App::$strings["Location:"] = "Plassering:";
-App::$strings["Image/photo"] = "Bilde/fotografi";
-App::$strings["Encrypted content"] = "Kryptert innhold";
-App::$strings["Install %s element: "] = "Installer %s element:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet.";
-App::$strings["webpage"] = "nettside";
-App::$strings["layout"] = "layout";
-App::$strings["block"] = "byggekloss";
-App::$strings["menu"] = "meny";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s";
-App::$strings["post"] = "innlegg";
-App::$strings["Different viewers will see this text differently"] = "Denne teksten vil se forskjellig ut for ulike besøkende";
-App::$strings["$1 spoiler"] = "$1 avsløring";
-App::$strings["$1 wrote:"] = "$1 skrev:";
-App::$strings["%1\$s's bookmarks"] = "%1\$s sine bokmerker";
-App::$strings["Missing room name"] = "Mangler romnavn";
-App::$strings["Duplicate room name"] = "Duplikat romnavn";
-App::$strings["Invalid room specifier."] = "Ugyldig rom-spesifisering";
-App::$strings["Room not found."] = "Rommet ble ikke funnet.";
-App::$strings["Room is full"] = "Rommet er fullt";
-App::$strings["Default"] = "Standard";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invitasjon tilgjengelig",
- 1 => "%d invitasjoner tilgjengelig",
-);
-App::$strings["Advanced"] = "Avansert";
-App::$strings["Find Channels"] = "Finn kanaler";
-App::$strings["Enter name or interest"] = "Skriv navn eller interesse";
-App::$strings["Connect/Follow"] = "Forbindelse/Følg";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Eksempler: Ola Nordmann, fisking";
-App::$strings["Find"] = "Finn";
-App::$strings["Channel Suggestions"] = "Kanalforslag";
-App::$strings["Random Profile"] = "Tilfeldig profil";
-App::$strings["Invite Friends"] = "Inviter venner";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Avansert eksempel: navn=fred og land=island";
-App::$strings["Saved Folders"] = "Lagrede mapper";
-App::$strings["Everything"] = "Alt";
-App::$strings["Categories"] = "Kategorier";
-App::$strings["%d connection in common"] = array(
- 0 => "%d forbindelse felles",
- 1 => "%d forbindelser felles",
-);
-App::$strings["show more"] = "vis mer";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Kan ikke finne DNS-informasjon om databasetjener '%s'";
-App::$strings["Directory Options"] = "Kataloginnstillinger";
-App::$strings["Safe Mode"] = "Trygt modus";
-App::$strings["No"] = "Nei";
-App::$strings["Yes"] = "Ja";
-App::$strings["Public Forums Only"] = "Bare offentlige forum";
-App::$strings["This Website Only"] = "Kun dette nettstedet";
-App::$strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender.";
-App::$strings["event"] = "hendelse";
-App::$strings["Not specified"] = "Ikke spesifisert";
-App::$strings["Needs Action"] = "Trenger handling";
-App::$strings["Completed"] = "Ferdig";
-App::$strings["In Process"] = "Igang";
-App::$strings["Cancelled"] = "Avbrutt";
-App::$strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet.";
-App::$strings["Channel location missing."] = "Kanalplassering mangler.";
-App::$strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett.";
-App::$strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger.";
-App::$strings["Protocol disabled."] = "Protokollen er avskrudd.";
-App::$strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes.";
-App::$strings["local account not found."] = "lokal konto ble ikke funnet.";
-App::$strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv.";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes.";
-App::$strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes.";
-App::$strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes.";
-App::$strings["Delete this item?"] = "Slett dette elementet?";
-App::$strings["Comment"] = "Kommentar";
-App::$strings["[+] show all"] = "[+] Vis alle";
-App::$strings["[-] show less"] = "[-] Vis mindre";
-App::$strings["[+] expand"] = "[+] Utvid";
-App::$strings["[-] collapse"] = "[-] Lukk";
-App::$strings["Password too short"] = "Passordet er for kort";
-App::$strings["Passwords do not match"] = "Passordene er ikke like";
-App::$strings["everybody"] = "alle";
-App::$strings["Secret Passphrase"] = "Hemmelig passordsetning";
-App::$strings["Passphrase hint"] = "Hint om passordsetning";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn.";
-App::$strings["close all"] = "Lukk alle";
-App::$strings["Nothing new here"] = "Ikke noe nytt her";
-App::$strings["Rate This Channel (this is public)"] = "Vurder denne kanalen (dette er offentlig)";
-App::$strings["Rating"] = "Vurdering";
-App::$strings["Describe (optional)"] = "Beskriv (valgfritt)";
-App::$strings["Submit"] = "Send";
-App::$strings["Please enter a link URL"] = "Vennligst skriv inn en lenke URL:";
-App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?";
-App::$strings["Location"] = "Plassering";
-App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "siden";
-App::$strings["from now"] = "fra nå";
-App::$strings["less than a minute"] = "mindre enn ett minutt";
-App::$strings["about a minute"] = "omtrent et minutt";
-App::$strings["%d minutes"] = "%d minutter";
-App::$strings["about an hour"] = "omtrent en time";
-App::$strings["about %d hours"] = "omtrent %d timer";
-App::$strings["a day"] = "en dag";
-App::$strings["%d days"] = "%d dager";
-App::$strings["about a month"] = "omtrent en måned";
-App::$strings["%d months"] = "%d måneder";
-App::$strings["about a year"] = "omtrent et år";
-App::$strings["%d years"] = "%d år";
-App::$strings[" "] = " ";
-App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["January"] = "januar";
-App::$strings["February"] = "februar";
-App::$strings["March"] = "mars";
-App::$strings["April"] = "april";
-App::$strings["__ctx:long__ May"] = "mai";
-App::$strings["June"] = "juni";
-App::$strings["July"] = "juli";
-App::$strings["August"] = "august";
-App::$strings["September"] = "september";
-App::$strings["October"] = "oktober";
-App::$strings["November"] = "november";
-App::$strings["December"] = "desember";
-App::$strings["Jan"] = "Jan";
-App::$strings["Feb"] = "Feb";
-App::$strings["Mar"] = "Mar";
-App::$strings["Apr"] = "Apr";
-App::$strings["__ctx:short__ May"] = "mai";
-App::$strings["Jun"] = "Jun";
-App::$strings["Jul"] = "Jul";
-App::$strings["Aug"] = "Aug";
-App::$strings["Sep"] = "Sep";
-App::$strings["Oct"] = "Okt";
-App::$strings["Nov"] = "Nov";
-App::$strings["Dec"] = "Des";
-App::$strings["Sunday"] = "søndag";
-App::$strings["Monday"] = "mandag";
-App::$strings["Tuesday"] = "tirsdag";
-App::$strings["Wednesday"] = "onsdag";
-App::$strings["Thursday"] = "torsdag";
-App::$strings["Friday"] = "fredag";
-App::$strings["Saturday"] = "lørdag";
-App::$strings["Sun"] = "Søn";
-App::$strings["Mon"] = "Man";
-App::$strings["Tue"] = "Tirs";
-App::$strings["Wed"] = "Ons";
-App::$strings["Thu"] = "Tors";
-App::$strings["Fri"] = "Fre";
-App::$strings["Sat"] = "Lør";
-App::$strings["__ctx:calendar__ today"] = "idag";
-App::$strings["__ctx:calendar__ month"] = "måned";
-App::$strings["__ctx:calendar__ week"] = "uke";
-App::$strings["__ctx:calendar__ day"] = "dag";
-App::$strings["__ctx:calendar__ All day"] = "Hele dagen";
-App::$strings["No recipient provided."] = "Ingen mottaker angitt.";
-App::$strings["[no subject]"] = "[ikke noe emne]";
-App::$strings["Unable to determine sender."] = "Kan ikke avgjøre avsender.";
-App::$strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes.";
-App::$strings["Logout"] = "Logg ut";
-App::$strings["End this session"] = "Avslutt denne økten";
-App::$strings["Home"] = "Hjem";
-App::$strings["Your posts and conversations"] = "Dine innlegg og samtaler";
-App::$strings["View Profile"] = "Vis profil";
-App::$strings["Your profile page"] = "Din profilside";
-App::$strings["Edit Profiles"] = "Endre profiler";
-App::$strings["Manage/Edit profiles"] = "Håndter/endre profiler";
-App::$strings["Edit Profile"] = "Endre profil";
-App::$strings["Edit your profile"] = "Endre din profil";
-App::$strings["Your photos"] = "Dine bilder";
-App::$strings["Your files"] = "Dine filer";
-App::$strings["Your chatrooms"] = "Dine chatterom";
-App::$strings["Your bookmarks"] = "Dine bokmerker";
-App::$strings["Your webpages"] = "Dine websider";
-App::$strings["Sign in"] = "Logg på";
-App::$strings["%s - click to logout"] = "%s - klikk for å logge ut";
-App::$strings["Remote authentication"] = "Fjernautentisering";
-App::$strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub";
-App::$strings["Home Page"] = "Hjemmeside";
-App::$strings["Register"] = "Registrer";
-App::$strings["Create an account"] = "Lag en konto";
-App::$strings["Help and documentation"] = "Hjelp og dokumentasjon";
-App::$strings["Apps"] = "Apper";
-App::$strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold";
-App::$strings["Channel Directory"] = "Kanalkatalog";
-App::$strings["Your grid"] = "Ditt nett";
-App::$strings["Mark all grid notifications seen"] = "Marker alle nettvarsler som sett";
-App::$strings["Channel home"] = "Kanalhjem";
-App::$strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett";
-App::$strings["Connections"] = "Forbindelser";
-App::$strings["Notices"] = "Varsel";
-App::$strings["Notifications"] = "Varsler";
-App::$strings["See all notifications"] = "Se alle varsler";
-App::$strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett";
-App::$strings["Private mail"] = "Privat post";
-App::$strings["See all private messages"] = "Se alle private meldinger";
-App::$strings["Mark all private messages seen"] = "Merk alle private meldinger som sett";
-App::$strings["Inbox"] = "Innboks";
-App::$strings["Outbox"] = "Utboks";
-App::$strings["New Message"] = "Ny melding";
-App::$strings["Event Calendar"] = "Kalender";
-App::$strings["See all events"] = "Se alle hendelser";
-App::$strings["Mark all events seen"] = "Merk alle hendelser som sett";
-App::$strings["Manage Your Channels"] = "Håndter dine kanaler";
-App::$strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger";
-App::$strings["Admin"] = "Administrator";
-App::$strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon";
-App::$strings["Loading..."] = "Laster...";
-App::$strings["@name, #tag, ?doc, content"] = "@navn, #merkelapp, ?dokumentasjon, innhold";
-App::$strings["Please wait..."] = "Vennligst vent...";
-App::$strings["created a new post"] = "laget et nytt innlegg";
-App::$strings["commented on %s's post"] = "kommenterte på %s sitt innlegg";
-App::$strings["New Page"] = "Ny side";
-App::$strings["View"] = "Vis";
-App::$strings["Preview"] = "Forhåndsvisning";
-App::$strings["Actions"] = "Handlinger";
-App::$strings["Page Link"] = "Sidelenke";
-App::$strings["Title"] = "Tittel";
-App::$strings["Created"] = "Laget";
-App::$strings["Edited"] = "Endret";
-App::$strings["Profile Photos"] = "Profilbilder";
-App::$strings["Male"] = "Mannlig";
-App::$strings["Female"] = "Kvinnelig";
-App::$strings["Currently Male"] = "For tiden mann";
-App::$strings["Currently Female"] = "For tiden kvinne";
-App::$strings["Mostly Male"] = "For det meste mann";
-App::$strings["Mostly Female"] = "For det meste kvinne";
-App::$strings["Transgender"] = "Transkjønnet";
-App::$strings["Intersex"] = "interkjønnet";
-App::$strings["Transsexual"] = "Transseksuell";
-App::$strings["Hermaphrodite"] = "Hermafroditt";
-App::$strings["Neuter"] = "Intetkjønn";
-App::$strings["Non-specific"] = "Ubestemt";
-App::$strings["Other"] = "Annen";
-App::$strings["Undecided"] = "Ubestemt";
-App::$strings["Males"] = "Menn";
-App::$strings["Females"] = "Kvinner";
-App::$strings["Gay"] = "Homo";
-App::$strings["Lesbian"] = "Lesbisk";
-App::$strings["No Preference"] = "Ingen preferanse";
-App::$strings["Bisexual"] = "Biseksuell";
-App::$strings["Autosexual"] = "Autoseksuell";
-App::$strings["Abstinent"] = "Avholdende";
-App::$strings["Virgin"] = "Jomfru";
-App::$strings["Deviant"] = "Avviker";
-App::$strings["Fetish"] = "Fetisj";
-App::$strings["Oodles"] = "Masse";
-App::$strings["Nonsexual"] = "Ikke-seksuell";
-App::$strings["Single"] = "Enslig";
-App::$strings["Lonely"] = "Ensom";
-App::$strings["Available"] = "Tilgjengelig";
-App::$strings["Unavailable"] = "Ikke tilgjengelig";
-App::$strings["Has crush"] = "Er forelsket";
-App::$strings["Infatuated"] = "Betatt";
-App::$strings["Dating"] = "Sammen med";
-App::$strings["Unfaithful"] = "Utro";
-App::$strings["Sex Addict"] = "Sexavhengig";
-App::$strings["Friends"] = "Venner";
-App::$strings["Friends/Benefits"] = "Venner med frynsegoder";
-App::$strings["Casual"] = "Tilfeldig";
-App::$strings["Engaged"] = "Forlovet";
-App::$strings["Married"] = "Gift";
-App::$strings["Imaginarily married"] = "Gift i fantasien";
-App::$strings["Partners"] = "Partnere";
-App::$strings["Cohabiting"] = "Samboer";
-App::$strings["Common law"] = "Samboer";
-App::$strings["Happy"] = "Lykkelig";
-App::$strings["Not looking"] = "Ikke på utkikk";
-App::$strings["Swinger"] = "Partnerbytte";
-App::$strings["Betrayed"] = "Bedratt";
-App::$strings["Separated"] = "Separert";
-App::$strings["Unstable"] = "Ustabilt";
-App::$strings["Divorced"] = "Skilt";
-App::$strings["Imaginarily divorced"] = "Skilt i fantasien";
-App::$strings["Widowed"] = "Enke";
-App::$strings["Uncertain"] = "Usikkert";
-App::$strings["It's complicated"] = "Det er komplisert";
-App::$strings["Don't care"] = "Bryr meg ikke";
-App::$strings["Ask me"] = "Spør meg";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn.";
-App::$strings["Tags"] = "Merkelapper";
-App::$strings["Keywords"] = "Nøkkelord";
-App::$strings["have"] = "har";
-App::$strings["has"] = "har";
-App::$strings["want"] = "ønsker";
-App::$strings["wants"] = "ønsker";
-App::$strings["like"] = "liker";
-App::$strings["likes"] = "liker";
-App::$strings["dislike"] = "misliker";
-App::$strings["dislikes"] = "misliker";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Liker",
- 1 => "Liker",
-);
-App::$strings["Miscellaneous"] = "Forskjellig";
-App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD eller MM-DD";
-App::$strings["Required"] = "Påkrevd";
-App::$strings["never"] = "aldri";
-App::$strings["less than a second ago"] = "for mindre enn ett sekund siden";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s siden";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "år",
- 1 => "år",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "måned",
- 1 => "måneder",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "uke",
- 1 => "uker",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "dag",
- 1 => "dager",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "time",
- 1 => "timer",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minutt",
- 1 => "minutter",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "sekund",
- 1 => "sekunder",
-);
-App::$strings["%1\$s's birthday"] = "%1\$s sin fødselsdag";
-App::$strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !";
-App::$strings["Invalid data packet"] = "Ugyldig datapakke";
-App::$strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen";
-App::$strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s";
-App::$strings["invalid target signature"] = "Målets signatur er ugyldig";
-App::$strings["Frequently"] = "Ofte";
-App::$strings["Hourly"] = "Hver time";
-App::$strings["Twice daily"] = "To ganger daglig";
-App::$strings["Daily"] = "Daglig";
-App::$strings["Weekly"] = "Ukentlig";
-App::$strings["Monthly"] = "Månedlig";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Email"] = "E-post";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["view full size"] = "vis full størrelse";
-App::$strings["\$Projectname Notification"] = "\$Projectname varsling";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Tusen takk,";
-App::$strings["%s Administrator"] = "%s administrator";
-App::$strings["No Subject"] = "Uten emne";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes";
-App::$strings["Image file is empty."] = "Bildefilen er tom.";
-App::$strings["Unable to process image"] = "Kan ikke behandle bildet";
-App::$strings["Photo storage failed."] = "Bildelagring mislyktes.";
-App::$strings["a new photo"] = "et nytt bilde";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s la inn %2\$s til %3\$s";
-App::$strings["Photo Albums"] = "Fotoalbum";
-App::$strings["Upload New Photos"] = "Last opp nye bilder";
-App::$strings["General Features"] = "Generelle funksjoner";
-App::$strings["Content Expiration"] = "Innholdet utløper";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden";
-App::$strings["Multiple Profiles"] = "Flere profiler";
-App::$strings["Ability to create multiple profiles"] = "Mulig å lage flere profiler";
-App::$strings["Advanced Profiles"] = "Avanserte profiler";
-App::$strings["Additional profile sections and selections"] = "Ytterlige seksjoner og utvalg til profilen";
-App::$strings["Profile Import/Export"] = "Profil-import/-eksport";
-App::$strings["Save and load profile details across sites/channels"] = "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler";
-App::$strings["Web Pages"] = "Web-sider";
-App::$strings["Provide managed web pages on your channel"] = "Tilby kontrollerte web-sider på din kanal";
-App::$strings["Hide Rating"] = "Skjul vurdering";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Skjul vurderingsknappene for din kanal og profilsider. Merknad: folk kan fortsatt vurdere deg et annet sted.";
-App::$strings["Private Notes"] = "Private merknader";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Skru på et verktøy for å lagre notater og påminnelser (merknad: ikke kryptert)";
-App::$strings["Navigation Channel Select"] = "Navigasjon kanalvalg";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Endre kanaler direkte fra navigasjonsmenyen";
-App::$strings["Photo Location"] = "Bildeplassering";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart.";
-App::$strings["Expert Mode"] = "Ekspertmodus";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg";
-App::$strings["Premium Channel"] = "Premiumkanal";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal";
-App::$strings["Post Composition Features"] = "Funksjoner for å lage innlegg";
-App::$strings["Use Markdown"] = "Bruk Markdown";
-App::$strings["Allow use of \"Markdown\" to format posts"] = "Tillat bruk av \"Markdown\" til formatering av innlegg";
-App::$strings["Large Photos"] = "Store bilder";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder.";
-App::$strings["Channel Sources"] = "Kanalkilder";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Automatisk import av kanalinnhold fra andre kanaler eller strømmer";
-App::$strings["Even More Encryption"] = "Enda mer kryptering";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel";
-App::$strings["Enable Voting Tools"] = "Skru på verktøy for å stemme";
-App::$strings["Provide a class of post which others can vote on"] = "Tilby en type innlegg som andre kan stemme på";
-App::$strings["Delayed Posting"] = "Tidfest publisering";
-App::$strings["Allow posts to be published at a later date"] = "Tillat innlegg å bli publisert på et senere tidspunkt";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Forhindre duplikat av innlegg/kommentarer";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene.";
-App::$strings["Network and Stream Filtering"] = "Nettverk- og strømfiltrering";
-App::$strings["Search by Date"] = "Søk etter dato";
-App::$strings["Ability to select posts by date ranges"] = "Mulighet for å velge innlegg etter datoområde";
-App::$strings["Privacy Groups"] = "Personverngrupper";
-App::$strings["Enable management and selection of privacy groups"] = "Skru på håndtering og valg av personverngrupper";
-App::$strings["Saved Searches"] = "Lagrede søk";
-App::$strings["Save search terms for re-use"] = "Lagre søkeuttrykk for senere bruk";
-App::$strings["Network Personal Tab"] = "Nettverk personlig fane";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i";
-App::$strings["Network New Tab"] = "Nettverk Ny fane";
-App::$strings["Enable tab to display all new Network activity"] = "Skru på fane for å vise all ny nettverksaktivitet";
-App::$strings["Affinity Tool"] = "Nærhetsverktøy";
-App::$strings["Filter stream activity by depth of relationships"] = "Filtrer strømaktiviteten etter releasjonsdybde";
-App::$strings["Connection Filtering"] = "Filtrer forbindelser";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold";
-App::$strings["Suggest Channels"] = "Foreslå kanaler";
-App::$strings["Show channel suggestions"] = "Vis kanalforslag";
-App::$strings["Post/Comment Tools"] = "Innlegg-/Kommentar-verktøy";
-App::$strings["Community Tagging"] = "Felleskapsmerkelapper";
-App::$strings["Ability to tag existing posts"] = "Mulighet til å merke eksisterende meldinger";
-App::$strings["Post Categories"] = "Innleggskategorier";
-App::$strings["Add categories to your posts"] = "Legg kategorier til dine innlegg";
-App::$strings["Ability to file posts under folders"] = "Mulighet til å sortere innlegg i mapper";
-App::$strings["Dislike Posts"] = "Mislik innlegg";
-App::$strings["Ability to dislike posts/comments"] = "Mulighet til å mislike innlegg/kommentarer";
-App::$strings["Star Posts"] = "Stjerneinnlegg";
-App::$strings["Ability to mark special posts with a star indicator"] = "Mulighet til å merke spesielle innlegg med en stjerne";
-App::$strings["Tag Cloud"] = "Merkelappsky";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Tilby en personlig merkelappsky på din kanalside";
-App::$strings["System"] = "System";
-App::$strings["Personal"] = "Personlig";
-App::$strings["Create Personal App"] = "Lag personlig app";
-App::$strings["Edit Personal App"] = "Endre personlig app";
-App::$strings["Ignore/Hide"] = "Ignorer/Skjul";
-App::$strings["Suggestions"] = "Forslag";
-App::$strings["See more..."] = "Se mer...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser.";
-App::$strings["Add New Connection"] = "Legg til ny forbindelse";
-App::$strings["Enter channel address"] = "Skriv kanaladressen";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Eksempel: ola@eksempel.no, https://eksempel.no/kari";
-App::$strings["Notes"] = "Merknader";
-App::$strings["Save"] = "Lagre";
-App::$strings["Remove term"] = "Fjern begrep";
-App::$strings["add"] = "legg til";
-App::$strings["Archives"] = "Arkiv";
-App::$strings["Me"] = "Meg";
-App::$strings["Family"] = "Familie";
-App::$strings["Acquaintances"] = "Bekjente";
-App::$strings["All"] = "Alle";
-App::$strings["Refresh"] = "Forny";
-App::$strings["Account settings"] = "Kontoinnstillinger";
-App::$strings["Channel settings"] = "Kanalinnstillinger";
-App::$strings["Additional features"] = "Tilleggsfunksjoner";
-App::$strings["Feature/Addon settings"] = "Funksjons-/Tilleggsinnstillinger";
-App::$strings["Display settings"] = "Visningsinnstillinger";
-App::$strings["Connected apps"] = "Tilkoblede app-er";
-App::$strings["Export channel"] = "Eksporter kanal";
-App::$strings["Connection Default Permissions"] = "Forbindelsens standard tillatelser";
-App::$strings["Premium Channel Settings"] = "Premiumkanal-innstillinger";
-App::$strings["Private Mail Menu"] = "Meny for privat post";
-App::$strings["Combined View"] = "Kombinert visning";
-App::$strings["Conversations"] = "Samtaler";
-App::$strings["Received Messages"] = "Mottatte meldinger";
-App::$strings["Sent Messages"] = "Sendte meldinger";
-App::$strings["No messages."] = "Ingen meldinger.";
-App::$strings["Delete conversation"] = "Slett samtale";
-App::$strings["Events Menu"] = "Meny for hendelser";
-App::$strings["Day View"] = "Dag";
-App::$strings["Week View"] = "Uke";
-App::$strings["Month View"] = "Måned";
-App::$strings["Export"] = "Eksport";
-App::$strings["Import"] = "Importer";
-App::$strings["Events Tools"] = "Kalenderverktøy";
-App::$strings["Export Calendar"] = "Eksporter kalender";
-App::$strings["Import Calendar"] = "Importer kalender";
-App::$strings["Chat Rooms"] = "Chatrom";
-App::$strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom";
-App::$strings["Suggested Chatrooms"] = "Foreslåtte chatrom";
-App::$strings["photo/image"] = "foto/bilde";
-App::$strings["Rating Tools"] = "Vurderingsverktøy";
-App::$strings["Rate Me"] = "Vurder meg";
-App::$strings["View Ratings"] = "Vis vurderinger";
-App::$strings["Public Hubs"] = "Offentlige huber";
-App::$strings["Forums"] = "Forum";
-App::$strings["Tasks"] = "Oppgaver";
-App::$strings["Documentation"] = "Dokumentasjon";
-App::$strings["Project/Site Information"] = "Prosjekt-/Nettstedsinformasjon";
-App::$strings["For Members"] = "For medlemmer";
-App::$strings["For Administrators"] = "For administratorer";
-App::$strings["For Developers"] = "For utviklere";
-App::$strings["Site"] = "Nettsted";
-App::$strings["Accounts"] = "Kontoer";
-App::$strings["Channels"] = "Kanaler";
-App::$strings["Security"] = "Sikkerhet";
-App::$strings["Plugins"] = "Tilleggsfunksjoner";
-App::$strings["Themes"] = "Temaer";
-App::$strings["Inspect queue"] = "Inspiser kø";
-App::$strings["Profile Config"] = "Profilinnstillinger";
-App::$strings["DB updates"] = "Databaseoppdateringer";
-App::$strings["Logs"] = "Logger";
-App::$strings["Plugin Features"] = "Tilleggsfunksjoner";
-App::$strings["User registrations waiting for confirmation"] = "Brukerregistreringer som venter på bekreftelse";
-App::$strings["View Photo"] = "Vis foto";
-App::$strings["Edit Album"] = "Endre album";
-App::$strings["prev"] = "forrige";
-App::$strings["first"] = "første";
-App::$strings["last"] = "siste";
-App::$strings["next"] = "neste";
-App::$strings["older"] = "eldre";
-App::$strings["newer"] = "nyere";
-App::$strings["No connections"] = "Ingen forbindelser";
-App::$strings["View all %s connections"] = "Vis alle %s forbindelser";
-App::$strings["poke"] = "prikk";
-App::$strings["poked"] = "prikket";
-App::$strings["ping"] = "varsle";
-App::$strings["pinged"] = "varslet";
-App::$strings["prod"] = "oppildne";
-App::$strings["prodded"] = "oppildnet";
-App::$strings["slap"] = "daske";
-App::$strings["slapped"] = "dasket";
-App::$strings["finger"] = "fingre";
-App::$strings["fingered"] = "fingret";
-App::$strings["rebuff"] = "tilbakevise";
-App::$strings["rebuffed"] = "tilbakeviste";
-App::$strings["happy"] = "glad";
-App::$strings["sad"] = "trist";
-App::$strings["mellow"] = "dempet";
-App::$strings["tired"] = "trøtt";
-App::$strings["perky"] = "oppkvikket";
-App::$strings["angry"] = "sint";
-App::$strings["stupefied"] = "lamslått";
-App::$strings["puzzled"] = "forundret";
-App::$strings["interested"] = "interessert";
-App::$strings["bitter"] = "bitter";
-App::$strings["cheerful"] = "munter";
-App::$strings["alive"] = "levende";
-App::$strings["annoyed"] = "irritert";
-App::$strings["anxious"] = "nervøs";
-App::$strings["cranky"] = "gretten";
-App::$strings["disturbed"] = "foruroliget";
-App::$strings["frustrated"] = "frustrert";
-App::$strings["depressed"] = "lei seg";
-App::$strings["motivated"] = "motivert";
-App::$strings["relaxed"] = "avslappet";
-App::$strings["surprised"] = "overrasket";
-App::$strings["May"] = "mai";
-App::$strings["Unknown Attachment"] = "Ukjent vedlegg";
-App::$strings["unknown"] = "ukjent";
-App::$strings["remove category"] = "fjern kategori";
-App::$strings["remove from file"] = "fjern fra fil";
-App::$strings["Click to open/close"] = "Klikk for å åpne/lukke";
-App::$strings["Link to Source"] = "Lenke til kilde";
-App::$strings["default"] = "standard";
-App::$strings["Page layout"] = "Sidens layout";
-App::$strings["You can create your own with the layouts tool"] = "Du kan lage din egen med layout-verktøyet";
-App::$strings["Page content type"] = "Sidens innholdstype";
-App::$strings["Select an alternate language"] = "Velg et annet språk";
-App::$strings["photo"] = "foto";
-App::$strings["status"] = "status";
-App::$strings["comment"] = "kommentar";
-App::$strings["activity"] = "aktivitet";
-App::$strings["Design Tools"] = "Designverktøy";
-App::$strings["Blocks"] = "Byggeklosser";
-App::$strings["Menus"] = "Menyer";
-App::$strings["Layouts"] = "Layout";
-App::$strings["Pages"] = "Sider";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn.";
-App::$strings["Add new connections to this privacy group"] = "Legg nye forbindelser i denne personverngruppen";
-App::$strings["All Channels"] = "Alle kanaler";
-App::$strings["edit"] = "endre";
-App::$strings["Edit group"] = "Endre gruppe";
-App::$strings["Add privacy group"] = "Legg til personverngruppe";
-App::$strings["Channels not in any privacy group"] = "Kanaler uten personverngruppe";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Ny melding mottatt hos %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s sendte deg en ny privat melding på %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s sendte deg %2\$s.";
-App::$strings["a private message"] = "en privat melding";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Vennligst besøk %s for å se og/eller svare på dine private meldinger.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]a %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]%4\$s's %5\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]din %4\$s[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Kommentar til samtale #%1\$d av %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s kommenterte på et element eller en samtale du følger";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Vennligst besøk %s for å se og/eller svare i samtalen";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s skrev et innlegg på din profilvegg på %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s skrev et innlegg på [zrl=%3\$s]din vegg[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s merket deg";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s merket deg på %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]merket deg[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s prikket deg";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s dyttet deg på %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]dyttet deg[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s merket ditt innlegg";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s merket ditt innlegg på %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s merket [zrl=%3\$s]ditt innlegg[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Introduksjon mottatt";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en ny forespørsel om forbindelse fra '%2\$s' hos %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, du mottok [zrl=%2\$s]en ny forespørsel om forbindelse[/zrl] fra %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Du kan besøke profilen deres på %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Venneforslag mottatt";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en venneforespørsel fra '%2\$s' hos %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, du har mottatt [zrl=%2\$s]et venneforslaget[/zrl] angående %3\$s fra %4\$s. ";
-App::$strings["Name:"] = "Navn:";
-App::$strings["Photo:"] = "Bilde:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Vennligst besøk %s for å godkjenne eller avslå dette forslaget.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]";
-App::$strings["Unable to obtain identity information from database"] = "Klarer ikke å få tak i identitetsinformasjon fra databasen";
-App::$strings["Empty name"] = "Mangler navn";
-App::$strings["Name too long"] = "Navnet er for langt";
-App::$strings["No account identifier"] = "Ingen kontoidentifikator";
-App::$strings["Nickname is required."] = "Kallenavn er påkrevd.";
-App::$strings["Reserved nickname. Please choose another."] = "Reservert kallenavn. Vennligst velg et annet.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet.";
-App::$strings["Unable to retrieve created identity"] = "Klarer ikke å hente den lagede identiteten";
-App::$strings["Default Profile"] = "Standardprofil";
-App::$strings["Requested channel is not available."] = "Forespurt kanal er ikke tilgjengelig.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Velkommen %s. Ekstern autentisering er vellykket.";
App::$strings["Requested profile is not available."] = "Forespurt profil er ikke tilgjengelig.";
-App::$strings["Change profile photo"] = "Endre profilbilde";
-App::$strings["Profiles"] = "Profiler";
-App::$strings["Manage/edit profiles"] = "Håndtere/endre profiler";
-App::$strings["Create New Profile"] = "Lag ny profil";
-App::$strings["Profile Image"] = "Profilbilde";
-App::$strings["visible to everybody"] = "synlig for alle";
-App::$strings["Edit visibility"] = "Endre synlighet";
-App::$strings["Gender:"] = "Kjønn:";
-App::$strings["Status:"] = "Status:";
-App::$strings["Homepage:"] = "Hjemmeside:";
-App::$strings["Online Now"] = "Online nå";
-App::$strings["g A l F d"] = "g A l F d";
-App::$strings["F d"] = "F d";
-App::$strings["[today]"] = "[idag]";
-App::$strings["Birthday Reminders"] = "Fødselsdagspåminnnelser";
-App::$strings["Birthdays this week:"] = "Fødselsdager denne uken:";
-App::$strings["[No description]"] = "[Ingen beskrivelse]";
-App::$strings["Event Reminders"] = "Hendelsespåminnelser";
-App::$strings["Events this week:"] = "Hendelser denne uken:";
-App::$strings["Full Name:"] = "Fullt navn:";
-App::$strings["Like this channel"] = "Lik denne kanalen";
-App::$strings["j F, Y"] = "j F, Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Fødselsdag:";
-App::$strings["Age:"] = "Alder:";
-App::$strings["for %1\$d %2\$s"] = "for %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Seksuell preferanse:";
-App::$strings["Hometown:"] = "Hjemby:";
-App::$strings["Tags:"] = "Merkelapper:";
-App::$strings["Political Views:"] = "Politiske synspunkter:";
-App::$strings["Religion:"] = "Religion:";
-App::$strings["About:"] = "Om:";
-App::$strings["Hobbies/Interests:"] = "Hobbyer/interesser:";
-App::$strings["Likes:"] = "Liker:";
-App::$strings["Dislikes:"] = "Misliker:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktinformasjon og sosiale nettverk:";
-App::$strings["My other channels:"] = "Mine andre kanaler:";
-App::$strings["Musical interests:"] = "Musikkinteresse:";
-App::$strings["Books, literature:"] = "Bøker, litteratur:";
-App::$strings["Television:"] = "TV:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underholdning:";
-App::$strings["Love/Romance:"] = "Kjærlighet/romantikk:";
-App::$strings["Work/employment:"] = "Arbeid/sysselsetting:";
-App::$strings["School/education:"] = "Skole/utdannelse:";
-App::$strings["Like this thing"] = "Lik denne tingen";
-App::$strings["cover photo"] = "forsidebilde";
-App::$strings["Embedded content"] = "Innebygget innhold";
-App::$strings["Embedding disabled"] = "Innbygging avskrudd";
-App::$strings["channel"] = "kanal";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s liker %2\$s sin %3\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s liker ikke %2\$s sin %3\$s";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s er nå forbundet med %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s prikket %2\$s";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s er %2\$s";
-App::$strings["__ctx:title__ Likes"] = "Liker";
-App::$strings["__ctx:title__ Dislikes"] = "Liker ikke";
-App::$strings["__ctx:title__ Agree"] = "Enig";
-App::$strings["__ctx:title__ Disagree"] = "Uenig";
-App::$strings["__ctx:title__ Abstain"] = "Avstår";
-App::$strings["__ctx:title__ Attending"] = "Deltar";
-App::$strings["__ctx:title__ Not attending"] = "Deltar ikke";
-App::$strings["__ctx:title__ Might attend"] = "Deltar kanskje";
-App::$strings["Select"] = "Velg";
-App::$strings["Private Message"] = "Privat melding";
-App::$strings["Message signature validated"] = "Innleggets signatur er bekreftet";
-App::$strings["Message signature incorrect"] = "Innleggets signatur er feil";
-App::$strings["View %s's profile @ %s"] = "Vis %s sin profile @ %s";
-App::$strings["Categories:"] = "Kategorier:";
-App::$strings["Filed under:"] = "Sortert under:";
-App::$strings["from %s"] = "fra %s";
-App::$strings["last edited: %s"] = "sist endret: %s";
-App::$strings["Expires: %s"] = "Utløper: %s";
-App::$strings["View in context"] = "Vis i sammenheng";
-App::$strings["Please wait"] = "Vennligst vent";
-App::$strings["remove"] = "fjern";
-App::$strings["Delete Selected Items"] = "Slett valgte elementer";
-App::$strings["View Source"] = "Vis kilde";
-App::$strings["Follow Thread"] = "Følg tråd";
-App::$strings["Unfollow Thread"] = "Ikke følg tråd";
-App::$strings["Activity/Posts"] = "Aktivitet/Innlegg";
-App::$strings["Edit Connection"] = "Endre forbindelse";
-App::$strings["Message"] = "Melding";
-App::$strings["Ratings"] = "Vurderinger";
-App::$strings["%s likes this."] = "%s liker dette.";
-App::$strings["%s doesn't like this."] = "%s liker ikke dette.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d person</span> liker dette.",
- 1 => "<span %1\$s>%2\$d personer</span> liker dette.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d person</span> liker ikke dette.",
- 1 => "<span %1\$s>%2\$d personer</span> liker ikke dette.",
-);
-App::$strings["and"] = "og";
-App::$strings[", and %d other people"] = array(
- 0 => ", og %d annen person",
- 1 => ", og %d andre personer",
-);
-App::$strings["%s like this."] = "%s liker dette.";
-App::$strings["%s don't like this."] = "%s liker ikke dette.";
-App::$strings["Visible to <strong>everybody</strong>"] = "Synlig for <strong>alle</strong>";
-App::$strings["Please enter a link URL:"] = "Vennligst skriv inn en lenke URL:";
-App::$strings["Please enter a video link/URL:"] = "Vennligst skriv en videolenke/URL:";
-App::$strings["Please enter an audio link/URL:"] = "Vennligst skriv en lydlenke/URL:";
-App::$strings["Tag term:"] = "Merkelapp:";
-App::$strings["Save to Folder:"] = "Lagre til mappe:";
-App::$strings["Where are you right now?"] = "Hvor er du akkurat nå?";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Utløper YYYY-MM-DD HH:MM";
-App::$strings["Share"] = "Del";
-App::$strings["Page link name"] = "Sidens lenkenavn";
-App::$strings["Post as"] = "Lag innlegg som";
-App::$strings["Bold"] = "Uthevet";
-App::$strings["Italic"] = "Kursiv";
-App::$strings["Underline"] = "Understreket";
-App::$strings["Quote"] = "Sitat";
-App::$strings["Code"] = "Kode";
-App::$strings["Upload photo"] = "Last opp bilde";
-App::$strings["upload photo"] = "last opp bilde";
-App::$strings["Attach file"] = "Legg ved fil";
-App::$strings["attach file"] = "legg ved fil";
-App::$strings["Insert web link"] = "Sett inn web-lenke";
-App::$strings["web link"] = "web-lenke";
-App::$strings["Insert video link"] = "Sett inn videolenke";
-App::$strings["video link"] = "videolenke";
-App::$strings["Insert audio link"] = "Sett inn lenke til lyd";
-App::$strings["audio link"] = "lenke til lyd";
-App::$strings["Set your location"] = "Angi din plassering";
-App::$strings["set location"] = "angi plassering";
-App::$strings["Toggle voting"] = "Skru av eller på stemming";
-App::$strings["Clear browser location"] = "Fjern nettleserplassering";
-App::$strings["clear location"] = "fjern plassering";
-App::$strings["Title (optional)"] = "Tittel (valgfri)";
-App::$strings["Categories (optional, comma-separated list)"] = "Kategorier (valgfri, kommaseparert liste)";
-App::$strings["Permission settings"] = "Tillatelser - innstillinger";
-App::$strings["permissions"] = "tillatelser";
-App::$strings["Public post"] = "Offentlig innlegg";
-App::$strings["Example: bob@example.com, mary@example.com"] = "Eksempel: ola@eksempel.no, kari@eksempel.no";
-App::$strings["Set expiration date"] = "Angi utløpsdato";
-App::$strings["Set publish date"] = "Angi publiseringsdato";
-App::$strings["Encrypt text"] = "Krypter tekst";
-App::$strings["OK"] = "OK";
-App::$strings["Cancel"] = "Avbryt";
-App::$strings["Discover"] = "Oppdage";
-App::$strings["Imported public streams"] = "Importerte offentlige strømmer";
-App::$strings["Commented Order"] = "Kommentert";
-App::$strings["Sort by Comment Date"] = "Sorter etter kommentert dato";
-App::$strings["Posted Order"] = "Lagt inn";
-App::$strings["Sort by Post Date"] = "Sorter etter innleggsdato";
-App::$strings["Posts that mention or involve you"] = "Innlegg som nevner eller involverer deg";
-App::$strings["New"] = "Nye";
-App::$strings["Activity Stream - by date"] = "Aktivitetsstrøm - etter dato";
-App::$strings["Starred"] = "Stjerne";
-App::$strings["Favourite Posts"] = "Favorittinnlegg";
-App::$strings["Spam"] = "Søppel";
-App::$strings["Posts flagged as SPAM"] = "Innlegg merket som SØPPEL";
-App::$strings["Channel"] = "Kanal";
-App::$strings["Status Messages and Posts"] = "Statusmeldinger og -innlegg";
-App::$strings["About"] = "Om";
-App::$strings["Profile Details"] = "Profildetaljer";
-App::$strings["Files and Storage"] = "Filer og lagring";
-App::$strings["Chatrooms"] = "Chatrom";
-App::$strings["Saved Bookmarks"] = "Lagrede bokmerker";
-App::$strings["Manage Webpages"] = "Håndtere websider";
-App::$strings["View all"] = "Vis alle";
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Liker ikke",
- 1 => "Liker ikke",
-);
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Deltar",
- 1 => "Deltar",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Deltar ikke",
- 1 => "Deltar ikke",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Ikke bestemt",
- 1 => "Ikke bestemt",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "Enig",
- 1 => "Enige",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Uenig",
- 1 => "Uenige",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Avstår",
- 1 => "Avstår",
-);
-App::$strings["Save to Folder"] = "Lagre i mappe";
-App::$strings["I will attend"] = "Jeg vil delta";
-App::$strings["I will not attend"] = "Jeg deltar ikke";
-App::$strings["I might attend"] = "Jeg vil kanskje delta";
-App::$strings["I agree"] = "Jeg er enig";
-App::$strings["I disagree"] = "Jeg er uenig";
-App::$strings["I abstain"] = "Jeg avstår";
-App::$strings["Add Star"] = "Legg til stjerne";
-App::$strings["Remove Star"] = "Fjern stjerne";
-App::$strings["Toggle Star Status"] = "Skru av og på stjernestatus";
-App::$strings["starred"] = "stjernemerket";
-App::$strings["Add Tag"] = "Legg til merkelapp";
-App::$strings["I like this (toggle)"] = "Jeg liker dette (skru av og på)";
-App::$strings["I don't like this (toggle)"] = "Jeg liker ikke dette (skru av og på)";
-App::$strings["Share This"] = "Del dette";
-App::$strings["share"] = "del";
-App::$strings["Delivery Report"] = "Leveringsrapport";
-App::$strings["%d comment"] = array(
- 0 => "%d kommentar",
- 1 => "%d kommentarer",
-);
-App::$strings["View %s's profile - %s"] = "Vis %s sin profil - %s";
-App::$strings["to"] = "til";
-App::$strings["via"] = "via";
-App::$strings["Wall-to-Wall"] = "vegg-til-vegg";
-App::$strings["via Wall-To-Wall:"] = "via vegg-til-vegg:";
-App::$strings["Save Bookmarks"] = "Lagre bokmerker";
-App::$strings["Add to Calendar"] = "Legg til i kalender";
-App::$strings["Mark all seen"] = "Merk alle som sett";
-App::$strings["__ctx:noun__ Likes"] = "Liker";
-App::$strings["__ctx:noun__ Dislikes"] = "Liker ikke";
-App::$strings["This is you"] = "Dette er deg";
-App::$strings["Image"] = "Bilde";
-App::$strings["Insert Link"] = "Sett inn lenke";
-App::$strings["Video"] = "Video";
-App::$strings["Can view my normal stream and posts"] = "Kan se min normale strøm og innlegg";
-App::$strings["Can view my default channel profile"] = "Kan se min standard kanalprofil";
-App::$strings["Can view my connections"] = "Kan se mine forbindelser";
-App::$strings["Can view my file storage and photos"] = "Kan se mine filer og bilder";
-App::$strings["Can view my webpages"] = "Kan se mine websider";
-App::$strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg";
-App::$strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")";
-App::$strings["Can comment on or like my posts"] = "Kan kommentere på eller like mine innlegg";
-App::$strings["Can send me private mail messages"] = "Kan sende meg private meldinger";
-App::$strings["Can like/dislike stuff"] = "Kan like/ikke like forskjellige greier";
-App::$strings["Profiles and things other than posts/comments"] = "Profiler og andre ting enn innlegg/kommentarer";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper";
-App::$strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)";
-App::$strings["Can write to my file storage and photos"] = "Kan skrive til mitt lager for filer og bilder";
-App::$strings["Can edit my webpages"] = "Kan endre mine websider";
-App::$strings["Can source my public posts in derived channels"] = "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap";
-App::$strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør";
-App::$strings["Social Networking"] = "Sosialt nettverk";
-App::$strings["Social - Mostly Public"] = "Sosial - ganske offentlig";
-App::$strings["Social - Restricted"] = "Sosial - begrenset";
-App::$strings["Social - Private"] = "Sosial - privat";
-App::$strings["Community Forum"] = "Forum for fellesskap";
-App::$strings["Forum - Mostly Public"] = "Forum - ganske offentlig";
-App::$strings["Forum - Restricted"] = "Forum - begrenset";
-App::$strings["Forum - Private"] = "Forum - privat";
-App::$strings["Feed Republish"] = "Republisering av strømmet innhold";
-App::$strings["Feed - Mostly Public"] = "Strøm - ganske offentlig";
-App::$strings["Feed - Restricted"] = "Strøm - begrenset";
-App::$strings["Special Purpose"] = "Spesiell bruk";
-App::$strings["Special - Celebrity/Soapbox"] = "Spesiell - kjendis/talerstol";
-App::$strings["Special - Group Repository"] = "Spesiell - gruppelager";
-App::$strings["Custom/Expert Mode"] = "Tilpasset/Ekspertmodus";
-App::$strings["Permission denied"] = "Tillatelse avvist";
-App::$strings["(Unknown)"] = "(Ukjent)";
-App::$strings["Visible to anybody on the internet."] = "Synlig for enhver på Internett.";
-App::$strings["Visible to you only."] = "Synlig bare for deg.";
-App::$strings["Visible to anybody in this network."] = "Synlig for enhver i dette nettverket.";
-App::$strings["Visible to anybody authenticated."] = "Synlig for enhver som er autentisert.";
-App::$strings["Visible to anybody on %s."] = "Synlig for alle på %s.";
-App::$strings["Visible to all connections."] = "Synlig for alle forbindelser.";
-App::$strings["Visible to approved connections."] = "Synlig for godkjente forbindelser.";
-App::$strings["Visible to specific connections."] = "Synlig for spesifikke forbindelser.";
-App::$strings["Item not found."] = "Elementet ble ikke funnet.";
-App::$strings["Privacy group not found."] = "Personverngruppen ble ikke funnet";
-App::$strings["Privacy group is empty."] = "Personverngruppen er tom.";
-App::$strings["Privacy group: %s"] = "Personverngruppe: %s";
-App::$strings["Connection: %s"] = "Forbindelse: %s";
-App::$strings["Connection not found."] = "Forbindelsen ble ikke funnet.";
-App::$strings["female"] = "kvinne";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s oppdaterte %2\$s sitt";
-App::$strings["male"] = "mann";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s oppdaterte %2\$s sitt";
-App::$strings["%1\$s updated their %2\$s"] = "%1\$s oppdaterte %2\$s deres";
-App::$strings["profile photo"] = "profilbilde";
App::$strings["Some blurb about what to do when you're new here"] = "En standardtekst om hva du bør gjøre som ny her";
-App::$strings["network"] = "nettverk";
-App::$strings["RSS"] = "RSS";
-App::$strings["Authorize application connection"] = "Tillat programforbindelse";
-App::$strings["Return to your app and insert this Securty Code:"] = "Gå tilbake til din app og legg inn denne sikkerhetskoden:";
-App::$strings["Please login to continue."] = "Vennligst logg inn for å fortsette.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?";
-App::$strings["App installed."] = "App installert.";
-App::$strings["Malformed app."] = "Feil oppsett for app-en.";
-App::$strings["Embed code"] = "Innbyggingskode";
-App::$strings["Edit App"] = "Endre app";
-App::$strings["Create App"] = "Lag app";
-App::$strings["Name of app"] = "Navn på app";
-App::$strings["Location (URL) of app"] = "Plassering (URL) til app";
-App::$strings["Description"] = "Beskrivelse";
-App::$strings["Photo icon URL"] = "Bildeikon URL";
-App::$strings["80 x 80 pixels - optional"] = "80 x80 pixler - valgfritt";
-App::$strings["Version ID"] = "Versjons-ID";
-App::$strings["Price of app"] = "Pris på app";
-App::$strings["Location (URL) to purchase app"] = "Plassering (URL) for å kjøpe app";
-App::$strings["Item not available."] = "Elementet er ikke tilgjengelig.";
-App::$strings["Invalid item."] = "Ugyldig element.";
-App::$strings["Channel not found."] = "Kanalen ble ikke funnet.";
App::$strings["Block Name"] = "Byggeklossens navn";
+App::$strings["Blocks"] = "Byggeklosser";
App::$strings["Block Title"] = "Byggeklossens tittel";
-App::$strings["Bookmark added"] = "Bokmerke lagt til";
-App::$strings["My Bookmarks"] = "Mine bokmerker";
-App::$strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker";
+App::$strings["Created"] = "Laget";
+App::$strings["Edited"] = "Endret";
+App::$strings["Share"] = "Del";
+App::$strings["View"] = "Vis";
+App::$strings["Channel not found."] = "Kanalen ble ikke funnet.";
+App::$strings["Permissions denied."] = "Tillatelse avvist.";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Link to Source"] = "Lenke til kilde";
+App::$strings["Edit Event"] = "Endre hendelse";
+App::$strings["Create Event"] = "Lag hendelse";
+App::$strings["Previous"] = "Forrige";
+App::$strings["Next"] = "Neste";
+App::$strings["Export"] = "Eksport";
+App::$strings["Import"] = "Importer";
+App::$strings["Submit"] = "Send";
+App::$strings["Today"] = "Idag";
App::$strings["You must be logged in to see this page."] = "Du må være innloegget for å se denne siden.";
+App::$strings["Posts and comments"] = "";
+App::$strings["Only posts"] = "";
App::$strings["Insufficient permissions. Request redirected to profile page."] = "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden.";
-App::$strings["Public"] = "Offentlig";
App::$strings["Room not found"] = "Rommet ble ikke funnet";
App::$strings["Leave Room"] = "Forlat rom";
-App::$strings["Delete This Room"] = "Slett dette rommet";
+App::$strings["Delete Room"] = "";
App::$strings["I am away right now"] = "Jeg er borte akkurat nå";
App::$strings["I am online"] = "Jeg er online";
App::$strings["Bookmark this room"] = "Bokmerk dette rommet";
+App::$strings["Please enter a link URL:"] = "Vennligst skriv inn en lenke URL:";
+App::$strings["Encrypt text"] = "Krypter tekst";
+App::$strings["Insert web link"] = "Sett inn web-lenke";
+App::$strings["Feature disabled."] = "";
App::$strings["New Chatroom"] = "Nytt chatrom";
-App::$strings["Chatroom Name"] = "Navn på chatrom";
+App::$strings["Chatroom name"] = "";
App::$strings["Expiration of chats (minutes)"] = "Chat utgår (antall minutter)";
+App::$strings["Permissions"] = "Tillatelser";
App::$strings["%1\$s's Chatrooms"] = "%1\$s sine chatrom";
+App::$strings["No chatrooms available"] = "";
+App::$strings["Create New"] = "";
+App::$strings["Expiration"] = "";
+App::$strings["min"] = "";
App::$strings["Away"] = "Borte";
App::$strings["Online"] = "Online";
-App::$strings["No channel."] = "Ingen kanal.";
-App::$strings["Common connections"] = "Felles forbindelser";
-App::$strings["No connections in common."] = "Ingen forbindelser felles.";
+App::$strings["Invalid item."] = "Ugyldig element.";
+App::$strings["Bookmark added"] = "Bokmerke lagt til";
+App::$strings["My Bookmarks"] = "Mine bokmerker";
+App::$strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker";
App::$strings["Continue"] = "Fortsett";
App::$strings["Premium Channel Setup"] = "Premiumkanal-oppsett";
App::$strings["Enable premium channel connection restrictions"] = "Slå på restriksjoner for forbindelse med premiumkanal";
@@ -1080,42 +94,18 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)";
App::$strings["Restricted or Premium Channel"] = "Begrenset kanal eller premiumkanal";
-App::$strings["Blocked"] = "Blokkert";
-App::$strings["Ignored"] = "Ignorert";
-App::$strings["Hidden"] = "Skjult";
-App::$strings["Archived"] = "Arkivert";
-App::$strings["New Connections"] = "Nye forbindelser";
-App::$strings["Show pending (new) connections"] = "Vis ventende (nye) forbindelser";
-App::$strings["All Connections"] = "Alle forbindelser";
-App::$strings["Show all connections"] = "Vis alle forbindelser";
-App::$strings["Only show blocked connections"] = "Vis bare forbindelser som er blokkert";
-App::$strings["Only show ignored connections"] = "Vis bare ignorerte forbindelser";
-App::$strings["Only show archived connections"] = "Vis bare arkiverte forbindelser";
-App::$strings["Only show hidden connections"] = "Vis bare skjulte forbindelser";
-App::$strings["Pending approval"] = "Venter på godkjenning";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Endre forbindelse";
-App::$strings["Delete connection"] = "Slett forbindelse";
-App::$strings["Channel address"] = "Kanaladresse";
-App::$strings["Network"] = "Nettverk";
-App::$strings["Status"] = "Status";
-App::$strings["Connected"] = "Forbundet";
-App::$strings["Approve connection"] = "Godkjenn forbindelse";
-App::$strings["Approve"] = "Godkjenn";
-App::$strings["Ignore connection"] = "Ignorer forbindelse";
-App::$strings["Ignore"] = "Ignorer";
-App::$strings["Recent activity"] = "Nylig aktivitet";
-App::$strings["Search your connections"] = "Søk blant dine forbindelser";
-App::$strings["Connections search"] = "Søk blant forbindelser";
App::$strings["Could not access contact record."] = "Fikk ikke tilgang til kontaktinformasjonen.";
App::$strings["Could not locate selected profile."] = "Fant ikke valgt profil.";
App::$strings["Connection updated."] = "Forbindelsen er oppdatert.";
App::$strings["Failed to update connection record."] = "Mislyktes med å oppdatere forbindelsesinformasjonen.";
App::$strings["is now connected to"] = "er nå forbundet til";
+App::$strings["No"] = "Nei";
+App::$strings["Yes"] = "Ja";
App::$strings["Could not access address book record."] = "Fikk ikke tilgang til informasjonen i adresseboken.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Oppfrisking mislyktes - kanalen er for øyeblikket utilgjengelig.";
App::$strings["Unable to set address book parameters."] = "Ikke i stand til å angi parametre for adresseboken.";
App::$strings["Connection has been removed."] = "Forbindelsen har blitt fjernet.";
+App::$strings["View Profile"] = "Vis profil";
App::$strings["View %s's profile"] = "Vis %s sin profil";
App::$strings["Refresh Permissions"] = "Oppfrisk tillatelser";
App::$strings["Fetch updated permissions"] = "Hent oppdaterte tillatelser";
@@ -1126,6 +116,7 @@ App::$strings["Block"] = "Blokker";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blokker eller fjern blokkering av all kommunikasjon med denne forbindelsen";
App::$strings["This connection is blocked!"] = "Denne forbindelsen er blokkert!";
App::$strings["Unignore"] = "Ikke ignorer lenger";
+App::$strings["Ignore"] = "Ignorer";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorer eller fjern ignorering av all inngående kommunikasjon fra denne forbindelsen";
App::$strings["This connection is ignored!"] = "Denne forbindelsen er ignorert!";
App::$strings["Unarchive"] = "Ikke arkiver lenger";
@@ -1137,18 +128,27 @@ App::$strings["Hide"] = "Skjul";
App::$strings["Hide or Unhide this connection from your other connections"] = "Skjul eller fjern skjuling av denne forbindelsen fra dine andre forbindelser";
App::$strings["This connection is hidden!"] = "Denne forbindelsen er skjult!";
App::$strings["Delete this connection"] = "Slett denne forbindelsen";
+App::$strings["Me"] = "Meg";
+App::$strings["Family"] = "Familie";
+App::$strings["Friends"] = "Venner";
+App::$strings["Acquaintances"] = "Bekjente";
+App::$strings["All"] = "Alle";
App::$strings["Approve this connection"] = "Godta denne forbindelsen";
App::$strings["Accept connection to allow communication"] = "Godta denne forbindelsen for å tillate kommunikasjon";
App::$strings["Set Affinity"] = "Angi nærhet";
App::$strings["Set Profile"] = "Angi profil";
App::$strings["Set Affinity & Profile"] = "Angi nærhet og profil";
App::$strings["none"] = "ingen";
+App::$strings["Connection Default Permissions"] = "Forbindelsens standard tillatelser";
+App::$strings["Connection: %s"] = "Forbindelse: %s";
App::$strings["Apply these permissions automatically"] = "Bruk disse tillatelsene automatisk";
App::$strings["Connection requests will be approved without your interaction"] = "Forespørsler om forbindelse vil bli godkjent automatisk";
App::$strings["This connection's primary address is"] = "Denne forbindelsens primære adresse er";
App::$strings["Available locations:"] = "Tilgjengelige plasseringer:";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Tillatelsene angitt på denne siden gjøres gjeldende for alle nye forbindelser.";
+App::$strings["Connection Tools"] = "";
App::$strings["Slide to adjust your degree of friendship"] = "Flytt for å justere din grad av vennskap";
+App::$strings["Rating"] = "Vurdering";
App::$strings["Slide to adjust your rating"] = "Flytt for å justere din vurdering";
App::$strings["Optionally explain your rating"] = "Velg om du vil forklare vurderingen";
App::$strings["Custom Filter"] = "Tilpasset filter";
@@ -1165,7 +165,6 @@ App::$strings["Individual Permissions"] = "Individuelle tillatelser";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan <strong>ikke</strong> endre arvede innstillingene her.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan endre disse innstillingene her, men de vil ikke få noen effekt før de arvede innstillingene endres.";
App::$strings["Last update:"] = "Siste oppdatering:";
-App::$strings["\$Projectname channel"] = "\$Projectname-kanal";
App::$strings["Public access denied."] = "Offentlig tilgang avvist.";
App::$strings["%d rating"] = array(
0 => "%d vurdering",
@@ -1174,14 +173,21 @@ App::$strings["%d rating"] = array(
App::$strings["Gender: "] = "Kjønn:";
App::$strings["Status: "] = "Status:";
App::$strings["Homepage: "] = "Hjemmeside:";
+App::$strings["Age:"] = "Alder:";
+App::$strings["Location:"] = "Plassering:";
App::$strings["Description:"] = "Beskrivelse:";
+App::$strings["Hometown:"] = "Hjemby:";
+App::$strings["About:"] = "Om:";
+App::$strings["Connect"] = "Koble";
App::$strings["Public Forum:"] = "Offentlig forum:";
App::$strings["Keywords: "] = "Nøkkelord:";
App::$strings["Don't suggest"] = "Ikke foreslå";
App::$strings["Common connections:"] = "Felles forbindelser:";
App::$strings["Global Directory"] = "Global katalog";
App::$strings["Local Directory"] = "Lokal katalog";
+App::$strings["Find"] = "Finn";
App::$strings["Finding:"] = "Finner:";
+App::$strings["Channel Suggestions"] = "Kanalforslag";
App::$strings["next page"] = "Neste side";
App::$strings["previous page"] = "Forrige side";
App::$strings["Sort options"] = "Sorteringsvalg";
@@ -1190,46 +196,76 @@ App::$strings["Reverse Alphabetic"] = "Omvendt alfabetisk";
App::$strings["Newest to Oldest"] = "Nyest til eldst";
App::$strings["Oldest to Newest"] = "Eldst til nyest";
App::$strings["No entries (some entries may be hidden)."] = "Ingen oppføringer (noen oppføringer kan være skjult).";
-App::$strings["This site is not a directory server"] = "Dette nettstedet er ikke en katalogtjener";
-App::$strings["This directory server requires an access token"] = "Denne katalogtjeneren krever en tilgangsnøkkel (access token)";
-App::$strings["Invalid message"] = "Ugyldig melding";
-App::$strings["no results"] = "ingen resultater";
-App::$strings["Delivery report for %1\$s"] = "Leveringsrapport for %1\$s";
-App::$strings["channel sync processed"] = "Kanalsynkronisering er behandlet";
-App::$strings["queued"] = "lagt i kø";
-App::$strings["posted"] = "lagt inn";
-App::$strings["accepted for delivery"] = "akseptert for levering";
-App::$strings["updated"] = "oppdatert";
-App::$strings["update ignored"] = "oppdatering ignorert";
-App::$strings["permission denied"] = "tillatelse avvist";
-App::$strings["recipient not found"] = "mottaker ble ikke funnet";
-App::$strings["mail recalled"] = "melding tilbakekalt";
-App::$strings["duplicate mail received"] = "duplikat av melding mottatt";
-App::$strings["mail delivered"] = "melding mottatt";
+App::$strings["Item not found."] = "Elementet ble ikke funnet.";
App::$strings["Item not found"] = "Elementet ble ikke funnet.";
-App::$strings["Delete block?"] = "Slett byggeklossen?";
-App::$strings["Insert YouTube video"] = "Sett inn YouTube-video";
-App::$strings["Insert Vorbis [.ogg] video"] = "Sett inn Vorbis [.ogg] video";
-App::$strings["Insert Vorbis [.ogg] audio"] = "Legg i";
+App::$strings["Title (optional)"] = "Tittel (valgfri)";
App::$strings["Edit Block"] = "Endre byggekloss";
-App::$strings["Delete layout?"] = "Slett layout?";
-App::$strings["Layout Description (Optional)"] = "Layoutens beskrivelse (valgfritt)";
-App::$strings["Layout Name"] = "Layout-navn";
-App::$strings["Edit Layout"] = "Endre layout";
+App::$strings["No channel."] = "Ingen kanal.";
+App::$strings["Common connections"] = "Felles forbindelser";
+App::$strings["No connections in common."] = "Ingen forbindelser felles.";
+App::$strings["Blocked"] = "Blokkert";
+App::$strings["Ignored"] = "Ignorert";
+App::$strings["Hidden"] = "Skjult";
+App::$strings["Archived"] = "Arkivert";
+App::$strings["New"] = "Nye";
+App::$strings["New Connections"] = "Nye forbindelser";
+App::$strings["Show pending (new) connections"] = "Vis ventende (nye) forbindelser";
+App::$strings["All Connections"] = "Alle forbindelser";
+App::$strings["Show all connections"] = "Vis alle forbindelser";
+App::$strings["Only show blocked connections"] = "Vis bare forbindelser som er blokkert";
+App::$strings["Only show ignored connections"] = "Vis bare ignorerte forbindelser";
+App::$strings["Only show archived connections"] = "Vis bare arkiverte forbindelser";
+App::$strings["Only show hidden connections"] = "Vis bare skjulte forbindelser";
+App::$strings["Pending approval"] = "Venter på godkjenning";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Endre forbindelse";
+App::$strings["Delete connection"] = "Slett forbindelse";
+App::$strings["Channel address"] = "Kanaladresse";
+App::$strings["Network"] = "Nettverk";
+App::$strings["Status"] = "Status";
+App::$strings["Connected"] = "Forbundet";
+App::$strings["Approve connection"] = "Godkjenn forbindelse";
+App::$strings["Approve"] = "Godkjenn";
+App::$strings["Ignore connection"] = "Ignorer forbindelse";
+App::$strings["Recent activity"] = "Nylig aktivitet";
+App::$strings["Connections"] = "Forbindelser";
+App::$strings["Search"] = "Søk";
+App::$strings["Search your connections"] = "Søk blant dine forbindelser";
+App::$strings["Connections search"] = "Søk blant forbindelser";
+App::$strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes.";
+App::$strings["Cover Photos"] = "Forsidebilder";
+App::$strings["Image resize failed."] = "Endring av bildestørrelse mislyktes.";
+App::$strings["Unable to process image"] = "Kan ikke behandle bildet";
+App::$strings["Image upload failed."] = "Opplasting av bildet mislyktes.";
+App::$strings["Unable to process image."] = "Kan ikke behandle bildet.";
+App::$strings["female"] = "kvinne";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s oppdaterte %2\$s sitt";
+App::$strings["male"] = "mann";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s oppdaterte %2\$s sitt";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s oppdaterte %2\$s deres";
+App::$strings["cover photo"] = "forsidebilde";
+App::$strings["Photo not available."] = "Bildet er ikke tilgjengelig.";
+App::$strings["Upload File:"] = "Last opp fil:";
+App::$strings["Select a profile:"] = "Velg en profil:";
+App::$strings["Upload Cover Photo"] = "Last opp forsidebilde";
+App::$strings["or"] = "eller";
+App::$strings["skip this step"] = "hopp over dette steget";
+App::$strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum";
+App::$strings["Crop Image"] = "Beskjær bildet";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning.";
+App::$strings["Done Editing"] = "Avslutt redigering";
App::$strings["Item is not editable"] = "Elementet kan ikke endres";
-App::$strings["Delete item?"] = "Slett element?";
App::$strings["Edit post"] = "Endre innlegg";
-App::$strings["Delete webpage?"] = "Slett webside?";
-App::$strings["Page link title"] = "Sidens lenketittel";
-App::$strings["Edit Webpage"] = "Endre webside";
App::$strings["Calendar entries imported."] = "Kalenderhendelsene er importert.";
App::$strings["No calendar entries found."] = "Ingen kalenderhendelser funnet.";
App::$strings["Event can not end before it has started."] = "Hendelsen kan ikke slutte før den starter.";
App::$strings["Unable to generate preview."] = "Klarer ikke å lage forhåndsvisning.";
App::$strings["Event title and start time are required."] = "Hendelsestittel og starttidspunkt er påkrevd.";
App::$strings["Event not found."] = "Hendelsen ble ikke funnet.";
+App::$strings["event"] = "hendelse";
App::$strings["Edit event title"] = "Endre tittel på hendelse";
App::$strings["Event title"] = "Tittel på hendelse";
+App::$strings["Required"] = "Påkrevd";
App::$strings["Categories (comma-separated list)"] = "Kategorier (kommaseparert liste)";
App::$strings["Edit Category"] = "Endre kategori";
App::$strings["Category"] = "Kategori";
@@ -1241,41 +277,50 @@ App::$strings["Finish date and time"] = "Sluttdato og tidspunkt";
App::$strings["Adjust for viewer timezone"] = "Juster i forhold til tilskuerens tidssone";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager.";
App::$strings["Edit Description"] = "Endre beskrivelse";
+App::$strings["Description"] = "Beskrivelse";
App::$strings["Edit Location"] = "Endre plassering";
+App::$strings["Location"] = "Plassering";
App::$strings["Share this event"] = "Del denne hendelsen";
+App::$strings["Preview"] = "Forhåndsvisning";
+App::$strings["Permission settings"] = "Tillatelser - innstillinger";
App::$strings["Advanced Options"] = "Avanserte alternativer";
-App::$strings["l, F j"] = "l, F j";
App::$strings["Edit event"] = "Endre hendelse";
App::$strings["Delete event"] = "Slett hendelse";
App::$strings["calendar"] = "kalender";
-App::$strings["Edit Event"] = "Endre hendelse";
-App::$strings["Create Event"] = "Lag hendelse";
-App::$strings["Previous"] = "Forrige";
-App::$strings["Next"] = "Neste";
-App::$strings["Today"] = "Idag";
App::$strings["Event removed"] = "Hendelse slettet";
App::$strings["Failed to remove event"] = "Mislyktes med å slette hendelse";
-App::$strings["Share content from Firefox to \$Projectname"] = "Del innhold fra Firefox til \$Projectname";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Skru på Firefox \$Projectname tilbyderen";
+App::$strings["Photos"] = "Bilder";
+App::$strings["Cancel"] = "Avbryt";
+App::$strings["This site is not a directory server"] = "Dette nettstedet er ikke en katalogtjener";
+App::$strings["This directory server requires an access token"] = "Denne katalogtjeneren krever en tilgangsnøkkel (access token)";
+App::$strings["Save to Folder:"] = "Lagre til mappe:";
App::$strings["- select -"] = "- velg -";
-App::$strings["Permission Denied."] = "Tillatelse avvist.";
-App::$strings["File not found."] = "Filen ble ikke funnet.";
-App::$strings["Edit file permissions"] = "Endre filtillatelser";
-App::$strings["Set/edit permissions"] = "Angi/endre tillatelser";
-App::$strings["Include all files and sub folders"] = "Inkluder alle filer og undermapper";
-App::$strings["Return to file list"] = "Gå tilbake til filoversikten";
-App::$strings["Copy/paste this code to attach file to a post"] = "Kopier og lim inn denne koden for å legge til filen i et innlegg";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Kopier og lim inn denne URL-en for å lenke til filen fra en webside";
-App::$strings["Share this file"] = "Del denne filen";
-App::$strings["Show URL to this file"] = "Vis URLen til denne filen";
-App::$strings["Notify your contacts about this file"] = "Varsle dine kontakter om denne filen";
+App::$strings["Save"] = "Lagre";
+App::$strings["Invalid message"] = "Ugyldig melding";
+App::$strings["no results"] = "ingen resultater";
+App::$strings["Delivery report for %1\$s"] = "Leveringsrapport for %1\$s";
+App::$strings["channel sync processed"] = "Kanalsynkronisering er behandlet";
+App::$strings["queued"] = "lagt i kø";
+App::$strings["posted"] = "lagt inn";
+App::$strings["accepted for delivery"] = "akseptert for levering";
+App::$strings["updated"] = "oppdatert";
+App::$strings["update ignored"] = "oppdatering ignorert";
+App::$strings["permission denied"] = "tillatelse avvist";
+App::$strings["recipient not found"] = "mottaker ble ikke funnet";
+App::$strings["mail recalled"] = "melding tilbakekalt";
+App::$strings["duplicate mail received"] = "duplikat av melding mottatt";
+App::$strings["mail delivered"] = "melding mottatt";
+App::$strings["Layout Name"] = "Layout-navn";
+App::$strings["Layout Description (Optional)"] = "Layoutens beskrivelse (valgfritt)";
+App::$strings["Edit Layout"] = "Endre layout";
+App::$strings["Page link"] = "";
+App::$strings["Edit Webpage"] = "Endre webside";
App::$strings["Channel added."] = "Kanal lagt til.";
-App::$strings["Contact not found."] = "Kontakten ble ikke funnet.";
-App::$strings["Friend suggestion sent."] = "Venneforespørsel sendt.";
-App::$strings["Suggest Friends"] = "Foreslå venner";
-App::$strings["Suggest a friend for %s"] = "Foreslå en venn for %s";
+App::$strings["network"] = "nettverk";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "Personverngruppen er opprettet.";
App::$strings["Could not create privacy group."] = "Kunne ikke opprette personverngruppen.";
+App::$strings["Privacy group not found."] = "Personverngruppen ble ikke funnet";
App::$strings["Privacy group updated."] = "Personverngruppen er oppdatert.";
App::$strings["Create a group of channels."] = "Lag en gruppe av kanaler.";
App::$strings["Privacy group name: "] = "Personverngruppens navn:";
@@ -1286,37 +331,37 @@ App::$strings["Privacy group editor"] = "Personverngruppebehandler";
App::$strings["Members"] = "Medlemmer";
App::$strings["All Connected Channels"] = "Alle tilkoblede kanaler";
App::$strings["Click on a channel to add or remove."] = "Klikk på en kanal for å legge til eller fjerne.";
+App::$strings["Share content from Firefox to \$Projectname"] = "Del innhold fra Firefox til \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Skru på Firefox \$Projectname tilbyderen";
+App::$strings["Authorize application connection"] = "Tillat programforbindelse";
+App::$strings["Return to your app and insert this Securty Code:"] = "Gå tilbake til din app og legg inn denne sikkerhetskoden:";
+App::$strings["Please login to continue."] = "Vennligst logg inn for å fortsette.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?";
App::$strings["Documentation Search"] = "Søk i dokumentasjon";
App::$strings["Help:"] = "Hjelp:";
+App::$strings["Help"] = "Hjelp";
App::$strings["\$Projectname Documentation"] = "\$Projectname dokumentasjon";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "Velkommen til %s";
-App::$strings["First Name"] = "Fornavn";
-App::$strings["Last Name"] = "Etternavn";
-App::$strings["Nickname"] = "Kallenavn";
-App::$strings["Full Name"] = "Fullt navn";
-App::$strings["Profile Photo 16px"] = "Profilbilde 16px";
-App::$strings["Profile Photo 32px"] = "Profilbilde 32px";
-App::$strings["Profile Photo 48px"] = "Profilbilde 48px";
-App::$strings["Profile Photo 64px"] = "Profilbilde 64px";
-App::$strings["Profile Photo 80px"] = "Profilbilde 80px";
-App::$strings["Profile Photo 128px"] = "Profilbilde 128px";
-App::$strings["Timezone"] = "Tidssone";
-App::$strings["Homepage URL"] = "Hjemmeside URL";
-App::$strings["Birth Year"] = "Fødselsår";
-App::$strings["Birth Month"] = "Fødselsmåne";
-App::$strings["Birth Day"] = "Fødselsdag";
-App::$strings["Birthdate"] = "Fødselsdato";
-App::$strings["Gender"] = "Kjønn";
-App::$strings["%s element installed"] = "%s element installert";
-App::$strings["%s element installation failed"] = "Installasjon av %s-element mislyktes";
+App::$strings["Permission Denied."] = "Tillatelse avvist.";
+App::$strings["File not found."] = "Filen ble ikke funnet.";
+App::$strings["Edit file permissions"] = "Endre filtillatelser";
+App::$strings["Set/edit permissions"] = "Angi/endre tillatelser";
+App::$strings["Include all files and sub folders"] = "Inkluder alle filer og undermapper";
+App::$strings["Return to file list"] = "Gå tilbake til filoversikten";
+App::$strings["Copy/paste this code to attach file to a post"] = "Kopier og lim inn denne koden for å legge til filen i et innlegg";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Kopier og lim inn denne URL-en for å lenke til filen fra en webside";
+App::$strings["Share this file"] = "Del denne filen";
+App::$strings["Show URL to this file"] = "Vis URLen til denne filen";
+App::$strings["Notify your contacts about this file"] = "Varsle dine kontakter om denne filen";
+App::$strings["Apps"] = "Apper";
+App::$strings["Item not available."] = "Elementet er ikke tilgjengelig.";
App::$strings["Your service plan only allows %d channels."] = "Din tjenesteplan tillater bare %d kanaler.";
App::$strings["Nothing to import."] = "Ingenting å importere.";
App::$strings["Unable to download data from old server"] = "Ikke i stand til å laste ned data fra gammel tjener";
App::$strings["Imported file is empty."] = "Importert fil er tom.";
App::$strings["Warning: Database versions differ by %1\$d updates."] = "Advarsel: databaseversjoner avviker med %1\$d oppdateringer.";
-App::$strings["Server platform is not compatible. Operation not permitted."] = "Tjenerplattformen er ikke kompatibel. Handlingen er ikke tillatt.";
+App::$strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes.";
App::$strings["No channel. Import failed."] = "Ingen kanal. Import mislyktes.";
+App::$strings["Import completed."] = "Import ferdig.";
App::$strings["You must be logged in to use this feature."] = "Du må være innlogget for å bruke denne funksjonen.";
App::$strings["Import Channel"] = "Importer kanal";
App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil.";
@@ -1329,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Gjør dette nettstedet til min primære plassering";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig.";
-App::$strings["Import completed"] = "Import ferdig";
-App::$strings["Import Items"] = "Importer elementer";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil.";
-App::$strings["Total invitation limit exceeded."] = "Grensen for totalt antall invitasjoner er overskredet.";
-App::$strings["%s : Not a valid email address."] = "%s : ikke en gyldig e-postadresse.";
-App::$strings["Please join us on \$Projectname"] = "Bli med oss på \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted.";
-App::$strings["%s : Message delivery failed."] = "%s : meldingslevering feilet.";
-App::$strings["%d message sent."] = array(
- 0 => "%d melding sendt.",
- 1 => "%d meldinger sendt.",
-);
-App::$strings["You have no more invitations available"] = "Du har ikke flere invitasjoner tilgjengelig";
-App::$strings["Send invitations"] = "Send invitasjoner";
-App::$strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:";
-App::$strings["Your message:"] = "Din melding:";
-App::$strings["Please join my community on \$Projectname."] = "Du er velkommen til å bli med i mitt fellesskap på \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Du må oppgi denne invitasjonskoden:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrer ved enhver \$Projectname-lokasjon (de er alle forbundet med hverandre)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Skriv inn min \$Projectname-adresse i nettstedets søkefelt.";
-App::$strings["or visit"] = "eller besøke";
-App::$strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]";
App::$strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg.";
App::$strings["Empty post discarded."] = "Tomt innlegg forkastet.";
App::$strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen.";
@@ -1359,16 +382,52 @@ App::$strings["System error. Post not saved."] = "Systemfeil. Innlegg ble ikke l
App::$strings["Unable to obtain post information from database."] = "Ikke i stand til å få tak i informasjon om innlegg fra databasen.";
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Du har nådd din grense på %1$.0f startinnlegg.";
App::$strings["You have reached your limit of %1$.0f webpages."] = "Du har nådd din grense på %1$.0f websider.";
+App::$strings["Layouts"] = "Layout";
App::$strings["Comanche page description language help"] = "Hjelp med Comanche sidebeskrivelsesspråk";
App::$strings["Layout Description"] = "Layout-beskrivelse";
App::$strings["Download PDL file"] = "Last ned PDL-fil";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Velkommen til %s";
+App::$strings["First Name"] = "Fornavn";
+App::$strings["Last Name"] = "Etternavn";
+App::$strings["Nickname"] = "Kallenavn";
+App::$strings["Full Name"] = "Fullt navn";
+App::$strings["Email"] = "E-post";
+App::$strings["Profile Photo"] = "Profilbilde";
+App::$strings["Profile Photo 16px"] = "Profilbilde 16px";
+App::$strings["Profile Photo 32px"] = "Profilbilde 32px";
+App::$strings["Profile Photo 48px"] = "Profilbilde 48px";
+App::$strings["Profile Photo 64px"] = "Profilbilde 64px";
+App::$strings["Profile Photo 80px"] = "Profilbilde 80px";
+App::$strings["Profile Photo 128px"] = "Profilbilde 128px";
+App::$strings["Timezone"] = "Tidssone";
+App::$strings["Homepage URL"] = "Hjemmeside URL";
+App::$strings["Language"] = "Språk";
+App::$strings["Birth Year"] = "Fødselsår";
+App::$strings["Birth Month"] = "Fødselsmåne";
+App::$strings["Birth Day"] = "Fødselsdag";
+App::$strings["Birthdate"] = "Fødselsdato";
+App::$strings["Gender"] = "Kjønn";
+App::$strings["Male"] = "Mannlig";
+App::$strings["Female"] = "Kvinnelig";
+App::$strings["webpage"] = "nettside";
+App::$strings["block"] = "byggekloss";
+App::$strings["layout"] = "layout";
+App::$strings["menu"] = "meny";
+App::$strings["%s element installed"] = "%s element installert";
+App::$strings["%s element installation failed"] = "Installasjon av %s-element mislyktes";
App::$strings["Like/Dislike"] = "Liker/Liker ikke";
App::$strings["This action is restricted to members."] = "Denne handlingen er begrenset til medlemmer.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Vennligst <a href=\"rmagic\">logg inn med din \$Projectname ID</a> eller <a href=\"register\">registrer deg som et nytt \$Projectname-medlem</a> for å fortsette";
App::$strings["Invalid request."] = "Ugyldig forespørsel.";
+App::$strings["channel"] = "kanal";
App::$strings["thing"] = "ting";
App::$strings["Channel unavailable."] = "Kanalen er utilgjengelig.";
App::$strings["Previous action reversed."] = "Forrige handling er omgjort.";
+App::$strings["photo"] = "foto";
+App::$strings["status"] = "status";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s liker %2\$s sin %3\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s liker ikke %2\$s sin %3\$s";
App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s er enig med %2\$s sin %3\$s";
App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s er ikke enig med %2\$s sin %3\$s";
App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s avstår fra å mene noe om %2\$s sin %3\$s";
@@ -1377,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s deltar ikke på %
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s deltar kanskje på %2\$ss %3\$s";
App::$strings["Action completed."] = "Handling ferdig.";
App::$strings["Thank you."] = "Tusen takk.";
+App::$strings["Import completed"] = "Import ferdig";
+App::$strings["Import Items"] = "Importer elementer";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil.";
+App::$strings["Total invitation limit exceeded."] = "Grensen for totalt antall invitasjoner er overskredet.";
+App::$strings["%s : Not a valid email address."] = "%s : ikke en gyldig e-postadresse.";
+App::$strings["Please join us on \$Projectname"] = "Bli med oss på \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted.";
+App::$strings["%s : Message delivery failed."] = "%s : meldingslevering feilet.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d melding sendt.",
+ 1 => "%d meldinger sendt.",
+);
+App::$strings["You have no more invitations available"] = "Du har ikke flere invitasjoner tilgjengelig";
+App::$strings["Send invitations"] = "Send invitasjoner";
+App::$strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:";
+App::$strings["Your message:"] = "Din melding:";
+App::$strings["Please join my community on \$Projectname."] = "Du er velkommen til å bli med i mitt fellesskap på \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Du må oppgi denne invitasjonskoden:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrer ved enhver \$Projectname-lokasjon (de er alle forbundet med hverandre)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Skriv inn min \$Projectname-adresse i nettstedets søkefelt.";
+App::$strings["or visit"] = "eller besøke";
+App::$strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]";
App::$strings["Remote privacy information not available."] = "Ekstern personverninformasjon er ikke tilgjengelig.";
App::$strings["Visible to:"] = "Synlig for:";
App::$strings["Location not found."] = "Plassering er ikke funnet.";
@@ -1385,16 +466,13 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Synkroniserer plasseringer";
App::$strings["No locations found."] = "Ingen plasseringer ble funnet.";
App::$strings["Manage Channel Locations"] = "Håndter kanalplasseringer";
-App::$strings["Location (address)"] = "Plassering (adresse)";
-App::$strings["Primary Location"] = "Hovedplassering";
-App::$strings["Drop location"] = "Slett plassering";
-App::$strings["Sync now"] = "Synkroniser nå";
+App::$strings["Address"] = "Adresse";
+App::$strings["Primary"] = "";
+App::$strings["Drop"] = "Slett";
+App::$strings["Sync Now"] = "";
App::$strings["Please wait several minutes between consecutive operations."] = "Vennligst vent flere minutter mellom hver etterfølgende operasjon.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Når mulig, fjern en plassering ved å logge inn på det nettstedet eller den hub-en og fjern din kanal.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Bruk dette skjemaet for å fjerne plasseringen hvis huben ikke er i drift lenger.";
-App::$strings["sent you a private message"] = "sendte deg en privat melding";
-App::$strings["added your channel"] = "la til din kanal";
-App::$strings["posted an event"] = "la ut en hendelse";
App::$strings["Hub not found."] = "Hubben ble ikke funnet.";
App::$strings["Unable to lookup recipient."] = "Ikke i stand til å slå opp mottaker.";
App::$strings["Unable to communicate with requested channel."] = "Ikke i stand til å kommunisere med forespurt kanal.";
@@ -1403,11 +481,14 @@ App::$strings["Selected channel has private message restrictions. Send failed."]
App::$strings["Messages"] = "Meldinger";
App::$strings["Message recalled."] = "Innlegg tilbakekalt.";
App::$strings["Conversation removed."] = "Samtale fjernet.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Utløper YYYY-MM-DD HH:MM";
App::$strings["Requested channel is not in this network"] = "Forespurt kanal er ikke tilgjengelig i dette nettverket.";
App::$strings["Send Private Message"] = "Send privat melding";
App::$strings["To:"] = "Til:";
App::$strings["Subject:"] = "Emne:";
+App::$strings["Attach file"] = "Legg ved fil";
App::$strings["Send"] = "Send";
+App::$strings["Set expiration date"] = "Angi utløpsdato";
App::$strings["Delete message"] = "Slett melding";
App::$strings["Delivery report"] = "Leveringsrapport";
App::$strings["Recall message"] = "Tilbakekall innlegg";
@@ -1418,17 +499,30 @@ App::$strings["Send Reply"] = "Send svar";
App::$strings["Your message for %s (%s):"] = "Din melding til %s (%s):";
App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har laget %1$.0f av %2$.0f tillatte kanaler.";
App::$strings["Create a new channel"] = "Lag en ny kanal";
+App::$strings["Channel Manager"] = "Kanalstyring";
App::$strings["Current Channel"] = "Gjeldende kanal";
App::$strings["Switch to one of your channels by selecting it."] = "Bytt til en av dine kanaler ved å velge den.";
App::$strings["Default Channel"] = "Standardkanal";
App::$strings["Make Default"] = "Gjør til standard";
App::$strings["%d new messages"] = "%d nye meldinger";
App::$strings["%d new introductions"] = "%d nye introduksjoner";
-App::$strings["Delegated Channels"] = "Delegerte kanaler";
-App::$strings["Profile Match"] = "Profiltreff";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil.";
-App::$strings["is interested in:"] = "er interessert i:";
-App::$strings["No matches"] = "Ingen treff";
+App::$strings["Delegated Channel"] = "";
+App::$strings["No valid account found."] = "Ingen gyldig konto funnet.";
+App::$strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din.";
+App::$strings["Site Member (%s)"] = "Nettstedsmedlem (%s)";
+App::$strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes.";
+App::$strings["Password Reset"] = "Tilbakestill passord";
+App::$strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt.";
+App::$strings["Your new password is"] = "Ditt nye passord er";
+App::$strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du";
+App::$strings["click here to login"] = "klikke her for å logge inn";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging.";
+App::$strings["Your password has changed at %s"] = "Ditt passord er endret hos %s";
+App::$strings["Forgot your Password?"] = "Glemt passord ditt?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner.";
+App::$strings["Email Address"] = "E-postadresse";
+App::$strings["Reset"] = "Tilbakestill";
App::$strings["Unable to update menu."] = "Ikke i stand til å oppdatere meny.";
App::$strings["Unable to create menu."] = "Ikke i stand til å lage meny.";
App::$strings["Menu Name"] = "Menynavn";
@@ -1438,7 +532,7 @@ App::$strings["Visible on webpage - leave empty for no title"] = "Synlig på web
App::$strings["Allow Bookmarks"] = "Tillat bokmerker";
App::$strings["Menu may be used to store saved bookmarks"] = "Menyen kan brukes til å lagre lagrede bokmerker";
App::$strings["Submit and proceed"] = "Send inn og fortsett";
-App::$strings["Drop"] = "Slett";
+App::$strings["Menus"] = "Menyer";
App::$strings["Bookmarks allowed"] = "Bokmerker tillatt";
App::$strings["Delete this menu"] = "Slett denne menyen";
App::$strings["Edit menu contents"] = "Endre menyinnholdet";
@@ -1453,6 +547,22 @@ App::$strings["Menu title"] = "Menytittel";
App::$strings["Menu title as seen by others"] = "Menytittelen andre ser";
App::$strings["Allow bookmarks"] = "Tillat bokmerker";
App::$strings["Not found."] = "Ikke funnet.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s er %2\$s";
+App::$strings["Mood"] = "Stemning";
+App::$strings["Set your current mood and tell your friends"] = "Angi ditt nåværende humør og fortell dine venner";
+App::$strings["Profile Match"] = "Profiltreff";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil.";
+App::$strings["is interested in:"] = "er interessert i:";
+App::$strings["No matches"] = "Ingen treff";
+App::$strings["No such group"] = "Gruppen finnes ikke";
+App::$strings["No such channel"] = "Ingen slik kanal";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Søkeresultat for:";
+App::$strings["Privacy group is empty"] = "Personverngruppen er tom";
+App::$strings["Privacy group: "] = "Personverngruppe:";
+App::$strings["Invalid connection."] = "Ugyldig forbindelse.";
+App::$strings["No more system notifications."] = "Ingen flere systemvarsler.";
+App::$strings["System Notifications"] = "Systemvarsler";
App::$strings["Unable to create element."] = "Klarer ikke å lage element.";
App::$strings["Unable to update menu element."] = "Ikke i stand til å oppdatere menyelement.";
App::$strings["Unable to add menu element."] = "Ikke i stand til å legge til menyelement.";
@@ -1482,14 +592,6 @@ App::$strings["Menu item deleted."] = "Menyelement slettet.";
App::$strings["Menu item could not be deleted."] = "Menyelement kunne ikke bli slettet.";
App::$strings["Edit Menu Element"] = "Endre menyelement";
App::$strings["Link text"] = "Lenketekst";
-App::$strings["Set your current mood and tell your friends"] = "Angi ditt nåværende humør og fortell dine venner";
-App::$strings["No such group"] = "Gruppen finnes ikke";
-App::$strings["No such channel"] = "Ingen slik kanal";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Søkeresultat for:";
-App::$strings["Privacy group is empty"] = "Personverngruppen er tom";
-App::$strings["Privacy group: "] = "Personverngruppe:";
-App::$strings["Invalid connection."] = "Ugyldig forbindelse.";
App::$strings["Name or caption"] = "Navn eller overskrift";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\"";
App::$strings["Choose a short nickname"] = "Velg et kort kallenavn";
@@ -1502,23 +604,12 @@ App::$strings["A channel is your identity on this network. It can represent a pe
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "eller <a href=\"import\">importer en eksisterende kanal</a> fra et annet sted.";
App::$strings["Invalid request identifier."] = "Ugyldig forespørselsidentifikator.";
App::$strings["Discard"] = "Forkast";
-App::$strings["No more system notifications."] = "Ingen flere systemvarsler.";
-App::$strings["System Notifications"] = "Systemvarsler";
-App::$strings["Unable to find your hub."] = "Ikke i stand til å finne hubben din.";
-App::$strings["Post successful."] = "Innlegg vellykket.";
-App::$strings["OpenID protocol error. No ID returned."] = "OpenID protokollfeil. Ingen ID ble returnert.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert.";
-App::$strings["Configuration Editor"] = "Konfigurasjonsbehandler";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig.";
-App::$strings["Layout updated."] = "Layout er oppdatert.";
-App::$strings["Edit System Page Description"] = "Endre beskrivelsen av systemsiden";
-App::$strings["Layout not found."] = "Layouten ble ikke funnet.";
-App::$strings["Module Name:"] = "Modulnavn:";
-App::$strings["Layout Help"] = "Layout-hjelp";
+App::$strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett";
App::$strings["Page owner information could not be retrieved."] = "Informasjon om sideeier kunne ikke hentes.";
+App::$strings["Profile Photos"] = "Profilbilder";
App::$strings["Album not found."] = "Albumet ble ikke funnet.";
App::$strings["Delete Album"] = "Slett album";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "";
App::$strings["Delete Photo"] = "Slett bilde";
App::$strings["No photos selected"] = "Ingen bilder valgt";
App::$strings["Access to this item is restricted."] = "Tilgang til dette elementet er begrenset.";
@@ -1534,9 +625,12 @@ App::$strings["Album name could not be decoded"] = "Albumnavnet kunne ikke dekod
App::$strings["Contact Photos"] = "Kontaktbilder";
App::$strings["Show Newest First"] = "Vis nyeste først";
App::$strings["Show Oldest First"] = "Vis eldste først";
+App::$strings["View Photo"] = "Vis foto";
+App::$strings["Edit Album"] = "Endre album";
App::$strings["Permission denied. Access to this item may be restricted."] = "Tillatelse avvist. Tilgang til dette elementet kan være begrenset.";
App::$strings["Photo not available"] = "Bilde er utilgjengelig";
App::$strings["Use as profile photo"] = "Bruk som profilbilde";
+App::$strings["Use as cover photo"] = "";
App::$strings["Private Photo"] = "Privat bilde";
App::$strings["View Full Size"] = "Vis i full størrelse";
App::$strings["Remove"] = "Fjern";
@@ -1549,10 +643,152 @@ App::$strings["Caption"] = "Overskrift";
App::$strings["Add a Tag"] = "Legg til merkelapp";
App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Eksempel: @bob, @Barbara_Jensen, @jim@example.com";
App::$strings["Flag as adult in album view"] = "Flag som voksent i albumvisning";
+App::$strings["I like this (toggle)"] = "Jeg liker dette (skru av og på)";
+App::$strings["I don't like this (toggle)"] = "Jeg liker ikke dette (skru av og på)";
+App::$strings["Please wait"] = "Vennligst vent";
+App::$strings["This is you"] = "Dette er deg";
+App::$strings["Comment"] = "Kommentar";
+App::$strings["__ctx:title__ Likes"] = "Liker";
+App::$strings["__ctx:title__ Dislikes"] = "Liker ikke";
+App::$strings["__ctx:title__ Agree"] = "Enig";
+App::$strings["__ctx:title__ Disagree"] = "Uenig";
+App::$strings["__ctx:title__ Abstain"] = "Avstår";
+App::$strings["__ctx:title__ Attending"] = "Deltar";
+App::$strings["__ctx:title__ Not attending"] = "Deltar ikke";
+App::$strings["__ctx:title__ Might attend"] = "Deltar kanskje";
+App::$strings["View all"] = "Vis alle";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Liker",
+ 1 => "Liker",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Liker ikke",
+ 1 => "Liker ikke",
+);
+App::$strings["Photo Tools"] = "";
App::$strings["In This Photo:"] = "I dette bildet:";
App::$strings["Map"] = "Kart";
+App::$strings["__ctx:noun__ Likes"] = "Liker";
+App::$strings["__ctx:noun__ Dislikes"] = "Liker ikke";
+App::$strings["Close"] = "Lukk";
App::$strings["View Album"] = "Vis album";
App::$strings["Recent Photos"] = "Nye bilder";
+App::$strings["sent you a private message"] = "sendte deg en privat melding";
+App::$strings["added your channel"] = "la til din kanal";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[idag]";
+App::$strings["posted an event"] = "la ut en hendelse";
+App::$strings["Unable to find your hub."] = "Ikke i stand til å finne hubben din.";
+App::$strings["Post successful."] = "Innlegg vellykket.";
+App::$strings["OpenID protocol error. No ID returned."] = "OpenID protokollfeil. Ingen ID ble returnert.";
+App::$strings["Login failed."] = "Innlogging mislyktes.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert.";
+App::$strings["Configuration Editor"] = "Konfigurasjonsbehandler";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig.";
+App::$strings["Layout updated."] = "Layout er oppdatert.";
+App::$strings["Edit System Page Description"] = "Endre beskrivelsen av systemsiden";
+App::$strings["Layout not found."] = "Layouten ble ikke funnet.";
+App::$strings["Module Name:"] = "Modulnavn:";
+App::$strings["Layout Help"] = "Layout-hjelp";
+App::$strings["Poke"] = "Prikk";
+App::$strings["Poke somebody"] = "Dult noen";
+App::$strings["Poke/Prod"] = "Prikke/oppildne";
+App::$strings["Poke, prod or do other things to somebody"] = "Dult, prikk eller gjør andre ting med noen";
+App::$strings["Recipient"] = "Mottaker";
+App::$strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren";
+App::$strings["Make this post private"] = "Gjør dette innlegget privat";
+App::$strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s";
+App::$strings["Profile not found."] = "Profilen ble ikke funnet.";
+App::$strings["Profile deleted."] = "Profilen er slettet.";
+App::$strings["Profile-"] = "Profil-";
+App::$strings["New profile created."] = "Ny profil opprettet.";
+App::$strings["Profile unavailable to clone."] = "Profilen er utilgjengelig for klonen.";
+App::$strings["Profile unavailable to export."] = "Profilen er utilgjengelig for eksport.";
+App::$strings["Profile Name is required."] = "Profilnavn er påkrevd.";
+App::$strings["Marital Status"] = "Sivilstand";
+App::$strings["Romantic Partner"] = "Romantisk partner";
+App::$strings["Likes"] = "Liker";
+App::$strings["Dislikes"] = "Liker ikke";
+App::$strings["Work/Employment"] = "Arbeid/sysselsetting";
+App::$strings["Religion"] = "Religion";
+App::$strings["Political Views"] = "Politiske synspunkter";
+App::$strings["Sexual Preference"] = "Seksuelle preferanser";
+App::$strings["Homepage"] = "Hjemmeside";
+App::$strings["Interests"] = "Interesser";
+App::$strings["Profile updated."] = "Profilen er oppdatert.";
+App::$strings["Hide your connections list from viewers of this profile"] = "";
+App::$strings["Edit Profile Details"] = "Endre profildetaljer";
+App::$strings["View this profile"] = "Vis denne profilen";
+App::$strings["Edit visibility"] = "Endre synlighet";
+App::$strings["Profile Tools"] = "";
+App::$strings["Change cover photo"] = "";
+App::$strings["Change profile photo"] = "Endre profilbilde";
+App::$strings["Create a new profile using these settings"] = "Lag en ny profil ved å bruke disse innstillingene";
+App::$strings["Clone this profile"] = "Klon denne profilen";
+App::$strings["Delete this profile"] = "Slett denne profilen";
+App::$strings["Add profile things"] = "Legg til profilting";
+App::$strings["Personal"] = "Personlig";
+App::$strings["Relation"] = "";
+App::$strings["Miscellaneous"] = "Forskjellig";
+App::$strings["Import profile from file"] = "Importer profil fra fil";
+App::$strings["Export profile to file"] = "Eksporter profil til fil";
+App::$strings["Your gender"] = "";
+App::$strings["Marital status"] = "";
+App::$strings["Sexual preference"] = "";
+App::$strings["Profile name"] = "";
+App::$strings["This is your default profile."] = "Dette er din standardprofil.";
+App::$strings["Your full name"] = "";
+App::$strings["Title/Description"] = "";
+App::$strings["Street address"] = "";
+App::$strings["Locality/City"] = "";
+App::$strings["Region/State"] = "";
+App::$strings["Postal/Zip code"] = "";
+App::$strings["Country"] = "";
+App::$strings["Who (if applicable)"] = "";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Eksempler: kari123, Kari Villiamsen, kari@example.com";
+App::$strings["Since (date)"] = "";
+App::$strings["Tell us about yourself"] = "";
+App::$strings["Hometown"] = "";
+App::$strings["Political views"] = "";
+App::$strings["Religious views"] = "";
+App::$strings["Keywords used in directory listings"] = "";
+App::$strings["Example: fishing photography software"] = "Eksempel: fisking fotografering programvare";
+App::$strings["Musical interests"] = "Musikkinteresser";
+App::$strings["Books, literature"] = "Bøker, litteratur";
+App::$strings["Television"] = "TV/fjernsyn";
+App::$strings["Film/Dance/Culture/Entertainment"] = "";
+App::$strings["Hobbies/Interests"] = "Hobbier/Interesser";
+App::$strings["Love/Romance"] = "";
+App::$strings["School/Education"] = "";
+App::$strings["Contact information and social networks"] = "";
+App::$strings["My other channels"] = "Mine andre kanaler";
+App::$strings["Profile Image"] = "Profilbilde";
+App::$strings["Edit Profiles"] = "Endre profiler";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart.";
+App::$strings["Upload Profile Photo"] = "Last opp profilbilde:";
+App::$strings["Invalid profile identifier."] = "Ugyldig profil-identifikator.";
+App::$strings["Profile Visibility Editor"] = "Endre profilsynlighet";
+App::$strings["Profile"] = "Profil";
+App::$strings["Click on a contact to add or remove."] = "Klikk på en kontakt for å legge til eller fjerne.";
+App::$strings["Visible To"] = "Synlig for";
+App::$strings["Public Hubs"] = "Offentlige huber";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i \$Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i nettverket som helhet. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Nettstedene selv <strong>kan</strong> gi tilleggsopplysninger.";
+App::$strings["Hub URL"] = "Nettstedets URL";
+App::$strings["Access Type"] = "Tilgangstype";
+App::$strings["Registration Policy"] = "Retningslinjer for registrering";
+App::$strings["Stats"] = "";
+App::$strings["Software"] = "";
+App::$strings["Ratings"] = "Vurderinger";
+App::$strings["Rate"] = "Vurder";
+App::$strings["Website:"] = "Nettsted:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)";
+App::$strings["Rating (this information is public)"] = "Vurdering (denne informasjonen er offentlig)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)";
+App::$strings["No ratings"] = "Ingen vurderinger";
+App::$strings["Rating: "] = "Vurdering:";
+App::$strings["Website: "] = "Nettsted:";
+App::$strings["Description: "] = "Beskrivelse:";
App::$strings["Theme settings updated."] = "Temainnstillinger er oppdatert.";
App::$strings["# Accounts"] = "# Kontoer";
App::$strings["# blocked accounts"] = "# blokkerte kontoer";
@@ -1562,6 +798,7 @@ App::$strings["# Channels"] = "# Kanaler";
App::$strings["# primary"] = "# hoved";
App::$strings["# clones"] = "# kloner";
App::$strings["Message queues"] = "Meldingskøer";
+App::$strings["Your software should be updated"] = "";
App::$strings["Administration"] = "Administrasjon";
App::$strings["Summary"] = "Sammendrag";
App::$strings["Registered accounts"] = "Registrerte kontoer";
@@ -1569,7 +806,10 @@ App::$strings["Pending registrations"] = "Ventende registreringer";
App::$strings["Registered channels"] = "Registrerte kanaler";
App::$strings["Active plugins"] = "Aktive tilleggsfunksjoner";
App::$strings["Version"] = "Versjon";
+App::$strings["Repository version (master)"] = "";
+App::$strings["Repository version (dev)"] = "";
App::$strings["Site settings updated."] = "Nettstedsinnstillinger er oppdatert.";
+App::$strings["Default"] = "Standard";
App::$strings["mobile"] = "mobil";
App::$strings["experimental"] = "eksperimentell";
App::$strings["unsupported"] = "ikke støttet";
@@ -1578,9 +818,11 @@ App::$strings["My site is not a public server"] = "Mitt nettsted er ikke en offe
App::$strings["My site has paid access only"] = "Mitt nettsted gir kun tilgang mot betaling";
App::$strings["My site has free access only"] = "Mitt nettsted har kun gratis tilgang";
App::$strings["My site offers free accounts with optional paid upgrades"] = "Mitt nettsted tilbyr gratis konto med valgfri oppgradering til betalt tjeneste";
+App::$strings["Site"] = "Nettsted";
App::$strings["Registration"] = "Registrering";
App::$strings["File upload"] = "Last opp fil";
App::$strings["Policies"] = "Retningslinjer";
+App::$strings["Advanced"] = "Avansert";
App::$strings["Site name"] = "Nettstedets navn";
App::$strings["Banner/Logo"] = "Banner/Logo";
App::$strings["Administrator Information"] = "Administratorinformasjon";
@@ -1618,8 +860,10 @@ App::$strings["Force publish"] = "Tving publisering";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Kryss av for å tvinge alle profiler på dette nettstedet til å bli oppført i nettstedet sin katalog.";
App::$strings["Import Public Streams"] = "Importer offentlige innholdsstrømmer";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importer og gi tilgang til offentlig innhold trukket inn fra andre nettsteder. Advarsel: dette innholdet er ikke moderert.";
-App::$strings["login on Homepage"] = "Logg inn på hjemmesiden";
+App::$strings["Login on Homepage"] = "";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenter en innloggingsboks til besøkende på hjemmesiden hvis ikke noe annet innhold har blitt konfigurert.";
+App::$strings["Enable context help"] = "";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "";
App::$strings["Directory Server URL"] = "Katalogtjener URL";
App::$strings["Default directory server"] = "Standard katalogtjener";
App::$strings["Proxy user"] = "Brukernavn mellomtjener";
@@ -1645,19 +889,25 @@ App::$strings["ID"] = "ID";
App::$strings["for channel"] = "for kanalen";
App::$strings["on server"] = "på tjener";
App::$strings["Server"] = "Tjener";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "";
+App::$strings["Security"] = "Sikkerhet";
App::$strings["Block public"] = "Blokker offentlig tilgang";
App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Kryss av for å blokkere tilgang til alle personlige sider som ellers ville vært offentlig tilgjengelige på dette nettstedet med mindre du er logget inn.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "";
App::$strings["Allow communications only from these sites"] = "Tillat kommunikasjon med bare disse nettstedene";
App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Et nettsted per linje. La det stå tomt for å tillate kommunikasjon med ethvert nettsted som standard";
App::$strings["Block communications from these sites"] = "Blokker kommunikasjon fra disse nettstedene";
App::$strings["Allow communications only from these channels"] = "Tillat kommunikasjon med bare disse kanalene";
App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "En kanal (hash) per linje. La det stå tomt for å tillate enhver kanal som standard";
App::$strings["Block communications from these channels"] = "Blokker kommunikasjon fra disse kanalene";
-App::$strings["Allow embedded HTML content only from these domains"] = "Tillat innebygget HTML-innhold fra bare disse domenene";
-App::$strings["One site per line. Leave empty to allow from any site by default"] = "Et nettsted per linje. La stå tomt for å tillate ethvert nettsted som standard";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "";
+App::$strings["One site per line. By default embedded content is filtered."] = "";
App::$strings["Block embedded HTML from these domains"] = "Blokker innbygget HTML fra disse domenene";
-App::$strings["Cooperative embed security"] = "Kooperativ innebyggingssikkerhet";
-App::$strings["Enable to share embed security with other compatible sites/hubs"] = "Skru på deling av innebyggingssikkerhet med andre kompatible nettsteder/hubber";
App::$strings["Update has been marked successful"] = "Oppdateringen har blitt merket som en suksess";
App::$strings["Executing %s failed. Check system logs."] = "Utføring av %s feilet. Sjekk systemlogger.";
App::$strings["Update %s was successfully applied."] = "Oppdatering %s ble gjennomført med suksess.";
@@ -1686,12 +936,13 @@ App::$strings["Account not found"] = "Kontoen ble ikke funnet";
App::$strings["Account '%s' deleted"] = "Kontoen '%s' slettet";
App::$strings["Account '%s' blocked"] = "Kontoen '%s' blokkert";
App::$strings["Account '%s' unblocked"] = "Kontoen '%s' er ikke blokkert lenger";
-App::$strings["Users"] = "Brukere";
+App::$strings["Accounts"] = "Kontoer";
App::$strings["select all"] = "velg alle";
-App::$strings["User registrations waiting for confirm"] = "Brukerregistreringer som venter på bekreftelse";
+App::$strings["Registrations waiting for confirm"] = "";
App::$strings["Request date"] = "Dato for forespørsel";
App::$strings["No registrations."] = "Ingen registreringer.";
App::$strings["Deny"] = "Avslå";
+App::$strings["All Channels"] = "Alle kanaler";
App::$strings["Register date"] = "Registreringsdato";
App::$strings["Last login"] = "Siste innlogging";
App::$strings["Expires"] = "Utløper";
@@ -1716,19 +967,22 @@ App::$strings["Channel '%s' censored"] = "Kanalen '%s' er sensurert";
App::$strings["Channel '%s' uncensored"] = "Kanalen '%s' er ikke sensurert lenger";
App::$strings["Channel '%s' code allowed"] = "Kanal '%s' kode tillatt";
App::$strings["Channel '%s' code disallowed"] = "Kanal '%s' kode ikke tillatt";
+App::$strings["Channels"] = "Kanaler";
App::$strings["Censor"] = "Sensurer";
App::$strings["Uncensor"] = "Ikke sensurer lenger";
App::$strings["Allow Code"] = "Tillat kode";
App::$strings["Disallow Code"] = "Ikke tillat kode";
+App::$strings["Channel"] = "Kanal";
App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Adresse";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valgte kanaler vil bli slettet!\\n\\nAlt innhold som er lagt inn i disse kanalene på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette disse kanalene med alt innhold?";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanalen {0} vil bli slettet!\\n\\nAlt innhold som er lagt inn i denne kanalen på dettet nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne kanalen med alt innhold?";
App::$strings["Plugin %s disabled."] = "Tilleggsfunksjonen %s er avskrudd.";
App::$strings["Plugin %s enabled."] = "Tilleggsfunksjonen %s er påskrudd.";
App::$strings["Disable"] = "Skru av";
App::$strings["Enable"] = "Skru på";
+App::$strings["Plugins"] = "Tilleggsfunksjoner";
App::$strings["Toggle"] = "Skru av og på";
+App::$strings["Settings"] = "Innstillinger";
App::$strings["Author: "] = "Forfatter:";
App::$strings["Maintainer: "] = "Vedlikeholder:";
App::$strings["Minimum project version: "] = "Minimum prosjektversjon:";
@@ -1736,15 +990,29 @@ App::$strings["Maximum project version: "] = "Maksimum prosjektversjon:";
App::$strings["Minimum PHP version: "] = "Minimum PHP-versjon:";
App::$strings["Requires: "] = "Krever:";
App::$strings["Disabled - version incompatibility"] = "Skrudd av - versjonsinkompatibilitet";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "";
+App::$strings["Plugin repo git URL"] = "";
+App::$strings["Custom repo name"] = "";
+App::$strings["(optional)"] = "";
+App::$strings["Download Plugin Repo"] = "";
+App::$strings["Install new repo"] = "";
+App::$strings["Install"] = "Installer";
+App::$strings["Manage Repos"] = "";
+App::$strings["Installed Plugin Repositories"] = "";
+App::$strings["Install a New Plugin Repository"] = "";
+App::$strings["Update"] = "Oppdater";
+App::$strings["Switch branch"] = "";
App::$strings["No themes found."] = "Ingen temaer er funnet.";
App::$strings["Screenshot"] = "Skjermbilde";
+App::$strings["Themes"] = "Temaer";
App::$strings["[Experimental]"] = "[Eksperimentelt]";
App::$strings["[Unsupported]"] = "[Ingen støtte]";
App::$strings["Log settings updated."] = "Logginnstillinger er oppdatert.";
+App::$strings["Logs"] = "Logger";
App::$strings["Clear"] = "Tøm";
App::$strings["Debugging"] = "Feilsøking";
App::$strings["Log file"] = "Loggfil";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Må kunne skrives til av webtjenesten. Relativ til din Red sin toppnivåkatalog.";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "";
App::$strings["Log level"] = "Loggnivå";
App::$strings["New Profile Field"] = "Nytt profilfelt";
App::$strings["Field nickname"] = "Feltets kallenavn";
@@ -1756,107 +1024,26 @@ App::$strings["Help text"] = "Hjelpetekst";
App::$strings["Additional info (optional)"] = "Tilleggsinformasjon (valgfritt)";
App::$strings["Field definition not found"] = "Feltdefinisjonen ble ikke funnet";
App::$strings["Edit Profile Field"] = "Endre profilfelt";
-App::$strings["Poke somebody"] = "Dult noen";
-App::$strings["Poke/Prod"] = "Prikke/oppildne";
-App::$strings["Poke, prod or do other things to somebody"] = "Dult, prikk eller gjør andre ting med noen";
-App::$strings["Recipient"] = "Mottaker";
-App::$strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren";
-App::$strings["Make this post private"] = "Gjør dette innlegget privat";
-App::$strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s";
-App::$strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes.";
-App::$strings["Image resize failed."] = "Endring av bildestørrelse mislyktes.";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart.";
-App::$strings["Image upload failed."] = "Opplasting av bildet mislyktes.";
-App::$strings["Unable to process image."] = "Kan ikke behandle bildet.";
-App::$strings["Photo not available."] = "Bildet er ikke tilgjengelig.";
-App::$strings["Upload File:"] = "Last opp fil:";
-App::$strings["Select a profile:"] = "Velg en profil:";
-App::$strings["Upload Profile Photo"] = "Last opp profilbilde:";
-App::$strings["or"] = "eller";
-App::$strings["skip this step"] = "hopp over dette steget";
-App::$strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum";
-App::$strings["Crop Image"] = "Beskjær bildet";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning.";
-App::$strings["Done Editing"] = "Avslutt redigering";
-App::$strings["Profile not found."] = "Profilen ble ikke funnet.";
-App::$strings["Profile deleted."] = "Profilen er slettet.";
-App::$strings["Profile-"] = "Profil-";
-App::$strings["New profile created."] = "Ny profil opprettet.";
-App::$strings["Profile unavailable to clone."] = "Profilen er utilgjengelig for klonen.";
-App::$strings["Profile unavailable to export."] = "Profilen er utilgjengelig for eksport.";
-App::$strings["Profile Name is required."] = "Profilnavn er påkrevd.";
-App::$strings["Marital Status"] = "Sivilstand";
-App::$strings["Romantic Partner"] = "Romantisk partner";
-App::$strings["Likes"] = "Liker";
-App::$strings["Dislikes"] = "Liker ikke";
-App::$strings["Work/Employment"] = "Arbeid/sysselsetting";
-App::$strings["Religion"] = "Religion";
-App::$strings["Political Views"] = "Politiske synspunkter";
-App::$strings["Sexual Preference"] = "Seksuelle preferanser";
-App::$strings["Homepage"] = "Hjemmeside";
-App::$strings["Interests"] = "Interesser";
-App::$strings["Profile updated."] = "Profilen er oppdatert.";
-App::$strings["Hide your contact/friend list from viewers of this profile?"] = "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?";
-App::$strings["Edit Profile Details"] = "Endre profildetaljer";
-App::$strings["View this profile"] = "Vis denne profilen";
-App::$strings["Change Profile Photo"] = "Endre profilbilde";
-App::$strings["Create a new profile using these settings"] = "Lag en ny profil ved å bruke disse innstillingene";
-App::$strings["Clone this profile"] = "Klon denne profilen";
-App::$strings["Delete this profile"] = "Slett denne profilen";
-App::$strings["Import profile from file"] = "Importer profil fra fil";
-App::$strings["Export profile to file"] = "Eksporter profil til fil";
-App::$strings["Profile Name:"] = "Profilnavn:";
-App::$strings["Your Full Name:"] = "Ditt fulle navn:";
-App::$strings["Title/Description:"] = "Tittel/Beskrivelse:";
-App::$strings["Your Gender:"] = "Ditt kjønn:";
-App::$strings["Birthday :"] = "Fødselsdag:";
-App::$strings["Street Address:"] = "Gateadresse:";
-App::$strings["Locality/City:"] = "Sted/By:";
-App::$strings["Postal/Zip Code:"] = "Postnummer/ZIP-kode:";
-App::$strings["Country:"] = "Land:";
-App::$strings["Region/State:"] = "Region/fylke:";
-App::$strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Sivilstand:";
-App::$strings["Who: (if applicable)"] = "Hvem: (hvis det er aktuelt) ";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Eksempler: kari123, Kari Villiamsen, kari@example.com";
-App::$strings["Since [date]:"] = "Siden [dato]:";
-App::$strings["Homepage URL:"] = "Hjemmeside URL:";
-App::$strings["Religious Views:"] = "Religiøse synspunkter:";
-App::$strings["Keywords:"] = "Nøkkelord:";
-App::$strings["Example: fishing photography software"] = "Eksempel: fisking fotografering programvare";
-App::$strings["Used in directory listings"] = "Brukt i katalogoppføringer";
-App::$strings["Tell us about yourself..."] = "Fortell oss om deg selv...";
-App::$strings["Hobbies/Interests"] = "Hobbier/Interesser";
-App::$strings["Contact information and Social Networks"] = "Kontaktinformasjon og sosiale nettverk";
-App::$strings["My other channels"] = "Mine andre kanaler";
-App::$strings["Musical interests"] = "Musikkinteresser";
-App::$strings["Books, literature"] = "Bøker, litteratur";
-App::$strings["Television"] = "TV/fjernsyn";
-App::$strings["Film/dance/culture/entertainment"] = "Film/dans/kultur/underholdning";
-App::$strings["Love/romance"] = "Kjærlighet/romantikk";
-App::$strings["Work/employment"] = "Arbeid/sysselsetting";
-App::$strings["School/education"] = "Skole/utdanning";
-App::$strings["This is your default profile."] = "Dette er din standardprofil.";
-App::$strings["Age: "] = "Alder:";
-App::$strings["Edit/Manage Profiles"] = "Endre/håndter profiler";
-App::$strings["Add profile things"] = "Legg til profilting";
-App::$strings["Include desirable objects in your profile"] = "Inkluder ønskverdige objekter i din profil";
-App::$strings["Invalid profile identifier."] = "Ugyldig profil-identifikator.";
-App::$strings["Profile Visibility Editor"] = "Endre profilsynlighet";
-App::$strings["Click on a contact to add or remove."] = "Klikk på en kontakt for å legge til eller fjerne.";
-App::$strings["Visible To"] = "Synlig for";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i \$Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i nettverket som helhet. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Nettstedene selv <strong>kan</strong> gi tilleggsopplysninger.";
-App::$strings["Hub URL"] = "Nettstedets URL";
-App::$strings["Access Type"] = "Tilgangstype";
-App::$strings["Registration Policy"] = "Retningslinjer for registrering";
-App::$strings["Rate"] = "Vurder";
-App::$strings["Website:"] = "Nettsted:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)";
-App::$strings["Rating (this information is public)"] = "Vurdering (denne informasjonen er offentlig)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)";
-App::$strings["No ratings"] = "Ingen vurderinger";
-App::$strings["Rating: "] = "Vurdering:";
-App::$strings["Website: "] = "Nettsted:";
-App::$strings["Description: "] = "Beskrivelse:";
+App::$strings["Profile Fields"] = "";
+App::$strings["Basic Profile Fields"] = "";
+App::$strings["Advanced Profile Fields"] = "";
+App::$strings["(In addition to basic fields)"] = "";
+App::$strings["All available fields"] = "";
+App::$strings["Custom Fields"] = "";
+App::$strings["Create Custom Field"] = "";
+App::$strings["App installed."] = "App installert.";
+App::$strings["Malformed app."] = "Feil oppsett for app-en.";
+App::$strings["Embed code"] = "Innbyggingskode";
+App::$strings["Edit App"] = "Endre app";
+App::$strings["Create App"] = "Lag app";
+App::$strings["Name of app"] = "Navn på app";
+App::$strings["Location (URL) of app"] = "Plassering (URL) til app";
+App::$strings["Photo icon URL"] = "Bildeikon URL";
+App::$strings["80 x 80 pixels - optional"] = "80 x80 pixler - valgfritt";
+App::$strings["Categories (optional, comma separated list)"] = "";
+App::$strings["Version ID"] = "Versjons-ID";
+App::$strings["Price of app"] = "Pris på app";
+App::$strings["Location (URL) to purchase app"] = "Plassering (URL) for å kjøpe app";
App::$strings["Select a bookmark folder"] = "Velg en bokmerkemappe";
App::$strings["Save Bookmark"] = "Lagre bokmerke";
App::$strings["URL of bookmark"] = "URL-en til bokmerket";
@@ -1881,6 +1068,7 @@ App::$strings["Please enter your invitation code"] = "Vennligst skriv din invita
App::$strings["no"] = "nei";
App::$strings["yes"] = "ja";
App::$strings["Membership on this site is by invitation only."] = "Medlemskap ved dette nettstedet skjer kun via invitasjon.";
+App::$strings["Register"] = "Registrer";
App::$strings["Proceed to create your first channel"] = "Gå videre for å lage din første kanal";
App::$strings["Please login."] = "Vennligst logg inn.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet.";
@@ -1980,6 +1168,7 @@ App::$strings["Allow us to suggest you as a potential friend to new members?"] =
App::$strings["Your channel address is"] = "Din kanaladresse er";
App::$strings["Channel Settings"] = "Kanalinnstillinger";
App::$strings["Basic Settings"] = "Grunninnstillinger";
+App::$strings["Full Name:"] = "Fullt navn:";
App::$strings["Your Timezone:"] = "Din tidssone:";
App::$strings["Default Post Location:"] = "Standard plassering ved innlegg:";
App::$strings["Geographical location to display on your posts"] = "Geografisk plassering som vises på dine innlegg";
@@ -1999,10 +1188,14 @@ App::$strings["Allow others to tag your posts"] = "Tillat andre å merke dine in
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant";
App::$strings["Advanced Privacy Settings"] = "Avanserte personverninnstillinger";
App::$strings["Expire other channel content after this many days"] = "Annet kanal innhold utløper etter så mange dager";
-App::$strings["0 or blank to use the website limit. The website expires after %d days."] = "0 eller ikke noe for å bruke nettstedets grense. Nettstedet utløper etter %d dager.";
+App::$strings["0 or blank to use the website limit."] = "";
+App::$strings["This website expires after %d days."] = "";
+App::$strings["This website does not expire imported content."] = "";
+App::$strings["The website limit takes precedence if lower than your limit."] = "";
App::$strings["Maximum Friend Requests/Day:"] = "Maksimalt antall venneforespørsler per dag:";
App::$strings["May reduce spam activity"] = "Kan redusere søppelpostaktivitet";
-App::$strings["Default Post Permissions"] = "Standard innleggstillatelser";
+App::$strings["Default Post and Publish Permissions"] = "";
+App::$strings["Use my default audience setting for the type of object published"] = "";
App::$strings["Channel permissions category:"] = "Kategori med kanaltillatelser:";
App::$strings["Maximum private messages per day from unknown people:"] = "Maksimalt antall private meldinger per dag fra ukjente personer:";
App::$strings["Useful to reduce spamming"] = "Nyttig for å redusere søppelpost";
@@ -2077,6 +1270,8 @@ App::$strings["Please select a default timezone for your website"] = "Vennligst
App::$strings["Site settings"] = "Nettstedets innstillinger";
App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Skru på <strong>avanserte</strong egenskaper i \$Projectname ?";
App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Noen avanserte egenskaper, som - selv om de er nyttige - kanskje passer bedre for et teknisk kyndig publikum. ";
+App::$strings["PHP version 5.5 or greater is required."] = "";
+App::$strings["PHP version"] = "";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH).";
App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron.";
App::$strings["PHP executable path"] = "PHP-kjørefilens sti";
@@ -2115,7 +1310,7 @@ App::$strings["At the end of this procedure, we will give you a text to save in
App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner.";
App::$strings[".htconfig.php is writable"] = ".htconfig.php kan skrives til";
App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen.";
App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder.";
App::$strings["%s is writable"] = "%s kan skrives til";
@@ -2134,22 +1329,6 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "Feil oppstod under opprettelsen av databasetabeller.";
App::$strings["<h1>What next</h1>"] = "<h1>Hva gjenstår</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren.";
-App::$strings["No valid account found."] = "Ingen gyldig konto funnet.";
-App::$strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din.";
-App::$strings["Site Member (%s)"] = "Nettstedsmedlem (%s)";
-App::$strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes.";
-App::$strings["Password Reset"] = "Tilbakestill passord";
-App::$strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt.";
-App::$strings["Your new password is"] = "Ditt nye passord er";
-App::$strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du";
-App::$strings["click here to login"] = "klikke her for å logge inn";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging.";
-App::$strings["Your password has changed at %s"] = "Ditt passord er endret hos %s";
-App::$strings["Forgot your Password?"] = "Glemt passord ditt?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner.";
-App::$strings["Email Address"] = "E-postadresse";
-App::$strings["Reset"] = "Tilbakestill";
App::$strings["Files: shared with me"] = "Filer: delt med meg";
App::$strings["NEW"] = "NY";
App::$strings["Remove all files"] = "Fjern alle filer";
@@ -2171,12 +1350,14 @@ App::$strings["Failed to create source. No channel selected."] = "Mislyktes med
App::$strings["Source created."] = "Kilden er laget.";
App::$strings["Source updated."] = "Kilden er oppdatert.";
App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Kanalkilder";
App::$strings["Manage remote sources of content for your channel."] = "Håndtere eksterne innholdskilder til din kanal.";
App::$strings["New Source"] = "Ny kilde";
App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger.";
App::$strings["Only import content with these words (one per line)"] = "Bare importer innhold med disse ordene (ett ord per linje)";
App::$strings["Leave blank to import all public content"] = "La stå tomt for å importere alt offentlig innhold";
App::$strings["Channel Name"] = "Kanalnavn";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "";
App::$strings["Source not found."] = "Kilden ble ikke funnet.";
App::$strings["Edit Source"] = "Endre kilde";
App::$strings["Delete Source"] = "Slett kilde";
@@ -2185,6 +1366,9 @@ App::$strings["Unable to remove source."] = "Ikke i stand til å fjerne kilde.";
App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s";
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s stopped å følge %2\$s sin %3\$s";
App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer.";
+App::$strings["Ignore/Hide"] = "Ignorer/Skjul";
+App::$strings["post"] = "innlegg";
+App::$strings["comment"] = "kommentar";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s merket %3\$s til %2\$s med %4\$s";
App::$strings["Tag removed"] = "Merkelapp fjernet";
App::$strings["Remove Item Tag"] = "Fjern merkelapp fra element";
@@ -2216,12 +1400,861 @@ App::$strings["No connections."] = "Ingen forbindelser.";
App::$strings["Visit %s's profile [%s]"] = "Besøk %s sin profil [%s]";
App::$strings["View Connections"] = "Vis forbindelser";
App::$strings["Source of Item"] = "Kilde til element";
+App::$strings["Webpages"] = "Websider";
+App::$strings["Actions"] = "Handlinger";
+App::$strings["Page Link"] = "Sidelenke";
App::$strings["Page Title"] = "Sidetittel";
App::$strings["Xchan Lookup"] = "Xchan oppslag";
App::$strings["Lookup xchan beginning with (or webbie): "] = "Slå opp xchan som begynner med (eller webbie):";
-App::$strings["Cover Photos"] = "Forsidebilder";
-App::$strings["Upload Cover Photo"] = "Last opp forsidebilde";
-App::$strings["Permissions denied."] = "Tillatelse avvist.";
+App::$strings["Site Admin"] = "Nettstedsadministrator";
+App::$strings["Bug Report"] = "";
+App::$strings["View Bookmarks"] = "";
+App::$strings["My Chatrooms"] = "";
+App::$strings["Firefox Share"] = "";
+App::$strings["Remote Diagnostics"] = "";
+App::$strings["Suggest Channels"] = "Foreslå kanaler";
+App::$strings["Login"] = "Logg inn";
+App::$strings["Grid"] = "Nett";
+App::$strings["Channel Home"] = "Kanalhjem";
+App::$strings["Events"] = "Hendelser";
+App::$strings["Directory"] = "Katalog";
+App::$strings["Mail"] = "Melding";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Undersøk";
+App::$strings["Suggest"] = "Forreslå";
+App::$strings["Random Channel"] = "Tilfeldig kanal";
+App::$strings["Invite"] = "Inviter";
+App::$strings["Features"] = "Funksjoner";
+App::$strings["Post"] = "Innlegg";
+App::$strings["Purchase"] = "Kjøp";
+App::$strings["Missing room name"] = "Mangler romnavn";
+App::$strings["Duplicate room name"] = "Duplikat romnavn";
+App::$strings["Invalid room specifier."] = "Ugyldig rom-spesifisering";
+App::$strings["Room not found."] = "Rommet ble ikke funnet.";
+App::$strings["Room is full"] = "Rommet er fullt";
+App::$strings["\$Projectname Notification"] = "\$Projectname varsling";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Tusen takk,";
+App::$strings["%s Administrator"] = "%s administrator";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Ny melding mottatt hos %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s sendte deg en ny privat melding på %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s sendte deg %2\$s.";
+App::$strings["a private message"] = "en privat melding";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Vennligst besøk %s for å se og/eller svare på dine private meldinger.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]a %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]%4\$s's %5\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]din %4\$s[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Kommentar til samtale #%1\$d av %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s kommenterte på et element eller en samtale du følger";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Vennligst besøk %s for å se og/eller svare i samtalen";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s skrev et innlegg på din profilvegg på %3\$s";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s skrev et innlegg på [zrl=%3\$s]din vegg[/zrl]";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s merket deg";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s merket deg på %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]merket deg[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s prikket deg";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s dyttet deg på %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]dyttet deg[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s merket ditt innlegg";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s merket ditt innlegg på %3\$s";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s merket [zrl=%3\$s]ditt innlegg[/zrl]";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Introduksjon mottatt";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en ny forespørsel om forbindelse fra '%2\$s' hos %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, du mottok [zrl=%2\$s]en ny forespørsel om forbindelse[/zrl] fra %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Du kan besøke profilen deres på %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Venneforslag mottatt";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en venneforespørsel fra '%2\$s' hos %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, du har mottatt [zrl=%2\$s]et venneforslaget[/zrl] angående %3\$s fra %4\$s. ";
+App::$strings["Name:"] = "Navn:";
+App::$strings["Photo:"] = "Bilde:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Vennligst besøk %s for å godkjenne eller avslå dette forslaget.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]";
+App::$strings["created a new post"] = "laget et nytt innlegg";
+App::$strings["commented on %s's post"] = "kommenterte på %s sitt innlegg";
+App::$strings["Private Message"] = "Privat melding";
+App::$strings["Select"] = "Velg";
+App::$strings["Save to Folder"] = "Lagre i mappe";
+App::$strings["I will attend"] = "Jeg vil delta";
+App::$strings["I will not attend"] = "Jeg deltar ikke";
+App::$strings["I might attend"] = "Jeg vil kanskje delta";
+App::$strings["I agree"] = "Jeg er enig";
+App::$strings["I disagree"] = "Jeg er uenig";
+App::$strings["I abstain"] = "Jeg avstår";
+App::$strings["Add Star"] = "Legg til stjerne";
+App::$strings["Remove Star"] = "Fjern stjerne";
+App::$strings["Toggle Star Status"] = "Skru av og på stjernestatus";
+App::$strings["starred"] = "stjernemerket";
+App::$strings["Message signature validated"] = "Innleggets signatur er bekreftet";
+App::$strings["Message signature incorrect"] = "Innleggets signatur er feil";
+App::$strings["Add Tag"] = "Legg til merkelapp";
+App::$strings["like"] = "liker";
+App::$strings["dislike"] = "misliker";
+App::$strings["Share This"] = "Del dette";
+App::$strings["share"] = "del";
+App::$strings["Delivery Report"] = "Leveringsrapport";
+App::$strings["%d comment"] = array(
+ 0 => "%d kommentar",
+ 1 => "%d kommentarer",
+);
+App::$strings["View %s's profile - %s"] = "Vis %s sin profil - %s";
+App::$strings["to"] = "til";
+App::$strings["via"] = "via";
+App::$strings["Wall-to-Wall"] = "vegg-til-vegg";
+App::$strings["via Wall-To-Wall:"] = "via vegg-til-vegg:";
+App::$strings["from %s"] = "fra %s";
+App::$strings["last edited: %s"] = "sist endret: %s";
+App::$strings["Expires: %s"] = "Utløper: %s";
+App::$strings["Save Bookmarks"] = "Lagre bokmerker";
+App::$strings["Add to Calendar"] = "Legg til i kalender";
+App::$strings["Mark all seen"] = "Merk alle som sett";
+App::$strings["[+] show all"] = "[+] Vis alle";
+App::$strings["Bold"] = "Uthevet";
+App::$strings["Italic"] = "Kursiv";
+App::$strings["Underline"] = "Understreket";
+App::$strings["Quote"] = "Sitat";
+App::$strings["Code"] = "Kode";
+App::$strings["Image"] = "Bilde";
+App::$strings["Insert Link"] = "Sett inn lenke";
+App::$strings["Video"] = "Video";
+App::$strings["No username found in import file."] = "Ingen brukernavn ble funnet i importfilen.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Klarte ikke å lage en unik kanaladresse. Import mislyktes.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Kan ikke finne DNS-informasjon om databasetjener '%s'";
+App::$strings["Categories"] = "Kategorier";
+App::$strings["Tags"] = "Merkelapper";
+App::$strings["Keywords"] = "Nøkkelord";
+App::$strings["have"] = "har";
+App::$strings["has"] = "har";
+App::$strings["want"] = "ønsker";
+App::$strings["wants"] = "ønsker";
+App::$strings["likes"] = "liker";
+App::$strings["dislikes"] = "misliker";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["Starts:"] = "Starter:";
+App::$strings["Finishes:"] = "Slutter:";
+App::$strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender.";
+App::$strings["Not specified"] = "Ikke spesifisert";
+App::$strings["Needs Action"] = "Trenger handling";
+App::$strings["Completed"] = "Ferdig";
+App::$strings["In Process"] = "Igang";
+App::$strings["Cancelled"] = "Avbrutt";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes.";
+App::$strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes.";
+App::$strings["(Unknown)"] = "(Ukjent)";
+App::$strings["Visible to anybody on the internet."] = "Synlig for enhver på Internett.";
+App::$strings["Visible to you only."] = "Synlig bare for deg.";
+App::$strings["Visible to anybody in this network."] = "Synlig for enhver i dette nettverket.";
+App::$strings["Visible to anybody authenticated."] = "Synlig for enhver som er autentisert.";
+App::$strings["Visible to anybody on %s."] = "Synlig for alle på %s.";
+App::$strings["Visible to all connections."] = "Synlig for alle forbindelser.";
+App::$strings["Visible to approved connections."] = "Synlig for godkjente forbindelser.";
+App::$strings["Visible to specific connections."] = "Synlig for spesifikke forbindelser.";
+App::$strings["Privacy group is empty."] = "Personverngruppen er tom.";
+App::$strings["Privacy group: %s"] = "Personverngruppe: %s";
+App::$strings["Connection not found."] = "Forbindelsen ble ikke funnet.";
+App::$strings["profile photo"] = "profilbilde";
+App::$strings["No recipient provided."] = "Ingen mottaker angitt.";
+App::$strings["[no subject]"] = "[ikke noe emne]";
+App::$strings["Unable to determine sender."] = "Kan ikke avgjøre avsender.";
+App::$strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes.";
+App::$strings["prev"] = "forrige";
+App::$strings["first"] = "første";
+App::$strings["last"] = "siste";
+App::$strings["next"] = "neste";
+App::$strings["older"] = "eldre";
+App::$strings["newer"] = "nyere";
+App::$strings["No connections"] = "Ingen forbindelser";
+App::$strings["View all %s connections"] = "Vis alle %s forbindelser";
+App::$strings["poke"] = "prikk";
+App::$strings["poked"] = "prikket";
+App::$strings["ping"] = "varsle";
+App::$strings["pinged"] = "varslet";
+App::$strings["prod"] = "oppildne";
+App::$strings["prodded"] = "oppildnet";
+App::$strings["slap"] = "daske";
+App::$strings["slapped"] = "dasket";
+App::$strings["finger"] = "fingre";
+App::$strings["fingered"] = "fingret";
+App::$strings["rebuff"] = "tilbakevise";
+App::$strings["rebuffed"] = "tilbakeviste";
+App::$strings["happy"] = "glad";
+App::$strings["sad"] = "trist";
+App::$strings["mellow"] = "dempet";
+App::$strings["tired"] = "trøtt";
+App::$strings["perky"] = "oppkvikket";
+App::$strings["angry"] = "sint";
+App::$strings["stupefied"] = "lamslått";
+App::$strings["puzzled"] = "forundret";
+App::$strings["interested"] = "interessert";
+App::$strings["bitter"] = "bitter";
+App::$strings["cheerful"] = "munter";
+App::$strings["alive"] = "levende";
+App::$strings["annoyed"] = "irritert";
+App::$strings["anxious"] = "nervøs";
+App::$strings["cranky"] = "gretten";
+App::$strings["disturbed"] = "foruroliget";
+App::$strings["frustrated"] = "frustrert";
+App::$strings["depressed"] = "lei seg";
+App::$strings["motivated"] = "motivert";
+App::$strings["relaxed"] = "avslappet";
+App::$strings["surprised"] = "overrasket";
+App::$strings["Monday"] = "mandag";
+App::$strings["Tuesday"] = "tirsdag";
+App::$strings["Wednesday"] = "onsdag";
+App::$strings["Thursday"] = "torsdag";
+App::$strings["Friday"] = "fredag";
+App::$strings["Saturday"] = "lørdag";
+App::$strings["Sunday"] = "søndag";
+App::$strings["January"] = "januar";
+App::$strings["February"] = "februar";
+App::$strings["March"] = "mars";
+App::$strings["April"] = "april";
+App::$strings["May"] = "mai";
+App::$strings["June"] = "juni";
+App::$strings["July"] = "juli";
+App::$strings["August"] = "august";
+App::$strings["September"] = "september";
+App::$strings["October"] = "oktober";
+App::$strings["November"] = "november";
+App::$strings["December"] = "desember";
+App::$strings["Unknown Attachment"] = "Ukjent vedlegg";
+App::$strings["unknown"] = "ukjent";
+App::$strings["remove category"] = "fjern kategori";
+App::$strings["remove from file"] = "fjern fra fil";
+App::$strings["default"] = "standard";
+App::$strings["Page layout"] = "Sidens layout";
+App::$strings["You can create your own with the layouts tool"] = "Du kan lage din egen med layout-verktøyet";
+App::$strings["Page content type"] = "Sidens innholdstype";
+App::$strings["Select an alternate language"] = "Velg et annet språk";
+App::$strings["activity"] = "aktivitet";
+App::$strings["Design Tools"] = "Designverktøy";
+App::$strings["Pages"] = "Sider";
+App::$strings["System"] = "System";
+App::$strings["New App"] = "";
+App::$strings["Suggestions"] = "Forslag";
+App::$strings["See more..."] = "Se mer...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser.";
+App::$strings["Add New Connection"] = "Legg til ny forbindelse";
+App::$strings["Enter channel address"] = "Skriv kanaladressen";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Eksempel: ola@eksempel.no, https://eksempel.no/kari";
+App::$strings["Notes"] = "Merknader";
+App::$strings["Remove term"] = "Fjern begrep";
+App::$strings["Saved Searches"] = "Lagrede søk";
+App::$strings["add"] = "legg til";
+App::$strings["Saved Folders"] = "Lagrede mapper";
+App::$strings["Everything"] = "Alt";
+App::$strings["Archives"] = "Arkiv";
+App::$strings["Refresh"] = "Forny";
+App::$strings["Account settings"] = "Kontoinnstillinger";
+App::$strings["Channel settings"] = "Kanalinnstillinger";
+App::$strings["Additional features"] = "Tilleggsfunksjoner";
+App::$strings["Feature/Addon settings"] = "Funksjons-/Tilleggsinnstillinger";
+App::$strings["Display settings"] = "Visningsinnstillinger";
+App::$strings["Manage locations"] = "";
+App::$strings["Export channel"] = "Eksporter kanal";
+App::$strings["Connected apps"] = "Tilkoblede app-er";
+App::$strings["Premium Channel Settings"] = "Premiumkanal-innstillinger";
+App::$strings["Private Mail Menu"] = "Meny for privat post";
+App::$strings["Combined View"] = "Kombinert visning";
+App::$strings["Inbox"] = "Innboks";
+App::$strings["Outbox"] = "Utboks";
+App::$strings["New Message"] = "Ny melding";
+App::$strings["Conversations"] = "Samtaler";
+App::$strings["Received Messages"] = "Mottatte meldinger";
+App::$strings["Sent Messages"] = "Sendte meldinger";
+App::$strings["No messages."] = "Ingen meldinger.";
+App::$strings["Delete conversation"] = "Slett samtale";
+App::$strings["Events Menu"] = "Meny for hendelser";
+App::$strings["Day View"] = "Dag";
+App::$strings["Week View"] = "Uke";
+App::$strings["Month View"] = "Måned";
+App::$strings["Events Tools"] = "Kalenderverktøy";
+App::$strings["Export Calendar"] = "Eksporter kalender";
+App::$strings["Import Calendar"] = "Importer kalender";
+App::$strings["Chatrooms"] = "Chatrom";
+App::$strings["Overview"] = "";
+App::$strings["Chat Members"] = "";
+App::$strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom";
+App::$strings["Suggested Chatrooms"] = "Foreslåtte chatrom";
+App::$strings["photo/image"] = "foto/bilde";
+App::$strings["Click to show more"] = "";
+App::$strings["Rating Tools"] = "Vurderingsverktøy";
+App::$strings["Rate Me"] = "Vurder meg";
+App::$strings["View Ratings"] = "Vis vurderinger";
+App::$strings["Forums"] = "Forum";
+App::$strings["Tasks"] = "Oppgaver";
+App::$strings["Documentation"] = "Dokumentasjon";
+App::$strings["Project/Site Information"] = "Prosjekt-/Nettstedsinformasjon";
+App::$strings["For Members"] = "For medlemmer";
+App::$strings["For Administrators"] = "For administratorer";
+App::$strings["For Developers"] = "For utviklere";
+App::$strings["Member registrations waiting for confirmation"] = "";
+App::$strings["Inspect queue"] = "Inspiser kø";
+App::$strings["DB updates"] = "Databaseoppdateringer";
+App::$strings["Admin"] = "Administrator";
+App::$strings["Plugin Features"] = "Tilleggsfunksjoner";
+App::$strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet.";
+App::$strings["Channel location missing."] = "Kanalplassering mangler.";
+App::$strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett.";
+App::$strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger.";
+App::$strings["Protocol disabled."] = "Protokollen er avskrudd.";
+App::$strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes.";
+App::$strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv.";
+App::$strings["%1\$s's bookmarks"] = "%1\$s sine bokmerker";
+App::$strings["Public Timeline"] = "Offentlig tidslinje";
+App::$strings["Image/photo"] = "Bilde/fotografi";
+App::$strings["Encrypted content"] = "Kryptert innhold";
+App::$strings["Install %s element: "] = "Installer %s element:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Klikk for å åpne/lukke";
+App::$strings["spoiler"] = "";
+App::$strings["Different viewers will see this text differently"] = "Denne teksten vil se forskjellig ut for ulike besøkende";
+App::$strings["$1 wrote:"] = "$1 skrev:";
+App::$strings["Directory Options"] = "Kataloginnstillinger";
+App::$strings["Safe Mode"] = "Trygt modus";
+App::$strings["Public Forums Only"] = "Bare offentlige forum";
+App::$strings["This Website Only"] = "Kun dette nettstedet";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn.";
+App::$strings["Logout"] = "Logg ut";
+App::$strings["End this session"] = "Avslutt denne økten";
+App::$strings["Home"] = "Hjem";
+App::$strings["Your posts and conversations"] = "Dine innlegg og samtaler";
+App::$strings["Your profile page"] = "Din profilside";
+App::$strings["Manage/Edit profiles"] = "Håndter/endre profiler";
+App::$strings["Edit Profile"] = "Endre profil";
+App::$strings["Edit your profile"] = "Endre din profil";
+App::$strings["Your photos"] = "Dine bilder";
+App::$strings["Your files"] = "Dine filer";
+App::$strings["Your chatrooms"] = "Dine chatterom";
+App::$strings["Bookmarks"] = "Bokmerker";
+App::$strings["Your bookmarks"] = "Dine bokmerker";
+App::$strings["Your webpages"] = "Dine websider";
+App::$strings["Sign in"] = "Logg på";
+App::$strings["%s - click to logout"] = "%s - klikk for å logge ut";
+App::$strings["Remote authentication"] = "Fjernautentisering";
+App::$strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub";
+App::$strings["Home Page"] = "Hjemmeside";
+App::$strings["Create an account"] = "Lag en konto";
+App::$strings["Help and documentation"] = "Hjelp og dokumentasjon";
+App::$strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold";
+App::$strings["Channel Directory"] = "Kanalkatalog";
+App::$strings["Your grid"] = "Ditt nett";
+App::$strings["Mark all grid notifications seen"] = "Marker alle nettvarsler som sett";
+App::$strings["Channel home"] = "Kanalhjem";
+App::$strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett";
+App::$strings["Notices"] = "Varsel";
+App::$strings["Notifications"] = "Varsler";
+App::$strings["See all notifications"] = "Se alle varsler";
+App::$strings["Private mail"] = "Privat post";
+App::$strings["See all private messages"] = "Se alle private meldinger";
+App::$strings["Mark all private messages seen"] = "Merk alle private meldinger som sett";
+App::$strings["Event Calendar"] = "Kalender";
+App::$strings["See all events"] = "Se alle hendelser";
+App::$strings["Mark all events seen"] = "Merk alle hendelser som sett";
+App::$strings["Manage Your Channels"] = "Håndter dine kanaler";
+App::$strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger";
+App::$strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon";
+App::$strings["Loading..."] = "Laster...";
+App::$strings["@name, #tag, ?doc, content"] = "@navn, #merkelapp, ?dokumentasjon, innhold";
+App::$strings["Please wait..."] = "Vennligst vent...";
+App::$strings["New window"] = "Nytt vindu";
+App::$strings["Open the selected location in a different window or browser tab"] = "Åpne det valgte stedet i et annet vindu eller nettleser-fane";
+App::$strings["User '%s' deleted"] = "Brukeren '%s' er slettet";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invitasjon tilgjengelig",
+ 1 => "%d invitasjoner tilgjengelig",
+);
+App::$strings["Find Channels"] = "Finn kanaler";
+App::$strings["Enter name or interest"] = "Skriv navn eller interesse";
+App::$strings["Connect/Follow"] = "Forbindelse/Følg";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Eksempler: Ola Nordmann, fisking";
+App::$strings["Random Profile"] = "Tilfeldig profil";
+App::$strings["Invite Friends"] = "Inviter venner";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Avansert eksempel: navn=fred og land=island";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d forbindelse felles",
+ 1 => "%d forbindelser felles",
+);
+App::$strings["show more"] = "vis mer";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s er nå forbundet med %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s prikket %2\$s";
+App::$strings["View %s's profile @ %s"] = "Vis %s sin profile @ %s";
+App::$strings["Categories:"] = "Kategorier:";
+App::$strings["Filed under:"] = "Sortert under:";
+App::$strings["View in context"] = "Vis i sammenheng";
+App::$strings["remove"] = "fjern";
+App::$strings["Delete Selected Items"] = "Slett valgte elementer";
+App::$strings["View Source"] = "Vis kilde";
+App::$strings["Follow Thread"] = "Følg tråd";
+App::$strings["Unfollow Thread"] = "Ikke følg tråd";
+App::$strings["Activity/Posts"] = "Aktivitet/Innlegg";
+App::$strings["Edit Connection"] = "Endre forbindelse";
+App::$strings["Message"] = "Melding";
+App::$strings["%s likes this."] = "%s liker dette.";
+App::$strings["%s doesn't like this."] = "%s liker ikke dette.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d person</span> liker dette.",
+ 1 => "<span %1\$s>%2\$d personer</span> liker dette.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d person</span> liker ikke dette.",
+ 1 => "<span %1\$s>%2\$d personer</span> liker ikke dette.",
+);
+App::$strings["and"] = "og";
+App::$strings[", and %d other people"] = array(
+ 0 => ", og %d annen person",
+ 1 => ", og %d andre personer",
+);
+App::$strings["%s like this."] = "%s liker dette.";
+App::$strings["%s don't like this."] = "%s liker ikke dette.";
+App::$strings["Set your location"] = "Angi din plassering";
+App::$strings["Clear browser location"] = "Fjern nettleserplassering";
+App::$strings["Tag term:"] = "Merkelapp:";
+App::$strings["Where are you right now?"] = "Hvor er du akkurat nå?";
+App::$strings["Page link name"] = "Sidens lenkenavn";
+App::$strings["Post as"] = "Lag innlegg som";
+App::$strings["Toggle voting"] = "Skru av eller på stemming";
+App::$strings["Categories (optional, comma-separated list)"] = "Kategorier (valgfri, kommaseparert liste)";
+App::$strings["Set publish date"] = "Angi publiseringsdato";
+App::$strings["OK"] = "OK";
+App::$strings["Discover"] = "Oppdage";
+App::$strings["Imported public streams"] = "Importerte offentlige strømmer";
+App::$strings["Commented Order"] = "Kommentert";
+App::$strings["Sort by Comment Date"] = "Sorter etter kommentert dato";
+App::$strings["Posted Order"] = "Lagt inn";
+App::$strings["Sort by Post Date"] = "Sorter etter innleggsdato";
+App::$strings["Posts that mention or involve you"] = "Innlegg som nevner eller involverer deg";
+App::$strings["Activity Stream - by date"] = "Aktivitetsstrøm - etter dato";
+App::$strings["Starred"] = "Stjerne";
+App::$strings["Favourite Posts"] = "Favorittinnlegg";
+App::$strings["Spam"] = "Søppel";
+App::$strings["Posts flagged as SPAM"] = "Innlegg merket som SØPPEL";
+App::$strings["Status Messages and Posts"] = "Statusmeldinger og -innlegg";
+App::$strings["About"] = "Om";
+App::$strings["Profile Details"] = "Profildetaljer";
+App::$strings["Photo Albums"] = "Fotoalbum";
+App::$strings["Files and Storage"] = "Filer og lagring";
+App::$strings["Saved Bookmarks"] = "Lagrede bokmerker";
+App::$strings["Manage Webpages"] = "Håndtere websider";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Deltar",
+ 1 => "Deltar",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Deltar ikke",
+ 1 => "Deltar ikke",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Ikke bestemt",
+ 1 => "Ikke bestemt",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "Enig",
+ 1 => "Enige",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Uenig",
+ 1 => "Uenige",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Avstår",
+ 1 => "Avstår",
+);
+App::$strings["Frequently"] = "Ofte";
+App::$strings["Hourly"] = "Hver time";
+App::$strings["Twice daily"] = "To ganger daglig";
+App::$strings["Daily"] = "Daglig";
+App::$strings["Weekly"] = "Ukentlig";
+App::$strings["Monthly"] = "Månedlig";
+App::$strings["Currently Male"] = "For tiden mann";
+App::$strings["Currently Female"] = "For tiden kvinne";
+App::$strings["Mostly Male"] = "For det meste mann";
+App::$strings["Mostly Female"] = "For det meste kvinne";
+App::$strings["Transgender"] = "Transkjønnet";
+App::$strings["Intersex"] = "interkjønnet";
+App::$strings["Transsexual"] = "Transseksuell";
+App::$strings["Hermaphrodite"] = "Hermafroditt";
+App::$strings["Neuter"] = "Intetkjønn";
+App::$strings["Non-specific"] = "Ubestemt";
+App::$strings["Other"] = "Annen";
+App::$strings["Undecided"] = "Ubestemt";
+App::$strings["Males"] = "Menn";
+App::$strings["Females"] = "Kvinner";
+App::$strings["Gay"] = "Homo";
+App::$strings["Lesbian"] = "Lesbisk";
+App::$strings["No Preference"] = "Ingen preferanse";
+App::$strings["Bisexual"] = "Biseksuell";
+App::$strings["Autosexual"] = "Autoseksuell";
+App::$strings["Abstinent"] = "Avholdende";
+App::$strings["Virgin"] = "Jomfru";
+App::$strings["Deviant"] = "Avviker";
+App::$strings["Fetish"] = "Fetisj";
+App::$strings["Oodles"] = "Masse";
+App::$strings["Nonsexual"] = "Ikke-seksuell";
+App::$strings["Single"] = "Enslig";
+App::$strings["Lonely"] = "Ensom";
+App::$strings["Available"] = "Tilgjengelig";
+App::$strings["Unavailable"] = "Ikke tilgjengelig";
+App::$strings["Has crush"] = "Er forelsket";
+App::$strings["Infatuated"] = "Betatt";
+App::$strings["Dating"] = "Sammen med";
+App::$strings["Unfaithful"] = "Utro";
+App::$strings["Sex Addict"] = "Sexavhengig";
+App::$strings["Friends/Benefits"] = "Venner med frynsegoder";
+App::$strings["Casual"] = "Tilfeldig";
+App::$strings["Engaged"] = "Forlovet";
+App::$strings["Married"] = "Gift";
+App::$strings["Imaginarily married"] = "Gift i fantasien";
+App::$strings["Partners"] = "Partnere";
+App::$strings["Cohabiting"] = "Samboer";
+App::$strings["Common law"] = "Samboer";
+App::$strings["Happy"] = "Lykkelig";
+App::$strings["Not looking"] = "Ikke på utkikk";
+App::$strings["Swinger"] = "Partnerbytte";
+App::$strings["Betrayed"] = "Bedratt";
+App::$strings["Separated"] = "Separert";
+App::$strings["Unstable"] = "Ustabilt";
+App::$strings["Divorced"] = "Skilt";
+App::$strings["Imaginarily divorced"] = "Skilt i fantasien";
+App::$strings["Widowed"] = "Enke";
+App::$strings["Uncertain"] = "Usikkert";
+App::$strings["It's complicated"] = "Det er komplisert";
+App::$strings["Don't care"] = "Bryr meg ikke";
+App::$strings["Ask me"] = "Spør meg";
+App::$strings["Visible to your default audience"] = "Synlig for ditt standard publikum";
+App::$strings["Only me"] = "";
+App::$strings["Public"] = "Offentlig";
+App::$strings["Anybody in the \$Projectname network"] = "";
+App::$strings["Any account on %s"] = "";
+App::$strings["Any of my connections"] = "";
+App::$strings["Only connections I specifically allow"] = "";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "";
+App::$strings["Any connections including those who haven't yet been approved"] = "";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "";
+App::$strings["This is your default setting for who can view your default channel profile"] = "";
+App::$strings["This is your default setting for who can view your connections"] = "";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "";
+App::$strings["This is your default setting for the audience of your webpages"] = "";
+App::$strings["Not a valid email address"] = "Ikke en gyldig e-postadresse";
+App::$strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet";
+App::$strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet.";
+App::$strings["An invitation is required."] = "En invitasjon er påkrevd.";
+App::$strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes.";
+App::$strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon.";
+App::$strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon.";
+App::$strings["Registration confirmation for %s"] = "Registreringsbekreftelse for %s";
+App::$strings["Registration request at %s"] = "Registreringsforespørsel hos %s";
+App::$strings["Administrator"] = "Administrator";
+App::$strings["your registration password"] = "ditt registreringspassord";
+App::$strings["Registration details for %s"] = "Registreringsdetaljer for %s";
+App::$strings["Account approved."] = "Konto godkjent.";
+App::$strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s";
+App::$strings["Account verified. Please login."] = "Konto bekreftet. Vennligst logg inn.";
+App::$strings["Click here to upgrade."] = "Klikk her for å oppgradere.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan.";
+App::$strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan.";
+App::$strings["Item was not found."] = "Elementet ble ikke funnet.";
+App::$strings["No source file."] = "Ingen kildefil.";
+App::$strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut";
+App::$strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres";
+App::$strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes.";
+App::$strings["Path not available."] = "Stien er ikke tilgjengelig.";
+App::$strings["Empty pathname"] = "Tomt sti-navn";
+App::$strings["duplicate filename or path"] = "duplikat av filnavn eller sti";
+App::$strings["Path not found."] = "Stien ble ikke funnet.";
+App::$strings["mkdir failed."] = "mkdir mislyktes.";
+App::$strings["database storage failed."] = "databaselagring mislyktes.";
+App::$strings["Empty path"] = "Tom sti";
+App::$strings["Unable to obtain identity information from database"] = "Klarer ikke å få tak i identitetsinformasjon fra databasen";
+App::$strings["Empty name"] = "Mangler navn";
+App::$strings["Name too long"] = "Navnet er for langt";
+App::$strings["No account identifier"] = "Ingen kontoidentifikator";
+App::$strings["Nickname is required."] = "Kallenavn er påkrevd.";
+App::$strings["Reserved nickname. Please choose another."] = "Reservert kallenavn. Vennligst velg et annet.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet.";
+App::$strings["Unable to retrieve created identity"] = "Klarer ikke å hente den lagede identiteten";
+App::$strings["Default Profile"] = "Standardprofil";
+App::$strings["Requested channel is not available."] = "Forespurt kanal er ikke tilgjengelig.";
+App::$strings["Create New Profile"] = "Lag ny profil";
+App::$strings["Visible to everybody"] = "";
+App::$strings["Gender:"] = "Kjønn:";
+App::$strings["Status:"] = "Status:";
+App::$strings["Homepage:"] = "Hjemmeside:";
+App::$strings["Online Now"] = "Online nå";
+App::$strings["Like this channel"] = "Lik denne kanalen";
+App::$strings["j F, Y"] = "j F, Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Fødselsdag:";
+App::$strings["for %1\$d %2\$s"] = "for %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Seksuell preferanse:";
+App::$strings["Tags:"] = "Merkelapper:";
+App::$strings["Political Views:"] = "Politiske synspunkter:";
+App::$strings["Religion:"] = "Religion:";
+App::$strings["Hobbies/Interests:"] = "Hobbyer/interesser:";
+App::$strings["Likes:"] = "Liker:";
+App::$strings["Dislikes:"] = "Misliker:";
+App::$strings["Contact information and Social Networks:"] = "Kontaktinformasjon og sosiale nettverk:";
+App::$strings["My other channels:"] = "Mine andre kanaler:";
+App::$strings["Musical interests:"] = "Musikkinteresse:";
+App::$strings["Books, literature:"] = "Bøker, litteratur:";
+App::$strings["Television:"] = "TV:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underholdning:";
+App::$strings["Love/Romance:"] = "Kjærlighet/romantikk:";
+App::$strings["Work/employment:"] = "Arbeid/sysselsetting:";
+App::$strings["School/education:"] = "Skole/utdannelse:";
+App::$strings["Like this thing"] = "Lik denne tingen";
+App::$strings["General Features"] = "Generelle funksjoner";
+App::$strings["Content Expiration"] = "Innholdet utløper";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden";
+App::$strings["Multiple Profiles"] = "Flere profiler";
+App::$strings["Ability to create multiple profiles"] = "Mulig å lage flere profiler";
+App::$strings["Advanced Profiles"] = "Avanserte profiler";
+App::$strings["Additional profile sections and selections"] = "Ytterlige seksjoner og utvalg til profilen";
+App::$strings["Profile Import/Export"] = "Profil-import/-eksport";
+App::$strings["Save and load profile details across sites/channels"] = "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler";
+App::$strings["Web Pages"] = "Web-sider";
+App::$strings["Provide managed web pages on your channel"] = "Tilby kontrollerte web-sider på din kanal";
+App::$strings["Hide Rating"] = "Skjul vurdering";
+App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Skjul vurderingsknappene for din kanal og profilsider. Merknad: folk kan fortsatt vurdere deg et annet sted.";
+App::$strings["Private Notes"] = "Private merknader";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Skru på et verktøy for å lagre notater og påminnelser (merknad: ikke kryptert)";
+App::$strings["Navigation Channel Select"] = "Navigasjon kanalvalg";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Endre kanaler direkte fra navigasjonsmenyen";
+App::$strings["Photo Location"] = "Bildeplassering";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart.";
+App::$strings["Access Controlled Chatrooms"] = "";
+App::$strings["Provide chatrooms and chat services with access control."] = "";
+App::$strings["Smart Birthdays"] = "";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "";
+App::$strings["Expert Mode"] = "Ekspertmodus";
+App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg";
+App::$strings["Premium Channel"] = "Premiumkanal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal";
+App::$strings["Post Composition Features"] = "Funksjoner for å lage innlegg";
+App::$strings["Large Photos"] = "Store bilder";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder.";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Automatisk import av kanalinnhold fra andre kanaler eller strømmer";
+App::$strings["Even More Encryption"] = "Enda mer kryptering";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel";
+App::$strings["Enable Voting Tools"] = "Skru på verktøy for å stemme";
+App::$strings["Provide a class of post which others can vote on"] = "Tilby en type innlegg som andre kan stemme på";
+App::$strings["Delayed Posting"] = "Tidfest publisering";
+App::$strings["Allow posts to be published at a later date"] = "Tillat innlegg å bli publisert på et senere tidspunkt";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Forhindre duplikat av innlegg/kommentarer";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene.";
+App::$strings["Network and Stream Filtering"] = "Nettverk- og strømfiltrering";
+App::$strings["Search by Date"] = "Søk etter dato";
+App::$strings["Ability to select posts by date ranges"] = "Mulighet for å velge innlegg etter datoområde";
+App::$strings["Privacy Groups"] = "Personverngrupper";
+App::$strings["Enable management and selection of privacy groups"] = "Skru på håndtering og valg av personverngrupper";
+App::$strings["Save search terms for re-use"] = "Lagre søkeuttrykk for senere bruk";
+App::$strings["Network Personal Tab"] = "Nettverk personlig fane";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i";
+App::$strings["Network New Tab"] = "Nettverk Ny fane";
+App::$strings["Enable tab to display all new Network activity"] = "Skru på fane for å vise all ny nettverksaktivitet";
+App::$strings["Affinity Tool"] = "Nærhetsverktøy";
+App::$strings["Filter stream activity by depth of relationships"] = "Filtrer strømaktiviteten etter releasjonsdybde";
+App::$strings["Connection Filtering"] = "Filtrer forbindelser";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold";
+App::$strings["Show channel suggestions"] = "Vis kanalforslag";
+App::$strings["Post/Comment Tools"] = "Innlegg-/Kommentar-verktøy";
+App::$strings["Community Tagging"] = "Felleskapsmerkelapper";
+App::$strings["Ability to tag existing posts"] = "Mulighet til å merke eksisterende meldinger";
+App::$strings["Post Categories"] = "Innleggskategorier";
+App::$strings["Add categories to your posts"] = "Legg kategorier til dine innlegg";
+App::$strings["Emoji Reactions"] = "";
+App::$strings["Add emoji reaction ability to posts"] = "";
+App::$strings["Ability to file posts under folders"] = "Mulighet til å sortere innlegg i mapper";
+App::$strings["Dislike Posts"] = "Mislik innlegg";
+App::$strings["Ability to dislike posts/comments"] = "Mulighet til å mislike innlegg/kommentarer";
+App::$strings["Star Posts"] = "Stjerneinnlegg";
+App::$strings["Ability to mark special posts with a star indicator"] = "Mulighet til å merke spesielle innlegg med en stjerne";
+App::$strings["Tag Cloud"] = "Merkelappsky";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Tilby en personlig merkelappsky på din kanalside";
+App::$strings["Embedded content"] = "Innebygget innhold";
+App::$strings["Embedding disabled"] = "Innbygging avskrudd";
+App::$strings["Who can see this?"] = "";
+App::$strings["Custom selection"] = "";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "";
+App::$strings["Show"] = "Vis";
+App::$strings["Don't show"] = "Ikke vis";
+App::$strings["Other networks and post services"] = "Andre nettverk og innleggstjenester";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "";
+App::$strings["Logged out."] = "Logget ut.";
+App::$strings["Failed authentication"] = "Mislykket autentisering";
+App::$strings["Birthday"] = "";
+App::$strings["Age: "] = "Alder:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD eller MM-DD";
+App::$strings["never"] = "aldri";
+App::$strings["less than a second ago"] = "for mindre enn ett sekund siden";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s siden";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "år",
+ 1 => "år",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "måned",
+ 1 => "måneder",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "uke",
+ 1 => "uker",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "dag",
+ 1 => "dager",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "time",
+ 1 => "timer",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minutt",
+ 1 => "minutter",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "sekund",
+ 1 => "sekunder",
+);
+App::$strings["%1\$s's birthday"] = "%1\$s sin fødselsdag";
+App::$strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn.";
+App::$strings["Add new connections to this privacy group"] = "Legg nye forbindelser i denne personverngruppen";
+App::$strings["edit"] = "endre";
+App::$strings["Edit group"] = "Endre gruppe";
+App::$strings["Add privacy group"] = "Legg til personverngruppe";
+App::$strings["Channels not in any privacy group"] = "Kanaler uten personverngruppe";
+App::$strings["Delete this item?"] = "Slett dette elementet?";
+App::$strings["[-] show less"] = "[-] Vis mindre";
+App::$strings["[+] expand"] = "[+] Utvid";
+App::$strings["[-] collapse"] = "[-] Lukk";
+App::$strings["Password too short"] = "Passordet er for kort";
+App::$strings["Passwords do not match"] = "Passordene er ikke like";
+App::$strings["everybody"] = "alle";
+App::$strings["Secret Passphrase"] = "Hemmelig passordsetning";
+App::$strings["Passphrase hint"] = "Hint om passordsetning";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn.";
+App::$strings["close all"] = "Lukk alle";
+App::$strings["Nothing new here"] = "Ikke noe nytt her";
+App::$strings["Rate This Channel (this is public)"] = "Vurder denne kanalen (dette er offentlig)";
+App::$strings["Describe (optional)"] = "Beskriv (valgfritt)";
+App::$strings["Please enter a link URL"] = "Vennligst skriv inn en lenke URL:";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?";
+App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+App::$strings["ago"] = "siden";
+App::$strings["from now"] = "fra nå";
+App::$strings["less than a minute"] = "mindre enn ett minutt";
+App::$strings["about a minute"] = "omtrent et minutt";
+App::$strings["%d minutes"] = "%d minutter";
+App::$strings["about an hour"] = "omtrent en time";
+App::$strings["about %d hours"] = "omtrent %d timer";
+App::$strings["a day"] = "en dag";
+App::$strings["%d days"] = "%d dager";
+App::$strings["about a month"] = "omtrent en måned";
+App::$strings["%d months"] = "%d måneder";
+App::$strings["about a year"] = "omtrent et år";
+App::$strings["%d years"] = "%d år";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "mai";
+App::$strings["Jan"] = "Jan";
+App::$strings["Feb"] = "Feb";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Apr";
+App::$strings["__ctx:short__ May"] = "mai";
+App::$strings["Jun"] = "Jun";
+App::$strings["Jul"] = "Jul";
+App::$strings["Aug"] = "Aug";
+App::$strings["Sep"] = "Sep";
+App::$strings["Oct"] = "Okt";
+App::$strings["Nov"] = "Nov";
+App::$strings["Dec"] = "Des";
+App::$strings["Sun"] = "Søn";
+App::$strings["Mon"] = "Man";
+App::$strings["Tue"] = "Tirs";
+App::$strings["Wed"] = "Ons";
+App::$strings["Thu"] = "Tors";
+App::$strings["Fri"] = "Fre";
+App::$strings["Sat"] = "Lør";
+App::$strings["__ctx:calendar__ today"] = "idag";
+App::$strings["__ctx:calendar__ month"] = "måned";
+App::$strings["__ctx:calendar__ week"] = "uke";
+App::$strings["__ctx:calendar__ day"] = "dag";
+App::$strings["__ctx:calendar__ All day"] = "Hele dagen";
+App::$strings["view full size"] = "vis full størrelse";
+App::$strings["No Subject"] = "Uten emne";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes";
+App::$strings["Image file is empty."] = "Bildefilen er tom.";
+App::$strings["Photo storage failed."] = "Bildelagring mislyktes.";
+App::$strings["a new photo"] = "et nytt bilde";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s la inn %2\$s til %3\$s";
+App::$strings["Upload New Photos"] = "Last opp nye bilder";
+App::$strings["Invalid data packet"] = "Ugyldig datapakke";
+App::$strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen";
+App::$strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s";
+App::$strings["invalid target signature"] = "Målets signatur er ugyldig";
+App::$strings["New Page"] = "Ny side";
+App::$strings["Title"] = "Tittel";
+App::$strings["Can view my normal stream and posts"] = "Kan se min normale strøm og innlegg";
+App::$strings["Can view my default channel profile"] = "Kan se min standard kanalprofil";
+App::$strings["Can view my connections"] = "Kan se mine forbindelser";
+App::$strings["Can view my file storage and photos"] = "Kan se mine filer og bilder";
+App::$strings["Can view my webpages"] = "Kan se mine websider";
+App::$strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg";
+App::$strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")";
+App::$strings["Can comment on or like my posts"] = "Kan kommentere på eller like mine innlegg";
+App::$strings["Can send me private mail messages"] = "Kan sende meg private meldinger";
+App::$strings["Can like/dislike stuff"] = "Kan like/ikke like forskjellige greier";
+App::$strings["Profiles and things other than posts/comments"] = "Profiler og andre ting enn innlegg/kommentarer";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper";
+App::$strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)";
+App::$strings["Can write to my file storage and photos"] = "Kan skrive til mitt lager for filer og bilder";
+App::$strings["Can edit my webpages"] = "Kan endre mine websider";
+App::$strings["Can source my public posts in derived channels"] = "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap";
+App::$strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør";
+App::$strings["Social Networking"] = "Sosialt nettverk";
+App::$strings["Social - Mostly Public"] = "Sosial - ganske offentlig";
+App::$strings["Social - Restricted"] = "Sosial - begrenset";
+App::$strings["Social - Private"] = "Sosial - privat";
+App::$strings["Community Forum"] = "Forum for fellesskap";
+App::$strings["Forum - Mostly Public"] = "Forum - ganske offentlig";
+App::$strings["Forum - Restricted"] = "Forum - begrenset";
+App::$strings["Forum - Private"] = "Forum - privat";
+App::$strings["Feed Republish"] = "Republisering av strømmet innhold";
+App::$strings["Feed - Mostly Public"] = "Strøm - ganske offentlig";
+App::$strings["Feed - Restricted"] = "Strøm - begrenset";
+App::$strings["Special Purpose"] = "Spesiell bruk";
+App::$strings["Special - Celebrity/Soapbox"] = "Spesiell - kjendis/talerstol";
+App::$strings["Special - Group Repository"] = "Spesiell - gruppelager";
+App::$strings["Custom/Expert Mode"] = "Tilpasset/Ekspertmodus";
+App::$strings[" and "] = "og";
+App::$strings["public profile"] = "offentlig profil";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s endret %2\$s til &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Besøk %1\$s sitt %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s har oppdatert %2\$s, endret %3\$s.";
+App::$strings["Attachments:"] = "Vedlegg:";
+App::$strings["\$Projectname event notification:"] = "\$Projectname hendelsesvarsling:";
App::$strings["Focus (Hubzilla default)"] = "Focus (Hubzilla standardtema)";
App::$strings["Theme settings"] = "Temainnstillinger";
App::$strings["Select scheme"] = "Velg skjema";
@@ -2256,6 +2289,8 @@ App::$strings["Left align page content"] = "Venstrejuster sideinnhold";
App::$strings["Set minimum opacity of nav bar - to hide it"] = "Angi minste dekkevne for navigasjonslinjen - for å skjule den";
App::$strings["Set size of conversation author photo"] = "Angi størrelsen for samtalens forfatterbilde";
App::$strings["Set size of followup author photos"] = "Angi størrelsen på forfatterbilder ved oppfølging";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "";
App::$strings["Update %s failed. See error logs."] = "Oppdatering %s mislyktes. Se feilloggen.";
App::$strings["Update Error at %s"] = "Oppdateringsfeil ved %s";
App::$strings["Create an account to access services and applications within the Hubzilla"] = "Lag en konto for å få tilgang til tjenester og programmer i Hubzilla";
diff --git a/view/nl/hmessages.po b/view/nl/hmessages.po
index 4e0a24501..9219a1c06 100644
--- a/view/nl/hmessages.po
+++ b/view/nl/hmessages.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-06-03 00:02-0700\n"
-"PO-Revision-Date: 2016-06-04 12:33+0000\n"
+"POT-Creation-Date: 2016-06-10 00:02-0700\n"
+"PO-Revision-Date: 2016-06-10 13:57+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "parent"
msgstr "omhoog"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2605
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
msgid "Collection"
msgstr "map"
@@ -48,14 +48,14 @@ msgstr "Planning-postvak UIT"
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
-#: ../../Zotlabs/Lib/Apps.php:561 ../../include/conversation.php:1032
-#: ../../include/widgets.php:1503
+#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
+#: ../../include/conversation.php:1032
msgid "Unknown"
msgstr "Onbekend"
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/conversation.php:1639
-#: ../../include/nav.php:93
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
+#: ../../include/conversation.php:1639
msgid "Files"
msgstr "Bestanden"
@@ -76,13 +76,13 @@ msgstr "Aanmaken"
#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1368
-#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1516
+#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
msgid "Upload"
msgstr "Uploaden"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Admin.php:1204
-#: ../../Zotlabs/Module/Chat.php:247 ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
#: ../../Zotlabs/Module/Settings.php:618
#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
@@ -93,7 +93,7 @@ msgid "Type"
msgstr "Type"
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1329
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
msgid "Size"
msgstr "Grootte"
@@ -102,35 +102,34 @@ msgstr "Grootte"
msgid "Last Modified"
msgstr "Laatst gewijzigd"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Admin.php:2093
-#: ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Editlayout.php:113
#: ../../Zotlabs/Module/Editwebpage.php:146
#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:187 ../../Zotlabs/Lib/Apps.php:337
-#: ../../Zotlabs/Lib/ThreadItem.php:96 ../../include/channel.php:937
-#: ../../include/channel.php:941 ../../include/menu.php:108
-#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
+#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
+#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../include/channel.php:937 ../../include/channel.php:941
+#: ../../include/menu.php:108 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36
msgid "Edit"
msgstr "Bewerken"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Admin.php:1041
-#: ../../Zotlabs/Module/Admin.php:1198 ../../Zotlabs/Module/Admin.php:2094
-#: ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
#: ../../Zotlabs/Module/Connedit.php:572
#: ../../Zotlabs/Module/Editblock.php:134
+#: ../../Zotlabs/Module/Connections.php:263
#: ../../Zotlabs/Module/Editlayout.php:136
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Settings.php:653
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Webpages.php:189
-#: ../../Zotlabs/Lib/Apps.php:338 ../../Zotlabs/Lib/ThreadItem.php:116
-#: ../../include/conversation.php:657
+#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
+#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
msgid "Delete"
msgstr "Verwijderen"
@@ -156,50 +155,57 @@ msgstr "Nieuwe map aanmaken"
msgid "Upload file"
msgstr "Bestand uploaden"
-#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:121
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Api.php:13
-#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:385
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
+#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Channel.php:105 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Common.php:39
-#: ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Connedit.php:366
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:69
#: ../../Zotlabs/Module/Editwebpage.php:90
#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127
-#: ../../Zotlabs/Module/Events.php:265 ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
+#: ../../Zotlabs/Module/Filestorage.php:24
#: ../../Zotlabs/Module/Filestorage.php:79
#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Id.php:76 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Item.php:210
+#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:129
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mitem.php:115
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
+#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Notifications.php:70
+#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
+#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601
#: ../../Zotlabs/Module/Profile_photo.php:256
#: ../../Zotlabs/Module/Profile_photo.php:269
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Service_limits.php:11
#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
#: ../../Zotlabs/Module/Sharedwithme.php:11
@@ -209,14 +215,14 @@ msgstr "Bestand uploaden"
#: ../../Zotlabs/Module/Viewconnections.php:25
#: ../../Zotlabs/Module/Viewconnections.php:30
#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
+#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
#: ../../include/attach.php:141 ../../include/attach.php:189
#: ../../include/attach.php:252 ../../include/attach.php:266
#: ../../include/attach.php:273 ../../include/attach.php:338
#: ../../include/attach.php:352 ../../include/attach.php:359
#: ../../include/attach.php:437 ../../include/attach.php:895
#: ../../include/attach.php:966 ../../include/attach.php:1118
-#: ../../include/items.php:3440
+#: ../../include/photos.php:27
msgid "Permission denied."
msgstr "Toegang geweigerd."
@@ -230,14 +236,6 @@ msgstr "Niet gevonden"
msgid "Page not found."
msgstr "Pagina niet gevonden."
-#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Import_items.php:112 ../../Zotlabs/Module/Like.php:284
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:385
-msgid "Permission denied"
-msgstr "Toegang geweigerd"
-
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
@@ -264,1252 +262,12 @@ msgstr "Opgevraagd profiel is niet beschikbaar"
msgid "Some blurb about what to do when you're new here"
msgstr "Welkom op $Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van $Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met $Projectname klik je op het vraagteken."
-#: ../../Zotlabs/Module/Acl.php:225
-msgid "network"
-msgstr "netwerk"
-
-#: ../../Zotlabs/Module/Acl.php:235
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Thema-instellingen bijgewerkt."
-
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1235
-#: ../../Zotlabs/Module/Admin.php:1541 ../../Zotlabs/Module/Display.php:40
-#: ../../Zotlabs/Module/Filestorage.php:33 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3361
-msgid "Item not found."
-msgstr "Item niet gevonden."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# accounts"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# geblokkeerde accounts"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# verlopen accounts"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# accounts die nog moeten verlopen"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# Kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primair"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# klonen"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Berichtenwachtrij"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Jouw software moet worden bijgewerkt "
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1194
-#: ../../Zotlabs/Module/Admin.php:1309 ../../Zotlabs/Module/Admin.php:1399
-#: ../../Zotlabs/Module/Admin.php:1592 ../../Zotlabs/Module/Admin.php:1626
-#: ../../Zotlabs/Module/Admin.php:1711
-msgid "Administration"
-msgstr "Beheer"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Samenvatting"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Geregistreerde accounts"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Accounts die op goedkeuring wachten"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Geregistreerde kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Ingeschakelde plugins"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versie"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versie repository (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versie repository (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Hub-instellingen bijgewerkt."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2826
-msgid "Default"
-msgstr "Standaard"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
-msgid "mobile"
-msgstr "mobiel"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimenteel"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "Niet ondersteund"
-
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:89
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "No"
-msgstr "Nee"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Ja - met goedkeuring"
-
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:88
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1699
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mijn $Projectname-hub is niet openbaar"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1380
-msgid "Site"
-msgstr "Hub-instellingen"
-
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1034
-#: ../../Zotlabs/Module/Admin.php:1196 ../../Zotlabs/Module/Admin.php:1401
-#: ../../Zotlabs/Module/Admin.php:1628 ../../Zotlabs/Module/Admin.php:1713
-#: ../../Zotlabs/Module/Admin.php:2096 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
-#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Events.php:672
-#: ../../Zotlabs/Module/Filestorage.php:162 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Import.php:550
-#: ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mitem.php:235
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
-#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
-#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
-#: ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:699 ../../include/widgets.php:757
-#: ../../include/widgets.php:769 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Opslaan"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
-msgstr "Registratie"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Bestand uploaden"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Beleid"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Geavanceerd"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Naam van deze $Projectname-hub"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Informatie over de beheerder van deze hub"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "Standaardtaal"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Standaardthema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Standaardthema voor mobiel"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Thema voor mobiele apparaten"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Sta feeds toe als connecties"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(sterk negatieve invloed op systeembronnen hub)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Maximale grootte van afbeeldingen"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Staat deze hub nieuwe accounts toe?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Alleen op uitnodiging"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Tekst tijdens registratie"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Behoudt de URL van de hub (/)"
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Toegestane domeinen"
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Toegestane e-maildomeinen"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Niet toegestane e-maildomeinen"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "E-mailadres verifieren"
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Dwing kanaalvermelding af"
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Openbare streams importeren"
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Inlogformulier op de homepagina"
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Schakel contextuele hulp in"
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt."
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "Server-URL voor de kanalengids"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Standaardserver voor de kanalengids"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Gebruikersnaam proxy"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Proxy-URL"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Netwerktimeout"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Afleveringsinterval"
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Leveringen per serverproces"
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Poll-interval"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Maximaal gemiddelde systeembelasting"
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "Off"
-msgstr "Uit"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "On"
-msgstr "Aan"
-
-#: ../../Zotlabs/Module/Admin.php:678
-#, php-format
-msgid "Lock feature %s"
-msgstr " Vergrendel de functie '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Beheer - Extra functies"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Geen hub gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "voor kanaal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "op hub"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Connections.php:270
-msgid "Status"
-msgstr "Status"
-
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Hubbeheer"
-
-#: ../../Zotlabs/Module/Admin.php:746
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig."
-
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:"
-
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd."
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1383
-msgid "Security"
-msgstr "Beveiliging"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Openbare toegang blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd."
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "\"Transport Security\" HTTP-header inschakelen"
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr " \"Content Security Policy\" HTTP-header inschakelen"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Alleen communicatie met deze hubs toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan"
-
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Communicatie met deze hubs blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Sta alleen communicatie toe met deze kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan"
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Communicatie met deze kanalen blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "Update is als succesvol gemarkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Update %s was geslaagd."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Update-functie %s kon niet gevonden worden."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "Geen mislukte updates."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Mislukte updates"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Poging om deze stap van de update automatisch uit te voeren."
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Wachtrij-statistieken"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Aantal vermeldingen"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Prioriteit"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Doel-URL"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Hub als permanent offline markeren"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Berichtenwachtrij voor deze hub legen"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Voor het laatst contact"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
-msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s account verwijderd"
-msgstr[1] "%s accounts verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Account niet gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Account '%s' verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Account '%s' geblokkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Account '%s' gedeblokkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1045
-msgid "Users"
-msgstr "Accounts"
-
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1197
-msgid "select all"
-msgstr "alles selecteren"
-
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "User registrations waiting for confirm"
-msgstr "Accounts die op goedkeuring wachten"
-
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Request date"
-msgstr "Tijd/datum verzoek"
-
-#: ../../Zotlabs/Module/Admin.php:1037 ../../Zotlabs/Module/Admin.php:1046
-#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../include/network.php:2151 ../../boot.php:1697
-msgid "Email"
-msgstr "E-mail"
-
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "No registrations."
-msgstr "Geen verzoeken."
-
-#: ../../Zotlabs/Module/Admin.php:1039
-#: ../../Zotlabs/Module/Connections.php:275
-msgid "Approve"
-msgstr "Goedkeuren"
-
-#: ../../Zotlabs/Module/Admin.php:1040
-msgid "Deny"
-msgstr "Afkeuren"
-
-#: ../../Zotlabs/Module/Admin.php:1042 ../../Zotlabs/Module/Connedit.php:540
-msgid "Block"
-msgstr "Blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:1043 ../../Zotlabs/Module/Connedit.php:540
-msgid "Unblock"
-msgstr "Deblokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:1046 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Alle kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Register date"
-msgstr "Geregistreerd"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Last login"
-msgstr "Laatste keer ingelogd"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Expires"
-msgstr "Verloopt"
-
-#: ../../Zotlabs/Module/Admin.php:1046
-msgid "Service Class"
-msgstr "Abonnementen"
-
-#: ../../Zotlabs/Module/Admin.php:1048
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1085
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
-msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-
-#: ../../Zotlabs/Module/Admin.php:1094
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Scripts toegestaan/niet toegestaan voor %s kanaal"
-msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s kanaal verwijderd"
-msgstr[1] "%s kanalen verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:1120
-msgid "Channel not found"
-msgstr "Kanaal niet gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:1130
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Kanaal '%s' verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:1142
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanaal '%s' gecensureerd"
-
-#: ../../Zotlabs/Module/Admin.php:1142
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Kanaal '%s' ongecensureerd"
-
-#: ../../Zotlabs/Module/Admin.php:1153
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Scripts toegestaan voor kanaal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1153
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Scripts niet toegestaan voor kanaal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1195 ../../include/widgets.php:1382
-msgid "Channels"
-msgstr "Kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:1199
-msgid "Censor"
-msgstr "Censureren"
-
-#: ../../Zotlabs/Module/Admin.php:1200
-msgid "Uncensor"
-msgstr "Niet censureren"
-
-#: ../../Zotlabs/Module/Admin.php:1201
-msgid "Allow Code"
-msgstr "Scripts toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:1202
-msgid "Disallow Code"
-msgstr "Scripts niet toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:1203 ../../include/conversation.php:1611
-msgid "Channel"
-msgstr "Kanaal"
-
-#: ../../Zotlabs/Module/Admin.php:1204
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1204 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Profiles.php:470
-msgid "Address"
-msgstr "Kanaaladres"
-
-#: ../../Zotlabs/Module/Admin.php:1206
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1207
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1264
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s uitgeschakeld."
-
-#: ../../Zotlabs/Module/Admin.php:1268
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s ingeschakeld"
-
-#: ../../Zotlabs/Module/Admin.php:1278 ../../Zotlabs/Module/Admin.php:1565
-msgid "Disable"
-msgstr "Uitschakelen"
-
-#: ../../Zotlabs/Module/Admin.php:1281 ../../Zotlabs/Module/Admin.php:1567
-msgid "Enable"
-msgstr "Inschakelen"
-
-#: ../../Zotlabs/Module/Admin.php:1310 ../../Zotlabs/Module/Admin.php:1400
-#: ../../include/widgets.php:1385
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../../Zotlabs/Module/Admin.php:1311 ../../Zotlabs/Module/Admin.php:1594
-msgid "Toggle"
-msgstr "Omschakelen"
-
-#: ../../Zotlabs/Module/Admin.php:1312 ../../Zotlabs/Module/Admin.php:1595
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:208
-#: ../../include/widgets.php:638
-msgid "Settings"
-msgstr "Instellingen"
-
-#: ../../Zotlabs/Module/Admin.php:1319 ../../Zotlabs/Module/Admin.php:1604
-msgid "Author: "
-msgstr "Auteur: "
-
-#: ../../Zotlabs/Module/Admin.php:1320 ../../Zotlabs/Module/Admin.php:1605
-msgid "Maintainer: "
-msgstr "Beheerder: "
-
-#: ../../Zotlabs/Module/Admin.php:1321
-msgid "Minimum project version: "
-msgstr "Minimum versie Hubzilla: "
-
-#: ../../Zotlabs/Module/Admin.php:1322
-msgid "Maximum project version: "
-msgstr "Maximum versie Hubzilla:"
-
-#: ../../Zotlabs/Module/Admin.php:1323
-msgid "Minimum PHP version: "
-msgstr "Minimum versie PHP: "
-
-#: ../../Zotlabs/Module/Admin.php:1324
-msgid "Requires: "
-msgstr "Vereist: "
-
-#: ../../Zotlabs/Module/Admin.php:1325 ../../Zotlabs/Module/Admin.php:1405
-msgid "Disabled - version incompatibility"
-msgstr "Uitgeschakeld - versie is incompatibel"
-
-#: ../../Zotlabs/Module/Admin.php:1374
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Vul de openbare Git-URL in van de plugin-repository."
-
-#: ../../Zotlabs/Module/Admin.php:1375
-msgid "Plugin repo git URL"
-msgstr "Git-URL plugin-repository"
-
-#: ../../Zotlabs/Module/Admin.php:1376
-msgid "Custom repo name"
-msgstr "Handmatige repository-naam"
-
-#: ../../Zotlabs/Module/Admin.php:1376
-msgid "(optional)"
-msgstr "(optioneel)"
-
-#: ../../Zotlabs/Module/Admin.php:1377
-msgid "Download Plugin Repo"
-msgstr "Plugin-repository downloaden"
-
-#: ../../Zotlabs/Module/Admin.php:1384
-msgid "Install new repo"
-msgstr "Nieuwe repository installeren"
-
-#: ../../Zotlabs/Module/Admin.php:1385 ../../Zotlabs/Lib/Apps.php:330
-msgid "Install"
-msgstr "Installeren"
-
-#: ../../Zotlabs/Module/Admin.php:1386 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
-msgid "Cancel"
-msgstr "Annuleren"
-
-#: ../../Zotlabs/Module/Admin.php:1407
-msgid "Manage Repos"
-msgstr "Repositories beheren"
-
-#: ../../Zotlabs/Module/Admin.php:1408
-msgid "Installed Plugin Repositories"
-msgstr "Toegevoegde plugin-repositories"
-
-#: ../../Zotlabs/Module/Admin.php:1409
-msgid "Install a New Plugin Repository"
-msgstr "Nieuwe plugin-repository toevoegen"
-
-#: ../../Zotlabs/Module/Admin.php:1415 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
-msgid "Update"
-msgstr "Bijwerken"
-
-#: ../../Zotlabs/Module/Admin.php:1416
-msgid "Switch branch"
-msgstr "Branch veranderen"
-
-#: ../../Zotlabs/Module/Admin.php:1417 ../../Zotlabs/Module/Photos.php:998
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Verwijderen"
-
-#: ../../Zotlabs/Module/Admin.php:1530
-msgid "No themes found."
-msgstr "Geen thema's gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:1586
-msgid "Screenshot"
-msgstr "Schermafdruk"
-
-#: ../../Zotlabs/Module/Admin.php:1593 ../../Zotlabs/Module/Admin.php:1627
-#: ../../include/widgets.php:1386
-msgid "Themes"
-msgstr "Thema's"
-
-#: ../../Zotlabs/Module/Admin.php:1632
-msgid "[Experimental]"
-msgstr "[Experimenteel]"
-
-#: ../../Zotlabs/Module/Admin.php:1633
-msgid "[Unsupported]"
-msgstr "[Niet ondersteund]"
-
-#: ../../Zotlabs/Module/Admin.php:1657
-msgid "Log settings updated."
-msgstr "Logboek-instellingen bijgewerkt."
-
-#: ../../Zotlabs/Module/Admin.php:1712 ../../include/widgets.php:1407
-#: ../../include/widgets.php:1417
-msgid "Logs"
-msgstr "Logboeken"
-
-#: ../../Zotlabs/Module/Admin.php:1714
-msgid "Clear"
-msgstr "Leegmaken"
-
-#: ../../Zotlabs/Module/Admin.php:1720
-msgid "Debugging"
-msgstr "Debuggen"
-
-#: ../../Zotlabs/Module/Admin.php:1721
-msgid "Log file"
-msgstr "Logbestand"
-
-#: ../../Zotlabs/Module/Admin.php:1721
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
-
-#: ../../Zotlabs/Module/Admin.php:1722
-msgid "Log level"
-msgstr "Logniveau"
-
-#: ../../Zotlabs/Module/Admin.php:2008
-msgid "New Profile Field"
-msgstr "Nieuw profielveld"
-
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
-msgid "Field nickname"
-msgstr "Bijnaam voor veld"
-
-#: ../../Zotlabs/Module/Admin.php:2009 ../../Zotlabs/Module/Admin.php:2029
-msgid "System name of field"
-msgstr "Systeemnaam voor veld"
-
-#: ../../Zotlabs/Module/Admin.php:2010 ../../Zotlabs/Module/Admin.php:2030
-msgid "Input type"
-msgstr "Invoertype"
-
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
-msgid "Field Name"
-msgstr "Veldnaam"
-
-#: ../../Zotlabs/Module/Admin.php:2011 ../../Zotlabs/Module/Admin.php:2031
-msgid "Label on profile pages"
-msgstr "Tekstlabel voor op profielpagina's"
-
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
-msgid "Help text"
-msgstr "Helptekst"
-
-#: ../../Zotlabs/Module/Admin.php:2012 ../../Zotlabs/Module/Admin.php:2032
-msgid "Additional info (optional)"
-msgstr "Extra informatie (optioneel)"
-
-#: ../../Zotlabs/Module/Admin.php:2013 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:946 ../../include/text.php:958
-msgid "Save"
-msgstr "Opslaan"
-
-#: ../../Zotlabs/Module/Admin.php:2022
-msgid "Field definition not found"
-msgstr "Velddefinitie niet gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "Edit Profile Field"
-msgstr "Profielveld bewerken"
-
-#: ../../Zotlabs/Module/Admin.php:2086 ../../include/widgets.php:1388
-msgid "Profile Fields"
-msgstr "Profielvelden"
-
-#: ../../Zotlabs/Module/Admin.php:2087
-msgid "Basic Profile Fields"
-msgstr "Standaard profielvelden"
-
-#: ../../Zotlabs/Module/Admin.php:2088
-msgid "Advanced Profile Fields"
-msgstr "Geavanceerde profielvelden"
-
-#: ../../Zotlabs/Module/Admin.php:2088
-msgid "(In addition to basic fields)"
-msgstr "(als toevoeging op de standaard velden)"
-
-#: ../../Zotlabs/Module/Admin.php:2090
-msgid "All available fields"
-msgstr "Alle beschikbare velden"
-
-#: ../../Zotlabs/Module/Admin.php:2091
-msgid "Custom Fields"
-msgstr "Extra (handmatig toegevoegde) velden"
-
-#: ../../Zotlabs/Module/Admin.php:2095
-msgid "Create Custom Field"
-msgstr "Extra velden aanmaken"
-
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr "Geef toestemming voor applicatiekoppeling"
-
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Ga terug naar je app en voeg deze beveiligingscode in:"
-
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr "Inloggen om verder te kunnen gaan."
-
-#: ../../Zotlabs/Module/Api.php:87
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
-
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
-msgstr "App geïnstalleerd"
-
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
-msgstr "Misvormde app."
-
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
-msgstr "Insluitcode"
-
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr "App bewerken"
-
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
-msgstr "App maken"
-
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
-msgstr "Naam van app"
-
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr "Vereist"
-
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
-msgstr "Locatie (URL) van app"
-
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr "Omschrijving"
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
-msgstr "URL van pictogram"
-
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels (optioneel)"
-
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
-msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
-
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
-msgstr "Versie-ID"
-
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
-msgstr "Prijs van de app"
-
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
-msgstr "Locatie (URL) om de app aan te schaffen"
-
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:163
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr "Apps"
-
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Item is niet aanwezig."
-
-#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
-msgid "Invalid item."
-msgstr "Ongeldig item."
-
-#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Cal.php:62
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Kanaal niet gevonden."
-
#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
#: ../../Zotlabs/Module/Editblock.php:108
msgid "Block Name"
msgstr "Bloknaam"
-#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2250
+#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
msgid "Blocks"
msgstr "Blokken"
@@ -1541,17 +299,10 @@ msgstr "Delen"
msgid "View"
msgstr "Weergeven"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Bladwijzer toegevoegd"
-
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Mijn bladwijzers"
-
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Bladwijzers van mijn connecties"
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Kanaal niet gevonden."
#: ../../Zotlabs/Module/Cal.php:69
msgid "Permissions denied."
@@ -1562,7 +313,7 @@ msgid "l, F j"
msgstr "l j F"
#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
-#: ../../include/text.php:1717
+#: ../../include/text.php:1732
msgid "Link to Source"
msgstr "Originele locatie"
@@ -1596,6 +347,38 @@ msgstr "Exporteren"
msgid "Import"
msgstr "Importeren"
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
+#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Import.php:550
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
+#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
+#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
+#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
+#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
+#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
+#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
+#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
+#: ../../Zotlabs/Module/Settings.php:842
+#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
+#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
+#: ../../include/widgets.php:769 ../../include/js_strings.php:22
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Opslaan"
+
#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
msgid "Today"
msgstr "Vandaag"
@@ -1646,7 +429,7 @@ msgid "Please enter a link URL:"
msgstr "Vul een URL in:"
#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
-#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:711
+#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
#: ../../include/conversation.php:1256
msgid "Encrypt text"
msgstr "Tekst versleutelen"
@@ -1710,17 +493,21 @@ msgstr "Afwezig"
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "Geen kanaal."
+#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
+msgid "Invalid item."
+msgstr "Ongeldig item."
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Veel voorkomende connecties"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Bladwijzer toegevoegd"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "Geen gemeenschappelijke connecties."
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Mijn bladwijzers"
+
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Bladwijzers van mijn connecties"
#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
@@ -1765,148 +552,6 @@ msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigena
msgid "Restricted or Premium Channel"
msgstr "Beperkt of premiumkanaal"
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
-msgstr "Geblokkeerd"
-
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
-msgstr "Genegeerd"
-
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
-msgstr "Verborgen"
-
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr "Gearchiveerd"
-
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1535
-msgid "New"
-msgstr "Nieuw"
-
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:594 ../../include/widgets.php:497
-msgid "All"
-msgstr "Alles"
-
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
-msgstr "Nieuwe connecties"
-
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
-msgstr "Nog te accepteren (nieuwe) connecties weergeven"
-
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr "Alle connecties"
-
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
-msgstr "Toon alle connecties"
-
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
-msgstr "Toon alleen geblokkeerde connecties"
-
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
-msgstr "Toon alleen genegeerde connecties"
-
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr "Toon alleen gearchiveerde connecties"
-
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
-msgstr "Toon alleen verborgen connecties"
-
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
-msgstr "Moet nog geaccepteerd worden"
-
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
-msgstr "Connectie bewerken"
-
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
-msgstr "Connectie verwijderen"
-
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
-msgstr "Kanaaladres"
-
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
-msgstr "Netwerk"
-
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
-msgstr "Verbonden"
-
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
-msgstr "Connectie accepteren"
-
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
-msgstr "Connectie negeren"
-
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:548
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Negeren"
-
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
-msgstr "Recente activiteit"
-
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
-#: ../../include/nav.php:186 ../../include/text.php:875
-msgid "Connections"
-msgstr "Connecties"
-
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:165
-#: ../../include/acl_selectors.php:276 ../../include/text.php:945
-#: ../../include/text.php:957
-msgid "Search"
-msgstr "Zoeken"
-
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
-msgstr "Doorzoek jouw connecties"
-
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
-msgstr "Connecties zoeken"
-
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Vinden"
-
#: ../../Zotlabs/Module/Connedit.php:80
msgid "Could not access contact record."
msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
@@ -1927,6 +572,37 @@ msgstr "Bijwerken van connectie-gegevens mislukt."
msgid "is now connected to"
msgstr "is nu verbonden met"
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "No"
+msgstr "Nee"
+
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
+#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
+msgid "Yes"
+msgstr "Ja"
+
#: ../../Zotlabs/Module/Connedit.php:411
msgid "Could not access address book record."
msgstr "Kon geen toegang krijgen tot de record van de connectie."
@@ -1946,7 +622,7 @@ msgid "Connection has been removed."
msgstr "Connectie is verwijderd"
#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:954 ../../include/nav.php:86
+#: ../../include/nav.php:86 ../../include/conversation.php:954
msgid "View Profile"
msgstr "Profiel weergeven"
@@ -1971,6 +647,14 @@ msgstr "Recente activiteit/berichten"
msgid "View recent posts and comments"
msgstr "Recente berichten en reacties weergeven"
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
+msgid "Unblock"
+msgstr "Deblokkeren"
+
+#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
+msgid "Block"
+msgstr "Blokkeren"
+
#: ../../Zotlabs/Module/Connedit.php:543
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
@@ -1983,6 +667,12 @@ msgstr "Deze connectie is geblokkeerd!"
msgid "Unignore"
msgstr "Niet meer negeren"
+#: ../../Zotlabs/Module/Connedit.php:548
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Negeren"
+
#: ../../Zotlabs/Module/Connedit.php:551
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
@@ -2039,9 +729,9 @@ msgstr "Familie"
#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/selectors.php:123 ../../include/channel.php:389
-#: ../../include/channel.php:390 ../../include/channel.php:397
-#: ../../include/widgets.php:495
+#: ../../include/widgets.php:495 ../../include/selectors.php:123
+#: ../../include/channel.php:389 ../../include/channel.php:390
+#: ../../include/channel.php:397
msgid "Friends"
msgstr "Vrienden"
@@ -2049,6 +739,12 @@ msgstr "Vrienden"
msgid "Acquaintances"
msgstr "Kennissen"
+#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
+msgid "All"
+msgstr "Alles"
+
#: ../../Zotlabs/Module/Connedit.php:654
msgid "Approve this connection"
msgstr "Deze connectie accepteren"
@@ -2077,7 +773,7 @@ msgstr "geen"
msgid "Connection Default Permissions"
msgstr "Standaard permissies voor connecties"
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3928
+#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
#, php-format
msgid "Connection: %s"
msgstr "Connectie: %s"
@@ -2194,115 +890,6 @@ msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings
msgid "Last update:"
msgstr "Laatste wijziging:"
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:79
-msgid "Image uploaded but image cropping failed."
-msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "
-
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr "Omslagfoto's"
-
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:133
-msgid "Image resize failed."
-msgstr "Afbeelding kon niet van grootte veranderd worden."
-
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
-msgid "Unable to process image"
-msgstr "Afbeelding kan niet verwerkt worden"
-
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:217
-msgid "Image upload failed."
-msgstr "Uploaden afbeelding mislukt"
-
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:236
-msgid "Unable to process image."
-msgstr "Niet in staat om afbeelding te verwerken."
-
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4272
-msgid "female"
-msgstr "vrouw"
-
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4273
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s heeft haar %2$s bijgewerkt"
-
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4274
-msgid "male"
-msgstr "man"
-
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4275
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s heeft zijn %2$s bijgewerkt"
-
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4277
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "De %2$s van %1$s is bijgewerkt"
-
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
-msgid "cover photo"
-msgstr "omslagfoto"
-
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:283
-#: ../../Zotlabs/Module/Profile_photo.php:324
-msgid "Photo not available."
-msgstr "Foto niet beschikbaar."
-
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:365
-msgid "Upload File:"
-msgstr "Bestand uploaden:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:366
-msgid "Select a profile:"
-msgstr "Kies een profiel:"
-
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr "Omslagfoto uploaden"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-#: ../../Zotlabs/Module/Settings.php:985
-msgid "or"
-msgstr "of"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "skip this step"
-msgstr "sla deze stap over"
-
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "select a photo from your photo albums"
-msgstr "Kies een foto uit jouw fotoalbums"
-
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:390
-msgid "Crop Image"
-msgstr "Afbeelding bijsnijden"
-
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:391
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."
-
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:393
-msgid "Done Editing"
-msgstr "Klaar met bewerken"
-
#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
#: ../../Zotlabs/Module/Search.php:17
@@ -2352,9 +939,9 @@ msgid "About:"
msgstr "Over:"
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
+#: ../../include/widgets.php:184 ../../include/connections.php:78
#: ../../include/conversation.php:956 ../../include/channel.php:1012
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
msgid "Connect"
msgstr "Verbinden"
@@ -2382,6 +969,13 @@ msgstr "Volledige kanalengids"
msgid "Local Directory"
msgstr "Lokale kanalengids"
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Vinden"
+
#: ../../Zotlabs/Module/Directory.php:389
msgid "Finding:"
msgstr "Gezocht naar:"
@@ -2423,98 +1017,280 @@ msgstr "Oud naar nieuw"
msgid "No entries (some entries may be hidden)."
msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Deze hub is geen kanalengidshub (directoryserver)"
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
+#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
+msgid "Item not found."
+msgstr "Item niet gevonden."
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:81
+msgid "Item not found"
+msgstr "Item niet gevonden"
-#: ../../Zotlabs/Module/Dreport.php:27
-msgid "Invalid message"
-msgstr "Ongeldig bericht"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
+msgid "Title (optional)"
+msgstr "Titel (optioneel)"
-#: ../../Zotlabs/Module/Dreport.php:59
-msgid "no results"
-msgstr "geen resultaten"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Blok bewerken"
-#: ../../Zotlabs/Module/Dreport.php:64
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Geen kanaal."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Veel voorkomende connecties"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Geen gemeenschappelijke connecties."
+
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
+msgstr "Geblokkeerd"
+
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
+msgstr "Genegeerd"
+
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
+msgstr "Verborgen"
+
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
+msgstr "Gearchiveerd"
+
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1535
+msgid "New"
+msgstr "Nieuw"
+
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
+msgstr "Nieuwe connecties"
+
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
+msgstr "Nog te accepteren (nieuwe) connecties weergeven"
+
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
+msgstr "Alle connecties"
+
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
+msgstr "Toon alle connecties"
+
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
+msgstr "Toon alleen geblokkeerde connecties"
+
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
+msgstr "Toon alleen genegeerde connecties"
+
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
+msgstr "Toon alleen gearchiveerde connecties"
+
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
+msgstr "Toon alleen verborgen connecties"
+
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
+msgstr "Moet nog geaccepteerd worden"
+
+#: ../../Zotlabs/Module/Connections.php:254
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Afleveringsrapport voor %1$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Dreport.php:78
-msgid "channel sync processed"
-msgstr "kanaalsync verwerkt"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
+msgstr "Connectie bewerken"
-#: ../../Zotlabs/Module/Dreport.php:82
-msgid "queued"
-msgstr "in wachtrij"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
+msgstr "Connectie verwijderen"
-#: ../../Zotlabs/Module/Dreport.php:86
-msgid "posted"
-msgstr "verstuurd"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
+msgstr "Kanaaladres"
-#: ../../Zotlabs/Module/Dreport.php:90
-msgid "accepted for delivery"
-msgstr "geaccepteerd om afgeleverd te worden"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
+msgstr "Netwerk"
-#: ../../Zotlabs/Module/Dreport.php:94
-msgid "updated"
-msgstr "geüpdatet"
+#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+msgid "Status"
+msgstr "Status"
-#: ../../Zotlabs/Module/Dreport.php:97
-msgid "update ignored"
-msgstr "update genegeerd"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
+msgstr "Verbonden"
-#: ../../Zotlabs/Module/Dreport.php:100
-msgid "permission denied"
-msgstr "toegang geweigerd"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
+msgstr "Connectie accepteren"
-#: ../../Zotlabs/Module/Dreport.php:104
-msgid "recipient not found"
-msgstr "ontvanger niet gevonden"
+#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Admin.php:1037
+msgid "Approve"
+msgstr "Goedkeuren"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "mail recalled"
-msgstr "Privébericht ingetrokken"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
+msgstr "Connectie negeren"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "duplicate mail received"
-msgstr "dubbel privébericht ontvangen"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
+msgstr "Recente activiteit"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "mail delivered"
-msgstr "privébericht afgeleverd"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
+#: ../../include/text.php:875 ../../include/nav.php:186
+msgid "Connections"
+msgstr "Connecties"
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editpost.php:24
-#: ../../Zotlabs/Module/Editwebpage.php:81
-msgid "Item not found"
-msgstr "Item niet gevonden"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
+#: ../../include/text.php:957 ../../include/nav.php:165
+#: ../../include/acl_selectors.php:276
+msgid "Search"
+msgstr "Zoeken"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
-msgid "Title (optional)"
-msgstr "Titel (optioneel)"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
+msgstr "Doorzoek jouw connecties"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Blok bewerken"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
+msgstr "Connecties zoeken"
-#: ../../Zotlabs/Module/Editlayout.php:126
-#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
-msgid "Layout Name"
-msgstr "Naam lay-out"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:79
+msgid "Image uploaded but image cropping failed."
+msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:130
-msgid "Layout Description (Optional)"
-msgstr "Lay-out-omschrijving (optioneel)"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
+msgstr "Omslagfoto's"
-#: ../../Zotlabs/Module/Editlayout.php:135
-msgid "Edit Layout"
-msgstr "Lay-out bewerken"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:133
+msgid "Image resize failed."
+msgstr "Afbeelding kon niet van grootte veranderd worden."
+
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
+msgid "Unable to process image"
+msgstr "Afbeelding kan niet verwerkt worden"
+
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:217
+msgid "Image upload failed."
+msgstr "Uploaden afbeelding mislukt"
+
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:236
+msgid "Unable to process image."
+msgstr "Niet in staat om afbeelding te verwerken."
+
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
+msgid "female"
+msgstr "vrouw"
+
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s heeft haar %2$s bijgewerkt"
+
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
+msgid "male"
+msgstr "man"
+
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s heeft zijn %2$s bijgewerkt"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "De %2$s van %1$s is bijgewerkt"
+
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
+msgid "cover photo"
+msgstr "omslagfoto"
+
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:283
+#: ../../Zotlabs/Module/Profile_photo.php:324
+msgid "Photo not available."
+msgstr "Foto niet beschikbaar."
+
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:365
+msgid "Upload File:"
+msgstr "Bestand uploaden:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:366
+msgid "Select a profile:"
+msgstr "Kies een profiel:"
+
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
+msgstr "Omslagfoto uploaden"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+#: ../../Zotlabs/Module/Settings.php:985
+msgid "or"
+msgstr "of"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "skip this step"
+msgstr "sla deze stap over"
+
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:374
+msgid "select a photo from your photo albums"
+msgstr "Kies een foto uit jouw fotoalbums"
+
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:390
+msgid "Crop Image"
+msgstr "Afbeelding bijsnijden"
+
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:391
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."
+
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:393
+msgid "Done Editing"
+msgstr "Klaar met bewerken"
#: ../../Zotlabs/Module/Editpost.php:35
msgid "Item is not editable"
@@ -2524,14 +1300,6 @@ msgstr "Item is niet te bewerken"
msgid "Edit post"
msgstr "Bericht bewerken"
-#: ../../Zotlabs/Module/Editwebpage.php:143
-msgid "Page link"
-msgstr "Paginalink"
-
-#: ../../Zotlabs/Module/Editwebpage.php:169
-msgid "Edit Webpage"
-msgstr "Webpagina bewerken"
-
#: ../../Zotlabs/Module/Events.php:26
msgid "Calendar entries imported."
msgstr "Agenda-items geïmporteerd."
@@ -2558,8 +1326,8 @@ msgid "Event not found."
msgstr "Gebeurtenis niet gevonden"
#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/event.php:949 ../../include/text.php:1928
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/text.php:1943 ../../include/conversation.php:123
msgid "event"
msgstr "gebeurtenis"
@@ -2571,6 +1339,13 @@ msgstr "Titel bewerken"
msgid "Event title"
msgstr "Titel"
+#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Vereist"
+
#: ../../Zotlabs/Module/Events.php:451
msgid "Categories (comma-separated list)"
msgstr "Categorieën (door komma's gescheiden lijst)"
@@ -2617,6 +1392,11 @@ msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden.
msgid "Edit Description"
msgstr "Omschrijving bewerken"
+#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Rbmark.php:101
+msgid "Description"
+msgstr "Omschrijving"
+
#: ../../Zotlabs/Module/Events.php:464
msgid "Edit Location"
msgstr "Locatie bewerken"
@@ -2632,7 +1412,7 @@ msgid "Share this event"
msgstr "Deel deze gebeurtenis"
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:708
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
msgid "Preview"
msgstr "Voorvertoning"
@@ -2666,17 +1446,24 @@ msgid "Failed to remove event"
msgstr "Verwijderen gebeurtenis mislukt"
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
-#: ../../include/conversation.php:1632 ../../include/nav.php:92
+#: ../../include/nav.php:92 ../../include/conversation.php:1632
msgid "Photos"
msgstr "Foto's"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Deel webpagina's vanuit Firefox met "
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
+#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
+msgid "Cancel"
+msgstr "Annuleren"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Activeer de $Projectname-service in Firefox"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Deze hub is geen kanalengidshub (directoryserver)"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"
#: ../../Zotlabs/Module/Filer.php:52
msgid "Save to Folder:"
@@ -2686,54 +1473,104 @@ msgstr "Bewaar in map: "
msgid "- select -"
msgstr "- kies map -"
-#: ../../Zotlabs/Module/Filestorage.php:88
-msgid "Permission Denied."
-msgstr "Toegang geweigerd"
+#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
+#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
+#: ../../include/text.php:958 ../../include/widgets.php:201
+msgid "Save"
+msgstr "Opslaan"
-#: ../../Zotlabs/Module/Filestorage.php:104
-msgid "File not found."
-msgstr "Bestand niet gevonden."
+#: ../../Zotlabs/Module/Dreport.php:27
+msgid "Invalid message"
+msgstr "Ongeldig bericht"
-#: ../../Zotlabs/Module/Filestorage.php:147
-msgid "Edit file permissions"
-msgstr "Bestandsrechten bewerken"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "no results"
+msgstr "geen resultaten"
-#: ../../Zotlabs/Module/Filestorage.php:156
-msgid "Set/edit permissions"
-msgstr "Rechten instellen/bewerken"
+#: ../../Zotlabs/Module/Dreport.php:64
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Afleveringsrapport voor %1$s"
-#: ../../Zotlabs/Module/Filestorage.php:157
-msgid "Include all files and sub folders"
-msgstr "Toepassen op alle bestanden en submappen"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "channel sync processed"
+msgstr "kanaalsync verwerkt"
-#: ../../Zotlabs/Module/Filestorage.php:158
-msgid "Return to file list"
-msgstr "Terugkeren naar bestandlijst "
+#: ../../Zotlabs/Module/Dreport.php:82
+msgid "queued"
+msgstr "in wachtrij"
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen"
+#: ../../Zotlabs/Module/Dreport.php:86
+msgid "posted"
+msgstr "verstuurd"
-#: ../../Zotlabs/Module/Filestorage.php:161
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"
+#: ../../Zotlabs/Module/Dreport.php:90
+msgid "accepted for delivery"
+msgstr "geaccepteerd om afgeleverd te worden"
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Share this file"
-msgstr "Dit bestand delen"
+#: ../../Zotlabs/Module/Dreport.php:94
+msgid "updated"
+msgstr "geüpdatet"
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Show URL to this file"
-msgstr "Toon URL van dit bestand"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "update ignored"
+msgstr "update genegeerd"
-#: ../../Zotlabs/Module/Filestorage.php:165
-msgid "Notify your contacts about this file"
-msgstr "Jouw connecties over dit bestand berichten"
+#: ../../Zotlabs/Module/Dreport.php:100
+msgid "permission denied"
+msgstr "toegang geweigerd"
+
+#: ../../Zotlabs/Module/Dreport.php:104
+msgid "recipient not found"
+msgstr "ontvanger niet gevonden"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "mail recalled"
+msgstr "Privébericht ingetrokken"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "duplicate mail received"
+msgstr "dubbel privébericht ontvangen"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "mail delivered"
+msgstr "privébericht afgeleverd"
+
+#: ../../Zotlabs/Module/Editlayout.php:126
+#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
+msgid "Layout Name"
+msgstr "Naam lay-out"
+
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:130
+msgid "Layout Description (Optional)"
+msgstr "Lay-out-omschrijving (optioneel)"
+
+#: ../../Zotlabs/Module/Editlayout.php:135
+msgid "Edit Layout"
+msgstr "Lay-out bewerken"
+
+#: ../../Zotlabs/Module/Editwebpage.php:143
+msgid "Page link"
+msgstr "Paginalink"
+
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
+msgstr "Webpagina bewerken"
#: ../../Zotlabs/Module/Follow.php:34
msgid "Channel added."
msgstr "Kanaal toegevoegd."
+#: ../../Zotlabs/Module/Acl.php:227
+msgid "network"
+msgstr "netwerk"
+
+#: ../../Zotlabs/Module/Acl.php:237
+msgid "RSS"
+msgstr "RSS"
+
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "Privacygroep aangemaakt"
@@ -2743,7 +1580,7 @@ msgid "Could not create privacy group."
msgstr "Kon privacygroep niet aanmaken"
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3895
+#: ../../include/items.php:3893
msgid "Privacy group not found."
msgstr "Privacygroep niet gevonden"
@@ -2787,6 +1624,32 @@ msgstr "Alle kanaalconnecties"
msgid "Click on a channel to add or remove."
msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen."
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Deel webpagina's vanuit Firefox met "
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Activeer de $Projectname-service in Firefox"
+
+#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
+msgid "Authorize application connection"
+msgstr "Geef toestemming voor applicatiekoppeling"
+
+#: ../../Zotlabs/Module/Api.php:62
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Ga terug naar je app en voeg deze beveiligingscode in:"
+
+#: ../../Zotlabs/Module/Api.php:72
+msgid "Please login to continue."
+msgstr "Inloggen om verder te kunnen gaan."
+
+#: ../../Zotlabs/Module/Api.php:87
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
+
#: ../../Zotlabs/Module/Help.php:26
msgid "Documentation Search"
msgstr "Zoek documentatie"
@@ -2806,128 +1669,58 @@ msgstr "Hulp"
msgid "$Projectname Documentation"
msgstr "$Projectname-documentatie"
-#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
-#: ../../Zotlabs/Module/Siteinfo.php:65
-msgid "$Projectname"
-msgstr "$Projectname"
-
-#: ../../Zotlabs/Module/Home.php:79
-#, php-format
-msgid "Welcome to %s"
-msgstr "Welkom op %s"
-
-#: ../../Zotlabs/Module/Id.php:13
-msgid "First Name"
-msgstr "Voornaam"
-
-#: ../../Zotlabs/Module/Id.php:14
-msgid "Last Name"
-msgstr "Achternaam"
-
-#: ../../Zotlabs/Module/Id.php:15
-msgid "Nickname"
-msgstr "Bijnaam"
-
-#: ../../Zotlabs/Module/Id.php:16
-msgid "Full Name"
-msgstr "Volledige naam"
-
-#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
-msgid "Profile Photo"
-msgstr "Profielfoto"
-
-#: ../../Zotlabs/Module/Id.php:22
-msgid "Profile Photo 16px"
-msgstr "Profielfoto 16px"
-
-#: ../../Zotlabs/Module/Id.php:23
-msgid "Profile Photo 32px"
-msgstr "Profielfoto 32px"
-
-#: ../../Zotlabs/Module/Id.php:24
-msgid "Profile Photo 48px"
-msgstr "Profielfoto 48px"
-
-#: ../../Zotlabs/Module/Id.php:25
-msgid "Profile Photo 64px"
-msgstr "Profielfoto 64px"
-
-#: ../../Zotlabs/Module/Id.php:26
-msgid "Profile Photo 80px"
-msgstr "Profielfoto 80px"
-
-#: ../../Zotlabs/Module/Id.php:27
-msgid "Profile Photo 128px"
-msgstr "Profielfoto 128px"
-
-#: ../../Zotlabs/Module/Id.php:28
-msgid "Timezone"
-msgstr "Tijdzone"
-
-#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "URL homepagina"
-
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
-msgid "Language"
-msgstr "Taal"
-
-#: ../../Zotlabs/Module/Id.php:31
-msgid "Birth Year"
-msgstr "Geboortejaar"
+#: ../../Zotlabs/Module/Filestorage.php:88
+msgid "Permission Denied."
+msgstr "Toegang geweigerd"
-#: ../../Zotlabs/Module/Id.php:32
-msgid "Birth Month"
-msgstr "Geboortemaand"
+#: ../../Zotlabs/Module/Filestorage.php:104
+msgid "File not found."
+msgstr "Bestand niet gevonden."
-#: ../../Zotlabs/Module/Id.php:33
-msgid "Birth Day"
-msgstr "Geboortedag"
+#: ../../Zotlabs/Module/Filestorage.php:147
+msgid "Edit file permissions"
+msgstr "Bestandsrechten bewerken"
-#: ../../Zotlabs/Module/Id.php:34
-msgid "Birthdate"
-msgstr "Geboortedatum"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Set/edit permissions"
+msgstr "Rechten instellen/bewerken"
-#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Geslacht"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Include all files and sub folders"
+msgstr "Toepassen op alle bestanden en submappen"
-#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Male"
-msgstr "Man"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Return to file list"
+msgstr "Terugkeren naar bestandlijst "
-#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Female"
-msgstr "Vrouw"
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "Webpagina"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "blok"
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Share this file"
+msgstr "Dit bestand delen"
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "lay-out"
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Show URL to this file"
+msgstr "Toon URL van dit bestand"
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menu"
+#: ../../Zotlabs/Module/Filestorage.php:165
+msgid "Notify your contacts about this file"
+msgstr "Jouw connecties over dit bestand berichten"
-#: ../../Zotlabs/Module/Impel.php:196
-#, php-format
-msgid "%s element installed"
-msgstr "%s onderdeel geïnstalleerd"
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:163
+msgid "Apps"
+msgstr "Apps"
-#: ../../Zotlabs/Module/Impel.php:199
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installatie %s-element mislukt"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Item is niet aanwezig."
#: ../../Zotlabs/Module/Import.php:32
#, php-format
@@ -3026,89 +1819,6 @@ msgid ""
"only once and leave this page open until finished."
msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."
-#: ../../Zotlabs/Module/Import_items.php:102
-msgid "Import completed"
-msgstr "Importeren voltooid"
-
-#: ../../Zotlabs/Module/Import_items.php:117
-msgid "Import Items"
-msgstr "Importeer items"
-
-#: ../../Zotlabs/Module/Import_items.php:118
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Limiet voor aantal uitnodigingen overschreden."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : Geen geldig e-mailadres."
-
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Uitnodiging voor $Projectname"
-
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."
-
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: Aflevering bericht mislukt."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d bericht verzonden."
-msgstr[1] "%d berichten verzonden."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "Je hebt geen uitnodigingen meer beschikbaar"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Uitnodigingen verzenden"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Voer e-mailadressen in, één per regel:"
-
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
-msgid "Your message:"
-msgstr "Jouw bericht:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op http://hubzilla.org"
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Je moet deze uitnodigingscode opgeven:"
-
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"
-
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:"
-
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "of bezoek"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Klik op [+ Verbinden]"
-
#: ../../Zotlabs/Module/Item.php:178
msgid "Unable to locate original post."
msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
@@ -3143,7 +1853,7 @@ msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
-#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2252
+#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
msgid "Layouts"
msgstr "Lay-outs"
@@ -3159,6 +1869,135 @@ msgstr "Lay-out-omschrijving"
msgid "Download PDL file"
msgstr "Download PDL-bestand"
+#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
+#: ../../Zotlabs/Module/Siteinfo.php:65
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:79
+#, php-format
+msgid "Welcome to %s"
+msgstr "Welkom op %s"
+
+#: ../../Zotlabs/Module/Id.php:13
+msgid "First Name"
+msgstr "Voornaam"
+
+#: ../../Zotlabs/Module/Id.php:14
+msgid "Last Name"
+msgstr "Achternaam"
+
+#: ../../Zotlabs/Module/Id.php:15
+msgid "Nickname"
+msgstr "Bijnaam"
+
+#: ../../Zotlabs/Module/Id.php:16
+msgid "Full Name"
+msgstr "Volledige naam"
+
+#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
+#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
+#: ../../include/network.php:2151 ../../boot.php:1705
+msgid "Email"
+msgstr "E-mail"
+
+#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
+msgid "Profile Photo"
+msgstr "Profielfoto"
+
+#: ../../Zotlabs/Module/Id.php:22
+msgid "Profile Photo 16px"
+msgstr "Profielfoto 16px"
+
+#: ../../Zotlabs/Module/Id.php:23
+msgid "Profile Photo 32px"
+msgstr "Profielfoto 32px"
+
+#: ../../Zotlabs/Module/Id.php:24
+msgid "Profile Photo 48px"
+msgstr "Profielfoto 48px"
+
+#: ../../Zotlabs/Module/Id.php:25
+msgid "Profile Photo 64px"
+msgstr "Profielfoto 64px"
+
+#: ../../Zotlabs/Module/Id.php:26
+msgid "Profile Photo 80px"
+msgstr "Profielfoto 80px"
+
+#: ../../Zotlabs/Module/Id.php:27
+msgid "Profile Photo 128px"
+msgstr "Profielfoto 128px"
+
+#: ../../Zotlabs/Module/Id.php:28
+msgid "Timezone"
+msgstr "Tijdzone"
+
+#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "URL homepagina"
+
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
+msgid "Language"
+msgstr "Taal"
+
+#: ../../Zotlabs/Module/Id.php:31
+msgid "Birth Year"
+msgstr "Geboortejaar"
+
+#: ../../Zotlabs/Module/Id.php:32
+msgid "Birth Month"
+msgstr "Geboortemaand"
+
+#: ../../Zotlabs/Module/Id.php:33
+msgid "Birth Day"
+msgstr "Geboortedag"
+
+#: ../../Zotlabs/Module/Id.php:34
+msgid "Birthdate"
+msgstr "Geboortedatum"
+
+#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Geslacht"
+
+#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Male"
+msgstr "Man"
+
+#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
+#: ../../include/selectors.php:66
+msgid "Female"
+msgstr "Vrouw"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "Webpagina"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "blok"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "lay-out"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:196
+#, php-format
+msgid "%s element installed"
+msgstr "%s onderdeel geïnstalleerd"
+
+#: ../../Zotlabs/Module/Impel.php:199
+#, php-format
+msgid "%s element installation failed"
+msgstr "Installatie %s-element mislukt"
+
#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr "Leuk/niet leuk"
@@ -3195,13 +2034,13 @@ msgid "Previous action reversed."
msgstr "Vorige actie omgedraaid"
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1925
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
+#: ../../include/conversation.php:120
msgid "photo"
msgstr "foto"
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1931
+#: ../../include/text.php:1946 ../../include/conversation.php:148
msgid "status"
msgstr "bericht"
@@ -3253,6 +2092,89 @@ msgstr "Actie voltooid"
msgid "Thank you."
msgstr "Bedankt"
+#: ../../Zotlabs/Module/Import_items.php:102
+msgid "Import completed"
+msgstr "Importeren voltooid"
+
+#: ../../Zotlabs/Module/Import_items.php:117
+msgid "Import Items"
+msgstr "Importeer items"
+
+#: ../../Zotlabs/Module/Import_items.php:118
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Limiet voor aantal uitnodigingen overschreden."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : Geen geldig e-mailadres."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Uitnodiging voor $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: Aflevering bericht mislukt."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d bericht verzonden."
+msgstr[1] "%d berichten verzonden."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Je hebt geen uitnodigingen meer beschikbaar"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Uitnodigingen verzenden"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Voer e-mailadressen in, één per regel:"
+
+#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
+msgid "Your message:"
+msgstr "Jouw bericht:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op http://hubzilla.org"
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Je moet deze uitnodigingscode opgeven:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:"
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "of bezoek"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Klik op [+ Verbinden]"
+
#: ../../Zotlabs/Module/Lockview.php:61
msgid "Remote privacy information not available."
msgstr "Privacy-informatie op afstand niet beschikbaar."
@@ -3287,6 +2209,11 @@ msgstr "Geen locaties gevonden."
msgid "Manage Channel Locations"
msgstr "Kanaallocaties beheren"
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+#: ../../Zotlabs/Module/Admin.php:1224
+msgid "Address"
+msgstr "Kanaaladres"
+
#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr "Primair"
@@ -3313,79 +2240,6 @@ msgstr "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "Geen geldige account gevonden."
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Lid van hub (%s)"
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1703
-msgid "Password Reset"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "Jouw nieuwe wachtwoord is"
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "klik dan hier om in te loggen"
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Jouw wachtwoord op %s is veranderd"
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "E-mailadres"
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Opnieuw instellen"
-
#: ../../Zotlabs/Module/Magic.php:71
msgid "Hub not found."
msgstr "Hub niet gevonden."
@@ -3532,21 +2386,78 @@ msgstr "%d nieuwe connectieverzoeken"
msgid "Delegated Channel"
msgstr "Uitbesteed kanaal"
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Profielovereenkomst"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Geen geldige account gevonden."
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "is geïnteresseerd in:"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lid van hub (%s)"
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "Geen overeenkomsten"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
+
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
+
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
+msgid "Password Reset"
+msgstr "Wachtwoord vergeten?"
+
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Jouw nieuwe wachtwoord is"
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "klik dan hier om in te loggen"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
+
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Jouw wachtwoord op %s is veranderd"
+
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Wachtwoord vergeten?"
+
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
+
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "E-mailadres"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Opnieuw instellen"
#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
@@ -3584,7 +2495,7 @@ msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
msgid "Submit and proceed"
msgstr "Opslaan en doorgaan"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2251
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
msgid "Menus"
msgstr "Menu's"
@@ -3645,6 +2556,74 @@ msgstr "Bladwijzers toestaan"
msgid "Not found."
msgstr "Niet gevonden."
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s is %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+msgid "Mood"
+msgstr "Stemming"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Noteer je huidige stemming en toon het aan je connecties"
+
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profielovereenkomst"
+
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
+
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "is geïnteresseerd in:"
+
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Geen overeenkomsten"
+
+#: ../../Zotlabs/Module/Network.php:96
+msgid "No such group"
+msgstr "Collectie niet gevonden"
+
+#: ../../Zotlabs/Module/Network.php:136
+msgid "No such channel"
+msgstr "Niet zo'n kanaal"
+
+#: ../../Zotlabs/Module/Network.php:141
+msgid "forum"
+msgstr "forum"
+
+#: ../../Zotlabs/Module/Network.php:153
+msgid "Search Results For:"
+msgstr "Zoekresultaten voor:"
+
+#: ../../Zotlabs/Module/Network.php:217
+msgid "Privacy group is empty"
+msgstr "Privacygroep is leeg"
+
+#: ../../Zotlabs/Module/Network.php:226
+msgid "Privacy group: "
+msgstr "Privacygroep: "
+
+#: ../../Zotlabs/Module/Network.php:252
+msgid "Invalid connection."
+msgstr "Ongeldige connectie."
+
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Geen systeemnotificaties meer."
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Systeemnotificaties"
+
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Niet in staat om onderdeel aan te maken."
@@ -3762,48 +2741,6 @@ msgstr "Menu-element bewerken"
msgid "Link text"
msgstr "Linktekst"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s is %2$s"
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
-msgid "Mood"
-msgstr "Stemming"
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Noteer je huidige stemming en toon het aan je connecties"
-
-#: ../../Zotlabs/Module/Network.php:96
-msgid "No such group"
-msgstr "Collectie niet gevonden"
-
-#: ../../Zotlabs/Module/Network.php:136
-msgid "No such channel"
-msgstr "Niet zo'n kanaal"
-
-#: ../../Zotlabs/Module/Network.php:141
-msgid "forum"
-msgstr "forum"
-
-#: ../../Zotlabs/Module/Network.php:153
-msgid "Search Results For:"
-msgstr "Zoekresultaten voor:"
-
-#: ../../Zotlabs/Module/Network.php:217
-msgid "Privacy group is empty"
-msgstr "Privacygroep is leeg"
-
-#: ../../Zotlabs/Module/Network.php:226
-msgid "Privacy group: "
-msgstr "Privacygroep: "
-
-#: ../../Zotlabs/Module/Network.php:252
-msgid "Invalid connection."
-msgstr "Ongeldige connectie."
-
#: ../../Zotlabs/Module/New_channel.php:128
#: ../../Zotlabs/Module/Register.php:231
msgid "Name or caption"
@@ -3866,81 +2803,10 @@ msgstr "Ongeldige verzoek identificator (request identifier)"
msgid "Discard"
msgstr "Annuleren"
-#: ../../Zotlabs/Module/Notifications.php:98
-#: ../../Zotlabs/Module/Notify.php:57
-msgid "No more system notifications."
-msgstr "Geen systeemnotificaties meer."
-
-#: ../../Zotlabs/Module/Notifications.php:102
-#: ../../Zotlabs/Module/Notify.php:61
-msgid "System Notifications"
-msgstr "Systeemnotificaties"
-
#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
msgid "Mark all system notifications seen"
msgstr "Markeer alle systeemnotificaties als bekeken"
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
-msgstr "Niet in staat om je hub te vinden"
-
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
-msgstr "Verzenden bericht geslaagd."
-
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID-protocolfout. Geen ID terugontvangen."
-
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
-msgid "Login failed."
-msgstr "Inloggen mislukt."
-
-#: ../../Zotlabs/Module/Page.php:133
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-
-#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd."
-
-#: ../../Zotlabs/Module/Pconfig.php:48
-msgid "Configuration Editor"
-msgstr "Configuratiebewerker"
-
-#: ../../Zotlabs/Module/Pconfig.php:49
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "
-
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
-msgstr "Lay-out bijgewerkt."
-
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
-msgstr "Systeempagina's bewerken"
-
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
-msgstr "Lay-out niet gevonden."
-
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
-msgstr "Modulenaam:"
-
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
-msgstr "Lay-out-hulp"
-
#: ../../Zotlabs/Module/Photos.php:84
msgid "Page owner information could not be retrieved."
msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
@@ -4018,8 +2884,7 @@ msgstr "Omschrijving (optioneel):"
msgid "Album name could not be decoded"
msgstr "Albumnaam kon niet gedecodeerd worden"
-#: ../../Zotlabs/Module/Photos.php:743 ../../Zotlabs/Module/Photos.php:1284
-#: ../../Zotlabs/Module/Photos.php:1302
+#: ../../Zotlabs/Module/Photos.php:743
msgid "Contact Photos"
msgstr "Connectiefoto's"
@@ -4031,12 +2896,12 @@ msgstr "Nieuwste eerst weergeven"
msgid "Show Oldest First"
msgstr "Oudste eerst weergeven"
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1335
-#: ../../include/widgets.php:1497
+#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
+#: ../../include/widgets.php:1499
msgid "View Photo"
msgstr "Foto weergeven"
-#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1514
+#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
msgid "Edit Album"
msgstr "Album bewerken"
@@ -4064,6 +2929,11 @@ msgstr "Privéfoto"
msgid "View Full Size"
msgstr "Volledige grootte weergeven"
+#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Verwijderen"
+
#: ../../Zotlabs/Module/Photos.php:1032
msgid "Edit photo"
msgstr "Foto bewerken"
@@ -4100,26 +2970,26 @@ msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
msgid "Flag as adult in album view"
msgstr "Markeer als voor volwassenen in albumweergave"
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:251
+#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
msgid "I like this (toggle)"
msgstr "Vind ik leuk"
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:252
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
msgid "I don't like this (toggle)"
msgstr "Vind ik niet leuk"
-#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:386
+#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
#: ../../include/conversation.php:740
msgid "Please wait"
msgstr "Even wachten"
#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:696
+#: ../../Zotlabs/Lib/ThreadItem.php:707
msgid "This is you"
msgstr "Dit ben jij"
#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
-#: ../../Zotlabs/Lib/ThreadItem.php:698 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Reactie"
@@ -4164,21 +3034,21 @@ msgid "Might attend"
msgstr "mogelijk aanwezig"
#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
-#: ../../Zotlabs/Lib/ThreadItem.php:171 ../../Zotlabs/Lib/ThreadItem.php:183
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
#: ../../include/conversation.php:1717
msgid "View all"
msgstr "Toon alles"
-#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:175
-#: ../../include/conversation.php:1741 ../../include/channel.php:1158
-#: ../../include/taxonomy.php:403
+#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
+#: ../../include/channel.php:1158
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "vindt dit leuk"
msgstr[1] "vinden dit leuk"
-#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:180
+#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
#: ../../include/conversation.php:1744
msgctxt "noun"
msgid "Dislike"
@@ -4198,27 +3068,27 @@ msgstr "Op deze foto:"
msgid "Map"
msgstr "Kaart"
-#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:375
+#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
msgctxt "noun"
msgid "Likes"
msgstr "vinden dit leuk"
-#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:376
+#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
msgctxt "noun"
msgid "Dislikes"
msgstr "vinden dit niet leuk"
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
#: ../../include/acl_selectors.php:285
msgid "Close"
msgstr "Sluiten"
-#: ../../Zotlabs/Module/Photos.php:1341
+#: ../../Zotlabs/Module/Photos.php:1337
msgid "View Album"
msgstr "Album weergeven"
-#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365
-#: ../../Zotlabs/Module/Photos.php:1366
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "Recente foto's"
@@ -4242,6 +3112,67 @@ msgstr "[vandaag]"
msgid "posted an event"
msgstr "plaatste een gebeurtenis"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Niet in staat om je hub te vinden"
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Verzenden bericht geslaagd."
+
+#: ../../Zotlabs/Module/Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID-protocolfout. Geen ID terugontvangen."
+
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+msgid "Login failed."
+msgstr "Inloggen mislukt."
+
+#: ../../Zotlabs/Module/Page.php:133
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd."
+
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Configuratiebewerker"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "
+
+#: ../../Zotlabs/Module/Pdledit.php:18
+msgid "Layout updated."
+msgstr "Lay-out bijgewerkt."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+msgid "Edit System Page Description"
+msgstr "Systeempagina's bewerken"
+
+#: ../../Zotlabs/Module/Pdledit.php:56
+msgid "Layout not found."
+msgstr "Lay-out niet gevonden."
+
+#: ../../Zotlabs/Module/Pdledit.php:62
+msgid "Module Name:"
+msgstr "Modulenaam:"
+
+#: ../../Zotlabs/Module/Pdledit.php:63
+msgid "Layout Help"
+msgstr "Lay-out-hulp"
+
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
#: ../../include/conversation.php:960
msgid "Poke"
@@ -4276,16 +3207,6 @@ msgstr "Maak dit bericht privé"
msgid "Fetching URL returns error: %1$s"
msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
-#: ../../Zotlabs/Module/Profile_photo.php:179
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."
-
-#: ../../Zotlabs/Module/Profile_photo.php:367
-msgid "Upload Profile Photo"
-msgstr "Profielfoto uploaden"
-
#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
@@ -4404,8 +3325,8 @@ msgstr "Dit profiel verwijderen"
msgid "Add profile things"
msgstr "Dingen aan je profiel toevoegen"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1526
-#: ../../include/widgets.php:105
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1526
msgid "Personal"
msgstr "Persoonlijk"
@@ -4549,11 +3470,21 @@ msgstr "Mijn andere kanalen"
msgid "Profile Image"
msgstr "Profielfoto"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:937
-#: ../../include/nav.php:88
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:937
msgid "Edit Profiles"
msgstr "Bewerk profielen"
+#: ../../Zotlabs/Module/Profile_photo.php:179
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."
+
+#: ../../Zotlabs/Module/Profile_photo.php:367
+msgid "Upload Profile Photo"
+msgstr "Profielfoto uploaden"
+
#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
msgid "Invalid profile identifier."
msgstr "Ongeldige profiel-identificator"
@@ -4574,7 +3505,7 @@ msgstr "Klik op een connectie om deze toe te voegen of te verwijderen"
msgid "Visible To"
msgstr "Zichtbaar voor"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1268
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
msgid "Public Hubs"
msgstr "Openbare hubs"
@@ -4649,6 +3580,1073 @@ msgstr "Website: "
msgid "Description: "
msgstr "Omschrijving: "
+#: ../../Zotlabs/Module/Admin.php:77
+msgid "Theme settings updated."
+msgstr "Thema-instellingen bijgewerkt."
+
+#: ../../Zotlabs/Module/Admin.php:197
+msgid "# Accounts"
+msgstr "# accounts"
+
+#: ../../Zotlabs/Module/Admin.php:198
+msgid "# blocked accounts"
+msgstr "# geblokkeerde accounts"
+
+#: ../../Zotlabs/Module/Admin.php:199
+msgid "# expired accounts"
+msgstr "# verlopen accounts"
+
+#: ../../Zotlabs/Module/Admin.php:200
+msgid "# expiring accounts"
+msgstr "# accounts die nog moeten verlopen"
+
+#: ../../Zotlabs/Module/Admin.php:211
+msgid "# Channels"
+msgstr "# Kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:212
+msgid "# primary"
+msgstr "# primair"
+
+#: ../../Zotlabs/Module/Admin.php:213
+msgid "# clones"
+msgstr "# klonen"
+
+#: ../../Zotlabs/Module/Admin.php:219
+msgid "Message queues"
+msgstr "Berichtenwachtrij"
+
+#: ../../Zotlabs/Module/Admin.php:236
+msgid "Your software should be updated"
+msgstr "Jouw software moet worden bijgewerkt "
+
+#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
+#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
+#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
+#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
+#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
+#: ../../Zotlabs/Module/Admin.php:1731
+msgid "Administration"
+msgstr "Beheer"
+
+#: ../../Zotlabs/Module/Admin.php:242
+msgid "Summary"
+msgstr "Samenvatting"
+
+#: ../../Zotlabs/Module/Admin.php:245
+msgid "Registered accounts"
+msgstr "Geregistreerde accounts"
+
+#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
+msgid "Pending registrations"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../Zotlabs/Module/Admin.php:247
+msgid "Registered channels"
+msgstr "Geregistreerde kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
+msgid "Active plugins"
+msgstr "Ingeschakelde plugins"
+
+#: ../../Zotlabs/Module/Admin.php:249
+msgid "Version"
+msgstr "Versie"
+
+#: ../../Zotlabs/Module/Admin.php:250
+msgid "Repository version (master)"
+msgstr "Versie repository (master)"
+
+#: ../../Zotlabs/Module/Admin.php:251
+msgid "Repository version (dev)"
+msgstr "Versie repository (dev)"
+
+#: ../../Zotlabs/Module/Admin.php:373
+msgid "Site settings updated."
+msgstr "Hub-instellingen bijgewerkt."
+
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
+msgid "Default"
+msgstr "Standaard"
+
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
+msgid "mobile"
+msgstr "mobiel"
+
+#: ../../Zotlabs/Module/Admin.php:412
+msgid "experimental"
+msgstr "experimenteel"
+
+#: ../../Zotlabs/Module/Admin.php:414
+msgid "unsupported"
+msgstr "Niet ondersteund"
+
+#: ../../Zotlabs/Module/Admin.php:460
+msgid "Yes - with approval"
+msgstr "Ja - met goedkeuring"
+
+#: ../../Zotlabs/Module/Admin.php:466
+msgid "My site is not a public server"
+msgstr "Mijn $Projectname-hub is niet openbaar"
+
+#: ../../Zotlabs/Module/Admin.php:467
+msgid "My site has paid access only"
+msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
+
+#: ../../Zotlabs/Module/Admin.php:468
+msgid "My site has free access only"
+msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
+
+#: ../../Zotlabs/Module/Admin.php:469
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
+
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
+msgid "Site"
+msgstr "Hub-instellingen"
+
+#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
+msgid "Registration"
+msgstr "Registratie"
+
+#: ../../Zotlabs/Module/Admin.php:494
+msgid "File upload"
+msgstr "Bestand uploaden"
+
+#: ../../Zotlabs/Module/Admin.php:495
+msgid "Policies"
+msgstr "Beleid"
+
+#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Geavanceerd"
+
+#: ../../Zotlabs/Module/Admin.php:500
+msgid "Site name"
+msgstr "Naam van deze $Projectname-hub"
+
+#: ../../Zotlabs/Module/Admin.php:501
+msgid "Banner/Logo"
+msgstr "Banner/logo"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid "Administrator Information"
+msgstr "Informatie over de beheerder van deze hub"
+
+#: ../../Zotlabs/Module/Admin.php:502
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
+
+#: ../../Zotlabs/Module/Admin.php:503
+msgid "System language"
+msgstr "Standaardtaal"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid "System theme"
+msgstr "Standaardthema"
+
+#: ../../Zotlabs/Module/Admin.php:504
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Mobile system theme"
+msgstr "Standaardthema voor mobiel"
+
+#: ../../Zotlabs/Module/Admin.php:505
+msgid "Theme for mobile devices"
+msgstr "Thema voor mobiele apparaten"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "Allow Feeds as Connections"
+msgstr "Sta feeds toe als connecties"
+
+#: ../../Zotlabs/Module/Admin.php:507
+msgid "(Heavy system resource usage)"
+msgstr "(sterk negatieve invloed op systeembronnen hub)"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid "Maximum image size"
+msgstr "Maximale grootte van afbeeldingen"
+
+#: ../../Zotlabs/Module/Admin.php:508
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
+
+#: ../../Zotlabs/Module/Admin.php:509
+msgid "Does this site allow new member registration?"
+msgstr "Staat deze hub nieuwe accounts toe?"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid "Invitation only"
+msgstr "Alleen op uitnodiging"
+
+#: ../../Zotlabs/Module/Admin.php:510
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan."
+
+#: ../../Zotlabs/Module/Admin.php:511
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Register text"
+msgstr "Tekst tijdens registratie"
+
+#: ../../Zotlabs/Module/Admin.php:512
+msgid "Will be displayed prominently on the registration page."
+msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
+
+#: ../../Zotlabs/Module/Admin.php:513
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid "Preserve site homepage URL"
+msgstr "Behoudt de URL van de hub (/)"
+
+#: ../../Zotlabs/Module/Admin.php:514
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid "Accounts abandoned after x days"
+msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
+
+#: ../../Zotlabs/Module/Admin.php:515
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid "Allowed friend domains"
+msgstr "Toegestane domeinen"
+
+#: ../../Zotlabs/Module/Admin.php:516
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid "Allowed email domains"
+msgstr "Toegestane e-maildomeinen"
+
+#: ../../Zotlabs/Module/Admin.php:517
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid "Not allowed email domains"
+msgstr "Niet toegestane e-maildomeinen"
+
+#: ../../Zotlabs/Module/Admin.php:518
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid "Verify Email Addresses"
+msgstr "E-mailadres verifieren"
+
+#: ../../Zotlabs/Module/Admin.php:519
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid "Force publish"
+msgstr "Dwing kanaalvermelding af"
+
+#: ../../Zotlabs/Module/Admin.php:520
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid "Import Public Streams"
+msgstr "Openbare streams importeren"
+
+#: ../../Zotlabs/Module/Admin.php:521
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd."
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid "Login on Homepage"
+msgstr "Inlogformulier op de homepagina"
+
+#: ../../Zotlabs/Module/Admin.php:522
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid "Enable context help"
+msgstr "Schakel contextuele hulp in"
+
+#: ../../Zotlabs/Module/Admin.php:523
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt."
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Directory Server URL"
+msgstr "Server-URL voor de kanalengids"
+
+#: ../../Zotlabs/Module/Admin.php:525
+msgid "Default directory server"
+msgstr "Standaardserver voor de kanalengids"
+
+#: ../../Zotlabs/Module/Admin.php:527
+msgid "Proxy user"
+msgstr "Gebruikersnaam proxy"
+
+#: ../../Zotlabs/Module/Admin.php:528
+msgid "Proxy URL"
+msgstr "Proxy-URL"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Network timeout"
+msgstr "Netwerktimeout"
+
+#: ../../Zotlabs/Module/Admin.php:529
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid "Delivery interval"
+msgstr "Afleveringsinterval"
+
+#: ../../Zotlabs/Module/Admin.php:530
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid "Deliveries per process"
+msgstr "Leveringen per serverproces"
+
+#: ../../Zotlabs/Module/Admin.php:531
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5"
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid "Poll interval"
+msgstr "Poll-interval"
+
+#: ../../Zotlabs/Module/Admin.php:532
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid "Maximum Load Average"
+msgstr "Maximaal gemiddelde systeembelasting"
+
+#: ../../Zotlabs/Module/Admin.php:533
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd."
+
+#: ../../Zotlabs/Module/Admin.php:534
+msgid "0 for no expiration of imported content"
+msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "Off"
+msgstr "Uit"
+
+#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Settings.php:722
+msgid "On"
+msgstr "Aan"
+
+#: ../../Zotlabs/Module/Admin.php:678
+#, php-format
+msgid "Lock feature %s"
+msgstr " Vergrendel de functie '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:686
+msgid "Manage Additional Features"
+msgstr "Beheer - Extra functies"
+
+#: ../../Zotlabs/Module/Admin.php:703
+msgid "No server found"
+msgstr "Geen hub gevonden"
+
+#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "for channel"
+msgstr "voor kanaal"
+
+#: ../../Zotlabs/Module/Admin.php:710
+msgid "on server"
+msgstr "op hub"
+
+#: ../../Zotlabs/Module/Admin.php:712
+msgid "Server"
+msgstr "Hubbeheer"
+
+#: ../../Zotlabs/Module/Admin.php:746
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig."
+
+#: ../../Zotlabs/Module/Admin.php:749
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:"
+
+#: ../../Zotlabs/Module/Admin.php:750
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin.php:751
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd."
+
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
+msgid "Security"
+msgstr "Beveiliging"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid "Block public"
+msgstr "Openbare toegang blokkeren"
+
+#: ../../Zotlabs/Module/Admin.php:758
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd."
+
+#: ../../Zotlabs/Module/Admin.php:759
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "\"Transport Security\" HTTP-header inschakelen"
+
+#: ../../Zotlabs/Module/Admin.php:760
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr " \"Content Security Policy\" HTTP-header inschakelen"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid "Allow communications only from these sites"
+msgstr "Alleen communicatie met deze hubs toestaan"
+
+#: ../../Zotlabs/Module/Admin.php:761
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan"
+
+#: ../../Zotlabs/Module/Admin.php:762
+msgid "Block communications from these sites"
+msgstr "Communicatie met deze hubs blokkeren"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid "Allow communications only from these channels"
+msgstr "Sta alleen communicatie toe met deze kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:763
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan"
+
+#: ../../Zotlabs/Module/Admin.php:764
+msgid "Block communications from these channels"
+msgstr "Communicatie met deze kanalen blokkeren"
+
+#: ../../Zotlabs/Module/Admin.php:765
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan."
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan"
+
+#: ../../Zotlabs/Module/Admin.php:766
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd."
+
+#: ../../Zotlabs/Module/Admin.php:767
+msgid "Block embedded HTML from these domains"
+msgstr "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren"
+
+#: ../../Zotlabs/Module/Admin.php:785
+msgid "Update has been marked successful"
+msgstr "Update is als succesvol gemarkeerd"
+
+#: ../../Zotlabs/Module/Admin.php:795
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
+
+#: ../../Zotlabs/Module/Admin.php:798
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Update %s was geslaagd."
+
+#: ../../Zotlabs/Module/Admin.php:802
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
+
+#: ../../Zotlabs/Module/Admin.php:805
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Update-functie %s kon niet gevonden worden."
+
+#: ../../Zotlabs/Module/Admin.php:821
+msgid "No failed updates."
+msgstr "Geen mislukte updates."
+
+#: ../../Zotlabs/Module/Admin.php:825
+msgid "Failed Updates"
+msgstr "Mislukte updates"
+
+#: ../../Zotlabs/Module/Admin.php:827
+msgid "Mark success (if update was manually applied)"
+msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
+
+#: ../../Zotlabs/Module/Admin.php:828
+msgid "Attempt to execute this update step automatically"
+msgstr "Poging om deze stap van de update automatisch uit te voeren."
+
+#: ../../Zotlabs/Module/Admin.php:859
+msgid "Queue Statistics"
+msgstr "Wachtrij-statistieken"
+
+#: ../../Zotlabs/Module/Admin.php:860
+msgid "Total Entries"
+msgstr "Aantal vermeldingen"
+
+#: ../../Zotlabs/Module/Admin.php:861
+msgid "Priority"
+msgstr "Prioriteit"
+
+#: ../../Zotlabs/Module/Admin.php:862
+msgid "Destination URL"
+msgstr "Doel-URL"
+
+#: ../../Zotlabs/Module/Admin.php:863
+msgid "Mark hub permanently offline"
+msgstr "Hub als permanent offline markeren"
+
+#: ../../Zotlabs/Module/Admin.php:864
+msgid "Empty queue for this hub"
+msgstr "Berichtenwachtrij voor deze hub legen"
+
+#: ../../Zotlabs/Module/Admin.php:865
+msgid "Last known contact"
+msgstr "Voor het laatst contact"
+
+#: ../../Zotlabs/Module/Admin.php:901
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
+msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
+
+#: ../../Zotlabs/Module/Admin.php:908
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s account verwijderd"
+msgstr[1] "%s accounts verwijderd"
+
+#: ../../Zotlabs/Module/Admin.php:944
+msgid "Account not found"
+msgstr "Account niet gevonden"
+
+#: ../../Zotlabs/Module/Admin.php:955
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Account '%s' verwijderd"
+
+#: ../../Zotlabs/Module/Admin.php:963
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Account '%s' geblokkeerd"
+
+#: ../../Zotlabs/Module/Admin.php:971
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Account '%s' gedeblokkeerd"
+
+#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
+#: ../../include/widgets.php:1383
+msgid "Accounts"
+msgstr "Accounts"
+
+#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
+msgid "select all"
+msgstr "alles selecteren"
+
+#: ../../Zotlabs/Module/Admin.php:1034
+msgid "Registrations waiting for confirm"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../Zotlabs/Module/Admin.php:1035
+msgid "Request date"
+msgstr "Tijd/datum verzoek"
+
+#: ../../Zotlabs/Module/Admin.php:1036
+msgid "No registrations."
+msgstr "Geen verzoeken."
+
+#: ../../Zotlabs/Module/Admin.php:1038
+msgid "Deny"
+msgstr "Afkeuren"
+
+#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Alle kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:1049
+msgid "Register date"
+msgstr "Geregistreerd"
+
+#: ../../Zotlabs/Module/Admin.php:1050
+msgid "Last login"
+msgstr "Laatste keer ingelogd"
+
+#: ../../Zotlabs/Module/Admin.php:1051
+msgid "Expires"
+msgstr "Verloopt"
+
+#: ../../Zotlabs/Module/Admin.php:1052
+msgid "Service Class"
+msgstr "Abonnementen"
+
+#: ../../Zotlabs/Module/Admin.php:1054
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin.php:1055
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin.php:1091
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
+msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
+
+#: ../../Zotlabs/Module/Admin.php:1100
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "Scripts toegestaan/niet toegestaan voor %s kanaal"
+msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:1106
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s kanaal verwijderd"
+msgstr[1] "%s kanalen verwijderd"
+
+#: ../../Zotlabs/Module/Admin.php:1126
+msgid "Channel not found"
+msgstr "Kanaal niet gevonden"
+
+#: ../../Zotlabs/Module/Admin.php:1136
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Kanaal '%s' verwijderd"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Kanaal '%s' gecensureerd"
+
+#: ../../Zotlabs/Module/Admin.php:1148
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Kanaal '%s' ongecensureerd"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Scripts toegestaan voor kanaal '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:1159
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Scripts niet toegestaan voor kanaal '%s'"
+
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
+msgid "Channels"
+msgstr "Kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:1214
+msgid "Censor"
+msgstr "Censureren"
+
+#: ../../Zotlabs/Module/Admin.php:1215
+msgid "Uncensor"
+msgstr "Niet censureren"
+
+#: ../../Zotlabs/Module/Admin.php:1216
+msgid "Allow Code"
+msgstr "Scripts toestaan"
+
+#: ../../Zotlabs/Module/Admin.php:1217
+msgid "Disallow Code"
+msgstr "Scripts niet toestaan"
+
+#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
+msgid "Channel"
+msgstr "Kanaal"
+
+#: ../../Zotlabs/Module/Admin.php:1222
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin.php:1226
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin.php:1227
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin.php:1284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s uitgeschakeld."
+
+#: ../../Zotlabs/Module/Admin.php:1288
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s ingeschakeld"
+
+#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
+msgid "Disable"
+msgstr "Uitschakelen"
+
+#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
+msgid "Enable"
+msgstr "Inschakelen"
+
+#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
+#: ../../include/widgets.php:1387
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
+msgid "Toggle"
+msgstr "Omschakelen"
+
+#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
+#: ../../include/nav.php:208
+msgid "Settings"
+msgstr "Instellingen"
+
+#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
+msgid "Author: "
+msgstr "Auteur: "
+
+#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
+msgid "Maintainer: "
+msgstr "Beheerder: "
+
+#: ../../Zotlabs/Module/Admin.php:1341
+msgid "Minimum project version: "
+msgstr "Minimum versie Hubzilla: "
+
+#: ../../Zotlabs/Module/Admin.php:1342
+msgid "Maximum project version: "
+msgstr "Maximum versie Hubzilla:"
+
+#: ../../Zotlabs/Module/Admin.php:1343
+msgid "Minimum PHP version: "
+msgstr "Minimum versie PHP: "
+
+#: ../../Zotlabs/Module/Admin.php:1344
+msgid "Requires: "
+msgstr "Vereist: "
+
+#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
+msgid "Disabled - version incompatibility"
+msgstr "Uitgeschakeld - versie is incompatibel"
+
+#: ../../Zotlabs/Module/Admin.php:1394
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Vul de openbare Git-URL in van de plugin-repository."
+
+#: ../../Zotlabs/Module/Admin.php:1395
+msgid "Plugin repo git URL"
+msgstr "Git-URL plugin-repository"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Handmatige repository-naam"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(optioneel)"
+
+#: ../../Zotlabs/Module/Admin.php:1397
+msgid "Download Plugin Repo"
+msgstr "Plugin-repository downloaden"
+
+#: ../../Zotlabs/Module/Admin.php:1404
+msgid "Install new repo"
+msgstr "Nieuwe repository installeren"
+
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
+msgid "Install"
+msgstr "Installeren"
+
+#: ../../Zotlabs/Module/Admin.php:1427
+msgid "Manage Repos"
+msgstr "Repositories beheren"
+
+#: ../../Zotlabs/Module/Admin.php:1428
+msgid "Installed Plugin Repositories"
+msgstr "Toegevoegde plugin-repositories"
+
+#: ../../Zotlabs/Module/Admin.php:1429
+msgid "Install a New Plugin Repository"
+msgstr "Nieuwe plugin-repository toevoegen"
+
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
+msgid "Update"
+msgstr "Bijwerken"
+
+#: ../../Zotlabs/Module/Admin.php:1436
+msgid "Switch branch"
+msgstr "Branch veranderen"
+
+#: ../../Zotlabs/Module/Admin.php:1550
+msgid "No themes found."
+msgstr "Geen thema's gevonden"
+
+#: ../../Zotlabs/Module/Admin.php:1606
+msgid "Screenshot"
+msgstr "Schermafdruk"
+
+#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
+#: ../../include/widgets.php:1388
+msgid "Themes"
+msgstr "Thema's"
+
+#: ../../Zotlabs/Module/Admin.php:1652
+msgid "[Experimental]"
+msgstr "[Experimenteel]"
+
+#: ../../Zotlabs/Module/Admin.php:1653
+msgid "[Unsupported]"
+msgstr "[Niet ondersteund]"
+
+#: ../../Zotlabs/Module/Admin.php:1677
+msgid "Log settings updated."
+msgstr "Logboek-instellingen bijgewerkt."
+
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
+#: ../../include/widgets.php:1419
+msgid "Logs"
+msgstr "Logboeken"
+
+#: ../../Zotlabs/Module/Admin.php:1734
+msgid "Clear"
+msgstr "Leegmaken"
+
+#: ../../Zotlabs/Module/Admin.php:1740
+msgid "Debugging"
+msgstr "Debuggen"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid "Log file"
+msgstr "Logbestand"
+
+#: ../../Zotlabs/Module/Admin.php:1741
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
+
+#: ../../Zotlabs/Module/Admin.php:1742
+msgid "Log level"
+msgstr "Logniveau"
+
+#: ../../Zotlabs/Module/Admin.php:2028
+msgid "New Profile Field"
+msgstr "Nieuw profielveld"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "Field nickname"
+msgstr "Bijnaam voor veld"
+
+#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
+msgid "System name of field"
+msgstr "Systeemnaam voor veld"
+
+#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
+msgid "Input type"
+msgstr "Invoertype"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Field Name"
+msgstr "Veldnaam"
+
+#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
+msgid "Label on profile pages"
+msgstr "Tekstlabel voor op profielpagina's"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Help text"
+msgstr "Helptekst"
+
+#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
+msgid "Additional info (optional)"
+msgstr "Extra informatie (optioneel)"
+
+#: ../../Zotlabs/Module/Admin.php:2042
+msgid "Field definition not found"
+msgstr "Velddefinitie niet gevonden"
+
+#: ../../Zotlabs/Module/Admin.php:2048
+msgid "Edit Profile Field"
+msgstr "Profielveld bewerken"
+
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
+msgid "Profile Fields"
+msgstr "Profielvelden"
+
+#: ../../Zotlabs/Module/Admin.php:2107
+msgid "Basic Profile Fields"
+msgstr "Standaard profielvelden"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "Advanced Profile Fields"
+msgstr "Geavanceerde profielvelden"
+
+#: ../../Zotlabs/Module/Admin.php:2108
+msgid "(In addition to basic fields)"
+msgstr "(als toevoeging op de standaard velden)"
+
+#: ../../Zotlabs/Module/Admin.php:2110
+msgid "All available fields"
+msgstr "Alle beschikbare velden"
+
+#: ../../Zotlabs/Module/Admin.php:2111
+msgid "Custom Fields"
+msgstr "Extra (handmatig toegevoegde) velden"
+
+#: ../../Zotlabs/Module/Admin.php:2115
+msgid "Create Custom Field"
+msgstr "Extra velden aanmaken"
+
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
+msgstr "App geïnstalleerd"
+
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
+msgstr "Misvormde app."
+
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
+msgstr "Insluitcode"
+
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
+msgstr "App bewerken"
+
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
+msgstr "App maken"
+
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
+msgstr "Naam van app"
+
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
+msgstr "Locatie (URL) van app"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
+msgstr "URL van pictogram"
+
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixels (optioneel)"
+
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
+msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
+
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
+msgstr "Versie-ID"
+
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
+msgstr "Prijs van de app"
+
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
+msgstr "Locatie (URL) om de app aan te schaffen"
+
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
msgstr "Kies een bladwijzermap"
@@ -4753,7 +4751,7 @@ msgid "Membership on this site is by invitation only."
msgstr "Registreren op deze $Projectname-hub kan alleen op uitnodiging."
#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
-#: ../../boot.php:1677
+#: ../../boot.php:1685
msgid "Register"
msgstr "Registreren"
@@ -6086,8 +6084,8 @@ msgstr "Negeren/Verbergen"
msgid "post"
msgstr "bericht"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1933
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
+#: ../../include/conversation.php:150
msgid "comment"
msgstr "reactie"
@@ -6241,7 +6239,7 @@ msgid "Source of Item"
msgstr "Bron van item"
#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
-#: ../../include/conversation.php:1685 ../../include/nav.php:106
+#: ../../include/nav.php:106 ../../include/conversation.php:1685
msgid "Webpages"
msgstr "Webpagina's"
@@ -6294,7 +6292,7 @@ msgid "Suggest Channels"
msgstr "Kanalen voorstellen"
#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
-#: ../../boot.php:1695
+#: ../../boot.php:1703
msgid "Login"
msgstr "Inloggen"
@@ -6306,8 +6304,8 @@ msgstr "Grid"
msgid "Channel Home"
msgstr "Jouw kanaal"
-#: ../../Zotlabs/Lib/Apps.php:221 ../../include/conversation.php:1649
-#: ../../include/conversation.php:1652 ../../include/nav.php:201
+#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
+#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
msgid "Events"
msgstr "Agenda"
@@ -6339,7 +6337,7 @@ msgstr "Willekeurig kanaal"
msgid "Invite"
msgstr "Uitnodigen "
-#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1384
+#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
msgid "Features"
msgstr "Extra functies"
@@ -6371,181 +6369,6 @@ msgstr "Chatkanaal niet gevonden"
msgid "Room is full"
msgstr "Chatkanaal is vol"
-#: ../../Zotlabs/Lib/ThreadItem.php:85 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Niet voor iedereen zichtbaar"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:122 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Kies"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:126
-msgid "Save to Folder"
-msgstr "In map opslaan"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I will attend"
-msgstr "Aanwezig"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I will not attend"
-msgstr "Niet aanwezig"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:147
-msgid "I might attend"
-msgstr "Mogelijk aanwezig"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I agree"
-msgstr "Eens"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I disagree"
-msgstr "Oneens"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I abstain"
-msgstr "Onthouding"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:208
-msgid "Add Star"
-msgstr "Ster toevoegen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:209
-msgid "Remove Star"
-msgstr "Ster verwijderen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:210
-msgid "Toggle Star Status"
-msgstr "Ster toevoegen of verwijderen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:214
-msgid "starred"
-msgstr "met ster"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:224 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Berichtkenmerk gevalideerd"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:225 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Berichtkenmerk onjuist"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:233
-msgid "Add Tag"
-msgstr "Tag toevoegen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:251 ../../include/taxonomy.php:316
-msgid "like"
-msgstr "vind dit leuk"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:252 ../../include/taxonomy.php:317
-msgid "dislike"
-msgstr "vind dit niet leuk"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:256
-msgid "Share This"
-msgstr "Delen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:256
-msgid "share"
-msgstr "delen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:265
-msgid "Delivery Report"
-msgstr "Afleveringsrapport"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:283
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d reactie"
-msgstr[1] "%d reacties weergeven"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:312 ../../Zotlabs/Lib/ThreadItem.php:313
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Profiel van %s bekijken - %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:316
-msgid "to"
-msgstr "aan"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:317
-msgid "via"
-msgstr "via"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:318
-msgid "Wall-to-Wall"
-msgstr "Kanaal-naar-kanaal"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:319
-msgid "via Wall-To-Wall:"
-msgstr "via kanaal-naar-kanaal"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:331 ../../include/conversation.php:719
-#, php-format
-msgid "from %s"
-msgstr "van %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:334 ../../include/conversation.php:722
-#, php-format
-msgid "last edited: %s"
-msgstr "laatst bewerkt: %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:335 ../../include/conversation.php:723
-#, php-format
-msgid "Expires: %s"
-msgstr "Verloopt: %s"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:359
-msgid "Save Bookmarks"
-msgstr "Bladwijzers opslaan"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:360
-msgid "Add to Calendar"
-msgstr "Aan agenda toevoegen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:369
-msgid "Mark all seen"
-msgstr "Markeer alles als bekeken"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:410 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] alle"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:700 ../../include/conversation.php:1215
-msgid "Bold"
-msgstr "Vet"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:701 ../../include/conversation.php:1216
-msgid "Italic"
-msgstr "Cursief"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:702 ../../include/conversation.php:1217
-msgid "Underline"
-msgstr "Onderstrepen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:703 ../../include/conversation.php:1218
-msgid "Quote"
-msgstr "Citeren"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:704 ../../include/conversation.php:1219
-msgid "Code"
-msgstr "Broncode"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:705
-msgid "Image"
-msgstr "Afbeelding"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:706
-msgid "Insert Link"
-msgstr "Link invoegen"
-
-#: ../../Zotlabs/Lib/ThreadItem.php:707
-msgid "Video"
-msgstr "Video"
-
#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
msgid "$Projectname Notification"
msgstr "$Projectname-notificatie"
@@ -6751,6 +6574,181 @@ msgstr "maakte een nieuw bericht aan"
msgid "commented on %s's post"
msgstr "gaf een reactie op een bericht van %s"
+#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
+msgid "Private Message"
+msgstr "Niet voor iedereen zichtbaar"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
+msgid "Select"
+msgstr "Kies"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:136
+msgid "Save to Folder"
+msgstr "In map opslaan"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will attend"
+msgstr "Aanwezig"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I will not attend"
+msgstr "Niet aanwezig"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:157
+msgid "I might attend"
+msgstr "Mogelijk aanwezig"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I agree"
+msgstr "Eens"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I disagree"
+msgstr "Oneens"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:167
+msgid "I abstain"
+msgstr "Onthouding"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:218
+msgid "Add Star"
+msgstr "Ster toevoegen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219
+msgid "Remove Star"
+msgstr "Ster verwijderen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:220
+msgid "Toggle Star Status"
+msgstr "Ster toevoegen of verwijderen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:224
+msgid "starred"
+msgstr "met ster"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
+msgid "Message signature validated"
+msgstr "Berichtkenmerk gevalideerd"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
+msgid "Message signature incorrect"
+msgstr "Berichtkenmerk onjuist"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:243
+msgid "Add Tag"
+msgstr "Tag toevoegen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+msgid "like"
+msgstr "vind dit leuk"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+msgid "dislike"
+msgstr "vind dit niet leuk"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "Share This"
+msgstr "Delen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:266
+msgid "share"
+msgstr "delen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:275
+msgid "Delivery Report"
+msgstr "Afleveringsrapport"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:293
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d reactie"
+msgstr[1] "%d reacties weergeven"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Profiel van %s bekijken - %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:326
+msgid "to"
+msgstr "aan"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:327
+msgid "via"
+msgstr "via"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:328
+msgid "Wall-to-Wall"
+msgstr "Kanaal-naar-kanaal"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329
+msgid "via Wall-To-Wall:"
+msgstr "via kanaal-naar-kanaal"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
+#, php-format
+msgid "from %s"
+msgstr "van %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
+#, php-format
+msgid "last edited: %s"
+msgstr "laatst bewerkt: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
+#, php-format
+msgid "Expires: %s"
+msgstr "Verloopt: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:370
+msgid "Save Bookmarks"
+msgstr "Bladwijzers opslaan"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:371
+msgid "Add to Calendar"
+msgstr "Aan agenda toevoegen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:380
+msgid "Mark all seen"
+msgstr "Markeer alles als bekeken"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] alle"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
+msgid "Bold"
+msgstr "Vet"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
+msgid "Italic"
+msgstr "Cursief"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
+msgid "Underline"
+msgstr "Onderstrepen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
+msgid "Quote"
+msgstr "Citeren"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
+msgid "Code"
+msgstr "Broncode"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:716
+msgid "Image"
+msgstr "Afbeelding"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:717
+msgid "Insert Link"
+msgstr "Link invoegen"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:718
+msgid "Video"
+msgstr "Video"
+
#: ../../include/Import/import_diaspora.php:16
msgid "No username found in import file."
msgstr "Geen gebruikersnaam in het importbestand gevonden."
@@ -6764,89 +6762,990 @@ msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislu
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
-#: ../../include/network.php:657
-msgid "view full size"
-msgstr "volledige grootte tonen"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
+msgstr "Categorieën"
-#: ../../include/network.php:1871 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Beheerder"
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Tags"
-#: ../../include/network.php:1885
-msgid "No Subject"
-msgstr "Geen onderwerp"
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Trefwoorden"
-#: ../../include/network.php:2146 ../../include/network.php:2147
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "heb"
-#: ../../include/network.php:2148
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "heeft"
-#: ../../include/network.php:2149
-msgid "GNU-Social"
-msgstr "GNU social"
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "wil"
-#: ../../include/network.php:2150
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "wil"
-#: ../../include/network.php:2152
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "vindt dit leuk"
-#: ../../include/network.php:2153
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "vindt dit niet leuk"
-#: ../../include/network.php:2154
-msgid "Zot"
-msgstr "Zot"
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../include/network.php:2155
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr "Start:"
-#: ../../include/network.php:2156
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr "Einde:"
-#: ../../include/network.php:2157
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/event.php:812
+msgid "This event has been added to your calendar."
+msgstr "Dit evenement is aan jouw agenda toegevoegd."
-#: ../../include/photos.php:110
+#: ../../include/event.php:1012
+msgid "Not specified"
+msgstr "Niet aangegeven"
+
+#: ../../include/event.php:1013
+msgid "Needs Action"
+msgstr "Actie vereist"
+
+#: ../../include/event.php:1014
+msgid "Completed"
+msgstr "Voltooid"
+
+#: ../../include/event.php:1015
+msgid "In Process"
+msgstr "In behandeling"
+
+#: ../../include/event.php:1016
+msgid "Cancelled"
+msgstr "Geannuleerd"
+
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
+
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
+msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
+
+#: ../../include/items.php:892 ../../include/items.php:937
+msgid "(Unknown)"
+msgstr "(Onbekend)"
+
+#: ../../include/items.php:1136
+msgid "Visible to anybody on the internet."
+msgstr "Voor iedereen op het internet zichtbaar."
+
+#: ../../include/items.php:1138
+msgid "Visible to you only."
+msgstr "Alleen voor jou zichtbaar."
+
+#: ../../include/items.php:1140
+msgid "Visible to anybody in this network."
+msgstr "Voor iedereen in dit netwerk zichtbaar."
+
+#: ../../include/items.php:1142
+msgid "Visible to anybody authenticated."
+msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
+
+#: ../../include/items.php:1144
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
+msgid "Visible to anybody on %s."
+msgstr "Voor iedereen op %s zichtbaar."
-#: ../../include/photos.php:117
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg"
+#: ../../include/items.php:1146
+msgid "Visible to all connections."
+msgstr "Voor alle connecties zichtbaar."
-#: ../../include/photos.php:255
-msgid "Photo storage failed."
-msgstr "Foto kan niet worden opgeslagen"
+#: ../../include/items.php:1148
+msgid "Visible to approved connections."
+msgstr "Voor alle geaccepteerde connecties zichtbaar."
-#: ../../include/photos.php:295
-msgid "a new photo"
-msgstr "een nieuwe foto"
+#: ../../include/items.php:1150
+msgid "Visible to specific connections."
+msgstr "Voor specifieke connecties zichtbaar."
-#: ../../include/photos.php:299
+#: ../../include/items.php:3909
+msgid "Privacy group is empty."
+msgstr "Privacygroep is leeg"
+
+#: ../../include/items.php:3916
#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s plaatste %2$s op %3$s"
+msgid "Privacy group: %s"
+msgstr "Privacygroep: %s"
-#: ../../include/photos.php:504 ../../include/conversation.php:1635
-msgid "Photo Albums"
-msgstr "Fotoalbums"
+#: ../../include/items.php:3928
+msgid "Connection not found."
+msgstr "Connectie niet gevonden."
-#: ../../include/photos.php:508
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
+#: ../../include/items.php:4277
+msgid "profile photo"
+msgstr "profielfoto"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Geen ontvanger opgegeven."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[geen onderwerp]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Afzender kan niet bepaald worden."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Opgeslagen bericht kon niet worden geverifieerd."
+
+#: ../../include/text.php:428
+msgid "prev"
+msgstr "vorige"
+
+#: ../../include/text.php:430
+msgid "first"
+msgstr "eerste"
+
+#: ../../include/text.php:459
+msgid "last"
+msgstr "laatste"
+
+#: ../../include/text.php:462
+msgid "next"
+msgstr "volgende"
+
+#: ../../include/text.php:472
+msgid "older"
+msgstr "ouder"
+
+#: ../../include/text.php:474
+msgid "newer"
+msgstr "nieuwer"
+
+#: ../../include/text.php:863
+msgid "No connections"
+msgstr "Geen connecties"
+
+#: ../../include/text.php:888
+#, php-format
+msgid "View all %s connections"
+msgstr "Toon alle %s connecties"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+msgid "poke"
+msgstr "aanstoten"
+
+#: ../../include/text.php:1033 ../../include/text.php:1038
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "aangestoten"
+
+#: ../../include/text.php:1039
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:1039
+msgid "pinged"
+msgstr "gepingd"
+
+#: ../../include/text.php:1040
+msgid "prod"
+msgstr "por"
+
+#: ../../include/text.php:1040
+msgid "prodded"
+msgstr "gepord"
+
+#: ../../include/text.php:1041
+msgid "slap"
+msgstr "slaan"
+
+#: ../../include/text.php:1041
+msgid "slapped"
+msgstr "sloeg"
+
+#: ../../include/text.php:1042
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:1042
+msgid "fingered"
+msgstr "gefingerd"
+
+#: ../../include/text.php:1043
+msgid "rebuff"
+msgstr "afpoeieren"
+
+#: ../../include/text.php:1043
+msgid "rebuffed"
+msgstr "afgepoeierd"
+
+#: ../../include/text.php:1055
+msgid "happy"
+msgstr "gelukkig"
+
+#: ../../include/text.php:1056
+msgid "sad"
+msgstr "bedroefd"
+
+#: ../../include/text.php:1057
+msgid "mellow"
+msgstr "mellow"
+
+#: ../../include/text.php:1058
+msgid "tired"
+msgstr "moe"
+
+#: ../../include/text.php:1059
+msgid "perky"
+msgstr "parmantig"
+
+#: ../../include/text.php:1060
+msgid "angry"
+msgstr "boos"
+
+#: ../../include/text.php:1061
+msgid "stupefied"
+msgstr "verbijsterd"
+
+#: ../../include/text.php:1062
+msgid "puzzled"
+msgstr "verward"
+
+#: ../../include/text.php:1063
+msgid "interested"
+msgstr "geïnteresseerd"
+
+#: ../../include/text.php:1064
+msgid "bitter"
+msgstr "verbitterd"
+
+#: ../../include/text.php:1065
+msgid "cheerful"
+msgstr "vrolijk"
+
+#: ../../include/text.php:1066
+msgid "alive"
+msgstr "levendig"
+
+#: ../../include/text.php:1067
+msgid "annoyed"
+msgstr "geërgerd"
+
+#: ../../include/text.php:1068
+msgid "anxious"
+msgstr "bezorgd"
+
+#: ../../include/text.php:1069
+msgid "cranky"
+msgstr "humeurig"
+
+#: ../../include/text.php:1070
+msgid "disturbed"
+msgstr "verontrust"
+
+#: ../../include/text.php:1071
+msgid "frustrated"
+msgstr "gefrustreerd "
+
+#: ../../include/text.php:1072
+msgid "depressed"
+msgstr "gedeprimeerd"
+
+#: ../../include/text.php:1073
+msgid "motivated"
+msgstr "gemotiveerd"
+
+#: ../../include/text.php:1074
+msgid "relaxed"
+msgstr "ontspannen"
+
+#: ../../include/text.php:1075
+msgid "surprised"
+msgstr "verrast"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "maandag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "dinsdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "woensdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "donderdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "vrijdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "zaterdag"
+
+#: ../../include/text.php:1257 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "zondag"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:45
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:46
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:47
+msgid "March"
+msgstr "maart"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:48
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1261
+msgid "May"
+msgstr "mei"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:50
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:51
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:52
+msgid "August"
+msgstr "augustus"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:53
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:54
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:55
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1261 ../../include/js_strings.php:56
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1338 ../../include/text.php:1342
+msgid "Unknown Attachment"
+msgstr "Onbekende bijlage"
+
+#: ../../include/text.php:1344
+msgid "unknown"
+msgstr "onbekend"
+
+#: ../../include/text.php:1380
+msgid "remove category"
+msgstr "categorie verwijderen"
+
+#: ../../include/text.php:1457
+msgid "remove from file"
+msgstr "uit map verwijderen"
+
+#: ../../include/text.php:1753 ../../include/text.php:1824
+msgid "default"
+msgstr "standaard"
+
+#: ../../include/text.php:1761
+msgid "Page layout"
+msgstr "Pagina-lay-out"
+
+#: ../../include/text.php:1761
+msgid "You can create your own with the layouts tool"
+msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+
+#: ../../include/text.php:1803
+msgid "Page content type"
+msgstr "Opmaaktype pagina"
+
+#: ../../include/text.php:1836
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
+
+#: ../../include/text.php:1953
+msgid "activity"
+msgstr "activiteit"
+
+#: ../../include/text.php:2262
+msgid "Design Tools"
+msgstr "Ontwerp-hulpmiddelen"
+
+#: ../../include/text.php:2268
+msgid "Pages"
+msgstr "Pagina's"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Systeem"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nieuwe app"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Voorgestelde kanalen"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Meer..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Nieuwe connectie toevoegen"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Vul kanaaladres in"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Voorbeelden: bob@example.com, http://example.com/barbara"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Aantekeningen"
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
+
+#: ../../include/widgets.php:281 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Opgeslagen zoekopdrachten"
+
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
+msgstr "toevoegen"
+
+#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
+#: ../../include/features.php:98
+msgid "Saved Folders"
+msgstr "Bewaarde mappen"
+
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/widgets.php:354
+msgid "Archives"
+msgstr "Archieven"
+
+#: ../../include/widgets.php:516
+msgid "Refresh"
+msgstr "Vernieuwen"
+
+#: ../../include/widgets.php:556
+msgid "Account settings"
+msgstr "Account"
+
+#: ../../include/widgets.php:562
+msgid "Channel settings"
+msgstr "Kanaal"
+
+#: ../../include/widgets.php:571
+msgid "Additional features"
+msgstr "Extra functies"
+
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
+msgstr "Plugin-instellingen"
+
+#: ../../include/widgets.php:584
+msgid "Display settings"
+msgstr "Weergave"
+
+#: ../../include/widgets.php:591
+msgid "Manage locations"
+msgstr "Locaties beheren"
+
+#: ../../include/widgets.php:600
+msgid "Export channel"
+msgstr "Kanaal exporteren"
+
+#: ../../include/widgets.php:607
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
+
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
+msgstr "Instellingen premiumkanaal"
+
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
+msgstr "Privéberichten"
+
+#: ../../include/widgets.php:653
+msgid "Combined View"
+msgstr "Gecombineerd postvak"
+
+#: ../../include/widgets.php:658 ../../include/nav.php:196
+msgid "Inbox"
+msgstr "Postvak IN"
+
+#: ../../include/widgets.php:663 ../../include/nav.php:197
+msgid "Outbox"
+msgstr "Postvak UIT"
+
+#: ../../include/widgets.php:668 ../../include/nav.php:198
+msgid "New Message"
+msgstr "Nieuw bericht"
+
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
+msgstr "Conversaties"
+
+#: ../../include/widgets.php:689
+msgid "Received Messages"
+msgstr "Ontvangen berichten"
+
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
+msgstr "Verzonden berichten"
+
+#: ../../include/widgets.php:707
+msgid "No messages."
+msgstr "Geen berichten"
+
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
+msgstr "Verwijder conversatie"
+
+#: ../../include/widgets.php:751
+msgid "Events Menu"
+msgstr "Agenda-menu"
+
+#: ../../include/widgets.php:752
+msgid "Day View"
+msgstr "Dag tonen"
+
+#: ../../include/widgets.php:753
+msgid "Week View"
+msgstr "Week tonen"
+
+#: ../../include/widgets.php:754
+msgid "Month View"
+msgstr "Maand tonen"
+
+#: ../../include/widgets.php:766
+msgid "Events Tools"
+msgstr "Agenda-hulpmiddelen"
+
+#: ../../include/widgets.php:767
+msgid "Export Calendar"
+msgstr "Exporteren"
+
+#: ../../include/widgets.php:768
+msgid "Import Calendar"
+msgstr "Importeren"
+
+#: ../../include/widgets.php:842 ../../include/conversation.php:1662
+#: ../../include/conversation.php:1665
+msgid "Chatrooms"
+msgstr "Chatkanalen"
+
+#: ../../include/widgets.php:846
+msgid "Overview"
+msgstr "Overzicht"
+
+#: ../../include/widgets.php:853
+msgid "Chat Members"
+msgstr "Chatleden"
+
+#: ../../include/widgets.php:876
+msgid "Bookmarked Chatrooms"
+msgstr "Bladwijzers van chatkanalen"
+
+#: ../../include/widgets.php:899
+msgid "Suggested Chatrooms"
+msgstr "Voorgestelde chatkanalen"
+
+#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
+msgid "photo/image"
+msgstr "foto/afbeelding"
+
+#: ../../include/widgets.php:1099
+msgid "Click to show more"
+msgstr "Klik voor meer"
+
+#: ../../include/widgets.php:1250
+msgid "Rating Tools"
+msgstr "Beoordelingen"
+
+#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
+msgid "Rate Me"
+msgstr "Beoordeel mij"
+
+#: ../../include/widgets.php:1259
+msgid "View Ratings"
+msgstr "Bekijk beoordelingen"
+
+#: ../../include/widgets.php:1316
+msgid "Forums"
+msgstr "Forums"
+
+#: ../../include/widgets.php:1345
+msgid "Tasks"
+msgstr "Taken"
+
+#: ../../include/widgets.php:1354
+msgid "Documentation"
+msgstr "Documentatie"
+
+#: ../../include/widgets.php:1356
+msgid "Project/Site Information"
+msgstr "Project- en hub-informatie"
+
+#: ../../include/widgets.php:1357
+msgid "For Members"
+msgstr "Voor leden"
+
+#: ../../include/widgets.php:1358
+msgid "For Administrators"
+msgstr "Voor beheerders"
+
+#: ../../include/widgets.php:1359
+msgid "For Developers"
+msgstr "Voor ontwikkelaars"
+
+#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
+msgid "Member registrations waiting for confirmation"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../include/widgets.php:1389
+msgid "Inspect queue"
+msgstr "Inspecteer berichtenwachtrij"
+
+#: ../../include/widgets.php:1391
+msgid "DB updates"
+msgstr "Database-updates"
+
+#: ../../include/widgets.php:1416 ../../include/nav.php:216
+msgid "Admin"
+msgstr "Beheer"
+
+#: ../../include/widgets.php:1417
+msgid "Plugin Features"
+msgstr "Plugin-opties"
+
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Kanaal is op deze hub geblokkeerd."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Ontbrekende kanaallocatie."
+
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
+msgstr "Antwoord van het kanaal op afstand was niet volledig."
+
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanaal is verwijderd en bestaat niet meer."
+
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
+msgstr "Protocol uitgeschakeld."
+
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
+msgstr "Kanaal ontdekken mislukt."
+
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
+msgstr "Kan niet met jezelf verbinden"
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "Bladwijzers van %1$s"
+
+#: ../../include/api.php:1336
+msgid "Public Timeline"
+msgstr "Openbare tijdlijn"
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
+#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
+#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
+#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
+#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
+#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
+#: ../../include/bbcode.php:883
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Installeer %s-element: "
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."
+
+#: ../../include/bbcode.php:254
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schreef het volgende %2$s %3$s"
+
+#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
+
+#: ../../include/bbcode.php:339
+msgid "spoiler"
+msgstr "spoiler"
+
+#: ../../include/bbcode.php:585
+msgid "Different viewers will see this text differently"
+msgstr "Deze tekst wordt per persoon anders weergeven."
+
+#: ../../include/bbcode.php:832
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opties kanalengids"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Veilig zoeken"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Alleen openbare forums"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Alleen deze hub"
+
+#: ../../include/security.php:383
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
+
+#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
+msgid "Logout"
+msgstr "Uitloggen"
+
+#: ../../include/nav.php:82 ../../include/nav.php:113
+msgid "End this session"
+msgstr "Beëindig deze sessie"
+
+#: ../../include/nav.php:85 ../../include/nav.php:144
+msgid "Home"
+msgstr "Home"
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr "Jouw kanaal"
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr "Jouw profielpagina"
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr "Beheer/wijzig profielen"
+
+#: ../../include/nav.php:90 ../../include/channel.php:941
+msgid "Edit Profile"
+msgstr "Profiel bewerken"
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr "Jouw profiel bewerken"
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr "Jouw foto's"
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr "Jouw bestanden"
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr "Jouw chatkanalen"
+
+#: ../../include/nav.php:102 ../../include/conversation.php:1675
+msgid "Bookmarks"
+msgstr "Bladwijzers"
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr "Jouw bladwijzers"
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr "Jouw webpagina's"
+
+#: ../../include/nav.php:110
+msgid "Sign in"
+msgstr "Inloggen"
+
+#: ../../include/nav.php:127
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - klik om uit te loggen"
+
+#: ../../include/nav.php:130
+msgid "Remote authentication"
+msgstr "Authenticatie op afstand"
+
+#: ../../include/nav.php:130
+msgid "Click to authenticate to your home hub"
+msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
+
+#: ../../include/nav.php:144
+msgid "Home Page"
+msgstr "Homepage"
+
+#: ../../include/nav.php:147
+msgid "Create an account"
+msgstr "Maak een account aan"
+
+#: ../../include/nav.php:159
+msgid "Help and documentation"
+msgstr "Hulp en documentatie"
+
+#: ../../include/nav.php:163
+msgid "Applications, utilities, links, games"
+msgstr "Apps"
+
+#: ../../include/nav.php:165
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "
+
+#: ../../include/nav.php:167
+msgid "Channel Directory"
+msgstr "Kanalengids"
+
+#: ../../include/nav.php:179
+msgid "Your grid"
+msgstr "Jouw grid"
+
+#: ../../include/nav.php:180
+msgid "Mark all grid notifications seen"
+msgstr "Markeer alle gridnotificaties als bekeken"
+
+#: ../../include/nav.php:182
+msgid "Channel home"
+msgstr "Jouw kanaal"
+
+#: ../../include/nav.php:183
+msgid "Mark all channel notifications seen"
+msgstr "Alle kanaalnotificaties als gelezen markeren"
+
+#: ../../include/nav.php:189
+msgid "Notices"
+msgstr "Notificaties"
+
+#: ../../include/nav.php:189
+msgid "Notifications"
+msgstr "Notificaties"
+
+#: ../../include/nav.php:190
+msgid "See all notifications"
+msgstr "Alle notificaties weergeven"
+
+#: ../../include/nav.php:193
+msgid "Private mail"
+msgstr "Privéberichten"
+
+#: ../../include/nav.php:194
+msgid "See all private messages"
+msgstr "Alle privéberichten weergeven"
+
+#: ../../include/nav.php:195
+msgid "Mark all private messages seen"
+msgstr "Markeer alle privéberichten als bekeken"
+
+#: ../../include/nav.php:201
+msgid "Event Calendar"
+msgstr "Agenda"
+
+#: ../../include/nav.php:202
+msgid "See all events"
+msgstr "Alle gebeurtenissen weergeven"
+
+#: ../../include/nav.php:203
+msgid "Mark all events seen"
+msgstr "Markeer alle gebeurtenissen als bekeken"
+
+#: ../../include/nav.php:206
+msgid "Manage Your Channels"
+msgstr "Beheer je kanalen"
+
+#: ../../include/nav.php:208
+msgid "Account/Channel Settings"
+msgstr "Account-/kanaal-instellingen"
+
+#: ../../include/nav.php:216
+msgid "Site Setup and Configuration"
+msgstr "Hub instellen en beheren"
+
+#: ../../include/nav.php:247 ../../include/conversation.php:851
+msgid "Loading..."
+msgstr "Aan het laden..."
+
+#: ../../include/nav.php:252
+msgid "@name, #tag, ?doc, content"
+msgstr "@kanaal, #tag, inhoud, ?hulp"
+
+#: ../../include/nav.php:253
+msgid "Please wait..."
+msgstr "Wachten aub..."
#: ../../include/connections.php:95
msgid "New window"
@@ -6861,14 +7760,6 @@ msgstr "Open de geselecteerde locatie in een ander venster of tab"
msgid "User '%s' deleted"
msgstr "Account '%s' verwijderd"
-#: ../../include/oembed.php:324
-msgid "Embedded content"
-msgstr "Ingesloten (embedded) inhoud"
-
-#: ../../include/oembed.php:333
-msgid "Embedding disabled"
-msgstr "Insluiten (embedding) uitgeschakeld"
-
#: ../../include/contact_widgets.php:11
#, php-format
msgid "%d invitation available"
@@ -6904,22 +7795,6 @@ msgstr "Vrienden uitnodigen"
msgid "Advanced example: name=fred and country=iceland"
msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"
-#: ../../include/contact_widgets.php:53 ../../include/widgets.php:310
-#: ../../include/features.php:97
-msgid "Saved Folders"
-msgstr "Bewaarde mappen"
-
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-msgid "Everything"
-msgstr "Alles"
-
-#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
-#: ../../include/widgets.php:429 ../../include/taxonomy.php:188
-#: ../../include/taxonomy.php:270
-msgid "Categories"
-msgstr "Categorieën"
-
#: ../../include/contact_widgets.php:122
#, php-format
msgid "%d connection in common"
@@ -6941,11 +7816,6 @@ msgstr "%1$s is nu met %2$s verbonden"
msgid "%1$s poked %2$s"
msgstr "%1$s heeft %2$s aangestoten"
-#: ../../include/conversation.php:243 ../../include/text.php:1033
-#: ../../include/text.php:1038
-msgid "poked"
-msgstr "aangestoten"
-
#: ../../include/conversation.php:691
#, php-format
msgid "View %s's profile @ %s"
@@ -6967,10 +7837,6 @@ msgstr "In context bekijken"
msgid "remove"
msgstr "verwijderen"
-#: ../../include/conversation.php:851 ../../include/nav.php:247
-msgid "Loading..."
-msgstr "Aan het laden..."
-
#: ../../include/conversation.php:852
msgid "Delete Selected Items"
msgstr "Verwijder de geselecteerde items"
@@ -7144,19 +8010,14 @@ msgstr "Over"
msgid "Profile Details"
msgstr "Profiel"
+#: ../../include/conversation.php:1635 ../../include/photos.php:502
+msgid "Photo Albums"
+msgstr "Fotoalbums"
+
#: ../../include/conversation.php:1642
msgid "Files and Storage"
msgstr "Bestanden en opslagruimte"
-#: ../../include/conversation.php:1662 ../../include/conversation.php:1665
-#: ../../include/widgets.php:840
-msgid "Chatrooms"
-msgstr "Chatkanalen"
-
-#: ../../include/conversation.php:1675 ../../include/nav.php:102
-msgid "Bookmarks"
-msgstr "Bladwijzers"
-
#: ../../include/conversation.php:1678
msgid "Saved Bookmarks"
msgstr "Opgeslagen bladwijzers"
@@ -7207,61 +8068,6 @@ msgid_plural "Abstains"
msgstr[0] "onthouding"
msgstr[1] "onthoudingen"
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
-
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
-msgstr "Start:"
-
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
-msgstr "Einde:"
-
-#: ../../include/event.php:812
-msgid "This event has been added to your calendar."
-msgstr "Dit evenement is aan jouw agenda toegevoegd."
-
-#: ../../include/event.php:1012
-msgid "Not specified"
-msgstr "Niet aangegeven"
-
-#: ../../include/event.php:1013
-msgid "Needs Action"
-msgstr "Actie vereist"
-
-#: ../../include/event.php:1014
-msgid "Completed"
-msgstr "Voltooid"
-
-#: ../../include/event.php:1015
-msgid "In Process"
-msgstr "In behandeling"
-
-#: ../../include/event.php:1016
-msgid "Cancelled"
-msgstr "Geannuleerd"
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Geen ontvanger opgegeven."
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[geen onderwerp]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Afzender kan niet bepaald worden."
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Opgeslagen bericht kon niet worden geverifieerd."
-
#: ../../include/selectors.php:30
msgid "Frequently"
msgstr "Regelmatig"
@@ -7508,57 +8314,145 @@ msgstr "Maakt mij niks uit"
msgid "Ask me"
msgstr "Vraag het me"
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
-#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
-#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
-#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
-#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
-#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
-#: ../../include/bbcode.php:883
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
+#: ../../include/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:232
+msgid "Visible to your default audience"
+msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
+#: ../../include/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:268
+msgid "Only me"
+msgstr "Alleen ik"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Installeer %s-element: "
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
+msgstr "Openbaar"
-#: ../../include/bbcode.php:182
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
+msgstr "Iedereen in het $Projectname-netwerk"
+
+#: ../../include/PermissionDescription.php:118
#, php-format
+msgid "Any account on %s"
+msgstr "Iedereen op %s"
+
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
+msgstr "Al mijn geaccepteerde connecties"
+
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
+msgstr "Alleen connecties die uitdrukkelijk door jou zijn toegestaan"
+
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)"
+
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Al mijn geaccepteerde en nog niet geaccepteerde connecties"
+
+#: ../../include/PermissionDescription.php:161
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken"
-#: ../../include/bbcode.php:254
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken"
+
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken"
+
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken"
+
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken"
+
+#: ../../include/account.php:28
+msgid "Not a valid email address"
+msgstr "Geen geldig e-mailadres"
+
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Jouw e-maildomein is op deze hub niet toegestaan"
+
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
+msgstr "Jouw e-mailadres is al op deze hub geregistreerd."
+
+#: ../../include/account.php:68
+msgid "An invitation is required."
+msgstr "Een uitnodiging is vereist"
+
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
+msgstr "Uitnodiging kon niet geverifieerd worden"
+
+#: ../../include/account.php:122
+msgid "Please enter the required information."
+msgstr "Vul de vereiste informatie in."
+
+#: ../../include/account.php:189
+msgid "Failed to store account information."
+msgstr "Account-informatie kon niet opgeslagen worden."
+
+#: ../../include/account.php:249
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schreef het volgende %2$s %3$s"
+msgid "Registration confirmation for %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/bbcode.php:339
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../include/account.php:317 ../../include/account.php:344
+#: ../../include/account.php:404 ../../include/network.php:1871
+msgid "Administrator"
+msgstr "Beheerder"
-#: ../../include/bbcode.php:585
-msgid "Different viewers will see this text differently"
-msgstr "Deze tekst wordt per persoon anders weergeven."
+#: ../../include/account.php:339
+msgid "your registration password"
+msgstr "jouw registratiewachtwoord"
-#: ../../include/bbcode.php:832
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registratiegegevens voor %s"
-#: ../../include/bookmarks.php:35
+#: ../../include/account.php:414
+msgid "Account approved."
+msgstr "Account goedgekeurd"
+
+#: ../../include/account.php:454
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "Bladwijzers van %1$s"
+msgid "Registration revoked for %s"
+msgstr "Registratie ingetrokken voor %s"
+
+#: ../../include/account.php:506
+msgid "Account verified. Please login."
+msgstr "Account is geverifieerd. Je kan inloggen."
+
+#: ../../include/account.php:723 ../../include/account.php:725
+msgid "Click here to upgrade."
+msgstr "Klik hier om te upgraden."
+
+#: ../../include/account.php:731
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
+
+#: ../../include/account.php:736
+msgid "This action is not available under your subscription plan."
+msgstr "Deze handeling is niet mogelijk met jouw abonnement."
#: ../../include/attach.php:247 ../../include/attach.php:333
msgid "Item was not found."
@@ -7667,10 +8561,6 @@ msgstr "Opgevraagd kanaal is niet beschikbaar."
msgid "Create New Profile"
msgstr "Nieuw profiel aanmaken"
-#: ../../include/channel.php:941 ../../include/nav.php:90
-msgid "Edit Profile"
-msgstr "Profiel bewerken"
-
#: ../../include/channel.php:958
msgid "Visible to everybody"
msgstr "Voor iedereen zichtbaar"
@@ -7780,725 +8670,6 @@ msgstr "School/opleiding:"
msgid "Like this thing"
msgstr "Vind dit ding leuk"
-#: ../../include/security.php:383
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
-
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1694
-msgid "Logout"
-msgstr "Uitloggen"
-
-#: ../../include/nav.php:82 ../../include/nav.php:113
-msgid "End this session"
-msgstr "Beëindig deze sessie"
-
-#: ../../include/nav.php:85 ../../include/nav.php:144
-msgid "Home"
-msgstr "Home"
-
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "Jouw kanaal"
-
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Jouw profielpagina"
-
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Beheer/wijzig profielen"
-
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Jouw profiel bewerken"
-
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Jouw foto's"
-
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "Jouw bestanden"
-
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
-msgstr "Jouw chatkanalen"
-
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
-msgstr "Jouw bladwijzers"
-
-#: ../../include/nav.php:106
-msgid "Your webpages"
-msgstr "Jouw webpagina's"
-
-#: ../../include/nav.php:110
-msgid "Sign in"
-msgstr "Inloggen"
-
-#: ../../include/nav.php:127
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klik om uit te loggen"
-
-#: ../../include/nav.php:130
-msgid "Remote authentication"
-msgstr "Authenticatie op afstand"
-
-#: ../../include/nav.php:130
-msgid "Click to authenticate to your home hub"
-msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
-
-#: ../../include/nav.php:144
-msgid "Home Page"
-msgstr "Homepage"
-
-#: ../../include/nav.php:147
-msgid "Create an account"
-msgstr "Maak een account aan"
-
-#: ../../include/nav.php:159
-msgid "Help and documentation"
-msgstr "Hulp en documentatie"
-
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Apps"
-
-#: ../../include/nav.php:165
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "
-
-#: ../../include/nav.php:167
-msgid "Channel Directory"
-msgstr "Kanalengids"
-
-#: ../../include/nav.php:179
-msgid "Your grid"
-msgstr "Jouw grid"
-
-#: ../../include/nav.php:180
-msgid "Mark all grid notifications seen"
-msgstr "Markeer alle gridnotificaties als bekeken"
-
-#: ../../include/nav.php:182
-msgid "Channel home"
-msgstr "Jouw kanaal"
-
-#: ../../include/nav.php:183
-msgid "Mark all channel notifications seen"
-msgstr "Alle kanaalnotificaties als gelezen markeren"
-
-#: ../../include/nav.php:189
-msgid "Notices"
-msgstr "Notificaties"
-
-#: ../../include/nav.php:189
-msgid "Notifications"
-msgstr "Notificaties"
-
-#: ../../include/nav.php:190
-msgid "See all notifications"
-msgstr "Alle notificaties weergeven"
-
-#: ../../include/nav.php:193
-msgid "Private mail"
-msgstr "Privéberichten"
-
-#: ../../include/nav.php:194
-msgid "See all private messages"
-msgstr "Alle privéberichten weergeven"
-
-#: ../../include/nav.php:195
-msgid "Mark all private messages seen"
-msgstr "Markeer alle privéberichten als bekeken"
-
-#: ../../include/nav.php:196 ../../include/widgets.php:658
-msgid "Inbox"
-msgstr "Postvak IN"
-
-#: ../../include/nav.php:197 ../../include/widgets.php:663
-msgid "Outbox"
-msgstr "Postvak UIT"
-
-#: ../../include/nav.php:198 ../../include/widgets.php:668
-msgid "New Message"
-msgstr "Nieuw bericht"
-
-#: ../../include/nav.php:201
-msgid "Event Calendar"
-msgstr "Agenda"
-
-#: ../../include/nav.php:202
-msgid "See all events"
-msgstr "Alle gebeurtenissen weergeven"
-
-#: ../../include/nav.php:203
-msgid "Mark all events seen"
-msgstr "Markeer alle gebeurtenissen als bekeken"
-
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Beheer je kanalen"
-
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Account-/kanaal-instellingen"
-
-#: ../../include/nav.php:216 ../../include/widgets.php:1414
-msgid "Admin"
-msgstr "Beheer"
-
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Hub instellen en beheren"
-
-#: ../../include/nav.php:252
-msgid "@name, #tag, ?doc, content"
-msgstr "@kanaal, #tag, inhoud, ?hulp"
-
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Wachten aub..."
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Systeem"
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nieuwe app"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Voorgestelde kanalen"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Meer..."
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Nieuwe connectie toevoegen"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Vul kanaaladres in"
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Voorbeelden: bob@example.com, http://example.com/barbara"
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Aantekeningen"
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
-
-#: ../../include/widgets.php:281 ../../include/features.php:84
-msgid "Saved Searches"
-msgstr "Opgeslagen zoekopdrachten"
-
-#: ../../include/widgets.php:282 ../../include/group.php:316
-msgid "add"
-msgstr "toevoegen"
-
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Archieven"
-
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Vernieuwen"
-
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Account"
-
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Kanaal"
-
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Extra functies"
-
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Plugin-instellingen"
-
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Weergave"
-
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Locaties beheren"
-
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Kanaal exporteren"
-
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
-
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
-msgstr "Instellingen premiumkanaal"
-
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
-msgstr "Privéberichten"
-
-#: ../../include/widgets.php:653
-msgid "Combined View"
-msgstr "Gecombineerd postvak"
-
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
-msgstr "Conversaties"
-
-#: ../../include/widgets.php:689
-msgid "Received Messages"
-msgstr "Ontvangen berichten"
-
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
-msgstr "Verzonden berichten"
-
-#: ../../include/widgets.php:707
-msgid "No messages."
-msgstr "Geen berichten"
-
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
-msgstr "Verwijder conversatie"
-
-#: ../../include/widgets.php:751
-msgid "Events Menu"
-msgstr "Agenda-menu"
-
-#: ../../include/widgets.php:752
-msgid "Day View"
-msgstr "Dag tonen"
-
-#: ../../include/widgets.php:753
-msgid "Week View"
-msgstr "Week tonen"
-
-#: ../../include/widgets.php:754
-msgid "Month View"
-msgstr "Maand tonen"
-
-#: ../../include/widgets.php:766
-msgid "Events Tools"
-msgstr "Agenda-hulpmiddelen"
-
-#: ../../include/widgets.php:767
-msgid "Export Calendar"
-msgstr "Exporteren"
-
-#: ../../include/widgets.php:768
-msgid "Import Calendar"
-msgstr "Importeren"
-
-#: ../../include/widgets.php:844
-msgid "Overview"
-msgstr "Overzicht"
-
-#: ../../include/widgets.php:851
-msgid "Chat Members"
-msgstr "Chatleden"
-
-#: ../../include/widgets.php:874
-msgid "Bookmarked Chatrooms"
-msgstr "Bladwijzers van chatkanalen"
-
-#: ../../include/widgets.php:897
-msgid "Suggested Chatrooms"
-msgstr "Voorgestelde chatkanalen"
-
-#: ../../include/widgets.php:1042 ../../include/widgets.php:1154
-msgid "photo/image"
-msgstr "foto/afbeelding"
-
-#: ../../include/widgets.php:1097
-msgid "Click to show more"
-msgstr "Klik voor meer"
-
-#: ../../include/widgets.php:1248
-msgid "Rating Tools"
-msgstr "Beoordelingen"
-
-#: ../../include/widgets.php:1252 ../../include/widgets.php:1254
-msgid "Rate Me"
-msgstr "Beoordeel mij"
-
-#: ../../include/widgets.php:1257
-msgid "View Ratings"
-msgstr "Bekijk beoordelingen"
-
-#: ../../include/widgets.php:1314
-msgid "Forums"
-msgstr "Forums"
-
-#: ../../include/widgets.php:1343
-msgid "Tasks"
-msgstr "Taken"
-
-#: ../../include/widgets.php:1352
-msgid "Documentation"
-msgstr "Documentatie"
-
-#: ../../include/widgets.php:1354
-msgid "Project/Site Information"
-msgstr "Project- en hub-informatie"
-
-#: ../../include/widgets.php:1355
-msgid "For Members"
-msgstr "Voor leden"
-
-#: ../../include/widgets.php:1356
-msgid "For Administrators"
-msgstr "Voor beheerders"
-
-#: ../../include/widgets.php:1357
-msgid "For Developers"
-msgstr "Voor ontwikkelaars"
-
-#: ../../include/widgets.php:1381
-msgid "Accounts"
-msgstr "Accounts"
-
-#: ../../include/widgets.php:1381 ../../include/widgets.php:1419
-msgid "Member registrations waiting for confirmation"
-msgstr "Accounts die op goedkeuring wachten"
-
-#: ../../include/widgets.php:1387
-msgid "Inspect queue"
-msgstr "Inspecteer berichtenwachtrij"
-
-#: ../../include/widgets.php:1389
-msgid "DB updates"
-msgstr "Database-updates"
-
-#: ../../include/widgets.php:1415
-msgid "Plugin Features"
-msgstr "Plugin-opties"
-
-#: ../../include/acl_selectors.php:232
-#: ../../include/PermissionDescription.php:31
-msgid "Visible to your default audience"
-msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld"
-
-#: ../../include/acl_selectors.php:268
-#: ../../include/PermissionDescription.php:115
-msgid "Only me"
-msgstr "Alleen ik"
-
-#: ../../include/acl_selectors.php:271
-msgid "Who can see this?"
-msgstr "Wie kan dit zien?"
-
-#: ../../include/acl_selectors.php:272
-msgid "Custom selection"
-msgstr "Handmatige selectie"
-
-#: ../../include/acl_selectors.php:273
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\"."
-
-#: ../../include/acl_selectors.php:274
-msgid "Show"
-msgstr "Tonen"
-
-#: ../../include/acl_selectors.php:275
-msgid "Don't show"
-msgstr "Niet tonen"
-
-#: ../../include/acl_selectors.php:281
-msgid "Other networks and post services"
-msgstr "Andere netwerken en diensten"
-
-#: ../../include/acl_selectors.php:311
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien."
-
-#: ../../include/datetime.php:135
-msgid "Birthday"
-msgstr "Verjaardag of geboortedatum"
-
-#: ../../include/datetime.php:137
-msgid "Age: "
-msgstr "Leeftijd:"
-
-#: ../../include/datetime.php:139
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "JJJJ-MM-DD of MM-DD"
-
-#: ../../include/datetime.php:272 ../../boot.php:2462
-msgid "never"
-msgstr "nooit"
-
-#: ../../include/datetime.php:278
-msgid "less than a second ago"
-msgstr "minder dan een seconde geleden"
-
-#: ../../include/datetime.php:296
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s geleden"
-
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "jaar"
-msgstr[1] "jaren"
-
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "maand"
-msgstr[1] "maanden"
-
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "week"
-msgstr[1] "weken"
-
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "dag"
-msgstr[1] "dagen"
-
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "uur"
-msgstr[1] "uren"
-
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuut"
-msgstr[1] "minuten"
-
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "seconde"
-msgstr[1] "seconden"
-
-#: ../../include/datetime.php:562
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Verjaardag van %1$s"
-
-#: ../../include/datetime.php:563
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gefeliciteerd met je verjaardag %1$s"
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Geen geldig e-mailadres"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Jouw e-maildomein is op deze hub niet toegestaan"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Jouw e-mailadres is al op deze hub geregistreerd."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Een uitnodiging is vereist"
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Uitnodiging kon niet geverifieerd worden"
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Vul de vereiste informatie in."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Account-informatie kon niet opgeslagen worden."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registratiebevestiging voor %s"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registratiebevestiging voor %s"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "jouw registratiewachtwoord"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registratiegegevens voor %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Account goedgekeurd"
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registratie ingetrokken voor %s"
-
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Account is geverifieerd. Je kan inloggen."
-
-#: ../../include/account.php:723 ../../include/account.php:725
-msgid "Click here to upgrade."
-msgstr "Klik hier om te upgraden."
-
-#: ../../include/account.php:731
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
-
-#: ../../include/account.php:736
-msgid "This action is not available under your subscription plan."
-msgstr "Deze handeling is niet mogelijk met jouw abonnement."
-
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Openbare tijdlijn"
-
-#: ../../include/auth.php:105
-msgid "Logged out."
-msgstr "Uitgelogd."
-
-#: ../../include/auth.php:212
-msgid "Failed authentication"
-msgstr "Mislukte authenticatie"
-
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "Kanaal is op deze hub geblokkeerd."
-
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Ontbrekende kanaallocatie."
-
-#: ../../include/follow.php:81
-msgid "Response from remote channel was incomplete."
-msgstr "Antwoord van het kanaal op afstand was niet volledig."
-
-#: ../../include/follow.php:98
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanaal is verwijderd en bestaat niet meer."
-
-#: ../../include/follow.php:154 ../../include/follow.php:190
-msgid "Protocol disabled."
-msgstr "Protocol uitgeschakeld."
-
-#: ../../include/follow.php:178
-msgid "Channel discovery failed."
-msgstr "Kanaal ontdekken mislukt."
-
-#: ../../include/follow.php:216
-msgid "Cannot connect to yourself."
-msgstr "Kan niet met jezelf verbinden"
-
-#: ../../include/import.php:29
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
-
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
-msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
-
-#: ../../include/items.php:892 ../../include/items.php:937
-msgid "(Unknown)"
-msgstr "(Onbekend)"
-
-#: ../../include/items.php:1136
-msgid "Visible to anybody on the internet."
-msgstr "Voor iedereen op het internet zichtbaar."
-
-#: ../../include/items.php:1138
-msgid "Visible to you only."
-msgstr "Alleen voor jou zichtbaar."
-
-#: ../../include/items.php:1140
-msgid "Visible to anybody in this network."
-msgstr "Voor iedereen in dit netwerk zichtbaar."
-
-#: ../../include/items.php:1142
-msgid "Visible to anybody authenticated."
-msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
-
-#: ../../include/items.php:1144
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Voor iedereen op %s zichtbaar."
-
-#: ../../include/items.php:1146
-msgid "Visible to all connections."
-msgstr "Voor alle connecties zichtbaar."
-
-#: ../../include/items.php:1148
-msgid "Visible to approved connections."
-msgstr "Voor alle geaccepteerde connecties zichtbaar."
-
-#: ../../include/items.php:1150
-msgid "Visible to specific connections."
-msgstr "Voor specifieke connecties zichtbaar."
-
-#: ../../include/items.php:3911
-msgid "Privacy group is empty."
-msgstr "Privacygroep is leeg"
-
-#: ../../include/items.php:3918
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Privacygroep: %s"
-
-#: ../../include/items.php:3930
-msgid "Connection not found."
-msgstr "Connectie niet gevonden."
-
-#: ../../include/items.php:4279
-msgid "profile photo"
-msgstr "profielfoto"
-
#: ../../include/features.php:48
msgid "General Features"
msgstr "Algemene functies"
@@ -8747,393 +8918,201 @@ msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
#: ../../include/features.php:97
+msgid "Emoji Reactions"
+msgstr "Emoji-reacties"
+
+#: ../../include/features.php:97
+msgid "Add emoji reaction ability to posts"
+msgstr "Emoji-reacties in berichten toestaan"
+
+#: ../../include/features.php:98
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: ../../include/features.php:98
+#: ../../include/features.php:99
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: ../../include/features.php:99
+#: ../../include/features.php:100
msgid "Ability to mark special posts with a star indicator"
msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Tag Cloud"
msgstr "Tagwolk"
-#: ../../include/features.php:100
+#: ../../include/features.php:101
msgid "Provide a personal tag cloud on your channel page"
msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."
-
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Voeg nieuwe connecties aan deze privacygroep toe"
-
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "bewerken"
-
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Privacygroep bewerken"
-
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Privacygroep toevoegen"
-
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Kanalen die zich in geen enkele privacygroep bevinden"
+#: ../../include/oembed.php:324
+msgid "Embedded content"
+msgstr "Ingesloten (embedded) inhoud"
-#: ../../include/text.php:428
-msgid "prev"
-msgstr "vorige"
+#: ../../include/oembed.php:333
+msgid "Embedding disabled"
+msgstr "Insluiten (embedding) uitgeschakeld"
-#: ../../include/text.php:430
-msgid "first"
-msgstr "eerste"
+#: ../../include/acl_selectors.php:271
+msgid "Who can see this?"
+msgstr "Wie kan dit zien?"
-#: ../../include/text.php:459
-msgid "last"
-msgstr "laatste"
+#: ../../include/acl_selectors.php:272
+msgid "Custom selection"
+msgstr "Handmatige selectie"
-#: ../../include/text.php:462
-msgid "next"
-msgstr "volgende"
+#: ../../include/acl_selectors.php:273
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\"."
-#: ../../include/text.php:472
-msgid "older"
-msgstr "ouder"
+#: ../../include/acl_selectors.php:274
+msgid "Show"
+msgstr "Tonen"
-#: ../../include/text.php:474
-msgid "newer"
-msgstr "nieuwer"
+#: ../../include/acl_selectors.php:275
+msgid "Don't show"
+msgstr "Niet tonen"
-#: ../../include/text.php:863
-msgid "No connections"
-msgstr "Geen connecties"
+#: ../../include/acl_selectors.php:281
+msgid "Other networks and post services"
+msgstr "Andere netwerken en diensten"
-#: ../../include/text.php:888
+#: ../../include/acl_selectors.php:311
#, php-format
-msgid "View all %s connections"
-msgstr "Toon alle %s connecties"
-
-#: ../../include/text.php:1033 ../../include/text.php:1038
-msgid "poke"
-msgstr "aanstoten"
-
-#: ../../include/text.php:1039
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:1039
-msgid "pinged"
-msgstr "gepingd"
-
-#: ../../include/text.php:1040
-msgid "prod"
-msgstr "por"
-
-#: ../../include/text.php:1040
-msgid "prodded"
-msgstr "gepord"
-
-#: ../../include/text.php:1041
-msgid "slap"
-msgstr "slaan"
-
-#: ../../include/text.php:1041
-msgid "slapped"
-msgstr "sloeg"
-
-#: ../../include/text.php:1042
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:1042
-msgid "fingered"
-msgstr "gefingerd"
-
-#: ../../include/text.php:1043
-msgid "rebuff"
-msgstr "afpoeieren"
-
-#: ../../include/text.php:1043
-msgid "rebuffed"
-msgstr "afgepoeierd"
-
-#: ../../include/text.php:1055
-msgid "happy"
-msgstr "gelukkig"
-
-#: ../../include/text.php:1056
-msgid "sad"
-msgstr "bedroefd"
-
-#: ../../include/text.php:1057
-msgid "mellow"
-msgstr "mellow"
-
-#: ../../include/text.php:1058
-msgid "tired"
-msgstr "moe"
-
-#: ../../include/text.php:1059
-msgid "perky"
-msgstr "parmantig"
-
-#: ../../include/text.php:1060
-msgid "angry"
-msgstr "boos"
-
-#: ../../include/text.php:1061
-msgid "stupefied"
-msgstr "verbijsterd"
-
-#: ../../include/text.php:1062
-msgid "puzzled"
-msgstr "verward"
-
-#: ../../include/text.php:1063
-msgid "interested"
-msgstr "geïnteresseerd"
-
-#: ../../include/text.php:1064
-msgid "bitter"
-msgstr "verbitterd"
-
-#: ../../include/text.php:1065
-msgid "cheerful"
-msgstr "vrolijk"
-
-#: ../../include/text.php:1066
-msgid "alive"
-msgstr "levendig"
-
-#: ../../include/text.php:1067
-msgid "annoyed"
-msgstr "geërgerd"
-
-#: ../../include/text.php:1068
-msgid "anxious"
-msgstr "bezorgd"
-
-#: ../../include/text.php:1069
-msgid "cranky"
-msgstr "humeurig"
-
-#: ../../include/text.php:1070
-msgid "disturbed"
-msgstr "verontrust"
-
-#: ../../include/text.php:1071
-msgid "frustrated"
-msgstr "gefrustreerd "
-
-#: ../../include/text.php:1072
-msgid "depressed"
-msgstr "gedeprimeerd"
-
-#: ../../include/text.php:1073
-msgid "motivated"
-msgstr "gemotiveerd"
-
-#: ../../include/text.php:1074
-msgid "relaxed"
-msgstr "ontspannen"
-
-#: ../../include/text.php:1075
-msgid "surprised"
-msgstr "verrast"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "maandag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "woensdag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "donderdag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "vrijdag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "zaterdag"
-
-#: ../../include/text.php:1242 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "zondag"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:45
-msgid "January"
-msgstr "januari"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:46
-msgid "February"
-msgstr "februari"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:47
-msgid "March"
-msgstr "maart"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:48
-msgid "April"
-msgstr "april"
-
-#: ../../include/text.php:1246
-msgid "May"
-msgstr "mei"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:50
-msgid "June"
-msgstr "juni"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:51
-msgid "July"
-msgstr "juli"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:52
-msgid "August"
-msgstr "augustus"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:53
-msgid "September"
-msgstr "september"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:54
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/text.php:1246 ../../include/js_strings.php:55
-msgid "November"
-msgstr "november"
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien."
-#: ../../include/text.php:1246 ../../include/js_strings.php:56
-msgid "December"
-msgstr "december"
+#: ../../include/auth.php:105
+msgid "Logged out."
+msgstr "Uitgelogd."
-#: ../../include/text.php:1323 ../../include/text.php:1327
-msgid "Unknown Attachment"
-msgstr "Onbekende bijlage"
+#: ../../include/auth.php:212
+msgid "Failed authentication"
+msgstr "Mislukte authenticatie"
-#: ../../include/text.php:1329
-msgid "unknown"
-msgstr "onbekend"
+#: ../../include/datetime.php:135
+msgid "Birthday"
+msgstr "Verjaardag of geboortedatum"
-#: ../../include/text.php:1365
-msgid "remove category"
-msgstr "categorie verwijderen"
+#: ../../include/datetime.php:137
+msgid "Age: "
+msgstr "Leeftijd:"
-#: ../../include/text.php:1442
-msgid "remove from file"
-msgstr "uit map verwijderen"
+#: ../../include/datetime.php:139
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-DD of MM-DD"
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
-msgstr "standaard"
+#: ../../include/datetime.php:272 ../../boot.php:2470
+msgid "never"
+msgstr "nooit"
-#: ../../include/text.php:1746
-msgid "Page layout"
-msgstr "Pagina-lay-out"
+#: ../../include/datetime.php:278
+msgid "less than a second ago"
+msgstr "minder dan een seconde geleden"
-#: ../../include/text.php:1746
-msgid "You can create your own with the layouts tool"
-msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+#: ../../include/datetime.php:296
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s geleden"
-#: ../../include/text.php:1788
-msgid "Page content type"
-msgstr "Opmaaktype pagina"
+#: ../../include/datetime.php:307
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "jaar"
+msgstr[1] "jaren"
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
+#: ../../include/datetime.php:310
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "maand"
+msgstr[1] "maanden"
-#: ../../include/text.php:1938
-msgid "activity"
-msgstr "activiteit"
+#: ../../include/datetime.php:313
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "week"
+msgstr[1] "weken"
-#: ../../include/text.php:2247
-msgid "Design Tools"
-msgstr "Ontwerp-hulpmiddelen"
+#: ../../include/datetime.php:316
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "dag"
+msgstr[1] "dagen"
-#: ../../include/text.php:2253
-msgid "Pages"
-msgstr "Pagina's"
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "uur"
+msgstr[1] "uren"
-#: ../../include/zot.php:699
-msgid "Invalid data packet"
-msgstr "Datapakket ongeldig"
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuut"
+msgstr[1] "minuten"
-#: ../../include/zot.php:715
-msgid "Unable to verify channel signature"
-msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "seconde"
+msgstr[1] "seconden"
-#: ../../include/zot.php:2363
+#: ../../include/datetime.php:562
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
-
-#: ../../include/zot.php:3712
-msgid "invalid target signature"
-msgstr "ongeldig doelkenmerk"
-
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Tags"
+msgid "%1$s's birthday"
+msgstr "Verjaardag van %1$s"
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Trefwoorden"
+#: ../../include/datetime.php:563
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Gefeliciteerd met je verjaardag %1$s"
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "heb"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "heeft"
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
+msgstr "Voeg nieuwe connecties aan deze privacygroep toe"
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "wil"
+#: ../../include/group.php:289
+msgid "edit"
+msgstr "bewerken"
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "wil"
+#: ../../include/group.php:312
+msgid "Edit group"
+msgstr "Privacygroep bewerken"
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "vindt dit leuk"
+#: ../../include/group.php:313
+msgid "Add privacy group"
+msgstr "Privacygroep toevoegen"
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "vindt dit niet leuk"
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
+msgstr "Kanalen die zich in geen enkele privacygroep bevinden"
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -9379,97 +9358,97 @@ msgctxt "calendar"
msgid "All day"
msgstr "hele dag"
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
-msgstr "Openbaar"
+#: ../../include/network.php:657
+msgid "view full size"
+msgstr "volledige grootte tonen"
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
-msgstr "Iedereen in het $Projectname-netwerk"
+#: ../../include/network.php:1885
+msgid "No Subject"
+msgstr "Geen onderwerp"
-#: ../../include/PermissionDescription.php:118
-#, php-format
-msgid "Any account on %s"
-msgstr "Iedereen op %s"
+#: ../../include/network.php:2146 ../../include/network.php:2147
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
-msgstr "Al mijn geaccepteerde connecties"
+#: ../../include/network.php:2148
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
-msgstr "Alleen connecties die uitdrukkelijk door jou zijn toegestaan"
+#: ../../include/network.php:2149
+msgid "GNU-Social"
+msgstr "GNU social"
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)"
+#: ../../include/network.php:2150
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Al mijn geaccepteerde en nog niet geaccepteerde connecties"
+#: ../../include/network.php:2152
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/PermissionDescription.php:161
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken"
+#: ../../include/network.php:2153
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken"
+#: ../../include/network.php:2154
+msgid "Zot"
+msgstr "Zot"
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
-msgstr "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken"
+#: ../../include/network.php:2155
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/PermissionDescription.php:164
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken"
+#: ../../include/network.php:2156
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken"
+#: ../../include/network.php:2157
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/activities.php:41
-msgid " and "
-msgstr " en "
+#: ../../include/photos.php:110
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "openbaar profiel"
+#: ../../include/photos.php:117
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg"
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
+#: ../../include/photos.php:255
+msgid "Photo storage failed."
+msgstr "Foto kan niet worden opgeslagen"
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Bezoek het %2$s van %1$s"
+#: ../../include/photos.php:295
+msgid "a new photo"
+msgstr "een nieuwe foto"
-#: ../../include/activities.php:62
+#: ../../include/photos.php:299
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s plaatste %2$s op %3$s"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Opties kanalengids"
+#: ../../include/photos.php:506
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Veilig zoeken"
+#: ../../include/zot.php:699
+msgid "Invalid data packet"
+msgstr "Datapakket ongeldig"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Alleen openbare forums"
+#: ../../include/zot.php:715
+msgid "Unable to verify channel signature"
+msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Alleen deze hub"
+#: ../../include/zot.php:2363
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+
+#: ../../include/zot.php:3712
+msgid "invalid target signature"
+msgstr "ongeldig doelkenmerk"
#: ../../include/page_widgets.php:6
msgid "New Page"
@@ -9620,6 +9599,29 @@ msgstr "Speciaal - Groepsopslag"
msgid "Custom/Expert Mode"
msgstr "Expertmodus/handmatig aanpassen"
+#: ../../include/activities.php:41
+msgid " and "
+msgstr " en "
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "openbaar profiel"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Bezoek het %2$s van %1$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
+
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
msgstr "Bijlagen:"
@@ -9764,62 +9766,62 @@ msgstr "Grootte profielfoto's van berichten instellen"
msgid "Set size of followup author photos"
msgstr "Grootte profielfoto's van reacties instellen"
-#: ../../boot.php:1161
+#: ../../boot.php:1162
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Zoek %1$s (%2$s)"
-#: ../../boot.php:1161
+#: ../../boot.php:1162
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1473
+#: ../../boot.php:1480
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1476
+#: ../../boot.php:1483
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1676
+#: ../../boot.php:1684
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van Hubzilla"
-#: ../../boot.php:1698
+#: ../../boot.php:1706
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1699
+#: ../../boot.php:1707
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1702
+#: ../../boot.php:1710
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:2268
+#: ../../boot.php:2276
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
-#: ../../boot.php:2417
+#: ../../boot.php:2425
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b."
-#: ../../boot.php:2420
+#: ../../boot.php:2428
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Probleem met SSL-certificaat voor %s"
-#: ../../boot.php:2461
+#: ../../boot.php:2469
msgid "Cron/Scheduled tasks not running."
msgstr "Cron is niet actief"
-#: ../../boot.php:2465
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-taken zijn niet actief op %s"
diff --git a/view/nl/hstrings.php b/view/nl/hstrings.php
index 85bd9f88d..4ff83f788 100644
--- a/view/nl/hstrings.php
+++ b/view/nl/hstrings.php
@@ -29,294 +29,14 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "WAARSCHUWING:";
App::$strings["Create new folder"] = "Nieuwe map aanmaken";
App::$strings["Upload file"] = "Bestand uploaden";
+App::$strings["Permission denied"] = "Toegang geweigerd";
App::$strings["Permission denied."] = "Toegang geweigerd.";
App::$strings["Not Found"] = "Niet gevonden";
App::$strings["Page not found."] = "Pagina niet gevonden.";
-App::$strings["Permission denied"] = "Toegang geweigerd";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
App::$strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
App::$strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar";
App::$strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken.";
-App::$strings["network"] = "netwerk";
-App::$strings["RSS"] = "RSS";
-App::$strings["Theme settings updated."] = "Thema-instellingen bijgewerkt.";
-App::$strings["Item not found."] = "Item niet gevonden.";
-App::$strings["# Accounts"] = "# accounts";
-App::$strings["# blocked accounts"] = "# geblokkeerde accounts";
-App::$strings["# expired accounts"] = "# verlopen accounts";
-App::$strings["# expiring accounts"] = "# accounts die nog moeten verlopen";
-App::$strings["# Channels"] = "# Kanalen";
-App::$strings["# primary"] = "# primair";
-App::$strings["# clones"] = "# klonen";
-App::$strings["Message queues"] = "Berichtenwachtrij";
-App::$strings["Your software should be updated"] = "Jouw software moet worden bijgewerkt ";
-App::$strings["Administration"] = "Beheer";
-App::$strings["Summary"] = "Samenvatting";
-App::$strings["Registered accounts"] = "Geregistreerde accounts";
-App::$strings["Pending registrations"] = "Accounts die op goedkeuring wachten";
-App::$strings["Registered channels"] = "Geregistreerde kanalen";
-App::$strings["Active plugins"] = "Ingeschakelde plugins";
-App::$strings["Version"] = "Versie";
-App::$strings["Repository version (master)"] = "Versie repository (master)";
-App::$strings["Repository version (dev)"] = "Versie repository (dev)";
-App::$strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
-App::$strings["Default"] = "Standaard";
-App::$strings["mobile"] = "mobiel";
-App::$strings["experimental"] = "experimenteel";
-App::$strings["unsupported"] = "Niet ondersteund";
-App::$strings["No"] = "Nee";
-App::$strings["Yes - with approval"] = "Ja - met goedkeuring";
-App::$strings["Yes"] = "Ja";
-App::$strings["My site is not a public server"] = "Mijn \$Projectname-hub is niet openbaar";
-App::$strings["My site has paid access only"] = "Mijn \$Projectname-hub kent alleen betaalde toegang";
-App::$strings["My site has free access only"] = "Mijn \$Projectname-hub kent alleen gratis toegang";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mijn \$Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie";
-App::$strings["Site"] = "Hub-instellingen";
-App::$strings["Submit"] = "Opslaan";
-App::$strings["Registration"] = "Registratie";
-App::$strings["File upload"] = "Bestand uploaden";
-App::$strings["Policies"] = "Beleid";
-App::$strings["Advanced"] = "Geavanceerd";
-App::$strings["Site name"] = "Naam van deze \$Projectname-hub";
-App::$strings["Banner/Logo"] = "Banner/logo";
-App::$strings["Administrator Information"] = "Informatie over de beheerder van deze hub";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden.";
-App::$strings["System language"] = "Standaardtaal";
-App::$strings["System theme"] = "Standaardthema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor \$Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
-App::$strings["Mobile system theme"] = "Standaardthema voor mobiel";
-App::$strings["Theme for mobile devices"] = "Thema voor mobiele apparaten";
-App::$strings["Allow Feeds as Connections"] = "Sta feeds toe als connecties";
-App::$strings["(Heavy system resource usage)"] = "(sterk negatieve invloed op systeembronnen hub)";
-App::$strings["Maximum image size"] = "Maximale grootte van afbeeldingen";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend.";
-App::$strings["Does this site allow new member registration?"] = "Staat deze hub nieuwe accounts toe?";
-App::$strings["Invitation only"] = "Alleen op uitnodiging";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan.";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Wat voor soort accounts biedt deze \$Projectname-hub aan? Kies wat het meest in de buurt komt.";
-App::$strings["Register text"] = "Tekst tijdens registratie";
-App::$strings["Will be displayed prominently on the registration page."] = "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken.";
-App::$strings["Preserve site homepage URL"] = "Behoudt de URL van de hub (/)";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)";
-App::$strings["Accounts abandoned after x days"] = "Accounts als verlaten beschouwen na zoveel aantal dagen:";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet.";
-App::$strings["Allowed friend domains"] = "Toegestane domeinen";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze \$Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten.";
-App::$strings["Allowed email domains"] = "Toegestane e-maildomeinen";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten.";
-App::$strings["Not allowed email domains"] = "Niet toegestane e-maildomeinen";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. ";
-App::$strings["Verify Email Addresses"] = "E-mailadres verifieren";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen).";
-App::$strings["Force publish"] = "Dwing kanaalvermelding af";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld.";
-App::$strings["Import Public Streams"] = "Openbare streams importeren";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd.";
-App::$strings["Login on Homepage"] = "Inlogformulier op de homepagina";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
-App::$strings["Enable context help"] = "Schakel contextuele hulp in";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt.";
-App::$strings["Directory Server URL"] = "Server-URL voor de kanalengids";
-App::$strings["Default directory server"] = "Standaardserver voor de kanalengids";
-App::$strings["Proxy user"] = "Gebruikersnaam proxy";
-App::$strings["Proxy URL"] = "Proxy-URL";
-App::$strings["Network timeout"] = "Netwerktimeout";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)";
-App::$strings["Delivery interval"] = "Afleveringsinterval";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers.";
-App::$strings["Deliveries per process"] = "Leveringen per serverproces";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5";
-App::$strings["Poll interval"] = "Poll-interval";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken.";
-App::$strings["Maximum Load Average"] = "Maximaal gemiddelde systeembelasting";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50.";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd.";
-App::$strings["0 for no expiration of imported content"] = "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud.";
-App::$strings["Off"] = "Uit";
-App::$strings["On"] = "Aan";
-App::$strings["Lock feature %s"] = " Vergrendel de functie '%s'";
-App::$strings["Manage Additional Features"] = "Beheer - Extra functies";
-App::$strings["No server found"] = "Geen hub gevonden";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "voor kanaal";
-App::$strings["on server"] = "op hub";
-App::$strings["Status"] = "Status";
-App::$strings["Server"] = "Hubbeheer";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd.";
-App::$strings["Security"] = "Beveiliging";
-App::$strings["Block public"] = "Openbare toegang blokkeren";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "\"Transport Security\" HTTP-header inschakelen";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = " \"Content Security Policy\" HTTP-header inschakelen";
-App::$strings["Allow communications only from these sites"] = "Alleen communicatie met deze hubs toestaan";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan";
-App::$strings["Block communications from these sites"] = "Communicatie met deze hubs blokkeren";
-App::$strings["Allow communications only from these channels"] = "Sta alleen communicatie toe met deze kanalen";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan";
-App::$strings["Block communications from these channels"] = "Communicatie met deze kanalen blokkeren";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan.";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan";
-App::$strings["One site per line. By default embedded content is filtered."] = "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd.";
-App::$strings["Block embedded HTML from these domains"] = "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren";
-App::$strings["Update has been marked successful"] = "Update is als succesvol gemarkeerd";
-App::$strings["Executing %s failed. Check system logs."] = "Uitvoeren van %s is mislukt. Controleer systeemlogboek.";
-App::$strings["Update %s was successfully applied."] = "Update %s was geslaagd.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is.";
-App::$strings["Update function %s could not be found."] = "Update-functie %s kon niet gevonden worden.";
-App::$strings["No failed updates."] = "Geen mislukte updates.";
-App::$strings["Failed Updates"] = "Mislukte updates";
-App::$strings["Mark success (if update was manually applied)"] = "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)";
-App::$strings["Attempt to execute this update step automatically"] = "Poging om deze stap van de update automatisch uit te voeren.";
-App::$strings["Queue Statistics"] = "Wachtrij-statistieken";
-App::$strings["Total Entries"] = "Aantal vermeldingen";
-App::$strings["Priority"] = "Prioriteit";
-App::$strings["Destination URL"] = "Doel-URL";
-App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markeren";
-App::$strings["Empty queue for this hub"] = "Berichtenwachtrij voor deze hub legen";
-App::$strings["Last known contact"] = "Voor het laatst contact";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s account geblokkeerd/gedeblokkeerd",
- 1 => "%s accounts geblokkeerd/gedeblokkeerd",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s account verwijderd",
- 1 => "%s accounts verwijderd",
-);
-App::$strings["Account not found"] = "Account niet gevonden";
-App::$strings["Account '%s' deleted"] = "Account '%s' verwijderd";
-App::$strings["Account '%s' blocked"] = "Account '%s' geblokkeerd";
-App::$strings["Account '%s' unblocked"] = "Account '%s' gedeblokkeerd";
-App::$strings["Users"] = "Accounts";
-App::$strings["select all"] = "alles selecteren";
-App::$strings["User registrations waiting for confirm"] = "Accounts die op goedkeuring wachten";
-App::$strings["Request date"] = "Tijd/datum verzoek";
-App::$strings["Email"] = "E-mail";
-App::$strings["No registrations."] = "Geen verzoeken.";
-App::$strings["Approve"] = "Goedkeuren";
-App::$strings["Deny"] = "Afkeuren";
-App::$strings["Block"] = "Blokkeren";
-App::$strings["Unblock"] = "Deblokkeren";
-App::$strings["All Channels"] = "Alle kanalen";
-App::$strings["Register date"] = "Geregistreerd";
-App::$strings["Last login"] = "Laatste keer ingelogd";
-App::$strings["Expires"] = "Verloopt";
-App::$strings["Service Class"] = "Abonnementen";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?";
-App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s kanaal gecensureerd/ongecensureerd",
- 1 => "%s kanalen gecensureerd/ongecensureerd",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "Scripts toegestaan/niet toegestaan voor %s kanaal",
- 1 => "Scripts toegestaan/niet toegestaan voor %s kanalen",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s kanaal verwijderd",
- 1 => "%s kanalen verwijderd",
-);
-App::$strings["Channel not found"] = "Kanaal niet gevonden";
-App::$strings["Channel '%s' deleted"] = "Kanaal '%s' verwijderd";
-App::$strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
-App::$strings["Channel '%s' uncensored"] = "Kanaal '%s' ongecensureerd";
-App::$strings["Channel '%s' code allowed"] = "Scripts toegestaan voor kanaal '%s'";
-App::$strings["Channel '%s' code disallowed"] = "Scripts niet toegestaan voor kanaal '%s'";
-App::$strings["Channels"] = "Kanalen";
-App::$strings["Censor"] = "Censureren";
-App::$strings["Uncensor"] = "Niet censureren";
-App::$strings["Allow Code"] = "Scripts toestaan";
-App::$strings["Disallow Code"] = "Scripts niet toestaan";
-App::$strings["Channel"] = "Kanaal";
-App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Kanaaladres";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["Plugin %s disabled."] = "Plugin %s uitgeschakeld.";
-App::$strings["Plugin %s enabled."] = "Plugin %s ingeschakeld";
-App::$strings["Disable"] = "Uitschakelen";
-App::$strings["Enable"] = "Inschakelen";
-App::$strings["Plugins"] = "Plugins";
-App::$strings["Toggle"] = "Omschakelen";
-App::$strings["Settings"] = "Instellingen";
-App::$strings["Author: "] = "Auteur: ";
-App::$strings["Maintainer: "] = "Beheerder: ";
-App::$strings["Minimum project version: "] = "Minimum versie Hubzilla: ";
-App::$strings["Maximum project version: "] = "Maximum versie Hubzilla:";
-App::$strings["Minimum PHP version: "] = "Minimum versie PHP: ";
-App::$strings["Requires: "] = "Vereist: ";
-App::$strings["Disabled - version incompatibility"] = "Uitgeschakeld - versie is incompatibel";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Vul de openbare Git-URL in van de plugin-repository.";
-App::$strings["Plugin repo git URL"] = "Git-URL plugin-repository";
-App::$strings["Custom repo name"] = "Handmatige repository-naam";
-App::$strings["(optional)"] = "(optioneel)";
-App::$strings["Download Plugin Repo"] = "Plugin-repository downloaden";
-App::$strings["Install new repo"] = "Nieuwe repository installeren";
-App::$strings["Install"] = "Installeren";
-App::$strings["Cancel"] = "Annuleren";
-App::$strings["Manage Repos"] = "Repositories beheren";
-App::$strings["Installed Plugin Repositories"] = "Toegevoegde plugin-repositories";
-App::$strings["Install a New Plugin Repository"] = "Nieuwe plugin-repository toevoegen";
-App::$strings["Update"] = "Bijwerken";
-App::$strings["Switch branch"] = "Branch veranderen";
-App::$strings["Remove"] = "Verwijderen";
-App::$strings["No themes found."] = "Geen thema's gevonden";
-App::$strings["Screenshot"] = "Schermafdruk";
-App::$strings["Themes"] = "Thema's";
-App::$strings["[Experimental]"] = "[Experimenteel]";
-App::$strings["[Unsupported]"] = "[Niet ondersteund]";
-App::$strings["Log settings updated."] = "Logboek-instellingen bijgewerkt.";
-App::$strings["Logs"] = "Logboeken";
-App::$strings["Clear"] = "Leegmaken";
-App::$strings["Debugging"] = "Debuggen";
-App::$strings["Log file"] = "Logbestand";
-App::$strings["Must be writable by web server. Relative to your Red top-level directory."] = "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je \$Projectname-installatie.";
-App::$strings["Log level"] = "Logniveau";
-App::$strings["New Profile Field"] = "Nieuw profielveld";
-App::$strings["Field nickname"] = "Bijnaam voor veld";
-App::$strings["System name of field"] = "Systeemnaam voor veld";
-App::$strings["Input type"] = "Invoertype";
-App::$strings["Field Name"] = "Veldnaam";
-App::$strings["Label on profile pages"] = "Tekstlabel voor op profielpagina's";
-App::$strings["Help text"] = "Helptekst";
-App::$strings["Additional info (optional)"] = "Extra informatie (optioneel)";
-App::$strings["Save"] = "Opslaan";
-App::$strings["Field definition not found"] = "Velddefinitie niet gevonden";
-App::$strings["Edit Profile Field"] = "Profielveld bewerken";
-App::$strings["Profile Fields"] = "Profielvelden";
-App::$strings["Basic Profile Fields"] = "Standaard profielvelden";
-App::$strings["Advanced Profile Fields"] = "Geavanceerde profielvelden";
-App::$strings["(In addition to basic fields)"] = "(als toevoeging op de standaard velden)";
-App::$strings["All available fields"] = "Alle beschikbare velden";
-App::$strings["Custom Fields"] = "Extra (handmatig toegevoegde) velden";
-App::$strings["Create Custom Field"] = "Extra velden aanmaken";
-App::$strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling";
-App::$strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
-App::$strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
-App::$strings["App installed."] = "App geïnstalleerd";
-App::$strings["Malformed app."] = "Misvormde app.";
-App::$strings["Embed code"] = "Insluitcode";
-App::$strings["Edit App"] = "App bewerken";
-App::$strings["Create App"] = "App maken";
-App::$strings["Name of app"] = "Naam van app";
-App::$strings["Required"] = "Vereist";
-App::$strings["Location (URL) of app"] = "Locatie (URL) van app";
-App::$strings["Description"] = "Omschrijving";
-App::$strings["Photo icon URL"] = "URL van pictogram";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels (optioneel)";
-App::$strings["Categories (optional, comma separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
-App::$strings["Version ID"] = "Versie-ID";
-App::$strings["Price of app"] = "Prijs van de app";
-App::$strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te schaffen";
-App::$strings["Apps"] = "Apps";
-App::$strings["Item not available."] = "Item is niet aanwezig.";
-App::$strings["Invalid item."] = "Ongeldig item.";
-App::$strings["Channel not found."] = "Kanaal niet gevonden.";
App::$strings["Block Name"] = "Bloknaam";
App::$strings["Blocks"] = "Blokken";
App::$strings["Block Title"] = "Bloktitel";
@@ -324,9 +44,7 @@ App::$strings["Created"] = "Aangemaakt";
App::$strings["Edited"] = "Bewerkt";
App::$strings["Share"] = "Delen";
App::$strings["View"] = "Weergeven";
-App::$strings["Bookmark added"] = "Bladwijzer toegevoegd";
-App::$strings["My Bookmarks"] = "Mijn bladwijzers";
-App::$strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
+App::$strings["Channel not found."] = "Kanaal niet gevonden.";
App::$strings["Permissions denied."] = "Permissies niet toegestaan";
App::$strings["l, F j"] = "l j F";
App::$strings["Link to Source"] = "Originele locatie";
@@ -336,6 +54,7 @@ App::$strings["Previous"] = "Vorige";
App::$strings["Next"] = "Volgende";
App::$strings["Export"] = "Exporteren";
App::$strings["Import"] = "Importeren";
+App::$strings["Submit"] = "Opslaan";
App::$strings["Today"] = "Vandaag";
App::$strings["You must be logged in to see this page."] = "Je moet zijn ingelogd om deze pagina te kunnen bekijken.";
App::$strings["Posts and comments"] = "Berichten en reacties";
@@ -362,9 +81,10 @@ App::$strings["Expiration"] = "Verloopt na";
App::$strings["min"] = "min";
App::$strings["Away"] = "Afwezig";
App::$strings["Online"] = "Online";
-App::$strings["No channel."] = "Geen kanaal.";
-App::$strings["Common connections"] = "Veel voorkomende connecties";
-App::$strings["No connections in common."] = "Geen gemeenschappelijke connecties.";
+App::$strings["Invalid item."] = "Ongeldig item.";
+App::$strings["Bookmark added"] = "Bladwijzer toegevoegd";
+App::$strings["My Bookmarks"] = "Mijn bladwijzers";
+App::$strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
App::$strings["Continue"] = "Ga verder";
App::$strings["Premium Channel Setup"] = "Instellen premiumkanaal ";
App::$strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan";
@@ -374,41 +94,13 @@ App::$strings["Potential connections will then see the following text before pro
App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
App::$strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
-App::$strings["Blocked"] = "Geblokkeerd";
-App::$strings["Ignored"] = "Genegeerd";
-App::$strings["Hidden"] = "Verborgen";
-App::$strings["Archived"] = "Gearchiveerd";
-App::$strings["New"] = "Nieuw";
-App::$strings["All"] = "Alles";
-App::$strings["New Connections"] = "Nieuwe connecties";
-App::$strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
-App::$strings["All Connections"] = "Alle connecties";
-App::$strings["Show all connections"] = "Toon alle connecties";
-App::$strings["Only show blocked connections"] = "Toon alleen geblokkeerde connecties";
-App::$strings["Only show ignored connections"] = "Toon alleen genegeerde connecties";
-App::$strings["Only show archived connections"] = "Toon alleen gearchiveerde connecties";
-App::$strings["Only show hidden connections"] = "Toon alleen verborgen connecties";
-App::$strings["Pending approval"] = "Moet nog geaccepteerd worden";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Connectie bewerken";
-App::$strings["Delete connection"] = "Connectie verwijderen";
-App::$strings["Channel address"] = "Kanaaladres";
-App::$strings["Network"] = "Netwerk";
-App::$strings["Connected"] = "Verbonden";
-App::$strings["Approve connection"] = "Connectie accepteren";
-App::$strings["Ignore connection"] = "Connectie negeren";
-App::$strings["Ignore"] = "Negeren";
-App::$strings["Recent activity"] = "Recente activiteit";
-App::$strings["Connections"] = "Connecties";
-App::$strings["Search"] = "Zoeken";
-App::$strings["Search your connections"] = "Doorzoek jouw connecties";
-App::$strings["Connections search"] = "Connecties zoeken";
-App::$strings["Find"] = "Vinden";
App::$strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
App::$strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
App::$strings["Connection updated."] = "Connectie bijgewerkt.";
App::$strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
App::$strings["is now connected to"] = "is nu verbonden met";
+App::$strings["No"] = "Nee";
+App::$strings["Yes"] = "Ja";
App::$strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
App::$strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
@@ -419,9 +111,12 @@ App::$strings["Refresh Permissions"] = "Permissies vernieuwen";
App::$strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
App::$strings["Recent Activity"] = "Recente activiteit/berichten";
App::$strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
+App::$strings["Unblock"] = "Deblokkeren";
+App::$strings["Block"] = "Blokkeren";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
App::$strings["This connection is blocked!"] = "Deze connectie is geblokkeerd!";
App::$strings["Unignore"] = "Niet meer negeren";
+App::$strings["Ignore"] = "Negeren";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
App::$strings["This connection is ignored!"] = "Deze connectie wordt genegeerd!";
App::$strings["Unarchive"] = "Niet meer archiveren";
@@ -437,6 +132,7 @@ App::$strings["Me"] = "Ik";
App::$strings["Family"] = "Familie";
App::$strings["Friends"] = "Vrienden";
App::$strings["Acquaintances"] = "Kennissen";
+App::$strings["All"] = "Alles";
App::$strings["Approve this connection"] = "Deze connectie accepteren";
App::$strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
App::$strings["Set Affinity"] = "Verwantschapsfilter instellen";
@@ -469,28 +165,6 @@ App::$strings["Individual Permissions"] = "Individuele permissies";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. ";
App::$strings["Last update:"] = "Laatste wijziging:";
-App::$strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
-App::$strings["Cover Photos"] = "Omslagfoto's";
-App::$strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
-App::$strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
-App::$strings["Image upload failed."] = "Uploaden afbeelding mislukt";
-App::$strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
-App::$strings["female"] = "vrouw";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt";
-App::$strings["male"] = "man";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt";
-App::$strings["%1\$s updated their %2\$s"] = "De %2\$s van %1\$s is bijgewerkt";
-App::$strings["cover photo"] = "omslagfoto";
-App::$strings["Photo not available."] = "Foto niet beschikbaar.";
-App::$strings["Upload File:"] = "Bestand uploaden:";
-App::$strings["Select a profile:"] = "Kies een profiel:";
-App::$strings["Upload Cover Photo"] = "Omslagfoto uploaden";
-App::$strings["or"] = "of";
-App::$strings["skip this step"] = "sla deze stap over";
-App::$strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
-App::$strings["Crop Image"] = "Afbeelding bijsnijden";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
-App::$strings["Done Editing"] = "Klaar met bewerken";
App::$strings["Public access denied."] = "Openbare toegang geweigerd.";
App::$strings["%d rating"] = array(
0 => "%d beoordeling",
@@ -511,6 +185,7 @@ App::$strings["Don't suggest"] = "Niet voorstellen";
App::$strings["Common connections:"] = "Gemeenschappelijke connecties:";
App::$strings["Global Directory"] = "Volledige kanalengids";
App::$strings["Local Directory"] = "Lokale kanalengids";
+App::$strings["Find"] = "Vinden";
App::$strings["Finding:"] = "Gezocht naar:";
App::$strings["Channel Suggestions"] = "Voorgestelde kanalen";
App::$strings["next page"] = "volgende pagina";
@@ -521,32 +196,66 @@ App::$strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
App::$strings["Newest to Oldest"] = "Nieuw naar oud";
App::$strings["Oldest to Newest"] = "Oud naar nieuw";
App::$strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
-App::$strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
-App::$strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig";
-App::$strings["Invalid message"] = "Ongeldig bericht";
-App::$strings["no results"] = "geen resultaten";
-App::$strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
-App::$strings["channel sync processed"] = "kanaalsync verwerkt";
-App::$strings["queued"] = "in wachtrij";
-App::$strings["posted"] = "verstuurd";
-App::$strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
-App::$strings["updated"] = "geüpdatet";
-App::$strings["update ignored"] = "update genegeerd";
-App::$strings["permission denied"] = "toegang geweigerd";
-App::$strings["recipient not found"] = "ontvanger niet gevonden";
-App::$strings["mail recalled"] = "Privébericht ingetrokken";
-App::$strings["duplicate mail received"] = "dubbel privébericht ontvangen";
-App::$strings["mail delivered"] = "privébericht afgeleverd";
+App::$strings["Item not found."] = "Item niet gevonden.";
App::$strings["Item not found"] = "Item niet gevonden";
App::$strings["Title (optional)"] = "Titel (optioneel)";
App::$strings["Edit Block"] = "Blok bewerken";
-App::$strings["Layout Name"] = "Naam lay-out";
-App::$strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optioneel)";
-App::$strings["Edit Layout"] = "Lay-out bewerken";
+App::$strings["No channel."] = "Geen kanaal.";
+App::$strings["Common connections"] = "Veel voorkomende connecties";
+App::$strings["No connections in common."] = "Geen gemeenschappelijke connecties.";
+App::$strings["Blocked"] = "Geblokkeerd";
+App::$strings["Ignored"] = "Genegeerd";
+App::$strings["Hidden"] = "Verborgen";
+App::$strings["Archived"] = "Gearchiveerd";
+App::$strings["New"] = "Nieuw";
+App::$strings["New Connections"] = "Nieuwe connecties";
+App::$strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
+App::$strings["All Connections"] = "Alle connecties";
+App::$strings["Show all connections"] = "Toon alle connecties";
+App::$strings["Only show blocked connections"] = "Toon alleen geblokkeerde connecties";
+App::$strings["Only show ignored connections"] = "Toon alleen genegeerde connecties";
+App::$strings["Only show archived connections"] = "Toon alleen gearchiveerde connecties";
+App::$strings["Only show hidden connections"] = "Toon alleen verborgen connecties";
+App::$strings["Pending approval"] = "Moet nog geaccepteerd worden";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Connectie bewerken";
+App::$strings["Delete connection"] = "Connectie verwijderen";
+App::$strings["Channel address"] = "Kanaaladres";
+App::$strings["Network"] = "Netwerk";
+App::$strings["Status"] = "Status";
+App::$strings["Connected"] = "Verbonden";
+App::$strings["Approve connection"] = "Connectie accepteren";
+App::$strings["Approve"] = "Goedkeuren";
+App::$strings["Ignore connection"] = "Connectie negeren";
+App::$strings["Recent activity"] = "Recente activiteit";
+App::$strings["Connections"] = "Connecties";
+App::$strings["Search"] = "Zoeken";
+App::$strings["Search your connections"] = "Doorzoek jouw connecties";
+App::$strings["Connections search"] = "Connecties zoeken";
+App::$strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
+App::$strings["Cover Photos"] = "Omslagfoto's";
+App::$strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
+App::$strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
+App::$strings["Image upload failed."] = "Uploaden afbeelding mislukt";
+App::$strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
+App::$strings["female"] = "vrouw";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt";
+App::$strings["male"] = "man";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt";
+App::$strings["%1\$s updated their %2\$s"] = "De %2\$s van %1\$s is bijgewerkt";
+App::$strings["cover photo"] = "omslagfoto";
+App::$strings["Photo not available."] = "Foto niet beschikbaar.";
+App::$strings["Upload File:"] = "Bestand uploaden:";
+App::$strings["Select a profile:"] = "Kies een profiel:";
+App::$strings["Upload Cover Photo"] = "Omslagfoto uploaden";
+App::$strings["or"] = "of";
+App::$strings["skip this step"] = "sla deze stap over";
+App::$strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
+App::$strings["Crop Image"] = "Afbeelding bijsnijden";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
+App::$strings["Done Editing"] = "Klaar met bewerken";
App::$strings["Item is not editable"] = "Item is niet te bewerken";
App::$strings["Edit post"] = "Bericht bewerken";
-App::$strings["Page link"] = "Paginalink";
-App::$strings["Edit Webpage"] = "Webpagina bewerken";
App::$strings["Calendar entries imported."] = "Agenda-items geïmporteerd.";
App::$strings["No calendar entries found."] = "Geen agenda-items gevonden.";
App::$strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen";
@@ -556,6 +265,7 @@ App::$strings["Event not found."] = "Gebeurtenis niet gevonden";
App::$strings["event"] = "gebeurtenis";
App::$strings["Edit event title"] = "Titel bewerken";
App::$strings["Event title"] = "Titel";
+App::$strings["Required"] = "Vereist";
App::$strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)";
App::$strings["Edit Category"] = "Categorie";
App::$strings["Category"] = "Categorie";
@@ -567,6 +277,7 @@ App::$strings["Finish date and time"] = "Einddatum en -tijd";
App::$strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen.";
App::$strings["Edit Description"] = "Omschrijving bewerken";
+App::$strings["Description"] = "Omschrijving";
App::$strings["Edit Location"] = "Locatie bewerken";
App::$strings["Location"] = "Locatie";
App::$strings["Share this event"] = "Deel deze gebeurtenis";
@@ -579,22 +290,34 @@ App::$strings["calendar"] = "agenda";
App::$strings["Event removed"] = "Gebeurtenis verwijderd";
App::$strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt";
App::$strings["Photos"] = "Foto's";
-App::$strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met ";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox";
+App::$strings["Cancel"] = "Annuleren";
+App::$strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
+App::$strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig";
App::$strings["Save to Folder:"] = "Bewaar in map: ";
App::$strings["- select -"] = "- kies map -";
-App::$strings["Permission Denied."] = "Toegang geweigerd";
-App::$strings["File not found."] = "Bestand niet gevonden.";
-App::$strings["Edit file permissions"] = "Bestandsrechten bewerken";
-App::$strings["Set/edit permissions"] = "Rechten instellen/bewerken";
-App::$strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen";
-App::$strings["Return to file list"] = "Terugkeren naar bestandlijst ";
-App::$strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen";
-App::$strings["Share this file"] = "Dit bestand delen";
-App::$strings["Show URL to this file"] = "Toon URL van dit bestand";
-App::$strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten";
+App::$strings["Save"] = "Opslaan";
+App::$strings["Invalid message"] = "Ongeldig bericht";
+App::$strings["no results"] = "geen resultaten";
+App::$strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
+App::$strings["channel sync processed"] = "kanaalsync verwerkt";
+App::$strings["queued"] = "in wachtrij";
+App::$strings["posted"] = "verstuurd";
+App::$strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
+App::$strings["updated"] = "geüpdatet";
+App::$strings["update ignored"] = "update genegeerd";
+App::$strings["permission denied"] = "toegang geweigerd";
+App::$strings["recipient not found"] = "ontvanger niet gevonden";
+App::$strings["mail recalled"] = "Privébericht ingetrokken";
+App::$strings["duplicate mail received"] = "dubbel privébericht ontvangen";
+App::$strings["mail delivered"] = "privébericht afgeleverd";
+App::$strings["Layout Name"] = "Naam lay-out";
+App::$strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optioneel)";
+App::$strings["Edit Layout"] = "Lay-out bewerken";
+App::$strings["Page link"] = "Paginalink";
+App::$strings["Edit Webpage"] = "Webpagina bewerken";
App::$strings["Channel added."] = "Kanaal toegevoegd.";
+App::$strings["network"] = "netwerk";
+App::$strings["RSS"] = "RSS";
App::$strings["Privacy group created."] = "Privacygroep aangemaakt";
App::$strings["Could not create privacy group."] = "Kon privacygroep niet aanmaken";
App::$strings["Privacy group not found."] = "Privacygroep niet gevonden";
@@ -608,39 +331,29 @@ App::$strings["Privacy group editor"] = "Privacygroep bewerken";
App::$strings["Members"] = "Kanalen";
App::$strings["All Connected Channels"] = "Alle kanaalconnecties";
App::$strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen.";
+App::$strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met ";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox";
+App::$strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling";
+App::$strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
+App::$strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
App::$strings["Documentation Search"] = "Zoek documentatie";
App::$strings["Help:"] = "Hulp:";
App::$strings["Help"] = "Hulp";
App::$strings["\$Projectname Documentation"] = "\$Projectname-documentatie";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "Welkom op %s";
-App::$strings["First Name"] = "Voornaam";
-App::$strings["Last Name"] = "Achternaam";
-App::$strings["Nickname"] = "Bijnaam";
-App::$strings["Full Name"] = "Volledige naam";
-App::$strings["Profile Photo"] = "Profielfoto";
-App::$strings["Profile Photo 16px"] = "Profielfoto 16px";
-App::$strings["Profile Photo 32px"] = "Profielfoto 32px";
-App::$strings["Profile Photo 48px"] = "Profielfoto 48px";
-App::$strings["Profile Photo 64px"] = "Profielfoto 64px";
-App::$strings["Profile Photo 80px"] = "Profielfoto 80px";
-App::$strings["Profile Photo 128px"] = "Profielfoto 128px";
-App::$strings["Timezone"] = "Tijdzone";
-App::$strings["Homepage URL"] = "URL homepagina";
-App::$strings["Language"] = "Taal";
-App::$strings["Birth Year"] = "Geboortejaar";
-App::$strings["Birth Month"] = "Geboortemaand";
-App::$strings["Birth Day"] = "Geboortedag";
-App::$strings["Birthdate"] = "Geboortedatum";
-App::$strings["Gender"] = "Geslacht";
-App::$strings["Male"] = "Man";
-App::$strings["Female"] = "Vrouw";
-App::$strings["webpage"] = "Webpagina";
-App::$strings["block"] = "blok";
-App::$strings["layout"] = "lay-out";
-App::$strings["menu"] = "menu";
-App::$strings["%s element installed"] = "%s onderdeel geïnstalleerd";
-App::$strings["%s element installation failed"] = "Installatie %s-element mislukt";
+App::$strings["Permission Denied."] = "Toegang geweigerd";
+App::$strings["File not found."] = "Bestand niet gevonden.";
+App::$strings["Edit file permissions"] = "Bestandsrechten bewerken";
+App::$strings["Set/edit permissions"] = "Rechten instellen/bewerken";
+App::$strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen";
+App::$strings["Return to file list"] = "Terugkeren naar bestandlijst ";
+App::$strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen";
+App::$strings["Share this file"] = "Dit bestand delen";
+App::$strings["Show URL to this file"] = "Toon URL van dit bestand";
+App::$strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten";
+App::$strings["Apps"] = "Apps";
+App::$strings["Item not available."] = "Item is niet aanwezig.";
App::$strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
App::$strings["Nothing to import."] = "Niets gevonden om te importeren";
App::$strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
@@ -661,28 +374,6 @@ App::$strings["For either option, please choose whether to make this hub your ne
App::$strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)";
App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid.";
-App::$strings["Import completed"] = "Importeren voltooid";
-App::$strings["Import Items"] = "Importeer items";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren.";
-App::$strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
-App::$strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
-App::$strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder.";
-App::$strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt.";
-App::$strings["%d message sent."] = array(
- 0 => "%d bericht verzonden.",
- 1 => "%d berichten verzonden.",
-);
-App::$strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
-App::$strings["Send invitations"] = "Uitnodigingen verzenden";
-App::$strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
-App::$strings["Your message:"] = "Jouw bericht:";
-App::$strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op http://hubzilla.org";
-App::$strings["You will need to supply this invitation code:"] = "Je moet deze uitnodigingscode opgeven:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
-App::$strings["or visit"] = "of bezoek";
-App::$strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
App::$strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
App::$strings["Empty post discarded."] = "Leeg bericht geannuleerd";
App::$strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
@@ -695,6 +386,36 @@ App::$strings["Layouts"] = "Lay-outs";
App::$strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche";
App::$strings["Layout Description"] = "Lay-out-omschrijving";
App::$strings["Download PDL file"] = "Download PDL-bestand";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "Welkom op %s";
+App::$strings["First Name"] = "Voornaam";
+App::$strings["Last Name"] = "Achternaam";
+App::$strings["Nickname"] = "Bijnaam";
+App::$strings["Full Name"] = "Volledige naam";
+App::$strings["Email"] = "E-mail";
+App::$strings["Profile Photo"] = "Profielfoto";
+App::$strings["Profile Photo 16px"] = "Profielfoto 16px";
+App::$strings["Profile Photo 32px"] = "Profielfoto 32px";
+App::$strings["Profile Photo 48px"] = "Profielfoto 48px";
+App::$strings["Profile Photo 64px"] = "Profielfoto 64px";
+App::$strings["Profile Photo 80px"] = "Profielfoto 80px";
+App::$strings["Profile Photo 128px"] = "Profielfoto 128px";
+App::$strings["Timezone"] = "Tijdzone";
+App::$strings["Homepage URL"] = "URL homepagina";
+App::$strings["Language"] = "Taal";
+App::$strings["Birth Year"] = "Geboortejaar";
+App::$strings["Birth Month"] = "Geboortemaand";
+App::$strings["Birth Day"] = "Geboortedag";
+App::$strings["Birthdate"] = "Geboortedatum";
+App::$strings["Gender"] = "Geslacht";
+App::$strings["Male"] = "Man";
+App::$strings["Female"] = "Vrouw";
+App::$strings["webpage"] = "Webpagina";
+App::$strings["block"] = "blok";
+App::$strings["layout"] = "lay-out";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "%s onderdeel geïnstalleerd";
+App::$strings["%s element installation failed"] = "Installatie %s-element mislukt";
App::$strings["Like/Dislike"] = "Leuk/niet leuk";
App::$strings["This action is restricted to members."] = "Deze actie kan alleen door \$Projectname-leden worden uitgevoerd.";
App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Je dient <a href=\"rmagic\">in te loggen met je \$Projectname-account</a> of <a href=\"register\">een nieuw \$Projectname-account aan te maken</a> om verder te kunnen gaan.";
@@ -715,6 +436,28 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s is niet aanwezig
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s is mogelijk aanwezig op %2\$s's %3\$s";
App::$strings["Action completed."] = "Actie voltooid";
App::$strings["Thank you."] = "Bedankt";
+App::$strings["Import completed"] = "Importeren voltooid";
+App::$strings["Import Items"] = "Importeer items";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren.";
+App::$strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
+App::$strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
+App::$strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder.";
+App::$strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d bericht verzonden.",
+ 1 => "%d berichten verzonden.",
+);
+App::$strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
+App::$strings["Send invitations"] = "Uitnodigingen verzenden";
+App::$strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
+App::$strings["Your message:"] = "Jouw bericht:";
+App::$strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op http://hubzilla.org";
+App::$strings["You will need to supply this invitation code:"] = "Je moet deze uitnodigingscode opgeven:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
+App::$strings["or visit"] = "of bezoek";
+App::$strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
App::$strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
App::$strings["Visible to:"] = "Zichtbaar voor:";
App::$strings["Location not found."] = "Locatie niet gevonden.";
@@ -723,28 +466,13 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Locaties synchronizeren";
App::$strings["No locations found."] = "Geen locaties gevonden.";
App::$strings["Manage Channel Locations"] = "Kanaallocaties beheren";
+App::$strings["Address"] = "Kanaaladres";
App::$strings["Primary"] = "Primair";
App::$strings["Drop"] = "Verwijderen";
App::$strings["Sync Now"] = "Nu synchroniseren";
App::$strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is.";
-App::$strings["No valid account found."] = "Geen geldige account gevonden.";
-App::$strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
-App::$strings["Site Member (%s)"] = "Lid van hub (%s)";
-App::$strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
-App::$strings["Password Reset"] = "Wachtwoord vergeten?";
-App::$strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
-App::$strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
-App::$strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
-App::$strings["click here to login"] = "klik dan hier om in te loggen";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
-App::$strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
-App::$strings["Forgot your Password?"] = "Wachtwoord vergeten?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
-App::$strings["Email Address"] = "E-mailadres";
-App::$strings["Reset"] = "Opnieuw instellen";
App::$strings["Hub not found."] = "Hub niet gevonden.";
App::$strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
App::$strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
@@ -779,10 +507,22 @@ App::$strings["Make Default"] = "Als standaard instellen";
App::$strings["%d new messages"] = "%d nieuwe berichten";
App::$strings["%d new introductions"] = "%d nieuwe connectieverzoeken";
App::$strings["Delegated Channel"] = "Uitbesteed kanaal";
-App::$strings["Profile Match"] = "Profielovereenkomst";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
-App::$strings["is interested in:"] = "is geïnteresseerd in:";
-App::$strings["No matches"] = "Geen overeenkomsten";
+App::$strings["No valid account found."] = "Geen geldige account gevonden.";
+App::$strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
+App::$strings["Site Member (%s)"] = "Lid van hub (%s)";
+App::$strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
+App::$strings["Password Reset"] = "Wachtwoord vergeten?";
+App::$strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
+App::$strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
+App::$strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
+App::$strings["click here to login"] = "klik dan hier om in te loggen";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
+App::$strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
+App::$strings["Forgot your Password?"] = "Wachtwoord vergeten?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
+App::$strings["Email Address"] = "E-mailadres";
+App::$strings["Reset"] = "Opnieuw instellen";
App::$strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
App::$strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
App::$strings["Menu Name"] = "Menunaam";
@@ -807,6 +547,22 @@ App::$strings["Menu title"] = "Titel van menu";
App::$strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
App::$strings["Allow bookmarks"] = "Bladwijzers toestaan";
App::$strings["Not found."] = "Niet gevonden.";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
+App::$strings["Mood"] = "Stemming";
+App::$strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
+App::$strings["Profile Match"] = "Profielovereenkomst";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
+App::$strings["is interested in:"] = "is geïnteresseerd in:";
+App::$strings["No matches"] = "Geen overeenkomsten";
+App::$strings["No such group"] = "Collectie niet gevonden";
+App::$strings["No such channel"] = "Niet zo'n kanaal";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Zoekresultaten voor:";
+App::$strings["Privacy group is empty"] = "Privacygroep is leeg";
+App::$strings["Privacy group: "] = "Privacygroep: ";
+App::$strings["Invalid connection."] = "Ongeldige connectie.";
+App::$strings["No more system notifications."] = "Geen systeemnotificaties meer.";
+App::$strings["System Notifications"] = "Systeemnotificaties";
App::$strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken.";
App::$strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
App::$strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
@@ -836,16 +592,6 @@ App::$strings["Menu item deleted."] = "Menu-item verwijderd.";
App::$strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
App::$strings["Edit Menu Element"] = "Menu-element bewerken";
App::$strings["Link text"] = "Linktekst";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
-App::$strings["Mood"] = "Stemming";
-App::$strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
-App::$strings["No such group"] = "Collectie niet gevonden";
-App::$strings["No such channel"] = "Niet zo'n kanaal";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Zoekresultaten voor:";
-App::$strings["Privacy group is empty"] = "Privacygroep is leeg";
-App::$strings["Privacy group: "] = "Privacygroep: ";
-App::$strings["Invalid connection."] = "Ongeldige connectie.";
App::$strings["Name or caption"] = "Naam";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Computerforum\"";
App::$strings["Choose a short nickname"] = "Korte bijnaam";
@@ -858,22 +604,7 @@ App::$strings["A channel is your identity on this network. It can represent a pe
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie";
App::$strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)";
App::$strings["Discard"] = "Annuleren";
-App::$strings["No more system notifications."] = "Geen systeemnotificaties meer.";
-App::$strings["System Notifications"] = "Systeemnotificaties";
App::$strings["Mark all system notifications seen"] = "Markeer alle systeemnotificaties als bekeken";
-App::$strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
-App::$strings["Post successful."] = "Verzenden bericht geslaagd.";
-App::$strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
-App::$strings["Login failed."] = "Inloggen mislukt.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd.";
-App::$strings["Configuration Editor"] = "Configuratiebewerker";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. ";
-App::$strings["Layout updated."] = "Lay-out bijgewerkt.";
-App::$strings["Edit System Page Description"] = "Systeempagina's bewerken";
-App::$strings["Layout not found."] = "Lay-out niet gevonden.";
-App::$strings["Module Name:"] = "Modulenaam:";
-App::$strings["Layout Help"] = "Lay-out-hulp";
App::$strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
App::$strings["Profile Photos"] = "Profielfoto's";
App::$strings["Album not found."] = "Album niet gevonden.";
@@ -902,6 +633,7 @@ App::$strings["Use as profile photo"] = "Als profielfoto gebruiken";
App::$strings["Use as cover photo"] = "Als omslagfoto gebruiken";
App::$strings["Private Photo"] = "Privéfoto";
App::$strings["View Full Size"] = "Volledige grootte weergeven";
+App::$strings["Remove"] = "Verwijderen";
App::$strings["Edit photo"] = "Foto bewerken";
App::$strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
App::$strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
@@ -946,6 +678,19 @@ App::$strings["added your channel"] = "voegde jouw kanaal toe";
App::$strings["g A l F d"] = "G:i, l d F";
App::$strings["[today]"] = "[vandaag]";
App::$strings["posted an event"] = "plaatste een gebeurtenis";
+App::$strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
+App::$strings["Post successful."] = "Verzenden bericht geslaagd.";
+App::$strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
+App::$strings["Login failed."] = "Inloggen mislukt.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd.";
+App::$strings["Configuration Editor"] = "Configuratiebewerker";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. ";
+App::$strings["Layout updated."] = "Lay-out bijgewerkt.";
+App::$strings["Edit System Page Description"] = "Systeempagina's bewerken";
+App::$strings["Layout not found."] = "Lay-out niet gevonden.";
+App::$strings["Module Name:"] = "Modulenaam:";
+App::$strings["Layout Help"] = "Lay-out-hulp";
App::$strings["Poke"] = "Aanstoten";
App::$strings["Poke somebody"] = "Iemand aanstoten";
App::$strings["Poke/Prod"] = "Aanstoten/porren";
@@ -954,8 +699,6 @@ App::$strings["Recipient"] = "Ontvanger";
App::$strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen";
App::$strings["Make this post private"] = "Maak dit bericht privé";
App::$strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
-App::$strings["Upload Profile Photo"] = "Profielfoto uploaden";
App::$strings["Profile not found."] = "Profiel niet gevonden.";
App::$strings["Profile deleted."] = "Profiel verwijderd.";
App::$strings["Profile-"] = "Profiel-";
@@ -1022,6 +765,8 @@ App::$strings["Contact information and social networks"] = "Contactinformatie en
App::$strings["My other channels"] = "Mijn andere kanalen";
App::$strings["Profile Image"] = "Profielfoto";
App::$strings["Edit Profiles"] = "Bewerk profielen";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
+App::$strings["Upload Profile Photo"] = "Profielfoto uploaden";
App::$strings["Invalid profile identifier."] = "Ongeldige profiel-identificator";
App::$strings["Profile Visibility Editor"] = "Zichtbaarheid profiel ";
App::$strings["Profile"] = "Profiel";
@@ -1044,6 +789,261 @@ App::$strings["No ratings"] = "Geen beoordelingen";
App::$strings["Rating: "] = "Beoordeling: ";
App::$strings["Website: "] = "Website: ";
App::$strings["Description: "] = "Omschrijving: ";
+App::$strings["Theme settings updated."] = "Thema-instellingen bijgewerkt.";
+App::$strings["# Accounts"] = "# accounts";
+App::$strings["# blocked accounts"] = "# geblokkeerde accounts";
+App::$strings["# expired accounts"] = "# verlopen accounts";
+App::$strings["# expiring accounts"] = "# accounts die nog moeten verlopen";
+App::$strings["# Channels"] = "# Kanalen";
+App::$strings["# primary"] = "# primair";
+App::$strings["# clones"] = "# klonen";
+App::$strings["Message queues"] = "Berichtenwachtrij";
+App::$strings["Your software should be updated"] = "Jouw software moet worden bijgewerkt ";
+App::$strings["Administration"] = "Beheer";
+App::$strings["Summary"] = "Samenvatting";
+App::$strings["Registered accounts"] = "Geregistreerde accounts";
+App::$strings["Pending registrations"] = "Accounts die op goedkeuring wachten";
+App::$strings["Registered channels"] = "Geregistreerde kanalen";
+App::$strings["Active plugins"] = "Ingeschakelde plugins";
+App::$strings["Version"] = "Versie";
+App::$strings["Repository version (master)"] = "Versie repository (master)";
+App::$strings["Repository version (dev)"] = "Versie repository (dev)";
+App::$strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
+App::$strings["Default"] = "Standaard";
+App::$strings["mobile"] = "mobiel";
+App::$strings["experimental"] = "experimenteel";
+App::$strings["unsupported"] = "Niet ondersteund";
+App::$strings["Yes - with approval"] = "Ja - met goedkeuring";
+App::$strings["My site is not a public server"] = "Mijn \$Projectname-hub is niet openbaar";
+App::$strings["My site has paid access only"] = "Mijn \$Projectname-hub kent alleen betaalde toegang";
+App::$strings["My site has free access only"] = "Mijn \$Projectname-hub kent alleen gratis toegang";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mijn \$Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie";
+App::$strings["Site"] = "Hub-instellingen";
+App::$strings["Registration"] = "Registratie";
+App::$strings["File upload"] = "Bestand uploaden";
+App::$strings["Policies"] = "Beleid";
+App::$strings["Advanced"] = "Geavanceerd";
+App::$strings["Site name"] = "Naam van deze \$Projectname-hub";
+App::$strings["Banner/Logo"] = "Banner/logo";
+App::$strings["Administrator Information"] = "Informatie over de beheerder van deze hub";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden.";
+App::$strings["System language"] = "Standaardtaal";
+App::$strings["System theme"] = "Standaardthema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor \$Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
+App::$strings["Mobile system theme"] = "Standaardthema voor mobiel";
+App::$strings["Theme for mobile devices"] = "Thema voor mobiele apparaten";
+App::$strings["Allow Feeds as Connections"] = "Sta feeds toe als connecties";
+App::$strings["(Heavy system resource usage)"] = "(sterk negatieve invloed op systeembronnen hub)";
+App::$strings["Maximum image size"] = "Maximale grootte van afbeeldingen";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend.";
+App::$strings["Does this site allow new member registration?"] = "Staat deze hub nieuwe accounts toe?";
+App::$strings["Invitation only"] = "Alleen op uitnodiging";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Wat voor soort accounts biedt deze \$Projectname-hub aan? Kies wat het meest in de buurt komt.";
+App::$strings["Register text"] = "Tekst tijdens registratie";
+App::$strings["Will be displayed prominently on the registration page."] = "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken.";
+App::$strings["Preserve site homepage URL"] = "Behoudt de URL van de hub (/)";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)";
+App::$strings["Accounts abandoned after x days"] = "Accounts als verlaten beschouwen na zoveel aantal dagen:";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet.";
+App::$strings["Allowed friend domains"] = "Toegestane domeinen";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze \$Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten.";
+App::$strings["Allowed email domains"] = "Toegestane e-maildomeinen";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten.";
+App::$strings["Not allowed email domains"] = "Niet toegestane e-maildomeinen";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. ";
+App::$strings["Verify Email Addresses"] = "E-mailadres verifieren";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen).";
+App::$strings["Force publish"] = "Dwing kanaalvermelding af";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld.";
+App::$strings["Import Public Streams"] = "Openbare streams importeren";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd.";
+App::$strings["Login on Homepage"] = "Inlogformulier op de homepagina";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
+App::$strings["Enable context help"] = "Schakel contextuele hulp in";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt.";
+App::$strings["Directory Server URL"] = "Server-URL voor de kanalengids";
+App::$strings["Default directory server"] = "Standaardserver voor de kanalengids";
+App::$strings["Proxy user"] = "Gebruikersnaam proxy";
+App::$strings["Proxy URL"] = "Proxy-URL";
+App::$strings["Network timeout"] = "Netwerktimeout";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)";
+App::$strings["Delivery interval"] = "Afleveringsinterval";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers.";
+App::$strings["Deliveries per process"] = "Leveringen per serverproces";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5";
+App::$strings["Poll interval"] = "Poll-interval";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken.";
+App::$strings["Maximum Load Average"] = "Maximaal gemiddelde systeembelasting";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd.";
+App::$strings["0 for no expiration of imported content"] = "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud.";
+App::$strings["Off"] = "Uit";
+App::$strings["On"] = "Aan";
+App::$strings["Lock feature %s"] = " Vergrendel de functie '%s'";
+App::$strings["Manage Additional Features"] = "Beheer - Extra functies";
+App::$strings["No server found"] = "Geen hub gevonden";
+App::$strings["ID"] = "ID";
+App::$strings["for channel"] = "voor kanaal";
+App::$strings["on server"] = "op hub";
+App::$strings["Server"] = "Hubbeheer";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd.";
+App::$strings["Security"] = "Beveiliging";
+App::$strings["Block public"] = "Openbare toegang blokkeren";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "\"Transport Security\" HTTP-header inschakelen";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = " \"Content Security Policy\" HTTP-header inschakelen";
+App::$strings["Allow communications only from these sites"] = "Alleen communicatie met deze hubs toestaan";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan";
+App::$strings["Block communications from these sites"] = "Communicatie met deze hubs blokkeren";
+App::$strings["Allow communications only from these channels"] = "Sta alleen communicatie toe met deze kanalen";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan";
+App::$strings["Block communications from these channels"] = "Communicatie met deze kanalen blokkeren";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan.";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan";
+App::$strings["One site per line. By default embedded content is filtered."] = "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd.";
+App::$strings["Block embedded HTML from these domains"] = "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren";
+App::$strings["Update has been marked successful"] = "Update is als succesvol gemarkeerd";
+App::$strings["Executing %s failed. Check system logs."] = "Uitvoeren van %s is mislukt. Controleer systeemlogboek.";
+App::$strings["Update %s was successfully applied."] = "Update %s was geslaagd.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is.";
+App::$strings["Update function %s could not be found."] = "Update-functie %s kon niet gevonden worden.";
+App::$strings["No failed updates."] = "Geen mislukte updates.";
+App::$strings["Failed Updates"] = "Mislukte updates";
+App::$strings["Mark success (if update was manually applied)"] = "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)";
+App::$strings["Attempt to execute this update step automatically"] = "Poging om deze stap van de update automatisch uit te voeren.";
+App::$strings["Queue Statistics"] = "Wachtrij-statistieken";
+App::$strings["Total Entries"] = "Aantal vermeldingen";
+App::$strings["Priority"] = "Prioriteit";
+App::$strings["Destination URL"] = "Doel-URL";
+App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markeren";
+App::$strings["Empty queue for this hub"] = "Berichtenwachtrij voor deze hub legen";
+App::$strings["Last known contact"] = "Voor het laatst contact";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s account geblokkeerd/gedeblokkeerd",
+ 1 => "%s accounts geblokkeerd/gedeblokkeerd",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s account verwijderd",
+ 1 => "%s accounts verwijderd",
+);
+App::$strings["Account not found"] = "Account niet gevonden";
+App::$strings["Account '%s' deleted"] = "Account '%s' verwijderd";
+App::$strings["Account '%s' blocked"] = "Account '%s' geblokkeerd";
+App::$strings["Account '%s' unblocked"] = "Account '%s' gedeblokkeerd";
+App::$strings["Accounts"] = "Accounts";
+App::$strings["select all"] = "alles selecteren";
+App::$strings["Registrations waiting for confirm"] = "Accounts die op goedkeuring wachten";
+App::$strings["Request date"] = "Tijd/datum verzoek";
+App::$strings["No registrations."] = "Geen verzoeken.";
+App::$strings["Deny"] = "Afkeuren";
+App::$strings["All Channels"] = "Alle kanalen";
+App::$strings["Register date"] = "Geregistreerd";
+App::$strings["Last login"] = "Laatste keer ingelogd";
+App::$strings["Expires"] = "Verloopt";
+App::$strings["Service Class"] = "Abonnementen";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s kanaal gecensureerd/ongecensureerd",
+ 1 => "%s kanalen gecensureerd/ongecensureerd",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "Scripts toegestaan/niet toegestaan voor %s kanaal",
+ 1 => "Scripts toegestaan/niet toegestaan voor %s kanalen",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s kanaal verwijderd",
+ 1 => "%s kanalen verwijderd",
+);
+App::$strings["Channel not found"] = "Kanaal niet gevonden";
+App::$strings["Channel '%s' deleted"] = "Kanaal '%s' verwijderd";
+App::$strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
+App::$strings["Channel '%s' uncensored"] = "Kanaal '%s' ongecensureerd";
+App::$strings["Channel '%s' code allowed"] = "Scripts toegestaan voor kanaal '%s'";
+App::$strings["Channel '%s' code disallowed"] = "Scripts niet toegestaan voor kanaal '%s'";
+App::$strings["Channels"] = "Kanalen";
+App::$strings["Censor"] = "Censureren";
+App::$strings["Uncensor"] = "Niet censureren";
+App::$strings["Allow Code"] = "Scripts toestaan";
+App::$strings["Disallow Code"] = "Scripts niet toestaan";
+App::$strings["Channel"] = "Kanaal";
+App::$strings["UID"] = "UID";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["Plugin %s disabled."] = "Plugin %s uitgeschakeld.";
+App::$strings["Plugin %s enabled."] = "Plugin %s ingeschakeld";
+App::$strings["Disable"] = "Uitschakelen";
+App::$strings["Enable"] = "Inschakelen";
+App::$strings["Plugins"] = "Plugins";
+App::$strings["Toggle"] = "Omschakelen";
+App::$strings["Settings"] = "Instellingen";
+App::$strings["Author: "] = "Auteur: ";
+App::$strings["Maintainer: "] = "Beheerder: ";
+App::$strings["Minimum project version: "] = "Minimum versie Hubzilla: ";
+App::$strings["Maximum project version: "] = "Maximum versie Hubzilla:";
+App::$strings["Minimum PHP version: "] = "Minimum versie PHP: ";
+App::$strings["Requires: "] = "Vereist: ";
+App::$strings["Disabled - version incompatibility"] = "Uitgeschakeld - versie is incompatibel";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Vul de openbare Git-URL in van de plugin-repository.";
+App::$strings["Plugin repo git URL"] = "Git-URL plugin-repository";
+App::$strings["Custom repo name"] = "Handmatige repository-naam";
+App::$strings["(optional)"] = "(optioneel)";
+App::$strings["Download Plugin Repo"] = "Plugin-repository downloaden";
+App::$strings["Install new repo"] = "Nieuwe repository installeren";
+App::$strings["Install"] = "Installeren";
+App::$strings["Manage Repos"] = "Repositories beheren";
+App::$strings["Installed Plugin Repositories"] = "Toegevoegde plugin-repositories";
+App::$strings["Install a New Plugin Repository"] = "Nieuwe plugin-repository toevoegen";
+App::$strings["Update"] = "Bijwerken";
+App::$strings["Switch branch"] = "Branch veranderen";
+App::$strings["No themes found."] = "Geen thema's gevonden";
+App::$strings["Screenshot"] = "Schermafdruk";
+App::$strings["Themes"] = "Thema's";
+App::$strings["[Experimental]"] = "[Experimenteel]";
+App::$strings["[Unsupported]"] = "[Niet ondersteund]";
+App::$strings["Log settings updated."] = "Logboek-instellingen bijgewerkt.";
+App::$strings["Logs"] = "Logboeken";
+App::$strings["Clear"] = "Leegmaken";
+App::$strings["Debugging"] = "Debuggen";
+App::$strings["Log file"] = "Logbestand";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je \$Projectname-installatie.";
+App::$strings["Log level"] = "Logniveau";
+App::$strings["New Profile Field"] = "Nieuw profielveld";
+App::$strings["Field nickname"] = "Bijnaam voor veld";
+App::$strings["System name of field"] = "Systeemnaam voor veld";
+App::$strings["Input type"] = "Invoertype";
+App::$strings["Field Name"] = "Veldnaam";
+App::$strings["Label on profile pages"] = "Tekstlabel voor op profielpagina's";
+App::$strings["Help text"] = "Helptekst";
+App::$strings["Additional info (optional)"] = "Extra informatie (optioneel)";
+App::$strings["Field definition not found"] = "Velddefinitie niet gevonden";
+App::$strings["Edit Profile Field"] = "Profielveld bewerken";
+App::$strings["Profile Fields"] = "Profielvelden";
+App::$strings["Basic Profile Fields"] = "Standaard profielvelden";
+App::$strings["Advanced Profile Fields"] = "Geavanceerde profielvelden";
+App::$strings["(In addition to basic fields)"] = "(als toevoeging op de standaard velden)";
+App::$strings["All available fields"] = "Alle beschikbare velden";
+App::$strings["Custom Fields"] = "Extra (handmatig toegevoegde) velden";
+App::$strings["Create Custom Field"] = "Extra velden aanmaken";
+App::$strings["App installed."] = "App geïnstalleerd";
+App::$strings["Malformed app."] = "Misvormde app.";
+App::$strings["Embed code"] = "Insluitcode";
+App::$strings["Edit App"] = "App bewerken";
+App::$strings["Create App"] = "App maken";
+App::$strings["Name of app"] = "Naam van app";
+App::$strings["Location (URL) of app"] = "Locatie (URL) van app";
+App::$strings["Photo icon URL"] = "URL van pictogram";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels (optioneel)";
+App::$strings["Categories (optional, comma separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
+App::$strings["Version ID"] = "Versie-ID";
+App::$strings["Price of app"] = "Prijs van de app";
+App::$strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te schaffen";
App::$strings["Select a bookmark folder"] = "Kies een bladwijzermap";
App::$strings["Save Bookmark"] = "Bladwijzer opslaan";
App::$strings["URL of bookmark"] = "URL van bladwijzer";
@@ -1432,6 +1432,48 @@ App::$strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
App::$strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
App::$strings["Room not found."] = "Chatkanaal niet gevonden";
App::$strings["Room is full"] = "Chatkanaal is vol";
+App::$strings["\$Projectname Notification"] = "\$Projectname-notificatie";
+App::$strings["\$projectname"] = "\$projectname";
+App::$strings["Thank You,"] = "Bedankt,";
+App::$strings["%s Administrator"] = "Beheerder %s";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s";
+App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s zond jou %2\$s.";
+App::$strings["a private message"] = "een privébericht";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bezoek %s om je privéberichten te bekijken en/of er op te reageren.";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %5\$s van %4\$s[/zrl]";
+App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]jouw %4\$s[/zrl]";
+App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
+App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s gaf een reactie op een bericht/conversatie die jij volgt.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bezoek %s om de conversatie te bekijken en/of er op te reageren.";
+App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
+App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s heeft om %3\$s een bericht op jouw kanaal geplaatst";
+App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s heeft een bericht op [zrl=%3\$s]jouw kanaal[/zrl] geplaatst";
+App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notificatie] %s heeft je genoemd";
+App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s noemde jou op %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]noemde jou[/zrl].";
+App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notificatie] %1\$s heeft je aangestoten";
+App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
+App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
+App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notificatie] %s heeft jouw bericht getagd";
+App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
+App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
+App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notificatie] Connectieverzoek ontvangen";
+App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
+App::$strings["You may visit their profile at %s"] = "Je kan het profiel bekijken op %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Bezoek %s om het connectieverzoek te accepteren of af te wijzen.";
+App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notificatie] Kanaalvoorstel ontvangen";
+App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, je hebt een kanaalvoorstel ontvangen van '%2\$s' om %3\$s";
+App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, je hebt [zrl=%2\$s]een kanaalvoorstel[/zrl] ontvangen voor %3\$s van %4\$s.";
+App::$strings["Name:"] = "Naam:";
+App::$strings["Photo:"] = "Foto:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
+App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificatie]";
+App::$strings["created a new post"] = "maakte een nieuw bericht aan";
+App::$strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
App::$strings["Private Message"] = "Niet voor iedereen zichtbaar";
App::$strings["Select"] = "Kies";
App::$strings["Save to Folder"] = "In map opslaan";
@@ -1477,76 +1519,251 @@ App::$strings["Code"] = "Broncode";
App::$strings["Image"] = "Afbeelding";
App::$strings["Insert Link"] = "Link invoegen";
App::$strings["Video"] = "Video";
-App::$strings["\$Projectname Notification"] = "\$Projectname-notificatie";
-App::$strings["\$projectname"] = "\$projectname";
-App::$strings["Thank You,"] = "Bedankt,";
-App::$strings["%s Administrator"] = "Beheerder %s";
-App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
-App::$strings["%1\$s sent you %2\$s."] = "%1\$s zond jou %2\$s.";
-App::$strings["a private message"] = "een privébericht";
-App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bezoek %s om je privéberichten te bekijken en/of er op te reageren.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %5\$s van %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]jouw %4\$s[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s gaf een reactie op een bericht/conversatie die jij volgt.";
-App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bezoek %s om de conversatie te bekijken en/of er op te reageren.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s heeft om %3\$s een bericht op jouw kanaal geplaatst";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s heeft een bericht op [zrl=%3\$s]jouw kanaal[/zrl] geplaatst";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notificatie] %s heeft je genoemd";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s noemde jou op %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]noemde jou[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notificatie] %1\$s heeft je aangestoten";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notificatie] %s heeft jouw bericht getagd";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notificatie] Connectieverzoek ontvangen";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
-App::$strings["You may visit their profile at %s"] = "Je kan het profiel bekijken op %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Bezoek %s om het connectieverzoek te accepteren of af te wijzen.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notificatie] Kanaalvoorstel ontvangen";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, je hebt een kanaalvoorstel ontvangen van '%2\$s' om %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, je hebt [zrl=%2\$s]een kanaalvoorstel[/zrl] ontvangen voor %3\$s van %4\$s.";
-App::$strings["Name:"] = "Naam:";
-App::$strings["Photo:"] = "Foto:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificatie]";
-App::$strings["created a new post"] = "maakte een nieuw bericht aan";
-App::$strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
App::$strings["No username found in import file."] = "Geen gebruikersnaam in het importbestand gevonden.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden";
-App::$strings["view full size"] = "volledige grootte tonen";
-App::$strings["Administrator"] = "Beheerder";
-App::$strings["No Subject"] = "Geen onderwerp";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
-App::$strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
-App::$strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-App::$strings["a new photo"] = "een nieuwe foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s plaatste %2\$s op %3\$s";
-App::$strings["Photo Albums"] = "Fotoalbums";
-App::$strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+App::$strings["Categories"] = "Categorieën";
+App::$strings["Tags"] = "Tags";
+App::$strings["Keywords"] = "Trefwoorden";
+App::$strings["have"] = "heb";
+App::$strings["has"] = "heeft";
+App::$strings["want"] = "wil";
+App::$strings["wants"] = "wil";
+App::$strings["likes"] = "vindt dit leuk";
+App::$strings["dislikes"] = "vindt dit niet leuk";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+App::$strings["Starts:"] = "Start:";
+App::$strings["Finishes:"] = "Einde:";
+App::$strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
+App::$strings["Not specified"] = "Niet aangegeven";
+App::$strings["Needs Action"] = "Actie vereist";
+App::$strings["Completed"] = "Voltooid";
+App::$strings["In Process"] = "In behandeling";
+App::$strings["Cancelled"] = "Geannuleerd";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
+App::$strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
+App::$strings["(Unknown)"] = "(Onbekend)";
+App::$strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
+App::$strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
+App::$strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
+App::$strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
+App::$strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
+App::$strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
+App::$strings["Visible to approved connections."] = "Voor alle geaccepteerde connecties zichtbaar.";
+App::$strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
+App::$strings["Privacy group is empty."] = "Privacygroep is leeg";
+App::$strings["Privacy group: %s"] = "Privacygroep: %s";
+App::$strings["Connection not found."] = "Connectie niet gevonden.";
+App::$strings["profile photo"] = "profielfoto";
+App::$strings["No recipient provided."] = "Geen ontvanger opgegeven.";
+App::$strings["[no subject]"] = "[geen onderwerp]";
+App::$strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
+App::$strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
+App::$strings["prev"] = "vorige";
+App::$strings["first"] = "eerste";
+App::$strings["last"] = "laatste";
+App::$strings["next"] = "volgende";
+App::$strings["older"] = "ouder";
+App::$strings["newer"] = "nieuwer";
+App::$strings["No connections"] = "Geen connecties";
+App::$strings["View all %s connections"] = "Toon alle %s connecties";
+App::$strings["poke"] = "aanstoten";
+App::$strings["poked"] = "aangestoten";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "gepingd";
+App::$strings["prod"] = "por";
+App::$strings["prodded"] = "gepord";
+App::$strings["slap"] = "slaan";
+App::$strings["slapped"] = "sloeg";
+App::$strings["finger"] = "finger";
+App::$strings["fingered"] = "gefingerd";
+App::$strings["rebuff"] = "afpoeieren";
+App::$strings["rebuffed"] = "afgepoeierd";
+App::$strings["happy"] = "gelukkig";
+App::$strings["sad"] = "bedroefd";
+App::$strings["mellow"] = "mellow";
+App::$strings["tired"] = "moe";
+App::$strings["perky"] = "parmantig";
+App::$strings["angry"] = "boos";
+App::$strings["stupefied"] = "verbijsterd";
+App::$strings["puzzled"] = "verward";
+App::$strings["interested"] = "geïnteresseerd";
+App::$strings["bitter"] = "verbitterd";
+App::$strings["cheerful"] = "vrolijk";
+App::$strings["alive"] = "levendig";
+App::$strings["annoyed"] = "geërgerd";
+App::$strings["anxious"] = "bezorgd";
+App::$strings["cranky"] = "humeurig";
+App::$strings["disturbed"] = "verontrust";
+App::$strings["frustrated"] = "gefrustreerd ";
+App::$strings["depressed"] = "gedeprimeerd";
+App::$strings["motivated"] = "gemotiveerd";
+App::$strings["relaxed"] = "ontspannen";
+App::$strings["surprised"] = "verrast";
+App::$strings["Monday"] = "maandag";
+App::$strings["Tuesday"] = "dinsdag";
+App::$strings["Wednesday"] = "woensdag";
+App::$strings["Thursday"] = "donderdag";
+App::$strings["Friday"] = "vrijdag";
+App::$strings["Saturday"] = "zaterdag";
+App::$strings["Sunday"] = "zondag";
+App::$strings["January"] = "januari";
+App::$strings["February"] = "februari";
+App::$strings["March"] = "maart";
+App::$strings["April"] = "april";
+App::$strings["May"] = "mei";
+App::$strings["June"] = "juni";
+App::$strings["July"] = "juli";
+App::$strings["August"] = "augustus";
+App::$strings["September"] = "september";
+App::$strings["October"] = "oktober";
+App::$strings["November"] = "november";
+App::$strings["December"] = "december";
+App::$strings["Unknown Attachment"] = "Onbekende bijlage";
+App::$strings["unknown"] = "onbekend";
+App::$strings["remove category"] = "categorie verwijderen";
+App::$strings["remove from file"] = "uit map verwijderen";
+App::$strings["default"] = "standaard";
+App::$strings["Page layout"] = "Pagina-lay-out";
+App::$strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
+App::$strings["Page content type"] = "Opmaaktype pagina";
+App::$strings["Select an alternate language"] = "Kies een andere taal";
+App::$strings["activity"] = "activiteit";
+App::$strings["Design Tools"] = "Ontwerp-hulpmiddelen";
+App::$strings["Pages"] = "Pagina's";
+App::$strings["System"] = "Systeem";
+App::$strings["New App"] = "Nieuwe app";
+App::$strings["Suggestions"] = "Voorgestelde kanalen";
+App::$strings["See more..."] = "Meer...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
+App::$strings["Add New Connection"] = "Nieuwe connectie toevoegen";
+App::$strings["Enter channel address"] = "Vul kanaaladres in";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Voorbeelden: bob@example.com, http://example.com/barbara";
+App::$strings["Notes"] = "Aantekeningen";
+App::$strings["Remove term"] = "Verwijder zoekterm";
+App::$strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
+App::$strings["add"] = "toevoegen";
+App::$strings["Saved Folders"] = "Bewaarde mappen";
+App::$strings["Everything"] = "Alles";
+App::$strings["Archives"] = "Archieven";
+App::$strings["Refresh"] = "Vernieuwen";
+App::$strings["Account settings"] = "Account";
+App::$strings["Channel settings"] = "Kanaal";
+App::$strings["Additional features"] = "Extra functies";
+App::$strings["Feature/Addon settings"] = "Plugin-instellingen";
+App::$strings["Display settings"] = "Weergave";
+App::$strings["Manage locations"] = "Locaties beheren";
+App::$strings["Export channel"] = "Kanaal exporteren";
+App::$strings["Connected apps"] = "Verbonden applicaties";
+App::$strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
+App::$strings["Private Mail Menu"] = "Privéberichten";
+App::$strings["Combined View"] = "Gecombineerd postvak";
+App::$strings["Inbox"] = "Postvak IN";
+App::$strings["Outbox"] = "Postvak UIT";
+App::$strings["New Message"] = "Nieuw bericht";
+App::$strings["Conversations"] = "Conversaties";
+App::$strings["Received Messages"] = "Ontvangen berichten";
+App::$strings["Sent Messages"] = "Verzonden berichten";
+App::$strings["No messages."] = "Geen berichten";
+App::$strings["Delete conversation"] = "Verwijder conversatie";
+App::$strings["Events Menu"] = "Agenda-menu";
+App::$strings["Day View"] = "Dag tonen";
+App::$strings["Week View"] = "Week tonen";
+App::$strings["Month View"] = "Maand tonen";
+App::$strings["Events Tools"] = "Agenda-hulpmiddelen";
+App::$strings["Export Calendar"] = "Exporteren";
+App::$strings["Import Calendar"] = "Importeren";
+App::$strings["Chatrooms"] = "Chatkanalen";
+App::$strings["Overview"] = "Overzicht";
+App::$strings["Chat Members"] = "Chatleden";
+App::$strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
+App::$strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
+App::$strings["photo/image"] = "foto/afbeelding";
+App::$strings["Click to show more"] = "Klik voor meer";
+App::$strings["Rating Tools"] = "Beoordelingen";
+App::$strings["Rate Me"] = "Beoordeel mij";
+App::$strings["View Ratings"] = "Bekijk beoordelingen";
+App::$strings["Forums"] = "Forums";
+App::$strings["Tasks"] = "Taken";
+App::$strings["Documentation"] = "Documentatie";
+App::$strings["Project/Site Information"] = "Project- en hub-informatie";
+App::$strings["For Members"] = "Voor leden";
+App::$strings["For Administrators"] = "Voor beheerders";
+App::$strings["For Developers"] = "Voor ontwikkelaars";
+App::$strings["Member registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
+App::$strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
+App::$strings["DB updates"] = "Database-updates";
+App::$strings["Admin"] = "Beheer";
+App::$strings["Plugin Features"] = "Plugin-opties";
+App::$strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
+App::$strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
+App::$strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
+App::$strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
+App::$strings["Protocol disabled."] = "Protocol uitgeschakeld.";
+App::$strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
+App::$strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
+App::$strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
+App::$strings["Public Timeline"] = "Openbare tijdlijn";
+App::$strings["Image/photo"] = "Afbeelding/foto";
+App::$strings["Encrypted content"] = "Versleutelde inhoud";
+App::$strings["Install %s element: "] = "Installeer %s-element: ";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Klik om te openen of te sluiten";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
+App::$strings["$1 wrote:"] = "$1 schreef:";
+App::$strings["Directory Options"] = "Opties kanalengids";
+App::$strings["Safe Mode"] = "Veilig zoeken";
+App::$strings["Public Forums Only"] = "Alleen openbare forums";
+App::$strings["This Website Only"] = "Alleen deze hub";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
+App::$strings["Logout"] = "Uitloggen";
+App::$strings["End this session"] = "Beëindig deze sessie";
+App::$strings["Home"] = "Home";
+App::$strings["Your posts and conversations"] = "Jouw kanaal";
+App::$strings["Your profile page"] = "Jouw profielpagina";
+App::$strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
+App::$strings["Edit Profile"] = "Profiel bewerken";
+App::$strings["Edit your profile"] = "Jouw profiel bewerken";
+App::$strings["Your photos"] = "Jouw foto's";
+App::$strings["Your files"] = "Jouw bestanden";
+App::$strings["Your chatrooms"] = "Jouw chatkanalen";
+App::$strings["Bookmarks"] = "Bladwijzers";
+App::$strings["Your bookmarks"] = "Jouw bladwijzers";
+App::$strings["Your webpages"] = "Jouw webpagina's";
+App::$strings["Sign in"] = "Inloggen";
+App::$strings["%s - click to logout"] = "%s - klik om uit te loggen";
+App::$strings["Remote authentication"] = "Authenticatie op afstand";
+App::$strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub";
+App::$strings["Home Page"] = "Homepage";
+App::$strings["Create an account"] = "Maak een account aan";
+App::$strings["Help and documentation"] = "Hulp en documentatie";
+App::$strings["Applications, utilities, links, games"] = "Apps";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie ";
+App::$strings["Channel Directory"] = "Kanalengids";
+App::$strings["Your grid"] = "Jouw grid";
+App::$strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken";
+App::$strings["Channel home"] = "Jouw kanaal";
+App::$strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
+App::$strings["Notices"] = "Notificaties";
+App::$strings["Notifications"] = "Notificaties";
+App::$strings["See all notifications"] = "Alle notificaties weergeven";
+App::$strings["Private mail"] = "Privéberichten";
+App::$strings["See all private messages"] = "Alle privéberichten weergeven";
+App::$strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
+App::$strings["Event Calendar"] = "Agenda";
+App::$strings["See all events"] = "Alle gebeurtenissen weergeven";
+App::$strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
+App::$strings["Manage Your Channels"] = "Beheer je kanalen";
+App::$strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
+App::$strings["Site Setup and Configuration"] = "Hub instellen en beheren";
+App::$strings["Loading..."] = "Aan het laden...";
+App::$strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp";
+App::$strings["Please wait..."] = "Wachten aub...";
App::$strings["New window"] = "Nieuw venster";
App::$strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
App::$strings["User '%s' deleted"] = "Account '%s' verwijderd";
-App::$strings["Embedded content"] = "Ingesloten (embedded) inhoud";
-App::$strings["Embedding disabled"] = "Insluiten (embedding) uitgeschakeld";
App::$strings["%d invitation available"] = array(
0 => "%d uitnodiging beschikbaar",
1 => "%d uitnodigingen beschikbaar",
@@ -1558,9 +1775,6 @@ App::$strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morg
App::$strings["Random Profile"] = "Willekeurig profiel";
App::$strings["Invite Friends"] = "Vrienden uitnodigen";
App::$strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland";
-App::$strings["Saved Folders"] = "Bewaarde mappen";
-App::$strings["Everything"] = "Alles";
-App::$strings["Categories"] = "Categorieën";
App::$strings["%d connection in common"] = array(
0 => "%d gemeenschappelijke connectie",
1 => "%d gemeenschappelijke connecties",
@@ -1568,13 +1782,11 @@ App::$strings["%d connection in common"] = array(
App::$strings["show more"] = "meer connecties weergeven";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
App::$strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
-App::$strings["poked"] = "aangestoten";
App::$strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
App::$strings["Categories:"] = "Categorieën:";
App::$strings["Filed under:"] = "Bewaard onder:";
App::$strings["View in context"] = "In context bekijken";
App::$strings["remove"] = "verwijderen";
-App::$strings["Loading..."] = "Aan het laden...";
App::$strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
App::$strings["View Source"] = "Bron weergeven";
App::$strings["Follow Thread"] = "Conversatie volgen";
@@ -1624,9 +1836,8 @@ App::$strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
App::$strings["Status Messages and Posts"] = "Berichten in dit kanaal";
App::$strings["About"] = "Over";
App::$strings["Profile Details"] = "Profiel";
+App::$strings["Photo Albums"] = "Fotoalbums";
App::$strings["Files and Storage"] = "Bestanden en opslagruimte";
-App::$strings["Chatrooms"] = "Chatkanalen";
-App::$strings["Bookmarks"] = "Bladwijzers";
App::$strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
App::$strings["Manage Webpages"] = "Webpagina's beheren";
App::$strings["__ctx:noun__ Attending"] = array(
@@ -1653,19 +1864,6 @@ App::$strings["__ctx:noun__ Abstain"] = array(
0 => "onthouding",
1 => "onthoudingen",
);
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-App::$strings["Starts:"] = "Start:";
-App::$strings["Finishes:"] = "Einde:";
-App::$strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
-App::$strings["Not specified"] = "Niet aangegeven";
-App::$strings["Needs Action"] = "Actie vereist";
-App::$strings["Completed"] = "Voltooid";
-App::$strings["In Process"] = "In behandeling";
-App::$strings["Cancelled"] = "Geannuleerd";
-App::$strings["No recipient provided."] = "Geen ontvanger opgegeven.";
-App::$strings["[no subject]"] = "[geen onderwerp]";
-App::$strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
-App::$strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
App::$strings["Frequently"] = "Regelmatig";
App::$strings["Hourly"] = "Elk uur";
App::$strings["Twice daily"] = "Twee keer per dag";
@@ -1727,16 +1925,38 @@ App::$strings["Uncertain"] = "Onzeker";
App::$strings["It's complicated"] = "Het is ingewikkeld";
App::$strings["Don't care"] = "Maakt mij niks uit";
App::$strings["Ask me"] = "Vraag het me";
-App::$strings["Image/photo"] = "Afbeelding/foto";
-App::$strings["Encrypted content"] = "Versleutelde inhoud";
-App::$strings["Install %s element: "] = "Installeer %s-element: ";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
-App::$strings["Click to open/close"] = "Klik om te openen of te sluiten";
-App::$strings["spoiler"] = "spoiler";
-App::$strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
-App::$strings["$1 wrote:"] = "$1 schreef:";
-App::$strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
+App::$strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
+App::$strings["Only me"] = "Alleen ik";
+App::$strings["Public"] = "Openbaar";
+App::$strings["Anybody in the \$Projectname network"] = "Iedereen in het \$Projectname-netwerk";
+App::$strings["Any account on %s"] = "Iedereen op %s";
+App::$strings["Any of my connections"] = "Al mijn geaccepteerde connecties";
+App::$strings["Only connections I specifically allow"] = "Alleen connecties die uitdrukkelijk door jou zijn toegestaan";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Al mijn geaccepteerde en nog niet geaccepteerde connecties";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken";
+App::$strings["This is your default setting for who can view your connections"] = "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken";
+App::$strings["This is your default setting for the audience of your webpages"] = "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken";
+App::$strings["Not a valid email address"] = "Geen geldig e-mailadres";
+App::$strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan";
+App::$strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd.";
+App::$strings["An invitation is required."] = "Een uitnodiging is vereist";
+App::$strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
+App::$strings["Please enter the required information."] = "Vul de vereiste informatie in.";
+App::$strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
+App::$strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
+App::$strings["Registration request at %s"] = "Registratiebevestiging voor %s";
+App::$strings["Administrator"] = "Beheerder";
+App::$strings["your registration password"] = "jouw registratiewachtwoord";
+App::$strings["Registration details for %s"] = "Registratiegegevens voor %s";
+App::$strings["Account approved."] = "Account goedgekeurd";
+App::$strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
+App::$strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen.";
+App::$strings["Click here to upgrade."] = "Klik hier om te upgraden.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
+App::$strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
App::$strings["Item was not found."] = "Item niet gevonden";
App::$strings["No source file."] = "Geen bronbestand.";
App::$strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
@@ -1763,7 +1983,6 @@ App::$strings["Unable to retrieve created identity"] = "Niet in staat om aangema
App::$strings["Default Profile"] = "Standaardprofiel";
App::$strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
App::$strings["Create New Profile"] = "Nieuw profiel aanmaken";
-App::$strings["Edit Profile"] = "Profiel bewerken";
App::$strings["Visible to everybody"] = "Voor iedereen zichtbaar";
App::$strings["Gender:"] = "Geslacht:";
App::$strings["Status:"] = "Status:";
@@ -1791,196 +2010,6 @@ App::$strings["Love/Romance:"] = "Liefde/romantiek:";
App::$strings["Work/employment:"] = "Werk/beroep:";
App::$strings["School/education:"] = "School/opleiding:";
App::$strings["Like this thing"] = "Vind dit ding leuk";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
-App::$strings["Logout"] = "Uitloggen";
-App::$strings["End this session"] = "Beëindig deze sessie";
-App::$strings["Home"] = "Home";
-App::$strings["Your posts and conversations"] = "Jouw kanaal";
-App::$strings["Your profile page"] = "Jouw profielpagina";
-App::$strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
-App::$strings["Edit your profile"] = "Jouw profiel bewerken";
-App::$strings["Your photos"] = "Jouw foto's";
-App::$strings["Your files"] = "Jouw bestanden";
-App::$strings["Your chatrooms"] = "Jouw chatkanalen";
-App::$strings["Your bookmarks"] = "Jouw bladwijzers";
-App::$strings["Your webpages"] = "Jouw webpagina's";
-App::$strings["Sign in"] = "Inloggen";
-App::$strings["%s - click to logout"] = "%s - klik om uit te loggen";
-App::$strings["Remote authentication"] = "Authenticatie op afstand";
-App::$strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub";
-App::$strings["Home Page"] = "Homepage";
-App::$strings["Create an account"] = "Maak een account aan";
-App::$strings["Help and documentation"] = "Hulp en documentatie";
-App::$strings["Applications, utilities, links, games"] = "Apps";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie ";
-App::$strings["Channel Directory"] = "Kanalengids";
-App::$strings["Your grid"] = "Jouw grid";
-App::$strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken";
-App::$strings["Channel home"] = "Jouw kanaal";
-App::$strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
-App::$strings["Notices"] = "Notificaties";
-App::$strings["Notifications"] = "Notificaties";
-App::$strings["See all notifications"] = "Alle notificaties weergeven";
-App::$strings["Private mail"] = "Privéberichten";
-App::$strings["See all private messages"] = "Alle privéberichten weergeven";
-App::$strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
-App::$strings["Inbox"] = "Postvak IN";
-App::$strings["Outbox"] = "Postvak UIT";
-App::$strings["New Message"] = "Nieuw bericht";
-App::$strings["Event Calendar"] = "Agenda";
-App::$strings["See all events"] = "Alle gebeurtenissen weergeven";
-App::$strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
-App::$strings["Manage Your Channels"] = "Beheer je kanalen";
-App::$strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
-App::$strings["Admin"] = "Beheer";
-App::$strings["Site Setup and Configuration"] = "Hub instellen en beheren";
-App::$strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp";
-App::$strings["Please wait..."] = "Wachten aub...";
-App::$strings["System"] = "Systeem";
-App::$strings["New App"] = "Nieuwe app";
-App::$strings["Suggestions"] = "Voorgestelde kanalen";
-App::$strings["See more..."] = "Meer...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
-App::$strings["Add New Connection"] = "Nieuwe connectie toevoegen";
-App::$strings["Enter channel address"] = "Vul kanaaladres in";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Voorbeelden: bob@example.com, http://example.com/barbara";
-App::$strings["Notes"] = "Aantekeningen";
-App::$strings["Remove term"] = "Verwijder zoekterm";
-App::$strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
-App::$strings["add"] = "toevoegen";
-App::$strings["Archives"] = "Archieven";
-App::$strings["Refresh"] = "Vernieuwen";
-App::$strings["Account settings"] = "Account";
-App::$strings["Channel settings"] = "Kanaal";
-App::$strings["Additional features"] = "Extra functies";
-App::$strings["Feature/Addon settings"] = "Plugin-instellingen";
-App::$strings["Display settings"] = "Weergave";
-App::$strings["Manage locations"] = "Locaties beheren";
-App::$strings["Export channel"] = "Kanaal exporteren";
-App::$strings["Connected apps"] = "Verbonden applicaties";
-App::$strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
-App::$strings["Private Mail Menu"] = "Privéberichten";
-App::$strings["Combined View"] = "Gecombineerd postvak";
-App::$strings["Conversations"] = "Conversaties";
-App::$strings["Received Messages"] = "Ontvangen berichten";
-App::$strings["Sent Messages"] = "Verzonden berichten";
-App::$strings["No messages."] = "Geen berichten";
-App::$strings["Delete conversation"] = "Verwijder conversatie";
-App::$strings["Events Menu"] = "Agenda-menu";
-App::$strings["Day View"] = "Dag tonen";
-App::$strings["Week View"] = "Week tonen";
-App::$strings["Month View"] = "Maand tonen";
-App::$strings["Events Tools"] = "Agenda-hulpmiddelen";
-App::$strings["Export Calendar"] = "Exporteren";
-App::$strings["Import Calendar"] = "Importeren";
-App::$strings["Overview"] = "Overzicht";
-App::$strings["Chat Members"] = "Chatleden";
-App::$strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
-App::$strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
-App::$strings["photo/image"] = "foto/afbeelding";
-App::$strings["Click to show more"] = "Klik voor meer";
-App::$strings["Rating Tools"] = "Beoordelingen";
-App::$strings["Rate Me"] = "Beoordeel mij";
-App::$strings["View Ratings"] = "Bekijk beoordelingen";
-App::$strings["Forums"] = "Forums";
-App::$strings["Tasks"] = "Taken";
-App::$strings["Documentation"] = "Documentatie";
-App::$strings["Project/Site Information"] = "Project- en hub-informatie";
-App::$strings["For Members"] = "Voor leden";
-App::$strings["For Administrators"] = "Voor beheerders";
-App::$strings["For Developers"] = "Voor ontwikkelaars";
-App::$strings["Accounts"] = "Accounts";
-App::$strings["Member registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
-App::$strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
-App::$strings["DB updates"] = "Database-updates";
-App::$strings["Plugin Features"] = "Plugin-opties";
-App::$strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
-App::$strings["Only me"] = "Alleen ik";
-App::$strings["Who can see this?"] = "Wie kan dit zien?";
-App::$strings["Custom selection"] = "Handmatige selectie";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\".";
-App::$strings["Show"] = "Tonen";
-App::$strings["Don't show"] = "Niet tonen";
-App::$strings["Other networks and post services"] = "Andere netwerken en diensten";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien.";
-App::$strings["Birthday"] = "Verjaardag of geboortedatum";
-App::$strings["Age: "] = "Leeftijd:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
-App::$strings["never"] = "nooit";
-App::$strings["less than a second ago"] = "minder dan een seconde geleden";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "jaar",
- 1 => "jaren",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "maand",
- 1 => "maanden",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "week",
- 1 => "weken",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "dag",
- 1 => "dagen",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "uur",
- 1 => "uren",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minuut",
- 1 => "minuten",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "seconde",
- 1 => "seconden",
-);
-App::$strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
-App::$strings["Not a valid email address"] = "Geen geldig e-mailadres";
-App::$strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan";
-App::$strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd.";
-App::$strings["An invitation is required."] = "Een uitnodiging is vereist";
-App::$strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
-App::$strings["Please enter the required information."] = "Vul de vereiste informatie in.";
-App::$strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
-App::$strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
-App::$strings["Registration request at %s"] = "Registratiebevestiging voor %s";
-App::$strings["your registration password"] = "jouw registratiewachtwoord";
-App::$strings["Registration details for %s"] = "Registratiegegevens voor %s";
-App::$strings["Account approved."] = "Account goedgekeurd";
-App::$strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
-App::$strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen.";
-App::$strings["Click here to upgrade."] = "Klik hier om te upgraden.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
-App::$strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
-App::$strings["Public Timeline"] = "Openbare tijdlijn";
-App::$strings["Logged out."] = "Uitgelogd.";
-App::$strings["Failed authentication"] = "Mislukte authenticatie";
-App::$strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
-App::$strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
-App::$strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
-App::$strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
-App::$strings["Protocol disabled."] = "Protocol uitgeschakeld.";
-App::$strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
-App::$strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
-App::$strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
-App::$strings["(Unknown)"] = "(Onbekend)";
-App::$strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
-App::$strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
-App::$strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
-App::$strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
-App::$strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
-App::$strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
-App::$strings["Visible to approved connections."] = "Voor alle geaccepteerde connecties zichtbaar.";
-App::$strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
-App::$strings["Privacy group is empty."] = "Privacygroep is leeg";
-App::$strings["Privacy group: %s"] = "Privacygroep: %s";
-App::$strings["Connection not found."] = "Connectie niet gevonden.";
-App::$strings["profile photo"] = "profielfoto";
App::$strings["General Features"] = "Algemene functies";
App::$strings["Content Expiration"] = "Inhoud laten verlopen";
App::$strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
@@ -2040,6 +2069,8 @@ App::$strings["Community Tagging"] = "Taggen door anderen";
App::$strings["Ability to tag existing posts"] = "Geeft andere mensen de mogelijkheid om jouw (bestaande) berichten te taggen";
App::$strings["Post Categories"] = "Categorieën berichten";
App::$strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
+App::$strings["Emoji Reactions"] = "Emoji-reacties";
+App::$strings["Add emoji reaction ability to posts"] = "Emoji-reacties in berichten toestaan";
App::$strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan";
App::$strings["Dislike Posts"] = "Vind berichten niet leuk";
App::$strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden";
@@ -2047,95 +2078,59 @@ App::$strings["Star Posts"] = "Geef berichten een ster";
App::$strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren";
App::$strings["Tag Cloud"] = "Tagwolk";
App::$strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina";
+App::$strings["Embedded content"] = "Ingesloten (embedded) inhoud";
+App::$strings["Embedding disabled"] = "Insluiten (embedding) uitgeschakeld";
+App::$strings["Who can see this?"] = "Wie kan dit zien?";
+App::$strings["Custom selection"] = "Handmatige selectie";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\".";
+App::$strings["Show"] = "Tonen";
+App::$strings["Don't show"] = "Niet tonen";
+App::$strings["Other networks and post services"] = "Andere netwerken en diensten";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien.";
+App::$strings["Logged out."] = "Uitgelogd.";
+App::$strings["Failed authentication"] = "Mislukte authenticatie";
+App::$strings["Birthday"] = "Verjaardag of geboortedatum";
+App::$strings["Age: "] = "Leeftijd:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
+App::$strings["never"] = "nooit";
+App::$strings["less than a second ago"] = "minder dan een seconde geleden";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "jaar",
+ 1 => "jaren",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "maand",
+ 1 => "maanden",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "week",
+ 1 => "weken",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "dag",
+ 1 => "dagen",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "uur",
+ 1 => "uren",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuut",
+ 1 => "minuten",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "seconde",
+ 1 => "seconden",
+);
+App::$strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken.";
App::$strings["Add new connections to this privacy group"] = "Voeg nieuwe connecties aan deze privacygroep toe";
App::$strings["edit"] = "bewerken";
App::$strings["Edit group"] = "Privacygroep bewerken";
App::$strings["Add privacy group"] = "Privacygroep toevoegen";
App::$strings["Channels not in any privacy group"] = "Kanalen die zich in geen enkele privacygroep bevinden";
-App::$strings["prev"] = "vorige";
-App::$strings["first"] = "eerste";
-App::$strings["last"] = "laatste";
-App::$strings["next"] = "volgende";
-App::$strings["older"] = "ouder";
-App::$strings["newer"] = "nieuwer";
-App::$strings["No connections"] = "Geen connecties";
-App::$strings["View all %s connections"] = "Toon alle %s connecties";
-App::$strings["poke"] = "aanstoten";
-App::$strings["ping"] = "ping";
-App::$strings["pinged"] = "gepingd";
-App::$strings["prod"] = "por";
-App::$strings["prodded"] = "gepord";
-App::$strings["slap"] = "slaan";
-App::$strings["slapped"] = "sloeg";
-App::$strings["finger"] = "finger";
-App::$strings["fingered"] = "gefingerd";
-App::$strings["rebuff"] = "afpoeieren";
-App::$strings["rebuffed"] = "afgepoeierd";
-App::$strings["happy"] = "gelukkig";
-App::$strings["sad"] = "bedroefd";
-App::$strings["mellow"] = "mellow";
-App::$strings["tired"] = "moe";
-App::$strings["perky"] = "parmantig";
-App::$strings["angry"] = "boos";
-App::$strings["stupefied"] = "verbijsterd";
-App::$strings["puzzled"] = "verward";
-App::$strings["interested"] = "geïnteresseerd";
-App::$strings["bitter"] = "verbitterd";
-App::$strings["cheerful"] = "vrolijk";
-App::$strings["alive"] = "levendig";
-App::$strings["annoyed"] = "geërgerd";
-App::$strings["anxious"] = "bezorgd";
-App::$strings["cranky"] = "humeurig";
-App::$strings["disturbed"] = "verontrust";
-App::$strings["frustrated"] = "gefrustreerd ";
-App::$strings["depressed"] = "gedeprimeerd";
-App::$strings["motivated"] = "gemotiveerd";
-App::$strings["relaxed"] = "ontspannen";
-App::$strings["surprised"] = "verrast";
-App::$strings["Monday"] = "maandag";
-App::$strings["Tuesday"] = "dinsdag";
-App::$strings["Wednesday"] = "woensdag";
-App::$strings["Thursday"] = "donderdag";
-App::$strings["Friday"] = "vrijdag";
-App::$strings["Saturday"] = "zaterdag";
-App::$strings["Sunday"] = "zondag";
-App::$strings["January"] = "januari";
-App::$strings["February"] = "februari";
-App::$strings["March"] = "maart";
-App::$strings["April"] = "april";
-App::$strings["May"] = "mei";
-App::$strings["June"] = "juni";
-App::$strings["July"] = "juli";
-App::$strings["August"] = "augustus";
-App::$strings["September"] = "september";
-App::$strings["October"] = "oktober";
-App::$strings["November"] = "november";
-App::$strings["December"] = "december";
-App::$strings["Unknown Attachment"] = "Onbekende bijlage";
-App::$strings["unknown"] = "onbekend";
-App::$strings["remove category"] = "categorie verwijderen";
-App::$strings["remove from file"] = "uit map verwijderen";
-App::$strings["default"] = "standaard";
-App::$strings["Page layout"] = "Pagina-lay-out";
-App::$strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
-App::$strings["Page content type"] = "Opmaaktype pagina";
-App::$strings["Select an alternate language"] = "Kies een andere taal";
-App::$strings["activity"] = "activiteit";
-App::$strings["Design Tools"] = "Ontwerp-hulpmiddelen";
-App::$strings["Pages"] = "Pagina's";
-App::$strings["Invalid data packet"] = "Datapakket ongeldig";
-App::$strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
-App::$strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
-App::$strings["invalid target signature"] = "ongeldig doelkenmerk";
-App::$strings["Tags"] = "Tags";
-App::$strings["Keywords"] = "Trefwoorden";
-App::$strings["have"] = "heb";
-App::$strings["has"] = "heeft";
-App::$strings["want"] = "wil";
-App::$strings["wants"] = "wil";
-App::$strings["likes"] = "vindt dit leuk";
-App::$strings["dislikes"] = "vindt dit niet leuk";
App::$strings["Delete this item?"] = "Dit item verwijderen?";
App::$strings["[-] show less"] = "[-] minder reacties weergeven";
App::$strings["[+] expand"] = "[+] uitklappen";
@@ -2194,27 +2189,28 @@ App::$strings["__ctx:calendar__ month"] = "maand";
App::$strings["__ctx:calendar__ week"] = "week";
App::$strings["__ctx:calendar__ day"] = "dag";
App::$strings["__ctx:calendar__ All day"] = "hele dag";
-App::$strings["Public"] = "Openbaar";
-App::$strings["Anybody in the \$Projectname network"] = "Iedereen in het \$Projectname-netwerk";
-App::$strings["Any account on %s"] = "Iedereen op %s";
-App::$strings["Any of my connections"] = "Al mijn geaccepteerde connecties";
-App::$strings["Only connections I specifically allow"] = "Alleen connecties die uitdrukkelijk door jou zijn toegestaan";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Al mijn geaccepteerde en nog niet geaccepteerde connecties";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken";
-App::$strings["This is your default setting for who can view your connections"] = "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken";
-App::$strings["This is your default setting for the audience of your webpages"] = "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken";
-App::$strings[" and "] = " en ";
-App::$strings["public profile"] = "openbaar profiel";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
-App::$strings["Directory Options"] = "Opties kanalengids";
-App::$strings["Safe Mode"] = "Veilig zoeken";
-App::$strings["Public Forums Only"] = "Alleen openbare forums";
-App::$strings["This Website Only"] = "Alleen deze hub";
+App::$strings["view full size"] = "volledige grootte tonen";
+App::$strings["No Subject"] = "Geen onderwerp";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
+App::$strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
+App::$strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
+App::$strings["a new photo"] = "een nieuwe foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s plaatste %2\$s op %3\$s";
+App::$strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+App::$strings["Invalid data packet"] = "Datapakket ongeldig";
+App::$strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
+App::$strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
+App::$strings["invalid target signature"] = "ongeldig doelkenmerk";
App::$strings["New Page"] = "Nieuwe pagina";
App::$strings["Title"] = "Titel";
App::$strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
@@ -2252,6 +2248,11 @@ App::$strings["Special Purpose"] = "Speciaal doel";
App::$strings["Special - Celebrity/Soapbox"] = "Speciaal - Beroemdheid/alleen volgen";
App::$strings["Special - Group Repository"] = "Speciaal - Groepsopslag";
App::$strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
+App::$strings[" and "] = " en ";
+App::$strings["public profile"] = "openbaar profiel";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
App::$strings["Attachments:"] = "Bijlagen:";
App::$strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:";
App::$strings["Focus (Hubzilla default)"] = "Focus (Hubzilla-standaard)";
diff --git a/view/pdl/mod_wiki.pdl b/view/pdl/mod_wiki.pdl
new file mode 100644
index 000000000..76ed1c70c
--- /dev/null
+++ b/view/pdl/mod_wiki.pdl
@@ -0,0 +1,4 @@
+[region=aside]
+[widget=wiki_list][/widget]
+[widget=wiki_pages][/widget]
+[/region]
diff --git a/view/php/default.php b/view/php/default.php
index ad6b7a3d1..f5be4fa35 100644
--- a/view/php/default.php
+++ b/view/php/default.php
@@ -5,7 +5,7 @@
<script>var baseurl="<?php echo z_root() ?>";</script>
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
-<body>
+<body <?php if($page['direction']) echo 'dir="rtl"' ?> >
<?php if(x($page,'banner')) echo $page['banner']; ?>
<header><?php if(x($page,'header')) echo $page['header']; ?></header>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index 648b144b3..e9ba2aa05 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -10,6 +10,7 @@ head_add_css('view/css/conversation.css');
head_add_css('view/css/widgets.css');
head_add_css('view/css/colorbox.css');
head_add_css('library/justifiedGallery/justifiedGallery.min.css');
+head_add_css('library/Text_Highlighter/sample.css');
head_add_js('jquery.js');
//head_add_js('jquery-migrate-1.1.1.js');
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index ae2826516..c9c85daa3 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -117,8 +117,6 @@ code {
color: #000;
}
-
-
pre {
background: #F5F5F5;
color: #333;
@@ -2022,3 +2020,9 @@ dl.bb-dl > dd > li {
.help-searchlist a {
font-size: 130%;
}
+
+.embed-photo-selected-photo {
+ border-color: blue;
+ border-style: solid;
+ border-width: 5px;
+}
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 817a03028..903a23eed 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -4,7 +4,7 @@
</div>
<div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
{{/if}}
- <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper{{/if}}">
+ <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}}">
<a name="{{$item.id}}" ></a>
<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
<div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" style="clear:both;">
@@ -20,8 +20,8 @@
{{/if}}
<div class="wall-item-head">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
- <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
+ <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}">
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
</div>
<div class="wall-item-photo-end" style="clear:both"></div>
</div>
@@ -39,14 +39,14 @@
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
- {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="fa fa-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
+ {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="fa fa-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
</div>
<div class="clear"></div>
</div>
{{if $item.body}}
<div class="wall-item-content" id="wall-item-content-{{$item.id}}">
- <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >
+ <div class="wall-item-body e-content" id="wall-item-body-{{$item.id}}" >
{{$item.body}}
</div>
<div class="clear"></div>
@@ -66,7 +66,7 @@
{{/if}}
{{if $item.categories}}
<div class="body-tags" id="item-categories">
- <span class="tag">{{$item.categories}}</span>
+ <span class="tag p-category">{{$item.categories}}</span>
</div>
{{/if}}
{{if $item.folders}}
@@ -133,7 +133,7 @@
<li role="presentation"><a role="menuitem" href="#" onclick="jotShare({{$item.id}}); return false"><i class="fa fa-retweet" title="{{$item.share.0}}"></i> {{$item.share.0}}</a></li>
{{/if}}
{{if $item.plink}}
- <li role="presentation"><a role="menuitem" href="{{$item.plink.href}}" title="{{$item.plink.title}}" ><i class="fa fa-external-link"></i> {{$item.plink.title}}</a></li>
+ <li role="presentation"><a role="menuitem" href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="u-url"><i class="fa fa-external-link"></i> {{$item.plink.title}}</a></li>
{{/if}}
{{if $item.edpost}}
<li role="presentation"><a role="menuitem" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="editpost fa fa-pencil"></i> {{$item.edpost.1}}</a></li>
diff --git a/view/tpl/cropcover.tpl b/view/tpl/cropcover.tpl
index 68c948889..04b96a603 100755
--- a/view/tpl/cropcover.tpl
+++ b/view/tpl/cropcover.tpl
@@ -28,7 +28,7 @@
minWidth: 240,
minHeight: 87,
maxWidth: 320,
- maxHeight: 320,
+ maxHeight: 116,
ratioDim: { x: 100, y:36 },
displayOnInit: true,
onEndCrop: onEndCrop
diff --git a/view/tpl/diaspora_vcard.tpl b/view/tpl/diaspora_vcard.tpl
index f9dac9306..3812823da 100644
--- a/view/tpl/diaspora_vcard.tpl
+++ b/view/tpl/diaspora_vcard.tpl
@@ -1,51 +1,57 @@
<div style="display:none;">
+ <dl class="entity_uid">
+ <dt>Uid</dt>
+ <dd>
+ <span class="uid p-uid">{{$diaspora.guid}}</span>
+ </dd>
+ </dl>
<dl class='entity_nickname'>
<dt>Nickname</dt>
<dd>
- <a class="nickname url uid" href="{{$diaspora.podloc}}/" rel="me">{{$diaspora.fullname}}</a>
+ <a class="nickname p-nickname">{{$diaspora.nickname}}</a>
</dd>
</dl>
- <dl class='entity_fn'>
+ <dl class='entity_full_name'>
<dt>Full name</dt>
<dd>
- <span class='fn'>{{$diaspora.fullname}}</span>
+ <span class='fn p-name'>{{$diaspora.fullname}}</span>
</dd>
</dl>
- <dl class='entity_given_name'>
+ <dl class='entity_first_name'>
<dt>First name</dt>
<dd>
- <span class='given_name'>{{$diaspora.firstname}}</span>
+ <span class='given_name p-given-name'>{{$diaspora.firstname}}</span>
</dd>
</dl>
<dl class='entity_family_name'>
<dt>Family name</dt>
<dd>
- <span class='family_name'>{{$diaspora.lastname}}</span>
+ <span class='family_name p-family-name'>{{$diaspora.lastname}}</span>
</dd>
</dl>
<dl class="entity_url">
<dt>URL</dt>
<dd>
- <a class="url" href="{{$diaspora.podloc}}/" id="pod_location" rel="me">{{$diaspora.podloc}}/</a>
+ <a href="{{$diaspora.podloc}}/" id="pod_location" >{{$diaspora.podloc}}/</a>
</dd>
</dl>
<dl class="entity_photo">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="300" width="300" src="{{$diaspora.photo300}}">
+ <img class="photo u-photo avatar" height="300" width="300" src="{{$diaspora.photo300}}">
</dd>
</dl>
<dl class="entity_photo_medium">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="100" width="100" src="{{$diaspora.photo100}}">
+ <img class="photo u-photo avatar" height="100" width="100" src="{{$diaspora.photo100}}">
</dd>
</dl>
<dl class="entity_photo_small">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="50" width="50" src="{{$diaspora.photo50}}">
+ <img class="photo u-photo avatar" height="50" width="50" src="{{$diaspora.photo50}}">
</dd>
</dl>
<dl class="entity_searchable">
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 5083c5835..762bdcbb8 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -30,6 +30,12 @@
function changeView(action, viewName) {
$('#events-calendar').fullCalendar(action, viewName);
var view = $('#events-calendar').fullCalendar('getView');
+ if(view.type === 'agendaDay' || view.type === 'agendaWeek') {
+ $('#events-calendar').fullCalendar('option', 'height', 'auto');
+ }
+ else {
+ $('#events-calendar').fullCalendar('option', 'height', '');
+ }
$('#title').text(view.title);
}
@@ -42,7 +48,6 @@
firstDay: {{$first_day}},
eventLimit: 3,
- height: 'auto',
monthNames: aStr['monthNames'],
monthNamesShort: aStr['monthNamesShort'],
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 43df2e175..f3dd8cafe 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -364,6 +364,89 @@ function enableOnUser(){
{{$geotag}}
+ var initializeEmbedPhotoDialog = function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ $(this).removeClass('embed-photo-selected-photo');
+ });
+ getPhotoAlbumList();
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal();
+ };
+
+ var choosePhotoFromAlbum = function (album) {
+ $.post("embedphotos/album", {name: album},
+ function(data) {
+ if (data['status']) {
+ $('#embedPhotoModalLabel').html('{{$modalchooseimages}}');
+ $('#embedPhotoModalBodyAlbumDialog').html('\
+ <div><ul class="nav">\n\
+ <li><a href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
+ <i class="fa fa-chevron-left"></i>&nbsp\n\
+ {{$modaldiffalbum}}\n\
+ </a>\n\
+ </li>\n\
+ </ul><br></div>')
+ $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
+ $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
+ evt.preventDefault();
+ var image = document.getElementById(evt.target.id);
+ if (typeof($(image).parent()[0]) !== 'undefined') {
+ var imageparent = document.getElementById($(image).parent()[0].id);
+ $(imageparent).toggleClass('embed-photo-selected-photo');
+ }
+ });
+ $('#embedPhotoModalBodyAlbumListDialog').addClass('hide');
+ $('#embedPhotoModalBodyAlbumDialog').removeClass('hide');
+ $('#embed-photo-OKButton').click(function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ var href = $(this).attr('href');
+ $.post("embedphotos/photolink", {href: href},
+ function(ddata) {
+ if (ddata['status']) {
+ addeditortext(ddata['photolink']);
+ } else {
+ window.console.log('{{$modalerrorlink}}' + ':' + ddata['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ });
+ $('#embedPhotoModalBodyAlbumDialog').html('');
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('hide');
+ });
+ } else {
+ window.console.log('{{$modalerroralbum}} ' + JSON.stringify(album) + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
+ var getPhotoAlbumList = function () {
+ $.post("embedphotos/albumlist", {},
+ function(data) {
+ if (data['status']) {
+ var albums = data['albumlist']; //JSON.parse(data['albumlist']);
+ $('#embedPhotoModalLabel').html('{{$modalchoosealbum}}');
+ $('#embedPhotoModalBodyAlbumList').html('<ul class="nav"></ul>');
+ for(var i=0; i<albums.length; i++) {
+ var albumName = albums[i].text;
+ var albumLink = '<li>';
+ albumLink += '<a href="#" onclick="choosePhotoFromAlbum(\'' + albumName + '\');return false;">' + albumName + '</a>';
+ albumLink += '</li>';
+ $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
+ }
+ $('#embedPhotoModalBodyAlbumDialog').addClass('hide');
+ $('#embedPhotoModalBodyAlbumListDialog').removeClass('hide');
+ } else {
+ window.console.log('{{$modalerrorlist}}' + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
</script>
<script>
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 685706026..490349a04 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -79,6 +79,11 @@
<i id="profile-link" class="fa fa-link jot-icons"></i>
</button>
{{/if}}
+ {{if $embedPhotos}}
+ <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;">
+ <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i>
+ </button>
+ {{/if}}
</div>
<div class="btn-group hidden-xs hidden-sm">
{{if $setloc}}
@@ -225,6 +230,30 @@
</div><!-- /.modal -->
{{/if}}
+{{if $embedPhotos}}
+<div class="modal" id="embedPhotoModal" tabindex="-1" role="dialog" aria-labelledby="embedPhotoLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4>
+ </div>
+ <div class="modal-body" id="embedPhotoModalBody" >
+ <div id="embedPhotoModalBodyAlbumListDialog" class="hide">
+ <div id="embedPhotoModalBodyAlbumList"></div>
+ </div>
+ <div id="embedPhotoModalBodyAlbumDialog" class="hide">
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button>
+ <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+</div><!-- /.modal -->
+{{/if}}
+
{{if $content || $attachment || $expanded}}
<script>initEditor();</script>
{{/if}}
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index 5c8c097da..c0e17d6b5 100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -17,7 +17,7 @@
</button>
{{/if}}
{{if $userinfo}}
- <img class="dropdown-toggle fakelink" data-toggle="dropdown" id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span class="caret" id="usermenu-caret"></span>
+ <img class="dropdown-toggle fakelink" data-toggle="dropdown" id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span class="caret dropdown-toggle fakelink" data-toggle="dropdown" id="usermenu-caret"></span>
{{if $localuser}}
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
{{foreach $nav.usermenu as $usermenu}}
diff --git a/view/tpl/pdledit.tpl b/view/tpl/pdledit.tpl
index 3e1f5a3fc..cef93d324 100644
--- a/view/tpl/pdledit.tpl
+++ b/view/tpl/pdledit.tpl
@@ -4,7 +4,7 @@
<h2>{{$mname}} {{$module}}</h2>
<br />
-<a href="help/Comanche" target="hubzilla-help">{{$help}}</a>
+<a href="help/comanche" target="hubzilla-help">{{$help}}</a>
<br />
<br />
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index a4c98b1d0..d0c9621f9 100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -282,7 +282,7 @@
<ul class="profile-thing-list">
{{foreach $items as $item}}
<li>{{if $item.img}}<a href="{{$item.url}}" ><img src="{{$item.img}}" class="profile-thing-img" width="100" height="100" alt="{{$item.term}}" /></a>{{/if}}
- <a href="{{$item.url}}" >{{$item.term}}</a>
+ <a href="{{$item.editurl}}" >{{$item.term}}</a>
{{if $profile.canlike}}<br />
<button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" >
<i class="fa fa-thumbs-o-up" title="{{$likethis}}"></i>
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index 7d7d2019a..5e9d192a1 100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -1,6 +1,6 @@
-<div class="vcard">
+<div class="vcard h-card">
{{if ! $zcard}}
- <div id="profile-photo-wrapper"><img class="photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.fullname}}"></div>
+ <div id="profile-photo-wrapper"><img class="photo u-photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.fullname}}"></div>
{{/if}}
{{if $connect}}
<div class="connect-btn-wrapper"><a href="{{$connect_url}}" class="btn btn-block btn-success btn-sm"><i class="fa fa-plus"></i> {{$connect}}</a></div>
@@ -25,29 +25,29 @@
{{/if}}
{{if ! $zcard}}
- <div class="fn">{{$profile.fullname}}{{if $profile.online}} <i class="fa fa-asterisk online-now" title="{{$profile.online}}"></i>{{/if}}</div>
- {{if $reddress}}<div class="reddress" oncopy="return false;">{{$profile.reddress}}</div>{{/if}}
+ <div class="fn p-name">{{$profile.fullname}}{{if $profile.online}} <i class="fa fa-asterisk online-now" title="{{$profile.online}}"></i>{{/if}}</div>
+ {{if $reddress}}<div class="reddress">{{$profile.reddress}}</div>{{/if}}
{{/if}}
{{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
{{if $location}}
<dl class="location"><dt class="location-label">{{$location}}</dt>
- <dd class="adr">
- {{if $profile.address}}<div class="street-address">{{$profile.address}}</div>{{/if}}
+ <dd class="adr h-adr">
+ {{if $profile.address}}<div class="street-address p-street-address">{{$profile.address}}</div>{{/if}}
<span class="city-state-zip">
- <span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
- <span class="region">{{$profile.region}}</span>
- <span class="postal-code">{{$profile.postal_code}}</span>
+ <span class="locality p-locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
+ <span class="region p-region">{{$profile.region}}</span>
+ <span class="postal-code p-postal-code">{{$profile.postal_code}}</span>
</span>
- {{if $profile.country_name}}<span class="country-name">{{$profile.country_name}}</span>{{/if}}
+ {{if $profile.country_name}}<span class="country-name p-country-name">{{$profile.country_name}}</span>{{/if}}
</dd>
</dl>
{{/if}}
- {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}}
+ {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="p-gender">{{$profile.gender}}</dd></dl>{{/if}}
{{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart"><i class="fa fa-heart"></i>&nbsp;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
- {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url">{{$profile.homepage}}</dd></dl>{{/if}}
+ {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url u-url">{{$profile.homepage}}</dd></dl>{{/if}}
{{if $diaspora}}
{{include file="diaspora_vcard.tpl"}}
diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl
new file mode 100644
index 000000000..1d8570828
--- /dev/null
+++ b/view/tpl/wiki.tpl
@@ -0,0 +1,471 @@
+<style type="text/css" media="screen">
+ #ace-editor {
+ position: relative;
+ width: 100%;
+ height: 500px;
+ }
+ .fade.in {
+ -webkit-transition: opacity 0.5s 0.5s ease;
+ -moz-transition: opacity 0.5s 0.5s ease;
+ -o-transition: opacity 0.5s 0.5s ease;
+ transition: opacity 0.5s 0.5s ease;
+ }
+</style>
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <div class="pull-right">
+ {{if $showNewWikiButton}}
+ <button class="btn btn-primary btn-xs" onclick="$('#new-page-form-wrapper').hide(); openClose('new-wiki-form-wrapper');">New Wiki</button>
+ {{/if}}
+ {{if $showNewPageButton}}
+ <button class="btn btn-success btn-xs" onclick="$('#new-wiki-form-wrapper').hide(); openClose('new-page-form-wrapper');">New Page</button>
+ {{/if}}
+ <button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen();
+ adjustFullscreenTopBarHeight();"><i class="fa fa-expand"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false);
+ adjustInlineTopBarHeight();"><i class="fa fa-compress"></i></button>
+ </div>
+ <h2><span id="wiki-header-name">{{$wikiheaderName}}</span>: <span id="wiki-header-page">{{$wikiheaderPage}}</span></h2>
+ <div class="clear"></div>
+ </div>
+ <div id="new-wiki-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
+ <form id="new-wiki-form" action="wiki/{{$channel}}/create/wiki" method="post" >
+ <div class="clear"></div>
+ {{include file="field_input.tpl" field=$wikiName}}
+
+ <div id="post-visible-container" class="form-group field checkbox">
+ <span style="font-size:1.2em;" class="pull-left">Send notification post?</span>
+ <div style="margin-left:20px" class="pull-left">
+ <input name="postVisible" id="postVisible" value="0" type="checkbox">
+ <label class="switchlabel" for="postVisible">
+ <span class="onoffswitch-inner" data-on="Post" data-off="None"></span>
+ <span class="onoffswitch-switch"></span>
+ </label>
+ </div>
+ </div>
+
+ <div class="btn-group pull-right">
+ <div id="profile-jot-submit-right" class="btn-group" style="margin-right: 20px;">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="Permission settings" onclick="return false;">
+ <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons">{{$bang}}</i>
+ </button>
+ </div>
+ <button id="new-wiki-submit" class="btn btn-primary" type="submit" name="submit" >Create Wiki</button>
+ </div>
+ <div>{{$acl}}</div>
+ </form>
+ <div class="clear"></div>
+ <hr>
+ </div>
+
+ <div id="new-page-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
+ <form id="new-page-form" action="wiki/create/page" method="post" >
+ <div class="clear"></div>
+ {{include file="field_input.tpl" field=$pageName}}
+ <div class="btn-group pull-right">
+ <button id="new-page-submit" class="btn btn-success" type="submit" name="submit" >Create Page</button>
+ </div>
+ </form> <div class="clear"></div>
+ <hr>
+ </div>
+
+ <div id="rename-page-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
+ <form id="rename-page-form" action="wiki/rename/page" method="post" >
+ <div class="clear"></div>
+ {{include file="field_input.tpl" field=$pageRename}}
+ <div class="btn-group pull-right">
+ <button id="rename-page-submit" class="btn btn-warning" type="submit" name="submit" >Rename Page</button>
+ </div>
+ </form> <div class="clear"></div>
+ <hr>
+ </div>
+
+ <div id="wiki-content-container" class="section-content-wrapper" {{if $hideEditor}}style="display: none;"{{/if}}>
+ <ul class="nav nav-tabs" id="wiki-nav-tabs">
+ <li><a data-toggle="tab" href="#edit-pane">Edit</a></li>
+ <li class="active"><a data-toggle="tab" href="#preview-pane" id="wiki-get-preview">Preview</a></li>
+ <li {{if $hidePageHistory}}style="display: none;"{{/if}}><a data-toggle="tab" href="#page-history-pane" id="wiki-get-history">History</a></li>
+ {{if $showPageControls}}
+ <li class="dropdown">
+ <a data-toggle="dropdown" class="dropdown-toggle" href="#">Page <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a id="save-page" data-toggle="tab" href="#">Save</a></li>
+ <li><a id="rename-page" data-toggle="tab" href="#">Rename</a></li>
+ <li><a id="delete-page" data-toggle="tab" href="#">Delete</a></li>
+ <li class="divider"></li>
+ <li><a id="embed-image" data-toggle="tab" href="#">Embed image</a></li>
+
+ </ul>
+ </li>
+ {{/if}}
+ </ul>
+ <div class="tab-content" id="wiki-page-tabs">
+
+ <div id="edit-pane" class="tab-pane fade">
+ <div id="ace-editor"></div>
+ </div>
+ <div id="preview-pane" class="tab-pane fade in active">
+ <div id="wiki-preview" class="section-content-wrapper">
+ {{$renderedContent}}
+ </div>
+ </div>
+ <div id="page-history-pane" class="tab-pane fade" {{if $hidePageHistory}}style="display: none;"{{/if}}>
+ <div id="page-history-list" class="section-content-wrapper">
+ </div>
+ </div>
+
+
+ </div>
+ </div>
+ {{if $showCommitMsg}}
+ <div class="section-content-wrapper">
+ {{include file="field_input.tpl" field=$commitMsg}}
+ </div>
+ {{/if}}
+</div>
+
+{{$wikiModal}}
+
+
+<div class="modal" id="embedPhotoModal" tabindex="-1" role="dialog" aria-labelledby="embedPhotoLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4>
+ </div>
+ <div class="modal-body" id="embedPhotoModalBody" >
+ <div id="embedPhotoModalBodyAlbumListDialog" class="hide">
+ <div id="embedPhotoModalBodyAlbumList"></div>
+ </div>
+ <div id="embedPhotoModalBodyAlbumDialog" class="hide">
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button>
+ <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+</div><!-- /.modal -->
+
+<script>
+ window.wiki_resource_id = '{{$resource_id}}';
+ window.wiki_page_name = '{{$page}}';
+ window.wiki_page_content = {{$content}};
+ window.wiki_page_commit = '{{$commit}}';
+
+ if (window.wiki_page_name === 'Home') {
+ $('#delete-page').hide();
+ $('#rename-page').hide();
+ }
+
+ $("#generic-modal-ok-{{$wikiModalID}}").removeClass('btn-primary');
+ $("#generic-modal-ok-{{$wikiModalID}}").addClass('btn-danger');
+
+ $('#rename-page').click(function (ev) {
+ $('#rename-page-form-wrapper').show();
+ });
+
+ $( "#rename-page-form" ).submit(function( event ) {
+ $.post("wiki/{{$channel}}/rename/page",
+ {
+ oldName: window.wiki_page_name,
+ newName: $('#id_pageRename').val(),
+ resource_id: window.wiki_resource_id
+ },
+ function (data) {
+ if (data.success) {
+ $('#rename-page-form-wrapper').hide();
+ window.console.log('data: ' + JSON.stringify(data));
+ window.wiki_page_name = data.name.urlName;
+ $('#wiki-header-page').html(data.name.htmlName);
+ wiki_refresh_page_list();
+ } else {
+ window.console.log('Error renaming page.');
+ }
+ }, 'json');
+ event.preventDefault();
+ });
+
+ $(document).ready(function () {
+ wiki_refresh_page_list();
+ // Show Edit tab first. Otherwise the Ace editor does not load.
+ $("#wiki-nav-tabs li:eq(1) a").tab('show');
+ });
+
+ var editor = ace.edit("ace-editor");
+ editor.setTheme("ace/theme/github");
+ editor.getSession().setMode("ace/mode/markdown");
+ editor.getSession().setValue(window.wiki_page_content);
+
+ $('#wiki-get-preview').click(function (ev) {
+ $.post("wiki/{{$channel}}/preview", {content: editor.getValue(), resource_id: window.wiki_resource_id}, function (data) {
+ if (data.success) {
+ $('#wiki-preview').html(data.html);
+ } else {
+ window.console.log('Error previewing page.');
+ }
+ }, 'json');
+ ev.preventDefault();
+ });
+
+ $('#wiki-get-history').click(function (ev) {
+ $.post("wiki/{{$channel}}/history/page", {name: window.wiki_page_name, resource_id: window.wiki_resource_id}, function (data) {
+ if (data.success) {
+ $('#page-history-list').html(data.historyHTML);
+ } else {
+ window.console.log('Error getting page history.');
+ }
+ }, 'json');
+ ev.preventDefault();
+ });
+
+function wiki_delete_wiki(wikiHtmlName, resource_id) {
+ if(!confirm('Are you sure you want to delete the entire wiki: ' + JSON.stringify(wikiHtmlName))) {
+ return;
+ }
+ $.post("wiki/{{$channel}}/delete/wiki", {resource_id: resource_id}, function (data) {
+ if (data.success) {
+ window.console.log('Wiki deleted');
+ // Refresh list and redirect page as necessary
+ window.location = 'wiki/{{$channel}}';
+ } else {
+ alert('Error deleting wiki!');
+ window.console.log('Error deleting wiki.');
+ }
+ }, 'json');
+}
+
+
+ $('#new-page-submit').click(function (ev) {
+ if (window.wiki_resource_id === '') {
+ window.console.log('You must have a wiki open in order to create pages.');
+ ev.preventDefault();
+ return false;
+ }
+ $.post("wiki/{{$channel}}/create/page", {name: $('#id_pageName').val(), resource_id: window.wiki_resource_id},
+ function (data) {
+ if (data.success) {
+ window.location = data.url;
+ } else {
+ window.console.log('Error creating page.');
+ }
+ }, 'json');
+ ev.preventDefault();
+ });
+
+ function wiki_refresh_page_list() {
+ if (window.wiki_resource_id === '') {
+ return false;
+ }
+ $.post("wiki/{{$channel}}/get/page/list/", {resource_id: window.wiki_resource_id}, function (data) {
+ if (data.success) {
+ $('#wiki_page_list_container').html(data.pages);
+ $('#wiki_page_list_container').show();
+ } else {
+ alert('Error fetching page list!');
+ window.console.log('Error fetching page list!');
+ }
+ }, 'json');
+ return false;
+ }
+
+ $('#save-page').click(function (ev) {
+ if (window.wiki_resource_id === '' || window.wiki_page_name === '') {
+ window.console.log('You must have a wiki page open in order to edit pages.');
+ ev.preventDefault();
+ return false;
+ }
+ var currentContent = editor.getValue();
+ if (window.wiki_page_content === currentContent) {
+ window.console.log('No edits to save.');
+ ev.preventDefault();
+ return false;
+ }
+ $.post("wiki/{{$channel}}/save/page",
+ { content: currentContent,
+ commitMsg: $('#id_commitMsg').val(),
+ name: window.wiki_page_name,
+ resource_id: window.wiki_resource_id
+ },
+ function (data) {
+ if (data.success) {
+ window.console.log('Page saved successfully.');
+ window.wiki_page_content = currentContent;
+ $('#id_commitMsg').val(''); // Clear the commit message box
+ $('#wiki-get-history').click();
+ } else {
+ alert('Error saving page.'); // TODO: Replace alerts with auto-timeout popups
+ window.console.log('Error saving page.');
+ }
+ }, 'json');
+ ev.preventDefault();
+ });
+
+ $('#delete-page').click(function (ev) {
+ if (window.wiki_resource_id === '' || window.wiki_page_name === '' || window.wiki_page_name === 'Home') {
+ window.console.log('You must have a wiki page open in order to delete pages.');
+ ev.preventDefault();
+ return false;
+ }
+ $.post("wiki/{{$channel}}/delete/page", {name: window.wiki_page_name, resource_id: window.wiki_resource_id},
+ function (data) {
+ if (data.success) {
+ window.console.log('Page deleted successfully.');
+ var url = window.location.href;
+ if (url.substr(-1) == '/') url = url.substr(0, url.length - 2);
+ url = url.split('/');
+ url.pop();
+ window.location = url.join('/');
+ } else {
+ alert('Error deleting page.'); // TODO: Replace alerts with auto-timeout popups
+ window.console.log('Error deleting page.');
+ }
+ }, 'json');
+ ev.preventDefault();
+ });
+
+ function wiki_revert_page(commitHash) {
+ if (window.wiki_resource_id === '' || window.wiki_page_name === '') {
+ window.console.log('You must have a wiki page open in order to revert pages.');
+ return false;
+ }
+ $.post("wiki/{{$channel}}/revert/page", {commitHash: commitHash, name: window.wiki_page_name, resource_id: window.wiki_resource_id},
+ function (data) {
+ if (data.success) {
+ $('button[id^=revert-]').removeClass('btn-success');
+ $('button[id^=revert-]').addClass('btn-danger');
+ $('button[id^=revert-]').html('Revert');
+ $('#revert-'+commitHash).removeClass('btn-danger');
+ $('#revert-'+commitHash).addClass('btn-success');
+ $('#revert-'+commitHash).html('Page reverted<br>but not saved');
+ window.wiki_page_commit = commitHash;
+ // put contents in editor
+ editor.getSession().setValue(data.content);
+ } else {
+ window.console.log('Error reverting page.');
+ }
+ }, 'json');
+ }
+
+ function wiki_compare_page(compareCommit) {
+ if (window.wiki_resource_id === '' || window.wiki_page_name === '' || window.wiki_page_commit === '') {
+ window.console.log('You must have a wiki page open in order to revert pages.');
+ return false;
+ }
+ $.post("wiki/{{$channel}}/compare/page",
+ {
+ compareCommit: compareCommit,
+ currentCommit: window.wiki_page_commit,
+ name: window.wiki_page_name,
+ resource_id: window.wiki_resource_id
+ },
+ function (data) {
+ if (data.success) {
+ var modalBody = $('#generic-modal-body-{{$wikiModalID}}');
+ modalBody.html('<div class="descriptive-text">'+data.diff+'</div>');
+ $('.modal-dialog').width('80%');
+ $("#generic-modal-ok-{{$wikiModalID}}").off('click');
+ $("#generic-modal-ok-{{$wikiModalID}}").click(function () {
+ wiki_revert_page(compareCommit);
+ $('#generic-modal-{{$wikiModalID}}').modal('hide');
+ });
+ $('#generic-modal-{{$wikiModalID}}').modal();
+ } else {
+ window.console.log('Error comparing page.');
+ }
+ }, 'json');
+ }
+
+ $('#embed-image').click(function (ev) {
+ initializeEmbedPhotoDialog();
+ ev.preventDefault();
+ });
+
+
+ var initializeEmbedPhotoDialog = function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ $(this).removeClass('embed-photo-selected-photo');
+ });
+ getPhotoAlbumList();
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal();
+ };
+
+ var choosePhotoFromAlbum = function (album) {
+ $.post("embedphotos/album", {name: album},
+ function(data) {
+ if (data['status']) {
+ $('#embedPhotoModalLabel').html('{{$modalchooseimages}}');
+ $('#embedPhotoModalBodyAlbumDialog').html('\
+ <div><ul class="nav">\n\
+ <li><a href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
+ <i class="fa fa-chevron-left"></i>&nbsp\n\
+ {{$modaldiffalbum}}\n\
+ </a>\n\
+ </li>\n\
+ </ul><br></div>')
+ $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
+ $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
+ evt.preventDefault();
+ var image = document.getElementById(evt.target.id);
+ if (typeof($(image).parent()[0]) !== 'undefined') {
+ var imageparent = document.getElementById($(image).parent()[0].id);
+ $(imageparent).toggleClass('embed-photo-selected-photo');
+ }
+ });
+ $('#embedPhotoModalBodyAlbumListDialog').addClass('hide');
+ $('#embedPhotoModalBodyAlbumDialog').removeClass('hide');
+ $('#embed-photo-OKButton').click(function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ var href = $(this).attr('href');
+ $.post("embedphotos/photolink", {href: href},
+ function(ddata) {
+ if (ddata['status']) {
+ var imgURL = ddata['photolink'].replace( /\[.*\]\[.*\](.*)\[.*\]\[.*\]/, '\n![image]($1)' )
+ editor.getSession().insert(editor.getCursorPosition(), imgURL)
+ } else {
+ window.console.log('{{$modalerrorlink}}' + ':' + ddata['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ });
+ $('#embedPhotoModalBodyAlbumDialog').html('');
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('hide');
+ });
+ } else {
+ window.console.log('{{$modalerroralbum}} ' + JSON.stringify(album) + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
+ var getPhotoAlbumList = function () {
+ $.post("embedphotos/albumlist", {},
+ function(data) {
+ if (data['status']) {
+ var albums = data['albumlist']; //JSON.parse(data['albumlist']);
+ $('#embedPhotoModalLabel').html('{{$modalchoosealbum}}');
+ $('#embedPhotoModalBodyAlbumList').html('<ul class="nav"></ul>');
+ for(var i=0; i<albums.length; i++) {
+ var albumName = albums[i].text;
+ var albumLink = '<li>';
+ albumLink += '<a href="#" onclick="choosePhotoFromAlbum(\'' + albumName + '\');return false;">' + albumName + '</a>';
+ albumLink += '</li>';
+ $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
+ }
+ $('#embedPhotoModalBodyAlbumDialog').addClass('hide');
+ $('#embedPhotoModalBodyAlbumListDialog').removeClass('hide');
+ } else {
+ window.console.log('{{$modalerrorlist}}' + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
+</script>
diff --git a/view/tpl/wiki_page_history.tpl b/view/tpl/wiki_page_history.tpl
new file mode 100644
index 000000000..fef5d93a5
--- /dev/null
+++ b/view/tpl/wiki_page_history.tpl
@@ -0,0 +1,52 @@
+<style>
+ .diff td{
+ padding:0 0.667em;
+ vertical-align:top;
+ white-space:pre;
+ white-space:pre-wrap;
+ font-family:Consolas,'Courier New',Courier,monospace;
+ font-size:1.0em;
+ line-height:1.333;
+ }
+
+ .diff span{
+ display:block;
+ min-height:1.333em;
+ margin-top:-1px;
+ padding:0 3px;
+ }
+
+ * html .diff span{
+ height:1.333em;
+ }
+
+ .diff span:first-child{
+ margin-top:0;
+ }
+
+ .diffDeleted span{
+ border:1px solid rgb(255,192,192);
+ background:rgb(255,224,224);
+ }
+
+ .diffInserted span{
+ border:1px solid rgb(192,255,192);
+ background:rgb(224,255,224);
+ }
+</style>
+<table class="table-striped table-responsive table-hover" style="width: 100%;">
+ {{foreach $pageHistory as $commit}}
+ <tr><td>
+ <table id="rev-{{$commit.hash}}" onclick="$('#details-{{$commit.hash}}').show()" width="100%">
+ <tr><td width="10%">Date</td><td width="70%">{{$commit.date}}</td>
+ <td rowspan="3" width="20%" align="right">
+ <button id="revert-{{$commit.hash}}" class="btn btn-danger btn-xs" onclick="wiki_revert_page('{{$commit.hash}}')">Revert</button>
+ <br><br>
+ <button id="compare-{{$commit.hash}}" class="btn btn-warning btn-xs" onclick="wiki_compare_page('{{$commit.hash}}')">Compare</button>
+ </td></tr>
+ <tr><td>Name</td><td>{{$commit.name}} &lt;{{$commit.email}}&gt;</td></tr>
+ <tr><td>Message</td><td>{{$commit.title}}</td></tr>
+ </table>
+ </td></tr>
+ {{/foreach}}
+</table>
diff --git a/view/tpl/wiki_page_list.tpl b/view/tpl/wiki_page_list.tpl
new file mode 100644
index 000000000..1c3254465
--- /dev/null
+++ b/view/tpl/wiki_page_list.tpl
@@ -0,0 +1,10 @@
+{{if $not_refresh}}<div id="wiki_page_list_container" {{if $hide}} style="display: none;" {{/if}}>{{/if}}
+<div id="wiki_page_list" class="widget" >
+ <h3>{{$header}}</h3>
+ <ul class="nav nav-pills nav-stacked">
+ {{foreach $pages as $page}}
+ <li><a href="/wiki/{{$channel}}/{{$wikiname}}/{{$page.url}}">{{$page.title}}</a></li>
+ {{/foreach}}
+ </ul>
+</div>
+{{if $not_refresh}}</div>{{/if}}
diff --git a/view/tpl/wikilist.tpl b/view/tpl/wikilist.tpl
new file mode 100644
index 000000000..be353ca5e
--- /dev/null
+++ b/view/tpl/wikilist.tpl
@@ -0,0 +1,20 @@
+<div id="wiki_list" class="widget">
+ <h3>{{$header}}</h3>
+ <ul class="nav nav-pills nav-stacked">
+ {{foreach $wikis as $wiki}}
+ <li class="dropdown" id="wiki-{{$wiki.resource_id}}">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ <b>{{$wiki.title}}</b><b class="fa fa-caret-down pull-right"></b>
+ </a>
+ <ul class="dropdown-menu pull-right">
+ <li><a href="/wiki/{{$channel}}/{{$wiki.urlName}}/Home" title="View {{$wiki.title}}">View</a></li>
+ {{if $showControls}}
+ <li class="divider"></li>
+ <li><a href="#" onclick="wiki_delete_wiki('{{$wiki.title}}','{{$wiki.resource_id}}'); return false;" title="Delete {{$wiki.title}}">Delete wiki</a></li>
+ {{/if}}
+ </ul>
+ </li>
+ {{/foreach}}
+ </ul>
+</div>
+
diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl
index 9a1e23beb..ac796cd47 100755
--- a/view/tpl/xchan_vcard.tpl
+++ b/view/tpl/xchan_vcard.tpl
@@ -1,9 +1,9 @@
-<div id="vcard" class="vcard">
-<div id="profile-photo-wrapper"><a href="{{$link}}"><img class="vcard-photo photo" src="{{$photo}}" alt="{{$name}}" /></a></div>
+<div id="vcard" class="vcard h-card">
+<div id="profile-photo-wrapper"><a href="{{$link}}"><img class="vcard-photo photo u-photo" src="{{$photo}}" alt="{{$name}}" /></a></div>
{{if $connect}}
<div class="connect-btn-wrapper"><a href="follow?f=&url={{$follow}}" class="btn btn-block btn-success btn-sm"><i class="fa fa-plus"></i> {{$connect}}</a></div>
{{/if}}
-<div class="fn">{{$name}}</div>
+<div class="fn p-name">{{$name}}</div>
</div>